本發(fā)明涉及通信
技術領域:
,尤其涉及內容分發(fā)方法、虛擬服務器管理方法、云平臺和系統(tǒng)。
背景技術:
:內容分發(fā)網絡(contentdeliverynetwork,CDN)系統(tǒng)是一種在因特網(internet)上構建的分布式服務器系統(tǒng)。CDN系統(tǒng)也常稱為內容分發(fā)系統(tǒng)或內容分發(fā)網絡,該系統(tǒng)包含多個數據中心,其目的是使網絡上的內容更快、更穩(wěn)定的傳輸給用戶,降低網絡時延,提升用戶體驗。上述每個數據中心可以稱為一個CDN節(jié)點,CDN節(jié)點可位于多個地點,多個不同的網絡,以減少傳輸內容所需的流量,進而降低帶寬成本。這些CDN節(jié)點之間也會動態(tài)的互相傳輸內容,并對用戶的下載行為進行優(yōu)化,減少內容供應者所需要的帶寬成本,改善用戶的下載速度,提高系統(tǒng)的穩(wěn)定性。CDN系統(tǒng)中的CDN節(jié)點可以分為中心節(jié)點和邊緣節(jié)點,其中,每個中心節(jié)點包括一臺或多臺中心服務器,每個邊緣節(jié)點包括一臺或多臺邊緣服務器。中心節(jié)點一般會緩存需要分發(fā)的所有的網絡內容,而邊緣節(jié)點僅僅緩存需要分發(fā)的網絡內容的一部分。當用戶訪問某一互聯網內容時,域名系統(tǒng)(domainnamesystem,DNS)會把用戶的訪問分配到離用戶最近的邊緣節(jié)點上,如果用戶訪問的邊緣節(jié)點存儲有用戶需要的內容,那么該邊緣節(jié)點會把用戶請求的內容直接返回給用戶。如果用戶訪問的邊緣節(jié)點沒有存儲用戶需要的內容,那么該邊緣節(jié)點就回內容源頭所在的服務器獲取用戶所訪問內容,再返回給用戶,例如,該邊緣節(jié)點可以從中心節(jié)點獲取用戶所訪問內容,再返回給用 戶?,F有技術中,將云計算應用到了內容分發(fā)方法中。其中,云計算提供的基礎設施即服務(infrastructureasaservice,IaaS)是消費者使用處理、儲存、網絡以及各種基礎運算資源,部署與執(zhí)行操作系統(tǒng)或應用程序等各種軟件??蛻舳藷o須購買服務器、軟件等網絡設備,即可任意部署和運行處理、存儲、網絡和其它基本的計算資源,從而可以控制操作系統(tǒng)、儲存裝置、已部署的應用程序。企業(yè)可以根據自己不斷變化的組織架構、管控模式和業(yè)務需求,基于虛擬化技術快速部署資源或獲得服務,為企業(yè)云應用服務快速提供動態(tài)、靈活、彈性、虛擬、共享和高效的計算資源服務。IaaS中最重要的技術是虛擬化技術,即在單臺物理服務器上利用虛擬化管理軟件創(chuàng)建多個虛擬機,每一臺虛擬機作為一臺服務器使用。現有技術的內容分發(fā)方法,采用了直接基于云計算技術的內容分發(fā)網絡(CDN)。內容分發(fā)網絡一般是分層結構,除了前面提到的由中心節(jié)點和邊緣節(jié)點構成的兩層結構,內容分發(fā)網絡還可以是由中心節(jié)點、中間節(jié)點和邊緣節(jié)點構成的三層結構。其中每個層次都是由一個或多個服務器組成的服務器集群。直接基于云計算技術的內容分發(fā)網絡,其具體表現形式是利用云計算的虛擬化技術,直接將虛擬服務器看作傳統(tǒng)內容分發(fā)網絡中的物理服務器。在不同數據中心上構建中心節(jié)點的服務器集群、中間節(jié)點的服務器集群或邊緣節(jié)點的服務器集群等,其中,服務器集群中的服務器都是虛擬服務器。這種直接基于云計算技術的內容分發(fā)網絡的好處是對內容分發(fā)網絡管理控制軟件可直接應用,并且具有云計算帶來的優(yōu)點,如可以使用通用硬件、設備占用空間小等等。但是,由于直接基于虛擬服務器構成的服務器集群來構建內容分發(fā)網絡,導致內容分發(fā)網絡的內容輸入輸出(input/output,I/O)需要通過虛擬服務器來進行,基于虛擬服務器的內容I/O的性能遠低于基于物理服務器的內容I/O的性能,從而基于云計算的內容分發(fā)網絡的內容I/O的性能大大降低,影 響用戶的體驗。技術實現要素:本發(fā)明實施例提供內容分發(fā)方法、虛擬服務器管理方法、云平臺和系統(tǒng),可以使基于云計算的內容分發(fā)網絡的內容I/O的性能得到大幅提升。第一方面,提供了一種內容分發(fā)方法,應用于內容分發(fā)系統(tǒng),該內容分發(fā)系統(tǒng)包括至少兩個虛擬服務器和至少兩個存儲服務器,上述至少兩個虛擬服務器中的任意一個虛擬服務器均管理上述至少兩個存儲服務器中的一個或多個存儲服務器,任意一個虛擬服務器作為第一虛擬服務器執(zhí)行以下方法,包括:第一虛擬服務器接收內容請求方發(fā)送的第一請求消息,第一請求消息中攜帶用戶請求內容的第一統(tǒng)一資源定位符(uniformresourcelocator,URL);第一虛擬服務器根據自身維護的緩存列表,判斷第一虛擬服務器管理的存儲服務器中的一個存儲服務器緩存了第一URL對應的內容;將第一請求消息重定向至緩存列表中記錄的緩存了第一URL對應內容的第一存儲服務器,上述重定向至第一存儲服務器的第一請求消息用于指示第一存儲服務器將緩存的第一URL對應的內容發(fā)送給內容請求方。本發(fā)明實施例提供了一種內容分發(fā)方法,由于將服務器集群的計算能力和存儲能力分開來,將計算能力利用云計算的虛擬化技術實現,而存儲能力采用獨立的存儲服務器實現,從而使存儲服務器可以直接將內容發(fā)送給內容請求方,而無需通過虛擬服務器,因此有效提高了內容I/O吞吐性能。結合第一方面,在第一方面的第一種可能的實現方式中,該方法還包括:第一虛擬服務器接收內容請求方發(fā)送的第二請求消息,第二請求消息中攜帶用戶請求內容的第二URL;第一虛擬服務器根據自身維護的緩存列表,判斷第一虛擬服務器管理的所有存儲服務器中均未緩存第二請求消息攜帶的第二URL對應的內容;第一虛擬服務器根據一致性哈希算法,確定用于緩存第二請求消息攜帶 的第二URL對應的內容的第二存儲服務器;將第二請求消息重定向至第二存儲服務器,上述重定向至第二存儲服務器的第二請求消息用于指示第二存儲服務器回源獲取用戶請求的內容,將回源獲取的用戶請求的內容發(fā)送給內容請求方。上述實現方式中,給出了當虛擬服務器管理的所有存儲服務器中均未緩存用戶請求的內容時,根據一致性哈希算法確定用于緩存用戶請求的內容的存儲服務器,由該存儲服務器回源獲取用戶請求的內容,將回源獲取的用戶請求的內容發(fā)送給內容請求方,通過該方法可以在提高內容I/O的性能的基礎上,確保負載均衡。結合第一方面,在第一方面的第二種可能的實現方式中,第一虛擬服務器根據自身維護的緩存列表,判斷第一虛擬服務器管理的存儲服務器中的一個存儲服務器緩存了第一URL對應的內容之前,該方法還包括:第一虛擬服務器根據第一請求消息中攜帶的用戶請求內容的第一URL,確定第一虛擬服務器處理第一URL。結合第一方面的第一種可能的實現方式,在第一方面的第三種可能的實現方式中,第一虛擬服務器根據自身維護的緩存列表,判斷第一虛擬服務器管理的所有存儲服務器中均未緩存第二請求消息攜帶的第二URL對應的內容之前,該方法還包括:第一虛擬服務器根據第二請求消息中攜帶的用戶請求內容的第二URL,確定第一虛擬服務器處理第二URL。結合第一方面的第二種或第三種可能的實現方式,在第一方面的第四種可能的實現方式中,該方法還包括:第一虛擬服務器接收內容請求方發(fā)送的第三請求消息,第三請求消息中攜帶用戶請求內容的第三URL;第一虛擬服務器根據第三請求消息中攜帶的用戶請求內容的第三URL,確定第二虛擬服務器處理第三URL;將第三請求消息重定向至第二虛擬服務器。上述實現方式中,給出了虛擬服務器在接收到內容請求方發(fā)送的請求消息后,在對該請求消息進行相應處理前,先要根據請求消息中攜帶的URL,判斷處理該URL的虛擬服務器,當判斷出自身為處理該URL的虛擬服務器時,再對該請求消息進行相應處理,當判斷出應該由其他虛擬服務器來處理該URL時,將該請求消息重定向至其他虛擬服務器。本領域技術人員可以理解,上述第一虛擬服務器為內容分發(fā)系統(tǒng)所包含的多個虛擬服務器中最先接收到該請求消息的虛擬服務器,上述第二虛擬服務器為在第一虛擬服務器對請求消息進行重定向處理后才接收到該請求消息的虛擬服務器。由于每個虛擬服務器只處理自身對應的URL,從而實現了虛擬服務器級別的負載均衡。結合第一方面的第二種或第三種或第四種可能的實現方式,在第一方面的第五種可能的實現方式中,第一虛擬服務器根據請求消息中攜帶的用戶請求內容的URL,確定處理該URL的虛擬服務器,包括:第一虛擬服務器根據請求消息中攜帶的用戶請求內容的URL,計算該URL的哈希值;獲取分布式數據庫中所有分塊的哈希值,根據該URL的哈希值,按照一致性哈希算法查詢該URL對應的分塊,其中,內容分發(fā)系統(tǒng)包括的存儲服務器中的每一個存儲服務器均劃分為至少一個分塊;根據該URL對應的分塊的哈希值,以及分布式數據庫中存儲的分塊的哈希值與虛擬服務器的哈希值的對應關系,確定處理該URL的虛擬服務器。上述實現方式中,給出了確定處理URL的虛擬服務器的方法,由于分布式數據庫中存儲了分塊的哈希值與虛擬服務器的哈希值的對應關系,因此本發(fā)明實施例中,先根據一致性哈希算法確定URL對應的分塊的哈希值,然后根據確定出的分塊的哈希值就可以在分布式數據庫中查找到處理該URL的虛擬服務器。這種方式簡單、容易實現,并且可以利用云計算的優(yōu)點,提高處理效率。結合第一方面的第一種可能的實現方式,在第一方面的第六種可能的實現方式中,內容分發(fā)系統(tǒng)包括的存儲服務器中的每一個存儲服務器均劃分為至少一個分塊,上述將第二請求消息重定向至第二存儲服務器之后,該方法還包括:第一虛擬服務器更新第二URL對應的熱度信息;根據熱度信息,確定需要緩存第二URL對應的內容;確定第二URL對應的分塊的存儲容量未滿;通知第二存儲服務器緩存第二URL對應的內容到第二URL對應的分塊。上述實現方式中,給出了當存儲服務器中未緩存URL對應的內容時,根據熱度信息確定是否需要緩存URL對應的內容,由于緩存URL對應的內容可以有效節(jié)約將內容發(fā)送給內容請求方的時間,因此盡量緩存訪問熱度高的內容可以提高內容分發(fā)系統(tǒng)的I/O效率;以及,當URL對應的分塊的存儲容量未滿時,緩存URL對應的內容到URL對應的分塊,可以有效實現負載均衡。結合第一方面的第六種可能的實現方式,在第一方面的第七種可能的實現方式中,每個分塊對應一個虛擬服務器,該方法還包括:第一虛擬服務器確定第二URL對應的分塊的存儲容量已滿;確定第一虛擬服務器管理的多個分塊中的至少一個分塊的存儲容量未滿,選擇一個存儲容量未滿的分塊;第一虛擬服務器通知第二存儲服務器緩存第二URL對應的內容到選擇的分塊,并且,第一虛擬服務器將第二URL的哈希值、緩存第二URL對應的內容的分塊的哈希值和第二URL對應的熱度信息添加到緩存隊列的記錄中;或第一虛擬服務器確定第二URL對應的分塊的存儲容量已滿;確定第一虛擬服務器管理的多個分塊的存儲容量均已滿,從緩存隊列中查詢熱度低于第一閾值的記錄;根據查詢到的記錄,通知該記錄中的分塊對應的存儲服務器刪除該記錄中的URL對應的內容。上述實現方式中,給出了虛擬服務器管理存儲服務器存儲和刪除內容的方法,當每個分塊對應一個虛擬服務器,且URL對應的分塊的存儲容量已滿時,將URL對應的內容存儲在該虛擬服務器管理的其他存儲容量未滿的分塊;當每個分塊對應一個虛擬服務器,且URL對應的分塊的存儲容量已滿時,該虛擬服務器管理的所有分塊的存儲容量均已滿時,根據熱度信息刪除熱度低的內容。該方式可以使虛擬服務器拉通存儲自己管理的分塊,提高磁盤利用率。結合第一方面的第六種可能的實現方式,在第一方面的第八種可能的實現方式中,每個分塊具有多個哈希值,每個分塊的一個哈希值對應一個虛擬服務器,上述將第二請求消息重定向至第二存儲服務器之后,該方法還包括:第一虛擬服務器接收當第二URL對應的分塊的存儲容量已滿時,該分塊所屬的第二存儲服務器向管理該分塊的多個虛擬服務器上報的該分塊已滿的通知信息;第一虛擬服務器向第二存儲服務器發(fā)送刪除通知,該刪除通知中攜帶第一虛擬服務器管理的該分塊中熱度低于第二閾值的內容的URL,該刪除通知用于指示第二存儲服務器根據該刪除通知中攜帶的URL對應的內容的熱度信息,確定是否將該刪除通知中攜帶的URL對應的內容刪除。上述實現方式中,給出了虛擬服務器管理存儲服務器刪除內容的方法,當每個分塊對應多個虛擬服務器,且URL對應的分塊的存儲容量已滿時,該虛擬服務器向URL對應的存儲服務器發(fā)送刪除通知,由存儲服務器根據該分塊對應的多個虛擬服務器分別發(fā)送的刪除通知,通過比較刪除通知中攜帶的熱度信息,刪除熱度低的內容。該方式通過多個虛擬服務器的協(xié)商,刪除存儲服務器的分塊中熱度低的內容的準確性高。優(yōu)選地,可以通過多次發(fā)送刪除通知的方式,來進一步提高刪除內容的準確性,例如,當存儲服務器要刪除分塊中三分之一存儲容量的內容時,可以僅在刪除通知中攜帶三十分之一存儲容量的內容的URL,通過一次比較確認 某個虛擬服務器的刪除通知中攜帶的URL對應的內容,向該虛擬服務器發(fā)送通知信息,指示該虛擬服務器再次發(fā)送刪除通知。第二方面,提供了一種虛擬服務器管理方法,應用于內容分發(fā)系統(tǒng),內容分發(fā)系統(tǒng)包括至少兩個虛擬服務器和至少兩個存儲服務器,上述至少兩個虛擬服務器中的任意一個虛擬服務器均管理上述至少兩個存儲服務器中的一個或多個存儲服務器,上述一個或多個存儲服務器中的每一個存儲服務器均劃分為至少一個分塊,上述至少一個分塊中的每個分塊由一個虛擬服務器管理,該方法包括:云平臺計算內容分發(fā)系統(tǒng)的每個分塊的哈希值和每個虛擬服務器的哈希值;根據一致性哈希算法或隨機選取的方式,確定每個分塊對應的虛擬服務器;建立分布式數據庫,在該分布式數據庫中存儲分塊的哈希值與虛擬服務器的哈希值的對應關系。本發(fā)明實施例提供了一種虛擬服務器管理方法,該方法中通過建立分布式數據庫,預先確定了分塊和虛擬服務器的對應關系,每個分塊由一個虛擬服務器管理,可以使虛擬服務器拉通存儲自己管理的分塊,提高磁盤利用率。結合第二方面,在第二方面的第一種可能的實現方式中,該方法還包括:云平臺根據內容分發(fā)系統(tǒng)的負荷,確定需要新增虛擬服務器;確定需要分配給新增虛擬服務器的分塊數目;從所有分塊中選擇上述分塊數目個分塊;刪除選擇的分塊中的內容;將所選分塊分配給新增虛擬服務器,并更新分布式數據庫中分塊與虛擬服務器的對應關系;或云平臺根據內容分發(fā)系統(tǒng)的負荷,確定需要減少虛擬服務器;云平臺通知存儲服務器刪除待減少的虛擬服務器對應的分塊中的內容;將待減少的虛擬服務器對應的分塊分配給其他的虛擬服務器,更新分塊與虛擬服務器的對應關系;刪除上述待減少的虛擬服務器。上述實現方式中,給出了每個分塊由一個虛擬服務器管理時,虛擬服務器伸縮的處理流程,無論增加或者減少虛擬服務器都要更新分布式數據庫中分塊與虛擬服務器的對應關系,從而在虛擬服務器伸縮后仍然可以實現內容分發(fā)的分布式處理。其中,當增加虛擬服務器時,更新分布式數據庫不僅需要在數據庫中增加新增虛擬服務器與其管理的分塊的哈希值之間的對應關系,還要刪除為新增虛擬服務器分配的分塊與原管理該分塊的虛擬服務器的哈希值之間的對應關系;當減少虛擬服務器時,更新分布式數據庫不僅需要在數據庫中刪除減少的虛擬服務器與該虛擬服務器原來管理的分塊的哈希值之間的對應關系,還要增加該虛擬服務器原來管理的分塊與為該虛擬服務器原來管理的分塊重新分配的虛擬服務器的哈希值之間的對應關系。第三方面,提供了一種虛擬服務器管理方法,應用于內容分發(fā)系統(tǒng),內容分發(fā)系統(tǒng)包括至少兩個虛擬服務器和至少兩個存儲服務器,上述至少兩個虛擬服務器中的任意一個虛擬服務器均管理上述至少兩個存儲服務器中的一個或多個存儲服務器,上述一個或多個存儲服務器中的每一個存儲服務器均劃分為至少一個分塊,上述至少一個分塊中的每個分塊由多個虛擬服務器管理,每個分塊具有多個哈希值,每個分塊的一個哈希值對應一個虛擬服務器,該方法包括:云平臺計算內容分發(fā)系統(tǒng)的每個分塊的哈希值和每個虛擬服務器的哈希值;根據一致性哈希算法或隨機選取的方式,確定每個分塊對應的多個虛擬服務器;建立分布式數據庫,在該分布式數據庫中存儲分塊的哈希值與虛擬服務器的哈希值的對應關系。本發(fā)明實施例提供了一種虛擬服務器管理方法,該方法中通過建立分布式數據庫,預先確定了分塊的哈希值和虛擬服務器的對應關系,每個分塊由多個虛擬服務器管理的情況下,實現內容分發(fā)的分布式處理。結合第三方面,在第三方面的第一種可能的實現方式中,該方法還包括:云平臺根據內容分發(fā)系統(tǒng)的負荷,確定需要新增虛擬服務器;云平臺計算新增虛擬服務器的哈希值;獲取所有分塊的所有哈希值;基于一致性哈希算法,為新增虛擬服務器分配對應的分塊的一個哈希值;刪除分配的分塊中的屬于該分塊的一個哈希值原對應虛擬服務器的緩存隊列的內容;將所選分塊的一個哈希值分配給新增虛擬服務器,并更新分布式數據庫中分塊的哈希值與虛擬服務器的對應關系;或云平臺根據內容分發(fā)系統(tǒng)的負荷,確定需要減少虛擬服務器;云平臺確定待減少的虛擬服務器對應的分塊的哈希值;通知存儲服務器刪除待減少的虛擬服務器對應的分塊中的屬于該虛擬服務器的緩存隊列的內容;將待減少的虛擬服務器對應的分塊的哈希值分配給其他的虛擬服務器,更新分塊的哈希值與虛擬服務器的對應關系;刪除該待減少的虛擬服務器。上述實現方式中,給出了每個分塊由多個虛擬服務器管理時,虛擬服務器伸縮的處理流程,無論增加或者減少虛擬服務器都要更新分布式數據庫中分塊的哈希值與虛擬服務器的對應關系,從而在虛擬服務器伸縮后仍然可以實現內容分發(fā)的分布式處理。其中,當增加虛擬服務器時,更新分布式數據庫僅需要在數據庫中增加新增虛擬服務器與其管理的分塊的哈希值之間的對應關系,而無需刪除為新增虛擬服務器分配的分塊與原管理該分塊的虛擬服務器的哈希值之間的對應關系;當減少虛擬服務器時,更新分布式數據庫僅 需要在數據庫中刪除減少的虛擬服務器與該虛擬服務器原來管理的分塊的哈希值之間的對應關系,無需為該虛擬服務器原來管理的分塊重新分配虛擬服務器,也無需增加該虛擬服務器原來管理的分塊與為該虛擬服務器原來管理的分塊重新分配的虛擬服務器的哈希值之間的對應關系。第四方面,提供了一種內容分發(fā)系統(tǒng),該內容分發(fā)系統(tǒng)包括至少兩個虛擬服務器和至少兩個存儲服務器,上述至少兩個虛擬服務器中的任意一個虛擬服務器均管理上述至少兩個存儲服務器中的一個或多個存儲服務器,上述任意一個虛擬服務器作為第一虛擬服務器用于執(zhí)行上述內容分發(fā)方法。本發(fā)明實施例提供了一種內容分發(fā)系統(tǒng),由于將服務器集群的計算能力和存儲能力分開來,將計算能力利用云計算的虛擬化技術實現,而存儲能力采用獨立的存儲服務器實現,從而使存儲服務器可以直接將內容發(fā)送給內容請求方,而無需通過虛擬服務器,因此有效提高了內容I/O吞吐性能。第五方面,提供了一種云平臺,應用于內容分發(fā)系統(tǒng),內容分發(fā)系統(tǒng)包括至少兩個虛擬服務器和至少兩個存儲服務器,上述至少兩個虛擬服務器中的任意一個虛擬服務器均管理上述至少兩個存儲服務器中的一個或多個存儲服務器,上述一個或多個存儲服務器中的每一個存儲服務器均劃分為至少一個分塊,上述至少一個分塊中的每個分塊由一個虛擬服務器管理,該云平臺用于執(zhí)行上述第二方面或第二方面的各種可能的實現方式提供的虛擬服務器管理方法。本發(fā)明實施例提供了一種云平臺,該云平臺通過建立分布式數據庫,預先確定了分塊和虛擬服務器的對應關系,每個分塊由一個虛擬服務器管理,可以使虛擬服務器拉通存儲自己管理的分塊,提高磁盤利用率。第六方面,提供了一種云平臺,應用于內容分發(fā)系統(tǒng),內容分發(fā)系統(tǒng)包括至少兩個虛擬服務器和至少兩個存儲服務器,上述至少兩個虛擬服務器中的任意一個虛擬服務器均管理上述至少兩個存儲服務器中的一個或多個存儲服務器,上述一個或多個存儲服務器中的每一個存儲服務器均劃分為至少一 個分塊,上述至少一個分塊中的每個分塊由多個虛擬服務器管理,每個分塊具有多個哈希值,每個分塊的一個哈希值對應一個虛擬服務器,該云平臺用于執(zhí)行上述第三方面或第三方面的各種可能的實現方式提供的虛擬服務器管理方法。本發(fā)明實施例提供了一種云平臺,該云平臺通過建立分布式數據庫,預先確定了分塊的哈希值和虛擬服務器的對應關系,每個分塊由多個虛擬服務器管理的情況下,實現內容分發(fā)的分布式處理。另一方面,本發(fā)明實施例提供了一種云平臺,該云平臺具有實現上述方法實際中云平臺行為的功能。所述功能可以通過硬件實現,也可以通過硬件執(zhí)行相應的軟件實現。所述硬件或軟件包括一個或多個與上述功能相對應的模塊。在一個可能的設計中,云平臺的結構中包括處理器和發(fā)射器,所述處理器被配置為支持云平臺執(zhí)行上述方法中相應的功能。所述發(fā)射器用于支持云平臺與存儲服務器之間的通信,向存儲服務器發(fā)送上述方法中所涉及的信息或者指令。所述云平臺還可以包括存儲器,所述存儲器用于與處理器耦合,其保存云平臺必要的程序指令和數據。又一方面,本發(fā)明實施例提供了一種存儲服務器,該存儲服務器具有實現上述方法設計中存儲服務器行為的功能。所述功能可以通過硬件實現,也可以通過硬件執(zhí)行相應的軟件實現。所述硬件或軟件包括一個或多個與上述功能相對應的模塊。所述模塊可以是軟件和/或硬件。在一個可能的設計中,存儲服務器的結構中包括接收器和處理器,所述接收器被配置為支持存儲服務器接收上述云平臺重定向的請求消息等各種指令。所述處理器控制存儲服務器根據所述接收器接收的請求消息將存儲服務器的分塊中緩存的內容發(fā)送給內容請求方,或者,先回源獲取請求消息中攜帶的URL對應的內容,然后將獲取的內容發(fā)送給內容請求方。再一方面,本發(fā)明實施例提供了一種計算機存儲介質,用于儲存為上述 云平臺所用的計算機軟件指令,其包含用于執(zhí)行上述方面所設計的程序。再一方面,本發(fā)明實施例提供了一種計算機存儲介質,用于儲存為上述存儲服務器所用的計算機軟件指令,其包含用于執(zhí)行上述方面所設計的程序。相較于現有技術,本發(fā)明提供的方案可以使基于云計算的內容分發(fā)網絡的內容I/O的性能得到大幅提升。附圖說明圖1為本發(fā)明實施例提供的CDN系統(tǒng)架構示意圖;圖2為本發(fā)明實施例提供的內容分發(fā)方法所基于的網絡架構示意圖;圖3為本發(fā)明實施例提供的一種內容分發(fā)方法信號流圖;圖4為本發(fā)明實施例提供的一種虛擬服務器的管理方法流程圖;圖5為本發(fā)明實施例提供的另一種虛擬服務器的管理方法流程圖;圖6為哈希值生成方法示意圖;圖7為URL對應的邊緣服務器的確定方法示意圖;圖8為本發(fā)明提出的邊緣節(jié)點的服務器集群的架構示意圖;圖9為存儲服務器的分塊示意圖;圖10為存儲分塊和虛擬服務器的一種對應關系示意圖;圖11為本發(fā)明實施例提供的一種內容分發(fā)方法流程圖;圖12為本發(fā)明實施例提供的另一種內容分發(fā)方法流程圖;圖13為本發(fā)明實施例提供的另一種內容分發(fā)方法流程圖;圖14為本發(fā)明實施例提供的另一種內容分發(fā)方法流程圖;圖15為存儲分塊和虛擬服務器的另一種對應關系示意圖;圖16為本發(fā)明實施例提供的另一種內容分發(fā)方法流程圖;圖17為本發(fā)明實施例提供的虛擬服務器的管理方法流程圖。具體實施方式為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚地描述。圖1為本發(fā)明實施例提供的CDN系統(tǒng)架構示意圖,參照圖1,該CDN系統(tǒng)包括中心節(jié)點101、中間節(jié)點102和邊緣節(jié)點103,其中,每個層級中的節(jié)點數目均可以為一個或多個,圖中示出一個中心節(jié)點,僅為示意,并不作為對本發(fā)明實施例中中心節(jié)點數目的限定,通常地,中心節(jié)點101緩存該CDN系統(tǒng)中的全部內容,中間節(jié)點102緩存中心節(jié)點101的部分內容,邊緣節(jié)點103緩存中間節(jié)點102的部分內容。針對某一內容的訪問請求通常先會被重定向到邊緣節(jié)點103,如果邊緣節(jié)點103緩存了該訪問請求所要訪問的內容,則邊緣節(jié)點103會直接將該內容發(fā)送給內容請求方,如果邊緣節(jié)點103未緩存該訪問請求所要訪問的內容,則邊緣節(jié)點103先要從其上一級節(jié)點獲取該內容,然后將獲取的內容發(fā)送給內容請求方。其中,重定向是指是通過各種方法將各種網絡請求重新定個方向轉到其它位置(如:網頁重定向、域名的重定向、路由選擇的變化也是對數據報文經由路徑的一種重定向)。本發(fā)明實施例中,將中間節(jié)點102稱為邊緣節(jié)點103的上一級節(jié)點,將中心節(jié)點101稱為中間節(jié)點102的上一級節(jié)點,如果中間節(jié)點102也未緩存該訪問請求所要訪問的內容,則中間節(jié)點102先要從其上一級節(jié)點獲取該內容,然后將獲取的內容發(fā)送給邊緣節(jié)點103。為了克服現有技術中基于云計算的CDN系統(tǒng)I/O性能較低的問題,本發(fā)明實施例中,對每個CDN節(jié)點的組成進行了改進,這里的CDN節(jié)點可以是中心節(jié)點、中間節(jié)點,也可以是邊緣節(jié)點,由于用戶的訪問請求通常先被重定向到邊緣節(jié)點,因此本發(fā)明實施例中僅以CDN系統(tǒng)中的邊緣節(jié)點為例進行說明,其他的CDN節(jié)點構成和內容分發(fā)方法與此類似,為節(jié)約篇幅,在此不進行贅述。本發(fā)明實施例中,利用云計算技術創(chuàng)建的虛擬服務器和獨立的存儲服務器(storageserver)來實現CDN系統(tǒng)中的邊緣節(jié)點。將服務器的計算能力 和存儲能力分開來,將計算能力利用云計算的虛擬化技術實現,而存儲能力采用獨立的存儲服務器實現。每一臺虛擬服務器可以訪問一臺或多臺存儲服務器。由于存儲服務器為物理服務器,內容I/O無需通過虛擬服務器,因此極大地提高了CDN系統(tǒng)的I/O性能。圖2為本發(fā)明實施例提供的內容分發(fā)方法所基于的網絡架構示意圖,參照圖2,本發(fā)明涉及的網元包括:用戶設備(UserEquipment,UE)201、負載均衡與路由服務器(LoadBalancing&RouteServer)202、云平臺(CloudPlatform)203和存儲服務器204。其中,可以根據需要在云平臺203上創(chuàng)建多個虛擬機(VirtualMachine,VM)2031,每個VM2031作為一個虛擬服務器,虛擬服務器2031和存儲服務器204共同構成CDN系統(tǒng)的集群服務器節(jié)點。圖2中的集群服務器節(jié)點是作為CDN系統(tǒng)的邊緣節(jié)點來使用,本領域技術人員可以了解同樣的集群服務器節(jié)點也可以作為中心節(jié)點或中間節(jié)點來使用,本發(fā)明實施例中僅以CDN系統(tǒng)中的邊緣節(jié)點為例進行說明。本發(fā)明實施例提供了一種云平臺,該云平臺具有實現本發(fā)明實施例提供的內容分發(fā)方法和虛擬服務器管理方法實際中云平臺行為的功能。所述功能可以通過硬件實現,也可以通過硬件執(zhí)行相應的軟件實現。所述硬件或軟件包括一個或多個與上述功能相對應的模塊。在一個可能的設計中,云平臺的結構中包括處理器和發(fā)射器,所述處理器被配置為支持云平臺執(zhí)行上述方法中相應的功能。所述發(fā)射器用于支持云平臺與存儲服務器之間的通信,向存儲服務器發(fā)送上述方法中所涉及的信息或者指令。所述云平臺還可以包括存儲器,所述存儲器用于與處理器耦合,其保存云平臺必要的程序指令和數據。所述云平臺還可以包括接收器,所述接收器用于接收UE發(fā)送的請求消息。本發(fā)明實施例提供了一種存儲服務器,該存儲服務器具有實現上述方法設計中存儲服務器行為的功能。所述功能可以通過硬件實現,也可以通過硬件執(zhí)行相應的軟件實現。所述硬件或軟件包括一個或多個與上述功能相對應 的模塊。所述模塊可以是軟件和/或硬件。在一個可能的設計中,存儲服務器的結構中包括接收器和處理器,所述接收器被配置為支持存儲服務器接收上述云平臺重定向的請求消息等各種指令。所述處理器控制存儲服務器根據所述接收器接收的請求消息將存儲服務器的分塊中緩存的內容發(fā)送給內容請求方,或者,先回源獲取請求消息中攜帶的URL對應的內容,然后將獲取的內容發(fā)送給內容請求方。所述存儲服務器還可以包括發(fā)射器,所述發(fā)射器用于將內容發(fā)送給內容請求方?;趫D2所示的網絡架構,本發(fā)明實施例提供的內容分發(fā)方法主要包括如下處理流程:1、用戶根據文件的URL,通過UE201向負載均衡與路由服務器202請求某文件內容;2、負載均衡與路由服務器202根據路由調度算法將用戶重定向(Redirect)至云計算平臺下的某臺虛擬服務器A,其中,具體的路由調度算法可以基于不同的選擇策略,比如基于虛擬服務器的負載狀況、基于虛擬服務器的響應時間等等;本發(fā)明實施例中,云計算平臺可以簡稱為云平臺。3、UE201向虛擬服務器A請求URL對應的文件內容;4、虛擬服務器A判斷應該處理該URL的虛擬服務器B;如果虛擬服務器A和虛擬服務器B不是同一虛擬服務器,則將用戶請求重定向至虛擬服務器B,然后再由虛擬服務器B對該用戶請求進行處理;如果虛擬服務器A和虛擬服務器B是同一虛擬服務器,則無需進行重定向,直接由虛擬服務器B對該用戶請求進行處理;虛擬服務器B判斷該URL是否在所保持的緩存隊列中;如果該URL在虛擬服務器B的緩存隊列中,則將用戶請求重定向至緩存隊列所記錄的該URL對應的存儲服務器C,并通知存儲服務器C將該URL對應的文件內容分發(fā)給UE201;如果該URL不在虛擬服務器B的緩存隊列中,則根據一致性哈希算法確定該URL對應的存儲服務器D,將用戶請求重定向至該URL對應的存儲服務 器D,并通知存儲服務器D回源獲取該URL對應的文件內容,并分發(fā)給UE201;其中,存儲服務器C和存儲服務器D可能為同一存儲服務器,也可能為不同的存儲服務器。5、存儲服務器C或存儲服務器D將該URL所對應的文件內容分發(fā)給UE201。本發(fā)明實施例提供了一種內容分發(fā)方法,由虛擬服務器接收UE發(fā)送的請求消息,根據請求消息中攜帶的用戶請求的文件內容的URL,對該URL進行處理,將請求消息重定向至該URL對應的存儲服務器,由存儲服務器將緩存的該URL對應的內容發(fā)送給UE。由于將服務器集群的計算能力和存儲能力分開來,將計算能力利用云計算的虛擬化技術實現,而存儲能力采用獨立的存儲服務器實現,從而使存儲服務器可以直接將內容發(fā)送給UE,而無需通過虛擬服務器,因此有效提高了內容I/O吞吐性能。圖3為本發(fā)明實施例提供的內容分發(fā)方法信號流圖,該方法涉及的主體主要包括CDN節(jié)點中的虛擬服務器和存儲服務器,該方法包括:步驟301,虛擬服務器A接收UE發(fā)送的請求消息,請求消息中攜帶用戶請求內容的URL。本發(fā)明實施例中,負載均衡與路由服務器在接收到UE發(fā)送的請求消息后,根據預設的策略,將請求消息重定向至虛擬服務器A。步驟302,虛擬服務器A根據URL,確定處理該URL的虛擬服務器B。CDN節(jié)點包括多個虛擬服務器,每個虛擬服務器負責處理部分URL,接收到請求消息的虛擬服務器A不一定是負責處理該URL的虛擬服務器,因此虛擬服務器A在接收到請求消息后,還要根據請求消息中攜帶的URL,確定處理該URL的虛擬服務器B。本發(fā)明實施例中,在建立CDN系統(tǒng)時,云平臺會建立一個分布式數據庫,在該分布式數據庫中保存著分塊與虛擬服務器的對應關系,也就是說該對應關系中的分塊由對應的虛擬服務器進行管理,可以根據隨機選取的方式,來 為每個分塊選取對應的虛擬服務器,也可以根據一致性哈希算法,來為每個分塊確定對應的虛擬服務器,將確定好的對應關系存儲于分布式數據庫中,以便后續(xù)進行查找,其中,以分塊的哈希值來標識一個分塊,以虛擬服務器的哈希值來標識一個虛擬服務器。為了確定處理URL的虛擬服務器,可以先計算URL的哈希值,然后從分布式數據庫中查找CDN節(jié)點中所有分塊的哈希值,根據一致性哈希算法確定URL對應的分塊的哈希值,再根據分塊的哈希值從分布式數據庫中查找該分塊的哈希值對應的虛擬服務器的哈希值,從而確定處理URL的虛擬服務器。其中,上述所有分塊的哈希值既包括所有分塊中每個分塊的哈希值,也包括每個分塊的每個哈希值。本發(fā)明實施例中,存儲服務器和虛擬服務器的數量可以不同,也就是說,存儲服務器和虛擬服務器不必一一對應,為了實現虛擬服務器和存儲服務器的一對多對應,可以將存儲服務器劃分為至少一個分塊,虛擬服務器對分塊的管理方式可以采取下面兩種管理方式:第一種管理方式,將存儲服務器分為至少一個分塊,每個分塊由一個虛擬服務器管理;此時,分布式數據庫中存儲的分塊與虛擬服務器的對應關系可以如表一所示:表一虛擬服務器ABCD分塊00102030由表一可見,當確定URL對應的分塊的哈希值為10時,通過查詢分布式數據庫,可以知道處理該URL的虛擬服務器為虛擬服務器B。第二種管理方式,將存儲服務器分為至少一個分塊,每個分塊由多個虛擬服務器管理,其中,本發(fā)明實施例中提到的多個均指至少兩個。此時,分布式數據庫中存儲的分塊與虛擬服務器的對應關系可以如表二所示:表二虛擬服務器ABCD分塊0000012030由表二可見,當確定URL對應的分塊的哈希值為000時,通過查詢分布式數據庫,可以知道處理該URL的虛擬服務器為虛擬服務器A。本發(fā)明實施例中,為了實現分塊與虛擬服務器的一對多的對應關系,可以使每個分塊具有多個哈希值,每個分塊的一個哈希值對應一個虛擬服務器,使一個分塊獲得多個哈希值的方式可以在分塊的標識后面添加序號,例如,表二中的分塊000和分塊001對應同一分塊00,也就是說,分塊00由兩個虛擬服務器管理,這兩個虛擬服務器分別為虛擬服務器A和虛擬服務器B。對應于第一種管理方式和第二種管理方式,可以采取相同的方法確定處理URL的虛擬服務器B,具體地:虛擬服務器A根據URL,計算URL的哈希值;向分布式數據庫查詢分塊的哈希值,根據一致性哈希算法,確定URL對應的分塊的哈希值;根據URL對應的分塊的哈希值,向分布式數據庫查詢該分塊的哈希值對應的虛擬服務器的哈希值;將查詢到的虛擬服務器確定為處理URL的虛擬服務器B。如果步驟302確定出的虛擬服務器B和虛擬服務器A不是同一虛擬服務器,則執(zhí)行步驟303;如果步驟302確定出的虛擬服務器B和虛擬服務器A是同一虛擬服務器,則執(zhí)行步驟304。步驟303,當虛擬服務器A與虛擬服務器B不一致時,虛擬服務器A將請求消息重定向至虛擬服務器B。步驟304,虛擬服務器B判斷自身管理的存儲服務器中是否緩存了URL對應的內容。若步驟304的判斷結果為虛擬服務器B判斷出自身管理的存儲服務器中緩存了URL對應的內容,則執(zhí)行步驟305;若步驟304的判斷結果為虛擬服務器B判斷出自身管理的存儲服務器中未緩存URL對應的內容,則執(zhí)行步驟307。步驟305,當虛擬服務器B判斷出自身管理的存儲服務器中緩存了URL 對應的內容時,將請求消息重定向至緩存隊列所記錄的URL對應的存儲服務器,并向URL對應的存儲服務器發(fā)送第一通知消息。步驟306,URL對應的存儲服務器根據請求消息和第一通知消息,將緩存的URL對應的內容發(fā)送給UE。其中,第一通知消息用于指示存儲服務器,該存儲服務器中緩存有URL對應的內容,可選地,步驟305中也可以不向URL對應的存儲服務器發(fā)送第一通知消息,相應地,步驟306中URL對應的存儲服務器根據請求消息判斷自身是否緩存了URL對應的內容,當判斷出自身緩存了URL對應的內容時,將緩存的URL對應的內容發(fā)送給UE。步驟307,當虛擬服務器B判斷出自身管理的存儲服務器中未緩存URL對應的內容時,將請求消息重定向至根據一致性哈希算法確定的URL對應的存儲服務器,并向URL對應的存儲服務器發(fā)送第二通知消息。步驟308,URL對應的存儲服務器根據請求消息和第二通知消息,回源獲取URL對應的內容,將獲取的URL對應的內容發(fā)送給UE。其中,第二通知消息用于指示存儲服務器,該存儲服務器中未緩存有URL對應的內容,可選地,步驟307中也可以不向URL對應的存儲服務器發(fā)送第二通知消息,相應地,步驟308中URL對應的存儲服務器根據請求消息判斷自身是否緩存了URL對應的內容,當判斷出自身未緩存URL對應的內容時,回源獲取URL對應的內容,將獲取的URL對應的內容發(fā)送給UE。上述回源獲取URL對應的內容,具體可以為:從中間節(jié)點獲取URL對應的內容或者從中心節(jié)點獲取URL對應的內容。由于虛擬服務器對分塊采用第一種管理方式和采用第二種管理方式時,內容分發(fā)方法的流程有所不同,下面針對兩種管理方式下的內容分發(fā)方法分別進行說明:內容分發(fā)方法還可以包括內容存儲的處理流程,針對第一種管理方式,在步驟307之后,該方法還可以包括:步驟3071,虛擬服務器B更新URL對應的熱度信息。步驟3072,根據熱度信息,判斷是否需要緩存URL對應的內容。步驟3073,當判斷出需要緩存URL對應的內容時,判斷URL對應的分塊的存儲容量是否已滿。這里URL對應的分塊,指的是根據一致性哈希算法確定的URL對應的分塊。若步驟3073的判斷結果為判斷出URL對應的分塊的存儲容量未滿,則執(zhí)行步驟3074;若步驟3073的判斷結果為判斷出URL對應的分塊的存儲容量已滿,則執(zhí)行步驟3075。步驟3074,當判斷出URL對應的分塊的存儲容量未滿時,通知存儲服務器緩存URL對應的內容到URL對應的分塊。本發(fā)明實施例中,以存儲服務器D代表URL對應的分塊所在的存儲服務器。步驟3075,當判斷出URL對應的分塊的存儲容量已滿時,在虛擬服務器B管理的多個分塊中,選擇一個存儲容量未滿的分塊;通知存儲服務器緩存URL對應的內容到選擇的分塊,并將URL、緩存URL的分塊的標識和URL對應的熱度信息添加到緩存隊列的記錄中。本發(fā)明實施例中,以存儲服務器C代表虛擬服務器B選擇的一個存儲容量未滿的分塊所在的存儲服務器。其中,存儲服務器C和存儲服務器D可能是同一存儲服務器,也可能是不同的存儲服務器。內容分發(fā)方法還可以包括內容刪除的處理流程,存儲服務器可以定時或由事件觸發(fā)向管理分塊的虛擬服務器上報分塊的存儲容量,針對第一種管理方式,當虛擬服務器B確定管理的多個分塊的存儲容量均已滿時,從緩存隊列中查詢熱度低于第一閾值的記錄;根據查詢到的記錄,通知該記錄中的分塊對應的存儲服務器刪除該記錄中的URL對應的內容。本發(fā)明實施例還提供了一種虛擬服務器的管理方法,參照圖4所示的虛擬服務器的管理方法流程圖,本發(fā)明實施例中,邊緣節(jié)點包含的虛擬服務器的數量不是固定不變的,可以隨著CDN系統(tǒng)負荷的變化而增加或減少虛擬服務器,該方法可由云平臺來執(zhí)行,下面以第一種管理方式為例進行說明,該方法包括:步驟401,云平臺根據CDN系統(tǒng)的負荷,判斷是否需要增加虛擬服務器或者減少虛擬服務器。當判斷結果為需要增加虛擬服務器時,執(zhí)行步驟402;當判斷結果為需要減少虛擬服務器時,執(zhí)行步驟406。步驟402,當需要增加虛擬服務器時,確定需要分配給新增虛擬服務器的分塊數目。步驟403,從所有分塊中選擇上述分塊數目個分塊。其中,可以采用隨機選擇的方式來選擇新增虛擬服務器對應的分塊,也可以根據一致性哈希算法確定新增虛擬服務器對應的分塊。步驟404,刪除選擇的分塊中的內容。步驟405,將所選分塊分配給新增虛擬服務器,并更新分布式數據庫中保存的分塊與虛擬服務器的對應關系。步驟406,當需要減少虛擬服務器時,通知存儲服務器刪除待減少的虛擬服務器對應的分塊中的文件。步驟407,將待減少的虛擬服務器對應的分塊分配給其他的虛擬服務器,更新分布式數據庫中保存的分塊與虛擬服務器的對應關系。針對第二種管理方式,內容分發(fā)方法包括的內容存儲的處理流程,與第一種管理方式類似,在此不做贅述。針對第二種管理方式,內容分發(fā)方法還可以包括內容刪除的處理流程,由于采用第二種管理方式時,一個分塊由多個虛擬服務器管理,因此要根據多個虛擬服務器的協(xié)商結果來確定刪除一個分塊中的哪些內容,而不能由一 個虛擬服務器單獨來確定刪除一個分塊中的哪些內容,具體地,該方法包括:當URL對應的分塊的存儲容量已滿時,該分塊所屬的存儲服務器向管理該分塊的多個虛擬服務器上報該分塊已滿的通知信息,通知分塊對應的虛擬服務器需要淘汰熱度較低的第一百分比的內容;多個虛擬服務器中的每個虛擬服務器分別向該存儲服務器發(fā)送刪除通知,刪除通知中攜帶虛擬服務器管理的該分塊中熱度較低的第二百分比的內容的URL,以及該部分內容的熱度信息;存儲服務器根據每個刪除通知中攜帶的URL對應的內容的熱度信息,將熱度信息指示的熱度最低的刪除通知中攜帶的URL對應的內容刪除。其中,熱度信息具體可以為平均熱度、最大熱度或最小熱度,本發(fā)明實施例中,可以設定第二百分比小于第一百分比,從而可以通過虛擬服務器多次發(fā)送刪除通知,以便比較精確的刪除熱度較低的內容。本發(fā)明實施例還提供了一種虛擬服務器的管理方法,參照圖5所示的虛擬服務器的管理方法流程圖,本發(fā)明實施例中,針對第二種管理方式與第一種管理方式略有不同,該方法包括:步驟501,云平臺根據CDN系統(tǒng)的負荷,判斷是否需要增加虛擬服務器或者減少虛擬服務器。當判斷結果為需要增加虛擬服務器時,執(zhí)行步驟502;當判斷結果為需要減少虛擬服務器時,執(zhí)行步驟506。步驟502,當需要增加虛擬服務器時,計算新增虛擬服務器的哈希值。步驟503,基于一致性哈希算法,為新增虛擬服務器分配對應的分塊。步驟504,刪除分配的分塊中的屬于原對應虛擬服務器緩存隊列的內容。步驟505,更新分布式數據庫中保存的分塊與虛擬服務器的對應關系。與第一種管理方式不同的是,步驟505中,更新上述對應關系比較簡單,僅需增加一個分塊的哈希值與虛擬服務器的哈希值的對應關系,由于分塊可以由多個虛擬服務器管理,因此無需刪除該分塊與其他虛擬服務器的對應關系。步驟506,當需要減少虛擬服務器時,確定將減少的虛擬服務器對應的分塊。步驟507,通知存儲服務器刪除將減少的虛擬服務器對應的分塊中的屬于該虛擬服務器的緩存隊列的內容。步驟508,更新分布式數據庫中保存的分塊與虛擬服務器的對應關系。本發(fā)明實施例中涉及到URL的哈希值、分塊的哈希值和服務器的哈希值,下面以URL的哈希值為例進行說明,CDN系統(tǒng)中的內容標識是內容所對應的URL,通常為了節(jié)省存儲空間,CDN系統(tǒng)中不使用URL的原始字符串,而是使用URL的哈希(Hash)串來代表URL,上述哈希串也可稱為哈希值,圖6為哈希值生成方法示意圖,參照圖6,通過將原始URL分段,對每段利用任意Hash算法得到一個固定長度的二進制串,再合并而成。圖6中對于某URL所得到的Hash串是長度為64的二進制串。本發(fā)明實施例中,采用對URL分布式處理的方式,由于內容分發(fā)網絡中所處理的URL數目數以億級,所以當服務器集群,如邊緣節(jié)點的服務器集群處理URL的時候,一般采用分布式的處理方法。具體來說,就是將整個URL的集合根據邊緣節(jié)點的服務器集群中服務器的數量,分為獨立的URL子集合,每個邊緣服務器只處理自己對應的URL子集合。一個URL只會在唯一一臺邊緣服務器上進行處理。這里的處理是指邊緣服務器對URL對應的內容進行熱度計算,判斷是否緩存,緩存對應的文件內容,回源獲取URL對應的文件內容等操作。判斷一個URL對應的邊緣服務器可以基于一致性哈希的技術,具體地,可以先根據一致性哈希算法,確定URL對應的分塊,然后在分布式數據庫中查找該分塊對應的虛擬服務器,從而確定URL對應的虛擬服務器;或者,如果分布式數據庫中存儲的分塊的哈希值與虛擬服務器的哈希值的對應關系滿足一致性哈希算法,則可以直接根據一致性哈希算法,確定URL對應的虛擬服務器。下面以上述第二種情況為例,對一致性哈希算法進行簡要說明,圖7 為URL對應的邊緣服務器的確定方法示意圖,參照圖7,具體的判斷方法是,基于某個哈希算法,如murmur算法,對URL和服務器的標識(ID)做哈希,得到URL的哈希串和服務器的哈希串,這個哈希串通常為二進制串。圖7所示的哈希串的長度是32位,所有可能的長度為32的哈希串組成了一個環(huán),環(huán)上面的每個點對應某個哈希串,總共有2^32個Hash串。那么URL的哈希串和服務器的哈希串都會對應在環(huán)上某個點。從URL的哈希串對應的點出發(fā),順時針所遇到的第一個服務器的哈希串對應的點,那么這個服務器就是處理此URL的服務器。通常情況下,由于服務器的數量遠遠小于URL的數目,為了負載均衡,對于一臺服務器,會生成多個哈希串,也就是說,一個服務器對應于環(huán)上多個點。生成多個哈希串的方法可以在服務器的ID后添加序號來解決。本發(fā)明實施例提出了一種邊緣節(jié)點的服務器集群的架構,結合云計算技術和獨立的存儲服務器來實現內容分發(fā)網絡中的邊緣節(jié)點的服務器集群,其中,存儲服務器采用獨立的物理服務器來實現。圖8為本發(fā)明提出的邊緣節(jié)點的服務器集群的架構示意圖,參照圖8,該架構的特點是將服務器集群的計算能力和存儲能力分開來,將計算能力利用云計算的虛擬化技術實現,而存儲能力采用獨立的存儲服務器實現。每一臺虛擬服務器可以訪問一臺或多臺存儲服務器。本發(fā)明實施例中,虛擬服務器與存儲服務器的對應關系比較靈活,虛擬服務器與存儲服務器可以是一對多的對應關系,存儲服務器與虛擬服務器也可以是一對多的對應關系,而不必完全是一一對應的對應關系。如果虛擬服務器和存儲服務器一一對應,則虛擬服務器的數量與存儲服務器的數量必須相等,導致當需要彈性伸縮虛擬服務器的時候,就必須同時增加或減少存儲服務器的數量,影響虛擬服務器的動態(tài)彈性伸縮。所以,本發(fā)明實施例中,對于一個虛擬服務器對應的存儲服務器的數目不做限定,對于一個存儲服務器對應的虛擬服務器的數目也不做限定,即一臺存儲服務器可以對應多臺虛擬服務器,一臺虛擬服務器可以對應多臺存儲服務器。參照圖8,本發(fā)明實施例中,虛擬服務器與存儲服務器的對應關系不必一一對應,具有以下好處:虛擬服務器的數量與存儲服務器的數量可以不等;方便實現容量不等的異構的存儲服務器混合組網;增加虛擬服務器時可以平均從多臺虛擬服務器獲得其對應存儲空間;減少虛擬服務器時可以將對應的存儲空間平均分配給多臺虛擬服務器管理;避免單臺虛擬服務器過熱導致某存儲服務器負載過重的情況。要實現存儲服務器與虛擬服務器的一對多對應,可以對存儲服務器的存儲能力進行分塊。分塊的原則可以是根據不同存儲服務器的存儲能力,采用相似的分塊大小進行分塊。圖9為存儲服務器的分塊示意圖,參照圖9,每個存儲服務器被劃分為3個分塊,例如,其中一個存儲服務器劃分的3個分塊分別用Partition1.1、Partition1.2和Partition1.3標識,分塊的數目為至少一個,圖中僅以分塊數目為3作為示例,并不用于對本發(fā)明的限定。本發(fā)明實施例中,當采用第一種管理方式時,每一個存儲分塊只能由一個虛擬服務器進行訪問和管理,其優(yōu)點是虛擬服務器可以拉通存儲自己管理的分塊,提高磁盤利用率,缺點是當伸縮虛擬服務器時,維護存儲服務器的存儲與虛擬服務器的對應關系稍復雜。對于每一存儲分塊,可以隨機選擇一個虛擬服務器作為其分配的虛擬服務器,或者,根據一致性哈希算法確定為其分配的虛擬服務器,存儲分塊與虛擬服務器的對應關系存儲于內容分發(fā)網絡的分布式數據庫中。圖10為存儲分塊和虛擬服務器的對應關系示意圖,參照圖10,一個分塊只能由一個虛擬服務器管理,但是一個虛擬服務器可以管理多個存儲服務器的多個分塊,從而實現虛擬服務器和存儲服務器之間一對多的對應關系。下面通過幾個具體的實施例,對本發(fā)明實施例提供的內容分發(fā)方法進行詳細說明。圖11為本發(fā)明實施例提供的內容分發(fā)方法流程圖,該實施例闡述了在邊緣節(jié)點的服務器集群中,對存儲服務器的存儲空間進行分塊,每一個分塊由 一臺虛擬服務器管理下,實現文件分發(fā)流程,該方法包括:步驟1101,用戶向路由服務器請求文件。其中,用戶可以通過UE向路由服務器發(fā)送請求消息,該請求消息中攜帶用戶想要獲取的文件內容的URL。步驟1102,路由服務器向負載均衡服務器請求可接受用戶請求的虛擬服務器。本發(fā)明實施例中,路由服務器和負載均衡服務器可以集成在一個設備中,統(tǒng)稱為負載均衡與路由服務器,或者,也可以單獨設立路由服務器和負載均衡服務器。步驟1103,路由服務器重定向用戶請求到負載均衡服務器返回的虛擬服務器A。步驟1104,虛擬服務器A計算URL所對應的Hash串。步驟1105,虛擬服務器A向分布式數據庫查詢分塊的Hash串。步驟1106,虛擬服務器A根據URL的Hash串和分塊的Hash串,根據一致性Hash判斷URL對應的分塊。步驟1104至1106中的關鍵技術方案:虛擬服務器根據URL判斷應該處理此URL的分塊,從而可以確定處理此URL的存儲服務器。虛擬服務器可以先根據URL,判斷應該處理此URL的存儲分塊和存儲服務器,然后再判斷URL對應的虛擬服務器。根據URL判斷URL對應的分塊,是根據一致性Hash算法,具體的判斷方法是,基于某個Hash算法,如murmur算法,對URL和存儲分塊的ID做Hash,得到URL和服務器的Hash串。所有可能的Hash串組成了一個環(huán),環(huán)上面的每個點對應某個Hash串。那么URL的Hash串,和存儲分塊的Hash串都會對應在環(huán)上某個點。從URL的Hash串對應的點出發(fā),順時針所遇到的第一個存儲分塊Hash串對應的點,那么這個存儲分塊就是緩存時用來存儲此URL內容的存儲分塊,存儲分塊所在的存儲服務器就是處理此URL的存儲服務器。通常情況下,由于存儲分塊的數量遠遠小于URL的數目,為了負載均衡,對于一個存儲分塊,會生成多個Hash串,對應于環(huán)上多個點。生成多個Hash串的方法可以在存儲分塊的ID后添加序號來解決。步驟1107,虛擬服務器A根據分塊的Hash串向分布式數據庫查詢分塊所對應的虛擬服務器B。步驟1107中的關鍵技術方案:虛擬服務器根據URL判斷應該處理此URL的虛擬服務器。存儲分塊與虛擬服務器的對應關系存儲于內容分發(fā)網絡的分布式數據庫中,建立分布式數據庫時,對于每一存儲分塊,可以隨機選擇(如uniformsampling)一個虛擬服務器作為其分配的虛擬服務器。得到URL對應的存儲分塊和存儲服務器后,可以根據分布式數據庫中存儲的存儲分塊Hash值和虛擬機Hash值的對應關系來得到URL對應的虛擬服務器。步驟1108,如果虛擬服務器A和虛擬服務器B是同一虛擬服務器,則轉向步驟1110,否則轉向步驟1109。步驟1109,重定向用戶請求到虛擬服務器B。步驟1110,虛擬服務器B根據用戶請求的URL判斷用戶請求的文件是否已經存在于緩存隊列中。步驟1111,如果用戶請求的文件在緩存隊列中,則重定向用戶請求到緩存隊列中記錄的該URL對應的存儲服務器,并通知存儲服務器進行文件分發(fā)。步驟1112,如果用戶請求的文件不在緩存隊列中,則重定向用戶請求到根據一致性哈希確定的該URL對應的存儲服務器,并通知存儲服務器回源獲取用戶請求的文件內容。步驟1113,存儲服務器返回用戶請求的內容。圖12為本發(fā)明實施例提供的內容分發(fā)方法流程圖,該實施例闡述了在邊緣節(jié)點的服務器集群中,對存儲服務器的存儲空間進行分塊,每一個分塊由一臺虛擬服務器管理下,虛擬服務器如何管理存儲服務器存儲文件和刪除文 件,該方法包括:步驟1201,虛擬服務器收到用戶請求某URL的文件內容。步驟1202,虛擬服務器更新用戶請求的URL對應的文件的熱度信息。步驟1203,虛擬服務器根據熱度信息判斷是否需要緩存URL對應的文件內容,如果是,則轉向步驟1204,否則結束。步驟1204,虛擬服務器判斷URL對應的分塊的存儲容量是否已滿,如是則轉向步驟1205,否則轉向步驟1206。本發(fā)明實施例中,可以由存儲服務器通知虛擬服務器分塊的容量占用情況。步驟1205,虛擬服務器在所管理的分塊中選擇其他任一容量未滿之分塊,用于存儲URL對應的文件內容。步驟1206,虛擬服務器在緩存隊列中URL所對應的記錄中添加所存儲的分塊ID。步驟1207,虛擬服務器緩存用戶請求的URL對應的文件內容,通知分塊對應的存儲服務器存儲文件內容。步驟1204至1207對應的關鍵技術方案:如何將緩存隊列的文件內容存儲在存儲服務器上。本發(fā)明實施例中,一個分塊只能由一臺虛擬服務器管理,但一臺虛擬服務器可以管理多個分塊。如果虛擬服務器為一個管理的分塊創(chuàng)建一個緩存隊列,各個緩存隊列之間獨立管理,各個緩存隊列利用現有CDN緩存管理技術獨立管理,會導致硬盤利用率低,各分塊熱度不均勻,命中率低。為了避免這些缺點,本發(fā)明實施例中采用統(tǒng)一管理的策略,虛擬服務器對所管理的多個分塊只創(chuàng)建唯一的緩存隊列。緩存隊列中的文件存儲在文件的URL對應的分塊中。如果某文件的URL對應的分塊的存儲容量已滿,而虛擬服務器所管理的其他分塊的容量未滿的時候,則將文件存儲在其他任一容量未滿的分塊中,同時在緩存隊列中文件對應的記錄中標記所存儲的分塊。 這樣當某用戶請求該文件內容時,用戶請求被重定向到緩存記錄中所標記的分塊對應的存儲服務器。其中,分塊的存儲容量滿是指分塊所存儲的文件的總量已經大于存儲容量的C%,即達到吃水線,通常C值為80至85,本發(fā)明不對C的取值進行限定。步驟1208,虛擬服務器判斷自身所管理的所有分塊的容量是否均已滿,如是則轉向步驟1209,否則結束。其中,由存儲服務器通知虛擬服務器分塊的容量占用情況。步驟1209,虛擬服務器從緩存隊列中查詢熱度最低的一部分內容。例如,查詢熱度最低的5%內容。步驟1210,虛擬服務器通知分塊對應的存儲服務器刪除所查詢到的對應于此分塊的熱度最低的內容。步驟1208至1210對應的關鍵技術方案:當虛擬服務器所管理的所有分塊均存儲滿時,如何刪除對應存儲服務器中的文件內容。其中,存儲服務器會監(jiān)控本機所有分塊的容量占用情況,并定時或由事件促發(fā)通知分塊對應的虛擬服務器容量占用情況,例如,分塊容量已滿時,通知分塊對應的虛擬服務器該分塊容量已滿。當虛擬服務器管理的所有分塊的存儲容量都已滿時,虛擬服務器會從緩存隊列中查詢熱度最低的一部分內容,如熱度最低的5%內容,并通知存儲服務器刪除這部分內容。本發(fā)明實施例對于虛擬服務器如何計算用戶請求對應的URL的熱度信息,以及具體的緩存隊列算法不做限定,例如常見的近期最少使用(LeastRecentUsage,LRU)算法,最不經常使用(LeastFrequentUsage,LFU)算法等算法都可以使用。圖13為本發(fā)明實施例提供的內容分發(fā)方法流程圖,該實施例闡述了在邊緣節(jié)點的服務器集群中,對存儲服務器的存儲空間進行分塊,每一個分塊由一臺虛擬服務器管理下,當虛擬服務器伸縮的時候如何維護存儲服務器的存 儲與虛擬服務器的對應關系,該方法包括:步驟1301,云平臺根據負載情況判斷是否需要增加虛擬服務器或減少虛擬服務器。當判斷出需要增加虛擬服務器時,執(zhí)行步驟1302;當判斷出需要減少虛擬服務器時,執(zhí)行步驟1306。步驟1302,當需要增加虛擬服務器時,云平臺計算需要重新分配給新增虛擬服務器的分塊數目a。例如,可以采用虛擬服務器的管理分塊數的平均值作為a。步驟1303,云平臺從所有分塊中隨機選擇a個分塊。例如,可采用uniformsample的采樣方法。步驟1304,云平臺刪除所選擇的a個分塊中的文件。步驟1305,云平臺創(chuàng)建一個虛擬服務器,并將所選分塊分配給新增虛擬服務器,更新分布式數據庫中保存的分塊與虛擬服務器的對應關系。其中,更新分布式數據庫中保存的分塊與虛擬服務器的對應關系,具體為:刪除分布式數據庫中原有的所選分塊與虛擬服務器的對應關系,增加所選分塊與新增虛擬服務器的對應關系。步驟1306,當需要減少虛擬服務器時,云平臺通知存儲服務器刪除將減少的虛擬服務器對應分塊中的文件。步驟1307,云平臺刪除上述將減少的虛擬服務器,并將該虛擬服務器對應的分塊隨機分配給其他的虛擬服務器,更新分布式數據庫中保存的分塊與虛擬服務器的對應關系。其中,更新分布式數據庫中保存的分塊與虛擬服務器的對應關系,具體為:刪除分布式數據庫中分塊與減少的虛擬服務器的對應關系,建立分塊與其他虛擬服務器的對應關系。本發(fā)明實施例中,還可以采用將存儲服務器劃分為一個或多個分塊,每一個存儲分塊可以由多臺虛擬服務器進行訪問和管理的方式,其優(yōu)點當伸縮虛擬服務器時,維護存儲服務器的存儲與虛擬服務器的對應關系簡單,缺點 是虛擬服務器無法拉通存儲自己管理的分塊,磁盤利用率相對較低。對于每一存儲分塊,隨機選擇多個虛擬服務器作為其分配的虛擬服務器,存儲分塊與虛擬服務器的對應關系存儲于內容分發(fā)網絡的分布式數據庫中,本發(fā)明對于選擇的虛擬服務器的數量不做限定。本發(fā)明實施例中,每個存儲服務器的分塊數可以為1,即可以不對存儲服務器的存儲空間進行劃分,即分塊并不是必須的,下面的實施例中就以分塊數量為1為例進行闡述。圖14為本發(fā)明實施例提供的內容分發(fā)方法流程圖,該實施例闡述了在邊緣節(jié)點的服務器集群中,對存儲服務器的存儲空間進行分塊,每一個分塊可以由多個虛擬服務器同時管理,實現文件分發(fā)流程,該方法包括:步驟1401,用戶向路由服務器請求某文件。步驟1402,路由服務器向負載均衡服務器請求可接受用戶請求的虛擬服務器。步驟1403,路由服務器重定向用戶請求到負載均衡服務器返回的虛擬服務器A。步驟1404,虛擬服務器A計算URL所對應的Hash串。步驟1405,虛擬服務器A向分布式數據庫查詢分塊的Hash串。步驟1406,虛擬服務器A根據URL的Hash串和分塊的Hash串,根據一致性Hash判斷URL對應的分塊。步驟1401至1406對應的關鍵技術方案:虛擬服務器根據URL判斷應該處理此URL的分塊,從而確定處理此URL的存儲服務器。虛擬服務器先根據URL判斷應該處理此URL的存儲分塊和對應的存儲服務器,再判斷URL對應的虛擬服務器。根據URL判斷應該處理此URL的分塊的方法是根據前面介紹的一致性Hash方法。具體的判斷方法是,基于某個Hash算法,如murmur算法,對URL和存 儲分塊的ID做Hash,得到URL和服務器的Hash串。所有可能的Hash串組成了一個環(huán),環(huán)上面的每個點對應某個Hash串。那么URL的Hash串和存儲分塊的Hash串都會對應在環(huán)上某個點。從URL的Hash串對應的點出發(fā),順時針所遇到的第一個存儲分塊Hash串對應的點,那么這個存儲分塊就是緩存時用來存儲此URL內容的存儲分塊,存儲分塊所在的存儲服務器就是處理此URL的存儲服務器。通常情況下,由于存儲分塊的數量遠遠小于URL的數目,為了負載均衡,對于一個存儲分塊,會生成多個Hash串,對于環(huán)上多個點。生成多個Hash串的方法可以在存儲分塊的ID后添加序號來解決。步驟1407,虛擬服務器A向分布式數據庫查詢虛擬服務器的Hash串。步驟1408,虛擬服務器A根據分塊的Hash串和虛擬服務器的Hash串,根據一致性Hash判斷URL對應的虛擬服務器。步驟1408的前提條件是:云平臺建立分布式數據庫時,根據一致性Hash確定分塊的Hash串和虛擬服務器的Hash串的對應關系,并在分布式數據庫中存儲該對應關系。本發(fā)明實施例中,判斷URL對應的虛擬服務器,可以采用從分布式數據庫中查找的方式來代替步驟1508。步驟1407至1408對應的關鍵技術方案:虛擬服務器根據URL判斷應該處理此URL的虛擬服務器。本發(fā)明實施例中,在得到URL對應的存儲分塊和存儲服務器后,仍然利用一致性Hash算法來得到存儲分塊和虛擬服務器的對應關系,從而得到URL對應的虛擬服務器。圖15為存儲分塊和虛擬服務器的對應關系示意圖,參照圖15,每個分塊和每個虛擬服務器都有多個hash串與其對應,每一個分塊和每一個虛擬服務器在hash環(huán)上都有若干個點與其對應;而分塊和虛擬服務器的對應關系是從分塊的點開始順時針找最近的虛擬服務器的點,每個分塊對應的多個點可能 找到不同的虛擬服務器與其對應,這就使得同一個分塊可以被多個虛擬服務器所管理。參照圖15,具體的判斷方法是,基于某個Hash算法,如murmur算法,對存儲分塊的ID和虛擬服務器的ID做Hash,得到存儲分塊和虛擬服務器的Hash串。所有可能的Hash串組成了一個環(huán),環(huán)上面的每個點對應某個Hash串。那么存儲分塊的Hash串,和虛擬服務器的Hash串都會對應在環(huán)上某個點。從存儲分塊的Hash串對應的點出發(fā),順時針所遇到的第一個虛擬服務器的Hash串對應的點,那么這個虛擬服務器就是處理此存儲分塊對應的URL的虛擬服務器。通常情況下,由于存儲分塊的數量和虛擬服務器的數量都很小,為了負載均衡,對于一個存儲分塊,會生成多個Hash串,對于環(huán)上多個點。生成多個Hash串的方法可以在存儲分塊的ID后添加序號來解決。對于一個虛擬服務器,會生成多個Hash串,對于環(huán)上多個點。生成多個Hash串的方法可以在虛擬服務器的ID后添加序號來解決。得到存儲分塊和虛擬服務器的對應關系后,存儲分塊與虛擬服務器的對應關系存儲于內容分發(fā)網絡的分布式數據庫中,一個分塊由一個虛擬服務器管理的時候,數據庫中存儲的是該分塊和虛擬服務器的一對一關系;而在這里數據庫中存儲的則是每一個分塊的每一個hash串與虛擬服務器的對應關系,實際上每一個分塊對應多個虛擬服務器。步驟1409,如果虛擬服務器A和虛擬服務器B是同一虛擬服務器,則轉向步驟1411,否則轉向步驟1410。步驟1410,重定向用戶請求到虛擬服務器B。步驟1411,虛擬服務器B根據用戶請求的URL判斷用戶請求的文件是否已經存在于緩存隊列中。步驟1412,如果用戶請求的文件在緩存隊列中,則重定向用戶請求到對應的存儲服務器,并通知存儲服務器進行文件分發(fā)。步驟1413,如果用戶請求的文件不在緩存隊列中,則重定向用戶請求到對應的存儲服務器,并通知存儲服務器回源獲取用戶請求的文件內容。步驟1414,存儲服務器返回用戶請求的內容。圖16為本發(fā)明實施例提供的內容分發(fā)方法流程圖,該實施例闡述了在邊緣節(jié)點的服務器集群中,對存儲服務器的存儲空間進行分塊,每一個分塊可以由多個虛擬服務器同時管理,虛擬服務器如何管理存儲服務器存儲和刪除文件,該方法包括:步驟1601,當虛擬服務器收到用戶請求某URL的文件內容,并確定用戶請求的文件不在緩存隊列中時,更新用戶請求的URL對應的文件的熱度信息。其中,具體可以在步驟1413之后執(zhí)行步驟1601。步驟1602,虛擬服務器根據熱度信息判斷是否需要緩存URL對應的文件內容,如果是,則轉向步驟1603,否則結束。步驟1603對應的關鍵技術方案:如何將緩存隊列的文件內容存儲在存儲服務器上。本發(fā)明實施例中,一個分塊可以由多臺虛擬服務器管理,而且一臺虛擬服務器可以管理多個分塊。為了避免熱度不均導致的命中率下降,虛擬服務器對所管理的多個分塊創(chuàng)建唯一的緩存隊列。緩存隊列中的文件存儲在文件的URL對應的分塊中。步驟1603,虛擬服務器緩存用戶請求的URL對應的文件內容到所選擇的分塊。其中,上述所選擇的分塊為根據一致性哈希算法確定的URL對應的分塊。存儲服務器會定時或由事件觸發(fā)向管理其分塊的所有虛擬服務器上報分塊的存儲容量。步驟1604,各虛擬服務器判斷所管理的分塊的容量是否已滿。若判斷結果為是,則執(zhí)行步驟1605,否則結束。步驟1605,各虛擬服務器通知存儲服務器需要刪除的內容。其中,上述各虛擬服務器指的是管理該分塊的多個虛擬服務器。步驟1606,存儲服務器收到各虛擬服務器的刪除通知,從中刪除平均熱度最低的通知中的內容。根據預設策略的不同,也可以刪除最大熱度最低的通知中的內容,或者,還可以刪除最小熱度最低的通知中的內容。步驟1607,如果分塊已經釋放出足夠的空間,則結束,否則轉向步驟1605。步驟1604至1607對應的關鍵技術方案:當存儲服務器存儲滿的時候,如何刪除文件內容。存儲服務器會監(jiān)控本機所有分塊的容量占用情況,并定時或由事件促發(fā)通知分塊對應的虛擬服務器容量占用情況。該實施例中,由于一個分塊會同時由多個虛擬服務器進行管理,所以如果某分塊的存儲容量已滿,需要刪除多個虛擬服務器各緩存隊列中熱度最低,且對應于本分塊的內容。具體方法如下:存儲服務器通知分塊對應的虛擬服務器需要淘汰該分塊中熱度較低的a%內容,例如5%最低熱度內容;各虛擬服務器向存儲服務器發(fā)送其緩存隊列該分塊中熱度最低的b%的內容,其中,b%的內容大小需要遠小于a%的內容大小,例如,b%為a%的1/10,以及發(fā)送其平均熱度,或最大、最小熱度;存儲服務器收到各個虛擬服務器發(fā)送的熱度最低的內容,將其中平均熱度或最大、最小熱度最低的虛擬服務器發(fā)送的內容刪除,并繼續(xù)向此虛擬服務器發(fā)送新的淘汰通知;存儲服務器收到新的需要淘汰的內容,比較其平均熱度或最大、最小熱度和上一輪未淘汰的內容的虛擬服務器的平均熱度或最大、最小熱度,將其中平均熱度或最大、最小熱度最低的虛擬服務器發(fā)送的內容刪除;重復前面的步驟,直到淘汰完成,即已經淘汰了a%的內容。圖17為本發(fā)明實施例提供的虛擬服務器的管理方法流程圖,該實施例闡述了在邊緣節(jié)點的服務器集群中,對存儲服務器的存儲分塊,每一個分塊可以由多個虛擬服務器同時管理,當虛擬服務器伸縮的時候如何維護存儲服務器的存儲與虛擬服務器的對應關系,該方法包括:步驟1701,云平臺根據負載情況判斷需要增加一臺虛擬服務器。內容分發(fā)網絡中的執(zhí)行設備/模塊需要能監(jiān)控所有VM的負載狀況,并根據實現設置的業(yè)務邏輯判斷是否達到擴容的閾值,一般由該節(jié)點云平臺的VM管理模塊監(jiān)控并執(zhí)行擴容。步驟1702,云平臺計算新增虛擬服務器的Hash串。步驟1703,云平臺向分布式數據庫查詢分塊及虛擬服務器的Hash串,基于一致性Hash查詢新增虛擬服務器所對應的b個分塊。步驟1704,云平臺刪除查詢返回的b個分塊中現有VM緩存隊列中不再歸屬于現有VM的文件。在步驟1704重新確認分塊和VM對應關系的時候,現有VM所對應的分塊可能發(fā)生改變,這時候就需要在數據庫中調整分塊和VM的對應關系,同時還要調整現有VM的緩存隊列,對每一個VM刪除不再歸他管理的文件。然后由存儲服務器將這些被現有VM從緩存隊列中刪除的文件從分塊中刪除,即刪除重新分配的分塊中的屬于原對應虛擬服務器緩存隊列的內容。步驟1705,將所選分塊分配給新增虛擬服務器,更新分布式數據庫中保存的分塊與虛擬服務器的對應關系。步驟1706,云平臺根據負載情況判斷需要減少一臺虛擬服務器。步驟1707,云平臺通知存儲服務器刪除所選擇分塊中屬于被刪VM緩存隊列的內容。步驟1708,更新分布式數據庫中保存的分塊與虛擬服務器的對應關系。本發(fā)明實施例提供的虛擬服務器的管理方法,利用云平臺和獨立的存儲服務器(例如,流媒體服務器)實現內容分發(fā)網絡,在具有云計算平臺動態(tài)、靈活、彈性、虛擬、共享和高效的優(yōu)點的基礎上,保持了I/O性能不降低,以滿足媒體等大文件的內容分發(fā)需要。本發(fā)明中的利用云計算的技術和獨立的存儲服務器實現內容分發(fā)網絡中邊緣節(jié)點的服務器集群的方法,也可以用在內容分發(fā)網絡中的中心節(jié)點的服 務器集群,以及中心節(jié)點和邊緣節(jié)點之間的中間節(jié)點的服務器集群上。專業(yè)人員應該還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現,為了清楚地說明硬件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發(fā)明的范圍。本領域普通技術人員可以理解實現上述實施例方法中的全部或部分步驟是可以通過程序來指令處理器完成,所述的程序可以存儲于計算機可讀存儲介質中,所述存儲介質是非短暫性(non-transitory)介質,例如隨機存取存儲器,只讀存儲器,快閃存儲器,硬盤,固態(tài)硬盤,磁帶(magnetictape),軟盤(floppydisk),光盤(opticaldisc)及其任意組合。以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本
技術領域:
的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應該以權利要求的保護范圍為準。當前第1頁1 2 3