多数据库修改事务的验证方法、装置、设备及存储介质与流程

文档序号:15981050发布日期:2018-11-17 00:20阅读:122来源:国知局

本发明主要涉及数据库技术领域,具体地说,涉及一种多数据库修改事务的验证方法、装置、设备及存储介质。

背景技术

目前市面上的数据库种类繁多,如基于分布式文件存储的数据库mongodb和关系数据库oracle,不同数据库因数据结构的差异性,对数据的处理存在效率和性能的不同。对于同一数据在不同业务场景使用时,也需要考虑到效率和性能的因素,即对于同一数据,在一些场景下需要使用mongodb,而在另一些场景下需要使用oracle。不同数据库之间对于同一数据可能因修改操作而出现数值不一样的情况,导致不同场景下对同一数据处理所得到的数据结果不准确。



技术实现要素:

本发明的主要目的是提供一种多数据库修改事务的验证方法、装置、设备及存储介质,旨在解决现有技术中不同数据库之间的同一数据因修改操作而出现数值不一样的问题。

为实现上述目的,本发明提供一种多数据库修改事务的验证方法,所述多数据库修改事务的验证方法包括以下步骤:

当接收到客户端发送的事务校验请求时,读取所述事务校验请求中与各数据库对应的待校验参数、与各所述待校验参数对应的参数数值以及各参数参考数值;

根据各所述待校验参数以及所述参数数值,对各所述数据库的修改事务进行一次验证;

在所述一次验证成功后,根据各所述参数数值以及各所述参数参考数值,对各所述数据库的修改事务进行二次验证,并生成验证结果下发到所述客户端。

优选地,所述根据各所述待校验参数以及所述参数数值,对各所述数据库的修改事务进行一次验证的步骤包括:

根据所述事务校验请求所携带的数据库标识,对各所述待校验参数和所述参数数值进行分组;

判断各组之间的所述待校验参数是否一致,若各组之间的所述待校验参数一致,则判断各组之间的所述参数数值是否一致;

若各组之间的所述参数数值一致,则判定各所述数据库修改事务的一次验证成功。

优选地,所述根据各所述参数数值以及各所述参数参考数值,对各所述数据库的修改事务进行二次验证,并生成验证结果下发到所述客户端的步骤包括:

当判断出各组之间的所述参数数值一致时,将各所述参数数值和所述参数参考数值对比,判断各所述参数数值是否和所述参数参考数值一致;

若各所述参数数值和所述参数参考数值一致,则判定各所述数据库修改事务的二次验证成功,生成二次验证成功的验证结果下发到所述客户端;

若各所述参数数值和所述参数参考数值不一致,则判定各所述数据库修改事务的二次验证失败,生成二次验证失败的验证结果下发到所述客户端。

优选地,所述判断各组之间的所述参数数值是否一致的步骤之后包括:

若各组之间的所述参数数值不一致,判定各所述数据库修改事务的一次验证失败,并将各组的所述参数数值分别与所述参数参考数值对比,确定各组所述参数数值中与所述参数参考数值不一致的目标参数数值;

获取所述事务校验请求所携带的与所述目标参数数值对应的目标数据库标识,并将所述目标数据库标识作为一次验证失败的提示信息添加到验证结果中,生成一次验证失败的提示信息下发到所述客户端。

优选地,所述判断各组之间的所述待校验参数是否一致的步骤包括:

若各组之间的所述待校验参数不一致,向所述客户端发送请求信息,以获取各所述待校验参数所携带的含义标识符;

接收所述客户端返回的各所述待校验参数的含义标识符,并判断各所述含义标识符是否一致,若各所述含义标识符一致,则执行判断各组之间的所述参数数值是否一致的步骤;

若各所述含义标识符不一致,则判定各所述数据库修改事务的一次验证失败,生成一次验证失败的验证结果下发到所述客户端。

优选的,所述当接收到客户端发送的事务校验请求时的步骤之前包括:

当接收到所述客户端所发送的注册请求,读取所述注册请求中的客户端信息,并基于预设注册服务对所述客户端信息进行注册。

此外,为实现上述目的,本发明还提出一种多数据库修改事务的验证装置,所述多数据库修改事务的验证装置包括:

读取模块,用于当接收到客户端发送的事务校验请求时,读取所述事务校验请求中与各数据库对应的待校验参数、与各所述待校验参数对应的参数数值以及各参数参考数值;

第一验证模块,用于根据各所述待校验参数以及所述参数数值,对各所述数据库的修改事务进行一次验证;

第二验证模块,用于在所述一次验证成功后,根据各所述参数数值以及各所述参数参考数值,对各所述数据库的修改事务进行二次验证,并生成验证结果下发到所述客户端。

优选地,所述第一验证模块包括:

分组单元,用于根据所述事务校验请求所携带的数据库标识,对各所述待校验参数和所述参数数值进行分组;

判断单元,用于判断各组之间的所述待校验参数是否一致,若各组之间的所述待校验参数一致,则判断各组之间的所述参数数值是否一致;

确定单元,用于若各组之间的所述参数数值一致,则判定各所述数据库修改事务的一次验证成功。

此外,为实现上述目的,本发明还提出一种多数据库修改事务的验证设备,所述多数据库修改事务的验证设备包括:存储器、处理器、通信总线以及存储在所述存储器上的多数据库修改事务的验证程序;

所述通信总线用于实现处理器和存储器之间的连接通信;

所述处理器用于执行所述多数据库修改事务的验证程序,以实现以下步骤:

当接收到客户端发送的事务校验请求时,读取所述事务校验请求中与各数据库对应的待校验参数、与各所述待校验参数对应的参数数值以及各参数参考数值;

根据各所述待校验参数以及所述参数数值,对各所述数据库的修改事务进行一次验证;

在所述一次验证成功后,根据各所述参数数值以及各所述参数参考数值,对各所述数据库的修改事务进行二次验证,并生成验证结果下发到所述客户端。

此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行以用于:

当接收到客户端发送的事务校验请求时,读取所述事务校验请求中与各数据库对应的待校验参数、与各所述待校验参数对应的参数数值以及各参数参考数值;

根据各所述待校验参数以及所述参数数值,对各所述数据库的修改事务进行一次验证;

在所述一次验证成功后,根据各所述参数数值以及各所述参数参考数值,对各所述数据库的修改事务进行二次验证,并生成验证结果下发到所述客户端。

本实施例的多数据库修改事务的验证方法,当接收到客户端发送的事务校验请求时,读取事务校验请求中与各数据库对应的待校验参数、与各待校验参数对应的参数数值以及各参数参考数值;根据各所述待校验参数以及参数数值,对各数据库的修改事务进行一次验证;在所述一次验证成功后,根据各所述参数数值以及各参数参考数值,对各数据库的修改事务进行二次验证,并生成验证结果下发到客户端。本方案将对不同数据库之间同一数据的修改操作作为修改事务,通过设置对修改事务的验证机制,来确保不同数据库之间对同一数据修改的一致性。在有对修改事务的验证需求时,由客户端发送事务校验请求,接收此事务校验请求并读取其中与各数据库对应的待校验参数、与各待校验参数对应的参数数值以及各参数参考数值;通过各待校验参数、参数数值进行一次检验,以及各参数数值、各参数参考数值进行二次校验,以确保各数据库之间待校验参数的参数数值一致,且此参数数值与需要修改的参数参考数值一致。

附图说明

图1是本发明的多数据库修改事务的验证方法第一实施例的流程示意图;

图2是本发明的多数据库修改事务的验证方法第二实施例的流程示意图;

图3是本发明的多数据库修改事务的验证装置第一实施例的功能模块示意图;

图4是本发明实施例方法涉及的硬件运行环境的设备结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种多数据库修改事务的验证方法。

请参照图1,图1为本发明多数据库修改事务的验证方法第一实施例的流程示意图。在本实施例中,所述多数据库修改事务的验证方法包括:

步骤s10,当接收到客户端发送的事务校验请求时,读取所述事务校验请求中与各数据库对应的待校验参数、与各所述待校验参数对应的参数数值以及各参数参考数值;

本发明的多数据库修改事务的验证方法应用于验证服务器,适用于在多个数据库对其中所具有的同一数据进行修改操作后,对修改结果的一致性进行验证;将此对不同数据库之间同一数据的修改操作作为修改事务,实现对修改事务的验证。可理解地,数据库需要依附硬件载体存在,将数据库所依附的硬件载体作为数据服务器,数据服务器与验证服务器之间基于相同的通信协议进行通信。本实施例中可以设置多个与验证服务器通信的数据服务器,以在不同的数据服务器上设置不同类型的数据库;也可以设置单个数据服务器,在此单个数据服务器中设置多个不同类型的数据库。不论是多个还是单个数据服务器,其中的不同数据库之间存储有相同的数据,以满足不同业务场景对同一数据的需求。如数据库mongodb和oracle,mongodb数据库具有较快的访问速度,但不支持事务操作;而oracle数据库虽然访问速度较慢,但支持事务操作;从而在要求访问速度的业务场景下使用mongodb数据库中的数据,而在要求支持事务操作的业务场景下使用oracle数据库。在某些场景下需要对存在于不同数据库中的同一数据进行更改,如数据库mongodb和oracle中均存储有商品c的库存数量m,在商品c卖出数量n后,则需要对mongodb和oracle中所存储商品c的库存数量m进行修改更新。mongodb和oracle按照其自身的存储逻辑对其中所存储的存储数量m进行修改操作,将此修改操作作为修改事务;在修改事务完成后需要对修改后的结果进行验证,以确保商品c的库存数量在不同数据库的一致性,且均为其本身实际所剩余的库存数量。

进一步地,数据服务器中安装有支持其运行的应用程序,此应用程序即为客户端。当有对修改事务的验证需求时,由数据库所依附数据服务器中的客户端发起事务校验请求,事务校验请求中包括需要验证的待校验参数,参数数值,以及参数参考数值,以触发对修改事务的验证机制。其中当数据服务器为多个时,先对此多个数据服务器建立作为管理的数据服务器,以通过作为管理的数据服务器对多个数据服务器进行管理,此时由作为管理的数据服务器中的客户端发起事务校验请求;而当数据服务器为单个时,则直接由此单个数据服务器中的客户端发起事务校验请求。事务校验请求中的待校验参数为进行修改事务的对象,如上述的商品c,参数数值为参数进行修改操作后的实际数值,参数参考数值为参数经过修改操作后的理论数值,如上述商品c卖出数量n后的参数参考数值为m-n。当验证服务器接收到客户端所发送的事务校验请求时,读取其中所携带与各数据库对应的的待校验参数,与各待校验参数对应的参数数值以及各参数参考数值。因多个数据库对其中所具有的同一数据均进行修改事务,从而需要对涉及到此修改事务的各个数据库的修改结果进行验证,在事务校验请求中将进行修改事务的待校验参数与各个数据库对应。一旦数据库存在此进行修改事务的待校验参数,即将其作为数据库对应的待校验参数,而待校验参数必然有其对应的参数数值,以及判断参数数值正确与否的参数参考数值;以便通过此读取的待校验参数、对应的参数数值以及参数参考数值进行修改事务的验证。

步骤s20,根据各所述待校验参数以及所述参数数值,对各所述数据库的修改事务进行一次验证;

可理解地,对于存储于不同数据库中的同一数据,因其在不同数据库中所表征的数据含义相同,其在各个数据库中最初的原始数值一样;而当各个数据库进行修改操作后,经修改操作后其在各个数据库中的数值也应该一样,即相同的待校验参数在各个数据库中的参数数值应该相同。对各个数据库之间的待校验参数以及参数数值的一致性进行验证,并将此验证过程作为修改事务的一次验证,其中一次验证表征的是对修改事务的初步验证;即根据各待校验参数以及参数数值,对各数据库的修改事务进行初步验证,具体地步骤包括:

步骤s21,根据所述事物校验请求所携带的数据库标识,对各待校验参数和参数数值进行分组;

因客户端所发送的事务校验请求中包括多个数据库的待校验参数以及参数数值,在进行修改事务的一次验证时,需要对各个数据库的待校验参数和参数数值进行区分。具体地,客户端对所需要验证的多个数据库均设置有数据库标识,不同数据库的数据库标识不一样,来自于不同数据库中的数据、请求、反馈等信息均携带有其自身的数据库标识,以表征此类信息所来源的数据库。同样的对于不用数据库的待校验参数以及对应的参数数值也携带有与数据库对应的数据库标识,读取事务校验请求中所携带的数据库标识;并根据读取的数据库标识,对各待校验参数和参数数值进行分组,将具有相同数据库标识的待校验参数和参数数值划分到同一组,同一组内的待校验参数和参数数值来源于同一个数据库。

步骤s22,判断各组之间的所述待校验参数是否一致,若各组之间的所述待校验参数一致,则判断各组之间的所述参数数值是否一致;

进一步地,为了确保各数据库中所修改的数据为同一数据,需要对表征修改事务所针对对象的待校验参数进行验证,而对于各数据库中的同一数据,所具有的待校验参数应该相同。验证时判断各组之间的待校验参数是否一致,即各数据库之间的待校验参数是否一致,若一致则说明各数据库中所修改的数据为同一数据。因对于同一数据,修改操作所修改的值也应该一致,从而在各组间待校验参数一致后,进一步判断对同一数据所修改的数值是否一致,即将各组间的参数数值进行对比,以判断各组间的参数数值是否一致。此外考虑到各数据库自身开发逻辑的差异性,可能对于同一对象的表征方式存在差异,即在不同的数据库中对具有相同含义的待校验参数的表征方式不一样。如对于商品数量,在一个数据库的表征方式为s1,即待校验参数为s1;而在另一数据库的表征方式为s2,即待校验参数为s2;两个待校验参数不一样,但两者所表征的含义相同。从而在判断待校验参数的一致性时,需要对此类信息进行鉴别,以防止出现误判。具体地,判断各组之间的待校验参数是否一致的步骤包括:

步骤s221,若各组之间的所述待校验参数不一致,向所述客户端发送请求信息,以获取各所述待校验参数所携带的含义标识符;

当判断出各组之间的待校验参数不一致时,验证服务器向客户端发送请求信息,以请求获取更多关于待校验参数的信息,其中更多信息具体为各待校验参数所携带的含义标识符。此含义标识符为各数据库中设置用于表征各参数含义,对于相同的数据,各数据库中的含义标识符相同。客户端在接收到此请求信息后,从各数据库中抓取与该数据库对应待校验参数所表征含义的含义标识符。具体地,请求信息中包含有待校验参数以及数据库标识,客户端先将接收到的数据库标识和其中所具有的数据库标识对比,确定需要抓取的数据库。在确定数据库之后,将待校验参数和数据库中的各参数对比,与待校验参数对应参数所具有的含义标识符,即为待校验参数的含义标识符,将此含义标识符返回到验证服务器。

步骤s222,接收所述客户端返回的各所述待校验参数的含义标识符,并判断各所述含义标识符是否一致,若各所述含义标识符一致,则执行判断各组之间的所述参数数值是否一致的步骤;

验证服务器在接收到客户端所返回的各待校验参数所携带的含义标识符后,对各含义标识符的一致性进行判断;若各含义标识符一致则说明各组之间的待校验参数所表征的含义相同,即各组之间的待校验参数虽然表征的方式不相同,但表征的含义相同,各组之间的待校验参数实际上是一致的。在此判断出各组间待校验参数一致后,执行判断各组之间的参数数值是否一致的步骤,即将各组间的参数数值进行对比,判断对同一数据所修改的数值是否一致。

步骤s223,若各所述含义标识符不一致,则判定各所述数据库修改事务的一次验证失败,生成一次验证失败的验证结果下发到所述客户端。

而当判断出各组待校验参数的含义标识符不一致,则说明各组之间的待校验参数所表征的含义确实不相同,不同数据库之间修改事务所针对的修改对象不一样。因本实施对修改事务进行验证的基础是要求修改对象一样,从而当修改事务所针对的修改对象不一样时,说明一次验证失败,生成一次验证失败的验证结果。同时将一次验证失败的原因,即各组之间待校验参数不一样所导致一次验证失败,添加到验证结果中,并将此验证结果下发到客户端,便于客户端根据一次验证失败的验证结果,对各待校验参数的参数数值做回滚操作,确保各数据库可按修改前的参数数值正常运行,且再次的修改更新操作,在修改前的参数数值基础上进行。

步骤s23,若各组之间的所述参数数值一致,则判定各所述数据库修改事务的一次验证成功。

进一步地,在将各组间的参数数值进行对比,判断出各组之间的参数数值一致时,说明经修改操作后各个数据库中待校验参数的参数数值相同,即各数据库中同一数据经修改操作后的数值一致,判定各数据库修改事务的一次验证成功,即修改事务通过初步验证。

步骤s30,在所述一次验证成功后,根据各所述参数数值以及各所述参数参考数值,对各所述数据库的修改事务进行二次验证,并生成验证结果下发到所述客户端。

更进一步地,在修改事务的一次验证成功后,说明各数据库中所修改的待校验参数相同,且对各待校验参数所修改的数值也一致,而使得经修改事务后,各数据库的待校验参数的参数数值均一致。考虑到虽然各待校验参数的参数数值一致,但可能出现实际上所修改的数值和理论上所需要修改的数据不一样的情况,即出现各待校验参数均出现修改错误的现象。为了避免此类现象,需要对修改所得到的实际参数数值和表征理论数值的各参数参考数值的一致性进行验证,将各参数数值和各参数参考数值进行对比,实现根据各参数数值和各参数参考数值,对各数据库的修改事务进行二次验证。二次验证包括验证成功和验证失败的两种验证结果,将所生成的验证结果下发到客户端,以便客户端明确修改操作对数据库中数据的修改情况,并根据验证结果对各数据库中对应待校验参数的参数数值进行存储或回滚操作。

本实施例的多数据库修改事务的验证方法,当接收到客户端发送的事务校验请求时,读取事务校验请求中与各数据库对应的待校验参数、与各待校验参数对应的参数数值以及各参数参考数值;根据各所述待校验参数以及参数数值,对各数据库的修改事务进行一次验证;在所述一次验证成功后,根据各所述参数数值以及各参数参考数值,对各数据库的修改事务进行二次验证,并生成验证结果下发到客户端。本方案将对不同数据库之间同一数据的修改操作作为修改事务,通过设置对修改事务的验证机制,来确保不同数据库之间对同一数据修改的一致性。在有对修改事务的验证需求时,由客户端发送事务校验请求,接收此事务校验请求并读取其中与各数据库对应的待校验参数、与各待校验参数对应的参数数值以及各参数参考数值;通过各待校验参数、参数数值进行一次检验,以及各参数数值、各参数参考数值进行二次校验,以确保各数据库之间待校验参数的参数数值一致,且此参数数值与需要修改的参数参考数值一致。

进一步地,在本发明多数据库修改事务的验证方法另一实施例中,所述根据各所述参数数值以及各参数参考数值,对各所述数据库的修改事务进行二次验证,并生成验证结果下发到所述客户端的步骤包括:

步骤s31,当判断出各组之间的所述参数数值一致时,将各所述参数数值和所述参数参考数值对比,判断各所述参数数值是否和所述参数参考数值一致;

更进一步地,在判断出各组之间的参数数值一致后,需要对修改事件修改得到的实际数值是否和理论数值一致进行判断,将各参数数值和参数参考数值对比,判断作为实际数值的参数数值是否和作为理论数值的参数参考数值一致。因各组之间的参数数值一致,即各参数数值一致,从而在对比时,可读取各参数数值中的任意一个进行对比即可。

步骤s32,若各所述参数数值和所述参数参考数值一致,则判定各所述数据库修改事务的二次验证成功,生成二次验证成功的验证结果下发到所述客户端;

当将各参数数值中的任意一个和参数参考数值对比,确定各参数数值和参数参考数值一致时,说明修改事件修改所得到的实际数值和所需要的理论数值一致,各数据库修改事务的二次验证成功。生成二次验证成功的验证结果下发到客户端,客户端中所需要验证的各数据库经修改操作所得到的修改结果与所需求的理论结果一致,数据库可对修改的的参数数值进行存储,后续的修改更新操作,在此参数数值的基础上进行。

步骤s33,若各所述参数数值和所述参数参考数值不一致,则判定各所述数据库修改事务的二次验证失败,生成二次验证失败的验证结果下发到所述客户端。

当将各参数数值中的任意一个和参数参考数值对比,确定各参数数值和参数参考数值不一致时,说明修改事件修改所得到的实际数值和所需要的理论数值不一致,各数据库修改事务的二次验证失败。生成二次验证失败的验证结果,同时将二次验证失败的原因,即各组待校验参数的参数数值和所需要的理论数值不一样所导致二次验证失败,添加到验证结果中。将此验证结果下发到客户端,客户端根据二次验证失败的验证结果,对各待校验参数的参数数值做回滚操作,确保各数据库可按修改前的参数数值正常运行,且再次的修改更新操作,在修改前的参数数值基础上进行。

进一步地,在本发明多数据库修改事务的验证方法另一实施例中,所述判断各组之间的所述参数数值是否一致的步骤之后包括:

步骤s24,若各组之间的所述参数数值不一致,判定各所述数据库修改事务的一次验证失败,并将各组的所述参数数值分别与所述参数参考数值对比,确定各组所述参数数值中与所述参数参考数值不一致的目标参数数值;

可理解地,数据库的修改操作可能出现修改错误的情形,而使各组之间的参数数值在修改后出现不一样的现象;即在将各组之间的参数数值进行对比时,所判断出的结果为各组间的参数数值不一致。当各组之间的参数数值不一致时,则说明修改操作出现错误,判定各数据库修改事务的一次验证失败,需要确定所出现错误的数据库。因各组参数数值由修改而来,其出现不一致的情形可能是对各组参数数值修改错误导致;修改错误可能是各组参数数值均修改错误,也可能是各组参数数值中任意一组修改错误导致,需要对出现错误的组进行确定。具体地,将各组的参数数值分别和参数参考数值进行对比,判断各组参数数值与参数参考数值的一致性;当组的参数数值与参数参考数值一致,则说明此组参数数值修改正常;而当组的参数数值与参数参考数值不一致,则说明此组参数数值修改不正常,将此修改不正常的参数数值确定为目标参数数值。

步骤s25,获取所述事务校验请求所携带的与所述目标参数数值对应的目标数据库标识,并将所述目标数据库标识作为一次验证失败的提示信息添加到验证结果中,生成一次验证失败的提示信息下发到客户端。

进一步地,因目标参数数值为各组参数数值中的一组,而各组参数数值中均携带有表征其所来源数据库的数据库标识,相应的目标参数数值也携带有表征该目标参数数值所来源数据库的数据库标识。而事物校验请求中也携带有表征各个所需要进行验证的数据库的数据库标识,读取目标参数数值中所携带的数据库标识,并将所读取到的数据库标识和事物校验请求中的各个数据库标识对比,确定各个数据库标识中与读取到的数据库标识一致的数据库标识。此一致的数据库标识即为事物校验请求中所携带的与目标参数数值对应的目标数据库标识,表征所出现修改错误的数据库。将此目标数据库标识作为一次验证失败的提示信息添加到验证结果中,生成一次验证失败的提示信息下发到客户端。通过验证结果中的目标数据库标识表征引起一次验证失败的原因,方便根据目标数据库标识对数据库进行优化。同时客户端根据一次验证失败的验证结果,对各待校验参数的参数数值做回滚操作,确保各数据库可按修改前的参数数值正常运行,且再次的修改更新操作,在修改前的参数数值基础上进行。

进一步地,请参照图2,在本发明多数据库修改事务的验证方法第一实施例基础上,提出本发明多数据库修改事务的验证方法第二实施例,在第二实施例中,所述当接收到客户端发送的事务校验请求时的步骤之前包括:

步骤s40,当接收到所述客户端所发送的注册请求,读取所述注册请求中的客户端信息,并基于预设注册服务对所述客户端信息进行注册。

更进一步地,为了将客户端的事务校验请求发送到验证服务器,需要将客户端注册到验证服务器中。具体地,客户端向验证服务器发送注册请求,注册请求中包括客户端主机名、ip(internetprotocol,网络之间互连协议)和端口号等客户端信息,以表征客户端唯一性。当接收到客户端所发送的注册请求时,读取注册请求中客服端信息,即读取客户端主机名、ip和端口号,并基于预设注册服务对客户端信息进行注册。具体地,预设注册服务为eurekaserver所提供的注册服务,eurekaserver为eureka框架中的一部分。eureka框架包括eurekaserver和eurekaclient,前者相当于注册中心,后者相当于客户端,客户端将其信息注册到注册中心。本方案中验证服务器和客户端分别对应eureka框架中的eurekaserver和eurekaclient,作为eurekaclient的客户端将其主机名、ip和端口号上传到作为eurekaserver的验证服务器,基于eurekaserver所提供的注册服务对eurekaclient进行注册,实现将含有数据库的客户端注册到验证服务器,以通过验证服务器对客户端中的修改事务进行验证。

此外,请参照图3,本发明提供一种多数据库修改事务的验证装置,在本发明多数据库修改事务的验证装置第一实施例中,所述多数据库修改事务的验证装置包括:

读取模块10,用于当接收到客户端发送的事务校验请求时,读取所述事务校验请求中与各数据库对应的待校验参数、与各所述待校验参数对应的参数数值以及各参数参考数值;

第一验证模块20,用于根据各所述待校验参数以及所述参数数值,对各所述数据库的修改事务进行一次验证;

第二验证模块30,用于在所述一次验证成功后,根据各所述参数数值以及各所述参数参考数值,对各所述数据库的修改事务进行二次验证,并生成验证结果下发到所述客户端。

本实施例的多数据库修改事务的验证装置,当接收到客户端发送的事务校验请求时,读取模块10读取事务校验请求中与各数据库对应的待校验参数、与各待校验参数对应的参数数值以及各参数参考数值;第一验证模块20根据各所述待校验参数以及参数数值,对各数据库的修改事务进行一次验证;在所述一次验证成功后,第二验证模块30根据各所述参数数值以及各参数参考数值,对各数据库的修改事务进行二次验证,并生成验证结果下发到客户端。本方案将对不同数据库之间同一数据的修改操作作为修改事务,通过设置对修改事务的验证机制,来确保不同数据库之间对同一数据修改的一致性。在有对修改事务的验证需求时,由客户端发送事务校验请求,接收此事务校验请求并读取其中与各数据库对应的待校验参数、与各待校验参数对应的参数数值以及各参数参考数值;通过各待校验参数、参数数值进行一次检验,以及各参数数值、各参数参考数值进行二次校验,以确保各数据库之间待校验参数的参数数值一致,且此参数数值与需要修改的参数参考数值一致。

进一步地,在本发明多数据库修改事务的验证装置另一实施例中,所述第一验证模块包括:

分组单元,用于根据所述事务校验请求所携带的数据库标识,对各所述待校验参数和所述参数数值进行分组;

判断单元,用于判断各组之间的所述待校验参数是否一致,若各组之间的所述待校验参数一致,则判断各组之间的所述参数数值是否一致;

确定单元,用于若各组之间的所述参数数值一致,则判定各所述数据库修改事务的一次验证成功。

进一步地,在本发明多数据库修改事务的验证装置另一实施例中,所述第二验证模块包括:

第一对比单元,用于当判断出各组之间的所述参数数值一致时,将各所述参数数值和所述参数参考数值对比,判断各所述参数数值是否和所述参数参考数值一致;

第一判定单元,用于若各所述参数数值和所述参数参考数值一致,则判定各所述数据库修改事务的二次验证成功,生成二次验证成功的验证结果下发到所述客户端;

第二判定单元,用于若各所述参数数值和所述参数参考数值不一致,则判定各所述数据库修改事务的二次验证失败,生成二次验证失败的验证结果下发到所述客户端。

进一步地,在本发明多数据库修改事务的验证装置另一实施例中,所述第一验证模块还包括:

第二对比单元,用于若各组之间的所述参数数值不一致,判定各所述数据库修改事务的一次验证失败,并将各组的所述参数数值分别与所述参数参考数值对比,确定各组所述参数数值中与所述参数参考数值不一致的目标参数数值;

获取单元,用于获取所述事务校验请求所携带的与所述目标参数数值对应的目标数据库标识,并将所述目标数据库标识作为一次验证失败的提示信息添加到验证结果中,生成一次验证失败的提示信息下发到所述客户端。

进一步地,在本发明多数据库修改事务的验证装置另一实施例中,所述第一验证模块还包括:

发送单元,用于若各组之间的所述待校验参数不一致,向所述客户端发送请求信息,以获取各所述待校验参数所携带的含义标识符;

接收单元,用于接收所述客户端返回的各所述待校验参数的含义标识符,并判断各所述含义标识符是否一致,若各所述含义标识符一致,则执行判断各组之间的所述参数数值是否一致的步骤;

生成单元,用于若各所述含义标识符不一致,则判定各所述数据库修改事务的一次验证失败,生成一次验证失败的验证结果下发到所述客户端。

进一步地,在本发明多数据库修改事务的验证装置另一实施例中,所述读取模块还用于:

当接收到所述客户端所发送的注册请求,读取所述注册请求中的客户端信息,并基于预设注册服务对所述客户端信息进行注册。

参照图4,图4是本发明实施例方法涉及的硬件运行环境的设备结构示意图。

本发明实施例多数据库修改事务的验证设备可以是pc,也可以是智能手机、平板电脑、电子书阅读器、便携计算机等终端设备。

如图4所示,该多数据库修改事务的验证设备可以包括:处理器1001,例如cpu,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

可选地,该多数据库修改事务的验证设备还可以包括用户接口、网络接口、摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi模块等等。用户接口可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。

本领域技术人员可以理解,图4中示出的多数据库修改事务的验证设备结构并不构成对多数据库修改事务的验证设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图4所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块以及多数据库修改事务的验证程序。操作系统是管理和控制多数据库修改事务的验证设备硬件和软件资源的程序,支持多数据库修改事务的验证程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与多数据库修改事务的验证设备中其它硬件和软件之间通信。

在图4所示的多数据库修改事务的验证设备中,处理器1001用于执行存储器1005中存储的多数据库修改事务的验证程序,实现上述多数据库修改事务的验证方法各实施例中的步骤。

本发明提供了一种存储介质,所述存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述多数据库修改事务的验证方法各实施例中的步骤。

还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

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