本公開提供了一種數據查詢方法、裝置、電子設備及存儲介質,所述方法包括:攔截目標終端向第一數據庫發送的第一查詢請求;解析所述第一查詢請求,以確定所述第一查詢請求是否查詢第二數據庫;若確定查詢所述第二數據庫,則根據所述第一查詢請求,獲取與所述第二數據庫查詢格式對應的至少一個第二查詢請求;根據所述至少一個第二查詢請求獲取所述第二數據庫的至少一個查詢結果;根據所述第一查詢請求對應的查詢結果格式,合并所述至少一個查詢結果并發送給目標終端。本公開提供的方案,通過將目標終端向第一數據庫發送的第一查詢請求轉換為適用于第二數據庫的第二查詢請求的方式,實現了所述目標終端查詢其他數據庫的功能。實現了所述目標終端查詢其他數據庫的功能。實現了所述目標終端查詢其他數據庫的功能。
【技術實現步驟摘要】
數據查詢方法、裝置、電子設備及存儲介質
[0001]本公開涉及數據查詢
,尤其涉及一種數據查詢方法、裝置、電子設備及存儲介質。
技術介紹
[0002]Kibana是Elastic NV公司維護的一個免費且開放的數據分析系統。Kibana除了可以對日志進行數據分析,還可以對指標以及調用鏈等場景的數據進行查詢分析。Kibana雖然分析功能強大、組件庫豐富、易用性很好,但是局限性也很明顯,就是必須結合開源的文獻搜索引擎Elasticsearch使用。也就是說Kibana只能對存儲在Elasticsearch中的數據進行分析。
[0003]由于Kibana深度綁定Elasticsearch,使用Kibana只能分析Elasticsearch中的數據。但是若為了滿足性能需求采用了其他類型的聯機處理分析(Online analytical processing,簡稱OLAP)數據源,同時還想使用具有豐富的組件庫和強易用性的Kibana分析數據,目前使用Kibana是無法實現的。
技術實現思路
[0004]本公開提供一種數據查詢方法、裝置、電子設備及存儲介質,以解決相關技術中由目標終端發出的適應于第一數據庫的查詢請求無法查詢第二數據庫的問題。
[0005]本公開的第一方面實施例提出了一種數據查詢方法,包括:攔截目標終端向第一數據庫發送的第一查詢請求;解析所述第一查詢請求,以確定所述第一查詢請求是否查詢第二數據庫;所述第二數據庫為關系型數據庫或非關系型數據庫;若確定查詢所述第二數據庫,則根據所述第一查詢請求,獲取與所述第二數據庫查詢格式對應的至少一個第二查詢請求;根據所述至少一個第二查詢請求獲取所述第二數據庫的至少一個查詢結果;根據所述第一查詢請求對應的查詢結果格式,合并所述至少一個查詢結果并發送給目標終端。
[0006]在一些實施例中,所述解析所述第一查詢請求,以確定所述第一查詢請求是否查詢第二數據庫,包括:解析所述第一查詢請求中的統一資源定位符URL,獲取所述URL中的索引index名稱;基于所述第二數據庫的數據表與所述第一數據庫的index名稱列表的映射關系,確定所述第一查詢請求是否查詢第二數據庫。
[0007]在一些實施例中,所述根據所述第一查詢請求,獲取與所述第二數據庫查詢格式對應的至少一個第二查詢請求,包括:判斷所述第一查詢請求是否為結構化查詢語言SQL查詢格式;
若是,則基于所述第一查詢請求,獲取與所述第二數據庫查詢格式對應的至少一個第二查詢請求;若否,則將所述第一查詢請求轉換為SQL查詢格式的至少一個查詢命令;并根據所述至少一個查詢命令,獲取與所述第二數據庫查詢格式對應的至少一個第二查詢請求。
[0008]在一些實施例中,所述將所述第一查詢請求轉換為SQL查詢格式的至少一個查詢命令,包括:基于所述第一數據庫的查詢語法,根據所述第一查詢請求中的關鍵字信息,確定至少一個查詢命令。
[0009]在一些實施例中,所述根據所述至少一個查詢命令,獲取與所述第二數據庫查詢格式對應的至少一個第二查詢請求,包括:基于所述第二數據庫的查詢模板,將所述至少一個查詢命令渲染為與所述第二數據庫查詢格式對應的至少一個第二查詢請求;其中,所述至少一個第二查詢請求中的每個查詢請求均攜帶有標識信息,所述標識信息用于指示其對應的所述第二查詢請求在所述第一查詢請求中的順序和層級。
[0010]在一些實施例中,所述根據所述第一查詢請求對應的查詢結果格式,合并所述至少一個查詢結果并發送給目標終端,包括:基于所述第一數據庫的查詢結果模板,將所述至少一個查詢結果渲染為所述第一查詢請求對應的查詢結果格式;其中,渲染后的所述至少一個查詢結果中的每個查詢結果均攜帶有標識信息,所述標識信息用于指示其對應的所述第二查詢請求在所述第一查詢請求中的順序和層級;根據所述渲染后的所述至少一個查詢結果中的每個查詢結果的標識信息,確定所述渲染后的所述至少一個查詢結果中的每個查詢結果在所述第一查詢請求中的順序和層級;根據所述渲染后的所述至少一個查詢結果中的每個查詢結果在所述第一查詢請求中的順序和層級,合并所述至少一個查詢結果并發送給目標終端。
[0011]在一些實施例中,本公開所述的數據查詢方法,還包括:構建第二數據庫的數據表與所述第一數據庫的index名稱列表的映射關系。
[0012]本公開的第二方面實施例提出了一種數據查詢裝置,包括:攔截模塊,用于攔截目標終端向第一數據庫發送的第一查詢請求;解析模塊,用于解析所述第一查詢請求,以確定所述第一查詢請求是否查詢第二數據庫;第一獲取模塊,用于若確定查詢所述第二數據庫,則根據所述第一查詢請求,獲取與所述第二數據庫查詢格式對應的至少一個第二查詢請求;第二獲取模塊,用于根據所述至少一個第二查詢請求獲取所述第二數據庫的至少一個查詢結果;發送模塊,用于根據所述第一查詢請求對應的查詢結果格式,合并所述至少一個查詢結果并發送給目標終端。
[0013]本公開的第三方面實施例提出了一種電子設備,包括:處理器和存儲器,該存儲器用于存儲計算機程序,所述處理器用于調用并運行所
述存儲器中存儲的計算機程序,執行如本公開第一方面實施例中描述的方法的步驟。
[0014]本公開的第四方面實施例提出了一種存儲有計算機指令的非瞬時計算機可讀存儲介質,其特征在于,所述計算機指令用于使所述計算機執行如本公開第一方面實施例中描述的方法的步驟。
[0015]綜上,根據本公開提供的數據查詢方法,包括攔截目標終端向第一數據庫發送的第一查詢請求;解析所述第一查詢請求,以確定所述第一查詢請求是否查詢第二數據庫;若確定查詢所述第二數據庫,則根據所述第一查詢請求,獲取與所述第二數據庫查詢格式對應的至少一個第二查詢請求;根據所述至少一個第二查詢請求獲取所述第二數據庫的至少一個查詢結果;根據所述第一查詢請求對應的查詢結果格式,合并所述至少一個查詢結果并發送給目標終端。本公開提供的方案,通過將目標終端向第一數據庫發送的第一查詢請求轉換為適應于第二數據庫的第二查詢請求,并將查詢結果以第一查詢請求對應的查詢結果格式發送給所述目標終端,解決了相關技術中由目標終端發出的適應于第一數據庫的查詢請求無法查詢第二數據庫的問題。
[0016]應當理解的是,以上的一般描述和后文的細節描述僅是示例性和解釋性的,并不能限制本公開。
附圖說明
[0017]此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本公開的實施例,并與說明書一起用于解釋本公開的原理,并不構成對本公開的不當限定。
[0018]圖1為本公開實施例提供的相關技術中利用Kibana查詢Elasticsearch的第一原理框圖;圖2為本公開實施例提供的相關技術中利用Kibana查詢Elasticsearch的第二原理框圖;圖3為本公開實施例提供的相關技術中利用Kibana查詢Elasticsearch的第三原理框圖;圖4為本公開實施例提供的相關技術中利用Kibana查詢Elasticsearch的第四原理框圖;圖5為本公本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種數據查詢方法,其特征在于,包括:攔截目標終端向第一數據庫發送的第一查詢請求;解析所述第一查詢請求,以確定所述第一查詢請求是否查詢第二數據庫;所述第二數據庫為關系型數據庫或非關系型數據庫;若確定查詢所述第二數據庫,則根據所述第一查詢請求,獲取與所述第二數據庫查詢格式對應的至少一個第二查詢請求;根據所述至少一個第二查詢請求獲取所述第二數據庫的至少一個查詢結果;根據所述第一查詢請求對應的查詢結果格式,合并所述至少一個查詢結果并發送給目標終端。2.根據權利要求1所述的方法,其特征在于,所述解析所述第一查詢請求,以確定所述第一查詢請求是否查詢第二數據庫,包括:解析所述第一查詢請求中的統一資源定位符URL,獲取所述URL中的索引index名稱;基于所述第二數據庫的數據表與所述第一數據庫的index名稱列表的映射關系,確定所述第一查詢請求是否查詢第二數據庫。3.根據權利要求1所述的方法,其特征在于,所述根據所述第一查詢請求,獲取與所述第二數據庫查詢格式對應的至少一個第二查詢請求,包括:判斷所述第一查詢請求是否為結構化查詢語言SQL查詢格式;若是,則基于所述第一查詢請求,獲取與所述第二數據庫查詢格式對應的至少一個第二查詢請求;若否,則將所述第一查詢請求轉換為SQL查詢格式的至少一個查詢命令;并根據所述至少一個查詢命令,獲取與所述第二數據庫查詢格式對應的至少一個第二查詢請求。4.根據權利要求3所述的方法,其特征在于,所述將所述第一查詢請求轉換為SQL查詢格式的至少一個查詢命令,包括:基于所述第一數據庫的查詢語法,根據所述第一查詢請求中的關鍵字信息,確定至少一個查詢命令。5.根據權利要求3所述的方法,其特征在于,所述根據所述至少一個查詢命令,獲取與所述第二數據庫查詢格式對應的至少一個第二查詢請求,包括:基于所述第二數據庫的查詢模板,將所述至少一個查詢命令渲染為與所述第二數據庫查詢格式對應的至少一個第二查詢請求;其中,所述至少一個第二查詢請求中的每個查詢請求均攜帶有標識信息,所...
【專利技術屬性】
技術研發人員:闕裕斌,
申請(專利權)人:北京原點數安科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。