專利名稱:一種對等網(wǎng)絡系統(tǒng)及實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對等網(wǎng)絡(Peer To Peer Network,以下簡稱P2P)技術(shù)領(lǐng)域,尤其涉及P2P網(wǎng)絡的內(nèi)容部署和內(nèi)容路由問題的實現(xiàn)方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)絡和寬帶接入網(wǎng)絡的迅速發(fā)展,P2P技術(shù)得到了大量的應用和研究,特別是基于分布式散列表(Distributed Hash Table,以下簡稱DHT)和覆蓋網(wǎng)絡(Overlay Network)的第二代P2P網(wǎng)絡得到業(yè)界的重視。但是,現(xiàn)有的這種P2P網(wǎng)絡存在著幾個比較嚴重的問題,阻礙它進入大規(guī)模的商業(yè)應用。這些問題是(1)覆蓋網(wǎng)絡是一個邏輯虛擬網(wǎng)絡,與實際網(wǎng)絡不匹配,從而嚴重影響了內(nèi)容路由響應性能;(2)就近服務問題,由于散列表把用戶ID和內(nèi)容ID均勻散列到全網(wǎng),使得用戶的服務不是按照實際網(wǎng)絡的就近原則進行,既造成了跨區(qū)流量過大問題,也降低了用戶服務質(zhì)量;(3)熱點問題,即當某個內(nèi)容熱度很高時,在網(wǎng)絡中的拷貝數(shù)就會非常多,但按照DHT原理其內(nèi)容存儲索引會被導向于某幾個Peer進行存取,從而造成熱點問題;(4)由于管理索引信息和媒體信息都是存儲于用戶客戶端,因此,在線用戶較少時,很多媒體內(nèi)容不能保證提供服務,影響商業(yè)應用。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種可伸縮可運營的P2P網(wǎng)絡系統(tǒng)及實現(xiàn)方法。
為解決上述技術(shù)問題,本發(fā)明是通過以下技術(shù)方案實現(xiàn)的一種對等網(wǎng)絡系統(tǒng),包括局端網(wǎng)絡和分區(qū)網(wǎng)絡;所述局端網(wǎng)絡為所有局端節(jié)點構(gòu)成的對等子網(wǎng)絡;所述分區(qū)網(wǎng)絡為指定局端節(jié)點和用戶節(jié)點構(gòu)成的對等子網(wǎng)絡;所述局端節(jié)點同時作為局端網(wǎng)絡和分區(qū)網(wǎng)絡的節(jié)點,用于維護兩個網(wǎng)絡的路由信息和內(nèi)容存儲索引信息;所述用戶節(jié)點作為分區(qū)網(wǎng)絡的節(jié)點,用于維護分區(qū)網(wǎng)絡的路由信息和內(nèi)容存儲索引信息。
一種對等網(wǎng)絡的實現(xiàn)方法,包括以下步驟a選擇一個局端節(jié)點進行內(nèi)容加載,并在該局端節(jié)點所在的分區(qū)網(wǎng)絡和局端網(wǎng)絡進行發(fā)布;b當對內(nèi)容查詢時,先在本地分區(qū)網(wǎng)絡中查詢與內(nèi)容相符的節(jié)點,若查到,則直接得到內(nèi)容存儲列表;否則,進入步驟c;c在局端網(wǎng)絡中查詢與內(nèi)容相符的節(jié)點,若查到,則根據(jù)得到的分區(qū)信息轉(zhuǎn)到相應的分區(qū)網(wǎng)絡進行查詢;否則,結(jié)束。
其中,步驟a之后還包括,當已發(fā)布的內(nèi)容在某個分區(qū)增加第一個拷貝時,則需在該分區(qū)網(wǎng)絡和局端網(wǎng)絡同時進行發(fā)布;當已發(fā)布的內(nèi)容繼續(xù)增加后續(xù)拷貝時,則需在該分區(qū)網(wǎng)絡進行發(fā)布。
本發(fā)明具有如下有益效果本發(fā)明中局端節(jié)點同時作為局端網(wǎng)絡和分區(qū)網(wǎng)絡的節(jié)點,同時維護兩個網(wǎng)絡的路由信息和內(nèi)容存儲索引信息。用戶節(jié)點則只作為分區(qū)網(wǎng)絡的節(jié)點,只維護分區(qū)網(wǎng)絡的路由信息和內(nèi)容存儲索引信息。局端網(wǎng)絡節(jié)點的存儲索引信息只表示哪些分區(qū)網(wǎng)絡存有某個內(nèi)容,而分區(qū)節(jié)點的存儲信息則表示具體該分區(qū)內(nèi)哪些節(jié)點存儲了某個內(nèi)容。這種兩級索引結(jié)構(gòu),一方面使得熱點內(nèi)容的查詢得以分散到各個分區(qū)進行,另一方面也有利于就近查詢到各內(nèi)容存儲節(jié)點,就近提供服務。
同時,每個上線的內(nèi)容都在一個局端節(jié)點存有一個正本,確保了每個上線內(nèi)容的可得性,提高了用戶的服務質(zhì)量,促進大規(guī)模的商業(yè)應用。
圖1為網(wǎng)絡劃分示意圖;圖2為局端節(jié)點的存儲信息示意圖;圖3為用戶節(jié)點的存儲信息示意圖;圖4為本發(fā)明新內(nèi)容加載流程圖;圖5為本發(fā)明內(nèi)容拷貝增加流程圖;圖6為本發(fā)明內(nèi)容查詢流程圖。
具體實施例方式
本發(fā)明中,整個P2P網(wǎng)絡由兩種類型節(jié)點組成,一是經(jīng)常在線的局端節(jié)點(簡稱局端節(jié)點),二是非經(jīng)常在線的用戶端節(jié)點(簡稱用戶節(jié)點)。局端節(jié)點具備較強的媒體存儲能力和媒體服務能力。由局端節(jié)點和用戶節(jié)點一起構(gòu)成一個大的P2P網(wǎng)絡(簡稱全網(wǎng)絡)。每個局端節(jié)點和用戶節(jié)點都隨機分配一個ID編號,同時按照物理位置給節(jié)點分配一個分區(qū)號。內(nèi)容ID編號與節(jié)點ID編號長度相等,內(nèi)容編號隨機產(chǎn)生。這樣,通過對節(jié)點的分區(qū)號和節(jié)點類型的限定分割出以下幾種子P2P網(wǎng)絡空間。具體如下全網(wǎng)絡由所有局端節(jié)點和用戶節(jié)點一起構(gòu)成一個大的P2P網(wǎng)絡;局端網(wǎng)絡由所有局端節(jié)點構(gòu)成的P2P子網(wǎng)絡;分區(qū)網(wǎng)絡指定分區(qū)號包括局端節(jié)點和用戶節(jié)點的P2P子網(wǎng)絡;局端節(jié)點同時作為局端網(wǎng)絡和分區(qū)網(wǎng)絡的節(jié)點,同時維護兩個網(wǎng)絡的路由信息和內(nèi)容存儲索引信息。用戶節(jié)點則只作為分區(qū)網(wǎng)絡的節(jié)點,只維護分區(qū)網(wǎng)絡的路由信息和內(nèi)容存儲索引信息。局端網(wǎng)絡節(jié)點的存儲索引信息只表示哪些分區(qū)網(wǎng)絡存有某個內(nèi)容,而分區(qū)節(jié)點的存儲信息則表示具體該分區(qū)內(nèi)哪些節(jié)點存儲了某個內(nèi)容。這種兩級索引結(jié)構(gòu),一方面使得熱點內(nèi)容的查詢得以分散到各個分區(qū)進行,另一方面也有利于就近查詢到各內(nèi)容存儲節(jié)點,就近提供服務。
另外,每個上線的內(nèi)容都在一個局端節(jié)點存有一個正本,該局端節(jié)點稱為該內(nèi)容的源節(jié)點,該局端節(jié)點所在的分區(qū)網(wǎng)絡稱為該內(nèi)容的源分區(qū)。這樣確保了每個上線內(nèi)容的可得性。
P2P網(wǎng)絡主要包括內(nèi)容存儲發(fā)布和內(nèi)容查詢兩個步驟。
內(nèi)容存儲發(fā)布當需要新發(fā)布一個內(nèi)容時,首先選擇一個局端節(jié)點進行內(nèi)容加載,并在該局端節(jié)點所在的分區(qū)網(wǎng)絡和局端網(wǎng)絡進行發(fā)布。另外,當某個已發(fā)布內(nèi)容在某個分區(qū)增加第一個拷貝時,也在該分區(qū)網(wǎng)絡和局端網(wǎng)絡同時進行發(fā)布。但內(nèi)容在某個分區(qū)增加后續(xù)拷貝時,則只需在分區(qū)網(wǎng)絡發(fā)布即可。
內(nèi)容查詢查詢時,先在發(fā)起者所在的分區(qū)網(wǎng)絡查詢,若查到則結(jié)束;若查不到,再查詢局端網(wǎng)絡,若還查不到,則該內(nèi)容沒有,否則根據(jù)得到的分區(qū)信息,再轉(zhuǎn)到相應分區(qū)網(wǎng)絡進行查詢即可。
下面結(jié)合附圖和具體實施例對本發(fā)明作進一步詳細的描述如圖1所示,網(wǎng)絡節(jié)點被分成兩種,一種是運營商投資的局端節(jié)點,通常為處理能力和存儲能力都較強的服務器,并且一般是常在線;另一種就是普通的用戶節(jié)點,其處理和存儲能力較弱,而且還經(jīng)常上下線。由所有局端節(jié)點組成的網(wǎng)絡稱為局端網(wǎng)絡。另外,根據(jù)節(jié)點所在的區(qū)域不同把網(wǎng)絡劃分成多個分區(qū)網(wǎng)絡,每個分區(qū)網(wǎng)絡包括區(qū)域內(nèi)局端節(jié)點和用戶節(jié)點。整個網(wǎng)絡中的所有節(jié)點統(tǒng)一隨機編號,確保每個節(jié)點ID唯一。內(nèi)容也采取同樣的編號方式,為每個內(nèi)容給出一個唯一的ID。
局端節(jié)點同時作為分區(qū)網(wǎng)絡和局端網(wǎng)絡的節(jié)點,維護兩張路由表和內(nèi)容存儲索引表,如圖2所示。作為局端網(wǎng)絡時,(a)為局端網(wǎng)絡路由表,(b)為局端網(wǎng)絡內(nèi)容存儲索引表,其內(nèi)容存儲索引表記錄了每個內(nèi)容所在的分區(qū)號列表,作為分區(qū)網(wǎng)絡時,(c)為分區(qū)網(wǎng)絡路由表,(d)分區(qū)網(wǎng)絡內(nèi)容存儲索引表,直接記錄內(nèi)容存儲的URL列表。用戶節(jié)點只作為分區(qū)網(wǎng)絡的節(jié)點,維護一張路由表,如圖3所示,(A)為分區(qū)網(wǎng)絡路由表,(B)為分區(qū)網(wǎng)絡內(nèi)容存儲索引表,存儲索引表則直接記錄內(nèi)容存儲的URL列表。
新內(nèi)容加載流程如圖4所示,包括步驟401在一個局端節(jié)點進行加載和存儲內(nèi)容,并生成內(nèi)容ID;
步驟402~步驟403向局端網(wǎng)絡發(fā)送路由請求信息,并返回路由應答;在局端網(wǎng)絡中進行路由尋找,找到節(jié)點ID與內(nèi)容ID最接近的局端節(jié)點;步驟404在該節(jié)點上存儲內(nèi)容所在的分區(qū)號;步驟405~步驟406向該節(jié)點所在的分區(qū)網(wǎng)絡發(fā)送路由請求信息,并返回路由應答,找到節(jié)點ID與內(nèi)容ID最接近的分區(qū)節(jié)點(局端節(jié)點或用戶節(jié)點);步驟407在該節(jié)點上存儲內(nèi)容所在的URL。
內(nèi)容拷貝增加流程如圖5所示,具體流程同上。
內(nèi)容查詢流程如圖6所示,包括步驟601~步驟602向分區(qū)網(wǎng)絡發(fā)送路由請求信息,并返回路由應答,查找節(jié)點ID與內(nèi)容ID最接近的分區(qū)節(jié)點;步驟603向該分區(qū)節(jié)點發(fā)送內(nèi)容存儲位置查詢,判斷是否能夠得到內(nèi)容存儲URL,如果是,進入步驟604;否則,進入步驟605;步驟604返回內(nèi)容存儲的URL列表;步驟605~步驟606向局端網(wǎng)絡發(fā)送路由請求信息,并返回路由應答,查找節(jié)點ID與內(nèi)容ID最接近的分區(qū)節(jié)點;步驟607向該局端節(jié)點發(fā)送內(nèi)容存儲位置查詢,判斷是否能夠得到內(nèi)容存儲URL,如果是,進入步驟608;否則,進入步驟609;步驟608返回內(nèi)容存儲的URL列表;步驟609~步驟612根據(jù)分區(qū)列表,選擇一個距離最近的分區(qū)進行進一步查詢,最后返回內(nèi)容存儲的URL列表。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種對等網(wǎng)絡系統(tǒng),其特征在于,包括局端網(wǎng)絡和分區(qū)網(wǎng)絡;所述局端網(wǎng)絡為所有局端節(jié)點構(gòu)成的對等子網(wǎng)絡;所述分區(qū)網(wǎng)絡為指定局端節(jié)點和用戶節(jié)點構(gòu)成的對等子網(wǎng)絡;所述局端節(jié)點同時作為局端網(wǎng)絡和分區(qū)網(wǎng)絡的節(jié)點,用于維護兩個網(wǎng)絡的路由信息和內(nèi)容存儲索引信息;所述用戶節(jié)點作為分區(qū)網(wǎng)絡的節(jié)點,用于維護分區(qū)網(wǎng)絡的路由信息和內(nèi)容存儲索引信息。
2.一種對等網(wǎng)絡的實現(xiàn)方法,其特征在于,包括以下步驟a選擇一個局端節(jié)點進行內(nèi)容加載,并在該局端節(jié)點所在的分區(qū)網(wǎng)絡和局端網(wǎng)絡進行發(fā)布;b當對內(nèi)容查詢時,先在本地分區(qū)網(wǎng)絡中查詢與內(nèi)容相符的節(jié)點,若查到,則直接得到內(nèi)容存儲列表;否則,進入步驟c;c在局端網(wǎng)絡中查詢與內(nèi)容相符的節(jié)點,若查到,則根據(jù)得到的分區(qū)信息轉(zhuǎn)到相應的分區(qū)網(wǎng)絡進行查詢;否則,結(jié)束。
3.如權(quán)利要求2所述對等網(wǎng)絡的實現(xiàn)方法,其特征在于,步驟a之后還包括,當已發(fā)布的內(nèi)容在某個分區(qū)增加第一個拷貝時,則需在該分區(qū)網(wǎng)絡和局端網(wǎng)絡同時進行發(fā)布;當已發(fā)布的內(nèi)容繼續(xù)增加后續(xù)拷貝時,則需在該分區(qū)網(wǎng)絡進行發(fā)布。
全文摘要
本發(fā)明公開了一種對等網(wǎng)絡系統(tǒng),包括局端網(wǎng)絡和分區(qū)網(wǎng)絡;所述局端網(wǎng)絡為所有局端節(jié)點構(gòu)成的對等子網(wǎng)絡;所述分區(qū)網(wǎng)絡為指定局端節(jié)點和用戶節(jié)點構(gòu)成的對等子網(wǎng)絡;所述局端節(jié)點同時作為局端網(wǎng)絡和分區(qū)網(wǎng)絡的節(jié)點,用于維護兩個網(wǎng)絡的路由信息和內(nèi)容存儲索引信息;所述用戶節(jié)點用于維護分區(qū)網(wǎng)絡的路由信息和內(nèi)容存儲索引信息。本發(fā)明中局端節(jié)點同時作為局端網(wǎng)絡和分區(qū)網(wǎng)絡的節(jié)點,同時維護兩個網(wǎng)絡的路由信息和內(nèi)容存儲索引信息。用戶節(jié)點則只作為分區(qū)網(wǎng)絡的節(jié)點,只維護分區(qū)網(wǎng)絡的路由信息和內(nèi)容存儲索引信息。這種兩級索引結(jié)構(gòu),一方面使得熱點內(nèi)容的查詢得以分散到各個分區(qū)進行,另一方面也有利于就近查詢到各內(nèi)容存儲節(jié)點,就近提供服務。
文檔編號H04L12/24GK101079774SQ20071007470
公開日2007年11月28日 申請日期2007年5月31日 優(yōu)先權(quán)日2007年5月31日
發(fā)明者田洪亮 申請人:中興通訊股份有限公司