说明:收录25万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210948764.8 (22)申请日 2022.08.09 (71)申请人 苏银凯基消费金融有限公司 地址 215300 江苏省苏州市昆山市花 桥经 济开发区光明路505号建淘广场2号楼 22、 23层 (72)发明人 张枫 林凯 陆皓 胡良芳  (74)专利代理 机构 南京钟山专利代理有限公司 32252 专利代理师 陈亮亮 (51)Int.Cl. G06F 16/27(2019.01) G06F 16/28(2019.01) G06F 16/2455(2019.01) G06F 16/18(2019.01)G06F 16/22(2019.01) (54)发明名称 一种业务数据同步到数仓的方法 (57)摘要 本发明公开了一种业务数据 同步到数仓的 方法, 将业务系统生产的binlog 日志采集到日志 交换中心, 日志交换中心采集的数据缓存到 Kafka软件, 通过Flink实时获取binlog日志数 据, 并在数据流转到sink组件时进行表类型的判 断, 判断表类型是否是全量表或快照表, 若是, 则 采用写时M erge架构方式, 若不是, 继续判断增量 数据和存量数据的量级, 若增量数据的量级远小 于存量数据的量级, 采用读时M erge架构方式, 把 Hbase中的数据倒入到Hive的ODS侧, 完成整个 数 据同步。 本发明对线上业务系统无压力, 资源需 求大幅降低, 下游作业读数据冗余IO影响可控, 可以在非生产时间进行数据Merge, 避免对数据 生产的影响, 提升资源利用率。 权利要求书1页 说明书4页 附图2页 CN 115292414 A 2022.11.04 CN 115292414 A 1.一种业 务数据同步到数仓的方法, 其特 征在于包 含以下步骤: S1、 将业务系统生产的bi nlog日志采集到日志交换中心; S2、 日志交换中心采集的数据缓存到Kafka软件; S3、 通过Flink实时获取Kafka软件中的数据库的binlog日志数据, 并在数据流转到 sink组件时进行表类型的判断; S4、 判断表类型是否是全量表或快照表, 若是, 则采用写时Merge架构方式, Flink直接 把数据同步到 Hive的OD S层; S5、 若不是, 继续判断增量数据和存量数据的量级, 若增量数据的量级远小于存量数据 的量级, 采用读时Merge架构方式, Fl ink把数据同步到 Hbase中; S6、 把Hbase中的数据倒入到 Hive的OD S侧, 完成整个数据同步。 2.根据权利要求1所述的一种业务数据同步到数仓的方法, 其特征在于: 所述步骤S1具 体为: 通过源系统的进程, 读取业务系统数据库的binlog日志用以收集变化的数据信息, 并 判断数据库的bi nlog日志的变更 是否属于被收集对象, 然后将其 解析到日志交换中心。 3.根据权利要求1所述的一种业务数据同步到数仓的方法, 其特征在于: 所述步骤S3 中 表类型判断的过程 为: 3.1、 首先获取数据库中bi nlog日志的表名; 3.2、 根据获取的表名去Mysql元 数据库中查询出对应的OD S表名; 3.3、 根据查询出的对应的OD S表直接获取到对应的表类型。 4.根据权利要求1所述的一种业务数据同步到数仓的方法, 其特征在于: 所述步骤S4中 Flink直接把数据同步到Hive的ODS层的具体过程为: Flink的sink组件 中的数据直接同步 到Hive的OD S层中。 5.根据权利要求1所述的一种业务数据同步到数仓的方法, 其特征在于: 所述步骤S5 中 判断增量数据和存量数据的量级的过程 为: 5.1、 存量数据按 主键有序存 储; 5.2、 增量数据按照主键有序, 直接写入数据集中; 5.3、 读数据时, 对增量数据和存量数据进行归并, 得到最终数据集; 5.4、 当增量数据规模达 到一定阈值时, 进行一次异步的全量数据Merge。 6.根据权利要求1所述的一种业务数据同步到数仓的方法, 其特征在于: 所述步骤S5 中 增量数据的量级远小于存量数据的量级的判断过程 为: 增量数据的量级直接通过统计数据库的bi nlog日志来获取; 存量数据的量级直接通过Mysql元 数据库查询得到; 当增减数据的量级与存量数据的量级的比值小于1/100时, 则认为增量数据的量级远 小于存量数据的量级。权 利 要 求 书 1/1 页 2 CN 115292414 A 2一种业务数据同步到数仓的方 法 技术领域 [0001]本发明涉及一种数据同步方法, 特别是一种业务数据同步到数仓的方法, 属于数 仓技术领域。 背景技术 [0002]在贷款数仓建设过程中, 数据最上游的原始业务层数据, 我们称为ODS数据。 ODS数 据主要有两类: 日志数据和业务系统数据。 对于日志类数据, 由于没有状态, 可以通过提供 并发的方式来保证 ODS数据的生产效率。 对于业务系统数据, 由于其本质上来说是业务过程 的变更, 存在状态更新的过程, 无法简单通过提高并发来达 到不变的生产效率。 [0003]当前日志类数据是通过数据文件同步方式。 当前业务系统数据是通过存量数据+ 增量数据合并的方式生 成的, 增量数据主要通过数据库的binlog日志 (变更日志) 采集进入 到数仓中。 如图2所示, 现有技 术的业务数据同步过程如下: 1、 读取各个业务系统的数据库的变更日志到日志交换中心; 2、 通过Kafka软件分发所有订阅了这些 数据的数仓; 3、 通过Flink软件实时将Kafka上 数据库的变更日志数据同步到 Hive软件中; 4、 对每张ODS表, 如果是首次接入, 需要先一次性读取全量数据, 否则的话, 每天基 于存量数据和增量数据做Delta  merge操作, 即根据主键去重, 按照流水倒序获取记录最终 状态并进行增量数据的插 入以及存量数据的更新。 [0004]在上述方案中, 最大的瓶颈点在Delta  Merge阶段: 用hive  sql将全部存量数据读 出, 然后与增量数据通过唯一键进行合并, 保留最新数据, 最后再重新写回hiv e表。 ODS生产 一般比较集中, 每个Delta  Merge流程会至少读+写对应的ODS表同等量级的数据。 Delta   Merge虽然避免了对业务系统的影响, 但由于合并过程中要读出全部存量数据再写回最新 结果, 有较多的IO冗余。 随着ODS的任务数据越来越多, 会存在以下几个问题: 1.  消耗资源 多, 2. 数据产出时间不确定, 3.  对存储系统压力增大。 发明内容 [0005]本发明所要解决的技术问题是提供一种业务数据同步到数仓的方法, 解决现有技 术的不足。 [0006]为解决上述 技术问题, 本发明所采用的技 术方案是: 一种业务数据同步到数仓的方法, 其特 征在于包 含以下步骤: S1、 将业务系统生产的bi nlog日志采集到日志交换中心; S2、 日志交换中心采集的数据缓存到Kafka软件; S3、 通过Flink实时获取Kafka软件中的数据库的binlog日志数据, 并在数据流转 到sink组件时进行表类型的判断; S4、 判断表类型是否是全量表或快照表, 若是, 则采用写时Merge架构方式, Flink 直接把数据同步到 Hive的OD S层;说 明 书 1/4 页 3 CN 115292414 A 3

.PDF文档 专利 一种业务数据同步到数仓的方法

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