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