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

技术编号:37187273 阅读:12 留言:0更新日期:2023-04-20 22:50
本公开涉及一种数据处理方法及装置、设备及存储介质,所述方法包括:对预先部署的多个MYSQL数据库进行数据一致性校验,获取不同数据库中不一致的数据;获取所述不一致的数据对应的联合主键,并根据联合主键的类型确定所述不一致的数据中待修改数据;对待修改数据进行修改,并存储修改后数据;按照修改后数据对所述多个MYSQL数据库进行数据同步,能够解决数据库集群中由于联合主键类型不一致,导致数据修改或查询过程,索引失效和数据不一致的问题。题。题。

【技术实现步骤摘要】
一种数据处理方法及装置、设备及存储介质


[0001]本公开涉及数据库数据处理
,尤其涉及一种数据处理方法及装置、设备及存储介质。

技术介绍

[0002]在多个数据库集群存储同一份业务数据的场景下,在部署多个MYSQL数据库集群之后,通过SQL代码验证数据一致性,在业务数据同步过程,对于单一主键冲突造成数据不一致的问题,相关技术中,通常通过以下方法解决:纯手工方式挨个替换MYSQL集群配置文件和集群MYSQL客户端配置,用于跳过冲突数据和错误编码等。
[0003]然而,如果数据库集群的单张表数据量达到了一亿条数据,修改配置的过程耗时非常长,并且由于修改数据过程中会锁表,频繁修改集群配置是非常大的安全隐患,容易造成核心业务功能崩溃,整个集群瘫痪,进而业务活动发现订单提交不了,订单查询异常,查询数据不一致等诸多问题,同时,如果无法解决数据冲突问题,前端页面查询数据不一致,导致用户订单查询下单过程存在问题,如明明用户已经下单了,但是查询不到订单详情等问题。另外,如果出现数据冲突问题,就需要投入大量的人力,物力资源,协同解决集群故障问题,业务问题等。

技术实现思路

[0004]为了解决上述技术问题或者至少部分地解决上述技术问题,本公开的实施例提供了一种数据处理方法及装置、设备及存储介质。
[0005]第一方面,本公开的实施例提供了一种数据处理方法,包括:对预先部署的多个MYSQL数据库进行数据一致性校验,获取不同数据库中不一致的数据;获取所述不一致的数据对应的联合主键,并根据联合主键的类型确定所述不一致的数据中待修改数据;对待修改数据进行修改,并存储修改后数据;按照修改后数据对所述多个MYSQL数据库进行数据同步。
[0006]在一种可能的实施方式中,所述对预先部署的多个MYSQL数据库进行数据一致性校验,获取不同数据库中不一致的数据,包括:从预先部署的每个MYSQL数据库中提取多个数据表,利用预设的数据校验工具(定制化PT

TABLE

CHECKSUM

数据一致性校验脚本),以数据表为单位,对比不同MYSQL数据库之间的数据;获取数据不一致的数据表,将所有数据表的数据作为不同数据库中不一致的数据。
[0007]在一种可能的实施方式中,所述获取所述不一致的数据对应的联合主键,并根据联合主键的类型确定所述不一致的数据中待修改数据,包括:
对于数据不一致的每一个数据表,获取当前数据表对应的联合主键;对于每一个联合主键,在联合主键的类型为整型与字符串的组合,或者字符串与字符串的组合的情况下,将联合主键及其在当前数据表查询的数据,作为待修改数据块。
[0008]在一种可能的实施方式中,所述对待修改数据进行修改,包括:按照预设格式,对联合主键及其在当前数据表查询的数据进行预处理;对预处理后的联合主键及其在当前数据表查询的数据进行类型转换;将类型转换后的联合主键及其在当前数据表查询的数据,作为修改后数据。
[0009]在一种可能的实施方式中,所述按照预设格式,对联合主键及其在当前数据表查询的数据进行预处理,包括:对联合主键及其在当前数据表查询的数据的整型进行格式转换,或者,对联合主键及其在当前数据表查询的数据的字符串进行格式转换。
[0010]在一种可能的实施方式中,所述存储修改后数据,包括:将预处理后的联合主键及其在当前数据表查询的数据,分别以字段名称的形式存储至字段列表数组池;基于预设的字段名称与字段类型之间的对应关系,根据字段列表数组池中的字段名称获取对应的字段类型,存储至字段类型数组池中;将字段列表数组池和字段类型数组池中的字段名称和对应的字段类型,用作后续的类型转换。
[0011]在一种可能的实施方式中,所述方法还包括:对类型转换后的联合主键及其在当前数据表查询的数据进行数据修改状态的复核,以确保不同数据库中不一致的数据的修改完成。
[0012]第二方面,本公开的实施例提供了一种数据处理装置,包括:校验模块,用于对预先部署的多个MYSQL数据库进行数据一致性校验,获取不同数据库中不一致的数据;确定模块,用于获取所述不一致的数据对应的联合主键,并根据联合主键的类型确定所述不一致的数据中待修改数据;修改模块,用于对待修改数据进行修改,并存储修改后数据;同步模块,用于按照修改后数据对所述多个MYSQL数据库进行数据同步。
[0013]第三方面,本公开的实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述的数据处理方法。
[0014]第四方面,本公开的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的数据处理方法。
[0015]本公开实施例提供的上述技术方案与现有技术相比至少具有如下优点的部分或全部:本公开实施例所述的数据处理方法,对预先部署的多个MYSQL数据库进行数据一致性校验,获取不同数据库中不一致的数据;获取所述不一致的数据对应的联合主键,并根据联合主键的类型确定所述不一致的数据中待修改数据;对待修改数据进行修改,并存储
修改后数据;按照修改后数据对所述多个MYSQL数据库进行数据同步,能够解决数据库集群中由于联合主键类型不一致,导致数据修改或查询过程,索引失效和数据不一致的问题。
附图说明
[0016]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0017]为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0018]图1示意性示出了根据本公开实施例的数据处理方法流程示意图;图2示意性示出了根据本公开实施例的数据处理的装置的结构框图;以及图3示意性示出了根据本公开实施例的电子设备的结构框图。
具体实施方式
[0019]为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0020]参见图1,本公开的实施例提供了一种数据处理方法,包括:S1,对预先部署的多个MYSQL数据库进行数据一致性校验,获取不同数据库中不一致的数据。
[0021]在一些实施例中,预先部署的多个MYSQL数据库可以是分布式多个异地容灾节点分别对应的数据库。
[0022]在一些实施例中,可以通过pt

table
‑本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:对预先部署的多个MYSQL数据库进行数据一致性校验,获取不同数据库中不一致的数据;获取所述不一致的数据对应的联合主键,并根据联合主键的类型确定所述不一致的数据中待修改数据;对待修改数据进行修改,并存储修改后数据;按照修改后数据对所述多个MYSQL数据库进行数据同步。2.根据权利要求1所述的方法,其特征在于,所述对预先部署的多个MYSQL数据库进行数据一致性校验,获取不同数据库中不一致的数据,包括:从预先部署的每个MYSQL数据库中提取多个数据表,利用预设的数据校验工具,以数据表为单位,对比不同MYSQL数据库之间的数据;获取数据不一致的数据表,将所有数据表的数据作为不同数据库中不一致的数据。3.根据权利要求2所述的方法,其特征在于,所述获取所述不一致的数据对应的联合主键,并根据联合主键的类型确定所述不一致的数据中待修改数据,包括:对于数据不一致的每一个数据表,获取当前数据表对应的联合主键;对于每一个联合主键,在联合主键的类型为整型与字符串的组合,或者字符串与字符串的组合的情况下,将联合主键及其在当前数据表查询的数据,作为待修改数据块。4.根据权利要求3所述的方法,其特征在于,所述对待修改数据进行修改,包括:按照预设格式,对联合主键及其在当前数据表查询的数据进行预处理;对预处理后的联合主键及其在当前数据表查询的数据进行类型转换;将类型转换后的联合主键及其在当前数据表查询的数据,作为修改后数据。5.根据权利要求4所述的方法,其特征在于,所述按照预设格式,对联合主键及其在当前数据表查询的数据进行预处理,包括:对联合主键及其在当前数据表查询的数据的整型进行格式转...

【专利技术属性】
技术研发人员:蒋海张保平
申请(专利权)人:布比北京网络技术有限公司
类型:发明
国别省市:

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

1