基于圖結(jié)構(gòu)與數(shù)據(jù)信息分離的圖計算伸縮方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及分布式計算技術(shù)領(lǐng)域。具體的說,涉及基于圖結(jié)構(gòu)與數(shù)據(jù)信息分離的圖計算伸縮方法
【背景技術(shù)】
[0002]彈性計算是云平臺中重要的特質(zhì),直接關(guān)系到云平臺上應用的執(zhí)行效率?,F(xiàn)有的解決方案以系統(tǒng)級的彈性計算為主,應用層的支持主要有Map Reduce模型的系統(tǒng),如Hadoop。計算應用迀移的性能主要取決于迀移速度、服務(wù)中斷時間以及恢復計算以后系統(tǒng)的性能。當前主流的彈性伸縮技術(shù)中沒有考慮圖計算應用伸縮的需求,導致圖計算的伸縮對系統(tǒng)性能造成的損失較大。
[0003]因此,如何針對圖計算應用伸縮的特點,合理設(shè)計迀移策略和方案,減少伸縮過程中的網(wǎng)絡(luò)傳輸,提高傳輸后圖計算的本地性,實已成為本領(lǐng)域技術(shù)人員亟待解決的技術(shù)難題。
【發(fā)明內(nèi)容】
[0004]針對現(xiàn)有技術(shù)中的缺陷,本發(fā)明的目的在于,利用對上層計算應用的了解,通過圖結(jié)構(gòu)與數(shù)據(jù)信息分離迀移,以及本地性敏感和負載均衡的優(yōu)化分配機制,縮短迀移時間和中斷時間,提升完成伸縮后系統(tǒng)的性能。
[0005]根據(jù)本發(fā)明提供的一種基于圖結(jié)構(gòu)與數(shù)據(jù)信息分離的圖計算伸縮方法包括如下步驟:
[0006]步驟1:對圖結(jié)構(gòu)信息與數(shù)據(jù)信息進行分離迀移;
[0007]步驟2:本地性敏感和負載均衡的優(yōu)化分配。
[0008]優(yōu)選地,所述步驟I,包括如下步驟:
[0009]將所述圖結(jié)構(gòu)信息與計算過程中的所述數(shù)據(jù)信息分離;
[0010]由目標機器通過分布式文件系統(tǒng)直接訪問計算過程中不變的所述圖結(jié)構(gòu)信息,而由源機器通過網(wǎng)絡(luò)傳輸計算過程中產(chǎn)生的所述數(shù)據(jù)信息。
[0011]優(yōu)選地,所述步驟I,包括如下步驟:
[0012]載入圖;在載入圖的過程中,劃分并構(gòu)建子圖,記錄圖的劃分方式,完成子圖構(gòu)建后將劃分信息存儲至分布式文件系統(tǒng);
[0013]在接收到迀移指令時,作為目標機器的迀入服務(wù)器將屬于迀出服務(wù)器的子圖結(jié)構(gòu)直接通過分布式文件系統(tǒng)載入,并與迀入服務(wù)器上原有的子圖合并;作為源機器的迀出服務(wù)器向迀入服務(wù)器發(fā)送關(guān)于迀出子圖的計算狀態(tài);
[0014]迀入服務(wù)器接收計算狀態(tài),向迀出服務(wù)器發(fā)送回執(zhí)信息,迀出服務(wù)器關(guān)閉應用進程;迀入服務(wù)器載入計算狀態(tài),恢復計算。
[0015]優(yōu)選地,所述步驟2包括如下步驟:
[0016]在載入圖的過程中,根據(jù)所述計算數(shù)據(jù)的本地性和系統(tǒng)的負載均衡對服務(wù)器進行劃分,并對服務(wù)器的劃分結(jié)果提取劃分特征;
[0017]在接收到迀移指令時,根據(jù)所述劃分特征計算迀出子圖結(jié)構(gòu)迀移到不同迀入服務(wù)器的本地性得分,在選出的本地性得分靠前的多個服務(wù)器中根據(jù)服務(wù)器的負載情況選擇負載最輕的服務(wù)器作為迀入服務(wù)器,執(zhí)行迀移;
[0018]在迀入服務(wù)器完成圖的重建之后,重新計算服務(wù)器上的劃分特征。
[0019]與現(xiàn)有技術(shù)相比,本發(fā)明具有如下的有益效果:
[0020]1、本發(fā)明主要提出了一種利用優(yōu)化的伸縮策略和算法實現(xiàn)圖計算的彈性伸縮方法。該方法通過利用圖結(jié)構(gòu)與數(shù)據(jù)信息分離迀移以及本地性敏感和負載均衡的優(yōu)化分配機制,縮短整體迀移時間和服務(wù)中斷時間,并優(yōu)化伸縮完成后的系統(tǒng)性能,提升迀移完成后系統(tǒng)的數(shù)據(jù)本地性和負載均衡。
[0021]2、本發(fā)明相對現(xiàn)有系統(tǒng)級(如借助虛擬機迀移等技術(shù))的彈性縮放支持,能夠降低上層應用服務(wù)性能的損失,縮短計算系統(tǒng)彈性迀移過程中的整體迀移時間和服務(wù)中斷時間。提升云計算集群資源利用率以及上層應用服務(wù)的可用性,促進具有高通量需求的關(guān)鍵計算服務(wù)在云計算數(shù)據(jù)中心的部署,進而可以帶來可觀的社會效益及經(jīng)濟效益。
[0022]3、伸縮過程中信息傳輸量大的問題主要來源于圖計算中圖結(jié)構(gòu)的信息發(fā)送,圖計算依賴于圖的結(jié)構(gòu),但是圖的結(jié)構(gòu)在計算過程中不發(fā)生改變。因此本發(fā)明提出將圖的結(jié)構(gòu)信息與數(shù)據(jù)信息分離迀移的方法,減少迀移過程中的網(wǎng)絡(luò)傳輸,縮短整體迀移時間。
[0023]4、圖計算中對計算性能影響最大的是數(shù)據(jù)的本地性以及系統(tǒng)的均衡負載。圖計算的特點是循環(huán)、重復的,良好的數(shù)據(jù)本地性可以大大減少網(wǎng)絡(luò)傳輸,提高計算性能。本發(fā)明提出本地性敏感和負載均衡的優(yōu)化分配機制,在迀移過程中根據(jù)迀入與迀出服務(wù)器的數(shù)據(jù)分布,選擇合理的迀移方案。
【附圖說明】
[0024]通過閱讀參照以下附圖對非限制性實施例所作的詳細描述,本發(fā)明的其它特征、目的和優(yōu)點將會變得更明顯:
[0025]圖1是基于圖結(jié)構(gòu)與數(shù)據(jù)信息分離的圖計算動彈性迀移流程圖。
[0026]圖2是基于圖結(jié)構(gòu)與數(shù)據(jù)信息分離的圖計算動彈性迀移后的系統(tǒng)狀態(tài)。
【具體實施方式】
[0027]下面結(jié)合具體實施例對本發(fā)明進行詳細說明。以下實施例將有助于本領(lǐng)域的技術(shù)人員進一步理解本發(fā)明,但不以任何形式限制本發(fā)明。應當指出的是,對本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變化和改進。這些都屬于本發(fā)明的保護范圍。
[0028]本發(fā)明采用圖結(jié)構(gòu)與數(shù)據(jù)信息分離迀移的方法,以及本地性敏感和負載均衡的優(yōu)化分配機制,實現(xiàn)圖計算系統(tǒng)的伸縮。
[0029]以下將通過具體實施示例來描述本發(fā)明提供的圖計算伸縮技術(shù)。
[0030]圖1是基于圖結(jié)構(gòu)與數(shù)據(jù)信息分離的圖計算動彈性迀移流程圖(以擴張為例)
[0031]步驟0,系統(tǒng)載入原始數(shù)據(jù),劃分并構(gòu)建子圖,完成構(gòu)建后將劃分信息存儲至分布式文件系統(tǒng)。
[0032]步驟1,系統(tǒng)收到迀移指令(由迀出服務(wù)器A迀往迀入服務(wù)器B、C),A向B、C同時發(fā)送數(shù)據(jù)信息(如Ia所示),同時B、C通過分布式文件系統(tǒng)讀取圖信息(如Ib所示)。
[0033]步驟2,迀入服務(wù)器B、C完成接收,迀出服務(wù)器A應用關(guān)閉,B、C重新構(gòu)建圖結(jié)構(gòu)和數(shù)據(jù)信息。
[0034]最終系統(tǒng)的狀態(tài)如圖2。
[0035]進一步具體地,基于圖的本地性和負載均衡的優(yōu)化分配機制的算法
[0036]在步驟O中,每臺服務(wù)器根據(jù)其處理的子圖A產(chǎn)生本地性得分評價函數(shù),該函數(shù)的輸入?yún)?shù)為一個子圖B,該函數(shù)輸出對子圖B迀入子圖A的評價,本地性好的得分高。
[0037]在步驟I中,當服務(wù)器需要迀出時分別產(chǎn)生每臺服務(wù)器對子圖的評分,選取得分最高的2臺,根據(jù)其負載,選擇負載小的一臺服務(wù)器為迀移目標。
[0038]綜上所述,本發(fā)明提出的基于圖結(jié)構(gòu)與數(shù)據(jù)信息分離的圖計算伸縮技術(shù),采用圖結(jié)構(gòu)與數(shù)據(jù)信息分離迀移的方法,以及本地性敏感和負載均衡的優(yōu)化分配機制,能夠縮短迀移過程中的迀移時間和服務(wù)中斷時間,提升迀移完成后系統(tǒng)的數(shù)據(jù)本地性和負載均衡。
[0039]其中,將所述圖結(jié)構(gòu)信息與計算過程中的所述數(shù)據(jù)信息分離,由目標機器通過分布式文件系統(tǒng)直接訪問計算過程中不變的所述圖結(jié)構(gòu)信息,而由源機器通過網(wǎng)絡(luò)傳輸計算過程中產(chǎn)生的所述數(shù)據(jù)信息;避免傳輸計算過程中不發(fā)生改變的數(shù)據(jù),減少對迀移過程中需要傳輸?shù)臄?shù)據(jù),縮短伸縮時間。
[0040]以上對本發(fā)明的具體實施例進行了描述。需要理解的是,本發(fā)明并不局限于上述特定實施方式,本領(lǐng)域技術(shù)人員可以在權(quán)利要求的范圍內(nèi)做出各種變化或修改,這并不影響本發(fā)明的實質(zhì)內(nèi)容。
【主權(quán)項】
1.一種基于圖結(jié)構(gòu)與數(shù)據(jù)信息分離的圖計算伸縮方法,其特征在于,包括如下步驟: 步驟1:對圖結(jié)構(gòu)信息與數(shù)據(jù)信息進行分離迀移; 步驟2:本地性敏感和負載均衡的優(yōu)化分配。2.根據(jù)權(quán)利要求1所述的基于圖結(jié)構(gòu)與數(shù)據(jù)信息分離的圖計算伸縮方法,其特征在于,所述步驟1,包括如下步驟: 將所述圖結(jié)構(gòu)信息與計算過程中的所述數(shù)據(jù)信息分離; 由目標機器通過分布式文件系統(tǒng)直接訪問計算過程中不變的所述圖結(jié)構(gòu)信息,而由源機器通過網(wǎng)絡(luò)傳輸計算過程中產(chǎn)生的所述數(shù)據(jù)信息。3.根據(jù)權(quán)利要求1所述的基于圖結(jié)構(gòu)與數(shù)據(jù)信息分離的圖計算伸縮方法,其特征在于,所述步驟1,包括如下步驟: 載入圖;在載入圖的過程中,劃分并構(gòu)建子圖,記錄圖的劃分方式,完成子圖構(gòu)建后將劃分信息存儲至分布式文件系統(tǒng); 在接收到迀移指令時,作為目標機器的迀入服務(wù)器將屬于迀出服務(wù)器的子圖結(jié)構(gòu)直接通過分布式文件系統(tǒng)載入,并與迀入服務(wù)器上原有的子圖合并;作為源機器的迀出服務(wù)器向迀入服務(wù)器發(fā)送關(guān)于迀出子圖的計算狀態(tài); 迀入服務(wù)器接收計算狀態(tài),向迀出服務(wù)器發(fā)送回執(zhí)信息,迀出服務(wù)器關(guān)閉應用進程;迀入服務(wù)器載入計算狀態(tài),恢復計算。4.根據(jù)權(quán)利要求3所述的基于圖結(jié)構(gòu)與數(shù)據(jù)信息分離的圖計算伸縮方法,其特征在于,所述步驟2包括如下步驟: 在載入圖的過程中,根據(jù)所述計算數(shù)據(jù)的本地性和系統(tǒng)的負載均衡對服務(wù)器進行劃分,并對服務(wù)器的劃分結(jié)果提取劃分特征; 在接收到迀移指令時,根據(jù)所述劃分特征計算迀出子圖結(jié)構(gòu)迀移到不同迀入服務(wù)器的本地性得分,在選出的本地性得分靠前的多個服務(wù)器中根據(jù)服務(wù)器的負載情況選擇負載最輕的服務(wù)器作為迀入服務(wù)器,執(zhí)行迀移; 在迀入服務(wù)器完成圖的重建之后,重新計算服務(wù)器上的劃分特征。
【專利摘要】本發(fā)明提供了一種基于圖結(jié)構(gòu)與數(shù)據(jù)信息分離的圖計算伸縮方法,其特征在于,包括:步驟1:對圖結(jié)構(gòu)信息與數(shù)據(jù)信息進行分離遷移;步驟2:本地性敏感和負載均衡的優(yōu)化分配。本發(fā)明采用圖結(jié)構(gòu)與數(shù)據(jù)信息分離遷移的方法,以及本地性敏感和負載均衡的優(yōu)化分配機制,實現(xiàn)圖計算系統(tǒng)的伸縮。本發(fā)明相對現(xiàn)有系統(tǒng)級(如借助虛擬機遷移等技術(shù))的彈性縮放支持,能夠降低上層應用服務(wù)性能的損失,縮短計算系統(tǒng)彈性遷移過程中的整體遷移時間和服務(wù)中斷時間。提升云計算集群資源利用率以及上層應用服務(wù)的可用性,促進具有高通量需求的關(guān)鍵計算服務(wù)在云計算數(shù)據(jù)中心的部署,進而可以帶來可觀的社會效益及經(jīng)濟效益。
【IPC分類】G06F17/30
【公開號】CN104899250
【申請?zhí)枴緾N201510229191
【發(fā)明人】陳海波, 陳榕, 臧斌宇, 管海兵
【申請人】上海交通大學
【公開日】2015年9月9日
【申請日】2015年5月7日