專利名稱:一種cdn網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法、網(wǎng)絡(luò)節(jié)點(diǎn)及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種CDN(Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò))中的數(shù)據(jù)傳輸方法、網(wǎng)絡(luò)節(jié)點(diǎn)及系統(tǒng)。
背景技術(shù):
⑶N是通過在現(xiàn)有的IP傳輸網(wǎng)絡(luò)中增加一層新的網(wǎng)絡(luò)架構(gòu),將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的網(wǎng)絡(luò)"邊緣",使用戶可以就近取得所需的內(nèi)容,解決網(wǎng)絡(luò)擁擠的狀況,提高用戶訪問網(wǎng)絡(luò)的響應(yīng)速度。CDN中,當(dāng)用戶點(diǎn)擊網(wǎng)站上某個內(nèi)容的連接后,對應(yīng)的HTTP (Hyper Text Transfer I^otocol,超文本傳輸協(xié)議)請求被路由到邊緣服務(wù)器上;邊緣服務(wù)器檢查自身沒有緩存終端所請求的內(nèi)容時(shí),向CDN路由設(shè)備查詢有保存所請求的內(nèi)容的區(qū)域節(jié)點(diǎn)或者中心節(jié)點(diǎn)的地址信息;CDN路由設(shè)備返回保存有所請求的內(nèi)容的區(qū)域節(jié)點(diǎn)或者中心節(jié)點(diǎn)的地址信息;邊緣服務(wù)器通過HTTP協(xié)議向保存有所請求的內(nèi)容的區(qū)域節(jié)點(diǎn)或者中心節(jié)點(diǎn)請求內(nèi)容; 區(qū)域節(jié)點(diǎn)或者中心節(jié)點(diǎn)向邊緣服務(wù)器返回所請求的內(nèi)容?,F(xiàn)有技術(shù)中,當(dāng)發(fā)起多個HTTP請求時(shí),發(fā)送請求和接收響應(yīng)之間需要嚴(yán)格按照順序進(jìn)行,如果前一個HTTP請求的數(shù)據(jù)沒有響應(yīng)則后續(xù)HTTP請求也不會收到響應(yīng),因此,不利于數(shù)據(jù)的傳輸和帶寬的充分利用。
發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供了一種CDN網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法、網(wǎng)絡(luò)節(jié)點(diǎn)及系統(tǒng),其提高數(shù)據(jù)的傳輸效率。一方面,本發(fā)明的實(shí)施例提供了一種⑶N網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法,包括接收多個HTTP超文本傳輸協(xié)議請求消息;獲取多個所述HTTP請求消息所請求的數(shù)據(jù);通過響應(yīng)消息發(fā)送多個所述HTTP請求消息所請求的數(shù)據(jù),其中,發(fā)送多個所述 HTTP請求消息所請求的數(shù)據(jù)的先后順序?qū)?yīng)于獲取到多個所述HTTP請求消息所請求的數(shù)據(jù)的先后順序,所述多個為至少兩個。對應(yīng)的,本發(fā)明的實(shí)施例提供了一種網(wǎng)絡(luò)節(jié)點(diǎn),包括請求接收單元,用于接收多個HTTP超文本傳輸協(xié)議請求消息;獲取單元,用于獲取多個所述HTTP請求消息所請求的數(shù)據(jù);傳輸單元,通過響應(yīng)消息發(fā)送所述HTTP請求消息所請求的數(shù)據(jù),其中,發(fā)送多個所述HTTP請求消息所請求的數(shù)據(jù)的先后順序?qū)?yīng)于獲取到多個所述HTTP請求消息所請求的數(shù)據(jù)的先后順序,所述多個為至少兩個。另一方面,本發(fā)明的實(shí)施例提供了一種數(shù)據(jù)傳輸系統(tǒng),包括第一網(wǎng)絡(luò)節(jié)點(diǎn)和第二網(wǎng)絡(luò)節(jié)點(diǎn)所述第一網(wǎng)絡(luò)節(jié)點(diǎn),用于接收多個HTTP請求消息,獲取所述HTTP請求消息所請求
4的數(shù)據(jù),通過響應(yīng)消息發(fā)送所述HTTP請求消息所請求的數(shù)據(jù),其中,發(fā)送多個所述HTTP請求消息所請求的數(shù)據(jù)的先后順序?qū)?yīng)于獲取到多個所述HTTP請求消息所請求的數(shù)據(jù)的先后順序;所述第二網(wǎng)絡(luò)節(jié)點(diǎn),用于向所述第一網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送所述多個HTTP請求消息,以及接收所述第一網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送的所述HTTP請求消息所請求的數(shù)據(jù),所述多個為至少兩個。由上述本發(fā)明的實(shí)施例提供的技術(shù)方案可以看出,通過發(fā)送多個HTTP請求消息所請求的數(shù)據(jù)的先后順序?qū)?yīng)于獲取到多個HTTP請求消息所請求的數(shù)據(jù)的先后順序,實(shí)現(xiàn)先獲取到的HTTP請求的數(shù)據(jù)優(yōu)先傳輸,可以提高數(shù)據(jù)的傳輸效率。
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明一實(shí)施例CDN網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法的流程示意圖;圖2為本發(fā)明實(shí)施例網(wǎng)絡(luò)節(jié)點(diǎn)的構(gòu)成示意圖一;圖3為本發(fā)明實(shí)施例網(wǎng)絡(luò)節(jié)點(diǎn)的構(gòu)成示意圖二 ;圖4為本發(fā)明另一實(shí)施例CDN網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法的流程示意圖;圖5為本發(fā)明實(shí)施例邊緣節(jié)點(diǎn)的構(gòu)成示意圖一;圖6為本發(fā)明實(shí)施例邊緣節(jié)點(diǎn)的構(gòu)成示意圖二 ;圖7為本發(fā)明實(shí)施例數(shù)據(jù)傳輸系統(tǒng)的構(gòu)成示意圖;圖8為本發(fā)明另一實(shí)施例CDN網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法應(yīng)用場景示意圖一;圖9為本發(fā)明另一實(shí)施例CDN網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法應(yīng)用場景示意圖二。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。如圖1所示,本發(fā)明實(shí)施例提供一種⑶N網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法,包括步驟11、接收多個HTTP請求消息。步驟12、獲取多個HTTP請求消息所請求的數(shù)據(jù)。步驟13、通過響應(yīng)消息發(fā)送多個HTTP請求消息所請求的數(shù)據(jù),其中,發(fā)送多個 HTTP請求消息所請求的數(shù)據(jù)的先后順序?qū)?yīng)于獲取到多個HTTP請求消息所請求的數(shù)據(jù)的先后順序。本發(fā)明實(shí)施例⑶N網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法的執(zhí)行主體可以是⑶N網(wǎng)絡(luò)中的網(wǎng)絡(luò)節(jié)點(diǎn),所述網(wǎng)絡(luò)節(jié)點(diǎn)可以包括區(qū)域節(jié)點(diǎn)或者中心節(jié)點(diǎn)。區(qū)域節(jié)點(diǎn)、中心節(jié)點(diǎn)用于存儲網(wǎng)絡(luò)數(shù)據(jù)。中心節(jié)點(diǎn)作為區(qū)域節(jié)點(diǎn)的上層節(jié)點(diǎn),一個中心節(jié)點(diǎn)可以連接多個區(qū)域節(jié)點(diǎn)??蛇x的,在邊緣節(jié)點(diǎn)(可以是邊緣服務(wù)器)和中心節(jié)點(diǎn)之間可以存在多級區(qū)域節(jié)點(diǎn),從而滿足的業(yè)務(wù)需要。其中,在本發(fā)明的實(shí)施例中,如果接收到多個HTTP請求消息,那么在步驟13發(fā)送多個HTTP請求消息所請求的數(shù)據(jù)時(shí),可以是獲取到了多個HTTP請求消息的數(shù)據(jù),也可以是獲取到了其中幾個(這里可以是1個,也可以是其中幾個)HTTP請求消息所請求的數(shù)據(jù)。然后,在發(fā)送已獲取到的數(shù)據(jù)時(shí),同時(shí)獲取其他HTTP請求消息所請求的數(shù)據(jù)。比如共接收到了 5個HTTP請求消息,那么可以在獲取到5個HTTP請求消息所請求的數(shù)據(jù)后發(fā)送數(shù)據(jù),也可以是在獲取在1個(這里也可以是2個、3個或4個)HTTP請求消息所請求的數(shù)據(jù)后就發(fā)送數(shù)據(jù)。下面,簡單說明本發(fā)明實(shí)施例⑶N網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法當(dāng)終端用戶點(diǎn)擊網(wǎng)站上某個內(nèi)容的連接后,對應(yīng)的HTTP請求被路由到邊緣服務(wù)器上,邊緣服務(wù)器檢查自身沒有緩存終端所請求的內(nèi)容時(shí),向CDN路由設(shè)備查詢有保存所請求的數(shù)據(jù)的區(qū)域節(jié)點(diǎn)或者中心節(jié)點(diǎn)的地址信息,CDN路由設(shè)備返回保存有所請求的數(shù)據(jù)的區(qū)域節(jié)點(diǎn)或者中心節(jié)點(diǎn)的地址信息,如IP地址或者域名。其中,區(qū)域節(jié)點(diǎn)或者中心節(jié)點(diǎn)的地址信息包括域名或者IP地址。當(dāng)?shù)刂沸畔⑹怯蛎麜r(shí),邊緣服務(wù)器通過DNS (Domain Name System,域名系統(tǒng))解析獲取對應(yīng)的IP地址,在此不作贅述。之后,邊緣服務(wù)器通過HTTP請求向保存有所請求的內(nèi)容的區(qū)域節(jié)點(diǎn)或者中心節(jié)點(diǎn)請求數(shù)據(jù),從而,進(jìn)入步驟11區(qū)域節(jié)點(diǎn)或者中心節(jié)點(diǎn)接收邊緣服務(wù)器發(fā)送的多個HTTP請求消息,再進(jìn)入步驟12區(qū)域節(jié)點(diǎn)或者中心節(jié)點(diǎn)獲取多個HTTP請求消息所請求的數(shù)據(jù),再進(jìn)入步驟13區(qū)域節(jié)點(diǎn)或者中心節(jié)點(diǎn)通過響應(yīng)消息發(fā)送HTTP請求消息所請求的數(shù)據(jù)。由上述本發(fā)明的實(shí)施例提供的技術(shù)方案可以看出,通過發(fā)送多個HTTP請求消息所請求的數(shù)據(jù)的先后順序?qū)?yīng)于獲取到多個HTTP請求消息所請求的數(shù)據(jù)的先后順序,實(shí)現(xiàn)先獲取到的HTTP請求的數(shù)據(jù)優(yōu)先傳輸,可以提高數(shù)據(jù)的傳輸效率。本發(fā)明實(shí)施例CDN網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法,還適用于區(qū)域節(jié)點(diǎn)和中心節(jié)點(diǎn)之間的數(shù)據(jù)傳輸,邊緣服務(wù)器和其他邊緣服務(wù)器之間數(shù)據(jù)傳輸,區(qū)域節(jié)點(diǎn)和其他區(qū)域節(jié)點(diǎn)之間數(shù)據(jù)傳輸。以下僅僅以邊緣服務(wù)器與網(wǎng)絡(luò)節(jié)點(diǎn)為例,說明本發(fā)明實(shí)施例CDN網(wǎng)絡(luò)中的數(shù)據(jù)傳
輸方法。本發(fā)明實(shí)施例⑶N網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法,在步驟11和步驟13中,網(wǎng)絡(luò)節(jié)點(diǎn)可以通過TCPCTransmission Control Protocol,傳輸控制協(xié)議)連接接收邊緣服務(wù)器發(fā)送的 HTTP請求消息,以及發(fā)送響應(yīng)消息給邊緣服務(wù)器。具體的,網(wǎng)絡(luò)節(jié)點(diǎn)可以響應(yīng)邊緣服務(wù)器的1條或多條TCP連接請求,與邊緣服務(wù)器之間建立1條或多條TCP連接。其中,多條TCP連接可以理解為至少兩條TCP連接,多個 HTTP請求消息可以理解為至少兩個HTTP請求消息。示例性的,在CDN路由設(shè)備向邊緣服務(wù)器返回保存有所請求的數(shù)據(jù)的網(wǎng)絡(luò)節(jié)點(diǎn)的地址信息后,邊緣服務(wù)器檢查是否已經(jīng)存在到對應(yīng)網(wǎng)絡(luò)節(jié)點(diǎn)的地址信息的TCP連接,如果不存在,邊緣服務(wù)器可以請求與網(wǎng)絡(luò)節(jié)點(diǎn)之間建立多條TCP連接。這樣,網(wǎng)絡(luò)節(jié)點(diǎn)響應(yīng)邊緣服務(wù)器的多條TCP連接請求,與邊緣服務(wù)器之間建立多條TCP連接。其中,網(wǎng)絡(luò)節(jié)點(diǎn)與邊緣服務(wù)器之間的TCP連接的個數(shù),可以根據(jù)需要而確定。當(dāng)邊緣服務(wù)器與網(wǎng)絡(luò)節(jié)點(diǎn)之間的TCP連接為一條時(shí),HTTP請求消息中攜帶流索引指示X-Flow-hdex,HTTP請求消息對應(yīng)的響應(yīng)消息中攜帶流索引指示X-Flow-hdex,其中,流索引指示X-Flow-hdex用于標(biāo)識HTTP請求消息的請求內(nèi)容??梢?,網(wǎng)絡(luò)節(jié)點(diǎn)的響應(yīng)消息中流索引指示X-Flow-hdex的取值,對應(yīng)的與邊緣服務(wù)器的HTTP請求消息中的中流索引指示X-Flow-hdex的取值一致,HTTP請求消息和響應(yīng)消息不需要嚴(yán)格保序。而且,邊緣服務(wù)器收到網(wǎng)絡(luò)節(jié)點(diǎn)的響應(yīng)消息后,根據(jù)流索引指示 X-Flow-Index可以關(guān)聯(lián)到HTTP請求消息,從而關(guān)聯(lián)到終端用戶上,最終邊緣服務(wù)器將從網(wǎng)絡(luò)節(jié)點(diǎn)返回的數(shù)據(jù)交付給終端用戶。當(dāng)邊緣服務(wù)器與網(wǎng)絡(luò)節(jié)點(diǎn)之間的TCP連接為多條時(shí),HTTP請求消息中攜帶流索引指示X-FlowHndex和連接索引指示X-Connection-Index,HTTP請求消息對應(yīng)的響應(yīng)消息中攜帶流索引指示X-Flow-hdex和連接索引指示X-Cormection-Index,其中,流索引指示 X-Flow-Index用于標(biāo)識HTTP請求消息的請求內(nèi)容,連接索引指示X-Connection-Index用于標(biāo)識HTTP請求消息使用的TCP連接??梢?,在同一條TCP連接上先后發(fā)起的各個HTTP請求在連接索引指示 X-Connection-Index的取值上是一致的。因此,HTTP請求消息和響應(yīng)消息不需要嚴(yán)格保序,HTTP請求消息和響應(yīng)消息可以不在同一條TCP連接上,實(shí)現(xiàn)并行數(shù)據(jù)的傳輸,充分利用 TCP帶寬。還要說明的是,步驟12中,網(wǎng)絡(luò)節(jié)點(diǎn)獲取各個HTTP請求所對應(yīng)的數(shù)據(jù)的時(shí)延是不一樣,例如,網(wǎng)絡(luò)節(jié)點(diǎn)先接收到的HTTP請求,可能晚于后接收到的HTTP請求獲取到數(shù)據(jù)。因此,當(dāng)邊緣服務(wù)器與網(wǎng)絡(luò)節(jié)點(diǎn)之間的TCP連接為多條時(shí),本發(fā)明實(shí)施例⑶N網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法還可以包括網(wǎng)絡(luò)節(jié)點(diǎn)根據(jù)多條TCP連接的當(dāng)前傳輸時(shí)延,選擇傳輸時(shí)延最小的TCP連接發(fā)送 HTTP請求消息所請求的數(shù)據(jù)。其中,網(wǎng)絡(luò)節(jié)點(diǎn)確定TCP連接的傳輸時(shí)延的方式,可以包括傳輸時(shí)延即指需要等待TCP連接空閑來發(fā)送數(shù)據(jù)的等待時(shí)延,網(wǎng)絡(luò)節(jié)點(diǎn)可以根據(jù) TCP連接待傳輸?shù)臄?shù)據(jù)量和TCP連接帶寬確定TCP連接的傳輸時(shí)延。具體的,確定TCP連接的傳輸時(shí)延的具體方式可以參照目前通用的現(xiàn)有技術(shù)得以理解,在此不作贅述??梢?,基于在邊緣服務(wù)器和網(wǎng)絡(luò)節(jié)點(diǎn)之間存在多條TCP連接,網(wǎng)絡(luò)節(jié)點(diǎn)按照獲取各個HTTP請求所對應(yīng)的數(shù)據(jù)的先后順序來響應(yīng)HTTP請求,且選擇當(dāng)前傳輸時(shí)延最小的TCP 連接傳輸HTTP請求消息所請求的數(shù)據(jù),而且,HTTP請求消息和響應(yīng)消息均擴(kuò)展了流索引指示X-FlowHndex和連接索引指示X-Connection-Index,HTTP請求消息和響應(yīng)消息不需要嚴(yán)格保序,HTTP請求消息和響應(yīng)消息可以不在同一條TCP連接上。例如,同時(shí)有2個終端用戶向同一個邊緣服務(wù)器請求內(nèi)容,則邊緣服務(wù)器可以按照Pipeline (管道)方式,無需等待網(wǎng)絡(luò)節(jié)點(diǎn)的響應(yīng)數(shù)據(jù),邊緣服務(wù)器直接在多個TCP連接上連續(xù)發(fā)起請求,然后從多個TCP 上異步的接收響應(yīng)數(shù)據(jù),可以實(shí)現(xiàn)并行數(shù)據(jù)的傳輸,充分利用TCP帶寬。本發(fā)明實(shí)施例⑶N網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法,還可以包括當(dāng)TCP連接為多條時(shí),若多條TCP連接的當(dāng)前傳輸時(shí)延中最小傳輸時(shí)延大于建立新TCP連接的時(shí)延,則網(wǎng)絡(luò)節(jié)點(diǎn)建立新的TCP連接;或者,當(dāng)TCP連接為一條時(shí),若TCP連接的當(dāng)前傳輸時(shí)延大于建立新TCP連接的時(shí)延,則網(wǎng)絡(luò)節(jié)點(diǎn)建立新的TCP連接。
7
具體的,網(wǎng)絡(luò)節(jié)點(diǎn)可以實(shí)時(shí)檢測每條TCP連接的帶寬,如果已經(jīng)獲取到了某個 HTTP請求所對應(yīng)的數(shù)據(jù),但是,需要等待之前建立的TCP連接空閑來發(fā)送數(shù)據(jù)時(shí),網(wǎng)絡(luò)節(jié)點(diǎn)根據(jù)當(dāng)前的傳輸帶寬和傳輸數(shù)據(jù)預(yù)測每條TCP的傳輸時(shí)延,確定出最小傳輸時(shí)延的TCP連接,并根據(jù)到邊緣服務(wù)器RTT (Round-Trip Time,往返時(shí)延)預(yù)測新建立TCP連接的時(shí)延如果最小傳輸時(shí)延小于新建立TCP連接的時(shí)延,則維持當(dāng)前TCP連接個數(shù)的穩(wěn)定, 仍然等待使用之前建立的TCP連接來傳輸數(shù)據(jù)。如果最小傳輸時(shí)延大于新建立TCP連接的時(shí)延,則網(wǎng)絡(luò)節(jié)點(diǎn)主動向邊緣服務(wù)器建立TCP連接。因此,網(wǎng)絡(luò)節(jié)點(diǎn)可以主動建立到邊緣服務(wù)器的TCP連接,提高了⑶N對終端用戶請求的響應(yīng)速度,提升了 QoE (Quality of Experience,體驗(yàn)質(zhì)量)。其中,網(wǎng)絡(luò)節(jié)點(diǎn)可以通過響應(yīng)HTTP請求的響應(yīng)消息主動建立到邊緣服務(wù)器的TCP 連接,或者通過HTTP POST方式主動建立到邊緣服務(wù)器的TCP連接。而且,POST消息中攜帶X-FlowHndex和X-Connection-Index頭域,用于與之前的HTTP請求消息相關(guān)聯(lián)。其中,可以設(shè)置網(wǎng)絡(luò)節(jié)點(diǎn)到每個邊緣服務(wù)器最多可以動態(tài)建立的TCP連接數(shù)量, 從而限制每個網(wǎng)絡(luò)節(jié)點(diǎn)和邊緣服務(wù)器需要維護(hù)的TCP連接數(shù)量。本發(fā)明實(shí)施例⑶N網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法,還可以包括當(dāng)多條TCP連接的當(dāng)前傳輸時(shí)延相同時(shí),根據(jù)TCP連接建立的先后順序,選擇先建立的TCP連接發(fā)送HTTP請求消息所請求的數(shù)據(jù)。因此,網(wǎng)絡(luò)節(jié)點(diǎn)優(yōu)先選擇最先建立的TCP連接傳輸請求的數(shù)據(jù),則新建立的TCP連接可以被逐漸回收,從而減少需要維護(hù)的TCP連接數(shù)目,降低了邊緣服務(wù)器、網(wǎng)絡(luò)節(jié)點(diǎn)需要同時(shí)維護(hù)大量TCP連接的開銷。本發(fā)明實(shí)施例⑶N網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法,還可以包括監(jiān)測多條TCP連接發(fā)送響應(yīng)消息的數(shù)量,當(dāng)發(fā)送響應(yīng)消息的數(shù)量小于預(yù)定閾值或沒有發(fā)送響應(yīng)消息時(shí),則刪除對應(yīng)的TCP連接??梢姡W(wǎng)絡(luò)節(jié)點(diǎn)可以根據(jù)TCP連接的實(shí)際使用來監(jiān)測各條TCP連接上的響應(yīng)消息數(shù)量。如果某條TCP連接上的響應(yīng)消息數(shù)小于指定的閾值,或者某條TCP連接上的響應(yīng)消息數(shù)相對于其它的TCP連接上的響應(yīng)消息數(shù)小于指定的閾值,則說明該條TCP連接所經(jīng)過的網(wǎng)絡(luò)路徑傳輸狀況不好,網(wǎng)絡(luò)節(jié)點(diǎn)可以動態(tài)刪除該條TCP連接,重新建立新的TCP連接。另外,邊緣服務(wù)器可能與之前已經(jīng)建立連接的某個區(qū)域節(jié)點(diǎn)之間不再有流量,因此,網(wǎng)絡(luò)節(jié)點(diǎn)可以監(jiān)測已經(jīng)建立的各條TCP連接上的流量。如果持續(xù)指定的時(shí)長后到某個 IP地址的各條TCP連接上都沒有流量,則邊緣服務(wù)器刪除到該IP地址的所有連接,減少需要維護(hù)的TCP連接數(shù)量。還要說明的是,本發(fā)明實(shí)施例⑶N網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法,對于網(wǎng)絡(luò)節(jié)點(diǎn)而言,如果所要請求的內(nèi)容已經(jīng)保存在內(nèi)存或者硬盤等存儲介質(zhì)中,則網(wǎng)絡(luò)節(jié)點(diǎn)可以從本地直接獲取,否則網(wǎng)絡(luò)節(jié)點(diǎn)可以采用和邊緣服務(wù)器獲取內(nèi)容相似的方式從上層的網(wǎng)絡(luò)節(jié)點(diǎn)獲取所請求的內(nèi)容,在此不作贅述。如圖2所示,對應(yīng)于上述實(shí)施例的CDN網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法,本發(fā)明實(shí)施例提供一種網(wǎng)絡(luò)節(jié)點(diǎn),包括請求接收單元21,用于接收多個HTTP超文本傳輸協(xié)議請求消息。
獲取單元22,用于獲取多個HTTP請求消息所請求的數(shù)據(jù)。傳輸單元23,用于獲取到HTTP請求消息所請求的數(shù)據(jù),則通過響應(yīng)消息發(fā)送HTTP 請求消息所請求的數(shù)據(jù),其中,發(fā)送多個HTTP請求消息所請求的數(shù)據(jù)的先后順序?qū)?yīng)于獲取到多個HTTP請求消息所請求的數(shù)據(jù)的先后順序。其中,多條TCP連接可以理解為至少兩條TCP連接,多個HTTP請求消息可以理解為至少兩個HTTP請求消息。上述網(wǎng)絡(luò)節(jié)點(diǎn)可以包括區(qū)域節(jié)點(diǎn)或者中心節(jié)點(diǎn)。區(qū)域節(jié)點(diǎn)、中心節(jié)點(diǎn)用于存儲網(wǎng)絡(luò)數(shù)據(jù)??蛇x的,在邊緣服務(wù)器和中心節(jié)點(diǎn)之間可以存在多級區(qū)域節(jié)點(diǎn),從而滿足的業(yè)務(wù)需要。由上述本發(fā)明的實(shí)施例提供的技術(shù)方案可以看出,通過發(fā)送多個HTTP請求消息所請求的數(shù)據(jù)的先后順序?qū)?yīng)于獲取到多個HTTP請求消息所請求的數(shù)據(jù)的先后順序,實(shí)現(xiàn)先獲取到的HTTP請求的數(shù)據(jù)優(yōu)先傳輸,可以提高數(shù)據(jù)的傳輸效率。如圖3所示,本發(fā)明實(shí)施例網(wǎng)絡(luò)節(jié)點(diǎn),還可以包括標(biāo)識單元31,用于通過TCP傳輸控制協(xié)議連接接收HTTP請求消息以及發(fā)送響應(yīng)消息時(shí),當(dāng)TCP連接為一條時(shí),HTTP請求消息中攜帶流索引指示X-Flow-hdex,HTTP請求消息對應(yīng)的響應(yīng)消息中攜帶流索引指示X-Flow-hdex,其中,流索引指示X-Flow-hdex用于標(biāo)識HTTP請求消息的請求內(nèi)容;當(dāng)TCP連接為多條時(shí),HTTP請求消息中攜帶流索引指示X-Flow-hdex和連接索引指示X-Connection-Index,HTTP請求消息對應(yīng)的響應(yīng)消息中攜帶流索引指示 X-Flow-Index和連接索引指示X-Connectiondndex,其中,流索引指示X-Flow-Index用于標(biāo)識HTTP請求消息的請求內(nèi)容,連接索引指示X-Cormection-Index用于標(biāo)識HTTP請求消息使用的TCP連接。因此,在同一條TCP連接上先后發(fā)起的各個HTTP請求在連接索引指示 X-Connection-Index的取值上是一致的。邊緣服務(wù)器收到網(wǎng)絡(luò)節(jié)點(diǎn)的響應(yīng)消息后,根據(jù)流索引指示X-FlowHndex和連接索引指示X-Connection-Index可以關(guān)聯(lián)到HTTP請求消息, 從而關(guān)聯(lián)到終端用戶上,最終邊緣服務(wù)器將從網(wǎng)絡(luò)節(jié)點(diǎn)返回的數(shù)據(jù)交付給終端用戶。本發(fā)明實(shí)施例網(wǎng)絡(luò)節(jié)點(diǎn),還可以包括第一選擇單元32,用于當(dāng)TCP連接為多條時(shí),根據(jù)多條TCP連接的當(dāng)前傳輸時(shí)延, 選擇傳輸時(shí)延最小的TCP連接發(fā)送HTTP請求消息所請求的數(shù)據(jù)。綜上,由于HTTP請求消息和響應(yīng)消息均擴(kuò)展了流索引指示X-Flow-hdex和連接索引指示X-Cormection-Index,HTTP請求消息和響應(yīng)消息不需要嚴(yán)格保序。例如,同時(shí)有 2個終端用戶向同一個邊緣服務(wù)器請求內(nèi)容,則邊緣服務(wù)器可以按照Pipeline方式無需等待網(wǎng)絡(luò)節(jié)點(diǎn)的響應(yīng)數(shù)據(jù),無需等待網(wǎng)絡(luò)節(jié)點(diǎn)的響應(yīng)數(shù)據(jù),邊緣服務(wù)器直接在多個TCP連接上連續(xù)發(fā)起請求,然后從多個TCP上異步的接收響應(yīng)數(shù)據(jù),可以實(shí)現(xiàn)并行數(shù)據(jù)的傳輸,充分利用TCP帶寬。本發(fā)明實(shí)施例網(wǎng)絡(luò)節(jié)點(diǎn),還可以包括第一建立單元33,用于當(dāng)TCP連接為多條時(shí),多條TCP連接的當(dāng)前傳輸時(shí)延中最小傳輸時(shí)延大于建立新TCP連接的時(shí)延,則建立新的TCP連接;或者,當(dāng)TCP連接為一條時(shí), TCP連接的當(dāng)前傳輸時(shí)延大于建立新TCP連接的時(shí)延,則建立新的TCP連接。
因此,網(wǎng)絡(luò)節(jié)點(diǎn)可以主動建立到邊緣服務(wù)器的TCP連接,提高數(shù)據(jù)的傳輸速度。網(wǎng)絡(luò)節(jié)點(diǎn)可以通過響應(yīng)HTTP請求的響應(yīng)消息主動建立到邊緣服務(wù)器的TCP連接,或者通過 HTTP POST方式主動建立到邊緣服務(wù)器的TCP連接。而且,POST消息中攜帶X-Flow-hdex 和X-Cormection-Index頭域,用于與之前的HTTP請求消息相關(guān)聯(lián)。而且,可以設(shè)置網(wǎng)絡(luò)節(jié)點(diǎn)到每個邊緣服務(wù)器最多可以動態(tài)建立的TCP連接數(shù)量, 從而限制每個網(wǎng)絡(luò)節(jié)點(diǎn)和邊緣服務(wù)器需要維護(hù)的TCP連接數(shù)量。本發(fā)明實(shí)施例網(wǎng)絡(luò)節(jié)點(diǎn),還可以包括第二選擇單元34,用于當(dāng)多條TCP連接的當(dāng)前傳輸時(shí)延相同時(shí),根據(jù)TCP連接建立的先后順序,選擇先建立的TCP連接發(fā)送HTTP請求消息所請求的數(shù)據(jù)。因此,網(wǎng)絡(luò)節(jié)點(diǎn)優(yōu)先選擇最先建立的TCP連接傳輸請求的數(shù)據(jù),則第一建立單元的TCP連接可以被逐漸回收,從而減少需要維護(hù)的TCP連接數(shù)目。本發(fā)明實(shí)施例網(wǎng)絡(luò)節(jié)點(diǎn),還可以包括監(jiān)測單元35,用于監(jiān)測多條TCP連接發(fā)送響應(yīng)消息的數(shù)量,當(dāng)發(fā)送響應(yīng)消息的數(shù)量小于預(yù)定閾值或沒有發(fā)送響應(yīng)消息時(shí),則刪除對應(yīng)的TCP連接??梢?,邊緣服務(wù)器可能與之前已經(jīng)建立連接的某個區(qū)域節(jié)點(diǎn)之間不再有流量,因此,網(wǎng)絡(luò)節(jié)點(diǎn)可以監(jiān)測已經(jīng)建立的各條TCP連接上的流量。如果持續(xù)指定的時(shí)長后到某個 IP地址的各條TCP連接上都沒有流量,則邊緣服務(wù)器刪除到該IP地址的所有連接,減少需要維護(hù)的TCP連接數(shù)量。由上述本發(fā)明的實(shí)施例提供的技術(shù)方案可以看出,在邊緣服務(wù)器和網(wǎng)絡(luò)節(jié)點(diǎn)之間維護(hù)多條TCP連接,網(wǎng)絡(luò)節(jié)點(diǎn)收到邊緣服務(wù)器發(fā)送的多個HTTP請求消息后,先獲取到哪個 HTTP請求的數(shù)據(jù)就先在時(shí)延最小的TCP連接上傳輸該HTTP請求的數(shù)據(jù),實(shí)現(xiàn)并行數(shù)據(jù)的傳輸,以及充分利用TCP帶寬。如圖4所示,本發(fā)明實(shí)施例提供一種⑶N網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法,包括步驟41、確定與網(wǎng)絡(luò)節(jié)點(diǎn)之間是否建立有TCP連接。步驟42、確定與網(wǎng)絡(luò)節(jié)點(diǎn)之間沒有建立有TCP連接,建立與網(wǎng)絡(luò)節(jié)點(diǎn)之間的多條 TCP連接,通過多條TCP連接發(fā)送多個HTTP請求消息。步驟43、通過多條TCP連接接收網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送的響應(yīng)消息,獲取HTTP請求消息的響應(yīng)數(shù)據(jù)。其中,本發(fā)明實(shí)施例CDN網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法的執(zhí)行主體可以為邊緣節(jié)點(diǎn),邊緣節(jié)點(diǎn)可以為邊緣服務(wù)器,多條TCP連接可以理解為至少兩條TCP連接,多個HTTP請求消息可以理解為至少兩個HTTP請求消息。上述網(wǎng)絡(luò)節(jié)點(diǎn)可以包括區(qū)域節(jié)點(diǎn)或者中心節(jié)點(diǎn)。區(qū)域節(jié)點(diǎn)、中心節(jié)點(diǎn)用于存儲網(wǎng)絡(luò)數(shù)據(jù)。可選的,在邊緣節(jié)點(diǎn)和中心節(jié)點(diǎn)之間可以存在多級區(qū)域節(jié)點(diǎn),從而滿足的業(yè)務(wù)需要。由上述本發(fā)明的實(shí)施例提供的技術(shù)方案可以看出,在邊緣節(jié)點(diǎn)和網(wǎng)絡(luò)節(jié)點(diǎn)之間維護(hù)多條TCP連接,網(wǎng)絡(luò)節(jié)點(diǎn)收到邊緣節(jié)點(diǎn)發(fā)送的多個HTTP請求消息后,實(shí)現(xiàn)并行數(shù)據(jù)的傳輸,充分利用TCP帶寬。具體而言,本發(fā)明實(shí)施例⑶N網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法在CDN路由設(shè)備向邊緣節(jié)點(diǎn)返回保存有所請求的數(shù)據(jù)的區(qū)域節(jié)點(diǎn)或者中心節(jié)點(diǎn)的地址信息(地址信息可以包括域名或者IP地址)后,則進(jìn)入步驟41。具體而言,步驟41,可以包括邊緣節(jié)點(diǎn)檢查是否已經(jīng)存在到對應(yīng)IP地址的TCP連接。如果和對應(yīng)IP地址之間已經(jīng)存在TCP連接,則邊緣節(jié)點(diǎn)直接通過TCP連接發(fā)送 HTTP請求消息。如果和對應(yīng)IP地址之間沒有存在TCP連接,進(jìn)入步驟42。具體而言,步驟42,可以包括邊緣節(jié)點(diǎn)和對應(yīng)IP地址之間不存在TCP連接,則邊緣節(jié)點(diǎn)按照配置要求建立對應(yīng)的TCP連接數(shù)。例如默認(rèn)配置需要建立2條TCP連接,則邊緣節(jié)點(diǎn)主動建立到對應(yīng)IP地址的2條TCP連接。邊緣節(jié)點(diǎn)可以輪選一條TCP連接,在該TCP連接上向區(qū)域節(jié)點(diǎn)層或者中心節(jié)點(diǎn)提交HTTP請求消息。同時(shí),該HTTP請求消息中攜帶流索引指示X-Flow-hdex和連接索引指示X-Connection-Index。流索引指示X-Flowdndex,用于標(biāo)識HTTP請求消息的請求內(nèi)容, 連接索引指示X-Connection-Index,用于標(biāo)識HTTP請求消息使用的TCP連接。從而,網(wǎng)絡(luò)節(jié)點(diǎn)可以通過多條TCP選擇傳輸HTTP請求消息所請求的數(shù)據(jù)。進(jìn)入步驟43,邊緣節(jié)點(diǎn)通過多條TCP連接接收網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送的響應(yīng)消息,獲取HTTP請求消息的響應(yīng)數(shù)據(jù)。同時(shí),該響應(yīng)消息中攜帶流索引指示X-Flow-hdex和連接索引指示 X—Connection—Indexο如果網(wǎng)絡(luò)節(jié)點(diǎn)選擇傳輸時(shí)延最小的TCP連接傳輸HTTP請求消息所請求的數(shù)據(jù),則步驟43中,邊緣節(jié)點(diǎn)通過多條TCP連接中的傳輸時(shí)延最小的TCP連接接收網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送的響應(yīng)消息,獲取HTTP請求消息的響應(yīng)數(shù)據(jù)。最后,邊緣節(jié)點(diǎn)收到網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送的響應(yīng)消息,根據(jù)響應(yīng)消息的流索引指示 X-Flow-Index和連接索引指示X-Connection-Index可以關(guān)聯(lián)到HTTP請求消息,從而最終關(guān)聯(lián)到終端用戶,將從網(wǎng)絡(luò)節(jié)點(diǎn)返回的數(shù)據(jù)交付給終端用戶。由于HTTP請求消息和響應(yīng)消息均擴(kuò)展了流索引指示X-Flow-hdex和連接索引指示X-Cormection-Index,HTTP請求消息和響應(yīng)消息不需要嚴(yán)格保序。例如,同時(shí)有2個終端用戶向同一個區(qū)域節(jié)點(diǎn)請求內(nèi)容,則邊緣節(jié)點(diǎn)可以按照Pipeline方式無需等待區(qū)域節(jié)點(diǎn)的響應(yīng)數(shù)據(jù),無需等待網(wǎng)絡(luò)節(jié)點(diǎn)的響應(yīng)數(shù)據(jù),邊緣節(jié)點(diǎn)直接在多個TCP連接上連續(xù)發(fā)起請求,然后從多個TCP上異步的接收響應(yīng)數(shù)據(jù),可以實(shí)現(xiàn)并行數(shù)據(jù)的傳輸,充分利用TCP帶覓ο可選的,邊緣節(jié)點(diǎn)還可以根據(jù)熱度替換算法決定是否將交付給終端用戶的數(shù)據(jù)緩存在本地,從而邊緣節(jié)點(diǎn)為后續(xù)其他終端用戶的相同的業(yè)務(wù)請求服務(wù)。熱度替換算法,如 LRU (Least Recently Used,最近最少使用)算法,等等。本發(fā)明實(shí)施例的⑶N網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法,還可以包括監(jiān)測多條TCP連接所接收到的響應(yīng)消息的數(shù)量,當(dāng)TCP連接的響應(yīng)消息的數(shù)量小于預(yù)定閾值時(shí),則刪除對應(yīng)的TCP連接?;蛘?,監(jiān)測多條TCP連接,當(dāng)TCP連接上沒有流量,則刪除對應(yīng)的TCP連接。具體的,邊緣節(jié)點(diǎn)根據(jù)TCP連接的實(shí)際使用來監(jiān)測從各條TCP連接上所接收到的響應(yīng)消息數(shù)量。如果某條TCP連接上收到的響應(yīng)消息數(shù)小于指定的閾值,或者某條TCP連接上收到的響應(yīng)消息數(shù)相對于其它的TCP連接上收到的響應(yīng)消息數(shù)小于指定的閾值,則說明該條TCP連接所經(jīng)過的網(wǎng)絡(luò)路徑傳輸狀況不好,邊緣節(jié)點(diǎn)可以動態(tài)刪除該條TCP連接,重新建立新的TCP連接。而且,可能在⑶N路由服務(wù)器調(diào)整路由策略后,邊緣節(jié)點(diǎn)與之前已經(jīng)建立連接的某個區(qū)域節(jié)點(diǎn)之間不再有流量,因此邊緣節(jié)點(diǎn)需要監(jiān)測已經(jīng)建立的各條TCP連接上的流量。如果持續(xù)指定的時(shí)長后到某個IP地址的各條TCP連接上都沒有流量,則邊緣節(jié)點(diǎn)刪除到該IP地址的所有連接,減少需要維護(hù)的TCP連接數(shù)量。如圖5所示,對應(yīng)上述實(shí)施例的CDN網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法,本發(fā)明實(shí)施例提供一種邊緣節(jié)點(diǎn),包括確定單元51,用于確定與網(wǎng)絡(luò)節(jié)點(diǎn)之間是否建立有TCP連接。第二建立單元52,用于確定與網(wǎng)絡(luò)節(jié)點(diǎn)之間沒有建立有TCP連接,建立與網(wǎng)絡(luò)節(jié)點(diǎn)之間的多條TCP連接,通過多條TCP連接發(fā)送多個HTTP請求消息。響應(yīng)接收單元53,用于通過多條TCP連接接收網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送的響應(yīng)消息,獲取 HTTP請求消息的響應(yīng)數(shù)據(jù)。本發(fā)明實(shí)施例邊緣節(jié)點(diǎn)可以為邊緣服務(wù)器,多條TCP連接可以理解為至少兩條 TCP連接,多個HTTP請求消息可以理解為至少兩個HTTP請求消息。上述網(wǎng)絡(luò)節(jié)點(diǎn)可以包括區(qū)域節(jié)點(diǎn)或者中心節(jié)點(diǎn)。區(qū)域節(jié)點(diǎn)、中心節(jié)點(diǎn)用于存儲網(wǎng)絡(luò)數(shù)據(jù)??蛇x的,在邊緣節(jié)點(diǎn)和中心節(jié)點(diǎn)之間可以存在多級區(qū)域節(jié)點(diǎn),從而滿足的業(yè)務(wù)需要。由上述本發(fā)明的實(shí)施例提供的技術(shù)方案可以看出,在邊緣節(jié)點(diǎn)和網(wǎng)絡(luò)節(jié)點(diǎn)之間維護(hù)多條TCP連接,實(shí)現(xiàn)并行數(shù)據(jù)的傳輸,以及充分利用TCP帶寬。具體而言,響應(yīng)接收單元53,還可以用于通過多條TCP連接中的傳輸時(shí)延最小的 TCP連接接收網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送的響應(yīng)消息,獲取HTTP請求消息的響應(yīng)數(shù)據(jù)。第二建立單元52發(fā)送的HTTP請求消息中攜帶流索引指示X-Flow-hdex和連接索弓丨指不 X-Connection-Index0響應(yīng)接收單元53接收到的響應(yīng)消息攜帶所述流索引指示X-Flow-hdex和連接索弓I指不 X-Connection-Index0其中,所述流索引指示X-Flow-hdex,用于標(biāo)識HTTP請求消息的請求內(nèi)容,所述連接索引指示X-Connection-Index,用于標(biāo)識HTTP請求消息使用的TCP連接。由于HTTP請求消息和響應(yīng)消息均擴(kuò)展了流索引指示X-Flow-hdex和連接索引指示X-Cormection-Index,HTTP請求消息和響應(yīng)消息不需要嚴(yán)格保序。例如,同時(shí)有2個終端用戶向同一個區(qū)域節(jié)點(diǎn)請求內(nèi)容,則邊緣節(jié)點(diǎn)可以按照Pipeline方式無需等待區(qū)域節(jié)點(diǎn)的響應(yīng)數(shù)據(jù),無需等待網(wǎng)絡(luò)節(jié)點(diǎn)的響應(yīng)數(shù)據(jù),邊緣節(jié)點(diǎn)直接在多個TCP連接上連續(xù)發(fā)起請求,然后從多個TCP上異步的接收響應(yīng)數(shù)據(jù),可以實(shí)現(xiàn)并行數(shù)據(jù)的傳輸,充分利用TCP帶覓ο如圖6所示,本發(fā)明實(shí)施例邊緣節(jié)點(diǎn),還可以包括第一監(jiān)測單元61,用于監(jiān)測多條TCP連接所接收到的響應(yīng)消息的數(shù)量,當(dāng)TCP連接的響應(yīng)消息的數(shù)量小于預(yù)定閾值時(shí),則刪除對應(yīng)的TCP連接??梢?,該條TCP連接所經(jīng)過的網(wǎng)絡(luò)路徑傳輸狀況不好,邊緣節(jié)點(diǎn)可以動態(tài)刪除該條TCP連接,重新建立新的TCP連接。或者,本發(fā)明實(shí)施例邊緣節(jié)點(diǎn),還可以包括第二監(jiān)測單元62,用于監(jiān)測多條TCP連接,當(dāng)TCP連接上沒有流量,則刪除對應(yīng)的 TCP連接??梢?,邊緣節(jié)點(diǎn)刪除到該IP地址的所有連接,減少需要維護(hù)的TCP連接數(shù)量。如圖7所示,本發(fā)明實(shí)施例提供一種數(shù)據(jù)傳輸系統(tǒng),包括第一網(wǎng)絡(luò)節(jié)點(diǎn)71和第二網(wǎng)絡(luò)節(jié)點(diǎn)72 第一網(wǎng)絡(luò)節(jié)點(diǎn)71,用于接收多個HTTP請求消息,獲取HTTP請求消息所請求的數(shù)據(jù),通過響應(yīng)消息發(fā)送HTTP請求消息所請求的數(shù)據(jù),其中,發(fā)送多個HTTP請求消息所請求的數(shù)據(jù)的先后順序?qū)?yīng)于獲取到多個HTTP請求消息所請求的數(shù)據(jù)的先后順序;第二網(wǎng)絡(luò)節(jié)點(diǎn)72,用于向第一網(wǎng)絡(luò)節(jié)點(diǎn)71發(fā)送多個HTTP請求消息,以及接收第一網(wǎng)絡(luò)節(jié)點(diǎn)71發(fā)送的HTTP請求消息所請求的數(shù)據(jù)。本發(fā)明實(shí)施例⑶N系統(tǒng)中,第一網(wǎng)絡(luò)節(jié)點(diǎn)71可以參照上述實(shí)施例網(wǎng)絡(luò)節(jié)點(diǎn)得以理解。第二網(wǎng)絡(luò)節(jié)點(diǎn)72如邊緣服務(wù)器,可以參照上述實(shí)施例邊緣服務(wù)器得以理解。多條TCP 連接可以理解為至少兩條TCP連接,多個HTTP請求消息可以理解為至少兩個HTTP請求消肩、ο由上述本發(fā)明的實(shí)施例提供的技術(shù)方案可以看出,通過發(fā)送多個HTTP請求消息所請求的數(shù)據(jù)的先后順序?qū)?yīng)于獲取到多個HTTP請求消息所請求的數(shù)據(jù)的先后順序,實(shí)現(xiàn)先獲取到的HTTP請求的數(shù)據(jù)優(yōu)先傳輸,可以提高數(shù)據(jù)的傳輸效率。如圖8所示,邊緣服務(wù)器81作為媒體交付節(jié)點(diǎn),負(fù)責(zé)多個終端82的媒體交付任務(wù),邊緣服務(wù)器81和區(qū)域節(jié)點(diǎn)83之間維護(hù)多條TCP連接。而且,在區(qū)域節(jié)點(diǎn)83之外還可以存在多級區(qū)域節(jié)點(diǎn),從而滿足的業(yè)務(wù)需要。如圖9所示,以邊緣服務(wù)器和區(qū)域節(jié)點(diǎn)為例,具體說明⑶N網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法,包括91、當(dāng)終端用戶點(diǎn)擊網(wǎng)站上某個內(nèi)容的連接后,對應(yīng)的HTTP請求被路由到邊緣服務(wù)器上。92、邊緣服務(wù)器根據(jù)終端用戶請求的URI (Uniform Resource Identifier,通用資源標(biāo)志符)信息確認(rèn)本地沒有緩存所請求的內(nèi)容,邊緣服務(wù)器向CDN路由設(shè)備查詢有保存所請求的內(nèi)容的區(qū)域節(jié)點(diǎn)或者中心節(jié)點(diǎn)的地址信息。93、CDN路由服務(wù)器向邊緣服務(wù)器返回保存有所請求內(nèi)容的區(qū)域節(jié)點(diǎn)的位置信息, 包括域名或者IP地址。如果返回的是域名,則邊緣服務(wù)器通過DNS解析也可以獲取到對應(yīng)的IP地址。94、邊緣服務(wù)器檢查是否已經(jīng)存在到對應(yīng)IP地址的TCP連接是否存在如果不存在,則按照配置要求建立對應(yīng)的多條TCP連接;如果和對應(yīng)的IP地址之間已經(jīng)存在了配置要求的TCP連接數(shù),則不用再單獨(dú)建立新的TCP連接。95、邊緣服務(wù)器選擇一條TCP連接,在該TCP連接上向區(qū)域節(jié)點(diǎn)提交HTTP請求,HTTP請求消息中指示了要請求的內(nèi)容的URI信息,并且在HTTP請求消息頭擴(kuò)展一個 X-Flow-Index 頭域如下X-Flow-Index = “ X-Flow-Index" “ 〃 1 * DIGIT
13
在HTTP請求消息頭還擴(kuò)展一個X-Connection-Index頭域如下X-Connection-Index=" X-Connection-Index “ “ “ 1 * DIGIT示例性的,邊緣服務(wù)器與區(qū)域節(jié)點(diǎn)之間的HTTP請求消息如下。GET/HTTP/1. 1Accept: ~k / ~kAccept-Language:zh-cnAccept-Encoding:gzip, deflateUser-Agent:Mozilla/4. O(compatible ;MSIE 6. O ;Windows NT 5. 1 ;SVl)Host: www. ABC. comX-Flow-Index = 1234X-Connection-Index = 196、區(qū)域節(jié)點(diǎn)收到邊緣服務(wù)器的HTTP請求消息后,根據(jù)HTTP請求消息中的URI定位所要請求的內(nèi)容。區(qū)域節(jié)點(diǎn)獲取到邊緣服務(wù)器HTTP請求需要的內(nèi)容后,選擇給邊緣服務(wù)器發(fā)送響應(yīng)數(shù)據(jù)需要使用的TCP連接。區(qū)域節(jié)點(diǎn)檢查當(dāng)前到邊緣服務(wù)器的各條TCP連接的傳輸帶寬和每條TCP連接上目前還需要傳輸?shù)臄?shù)據(jù)量,根據(jù)待傳輸?shù)臄?shù)據(jù)量和傳輸帶寬可以計(jì)算TCP連接的傳輸時(shí)延, 即指需要等待TCP連接空閑來發(fā)送數(shù)據(jù)的等待時(shí)延,區(qū)域節(jié)點(diǎn)選擇傳輸時(shí)延最小的TCP連接來傳輸響應(yīng)數(shù)據(jù)。區(qū)域節(jié)點(diǎn)按照先獲取到哪個HTTP請求的數(shù)據(jù)則先傳輸對應(yīng)的數(shù)據(jù),以及哪條TCP 連接上的傳輸時(shí)延小則在該TCP連接上傳輸,實(shí)現(xiàn)數(shù)據(jù)的靈活高效傳輸,體現(xiàn)數(shù)據(jù)優(yōu)先、時(shí)延優(yōu)先。區(qū)域節(jié)點(diǎn)在響應(yīng)消息中同樣攜帶X-Flow-Index和X-Connection-Index頭域,這兩個頭域的取值和HTTP請求消息中頭域的取值一致。示例性的,響應(yīng)消息如下HTTP/1. 1200 OKDate:Mon,19 Jul 201007:10:06 GMTExpires :-1Cache-Control:private, max-age = OContent-Type: text/html ; charset = UTF-8Content-Encoding:gzipServer: gwsX-Flow-Index = 1234X-Connection-Index = 1Content-Length :4125Message Body另外,如果所要請求的內(nèi)容之前已經(jīng)保存在區(qū)域節(jié)點(diǎn)內(nèi)存或者硬盤等存儲介質(zhì)中則區(qū)域節(jié)點(diǎn)可以從本地直接獲取,否則區(qū)域節(jié)點(diǎn)可以采用和邊緣服務(wù)器獲取內(nèi)容相似的方式從更上層的區(qū)域節(jié)點(diǎn)獲取所請求的內(nèi)容。97、邊緣服務(wù)器收到區(qū)域節(jié)點(diǎn)的響應(yīng)消息后,根據(jù)X-Flow-hdex和
14X-Connection-Index頭域可以關(guān)聯(lián)到HTTP請求消息,從而最終關(guān)聯(lián)到終端用戶請求上。最終邊緣服務(wù)器將從區(qū)域節(jié)點(diǎn)返回的內(nèi)容交付給終端用戶??蛇x的,上述步驟96中,區(qū)域節(jié)點(diǎn)檢查當(dāng)前到邊緣服務(wù)器的各條TCP連接的傳輸帶寬和每條TCP連接上目前還需要傳輸?shù)臄?shù)據(jù)量,網(wǎng)絡(luò)節(jié)點(diǎn)根據(jù)待傳輸?shù)臄?shù)據(jù)量和傳輸帶寬計(jì)算每條TCP連接的傳輸時(shí)延,確定出最小傳輸時(shí)延的TCP連接,根據(jù)到邊緣服務(wù)器RTT 預(yù)測新建立TCP連接的時(shí)延如果最小傳輸時(shí)延小于新建立TCP連接的時(shí)延,則維持當(dāng)前TCP連接個數(shù)的穩(wěn)定, 仍然等待使用之前建立的TCP連接來傳輸數(shù)據(jù)。如果最小傳輸時(shí)延大于新建立TCP連接的時(shí)延,則網(wǎng)絡(luò)節(jié)點(diǎn)主動向邊緣服務(wù)器建立TCP連接。區(qū)域節(jié)點(diǎn)可以通過HTTP POST方法傳輸數(shù)據(jù),在POST消息中攜帶X-Flow-hdex 和X-Cormection-Index頭域,用于與之前的HTTP請求消息相關(guān)聯(lián),POST消息示例如下POST/HTTP/1. 1Accept: ~k / ~kAccept-Language:zh-cnAccept-Encoding:gzip, deflateUser-Agent:Mozilla/4. O(compatible ;MSIE 6. O ;Windows NT 5. 1 ;SVl)Host: www. ABC. comX-Flow-Index = 1234X-Connection-Index = 1Content-Length :4125Message Body由上述本發(fā)明的實(shí)施例提供的技術(shù)方案可以看出,按照先獲取到哪個業(yè)務(wù)請求的數(shù)據(jù)則先傳輸對應(yīng)的數(shù)據(jù)和那條TCP連接上的傳輸時(shí)延小則在該TCP連接上傳輸?shù)脑瓌t來實(shí)現(xiàn)數(shù)據(jù)的靈活高效傳輸,體現(xiàn)數(shù)據(jù)優(yōu)先、時(shí)延優(yōu)先,實(shí)現(xiàn)減少動態(tài)刪建TCP連接的開銷, 避免TCP慢啟對傳輸速率的影響,減少需要維護(hù)的TCP連接數(shù),提升每條TCP連接上的復(fù)用、并發(fā)效率。需要說明的是,對于前述的各方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。在上述實(shí)施例中,對各個實(shí)施例的描述都各有側(cè)重,某個實(shí)施例中沒有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機(jī)存儲記憶體(Random Access Memory, RAM)等。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此, 任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換, 都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種⑶N內(nèi)容分發(fā)網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法,其特征在于,包括接收多個HTTP超文本傳輸協(xié)議請求消息;獲取多個所述HTTP請求消息所請求的數(shù)據(jù);通過響應(yīng)消息發(fā)送多個所述HTTP請求消息所請求的數(shù)據(jù),其中,發(fā)送多個所述HTTP請求消息所請求的數(shù)據(jù)的先后順序?qū)?yīng)于獲取到多個所述HTTP請求消息所請求的數(shù)據(jù)的先后順序,所述多個為至少兩個。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,通過TCP傳輸控制協(xié)議連接接收所述 HTTP請求消息以及發(fā)送所述響應(yīng)消息,所述TCP連接為一條或至少兩條;當(dāng)所述TCP連接為一條時(shí),所述HTTP請求消息中攜帶流索引指示X-Flow-IndexJ^^i HTTP請求消息對應(yīng)的響應(yīng)消息中攜帶所述流索引指示X-Flow-hdex,其中,所述流索引指示X-Flow-hdex用于標(biāo)識HTTP請求消息的請求內(nèi)容;當(dāng)所述TCP連接為至少兩條時(shí),所述HTTP請求消息中攜帶流索引指示X-Flow-hdex 和連接索引指示X-Connection-Index,所述HTTP請求消息對應(yīng)的響應(yīng)消息中攜帶所述流索引指示X-Flow-hdex和所述連接索引指示X-Cormection-hdex,其中,所述流索引指示X-Flow-hdex用于標(biāo)識HTTP請求消息的請求內(nèi)容,所述連接索引指示 X-Connection-Index用于標(biāo)識HTTP請求消息使用的TCP連接。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,當(dāng)所述TCP連接為至少兩條時(shí),所述方法還包括選擇傳輸時(shí)延最小的TCP連接發(fā)送HTTP請求消息所請求的數(shù)據(jù)。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括當(dāng)所述TCP連接為至少兩條時(shí),若至少兩條所述TCP連接的當(dāng)前傳輸時(shí)延中最小傳輸時(shí)延大于建立新TCP連接的時(shí)延,則建立新的TCP連接;或者,當(dāng)所述TCP連接為一條時(shí),若所述TCP連接的當(dāng)前傳輸時(shí)延大于建立新TCP連接的時(shí)延時(shí),則建立新的TCP連接。
5.根據(jù)權(quán)利要求2或4所述的方法,其特征在于,所述方法還包括當(dāng)至少兩條TCP連接的當(dāng)前傳輸時(shí)延相同時(shí),根據(jù)TCP連接建立的先后順序,選擇先建立的TCP連接發(fā)送HTTP請求消息所請求的數(shù)據(jù)。
6.根據(jù)權(quán)利要求2或4所述的方法,其特征在于,所述方法,還包括監(jiān)測所述TCP連接發(fā)送響應(yīng)消息的數(shù)量,當(dāng)發(fā)送響應(yīng)消息的數(shù)量小于預(yù)定閾值或沒有發(fā)送響應(yīng)消息時(shí),則刪除對應(yīng)的TCP連接。
7.—種網(wǎng)絡(luò)節(jié)點(diǎn),其特征在于,包括請求接收單元,用于接收多個HTTP超文本傳輸協(xié)議請求消息;獲取單元,用于獲取多個所述HTTP請求消息所請求的數(shù)據(jù);傳輸單元,通過響應(yīng)消息發(fā)送多個所述HTTP請求消息所請求的數(shù)據(jù),其中,發(fā)送多個所述HTTP請求消息所請求的數(shù)據(jù)的先后順序?qū)?yīng)于獲取到多個所述HTTP請求消息所請求的數(shù)據(jù)的先后順序,所述多個為至少兩個。
8.根據(jù)權(quán)利要求7所述的網(wǎng)絡(luò)節(jié)點(diǎn),其特征在于,所述網(wǎng)絡(luò)節(jié)點(diǎn)還包括標(biāo)識單元,用于通過TCP傳輸控制協(xié)議連接接收所述HTTP請求消息以及發(fā)送所述響應(yīng)消息時(shí),當(dāng)所述TCP連接為一條時(shí),所述HTTP請求消息中攜帶流索引指示X-Flow-hdex,所述HTTP請求消息對應(yīng)的響應(yīng)消息中攜帶所述流索引指示X-Flow-hdex,其中,所述流索引指示X-Flow-hdex用于標(biāo)識HTTP請求消息的請求內(nèi)容;當(dāng)所述TCP連接為至少兩條時(shí),所述HTTP請求消息中攜帶流索引指示X-Flow-hdex 和連接索引指示X-Connection-Index,所述HTTP請求消息對應(yīng)的響應(yīng)消息中攜帶所述流索引指示X-Flow-hdex和所述連接索引指示X-Cormection-hdex,其中,所述流索引指示X-Flow-hdex用于標(biāo)識HTTP請求消息的請求內(nèi)容,所述連接索引指示 X-Connection-Index用于標(biāo)識HTTP請求消息使用的TCP連接。
9.根據(jù)權(quán)利要求8所述的網(wǎng)絡(luò)節(jié)點(diǎn),其特征在于,所述網(wǎng)絡(luò)節(jié)點(diǎn)還包括第一選擇單元,用于當(dāng)所述TCP連接為至少兩條時(shí),根據(jù)至少兩條所述TCP連接的當(dāng)前傳輸時(shí)延,選擇傳輸時(shí)延最小的TCP連接發(fā)送HTTP請求消息所請求的數(shù)據(jù)。
10.根據(jù)權(quán)利要求9所述的網(wǎng)絡(luò)節(jié)點(diǎn),其特征在于,所述網(wǎng)絡(luò)節(jié)點(diǎn)還包括第一建立單元,用于當(dāng)所述TCP連接為至少兩條時(shí),若至少兩條所述TCP連接的當(dāng)前傳輸時(shí)延中最小傳輸時(shí)延大于建立新TCP連接的時(shí)延,則建立新的TCP連接;或者,當(dāng)所述TCP連接為一條時(shí),若所述TCP連接的當(dāng)前傳輸時(shí)延大于建立新TCP連接的時(shí)延,則建立新的TCP連接。
11.根據(jù)權(quán)利要求8或10所述的網(wǎng)絡(luò)節(jié)點(diǎn),其特征在于,所述網(wǎng)絡(luò)節(jié)點(diǎn)還包括第二選擇單元,用于當(dāng)至少兩條所述TCP連接的當(dāng)前傳輸時(shí)延相同時(shí),根據(jù)TCP連接建立的先后順序,選擇先建立的TCP連接發(fā)送HTTP請求消息所請求的數(shù)據(jù)。
12.根據(jù)權(quán)利要求8或10所述的網(wǎng)絡(luò)節(jié)點(diǎn),其特征在于,所述網(wǎng)絡(luò)節(jié)點(diǎn)還包括監(jiān)測單元,用于監(jiān)測所述TCP連接發(fā)送響應(yīng)消息的數(shù)量,當(dāng)發(fā)送響應(yīng)消息的數(shù)量小于預(yù)定閾值或沒有發(fā)送響應(yīng)消息時(shí),則刪除對應(yīng)的TCP連接。
13.一種數(shù)據(jù)傳輸系統(tǒng),其特征在于,包括第一網(wǎng)絡(luò)節(jié)點(diǎn)和第二網(wǎng)絡(luò)節(jié)點(diǎn)所述第一網(wǎng)絡(luò)節(jié)點(diǎn),用于接收多個HTTP請求消息,獲取所述HTTP請求消息所請求的數(shù)據(jù),通過響應(yīng)消息發(fā)送多個所述HTTP請求消息所請求的數(shù)據(jù),其中,發(fā)送多個所述HTTP請求消息所請求的數(shù)據(jù)的先后順序?qū)?yīng)于獲取到多個所述HTTP請求消息所請求的數(shù)據(jù)的先后順序;所述第二網(wǎng)絡(luò)節(jié)點(diǎn),用于向所述第一網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送所述多個HTTP請求消息,以及接收所述第一網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送的所述HTTP請求消息所請求的數(shù)據(jù),所述多個為至少兩個。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,所述第一網(wǎng)絡(luò)節(jié)點(diǎn)包括如權(quán)利要求 7-12中任一所述的網(wǎng)絡(luò)節(jié)點(diǎn)。
全文摘要
本發(fā)明實(shí)施例涉及一種CDN網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法、網(wǎng)絡(luò)節(jié)點(diǎn)及系統(tǒng),其中,CDN網(wǎng)絡(luò)中的數(shù)據(jù)傳輸方法,包括接收多個HTTP超文本傳輸協(xié)議請求消息;獲取多個所述HTTP請求消息所請求的數(shù)據(jù);通過響應(yīng)消息發(fā)送多個所述HTTP請求消息所請求的數(shù)據(jù),其中,發(fā)送多個所述HTTP請求消息所請求的數(shù)據(jù)的先后順序?qū)?yīng)于獲取到多個所述HTTP請求消息所請求的數(shù)據(jù)的先后順序。通過發(fā)送多個HTTP請求消息所請求的數(shù)據(jù)的先后順序?qū)?yīng)于獲取到多個HTTP請求消息所請求的數(shù)據(jù)的先后順序,實(shí)現(xiàn)先獲取到的HTTP請求的數(shù)據(jù)優(yōu)先傳輸,可以提高數(shù)據(jù)的傳輸效率。
文檔編號H04L29/06GK102158518SQ20101057956
公開日2011年8月17日 申請日期2010年12月3日 優(yōu)先權(quán)日2010年12月3日
發(fā)明者歐雄兵, 陳寒冰 申請人:華為技術(shù)有限公司