一種基于云的數(shù)據(jù)獲取方法
【專利摘要】本發(fā)明提供了一種基于云的數(shù)據(jù)獲取方法,包括一個(gè)由移動(dòng)節(jié)點(diǎn)構(gòu)成的網(wǎng)絡(luò),網(wǎng)絡(luò)中一個(gè)數(shù)據(jù)ID定義一種類型的數(shù)據(jù),網(wǎng)絡(luò)中能夠提供同一種類型數(shù)據(jù)的移動(dòng)節(jié)點(diǎn)構(gòu)建成一個(gè)k?anycast組,該k?anycast組由定義該種類型數(shù)據(jù)的數(shù)據(jù)ID唯一標(biāo)識(shí),一個(gè)k?anycast組里的移動(dòng)節(jié)點(diǎn)稱為骨干節(jié)點(diǎn)。移動(dòng)節(jié)點(diǎn)通過(guò)本發(fā)明所提供的數(shù)據(jù)獲取方法能夠從同時(shí)從多個(gè)節(jié)點(diǎn)獲取數(shù)據(jù),從而有效降低了獲取數(shù)據(jù)的延遲和代價(jià),提高了服務(wù)質(zhì)量,本發(fā)明可應(yīng)用于道路路況監(jiān)測(cè)、車輛管理等領(lǐng)域,具有廣泛的應(yīng)用前景。
【專利說(shuō)明】
-種基于云的數(shù)據(jù)獲取方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及一種數(shù)據(jù)獲取方法,尤其設(shè)及的是一種基于云的數(shù)據(jù)獲取方法。
【背景技術(shù)】
[0002] 云是能夠提供本地服務(wù)的一種服務(wù)模式。近年來(lái),很多研究工作者致力于云的研 究,W便使用戶能夠快速獲取網(wǎng)絡(luò)服務(wù)。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,云會(huì)成為未來(lái)提供服務(wù)的一 種模式。
[0003] 目前,云的實(shí)現(xiàn)模式是通過(guò)廣播來(lái)實(shí)現(xiàn),因此延遲和代價(jià)都比較大,降低了網(wǎng)絡(luò)服 務(wù)性能。因此,如何降低云提供服務(wù)的延遲和代價(jià)成為近年來(lái)研究的熱點(diǎn)問(wèn)題。
【發(fā)明內(nèi)容】
[0004] 發(fā)明目的:本發(fā)明所要解決的技術(shù)問(wèn)題是針對(duì)現(xiàn)有技術(shù)的不足,提供一種基于云 的數(shù)據(jù)獲取方法。
[0005] 本發(fā)明通過(guò)單播取代廣播的方式來(lái)實(shí)現(xiàn)云,從而降低云提供服務(wù)的延遲和代價(jià), 從而有效提局網(wǎng)絡(luò)服務(wù)性能。
[0006] 技術(shù)方案:本發(fā)明公開了 一種基于云的數(shù)據(jù)獲取方法,包括一個(gè)由移動(dòng)節(jié)點(diǎn)構(gòu)成 的網(wǎng)絡(luò),網(wǎng)絡(luò)中一個(gè)數(shù)據(jù)ID定義一種類型的數(shù)據(jù),網(wǎng)絡(luò)中能夠提供同一種類型數(shù)據(jù)的移動(dòng) 節(jié)點(diǎn)構(gòu)建成一個(gè)k-anycast組,例如提供某部電視劇,該k-anycast組由定義該種類型數(shù)據(jù) 的數(shù)據(jù)ID唯一標(biāo)識(shí),一個(gè)k-any cast組里的移動(dòng)節(jié)點(diǎn)稱為骨干節(jié)點(diǎn);anycast是任播通信,k- anycast通信允許一個(gè)k-anycast組中的多個(gè)成員進(jìn)行任播通信;
[0007]在一個(gè)包含X個(gè)骨干節(jié)點(diǎn)且能提供數(shù)據(jù)C的k-anycast組中,X> 2,骨干節(jié)點(diǎn)Βχ由唯 一網(wǎng)絡(luò)前綴Μχ標(biāo)識(shí),X含X含l;k-anycast組由網(wǎng)絡(luò)前綴集合G定義,如公式(1)所示;數(shù)據(jù)巧旨 的是電視劇的內(nèi)容,數(shù)據(jù)ID C指電視劇的名稱或者代號(hào);
[000引
[0009] 骨干節(jié)點(diǎn)或者移動(dòng)節(jié)點(diǎn)的地址包括兩個(gè)部分:i比特的網(wǎng)絡(luò)前綴和j比特的節(jié)點(diǎn) ID;網(wǎng)絡(luò)前綴包括化k特的數(shù)據(jù)ID和(i-k)比特的骨干ID,節(jié)點(diǎn)ID包括化k特的數(shù)據(jù)ID和(j- k)比特的內(nèi)部ID,i,j和k為小于64的正整數(shù);
[0010] 骨干節(jié)點(diǎn)Βχ啟動(dòng)后,創(chuàng)建一個(gè)臨時(shí)地址,該臨時(shí)地址的網(wǎng)絡(luò)前綴為i比特的隨機(jī) 數(shù),節(jié)點(diǎn)ID為j比特的隨機(jī)數(shù);骨干節(jié)點(diǎn)Βχ廣播一個(gè)地址創(chuàng)建消息,消息源地址為臨時(shí)地址, 負(fù)載為一個(gè)隨機(jī)數(shù)和數(shù)據(jù)ID C;骨干節(jié)點(diǎn)Βχ等待一定時(shí)間,例如1分鐘,在接收到同一個(gè)k- anycast組里的其他X-1個(gè)骨干節(jié)點(diǎn)廣播的地址創(chuàng)建消息后,通過(guò)下述算法判斷骨干節(jié)點(diǎn)Byi 和骨干節(jié)點(diǎn)By2的優(yōu)先級(jí),yl辛y2:
[00川步驟101:開始;
[001^ 步驟102:骨干節(jié)點(diǎn)Βχ判斷骨干節(jié)點(diǎn)Byi的網(wǎng)絡(luò)前綴是否等于骨干節(jié)點(diǎn)By2的網(wǎng)路前 綴,如果是,則執(zhí)行步驟104,否則執(zhí)行步驟103;
[OOU]步驟103:如果骨干節(jié)點(diǎn)Byl的網(wǎng)絡(luò)前綴大于骨干節(jié)點(diǎn)By2的網(wǎng)絡(luò)前綴,骨干節(jié)點(diǎn)Bx則 判斷骨干節(jié)點(diǎn)Byl的優(yōu)先級(jí)大于骨干節(jié)點(diǎn)By2,如果骨干節(jié)點(diǎn)Byl的網(wǎng)絡(luò)前綴小于骨干節(jié)點(diǎn)By2 的網(wǎng)絡(luò)前綴,骨干節(jié)點(diǎn)Bx則判斷骨干節(jié)點(diǎn)Byl的優(yōu)先級(jí)小于骨干節(jié)點(diǎn)By2,執(zhí)行步驟107;
[0014]步驟104:骨干節(jié)點(diǎn)Bx判斷骨干節(jié)點(diǎn)Byl的節(jié)點(diǎn)ID是否等于骨干節(jié)點(diǎn)By2的節(jié)點(diǎn)ID,如 果是,則執(zhí)行步驟106,否則執(zhí)行步驟105;
[001引步驟105:如果骨干節(jié)點(diǎn)Byl的節(jié)點(diǎn)ID大于骨干節(jié)點(diǎn)By2的節(jié)點(diǎn)ID,骨干節(jié)點(diǎn)Bx則判斷 骨干節(jié)點(diǎn)Byl的優(yōu)先級(jí)大于骨干節(jié)點(diǎn)By2,如果骨干節(jié)點(diǎn)Byl的節(jié)點(diǎn)ID小于骨干節(jié)點(diǎn)By2的節(jié)點(diǎn) ID,骨干節(jié)點(diǎn)Bx則判斷骨干節(jié)點(diǎn)Byl的優(yōu)先級(jí)小于骨干節(jié)點(diǎn)By2,執(zhí)行步驟107;
[0016]步驟106:如果骨干節(jié)點(diǎn)Byl廣播的地址創(chuàng)建消息中的隨機(jī)數(shù)大于骨干節(jié)點(diǎn)By2廣播 的地址創(chuàng)建消息中的隨機(jī)數(shù),骨干節(jié)點(diǎn)Bx則判斷骨干節(jié)點(diǎn)Byl的優(yōu)先級(jí)大于骨干節(jié)點(diǎn)By2,如 果骨干節(jié)點(diǎn)Byl廣播的地址創(chuàng)建消息中的隨機(jī)數(shù)小于骨干節(jié)點(diǎn)By2廣播的地址創(chuàng)建消息中的 隨機(jī)數(shù),骨干節(jié)點(diǎn)Bx則判斷骨干節(jié)點(diǎn)Byl的優(yōu)先級(jí)小于骨干節(jié)點(diǎn)By2;
[0017] 步驟107:結(jié)束;
[001引骨干節(jié)點(diǎn)Bx將同一個(gè)k-anycast組中的X個(gè)骨干節(jié)點(diǎn)按照優(yōu)先級(jí)遞增排序,如果骨 干節(jié)點(diǎn)Bx的優(yōu)先級(jí)在X骨干節(jié)點(diǎn)中的排序值為Px,x ^ Px ^ 1,骨干節(jié)點(diǎn)Bx則將自己的骨干ID 設(shè)置為化,同時(shí)構(gòu)建一個(gè)地址,該地址的網(wǎng)絡(luò)前綴中的數(shù)據(jù)ID為C,節(jié)點(diǎn)ID為零,同時(shí)根據(jù)公 式(2)構(gòu)建網(wǎng)絡(luò)前綴集合G;
[0019]
[0020] 網(wǎng)絡(luò)前綴為y的骨干節(jié)點(diǎn)根據(jù)公式(3-4)獲取內(nèi)部ID空間[L(y),U(y)],X>y>l:
[0023] 通過(guò)上述過(guò)程,骨干節(jié)點(diǎn)獲取了具有唯一性的地址,從而確保了通信的正確性。
[0024] 本發(fā)明所述方法中,移動(dòng)節(jié)點(diǎn)和骨干節(jié)點(diǎn)配置地址后在一跳范圍內(nèi)廣播信標(biāo)消 息,沒有配置地址的移動(dòng)節(jié)點(diǎn)Μ收到一個(gè)信標(biāo)消息后,如果該信標(biāo)消息的源地址的網(wǎng)絡(luò)前綴 與骨干節(jié)點(diǎn)Βχ的網(wǎng)絡(luò)前綴相同,那么移動(dòng)節(jié)點(diǎn)Μ根據(jù)下述過(guò)程從骨干節(jié)點(diǎn)Βχ獲取節(jié)點(diǎn)ID:
[00巧]步驟201:開始;
[0026] 步驟202:移動(dòng)節(jié)點(diǎn)Μ構(gòu)建一個(gè)臨時(shí)地址,該臨時(shí)地址的網(wǎng)絡(luò)前綴為i比特的隨機(jī) 數(shù),節(jié)點(diǎn)ID為j比特的隨機(jī)數(shù),移動(dòng)節(jié)點(diǎn)Μ發(fā)送一個(gè)地址請(qǐng)求消息,該消息的源地址為臨時(shí)地 址,目的地址為骨干節(jié)點(diǎn)Βχ的地址;
[0027] 步驟203:骨干節(jié)點(diǎn)Βχ收到地址請(qǐng)求消息后,從內(nèi)部ID空間中選擇一個(gè)未分配的內(nèi) 部ID,然后向移動(dòng)節(jié)點(diǎn)Μ返回一個(gè)地址響應(yīng)消息,地址響應(yīng)消息負(fù)載為骨干節(jié)點(diǎn)Bx所在k- any cast組的網(wǎng)絡(luò)前綴集合G和分配的內(nèi)部ID,同時(shí)將分配的內(nèi)部ID標(biāo)記為已分配狀態(tài);
[002引步驟204:移動(dòng)節(jié)點(diǎn)Μ將地址響應(yīng)消息中的內(nèi)部ID與骨干節(jié)點(diǎn)Bx的網(wǎng)絡(luò)前綴中的數(shù) 據(jù)ID C相結(jié)合構(gòu)建成具有唯一性的節(jié)點(diǎn)ID,同時(shí)保存網(wǎng)絡(luò)前綴集合G;移動(dòng)節(jié)點(diǎn)Μ將節(jié)點(diǎn)ID 與骨干節(jié)點(diǎn)Bx的網(wǎng)絡(luò)前綴相結(jié)合構(gòu)建成一個(gè)地址,并開始在一跳范圍內(nèi)廣播信標(biāo)消息,消 息的源地址為新獲取的地址;
[00巧]步驟205:結(jié)束。
[0030] 通過(guò)上述過(guò)程,移動(dòng)節(jié)點(diǎn)獲取了具有唯一性的地址,從而確保了通信的正確性。
[0031] 本發(fā)明所述方法中,由數(shù)據(jù)ID C標(biāo)識(shí)的k-anycast組由X個(gè)骨干節(jié)點(diǎn)構(gòu)成,X個(gè)骨干 節(jié)點(diǎn)的網(wǎng)絡(luò)前綴集合為G,X個(gè)骨干節(jié)點(diǎn)能夠提供數(shù)據(jù)ID C定義的數(shù)據(jù)C;數(shù)據(jù)C被劃分為Z個(gè) 部分,每個(gè)數(shù)據(jù)部分cz由數(shù)據(jù)部分ID dz唯一標(biāo)識(shí),Z含Z含1,如公式(4)所示;
[0032]
[0033] 移動(dòng)節(jié)點(diǎn)通過(guò)數(shù)據(jù)地址獲取數(shù)據(jù),一個(gè)數(shù)據(jù)地址的長(zhǎng)度為(i+j)比特,由四個(gè)部分 構(gòu)成,第一個(gè)部分為化k特的數(shù)據(jù)ID,第二部分為(i-k)比特的保留域,其值為0,第Ξ部分為 k比特的數(shù)據(jù)部分ID集合域,第四部分為(i-k)比特的保留域,其值為0;其中第一部分的數(shù) 據(jù)ID表明移動(dòng)節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)的數(shù)據(jù)ID,第Ξ部分的數(shù)據(jù)部分ID集合域表明該數(shù)據(jù)的部分?jǐn)?shù) 據(jù);i,j和k為小于64的正整數(shù);
[0034] 移動(dòng)節(jié)點(diǎn)Μ通過(guò)下述過(guò)程獲取數(shù)據(jù)C:
[0035] 步驟301:開始;
[0036] 步驟302:移動(dòng)節(jié)點(diǎn)Μ利用網(wǎng)絡(luò)前綴集合G構(gòu)建X個(gè)骨干節(jié)點(diǎn)的地址,并通過(guò)定位功 能獲取所有X個(gè)骨干節(jié)點(diǎn)的地理信息,例如手機(jī)的定位功能,然后選取g個(gè)距離最近的骨干 節(jié)點(diǎn),|G|,g^Z,并利用運(yùn)g個(gè)骨干節(jié)點(diǎn)的網(wǎng)絡(luò)前綴和自己的節(jié)點(diǎn)ID構(gòu)建g個(gè)地址,記 做Sx,l含X含g,然后構(gòu)建g個(gè)數(shù)據(jù)地址,記做Dx.在數(shù)據(jù)地址Dx中,數(shù)據(jù)ID為C,數(shù)據(jù)部分ID集 合為Ρχ,其中數(shù)據(jù)部分ID集合Px定義了數(shù)據(jù)部分Cx,如公式(5)所示,其中數(shù)據(jù)部分ID集合Px 中任一個(gè)元素 dx-e定義了數(shù)據(jù)部分cx-e,1含e含I Px I,數(shù)據(jù)部分Cx滿足公式巧)~(7);
[0040] 步驟303:移動(dòng)節(jié)點(diǎn)Μ發(fā)送g個(gè)數(shù)據(jù)請(qǐng)求消息也,在數(shù)據(jù)請(qǐng)求消息也中,目的地址為數(shù) 據(jù)地址Dx,源地址為地址Sx;
[0041] 步驟304:根據(jù)地址Sx中的網(wǎng)絡(luò)前綴,數(shù)據(jù)請(qǐng)求消息也向網(wǎng)絡(luò)前綴與地址Sx的網(wǎng)絡(luò) 前綴相同的骨干節(jié)點(diǎn)Bx進(jìn)行路由;
[0042] 步驟305:骨干節(jié)點(diǎn)Bx收到數(shù)據(jù)請(qǐng)求消息也后判斷自己是否能提供數(shù)據(jù)部分Cx,如 果能,執(zhí)行步驟307,否則執(zhí)行步驟306;
[0043] 步驟306:骨干節(jié)點(diǎn)Bx執(zhí)行步驟401~414創(chuàng)建Cx;
[0044] 步驟307:骨干節(jié)點(diǎn)Bx向移動(dòng)節(jié)點(diǎn)Μ返回?cái)?shù)據(jù)響應(yīng)消息Rx,數(shù)據(jù)響應(yīng)消息Rx中的負(fù)載 為數(shù)據(jù)部分Cx,目的地址為地址Sx,源地址為數(shù)據(jù)地址Dx,
[0045] 步驟308:數(shù)據(jù)響應(yīng)消息Rx向移動(dòng)節(jié)點(diǎn)Μ進(jìn)行路由,如果在路由過(guò)程中,中間節(jié)點(diǎn)也 需要數(shù)據(jù)部分Cx,則保存數(shù)據(jù)響應(yīng)消息Rx從而獲取數(shù)據(jù)部分Cx;
[0046] 步驟309:移動(dòng)節(jié)點(diǎn)Μ在收到g個(gè)數(shù)據(jù)響應(yīng)消息后,獲取了數(shù)據(jù)C;
[0047] 步驟310:結(jié)束;
[0048] 移動(dòng)節(jié)點(diǎn)通過(guò)上述過(guò)程能夠快速獲取數(shù)據(jù)C;
[0049] 骨干節(jié)點(diǎn)Bx如果不能提供數(shù)據(jù)部分Cx,則根據(jù)下述過(guò)程創(chuàng)建數(shù)據(jù)部分Cx,其中,參 數(shù)h初始值設(shè)置為0,網(wǎng)絡(luò)直徑最大值為Η:
[0化0] 步驟401:開始;
[0051] 步驟402:骨干節(jié)點(diǎn)Βχ在h跳范圍內(nèi)廣播一個(gè)資源請(qǐng)求消息,該消息的負(fù)載為參數(shù)h 和W及能夠創(chuàng)建數(shù)據(jù)部分Cx的資源列表,例如處理器,傳感器等等;
[0052] 步驟403:判斷收到資源請(qǐng)求消息的節(jié)點(diǎn)是否能提供資源請(qǐng)求消息中資源列表中 的資源,如果能提供,則進(jìn)行步驟404,否則進(jìn)行步驟405;
[0053] 步驟404:收到資源請(qǐng)求消息的節(jié)點(diǎn)向骨干節(jié)點(diǎn)Bx發(fā)送一個(gè)資源響應(yīng)消息,該消息 的負(fù)載為自己能提供的資源列表;
[0054] 步驟405:收到資源請(qǐng)求消息的節(jié)點(diǎn)將h遞減1,判斷h是否大于0,如果是,進(jìn)行步驟 406,否則進(jìn)行步驟407;
[0055] 步驟406:收到資源請(qǐng)求消息的節(jié)點(diǎn)轉(zhuǎn)發(fā)資源請(qǐng)求消息,執(zhí)行步驟403;
[0056] 步驟407:骨干節(jié)點(diǎn)Bx判斷所有返回的資源響應(yīng)消息中的資源是否能構(gòu)建數(shù)據(jù)部 分Cx,如果能,進(jìn)行步驟410,否則進(jìn)行步驟408;
[0057] 步驟408:骨干節(jié)點(diǎn)Bx判斷參數(shù)h是否等于H,如果是,進(jìn)行步驟414,否則執(zhí)行步驟 409;
[0化引步驟409:骨干節(jié)點(diǎn)Bx將h遞增1,執(zhí)行步驟402;
[0059] 步驟410:骨干節(jié)點(diǎn)Bx向每個(gè)返回資源響應(yīng)消息的節(jié)點(diǎn)發(fā)送一個(gè)數(shù)據(jù)創(chuàng)建消息,該 消息的負(fù)載為創(chuàng)建數(shù)據(jù)部分Cx的子任務(wù)列表;
[0060] 步驟411:骨干節(jié)點(diǎn)Bx收到數(shù)據(jù)創(chuàng)建消息后,執(zhí)行消息中的子任務(wù)W獲取數(shù)據(jù),然 后向骨干節(jié)點(diǎn)Bx返回一個(gè)數(shù)據(jù)創(chuàng)建響應(yīng)消息,消息負(fù)載為執(zhí)行子任務(wù)獲取的數(shù)據(jù);
[0061] 步驟412:骨干節(jié)點(diǎn)Bx收到所有的數(shù)據(jù)創(chuàng)建響應(yīng)消息后,構(gòu)建數(shù)據(jù)部分Cx,同時(shí)向同 一個(gè)k-anycast組中的其他骨干節(jié)點(diǎn)發(fā)送一條數(shù)據(jù)分享消息,消息負(fù)載為數(shù)據(jù)部分Cx;
[0062] 步驟413:其他骨干節(jié)點(diǎn)收到骨干節(jié)點(diǎn)Bx發(fā)送的數(shù)據(jù)分享消息后,保存數(shù)據(jù)部分Cx;
[0063] 步驟414:結(jié)束;
[0064] 通過(guò)上述過(guò)程,與骨干節(jié)點(diǎn)Bx同一個(gè)k-anycast組的骨干成員在收到所有的數(shù)據(jù) 分享消息后,根據(jù)公式(6)創(chuàng)建數(shù)據(jù)C并保存數(shù)據(jù)C。
[0065] 通過(guò)上述過(guò)程,骨干節(jié)點(diǎn)能夠快速創(chuàng)建數(shù)據(jù)C并保存數(shù)據(jù)C。
[0066] 有益效果:本發(fā)明提供了 一種基于云的數(shù)據(jù)獲取方法,移動(dòng)節(jié)點(diǎn)通過(guò)本發(fā)明所提 供的數(shù)據(jù)獲取方法能夠從同時(shí)從多個(gè)節(jié)點(diǎn)獲取數(shù)據(jù),從而有效降低了獲取數(shù)據(jù)的延遲和代 價(jià),提高了服務(wù)質(zhì)量,本發(fā)明可應(yīng)用于道路路況監(jiān)測(cè)、車輛管理等領(lǐng)域,具有廣泛的應(yīng)用前 景。
【附圖說(shuō)明】
[0067] 下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明做更進(jìn)一步的具體說(shuō)明,本發(fā)明的上述 和/或其他方面的優(yōu)點(diǎn)將會(huì)變得更加清楚。
[0068] 圖1為本發(fā)明所述的網(wǎng)絡(luò)體系結(jié)構(gòu)示意圖。
[0069] 圖2為本發(fā)明所述的優(yōu)先級(jí)判斷流程示意圖。
[0070] 圖3為本發(fā)明所述的移動(dòng)節(jié)點(diǎn)地址配置流程示意圖。
[0071 ]圖4為本發(fā)明所述的獲取數(shù)據(jù)流程示意圖。
[0072] 圖5為本發(fā)明所述的創(chuàng)建數(shù)據(jù)流程示意圖。
【具體實(shí)施方式】:
[0073] 本發(fā)明提供了一種基于云的數(shù)據(jù)獲取方法,移動(dòng)節(jié)點(diǎn)通過(guò)本發(fā)明所提供的數(shù)據(jù)獲 取方法能夠從同時(shí)從多個(gè)節(jié)點(diǎn)獲取數(shù)據(jù),從而有效降低了獲取數(shù)據(jù)的延遲和代價(jià),提高了 服務(wù)質(zhì)量,本發(fā)明可應(yīng)用于道路路況監(jiān)測(cè)、車輛管理等領(lǐng)域,具有廣泛的應(yīng)用前景。
[0074] 圖1為本發(fā)明所述的網(wǎng)絡(luò)體系結(jié)構(gòu)示意圖。包括一個(gè)由多個(gè)移動(dòng)節(jié)點(diǎn)2構(gòu)成的網(wǎng)絡(luò) 1,網(wǎng)絡(luò)1中一個(gè)數(shù)據(jù)ID定義一種類型的數(shù)據(jù),網(wǎng)絡(luò)1中能夠提供同一種類型數(shù)據(jù)的移動(dòng)節(jié)點(diǎn) 構(gòu)建成一個(gè)k-anycast組,例如某部電視劇,該k-anycast組由定義該種類型數(shù)據(jù)的數(shù)據(jù)ID 唯一標(biāo)識(shí),一個(gè)k-anycast組里的移動(dòng)節(jié)點(diǎn)稱為骨干節(jié)點(diǎn)3,日117。日31:是任播通信,4-日]17。曰31 通信允許一個(gè)k-anycast組中的多個(gè)成員進(jìn)行任播通信。
[0075] 圖2為本發(fā)明所述的優(yōu)先級(jí)判斷流程示意圖。在一個(gè)包含X個(gè)骨干節(jié)點(diǎn)且能提供數(shù) 據(jù)C的k-anycast組中,X > 2,骨干節(jié)點(diǎn)Bx由唯一網(wǎng)絡(luò)前綴Mx標(biāo)識(shí),X > X Μ ;k-anycast組由網(wǎng) 絡(luò)前綴集合G定義,如公式(1)所示;
[0076]
[0077] 骨干節(jié)點(diǎn)或者移動(dòng)節(jié)點(diǎn)的地址包括兩個(gè)部分:i比特的網(wǎng)絡(luò)前綴和j比特的節(jié)點(diǎn) ID;網(wǎng)絡(luò)前綴包括化k特的數(shù)據(jù)ID和(i-k)比特的骨干ID,節(jié)點(diǎn)ID包括化k特的數(shù)據(jù)ID和(j- k)比特的內(nèi)部ID,i,j和k為小于64的正整數(shù);
[0078] 骨干節(jié)點(diǎn)Bx啟動(dòng)后,創(chuàng)建一個(gè)臨時(shí)地址,該臨時(shí)地址的網(wǎng)絡(luò)前綴為i比特的隨機(jī) 數(shù),節(jié)點(diǎn)ID為j比特的隨機(jī)數(shù);骨干節(jié)點(diǎn)Bx廣播一個(gè)地址創(chuàng)建消息,消息源地址為臨時(shí)地址, 負(fù)載為一個(gè)隨機(jī)數(shù)和數(shù)據(jù)ID C;骨干節(jié)點(diǎn)Bx等待一定時(shí)間,在接收到同一個(gè)k-anycast組里 的其他X-1個(gè)骨干節(jié)點(diǎn)廣播的地址創(chuàng)建消息后,通過(guò)下述算法判斷骨干節(jié)點(diǎn)Byl和骨干節(jié)點(diǎn) By2的優(yōu)先級(jí),yl辛y2:
[0079] 步驟101:開始;
[0080] 步驟102:骨干節(jié)點(diǎn)Bx判斷骨干節(jié)點(diǎn)Byl的網(wǎng)絡(luò)前綴是否等于骨干節(jié)點(diǎn)By2的網(wǎng)路前 綴,如果是,則執(zhí)行步驟104,否則執(zhí)行步驟103;
[0081] 步驟103:如果骨干節(jié)點(diǎn)Byl的網(wǎng)絡(luò)前綴大于骨干節(jié)點(diǎn)By2的網(wǎng)絡(luò)前綴,骨干節(jié)點(diǎn)Bx則 判斷骨干節(jié)點(diǎn)Byl的優(yōu)先級(jí)大于骨干節(jié)點(diǎn)By2,如果骨干節(jié)點(diǎn)Byl的網(wǎng)絡(luò)前綴小于骨干節(jié)點(diǎn)By2 的網(wǎng)絡(luò)前綴,骨干節(jié)點(diǎn)Bx則判斷骨干節(jié)點(diǎn)Byl的優(yōu)先級(jí)小于骨干節(jié)點(diǎn)By2,執(zhí)行步驟107;
[0082] 步驟104:骨干節(jié)點(diǎn)Bx判斷骨干節(jié)點(diǎn)Byl的節(jié)點(diǎn)ID是否等于骨干節(jié)點(diǎn)By2的節(jié)點(diǎn)ID,如 果是,則執(zhí)行步驟106,否則執(zhí)行步驟105;
[0083] 步驟105:如果骨干節(jié)點(diǎn)Byl的節(jié)點(diǎn)ID大于骨干節(jié)點(diǎn)By2的節(jié)點(diǎn)ID,骨干節(jié)點(diǎn)Bx則判斷 骨干節(jié)點(diǎn)Byl的優(yōu)先級(jí)大于骨干節(jié)點(diǎn)By2,如果骨干節(jié)點(diǎn)Byl的節(jié)點(diǎn)ID小于骨干節(jié)點(diǎn)By2的節(jié)點(diǎn) ID,骨干節(jié)點(diǎn)Bx則判斷骨干節(jié)點(diǎn)Byl的優(yōu)先級(jí)小于骨干節(jié)點(diǎn)By2,執(zhí)行步驟107;
[0084]步驟106:如果骨干節(jié)點(diǎn)Byi廣播的地址創(chuàng)建消息中的隨機(jī)數(shù)大于骨干節(jié)點(diǎn)By2廣播 的地址創(chuàng)建消息中的隨機(jī)數(shù),骨干節(jié)點(diǎn)Bx則判斷骨干節(jié)點(diǎn)Byl的優(yōu)先級(jí)大于骨干節(jié)點(diǎn)By2,如 果骨干節(jié)點(diǎn)Byl廣播的地址創(chuàng)建消息中的隨機(jī)數(shù)小于骨干節(jié)點(diǎn)By2廣播的地址創(chuàng)建消息中的 隨機(jī)數(shù),骨干節(jié)點(diǎn)Bx則判斷骨干節(jié)點(diǎn)Byl的優(yōu)先級(jí)小于骨干節(jié)點(diǎn)By2;
[00化]步驟107:結(jié)束;
[0086] 骨干節(jié)點(diǎn)Bx將同一個(gè)k-anycast組中的X個(gè)骨干節(jié)點(diǎn)按照優(yōu)先級(jí)遞增排序,如果骨 干節(jié)點(diǎn)Bx的優(yōu)先級(jí)在X骨干節(jié)點(diǎn)中的排序值為px,X ^ Px ^ 1,骨干節(jié)點(diǎn)Bx則將自己的骨干ID 設(shè)置為化,同時(shí)構(gòu)建一個(gè)地址,該地址的網(wǎng)絡(luò)前綴中的數(shù)據(jù)ID為C,節(jié)點(diǎn)ID為零,同時(shí)根據(jù)公 式(2)構(gòu)建網(wǎng)絡(luò)前綴集合G;
[0087]
[0088] 網(wǎng)絡(luò)前綴為y的骨干節(jié)點(diǎn)根據(jù)公式(3-4)獲取內(nèi)部ID空間[L(y),U(y)],X>y>l:
[0091] 圖3為本發(fā)明所述的移動(dòng)節(jié)點(diǎn)地址配置流程示意圖。移動(dòng)節(jié)點(diǎn)和骨干節(jié)點(diǎn)配置地 址后在一跳范圍內(nèi)廣播信標(biāo)消息,沒有配置地址的移動(dòng)節(jié)點(diǎn)Μ收到一個(gè)信標(biāo)消息后,如果該 信標(biāo)消息的源地址的網(wǎng)絡(luò)前綴與骨干節(jié)點(diǎn)Βχ的網(wǎng)絡(luò)前綴相同,那么移動(dòng)節(jié)點(diǎn)Μ根據(jù)下述過(guò) 程從骨干節(jié)點(diǎn)Βχ獲取節(jié)點(diǎn)ID:
[0092] 步驟201:開始;
[0093] 步驟202:移動(dòng)節(jié)點(diǎn)Μ構(gòu)建一個(gè)臨時(shí)地址,該臨時(shí)地址的網(wǎng)絡(luò)前綴為i比特的隨機(jī) 數(shù),節(jié)點(diǎn)ID為j比特的隨機(jī)數(shù),移動(dòng)節(jié)點(diǎn)Μ發(fā)送一個(gè)地址請(qǐng)求消息,該消息的源地址為臨時(shí)地 址,目的地址為骨干節(jié)點(diǎn)Βχ的地址;
[0094] 步驟203:骨干節(jié)點(diǎn)Βχ收到地址請(qǐng)求消息后,從內(nèi)部ID空間中選擇一個(gè)未分配的內(nèi) 部ID,然后向移動(dòng)節(jié)點(diǎn)Μ返回一個(gè)地址響應(yīng)消息,地址響應(yīng)消息負(fù)載為骨干節(jié)點(diǎn)Bx所在k- any cast組的網(wǎng)絡(luò)前綴集合G和分配的內(nèi)部ID,同時(shí)將分配的內(nèi)部ID標(biāo)記為已分配狀態(tài);
[0095] 步驟204:移動(dòng)節(jié)點(diǎn)Μ將地址響應(yīng)消息中的內(nèi)部ID與骨干節(jié)點(diǎn)Bx的網(wǎng)絡(luò)前綴中的數(shù) 據(jù)ID C相結(jié)合構(gòu)建成具有唯一性的節(jié)點(diǎn)ID,同時(shí)保存網(wǎng)絡(luò)前綴集合G;移動(dòng)節(jié)點(diǎn)Μ將節(jié)點(diǎn)ID 與骨干節(jié)點(diǎn)Bx的網(wǎng)絡(luò)前綴相結(jié)合構(gòu)建成一個(gè)地址,并開始在一跳范圍內(nèi)廣播信標(biāo)消息,消 息的源地址為新獲取的地址;
[0096] 步驟205:結(jié)束。
[0097] 圖4為本發(fā)明所述的獲取數(shù)據(jù)流程示意圖。由數(shù)據(jù)ID C標(biāo)識(shí)的k-anycast組由X個(gè) 骨干節(jié)點(diǎn)構(gòu)成,X個(gè)骨干節(jié)點(diǎn)的網(wǎng)絡(luò)前綴集合為G,X個(gè)骨干節(jié)點(diǎn)能夠提供數(shù)據(jù)ID C定義的數(shù) 據(jù)C;數(shù)據(jù)C被劃分為Z個(gè)部分,每個(gè)數(shù)據(jù)部分cz由數(shù)據(jù)部分ID dz唯一標(biāo)識(shí),Z含Z含1,如公式 (4)所示;
[009引
[0099] 移動(dòng)節(jié)點(diǎn)通過(guò)數(shù)據(jù)地址獲取數(shù)據(jù),一個(gè)數(shù)據(jù)地址的長(zhǎng)度為(i+j)比特,由四個(gè)部分 構(gòu)成,第一個(gè)部分為化k特的數(shù)據(jù)ID,第二部分為(i-k)比特的保留域,其值為0,第Ξ部分為 k比特的數(shù)據(jù)部分ID集合域,第四部分為(i-k)比特的保留域,其值為0;其中第一部分的數(shù) 據(jù)ID表明移動(dòng)節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)的數(shù)據(jù)ID,第Ξ部分的數(shù)據(jù)部分ID集合域表明該數(shù)據(jù)的部分?jǐn)?shù) 據(jù);i,j和k為小于64的正整數(shù);
[0100] 移動(dòng)節(jié)點(diǎn)Μ通過(guò)下述過(guò)程獲取數(shù)據(jù)C:
[0101] 步驟301:開始;
[0102] 步驟302:移動(dòng)節(jié)點(diǎn)Μ利用網(wǎng)絡(luò)前綴集合G構(gòu)建X個(gè)骨干節(jié)點(diǎn)的地址,并通過(guò)定位功 能獲取所有X個(gè)骨干節(jié)點(diǎn)的地理信息,然后選取g個(gè)距離最近的骨干節(jié)點(diǎn),2含g含|G|,g<Z, 并利用運(yùn)g個(gè)骨干節(jié)點(diǎn)的網(wǎng)絡(luò)前綴和自己的節(jié)點(diǎn)ID構(gòu)建g個(gè)地址,記做Sx,l<x<g,然后構(gòu) 建g個(gè)數(shù)據(jù)地址,記做Dx.在數(shù)據(jù)地址Dx中,數(shù)據(jù)ID為C,數(shù)據(jù)部分ID集合為Px,其中數(shù)據(jù)部分 ID集合Px定義了數(shù)據(jù)部分Cx,如公式(5)所示,其中數(shù)據(jù)部分ID集合Px中任一個(gè)元素 dx-e定義 了數(shù)據(jù)部分Cx-e,l<e^Px|,數(shù)據(jù)部分Cx滿足公式巧)~(7);
[0106] 步驟303:移動(dòng)節(jié)點(diǎn)Μ發(fā)送g個(gè)數(shù)據(jù)請(qǐng)求消息也,在數(shù)據(jù)請(qǐng)求消息也中,目的地址為數(shù) 據(jù)地址Dx,源地址為地址Sx;
[0107] 步驟304:根據(jù)地址Sx中的網(wǎng)絡(luò)前綴,數(shù)據(jù)請(qǐng)求消息也向網(wǎng)絡(luò)前綴與地址Sx的網(wǎng)絡(luò) 前綴相同的骨干節(jié)點(diǎn)Bx進(jìn)行路由;
[0108] 步驟305:骨干節(jié)點(diǎn)Bx收到數(shù)據(jù)請(qǐng)求消息也后判斷自己是否能提供數(shù)據(jù)部分Cx,如 果能,執(zhí)行步驟307,否則執(zhí)行步驟306;
[0109] 步驟306:骨干節(jié)點(diǎn)Bx執(zhí)行步驟401~414創(chuàng)建Cx;然后執(zhí)行步驟307;
[0110] 步驟307:骨干節(jié)點(diǎn)Bx向移動(dòng)節(jié)點(diǎn)Μ返回?cái)?shù)據(jù)響應(yīng)消息Rx,數(shù)據(jù)響應(yīng)消息Rx中的負(fù)載 為數(shù)據(jù)部分Cx,目的地址為地址Sx,源地址為數(shù)據(jù)地址Dx,
[0111] 步驟308:數(shù)據(jù)響應(yīng)消息Rx向移動(dòng)節(jié)點(diǎn)Μ進(jìn)行路由,如果在路由過(guò)程中,中間節(jié)點(diǎn)也 需要數(shù)據(jù)部分Cx,則保存數(shù)據(jù)響應(yīng)消息Rx從而獲取數(shù)據(jù)部分Cx;
[0112] 步驟309:移動(dòng)節(jié)點(diǎn)Μ在收到g個(gè)數(shù)據(jù)響應(yīng)消息后,獲取了數(shù)據(jù)C;
[0113] 步驟310:結(jié)束。
[0114] 圖5為本發(fā)明所述的創(chuàng)建數(shù)據(jù)流程示意圖。骨干節(jié)點(diǎn)Bx如果不能提供數(shù)據(jù)部分Cx, 則根據(jù)下述過(guò)程創(chuàng)建數(shù)據(jù)部分Cx,其中,參數(shù)h初始值設(shè)置為0,網(wǎng)絡(luò)直徑最大值為Η:
[011引步驟401:開始;
[0116]步驟402:骨干節(jié)點(diǎn)Βχ在h跳范圍內(nèi)廣播一個(gè)資源請(qǐng)求消息,該消息的負(fù)載為參數(shù)h 和W及能夠創(chuàng)建數(shù)據(jù)部分Cx的資源列表,例如處理器,傳感器等等;
[0117] 步驟403:判斷收到資源請(qǐng)求消息的節(jié)點(diǎn)是否能提供資源請(qǐng)求消息中資源列表中 的資源,如果能提供,則進(jìn)行步驟404,否則進(jìn)行步驟405;
[0118] 步驟404:收到資源請(qǐng)求消息的節(jié)點(diǎn)向骨干節(jié)點(diǎn)Bx發(fā)送一個(gè)資源響應(yīng)消息,該消息 的負(fù)載為自己能提供的資源列表;
[0119] 步驟405:收到資源請(qǐng)求消息的節(jié)點(diǎn)將h遞減1,判斷h是否大于0,如果是,進(jìn)行步驟 406,否則進(jìn)行步驟407;
[0120] 步驟406:收到資源請(qǐng)求消息的節(jié)點(diǎn)轉(zhuǎn)發(fā)資源請(qǐng)求消息,執(zhí)行步驟403;
[0121] 步驟407:骨干節(jié)點(diǎn)Bx判斷所有返回的資源響應(yīng)消息中的資源是否能構(gòu)建數(shù)據(jù)部 分Cx,如果能,進(jìn)行步驟410,否則進(jìn)行步驟408;
[0122] 步驟408:骨干節(jié)點(diǎn)Bx判斷參數(shù)h是否等于H,如果是,進(jìn)行步驟414,否則執(zhí)行步驟 409;
[0123] 步驟409:骨干節(jié)點(diǎn)Bx將h遞增1,執(zhí)行步驟402;
[0124] 步驟410:骨干節(jié)點(diǎn)Bx向每個(gè)返回資源響應(yīng)消息的節(jié)點(diǎn)發(fā)送一個(gè)數(shù)據(jù)創(chuàng)建消息,該 消息的負(fù)載為創(chuàng)建數(shù)據(jù)部分Cx的子任務(wù)列表,例如處理器某個(gè)數(shù)據(jù),感知某個(gè)參數(shù)等等;
[0125] 步驟411:骨干節(jié)點(diǎn)Bx收到數(shù)據(jù)創(chuàng)建消息后,執(zhí)行消息中的子任務(wù)W獲取數(shù)據(jù),然 后向骨干節(jié)點(diǎn)Bx返回一個(gè)數(shù)據(jù)創(chuàng)建響應(yīng)消息,消息負(fù)載為執(zhí)行子任務(wù)獲取的數(shù)據(jù);
[0126] 步驟412:骨干節(jié)點(diǎn)Bx收到所有的數(shù)據(jù)創(chuàng)建響應(yīng)消息后,構(gòu)建數(shù)據(jù)部分Cx,同時(shí)向同 一個(gè)k-anycast組中的其他骨干節(jié)點(diǎn)發(fā)送一條數(shù)據(jù)分享消息,消息負(fù)載為數(shù)據(jù)部分Cx;
[0127] 步驟413:其他骨干節(jié)點(diǎn)收到骨干節(jié)點(diǎn)Bx發(fā)送的數(shù)據(jù)分享消息后,保存數(shù)據(jù)部分Cx; [012引步驟414:結(jié)束;
[0129] 通過(guò)上述過(guò)程,與骨干節(jié)點(diǎn)Bx同一個(gè)k-anycast組的骨干成員在收到所有的數(shù)據(jù) 分享消息后,根據(jù)公式(6)創(chuàng)建數(shù)據(jù)C并保存數(shù)據(jù)C。
[0130] 實(shí)施例1
[0131] 基于表1的仿真參數(shù),本實(shí)施例模擬了本發(fā)明中的基于云的數(shù)據(jù)獲取方法,性能分 析如下:隨著骨干節(jié)點(diǎn)的增加,獲取服務(wù)數(shù)據(jù)的延遲隨之下降,同時(shí)移動(dòng)節(jié)點(diǎn)的地址配置代 價(jià)也隨之降低;移動(dòng)節(jié)點(diǎn)獲取服務(wù)數(shù)據(jù)的平均延遲為300ms,移動(dòng)節(jié)點(diǎn)地址配置的延遲為 lOmso
[0132] 表1仿真參數(shù)
[0133]
[0134]
[0135] 本發(fā)明提供了一種基于云的數(shù)據(jù)獲取方法的思路,具體實(shí)現(xiàn)該技術(shù)方案的方法和 途徑很多,W上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人 員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可W做出若干改進(jìn)和潤(rùn)飾,運(yùn)些改進(jìn)和潤(rùn)飾也應(yīng) 視為本發(fā)明的保護(hù)范圍。本實(shí)施例中未明確的各組成部份均可用現(xiàn)有技術(shù)加 W實(shí)現(xiàn)。
【主權(quán)項(xiàng)】
1. 一種基于云的數(shù)據(jù)獲取方法,其特征在于,包括一個(gè)由移動(dòng)節(jié)點(diǎn)構(gòu)成的網(wǎng)絡(luò),網(wǎng)絡(luò)中 一個(gè)數(shù)據(jù)ID定義一種類型的數(shù)據(jù),網(wǎng)絡(luò)中能夠提供同一種類型數(shù)據(jù)的移動(dòng)節(jié)點(diǎn)構(gòu)建成一個(gè) k-anycast組,該k-anycast組由定義該種類型數(shù)據(jù)的數(shù)據(jù)ID唯一標(biāo)識(shí),一個(gè)k-anycast組里 的移動(dòng)節(jié)點(diǎn)稱為骨干節(jié)點(diǎn); 在一個(gè)包含X個(gè)骨干節(jié)點(diǎn)且能提供數(shù)據(jù)C的k-anycast組中,X 2 2,骨干節(jié)點(diǎn)Bx由唯一網(wǎng) 絡(luò)前綴Mx標(biāo)識(shí),X2 l;k_anycast組由網(wǎng)絡(luò)前綴集合G定義,如公式(1)所示;骨干節(jié)點(diǎn)或者移動(dòng)節(jié)點(diǎn)的地址句J古陶個(gè)部分:ιΚ狩的網(wǎng)絡(luò)前綴和j比特的節(jié)點(diǎn)ID;網(wǎng) 絡(luò)前綴包括k比特的數(shù)據(jù)ID和(i-k)比特的骨干ID,節(jié)點(diǎn)ID包括k比特的數(shù)據(jù)ID和(j-k)比特 的內(nèi)部ID,i,j和k為小于64的正整數(shù); 骨干節(jié)點(diǎn)Bx啟動(dòng)后,創(chuàng)建一個(gè)臨時(shí)地址,該臨時(shí)地址的網(wǎng)絡(luò)前綴為i比特的隨機(jī)數(shù),節(jié)點(diǎn) ID為j比特的隨機(jī)數(shù);骨干節(jié)點(diǎn)Bx廣播一個(gè)地址創(chuàng)建消息,消息源地址為臨時(shí)地址,負(fù)載為 一個(gè)隨機(jī)數(shù)和數(shù)據(jù)ID c;骨干節(jié)點(diǎn)Bx等待一定時(shí)間,在接收到同一個(gè)k-anycast組里的其他 X-1個(gè)骨干節(jié)點(diǎn)廣播的地址創(chuàng)建消息后,通過(guò)下述算法判斷骨干節(jié)點(diǎn)B yl和骨干節(jié)點(diǎn)By2的優(yōu) 先級(jí),yl關(guān)y2: 步驟101:開始; 步驟102:骨干節(jié)點(diǎn)Bx判斷骨干節(jié)點(diǎn)Byl的網(wǎng)絡(luò)前綴是否等于骨干節(jié)點(diǎn)By2的網(wǎng)路前綴,如 果是,則執(zhí)行步驟104,否則執(zhí)行步驟103; 步驟103:如果骨干節(jié)點(diǎn)Byl的網(wǎng)絡(luò)前綴大于骨干節(jié)點(diǎn)By2的網(wǎng)絡(luò)前綴,骨干節(jié)點(diǎn)Bx則判斷 骨干節(jié)點(diǎn)Byl的優(yōu)先級(jí)大于骨干節(jié)點(diǎn)By2,如果骨干節(jié)點(diǎn)Byl的網(wǎng)絡(luò)前綴小于骨干節(jié)點(diǎn)B y2的網(wǎng) 絡(luò)前綴,骨干節(jié)點(diǎn)Bx則判斷骨干節(jié)點(diǎn)Byl的優(yōu)先級(jí)小于骨干節(jié)點(diǎn)B y2,執(zhí)行步驟107; 步驟104:骨干節(jié)點(diǎn)Bx判斷骨干節(jié)點(diǎn)Byl的節(jié)點(diǎn)ID是否等于骨干節(jié)點(diǎn)By2的節(jié)點(diǎn)ID,如果 是,則執(zhí)行步驟106,否則執(zhí)行步驟105; 步驟105:如果骨干節(jié)點(diǎn)Byl的節(jié)點(diǎn)ID大于骨干節(jié)點(diǎn)By2的節(jié)點(diǎn)ID,骨干節(jié)點(diǎn)Bx則判斷骨干 節(jié)點(diǎn)Byl的優(yōu)先級(jí)大于骨干節(jié)點(diǎn)By2,如果骨干節(jié)點(diǎn)Byl的節(jié)點(diǎn)ID小于骨干節(jié)點(diǎn)B y2的節(jié)點(diǎn)ID,骨 干節(jié)點(diǎn)Bx則判斷骨干節(jié)點(diǎn)Byl的優(yōu)先級(jí)小于骨干節(jié)點(diǎn)B y2,執(zhí)行步驟107; 步驟106:如果骨干節(jié)點(diǎn)Byl廣播的地址創(chuàng)建消息中的隨機(jī)數(shù)大于骨干節(jié)點(diǎn)By2廣播的地 址創(chuàng)建消息中的隨機(jī)數(shù),骨干節(jié)點(diǎn)Bx則判斷骨干節(jié)點(diǎn)Byl的優(yōu)先級(jí)大于骨干節(jié)點(diǎn)By2,如果骨 干節(jié)點(diǎn)B yl廣播的地址創(chuàng)建消息中的隨機(jī)數(shù)小于骨干節(jié)點(diǎn)By2廣播的地址創(chuàng)建消息中的隨機(jī) 數(shù),骨干節(jié)點(diǎn)B x則判斷骨干節(jié)點(diǎn)Byl的優(yōu)先級(jí)小于骨干節(jié)點(diǎn)By2; 步驟107:結(jié)束; 骨干節(jié)點(diǎn)Bx將同一個(gè)k-anycast組中的X個(gè)骨干節(jié)點(diǎn)按照優(yōu)先級(jí)遞增排序,如果骨干節(jié) 點(diǎn)Bx的優(yōu)先級(jí)在X骨干節(jié)點(diǎn)中的排序值為px,X 2 px 2 1,骨干節(jié)點(diǎn)仏則將自己的骨干ID設(shè)置 為px,同時(shí)構(gòu)建一個(gè)地址,該地址的網(wǎng)絡(luò)前綴中的數(shù)據(jù)ID為c,節(jié)點(diǎn)ID為零,同時(shí)根據(jù)公式 (2)構(gòu)建網(wǎng)絡(luò)前綴集合G;網(wǎng)絡(luò)前綴為y的骨干節(jié)點(diǎn)根據(jù)公式(3-4)獲取內(nèi)部ID空間[L(y),U(y) ],X 2 y 2 1:2. 根據(jù)權(quán)利要求1所還的一柙Sts的數(shù)聒犾取萬(wàn)'/云,兵狩祉仕t,移動(dòng)節(jié)點(diǎn)和骨干節(jié) 點(diǎn)配置地址后在一跳范圍內(nèi)廣播信標(biāo)消息,沒有配置地址的移動(dòng)節(jié)點(diǎn)Μ收到一個(gè)信標(biāo)消息 后,如果該信標(biāo)消息的源地址的網(wǎng)絡(luò)前綴與骨干節(jié)點(diǎn)Βχ的網(wǎng)絡(luò)前綴相同,那么移動(dòng)節(jié)點(diǎn)Μ根 據(jù)下述過(guò)程從骨干節(jié)點(diǎn)Β χ獲取節(jié)點(diǎn)ID: 步驟201:開始; 步驟202:移動(dòng)節(jié)點(diǎn)Μ構(gòu)建一個(gè)臨時(shí)地址,該臨時(shí)地址的網(wǎng)絡(luò)前綴為i比特的隨機(jī)數(shù),節(jié) 點(diǎn)ID為j比特的隨機(jī)數(shù),移動(dòng)節(jié)點(diǎn)Μ發(fā)送一個(gè)地址請(qǐng)求消息,該消息的源地址為臨時(shí)地址,目 的地址為骨干節(jié)點(diǎn)Βχ的地址; 步驟203:骨干節(jié)點(diǎn)Βχ收到地址請(qǐng)求消息后,從內(nèi)部ID空間中選擇一個(gè)未分配的內(nèi)部ID, 然后向移動(dòng)節(jié)點(diǎn)Μ返回一個(gè)地址響應(yīng)消息,地址響應(yīng)消息負(fù)載為骨干節(jié)點(diǎn)Bx所在k-anycast 組的網(wǎng)絡(luò)前綴集合G和分配的內(nèi)部ID,同時(shí)將分配的內(nèi)部ID標(biāo)記為已分配狀態(tài); 步驟204:移動(dòng)節(jié)點(diǎn)Μ將地址響應(yīng)消息中的內(nèi)部ID與骨干節(jié)點(diǎn)Bx的網(wǎng)絡(luò)前綴中的數(shù)據(jù)ID c相結(jié)合構(gòu)建成具有唯一性的節(jié)點(diǎn)ID,同時(shí)保存網(wǎng)絡(luò)前綴集合G;移動(dòng)節(jié)點(diǎn)Μ將節(jié)點(diǎn)ID與骨干 節(jié)點(diǎn)Bx的網(wǎng)絡(luò)前綴相結(jié)合構(gòu)建成一個(gè)地址,并開始在一跳范圍內(nèi)廣播信標(biāo)消息,消息的源 地址為新獲取的地址; 步驟205:結(jié)束。3. 根據(jù)權(quán)利要求2所述的一種基于云的數(shù)據(jù)獲取方法,其特征在于,由數(shù)據(jù)ID c標(biāo)識(shí)的 k-anycast組由X個(gè)骨干節(jié)點(diǎn)構(gòu)成,X個(gè)骨干節(jié)點(diǎn)的網(wǎng)絡(luò)前綴集合為G,X個(gè)骨干節(jié)點(diǎn)能夠提供 數(shù)據(jù)ID c定義的數(shù)據(jù)C;數(shù)據(jù)C被劃分為Z個(gè)部分,每個(gè)數(shù)據(jù)部分(^由數(shù)據(jù)部分ID dz唯一標(biāo) 識(shí),Z2z 2 1,如公式(4)所示;移動(dòng)節(jié)點(diǎn)通過(guò)數(shù)據(jù)地址獲取數(shù)據(jù),一個(gè)數(shù)據(jù)地址的長(zhǎng)度為(i+j)比特,由四個(gè)部分構(gòu) 成,第一個(gè)部分為k比特的數(shù)據(jù)ID,第二部分為(i-k)比特的保留域,其值為0,第三部分為k 比特的數(shù)據(jù)部分ID集合域,第四部分為(i-k)比特的保留域,其值為0;其中第一部分的數(shù)據(jù) ID表明移動(dòng)節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)的數(shù)據(jù)ID,第三部分的數(shù)據(jù)部分ID集合域表明該數(shù)據(jù)的部分?jǐn)?shù) 據(jù);i,j和k為小于64的正整數(shù); 移動(dòng)節(jié)點(diǎn)Μ通過(guò)下述過(guò)程獲取數(shù)據(jù)C: 步驟301:開始; 步驟302:移動(dòng)節(jié)點(diǎn)Μ利用網(wǎng)絡(luò)前綴集合G構(gòu)建X個(gè)骨干節(jié)點(diǎn)的地址,并通過(guò)定位功能獲 取所有X個(gè)骨干節(jié)點(diǎn)的地理信息,然后選取g個(gè)距離最近的骨干節(jié)點(diǎn),2 < g G |,g < Ζ,并利 用這g個(gè)骨干節(jié)點(diǎn)的網(wǎng)絡(luò)前綴和自己的節(jié)點(diǎn)ID構(gòu)建g個(gè)地址,記做Sx,1 < X < g,然后構(gòu)建g個(gè) 數(shù)據(jù)地址,記做Dx.在數(shù)據(jù)地址Dx中,數(shù)據(jù)ID為c,數(shù)據(jù)部分ID集合為P x,其中數(shù)據(jù)部分ID集合 px定義了數(shù)據(jù)部分Cx,如公式(5)所示,其中數(shù)據(jù)部分ID集合px中任一個(gè)元素du定義了數(shù)據(jù) 部分Cx-|PX|,數(shù)據(jù)部分Cx滿足公式(5)~(7);步驟303:移動(dòng)節(jié)點(diǎn)Μ發(fā)送g個(gè)數(shù)據(jù)請(qǐng)求消息Qx,在數(shù)據(jù)請(qǐng)求消息Qx中,目的地址為數(shù)據(jù)地 址Dx,源地址為地址Sx; 步驟304:根據(jù)地址Sx中的網(wǎng)絡(luò)前綴,數(shù)據(jù)請(qǐng)求消息Qx向網(wǎng)絡(luò)前綴與地址Sx的網(wǎng)絡(luò)前綴 相同的骨干節(jié)點(diǎn)Bx進(jìn)行路由; 步驟305:骨干節(jié)點(diǎn)Bx收到數(shù)據(jù)請(qǐng)求消息Qx后判斷自己是否能提供數(shù)據(jù)部分Cx,如果能, 執(zhí)行步驟307,否則執(zhí)行步驟306; 步驟306:骨干節(jié)點(diǎn)Bx執(zhí)行步驟401~414創(chuàng)建Cx; 步驟307:骨干節(jié)點(diǎn)Bx向移動(dòng)節(jié)點(diǎn)Μ返回?cái)?shù)據(jù)響應(yīng)消息Rx,數(shù)據(jù)響應(yīng)消息Rx中的負(fù)載為數(shù) 據(jù)部分Cx,目的地址為地址Sx,源地址為數(shù)據(jù)地址Dx, 步驟308:數(shù)據(jù)響應(yīng)消息Rx向移動(dòng)節(jié)點(diǎn)Μ進(jìn)行路由,如果在路由過(guò)程中,中間節(jié)點(diǎn)也需要 數(shù)據(jù)部分Cx,則保存數(shù)據(jù)響應(yīng)消息Rx從而獲取數(shù)據(jù)部分Cx; 步驟309:移動(dòng)節(jié)點(diǎn)Μ在收到g個(gè)數(shù)據(jù)響應(yīng)消息后,獲取了數(shù)據(jù)C; 步驟310:結(jié)束; 骨干節(jié)點(diǎn)Bx如果不能提供數(shù)據(jù)部分Cx,則根據(jù)下述過(guò)程創(chuàng)建數(shù)據(jù)部分Cx,其中,參數(shù)h初 始值設(shè)置為〇,網(wǎng)絡(luò)直徑最大值為Η: 步驟401:開始; 步驟402:骨干節(jié)點(diǎn)Βχ在h跳范圍內(nèi)廣播一個(gè)資源請(qǐng)求消息,該消息的負(fù)載為參數(shù)h和以 及能夠創(chuàng)建數(shù)據(jù)部分Cx的資源列表; 步驟403:判斷收到資源請(qǐng)求消息的節(jié)點(diǎn)是否能提供資源請(qǐng)求消息中資源列表中的資 源,如果能提供,則進(jìn)行步驟404,否則進(jìn)行步驟405; 步驟404:收到資源請(qǐng)求消息的節(jié)點(diǎn)向骨干節(jié)點(diǎn)Bx發(fā)送一個(gè)資源響應(yīng)消息,該消息的負(fù) 載為自己能提供的資源列表; 步驟405:收到資源請(qǐng)求消息的節(jié)點(diǎn)將h遞減1,判斷h是否大于0,如果是,進(jìn)行步驟406, 否則進(jìn)行步驟407; 步驟406:收到資源請(qǐng)求消息的節(jié)點(diǎn)轉(zhuǎn)發(fā)資源請(qǐng)求消息,執(zhí)行步驟403; 步驟407:骨干節(jié)點(diǎn)Bx判斷所有返回的資源響應(yīng)消息中的資源是否能構(gòu)建數(shù)據(jù)部分Cx, 如果能,進(jìn)行步驟410,否則進(jìn)行步驟408; 步驟408:骨干節(jié)點(diǎn)Bx判斷參數(shù)h是否等于H,如果是,進(jìn)行步驟414,否則執(zhí)行步驟409; 步驟409:骨干節(jié)點(diǎn)Bx將h遞增1,執(zhí)行步驟402; 步驟410:骨干節(jié)點(diǎn)Bx向每個(gè)返回資源響應(yīng)消息的節(jié)點(diǎn)發(fā)送一個(gè)數(shù)據(jù)創(chuàng)建消息,該消息 的負(fù)載為創(chuàng)建數(shù)據(jù)部分Cx的子任務(wù)列表; 步驟411:骨干節(jié)點(diǎn)Bx收到數(shù)據(jù)創(chuàng)建消息后,執(zhí)行消息中的子任務(wù)以獲取數(shù)據(jù),然后向骨 干節(jié)點(diǎn)Bx返回一個(gè)數(shù)據(jù)創(chuàng)建響應(yīng)消息,消息負(fù)載為執(zhí)行子任務(wù)獲取的數(shù)據(jù); 步驟412:骨干節(jié)點(diǎn)Bx收到所有的數(shù)據(jù)創(chuàng)建響應(yīng)消息后,構(gòu)建數(shù)據(jù)部分Cx,同時(shí)向同一個(gè) k-any cast組中的其他骨干節(jié)點(diǎn)發(fā)送一條數(shù)據(jù)分享消息,消息負(fù)載為數(shù)據(jù)部分Cx; 步驟413:其他骨干節(jié)點(diǎn)收到骨干節(jié)點(diǎn)Bx發(fā)送的數(shù)據(jù)分享消息后,保存數(shù)據(jù)部分Cx; 步驟414:結(jié)束; 通過(guò)上述過(guò)程,與骨干節(jié)點(diǎn)Bx同一個(gè)k-anycast組的骨干成員在收到所有的數(shù)據(jù)分享消 息后,根據(jù)公式(6)創(chuàng)建數(shù)據(jù)C并保存數(shù)據(jù)C。
【文檔編號(hào)】H04L29/08GK105871641SQ201610403666
【公開日】2016年8月17日
【申請(qǐng)日】2016年6月8日
【發(fā)明人】王曉喃
【申請(qǐng)人】常熟理工學(xué)院