[發明專利]時序數據庫的預聚合計算匹配替換方法及系統在審
| 申請號: | 202310095808.1 | 申請日: | 2023-02-07 |
| 公開(公告)號: | CN116166714A | 公開(公告)日: | 2023-05-26 |
| 發明(設計)人: | 任艷征 | 申請(專利權)人: | 上海沄熹科技有限公司 |
| 主分類號: | G06F16/2458 | 分類號: | G06F16/2458;G06F16/242;G06F16/2453 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 潘悅梅 |
| 地址: | 200120 上海市浦東新區中國(上海)自由貿*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 時序 數據庫 聚合 計算 匹配 替換 方法 系統 | ||
1.一種時序數據庫的預聚合計算匹配替換方法,其特征在于,包括如下步驟:
對于創建預聚合計算時需要的查詢要素,通過二進制格式存儲所述查詢要素;
將查詢表與存儲的查詢要素進行匹配,所述查詢表為用戶要查詢的表;
如果能夠匹配到預聚合計算的結果,將查詢表替換為結果表,將查詢表中的單列替換成結果表的列,所述結果表為預聚合計算結果表。
2.根據權利要求1所述的時序數據庫的預聚合計算匹配替換方法,其特征在于,所述查詢要素包括查詢表、結果表、預聚合計算的投影列以及聚合時間間隔。
3.根據權利要求2所述的時序數據庫的預聚合計算匹配替換方法,其特征在于,將查詢表與存儲的查詢要素進行匹配,包括如下步驟:
從用戶輸入的查詢SQL語句中提取查詢表;
判斷所述查詢表是否已將創建了預聚合計算,如果是,從用戶輸入的查詢SQL語句中提取所有單獨的列、聚合函數、聚合時間間隔、開始時間以及結束時間,將查詢表、所有單獨的列、聚合函數、聚合時間間隔、開始時間以及結束時間組成查詢結構;
將所述查詢結構與存儲的查詢要素進行匹配。
4.根據權利要求3所述的時序數據庫的預聚合計算匹配替換方法,其特征在于,基于如下匹配將所述查詢結構與存儲的查詢要素進行匹配:
匹配查詢表,所述匹配查詢表為匹配預聚合計算使用的表與查詢表是否為同一個表;
匹配時間間隔,所述匹配時間間隔分為間隔完全匹配和間隔倍數匹配,間隔完全匹配為聚合的時間間隔完全一樣,間隔倍數匹配為查詢時聚合的時間間隔是預聚合計算時間間隔的倍數;
匹配開始時間,所述匹配開始時間為:判斷開始時間是否是在預聚合計算時間間隔上,對應的計算方式為:(開始時間%預聚合計算存儲的時間間隔)==0;
匹配投影列的hashcode,所述匹配投影列的hashcode為:匹配輸出的投影列是使用投影列生成的結構計算HashCode,查詢保存的預聚合計算的投影列中是否有此HashCode,如果存在則認為匹配上,只有用戶查詢的所有列都能匹配上的情況下才能認為是投影列完全匹配。
5.根據權利要求1所述的時序數據庫的預聚合計算匹配替換方法,其特征在于,針對用戶輸入的聚合函數通過如下兩種情況將查詢表替換為結果表:
單行命中,所述單行命中為:將查詢表中使用的單列直接替換成預聚合計算結果表的列;
多行命中,所述多行命中為:
sum(a)-sum(sum_a);
avg(a)-sum(sum_a)/count(count_a);
count(a)-sum(count_a);
max(a)-max(max_a);
min(a)-min(min_a)。
6.一種時序數據庫的預聚合計算匹配替換系統,其特征在于,通過如權利要求1-5任一項所述的時序數據庫的預聚合計算匹配替換方法,實現判斷是否能用預聚合計算的結果以及替換成預聚合計算結果表,所述系統包括:
存儲模塊,對于創建預聚合計算時需要的查詢要素,所述存儲模塊用于通過二進制格式存儲所述查詢要素;
匹配模塊,所述匹配模塊用于將查詢表與存儲的查詢要素進行匹配,所述查詢表為用戶要查詢的表;
替換模塊,如果能夠匹配到預聚合計算的結果,所述替換模塊用于將查詢表替換為結果表,將查詢表中的單列替換成結果表的列,所述結果表為預聚合計算結果表。
7.根據權利要求6所述的時序數據庫的預聚合計算匹配替換系統,其特征在于,所述查詢要素包括查詢表、結果表、預聚合計算的投影列以及聚合時間間隔。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海沄熹科技有限公司,未經上海沄熹科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310095808.1/1.html,轉載請聲明來源鉆瓜專利網。





