本發(fā)明涉及信息網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別是涉及命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置方法及配置系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)與應(yīng)用的飛速發(fā)展以及互聯(lián)網(wǎng)用戶的快速增長,寬帶化、內(nèi)容化與個性化已經(jīng)成為互聯(lián)網(wǎng)發(fā)展的主旋律。傳統(tǒng)的IP(Internet Protocol,網(wǎng)絡(luò)之間互連的協(xié)議)技術(shù)逐漸無法應(yīng)對海量內(nèi)容充斥的網(wǎng)絡(luò)環(huán)境,尤其表現(xiàn)在海量內(nèi)容傳輸、信息質(zhì)量保證以及數(shù)以百億計的接入需求與電信行業(yè)基礎(chǔ)設(shè)施所能提供的計算、存儲和傳輸能力的矛盾。
針對上述挑戰(zhàn),各國紛紛開展了對未來網(wǎng)絡(luò)體系及關(guān)鍵技術(shù)的研究。這些研究主要基于兩種思路展開:一是從現(xiàn)有IP網(wǎng)絡(luò)基本結(jié)構(gòu)平滑演進的“演進型”技術(shù)路線,“演進型”路線采用“打補丁”方法,對現(xiàn)有的互聯(lián)網(wǎng)體系結(jié)構(gòu)以及網(wǎng)絡(luò)運行體制進行相應(yīng)的修改和增補,以增強現(xiàn)有互聯(lián)網(wǎng)的內(nèi)容分發(fā)能力。二是構(gòu)建全新的網(wǎng)絡(luò)體系結(jié)構(gòu)的“革命型”技術(shù)路線。以信息為中心的未來ICN(Information Centric Networking,網(wǎng)絡(luò)體系)是構(gòu)建全新網(wǎng)絡(luò)體系結(jié)構(gòu)“革命型”的主要代表,ICN通過以標(biāo)識的內(nèi)容取代主機地址的方式,建立了基于內(nèi)容名字尋址與路由的新型網(wǎng)絡(luò)架構(gòu),得到了廣泛的關(guān)注,其中,NDN(Named Data Networking,命名內(nèi)容網(wǎng)絡(luò))是其中最為典型的代表方案。
與現(xiàn)有技術(shù)相比,NDN基于內(nèi)容名字的尋址路由致力于改變現(xiàn)有的網(wǎng)絡(luò)通信模式,使網(wǎng)絡(luò)通信模式從現(xiàn)有的基于端地址的轉(zhuǎn)發(fā),轉(zhuǎn)變?yōu)榛谫Y源名字的轉(zhuǎn)發(fā),在一定程度上解決路由可擴展性、數(shù)據(jù)分發(fā)效率等問題。由于NDN方案尚在演進過程中,其現(xiàn)有方案中的分發(fā)策略尚未達到統(tǒng)一的標(biāo)準(zhǔn),當(dāng)分發(fā)策略發(fā)生改變時,需要對網(wǎng)絡(luò)環(huán)境進行重新搭建。因此利用現(xiàn)有的NDN分發(fā)策略,在進行NDN網(wǎng)絡(luò)實驗與開發(fā)NDN運行環(huán)境時,在分發(fā)策略發(fā)生改變時,會遇到重復(fù)建設(shè)網(wǎng)絡(luò)環(huán)境問題,這種頻繁的重復(fù)建設(shè)不僅增加了進行NDN網(wǎng)絡(luò)實驗與開發(fā)NDN運行環(huán)境的時間周期,更加是對網(wǎng)絡(luò)資源的浪費。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例的目的在于提供一種命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置方法及配置系統(tǒng),以實現(xiàn)在分發(fā)策略發(fā)生改變時,不重復(fù)建設(shè)網(wǎng)絡(luò)環(huán)境,節(jié)約了網(wǎng)絡(luò)資源。具體技術(shù)方案如下:
一種命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置方法,包括:
獲取第一數(shù)據(jù)包,其中,所述第一數(shù)據(jù)包包括:第一內(nèi)容及所述第一內(nèi)容的第一命名;
根據(jù)所述第一命名,在預(yù)設(shè)的至少兩種命名解析方式中,確定與所述第一命名對應(yīng)的第一命名解析方式;
根據(jù)所述第一命名解析方式,對所述第一命名進行解析,得到命名解析結(jié)果;
根據(jù)所述命名解析結(jié)果,將所述第一命名與資源進行匹配,得到資源匹配結(jié)果,其中,所述資源用于支持第二數(shù)據(jù)包的分發(fā),所述第二數(shù)據(jù)包包括:第一數(shù)據(jù)包和/或第一數(shù)據(jù)包請求的數(shù)據(jù);
根據(jù)所述資源匹配結(jié)果,將所述第二數(shù)據(jù)包在命名數(shù)據(jù)網(wǎng)絡(luò)中進行分發(fā)。
可選的,在所述獲取第一數(shù)據(jù)包之前,所述方法還包括:
獲取第二內(nèi)容;
在預(yù)設(shè)的至少兩種命名方式中,確定一種命名方式,其中,所述預(yù)設(shè)的至少兩種命名方式包括:分層命名、自證明命名及屬性命名中的至少兩種;
通過確定的命名方式對所述第二內(nèi)容進行命名,得到第二命名,并存儲所述第二命名及第一對應(yīng)關(guān)系,其中,所述第一對應(yīng)關(guān)系為所述第二命名與所述第二內(nèi)容在所述命名數(shù)據(jù)網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點中的對應(yīng)關(guān)系。
可選的,在所述獲取第一數(shù)據(jù)包之前,所述方法還包括:
獲取第二內(nèi)容;
獲取并根據(jù)由用戶輸入的指令,生成自定義命名方式;
通過所述自定義命名方式,對所述第二內(nèi)容進行命名,得到第三命名,并存儲所述第三命名及第二對應(yīng)關(guān)系,其中,所述第二對應(yīng)關(guān)系為所述第三命名與所述第二內(nèi)容在所述命名數(shù)據(jù)網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點中的對應(yīng)關(guān)系。
可選的,在所述獲取并根據(jù)由用戶輸入的指令,生成自定義命名方式之后,所述方法還包括:
根據(jù)所述自定義命名方式,生成解析所述自定義命名方式的自定義解析方式;
存儲所述自定義命名方式及所述自定義解析方式到預(yù)設(shè)位置。
可選的,所述根據(jù)所述命名解析結(jié)果,將所述第一命名與資源進行匹配,得到資源匹配結(jié)果,包括:
根據(jù)所述命名解析結(jié)果,通過預(yù)設(shè)的基本原語及預(yù)設(shè)的匹配規(guī)則,對所述第一命名進行資源的匹配,得到所述資源匹配結(jié)果,其中,所述預(yù)設(shè)的匹配規(guī)則包括:命名的長度和/或字符內(nèi)容,所述資源包括:網(wǎng)絡(luò)節(jié)點的計算資源、存儲資源及信息資源。
可選的,在所述根據(jù)所述命名解析結(jié)果,將所述第一命名與資源進行匹配,得到資源匹配結(jié)果之后,所述方法還包括:
存儲所述命名解析結(jié)果及所述資源匹配結(jié)果到預(yù)設(shè)的注冊表中。
可選的,在所述存儲所述命名解析結(jié)果及所述資源匹配結(jié)果到預(yù)設(shè)的注冊表中之后,所述方法還包括:
在預(yù)設(shè)的至少一種緩存策略中,確定一種緩存策略,其中,所述預(yù)設(shè)的至少一種緩存策略包括:單網(wǎng)絡(luò)節(jié)點緩存策略、集中式緩存策略及分布式緩存策略中的一種或多種;
根據(jù)確定的緩存策略,對所述預(yù)設(shè)的注冊表中的內(nèi)容進行緩存。
可選的,所述根據(jù)所述資源匹配結(jié)果,將所述第二數(shù)據(jù)包在命名數(shù)據(jù)網(wǎng)絡(luò)中進行分發(fā),包括:
根據(jù)所述資源匹配結(jié)果,獲取第三對應(yīng)關(guān)系,其中,所述第三對應(yīng)關(guān)系為所述第一命名與所述第二數(shù)據(jù)包在所述命名數(shù)據(jù)網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點中的對應(yīng)關(guān)系;
根據(jù)所述資源匹配結(jié)果及所述第三對應(yīng)關(guān)系,生成分發(fā)動作;
利用所述分發(fā)動作,將所述第二數(shù)據(jù)包在網(wǎng)絡(luò)節(jié)點之間進行分發(fā)。
可選的,所述根據(jù)所述資源匹配結(jié)果,將所述第二數(shù)據(jù)包在命名數(shù)據(jù)網(wǎng)絡(luò)中進行分發(fā),包括:
在所述第一內(nèi)容為所述命名數(shù)據(jù)網(wǎng)絡(luò)的更新內(nèi)容時,根據(jù)所述資源匹配結(jié)果,在所述第二數(shù)據(jù)包為第一數(shù)據(jù)包時,向其他網(wǎng)絡(luò)節(jié)點分發(fā)所述第一數(shù)據(jù)包,以使所述其他網(wǎng)絡(luò)節(jié)點分發(fā)所述第一數(shù)據(jù)包,及根據(jù)所述第一數(shù)據(jù)包更新所述其他網(wǎng)絡(luò)節(jié)點,其中,所述其他網(wǎng)絡(luò)節(jié)點為所述命名數(shù)據(jù)網(wǎng)絡(luò)中除當(dāng)前網(wǎng)絡(luò)節(jié)點外的一個或多個網(wǎng)絡(luò)節(jié)點;
相應(yīng)的,在所述根據(jù)所述資源匹配結(jié)果,將所述第二數(shù)據(jù)包在命名數(shù)據(jù)網(wǎng)絡(luò)中進行分發(fā)之后,所述方法還包括:
根據(jù)所述第一內(nèi)容,更新所述當(dāng)前網(wǎng)絡(luò)節(jié)點。
一種命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置系統(tǒng),包括:
數(shù)據(jù)包獲取模塊,用于獲取第一數(shù)據(jù)包,其中,所述第一數(shù)據(jù)包包括:第一內(nèi)容及所述第一內(nèi)容的第一命名;
解析方式確定模塊,用于根據(jù)所述第一命名,在預(yù)設(shè)的至少兩種命名解析方式中,確定與所述第一命名對應(yīng)的第一命名解析方式;
解析模塊,用于根據(jù)所述第一命名解析方式對所述第一命名進行解析,得到命名解析結(jié)果;
匹配模塊,用于根據(jù)所述命名解析結(jié)果,將所述第一命名與資源進行匹配,得到資源匹配結(jié)果,其中,所述資源用于支持第二數(shù)據(jù)包的分發(fā),所述第二數(shù)據(jù)包包括:第一數(shù)據(jù)包和/或第一數(shù)據(jù)包請求的數(shù)據(jù);
分發(fā)模塊,用于根據(jù)所述資源匹配結(jié)果,將所述第二數(shù)據(jù)包在命名數(shù)據(jù)網(wǎng)絡(luò)中進行分發(fā)。
本發(fā)明實施例提供的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置方法及配置系統(tǒng),通過配置不同的命名解析方式及資源,實現(xiàn)了命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的可配置??梢詫崿F(xiàn)在分發(fā)策略發(fā)生改變時,不重復(fù)建設(shè)網(wǎng)絡(luò)環(huán)境,節(jié)約了時間成本和網(wǎng)絡(luò)資源。當(dāng)然,實施本發(fā)明的任一產(chǎn)品或方法必不一定需要同時達到以上所述的所有優(yōu)點。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置方法的流程示意圖;
圖2為本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置系統(tǒng)的一種示意圖;
圖3為本發(fā)明實施例的NDN中分發(fā)策略的配置方法的邏輯結(jié)構(gòu)圖;
圖4為本發(fā)明實施例的根據(jù)數(shù)據(jù)包配置分發(fā)策略的方法的流程示意圖;
圖5為本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置系統(tǒng)的另一種示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
如圖1所示,本發(fā)明實施例提供了一種命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置方法,包括:
S101,獲取第一數(shù)據(jù)包,其中,第一數(shù)據(jù)包包括:第一內(nèi)容及第一內(nèi)容的第一命名。
獲取第一數(shù)據(jù)包,可以為獲取當(dāng)前網(wǎng)絡(luò)節(jié)點中新生成的數(shù)據(jù)包,也可以為在第一數(shù)據(jù)包進入當(dāng)前網(wǎng)絡(luò)節(jié)點時,獲取第一數(shù)據(jù)包。第一數(shù)據(jù)包為NDN中的興趣包Interest Message或內(nèi)容包Content Object。第一內(nèi)容為第一數(shù)據(jù)包中包含的數(shù)據(jù),第一內(nèi)容為符合本發(fā)明實施例的任意數(shù)據(jù)。具體的,在第一數(shù)據(jù)包為興趣包時第一內(nèi)容為請求信息,在第一數(shù)據(jù)包為內(nèi)容包時第一內(nèi)容為內(nèi)容數(shù)據(jù)。
S102,根據(jù)第一命名,在預(yù)設(shè)的至少兩種命名解析方式中,確定與第一命名對應(yīng)的第一命名解析方式。
根據(jù)第一命名,確定命名第一內(nèi)容的命名方式,在預(yù)設(shè)的至少兩種命名解析方式中,選擇并生成與命名第一內(nèi)容的命名方式對應(yīng)的命名解析方式。
S103,根據(jù)第一命名解析方式,對第一命名進行解析,得到命名解析結(jié)果。
S104,根據(jù)命名解析結(jié)果,將第一命名與資源進行匹配,得到資源匹配結(jié)果,其中,資源用于支持第二數(shù)據(jù)包的分發(fā),第二數(shù)據(jù)包包括:第一數(shù)據(jù)包和/或第一數(shù)據(jù)包請求的數(shù)據(jù)。
資源用于支持第一數(shù)據(jù)包和/或第一數(shù)據(jù)包請求的數(shù)據(jù)的分發(fā),包括:計算資源、存儲資源及網(wǎng)絡(luò)資源。
S105,根據(jù)資源匹配結(jié)果,將第二數(shù)據(jù)包在命名數(shù)據(jù)網(wǎng)絡(luò)中進行分發(fā)。
通過匹配好的資源,將第二數(shù)據(jù)包在命名數(shù)據(jù)網(wǎng)絡(luò)中進行分發(fā),完成了NDN中分發(fā)策略的配置。
在現(xiàn)有的NDN中,NDN一旦搭建完成,其命名解析方式便固定為一種。在本發(fā)明實施例中,能夠配置不同的命名解析方式,同時能夠配置對應(yīng)的資源,從而實現(xiàn)了命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的可配置。在分發(fā)策略發(fā)生改變時,不重復(fù)建設(shè)網(wǎng)絡(luò)環(huán)境,避免了因重復(fù)建設(shè)導(dǎo)致的NDN網(wǎng)絡(luò)實驗與NDN運行環(huán)境的開發(fā)周期增長,節(jié)約了時間成本和網(wǎng)絡(luò)資源。
可選的,在本發(fā)明實施例的方法中,在S101之前,該方法還包括:
步驟一,獲取第二內(nèi)容。
在當(dāng)前網(wǎng)絡(luò)節(jié)點的根據(jù)內(nèi)容生成指令生成第二內(nèi)容,然后獲取生成的第二內(nèi)容。例如,在當(dāng)前網(wǎng)絡(luò)節(jié)點中,用戶請求獲取一張青蘋果的圖片時,系統(tǒng)會產(chǎn)生內(nèi)容生成指令,根據(jù)該內(nèi)容生成指令會生成相應(yīng)的內(nèi)容(數(shù)據(jù))。
步驟二,在預(yù)設(shè)的至少兩種命名方式中,確定一種命名方式,其中,預(yù)設(shè)的至少兩種命名方式包括:分層命名、自證明命名及屬性命名中的至少兩種。
在預(yù)設(shè)的至少兩種命名方式中,選擇一種命名方式,此處可以為隨機選取一種命名方式,也可以為根據(jù)預(yù)設(shè)的命名指令或由用戶輸入的選擇指令,選取特定的命名方式,并生成該命名方式。例如,在測試分層命名的NDN中,預(yù)設(shè)的命名指令為生成分層命名,則對內(nèi)容進行命名時,默認(rèn)選取的命名方式分層命名。
步驟三,通過確定的命名方式對第二內(nèi)容進行命名,得到第二命名,并存儲第二命名及第一對應(yīng)關(guān)系,其中,第一對應(yīng)關(guān)系為第二命名與第二內(nèi)容在命名數(shù)據(jù)網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點中的對應(yīng)關(guān)系。
存儲命名及內(nèi)容在命名數(shù)據(jù)網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點中的對應(yīng)關(guān)系,方便了其他網(wǎng)絡(luò)節(jié)點對命名的解析,同時為網(wǎng)絡(luò)節(jié)點間數(shù)據(jù)的分發(fā)提供了依據(jù)。
在NDN中,一個內(nèi)容在首次生成時,需要利用命名方式對該內(nèi)容進行命名?,F(xiàn)有的NDN中命名方式是固定的,而在本發(fā)明實施例中,可以對命名方式進行配置,當(dāng)需要采用不同的命名方式時,不必重新搭建網(wǎng)絡(luò)環(huán)境,僅需要配置相應(yīng)的命名方式即可。從而節(jié)約了網(wǎng)絡(luò)資源。
可選的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置方法中,在S101之前,該方法還包括:
步驟一,獲取第二內(nèi)容。
步驟二,獲取并根據(jù)由用戶輸入的指令,生成自定義命名方式。
在本發(fā)明實施例中,能夠根據(jù)用戶輸入的指令,生成自定義命名方式,用戶可以結(jié)合現(xiàn)有的分層命名、自證明命名及屬性命名三種命方式,通過相應(yīng)的指令,生成自定義命名方式。不必重新搭建網(wǎng)絡(luò)環(huán)境,方便研究不同命名方式對NDN的影響。
步驟三,通過自定義命名方式,對第二內(nèi)容進行命名,得到第三命名,并存儲第三命名及第二對應(yīng)關(guān)系,其中,第二對應(yīng)關(guān)系為第三命名與第二內(nèi)容在命名數(shù)據(jù)網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點中的對應(yīng)關(guān)系。
在本發(fā)明實施例中,還能夠根據(jù)用戶輸入的指令,生成自定義命名方式。生成自定義命名方式,有利于進行NDN網(wǎng)絡(luò)實驗與開發(fā)NDN運行環(huán)境,用戶能夠測試不同命名方式在NDN中的使用效果,不用重新搭建網(wǎng)絡(luò)環(huán)境,節(jié)約了時間成本和網(wǎng)絡(luò)資源。
可選的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置方法中,在獲取并根據(jù)由用戶輸入的指令,生成自定義命名方式之后,方法還包括:
步驟一,根據(jù)自定義命名方式,生成解析自定義命名方式的自定義解析方式。
步驟二,存儲自定義命名方式及自定義解析方式到預(yù)設(shè)位置。
NDN是基于命名工作的網(wǎng)絡(luò),在獲取第二命名后,需要對第二命名進行解析。根據(jù)命名該第二命名所用的自定義命名方式,生成解析該自定義命名方式的自定義解析方式。同時將自定義命名方式及自定義解析方式存儲到預(yù)設(shè)位置。該預(yù)設(shè)位置為符合本發(fā)明實施例的任意位置,可選的,將自定義命名方式及自定義解析方式存儲到命名范本庫中。當(dāng)然命名范本庫中還保存了預(yù)設(shè)的至少兩種命名方式及預(yù)設(shè)的至少兩種命名解析方式,通過命名范本庫可以支持多個命名策略和多個命名解析策略,同時的在進行對應(yīng)關(guān)系的查找時,可以支持多個查找策略,且命名范本庫能夠進行更新。
在本發(fā)明實施例中,生成自定義解析方式,有利于進行NDN網(wǎng)絡(luò)實驗與開發(fā)NDN運行環(huán)境,用戶能夠測試不同命名方式在NDN中的使用效果,不用重新搭建網(wǎng)絡(luò)環(huán)境,節(jié)約了時間成本和網(wǎng)絡(luò)資源。
可選的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置方法中,S104包括:
根據(jù)命名解析結(jié)果,通過預(yù)設(shè)的基本原語及預(yù)設(shè)的匹配規(guī)則,對第一命名進行資源的匹配,得到資源匹配結(jié)果,其中,預(yù)設(shè)的匹配規(guī)則包括:命名的長度和/或字符內(nèi)容,資源包括:網(wǎng)絡(luò)節(jié)點的計算資源、存儲資源及信息資源。
基本原語為符合本發(fā)明實施例的任意原語,作用為根據(jù)命名解析結(jié)果,為命名匹配資源。將命名與資源進行匹配,是為了支持后續(xù)分發(fā)策略的配置。為命名匹配信息資源,用于關(guān)聯(lián)待分發(fā)數(shù)據(jù)及向哪個網(wǎng)絡(luò)節(jié)點進行分發(fā)。為命名匹配計算資源,用于確定待分發(fā)數(shù)據(jù)的分發(fā)流程。為命名匹配存儲資源,用于存儲分發(fā)策略配置的過程中生成的各項數(shù)據(jù)。例如,命名與資源進行匹配具體可以為:在當(dāng)前網(wǎng)絡(luò)節(jié)點有內(nèi)容請求的數(shù)據(jù)時,將內(nèi)容請求的數(shù)據(jù)與內(nèi)容建立映射關(guān)系,同時建立當(dāng)前網(wǎng)絡(luò)節(jié)點與發(fā)送該內(nèi)容的網(wǎng)絡(luò)節(jié)點間的映射關(guān)系,同時匹配相應(yīng)的分發(fā)動作,將上述生成的數(shù)據(jù)進行存儲,以方便后續(xù)調(diào)用。
將第一命名與資源進行匹配時,預(yù)設(shè)的匹配規(guī)則包括:命名的長度、字符內(nèi)容或其他自定義形式。由于對命名進行解析的方式可以由用戶自定義,這會關(guān)聯(lián)到資源匹配時的可配置性,可以將網(wǎng)絡(luò)節(jié)點的計算資源、存儲資源與信息資源通過元素的形式進行記錄,在進行資源匹配時可以將資源與元素進行組合與編輯操作,以便適配自定義解析方式。
在本發(fā)明實施例中,將命名與資源進行匹配,有效的支持后續(xù)分發(fā)策略的配置。
可選的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置方法中,在S104之后,該方法還包括:
存儲命名解析結(jié)果及資源匹配結(jié)果到預(yù)設(shè)的注冊表中。
命名與資源進行匹配后的關(guān)聯(lián)關(guān)系(映射關(guān)系)可以記錄在注冊表中,此外,注冊表中的映射匹配可以由用戶自定義設(shè)置,包括:內(nèi)容與命名之間的映射管理、NDN與網(wǎng)絡(luò)節(jié)點之間的映射關(guān)系、命名與網(wǎng)絡(luò)節(jié)點間映射關(guān)系、及資源與命名之間的映射關(guān)系。注冊表數(shù)目、注冊表字段與注冊表長度可由用戶自定義設(shè)置。
在本發(fā)明實施例中,存儲命名解析結(jié)果及資源匹配結(jié)果到預(yù)設(shè)的注冊表中,方便查找。
可選的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置方法中,在存儲命名解析結(jié)果及資源匹配結(jié)果到預(yù)設(shè)的注冊表中之后,該方法還包括:
步驟一,在預(yù)設(shè)的至少一種緩存策略中,確定一種緩存策略,其中,預(yù)設(shè)的至少一種緩存策略包括:單網(wǎng)絡(luò)節(jié)點緩存策略、集中式緩存策略及分布式緩存策略中的一種或多種。
步驟二,根據(jù)確定的緩存策略,對預(yù)設(shè)的注冊表中的內(nèi)容進行緩存。
在對注冊表中的內(nèi)容進行緩存后,還可以根據(jù)由用戶輸入的指令生成自定義緩存策略,并利用該自定義緩存策略,緩存用戶指定的內(nèi)容。
在本發(fā)明實施例中,將注冊表中的內(nèi)容進行緩存,增加了數(shù)據(jù)的讀取效率。
可選的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置方法中,S105包括:
步驟一,根據(jù)資源匹配結(jié)果,獲取第三對應(yīng)關(guān)系,其中,第三對應(yīng)關(guān)系為第一命名與第二數(shù)據(jù)包在命名數(shù)據(jù)網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點中的對應(yīng)關(guān)系。
獲取第一命名與第二數(shù)據(jù)包在命名數(shù)據(jù)網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點中的對應(yīng)關(guān)系,確定向哪一個網(wǎng)絡(luò)節(jié)點分發(fā)第二數(shù)據(jù)包。
步驟二,根據(jù)資源匹配結(jié)果及第三對應(yīng)關(guān)系,生成分發(fā)動作。
步驟三,利用分發(fā)動作,將第二數(shù)據(jù)包在網(wǎng)絡(luò)節(jié)點之間進行分發(fā)。
在本發(fā)明實施例中,給出了分發(fā)策略中分發(fā)動作的生成及配置方式,實現(xiàn)了NDN中分發(fā)策略的配置。
可選的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置方法中,S105包括:
在第一內(nèi)容為命名數(shù)據(jù)網(wǎng)絡(luò)的更新內(nèi)容時,根據(jù)資源匹配結(jié)果,在第二數(shù)據(jù)包為第一數(shù)據(jù)包時,向其他網(wǎng)絡(luò)節(jié)點分發(fā)第一數(shù)據(jù)包,以使其他網(wǎng)絡(luò)節(jié)點分發(fā)第一數(shù)據(jù)包,及根據(jù)第一數(shù)據(jù)包更新其他網(wǎng)絡(luò)節(jié)點,其中,其他網(wǎng)絡(luò)節(jié)點為命名數(shù)據(jù)網(wǎng)絡(luò)中除當(dāng)前網(wǎng)絡(luò)節(jié)點外的一個或多個網(wǎng)絡(luò)節(jié)點。
相應(yīng)的,在第一內(nèi)容為命名數(shù)據(jù)網(wǎng)絡(luò)的更新內(nèi)容時,根據(jù)資源匹配結(jié)果,在第二數(shù)據(jù)包為第一數(shù)據(jù)包時,向其他網(wǎng)絡(luò)節(jié)點分發(fā)第一數(shù)據(jù)包,以使其他網(wǎng)絡(luò)節(jié)點分發(fā)第一數(shù)據(jù)包,及根據(jù)第一數(shù)據(jù)包更新其他網(wǎng)絡(luò)節(jié)點之后,該方法還包括:
根據(jù)第一內(nèi)容,更新當(dāng)前網(wǎng)絡(luò)節(jié)點。
在NDN中,在現(xiàn)有的分發(fā)策略需要變更時,如在預(yù)設(shè)的至少一種命名解析方式中添加入新的命名解析方式,或增加預(yù)設(shè)的基本原語及預(yù)設(shè)的匹配規(guī)則中的內(nèi)容,可以根據(jù)本發(fā)明實施例的分發(fā)策略的配置方法,將包含更新內(nèi)容的第一數(shù)據(jù)包分發(fā)至其他網(wǎng)絡(luò)節(jié)點,以完成NDN的更新,避免重新搭建NDN,避免了因重復(fù)建設(shè)導(dǎo)致的NDN網(wǎng)絡(luò)實驗與NDN運行環(huán)境的開發(fā)周期增長,節(jié)約了時間成本和網(wǎng)絡(luò)資源。
需要說明的是,本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置方法及配置系統(tǒng)應(yīng)用于NDN中的網(wǎng)絡(luò)節(jié)點,則NDN中的所有網(wǎng)絡(luò)節(jié)點均適用于本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置方法及配置系統(tǒng)。
參見圖2,圖2為本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置系統(tǒng)的一種示意圖,包括:
全局身份實體標(biāo)識庫模塊201,用于存儲數(shù)據(jù)包的內(nèi)容的命名及,存儲命名與數(shù)據(jù)包在整個命名數(shù)據(jù)網(wǎng)絡(luò)NDN中的對應(yīng)關(guān)系。
命名解析器模塊202,用于根據(jù)命名及全局身份實體標(biāo)識庫模塊,生成命名方式及命名解析方式,根據(jù)所述命名解析方式對所述命名進行解析,并對所述命名進行資源的匹配。
區(qū)別于現(xiàn)有的NDN,在現(xiàn)有的NDN中,網(wǎng)絡(luò)環(huán)境一旦搭建完成,命名解析方式與命名方式便已固定,除非重新搭建網(wǎng)絡(luò)環(huán)境,否則不可變更。在本發(fā)明實施例中,可以通過全局身份實體標(biāo)識庫模塊201與命名解析器模塊202生成命名解析方式與命名方式,且生成的命名方式不限于分層命名、自證明命名及屬性命名三種命方式,可以根據(jù)用戶輸入的命名指令,生成自定義命名方式。
注冊表模塊203,用于存儲命名解析結(jié)果及資源匹配結(jié)果。
注冊表模塊203中注冊表數(shù)目、注冊表字段與注冊表長度可由用戶自定義設(shè)置。注冊表模塊203中存儲了匹配之后的關(guān)聯(lián)關(guān)系(映射關(guān)系),注冊表中的映射匹配可以由用戶自定義匹配規(guī)則,包括:內(nèi)容與命名之間的映射管理、NDN與網(wǎng)絡(luò)節(jié)點之間的映射關(guān)系、資源與網(wǎng)絡(luò)節(jié)點之間映射關(guān)系、及資源與命名之間的映射關(guān)系。
動作庫模塊204,用于根據(jù)轉(zhuǎn)發(fā)交互控件模塊的指令,維護及生成分發(fā)動作。
分發(fā)動作是指數(shù)據(jù)(內(nèi)容)在網(wǎng)絡(luò)節(jié)點之間的傳輸關(guān)系,動作庫模塊204能夠?qū)⒎职l(fā)動作進行拆分、表示與組合。動作庫所生成及維護的分發(fā)動作可以由用戶進行自定義管理,可以復(fù)用,并且分發(fā)動作中可以有多個動作組合完成。
轉(zhuǎn)發(fā)交互控件模塊205,用于根據(jù)注冊表模塊中的內(nèi)容及全局身份實體標(biāo)識庫模塊中的內(nèi)容,向動作庫模塊下達指令,以使動作庫模塊生成分發(fā)動作,根據(jù)該分發(fā)動作,完成數(shù)據(jù)包在各個網(wǎng)絡(luò)節(jié)點之間的分發(fā)。
在本發(fā)明實施例中,通過對命名策略及資源的配置,實現(xiàn)了NDN中分發(fā)策略的配置,不用重復(fù)搭建網(wǎng)絡(luò)環(huán)境,可以靈活的對已搭建的NDN中的分發(fā)策略進行動態(tài)設(shè)置而完成多種NDN網(wǎng)絡(luò)架構(gòu)的實驗與開發(fā)。
可選的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置系統(tǒng)中,該系統(tǒng)還包括:
原語庫模塊,用于存儲預(yù)設(shè)的基本原語。
原語庫模塊中存儲了多種基本原語,在命名解析器模塊202對命名進行資源的匹配時,在預(yù)設(shè)的多種基本原語中,選取與命名解析方式對應(yīng)的基本原語,用于對命名與資源進行匹配。為命名與資源的匹配提供了技術(shù)上的支持。
可選的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置系統(tǒng)中,該系統(tǒng)還包括:
緩存空間模塊,用于將注冊表模塊203中的內(nèi)容進行緩存。
緩存空間模塊在預(yù)設(shè)的至少一種緩存策略中,確定一種緩存策略,用于將注冊表模塊203中的內(nèi)容進行緩存。其中,預(yù)設(shè)的至少一種緩存策略包括:單網(wǎng)絡(luò)節(jié)點緩存策略、集中式緩存策略及分布式緩存策略中的一種或多種。同時緩存內(nèi)容、緩存時長與緩存時間可由用戶進行配置。當(dāng)然緩存空間模塊還可以根據(jù)由用戶輸入的緩存指令,對緩存指令指定的內(nèi)容進行緩存。
在本發(fā)明實施例中,將注冊表中的內(nèi)容進行緩存,增加了數(shù)據(jù)的讀取效率。
可選的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置系統(tǒng)中,該系統(tǒng)還包括:
解析算法庫模塊,用于存儲命名方式的算法及命名解析方式的算法。
解析算法庫模塊中存儲了命名方式的算法及命名解析方式的算法,方便全局身份實體標(biāo)識庫模塊201與命名解析器模塊202將命名方式的算法和/或命名解析方式的算法進行拆分和組合,從而生成自定義命名方式和/或自定義解析方式。
可選的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置系統(tǒng)中,所述全局身份實體標(biāo)識庫模塊201,包括:
內(nèi)容命名子模塊,用于根據(jù)由命名解析器模塊生成的命名方式,對數(shù)據(jù)包的內(nèi)容進行命名。
在一個網(wǎng)絡(luò)節(jié)點中,當(dāng)生成一個新數(shù)據(jù)包時,需要對該新數(shù)據(jù)包的內(nèi)容進行命名。內(nèi)容命名子模塊向命名解析器模塊發(fā)送信息,以使命名解析器模塊在預(yù)設(shè)的命名方式中,選擇并生成信息指定的命名方式。內(nèi)容命名子模塊通過該命名方式,命名新數(shù)據(jù)包的內(nèi)容,得到新數(shù)據(jù)包內(nèi)容的命名。當(dāng)然,內(nèi)容命名子模塊還能夠獲取由用戶輸入的命名指令,通過命名解析器模塊生成自定義命名方式,并可以將自定義命名方式保存為命名范本,以方便后續(xù)調(diào)用。
新數(shù)據(jù)包內(nèi)容的命名及,新數(shù)據(jù)包內(nèi)容的命名與新數(shù)據(jù)包在NDN中的對應(yīng)關(guān)系會存儲到全局身份實體標(biāo)識庫模塊201。
全局身份實體標(biāo)識庫模塊201中保存了NDN中所有數(shù)據(jù)包的內(nèi)容的命名及,所有命名與數(shù)據(jù)包在整個NDN中的對應(yīng)關(guān)系。且全局身份實體標(biāo)識庫模塊201會進行更新。
可選的,全局身份實體標(biāo)識庫模塊201根據(jù)預(yù)設(shè)的時間,周期性的進行更新。全局身份實體標(biāo)識庫模塊201將本周期內(nèi)自身新增加的數(shù)據(jù)發(fā)送至NDN中其他網(wǎng)絡(luò)節(jié)點,以完成NDN中所有全局身份實體標(biāo)識庫模塊的跟新。或
在新數(shù)據(jù)包進入網(wǎng)絡(luò)節(jié)點時,若該網(wǎng)絡(luò)節(jié)點的全局身份實體標(biāo)識庫模塊中不包含該新數(shù)據(jù)包的相關(guān)內(nèi)容,則存儲該新數(shù)據(jù)包內(nèi)容的命名及,新數(shù)據(jù)包內(nèi)容的命名與新數(shù)據(jù)包在NDN中的對應(yīng)關(guān)系到全局身份實體標(biāo)識庫模塊中。
在本發(fā)明實施例中,通過全局身份實體標(biāo)識庫模塊201及命名解析器模塊202,可以自由的編輯出一種命名方式,而不局限于現(xiàn)有的分層命名、自證明命名及屬性命名三種命名方式,當(dāng)然在發(fā)明中可以生成分層命名、自證明命名及屬性命名三種命名方式。不用重復(fù)搭建網(wǎng)絡(luò)環(huán)境,可以靈活的對已搭建的NDN的分發(fā)策略進行動態(tài)設(shè)置而完成多種NDN網(wǎng)絡(luò)架構(gòu)的實驗與開發(fā)。
可選的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置系統(tǒng)中,命名解析器模塊202,包括:
命名生成子模塊,用于根據(jù)命名及全局身份實體標(biāo)識庫模塊,生成命名方式及命名解析方式,其中,命名方式包括:分層命名方式、自證明命名方式及屬性命名方式。
當(dāng)然,命名生成子模塊還能夠生成自定義命名方式及自定義解析方式,此處不再贅述。
命名解析子模塊,用于根據(jù)命名解析方式,對命名進行解析,得到命名解析結(jié)果。
資源配置子模塊,用于根據(jù)命名解析結(jié)果,通過預(yù)設(shè)的基本原語及預(yù)設(shè)的匹配規(guī)則,對命名進行資源的配置,其中,預(yù)設(shè)的匹配規(guī)則包括:命名長度及字符內(nèi)容。
當(dāng)然,預(yù)設(shè)的匹配規(guī)則還包括,根據(jù)由用戶輸入的匹配指令,生成的與該匹配指令對應(yīng)的自定義匹配規(guī)則。
可選的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置系統(tǒng)中,命名解析器模塊202,還包括:
命名范本庫子模塊,用于存儲命名方式。
命名范本庫子模塊中存儲的命名方式包括:分層命名方式、自證明命名方式、屬性命名方式及自定義命名方式中的至少一種。
可選的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置系統(tǒng)中,注冊表模塊203,包括:
注冊表設(shè)定子模塊,用于設(shè)置注冊表數(shù)目、注冊表字段與注冊表長度。
在本發(fā)明實施例中,通過注冊表設(shè)定子模塊可以實現(xiàn)對注冊表模塊203的設(shè)定,方便對冊表模塊203的管理。
參見圖3,圖3為本發(fā)明實施例的NDN中分發(fā)策略的配置方法的邏輯結(jié)構(gòu)圖,包括:
在NDN中,在網(wǎng)絡(luò)節(jié)點之間進行數(shù)據(jù)包的分發(fā),在數(shù)據(jù)包進入網(wǎng)絡(luò)節(jié)點時,首先,獲取該數(shù)據(jù)包。根據(jù)該數(shù)據(jù)包中內(nèi)容的命名,通過命名解析器模塊,調(diào)用解析算法庫模塊中的命名解析方式的算法,生成與命名對應(yīng)的命名解析方式,并利用該命名解析方式對數(shù)據(jù)包中內(nèi)容的命名進行解析,得到命名解析結(jié)果。
然后,調(diào)用預(yù)設(shè)的原語庫模塊中的基本原語,根據(jù)命名解析結(jié)果,由命名解析器模塊對命名進行資源的配置,得到資源匹配結(jié)果。將NDN中網(wǎng)絡(luò)節(jié)點計算資源、存儲資源與信息資源通過元素的形式進行記錄,在對命名進行資源的配置時,將資源元素進行組合與編輯操作,以便適配相應(yīng)的命名解析策略。命名解析結(jié)果與資源匹配結(jié)果會存儲在注冊表模塊中的一張或者多張注冊表中,同時預(yù)設(shè)的緩存空間模塊會將注冊表模塊中的內(nèi)容根據(jù)預(yù)設(shè)的緩存策略進行緩存。
最后,預(yù)設(shè)的轉(zhuǎn)發(fā)交互控件模塊根據(jù)注冊表模塊和/或緩存空間模塊中的內(nèi)容,調(diào)用預(yù)設(shè)的動作庫中的動作,完成數(shù)據(jù)包在網(wǎng)絡(luò)節(jié)點之間的分發(fā)??蛇x的,緩存空間模塊根據(jù)預(yù)設(shè)的轉(zhuǎn)發(fā)策略對數(shù)據(jù)包的內(nèi)容進行緩存。
在本發(fā)明實施例中,通過對命名策略及資源的配置,實現(xiàn)了NDN中分發(fā)策略的配置,不用重復(fù)搭建網(wǎng)絡(luò)環(huán)境,可以靈活的對已搭建的NDN中的分發(fā)策略進行動態(tài)設(shè)置而完成多種NDN網(wǎng)絡(luò)架構(gòu)的實驗與開發(fā)。
圖4為本發(fā)明實施例的根據(jù)數(shù)據(jù)包配置分發(fā)策略的方法的流程示意圖。
在數(shù)據(jù)包為興趣包時:
S401,在數(shù)據(jù)包進入網(wǎng)絡(luò)節(jié)點后,通過命名解析器獲取該數(shù)據(jù)包內(nèi)容的命名,根據(jù)該命名通過命名解析器及全局身份實體標(biāo)識庫,生成解析該命名的命名解析方式。根據(jù)生成的命名解析方式,對該命名進行解析,得到命名解析結(jié)果。
命名解析器調(diào)用解析算法庫中的算法,生成命名解析方式。調(diào)用原語庫中的基本原語,針對命名解析結(jié)果,對命名進行資源配置。
S402,根據(jù)命名解析結(jié)果,通過命名解析器對命名進行資源的配置,得到資源匹配結(jié)果。
根據(jù)命名解析結(jié)果,在當(dāng)前網(wǎng)絡(luò)節(jié)點中含有數(shù)據(jù)包請求的內(nèi)容時,建立數(shù)據(jù)包請求的內(nèi)容與,發(fā)送該數(shù)據(jù)包的網(wǎng)絡(luò)節(jié)點的對應(yīng)關(guān)系(確定向哪一個網(wǎng)絡(luò)節(jié)點發(fā)送數(shù)據(jù)包請求的內(nèi)容),同時匹配相應(yīng)的分發(fā)動作,并分配本步驟中產(chǎn)生的內(nèi)容存儲的位置?;?/p>
根據(jù)命名解析結(jié)果,在當(dāng)前網(wǎng)絡(luò)節(jié)點中沒有數(shù)據(jù)包請求的內(nèi)容時,建立數(shù)據(jù)包與網(wǎng)絡(luò)節(jié)點的對應(yīng)關(guān)系(確定向哪一個網(wǎng)絡(luò)節(jié)點轉(zhuǎn)發(fā)該數(shù)據(jù)包),同時匹配相應(yīng)的分發(fā)動作,并分配本步驟中產(chǎn)生的內(nèi)容存儲的位置。
S403,將命名解析結(jié)果及資源匹配結(jié)果存儲到注冊表中。
S404,根據(jù)注冊表,通過轉(zhuǎn)發(fā)交互式控件調(diào)用動作庫中的動作,生成分發(fā)動作。
轉(zhuǎn)發(fā)交互式控件讀取注冊表中的內(nèi)容,配合全局身份實體標(biāo)識庫,調(diào)用動作庫中的動作,生成分發(fā)動作。
S405,在當(dāng)前網(wǎng)絡(luò)節(jié)點中含有數(shù)據(jù)包請求的內(nèi)容時,通過該分發(fā)動作,返回數(shù)據(jù)包請求的內(nèi)容,給請求該內(nèi)容的網(wǎng)絡(luò)節(jié)點。
S406,在當(dāng)前網(wǎng)絡(luò)節(jié)點中沒有數(shù)據(jù)包請求的內(nèi)容時,通過該分發(fā)動作,將數(shù)據(jù)包分發(fā)至其他網(wǎng)絡(luò)節(jié)點。
相應(yīng)的,在數(shù)據(jù)包為內(nèi)容包時:
步驟一,在數(shù)據(jù)包進入網(wǎng)絡(luò)節(jié)點后,通過命名解析器獲取該數(shù)據(jù)包內(nèi)容的命名,根據(jù)該命名通過命名解析器及全局身份實體標(biāo)識庫,生成解析該命名的命名解析方式。
步驟二,根據(jù)生成的命名解析方式,對該命名進行解析,得到命名解析結(jié)果。
步驟三,根據(jù)命名解析結(jié)果,通過命名解析器對命名進行資源的配置,得到資源匹配結(jié)果。
根據(jù)命名解析結(jié)果,建立數(shù)據(jù)包與網(wǎng)絡(luò)節(jié)點的對應(yīng)關(guān)系(確定向哪一個網(wǎng)絡(luò)節(jié)點轉(zhuǎn)發(fā)該數(shù)據(jù)包),同時匹配相應(yīng)的分發(fā)動作,并分配本步驟中產(chǎn)生的內(nèi)容存儲的位置。
步驟四,將命名解析結(jié)果及資源匹配結(jié)果存儲到注冊表中。
步驟五,根據(jù)注冊表,通過轉(zhuǎn)發(fā)交互式控件調(diào)用動作庫中的動作,生成分發(fā)動作,通過該分發(fā)動作,完成數(shù)據(jù)的分發(fā)。
通過本發(fā)明實施例的方法,有效的實現(xiàn)了請求包的配置接收,實現(xiàn)建設(shè)NDN網(wǎng)絡(luò)時網(wǎng)絡(luò)環(huán)境的單一搭建,降低了全局網(wǎng)絡(luò)中分發(fā)策略的時延,節(jié)約了網(wǎng)絡(luò)資源。
在本發(fā)明實施例中,能夠配置不同的命名解析方式,同時能夠配置對應(yīng)的資源,從而實現(xiàn)了命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的可配置??梢造`活的對已搭建的NDN中的分發(fā)策略進行動態(tài)設(shè)置而完成多種NDN網(wǎng)絡(luò)架構(gòu)的實驗與開發(fā),不重復(fù)建設(shè)網(wǎng)絡(luò)環(huán)境,避免了因重復(fù)建設(shè)導(dǎo)致的NDN網(wǎng)絡(luò)實驗與NDN運行環(huán)境的開發(fā)周期增長,節(jié)約了時間成本和網(wǎng)絡(luò)資源。
參見圖5,圖5為本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置系統(tǒng)的另一種示意圖,該系統(tǒng)包括:
數(shù)據(jù)包獲取模塊501,用于獲取第一數(shù)據(jù)包,其中,第一數(shù)據(jù)包包括:第一內(nèi)容及第一內(nèi)容的第一命名。
解析方式確定模塊502,用于根據(jù)第一命名,在預(yù)設(shè)的至少兩種命名解析方式中,確定與第一命名對應(yīng)的第一命名解析方式。
解析模塊503,用于對第一命名進行解析,得到命名解析結(jié)果。
匹配模塊504,用于將第一命名與資源進行匹配,得到資源匹配結(jié)果,其中,資源用于支持第二數(shù)據(jù)包的分發(fā),第二數(shù)據(jù)包包括:第一數(shù)據(jù)包和/或第一數(shù)據(jù)包請求的數(shù)據(jù)。
分發(fā)模塊505,用于將第二數(shù)據(jù)包在命名數(shù)據(jù)網(wǎng)絡(luò)中進行分發(fā)。
在本發(fā)明實施例中,能夠配置不同的命名解析方式,同時能夠配置對應(yīng)的資源,從而實現(xiàn)了命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的可配置。在分發(fā)策略發(fā)生改變時,不重復(fù)建設(shè)網(wǎng)絡(luò)環(huán)境,避免了因重復(fù)建設(shè)導(dǎo)致的NDN網(wǎng)絡(luò)實驗與NDN運行環(huán)境的開發(fā)周期增長,節(jié)約了時間成本和網(wǎng)絡(luò)資源。
需要說明的是,本發(fā)明實施例的系統(tǒng)時應(yīng)用上述命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置方法的系統(tǒng),則上述命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置方法的所有實施例均適用于該系統(tǒng),且均能達到相同或相似的有益效果。
可選的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置系統(tǒng)中,該系統(tǒng)還包括:
第一內(nèi)容獲取模塊,用于獲取第二內(nèi)容。
第一命名方式確定模塊,用于在預(yù)設(shè)的至少兩種命名方式中,確定一種命名方式,其中,預(yù)設(shè)的至少兩種命名方式包括:分層命名、自證明命名及屬性命名中的至少兩種。
第一對應(yīng)關(guān)系存儲模塊,用于通過確定的命名方式對第二內(nèi)容進行命名,得到第二命名,并存儲第二命名、及第二命名與第二內(nèi)容在命名數(shù)據(jù)網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點中的對應(yīng)關(guān)系。
在NDN中,一個內(nèi)容在首次生成時,需要利用命名方式對該內(nèi)容進行命名?,F(xiàn)有的NDN中命名方式是固定的,而在本發(fā)明實施例中,可以對命名方式進行配置,當(dāng)需要采用不同的命名方式時,不必重新搭建網(wǎng)絡(luò)環(huán)境,僅需要配置相應(yīng)的命名方式即可。從而節(jié)約了網(wǎng)絡(luò)資源。
可選的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置系統(tǒng)中,該系統(tǒng)還包括:
第二內(nèi)容獲取模塊,用于獲取第二內(nèi)容。
第二命名方式確定模塊,用于獲取并根據(jù)由用戶輸入的指令,生成自定義命名方式。
第二對應(yīng)關(guān)系存儲模塊,用于通過自定義命名方式,對第二內(nèi)容進行命名,得到第二命名,并存儲第二命名、及第二命名與第二內(nèi)容在命名數(shù)據(jù)網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點中的對應(yīng)關(guān)系。
在本發(fā)明實施例中,還能夠根據(jù)用戶輸入的指令,生成自定義命名方式。生成自定義命名方式,有利于進行NDN網(wǎng)絡(luò)實驗與開發(fā)NDN運行環(huán)境,用戶能夠測試不同命名方式在NDN中的使用效果,不用重新搭建網(wǎng)絡(luò)環(huán)境,節(jié)約了時間成本和網(wǎng)絡(luò)資源。
可選的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置系統(tǒng)中,該系統(tǒng)還包括:
自定義解析生成模塊,用于根據(jù)自定義命名方式,生成解析自定義命名方式的自定義解析方式。
方式存儲模塊,用于存儲自定義命名方式及自定義解析方式到預(yù)設(shè)位置。
在本發(fā)明實施例中,生成自定義解析方式,有利于進行NDN網(wǎng)絡(luò)實驗與開發(fā)NDN運行環(huán)境,用戶能夠測試不同命名方式在NDN中的使用效果,不用重新搭建網(wǎng)絡(luò)環(huán)境,節(jié)約了時間成本和網(wǎng)絡(luò)資源。
可選的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置系統(tǒng)中,匹配模塊504具體用于:
根據(jù)命名解析結(jié)果,通過預(yù)設(shè)的基本原語及預(yù)設(shè)的匹配規(guī)則,對第一命名進行資源的匹配,得到資源匹配結(jié)果,其中,預(yù)設(shè)的匹配規(guī)則包括:命名的長度和/或字符內(nèi)容,資源包括:網(wǎng)絡(luò)節(jié)點的計算資源、存儲資源及信息資源。
在本發(fā)明實施例中,將命名與資源進行匹配,有效的支持后續(xù)分發(fā)策略的配置。
可選的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置系統(tǒng)中,該系統(tǒng)還包括:
結(jié)果存儲模塊,用于存儲命名解析結(jié)果及資源匹配結(jié)果到預(yù)設(shè)的注冊表中。
在本發(fā)明實施例中,存儲命名解析結(jié)果及資源匹配結(jié)果到預(yù)設(shè)的注冊表中,方便查找。
可選的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置系統(tǒng)中,該系統(tǒng)還包括:
緩存策略確定模塊,用于在預(yù)設(shè)的至少一種緩存策略中,確定一種緩存策略,其中,預(yù)設(shè)的至少一種緩存策略包括:單網(wǎng)絡(luò)節(jié)點緩存策略、集中式緩存策略及分布式緩存策略中的一種或多種。
緩存模塊,用于根據(jù)確定的緩存策略,對預(yù)設(shè)的注冊表中的內(nèi)容進行緩存。
在本發(fā)明實施例中,將注冊表中的內(nèi)容進行緩存,增加了數(shù)據(jù)的讀取效率。
可選的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置系統(tǒng)中,分發(fā)模塊505包括:
對應(yīng)關(guān)系獲取子模塊,用于根據(jù)資源匹配結(jié)果,獲取第一命名與第二數(shù)據(jù)包在命名數(shù)據(jù)網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點中的對應(yīng)關(guān)系。
分發(fā)動作生成子模塊,用于根據(jù)資源匹配結(jié)果及,第一命名與第二數(shù)據(jù)包在命名數(shù)據(jù)網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點中的對應(yīng)關(guān)系,生成分發(fā)動作。
分發(fā)子模塊,用于利用分發(fā)動作,將第二數(shù)據(jù)包在網(wǎng)絡(luò)節(jié)點之間進行分發(fā)。
在本發(fā)明實施例中,給出了分發(fā)策略中分發(fā)動作的生成及配置方式,實現(xiàn)了NDN中分發(fā)策略的配置。
可選的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置系統(tǒng)中,分發(fā)模塊505還包括:
數(shù)據(jù)包發(fā)送子模塊,用于在第一內(nèi)容為命名數(shù)據(jù)網(wǎng)絡(luò)的更新內(nèi)容時,根據(jù)資源匹配結(jié)果,在第二數(shù)據(jù)包為第一數(shù)據(jù)包時,向其他網(wǎng)絡(luò)節(jié)點分發(fā)第一數(shù)據(jù)包,以使其他網(wǎng)絡(luò)節(jié)點分發(fā)第一數(shù)據(jù)包,及根據(jù)第一數(shù)據(jù)包更新其他網(wǎng)絡(luò)節(jié)點,其中,其他網(wǎng)絡(luò)節(jié)點為命名數(shù)據(jù)網(wǎng)絡(luò)中除當(dāng)前網(wǎng)絡(luò)節(jié)點外的一個或多個網(wǎng)絡(luò)節(jié)點。
相應(yīng)的,在本發(fā)明實施例的命名數(shù)據(jù)網(wǎng)絡(luò)中分發(fā)策略的配置系統(tǒng)中,該系統(tǒng)還包括:
更新模塊,用于根據(jù)第一內(nèi)容,更新當(dāng)前網(wǎng)絡(luò)節(jié)點。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說明書中的各個實施例均采用相關(guān)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。