[发明专利]一种跨数据源的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.vipzhuanli.com/pat/books/201811294111.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据管理监控装置
- 下一篇:一种数据交换方法、装置、设备及存储介质