基于分区模式的CDC数据资源同步方法及其相关设备技术

技术编号:38820764 阅读:9 留言:0更新日期:2023-09-15 19:59
本申请实施例属于金融科技技术领域,应用于金融行业数据资源同步场景中,涉及一种基于分区模式的CDC数据资源同步方法及其相关设备,包括在将数据源端数据资源同步到目标端时,通过筛选条件,选择不同分区方式对目标数据表进行分区处理,使得分区处理更加科学化和符合同步需求,避免了以往一贯的采用行编号和列编号进行分区,更加符合端到端的数据资源同步场景,通过分区时具体数据内容对应的表字段信息引入到子表单的表名中,使得在进行数据资源同步时,通过表字段信息对区别命名进行筛选,筛选出包含所述表字段信息的区别命名对应的子表单,进行数据资源同步,更加快速查找和定位,避免了对大宽表进行查找,减少了网络处理资源的消耗。理资源的消耗。理资源的消耗。

【技术实现步骤摘要】
基于分区模式的CDC数据资源同步方法及其相关设备


[0001]本申请涉及金融科技
,应用于金融行业数据资源同步场景中,尤其涉及一种基于分区模式的CDC数据资源同步方法及其相关设备。

技术介绍

[0002]目前业界在大数据领域经常使用CDC(Change Data Capture,变化数据捕获)数据方案来完成数据在端到端之间的同步,该方案通过获取并解析数据库中数据的操作记录日志,包括对数据的插入、更新、删除等操作,将这些数据操作记录日志按顺序记录并通过流系统传输给数据库的下游平台,在下游完成对数据操作动作的重放,实现对数据在端到端之间实时或近实时的同步,以此高效地为下游提供源端数据进行加工应用。
[0003]在数据时效性和数据准确性上,CDC方案的优越性毋庸置疑。但其弊端也十分明显,尤其是在金融业务数据传输上,即需要在端到端之间为每一个金融业务数据的操作进行记录并传输完整的日志,由于金融业务数据往往较为庞大和繁杂,这对源端数据库系统以及用于日志消息传递的流系统造成巨大的性能压力,在实际生产应用场景中多数金融业务数据库管理员会删减CDC数据的信息量,仅会传递必要的金融业务关键数据,依次来减少对金融业务数据操作日志解析和传递过程中造成的性能压力,但是缺少完整的金融业务数据操作日志信息,对于数据库下游的系统完成数据同步造成巨大的困扰,下游系统仅能通过主键对数据进行定位并更新同步,需要消耗大量的计算资源完成数据的扫描定位,上述方案仅是将性能压力传导至数据库的下游。因此,现有技术在进行大数据规模下的CDC数据资源同步上,存在还缺少一种可以权衡全链路所有系统性能消耗的同步方案的问题。

技术实现思路

[0004]本申请实施例的目的在于提出一种基于分区模式的CDC数据资源同步方法及其相关设备,以解决现有技术在进行大数据规模下的CDC数据资源同步上,还缺少一种可以权衡全链路所有系统性能消耗的同步方案的问题。
[0005]为了解决上述技术问题,本申请实施例提供一种基于分区模式的CDC数据资源同步方法,采用了如下所述的技术方案:
[0006]一种基于分区模式的CDC数据资源同步方法,包括下述步骤:
[0007]步骤201,获取数据源端的数据操作记录日志,进行解析,获取解析结果;
[0008]步骤202,根据所述解析结果,识别在目标端进行数据资源同步时所涉及到的表字段信息;
[0009]步骤203,以所述所涉及到的表字段信息中任一表字段信息为检索信息,查找出所述目标端内所有待同步的数据表;
[0010]步骤204,根据预设的预处理方式,对所有待同步的数据表进行预处理,获取预处理结果;
[0011]步骤205,根据预设的命名规则对所述预处理结果进行区别命名;
[0012]步骤206,通过所述区别命名将目标数据资源同步到所述目标端。
[0013]进一步的,所述获取数据源端的数据操作记录日志,进行解析,获取解析结果的步骤,具体包括:
[0014]步骤301,逐行获取所述数据操作记录日志中记录内容;
[0015]步骤302,根据预设的表字段信息集合识别当前行的数据操作记录日志中的记录内容里是否存在表字段信息;
[0016]步骤303,若当前行的数据操作记录日志中的记录内容里存在表字段信息,则筛选出所述表字段信息及所述表字段信息对应的数据资源信息,将所述表字段信息及所述表字段信息对应的数据资源信息按照键值对数据格式进行缓存,其中,所述表字段信息对应的数据资源信息包括发生变更的具体数据内容、所述具体数据内容发生变更之后在对应数据表中的行列信息;
[0017]步骤304,若当前行的数据操作记录日志中的记录内容里不存在表字段信息,则获取所述数据操作记录日志中的下一行记录内容,并重复执行步骤302至步骤304;
[0018]步骤305,直至当前行为所述数据操作记录日志的最后一行,解析完成。
[0019]进一步的,所述将所述表字段信息及所述表字段信息对应的数据资源按照键值对数据格式进行缓存的步骤,具体包括:
[0020]以所述表字段信息为检索字段,识别预设的缓存区内是否已存在所述表字段信息对应的键值对数据,其中,所述键值对数据的格式具体为
[0021]若所述预设的缓存区内已存在所述表字段信息对应的键值对数据,则获取所述数据资源信息对所述键值对数据进行更新;
[0022]若所述预设的缓存区内不存在所述表字段信息对应的键值对数据,则将所述表字段信息及所述表字段信息对应的数据资源信息按照键值对格式写入到所述缓存区内。
[0023]进一步的,所述根据预设的预处理方式,对所有待同步的数据表进行预处理的步骤,具体包括:
[0024]步骤401,分别获取待同步的各个数据表的行列值;
[0025]步骤402,根据预设的筛选规则和待同步的各个数据表的行列值,筛选出需要进行分区处理的数据表;
[0026]步骤403,根据预设的分区规则对所有需要进行分区处理的数据表进行分区处理,获得分区处理之后的子表单;
[0027]步骤404,分别获取各个子表单的行列值,并迭代执行步骤402至步骤404,直到无表单需进行分区处理,终止迭代;
[0028]步骤405,获得通过经分区处理所获得的最终子表单,作为预处理结果。
[0029]进一步的,所述根据预设的筛选规则和待同步的各个数据表的行列值,筛选出需要进行分区处理的数据表的步骤,具体包括:
[0030]获取预设的无需分区处理的数据表的最大行列阈值;
[0031]将待同步的各个数据表的行列值与所述最大行列阈值进行比较;
[0032]若所述待同步的各个数据表中当前目标数据表的行列值大于预设的最大行列值阈值,则对所述目标数据表进行分区处理;
[0033]若所述待同步的各个数据表中当前目标数据表的行列值都不大于预设的最大行列值阈值,则不对所述目标数据表进行分区处理。
[0034]进一步的,所述若所述待同步的各个数据表中当前目标数据表的行列值大于预设的最大行列值阈值,则对所述目标数据表进行分区处理的步骤,具体包括:
[0035]判断当前目标数据表中是否存在相同表字段信息的若干个具体数据内容相同的情况;
[0036]若存在,则采用第一分区方式对所述当前目标数据表进行分区处理,其中,所述第一分区方式具体为提取所述具体数据内容所对应的行,并将提取的所有行整理为一个分区;
[0037]若不存在,则采用第二分区方式对所述当前目标数据表进行分区处理,其中,所述第二分区访问具体为根据所述最大行值阈值或/和所述最大列值阈值对所述当前目标数据表进行分区处理。
[0038]进一步的,所述根据预设的命名规则对所述预处理结果进行区别命名的步骤,具体包括:
[0039]若所述预处理结果对应的分区方式为第一分区方式,则获取本次分区处理之前对应数据表的表名和本次分区处理时的具体数据内容,拼接所述表名和所述具体数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于分区模式的CDC数据资源同步方法,其特征在于,包括下述步骤:步骤201,获取数据源端的数据操作记录日志,进行解析,获取解析结果;步骤202,根据所述解析结果,识别在目标端进行数据资源同步时所涉及到的表字段信息;步骤203,以所述所涉及到的表字段信息中任一表字段信息为检索信息,查找出所述目标端内所有待同步的数据表;步骤204,根据预设的预处理方式,对所有待同步的数据表进行预处理,获取预处理结果;步骤205,根据预设的命名规则对所述预处理结果进行区别命名;步骤206,通过所述区别命名将目标数据资源同步到所述目标端。2.根据权利要求1所述的基于分区模式的CDC数据资源同步方法,其特征在于,所述获取数据源端的数据操作记录日志,进行解析,获取解析结果的步骤,具体包括:步骤301,逐行获取所述数据操作记录日志中记录内容;步骤302,根据预设的表字段信息集合识别当前行的数据操作记录日志中的记录内容里是否存在表字段信息;步骤303,若当前行的数据操作记录日志中的记录内容里存在表字段信息,则筛选出所述表字段信息及所述表字段信息对应的数据资源信息,将所述表字段信息及所述表字段信息对应的数据资源信息按照键值对数据格式进行缓存,其中,所述表字段信息对应的数据资源信息包括发生变更的具体数据内容、所述具体数据内容发生变更之后在对应数据表中的行列信息;步骤304,若当前行的数据操作记录日志中的记录内容里不存在表字段信息,则获取所述数据操作记录日志中的下一行记录内容,并重复执行步骤302至步骤304;步骤305,直至当前行为所述数据操作记录日志的最后一行,解析完成。3.根据权利要求2所述的基于分区模式的CDC数据资源同步方法,其特征在于,所述将所述表字段信息及所述表字段信息对应的数据资源按照键值对数据格式进行缓存的步骤,具体包括:以所述表字段信息为检索字段,识别预设的缓存区内是否已存在所述表字段信息对应的键值对数据,其中,所述键值对数据的格式具体为若所述预设的缓存区内已存在所述表字段信息对应的键值对数据,则获取所述数据资源信息对所述键值对数据进行更新;若所述预设的缓存区内不存在所述表字段信息对应的键值对数据,则将所述表字段信息及所述表字段信息对应的数据资源信息按照键值对格式写入到所述缓存区内。4.根据权利要求1所述的基于分区模式的CDC数据资源同步方法,其特征在于,所述根据预设的预处理方式,对所有待同步的数据表进行预处理的步骤,具体包括:步骤401,分别获取待同步的各个数据表的行列值;步骤402,根据预设的筛选规则和待同步的各个数据表的行列值,筛选出需要进行分区
处理的数据表;步骤403,根据预设的分区规则对所有需要进行分区处理的数据表进行分区处理,获得分区处理之后的子表单;步骤404,分别获取各个子表单的行列值,并迭代执行步骤402至步骤404,直到无表单需进行分区处理,终止迭代;步骤405,获得通过经分区处理所获得的最终子表单,作为预处理结果。5.根据权利要求4所述的基于分区模式的CDC数据资源同步方法,其特征在于,所述根据预设的筛选规则和待同步的各个数据表的行列值,筛选出需要进行分区处理的数据表的步骤,具体包括:获取预设的无需分区处理的数据表的最大行列阈值;将待同步的各个数据表的行列值与所述最大行列阈值进行比较;若所述待同步的各个数据表中当前目标数据表的行列值大于预设的最大行列值阈值,则...

【专利技术属性】
技术研发人员:易晓博
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1