[发明专利]一种OLTP领域多表join查询的方法有效
申请号: | 202210890452.6 | 申请日: | 2022-07-27 |
公开(公告)号: | CN115062028B | 公开(公告)日: | 2023-01-06 |
发明(设计)人: | 韩雷;马洋 | 申请(专利权)人: | 中建电子商务有限责任公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455;G06F16/28 |
代理公司: | 成都春夏知识产权代理事务所(特殊普通合伙) 51317 | 代理人: | 夏琴 |
地址: | 610000 四川省成都市青*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 oltp 领域 join 查询 方法 | ||
1.一种OLTP领域多表join查询的方法,其特征在于,包括以下步骤:
步骤S1、在业务系统中发布宽表生成的配置规则并保存;
配置规则包括驱动表的存储结构和被驱动表的存储结构,驱动表的存储结构包括宽表名称、宽表中各驱动表、驱动表对应的关联键、驱动表需要查询的字段以及join引起的数据延迟时间,被驱动表的存储结构包括宽表名称、宽表中各被驱动表、被驱动表对应的关联键以及被驱动表需要查询的字段;
步骤S2、对Mysql数据库中的Binlog数据进行抓取、转化并写入kafka处理平台中;
一个Mysql数据库的数据表对应kafka处理平台的一个数据流集合,并建立Mysql数据库的数据表和数据流集合的映射关系;
步骤S3、加载配置规则,从kafka处理平台中获取Binlog数据,由flink流处理引擎实时计算并生成宽表数据;
所述步骤S3具体包括:步骤S31、由配置规则解析出Binlog数据对应的驱动表和被驱动表,根据映射关系在flink流处理引擎中生成数据源,由数据源形成多个数据流;步骤S32、由配置规则中的关联键将数据流依次连接形成一个链式的join流程,形成多流join的逻辑计划,由flink流处理引擎将逻辑计划转化为物理执行计划;步骤S33、通过自定义数据Sink,将物理执行计划生成的数据写入搜索服务器中以供数据查询;
所述一个链式的join流程的形成方法具体包括:步骤S321,将输入的驱动表的数据流与第一个被驱动表的数据流关联形成连接流,再通过关联键进行hash分区,将数据流中基于相同关联键的数据分发至数据流集合的同一个par tition中;步骤S322、采用延迟关联技术处理所述驱动表和被驱动表的数据,处理驱动表的数据时将驱动表和与驱动表相关联的被驱动表数据同时存放至flink流处理引擎的存储后端中,然后在驱动表的数据上注册一个定时器,当定时器触发时对驱动表的数据流和被驱动表的数据流关联并将关联好的连接流数据发送至下游;步骤S323、所述关联好的连接流继续关联被驱动表的数据直至关联至最后一个被驱动表,最终形成一个大宽表的逻辑构建;
步骤S4、将生成的宽表数据存储至服务器中并经搜索引擎提供数据查询。
2.根据权利要求1所述的一种OLTP领域多表join查询的方法,其特征在于,所述步骤S2中,将抓取的binlog数据转化为json格式并写入kafka处理平台中。
3.根据权利要求1所述的一种OLTP领域多表join查询的方法,其特征在于,所述存储后端为RocksDB存储引擎。
4.根据权利要求1所述的一种OLTP领域多表join查询的方法,其特征在于,所述搜索引擎为Elasticsearch搜索引擎。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中建电子商务有限责任公司,未经中建电子商务有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210890452.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种任务按需生成与调度执行的方法
- 下一篇:一种有机污染土壤热脱附系统