本申請涉及數(shù)據(jù)庫和和操作系統(tǒng)領(lǐng)域,尤其涉及一種sql語句的定位方法、裝置、電子設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、在一些數(shù)據(jù)庫維護(hù)和分析場景中,通常需要對數(shù)據(jù)庫上運(yùn)行的結(jié)構(gòu)化查詢語言(structured?query?language,sql)語句定位溯源,找到sql語句被發(fā)起執(zhí)行的源頭。
2、相關(guān)技術(shù)中,可以將sql語句定位到客戶端主機(jī)或業(yè)務(wù)系統(tǒng),但是定位不夠精準(zhǔn);還有些是通過文字匹配sql語句和業(yè)務(wù)程序,區(qū)分度不高,結(jié)果容易混淆。
技術(shù)實(shí)現(xiàn)思路
1、本申請旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。
2、為此,本申請的第一個(gè)目的在于提出一種sql語句的定位方法,以實(shí)現(xiàn)sql語句的精準(zhǔn)定位。
3、本申請的第二個(gè)目的在于提出一種sql語句的定位裝置。
4、本申請的第三個(gè)目的在于提出一種電子設(shè)備。
5、本申請的第四個(gè)目的在于提出一種計(jì)算機(jī)可讀存儲介質(zhì)。
6、本申請的第五個(gè)目的在于提出一種計(jì)算機(jī)程序產(chǎn)品。
7、為達(dá)上述目的,本申請第一方面實(shí)施例提出了一種sql語句的定位方法,包括:
8、獲取運(yùn)行中的sql語句的運(yùn)行狀態(tài)信息;其中,所述運(yùn)行狀態(tài)信息包括所述sql語句對應(yīng)的客戶端標(biāo)識及客戶端端口;
9、根據(jù)所述客戶端標(biāo)識及所述客戶端端口,確定所述sql語句對應(yīng)的客戶端進(jìn)程;
10、根據(jù)所述客戶端進(jìn)程相關(guān)的進(jìn)程樹,確定所述sql語句對應(yīng)的業(yè)務(wù)進(jìn)程及業(yè)務(wù)程序;其中,所述業(yè)務(wù)程序是包含所述sql語句的程序,所述業(yè)務(wù)進(jìn)程是執(zhí)行所述業(yè)務(wù)程序產(chǎn)生的進(jìn)程。
11、為達(dá)上述目的,本申請第二方面實(shí)施例提出了一種sql語句的定位裝置,包括:
12、sql語句感知模塊,用于獲取運(yùn)行中的sql語句的運(yùn)行狀態(tài)信息;其中,所述運(yùn)行狀態(tài)信息包括所述sql語句對應(yīng)的客戶端標(biāo)識及客戶端端口;
13、客戶端確定模塊,用于根據(jù)所述客戶端標(biāo)識及所述客戶端端口,確定所述sql語句對應(yīng)的客戶端進(jìn)程;
14、業(yè)務(wù)確定模塊,用于根據(jù)所述客戶端進(jìn)程相關(guān)的進(jìn)程樹,確定所述sql語句對應(yīng)的業(yè)務(wù)進(jìn)程及業(yè)務(wù)程序;其中,所述業(yè)務(wù)程序是包含所述sql語句的程序,所述業(yè)務(wù)進(jìn)程是執(zhí)行所述業(yè)務(wù)程序產(chǎn)生的進(jìn)程。
15、為達(dá)上述目的,本申請第三方面實(shí)施例提出了一種電子設(shè)備,包括:處理器,以及與所述處理器通信連接的存儲器;
16、所述存儲器存儲計(jì)算機(jī)執(zhí)行指令;
17、所述處理器執(zhí)行所述存儲器存儲的計(jì)算機(jī)執(zhí)行指令,以實(shí)現(xiàn)如第一方面實(shí)施例所述的方法。
18、為達(dá)上述目的,本申請第四方面實(shí)施例提出了一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)中存儲有計(jì)算機(jī)執(zhí)行指令,所述計(jì)算機(jī)執(zhí)行指令被處理器執(zhí)行時(shí)用于實(shí)現(xiàn)如第一方面實(shí)施例所述的方法。
19、為達(dá)上述目的,本申請第五方面實(shí)施例提出了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)第一方面實(shí)施例所述的方法。
20、本申請?zhí)峁┑膕ql語句的定位方法、裝置、電子設(shè)備及存儲介質(zhì),通過根據(jù)運(yùn)行中的sql語句的運(yùn)行狀態(tài)信息中的客戶端標(biāo)識及客戶端端口,確定sql語句對應(yīng)的客戶端進(jìn)程,再根據(jù)客戶端進(jìn)程相關(guān)的進(jìn)程樹,確定sql語句對應(yīng)的業(yè)務(wù)進(jìn)程及業(yè)務(wù)程序。由此,根據(jù)運(yùn)行中的sql語句的運(yùn)行狀態(tài)信息,基于sql語句執(zhí)行過程中所涉物理對象的因果關(guān)系,將對數(shù)據(jù)庫所運(yùn)行sql語句定位到業(yè)務(wù)進(jìn)程和業(yè)務(wù)程序粒度級別,提高了定位準(zhǔn)確性,實(shí)現(xiàn)了sql語句的精準(zhǔn)定位,并且sql語句定位過程所用信息皆來自sql語句執(zhí)行過程中自然產(chǎn)生的物理對象,無需額外增設(shè)介質(zhì)或中介,實(shí)施成本低。
21、本申請附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本申請的實(shí)踐了解到。
1.一種sql語句的定位方法,其特征在于,所述方法包括以下步驟:
2.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述客戶端標(biāo)識及所述客戶端端口,確定所述sql語句對應(yīng)的客戶端進(jìn)程,包括:
3.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述客戶端進(jìn)程相關(guān)的進(jìn)程樹,確定所述sql語句對應(yīng)的業(yè)務(wù)進(jìn)程及業(yè)務(wù)程序,包括:
4.如權(quán)利要求3所述的方法,其特征在于,所述在所述客戶端進(jìn)程相關(guān)的進(jìn)程樹上,確定所述業(yè)務(wù)進(jìn)程,包括:
5.如權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述業(yè)務(wù)進(jìn)程,確定所述業(yè)務(wù)程序,包括:
6.如權(quán)利要求3所述的方法,其特征在于,其中,所述客戶端進(jìn)程相關(guān)的進(jìn)程樹上包括所述客戶端進(jìn)程或者至少一個(gè)所述客戶端進(jìn)程的上級進(jìn)程。
7.如權(quán)利要求1-6中任一項(xiàng)所述的方法,其特征在于,還包括:
8.一種sql語句的定位裝置,其特征在于,包括:
9.一種電子設(shè)備,其特征在于,包括:處理器,以及與所述處理器通信連接的存儲器;
10.一種計(jì)算機(jī)可讀存儲介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲介質(zhì)中存儲有計(jì)算機(jī)執(zhí)行指令,所述計(jì)算機(jī)執(zhí)行指令被處理器執(zhí)行時(shí)用于實(shí)現(xiàn)如權(quán)利要求1-7中任一項(xiàng)所述的方法。
11.一種計(jì)算機(jī)程序產(chǎn)品,其特征在于,包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1-7中任一項(xiàng)所述的方法。