CN112346960B - 测试信息存储方法、装置、服务器和存储介质 - Google Patents
测试信息存储方法、装置、服务器和存储介质 Download PDFInfo
- Publication number
- CN112346960B CN112346960B CN201910730485.2A CN201910730485A CN112346960B CN 112346960 B CN112346960 B CN 112346960B CN 201910730485 A CN201910730485 A CN 201910730485A CN 112346960 B CN112346960 B CN 112346960B
- Authority
- CN
- China
- Prior art keywords
- test
- information
- test information
- transmission
- track
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种测试信息存储方法、装置和服务器;本发明实施例可以获取测试信息,测试信息包括测试信息的目标地址信息、至少一个测试数据以及测试数据对应的历史传输信息;根据历史传输信息生成测试信息的历史传输轨迹;当存在与历史传输轨迹相同的轨迹时,根据目标地址信息发送测试信息,并丢弃测试信息;当不存在与历史传输轨迹相同的轨迹时,根据目标地址信息发送测试信息,并存储测试信息。在本发明实施例中,可以在获取测试数据之后、发送该测试数据之前,通过测试数据的历史传输轨迹来判断该测试数据是否具有新内容,通过保存有新内容的测试数据、丢弃冗余的测试数据,本方案可以提升测试数据的存储效率。
Description
技术领域
本发明涉及计算机领域,具体涉及一种测试信息存储方法、装置、服务器和存储介质。
背景技术
软件测试(Software Testing)是一种用来测试软件质量的过程。通常,软件测试的方法是通过比较实际输出与预测输出之间的差别。目前,随着软件越来越复杂,软件测试的过程中往往需要大量的历史测试数据作为参考,因此,收集以往生成的历史测试数据非常必要。
然而,目前测试信息存储方法的效率过低。
发明内容
本发明实施例提供一种测试信息存储方法、装置、服务器和存储介质,可以提升测试数据存储的效率。
本发明实施例提供一种测试信息存储方法,包括:
获取测试信息,所述测试信息包括测试信息的目标地址信息、至少一个测试数据以及所述测试数据对应的历史传输信息;
根据所述历史传输信息生成所述测试信息的历史传输轨迹;
当存在与所述历史传输轨迹相同的轨迹时,根据所述目标地址信息发送所述测试信息,并丢弃所述测试信息;
当不存在与所述历史传输轨迹相同的轨迹时,根据所述目标地址信息发送所述测试信息,并存储所述测试信息。
本发明实施例还提供一种测试信息存储装置,包括:
获取单元,用于获取测试信息,所述测试信息包括测试信息的目标地址信息、至少一个测试数据以及所述测试数据对应的历史传输信息;
轨迹单元,用于根据所述历史传输信息生成所述测试信息的历史传输轨迹;
丢弃单元,用于当存在与所述历史传输轨迹相同的轨迹时,根据所述目标地址信息发送所述测试信息,并丢弃所述测试信息;
存储单元,用于当不存在与所述历史传输轨迹相同的轨迹时,根据所述目标地址信息发送所述测试信息,并存储所述测试信息。
本发明实施例还提供一种服务器,所述服务器包括缓存器、处理器和存储器,其中:
所述缓存器用于缓存测试信息;
所述存储器用于存储测试信息以及多条指令;
所述处理器用于读取所述存储器存储的多条指令,以执行以下步骤:
获取测试信息,所述测试信息包括测试信息的目标地址信息、至少一个测试数据以及所述测试数据对应的历史传输信息;
根据所述历史传输信息生成所述测试信息的历史传输轨迹;
当存在与所述历史传输轨迹相同的轨迹时,根据所述目标地址信息发送所述测试信息,并丢弃所述测试信息;
当不存在与所述历史传输轨迹相同的轨迹时,根据所述目标地址信息发送所述测试信息,并存储所述测试信息。
本发明实施例可以获取测试信息,测试信息包括测试信息的目标地址信息、至少一个测试数据以及测试数据对应的历史传输信息;根据历史传输信息生成测试信息的历史传输轨迹;当存在与历史传输轨迹相同的轨迹时,根据目标地址信息发送测试信息,并丢弃测试信息;当不存在与历史传输轨迹相同的轨迹时,根据目标地址信息发送测试信息,并存储测试信息。
在本发明中,测试信息存储装置可以集成在服务器中,本服务器可以作为中转服务器在收发测试数据时,通过测试数据的历史传输轨迹来判断测试数据是否是全新的测试数据,通过保存有新内容的测试数据、丢弃冗余的测试数据,本方案可以提升测试数据的存储效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的测试信息存储方法的场景示意图;
图1b是本发明实施例提供的测试信息存储方法的流程示意图;
图1c是本发明实施例提供的测试信息的结构示意图;
图1d是本发明实施例提供的历史传输节点树的结构示意图;
图1e是本发明实施例提供的多种历史传输节点树示意图;
图2a是本发明实施例提供的数据中心应用服务器进行测试信息存储的流程示意图;
图2b是本发明实施例提供的历史传输轨迹生成方法示意图;
图3a是本发明实施例提供的测试信息存储装置的第一种结构示意图;
图3b是本发明实施例提供的测试信息存储装置的第二种结构示意图;
图4是本发明实施例提供的服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种测试信息存储方法、装置、服务器和存储介质。
其中,该测试信息存储装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、或者个人电脑(Personal Computer,PC)等设备;服务器具体可以是中转服务器。
需要注意的是,该测试信息存储装置可以集成在单一的电子设备中,也可以集成在多个电子设备中。
比如,在一些实施例中,该测试信息存储装置可以集成在单一的个人电脑中。
再比如,在一些实施例中,该测试信息存储装置也可以集成在用于提供中转服务的中转服务器集群中,该中转服务器集群可以包括多个服务器,由多个服务器来实现本发明的测试信息存储方法。
例如,参考图1a,该电子设备可以为中转服务器集群,该中转服务器集群中包括一个用于缓存的服务器(在此可以将其称为缓存服务器)、一个用于执行测试信息存储方法的服务器(在此可以将其称为处理服务器)、一个用于存储测试数据的服务器(在此可以将其称为存储服务器)。
其中,图1a还包括测试客户端,该测试客户端可以是手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑等终端设备。测试客户端可以用于生成、处理、接收、发送测试信息(如测试请求、测试响应等),例如,测试客户端可以用于生成测试请求、接收测试服务器返回的测试响应。
其中,图1a还包括多个测试服务器,比如测试服务器A和测试服务器B。测试服务器可以用于生成、处理、接收、发送测试信息,例如,测试服务器可以用于接收测试客户端发送的测试请求、生成测试响应,以及向测试客户端发送测试响应。
在中转服务器集群中,缓存发服务器可以用于缓存测试客户端、测试服务器A、测试服务器B发送的测试信息。
处理服务器可以从缓存服务器中拉取测试信息,其中,测试信息包括测试信息的目标地址信息、至少一个测试数据以及测试数据对应的历史传输信息;处理服务器可以根据历史传输信息生成测试信息的历史传输轨迹。
当处理服务器查询到存储服务器中存在与历史传输轨迹相同的轨迹时,处理服务器可以根据目标地址信息发送测试信息,并丢弃测试信息。
当处理服务器可以查询到存储服务器中不存在与历史传输轨迹相同的轨迹时,处理服务器可以根据目标地址信息发送测试信息,并将测试信息存储到存储服务器中。
以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
在本实施例中,提供了一种测试信息存储方法,如图1b所示,该测试信息存储方法的具体流程可以如下:
101、获取测试信息。
在本发明实施例中,测试信息可以包括测试信息的目标地址信息、至少一个测试数据以及测试数据对应的历史传输信息。
其中,测试信息是指测试过程中生成的与测试有关的信息,比如,测试数据、测试开始时间、测试编号、测试来源等信息。其中,测试数据可以是测试请求,也可以是测试响应,每个测试数据对应一个该测试数据的历史传输信息。
其中,目标地址信息是指包含测试信息目标地址的信息,目标地址指测试信息将要发往的网络地址(Network address)。比如,目标地址信息可以是测试信息即将发往的目标IP地址(Internet Protocol Address)、目标MAC(MediaAccess Control)地址,等等。
其中,历史传输信息是指测试数据在历史时间中传输所经过的设备信息,比如,测试数据在历史时间中传输所经过的设备的名称、编号、类型、时间,等等。
例如,在一些实施例中,参考图1c所示的测试信息结构示意图,测试信息可以包括测试信息的目标IP地址、两个个测试数据(分别是测试请求A和测试响应A,以及,测试请求B和测试响应B),以及测试数据对应的历史传输信息(比如,测试数据在历史时间中传输所经过的设备的编号)。其中,每个测试数据可以对应一个历史传输信息,也可以对应多个历史传输信息,每个测试数据之间对应的历史传输信息可以重复、部分重复、不重复,在此不做要求。
获取测试信息的方法具有多种,比如,通过网络获取测试信息、通过读取存储介质(比如,光盘、U盘等)获取测试信息、通过用户录入获取测试信息,等等。
比如,在一些实施例中,可以通过网络获取测试客户端发送的测试信息。
在另一些实施例中,可以通过网络从缓存服务器中拉取测试信息。
102、根据历史传输信息生成测试信息的历史传输轨迹。
在一些实施例中,参考图1d所示的历史传输节点树结构示意图,历史传输信息可以包括至少一个历史传输节点,历史传输轨迹可以是由历史传输节点构成的历史传输节点树。为了进一步提高存储测试数据的效率,步骤102具体可以包括以下步骤:
(1)对历史传输节点进行节点排序,得到排序后的历史传输节点;
(2)基于排序后的历史传输节点生成历史传输节点树。
其中,对历史传输节点进行节点排序的方法具有多种,比如,基于历史传输节点的名称进行节点排序、基于历史传输节点的编号进行节点排序,等等。
基于排序后的历史传输节点生成历史传输节点树的方法具有多种,比如,在一些实施例中,排序后的历史传输节点可以直接作为历史传输节点树。比如,在另一些实施例中,可以基于排序后的历史传输节点从大到小或从小到达构建历史传输节点树。
具体地,在一些实施例中,步骤“基于排序后的历史传输节点生成历史传输节点树”可以包括以下步骤:
a.遍历历史传输节点树,得到历史传输节点树中至少一个历史传输子节点树;
b.查询本地内存中与历史传输子节点树相同的子轨迹。
其中,历史传输节点树可以由多个历史传输子节点树构成,比如,参考图1d所示的历史传输节点树,该历史传输节点树可以记作[1,2,(3(5,6),4)],其中可以包括多个历历史传输子节点树,比如,历史传输节点树可以包括历史传输子节点树[3,(5,6)]、历史传输子节点树[2,(3(5,6),4)]、历史传输子节点树[4]、历史传输子节点树[5]、历史传输子节点树[6],等等。
在一些实施例中,历史传输子节点树可以作为历史传输子轨迹,步骤103可以包括以下步骤:
当存在与历史传输子节点树相同的子轨迹时,根据目标地址信息发送测试信息,并丢弃测试信息中传输子节点树对应的测试数据。
类似地,在一些实施例中,步骤104可以包括以下步骤:
当不存在与历史传输子节点树相同的子轨迹时,根据目标地址信息发送测试信息,并存储测试信息中传输子节点树对应的测试数据。
参考图1c所示的测试信息结构示意图,在一些实施例中,测试信息中首个测试数据对应的历史传输信息可以被称为头信息,进一步地,当历史传输信息为历史传输节点时,测试信息中首个测试数据对应的历史传输节点可以被称为历史传输头节点,此时,步骤101可以包括以下步骤:
(1)获取历史传输头节点;
(2)基于历史传输头节点获取测试信息。
其中,步骤“基于历史传输头节点获取测试信息”具体可以包括:
a.获取历史传输头节点对应的测试数据;
b.将历史传输头节点作为当前节点,确定当前节点对应的下一节点;
c.当存在下一节点时,获取下一节点对应的测试数据;
d.将下一节点作为当前节点,返回执行步骤确定当前节点对应的下一节点。
103、当存在与历史传输轨迹相同的轨迹时,根据目标地址信息发送测试信息,并丢弃测试信息。
为了去除冗余的测试数据,当存储器中存在与历史传输轨迹相同的轨迹时,可以向目标地址信息所指示的地址发送该测试信息,并在缓存器中丢弃测试信息。
在一些实施例中,为了在中短期内保存测试信息以便技术人员追查,同时去除冗余的测试数据,可以在一段时间后再在缓存器中丢弃测试信息,例如,丢弃测试信息前,可以在缓存器中保存24小时。
当存在与历史传输轨迹相同的轨迹时,在一些实施例中,步骤103包括:
(1)根据目标地址信息更新测试信息中测试数据对应的历史传输信息,得到更新后测试信息;
(2)基于目标地址信息,将更新后测试信息发送到目标地址。
其中,根据目标地址信息更新测试信息中测试数据对应的历史传输信息,得到更新后测试信息的方式具有多种,比如,将该目标地址信息的具体信息内容添加到测试数据对应的历史传输信息中,等等。
例如,在一些实施例中,步骤“基于目标地址信息,将更新后测试信息发送到目标地址”具体包括:
a.获取映射关系集合,映射关系集合包括地址信息与传输信息之间映射关系;
b.根据映射关系集合确定目标地址信息对应的目标传输信息;
c.将目标传输信息作为历史传输信息加入到测试信息中,得到更新后测试信息。
其中,映射关系集合包括了地址信息与传输信息之间映射关系,这些映射关系可以以多种表现形式存储在本地内存中,比如,以表格、链、树等数据形式存储在本地内存中。
例如,参考表1所示的映射关系集合表:
地址信息 | IP地址A | IP地址B | IP地址C |
传输信息 | id-A | id-B | id-C |
表1
104、当不存在与历史传输轨迹相同的轨迹时,根据目标地址信息发送测试信息,并存储测试信息。
在一些实施例中,为了进一步去除冗余的测试信息,测试信息还可以包括测试数据对应的数据类型,例如,以形象的方式举例,参考图1e,假设测试数据的历史传输信息为树的节点、每个测试数据的历史传输轨迹为树节点构成的一颗树,测试数据的数据类型是树的品种,则除了树的节点之外,还可以基于树的品种来判断树1、树2、树3、树4对应的测试数据是否值得存储。具体地,步骤104可以包括以下步骤:
(1)当不存在与历史传输轨迹相同的轨迹时,根据数据类型,确定测试信息中待丢弃的测试数据;
(2)去除测试信息中待丢弃的测试数据,以及待丢弃测试信息对应的历史传输信息,得到筛选后测试信息;
(3)根据目标地址信息发送测试信息,并存储测试信息筛选后测试信息。
其中,数据类型是指多个测试数据的数据类型,比如,数据类型可以包括int型、double型,等等。
当不存在与历史传输轨迹相同的轨迹时,在一些实施例中,步骤104包括:
(1)根据目标地址信息更新测试信息中测试数据对应的历史传输信息,得到更新后测试信息;
(2)基于目标地址信息,将更新后测试信息发送到目标地址。
其中,具体步骤可以参考步骤103,在此不做赘述。
通过本发明实施例提供的方法可以XX,比如,本发明实施例可以
由上可知,本发明实施例可以获取测试信息,测试信息包括测试信息的目标地址信息、至少一个测试数据以及测试数据对应的历史传输信息;根据历史传输信息生成测试信息的历史传输轨迹;当存在与历史传输轨迹相同的轨迹时,根据目标地址信息发送测试信息,并丢弃测试信息;当不存在与历史传输轨迹相同的轨迹时,根据目标地址信息发送测试信息,并存储测试信息。
由此本方案可以在收发测试数据时,通过测试数据的历史传输轨迹来判断测试数据是否是冗余的测试数据,从而在存储测试数据时丢弃冗余的测试数据。由此,该方案可以提升测试数据存储的效率。
根据上述实施例所描述的方法,以下将作进一步详细说明。
在本实施例中,将以测试信息存储装置集成在中转服务器集群中来作为测试数据中心为例,对本发明实施例的方法进行详细说明。
参考2a,中转服务器集群中包括缓存器、处理器和存储器,该缓存器具体集成在用于缓存的服务器(在此称为缓存服务器)中、该处理器具体集成在用于执行测试信息存储方法的服务器(在此称为数据中心应用服务器)中、该存储器具体集成在用于存储测试数据的服务器(在此称为数据库服务器)中。
缓存服务器可以为任一种缓存系统,例如,MemCache(一种分布式的高速缓存系统)。当测试信息流经测试数据中心时,缓存服务器可以将其进行缓存。在一些实施例种,缓存服务器可以对该测试信息进行中短期存储,比如,保存该测试信息24小时,以便用于冗余数据的查询。
其中,MemCache是一个高性能的分布式的内存对象缓存系统,通过在其本地内存种维护一个统一的哈希(hash)表来存储各种格式的数据(比如,图像、视频、文件以及数据库检索的结果等)。
Memcached可以以检测的方式运行于缓存服务器中,通过检测测试客户端发送的测试信息,来获取该测试信息,并将测试信息发送给该数据中心应用服务器。
其中,MemCache的工作流程如下:
1、接收测试信息;
2、当测试信息已登记在MemCache本地内存中的哈希表中时,则直接返回该测试信息;
3、当测试信息没有登记在MemCache本地内存中的哈希表中时,则将该测试信息发送给数据中心应用服务器,同时将该测试信息缓存到MemCache本地内存中,以及更新哈希表。
其中,测试信息中可以包括测试数据的内容、该测试数据的目标地址,以及该测试数据对应的一个或多个编号ID(即,历史传输信息)。
比如,当测试信息中包括测试数据的内容、该测试数据的目标地址,以及该测试数据对应的一个编号ID时,测试信息存储方法分为可以分为以下两步进行说明:
(一)、发送测试信息。
每当有测试信息流经测试数据中心时,测试数据中心可以在发送该测试信息之前,对该测试数据的编号ID进行更改。
比如,每当发送测试信息前,测试数据中心可以根据该测试数据将要发向的测试服务器的地址(即,目标地址信息)来对编号ID进行更改。
在比如,每当发送测试信息前,测试数据中心可以对测试数据的编号ID进行+1操作。
例如,参考图2b所示的历史传输轨迹生成方法示意图,测试数据的编号ID为ID1,则该测试信息流经测试数据中心时,测试数据中心将新的编号ID(比如,ID2)赋值给该测试数据;测试数据此时的编号ID为ID2,则当该测试信息再次流经测试数据中心时,测试数据中心将新的编号ID(比如,ID3)赋值给该测试数据。
在另一些实施例中,测试数据可以对应一个编号ID集合,该编号ID集合中可以包括多个编号ID,比如,参考图2a中测试数据对应的多个编号ID,分别是[ID1,ID2,ID3,ID4,ID5,ID6],则每当发送测试信息前,测试数据中心可以将测试数据的目标地址信息对应的编号ID增添到测试数据的编号ID集合中。
例如,参考表2所示的地址信息与编号ID之间的映射关系集合表:
地址信息 | 服务器A的IP | 服务器B的IP | 服务器C的IP |
编号ID | ID2 | ID3 | ID4 |
表2
其中,当测试数据可以对应的编号ID集合为[ID1,ID2],且该测试数据对应的目标地址信息(即,该测试数据将要发向的测试服务器的地址)为服务器B的IP时,则将服务器B的IP对应的ID3添加到测试数据可以对应的编号ID集合中,得到更新后的编号ID集合[ID1,ID2,ID3]。
(二)、接收测试信息。
每当有测试信息流经测试数据中心时,测试数据中心可以在接收该测试信息之后,对该测试信息进行缓存。
其中,缓存的条件为:仅缓存全新的测试信息,不缓存冗余的测试信息。
其中,判断测试信息是冗余测试信息可以参考如下方法:
(1)方法一:
例如,参考图2a,当测试数据对应一个编号ID集合,该编号ID集合中包括多个编号ID,以及每个编号ID对应的数据类型,则测试数据中心可以根据编号ID生成历史传输轨迹。
譬如,将编号ID作为树节点,生成树型历史传输轨迹,在此将该树型历史传输轨迹称为轨迹树。
在图2a中,可以生成轨迹树[ID1,ID2,ID3,ID4,ID5,ID6],其中,每个节点根据编号从小到大连接,生成一条串联的轨迹树。
当需要判断测试信息是否为冗余测试信息时,将该轨迹树[ID1,ID2,ID3,ID4,ID5,ID6]与数据库服务器中其它的轨迹树进行对比,当数据库服务器中不存在[ID1,ID2,ID3,ID4,ID5,ID6]时,则可确定该测试信息不是冗余测试信息,可以由数据库服务器进行存储。
在一些实施例中,测试信息中包括多个测试数据,为了进一步去除冗余,对比轨迹树之后,还可以根据编号ID的数据类型,来进一步确定测试信息中是否包含一部分全新的测试数据以及一部分冗余的测试数据,从而剥除测试信息中冗余的测试数据,仅保存全新的测试数据。
其中,参考图2a,假设编号ID的数据类型分别是:ID1的数据类型为类型a、ID2的数据类型为类型b、ID3的数据类型为类型c、ID4的数据类型为类型a、ID5的数据类型为类型b、ID6的数据类型为类型c,则可知,ID1、ID2、ID3的数据类型为a、b、c;ID4、ID5、ID6的数据类型也是a、b、c,则可以仅保存ID1、ID2、ID3对应的测试数据,或者仅保存ID4、ID5、ID6对应的测试数据,从而降低冗余。
(2)方法二:
例如,当测试数据对应一个编号ID,则测试数据中心可以根据该ID3,以及本地内存中存储的轨迹生成表来生成历史传输轨迹。
其中,轨迹生成表可以参考表3,其中,表3可以包括编号ID与该编号ID对应的下一编号ID之间的映射关系,以及编号ID与地址信息的映射关系:
编号ID | ID1 | ID2 | ID3 |
编号ID对应的地址信息 | 测试服务器A | 测试服务器B | 测试服务器C |
下一编号ID | ID2 | ID3 | ID4 |
下一编号ID对应的地址信息 | 测试服务器B | 测试服务器C | 测试服务器D |
表3
当测试数据对应一个编号ID为ID2时,参考图2b,则可以由表3可知,该测试数据最大的编号ID为ID2,没有ID3,则该测试数据的历史传输轨迹应将ID2作为下一编号ID从而推导出该测试数据的首个编号ID(ID1),此时可知,该测试数据的历史传输轨迹为ID1(测试服务器A)、ID2(测试服务器2)。
当需要判断测试信息是否为冗余测试信息时,将该历史传输轨迹ID1(测试服务器A)、ID2(测试服务器2)与数据库服务器中其它的轨迹树进行对比,当数据库服务器中不存在历史传输轨迹ID1(测试服务器A)、ID2(测试服务器2)时,则可确定该测试信息不是冗余测试信息,可以由数据库服务器进行存储。
具体进行存储时,可以参考图2a,数据中心应用服务器可以根据头节点(测试信息的编号ID集合中首个编号ID),来从Memcached获取调用栈中保存的测试信息包,并解析该测试信息包获得测试信息。
当通过上述方法确定该测试信息是否是冗余测试信息、是否需要被存储后,则可以将该调用栈描述存储至数据库服务器,以及将该测试信息保存到数据库服务器中。
由上可知,本发明实施例中,每当有测试信息流经测试数据中心时测试数据中心可以在发送该测试信息之前,对该测试数据的编号ID进行更改,从而使得测试数据中心可以在接收该测试信息之后,根据测试数据ID来确定测试数据的历史传输轨迹,从而根据查询该历史传输轨迹,来判断该测试信息是否为冗余的测试数据,从而达到缓存非冗余的测试数据、丢弃冗余测试数据的效果。
在本实施例中,中转服务器集群可以自动地收集、存储测试信息,因此可以大量地、实时地获取测试数据。同时,快速、高效地降低了数据库服务器中测试数据的冗余度、提高了存储测试数据的质量,降低了去冗所消耗的计算资源,从而提高了存储测试信息的效率。
为了更好地实施以上方法,本发明实施例还提供一种测试信息存储装置,该测试信息存储装置具体可以集成在服务器等设备中。
具体地,在本实施例中,将以测试信息存储装置集成在中转服务器中为例,对本发明实施例的方法进行详细说明。
例如,如图3a所示,该测试信息存储装置可以包括获取单元301、轨迹单元302、丢弃单元303以及存储单元304如下:
(一)、获取单元301。
获取单元301,用于获取测试信息。
其中,测试信息包括测试信息的目标地址信息、至少一个测试数据以及测试数据对应的历史传输信息。
(二)、轨迹单元302。
轨迹单元302,用于根据历史传输信息生成测试信息的历史传输轨迹。
其中,历史传输信息可以包括历史传输节点,历史传输轨迹包括历史传输节点树。
在一些实施例中,参考图3b,轨迹单元302可以包括排序子单元3021和节点树子单元3022:
(1)、排序子单元3021。
排序子单元3021,用于对历史传输节点进行节点排序,得到排序后的历史传输节点。
(2)、节点树子单元3022。
节点树子单元3022,用于基于排序后的历史传输节点生成历史传输节点树。
其中,历史传输节点包括历史传输头节点
在一些实施例中,节点树子单元3022具体可以用于:
遍历历史传输节点树,得到历史传输节点树中至少一个历史传输子节点树;
查询本地内存中与历史传输子节点树相同的子轨迹。
此时,在一些实施例中,丢弃单元303具体可以用于:
当存在与历史传输子节点树相同的子轨迹时,根据目标地址信息发送测试信息,并丢弃测试信息中传输子节点树对应的测试数据。
此时,在一些实施例中,存储单元304具体可以用于:
当不存在与历史传输子节点树相同的子轨迹时,根据目标地址信息发送测试信息,并存储测试信息中传输子节点树对应的测试数据。
在一些实施例中,获取单元301可以包括头节点子单元和测试信息子单元:
(1)、头节点子单元。
头节点子单元,用于获取历史传输头节点。
(2)、测试信息子单元。
测试信息子单元,用于基于历史传输头节点获取测试信息。
在一些实施例中,测试信息子单元具体可以用于:
获取历史传输头节点对应的测试数据;
将历史传输头节点作为当前节点,确定当前节点对应的下一节点;
当存在下一节点时,获取下一节点对应的测试数据;
将下一节点作为当前节点,返回执行步骤确定当前节点对应的下一节点。
(三)、丢弃单元303。
丢弃单元303,用于当存在与历史传输轨迹相同的轨迹时,根据目标地址信息发送测试信息,并丢弃测试信息。
当存在与历史传输轨迹相同的轨迹时,在一些实施例中,丢弃单元303可以包括更新子单元和发送子单元:
(1)更新子单元、
更新子单元,用于根据目标地址信息更新测试信息中测试数据对应的历史传输信息,得到更新后测试信息。
(2)、发送子单元。
发送子单元,用于基于目标地址信息,将更新后测试信息发送到目标地址。
在一些实施例中,发送子单元具体可以用于:
获取映射关系集合,映射关系集合包括地址信息与传输信息之间映射关系;
根据映射关系集合确定目标地址信息对应的目标传输信息;
将目标传输信息作为历史传输信息加入到测试信息中,得到更新后测试信息。
(四)、存储单元304。
存储单元304,用于当不存在与历史传输轨迹相同的轨迹时,根据目标地址信息发送测试信息,并存储测试信息。
在一些实施例中,存储单元304具体可以用于:
当不存在与历史传输轨迹相同的轨迹时,根据数据类型,确定测试信息中待丢弃的测试数据;
去除测试信息中待丢弃的测试数据,以及待丢弃测试信息对应的历史传输信息,得到筛选后测试信息;
根据目标地址信息发送测试信息,并存储测试信息筛选后测试信息。
在一些实施例中,当不存在与历史传输轨迹相同的轨迹时,存储单元304具体可以用于:
根据目标地址信息更新测试信息中测试数据对应的历史传输信息,得到更新后测试信息;
基于目标地址信息,将更新后测试信息发送到目标地址。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例的测试信息存储装置由。由于该方案可以由获取单元获取测试信息,测试信息包括测试信息的目标地址信息、至少一个测试数据以及测试数据对应的历史传输信息;由轨迹单元根据历史传输信息生成测试信息的历史传输轨迹;当存在与历史传输轨迹相同的轨迹时,由丢弃单元根据目标地址信息发送测试信息,并丢弃测试信息;当不存在与历史传输轨迹相同的轨迹时,由存储单元根据目标地址信息发送测试信息,并存储测试信息。
由此,在本发明实施例中,测试信息存储装置可以在收发测试数据时,通过测试数据的历史传输轨迹来判断测试数据是否是全新的测试数据,从而保存全新的测试数据、丢弃重复的测试数据。由此,该方案可以提升测试数据存储的效率。
本发明实施例还提供一种服务器,该服务器具体可以是中转服务器。
比如,在一些实施例中,该测试信息存储装置可以集成在由多个服务器组成的中转服务器集群中,由多个服务器来实现本发明的测试信息存储方法。
在一些实施例中,该服务器具体可以包括缓存器、处理器和存储器,其中,缓存器用于缓存测试信息,存储器用于存储测试信息以及多条指令,处理器用于读取存储器存储的多条指令,以执行以下步骤:
获取测试信息,测试信息包括测试信息的目标地址信息、至少一个测试数据以及测试数据对应的历史传输信息;
根据历史传输信息生成测试信息的历史传输轨迹;
当存在与历史传输轨迹相同的轨迹时,根据目标地址信息发送测试信息,并丢弃测试信息;
当不存在与历史传输轨迹相同的轨迹时,根据目标地址信息发送测试信息,并存储测试信息。
在本实施例中,将以本实施例的电子设备是的单一中转服务器为例进行详细描述,比如,如图4所示,其示出了本发明实施例所涉及的服务器的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403、输入模块404、通信模块405以及缓存器406等部件。本领域技术人员可以理解,图4中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体检测。在一些实施例中,处理器401可包括一个或多个处理核心;在一些实施例中,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
服务器还包括给各个部件供电的电源403,在一些实施例中,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入模块404,该输入模块404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
该服务器还可包括通信模块405,在一些实施例中通信模块405可以包括无线模块,服务器可以通过该通信模块405的无线模块进行短距离无线传输,从而为用户提供了无线的宽带互联网访问。比如,该通信模块405可以用于帮助用户收发电子邮件、浏览网页和访问流式媒体等。
该服务器还可包括缓存器406,该缓存器406可以用于将外部设备发送送来的测试信息暂时存放,以便处理器401拉取这些测试信息,以及,暂时存放处理器401送往外部设备的测试信息。
尽管未示出,服务器还可以包括显示单元等,在此不再赘述。
具体在本实施例中,服务器中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
获取测试信息,测试信息包括测试信息的目标地址信息、至少一个测试数据以及测试数据对应的历史传输信息;
根据历史传输信息生成测试信息的历史传输轨迹;
当存在与历史传输轨迹相同的轨迹时,根据目标地址信息发送测试信息,并丢弃测试信息;
当不存在与历史传输轨迹相同的轨迹时,根据目标地址信息发送测试信息,并存储测试信息。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由上可知,在本发明实施例中,中转服务器可以在收发测试数据时,通过测试数据的历史传输轨迹来判断测试数据是否是全新的测试数据,从而保存全新的测试数据、丢弃重复的测试数据。由此,该方案可以提升测试数据存储的效率。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种测试信息存储方法中的步骤。例如,该指令可以执行如下步骤:
获取测试信息,测试信息包括测试信息的目标地址信息、至少一个测试数据以及测试数据对应的历史传输信息;
根据历史传输信息生成测试信息的历史传输轨迹;
当存在与历史传输轨迹相同的轨迹时,根据目标地址信息发送测试信息,并丢弃测试信息;
当不存在与历史传输轨迹相同的轨迹时,根据目标地址信息发送测试信息,并存储测试信息。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种测试信息存储方法中的步骤,因此,可以实现本发明实施例所提供的任一种测试信息存储方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种测试信息存储方法、装置、服务器和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种测试信息存储方法,其特征在于,包括:
获取测试信息,所述测试信息包括测试信息的目标地址信息、至少一个测试数据以及所述测试数据对应的历史传输信息,所述测试信息包括测试数据对应的数据类型;
根据所述历史传输信息生成所述测试信息的历史传输轨迹;
当存在与所述历史传输轨迹相同的轨迹时,根据所述目标地址信息发送所述测试信息,并丢弃所述测试信息;
当不存在与所述历史传输轨迹相同的轨迹时,根据所述目标地址信息发送所述测试信息,并存储所述测试信息;
所述当不存在与所述历史传输轨迹相同的轨迹时,根据所述目标地址信息发送所述测试信息,并存储所述测试信息,包括:
当不存在与所述历史传输轨迹相同的轨迹时,根据所述数据类型,确定所述测试信息中待丢弃的测试数据;
去除所述测试信息中待丢弃的测试数据,以及所述待丢弃测试数据对应的历史传输信息,得到筛选后测试信息;
根据所述目标地址信息发送所述测试信息,并存储所述测试信息筛选后测试信息。
2.如权利要求1所述的测试信息存储方法,其特征在于,所述历史传输信息包括历史传输节点,所述历史传输轨迹包括历史传输节点树,根据所述历史传输信息生成所述测试信息的历史传输轨迹,包括:
对所述历史传输节点进行节点排序,得到排序后的历史传输节点;
基于所述排序后的历史传输节点生成历史传输节点树;
所述历史传输节点包括历史传输头节点,所述获取测试信息,包括:
获取历史传输头节点;
基于所述历史传输头节点获取测试信息。
3.如权利要求2所述的测试信息存储方法,其特征在于,所述基于所述历史传输头节点获取测试信息,包括:
获取所述历史传输头节点对应的测试数据;
将所述历史传输头节点作为当前节点,确定当前节点对应的下一节点;
当存在所述下一节点时,获取所述下一节点对应的测试数据;
将所述下一节点作为当前节点,返回执行步骤确定当前节点对应的下一节点。
4.如权利要求2所述的测试信息存储方法,其特征在于,所述基于所述排序后的历史传输节点生成历史传输节点树之后,还包括:
遍历所述历史传输节点树,得到历史传输节点树中至少一个历史传输子节点树;
查询本地内存中与所述历史传输子节点树相同的子轨迹;
所述当存在与所述历史传输轨迹相同的轨迹时,根据所述目标地址信息发送所述测试信息,并丢弃所述测试信息,包括:当存在与所述历史传输子节点树相同的子轨迹时,根据所述目标地址信息发送所述测试信息,并丢弃所述测试信息中传输子节点树对应的测试数据;
所述当不存在与所述历史传输轨迹相同的轨迹时,根据所述目标地址信息发送所述测试信息,并存储所述测试信息,包括:当不存在与所述历史传输子节点树相同的子轨迹时,根据所述目标地址信息发送所述测试信息,并存储所述测试信息中传输子节点树对应的测试数据。
5.如权利要求1所述的测试信息存储方法,其特征在于,根据所述目标地址信息发送所述测试信息,包括:
根据所述目标地址信息更新所述测试信息中测试数据对应的历史传输信息,得到更新后测试信息;
基于所述目标地址信息,将所述更新后测试信息发送到目标地址。
6.如权利要求5所述的测试信息存储方法,其特征在于,根据所述目标地址信息更新所述测试信息中测试数据对应的历史传输信息,得到更新后测试信息,包括:
获取映射关系集合,所述映射关系集合包括地址信息与传输信息之间映射关系;
根据所述映射关系集合确定所述目标地址信息对应的目标传输信息;
将所述目标传输信息作为历史传输信息加入到测试信息中,得到更新后测试信息。
7.一种测试信息存储装置,其特征在于,包括:
获取单元,用于获取测试信息,所述测试信息包括测试信息的目标地址信息、至少一个测试数据以及所述测试数据对应的历史传输信息,所述测试信息包括测试数据对应的数据类型;
轨迹单元,用于根据所述历史传输信息生成所述测试信息的历史传输轨迹;
丢弃单元,用于当存在与所述历史传输轨迹相同的轨迹时,根据所述目标地址信息发送所述测试信息,并丢弃所述测试信息;
存储单元,用于当不存在与所述历史传输轨迹相同的轨迹时,根据所述目标地址信息发送所述测试信息,并存储所述测试信息;
所述存储单元,用于:
当不存在与所述历史传输轨迹相同的轨迹时,根据所述数据类型,确定所述测试信息中待丢弃的测试数据;
去除所述测试信息中待丢弃的测试数据,以及所述待丢弃测试数据对应的历史传输信息,得到筛选后测试信息;
根据所述目标地址信息发送所述测试信息,并存储所述测试信息筛选后测试信息。
8.如权利要求7所述的测试信息存储装置,其特征在于,所述历史传输信息包括历史传输节点,所述历史传输轨迹包括历史传输节点树,所述轨迹单元包括:
排序子单元,用于对所述历史传输节点进行节点排序,得到排序后的历史传输节点;
节点树子单元,用于基于所述排序后的历史传输节点生成历史传输节点树;
所述历史传输节点包括历史传输头节点,所述获取单元,包括:
头节点子单元,用于获取历史传输头节点;
测试信息子单元,用于基于所述历史传输头节点获取测试信息。
9.一种服务器,所述服务器包括缓存器、处理器和存储器,其中:
所述缓存器用于缓存测试信息,所述测试信息包括测试数据对应的数据类型;
所述存储器用于存储测试信息以及多条指令;
所述处理器用于读取所述存储器存储的多条指令,以执行以下步骤:
获取测试信息,所述测试信息包括测试信息的目标地址信息、至少一个测试数据以及所述测试数据对应的历史传输信息;
根据所述历史传输信息生成所述测试信息的历史传输轨迹;
当存在与所述历史传输轨迹相同的轨迹时,根据所述目标地址信息发送所述测试信息,并丢弃所述测试信息;
当不存在与所述历史传输轨迹相同的轨迹时,根据所述目标地址信息发送所述测试信息,并存储所述测试信息;
所述当不存在与所述历史传输轨迹相同的轨迹时,根据所述目标地址信息发送所述测试信息,并存储所述测试信息,包括:
当不存在与所述历史传输轨迹相同的轨迹时,根据所述数据类型,确定所述测试信息中待丢弃的测试数据;
去除所述测试信息中待丢弃的测试数据,以及所述待丢弃测试数据对应的历史传输信息,得到筛选后测试信息;
根据所述目标地址信息发送所述测试信息,并存储所述测试信息筛选后测试信息。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1~6任一项所述的测试信息存储方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910730485.2A CN112346960B (zh) | 2019-08-08 | 2019-08-08 | 测试信息存储方法、装置、服务器和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910730485.2A CN112346960B (zh) | 2019-08-08 | 2019-08-08 | 测试信息存储方法、装置、服务器和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112346960A CN112346960A (zh) | 2021-02-09 |
CN112346960B true CN112346960B (zh) | 2023-09-26 |
Family
ID=74366717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910730485.2A Active CN112346960B (zh) | 2019-08-08 | 2019-08-08 | 测试信息存储方法、装置、服务器和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112346960B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218297A (zh) * | 2013-05-15 | 2013-07-24 | 百度在线网络技术(北京)有限公司 | 测试数据的筛选方法及装置 |
CN107888496A (zh) * | 2016-09-30 | 2018-04-06 | 丛林网络公司 | 用于标签交换路径的多个路径计算 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6003699B2 (ja) * | 2013-02-08 | 2016-10-05 | 富士通株式会社 | テストデータ生成プログラム、方法及び装置 |
-
2019
- 2019-08-08 CN CN201910730485.2A patent/CN112346960B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218297A (zh) * | 2013-05-15 | 2013-07-24 | 百度在线网络技术(北京)有限公司 | 测试数据的筛选方法及装置 |
CN107888496A (zh) * | 2016-09-30 | 2018-04-06 | 丛林网络公司 | 用于标签交换路径的多个路径计算 |
Also Published As
Publication number | Publication date |
---|---|
CN112346960A (zh) | 2021-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7580971B1 (en) | Method and apparatus for efficient SQL processing in an n-tier architecture | |
WO2021151312A1 (zh) | 一种确定服务间依赖关系的方法及相关装置 | |
CN112333298B (zh) | 报文传输方法、装置、计算机设备及存储介质 | |
JP5360457B2 (ja) | 分散ディレクトリサーバ、分散ディレクトリシステム、分散ディレクトリ方法、およびプログラム | |
CN108427619B (zh) | 日志管理方法、装置、计算设备及存储介质 | |
CN110740145B (zh) | 消息消费方法、装置、存储介质及电子设备 | |
CN107645386B (zh) | 一种获取数据资源的方法和装置 | |
EP1867137A1 (en) | Method and apparatus for efficiently expanding a p2p network | |
CN108595483B (zh) | 数据处理方法及相关装置 | |
CN112052227A (zh) | 数据变更日志的处理方法、装置和电子设备 | |
CN113656176A (zh) | 云设备的分配方法、装置、系统、电子设备、介质及产品 | |
CN110222034A (zh) | 一种数据库维护方法及装置 | |
CN112732756A (zh) | 数据查询方法、装置、设备及存储介质 | |
CN110620722B (zh) | 一种订单处理的方法和装置 | |
CN103248636A (zh) | 离线下载的系统及方法 | |
CN112346960B (zh) | 测试信息存储方法、装置、服务器和存储介质 | |
US20240022507A1 (en) | Information flow recognition method, network chip, and network device | |
US10812390B2 (en) | Intelligent load shedding of traffic based on current load state of target capacity | |
CN111092952A (zh) | 一种数据交互方法及相关产品 | |
CN109309583B (zh) | 基于分布式系统的信息获取方法、装置、电子设备和介质 | |
CN112765212A (zh) | 中转设备数据处理方法及装置 | |
CN113407493B (zh) | 运行方法、数据读写方法、装置、电子设备和介质 | |
CN113067869B (zh) | 节点控制方法及装置、节点管理方法及装置、分布式系统 | |
JP2001344227A (ja) | 階層型リソース監視システム | |
CN112578996B (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 |