當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 金融OA管理系統(tǒng) > 軟件產(chǎn)品 > P2P借貸管理系統(tǒng)
對(duì)P2P應(yīng)用程序開發(fā)框架的研究
申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114
1概述
P2P應(yīng)用程序以一種分布的方式管理和組織位于互聯(lián)網(wǎng)邊緣的各種資源。位于互聯(lián)網(wǎng)邊緣的通常都是一些聯(lián)網(wǎng)的普通PC。在傳統(tǒng)的C/S網(wǎng)絡(luò)模式下,普通PC作為客戶端,通過(guò)向位于Intemet中的各種服務(wù)器發(fā)送請(qǐng)求來(lái)完成一些任務(wù)。相反在P2P模式下,普通PC直接與互聯(lián)網(wǎng)中成千上萬(wàn)臺(tái)計(jì)算機(jī)相連,實(shí)現(xiàn)信息和數(shù)據(jù)的共享。因?yàn)榕c用戶計(jì)算機(jī)相連的各種計(jì)算機(jī)資源的聯(lián)網(wǎng)狀態(tài)是不穩(wěn)定的,所以P2P協(xié)議被設(shè)計(jì)為可以在不穩(wěn)定的聯(lián)網(wǎng)和動(dòng)態(tài)的 地址的情況下實(shí)現(xiàn)網(wǎng)絡(luò)操作的一種通訊規(guī)則。
P2P應(yīng)用程序的開發(fā)要比C/s應(yīng)用程序的開發(fā)復(fù)雜一些。在P2P系統(tǒng)中,所有的計(jì)算機(jī)(節(jié)點(diǎn))都運(yùn)行相同的程序。開發(fā)P2P應(yīng)用程序要解決如下一些問(wèn)題:
(1)聯(lián)通性:如何找到和連接其他的P2P節(jié)點(diǎn),這些節(jié)點(diǎn)通常不具有固定IP;(2)消息路由:消息如何從一個(gè)節(jié)點(diǎn)路由到另一個(gè)節(jié)點(diǎn),源節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)之間互相都不知道對(duì)方的位置;(3)搜索:如何從網(wǎng)絡(luò)節(jié)點(diǎn)中找到需要的信息;(4)安全:在這方面存在很多的問(wèn)題,包括節(jié)點(diǎn)如何信任其它節(jié)點(diǎn)等。
本文將會(huì)針對(duì)開發(fā)P2P應(yīng)用程序的相關(guān)問(wèn)題提出一個(gè)簡(jiǎn)單的P2P應(yīng)用程序開發(fā)框架。
2 P2P應(yīng)用程序開發(fā)框架基本結(jié)構(gòu)
該P(yáng)2P應(yīng)用程序開發(fā)框架的基本結(jié)構(gòu)如圖1所示,在該圖中也演示了網(wǎng)絡(luò)節(jié)點(diǎn)之間相互通訊的全部過(guò)程。
在節(jié)點(diǎn)中運(yùn)行的P2P應(yīng)用程序向用戶提供了一個(gè)界面,并且運(yùn)行了一個(gè)用于監(jiān)聽(tīng)從其它節(jié)點(diǎn)發(fā)來(lái)的連接請(qǐng)求的主循環(huán)。用戶可以單擊節(jié)點(diǎn)A圖形界面中的一個(gè)按鈕(比如搜索按鈕),與該按鈕相關(guān)的程序就會(huì)向節(jié)點(diǎn)B發(fā)出“Query“消息,請(qǐng)求與節(jié)點(diǎn)B建立連接。節(jié)點(diǎn)B的主循環(huán)檢測(cè)到節(jié)點(diǎn)A發(fā)出的連接請(qǐng)求后,會(huì)啟動(dòng)一個(gè)單獨(dú)的線程來(lái)處理這個(gè)請(qǐng)求。一旦節(jié)點(diǎn)A與節(jié)點(diǎn)B建立了連接,節(jié)點(diǎn)A就會(huì)向節(jié)點(diǎn)B發(fā)送包含了真正要處理數(shù)據(jù)的消息,節(jié)點(diǎn)B中的相應(yīng)線程就會(huì)接收消息并向節(jié)點(diǎn)A發(fā)出回復(fù),然后關(guān)閉與節(jié)點(diǎn)A的連接,再根據(jù)節(jié)點(diǎn)A發(fā)送給自己的消息類型,調(diào)用相應(yīng)的消息處理函數(shù)處理該消息。處理完消息中包含的數(shù)據(jù)之后,節(jié)點(diǎn)B會(huì)主動(dòng)連接節(jié)點(diǎn)A,并向節(jié)點(diǎn)A發(fā)出“Query Response”的消息。
3核心模塊
上述P2P節(jié)點(diǎn)之間的數(shù)據(jù)通訊功能是基于一個(gè)簡(jiǎn)單的開發(fā)框架實(shí)現(xiàn)的,該框架中包括除用戶界面之外的兩個(gè)重要的功能模塊。
3.1節(jié)點(diǎn)模塊
節(jié)點(diǎn)模塊管理著網(wǎng)絡(luò)節(jié)點(diǎn)的全部操作功能。該模塊包含一個(gè)用于監(jiān)聽(tīng)連接請(qǐng)求和啟動(dòng)消息處理線程的主循環(huán)。借助該框架進(jìn)行P2P應(yīng)用開發(fā)的程序員可以在節(jié)點(diǎn)模塊中注冊(cè)新的消息處理句柄(函數(shù)或方法),該模塊中的主循環(huán)會(huì)根據(jù)節(jié)點(diǎn)接收到的消息類型分配相應(yīng)的消息處理句柄進(jìn)行消息的處理。一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)啟動(dòng)初始化時(shí)會(huì)提供一個(gè)監(jiān)聽(tīng)連接請(qǐng)求的端口,一個(gè)IP地址以及一個(gè)節(jié)點(diǎn)標(biāo)識(shí)符。
節(jié)點(diǎn)模塊也維護(hù)著一個(gè)已知節(jié)點(diǎn)列表,該列表的大小是有限制的,節(jié)點(diǎn)可以通過(guò)標(biāo)識(shí)符或者在列表中的順序位置來(lái)訪問(wèn)這些已知節(jié)點(diǎn)。
除了存儲(chǔ)各種不同類型消息的處理句柄之外,節(jié)點(diǎn)模塊還存儲(chǔ)了程序員編寫的用來(lái)決定如何路由消息的函數(shù)。節(jié)點(diǎn)模塊也能以固定間隔允許固定的操作程序。
3.2節(jié)點(diǎn)連接模塊
節(jié)點(diǎn)連接模塊封裝了用于連接其它節(jié)點(diǎn)的套接字。該框架使用TCP/IP協(xié)議在節(jié)點(diǎn)之間進(jìn)行通訊。節(jié)點(diǎn)連接模塊提供了可以讓程序員非常容易發(fā)送和接收消息的各種方法,這些方法保證了消息的編碼格式的正確。另外,節(jié)點(diǎn)連接模塊也可以偵測(cè)到P2P數(shù)據(jù)傳輸過(guò)程中出現(xiàn)的各種錯(cuò)誤。
該框架中定義的消息包含一個(gè)8字節(jié)長(zhǎng)度的消息頭,該消息頭中有4個(gè)字節(jié)用來(lái)存放消息的類型標(biāo)識(shí),另外4字節(jié)用來(lái)存放一個(gè)表示消息中數(shù)據(jù)長(zhǎng)度的整數(shù)。4字節(jié)的消息類型標(biāo)識(shí)可以被看作是字符串。因此,程序員可以用自定義的長(zhǎng)度為4-T-節(jié)的字符串來(lái)標(biāo)識(shí)各種不同的消息類型。當(dāng)節(jié)點(diǎn)中的主循環(huán)接收到消息后,它就會(huì)根據(jù)消息類型將消息分配給正確的處理句柄。消息句柄是一個(gè)可以接收節(jié)點(diǎn)連接模塊對(duì)象引用和消息類型的函數(shù),句柄可以根據(jù)消息類型被注冊(cè)。目前,該框架被設(shè)計(jì)為一個(gè)消息僅對(duì)應(yīng)一個(gè)句柄對(duì)象的1:1模式。當(dāng)節(jié)點(diǎn)模塊接收到一個(gè)連接請(qǐng)求時(shí),它就會(huì)建立一個(gè)節(jié)點(diǎn)連接模塊對(duì)象,該對(duì)象讀取其它節(jié)點(diǎn)發(fā)來(lái)的消息類型,啟動(dòng)一個(gè)線程處理消息中的數(shù)據(jù),當(dāng)消息句柄完成它的任務(wù)后,節(jié)點(diǎn)連接自動(dòng)關(guān)閉。
4結(jié)語(yǔ)
P2P應(yīng)用程序的開發(fā)難度較大,借助于框架技術(shù)可以大大簡(jiǎn)化開發(fā)過(guò)程,提高開發(fā)效率。本文提出的這個(gè)簡(jiǎn)單的開發(fā)框架對(duì)P2P應(yīng)用程序的開發(fā)起到了一定的改進(jìn)作用。
- 1P2P借貸管理系統(tǒng)主要涉及“三個(gè)層次”和“一個(gè)疑問(wèn)”
- 2基金業(yè)切勿“急功近利”
- 3投資人對(duì)P2P平臺(tái)的期望
- 4互聯(lián)網(wǎng)金融面臨的幾重風(fēng)險(xiǎn)
- 5P2P二級(jí)市場(chǎng)“胎動(dòng)” 國(guó)家隊(duì)或有意進(jìn)入
- 6泛普P2P系統(tǒng)教您正確認(rèn)知網(wǎng)貸 讓網(wǎng)貸幫您積累財(cái)富
- 7P2P網(wǎng)貸監(jiān)管:要?jiǎng)?chuàng)新也要慎重
- 8債權(quán)“大戶”變身新平臺(tái)股東 盛融在線重組自救
- 9助銷流程、助貸流程、輔導(dǎo)上市流程、貸后管理流程
- 10十大貸款模型助你判斷網(wǎng)貸平臺(tái)未來(lái)發(fā)展趨勢(shì)
- 11網(wǎng)絡(luò)借貸面臨多重風(fēng)險(xiǎn)
- 12P2P第三方交易平臺(tái)推投資人全額補(bǔ)償保障計(jì)劃
- 13有關(guān)P2P監(jiān)管的問(wèn)題:預(yù)防跑路有三大難題
- 14央行指出互聯(lián)網(wǎng)金融底線正進(jìn)行調(diào)研
- 15P2P網(wǎng)絡(luò)借貸監(jiān)管建議和發(fā)展趨勢(shì)
- 16五大特征讓你分秒識(shí)別P2P網(wǎng)貸問(wèn)題平臺(tái)
- 17P2P借貸管理系統(tǒng)一個(gè)新生代互聯(lián)網(wǎng)金融理財(cái)產(chǎn)品
- 18銀聯(lián)封殺令考驗(yàn)監(jiān)管智慧
- 19網(wǎng)貸和傳統(tǒng)投資對(duì)比
- 20P2P平臺(tái)應(yīng)把控好隱形成本 盲目或擾亂互聯(lián)網(wǎng)金融局勢(shì)
- 21國(guó)內(nèi)股權(quán)眾籌發(fā)展現(xiàn)狀研究
- 22P2PP2P借貸管理行業(yè)視保險(xiǎn)為“兵家下一個(gè)必爭(zhēng)之地”
- 23P2P網(wǎng)貸對(duì)金融業(yè)發(fā)展的影響
- 24網(wǎng)上貸款條件有哪些?
- 25門戶之父陳彤加盟小米 或幫雷軍在P2P領(lǐng)域建立“門戶”
- 26唯品會(huì)攜程搜房網(wǎng)突破地域限制涉足小貸公司
- 27元旦過(guò)后銀行借款優(yōu)惠額度下調(diào)明顯
- 28投資者如何選擇安全的p2p網(wǎng)貸系統(tǒng)平臺(tái)呢?
- 29未來(lái)P2P借貸管理系統(tǒng)平臺(tái)對(duì)資本的依賴將加深嗎?
- 30京東籌建P2P金融交易平臺(tái):已開始網(wǎng)羅人才
成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓