亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種數(shù)據(jù)傳輸方法及其系統(tǒng)與流程

文檔序號(hào):12890111閱讀:270來源:國(guó)知局
一種數(shù)據(jù)傳輸方法及其系統(tǒng)與流程

本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)傳輸方法及其系統(tǒng)、計(jì)算機(jī)存儲(chǔ)介質(zhì)、邊緣節(jié)點(diǎn)設(shè)備和中轉(zhuǎn)節(jié)點(diǎn)設(shè)備。



背景技術(shù):

內(nèi)容分發(fā)網(wǎng)絡(luò)(contentdeliverynetwork,cdn)構(gòu)建在互聯(lián)網(wǎng)上,依靠部署在各地的邊緣服務(wù)器,通過中心平臺(tái)的負(fù)載均衡、內(nèi)容分發(fā)、調(diào)度等功能模塊,使用戶就近獲取所需內(nèi)容,降低網(wǎng)絡(luò)擁塞,提高用戶訪問響應(yīng)速度和命中率。

當(dāng)終端用戶向cdn邊緣節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)時(shí),cdn邊緣節(jié)點(diǎn)可能會(huì)像cdn中轉(zhuǎn)節(jié)點(diǎn)請(qǐng)求所需的數(shù)據(jù)。目前,當(dāng)前普遍的做法是向中轉(zhuǎn)節(jié)點(diǎn)發(fā)起一個(gè)請(qǐng)求,中轉(zhuǎn)節(jié)點(diǎn)返回全量或者分片的數(shù)據(jù),然后邊緣節(jié)點(diǎn)緩存這些數(shù)據(jù),當(dāng)下次再有用戶請(qǐng)求時(shí),邊緣節(jié)點(diǎn)可以將緩存直接給用戶。但是,在這種情況之下,當(dāng)前邊緣節(jié)點(diǎn)到中轉(zhuǎn)節(jié)點(diǎn)的數(shù)據(jù)傳輸存在以下缺點(diǎn):

(1)例如,a.abc.com/a.avi文件和a.bcd.com/a.avi文件其實(shí)是完全一樣的文件,但是在邊緣節(jié)點(diǎn)那里則需要緩存兩份,這樣就造成了浪費(fèi)邊緣節(jié)點(diǎn)存儲(chǔ)資源的現(xiàn)象;

(2)當(dāng)邊緣節(jié)點(diǎn)有a.abc.com/a.avi文件的緩存,而沒有a.bcd.com/a.avi文件的緩存時(shí),如果用戶請(qǐng)求a.bcd.com/a.avi文件時(shí),邊緣節(jié)點(diǎn)則需要回到中轉(zhuǎn)節(jié)點(diǎn)拉取數(shù)據(jù),這樣一來耗費(fèi)了數(shù)據(jù)傳輸?shù)臅r(shí)間,也消耗了數(shù)據(jù)傳輸帶寬。

由于以上兩個(gè)缺陷的存在,進(jìn)而造成了數(shù)據(jù)傳輸?shù)男瘦^低,極大的影響了用戶的體驗(yàn)。



技術(shù)實(shí)現(xiàn)要素:

為了解決現(xiàn)有技術(shù)的問題,本發(fā)明實(shí)施例提供了一種邊緣節(jié)點(diǎn)設(shè)備及其數(shù)據(jù)傳輸方法、計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信設(shè)備。所述技術(shù)方案如下:

一方面,一種數(shù)據(jù)傳輸方法,其中,所述方法包括以下步驟:

向中轉(zhuǎn)節(jié)點(diǎn)請(qǐng)求獲取數(shù)據(jù)文件;

接收所述中轉(zhuǎn)節(jié)點(diǎn)對(duì)所述數(shù)據(jù)文件的響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包中包含唯一標(biāo)識(shí)所述數(shù)據(jù)件文的特征碼;

查詢特征碼記錄庫(kù)中是否存在所述特征碼;

若存在所述特征碼,則通知所述中轉(zhuǎn)節(jié)點(diǎn)停止傳輸所述數(shù)據(jù)文件,并創(chuàng)建指向所述特征碼對(duì)應(yīng)的緩存文件的緩存指向記錄;

將所述緩存文件發(fā)送給所述用戶端。

進(jìn)一步的,所述方法還包括以下步驟:

若不存在所述特征碼,則接收并緩存所述中轉(zhuǎn)節(jié)點(diǎn)發(fā)送的所述數(shù)據(jù)文件,將所述特征碼記錄到所述特征碼記錄庫(kù)中,并將所述數(shù)據(jù)文件發(fā)送給所述用戶端。

進(jìn)一步的,在所述向中轉(zhuǎn)節(jié)點(diǎn)請(qǐng)求獲取數(shù)據(jù)文件的步驟之前還包括:

接收用戶端獲取所述數(shù)據(jù)文件的請(qǐng)求;

判斷是否緩存有所述數(shù)據(jù)文件;

若緩存有所述數(shù)據(jù)文件,則將所述數(shù)據(jù)文件發(fā)送給所述用戶端;

若沒有緩存所述數(shù)據(jù)文件,則判斷是否有所述數(shù)據(jù)文件對(duì)應(yīng)的緩存指向記錄;

若有所述緩存指向記錄,則將所述緩存指向記錄所指向的緩存文件發(fā)送給所述用戶端;

若沒有所述緩存指向記錄,則向所述中轉(zhuǎn)節(jié)點(diǎn)請(qǐng)求獲取所述數(shù)據(jù)文件。

進(jìn)一步的,所述方法還包括以下步驟:

初始化計(jì)算所有或部分緩存文件的特征碼;

所述緩存文件的特征碼如有相同,則將相同特征碼對(duì)應(yīng)的緩存文件保留一份,并為相同特征碼對(duì)應(yīng)的其它緩存文件創(chuàng)建指向所述保留的緩存文件的緩存指向記錄。

進(jìn)一步的,所述初始化計(jì)算所有或部分緩存文件的特征碼的步驟具體包括:

將所述緩存文件按照預(yù)定的分段長(zhǎng)度分成多份,分別算出每一份緩存文件的哈希值,將得到的多個(gè)所述哈希值順序排列,再對(duì)多個(gè)所述哈希值進(jìn)行哈希計(jì)算得出所述緩存文件的特征碼。

另一方面,一種數(shù)據(jù)傳輸方法,其中,所述方法包括以下步驟:

向源站請(qǐng)求獲取數(shù)據(jù)文件;

接收并存儲(chǔ)所述源站發(fā)送的所述數(shù)據(jù)文件,且對(duì)所述數(shù)據(jù)文件進(jìn)行計(jì)算得到唯一標(biāo)識(shí)所述數(shù)據(jù)文件的特征碼;

查詢特征碼記錄庫(kù)中是否存在所述特征碼;

若存在所述特征碼,則創(chuàng)建指向所述特征碼對(duì)應(yīng)的緩存文件的緩存指向記錄;

若不存在所述特征碼,則將所述特征碼記錄到所述特征碼記錄庫(kù)中;

將所述特征碼添加到響應(yīng)數(shù)據(jù)包中,連同所述數(shù)據(jù)文件或者所述緩存指向記錄指向的緩存文件一起發(fā)送給邊緣節(jié)點(diǎn)。

進(jìn)一步的,在所述向源站請(qǐng)求獲取數(shù)據(jù)文件的步驟之前還包括:

接收邊緣節(jié)點(diǎn)獲取所述數(shù)據(jù)文件的請(qǐng)求;

判斷是否緩存有所述數(shù)據(jù)文件;

若緩存有所述數(shù)據(jù)文件,則將唯一標(biāo)識(shí)所述數(shù)據(jù)文件的特征碼添加到響應(yīng)數(shù)據(jù)包中,并連同所述數(shù)據(jù)文件一起發(fā)送給所述邊緣節(jié)點(diǎn);

若沒有緩存所述數(shù)據(jù)文件,則判斷是否有所述數(shù)據(jù)文件對(duì)應(yīng)的緩存指向記錄;

若有所述緩存指向記錄,將所述特征碼添加到響應(yīng)數(shù)據(jù)包中,并連同所述緩存指向記錄所指向的緩存文件一起發(fā)送給所述邊緣節(jié)點(diǎn);

若沒有所述緩存指向記錄,則向所述源站請(qǐng)求獲取所述數(shù)據(jù)文件。

進(jìn)一步的,所述方法還包括以下步驟:

初始化計(jì)算所有或部分緩存文件的特征碼;

所述緩存文件的特征碼如有相同,則相同特征碼對(duì)應(yīng)的緩存文件保留一份,并為所述相同特征碼對(duì)應(yīng)的其它緩存文件創(chuàng)建指向所述保留的緩存文件的緩存指向記錄。

進(jìn)一步的,所述對(duì)所述數(shù)據(jù)文件進(jìn)行計(jì)算得到唯一標(biāo)識(shí)所述數(shù)據(jù)文件的特征碼的步驟具體包括:

每獲取到預(yù)定的分段長(zhǎng)度的數(shù)據(jù)文件時(shí),對(duì)預(yù)定長(zhǎng)度的所述數(shù)據(jù)文件進(jìn)行哈希計(jì)算得到哈希值,將得到的多個(gè)所述哈希值順序排列,再對(duì)多個(gè)所述哈希值進(jìn)行哈希計(jì)算得出所述數(shù)據(jù)文件的特征碼。

又一方面,一種數(shù)據(jù)傳輸系統(tǒng),其中,所述數(shù)據(jù)傳輸系統(tǒng)包括相互通信連接的邊緣節(jié)點(diǎn)和中轉(zhuǎn)節(jié)點(diǎn),其中:

所述邊緣節(jié)點(diǎn),接收用戶端獲取數(shù)據(jù)文件的請(qǐng)求,并向所述中轉(zhuǎn)節(jié)點(diǎn)請(qǐng)求所述數(shù)據(jù)文件;

所述中轉(zhuǎn)節(jié)點(diǎn),接收所述邊緣節(jié)點(diǎn)的所述請(qǐng)求,并將響應(yīng)數(shù)據(jù)包發(fā)送給所述邊緣節(jié)點(diǎn),所述響應(yīng)數(shù)據(jù)包中包含唯一標(biāo)識(shí)所述數(shù)據(jù)件文的特征碼;

所述邊緣節(jié)點(diǎn),查詢特征碼記錄庫(kù)中是否存在所述特征碼,若存在所述特征碼,則通知所述中轉(zhuǎn)節(jié)點(diǎn)停止傳輸所述數(shù)據(jù)文件,并創(chuàng)建指向所述特征碼對(duì)應(yīng)的緩存文件的緩存指向記錄,將所述緩存文件發(fā)送給所述用戶端。

進(jìn)一步的,所述邊緣節(jié)點(diǎn)查詢所述特征碼記錄庫(kù)中是否存在所述特征碼,若不存在所述特征碼,則接收并緩存所述中轉(zhuǎn)節(jié)點(diǎn)發(fā)送的所述數(shù)據(jù)文件,將所述特征碼記錄到所述特征碼記錄庫(kù)中,并將所述數(shù)據(jù)文件發(fā)送給所述用戶端。

進(jìn)一步的,

所述中轉(zhuǎn)節(jié)點(diǎn)接收所述邊緣節(jié)點(diǎn)的所述請(qǐng)求;

所述中轉(zhuǎn)節(jié)點(diǎn)判斷是否緩存有所述數(shù)據(jù)文件,若緩存有所述數(shù)據(jù)文件,則將唯一標(biāo)識(shí)所述數(shù)據(jù)文件的特征碼添加到響應(yīng)數(shù)據(jù)包中,并連同所述數(shù)據(jù)文件一起發(fā)送給所述邊緣節(jié)點(diǎn);

若沒有緩存所述數(shù)據(jù)文件,則判斷是否有所述數(shù)據(jù)文件對(duì)應(yīng)的緩存指向記錄,若有所述緩存指向記錄,則將所述特征碼添加到響應(yīng)數(shù)據(jù)包中,并連同所述緩存指向記錄所指向的緩存文件一起發(fā)送給所述邊緣節(jié)點(diǎn);若沒有所述緩存指向記錄,則向源站請(qǐng)求獲取所述數(shù)據(jù)文件。

進(jìn)一步的,

所述中轉(zhuǎn)節(jié)點(diǎn)判斷是否有所述數(shù)據(jù)文件對(duì)應(yīng)的緩存指向記錄,若沒有所述緩存指向記錄,則所述向源站請(qǐng)求所述數(shù)據(jù)文件;

所述中轉(zhuǎn)節(jié)點(diǎn)接收并存儲(chǔ)所述源站發(fā)送的所述數(shù)據(jù)文件,且對(duì)所述數(shù)據(jù)文件進(jìn)行計(jì)算得到唯一標(biāo)識(shí)所述數(shù)據(jù)文件的特征碼;

所述中轉(zhuǎn)節(jié)點(diǎn)查詢特征碼記錄庫(kù)中是否存在所述特征碼,若存在所述特征碼,則創(chuàng)建指向所述特征碼對(duì)應(yīng)的緩存文件的所述緩存指向記錄;若不存在所述特征碼,則將所述特征碼記錄到所述特征碼記錄庫(kù)中;

所述中轉(zhuǎn)節(jié)點(diǎn)將所述特征碼添加到響應(yīng)數(shù)據(jù)包中,連同所述數(shù)據(jù)文件或者所述緩存指向記錄指向的緩存文件一起發(fā)送給所述邊緣節(jié)點(diǎn)。

再一方面,一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其中,所述計(jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令用于使所述計(jì)算機(jī)執(zhí)行上述任一項(xiàng)所述的數(shù)據(jù)傳輸方法。

再一方面,一種邊緣節(jié)點(diǎn)設(shè)備,其中,所述邊緣節(jié)點(diǎn)設(shè)備包括:

存儲(chǔ)器,用于存儲(chǔ)程序指令;

處理器,用于調(diào)用所述存儲(chǔ)器中存儲(chǔ)的程序指令,按照獲得的程序指令執(zhí)行上述任一項(xiàng)所述的數(shù)據(jù)傳輸方法。

再一方面,一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其中,所述計(jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令用于使所述計(jì)算機(jī)執(zhí)行上述任一項(xiàng)所述的數(shù)據(jù)傳輸方法。

再一方面,一種中轉(zhuǎn)節(jié)點(diǎn)設(shè)備,其中,所述中轉(zhuǎn)節(jié)點(diǎn)設(shè)備包括:

存儲(chǔ)器,用于存儲(chǔ)程序指令;

處理器,用于調(diào)用所述存儲(chǔ)器中存儲(chǔ)的程序指令,按照獲得的程序指令執(zhí)行上述任一項(xiàng)所述的數(shù)據(jù)傳輸方法。

本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是:在邊緣節(jié)點(diǎn)和/或中轉(zhuǎn)節(jié)點(diǎn)中采用特征碼唯一標(biāo)識(shí)數(shù)據(jù)文件,并且在數(shù)據(jù)傳輸時(shí),采用特征碼查詢對(duì)比的方式判斷請(qǐng)求的數(shù)據(jù)文件是否和已存儲(chǔ)的緩存文件相同,借此避免相同內(nèi)容的數(shù)據(jù)文件的重復(fù)傳輸和重復(fù)存儲(chǔ),節(jié)省邊緣節(jié)點(diǎn)和/或中轉(zhuǎn)節(jié)點(diǎn)的存儲(chǔ)資源,節(jié)省網(wǎng)絡(luò)傳輸帶寬。且在利用特征碼查詢比對(duì)命中的情況下,可以大大的增加數(shù)據(jù)傳輸?shù)乃俣取?/p>

另外,本發(fā)明充分的利用邊緣節(jié)點(diǎn)和/或中轉(zhuǎn)節(jié)點(diǎn)現(xiàn)有的緩存文件,具有相同特征碼的緩存文件僅保留一份,將相同特征碼對(duì)應(yīng)的其它緩存文件創(chuàng)建指向所述保留的緩存文件的緩存指向記錄,進(jìn)一步節(jié)省邊緣節(jié)點(diǎn)和/或中轉(zhuǎn)節(jié)點(diǎn)存儲(chǔ)資源。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明一實(shí)施方式中邊緣節(jié)點(diǎn)的數(shù)據(jù)傳輸方法流程圖;

圖2為本發(fā)明一實(shí)施方式中圖1所示步驟s11的具體流程圖;

圖3為本發(fā)明一實(shí)施方式中中轉(zhuǎn)節(jié)點(diǎn)的數(shù)據(jù)傳輸方法流程圖;

圖4為本發(fā)明一實(shí)施方式中數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)示意圖;

圖5為本發(fā)明一實(shí)施方式邊緣節(jié)點(diǎn)設(shè)備的結(jié)構(gòu)示意圖;

圖6為本發(fā)明一實(shí)施方式中轉(zhuǎn)節(jié)點(diǎn)設(shè)備的結(jié)構(gòu)示意圖。

具體實(shí)施方式

為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

以下將對(duì)本發(fā)明所提供的一實(shí)施例中的一種數(shù)據(jù)傳輸方法進(jìn)行詳細(xì)說明,該數(shù)據(jù)傳輸方法可應(yīng)用于內(nèi)容分發(fā)網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)中。

請(qǐng)參閱圖1,為本發(fā)明一實(shí)施方式中邊緣節(jié)點(diǎn)的數(shù)據(jù)傳輸方法流程圖。

在本實(shí)施方式中,該邊緣節(jié)點(diǎn)的數(shù)據(jù)傳輸方法應(yīng)用于內(nèi)容分發(fā)網(wǎng)絡(luò)(contentdeliverynetwork,cdn),其中該內(nèi)容分發(fā)網(wǎng)絡(luò)包括相互通信連接的邊緣節(jié)點(diǎn)和中轉(zhuǎn)節(jié)點(diǎn),邊緣節(jié)點(diǎn)和中轉(zhuǎn)節(jié)點(diǎn)均設(shè)置在用戶端與客戶源站之間,其中,所述邊緣節(jié)點(diǎn)與用戶端通信連接,所述中轉(zhuǎn)節(jié)點(diǎn)與客戶源站通信連接,當(dāng)然,所述邊緣節(jié)點(diǎn)和所述中轉(zhuǎn)節(jié)點(diǎn)都是各種類型的服務(wù)器,例如邊緣節(jié)點(diǎn)可以是部署在用戶側(cè)的邊緣服務(wù)器,中轉(zhuǎn)節(jié)點(diǎn)可以是部署網(wǎng)絡(luò)側(cè)的中轉(zhuǎn)服務(wù)器,在此不做限定。

在步驟s11中,接收用戶端獲取數(shù)據(jù)文件的請(qǐng)求,并向中轉(zhuǎn)節(jié)點(diǎn)請(qǐng)求所述數(shù)據(jù)文件。

在本實(shí)施方式中,所述接收用戶端獲取數(shù)據(jù)文件的請(qǐng)求,并向中轉(zhuǎn)節(jié)點(diǎn)請(qǐng)求所述數(shù)據(jù)文件的步驟s11具體包括s111-s116這六個(gè)子步驟,如圖2所示。

請(qǐng)參閱圖2,為本發(fā)明一實(shí)施方式中圖1所示步驟s11的具體流程圖。

在步驟s111中,接收用戶端獲取數(shù)據(jù)文件的請(qǐng)求。

在本實(shí)施方式中,以用戶請(qǐng)求訪問數(shù)據(jù)文件a.abc.com/a.avi為例進(jìn)行說明,當(dāng)用戶需要訪問數(shù)據(jù)文件a.abc.com/a.avi時(shí),首先會(huì)利用用戶端向邊緣節(jié)點(diǎn)發(fā)送訪問數(shù)據(jù)文件a.abc.com/a.avi的請(qǐng)求。

在步驟s112中,判斷是否緩存有所述數(shù)據(jù)文件。

在本實(shí)施方式中,邊緣節(jié)點(diǎn)在接收到用戶端想要獲取數(shù)據(jù)文件a.abc.com/a.avi的請(qǐng)求之后,首先判斷是否緩存有所述數(shù)據(jù)文件a.abc.com/a.avi。

若緩存有所述數(shù)據(jù)文件,則在步驟s113中,將所述數(shù)據(jù)文件發(fā)送給所述用戶端。

在本實(shí)施方式中,若緩存有所述數(shù)據(jù)文件a.abc.com/a.avi,則邊緣節(jié)點(diǎn)直接將緩存的所述數(shù)據(jù)文件a.abc.com/a.avi發(fā)送給所述用戶端。

若沒有緩存所述數(shù)據(jù)文件,則在步驟s114中,判斷是否有所述數(shù)據(jù)文件對(duì)應(yīng)的緩存指向記錄。

在本實(shí)施方式中,若沒有緩存所述數(shù)據(jù)文件a.abc.com/a.avi,則邊緣節(jié)點(diǎn)還要判斷是否有所述數(shù)據(jù)文件a.abc.com/a.avi對(duì)應(yīng)的緩存指向記錄。在本實(shí)施方式中,由于數(shù)據(jù)文件a.abc.com/a.avi和數(shù)據(jù)文件a.bcd.com/a.avi其實(shí)是內(nèi)容完全一樣的文件,只是歸屬于不同的域名,例如數(shù)據(jù)文件a.abc.com/a.avi是用戶端向域名a.abc.com請(qǐng)求的內(nèi)容為a.avi的數(shù)據(jù)文件,數(shù)據(jù)文件a.bcd.com/a.avi是用戶端向域名a.bcd.com請(qǐng)求的內(nèi)容為a.avi的數(shù)據(jù)文件。為避免相同內(nèi)容的數(shù)據(jù)文件重復(fù)存儲(chǔ)及節(jié)省存儲(chǔ)資源,邊緣節(jié)點(diǎn)在本地硬盤中存儲(chǔ)時(shí),只存儲(chǔ)a.bcd.com/a.avi這個(gè)完整的數(shù)據(jù)文件以及一個(gè)緩存指向記錄,不存儲(chǔ)實(shí)際的數(shù)據(jù)文件a.abc.com/a.avi,其中,該緩存指向記錄用于指向a.bcd.com/a.avi這個(gè)完整的數(shù)據(jù)文件,當(dāng)查找a.abc.com/a.avi時(shí),根據(jù)緩存指向記錄,可以自動(dòng)鏈接或引導(dǎo)至文件a.bcd.com/a.avi。

若有所述緩存指向記錄,則在步驟s115中,將所述緩存指向記錄所指向的緩存文件發(fā)送給所述用戶端。

在本實(shí)施方式中,當(dāng)判斷不存在所請(qǐng)求的數(shù)據(jù)文件a.abc.com/a.avi,但是存在數(shù)據(jù)文件a.abc.com/a.avi對(duì)應(yīng)的緩存文件指向記錄,則表明邊緣節(jié)點(diǎn)內(nèi)已經(jīng)存儲(chǔ)了一份與數(shù)據(jù)文件a.abc.com/a.avi內(nèi)容相同的緩存文件a.bcd.com/a.avi。邊緣節(jié)點(diǎn)根據(jù)緩存指向記錄查找到緩存文件a.bcd.com/a.avi,并將緩存文件a.bcd.com/a.avi發(fā)送給用戶端,作為對(duì)用戶端請(qǐng)求獲取數(shù)據(jù)文件a.abc.com/a.avi的響應(yīng)。

若沒有所述緩存指向記錄,則在步驟s116中,向所述中轉(zhuǎn)節(jié)點(diǎn)請(qǐng)求所述數(shù)據(jù)文件。

當(dāng)邊緣節(jié)點(diǎn)既沒有被請(qǐng)求的數(shù)據(jù)文件a.abc.com/a.avi,又沒有數(shù)據(jù)文件a.abc.com/a.avi對(duì)應(yīng)的緩存指向記錄時(shí),邊緣節(jié)點(diǎn)則會(huì)向中轉(zhuǎn)節(jié)點(diǎn)發(fā)送獲取數(shù)據(jù)文件a.abc.com/a.avi的請(qǐng)求,以期望能從中轉(zhuǎn)節(jié)點(diǎn)獲取用戶端所需要的數(shù)據(jù)文件a.abc.com/a.avi。

請(qǐng)繼續(xù)參閱圖1,在步驟s12中,接收所述中轉(zhuǎn)節(jié)點(diǎn)對(duì)所述數(shù)據(jù)文件的響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包中包含唯一標(biāo)識(shí)所述數(shù)據(jù)件文的特征碼。

在本實(shí)施方式中,邊緣節(jié)點(diǎn)從中轉(zhuǎn)節(jié)點(diǎn)接收其對(duì)數(shù)據(jù)文件a.abc.com/a.avi的響應(yīng)數(shù)據(jù)包,其中,所述響應(yīng)數(shù)據(jù)包中包含唯一標(biāo)識(shí)所述數(shù)據(jù)文件a.abc.com/a.avi的特征碼。為了不影響數(shù)據(jù)文件的傳輸,特征碼一般包含在響應(yīng)數(shù)據(jù)包的第一個(gè)數(shù)據(jù)包的頭部,且相同內(nèi)容的數(shù)據(jù)文件,特征碼相同,如a.abc.com/a.avi與a.bcd.com/a.avi具有相同的特征碼。根據(jù)數(shù)據(jù)傳輸通常以分段傳輸?shù)姆绞?,最先傳輸?shù)牡谝粋€(gè)數(shù)據(jù)包中就已經(jīng)包含了特征碼,邊緣節(jié)點(diǎn)可以根據(jù)該響應(yīng)數(shù)據(jù)包的第一個(gè)數(shù)據(jù)包就能獲取到特征碼,在后續(xù)包含數(shù)據(jù)文件的其他數(shù)據(jù)包還未傳輸?shù)那闆r就能進(jìn)行特征碼的比對(duì)。

在步驟s13中,查詢特征碼記錄庫(kù)中是否存在所述特征碼。

在本實(shí)施方式中,邊緣節(jié)點(diǎn)查詢本地的特征碼記錄庫(kù)中是否存在所述特征碼。

通常,如果邊緣節(jié)點(diǎn)不是全新節(jié)點(diǎn),即邊緣節(jié)點(diǎn)已存儲(chǔ)有緩存文件,為了采用特征碼唯一標(biāo)識(shí)數(shù)據(jù)文件及后續(xù)特征碼的查詢和比對(duì),需要對(duì)已有緩存文件進(jìn)行特征碼計(jì)算及初始化的處理。故在一實(shí)施例中,邊緣節(jié)點(diǎn)的數(shù)據(jù)傳輸方法還包括以下步驟:

初始化計(jì)算所有或部分緩存文件的特征碼,邊緣節(jié)點(diǎn)內(nèi)緩存文件的特征碼如有相同,則將相同特征碼對(duì)應(yīng)的緩存文件保留一份,并為相同特征碼對(duì)應(yīng)的其它緩存文件創(chuàng)建指向所述保留的緩存文件的緩存指向記錄。如此,實(shí)際內(nèi)容相同的緩存文件只占用了一份緩存文件大小的存儲(chǔ)空間,其它相同內(nèi)容的緩存文件采用緩存指向記錄的形式存儲(chǔ)記錄,大大節(jié)省了存儲(chǔ)空間。

在一實(shí)施例中,特征碼的計(jì)算采用分段哈希的計(jì)算方式。例如初始化計(jì)算所有或部分緩存文件的特征碼的步驟具體包括:

將緩存文件按照預(yù)定的分段長(zhǎng)度分成多份,分別算出每一份緩存文件的哈希(hash)值,將得到的多個(gè)哈希值順序排列,再對(duì)多個(gè)所述哈希值進(jìn)行一次哈希計(jì)算得出緩存文件的特征碼。所有的緩存文件的特征碼都存儲(chǔ)在邊緣節(jié)點(diǎn)的本地特征碼記錄庫(kù)中,內(nèi)容相同的緩存文件由相同的特征碼唯一標(biāo)識(shí)。

請(qǐng)繼續(xù)參考圖1,若存在所述特征碼,則在步驟s14中,通知所述中轉(zhuǎn)節(jié)點(diǎn)停止傳輸所述數(shù)據(jù)文件,并創(chuàng)建指向所述特征碼對(duì)應(yīng)的緩存文件的緩存指向記錄。

在本實(shí)施方式中,因?yàn)橄嗤瑑?nèi)容的數(shù)據(jù)文件,不管其歸屬于哪個(gè)域名,都采用相同的特征碼來標(biāo)識(shí),若存在所述特征碼,則表示邊緣節(jié)點(diǎn)中已存在與請(qǐng)求的數(shù)據(jù)文件a.abc.com/a.avi內(nèi)容相同的緩存文件a.abc.com/a.avi。邊緣節(jié)點(diǎn)通知中轉(zhuǎn)節(jié)點(diǎn)停止傳輸數(shù)據(jù)文件a.abc.com/a.avi,也即停止傳輸所述響應(yīng)數(shù)據(jù)包,關(guān)閉邊緣節(jié)點(diǎn)與中轉(zhuǎn)節(jié)點(diǎn)之間的連接,避免數(shù)據(jù)文件的重復(fù)傳輸,節(jié)省了網(wǎng)絡(luò)帶寬。并創(chuàng)建指向所述特征碼對(duì)應(yīng)的緩存文件a.bcd.com/a.avi的緩存指向記錄,以備下次收到請(qǐng)求獲取數(shù)據(jù)文件a.abc.com/a.avi時(shí),可以直接根據(jù)緩存指向記錄將緩存文件a.bcd.com/a.avi響應(yīng)給用戶端。

在步驟s15中,將所述緩存文件發(fā)送給所述用戶端。

因?yàn)樘卣鞔a相同,故請(qǐng)求的數(shù)據(jù)文件a.abc.com/a.avi與邊緣節(jié)點(diǎn)的緩存文件a.bcd.com/a.avi內(nèi)容實(shí)質(zhì)相同,邊緣節(jié)點(diǎn)將本地已存儲(chǔ)的緩存文件a.bcd.com/a.avi發(fā)送給用戶端,作為對(duì)用戶端請(qǐng)求獲取數(shù)據(jù)文件a.abc.com/a.avi的響應(yīng)。

若不存在所述特征碼,則在步驟s16中,接收并緩存所述中轉(zhuǎn)節(jié)點(diǎn)發(fā)送的所述數(shù)據(jù)文件,將所述特征碼記錄到所述特征碼記錄庫(kù)中,并將所述數(shù)據(jù)文件發(fā)送給所述用戶端。

在本實(shí)施方式中,若不存在所述特征碼,則表明邊緣節(jié)點(diǎn)需要從中轉(zhuǎn)節(jié)點(diǎn)獲取所述a.abc.com/a.avi數(shù)據(jù)文件,此時(shí)邊緣節(jié)點(diǎn)從中轉(zhuǎn)節(jié)點(diǎn)接收并緩存所述a.abc.com/a.avi數(shù)據(jù)文件,然后將步驟s12中響應(yīng)數(shù)據(jù)包中的特征碼記錄到本地特征碼記錄庫(kù)中,用以標(biāo)識(shí)數(shù)據(jù)文件a.abc.com/a.avi,用于后續(xù)的請(qǐng)求相同數(shù)據(jù)文件的特征碼對(duì)比,并將獲取到的所述a.abc.com/a.avi數(shù)據(jù)文件發(fā)送給所述用戶端。

本發(fā)明實(shí)施例提供的數(shù)據(jù)傳輸方法,在邊緣節(jié)點(diǎn)中采用特征碼唯一標(biāo)識(shí)數(shù)據(jù)文件,并且在邊緣節(jié)點(diǎn)接收中轉(zhuǎn)節(jié)點(diǎn)的數(shù)據(jù)傳輸時(shí),采用特征碼查詢對(duì)比的方式判斷請(qǐng)求的數(shù)據(jù)文件是否和已緩存的緩存文件相同,借此避免相同內(nèi)容的數(shù)據(jù)文件的重復(fù)傳輸和重復(fù)存儲(chǔ),節(jié)省了邊緣節(jié)點(diǎn)的存儲(chǔ)資源,節(jié)省了邊緣節(jié)點(diǎn)和中轉(zhuǎn)節(jié)點(diǎn)之間的網(wǎng)絡(luò)傳輸帶寬。且在利用特征碼查詢比對(duì)命中的情況下,邊緣節(jié)點(diǎn)可以直接將緩存文件作為用戶端請(qǐng)求的數(shù)據(jù)文件發(fā)送給用戶端,而無需等中轉(zhuǎn)節(jié)點(diǎn)傳輸數(shù)據(jù)文件,再將數(shù)據(jù)文件響應(yīng)給用戶端,可以大大的增加數(shù)據(jù)傳輸?shù)乃俣取?/p>

以下將對(duì)本發(fā)明提供的另一實(shí)施例中的一種數(shù)據(jù)傳輸方法進(jìn)行詳細(xì)說明,該數(shù)據(jù)傳輸方法可應(yīng)用于內(nèi)容分發(fā)網(wǎng)絡(luò)的中轉(zhuǎn)節(jié)點(diǎn)中。

請(qǐng)參閱圖3,所示為本發(fā)明一實(shí)施方式中中轉(zhuǎn)節(jié)點(diǎn)的數(shù)據(jù)傳輸方法流程圖。

在步驟s201中,接收邊緣節(jié)點(diǎn)獲取數(shù)據(jù)文件的請(qǐng)求。

在本實(shí)施方式中,中轉(zhuǎn)節(jié)點(diǎn)接收邊緣節(jié)點(diǎn)獲取數(shù)據(jù)文件的請(qǐng)求,從前述圖2對(duì)應(yīng)實(shí)施例的步驟s116可知,當(dāng)邊緣節(jié)點(diǎn)既沒有緩存文件,又沒有緩存指向記錄時(shí),邊緣節(jié)點(diǎn)則會(huì)向中轉(zhuǎn)節(jié)點(diǎn)發(fā)送請(qǐng)求,以期望能從中轉(zhuǎn)節(jié)點(diǎn)獲取用戶端所需要的數(shù)據(jù)文件a.abc.com/a.avi。

在步驟s202中,判斷是否緩存有所述數(shù)據(jù)文件。

在本實(shí)施方式中,中轉(zhuǎn)節(jié)點(diǎn)判斷是否緩存有數(shù)據(jù)文件a.abc.com/a.avi。

若緩存有所述數(shù)據(jù)文件,則在步驟s203中,將唯一標(biāo)識(shí)所述數(shù)據(jù)文件的特征碼添加到響應(yīng)數(shù)據(jù)包中,并連同所述數(shù)據(jù)文件一起發(fā)送給所述邊緣節(jié)點(diǎn)。

例如,若緩存有所述數(shù)據(jù)文件a.abc.com/a.avi,則中轉(zhuǎn)節(jié)點(diǎn)將唯一標(biāo)識(shí)所述數(shù)據(jù)文件a.abc.com/a.avi的特征碼添加到響應(yīng)數(shù)據(jù)包中,并連同所述數(shù)據(jù)文件a.abc.com/a.avi一起發(fā)送給所述邊緣節(jié)點(diǎn)。響應(yīng)數(shù)據(jù)包中的特征碼可用于邊緣節(jié)點(diǎn)接收該響應(yīng)數(shù)據(jù)包時(shí)判斷邊緣節(jié)點(diǎn)本地特征碼記錄庫(kù)中是否有相同的特征碼,也即判斷邊緣節(jié)點(diǎn)中是否已存儲(chǔ)有與該數(shù)據(jù)文件內(nèi)容相同的緩存文件。

若沒有緩存所述數(shù)據(jù)文件,則在步驟s204中,判斷是否有所述數(shù)據(jù)文件對(duì)應(yīng)的緩存指向記錄。

在本實(shí)施方式中,若沒有緩存所述數(shù)據(jù)文件,則中轉(zhuǎn)節(jié)點(diǎn)判斷是否有所述數(shù)據(jù)文件a.abc.com/a.avi對(duì)應(yīng)的緩存指向記錄。在本實(shí)施方式中,由于數(shù)據(jù)文件a.abc.com/a.avi和數(shù)據(jù)文件a.bcd.com/a.avi其實(shí)是內(nèi)容完全一樣的文件,中轉(zhuǎn)節(jié)點(diǎn)在本地硬盤中存儲(chǔ)時(shí),只存儲(chǔ)a.bcd.com/a.avi這個(gè)完整的數(shù)據(jù)文件以及一個(gè)緩存指向記錄,不存儲(chǔ)實(shí)際的數(shù)據(jù)文件a.abc.com/a.avi,其中,該緩存指向記錄用于指向a.bcd.com/a.avi這個(gè)完整的數(shù)據(jù)文件。

若有所述緩存指向記錄,則在步驟s205中,將所述特征碼添加到響應(yīng)數(shù)據(jù)包中,并連同將所述緩存指向記錄所指向的緩存文件一起發(fā)送給所述邊緣節(jié)點(diǎn)。

在本實(shí)施方式中,若有所述緩存指向記錄,中轉(zhuǎn)節(jié)點(diǎn)根據(jù)緩存指向記錄查找到緩存文件a.bcd.com/a.avi,并將將所述特征碼添加到響應(yīng)數(shù)據(jù)包中,特征碼包含在響應(yīng)數(shù)據(jù)包的第一個(gè)數(shù)據(jù)包的頭部,并連同所述緩存文件a.bcd.com/a.avi一起發(fā)送給所述邊緣節(jié)點(diǎn),作為對(duì)邊緣節(jié)點(diǎn)請(qǐng)求獲取數(shù)據(jù)文件a.abc.com/a.avi的響應(yīng)。

若沒有所述緩存指向記錄,則在步驟s206中,向源站請(qǐng)求所述數(shù)據(jù)文件。

在本實(shí)施方式中,沒有緩存對(duì)應(yīng)的數(shù)據(jù)文件,又若沒有所述緩存指向記錄,則表明中轉(zhuǎn)節(jié)點(diǎn)只能向客戶源站獲取幫助,以從客戶源站獲取邊緣節(jié)點(diǎn)所需要獲取的數(shù)據(jù)文件a.abc.com/a.avi。

在步驟s207中,接收并存儲(chǔ)所述源站發(fā)送的所述數(shù)據(jù)文件,且對(duì)所述數(shù)據(jù)文件進(jìn)行計(jì)算得到唯一標(biāo)識(shí)所述數(shù)據(jù)文件的特征碼。

在本實(shí)施方式中,中轉(zhuǎn)節(jié)點(diǎn)從客戶源站接收并存儲(chǔ)所述數(shù)據(jù)文件a.abc.com/a.avi,且對(duì)所述數(shù)據(jù)文件a.abc.com/a.avi進(jìn)行計(jì)算得到唯一標(biāo)識(shí)所述a.abc.com/a.avi數(shù)據(jù)文件的特征碼。在本實(shí)施方式中,采用哈希算法計(jì)算得到唯一標(biāo)識(shí)所述a.abc.com/a.avi數(shù)據(jù)文件的特征碼。例如,當(dāng)中轉(zhuǎn)節(jié)點(diǎn)從源站獲取數(shù)據(jù)文件時(shí),一般都是一個(gè)數(shù)據(jù)包一個(gè)數(shù)據(jù)包的傳輸,每獲取到預(yù)定的分段長(zhǎng)度的數(shù)據(jù)文件時(shí),對(duì)預(yù)定長(zhǎng)度的所述數(shù)據(jù)文件進(jìn)行哈希計(jì)算得到哈希值,直至所述數(shù)據(jù)文件獲取完畢,得到多個(gè)哈希值,將得到的多個(gè)哈希值順序排列,再對(duì)多個(gè)所述哈希值進(jìn)行哈希計(jì)算得出所述數(shù)據(jù)文件的特征碼。

在步驟s208中,查詢特征碼記錄庫(kù)中是否存在所述特征碼。

在本實(shí)施方式中,中轉(zhuǎn)節(jié)點(diǎn)查詢本地的特征碼記錄庫(kù)中是否存在所述特征碼。

通常,如果中轉(zhuǎn)節(jié)點(diǎn)不是全新節(jié)點(diǎn),即中轉(zhuǎn)節(jié)點(diǎn)已存儲(chǔ)有緩存文件,為了采用特征碼唯一標(biāo)識(shí)數(shù)據(jù)文件及后續(xù)特征碼的查詢和比對(duì),需要對(duì)已有緩存文件進(jìn)行特征碼計(jì)算及初始化的處理。故在一實(shí)施例中,中轉(zhuǎn)節(jié)點(diǎn)的數(shù)據(jù)傳輸方法還包括以下步驟:

初始化計(jì)算所有或部分緩存文件的特征碼,中轉(zhuǎn)節(jié)點(diǎn)內(nèi)緩存文件的特征碼如有相同,則將相同特征碼對(duì)應(yīng)的緩存文件保留一份,并為相同特征碼對(duì)應(yīng)的其它緩存文件創(chuàng)建指向所述保留的緩存文件的緩存指向記錄。如此,實(shí)際內(nèi)容相同的緩存文件只占用了一份緩存文件大小的存儲(chǔ)空間,其它相同內(nèi)容的緩存文件采用緩存指向記錄的形式存儲(chǔ)記錄,大大節(jié)省了中轉(zhuǎn)節(jié)點(diǎn)的存儲(chǔ)空間。

若存在所述特征碼,則在步驟s209中,創(chuàng)建指向所述特征碼對(duì)應(yīng)的緩存文件的所述緩存指向記錄。

在本實(shí)施方式中,若存在所述特征碼,則中轉(zhuǎn)節(jié)點(diǎn)創(chuàng)建指向所述特征碼對(duì)應(yīng)的緩存文件的所述緩存指向記錄,以備下次收到請(qǐng)求獲取數(shù)據(jù)文件a.abc.com/a.avi時(shí),可以直接根據(jù)緩存指向記錄將緩存文件a.bcd.com/a.avi響應(yīng)給邊緣節(jié)點(diǎn)。

若不存在所述特征碼,則在步驟s210中,將所述特征碼記錄到所述特征碼記錄庫(kù)中。

在本實(shí)施例中,若不存在所述特征碼,則表明中轉(zhuǎn)節(jié)點(diǎn)中不存在與所述被請(qǐng)求的數(shù)據(jù)文件a.abc.com/a.avi內(nèi)容相同的緩存文件,故將所述特征碼記錄到本地特征碼記錄庫(kù)中,以備下次收到請(qǐng)求獲取數(shù)據(jù)文件a.abc.com/a.avi時(shí)進(jìn)行特征碼的查詢和比對(duì)。

在步驟s211中,將所述特征碼添加到響應(yīng)數(shù)據(jù)包中,連同所述數(shù)據(jù)文件或者所述緩存指向記錄指向的緩存文件一起發(fā)送給所述邊緣節(jié)點(diǎn)。

在本實(shí)施方式中,中轉(zhuǎn)節(jié)點(diǎn)將所述特征碼添加到響應(yīng)數(shù)據(jù)包中,連同所述數(shù)據(jù)文件a.abc.com/a.avi或者所述緩存指向記錄指向的緩存文件a.bcd.com/a.avi一起發(fā)送給所述邊緣節(jié)點(diǎn)。

本發(fā)明實(shí)施例提供的數(shù)據(jù)傳輸方法,在中轉(zhuǎn)節(jié)點(diǎn)中采用特征碼唯一標(biāo)識(shí)數(shù)據(jù)文件,并且在中轉(zhuǎn)節(jié)點(diǎn)接收源站的數(shù)據(jù)文件時(shí),采用特征碼查詢對(duì)比的方式判斷數(shù)據(jù)文件是否和已存儲(chǔ)的緩存文件相同,借此避免相同內(nèi)容的數(shù)據(jù)文件的重復(fù)存儲(chǔ),節(jié)省了中轉(zhuǎn)節(jié)點(diǎn)的存儲(chǔ)資源。另外,中轉(zhuǎn)節(jié)點(diǎn)將數(shù)據(jù)文件發(fā)送給邊緣節(jié)點(diǎn)時(shí),采用將特征碼加入響應(yīng)數(shù)據(jù)包的方式,以利于后續(xù)邊緣節(jié)點(diǎn)根據(jù)該特征碼進(jìn)行查詢比對(duì)邊緣節(jié)點(diǎn)中是否有內(nèi)容相同的緩存文件,該方式可避免數(shù)據(jù)文件的重復(fù)傳輸,節(jié)省網(wǎng)絡(luò)傳輸帶寬。

請(qǐng)參閱圖4,所示為本發(fā)明一實(shí)施方式中數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)示意圖。

在本實(shí)施方式中,數(shù)據(jù)傳輸系統(tǒng)10基于內(nèi)容分發(fā)網(wǎng)絡(luò),包括相互通信連接的邊緣節(jié)點(diǎn)101和中轉(zhuǎn)節(jié)點(diǎn)102,邊緣節(jié)點(diǎn)101和中轉(zhuǎn)節(jié)點(diǎn)102均設(shè)置在用戶端11與客戶源站12之間,其中,邊緣節(jié)點(diǎn)101與用戶端11通信連接,中轉(zhuǎn)節(jié)點(diǎn)102與客戶源站12通信連接,當(dāng)然,邊緣節(jié)點(diǎn)101和中轉(zhuǎn)節(jié)點(diǎn)102都是各種類型的服務(wù)器,例如邊緣節(jié)點(diǎn)101可以是部署在用戶側(cè)的邊緣服務(wù)器,中轉(zhuǎn)節(jié)點(diǎn)102可以是部署網(wǎng)絡(luò)側(cè)的中轉(zhuǎn)服務(wù)器,在此不做限定。

邊緣節(jié)點(diǎn)101,接收用戶端11獲取數(shù)據(jù)文件的請(qǐng)求,并向中轉(zhuǎn)節(jié)點(diǎn)102請(qǐng)求數(shù)據(jù)文件。

中轉(zhuǎn)節(jié)點(diǎn)102,接收邊緣節(jié)點(diǎn)101的請(qǐng)求,并將響應(yīng)數(shù)據(jù)包發(fā)送給邊緣節(jié)點(diǎn)101,響應(yīng)數(shù)據(jù)包中包含唯一標(biāo)識(shí)數(shù)據(jù)件文的特征碼;

邊緣節(jié)點(diǎn)101,查詢特征碼記錄庫(kù)中是否存在特征碼,若存在特征碼,則通知中轉(zhuǎn)節(jié)點(diǎn)102停止傳輸數(shù)據(jù)文件,并創(chuàng)建指向特征碼對(duì)應(yīng)的緩存文件的緩存指向記錄,將緩存文件發(fā)送給用戶端11。

在本實(shí)施方式中,邊緣節(jié)點(diǎn)101查詢特征碼記錄庫(kù)中是否存在特征碼,若不存在特征碼,則接收并緩存中轉(zhuǎn)節(jié)點(diǎn)102發(fā)送的數(shù)據(jù)文件,將特征碼記錄到特征碼記錄庫(kù)中,并將數(shù)據(jù)文件發(fā)送給用戶端11。

在本實(shí)施方式中,中轉(zhuǎn)節(jié)點(diǎn)102接收邊緣節(jié)點(diǎn)101的請(qǐng)求。

在本實(shí)施方式中,中轉(zhuǎn)節(jié)點(diǎn)102判斷是否緩存有數(shù)據(jù)文件,若緩存有數(shù)據(jù)文件,則將唯一標(biāo)識(shí)數(shù)據(jù)文件的特征碼添加到響應(yīng)數(shù)據(jù)包中,并連同數(shù)據(jù)文件一起發(fā)送給邊緣節(jié)點(diǎn)101。

若沒有緩存數(shù)據(jù)文件,則中轉(zhuǎn)節(jié)點(diǎn)102判斷是否有數(shù)據(jù)文件對(duì)應(yīng)的緩存指向記錄,若有緩存指向記錄,則將緩存指向記錄所指向的緩存文件發(fā)送給邊緣節(jié)點(diǎn)101,將特征碼添加到響應(yīng)數(shù)據(jù)包中,并連同緩存文件一起發(fā)送給邊緣節(jié)點(diǎn)101。

在本實(shí)施方式中,中轉(zhuǎn)節(jié)點(diǎn)102判斷是否有數(shù)據(jù)文件對(duì)應(yīng)的緩存指向記錄,若沒有緩存指向記錄,則向客戶源站12請(qǐng)求數(shù)據(jù)文件。

在本實(shí)施方式中,中轉(zhuǎn)節(jié)點(diǎn)102接收并存儲(chǔ)客戶源站12發(fā)送的數(shù)據(jù)文件,且對(duì)數(shù)據(jù)文件進(jìn)行計(jì)算得到唯一標(biāo)識(shí)數(shù)據(jù)文件的特征碼。

在本實(shí)施方式中,中轉(zhuǎn)節(jié)點(diǎn)102查詢特征碼記錄庫(kù)中是否存在特征碼,若存在特征碼,則創(chuàng)建指向特征碼對(duì)應(yīng)的緩存文件的緩存指向記錄;若不存在特征碼,則將特征碼記錄到特征碼記錄庫(kù)中。

在本實(shí)施方式中,中轉(zhuǎn)節(jié)點(diǎn)102將特征碼添加到響應(yīng)數(shù)據(jù)包中,連同數(shù)據(jù)文件或者緩存指向記錄指向的緩存文件一起發(fā)送給邊緣節(jié)點(diǎn)101。

其中,邊緣節(jié)點(diǎn)101對(duì)請(qǐng)求數(shù)據(jù)具體的處理過程如前所述的邊緣節(jié)點(diǎn)的數(shù)據(jù)傳輸方法的處理過程相同,在此不做重復(fù)描述。

其中,中轉(zhuǎn)節(jié)點(diǎn)102,對(duì)請(qǐng)求數(shù)據(jù)具體的處理過程如前所述的中轉(zhuǎn)節(jié)點(diǎn)的數(shù)據(jù)傳輸方法的處理過程相同,在此不做重復(fù)描述。

此外,本發(fā)明還提供一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其中,所述計(jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令用于使所述計(jì)算機(jī)執(zhí)行上述邊緣節(jié)點(diǎn)的數(shù)據(jù)傳輸方法。

請(qǐng)參閱圖5,圖5為本發(fā)明一實(shí)施方式中邊緣節(jié)點(diǎn)設(shè)備的結(jié)構(gòu)示意圖。所述邊緣節(jié)點(diǎn)設(shè)備包括:

存儲(chǔ)器501,用于存儲(chǔ)程序指令;

處理器502,用于調(diào)用所述存儲(chǔ)器中存儲(chǔ)的程序指令,按照獲得的程序指令執(zhí)行上述邊緣節(jié)點(diǎn)的數(shù)據(jù)傳輸方法。

此外,本發(fā)明還提供一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其中,所述計(jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令用于使所述計(jì)算機(jī)執(zhí)行上述中轉(zhuǎn)節(jié)點(diǎn)的數(shù)據(jù)傳輸方法。

請(qǐng)參閱圖6,圖6為本發(fā)明一實(shí)施方式中中轉(zhuǎn)節(jié)點(diǎn)設(shè)備的結(jié)構(gòu)示意圖。所述中轉(zhuǎn)節(jié)點(diǎn)設(shè)備包括:

存儲(chǔ)器601,用于存儲(chǔ)程序指令;

處理器602,用于調(diào)用所述存儲(chǔ)器中存儲(chǔ)的程序指令,按照獲得的程序指令執(zhí)行上述中轉(zhuǎn)節(jié)點(diǎn)的數(shù)據(jù)傳輸方法。

本發(fā)明提供的一種數(shù)據(jù)傳輸方法及其系統(tǒng)、計(jì)算機(jī)存儲(chǔ)介質(zhì)、邊緣節(jié)點(diǎn)設(shè)備和中轉(zhuǎn)節(jié)點(diǎn)設(shè)備,在邊緣節(jié)點(diǎn)和中轉(zhuǎn)節(jié)點(diǎn)中都采用特征碼的形式唯一標(biāo)識(shí)數(shù)據(jù)文件,并且采用特征碼對(duì)比的方式避免重復(fù)傳輸和重復(fù)存儲(chǔ),而且利用高效的特征碼傳輸方式可以大大的增加數(shù)據(jù)傳輸?shù)乃俣?,?shí)現(xiàn)秒傳,對(duì)現(xiàn)有數(shù)據(jù)傳輸基本無干擾,同時(shí)本發(fā)明充分的利用邊緣節(jié)點(diǎn)現(xiàn)有的緩存數(shù)據(jù),節(jié)省邊緣節(jié)點(diǎn)存儲(chǔ)資源,節(jié)省邊緣節(jié)點(diǎn)到中轉(zhuǎn)節(jié)點(diǎn)的網(wǎng)絡(luò)傳輸帶寬。

以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。

通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。

以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1