System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本公開涉及數據處理領域,尤其涉及數據查詢方法、裝置、電子設備及存儲介質。
技術介紹
1、相關技術在需要將數據關聯或者維度擴展時,通常需要結構化查詢語言(structured?query?language,sql)或其他編碼方式對數據進行處理,需要在每一處維度擴展的地方都進行關聯處理,性能低需要人力和開發成本高。在數據計算階段,計算指標和維度的變化通常需要重新發布計算任務和人工介入。并在數據查詢階段,存在將查詢整體作為緩存對象的緩存命中率低的問題。如何減輕人力成本并提高數據處理以及數據查詢的效率仍需解決。
技術實現思路
1、為克服相關技術中存在的問題,本公開提供一種數據查詢方法、裝置、電子設備及存儲介質。
2、根據本公開實施例的第一方面,提供一種數據查詢方法,包括獲取查詢請求對應的查詢語句,并確定所述查詢語句的查詢元素;判斷查詢緩存中是否存在所述查詢元素,所述查詢緩存用于存儲歷史查詢元素以及歷史查詢結果;響應于所述查詢緩存中存在所述查詢元素,獲取所述查詢緩存中與所述查詢元素對應的查詢結果;響應于所述查詢緩存中未存在或存在部分所述查詢元素,基于所述查詢元素對應的數據源進行查詢,并獲取查詢結果。
3、一種實施方式中,所述查詢元素包括第一查詢元素;所述獲取所述查詢緩存中與所述查詢元素對應的查詢結果,包括:獲取所述查詢元素中的第一查詢元素,并將所述第一查詢元素作為查詢標識;基于所述第一查詢元素,獲取所述查詢緩存中與所述第一查詢元素對應的查詢結果。
4、一種
5、一種實施方式中,所述查詢元素包括第二查詢元素,所述查詢緩存中的查詢結果采用如下方式得到:獲取第一查詢元素的查詢結果,所述第一查詢元素包括一個或兩個以上的元素;按照所述第二查詢元素、所述第一查詢元素以及所述第一查詢元素的查詢結果的格式,將每一個查詢結果存至所述查詢緩存中。
6、一種實施方式中,所述獲取所述數據源對應的元數據表,包括:獲取查詢語句中的數據源以及所述數據源對應的多個數據字段;確定哈希模型結構中不存在所述數據字段對應的維度擴展字段,將所述數據字段映射至所述哈希模型結構中,得到所述維度擴展字段,所述哈希模型結構用于存儲與數據字段對應的擴展字段;為所述維度擴展字段設置計算類型,并生成包括所述計算類型的元數據表。
7、一種實施方式中,所述將所述數據字段映射至所述哈希模型結構中,得到所述維度擴展字段,包括:確定所述數據源對應的擴展規則;遍歷所述數據源中的多個數據字段,根據與所述擴展規則匹配的數據字段進行擴展,得到所述維度擴展字段。
8、一種實施方式中,所述方法還包括:對擴展規則進行熱更新。
9、根據本公開實施例的第二方面,提供一種數據查詢裝置,包括確定單元,用于獲取查詢請求對應的查詢語句,并確定所述查詢語句的查詢元素;處理單元,用于判斷查詢緩存中是否存在所述查詢元素,所述查詢緩存用于存儲歷史查詢元素以及歷史查詢結果;獲取單元,用于響應于所述查詢緩存中存在所述查詢元素,獲取所述查詢緩存中與所述查詢元素對應的查詢結果;響應于所述查詢緩存中未存在或存在部分所述查詢元素,基于所述查詢元素對應的數據源進行查詢,并獲取查詢結果。
10、一種實施方式中,所述查詢元素包括第一查詢元素;所述獲取單元采用如下方式獲取所述查詢緩存中與所述查詢元素對應的查詢結果:獲取所述查詢元素中的第一查詢元素,并將所述第一查詢元素作為查詢標識;基于所述第一查詢元素,獲取所述查詢緩存中與所述第一查詢元素對應的查詢結果。
11、一種實施方式中,所述獲取單元采用如下方式基于所述查詢元素對應的數據源進行查詢,并獲取查詢結果:獲取所述數據源對應的元數據表,所述元數據表中包括數據字段、計算類型以及更新時間字段,其中所述數據字段為所述數據源對應的字段,所述計算類型為所述數據字段預設的計算類型;基于所述數據字段、所述計算類型以及所述更新時間字段,獲取更新后的數據,得到查詢結果。
12、一種實施方式中,所述查詢元素包括第二查詢元素,所述查詢緩存中的查詢結果采用如下方式得到:獲取第一查詢元素的查詢結果,所述第一查詢元素包括一個或兩個以上的元素;按照所述第二查詢元素、所述第一查詢元素以及所述第一查詢元素的查詢結果的格式,將每一個查詢結果存至所述查詢緩存中。
13、一種實施方式中,所述獲取單元采用如下方式獲取所述數據源對應的元數據表:獲取查詢語句中的數據源以及所述數據源對應的多個數據字段;確定哈希模型結構中不存在所述數據字段對應的維度擴展字段,將所述數據字段映射至所述哈希模型結構中,得到所述維度擴展字段,所述哈希模型結構用于存儲與數據字段對應的擴展字段;為所述維度擴展字段設置計算類型,并生成包括所述計算類型的元數據表。
14、一種實施方式中,所述處理單元采用如下方式將所述數據字段映射至所述哈希模型結構中,得到所述維度擴展字段:確定所述數據源對應的擴展規則;遍歷所述數據源中的多個數據字段,根據與所述擴展規則匹配的數據字段進行擴展,得到所述維度擴展字段。
15、一種實施方式中,所述處理單元還用于:對擴展規則進行熱更新。
16、根據本公開實施例的第三方面,提供一種電子設備,包括:處理器:用于存儲處理器可執行指令的存儲器;其中,所述處理器被配置為:執行第一方面或者第一方面任意一種實施方式中所述的數據查詢方法。
17、根據本公開實施例的第四方面,提供一種存儲介質,所述存儲介質中存儲有指令,當所述存儲介質中的指令由處理器執行時,使得處理器能夠執行第一方面或者第一方面任意一種實施方式中所述的數據查詢方法。
18、本公開的實施例提供的技術方案可以包括以下有益效果:獲取查詢請求對應的查詢語句,確定查詢語句對應的查詢元素。判斷查詢緩存中是否存在查詢元素,基于是否存在查詢元素,確定獲取查詢結果或經過查詢后獲取查詢結果,提高了查詢性能,并降低了對緩存數據的查詢壓力問題。
19、應當理解的是,以上的一般描述和后文的細節描述僅是示例性和解釋性的,并不能限制本公開。
本文檔來自技高網...【技術保護點】
1.一種數據查詢方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述查詢元素包括第一查詢元素;
3.根據權利要求1所述的方法,其特征在于,所述基于所述查詢元素對應的數據源進行查詢,并獲取查詢結果,包括:
4.根據權利要求1至3中任一項所述的方法,其特征在于,所述查詢元素包括第二查詢元素,所述查詢緩存中的查詢結果采用如下方式得到:
5.根據權利要求3所述的方法,其特征在于,所述獲取所述數據源對應的元數據表,包括:
6.根據權利要求5所述的方法,其特征在于,所述將所述數據字段映射至所述哈希模型結構中,得到所述維度擴展字段,包括:
7.根據權利要求1所述的方法,其特征在于,所述方法還包括:
8.一種數據查詢裝置,其特征在于,包括:
9.根據權利要求8所述的裝置,其特征在于,所述查詢元素包括第一查詢元素;
10.根據權利要求8所述的裝置,其特征在于,所述獲取單元采用如下方式基于所述查詢元素對應的數據源進行查詢,并獲取查詢結果:
11.根據權利要求8至
12.根據權利要求10所述的裝置,其特征在于,所述獲取單元采用如下方式獲取所述數據源對應的元數據表:
13.根據權利要求12所述的裝置,其特征在于,所述處理單元采用如下方式將所述數據字段映射至所述哈希模型結構中,得到所述維度擴展字段:
14.根據權利要求8所述的裝置,其特征在于,所述處理單元還用于:
15.一種電子設備,其特征在于,包括:
16.一種存儲介質,其特征在于,所述存儲介質中存儲有指令,當所述存儲介質中的指令由處理器執行時,使得處理器能夠執行權利要求1至7中任一項所述的數據查詢方法。
...【技術特征摘要】
1.一種數據查詢方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述查詢元素包括第一查詢元素;
3.根據權利要求1所述的方法,其特征在于,所述基于所述查詢元素對應的數據源進行查詢,并獲取查詢結果,包括:
4.根據權利要求1至3中任一項所述的方法,其特征在于,所述查詢元素包括第二查詢元素,所述查詢緩存中的查詢結果采用如下方式得到:
5.根據權利要求3所述的方法,其特征在于,所述獲取所述數據源對應的元數據表,包括:
6.根據權利要求5所述的方法,其特征在于,所述將所述數據字段映射至所述哈希模型結構中,得到所述維度擴展字段,包括:
7.根據權利要求1所述的方法,其特征在于,所述方法還包括:
8.一種數據查詢裝置,其特征在于,包括:
9.根據權利要求8所述的裝置,其特征在于,所述查詢元素包括第一查詢元素;
<...【專利技術屬性】
技術研發人員:畢博,
申請(專利權)人:北京螞蜂窩網絡科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。