專利名稱::一種基于結構化p2p應用服務平臺及其實現方法
技術領域:
:本發明為一種基于結構化P2P應用服務平臺及其實現方法,屬于計算才幾網絡的系統平臺領域。
背景技術:
:P2P技術經過若干年的快速發展,已經在當今的Internet中得到了廣泛的應用。目前的應用主要集中在兩個方面,一方面是4是供文件或元數據的存儲服務,從開始集中式的音樂文件P2P服務Napster到完全分布式的Gnutella,Freenet,以及一些文件共享系統,如CFS(CooperativeFileSystem),PAST,OceanStore,其中Napster是集中式結構,Gnutella和Freenet使用的是完全分布式的非結構化P2P,而CFS,PAST和OceanStore則采用了P2P中出現較晚的結構化P2P模型。P2P應用的另一方面是流媒體,它利用P2P技術在互聯網上實現大規模流媒體的直播和點播服務。最早的P2P視頻直播系統是由卡耐基梅隆大學張輝等人開發的端系統組播(EndSystemMulticast,ESM)。該系統把所有用戶節點組成一棵以流媒體服務器為根節點的應用層組播樹,通過用戶節點上的數據中繼,實現多媒體數據的實時傳輸。P2P直播技術進入商業階段的標志是CoolSreaming系統的成功。2004年歐洲杯期間,香港科技大學張欣研等人開發的CoolSreaming原型系統在Pfanet匚ab上試用獲得成功。在CoolSreaming的鼓舞下,中國流媒體直播技術的發展非常迅速,目前國內已有超過10家網站采用自行研發的軟件提供P2P流媒體直播業務,包括PPLive、PPstream、QQLive、UUsee、Rox、Mysee等。流媒體P2P系統大多采用的是-種非結構兆P2P模型。現有的這兩種主要應用考慮的都是一種面向特定應用,從而開發出的系統平臺方案,而沒有考慮到應用之間的共同特點,可以#4居這個共同點開發出一個通用的P2P系統平臺,為所有應用提供服務。目前比較成熟的結構化P2P(即DHT)模型主要包括CAN、Chord、Pastry、Tapestry、Kademlia等。雖然各種模型的具體路由方法和節點組織方案有所不同,但總體來說,結構化P2P都是使用Hash對服務信息和節點進行編碼,形成一定的編碼空間,然后根據此編碼空間對信息進行明確的查找,它可以在有限的跳數內(0(logkN),其中k是一個與路由表設置相關的參數,N為網絡中總節點數)到達目的節點。相比于非結構化P2P,結構化P2P拓樸開銷小,節點互相訪問更加方便,此外,由于每個節點的路由表中有多個表項,即每個節點在Overlay上與多個節點間存在連接,因此具有較強的容錯性,在網絡動態變化的情況下仍然能夠保證信息的可靠傳輸。下面以Chord為例介紹一下結構化P2P的節點組織方式和信息查找的路由過程。Chord使用一個定長m位的標識符來標識每個節點,節點按標識符從小到大順時針組成一個環形結構,如圖1所示,節點加入Chord時隨機產生(如哈希IP地址)一個標識符Nodeld,根據此Nodeld由網絡中已有的引導節點通過尋路找到維護此Nodeld所在區域的目標節點,劃分它的區域給新節點,更新其路由表,并幫助新節點建立一個新的路由表,稱為finger表,其中包括m個后繼節點和一個前驅節點,前驅節點即Nodeld比本節點小的最近節點,設本節點Nodeld為n,則m個后繼節點分別為Nodeld大于"+2°,"+2',',"+2m的第一個節點,國中例舉tNodecT為8的節點的finger表(m=6)。進行信息的插入和查找時,由信息的關鍵字key哈希得到一個標識ID,由發起的節點從其后繼表中選取Nodeld小于此ID的最接近的節點,然后由此節點繼續按同樣的方式進行尋路,直到某個節點發現此ID在本節點Nodeld和其前驅節點的Nodeld之間,則由此節點進行信息的插入和查找操作。圖1例舉了由Nodeld為8的節點N8查找ID為54的信息的尋路過程。當前具有代表達性的結構化P2P平臺主要有下面兩個。1.OpenDHTOpenDHT是一個底層使用DHT技術(bamboo模型)的公用的服務平臺,與通常的DHT模型不同的是,使用OpenDHT的節點不需要加入DHT,而只需要通過OpenDHT提供的接口即可享受該分布式平臺所提供的服務。OpenDHT提供了一些接口,客戶節點通過Put()接口進行信息的發布,通過Get()接口獲取信息,通過Remove()接口在信息超期之前刪除信息,實際上所有客戶節點發布的信息都是存儲在分布式的DHT平臺上,OpenDHT不關心DHT節點上存儲的內容,只是確保從發布的信息中找到和查找匹配的結果。此外它還提供了Join()接口用于某項服務的節點加入這個組,Lookup()接口用于尋找某個組中某個ID的直接后繼。根據OpenDHT提供的這些接口,目前已經有包括文件共享、域名服務、組播等十多項應用。OpenDHT作為一個P2P底層平臺,在實現上與傳統的文件共享系統沒有多少差別,只是存儲的內容不再局限于文件,DHT平臺被動地接受信息的發布和獲取,獲取信息需要客戶主動發起查詢,沒有^fc信息的發布與獲取緊密地聯系起來,并且也沒有提供網絡測量和路由優化功能。2.Gr3rwy清華大學開發的Granary是服務型廣域存儲系統,在用戶看來,Granary是一個巨大的存儲池,用戶付費使用其存儲空間。Granary也使用了DHT,其下層的overlay網絡使用Pastry。Granary提供基于對象Object的存儲方式,具體方式是以對象為基本的數據單元,對象由若干屬性attribute組成。Object的模式類型稱為Class,Class規定了Object含有哪些屬性,每個Object必須隸屬于某個存在的Class。Granary用于提供存儲服務,因此存儲空間按照用戶絕對隔離開,用戶之間無法共享數據,并且用戶之間無法公用同樣的類。一個類的基本標識為"用戶|ClassName",—個對象的基本標識為"用戶|ClassName|ObjectName",其中ClassName、ObjectName都是字符串。對象數據存儲在hash("用戶ICIassNamelObjectName")得到的編號為No的節點(Objectguider)上,記錄了存放該對象的m個備夕分的m個節點(ObjectNode)的IP。類數據存儲在hash("用戶ICIassName")得到的編號為Nc的節點(Classguider)上,記錄了存放該類模型數據的m個備份的m個節點(ClassNode)的IP,每個ClassNode不僅存放該類的模型數據,還負責處理查詢操作。Granary把所有的存儲數據都組織成結構化數據的形式,提供的數據查詢類似于對象數據庫的查詢,是根據用戶給出的對各個屬性的限制條件在同類對象中找出符合條件,具有一定的查詢語義。但是通常來說屬于一個類Class的數據量很大,Granary中的ClassNode不4叉要存放Class類型數據,還要存放大量的索引表、倒排表以及所有對象數據的一個備份,這就需要ClassNode在周圍繼續找出輔助的節點幫助它存儲這些數據,由于數據量巨大,在信息查找時效率也比較低。對于比較復雜的查詢,Granary這種方式可以有較好的效果。但是對于服務發布訂閱事件通知這種類型的應用,訂閱者通常只關心訂閱的服務類型和若干個簡單的關鍵字描述的信息,如用戶希望訂閱所有有關NBA比賽中和姚明有關的新聞,雖然Granary也支持類似這種的事件驅動的數據訪問模式,但實際上Granary的這種存儲方'式對倌'息查詢的復雜方式會使得事件通知變得非常低效。
發明內容本發明的技術解決問題克服現有技術的不足,提供一種基于結構化P2P應用服務平臺及其實現方法,該平臺及其實現方法結構簡單、效率高、擴展性好;此外,還提供了API服務,運營商和上層應用通過平臺提供的分布式網絡管理對節點組網、網絡測量、路由優化進行管理配置和信息獲取。本發明的技術解決方案一種基于結構化P2P應用服務平臺,其特征在于包括自動組網模塊、分布式網絡測量模塊、路由優化模塊、API接口、分布式網絡管理模塊,其中自動組網模塊,為本發明的核心,自動組網模塊,包括DHT組網、RON組網和API功能三個部分,DHT組網是把網絡中的節點按照結構化P2P的方式組織起來,為API功能實現提供節點間的鄰居關系;RON組網是按照節點所在的自治域等地理信息組織節點,為分布式網絡測量模塊和路由優化模塊提供節點鄰居關系;API功能實現具體完成API接口向上層應用提供的各種功能;分布式網絡測量模塊,獲取自動組網模塊中RON組網中每個節點和其RON鄰居節點間路徑狀態的信息,提供給路由優化模塊;路由優化模塊,根據分布式網絡測量模塊的測量結果來對經過RON鄰居間的數據提供優化路徑,避免擁塞;分布式網絡管理模塊,對自動組網、分布式網絡測量和路由優化模塊進行基本信息的配置,并可以獲得這些模塊運行過程中的各種狀態;API接口,完成上層應用和自動組網模塊的交互,向上層提供的功能具體由自動組網模塊實現。一種基于結構化P2P應用服務平臺實現方法,其特征在于首先由分布式網絡管理模塊向性能數據庫中插X與紅動組網模塊、分布式網絡測量模塊和路由優化模塊相關的配置信息;自動組網模塊需要獲取本機IP地址,并從性能數據庫中讀取相關配置信息,對相關參數進行設置;分布式網絡測量模塊和路由優化模塊也分別從性能數據庫中讀取所需信息,進行相關配置;然后自動組諷模塊開始向網絡中發出路由表維護相關的報文來獲取結構化P2P,即DHT和RON重疊網中鄰居節點的信息,并定時檢查更新,同時將相關的路由表即鄰居節點信息存儲到性能數據庫中,分布式網絡測量模塊向RON鄰居節點發送探測報文隊列,根據探測報文隊列的發送參數和接收參數計算出測量結果,并將結果寫入性能數據庫;路由優化模塊從性能數據庫中讀取網絡測量得到的結果,在RON鄰居節點間進行分發,獲得分發信息的節點將相關信息在性能數據庫中進行更新,此外路由優化模塊周期性地從數據庫中獲取優化要求和性能數據,進行優化策略選擇;自動組網模塊還向上層應用提供了API功能,實現內容發布、檢索,服務發布、訂閱和事件通知功能,上層應用調用API接口,通過API把請求和相關參數傳遞給自動組網模塊,自動組網模塊根據DHT鄰居節點路由表找到最終進行處理的節點,進行相關操作并返回處理結果。本發明與現有技術相比的優點在于(1)本發明由于底層結構使用結構化P2P模型來組織提供平臺服務的節點,使得整個平臺的擴展性很好,平臺的功能實現簡單、高效。(2)本發明把各種應用劃分為兩種,一種是內容相關的,另一種是服務相關的,針對這兩類應用,本發明通過提供基礎API接口和服務擴展API接口實現其相關功能,大部分的應用都可以利用這些接口,在本發明的平臺上進一步開發相關的應用,而且實現簡單高效,系統擴展性好,可同時容納多種不同類型的應廚同時使用而不互相干擾。目前國內外的大部分類似的系統平臺都只實現了內容發布和檢索的功能,而本發明的系統同時還實現了服務相關的功能,特別是事件通知,使得服務發布、更新或刪除時,系統可以主動通知訂閱服務者。雖然除了本發明的平臺之外,清華大學的Granary系統也有類似的功能,但是它的實現過于復雜,對于服務發布訂閱事件通知這種類型的應用,訂閱者通常只關心訂閱的服務類型和若干個簡單的關鍵字描述的信息,清華大學Granary的這種存儲方式對信息查詢的復雜方式會使得事件通知變得非常低效。(3)本發明提供了網絡測量的功能,測量網絡延時、丟包率、剩余帶寬,可以向運營商提供測量結果,并通過測量結果為數據傳輸提供不同策略的優化路徑,避免使用傳統路徑出現的路徑擁塞。(4)本發明提供了分布式網絡管理的功能,運營商和上層應用通過此功能對節點組網、網絡測量、路由優化進行管理配置和信息荻取,通過分布式網絡管理可以使本平臺的管理人員方便地對平臺進行管理和信息查看,及時解決使用過程中出現的任何問題。圖1為Chord模型;圖2為本發聽的給構紐成框圖;圖3為本發明的工作流程圖;圖4為本發明的自動組網模塊組成框圖;圖5為本發明的自動組網模塊DHT組網實現方式圖;圖6為本發明的自動組網模塊RON組網實現方式圖;圖7為本發明的自動組網模塊API功能實現方式圖;圖8為本發明的分布式網絡測量模塊實現方式圖;圖9為本發明的路由優化模塊實現方式圖;圖10為本發明的分布式網絡管理模塊實現方式圖。具體實施方式如圖2所示,本發明整個平臺分為5個部分,分別是自動組網模塊、分布式網絡測量模塊、路由優化模塊、API接口和分布式網絡管理模塊。自動組網模塊,一方面負責將節點按結構化P2P的方式組織成一個重疊網,即DHT組網,DHT組網中的每個節點擁有一個DHT路由表,表項為本節點在DHT組網中的鄰居;另一方面,還負責把各f治蘇內的節點組織成一個RON網,從而多個自治域形成多個RON,即RON組網,RON組網中每個節點擁有一個RON路由表,表項為本節點在RON組網中的鄰居,RON組網分別為分布式網絡測量和路由優化提供節點間的鄰居關系;同時自動組網模塊還通過API接口向上層應用提供統一內容的API服務。分布式網絡測量模塊,獲取自動組網模塊中RON組網中每個節點和其RON鄰居節點間路徑狀態的信息,提供給路由優化模塊;路由優化模塊,根據分布式網絡測量模塊的測量結果來對經過RON鄰居間的數據提供優化路徑,避免擁塞;分布式網絡管理模塊,對自動組網、分布式網絡測量和路由優化模塊進行基本信息的配置,并可以獲得這些模塊運行過程中的各種狀態;API接口,完成上層應用和自動組網模塊的交互,向上層提供的功能具體由自動組網模塊實現,實現的功能有內容發布、檢索,服務發布、訂閱和事件通知等。此外本發明平臺還可以包括性能數據庫,用于存放自動組網模塊、分布式網絡測量模塊和路由優化模塊相關的配置信息,自動組網模塊路由表信息及測量和優化結果信息。實際中,自動組網模塊、分布式網絡測量模塊、路由優化模塊和分布式網絡管理模塊分別對應一個進程,對于同時參與DHT網絡和RON網絡的節點需要啟動這四個進程,而只參與DHT網絡的節點只需要啟動自動組網模塊的進程即可。API接口可以作為動態鏈接庫的形式發布給客戶端,上層行進一步的應用開發。如圖3所示,本發明的工作過程為自動組網模塊、分布式網絡測量、路由優化和分布式網絡管理各自具有一個單獨的進程,平臺啟動時這幾個進程分別啟動,并進行各自的初始化操作。首先由分布式網絡管理模塊向性能數據庫中插入與自動組網模塊、分布式網絡測量模塊和路由優化模塊相關的配置信息,圖3中S1所示。自動組網模塊需要獲取本機IP地址,并從性能數據庫中讀取相關配置信息,對相關參數進行設置,圖3中'S2所示。分布式網絡測量模塊和路由優化模塊也分別從性能數據庫中讀取所需信息,進行相關配置,圖3中S3和S4所示。此后自動組網模塊開始向網絡中發出路由表維護相關的報文來獲取結構化P2P,即DHT和RON重疊網中鄰居節點的信息,并定時檢查更新,同時將相關的路由表即鄰居節點信息存儲到性能數據庫中,圖3中S5所示。分布式網絡測量模塊向RON鄰居節點發送探測報文隊列,根據探測報文隊列的發送參數和接收參數計算出測量結果,并將結果寫入性能數據庫,圖3中S6所示。路由優化模塊從性能數據庫中讀取網絡測量得到的結果,在RON鄰居節點間進行分發,獲得分發信息的節點將相關信息在性能數據庫中進行更新,此外路由優化模塊周期性地從數據庫中獲取優化要求和性能數據,進行優化策略選擇,圖3中S7所示。自動組網模塊還向上層應用提供了API,實現內容發布、檢索,服務發布、訂閱和事件通知等功能。上層應用調用API,通過API把請求和相關參數傳遞給自動組網模塊,自動組網模塊根據DHT鄰居節點路由表找到最終進行處理的節點,進行相關操作并返回處理結果,圖3中S8所示。如圖4所示,本發明中的自動組網從功能上包括DHT組網、RON組網和API功能實現幾個部分,DHT組網就是把網絡中的節點按照結構化P2P的方式組織起來,為API功能實現提供節點間的鄰居關系。RON組網是按照節點所在的自治域等地理信息組織節點,為分布式網絡測量和路由優化提供節點鄰居關系。APf功能實現具體完成API接口向上層應用提供的各種功能。其中自動組網模塊DHT組網實現方式如圖5所示。首先啟動自動組網模塊的進程,進行初始化及一些相關參數的配置,此后開始進行DHT組網的過程,根據DHT相關協議,通過查詢DHT路由表向鄰居節點發送維護路由表相關的消息,同時接收其DHT鄰居節點發來的維護路由表消息,并判斷該消息是應該自己處理還是轉發給其它節點,如果應該本節點處理,則返回本節點的信息給發起維護路由表消息的節點,否則通過查詢路浙表把消息轉發給下一跳節點,之后進行RON組網和處理API請求,最后回到進程開頭循環上述工作過程直到進程結束。自動組網模塊RON組網實現方式如圖6所示。首先是啟動自動組網模塊進程,進行初始化和參數配置,并進行前面所述的DHT組網,之后進行RON組網過程。通過查詢RON路由表向鄰居節點發送維護路由表消息,同時接收其RON鄰居節點發來的維護路由表消息,收到消息后即返回本節點的信息給發出消息的節點,此后處理API請求,最后回到進程開頭循環上述工作過程直到進程結束。自動組網模塊除了完成節點間自組織形成網絡的功能外,還需要根據向上層應用提供的API的調用來進行相應處理,即進行API功能實現,其實現方式如圖7所示。進程在完成DHT和RON組網后,需要接收接口API發來的相關請求,并根據路由表判斷是否應該本節點處理,如果是則根據不同API的要求進行相關處理,并返回結果,對于內容發布、服務發布和服務訂閱請求,把相關內容插入本地數據庫,并返回操作是否成功;對于內容檢索和服務獲取請求,根據關鍵字在本地數據庫查詢,并返回查詢結—果;對于內容刪除、服務取消發布和服務取消訂閱請求,從本地凄史據庫中把相應內容刪除,并返回操作是否成功;對于服務更新請求,把相關內容在本地數據庫中進行更新,并返回操作是否成功。否則查詢DHT路由表把消息發往下一跳節點。當請求為本節點處理時,如果相關事件為需要進行事件通知的事件,包括服務發布、服務更新和服務刪除事件,則進行事件通知的相關處理,即通知訂閱服務的節點,否則回到進程開頭循環上述工作過程,直至進程結束為止。如圖8所示,本發明中的分布式網絡測量模塊由網絡測量控制模塊、測量隊列構造模塊、接收模塊、網絡測量處理模塊和發送模塊組成。首先由發送方的網絡測量控制模塊從數據庫中讀出待測路徑的信息以及要測量的參數,如圖中S9所示,然后網絡測量控制模塊調用測量隊列構^t模塊,構造測量報文隊列,如圖中S10所示,測量隊列構造模塊根據要測量的參數選擇相應的算法構造探測報文隊列,完成后,調用發送才莫塊發送探測報文隊列,如圖中S11所示,發送模塊根據測量報文隊列的相關參數向接收方逐個發送探測報文,如圖中S12所示,接收方的接收模塊收到探測報文隊列后,將其傳遞給網絡測量處理模塊,如圖中S13所示,網絡測量處理模塊根據探測報文隊列的發送參數和接收參數計算出測量結果,并調用發送模塊反饋給發送方,如圖中S14所示,接收方的發送模塊將測量結果反饋給發送方,如圖中S15所示,發送方的接收模塊從接收方收到測量結果后提交給網絡測量控制模塊,如圖中S16所示,網絡測量控制模塊將測量結果進行整理并寫入數據庫,如圖中S17所示,在前面測量的基礎上,網絡測量控制模塊調用發送模塊將所測量路徑的狀態信息向整個RON網絡發布,如圖中S18所示,發送模塊向RON網絡的所有節點發送路徑狀態信息,如圖中S19所示,最終各節點收到該信息后,更新自己的數據庫。如圖9所示,本發明中的路由優化模塊由性能數據處理模塊、鏈路狀態分發模塊、物理路由表處理模塊、策略路由表處理模塊、隧道處理模塊和iptables處理模塊組成。首先由分布式網絡管理模塊將相關的配置信息等插入數據庫,并從數據庫中獲取路由優化相關信息,如圖中S20所示。此后鏈路狀態分發模塊通過調用性能數據處理模塊從數據庫中獲取性能數據,如圖中S21所示,同時鏈路狀態分發模塊調用物理路由表處理模塊從數據庫中獲取本節點的物理路由表信息,如圖中S22所示,節點1構建數據包,將獲取的性能數據和物理路由表信息發送給另一節點2的鏈路狀態分發模塊,如圖中S23所示,節點2的鏈路數據'分發才莫塊在收到節點1發來的消息后,調用性能數據處理模塊將性能數據插入數據庫,如圖中S24所示,同時調用物理路由表處理模塊,將物理路由表信息也插入數據庫,如圖中S25所示。在上述的基礎上,策略路由表處理模塊周期性從數據庫獲取優化要求,進行優化策略選擇并調用隧道處理模塊,如圖中S26所示,最終隧道處理模塊根據策略路由處理模塊的策略調用iptables處理模塊插入規則,同時將相關信息插入數據庫,如圖中S27所示。本發明中API接口主要由自動組網模塊向上層應用提供,便于上層應用利用本平臺進行進一步的應用開發,接口API分為基礎API接口和應用服務擴展API接口。基礎API接口實現內容發布和檢索功能,用戶通過內容發布API可以將索引或者自己存儲的內容信息發布到DHT網絡節點上,而內容檢索API則使用戶通過提供的關鍵字信息從DHT網絡中查找到相關的結果,提供精確匹配、模糊查找、多關鍵字檢索等功能。基礎API接口包括a.內容發布接口(Put(key,value,serviceid,t,p)):此接口用于客戶節點將索引或自己存儲的內容信息發布到DHT網絡節點上。其中serviceid標識發布的信息類型,key是對發布信息的關鍵字描述,value是發布的信息索引或實際的存儲內容,t為發布信息的有效期,p為客戶端的上層應用提供的函數指針,用于收到DHT網絡發來的Put回應消息時調用,給出相應信息,以便上層應用進行處理。b.內容檢索接口(Get(key,serviceid'p,from,num)):此接口用于客戶節點進行信息查詢。其中key為查詢信息的關鍵字描述,serviceid標識查詢信息的類型,p為上層應用提供的函數指針,在收到Get回應時調用,from表示從滿足條件的第幾個結果開始返回,num表示最多返回多少結果。c.內容刪除接口(Remove(key,value,serviceid,p)):此接口用于客戶節點刪除先前發布的信息,參數含義類似內容發布接口。應用服務擴展API接口提供了服務發布、訂蹄及事件通知等功能。用戶不需要加入結構化P2P網絡,只需要通過提供的相關接口,即可以實現服務的發布(Publish)、更新(Update)、取消發布(UnPublish)、訂閱(Subscribe)、取消訂閱(UnSubscribe)、獲取(Obtain),結構化P2P平臺本身可以將相同的服務的發布和訂閱信息關聯在一起,當服務到達或更新時,對訂閱服務的節點進行事件通知。應用服務擴展API接口包括a.月良務發布接口(Publish(key,value,serviceid,t,p)):》匕才矣口用于客戶節點將服務發布在DHT網絡中。其中serviceid標識服務類型,key是對服務相應的關鍵字描述,value是發布服務的客戶節點的相關信息,如節點的IP地址等,t為發布服務的有效期,p為客戶端的上層應用提供的函數指針,用于收到DHT網絡發來的Publish回應消息時調用,給出相應信息,以便上層應用進行處理。b.月良務更#斤才妾口(Update(key'value,serviceid,t,p)):jt匕才妻口用于客戶節點更新先前發布的服務,參數含義同上。c.月l務取消發布接口(UnPublish(key,value,serviceid,t,p)):此接口用于客戶節點取消先前發布的服務,參數含義同上。d.月良務i丁閱才妻口(Subscribe(key,serviceid,t,p1,p2)):jt匕接口用于客戶節點進行服務的訂閱。serviceid表示訂閱的服務類型,key描述了希望訂閱的服務的關鍵字信息,結構化P2P平臺可根據serviceid和key把相關的發布服務和訂閱服務關聯起來,當相關的服務到達或更新時主動進行事件通知,t為訂閱的有效期,p1和p2均為上層應用提供的函數指針,只不過一個用于Subscribe回應消息時調用,一個用于事件通知時調用,并由上層應用進行不同的處理。e.月良務取消i丁閱沖妾口(UnSubscribe(key,servicekJ,p)):jt匕4妾口用于客戶節點取消先前訂閱的服務,參數含義同上。f.服務獲取接口(Obtain(key,serviceid,p)):此接口用于客戶節點主動獲取相關服務的信息,參數含義同上。如圖10所示,本發明的分布式網絡管理模塊由三個子模塊組成,即自動組網管理模塊、網絡測量管理模塊和路由優化管理模塊,分別對自動組網、分布式網絡測量和路由優化進行管理和配置。自動組網管理模塊負責與自動組網模塊進行通信,對其相關參數進行配置,以及獲得網絡中節點組織的當前狀態,包括節點IP地址、節點連通性(即節點當前路由表)、節點生存狀態(即節點是否在線等)等,此外還對應用服務進行管理,如服務的注冊,服務注冊信息的獲取,以及對使用此平臺的用戶信息進行管理,拒絕非法用戶的操作。網絡測量管理模塊負責與分布式網絡測量模塊進行通信,對其參數等信息進行配置,選擇對延時、丟包率、剩余帶寬中的哪些值進行測量,設定測量時使用的數據包的大小,使用的網絡端口號等,以及測量結果進行分析和信息獲取。路由優化管理模塊負責與路由優化模塊進行通信,并對其進行管理,設定其優化策略和表項配置等,并可以獲得通過路由優化為運營商提供的優化可選路徑。權利要求1、一種基于結構化P2P應用服務平臺,其特征在于包括自動組網模塊、分布式網絡測量模塊、路由優化模塊、API接口、分布式網絡管理模塊,其中自動組網模塊,為本發明的核心,包括DHT組網、RON組網和API功能三個部分,DHT組網是把網絡中的節點按照結構化P2P的方式組織起來,為API功能實現提供節點間的鄰居關系;RON組網是按照節點所在的自治域等地理信息組織節點,為分布式網絡測量模塊和路由優化模塊提供節點鄰居關系;API功能實現具體完成API接口向上層應用提供的各種功能;分布式網絡測量模塊,獲取自動組網模塊中RON組網中每個節點和其RON鄰居節點間路徑狀態的信息,提供給路由優化模塊;路由優化模塊,根據分布式網絡測量模塊的測量結果來對經過RON鄰居間的數據提供優化路徑,避免擁塞;分布式網絡管理模塊,對自動組網、分布式網絡測量和路由優化模塊進行基本信息的配置,并獲得這些模塊運行過程中的各種狀態;API接口,完成上層應用和自動組網模塊的交互,向上層提供的功能具體由自動組網模塊實現。2、根據權利要求1所述的基于結構化P2P應用服務平臺,其特征在于還包括性能數據庫,用于存放自動組網模塊、分布式網絡測量模塊和路由優化模塊相關的配置信息,自動組網模塊路由表信息及測量和優化結果信息。3、根據權利要求1或2所述的基于結構化P2P應用服務平臺,其特征在于所述的API功能有基礎API和服務擴展API,其中基礎API主要用于內容發布和檢索,服務擴展API主要用于服務發布、訂閱和事件通知。4、根據權利要求1或2所述的基于結構化P2P應用服務平臺,其特征在于所述的自動組網模塊中的DHT組網實現過程為根據DHT相關協議,通過查詢DWT路由表向鄰居節點發送維護路由表相關的消息,同時接收其DHT鄰居節點發來的維護路由表消息,并判斷該消息是應該自己處理還是轉發給其它節點,如果應該本節點處理,則返回本節點的信息給發起維護路由表消息的節點,否則通過查詢路由表把消息轉發給下一跳節點,之后進行RON組網和處理API請求,最后回到進程開頭循環上述工作過程直到進程結束。5、根據權利要求1或2所述的基于結構化P2P應用服務平臺,其特征在于所述的自動組網模塊中RON組網在前面所述的DHT組網之后進行,實現過程為通過查詢RON路由表向鄰居節點發送維護路由表消息,同時接收其RON鄰居節點發來的維護路由表消息,收到消息后即返回本節點的信息給發出消息的節點,此后處理API功能請求,最后回到進程開頭循環上述工作過程直到進程結束。6、根據權利要求1或2所述的基于結構化P2P應用服務平臺,其特征在于所述的自動組網模塊中的API功能實現過程為(1)在完成DHT組網和RON組網后,接收API接口發來的相關請求,并根據路由表判斷是否應該本節點處理;(2)如果應該在本節點處理,則根據不同API功能的要求進行相關處理,并返回結果;對于內容發布、服務發布和服務訂閱請求,并返回操作是否成功;對于內容檢索和服務獲取請求,根據關鍵字在本地性能數據庫查詢,并返回查詢結果;對子內容刪除、服務取消發布和服務取消訂閱請求,從本地性能數據庫中把相應內容刪除,并返回操作是否成功;對于服務更新請求,把相關內容在本地性能數據庫中進行更新,并返回操作是否成功;(3)如果不應該在本節點處理,查詢DHT路由表把消息發往下一跳節點;(4)當請求為本節點處理時,如果相關事件為需要進行事件通知的事件,包括服務發布、服務更新和服務刪除事件,則進行事件通知的相關處理,即通知訂閱服務的節點,否則回到進程開頭循環上述工作過程,直至進程結束為止。7、根據權利要求1或2所述的基于結構化P2P應用服務平臺,其特征在于所述的分布式網絡測量模塊由網絡測量控制模塊、測量隊列構造模塊、接收模塊、網絡測量處理模塊和發送模塊組成,其實現方式為發送方的網絡測量控制模塊從數據庫中讀出待測路徑的信息以及要測量的參數,并調用測量隊列構造模塊,構造測量報文隊列,通過發送模塊發送探測報文隊列,接收方的接收模塊收到探測報文隊列后,由網絡測量處理模塊計算出測量結果,并調用發送模塊反饋給發送方,發送方的接收模塊從接收方收到測量結果后由網絡測量控制模塊將測量結果進行整理并寫入數據庫;網絡測量控制模塊調用發送模塊將所測量路徑的狀態信息向整個RON組網發布,最終各節點收到該信息后,更新自己的性能數據庫。8、根據權利要求1或2所述的基于結構化P2P應用服務平臺,其特征在于所述的路由優化模塊由性能數據處理模塊、鏈路狀態分發模塊、物理路由表處理模塊、策略路由表處理模塊、隧道處理模塊和iptables處理模塊組成,其實現過程為首先由分布式網絡管理模塊將相關的配置信息等插入性能數據庫,并從性能數據庫中獲取路由優化相關信息,此后鏈路狀態分發模塊通過調用性能數據處理模塊從數據庫中獲取性能數據,同時鏈路狀態分發模塊通過性能數據處理模塊和物理路由表處理模塊從數據庫中獲取本節點的性能數據和物理路由表信息,發送給另一節點;另一節點的鏈路數據分發模塊在收到后,通過性能數據處理模塊和物理路由表處理模塊,將性能數據和物理路由表信息插入性能數據庫;策略路由表處理模塊周期性從性能數據庫獲取優化要求,進行優化策略選擇,并通過隧道處理模塊調用iptables處理模塊插入規則,同時將相關信息插入性能數據庫。9、根據權利要求1或2所述的基于結構化P2P應用服務平臺,其特征在于所述的分布式網絡管理模塊由自動組網管理模塊、網絡測量管理模塊和路由優化管理模塊三個模塊組成,分別對自動組網、分布式網絡測量和路由優化進行管理和配置,其中自動組網管理模塊負責與自動組網模塊進行通信,對其相關參數進行配置,以及獲得網絡中節點組織的當前狀態,包括節點IP地址、節點連通性,即節點當前路由表、節點生存狀態,即節點是否在線等等,此外還對應用服務進行管理,包括服務的注冊,服務注冊信息的獲取,以及對使用此平臺的用戶信息進行管理,拒絕非法用戶的操作。網絡測量管理模塊負責與分布式網絡測量模塊進行通信,對其參數等信息進行配置,選擇對延時、丟包率、剩余帶寬中的哪些值進行測量,設定測量時使用的數據包的大小,使用的網絡端口號等,以及測量結果進行分析和信息獲取。路由優化管理模塊負責與路由優化模塊進行通信,并對其進行管理,設定其優化策略和表項配置等,并可以獲得通過路由優化為運營商提供的優化可選路徑。10、根據權利要求1或2所述的基于結構化P2P應用服務平臺,其特征在于所述的API包括基礎API接口和應用服務擴展API接口,基礎API接口實現內容發布和檢索功能,用戶通過內容發布API可以將索引或者自己存儲的內容信息發布到DHT組網節點上,內容檢索API則使用戶通過提供的關鍵字信息從DHT組網中查找到相關的結果,提供精確匹配、模糊查找、多關鍵字檢索等功能;應用服務擴展API接口提供了服務發布、訂閱及事件通知功能,用戶不需要加入結構化P2P網絡,只需要通過提供的相關接口,即可以實現服務的發布、更新、取消發布、訂閱、取消訂閱、獲取,將相同的服務的發布和訂閱信息關聯在一起,當服務到達或更新時,對訂閱服務的節點進行事件通知。11、根據權利要求7所述的基于結構化P2P應用服務平臺,其特征在于所述的基礎API包括內容發布接口Put、內容檢索接口Get、內容刪除接口Remove,Put接口用于客戶將內容信息發布到此應用服務平臺中,Get接口用于客戶從此應用服務平臺中獲得相關內容信息,Remove接口用于客戶從應應服務平臺刪.除相應的內容發布信息。12、根據權利要求1所述的基于結構化P2P應用服務平臺,其特征在于所述的應用服務擴展API接口包括服務發布接口Publish、服務更新接口Update、服務取消發布接口UnPublish、服務訂閱接口Subscribe、服務取消訂閱接口Unsubscribe接口和服務獲取接口Obtain;Publish接口用于提供服務的客戶節點向應用服務平臺發布服務信息,同時事件通知訂閱此服務的客戶節點服務到達,Update接口用于客戶節點更新先前發布的服務信息,同時應用服務平臺事件通知訂閱此服務的客戶節點服務發生變化,UnPublish接口用于客戶節點取消先前發布的服務,同時應用服務平臺事件通知訂閱此服務的客戶節點服撤消,Subscribe接口用于客戶節點訂閱某個服務,UnSubscribe接口用于客戶節點取消先前訂閱的服務,Obtain接口用于客戶節點獲取某個發布服務的相關信息。13、一種基于結構化P2P應用服務平臺實現方法,其特征在于首先由分布式網絡管理模塊向性能數據庫中插入與自動組網模塊、分布式網絡測量模塊和路由優化模塊相關的配置信息;自動組網模塊需要獲取本機IP地址,并從性能數據庫中讀取相關配置信息,對相關參數進行設置;分布式網絡測量模塊和路由優化模塊也分別從性能數據庫中讀取所需信息,進行相關配置;然后自動組網模塊開始向網絡中發出路由表維護相關的報文來獲取結構化P2P,即DHT,及RON重疊網中鄰居節點的信息,并定時檢查更新,同時將相關的路由表即鄰唇節點信息存儲到性能數據庫中,分布式網絡測量模塊向RON鄰居節點發送探測報文隊列,根據探測報文隊列的發送參數和接收參數計算出測量結果,并將結果寫入性能數據庫;路由優化模塊從性能數據庫中讀取網絡測量;f尋封的結果,在RON鄰居節點間'進才亍'分發,獲得分發信息的節點將相關信息在性能數據庫中進行更新,此外路由優化模塊周期性地從數據庫中獲取優化要求和性能數據,進行優化策略選擇;自動組網模塊還向上層應用提供了API功能,實現內容發布、檢索,服務發布、訂閱和事件通知功能,上層應用調用APh通過API把請求和相關參數傳遞給自動組網模塊,自動組網模塊根據DHT鄰居節點路由表找到最終進行處理的節點,進行相關操作并返回處理結果。全文摘要一種基于結構化P2P應用服務平臺及其實現方法,自動組網模塊包括DHT組網、RON組網和API功能三個部分,DHT組網是把網絡中的節點按照結構化P2P的方式組織起來,為API功能實現提供節點間的鄰居關系;RON組網按照節點所在的自治域等地理信息組織節點,為分布式網絡測量模塊和路由優化模塊提供節點鄰居關系;API功能實現具體完成API接口向上層應用提供的各種功能;分布式網絡測量模塊,獲取自動組網模塊中RON組網中每個節點和其RON鄰居節點間路徑狀態的信息;路由優化模塊對經過RON鄰居間的數據提供優化路徑;分布式網絡管理模塊分別對自動組網、分布式網絡測量和路由優化模塊進行基本信息的配置,并獲得這些模塊運行過程中的各種狀態;API接口完成上層應用和自動組網模塊的交互。本發明結構簡單、易于實現、效率高,且擴展性強的優點。文檔編號H04L12/54GK101119271SQ200710118310公開日2008年2月6日申請日期2007年7月5日優先權日2007年7月5日發明者健周,旭周,洪佩琳,范鵬飛,覃毅芳申請人:中國科學技術大學;中國科學院聲學研究所