数据源信息的校验方法及装置制造方法及图纸

技术编号:15799140 阅读:103 留言:0更新日期:2017-07-11 13:17
本申请实施例涉及一种数据源信息的校验方法及装置,包括:当接收到对数据库访问接口的调用请求时,读取数据库访问接口的注释信息;对注释信息进行解析,获得预定义的校验算法;拦截数据库访问接口的一个或多个数据库访问操作,并获取数据库访问操作对应的一个或多个数据源信息;根据预定义的校验算法,对数据源信息进行校验,并获得校验结果信息;输出校验结果信息。由此,可以实现对数据源信息的自动校验,从而大大节约了人力成本和时间成本。

Method and device for checking data source information

Including the application and implementation of device, calibration method for example relates to a data source information: when receiving the call request to the database access interface, read the database access interface annotation information; analyze the annotation information, obtain the checksum algorithm predefined; intercept number according to one or more database access interface access operation, one or more data sources of information and access to the database access operations according to the corresponding algorithm; the predefined to check the data source information, and obtain the check result information; check result output information. Thus, the automatic verification of the data source information can be realized, thereby greatly saving labor cost and time cost.

【技术实现步骤摘要】
数据源信息的校验方法及装置
本申请涉及计算机
,尤其涉及一种数据源信息的校验方法及装置。
技术介绍
在互联网系统中,当服务端接收到客户端的数据库访问请求时,服务端通过调用数据库访问接口连接到相应的数据库,之后再进行各类数据库访问操作。然而在某些场景下,通常希望能够连接到预期的数据库,因此就需要对当前连接的数据库进行校验。而众所周知,数据库连接的信息往往存储在数据源中,因此,对当前连接的数据库的校验就可以转化为对数据源信息的校验。现有技术中,主要有两种对数据源信息进行校验的方法:第一种方法,也称手工校验方法,即从数据库访问操作对应的日志文件中查看数据源信息是否符合预期;第二种方法,在数据库访问接口对应的测试脚本中补充校验逻辑。然而,第一种方法通常需要耗费极大的人力资源,且校验效率比较低;而第二种方法因为在测试脚本中新增了代码,所以需要重新调试测试脚本,这增加了时间成本和人力成本,此外测试脚本中会新增很多冗余的校验代码,这使得测试脚本不够直观。
技术实现思路
本申请实施例提供了一种数据源信息的校验方法及装置,可以调高数据源信息校验的效率,且不会增加测试人员的工作量。第一方面,提供了一种数据源信息的校验方法,该方法包括:当接收到对数据库访问接口的调用请求时,读取所述数据库访问接口的注释信息;对所述注释信息进行解析,获得预定义的校验算法;拦截所述数据库访问接口的一个或多个数据库访问操作,并获取所述数据库访问操作对应的一个或多个数据源信息;根据所述预定义的校验算法,对所述数据源信息进行校验,并获得校验结果信息;输出所述校验结果信息。第二方面,提供了一种数据源信息的校验装置,该装置包括:读取单元、解析单元、拦截单元、校验单元和输出单元;所述读取单元,用于当接收到对数据库访问接口的调用请求时,读取所述数据库访问接口的注释信息;所述解析单元,用于对所述读取单元读取的所述注释信息进行解析,获得预定义的校验算法;所述拦截单元,用于拦截所述数据库访问接口的一个或多个数据库访问操作,并获取所述数据库访问操作对应的一个或多个数据源信息;所述校验单元,用于根据所述解析单元得到的所述预定义的校验算法,对所述数据源信息进行校验,并获得校验结果信息;所述输出单元,用于输出所述校验单元得到的所述校验结果信息。本申请提供的数据源信息的校验方法及装置,当接收到对数据库访问接口的调用请求时,读取所述数据库访问接口的注释信息;对所述注释信息进行解析,获得预定义的校验算法;拦截所述数据库访问接口的一个或多个数据库访问操作,并获取所述数据库访问操作对应的一个或多个数据源信息;根据所述预定义的校验算法,对所述数据源信息进行校验,并获得校验结果信息;输出所述校验结果信息。也即本申请中,直接从数据库访问接口对应的注释信息中就可以获取到预定义的校验算法,之后根据预定义的校验算法,就可以实现对数据源信息的自动校验,从而解决了现有技术中通过人工校验数据源信息而导致的校验效率低的问题,且无需对修改后的数据库访问接口的测试脚本进行再次调试,这大大节约了时间成本和人力成本。附图说明图1为本申请提供的数据源信息校验装置示意图;图2为本申请一种实施例提供的数据源信息的校验方法流程图;图3为本申请提供的数据库访问接口的示意图;图4为本申请另一种实施例提供的数据源信息的校验装置示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。为便于对本申请实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本申请实施例的限定。本申请实施例提供的数据源信息的校验方法及装置,适应于互联网系统中在某些特定场景下对数据库访问操作访问的数据库进行校验的场景,此处,互联网系统包括客户端和服务端,其中,客户端可以向服务端发送数据库访问请求,此处的数据库访问请求包括:写数据库请求和读数据库请求;服务端在接收到数据库访问请求之后,通过调用数据库访问接口连接到对应的数据库上,之后可以进行各类数据库访问操作(包括:读数据库操作和写数据库操作)。本申请的服务端可以包括多个数据库,多个数据库可以异地部署,且可以分为两种类型:读数据库和写数据库,写数据库的个数可以为一个,而读数据库的个数可以为多个。需要说明的是,读数据库中的数据是从写数据库中复制的,所以写数据库的实时性最高,当写数据库中的数据发生变化时,可以将写数据库中发生变化的数据依次同步至多个读数据库中。在默认状态下,读数据库操作访问的数据库为读数据库,而写数据库操作访问的数据库为写数据库。可以理解的是,因为可以有多个读数据库,所以可以根据预设的路由策略来确定当前读数据库操作所访问的数据库。需要说明的是,上述特定场景可以包括但不限于如下三种场景:场景一:写库强制的场景,即当服务端接收到写数据库请求,且将该写数据库请求解析为一个或多个数据库访问操作时,假设该一个或多个数据库访问操作中包含读数据库操作,则为了保证数据的实时性,希望该读数据库操作从写数据库中读数据,此时,就可以对读数据库操作访问的数据库进行校验,即校验该读数据库操作访问的数据库为写数据库。场景二:一致性读的场景,根据上面的描述,当写数据库中的数据发生变化时,可以将写数据库中发生变化的数据依次同步至多个读数据库中,而在数据同步的过程中,当服务端接收到读数据库请求,且将该数据库请求解析为多个读数据库操作时,假设该多个读数据库操作分别访问不同的读数据库,则因为多个读数据库的同步会有时间差,而导致部分读数据库操作访问的是同步后的读数据库,而部分读数据库操作访问的是未同步的读数据库,也即任一数据库访问操作访问了未同步的数据库,则读取结果就是错误的。所以,可以对多个读数据库操作访问的数据库进行校验,即校验多个数据库访问操作访问的数据库是一致的,在这种情况下,只有该读数据库未同步完成时,才会导致读取结果错误,由此可以使读取结果错误的概率降到最坏情况的五分之一。举例来说,在多个数据库异地部署的情况下,即假设写数据库部署在地点A,多个读数据库部署在地点B,则当地点A的写数据库中的数据发生变化时,同步到地点B的多个读数据库的时间可能不同,在数据未完全同步完成时,地点B触发了一笔查询操作,假设该查询操作需要查询5次读数据库,如果每次查询都路由到了不同的读数据库,那么这5个读数据库中任何一个读数据库的数据是旧的,就导致查询结果是错误的,而如果能保证5次读数据库都路由到同一个读数据库,那么只有这个读数据库没同步完成时,才会导致查询结果错误。场景三:切换到异构数据库的场景,在互联网系统的发展过程中,不可避免的会遇到数据的迁移(即将数据从一个数据库迁移至另一个数据库),特别是当将数据迁移至异构数据库时,为了保证互联网系统在数据迁移之后能正常运行,可以对读数据库操作访问的数据库进行校验,即校验读数据库操作访问的数据库是否为迁移后的数据库,当然也可以同时验证访问结果的正确性;而假设数据迁移后,互联网系统不能够正本文档来自技高网...
数据源信息的校验方法及装置

【技术保护点】
一种数据源信息的校验方法,其特征在于,该方法包括:当接收到对数据库访问接口的调用请求时,读取所述数据库访问接口的注释信息;对所述注释信息进行解析,获得预定义的校验算法;拦截所述数据库访问接口的一个或多个数据库访问操作,并获取所述数据库访问操作对应的一个或多个数据源信息;根据所述预定义的校验算法,对所述数据源信息进行校验,并获得校验结果信息;输出所述校验结果信息。

【技术特征摘要】
1.一种数据源信息的校验方法,其特征在于,该方法包括:当接收到对数据库访问接口的调用请求时,读取所述数据库访问接口的注释信息;对所述注释信息进行解析,获得预定义的校验算法;拦截所述数据库访问接口的一个或多个数据库访问操作,并获取所述数据库访问操作对应的一个或多个数据源信息;根据所述预定义的校验算法,对所述数据源信息进行校验,并获得校验结果信息;输出所述校验结果信息。2.根据权利要求1所述的方法,其特征在于,所述预定义的校验算法包括:校验多个数据源信息是否一致;和/或,校验一个或多个数据源信息是否与预设的数据源信息或者预定义类型的数据源信息一致。3.根据权利要求1或2所述的方法,其特征在于,当所述预定义的校验算法为校验多个数据源信息是否一致时,所述根据所述预定义的校验算法,对所述数据源信息进行校验,并获得校验结果信息,具体为:对所述一个或多个数据源信息进行比对,若比对一致,则获得的所述校验结果信息为表示校验成功的信息;否则获得的所述校验结果信息为表示校验不成功的信息。4.根据权利要求1或2所述的方法,其特征在于,当所述预定义的校验算法为校验一个或多个数据源信息是否与预设的数据源信息或者预定义类型的数据源信息一致时,所述根据所述预定义的校验算法,对所述数据源信息进行校验,并获得校验结果信息,具体为:对所述一个或多个数据源信息与预设的数据源信息进行比对,若任一数据源信息与预设的数据信息比对不一致,则获得的所述校验结果信息为表示校验不成功的信息;否则获得的所述校验结果信息为表示校验成功的信息;或者,对所述一个或多个数据源信息与预定义类型的数据源信息进行比对,若任一数据源信息与预定义类型的数据源信息比对不一致,则获得的所述校验结果信息为表示校验不成功的信息;否则获得的所述校验结果信息为表示校验成功的信息。5.根据权利要求1-4任一项所述的方法,其特征在于,所述拦截所述数据库访问接口上的一个或多个数据库访问操作,具体为:在所述数据库访问接口...

【专利技术属性】
技术研发人员:李春晓童寅徐铭泽
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1