本發(fā)明屬于醫(yī)療信息領(lǐng)域,具體涉及一種基于醫(yī)療數(shù)據(jù)血緣關(guān)系的智能作業(yè)調(diào)度方法及裝置。
背景技術(shù):
1、本部分的陳述僅僅是提供了與本發(fā)明相關(guān)的背景技術(shù)信息,不必然構(gòu)成在先技術(shù)。
2、在構(gòu)建醫(yī)療數(shù)據(jù)倉庫時,需要創(chuàng)建ods、dwd、di?m、dws、ads等層的數(shù)據(jù)表,通過sql或其它數(shù)據(jù)同步作業(yè)完成數(shù)據(jù)處理及寫入。這些作業(yè)往往具有嚴格的先后執(zhí)行順序,必須保證上游數(shù)據(jù)表的數(shù)據(jù)處理并寫入完成,才能開始下游數(shù)據(jù)表的數(shù)據(jù)作業(yè)。
3、傳統(tǒng)的調(diào)度方式是由人工指定定時任務來觸發(fā)數(shù)據(jù)作業(yè),通過先后的觸發(fā)時間來實現(xiàn)作業(yè)有序調(diào)度。本發(fā)明人發(fā)現(xiàn):傳統(tǒng)調(diào)度方式存在以下問題:
4、1、每個作業(yè)的執(zhí)行時間不固定,當上游作業(yè)運行時長大于上下游作業(yè)觸發(fā)時間的間隔時,會導致上游數(shù)據(jù)表的數(shù)據(jù)未完成計算,就開始了下游數(shù)據(jù)表的計算,最終導致主題或指標計算錯誤。
5、2、數(shù)據(jù)倉庫中通常具有大量的數(shù)據(jù)表,所以需要編排更多的數(shù)據(jù)作業(yè),當數(shù)據(jù)作業(yè)數(shù)目越多,如幾百個任務時,運維人員就難以去通過控制觸發(fā)時間來實現(xiàn)有序執(zhí)行。
6、3、大量的作業(yè)還會產(chǎn)生大量的血緣關(guān)系,僅靠人工是難以梳理與維護的。即使使用具備工作流調(diào)度的大數(shù)據(jù)調(diào)度平臺,人工維護成百上千的節(jié)點關(guān)系也是非常困難。
7、4、當作業(yè)失敗時,缺乏恢復或重跑機制,下游作業(yè)依然會按時執(zhí)行,導致最終指標計算錯誤。需要人工介入處理保證依次有序執(zhí)行。
技術(shù)實現(xiàn)思路
1、本發(fā)明為了解決上述問題,提出了一種基于醫(yī)療數(shù)據(jù)血緣關(guān)系的智能作業(yè)調(diào)度方法及裝置,本發(fā)明能夠自動識別醫(yī)療數(shù)據(jù)的血緣關(guān)系生成有向無環(huán)圖dag,并基于dag自動進行作業(yè)調(diào)度,嚴格保證了數(shù)據(jù)作業(yè)有序執(zhí)行,具備異?;謴团c重新執(zhí)行能力,無需人工參與大量的作業(yè)調(diào)度工作。
2、根據(jù)一些實施例,本發(fā)明采用如下技術(shù)方案:
3、一種基于醫(yī)療數(shù)據(jù)血緣關(guān)系的智能作業(yè)調(diào)度方法,包括以下步驟:
4、獲取全部數(shù)倉作業(yè)的配置信息,提取元數(shù)據(jù)和結(jié)構(gòu)化查詢語言;
5、根據(jù)結(jié)構(gòu)化查詢語言解析生成表級血緣關(guān)系,匯集所有的血緣關(guān)系生成有向無環(huán)數(shù)據(jù)鏈路圖;
6、根據(jù)有向無環(huán)數(shù)據(jù)鏈路圖與用戶指定的作業(yè)組內(nèi)的作業(yè)信息重新生成只需要執(zhí)行的作業(yè)的有向無環(huán)數(shù)據(jù)鏈路圖,并轉(zhuǎn)換且優(yōu)化為執(zhí)行計劃;
7、根據(jù)執(zhí)行計劃與作業(yè)的執(zhí)行狀態(tài)和策略配置,進行最優(yōu)動態(tài)調(diào)度,生成作業(yè)指令;
8、依照作業(yè)指令對結(jié)構(gòu)化查詢語言進行執(zhí)行,完成數(shù)據(jù)處理。
9、作為可選擇的實施方式,根據(jù)結(jié)構(gòu)化查詢語言解析生成表級血緣關(guān)系的過程包括:對結(jié)構(gòu)化查詢語言的相關(guān)語句解析出當前數(shù)據(jù)表的數(shù)據(jù)的來源,形成單表血緣分析;對所有的結(jié)構(gòu)化查詢語言進行解析得到血緣關(guān)系,將所有血緣關(guān)系合并為一個完整的數(shù)據(jù)鏈路關(guān)系。
10、作為可選擇的實施方式,根據(jù)有向無環(huán)數(shù)據(jù)鏈路圖與用戶指定的作業(yè)組內(nèi)的作業(yè)信息重新生成只需要執(zhí)行的作業(yè)的有向無環(huán)數(shù)據(jù)鏈路圖的過程包括:通過用戶指定的作業(yè)組,重新計算所有的前驅(qū)節(jié)點,重新推理出只包含當前節(jié)點與前驅(qū)節(jié)點的有向無環(huán)圖,根據(jù)有向無環(huán)圖生成執(zhí)行計劃,再按照用戶配置的行為策略進行執(zhí)行計劃優(yōu)化。
11、作為可選擇的實施方式,所述策略配置包括作業(yè)并行度、是否自動重試、重試次數(shù)和/或是否跳過異常作業(yè)。
12、作為可選擇的實施方式,當作業(yè)完成后自動調(diào)度執(zhí)行其后繼作業(yè),如果作業(yè)失敗,則根據(jù)配置的策略跳過作業(yè)或者終止調(diào)度。
13、一種基于醫(yī)療數(shù)據(jù)血緣關(guān)系的智能作業(yè)調(diào)度裝置,包括:
14、作業(yè)配置采集模塊,被配置為獲取全部數(shù)倉作業(yè)的配置信息,提取元數(shù)據(jù)和結(jié)構(gòu)化查詢語言;
15、血緣關(guān)系分析模塊,被配置為根據(jù)結(jié)構(gòu)化查詢語言解析生成表級血緣關(guān)系,匯集所有的血緣關(guān)系生成有向無環(huán)數(shù)據(jù)鏈路圖;
16、執(zhí)行計劃優(yōu)化模塊,被配置為根據(jù)有向無環(huán)數(shù)據(jù)鏈路圖與用戶指定的作業(yè)組內(nèi)的作業(yè)信息重新生成只需要執(zhí)行的作業(yè)的有向無環(huán)數(shù)據(jù)鏈路圖,并轉(zhuǎn)換且優(yōu)化為執(zhí)行計劃;
17、作業(yè)調(diào)度模塊,被配置為根據(jù)執(zhí)行計劃與作業(yè)的執(zhí)行狀態(tài)和策略配置,進行最優(yōu)動態(tài)調(diào)度,生成作業(yè)指令;
18、作業(yè)執(zhí)行模塊,被配置為依照作業(yè)指令對結(jié)構(gòu)化查詢語言進行執(zhí)行,完成數(shù)據(jù)處理。
19、作為可選擇的實施方式,所述血緣關(guān)系分析模塊,被配置為對結(jié)構(gòu)化查詢語言的相關(guān)語句解析出當前數(shù)據(jù)表的數(shù)據(jù)的來源,形成單表血緣分析;對所有的結(jié)構(gòu)化查詢語言進行解析得到血緣關(guān)系,將所有血緣關(guān)系合并為一個完整的數(shù)據(jù)鏈路關(guān)系。
20、作為可選擇的實施方式,所述執(zhí)行計劃優(yōu)化模塊,被配置為通過用戶指定的作業(yè)組,重新計算所有的前驅(qū)節(jié)點,重新推理出只包含當前節(jié)點與前驅(qū)節(jié)點的有向無環(huán)圖,根據(jù)有向無環(huán)圖生成執(zhí)行計劃,再按照用戶配置的行為策略進行執(zhí)行計劃優(yōu)化。
21、一種計算機可讀存儲介質(zhì),用于存儲計算機指令,所述計算機指令被處理器執(zhí)行時,完成上述方法中的步驟。
22、一種電子設(shè)備,包括存儲器和處理器以及存儲在存儲器上并在處理器上運行的計算機指令,所述計算機指令被處理器運行時,完成上述方法中的步驟。
23、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為:
24、1.本發(fā)明實現(xiàn)了智能資源調(diào)度,用戶只需要把需要進行調(diào)度的作業(yè)加入作業(yè)組,并配置調(diào)度策略,裝置則可以自動解析出其上游作業(yè)并根據(jù)資源使用情況動態(tài)調(diào)度作業(yè)執(zhí)行。
25、2.本發(fā)明實現(xiàn)了異常智能恢復,裝置自動維護上萬節(jié)點,并且嚴格保證了作業(yè)有序執(zhí)行,并實現(xiàn)了異?;謴图版溌分嘏?。
26、3.本發(fā)明將大數(shù)據(jù)作業(yè)完全進行托管執(zhí)行,省去了專職人員負責開發(fā)與維護的成本,達到降本增效的效果。
27、為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。
1.一種基于醫(yī)療數(shù)據(jù)血緣關(guān)系的智能作業(yè)調(diào)度方法,其特征是,包括以下步驟:
2.如權(quán)利要求1所述的一種基于醫(yī)療數(shù)據(jù)血緣關(guān)系的智能作業(yè)調(diào)度方法,其特征是,根據(jù)結(jié)構(gòu)化查詢語言解析生成表級血緣關(guān)系的過程包括:對結(jié)構(gòu)化查詢語言的相關(guān)語句解析出當前數(shù)據(jù)表的數(shù)據(jù)的來源,形成單表血緣分析;對所有的結(jié)構(gòu)化查詢語言進行解析得到血緣關(guān)系,將所有血緣關(guān)系合并為一個完整的數(shù)據(jù)鏈路關(guān)系。
3.如權(quán)利要求1所述的一種基于醫(yī)療數(shù)據(jù)血緣關(guān)系的智能作業(yè)調(diào)度方法,其特征是,根據(jù)有向無環(huán)數(shù)據(jù)鏈路圖與用戶指定的作業(yè)組內(nèi)的作業(yè)信息重新生成只需要執(zhí)行的作業(yè)的有向無環(huán)數(shù)據(jù)鏈路圖的過程包括:通過用戶指定的作業(yè)組,重新計算所有的前驅(qū)節(jié)點,重新推理出只包含當前節(jié)點與前驅(qū)節(jié)點的有向無環(huán)圖,根據(jù)有向無環(huán)圖生成執(zhí)行計劃,再按照用戶配置的行為策略進行執(zhí)行計劃優(yōu)化。
4.如權(quán)利要求1所述的一種基于醫(yī)療數(shù)據(jù)血緣關(guān)系的智能作業(yè)調(diào)度方法,其特征是,所述策略配置包括作業(yè)并行度、是否自動重試、重試次數(shù)和/或是否跳過異常作業(yè)。
5.如權(quán)利要求1所述的一種基于醫(yī)療數(shù)據(jù)血緣關(guān)系的智能作業(yè)調(diào)度方法,其特征是,當作業(yè)完成后自動調(diào)度執(zhí)行其后繼作業(yè),如果作業(yè)失敗,則根據(jù)配置的策略跳過作業(yè)或者終止調(diào)度。
6.一種基于醫(yī)療數(shù)據(jù)血緣關(guān)系的智能作業(yè)調(diào)度裝置,其特征是,包括:
7.如權(quán)利要求6所述的一種基于醫(yī)療數(shù)據(jù)血緣關(guān)系的智能作業(yè)調(diào)度裝置,其特征是,所述血緣關(guān)系分析模塊,被配置為對結(jié)構(gòu)化查詢語言的相關(guān)語句解析出當前數(shù)據(jù)表的數(shù)據(jù)的來源,形成單表血緣分析;對所有的結(jié)構(gòu)化查詢語言進行解析得到血緣關(guān)系,將所有血緣關(guān)系合并為一個完整的數(shù)據(jù)鏈路關(guān)系。
8.如權(quán)利要求6所述的一種基于醫(yī)療數(shù)據(jù)血緣關(guān)系的智能作業(yè)調(diào)度裝置,其特征是,所述執(zhí)行計劃優(yōu)化模塊,被配置為通過用戶指定的作業(yè)組,重新計算所有的前驅(qū)節(jié)點,重新推理出只包含當前節(jié)點與前驅(qū)節(jié)點的有向無環(huán)圖,根據(jù)有向無環(huán)圖生成執(zhí)行計劃,再按照用戶配置的行為策略進行執(zhí)行計劃優(yōu)化。
9.一種計算機可讀存儲介質(zhì),其特征是,用于存儲計算機指令,所述計算機指令被處理器執(zhí)行時,完成權(quán)利要求1-5中任一項所述的方法中的步驟。
10.一種電子設(shè)備,其特征是,包括存儲器和處理器以及存儲在存儲器上并在處理器上運行的計算機指令,所述計算機指令被處理器運行時,完成權(quán)利要求1-5中任一項所述的方法中的步驟。