本申請涉及數(shù)據(jù)處理及大數(shù)據(jù),尤其涉及一種計(jì)算鏈路處理方法、裝置、設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、隨著信息化進(jìn)程的不斷深入,數(shù)據(jù)處理的數(shù)量也逐漸增加。當(dāng)前在涉及大量數(shù)據(jù)時(shí),可以采用sql(結(jié)構(gòu)化查詢語言,structured?query?language)語句進(jìn)行數(shù)據(jù)處理。
2、當(dāng)前sql語句的編寫,通常需要工作人員具有一定的sql語言編寫能力。
3、但是,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在如下技術(shù)問題:當(dāng)前sql語句的編寫難度較高。
技術(shù)實(shí)現(xiàn)思路
1、本申請實(shí)施例提供一種計(jì)算鏈路處理方法、裝置、設(shè)備及存儲介質(zhì),用以解決現(xiàn)有技術(shù)中創(chuàng)建的大量的線程處于等待狀態(tài),使得任務(wù)處于空跑狀態(tài)的問題。
2、第一方面,本申請?zhí)峁┮环N計(jì)算鏈路處理方法,包括:響應(yīng)于接收到用戶輸入的節(jié)點(diǎn)添加指令,添加節(jié)點(diǎn)添加指令對應(yīng)的結(jié)構(gòu)化查詢語言sql節(jié)點(diǎn);響應(yīng)于接收到用戶輸入的編排指令,將編排指令對應(yīng)的sql節(jié)點(diǎn)連接,得到計(jì)算鏈路;響應(yīng)于接收到對自動優(yōu)化按鈕的觸發(fā)信號,優(yōu)化計(jì)算鏈路,得到對應(yīng)的已優(yōu)化sql語句;確定已優(yōu)化sql語句對應(yīng)的已優(yōu)化語法樹;根據(jù)預(yù)設(shè)的sql節(jié)點(diǎn)與語法樹節(jié)點(diǎn)組對應(yīng)關(guān)系,確定已優(yōu)化語法樹對應(yīng)的至少一個(gè)新sql節(jié)點(diǎn);將新sql節(jié)點(diǎn)按已優(yōu)化語法樹的結(jié)構(gòu)拼接,得到已優(yōu)化計(jì)算鏈路;確定已優(yōu)化計(jì)算鏈路對應(yīng)的執(zhí)行計(jì)劃;輸出已優(yōu)化計(jì)算鏈路及執(zhí)行計(jì)劃。
3、在一種可能的實(shí)現(xiàn)方式中,根據(jù)預(yù)設(shè)的sql節(jié)點(diǎn)與語法樹節(jié)點(diǎn)組對應(yīng)關(guān)系,確定已優(yōu)化語法樹對應(yīng)的至少一個(gè)新sql節(jié)點(diǎn),包括:查找預(yù)設(shè)的sql節(jié)點(diǎn)與語法樹節(jié)點(diǎn)組對應(yīng)關(guān)系,得到目標(biāo)sql節(jié)點(diǎn)對應(yīng)的目標(biāo)語法樹節(jié)點(diǎn)組,其中目標(biāo)語法樹節(jié)點(diǎn)組包括至少一個(gè)目標(biāo)語法樹節(jié)點(diǎn)及目標(biāo)語法樹節(jié)點(diǎn)之間的連接關(guān)系,目標(biāo)sql節(jié)點(diǎn)為任一sql節(jié)點(diǎn);若已優(yōu)化語法樹中的已優(yōu)化語法樹節(jié)點(diǎn)組與目標(biāo)語法樹節(jié)點(diǎn)組相同,則將目標(biāo)sql節(jié)點(diǎn)組確定為候選節(jié)點(diǎn),其中已優(yōu)化語法樹節(jié)點(diǎn)組包括至少一個(gè)已優(yōu)化語法樹節(jié)點(diǎn)及已優(yōu)化語法樹節(jié)點(diǎn)之間的連接關(guān)系;在候選節(jié)點(diǎn)中,確定新sql節(jié)點(diǎn)。
4、在一種可能的實(shí)現(xiàn)方式中,在候選節(jié)點(diǎn)中,確定新sql節(jié)點(diǎn),包括:若目標(biāo)候選節(jié)點(diǎn)對應(yīng)的目標(biāo)語法樹節(jié)點(diǎn)與剩余候選節(jié)點(diǎn)對應(yīng)的目標(biāo)語法樹節(jié)點(diǎn)不重復(fù),則將目標(biāo)候選節(jié)點(diǎn)確定為新sql節(jié)點(diǎn);若至少兩個(gè)候選節(jié)點(diǎn)對應(yīng)的目標(biāo)語法樹節(jié)點(diǎn)有重復(fù),則將至少兩個(gè)候選節(jié)點(diǎn)中,對應(yīng)目標(biāo)語法樹節(jié)點(diǎn)最多的候選節(jié)點(diǎn)確定為新sql節(jié)點(diǎn)。
5、在一種可能的實(shí)現(xiàn)方式中,在候選節(jié)點(diǎn)中,確定新sql節(jié)點(diǎn),包括:生成各語法樹節(jié)點(diǎn)的序號;根據(jù)各語法樹節(jié)點(diǎn)的序號,確定所有語法樹節(jié)點(diǎn)對應(yīng)的總序號范圍;根據(jù)各候選節(jié)點(diǎn)對應(yīng)的目標(biāo)語法樹節(jié)點(diǎn)及語法樹節(jié)點(diǎn)的序號,確定各候選節(jié)點(diǎn)對應(yīng)的序號值;采用各候選節(jié)點(diǎn)對應(yīng)的序號值及總序號范圍,確定候選節(jié)點(diǎn)中的新sql節(jié)點(diǎn)。
6、在一種可能的實(shí)現(xiàn)方式中,確定已優(yōu)化計(jì)算鏈路對應(yīng)的執(zhí)行計(jì)劃,包括:將已優(yōu)化計(jì)算鏈路中各sql節(jié)點(diǎn)的輸入?yún)?shù)、輸出參數(shù)及節(jié)點(diǎn)名稱組合,得到執(zhí)行計(jì)劃。
7、在一種可能的實(shí)現(xiàn)方式中,在將新sql節(jié)點(diǎn)按已優(yōu)化語法樹的結(jié)構(gòu)拼接,得到已優(yōu)化計(jì)算鏈路之后,還包括:響應(yīng)于接收到用戶對運(yùn)行按鈕的觸發(fā)信號,獲取已優(yōu)化計(jì)算鏈路中目標(biāo)sql節(jié)點(diǎn)的配置信息;若配置信息包括數(shù)據(jù)來源信息,則加載數(shù)據(jù)來源信息對應(yīng)的目標(biāo)數(shù)據(jù);采用目標(biāo)數(shù)據(jù)建立臨時(shí)表映射;若配置信息包括執(zhí)行sql配置信息,則提交執(zhí)行sql配置信息對應(yīng)的執(zhí)行sql,得到結(jié)果集;若配置信息包括結(jié)果輸出配置信息,則根據(jù)結(jié)果輸出配置信息,將結(jié)果集寫入結(jié)果輸出配置信息對應(yīng)的存儲位置。
8、第二方面,本申請?zhí)峁┮环N計(jì)算鏈路處理裝置,包括:節(jié)點(diǎn)添加模塊,用于響應(yīng)于接收到用戶輸入的節(jié)點(diǎn)添加指令,添加節(jié)點(diǎn)添加指令對應(yīng)的結(jié)構(gòu)化查詢語言sql節(jié)點(diǎn);鏈路獲得模塊,用于響應(yīng)于接收到用戶輸入的編排指令,將編排指令對應(yīng)的sql節(jié)點(diǎn)連接,得到計(jì)算鏈路;語句優(yōu)化模塊,用于響應(yīng)于接收到對自動優(yōu)化按鈕的觸發(fā)信號,優(yōu)化計(jì)算鏈路,得到已優(yōu)化sql語句;語法樹確定模塊,用于確定已優(yōu)化sql語句對應(yīng)的已優(yōu)化語法樹;節(jié)點(diǎn)確定模塊,用于根據(jù)預(yù)設(shè)的sql節(jié)點(diǎn)與語法樹節(jié)點(diǎn)組對應(yīng)關(guān)系,確定已優(yōu)化語法樹對應(yīng)的至少一個(gè)新sql節(jié)點(diǎn);鏈路獲得模塊,用于將新sql節(jié)點(diǎn)按已優(yōu)化語法樹的結(jié)構(gòu)拼接,得到已優(yōu)化計(jì)算鏈路;計(jì)劃確定模塊,用于確定已優(yōu)化計(jì)算鏈路對應(yīng)的執(zhí)行計(jì)劃;數(shù)據(jù)輸出模塊,用于輸出已優(yōu)化計(jì)算鏈路及執(zhí)行計(jì)劃。
9、第三方面,本申請實(shí)施例提供一種電子設(shè)備,包括:至少一個(gè)處理器和存儲器;存儲器存儲計(jì)算機(jī)執(zhí)行指令;至少一個(gè)處理器執(zhí)行存儲器存儲的計(jì)算機(jī)執(zhí)行指令,使得至少一個(gè)處理器執(zhí)行如上第一方面以及第一方面各種可能的設(shè)計(jì)的計(jì)算鏈路處理方法。
10、第四方面,本申請實(shí)施例提供一種計(jì)算機(jī)可讀存儲介質(zhì),計(jì)算機(jī)可讀存儲介質(zhì)中存儲有計(jì)算機(jī)執(zhí)行指令,當(dāng)處理器執(zhí)行計(jì)算機(jī)執(zhí)行指令時(shí),實(shí)現(xiàn)如上第一方面以及第一方面各種可能的設(shè)計(jì)的計(jì)算鏈路處理方法。
11、第五方面,本申請實(shí)施例提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行時(shí),實(shí)現(xiàn)如上第一方面以及第一方面各種可能的設(shè)計(jì)的計(jì)算鏈路處理方法。
12、本申請?zhí)峁┑挠?jì)算鏈路處理方法、裝置、設(shè)備及存儲介質(zhì),通過添加節(jié)點(diǎn)添加指令對應(yīng)的sql節(jié)點(diǎn),并按編排指令的要求將sql節(jié)點(diǎn)連接,得到計(jì)算鏈路,對計(jì)算鏈路對應(yīng)的sql語句進(jìn)行優(yōu)化,得到已優(yōu)化sql語句,確定已優(yōu)化sql語句對應(yīng)的已優(yōu)化語法樹,確定已優(yōu)化語法樹的對應(yīng)的新sql節(jié)點(diǎn),采用新sql節(jié)點(diǎn)拼接得到已優(yōu)化sql語句,并輸出已優(yōu)化sql語句的計(jì)算鏈路和執(zhí)行計(jì)劃,由于可以通過拖拽的方式進(jìn)行sql語句的編寫,減少了人工編輯sql語句的時(shí)間和學(xué)習(xí)成本,同時(shí)實(shí)現(xiàn)了計(jì)算鏈路的自動優(yōu)化,減少了人工優(yōu)化sql語句的時(shí)間,還實(shí)現(xiàn)了對應(yīng)執(zhí)行計(jì)劃的生成,便于工作人員直觀的了解執(zhí)行計(jì)劃、優(yōu)化調(diào)整編排順序,減少sql語句的編寫時(shí)間。
1.一種計(jì)算鏈路處理方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)預(yù)設(shè)的sql節(jié)點(diǎn)與語法樹節(jié)點(diǎn)組對應(yīng)關(guān)系,確定所述已優(yōu)化語法樹對應(yīng)的至少一個(gè)新sql節(jié)點(diǎn),包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述在所述候選節(jié)點(diǎn)中,確定新sql節(jié)點(diǎn),包括:
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述在所述候選節(jié)點(diǎn)中,確定新sql節(jié)點(diǎn),包括:
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,所述確定所述已優(yōu)化計(jì)算鏈路對應(yīng)的執(zhí)行計(jì)劃,包括:
6.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,在所述將所述新sql節(jié)點(diǎn)按所述已優(yōu)化語法樹的結(jié)構(gòu)拼接,得到已優(yōu)化計(jì)算鏈路之后,還包括:
7.一種計(jì)算鏈路處理裝置,其特征在于,包括:
8.一種電子設(shè)備,其特征在于,包括:處理器,以及與所述處理器通信連接的存儲器;
9.一種計(jì)算機(jī)可讀存儲介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲介質(zhì)中存儲有計(jì)算機(jī)執(zhí)行指令,所述計(jì)算機(jī)執(zhí)行指令被處理器執(zhí)行時(shí)用于實(shí)現(xiàn)如權(quán)利要求1至6中任一項(xiàng)所述的計(jì)算鏈路處理方法。
10.一種計(jì)算機(jī)程序產(chǎn)品,其特征在于,包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至6中任一項(xiàng)所述的計(jì)算鏈路處理方法。