说明:收录25万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210890452.6 (22)申请日 2022.07.27 (71)申请人 中建电子商务有限责任公司 地址 610000 四川省成 都市青羊区腾飞大 道51号18栋12层1202号 (72)发明人 韩雷 马洋  (74)专利代理 机构 成都春夏知识产权代理事务 所(特殊普通 合伙) 51317 专利代理师 夏琴 (51)Int.Cl. G06F 16/22(2019.01) G06F 16/2455(2019.01) G06F 16/28(2019.01) (54)发明名称 一种OLTP领域多表jo in查询的方法 (57)摘要 本发明公开了一种OLTP领域多表join查询 的方法, 属于数据查询技术领域, 包括在业务系 统中发布宽表生成的配置规则并保存; 对Mysql 数据库中的Binlog数据进行抓取、 转化并写入 kafka处理平台中; 加载配置规则, 从kafka处理 平台中获取数据, 由flink流处理引擎实时计算 并生成宽表数据; 将生成的宽表数据存储至服务 器中并经搜索引擎提供数据查询。 本发明设计科 学合理, 使用方便, 在业务系统进行数据库的增 改查的过程中, 无需关注宽表的逻辑, 仅需宽表 生成的配置规则, 从kafka处理平台中获取数据, 由flink流处理引擎实时计算, 借助服务器的海 量存储能力, 形成业 务数据以供查询。 权利要求书1页 说明书4页 附图1页 CN 115062028 A 2022.09.16 CN 115062028 A 1.一种OLTP领域多表jo in查询的方法, 其特 征在于, 包括以下步骤: 步骤S1、 在业 务系统中发布宽表生成的配置规则并保存; 步骤S2、 对Mysql数据库中的Bi nlog数据进行抓取、 转 化并写入kafka处 理平台中; 步骤S3、 加载配置规则, 从kafka处理平台中获取Binlog数据, 由flink流处理引擎实时 计算并生成宽表数据; 步骤S4、 将生成的宽表数据存 储至服务器中并经搜索引擎 提供数据查询。 2.根据权利要求1所述的一种OLTP领域多表join查询的方法, 其特征在于, 所述步骤S2 中, 将抓取的bi nlog数据转 化为json格式并写入kafka处 理平台中。 3.根据权利要求1所述的一种OLTP领域多表join查询的方法, 其特征在于, 所述步骤S1 中, 配置规则包括驱动表的存储结构和被驱动表的存储结构, 驱动表的存储结构包括宽表 名称、 宽表中各驱动表、 驱动表对应的关联键、 驱动表需要查询的字段以及join引起的数据 延迟时间, 被驱动表的存储 结构包括宽表名称、 宽表中各被驱动表、 被驱动表对应的关联键 以及被驱动表需要查询的字段。 4.根据权利要求3所述的一种OLTP领域多表join查询的方法, 其特征在于, 所述步骤S2 中, 一个Mys ql数据库的数据表对应kafka处理平台的一个数据流集合, 并建立M ysql数据库 的数据表和数据流 集合的映射关系。 5.根据权利要求4所述的一种OLTP领域多表join查询的方法, 其特征在于, 所述步骤S3 具体包括: 步骤S31、 由配置规则解析出Binlog数据对应的驱动表和被驱动表, 根据映射关 系在flink流处理引擎中生 成数据源, 由数据源 形成多个数据流; 步骤S32、 由配置规则中的 关联键将数据流依次连接形成一个链式的join流程, 形成多流join的逻辑计划, 由flink流 处理引擎将逻辑计划转化为物理执行计划; 步骤S33、 通过自定义数据Sink, 将物理执行计 划生成的数据写入搜索服 务器中以供 数据查询。 6.根据权利 要求5所述的一种OLTP领域多表join查询的方法, 其特征在于, 所述一个链 式的join流程的形成方法具体包括: 步骤S321, 将输入的驱动表的数据流与第一个被驱动 表的数据流关联形成连接流, 再通过关联键进行hash分区, 将数据流中基于相同关联键的 数据分发至数据流集合的同一个patition中; 步骤S322、 采用延迟关联技术处理所述驱动 表和被驱动表的数据, 处理驱动表的数据时将驱动表和与驱动表相关联的被驱动表数据同 时存放至flink流处理引擎的存储后端中, 然后在驱动表的数据上注册 一个定时器, 当定时 器触发时对驱动表的数据流和被驱动表的数据流关联并将关联好的连接流数据发送至下 游; 步骤S323、 所述关联好的连接流继续关联被驱动表的数据直至关联至最后一个被驱动 表, 最终形成一个大宽表的逻辑构建。 7.根据权利 要求6所述的一种OLTP领域多表join查询的方法, 其特征在于, 所述存储后 端为RocksDB存 储引擎。 8.根据权利 要求1所述的一种OLTP领域多表join查询的方法, 其特征在于, 所述搜索引 擎为Elasticsearc h搜索引擎。权 利 要 求 书 1/1 页 2 CN 115062028 A 2一种OLTP领域多 表join查询的方 法 技术领域 [0001]本发明属于数据查询技 术领域, 具体涉及一种OLTP领域多表jo in查询的方法。 背景技术 [0002]在传统的OLTP领域, 即关系型数据库中, 系统需要实现大的列表查询, 在需要列表 查询时, 运行驱动表  join连接多个被驱动表, 然后在内存中生成所需的列表数据。 如果关 联的数据表少、 列表的字段少、 表中的数据体量不大、 QPS (每秒查询率) 不高的场景下, 这种 处理方式还可以支撑。 但是在关联的数据 表多、 表中的数据体量较大的情况下, 以此种这种 方式支撑的系统查询对于硬件资源要求及系统运维人员的要求 就会很高。 [0003]虽然在业界, 也有很多基于Elasticsearch分布式搜索工具来存储大宽表, 但 是在 OLTP领域里面, 对于Elasticsearch的document构建来说, 还是基于传统业务代码的硬编码 处理。 如此, 导致宽表生成代码和真正的业务逻辑代码耦合, 系统维护成本非常高, 并且在 难以维系超大 数据量, 成为所属技 术领域技术人员亟 待解决的技 术问题。 [0004]因此, 本发明提供了一种OLTP领域多表join查询的方法, 以至少解决上述部分技 术问题。 发明内容 [0005]本发明要解决的技术问题是: 提供一种OLTP领域多表join查询的方法, 以至少解 决上述部分技 术问题。 [0006]为实现上述目的, 本发明采用的技 术方案如下: 一种OLTP领域多表jo in查询的方法, 包括以下步骤: 步骤S1、 在业 务系统中发布宽表生成的配置规则并保存; 步骤S2、 对Mysql数据库中的Bi nlog数据进行抓取、 转 化并写入kafka处 理平台中; 步骤S3、 加载配置规则, 从kafka处理平台中获取Binlog数据, 由flink流处理引擎 实时计算并生成宽表数据; 步骤S4、 将生成的宽表数据存 储至服务器中并经搜索引擎 提供数据查询。 [0007]进一步地, 所述步骤S2中, 将 抓取的binlog数据转化为json格式并写入kafka处理 平台中。 [0008]进一步地, 所述步骤S1中, 配置规则包括驱动表的存储结构和被驱动表的存储结 构, 驱动表的存储结构包括宽表名称、 宽表中各驱动表、 驱动表对应的关联键、 驱动表需要 查询的字段以及join引起的数据延迟时间, 被驱动表的存储结构包括宽表名称、 宽表中各 被驱动表、 被驱动表对应的关联键以及被驱动表需要查询的字段。 [0009]进一步地, 所述步骤S2中, 一个Mysql数据库的数据表对应kafka处理平台的一个 数据流集合, 并建立Mysql数据库的数据表和数据流 集合的映射关系。 [0010]进一步地, 所述步骤S3具体包括: 步骤S31、 由配置规则解析出Binlog数据对应的 驱动表和被驱动表, 根据映射关系在flink流处理引擎中生 成数据源, 由数据源形成多个数说 明 书 1/4 页 3 CN 115062028 A 3

.PDF文档 专利 一种OLTP领域多表join查询的方法

文档预览
中文文档 7 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共7页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种OLTP领域多表join查询的方法 第 1 页 专利 一种OLTP领域多表join查询的方法 第 2 页 专利 一种OLTP领域多表join查询的方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 17:14:08上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。