CN114138907A - 数据处理方法、计算机设备、存储介质和计算机程序产品 - Google Patents
数据处理方法、计算机设备、存储介质和计算机程序产品 Download PDFInfo
- Publication number
- CN114138907A CN114138907A CN202111463441.1A CN202111463441A CN114138907A CN 114138907 A CN114138907 A CN 114138907A CN 202111463441 A CN202111463441 A CN 202111463441A CN 114138907 A CN114138907 A CN 114138907A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- record
- source
- records
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据处理方法、计算机设备、存储介质和计算机程序产品。该方法属于大数据领域,可用于金融业务数据的同步以及核对中,方法包括:获取源数据记录集合以及目标数据记录集合;目标数据记录集合是基于源数据记录集合进行数据同步得到的;基于源数据记录对应的源修改次数,以及目标数据记录对应的目标修改次数进行数据一致性核对,得到一致性核对结果;基于一致性核对结果得到所源数据记录集合与目标数据记录集合之间,存在差异的差异数据记录所对应的记录指示信息;基于记录指示信息对目标数据记录集合进行数据同步,得到同步后的目标数据记录集合。采用本方法能够提高数据核对效率。
Description
技术领域
本申请涉及大数据技术领域,特别是涉及一种数据处理方法、计算机设备、存储介质和计算机程序产品。
背景技术
随着互联网技术的发展,互联网上的数据越来多,因此经常存在需要将不同存储空间存储的数据进行同步的需要。例如随着企业数字化以及智能化的不断发展,企业在存储不同应用或者产品线数据的数据量在以几何倍的速度在增长,这些数据由于受到物理存储介质的限制,会导致数据孤岛的产生。为了解决这一问题,企业可以搭建数据湖,将企业的数据同步至数据湖中,以实现数据共享。
传统技术中,存在将源数据端的数据同步到目标存储端后,源数据端的数据与目标存储端的数据不一致的情况,因此需要进行数据一致性核对,找到存在差异的数据。然而,目前主要是通过数据记录之间一一进行对比的方式进行核对的,核对效率比较低。
发明内容
基于此,有必要针对上述技术问题,提供一种数据处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种数据处理方法。所述方法包括:获取源数据记录集合以及目标数据记录集合;所述目标数据记录集合是基于所述源数据记录集合进行数据同步得到的;所述源数据记录集合中的源数据记录对应有源修改次数,所述目标数据记录集合中的目标数据记录对应有目标修改次数;基于所述源数据记录对应的源修改次数,以及所述目标数据记录对应的目标修改次数进行数据一致性核对,得到一致性核对结果;基于所述一致性核对结果得到所源数据记录集合与所述目标数据记录集合之间,存在差异的差异数据记录所对应的记录指示信息;基于所述记录指示信息对所述目标数据记录集合进行数据同步,得到同步后的目标数据记录集合。
第二方面,本申请还提供了一种数据处理装置。所述装置包括:记录集合获取模块,用于获取源数据记录集合以及目标数据记录集合;所述目标数据记录集合是基于所述源数据记录集合进行数据同步得到的;所述源数据记录集合中的源数据记录对应有源修改次数,所述目标数据记录集合中的目标数据记录对应有目标修改次数;一致性核对模块,用于基于所述源数据记录对应的源修改次数,以及所述目标数据记录对应的目标修改次数进行数据一致性核对,得到一致性核对结果;记录指示信息得到模块,用于基于所述一致性核对结果得到所源数据记录集合与所述目标数据记录集合之间,存在差异的差异数据记录所对应的记录指示信息;第一同步模块,用于基于所述记录指示信息对所述目标数据记录集合进行数据同步,得到同步后的目标数据记录集合。
在其中一个实施例中,所述源数据记录集合中的源数据记录对应有源数据修改时间,所述目标数据记录集合中的目标数据记录对应有目标数据修改时间;所述一致性核对模块,用于:获取第一修改时间范围;获取所述源数据记录集合对应的第一源记录数量,所述第一源记录数量为所述源数据记录集合中,源数据修改时间在第一修改时间范围内,且源修改次数为第一数值的源数据记录的数量;所述第一数值为新增数据记录对应的修改次数;获取所述目标数据记录集合对应的第一目标记录数量,所述第一目标记录数量为所述目标数据记录集合中,目标数据修改时间在第一修改时间范围内,且目标修改次数为所述第一数值的目标数据记录的数量;基于第一源记录数量以及第一目标记录数量进行数据一致性核对,得到一致性核对结果。
在其中一个实施例中,所述装置还包括:划分模块,用于当确定第一源记录数量与所述第一目标记录数量不一致时,对所述第一修改时间范围进行划分,得到多个子时间范围;继续核对模块,用于将各个所述子时间范围分别作为更新后的第一修改时间范围,以基于更新后的第一修改时间范围继续进行数据一致性核对,直至满足核对停止条件;时间范围得到模块,用于将停止核对时,所对应的第一源记录数量与第一目标记录数量不一致的第一修改时间范围作为存在差异的差异数据记录所在的时间范围;所述核对停止条件包括更新后的第一修改时间范围的长度小于长度阈值或者划分次数超过次数阈值的至少一个。
在其中一个实施例中,所述一致性核对模块,用于:当同一目标记录索引所对应的源修改次数与目标修改次数不一致时,将所述目标记录索引加入到数据差异索引集合中;所述数据差异索引集合中各个目标数据记录索引所对应的数据记录作为存在差异的差异数据记录。
在其中一个实施例中,所述装置还包括:操作日志记录序列获取模块,用于获取所述源数据记录集合所对应的操作日志记录序列;操作类型标识增加模块,用于基于所述操作日志记录序列所对应的修改操作类型在所述操作日志记录序列的各个操作日志记录中增加对应的操作类型标识;第二同步模块,用于基于所述操作日志记录序列进行数据同步,得到所述目标数据记录集合;所述当同一目标记录索引所对应的源修改次数与目标修改次数不一致时,将所述目标记录索引加入到数据差异索引集合中包括:确定对应的操作类型标识为编辑类型标识的操作日志记录所对应的数据记录索引,作为目标记录索引;当所述目标记录索引所对应的源修改次数与目标修改次数不一致时,将所述目标记录索引加入到数据差异索引集合中。
在其中一个实施例中,所述目标数据记录集合是基于所述源数据记录集合对应的操作日志序列进行同步得到的,所述装置还包括:目标删除记录数量获取模块,用于获取所述目标数据记录集合对应的目标删除记录数量,所述目标删除记录数量为第二修改时间范围内,所述目标数据记录集合对应的基于删除操作日志所删除的数据记录数量;源删除记录数量获取模块,用于获取所述源数据记录集合对应的源删除记录数量,所述源删除记录数量为所述第二修改时间范围内,所述源数据记录集合对应的已删除的数据记录数量;差异数据记录确定模块,用于当所述目标删除记录数量与所述源删除记录数量不一致,则确定所述第二修改时间范围对应的数据一致性核对结果为存在差异数据记录。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取源数据记录集合以及目标数据记录集合;所述目标数据记录集合是基于所述源数据记录集合进行数据同步得到的;所述源数据记录集合中的源数据记录对应有源修改次数,所述目标数据记录集合中的目标数据记录对应有目标修改次数;基于所述源数据记录对应的源修改次数,以及所述目标数据记录对应的目标修改次数进行数据一致性核对,得到一致性核对结果;基于所述一致性核对结果得到所源数据记录集合与所述目标数据记录集合之间,存在差异的差异数据记录所对应的记录指示信息;基于所述记录指示信息对所述目标数据记录集合进行数据同步,得到同步后的目标数据记录集合。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取源数据记录集合以及目标数据记录集合;所述目标数据记录集合是基于所述源数据记录集合进行数据同步得到的;所述源数据记录集合中的源数据记录对应有源修改次数,所述目标数据记录集合中的目标数据记录对应有目标修改次数;基于所述源数据记录对应的源修改次数,以及所述目标数据记录对应的目标修改次数进行数据一致性核对,得到一致性核对结果;基于所述一致性核对结果得到所源数据记录集合与所述目标数据记录集合之间,存在差异的差异数据记录所对应的记录指示信息;基于所述记录指示信息对所述目标数据记录集合进行数据同步,得到同步后的目标数据记录集合。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:获取源数据记录集合以及目标数据记录集合;所述目标数据记录集合是基于所述源数据记录集合进行数据同步得到的;所述源数据记录集合中的源数据记录对应有源修改次数,所述目标数据记录集合中的目标数据记录对应有目标修改次数;基于所述源数据记录对应的源修改次数,以及所述目标数据记录对应的目标修改次数进行数据一致性核对,得到一致性核对结果;基于所述一致性核对结果得到所源数据记录集合与所述目标数据记录集合之间,存在差异的差异数据记录所对应的记录指示信息;基于所述记录指示信息对所述目标数据记录集合进行数据同步,得到同步后的目标数据记录集合。
上述数据处理方法、装置、计算机设备、存储介质和计算机程序产品,由于在数据记录中对应有修改次数,可以反映目标数据记录集合的数据记录的修改次数是否与源数据记录集合中对应的数据记录的修改次数一致,因此在数据核对时,基于源数据记录对应的源修改次数,以及目标数据记录对应的目标修改次数进行数据一致性核对,能够得到两个集合之间存在差异的差异数据记录的记录指示信息,从而提高了数据核对的效率,并可以基于记录指示信息对目标数据记录集合进行数据同步,保证了两个集合之间的数据的一致性。
附图说明
图1为一个实施例中数据处理方法的应用环境图;
图2为一个实施例中数据处理方法的流程示意图;
图3为一个实施例中基于源数据记录对应的源修改次数,以及目标数据记录对应的目标修改次数进行数据一致性核对,得到一致性核对结果步骤的流程示意图;
图4为一个实施例中数据处理方法的流程示意图;
图5为一个实施例中数据处理装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请公开的方案可用于金融领域中金融业务数据在数据湖的数据同步,例如同步金融业务数据中的指标数据。也可用于除金融领域之外的任意领域,例如可以是对交互业务数据进行同步,本申请公开的方案的应用领域不做限定。
本申请实施例提供的数据处理方法,可以应用于如图1所示的应用环境中。其中,服务器104通过网络将源数据端102的源数据记录同步至目标数据端106,数据同步后,服务器可以对源数据端102与目标数据端106的数据进行数据核对,以确定源数据端102存储的源数据记录集合与目标数据端106存储的目标数据记录集合之间的一致性,若确定源数据端102存储的源数据记录集合与目标数据端106存储的目标数据记录集合不一致,则服务器104对不一致的数据记录进行同步。其中,源数据端与目标数据端可以但不限于是服务器、各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。例如,在进行同步时,可以利用同步平台中的服务器执行同步的步骤,当进行数据核对时,则可以利用大数据加工服务平台中的服务器执行同步的步骤。
在一个实施例中,如图2所示,提供了一种数据处理方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
步骤S202,获取源数据记录集合以及目标数据记录集合;目标数据记录集合是基于源数据记录集合进行数据同步得到的;源数据记录集合中的源数据记录对应有源修改次数,目标数据记录集合中的目标数据记录对应有目标修改次数。
其中,数据记录集合中可以包括一个或者多个数据记录。一个数据记录是一组完整的信息,例如可以是表格中的一行信息。例如,一个数据表中可以包括多个客户的信息,每个客户的信息为一个数据记录,例如假设有关某位客户的所有信息对应数据表的一行,则一行表示一个数据记录。源数据记录集合是同步的数据的来源,目标数据记录集合是同步后的数据记录的集合。例如,将A表的数据同步至B表中,则A表中的所有数据记录形成源数据记录集合。B表中的所有数据记录形成目标数据记录集合。
源修改次数是指源数据记录被修改的次数,目标修改次数是指目标数据记录被修改的次数。可以在要同步的数据表中添加修改次数对应的字段,通过数据记录在该字段所对应的值来表示数据记录对应的修改次数。例如,源数据端的每张表以及目标数据端的每张表均可以新增字段SEQ_NO,该字段对应的值用于标识该表中每条记录分别的修改次数,每修改一次数值加1。例如:假设一条数据记录为一行,则可以根据该数据记录所在的行中,字段SEQ_NO所对应的值确定数据记录所对应的修改次数,其中可以SEQ_NO=1表示该条记录是新增记录,修改次数为1;SEQ_NO>1表示该条记录是编辑记录。可以理解,也可以是SEQ_NO=0表示该条记录是新增记录。SEQ_NO>0表示该条记录是编辑记录。新增是指一个数据记录从无到有,编辑是指对数据记录中的全部或者部分数据进行更新,删除是将数据记录从集合中删除。
本申请实施例中,服务器可以是在将源数据记录集合中的数据同步至目标数据记录集合中后,开始执行步骤S202,以确定同步后的数据的一致性。
在一个实施例中,源数据记录集合以及目标数据记录集合可以是存储在同一个设备中,也可以是存储在不同的设备中。例如,源数据记录集合存储在每个应用对应的服务器中,而目标数据记录集合存储在数据湖中。数据湖是一个集中化的数据存储仓库。为了解决数据孤岛这一问题,可以通过数据湖进行数据共享,数据湖不但能存储任意类型的数据,还能控制数据访问权限,并在数据湖上做处理与分析,各个应用可以通过申请其他应用的数据表的访问权限,对数据上进行加工处理得到满足特定内部模式格式的数据副本。
步骤S204,基于源数据记录对应的源修改次数,以及目标数据记录对应的目标修改次数进行数据一致性核对,得到一致性核对结果。
本申请实施例中,数据一致性核对是为了确认源数据记录集合中的数据记录与目标数据记录集合中的数据记录是否是一致的,一致性核对结果可以是一致或者是不一致。
在一个实施例中,在进行一致性核对时,可以是将同一数据记录索引所对应的数据记录的源修改次数以及目标修改次数进行对比,若确定源修改次数与目标修改次数不一致,则说明同一数据记录索引所对应的数据记录在源数据端的修改次数与在目标数据端的修改次数不一致。
在一个实施例中,在进行一致性核对时,可以是确定源数据记录集合中与目标数据记录集合中,在同一最后修改时间段内,且修改次数相同的数据记录的数量是否一致,如果不一致,则说明该修改时间段所对应的数据记录是不一致的。例如,假设获取到源数据记录集合中,最后的修改时间为某日9点到10点之间,且修改次数为2次的数据记录的数量为20个,获取到目标数据记录集合中,最后的修改时间为某日9点到10点之间,且修改次数为2次的数据记录的数量为19个,则说明源数据记录集合中,修改时间为某日9点到10点之间,且修改次数为2次的数据记录中,至少有一个数据记录与目标数据记录集合的数据记录是不一致的。
在一个实施例中,可以是对特定修改类型的数据记录执行步骤S204,对其他修改类型的数据记录,则采用其他方式进行数据一致性核对。例如,对于新增类型的数据记录以及编辑类型的数据记录,则执行步骤S204,对于删除类型的数据记录,则可以基于同一修改时间段内源数据记录集合对应的已删除的数据记录数量,与目标数据记录集合对应的已删除的数据记录数量是否一致来确定同一时间段内删除的数据是否是一致的。新增类型的数据记录是指最后一次操作为新增的数据记录,编辑类型的数据记录是指最后一次操作为编辑的数据记录,删除类型的数据记录是指最后一次操作为删除的数据记录。
步骤S206,基于一致性核对结果得到所源数据记录集合与目标数据记录集合之间,存在差异的差异数据记录所对应的记录指示信息。
记录指示信息用于指示存在差异的数据记录的范围。可以是数据记录的索引,也可以包括时间范围以及修改次数的至少一个,例如记录指示信息可以是:源数据记录集合中,修改次数为3次,且修改时间范围为某日9点到10点的数据记录存在不一致的问题。可以理解,该记录指示信息所指向的范围内的数据记录,可以是全部都存在不一致的问题,也可以是部分存在不一致的问题。例如,可能是源数据记录集合中,修改次数为3次,且修改时间范围为某日9点到10点的数据记录中的某一个数据存在不一致的问题。
步骤S208,基于记录指示信息对目标数据记录集合进行数据同步,得到同步后的目标数据记录集合。
本申请实施例中,可以对记录指示信息所对应的数据记录进行数据同步,将源数据记录集合中,记录指示信息所指向的数据记录均进行同步,保证目标数据记录集合与源数据记录集合中的数据记录的一致性。举个例子,记录指示信息可以是:源数据记录集合中,修改次数为3次,且修改时间范围为某日9点到10点的数据记录存在不一致的问题,该记录指示信息对应的数据记录有20个,那么,即使该记录指示信息所指向的数据记录可能只有部分存在不一致性问题,例如是1个存在不一致的问题,也可以对这20个数据记录进行同步,从而无需将该时间范围内两个集合之间的每一条数据记录均进行一一对比。当然,可以是对该记录指示信息所对应的数据记录进行一一对比,以确定具体是哪条数据记录存在不一致的问题,并只对不一致的数据记录进行同步。
上述数据处理方法中,由于在数据记录中对应有修改次数,可以反映目标数据记录集合的数据记录的修改次数是否与源数据记录集合中对应的数据记录的修改次数一致,因此在数据核对时,基于源数据记录对应的源修改次数,以及目标数据记录对应的目标修改次数进行数据一致性核对,能够得到两个集合之间存在差异的差异数据记录的记录指示信息,从而提高了数据核对的效率,并可以基于记录指示信息对目标数据记录集合进行数据同步,保证了两个集合之间的数据的一致性。
在一个实施例中,源数据记录集合中的源数据记录对应有源数据修改时间,目标数据记录集合中的目标数据记录对应有目标数据修改时间,如图3所示,基于源数据记录对应的源修改次数,以及目标数据记录对应的目标修改次数进行数据一致性核对,得到一致性核对结果包括:
步骤S302,获取第一修改时间范围。
修改时间范围是指基于修改操作对数据记录进行最后一次修改的修改时间。修改操作可以为编辑操作、新增操作或者删除操作,第一修改时间范围所对应的时间长度可以根据需要设置,例如,在第一次获取第一修改时间范围时,可以是获取上一次进行数据同步时,所获取的操作记录日志所对应的修改时间范围,作为第一修改时间范围。
源数据记录对应的源数据修改时间是指源数据记录在基于修改操作进行修改的时间,目标记录修改时间是目标数据记录在进行同步时,所同步的源数据记录的最后一次修改时间。例如,对于记录索引为00001的数据记录,在源数据记录集合中的源数据记录最后一次修改的时间为某日9点32分06秒,倒数第二次修改的时间为某日8点30分02秒,而在最后一次同步时,该记录索引所对应的源数据记录并没有同步到对应的目标数据记录中。则源数据记录对应的源数据修改时间为某日9点32分06秒,目标数据记录对应的目标数据修改时间为某日8点30分02秒。
目标数据记录也可以是基于源数据记录的修改日志进行修改的,该修改日志中存储了修改操作的时间,当基于该修改日志对目标数据记录进行同步时,可以将该修改日志对应的时间作为目标数据记录对应的修改时间。
步骤S304,获取源数据记录集合对应的第一源记录数量,第一源记录数量为源数据记录集合中,源数据修改时间在第一修改时间范围内,且源修改次数为第一数值的源数据记录的数量;第一数值为新增数据记录对应的修改次数。
例如SEQ_NO=1表示该条记录是新增的记录,则第一数值为1。假设第一修改时间范围为某日9点到10点,则如果源数据记录集合中,有20条数据记录在某日9点到10点之间进行了修改,且修改后,SEQ_NO=1的源数据记录的数量有10条,则第一源记录数量为10。
步骤S306,获取目标数据记录集合对应的第一目标记录数量,第一目标记录数量为目标数据记录集合中,目标数据修改时间在第一修改时间范围内,且目标修改次数为第一数值的目标数据记录的数量。
假设第一修改时间范围为某日9点到10点,则如果目标数据记录集合中,有19条数据记录在某日9点到10点之间进行了修改,且修改后,SEQ_NO=1的目标数据记录的数量有9条,则第一目标记录数量为9。
步骤S308,基于第一源记录数量以及第一目标记录数量进行数据一致性核对,得到一致性核对结果。
本申请实施例中,可以确定第一源记录数量以及第一目标记录数量是否一致,如果不一致,则说明在源数据记录集合中,源数据修改时间在第一修改时间范围,且源修改次数为第一数值的源数据记录中,存在与目标数据记录不一致的源数据记录,需要基于该范围内的源数据记录或者该范围内的源数据记录对应的修改日志对目标数据记录进行同步。
本申请实施例中,对于最后一次执行的操作为新增操作的数据记录,通过第一数值为新增数据记录对应的修改次数,使得能够找到最后一次执行的操作为新增操作的数据记录,而基于修改时间范围所对应的数据记录数量的对比,能够确定该修改时间范围内源数据记录集合中与目标数据记录集合中的数据是否是一致的,节省了对该修改时间范围内的数据记录一一进行数据对比的时间,提高了数据核对效率。
在一个实施例中,数据处理方法还包括:当确定第一源记录数量与第一目标记录数量不一致时,对第一修改时间范围进行划分,得到多个子时间范围;将各个子时间范围分别作为更新后的第一修改时间范围,以基于更新后的第一修改时间范围继续进行数据一致性核对,直至满足核对停止条件;将停止核对时,所对应的第一源记录数量与第一目标记录数量不一致的第一修改时间范围作为存在差异的差异数据记录所在的时间范围;核对停止条件包括更新后的第一修改时间范围的长度小于长度阈值或者划分次数超过次数阈值的至少一个。
初始的第一修改时间范围是较大的时间范围,如果将第一修改时间范围内的数据记录均进行数据同步或者一一对比,则效率比较低,因此可以对时间范围进行切分,切分成更短时长的时间范围,继续采用步骤S302~S308的方式对该更短时长的时间范围的数据记录进行核对,直到满足核对停止条件。对于一致的第一源记录数量以及第一目标记录数量,则确认该修改时间范围内的数据记录是一致的,不对该时间范围继续进行划分,也不继续进行核对。而如果不一致,则继续进行划分以及核对。
其中划分方式可以是二分法,例如假设初始的第一修改时间范围为某日9点到11点,则划分时,可以划分为某日9点到10点、某日10点到11点这两个子范围。然后确定这两个子范围内,修改次数为1的第一源记录数量以及第一目标记录数量。如果某日9点到10点,且修改次数为1的第一源记录数量以及第一目标记录数量不一致,则可以继续对某日9点到10点这一时间范围进行继续划分。当划分到某日9点到9点15分时,如果9点到9点15分的时间长度小于长度阈值或者划分次数超过次数阈值,则可以将9点到9点15分这一时间范围,且修改次数为1次的数据记录集合,作为差异数据记录所在的数据记录集合。
本申请实施例中,通过对第一源记录数量与第一目标记录数量不一致的第一修改时间范围进行划分并继续执行核对流程,能够减少记录指示信息所对应的数据记录的数量,从而减少基于记录指示信息对目标数据记录集合进行数据同步,得到同步后的目标数据记录集合的时间。
在一个实施例中,基于源数据记录对应的源修改次数,以及目标数据记录对应的目标修改次数进行数据一致性核对,得到一致性核对结果包括:当同一目标记录索引所对应的源修改次数与目标修改次数不一致时,将目标记录索引加入到数据差异索引集合中;将数据差异索引集合中各个目标数据记录索引所对应的数据记录作为存在差异的差异数据记录。
本申请实施例中,记录索引是数据记录的索引,可以获取每一个记录索引,获取该记录索引所对应的源数据记录的源修改次数,该记录索引所对应的目标据记录的目标修改次数,如果源修改次数与目标修改次数不一致,则将该目标记录索引加入到数据差异索引集合中。数据差异索引集合中的索引所对应的数据记录在源数据记录集合中与目标数据记录集合中的信息是不一致的,即存在差异。例如源数据记录中的指标数据的数值由100改为50,而目标数据记录中的指标数据的数值依旧为100。
本申请实施例中,通过比较同一目标记录索引所对应的源修改次数与目标修改次数,能够确定源数据集合中与目标数据集合中修改不一致的数据记录,从而能够快速定位具体的不一致的数据记录有哪些,提高核对的准确度。
在一个实施例中,目标数据记录集合是基于源数据记录集合对应的操作日志序列进行同步得到的,如图4所示,数据处理方法还包括以下步骤:
步骤S402,获取源数据记录集合所对应的操作日志记录序列。
源数据记录集合所对应的操作日志记录序列是对源数据集合中的数据记录进行操作的操作日志记录。操作日志记录序列按照操作时间进行排序。
步骤S404,基于操作日志记录序列所对应的修改操作类型在操作日志记录序列的各个操作日志记录中增加对应的操作类型标识。
操作类型标识可以用于标识该操作的类型,例如可以给每个修改日志记录序列的每个日志记录中新增op_type字段以及op_ts字段,op_type表示操作的类型,op_type=I表示操作日志记录为新增,op_type=U表示操作日志记录为编辑,op_type=D表示操作日志记录为删除;op_ts字段标注每条记录的修改时间戳,该修改时间戳可以精确到秒级别。
步骤S406,基于操作日志记录序列进行数据同步,得到目标数据记录集合。
在得到操作日志记录序列之后,服务器可以基于操作日志记录序列对目标数据端存储的数据进行同步操作,得到目标数据记录集合。
在一个实施例中,可以将操作日志记录序列发送到消息队列中,例如kafka消息队列中,消息队列中根据操作日志记录序列中的各个操作日志记录对应的操作时间的先后顺序,生成操作日志对应的偏移值(offset),其中操作时间越前,则偏移值越小。当根据消息队列的顺序获取操作日志进行数据同步时,则可以先获取偏移值小的操作日志进行同步。通过本申请实施例,可以使得在数据同步时,是按照操作日志的时间先后顺序进行同步操作的,从而可以提高同步的准确性。
在一个实施例中,当同一目标记录索引所对应的源修改次数与目标修改次数不一致时,将目标记录索引加入到数据差异索引集合中包括:确定对应的操作类型标识为编辑类型标识的操作日志记录所对应的数据记录索引,作为目标记录索引;当目标记录索引所对应的源修改次数与目标修改次数不一致时,将目标记录索引加入到数据差异索引集合中。
以将源数据端的数据同步至数据湖为例,在基于修改日志序列进行数据同步时,可以生成增量数据文件,将操作类型标识为编辑类型标识的操作日志记录所对应的数据索引写入到增量数据文件中,对比增量数据文件中的数据索引在源数据端对应的源数据记录的源修改次数,与在目标数据端对应的目标数据记录的目标修改次数是否一致,如果不一致,则将该目标数据索引写入到B数据表中,该数据表用于记录数据差异索引集合。
本申请实施例中,当数据记录的最后一次操作为编辑时,才执行当目标记录索引所对应的源修改次数与目标修改次数不一致时,将目标记录索引加入到数据差异索引集合中。从而能够有针对性的针对执行了编辑操作的数据记录进行数据一致性核对,而对删除操作以及新增操作所对应的数据记录采用其他方式进行数据一致性核对,提高了数据核对的灵活性。
在一个实施例中,目标数据记录集合是基于源数据记录集合对应的操作日志序列进行同步得到的,方法还包括:获取目标数据记录集合对应的目标删除记录数量,目标删除记录数量为第二修改时间范围内,目标数据记录集合对应的基于删除操作日志所删除的数据记录数量;获取源数据记录集合对应的源删除记录数量,源删除记录数量为第二修改时间范围内,源数据记录集合对应的已删除的数据记录数量;当目标删除记录数量与源删除记录数量不一致,则确定第二修改时间范围对应的数据一致性核对结果为存在差异数据记录。
对于删除类的数据记录,以将源数据端的数据同步至数据湖为例,在基于源数据记录集合对应的操作日志序列进行同步时,数据湖端对操作类型为删除的记录进行删除,并将删除的记录记录数据表C中,并在数据表C中记录删除操作在日志记录中的时间,作为修改时间。为核对删除记录的数据一致性,统计修改时间范围为某一段时间区间内C表的记录数,作为目标删除记录数量;统计相同修改时间段内,源数据端数据记录的减少数量,作为源删除记录数量,比较目标删除记录数量与源删除记录数量是否一致,来确定在该第二修改时间范围内两个数据记录集合所删除的数据记录是否一致,如果不一致,则第二修改时间范围对应的数据一致性核对结果为存在差异数据记录。对于该第二修改时间范围内所删除的数据记录,则可以根据对应的数据索引在目标数据记录集合中再次进行删除,并在数据表C中删除该数据索引,表示已经在数据湖端再次进行删除,从而保证源数据端与数据湖端的数据的一致性。
在一个实施例中,也可以对第二修改时间范围进行切分,例如采用二分法切换为更小的时间范围,然后采用上述对于删除类的数据记录进行数据一致性核对的方式继续进行数据核对,直至核对停止条件,将核对停止时目标删除记录数量与源删除记录数量不一致的修改时间段作为存在差异的差异数据记录所在的时间范围。
本申请实施例提供的方法可以应用于将源数据端的数据同步至数据湖,随着一个企业需入湖的应用较多,需要入湖的表越来越多,不同应用表结构复杂程度不同,例如有些需要入湖的数据表中的字段较多,表数据量较为巨大,为避免从源应用对应的服务器将数据同步到数据湖的过程中,因网络不稳定或者其他原因,导致消息队列中的操作日志丢失,从而导致数据不一致的问题,提出一种可以快速找到从源应用同步到数据湖这一过程中,源端数据与目标数据湖不一致的记录,并让不一致的记录快速重新落库到数据湖,进而快速核对入湖数据,提高企业入湖效率的方案。
以下以将源数据端的数据同步至数据湖为例,对本申请实施例提供的数据处理方法进行说明,包括以下步骤:
1、获取源数据记录集合所对应的操作日志记录序列;
源数据端中的源数据记录集合可以是在mysql数据库中存储的,源数据端每张表对应有技术字段SEQ_NO,该字段用于标志每张表中每条记录的修改次数,例如,SEQ_NO=1表示该条记录是新增记录;SEQ_NO>1表示该条记录是修改记录,mysql数据库中的数据记录接收到新增操作、编辑操作或者删除操作,mysql数据库中的数据记录相应变更,mysql的日志(log)记录了对数据库中表的操作,日志解析平台可以将mysql中log记录的日志解析成一条条记录,形成操作日志记录序列。
2、基于操作日志记录序列所对应的修改操作类型在操作日志记录序列的各个操作日志记录中增加对应的操作类型标识。
数据复制平台给每条操作记录中新增op_type字段以及op_ts字段。op_type=I记录表示新增操作,op_type=U表示编辑操作,op_type=D记表示删除操作。op_ts字段标注每条操作日志记录的修改时间戳。
3、基于操作日志记录序列进行数据同步,得到目标数据记录集合。
分布式消息服务平台接收数据复制平台发送的操作日志记录序列,并将每条操作日志记录记录转化成kafka消息队列,数据湖端通过消费kafka消息队列将数据同步到数据湖。
通过上述步骤可以将mysql的数据表同步到数据湖,但是在数据同步过程中,可能因网络不稳定等原因发生消息丢失的情况,导致数据不一致,为快速找到源数据端与目标数据湖不一致的记录,并让不一致的记录快速同步到数据湖,可以继续执行步骤4。
4、获取源数据记录集合以及目标数据记录集合;
可以由大数据加工服务平台执行获取源数据记录集合以及目标数据记录集合的步骤,大数据加工服务平台是一种是数据加工以及核对工具,可以实现对数据湖表中的数据记录进行加工处理并导出为文件的功能。
5、基于源数据记录对应的源修改次数,以及目标数据记录对应的目标修改次数进行数据一致性核对,得到一致性核对结果。
对于编辑操作类型、删除操作类型以及新增操作类型可以采用不同的核对方式。
对于新增操作类型,可以通过比较相同修改时间段内,源数据端与数据湖端的数据记录数量,若发现相同时间内两者数据记录数量不一致,可以采用二分法进行时间范围划分,查找发生不一致的较小时间分区,以缩小寻找范围,最终将不一致数据精确到15分钟内的数据或者更小时间范围区间内,取出源数据端以及数据湖端在该较小时间分区中的全部记录进行一一比较,找出差异记录,在源数据端更新差异记录的更新时间,通过准实时入湖链路重新消费操作记录以将数据记录入湖,即将数据同步至数据湖中。
对于编辑操作类型,加载mysql生成的增量文件RECORD_FILE,将增量的数据记录加载到大数据加工平台的增量文件表A中;在大数据加工服务平台新建一张记录数据湖端与源数据端数据不一致的表B,B表中需登记数据湖端与源数据端不一致数据记录的唯一索引信息,,即登记数据记录的索引;然后可以在大数据加工平台上获取核对脚本,通过核对脚本将A表中的每条数据记录的SEQ_NO字段值,与数据湖端表中对应数据记录的SEQ_NO字段的值做比对,如果一条数据记录在A表中的SEQ_NO字段与数据湖中同一条数据记录的SEQ不一致,将数据湖该条记录的唯一索引值插入到B表中,可以每日定时检查B表中记录数,若记录数大于0,则根据唯一索引,再次更新源数据端相应表更新差异记录的更新时间,通过准实时入湖链路重新消费操作记录,以将数据记录入湖,即将数据同步至数据湖中。
对于删除操作类型,数据湖端对源数据端表中同步过来要做删除的记录做删除,并将删除的记录单独登记为表C。为核对删除记录的数据一致性,数据湖端根据修改时间戳op_ts,统计时间范围较大某一段时间区间内C表的记录数;源数据端统计与数据湖端相同时间段内,表中记录的减少数量;比较相同时间段内数据湖端与源数据端删除的记录数是否一致。如果不一致,则用二分法,查找具体什么时间段内记录不一致,精确到15分钟内的数据或者更小时间范围区间内,取出源数据端以及数据湖端较小时间分区内全部记录做比较,找出差异记录,对数据湖的数据表中未删除的记录进行删掉操作,并在C表中登记一条被删除的记录。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据处理方法的数据处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据处理装置实施例中的具体限定可以参见上文中对于数据处理方法的限定,在此不再赘述。
在一个实施例中,如图5所示,提供了一种数据处理装置,包括:
记录集合获取模块502,用于获取源数据记录集合以及目标数据记录集合;所述目标数据记录集合是基于所述源数据记录集合进行数据同步得到的;所述源数据记录集合中的源数据记录对应有源修改次数,所述目标数据记录集合中的目标数据记录对应有目标修改次数;
一致性核对模块504,用于基于所述源数据记录对应的源修改次数,以及所述目标数据记录对应的目标修改次数进行数据一致性核对,得到一致性核对结果;
记录指示信息得到模块506,用于基于所述一致性核对结果得到所源数据记录集合与所述目标数据记录集合之间,存在差异的差异数据记录所对应的记录指示信息;
第一同步模块508,用于基于所述记录指示信息对所述目标数据记录集合进行数据同步,得到同步后的目标数据记录集合。
在其中一个实施例中,所述源数据记录集合中的源数据记录对应有源数据修改时间,所述目标数据记录集合中的目标数据记录对应有目标数据修改时间;所述一致性核对模块,用于:获取第一修改时间范围;获取所述源数据记录集合对应的第一源记录数量,所述第一源记录数量为所述源数据记录集合中,源数据修改时间在第一修改时间范围内,且源修改次数为第一数值的源数据记录的数量;所述第一数值为新增数据记录对应的修改次数;获取所述目标数据记录集合对应的第一目标记录数量,所述第一目标记录数量为所述目标数据记录集合中,目标数据修改时间在第一修改时间范围内,且目标修改次数为所述第一数值的目标数据记录的数量;基于第一源记录数量以及第一目标记录数量进行数据一致性核对,得到一致性核对结果。
在其中一个实施例中,所述装置还包括:划分模块,用于当确定第一源记录数量与所述第一目标记录数量不一致时,对所述第一修改时间范围进行划分,得到多个子时间范围;继续核对模块,用于将各个所述子时间范围分别作为更新后的第一修改时间范围,以基于更新后的第一修改时间范围继续进行数据一致性核对,直至满足核对停止条件;时间范围得到模块,用于将停止核对时,所对应的第一源记录数量与第一目标记录数量不一致的第一修改时间范围作为存在差异的差异数据记录所在的时间范围;所述核对停止条件包括更新后的第一修改时间范围的长度小于长度阈值或者划分次数超过次数阈值的至少一个。
在其中一个实施例中,所述一致性核对模块,用于:当同一目标记录索引所对应的源修改次数与目标修改次数不一致时,将所述目标记录索引加入到数据差异索引集合中;所述数据差异索引集合中各个目标数据记录索引所对应的数据记录作为存在差异的差异数据记录。
在其中一个实施例中,所述装置还包括:操作日志记录序列获取模块,用于获取所述源数据记录集合所对应的操作日志记录序列;操作类型标识增加模块,用于基于所述操作日志记录序列所对应的修改操作类型在所述操作日志记录序列的各个操作日志记录中增加对应的操作类型标识;第二同步模块,用于基于所述操作日志记录序列进行数据同步,得到所述目标数据记录集合;所述当同一目标记录索引所对应的源修改次数与目标修改次数不一致时,将所述目标记录索引加入到数据差异索引集合中包括:确定对应的操作类型标识为编辑类型标识的操作日志记录所对应的数据记录索引,作为目标记录索引;当所述目标记录索引所对应的源修改次数与目标修改次数不一致时,将所述目标记录索引加入到数据差异索引集合中。
在其中一个实施例中,所述目标数据记录集合是基于所述源数据记录集合对应的操作日志序列进行同步得到的,所述装置还包括:目标删除记录数量获取模块,用于获取所述目标数据记录集合对应的目标删除记录数量,所述目标删除记录数量为第二修改时间范围内,所述目标数据记录集合对应的基于删除操作日志所删除的数据记录数量;源删除记录数量获取模块,用于获取所述源数据记录集合对应的源删除记录数量,所述源删除记录数量为所述第二修改时间范围内,所述源数据记录集合对应的已删除的数据记录数量;差异数据记录确定模块,用于当所述目标删除记录数量与所述源删除记录数量不一致,则确定所述第二修改时间范围对应的数据一致性核对结果为存在差异数据记录。
上述数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储XX数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取源数据记录集合以及目标数据记录集合;所述目标数据记录集合是基于所述源数据记录集合进行数据同步得到的;所述源数据记录集合中的源数据记录对应有源修改次数,所述目标数据记录集合中的目标数据记录对应有目标修改次数;基于所述源数据记录对应的源修改次数,以及所述目标数据记录对应的目标修改次数进行数据一致性核对,得到一致性核对结果;基于所述一致性核对结果得到所源数据记录集合与所述目标数据记录集合之间,存在差异的差异数据记录所对应的记录指示信息;基于所述记录指示信息对所述目标数据记录集合进行数据同步,得到同步后的目标数据记录集合。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取源数据记录集合以及目标数据记录集合;所述目标数据记录集合是基于所述源数据记录集合进行数据同步得到的;所述源数据记录集合中的源数据记录对应有源修改次数,所述目标数据记录集合中的目标数据记录对应有目标修改次数;基于所述源数据记录对应的源修改次数,以及所述目标数据记录对应的目标修改次数进行数据一致性核对,得到一致性核对结果;基于所述一致性核对结果得到所源数据记录集合与所述目标数据记录集合之间,存在差异的差异数据记录所对应的记录指示信息;基于所述记录指示信息对所述目标数据记录集合进行数据同步,得到同步后的目标数据记录集合。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:获取源数据记录集合以及目标数据记录集合;所述目标数据记录集合是基于所述源数据记录集合进行数据同步得到的;所述源数据记录集合中的源数据记录对应有源修改次数,所述目标数据记录集合中的目标数据记录对应有目标修改次数;基于所述源数据记录对应的源修改次数,以及所述目标数据记录对应的目标修改次数进行数据一致性核对,得到一致性核对结果;基于所述一致性核对结果得到所源数据记录集合与所述目标数据记录集合之间,存在差异的差异数据记录所对应的记录指示信息;基于所述记录指示信息对所述目标数据记录集合进行数据同步,得到同步后的目标数据记录集合。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
获取源数据记录集合以及目标数据记录集合;所述目标数据记录集合是基于所述源数据记录集合进行数据同步得到的;所述源数据记录集合中的源数据记录对应有源修改次数,所述目标数据记录集合中的目标数据记录对应有目标修改次数;
基于所述源数据记录对应的源修改次数,以及所述目标数据记录对应的目标修改次数进行数据一致性核对,得到一致性核对结果;
基于所述一致性核对结果得到所源数据记录集合与所述目标数据记录集合之间,存在差异的差异数据记录所对应的记录指示信息;
基于所述记录指示信息对所述目标数据记录集合进行数据同步,得到同步后的目标数据记录集合。
2.根据权利要求1所述的方法,其特征在于,所述源数据记录集合中的源数据记录对应有源数据修改时间,所述目标数据记录集合中的目标数据记录对应有目标数据修改时间;所述基于所述源数据记录对应的源修改次数,以及所述目标数据记录对应的目标修改次数进行数据一致性核对,得到一致性核对结果包括:
获取第一修改时间范围;
获取所述源数据记录集合对应的第一源记录数量,所述第一源记录数量为所述源数据记录集合中,源数据修改时间在第一修改时间范围内,且源修改次数为第一数值的源数据记录的数量;所述第一数值为新增数据记录对应的修改次数;
获取所述目标数据记录集合对应的第一目标记录数量,所述第一目标记录数量为所述目标数据记录集合中,目标数据修改时间在第一修改时间范围内,且目标修改次数为所述第一数值的目标数据记录的数量;
基于第一源记录数量以及第一目标记录数量进行数据一致性核对,得到一致性核对结果。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当确定第一源记录数量与所述第一目标记录数量不一致时,对所述第一修改时间范围进行划分,得到多个子时间范围;
将各个所述子时间范围分别作为更新后的第一修改时间范围,以基于更新后的第一修改时间范围继续进行数据一致性核对,直至满足核对停止条件;
将停止核对时,所对应的第一源记录数量与第一目标记录数量不一致的第一修改时间范围作为存在差异的差异数据记录所在的时间范围;
所述核对停止条件包括更新后的第一修改时间范围的长度小于长度阈值或者划分次数超过次数阈值的至少一个。
4.根据权利要求1所述的方法,其特征在于,所述基于所述源数据记录对应的源修改次数,以及所述目标数据记录对应的目标修改次数进行数据一致性核对,得到一致性核对结果包括:
当同一目标记录索引所对应的源修改次数与目标修改次数不一致时,将所述目标记录索引加入到数据差异索引集合中;
所述数据差异索引集合中各个目标数据记录索引所对应的数据记录作为存在差异的差异数据记录。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取所述源数据记录集合所对应的操作日志记录序列;
基于所述操作日志记录序列所对应的修改操作类型在所述操作日志记录序列的各个操作日志记录中增加对应的操作类型标识;
基于所述操作日志记录序列进行数据同步,得到所述目标数据记录集合;
所述当同一目标记录索引所对应的源修改次数与目标修改次数不一致时,将所述目标记录索引加入到数据差异索引集合中包括:
确定对应的操作类型标识为编辑类型标识的操作日志记录所对应的数据记录索引,作为目标记录索引;
当所述目标记录索引所对应的源修改次数与目标修改次数不一致时,将所述目标记录索引加入到数据差异索引集合中。
6.根据权利要求1所述的方法,其特征在于,所述目标数据记录集合是基于所述源数据记录集合对应的操作日志序列进行同步得到的,所述方法还包括:
获取所述目标数据记录集合对应的目标删除记录数量,所述目标删除记录数量为第二修改时间范围内,所述目标数据记录集合对应的基于删除操作日志所删除的数据记录数量;
获取所述源数据记录集合对应的源删除记录数量,所述源删除记录数量为所述第二修改时间范围内,所述源数据记录集合对应的已删除的数据记录数量;
当所述目标删除记录数量与所述源删除记录数量不一致,则确定所述第二修改时间范围对应的数据一致性核对结果为存在差异数据记录。
7.一种数据处理装置,其特征在于,所述装置包括:
记录集合获取模块,用于获取源数据记录集合以及目标数据记录集合;所述目标数据记录集合是基于所述源数据记录集合进行数据同步得到的;所述源数据记录集合中的源数据记录对应有源修改次数,所述目标数据记录集合中的目标数据记录对应有目标修改次数;
一致性核对模块,用于基于所述源数据记录对应的源修改次数,以及所述目标数据记录对应的目标修改次数进行数据一致性核对,得到一致性核对结果;
记录指示信息得到模块,用于基于所述一致性核对结果得到所源数据记录集合与所述目标数据记录集合之间,存在差异的差异数据记录所对应的记录指示信息;
第一同步模块,用于基于所述记录指示信息对所述目标数据记录集合进行数据同步,得到同步后的目标数据记录集合。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111463441.1A CN114138907A (zh) | 2021-12-02 | 2021-12-02 | 数据处理方法、计算机设备、存储介质和计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111463441.1A CN114138907A (zh) | 2021-12-02 | 2021-12-02 | 数据处理方法、计算机设备、存储介质和计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114138907A true CN114138907A (zh) | 2022-03-04 |
Family
ID=80387390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111463441.1A Pending CN114138907A (zh) | 2021-12-02 | 2021-12-02 | 数据处理方法、计算机设备、存储介质和计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114138907A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114867046A (zh) * | 2022-07-06 | 2022-08-05 | 深圳市乙辰科技股份有限公司 | 无线网络设备固件更新方法和无线网络设备 |
CN115544048A (zh) * | 2022-11-29 | 2022-12-30 | 福建慧政通信息科技有限公司 | 一种监督数据变化的方法及终端 |
CN116436836A (zh) * | 2023-06-13 | 2023-07-14 | 阿里巴巴(中国)有限公司 | 域名数据同步检测方法、装置及设备 |
-
2021
- 2021-12-02 CN CN202111463441.1A patent/CN114138907A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114867046A (zh) * | 2022-07-06 | 2022-08-05 | 深圳市乙辰科技股份有限公司 | 无线网络设备固件更新方法和无线网络设备 |
CN115544048A (zh) * | 2022-11-29 | 2022-12-30 | 福建慧政通信息科技有限公司 | 一种监督数据变化的方法及终端 |
CN116436836A (zh) * | 2023-06-13 | 2023-07-14 | 阿里巴巴(中国)有限公司 | 域名数据同步检测方法、装置及设备 |
CN116436836B (zh) * | 2023-06-13 | 2023-09-01 | 阿里巴巴(中国)有限公司 | 域名数据同步检测方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11314701B2 (en) | Resharding method and system for a distributed storage system | |
CN114138907A (zh) | 数据处理方法、计算机设备、存储介质和计算机程序产品 | |
CN106570086B (zh) | 数据迁移系统及数据迁移方法 | |
US8195606B2 (en) | Batch data synchronization with foreign key constraints | |
WO2021017422A1 (zh) | 一种块链式账本中的索引创建方法、装置及设备 | |
CN110287251B (zh) | MongoDB到HBase的分布式高容错数据实时同步方法 | |
US20220253419A1 (en) | Multi-record index structure for key-value stores | |
CN110019512A (zh) | 一种数据处理方法及装置 | |
CN115168499B (zh) | 数据库表的分片方法、装置、计算机设备和存储介质 | |
CN110879812B (zh) | 一种电商平台中基于spark的数据同步方法 | |
CN113515518A (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN115858471A (zh) | 业务数据变更记录方法、装置、计算机设备及介质 | |
CN115878592A (zh) | 一种政务数据治理方法、装置、存储介质及电子设备 | |
CN113360571A (zh) | 基于特征标记的电网监控系统内存库关系库同步方法 | |
CN115168409B (zh) | 数据库分表的数据查询方法、装置和计算机设备 | |
CN115115433B (zh) | 订单数据处理方法、装置、计算机设备和存储介质 | |
CN117131023B (zh) | 数据表处理方法、装置、计算机设备和可读存储介质 | |
CN116414902B (zh) | 一种快速数据源接入方法 | |
CN115756960B (zh) | 误操作数据恢复方法、装置、计算机设备与存储介质 | |
CN111522897B (zh) | 一种ArcSDE、File GDB文件地理数据库间的空间数据增量同步方法 | |
CN112948485B (zh) | 问答数据的同步方法、装置、系统、服务器及存储介质 | |
CN114647630A (zh) | 文件同步、信息生成方法、装置、计算机设备和存储介质 | |
CN117290350A (zh) | 数据同步方法、装置、计算机设备、存储介质和程序产品 | |
CN116595002A (zh) | 数据库同步一致性的快速比对方法及系统 | |
CN118151988A (zh) | 工程库对比方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |