摘 要:基于行為驅(qū)動(dòng)開(kāi)發(fā)的節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)思想為P2P平臺(tái)相關(guān)模塊編寫節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)用例,開(kāi)發(fā)一套完善的節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)工具系統(tǒng),進(jìn)行接口節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)和集成節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)。對(duì)所涉及和使用到的相關(guān)技術(shù)進(jìn)行分析,深入研究了P2P平臺(tái)的多重網(wǎng)絡(luò)層和中間服務(wù)層的設(shè)計(jì)架構(gòu)和節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)接口,主要實(shí)現(xiàn)了一個(gè)基于MFC的可執(zhí)行節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)工具,提高了分布式網(wǎng)絡(luò)數(shù)據(jù)訪問(wèn)的速度。
關(guān)鍵詞:P2P;分布式;網(wǎng)絡(luò);節(jié)點(diǎn)
中圖分類號(hào):TP393.02
網(wǎng)絡(luò)發(fā)展至今,以B/S或C/S的結(jié)構(gòu)模式為主的集中式網(wǎng)絡(luò),由于受限于需要具有強(qiáng)大處理能力和性能的中央服務(wù)器以及相應(yīng)的服務(wù)器分布式網(wǎng)絡(luò)這樣一個(gè)瓶頸,P2P網(wǎng)絡(luò)、云計(jì)算等技術(shù)開(kāi)始逐漸取代舊的結(jié)構(gòu)模式。對(duì)分布式網(wǎng)絡(luò)進(jìn)行充分的節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)是保證分布式網(wǎng)絡(luò)質(zhì)量的基本手段之一,其中包括充分的手工節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)和自動(dòng)化節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)[1]。
1 CWPP分布式網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)的總體架構(gòu)
CWPP系統(tǒng)基于P2P系統(tǒng)的通用分層結(jié)構(gòu)進(jìn)行了改進(jìn),一般的P2P系統(tǒng)通用分層結(jié)構(gòu)包括通信設(shè)施層、組管理層、穩(wěn)健層、專有層和應(yīng)用層。通信設(shè)施不僅僅包括高速網(wǎng)絡(luò)中的各類設(shè)備,也包含無(wú)線接入設(shè)備等。P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)歸為兩類,一類是圖中內(nèi)圈的超級(jí)節(jié)點(diǎn)SN,另一類是圖中外圈的一般節(jié)點(diǎn)NN,設(shè)A為全體行動(dòng)的集合,VA為行動(dòng)的估計(jì)價(jià)值集合,a1,a2,…,an∈A為當(dāng)前狀態(tài)下可選的行動(dòng), 分別為各行動(dòng)的估計(jì)價(jià)值,本文在分析現(xiàn)有的基于網(wǎng)絡(luò)入侵檢測(cè)的路徑群算法特點(diǎn)的基礎(chǔ)上,將Boltzmann選擇策略引入基于網(wǎng)絡(luò)入侵檢測(cè)的路徑群算法中,提出了對(duì)應(yīng)的估計(jì)價(jià)值,則當(dāng)前狀態(tài)下選擇任一行動(dòng)ak∈﹛a1,a2,…,an﹜的概率為:
(1)
其中,T為節(jié)點(diǎn)數(shù)。由全概率公式可知,∑Ni=1Prob(ak)=1,2,…,n。
2 BDD節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)模型設(shè)計(jì)優(yōu)化
BDD是一種敏捷分布式網(wǎng)絡(luò)開(kāi)發(fā)技術(shù),其重點(diǎn)是通過(guò)與利益相關(guān)者的討論來(lái)取得對(duì)預(yù)期的分布式網(wǎng)絡(luò)行為的清醒認(rèn)識(shí)。BDD是基于節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)驅(qū)動(dòng)開(kāi)發(fā)(TDD)發(fā)展起來(lái)的,將系統(tǒng)的設(shè)計(jì)和節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)用例結(jié)合起來(lái),進(jìn)而驅(qū)動(dòng)開(kāi)發(fā)工作[2]。它采用自然語(yǔ)言書寫非程序員可讀的節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)用例,是對(duì)節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)驅(qū)動(dòng)開(kāi)發(fā)方法的一種擴(kuò)展。
從以上可以看出,BDD包含兩個(gè)很重要理念,一是節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)先行,并且使分布式網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)相關(guān)人員,即使是非技術(shù)人員也能很容易看懂。跟隨路徑選擇節(jié)點(diǎn)源的選擇概率:
T=T0(0.99c-1) (2)
式中,fi為第i個(gè)個(gè)體的適應(yīng)度值,c為循環(huán)次數(shù)序號(hào),T為信息節(jié)點(diǎn),T0為初始信息節(jié)點(diǎn)。
3 P2P平臺(tái)主要節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)模塊優(yōu)化仿真
圍繞著“P2P平臺(tái)節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)工具必須做什么”這個(gè)問(wèn)題,首先我們要明確的是P2P平臺(tái)節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)工具系統(tǒng)CTTS的主要節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)對(duì)象。CTTS主要節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)目標(biāo)是P2P平臺(tái)的Service層和OverlayNetwork層[3],如圖1所示,Service層包括資源發(fā)布和搜索、消息管理、會(huì)話/通道管理等功能模塊,OverlayNetwork層則包括連接機(jī)制管理和消息機(jī)制管理等。
P2P節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)在FSDP相對(duì)VS-SPM算法中有4個(gè)控制參數(shù):節(jié)點(diǎn)源的個(gè)數(shù)=引領(lǐng)路徑的個(gè)數(shù)=跟隨路徑的個(gè)數(shù)(SN),limit,最大循環(huán)次數(shù)MCN,初始信息節(jié)點(diǎn)在SPM A算法中有4個(gè)控制參數(shù):節(jié)點(diǎn)源的個(gè)數(shù)=引領(lǐng)路徑的個(gè)數(shù)=跟隨路徑的個(gè)數(shù)(SN),limit,最大循環(huán)次數(shù)MCN,初始信息節(jié)點(diǎn)T0。
算法流程如下:
步驟1:產(chǎn)生初始解集xij,i=1,2,…,SN,j=1,2,…,d;
步驟2:計(jì)算各個(gè)解xij的適應(yīng)度;
步驟3:置cycle=1(外循環(huán));
步驟4:置s=1(內(nèi)循環(huán));
步驟5:引領(lǐng)路徑根據(jù)公式(3)做鄰域搜索產(chǎn)生新解vij,并且計(jì)算其適應(yīng)度;
vij=xij+Rij(xij-xkj) (3)
步驟6:經(jīng)過(guò)limit次循環(huán)后,判斷是否有丟掉的解,如果存在,則偵察路徑根據(jù)公式(4)產(chǎn)生一個(gè)新解xij代替;
Xii=xjmin+rand(0,1)(xmaxj-xjmin) (4)
步驟7:如果cycle 3.1 P2Ptool開(kāi)發(fā)P2P業(yè)務(wù)組件實(shí)現(xiàn)。在P2P節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)工具中主要的Cell Objects包括Service模塊的CTaNodeController類和OverlayNetwork模塊的CTaOverlayNetwork類,同時(shí)這兩個(gè)類都是CP2PCBaseObject類的派生類,因此在這兩個(gè)類的頭文件當(dāng)中,如下所示,其中CmResult是typedef的long類型,[4] P2P_FUN_DEF_START(CTaNodeController,CP2PCBaseObject); P2P_FUN_DEF_R2(CmResult,SetParameter,const P2PString,const P2PString); P2P_FUN_DEF_R2(P2PValue,GetResult,int,DWORD); P2P_FUN_DEF_R2(CmResult,Register,const P2PString,CWPP_NODE_TYPE); … 將NodeController和Overlaynetwork兩個(gè)Cell Objects組成的業(yè)務(wù)組件添加至P2P的Main Module之中,通過(guò)圖2可以看出,該業(yè)務(wù)組件向上層的C++工具和腳本暴露出了CWPP分布式網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)中Service層和OverlayNetwork層主要的節(jié)點(diǎn)SA、SB數(shù)據(jù)訪問(wèn)接口。 3.2 P2P分布網(wǎng)絡(luò)數(shù)據(jù)信息訪問(wèn)模型實(shí)現(xiàn)。OverlayNetwork層為Service層提供的主要接口就是圖中所示的Join()函數(shù),節(jié)點(diǎn)通過(guò)Service層調(diào)用該函數(shù)向OverlayNetwork層發(fā)送加入P2P網(wǎng)絡(luò)的請(qǐng)求,然后創(chuàng)建實(shí)例CreateInstance()為Service層提供的接口函數(shù)[5]。式子1.1至1.4給出了程序算法的優(yōu)化實(shí)驗(yàn)結(jié)果。結(jié)果表明,通過(guò)FSDP在DSP核之間傳輸共享數(shù)據(jù)相比通過(guò)VS-SPM傳輸具有明顯的性能優(yōu)勢(shì),圖3顯示6組程序的平均性能加速比達(dá)到了1.37。 因此,在OverlayNetwork模塊中設(shè)置了兩個(gè)類來(lái)實(shí)現(xiàn)上述接口,第一個(gè)類是CTaOverlayNetSink類,這個(gè)類繼承至IOverlayNetSink,包含一些回調(diào)函數(shù)OnSearch()等,這些函數(shù)對(duì)應(yīng)著GUI界面的事件處理程序,主要指的是等待加入、離開(kāi)啟動(dòng)連接、連接提示、接收消息、以及關(guān)閉連接這些方法。節(jié)點(diǎn)仿真優(yōu)化如圖5所示: 當(dāng)P2P節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)工具系統(tǒng)集成了P2P后就可以開(kāi)始開(kāi)發(fā)其業(yè)務(wù)組件了,在P2P中需要暴露出來(lái)的對(duì)象我們稱之為Cell Objects,而一個(gè)業(yè)務(wù)組件會(huì)由許多的Cell Objects組成,所以開(kāi)發(fā)業(yè)務(wù)組件我們首先需要開(kāi)發(fā)其Cell Objects,而通常我們用類來(lái)定義Cell Objects,但我們并不采用一般編寫類的代碼方式,而選用P2P的風(fēng)格來(lái)編寫類提高了節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)效率。 4 結(jié)束語(yǔ) P2P節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)工具系統(tǒng)CTTS主要面向的節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)人員包括黑盒節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)人員和白盒節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)人員兩類,黑盒節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)人員通過(guò)節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)工具的UI客戶端,主要觀察節(jié)點(diǎn)數(shù)據(jù)訪問(wèn)工具運(yùn)行的日志信息和代碼跟蹤信息,保證程序運(yùn)行質(zhì)量;通過(guò)對(duì)P2P網(wǎng)絡(luò)數(shù)據(jù)信息的控制,對(duì)不同服務(wù)層的事件程序進(jìn)行處理,提高了網(wǎng)絡(luò)數(shù)據(jù)信息訪問(wèn)速度。 參考文獻(xiàn): [1]孫知信,張震偉,宮婧.P2P安全重疊網(wǎng)絡(luò)模型研究[J].通信學(xué)報(bào),2012(05):18-19. [2]馬文華.面向P2P信任網(wǎng)絡(luò)模型優(yōu)化[J].計(jì)算機(jī)應(yīng)用,2013(07):51-52. [3]曾濤.P2P軟件的前景與網(wǎng)絡(luò)管理的困境[J].科技資訊,2012(18):12-13. [4]黃煙波,余鷹.基于移動(dòng)代理的分布式網(wǎng)絡(luò)管理系統(tǒng)的研究[J].微計(jì)算機(jī)信息,2013(33):16-17. [5]沈明達(dá),郎昕培,沈曾偉.一種分布式網(wǎng)絡(luò)管理系統(tǒng)結(jié)構(gòu)[J].計(jì)算機(jī)應(yīng)用研究,2013(01):21-22. 作者簡(jiǎn)介:王遠(yuǎn)亮(1982-),男,江蘇連云港人,博士,研究方向:無(wú)線通信、網(wǎng)絡(luò)通信;葛建華(1961-),男,江蘇南通人,教授,博士生導(dǎo)師,研究方向:移動(dòng)通信系統(tǒng)中的無(wú)線傳輸技術(shù)、MIMO-OFDM系統(tǒng)和數(shù)字電視。 作者單位:西安電子科技大學(xué) 綜合業(yè)務(wù)網(wǎng)理論及關(guān)鍵技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,西安 710071