基于小世界網絡的數據采集與共享系統
摘要
現代科學技術的發展促進整個社會快速步入信息化時代,網絡信息技術的應用范圍也越來越廣泛,無紙化辦公、個人休閑娛樂、人際交流溝通都離不開網絡技術,智能終端的發展使網絡技術的應用更加靈活廣泛,網絡設備的升級使信息傳輸能力快速提高。根據傳輸介質的不同,我們將通信網絡分為有線與無線網絡,無線網絡技術以其靈活、簡便的優點發揮著日益重要的作用,但在現實應用中,無線網絡受制于地形、基站等條件的影響,在礦井勘探、野外考察等特殊應用環境中,無線網絡信號覆蓋范圍與傳輸能力都受到了較大的考驗, 各單位之間缺乏聯系,所采集的數據信息需要等到網絡設備條件允許后才能進行匯總和共享。目前能實現類似功能的通信軟件同樣是基于互聯網環境所應用, 針對個別應用環境的小世界網絡通信軟件很少見,這些軟件面向的是龐大的客戶群體導致其服務器造價、網絡搭建成本都極高,使用也不夠靈活。同時現在所用的網絡通信軟件大多處于商業利益,其源碼對外并不公開,因此給人們根據不同需要自行開發帶來了一定阻礙。
為了適應在無線網絡覆蓋較差的環境中實現多個用戶實時共享數據、完成即時通信的功能,開發了基于小世界網絡的數據采集與共享系統。該系統采用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 實現服務器正常運行,服務器除存儲文件信息外還可存儲、監控客戶端之間信息發送記錄??蛻舳酥苯影惭b在普通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本章小結
本章主要對系統整體設計方案進行了構思與闡述,同時對系統所要實現功能進行了分析,最后對系統將要實現的傳輸速率、覆蓋范圍、性能等提出了預期目標,為下一步具體工作明確了研究方向。