本發(fā)明涉及大數(shù)據(jù),具體涉及存算分離分布式事務(wù)庫的全鏈路跟蹤領(lǐng)域,更具體地涉及一種存算分離分布式數(shù)據(jù)庫的跟蹤方法、裝置、設(shè)備和產(chǎn)品。
背景技術(shù):
1、存算分離架構(gòu)的分布式數(shù)據(jù)庫系統(tǒng)的存儲(chǔ)節(jié)點(diǎn)(data?node,dn)和運(yùn)算節(jié)點(diǎn)(datanode,dn)是分開的,彼此之間沒有直接的耦合。在存算分離的架構(gòu)中,存儲(chǔ)和計(jì)算資源可以獨(dú)立擴(kuò)展,這意味著可以根據(jù)結(jié)構(gòu)化查詢語言(structured?query?language,sql)的實(shí)際需求情況靈活擴(kuò)展存儲(chǔ)節(jié)點(diǎn)和運(yùn)算節(jié)點(diǎn)。相關(guān)技術(shù)中的存儲(chǔ)和運(yùn)算一體場(chǎng)景下,通過時(shí)刻開啟各個(gè)節(jié)點(diǎn)上的跟蹤工具或服務(wù),記錄各個(gè)節(jié)點(diǎn)在執(zhí)行結(jié)構(gòu)化查詢語言所產(chǎn)生的各項(xiàng)數(shù)據(jù),即可實(shí)現(xiàn)對(duì)結(jié)構(gòu)化查詢語言的跟蹤。
2、在實(shí)現(xiàn)本發(fā)明構(gòu)思的過程中,相關(guān)技術(shù)中至少存在如下問題:在存儲(chǔ)和運(yùn)算分離的分布式數(shù)據(jù)庫中,由于執(zhí)行結(jié)構(gòu)化查詢語言可能涉及一個(gè)或多個(gè)存儲(chǔ)節(jié)點(diǎn),相關(guān)技術(shù)中跟蹤結(jié)構(gòu)化查詢語言的方法,容易因長期開啟跟蹤工具或服務(wù),對(duì)存儲(chǔ)節(jié)點(diǎn)造成額外的性能負(fù)擔(dān),從而導(dǎo)致存儲(chǔ)節(jié)點(diǎn)的性能下降。
技術(shù)實(shí)現(xiàn)思路
1、鑒于上述問題,本發(fā)明提供了一種存算分離分布式數(shù)據(jù)庫的跟蹤方法、裝置、設(shè)備和產(chǎn)品。
2、根據(jù)本發(fā)明的第一個(gè)方面,提供了一種存算分離分布式數(shù)據(jù)庫的跟蹤方法,包括:根據(jù)由數(shù)據(jù)庫系統(tǒng)的運(yùn)算節(jié)點(diǎn)解析結(jié)構(gòu)化查詢語言得到的分布式執(zhí)行計(jì)劃,確定計(jì)劃類型,其中,上述分布式執(zhí)行計(jì)劃表征與上述結(jié)構(gòu)化查詢語言對(duì)應(yīng)的數(shù)據(jù)訪問策略;根據(jù)上述計(jì)劃類型,確定第一跟蹤任務(wù)的下發(fā)時(shí)機(jī),其中,上述第一跟蹤任務(wù)用于記錄上述數(shù)據(jù)庫系統(tǒng)的至少一個(gè)存儲(chǔ)節(jié)點(diǎn)上、與上述結(jié)構(gòu)化查詢語言相關(guān)的多個(gè)預(yù)設(shè)跟蹤指標(biāo),至少一個(gè)上述存儲(chǔ)節(jié)點(diǎn)為參與執(zhí)行上述分布式執(zhí)行計(jì)劃的節(jié)點(diǎn);基于上述下發(fā)時(shí)機(jī)向至少一個(gè)上述存儲(chǔ)節(jié)點(diǎn)下發(fā)上述第一跟蹤任務(wù),以便于至少一個(gè)上述存儲(chǔ)節(jié)點(diǎn)執(zhí)行上述第一跟蹤任務(wù),得到與多個(gè)上述預(yù)設(shè)跟蹤指標(biāo)對(duì)應(yīng)的數(shù)據(jù)。
3、根據(jù)本發(fā)明的實(shí)施例,上述根據(jù)由數(shù)據(jù)庫系統(tǒng)的運(yùn)算節(jié)點(diǎn)解析結(jié)構(gòu)化查詢語言生成的分布式執(zhí)行計(jì)劃,確定上述分布式執(zhí)行計(jì)劃的計(jì)劃類型,包括:在上述分布式執(zhí)行計(jì)劃表征上述結(jié)構(gòu)化查詢語言由單個(gè)上述存儲(chǔ)節(jié)點(diǎn)執(zhí)行的情況下,確定上述計(jì)劃類型為第一類型;在上述分布式執(zhí)行計(jì)劃表征上述結(jié)構(gòu)化查詢語言由多個(gè)上述存儲(chǔ)節(jié)點(diǎn)執(zhí)行、且多個(gè)上述存儲(chǔ)節(jié)點(diǎn)之間不存在數(shù)據(jù)交互的情況下,確定上述計(jì)劃類型為第二類型;在上述分布式執(zhí)行計(jì)劃表征上述結(jié)構(gòu)化查詢語言由多個(gè)上述存儲(chǔ)節(jié)點(diǎn)執(zhí)行、且多個(gè)上述存儲(chǔ)節(jié)點(diǎn)之間存在數(shù)據(jù)交互的情況下,確定上述計(jì)劃類型為第三類型;在上述分布式執(zhí)行計(jì)劃表征上述結(jié)構(gòu)化查詢語言未全部下發(fā)到上述存儲(chǔ)節(jié)點(diǎn)的情況下,確定上述計(jì)劃類型為第四類型。
4、根據(jù)本發(fā)明的實(shí)施例,上述根據(jù)上述計(jì)劃類型,確定第一跟蹤任務(wù)的下發(fā)時(shí)機(jī),包括:在上述計(jì)劃類型為上述第一類型或上述第二類型的情況下,將上述第一跟蹤任務(wù)的下發(fā)時(shí)機(jī)確定為上述運(yùn)算節(jié)點(diǎn)下發(fā)上述結(jié)構(gòu)化查詢語言的時(shí)機(jī)。
5、根據(jù)本發(fā)明的實(shí)施例,上述根據(jù)上述計(jì)劃類型,確定第一跟蹤任務(wù)的下發(fā)時(shí)機(jī),包括:在上述計(jì)劃類型為上述第三類型的情況下,將上述第一跟蹤任務(wù)的下發(fā)時(shí)機(jī)確定為上述運(yùn)算節(jié)點(diǎn)下發(fā)上述分布式執(zhí)行計(jì)劃的時(shí)機(jī)。
6、根據(jù)本發(fā)明的實(shí)施例,上述根據(jù)上述計(jì)劃類型,確定第一跟蹤任務(wù)的下發(fā)時(shí)機(jī),包括:在上述計(jì)劃類型為上述第四類型的情況下,將上述第一跟蹤任務(wù)的下發(fā)時(shí)機(jī)確定為上述運(yùn)算節(jié)點(diǎn)下發(fā)部分上述結(jié)構(gòu)化查詢語言的時(shí)機(jī)。
7、根據(jù)本發(fā)明的實(shí)施例,上述方法還包括:響應(yīng)于接收到由客戶端發(fā)送的數(shù)據(jù)處理請(qǐng)求,向上述數(shù)據(jù)庫系統(tǒng)的全局事務(wù)管理節(jié)點(diǎn)發(fā)送標(biāo)識(shí)申請(qǐng)請(qǐng)求,其中,上述數(shù)據(jù)處理請(qǐng)求包括上述結(jié)構(gòu)化查詢語言,上述標(biāo)識(shí)申請(qǐng)請(qǐng)求用于申請(qǐng)與上述數(shù)據(jù)處理請(qǐng)求對(duì)應(yīng)的標(biāo)識(shí);在接收到上述全局事務(wù)管理節(jié)點(diǎn)返回的上述標(biāo)識(shí)的情況下,基于上述標(biāo)識(shí)和多個(gè)上述預(yù)設(shè)跟蹤指標(biāo),生成上述第二跟蹤任務(wù),其中,上述第二跟蹤任務(wù)與上述第一跟蹤任務(wù)為同一上述標(biāo)識(shí)下的跟蹤任務(wù),上述第二跟蹤任務(wù)用于記錄上述運(yùn)算節(jié)點(diǎn)上、與上述數(shù)據(jù)處理請(qǐng)求相關(guān)的多個(gè)上述預(yù)設(shè)跟蹤指標(biāo)。
8、根據(jù)本發(fā)明的實(shí)施例,上述預(yù)設(shè)跟蹤指標(biāo)包括以下至少之一:操作開始時(shí)間、操作結(jié)束時(shí)間、操作對(duì)象、操作類型。
9、本發(fā)明的第二方面提供了一種存算分離分布式數(shù)據(jù)庫的跟蹤裝置,包括:類型確定模塊,用于根據(jù)由數(shù)據(jù)庫系統(tǒng)的運(yùn)算節(jié)點(diǎn)解析結(jié)構(gòu)化查詢語言得到的分布式執(zhí)行計(jì)劃,確定計(jì)劃類型,其中,上述分布式執(zhí)行計(jì)劃表征與上述結(jié)構(gòu)化查詢語言對(duì)應(yīng)的數(shù)據(jù)訪問策略;時(shí)機(jī)確定模塊,用于根據(jù)上述計(jì)劃類型,確定第一跟蹤任務(wù)的下發(fā)時(shí)機(jī),其中,上述第一跟蹤任務(wù)用于記錄上述數(shù)據(jù)庫系統(tǒng)的至少一個(gè)存儲(chǔ)節(jié)點(diǎn)上,與上述結(jié)構(gòu)化查詢語言相關(guān)的多個(gè)預(yù)設(shè)跟蹤指標(biāo),至少一個(gè)上述存儲(chǔ)節(jié)點(diǎn)為參與執(zhí)行上述分布式執(zhí)行計(jì)劃的節(jié)點(diǎn);任務(wù)下發(fā)模塊,用于基于上述下發(fā)時(shí)機(jī)向至少一個(gè)上述存儲(chǔ)節(jié)點(diǎn)下發(fā)上述第一跟蹤任務(wù),以便于至少一個(gè)上述存儲(chǔ)節(jié)點(diǎn)執(zhí)行上述第一跟蹤任務(wù),得到與多個(gè)上述跟蹤指標(biāo)對(duì)應(yīng)的數(shù)據(jù)。
10、本發(fā)明的第三方面提供了一種電子設(shè)備,包括:一個(gè)或多個(gè)處理器;存儲(chǔ)器,用于存儲(chǔ)一個(gè)或多個(gè)計(jì)算機(jī)程序,其中,上述一個(gè)或多個(gè)處理器執(zhí)行上述一個(gè)或多個(gè)計(jì)算機(jī)程序以實(shí)現(xiàn)上述方法的步驟。
11、本發(fā)明的第四方面還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序或指令,上述計(jì)算機(jī)程序或指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述方法的步驟。
12、根據(jù)本發(fā)明的實(shí)施例,通過運(yùn)算節(jié)點(diǎn)基于結(jié)構(gòu)化查詢語言生成的分布式執(zhí)行計(jì)劃,確定分布式執(zhí)行計(jì)劃的計(jì)劃類型,根據(jù)計(jì)劃類型確定與結(jié)構(gòu)化查詢語言對(duì)應(yīng)的第一跟蹤任務(wù)的下發(fā)時(shí)機(jī),從而執(zhí)行向結(jié)構(gòu)化查詢語言的至少一個(gè)存儲(chǔ)節(jié)點(diǎn)下發(fā)第一跟蹤任務(wù),以便存儲(chǔ)節(jié)點(diǎn)執(zhí)行第一跟蹤任務(wù),開始記錄存儲(chǔ)節(jié)點(diǎn)上執(zhí)行結(jié)構(gòu)化查詢語言過程中,與多個(gè)預(yù)設(shè)跟蹤指標(biāo)對(duì)應(yīng)的數(shù)據(jù),減少了因存儲(chǔ)節(jié)點(diǎn)長期開啟檢測(cè)上述數(shù)據(jù)的工具或任務(wù),造成的對(duì)存儲(chǔ)節(jié)點(diǎn)資源的占用,以及對(duì)存儲(chǔ)節(jié)點(diǎn)性能的影響。
1.一種存算分離分布式數(shù)據(jù)庫的跟蹤方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)由數(shù)據(jù)庫系統(tǒng)的運(yùn)算節(jié)點(diǎn)解析結(jié)構(gòu)化查詢語言生成的分布式執(zhí)行計(jì)劃,確定所述分布式執(zhí)行計(jì)劃的計(jì)劃類型,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述計(jì)劃類型,確定第一跟蹤任務(wù)的下發(fā)時(shí)機(jī),包括:
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述計(jì)劃類型,確定第一跟蹤任務(wù)的下發(fā)時(shí)機(jī),包括:
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述計(jì)劃類型,確定第一跟蹤任務(wù)的下發(fā)時(shí)機(jī),包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
7.根據(jù)權(quán)利要求1~6中任一項(xiàng)所述的方法,其特征在于,所述預(yù)設(shè)跟蹤指標(biāo)包括以下至少之一:操作開始時(shí)間、操作結(jié)束時(shí)間、操作對(duì)象、操作類型。
8.一種存算分離分布式數(shù)據(jù)庫的跟蹤裝置,其特征在于,所述裝置包括:
9.一種電子設(shè)備,包括:
10.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序或指令,其特征在于,所述計(jì)算機(jī)程序或指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)根據(jù)權(quán)利要求1~7中任一項(xiàng)所述方法的步驟。