System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理领域,尤其涉及一种数据处理方法、装置、设备和介质。
技术介绍
1、在数据同步过程中,由于用户业务的需求,通常会有部分表的数据不需要进行同步。
2、目前主要是将所有主分区表的表名和主分区表对应的所有子分区的表名配置到底层过滤白名单中,以达到分区表的底层过滤。
3、但是,实际生产环境中,分区表可能是根据写入数据时动态创建的,或者存在一张普通表挂载到某分区表中变成子分区表的情况,因此,当某个子分区表未出现在白名单中,会导致此子分区表的相关数据被过滤,导致数据丢失。
技术实现思路
1、本申请提供一种数据处理方法、装置、设备和介质,用以提升数据过滤的准确性。
2、第一方面,本申请提供一种数据处理方法,所述方法包括:
3、读取数据库事务日志,判断所述事务日志记录的变更数据表的表名是否匹配底层过滤白名单中的表名,所述底层过滤白名单中预先配置有主分区表的表名;
4、若是,判定所述事务日志记录的变更数据需要同步;若否,判断所述变更数据表是否为分区表;
5、所述变更数据表非分区表时,判定所述变更数据不需要同步;
6、所述变更数据表为分区表时,获取所述变更数据表对应的主分区表,并判断所述变更数据表对应的主分区表的表名是否匹配所述底层过滤白名单中的表名;
7、若是,判定所述变更数据需要同步;若否,判定所述变更数据不需要同步。
8、可选的,所述读取数据库事务日志,判断所述事务日志记录
9、读取数据库事务日志,获取所述事务日志记录的变更数据表的对象标识符,根据所述变更数据表的对象标识符查询所述变更数据表的表名;
10、判断所述变更数据表的表名是否匹配底层过滤白名单中的表名。
11、可选的,所述变更数据表为分区表时,获取所述变更数据表对应的主分区表,具体包括:
12、所述变更数据表为分区表时,根据所述变更数据表的对象标识符查询所述变更数据表的父级列表的对象标识符,直至获取对应的主分区表的对象标识符,根据所述主分区表的对象标识符获取所述主分区表的表名。
13、可选的,所述变更数据表为分区表时,获取所述变更数据表对应的主分区表,具体包括:
14、所述变更数据表为分区表时,判断所述变更数据表的对象标识符是否存储于内存中,所述内存中存储有需过滤的分区表的对象标识符;
15、若否,获取变更数据表对应的主分区。
16、可选的,所述获取所述变更数据表对应的主分区表之前,所述方法还包括:
17、将各分区表的对象标识符与对应的主分区表的对象标识符之间的对应关系存储于内存中;
18、所述变更数据表为分区表时,获取所述变更数据表对应的主分区表,具体包括:
19、所述变更数据表为分区表时,根据所述内存中存储的各分区表的对象标识符与对应的主分区表的对象标识符之间的对应关系获取所述变更数据表对应的主分区表的对象标识符。
20、可选的,所述方法还包括:
21、在底层过滤白名单中配置主分区表的表名;
22、所述在底层过滤白名单中配置主分区表的表名,包括:
23、接收用户输入的需要同步的主分区表的表名,根据表名设定对应的正则表达式,作为底层过滤白名单。
24、可选的,所述根据表名设定对应的正则表达式,包括:
25、待同步的表的数量大于预设值时,设定对应的正则表达式为模式和通配符;
26、和/或,目标模式下待同步的表的数量大于所述预设值时,设定对应的正则表达式为通配符和表名。
27、第二方面,本申请提供一种数据处理装置,所述装置包括:
28、第一判断模块,用于读取数据库事务日志,判断所述事务日志记录的变更数据表的表名是否匹配底层过滤白名单中的表名,所述底层过滤白名单中预先配置有主分区表的表名;
29、第二判断模块,用于在所述变更数据表的表名匹配底层过滤白名单中的表名时,判定所述事务日志记录的变更数据需要同步;在所述变更数据表的表名不匹配底层过滤白名单中的表名时,判断所述变更数据表是否为分区表;
30、第三判断模块,用于在所述变更数据表非分区表时,判定所述变更数据不需要同步;下所述变更数据表为分区表时,获取所述变更数据表对应的主分区表,并判断所述变更数据表对应的主分区表的表名是否匹配所述底层过滤白名单中的表名;
31、第四判断模块,用于在所述变更数据表对应的主分区表的表名匹配所述底层过滤白名单中的表名时,判定所述变更数据需要同步;在所述变更数据表对应的主分区表的表名不匹配所述底层过滤白名单中的表名时,判定所述变更数据不需要同步。
32、第三方面,本申请提供一种电子设备,包括:存储器和处理器;
33、存储器用于存储指令;处理器用于调用存储器中的指令执行第一方面及第一方面任一种可能的设计中的数据处理方法。
34、第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机指令,当电子设备的至少一个处理器执行该计算机指令时,电子设备执行第一方面及第一方面任一种可能的设计中的数据处理方法。
35、第五方面,本申请提供一种计算机程序产品,所述计算机程序产品包括计算机指令,当电子设备的至少一个处理器执行该计算机指令时,电子设备执行第一方面及第一方面任一种可能的设计中的数据处理方法。
36、本申请提供的数据处理方法、装置、设备和介质,读取数据库事务日志,判断事务日志记录的变更数据表的表名是否匹配底层过滤白名单中的表名;若变更数据表的表名与底层过滤白名单中的表名匹配,则判定变更数据需要同步;若变更数据表的表名与底层过滤白名单中的表名不匹配,判断变更数据表是否为分区表,若否,判定变更数据不需要同步,若是,获取变更数据表对应的主分区表;在获取变更数据表对应的主分区表之后,判断变更数据表对应的主分区表的表名是否匹配底层过滤白名单中的表名,若是,判定变更数据需要同步,若否,判定变更数据不需要同步。本申请的方案,在根据数据库事务日志获取变更数据之前,先是判断事务日志记录的变更数据表的表名是否匹配底层过滤白名单中的表名,而后通过识别变更数据表对应的主分区表的表名是否为底层过滤白名单中的主分区表的表名,来判断变更数据是否需要同步,从而准确的实现数据的过滤和同步,并且底层过滤白名单中仅需配置主分区表的表名,减少底层过滤白名单的配置的复杂性,提升数据同步和过滤效率。
本文档来自技高网...【技术保护点】
1.一种数据处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述读取数据库事务日志,判断所述事务日志记录的变更数据表的表名是否匹配底层过滤白名单中的表名,具体包括:
3.根据权利要求1所述的方法,其特征在于,所述变更数据表为分区表时,获取所述变更数据表对应的主分区表,具体包括:
4.根据权利要求1所述的方法,其特征在于,所述变更数据表为分区表时,获取所述变更数据表对应的主分区表,具体包括:
5.根据权利要求4所述的方法,其特征在于,所述获取所述变更数据表对应的主分区表之前,所述方法还包括:
6.根据权利要求1-5中任意一项所述的方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述根据表名设定对应的正则表达式,包括:
8.一种数据处理装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储
...【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述读取数据库事务日志,判断所述事务日志记录的变更数据表的表名是否匹配底层过滤白名单中的表名,具体包括:
3.根据权利要求1所述的方法,其特征在于,所述变更数据表为分区表时,获取所述变更数据表对应的主分区表,具体包括:
4.根据权利要求1所述的方法,其特征在于,所述变更数据表为分区表时,获取所述变更数据表对应的主分区表,具体包括:
5.根据权利要求4所述的方法,其特征在于,所述获取所述变更数据表对...
【专利技术属性】
技术研发人员:雷东,王凯龙,
申请(专利权)人:北京人大金仓信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。