一種利用p2p技術快速傳輸虛機模板的方法
【技術領域】
[0001]本發明屬于云計算技術領域,涉及一種利用p2p技術快速傳輸虛機模板的方法。
【背景技術】
[0002]云計算是傳統計算機技術和網絡技術發展融合的產物,也是引領未來信息產業創新的關鍵戰略性技術和手段。目前很多大中企業已經部署或正在部署自己的私有云,以滿足企業的IT需求。私有云雖然可以滿足企業的個性化需求,安全性也高,但存在建設成本高、管理維護難、設備利用率低、資源彈性不足等問題。與此同時,隨著各大互聯網公司、電信運營商大規模部署公有云,并通過互聯網向用戶提供服務,公有云服務越來越成熟。于是,越來越多的中小企業將自己的信息化系統以及業務數據迀移到云端,出現了更多的混合云服務。然而在部署混合云服務時,我們面臨的挑戰是缺乏一種在混合云環境下虛機模板跨數據中心的快速迀移技術。通過高效的虛擬機映像管理和分發技術,混合云應用程序能夠得到快速的部署和迀移。目前大部分虛機迀移技術基于端到端的文件傳輸,傳輸性能受到數據中心地理位置以及當前網絡狀況的影響。尤其當虛機模板需要部署在多個數據中心大量服務器上的時候,源虛機模板的服務器的傳輸性能將因為下載端的增多而顯著下降。
[0003]針對于以上問題,本發明提出一種在混合云環境下,基于P2P(peer-to-peer)技術快速傳輸虛機模板的方法。因為我們發現,虛機模板是包含操作系統的鏡像文件,大部分是數據是重復的,我們可以在本地數據中心找到相同的副本,從而減少跨數據中心的數據傳輸。因此,虛機模板迀移只需傳輸包含不同數據的部分。另一方面,當一份虛機模板需要部署到多臺服務器上的時候,基于P2P的傳輸,可以充分利用網絡帶寬以及網絡拓撲,根據位置選擇數據源,加速數據傳輸,使得虛機模板得到快速部署。
[0004]我們未發現在混合云環境下基于P2P技術解決虛機模板迀移的方法。現有的方案大部分是采取傳統的服務器-客戶端模式。此模式下,虛機傳輸性能容易受到網絡帶寬,客戶端/服務器的地理位置以及部署客戶端數量的影響,從而導致性能快速下降。
【發明內容】
[0005]本發明的目的是為了克服已有技術的缺陷,解決跨數據中心虛機模板快速傳輸部署問題,提出一種利用p2p技術快速傳輸虛機模板的方法。
[0006]本發明方法是通過下述技術方案實現的:
[0007]一種利用p2p技術快速傳輸虛機模板的方法,包括以下步驟:
[0008]步驟一、源虛機模板數據分塊校驗:采用定長分塊算法對文件進行切分,對于每一個數據分塊,采用哈希指紋算法計算數據的固定位長的校驗值,作為數據塊的唯一標識符;
[0009]步驟二、源服務器將數據分塊地址,以及其校驗碼更新至本地目錄服務器;目錄服務器記錄數據塊唯一標識符,以及當前存儲此數據塊的地址;如果當前數據塊已經存在數據中心,則更新數據存儲地址;否則,則新添加一條記錄;
[0010]步驟三、源服務器發送數據分塊的校驗碼至目的數據中心服務器;
[0011 ] 步驟四、目的數據中心服務器查詢本地目錄服務器,并且進行差異編碼,找出所有不存在目的數據中心的數據塊,并且將數據塊標示符發送回源服務器;
[0012]步驟五、源服務器接收差異編碼,根據編碼中數據塊標示符,發送對應的數據塊至目的主機;
[0013]步驟六、目的主機接收源服務器發送的數據塊,并在目錄服務器上查詢本數據中心已經存在的數據塊,并且相應從存儲該數據塊的主機上下載數據塊;
[0014]步驟七、當目的主機獲取到所有的數據塊,重構出源虛機模板文件副本;如果虛機模板需要部署到多臺目的服務器上,此時一旦其中某一臺服務器接收到所有的虛機模板文件,則此服務器標記為種子服務器;
[0015]步驟八、種子服務器向其它需要模板文件的服務器繼續上傳數據,直到所有的目的服務器都標記為種子服務器,整個虛機模板數據傳輸終止。
[0016]步驟一中采用不同的顏色的長方形格子代表不同的數據分塊。
[0017]本發明的有益效果:本發明采用數據分塊校驗,識別已經存在目的數據中心的數據分塊;針對于虛機模板文件包涵操作系統鏡像文件,數據分塊校驗能夠顯著減少遠程數據傳輸的總量。其次,本發明的維護目錄服務器,為每一臺云服務器提供數據塊位置查詢服務,并且基于P2P技術提供客戶端軟件從相應多個數據源下載所需要的數據塊,顯著的提高數據傳輸速度。在云計算應用環境下,如果虛機模板是基于同一種操作系統,那么將會存在大量的相同的數據分塊,運用本專利方法,可以顯著提高虛機迀移速度。
【附圖說明】
[0018]圖1為本發明實施方式的架構設計圖。
【具體實施方式】
[0019]下面結合附圖對本發明作進一步描述。
[0020]本發明適用場景如圖1所示:不同的數據中心維護不同的資源池,包含不同的云主機服務器。每臺云主機以虛擬機的方式封裝資源,包含CPU、內存、網絡設備、存儲設備、PCI設備、USB設備和系統B1S等。云主機的操作系統可以基于Linux或者Windows,在這基礎上,部署不同的云應用服務,比如說云存儲,郵件等。在混合云的模式下,私有云和公有云位于不同的數據中心,通過高速網絡互相連接。很多云服務通常部署在多個數據中心,因此,云服務器需要在不同的數據中心部署副本,從而提高提高整個系統的吞吐量,也可以容忍服務器、網絡和數據中心的故障。同時,數據距離用戶更近,訪問延時降低,服務的用戶體驗也得到大大提高。然而由于云服務器的映像文件通常尺寸較大,跨數據中心傳輸有較高延遲。因此本發明采用基于P2P技術的虛機傳輸方法,快速部署云應用服務器。
[0021]1、源虛機模板數據分塊校驗:采用定長分塊算法,數據塊的大小可以調節,默認為512KB,對文件進行切分,最后一個文件塊可能不足數據塊大小。對于每一個數據分塊,采用哈希指紋算法計算數據的固定位長的校驗值,作為數據塊的唯一標識符。用戶可以指定哈希指紋算法,如64位或者128位的MD5,SHA1,算法產生64位或者128位的校驗值作為數據塊唯一標識符,用于數據塊去重,索引以及恢復數據。
[0022]2、源服務器將數據分塊地址,以及其校驗碼更新至本地目錄服務器。目錄服務器主要記錄數據塊唯一標示符,以及當前存儲此數據塊的地址。如果當前數據塊已經存在數據中心,則更新數據存儲地址;否則,則新添加一條記錄。
[0023]3、同時,源服務器發送數據分塊的校驗碼至目的數據中心服務器。
[0024]4、目的數據中心服務器查詢本地目錄服務器,并且進行差異編碼。找出所有不存在目的數據中心的數據塊,并且將數據塊標示符發送回源服務器。
[0025]5、源服務器接收差異編碼,根據編碼中數據塊標示符,發送對應的數據塊至目的主機。
[0026]6、目的主機接收源服務器發送的數據塊。
[0027]7、同時,目的主機在目錄服務器上查詢本數據中心已經存在的數據塊,并且相應從存儲該數據塊的主機上下載數據塊。
[0028]8、當目的主機獲取到所有的數據塊,便可以重構出源虛機模板文件副本。如果虛機模板需要部署到多臺目的服務器上,此時一旦其中某一臺服務器接收到所有的虛機模板文件,此服務器將會標記為種子服務器。
[0029]9、種子服務器可以向其它需要模板文件的服務器繼續上傳數據,直到所有的目的服務器都標記為種子服務器,整個虛機模板數據傳輸就終止。
[0030]雖然結合了附圖描述了本發明的實施方式,但是對于本領域技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進,這些也應視為屬于本發明的保護范圍。
【主權項】
1.一種利用P2P技術快速傳輸虛機模板的方法,其特征在于,包括以下步驟: 步驟一、源虛機模板數據分塊校驗:采用定長分塊算法對文件進行切分,數據塊的大小可調節,對文件進行切分,對于每一個數據分塊,采用哈希指紋算法計算數據的固定位長的校驗值,作為數據塊的唯一標識符;用戶指定哈希指紋算法產生64位或者128位的校驗值作為數據塊唯一標識符,用于數據塊去重,索引以及恢復數據; 步驟二、源服務器將數據分塊地址,以及其校驗碼更新至本地目錄服務器;目錄服務器記錄數據塊唯一標識符,以及當前存儲此數據塊的地址;如果當前數據塊已經存在數據中心,則更新數據存儲地址;否則,則新添加一條記錄; 步驟三、源主機發送數據分塊的校驗碼至目的數據中心服務器;目的數據中心服務器查詢本地目錄服務器,并且進行差異編碼,找出所有不存在目的數據中心的數據塊,并且將數據塊標示符發送回源服務器; 步驟四、源服務器接收差異編碼,根據編碼中數據塊標示符,發送對應的數據塊至目的主機;目的主機接收源服務器發送的數據塊,并在目錄服務器上查詢本數據中心已經存在的數據塊,并且相應從存儲該數據塊的主機上下載數據塊; 步驟五、當目的主機獲取到所有的數據塊,重構出源虛機模板文件副本;如果虛機模板需要部署到多臺目的服務器上,此時一旦其中某一臺服務器接收到所有的虛機模板文件,則此服務器標記為種子服務器; 步驟六、種子服務器向其它需要模板文件的服務器繼續上傳數據,直到所有的目的服務器都標記為種子服務器,整個虛機模板數據傳輸終止。2.如權利要求1所述的一種利用p2p技術快速傳輸虛機模板的方法,其特征在于,步驟一中采用不同的顏色的長方形格子代表不同的數據分塊。
【專利摘要】本發明提出一種利用p2p技術快速傳輸虛機模板的方法,解決跨數據中心虛機模板快速傳輸部署問題。本發明采用數據分塊校驗,識別已經存在目的數據中心的數據分塊;針對于虛機模板文件包涵操作系統鏡像文件,數據分塊校驗能夠顯著減少遠程數據傳輸的總量。其次,本發明的維護目錄服務器,為每一臺云服務器提供數據塊位置查詢服務,并且基于P2P技術提供客戶端軟件從相應多個數據源下載所需要的數據塊,顯著的提高數據傳輸速度。
【IPC分類】H04L29/08
【公開號】CN104902000
【申請號】CN201510156131
【發明人】莊浩, 張繼勇
【申請人】易云捷訊科技(北京)有限公司
【公開日】2015年9月9日
【申請日】2015年4月3日