亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

測量網絡節(jié)點鄰近度的方法

文檔序號:7924060閱讀:287來源:國知局
專利名稱:測量網絡節(jié)點鄰近度的方法
測量網絡節(jié)點鄰近度的方法
技術領域
本發(fā)明涉及互聯網通信技術領域,尤其涉及一種測量網絡節(jié)點鄰近度的方法。背景技術
網絡節(jié)點之間的鄰近度信息對于因特網的網絡應用具有重要的參考意義。 由于在廣域網中通信時延對網絡操作的整個執(zhí)行時間與效率都有較大的影響, 因此在因特網的許多應用中,如果能夠預先測量到主機之間的網絡距離,就可 以明顯地提高應用程序的網絡傳輸性能。例如,對于即時通訊系統,與通信雙 方都較為鄰近的第三方節(jié)點,可以用作通信雙方的數據傳輸的中轉節(jié)點,從而 提供質量較高的中轉通道。對于文件共享/下載類網絡應用,選擇與下載用戶較為鄰近的節(jié)點作為種子節(jié)點,有利于提高下載速率。而對于P2P流媒體應用, 從鄰近節(jié)點獲取流媒體數據可以保證更優(yōu)質、更流暢的播放??偠灾瑴y量 網絡中各節(jié)點的鄰近度具有重要的意義。目前, 一般基于網絡坐標對節(jié)點之間的網絡距離進行測量,基于網絡坐標 的測量方法是一種通過少量的端到端測量來估算節(jié)點之間的網絡距離的測量方 法,其基本思路是將網絡建模為一個歐幾里德空間,并適當地定義其坐標系統 和距離函數。對于任何網絡節(jié)點,可以根據少量的測量結果將其映射到歐幾里 德空間的一個點上,從而根據任意兩個點的坐標,就可以估算出這兩個點之間 的距離?;谧鴺说姆椒ㄊ菍⒁蛱鼐W抽象成為一個幾何模型,在幾何空間中用 點表示因特網中的主機,這樣只需要每個終端主機維持一個坐標。主機間的距 離可以直接通過坐標的計算而得出。顯然,基于坐標的方法對于表示大量的位 置信息是非常有效的。全局網絡定位(Global Network Positioning, GNP)就是一種基于網絡坐標的測量系統。該系統測量節(jié)點之間距離的方法一般包括以下步驟首先挑選
一部分主機(一般5到20個)設為地標(landmark)節(jié)點,并將這些節(jié)點的坐 標計算出來作為其它節(jié)點的參考點;其它節(jié)點測量其自身到這些地標節(jié)點之間 的距離,然后計算出自身的相對坐標,將兩個節(jié)點的相對坐標進行比較,從而 得到這兩個節(jié)點之間的距離。但是,采用全局網絡定位的方式測量節(jié)點之間的距離有以下不足之處1、 這種方式需要額外的設備來發(fā)送額外的測試包,以測試節(jié)點到地標節(jié)點 之間的距離。利用額外的設備來發(fā)送大量的測試包會加重這些設備的負擔,影 響其本身的工作性能。而額外發(fā)送的測試包需要參與測量的各方需要配備額外 的協議,使得各方都支持測量協議,從而增加了系統復雜度。此外,額外發(fā)送 的測試包還大大加重了網絡的負載。2、 這種方式其坐標計算較為復雜,存在較大的計算開銷,且其準確度與地 標節(jié)點的布置密切關聯,測量結果受地標節(jié)點的影響較大,而布置合理精確的 地標節(jié)點需要較高難度的網絡規(guī)劃,因此其測量結果的穩(wěn)定性和可靠性較差。 此外,由于地標節(jié)點的坐標本身需要通過測量而計算,而其他節(jié)點坐標也需要 通過到地標節(jié)點的測量而計算,因此網絡波動會對測量結果產生兩次影響,因 此測量結果受網絡波動的影響較大,網絡輕微波動可能會產生截然不同的坐標 結果,從而對兩點間網絡距離估計造成的誤差也較大,進一步降低了測量結果 的穩(wěn)定性與可靠性。
發(fā)明內容本發(fā)明的目的是提供一種測量網絡節(jié)點鄰近度的方法,該方法簡單而便于 實施,且能夠穩(wěn)定可靠地獲得較為準確的測量結果。 為達到上述目的,本發(fā)明提出以下的技術方案一種測量網絡節(jié)點鄰近度的方法,包括以下步驟1)、客戶端節(jié)點向服務器列表中的服務器同時發(fā)送登錄請求,其中所述各 客戶端節(jié)點的服務器列表中設有至少一個相同的服務器地址; 2) 、客戶端節(jié)點根據所述服務器返回的登錄回應信息得到網絡位置矢量;3) 、釆用相似度算法根據所述網絡位置矢量計算至少兩個客戶端節(jié)點之間 的鄰近度。其中,所述網絡位置矢量為接入概率矢量,所述步驟2)具體包括過程 客戶端節(jié)點在接收所述服務器返回的登錄回應信息后,記錄最先返回登錄 成功的服務器地址數據;根據歷史記錄的服務器地址數據統計所述客戶端節(jié)點接入各服務器的概率 分別為x1、 x2......xN,其中各xi之和為1;根據以下公式得到客戶端節(jié)點的接入概率矢量X:X = (x1,x2,…,xN)。其中,所述步驟3)具體包括過程釆用相似度算法根據所述接入概率矢量計算兩個客戶端節(jié)點的接入概率矢 量夾角的余弦值或正弦值。優(yōu)選地,所述步驟3)具體包括過程釆用余弦相似度算法根據所述接入概率矢量計算兩個客戶端節(jié)點的接入概 率矢量夾角的余弦值disk其中,distx(A,B)表示客戶端節(jié)點A、 B之間接入概率矢量夾角的余弦值, 冗、^分別表示客戶端節(jié)點A、 B的接入概率矢量,xai (i=1,2, ...,N)和xbj (i=1,2, N)分別為客戶端節(jié)點A、 B接入服務器的概率。其中,所述網絡位置矢量為往返時延矢量,所述步驟2)具體包括過程 客戶端節(jié)點在接收服務器返回的登錄回應信息后,記錄當次所有返回的服 務器地址數據及登錄對應服務器的往返時延數據;根據所述記錄的服務器地址數據及對應往返時延數據計算所述客戶端節(jié)點
接收服務器回應信息的往返時延分別為t1、 t2......tN;根據以下公式得到客戶端節(jié)點的往返時延矢量T為T = (t1-1, t2-1,…,tN畫1)。其中,所述計算往返時延的過程具體包括取所述當次記錄的服務器地址數據及登錄對應服務器的往返時延數據作為 客戶端節(jié)點接收服務器回應信息的往返時延。其中,所述記錄所有返回的服務器地址及對應的往返時延過程之后,還進 一步包括將當次記錄的服務器地址數據及登錄對應服務器的往返時延數據與歷史記 錄的服務器地址數據及登錄對應服務器的往返時延數據的平均值進行比較,如 果兩者相差超過設定值,則取所述當次記錄的服務器地址數據及登錄對應服務 器的往返時延數據作為客戶端節(jié)點接收服務器回應信息的往返時延。其中,所述得到客戶端節(jié)點的往返時延矢量過程之后,還進一步包括將所述往返時延矢量與根據歷史記錄的返時延矢量數據的平均值得到的往 返時延矢量進行比較,如果兩者相差超過設定值,則取所述當次記錄數據重新 計算客戶端節(jié)點的往返時延矢量。其中,所述計算往返時延的過程具體包括從所述歷史記錄的服務器地址數據及登錄對應服務器的往返時延數據中取 兩次以上記錄數據的平均值作為所述客戶端節(jié)點接收服務器回應信息的往返時 延。其中,所述步驟3)具體包括過程采用相似度算法根據所述往返時延矢量計算兩個客戶端節(jié)點的往返時延矢 量夾角的余弦值或正弦值。優(yōu)選地,所述步驟3)具體包括過程釆用余弦相似度算法根據所述往返時延矢量計算兩個客戶端節(jié)點的往返時
延矢量夾角的余弦值distT:…/n ,i ')—'其中,distT(A,B)表示客戶端節(jié)點A、 B之間往返時延矢量夾角的余弦值, ^、界分別表示客戶端節(jié)點A、 B的往返時延矢量,t3i (i=1, 2, ..., N)和tbi 0=1, 2, ...,N)分別為客戶端節(jié)點A、 B接收服務器Si回應信息的往返時延。其中,所述步驟3)具體包括過程每個客戶端節(jié)點將自身的網絡位置矢量發(fā)送到其它客戶端節(jié)點,同時接收 其它客戶端節(jié)點的網絡位置矢量;各客戶端節(jié)點根據相似度算法計算其與一個其它客戶端節(jié)點之間的鄰近度。優(yōu)選地,所述客戶端節(jié)點之間通過gossip協議發(fā)送網絡位置矢量。其中,所述步驟3)具體包括過程各客戶端節(jié)點將網絡位置矢量上報到服務器或超級節(jié)點;所述服務器或超級節(jié)點根據相似度算法計算至少兩個客戶端節(jié)點之間的鄰 近度。優(yōu)選地,所述步驟1)中各客戶端節(jié)點的服務器列表中設置相同的服務器地址。從以上技術方案可以看出,本發(fā)明直接復用客戶端節(jié)點登錄服務器這一現 有的網絡操作,從登錄回應信息中獲取相應的數據,然后得到網絡位置矢量,再根據相似度算法即可測量出網絡節(jié)點間的鄰近度。本發(fā)明不需要額外的設備, 不需要安裝新的協議,也不需要發(fā)送額外的網絡測試包。既具有升級簡單、便 于推廣的優(yōu)點,又減輕了系統設備和網絡負載的負擔。

圖1為本發(fā)明方法的基本流程圖。
具體實施方式下面結合具體的實施例及說明書附圖對本發(fā)明的技術方案進行詳細的描述。本發(fā)明提供一種測量網絡節(jié)點鄰近度的方法,如圖1所示,該方法主要包 括以下步驟步驟S101、客戶端節(jié)點向服務器列表中的服務器同時發(fā)送登錄請求,其中所述各客戶端節(jié)點的服務器列表中設有至少一個相同的服務器地址。步驟S102、客戶端節(jié)點根據所述服務器返回的登錄回應信息獲得網絡位置 矢量。步驟S103、釆用相似度算法根據所述網絡位置矢量計算至少兩個客戶端節(jié) 點之間的鄰近度。對于步驟S101,客戶端節(jié)點一般以分布式登錄的形式接入服務器,分布式 登錄方式能更好地滿足用戶規(guī)模迅速膨脹、海量用戶接入對網絡的需求。在分 布式登錄系統中,分布設立有多個登錄服務器,單個客戶端節(jié)點只需向其中任 何一臺登錄服務器登錄成功即可??蛻舳斯?jié)點可以顯式輸入用戶ID與相關密碼, 在準入網絡之前進行嚴格的身份認證,通過身份認證之后方可接到服務器上; 客戶端節(jié)點還可以隱式生成一個計算機標識,并以此登錄到相關服務器。并行登錄方式是分布式登錄中的一種。在并行登錄方式中,客戶端節(jié)點根 據預先獲得的服務器列表,同時向列表中多個條目的登錄服務器請求登錄,第 一個返回的成功應答將被客戶端節(jié)點采納。在本發(fā)明中, 一般釆用并行登錄的方式,具體過程如下客戶端節(jié)點根據預先獲得的服務器列表,向列表中多個登錄服務器同時發(fā)出登錄請求,其中所述各客戶端節(jié)點的服務器列表中設有至少 一個相同的服務 器地址。
在本發(fā)明中,如果某兩個網絡節(jié)點所指向的登錄服務器集合沒有交集,則采用相似度算法的計算結果為o,無法準確測量這兩個客戶端節(jié)點之間的網絡距離。為了確保各個客戶端節(jié)點的參考登錄服務器集合存在交集,可以在各客戶 端節(jié)點的服務器列表中設定至少一個相同的服務器地址。當然,如果各客戶端 節(jié)點的服務器列表中設置的服務器地址完全相同,即其服務器列表中設定的登 錄服務器完全一致,則其測量的準確度就更高。在優(yōu)選的實施方式中,服務器 地址為服務器IP地址。對于步驟S102,各客戶端節(jié)點根據登錄服務器返回的登錄回應信息獲取服 務器地址數據和登錄對應服務器的往返時延數據,并以此獲取自身的網絡位置 矢量,所述網絡位置矢量包括接入概率矢量和往返延時矢量。首先,客戶端節(jié)點向多個登錄服務器發(fā)出登錄請求,在接收登錄回應信息 后,除了記錄原先正常記錄的回應信息外,客戶端節(jié)點還擴展記錄了服務器地址數據和登錄對應服務器的往返時延數據本次會話最終接入的服務器地址,即最先返回登錄成功的服務器地址; 登錄對應服務器的往返時延(RTT)。由于實際網絡中客戶端節(jié)點接收到的各服務器登錄回應與自身網絡情況密切相關,因此以上數據能夠在一定程度上 作為客戶端節(jié)點網絡的衡量。客戶端節(jié)點本機保持往返時延與接入服務器地址的一段時間內的歷史記 錄,在后續(xù)計算客戶端節(jié)點網絡位置時使用這些統計數據,從而減少單次樣本 帶來的誤差,提高整體準確度。記錄過程之后,客戶端節(jié)點根據獲取的服務器地址和往返時延計算該客戶 端節(jié)點的網絡矢量,網絡矢量一般包括接入概率矢量和往返時延矢量。對于時延抖動幅度較大的網絡,客戶端節(jié)點時延信息的準確度較低,采用
往返時延矢量計算鄰近度的測量結果準確度也降低,因此對于這種網絡可以優(yōu) 先采用接入概率矢量。其它網絡一般優(yōu)先釆用往返時延矢量對客戶端節(jié)點之間的鄰近度進行測量。對于步驟S103,在本發(fā)明中一般可以釆用相似度算法來獲得兩個客戶端節(jié)點的網絡位置矢量之間的余弦值或正弦值,通過余弦值或正弦值的大小測量兩 個客戶端節(jié)點之間的網絡距離。本發(fā)明釆用相似度算法計算節(jié)點間的鄰近度,計算過程簡單,且本發(fā)明只 關注網絡節(jié)點間的相對位置,不需要設置參考節(jié)點,因此不要額外、精確地布 置或選擇定位服務器資源,測量結果的穩(wěn)定性和可靠性較高。進一步,本發(fā)明 根據歷史記錄或當此登錄回應信息中的數據進行計算,網絡波動對測量誤差的 影響只有一次,因此網絡波動造成的影響相對較弱,進一步提高了測量結果的 穩(wěn)定性與可靠性。實施例一本實施例是在步驟S102中釆用客戶端節(jié)點基于接入概率的網絡位置矢量 一一接入概率矢量,其具體過程如下首先,客戶端節(jié)點在接收服務器返回的登錄回應信息時,記錄最先返回登 錄成功的服務器地址數據;然后結合歷史記錄的服務器地址數據統計所述客戶 端節(jié)點接入各服務器的概率??蛻舳斯?jié)點計算獲得某一服務器地址的次數與獲 得所有服務器地址總數的比例,得到其接入該服務器的概率,同理可得到其接 入其它服務器的概率??蛻舳斯?jié)點本機保持一段時間內服務器地址的歷史記錄,在后續(xù)計算客戶
端節(jié)點網絡位置時使用這些統計數據,從而減少單次樣本帶來的誤差,提高整 體準確度。釆用的歷史記錄越多,測量結果的精確度就越高。最后將服務器列表中客戶端節(jié)點進行登錄的服務器記為Si,各服務器分別為S1、 S2......SN,客戶端節(jié)點接入服務器Si的概率xi分別為x1、 x2......xN,很顯然,各xi之和為1,根據下列公式得到客戶端節(jié)點的接入概率矢量X為 X = (x1, x2,…,xN)。由于實際環(huán)境下客戶端節(jié)點會自動登錄到最先成功回應的服務器,因此這 里X整體上能夠表示客戶端節(jié)點與各個登錄服務器之間的連接關系,如果客戶 端節(jié)點幾乎總登錄至某臺服務器Si,則對應元素xi較大,其他元素都較為接近 0,因此矢量X雖能直觀反映網絡較為鄰近的登錄服務器,卻無法體現與其他服 務器間距的差異性,其粒度相對較粗。實施例二本實施例是在步驟S102中釆用客戶端節(jié)點基于接入延遲的網絡位置矢量 一_往返時延矢量,其具體過程如下首先,客戶端節(jié)點在接收服務器返回的登錄回應信息時,記錄當次所有返回的服務器地址數據及登錄對應服務器的往返時延數據;由服務器地址可以得 知本次哪些服務器返回了消息,進一步還可得知本次這些服務器的往返延時。然后,取所述當次記錄的服務器地址數據及登錄對應服務器的往返時延數 據作為客戶端節(jié)點接收服務器回應信息的往返時延。將服務器列表中客戶端節(jié)點進行登錄的服務器記為Si,各服務器分別為S1、S2......SN,客戶端節(jié)點接收服務器Si回應信息的往返時延ti分別為t1、t2......tN,根據下列公式得到客戶端節(jié)點的往返時延矢量T為t- (ti: tzV.., tisr1)。
由于矢量T的元素定義為各時延的倒數,如果某登錄服務器一直未返回回 應消息,則相應ti取值為°0,而如果時延越大(與對應登錄服務器網絡間距越遠), 對應的矢量元素ti—V就越小,反之,如果時延越小(與對應登錄服務器網絡間距越近)則對應的矢量元素ti—1就越大,充分體現與其他服務器間距的差異性。從 這個定義可以看出,往返時延矢量T涵蓋了每個登錄服務器的實際網絡時延, 并且較接入概率矢量X更為精確反映客戶端節(jié)點的網絡位置信息。實施例三本實施例也是在步驟S102中釆用客戶端節(jié)點基于接入延遲的網絡位置矢量一一往返時延矢量,與實施例二不同的是,實施例二中采用當次記錄的服務器地址數據及登錄對應服務器的往返時延數據進行矢量計算,而本實施例中釆用歷史記錄的服務器地址數據及登錄對應服務器的往返時延數據的平均值進行 計算,其具體過程如下首先,客戶端節(jié)點在接收服務器返回的登錄回應信息時,記錄當次所有返 回的服務器地址數據及登錄對應服務器的往返時延數據;由服務器地址可以得 知本次哪些服務器返回了消息,進一步還可得知本次這些服務器的往返延時。從歷史記錄的服務器地址數據及登錄對應服務器的往返時延數據中取兩次 以上記錄數據的平均值作為所述客戶端節(jié)點接收服務器回應信息的往返時延。 客戶端節(jié)點本機保持一段時間內往返時延的歷史記錄,在后續(xù)計算客戶端節(jié)點網絡位置時使用這些統計數據,從而減少單次樣本帶來的誤差,提高整體準確度。采用的歷史記錄越多,測量結果的精確度就越高。將服務器列表中客戶端節(jié)點進行登錄的各各服務器分別記作S1 、S2......SN,客戶端節(jié)點接收服務器Si回應信息的往返時延ti (i=1,2, ..., N),根據下列公式得到客戶端節(jié)點的往返時延矢量T為<formula>formula see original document page 16</formula>
由于矢量T的元素定義為各時延的倒數,如果某登錄服務器一直未返回回 應消息,則相應ti取值為w,而如果時延越大(與對應登錄服務器網絡間距越遠),對應的矢量元素tr、就越小,反之,如果時延越小(與對應登錄服務器網絡間距越近)則對應的矢量元素ti"就越大,充分體現與其他服務器間距的差異性。從這個定義可以看出,往返時延矢量T涵蓋了每個登錄服務器的實際網絡時延, 并且較接入概率矢量X更為精確反映客戶端節(jié)點的網絡位置信息。實施例四在實施例二的基礎上,本實施還在記錄所有返回的服務器地址及對應的往 返時延過程之后,將當次記錄的服務器地址數據及登錄對應服務器的往返時延 數據與歷史記錄的服務器地址數據及登錄對應服務器的往返時延數據的平均值 進行比較,如果兩者相差超過設定值,則取所述當次記錄的服務器地址數據及 登錄對應服務器的往返時延數據作為客戶端節(jié)點接收服務器回應信息的往返時 延,而不取歷史記錄的服務器地址數據及登錄對應服務器的往返時延數據的平 均值。這樣處理的意義在于,如果用戶計算機接入方式發(fā)生較大變動,例如攜帶 筆記本電腦出差時,前后的測量情況可能迥然不同,則該測量的準確度降低。 這時,應當優(yōu)先釆用當次登錄的服務器地址數據及登錄對應服務器的往返時延 數據進行測量,以保證測量結果的準確性。實施例五在實施例二的基礎上,本實施還在計算得到客戶端節(jié)點的往返時延矢量過 程之后,將所述往返時延矢量與根據歷史記錄的往返時延矢量數據的平均值得
到的往返時延矢量進行比較,如果兩者相差超過設定值,則取所述當次記錄數 據重新計算客戶端節(jié)點的往返時延矢量,而不取歷史記錄數據的平均值。本實施例的優(yōu)點與實施例四類似,不同之處在于實施例四中比較過程在接收記錄數據之后即進行判斷,而本實施例是在計算得出網絡位置矢量之后進 行比較過程。在本發(fā)明中,可以采用相似度算法根據所述接入概率矢量計算兩個客戶端 節(jié)點的接入概率矢量夾角的余弦值或正弦值以測量兩個客戶端節(jié)點之間的網絡 距離。在實施例一中,通過記錄客戶端節(jié)點登錄服務器返回的服務器地址數據, 得到了各客戶端節(jié)點接入概率矢量,本實施例是在實施例一的基礎上,采用余弦相似度算法對實施例一中得到的客戶端節(jié)點的接入概率矢量進行余弦相似度 計算,以測量兩個客戶端節(jié)點之間的網絡距離。當然,在不脫離本發(fā)明構思的 前提下,采用其它的相似度算法進行計算,也應當屬于本發(fā)明的保護范圍。以客戶端節(jié)點A、 B為例,其具體過程如下釆用余弦相似度算法根據接入概率矢量計算兩個客戶端節(jié)點的接入概率矢 量夾角的余弦值distx:其中,distx(A,B)表示客戶端節(jié)點A、 B之間接入概率矢量夾角的余弦值, ^、 B分別表示客戶端節(jié)點A、 B的接入概率矢量,xai和xbi分別為客戶端節(jié)實施例六
點A、 B接入服務器Si的概率(i=1,2, ...,N)。考慮兩個客戶端節(jié)點A與B, A基于接入概率的網絡位置矢量為Xa=(xa1, xa2,…,xaN)。類似地,B所對應的矢量Xb遵循同樣的定義Xb:(xb1,xb2,,.., xbN)。余弦相似度的幾何意義是兩個矢量夾角的余弦值,因此其值域是區(qū)間[O, 1]。 根據其數學特性,如果矢量的某一個元素相對較大(所有元素都是非負),則其 對計算它與另外矢量的余弦相似度的貢獻就較為顯著。因此,對于X這種粗粒 度的估計而言,如果兩個矢量中相同編號元素都較大(兩者登錄到某服務器的 概率都較大),則其余弦相似度也較大。本發(fā)明所定義的兩類粒度的矢量表示都能夠粗略表示節(jié)點的網絡坐標,且 較為準確估計出兩點間的網絡距離余弦相似度大,則兩節(jié)點網絡距離較近, 反之,余弦相似度小,兩節(jié)點網絡距離較遠。實施例七在本發(fā)明中,可以釆用相似度算法根據所述接入概率矢量計算兩個客戶端 節(jié)點的往返時延矢量夾角的余弦值或正弦值以測量兩個客戶端節(jié)點之間的網絡 距離。在實施例二、三、四、五中,通過記錄客戶端節(jié)點登錄服務器返回的服務 器地址數據和登錄對應服務器的往返時延數據,得到了各客戶端節(jié)點的往返時 延矢量,本實施例是在實施例二、三、四、五的基礎上,釆用余弦相似度算法 對上述實施例中得到的客戶端節(jié)點的往返時延矢量進行計算余弦相似度計算, 以測量兩個客戶端節(jié)點之間的網絡距離。當然,在不脫離本發(fā)明構思的前提下, 釆用其它的相似度算法進行計算,也應當屬于本發(fā)明的保護范圍。以客戶端節(jié)點A、 B為例,其具體過程如下采用余弦相似度算法根據往返時延矢量計算兩個客戶端節(jié)點的往返時延矢 量夾角的余弦值dist丁其中,distT(A,B)表示客戶端節(jié)點A、 B之間往返時延矢量夾角的余弦值, ^、界分別表示客戶端節(jié)點A、 B的往返時延矢量,tai和tbi分別為客戶端節(jié)點 A、 B接收服務器Si回應信息的往返時延(i=1,2, ...,N)??紤]兩個客戶端節(jié)點A與B, A基于接入延遲的網絡位置矢量為Ta=(ta1,ta2, ..., taN)。類似地,B所對應的矢量Tb遵循同樣的定義Tb=(tb1, tb2,…, tbN)。余弦相似度的幾何意義是兩個矢量夾角的余弦值,因此其值域是區(qū)間[O, 1]。 根據其數學特性,如果矢量的某一個元素相對較大(所有元素都是非負),則其 對計算它與另外矢量的余弦相似度的貢獻就較為顯著。因此,對于T這種細粒 度的估計而言,如果兩個矢量中相同編號元素都較大(兩者到某服務器的延遲 都較小,此時根據準確度較高且常用的網絡延遲的三角不等式原理考慮三個 點A、 B和C,任意兩點距離小于第三點與它們兩點距離之和,因此,如果距離 AB和AC都很小,則推斷BC距離也較小。本發(fā)明所定義的兩類粒度的矢量表示都能夠粗略表示節(jié)點的網絡坐標,且 較為準確估計出兩點間的網絡距離余弦相似度大,則兩節(jié)點網絡距離較近, 反之,余弦相似度小,兩節(jié)點網絡距離較遠。實施例八在上述所有實施例的基礎上,本實施例在步驟S102之后,包括過程每個客戶端節(jié)點將自身的網絡位置矢量發(fā)送到其它客戶端節(jié)點,同時接收
其它客戶端節(jié)點的網絡位置矢量;各客戶端節(jié)點根據相似度算法計算其與一個 其它客戶端節(jié)點之間的鄰近度。客戶端節(jié)點之間可以通過gossip協議等方式擴散網絡位置矢量,從而單個 客戶端節(jié)點都可以收集到其他所有客戶端節(jié)點的網絡位置矢量。gossip協議是 一種分布式協議,在p2p系統中分發(fā)信息,具有良好的可擴展性和更強的健壯性。在本實施例中,相似度計算過程在客戶端節(jié)點中完成,該客戶端節(jié)點可以 根據測量結果在后續(xù)的網絡應用中,優(yōu)先選擇鄰近度較高的客戶端節(jié)點。實施例九在上述所有實施例的基礎上,本實施例在步驟S102之后,包括過程各客戶端節(jié)點將網絡位置矢量上報到服務器或超級節(jié)點;所述服務器或超 級節(jié)點根據相似度算法計算至少兩個客戶端節(jié)點之間的鄰近度。在本實施例中,相似度計算過程在服務器或超級客戶端節(jié)點完成。所有的客戶端節(jié)點可以將網絡矢量信息都上報到服務器或超級客戶端節(jié)點進行統一管理,在鄰近或中轉節(jié)點選擇時,服務器或超級節(jié)點計算客戶端節(jié)點之間的網絡距離矩陣將其作為判斷指標之一,優(yōu)先考慮較為鄰近的節(jié)點。另外,服務器還可以將鄰近度信息用于節(jié)點的網絡聚類和分群需要說明的是,在本發(fā)明中,記錄服務器地址數據或登錄對應服務器的往 返時延數據的過程并不僅僅局限于由客戶端節(jié)點進行記錄,也可以在客戶端節(jié) 點接收登錄回應信息后,上傳到超級客戶端節(jié)點或服務器,由客戶端節(jié)點進行 記錄。
下面對本發(fā)明技術方案進行舉例說明,以利于本發(fā)明技術方案的理解當客戶端節(jié)點A登錄即時通訊工具時,每次嘗試5個服務器(S1到S5)。 客戶端節(jié)點A同時向這5個服務器發(fā)出登錄請求,在接收登錄回應時,客戶端 節(jié)點擴展記錄服務器地址數據和登錄對應服務器的往返時延數據,結合歷史數 據并根據上述網絡位置矢量定義,得到其基于接入概率的接入概率矢量XA為 (0.7, 0.1, 0.2, 0, 0),基于返回時延的往返時延矢量TA為(1CT1, 30: 20: 60—1, 200-1),這里矢量TA的各分量單位為毫秒—1。同樣,當客戶端節(jié)點B登錄即時通訊工具時,每次嘗試向5個服務器(S1 到S5)發(fā)送登錄請求??蛻舳斯?jié)點B同時向這5個服務器發(fā)出登錄請求,在接 收登錄回應時,客戶端節(jié)點擴展記錄服務器地址數據和登錄對應服務器的往返 時延數據,結合歷史數據并根據上述網絡位置矢量定義,得到其基于接入概率 的接入概率矢量XB為(0.2, 0.3, 0.2, 0.2, 0.1),基于返回時延的往返時延矢量 TB為(30—1, 20—1, 4CT1, 50—1, 90—1),這里矢量TB的各分量單位為亳秒—1。當客戶端節(jié)點C登錄即時通訊工具時,每次嘗試向5個服務器(S1到S5) 發(fā)送登錄請求??蛻舳斯?jié)點C同時向這5個服務器發(fā)出登錄請求,在接收登錄 回應時,客戶端節(jié)點擴展記錄服務器地址數據和登錄對應服務器的往返時延數 據,結合歷史數據并根據上述網絡位置矢量定義,得到其基于接入概率的接入 概率矢量XC為(0.5' 0.2, 0.2, 0, 0.1),基于返回時延的往返時延矢量TC為(20—1, 30—1, 40—1, 200—1, 60—1),這里矢量TC的各分量單位為亳秒人假設相關對象(集中服務器,或者某個客戶端節(jié)點)獲得A、 B、 C的X與 T矢量值。需要比較B、 C兩者誰距離A更近。根據公式計算<formula>formula see original document page 22</formula>得到distx(A, B)=0.6093, distx(A, C)=0.9569; distT(A, B)=0.8128, distT(A, C)=0.9464。由此可見,兩種情況下客戶端節(jié)點A、 C之間的鄰近度比客戶端節(jié) 點A、 B之間的鄰近度大,這說明客戶端節(jié)點A與客戶端節(jié)點C的網絡距離更 近,而客戶端節(jié)點A與客戶端節(jié)點B的網絡距離相對較遠,從而客戶端節(jié)點A 后續(xù)在選擇鄰近客戶端節(jié)點進行相關服務時,應當優(yōu)先選擇客戶端節(jié)點C。以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細, 但并不能因此而理解為對本發(fā)明專利范圍的限制。應當指出的是,對于本領域 的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和 改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附 權利要求為準。
權利要求
1、一種測量網絡節(jié)點鄰近度的方法,其特征在于,包括以下步驟1)、客戶端節(jié)點向服務器列表中的服務器同時發(fā)送登錄請求,其中所述各客戶端節(jié)點的服務器列表中設有至少一個相同的服務器地址;2)、客戶端節(jié)點根據所述服務器返回的登錄回應信息得到網絡位置矢量;3)、采用相似度算法根據所述網絡位置矢量計算至少兩個客戶端節(jié)點之間的鄰近度。
2、 根據權利要求1所述的測量網絡節(jié)點鄰近度的方法,其特征在于,所述 網絡位置矢量為接入概率矢量,所述步驟2)具體包括過程客戶端節(jié)點在接收所述服務器返回的登錄回應信息后,記錄最先返回登錄 成功的服務器地址數據;根據歷史記錄的服務器地址數據統計所述客戶端節(jié)點接入各服務器的概率 分別為x1、 x2......xN,其中各xi之和為1;根據以下公式得到客戶端節(jié)點的接入概率矢量X:<formula>formula see original document page 2</formula>
3、 根據權利要求2所述的測量網絡節(jié)點鄰近度的方法,其特征在于,所述 步驟3)具體包括過程釆用相似度算法根據所述接入概率矢量計算兩個客戶端節(jié)點的接入概率矢 量夾角的余弦值或正弦值。
4、 根據權利要求2所述的測量網絡節(jié)點鄰近度的方法,其特征在于,所述 步驟3)具體包括過程.-采用余弦相似度算法根據所述接入概率矢量計算兩個客戶端節(jié)點的接入概 率矢量夾角的余弦值distx:其中,distx(A,B)表示客戶端節(jié)點A、 B之間接入概率矢量夾角的余弦值, S、 ^分別表示客戶端節(jié)點A、 B的接入概率矢量,xai (i=1, 2, ..., N)和xbi (i=1,2, N)分別為客戶端節(jié)點A、 B接入服務器的概率。
5、 根據權利要求1所述的測量網絡節(jié)點鄰近度的方法,其特征在于,所述 網絡位置矢量為往返時延矢量,所述步驟2)具體包括過程客戶端節(jié)點在接收服務器返回的登錄回應信息后,記錄當次所有返回的服 務器地址數據及登錄對應服務器的往返時延數據;根據所述記錄的服務器地址數據及對應往返時延數據計算所述客戶端節(jié)點 接收服務器回應信息的往返時延分別為t1、 t2......tN;根據以下公式得到客戶端節(jié)點的往返時延矢量T為T = (t1畫1, t2-1,…,tN-1)。
6、 根據權利要求5所述的測量網絡節(jié)點鄰近度的方法,其特征在于,所述 計算往返時延的過程具體包括取所述當次記錄的服務器地址數據及登錄對應服務器的往返時延數據作為 客戶端節(jié)點接收服務器回應信息的往返時延。
7、 根據權利要求6所述的測量網絡節(jié)點鄰近度的方法,其特征在于,所述 記錄所有返回的服務器地址及對應的往返時延過程之后,還進一步包括將當次記錄的服務器地址數據及登錄對應服務器的往返時延數據與歷史記 錄的服務器地址數據及登錄對應服務器的往返時延數據的平均值進行比較,如 果兩者相差超過設定值,則取所述當次記錄的服務器地址數據及登錄對應服務 器的往返時延數據作為客戶端節(jié)點接收服務器回應信息的往返時延。
8、 根據權利要求6所述的測量網絡節(jié)點鄰近度的方法,其特征在于,所述 得到客戶端節(jié)點的往返時延矢量過程之后,還進一步包括將所述往返時延矢量與根據歷史記錄的返時延矢量數據的平均值得到的往 返時延矢量進行比較,如果兩者相差超過設定值,則取所述當次記錄數據重新 計算客戶端節(jié)點的往返時延矢量。
9、根據權利要求5所述的測量網絡節(jié)點鄰近度的方法,其特征在于,所述計算往返時延的過程具體包括從所述歷史記錄的服務器地址數據及登錄對應服務器的往返時延數據中取 兩次以上記錄數據的平均值作為所述客戶端節(jié)點接收服務器回應信息的往返時 延。
10、 根據權利要求5所述的測量網絡節(jié)點鄰近度的方法,其特征在于,所 述步驟3)具體包括過程采用相似度算法根據所述往返時延矢量計算兩個客戶端節(jié)點的往返時延矢 量夾角的余弦值或正弦值。
11、 根據權利要求5所述的測量網絡節(jié)點鄰近度的方法,其特征在于,所 述步驟3)具體包括過程采用余弦相似度算法根據所述往返時延矢量計算兩個客戶端節(jié)點的往返時 延矢量夾角的余弦值distT:其中,distT(A,B)表示客戶端節(jié)點A、 B之間往返時延矢量夾角的余弦值, ^、界分別表示客戶端節(jié)點A、 B的往返時延矢量,tai(i=1, 2,…,N)和tbi (i=1, 2, ..., N )分別為客戶端節(jié)點A、 B接收服務器Si回應信息的往返時延。
12、 根據權利要求1至11中任一項所述的測量網絡節(jié)點鄰近度的方法,其 特征在于,所述步驟3)具體包括過程每個客戶端節(jié)點將自身的網絡位置矢量發(fā)送到其它客戶端節(jié)點,同時接收其它客戶端節(jié)點的網絡位置矢量;各客戶端節(jié)點根據相似度算法計算其與一個其它客戶端節(jié)點之間的鄰近度。
13、 根據權利要求12所述的測量網絡節(jié)點鄰近度的方法,其特征在于,所 述客戶端節(jié)點之間通過gossip協議發(fā)送網絡位置矢量。
14、 根據權利要求1至11中任一項所述的測量網絡節(jié)點鄰近度的方法,其特征在于,所述步驟3)具體包括過程各客戶端節(jié)點將網絡位置矢量上報到服務器或超級節(jié)點;所述服務器或超級節(jié)點根據相似度算法計算至少兩個客戶端節(jié)點之間的鄰 近度。
15、 根據權利要求1所述的測量網絡節(jié)點鄰近度的方法,其特征在于,所 述步驟1 )中各客戶端節(jié)點的服務器列表中設置相同的服務器地址。
全文摘要
本發(fā)明公開了一種測量網絡節(jié)點鄰近度的方法,包括以下步驟1)客戶端節(jié)點向服務器列表中的服務器同時發(fā)送登錄請求,其中所述各客戶端節(jié)點的服務器列表中設有至少一個相同的服務器地址;2)客戶端節(jié)點根據所述服務器返回的登錄回應信息得到網絡位置矢量;3)采用相似度算法根據所述網絡位置矢量計算至少兩個客戶端節(jié)點之間的鄰近度。本發(fā)明直接復用客戶端節(jié)點登錄服務器的登錄回應信息得到網絡位置矢量,再根據相似度算法測量網絡節(jié)點間的鄰近度,不需要額外的設備,不需要安裝新的協議,也不需要發(fā)送額外的網絡測試包。既有升級簡單、便于推廣的優(yōu)點,又減輕了系統設備和網絡負載的負擔。
文檔編號H04L12/26GK101399713SQ200810198930
公開日2009年4月1日 申請日期2008年9月28日 優(yōu)先權日2008年9月28日
發(fā)明者鵬 胡 申請人:騰訊科技(深圳)有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1