CN116089527A - 一种数据校验方法、存储介质与设备 - Google Patents
一种数据校验方法、存储介质与设备 Download PDFInfo
- Publication number
- CN116089527A CN116089527A CN202211677448.8A CN202211677448A CN116089527A CN 116089527 A CN116089527 A CN 116089527A CN 202211677448 A CN202211677448 A CN 202211677448A CN 116089527 A CN116089527 A CN 116089527A
- Authority
- CN
- China
- Prior art keywords
- checked
- tables
- data
- slicing
- data verification
- 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/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据库领域,特别是涉及一种数据校验方法、存储介质与设备。该数据校验方法包括获取多个待校验表和各个待校验表的参数信息;根据各个待校验表的参数信息对多个待校验表进行处理,并生成待校验的顺序队列;针对待校验的顺序队列执行数据校验操作。本发明的数据校验方法预先按照各个待校验表的参数信息对多个待校验表进行排序,实现了在进行数据校验的过程中根据待校验表的重要程度进行分批比对,避免了重要数据的校验结果输出不及时的问题,保障了数据校验的及时性和准确性。
Description
技术领域
本发明涉及数据库领域,特别是涉及一种数据校验方法、存储介质与设备。
背景技术
在利用数据同步软件进行数据实时同步时分为三个阶段:第一阶段进行存量数据的初始化装载,获得数据同步的基础点;第二阶段以初始化数据装载建立的同步基础点为基准进行增量数据同步;第三阶段定期对数据同步的源端数据和目标数据进行比对校验,以确认在数据同步过程中没有丢失数据。其中第二阶段和第三阶段会处于长时间并行状态。
在第二阶段进行增量数据同步时,通过分析数据库日志获取增量数据,从而实现数据实时同步是一种常用的实时数据复制技术。这种技术通过解析源数据库的在线日志或者归档日志,获得数据的增删改变化,再将这些变化以事务为单位转换为同步软件内部特定的消息格式,通过数据同步软件的私有传输协议发送到目标端数据同步软件,最后目标端同步软件将获取到的事务日志恢复成目标数据库支持的SQL语句并在目标端数据库上执行,来实现数据的实时同步,进而保持源端和目标数据库的数据一致性。
在第三阶段的运行过程中,采用的校验方法通常是:分别从源端数据库和目标端数据库中查询一张表数据到内存当中,然后再内存中使用特定的算法进行校验。如此循环,直到将所有要比对的表都比对完后为止。
然而,现有的数据校验方法虽然可以从功能上达到表数据校验的要求,但随着业务的增长,校验的表数量以及其中的数据条数都会逐渐增大。并且由于用户业务的需求,某些业务表中不存在主键标识,加之对这些表的频繁使用,会造成部分表的单表数据量过大(通常能达到百GB级别)。这些无主键的表以及数据量过大的表的存在就会导致数据校验过程所耗的时间明显增加,而使用者恰恰通常不关注这些无主键并且数据量较大的表的数据一致状态,从而导致了使用者迟迟无法得到想要关注的表的数据差异状态,从而无法保证数据校验的及时性或准确性。
发明内容
本发明的一个目的是要提供一种能够解决上述任一问题的数据校验方法、存储介质与设备。
本发明一个进一步的目的是要提升数据校验的及时性或准确性。
本发明另一个进一步的目的是要提升数据校验的效率。
特别地,本发明提供了一种数据校验方法,该数据校验方法包括:
获取多个待校验表和各个待校验表的参数信息;
根据各个待校验表的参数信息对多个待校验表进行处理,并生成待校验的顺序队列;
针对待校验的顺序队列执行数据校验操作。
可选地,待校验表的参数信息包括待校验表的数据量、用于标识待校验表有无主键的属性信息以及用于标识待校验表是否需要分片的标识信息;且
根据各个待校验表的参数信息对多个待校验表进行处理,并生成待校验的顺序队列的步骤包括:
根据各个待校验表的数据量和属性信息对多个待校验表进行排序,以生成优先级队列;
根据标识信息获取优先级队列中需要分片的待校验表;
对需要分片的待校验表进行分片处理,并将分片处理后的待校验表移至优先级队列的尾部,以生成待校验的顺序队列。
可选地,根据各个待校验表的数据量和属性信息对多个待校验表进行排序的步骤包括:
根据各个待校验表的数据量和属性信息,标记各个待校验表的优先级;
根据各个待校验表的优先级,对多个待校验表进行排序。
可选地,根据各个待校验表的数据量和属性信息,标记各个待校验表的优先级的步骤包括:
将待校验表的数据量与预设的数据量阈值进行比对,并根据比对结果调整待校验表的优先级;以及
根据属性信息判断待校验表有无主键;
若无,则降低待校验表的优先级。
可选地,对需要分片的待校验表进行分片处理,并将分片处理后的待校验表移至优先级队列的尾部,以生成待校验的顺序队列的步骤包括:
以预设的分片算法对需要分片的待校验表进行分片处理,以得到多个小表;
将需要分片的待校验表从优先级队列中移除;
将多个小表依次放入优先级队列的尾部,并将每个小表作为一个待校验表,以生成待校验的顺序队列。
可选地,以预设的分片算法对需要分片的待校验表进行分片,以得到多个小表的步骤包括:
获取预设的与需要分片的待校验表对应的分片基准;
根据分片基准,对需要分片的待校验表进行分片,以得到多个小表。
可选地,针对待校验的顺序队列执行数据校验操作的步骤包括:
根据预设的并行数,从待校验的顺序队列中依次取出与并行数相同数量的待校验表;
对各组与并行数相同数量的待校验表分别进行并行比对。
可选地,在针对待校验的顺序队列执行数据校验操作的步骤之后,数据校验方法还包括:
将校验结果存储到元信息库。
根据本发明的另一方面,还提供了一种机器可读存储介质,其上存储有机器可执行程序,机器可执行程序被处理器执行时实现上述任一种的数据校验方法。
根据本发明的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的机器可执行程序,并且处理器执行机器可执行程序时实现上述任一种的数据校验方法。
本发明的数据校验方法通过获取多个待校验表和各个待校验表的参数信息,根据各个待校验表的参数信息对多个待校验表进行处理,并生成待校验的顺序队列,以及针对待校验的顺序队列执行数据校验操作,实现了预先按照各个待校验表的参数信息对多个待校验表进行排序,从而在进行数据校验的过程中可以根据待校验表的重要程度进行分批比对,保障了数据校验的及时性和准确性,从而提高了数据同步软件的同步性能。
本发明的数据校验方法的待校验表的参数信息包括待校验表的数据量、用于标识待校验表有无主键的属性信息以及用于标识待校验表是否需要分片的标识信息。并且本发明通过根据各个待校验表的数据量和属性信息对多个待校验表进行第一次排序,以生成优先级队列,再通过根据标识信息获取优先级队列中需要分片的待校验表,对需要分片的待校验表进行分片处理,并在完成分片处理后,对所有待校验表进行第二次排序,实现了待校验的顺序队列的生成。本发明的数据校验方法通过第一次排序,实现了对用户所关心的重要数据先进行校验,并对用户不关心或不重要的数据后进行校验,进一步保障了数据校验的及时性和准确性,还通过分片处理,将一个数据量较大的待校验表分为多个小的待校验表,并进行并行比对,极大地提高了单个数据量较大的待校验表的比对效率,从而进一步提高了数据同步软件的同步性能。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1是根据本发明一个实施例的数据校验方法的示意流程图;
图2根据本发明一个实施例的数据校验方法的应用场景示意图;
图3是根据本发明一个实施例的数据校验方法的流程示意图;
图4是根据本发明一个实施例的机器可读存储介质的示意图;以及
图5是根据本发明一个实施例的计算机设备的示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本发明的范围完整的传达给本领域的技术人员。
为解决上述技术问题,本发明实施例提出一种预写式日志的处理方法。图1是根据本发明一个实施例的数据校验方法的示意流程图。图2根据本发明一个实施例的数据校验方法的应用场景示意图。如图1所示,本实施例的数据校验方法一般性地可包括:
步骤S102,获取多个待校验表和各个待校验表的参数信息。
步骤S104,根据各个待校验表的参数信息对多个待校验表进行处理,并生成待校验的顺序队列。
步骤S106,针对待校验的顺序队列执行数据校验操作。
在上述步骤S102中,多个待校验表可以为由用户预先选择确定的全部待校验表。各个待校验表的参数信息包括待校验表的数据量、用于标识待校验表有无主键的属性信息以及用于标识待校验表是否需要分片的标识信息。具体地,待校验表的数据量和属性信息均是仅与待校验表的数据相关的参数信息,并且均可以通过JDBC依次获取得到。如图2所示,数据库的待校验表可以包括表A、表B、表C、表D和表E,其中,表A的数据量为100W行,表B的数据量为200W行,表C的数据量为300W行,表D的数据量为2W行,表E的数据量为1W行,并且表A、表D和表E的属性信息均为有主键表,B和表C的属性信息均为无主键。待校验表的标识信息可以根据用户预先对需要分片的待校验表进行选定的操作得到并预先存储在数据库中。另外,待校验表的数据量、属性信息以及标识信息分别与待校验表一一对应。
在上述步骤S104中,待校验的顺序队列是由多个待校验表按照一定的先后顺序排列而成的队列。
上述步骤S106可以包括以下步骤:根据预设的并行数,从待校验的顺序队列中依次取出与并行数相同数量的待校验表;对各组与并行数相同数量的待校验表分别进行并行比对。也就是说,在上述步骤S106中,校验执行器先从待校验的顺序队列中拿出指定数量的待校验表,这里的指定数量即为预设的并行数,再对指定数量的待校验表进行数据校验。
另外,在上述步骤S106之后,本实施例的数据校验方法还可以包括以下步骤:将校验结果存储到元信息库。具体地,在对每张待校验表完成数据校验之后,将校验结果写出到元信息库中,以完成数据校验过程。
本实施例的数据校验方法通过获取多个待校验表和各个待校验表的参数信息,根据各个待校验表的参数信息对多个待校验表进行处理,并生成待校验的顺序队列,以及针对待校验的顺序队列执行数据校验操作,实现了预先按照各个待校验表的参数信息对多个待校验表进行排序,从而在进行数据校验的过程中可以根据待校验表的重要程度进行分批比对,保障了数据校验的及时性和准确性,从而提高了数据同步软件的同步性能。
在一些实施例中,上述步骤S104可以包括以下步骤:根据各个待校验表的数据量和属性信息对多个待校验表进行排序,以生成优先级队列;根据标识信息获取优先级队列中需要分片的待校验表;对需要分片的待校验表进行分片处理,并将分片处理后的待校验表移至优先级队列的尾部,以生成待校验的顺序队列。也就是说,在上述步骤S104中,本实施例的数据校验方法一共进行了两次排序。首先,本实施例的数据校验方法根据各个待校验表的数据量和属性信息对多个待校验表进行第一次排序,生成了优先级队列。具体地,如图2所示,根据预设的优先级算法,由表A、表B、表C、表D和表E组成的优先级队列中,多个待校验表的排列顺序可以为从后到前依次为表C、表B、表A、表D和表E。其次,本实施例的数据校验方法在对优先级队列中需要分片的待校验表进行分片处理后,对所有待校验表进行第二次排序,将数据量较大的待校验表拆分成多个小表后排到队列尾部,从而得到了最终的待校验的顺序队列。
本实施例的数据校验方法通过第一次排序,实现了对用户所关心的重要数据先进行校验,并对用户不关心或不重要的数据后进行校验,进一步保障了数据校验的及时性和准确性,还通过分片处理,将一个数据量较大的待校验表分为多个小的待校验表,并进行并行比对,极大地提高了单个数据量较大的待校验表的比对效率,从而进一步提高了数据同步软件的同步性能。
在一些实施例中,上述根据各个待校验表的数据量和属性信息对多个待校验表进行排序的步骤可以具体包括以下步骤:根据各个待校验表的数据量和属性信息,标记各个待校验表的优先级;根据各个待校验表的优先级,对多个待校验表进行排序。也就是说,上述步骤S104中的第一次排序采用了预设的优先级算法,根据各个待校验表的数据量和属性信息,赋予了每个待校验表优先级。换句话说,所有待校验表都标记有优先级属性。另外,在根据各个待校验表的优先级,对多个待校验表进行排序的步骤中优先级大的排在前,优先级小的排在后,至此,生成了优先级队列。
本实施例的数据校验方法根据预设的优先级算法,实现了对全部待校验表的第一次排序,在一定程度上保证了将用户可能关心的重要数据排在前面,进一步保障了数据校验的及时性和准确性。
在一些实施例中,上述根据各个待校验表的数据量和属性信息,标记各个待校验表的优先级的步骤可以包括以下步骤:将待校验表的数据量与预设的数据量阈值进行比对,并根据比对结果调整待校验表的优先级;以及根据属性信息判断待校验表有无主键;若无,则降低待校验表的优先级。
具体地,上述预设的数据量阈值可以根据待校验表的平均数据量确定也可以根据预先实验获得,并且将待校验表的数据量与预设的数据量阈值进行比对,并根据比对结果调整待校验表的优先级的步骤可以具体执行为以下步骤:首先记录所有待校验表的优先级为0,再根据每个待校验表的数据量调整待校验表的优先级,在每个待校验表每多100W行数据时,记录该待校验表的优先级-1。使用上述方法,将多个待校验表按照数据量由少到多的顺序进行排序,实现了在进行分批比对时,先对数据量较小的表进行优先校验。
另外,在待校验表无主键的情况下,上述降低待校验表的优先级的步骤可以具体执行为以下步骤:将无主键的待校验表的优先级进行乘2处理。使用上述方法,将多个待校验表按照有主键的待校验表在前、无主键的待校验表在后的顺序进行排序,实现了在进行分批比对时,先对有主键的表进行优先校验。
如图2所示,以预设的优先级算法对表A、表B、表C、表D和表E进行第一次排序。首先记录表A、表B、表C、表D和表E的优先级均为0。其次,在每个待校验表每多100W行数据时,记录该待校验表的优先级-1,得到表A的优先级为-1、表B的优先级为-2、表C的优先级为-3、表D的优先级为0以及表A的优先级为0。再将无主键的待校验表的优先级进行乘2处理,得到表B的优先级为-4、表C的优先级为-6,至此完成对表A-表E的优先级的计算。最后将表A-表E按照优先级进行排序,得到优先级由大到小排列的表E、表D、表A、表B和表C。
在一些实施例中,上述对需要分片的待校验表进行分片处理,并将分片处理后的待校验表移至优先级队列的尾部,以生成待校验的顺序队列的步骤可以包括以下步骤:以预设的分片算法对需要分片的待校验表进行分片处理,以得到多个小表;将需要分片的待校验表从第一顺序队列中移除;将多个小表依次放入第一顺序队列的尾部,并将每个小表作为一个待校验表,以生成待校验的顺序队列。也就是说,上述步骤S104中的第二次排序采用了预设的分片算法,将用户指定要进行分片处理的待校验表,根据分片列进行分片处理。
本实施例的数据校验方法根据分片算法,将一个大表分为多个小表以便于进行并行比对,极大的提高了单个大表的比对效率。在后续步骤中,将分片处理得到的多个小表依次放入优先级队列的尾部,实现了对全部待校验表的第二次排序,保证了将数据量较大的用户不关心或不重要的待校验表排在后面,从而进一步保障了数据校验的及时性和准确性。
进一步地,上述以预设分片算法对需要分片的待校验表进行分片,以得到多个小表的步骤可以具体执行为以下步骤:获取预设的与需要分片的待校验表对应的分片基准;根据分片基准,对需要分片的待校验表进行分片,以得到多个小表。具体地,与需要分片的待校验表对应的分片基准可以根据用户预先对指定的待校验表选择特定的列得到并预先存储在数据库中。
在一个具体实施例中,根据分片基准,对需要分片的待校验表进行分片的具体方法可以包括:当需要分片的待校验表的列的类型为数字类型时,先将需要分片的待校验表的列的值按照从小到大排序,然后以最小值和最大值进行取模运算,即将范围内的数据平均分为一定的批数,每一批中包含的数据量基本相等,以完成分片处理。
在另一个具体实施例中,根据分片基准,对需要分片的待校验表进行分片的具体方法还可以包括:当需要分片的待校验表的列的类型为时间类型时,先将需要分片的待校验表的列的值按照从小到大排序,然后以最小值和最大值进行取模运算,即将范围内的数据平均分为一定的批数,每一批中包含的数据量基本相等,以完成分片处理。
在又一个具体实施例中,根据分片基准,对需要分片的待校验表进行分片的具体方法还可以包括:当列的类型为字符类型时,需要先计算字符的MD5值,然后将其md5值转换为16进制,转为16进制后就通过类似数字类型或时间类型的具体方法取模分片。
在将需要分片的待校验表分为指定的片之后,将每个片作为一个单独的待校验表,然后将其放入优先级队列的最后面,并将之前需要分片的待校验表的原表从优先级队列中移除,从而实现了将一个大表拆分为了多个小表,并完成了第二次排序。
使用上述方法,完成对多个待校验表的处理,得到了最终的待校验的顺序队列,实现了对数据量大的待校验表进行后校验且拆分成多个小表进行并行比对,极大地提高了单个大表的比对效率,从而进一步提高了数据同步软件的同步性能。
图3是根据本发明一个实施例的数据校验方法的流程示意图。下面结合图3对本实施例的流程步骤进行具体说明。
步骤S302,提供对外的配置参数,并响应于用户的配置确定数据校验方式。
步骤S304,判断是否执行分批比对操作,若是,则执行步骤S306,若否,则执行步骤S330。
步骤S306,响应于用户的选定操作,将用户选定的全部待校验表和各个待校验表的参数信息存储在数据库中。具体地,各个待校验表的参数信息包括待校验表的数据量、用于标识待校验表有无主键的属性信息、用于标识待校验表是否需要分片的标识信息以及与需要分片的待校验表对应的分片基准。
步骤S308,获取多个待校验表和各个待校验表的数据量。
步骤S310,将待校验表的数据量与预设的数据量阈值进行比对,并根据比对结果调整待校验表的优先级。具体地,本步骤可以具体执行为首先记录所有待校验表的优先级为0,再根据每个待校验表的数据量调整待校验表的优先级,在每个待校验表每多100W行数据时,记录该待校验表的优先级-1。
步骤S312,获取各个待校验表的属性信息。
步骤S314,根据属性信息判断待校验表有无主键,若有,则执行步骤S316,若否,执行步骤S318。
步骤S316,不改变待校验表的优先级,并进入步骤S320。
步骤S318,降低待校验表的优先级,并进入步骤S320。
步骤S320,根据各个待校验表的优先级,对多个待校验表进行排序,以生成优先级队列。具体的排序方式为:优先级大的排在前,优先级小的排在后。
步骤S322,根据标识信息获取优先级队列中需要分片的待校验表。
步骤S324,以预设分片算法对需要分片的待校验表进行分片处理,以得到多个小表。具体地,本步骤可以具体执行为:获取预设的与需要分片的待校验表对应的分片基准;根据分片基准,对需要分片的待校验表进行分片,以得到多个小表。
步骤S326,将需要分片的待校验表从优先级队列中移除,将多个小表依次放入优先级队列的尾部,并将每个小表作为一个待校验表,以生成待校验的顺序队列。
步骤S328,针对待校验的顺序队列执行数据校验操作,并执行步骤S332。具体地,本步骤可以具体执行为:根据预设的并行数,从待校验的顺序队列中依次取出与并行数相同数量的待校验表;对各组与并行数相同数量的待校验表分别进行并行比对。
步骤S330,跳过执行分批比对操作,依次获取数据表进行数据校验,并执行步骤S332。具体地,依次获取数据表进行数据校验的步骤可以具体执行为分别从源端数据库和目标端数据库中查询一张数据表到内存中,并在内存中使用特定的算法进行校验,如此循环,直至将所有需要校验的数据表均比对完成。
步骤S332,将校验结果存储到元信息库。至此,本次流程结束。
通过上述步骤,本实施例的数据校验方法可以预先按照各个待校验表的参数信息对多个待校验表进行排序,从而在进行数据校验的过程中可以根据待校验表的重要程度进行分批比对,保障了数据校验的及时性和准确性,从而提高了数据同步软件的同步性能。
本发明还提供了一种机器可读存储介质和计算机设备。图4是根据本发明一个实施例的机器可读存储介质10的结构示意图,图5是根据本发明一个实施例的计算机设备20的结构示意图。
机器可读存储介质10其上存储有机器可执行程序11,机器可执行程序11被处理器执行时实现上述任一实施例的处理方法。
计算机设备20可以包括存储器220、处理器210及存储在存储器220上并在处理器210上运行的机器可执行程序11,并且处理器210执行机器可执行程序11时实现上述任一实施例的处理方法。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何机器可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
就本实施例的描述而言,机器可读存储介质10可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质10甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。
计算机设备20可以是例如服务器、台式计算机、笔记本式计算机、平板计算机或智能手机。在一些示例中,计算机设备20可以是云计算节点。计算机设备20可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机设备20可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
计算机设备20可以包括适于执行存储的指令的处理器210、在操作期间为所述指令的操作提供临时存储空间的存储器220。处理器210可以是单核处理器、多核处理器、计算集群或任何数量的其他配置。存储器220可以包括随机存取存储器(RAM)、只读存储器、闪存或任何其他合适的存储系统。
本实施例提供的流程图并不旨在指示方法的操作将以任何特定的顺序执行,或者方法的所有操作都包括在所有的每种情况下。此外,方法可以包括附加操作。在本实施例方法提供的技术思路的范围内,可以对上述方法进行附加的变化。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
Claims (10)
1.一种数据校验方法,包括:
获取多个待校验表和各个所述待校验表的参数信息;
根据各个所述待校验表的参数信息对所述多个待校验表进行处理,并生成待校验的顺序队列;
针对所述待校验的顺序队列执行数据校验操作。
2.根据权利要求1所述的数据校验方法,其中,所述待校验表的参数信息包括所述待校验表的数据量、用于标识所述待校验表有无主键的属性信息以及用于标识所述待校验表是否需要分片的标识信息;且
根据各个所述待校验表的参数信息对所述多个待校验表进行处理,并生成待校验的顺序队列的步骤包括:
根据各个所述待校验表的数据量和属性信息对所述多个待校验表进行排序,以生成优先级队列;
根据所述标识信息获取所述优先级队列中需要分片的待校验表;
对所述需要分片的待校验表进行分片处理,并将分片处理后的待校验表移至所述优先级队列的尾部,以生成所述待校验的顺序队列。
3.根据权利要求2所述的数据校验方法,其中,
根据各个所述待校验表的数据量和属性信息对所述多个待校验表进行排序的步骤包括:
根据各个所述待校验表的数据量和属性信息,标记各个所述待校验表的优先级;
根据各个所述待校验表的优先级,对所述多个待校验表进行排序。
4.根据权利要求3所述的数据校验方法,其中,
根据各个所述待校验表的数据量和属性信息,标记各个所述待校验表的优先级的步骤包括:
将所述待校验表的数据量与预设的数据量阈值进行比对,并根据比对结果调整所述待校验表的优先级;以及
根据所述属性信息判断所述待校验表有无主键;
若无,则降低所述待校验表的优先级。
5.根据权利要求2所述的数据校验方法,其中,
对所述需要分片的待校验表进行分片处理,并将分片处理后的待校验表移至所述优先级队列的尾部,以生成所述待校验的顺序队列的步骤包括:
以预设的分片算法对所述需要分片的待校验表进行分片处理,以得到多个小表;
将所述需要分片的待校验表从所述优先级队列中移除;
将多个所述小表依次放入所述优先级队列的尾部,并将每个所述小表作为一个所述待校验表,以生成所述待校验的顺序队列。
6.根据权利要求5所述的数据校验方法,其中,
以预设的分片算法对所述需要分片的待校验表进行分片,以得到多个小表的步骤包括:
获取预设的与所述需要分片的待校验表对应的分片基准;
根据所述分片基准,对所述需要分片的待校验表进行分片,以得到多个小表。
7.根据权利要求1所述的数据校验方法,其中,
针对所述待校验的顺序队列执行数据校验操作的步骤包括:
根据预设的并行数,从所述待校验的顺序队列中依次取出与所述并行数相同数量的待校验表;
对各组所述与所述并行数相同数量的待校验表分别进行并行比对。
8.根据权利要求1所述的数据校验方法,其中,
在所述针对所述待校验的顺序队列执行数据校验操作的步骤之后,所述数据校验方法还包括:
将校验结果存储到元信息库。
9.一种机器可读存储介质,其上存储有机器可执行程序,所述机器可执行程序被处理器执行时实现根据权利要求1至8任一项所述的数据校验方法。
10.一种计算机设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的机器可执行程序,并且所述处理器执行所述机器可执行程序时实现根据权利要求1至8任一项所述的数据校验方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211677448.8A CN116089527A (zh) | 2022-12-26 | 2022-12-26 | 一种数据校验方法、存储介质与设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211677448.8A CN116089527A (zh) | 2022-12-26 | 2022-12-26 | 一种数据校验方法、存储介质与设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116089527A true CN116089527A (zh) | 2023-05-09 |
Family
ID=86203693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211677448.8A Pending CN116089527A (zh) | 2022-12-26 | 2022-12-26 | 一种数据校验方法、存储介质与设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116089527A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116881210A (zh) * | 2023-09-08 | 2023-10-13 | 四维世景科技(北京)有限公司 | 一种数据校验的方法和装置 |
-
2022
- 2022-12-26 CN CN202211677448.8A patent/CN116089527A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116881210A (zh) * | 2023-09-08 | 2023-10-13 | 四维世景科技(北京)有限公司 | 一种数据校验的方法和装置 |
CN116881210B (zh) * | 2023-09-08 | 2023-11-17 | 四维世景科技(北京)有限公司 | 一种数据校验的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200356537A1 (en) | Resharding method and system for a distributed storage system | |
CN110334152B (zh) | 一种数据同步方法、装置及服务器 | |
US10255108B2 (en) | Parallel execution of blockchain transactions | |
CN107807982B (zh) | 一种异构数据库的一致性校验方法及装置 | |
CN108804545B (zh) | 分布式全局唯一id生成方法及设备 | |
CN103902702A (zh) | 一种数据存储系统和存储方法 | |
CN111611622A (zh) | 基于区块链的文件存储方法和电子设备 | |
CN116089527A (zh) | 一种数据校验方法、存储介质与设备 | |
CN113486026A (zh) | 数据处理方法、装置、设备及介质 | |
CN112416907A (zh) | 一种数据库表数据导入导出方法、终端设备及存储介质 | |
CN106708822A (zh) | 一种文件存储方法和装置 | |
CN115757406A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN110222046B (zh) | 列表数据的处理方法、装置、服务器和存储介质 | |
JP6193406B2 (ja) | 差分符号化のためのシリアライゼーション | |
CN111447265A (zh) | 文件存储方法、文件下载方法和文件处理方法及相关组件 | |
CN110888972A (zh) | 一种基于Spark Streaming的敏感内容识别方法及装置 | |
CN115964002B (zh) | 一种电能表终端档案管理方法、装置、设备及介质 | |
CN110941658A (zh) | 一种数据导出方法、装置、服务器及存储介质 | |
CN111127616A (zh) | 一种渲染校验方法及装置 | |
CN111444148A (zh) | 基于MapReduce的数据传输方法和装置 | |
CN115827657A (zh) | 数据库的数据同步方法、存储介质以及设备 | |
CN116010345A (zh) | 一种实现流批一体数据湖的表服务方案的方法、装置及设备 | |
JP2024509629A (ja) | 量子車型部品基礎データベースの作成方法、装置、電子機器及び記憶媒体 | |
CN113419957A (zh) | 基于规则的大数据离线批处理性能容量扫描方法及装置 | |
CN109697167B (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 |