專利名稱:一種基于域名的對等網絡體系結構實現方法
技術領域:
本發明涉及計算機網絡與通訊技術領域中的對等網絡體系實現方法,具體涉及一種基于域名的對等網絡體系結構實現方法。
背景技術:
所謂域名是Internet網絡上的一個服務器或一個網絡系統的名字,在全世界沒有重復的域名。域名的形式是以若干個英文字母和數字組成,由“.”分隔成幾部分,如hichina.com就是一個域名。域名解析就是域名到IP地址的映射過程。IP地址是網路上標識站點的數字地址,為了簡單好記,采用域名來代替IP地址標識站點地址。域名解析包括靜態域名解析(DNS,Domain NameSystem)和動態域名解析(DDNS,Dynamic Domain Name System),靜態域名解析建立域名與固定IP地址映射關系,而動態域名解析則建立域名和動態IP地址的映射關系。ISP(互聯服務提供商)提供對DNS和DDNS域名解析。
所謂對等網絡P2P(Peer-To-Peer)是一種網絡模型,在這種網絡中,所有的節點都是對等的。各個節點具有相同的能力和責任并協同完成任務。對等節點之間通過直接互連共享資源,而不是像C/S模型(Client/Server,客戶端/服務器模式)中所有的資源都在服務器上供客戶端下載。因為消除了中間環節,對等網絡技術使得網絡上的溝通變得更快速、更直接。
目前,P2P網絡有兩種典型的網絡結構。第一種為檢索服務器模式,這類網絡很多,其代表有著名的音樂文件共享網站Napster。大部分的提供即時通服務的P2P網絡都是屬于這種類型的,如ICQ(國外的網絡傳呼),國內的OICQ(中文網絡傳呼)。它們的運行需要中心服務器去執行一些功能。查詢效率高,組網規模可以比較大,但服務質量很大程度上依賴中心服務器。第二種為全分散式,其代表性的系統有網絡上著名的自由共享文件網絡Gnutella,而Nexter則是國內第一個基于無中央服務器、實現對等網絡(P2P)概念的搜索、交換軟件。在這種網絡結構中,參與的計算機都是對等點,它們直接通信,沒有中心服務器來對通信進行控制、協調和處理,因此不會因為服務器的故障而導致整個網絡的中斷。但是由于這兩種網絡結構都是基于IP定位網絡實體的。當網絡上一個節點IP地址發生變化后,其它實體會將其當成一個新的實體來看待,這使得動態IP用戶使用P2P網絡變得困難,且會由于用戶IP地址的更換造成信息過時而冗余,甚至某個節點會因為先前與其連接的所有已知節點均不在線或IP地址變化而成為盲節點,需要人工干預才能重建網絡連接。而且由于每個簡單的查詢都需要數目龐大的節點來參與,使得網絡流量劇增,查詢效率低下。
現有的相關發明已有一些,如美國專利6614774“基于DDNS動態更新的提供無線移動服務器和P2P服務的方法和系統”是利用動態IP地址分配和動態域名更新在移動基站為訂閱者提供數據和語音服務的方法和通訊系統。遠離歸屬網絡的移動終端在訪問網絡時,接入網絡動態地分配一個IP地址給移動終端,然后通過私有網絡將該IP地址傳送給歸屬網絡;歸屬網絡將IP地址與移動終端的主機名聯系起來,并將移動終端的主機名返回給接入網絡,接入網絡將IP地址和移動終端的主機名對應關系保存在自身的DNS服務器中;當移動終端結束呼叫服務后,接入網絡將解除IP地址與主機名的對應關系,并通知歸屬網絡解除同樣的關系。
上述專利重點在于提出了一種基于動態域名解析的移動終端數據語音通信系統,應用于無線移動通訊服務領域。具體實現時需要移動終端在歸屬網絡中注冊域名和登記終端信息,并通過電信的私有網絡建立與釋放動態IP與域名之間聯系,而不是針對Internet和Intranet網絡實現的基于域名的對等網絡。
發明內容
本發明的目的在于針對現有技術存在動態IP用戶不能可靠使用P2P網絡的難題,和上述專利受網絡限制之不足,而提供一種使P2P網絡中實體定位方便、組網自由,可靠性高的基于域名的對等網絡體系結構的實現方法。
實現上述目的本發明所采用的技術方案是一種基于域名的對等網絡體系結構的實現方法,建立在TCP/IP協議之上,實體之間地位完全平等,每個實體既作為向其它實體提供服務的服務器,又作為使用其它實體所提供服務的客戶端,其實現方法包括以下步驟[1]每個接入網絡的實體申請一個DDNS域名或DNS域名;[2]在實體上安裝、運行計算機軟件實例,軟件初始化后等待事件的觸發而響應,所述計算機軟件實例包含以下流程(1)初始化流程登陸DDNS服務器,更新IP與域名的映射關系→通過域名與域名清單中其他實體建立連接并發送上線信息→接收確認信息和在線實體清單→更新實體域名清單;(2)發起查詢流程生成查詢信息→查找域名清單得到最相關域名若干→通過域名與若干實體建立連接→向若干實體發送查詢信息→接收若干實體發回的內容信息并顯示;(3)處理查詢請求流程根據時間更新識別號清單→在識別號清單中查找相同識別號,如存在,舍棄信息不予處理,不存在則繼續→保存識別號→轉發信息→在本實體共享內容中查找匹配內容,匹配內容不存在則處理結束,存在則繼續→發回內容信息;[3]實體通過域名與其他實體建立網絡連接。
該對等網絡建立在TCP/IP(Translation Control Protocal/Internet Protocal傳輸控制協議/網際協議)協議之上,所有的抽象實體均擁有一個DDNS域名或DNS域名,每個抽象實體在本地存儲有一個已知其它實體的域名列表清單,當一個實體一旦連上網絡,其他實體就可以通過其域名對其進行訪問,組成無層次結構的邏輯對等網絡;所有實體之間的地位完全平等,每個實體既作為向其它實體提供服務的服務器,又作為使用其它實體所提供服務的客戶端;各節點存儲其他節點的內容分類屬性,分類屬性是由利用多層次分類法對實體共享出的內容分類而形成的各個層次的歸屬信息構成,利用內容分類屬性選擇發送查詢信息的對象。
實體之間建立對等網絡的步驟如下(1)實體通過ISP連接到互聯網絡,獲得一個動態或靜態的IP地址;(2)實體通過DDNS或DNS服務,建立當前IP地址與其域名之間的映射關系,網絡上的其他實體可通過域名訪問該實體;(3)實體通過本地存儲的已知實體清單列表逐一向其它實體發出本實體在線的信息,收到信息的其它實體將返回確認信息,并根據請求發回自身的已知實體清單;(4)實體根據清單選擇策略將收到的其它實體發回的清單中的部分實體域名列入自身的已知實體域名列表清單中;網絡中的其它實體根據需要將該發出請求的實體列入其已知實體域名列表清單中。
實體之間進行信息查詢的方法如下(1)當一個節點發出內容查詢時,除了給出查詢內容的關鍵字以外,還需給出查詢內容的分類屬性和本次查詢的識別號,并且優先向與該類別符合程度高的節點發送查詢請求,使每次查詢所涉及的實體數量控制在合理的范圍內,且與所需查詢的內容最為相關;(2)當一個實體收到來自其它節點的查詢請求時,將在本實體所匹配的內容范圍內進行檢索,降低在本實體上檢索所需要的運算量;(3)收到查詢請求的實體將從本實體的已知實體清單中找出提供該類別信息的其它實體,并將該查詢請求轉發給這些實體。(4)如果一個實體在限定時間內收到兩個或多個來自于同一個實體的相同識別號的查詢請求,則該實體僅處理第一個查詢請求,而拋棄隨后的重復查詢請求。
本發明采用基于內容分類屬性的查詢方式。利用多層分類法對實體共享出來的信息進行分類,各個層次的歸屬信息構成了內容的分類屬性。例如comp.lang.compression.lpc,表示提供的內容是關于“計算機.語言.語音壓縮.lpc壓縮方式”的。每個節點在緩存本節點直接連接的其它節點時,會根據本機提供內容的分類屬性,盡量緩存相同分類屬性的節點的信息,而對于信息分類差異較大的,則根據統計特性少量緩存。例如,一個提供comp.lang.compression.lpc分類內容的節點,可能緩存的節點情況為全部的comp.lang.compression.lpc的節點信息、較大比例的comp.lang.compression類別節點信息、較多數量comp.lang類別信息、一定數量的comp類別節點信息和其它大類別節點各有代表性的一部分節點信息。每個節點可以提供很多種類的信息,從而可以成為很多組的主要成員。以上節點信息存儲方式在具體的實現上可以進行進一步的優化。網絡節點在向網絡提供關于本節點的信息時,除了提供域名以外,還提供關于自身將向網絡提供的內容的分類屬性。
本發明是對當前全分散式對等網的一種創新,構建一種新型的全分散模式對等網。相比現有技術,本發明具有如下顯著優點1、其實現方法能夠讓所有利用基于TCP/IP連接的網絡上網且能獲得合法IP的主機或終端成為此對等網絡系統中的一個無差別實體,解決了以撥號上網等方式上網而只能獲得動態IP的用戶不能可靠的使用P2P網絡的難題。
2、基于DDNS通過資源信息與域名的對應,利用域名的相對不變性,使尋址更可靠,資源信息有效時間更長,并使得實體定位更方便,可直接利用域名與指定主機通信,網絡容易構建,連接穩定。
3、基于內容分類屬性的查詢方式,有效的降低了由查詢引起的網絡流量,從而允許建立大規模的對等網。
下面結合附圖和實施例對本發明作進一步說明。
圖1是本發明流程圖。
圖1.1是本發明中軟件實例初始化流程圖。
圖1.2是本發明中軟件實例發起查詢流程圖。
圖1.3是本發明中軟件實例查詢請求事件響應流程圖。
圖2是本發明中網絡實體間信息查詢示意圖。
具體實施例方式
建立基于域名的對等網,每個節點都是擁有域名的實體。因此,需要連入對等網的實體要向域名服務提供商申請一個域名。沒有域名的實體不能使用按照本發明方法構建網絡。本發明方法的流程圖,如圖1所示。
實體的具體實現形式為在計算機上安裝、運行的特定軟件實例。
程序啟動之后,開始初始化,然后便等待事件的觸發而響應。
初始化流程圖如圖1.1所示,主要分為兩個部分(1)登陸DDNS服務器,更新域名與IP的映射關系,成功后,其他實體可通過域名訪問本實體;(2)通過域名與域名清單中的實體建立連接,并向每個實體發送上線信息,與此同時,實體接收其他實體發回的確認信息和在線實體列表,并根據確認信息和在線實體列表更新域名清單。此過程完成之后,初始化結束,開始等待事件的觸發。
當用戶發起查詢時,程序處理查詢事件,流程圖如圖1.2所示。首先,程序根據用戶填寫的查詢條件(如關鍵字,此次查詢識別號以及分類屬性等)生成查詢信息;然后程序根據內容分類屬性,在本地域名清單中選擇若干最相關實體,通過域名與它們建立連接,并向它們發送查詢信息,與此同時,程序接收其他實體發回的內容信息并列表顯示。
當程序接收到其他實體發送的查詢請求時,程序處理查詢請求事件,流程圖如圖1.3所示。首先程序根據本地存儲的識別號,按照設定時間,刪除超出時間限定的識別號。然后程序在識別號列表中尋找本次查詢識別號,如存在,則說明本實體已經收到此次查詢信息,于是丟棄信息不予處理,如不存在,則保存識別號并決定向內容分類屬性匹配的實體轉發查詢信息,同時在本地共享內容中查找匹配內容,如果找到匹配的內容,則發回內容信息。
當程序有其他事件觸發時,會作相應處理。如程序收到其他實體的取內容信息時,會發回相應的內容數據。
內容查詢采用了基于內容分類屬性的查詢方法;查詢內容時,實體根據查詢內容的分類屬性在自身的實體域名清單中選擇發送查詢信息的對象;上述分類屬性是由利用多層次分類法對實體共享出的內容分類而形成的各個層次的歸屬信息構成。
本發明方法實體通過域名與其他實體建立網絡連接。
下面結合圖2所示的P2P網絡,以“comp.lang.compression.lpc”為例,對查詢方法進行詳細的說明。實體C和E擁有實體A所需內容“lpc語音壓縮算法”。則實體之間進行查詢的過程如下(1)節點A檢索自身的實體清單,優先向內容信息為“comp.lang.compression.lpc”的節點B和C發出查詢信息。發出的信息中,包含查詢內容的關鍵字,查詢內容分類屬性和本次查詢的識別號,并使每次查詢所涉及的實體數量控制在合理的范圍內,且與所需查詢的內容最為相關;(2)當實體B和C收到來A節點的查詢請求時,在本實體所匹配的內容范圍內進行檢索,C發現本地有此資源;(3)實體B從本實體的已知實體清單中找出提供最為相關信息的其它實體E,于是將該查詢請求轉發給實體E;實體C發回內容信息給A,同時與B一樣發現E并轉發查詢信息。
(4)假設實體E先收到B的信息,后收到C的信息,則該實體僅處理第一個查詢請求,而拋棄隨后的重復查詢請求。
(5)實體E在本實體所匹配的內容范圍內進行檢索,發現本機有此資源,實體E發送通知信息給A。
(6)此時的查詢結果是C和E上擁有A所需資源,查詢結束。
本發明抽象實體按照清單維護策略在本地動態維護著一個已知其它實體的域名列表清單,所述清單維護策略是每個實體根據其它實體提供內容與本實體提供內容之間的分類屬性的相近程度決定該類實體在清單中的存儲比例,越相近的則存儲的比例越大,而相近程度越小的存儲比例越小。
權利要求
1.一種基于域名的對等網絡體系結構的實現方法,建立在TCP/IP協議之上,實體之間地位完全平等,每個實體既作為向其它實體提供服務的服務器,又作為使用其它實體所提供服務的客戶端,其特征在于實現方法包括以下步驟[1]每個接入網絡的實體申請一個DDNS域名或DNS域名;[2]在實體上安裝、運行計算機軟件實例,軟件初始化后等待事件的觸發而響應,所述計算機軟件實例包含以下流程(1)初始化流程登陸DDNS服務器,更新IP與域名的映射關系->通過域名與域名清單中其他實體建立連接并發送上線信息->接收確認信息和在線實體清單->更新實體域名清單;(2)發起查詢流程生成查詢信息->查找域名清單得到最相關域名若干->通過域名與若干實體建立連接->向若干實體發送查詢信息->接收若干實體發回的內容信息并顯示;(3)處理查詢請求流程根據時間更新識別號清單->在識別號清單中查找相同識別號,如存在,舍棄信息不予處理,不存在則繼續->保存識別號->轉發信息->在本實體共享內容中查找匹配內容,匹配內容不存在則處理結束,存在則繼續->發回內容信息;[3]實體通過域名與其他實體建立網絡連接。
2.按照權利要求1所述的對等網絡體系結構的實現方法,其特征在于實體基于此方法初始建立對等網絡連接包括如下步驟(1)實體通過ISP連接到互聯網絡,獲得一個動態或靜態的IP地址;(2)實體通過DDNS或DNS服務,建立當前IP地址與其域名之間的映射關系,網絡上的其他實體可通過域名解析服務訪問該實體;(3)實體通過本地存儲的已知實體清單列表逐一向其它實體發出本實體在線的信息,收到信息的其它實體將返回確認信息,并根據請求發回自身的在線實體清單;(4)實體根據清單維護策略將收到的其它實體發回的清單中的部分實體域名列入自身的已知實體域名列表清單中,網絡中的其它實體根據需要將該發出請求的實體列入其已知實體域名列表清單中。
3.按照權利要求2所述的對等網絡體系結構的實現方法,其特征在于抽象實體按照清單維護策略在本地動態維護著一個已知其它實體的域名列表清單,所述清單維護策略是每個實體根據其它實體提供內容與本實體提供內容之間的分類屬性的相近程度決定該類實體在清單中的存儲比例,越相近的則存儲的比例越大,而相近程度越小的存儲比例越小。
4.按照權利要求3所述的對等網絡體系結構的實現方法,其特征在于內容查詢采用了基于內容分類屬性的查詢方法;查詢內容時,實體根據查詢內容的分類屬性在自身的實體域名清單中選擇發送查詢信息的對象;上述分類屬性是由利用多層次分類法對實體共享出的內容分類而形成的各個層次的歸屬信息構成。
5.按照權利要求4所述的對等網絡體系結構的實現方法,其特征在于上述內容查詢方法包括如下步驟(1)當一個節點發出內容查詢時,除了給出查詢內容的關鍵字以外,還需給出查詢內容所屬類別信息和本次查詢的識別號,并且優先向與該類別符合程度高的節點發送查詢請求,使每次查詢所涉及的實體數量控制在合理的范圍內,且與所需查詢的內容最為相關;(2)一個實體收到來自其它實體的查詢請求時,將在本實體所匹配的內容范圍內進行檢索,降低在本實體上檢索聽需要的運算量;如有匹配內容,則向發出查詢請求的實體發回通知信息;(3)收到查詢請求的實體將從本實體的已知實體清單中找出提供該類別信息的其它實體,并將該查詢請求轉發給這些實體。(4)一個實體在限定時間內收到兩個或多個來自于同一個實體的相同識別號的查詢請求,則該實體僅處理第一個查詢請求,而拋棄隨后的重復查詢請。
全文摘要
一種基于域名的對等網絡體系結構實現方法,該體系結構中的對等網絡建立在TCP/IP協議之上,所有的抽象實體均擁有一個DDNS域名或DNS域名。當這些實體一旦連上網絡,便可通過域名對其進行連接,組成無層次結構的邏輯對等網絡,利用域名的相對不變性,實現了實體的準確定位,有效的減少了因IP變化而引起的過時冗余信息,并可利用域名與指定主機直接通信,網絡容易構建,可靠性更高;采用了基于內容分類屬性的查詢方法,有效的降低了由查詢引起的網絡流量,適宜構建大規模的對等網。
文檔編號H04L29/06GK1599346SQ20041004044
公開日2005年3月23日 申請日期2004年8月11日 優先權日2004年8月11日
發明者易潤忠, 劉飛, 鄢萍, 胡新元 申請人:重慶大學, 重慶海特克系統集成有限公司