一種分布式系統(tǒng)的控制方法,及管理節(jié)點的制作方法
【專利摘要】本發(fā)明實施例公開一種分布式系統(tǒng)的控制方法,及管理節(jié)點,其中方法的實現(xiàn)包括:管理節(jié)點確定待處理的數(shù)據(jù)塊,并獲取管理節(jié)點下的各分布式節(jié)點的第一數(shù)據(jù)處理能力;管理節(jié)點按照各分布式節(jié)點的第一數(shù)據(jù)處理能力的大小,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點;在各分布式節(jié)點進行數(shù)據(jù)處理過程中,管理節(jié)點通過數(shù)據(jù)處理的完成狀態(tài)確定各分布式節(jié)點的第二數(shù)據(jù)處理能力,并依據(jù)各分布式節(jié)點的第二數(shù)據(jù)處理能力將未處理的數(shù)據(jù)塊進行重新存放。以上方案可以減少數(shù)據(jù)塊的遷移,這樣不僅可以充分利用分布式系統(tǒng)的計算能力,還可以通過提高數(shù)據(jù)處理的本地化率,來提升分布式系統(tǒng)的數(shù)據(jù)處理性能。
【專利說明】一種分布式系統(tǒng)的控制方法,及管理節(jié)點
【技術領域】
[0001]本發(fā)明涉及通信【技術領域】,特別涉及一種分布式系統(tǒng)的控制方法,及管理節(jié)點。
【背景技術】
[0002]分布式系統(tǒng)(distributed system)是建立在網(wǎng)絡之上的軟件系統(tǒng)。正是因為軟件的特性,所以分布式系統(tǒng)具有高度的內聚性和透明性。因此,網(wǎng)絡和分布式系統(tǒng)之間的區(qū)別更多的在于高層軟件(特別是操作系統(tǒng)),而不是硬件。內聚性是指每一個數(shù)據(jù)庫分布節(jié)點高度自治,有本地的數(shù)據(jù)庫管理系統(tǒng)。透明性是指每一個數(shù)據(jù)庫分布節(jié)點對用戶的應用來說都是透明的,看不出是本地還是遠程。在分布式數(shù)據(jù)庫系統(tǒng)中,用戶感覺不到數(shù)據(jù)是分布的,即用戶不須知道關系是否分割、有無副本、數(shù)據(jù)存于哪個站點以及事務在哪個站點上執(zhí)行等。
[0003]在一個分布式系統(tǒng)中,一組獨立的計算機展現(xiàn)給用戶的是一個統(tǒng)一的整體,就好像是一個系統(tǒng)似的。系統(tǒng)擁有多種通用的物理和邏輯資源,可以動態(tài)的分配任務,分散的物理和邏輯資源通過計算機網(wǎng)絡實現(xiàn)信息交換。系統(tǒng)中存在一個以全局的方式管理計算機資源的分布式操作系統(tǒng)。通常,對用戶來說,分布式系統(tǒng)只有一個模型或范型。在操作系統(tǒng)之上有一層軟件中間件(middleware)負責實現(xiàn)這個模型。一個著名的分布式系統(tǒng)的例子是萬維網(wǎng)(World Wide Web),在萬維網(wǎng)中,所有的一切看起來就好像是一個文檔(Web頁面)一樣。
[0004]在計算機網(wǎng)絡中,這種統(tǒng)一性、模型以及其中的軟件都不存在。用戶看到的是實際的機器,計算機網(wǎng)絡并沒有使這些機器看起來是統(tǒng)一的。如果這些機器有不同的硬件或者不同的操作系統(tǒng),那么,這些差異對于用戶來說都是完全可見的。如果一個用戶希望在一臺遠程機器上運行一個程序,那么,他必須登陸到遠程機器上,然后在那臺機器上運行該程序。
[0005]分布式系統(tǒng)和計算機網(wǎng)絡系統(tǒng)的共同點是:多數(shù)分布式系統(tǒng)是建立在計算機網(wǎng)絡之上的,所以分布式系統(tǒng)與計算機網(wǎng)絡在物理結構上是基本相同的。
[0006]他們的區(qū)別在于:分布式操作系統(tǒng)的設計思想和網(wǎng)絡操作系統(tǒng)是不同的,這決定了他們在結構、工作方式和功能上也不同。網(wǎng)絡操作系統(tǒng)要求網(wǎng)絡用戶在使用網(wǎng)絡資源時首先必須了解網(wǎng)絡資源,網(wǎng)絡用戶必須知道網(wǎng)絡中各個計算機的功能與配置、軟件資源、網(wǎng)絡文件結構等情況,在網(wǎng)絡中如果用戶要讀一個共享文件時,用戶必須知道這個文件放在哪一臺計算機的哪一個目錄下;分布式操作系統(tǒng)是以全局方式管理系統(tǒng)資源的,它可以為用戶任意調度網(wǎng)絡資源,并且調度過程是“透明”的。當用戶提交一個作業(yè)時,分布式操作系統(tǒng)能夠根據(jù)需要在系統(tǒng)中選擇最合適的處理器,將用戶的作業(yè)提交到該處理程序,在處理器完成作業(yè)后,將結果傳給用戶。在這個過程中,用戶并不會意識到有多個處理器的存在,這個系統(tǒng)就像是一個處理器一樣。
[0007]隨著計算機、互聯(lián)網(wǎng)和通訊技術的快速發(fā)展,網(wǎng)絡對海量級數(shù)據(jù)存儲能力和計算能力的需求日益提升。例如:云計算通過協(xié)同調度網(wǎng)絡中已有的軟硬件資源,實現(xiàn)了存儲與計算服務模式的虛擬化和透明化,并以其高效、靈活、拓展性強等諸多優(yōu)勢而成為解決網(wǎng)絡中海量數(shù)據(jù)存儲與計算的最新方案。目前在分布式系統(tǒng)中實現(xiàn)計算分配控制的方案一般可以如下:
[0008]1、管理節(jié)點首先根據(jù)配置文件確定待處理的數(shù)據(jù)塊的數(shù)量,并獲取管理節(jié)點下的各分布式節(jié)點的數(shù)據(jù)處理能力;
[0009]2、管理節(jié)點按照各分布式節(jié)點的數(shù)據(jù)處理能力的大小確定待處理的數(shù)據(jù)塊的分配方案;
[0010]3、管理節(jié)點按照上述分配方案將待處理的數(shù)據(jù)塊存入各分布式節(jié)點;
[0011]4、分布式節(jié)點對存入本地的待處理的數(shù)據(jù)塊進行處理,并輸出數(shù)據(jù)處理結果。
[0012]以上方案,待處理的數(shù)據(jù)塊是按照數(shù)據(jù)塊的數(shù)據(jù)量或者個數(shù)來分配的,分配的參考值是以分布式節(jié)點的數(shù)據(jù)處理能力,即分布式節(jié)點的硬件處理能力。然而,實際應用中,由于數(shù)據(jù)塊內容的不同等原因,會存在巨大的數(shù)據(jù)處理量的差異,數(shù)據(jù)處理量小的數(shù)據(jù)塊會很快被計算完畢。為了充分利用分布式系統(tǒng)的計算能力,被分配處理量小的數(shù)據(jù)塊的分布式節(jié)點在計算完畢以后,會向計算量大的分布式節(jié)點進行數(shù)據(jù)請求,請求將其未處理的數(shù)據(jù)塊發(fā)送給自己處理。以上方案為了充分利用分布式系統(tǒng)的計算能力,導致數(shù)據(jù)處理的本地化率較低,分布式系統(tǒng)的數(shù)據(jù)處理性能也較低。
【發(fā)明內容】
[0013]本發(fā)明實施例提供了一種分布式系統(tǒng)的控制方法,及管理節(jié)點,用于在充分利用分布式系統(tǒng)的計算能力的前提下,提高數(shù)據(jù)處理的本地化率,并提升分布式系統(tǒng)的數(shù)據(jù)處理性能。
[0014]本發(fā)明實施例一方面提供了一種分布式系統(tǒng)的控制方法,包括:
[0015]管理節(jié)點確定待處理的數(shù)據(jù)塊,并獲取管理節(jié)點下的各分布式節(jié)點的第一數(shù)據(jù)處理能力;
[0016]管理節(jié)點按照各分布式節(jié)點的第一數(shù)據(jù)處理能力的大小,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點;
[0017]在各分布式節(jié)點進行數(shù)據(jù)處理過程中,管理節(jié)點通過數(shù)據(jù)處理的完成狀態(tài)確定各分布式節(jié)點的第二數(shù)據(jù)處理能力,并依據(jù)各分布式節(jié)點的第二數(shù)據(jù)處理能力將未處理的數(shù)據(jù)塊進行重新存放。
[0018]結合一方面的實現(xiàn)方式,在第一種可能的實現(xiàn)方式中,所述在各分布式節(jié)點進行數(shù)據(jù)處理過程中,管理節(jié)點通過數(shù)據(jù)處理的完成狀態(tài)確定各分布式節(jié)點的第二數(shù)據(jù)處理能力包括:
[0019]在各分布式節(jié)點進行數(shù)據(jù)處理過程中,管理節(jié)點通過各分布式節(jié)點的空閑計算資源、待處理數(shù)據(jù)塊的數(shù)量、網(wǎng)絡狀態(tài)以及加速比確定各分布式節(jié)點的第二數(shù)據(jù)處理能力。
[0020]結合一方面的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述方法,還包括:
[0021]在待處理的數(shù)據(jù)塊全部被處理完畢后,依據(jù)各分布式節(jié)點處理的數(shù)據(jù)塊調整各分布式節(jié)點的數(shù)據(jù)處理能力;
[0022]在接收到與所述待處理的數(shù)據(jù)塊相同的待處理的數(shù)據(jù)塊后,依據(jù)調整后的各分布式節(jié)點的數(shù)據(jù)處理能力的大小,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點。[0023]結合一方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述依據(jù)各分布式節(jié)點處理的數(shù)據(jù)塊調整各分布式節(jié)點的數(shù)據(jù)處理能力包括:
[0024]依據(jù)第一次存入各分布式節(jié)點的數(shù)據(jù)塊的數(shù)量以及各分布式節(jié)點實際處理數(shù)據(jù)塊的數(shù)量,確定各分布式節(jié)點的數(shù)據(jù)處理本地化率;或者,依據(jù)存放在各分布式節(jié)點本地的數(shù)據(jù)塊所需的處理時間以及各分布式節(jié)點的實際數(shù)據(jù)處理時間,確定各分布式節(jié)點的數(shù)據(jù)處理本地化率依據(jù)各分布式節(jié)點的數(shù)據(jù)處理本地化率調整各分布式節(jié)點的數(shù)據(jù)處理能力。
[0025]結合一方面的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述將待處理的數(shù)據(jù)塊存入各分布式節(jié)點包括:
[0026]將待處理的數(shù)據(jù)塊存入各分布式節(jié)點,并由各分布式節(jié)點的中央處理器分配到圖形處理器進行數(shù)據(jù)處理。
[0027]結合一方面的實現(xiàn)方式、一方面的第一種、第二種、第三種或者第四種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,所述方法,還包括:
[0028]管理節(jié)點獲取各分布式節(jié)點的網(wǎng)絡速率;
[0029]若按照第一數(shù)據(jù)處理能力大小或者第二數(shù)據(jù)處理能力大小,會將數(shù)據(jù)塊存入第一分布式節(jié)點,并且第一分布式節(jié)點的網(wǎng)絡速率小于網(wǎng)絡速度預定閾值,則在分布式系統(tǒng)中重新選擇節(jié)點進行存放。
[0030]結合一方面的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,所述方法,還包括:
[0031]在待處理的數(shù)據(jù)塊全部被處理完畢后,依據(jù)各數(shù)據(jù)塊的處理時間以及處理各數(shù)據(jù)塊的分布式節(jié)點的第一數(shù)據(jù)處理能力,確定各數(shù)據(jù)塊的數(shù)據(jù)處理量;
[0032]管理節(jié)點在接收到與所述待處理的數(shù)據(jù)塊相同的待處理的數(shù)據(jù)塊后,依據(jù)各數(shù)據(jù)塊的數(shù)據(jù)處理量以及各分布式節(jié)點的第一數(shù)據(jù)處理能力,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點。
[0033]結合一方面的第六種可能的實現(xiàn)方式,在第七種可能的實現(xiàn)方式中,所述方法,其特征在于,還包括:
[0034]管理節(jié)點獲取各分布式節(jié)點的網(wǎng)絡速率;
[0035]所述依據(jù)各數(shù)據(jù)塊的數(shù)據(jù)處理量以及各分布式節(jié)點的第一數(shù)據(jù)處理能力,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點包括:
[0036]依據(jù)各數(shù)據(jù)塊的數(shù)據(jù)處理量、各分布式節(jié)點的網(wǎng)絡速率以及第一數(shù)據(jù)處理能力,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點。
[0037]本發(fā)明實施例二方面提供了一種分布式系統(tǒng)的管理節(jié)點,包括:
[0038]數(shù)據(jù)確定單元,用于確定待處理的數(shù)據(jù)塊;
[0039]能力確定單元,用于獲取管理節(jié)點下的各分布式節(jié)點的第一數(shù)據(jù)處理能力;在各分布式節(jié)點進行數(shù)據(jù)處理過程中,通過數(shù)據(jù)處理的完成狀態(tài)確定各分布式節(jié)點的第二數(shù)據(jù)處理能力;
[0040]分配單元,用于按照所述能力確定單元確定的各分布式節(jié)點的第一數(shù)據(jù)處理能力的大小,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點;依據(jù)所述能力確定單元確定的各分布式節(jié)點的第二數(shù)據(jù)處理能力將未處理的數(shù)據(jù)塊進行重新存放。
[0041]結合二方面的實現(xiàn)方式,在第一種可能的實現(xiàn)方式中,所述能力確定單元,用于在各分布式節(jié)點進行數(shù)據(jù)處理過程中,管理節(jié)點通過各分布式節(jié)點的空閑計算資源、待處理數(shù)據(jù)塊的數(shù)量、網(wǎng)絡狀態(tài)以及加速比確定各分布式節(jié)點的第二數(shù)據(jù)處理能力。
[0042]結合一方面的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述能力確定單元,還用于在待處理的數(shù)據(jù)塊全部被處理完畢后,依據(jù)各分布式節(jié)點處理的數(shù)據(jù)塊調整各分布式節(jié)點的數(shù)據(jù)處理能力;
[0043]所述分配單元,用于在接收到與所述待處理的數(shù)據(jù)塊相同的待處理的數(shù)據(jù)塊后,依據(jù)所述能力確定單元調整后的各分布式節(jié)點的數(shù)據(jù)處理能力的大小,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點。
[0044]結合一方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述能力確定單元,用于依據(jù)第一次存入各分布式節(jié)點的數(shù)據(jù)塊的數(shù)量以及各分布式節(jié)點實際處理數(shù)據(jù)塊的數(shù)量,確定各分布式節(jié)點的數(shù)據(jù)處理本地化率;或者,依據(jù)存放在各分布式節(jié)點本地的數(shù)據(jù)塊所需的處理時間以及各分布式節(jié)點的實際數(shù)據(jù)處理時間,確定各分布式節(jié)點的數(shù)據(jù)處理本地化率依據(jù)各分布式節(jié)點的數(shù)據(jù)處理本地化率調整各分布式節(jié)點的數(shù)據(jù)處理能力。
[0045]結合二方面的實現(xiàn)方式、二方面的第一種、第二種或者第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述管理節(jié)點,還包括:
[0046]速率獲取單元,用于獲取各分布式節(jié)點的網(wǎng)絡速率;
[0047]所述分配單元,用于若按照第一數(shù)據(jù)處理能力大小或者第二數(shù)據(jù)處理能力大小,會將數(shù)據(jù)塊存入第一分布式節(jié)點,并且第一分布式節(jié)點的網(wǎng)絡速率小于網(wǎng)絡速度預定閾值,則在分布式系統(tǒng)中重新選擇節(jié)點進行存放。
[0048]結合一方面的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,所述管理節(jié)點,還包括:
[0049]處理量確定單元,用于在待處理的數(shù)據(jù)塊全部被處理完畢后,依據(jù)各數(shù)據(jù)塊的處理時間以及處理各數(shù)據(jù)塊的分布式節(jié)點的第一數(shù)據(jù)處理能力,確定各數(shù)據(jù)塊的數(shù)據(jù)處理量;
[0050]所述分配單元,用于在管理節(jié)點在接收到與所述待處理的數(shù)據(jù)塊相同的待處理的數(shù)據(jù)塊后,依據(jù)各數(shù)據(jù)塊的數(shù)據(jù)處理量以及各分布式節(jié)點的第一數(shù)據(jù)處理能力,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點。
[0051]結合一方面的第五種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,所述管理節(jié)點,還包括:
[0052]獲取速率單元,用于獲取各分布式節(jié)點的網(wǎng)絡速率;
[0053]所述分配單元,用于依據(jù)各數(shù)據(jù)塊的數(shù)據(jù)處理量、各分布式節(jié)點的網(wǎng)絡速率以及第一數(shù)據(jù)處理能力,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點。
[0054]從以上技術方案可以看出,本發(fā)明實施例具有以下優(yōu)點:在分布式系統(tǒng)的各分布式節(jié)點進行數(shù)據(jù)處理過程中,數(shù)據(jù)處理量小的數(shù)據(jù)塊會迅速被處理完畢,這樣這些被處理完畢的數(shù)據(jù)塊所占用的數(shù)據(jù)處理能力將會被釋放,因此在分布式節(jié)點進行數(shù)據(jù)處理過程中,各分布式節(jié)點的數(shù)據(jù)處理能力實際上是在不停變化中的?;诖?,本發(fā)明實施例提出了動態(tài)確定分布式節(jié)點的數(shù)據(jù)處理能力的方案,從而對未處理的數(shù)據(jù)塊進行重新存放,來減少數(shù)據(jù)塊的遷移。這樣不僅可以充分利用分布式系統(tǒng)的計算能力,還可以通過提高數(shù)據(jù)處理的本地化率,來提升分布式系統(tǒng)的數(shù)據(jù)處理性能?!緦@綀D】
【附圖說明】
[0055]為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域的普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0056]圖1為本發(fā)明實施例方法流程示意圖;
[0057]圖2為本發(fā)明實施例分布式異構系統(tǒng)架構示意圖;
[0058]圖3為本發(fā)明實施例方法流程示意圖;
[0059]圖4為本發(fā)明實施例分布式異構系統(tǒng)數(shù)據(jù)存放示意圖;
[0060]圖5為本發(fā)明實施例分布式異構系統(tǒng)數(shù)據(jù)存放示意圖;
[0061]圖6為本發(fā)明實施例管理節(jié)點結構示意圖;
[0062]圖7為本發(fā)明實施例管理節(jié)點結構示意圖;
[0063]圖8為本發(fā)明實施例管理節(jié)點結構示意圖;
[0064]圖9為本發(fā)明實施例管理節(jié)點結構示意圖;
[0065]圖10為本發(fā)明實施例管理節(jié)點結構示意圖。
【具體實施方式】
[0066]為了使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明作進一步地詳細描述,顯然,所描述的實施例僅僅是本發(fā)明一部份實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
[0067]本發(fā)明實施例提供了一種分布式系統(tǒng)的控制方法,如圖1所示,包括:
[0068]101:管理節(jié)點確定待處理的數(shù)據(jù)塊,并獲取管理節(jié)點下的各分布式節(jié)點的第一數(shù)據(jù)處理能力;
[0069]在本發(fā)明實施例中,管理節(jié)點是確定數(shù)據(jù)塊如何分配的決策節(jié)點,它可以與接收業(yè)務處理任務(待處理數(shù)據(jù)塊)的分發(fā)設備集成在一起作為管理節(jié)點使用,也可以單獨存在于網(wǎng)絡中,這種情況下管理節(jié)點的分配決策將會下發(fā)到分發(fā)設備指令分發(fā)設備按照分配決策進行數(shù)據(jù)塊的存放。管理節(jié)點與分發(fā)設備是否集成在一起,對此本發(fā)明實施例不予限定。
[0070]管理節(jié)點確定待處理的數(shù)據(jù)塊的方式可以具體如下:在接收到處理任務以后,可以根據(jù)與這個處理任務對應的配置文件確定待處理的數(shù)據(jù)塊的數(shù)量,這樣處理任務可以拆分為很多的數(shù)據(jù)塊,那么這些數(shù)據(jù)塊就是待處理的數(shù)據(jù)塊。
[0071]102:管理節(jié)點按照各分布式節(jié)點的第一數(shù)據(jù)處理能力的大小,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點;
[0072]可選地,本發(fā)明實施例可以應用于異構的分布式系統(tǒng)中,基于傳統(tǒng)CPU (CentralProcessing Unit,中央處理器)的分布式計算體系結構具有超強的海量數(shù)據(jù)處理能力,但不具有足夠的高性能計算能力,將具有超強并行計算能力的GPU (Graphic ProcessingUnit,圖形處理器)與云計算相融合,基于CPU/GPU異構平臺的高性能計算體系結構是云計算硬件平臺發(fā)展的一個重要方向。本發(fā)明實施例提供的異構的分布式系統(tǒng)的實現(xiàn)方案具體如下:上述將待處理的數(shù)據(jù)塊存入各分布式節(jié)點包括:將待處理的數(shù)據(jù)塊存入各分布式節(jié)點,由各分布式節(jié)點的中央處理器分配到圖形處理器進行數(shù)據(jù)處理。
[0073]進一步地,在數(shù)據(jù)塊被存入的過程中,由于各分布式節(jié)點的網(wǎng)絡速率并不相同,數(shù)據(jù)塊存入各分布式節(jié)點所需的時間也不同,若僅考慮各分布式節(jié)點的數(shù)據(jù)處理能力,則仍然不能盡快的完成數(shù)據(jù)塊的處理,因此本發(fā)明實施例提出了進一步參考各分布式節(jié)點的網(wǎng)絡速率的方案,具體如下:上述方法,還包括:管理節(jié)點獲取各分布式節(jié)點的網(wǎng)絡速率;若按照第一數(shù)據(jù)處理能力大小或者第二數(shù)據(jù)處理能力大小,會將數(shù)據(jù)塊存入第一分布式節(jié)點,并且第一分布式節(jié)點的網(wǎng)絡速率小于網(wǎng)絡速度預定閾值,則在分布式系統(tǒng)中重新選擇節(jié)點進行存放。
[0074]分布式節(jié)點的網(wǎng)絡速率的獲取方案可以有很多,例如:按照節(jié)點網(wǎng)絡速率(N_S) =(非本地處理的數(shù)據(jù)塊大小)/ (傳輸時間)、節(jié)點網(wǎng)絡狀態(tài)(S_S)=N_S/ (分布式網(wǎng)絡平均網(wǎng)速),然后按照節(jié)點網(wǎng)絡狀態(tài)來確定網(wǎng)絡傳輸速率。還可以由各分布式節(jié)點上報自身的網(wǎng)絡速率。網(wǎng)絡速率的獲得方式,本發(fā)明實施例不予限定。
[0075]103:在各分布式節(jié)點進行數(shù)據(jù)處理過程中,管理節(jié)點通過數(shù)據(jù)處理的完成狀態(tài)確定各分布式節(jié)點的第二數(shù)據(jù)處理能力,并依據(jù)各分布式節(jié)點的第二數(shù)據(jù)處理能力將未處理的數(shù)據(jù)塊進行重新存放。
[0076]在分布式系統(tǒng)的各分布式節(jié)點進行數(shù)據(jù)處理過程中,數(shù)據(jù)處理量小的數(shù)據(jù)塊會迅速被處理完畢,這樣這些被處理完畢的數(shù)據(jù)塊所占用的數(shù)據(jù)處理能力將會被釋放,因此在分布式節(jié)點進行數(shù)據(jù)處理過程中,各分布式節(jié)點的數(shù)據(jù)處理能力實際上是在不停變化中的?;诖?,本發(fā)明實施例提出了動態(tài)確定分布式節(jié)點的數(shù)據(jù)處理能力的方案,從而對未處理的數(shù)據(jù)塊進行重新存放,來減少數(shù)據(jù)塊的遷移。這樣不僅可以充分利用分布式系統(tǒng)的計算能力,還可以通過提高數(shù)據(jù)處理的本地化率,來提升分布式系統(tǒng)的數(shù)據(jù)處理性能。
[0077]本發(fā)明實施例還提供了第二數(shù)據(jù)處理能力的具體計算方案,具體如下:上述在各分布式節(jié)點進行數(shù)據(jù)處理過程中,管理節(jié)點通過數(shù)據(jù)處理的完成狀態(tài)確定各分布式節(jié)點的第二數(shù)據(jù)處理能力包括:在各分布式節(jié)點進行數(shù)據(jù)處理過程中,管理節(jié)點通過各分布式節(jié)點的空閑計算資源、待處理數(shù)據(jù)塊的數(shù)量、網(wǎng)絡狀態(tài)以及加速比確定各分布式節(jié)點的第二數(shù)據(jù)處理能力。
[0078]在分布式系統(tǒng)中,經(jīng)常會有很多業(yè)務數(shù)據(jù)是需要經(jīng)常處理的,例如一些需要定時周期性處理的業(yè)務報表、統(tǒng)計數(shù)據(jù)庫的計算等等。這些數(shù)據(jù)在計算完一次以后,數(shù)據(jù)塊的再次分配是可以參考前一次的數(shù)據(jù)處理的實際執(zhí)行情況來進行分配的,這樣可以進一步的使數(shù)據(jù)塊的實際數(shù)據(jù)處理量與各分布式節(jié)點的數(shù)據(jù)處理能力相適應,來減少數(shù)據(jù)塊的遷移,具體方案如下:進一步地,上述方法,還包括:在待處理的數(shù)據(jù)塊全部被處理完畢后,依據(jù)各分布式節(jié)點處理的數(shù)據(jù)塊調整各分布式節(jié)點的數(shù)據(jù)處理能力;在接收到與上述待處理的數(shù)據(jù)塊相同的待處理的數(shù)據(jù)塊后,依據(jù)調整后的各分布式節(jié)點的數(shù)據(jù)處理能力的大小,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點。
[0079]由于數(shù)據(jù)塊已經(jīng)被處理完畢,那么數(shù)據(jù)塊的實際處理節(jié)點(或者每個分布式節(jié)點實際處理的數(shù)據(jù)塊)是可知的,那么據(jù)此是可以制定相關的規(guī)則來重新確定分布式節(jié)點的數(shù)據(jù)處理能力。被調整后的數(shù)據(jù)處理能力將不再單體現(xiàn)了數(shù)據(jù)處理的速度,還會與數(shù)據(jù)塊的內容等建立內在的關聯(lián),從而更貼近實際處理時間的優(yōu)化,基于此本發(fā)明實施例給出了依據(jù)各分布式節(jié)點處理的數(shù)據(jù)塊調整各分布式節(jié)點的數(shù)據(jù)處理能力具體實現(xiàn)方式的舉例,如下:可選地,上述依據(jù)各分布式節(jié)點處理的數(shù)據(jù)塊調整各分布式節(jié)點的數(shù)據(jù)處理能力包括:依據(jù)第一次存入各分布式節(jié)點的數(shù)據(jù)塊的數(shù)量以及各分布式節(jié)點實際處理數(shù)據(jù)塊的數(shù)量,確定各分布式節(jié)點的數(shù)據(jù)處理本地化率;或者,依據(jù)存放在各分布式節(jié)點本地的數(shù)據(jù)塊所需的處理時間以及各分布式節(jié)點的實際數(shù)據(jù)處理時間,確定各分布式節(jié)點的數(shù)據(jù)處理本地化率依據(jù)各分布式節(jié)點的數(shù)據(jù)處理本地化率調整各分布式節(jié)點的數(shù)據(jù)處理能力。
[0080]可以理解的是,如果各分布式節(jié)點的數(shù)據(jù)處理能力被調整以后,在進行數(shù)據(jù)塊分配過程中,將會有與原有的分配結果發(fā)生改變,相應存放的方式也會發(fā)生改變,進而減少數(shù)據(jù)塊的遷移,提高數(shù)據(jù)處理的本地化率。
[0081]在分布式系統(tǒng)中,經(jīng)常會有很多業(yè)務數(shù)據(jù)是需要經(jīng)常處理的,例如一些需要定時周期性處理的業(yè)務報表、統(tǒng)計數(shù)據(jù)庫的計算等等。這些數(shù)據(jù)在計算完一次以后,數(shù)據(jù)塊的再次分配是可以參考前一次的數(shù)據(jù)處理的實際執(zhí)行情況來進行分配的,這樣可以進一步的使數(shù)據(jù)塊的實際數(shù)據(jù)處理量與各分布式節(jié)點的數(shù)據(jù)處理能力相適應,來減少數(shù)據(jù)塊的遷移;與前一方案不同的是,基于第一次數(shù)據(jù)塊的處理,由于已經(jīng)獲知的信息有:各分布式節(jié)點的數(shù)據(jù)處理能力,可以獲知的有各數(shù)據(jù)塊的實際處理時間,那么基于這兩點是可以計算出各數(shù)據(jù)塊的數(shù)據(jù)處理量的,數(shù)據(jù)處理量可以有各種參考值,例如采用實際處理的分布式節(jié)點的數(shù)據(jù)處理能力與實際處理時間的積作為參考值。基于此本實施例具體可以如下:進一步地,上述方法,還包括:
[0082]在待處理的數(shù)據(jù)塊全部被處理完畢后,依據(jù)各數(shù)據(jù)塊的處理時間以及處理各數(shù)據(jù)塊的分布式節(jié)點的第一數(shù)據(jù)處理能力,確定各數(shù)據(jù)塊的數(shù)據(jù)處理量;
[0083]管理節(jié)點在接收到與上述待處理的數(shù)據(jù)塊相同的待處理的數(shù)據(jù)塊后,依據(jù)各數(shù)據(jù)塊的數(shù)據(jù)處理量以及各分布式節(jié)點的第一數(shù)據(jù)處理能力,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點。
[0084]在獲知各數(shù)據(jù)塊的的數(shù)據(jù)處理量以后,分配數(shù)據(jù)塊的策略可以繼續(xù)增加可能影響分布式系統(tǒng)的實際處理時間的參數(shù),例如:網(wǎng)絡速率??梢垣@知的是,如果一個分布式節(jié)點僅處理一個數(shù)據(jù)塊,那么處理時間應該是這個數(shù)據(jù)塊傳輸?shù)竭@個節(jié)點的時間、該分布式節(jié)點處理這個數(shù)據(jù)塊的時間,以及數(shù)據(jù)處理結果回傳的時間之和。因此網(wǎng)絡速率是會影響到分布式系統(tǒng)的實際處理時間的,應該將數(shù)據(jù)塊分配給以上“時間之和”最小的節(jié)點,基于此本發(fā)明實施例提供了如下解決方案:進一步地,上述方法,還包括:管理節(jié)點獲取各分布式節(jié)點的網(wǎng)絡速率;上述依據(jù)各數(shù)據(jù)塊的數(shù)據(jù)處理量以及各分布式節(jié)點的第一數(shù)據(jù)處理能力,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點包括:依據(jù)各數(shù)據(jù)塊的數(shù)據(jù)處理量、各分布式節(jié)點的網(wǎng)絡速率以及第一數(shù)據(jù)處理能力,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點。
[0085]以下實施例將以異構的分布式系統(tǒng)為例對本發(fā)明實施例進行更詳細的舉例說明,需要說明的是,在任意的分布式系統(tǒng)中均可以使用本發(fā)明實施例方案并不僅限于異構的分布式系統(tǒng)。
[0086]本實施例在由異構Hadoop (—種分布式系統(tǒng)基礎架構)集群構成的云計算平臺中,每個分布式節(jié)點的軟硬件配置是不相同的,其計算能力也會有明顯的差異,高速的分布式節(jié)點會比低速分布式節(jié)點更快的處理完存儲在本地磁盤的數(shù)據(jù)。為了盡快地完成數(shù)據(jù)處理任務,快速節(jié)點在處理完本地輸入數(shù)據(jù)任務時,會耗費有限的網(wǎng)絡帶寬來請求處理附近慢速分布式節(jié)點未處理的數(shù)據(jù)。在異構的分布式系統(tǒng)中,各分布式節(jié)點的處理能力是根據(jù)CPU+GPU來計算硬件的數(shù)據(jù)處理能力(也可以視為是計算能力),進行文件存放和任務調度。本發(fā)明實施例的分布式異構系統(tǒng)架構示意圖,如圖2所示,包含,客戶端201、管理節(jié)點202、分布式節(jié)點203 ;客戶端201和分布式節(jié)點203可能有很多個,客戶端201提出分布式處理的業(yè)務需求,即待處理數(shù)據(jù)塊的來源;分布式節(jié)點203用于處理存放到本地的數(shù)據(jù)塊得到數(shù)據(jù)處理結果,數(shù)據(jù)處理的結果可以輸出可以通過管理節(jié)點202回傳到客戶端201。分布式節(jié)點203從上層到底層主要可以有Task Tracker (任務追蹤)CUDA(ComputeUnified Device Architecture,一種運算架構)/0PENCL(Computing Language,運算語言)、OS (Operating System,操作系統(tǒng))、CPU、GPU。管理節(jié)點202的主要功能是數(shù)據(jù)塊的分配決策以及數(shù)據(jù)塊的存放。
[0087]本發(fā)明實施例中,管理節(jié)點主要的功能有兩個部分:一、數(shù)據(jù)存放:在分布式系統(tǒng)中,數(shù)據(jù)存放以分布式節(jié)點計算能力為標準,計算能力越強,存放的數(shù)據(jù)塊數(shù)越多。二、任務分配:控制節(jié)點動態(tài)計算分布式節(jié)點計算能力,任務分配器(可以是集成在管理節(jié)點內的功能單元)根據(jù)分布式節(jié)點的計算能力,以數(shù)據(jù)為中心,將計算任務發(fā)給計算能力強的節(jié)點進行處理。分布式節(jié)點的功能是:任務執(zhí)行:分布式結點從分布式文件系統(tǒng)獲取輸入數(shù)據(jù)后,CPU將計算任務放到GPU上進行運算,并返回結果。具體流程如圖3所示。
[0088]數(shù)據(jù)存放流程,如圖3左則流程所示,包括如下步驟:
[0089]301、控制節(jié)點根據(jù)配置文件計算需存放的數(shù)據(jù)塊數(shù)量。
[0090]302、控制節(jié)點根據(jù)各分布式節(jié)點的硬件配置或運行標準程序等的參數(shù),計算各分布式節(jié)點的計算能力。
[0091]另外,還會在計算任務(數(shù)據(jù)塊)被分布式節(jié)點處理完畢時,根據(jù)任務執(zhí)行狀況更新計算能力。此處在圖3右側流程圖中將給出更詳細的說明。
[0092]303、控制節(jié)點根據(jù)各分布式節(jié)點的計算能力,進行數(shù)據(jù)塊分配。
[0093]304、控制節(jié)點按照分配結果將數(shù)據(jù)塊存入分布式節(jié)點。
[0094]305、控制節(jié)點計算分布式節(jié)點的網(wǎng)絡狀態(tài),進入步驟302后,控制節(jié)點根據(jù)網(wǎng)絡狀態(tài)和分布式節(jié)點存放的數(shù)據(jù)塊數(shù)量,重新計算分布式節(jié)點計算能力。其中步驟302至305是重復執(zhí)行的,直到所有數(shù)據(jù)塊存放完畢。
[0095]在本實施例中,數(shù)據(jù)存放原則可以如下:
[0096]1、以塊為單位,在系統(tǒng)中查找一個計算能力最強的分布式節(jié)點進行數(shù)據(jù)存放。
[0097]2、分布式節(jié)點計算能力隨著存放數(shù)據(jù)塊的數(shù)量增加而減弱;另外,網(wǎng)絡狀態(tài)越好,計算能力越強。
[0098]3、在各分布式節(jié)點計算能力相同時,選擇存放數(shù)據(jù)塊數(shù)量較少的分布式節(jié)點存放。
[0099]4、分布式節(jié)點計算能力和存放數(shù)據(jù)塊的塊數(shù)都相同時,可以隨機選擇。
[0100]基于本分發(fā)明實施例提供的數(shù)據(jù)塊的分配/存放規(guī)則,以下給出了一個數(shù)據(jù)存放示例:如圖4所示,有6個數(shù)據(jù)塊B_1?B_6需要存放到6個分布式節(jié)點C_1?C_6。在本例中,需要存放數(shù)據(jù)塊總數(shù)為6塊,系統(tǒng)中有6個數(shù)據(jù)節(jié)點,其計算能力分別為1,2,3,4,5,
6.對應的分布式節(jié)點編號為節(jié)點C_l,C_2, C_3, C_4, C_5, C_6。具體存放過程如表I?表6所示。
[0101]1、根據(jù)存放規(guī)則:將B_1存入到節(jié)點6 ;[0102]調整系統(tǒng)節(jié)點計算能力,尋找B_2可存放的節(jié)點。
[0103]表1
[0104]
【權利要求】
1.一種分布式系統(tǒng)的控制方法,其特征在于,包括: 管理節(jié)點確定待處理的數(shù)據(jù)塊,并獲取管理節(jié)點下的各分布式節(jié)點的第一數(shù)據(jù)處理能力; 管理節(jié)點按照各分布式節(jié)點的第一數(shù)據(jù)處理能力的大小,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點; 在各分布式節(jié)點進行數(shù)據(jù)處理過程中,管理節(jié)點通過數(shù)據(jù)處理的完成狀態(tài)確定各分布式節(jié)點的第二數(shù)據(jù)處理能力,并依據(jù)各分布式節(jié)點的第二數(shù)據(jù)處理能力將未處理的數(shù)據(jù)塊進行重新存放。
2.根據(jù)權利要求1所述方法,其特征在于,所述在各分布式節(jié)點進行數(shù)據(jù)處理過程中,管理節(jié)點通過數(shù)據(jù)處理的完成狀態(tài)確定各分布式節(jié)點的第二數(shù)據(jù)處理能力包括: 在各分布式節(jié)點進行數(shù)據(jù)處理過程中,管理節(jié)點通過各分布式節(jié)點的空閑計算資源、待處理數(shù)據(jù)塊的數(shù)量、網(wǎng)絡狀態(tài)以及加速比確定各分布式節(jié)點的第二數(shù)據(jù)處理能力。
3.根據(jù)權利要求1所述方法,其特征在于,還包括: 在待處理的數(shù)據(jù)塊全部被處理完畢后,依據(jù)各分布式節(jié)點處理的數(shù)據(jù)塊調整各分布式節(jié)點的數(shù)據(jù)處理能力; 在接收到與所述待處理的數(shù)據(jù)塊相同的待處理的數(shù)據(jù)塊后,依據(jù)調整后的各分布式節(jié)點的數(shù)據(jù)處理能力的大小,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點。
4.根據(jù)權利要求3所述方法,其特征在于,所述依據(jù)各分布式節(jié)點處理的數(shù)據(jù)塊調整各分布式節(jié)點的數(shù)據(jù)處理能力包括: 依據(jù)第一次存入各分布式節(jié)點的數(shù)據(jù)塊的數(shù)量以及各分布式節(jié)點實際處理數(shù)據(jù)塊的數(shù)量,確定各分布式節(jié)點的數(shù)據(jù)處理本地化率;或者,依據(jù)存放在各分布式節(jié)點本地的數(shù)據(jù)塊所需的處理時間以及各分布式節(jié)點的實際數(shù)據(jù)處理時間,確定各分布式節(jié)點的數(shù)據(jù)處理本地化率; 依據(jù)各分布式節(jié)點的數(shù)據(jù)處理本地化率調整各分布式節(jié)點的數(shù)據(jù)處理能力。
5.根據(jù)權利要求1所述方法,其特征在于,所述將待處理的數(shù)據(jù)塊存入各分布式節(jié)點包括: 將待處理的數(shù)據(jù)塊存入各分布式節(jié)點,并由各分布式節(jié)點的中央處理器分配到圖形處理器進行數(shù)據(jù)處理。
6.根據(jù)權利要求1至5任意一項所述方法,其特征在于,還包括: 管理節(jié)點獲取各分布式節(jié)點的網(wǎng)絡速率; 若按照第一數(shù)據(jù)處理能力大小或者第二數(shù)據(jù)處理能力大小,會將數(shù)據(jù)塊存入第一分布式節(jié)點,并且第一分布式節(jié)點的網(wǎng)絡速率小于網(wǎng)絡速度預定閾值,則在分布式系統(tǒng)中重新選擇節(jié)點進行存放。
7.根據(jù)權利要求1所述方法,其特征在于,還包括: 在待處理的數(shù)據(jù)塊全部被處理完畢后,依據(jù)各數(shù)據(jù)塊的處理時間以及處理各數(shù)據(jù)塊的分布式節(jié)點的第一數(shù)據(jù)處理能力,確定各數(shù)據(jù)塊的數(shù)據(jù)處理量; 管理節(jié)點在接收到與所述待處理的數(shù)據(jù)塊相同的待處理的數(shù)據(jù)塊后,依據(jù)各數(shù)據(jù)塊的數(shù)據(jù)處理量以及各分布式節(jié)點的第一數(shù)據(jù)處理能力,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點。
8.根據(jù)權利要求7所述方法,其特征在于,還包括: 管理節(jié)點獲取各分布式節(jié)點的網(wǎng)絡速率; 所述依據(jù)各數(shù)據(jù)塊的數(shù)據(jù)處理量以及各分布式節(jié)點的第一數(shù)據(jù)處理能力,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點包括: 依據(jù)各數(shù)據(jù)塊的數(shù)據(jù)處理量、各分布式節(jié)點的網(wǎng)絡速率以及第一數(shù)據(jù)處理能力,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點。
9.一種分布式系統(tǒng)的管理節(jié)點,其特征在于,包括: 數(shù)據(jù)確定單元,用于確定待處理的數(shù)據(jù)塊; 能力確定單元,用于獲取管理節(jié)點下的各分布式節(jié)點的第一數(shù)據(jù)處理能力;在各分布式節(jié)點進行數(shù)據(jù)處理過程中,通過數(shù)據(jù)處理的完成狀態(tài)確定各分布式節(jié)點的第二數(shù)據(jù)處理能力; 分配單元,用于按照所述能力確定單元確定的各分布式節(jié)點的第一數(shù)據(jù)處理能力的大小,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點;依據(jù)所述能力確定單元確定的各分布式節(jié)點的第二數(shù)據(jù)處理能力將未處理的數(shù)據(jù)塊進行重新存放。
10.根據(jù)權利要求9所述管理節(jié)點,其特征在于, 所述能力確定單元,用于在各分布式節(jié)點進行數(shù)據(jù)處理過程中,管理節(jié)點通過各分布式節(jié)點的空閑計算資源、 待處理數(shù)據(jù)塊的數(shù)量、網(wǎng)絡狀態(tài)以及加速比確定各分布式節(jié)點的第二數(shù)據(jù)處理能力。
11.根據(jù)權利要求9所述管理節(jié)點,其特征在于, 所述能力確定單元,還用于在待處理的數(shù)據(jù)塊全部被處理完畢后,依據(jù)各分布式節(jié)點處理的數(shù)據(jù)塊調整各分布式節(jié)點的數(shù)據(jù)處理能力; 所述分配單元,用于在接收到與所述待處理的數(shù)據(jù)塊相同的待處理的數(shù)據(jù)塊后,依據(jù)所述能力確定單元調整后的各分布式節(jié)點的數(shù)據(jù)處理能力的大小,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點。
12.根據(jù)權利要求11所述管理節(jié)點,其特征在于, 所述能力確定單元,用于依據(jù)第一次存入各分布式節(jié)點的數(shù)據(jù)塊的數(shù)量以及各分布式節(jié)點實際處理數(shù)據(jù)塊的數(shù)量,確定各分布式節(jié)點的數(shù)據(jù)處理本地化率;或者,依據(jù)存放在各分布式節(jié)點本地的數(shù)據(jù)塊所需的處理時間以及各分布式節(jié)點的實際數(shù)據(jù)處理時間,確定各分布式節(jié)點的數(shù)據(jù)處理本地化率依據(jù)各分布式節(jié)點的數(shù)據(jù)處理本地化率調整各分布式節(jié)點的數(shù)據(jù)處理能力。
13.根據(jù)權利要求9至12任意一項所述管理節(jié)點,其特征在于,還包括: 速率獲取單元,用于獲取各分布式節(jié)點的網(wǎng)絡速率; 所述分配單元,用于若按照第一數(shù)據(jù)處理能力大小或者第二數(shù)據(jù)處理能力大小,會將數(shù)據(jù)塊存入第一分布式節(jié)點,并且第一分布式節(jié)點的網(wǎng)絡速率小于網(wǎng)絡速度預定閾值,則在分布式系統(tǒng)中重新選擇節(jié)點進行存放。
14.根據(jù)權利要求9所述管理節(jié)點,其特征在于,還包括: 處理量確定單元,用于在待處理的數(shù)據(jù)塊全部被處理完畢后,依據(jù)各數(shù)據(jù)塊的處理時間以及處理各數(shù)據(jù)塊的分布式節(jié)點的第一數(shù)據(jù)處理能力,確定各數(shù)據(jù)塊的數(shù)據(jù)處理量; 所述分配單元,用于在管理節(jié)點在接收到與所述待處理的數(shù)據(jù)塊相同的待處理的數(shù)據(jù)塊后,依據(jù)各數(shù)據(jù)塊的數(shù)據(jù)處理量以及各分布式節(jié)點的第一數(shù)據(jù)處理能力,將待處理的數(shù)據(jù)塊存入各分布式節(jié)點。
15.根據(jù)權利要求14所述管理節(jié)點,其特征在于,還包括: 獲取速率單元,用于獲取各分布式節(jié)點的網(wǎng)絡速率; 所述分配單元,用于依據(jù)各數(shù)據(jù)塊的數(shù)據(jù)處理量、各分布式節(jié)點的網(wǎng)絡速率以及第一數(shù)據(jù)處理能力,將待處理·的數(shù)據(jù)塊存入各分布式節(jié)點。
【文檔編號】H04L12/24GK103716381SQ201310681454
【公開日】2014年4月9日 申請日期:2013年12月12日 優(yōu)先權日:2013年12月12日
【發(fā)明者】朱韌, 周偉 申請人:華為技術有限公司