基于小世界网络的数据采集与共享系统
摘要
现代科学技术的发展促进整个社会快速步入信息化时代,网络信息技术的应用范围也越来越广泛,无纸化办公、个人休闲娱乐、人际交流沟通都离不开网络技术,智能终端的发展使网络技术的应用更加灵活广泛,网络设备的升级使信息传输能力快速提高。根据传输介质的不同,我们将通信网络分为有线与无线网络,无线网络技术以其灵活、简便的优点发挥着日益重要的作用,但在现实应用中,无线网络受制于地形、基站等条件的影响,在矿井勘探、野外考察等特殊应用环境中,无线网络信号覆盖范围与传输能力都受到了较大的考验, 各单位之间缺乏联系,所采集的数据信息需要等到网络设备条件允许后才能进行汇总和共享。目前能实现类似功能的通信软件同样是基于互联网环境所应用, 针对个别应用环境的小世界网络通信软件很少见,这些软件面向的是庞大的客户群体导致其服务器造价、网络搭建成本都极高,使用也不够灵活。同时现在所用的网络通信软件大多处于商业利益,其源码对外并不公开,因此给人们根据不同需要自行开发带来了一定阻碍。
为了适应在无线网络覆盖较差的环境中实现多个用户实时共享数据、完成即时通信的功能,开发了基于小世界网络的数据采集与共享系统。该系统采用C/S(客户端/服务器)架构,使用 Java 语言在 Eclipse 与 AndroidStudio 项目工具平台进行编程开发。利用 HTTP 协议实现数据传输与网络通信,采用 MySQL 数据库对用户信息进行存储和登录验证,从而实现可在众多应用场景中自行组建无线局域网络,局域网中各客户端可将本地内存中的文件数据上传至服务器, 服务器将接收数据存储在相应设备中,服务器中的数据资源可供其它客户端随时进行下载共享,同时客户端之间也可自行选择通信对象实现即时通信的功能。在开发过程中,经过实际应用价值分析、整体方案设计、各功能模块编程、系统测试分析等阶段,最终实现预期性能目标,开发出可在自组局域网中实现数据采集与共享的系统。
该系统主要具有以下几个优势:无须使用互联网信号,利用路由器组建小范围局域网络,即用即搭,简便灵活;服务器可直接采用个人计算机搭建,客户端使用手持移动设备,成本低廉;数据传输不经互联网,减少被网络攻击、
窃取数据的风险,信息安全性有所提升;代码开源,预留开发接口,根据后期功能需要进行更新;除网络信号盲区使用,在日常课堂、会议中进行作业提交、文件实时共享同样可以应用,具有较好的实用推广价值。
关键词:
无线局域网,Android 开发,数据库,网络通信
目录
第 1 章 绪论 2
1.1研究背景和意义 2
1.1.1研究背景 2
1.1.2课题意义 2
1.2国内外发展现状 3
1.3研究内容 4
1.3.1系统需求分析 4
1.3.2具体工作 5
1.4论文组织结构 6
1.5本章小结 7
第 2 章 整体设计 8
2.1系统功能 8
2.1.1服务器 8
2.1.2客户端 8
2.2系统性能目标 8
2.3方案设计图 9
2.4本章小结 10
第 3 章 开发环境 11
3.1开发平台 11
3.1.1Eclipse 项目平台 11
3.1.2Android Studio 开发平台 12
3.2网络协议 12
3.2.1TCP/IP 协议 12
3.2.2HTTP 协议 14
3.2.3Socket 技术 14
3.3Android 系统 15
3.4本章小结 17
第 4 章 服务器开发 18
4.1整体方案 18
4.2开发配置 18
4.2.1Tomcat 服务器 18
4.2.2MySQL 数据库 19
4.3用户信息模块 19
4.4功能模块开发 21
4.4.1用户登录模块 22
4.4.2用户注册模块 23
4.4.3文件上传模块 24
4.4.4文件下载模块 26
4.4.5列表更新模块 27
4.5本章小结 27
第 5 章客户端开发 28
5.1整体方案 28
5.2开发配置 29
5.3界面布局 29
5.4功能模块开发 31
5.4.1基础服务 31
5.4.2用户信息处理模块 32
5.4.3文件上传模块 35
5.4.4文件列表获取 36
5.4.5文件下载 38
5.4.6即时通信模块 40
5.5线程管理 43
5.6本章小结 44
第 6 章 系统测试 45
6.1测试环境搭建 45
6.2硬件设备 46
6.3测试内容 47
6.4测试结果 48
6.5测试结果分析 50
6.6本章小结 50
第 7 章 总结与展望 51
7.1全文总结 51
7.2研究创新点 51
7.3未来展望 52
参考文献 53
致谢 55
第 1 章 绪论
1.1研究背景和意义
1.1.1研究背景
伴随着网络信息技术的迅猛发展,互联网在当今社会中的应用范围越来越广泛[1]。无纸化办公、数据管理、个人休闲娱乐、智能家居、信息传递与人际间沟通交流,在社会日常生活的每个角落都有网路信息技术的影子。网络通信按照传输介质进行分类,可以分为有线网络与无线网络[2]。其中,有线网络大多以双绞线、光纤等介质进行信号传输,无线网络以空气为介质进行信号传输。其中生活中常用来进行信息传输的无线网络有为蜂窝移动通信与 WLAN(无线局域网络)两种。电子科学技术的日益发展,促使网络设备硬件成本不断降低、性能不断提高,终端设备例如手机、PC、平板等基础成本越来越低,面向使用人群也越来越广泛,这都为网络技术的发展应用提供了极大的便利。
传统的信息通讯应用大部分在 PC 端实现,伴随着科技发展,当今社会已经从传统互联网时代步入了移动互联时代,手持移动网络终端设备的应用已经成为当下网络通信发展的主流。其中,在移动设备的软件应用中,即时通信软件为人们生产生活提供了充足的便利,有效提高了社会资源共享率以及通信、办公效率,即时通信软件具有线上聊天、文件传输、多媒体通信等诸多功能,已经成为当下人们日常交流的主流工具。当下手持移动网络终端设备中,Android 系统因其系统开源性,可供开发者进行自由的开发利用,在网络终端设备竞争中脱颖而出。根据近期数据显示,Android 系统的智能手机在世界智能手机市场占有率为 87%[3]。Android 设备以其成本低、价格亲民、系统便利等优势迅猛发展,不论是从系统开发、软件应用以及应用范围来说,Android 设备都将成为未来互联网发展的主流产品。
1.1.2课题意义
有线网络传输介质从通信电缆逐步发展到光纤材质,家用宽带的数据传输速率已经发展到百兆级至千兆级别。但是在速度快的同时,有线网络自身仍旧存在一定的局限性,它需要复杂的布局布线、维护成本高、故障排查难度大,
这在一定程度上限制了它的应用发展。针对上述情况,伴随而来的是无线网络技术的快速发展,尤其是当下无线网络硬件设备性能大幅度提升,无线网络的应用日趋广泛[9]。由于它以空气为传输介质,具有无须复杂的布局布线、设备维护更加简便的优点[10]。适用于家庭、中小型企业办公使用,同时 5G 时代的到来, 使得无线网络通信速度大幅提高。
在上述两类通信方式的对比中,我们可以看到,无线网络具有更加灵活便利、组建成本低的优势。但与此同时,它同样也存在一些弊端:例如,无线网络对于应用场景要求较高,无线信号传输容易受到建筑物布局、传输介质的影响。针对地下勘察、矿井工作、户外临时作业等网络信号无法覆盖或覆盖信号较差的特殊应用场景中,实现流畅方便的网络通信服务存在一定的难度[11]。因此, 开发一款在自组建的无线局域网络中使用的数据传输系统,便于人们在以上特殊应用场景下进行即时数据传输与通信具有一定的实用价值与意义。
1.2国内外发展现状
(1)无线局域网的发展:无线局域网技术的发展起步于 1997 年,该年 6 月出台的世界上第一个无线局域网标准为 IEEE802.11 协议,为 WLAN 技术提供了一个统一的执行标准[4]。该协议的传输速率为 1-2Mbps,相比于有线网络来说速度度仍旧偏慢,这在一定程度上也限制了它的应用。但在后来短短二十多年的时间里,无线局域网标准技术发展迅猛,陆续推出传输速率更快、更成熟的标准协议,其中具有里程碑意义的标准协议大致有:802.11a、802.11b、802.11g、 802.11n 和 802.11ac,目前使用率最高的网络标准协议是 802.11n(第四代)和
802.11ac(第五代),其中 802.11ac 协议标准最高传输速率可达 1Gbit/s。目前,最新出台的 WLAN 标准是 2018 年提出的第六代协议标准——802.11ax,该协议标准可工作在2.4GHz 频段和5GHz 频段,网络传输速率最高可达11Gbit/s[5]。同时,无线局域网性能还需要硬件设备作支撑,在无线网络设备的发展过程中, 普通家用局域网路由器户外最高传输范围可到 300 到 500 米左右,穿越障碍物能力也逐步增强,加装高增益天线的适用于大中型企业使用的专用大功率无线路由器户外传输范围最高传输距离可达到 3km 以上。
(2)信息平台的发展:国外在上世纪 80 年代就已经在钻井平台中引入信息技术,钻井平台实时采集作业参数通过通信网络上传至计算机服务器,同时提供信息共享功能,只是此时数据通信需要搭建专门的有线传输网络,而且主要应用于以计算机为信息终端的系统中。1997 年美国提出数字地球概念,随后加拿大、韩国等国家纷纷建立自己的国家地理信息数据服务平台,用户可通过互联网在各类移动数据终端查询天气、路线、街景图片等各类服务信息,为人们出行提供了极大的便利。此后,在 2003 年,爱尔兰开发的数字新闻档案馆首先在移动终端上开通,主要用于新闻信息的检索阅读[6]。随后,各国纷纷效仿将移动信息平台的搭建应用于档案管理中。美国推出的各项馆藏资源应用程序功能在经历了不断建设,2014 年形成了以档案信息资源为基础,依靠移动终端媒介的档案信息服务体系。2017 年,通过全民参与收集战争图片等信息资料,实现了用户参与资源库建设的信息平台服务。
虽然国内计算机网络发展在信息平台建设的研究上要晚于国外。但是伴随着“互联网+”概念的提出,我国的信息化平台建设与应用发展十分迅猛[7]。以目前较为常见的生活应用信息平台为例,ofo 共享单车的平台建设,杭州公共交通信息系统,以及智能家居系统的实现,为人们的生活出行提供了极大的便利[8]。
(3)目前存在的问题:在对众多数字化信息平台了解中可以看到,虽然这些信息平台实现的功能强大,但在某些特殊的应用环境中仍旧具有一定的局限性。首先,这些平台的服务功能需要基于强大的硬件设备支持,而在一些小型场景应用中难免成本过于昂贵。其次,该信息应用传输主要依托于互联网,无法适用于个人局域网的使用,同时互联网环境对私密数据的安全性也构成了一定的威胁,个人信息数据容易被窃取。最后,随着移动实时通讯技术的发展, 移动客户端的即时通讯功能已经日趋成熟,但是在服务器资源共享等方面仍旧有一定的发展空间。
1.3研究内容
为了解决在室外作业、地下矿井勘察等网络信号无法覆盖的应用场景中完成各单位将本地内存中采集数据信息实时上传、下载共享及各用户间即时通信等功能,需要开发出基于临时组建局域网的方式实现上述需求功能的系统。
1.3.1系统需求分析
该系统硬件设备简单、成本较低、组网灵活,具有即建即用、移动便利等特点,同时无需使用互联网,信息只在组建的小世界网络中传输,增加信息传输的安全性。
网络覆盖范围符合应用需求,系统最大承载能力、应用程序大小合理、系统运转流畅、可视化操作界面应用简单、系统可完善性强便于后期根据新的需要增添新功能。
服务器端程序可实现各客户端之间即时通信、数据库储存用户信息、接收客户端所上传的本地图片等数据并将数据专门存储在服务器本地硬盘中,同时支持所有客户端获取服务器文件列表并根据需要下载。
客户端程序可以实现用户注册登录功能、程序可调用设备摄像头、读取设备文件夹,选择本地文件进行上传、也可连接服务器选择所需文件下载并存储, 可实时获取服务器上用户设备列表,选择其他目标客户端进行通信连接。
性能要求,网络传输速率、传输范围达到相关应用标准,多用户传输中减少系统网络拥堵;应用程序内存占用率低,重点解决内存泄漏问题,保障目前较低配置的 Android 设备也可流畅运行;程序运行可靠稳定,进程崩溃概率维持较低水平。
1.3.2具体工作
本文主要是对于小世界网络的数据采集与共享系统的研发,旨在研发一种可以不受环境网络状态影响,可自由灵活组网,各客户端之间实现信息采集存储与信息资源实时共享的系统,以应用于既有网络信号覆盖不到的工作区域。本文的主要具体工作如下:
(1)计算机网络原理与应用:首先是对 TCP/IP 网络架构原理,各部分工作机制的研究。其次是对服务器与客户端之间的开发与通信连接的建立,该系统可实现多个客户端与服务器连接。通过 HTTP 传输协议完成客户端与服务器的多对一以及服务器与客户端一对多数据上传、下载、转发等服务[12]。
(2)物理层系统搭建:采用性能较好的无线路由器搭建局域网、适合的Android 设备作为客户端硬件平台、选用自带无线网卡的 PC 端作为服务器。
(3)软件系统开发:采用 Eclipse、AndroidStudio 等项目工具平台完成服务器端和客户端系统开发。服务器端利用 MSQL 数据库接口完成对于注册用户信息存储、验证,同时搭载 Tomcat8.0 实现服务器正常运行,服务器除存储文件信息外还可存储、监控客户端之间信息发送记录。客户端直接安装在普通Android手机上作为用户应用平台,利用AndroidStudio 开发软件进行软件编写、编译、安装、调试、优化等工作。
(4)系统测试和优化:主要是对系统性能进行测试。包括系统客户端传输速率、拥塞机制的研究,主要测试客户端之间通信效率、文件上传下载传输速率、软件流畅性能、多用户同时传输时如何解决拥堵情况,并根据相关数据分析对系统程序结构进行优化,合理利用网络资源,提高系统运行的效率与可靠性。
(5)操作界面优化:对软件操作界面进行设计,保障操作界面美观、便捷,提供良好的客户体验。
1.4论文组织结构
第一章,绪论部分。对当下国内外网络技术的发展情况、信息平台建设使用情况及相关背景进行介绍,针对无网络信号覆盖的应用场景提出本系统开发的实用性及可行性进行分析,按照相关需求提出开发思路,对系统开发过程中主要工作内容进行简要介绍。
第二章,整体方案。提出系统整体设计方案,介绍各部分操作功能的具体实现,在网络传输速率、软件性能要求等方面提出具体的目标。
第三章,开发环境。对 Eclipse、AndroidStudio 等系统软件项目开发平台进行简要介绍,对网络通信的 TCP/IP 协议架构、Socket 通信等关键协议、技术进行阐述,对 Android 系统架构进行简要介绍,为前期系统开发研究做好基础性工作。
第四章,服务器开发。对服务器开发中所需的 MySQL、Tomcat 等开发辅助工具进行简要介绍;然后针对服务器功能,设计出服务器端整体工作方案的流程图,同时将不同的功能进一步分类细化成模块,对各功能模块的开发过程、编程中关键语句进行详细介绍。
第五章,客户端开发。对客户端工作方案进行整体设计,各功能模块的实现原理、开发过程中的关键语句进行详细阐述,对 Android 系统软件进程管理进行详细阐述,最终实现客户端软件各项功能。
第六章,利用所选择的硬件平台搭建整个系统,针对前期提出的性能目标进行系统测试,得出测试数据,对数据进行分析比对,从而确定系统最终性能指标。
第七章,对整个系统开发过程进行总结,对系统开发中仍可进一步完善的方面提出未来工作的总体思路与目标。
1.5本章小结
本章对网络通信、信息平台行业进行简要介绍,阐述了本课题的实用性价值以及研究内容。针对本文研究内容进行总结介绍,最后说明了该文的组织结构安排。
第 2 章 整体设计
2.1系统功能
2.1.1服务器
(1)用户注册和登录验证:接收用户注册信息并存储在数据库中;将用户传来的登录信息与数据库中信息进行比对验证,实现用户登录管理[13]。
(2)设备列表更新:获取网络中与服务器建立连接的客户端登录状态,实时向各客户端更新该服务器中正在使用系统的用户列表。
(3)数据接收发送:接收客户端上传的文件并存储在服务器本地硬盘中, 根据客户端文件下载请求发送相关数据,该部分为服务器主要实现功能,实现图片文件上传与下载速度不低于 2M/s。
(4)文件列表刷新:服务器读取本地存储设备,将存储设备中的文件资源形成列表,将列表信息发送给客户端供其选择。
(3)即时通信:为各客户端提供对等连接功能,完成客户端之间信息传输并存储相关记录,该功能主要实现客户端之间文字信息即时通信。
2.1.2客户端
(1)注册登录:将注册或登录信息发送给服务器,接收登录许可指令,同时可根据需要切换用户或注销登录。
(2)文件上传下载:可调用设备摄像头或直接读取本地文件列表,选择需要上传的文件进行封装、打包上传到服务器;选择服务器文件列表中要下载的文件,发送下载请求,将服务器资源下载并保存到本地存储。
(3)即时通信:从设备列表选择其它用户,发送或接收消息。
2.2系统性能目标
网络覆盖范围:网络覆盖范围取决于路由器信号覆盖范围,现在常见家用路由器在户外最远传输范围可达 300 米-500 米,外加功率增益天线的工业级别专用设备传输范围最远可达 3km 以上,基本可满足日常需求。
网络传输速率:以上传图片文件为例,平均传输速率应在 1M/s 以上,同时多用户共同传输时服务器可依靠线程安排同时接收 4 台及以上设备传输,其余设备排队建立数据连接,保证传输速率不低于 1M/s.
软件性能要求:软件适用于 Android5.0 及以上版本使用,在最低运行内存1G 的 Android 设备中依旧可以流畅运行。同时在内存测试中内存运行曲线平稳, 尽可能减少内存泄漏、系统崩溃等问题[16]。
2.3方案设计图
根据上述系统功能的要求,对整体流程进行设计,具体方案如图 2.1 所示:
图 2.1 整体方案设计图
在自组建的局域网下,服务器可以使用 PC 端、平板电脑或安卓手机,PC 端做服务器时候可外接硬盘增大数据存储空间。该系统大致工作流程如下:
(1)服务器与客户端连接至同一局域网中,该局域网不连接互联网,仅提供无线网络数据传输服务。
(2)服务与数据库建立连接后开启 HTTP 服务。
(3)用户下载客户端软件,打开后进入登录界面,此时客户端在后台与服务器已建立通信连接。如果已有用户名,则直接输入账号密码登录;如果用户未注册,则进入注册界面,完成新用户注册后可进行登录[14]。
(4)客户端对功能进行选择,若选择文件上传,则软件尝试打开用户设备本地相册,用户可选择需要上传的图片,将图片资源发送给服务器,服务器接收后存储在外部设备中[15]。若选择文件下载,则客户端显示服务器存储中的文件列表信息,点击所需下载文件后客户端显示该文件的缩略图,用户点击下载, 将所选图片下载到客户端并存储在本地相册中。
(5)除文件功能外,客户端主界面中实时显示在同一网络下连接到该服务器上的所有用户列表,点击其中某一用户可进入用户即时通信界面,实现不同客户端之间的即时通信功能。
(6)点击用户一栏,显示当前正在使用该软件的用户信息,点击注销按钮则退出当前登录,然后返回软件登录界面。
2.4本章小结
本章主要对系统整体设计方案进行了构思与阐述,同时对系统所要实现功能进行了分析,最后对系统将要实现的传输速率、覆盖范围、性能等提出了预期目标,为下一步具体工作明确了研究方向。