亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        通用的結(jié)構(gòu)化P2P網(wǎng)絡(luò)支撐平臺的設(shè)計及實現(xiàn)

        2013-11-30 05:01:22劉林峰
        計算機(jī)工程與設(shè)計 2013年1期
        關(guān)鍵詞:服務(wù)

        劉 業(yè),劉林峰

        (1.中國科學(xué)技術(shù)大學(xué) 蘇州研究院,江蘇 蘇州215123;2.中國科學(xué)技術(shù)大學(xué) 軟件學(xué)院,江蘇 蘇州215123;3.南京郵電大學(xué) 計算機(jī)學(xué)院,江蘇 南京210003;4.陽立電子(蘇州)有限公司,江蘇 蘇州215000)

        0 引 言

        近年來,CAN、Chord、Tapestry、Pastry、BAKE[1-6]等為代表的結(jié)構(gòu)化拓?fù)銹2P網(wǎng)絡(luò)技術(shù)層出不窮,結(jié)構(gòu)化P2P網(wǎng)絡(luò)在資源管理過程中同時擁有自組織特性、規(guī)模的強可縮放特性以及部署的廉價性等等,突破了網(wǎng)絡(luò)規(guī)模限制的結(jié)構(gòu)化P2P網(wǎng)絡(luò)技術(shù)給廣域網(wǎng)范圍內(nèi)規(guī)模龐大的資源整合及共享提供了可能性。

        目前國內(nèi)P2P網(wǎng)絡(luò)研究領(lǐng)域很多都是在某一種開源項目的基礎(chǔ)上來開展后續(xù)研究,目前尚未有一個通用的P2P網(wǎng)絡(luò)支撐平臺見諸報道。我們通用的結(jié)構(gòu)化P2P網(wǎng)絡(luò)支撐平臺原型系統(tǒng)設(shè)計的目的是建立一個可以應(yīng)用于廣域網(wǎng)范圍內(nèi),集資源整合與利用為一體,面向服務(wù)的P2P網(wǎng)絡(luò)支撐平臺,能夠提供文件共享、應(yīng)用層多播、CPU資源整合、網(wǎng)絡(luò)存儲、極速傳輸?shù)然痉?wù),從而實現(xiàn)對當(dāng)前網(wǎng)絡(luò)中的存儲資源、計算資源、存儲轉(zhuǎn)發(fā)資源(即,帶寬資源)以及信息資源的整合。另外,通用平臺是基于分層模型的,亦能方便我們進(jìn)行底層不同結(jié)構(gòu)化P2P網(wǎng)絡(luò)拓?fù)浼奥酚伤惴ǖ奶鎿Q,利于進(jìn)行不同結(jié)構(gòu)化P2P網(wǎng)絡(luò)路由算法的比對研究。

        正文部分首先給出了一種通用的結(jié)構(gòu)化P2P網(wǎng)絡(luò)支撐平臺實現(xiàn)框架的模塊劃分圖,接下來介紹了我們所開發(fā)的通用平臺的具體設(shè)計及實現(xiàn),闡述了課提供給第三方進(jìn)行新型應(yīng)用開發(fā)的開放接口函數(shù),最后給出了通用平臺的相關(guān)測試結(jié)果。

        1 結(jié)構(gòu)化P2P網(wǎng)絡(luò)支撐平臺參考模型

        參照文獻(xiàn)[7]給出的面向服務(wù)的P2P網(wǎng)絡(luò)體系結(jié)構(gòu)(ISPNA)框架模型,圖1給出了一種典型的結(jié)構(gòu)化P2P網(wǎng)絡(luò)支撐平臺參考模型。得益于結(jié)構(gòu)化P2P網(wǎng)絡(luò)技術(shù)所擁有的強大的可縮放特性,我們能夠在該結(jié)構(gòu)化P2P網(wǎng)絡(luò)支撐平臺參考模型的指導(dǎo)下,實現(xiàn)一個在廣域網(wǎng)范圍內(nèi)進(jìn)行海量規(guī)模的資源整合及共享的系統(tǒng)。

        圖1 結(jié)構(gòu)化P2P網(wǎng)絡(luò)支撐平臺參考模型

        圖2給出了一個原型系統(tǒng)的總體實現(xiàn)框架,我們接下來對各主要功能模塊的實現(xiàn)做逐一說明。對于P2P網(wǎng)絡(luò)中的某一節(jié)點Node i來說,在功能上該節(jié)點既是Client端,亦是Server端。

        1.1 結(jié)構(gòu)化P2P網(wǎng)絡(luò)支撐平臺基本模塊

        (1)P2P路由模塊:利用現(xiàn)有的(TCP、UDP、HTTP)通信協(xié)議建立P2P路由通道,完成冪次逼近的路由過程,向上層模塊提供可調(diào)用的P2PAPI接口函數(shù);

        (2)路由表維護(hù)模塊:維護(hù)P2P節(jié)點間的邏輯鄰居關(guān)系,即節(jié)點路由表的更新操作,適應(yīng)P2P網(wǎng)絡(luò)節(jié)點在自組織管理模式下的動態(tài)(加入、退出)行為;

        圖2 總體實現(xiàn)框架模塊劃分

        (3)共享資源管理模塊:資源在該層以resource_object的形式抽象,該模塊負(fù)責(zé)P2P節(jié)點之上所維護(hù)的資源穩(wěn)定性的管理操作,包括節(jié)點動態(tài)加入、退出時,該節(jié)點所維護(hù)的resource_object的重新分配過程,等;

        (4)Server端圖形界面模塊:Chord Ring Visualizer,用于查看P2P網(wǎng)絡(luò)環(huán)中每個節(jié)點狀態(tài)的工具,它能夠檢測當(dāng)前環(huán)中的節(jié)點數(shù)、每個節(jié)點的前驅(qū),后繼列表,finger節(jié)點等等??捎^察到節(jié)點的加入退出,鄰居節(jié)點調(diào)整的過程。

        1.2 結(jié)構(gòu)化P2P網(wǎng)絡(luò)支撐平臺可用性增強模塊

        (1)可用性增強擴(kuò)展模塊:結(jié)構(gòu)化P2P網(wǎng)絡(luò)路由效率的提高是增強P2P網(wǎng)絡(luò)可用性,推動其進(jìn)一步發(fā)展的關(guān)鍵所在。

        (2)安全性增強模塊:端節(jié)點的自私行為勢必導(dǎo)致P2P網(wǎng)絡(luò)資源的可用性存在極大的變數(shù),在自組織管理模式下的P2P網(wǎng)絡(luò)中,正因為諸如此類的節(jié)點自私行為是大量存在的,因此需要研究相應(yīng)的機(jī)制來約束節(jié)點的自私行為,從而增強整個P2P網(wǎng)絡(luò)的可用性及穩(wěn)定性。

        1.3 結(jié)合某一類資源整合需求,面向應(yīng)用的具體實例舉例

        (1)文件共享服務(wù)模塊:整合聯(lián)入系統(tǒng)的節(jié)點的文件資源,提供文件資源共享服務(wù),實現(xiàn)資源的查詢及下載服務(wù);

        (2)計算力資源整合模塊:整合聯(lián)入系統(tǒng)的節(jié)點的CPU資源,完成特定領(lǐng)域的科學(xué)計算過程,適合于輸入集松耦合、不同節(jié)點所使用算法大致相同或者獨立的科學(xué)計算過程,應(yīng)用實例舉例——特大質(zhì)數(shù)的判別;

        (3)網(wǎng)絡(luò)存儲服務(wù)模塊:整合聯(lián)入系統(tǒng)的節(jié)點的存儲資源,提供海量數(shù)據(jù)存儲服務(wù),應(yīng)用實例舉例——網(wǎng)絡(luò)硬盤的實現(xiàn);

        (4)極速傳輸服務(wù)模塊:整合聯(lián)入系統(tǒng)的節(jié)點的帶寬資源,提供高速的數(shù)據(jù)傳輸服務(wù)。其工作原理如下,采用文件分片傳輸?shù)姆椒ㄟM(jìn)行文件傳輸,發(fā)送方借助P2P網(wǎng)絡(luò)鄰居節(jié)點的帶寬,使多個節(jié)點同時向接收方發(fā)送文件,從而乘數(shù)級增加數(shù)據(jù)傳輸時的帶寬。應(yīng)用實例舉例——極速傳輸工具。

        2 通用平臺的設(shè)計與實現(xiàn)

        2.1 P2P路由模塊

        P2P路由模塊及路由表維護(hù)模塊(JavaChord模塊)是完全自主地利用Java開發(fā)的一個P2P路由模塊,同時參考文獻(xiàn)[8]所提及的15個open問題,對算法作了必要的修改和補充。主要工作包括P2P路由報文的設(shè)計及約定。JavaChord模塊使用JavaRMI[9]實現(xiàn),主要包括sigp2p.chord.datatypes,sigp2p.chord.protocol,sigp2p.chord.protocol.rmi這3個包,每個包的詳細(xì)說明略。其中在rmi包中使用了RMICache機(jī)制,即Cache將最近訪問過的RMI服務(wù)保存在列表中,如果程序馬上訪問,可以直接從列表中得到。目的就是為了提高P2P資源查找效率而設(shè)的。

        2.2 通用平臺用戶界面實現(xiàn)

        本部分主要介紹通用平臺的用戶界面Server部分的控制界面,如圖3所示。

        圖3 通用平臺用戶界面:Server端控制界面

        下面分區(qū)域介紹Server部分的控制界面的功能:

        (1)本地節(jié)點信息區(qū):這一部分設(shè)置本節(jié)點的IP地址,基本端口號和虛擬節(jié)點號。本機(jī)IP地址可以點擊Refresh按鈕獲得,端口號和虛擬節(jié)點號可以自行設(shè)定,也可以點擊 “Randomly select port and vid”隨機(jī)選取。

        (2)啟動模式控制區(qū):控制啟動模式。選中 “Start bootstrap mode”將本機(jī)作為啟動節(jié)點(即環(huán)中第一個節(jié)點)。點擊Join now可以加入環(huán)中已存在的節(jié)點。如果沒有選中將本機(jī)作為啟動節(jié)點的模式,啟動節(jié)點后將自動執(zhí)行Join操作。

        (3)節(jié)點控制區(qū):控制節(jié)點。包括啟動,關(guān)閉,參數(shù)設(shè)置,顯示finger表,退出程序等。

        (4)應(yīng)用層服務(wù)控制區(qū):控制應(yīng)用服務(wù)器。程序啟動后,下拉列表框中會出現(xiàn)所有已安裝的應(yīng)用插件。port是報告給應(yīng)用程序的端口號,不是基本端口號。

        (5)日志區(qū):顯示程序日志。

        (6)性能計數(shù)器區(qū):顯示程序的性能計數(shù)器。

        3 第三方應(yīng)用開發(fā)接口

        P2P通用平臺以開放API函數(shù)的形式提供給第三方進(jìn)行新型應(yīng)用的開發(fā)。接口函數(shù)說明如下:

        3.1 服務(wù)器端API

        (1)接口:服務(wù)器端應(yīng)用程序以插件的形式加入到SPIS中。所有服務(wù)器端應(yīng)用程序都要實現(xiàn)ApplicationServer接口,該接口在sigp2p.spis.appserver包中定義。共有如下3個方法:

        ·voidstartup(finalChordServercs,intport);

        該方法用于啟動應(yīng)用層服務(wù),由SPIS Server調(diào)用。參數(shù)cs是對當(dāng)前Chord服務(wù)器的引用,參數(shù)port為SPIS Server報告給應(yīng)用層服務(wù)的端口,此端口的含義由應(yīng)用層服務(wù)器自行約定,也可以忽略它。

        ·voidshutdown();

        該方法用于關(guān)閉應(yīng)用層服務(wù),由SPIS Server調(diào)用。SPIS不保證調(diào)用此方法時應(yīng)用層服務(wù)器正在運行。因此,應(yīng)用層服務(wù)器應(yīng)自行維護(hù)自身狀態(tài)。

        ·StringgetAppName();

        該方法用于獲取應(yīng)用層服務(wù)的名稱,由SPIS Server調(diào)用。

        (2)處理Chord結(jié)點:每一個Chord結(jié)點由IP地址,基本端口號,虛擬結(jié)點號組成。Chord基本端口指的是SPIS服務(wù)器向客戶端或其它服務(wù)器報告SPIS結(jié)點時采用IP地址加Chord基本端口的方式。如果應(yīng)用層服務(wù)自身協(xié)議沒有約定端口,則必須在Chord基本端口上進(jìn)行監(jiān)聽,以接受服務(wù)請求。Chord結(jié)點用ChordNode類來表示,該類中對應(yīng)用層服務(wù)開發(fā)有幫助的成員函數(shù)介紹(略)。

        (3)Chord Server API:一般情況下,對于應(yīng)用層服務(wù)開發(fā)而言,不會用到j(luò)oin,SetParams,startup,shutdown這4個方法。因此,這里只介紹其余的5個方法。

        ·publicabstractChordNodegetSucessor();

        獲取當(dāng)前結(jié)點的后繼,在環(huán)未穩(wěn)定的情況下,后繼可能沒有找到,此時返回null。

        ·publicabstractChordNodegetPredecessor();

        獲取當(dāng)前結(jié)點的前驅(qū),在環(huán)未穩(wěn)定的情況下,前驅(qū)可能沒有找到,此時返回null。

        ·publicabstractChordNodegetFinger(intindex);

        獲取當(dāng)前結(jié)點的finger,參數(shù)index是finger本身,可取的范圍是0<=index<=159。finger 0即結(jié)點本身。

        ·publicabstractbooleanisRunning();

        判斷Chord服務(wù)器是否在正運行。若正在運行,返回true,否則返回false。

        ·publicabstractChordNodegetNode();

        獲取當(dāng)前結(jié)點。

        3.2 客戶端API

        一個客戶端可以用ChordClient抽象類來表示,Chord-Client提供基本服務(wù)有兩項,一是向結(jié)點查找,二是向環(huán)發(fā)送UDP數(shù)據(jù)報。

        (1)創(chuàng)建和初始化Chord客戶端:為了使用Chord客戶端提供的服務(wù),首先需要創(chuàng)建ChordClient對象??梢酝ㄟ^調(diào)用ChordClientFactory工廠類的靜態(tài)工廠方法產(chǎn)生,ChordClient創(chuàng)建后,對環(huán)一無所知。需要使用addNode將環(huán)中的一個結(jié)點告訴ChordClient。通過多次調(diào)用addNode加入更多的結(jié)點。

        (2)結(jié)點查找API:

        ·publicabstractFindResultlookup(ChordIdkey,int retryCount,intretryInterval,booleanstickToNode);

        根據(jù)提供的key查找結(jié)點,retryCount為重試次數(shù),retryInterval為兩次重試間隔的毫秒數(shù),stickToNode指明是否只通過列表中的第一個結(jié)點開始查找。如果stickTo-Node為false,每次重試將依次使用列表中的下一次結(jié)點啟動查找。retryCount,retryInterval,stickToNode參數(shù)的含義在所有的ChordClient API中都相同。

        ·publicabstractFindResultlookup(byte[]bytes,intretryCount,intretryInterval,boolean

        根據(jù)提供的字節(jié)數(shù)組查找結(jié)點。ChordClient將自動在字節(jié)數(shù)組上施加SHA-1散列算法,以生成160bit的key。

        (3)向Chord環(huán)發(fā)送UDP數(shù)據(jù)報:ChordClient客戶端提供的第二項基本服務(wù)是向環(huán)發(fā)送UDP數(shù)據(jù)報。Chord Client首先根據(jù)key找到Chord環(huán)中的結(jié)點,然后向該結(jié)點發(fā)送UDP數(shù)據(jù)報。

        ·publicabstractvoidsendUDP(byte[]msg,intretryCount,intretryInterval,booleanstickToNode);

        字節(jié)數(shù)組為要發(fā)送的UDP數(shù)據(jù)報,ChordClient自動在其上施加SHA-1算法以生成160bit的key。該方法是不阻塞的,如果發(fā)送失敗了,客戶將得不到任何提示。

        ·publicabstractbooleanblockSendUDP(byte[]msg,intretryCount,intretryInterval,booleanstickTo-Node);

        這個方法是sendUDP的阻塞版本。如果成功,返回true,否則返回false。這里的成功僅表示結(jié)點已被找到,UDP數(shù)據(jù)報已發(fā)送。并不保證數(shù)據(jù)報被正確接收。

        4 公共工具集

        公共工具集是為在通用平臺的開發(fā)、調(diào)試過程中,所構(gòu)建的公共工具集。

        4.1 Chord Ring Visualizer

        Chord Ring Visualizer(圖4)是一個用于查看Chord環(huán)中每個節(jié)點狀態(tài)的工具,它能夠檢測當(dāng)前環(huán)中的節(jié)點數(shù)、每個節(jié)點的前驅(qū),后繼列表,finger節(jié)點等等??捎^察到節(jié)點的加入退出,鄰居節(jié)點調(diào)整的過程。

        4.2 Benchmark Chord

        Benchmark Chord(圖5)是用于測試Chord環(huán)性能的工具,可用于測試Chord環(huán)的平均查找時間,查找跳數(shù)等參數(shù)。

        5 平臺性能測試

        網(wǎng)絡(luò)測試環(huán)境如圖6所示。 主機(jī) 172.18.7.7~172.18.7.10通過交換機(jī)連接成局域網(wǎng)絡(luò)。我們利用公共工具集完成了通用平臺的功能測試,包括節(jié)點的加入、退出過程中P2P網(wǎng)絡(luò)的穩(wěn)定性測試等。

        圖6 CHORD測試硬件環(huán)境

        在4臺PC上分別運行10個節(jié)點。同時使用Benchmark Chord記錄每秒完成的查找的數(shù)量。由于底層網(wǎng)絡(luò)及節(jié)點處于動態(tài)變化中,瞬間值波動比較大。為了消除瞬間波動帶來的誤差,圖中每個數(shù)據(jù)點代表該點前60s內(nèi)平均每秒完成的查找數(shù)量。在開啟RMI Cache和關(guān)閉RMI Cache兩種情況下,分別做上述實驗,得到如圖7所示結(jié)果。使用RMI Cache后,查找的速度提高了30%左右,性能得到了很大的改善。在節(jié)點數(shù)量進(jìn)一步增加的情況下,節(jié)省的TCP連接數(shù)更多,性能還可進(jìn)一步提高。

        6 結(jié)束語

        圖7 開啟RMI Cache和關(guān)閉RMI Cache通用平臺查找資源次數(shù)對比

        本文提出了一種結(jié)構(gòu)化P2P網(wǎng)絡(luò)支撐平臺參考模型,并在該參考模型的指導(dǎo)下,設(shè)計開發(fā)出一種通用的結(jié)構(gòu)化P2P網(wǎng)絡(luò)支撐平臺,并詳細(xì)介紹了通用平臺的具體設(shè)計及實現(xiàn),詳細(xì)闡述了可提供給第三方進(jìn)行新型應(yīng)用開發(fā)的API函數(shù),同時給出了通用平臺的相關(guān)測試結(jié)果。同非結(jié)構(gòu)化P2P網(wǎng)絡(luò)相比較,結(jié)構(gòu)化P2P網(wǎng)絡(luò)技術(shù)所擁有的強大的可縮放特性,為在廣域網(wǎng)范圍內(nèi)實現(xiàn)海量規(guī)模的資源整合及共享提供了可能性,由于我們在通用平臺中提供了ApplicationServer接口,很容易利用插件開發(fā)的形式完成應(yīng)用層服務(wù)的開發(fā)。本論文的工作對于促進(jìn)基于結(jié)構(gòu)化P2P網(wǎng)絡(luò)的新型應(yīng)用的開發(fā)和推廣有著廣泛的應(yīng)用前景的。

        [1]Chen Zhijia,Zhao Yang.P2Paccelerated mass data distribution over booming internet:Effectiveness and bottlenecks[C]//Montreal,Québec,Canada:Proceedings of the 29th IEEE International Conference on Distributed Computing Systems Workshops,2009:239-244.

        [2]Xiong Naixue,Liu Yuhua,Wu Shishun.An efficient search algorithm without memory for Peer-to-Peer cloud computing networks[C]//Anchorage,Alaska,USA:Proceedings of the IEEE International Symposium on Parallel and Distributed Processing Workshops and PhD Forum,2011:1452-1457.

        [3]Mohsen Sharifi,Seyedeh Leili Mirtaheri.A dynamic framework for integrated management of all types of resources in P2P systems[J].The Journal of Supercomputing,2010,52(2):149-170.

        [4]Pierre Fraigniaud,Philippe Gauron.D2B:A de Bruijn based content-addressable network[J].Theoretical Computer Science,2006,355(1):65-79.

        [5]Maenpaa J,Camarillo G.Study on maintenance operations in a chord-based Peer-to-Peer session initiation protocol overlay network[C]//Rome,Italy:Parallel & Distributed Processing,2009:1-9.

        [6]Guo D,Liu Y,Ki X.Bake:A balanced Kautz tree structure for peer-to-peer networks[C]//Phoenix,AZ,USA:Proc 27th IEEE INFOCOM,2008.

        [7]LIU Ye,LIU Linfeng,ZHUANG Yanyan.An interactive service-oriented P2Pnetworks architecture reference model[J].Engineering Sciences,2007(9):72-77(in Chinese).[劉業(yè),劉林峰,莊艷艷.面向服務(wù)的P2P網(wǎng)絡(luò)體系結(jié)構(gòu)層次參考模型的研究[J].中國工程科學(xué),2007(9):72-77.]

        [8]Joseph D,John D Kubiatowicz.Routing algorithms for DHTs:Some open questions[C]//Cambridge,MA,USA:Electronic Proceedings for the 1st International Workshop on Peerto-Peer Systems,MIT Faculty Club,2002.

        [9]JavaRMI[CP/OL].http://docs.oracle.com/javase/6/docs/technotes/guides/rmi.Jan 2012.

        猜你喜歡
        服務(wù)
        自助取卡服務(wù)
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        高等教育為誰服務(wù):演變與啟示
        招行30年:從“滿意服務(wù)”到“感動服務(wù)”
        商周刊(2017年9期)2017-08-22 02:57:56
        国内人妖一区二区在线播放| 国产香蕉97碰碰视频va碰碰看 | 国产 无码 日韩| 区一区二区三免费观看视频| 国产熟妇疯狂4p交在线播放| 最新国产乱人伦偷精品免费网站| 国产v综合v亚洲欧美大天堂| 视频一区视频二区亚洲| 77777亚洲午夜久久多喷| 国产伦精品一区二区三区| 美女一级毛片免费观看97| 久久国产女同一区二区| 久久久久av综合网成人| 成人激情五月天| 久久婷婷综合色拍亚洲| 成人黄色片久久久大全| 色88久久久久高潮综合影院| 国产精品无码不卡一区二区三区| 国产亚洲欧美另类久久久| 精品老熟女一区二区三区在线| 国产美女精品视频线免费播放软件 | 亚洲综合伊人制服丝袜美腿| 国产精品久久中文字幕亚洲| 校园春色人妻激情高清中文字幕| 国产精品久久久久影院| 国产在线不卡免费播放| 亚洲一区二区三区福利久久蜜桃| 呦系列视频一区二区三区| 色欲麻豆国产福利精品| 日韩美女av二区三区四区| 日本午夜理论片在线观看| 狠狠做深爱婷婷久久综合一区| 国产精彩视频| 亚洲一区二区三区四区精品| 国产美女精品视频线免费播放软件| 欧美做受视频播放| 日韩有码中文字幕av| 久久综合久久美利坚合众国| 国产精品免费久久久久影院仙踪林 | 国产精品伦一区二区三级视频| 亚洲熟妇网|