CN111371818A - 一种数据请求的验证方法、装置及设备 - Google Patents

一种数据请求的验证方法、装置及设备 Download PDF

Info

Publication number
CN111371818A
CN111371818A CN201811590123.XA CN201811590123A CN111371818A CN 111371818 A CN111371818 A CN 111371818A CN 201811590123 A CN201811590123 A CN 201811590123A CN 111371818 A CN111371818 A CN 111371818A
Authority
CN
China
Prior art keywords
data request
result
determining
data
similarity
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.)
Granted
Application number
CN201811590123.XA
Other languages
English (en)
Other versions
CN111371818B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201811590123.XA priority Critical patent/CN111371818B/zh
Publication of CN111371818A publication Critical patent/CN111371818A/zh
Application granted granted Critical
Publication of CN111371818B publication Critical patent/CN111371818B/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Abstract

本申请提供一种数据请求的验证方法、装置及设备,该方法包括:获取需要进行流量回放的数据请求;将所述数据请求在第一设备的第一处理结果记录到第一结果集;将所述数据请求在第二设备的第二处理结果记录到第二结果集;确定所述第一结果集与所述第二结果集的相似度;根据所述相似度确定数据请求的验证结果。通过本申请的技术方案,极大的降低了误判率,减少了错误的验证结果,可以保证验证结果的准确性,可以节省流量回放的时间和处理资源。

Description

一种数据请求的验证方法、装置及设备
技术领域
本申请涉及通信技术领域,尤其是一种数据请求的验证方法、装置及设备。
背景技术
流量回放是指:将真实网络的数据请求进行存储,并进行还原回放的验证方法。具体的,测试设备可以存储真实网络的数据请求,将数据请求发送给设备A和设备B,获取设备A的处理结果1和设备B的处理结果2。若处理结果1与处理结果2相同,验证成功;若处理结果1与处理结果2不同,验证失败。
但是,上述方式可能导致一个错误的验证结果,即,验证结果不正确。例如,假设数据请求用于请求域名A对应的IP地址,且网络中部署了与域名A对应的两个服务器,这两个服务器的IP地址分别为IP地址A和IP地址B。这样,在将数据请求发送给设备A后,设备A从IP地址A和IP地址B中选择一个IP地址,如IP地址A,即处理结果1为IP地址A。在将数据请求发送给设备B后,设备B从IP地址A和IP地址B中选择一个IP地址,如IP地址B,即处理结果2为IP地址B。由于处理结果1与处理结果2不同,因此,验证失败,但是实际上,验证应该是成功,即上述方式得到一个错误的验证结果。
发明内容
本申请提供一种数据请求的验证方法,所述方法包括:
获取需要进行流量回放的数据请求;
将所述数据请求在第一设备的第一处理结果记录到第一结果集;
将所述数据请求在第二设备的第二处理结果记录到第二结果集;
确定所述第一结果集与所述第二结果集的相似度;
根据所述相似度确定数据请求的验证结果。
本申请提供一种数据请求的验证方法,所述方法包括:
获取数据集合,所述数据集合包括多个数据请求;
针对所述数据集合中的数据请求,从所述数据请求中获取关键字信息;
判断字典集合中是否存在与所述关键字信息对应的数据项;
如果是,则丢弃所述数据请求;如果否,则在所述字典集合中创建与所述关键字信息对应的数据项,并将所述数据请求存储到当前创建的数据项;
根据所述字典集合中的数据请求确定数据请求的验证结果。
本申请提供一种数据请求的验证装置,所述装置包括:
获取模块,用于获取需要进行流量回放的数据请求;
存储模块,用于将所述数据请求在第一设备的第一处理结果记录到第一结果集;将所述数据请求在第二设备的第二处理结果记录到第二结果集;
确定模块,用于确定所述第一结果集与所述第二结果集的相似度;
所述确定模块,还用于根据所述相似度确定数据请求的验证结果。
本申请提供一种测试设备,所述测试设备包括:
处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
获取需要进行流量回放的数据请求;
将所述数据请求在第一设备的第一处理结果记录到第一结果集;
将所述数据请求在第二设备的第二处理结果记录到第二结果集;
确定所述第一结果集与所述第二结果集的相似度;
根据所述相似度确定数据请求的验证结果。
基于上述技术方案,本申请实施例中,可以获取需要进行流量回放的数据请求,将数据请求在第一设备的第一处理结果记录到第一结果集,并将数据请求在第二设备的第二处理结果记录到第二结果集,然后,可以确定第一结果集与第二结果集的相似度,并根据该相似度确定数据请求的验证结果。基于上述方式,可以通过第一处理结果与第二处理结果的相似度确定数据请求的验证结果,极大的降低了误判率,减少了错误的验证结果,可以保证验证结果的准确性。而且,还可以节省流量回放的时间和处理资源,并且节省了人工成本。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其它的附图。
图1是本申请一种实施方式中的数据请求的验证方法的流程图;
图2是本申请另一种实施方式中的数据请求的验证方法的流程图;
图3是本申请一种实施方式中的应用场景示意图;
图4是本申请一种实施方式中的数据请求的验证装置的结构图;
图5是本申请一种实施方式中的测试设备的硬件结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例中提出一种数据请求的验证方法,该方法用于实现流量回放,参见图1所示,为该数据请求的验证方法的流程示意图,该方法可以包括:
步骤101,获取需要进行流量回放的数据请求。
具体的,可以获取数据集合,该数据集合可以包括多个数据请求。然后,可以将该数据集合中的至少一个数据请求存储到字典集合中,并将该字典集合中的每个数据请求均确定为需要进行流量回放的数据请求。
其中,将该数据集合中的至少一个数据请求存储到字典集合中,可以包括:
方式一、针对该数据集合中的每个数据请求,从该数据请求中获取关键字信息,并判断字典集合中是否存在与该关键字信息对应的数据项。如果是,则可以将该数据请求存储到该数据项。如果否,则可以在字典集合中创建与该关键字信息对应的数据项,并将该数据请求存储到当前创建的数据项。
方式二、针对该数据集合中的每个数据请求,从该数据请求中获取关键字信息,并判断字典集合中是否存在与该关键字信息对应的数据项。如果是,则可以直接丢弃该数据请求。如果否,则可以在字典集合中创建与该关键字信息对应的数据项,并将该数据请求存储到当前创建的数据项。
在方式一和方式二中,判断字典集合中是否存在与该关键字信息对应的数据项,可以包括:确定该关键字信息对应的hash参数;判断字典集合中是否存在键值为该hash参数的数据项;如果是,则可以确定存在与该关键字信息对应的数据项;如果否,则可以确定不存在与该关键字信息对应的数据项。
在方式一和方式二中,在字典集合中创建与该关键字信息对应的数据项,可以包括:在字典集合中创建键值为该hash参数的数据项。
其中,上述方式一和方式二的区别在于:在方式一中,字典集合中的每个数据项可以包括一个或多个数据请求,这些数据请求的关键字信息对应的hash参数相同。在方式二中,字典集合中的每个数据项可以包括一个数据请求。
步骤102,将该数据请求在第一设备的第一处理结果记录到第一结果集。
具体的,针对需要进行流量回放的数据请求,可以获取该数据请求在第一设备的第一处理结果,并将该第一处理结果记录到第一结果集中。
步骤103,将该数据请求在第二设备的第二处理结果记录到第二结果集。
具体的,针对需要进行流量回放的数据请求,可以获取该数据请求在第二设备的第二处理结果,并将该第二处理结果记录到第二结果集中。
步骤104,确定该第一结果集与该第二结果集的相似度。
具体的,可以将该第一结果集与该第二结果集进行合并处理,得到第三结果集;根据该第三结果集和该第一结果集确定第一向量,并根据该第三结果集和该第二结果集确定第二向量;根据该第一向量和该第二向量确定相似度。
在一个例子中,根据该第三结果集和该第一结果集确定第一向量,可以包括但不限于:针对该第三结果集中的每个元素,确定该元素在该第一结果集中的第一出现次数,并可以根据该第一出现次数确定第一向量。
在一个例子中,根据该第三结果集和该第二结果集确定第二向量,可以包括但不限于:针对该第三结果集中的每个元素,确定该元素在该第二结果集中的第二出现次数,并可以根据该第二出现次数确定第二向量。
在一个例子中,根据该第一向量和该第二向量确定相似度,可以包括但不限于:根据该第一向量和该第二向量确定余弦相似度。当然,还可以根据该第一向量和该第二向量确定其它类型的相似度,对此不做限制。
步骤105,根据该相似度确定数据请求的验证结果。
具体的,若该相似度大于或者等于相似度阈值,则可以确定验证结果为验证成功。若该相似度小于该相似度阈值,则可以确定验证结果为验证失败;或者,获取重传次数,并利用重传次数个数据请求确定数据请求的验证结果。
其中,获取重传次数,可以包括但不限于:根据该相似度确定重试次数,该重试次数与该相似度成反比。或者,根据该相似度、第一结果集的元素数量和第二结果集的元素数量确定重试次数;其中,该重试次数与该相似度成反比、与第一结果集的元素数量成正比、与第二结果集的元素数量成正比。
其中,利用重传次数个数据请求确定数据请求的验证结果,可以包括但不限于:针对所述重传次数个数据请求中的每个数据请求,可以将该数据请求在第一设备的处理结果记录到第一结果集,并将该数据请求在第二设备的处理结果记录到第二结果集,然后,可以确定第一结果集与第二结果集的相似度。
进一步的,若该相似度大于或者等于相似度阈值,则可以确定验证结果为验证成功;若该相似度小于该相似度阈值,则可以确定验证结果为验证失败。
在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
基于上述技术方案,可以通过第一结果集与第二结果集的相似度确定数据请求的验证结果,极大的降低了误判率,减少错误的验证结果,可以保证验证结果的准确性。可以节省流量回放的时间和处理资源,节省了人工成本。
基于与上述方法同样的申请构思,本申请实施例中还提出另一种数据请求的验证方法,参见图2所示,为该方法的流程示意图,该方法可以包括:
步骤201,获取数据集合,该数据集合可以包括多个数据请求。
步骤202,针对该数据集合中的每个数据请求,从该数据请求中获取关键字信息,并判断字典集合中是否存在与该关键字信息对应的数据项;如果是,则可以丢弃该数据请求;如果否,则可以在字典集合中创建与该关键字信息对应的数据项,并将该数据请求存储到当前创建的数据项。
步骤203,根据该字典集合中的数据请求确定数据请求的验证结果。
具体的,针对该字典集合中的每个数据请求,可以将该数据请求在第一设备的第一处理结果记录到第一结果集,并可以将该数据请求在第二设备的第二处理结果记录到第二结果集。进一步的,可以确定该第一结果集与该第二结果集的相似度,并可以根据该相似度确定数据请求的验证结果。
在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
基于上述技术方案,可以通过第一结果集与第二结果集的相似度确定数据请求的验证结果,极大的降低了误判率,减少错误的验证结果,可以保证验证结果的准确性。可以节省流量回放的时间和处理资源,节省了人工成本。
以下结合具体应用场景,对上述数据请求的验证方法进行说明。参见图3所示,为本实施例的应用场景示意图,该方法可以应用于包括测试设备、第一设备和第二设备的系统。当然,该系统还可以包括其它设备,对此不做限制。
其中,测试设备可以是一个独立设备,也可以是一个功能模块,部署在第一设备或者第二设备,对此不做限制,在图3中,以独立设备为例进行说明。
其中,第一设备可以是第一服务器,也可以是其它类型的设备,对此不做限制。第二设备可以是第二服务器,也可以是其它类型的设备,对此不做限制。
第一设备是网络中运行的设备,可以提供功能A,第一设备在接收到数据请求后,可以根据功能A对数据请求进行处理。例如,第一设备是域名解析服务器,可以提供域名解析功能,第一设备在接收到数据请求后,就可以对数据请求进行域名解析,也就是说,可以将数据请求中的域名解析为IP地址。当然,域名解析功能只是功能A的一个示例,还可以是其它功能,对此不做限制。
根据实际的数据需要,假设需要对网络中运行的第一设备进行升级,如第一设备在提供功能A的基础上,还可以提供功能B,为了确定功能B是否对功能A造成影响,导致功能A出现错误或者发生异常,则可以进行流量回放。
为了进行流量回放,则可以部署第二设备,第二设备提供功能A和功能B,由于第二设备也具有功能A,因此,第二设备在接收到数据请求后,可以根据功能A对数据请求进行处理。例如,第二设备是域名解析服务器,可以提供域名解析功能,第二设备接收到数据请求后,可以对数据请求进行域名解析。
进一步的,测试设备可以获取真实网络的数据请求(如访问第一设备的数据请求),并存储数据请求,测试设备通常存储大量数据请求,如1000个数据请求。在进行流量回放时,将每个数据请求发送给第一设备和第二设备,并获取第一设备的处理结果和第二设备的处理结果。基于这些处理结果,若得到验证失败的结论,则说明功能B对功能A造成影响,若得到验证成功的结论,则说明功能B未对功能A造成影响,可以对网络中运行的第一设备进行升级。
在传统方式中,需要将大量数据请求发送给第一设备和第二设备,导致回放很多流量,消耗了大量时间,浪费了大量资源。而且,还可能得到错误的验证结果,需要人工核实验证结果的准确性,浪费了人力资源,费时费力。
针对上述发现,本申请实施例中提出一种数据请求的验证方法,可以应用于测试设备,该方法可以包括以下步骤。通过本实施例中的数据请求的验证方法,可以实现流量回放,可以避免回放很多流量,节约大量时间,节约大量资源,而且,可以得到正确的验证结果,不需要人工核实验证结果的准确性。
步骤401,获取数据集合,该数据集合可以包括多个数据请求。
具体的,为了进行流量回放,测试设备可以获取真实网络的数据请求,并将这些数据请求存储到数据集合,如将1000个数据请求存储到数据集合。
步骤402,针对该数据集合中的每个数据请求,从该数据请求中获取关键字信息,并判断字典集合中是否存在与该关键字信息对应的数据项。
如果否,则可以执行步骤403;如果是,则可以执行步骤404。
具体的,判断字典集合中是否存在与该关键字信息对应的数据项,可以包括:确定该关键字信息对应的hash参数;判断字典集合中是否存在键值为该hash参数的数据项;如果是,则可以确定存在与该关键字信息对应的数据项;如果否,则可以确定不存在与该关键字信息对应的数据项。
步骤403,在字典集合中创建与该关键字信息对应的数据项,并将该数据请求存储到当前创建的数据项。具体的,可以先确定该关键字信息对应的hash参数,然后,可以在字典集合中创建键值为该hash参数的数据项。
步骤404,直接丢弃该数据请求,即不在字典集合中存储该数据请求。
在一个例子中,参见表1所示,为字典集合的示例,该字典集合的每个数据项可以包括键值与数据请求的对应关系,该字典集合的初始状态为空。
表1
键值 数据请求
在一个例子中,可以预先设置一个或者多个关键字段(keyword),该关键字段可以作为分类数据请求的依据。基于此,针对数据集合中的每个数据请求,可以从该数据请求中获取与关键字段对应的关键字信息。例如,若关键字段是域名,则该关键字信息可以是数据请求中的域名信息,如www.aaa.com等。
针对数据集合中的每个数据请求,若从数据请求中获取到与关键字段对应的关键字A,则将关键字A确定为关键字信息。若从数据请求中获取到与关键字段对应的关键字A和关键字B,则将关键字A和关键字B确定为关键字信息,关键字A和关键字B可以使用分号、或逗号、或冒号连接,对此不做限制。
例如,针对数据集合中的数据请求1,若从数据请求1中获取到关键字A,则确定关键字A对应的hash参数1,如采用hash算法对关键字A进行运算,得到hash参数1,对此hash算法不做限制。由于字典集合中不存在键值为hash参数1的数据项,因此,在字典集合中创建键值为hash参数1的数据项,并将数据请求1存储到当前创建的数据项,更新后的字典集合参见表2所示。
表2
键值 数据请求
hash参数1 数据请求1
此外,针对数据集合中的数据请求2,若从数据请求2中获取到关键字B,则确定关键字B对应的hash参数2。由于字典集合中不存在键值为hash参数2的数据项,因此,在字典集合中创建键值为hash参数2的数据项,并将数据请求2存储到当前创建的数据项,更新后的字典集合可以参见表3所示。
表3
键值 数据请求
hash参数1 数据请求1
hash参数2 数据请求2
此外,针对数据集合中的数据请求3,若从数据请求3中获取到关键字B,则确定关键字B对应的hash参数2。由于字典集合中已经存在键值为hash参数2的数据项,因此,可以不再存储数据请求3,而是直接丢弃数据请求3。
在对数据集合中的数据请求4-数据请求1000进行上述处理后,假设字典集合参见表4所示。显然,通过上述处理,可以过滤大量重复的数据请求,可以避免字典集合中存储同一类的数据请求,减少需要回放的数据请求的数量。
表4
键值 数据请求
hash参数1 数据请求1
hash参数2 数据请求2
hash参数3 数据请求150
hash参数4 数据请求880
步骤405,获取需要进行流量回放的数据请求。具体的,测试设备可以将该字典集合中的每个数据请求确定为需要进行流量回放的数据请求。
在一个例子中,针对字典集合中的每个数据请求,可以进行后续步骤。
步骤406,将该数据请求在第一设备的第一处理结果记录到第一结果集,并将该数据请求在第二设备的第二处理结果记录到第二结果集。
例如,测试设备将数据请求1发送给第一设备,第一设备接收到数据请求1后,对数据请求1进行处理,得到第一处理结果,并将第一处理结果返回给测试设备,测试设备接收到第一处理结果时,将第一处理结果记录到第一结果集。
测试设备将数据请求1发送给第二设备,第二设备接收到数据请求1后,对数据请求1进行处理,得到第二处理结果,并将第二处理结果返回给测试设备,测试设备接收到第二处理结果时,将第二处理结果记录到第二结果集。
在一个例子中,第一结果集和第二结果集可以单独存储,也可以存储在字典集合中,为了方便描述,以第一结果集和第二结果集存储在字典集合为例,假设第一处理结果为a,第二处理结果为b,则字典集合参见表5所示。
表5
键值 数据请求 第一结果集 第二结果集
hash参数1 数据请求1 a b
hash参数2 数据请求2
hash参数3 数据请求150
hash参数4 数据请求880
进一步的,测试设备可以将数据请求2在第一设备的第一处理结果记录到第一结果集,将数据请求2在第二设备的第二处理结果记录到第二结果集,参见表6所示。可以将数据请求150在第一设备的第一处理结果记录到第一结果集,将数据请求150在第二设备的第二处理结果记录到第二结果集,参见表6所示。可以将数据请求880在第一设备的第一处理结果记录到第一结果集,将数据请求880在第二设备的第二处理结果记录到第二结果集,参见表6所示。
表6
键值 数据请求 第一结果集 第二结果集
hash参数1 数据请求1 a b
hash参数2 数据请求2 a a
hash参数3 数据请求150 a,b,c,d,e a,b,c,d,f
hash参数4 数据请求880 a,b,c b,d,e
在上述实施例中,假设数据请求1用于请求域名A对应的1个IP地址,且网络中部署了与域名A对应的3个服务器,则第一设备从3个服务器的IP地址中选择1个IP地址,如a,第二设备从3个服务器的IP地址中选择1个IP地址,如b。假设数据请求150用于请求域名B对应的5个IP地址,且网络中部署了与域名B对应的10个服务器,则第一设备从10个服务器的IP地址中选择5个IP地址,如a,b,c,d,e,第二设备从10个服务器的IP地址中选择5个IP地址,如a,b,c,d,f,以此类推,对于其它数据请求不再赘述。
步骤407,将第一结果集与第二结果集进行合并处理,得到第三结果集。
步骤408,根据第三结果集和第一结果集确定第一向量。
具体的,针对该第三结果集中的每个元素,可以确定该元素在该第一结果集中的第一出现次数,并可以根据该第一出现次数确定第一向量。
步骤409,根据第三结果集和第二结果集确定第二向量。
具体的,针对该第三结果集中的每个元素,可以确定该元素在该第二结果集中的第二出现次数,并可以根据该第二出现次数确定第二向量。
步骤410,根据第一向量和第二向量确定相似度。
具体的,根据该第一向量和该第二向量确定余弦相似度。当然,还可以根据该第一向量和该第二向量确定其它类型的相似度,对此不做限制。
例如,以数据请求150的第一结果集(a,b,c,d,e)和第二结果集(a,b,c,d,f)为例,说明上述步骤407-410,其它数据请求的处理流程类似。
将第一结果集(a,b,c,d,e)和第二结果集(a,b,c,d,f)合并为一个结果集(a,b,c,d,e,a,b,c,d,f),去除重复元素,得到第三结果集(a,b,c,d,e,f)。确定第三结果集(a,b,c,d,e,f)中的每个元素在第一结果集(a,b,c,d,e)中的第一出现次数,并将第一出现次数记为第一向量D1,即第一向量D1为[1,1,1,1,1,0]。此外,确定第三结果集(a,b,c,d,e,f)中的每个元素在第二结果集(a,b,c,d,f)中的第二出现次数,并将第二出现次数记为第二向量D2,即第二向量D2为[1,1,1,1,0,1]。
然后,确定第一向量D1与第二向量D2的余弦相似度,如余弦相似度可以采用如下公式得到:
Figure BDA0001920048130000121
在上述公式中,n为第一向量D1的元素数量(也是第二向量D2的元素数量),xi表示第一向量D1中的元素值,yi表示第二向量D2中的元素值。在本应用场景中,
Figure BDA0001920048130000122
步骤411,判断该相似度是否大于或者等于相似度阈值,该相似度阈值可以根据经验进行配置。如果是,则执行步骤412;如果否,则执行步骤413。
步骤412,确定数据请求的验证结果为验证成功。
步骤413,获取重传次数,并利用重传次数个数据请求确定数据请求的验证结果,也就是说,测试设备可以重新确定数据请求的验证结果。
在一个例子中,余弦相似度的范围可以是[0,1],0为完全不相同,1为完全相同,第一结果集与第二结果集越相似,则余弦相似度的值越大,反之,余弦相似度的值越小。基于此,通过设置相似度阈值,当余弦相似度大于或者等于相似度阈值时,则确定对比成功,即数据请求的验证结果为验证成功;当余弦相似度小于相似度阈值时,则需要重新确定数据请求的验证结果。
例如,若数据请求1的相似度大于相似度阈值,则可以确定该数据请求1的验证结果为验证成功。若数据请求2的相似度大于相似度阈值,则可以确定该数据请求2的验证结果为验证成功。若数据请求150的相似度小于相似度阈值,则需要重新确定该数据请求150的验证结果。若数据请求880的相似度大于相似度阈值,则可以确定该数据请求880的验证结果为验证成功。
针对步骤413,假设需要重新确定数据请求150的验证结果,则可以先确定数据请求150的重传次数。具体的,该重试次数可以与数据请求150的余弦相似度成反比,该重试次数可以与数据请求150的第一结果集的元素数量成正比,该重试次数可以与数据请求150的第二结果集的元素数量成正比。在一个例子中,假设数据请求150的余弦相似度为r,第一结果集的元素数量为s1,第二结果集的元素数量为s2,则重试次数可以为:对(1-r)*[(s1+s2)/2]向上取整。
在上述实施例中,数据请求150的余弦相似度r为0.67,第一结果集的元素数量s1为5,第二结果集的元素数量s2为5,因此,重试次数可以为2。
在一个例子中,字典集合中还可以包括重传次数,参见表7所示。其中,重传次数0表示不需要进行重传,重传次数2表示需要重传2个数据请求。
表7
键值 数据请求 第一结果集 第二结果集 重传次数
hash参数1 数据请求1 a b 0
hash参数2 数据请求2 a a 0
hash参数3 数据请求150 a,b,c,d,e a,b,c,d,f 2
hash参数4 数据请求880 a,b,c b,d,e 0
针对步骤413,在确定数据请求150的重传次数后,可以向第一设备发送重传次数个数据请求150,并向第二设备发送重传次数个数据请求150。例如,向第一设备发送2个数据请求150,并向第二设备发送2个数据请求150。
测试设备可以获取到数据请求150在第一设备的两个处理结果,如(a,b,c,d,e)和(a,b,c,d,f),并将这两个处理结果记录到第一结果集,最终,第一结果集可以为(a,b,c,d,e,a,b,c,d,e,a,b,c,d,f)。
测试设备可以获取到数据请求150在第二设备的两个处理结果,如(a,b,c,d,f)和(a,b,c,d,f),并将这两个处理结果记录到第二结果集,最终,第二结果集可以为(a,b,c,d,f,a,b,c,d,f,a,b,c,d,f)。
进一步的,可以将第一结果集与第二结果集进行合并处理,得到第三结果集,根据第三结果集和第一结果集确定第一向量,根据第三结果集和第二结果集确定第二向量,并根据第一向量和第二向量确定相似度。然后,判断该相似度是否大于或者等于相似度阈值,如果是,则可以确定数据请求150的验证结果为验证成功,如果否,则可以确定数据请求150的验证结果为验证失败。
基于与上述方法同样的申请构思,本申请实施例中还提供一种数据请求的验证装置,如图4所示,为所述装置的结构图,所述装置可以包括:
获取模块41,用于获取需要进行流量回放的数据请求;
存储模块42,用于将所述数据请求在第一设备的第一处理结果记录到第一结果集;将所述数据请求在第二设备的第二处理结果记录到第二结果集;
确定模块43,用于确定所述第一结果集与所述第二结果集的相似度;
所述确定模块43,还用于根据所述相似度确定数据请求的验证结果。
所述获取模块41获取需要进行流量回放的数据请求时具体用于:
获取数据集合,所述数据集合包括多个数据请求;
针对所述数据集合中的数据请求,从该数据请求中获取关键字信息;判断字典集合中是否存在与所述关键字信息对应的数据项;如果是,则将该数据请求存储到所述数据项或者丢弃该数据请求;如果否,则在所述字典集合中创建与所述关键字信息对应的数据项,将该数据请求存储到当前创建的数据项;
将所述字典集合中的数据请求确定为需要进行流量回放的数据请求。
所述确定模块43确定所述第一结果集与所述第二结果集的相似度时具体用于:将所述第一结果集与所述第二结果集进行合并处理,得到第三结果集;
根据所述第三结果集和所述第一结果集确定第一向量;
根据所述第三结果集和所述第二结果集确定第二向量;
根据所述第一向量和所述第二向量确定所述相似度。
所述确定模块43根据所述相似度确定数据请求的验证结果时具体用于:
若所述相似度大于或者等于相似度阈值,则确定所述验证结果为验证成功;
若所述相似度小于相似度阈值,则确定所述验证结果为验证失败;或者,获取重传次数,利用所述重传次数个数据请求确定数据请求的验证结果;所述重试次数与所述相似度成反比;或,所述重试次数与所述相似度成反比、与所述第一结果集的元素数量成正比、与所述第二结果集的元素数量成正比。
基于与上述方法同样的构思,本实施例还提供一种测试设备,所述测试设备可以包括:处理器和机器可读存储介质;所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
获取需要进行流量回放的数据请求;
将所述数据请求在第一设备的第一处理结果记录到第一结果集;
将所述数据请求在第二设备的第二处理结果记录到第二结果集;
确定所述第一结果集与所述第二结果集的相似度;
根据所述相似度确定数据请求的验证结果。
本实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:
获取需要进行流量回放的数据请求;
将所述数据请求在第一设备的第一处理结果记录到第一结果集;
将所述数据请求在第二设备的第二处理结果记录到第二结果集;
确定所述第一结果集与所述第二结果集的相似度;
根据所述相似度确定数据请求的验证结果。
参见图5所示,为本申请实施例中提出的测试设备的结构图,所述测试设备50可以包括:处理器51,网络接口52,总线53,存储器54。
存储器54可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据等等。例如,存储器54可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等)。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (17)

1.一种数据请求的验证方法,其特征在于,所述方法包括:
获取需要进行流量回放的数据请求;
将所述数据请求在第一设备的第一处理结果记录到第一结果集;
将所述数据请求在第二设备的第二处理结果记录到第二结果集;
确定所述第一结果集与所述第二结果集的相似度;
根据所述相似度确定数据请求的验证结果。
2.根据权利要求1所述的方法,其特征在于,
所述获取需要进行流量回放的数据请求,包括:
获取数据集合,所述数据集合包括多个数据请求;
将所述数据集合中的至少一个数据请求存储到字典集合中;
将所述字典集合中的数据请求确定为需要进行流量回放的数据请求。
3.根据权利要求2所述的方法,其特征在于,
所述将所述数据集合中的至少一个数据请求存储到字典集合中,包括:
针对所述数据集合中的数据请求,从该数据请求中获取关键字信息;
判断所述字典集合中是否存在与所述关键字信息对应的数据项;
如果是,则将该数据请求存储到所述数据项或者丢弃该数据请求;
如果否,则在所述字典集合中创建与所述关键字信息对应的数据项;
以及,将该数据请求存储到当前创建的数据项。
4.根据权利要求3所述的方法,其特征在于,
所述判断所述字典集合中是否存在与所述关键字信息对应的数据项,包括:
确定所述关键字信息对应的hash参数;判断所述字典集合中是否存在键值为所述hash参数的数据项;如果是,则确定存在与所述关键字信息对应的数据项;如果否,则确定不存在与所述关键字信息对应的数据项;
所述在所述字典集合中创建与所述关键字信息对应的数据项,包括:
在所述字典集合中创建键值为所述hash参数的数据项。
5.根据权利要求1所述的方法,其特征在于,
所述确定所述第一结果集与所述第二结果集的相似度,包括:
将所述第一结果集与所述第二结果集进行合并处理,得到第三结果集;
根据所述第三结果集和所述第一结果集确定第一向量;
根据所述第三结果集和所述第二结果集确定第二向量;
根据所述第一向量和所述第二向量确定所述相似度。
6.根据权利要求5所述的方法,其特征在于,
所述根据所述第三结果集和所述第一结果集确定第一向量,包括:
针对所述第三结果集中的元素,确定所述元素在所述第一结果集中的第一出现次数,并根据所述第一出现次数确定第一向量;
所述根据所述第三结果集和所述第二结果集确定第二向量,包括:
针对所述第三结果集中的元素,确定所述元素在所述第二结果集中的第二出现次数,并根据所述第二出现次数确定第二向量。
7.根据权利要求5所述的方法,其特征在于,
所述根据所述第一向量和所述第二向量确定所述相似度,包括:
根据所述第一向量和所述第二向量确定余弦相似度。
8.根据权利要求1所述的方法,其特征在于,
所述根据所述相似度确定数据请求的验证结果,包括:
若所述相似度大于或者等于相似度阈值,则确定所述验证结果为验证成功;
若所述相似度小于相似度阈值,则确定所述验证结果为验证失败;或者,获取重传次数,利用所述重传次数个数据请求确定数据请求的验证结果。
9.根据权利要求8所述的方法,其特征在于,所述获取重传次数,包括:
根据所述相似度确定重试次数,所述重试次数与所述相似度成反比;或者,
根据所述相似度、所述第一结果集的元素数量和所述第二结果集的元素数量确定重试次数;其中,所述重试次数与所述相似度成反比、与所述第一结果集的元素数量成正比、与所述第二结果集的元素数量成正比。
10.根据权利要求8所述的方法,其特征在于,
所述利用所述重传次数个数据请求确定数据请求的验证结果,包括:
针对所述重传次数个数据请求中的数据请求,将该数据请求在第一设备的处理结果记录到第一结果集,将该数据请求在第二设备的处理结果记录到第二结果集,并确定所述第一结果集与所述第二结果集的相似度;
若所述相似度大于或者等于相似度阈值,则确定所述验证结果为验证成功;
若所述相似度小于所述相似度阈值,则确定所述验证结果为验证失败。
11.一种数据请求的验证方法,其特征在于,所述方法包括:
获取数据集合,所述数据集合包括多个数据请求;
针对所述数据集合中的数据请求,从所述数据请求中获取关键字信息;
判断字典集合中是否存在与所述关键字信息对应的数据项;
如果是,则丢弃所述数据请求;如果否,则在所述字典集合中创建与所述关键字信息对应的数据项,并将所述数据请求存储到当前创建的数据项;
根据所述字典集合中的数据请求确定数据请求的验证结果。
12.根据权利要求11所述的方法,其特征在于,
所述根据所述字典集合中的数据请求确定数据请求的验证结果,包括:
针对字典集合中的数据请求,将该数据请求在第一设备的第一处理结果记录到第一结果集,将该数据请求在第二设备的第二处理结果记录到第二结果集;
确定所述第一结果集与所述第二结果集的相似度;
根据所述相似度确定数据请求的验证结果。
13.一种数据请求的验证装置,其特征在于,所述装置包括:
获取模块,用于获取需要进行流量回放的数据请求;
存储模块,用于将所述数据请求在第一设备的第一处理结果记录到第一结果集;将所述数据请求在第二设备的第二处理结果记录到第二结果集;
确定模块,用于确定所述第一结果集与所述第二结果集的相似度;
所述确定模块,还用于根据所述相似度确定数据请求的验证结果。
14.根据权利要求13所述的装置,其特征在于,
所述获取模块获取需要进行流量回放的数据请求时具体用于:
获取数据集合,所述数据集合包括多个数据请求;
针对所述数据集合中的数据请求,从该数据请求中获取关键字信息;判断字典集合中是否存在与所述关键字信息对应的数据项;如果是,则将该数据请求存储到所述数据项或者丢弃该数据请求;如果否,则在所述字典集合中创建与所述关键字信息对应的数据项,将该数据请求存储到当前创建的数据项;
将所述字典集合中的数据请求确定为需要进行流量回放的数据请求。
15.根据权利要求13所述的装置,其特征在于,
所述确定模块确定所述第一结果集与所述第二结果集的相似度时具体用于:
将所述第一结果集与所述第二结果集进行合并处理,得到第三结果集;
根据所述第三结果集和所述第一结果集确定第一向量;
根据所述第三结果集和所述第二结果集确定第二向量;
根据所述第一向量和所述第二向量确定所述相似度。
16.根据权利要求13所述的装置,其特征在于,
所述确定模块根据所述相似度确定数据请求的验证结果时具体用于:
若所述相似度大于或者等于相似度阈值,则确定所述验证结果为验证成功;
若所述相似度小于相似度阈值,则确定所述验证结果为验证失败;或者,获取重传次数,利用所述重传次数个数据请求确定数据请求的验证结果;所述重试次数与所述相似度成反比;或,所述重试次数与所述相似度成反比、与所述第一结果集的元素数量成正比、与所述第二结果集的元素数量成正比。
17.一种测试设备,其特征在于,所述测试设备包括:
处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
获取需要进行流量回放的数据请求;
将所述数据请求在第一设备的第一处理结果记录到第一结果集;
将所述数据请求在第二设备的第二处理结果记录到第二结果集;
确定所述第一结果集与所述第二结果集的相似度;
根据所述相似度确定数据请求的验证结果。
CN201811590123.XA 2018-12-25 2018-12-25 一种数据请求的验证方法、装置及设备 Active CN111371818B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811590123.XA CN111371818B (zh) 2018-12-25 2018-12-25 一种数据请求的验证方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811590123.XA CN111371818B (zh) 2018-12-25 2018-12-25 一种数据请求的验证方法、装置及设备

Publications (2)

Publication Number Publication Date
CN111371818A true CN111371818A (zh) 2020-07-03
CN111371818B CN111371818B (zh) 2022-05-24

Family

ID=71209937

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811590123.XA Active CN111371818B (zh) 2018-12-25 2018-12-25 一种数据请求的验证方法、装置及设备

Country Status (1)

Country Link
CN (1) CN111371818B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115297041A (zh) * 2022-07-29 2022-11-04 深圳前海微众银行股份有限公司 一种流量回放的数据验证方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130346715A1 (en) * 2012-06-22 2013-12-26 Fujitsu Limited Data management apparatus and data management method
CN104616194A (zh) * 2014-12-31 2015-05-13 腾讯科技(深圳)有限公司 一种数据处理方法及支付平台
US20160196254A1 (en) * 2014-09-30 2016-07-07 Coupa Software Incorporated Feedback validation of electronically generated forms
CN106681854A (zh) * 2015-11-11 2017-05-17 北京国双科技有限公司 一种信息校验方法、装置及系统
CN106713332A (zh) * 2016-12-30 2017-05-24 山石网科通信技术有限公司 网络数据的处理方法、装置和系统
CN107800663A (zh) * 2016-08-31 2018-03-13 华为数字技术(苏州)有限公司 流量离线文件的检测方法及装置
US20180302404A1 (en) * 2016-09-13 2018-10-18 Tencent Technology (Shenzhen) Company Limited Method for processing data request and system therefor, access device, and storage device
CN109040129A (zh) * 2018-09-13 2018-12-18 郑州云海信息技术有限公司 一种获取验证码的方法及服务器

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130346715A1 (en) * 2012-06-22 2013-12-26 Fujitsu Limited Data management apparatus and data management method
US20160196254A1 (en) * 2014-09-30 2016-07-07 Coupa Software Incorporated Feedback validation of electronically generated forms
CN104616194A (zh) * 2014-12-31 2015-05-13 腾讯科技(深圳)有限公司 一种数据处理方法及支付平台
CN106681854A (zh) * 2015-11-11 2017-05-17 北京国双科技有限公司 一种信息校验方法、装置及系统
CN107800663A (zh) * 2016-08-31 2018-03-13 华为数字技术(苏州)有限公司 流量离线文件的检测方法及装置
US20180302404A1 (en) * 2016-09-13 2018-10-18 Tencent Technology (Shenzhen) Company Limited Method for processing data request and system therefor, access device, and storage device
CN106713332A (zh) * 2016-12-30 2017-05-24 山石网科通信技术有限公司 网络数据的处理方法、装置和系统
CN109040129A (zh) * 2018-09-13 2018-12-18 郑州云海信息技术有限公司 一种获取验证码的方法及服务器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XIU-JIN SHI: "Fuzzy Multi-Keyword Query on Encrypted Data in the Cloud", 《2016 4TH INTL CONF ON APPLIED COMPUTING AND INFORMATION TECHNOLOGY/3RD INTL CONF ON COMPUTATIONAL SCIENCE/INTELLIGENCE AND APPLIED INFORMATICS/1ST INTL CONF ON BIG DATA, CLOUD COMPUTING, DATA SCIENCE & ENGINEERING (ACIT-CSII-BCD)》 *
高崇南: "一种自动推断复杂系统层次结构任务模型的方法", 《计算机学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115297041A (zh) * 2022-07-29 2022-11-04 深圳前海微众银行股份有限公司 一种流量回放的数据验证方法及装置
CN115297041B (zh) * 2022-07-29 2024-01-02 深圳前海微众银行股份有限公司 一种流量回放的数据验证方法及装置

Also Published As

Publication number Publication date
CN111371818B (zh) 2022-05-24

Similar Documents

Publication Publication Date Title
US11605087B2 (en) Method and apparatus for identifying identity information
CN109873804A (zh) 基于行为的服务识别方法、装置、设备及可读存储介质
CN109934712B (zh) 应用于分布式系统的对账方法、对账装置和电子设备
CN112597153B (zh) 一种基于区块链的数据存储方法、装置及存储介质
CN116340367B (zh) 数据查询方法、装置、设备和存储介质
US11609897B2 (en) Methods and systems for improved search for data loss prevention
CN109271545A (zh) 一种特征检索方法及装置、存储介质和计算机设备
CN114721594A (zh) 一种分布式存储方法、装置、设备及机器可读存储介质
CN111371818B (zh) 一种数据请求的验证方法、装置及设备
CN102325078B (zh) 应用识别方法及设备
CN110765125B (zh) 一种存储数据的方法及装置
CN110727691A (zh) 一种数据解析校验方法及装置
CN104077422A (zh) 下载apk的去重方法及装置
CN112579591B (zh) 数据校验方法、装置、电子设备及计算机可读存储介质
CN109800823B (zh) 一种pos终端的聚类方法及装置
CN110347683B (zh) 一种数据表合并处理方法及装置
CN109740027B (zh) 数据交换方法、装置、服务器和存储介质
US20160196331A1 (en) Reconstitution order of entity evaluations
CN111131051A (zh) 路由下发方法和装置
CN108763363B (zh) 一种检验待写入记录的方法及装置
CN111367750A (zh) 一种异常处理方法、装置及其设备
CN115103020B (zh) 数据迁移处理方法和装置
CN109711205A (zh) 一种usb存储设备使用记录清除方法及装置
CN111832259B (zh) Json数据生成方法及设备
CN111552959B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40032527

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant