CN103927236B - 在线校验方法和装置 - Google Patents

在线校验方法和装置 Download PDF

Info

Publication number
CN103927236B
CN103927236B CN201310011244.5A CN201310011244A CN103927236B CN 103927236 B CN103927236 B CN 103927236B CN 201310011244 A CN201310011244 A CN 201310011244A CN 103927236 B CN103927236 B CN 103927236B
Authority
CN
China
Prior art keywords
data
main equipment
slave unit
major key
corresponding row
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.)
Active
Application number
CN201310011244.5A
Other languages
English (en)
Other versions
CN103927236A (zh
Inventor
李志阳
程彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Tencent Computer Systems Co Ltd
Original Assignee
Shenzhen Tencent Computer Systems Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Tencent Computer Systems Co Ltd filed Critical Shenzhen Tencent Computer Systems Co Ltd
Priority to CN201310011244.5A priority Critical patent/CN103927236B/zh
Priority to PCT/CN2014/070403 priority patent/WO2014108083A1/en
Publication of CN103927236A publication Critical patent/CN103927236A/zh
Priority to HK15100372.1A priority patent/HK1200930A1/zh
Priority to US14/792,841 priority patent/US10176213B2/en
Application granted granted Critical
Publication of CN103927236B publication Critical patent/CN103927236B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种在线校验方法和装置,属于计算机领域。所述方法包括:获取主设备和从设备的第一数据,所述第一数据包括监测点的数据文件、日志文件;根据接收到的第一数据进行数据恢复,获取第二数据,所述第二数据是根据监测点的数据文件和日志文件恢复的数据;根据所述主设备和从设备的第二数据,生成第三数据,所述第三数据包括第二数据、第二数据的主键和特征值;比较所述主设备和从设备的第三数据,输出校验结果。本发明通过获取监测点的数据文件和日志文件,避免了对主设备进行对外业务的影响,且通过对第三数据的比较,加快了在线一致性校验的过程,提高了校验的准确性。

Description

在线校验方法和装置
技术领域
本发明涉及计算机领域,特别涉及一种在线校验方法和装置。
背景技术
数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。数据库技术解决了计算机信息处理过程中大量数据有效地组织和存储的问题,利用数据库技术可以减少数据存储冗余、实现数据共享、保障数据安全以及高效地检索数据和处理数据。为了保证设备中数据库中重要数据的安全性,可以利用主从设备机制,在从设备上对主设备的数据库进行数据备份。由于主设备长时间运行会导致主设备和从设备中数据出现不一致的情况,所以对主设备和从设备上的数据进行一致性校验尤为重要。
现有技术中,在主设备和从设备的数据一致性校验过程中,先获取主设备和从设备上的数据,然后通过结构化查询语言中的命令比较,如通过checksum table获取主设备和从设备的特征值,判断主设备和从设备的特征值是否相同,如果是,则主设备和从设备中的数据是一致的,如果否,则主设备和从设备中的数据是不一致的。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
现有技术通过大量的结构化查询语言中的命令进行一致性校验,需要对磁盘进行大量的读写,会占用较多的系统资源,不利于主设备对于业务的实时处理,另外,比较后只能得出主设备和从设备的数据是否一致,不能找到具体的不一致数据,校验准确性差。
发明内容
为了解决数据校验中资源占用和校验准确性差的问题,本发明实施例提供了一种在线校验方法和装置。所述技术方案如下:
一方面,提供了一种在线校验方法,所述方法包括:
获取主设备和从设备的第一数据,所述第一数据包括监测点的数据文件、日志文件;
根据接收到的第一数据进行数据恢复,获取第二数据,所述第二数据是根据监测点的数据文件和日志文件恢复的数据;
根据所述主设备和从设备的第二数据,生成第三数据,所述第三数据包括第二数据、第二数据的主键和特征值;
比较所述主设备和从设备的第三数据,输出校验结果。
获取主设备和从设备的第一数据,包括:
分别向所述主设备和所述从设备发送控制命令,所述控制命令中携带传输速度,使得所述主设备和从设备按照所述传输速度发送所述第一数据;
接收所述主设备和从设备发送的第一数据。
所述第一数据还包括磁盘读写参数,相应地,分别向所述主设备和所述从设备发送控制命令,所述控制命令中携带传输速度,使得所述主设备和从设备按照所述传输速度发送所述第一数据,包括:
根据所述磁盘读写参数,调整所述传输速度,并向所述主设备和从设备发送所述控制命令,所述控制命令携带所述调整后的传输速度,使得所述主设备和从设备按照所述调整后的传输速度继续发送第一数据。
根据所述主设备和从设备的第二数据,生成第三数据,所述第三数据包括第二数据、第二数据的主键和特征值,包括:
根据所述主设备和从设备的第二数据,遍历所述第二数据的每一行,提取所述第二数据中的主键,计算所述第二数据每行的特征值。
比较所述主设备和从设备的第三数据,输出校验结果,包括:
判断所述主设备和从设备的第三数据中对应的行数据的主键是否相同;
如果所述主设备和从设备的第三数据中的对应的行数据的主键相同,且所述主设备和从设备的对应的行数据的特征值不同,分别输出所述主设备和从设备所述对应的行数据;
如果述主设备和从设备的第三数据中对应的行数据的主键不相同,判断所述主设备的第三数据中对应的行数据的主键是否大于所述从设备的第三数据中对应的行数据的主键,如果所述主设备的第三数据中对应的行数据的主键大于所述从设备的第三数据中对应的行数据的主键,将所述从设备第三数据中对应的行数据输出,如果所述主设备的第三数据中对应的行数据的主键小于所述从设备的第三数据中对应的行数据的主键,将所述主设备第三数据中对应的行数据输出。
另一方面,提供了一种在线校验装置,所述装置包括:
第一获取模块,用于获取主设备和从设备的第一数据,所述第一数据包括监测点的数据文件、日志文件;
第二获取模块,用于根据接收到的第一数据进行数据恢复,获取第二数据,所述第二数据是根据监测点的数据文件和日志文件恢复的数据;
第三获取模块,用于根据所述主设备和从设备的第二数据,生成第三数据,所述第三数据包括第二数据、第二数据的主键和特征值;
比较模块,用于比较所述主设备和从设备的第三数据,输出校验结果。
所述第一获取模块包括:
发送单元,用于分别向所述主设备和所述从设备发送控制命令,所述控制命令中携带传输速度,使得所述主设备和从设备按照所述传输速度发送所述第一数据;
接收单元,用于接收所述主设备和从设备发送的第一数据。
所述第一数据还包括磁盘读写参数,相应地,所述发送单元还用于根据所述磁盘读写参数,调整所述传输速度,并向所述主设备和从设备发送所述控制命令,所述控制命令携带所述调整后的传输速度,使得所述主设备和从设备按照所述调整后的传输速度继续发送第一数据。
所述第三获取模块用于根据所述主设备和从设备的第二数据,遍历所述第二数据的每一行,提取所述第二数据中的主键,计算所述第二数据每行的特征值。
所述比较模块包括:
判断单元,用于判断所述主设备和从设备的第三数据中对应的行数据的主键是否相同;
输出单元,用于如果所述主设备和从设备的第三数据中的对应的行数据的主键相同,且所述主设备和从设备的对应的行数据的特征值不同,分别输出所述主设备和从设备所述对应的行数据;
所述判断单元还用于如果述主设备和从设备的第三数据中对应的行数据的主键不相同,判断所述主设备的第三数据中对应的行数据的主键是否大于所述从设备的第三数据中对应的行数据的主键;
所述输出单元还用于如果所述主设备的第三数据中对应的行数据的主键大于所述从设备的第三数据中对应的行数据的主键,将所述从设备第三数据中对应的行数据输出,如果所述主设备的第三数据中对应的行数据的主键小于所述从设备的第三数据中对应的行数据的主键,将所述主设备第三数据中对应的行数据输出。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例提供了一种在线校验方法和装置,通过获取主设备和从设备的第一数据,所述第一数据包括监测点的数据文件、日志文件;根据接收到的第一数据进行数据恢复,获取第二数据,所述第二数据是根据监测点的数据文件和日志文件恢复的数据;根据所述主设备和从设备的第二数据,生成第三数据,所述第三数据包括第二数据、第二数据的主键和特征值;比较所述主设备和从设备的第三数据,输出校验结果。采用本发明提供的技术方案,通过获取监测点的数据文件和日志文件,避免了对主设备进行对外业务的影响,且通过对第三数据的比较,加快了在线一致性校验的过程,提高了校验的准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例中提供的一种在线校验方法流程图;
图1b是本发明实施例中提供的一种在线校验方法示意图;
图2是本发明实施例中提供的一种在线校验方法流程图;
图3是本发明实施例中提供的一种在线校验装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1a是本发明实施例中提供的一种在线校验方法流程图,本发明实施例的执行主体是具有校验功能的设备(以下简称Device),参见图1a,该方法包括:
101:获取主设备和从设备的第一数据,所述第一数据包括监测点的数据文件、日志文件;
在本发明实施例中,Device分别获取主设备的第一数据和从设备的第一数据。
其中,监测点(checkpoint)是指将内存中被修改的数据块同步到磁盘上的数据文件的数据库事件,它提供了确保事务数据修改一致性的机制。
其中,监测点的数据文件是指离当前时刻最近的监测点的数据文件,日志文件用于记录离当前时刻最近的监测点之后所有操作。
102:根据接收到的第一数据进行数据恢复,获取第二数据,所述第二数据是根据监测点的数据文件和日志文件恢复的数据;
Device接收到主设备发送的第一数据和从设备发送的第一数据后,根据主设备的日志文件对监测点的数据文件进行数据恢复,生成主设备的第二数据,该主设备的第二数据是主设备的数据文件执行了日志文件中操作后的数据。
同时,Device根据从设备的日志文件对监测点的数据文件进行数据恢复,生成从设备的第二数据,该从设备的第二数据是从设备的数据文件执行了日志文件中操作后的数据。
优选地,第二数据以行数据表格的形式存储,该表格由多个行数据组成。
103:根据所述主设备和从设备的第二数据,生成第三数据,所述第三数据包括第二数据、第二数据的主键和特征值;
其中,该特征值可以为奇偶校验码校验值、循环冗余码校验值、海明码校验值等。优选地,在本发明实施例中,仅以该特征值为循环冗余码校验值为例进行说明。Device分别对主设备的第二数据和从设备的第二数据进行解析,提取主设备的第二数据的主键,计算主设备的第二数据的每行的行数据的特征值,主设备的第二数据、第二数据的主键和特征值共同组成主设备的第三数据,同时,提取从设备的第二数据的主键,计算从设备的第二数据的每行的行数据的特征值,从设备的第二数据、第二数据的主键和特征值共同组成从设备的第三数据。主设备的第三数据和从设备的第三数据用于比较主设备和从设备的数据的一致性。
104:比较所述主设备和从设备的第三数据,输出校验结果。
Device比较主设备的第三数据和从设备的第三数据时,逐行进行比较,先比较主键是否相同,对于主键相同的情况再比较特征值是否相同,根据比较的结果,输出不一致的行数据。
本发明通过获取主设备和从设备的第一数据,所述第一数据包括监测点的数据文件、日志文件;根据接收到的第一数据进行数据恢复,获取第二数据,所述第二数据是根据监测点的数据文件和日志文件恢复的数据;根据所述主设备和从设备的第二数据,生成第三数据,所述第三数据包括第二数据、第二数据的主键和特征值;比较所述主设备和从设备的第三数据,输出校验结果。采用本发明提供的技术方案,通过获取监测点的数据文件和日志文件,避免了对主设备进行对外业务的影响,且通过对第三数据的比较,加快了在线一致性校验的过程,提高了校验的准确性。
可选地,在图1a所示技术方案的基础上,步骤101“获取主设备和从设备的第一数据,所述第一数据包括监测点的数据文件、日志文件”包括步骤101a和101b:
101a:分别向所述主设备和所述从设备发送控制命令,所述控制命令中携带传输速度,使得所述主设备和从设备按照所述传输速度发送所述第一数据;
其中,该传输速度可以由Device默认设置,还可以由主设备、从设备与Device协商确定。优选地,该传输速度与主设备和从设备的性能相关,通过对该传输速度进行设置,可以避免由于主设备和从设备向Device发送第一数据占用过多的资源,而导致对外业务受到影响。
101b:接收所述主设备和从设备发送的第一数据。
第一数据是以多个数据包的形式由主设备和从设备分别向Device发送的,因此,Device持续接收主设备和从设备发送的第一数据,直到主设备和从设备的监测点的数据文件和日志文件全部发送完毕为止。
本发明通过获取主设备和从设备的第一数据,所述第一数据包括监测点的数据文件、日志文件;根据接收到的第一数据进行数据恢复,获取第二数据,所述第二数据是根据监测点的数据文件和日志文件恢复的数据;根据所述主设备和从设备的第二数据,生成第三数据,所述第三数据包括第二数据、第二数据的主键和特征值;比较所述主设备和从设备的第三数据,输出校验结果。采用本发明提供的技术方案,通过获取监测点的数据文件和日志文件,避免了对主设备进行对外业务的影响,且通过对第三数据的比较,加快了在线一致性校验的过程,提高了校验的准确性。通过在控制命令中携带传输速度,可以控制主设备和从设备的第一数据的传输速度,保证了在数据校验过程中不影响设备的对外业务。
可选地,在图1a所示技术方案的基础上,所述第一数据还包括磁盘读写参数,相应地,步骤101a“分别向所述主设备和所述从设备发送控制命令,所述控制命令中携带传输速度,使得所述主设备和从设备按照所述传输速度发送所述第一数据”,包括:根据所述磁盘读写参数,调整所述传输速度,并向所述主设备和从设备发送所述控制命令,所述控制命令携带所述调整后的传输速度,使得所述主设备和从设备按照所述调整后的传输速度继续发送第一数据。
Device接收主设备发送的第一数据和从设备发送的第一数据,根据主设备的第一数据中的磁盘读写参数获取第一传输速度,根据从设备发送的第一数据中的磁盘读写参数获取第二传输速度,比较第一传输速度和第二传输速度,将较小的传输速度作为将要发送的控制命令中的传输速度。当Device接收到的第一数据中的磁盘读写参数越大,表明设备的业务越繁忙,为了不影响设备的正常业务的进行,Device将第一数据的传输速度设置的相对要小一些,而当Device接收到的第一数据中的磁盘读写参数越小,表明设备的业务越少,为了充分利用设备的资源,Device将第一数据的传输速度设置的相对要大一些,因此,优选地,第一数据的传输速度和磁盘读写参数的预设关系成反比关系,如V=K/C,其中,K为常数,C为磁盘读写参数,V为第一数据的传输速度。
Device分别向主设备和从设备发送该控制命令,使得主设备和从设备按照该控制命令中的传输速度继续传输第一数据。
在实际应用中,由于主设备主要负责对外的业务情况,而从设备主要负责数据的备份,因此,优选地,需要重点考虑主设备的磁盘读写参数,仅根据主设备的第一数据中的磁盘读写参数确定传输速度。由于主设备进行对外的业务时,主设备的资源占用率在不停地发生变化,当磁盘读写参数表明资源占用率低时,可以提高第一数据的传输速度。但是,当主设备的磁盘读写参数表明资源占用率较高时,降低第一数据的传输速度。
随着主设备和从设备业务的进行,主设备的磁盘读写参数和从设备的磁盘读写参数不断变化,而当Device持续接收到第一数据时,可实时根据磁盘读写参数的变化,调整控制命令中的传输速度,从而使得主设备和从设备不断地改变传输速度以适应当前业务变化,避免对业务造成影响。
本发明通过获取主设备和从设备的第一数据,所述第一数据包括监测点的数据文件、日志文件;根据接收到的第一数据进行数据恢复,获取第二数据,所述第二数据是根据监测点的数据文件和日志文件恢复的数据;根据所述主设备和从设备的第二数据,生成第三数据,所述第三数据包括第二数据、第二数据的主键和特征值;比较所述主设备和从设备的第三数据,输出校验结果。采用本发明提供的技术方案,通过获取监测点的数据文件和日志文件,避免了对主设备进行对外业务的影响,且通过对第三数据的比较,加快了在线一致性校验的过程,提高了校验的准确性。通过在控制命令中携带传输速度,可以控制主设备和从设备的第一数据的传输速度,保证了在数据校验过程中不影响设备的对外业务。进一步地,通过在第一数据中携带磁盘读写参数,使得Device可以实时对第一数据的传输速度进行调整,有效利用设备的磁盘资源。
可选地,在图1a所示技术方案的基础上,步骤103“根据所述主设备和从设备的第二数据,生成第三数据,所述第三数据包括第二数据、第二数据的主键和特征值”,包括:根据所述主设备和从设备的第二数据,遍历所述第二数据的每一行,提取所述第二数据中的主键,计算所述第二数据每行的特征值。
Device按照行顺序分别遍历主设备的第二数据和从设备的第二数据,分别提取主设备的第二数据中的主键和从设备的第二数据中的主键,计算主设备每行的行数据的特征值和从设备的每行的行数据的特征值,则生成的主设备的第三数据和从设备的第三数据的每行包括主键(Primary Key)、行数据、特征值。
优选地,该计算特征值所应用的算法可以是循环冗余码校验算法,相应地,特征值为循环冗余码校验值。
优选地,该遍历、提取和计算过程可采用innodb引擎直接解析表数据文件,获取第三数据。通过innodb引擎,顺序遍历第二数据中的每一行的行数据D,提取每行的主键P,并计算每行的行数据的特征值crc,将获取到的第三数据的每一行数据按照<主键P,行数据D,crc>的形式进行存储。
其中,主键是表中的一个或多个字段,它的值用于惟一的标识表中的某一条行数据。
优选地,第三数据可以是以行数据表格的形式存储,该表格由多个行数据组成。
本发明通过获取主设备和从设备的第一数据,所述第一数据包括监测点的数据文件、日志文件;根据接收到的第一数据进行数据恢复,获取第二数据,所述第二数据是根据监测点的数据文件和日志文件恢复的数据;根据所述主设备和从设备的第二数据,生成第三数据,所述第三数据包括第二数据、第二数据的主键和特征值;比较所述主设备和从设备的第三数据,输出校验结果。采用本发明提供的技术方案,通过获取监测点的数据文件和日志文件,避免了对主设备进行对外业务的影响,且通过对第三数据的比较,加快了在线一致性校验的过程,提高了校验的准确性。通过在控制命令中携带传输速度,可以控制主设备和从设备的第一数据的传输速度,保证了在数据校验过程中不影响设备的对外业务。进一步地,通过在第一数据中携带磁盘读写参数,使得Device可以实时对第一数据的传输速度进行调整,有效利用设备的磁盘资源。通过生成第三数据,有利于提高数据校验的速度和校验准确性。
可选地,在图1a所示技术方案的基础上,步骤104“比较所述主设备和从设备的第三数据,输出校验结果”,包括104a、104b和104c:
104a:判断所述主设备和从设备的第三数据中对应的行数据的主键是否相同;
Device根据获取的主设备的第三数据和从设备的第三数据,判断主设备的第三数据和从设备的第三数据中对应的行数据的主键是否相同,如果是,需要进一步根据特征值进行比较,如果否,输出相应的行数据。由于第三数据是按照主键进行排序的,所以可以按照顺序逐行比较主设备和从设备的第三数据。为了说明主设备的第三数据和从设备的第三数据的对应的行数据的主键的比较过程,以表1所示的主设备的第三数据和表2所示的从设备的第三数据对应的行数据的主键的比较过程为例进行说明。
表1
主键 行数据 特征值
1 1,小王,数学,2 A
2 2,小李,数学,3 B
3 3,小张,数学,8 C
4 4,小黄,数学,12 D
5 5,小赵,数学,10 E
表2
主键 行数据 特征值
1 1,小王,数学,7 A’
2 2,小李,数学,3 B
4 4,小黄,数学,12 D
在表1和表2中,分别列出了主设备的第三数据和从设备的第三数据,在对应比较行数据的过程中,根据主键的顺序,首先,比较表1中的第一行的主键和表2中的第一行的主键,其次比较表1中的第二行的主键和表2中的第二行的主键,再次,在比较表1中的第三行的主键和表2中的第三行的主键时,由于主键不同,需要继续比较表1中的第四行的主键和表2中的第三行的主键。从该例子中可以看出,主设备的第三数据和从设备的第三数据的对应的行数据的主键的比较,是指主设备的第三数据和从设备的第三数据的主键相同的行的比较。
104b:如果所述主设备和从设备的第三数据中的对应的行数据的主键相同,且所述主设备和从设备的对应的行数据的特征值不同,分别输出所述主设备和从设备所述对应的行数据;
当主设备的第三数据和从设备的第三数据中的对应的行数据主键相同时,需要比较行数据中的除主键以外的其他数据是否一致,由于第三数据中的行数据的特征值是通过行数据进行计算得到的,所以可以通过比较该特征值来达到比较行数据的效果。通过特征值的比较代替整行数据的比较,可以加快比较的速度。
当主设备和从设备的对应的行数据的主键相同,且主设备和从设备的对应的行数据的特征值相同时,认为主设备和从设备的第三数据中的对应的行数据是一致的。
当主设备和从设备的对应的行数据的主键相同,且主设备和从设备的对应的行数据的特征值不相同时,认为主设备和从设备的第三数据中的对应的行数据是不相同的,将该行数据输出。
在步骤104a的例子的基础上,该步骤104b在开始比较表1和表2时,表1中的第一行的主键和表2中的第一行的主键相同,需要比较表1中的第一行的特征值和表2中的第一行的特征值是否相同,经过比较可知,表1中的第一行的特征值A和表2中的第一行的特征值A’不相同,此时,输出表1中的第一行的行数据和表2中的第一行的行数据,即输出:“1,小王,数学,2”和“1,小王,数学,7”,这样用户可以看出主设备和从设备中的不一致的数据。
104c:如果述主设备和从设备的第三数据中对应的行数据的主键不相同,判断所述主设备的第三数据中对应的行数据的主键是否大于所述从设备的第三数据中对应的行数据的主键,如果所述主设备的第三数据中对应的行数据的主键大于所述从设备的第三数据中对应的行数据的主键,将所述从设备第三数据中对应的行数据输出,如果所述主设备的第三数据中对应的行数据的主键小于所述从设备的第三数据中对应的行数据的主键,将所述主设备第三数据中对应的行数据输出。
如果所述主设备和从设备的第三数据中的主键不相同,为了使后续的比较过程中的主键能够一一对应,需要比较主设备和从设备的第三数据中的主键的大小,以便确定是否获取下一行的主键继续进行比较。如果所述主设备的第三数据中的主键大于所述从设备的第三数据中的主键,说明从设备中的该行数据是主设备中没有的数据,将该行数据输出,同时,获取从设备的第三数据中的下一行的行数据的主键,和主设备的第三数据中的当前行的行数据的主键进行比较。如果所述主设备的第三数据中的主键小于所述从设备的第三数据中的主键,说明主设备中的该行数据是从设备中没有的数据,将该行数据输出,同时,获取主设备的第三数据中的下一行的行数据的主键,和从设备的第三数据中的当前行的行数据的主键进行比较。
在步骤104a的例子的基础上,该步骤104c当比较到表1中的第三行的主键和表2中的第三行的主键时,表1中的第三行的主键小于表2中的第三行的主键,所以,需要将表1中的第三行的行数据输出,即输出:“3,小张,数学,8”,获取表1中的下一行的行数据的主键,和表2中的第三行的行数据的主键进行比较。
步骤104a-104c是数据一致性校验中的具体比较过程,如果主设备或从设备的第三数据比较完成,则结束整个比较过程,将主设备或从设备为比较过的数据作为不一致数据输出。在步骤104的例子的基础上,在比较完成时,可以看出表1中的第五行的数据没有经过比较,则将表1中的第五行的行数据输出。
为了使本领域技术人员更好的理解这一过程,图1b是本发明实施例中提供的一种在线校验方法示意图,参见图1b,主设备和从设备将log(日志文件)和data(监测点的数据文件)作为第一数据发送给Device,Device利用crash recover机制恢复数据,根据接收到的log1和data1生成主设备的第二数据,根据log2和data2生成从设备的第二数据。Device对主设备和从设备的第二数据逐行进行扫描,生成主键、行数据和循环冗余码校验值三元组,该三元组构成主设备的第三数据data_map1和从设备的第三数据data_map2。在生成第三数据后,顺序读取data_map1和data_map2文件,通过比较输出不一致数据。该不一致数据包括:主键值一致,但循环冗余码校验值不一致的行数据;主键值不同的行数据。
本发明通过获取主设备和从设备的第一数据,所述第一数据包括监测点的数据文件、日志文件;根据接收到的第一数据进行数据恢复,获取第二数据,所述第二数据是根据监测点的数据文件和日志文件恢复的数据;根据所述主设备和从设备的第二数据,生成第三数据,所述第三数据包括第二数据、第二数据的主键和特征值;比较所述主设备和从设备的第三数据,输出校验结果。采用本发明提供的技术方案,通过获取监测点的数据文件和日志文件,避免了对主设备进行对外业务的影响,且通过对第三数据的比较,加快了在线一致性校验的过程,提高了校验的准确性。通过在控制命令中携带传输速度,可以控制主设备和从设备的第一数据的传输速度,保证了在数据校验过程中不影响设备的对外业务。进一步地,通过在第一数据中携带磁盘读写参数,使得Device可以实时对第一数据的传输速度进行调整,有效利用设备的磁盘资源。通过生成第三数据,有利于提高数据校验的速度和校验准确性。
图2是本发明实施例中提供的一种在线校验方法流程图,本发明实施例的执行主体是Device,参见图2,该方法包括:
201:Device分别向所述主设备和所述从设备发送控制命令和开始命令,所述控制命令中携带传输速度,使得所述主设备和从设备按照所述传输速度发送所述第一数据;
Device启动一致性数据校验后,向主设备发送开始命令和控制命令,且向从设备发送开始命令和控制命令。使得主设备和从设备根据开始命令,开始第一数据的传输,并且根据控制命令中的传输速度调节第一数据的传输速度。
202:主设备向Device发送主设备的第一数据;
其中,主设备的第一数据包括数据文件和日志文件,数据文件通过主设备的主线程发送给Device,日志文件通过主设备的redo log(重写日志)线程发送给Device。
主设备接收到Device发送的开始命令后,启动主线程和redo log线程。其中,主线程用于启动和停止redo log线程,并且用于向Device发送数据文件和完成消息。Redo log线程用于监控redo log的变化,并将相应的日志文件发送到Device。在redo log线程收到主线程的启动命令后,将日志文件发送给Device,在接收到主线程的停止命令后,停止redolog变化数据的发送。
此外,所述第一数据还包括磁盘读写参数,该磁盘读写参数可作为Device调节第一数据的传输速度的根据。
203:从设备向Device发送从设备的第一数据;
其中,从设备的第一数据包括数据文件和日志文件,数据文件通过从设备的主线程发送给Device,日志文件通过从设备的redo log(重写日志)线程发送给Device。
从设备的主线程和redo log线程的工作原理和主设备相同,参见步骤202,这里不再赘述。
由于主设备和从设备向Device发送第一数据没有特定的顺序,所以步骤202和步骤203没有先后的关系。
进一步地,根据主设备的第一数据携带的磁盘读写参数或从设备的第一数据携带的磁盘读写参数,调整所述传输速度,并向所述主设备和从设备发送所述控制命令,所述控制命令携带所述调整后的传输速度,使得所述主设备和从设备按照所述调整后的传输速度继续发送第一数据;
具体地,Device根据接收到的主设备的第一数据的磁盘读写参数获取第一传输速度,根据接收到的从设备的第一数据中的磁盘读写参数获取第二传输速度,比较两个传输速度,取较小的速度作为传输速度,向主设备和从设备发送控制命令,该控制命令携带该传输速度。
在Device接收第一数据的过程中,Device根据第一数据中的磁盘读写参数实时调节传输速度,使得主设备和从设备在不影响对外业务的情况下,较快地传输第一数据。
204:主设备向Device发送完成消息;
主设备的主线程发送完监测点的数据文件后,向Device发送完成消息。
205:从设备向Device发送完成消息;
从设备的主线程发送完监测点的数据文件后,向Device发送完成消息。
由于主设备和从设备向Device发送的完成消息并没有先后顺序,所以步骤204和步骤205也没有特定的先后顺序。
206:Device向主设备和从设备发送停止命令;
Device在接收到主设备发送的完成消息和从设备发送的完成消息后,向主设备和从设备发送停止命令,使得主设备和从设备根据该停止命令停止主线程,主线程停止redolog线程,结束第一数据的发送。
步骤201-206是获取主设备和从设备的第一数据的过程。其中,所述第一数据包括监测点的数据文件、日志文件。
207:根据接收到的第一数据进行数据恢复,获取主设备和从设备的第二数据,所述第二数据是根据监测点的数据文件和日志文件恢复的数据;
Device接收到的主设备的第一数据和从设备的第一数据,包括checkpoint(监测点)的数据文件和记录了checkpoint之后的操作的日志文件,所以,根据第一数据中监测点的数据文件和日志文件就可以将第一数据恢复到主设备和从设备在接收到停止命令之前的数据状态,即第二数据。
在本发明实施例中,优选地,通过innodb crash recover机制,使用接收到的第一数据中日志文件对数据文件进行恢复,使第一数据恢复为主设备和从设备接收到停止命令前的数据,将恢复后的数据作为第二数据。Innodb crash recover是指在系统异常退出后,innodb引擎利用日志文件恢复数据到设备接收到停止命令前的数据。原理比较简单,由于日志文件记录了innodb所有的数据变化,而这些操作是可重复的,只要依次按照日志文件对数据进行重做,即可将数据恢复到退出前的状态。
208:解析所述主设备和从设备的第二数据,生成第三数据,所述第三数据包括主键、行数据和循环冗余校验码值;
根据所述主设备和从设备的第二数据,遍历所述第二数据的每一行,提取所述第二数据中的主键,计算所述第二数据每行的特征值。
Device在获取到主设备的第二数据和从设备的第二数据后,按照行顺序进行遍历,第二数据的排列顺序是按照主键进行排序,所以具有一致的方向性。如当主键是学号时,该学号的排列顺序是1、2、3、4……,即按照从小到大的顺序进行排序。第三数据中的每行数据的形式为<主键,行数据,特征值>,优选地,第三数据将以表的形式进行存储。通过对第二数据的遍历、提取和计算,可以获取两个表,一个是主设备第三数据表,一个是从设备的第三数据表。
209:比较所述主设备和从设备的第三数据,输出校验结果。
判断所述主设备和从设备的第三数据中对应的行数据的主键是否相同;
根据生成的主设备的第三数据表和从设备的第三数据表,依次判断表中的对应的行数据的主键是否相同。由于主键对于表中每行所描述的对象具有唯一性,即每行的主键都是不同的,所以通过比较主键可以加快比较的效率。
如果所述主设备和从设备的第三数据中的对应的行数据的主键相同,且所述主设备和从设备的对应的行数据的特征值不同,分别输出所述主设备和从设备所述对应的行数据;
如果主设备和从设备的第三数据中的对应的行数据的主键相同,说明是对相同的对象的数据比较。如当主键为学号时,主设备的主键值为1,且从设备的主键值为1,说明主设备和从设备中的对象是学号为1的学生。在确定比较的对象相同后,需要进一步该对象的其他数据情况,此时,只需要进行特征值的比较,就可以得知其他数据是否相同。
在比较主设备和从设备的对应的行数据的特征值过程中,如果所述主设备和从设备的对应的行数据的特征值相同,则认为主设备和从设备的第三数据中的行数据相同,即主设备和从设备的该行数据具有一致性。如果所述主设备和从设备的每行的特征值不相同,则认为主设备和从设备的第三数据中的行数据是不相同的,即主设备和从设备的该行数据不一致,此时,Device将该行数据输出。
如果述主设备和从设备的第三数据中对应的行数据的主键不相同,判断所述主设备的第三数据中对应的行数据的主键是否大于所述从设备的第三数据中对应的行数据的主键,如果所述主设备的第三数据中对应的行数据的主键大于所述从设备的第三数据中对应的行数据的主键,将所述从设备第三数据中对应的行数据输出,如果所述主设备的第三数据中对应的行数据的主键小于所述从设备的第三数据中对应的行数据的主键,将所述主设备第三数据中对应的行数据输出。
如果所述主设备和从设备的第三数据中的主键不相同,说明主设备或从设备的第三数据中的当前比较的行数据在一侧存在,在另外一侧是不存在的,需要找出在另外一侧不存在的数据,该数据就是不一致数据。因此,Device需要进一步判断所述主设备的第三数据中的主键是否大于所述从设备的第三数据中的主键,从而找出不一致的数据。
如果所述主设备的第三数据中的主键大于所述从设备的第三数据中的主键,说明从设备中的第三数据中的当前比较的行数据在主设备中是不存在的,该行数据为不一致数据,将从设备的第三数据中的该行数据输出。如果所述主设备的第三数据中的主键小于所述从设备的第三数据中的主键,说明主设备中的第三数据中的当前比较的行数据在从设备中是不存在的,该行数据为不一致数据,将主设备的第三数据中的该行数据输出。
在比较完主设备的第三数据或从设备的第三数据后,如果主设备或从设备中还有没有比较过的数据,则将该数据作为不一致数据输出。
本发明通过获取主设备和从设备的第一数据,所述第一数据包括监测点的数据文件、日志文件;根据接收到的第一数据进行数据恢复,获取第二数据,所述第二数据是根据监测点的数据文件和日志文件恢复的数据;根据所述主设备和从设备的第二数据,生成第三数据,所述第三数据包括第二数据、第二数据的主键和特征值;比较所述主设备和从设备的第三数据,输出校验结果。采用本发明提供的技术方案,通过获取监测点的数据文件和日志文件,避免了对主设备进行对外业务的影响,且通过对第三数据的比较,加快了在线一致性校验的过程,提高了校验的准确性。通过在控制命令中携带传输速度,可以控制主设备和从设备的第一数据的传输速度,保证了在数据校验过程中不影响设备的对外业务。进一步地,通过在第一数据中携带磁盘读写参数,使得Device可以实时对第一数据的传输速度进行调整,有效利用设备的磁盘资源。通过生成第三数据,有利于提高数据校验的速度和校验准确性。
图3是本发明实施例中提供的一种在线校验装置结构示意图,参见图3,所述装置包括:
第一获取模块301,用于获取主设备和从设备的第一数据,所述第一数据包括监测点的数据文件、日志文件;
第二获取模块302,用于根据接收到的第一数据进行数据恢复,获取第二数据,所述第二数据是根据监测点的数据文件和日志文件恢复的数据;
第三获取模块303,用于根据所述主设备和从设备的第二数据,生成第三数据,所述第三数据包括第二数据、第二数据的主键和特征值;
比较模块304,用于比较所述主设备和从设备的第三数据,输出校验结果。
所述第一获取模块301包括:
发送单元,用于分别向所述主设备和所述从设备发送控制命令,所述控制命令中携带传输速度,使得所述主设备和从设备按照所述传输速度发送所述第一数据;
接收单元,用于接收所述主设备和从设备发送的第一数据。
所述第一数据还包括磁盘读写参数,相应地,所述发送单元还用于根据所述磁盘读写参数,调整所述传输速度,并向所述主设备和从设备发送所述控制命令,所述控制命令携带所述调整后的传输速度,使得所述主设备和从设备按照所述调整后的传输速度继续发送第一数据。
所述第三获取模块303用于根据所述主设备和从设备的第二数据,遍历所述第二数据的每一行,提取所述第二数据中的主键,计算所述第二数据每行的特征值。
所述比较模块304包括:
判断单元,用于判断所述主设备和从设备的第三数据中对应的行数据的主键是否相同;
输出单元,用于如果所述主设备和从设备的第三数据中的对应的行数据的主键相同,且所述主设备和从设备的对应的行数据的特征值不同,分别输出所述主设备和从设备所述对应的行数据;
所述判断单元还用于如果述主设备和从设备的第三数据中对应的行数据的主键不相同,判断所述主设备的第三数据中对应的行数据的主键是否大于所述从设备的第三数据中对应的行数据的主键;
所述输出单元还用于如果所述主设备的第三数据中对应的行数据的主键大于所述从设备的第三数据中对应的行数据的主键,将所述从设备第三数据中对应的行数据输出,如果所述主设备的第三数据中对应的行数据的主键小于所述从设备的第三数据中对应的行数据的主键,将所述主设备第三数据中对应的行数据输出。
本发明通过获取主设备和从设备的第一数据,所述第一数据包括监测点的数据文件、日志文件;根据接收到的第一数据进行数据恢复,获取第二数据,所述第二数据是根据监测点的数据文件和日志文件恢复的数据;根据所述主设备和从设备的第二数据,生成第三数据,所述第三数据包括第二数据、第二数据的主键和特征值;比较所述主设备和从设备的第三数据,输出校验结果。采用本发明提供的装置,通过获取监测点的数据文件和日志文件,避免了对主设备进行对外业务的影响,且通过对第三数据的比较,加快了在线一致性校验的过程,提高了校验的准确性。通过在控制命令中携带传输速度,可以控制主设备和从设备的第一数据的传输速度,保证了在数据校验过程中不影响设备的对外业务。进一步地,通过在第一数据中携带磁盘读写参数,使得Device可以实时对第一数据的传输速度进行调整,有效利用设备的磁盘资源。通过生成第三数据,有利于提高数据校验的速度和校验准确性。
需要说明的是:上述实施例提供的在线校验装置在进行数据校验时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的在线校验装置与在线校验方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种在线校验方法,其特征在于,所述方法包括:
获取主设备和从设备的第一数据,所述第一数据包括监测点的数据文件、日志文件;
根据接收到的第一数据进行数据恢复,获取第二数据,所述第二数据是根据监测点的数据文件和日志文件恢复的数据;
根据所述主设备和从设备的第二数据,生成第三数据,所述第三数据包括第二数据、第二数据的主键和特征值;
判断所述主设备和从设备的第三数据中对应的行数据的主键是否相同;
如果所述主设备和从设备的第三数据中的对应的行数据的主键相同,且所述主设备和从设备的对应的行数据的特征值不同,分别输出所述主设备和从设备所述对应的行数据;
如果所述主设备和从设备的第三数据中对应的行数据的主键不相同,判断所述主设备的第三数据中对应的行数据的主键是否大于所述从设备的第三数据中对应的行数据的主键,如果所述主设备的第三数据中对应的行数据的主键大于所述从设备的第三数据中对应的行数据的主键,将所述从设备第三数据中对应的行数据输出,如果所述主设备的第三数据中对应的行数据的主键小于所述从设备的第三数据中对应的行数据的主键,将所述主设备第三数据中对应的行数据输出。
2.根据权利要求1所述的方法,其特征在于,获取主设备和从设备的第一数据,包括:
分别向所述主设备和所述从设备发送控制命令,所述控制命令中携带传输速度,使得所述主设备和从设备按照所述传输速度发送所述第一数据;
接收所述主设备和从设备发送的第一数据。
3.根据权利要求2所述的方法,其特征在于,所述第一数据还包括磁盘读写参数,相应地,分别向所述主设备和所述从设备发送控制命令,所述控制命令中携带传输速度,使得所述主设备和从设备按照所述传输速度发送所述第一数据,包括:
根据所述磁盘读写参数,调整所述传输速度,并向所述主设备和从设备发送所述控制命令,所述控制命令携带所述调整后的传输速度,使得所述主设备和从设备按照所述调整后的传输速度继续发送第一数据。
4.根据权利要求1所述的方法,其特征在于,根据所述主设备和从设备的第二数据,生成第三数据,所述第三数据包括第二数据、第二数据的主键和特征值,包括:
根据所述主设备和从设备的第二数据,遍历所述第二数据的每一行,提取所述第二数据中的主键,计算所述第二数据每行的特征值。
5.一种在线校验装置,其特征在于,所述装置包括:
第一获取模块,用于获取主设备和从设备的第一数据,所述第一数据包括监测点的数据文件、日志文件;
第二获取模块,用于根据接收到的第一数据进行数据恢复,获取第二数据,所述第二数据是根据监测点的数据文件和日志文件恢复的数据;
第三获取模块,用于根据所述主设备和从设备的第二数据,生成第三数据,所述第三数据包括第二数据、第二数据的主键和特征值;
判断单元,用于判断所述主设备和从设备的第三数据中对应的行数据的主键是否相同;
输出单元,用于如果所述主设备和从设备的第三数据中的对应的行数据的主键相同,且所述主设备和从设备的对应的行数据的特征值不同,分别输出所述主设备和从设备所述对应的行数据;
所述判断单元还用于如果所述主设备和从设备的第三数据中对应的行数据的主键不相同,判断所述主设备的第三数据中对应的行数据的主键是否大于所述从设备的第三数据中对应的行数据的主键;
所述输出单元还用于如果所述主设备的第三数据中对应的行数据的主键大于所述从设备的第三数据中对应的行数据的主键,将所述从设备第三数据中对应的行数据输出,如果所述主设备的第三数据中对应的行数据的主键小于所述从设备的第三数据中对应的行数据的主键,将所述主设备第三数据中对应的行数据输出。
6.根据权利要求5所述的装置,其特征在于,所述第一获取模块包括:
发送单元,用于分别向所述主设备和所述从设备发送控制命令,所述控制命令中携带传输速度,使得所述主设备和从设备按照所述传输速度发送所述第一数据;
接收单元,用于接收所述主设备和从设备发送的第一数据。
7.根据权利要求6所述的装置,其特征在于,所述第一数据还包括磁盘读写参数,相应地,所述发送单元还用于根据所述磁盘读写参数,调整所述传输速度,并向所述主设备和从设备发送所述控制命令,所述控制命令携带所述调整后的传输速度,使得所述主设备和从设备按照所述调整后的传输速度继续发送第一数据。
8.根据权利要求5所述的装置,其特征在于,所述第三获取模块用于根据所述主设备和从设备的第二数据,遍历所述第二数据的每一行,提取所述第二数据中的主键,计算所述第二数据每行的特征值。
CN201310011244.5A 2013-01-11 2013-01-11 在线校验方法和装置 Active CN103927236B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201310011244.5A CN103927236B (zh) 2013-01-11 2013-01-11 在线校验方法和装置
PCT/CN2014/070403 WO2014108083A1 (en) 2013-01-11 2014-01-09 Method and device for verifying consistency of data of master device and slave device
HK15100372.1A HK1200930A1 (zh) 2013-01-11 2015-01-14 在線校驗方法和裝置
US14/792,841 US10176213B2 (en) 2013-01-11 2015-07-07 Method and device for verifying consistency of data of master device and slave device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310011244.5A CN103927236B (zh) 2013-01-11 2013-01-11 在线校验方法和装置

Publications (2)

Publication Number Publication Date
CN103927236A CN103927236A (zh) 2014-07-16
CN103927236B true CN103927236B (zh) 2018-01-16

Family

ID=51145464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310011244.5A Active CN103927236B (zh) 2013-01-11 2013-01-11 在线校验方法和装置

Country Status (4)

Country Link
US (1) US10176213B2 (zh)
CN (1) CN103927236B (zh)
HK (1) HK1200930A1 (zh)
WO (1) WO2014108083A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843702B (zh) 2015-01-14 2019-04-12 阿里巴巴集团控股有限公司 一种用于数据备份的方法以及装置
CN105868171B (zh) * 2015-01-21 2019-04-30 中移信息技术有限公司 一种Excel文件的校验方法及装置
CN104809250B (zh) * 2015-05-19 2018-08-03 福建新大陆电脑股份有限公司 一种松散式数据一致性校验方法
JP6465053B2 (ja) * 2016-03-14 2019-02-06 オムロン株式会社 スレーブ装置、スレーブ装置の制御方法、情報処理プログラム、および記録媒体
CN107622066B (zh) * 2016-07-14 2020-06-30 北京京东尚科信息技术有限公司 用于关系型数据库的数据对比方法以及装置
JP6863305B2 (ja) * 2018-01-29 2021-04-21 オムロン株式会社 ネットワークシステム、制御方法および制御装置
CN109033127B (zh) * 2018-05-31 2021-10-29 创新先进技术有限公司 一种同步数据校验方法、装置以及设备
CN109033420B (zh) * 2018-08-08 2020-11-03 北京奇艺世纪科技有限公司 一种数据处理方法和装置
CN109408290B (zh) * 2018-10-19 2021-02-26 厦门市美亚柏科信息股份有限公司 一种基于InnoDB的碎片文件恢复方法、装置及存储介质
JP7342389B2 (ja) * 2019-03-15 2023-09-12 ブラザー工業株式会社 印刷装置及びテープ
CN111147449A (zh) * 2019-12-09 2020-05-12 杭州迪普科技股份有限公司 一种包过滤策略的测试方法、装置、系统及设备、介质
CN112988689B (zh) * 2019-12-18 2024-10-18 阿里巴巴集团控股有限公司 状态校验方法、装置、电子设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101055538A (zh) * 2006-04-12 2007-10-17 国际商业机器公司 应用容错和恢复的系统和方法
JP2009252149A (ja) * 2008-04-10 2009-10-29 Nippon Telegr & Teleph Corp <Ntt> データベースレプリケーション方法、データベース管理システム及びプログラム
US8140772B1 (en) * 2007-11-06 2012-03-20 Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations System and method for maintaining redundant storages coherent using sliding windows of eager execution transactions
CN102841897A (zh) * 2011-06-23 2012-12-26 阿里巴巴集团控股有限公司 一种实现增量数据抽取的方法、装置及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7788346B2 (en) * 2002-03-01 2010-08-31 Oracle America, Inc. System and method for state data back-up in a distributed data system
US7793060B2 (en) * 2003-07-15 2010-09-07 International Business Machines Corporation System method and circuit for differential mirroring of data
US8682844B2 (en) * 2005-01-28 2014-03-25 Sap Ag Method and apparatus for collision resolution in an asynchronous database system
US20080140734A1 (en) * 2006-12-07 2008-06-12 Robert Edward Wagner Method for identifying logical data discrepancies between database replicas in a database cluster
US7680876B1 (en) * 2006-12-14 2010-03-16 Cisco Technology, Inc. Highly available domain name system
US7792983B2 (en) * 2007-07-31 2010-09-07 International Business Machines Corporation Method and apparatus for checkpoint and restart of pseudo terminals
US9251012B2 (en) * 2008-01-18 2016-02-02 Tivo Inc. Distributed backup and retrieval system
US9389892B2 (en) * 2010-03-17 2016-07-12 Zerto Ltd. Multiple points in time disk images for disaster recovery
US8200624B2 (en) * 2010-07-20 2012-06-12 Sybase, Inc. Membership tracking and data eviction in mobile middleware scenarios
CN102203779B (zh) * 2011-05-03 2013-04-17 华为技术有限公司 更新数据的方法和控制装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101055538A (zh) * 2006-04-12 2007-10-17 国际商业机器公司 应用容错和恢复的系统和方法
US8140772B1 (en) * 2007-11-06 2012-03-20 Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations System and method for maintaining redundant storages coherent using sliding windows of eager execution transactions
JP2009252149A (ja) * 2008-04-10 2009-10-29 Nippon Telegr & Teleph Corp <Ntt> データベースレプリケーション方法、データベース管理システム及びプログラム
CN102841897A (zh) * 2011-06-23 2012-12-26 阿里巴巴集团控股有限公司 一种实现增量数据抽取的方法、装置及系统

Also Published As

Publication number Publication date
CN103927236A (zh) 2014-07-16
US10176213B2 (en) 2019-01-08
US20150317351A1 (en) 2015-11-05
WO2014108083A1 (en) 2014-07-17
HK1200930A1 (zh) 2015-08-14

Similar Documents

Publication Publication Date Title
CN103927236B (zh) 在线校验方法和装置
CN103647777B (zh) 一种安全认证方法和双向转发检测bfd设备
CN103441861B (zh) 一种数据记录生成方法及装置
CN108696589A (zh) 区块链数据传输方法、装置、设备和存储介质
US20160196226A1 (en) Method and Apparatuses for Monitoring System Bus
CN106354865B (zh) 一种同步主从数据库的方法、装置和系统
CN108237994B (zh) 日志信息处理方法、日志信息处理单元及微控制单元mcu
CN102752283A (zh) 大数据量文件的传输方法及系统
CA2550614A1 (en) Cluster database with remote data mirroring
WO2014040488A1 (zh) 一种规划数据一致性保证的方法和装置
CN103177368A (zh) 用于电子商务系统的对账方法和系统
CN107546749A (zh) 一种直流闭锁故障后的安控切机措施量计算方法及系统
CN118400181B (zh) 一种基于云平台的信息计算安全系统及装置
US11630847B2 (en) Synchronization system and method for substation monitoring backend database, SCD, and RCD
CN115102862B (zh) 一种用于sdn设备的自动同步方法及装置
CN116192534A (zh) 列控数据通信传输方法、装置、设备及存储介质
CN108206840A (zh) 用于风电场的通信方法、服务器及风机
CN104009893A (zh) 一种适用于压缩主控器内部监听的能够增强时钟同步容错的方法
CN106487469B (zh) 一种时间节点切换方法与系统
CN115543755A (zh) 一种性能监管方法、装置、系统、设备和介质
CN106934302A (zh) 一种数据有效性检验方法
CN106408449A (zh) 一种变电站监控信息完整性校验方法及系统
CN102929746A (zh) 一种用于彩票销售系统的快速备份及恢复方法
CN113821463A (zh) 基于fpga的pcie控制器验证方法、装置及计算机设备
CN202696903U (zh) 一种接入控制器用故障管理系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1200930

Country of ref document: HK

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1200930

Country of ref document: HK