发明内容
本发明的主要目的是提供一种数据库操作逻辑校验方法、装置、设备及可读存储介质,旨在解决现有技术中数据库校验因环境的差异性,增加了校验流程的繁琐性,校验效率低的问题。
为实现上述目的,本发明提供一种数据库操作逻辑校验方法,所述数据库操作逻辑校验方法包括以下步骤:
根据预设队列中各访问请求的排列顺序,对各所述访问请求进行读取,并将当前读取的访问请求设为当前访问请求;
根据所述当前访问请求中的数据库标识,确定目标数据库,并对所述目标数据库的目标接口进行调用;
将所述当前访问请求中的操作数据基于所述目标接口传输到所述目标数据库中,接收所述目标数据库返回的操作结果,并根据所述操作结果,对所述目标数据库的操作逻辑进行校验。
优选地,所述接收所述目标数据库返回的操作结果,并根据所述操作结果,对所述目标数据库的操作逻辑进行校验的步骤包括:
当接收到所述目标数据库返回的操作结果时,读取所述当前访问请求中的逻辑类型标识,并检测所述逻辑类型标识对应的逻辑类型是否为判断类型;
若所述逻辑类型标识对应的逻辑类型为判断类型,则检测所述操作结果中是否存在比对结果、查询数据以及预设数据;
若存在比对结果、查询数据以及预设数据,则将所述查询数据和所述预设数据匹配,生成匹配结果;
判断所述比对结果和所述匹配结果是否一致,若所述比对结果和所述匹配结果一致,则判定所述逻辑类型为判断类型的操作逻辑校验成功。
优选地,所述检测所述逻辑类型标识对应的逻辑类型是否为判断类型的步骤之后包括:
若所述逻辑类型标识对应的逻辑类型不是判断类型,则读取所述操作结果中经所述目标数据库处理的处理数据,并判断所述处理数据和所述逻辑类型对应的逻辑处理结果是否一致;
若所述处理数据和所述逻辑类型对应的逻辑处理结果一致,则判定所述逻辑类型为非判断类型的操作逻辑校验成功。
优选地,所述根据预设队列中各访问请求的排列顺序的步骤之前包括:
当接收到对数据库接口进行调用的调用请求时,读取所述调用请求中的操作串;
根据预设格式,将所述操作串中的连接串、登录账户、登录密码、操作数据、数据库标识形成访问请求,并将所述访问请求添加到预设队列中。
优选地,所述将所述当前访问请求中的操作数据基于所述目标接口传输到所述目标数据库中的步骤包括:
根据所述当前访问请求中的连接串,请求与所述目标接口建立通信连接,并在所述通信连接成功后,根据所述当前访问请求中的登录账户和登录密码,对所述目标数据库进行登录操作;
在所述登录操作成功后,对与所述登录账户对应的用户身份的合法性进行验证,并在所述用户身份的合法性验证通过后,将所述当前访问请求中的操作数据传输到所述目标数据库。
优选地,所述数据库操作逻辑校验方法还包括步骤:
当接收到操作文档时,读取所述操作文档中的批量操作数据、数据库编码以及数据表编码;
根据所述数据库编码和各所述数据表编码,确定目标数据表,并对各所述目标数据表基于各所述批量操作数据进行操作,生成批量操作结果,以对各所述目标数据表进行批量操作逻辑校验。
优选地,所述根据所述数据库编码和各所述数据表编码,确定目标数据表,并对各所述目标数据表基于各所述批量操作数据进行操作,生成批量操作结果的步骤包括:
将所述数据库编码和预设编码对比,确定目标预设编码,并根据所述目标预设编码,确定验证数据库;
将各所述数据表编码和所述验证数据库中各数据表的参考编码对比,确定与各所述数据表编码对应的目标参考编码,并将与各所述目标参考编码对应的数据表确定为目标数据表;
根据各所述批量操作数据与各数据表编码之间的对应关系,确定与各所述目标数据表对应的目标批量操作数据,并用各所述目标批量操作数据对各自对应的所述目标数据表进行操作,生成批量操作结果。
此外,为实现上述目的,本发明还提出一种数据库操作逻辑校验装置,所述数据库操作逻辑校验装置包括:
读取模块,用于根据预设队列中各访问请求的排列顺序,对各所述访问请求进行读取,并将当前读取的访问请求设为当前访问请求;
调用模块,用于根据所述当前访问请求中的数据库标识,确定目标数据库,并对所述目标数据库的目标接口进行调用;
校验模块,用于将所述当前访问请求中的操作数据基于所述目标接口传输到所述目标数据库中,接收所述目标数据库返回的操作结果,并根据所述操作结果,对所述目标数据库的操作逻辑进行校验。
此外,为实现上述目的,本发明还提出一种数据库操作逻辑校验设备,所述数据库操作逻辑校验设备包括:存储器、处理器、通信总线以及存储在所述存储器上的数据库操作逻辑校验程序;
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行所述数据库操作逻辑校验程序,以实现以下步骤:
根据预设队列中各访问请求的排列顺序,对各所述访问请求进行读取,并将当前读取的访问请求设为当前访问请求;
根据所述当前访问请求中的数据库标识,确定目标数据库,并对所述目标数据库的目标接口进行调用;
将所述当前访问请求中的操作数据基于所述目标接口传输到所述目标数据库中,接收所述目标数据库返回的操作结果,并根据所述操作结果,对所述目标数据库的操作逻辑进行校验。
此外,为实现上述目的,本发明还提供一种可读存储介质,所述可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行以用于:
根据预设队列中各访问请求的排列顺序,对各所述访问请求进行读取,并将当前读取的访问请求设为当前访问请求;
根据所述当前访问请求中的数据库标识,确定目标数据库,并对所述目标数据库的目标接口进行调用;
将所述当前访问请求中的操作数据基于所述目标接口传输到所述目标数据库中,接收所述目标数据库返回的操作结果,并根据所述操作结果,对所述目标数据库的操作逻辑进行校验。
本实施例的数据库操作逻辑校验方法,通过对预设队列中各访问请求依据排列顺序进行读取,并将当前读取的访问请求设为当前访问请求;再根据当前访问请求中的数据库标识,确定目标数据库,并对目标数据库的目标接口进行调用;进而将当前访问请求中的操作数据基于目标接口传输到目标数据库中,并接收目标数据库所返回的操作结果,以根据操作结果,对目标数据库的操作逻辑进行校验。本方案为各数据库设定用于提供校验服务的接口,并将所需要校验的操作数据、数据库标识形成访问请求;依据该数据库标识即可确定目标数据库和目标接口,将操作数据通过目标接口传输到目标数据库,即可进行操作逻辑的校验;不需要针对测试环境和生产环境的差异性进行区分测试,当需要对测试环境下的数据库进行校验时,则将测试环境下数据库的标识形成为访问请求,以依据该访问请求调用测试环境下的接口进行校验;而在需要对生产环境下的数据库进行校验时,则将生产环境下数据库的标识形成为访问请求,以依据该访问请求调用生产环境下的接口进行校验,通过接口调用实现不同环境下的数据库的操作逻辑校验,避免了环境之间的切换以及操作的差异性,简化了校验流程,提高了校验效率。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种数据库操作逻辑校验方法。
请参照图1,图1为本发明数据库操作逻辑校验方法第一实施例的流程示意图。在本实施例中,所述数据库操作逻辑校验方法包括:
步骤S10,根据预设队列中各访问请求的排列顺序,对各所述访问请求进行读取,并将当前读取的访问请求设为当前访问请求;
本发明的数据库操作逻辑校验方法应用于服务器,适用于对数据库的操作逻辑进行校验,其中数据库的操作逻辑为数据库对各项操作进行处理的逻辑,如对数据查询操作的处理逻辑,数据修改操作的处理逻辑等;对操作逻辑的校验其实质为对各项操作处理结果的正确性进行判断,通过处理结果的正确性来校验操作逻辑的正确性。具体地,预先对数据库设置用于提供校验服务的接口,通过发起访问请求对接口进行调用来将各项操作的操作数据传输到数据库中,而数据库对各项操作数据进行处理,得到各项处理结果。考虑到数据库所需要校验的操作逻辑涉及到多项,而使得发起的访问请求有多个,为了对多个访问请求进行并行管理,预先设置有预设队列对接收到的各项访问请求进行管理。将接收到的各项访问请求按照接收到的时间顺序排列到预设队列中,处理时依据排列顺序,对各访问请求进行读取,并将当前读取的访问请求设为当前访问请求,以和预设队列中的其他访问请求进行区别。
步骤S20,根据所述当前访问请求中的数据库标识,确定目标数据库,并对所述目标数据库的目标接口进行调用;
进一步地,所发起的各访问请求中携带有表征所需要校验数据库的数据库标识,读取当前访问请求中的数据库标识,并将该读取的数据库标识和各个数据库的数据库标识逐一对比,确定和读取的数据库标识一致的目标数据库标识;具有该数据库标识的数据库即为所需要校验的目标数据库。目标数据库设置有对应的接口,将该接口作为目标接口进行调用,以对目标数据库进行访问。
步骤S30,将所述当前访问请求中的操作数据基于所述目标接口传输到所述目标数据库中,接收所述目标数据库返回的操作结果,并根据所述操作结果,对所述目标数据库的操作逻辑进行校验。
更进一步地,所发起的各访问请求中携带有表征对各数据库所需要校验操作逻辑的操作数据,如与查询操作相关的数据,与修改操作相关的数据等。对当前访问请求中的操作数据进行读取,并将该读取的操作数据依据目标接口传输到目标数据库中。目标数据库对操作数据进行处理生成处理结果,并将所生成的处理结果作为操作结果返回到服务器;服务器在接收到该返回的操作结果后,即可对目标数据库的操作逻辑进行校验,判断数据库对各项操作进行处理的逻辑是否正确。具体地,接收目标数据库返回的操作结果,并根据操作结果,对目标数据库的操作逻辑进行校验的步骤包括:
步骤S31,当接收到所述目标数据库返回的操作结果时,读取所述当前访问请求中的逻辑类型标识,并检测所述逻辑类型标识对应的逻辑类型是否为判断类型;
进一步地,考虑到对数据库的操作类型虽然多种多样,但各类操作在很大程度上依赖于查询操作,如对数据库中的数据w1进行修改,则需要先查找到该数据w1,而对数据库中的数据w2进行删除,同样的需要先查找到该数据w2。为了确保各类依赖查找操作的其他操作的正确性,设计有对查找操作所得到的查找结果正确性判断的操作逻辑,只有在判断出查找结果正确后,才进行其他操作,生成最终的操作结果。将操作逻辑中对查找结果正确性进行判断的逻辑类型作为判断类型,而将操作逻辑中生成最终操作结果的逻辑类型作为非判断类型;判断类型和非判断类型通过访问请求中的逻辑类型标识确定。服务器在接收到目标数据库所返回的操作结果,需要依据该操作结果对目标数据库的操作逻辑进行校验时,先对当前访问请求中的逻辑类型标识进行读取,并将该读取的逻辑类型标识和预先设定的表征判断类型的预设标识进行对比,确定逻辑类型标识所表征的逻辑类型是否为判断类型。
步骤S32,若所述逻辑类型标识对应的逻辑类型为判断类型,则检测所述操作结果中是否存在比对结果、查询数据以及预设数据;
进一步地,当经对比确定读取的逻辑类型标识和预先设定的表征判断类型的预设标识一致,则说明逻辑类型标识所对应的逻辑类型为判断类型,需要对判断类型的操作逻辑进行校验。此时对返回的操作结果进行检测,确定其中是否包括比对结果、查询数据以及预设数据。其中预设数据为操作数据中表征所需要处理的理论数据,查询数据为目标数据库中所查询得到的待处理数据;比对结果为对查询数据和预设数据之间的一致性进行判断,所生成的判断结果,即对查找操作所得到的查找结果正确性判断的判断结果。如对于操作逻辑为修改操作,且操作数据所表征的修改为将数据a修改为b,则预设数据为a;而对目标数据库中经过查找操作,得到数据c,并对数据c和数据a进行对比,判断两者的一致性,生成判断结果d;则查询数据为c,比对结果为d。通过检测操作结果中是否存在比对结果、查询数据以及预设数据,来判定判断类型的操作逻辑是否执行,并生成查询结果和判断结果。
步骤S33,若存在比对结果、查询数据以及预设数据,则将所述查询数据和所述预设数据匹配,生成匹配结果;
更进一步地,当检测出操作结果中存在比对结果、查询数据以及预设数据,则说明目标数据库对预设数据进行了查询操作,并得到查询数据,同时在查询数据和预设数据之间进行了一致性对比,生成比对结果。为了校验对比结果的正确性,将查询数据和预设数据进行匹配,判断两者的一致性,并生成匹配结果;当判断出两者一致时,则生成的匹配结果为匹配一致,表征所查找的数据正确;而当判断出两者不一致时,则生成的匹配结果为匹配不一致,表征所查找的数据不正确。
步骤S34,判断所述比对结果和所述匹配结果是否一致,若所述比对结果和所述匹配结果一致,则判定所述逻辑类型为判断类型的操作逻辑校验成功。
进一步地,因比对结果为目标数据库中操作逻辑对查询数据和预设数据进行判断所生成的结果,为了校验该操作逻辑的正确性,将比对结果和匹配结果进行对比,判断两者的一致性。当判断出两者一致时,则说明操作逻辑对查询数据和预设数据一致性的判断,和服务器对查询数据和预设数据一致性的判断相同,操作逻辑正确,目标数据库中逻辑类型为判断类型的操作逻辑校验成功。当判断出两者不一致时,则说明操作逻辑对查询数据和预设数据一致性的判断,和服务器对查询数据和预设数据一致性的判断不相同;如目标数据库中设定预设线程对查询数据和预设数据进行判断,目标数据库在查询得到查询数据和预设数据之后,调用预设线程对两者进行判断;但是预设线程可能存在被占用而错误调用其他线程,或者预设线程被恶意更改而出现原判断逻辑错误的情况;此时调用预设线程对查询数据和预设数据的判断不准确,将原本一致的查询数据和预设数据判断为不一致,导致比对结果和匹配结果之间的不一致,从而可判定操作逻辑不正确,目标数据库中逻辑类型为判断类型的操作逻辑校验失败。
同样地,对于非判断类型的操作逻辑同样的需要进行校验,当通过逻辑类型标识确定操作逻辑的逻辑类型为非判断类型时,则触发对非判断类型的操作逻辑的校验;具体地检测逻辑类型标识对应的逻辑类型是否为判断类型的步骤之后包括:
步骤S35,若所述逻辑类型标识对应的逻辑类型不是判断类型,则读取所述操作结果中经所述目标数据库处理的处理数据,并判断所述处理数据和所述逻辑类型对应的逻辑处理结果是否一致;
当经对比确定读取的逻辑类型标识和预先设定的表征判断类型的预设标识不一致,则说明逻辑类型标识所对应的逻辑类型不是判断类型,需要对生成最终操作结果的操作逻辑进行校验。此时对操作结果中经目标数据库处理的处理数据进行读取,该处理数据即为经目标操作数据库中操作逻辑对操作数据进行处理,所得到的处理数据,如对于操作逻辑为修改操作,且操作数据所表征的修改为将数据m修改为n;则对目标数据库中查找得到的m进行修改,得到修改后的数据p,该p即为处理数据。为了校验经非判断类型操作逻辑处理所生成处理数据的正确性,非判断类型的逻辑类型设置有对应的逻辑处理结果,用于表征经操作逻辑处理后理论上的结果;将经操作逻辑处理实际所生成的处理数据和该逻辑处理结果进行对比,判断两者的一致性。
步骤S36,若所述处理数据和所述逻辑类型对应的逻辑处理结果一致,则判定所述逻辑类型为非判断类型的操作逻辑校验成功。
当经对比判断出处理数据和逻辑处理结果一致时,则说明处理实际所生成的处理数据和理论上所需求的逻辑处理结果相同,操作逻辑的处理正确,目标数据库中逻辑类型为非判断类型的操作逻辑校验成功。而当经对比判断出处理数据和逻辑处理结果不一致时,则说明处理实际所生成的处理数据和理论上所需求的逻辑处理结果不相同,操作逻辑的处理不正确,目标数据库中逻辑类型为非判断类型的操作逻辑校验失败。
本实施例的数据库操作逻辑校验方法,通过对预设队列中各访问请求依据排列顺序进行读取,并将当前读取的访问请求设为当前访问请求;再根据当前访问请求中的数据库标识,确定目标数据库,并对目标数据库的目标接口进行调用;进而将当前访问请求中的操作逻辑基于目标接口传输到目标数据库中,并接收目标数据库所返回的操作结果,以根据操作结果,对目标数据库的操作逻辑进行校验。本方案为各数据库设定用于提供校验服务的接口,并将所需要校验的操作数据、数据库标识形成访问请求;依据该数据库标识即可确定目标数据库和目标接口,将操作逻辑通过目标结果传输到目标数据库,即可进行操作逻辑的校验;不需要对测试环境和生产环境的区分,避免了环境之间的切换以及操作的差异性,简化了校验流程,提高了校验效率。
进一步地,在本发明数据库操作逻辑校验方法另一实施例中,所述根据预设队列中各访问请求的排列顺序,对各所述访问请求进行读取的步骤之前包括:
步骤S40,当接收到对数据库接口进行调用的调用请求时,读取所述调用请求中的操作串;
更进一步地,在将携带有数据库标识和操作数据的访问请求添加到预设队列中进行管理之前,需要形成访问请求;具体地,由人工将所需要访问校验数据库的数据库标识,以及用于对所需要校验数据库进行校验的操作数据添加到调用请求中,并将调用请求发送到服务器中形成访问请求,以对需要进行校验数据库的数据库接口进行调用。考虑到对数据库的校验依赖数据库的登录进行,即只有在登录到数据库中后,才能对数据库进行各种操作,而对各操作逻辑进行校验;从而将用于登录数据库的登录账户和登录密码一并添加到调用请求中,以便于对所需要校验的数据库进行登录操作。此外,服务器所对接的数据库众多,各数据库在没有校验需求的情况下,与服务器之间不进行通信连接;在有校验需求的情况下,才与服务器进行连接。为了实现服务器与数据库之间的连接需求,还设置有连接串,且各个数据库所对应的连接串不相同,选择所需要校验数据库对应的连接串,并将该连接串添加到调用请求中,以便于建立与所需要校验数据库的连接。将添加到调用请求中的连接串、登录账户、登录密码、操作数据和数据库标识作为调用请求中的操作串;当服务器接收到该对数据库接口进行调用的调用请求时,对其中的操作串进行读取,并生成访问请求,以依据访问请求对数据库进行连接、登录和校验。
步骤S50,根据预设格式,将所述操作串中的连接串、登录账户、登录密码、操作数据、数据库标识形成访问请求,并将所述访问请求添加到预设队列中。
考虑到所发送的调用请求中各类数据可能以各种顺序存在,如某一调用请求中连接串在前,操作数据在后,而在另一调用请求中连接串在后,而操作数据在前。为了规范管理,服务器中预先设置有预设格式;在读取到操作串后,进一步将操作串中的连接串、登录账户、登录密码、操作数据以及数据库标识按照预设格式形成访问请求。此后将所形成的访问请求按照时间顺序添加到预设队列中,以按照预设队列中各访问请求的排列顺序,对各访问请求进行读取处理。
因所形成的访问请求中的连接串、登录账户、登录密码、操作数据、数据库标识用于确定所需要校验的目标数据库,与目标数据库建立连接、登录并校验操作;从而在将当前访问请求中的操作数据基于目标结果传输到目标数据库进行校验前,需要先依据访问请求进行连接和登录操作。具体地,将当前访问请求中的操作数据基于目标接口传输到目标数据库中的步骤包括:
步骤S37,根据所述当前访问请求中的连接串,请求与所述目标接口建立通信连接,并在所述通信连接成功后,根据所述当前访问请求中的登录账户和登录密码,对所述目标数据库进行登录操作;
进一步地,因连接串用于建立服务器与所需要校验数据库的连接,从而读取当前访问请求中的连接串,并依据连接串请求与目标数据库的目标接口建立通信连接;在接收到目标接口返回的连接成功标识符时,表征通信连接成功,再读取当前访问请求中的登录账户和登录密码,并依据该登录账户和登录密码对目标数据库进行登录操作。
步骤S38,在所述登录操作成功后,对与所述登录账户对应的用户身份的合法性进行验证,并在所述用户身份的合法性验证通过后,将所述当前访问请求中的操作数据传输到所述目标数据库。
在接收到目标数据库所返回的登录成功标识时,说明登录账户具有对数据库进行登录的权限,而进一步验证登录账户所对应的用户身份的合法性;该用户身份的合法性表征用户具有对数据库操作逻辑进行校验的权限。预先为具有对数据库操作逻辑校验权限的登录账户分配有权限标识,在进行用户身份合法性验证时,通过判断登录账户是否携带有权限标识进行。当判断出登录账户携带有权限标识,则说明与登录账户对应的用户身份的合法性验证通过,用户具有对对数据库操作逻辑进行校验的权限;而当判断出登录账户不携带有权限标识,则说明与登录账户对应的用户身份的合法性验证失败,用户不具有对对数据库操作逻辑进行校验的权限。在验证出用户身份的合法性通过后,则可对当前访问请求中的操作数据进行读取,并将读取的操作数据传输到目标数据库,以对目标数据库进行操作逻辑的校验。
进一步地,在本发明数据库操作逻辑校验方法另一实施例中,所述数据库操作逻辑校验方法还包括步骤:
步骤S60,当接收到操作文档时,读取所述操作文档中的批量操作数据、数据库编码以及数据表编码;
可理解地,在对数据库操作逻辑校验的过程中,可能存在对数据库中的多张数据表进行不同操作逻辑校验的需求;如对数据库中数据表A的数据K进行修改,而对数据库中数据表B的数据Y进行删除等。此时为了提高对不同操作逻辑校验的速度,设置有批量校验的机制。具体地,将需要校验的数据库,该数据库中的多个数据表以及各数据表校验的操作数据形成操作文档,并将该操作文档上传到服务器;当服务器接收到该操作文档时,对其中的批量操作数据、数据库编码以及数据表编码进行读取;其中批量操作数据表征各数据表中所需要校验的操作逻辑,数据表编码表征所需要进行操作逻辑校验的数据表,数据库编码表征所需要进行操作逻辑校验的数据表所在的数据行库。通过操作文档中的批量操作数据、数据库编码和数据表编码,对不同数据表中的不同操作逻辑进行批量校验。
步骤S70,根据所述数据库编码和各所述数据表编码,确定目标数据表,并对各所述目标数据表基于各所述批量操作数据进行操作,生成批量操作结果,以对各所述目标数据表进行批量操作逻辑校验。
进一步地,因数据表编码和数据库编码分别表征了所需要进行操作逻辑校验的数据表,以及该数据表所在的数据库;从而依据各数据库编码和数据表编码即可确定所需要进行操作逻辑校验的数据表,将该各数据表作为目标数据表;进而基于各批量操作数据对各目标数据表进行操作,生成批量操作结果,以通过所生成的批量操作结果对各目标数据表进行批量操作逻辑校验。考虑到在对各目标数据表进行操作逻辑的校验过程中,不同的目标数据表所需要校验的操作逻辑不一样;从而在通过各批量操作数据对各目标数据表校验的过程中,需要依据批量操作数据与目标数据表之间的对应关系进行,该两者之间的对应关系,表征了各目标数据表所需要校验的操作逻辑。具体地,根据数据库编码和各数据表编码,确定目标数据表,并对各目标数据表基于各批量操作数据进行操作,生成批量操作结果的步骤包括:
步骤S71,将所述数据库编码和预设编码对比,确定目标预设编码,并根据所述目标预设编码,确定验证数据库;
更进一步地,为了对各数据库进行区分,针对不同的数据库预先设定有不同的预设编码,由服务器对各预设编码进行统一管理。为了确定需要进行操作逻辑校验的数据表所在的数据库,将读取到数据库编码和该各个预设编码进行对比,确定预设编码中与数据库编码一致的目标预设编码。该目标预设编码与数据编码所表征的数据库相同,即为所需要校验的数据表所在的数据库。从而将与目标预设编码所对应的数据库作为验证数据库,以对其中所需要校验的数据表进行验证。
步骤S72,将各所述数据表编码和所述验证数据库中各数据表的参考编码对比,确定与各所述数据表编码对应的目标参考编码,并将与各所述目标参考编码对应的数据表确定为目标数据表;
可理解地,验证数据库中存储有多个数据表,各个数据表之间通过参考编码进行区分。为了从各个数据表中确定所需要校验的数据表,将读取的各数据表编码和验证数据库中所具有的各数据表的参考编码对比,确定各参考编码中和各数据表编码一致的目标参考编码。该各个目标参考编码与各数据表编码所表征的数据表相同,为需要进行操作逻辑校验的数据表。从而将与该各目标参考编码对应的数据表确定为目标数据表,以进行操作逻辑的校验。
步骤S73,根据各所述批量操作数据与各数据表编码之间的对应关系,确定与各所述目标数据表对应的目标批量操作数据,并用各所述目标批量操作数据对各自对应的所述目标数据表进行操作,生成批量操作结果。
进一步地,操作文档中的各批量操作数据与各数据表编码之间具有对应关系,以表征对各数据表编码所对应数据表需要进行的操作逻辑校验。如批量操作数据T1与修改操作逻辑相关,其对应的数据表编码为Q1,批量操作数据T2与删除操作逻辑相关,其对应的数据表编码为Q2;则说明Q1所对应的数据表需要进行修改操作逻辑的校验,而Q2所对应的数据表需要进行删除操作逻辑的校验。从而在确定所需要校验的各目标数据表之后,可依据该对应关系,确定与各目标数据必要对应的目标批量操作数据;如上述与Q2所对应的目标数据表为F2,则可对应关系确定与F2对应的目标批量操作数据为T2。在确定各目标数据表所对应的目标批量操作数据,即各目标数据表所需要校验的操作逻辑后;用各目标批量操作数据对各自所对应的目标数据表进行操作,生成各个操作结果。该各个操作结果即为与各目标批量操作数据所表征操作逻辑的批量操作结果,通过判断批量操作结果的正确性,来批量校验各目标数据表对其中各数据进行处理的逻辑是否正确。
此外,请参照图2,本发明提供一种数据库操作逻辑校验装置,在本发明数据库操作逻辑校验装置第一实施例中,所述数据库操作逻辑校验装置包括:
读取模块10,用于根据预设队列中各访问请求的排列顺序,对各所述访问请求进行读取,并将当前读取的访问请求设为当前访问请求;
调用模块20,用于根据所述当前访问请求中的数据库标识,确定目标数据库,并对所述目标数据库的目标接口进行调用;
校验模块30,用于将所述当前访问请求中的操作数据基于所述目标接口传输到所述目标数据库中,接收所述目标数据库返回的操作结果,并根据所述操作结果,对所述目标数据库的操作逻辑进行校验。
本实施例的数据库操作逻辑校验装置,通过读取模块10对预设队列中各访问请求依据排列顺序进行读取,并将当前读取的访问请求设为当前访问请求;调用模块20再根据当前访问请求中的数据库标识,确定目标数据库,并对目标数据库的目标接口进行调用;校验模块30进而将当前访问请求中的操作逻辑基于目标接口传输到目标数据库中,并接收目标数据库所返回的操作结果,以根据操作结果,对目标数据库的操作逻辑进行校验。本方案为各数据库设定用于提供校验服务的接口,并将所需要校验的操作数据、数据库标识形成访问请求;依据该数据库标识即可确定目标数据库和目标接口,将操作逻辑通过目标结果传输到目标数据库,即可进行操作逻辑的校验;不需要对测试环境和生产环境的区分,避免了环境之间的切换以及操作的差异性,简化了校验流程,提高了校验效率。
进一步地,在本发明数据库操作逻辑校验装置另一实施例中,所述校验模块还用于:
当接收到所述目标数据库返回的操作结果时,读取所述当前访问请求中的逻辑类型标识,并检测所述逻辑类型标识对应的逻辑类型是否为判断类型;
若所述逻辑类型标识对应的逻辑类型为判断类型,则检测所述操作结果中是否存在比对结果、查询数据以及预设数据;
若存在比对结果、查询数据以及预设数据,则将所述查询数据和所述预设数据匹配,生成匹配结果;
判断所述比对结果和所述匹配结果是否一致,若所述比对结果和所述匹配结果一致,则判定所述逻辑类型为判断类型的操作逻辑校验成功。
进一步地,在本发明数据库操作逻辑校验装置另一实施例中,所述校验模块还用于:
若所述逻辑类型标识对应的逻辑类型不是判断类型,则读取所述操作结果中经所述目标数据库处理的处理数据,并判断所述处理数据和所述逻辑类型对应的逻辑处理结果是否一致;
若所述处理数据和所述逻辑类型对应的逻辑处理结果一致,则判定所述逻辑类型为非判断类型的操作逻辑校验成功。
进一步地,在本发明数据库操作逻辑校验装置另一实施例中,所述数据库操作逻辑校验装置还包括:
第一接收模块,用于当接收到对数据库接口进行调用的调用请求时,读取所述调用请求中的操作串;
添加模块,用于根据预设格式,将所述操作串中的连接串、登录账户、登录密码、操作数据、数据库标识形成访问请求,并将所述访问请求添加到预设队列中。
进一步地,在本发明数据库操作逻辑校验装置另一实施例中,所述校验模块还用于:
根据所述当前访问请求中的连接串,请求与所述目标接口建立通信连接,并在所述通信连接成功后,根据所述当前访问请求中的登录账户和登录密码,对所述目标数据库进行登录操作;
在所述登录操作成功后,对与所述登录账户对应的用户身份的合法性进行验证,并在所述用户身份的合法性验证通过后,将所述当前访问请求中的操作数据传输到所述目标数据库。
进一步地,在本发明数据库操作逻辑校验装置另一实施例中,所述数据库操作逻辑校验装置还包括:
第二接收模块,用于当接收到操作文档时,读取所述操作文档中的批量操作数据、数据库编码以及数据表编码;
生成模块,用于根据所述数据库编码和各所述数据表编码,确定目标数据表,并对各所述目标数据表基于各所述批量操作数据进行操作,生成批量操作结果,以对各所述目标数据表进行批量操作逻辑校验。
进一步地,在本发明数据库操作逻辑校验装置另一实施例中,所述生成模块还包括:
确定单元,用于将所述数据库编码和预设编码对比,确定目标预设编码,并根据所述目标预设编码,确定验证数据库;
对比单元,用于将各所述数据表编码和所述验证数据库中各数据表的参考编码对比,确定与各所述数据表编码对应的目标参考编码,并将与各所述目标参考编码对应的数据表确定为目标数据表;
生成单元,用于根据各所述批量操作数据与各数据表编码之间的对应关系,确定与各所述目标数据表对应的目标批量操作数据,并用各所述目标批量操作数据对各自对应的所述目标数据表进行操作,生成批量操作结果。
其中,上述数据库操作逻辑校验装置的各虚拟功能模块存储于图3所示数据库操作逻辑校验设备的存储器1005中,处理器1001执行数据库操作逻辑校验程序时,实现图2所示实施例中各个模块的功能。
参照图3,图3是本发明实施例方法涉及的硬件运行环境的设备结构示意图。
本发明实施例数据库操作逻辑校验设备可以是PC(personal computer,个人计算机),也可以是智能手机、平板电脑、电子书阅读器、便携计算机等终端设备。
如图3所示,该数据库操作逻辑校验设备可以包括:处理器1001,例如CPU(CentralProcessing Unit,中央处理器),存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速RAM(random accessmemory,随机存取存储器),也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,该数据库操作逻辑校验设备还可以包括用户接口、网络接口、摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi(Wireless Fidelity,无线宽带)模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
本领域技术人员可以理解,图3中示出的数据库操作逻辑校验设备结构并不构成对数据库操作逻辑校验设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图3所示,作为一种可读存储介质的存储器1005中可以包括操作系统、网络通信模块以及数据库操作逻辑校验程序。操作系统是管理和控制数据库操作逻辑校验设备硬件和软件资源的程序,支持数据库操作逻辑校验程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与数据库操作逻辑校验设备中其它硬件和软件之间通信。
在图3所示的数据库操作逻辑校验设备中,处理器1001用于执行存储器1005中存储的数据库操作逻辑校验程序,实现上述数据库操作逻辑校验方法各实施例中的步骤。
本发明提供了一种可读存储介质,所述可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述数据库操作逻辑校验方法各实施例中的步骤。
还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个可读存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。