分布式數據加載調度方法與系統的製作方法
2023-07-10 14:15:31 1
專利名稱:分布式數據加載調度方法與系統的製作方法
技術領域:
本發明涉及計算機領域中分布式系統,具體地,涉及分布式數據加載調度的方法及系統。
背景技術:
在現有的分布式數據加載系統中,其數據加載方式主要包括:隨機配置:如圖1所示,源數據節點和存儲節點一對一配置,在進行數據加載之前,隨機選擇一個源數據節點和一個存儲節點的組合,在數據加載開始後,各個源數據節點與各個存儲節點之間的連接關係就是靜態不變的。高可靠性配置:如圖2所示,在進行數據加載之前,為每一個源數據節點分配兩個或多個存儲節點,同時發送數據,一個存儲節點可以接收多個源數據節點的數據;在數據加載開始後,各個源數據節點與各個存儲節點之間的連接關係就是靜態不變的。該方式可以提高系統可靠性,避免因存儲節點損壞而使得源數據節點的數據加載不成功。現有的上述配置方式,首先,採用靜態的配置方式,一旦配置完成就無法進行動態修改;其次,系統利用率低,無法充分利用系統資源,導致系統的加載效率較低。
發明內容
本發明的目的是針對現有技術中分布式系統數據加載效率較低的缺陷,提出一種分布式數據加載調度的方法及系統。為實現上述目的,根據本發明的一個方面,提供了 一種分布式數據加載調度方法。根據本發明實施例的分布式數據加載調度方法,包括:控制節點實時收集源加載節點和目的加載節點的運行狀態信息;控制節點根據運行狀態信息,生成配置更新信息下發給源加載節點和目的加載節
佔.
其中,控制節點位於分布式系統中。在上述技術方案中,如果分布式系統中還包括控制節點集群,則方法還包括:控制節點將配置更新信息上報給控制節點集群,經過控制節點集群確認通過後,由控制節點將配置更新信息下發給源加載節點和目的加載節點。在上述技術方案中,方法還包括:在分布式系統的數據源側部署源加載節點,該源加載節點與數據源中的源數據節點相耦合,獲取源數據節點中的數據,並將該數據進行封裝處理;在分布式系統的存儲側部署目的加載節點,該目的加載節點與存儲側的存儲節點相稱合,接收來自源加載節點的數據,導入到存儲節點內。在上述技術方案中,控制節點根據運行狀態信息,生成配置更新信息的步驟包括:控制節點根據運行狀態信息,動態的對每個源加載節點和目的加載節點之間的網絡拓撲進行配置更新,生成配置更新信息。在上述技術方案中,控制節點根據運行狀態信息,動態的對每個源加載節點和目的加載節點之間的網絡拓撲進行配置更新的步驟包括:控制節點根據負載情況動態的對每個源加載節點和每個目的加載節點之間的網絡拓撲進行配置更新;或者,控制節點根據節點健康情況動態的對每個源加載節點和每個目的加載節點之間的網絡拓撲進行配置更新。在上述技術方案中,控制節點根據負載情況動態的對每個源加載節點和每個目的加載節點之間的網絡拓撲進行配置更新具體包括:在海量數據加載情況下,在控制節點配置的網絡拓撲下,源加載節點將自身的數據按數據量大小分成多份,並將該數據按份分配給多個目的加載節點處理。在上述技術方案中,控制節點根據節點健康情況動態的對每個源加載節點和每個目的加載節點之間的網絡拓撲進行配置更新具體包括:在源加載節點增加的情況下,在控制節點配置的網絡拓撲下,源加載節點將增加的任務均衡的分配給目的加載節點;在目的加載節點增加或目的加載節點的處理任務不均時,在控制節點配置的網絡拓撲下,源加載節點將自身中未處理的任務重新進行分配。在上述技術方案中,控制節點根據節點健康情況動態的對每個源加載節點和每個目的加載節點之間的網絡拓撲進行配置更新具體還包括:在目的加載節點出現失效的情況下,在控制節點配置的網絡下,源加載節點將由該失效目的加載節點負責處理的未完成任務分配給其它空閒或任務負擔較輕的目的加載節點。為實現上述目的,根據本發明的另一個方面,提供了分布式數據加載調度系統。根據本發明實施例的分布式數據加載調度系統,包括:控制節點,位於分布式系統中,用於實時收集源加載節點和目的加載節點的運行狀態信息,根據運行狀態信息,生成配置更新信息下發給源加載節點和目的加載節點。在上述技術方案中,分布式系統中還包括控制節點集群:控制節點集群,用於接收控制節點上報的配置更新信息,並對配置更新信息進行確認。在上述技術方案中,系統包括源加載節點和目的加載節點,源加載節點與分布式系統的數據源中的源數據節點相耦合,目的加載節點與分布式系統的存儲側的存儲節點相率禹合:源加載節點,用於獲取源數據節點中的數據,並將該數據進行封裝處理;目的加載節點,用於接收來自源加載節點的數據,導入到存儲節點內。在上述技術方案中,控制節點包括:信息收集模塊,用於實時收集源加載節點和目的加載節點的運行狀態信息;配置更新模塊,用於根據運行狀態信息,動態的對每個源加載節點和目的加載節點之間的網絡拓撲進行配置更新,生成配置更新信息;信息下發模塊,用於將生成的配置更新信息下發給源加載節點和目的加載節點。
在上述技術方案中,源加載節點包括:
數據分割模塊,用於在海量數據加載情況下,在控制節點配置的網絡拓撲下,將源加載節點的數據按數據量大小分成多份;
任務分配模塊,用於將該數據按份分配給多個目的加載節點處理。
在上述技術方案中,源加載節點還包括:
任務分配模塊,用於在源加載節點增加的情況下,在控制節點配置的網絡拓撲下,將增加的任務均衡的分配給目的加載節點,在目的加載節點增加或目的加載節點的處理任務不均時,在控制節點配置的網絡拓撲下,將源加載節點中未處理的任務重新進行分配。
在上述技術方案中,源加載節點還包括:
任務分配模塊,用於在目的加載節點出現失效的情況下,在控制節點配置的網絡拓撲下,將由該失效目的加載節點負責處理的未完成任務分配給其它空閒或任務負擔較輕的目的加載節點。
本發明的分布式數據加載調度方法和系統,採用動態拓撲生成和自動調度方法,由於採用靈活的配置更新策略,保證了系統的負載均衡和高可靠性,提高了系統吞吐率,提高了數據加載的效率。
本發明的其它特徵和優點將在隨後的說明書中闡述,並且,部分地從說明書中變得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。
下面通過附圖和實施例,對本發明的技術方案做進一步的詳細描述。
附圖用來提供對本發明的進一步理解,並且構成說明書的一部分,與本發明的實施例一起用於解釋本發明,並不構成對本發明的限制。在附圖中:
圖1為現有技術中隨機配置的數據加載方式的結構示意圖2為現有技術中高可靠性配置的數據加載方式的結構示意圖3為本發明分布式數據加載調度系統的結構示意圖4為根據本發明負載均衡配置舉例的示意圖5為根據本發明高吞吐率配置舉例的示意圖6為根據本發明分布式數據加載調度方法實施例一的流程示意圖7為根據本發明分布式數據加載調度方法實施例二的流程示意圖8為根據本發明分布式數據加載調度系統的結構示意圖。
具體實施方式
以下結合附圖對本發明的優選實施例進行說明,應當理解,此處所描述的優選實施例僅用於說明和解釋本發明,並不用於限定本發明。
如圖3所示,本發明的分布式數據加載調度系統包括:
一個以上Source節點(源加載節點):部署在數據源側,每個源加載節點與分布式數據源(可以是分布式資料庫或者分布式文件系統)中的一個源數據節點相耦合,並用於獲取該源數據節點中的數據,將該數據進行封裝,通過網絡發送給對應的一個或多個目的加載節點;一個以上Dest節點(目的加載節點):部署在存儲側,每個目的加載節點與分布式存儲系統(可以是分布式資料庫或者分布式文件系統)中的一個存儲節點相耦合,並用於接收對應的源加載節點所發送的數據,將該數據導入到存儲節點中;其中,源加載節點和目的加載節點之間的數據傳輸是通過網絡進行,數據源側的分布式數據源和存儲側的分布式存儲系統可以分別部署在不同的網絡、機房或地域中。本系統還包括Master節點(控制節點):控制所有Source節點和Dest節點的配置信息,並將配置信息通知給所有Source節點和Dest節點,配置信息決定分布式數據加載調度系統的拓撲結構,即哪個Source節點的數據發送給哪個Dest節點;控制節點動態的對每個源加載節點和目的加載節點之間的網絡拓撲進行配置更新,配置更新策略包括:根據負載情況動態的對每個源加載節點和每個目的加載節點之間的網絡拓撲進行配置;或者,根據節點健康情況動態的對每個源加載節點和每個目的加載節點之間的網絡拓撲進行配置;或者,根據負載情況和節點健康情況來動態的對每個源加載節點和每個目的加載節點之間的網絡拓撲進行配置。配置更新舉例:I)負載均衡配置:在海量數據加載的情況下,Source節點將自身的數據按數據量大小分成多份,由多個Dest節點按份接收處理,每個Dest節點也可以接收多個Source節點的數據;在本情形中,Master節點指示Source節點將按份分好的數據任務均衡的分配給Dest節點,保證了系統的負載均衡,避免了某些Source節點和Dest節點處理的數據量過大,成為系統性能的瓶頸;如果Master節點發現Source節點數量增加,Master節點將指示Source節點將增加的任務按照負載均衡原則分配給Dest節點;如果Master節點發現Dest節點數量增加或者Dest節點的處理任務不均時,Master節點將指示Source節點將自身未處理的任務重新進行分配,達到負載均衡,如圖4所示。配置更新內容如下:(由控制節點進行配置)Sourcel destl、dest2、destMSource2 dest2。。。SourceN destl、destM2)高吞吐率配置:本配置方式可以與上述負載均衡配置中的各種情況配合使用,Master節點根據實時收集的Source節點和Dest節點狀態,動態更新配置,自動調度Source節點和Dest節點。Source節點和Dest節點的運行狀態信息包括:節點名、是否正常工作、數據傳輸
吞吐率等。如果Master節點發現某個Dest節點失效,可指示Source節點將失效Dest節點的未完成的任務重新分配給其它空閒或負擔較輕的Dest節點,如圖5所示。
配置信息修改為如下:
Sourcel destM、dest2
Source2 dest2、destM
。。。
SourceN dest2、destM
為了避免Master節點的單點故障,也為了應對Source節點和Dest節點規模增長導致的控制流瓶頸,系統支持多個Master節點形成Master節點集群,Master節點集群中的多個Master節點間保持數據一致性,以確保Master節點的備份。
本發明的分布式數據加載調度系統,還可以適配分布式數據源和分布式存儲系統在存儲格式(以什麼方式存儲,如序列化方式)、數據格式(數據內容的組織形式,如分隔符)等的不同,並進行轉換。_9] 方法實施例
根據本發明實施例,提供了一種分布式數據加載調度方法,如圖6所示,本實施例包括:
步驟102:根據系統需求,配置Source節點和Dest節點,以及配置分布式數據加載調度系統的網絡拓撲結構的初始狀態;
步驟104:Master節點實時收集Source節點和Dest節點的運行狀態信息;
步驟106:Master節點根據收集到的Source節點和Dest節點的運行狀態信息,生成配置更新信息,通知Source節點和Dest節點;
步驟108:Source節點和Dest節點按照配置更新信息繼續完成數據加載任務,如果數據加載未完成,則轉向步驟104,否則,結束加載。
根據本發明實施例,提供了另一種分布式數據加載調度方法,如圖7所示,本實施例包括:
步驟202:根據系統需求,配置Source節點和Dest節點,以及配置分布式數據加載調度系統的網絡拓撲結構的初始狀態;
步驟204:Master節點實時收集Source節點和Dest節點的運行狀態信息;
步驟206:Master節點根據收集到的Source節點和Dest節點的運行狀態信息,生成配置更新信息上報給Master節點集群;
步驟208 =Master節點集群最終通過一個關於配置更新信息的一致性決策;
步驟210:Master節點通知Source節點和Dest節點配置更新信息;
步驟212 =Source節點和Dest節點按照配置更新信息繼續完成數據加載任務,如果數據加載未完成,則轉向步驟204,否則,結束加載。
需要說明的是,在圖6和圖7的實施例中,Master節點只能控制Source節點和Dest節點之間的網絡拓撲結構。Master節點不能控制Source節點的任務分配,該任務分配包括:分布式系統新增了 Source節點,如何將新增Source節點部署在數據源側的一個節點上,如何獲取數據加載任務,Source節點如何將數據按數據大小分成多份,以及Dest節點如何部署在存儲側的一個節點上,等等。
本發明的分布式數據加載調度方法,採用動態拓撲生成和自動調度方法,由於採用靈活的配置更新策略,保證了系統的負載均衡和高可靠性,提高了系統吞吐率,提高了數據加載的效率。系統實施例根據本發明實施例,提供了 一種分布式數據加載調度系統。如圖3和圖8所示,本實施例包括:控制節點10,位於分布式系統中,用於實時收集源加載節點和目的加載節點的運行狀態信息,根據所述運行狀態信息,生成配置更新信息下發給源加載節點和目的加載節點。分布式系統中還包括控制節點集群:控制節點集群,用於接收控制節點10上報的配置更新信息,並對配置更新信息進行確認。系統包括源加載節點和目的加載節點,源加載節點與分布式系統的數據源中的源數據節點相耦合,目的加載節點與分布式系統的存儲側的存儲節點相耦合:源加載節點20,用於獲取源數據節點中的數據,並將該數據進行封裝處理;目的加載節點,用於接收來自源加載節點20的數據,導入到存儲節點內。控制節點10包括:信息收集模塊11,用於實時收集源加載節點和目的加載節點的運行狀態信息;配置更新模塊12,用於根據運行狀態信息,動態的對每個源加載節點和目的加載節點之間的網絡拓撲進行配置更新,生成配置更新信息;信息下發模塊13,用於將生成的配置更新信息下發給源加載節點和目的加載節點。源加載節點20包括:數據分割模塊21,用於在海量數據加載情況下,在控制節點配置的網絡拓撲下,將源加載節點的數據按數據量大小分成多份;任務分配模塊22,用於將該數據按份分配給多個目的加載節點處理。源加載節點20還包括:任務分配模塊22,還用於在源加載節點增加的情況下,在控制節點配置的網絡拓撲下,將增加的任務均衡的分配給目的加載節點,在目的加載節點增加或目的加載節點的處理任務不均時,在控制節點配置的網絡拓撲下,將源加載節點中未處理的任務重新進行分配。源加載節點20還包括:任務分配模塊22,還用於在目的加載節點出現失效的情況下,在控制節點配置的網絡拓撲下,將由該失效目的加載節點負責處理的未完成任務分配給其它空閒或任務負擔較輕的目的加載節點。本發明的分布式數據加載調度系統,採用動態拓撲生成和自動調度方法,由於採用靈活的配置更新策略,保證了系統的負載均衡和高可靠性,提高了系統吞吐率,提高了數據加載的效率。本領域普通技術人員可以理解:實現上述方法實施例的全部或部分步驟可以通過程序指令相關的硬體來完成,前述的程序可以存儲於一計算機可讀取存儲介質中,該程序在執行時,執行包括上述方法實施例的步驟;而前述的存儲介質包括:ROM、RAM、磁碟或者光碟等各種可以存儲程序代碼的介質。
最後應說明的是:以上所述僅為本發明的優選實施例而已,並不用於限制本發明,儘管參照前述實施例對本發明進行了詳細的說明,對於本領域的技術人員來說,其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特徵進行等同替換。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
權利要求
1.一種分布式數據加載調度方法,其特徵在於,包括: 控制節點實時收集源加載節點和目的加載節點的運行狀態信息; 所述控制節點根據所述運行狀態信息,生成配置更新信息下發給所述源加載節點和目的加載節點; 其中,所述控制節點位於分布式系統中。
2.根據權利要求1所述的方法,其特徵在於,如果分布式系統中還包括控制節點集群,則方法還包括: 所述控制節點將所述配置更新信息上報給控制節點集群,經過所述控制節點集群確認通過後,由所述控制節點將所述配置更新信息下發給所述源加載節點和目的加載節點。
3.根據權利要求1所述的方法,其特徵在於,還包括: 在分布式系統的數據源側部署源加載節點,該源加載節點與數據源中的源數據節點相耦合,獲取所述源數據節點中的數據,並將該數據進行封裝處理; 在分布式系統的存儲側部署目的加載節點,該目的加載節點與存儲側的存儲節點相耦合,接收來自所述源加載節點的數據,導入到所述存儲節點內。
4.根據權利要求1-3中任意一項所述的方法,其特徵在於,所述控制節點根據運行狀態信息,生成配置更新信息的步驟包括: 所述控制節點根據運行狀態信息,動態的對每個源加載節點和目的加載節點之間的網絡拓撲進行配置更新,生成配置更新信息。
5.根據權利要求4所述的方法,其特徵在於,控制節點根據運行狀態信息,動態的對每個源加載節點和目的加載節點之間的網絡拓撲進行配置更新的步驟包括: 控制節點根據負載情況動態的對每個源加載節點和每個目的加載節點之間的網絡拓撲進行配置更新;或者, 控制節點根據節點健康情況動態的對每個源加載節點和每個目的加載節點之間的網絡拓撲進行配置更新。
6.根據權利要求5所述的方法,其特徵在於,所述控制節點根據負載情況動態的對每個源加載節點和每個目的加載節點之間的網絡拓撲進行配置更新具體包括: 在海量數據加載情況下,在所述控制節點配置的網絡拓撲下,所述源加載節點將自身的數據按數據量大小分成多份,並將該數據按份分配給多個目的加載節點處理。
7.根據權利要求5所述的方法,其特徵在於,所述控制節點根據節點健康情況動態的對每個源加載節點和每個目的加載節點之間的網絡拓撲進行配置更新具體包括: 在所述源加載節點增加的情況下,在所述控制節點配置的網絡拓撲下,所述源加載節點將增加的任務均衡的分配給所述目的加載節點; 在所述目的加載節點增加或所述目的加載節點的處理任務不均時,在所述控制節點配置的網絡拓撲下,所述源加載節點將自身中未處理的任務重新進行分配; 在所述目的加載節點出現失效的情況下,在所述控制節點配置的網絡拓撲下,所述源加載節點將由該失效目的加載節點負責處理的未完成任務分配給其它空閒或任務負擔較輕的目的加載節點。
8.一種分布式數據加載調度系統,其特徵在於,包括: 控制節點,位於分布式系統中,用於實時收集源加載節點和目的加載節點的運行狀態信息,根據所述運行狀態信息,生成配置更新信息下發給所述源加載節點和目的加載節點。
9.根據權利要求8所述的系統,其特徵在於,分布式系統中還包括控制節點集群: 所述控制節點集群,用於接收所述控制節點上報的配置更新信息,並對所述配置更新信息進行確認。
10.根據權利要求8所述的系統,其特徵在於,包括源加載節點和目的加載節點,所述源加載節點與分布式系統的數據源中的源數據節點相耦合,所述目的加載節點與分布式系統的存儲側的存儲節點相耦合: 所述源加載節點,用於獲取所述源數據節點中的數據,並將該數據進行封裝處理;所述目的加載節點,用於接收來自所述源加載節點的數據,導入到所述存儲節點內。
11.根據權利要求8-10中任意一項所述的系統,其特徵在於,所述控制節點包括: 信息收集模塊,用於實時收集源加載節點和目的加載節點的運行狀態信息; 配置更新模塊,用於根據運行狀態信息,動態的對每個源加載節點和目的加載節點之間的網絡拓撲進行配置更新,生成配置更新信息;信息下發模塊,用於將生成的配置更新信息下發給所述源加載節點和目的加載節點。
12.根據權利要求11所述的系統,其特徵在於,所述源加載節點包括: 數據分割模塊,用於在海量數據加載情況下,在所述控制節點配置的網絡拓撲下,將源加載節點的數據按數據量大小分成多份; 任務分配模塊,用於將該數據按份分配給多個目的加載節點處理。
13.根據權利要求11所述的系統,其特徵在於,所述源加載節點還包括: 任務分配模塊,用於在所述源加載節點增加的情況下,在所述控制節點配置的網絡拓撲下,將增加的任務均衡的分配給所述目的加載節點,在所述目的加載節點增加或所述目的加載節點的處理任務不均時,在所述控制節點配置的網絡拓撲下,將所述源加載節點中未處理的任務重新進行分配, 在所述目的加載節點出現失效的情況下,在所述控制節點配置的網絡拓撲下,將由該失效目的加載節點負責處理的未完成任務分配給其它空閒或任務負擔較輕的目的加載節點。
全文摘要
本發明公開了一種分布式數據加載調度的方法及系統,其中,該方法包括控制節點實時收集源加載節點和目的加載節點的運行狀態信息;控制節點根據運行狀態信息,生成配置更新信息下發給源加載節點和目的加載節點;其中,控制節點位於分布式系統中。本發明的分布式數據加載調度方法和系統,採用動態拓撲生成和自動調度方法,由於採用靈活的配置更新策略,保證了系統的負載均衡和高可靠性,提高了系統吞吐率,提高了數據加載的效率。
文檔編號H04L29/08GK103188161SQ201110453878
公開日2013年7月3日 申請日期2011年12月30日 優先權日2011年12月30日
發明者高丹, 錢嶺, 齊驥, 郭磊濤, 周大 申請人:中國移動通信集團公司