本發(fā)明涉及數(shù)據(jù)處理,尤其涉及一種輕量級(jí)的數(shù)據(jù)批處理方法、系統(tǒng)、電子設(shè)備及可讀存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著批處理任務(wù)的逐漸成熟,各種批處理組件層出不窮。從傳統(tǒng)的角度出發(fā),商業(yè)上有informatica、kettle等etl工具進(jìn)行數(shù)據(jù)批處理任務(wù)的運(yùn)行,而小型的批處理任務(wù)也會(huì)采用存儲(chǔ)過程進(jìn)行運(yùn)行。但隨著大數(shù)據(jù)技術(shù)逐漸深化,數(shù)據(jù)接入逐漸變多,門檻的要求也要逐步降低;而且,市場(chǎng)目前主流的服務(wù),整體框架普遍較重,學(xué)習(xí)成本相對(duì)較高,對(duì)純sql實(shí)現(xiàn)批處理任務(wù)的運(yùn)行相對(duì)比較匱乏,無法滿足相對(duì)輕量級(jí)條件下的數(shù)據(jù)批處理。
2、因此,需提出一種輕量級(jí)的數(shù)據(jù)批處理方法、系統(tǒng)、電子設(shè)備及可讀存儲(chǔ)介質(zhì)。
技術(shù)實(shí)現(xiàn)思路
1、本說明書提供一種輕量級(jí)的數(shù)據(jù)批處理方法、系統(tǒng)、電子設(shè)備及可讀存儲(chǔ)介質(zhì),通過配置界面接收配置參數(shù)并自動(dòng)生成配置文件,簡(jiǎn)化了任務(wù)設(shè)置,降低了操作難度。同時(shí),基于配置參數(shù)構(gòu)建定時(shí)調(diào)度任務(wù),實(shí)現(xiàn)了任務(wù)的自動(dòng)化執(zhí)行,減少了人工干預(yù)。執(zhí)行器和批處理組件的協(xié)同工作,確保了任務(wù)的準(zhǔn)確觸發(fā)和高效處理。此外,該方法還支持多種數(shù)據(jù)源和處理邏輯,滿足了多樣化的數(shù)據(jù)處理需求。通過精細(xì)化的數(shù)據(jù)提取、處理和寫入規(guī)則,實(shí)現(xiàn)了數(shù)據(jù)的高效流轉(zhuǎn)和準(zhǔn)確存儲(chǔ),該輕量級(jí)的數(shù)據(jù)批處理方法顯著提高了數(shù)據(jù)處理效率與靈活性。
2、本技術(shù)提供的一種輕量級(jí)的數(shù)據(jù)批處理方法采用如下的技術(shù)方案,包括:
3、接收批處理任務(wù)對(duì)應(yīng)的配置參數(shù);
4、通過批處理配置服務(wù),生成與所述配置參數(shù)對(duì)應(yīng)的配置文件;
5、基于所述配置參數(shù)構(gòu)建所述批處理任務(wù)對(duì)應(yīng)的定時(shí)調(diào)度任務(wù);
6、基于所述定時(shí)調(diào)度任務(wù),啟動(dòng)執(zhí)行器和批處理組件對(duì)當(dāng)前批處理任務(wù)進(jìn)行處理;其中,基于所述定時(shí)調(diào)度任務(wù)進(jìn)行任務(wù)觸發(fā),向所述執(zhí)行器發(fā)送當(dāng)前批處理任務(wù);通過所述執(zhí)行器獲取所述當(dāng)前批處理任務(wù)對(duì)應(yīng)的當(dāng)前配置文件;讀取所述當(dāng)前配置文件,對(duì)所述當(dāng)前批處理任務(wù)進(jìn)行任務(wù)初始化;通過所述批處理組件執(zhí)行所述當(dāng)前批處理任務(wù)。
7、可選的,所述配置參數(shù)包括:數(shù)據(jù)源信息、處理邏輯信息、定時(shí)信息;
8、可選的,所述通過批處理配置服務(wù),生成與所述配置參數(shù)對(duì)應(yīng)的配置文件,包括:
9、基于所述配置參數(shù)構(gòu)建所述配置文件;
10、將所述配置文件保存至批處理配置數(shù)據(jù)庫;
11、可選的,所述構(gòu)建所述批處理任務(wù)對(duì)應(yīng)的定時(shí)調(diào)度任務(wù),包括:
12、為所述批處理任務(wù)構(gòu)建標(biāo)識(shí)信息;
13、結(jié)合所述標(biāo)識(shí)信息和定時(shí)信息,對(duì)定時(shí)任務(wù)組件進(jìn)行配置,構(gòu)建所述定時(shí)調(diào)度任務(wù);
14、建立所述任務(wù)標(biāo)識(shí)與所述配置文件的關(guān)聯(lián)關(guān)系。
15、可選的,所述基于所述配置參數(shù)構(gòu)建所述配置文件,包括:
16、基于所述數(shù)據(jù)源信息的輸入數(shù)據(jù)源配置數(shù)據(jù)提取規(guī)則;
17、基于所述數(shù)據(jù)源信息的輸出數(shù)據(jù)源配置數(shù)據(jù)寫入規(guī)則;
18、基于所述處理邏輯信息配置數(shù)據(jù)處理規(guī)則;
19、匯總所述數(shù)據(jù)提取規(guī)則、所述數(shù)據(jù)寫入規(guī)則以及所述數(shù)據(jù)處理規(guī)則,構(gòu)建所述配置文件。
20、可選的,所述通過所述執(zhí)行器獲取所述當(dāng)前批處理任務(wù)對(duì)應(yīng)的當(dāng)前配置文件,包括:
21、通過所述執(zhí)行器向所述批處理配置服務(wù)發(fā)送配置文件獲取請(qǐng)求;
22、所述批處理配置服務(wù)從所述批處理配置數(shù)據(jù)庫中查找與所述當(dāng)前標(biāo)識(shí)信息對(duì)應(yīng)的當(dāng)前配置文件;
23、所述批處理配置服務(wù)向所述執(zhí)行器返回所述當(dāng)前配置文件。
24、可選的,所述通過所述批處理組件執(zhí)行所述當(dāng)前批處理任務(wù),包括:
25、基于所述數(shù)據(jù)提取規(guī)則,通過讀取器獲取所述輸入數(shù)據(jù)源中的原始數(shù)據(jù);
26、基于所述數(shù)據(jù)處理規(guī)則對(duì)所述原始數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,得到目標(biāo)數(shù)據(jù);
27、基于所述數(shù)據(jù)寫入規(guī)則確定目標(biāo)數(shù)據(jù)的寫入類型;結(jié)合所述寫入類型將所述目標(biāo)數(shù)據(jù)寫入所述輸出數(shù)據(jù)源。
28、可選的,所述基于所述目標(biāo)數(shù)據(jù)的寫入類型,將其寫入所述輸出數(shù)據(jù)源,包括:
29、當(dāng)數(shù)據(jù)存儲(chǔ)模式為更新模式時(shí),判斷所述目標(biāo)數(shù)據(jù)的類型,生成判斷結(jié)果;
30、根據(jù)所述判斷結(jié)果,生成對(duì)應(yīng)的寫入語句;其中,當(dāng)所述目標(biāo)數(shù)據(jù)為第一寫入類型時(shí),基于所述目標(biāo)數(shù)據(jù)生成insert語句,insert語句用于插入新數(shù)據(jù);當(dāng)所述目標(biāo)數(shù)據(jù)為第二寫入類型時(shí),基于所述目標(biāo)數(shù)據(jù)生成update語句,update語句用于更新輸出數(shù)據(jù)源的已有數(shù)據(jù);
31、使用寫入器執(zhí)行所述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的寫入語句,將所述目標(biāo)數(shù)據(jù)寫入所述輸出數(shù)據(jù)源。
32、可選的,還包括:
33、基于所述執(zhí)行器的執(zhí)行情況,生成日志記錄;
34、可選的,所述基于所述執(zhí)行器的執(zhí)行情況,生成日志記錄,包括:
35、在所述批處理任務(wù)的執(zhí)行過程中,獲取日志記錄;當(dāng)所述批處理任務(wù)結(jié)束時(shí),基于所述日志記錄進(jìn)行分析,提取關(guān)鍵信息,將所述關(guān)鍵信息進(jìn)行入庫;所述關(guān)鍵信息包括:批處理任務(wù)的執(zhí)行情況、寫入數(shù)據(jù)條數(shù)。
36、本技術(shù)提供的一種輕量級(jí)的數(shù)據(jù)批處理系統(tǒng)采用如下的技術(shù)方案,包括:
37、采集模塊,用于接收批處理任務(wù)對(duì)應(yīng)的配置參數(shù);
38、批處理配置服務(wù),用于生成與所述配置參數(shù)對(duì)應(yīng)的配置文件;
39、調(diào)度任務(wù)構(gòu)建模塊,用于基于所述配置參數(shù)構(gòu)建所述批處理任務(wù)對(duì)應(yīng)的定時(shí)調(diào)度任務(wù);
40、批處理模塊,用于基于所述定時(shí)調(diào)度任務(wù),啟動(dòng)執(zhí)行器和批處理組件對(duì)當(dāng)前批處理任務(wù)進(jìn)行處理;
41、所述批處理模塊,包括:
42、定時(shí)任務(wù)組件,用于基于所述定時(shí)調(diào)度任務(wù)進(jìn)行任務(wù)觸發(fā),向所述執(zhí)行器發(fā)送當(dāng)前批處理任務(wù);
43、執(zhí)行器,用于獲取所述當(dāng)前批處理任務(wù)對(duì)應(yīng)的當(dāng)前配置文件;讀取所述當(dāng)前配置文件,對(duì)所述當(dāng)前批處理任務(wù)進(jìn)行任務(wù)初始化;
44、批處理組件,用于執(zhí)行所述當(dāng)前批處理任務(wù)。
45、可選的,所述配置參數(shù)包括:數(shù)據(jù)源信息、處理邏輯信息、定時(shí)信息;
46、可選的,所述批處理配置服務(wù),包括:
47、所述通過批處理配置服務(wù),生成與所述配置參數(shù)對(duì)應(yīng)的配置文件,包括:
48、配置文件構(gòu)建子模塊,用于基于所述配置參數(shù)構(gòu)建所述配置文件;
49、配置文件存儲(chǔ)子模塊,用于將所述配置文件保存至批處理配置數(shù)據(jù)庫;
50、可選的,所述調(diào)度任務(wù)構(gòu)建模塊,包括:
51、標(biāo)識(shí)信息構(gòu)建子模塊,用于為所述批處理任務(wù)構(gòu)建標(biāo)識(shí)信息;
52、調(diào)度任務(wù)構(gòu)建子模塊,用于結(jié)合所述標(biāo)識(shí)信息和定時(shí)信息,對(duì)定時(shí)任務(wù)組件進(jìn)行配置,構(gòu)建所述定時(shí)調(diào)度任務(wù);
53、關(guān)聯(lián)關(guān)系建立子模塊,用于建立所述任務(wù)標(biāo)識(shí)與所述配置文件的關(guān)聯(lián)關(guān)系。
54、可選的,所述配置文件構(gòu)建子模塊,包括:
55、提取規(guī)則構(gòu)建單元,用于基于所述數(shù)據(jù)源信息的輸入數(shù)據(jù)源配置數(shù)據(jù)提取規(guī)則;
56、寫入規(guī)則構(gòu)建單元,用于基于所述數(shù)據(jù)源信息的輸出數(shù)據(jù)源配置數(shù)據(jù)寫入規(guī)則;
57、處理規(guī)則構(gòu)建單元,用于基于所述處理邏輯信息配置數(shù)據(jù)處理規(guī)則;
58、配置文件生成單元,用于匯總所述數(shù)據(jù)提取規(guī)則、所述數(shù)據(jù)寫入規(guī)則以及所述數(shù)據(jù)處理規(guī)則,構(gòu)建所述配置文件。
59、可選的,所述執(zhí)行器,包括:
60、配置文件獲取單元,用于向所述批處理配置服務(wù)發(fā)送配置文件獲取請(qǐng)求;基于所述批處理配置服務(wù)從所述批處理配置數(shù)據(jù)庫中查找與所述當(dāng)前標(biāo)識(shí)信息對(duì)應(yīng)的當(dāng)前配置文件,獲取所述批處理配置服務(wù)返回的所述當(dāng)前配置文件。
61、可選的,所述批處理組件,包括:
62、讀取器,用于基于所述數(shù)據(jù)提取規(guī)則,獲取所述輸入數(shù)據(jù)源中的原始數(shù)據(jù);
63、處理器,用于基于所述數(shù)據(jù)處理規(guī)則對(duì)所述原始數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,得到目標(biāo)數(shù)據(jù);
64、寫入器,用于基于所述數(shù)據(jù)寫入規(guī)則確定目標(biāo)數(shù)據(jù)的寫入類型;結(jié)合所述寫入類型將所述目標(biāo)數(shù)據(jù)寫入所述輸出數(shù)據(jù)源。
65、可選的,所述寫入器,包括:
66、判斷單元,用于當(dāng)數(shù)據(jù)存儲(chǔ)模式為更新模式時(shí),判斷所述目標(biāo)數(shù)據(jù)的類型,生成判斷結(jié)果;
67、生成單元,用于根據(jù)所述判斷結(jié)果,生成對(duì)應(yīng)的寫入語句;
68、寫入單元,用于執(zhí)行所述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的寫入語句,將所述目標(biāo)數(shù)據(jù)寫入所述輸出數(shù)據(jù)源。
69、可選的,所述生成單元,包括:
70、第一寫入子單元,用于當(dāng)所述目標(biāo)數(shù)據(jù)為第一寫入類型時(shí),基于所述目標(biāo)數(shù)據(jù)生成insert語句,insert語句用于插入新數(shù)據(jù);
71、第二寫入子單元,用于當(dāng)所述目標(biāo)數(shù)據(jù)為第二寫入類型時(shí),基于所述目標(biāo)數(shù)據(jù)生成update語句,update語句用于更新輸出數(shù)據(jù)源的已有數(shù)據(jù);
72、可選的,還包括:記錄模塊,用于基于所述執(zhí)行器的執(zhí)行情況,生成日志記錄;
73、可選的,所述記錄模塊包括:
74、日志記錄獲取子模塊,用于在所述批處理任務(wù)的執(zhí)行過程中,獲取日志記錄;
75、分析子模塊,用于當(dāng)所述批處理任務(wù)結(jié)束時(shí),基于所述日志記錄進(jìn)行分析,提取關(guān)鍵信息,將所述關(guān)鍵信息進(jìn)行入庫;
76、所述關(guān)鍵信息包括:批處理任務(wù)的執(zhí)行情況、寫入數(shù)據(jù)條數(shù)。
77、本說明書還提供一種電子設(shè)備,其中,該電子設(shè)備包括:
78、處理器;以及,
79、存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的存儲(chǔ)器,所述可執(zhí)行指令在被執(zhí)行時(shí)使所述處理器執(zhí)行上述任一項(xiàng)方法。
80、本說明書還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)一個(gè)或多個(gè)程序,所述一個(gè)或多個(gè)程序當(dāng)被處理器執(zhí)行時(shí),實(shí)現(xiàn)上述任一項(xiàng)方法。
81、本技術(shù)中,通過接收批處理任務(wù)對(duì)應(yīng)的配置參數(shù);通過批處理配置服務(wù),生成與所述配置參數(shù)對(duì)應(yīng)的配置文件;實(shí)現(xiàn)了批處理任務(wù)的靈活配置與快速部署;基于所述配置參數(shù)構(gòu)建所述批處理任務(wù)對(duì)應(yīng)的定時(shí)調(diào)度任務(wù);基于所述定時(shí)調(diào)度任務(wù),啟動(dòng)執(zhí)行器和批處理組件對(duì)當(dāng)前批處理任務(wù)進(jìn)行處理;其中,基于所述定時(shí)調(diào)度任務(wù)進(jìn)行任務(wù)觸發(fā),向所述執(zhí)行器發(fā)送當(dāng)前批處理任務(wù);通過所述執(zhí)行器獲取所述當(dāng)前批處理任務(wù)對(duì)應(yīng)的當(dāng)前配置文件;讀取所述當(dāng)前配置文件,對(duì)所述當(dāng)前批處理任務(wù)進(jìn)行任務(wù)初始化;通過所述批處理組件執(zhí)行所述當(dāng)前批處理任務(wù),提高了其輕量級(jí)和高效性,顯著降低數(shù)據(jù)批處理的復(fù)雜度和成本。