蔡鎖德
摘 要: 文件共享作為人們工作學(xué)習(xí)中最有效的方式之一,但是在網(wǎng)絡(luò)狀況不好甚至是沒有網(wǎng)絡(luò)的時(shí)候用戶想要共享文件是不能實(shí)現(xiàn)的,針對(duì)此問(wèn)題,提出了一個(gè)在移動(dòng)終端上實(shí)現(xiàn)的文件共享系統(tǒng)。在本系統(tǒng)中,用戶可以自行組織成網(wǎng)絡(luò)進(jìn)行文件共享,不必考慮外部的網(wǎng)絡(luò)環(huán)境,通過(guò)底層使用Ad Hoc網(wǎng)絡(luò),在網(wǎng)絡(luò)內(nèi)部使用UDP廣播,可實(shí)現(xiàn)各節(jié)點(diǎn)快速的文件共享。通過(guò)無(wú)線局域網(wǎng)內(nèi)部的文件共享實(shí)驗(yàn),證實(shí)了該系統(tǒng)的性能不會(huì)因?yàn)榫W(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)目的增加而下降;通過(guò)移動(dòng)終端節(jié)點(diǎn)和服務(wù)器節(jié)點(diǎn)文件共享的實(shí)驗(yàn),證實(shí)不能連接到服務(wù)器的節(jié)點(diǎn)也可以和服務(wù)器實(shí)現(xiàn)文件共享,而且與每個(gè)節(jié)點(diǎn)都要主動(dòng)和服務(wù)器共享文件的情況相比,提高了文件共享的效率。
關(guān)鍵詞: 文件共享; Ad Hoc; 可靠廣播; 無(wú)線局域網(wǎng)
中圖分類號(hào): TN911?34; TM417 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)05?0042?05
0 引 言
隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展以及智能手機(jī)的普及,人們的日常生活越來(lái)越依賴于移動(dòng)終端,而文件共享作為一種工作、學(xué)習(xí)的有效方式,受到大眾的普遍歡迎,因此移動(dòng)終端的文件共享成為網(wǎng)絡(luò)應(yīng)用的一個(gè)重要方面?,F(xiàn)階段存在的文件共享系統(tǒng)大多數(shù)采用如下結(jié)構(gòu):C/S(客戶機(jī)/服務(wù)器),B/S(瀏覽器/服務(wù)器),P2P(對(duì)等網(wǎng)絡(luò))等[1]。
雖然在移動(dòng)終端實(shí)現(xiàn)的文件共享系統(tǒng)很多,但是這些系統(tǒng)在網(wǎng)絡(luò)層使用的網(wǎng)絡(luò)大部分都是WiFi有AP接入點(diǎn)網(wǎng)絡(luò)或者蜂窩網(wǎng)絡(luò),而且在移動(dòng)終端之間進(jìn)行文件共享時(shí)大部分都要經(jīng)過(guò)服務(wù)器,移動(dòng)終端向服務(wù)器請(qǐng)求下載文件,或者將共享的文件上傳到服務(wù)器,像比較受歡迎的 dropbox,DBank,Seafile等[2]。
但是在一個(gè)沒有網(wǎng)絡(luò)覆蓋的環(huán)境中,想共享彼此擁有的資源或者是在教室進(jìn)行考試,只有老師的移動(dòng)終端設(shè)備可以連接到服務(wù)器,學(xué)生是不容許上網(wǎng)的,而試卷就存儲(chǔ)在服務(wù)器上;又或者在一個(gè)人員比較密集的環(huán)境中,大家都想請(qǐng)求服務(wù)器上的文件,這類場(chǎng)景的特點(diǎn)是多數(shù)用戶的設(shè)備不能連入網(wǎng)絡(luò),而只有少部分用戶可以上網(wǎng),或者是所有用戶都不可以上網(wǎng);另一種情況就是在同一個(gè)地方同時(shí)向服務(wù)器請(qǐng)求同一個(gè)資源的用戶數(shù)較多。很顯然現(xiàn)存的移動(dòng)終端文件共享系統(tǒng)并不能滿足上述場(chǎng)景的需求[3]。
針對(duì)上述場(chǎng)景,本文提出了一種新思路的文件共享系統(tǒng)。該文件共享系統(tǒng)的目標(biāo)是使有共享需求的用戶可以根據(jù)自己的需求自行組織成網(wǎng)絡(luò),并可以在該網(wǎng)絡(luò)內(nèi)部自由的和其他用戶實(shí)現(xiàn)文件共享,各用戶在網(wǎng)絡(luò)中的地位相等[4]。
1 系統(tǒng)的設(shè)計(jì)
1.1 總體設(shè)計(jì)
文件共享系統(tǒng)涉及到的節(jié)點(diǎn)主要分為三類:非聯(lián)網(wǎng)節(jié)點(diǎn)、聯(lián)網(wǎng)節(jié)點(diǎn)和服務(wù)器。其中聯(lián)網(wǎng)節(jié)點(diǎn)表示Ad Hoc網(wǎng)絡(luò)中可以連接到2G/3G/4G網(wǎng)絡(luò)的節(jié)點(diǎn),非聯(lián)網(wǎng)節(jié)點(diǎn)表示不能接入蜂窩網(wǎng)的節(jié)點(diǎn)。設(shè)計(jì)的目標(biāo)是實(shí)現(xiàn)移動(dòng)終端下的多用戶文件共享。多個(gè)移動(dòng)終端節(jié)點(diǎn)可以自行組織成Ad Hoc網(wǎng)絡(luò),這些節(jié)點(diǎn)可以在網(wǎng)絡(luò)中自行分享文件,包括圖片、視頻等;若是該網(wǎng)絡(luò)中有節(jié)點(diǎn)可以連接到服務(wù)器,則這個(gè)網(wǎng)絡(luò)中的非聯(lián)網(wǎng)節(jié)點(diǎn)都可以通過(guò)該節(jié)點(diǎn)和服務(wù)器實(shí)現(xiàn)文件共享。 FileShare系統(tǒng)的網(wǎng)絡(luò)拓?fù)鋱D的一種狀態(tài)[5],如圖1所示。
圖1 FileShare網(wǎng)絡(luò)拓?fù)鋱D
1.2 系統(tǒng)的運(yùn)行流程
FileShare文件共享系統(tǒng)在Ad Hoc網(wǎng)絡(luò)中的運(yùn)行流程如圖2所示,其中節(jié)點(diǎn)A,B,C,D均為移動(dòng)終端節(jié)點(diǎn)。FileShare系統(tǒng)的運(yùn)行流程如下[6]:
(1) 當(dāng)節(jié)點(diǎn)A的共享目錄中有變化時(shí),發(fā)送文件;
(2) 節(jié)點(diǎn)B,C,D確認(rèn)該文件是有效文件,并接收文件數(shù)據(jù)包,保存到程序中;
(3) 節(jié)點(diǎn)A收到了反饋包,開始發(fā)送一定量的冗余數(shù)據(jù)包;
(4) 節(jié)點(diǎn)C,D收到了冗余數(shù)據(jù)包,并與原有的包整合,解碼恢復(fù)出原文件,并寫到本地共享文件夾中。
從上述的運(yùn)行流程可知,文件共享系統(tǒng)主要包括以下內(nèi)容:實(shí)時(shí)監(jiān)聽并處理共享文件夾中的內(nèi)容的變化,文件編碼管理,發(fā)送過(guò)程管理,接收過(guò)程管理,反饋包監(jiān)聽及管理,本地讀寫文件等。
圖2中的節(jié)點(diǎn)可以是非聯(lián)網(wǎng)節(jié)點(diǎn),也可以是聯(lián)網(wǎng)節(jié)點(diǎn),它們自行組織成網(wǎng)絡(luò)進(jìn)行文件共享??紤]到網(wǎng)絡(luò)中會(huì)存在可以連接到服務(wù)器的節(jié)點(diǎn),這樣通過(guò)聯(lián)網(wǎng)節(jié)點(diǎn)的橋梁作用,就可以實(shí)現(xiàn)非聯(lián)網(wǎng)節(jié)點(diǎn)和服務(wù)器的間接信息交換和文件共享。本文在調(diào)研了Seafile的詳細(xì)信息后,將本文設(shè)計(jì)的FileShare 系統(tǒng)與Seafile 軟件進(jìn)行有效結(jié)合,以達(dá)到上文提到的三類節(jié)點(diǎn)可以方便地共享文件的目的。
1.3 可靠廣播機(jī)制設(shè)計(jì)
為了加快網(wǎng)絡(luò)中文件共享的速度及減少網(wǎng)絡(luò)中的數(shù)據(jù)量,本文選用了UDP廣播技術(shù),并基于UDP的不可靠性,進(jìn)行了改進(jìn),提出了可靠廣播機(jī)制。本文中廣播的可靠性主要依賴于FEC編碼機(jī)制和反饋重傳機(jī)制。反饋重傳機(jī)制的原理:接收方在發(fā)生丟包現(xiàn)象時(shí)可以和發(fā)送方溝通,告訴發(fā)送方自己丟包的數(shù)量。FEC編碼機(jī)制的主要思想是根據(jù)[n]個(gè)文件數(shù)據(jù)包,編碼生成[k]個(gè)冗余數(shù)據(jù)包,而接收方只要收到這[n+k]個(gè)中任意[n]個(gè)數(shù)據(jù)包,就可以糾錯(cuò)恢復(fù)出原數(shù)據(jù)。
1.4 模塊設(shè)計(jì)
文件共享系統(tǒng)共分為八大模塊,分別為共享文件夾管理模塊、文件分塊和合并模塊、文件編解碼模塊、發(fā)送模塊、接收模塊、反饋包管理模塊、文件讀寫模塊和日志輸出模塊,各模塊之間的關(guān)系如圖3所示。
(1) 共享文件夾管理模塊。在/sdacrd下面新建一個(gè)共享文件夾SharedFiles作為所有節(jié)點(diǎn)的共享文件夾,同時(shí)采用FileObserver對(duì)該文件夾及其內(nèi)容的相關(guān)事件如創(chuàng)建、修改、寫完后關(guān)閉和刪除等進(jìn)行監(jiān)聽,監(jiān)聽的范圍包括共享文件夾及其內(nèi)部的所有子目錄和子文件。
(2) 文件分塊、合并模塊。對(duì)大文件分塊,小文件合并的方法。要將大文件分塊發(fā)送,總的來(lái)說(shuō)就是分為兩層發(fā)送,首先將文件分成固定大小的文件塊,最后一塊大小可以不固定,然后逐塊發(fā)送。在每塊發(fā)送的過(guò)程中考慮到UDP發(fā)送的機(jī)制,將一塊數(shù)據(jù)分成固定大小的文件數(shù)據(jù)包在UDP中廣播。
(3) 文件編解碼模塊。對(duì)于大文件來(lái)說(shuō)文件要進(jìn)行分塊,小文件是合并后分塊發(fā)送的,所以文件的編解碼是以文件包為單位進(jìn)行的。
(4) 發(fā)送模塊。待發(fā)送的文件要先放入發(fā)送隊(duì)列,當(dāng)發(fā)送隊(duì)列滿足一定的條件時(shí),隊(duì)列中的文件才會(huì)被發(fā)送。使用Ad Hoc網(wǎng)絡(luò),節(jié)點(diǎn)的IP地址在移動(dòng)終端啟動(dòng)Ad Hoc模式時(shí)已經(jīng)指定。
(5) 接收模塊。接收模塊作為一個(gè)單獨(dú)的線程在程序運(yùn)行時(shí)就會(huì)開啟,直到程序運(yùn)行結(jié)束,才會(huì)關(guān)閉該線程。
(6) 文件讀/寫模塊。本系統(tǒng)的主要功能是實(shí)現(xiàn)文件共享,系統(tǒng)中對(duì)本地文件的讀/寫非常頻繁。采用類似Java自帶的讀取文件類FileInputStream和BufferedInputStream,文件讀取一般采用順序讀取的方式,將一定大小的二進(jìn)制數(shù)據(jù)放到文件數(shù)據(jù)包中,函數(shù)為read(data,0,block_length)。
(7) 反饋包管理模塊。反饋包的作用就是通知發(fā)送者本節(jié)點(diǎn)的丟包情況。UDPpacket的發(fā)送都是采用廣播的方式,所以對(duì)于其他節(jié)點(diǎn)發(fā)送的反饋包,節(jié)點(diǎn)都可以收到,并保存到其他節(jié)點(diǎn)反饋包列表中。
(8) 日志輸出模塊。日志輸出模塊主要記錄系統(tǒng)運(yùn)行時(shí)的各種信息,包括共享文件的信息,發(fā)送、接收過(guò)程中產(chǎn)生的數(shù)據(jù)信息,控制信息,編解碼信息等。系統(tǒng)將這些信息寫到日志文件中,以便系統(tǒng)的調(diào)試和后續(xù)做實(shí)驗(yàn)時(shí)的記錄。在該系統(tǒng)中各個(gè)模塊之間有相互調(diào)用的關(guān)系。
1.5 數(shù)據(jù)庫(kù)設(shè)計(jì)
系統(tǒng)采用的數(shù)據(jù)庫(kù)是Android自帶的數(shù)據(jù)庫(kù)SQLite。數(shù)據(jù)庫(kù)的相關(guān)操作如創(chuàng)建、打開、刪除數(shù)據(jù)庫(kù)以及創(chuàng)建、刪除、添加、查詢數(shù)據(jù)表等,均是利用Android數(shù)據(jù)庫(kù)幫助類SQLiteOpenHelper實(shí)現(xiàn)的。系統(tǒng)在發(fā)送信息時(shí)采用的是UDP廣播的方式,以提高發(fā)送效率,減少發(fā)送方的重傳次數(shù)以及發(fā)送多類不同的信息,方便彼此之間通信。
2 系統(tǒng)實(shí)現(xiàn)
系統(tǒng)使用了Seafile服務(wù)器和其部分代碼,使得非聯(lián)網(wǎng)節(jié)點(diǎn)可以通過(guò)聯(lián)網(wǎng)節(jié)點(diǎn)和服務(wù)器實(shí)現(xiàn)文件共享。在Ad Hoc網(wǎng)絡(luò)內(nèi)部實(shí)現(xiàn)文件共享時(shí),完全使用的是FileShare系統(tǒng)提供的功能。當(dāng)節(jié)點(diǎn)要和服務(wù)器通信時(shí),主要使用的是Seafile的功能。兩個(gè)軟件結(jié)合后形成的新系統(tǒng)可以實(shí)現(xiàn)非聯(lián)網(wǎng)節(jié)點(diǎn)、聯(lián)網(wǎng)節(jié)點(diǎn)和服務(wù)器的文件共享和全網(wǎng)同步,而且系統(tǒng)中加入服務(wù)器后,可將多個(gè)Ad Hoc網(wǎng)絡(luò)連接成一個(gè)大的網(wǎng)絡(luò)。
加入服務(wù)器節(jié)點(diǎn)后,網(wǎng)絡(luò)中的聯(lián)網(wǎng)節(jié)點(diǎn)作為中轉(zhuǎn)節(jié)點(diǎn),負(fù)責(zé)非聯(lián)網(wǎng)節(jié)點(diǎn)和服務(wù)器的通信,非聯(lián)網(wǎng)節(jié)點(diǎn)可以通過(guò)它將文件上傳到服務(wù)器,或者從服務(wù)器下載文件。在實(shí)現(xiàn)全網(wǎng)同步的過(guò)程中,聯(lián)網(wǎng)節(jié)點(diǎn)的操作步驟和非聯(lián)網(wǎng)節(jié)點(diǎn)是有差別的。
圖4(a)是文件共享系統(tǒng)FileShare的主界面,該程序運(yùn)行時(shí)就會(huì)自動(dòng)對(duì)共享文件夾進(jìn)行監(jiān)控,所以界面只設(shè)計(jì)了兩個(gè)按鈕,同步和停止。同步按鈕用于實(shí)現(xiàn)本節(jié)點(diǎn)與聯(lián)網(wǎng)節(jié)點(diǎn)的同步功能;圖4(b)是192.168.1.12這個(gè)節(jié)點(diǎn)在共享大文件時(shí)(指定大于100 KB文件為大文件)的界面圖,界面主要顯示了共享過(guò)程信息。圖4(c)是192.168.1.17這個(gè)節(jié)點(diǎn)接收大文件的示意圖,界面主要顯示了接收過(guò)程信息,包括收到文件每個(gè)塊的數(shù)據(jù)包數(shù)量、發(fā)送反饋包、接收數(shù)據(jù)包、寫文件到本地、接收文件的時(shí)間等。圖4(d)是節(jié)點(diǎn)發(fā)送小文件的界面圖,和發(fā)送大文件不同的是文件不需要分塊,只有一塊且首次發(fā)送的數(shù)據(jù)包小于100個(gè)。
3 功能測(cè)試及實(shí)驗(yàn)結(jié)果分析
在實(shí)驗(yàn)過(guò)程中用到的實(shí)驗(yàn)設(shè)備為多臺(tái)Intel手機(jī)和一臺(tái)Seafile服務(wù)器。其中Intel手機(jī)的參數(shù)為:型號(hào)為Intel mfld_pr3、操作系統(tǒng)為Android4.04、內(nèi)核版本為3.08、網(wǎng)絡(luò)接口為Ad Hoc、手機(jī)內(nèi)存為1 GB。
3.1 Ad Hoc網(wǎng)絡(luò)內(nèi)部文件共享實(shí)驗(yàn)
實(shí)驗(yàn)中選定了多個(gè)大小不同的文件作為共享文件,這些文件的大小分別是10 B,100 B,1 KB,100 KB,200 KB,500 KB,1 MB,4 MB和10 MB。
3.1.1 Ad Hoc網(wǎng)絡(luò)中一個(gè)節(jié)點(diǎn)主動(dòng)共享文件實(shí)驗(yàn)
實(shí)驗(yàn)中主動(dòng)共享文件的節(jié)點(diǎn)只有一個(gè),其他節(jié)點(diǎn)只負(fù)責(zé)接收文件和反饋相應(yīng)的文件包丟失信息。具體的操作步驟是:多個(gè)Intel手機(jī)安裝程序FileShare;然后選定其中一個(gè)手機(jī)節(jié)點(diǎn)作為主動(dòng)共享文件的節(jié)點(diǎn),該節(jié)點(diǎn)在共享文件夾中放入不同的文件,其他節(jié)點(diǎn)不做任何操作;當(dāng)其他節(jié)點(diǎn)接收文件成功后,記錄下各文件花費(fèi)的時(shí)間。在該實(shí)驗(yàn)的過(guò)程中,將網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)量設(shè)為2個(gè),3個(gè),4個(gè),6個(gè),分別做了對(duì)比實(shí)驗(yàn),接收文件花費(fèi)的時(shí)間如圖5所示。
圖5 單節(jié)點(diǎn)共享文件,多節(jié)點(diǎn)接收花費(fèi)時(shí)間圖
通過(guò)上述實(shí)驗(yàn),一方面驗(yàn)證了本系統(tǒng)的功能,包括對(duì)共享文件夾的監(jiān)聽,文件夾內(nèi)不同操作觸發(fā)的不同事件的處理、發(fā)送、接收過(guò)程以及反饋包的管理等。另一方面,從圖5中可以看到,節(jié)點(diǎn)在發(fā)送不同大小的文件時(shí),從幾B到10 MB,系統(tǒng)均運(yùn)行正常,從曲線可以看出,接收時(shí)間是隨著文件大小變化而變化的;而且一個(gè)節(jié)點(diǎn)在共享不同文件時(shí),網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)量為2個(gè),3個(gè),4個(gè)和6個(gè)的接收時(shí)間曲線幾乎是重合的。這就說(shuō)明在本系統(tǒng)中當(dāng)Ad Hoc網(wǎng)絡(luò)中主動(dòng)共享文件的節(jié)點(diǎn)數(shù)量是一個(gè)時(shí),各節(jié)點(diǎn)接收文件的時(shí)間并不會(huì)隨著網(wǎng)絡(luò)中總節(jié)點(diǎn)個(gè)數(shù)的增加而增大。
3.1.2 Ad Hoc網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)量固定,增加主動(dòng)共享文件節(jié)點(diǎn)數(shù)量實(shí)驗(yàn)
本實(shí)驗(yàn)中設(shè)定網(wǎng)絡(luò)中總節(jié)點(diǎn)數(shù)量為固定值4個(gè),當(dāng)主動(dòng)共享文件的節(jié)點(diǎn)數(shù)不同時(shí)分別做實(shí)驗(yàn),測(cè)試節(jié)點(diǎn)接收不同文件花費(fèi)的時(shí)間,具體實(shí)驗(yàn)數(shù)據(jù)不再列出,直接制成圖6進(jìn)行分析。
從圖6可以看到,當(dāng)網(wǎng)絡(luò)中的節(jié)點(diǎn)固定,主動(dòng)共享文件的節(jié)點(diǎn)不同時(shí),共享同一個(gè)文件所花費(fèi)的時(shí)間不同。根據(jù)實(shí)驗(yàn)過(guò)程分析得出,多個(gè)節(jié)點(diǎn)同時(shí)共享文件時(shí),由于網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)是平等的,每一個(gè)節(jié)點(diǎn)占用的帶寬大體是一樣的,這就導(dǎo)致多個(gè)文件幾乎在同一時(shí)間收到。所以當(dāng)網(wǎng)絡(luò)中有多個(gè)節(jié)點(diǎn)發(fā)送文件時(shí),接收節(jié)點(diǎn)在收到第一個(gè)文件時(shí),幾乎同時(shí)會(huì)收到第二個(gè),第三個(gè)文件。
3.2 手機(jī)節(jié)點(diǎn)與服務(wù)器文件共享實(shí)驗(yàn)
3.2.1 非聯(lián)網(wǎng)節(jié)點(diǎn)上傳文件到服務(wù)器實(shí)驗(yàn)
非聯(lián)網(wǎng)節(jié)點(diǎn)通過(guò)聯(lián)網(wǎng)節(jié)點(diǎn)將文件上傳到服務(wù)器,并記錄整個(gè)過(guò)程產(chǎn)生的數(shù)據(jù)。實(shí)驗(yàn)的具體過(guò)程如下:A在自己本地的共享文件夾中放入新文件共享,另外兩個(gè)節(jié)點(diǎn)收到文件后記錄接收文件花費(fèi)的時(shí)間,并判斷該節(jié)點(diǎn)是否可以連接到服務(wù)器,如果可以,則該節(jié)點(diǎn)向服務(wù)器發(fā)送文件,服務(wù)器接收成功后,會(huì)將接收文件的時(shí)間返回給聯(lián)網(wǎng)節(jié)點(diǎn),聯(lián)網(wǎng)節(jié)點(diǎn)將其記錄下來(lái)。如圖7所示為非聯(lián)網(wǎng)節(jié)點(diǎn)共享不同大小的文件時(shí),不同節(jié)點(diǎn)(非聯(lián)網(wǎng)節(jié)點(diǎn)、聯(lián)網(wǎng)節(jié)點(diǎn)、服務(wù)器)接收不同文件花費(fèi)的時(shí)間。通過(guò)實(shí)驗(yàn),證明本系統(tǒng)實(shí)現(xiàn)了非聯(lián)網(wǎng)節(jié)點(diǎn)將文件上傳到服務(wù)器的功能,在一定程度上提高了文件共享的效率。
3.2.2 非聯(lián)網(wǎng)節(jié)點(diǎn)獲取服務(wù)器文件實(shí)驗(yàn)
聯(lián)網(wǎng)節(jié)點(diǎn)從服務(wù)器下載文件,然后傳送給非聯(lián)網(wǎng)節(jié)點(diǎn),并記錄整個(gè)過(guò)程中產(chǎn)生的數(shù)據(jù)。實(shí)驗(yàn)的具體過(guò)程如下:聯(lián)網(wǎng)節(jié)點(diǎn)從服務(wù)器下載文件,記錄下載的時(shí)間,并將該文件在Ad Hoc網(wǎng)絡(luò)內(nèi)廣播,其他節(jié)點(diǎn)在收到文件后,記錄接收的時(shí)間。聯(lián)網(wǎng)節(jié)點(diǎn)從服務(wù)器下載不同文件,并傳送給非聯(lián)網(wǎng)節(jié)點(diǎn)花費(fèi)的時(shí)間圖,如圖8所示。
從圖8中可以看到當(dāng)文件從聯(lián)網(wǎng)節(jié)點(diǎn)傳送到非聯(lián)網(wǎng)節(jié)點(diǎn)時(shí),花費(fèi)的時(shí)間同上一節(jié)實(shí)驗(yàn)中統(tǒng)計(jì)出的數(shù)據(jù)并沒有太大的差距。該文件共享系統(tǒng)不僅使非聯(lián)網(wǎng)節(jié)點(diǎn)可以和服務(wù)器進(jìn)行文件共享,而且在一定程度上提高了文件共享的效率。
4 結(jié) 論
首先通過(guò)對(duì)現(xiàn)存的移動(dòng)終端間的文件共享系統(tǒng)調(diào)研,指出普通的移動(dòng)終端文件共享系統(tǒng),大部分需要節(jié)點(diǎn)連接到Internet,其本質(zhì)還是移動(dòng)終端通過(guò)網(wǎng)絡(luò)與服務(wù)器的節(jié)點(diǎn)進(jìn)行文件共享。共享文件的發(fā)送節(jié)點(diǎn)和接收節(jié)點(diǎn)之間并不進(jìn)行直接的通信,只能通過(guò)服務(wù)器實(shí)現(xiàn)文件共享。這種集中式的,必須有服務(wù)器節(jié)點(diǎn)的文件共享系統(tǒng),在有些現(xiàn)實(shí)生活中的場(chǎng)景中并不能滿足用戶對(duì)文件共享的需求。針對(duì)這類場(chǎng)景,提出了新型移動(dòng)終端的文件共享系統(tǒng)FileShare,該文件共享系統(tǒng)主要解決密集環(huán)境中用戶同時(shí)請(qǐng)求服務(wù)器的問(wèn)題和用戶在無(wú)網(wǎng)絡(luò)環(huán)境中彼此共享文件的問(wèn)題。在沒有網(wǎng)絡(luò)的環(huán)境中,節(jié)點(diǎn)可以自行組織成網(wǎng)絡(luò),利用該系統(tǒng)在網(wǎng)絡(luò)內(nèi)部實(shí)現(xiàn)文件共享;如果是多個(gè)用戶在同一個(gè)地方同時(shí)想要請(qǐng)求服務(wù)器上的文件,該系統(tǒng)可以在網(wǎng)絡(luò)中選擇一個(gè)較好的節(jié)點(diǎn),讓其從服務(wù)器獲取文件,然后在網(wǎng)絡(luò)內(nèi)部將文件分發(fā)給其他節(jié)點(diǎn),這樣既可以解決網(wǎng)絡(luò)擁堵的問(wèn)題,又為用戶節(jié)省了流量。
參考文獻(xiàn)
[1] 蔡自興,徐光祐.人工智能及其應(yīng)用[M].北京:清華大學(xué)出版社,2010:30?38.
[2] 姜樂水.淺談無(wú)線局域網(wǎng)(WLAN)技術(shù)[J].信息技術(shù)與信息化,2012(5):64?67.
[3] 舒炎泰,張連芳.無(wú)線局域網(wǎng)絡(luò)的優(yōu)化設(shè)計(jì)與管理[J].計(jì)算機(jī)應(yīng)用研究,2003,16(3):123?126.
[4] 孫成丹,彭木根.近場(chǎng)通信技術(shù)(1)[J].中興通訊技術(shù),2013,19(4):63?66.
[5] 李勇,黃均才,王鳳碧,等.Ad Hoc網(wǎng)絡(luò)體系結(jié)構(gòu)研究[J].計(jì)算機(jī)應(yīng)用,2005,25(1):163?165.
[6] 王輝,單劍鋒,俞能海.一種新的無(wú)線Ad Hoc網(wǎng)絡(luò)中的多路徑路由及流量分配算法[J].中國(guó)科學(xué)技術(shù)大學(xué)學(xué)報(bào),2009,39(2):125?131.