国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種文件共享系統(tǒng)的P2P網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)

2020-05-16 09:15鄭曉健鄭子維
軟件 2020年4期
關(guān)鍵詞:消息檢索節(jié)點(diǎn)

鄭曉健,鄭子維

(1. 昆明理工大學(xué)津橋?qū)W院 電氣與信息工程學(xué)院,云南 昆明 650106;2. 云南云投股權(quán)投資基金管理有限公司,云南 昆明 650100)

0 引言

P2P結(jié)構(gòu)[1]與傳統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)的差別在于讓共享資源和網(wǎng)絡(luò)服務(wù)分布到各P2P節(jié)點(diǎn)中,并以點(diǎn)對(duì)點(diǎn)的通信方式,實(shí)現(xiàn)P2P節(jié)點(diǎn)間的相互訪問,從而協(xié)同完成節(jié)點(diǎn)資源共享并提供各種服務(wù)。由于網(wǎng)絡(luò)中各P2P節(jié)點(diǎn)都參與到文件資源共享中,使各節(jié)點(diǎn)閑置的處理能力、存儲(chǔ)能力和信息資源得以充分利用。傳統(tǒng)的網(wǎng)絡(luò)資源共享服務(wù)一般采用C/S或B/S結(jié)構(gòu),例如FTP服務(wù)器,共享文件資源部署在中心服務(wù)器上,用戶在客戶端向服務(wù)器發(fā)出資源請(qǐng)求,服務(wù)器從資源庫中查找資源并返回給客戶端。然而當(dāng)共享資源大量占用服務(wù)器的存儲(chǔ)器,同時(shí)訪問文件資源的用戶又較多時(shí)系統(tǒng)的負(fù)載將增大,響應(yīng)速度就會(huì)降低,形成性能瓶頸。但是P2P結(jié)構(gòu)不依賴中心服務(wù)器,資源分散到各P2P節(jié)點(diǎn),使得系統(tǒng)的負(fù)載能力得到平衡[2],系統(tǒng)的可擴(kuò)展性、健壯性得到增強(qiáng),可以有效的解決中心服務(wù)器能力不足的問題[3-4]。所以P2P技術(shù)被應(yīng)用到VoIP、流媒體、協(xié)同計(jì)算、資源共享等領(lǐng)域。

隨著企事業(yè)單位的發(fā)展,單位內(nèi)部辦公信息的發(fā)布、管理和維護(hù)工作在逐日增加。單位內(nèi)部的文件共享管理系統(tǒng)有助于建立方便高效的辦公環(huán)境,提高辦公效率。本文討論的P2P網(wǎng)絡(luò)文件共享系統(tǒng),由兩層式多個(gè)系統(tǒng)資源服務(wù)節(jié)點(diǎn)構(gòu)成P2P網(wǎng)絡(luò)架構(gòu)的分布式模式,可以有效的實(shí)現(xiàn)單位共享文件的管理和發(fā)布。

1 總體設(shè)計(jì)

1.1 設(shè)計(jì)原則

近年P(guān)2P架構(gòu)的分布式文件共享系統(tǒng)正逐漸流行起來[5-7],原因在于它良好的系統(tǒng)特性,設(shè)計(jì)時(shí)應(yīng)該采取技術(shù)手段來保持系統(tǒng)的擴(kuò)展性、健壯性、負(fù)載平衡[4,8]等特征。

(1)擴(kuò)展性,P2P結(jié)構(gòu)要求在網(wǎng)絡(luò)中可以自由地增加節(jié)點(diǎn),實(shí)現(xiàn)網(wǎng)絡(luò)擴(kuò)展。加入節(jié)點(diǎn)后網(wǎng)絡(luò)資源數(shù)量和服務(wù)能力會(huì)得到提升,節(jié)點(diǎn)間的通信路徑會(huì)增加,通信能力也會(huì)加強(qiáng),系統(tǒng)性能得到提升[3]。刪除節(jié)點(diǎn)后要采取技術(shù)措施,使系統(tǒng)性能不會(huì)受到影響。

(2)健壯性,為避免節(jié)點(diǎn)失效帶來的問題,通過任務(wù)和資源在節(jié)點(diǎn)上的再分配實(shí)現(xiàn),因此節(jié)點(diǎn)退出對(duì)系統(tǒng)性能影響不大。

(3)負(fù)載均衡,網(wǎng)絡(luò)負(fù)載變化時(shí)P2P節(jié)點(diǎn)可以分擔(dān)任務(wù)[8]。網(wǎng)絡(luò)節(jié)點(diǎn)的連接信息要保持同步刷新,合理分配任務(wù),節(jié)點(diǎn)通過點(diǎn)對(duì)點(diǎn)通信模式,協(xié)同提供資源和服務(wù),平衡網(wǎng)絡(luò)的負(fù)載。

1.2 功能設(shè)計(jì)

下面介紹本系統(tǒng)包含的主要功能模塊:文件共享模塊和資源服務(wù)模塊。文件共享模塊主要完成用戶注冊(cè)、文件檢索、文件資源發(fā)布。資源服務(wù)模塊完成P2P節(jié)點(diǎn)狀態(tài)檢測(cè)、資源信息管理、用戶訪問控制,系統(tǒng)用例圖如圖1所示。

圖1 系統(tǒng)用例圖Fig.1 System use case diagram

1.3 P2P架構(gòu)設(shè)計(jì)

本系統(tǒng)采用多個(gè)資源服務(wù)節(jié)點(diǎn)作為系統(tǒng)服務(wù)核心,文件共享節(jié)點(diǎn)分散存儲(chǔ)共享文件資源,系統(tǒng)服務(wù)節(jié)點(diǎn)協(xié)同完成文件資源檢索任務(wù),形成分布式P2P拓?fù)浣Y(jié)構(gòu),如圖2所示。系統(tǒng)由P2P網(wǎng)絡(luò)通信基礎(chǔ)設(shè)施層和共享文件資源覆蓋網(wǎng)絡(luò)層構(gòu)成為兩層式、多個(gè)資源服務(wù)節(jié)點(diǎn)的P2P網(wǎng)絡(luò)架構(gòu)。

圖2 系統(tǒng)結(jié)構(gòu)圖Fig.2 System structure diagram

P2P網(wǎng)絡(luò)通信基礎(chǔ)設(shè)施層由服務(wù)器節(jié)點(diǎn)和 P2P節(jié)點(diǎn)組成,采用TCP通信協(xié)議實(shí)現(xiàn)所有節(jié)點(diǎn)間的點(diǎn)對(duì)點(diǎn)通信,保證消息及共享文件資源在節(jié)點(diǎn)間可靠地傳輸。所有節(jié)點(diǎn)為了響應(yīng)其他節(jié)點(diǎn)的服務(wù)要求,需要隨時(shí)開啟監(jiān)聽功能,等待其他節(jié)點(diǎn)的連接請(qǐng)求,連接成功后才能與節(jié)點(diǎn)進(jìn)行數(shù)據(jù)通信。

共享文件資源覆蓋網(wǎng)絡(luò)層由文件共享節(jié)點(diǎn)和資源服務(wù)節(jié)點(diǎn),通過用戶協(xié)議組成資源覆蓋網(wǎng)絡(luò)。文件共享節(jié)點(diǎn)在系統(tǒng)服務(wù)節(jié)點(diǎn)注冊(cè),相互交換網(wǎng)絡(luò)節(jié)點(diǎn)連接信息。通過連接信息實(shí)現(xiàn)系統(tǒng)服務(wù)節(jié)點(diǎn)管轄范圍內(nèi)外所有節(jié)點(diǎn)間的點(diǎn)對(duì)點(diǎn)通信,完成資源檢索和獲取任務(wù)。

2 系統(tǒng)流程設(shè)計(jì)

2.1 資源服務(wù)節(jié)點(diǎn)

由于系統(tǒng)中存在多個(gè)資源服務(wù)節(jié)點(diǎn),且各自管轄一批文件共享節(jié)點(diǎn),為它們提供檢索信息服務(wù),所以必須協(xié)同完成資源檢索任務(wù)。各個(gè)資源服務(wù)節(jié)點(diǎn)主要負(fù)責(zé)管理共享文件節(jié)點(diǎn)的注冊(cè)和退出、共享文件信息管理、共享文件節(jié)點(diǎn)的狀態(tài)檢測(cè)、資源服務(wù)節(jié)點(diǎn)間的任務(wù)協(xié)同、協(xié)助共享文件節(jié)點(diǎn)在網(wǎng)絡(luò)中檢索文件、用戶訪問權(quán)限管理等。

資源服務(wù)節(jié)點(diǎn)定時(shí)按照用戶協(xié)議向網(wǎng)絡(luò)廣播自己的IP地址、端口號(hào)等,文件共享節(jié)點(diǎn)利用這些連接信息可建立與資源服務(wù)節(jié)點(diǎn)的連接。文件共享節(jié)點(diǎn)加入網(wǎng)絡(luò)時(shí),先到資源服務(wù)節(jié)點(diǎn)注冊(cè),資源服務(wù)節(jié)點(diǎn)記錄該節(jié)點(diǎn)的IP地址、端口號(hào)、用戶名等相關(guān)信息并保存到數(shù)據(jù)庫的文件共享節(jié)點(diǎn)列表中,然后將當(dāng)前在線的所有節(jié)點(diǎn)的連接信息發(fā)回,構(gòu)成該節(jié)點(diǎn)的共享節(jié)點(diǎn)列表。通過列表信息,該節(jié)點(diǎn)可與所有在線節(jié)點(diǎn)進(jìn)行點(diǎn)對(duì)點(diǎn)通信。

節(jié)點(diǎn)狀態(tài)檢測(cè)。由于網(wǎng)絡(luò)環(huán)境等因素的影響,可能導(dǎo)致網(wǎng)絡(luò)連接中斷,因此資源服務(wù)節(jié)點(diǎn)需定時(shí)向各共享文件節(jié)點(diǎn)和其他資源服務(wù)節(jié)點(diǎn)發(fā)送狀態(tài)檢測(cè)消息,監(jiān)測(cè)節(jié)點(diǎn)的在線狀態(tài),發(fā)現(xiàn)有節(jié)點(diǎn)連接中斷,要及時(shí)更新連接信息。如果節(jié)點(diǎn)狀態(tài)有變化,要向在線節(jié)點(diǎn)刷新連接信息。

資源服務(wù)節(jié)點(diǎn)接收到文件共享節(jié)點(diǎn)發(fā)布的共享文件消息,將在共享文件表中記錄共享文件位置信息,如文件路徑、文件名稱、文件大小、修改時(shí)間、文件所在節(jié)點(diǎn)等。收到節(jié)點(diǎn)離線消息時(shí),將撤銷共享文件記錄,實(shí)現(xiàn)共享文件信息管理,為將來共享文件檢索服務(wù)。

資源服務(wù)節(jié)點(diǎn)接收到文件共享節(jié)點(diǎn)發(fā)出的資源檢索消息,將在本地共享文件表中檢索要求的文件,如果檢索成功,就返回文件的位置信息和節(jié)點(diǎn)連接信息。如果本地檢索失敗,將開始遠(yuǎn)程檢索,即向其他資源服務(wù)節(jié)點(diǎn)發(fā)送協(xié)同檢索消息,收到檢索消息的資源服務(wù)節(jié)點(diǎn)將同時(shí)在其共享文件表中進(jìn)行查找,然后返回檢索結(jié)果。文件共享節(jié)點(diǎn)收到資源服務(wù)節(jié)點(diǎn)回復(fù)的文件位置信息和節(jié)點(diǎn)連接信息后,將直接與目標(biāo)節(jié)點(diǎn)建立連接,再下載共享文件。

2.2 文件共享節(jié)點(diǎn)

系統(tǒng)要共享的所有文件資源被分散存放到各文件共享節(jié)點(diǎn),并將檢索共享文件的信息發(fā)布到對(duì)應(yīng)資源服務(wù)節(jié)點(diǎn),便于任何節(jié)點(diǎn)檢索。

文件共享節(jié)點(diǎn)加入時(shí)向系統(tǒng)服務(wù)節(jié)點(diǎn)注冊(cè),傳送網(wǎng)絡(luò)連接信息,通過這些信息文件共享節(jié)點(diǎn)間才能實(shí)現(xiàn)透明的互訪。文件共享節(jié)點(diǎn)進(jìn)行文件檢索時(shí)向資源服務(wù)提交文件請(qǐng)求消息,資源服務(wù)協(xié)助檢索并獲得分布在節(jié)點(diǎn)中的文件資源。文件資源發(fā)布時(shí)向資源服務(wù)發(fā)送要共享文件的目錄消息。

本系統(tǒng)的P2P信息通信架構(gòu)[8]由P2P消息收發(fā)、消息解析與任務(wù)調(diào)度、P2P節(jié)點(diǎn)注冊(cè)管理、P2P節(jié)點(diǎn)狀態(tài)監(jiān)測(cè)回饋處理、文件共享管理等模塊組成。P2P節(jié)點(diǎn)之間的通信采用TCP協(xié)議。P2P節(jié)點(diǎn)監(jiān)聽連接請(qǐng)求端口,有連接請(qǐng)求時(shí)創(chuàng)建消息接收線程,建立socket通信連接并接收消息,通過應(yīng)用層通信協(xié)議解析消息,任務(wù)調(diào)度發(fā)送消息給各處理模塊完成相應(yīng)的處理。

3 系統(tǒng)軟件實(shí)現(xiàn)

系統(tǒng)的文件共享類圖如圖3所示,資源服務(wù)類圖如圖4所示。P2P節(jié)點(diǎn)間的通信由通信類完成,接收消息和解析由消息收發(fā)類完成,通過任務(wù)調(diào)度,由相關(guān)模塊完成消息處理。采用了多線程技術(shù)、Socket通信技術(shù),利用TCP協(xié)議實(shí)現(xiàn)了可靠的數(shù)據(jù)通信。本系統(tǒng)軟件采用 Microsoft Visual C++6.0、Microsoft Access2010編程實(shí)現(xiàn)。

圖3 文件共享類圖Fig.3 File sharing class diagram

圖4 資源服務(wù)類圖Fig.4 Resource service class diagram

4 結(jié)束語

本文介紹了一種 P2P 網(wǎng)絡(luò)結(jié)構(gòu)的文件共享系統(tǒng)設(shè)計(jì),系統(tǒng)為分布式文件管理架構(gòu),能夠滿足企事業(yè)單位文件信息資源共享的需求。通過P2P網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)分布式應(yīng)用系統(tǒng),介紹了兩層式、多服務(wù)節(jié)點(diǎn)的文件共享平臺(tái)的實(shí)現(xiàn)過程。得益于P2P網(wǎng)絡(luò)系統(tǒng)的可靠性好、擴(kuò)展性和靈活性較高等特征,系統(tǒng)工作效率也得到提升,系統(tǒng)運(yùn)行穩(wěn)定。下一步將應(yīng)用面向領(lǐng)域的智能搜索引擎技術(shù)[9],實(shí)現(xiàn)文件資源信息的智能檢索,并且運(yùn)用區(qū)塊鏈技術(shù)解決網(wǎng)絡(luò)的安全性和溯源性問題[10-11],提高系統(tǒng)的可用性。

猜你喜歡
消息檢索節(jié)點(diǎn)
CM節(jié)點(diǎn)控制在船舶上的應(yīng)用
Analysis of the characteristics of electronic equipment usage distance for common users
基于AutoCAD的門窗節(jié)點(diǎn)圖快速構(gòu)建
一張圖看5G消息
2019年第4-6期便捷檢索目錄
專利檢索中“語義”的表現(xiàn)
抓住人才培養(yǎng)的關(guān)鍵節(jié)點(diǎn)
消息
消息
消息