System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据处理方法、装置、电子设备和存储介质制造方法及图纸_技高网

数据处理方法、装置、电子设备和存储介质制造方法及图纸

技术编号:40671441 阅读:5 留言:0更新日期:2024-03-18 19:07
本申请实施例提供一种数据处理方法、装置、电子设备和存储介质,所述方法包括:获取二进制日志文件数据的库表信息和生成时间;当缓存中不存在库表信息关联的表结构对象时,查询第一数据库中是否存在库表信息关联的第一时序记录,第一时序记录包括第一变更时间及其对应的第一表结构信息,第一变更时间与生成时间相匹配;当第一数据库中存在第一时序记录时,基于第一表结构信息构建第一表结构对象,第一表结构对象用于解析二进制日志文件数据。采用本申请实施例,可以获得与二进制日志文件数据相匹配的表结构,用于解析该二进制日志文件数据,有助于减少数据解析异常。

【技术实现步骤摘要】

本申请涉及数据库处理,尤其涉及一种数据处理方法、装置、电子设备和存储介质


技术介绍

1、二进制日志文件(binlog)是数据库记录变更操作的文件。binlog一般只会记录列的编号,但不包含列名信息,所以解析binlog过程需要从源库中查询表结构(schema)信息,用来补充列名和索引等信息。

2、目前,每次需要加载schema时会直连数据库,从数据库中获取schema信息,用以构建schema。然而,目前的方案只能获取到当前最新的schema信息,构建当前最新的schema。当发生过schema信息变更的情况下,无法回溯到变更之前的schema,而当前最新的schema与待解析的binlog数据可能不匹配,从而可能导致如数据丢失、数据解析错误等异常问题。


技术实现思路

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、通过上述实施方式,当缓存中存在库表信息关联的表结构对象,且二进制日志文件数据指示非表结构变更时,服务器可以直接利用该库表信息关本文档来自技高网...

【技术保护点】

1.一种数据处理方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述第一变更时间与所述生成时间相匹配包括:所述第一变更时间早于或等于所述生成时间,且所述第一变更时间是变更时间集合中与所述生成时间相隔最近的变更时间;

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,所述将所述第二时序记录存储于所述第一数据库中,包括:

6.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:

7.根据权利要求6所述的方法,其特征在于,所述方法还包括:

8.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:

9.一种数据处理装置,其特征在于,所述装置包括:

10.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至8中任意一项所述的方法。

<p>11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至8中任意一项所述的方法。

12.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至8中任意一项所述的方法。

...

【技术特征摘要】

1.一种数据处理方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述第一变更时间与所述生成时间相匹配包括:所述第一变更时间早于或等于所述生成时间,且所述第一变更时间是变更时间集合中与所述生成时间相隔最近的变更时间;

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,所述将所述第二时序记录存储于所述第一数据库中,包括:

6.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:

7.根据权利要求6所述的方法,其特征...

【专利技术属性】
技术研发人员:郑云龙
申请(专利权)人:行吟信息科技武汉有限公司
类型:发明
国别省市:

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

1