本申請涉及互聯(lián)網(wǎng)技術領域,尤其涉及一種內(nèi)容獲取方法及系統(tǒng)。
背景技術:
內(nèi)容分發(fā)網(wǎng)絡(contentdeliverynetwork,cdn)是通過在網(wǎng)關各處放置節(jié)點服務器所構(gòu)成的一層智能虛擬網(wǎng)絡。在cdn中,全局負載均衡服務器(globalserverloadbalance,gslb)能夠根據(jù)實時地根據(jù)各邊緣節(jié)點的網(wǎng)絡流量和負載狀況以及與用戶設備(userequipment,ue)的地址的距離,確定為ue提供業(yè)務服務的邊緣節(jié)點,并向ue提供該邊緣節(jié)點的地址,在ue向邊緣節(jié)點發(fā)送內(nèi)容獲取請求之后,邊緣節(jié)點會先確定自身是否存儲ue需要獲取的目標內(nèi)容。由于邊緣節(jié)點自身存儲空間的限制,只能緩存少量的數(shù)據(jù),因此基于負載狀況以及網(wǎng)絡質(zhì)量等因素確定的邊緣節(jié)點很有可能沒有緩存目標內(nèi)容。在邊緣節(jié)點沒有緩存目標內(nèi)容的情況下,邊緣節(jié)點需要通過回源的方式獲取目標內(nèi)容。由于回源過程需要時間,造成ue獲取到目標內(nèi)容的時間過長。
技術實現(xiàn)要素:
本申請?zhí)峁┮环N內(nèi)容獲取方法及系統(tǒng),能夠解決ue獲取到目標內(nèi)容的時間過長的問題。
為達到上述目的,本申請采用如下技術方案:
第一方面,本申請?zhí)峁┮环N內(nèi)容獲取方法,所述方法包括:
ue向gslb發(fā)送內(nèi)容獲取請求,所述內(nèi)容獲取請求用于請求獲取目標內(nèi)容;
所述gslb檢測cdn中是否存在第一邊緣節(jié)點,所述第一邊緣節(jié)點為存儲有所述目標內(nèi)容的邊緣節(jié)點;
若是,則所述gslb向所述ue發(fā)送所述第一邊緣節(jié)點的地址,以便所述ue從所述第一邊緣節(jié)點獲取目標內(nèi)容;
若否,則所述gslb確定第二邊緣節(jié)點,所述第二邊緣節(jié)點用于向所述ue提供業(yè)務服務;
所述gslb向所述ue發(fā)送第二邊緣節(jié)點的地址,并向所述第二邊緣節(jié)點發(fā)送回源指令,所述回源指令用于指示所述第二邊緣節(jié)點通過回源的方式獲取所述目標內(nèi)容;
當所述ue接收到所述第二邊緣節(jié)點的地址時,所述ue向所述第二邊緣節(jié)點發(fā)送內(nèi)容獲取請求;
當所述第二邊緣節(jié)點接收到回源指令時,所述第二邊緣節(jié)點通過回源的方式獲取所述目標內(nèi)容;
所述第二邊緣節(jié)點根據(jù)所述內(nèi)容獲取請求向所述ue發(fā)送所述目標內(nèi)容。
第二方面,本申請實施例提供一種內(nèi)容獲取系統(tǒng),所述系統(tǒng)包括:
ue,用于向gslb發(fā)送內(nèi)容獲取請求,所述內(nèi)容獲取請求用于請求獲取目標內(nèi)容;
所述gslb,用于檢測cdn中是否存在第一邊緣節(jié)點,所述第一邊緣節(jié)點為存儲有所述目標內(nèi)容的邊緣節(jié)點;若是,則向所述ue發(fā)送所述第一邊緣節(jié)點的地址,以便所述ue從所述第一邊緣節(jié)點獲取目標內(nèi)容;若否,則確定第二邊緣節(jié)點,所述第二邊緣節(jié)點用于向所述ue提供業(yè)務服務;向所述ue發(fā)送所述第二邊緣節(jié)點的地址,并向所述第二邊緣節(jié)點發(fā)送回源指令,所述回源指令用于指示所述第二邊緣節(jié)點通過回源的方式獲取所述目標內(nèi)容;
所述ue,還用于當接收到所述第二邊緣節(jié)點的地址時,向所述第二邊緣節(jié)點發(fā)送內(nèi)容獲取請求;
所述第二邊緣節(jié)點,還用于當接收到所述回源指令時,通過回源的方式獲取所述目標內(nèi)容;根據(jù)所述內(nèi)容獲取請求,向所述ue發(fā)送所述目標內(nèi)容。
相比于現(xiàn)有技術中如果gslb確定的邊緣節(jié)點中未緩存目標內(nèi)容,即使cdn中其他的邊緣節(jié)點中緩存了目標內(nèi)容,gslb確定的邊緣節(jié)點也只能通過回源的方式獲取目標內(nèi)容,導致ue獲取到目標內(nèi)容的時間過長,本申請實施例提供一種內(nèi)容獲取方法及系統(tǒng),當ue需要獲取目標內(nèi)容時,只要cdn中存在緩存了目標內(nèi)容的第一邊緣節(jié)點,glsb就可以將該第一邊緣節(jié)點的地址返回給ue,以使得ue獲取目標內(nèi)容,這樣就減少了不必要的回源過程,從而減少ue獲取到目標內(nèi)容的時間。另外,即使cdn中不存在第一邊緣節(jié)點,gslb也可以選取一個第二邊緣節(jié)點并指示第二邊緣節(jié)點通過回源的方式獲取目標內(nèi)容,同時gslb也會向ue發(fā)送第二邊緣節(jié)點的地址,這樣第二邊緣節(jié)點就無需等待接收到ue發(fā)送的內(nèi)容獲取請求,再確定自身未存儲目標內(nèi)容之后才進行回源過程,而是直接根據(jù)glsb的回源指令開始回源過程,減少了ue獲取到目標內(nèi)容的時間。
附圖說明
為了更清楚地說明本申請實施例中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1為本申請?zhí)峁┑囊环Ncdn的系統(tǒng)架構(gòu)圖;
圖2為本申請?zhí)峁┑囊环N內(nèi)容獲取方法的流程圖;
圖3為本申請?zhí)峁┑囊环N內(nèi)容獲取系統(tǒng)的結(jié)構(gòu)示意圖;
具體實施方式
下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。
如圖1所示,本申請?zhí)峁┮环Ncdn的系統(tǒng)架構(gòu)圖,所示cdn包括:ue10、gslb11、邊緣節(jié)點12、區(qū)域節(jié)點13、中心節(jié)點14以及源站點15。其中,ue10是一種向用戶提供語音和/或數(shù)據(jù)連通性的設備,例如,具有無線連接功能的手持式設備、車載設備等。常見的ue包括:手機、平板電腦、筆記本電腦、掌上電腦、移動互聯(lián)網(wǎng)設備(mobileinternetdevice,mid)、可穿戴設備,例如智能手表、智能手環(huán)、計步器等。在ue10需要獲取目標內(nèi)容時,ue10會向gslb11確定的邊緣節(jié)點12發(fā)送內(nèi)容獲取請求,以便從該邊緣節(jié)點12獲取目標內(nèi)容。gslb11在cdn中作為核心的流量調(diào)度系統(tǒng),能夠根據(jù)邊緣節(jié)點12的負載狀況(包括cpu、帶寬占用等數(shù)據(jù))、網(wǎng)絡質(zhì)量(包括網(wǎng)絡時延、丟包率)以及與ue10之間的距離,綜合選擇最優(yōu)的邊緣節(jié)點12向ue10提供業(yè)務服務。邊緣節(jié)點12、區(qū)域節(jié)點13、中心節(jié)點14均具有緩存功能,能夠存儲大部分網(wǎng)頁對象,如html、htm、php等頁面文件,以及gif、bmp等圖片文件,以及其他格式的文件。在存儲容量上,中心節(jié)點14大于區(qū)域節(jié)點13,區(qū)域節(jié)點13又大于邊緣節(jié)點12。邊緣節(jié)點12用于響應ue10的內(nèi)容獲取請求,向ue10提供目標內(nèi)容。區(qū)域節(jié)點13與至少一個邊緣節(jié)點12連接,區(qū)域節(jié)點13用于向其管轄的邊緣節(jié)點12提供內(nèi)容。中心節(jié)點14與至少一個區(qū)域節(jié)點13連接,中心節(jié)點14用于向其管轄的區(qū)域節(jié)點13提供內(nèi)容。源站點15是存儲目標內(nèi)容的原始站點,可以向cdn的中心節(jié)點14提供目標內(nèi)容。
為了解決ue獲取到目標內(nèi)容的時間過長的問題,本申請實施例提供一種內(nèi)容獲取方法,應用于圖1所示的cdn中。如圖2所示,所述方法包括:
101、ue向gslb發(fā)送內(nèi)容獲取請求。
其中,所述內(nèi)容獲取請求用于請求獲取目標內(nèi)容。所述內(nèi)容獲取請求攜帶有所述目標內(nèi)容的內(nèi)容標識。所述目標內(nèi)容包括但不限于:視頻文件、音樂文件、圖片文件和網(wǎng)頁文件。
102、gslb檢測cdn中是否存在第一邊緣節(jié)點。
其中,所述第一邊緣節(jié)點為存儲有所述目標內(nèi)容的邊緣節(jié)點。
具體實現(xiàn)過程中,所述gslb周期性接收所述cdn中各邊緣節(jié)點發(fā)送的當前存儲內(nèi)容的內(nèi)容標識,然后所述gslb存儲所述cdn中各邊緣節(jié)點對應的內(nèi)容標識。在接收到ue發(fā)送的內(nèi)容獲取請求之后,所述gslb判斷自身存儲的所述cdn中各邊緣節(jié)點對應的內(nèi)容標識中,是否存在所述目標內(nèi)容的內(nèi)容標識。若是,則gslb確定cdn中存在第一邊緣節(jié)點,并根據(jù)邊緣節(jié)點與內(nèi)容標識的對應關系,確定第一邊緣節(jié)點的地址,然后執(zhí)行步驟103。若否,則gslb確定cdn中不存在第一邊緣節(jié)點,接下來執(zhí)行步驟104至109。
103、gslb向所述ue發(fā)送所述第一邊緣節(jié)點的地址,以便所述ue從所述第一邊緣節(jié)點獲取目標內(nèi)容。
一種具體實現(xiàn)方式中,步驟103包括:
103a、gslb向所述ue發(fā)送所述第一邊緣節(jié)點的地址。
需要說明的是,若只存在一個第一邊緣節(jié)點,則gslb向所述ue發(fā)送所述第一邊緣節(jié)點的地址;若存在至少兩個第一邊緣節(jié)點,則gslb根據(jù)第一邊緣節(jié)點的網(wǎng)絡質(zhì)量、負載狀況或者與ue的地址的距離,確定最優(yōu)的第一邊緣節(jié)點,并向ue發(fā)送最優(yōu)的第一邊緣節(jié)點的地址。
103b、ue向所述第一邊緣節(jié)點發(fā)送內(nèi)容獲取請求。
103c、第一邊緣節(jié)點根據(jù)內(nèi)容獲取請求,向ue發(fā)送目標內(nèi)容。
104、gslb確定第二邊緣節(jié)點。
其中,所述第二邊緣節(jié)點用于向所述ue提供業(yè)務服務。
具體實現(xiàn)過程中,所述gslb根據(jù)所述cdn中各個邊緣節(jié)點的負載狀況、網(wǎng)絡質(zhì)量或者與ue之間的距離,確定所述第二邊緣節(jié)點,從而第二邊緣節(jié)點可以是cdn中負載狀況最輕的邊緣節(jié)點,或者是網(wǎng)絡質(zhì)量最佳的邊緣節(jié)點,或者是與ue之間的距離最近的邊緣節(jié)點。例如,gslb檢測cdn中各個邊緣節(jié)點的網(wǎng)絡時延,確定網(wǎng)絡時延最低的邊緣節(jié)點為第二邊緣節(jié)點?;蛘?,gslb檢測cdn中各個邊緣節(jié)點的丟包率,確定丟包率最低的邊緣節(jié)點為第二邊緣節(jié)點。
105、gslb向所述ue發(fā)送第二邊緣節(jié)點的地址。
106、gslb向所述第二邊緣節(jié)點發(fā)送回源指令。
其中,所述回源指令用于指示所述第二邊緣節(jié)點通過回源的方式獲取所述目標內(nèi)容。所述回源指令可以攜帶所述目標內(nèi)容的內(nèi)容標識。
需要說明的是,步驟105、106可以同時執(zhí)行,并沒有執(zhí)行順序上的先后區(qū)別。
107、當所述ue接收到所述第二邊緣節(jié)點的地址時,所述ue向所述第二邊緣節(jié)點發(fā)送內(nèi)容獲取請求。
108、當所述第二邊緣節(jié)點接收到所述回源指令時,所述第二邊緣節(jié)點通過回源的方式獲取所述目標內(nèi)容。
具體實現(xiàn)過程中,第二邊緣節(jié)點根據(jù)回源指令,向區(qū)域節(jié)點發(fā)送內(nèi)容獲取請求。在區(qū)域節(jié)點接收到所述內(nèi)容獲取請求之后,區(qū)域節(jié)點檢測自身是否存儲所述目標內(nèi)容。若區(qū)域節(jié)點存儲所述目標內(nèi)容,則區(qū)域節(jié)點將所述目標內(nèi)容發(fā)送給第二邊緣節(jié)點;若區(qū)域節(jié)點沒有存儲所述目標內(nèi)容,則區(qū)域節(jié)點會向中心節(jié)點發(fā)送內(nèi)容獲取請求。在中心節(jié)點接收到所述內(nèi)容獲取請求之后,中心節(jié)點檢測自身是否存儲所述目標內(nèi)容。若中心節(jié)點存儲所述目標內(nèi)容,則中心節(jié)點通過區(qū)域節(jié)點將目標內(nèi)容發(fā)送給第二邊緣節(jié)點;若中心節(jié)點沒有存儲所述目標內(nèi)容,則中心節(jié)點會向目標內(nèi)容的源站點發(fā)送內(nèi)容獲取請求。源站點在接收到內(nèi)容獲取請求之后,通過中心節(jié)點、區(qū)域節(jié)點以逐級調(diào)度的方式,將目標內(nèi)容發(fā)送給第二邊緣節(jié)點。
需要說明的是,本申請實施例不限定第二邊緣節(jié)點采用何種回源方式獲取目標內(nèi)容,即第二邊緣節(jié)點也可以采用現(xiàn)有技術中的其他回源方式獲取目標內(nèi)容。
進一步的,在獲取到目標內(nèi)容之后,所述第二邊緣節(jié)點存儲所述目標內(nèi)容,以便于其他ue需要獲取同樣內(nèi)容的時候,可以直接從所述第二邊緣節(jié)點的緩存中獲取。
需要說明的是,在本申請實施例中,步驟107與步驟108是并行進行的,因此,相比于現(xiàn)有技術中單線程的內(nèi)容獲取方法(即ue先向邊緣節(jié)點發(fā)送內(nèi)容獲取請求,邊緣節(jié)點接收到內(nèi)容獲取請求之后,再通過回源的方式獲取目標內(nèi)容),本申請實施例提供的內(nèi)容獲取方法,能夠減少ue獲取到目標內(nèi)容的時間。
109、第二邊緣節(jié)點根據(jù)所述內(nèi)容獲取請求,向所述ue發(fā)送所述目標內(nèi)容。
相比于現(xiàn)有技術中如果gslb確定的邊緣節(jié)點中未緩存目標內(nèi)容,即使cdn中其他的邊緣節(jié)點中緩存了目標內(nèi)容,gslb確定的邊緣節(jié)點也只能通過回源的方式獲取目標內(nèi)容,導致ue獲取到目標內(nèi)容的時間過長,本申請實施例提供一種內(nèi)容獲取方法,當ue需要獲取目標內(nèi)容時,只要cdn中存在緩存了目標內(nèi)容的第一邊緣節(jié)點,glsb就可以將該第一邊緣節(jié)點的地址返回給ue,以使得ue獲取目標內(nèi)容,這樣就減少了不必要的回源過程,從而減少ue獲取到目標內(nèi)容的時間。另外,在cdn中不存在第一邊緣節(jié)點的情況下,gslb也可以選取一個第二邊緣節(jié)點并指示第二邊緣節(jié)點通過回源的方式獲取目標內(nèi)容,同時gslb也會向ue發(fā)送第二邊緣節(jié)點的地址,這樣第二邊緣節(jié)點回源的過程與ue向第二邊緣節(jié)點發(fā)送內(nèi)容獲取請求的過程,可以同時進行,從而相比于現(xiàn)有技術中ue需要先向邊緣節(jié)點發(fā)送內(nèi)容獲取請求,邊緣節(jié)點接收內(nèi)容獲取請求,確定自身沒有存儲目標內(nèi)容再進行回源的單線程方法,本申請實施例提供的內(nèi)容獲取方法,能夠減少ue獲取到目標內(nèi)容的時間。
如圖3所示,本申請實施例提供一種內(nèi)容獲取系統(tǒng),用于執(zhí)行前述內(nèi)容獲取方法。所述系統(tǒng)包括:
ue21,用于向gslb22發(fā)送內(nèi)容獲取請求,所述內(nèi)容獲取請求用于請求獲取目標內(nèi)容。
所述gslb22,用于檢測內(nèi)容分發(fā)網(wǎng)絡cdn中是否存在第一邊緣節(jié)點23,所述第一邊緣節(jié)點23為存儲有所述目標內(nèi)容的邊緣節(jié)點;若是,則向所述ue21發(fā)送所述第一邊緣節(jié)點23的地址,以便所述ue21從所述第一邊緣節(jié)點23獲取目標內(nèi)容;若否,則確定第二邊緣節(jié)點24,所述第二邊緣節(jié)點24用于向所述ue21提供業(yè)務服務;向所述ue21發(fā)送所述第二邊緣節(jié)點24的地址,并向所述第二邊緣節(jié)點24發(fā)送回源指令,所述回源指令用于指示所述第二邊緣節(jié)點24通過回源的方式獲取所述目標內(nèi)容。
所述ue21,還用于當接收到所述第二邊緣節(jié)點24的地址時,向所述第二邊緣節(jié)點24發(fā)送內(nèi)容獲取請求。
所述第二邊緣節(jié)點24,還用于當接收到所述回源指令時,通過回源的方式獲取所述目標內(nèi)容;根據(jù)所述內(nèi)容獲取請求,向所述ue21發(fā)送所述目標內(nèi)容。
進一步的,所述gslb22,還用于周期性接收所述cdn中各邊緣節(jié)點發(fā)送的當前存儲內(nèi)容的內(nèi)容標識;存儲所述cdn中各邊緣節(jié)點對應的內(nèi)容標識。
進一步的,所述內(nèi)容獲取請求攜帶有所述目標內(nèi)容的內(nèi)容標識。所述gslb22,具體用于判斷自身存儲的所述cdn中各邊緣節(jié)點對應的內(nèi)容標識中,是否存在所述目標內(nèi)容的內(nèi)容標識;若存在,則確定所述cdn中存在所述第一邊緣節(jié)點23;若不存在,則確定所述cdn中不存在所述第一邊緣節(jié)點23。
進一步的,所述gslb22,具體用于根據(jù)所述cdn中各個邊緣節(jié)點的負載狀況、網(wǎng)絡質(zhì)量或者與ue之間的距離,確定所述第二邊緣節(jié)點24。
進一步的,所述第二邊緣節(jié)點24,還用于在通過回源的方式獲取所述目標內(nèi)容之后,存儲所述目標內(nèi)容。
相比于現(xiàn)有技術中如果gslb確定的邊緣節(jié)點中未緩存目標內(nèi)容,即使cdn中其他的邊緣節(jié)點中緩存了目標內(nèi)容,gslb確定的邊緣節(jié)點也只能通過回源的方式獲取目標內(nèi)容,導致ue獲取到目標內(nèi)容的時間過長,本申請實施例提供一種內(nèi)容獲取系統(tǒng),當ue需要獲取目標內(nèi)容時,只要cdn中存在緩存了目標內(nèi)容的第一邊緣節(jié)點,glsb就可以將該第一邊緣節(jié)點的地址返回給ue,以使得ue獲取目標內(nèi)容,這樣就減少了不必要的回源過程,從而減少ue獲取到目標內(nèi)容的時間。另外,在cdn中不存在第一邊緣節(jié)點的情況下,gslb也可以選取一個第二邊緣節(jié)點并指示第二邊緣節(jié)點通過回源的方式獲取目標內(nèi)容,同時gslb也會向ue發(fā)送第二邊緣節(jié)點的地址,這樣第二邊緣節(jié)點回源的過程與ue向第二邊緣節(jié)點發(fā)送內(nèi)容獲取請求的過程,可以同時進行,從而相比于現(xiàn)有技術中ue需要先向邊緣節(jié)點發(fā)送內(nèi)容獲取請求,邊緣節(jié)點接收內(nèi)容獲取請求,確定自身沒有存儲目標內(nèi)容再進行回源的過程,本申請實施例提供的內(nèi)容獲取系統(tǒng),能夠減少ue獲取到目標內(nèi)容的時間。
本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。
本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(read-onlymemory,rom)或隨機存儲記憶體(randomaccessmemory,ram)等。
以上所述,僅為本申請的具體實施方式,但本申請的保護范圍并不局限于此,任何在本申請揭露的技術范圍內(nèi)的變化或替換,都應涵蓋在本申請的保護范圍之內(nèi)。因此,本申請的保護范圍應該以權利要求的保護范圍為準。