選擇回源服務(wù)器的方法及裝置的制造方法
【專利摘要】本發(fā)明公開了一種選擇回源服務(wù)器的方法及裝置,涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,為解決客戶端獲取內(nèi)容資源速度慢的問題而發(fā)明。本發(fā)明的方法包括:判斷是否存在可用的回源服務(wù)器;若存在一個(gè),則將所述回源服務(wù)器對應(yīng)的服務(wù)器地址反饋給緩存服務(wù)器;若存在多個(gè),則選擇響應(yīng)最快的回源服務(wù)器對應(yīng)的服務(wù)器地址反饋給緩存服務(wù)器。本發(fā)明主要用于內(nèi)容分發(fā)網(wǎng)絡(luò)中。本發(fā)明能夠最大限度縮短緩存服務(wù)器與回源服務(wù)器之間的響應(yīng)時(shí)延,進(jìn)而提高客戶端側(cè)的請求響應(yīng)速度。
【專利說明】
選擇回源服務(wù)器的方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種選擇回源服務(wù)器的方法及裝置。
【背景技術(shù)】
[0002]內(nèi)容服務(wù)器用于存儲內(nèi)容提供商提供的內(nèi)容資源,客戶端通過向內(nèi)容服務(wù)器發(fā)送超文本傳輸協(xié)議(Hypertext Transfer Protocol,簡稱HTTP)請求的方式獲取所需的內(nèi)容資源。例如在視頻播放場景中,視頻服務(wù)器中存儲有各種各樣的視頻資源,用戶在通過客戶端側(cè)的APP或者網(wǎng)頁請求播放某個(gè)視頻資源時(shí),客戶端與視頻服務(wù)器建立HTTP連接,向視頻服務(wù)器發(fā)送攜帶視頻資源標(biāo)識的HTTP請求。視頻服務(wù)器接收到HTTP請求后,根據(jù)視頻資源標(biāo)識查找對應(yīng)的視頻資源,然后通過HTTP響應(yīng)返回給客戶端。
[0003]實(shí)際應(yīng)用中,由于客戶端基數(shù)十分龐大,因此內(nèi)容服務(wù)器側(cè)的請求并發(fā)數(shù)一般較高。為減輕大量HTTP請求對內(nèi)容服務(wù)器造成的負(fù)荷壓力,同時(shí)縮短客戶端的等待時(shí)間,現(xiàn)有技術(shù)對已有的網(wǎng)絡(luò)架構(gòu)進(jìn)行了改進(jìn),在客戶端和內(nèi)容服務(wù)器之間增設(shè)了一級緩存服務(wù)器,將客戶端請求頻度較高的內(nèi)容資源緩存在緩存服務(wù)器中。當(dāng)客戶端請求某個(gè)內(nèi)容資源時(shí),HTTP請求發(fā)送到緩存服務(wù)器中。如果緩存服務(wù)器存儲有客戶端請求的內(nèi)容資源,則緩存服務(wù)器直接將該內(nèi)容資源返回給客戶端;如果緩存服務(wù)器中沒有存儲客戶端請求的內(nèi)容資源,則緩存服務(wù)器向內(nèi)容服務(wù)器請求該內(nèi)容資源,然后將請求獲得的內(nèi)容資源返回給客戶端并存儲在緩存服務(wù)器中。在增設(shè)緩存服務(wù)器后,相對緩存服務(wù)器的“中介”角色而言,內(nèi)容服務(wù)器的角色轉(zhuǎn)變?yōu)榱颂峁┰純?nèi)容資源的資源源頭,因此在改進(jìn)后的網(wǎng)絡(luò)架構(gòu)中,內(nèi)容服務(wù)器又被稱作為回源服務(wù)器??梢钥闯觯彺娣?wù)器的出現(xiàn)能夠大大減少回源服務(wù)器側(cè)的HTTP請求數(shù)量,有效降低了回源服務(wù)器的負(fù)荷壓力。
[0004]目前,上述網(wǎng)絡(luò)架構(gòu)中的回源服務(wù)器通常是分布式部署的,即在緩存服務(wù)器上級部署多個(gè)同質(zhì)的回源服務(wù)器,每一臺回源服務(wù)器中都保存有完整且相同的內(nèi)容資源。在未存儲內(nèi)容資源的情況下,緩存服務(wù)器可以向任意一臺回源服務(wù)器進(jìn)行資源請求。在分布式系統(tǒng)中,不同的回源服務(wù)器可能會部署在不同的地區(qū),與緩存服務(wù)器之間的距離遠(yuǎn)近、傳輸條件的好壞、運(yùn)營商的選擇等因素都會影響回源服務(wù)器對緩存服務(wù)器的響應(yīng)時(shí)延。如果回源服務(wù)器的響應(yīng)時(shí)延較大,那么會影到響客戶端側(cè)的請求響應(yīng)速度,降低提供內(nèi)容資源的服務(wù)質(zhì)量。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供了一種選擇回源服務(wù)器的方法及裝置,能夠解決客戶端獲取內(nèi)容資源速度慢的問題。
[0006]為解決上述問題,一方面,本發(fā)明提供了選擇回源服務(wù)器的方法,該方法包括:
[0007]判斷是否存在可用的回源服務(wù)器;
[0008]若存在一個(gè),則將所述回源服務(wù)器對應(yīng)的服務(wù)器地址反饋給緩存服務(wù)器;
[0009]若存在多個(gè),則選擇響應(yīng)最快的回源服務(wù)器對應(yīng)的服務(wù)器地址反饋給緩存服務(wù)器。
[0010]另一方面,本發(fā)明還提供了一種選擇回源服務(wù)器的裝置,該裝置包括:
[0011]判斷單元,用于判斷是否存在可用的回源服務(wù)器;
[0012]處理單元,用于在存在一個(gè)可用的回源服務(wù)器時(shí),將所述回源服務(wù)器對應(yīng)的服務(wù)器地址反饋給緩存服務(wù)器,在存在多個(gè)可用的回源服務(wù)器時(shí),選擇響應(yīng)最快的回源服務(wù)器對應(yīng)的服務(wù)器地址反饋給緩存服務(wù)器。
[0013]本發(fā)明提供的選擇回源服務(wù)器的方法及裝置,能夠從可用的目標(biāo)回源服務(wù)器中查找通信速度最快的最優(yōu)回源服務(wù)器,并將最優(yōu)回源服務(wù)器的服務(wù)器地址返回給緩存服務(wù)器,以使得緩存服務(wù)器向該最優(yōu)回源服務(wù)器請求內(nèi)容資源。與現(xiàn)有技術(shù)中緩存服務(wù)器向任意一個(gè)回源服務(wù)器請求內(nèi)容資源相比,本發(fā)明能夠最大限度縮短緩存服務(wù)器與回源服務(wù)器之間的響應(yīng)時(shí)延,進(jìn)而提高客戶端側(cè)的請求響應(yīng)速度。
【附圖說明】
[0014]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0015]圖1為本發(fā)明實(shí)施例提供的一種選擇回源服務(wù)器的方法流程圖;
[0016]圖2為本發(fā)明實(shí)施例提供的再一種選擇回源服務(wù)器的方法流程圖;
[0017]圖3為本發(fā)明實(shí)施例提供的另一種選擇回源服務(wù)器的方法流程圖;
[0018]圖4為本發(fā)明實(shí)施例提供的又一種選擇回源服務(wù)器的方法流程圖;
[0019]圖5為本發(fā)明實(shí)施例提供的一種選擇回源服務(wù)器的裝置的組成框圖;
[0020]圖6為本發(fā)明實(shí)施例提供的另一種選擇回源服務(wù)器的裝置的組成框圖。
【具體實(shí)施方式】
[0021]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0022]為解決客戶端側(cè)請求響應(yīng)速度慢的問題,本發(fā)明實(shí)施例提供了一種選擇回源服務(wù)器的方法及裝置。如圖1所示,該方法包括:
[0023]101、判斷是否存在可用的回源服務(wù)器。
[0024]本實(shí)施例的目的在于選擇一個(gè)與緩存服務(wù)器之間通信速度最快的最優(yōu)回源服務(wù)器,以使緩存服務(wù)器與該最優(yōu)回源服務(wù)器進(jìn)行通信。在選擇最優(yōu)回源服務(wù)器之前,首先需要確定哪些回源服務(wù)器是可用的,即查找作為待選擇對象的目標(biāo)回源服務(wù)器。分布式系統(tǒng)中會存在有多個(gè)回源服務(wù)器,可以從中選擇能夠?qū)彺娣?wù)器進(jìn)行響應(yīng)的回源服務(wù)器,作為目標(biāo)回源服務(wù)器。
[0025]所謂能夠?qū)彺娣?wù)器進(jìn)行響應(yīng),是指回源服務(wù)器處于正常的工作狀態(tài),能夠響應(yīng)于緩存服務(wù)器的HTTP請求,向緩存服務(wù)器返回相應(yīng)的內(nèi)容資源。實(shí)際應(yīng)用中可以采用報(bào)活測試的手段對回源服務(wù)器的狀態(tài)進(jìn)行測試。
[0026]102、若存在一個(gè),則將回源服務(wù)器對應(yīng)的服務(wù)器地址反饋給緩存服務(wù)器。
[0027]當(dāng)只有一個(gè)可用的回源服務(wù)器時(shí),直接將該回源服務(wù)器的服務(wù)器地址返回給緩存服務(wù)器使用。
[0028]103、若存在多個(gè),則選擇響應(yīng)最快的回源服務(wù)器對應(yīng)的服務(wù)器地址反饋給緩存服務(wù)器。
[0029]當(dāng)有多個(gè)目標(biāo)回源服務(wù)器時(shí),分別測試每個(gè)目標(biāo)回源服務(wù)器的響應(yīng)速度。所謂響應(yīng)速度是指目標(biāo)回源服務(wù)器與緩存服務(wù)器之間的通信速度。通信速度的快慢由多種因素共同影響,包括回源服務(wù)器的處理能力、與緩存服務(wù)器之間的距離遠(yuǎn)近、傳輸條件優(yōu)劣等。本實(shí)施例通過測試手段驗(yàn)證通信速度結(jié)果,無需關(guān)注影響通信速度快慢的具體因素。
[0030]實(shí)際應(yīng)用中,可以通過向目標(biāo)回源服務(wù)器模擬發(fā)送HTTP請求的方式進(jìn)行速度測試,也可以對通信鏈路中各種中間節(jié)點(diǎn)的通信速度進(jìn)行測試,例如測試目標(biāo)回源服務(wù)器地址的域名系統(tǒng)(Domain Name System,簡稱DNS)解析的速度,本實(shí)施例不對通信速度的測試手段進(jìn)行具體限制。在分別對各個(gè)目標(biāo)回源服務(wù)器進(jìn)行速度測試后,獲得每個(gè)目標(biāo)回源服務(wù)器的測試結(jié)果。根據(jù)測試結(jié)果選擇一個(gè)通信速度最快的目標(biāo)回源服務(wù)器,將其確定為最優(yōu)回源服務(wù)器。在本實(shí)施例的一種實(shí)現(xiàn)方式中,回源服務(wù)器的服務(wù)器地址為網(wǎng)間協(xié)議(Internet Protocol,簡稱IP)地址。在確定最優(yōu)回源服務(wù)器后,獲取最優(yōu)回源服務(wù)器的IP地址返回給緩存服務(wù)器。緩存服務(wù)器將該服務(wù)器地址作為HTTP請求的目的地址,向該最優(yōu)回源服務(wù)器發(fā)送HTTP請求,請求相應(yīng)的內(nèi)容資源。對于只有一個(gè)可用的回源服務(wù)器的情況,緩存服務(wù)器將通過步驟102獲得的服務(wù)器地址向該可用的回源服務(wù)器請求內(nèi)容資源。
[0031 ]實(shí)際應(yīng)用中,緩存服務(wù)器可以在不限于下述三種情況下向回源服務(wù)器請求內(nèi)容資源:1、緩存服務(wù)器側(cè)沒有存儲客戶端請求的內(nèi)容資源;2、緩存服務(wù)器側(cè)存儲的內(nèi)容資源過時(shí),需要向回源服務(wù)器請求更新內(nèi)容資源;3、人工手動(dòng)更新緩存服務(wù)器側(cè)存儲的內(nèi)容資源。本實(shí)施例不對緩存服務(wù)器向回源服務(wù)器請求內(nèi)容資源的條件進(jìn)行限制。
[0032]圖1給出了選擇最優(yōu)回源服務(wù)器的流程。實(shí)際應(yīng)用中,圖1所示流程可以由緩存服務(wù)器執(zhí)行,也可以由獨(dú)立于緩存服務(wù)器和回源服務(wù)器的第三設(shè)備執(zhí)行。本發(fā)明后續(xù)實(shí)施例以緩存服務(wù)器為執(zhí)行主體進(jìn)行說明。
[0033]進(jìn)一步的,作為對圖1所示方法的細(xì)化,本發(fā)明實(shí)施例還提供了一種選擇回源服務(wù)器的方法。該方法中,當(dāng)存在多個(gè)可用的回源服務(wù)器時(shí),緩存服務(wù)器通過測試域名解析速度的方式選擇最優(yōu)回源服務(wù)器。如圖2所示,該方法包括:
[0034]201、通過心跳報(bào)活測試查找目標(biāo)回源服務(wù)器。
[0035]緩存服務(wù)器首先需要查找可用的目標(biāo)回源服務(wù)器。在本步驟中,緩存服務(wù)器通過心跳報(bào)活的方式測試回源服務(wù)器是否可用。
[0036]具體的,緩存服務(wù)器可以周期性(例如5秒/次)的向各個(gè)回源服務(wù)器發(fā)送心跳包。對于因網(wǎng)絡(luò)鏈路故障導(dǎo)致緩存服務(wù)器與回源服務(wù)器之間無法通信的情況,或者雖然兩者之間可以通信但是回源服務(wù)器因發(fā)生故障無法響應(yīng)心跳包的情況,緩存服務(wù)器可以通過是否接收到心跳響應(yīng)包的方式判斷回源服務(wù)器是否可用,即如果能夠接收到心跳響應(yīng)包,則確定回源服務(wù)器可用。而在另一種情況下,雖然網(wǎng)絡(luò)鏈路正常并且回源服務(wù)器未發(fā)生故障,但是當(dāng)回源服務(wù)器因負(fù)載較高或其他原因無法響應(yīng)HTTP請求時(shí),回源服務(wù)器可以向緩存服務(wù)器返回一個(gè)心跳響應(yīng)包,并在心跳響應(yīng)包中攜帶一個(gè)回源服務(wù)器是否可用的狀態(tài)信息。緩存服務(wù)器根據(jù)該狀態(tài)信息判斷回源服務(wù)器是否可用,即當(dāng)狀態(tài)信息表示可用時(shí),確定回源服務(wù)器可用。
[0037]進(jìn)一步的,在本實(shí)施例的另一種實(shí)現(xiàn)方式中,還可以由回源服務(wù)器向緩存服務(wù)器主動(dòng)定期發(fā)送心跳包。如果緩存服務(wù)器無法接收到回源服務(wù)器的心跳包,或者雖然能夠接收到心跳包,但是心跳包中的狀態(tài)信息為不可用,則緩存服務(wù)器確定回源服務(wù)器不可用。
[0038]當(dāng)不存在可用的目標(biāo)回源服務(wù)器時(shí),緩存服務(wù)器向客戶端或內(nèi)容提供商發(fā)送告警信息,并終止后續(xù)流程的執(zhí)行。
[0039]202、測試目標(biāo)回源服務(wù)器的域名解析速度。
[0040]—般情況下,不同地區(qū)、不同運(yùn)營商的DNS服務(wù)器的域名解析速度會有所差異,并且同一個(gè)DNS服務(wù)器解析不同域名的速度也會不同,而DNS服務(wù)器解析回源服務(wù)器域名的快慢會直接影響到回源服務(wù)器與緩存服務(wù)器之間的通信速度,因此本實(shí)施例可以對DNS服務(wù)器的域名解析速度進(jìn)行測試。
[0041]本步驟中,緩存服務(wù)器側(cè)預(yù)先配置有各個(gè)回源服務(wù)器的域名,緩存服務(wù)器將各個(gè)目標(biāo)回源服務(wù)器的域名分別發(fā)送給DNS服務(wù)器進(jìn)行解析,并等待DNS服務(wù)器返回的、通過域名解析獲得的服務(wù)器地址。
[0042]203、將域名解析速度最快的目標(biāo)回源服務(wù)器,確定為最優(yōu)回源服務(wù)器。
[0043]緩存服務(wù)器將最先接收到的域名解析響應(yīng)所對應(yīng)的目標(biāo)回源服務(wù)器,確定為最優(yōu)回源服務(wù)器。
[0044]204、獲取最優(yōu)回源服務(wù)器的服務(wù)器地址。
[0045]緩存服務(wù)器從最先接收到的域名解析響應(yīng)中獲取服務(wù)器地址,該服務(wù)器地址即為最優(yōu)回源服務(wù)器的服務(wù)器地址。
[0046]205、根據(jù)獲取的服務(wù)器地址向最優(yōu)回源服務(wù)器請求內(nèi)容資源。
[0047]緩存服務(wù)器將獲取的服務(wù)器地址作為HTTP請求的目的地址,并將內(nèi)容資源的內(nèi)容標(biāo)識添加到HTTP請求中發(fā)送給最優(yōu)回源服務(wù)器,以使得最優(yōu)回源服務(wù)器返回對應(yīng)該內(nèi)容標(biāo)識的內(nèi)容資源。在獲得內(nèi)容資源后,緩存服務(wù)器通過HTTP響應(yīng)返回給客戶端,并將該內(nèi)容資源保存在本地。當(dāng)下次客戶端請求該內(nèi)容資源時(shí),緩存服務(wù)器直接返回該內(nèi)容資源即可,無需再次向回源服務(wù)器進(jìn)行請求。
[0048]進(jìn)一步的,作為對圖1所示方法的細(xì)化,本發(fā)明實(shí)施例還提供了一種選擇回源服務(wù)器的方法。該方法中,當(dāng)存在多個(gè)可用的回源服務(wù)器時(shí),緩存服務(wù)器通過測試數(shù)據(jù)下載速度的方式選擇最優(yōu)回源服務(wù)器。如圖3所示,該方法包括:
[0049]301、通過心跳報(bào)活測試查找目標(biāo)回源服務(wù)器。
[0050]本步驟的實(shí)現(xiàn)方式與圖2步驟201的實(shí)現(xiàn)方式相同,此處不再贅述。
[0051]302、測試目標(biāo)回源服務(wù)器的數(shù)據(jù)下載速度。
[0052]所謂測試數(shù)據(jù)下載速度,是指緩存服務(wù)器模擬請求內(nèi)容資源的方式向目標(biāo)回源服務(wù)器進(jìn)行HTTP請求,并測試從HTTP請求發(fā)出到接收到目標(biāo)回源服務(wù)器返回的HTTP響應(yīng)之間的耗時(shí)長短。由于本步驟中的請求過程僅為測試之用,請求何種內(nèi)容資源并無實(shí)質(zhì)意義,因此為節(jié)省網(wǎng)絡(luò)傳輸資源,可以設(shè)定一個(gè)數(shù)據(jù)量較小的特定數(shù)據(jù)信息作為HTTP請求的內(nèi)容對象,例如幾字節(jié)的標(biāo)記信息等,本實(shí)施例對此不作限制。
[0053]如前所述,緩存服務(wù)器側(cè)配置有各個(gè)回源服務(wù)器的域名信息,在發(fā)起HTTP請求之前,緩存服務(wù)器將域名發(fā)送給DNS服務(wù)器進(jìn)行解析,獲得對應(yīng)的服務(wù)器地址,然后將該服務(wù)器地址作為HTTP請求的目的地址,向不同的目標(biāo)回源服務(wù)器發(fā)送HTTP請求。
[0054]需要說明的是,在傳統(tǒng)的站點(diǎn)訪問流程中,一般都需要通過域名解析獲得站點(diǎn)地址。本實(shí)施例中雖然不涉及對域名解析速度的測試,但是作為發(fā)起HTTP請求的一個(gè)必要流程,緩存服務(wù)器仍需要向DNS服務(wù)器進(jìn)行域名解析,以獲得對應(yīng)的服務(wù)器地址。
[0055]303、將數(shù)據(jù)下載速度最快的目標(biāo)回源服務(wù)器,確定為最優(yōu)回源服務(wù)器。
[0056]緩存服務(wù)器在向各個(gè)目標(biāo)回源服務(wù)器發(fā)送HTTP請求后,等待接收HTTP響應(yīng),并將最先接收到的HTTP響應(yīng)對應(yīng)的目標(biāo)回源服務(wù)器,確定為最優(yōu)回源服務(wù)器。所謂最先接收到的HTTP響應(yīng)對應(yīng)的目標(biāo)回源服務(wù)器,是指發(fā)送這個(gè)最先被緩存服務(wù)器接收到的HTTP響應(yīng)的目標(biāo)回源服務(wù)器。需要注意的是,本實(shí)施例測試的數(shù)據(jù)下載速度是指緩存服務(wù)器從發(fā)送HTTP請求到接收HTTP響應(yīng)之間的耗時(shí)長短。受網(wǎng)絡(luò)傳輸條件影響,目標(biāo)回源服務(wù)器較早發(fā)送出的HTTP響應(yīng)并不一定能夠被緩存服務(wù)器最先接收到,因此,本實(shí)施例中的最優(yōu)回源服務(wù)器是指緩存服務(wù)器最先接收到的HTTP響應(yīng)對應(yīng)的目標(biāo)回源服務(wù)器,而非是所有目標(biāo)回源服務(wù)器中最先發(fā)送HTTP響應(yīng)的回源服務(wù)器。
[0057]304、獲取最優(yōu)回源服務(wù)器的服務(wù)器地址。
[0058]由于緩存服務(wù)器在發(fā)送HTTP請求時(shí)向DNS服務(wù)器解析了對應(yīng)域名的服務(wù)器地址,因此緩存服務(wù)器可以查找到最優(yōu)回源服務(wù)器的域名所對應(yīng)的服務(wù)器地址。
[0059]此外,與圖2實(shí)施例有所區(qū)別的是,本實(shí)施例中緩存服務(wù)器接收到了最優(yōu)回源服務(wù)器返回的HTTP響應(yīng),緩存服務(wù)器也可以直接解析出HTTP響應(yīng)的源地址,該源地址即為最優(yōu)回源服務(wù)器的服務(wù)器地址。
[0060]305、根據(jù)獲取的服務(wù)器地址向最優(yōu)回源服務(wù)器請求內(nèi)容資源。
[0061]本步驟的實(shí)現(xiàn)方式與圖2步驟205的實(shí)現(xiàn)方式相同,此處不再贅述。
[0062]進(jìn)一步的,作為對圖1所示方法的細(xì)化,本發(fā)明實(shí)施例還提供了一種選擇回源服務(wù)器的方法。該方法中,大概存在多個(gè)可用的回源服務(wù)器時(shí),緩存服務(wù)器對域名解析速度和數(shù)據(jù)下載速度進(jìn)行綜合測試,找出通信速度最快的回源服務(wù)器。如圖4所示,該方法包括:
[0063]401、通過心跳報(bào)活測試查找目標(biāo)回源服務(wù)器。
[0064]本步驟的實(shí)現(xiàn)方式與圖3步驟301的實(shí)現(xiàn)方式相同,此處不再贅述。
[0065]402、測試目標(biāo)回源服務(wù)器的域名解析速度。
[0066]緩存服務(wù)器首先向DNS服務(wù)器發(fā)送目標(biāo)回源服務(wù)器的域名,在接收到DNS服務(wù)器根據(jù)域名解析出的服務(wù)器地址后,將該地址作為HTTP請求的目的地址,向目標(biāo)回源服務(wù)器發(fā)送HTTP請求。
[0067]步驟402測試的速度為域名解析速度,即從緩存服務(wù)器向DNS服務(wù)器發(fā)送域名信息,到緩存服務(wù)器接收到解析的服務(wù)器地址之間的耗時(shí)長短。為便于說明,本實(shí)施例將這段時(shí)間記為Tl。
[0068]403、測試目標(biāo)回源服務(wù)器的數(shù)據(jù)下載速度。
[0069]在獲得服務(wù)器地址后,緩存服務(wù)器向目標(biāo)回源服務(wù)器發(fā)送HTTP請求,并計(jì)算從發(fā)出HTTP請求到接收到HTTP響應(yīng)之間的耗時(shí)長短,本實(shí)施例將這段時(shí)間記為T2。
[0070]404、將域名解析速度與數(shù)據(jù)下載速度之和最快的目標(biāo)回源服務(wù)器,確定為最優(yōu)回源服務(wù)器。
[0071]緩存服務(wù)器將Tl與T2進(jìn)行求和,獲得一個(gè)反映回源服務(wù)器整體通信速度的綜合時(shí)間,這里記為T3。然后緩存服務(wù)器對所有目標(biāo)回源服務(wù)器的T3進(jìn)行比較,將最小值對應(yīng)的目標(biāo)回源服務(wù)器,確定為最優(yōu)回源服務(wù)器。
[0072]與圖2或圖3所示流程有所不同,本實(shí)施例在考察回源服務(wù)器的通信速度時(shí),并非僅關(guān)注域名解析或數(shù)據(jù)下載中某一個(gè)環(huán)節(jié)的耗時(shí)長短,而是將兩者結(jié)合,以便反映出緩存服務(wù)器向目標(biāo)回源服務(wù)器發(fā)起的完整訪問流程的耗時(shí)長短。本實(shí)施例中,目標(biāo)回源服務(wù)器在某一個(gè)環(huán)節(jié)耗時(shí)最短并不能代表其通信速度最快。
[0073]405、獲取最優(yōu)回源服務(wù)器的服務(wù)器地址。
[0074]本步驟的實(shí)現(xiàn)可以參考圖2步驟204或者圖3步驟304的方式實(shí)現(xiàn),此處不再贅述。
[0075]406、根據(jù)獲取的服務(wù)器地址向最優(yōu)回源服務(wù)器請求內(nèi)容資源。
[0076]本步驟的實(shí)現(xiàn)方式與圖3步驟305的實(shí)現(xiàn)方式相同,此處不再贅述。
[0077]進(jìn)一步的,作為對上述圖1至圖3所示方法的結(jié)合,在本實(shí)施例的一種實(shí)現(xiàn)方式中,緩存服務(wù)器可以周期性的測試目標(biāo)回源服務(wù)器的通信速度。由于目標(biāo)回源服務(wù)器的通信速度受各種因素綜合影響,而不同因素在不同時(shí)期對通信速度影響的程度又會存在偶然性,因此對目標(biāo)回源服務(wù)器的通信速度進(jìn)行定期測試能夠更加準(zhǔn)確、客觀的反映出目標(biāo)回源服務(wù)器在一段時(shí)間內(nèi)的真實(shí)通信速度。具體的,緩存服務(wù)器可以按照預(yù)定的時(shí)間間隔多次對目標(biāo)回源服務(wù)器的域名解析速度和/或數(shù)據(jù)下載速度進(jìn)行測試,例如每天、每周或每月測試一次。然后根據(jù)歷史測試結(jié)果的變動(dòng)趨勢,確定一個(gè)最優(yōu)回源服務(wù)器。所謂歷史測試結(jié)果的變動(dòng)趨勢,是指在一段時(shí)間內(nèi),多次測試結(jié)果所反映出的通信速度的變化趨勢。實(shí)際應(yīng)用中,緩存服務(wù)器可以將一段時(shí)間內(nèi),針對一個(gè)目標(biāo)回源服務(wù)器多次測試獲得的通信速度繪制成速度變化曲線,將曲線形態(tài)上揚(yáng)(即通信速度不斷提高)并且曲線積分值最大的曲線所對應(yīng)的目標(biāo)回源服務(wù)器,確定為最優(yōu)回源服務(wù)器。曲線積分值即為曲線以下的面積,該面積能夠反映該段時(shí)間內(nèi)的通信速度的綜合水平。當(dāng)然,實(shí)際應(yīng)用中也可以將多次獲得的通信速度求平均值,得到通信速度的綜合值。
[0078]下面給出本發(fā)明實(shí)施例的兩個(gè)業(yè)務(wù)場景,在下述業(yè)務(wù)場景中,由緩存服務(wù)器對回源服務(wù)器進(jìn)行測試和選擇。具體的:
[0079]場景一,內(nèi)容分發(fā)網(wǎng)絡(luò)(Content Distribut1n Network,簡稱⑶N)的運(yùn)營場景。
[0080]客戶端向緩存服務(wù)器發(fā)起HTTP請求,在該請求中攜帶需要獲取的某視頻資源的視頻標(biāo)識。緩存服務(wù)器接收到HTTP請求后,根據(jù)該視頻標(biāo)識在本地查找客戶端需要的視頻資源。當(dāng)發(fā)現(xiàn)本地未存儲該視頻資源時(shí),緩存服務(wù)器向回源服務(wù)器請求該視頻資源。在本場景中,緩存服務(wù)器在向回源服務(wù)器請求視頻資源之前,首先查找CDN網(wǎng)絡(luò)中所有可用的回源服務(wù)器,即目標(biāo)回源服務(wù)器。然后分別測試每個(gè)目標(biāo)回源服務(wù)器的通信速度。當(dāng)找到一個(gè)通信速度最快的最優(yōu)回源服務(wù)器時(shí),緩存服務(wù)器最優(yōu)回源服務(wù)器的服務(wù)器地址發(fā)送HTTP請求,在該請求中添加客戶端所需視頻資源的視頻標(biāo)識。待接收到最優(yōu)回源服務(wù)器通過HTTP響應(yīng)返回的視頻資源后,緩存服務(wù)器將該視頻資源存儲在本地,并且對客戶端發(fā)起的HTTP請求進(jìn)行響應(yīng),將該視頻資源返回給客戶端。
[0081]場景二,⑶N網(wǎng)絡(luò)中回源服務(wù)器的測試場景。
[0082]在CDN網(wǎng)絡(luò)中,內(nèi)容提供商一般擁有自己的回源服務(wù)器,內(nèi)容分發(fā)者在扮演對接眾多內(nèi)容提供商的平臺角色時(shí),有時(shí)需要應(yīng)內(nèi)容提供商要求對回源服務(wù)器的通信速度進(jìn)行測試。在本場景中,緩存服務(wù)器確定的目標(biāo)回源服務(wù)器可以是全網(wǎng)所有的回源服務(wù)器,也可以是某個(gè)內(nèi)容提供商的回源服務(wù)器。緩存服務(wù)器分別測試各個(gè)目標(biāo)回源服務(wù)器的通信速度,然后最優(yōu)回源服務(wù)器的測試結(jié)果上報(bào)給相應(yīng)的內(nèi)容提供商。當(dāng)然,也可以將所有目標(biāo)回源服務(wù)器的測試結(jié)果全部進(jìn)行上報(bào)。需要說明的是,本場景目的在于對回源服務(wù)器進(jìn)行測試,不一定涉及對內(nèi)容資源的實(shí)際請求,因此相對場景一而言,本場景無需執(zhí)行向最優(yōu)回源服務(wù)器請求內(nèi)容資源的步驟。
[0083]進(jìn)一步的,作為對上述圖1至圖4所示方法的實(shí)現(xiàn),本發(fā)明實(shí)施例還提供了一種選擇回源服務(wù)器的裝置。該裝置可以部署在緩存服務(wù)器中,也可以獨(dú)立于緩存服務(wù)器,但是與緩存服務(wù)器之間保持?jǐn)?shù)據(jù)交互關(guān)系,用以對上述圖1至圖4所示的方法進(jìn)行實(shí)現(xiàn)。如圖5所示,該裝置包括:判斷單元51及處理單元52;其中,
[0084]判斷單元51,用于判斷是否存在可用的回源服務(wù)器。
[0085]本實(shí)施例的目的在于選擇一個(gè)與緩存服務(wù)器之間通信速度最快的最優(yōu)回源服務(wù)器,以使緩存服務(wù)器與該最優(yōu)回源服務(wù)器進(jìn)行通信。在選擇最優(yōu)回源服務(wù)器之前,首先需要確定哪些回源服務(wù)器是可用的,即查找作為待選擇對象的目標(biāo)回源服務(wù)器。分布式系統(tǒng)中會存在有多個(gè)回源服務(wù)器,可以從中選擇能夠?qū)彺娣?wù)器進(jìn)行響應(yīng)的回源服務(wù)器,作為目標(biāo)回源服務(wù)器。
[0086]所謂能夠?qū)彺娣?wù)器進(jìn)行響應(yīng),是指回源服務(wù)器處于正常的工作狀態(tài),能夠響應(yīng)于緩存服務(wù)器的HTTP請求,向緩存服務(wù)器返回相應(yīng)的內(nèi)容資源。實(shí)際應(yīng)用中可以采用報(bào)活測試的手段對回源服務(wù)器的狀態(tài)進(jìn)行測試。
[0087]處理單元52,用于在存在一個(gè)可用的回源服務(wù)器時(shí),將回源服務(wù)器對應(yīng)的服務(wù)器地址反饋給緩存服務(wù)器,在存在多個(gè)可用的回源服務(wù)器時(shí),選擇響應(yīng)最快的回源服務(wù)器對應(yīng)的服務(wù)器地址反饋給緩存服務(wù)器。
[0088]當(dāng)只有一個(gè)可用的回源服務(wù)器時(shí),沒有選擇最優(yōu)回源服務(wù)器的余地,直接將該回源服務(wù)器的服務(wù)器地址返回給緩存服務(wù)器使用。
[0089]當(dāng)有多個(gè)目標(biāo)回源服務(wù)器時(shí),分別測試每個(gè)目標(biāo)回源服務(wù)器的響應(yīng)速度。所謂響應(yīng)速度是指目標(biāo)回源服務(wù)器與緩存服務(wù)器之間的通信速度。通信速度的快慢由多種因素共同影響,包括回源服務(wù)器的處理能力、與緩存服務(wù)器之間的距離遠(yuǎn)近、傳輸條件優(yōu)劣等。本實(shí)施例通過測試手段驗(yàn)證通信速度結(jié)果,無需關(guān)注影響通信速度快慢的具體因素。
[0090]進(jìn)一步的,處理單元52用于:
[0091]根據(jù)回源服務(wù)器的域名解析速度和/或數(shù)據(jù)下載速度確定響應(yīng)最快的回源服務(wù)器。
[0092]進(jìn)一步的,如圖6所示,處理單元52包括第一處理模塊521,用于:
[0093]測試回源服務(wù)器的域名解析速度;
[0094]將域名解析速度最快的回源服務(wù)器確定為響應(yīng)最快的回源服務(wù)器。
[0095]本實(shí)施例中預(yù)先配置有各個(gè)回源服務(wù)器的域名,將各個(gè)目標(biāo)回源服務(wù)器的域名分別發(fā)送給DNS服務(wù)器進(jìn)行解析,并等待DNS服務(wù)器返回的、通過域名解析獲得的服務(wù)器地址。將最先接收到的域名解析響應(yīng)所對應(yīng)的目標(biāo)回源服務(wù)器,確定為最優(yōu)回源服務(wù)器。
[0096]進(jìn)一步的,如圖6所示,處理單元52包括第二處理模塊522,用于:
[0097]測試回源服務(wù)器的數(shù)據(jù)下載速度;
[0098]將數(shù)據(jù)下載速度最快的回源服務(wù)器確定為響應(yīng)最快的回源服務(wù)器。
[0099]本實(shí)施例中配置有各個(gè)回源服務(wù)器的域名信息,在發(fā)起HTTP請求之前,將域名發(fā)送給DNS服務(wù)器進(jìn)行解析,獲得對應(yīng)的服務(wù)器地址,然后將該服務(wù)器地址作為HTTP請求的目的地址,向不同的目標(biāo)回源服務(wù)器發(fā)送HTTP請求。
[0100]需要說明的是,在傳統(tǒng)的站點(diǎn)訪問流程中,一般都需要通過域名解析獲得站點(diǎn)地址。本實(shí)施例中雖然不涉及對域名解析速度的測試,但是作為發(fā)起HTTP請求的一個(gè)必要流程,因此仍需要向DNS服務(wù)器進(jìn)行域名解析,以獲得對應(yīng)的服務(wù)器地址。
[0101]進(jìn)一步的,處理單元52,用于:
[0102]選擇響應(yīng)最快的回源服務(wù)器對應(yīng)的服務(wù)器地址反饋給緩存服務(wù)器,以便緩存服務(wù)器根據(jù)服務(wù)器地址向響應(yīng)最快的回源服務(wù)器請求內(nèi)容資源。
[0103]緩存服務(wù)器將獲取的服務(wù)器地址作為HTTP請求的目的地址,并將內(nèi)容資源的內(nèi)容標(biāo)識添加到HTTP請求中發(fā)送給最優(yōu)回源服務(wù)器,以使得最優(yōu)回源服務(wù)器返回對應(yīng)該內(nèi)容標(biāo)識的內(nèi)容資源。在獲得內(nèi)容資源后,緩存服務(wù)器通過HTTP響應(yīng)返回給客戶端,并將該內(nèi)容資源保存在本地。當(dāng)下次客戶端請求該內(nèi)容資源時(shí),緩存服務(wù)器直接返回該內(nèi)容資源即可,無需再次向回源服務(wù)器進(jìn)行請求。
[0?04] 進(jìn)一步的,判斷單元51,用于:
[0105]通過心跳報(bào)活測試判斷是否存在可用的回源服務(wù)器。
[0106]本實(shí)施例可以周期性(例如5秒/次)的向各個(gè)回源服務(wù)器發(fā)送心跳包。如果能夠接收到心跳響應(yīng)包,則確定回源服務(wù)器可用?;蛘吒鶕?jù)該狀態(tài)信息判斷回源服務(wù)器是否可用,即當(dāng)狀態(tài)信息表示可用時(shí),確定回源服務(wù)器可用。
[0107]進(jìn)一步的,處理單元52,用于:
[0108]周期性測試回源服務(wù)器的域名解析速度和/或數(shù)據(jù)下載速度;
[0109]根據(jù)歷史測試結(jié)果的變動(dòng)趨勢,確定響應(yīng)最快的回源服務(wù)器。
[0110]由于目標(biāo)回源服務(wù)器的通信速度受各種因素綜合影響,而不同因素在不同時(shí)期對通信速度影響的程度又會存在偶然性,因此對目標(biāo)回源服務(wù)器的通信速度進(jìn)行定期測試能夠更加準(zhǔn)確、客觀的反映出目標(biāo)回源服務(wù)器在一段時(shí)間內(nèi)的真實(shí)通信速度。具體的,可以按照預(yù)定的時(shí)間間隔多次對目標(biāo)回源服務(wù)器的域名解析速度和/或數(shù)據(jù)下載速度進(jìn)行測試,例如每天、每周或每月測試一次。然后根據(jù)歷史測試結(jié)果的變動(dòng)趨勢,確定一個(gè)最優(yōu)回源服務(wù)器。所謂歷史測試結(jié)果的變動(dòng)趨勢,是指在一段時(shí)間內(nèi),多次測試結(jié)果所反映出的通信速度的變化趨勢。
[0111]本實(shí)施例提供的選擇回源服務(wù)器的裝置,能夠從可用的目標(biāo)回源服務(wù)器中查找通信速度最快的最優(yōu)回源服務(wù)器,并將最優(yōu)回源服務(wù)器的服務(wù)器地址返回給緩存服務(wù)器,以使得緩存服務(wù)器向該最優(yōu)回源服務(wù)器請求內(nèi)容資源。與現(xiàn)有技術(shù)中緩存服務(wù)器向任意一個(gè)回源服務(wù)器請求內(nèi)容資源相比,本實(shí)施例能夠最大限度縮短緩存服務(wù)器與回源服務(wù)器之間的響應(yīng)時(shí)延,進(jìn)而提高客戶端側(cè)的請求響應(yīng)速度。
[0112]以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。
[0113]通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲在計(jì)算機(jī)可讀存儲介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
[0114]最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
【主權(quán)項(xiàng)】
1.一種選擇回源服務(wù)器的方法,其特征在于,所述方法包括: 判斷是否存在可用的回源服務(wù)器; 若存在一個(gè),則將所述回源服務(wù)器對應(yīng)的服務(wù)器地址反饋給緩存服務(wù)器; 若存在多個(gè),則選擇響應(yīng)最快的回源服務(wù)器對應(yīng)的服務(wù)器地址反饋給緩存服務(wù)器。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,包括: 根據(jù)回源服務(wù)器的域名解析速度和/或數(shù)據(jù)下載速度確定響應(yīng)最快的回源服務(wù)器。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,包括: 測試回源服務(wù)器的域名解析速度; 將域名解析速度最快的回源服務(wù)器確定為響應(yīng)最快的回源服務(wù)器。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,包括: 測試回源服務(wù)器的數(shù)據(jù)下載速度; 將數(shù)據(jù)下載速度最快的回源服務(wù)器確定為響應(yīng)最快的回源服務(wù)器。5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,包括: 選擇響應(yīng)最快的回源服務(wù)器對應(yīng)的服務(wù)器地址反饋給緩存服務(wù)器,以便所述緩存服務(wù)器根據(jù)所述服務(wù)器地址向所述響應(yīng)最快的回源服務(wù)器請求內(nèi)容資源。6.根據(jù)權(quán)利要求2所述的方法,其特征在于,包括: 周期性測試回源服務(wù)器的域名解析速度和/或數(shù)據(jù)下載速度; 根據(jù)歷史測試結(jié)果的變動(dòng)趨勢,確定響應(yīng)最快的回源服務(wù)器。7.一種選擇回源服務(wù)器的裝置,其特征在于,所述裝置包括: 判斷單元,用于判斷是否存在可用的回源服務(wù)器; 處理單元,用于在存在一個(gè)可用的回源服務(wù)器時(shí),將所述回源服務(wù)器對應(yīng)的服務(wù)器地址反饋給緩存服務(wù)器,在存在多個(gè)可用的回源服務(wù)器時(shí),選擇響應(yīng)最快的回源服務(wù)器對應(yīng)的服務(wù)器地址反饋給緩存服務(wù)器。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述處理單元用于根據(jù)回源服務(wù)器的域名解析速度和/或數(shù)據(jù)下載速度確定響應(yīng)最快的回源服務(wù)器。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述處理單元用于測試回源服務(wù)器的域名解析速度,將域名解析速度最快的回源服務(wù)器確定為響應(yīng)最快的回源服務(wù)器。10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述處理單元用于測試回源服務(wù)器的數(shù)據(jù)下載速度,將數(shù)據(jù)下載速度最快的回源服務(wù)器確定為響應(yīng)最快的回源服務(wù)器。11.根據(jù)權(quán)利要求9或10所述的裝置,其特征在于,所述處理單元用于選擇響應(yīng)最快的回源服務(wù)器對應(yīng)的服務(wù)器地址反饋給緩存服務(wù)器,以便所述緩存服務(wù)器根據(jù)所述服務(wù)器地址向所述響應(yīng)最快的回源服務(wù)器請求內(nèi)容資源。12.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述處理單元用于周期性測試回源服務(wù)器的域名解析速度和/或數(shù)據(jù)下載速度;根據(jù)歷史測試結(jié)果的變動(dòng)趨勢,確定響應(yīng)最快的回源服務(wù)器。
【文檔編號】H04L29/08GK105871975SQ201510792607
【公開日】2016年8月17日
【申請日】2015年11月17日
【發(fā)明人】孫國良
【申請人】樂視云計(jì)算有限公司