本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種回源選路調(diào)度的方法和系統(tǒng)。
背景技術(shù):
內(nèi)容分發(fā)網(wǎng)絡(luò)(Content Delivery Network,CDN)是在網(wǎng)絡(luò)的各處放置節(jié)點(diǎn)服務(wù)器所構(gòu)成的在現(xiàn)有互聯(lián)網(wǎng)基礎(chǔ)之上的智能虛擬網(wǎng)絡(luò)。CDN系統(tǒng)能夠?qū)崟r(shí)地根據(jù)網(wǎng)絡(luò)流量和各節(jié)點(diǎn)的鏈接、負(fù)載狀況以及到用戶的距離和響應(yīng)時(shí)間等綜合信息將用戶的請(qǐng)求重新導(dǎo)向離用戶最近的節(jié)點(diǎn)上。
目前,CDN系統(tǒng)由很多服務(wù)器節(jié)點(diǎn)組成,服務(wù)器節(jié)點(diǎn)可分為源站和CDN節(jié)點(diǎn),其中,CDN節(jié)點(diǎn)包括一級(jí)緩存節(jié)點(diǎn)(又稱:邊緣節(jié)點(diǎn))和二級(jí)緩存節(jié)點(diǎn)等。當(dāng)用戶發(fā)送請(qǐng)求時(shí),距離最近的一級(jí)緩存節(jié)點(diǎn)接收該請(qǐng)求,當(dāng)一級(jí)緩存節(jié)點(diǎn)未緩存請(qǐng)求內(nèi)容時(shí),一級(jí)緩存節(jié)點(diǎn)可以通過(guò)與其靜態(tài)規(guī)劃的二級(jí)緩存節(jié)點(diǎn)鏈接,從二級(jí)緩存中獲取請(qǐng)求內(nèi)容,或者通過(guò)二級(jí)緩存去源站獲取內(nèi)容再返回給一級(jí)緩存,從而減少源站的壓力或提升邊緣節(jié)點(diǎn)到源站的網(wǎng)絡(luò)質(zhì)量。
在實(shí)施本發(fā)明實(shí)施例的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下技術(shù)問(wèn)題:
目前,二級(jí)緩存節(jié)點(diǎn)主要都是提前靜態(tài)規(guī)劃,即路由是提前配置好的,不會(huì)動(dòng)態(tài)調(diào)整,正常情況下二級(jí)緩存的冗余較多,但在遇到比如補(bǔ)丁更新、新產(chǎn)品發(fā)布等需要大量更新數(shù)據(jù)的情形時(shí),又會(huì)出現(xiàn)資源不足,無(wú)法及時(shí)響應(yīng),做出動(dòng)態(tài)調(diào)整,降低了回源選路調(diào)度系統(tǒng)的服務(wù)質(zhì)量。
技術(shù)實(shí)現(xiàn)要素:
為了解決現(xiàn)有技術(shù)中的問(wèn)題,本發(fā)明實(shí)施例提供了一種回源選路調(diào)度的方法和系統(tǒng)。所述技術(shù)方案如下:
第一方面,本發(fā)明實(shí)施例提供的一種回源選路調(diào)度的方法,包括:
第一邊緣節(jié)點(diǎn)根據(jù)客戶端請(qǐng)求內(nèi)容發(fā)送請(qǐng)求數(shù)據(jù)包至回源選路平臺(tái);
回源選路平臺(tái)接收請(qǐng)求數(shù)據(jù)包,并調(diào)取所有邊緣節(jié)點(diǎn)的基礎(chǔ)信息,根據(jù)基礎(chǔ)信息獲取客戶端請(qǐng)求內(nèi)容的回源選路信息,并反饋給第一邊緣節(jié)點(diǎn);
第一邊緣節(jié)點(diǎn)根據(jù)回源選路信息到源站或第二邊緣節(jié)點(diǎn)獲取客戶端請(qǐng)求內(nèi)容,并將客戶端請(qǐng)求內(nèi)容反饋給客戶端。
可選地,請(qǐng)求數(shù)據(jù)包包含請(qǐng)求域名、第一邊緣節(jié)點(diǎn)信息及源站信息;基礎(chǔ)信息包含所有邊緣節(jié)點(diǎn)的額定帶寬信息,所有邊緣節(jié)點(diǎn)可用于邊緣節(jié)點(diǎn)的帶寬與可用于二級(jí)緩存的帶寬的使用比,所有邊緣節(jié)點(diǎn)的實(shí)時(shí)流量帶寬信息,及所有邊緣節(jié)點(diǎn)之間的實(shí)時(shí)網(wǎng)絡(luò)探測(cè)質(zhì)量信息。
可選地,還包括:
當(dāng)?shù)谝贿吘壒?jié)點(diǎn)中緩存有客戶端請(qǐng)求內(nèi)容時(shí),將客戶端請(qǐng)求內(nèi)容發(fā)送給客戶端;
當(dāng)?shù)谝贿吘壒?jié)點(diǎn)中未緩存客戶端請(qǐng)求內(nèi)容時(shí),判斷本地緩存中是否存在客戶端請(qǐng)求內(nèi)容的未過(guò)期的回源選路信息;
當(dāng)本地緩存中存在客戶端請(qǐng)求內(nèi)容的未過(guò)期的回源選路信息時(shí),第一邊緣節(jié)點(diǎn)根據(jù)回源選路信息到源站或第二邊緣節(jié)點(diǎn)獲取客戶端請(qǐng)求內(nèi)容;
當(dāng)本地緩存中不存在客戶端請(qǐng)求內(nèi)容的未過(guò)期的回源選路信息時(shí),第一邊緣節(jié)點(diǎn)發(fā)送請(qǐng)求數(shù)據(jù)包至回源選路平臺(tái)。
可選地,第一邊緣節(jié)點(diǎn)根據(jù)回源選路信息到第二邊緣節(jié)點(diǎn)獲取客戶端請(qǐng)求內(nèi)容,包括:
判斷第二邊緣節(jié)點(diǎn)是否緩存有客戶端請(qǐng)求內(nèi)容,
當(dāng)?shù)诙吘壒?jié)點(diǎn)緩存有客戶端請(qǐng)求內(nèi)容,第二邊緣節(jié)點(diǎn)將請(qǐng)求內(nèi)容發(fā)送給第一邊緣節(jié)點(diǎn);
當(dāng)?shù)诙吘壒?jié)點(diǎn)未緩存客戶端請(qǐng)求內(nèi)容時(shí),第二邊緣節(jié)點(diǎn)到源站獲取客戶端請(qǐng)求內(nèi)容,并反饋給第一邊緣節(jié)點(diǎn)。
可選地,還包括:
第一邊緣節(jié)點(diǎn)將獲取的客戶端請(qǐng)求內(nèi)容、回源選路信息及回源選路信息的生效時(shí)間緩存。
第二方面,本發(fā)明實(shí)施例提供的一種回源選路調(diào)度的系統(tǒng),包括:回源選路平臺(tái)及多個(gè)邊緣節(jié)點(diǎn),多個(gè)邊緣節(jié)點(diǎn)中至少包括第一邊緣節(jié)點(diǎn)和第二邊緣節(jié)點(diǎn);
第一邊緣節(jié)點(diǎn),用于根據(jù)客戶端請(qǐng)求內(nèi)容發(fā)送請(qǐng)求數(shù)據(jù)包,至回源選路平臺(tái),并根據(jù)客戶端請(qǐng)求內(nèi)容的回源選路信息到源站或第二邊緣節(jié)點(diǎn)獲取客戶端請(qǐng)求內(nèi)容,并將客戶端請(qǐng)求內(nèi)容反饋給客戶端;
回源選路平臺(tái),用于接收請(qǐng)求數(shù)據(jù)包,并調(diào)取所有邊緣節(jié)點(diǎn)的基礎(chǔ)信息,根據(jù)基礎(chǔ)信息獲取客戶端請(qǐng)求內(nèi)容的回源選路信息并反饋給第一邊緣節(jié)點(diǎn)。
可選地,第一邊緣節(jié)點(diǎn),還用于:
當(dāng)?shù)谝贿吘壒?jié)點(diǎn)中緩存有客戶端請(qǐng)求內(nèi)容時(shí),將客戶端請(qǐng)求內(nèi)容發(fā)送給客戶端;
當(dāng)?shù)谝贿吘壒?jié)點(diǎn)中未緩存客戶端請(qǐng)求內(nèi)容時(shí),判斷本地緩存中是否存在客戶端請(qǐng)求內(nèi)容的未過(guò)期的回源選路信息,
當(dāng)本地緩存中存在客戶端請(qǐng)求內(nèi)容的未過(guò)期的回源選路信息時(shí),第一邊緣節(jié)點(diǎn)根據(jù)回源選路信息到源站或第二邊緣節(jié)點(diǎn)獲取客戶端請(qǐng)求內(nèi)容。
可選地,第二邊緣節(jié)點(diǎn),還用于:
判斷第二邊緣節(jié)點(diǎn)是否緩存有客戶端請(qǐng)求內(nèi)容,
當(dāng)?shù)诙吘壒?jié)點(diǎn)緩存有客戶端請(qǐng)求內(nèi)容,第二邊緣節(jié)點(diǎn)將客戶端請(qǐng)求內(nèi)容發(fā)送給第一邊緣節(jié)點(diǎn);
當(dāng)?shù)诙吘壒?jié)點(diǎn)未緩存客戶端請(qǐng)求內(nèi)容時(shí),第二邊緣節(jié)點(diǎn)到源站獲取客戶端請(qǐng)求內(nèi)容,并反饋給第一邊緣節(jié)點(diǎn)。
可選地,第一邊緣節(jié)點(diǎn),還用于:
將獲取的客戶端請(qǐng)求內(nèi)容、回源選路信息及回源選路信息的生效時(shí)間緩存。
可選地,還包括:
基礎(chǔ)數(shù)據(jù)節(jié)點(diǎn),用于為回源選路平臺(tái)提供所有邊緣節(jié)點(diǎn)的基礎(chǔ)信息,基礎(chǔ)信息包括所有邊緣節(jié)點(diǎn)的額定帶寬信息,所有邊緣節(jié)點(diǎn)可用于邊緣節(jié)點(diǎn)的帶寬與可用于二級(jí)緩存的帶寬的使用比,所有邊緣節(jié)點(diǎn)的實(shí)時(shí)流量帶寬信息,及所有邊緣節(jié)點(diǎn)之間的實(shí)時(shí)網(wǎng)絡(luò)探測(cè)質(zhì)量信息。
本發(fā)明實(shí)施例提供的技術(shù)方案帶來(lái)的有益效果是:
本發(fā)明實(shí)施例提供的回源選路調(diào)度的方法和系統(tǒng),根據(jù)邊緣節(jié)點(diǎn)發(fā)送的請(qǐng)求數(shù)據(jù)包,通過(guò)回源選路平臺(tái)調(diào)取所有邊緣節(jié)點(diǎn)的基礎(chǔ)信息,再根據(jù)基礎(chǔ)信息獲取客戶端請(qǐng)求內(nèi)容的回源選路信息,能夠快速、精確的響應(yīng)客戶端請(qǐng)求內(nèi)容在邊緣節(jié)點(diǎn)的回源選路,所有的邊緣節(jié)點(diǎn)包括第一邊緣節(jié)點(diǎn)和第二邊緣節(jié)點(diǎn)相對(duì)客戶端而言均是對(duì)等的,節(jié)點(diǎn)配置也可對(duì)等,可以充當(dāng)一級(jí)緩存,同時(shí)回源選路平臺(tái)又可以動(dòng)態(tài)調(diào)整某些邊緣節(jié)點(diǎn)(例如第二邊緣節(jié)點(diǎn))作為二級(jí)緩存。這樣,使得客戶端請(qǐng)求內(nèi)容在邊緣節(jié)點(diǎn)都能獲取到最優(yōu)的回源選路,快速響應(yīng)客戶端請(qǐng)求內(nèi)容,提高了服務(wù)質(zhì)量。同時(shí),又避免了現(xiàn)有技術(shù)中靜態(tài)規(guī)劃的二級(jí)緩存冗余較多和資源不足的情況。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)用戶來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例提供的一種回源選路調(diào)度的方法的流程圖;
圖2是本發(fā)明實(shí)施例的第一邊緣節(jié)點(diǎn)根據(jù)回源選路信息到第二邊緣節(jié)點(diǎn)獲取請(qǐng)求內(nèi)容的流程圖;
圖3是本發(fā)明實(shí)施例提供的另一種回源選路調(diào)度的方法的流程圖;
圖4是本發(fā)明實(shí)施例提供的另一種回源選路調(diào)度的方法的流程圖;
圖5是本發(fā)明實(shí)施例提供的一種回源選路調(diào)度的系統(tǒng)的流程圖;
圖6是本發(fā)明實(shí)施例提供的另一種回源選路調(diào)度的系統(tǒng)的流程圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
本發(fā)明實(shí)施例提供了一種回源選路調(diào)度的方法,該方法可以應(yīng)用在CDN(Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò))中,該方法在執(zhí)行過(guò)程中執(zhí)行的主體包括回源選路平臺(tái)、基礎(chǔ)數(shù)據(jù)中心及多個(gè)內(nèi)容緩存服務(wù)器,其中,CDN中的每個(gè)內(nèi)容緩存服務(wù)器均為對(duì)等關(guān)系,根據(jù)回源選路平臺(tái)的調(diào)度,該方法在執(zhí)行過(guò)程中可將所有內(nèi)容緩存服務(wù)器中的每一個(gè)內(nèi)容緩存服務(wù)器作為CDN的邊緣節(jié)點(diǎn),也可作為回源選路平臺(tái)在進(jìn)行回源選路時(shí)的二級(jí)緩存。
下面將結(jié)合具體實(shí)施方式,對(duì)圖1-圖5所示的處理流程進(jìn)行詳細(xì)的說(shuō)明,內(nèi)容可以如下:
步驟100,第一邊緣節(jié)點(diǎn)根據(jù)客戶端請(qǐng)求內(nèi)容發(fā)送請(qǐng)求數(shù)據(jù)包至回源選路平臺(tái)。
在實(shí)施例中,客戶端會(huì)向最近的內(nèi)容緩存服務(wù)器發(fā)送請(qǐng)求用以獲取客戶端請(qǐng)求內(nèi)容,本回源選路調(diào)度的方法將接收到該客戶端請(qǐng)求內(nèi)容的緩存服務(wù)器作為第一邊緣節(jié)點(diǎn);第一邊緣節(jié)點(diǎn)再根據(jù)客戶端請(qǐng)求內(nèi)容向回源選路平臺(tái)發(fā)送請(qǐng)求數(shù)據(jù)包。
其中,請(qǐng)求數(shù)據(jù)包中的內(nèi)容包括源站信息(包含一個(gè)或多個(gè)源服務(wù)器的域名或IP及端口的實(shí)時(shí)信息)、請(qǐng)求URL(Uniform esource Locator,統(tǒng)一資源定位符)信息或者請(qǐng)求域名和第一邊緣節(jié)點(diǎn)信息。
步驟200,回源選路平臺(tái)接收請(qǐng)求數(shù)據(jù)包,并調(diào)取所有邊緣節(jié)點(diǎn)的基礎(chǔ)信息,根據(jù)基礎(chǔ)信息獲取客戶端請(qǐng)求內(nèi)容的回源選路信息,并反饋給第一邊緣節(jié)點(diǎn)。在本實(shí)施例中,基礎(chǔ)信息包含所有邊緣節(jié)點(diǎn)的額定帶寬信息,所有邊緣節(jié)點(diǎn)可用于邊緣節(jié)點(diǎn)的帶寬與可用于二級(jí)緩存的帶寬的使用比,所有邊緣節(jié)點(diǎn)的實(shí)時(shí)流量帶寬信息,及所有邊緣節(jié)點(diǎn)之間的實(shí)時(shí)網(wǎng)絡(luò)探測(cè)質(zhì)量信息。
舉例而言,回源選路平臺(tái)根據(jù)基礎(chǔ)信息獲取客戶端請(qǐng)求內(nèi)容的回源選路信息,具體為:
1,獲取所有邊緣節(jié)點(diǎn)的帶寬百分比,即為所有邊緣節(jié)點(diǎn)的額定帶寬信息,假設(shè)所有CDN節(jié)點(diǎn)為node1,node2,node3,……,nodeN,(從node1到nodeN):p1,p2,p3,……,pN;
2,獲取所有邊緣節(jié)點(diǎn)可用于邊緣節(jié)點(diǎn)的帶寬與可用于二級(jí)緩存的帶寬的使用比(從node1到nodeN):p_bw1,p_bw2,p_bw3,……,p_bwN;
3,獲取所有邊緣節(jié)點(diǎn)的實(shí)時(shí)流量帶寬信息(從.node1到nodeN):r_bw1,r_bw2,r_bw3,……,r_bwN;
4,獲取所有邊緣節(jié)點(diǎn)之間的實(shí)時(shí)網(wǎng)絡(luò)探測(cè)質(zhì)量信息(從node1到nodeN):ori_qs1,ori_qs2,ori_qs3,……,ori_qsN;其中包括node1(第一邊緣節(jié)點(diǎn))到其他邊緣節(jié)點(diǎn)的網(wǎng)絡(luò)質(zhì)量(從node2到nodeN):node_qs2,node_qs3,……,node_qsN;
5,根據(jù)上述步驟1,2,3獲取潛在的第二邊緣節(jié)點(diǎn)列表List<nodes>=func1(List<p1..pN>,List<p_bw1....p_bwN>,List<r_bw1...r_bwN>);
6,根據(jù)步驟4獲取的信息及步驟5進(jìn)一步獲取到node1到List<nodes>中的回源路由信息
List<routes>=func2(List<nodes>,List<ori_qs1....ori_qsN>,List<node_qs1...node_qsN>)。
其中,回源選路信息中包括第二邊緣節(jié)點(diǎn)的基礎(chǔ)信息和客戶端請(qǐng)求內(nèi)容的緩存有效時(shí)間,當(dāng)沒(méi)有邊緣節(jié)點(diǎn)緩存有有效的客戶端請(qǐng)求內(nèi)容時(shí),回源選路信息中包括源站的基礎(chǔ)信息,第一邊緣節(jié)點(diǎn)只能去源站獲取客戶端請(qǐng)求內(nèi)容。其中,第二邊緣節(jié)點(diǎn)即為緩存有客戶端請(qǐng)求內(nèi)容的邊緣節(jié)點(diǎn),并且其基礎(chǔ)信息包含在回源選路信息中。
步驟300,第一邊緣節(jié)點(diǎn)根據(jù)回源選路信息到源站或第二邊緣節(jié)點(diǎn)獲取客戶端請(qǐng)求內(nèi)容,并將客戶端請(qǐng)求內(nèi)容反饋給客戶端。
本實(shí)施例中,第一邊緣節(jié)點(diǎn)根據(jù)回源選路信息中包括的第二邊緣節(jié)點(diǎn)的基礎(chǔ)信息或源站的基礎(chǔ)信息確定請(qǐng)求路徑,根據(jù)請(qǐng)求路徑到第二邊緣節(jié)點(diǎn)或源站獲取客戶端請(qǐng)求內(nèi)容,獲取客戶端請(qǐng)求內(nèi)容后反饋給客戶端。
參見(jiàn)圖2,可選地,第一邊緣節(jié)點(diǎn)根據(jù)回源選路信息到第二邊緣節(jié)點(diǎn)獲取請(qǐng)求內(nèi)容,包括:
步驟310,判斷第二邊緣節(jié)點(diǎn)是否緩存有客戶端請(qǐng)求內(nèi)容,
步驟320,當(dāng)?shù)诙吘壒?jié)點(diǎn)緩存有客戶端請(qǐng)求內(nèi)容,第二邊緣節(jié)點(diǎn)將客戶端請(qǐng)求內(nèi)容發(fā)送給第一邊緣節(jié)點(diǎn);
步驟330,當(dāng)?shù)诙吘壒?jié)點(diǎn)未緩存客戶端請(qǐng)求內(nèi)容時(shí),第二邊緣節(jié)點(diǎn)到源站獲取客戶端請(qǐng)求內(nèi)容,并反饋給第一邊緣節(jié)點(diǎn)。
本實(shí)施例中,當(dāng)?shù)诙吘壒?jié)點(diǎn)未緩存客戶端請(qǐng)求內(nèi)容時(shí),即為回源選路平臺(tái)發(fā)送的回源選路信息有誤,為防止無(wú)法獲取請(qǐng)求內(nèi)容,進(jìn)入步驟330,第二邊緣節(jié)點(diǎn)向源站獲取請(qǐng)求內(nèi)容。
其中,第二邊緣節(jié)點(diǎn)可將獲取的客戶端請(qǐng)求內(nèi)容進(jìn)行緩存,以便其他邊緣節(jié)點(diǎn)對(duì)其進(jìn)行再次訪問(wèn)。
參見(jiàn)圖3,本發(fā)明實(shí)施例提供的回源選路調(diào)度的方法,本實(shí)施例還包括:
判斷第一邊緣節(jié)點(diǎn)中是否緩存有客戶端請(qǐng)求內(nèi)容,具體包括:
步驟110,當(dāng)?shù)谝贿吘壒?jié)點(diǎn)中緩存有客戶端請(qǐng)求內(nèi)容時(shí),將客戶端請(qǐng)求內(nèi)容發(fā)送給客戶端;
本實(shí)施例中,當(dāng)?shù)谝贿吘壒?jié)點(diǎn)中緩存了客戶端請(qǐng)求內(nèi)容時(shí),可將請(qǐng)求內(nèi)容直接反饋給客戶端。
步驟120,當(dāng)?shù)谝贿吘壒?jié)點(diǎn)中未緩存客戶端請(qǐng)求內(nèi)容時(shí),判斷本地緩存中是否存在客戶端請(qǐng)求內(nèi)容的未過(guò)期的回源選路信息,
步驟130,當(dāng)本地緩存中存在客戶端請(qǐng)求內(nèi)容的未過(guò)期的回源選路信息時(shí),第一邊緣節(jié)點(diǎn)根據(jù)回源選路信息到源站或第二邊緣節(jié)點(diǎn)獲取客戶端請(qǐng)求內(nèi)容。
當(dāng)本地緩存中不存在客戶端請(qǐng)求內(nèi)容的未過(guò)期的回源選路信息時(shí),進(jìn)入步驟100,第一邊緣節(jié)點(diǎn)發(fā)送請(qǐng)求數(shù)據(jù)包至回源選路平臺(tái)。
參見(jiàn)圖4,可選地,本發(fā)明實(shí)施例提供的回源選路調(diào)度的方法還包括:
步驟400,第一邊緣節(jié)點(diǎn)將獲取的客戶端請(qǐng)求內(nèi)容、回源選路信息及回源選路信息的生效時(shí)間緩存。
本實(shí)施例中,第一邊緣節(jié)點(diǎn)將獲取的客戶端請(qǐng)求內(nèi)容、回源選路信息及回源選路信息的生效時(shí)間緩存,當(dāng)其他邊緣節(jié)點(diǎn)根據(jù)回源選路平臺(tái)發(fā)送的回源選路信息訪問(wèn)該第一邊緣節(jié)點(diǎn)時(shí),此時(shí),該第一邊緣節(jié)點(diǎn)即可作為其他邊緣節(jié)點(diǎn)的第二邊緣節(jié)點(diǎn)。因此,本實(shí)施例提供的回源選路調(diào)度的方法中邊緣節(jié)點(diǎn)均是對(duì)等的。
本發(fā)明實(shí)施例提供的回源選路調(diào)度的方法,根據(jù)邊緣節(jié)點(diǎn)發(fā)送的請(qǐng)求數(shù)據(jù)包,通過(guò)回源選路平臺(tái)調(diào)取所有邊緣節(jié)點(diǎn)的基礎(chǔ)信息,再根據(jù)基礎(chǔ)信息獲取客戶端請(qǐng)求內(nèi)容的回源選路信息,能夠快速、精確的響應(yīng)客戶端請(qǐng)求內(nèi)容在邊緣節(jié)點(diǎn)的回源選路,所有的邊緣節(jié)點(diǎn)包括第一邊緣節(jié)點(diǎn)和第二邊緣節(jié)點(diǎn)相對(duì)客戶端而言均是對(duì)等的,節(jié)點(diǎn)配置也可對(duì)等,可以充當(dāng)一級(jí)緩存,同時(shí)回源選路平臺(tái)又可以動(dòng)態(tài)調(diào)整某些邊緣節(jié)點(diǎn)(例如第二邊緣節(jié)點(diǎn))作為二級(jí)緩存。這樣,使得客戶端請(qǐng)求內(nèi)容在邊緣節(jié)點(diǎn)都能獲取到最優(yōu)的回源選路,快速響應(yīng)客戶端請(qǐng)求內(nèi)容,提高了服務(wù)質(zhì)量。同時(shí),又避免了現(xiàn)有技術(shù)中靜態(tài)規(guī)劃的二級(jí)緩存冗余較多和資源不足的情況。
基于相同的技術(shù)構(gòu)思,本發(fā)明實(shí)施例還提供了一種回源選路調(diào)度的系統(tǒng),參見(jiàn)圖5,包括:回源選路平臺(tái)及多個(gè)邊緣節(jié)點(diǎn),多個(gè)邊緣節(jié)點(diǎn)中至少包括第一邊緣節(jié)點(diǎn)和第二邊緣節(jié)點(diǎn);
第一邊緣節(jié)點(diǎn),用于根據(jù)客戶端請(qǐng)求內(nèi)容發(fā)送請(qǐng)求數(shù)據(jù)包,至回源選路平臺(tái),并根據(jù)客戶端請(qǐng)求內(nèi)容的回源選路信息到源站或第二邊緣節(jié)點(diǎn)獲取客戶端請(qǐng)求內(nèi)容,并將客戶端請(qǐng)求內(nèi)容反饋給客戶端;
回源選路平臺(tái),用于接收請(qǐng)求數(shù)據(jù)包,并調(diào)取所有邊緣節(jié)點(diǎn)的基礎(chǔ)信息,根據(jù)基礎(chǔ)信息獲取客戶端請(qǐng)求內(nèi)容的回源選路信息并反饋給第一邊緣節(jié)點(diǎn)。
可選地,第一邊緣節(jié)點(diǎn),還用于:
當(dāng)?shù)谝贿吘壒?jié)點(diǎn)中緩存有客戶端請(qǐng)求內(nèi)容時(shí),將客戶端請(qǐng)求內(nèi)容發(fā)送給客戶端。
當(dāng)?shù)谝贿吘壒?jié)點(diǎn)中未緩存客戶端請(qǐng)求內(nèi)容時(shí),判斷本地緩存中是否存在客戶端請(qǐng)求內(nèi)容的未過(guò)期的回源選路信息,
當(dāng)本地緩存中存在對(duì)應(yīng)客戶端請(qǐng)求內(nèi)容的未過(guò)期的回源選路信息時(shí),第一邊緣節(jié)點(diǎn)根據(jù)回源選路信息到源站或第二邊緣節(jié)點(diǎn)獲取客戶端請(qǐng)求內(nèi)容。
可選地,第二邊緣節(jié)點(diǎn),還用于:
判斷第二邊緣節(jié)點(diǎn)是否緩存有客戶端請(qǐng)求內(nèi)容,
當(dāng)?shù)诙吘壒?jié)點(diǎn)緩存有客戶端請(qǐng)求內(nèi)容,第二邊緣節(jié)點(diǎn)將客戶端請(qǐng)求內(nèi)容發(fā)送給第一邊緣節(jié)點(diǎn);
當(dāng)?shù)诙吘壒?jié)點(diǎn)未緩存客戶端請(qǐng)求內(nèi)容時(shí),第二邊緣節(jié)點(diǎn)到源站獲取客戶端請(qǐng)求內(nèi)容,并反饋給第一邊緣節(jié)點(diǎn)。
可選地,第一邊緣節(jié)點(diǎn),還用于:
將獲取的客戶端請(qǐng)求內(nèi)容、回源選路信息及回源選路信息的生效時(shí)間緩存。
參見(jiàn)圖6,可選地,還包括:
基礎(chǔ)數(shù)據(jù)節(jié)點(diǎn),用于為回源選路平臺(tái)提供所有邊緣節(jié)點(diǎn)的基礎(chǔ)信息,基礎(chǔ)信息包括所有邊緣節(jié)點(diǎn)的額定帶寬信息,所有邊緣節(jié)點(diǎn)可用于邊緣節(jié)點(diǎn)的帶寬與可用于二級(jí)緩存的帶寬的使用比,所有邊緣節(jié)點(diǎn)的實(shí)時(shí)流量帶寬信息,及所有邊緣節(jié)點(diǎn)之間的實(shí)時(shí)網(wǎng)絡(luò)探測(cè)質(zhì)量信息。
本實(shí)施例中,基礎(chǔ)數(shù)據(jù)節(jié)點(diǎn)即為基礎(chǔ)數(shù)據(jù)中心。
本發(fā)明實(shí)施例提供的回源選路調(diào)度的系統(tǒng),根據(jù)邊緣節(jié)點(diǎn)發(fā)送的請(qǐng)求數(shù)據(jù)包,通過(guò)回源選路平臺(tái)調(diào)取所有邊緣節(jié)點(diǎn)的基礎(chǔ)信息,再根據(jù)基礎(chǔ)信息獲取客戶端請(qǐng)求內(nèi)容的回源選路信息,能夠快速、精確的響應(yīng)客戶端請(qǐng)求內(nèi)容在邊緣節(jié)點(diǎn)的回源選路,所有的邊緣節(jié)點(diǎn)包括第一邊緣節(jié)點(diǎn)和第二邊緣節(jié)點(diǎn)相對(duì)客戶端而言均是對(duì)等的,節(jié)點(diǎn)配置也可對(duì)等,可以充當(dāng)一級(jí)緩存,同時(shí)回源選路平臺(tái)又可以動(dòng)態(tài)調(diào)整某些邊緣節(jié)點(diǎn)(例如第二邊緣節(jié)點(diǎn))作為二級(jí)緩存。這樣,使得客戶端請(qǐng)求內(nèi)容在邊緣節(jié)點(diǎn)都能獲取到最優(yōu)的回源選路,快速響應(yīng)客戶端請(qǐng)求內(nèi)容,提高了服務(wù)質(zhì)量。
以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(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í)施例的某些部分所述的方法。
還需要說(shuō)明的是,術(shù)語(yǔ)“包括”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的商品或者系統(tǒng)不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種商品或者系統(tǒng)所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的商品或者系統(tǒng)中還存在另外的相同要素。
上述說(shuō)明示出并描述了本發(fā)明的若干優(yōu)選實(shí)施例,但如前所述,應(yīng)當(dāng)理解本發(fā)明并非局限于本文所披露的形式,不應(yīng)看作是對(duì)其他實(shí)施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述發(fā)明構(gòu)想范圍內(nèi),通過(guò)上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識(shí)進(jìn)行改動(dòng)。而本領(lǐng)域人員所進(jìn)行的改動(dòng)和變化不脫離本發(fā)明的精神和范圍,則都應(yīng)在本發(fā)明所附權(quán)利要求的保護(hù)范圍內(nèi)。