数据一致性的自检方法、装置、系统和业务装置与流程

文档序号:11620571阅读:334来源:国知局
数据一致性的自检方法、装置、系统和业务装置与流程

本申请涉及数据检测技术领域,尤其涉及一种数据一致性的自检方法、装置、系统和业务装置。



背景技术:

在以数据访问和查询为主的系统中,全量状态型数据(例如用户基本信息,签约信息等相对静态的状态型数据,尤其是读写分离、设置缓存的数据)天然具备修改少、查询多的特性,架构设计上多采用复制多份,用空间换取查询时间的方式,即为了提高查询性能,通常会在一份源数据的基础上将全量状态型数据冗余多份保存在不同的数据库或缓存中。这种设计直接带来多份数据之间的一致性的数据质量难题。

在这种系统中,多份数据间的一致性保障尤其关键。传统验证多份数据复制逻辑和最终一致性保障方式,基本是线下通过模拟业务场景,模拟各类数据,模拟网络异常等手段来验证代码逻辑,成本高且难以覆盖各种极端情况,以及各类实际网络异常情况,造成还是会有生产数据不一致,不准确情况产生。当多份数据不一致时,系统本身没有有效的手段感知,不会报错,只有在对用户产生业务影响后用户上报反馈,系统才能得知。因此,如果关键的数据不准确,将会直接带来用户资产损失或操作中断,影响恶劣。

目前,可通过数据仓库清洗后汇总到一个数据库中,依据一定业务逻辑进行比对,以实现数据是否一致的比对,但这种方法需要在所有业务都处理完毕后进行最终汇总才能比对,实时性较差,且只能适用于数据库型存储,对缓存型存储还不能支持。



技术实现要素:

为解决现有技术中的上述问题,本申请的一个目的在于提出一种数据一致性的自检方法、装置、系统和业务装置,可以在业务变更源数据后对副本是否变更一致进行校验,校验过程与业务装置隔离,且时效性好。

为达到上述目的,本申请实施例提出的数据一致性的自检方法,包括:接收业务装置发送的变更数据信息;根据预设的校验模式和所述变更数据信息向所述业务装置 发送比对数据调用请求;接收返回的比对数据,并对所述比对数据进行一致性校验。

为达到上述目的,本申请实施例提出的数据一致性的自检方法,包括:根据业务变更将变更数据信息发送至自检装置;接收所述自检装置发送的比对数据调用请求;根据所述比对数据调用请求返回对应的比对数据,以进行一致性校验。

为达到上述目的,本申请实施例提出的数据一致性的自检装置,包括:接收模块,用于接收业务装置发送的变更数据信息;发送模块,用于根据预设的校验模式和所述变更数据信息向所述业务装置发送比对数据调用请求;校验模块,用于接收返回的比对数据,并对所述比对数据进行一致性校验。

为达到上述目的,本申请实施例提出的业务装置,包括:通知模块,用于根据业务变更将变更数据信息发送至自检装置;第一接收模块,用于接收所述自检装置发送的比对数据调用请求;发送模块,用于根据所述比对数据调用请求返回对应的比对数据,以进行一致性校验。

为达到上述目的,本申请实施例提出的数据一致性的自检系统,包括本申请任一实施例所述的数据一致性的自检装置和本申请任一实施例所述的业务装置。

由以上本申请实施例提供的技术方案可见,通过业务装置发送变更数据信息,自检装置根据预设的校验模式和变更数据信息向业务装置发送比对数据调用请求,并根据业务装置返回的比对数据进行一致性校验,数据校验过程不影响业务装置工作,校验过程和结果不影响正常业务的进行,且能够及时对变更的数据进行校验,具有良好的实时性和隔离性,并能够同时适用于数据库型存储和缓存型存储。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一实施例提出的数据一致性的自检方法的流程示意图;

图2是本申请一实施例的数据一致性的自检装置的结构示意图;

图3是本申请另一实施例的数据一致性的自检装置的结构示意图;

图4是本申请另一实施例提出的数据一致性的自检方法的流程示意图;

图5是本申请一实施例的业务装置的结构示意图;

图6是本申请另一实施例的业务装置的结构示意图;

图7所示是本申请一具体实施例的数据一致性的自检系统的结构示意图;

图8是根据本申请一具体实施例的数据一致性的自检方法的流程示意图;

图9是根据本申请一具体实施例的数据一致性的自检系统的结构示意图。

具体实施方式

本申请实施例提供一种数据一致性的自检方法、装置、系统和业务装置。

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

图1是本申请一实施例提出的数据一致性的自检方法的流程示意图,在该图所示的实施例中,自检装置通过接收业务装置修改数据后发送的变更数据信息确定要进行校验的目标数据,再到业务装置获取各个数据库中的待校验的目标数据进行一致性校验。如图1所示,该方法包括:

步骤101,接收业务装置发送的变更数据信息。

其中,变更数据信息能够标识本次变更所涉及到的源数据,包括变更数据的位置信息,例如该数据位于数据库或缓存的哪类表格中以及在该类表格中的第几行,地址id或者其他的位置标识信息。

步骤102,根据预设的校验模式和所述变更数据信息向所述业务装置发送比对数据调用请求。其中,预设的校验模式用于控制比对数据的来源范围,例如只校验两个数据库的数据,或者只校验某一指定数据库和缓存的数据等。根据校验模式和变更数据信息可以确定要获取的比对数据来源和具体地址。所需获取的比对数据包括待校验的源数据和冗余数据(即副本数据),以根据源数据的最终值判断冗余数据是否同步变更。

步骤103,接收返回的比对数据,并对所述比对数据进行一致性校验。

具体地,业务装置在发生业务变更修改源数据之后,会发送变更数据信息到自检装置进行通知,同时对冗余数据也会进行相应的修改,自检装置在收到变更数据信息后,根据预设的的校验模式和所述变更数据信息向所述业务装置发送比对数据调用请求,从而获取要校验的比对数据来与修改后的源数据进行比对,以验证业务系统是否对相同的冗余数据进行了相应的修改以及修改是否正确。自检装置以独立装置的方式对业务装置的数据进行一致性校验,整个校验过程都只需通过业务装置预设的接口进行通信交互,数据校验的过程和处理结果不影响正常业务的进行,具有良好的实时性和隔离性。

在一个具体实施例中,考虑到对于不同业务导致的数据变更的通用化支持,自检装置可以为不同业务装置定义通用的比对数据获取接口,由不同业务装置实现,保证框架的通用,同时又不侵入业务装置。

根据本申请的一个实施例,在所述根据预设的校验模式和所述变更数据信息向所述业务装置发送比对数据调用请求之前,还包括:根据预设的校验比例判断是否根据所述变更数据信息进行数据校验;若进行校验,则根据预设的校验模式和所述变更数据信息向所述业务装置发送比对数据调用请求。

根据本申请的一个实施例,所述比对数据调用请求包括所述变更数据的位置信息,以及根据所述校验模式确定的比对数据的数据来源。

具体地,在接收到变更数据信息后,可以根据校验比例获取对应的随机数来确定是否根据该变更数据信息进行数据校验。校验比例用于控制是否对每个变更数据信息都进行校验,校验比例可以设置全部比对,即比例设置为1,也可以设置百分之一,即比例值设置为0.01。通过设置该校验比例能有效控制比对范围,异常情况下也可以设置为0,即关闭自检,避免影响系统稳定性。自检系统中可设有自检数据库,在确定进行校验后,需要将根据该变更数据信息将本次的校验任务记录到自检数据库中,并将之后的操作也更新记录到自检数据库中。这样可以有效增加自检过程的稳定性、独立性和可追溯性。

根据本申请的一个实施例,所述根据预设的校验模式和所述变更数据信息向所述业务装置发送比对数据调用请求包括:按照预设时间间隔根据预设的校验模式和所述变更数据信息向所述业务装置发送比对数据调用请求。具体地,在数据变更频繁的情 况下,自检装置可能会接连收到多个变更数据信息,如果同时开始处理可能会造成处理量的激增,导致自检装置崩溃、卡死、错误等不稳定的问题。因此,可以通过定时调度装置定时获取自检装置接收到的变更数据信息,来触发自检装置对数据的一致性校验。

根据本申请的一个实施例,比对数据包括待验的源数据和副本数据,源数据具有标明最近更新时间的标识,在接收返回的比对数据之后,所述方法还包括:当待验的源数据的最近更新时间与当前时间的差值小于预设阈值时,取消对所述比对数据的校验。如果业务变更频繁,在获取比对数据后,如果发现待比对的源数据在最近的一定时间内(如30s内)发生变更,则丢弃该次比对,以免由于业务系统没有充分的时间针对该次变更同步修改相应的副本数据,降低自检装置的不必要的工作消耗,并提高校验的准确度,减少误报。

根据本申请的一个实施例,所述对所述比对数据进行一致性校验包括:根据预设的比对逻辑对所述比对数据进行一致性校验。

在具体的实施例中,自检装置可以通过比对引擎来实现具体的一致性校验过程。可预先设置不同业务对应的校验数据时的比对逻辑,校验时通过比对引擎来控制选用对应的比对逻辑。比对逻辑可以有多种,例如对于密码或电话号码的变更,可以采用逐位比对,对于非重要信息的变更采用关键词比对等。还可以通过配置比对引擎实现多个源数据之间的比对,例如以不同数据库语言存储在多个数据来源中的源数据之间是否同步,以及实现单个数据和关联数据的属性的比对,例如对于绑定银行卡使账户得到认证属性的变更,可以采用属性比对等。

根据本申请的一个实施例,在所述对所述比对数据进行一致性校验之后,还包括:记录校验结果,并根据所述校验结果生成监控日志;将所述监控日志输出到预设的监控平台,以进行数据监控和预警。

根据本申请的一个实施例,在所述对所述比对数据进行一致性校验之后,还包括:当校验结果为不一致时,向所述业务装置发送数据修改提醒。

根据本申请的实施例,可以通过接收业务装置发送的变更数据信息,根据预设的校验模式和所述变更数据信息向所述业务装置发送比对数据调用请求,接收返回的比对数据,并对所述比对数据进行一致性校验,不影响业务装置工作,数据校验的过程和处理结果不影响正常业务的进行,且能够及时对变更的数据进行校验,具有良好的 实时性和隔离性,并能够同时适用于数据库型存储和缓存型存储。

基于同一发明构思,本申请实施例还提供了一种数据一致性的自检装置,可以用于实现上述实施例所描述的方法,如下面的实施例所述。由于数据一致性的自检装置解决问题的原理与数据一致性的自检方法相似,因此数据一致性的自检装置的实施可以参见数据一致性的自检方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能被构想的。

图2是本申请一实施例的数据一致性的自检装置的结构示意图。本实施例的装置可以为实现相应功能的逻辑部件构成,也可以为运行有相应功能软件的电子设备。数据一致性的自检装置具体可以是自检装置。

如图2所示,该数据一致性的自检装置包括:接收模块101、发送模块102和校验模块103。

具体地,接收模块101用于接收业务装置发送的变更数据信息。

发送模块102用于根据预设的校验模式和所述变更数据信息向所述业务装置发送比对数据调用请求。

校验模块103用于接收返回的比对数据,并对所述比对数据进行一致性校验。

根据本申请的实施例,可以通过接收业务装置发送的变更数据信息,根据预设的校验模式和所述变更数据信息向所述业务装置发送比对数据调用请求,接收返回的比对数据,并对所述比对数据进行一致性校验,不影响业务装置工作,数据校验的过程和处理结果不影响正常业务的进行,且能够及时对变更的数据进行校验,具有良好的实时性和隔离性,并能够同时适用于数据库型存储和缓存型存储。

图3所示是本申请另一实施例的数据一致性的自检装置的结构示意图。

如图3所示,在图2的基础上,所述自检装置还包括:判断模块104、取消模块105、监控模块106、输出模块107和提醒模块108。

具体地,判断模块104用于根据预设的校验比例判断是否根据所述变更数据信息进行数据校验。

所述变更数据信息包括变更数据的位置信息,所述发送模块102还用于按照预设时间间隔根据预设的校验模式和所述变更数据信息向所述业务装置发送比对数据调 用请求,其中,所述比对数据调用请求包括所述变更数据的位置信息,以及根据所述校验模式确定的所述比对数据的数据来源。

取消模块105用于在所述待验的源数据的最近更新时间与当前时间的差值小于预设阈值时,取消对所述比对数据的校验。

所述校验模块103包括比对引擎,用于根据预设的比对逻辑对所述比对数据进行一致性校验。

根据本申请的一个实施例,所述变更数据信息包括变更数据的位置信息,所述比对数据调用请求包括所述变更数据的位置信息和比对数据的数据来源。

监控模块106用于记录校验结果,并根据所述校验结果生成监控日志。

输出模块107用于将所述监控日志输出到预设的监控平台,以进行数据监控和预警。

提醒模块108用于在校验结果为不一致时向所述业务装置发送数据修改提醒。

根据本申请的实施例,可以通过接收业务装置发送的变更数据信息,根据预设的校验模式和所述变更数据信息向所述业务装置发送比对数据调用请求,接收返回的比对数据,并对所述比对数据进行一致性校验,通过预设接口的通信进行数据交互,不影响业务装置工作,数据校验的过程和处理结果不影响正常业务的进行,且能够及时对变更的数据进行校验,具有良好的实时性和隔离性,并能够同时适用于数据库型存储和缓存型存储。此外,通过设置校验比例和定时触发机制,能够增强自检装置的稳定性,校验结果可以输出到监控平台,用作监控和报警使用,也可以直接通知业务装置对错误的数据进行修改更正,应用广泛,处理灵活。

图4是根据本申请另一实施例提出的数据一致性的自检方法的流程示意图,本实施例以从业务装置的角度实现为例进行说明,在业务装置对源数据进行变更后,可以通知自检装置对该次变更所涉及的数据的一致性进行检测。

该图4所示的方法包括:

步骤401,根据业务变更将变更数据信息发送至自检装置。

步骤402,接收所述自检装置发送的比对数据调用请求。

步骤403,根据所述比对数据调用请求返回对应的比对数据,以进行一致性校验。

具体地,在业务变更导致源数据有修改时,业务装置生成相关的变更数据信息发送至自检装置,以通知自检装置进行数据一致性校验,自检装置在确认进行数据校验 后根据变更数据信息和预设的检验模式生成比对数据调用请求发送至业务装置以获取校验所需的比对数据。业务装置可以通过预设的接口与自检装置进行交互,根据比对数据调用请求到各个对应的数据源(数据库或缓存等)获取校验所需的比对数据,并发送给自检装置。从而实现数据一致性的校验。校验结果可以发送到额外的监控或控制平台进行数据的监控和预警,也可以直接发送回业务装置提醒修改数据

根据本申请的一个实施例,所述变更数据信息包括变更数据的位置信息。变更数据信息能够标识本次变更所涉及到的源数据,包括变更数据的位置信息,例如该数据位于数据库或缓存的哪类表格中以及在该类表格中的第几行,地址id或者其他的位置标识信息。

根据本申请的一个实施例,所述比对数据调用请求所述变更数据的位置信息和比对数据的数据来源,所述根据所述比对数据调用请求返回对应的比对数据具体包括:根据所述位置信息和所述数据来源获取所述比对数据。比对数据的数据来源例如是指定的一个或多个数据库,或者指定的一个或多个数据库以及缓存等。根据数据来源和变更数据的位置信息(例如位置标识等)可以具体查找到所要获取的比对数据。

根据本申请的一个实施例,当校验结果为不一致时,所述方法还包括:接收所述自检装置发送的数据修改提醒;根据所述数据修改提醒对相应的比对数据进行修改。

根据本申请的一个实施例,所述根据业务变更将变更数据信息发送至自检装置包括:通过异步通知方式向所述自检装置发送所述变更数据信息。具体的,可以通过异步通知消息实现,也可以通过单独的异步通知模块、平台、系统等实现。通常,业务装置发送通知等消息到自检装置的行为是不具备重试功能的,而业务装置与异步通知装置之间可以预先建立协议,在消息失败的情况下可以重新发送直到成功,再经由异步通知装置向自检装置发送,降低业务装置和自检装置的处理能力需求,提高业务装置与自检装置的隔离性。

本实施例的方法通过在数据变更后根据业务变更向自检装置发送变更数据信息,并根据自检装置发送的比对数据调用请求查找所需校验的比对数据并返回至自检装置,从而实现在业务装置之外对冗余数据与源数据的一致性进行校验,不影响业务装置的性能,隔离性好,且能够适用于多种存储类型的数据校验,能够在业务变更后及时发送变更数据信息进行自检,实时性好。

基于同一发明构思,本申请实施例还提供了一种业务装置,可以用于实现上述实 施例所描述的方法,如下面的实施例所述。由于业务装置解决问题的原理与上一实施例数据一致性的自检方法相似,因此业务装置的实施可以参见数据一致性的自检方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能被构想的。

图5是本申请一实施例的业务装置的结构示意图。该装置可以是实现所述业务装置所用的装置,可通过业务处理对各数据库的数据进行变更。该实施例的装置可以为实现相应功能的逻辑部件构成,也可以为运行有相应功能软件的高性能计算机,具体例如是服务器。业务装置具体可以是业务装置。

如图5所示,该业务装置包括:通知模块201、第一接收模块202和发送模块203。

通知模块201用于根据业务变更将变更数据信息发送至自检装置;

第一接收模块202用于接收所述自检装置发送的比对数据调用请求;

发送模块203用于根据所述比对数据调用请求返回对应的比对数据,以进行一致性校验。

根据本申请的一个实施例,比对数据调用请求所述变更数据的位置信息和比对数据的数据来源,所述发送模块203包括:获取单元,用于根据所述位置信息和所述数据来源获取所述比对数据。

根据本申请的一个实施例,如图6所示,当校验结果为不一致时,所述业务装置在图5的基础上还包括:第二接收模块204和修改模块205。

第二接收模块204,用于接收所述自检装置发送的数据修改提醒;

修改模块205,用于根据所述数据修改提醒对相应的比对数据进行修改。

根据本申请的一个实施例,所述通知模块201包括:异步通知单元,用于通过异步通知方式向所述自检装置发送所述变更数据信息。

本实施例的装置通过在数据变更后根据业务变更向自检装置发送变更数据信息,并根据自检装置发送的比对数据调用请求查找所需校验的比对数据并返回至自检装置,从而实现在业务装置之外对冗余数据与源数据的一致性进行校验,不影响业务装置的性能,隔离性好,且能够适用于多种存储类型的数据校验,能够在业务变更后及时发送变更数据信息进行自检,实时性好。

基于同一发明构思,本申请实施例还提供了一种数据一致性的自检系统,可以用 于实现上述实施例所描述的方法,如上述实施例所述,重复之处不再赘述。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图7所示是本申请一具体实施例的数据一致性的自检系统的结构示意图。如图7所示,所述系统包括上述任一实施例所述的数据一致性的自检装置100和业务装置200。其中,数据一致性的自检装置100具体可以是自检装置,业务装置200具体可以是业务装置。

根据本申请的一个实施例,所述系统还包括:定时调度装置,用于控制所述自检装置按照预设时间间隔进行数据一致性校验。

另外,数据一致性的自检系统还可以包括设置后处理装置或模块,在校验结果为不一致时用于处理数据修改等问题。

本实施例的系统可以通过业务装置发送变更数据信息,自检装置根据预设的校验模式和变更数据信息向业务装置发送比对数据调用请求,并根据业务装置返回的比对数据进行一致性校验,数据校验过程不影响业务装置工作,校验过程和结果不影响正常业务的进行,且能够及时对变更的数据进行校验,具有良好的实时性和隔离性,并能够同时适用于数据库型存储和缓存型存储。

此外,对比于现有的校验方式,本系统可以直接在生产环境实施,通过实时的监控和报警手段,及时发现数据不一致问题,并能由系统自动发现,精确定位到问题数据,不再被动处理问题,而是能够主动发现问题从而快速消除影响,避免带来大范围用户和业务影响,有效提升了多份全量数据最终一致性的验证效率和出现问题时的响应速度。

图8是根据本申请一具体实施例的数据一致性的自检方法的流程示意图,本实施例中采用业务装置与自检装置交互的方式进行说明。其中与前述实施例重复之处,不再赘述。如图8所示,该方法包括:

步骤1,业务装置根据业务变更将变更数据信息发送至自检装置。

其中,如图9所示,业务装置中保存有多种类型的数据源,例如不同的数据库和缓存等,不同的业务都可以通过业务装置对相应的数据源进行访问和操作。业务装置与自检装置可通过预设的比对数据调用接口进行交互。

具体地,业务装置可以通过异步通知的方式发送所述变更数据信息,也可以通过 单独的异步通知模块、平台、系统等实现,以提高业务装置与自检装置之间的隔离性。通常,业务装置发送通知等消息到自检装置的行为是不具备重试功能的,而业务装置与异步通知装置之间可以预先建立协议,在消息失败的情况下可以重新发送直到成功,再经由异步通知装置向自检装置发送,降低业务装置和自检装置的处理能力需求,提高业务装置与自检装置的隔离性。

本实施例以修改密码业务数据变更为例进行说明。在修改密码后,业务装置对存储在写数据库的源数据进行了修改,也相应地修改其他数据源中的冗余数据,并将所修改的源数据的位置标识信息生成变更数据信息发送至自检装置以发起数据一致性校验。因为在业务系统中对冗余数据的同步修改会存在一定概率的遗漏,例如由于网络延迟、操作失误等原因一些关键的副本数据不能及时得到同步修改,则会出现无法支付等严重影响用户体验的问题。

步骤2,自检装置接收业务装置发送的变更数据信息。

具体地,为了对不同业务导致的数据变更的校验进行通用化支持,自检装置可以为不同业务装置定义通用的比对数据获取接口,由不同业务装置实现,各业务装置均通过该接口与自检装置进行交互,以保证框架的通用,同时又不侵入业务装置。

步骤3,自检装置根据预设的校验比例判断是否根据所述变更数据信息进行数据校验。

具体地,可以根据校验比例获取对应的随机数来确定是否根据该变更数据信息进行数据校验。例如校验比例为0.1,则每收到一个变更数据信息都通过一个预设概率的随机数来判定这一条信息是否落在被校验的10%中,如果是,则根据该信息进行校验,否则根据其进行校验。另外,在一个具体实施例中,还可以通过识别所修改的数据内容来判定是否根据该信息进行校验,例如,识别修改的数据是密码等的重要信息,则采用100%的选中概率进行校验,如果是修改邮编、个性签名等重要性较低的信息,则采用较低的选中概率进行校验。

步骤4,若进行校验,则记录所述变更数据信息。

具体地,自检装置可以将变更数据信息记录到自检数据库中,建立校验任务记录,基于该任务的后续操作也更新记录到自检数据库中。

如图9所示,自检装置中可以包括比对引擎、监控模块、自检控制器和自检数据库。比对引擎主要控制不同业务数据的比对逻辑,监控模块主要是根据比对引擎比对 出的结果,进行一定格式的日志记录,自检控制器主要控制校验模式和变更数据信息的校验比例。

步骤5,定时调度装置按照预设时间间隔获取所述自检装置记录的变更数据信息,启动对应的数据检验任务。

需要理解的是,除前述的特征外,由于定时调度机制并不是在记录变更数据信息之后立即触发自检装置启动数据校验任务,而是经过预设时间后启动,一方面可以在业务系统对冗余数据修改结束后开始实施校验,另一方面通过设置定时调度机制还可以在同一数据频繁变更后的一定时间内只对该数据的最终变更结果进行检测,减少不必要的校验任务。

步骤6,自检装置根据预设的校验模式确定比对数据的数据来源。

具体地,预设的校验模式和校验比例均可以由图9中的自检控制器进行控制。其中,预设的校验模式用于控制比对数据的来源范围,例如只校验两个数据库的数据,或者只校验某一指定数据库和缓存的数据等。根据校验模式和变更数据信息可以确定要获取的比对数据来源和具体地址。该功能可以通过自检装置中的自检控制器实现。

步骤7,自检装置根据预设的校验模式和所述变更数据信息向业务装置发送比对数据调用请求。

步骤8,业务装置接收比对数据调用请求,根据比对数据调用请求获取并返回对应的比对数据。

步骤9,自检装置接收返回的比对数据,判断待验的源数据的最近更新时间与当前时间的差值是否小于预设阈值,若小于,则取消对所述比对数据的校验;否则执行步骤10。

具体地,比对数据包括待验的源数据和副本数据,所述源数据具有标明最近更新时间的标识。如果业务变更频繁,在获取比对数据后,如果发现待比对的源数据在最近的一定时间内(如30s内)发生变更,则丢弃该次比对,以免由于业务系统没有充分的时间针对该次变更同步修改相应的副本数据,降低自检装置的不必要的工作消耗,并提高校验的准确度,减少误报。

步骤10,采用比对引擎根据预设的比对逻辑对所述比对数据进行一致性校验。

得到校验结果后,可执行步骤11或步骤13进行处理。

步骤11,记录校验结果,并根据所述校验结果生成监控日志。

该过程可通过图9中自检装置的监控模块实现。

步骤12,将所述监控日志输出到预设的监控平台,以进行数据监控和预警。

步骤13,当校验结果为不一致时,向业务装置发送数据修改提醒。

数据修改提醒的内容具体是不一致数据的具体位置等,以使业务装置根据该提醒进行数据修改。

步骤14,业务装置接收所述自检装置发送的数据修改提醒,并根据所述数据修改提醒对相应的比对数据进行修改。

以上步骤中,步骤11-14是可选的。对于校验结果可以采用多种方式进行处理,本申请对此不做限定。

在本申请的具体实施例中,可以通过在业务装置之外建立异步化处理装置来实现数据一致性自检,也可以通过插件的方式来实现,但前者与业务装置的隔离性更好,维护也更加便捷。

本实施例通过业务装置发送变更数据信息,自检装置根据预设的校验模式和变更数据信息向业务装置发送比对数据调用请求,并根据业务装置返回的比对数据进行一致性校验,数据校验过程不影响业务装置工作,校验过程和结果不影响正常业务的进行,且能够及时对变更的数据进行校验,具有良好的实时性和隔离性,并能够同时适用于数据库型存储和缓存型存储。

此外,对比于现有的校验方式,本系统可以直接在生产环境实施,通过实时的监控和报警手段,发现速度可以达到分钟级,能够及时发现数据不一致问题,并能由系统自动发现,精确定位到问题数据,不再被动处理问题,而是能够主动发现问题从而快速消除影响,避免带来大范围用户和业务影响,有效提升了多份全量数据最终一致性的验证效率和出现问题时的响应速度。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1