新四季網

解決p2p應用問題的方法

2023-04-27 09:08:46

專利名稱:解決p2p應用問題的方法
技術領域:
本發明涉及網際網路、P2P、網關設備等領域,尤其涉及解決P2P應用問題的一套方法。
背景技術:
P2P是英文Peer to Peer的縮寫,是點到點的意思。P2P應用是網絡應用的一種,就是在網絡上的任意一臺計算機同時充當接受服務的客戶端和提供服務的伺服器端的雙重角色。P2P應用相對原來的CS(Client-Server,客戶端-伺服器)結構主要解決兩個問題伺服器性能問題和伺服器帶寬問題。隨著客戶端的數量的增加,影響客戶端效率的瓶頸是伺服器的性能和帶寬,而不是客戶端自己的性能和帶寬。使用P2P技術,可以分散伺服器的性能和帶寬需求,是網絡應用不再成為瓶頸。
以P2P下載為例,見附圖1,客戶端90從索引伺服器10處得到信息所需要下載的文件位於客戶端20上,於是客戶端90從客戶端20上下載該文件,並隨時通知索引伺服器10它的下載進度,這時,如果客戶端100又要下載同樣的文件,它就會從索引伺服器10上得到信息它所希望下載的文件在客戶端20和90上都有,這樣客戶端100就會同時從這兩臺計算機上下載(當然是不同的部分)。可以想像,當客戶端需要下載一個文件時發現網上有多臺計算機擁有該文件,將下載任務分到這多臺計算機上,這樣就同時解決了伺服器性能問題和伺服器帶寬問題,下載速度就會提高。
隨著P2P應用的發展,也帶來了負面的影響。負面影響是由於一些實際存在的問題導致的。
首先,由於大量的用戶存在於網關(使用NAT的路由器、防火牆等)後面,而網關不允許網際網路對內部網絡的訪問,這樣外部用戶就無法請求這些內部用戶提供服務,反過來說,這些內部用戶成為P2P應用的不公平者,只接受服務、不提供服務。目前內網計算機可以通過主動發起提供服務請求的方法給網際網路上的非內部計算機提供服務,但無法做到內部網計算機給另一個內部網計算機提供服務。
其次,由於這些內部用戶無法提供服務,就導致了即使是在同一內網的用戶,為了取得相同的數據,也必須單獨地從網際網路上其他服務提供者處取得數據,這樣就無效地佔用了這個內網的出口的帶寬(同樣的數據請求多遍)。同時還導致了網際網路上服務提供者負荷的加重。
第三,P2P服務需要數據擁有者開機才能提供服務,如果數據擁有者下載完成後就關機,那麼它就無法繼續提供服務(只是在它下載的同時提供了已下載部分的服務),這樣也降低了P2P的應用效果。
P2P應用的問題導致了對網際網路應用的負面影響,進而導致電信運營商、網關管理員對P2P應用產生反感和牴觸,經常有寬帶社區的管理員封殺P2P應用,甚至曾有傳聞電信運營商要封殺P2P應用。這樣的態勢影響了P2P應用的發展。
解決內部網P2P節點無法對外提供服務的問題,目前有一種方案是使用uPnP協議,這樣可以動態地生成服務埠。但這個方案存在若干問題一是大部分網關設備沒有提供或沒有開啟uPnP協議,二是這個方案沒有解決帶寬無效佔用的問題,三是這個方案沒有解決內部共享的問題,所有共享要通過網關設備。

發明內容
本發明就是要解決上述P2P應用中存在的三個主要問題內網用戶無法對外提供服務,佔用大量網絡帶寬,P2P節點關機導致數量不足。本發明的方法包括三部分讓網關設備也作為P2P的一個節點,兩種P2P應用內部共享的方法。
內部網絡的計算機要連接網際網路,必然要經過一個網關設備,這個網關設備一般是路由器或防火牆。一般的網關設備是沒有硬碟這種大容量存儲部件的,我們將在網關設備中增加硬碟,並增加必須的應用程式。內部計算機在請求P2P服務時,網關可以發現它要請求的數據,先行從所有存在該請求數據的計算機上請求該數據,並通知索引伺服器,內部計算機的P2P請求被網關設備截收,網關設備冒充索引伺服器向內部計算機應答你請求的數據只有我網關設備有。這樣內部計算機就只會從網關設備上取得數據。當同一內部網絡中,同時又有另一臺計算機請求相同的數據時,它也將從網關設備上取得數據(下面要提到,它還將從先前已取得數據的計算機上取得數據)。不管內部有多少臺計算機請求數據,出口信道上只有網關設備請求P2P服務這一個請求設備,從而避免了內部計算機重複請求、無效佔用帶寬的問題。
該網關設備成為P2P一個應用節點後,不僅可以給內部計算機提供數據,也可以給網際網路上其他計算機提供數據,也就是說增加了網際網路上可提供服務的計算機的數量,分散了性能和帶寬要求。
網關設備將同時擔任內部索引伺服器的角色,當內部第二臺計算機請求相同的數據時,將通知該計算機從網關和第一臺計算機上取得數據,以降低對網關設備的性能和帶寬要求。這是第一種情況的內部共享。
目前的P2P應用中,索引伺服器只知道與它連接的P2P節點的IP(可能是網關的IP),不知道該節點的真正IP(內部保留IP),因此我們的解決方法為每個P2P節點應同時提供自己的真正IP和到索引伺服器的路由信息,這樣索引伺服器的數據就包括網絡出口IP、網絡內部計算機IP和從客戶機到索引伺服器的整個路由,當一個P2P節點在索引伺服器上發現和自己網絡出口IP相同的計算機時,就知道是和自己在同一內部網中,可以通過網絡內部計算機IP向該機發出P2P請求,這樣實現了第二種情況的內部共享。
當一個內部網絡沒有使用我們改進的網關設備、而裡面的計算機使用了第二種情況的內部共享時,也可以大大降低整個網絡出口的帶寬需求(雖然不如上述網關處理方法降低徹底),因為它直接發現了離它最近、帶寬最大(內部網絡一般是100M以上的連接)的服務提供者。
由於網關設備是永久開機的,因此避免了一般用戶計算機關機的問題,經它下載的數據將一直保存在網關設備的硬碟上,一直對網際網路和內部用戶提供服務,直到硬碟充滿、該數據成為最早的或最長時間無人請求的數據被丟掉為止。
由於上述解決方案會大大降低出口帶寬佔用,因此網關管理員會很樂意接受,這樣就在網際網路上增加了許多永久開機的P2P節點,進一步分散了對服務提供者性能和帶寬的要求。這樣的良性循環可以是P2P應用走出受運營商、網關管理員排斥的境地,走向良性發展的方向。
本發明中不討論前面提到的已有技術內部節點主動發起服務請求給外部節點共享和使用uPnP協議的解決方案,這兩個方案可以局部解決問題,和本發明的方案一起可以全面解決P2P應用中存在的問題。
經過這樣改進的P2P應用環境將最大限度地發揮P2P應用的優勢而將負面影響降到最低。


圖1是一般P2P的應用示意圖。利用現有的P2P技術,兩個內部網中的所有P2P節點可以接受外部節點20的服務,同時使用內部網計算機主動發起服務請求的方法,所有內部P2P節點也可以給外部P2P節點提供服務,但內部網P2P節點之間無法提供服務,例如P2P節點50和60之間無法共享數據、P2P節點50和70之間也無法共享數據。這將會導致所有節點都請求P2P節點20的服務時,對節點20的負荷增加、帶寬佔用都比較大,同時內部網出口帶寬也被無效佔用。
圖2是本發明解決方法的示意圖,網關作為P2P的一個節點可向網際網路和內部網提供數據,同時內部網間也共享數據。
圖3是本發明解決方法的處理步驟流程圖,具體流程解釋見「處理步驟」。
具體實施例方式
具體實施方式
上,我們將從網關設備、索引伺服器、P2P節點軟體三處著手改進整個P2P應用環境。
在網關設備上,需要1)增加硬碟用於保存P2P數據2)增加P2P協議截收和代理程序,截收內部計算機的P2P請求,向索引伺服器請求P2P服務,從P2P服務提供機上取得數據,冒充索引伺服器向內部計算機提供僅包括網關和內部計算機的索引數據,讓請求的內部計算機從網關設備和內部其他計算機上取得數據。
在P2P節點軟體中,在向索引伺服器申請服務時,需要同時提供自己的真實IP和路由跟蹤信息。之所以要提供路由跟蹤信息,是考慮從內部計算機到網際網路存在多次地址轉換(NAT)的可能,這時其他計算機可以根據路由跟蹤信息判斷是否有計算機與自己處於同一內部網或者服務提供方處於自己內部網外面。
在索引伺服器上,要記錄每臺P2P節點計算機的IP位址(可能是網關的IP)、真實IP位址(可能是內部保留IP)甚至從P2P節點計算機到索引伺服器的路由跟蹤信息,並在其他P2P節點請求服務時提供這些完整的信息,讓P2P節點判斷網絡拓撲結構、向所有能請求的服務提供者請求服務。
參考下面的處理步驟可以看出,實際上本發明的解決方法為P2P節點向索引伺服器提供路由跟蹤數據和真實IP,使其他計算機能夠得到該P2P節點的詳細拓撲位置,儘可能利用可利用的P2P節點;網關設備作為一個截收代理設備,在不同內網之間無法共享數據時,充當一個中間人的角色,這樣不僅可以實現不同內網間的數據共享,也可以降低網絡流量節省帶寬。
處理步驟現在分三種情況說明處理步驟。
第一種情況為內部其他計算機和其他內部網都不存在要請求的數據,只有網際網路上的P2P節點存在第1步要請求數據的P2P節點50向索引伺服器10發出P2P索引請求,實際被網關30截收;第2步網關30以自己的名義向索引伺服器10發出P2P索引請求;第3步索引伺服器10應答網關30索引數據,告訴它P2P節點20擁有它需要的數據;第4步網關30向P2P節點20發起數據請求;第5步P2P節點20應答網關30它所需要的數據;第6步網關30以修改過的數據應答P2P節點50,告訴它它所需要的數據只有網關30有第7步P2P節點50向網關30發起數據請求;第8步網關30將從P2P節點20處得到並緩存的數據提供給P2P節點50。
第二種情況為如果P2P節點60曾經請求過相同的數據,網關30和P2P節點60可能存在部分P2P節點50需要的數據第1步要請求數據的P2P節點50向索引伺服器10發出P2P索引請求,實際被網關30截收;第2步網關30以自己的名義向索引伺服器10發出P2P索引請求;第3步索引伺服器10應答網關30索引數據,告訴它P2P節點20和網關30都擁有它需要的數據;第4步網關30向P2P節點20發起數據請求;第5步P2P節點20應答網關30它所需要的數據;第6步網關30以修改過的數據應答P2P節點50,告訴它網關30和P2P節點60有它所需要的數據第7步P2P節點50向網關30發起數據請求;第8步網關30將從P2P節點20處得到並緩存的數據提供給P2P節點50。
第9步實際和第7步是同時的,P2P節點50向P2P節點60發起數據請求;第10步實際和第8步是同時的,P2P節點60將自己緩存的數據提供給P2P節點50。
第三種情況為,如果另一個內部網(P2P節點70所在的內部網)有計算機曾經請求過相同的數據,則在網關40上也可能存在部分數據。
第1步要請求數據的P2P節點50向索引伺服器10發出P2P索引請求,實際被網關30截收;第2步網關30以自己的名義向索引伺服器10發出P2P索引請求;
第3步索引伺服器10應答網關30索引數據,告訴它P2P節點20、網關30和網關40都擁有它需要的數據;第4步網關30向P2P節點20發起數據請求;第5步P2P節點20應答網關30它所需要的數據;第6步網關30以修改過的數據應答P2P節點50,告訴它網關30和P2P節點60有它所需要的數據第7步P2P節點50向網關30發起數據請求;第8步網關30將從P2P節點20處得到並緩存的數據提供給P2P節點50。
第9步實際和第7步是同時的,P2P節點50向P2P節點60發起數據請求;第10步實際和第8步是同時的,P2P節點60將自己緩存的數據提供給P2P節點50。
第9步實際和第4步是同時的,網關30向網關40發起數據請求;第10步實際和第5步是同時的,網關40將自己緩存的數據提供給網關30。
當然,以上所述僅是本發明的優選實施方式,應當指出,對於本領域的普通技術人員來說,在不脫離本發明技術原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。
權利要求
1.一種解決P2P應用問題的方法,其特徵在於網關設備截收內部計算機發出的P2P索引請求,以網關設備自身的名義向P2P索引伺服器發出請求並依據索引伺服器應答的數據請求P2P數據,使網關設備自己成為一個P2P節點和對內的索引伺服器,可以對網際網路和內部計算機提供服務。
2.一種解決P2P應用問題的方法,其特徵在於P2P節點軟體向索引伺服器發送請求和擁有數據的信息時,要提供自己的真實IP和路由跟蹤信息,加上索引伺服器當時連接的IP位址,形成了整個從P2P節點到索引伺服器的路由結構。
3.一種解決P2P應用問題的方法,其特徵在於索引伺服器保存P2P節點到自己的詳細路由信息,並在其他P2P節點請求服務時提供,使請求服務的P2P節點能分析出所有保存有它請求數據、能給自己提供服務的P2P節點。
4.根據權利要求1所述解決P2P應用問題的方法,其特徵在於在普通網關設備基礎上增加硬碟作為保存數據的介質。
5.根據權利要求1所述解決P2P應用問題的方法,其特徵在於在網關設備中增加P2P截收代理軟體和索引信息修改軟體,網關設備將冒充索引伺服器向內部計算機響應索引數據,或修改索引伺服器的響應數據,使外部的P2P節點不出現在響應中,只有內部計算機和網關設備才出現在索引數據中。
全文摘要
本發明解決P2P應用問題的方法,主要為了解決P2P應用中存在的三個主要問題(1)P2P應用佔用了大量的網絡帶寬,因此經常被電信運營商和網關管理員禁止;(2)大量的內網用戶無法對外共享資源,導致P2P應用的優勢無法盡數發揮;(3)許多計算機請求P2P服務完成後會很快關機,導致P2P服務提供者數量降低。本發明使用網關截收代理的方法和兩種內網共享的方法解決上述3個問題。將網關設備改進為一個P2P代理節點,由於網關設備一般是永久開機,因此解決了上述第(3)個問題。網關設備作為整個內部網的代理對外提供服務,這樣就解決了上述(2)的問題。網關設備向內部網計算機提供服務,實現內部共享,這樣就沒有冗餘數據充塞出口帶寬,降低了網絡帶寬,解決了第(1)個問題。改進了P2P節點的軟體和索引伺服器的軟體間的握手通信數據,取得了內部網間共享數據的可能。
文檔編號H04L12/66GK1901540SQ20051020076
公開日2007年1月24日 申請日期2005年12月2日 優先權日2005年12月2日
發明者陳勇 申請人:陳勇

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀