[發明專利]一種跨數據源的SQL編譯裝置及方法有效
| 申請號: | 201811294111.2 | 申請日: | 2018-10-31 |
| 公開(公告)號: | CN109408580B | 公開(公告)日: | 2020-10-20 |
| 發明(設計)人: | 劉鈺;孫偉;殷宏亮;宋德龍;趙丹;高體偉 | 申請(專利權)人: | 北京百分點信息科技有限公司 |
| 主分類號: | G06F16/25 | 分類號: | G06F16/25;G06F16/242;G06F8/41;G06F8/30 |
| 代理公司: | 北京國昊天誠知識產權代理有限公司 11315 | 代理人: | 劉昕;南霆 |
| 地址: | 100081 北京市朝陽區北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據源 sql 編譯 裝置 方法 | ||
1.一種跨數據源的SQL編譯裝置,其特征在于,包括:
JSON查詢條件生成模塊:用于生成JSON結構的查詢條件;
SQL編譯工具:用于JSON查詢條件生成模塊生成的查詢條件進行解析形成查詢SQL;
SQL提交模塊:用于將查詢SQL提交至PRESTODB集群,PRESTODB執行查詢SQL得到查詢結果封裝成對象返回;
其中,
所述JSON查詢條件生成模塊生成JSON結構的用戶群表達式,所述查詢條件封裝在所述用戶群表達式中;
所述用戶群表達式包括有字段group_id、entity_english_name、type、prev_group_expression、group_expression,其中:
group_id用于記錄所要查詢的目標用戶群的id;
entity_english_name用于記錄實體的名稱,通過實體的名稱獲取要查詢的表名;
type用于記錄所要查詢的目標用戶群的類型;
group_expression用于封裝通過對group_id、entity_english_name、type三個字段的設定而自由組合得到的查詢條件;SQL編譯工具對group_expression解析得到類SQL;
prev_group_expression用于記錄前置用戶群的用戶群表達式;所述前置用戶群即為當前所要查詢的目標用戶群所依賴的用戶群,前置用戶群的用戶群表達式為JSON結構,同樣包括字段group_id、entity_english_name、type、prev_group_expression、group_expression;SQL編譯工具對前置用戶群的表達式的group_expression進行解析得到前置用戶群查詢SQL;
所述跨數據源的SQL編譯裝置還包括有最終查詢SQL生成模塊,所述最終查詢SQL生成模塊用于SQL編譯工具得到的類SQL和前置用戶群查詢SQL取交集,得到最終的查詢SQL;所述SQL提交模塊所提交的查詢SQL為所述最終查詢SQL生成模塊得到的最終的查詢SQL。
2.根據權利要求1所述的跨數據源的SQL編譯裝置,其特征在于,所述用戶群的類型一共分為9大類,分別為所有用戶群all、普通用戶群common、特別關注用戶群special、報表用戶群report、外接用戶群input、漏斗用戶群funnel、漏斗流出用戶群funnel_lost、決策樹用戶群decision、生命旅程用戶群life。
3.根據權利要求1所述的跨數據源的SQL編譯裝置,其特征在于,所述前置用戶群的用戶群表達式中,type中所記載的用戶群的類型為所有用戶群all,并不依賴于其他用戶群,prev_group_expression字段的內容為空,group_expression字段包含所述前置用戶群的權限配置信息。
4.根據權利要求1所述的跨數據源的SQL編譯裝置,其特征在于,還包括有請求緩存實現模塊:用于在SQL提交模塊將最終生成的查詢SQL提交至PRESTODB集群后,實現請求緩存,即暫時保存所有提交給PRESTODB集群的查詢請求,當查詢結果返回后,刪除對應的查詢請求;每當一個新的查詢請求發生,會判斷此查詢請求是否存在,如果存在則等待已經存在的查詢請求返回數據。
5.利用如權利要求1-4之一所述的跨數據源的SQL編譯裝置實現跨數據源的SQL編譯方法,其特征在于,包括如下步驟:
S1、利用JSON查詢條件生成模塊生成JSON結構的查詢條件;
S2、SQL編譯工具對步驟S1得到的JSON結構的查詢條件進行解析形成查詢SQL;
S3、SQL提交模塊將查詢SQL提交至PRESTODB集群進行查詢,PRESTODB集群執行之后返回查詢結果。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京百分點信息科技有限公司,未經北京百分點信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811294111.2/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種數據管理監控裝置
- 下一篇:一種數據交換方法、裝置、設備及存儲介質





