一種分布式系統及根據該系統進行逐步擴容的方法
2023-04-24 11:06:46 1
一種分布式系統及根據該系統進行逐步擴容的方法
【專利摘要】本發明提供一種逐步進行擴容的分布式系統及利用該系統進行逐步擴容的方法,該系統包括ETL寫入數據模塊、緩衝模塊、數據重分布模塊、數據索引分布表形成模塊、調度模塊以及多個資料庫,所述多個資料庫承載在多個伺服器上,所述緩衝模塊為ETL移動硬碟,所述緩衝模塊以及多個資料庫與所述ETL寫入數據模塊通訊連接;所述調度模塊包括暫停單元、啟動單元以及添加任務單元。解決了擴容後老節點不能使用的問題,從而降低了伺服器的成本,增加了收益。一方面能夠保證系統在白天的工作時間仍能夠對外提供系統服務,另一方面保證了新舊節點都可以運行。
【專利說明】一種分布式系統及根據該系統進行逐步擴容的方法
【技術領域】
[0001]本發明涉及一種系統擴容方法,具體的涉及一種分布式系統及根據該系統進行逐步擴容的方法。
【背景技術】
[0002]大數據處理系統中,每個節點存儲的數據量都很大,比如一個硬碟的實際數據量
2.8T。當系統處理能力不足,需要增加數據節點來提升處理能力的時候,如何將原有系統的數據進行重分布,部署到所有數據節點(老節點+新節點),是一個比較難的問題。目前大部分分布式數據系統都採用hash方式分布數據,當增加節點時,由系統使用hash方式進行重分布。但由於數據量巨大,往往24小時也無法完成,而大部分系統工作時間還需要對外提供服務,這個矛盾需要解決。某些產品,比如EMC的greenplum系統,在廣東移動信令採集分析系統中,當節點要從10個節點擴充到50個節點時,沒有辦法做到這一點,只好使用新舊節點並行導入數據,最後的新系統只有40個節點,而不是50個節點。這個問題在從50個到100個的時候會更嚴重。
【發明內容】
[0003]本發明為解決上述提到的在數據處理系統中進行重新分布擴容存在的缺點,提供一種分布式系統以及根據該分布式系統進行逐步擴容法,能夠逐步對系統進行擴容,一方面能夠保證系統在白天的工作時間仍能夠對外提供系統服務,另一方面保證了新舊節點都可以在系統中運行。
[0004]本發明提供一種逐步進行擴容的分布式系統,其包括ETL寫入數據模塊、緩衝模塊、數據重分布模塊、數據索引分布表形成模塊、調度模塊以及多個資料庫,所述多個資料庫承載在多個伺服器上,所述緩衝模塊為ETL移動硬碟,所述緩衝模塊以及多個資料庫與所述ETL寫入數據模塊通訊連接;所述調度模塊包括暫停單元、啟動單元以及添加任務單
J Li ο
[0005]具體的,一種根據上述分布式系統進行逐步擴容的方法,其包括以下步驟:
[0006]S1:在分布式系統的多個新的資料庫產生後,根據多個新的新資料庫的數量,數據索引分布表形成模塊,生成新的數據索引分布表;
[0007]S2:所述暫停單元暫停ETL寫入數據模塊寫入數據的操作,將文件保存至緩衝模塊,所述添加任務單元將ETL寫入數據的任務添加入任務隊列;
[0008]S3:所述啟動單元啟動數據重分布模塊,將數據按新的數據索引分布表進行分布;
[0009]S4:重新啟動ETL寫入數據模塊,加速處理隊列中ETL寫入數據的任務;直至ETL寫入數據完成後,重新啟動在線查詢任務。
[0010]優選的,數據索引分布表形成模塊根據新資料庫的數量,通過業務規則生成新的數據索引分布表。[0011]優選的,所述新的數據索引分布表將舊節點中的數據的30% -60%分布至新的節點中。
[0012]優選的,所述新的數據索引分布表將舊節點中的數據的50%分布至新的節點中。
[0013]優選的,所述添加任務單元包括選擇單元以及命令單元,所述選擇單元能夠設定ETL寫入數據的任務的優先級,所述命令單元根據任務的優先級選擇任務執行的先後命令。
[0014]優選的,ETL寫入數據的任務的優先級分為最高優先級、次優先級以及普通優先級。
[0015]本發明的優點如下所述:本發明採用分天逐步擴容法對系統進行擴容,擴容後老節點以及新節點都能夠使用,解決了擴容後老節點不能使用的問題,從而降低了伺服器的成本,增加了收益。大數據伺服器的成本一般在5-15萬元左右,按10萬I臺計算,當有20個老節點能被利用時,就可以節約200萬元。並且,能夠逐步對系統進行擴容,一方面能夠保證系統在白天的工作時間仍能夠對外提供系統服務,另一方面保證了新舊節點都可以在系統中運打。
【專利附圖】
【附圖說明】
[0016]圖1為本發明提供的逐步進行擴容的分布式系統的結構示意圖;
[0017]圖2為本發明的調度模塊的結構示意圖;
[0018]圖3為本發明的分布式系統逐步擴容法中擴容時的示意圖。
【具體實施方式】
[0019]首先,對本發明中涉及到的一些術語進行解釋說明:
[0020]資料庫是一個面向主題的、集成的、不可更新的、隨時間不斷變化的數據集合,它用於支持企業或組織的決策分析處理。資料庫通常用於存儲企業的歷史數據,並通過ETL過程,產生企業報表等。
[0021]ETL是指將分布的、異構數據源中的數據(例如關係數據、平面數據文件)等抽取到臨時中間層後進行清洗、轉換、集成,最後加載到資料庫中,成為企業報表、聯機分析處理、數據挖掘的基礎。ETL任務一般在夜間運行,處理企業的大批量數據,形成關鍵運營指標(KPI, Key Performance Indication)裝載到報表中。
[0022]數據源是指ETL運算某個任務所需要的源頭數據,有時是生產資料庫的數據,有時是另外一個ETL程序所產生的數據。
[0023]生產資料庫是企業的日間營業活動所使用的資料庫,是資料庫最大的數據源。
[0024]下面結合附圖以及具體實施例對本發明做進一步解釋。
[0025]如圖1所示,一種逐步進行擴容的分布式系統,其包括ETL寫入數據模塊1、緩衝模塊2、數據重分布模塊3、數據索引分布表形成模塊4、調度模塊5以及多個資料庫6,多個資料庫6承載在多個伺服器上,緩衝模塊2為ETL移動硬碟,緩衝模塊2以及多個資料庫6與ETL寫入數據模塊I通訊連接;如圖2所示,調度模塊5包括暫停單元50、啟動單元51以及添加任務單元52。
[0026]如圖3所示,一種根據上述的分布式系統進行逐步擴容的方法,其包括以下步驟:
[0027]S1:在分布式系統的新的資料庫(以下也稱為節點)產生後,數據索引分布表形成模塊4根據新資料庫的數量,生成新的數據索引分布表;
[0028]S2:暫停單元50暫停ETL寫入數據模塊I寫入數據的操作,將文件保存至緩衝模塊,添加任務單元52將ETL寫入數據的任務添加入任務隊列;
[0029]S3:啟動單元51啟動數據重分布模塊3,將數據按新的數據索引分布表進行分布;ETL寫入數據模塊I找的新的節點位置,將數據存入;
[0030]S4:啟動單元51重新啟動ETL寫入數據模塊1,加速處理隊列中ETL寫入數據的任務;
[0031]S5:ETL寫入數據完成後,啟動單元51重新啟動在線查詢任務。
[0032]優選的,數據索引分布表形成模塊4根據新資料庫的數量,通過業務規則生成新的數據索引分布表。
[0033]優選的,新的數據索引分布表將舊節點中的數據的30% -60%分布至新的節點中。在本實施例中,新的數據索引分布表將舊節點中的數據的50%分布至新的節點中。如下表所示:
[0034]在分布式系統中,數據的分布往往是按hash值或者業務規則進行分布的。按hash值分布主要是通過數學算法實現,擴容的時候無法人為控制,導致擴容後老節點無法繼續使用,增加了資料庫的成本問題。在本發明中,按照業務規則生成新的數據索引分布表進行分布,在擴容時容易控制。
[0035]舉例如下:將新的數據索引分布表將舊節點中的數據的50%分布至新的節點中。
[0036]假設數據按號碼後兩位進行數據分布,擴容前分布關係如下:
[0037]
【權利要求】
1.一種逐步進行擴容的分布式系統,其特徵在於:其包括ETL寫入數據模塊、緩衝模塊、數據重分布模塊、數據索引分布表形成模塊、調度模塊以及多個資料庫,所述多個資料庫承載在多個伺服器上,所述緩衝模塊為ETL移動硬碟,所述緩衝模塊以及多個資料庫與所述ETL寫入數據模塊通訊連接;所述調度模塊包括暫停單元、啟動單元以及添加任務單J Li ο
2.一種分布式系統進行逐步擴容的方法,其特徵在於:其包括以下步驟: 51:在分布式系統的多個新的資料庫產生後,根據多個新的新資料庫的數量,數據索引分布表形成模塊,生成新的數據索引分布表; 52:所述暫停單元暫停ETL寫入數據模塊寫入數據的操作,將文件保存至緩衝模塊,所述添加任務單元將ETL寫入數據的任務添加入任務隊列; 53:所述啟動單元啟動數據重分布模塊,將數據按新的數據索引分布表進行分布; 54:重新啟動ETL寫入數據模塊,加速處理隊列中ETL寫入數據的任務;直至ETL寫入數據完成後,啟動在線查詢任務。
3.根據權利要求2所述的逐步擴容的方法,其特徵在於:數據索引分布表形成模塊根據新資料庫的數量,通過業務規則生成新的數據索引分布表。
4.根據權利要求3所述的逐步擴容的方法,其特徵在於:所述新的數據索引分布表將舊節點中的數據的30% -60%分布至新的節點中。
5.根據權利要求4所述的逐步擴容的方法,其特徵在於:所述新的數據索引分布表將舊節點中的數據的50%分布至新的節點中。
6.根據權利要求2所述的逐步擴容的方法,其特徵在於:所述添加任務單元包括選擇單元以及命令單元,所述選擇單元能夠設定ETL寫入數據的任務的優先級,所述命令單元根據任務的優先級選擇任務執行的先後命令。
7.根據權利要求6所述的逐步擴容的方法,其特徵在於:ETL寫入數據的任務的優先級分為最高優先級、次優先級以及普通優先級。
【文檔編號】G06F17/30GK103944964SQ201410116840
【公開日】2014年7月23日 申請日期:2014年3月27日 優先權日:2014年3月27日
【發明者】李曉華 申請人:上海雲數信息科技有限公司