欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種云計算環(huán)境中分布式計算模式下的增量式圖計算方法

文檔序號:10665810閱讀:376來源:國知局
一種云計算環(huán)境中分布式計算模式下的增量式圖計算方法
【專利摘要】本發(fā)明公開了一種云計算環(huán)境中分布式計算模式下的增量式圖計算方法,包括:201、歸并服務器生成增量圖;202、歸并服務器將增量圖與歷史圖進行對比,找出歷史圖中鏈接結構的不變部分的頂點集合并將其分發(fā)至各子節(jié)點數(shù)據(jù)交換器;203、作業(yè)開始前,各子節(jié)點的數(shù)據(jù)交換器對不變部分頂點的歷史計算數(shù)據(jù)進行同步交換;204、各計算任務過濾不變部分的頂點并加載相應的歷史計算數(shù)據(jù);205、各計算任務在每輪超步計算時,復用不變部分頂點的歷史計算數(shù)據(jù)并在計算完成時保存本次作業(yè)的計算數(shù)據(jù)。本發(fā)明對于圖文件中鏈接結構的不變部分頂點對應的計算消息進行復用,從而減少原系統(tǒng)中重復計算對資源的浪費并提高性能。
【專利說明】
一種云計算環(huán)境中分布式計算模式下的増量式圖計算方法
技術領域
[0001]本發(fā)明屬于計算機技術領域,具體涉及集群環(huán)境下一種云計算環(huán)境中分布式計算模式下的增量式圖計算方法?!颈尘凹夹g】
[0002]近年來,圖計算被越來越多的應用于社會關系計算、網(wǎng)絡搜索、自然語言處理、機器學習以及推薦系統(tǒng)等領域。隨著圖數(shù)據(jù)集的規(guī)模和復雜性不斷增長,如何設計高效的面向分布式環(huán)境的圖計算模型越來越受到人們的關注。針對該問題,Google提出了 Pregel模型,其借鑒了BSP(Bulk Synchronous Parallel,BSP)模型中的大同步計算和通信思想,提出“以頂點為中心”,通過將頂點計算表達為一系列的超步(super-step),在每次超步計算中,各頂點收到前次超步發(fā)送的消息,使用基于用戶自定義的頂點更新函數(shù)更新頂點值,并向其鄰居頂點發(fā)送消息。超步間通過全局路障以進行任務同步。Hama是Apache組織開發(fā)的一個基于Pregel模型的開源分布式并行圖計算平臺,其利用Hadoop RPC進行節(jié)點間通信, 借助于ZooKe印er進行同步,通過對消息進行收集和合并發(fā)送來降低網(wǎng)絡開銷和競爭。
[0003]然而,在目前圖計算中,負載的一個重要特征表現(xiàn)為數(shù)據(jù)隨時間增長而緩慢更新, 如搜索引擎會周期性的抓取網(wǎng)頁并計算Pagerank等指標或進行日常鏈接分析以監(jiān)控用戶行為。而現(xiàn)有圖計算框架通?;谂幚砟P?,沒有考慮數(shù)據(jù)增量變化的特點,處理效率有待提尚。
【發(fā)明內(nèi)容】

[0004]本發(fā)明的目的在于提供一種云計算環(huán)境中分布式計算模式下的增量式圖計算方法,使得在圖數(shù)據(jù)增量變化的場景下,作業(yè)計算時能夠復用不變部分頂點的歷史計算數(shù)據(jù), 從而提高作業(yè)的執(zhí)行時間和集群的資源利用率。
[0005]為達到上述目的,本發(fā)明采用的技術方案如下:
[0006]—種云計算環(huán)境中分布式計算模式下的增量式圖計算方法,包括以下步驟:
[0007]201、歸并服務器生成增量圖;
[0008]202、歸并服務器將增量圖與歷史圖進行對比,找出歷史圖中鏈接結構的不變部分的頂點集合并將其分發(fā)至各子節(jié)點數(shù)據(jù)交換器;
[0009]203、作業(yè)開始前,各子節(jié)點的數(shù)據(jù)交換器對不變部分頂點的歷史計算數(shù)據(jù)進行同步交換;
[0010]204、各計算任務過濾不變部分的頂點并加載相應的歷史計算數(shù)據(jù);
[0011]205、各計算任務在每輪超步計算時,復用不變部分頂點的歷史計算數(shù)據(jù)并在計算完成時保存本次作業(yè)的計算數(shù)據(jù)。
[0012]進一步的,步驟201中用戶由分布式客戶端上傳新增圖文件后,各數(shù)據(jù)子節(jié)點將內(nèi)存中的圖數(shù)據(jù)發(fā)送至歸并服務器,歸并服務器對亂序到達的各部分圖數(shù)據(jù)進行排序并合并成增量圖。
[0013]進一步的,步驟202中歸并服務器使用寬度優(yōu)先搜索將增量圖同歷史圖進行鏈接結構對比,找出歷史圖中鏈接結構的不變部分的頂點集合,并將其分發(fā)至各計算子節(jié)點的數(shù)據(jù)交換器;對比完成后,將增量圖和歷史圖合并作為歷史圖進行保存。
[0014]進一步的,歷史圖為最近一次存儲的圖結構。
[0015]進一步的,步驟203中各子節(jié)點的數(shù)據(jù)交換器對不變部分頂點的歷史計算數(shù)據(jù)進行同步交換,主要包括以下兩步:I)主節(jié)點的任務調(diào)度器在完成任務分配后,將任務與對應子節(jié)點的分配信息分發(fā)給各計算子節(jié)點的數(shù)據(jù)交換器;2)數(shù)據(jù)交換器根據(jù)步驟202中收到的不變部分的頂點集合和任務分配信息,將不變部分的頂點的歷史計算數(shù)據(jù)封裝為可復用消息后進行同步交換。
[0016]進一步的,步驟204中各計算任務根據(jù)本地數(shù)據(jù)交換器中獲取的不變部分頂點集合,對其輸入數(shù)據(jù)進行過濾,然后加載不變部分頂點的歷史計算數(shù)據(jù);
[0017]步驟205中各計算任務在每輪超步計算時,復用不變部分頂點的歷史計算數(shù)據(jù)并在計算完成時保存本次作業(yè)計算數(shù)據(jù)。
[0018]進一步的,復用歷史計算數(shù)據(jù)時,對其值進行函數(shù)轉(zhuǎn)換以獲取正確結果。
[0019]進一步的,步驟201中圖文件包括圖的頂點集合和邊集合;歸并服務器包括一組用于監(jiān)聽遠程請求的服務線程和一個歸并線程;用戶上傳新增圖文件時,分布式客戶端首先向歸并服務器發(fā)送歸并請求,歸并服務器啟動一個歸并線程進行等待直至所有分布式文件系統(tǒng)中涉及到該圖文件的數(shù)據(jù)子節(jié)點均將其數(shù)據(jù)送達;歸并線程首先將亂序到達的各部分數(shù)據(jù)進行排序并合并組成新增圖,然后執(zhí)行寬度優(yōu)先搜索找出歷史圖受新增圖影響的鏈接部分,包括在歷史圖中和新增圖中存在邊關聯(lián)的頂點集合及其鏈接后繼;歸并服務器中的新增圖和歷史圖均采用鄰接鏈表形式保存。
[0020]進一步的,數(shù)據(jù)交換器,包括一組用于監(jiān)聽遠程請求的服務線程和一個用于和其他數(shù)據(jù)交換器進行數(shù)據(jù)交換的線程;當數(shù)據(jù)交換器執(zhí)行交換時,所有的數(shù)據(jù)交換器需要進行同步以保障交換結果的正確性。
[0021]進一步的,步驟204中的歷史計算數(shù)據(jù),包括各頂點的ID、出度邊集合,以及該頂點在每輪超步中所發(fā)送的中間消息值和最終的計算結果值。
[0022]現(xiàn)對于現(xiàn)有技術,本發(fā)明具有以下有益效果:本發(fā)明一種云計算環(huán)境中分布式計算模式下的增量式圖計算方法,在圖數(shù)據(jù)增量變化的場景下,避免了傳統(tǒng)圖計算方法造成的冗余計算和通信問題。通過復用內(nèi)存中不變部分頂點的歷史計算數(shù)據(jù),能夠減少冗余的頂點計算及其帶來的繁重的消息通信過程;同時減輕了集群節(jié)點的計算負載和帶寬利用率;此外,傳統(tǒng)的圖計算系統(tǒng)在在執(zhí)行固定數(shù)量的超步后,會保存部分超步的消息以便于容錯。本發(fā)明能夠減輕消息的傳輸量,進而減輕檢查點進程保存超步消息的開銷。
【附圖說明】
[0023]圖1是本發(fā)明的云計算環(huán)境中分布式計算模式下集群計算節(jié)點和存儲節(jié)點組成示意圖;
[0024]圖2是云計算環(huán)境中分布式計算模式下的增量式圖計算方法流程示意圖;
[0025]圖3是新增圖與歷史圖對比過程示意圖;
[0026]圖4是數(shù)據(jù)交換器交換歷史計算數(shù)據(jù)的示意圖;
[0027]圖5是增量式圖計算方法的復用計算流程圖;
[0028]圖6是歷史計算數(shù)據(jù)封裝后的可復用消息結構示意圖。【具體實施方式】
[0029]為了使本技術領域的人員更好地理解本申請方案。下面結合附圖對本發(fā)明作詳細描述。顯然,下述的實施例僅是本申請一部分實施例闡述,而非全部的實施例?;诒旧暾堉械膶嵤├绢I域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本申請保護的范圍。
[0030]環(huán)境條件:
[0031]本發(fā)明所需滿足的設備環(huán)境條件見圖1,云環(huán)境中分布式集群的組成結構主要包括:一個主節(jié)點和多個子節(jié)點,子節(jié)點既可以是物理機,也可以是虛擬機,對主節(jié)點透明,節(jié)點間通過網(wǎng)絡互聯(lián)。云環(huán)境下,考慮到數(shù)據(jù)本地性的需求,子節(jié)點通常既可以作為計算節(jié)點,也可以作為分布式文件系統(tǒng)存儲的數(shù)據(jù)節(jié)點。主節(jié)點與子節(jié)點通過遠程過程調(diào)用(RPC) 方式交互。主節(jié)點中設置歸并服務器,子節(jié)點中設置數(shù)據(jù)交換器。
[0032]本發(fā)明在軟件條件方面,要求各節(jié)點采用Linux操作系統(tǒng),安裝有Java開發(fā)工具包 1.6及以上版本,同時各節(jié)點能夠通過ssh無密碼登錄。
[0033]請參閱圖2所示,本發(fā)明一種云計算環(huán)境中分布式計算模式下的增量式圖計算方法,主要包括以下步驟:[〇〇34]201、歸并服務器生成增量圖;
[0035]202、歸并服務器將增量圖與歷史圖進行對比,找出歷史圖中鏈接結構的不變部分的頂點集合并將其分發(fā)至各子節(jié)點數(shù)據(jù)交換器;
[0036]203、作業(yè)開始前,各子節(jié)點的數(shù)據(jù)交換器對不變部分頂點的歷史計算數(shù)據(jù)進行同步交換;
[0037]204、各計算任務過濾不變部分的頂點并加載相應的歷史計算數(shù)據(jù);
[0038]205、各計算任務在每輪超步計算時,復用不變部分頂點的歷史計算數(shù)據(jù)并在計算完成時保存本次作業(yè)的計算數(shù)據(jù)。
[0039]下面以一具體實例對本申請所述方法進行說明:
[0040]步驟201、202中所述的具體流程如圖3所示,[〇〇41]步驟301:用戶由分布式客戶端上傳新增圖文件后,各數(shù)據(jù)子節(jié)點將內(nèi)存中的圖數(shù)據(jù)發(fā)送至歸并服務器,歸并服務器對亂序到達的各部分圖數(shù)據(jù)進行排序并合并成增量圖。 [〇〇42]步驟302:歸并服務器對增量圖和歷史圖(最近一次存儲的圖結構)進行對比,使用寬度優(yōu)先搜索找出歷史圖中鏈接結構的不變部分頂點集合并將其分發(fā)至各子節(jié)點數(shù)據(jù)交換器。對比完成后,將增量圖和歷史圖合并作為歷史圖進行保存。如果之前沒有歷史圖,則保存該增量圖作為歷史圖。[〇〇43] 數(shù)據(jù)交換器(Data Exchanger),包括一組用于監(jiān)聽遠程請求的服務線程(RPC Handler)和一個用于和其他數(shù)據(jù)交換器進行數(shù)據(jù)交換的線程。當數(shù)據(jù)交換器執(zhí)行交換時, 所有的數(shù)據(jù)交換器需要進行同步(Synchronizat1n)以保障交換結果的正確性。
[0044]步驟201中圖文件包括圖的頂點集合和邊集合;歸并服務器包括一組用于監(jiān)聽遠程請求的服務線程(RPC Handler)和一個歸并線程;用戶上傳新增圖文件時,分布式客戶端(DFS_Client)首先向歸并服務器發(fā)送歸并請求,歸并服務器啟動一個歸并線程進行等待直至所有分布式文件系統(tǒng)中涉及到該圖文件的數(shù)據(jù)子節(jié)點均將其數(shù)據(jù)送達;歸并線程首先將亂序到達的各部分數(shù)據(jù)進行排序并合并組成新增圖,然后執(zhí)行寬度優(yōu)先搜索(BreadthFirst Search,BFS)以找出歷史圖受新增圖影響的鏈接部分,主要包括在歷史圖中和新增圖中存在邊關聯(lián)的頂點集合及其鏈接后繼。歸并服務器中的新增圖和歷史圖均采用鄰接鏈表形式保存。
[0045]步驟203所述的數(shù)據(jù)交換器進行歷史計算數(shù)據(jù)交換的示意圖如圖4所示,對于任意一個頂點,頂點Id取模計算子節(jié)點數(shù)就可以求出在新的增量作業(yè)計算中點所屬的任務,同時根據(jù)調(diào)度結果中的任務和子節(jié)點的對應信息,可以獲取該任務所屬的子節(jié)點,進而將所需復用消息發(fā)送給對應子節(jié)點,使得后續(xù)增量計算任務能夠順利讀取并復用。為了保證交換結果的正確性,所有子節(jié)點數(shù)據(jù)交換器在進行數(shù)據(jù)交換時,需要進行同步(Synchronizat1n)以保證交換結果的正確性。在數(shù)據(jù)發(fā)送過程中,為了提高發(fā)送效率,采用了多socket并發(fā)通信的方式,并對屬于同一頂點數(shù)據(jù)進行了合并以減少數(shù)據(jù)傳輸量,對于任務所屬子節(jié)點即為當前子節(jié)點的則無需傳輸。同時設置了壓縮選項,根據(jù)數(shù)據(jù)量的大小決定是否對消息進行壓縮以減輕網(wǎng)絡負載。
[0046]步驟204、205中所述的復用計算過程如圖5所示,包括以下步驟:
[0047]步驟401:作業(yè)啟動后,各計算任務根據(jù)本地數(shù)據(jù)交換器中的不變部分頂點集合過濾各自任務輸入的圖數(shù)據(jù),只保留變化頂點,同時加載可復用部分的歷史計算數(shù)據(jù)。
[0048]步驟402:計算過程中,各計算任務根據(jù)變化部分的頂點需求,加載轉(zhuǎn)換后的可復用消息并執(zhí)行迭代計算。
[0049]步驟403:計算完成時,各計算任務將變化部分的計算結果寫入分布式文件系統(tǒng),同時將本次作業(yè)的計算數(shù)據(jù)存入本地數(shù)據(jù)交換器,對于不變部分頂點的計算結果,由本地數(shù)據(jù)交換器根據(jù)轉(zhuǎn)換函數(shù)進行轉(zhuǎn)換后保存。
[0050]函數(shù)轉(zhuǎn)換,需要由用戶自行根據(jù)應用特點進行定義實現(xiàn)。如對于遍歷類的圖應用,其計算任務可以直接復用原計算的中間消息和數(shù)據(jù),而隨機行走類型的圖應用如Pagerank等則需要對復用消息和結果進行適當比例的縮放。
[0051]歷史計算數(shù)據(jù)封裝后的可復用消息結構如圖6所示,主要包括頂點的ID、頂點值、復用標志位、出度邊集合以及各超步所發(fā)消息集合。其中,復用標志位用于標明當前頂點復用的類型,O表示只復用頂點值,I表示只復用消息,2表示頂點值和消息均復用。
【主權項】
1.一種云計算環(huán)境中分布式計算模式下的增量式圖計算方法,其特征在于,包括以下 步驟:201、歸并服務器生成增量圖;202、歸并服務器將增量圖與歷史圖進行對比,找出歷史圖中鏈接結構的不變部分的頂 點集合并將其分發(fā)至各子節(jié)點數(shù)據(jù)交換器;203、作業(yè)開始前,各子節(jié)點的數(shù)據(jù)交換器對不變部分頂點的歷史計算數(shù)據(jù)進行同步交 換;204、各計算任務過濾不變部分的頂點并加載相應的歷史計算數(shù)據(jù);205、各計算任務在每輪超步計算時,復用不變部分頂點的歷史計算數(shù)據(jù)并在計算完成 時保存本次作業(yè)的計算數(shù)據(jù)。2.根據(jù)權利要求1所述的一種云計算環(huán)境中分布式計算模式下的增量式圖計算方法, 其特征在于,步驟201中用戶由分布式客戶端上傳新增圖文件后,各數(shù)據(jù)子節(jié)點將內(nèi)存中的 圖數(shù)據(jù)發(fā)送至歸并服務器,歸并服務器對亂序到達的各部分圖數(shù)據(jù)進行排序并合并成增量圖。3.根據(jù)權利要求1所述的一種云計算環(huán)境中分布式計算模式下的增量式圖計算方法, 其特征在于,步驟202中歸并服務器使用寬度優(yōu)先搜索將增量圖同歷史圖進行鏈接結構對 比,找出歷史圖中鏈接結構的不變部分的頂點集合,并將其分發(fā)至各計算子節(jié)點的數(shù)據(jù)交 換器;對比完成后,將增量圖和歷史圖合并作為歷史圖進行保存。4.根據(jù)權利要求3所述的一種云計算環(huán)境中分布式計算模式下的增量式圖計算方法, 其特征在于,歷史圖為最近一次存儲的圖結構。5.根據(jù)權利要求1所述的一種云計算環(huán)境中分布式計算模式下的增量式圖計算方法, 其特征在于,步驟203中各子節(jié)點的數(shù)據(jù)交換器對不變部分頂點的歷史計算數(shù)據(jù)進行同步 交換,主要包括以下兩步:1)主節(jié)點的任務調(diào)度器在完成任務分配后,將任務與對應子節(jié)點 的分配信息分發(fā)給各計算子節(jié)點的數(shù)據(jù)交換器;2)數(shù)據(jù)交換器根據(jù)步驟202中收到的不變 部分的頂點集合和任務分配信息,將不變部分的頂點的歷史計算數(shù)據(jù)封裝為可復用消息后 進行同步交換。6.根據(jù)權利要求1所述的一種云計算環(huán)境中分布式計算模式下的增量式圖計算方法, 其特征在于,步驟204中各計算任務根據(jù)本地數(shù)據(jù)交換器中獲取的不變部分頂點集合,對其 輸入數(shù)據(jù)進行過濾,然后加載不變部分頂點的歷史計算數(shù)據(jù);步驟205中各計算任務在每輪超步計算時,復用不變部分頂點的歷史計算數(shù)據(jù)并在計 算完成時保存本次作業(yè)計算數(shù)據(jù)。7.根據(jù)權利要求6所述的一種云計算環(huán)境中分布式計算模式下的增量式圖計算方法, 其特征在于,復用歷史計算數(shù)據(jù)時,對其值進行函數(shù)轉(zhuǎn)換以獲取正確結果。8.根據(jù)權利要求2所述的一種云計算環(huán)境中分布式計算模式下的增量式圖計算方法, 其特征在于,步驟201中圖文件包括圖的頂點集合和邊集合;歸并服務器包括一組用于監(jiān)聽 遠程請求的服務線程和一個歸并線程;用戶上傳新增圖文件時,分布式客戶端首先向歸并 服務器發(fā)送歸并請求,歸并服務器啟動一個歸并線程進行等待直至所有分布式文件系統(tǒng)中 涉及到該圖文件的數(shù)據(jù)子節(jié)點均將其數(shù)據(jù)送達;歸并線程首先將亂序到達的各部分數(shù)據(jù)進 行排序并合并組成新增圖,然后執(zhí)行寬度優(yōu)先搜索找出歷史圖受新增圖影響的鏈接部分,包括在歷史圖中和新增圖中存在邊關聯(lián)的頂點集合及其鏈接后繼;歸并服務器中的新增圖和歷史圖均采用鄰接鏈表形式保存。9.根據(jù)權利要求1所述的一種云計算環(huán)境中分布式計算模式下的增量式圖計算方法,其特征在于,數(shù)據(jù)交換器,包括一組用于監(jiān)聽遠程請求的服務線程和一個用于和其他數(shù)據(jù)交換器進行數(shù)據(jù)交換的線程;當數(shù)據(jù)交換器執(zhí)行交換時,所有的數(shù)據(jù)交換器需要進行同步以保障交換結果的正確性。10.根據(jù)權利要求1所述的一種云計算環(huán)境中分布式計算模式下的增量式圖計算方法,其特征在于,步驟204中的歷史計算數(shù)據(jù),包括各頂點的ID、出度邊集合,以及該頂點在每輪超步中所發(fā)送的中間消息值和最終的計算結果值。
【文檔編號】H04L29/08GK106033476SQ201610338716
【公開日】2016年10月19日
【申請日】2016年5月19日
【發(fā)明人】董小社, 劉強, 朱正東, 陳衡, 吳樹森, 袁守剛
【申請人】西安交通大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
榕江县| 延庆县| 文成县| 甘谷县| 临西县| 扎鲁特旗| 宁晋县| 彩票| 射洪县| 湄潭县| 万安县| 闻喜县| 观塘区| 双牌县| 滕州市| 托克托县| 正蓝旗| 湛江市| 峨边| 海宁市| 如皋市| 全南县| 临湘市| 新津县| 潞西市| 莎车县| 丰宁| 刚察县| 荔波县| 林甸县| 行唐县| 贺兰县| 文水县| 荣成市| 尼勒克县| 新余市| 龙陵县| 措勤县| 太湖县| 陵水| 台山市|