一种用于数据同步中的异常检测的方法与设备的制造方法_3

文档序号:9579331阅读:来源:国知局
步数据检测历史记录,确定所述备份数据库30中待检测的同步数据所对应的目标范围。也就是说,第一装置100’在根据对设备30的数据写操作获得实时同步数据所对应的目标范围之外,还对同步数据检测历史记录进行检测,如果同步数据检测历史记录中记载了主数据库20和备份数据库30在历史数据同步过程中存在数据不一致的情况,此时,第一装置100’将所述不一致数据和所述实时同步数据一起作为待检测的同步数据,并将所述不一致数据所对应的目标范围与所述实时同步数据所对应的目标范围一起作为待检测的同步数据的目标范围。
[0040]图3示出根据本申请另一个优选实施例的一种用于数据同步中的异常检测的设备10,其中,该设备10包括第一装置100”、第二装置110”、第三装置120”、第四装置130”和第五装置140”。具体地,第一装置100”在主数据库20与备份数据库30的同步过程中确定所述备份数据库30中待检测的同步数据所对应的目标范围;第二装置110”获取与所述目标范围相对应的基准数据;第三装置120”根据所述基准数据检测所述待检测的同步数据是否与所述主数据库20中的对应数据相一致;第四装置130”存储经检测与所述主数据库20中的对应数据不一致的同步数据;第五装置140”根据所述不一致的同步数据进行对应的报警处理或对所述备份数据库30的修复处理。在此,第一装置100”、第二装置110”和第三装置120”分别与图1中第一装置100、第二装置110和第三装置120的内容相同或基本相同,第四装置130”与图2中第四装置130’的内容相同或基本相同,为简明起见,故在此不再赘述,并以引用的方式包含于此。
[0041]具体地,在一个实施例中,第五装置140”根据检测到的不一致的同步数据直接产生报警信号,并将该报警信号通过例如弹出提示窗口、发送邮件、发送短信等方式提供给数据库管理人员,提示数据库管理人员主数据库20和备份数据库30在数据同步过程中出现了数据不一致的问题,数据库管理人员收到报警信号后即可访问第四装置130”中存储的不一致的同步数据来对数据同步过程中所产生的问题进行定位,进而对备份数据库30中的同步数据进行修复;在另一个实施例中,第五装置140”可以进一步地对检测到的不一致的同步数据进行分析,并根据分析结果对数据同步过程中所产生的问题进行定位,然后将定位结果通过例如弹出提示窗口、发送邮件、发送短信等方式提供给数据库管理人员,数据库管理人员根据该定位结果可以快速、准确地对备份数据库30中的同步数据进行修复;在又一个实施例中,第五装置140”对不一致的同步数据进行分析以获得数据同步过程中所产生的问题进行定位后,可以根据定位结果直接对备份数据库30进行修复处理,而无需数据库管理人员进行手动修复。数据库管理人员或设备10对备份数据库30进行修复结束后,将同步数据不一致的记录修改为“已修复”即可。
[0042]本领域技术人员应能理解上述将该报警信号通过例如弹出提示窗口、发送邮件、发送短信等方式提供给数据库管理人员的方式仅为举例,其他现有的或今后可能出现的将该报警信号以较为醒目的形式提供给数据库管理人员的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
[0043]图4示出根据本申请另一个方面的一种用于数据同步中的异常检测的方法流程图。
[0044]该方法包括步骤S1、步骤S2和步骤S3。具体地,在步骤S1中,设备10在主数据库20与备份数据库30的同步过程中确定所述备份数据库30中待检测的同步数据所对应的目标范围;在步骤S2中,设备10获取与所述目标范围相对应的基准数据;在步骤S3中,设备10根据所述基准数据检测所述待检测的同步数据是否与所述主数据库20中的对应数据相一致。
[0045]在此,设备10可以是本地设备,也可以是网络设备。其中,网络设备可由网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云等实现。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。在此,所述设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。
[0046]具体地,在步骤S1中,数据库系统部署为主备模式,即数据库系统包括主数据库20和与该主数据库20对应的备份数据库30。当主数据库20中的数据发生变化时,例如新数据的写入或原始数据的修改,为了使备份数据库30中的数据和主数据库20中的数据一致,主数据库20和备份数据库30之间需要进行数据的同步。在主数据库20和备份数据库30的同步过程中,设备10对同步至备份数据库30的数据进行一致性的检测,其中,下文中将该数据称为待检测的同步数据。需要说明的是,在本实施例中,所述设备10优选地以第三方设备的方式出现,即所述设备10独立于主数据库20以及备份数据库30,如此一来,即使主数据库20和/或备份数据库30出现任何异常状况(例如宕机等),设备10也不会受到影响,可以正常工作。
[0047]设备10在主数据库20与备份数据库30的同步过程中确定所述备份数据库30中待检测的同步数据所对应的目标范围。其中,当主数据库20和备份数据库30进行数据同步时,同步数据将写入备份数据库30中,也就是说,一旦备份数据库30中发生数据写操作,则表明主数据库20和备份数据库30之间在进行数据同步。因此,在一个优选实施例中,在主数据库20与备份数据库30进行数据同步的过程中,设备10根据对所述备份数据库30的数据写操作确定所述备份数据库30中待检测的同步数据所对应的目标范围。以备份数据库30是MySQL数据库为例进行说明。在主数据库20和备份数据库30进行数据同步的过程中,同步数据在写入备份数据库30时会将该写操作记录在binlog中,备份数据库30检测binlog的变化并解析binlog以还原该写操作以获得实时写入备份数据30的数据流,因此,设备10通过获取解析binlog后还原的写操作即可抓取到实时写入备份数据库30的数据流,也就是待检测的同步数据所对应的目标范围。
[0048]本领域技术人员应能理解上述在主数据库与备份数据库的同步过程中根据对所述备份数据库的数据写操作确定所述备份数据库中待检测的同步数据所对应的目标范围的方式仅为举例,其他现有的或今后可能出现的在主数据库与备份数据库的同步过程中确定所述备份数据库中待检测的同步数据所对应的目标范围的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
[0049]在步骤S2中,设备10在确定了备份数据库30中待检测的同步数据所对应的目标范围之后,进一步获取与该目标范围相对应的基准数据。其中,所述基准数据是备份数据库30中与所述目标范围所对应的一条或者多条数据库记录。
[0050]在一个优选实施例中,设备10获取与该目标范围相对应的基准数据的步骤包括:设备10首先通过解析所述备份数据库30的预写日志(WAL, Write Ahead Logging)实现所述备份数据库30中数据变化的回放。例如,若所述备份数据库30是MySQL数据库,设备10则通过该MySQL数据库中的数据复制中心(DRC, Data Replicat1n Center)解析binlog来实现数据变化的回放;又例如,若所述备份数据库30是HBase数据库,设备10则通过该HBase数据库中的iback解析Hlog来实现数据变化的回放。其中,通过解析数据库的预写日志实现该数据库中数据变化的回放是本领域技术人员所熟悉的技术手段,为了简明起见,在此不再对所有解析数据库的预写日志的方式进行一一列举。接着,设备10根据所述目标范围从该回放数据中获取相对应的基准数据。
[0051]本领域技术人员应能理解上述通过解析所述备份数据库的预写日志实现所述备份数据库中数据变化的回放以从中获取与所述目标范围相对应的基准数据的方式仅为举例,其他现有的或今后可能出现
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1