據(jù)包;
[0023] (5. 3)如果目的節(jié)點心^,Rj n SC d=巾,并且3/ e /?,,節(jié)點i在SCd中至少存在 一個朋友節(jié)點,則選擇節(jié)點集合Mj= U I CCR i,k彡CCR thr或者CCR k,# CCR thr,k G SCd并且 i G Rj中的節(jié)點作為中繼點;
[0024] (5.4)否則,對于集合&中每個節(jié)點,計算它的朋友節(jié)點數(shù)目;選擇朋友節(jié)點數(shù)最
ru是集合L第k個節(jié)點,,I是集合的勢,是集合弋(中第i個節(jié)點;
[0025] (6)如果數(shù)據(jù)包攜帶者節(jié)點j在目的節(jié)點所在大社區(qū)外,則分為四種情況分別處 理:
[0026] (6. 1)如果目的節(jié)點d E Rj,則節(jié)點j直接轉(zhuǎn)發(fā)數(shù)據(jù)包給目的節(jié)點d ;并且如果 ,則選擇節(jié)點i作為中繼點轉(zhuǎn)發(fā)數(shù)據(jù)包;
[0027] (6. 2)如果目的節(jié)點心^,并且Rj n BC 巾,其中BC d表示目的節(jié)點d所在的 大社區(qū)們的節(jié)點集合,則選擇集合&n Be d中節(jié)點,而且在scd中朋友節(jié)點數(shù)目最多的節(jié)點
第W個節(jié)點,scd,k是集合SC (1第k個節(jié)點;
[0028] (6. 3)如果目的節(jié)點# &,Rj n BC d=巾,并且M e 乂,節(jié)點k存在朋友節(jié)點在集 合BCd中;如果節(jié)點k不唯一,則選擇在BC d中朋友節(jié)點數(shù)最多的節(jié)點作為中繼點,記為M b,
[0029] (6. 4)否則,對于集合Rj中每個節(jié)點,計算它們的朋友節(jié)點數(shù)目,則選擇朋友節(jié)點
[0030] 本發(fā)明的優(yōu)點是:
[0031] 本發(fā)明方法根據(jù)數(shù)據(jù)包攜帶者的三種不同位置設(shè)計了不同的數(shù)據(jù)轉(zhuǎn)發(fā)策略,具體 為在目的節(jié)點所在小社區(qū)內(nèi)、在目的節(jié)點所在小社區(qū)外且在目的節(jié)點所在大社區(qū)內(nèi)、在目 的節(jié)點所在大社區(qū)外,中繼節(jié)點的數(shù)量逐漸減少,可以大幅度地降低網(wǎng)絡(luò)開銷,同時接近傳 染病方法達到的最大傳遞率。
【附圖說明】
[0032] 圖1為本發(fā)明的流程示意圖。
[0033] 圖2a為數(shù)據(jù)包不同生存時間下數(shù)據(jù)轉(zhuǎn)發(fā)方法中傳遞率比較示意圖。
[0034] 圖2b為數(shù)據(jù)包不同生存時間下數(shù)據(jù)轉(zhuǎn)發(fā)方法中網(wǎng)絡(luò)開銷比較示意圖。
[0035] 圖2c為數(shù)據(jù)包不同生存時間下數(shù)據(jù)轉(zhuǎn)發(fā)方法中傳遞延遲比較示意圖。
【具體實施方式】
[0036] 如圖1所示,基于等級社區(qū)結(jié)構(gòu)的移動社交網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)發(fā)方法,該方法具體步驟 如下:
[0037] (1)網(wǎng)絡(luò)中節(jié)點統(tǒng)計其它節(jié)點與其聯(lián)系的次數(shù),并且根據(jù)朋友的定義計算自己的 朋友圈,具體過程如下:
[0038] (I. 1)變量&表示與節(jié)點j接觸過的節(jié)點集合,定義另外一個節(jié)點i對于節(jié)點j
數(shù),I & I是集合&的勢,r U是節(jié)點j的鄰居集合L中第k個節(jié)點;CCR u表示節(jié)點i對于 節(jié)點j的累計接觸次數(shù)平方,與節(jié)點j的鄰居集合&中所有節(jié)點跟節(jié)點j接觸次數(shù)平方和 的比值;
網(wǎng)絡(luò)中節(jié)點數(shù)目,A是一個實數(shù)可以根據(jù)不同的應(yīng)用場合而設(shè)定不同的值;
[0040] (1. 3)在節(jié)點j,如果另外一個節(jié)點i對于節(jié)點j的累計接觸比例CCRi, j彡CCR tte, 則稱節(jié)點i屬于節(jié)點的j的朋友圈;
[0041] (2)節(jié)點相遇時交換彼此的朋友圈,通過計算得到網(wǎng)絡(luò)朋友關(guān)系圖,具體過程如 下:
[0042] (2. 1)如果節(jié)點i和節(jié)點j屬于彼此的朋友圈,即CCRi,」彡CCR 而且 CCRli多CCRtte,則稱節(jié)點i和節(jié)點j是朋友關(guān)系,當節(jié)點i和節(jié)點j是朋友關(guān)系時,定義變 量fu的值為1,否則它的值為0;
[0043] (2. 2)通過相遇的節(jié)點彼此交換朋友圈,每個節(jié)點可以得到一個網(wǎng)絡(luò)朋友關(guān)系圖, 用G = (V,E)表示;其中,V表示圖中的節(jié)點集合,E表示圖中邊的集合;如果節(jié)點i和節(jié)點 j是朋友關(guān)系,則它們之間存在一條邊;
[0044] (3)數(shù)據(jù)包攜帶者根據(jù)網(wǎng)絡(luò)朋友關(guān)系圖計算目的節(jié)點所在的大小社區(qū),為數(shù)據(jù)轉(zhuǎn) 發(fā)做準備,具體過程如下:
[0045] (3. 1) -般情況下,一個節(jié)點的朋友們之間也有可能是朋友,因此,將彼此之間都 是朋友關(guān)系的節(jié)點集合定義為一個小社區(qū);可以根據(jù)網(wǎng)絡(luò)朋友關(guān)系圖G= (V,E)得到目的 節(jié)點所在大小社區(qū)們;
[0046] (3.2)小社區(qū)是一個所有成員節(jié)點彼此都是朋友的節(jié)點集合,如果可以找到目的 節(jié)點所在的小社區(qū),就可以直接或者間接地通過這些目的節(jié)點的朋友快速有效地傳遞數(shù)據(jù) 包到達目的節(jié)點;
[0047] (3.3)接著,在小社區(qū)的基礎(chǔ)上,定義一個由若干小社區(qū)組成的大社區(qū),它的定義 為:如果兩個小社區(qū)之間存在至少K對朋友節(jié)點,稱它們屬于同一個大社區(qū),根據(jù)目的節(jié)點 所在的小社區(qū)之間的朋友對數(shù)目,可以得到目的節(jié)點所在的大社區(qū)們;
[0048] (4)如果數(shù)據(jù)包攜帶者節(jié)點j位于目的節(jié)點所在小社區(qū)內(nèi),則節(jié)點j會將數(shù)據(jù)包傳 遞給每一個屬于SC d且沒有該數(shù)據(jù)包拷貝的相遇節(jié)點,從而迅速有效地傳遞數(shù)據(jù)包給目的 節(jié)點d;其中,變量SCd表示目的節(jié)點d所在的小社區(qū)們的節(jié)點集合;同時,為了節(jié)省網(wǎng)絡(luò)資 源和考慮到小社區(qū)的節(jié)點之間的頻繁接觸情況,限制數(shù)據(jù)包在小社區(qū)中最多經(jīng)過三跳到達 目的節(jié)點。
[0049] (5)如果數(shù)據(jù)包攜帶者節(jié)點j在目的節(jié)點所在小社區(qū)外且在目的節(jié)點所在的大社 區(qū)內(nèi),則分為四種情況分別處理:
[0050] (5. 1)如果目的節(jié)點d G Rj,節(jié)點j直接轉(zhuǎn)發(fā)數(shù)據(jù)包給目的節(jié)點d;
[0051] (5. 2)如果目的節(jié)點心乂,并且SMeAniSCrf,則選擇節(jié)點i作為中繼點轉(zhuǎn)發(fā)數(shù) 據(jù)包;
[0052](5. 3)如果目的節(jié)點心A,Rj n SC d=巾,并且]e &,節(jié)點i在SCd中至少存在 一個朋友節(jié)點,則選擇節(jié)點集合Mj= U I CCR i,k彡CCR thr或者CCR k,# CCR thr,k G SCd并且 i G Rj中的節(jié)點作為中繼點;
[0053] (5.4)否則,對于集合Rj中每個節(jié)點,計算它的朋友節(jié)點數(shù)目;選擇朋友節(jié)點數(shù)最
是集合L第k個節(jié)點,|\,|是集合\,的勢八^是集合弋,,中第i個節(jié)點;
[0054] (6)數(shù)據(jù)包攜帶者節(jié)點j在目的節(jié)點所在大社區(qū)外,則分為四種情況分別處理:
[0055] (6. 1)如果目的節(jié)點d e Rj,則節(jié)點j直接轉(zhuǎn)發(fā)數(shù)據(jù)包給目的節(jié)點d ;并且如果 ,則選擇節(jié)點i作為中繼點轉(zhuǎn)發(fā)數(shù)據(jù)包;
[0056] (6. 2)如果目的節(jié)點心弋,并且Rj n BC 巾,其中BC d表示目的節(jié)點d所在的 大社區(qū)們的節(jié)點集合,則選擇集合&n Be d中節(jié)點,而且在scd中朋友節(jié)點數(shù)目最多的節(jié)點
第W個節(jié)點,scd,k是集合SC (1第k個節(jié)點;
[0057] (6. 3)如果目的節(jié)點心^,Rj n BC d=巾,并且說e ^,節(jié)點k存在朋友節(jié)點在集 合BCd中;如果節(jié)點k不唯一,則選擇在BC d中朋友節(jié)點數(shù)最多的節(jié)點作為中繼點,記為M b,
[0058] (6. 4)否則,對于集合Rj中每個節(jié)點,計算它們的朋友節(jié)點數(shù)目,則選擇朋友節(jié)點
[0059] 性能評估
[0060] 通過仿真實驗將本發(fā)明方法與現(xiàn)有具有代表性的傳染病Epidemic方法、基于社 會群體SGBR方法和總聯(lián)系次數(shù)TotalCon方法進行性能比較。在傳染病Epidemic方法中, 數(shù)據(jù)攜帶者會將數(shù)據(jù)包復(fù)制給所有相遇且沒有數(shù)據(jù)包的節(jié)點。基于社會群體SGBR方法則 是使得數(shù)據(jù)包在不同組