本技術(shù)涉及計算機的,具體涉及一種流數(shù)據(jù)處理方法以及相關設備。
背景技術(shù):
1、在現(xiàn)有的分布式日志流處理系統(tǒng)方案中,在創(chuàng)建集群日志流傳輸通道時,通常依賴系統(tǒng)預設值或人工預估來預測日志流的未來吞吐量。為了處理日志流,現(xiàn)有技術(shù)方案將其劃分為多個子分區(qū)流,然后將這些子分區(qū)流均勻地分配并掛載到集群中的各個傳輸節(jié)點上。這樣一來,各個傳輸節(jié)點負責掛載在自己名下的子分區(qū)流數(shù)據(jù)的收集、處理和轉(zhuǎn)發(fā)。
2、對于出現(xiàn)故障或宕機的傳輸節(jié)點,集群中的leader節(jié)點會負責重新分發(fā)宕機節(jié)點下的子分區(qū)流,將它們分配到其它正常運行的節(jié)點上,以實現(xiàn)故障轉(zhuǎn)移。這種現(xiàn)有方法在基本負載均衡和故障轉(zhuǎn)移方面提供了一定的解決方案,在處理分布式日志流數(shù)據(jù)時,能滿足一般場景的需求,但是在負載波動、動態(tài)吞吐需求以及節(jié)點故障等方面的處理仍然存在不足。具體缺點如下:
3、當系統(tǒng)運行過程中各個子分區(qū)流的負載隨時間發(fā)生波動,現(xiàn)有方案的負載均衡策略相對簡單且固定,難以有效應對吞吐量的變化和負載不平衡問題。
4、集群中出現(xiàn)較大吞吐量的日志流時,現(xiàn)有方案可能導致局部節(jié)點的流量高峰期影響整個系統(tǒng)的正常運行和穩(wěn)定性。
5、在集群擴容過程中,現(xiàn)有方案未能充分利用新增節(jié)點的資源,導致新增節(jié)點的潛力沒有得到充分發(fā)揮,限制了整體系統(tǒng)性能的提升。
技術(shù)實現(xiàn)思路
1、本技術(shù)實施例提供一種流數(shù)據(jù)處理方法以及相關設備,相關設備可以包括流數(shù)據(jù)處理裝置、電子設備、計算機可讀存儲介質(zhì)和計算機程序產(chǎn)品,可以靈活、全面、高效地實現(xiàn)負載均衡和動態(tài)調(diào)整。
2、本技術(shù)實施例提供一種流數(shù)據(jù)處理方法,包括:
3、從預設服務器集群中,確定用于負載調(diào)整的調(diào)度節(jié)點和用于處理流數(shù)據(jù)的傳輸節(jié)點;
4、所述調(diào)度節(jié)點接收所述傳輸節(jié)點上傳的負載指標信息;
5、將待處理的流數(shù)據(jù)劃分為多個子分區(qū)流,并對所述子分區(qū)流進行組合,得到至少一個子分區(qū)流組;
6、所述調(diào)度節(jié)點根據(jù)所述負載指標信息,將各所述子分區(qū)流組分配給所述傳輸節(jié)點。
7、進一步地,將待處理的流數(shù)據(jù)劃分為多個子分區(qū)流,并對所述子分區(qū)流進行組合,得到至少一個子分區(qū)流組,包括:
8、提取所述待處理的流數(shù)據(jù)的關鍵字,并采用散列函數(shù)計算所述關鍵字的哈希值;
9、根據(jù)所述哈希值在預設哈希表中確定所述關鍵字對應的子分區(qū),并將所述關鍵字分配給對應的所述子分區(qū),得到多個子分區(qū)流;
10、根據(jù)所述子分區(qū)的編號區(qū)間,將所述子分區(qū)流組合為多個子分區(qū)流組。
11、進一步地,所述根據(jù)所述子分區(qū)的編號區(qū)間,將所述子分區(qū)流組合為多個子分區(qū)流組,包括:
12、根據(jù)所述子分區(qū)流組的數(shù)量,確定初始組數(shù)量;
13、基于所述子分區(qū)的編號區(qū)間,將所述多個子分區(qū)流組合為初始組數(shù)量的子分區(qū)流組。
14、進一步地,所述調(diào)度節(jié)點根據(jù)所述負載指標信息,將各所述子分區(qū)流組分配給所述傳輸節(jié)點,包括:
15、所述調(diào)度節(jié)點根據(jù)所述負載指標信息,從所述傳輸節(jié)點中確定低負載節(jié)點和空閑節(jié)點;
16、所述調(diào)度節(jié)點將所述子分區(qū)流組分配給所述低負載節(jié)點或者所述空閑節(jié)點。
17、進一步地,在所述調(diào)度節(jié)點根據(jù)所述負載指標信息,將各所述子分區(qū)流組分配給所述傳輸節(jié)點之后,還包括:
18、根據(jù)所述負載指標信息,從所述傳輸節(jié)點中確定高負載節(jié)點和異常節(jié)點;
19、所述調(diào)度節(jié)點卸載所述高負載節(jié)點中的部分子分區(qū)流組,并卸載所述異常節(jié)點中的所有子分區(qū)流組;
20、將卸載得到的子分區(qū)流組分配給所述低負載節(jié)點或者所述空閑節(jié)點。
21、進一步地,在所述根據(jù)所述負載指標信息,從所述傳輸節(jié)點中確定高負載節(jié)點和異常節(jié)點之前,還包括:
22、基于預設時間間隔,獲取所述傳輸節(jié)點上傳的負載指標信息。
23、進一步地,在所述將卸載得到的子分區(qū)流組分配給所述低負載節(jié)點或者所述空閑節(jié)點之后,還包括:
24、當所述低負載節(jié)點或者所述空閑節(jié)點接收所述卸載得到的子分區(qū)流組之后,更新所述負載指標信息;
25、向所述調(diào)度節(jié)點上傳更新后的負載指標信息。
26、進一步地,在所述調(diào)度節(jié)點根據(jù)所述負載指標信息,將各所述子分區(qū)流組分配給所述傳輸節(jié)點之后,還包括:
27、所述低負載節(jié)點或者所述空閑節(jié)點接收所述子分區(qū)流組,并獲取所述子分區(qū)流組對應的數(shù)據(jù)吞吐量;
28、所述調(diào)度節(jié)點接收所述低負載節(jié)點或者所述空閑節(jié)點上傳的各所述子分區(qū)流組對應的數(shù)據(jù)吞吐量;
29、若所述數(shù)據(jù)吞吐量高于預設閾值,所述調(diào)度節(jié)點將所述子分區(qū)流組劃分為至少兩個子分區(qū)流子組;
30、所述調(diào)度節(jié)點根據(jù)所述負載指標信息,將各所述子分區(qū)流子組分配給低負載節(jié)點或者空閑節(jié)點。
31、進一步地,所述調(diào)度節(jié)點將所述子分區(qū)流組劃分為至少兩個子分區(qū)流子組,包括:
32、所述調(diào)度節(jié)點獲取所述子分區(qū)流組對應的子分區(qū)的編號區(qū)間;
33、基于所述子分區(qū)的編號區(qū)間,將所述子分區(qū)流組平均劃分為至少兩個子分區(qū)流子組。
34、進一步地,在所述調(diào)度節(jié)點根據(jù)所述負載指標信息,將所述子分區(qū)流子組分配給低負載節(jié)點或者空閑節(jié)點之后,還包括:
35、所述低負載節(jié)點或者所述空閑節(jié)點接收所述子分區(qū)流子組,并獲取所述子分區(qū)流子組對應的數(shù)據(jù)吞吐量;
36、所述調(diào)度節(jié)點接收所述低負載節(jié)點或者所述空閑節(jié)點上傳的各所述子分區(qū)流子組對應的數(shù)據(jù)吞吐量。
37、進一步地,所述調(diào)度節(jié)點接收所述傳輸節(jié)點上傳的負載指標信息,包括:
38、所述傳輸節(jié)點獲取自身掛載的各所述子分區(qū)流組對應的數(shù)據(jù)吞吐量、所述傳輸節(jié)點的基礎性能指標信息,作為所述負載指指標信息;
39、基于預設時間間隔,所述傳輸節(jié)點向所述調(diào)度節(jié)點上傳所述負載指標信息。
40、相應的,本技術(shù)實施例提供一種流數(shù)據(jù)處理裝置,包括:
41、確定單元,用于從預設服務器集群中,確定用于負載調(diào)整的調(diào)度節(jié)點和用于處理流數(shù)據(jù)的傳輸節(jié)點;
42、獲取單元,用于所述調(diào)度節(jié)點接收所述傳輸節(jié)點上傳的負載指標信息;
43、組合單元,用于將待處理的流數(shù)據(jù)劃分為多個子分區(qū)流,并對所述子分區(qū)流進行組合,得到至少一個子分區(qū)流組;
44、分配單元,用于所述調(diào)度節(jié)點根據(jù)所述負載指標信息,將各所述子分區(qū)流組分配給所述傳輸節(jié)點。
45、本技術(shù)實施例提供的一種電子設備,包括處理器和存儲器,所述存儲器存儲有多條指令,所述處理器加載所述指令,以執(zhí)行本技術(shù)實施例提供的流數(shù)據(jù)處理方法中的步驟。
46、本技術(shù)實施例還提供一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,其中,所述計算機程序被處理器執(zhí)行時實現(xiàn)本技術(shù)實施例提供的流數(shù)據(jù)處理方法中的步驟。
47、此外,本技術(shù)實施例還提供一種計算機程序產(chǎn)品,包括計算機程序或指令,該計算機程序或指令被處理器執(zhí)行時實現(xiàn)本技術(shù)實施例提供的流數(shù)據(jù)處理方法中的步驟。
48、本技術(shù)實施例提供了一種流數(shù)據(jù)處理方法以及相關設備,可以從預設服務器集群中,確定用于負載調(diào)整的調(diào)度節(jié)點和用于處理流數(shù)據(jù)的傳輸節(jié)點;所述調(diào)度節(jié)點接收所述傳輸節(jié)點上傳的負載指標信息;將待處理的流數(shù)據(jù)劃分為多個子分區(qū)流,并對所述子分區(qū)流進行組合,得到至少一個子分區(qū)流組;所述調(diào)度節(jié)點根據(jù)所述負載指標信息,將各所述子分區(qū)流組分配給所述傳輸節(jié)點。本技術(shù)將子分區(qū)流進行組合,將多個子分區(qū)流分配到同一個組內(nèi),采用子分區(qū)流組作為負載均衡調(diào)度的最小單位,減少了用于負載計算的數(shù)據(jù)規(guī)模,可以支持更大數(shù)量規(guī)模的子分區(qū)流,并且采用調(diào)度節(jié)點檢測傳輸節(jié)點的負載情況,從而可以對傳輸節(jié)點的負載進行動態(tài)均衡調(diào)整。