CN111885051B - 数据验证方法、装置及电子设备 - Google Patents

数据验证方法、装置及电子设备 Download PDF

Info

Publication number
CN111885051B
CN111885051B CN202010708781.5A CN202010708781A CN111885051B CN 111885051 B CN111885051 B CN 111885051B CN 202010708781 A CN202010708781 A CN 202010708781A CN 111885051 B CN111885051 B CN 111885051B
Authority
CN
China
Prior art keywords
gateway
data
returned
resource locators
log
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010708781.5A
Other languages
English (en)
Other versions
CN111885051A (zh
Inventor
徐霁
刘磊
陈先进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Weiyiyun Hangzhou Holding Co ltd
Original Assignee
Weiyiyun Hangzhou Holding Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Weiyiyun Hangzhou Holding Co ltd filed Critical Weiyiyun Hangzhou Holding Co ltd
Priority to CN202010708781.5A priority Critical patent/CN111885051B/zh
Publication of CN111885051A publication Critical patent/CN111885051A/zh
Application granted granted Critical
Publication of CN111885051B publication Critical patent/CN111885051B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及数据验证技术领域,具体而言,涉及一种数据验证方法、装置及电子设备。本申请实施例提供的数据验证方法包括:针对多个网关服务器中的至少一个网关服务器,获取至少一个网关服务器在处理用户针对目标应用发送的数据请求时,生成的网关日志,以获得至少一个网关日志,根据至少一个网关日志获得测试用例集合,测试用例集合中包括指向目标应用的多个统一资源定位符,分别将多个统一资源定位符发送给多个网关服务器,并接收多个网关服务器针对多个统一资源定位符返回的结果数据集合,以获得多个结果数据集合,根据多个结果数据集合,获取多个网关服务器返回数据的一致性验证结果。本申请实施例提供的数据验证方法能够有效降低数据验证成本。

Description

数据验证方法、装置及电子设备
技术领域
本申请涉及数据验证技术领域,具体而言,涉及一种数据验证方法、装置及电子设备。
背景技术
目前,线上服务的多机房服务部署已经成为很多大型互联网应用的高可用方案,此方案有效地保障了在一个应用服务器挂掉的情况下,依然可以切换至另一个应用服务器提供服务,从而大大提升了互联网应用的稳定性。线上服务的多机房服务部署有多种方式,现阶段,通常应用的是完全隔离的多机房部署形式,也就是每个机房里的所有服务构成一套完整的系统,是独立的,而不依赖另一个机房的任何服务。也正是因为服务的独立部署,又要求能够在其中一个应用服务器挂掉的情况下,能够顺利切换至另一个应用服务器提供服务,所以,就要保证两个应用服务器的数据保持最终一致。而数据的最终一致是指,不管中间数据处理过程如何,在一个固定的时间间隔后在同一个时间点上,通过接口返回的数据,两个应用服务器是保持一致的。
应用服务器对外通过网关服务器提供服务的IP端口,目前,验证两个或两个以上应用服务器的返回数据一致性的方法,通常是通过预先配置的测试用例,发送给多个网关服务器,并接收多个网关服务器针对测试用例返回的结果数据,此后,通过比较结果数据与预期值的与一致性,而获得的。但是,该方法存在的问题是,测试用例需要人工维护,一旦预期值发生变化,则需要立即对其进行修正,因而导致数据验证成本较高。
发明内容
本申请的目的在于,提供一种数据验证方法、装置及电子设备,以解决上述问题。
第一方面,本申请提供的数据验证方法,应用于电子设备,电子设备与多个网关服务器通信连接,网关服务器与部署有目标应用的应用服务器通信连接,以作为目标应用的数据请求入口,数据验证方法,包括:
针对多个网关服务器中的至少一个网关服务器,获取至少一个网关服务器在处理用户针对目标应用发送的数据请求时,生成的网关日志,以获得至少一个网关日志;
根据至少一个网关日志获得测试用例集合,测试用例集合中包括指向目标应用的多个统一资源定位符;
分别将多个统一资源定位符发送给多个网关服务器,并接收多个网关服务器针对多个统一资源定位符返回的结果数据集合,以获得多个结果数据集合;
根据多个结果数据集合,获取多个网关服务器返回数据的一致性验证结果。
本申请实施例中,数据验证方法,包括:针对多个网关服务器中的至少一个网关服务器,获取至少一个网关服务器在处理用户针对目标应用发送的数据请求时,生成的网关日志,以获得至少一个网关日志,根据至少一个网关日志获得测试用例集合,测试用例集合中包括指向目标应用的多个统一资源定位符,分别将多个统一资源定位符发送给多个网关服务器,并接收多个网关服务器针对多个统一资源定位符返回的结果数据集合,以获得多个结果数据集合,根据多个结果数据集合,获取多个网关服务器返回数据的一致性验证结果。由于测试用例集合是根据网关日志生成的,而网关日志是至少一个网关服务器在处理用户针对目标应用发送的数据请求时生成的,可以实时获取,及时自动更新,而无需人工维护,从而有效降低了数据验证成本。
结合第一方面,本申请实施例还提供了第一方面的第一种可选的实施方式,针对多个网关服务器中的至少一个网关服务器,获取至少一个网关服务器在处理用户针对目标应用发送数据请求时,生成的网关日志,以获得至少一个网关日志,包括:
针对多个网关服务器中的至少一个网关服务器,按照预设的时间间隔,获取至少一个网关服务器在处理用户针对目标应用发送数据请求时,生成的网关日志,以获得多个网关日志。
结合第一方面,本申请实施例还提供了第一方面的第二种可选的实施方式,根据至少一个网关日志获得测试用例集合,包括:
针对至少一个网关日志中的每个网关日志,从网关日志记录的所有统一资源定位符中,提取出多个目标资源定位符;
整合至少一个网关日志中的每个网关日志所对应的多个目标资源定位符,获得测试用例集合。
结合第一方面的第二种可选的实施方式,本申请实施例还提供了第一方面的第三种可选的实施方式,针对至少一个网关日志中的每个网关日志,从网关日志记录的所有统一资源定位符中,提取出多个目标资源定位符,包括:
针对至少一个网关日志中的每个网关日志,从网关日志记录的属于同一类别的多个统一资源定位符中,选取出预设数量个目标资源定位符;
整合从所有类别的多个统一资源定位符中选取出的预设数量个目标资源定位符,获得多个目标资源定位符。
结合第一方面的第二种可选的实施方式,本申请实施例还提供了第一方面的第四种可选的实施方式,整合至少一个网关日志中的每个网关日志所对应的多个目标资源定位符,获得测试用例集合,包括:
判断至少一个网关日志所对应的所有目标资源定位符中是否包括重复或返回数据为空的目标资源定位符;
若至少一个网关日志所对应的所有目标资源定位符中包括重复或返回数据为空的目标资源定位符,则将重复或返回数据为空的目标资源定位符删除,并将剩余的目标资源定位符,组成测试用例集合。
结合第一方面,本申请实施例还提供了第一方面的第五种可选的实施方式,根据多个结果数据集合,获取多个网关服务器返回数据的一致性验证结果,包括:
针对多个结果数据集合中的每个结果数据集合,删除结果数据集合中的每个返回数据中携带的赘余信息,获得待对比数据集合,以获得多个待对比数据集合;
按照预设的对比策略,对比多个待对比数据集合中的每个返回数据,以获取多个网关服务器返回数据的一致性验证结果。
结合第一方面,本申请实施例还提供了第一方面的第六种可选的实施方式,电子设备还与终端设备通信连接,根据多个结果数据集合,验证多个网关服务器返回数据的一致性之后,数据验证方法,还包括:
判断多个网关服务器返回数据的一致性验证结果是否符合预设一致性要求;
若多个网关服务器返回数据的一致性验证结果不符合预设一致性要求,则生成包括一致性验证结果的报警信息;
将报警信息发送给终端设备。
第二方面,本申请实施例提供的数据验证装置,应用于电子设备,电子设备与多个网关服务器通信连接,网关服务器与部署有目标应用的应用服务器通信连接,以作为目标应用的数据请求入口,数据验证装置,包括:
网关日志获取模块,用于针对多个网关服务器中的至少一个网关服务器,获取至少一个网关服务器在处理用户针对目标应用发送的数据请求时,生成的网关日志,以获得至少一个网关日志;
测试用例获取模块,用于根据至少一个网关日志获得测试用例集合,测试用例集合中包括指向目标应用的多个统一资源定位符;
结果数据获取模块,用于分别将多个统一资源定位符发送给多个网关服务器,并接收多个网关服务器针对多个统一资源定位符返回的结果数据集合,以获得多个结果数据集合;
数据验证模块,用于根据多个结果数据集合,验证多个网关服务器返回数据的一致性。
本申请提供的数据验证装置具有与第一方面,或第一方面的任意一种可选的实施方式所提供的数据验证方法相同的有益效果,此处不作赘述。
第三方面,本申请实施例一种电子设备,包括控制器和存储器,存储器上存储有计算机程序,控制器用于执行计算机程序,以实现上述第一方面,或第一方面的任意一种可选的实施方式所提供的数据验证方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被执行时,实现上述第一方面,或第一方面的任意一种可选的实施方式所提供的数据验证方法。
本申请提供的计算机可读存储介质具有与第一方面,或第一方面的任意一种可选的实施方式所提供的数据验证方法相同的有益效果,此处不作赘述。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种电子设备的示意性结构框图。
图2为本申请实施例提供的一种数据验证方法的应用场景示意图。
图3为本申请实施例提供的一种数据验证方法的步骤流程图。
图4为本申请实施例提供的一种数据验证装置的示意性结构框图。
附图标记:100-电子设备;110-处理器;120-存储器;200-网关服务器;300-应用服务器;400-数据验证装置;410-网关日志获取模块;420-测试用例获取模块;430-结果数据获取模块;440-数据验证模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。此外,应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
请参阅图1,为本申请实施例提供的一种电子设备100的示意性结构框图。本申请实施例中,电子设备100可以是终端设备,例如,电脑、移动上网设备(Mobile InternetDevice,MID)等,还可以是服务器,本申请实施例对此不作具体限制。
在结构上,电子设备100可以包括处理器110和存储器120。
处理器110和存储器120直接或间接地电性连接,以实现数据的传输或交互,例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。数据验证装置包括至少一个可以软件或固件(Firmware)的形式存储在存储器120中或固化在电子设备100的操作系统(Operating System,OS)中的软件模块。处理器110用于执行存储器120中存储的可执行模块,例如,数据验证装置所包括的软件功能模块及计算机程序等,以实现数据验证方法。
处理器110可以在接收到执行指令后,执行计算机程序。其中,处理器110可以是一种集成电路芯片,具有信号处理能力。处理器110也可以是通用处理器,例如,可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、分立门或晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图,此外,通用处理器可以是微处理器或者任何常规处理器等。
存储器120可以是,但不限于,随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-OnlyMemory,PROM)、可擦可编程序只读存储器(Erasable Programmable Read-Only Memory,EPROM),以及电可擦编程只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)。存储器120用于存储程序,处理器110在接收到执行指令后,执行该程序。
应当理解,图1所示的结构仅为示意,本申请实施例提供的电子设备100还可以具有比图1更少或更多的组件,或是具有与图1所示不同的配置。此外,图1所示的各组件可以通过软件、硬件或其组合实现。此外,本申请实施例中,电子设备100与多个网关服务器200通信连接,而网关服务器200与部署有目标应用的应用服务器300通信连接,以作为目标应用的数据请求入口。请结合图2,多个网关服务器200可以包括第一网关服务器和第二网关服务器,应用服务器300可以包括第一应用服务器和第二应用服务器。
请参阅图3,为本申请实施例提供的数据验证方法的流程示意图,该方法应用于图1或图2所示的电子设备100。需要说明的是,本申请实施例提供的数据验证方法不以图3及以下所示的顺序为限制,以下结合图3对数据验证方法的具体流程及步骤进行描述。
步骤S100,针对多个网关服务器中的至少一个网关服务器,获取至少一个网关服务器在处理用户针对目标应用发送的数据请求时,生成的网关日志,以获得至少一个网关日志。
本申请实施例中,针对多个网关服务器中的至少一个网关服务器,可以只获取一个网关服务器在处理用户针对目标应用发送的数据请求时,生成的网关日志,以获得至少一个网关日志,也可以获取多个网关服务器在处理用户针对目标应用发送的数据请求时,生成的网关日志,以获得多个网关日志,本申请实施例对此不作具体限制。此外,本申请实施例中,网关日志中包括用户针对目标应用发送数据请求时,具体发送的统一资源定位符,也即,网关日志中可以过滤掉静态文件类请求,而仅仅保留实际线上数据请求。
进一步地,本申请实施例中,步骤S100具体还可以是,针对多个网关服务器中的至少一个网关服务器,按照预设的时间间隔,获取至少一个网关服务器在处理用户针对目标应用发送数据请求时,生成的网关日志,以获得多个网关日志,从而降低后续执行步骤S200时的数据处理难度。其中,预设时间间隔可以是5min,也可以是10min,本申请实施例对此不作具体限制。
步骤S200,根据至少一个网关日志获得测试用例集合,测试用例集合中包括指向目标应用的多个统一资源定位符。
本申请实施例中,测试用例集合中可以包括指向目标应用的多个统一资源定位符,通过测试用例集合中包括的多个统一资源定位符,即可通过应用服务器向目标应用发起数据请求。此外,实际实施时,对于步骤S200,本申请实施例中,其可以包括步骤S210和步骤S220。
步骤S210,针对至少一个网关日志中的每个网关日志,从网关日志记录的所有统一资源定位符中,提取出多个目标资源定位符。
本申请实施例中,针对至少一个网关日志中的每个网关日志,可以从网关日志记录的属于同一类别的多个统一资源定位符中,选取出预设数量个目标资源定位符,整合从所有类别的多个统一资源定位符中选取出的预设数量个目标资源定位符,获得多个目标资源定位符。其中,预设数量可以是1个,也可以是2个,本申请实施例最初不作具体限制。
进一步地,本申请实施例中,可以通过红黑树这一数据结构,统计网关日志中记录的所有统一资源定位符,以实现上述过程。此外,针对网关日志中记录的所有统一资源定位符中的每个统一资源定位符,在记录该统一资源定位符的过程中,还可以生成对应的post请求。在此情况下,只需将post请求的请求体和统一资源定位符同时记录到数据库,再使用post请求的请求体和统一资源定位符组成目标字符串,计算Key为目标字符串后的Md5值,以实现目标字符串的去重,也即,从网关日志记录的所有统一资源定位符中,提取出多个目标资源定位符。该过程中,查询算法复杂度为log(n),n为红黑树内节点数,写入复杂度nlog(n)。由于写入量并不大(日志记录多个统一资源定位符类别很多的情况极少,一般在1000以内),所以,此方法可以极大程度的保障在统一资源定位符数量极大情况下的统计速度,整体算法复杂度在mlog(n),m为网关日志记录的所有统一资源定位符数量,n为最大统一资源定位符类别数,一般情况下可以接近O(m)。
示例性的,针对至少一个网关日志中的第一网关日志,第一网关日志记录的所有统一资源定位符:
http://192.168.1.1:80/interface1?id=1;
http://192.168.1.1:80/interface1?id=2;
http://192.168.1.1:80/interface1?id=4;
http://192.168.1.1:80/interface1?id=1&account=10;
http://192.168.1.1:80/interface1?id=2&account=10;
http://192.168.1.1:80/interface1?id=4&account=20;
……
显然,第一网关日志记录的所有统一资源定位符中,包括2个类别的统一资源定位符,其中,第一类别为id,第二类别为id&account。若预设数量为1个,则可以从第一网关日志记录的属于第一类别的多个统一资源定位符中,选取出1个目标资源定位符,例如,选取出http://192.168.1.1:80/interface1?id=1,同样,从第一网关日志记录的属于第二类别的多个统一资源定位符中,选取出1个目标资源定位符,例如,选取出http://192.168.1.1:80/interface1?id=1&account=10。此后,整合从2个类别的多个统一资源定位符中选取出的1个目标资源定位符,获得2个目标资源定位符,也即,2个目标资源定位符分别为http://192.168.1.1:80/interface1?id=1和http://192.168.1.1:80/interface1?id=1&account=10。
再例如,针对至少一个网关日志中的第二网关日志,第二网关日志记录的所有统一资源定位符:
http://192.168.1.1:80/interface1?id=1;
http://192.168.1.1:80/interface1?id=2;
http://192.168.1.1:80/interface1?id=4;
http://192.168.1.1:80/interface1?id=1&price=100;
http://192.168.1.1:80/interface1?id=2&price=120;
http://192.168.1.1:80/interface1?id=4&price=125;
……
显然,第二网关日志记录的所有统一资源定位符中,包括2个类别的统一资源定位符,其中,第一类别为id,第二类别为id&price。若预设数量为1个,则可以从第二网关日志记录的属于第一类别的多个统一资源定位符中,选取出1个目标资源定位符,例如,选取出http://192.168.1.1:80/interface1?id=1,同样,从第二网关日志记录的属于第二类别的多个统一资源定位符中,选取出1个目标资源定位符,例如,选取出http://192.168.1.1:80/interface1?id=1&price=100。此后,整合从2个类别的多个统一资源定位符中选取出的1个目标资源定位符,获得2个目标资源定位符,也即,2个目标资源定位符分别为http://192.168.1.1:80/interface1?id=1和http://192.168.1.1:80/interface1?id=1&price=100。
步骤S220,整合至少一个网关日志中的每个网关日志所对应的多个目标资源定位符,获得测试用例集合。
本申请实施例中,判断至少一个网关日志所对应的所有目标资源定位符中是否包括重复或返回数据为空的目标资源定位符,若至少一个网关日志所对应的所有目标资源定位符中包括重复或返回数据为空的目标资源定位符,则将重复或返回数据为空的目标资源定位符删除,并将剩余的目标资源定位符,组成测试用例集合。
示例性的,可以对至少一个网关日志中的每个网关日志所对应的多个目标资源定位符进行去重处理,例如,至少一个网关日志中包括上述第一网关日志和上述第二网关日志,第一网关日志和第二网关日志中均包括的类别为id的目标资源定位符,则可以从第一网关日志对应的类别为id的目标资源定位符和第二网关日志对应的类别为id的目标资源定位符中任意选择一者保留,此后,通过剩余的所有目标资源定位符,即可通过应用服务器向目标应用发起数据请求,此后,再次将返回数据为空的目标资源定位符删除,获得最终的测试用例集合。假设,通过剩余的所有目标资源定位符,通过应用服务器向目标应用发起数据请求而未接收倒返回结果为空的目标资源定位符,则测试用例集合可以为[http://192.168.1.1:80/interface1?id=1,http://192.168.1.1:80/interface1?id=1&account=10,http://192.168.1.1:80/interface1?id=1&price=100]。此外,需要说明的是,本申请实施例中,步骤S220获得的测试用例集合中除多个目标资源定位符之外,还可以包括多个目标资源定位符中,每个目标资源定位符对应的post请求。
步骤S300,分别将多个统一资源定位符发送给多个网关服务器,并接收多个网关服务器针对多个统一资源定位符返回的结果数据集合,以获得多个结果数据集合。
本申请实施例中,针对多个网关服务器中包括的每个网关服务器,在接收到多个统一资源定位符之后,向应用服务器发送数据请求,以使应用服务器返回与多个统一资源定位符一一对应的多条结果数据,组成一个结果数据集合,且多个同一资源定位符和多条结果数据可以持久化到任意关系型数据库内。
需要说明的是,本申请实施例中,在确定出需要测试的某个网关服务器(具体可以理解为,需要测试的某个应用服务器)返回数据的一致性时,可以预先创建电子设备、前述某个网关服务器和前述某个应用服务器的通信连接关系。如此,在执行步骤S200时,获取的测试用例集合中,便可以只包括目标资源定位符的类别,例如,步骤S220中例举的测试用例集合[http://192.168.1.1:80/interface1?id=1,http://192.168.1.1:80/interface1?id=1&account=10,http://192.168.1.1:80/interface1?id=1&price=100],实质可以为[interface1?id=1,interface1?id=1&account=10,interface1?id=1&price=100]。
基于以上描述,可以理解的是,测试多个网关服务器中包括的每个网关服务器(也即,多个网关服务器中,与每个网关服务器通信连接的应用服务器)返回数据的一致性时,可以通过异步测试的方式进行。例如,多个网关服务器包括第一网关服务器和第二网关服务器,且第一网关服务器与第一应用服务器连接,第二网关服务器与第二应用服务器连接时,可以预先创建电子设备、第一网关服务器和第一应用服务器的通信连接关系,此后,分别将多个统一资源定位符发送给第一网关服务器,并接收第一网关服务器针对多个统一资源定位符返回的第一结果数据集合,接着,再创建电子设备、第二网关服务器和第二应用服务器的通信连接关系,此后,分别将多个统一资源定位符发送给第二网关服务器,并接收第二网关服务器针对多个统一资源定位符返回的第二结果数据集合。若将第一网关服务器作为基准网关,则将第一结果数据集合作为基准,将第二结果数据集合与第一结果数据集合进行对比,以判断第二结果数据集合是否与第一结果数据集合一致,若将第二网关服务器作为基准网关,则将第二结果数据集合作为基准,将第一结果数据集合与第二结果数据集合进行对比,以判断第一结果数据集合是否与第二结果数据集合一致。
还需要说明的是,本申请实施例中,基准网关可以是多个网关服务器中包括的能够预先确定返回数据为标准数据的网关服务器,而测试网关为多个网关服务器中除基准网关之外,包括的至少一个其他网关服务器。
步骤S400,根据多个结果数据集合,获取多个网关服务器返回数据的一致性验证结果。
本申请实施例中,可以根据多个结果数据集合,并结合预设的对比策略,获取多个网关服务器返回数据的一致性验证结果。基于此,本申请实施例中,步骤S400可以包括步骤S410和步骤S420。
步骤S410,针对多个结果数据集合中的每个结果数据集合,删除结果数据集合中的每个返回数据中携带的赘余信息,获得待对比数据集合,以获得多个待对比数据集合。
本申请实施例中,针对结果数据集合中的每个返回数据,可以将返回数据中不需要的字段和内容,作为赘余信息删除,例如,时间戳等信息。
步骤S420,按照预设的对比策略,对比多个待对比数据集合中的每个返回数据,以获取多个网关服务器返回数据的一致性验证结果。
本申请实施例中,可以预先设置多种对比策略,例如,对比策略可以包括,但不限于:
1.返回数据字段一致性(可配置为忽略,警告或错误)。
2.指定接口字段一致性(可配置为忽略,警告或错误)。
3.返回文档数量一致性(可配置为忽略,警告或错误)。
4.基准网关返回文档在测试网关查询失败(可配置为忽略,警告或错误)。
5.测试网关返回文档在基准网关查询失败(可配置为忽略,警告或错误)。
6.网关服务器返回JSON串整体对比一致性(可配置为忽略,警告或错误)。
本申请实施例提供的数据验证方法,在步骤S400之后,还可以包括步骤S500、步骤S600和步骤S700。
步骤S500,判断多个网关服务器返回数据的一致性验证结果是否符合预设一致性要求。
步骤S600,若多个网关服务器返回数据的一致性验证结果不符合预设一致性要求,则生成包括一致性验证结果的报警信息。
步骤S700,将报警信息发送给终端设备。
本申请实施例中,终端设备可以是数据验证方用户的手机、电脑、电脑、MID等。如此,便能够在多个网关服务器返回数据的一致性验证结果不符合预设一致性要求时,使数据验证方用户及时获知,以便立即采取后续应对策略。
此外,需要说明的是,本申请实施例中,针对某个测试网关,其返回数据是否满足预设一致性要求具体可以是该测试网关的所有返回数据中,与所述基准网关的所有返回数据相同的数据条数是否满足预设的比例数值,也即,若测试网关的所有返回数据中,与所述基准网关的所有返回数据相同的数据条数满足预设的比例数值,则判定该测试网关返回数据满足预设一致性要求,若测试网关的所有返回数据中,与所述基准网关的所有返回数据相同的数据条数不满足预设的比例数值,则判定该测试网关返回数据满足预设一致性要求。其中,预设的比例数值可以是,但不限于95%、98%。
基于与上述数据验证方法同样的发明构思,本申请实施例还提供了一种数据验证装置400,应用于电子设备。请参阅图4,本申请实施例提供的数据验证装置400包括网关日志获取模块410、测试用例获取模块420、结果数据获取模块430和数据验证模块440。
网关日志获取模块410,用于针对多个网关服务器中的至少一个网关服务器,获取至少一个网关服务器在处理用户针对目标应用发送的数据请求时,生成的网关日志,以获得至少一个网关日志。
网关日志获取模块410,具体用于针对多个网关服务器中的至少一个网关服务器,按照预设的时间间隔,获取至少一个网关服务器在处理用户针对目标应用发送数据请求时,生成的网关日志,以获得多个网关日志。
关于网关日志获取模块410的描述具体可参考上述数据验证方法相关实施例中关于步骤S100的详细描述,也即,步骤S100可以由网关日志获取模块410执行。
测试用例获取模块420,用于根据至少一个网关日志获得测试用例集合,测试用例集合中包括指向目标应用的多个统一资源定位符。
关于测试用例获取模块420的描述具体可参考上述数据验证方法相关实施例中关于步骤S200的详细描述,也即,步骤S200可以由网关日志获取模块410执行。
结果数据获取模块430,用于分别将多个统一资源定位符发送给多个网关服务器,并接收多个网关服务器针对多个统一资源定位符返回的结果数据集合,以获得多个结果数据集合。
关于结果数据获取模块430的描述具体可参考上述数据验证方法相关实施例中关于步骤S300的详细描述,也即,步骤S300可以由结果数据获取模块430执行。
数据验证模块440,用于根据多个结果数据集合,验证多个网关服务器返回数据的一致性。
关于数据验证模块440的描述具体可参考上述数据验证方法相关实施例中关于步骤S400的详细描述,也即,步骤S400可以由数据验证模块440执行。
本申请实施例中,测试用例获取模块420可以包括资源定位符获取单元和测试用例获取单元。
资源定位符获取单元,用于针对至少一个网关日志中的每个网关日志,从网关日志记录的所有统一资源定位符中,提取出多个目标资源定位符。
资源定位符获取单元,具体用于针对至少一个网关日志中的每个网关日志,从网关日志记录的属于同一类别的多个统一资源定位符中,选取出预设数量个目标资源定位符,并整合从所有类别的多个统一资源定位符中选取出的预设数量个目标资源定位符,获得多个目标资源定位符。
关于资源定位符获取单元的描述具体可参考上述数据验证方法相关实施例中关于步骤S210的详细描述,也即,步骤S210可以由资源定位符获取单元执行。
测试用例获取单元,用于整合至少一个网关日志中的每个网关日志所对应的多个目标资源定位符,获得测试用例集合。
测试用例获取单元,具体用于判断至少一个网关日志所对应的所有目标资源定位符中是否包括重复或返回数据为空的目标资源定位符,若至少一个网关日志所对应的所有目标资源定位符中包括重复或返回数据为空的目标资源定位符,则将重复或返回数据为空的目标资源定位符删除,并将剩余的目标资源定位符,组成测试用例集合。
关于测试用例获取单元的描述具体可参考上述数据验证方法相关实施例中关于步骤S220的详细描述,也即,步骤S220可以由测试用例获取单元执行。
本申请实施例中,数据验证模块440包括数据集合获取单元和数据验证单元。
数据集合获取单元,用于针对多个结果数据集合中的每个结果数据集合,删除结果数据集合中的每个返回数据中携带的赘余信息,获得待对比数据集合,以获得多个待对比数据集合。
关于数据集合获取单元的描述具体可参考上述数据验证方法相关实施例中关于步骤S410的详细描述,也即,步骤S410可以由数据集合获取单元执行。
数据验证单元,用于按照预设的对比策略,对比多个待对比数据集合中的每个返回数据,以获取多个网关服务器返回数据的一致性验证结果。
关于数据验证单元的描述具体可参考上述数据验证方法相关实施例中关于步骤S420的详细描述,也即,步骤S420可以由数据验证单元执行。
本申请实施例提供的数据验证装置400,还可以包括判断模块、报警信息生成模块和报警信息发送模块。
判断模块,用于判断多个网关服务器返回数据的一致性验证结果是否符合预设一致性要求。
关于判断模块的描述具体可参考上述数据验证方法相关实施例中关于步骤S500的详细描述,也即,步骤S500可以由判断模块执行。
报警信息生成模块,用于若多个网关服务器返回数据的一致性验证结果不符合预设一致性要求,则生成包括一致性验证结果的报警信息。
关于报警信息生成模块的描述具体可参考上述数据验证方法相关实施例中关于步骤S600的详细描述,也即,步骤S6020可以由报警信息生成模块执行。
报警信息发送模块,用于将报警信息发送给终端设备。
关于报警信息发送模块的描述具体可参考上述数据验证方法相关实施例中关于步骤S700的详细描述,也即,步骤S700可以由报警信息发送模块执行。
此外,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被执行时,实现上述方法实施例所提供的数据验证方法,具体可参见上述方法实施例,本申请实施例中对此不作赘述。
本申请实施例中,数据验证方法、装置及电子设备能够针对多个网关服务器中的至少一个网关服务器,获取至少一个网关服务器在处理用户针对目标应用发送的数据请求时,生成的网关日志,以获得至少一个网关日志,根据至少一个网关日志获得测试用例集合,测试用例集合中包括指向目标应用的多个统一资源定位符,分别将多个统一资源定位符发送给多个网关服务器,并接收多个网关服务器针对多个统一资源定位符返回的结果数据集合,以获得多个结果数据集合,根据多个结果数据集合,获取多个网关服务器返回数据的一致性验证结果。由于测试用例集合是根据网关日志生成的,而网关日志是至少一个网关服务器在处理用户针对目标应用发送的数据请求时生成的,可以实时获取,及时自动更新,而无需人工维护,从而有效降低了数据验证成本。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。此外,在本申请每个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是每个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
此外,所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请每个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
还需要说明的是,在本文中,诸如“第一”、“第二”、“第三”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

Claims (9)

1.一种数据验证方法,其特征在于,应用于电子设备,所述电子设备与多个网关服务器通信连接,所述网关服务器与部署有目标应用的应用服务器通信连接,以作为所述目标应用的数据请求入口,所述数据验证方法,包括:
针对所述多个网关服务器中的至少一个网关服务器,获取所述至少一个网关服务器在处理用户针对所述目标应用发送的数据请求时,生成的网关日志,以获得至少一个网关日志;
根据所述至少一个网关日志获得测试用例集合,所述测试用例集合中包括指向所述目标应用的多个统一资源定位符;
分别将所述多个统一资源定位符发送给所述多个网关服务器,并接收所述多个网关服务器针对所述多个统一资源定位符返回的结果数据集合,以获得多个结果数据集合;
根据所述多个结果数据集合,获取所述多个网关服务器返回数据的一致性验证结果;
所述根据所述多个结果数据集合,获取所述多个网关服务器返回数据的一致性验证结果,包括:
针对所述多个结果数据集合中的每个结果数据集合,删除所述结果数据集合中的每个返回数据中携带的赘余信息,获得待对比数据集合,以获得多个待对比数据集合;
按照预设的对比策略,对比所述多个待对比数据集合中的每个返回数据,以获取所述多个网关服务器返回数据的一致性验证结果;其中,所述对比策略包括:返回数据字段一致性、指定接口字段一致性、返回文档数量一致性、基准网关返回文档在测试网关查询失败、测试网关返回文档在基准网关查询失败和/或网关服务器返回JSON串整体对比一致性。
2.根据权利要求1所述的数据验证方法,其特征在于,所述针对所述多个网关服务器中的至少一个网关服务器,获取所述至少一个网关服务器在处理用户针对所述目标应用发送数据请求时,生成的网关日志,以获得至少一个网关日志,包括:
针对所述多个网关服务器中的至少一个网关服务器,按照预设的时间间隔,获取所述至少一个网关服务器在处理用户针对所述目标应用发送数据请求时,生成的网关日志,以获得多个网关日志。
3.根据权利要求1所述的数据验证方法,其特征在于,所述根据所述至少一个网关日志获得测试用例集合,包括:
针对所述至少一个网关日志中的每个网关日志,从所述网关日志记录的所有统一资源定位符中,提取出多个目标资源定位符;
整合所述至少一个网关日志中的每个网关日志所对应的多个目标资源定位符,获得所述测试用例集合。
4.根据权利要求3所述的数据验证方法,其特征在于,所述针对所述至少一个网关日志中的每个网关日志,从所述网关日志记录的所有统一资源定位符中,提取出多个目标资源定位符,包括:
针对所述至少一个网关日志中的每个网关日志,从所述网关日志记录的属于同一类别的多个统一资源定位符中,选取出预设数量个目标资源定位符;
整合从所有类别的多个统一资源定位符中选取出的预设数量个目标资源定位符,获得所述多个目标资源定位符。
5.根据权利要求3所述的数据验证方法,其特征在于,所述整合所述至少一个网关日志中的每个网关日志所对应的多个目标资源定位符,获得所述测试用例集合,包括:
判断所述至少一个网关日志所对应的所有目标资源定位符中是否包括重复或返回数据为空的目标资源定位符;
若所述至少一个网关日志所对应的所有目标资源定位符中包括重复或返回数据为空的目标资源定位符,则将所述重复或返回数据为空的目标资源定位符删除,并将剩余的目标资源定位符,组成所述测试用例集合。
6.根据权利要求1所述的数据验证方法,其特征在于,所述电子设备还与终端设备通信连接,所述根据所述多个结果数据集合,验证所述多个网关服务器返回数据的一致性之后,所述数据验证方法,还包括:
判断所述多个网关服务器返回数据的一致性验证结果是否符合预设一致性要求;
若所述多个网关服务器返回数据的一致性验证结果不符合预设一致性要求,则生成包括所述一致性验证结果的报警信息;
将所述报警信息发送给所述终端设备。
7.一种数据验证装置,其特征在于,应用于电子设备,所述电子设备与多个网关服务器通信连接,所述网关服务器与部署有目标应用的应用服务器通信连接,以作为所述目标应用的数据请求入口,所述数据验证装置,包括:
网关日志获取模块,用于针对所述多个网关服务器中的至少一个网关服务器,获取所述至少一个网关服务器在处理用户针对所述目标应用发送的数据请求时,生成的网关日志,以获得至少一个网关日志;
测试用例获取模块,用于根据所述至少一个网关日志获得测试用例集合,所述测试用例集合中包括指向所述目标应用的多个统一资源定位符;
结果数据获取模块,用于分别将所述多个统一资源定位符发送给所述多个网关服务器,并接收所述多个网关服务器针对所述多个统一资源定位符返回的结果数据集合,以获得多个结果数据集合;
数据验证模块,用于根据所述多个结果数据集合,验证所述多个网关服务器返回数据的一致性;
所述数据验证模块具体用于:
针对所述多个结果数据集合中的每个结果数据集合,删除所述结果数据集合中的每个返回数据中携带的赘余信息,获得待对比数据集合,以获得多个待对比数据集合;
按照预设的对比策略,对比所述多个待对比数据集合中的每个返回数据,以获取所述多个网关服务器返回数据的一致性验证结果;其中,所述对比策略包括:返回数据字段一致性、指定接口字段一致性、返回文档数量一致性、基准网关返回文档在测试网关查询失败、测试网关返回文档在基准网关查询失败和/或网关服务器返回JSON串整体对比一致性。
8.一种电子设备,其特征在于,包括控制器和存储器,所述存储器上存储有计算机程序,所述控制器用于执行所述计算机程序,以实现权利要求1~6中任意一项所述的数据验证方法。
9.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被执行时,实现权利要求1~6中任意一项所述的数据验证方法。
CN202010708781.5A 2020-07-22 2020-07-22 数据验证方法、装置及电子设备 Active CN111885051B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010708781.5A CN111885051B (zh) 2020-07-22 2020-07-22 数据验证方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010708781.5A CN111885051B (zh) 2020-07-22 2020-07-22 数据验证方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN111885051A CN111885051A (zh) 2020-11-03
CN111885051B true CN111885051B (zh) 2022-10-25

Family

ID=73155844

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010708781.5A Active CN111885051B (zh) 2020-07-22 2020-07-22 数据验证方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN111885051B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112559327B (zh) * 2020-12-02 2022-09-06 天津车之家数据信息技术有限公司 一种测试用例的生成方法、装置和计算设备
CN112631916A (zh) * 2020-12-24 2021-04-09 摩拜(北京)信息技术有限公司 数据验证方法、装置及电子设备
CN113472808B (zh) * 2021-07-16 2023-07-14 浙江大华技术股份有限公司 日志的处理方法、装置、存储介质及电子装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104951399A (zh) * 2015-06-19 2015-09-30 北京齐尔布莱特科技有限公司 一种软件测试系统和方法
CN108733566A (zh) * 2018-05-23 2018-11-02 郑州云海信息技术有限公司 一种基于python的虚拟化系统自动化测试系统及方法
CN109460349A (zh) * 2018-09-19 2019-03-12 武汉达梦数据库有限公司 一种基于日志的测试用例生成方法和装置
CN110908888A (zh) * 2018-09-17 2020-03-24 百度在线网络技术(北京)有限公司 服务器测试方法及装置
CN111190812A (zh) * 2019-12-12 2020-05-22 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于嵌入式设备的自动化测试框架
CN111221743A (zh) * 2020-03-18 2020-06-02 时时同云科技(成都)有限责任公司 自动化测试方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10904274B2 (en) * 2018-03-08 2021-01-26 Zscaler, Inc. Signature pattern matching testing framework

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104951399A (zh) * 2015-06-19 2015-09-30 北京齐尔布莱特科技有限公司 一种软件测试系统和方法
CN108733566A (zh) * 2018-05-23 2018-11-02 郑州云海信息技术有限公司 一种基于python的虚拟化系统自动化测试系统及方法
CN110908888A (zh) * 2018-09-17 2020-03-24 百度在线网络技术(北京)有限公司 服务器测试方法及装置
CN109460349A (zh) * 2018-09-19 2019-03-12 武汉达梦数据库有限公司 一种基于日志的测试用例生成方法和装置
CN111190812A (zh) * 2019-12-12 2020-05-22 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于嵌入式设备的自动化测试框架
CN111221743A (zh) * 2020-03-18 2020-06-02 时时同云科技(成都)有限责任公司 自动化测试方法及系统

Also Published As

Publication number Publication date
CN111885051A (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
CN111885051B (zh) 数据验证方法、装置及电子设备
EP3476092B1 (en) Automation of image validation
CN109376078B (zh) 移动应用的测试方法、终端设备及介质
CN110474900B (zh) 一种游戏协议测试方法及装置
CN110912808B (zh) 消息订阅方法、装置、系统、设备终端和可读存储介质
CN110059981B (zh) 信任度评估方法、装置及终端设备
CN111371581A (zh) 物联网卡业务异常检测的方法、装置、设备和介质
CN112433936A (zh) 测试方法、装置及存储介质
CN109871408B (zh) 一种多类型数据库适配方法、装置、电子设备及存储介质
CN109885485B (zh) 交易冲突检测方法和装置
CN114328017A (zh) 一种数据库备份方法、系统、计算机设备和存储介质
CN108804561B (zh) 数据同步方法及装置
CN112148545B (zh) 嵌入式系统的安全基线检测方法以及安全基线检测系统
CN111625528B (zh) 配置管理数据库的校验方法、装置及可读存储介质
CN113377818A (zh) 流程验证方法、装置、计算机设备及存储介质
CN117036115A (zh) 合同数据的核验方法、装置和服务器
CN116185785A (zh) 文件异常变更的预警方法及装置
CN113704123B (zh) 接口测试方法、装置、设备以及存储介质
CN113609111A (zh) 一种大数据测试方法及系统
CN115544132A (zh) 数据导入方法、系统及电子设备
CN114971556A (zh) 文件信息汇总方法、装置、电子设备及存储介质
CN112269879A (zh) 基于k-means算法的中台日志分析方法及设备
CN111225075A (zh) 物联网定向访问业务的配置方法及装置
CN105808787B (zh) 一种数据处理方法和电子设备
CN116846741B (zh) 一种告警收敛方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant