施例中內(nèi)容源請(qǐng)求端設(shè)備發(fā)送興趣報(bào)文到內(nèi)容源提供端設(shè)備后,接收內(nèi)容源提供端設(shè)備提供的編碼的數(shù)據(jù)包,該編碼的數(shù)據(jù)包是由內(nèi)容源提供端設(shè)備將與該興趣報(bào)文相匹配的數(shù)據(jù)塊分段生成數(shù)據(jù)塊分片,并且使用噴泉編碼算法對(duì)數(shù)據(jù)塊分片編碼得到的,所以該內(nèi)容源請(qǐng)求端設(shè)備可以同時(shí)接收多個(gè)內(nèi)容源提供端設(shè)備發(fā)送的編碼的數(shù)據(jù)包,內(nèi)容源請(qǐng)求端設(shè)備對(duì)包括有接收到的編碼的數(shù)據(jù)包的編碼數(shù)據(jù)包集合進(jìn)行解碼,當(dāng)滿(mǎn)足編碼條件時(shí),內(nèi)容源請(qǐng)求端設(shè)備即可以解碼成功得到該數(shù)據(jù)塊,由于按照噴泉編碼算法得到的編碼的數(shù)據(jù)包的數(shù)量遠(yuǎn)大于數(shù)據(jù)塊的數(shù)量,且編碼的數(shù)據(jù)包互相之間相同的概率非常小,所以在一定時(shí)間內(nèi),內(nèi)容源請(qǐng)求端設(shè)備從多個(gè)設(shè)備上獲取的編碼的數(shù)據(jù)包相同的概率遠(yuǎn)小于從多個(gè)設(shè)備上獲取的數(shù)據(jù)塊相同的概率,使得內(nèi)容源請(qǐng)求端設(shè)備得到有效數(shù)據(jù)的概率增大,減少了獲取足夠有效數(shù)據(jù)的時(shí)間,提高了內(nèi)容中心網(wǎng)絡(luò)中內(nèi)容的獲取效率,網(wǎng)絡(luò)鏈路中不再傳輸大量的重復(fù)數(shù)據(jù),避免了鏈路資源的浪費(fèi)。
【附圖說(shuō)明】
[0067]圖1為本發(fā)明實(shí)施例中內(nèi)容中心網(wǎng)絡(luò)中內(nèi)容分發(fā)的方法一個(gè)流程示意圖;
[0068]圖2為本發(fā)明實(shí)施例中內(nèi)容中心網(wǎng)絡(luò)中內(nèi)容分發(fā)的方法另一個(gè)流程示意圖;
[0069]圖3為本發(fā)明實(shí)施例中內(nèi)容中心網(wǎng)絡(luò)中內(nèi)容分發(fā)的方法另一個(gè)流程示意圖;
[0070]圖4為本發(fā)明實(shí)施例中一個(gè)解碼流程示意圖;
[0071]圖5為本發(fā)明實(shí)施例中內(nèi)容中心網(wǎng)絡(luò)中內(nèi)容分發(fā)的方法另一個(gè)流程示意圖;
[0072]圖6為本發(fā)明實(shí)施例中內(nèi)容中心網(wǎng)絡(luò)中內(nèi)容分發(fā)的方法另一個(gè)流程示意圖;
[0073]圖7為本發(fā)明實(shí)施例中內(nèi)容中心網(wǎng)絡(luò)中內(nèi)容分發(fā)的方法另一個(gè)流程示意圖;
[0074]圖8為本發(fā)明實(shí)施例中內(nèi)容中心網(wǎng)絡(luò)中內(nèi)容分發(fā)的方法另一個(gè)流程示意圖;
[0075]圖9為本發(fā)明實(shí)施例中內(nèi)容源請(qǐng)求端設(shè)備一個(gè)結(jié)構(gòu)示意圖;
[0076]圖10為本發(fā)明實(shí)施例中內(nèi)容源請(qǐng)求端設(shè)備另一個(gè)結(jié)構(gòu)示意圖;
[0077]圖11為本發(fā)明實(shí)施例中網(wǎng)絡(luò)設(shè)備一個(gè)結(jié)構(gòu)示意圖;
[0078]圖12為本發(fā)明實(shí)施例中轉(zhuǎn)發(fā)節(jié)點(diǎn)一個(gè)結(jié)構(gòu)示意圖;
[0079]圖13為本發(fā)明實(shí)施例中轉(zhuǎn)發(fā)節(jié)點(diǎn)另一個(gè)結(jié)構(gòu)示意圖;
[0080]圖14為本發(fā)明實(shí)施例中內(nèi)容源提供端設(shè)備一個(gè)結(jié)構(gòu)示意圖;
[0081]圖15為本發(fā)明實(shí)施例中內(nèi)容分發(fā)系統(tǒng)一個(gè)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0082]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0083]下面分別從不同的執(zhí)行主體的角度對(duì)本發(fā)明實(shí)施例中內(nèi)容中心網(wǎng)絡(luò)中內(nèi)容分發(fā)的方法進(jìn)行描述:
[0084]一、內(nèi)容源請(qǐng)求端設(shè)備的操作:
[0085]請(qǐng)參閱圖1,本發(fā)明實(shí)施例中內(nèi)容中心網(wǎng)絡(luò)中內(nèi)容分發(fā)的方法一個(gè)實(shí)施例包括:
[0086]101、內(nèi)容源請(qǐng)求端設(shè)備發(fā)送興趣報(bào)文到內(nèi)容源提供端設(shè)備;
[0087]在內(nèi)容中心網(wǎng)絡(luò)中,當(dāng)內(nèi)容源請(qǐng)求端設(shè)備需要請(qǐng)求內(nèi)容時(shí),發(fā)送興趣報(bào)文到內(nèi)容源提供端設(shè)備,以數(shù)據(jù)塊為單位請(qǐng)求數(shù)據(jù),該興趣報(bào)文中攜帶有內(nèi)容源請(qǐng)求端設(shè)備請(qǐng)求的數(shù)據(jù)塊的信息。
[0088]102、內(nèi)容源請(qǐng)求端設(shè)備接收所述內(nèi)容源提供端設(shè)備提供的編碼的數(shù)據(jù)包;
[0089]內(nèi)容源請(qǐng)求端設(shè)備發(fā)送興趣報(bào)文到內(nèi)容源提供端設(shè)備后,接收該內(nèi)容源提供端設(shè)備提供的編碼的數(shù)據(jù)包,該編碼的數(shù)據(jù)包是由內(nèi)容源提供端設(shè)備將與興趣報(bào)文相匹配的數(shù)據(jù)塊分段生成數(shù)據(jù)塊分片,并且使用噴泉編碼算法對(duì)數(shù)據(jù)塊分片編碼得到的。
[0090]可以理解的是,進(jìn)行噴泉編碼時(shí),可以將該數(shù)據(jù)塊分成k段,每一段即為一個(gè)原始分組,然后可以由k個(gè)原始分組生成任意數(shù)量的編碼分組,每一個(gè)編碼分組即可以成為一個(gè)編碼的數(shù)據(jù)包,接收端只要收到k(l+ ε )個(gè)編碼分組的任意子集,即可通過(guò)譯碼以高概率成功(和ε有關(guān))恢復(fù)全部原始分組,從而得到完整的數(shù)據(jù)塊。
[0091]由噴泉編碼可知,提供的編碼的數(shù)據(jù)包有很多個(gè),步驟101中的內(nèi)容源提供端設(shè)備的數(shù)量可以為一個(gè),也可以為多個(gè),步驟102中返回編碼的數(shù)據(jù)包的內(nèi)容源提供端設(shè)備可以為一個(gè),也可以為多個(gè),具體數(shù)量可以根據(jù)實(shí)際接收到興趣報(bào)文的內(nèi)容源提供端設(shè)備的數(shù)量與含有與興趣報(bào)文相匹配的數(shù)據(jù)塊的內(nèi)容源提供端設(shè)備的數(shù)量而定,此處不做限定。
[0092]103、內(nèi)容源請(qǐng)求端設(shè)備對(duì)編碼數(shù)據(jù)包集合進(jìn)行解碼,得到所述數(shù)據(jù)塊,所述編碼數(shù)據(jù)包集合中包括所述內(nèi)容源請(qǐng)求端設(shè)備接收到的編碼的數(shù)據(jù)包。
[0093]內(nèi)容源請(qǐng)求端設(shè)備接收內(nèi)容源提供端設(shè)備提供的編碼的數(shù)據(jù)包后,對(duì)編碼數(shù)據(jù)包集合進(jìn)行解碼,得到與興趣報(bào)文相匹配的數(shù)據(jù)塊,該編碼數(shù)據(jù)包集合中包括內(nèi)容源請(qǐng)求端設(shè)備接收到的編碼的數(shù)據(jù)包。
[0094]需要說(shuō)明的是,內(nèi)容源請(qǐng)求端設(shè)備對(duì)編碼數(shù)據(jù)包集合進(jìn)行解碼的方式可以有很多種,例如內(nèi)容源請(qǐng)求端設(shè)備可以持續(xù)對(duì)編碼數(shù)據(jù)包集合進(jìn)行解碼,直到接收到的編碼的數(shù)據(jù)包達(dá)到一定的數(shù)量,即編碼數(shù)據(jù)包集合中包含的編碼的數(shù)據(jù)包達(dá)到一定的數(shù)量后,才解碼成功,內(nèi)容源請(qǐng)求端設(shè)備也可以設(shè)定一個(gè)預(yù)置數(shù)值,當(dāng)接收到的編碼的數(shù)據(jù)包達(dá)到預(yù)置數(shù)值后,才開(kāi)始對(duì)編碼數(shù)據(jù)包集合進(jìn)行解碼,得到數(shù)據(jù)塊,還可以有其他的方式,例如解碼前可以先判斷編碼數(shù)據(jù)包集合中的編碼的數(shù)據(jù)包是否滿(mǎn)足解碼條件等,此處不作限定。本發(fā)明實(shí)施例中內(nèi)容源請(qǐng)求端設(shè)備發(fā)送興趣報(bào)文到內(nèi)容源提供端設(shè)備后,接收內(nèi)容源提供端設(shè)備提供的編碼的數(shù)據(jù)包,該編碼的數(shù)據(jù)包是由內(nèi)容源提供端設(shè)備將與該興趣報(bào)文相匹配的數(shù)據(jù)塊分段生成數(shù)據(jù)塊分片,并且使用噴泉編碼算法對(duì)數(shù)據(jù)塊分片編碼得到的,所以該內(nèi)容源請(qǐng)求端設(shè)備可以同時(shí)接收多個(gè)內(nèi)容源提供端設(shè)備發(fā)送的編碼的數(shù)據(jù)包,內(nèi)容源請(qǐng)求端設(shè)備對(duì)包括有接收到的編碼的數(shù)據(jù)包的編碼數(shù)據(jù)包集合進(jìn)行解碼,當(dāng)滿(mǎn)足編碼條件時(shí),內(nèi)容源請(qǐng)求端設(shè)備即可以解碼成功得到該數(shù)據(jù)塊,由于按照噴泉編碼算法得到的編碼的數(shù)據(jù)包的數(shù)量遠(yuǎn)大于數(shù)據(jù)塊的數(shù)量,且編碼的數(shù)據(jù)包互相之間相同的概率非常小,所以在一定時(shí)間內(nèi),內(nèi)容源請(qǐng)求端設(shè)備從多個(gè)設(shè)備上獲取的編碼的數(shù)據(jù)包相同的概率遠(yuǎn)小于從多個(gè)設(shè)備上獲取的數(shù)據(jù)塊相同的概率,使得內(nèi)容源請(qǐng)求端設(shè)備得到有效數(shù)據(jù)的概率增大,減少了獲取足夠有效數(shù)據(jù)的時(shí)間,提高了內(nèi)容中心網(wǎng)絡(luò)中內(nèi)容的獲取效率,網(wǎng)絡(luò)鏈路中不再傳輸大量的重復(fù)數(shù)據(jù),避免了鏈路資源的浪費(fèi)。
[0095]上面實(shí)施例中,內(nèi)容源請(qǐng)求端設(shè)備發(fā)送興趣報(bào)文到內(nèi)容源提供端設(shè)備,在實(shí)際應(yīng)用中,內(nèi)容源請(qǐng)求端設(shè)備可以將興趣報(bào)文發(fā)送給轉(zhuǎn)發(fā)節(jié)點(diǎn),再由轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)給內(nèi)容源提供端設(shè)備,請(qǐng)參閱圖2,本發(fā)明實(shí)施例中內(nèi)容中心網(wǎng)絡(luò)中內(nèi)容分發(fā)的方法另一個(gè)實(shí)施例包括:
[0096]201、內(nèi)容源請(qǐng)求端設(shè)備發(fā)送興趣報(bào)文給轉(zhuǎn)發(fā)節(jié)點(diǎn),使得該轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)興趣報(bào)文給內(nèi)容源提供端設(shè)備;
[0097]在內(nèi)容中心網(wǎng)絡(luò)中,當(dāng)內(nèi)容源請(qǐng)求端設(shè)備需要請(qǐng)求內(nèi)容時(shí),發(fā)送興趣報(bào)文給轉(zhuǎn)發(fā)節(jié)點(diǎn),使得該轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)興趣報(bào)文給內(nèi)容源提供端設(shè)備,以數(shù)據(jù)塊為單位請(qǐng)求數(shù)據(jù),該興趣報(bào)文中攜帶有內(nèi)容源請(qǐng)求端設(shè)備請(qǐng)求的數(shù)據(jù)塊的信息。
[0098]可以理解的是,內(nèi)容源請(qǐng)求端設(shè)備可以發(fā)送興趣報(bào)文給多個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn),或者也可以發(fā)送給與其連接的所有轉(zhuǎn)發(fā)節(jié)點(diǎn),轉(zhuǎn)發(fā)節(jié)點(diǎn)可以將興趣報(bào)文轉(zhuǎn)發(fā)給多個(gè)內(nèi)容源提供端設(shè)備或其他轉(zhuǎn)發(fā)節(jié)點(diǎn),也可以通過(guò)查詢(xún)或路徑計(jì)算等方式轉(zhuǎn)發(fā)給特定的一些內(nèi)容源提供端設(shè)備,此處不做限定。
[0099]202、內(nèi)容源請(qǐng)求端設(shè)備接收轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)的編碼的數(shù)據(jù)包,該編碼的數(shù)據(jù)包由內(nèi)容源提供端設(shè)備發(fā)送給該轉(zhuǎn)發(fā)節(jié)點(diǎn);
[0100]內(nèi)容源請(qǐng)求端設(shè)備發(fā)送興趣報(bào)文給轉(zhuǎn)發(fā)節(jié)點(diǎn)后,接收轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)的編碼的數(shù)據(jù)包,該編碼的數(shù)據(jù)包由內(nèi)容源提供端設(shè)備發(fā)送給該轉(zhuǎn)發(fā)節(jié)點(diǎn),該編碼的數(shù)據(jù)包是由內(nèi)容源提供端設(shè)備將與興趣報(bào)文相匹配的數(shù)據(jù)塊分段生成數(shù)據(jù)塊分片,并且使用噴泉編碼算法對(duì)數(shù)據(jù)塊分片編碼得到的。
[0101]可以理解的是,進(jìn)行噴泉編碼時(shí),可以將該數(shù)據(jù)塊分成k段,每一段即為一個(gè)原始分組,然后可以由k個(gè)原始分組生成任意數(shù)量的編碼分組,每一個(gè)編碼分組即可以成為一個(gè)編碼的數(shù)據(jù)包,接收端只要收到k(l+ ε )個(gè)編碼分組的任意子集,即可通過(guò)譯碼以高概率成功(和ε有關(guān))恢復(fù)全部原始分組,從而得到完整的數(shù)據(jù)塊。
[0102]由噴泉編碼可知,提供的編碼的數(shù)據(jù)包有很多個(gè),步驟201中的內(nèi)容源提供端設(shè)備的數(shù)量可以為一個(gè),也可以為多個(gè),步驟202中返回編碼的數(shù)據(jù)包的內(nèi)容源提供端設(shè)備可以為一個(gè),也可以為多個(gè),具體數(shù)量可以根據(jù)實(shí)際接收到興趣報(bào)文的內(nèi)容源提供端設(shè)備的數(shù)量與含有與興趣報(bào)文相匹配的數(shù)據(jù)塊的內(nèi)容源提供端設(shè)備的數(shù)量而定,此處不做限定。內(nèi)容源提供端設(shè)備為多個(gè)時(shí),多個(gè)內(nèi)容源提供端設(shè)備按照相同的規(guī)則將數(shù)據(jù)塊分成k段,每一段即為一個(gè)原始分組,然后可WSk個(gè)原始分組生成任意數(shù)量的編碼分組,每一個(gè)編碼分組即可以成為一個(gè)編碼的數(shù)據(jù)包
[0103]203、內(nèi)容源請(qǐng)求端設(shè)備對(duì)編碼數(shù)據(jù)包集合進(jìn)行解碼,得到所述數(shù)據(jù)塊,所述編碼數(shù)據(jù)包集合中包括所述內(nèi)容源請(qǐng)求端設(shè)備接收到的編碼的數(shù)據(jù)包。
[0104]內(nèi)容源請(qǐng)求端設(shè)備接收內(nèi)容源提供端設(shè)備提供的編碼的數(shù)據(jù)包后,對(duì)編碼數(shù)據(jù)包集合進(jìn)行解碼,得到與興趣報(bào)文相匹配的數(shù)據(jù)塊,該編碼數(shù)據(jù)包集合中包括內(nèi)容源請(qǐng)求端設(shè)備接收到的編碼的數(shù)據(jù)包。
[0105]需要說(shuō)明的是,內(nèi)容源請(qǐng)求端設(shè)備對(duì)編碼數(shù)據(jù)包集合進(jìn)行解碼的方式可以有很多種,例如內(nèi)容源請(qǐng)求端設(shè)備可以持續(xù)對(duì)編碼數(shù)據(jù)包集合進(jìn)行解碼,直到接收到的編碼的數(shù)據(jù)包達(dá)到一定的數(shù)量,即編碼數(shù)據(jù)包集合中包含的編碼的數(shù)據(jù)包達(dá)到一定的數(shù)量后,才解碼成功,內(nèi)容源請(qǐng)求端設(shè)備也可以設(shè)定一個(gè)預(yù)置數(shù)值,當(dāng)接收到的編碼的數(shù)據(jù)包達(dá)到預(yù)置數(shù)值后,才開(kāi)始對(duì)編碼數(shù)據(jù)包集合進(jìn)行解碼,得到數(shù)據(jù)塊,還可以有其他的方式,例如解碼前可以先判斷編碼數(shù)據(jù)包集合中的編碼的數(shù)據(jù)包是否滿(mǎn)足解碼條件等,此處不作限定。
[0106]本發(fā)明實(shí)施例中,內(nèi)容源請(qǐng)求端設(shè)備興趣報(bào)文給轉(zhuǎn)發(fā)節(jié)點(diǎn),使得該轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)興趣報(bào)文給所述內(nèi)容源提供端設(shè)備,再接收轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)的編碼的數(shù)據(jù)包,這樣可以將興趣報(bào)文擴(kuò)散到更大的范圍,并且可以得到更多的設(shè)備返回的編碼的數(shù)據(jù)包,提高了內(nèi)容的獲取效率。
[0107]在實(shí)際應(yīng)用中,內(nèi)容源請(qǐng)求端設(shè)備得到數(shù)據(jù)塊后,還可以發(fā)出停止發(fā)包通告停止其他設(shè)備對(duì)該數(shù)據(jù)塊對(duì)應(yīng)的編碼包的轉(zhuǎn)發(fā),請(qǐng)參閱圖3,本發(fā)明實(shí)施例中內(nèi)容中心網(wǎng)絡(luò)中內(nèi)容分發(fā)的方法另一個(gè)實(shí)施例包括:
[0108]301、內(nèi)容源請(qǐng)求端設(shè)備發(fā)送興趣報(bào)文給轉(zhuǎn)發(fā)節(jié)點(diǎn),使得該轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)興趣報(bào)文給內(nèi)容源提供端設(shè)備;
[0109]在內(nèi)容中心網(wǎng)絡(luò)中,當(dāng)內(nèi)容源請(qǐng)求端設(shè)備需要請(qǐng)求內(nèi)容時(shí),發(fā)送興趣報(bào)文給轉(zhuǎn)發(fā)節(jié)點(diǎn),使得該轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)興趣報(bào)文給內(nèi)容源提供端設(shè)備,以數(shù)據(jù)塊為單位請(qǐng)求數(shù)據(jù),該興趣報(bào)文中攜帶有內(nèi)容源請(qǐng)求端設(shè)備請(qǐng)求的數(shù)據(jù)塊的信息。
[0110]需要說(shuō)明的是,該數(shù)據(jù)塊為組成一個(gè)內(nèi)容的多個(gè)數(shù)據(jù)塊中的一塊,該數(shù)據(jù)塊的信息可以為該數(shù)據(jù)塊在該內(nèi)容中的編號(hào),該興趣報(bào)文中還可以包括該內(nèi)容的內(nèi)容名,例如該興趣報(bào)文的包頭中可以攜帶有以…/content_name/chunk_number格式定義的命名信息,該content_name為內(nèi)容源請(qǐng)求端設(shè)備請(qǐng)求的內(nèi)容的內(nèi)容名,該chunk_number為請(qǐng)求數(shù)據(jù)塊在該內(nèi)容中的編號(hào),該興趣報(bào)文中還可以以其他的命名方式攜帶這些信息,此處不作限定。
[0111]可以理解的是,內(nèi)容源請(qǐng)求端設(shè)備可以發(fā)送興趣報(bào)文給多個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn),或者也可以發(fā)送給與其連接的所有轉(zhuǎn)發(fā)節(jié)點(diǎn),轉(zhuǎn)發(fā)節(jié)點(diǎn)可以將興趣報(bào)文轉(zhuǎn)發(fā)給多個(gè)內(nèi)容源提供端設(shè)備或其他轉(zhuǎn)發(fā)節(jié)點(diǎn),也可以通過(guò)查詢(xún)或路徑計(jì)算等方式轉(zhuǎn)發(fā)給特定的一些內(nèi)容源提供端設(shè)備,此處不做限定。