CN116743619B - 网络服务的测试方法、装置、设备及存储介质 - Google Patents

网络服务的测试方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116743619B
CN116743619B CN202311024273.5A CN202311024273A CN116743619B CN 116743619 B CN116743619 B CN 116743619B CN 202311024273 A CN202311024273 A CN 202311024273A CN 116743619 B CN116743619 B CN 116743619B
Authority
CN
China
Prior art keywords
message
network
address
target
forwarding
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
CN202311024273.5A
Other languages
English (en)
Other versions
CN116743619A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202311024273.5A priority Critical patent/CN116743619B/zh
Publication of CN116743619A publication Critical patent/CN116743619A/zh
Application granted granted Critical
Publication of CN116743619B publication Critical patent/CN116743619B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及计算机技术领域,公开了一种网络服务的测试方法、装置、设备及存储介质,应用于部署有虚拟测试主机的网络存储服务器,虚拟测试主机中存储有对存储网络服务进行测试的测试用例集,包括:获取测试用例集,测试用例集中包括一个或多个网络报文;识别网络报文的报文标签、转发地址及目标地址,基于转发地址截取网络报文;基于报文标签对截取的网络报文进行故障注入,得到目标网络报文;基于目标地址将目标网络报文转发至存储网络服务,以对存储网络服务进行网络服务的测试;本发明可以不依赖硬件环境条件下对存储网络服务的测试验证以及故障注入,从而实现在节省硬件环境搭建成本的基础上,保证对存储网络服务进行测试验证的可靠性。

Description

网络服务的测试方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,具体涉及一种网络服务的测试方法、装置、设备及存储介质。
背景技术
随着信息管理能力的提升以及信息访问量的快速增加,人们对存储和管理信息的能力有了新的要求。网络存储的出现和发展适应了这一要求,网络存储因此有了长足的发展。但是网络存储的性能测试基准却发展缓慢,实际性能测试中对存储系统网络服务的验证通常需要搭建物理测试环境,包括服务器、交换机、存储等设备,并且在测试过程中对网络故障的注入也通常需要在物理连接中串入专门设备实现,从而增加了对存储系统网络服务进行性能测试的复杂度。
发明内容
有鉴于此,本发明提供了一种网络服务的测试方法、装置、设备及存储介质,以解决现有对存储系统网络服务的验证通常需要搭建物理测试环境,包括服务器、交换机、存储等设备,并且在测试过程中对网络故障的注入也通常需要在物理连接中串入专门设备实现,从而增加了对存储系统网络服务进行性能测试的复杂度的问题。
第一方面,本发明提供了一种网络服务的测试方法,应用于网络存储服务器,网络存储服务器内部署有虚拟测试主机,虚拟测试主机中存储有用于对网络存储服务器的存储网络服务进行测试的测试用例集,该方法包括:
获取测试用例集,测试用例集中包括一个或者多个网络报文;
针对任一网络报文,识别网络报文的报文标签、转发地址及目标地址,并基于转发地址截取网络报文;
基于报文标签对截取的网络报文进行故障注入,以得到目标网络报文;
基于目标地址将目标网络报文转发至存储网络服务,以对存储网络服务进行网络服务的测试。
通过上述过程,可以不依赖硬件环境条件下对存储网络服务的测试验证以及故障注入,从而实现在节省硬件环境搭建成本的基础上,保证对存储网络服务进行测试验证的可靠性。
在一些可选的实施方式中,基于报文标签对截取的网络报文进行故障注入,以得到目标网络报文,包括:
获取报文标签的标签类型;
当标签类型为故障标签时,基于报文标签中所携带的故障注入信息对截取的网络报文进行故障注入,以得到携带故障的目标网络报文;
当标签类型为非故障标签时,基于非故障标签对截取的网络报文进行零故障注入,以得到未携带故障的目标网络报文。
在一些可选的实施方式中,基于报文标签中所携带的故障注入信息对截取的网络报文进行故障注入,以得到目标网络报文,包括:
获取故障注入信息中所携带的故障类型,故障类型包括读写故障以及传输故障;
基于故障类型生成随机故障事件;
基于随机故障事件对网络报文进行故障注入,并在故障注入完成后丢弃报文标签,以得到目标网络报文。
在一些可选的实施方式中,对存储网络服务的网络服务进行测试后,该方法还包括:
获取存储网络服务基于目标网络报文所反馈的第一响应报文;
识别第一响应报文的报文反馈地址;
基于报文反馈地址确定目标反馈地址,并将第一响应报文转发至目标反馈地址。
在一些可选的实施方式中,基于报文反馈地址确定目标反馈地址,并将第一响应报文转发至目标反馈地址,包括:
将报文反馈地址与转发地址进行比对,以得到比对结果;
当比对结果表征报文反馈地址与转发地址相同时,基于转发地址确定目标反馈地址,并将第一响应报文转发至目标反馈地址。
在一些可选的实施方式中,基于报文标签对截取的网络报文进行故障注入,以得到目标网络报文,还包括:
获取对网络报文进行校验的校验值;
基于报文标签对截取的网络报文的报文内容进行修改,得到修改报文内容;
基于修改报文内容对校验值进行更新,以得到第一目标校验值;
基于修改报文内容及第一目标校验值,得到目标网络报文。
在一些可选的实施方式中,生成第一响应报文,包括:
获取目标网络报文的修改报文内容;
基于修改报文内容确定第一校验值;
对比第一校验值与第一目标校验值,以得到第一校验结果;
当第一校验结果表征第一校验值与第一目标校验值相同时,基于目标网络报文对存储网络服务进行测试,以得第一测试数据;
基于第一测试数据生成第一响应报文。
在一些可选的实施方式中,基于转发地址截取网络报文,包括:
获取当前地址;
对比当前地址与转发地址,并基于对比结果,截取网络报文。
在一些可选的实施方式中,对比当前地址与转发地址,并基于对比结果,截取网络报文,包括:
对比当前地址的内容与转发地址的内容,以得到内容比对结果;
当内容比对结果表征当前地址与转发地址相同时,截取网络报文。
在一些可选的实施方式中,该方法还包括:
当内容比对结果表征当前地址与转发地址不相同时,对比转发地址与目标地址,得到地址比对结果;
当地址比对结果表征转发地址与目标地址相同时,基于目标地址及报文标签将网络报文转发至存储网络服务,以对存储网络服务进行网络服务的测试。
在一些可选的实施方式中,基于目标地址将网络报文转发至存储网络后,该方法还包括:
获取存储网络服务基于网络报文所反馈的第二响应报文;
识别第二响应报文的报文反馈地址;
基于报文反馈地址确定目标反馈地址,并将第二响应报文转发至目标反馈地址。
在一些可选的实施方式中,生成第二响应报文,包括:
获取网络报文的报文内容;
基于报文内容确定第二校验值;
对比第二校验值与网络报文中携带的第二目标校验值,以得到第二校验结果;
当第二校验结果表征第二校验值与第二目标校验值相同时,基于目标网络报文对存储网络服务进行测试,以得第二测试内容;
基于第二测试内容生成第二响应报文。
在一些可选的实施方式中,确定内容比对结果表征当前地址与转发地址相同,包括:
获取当前地址所对应的第一运算结果;
对转发地址所限定的内容进行内容值运算,得到第二运算结果,并将第二运算结果与第一运算结果进行比对;
若第二运算结果与第一运算结果相同,确定内容比对结果表征当前地址与转发地址相同。
在一些可选的实施方式中,确定内容比对结果表征当前地址与转发地址相同,包括:
获取当前地址所对应的存储特征向量;
对转发地址所限定的内容进行编码,以获取转发地址的目标特征向量,并将目标特征向量与存储特征向量进行比对;
若目标特征向量与存储特征向量相同,确定内容比对结果表征当前地址与转发地址相同。
在一些可选的实施方式中,获取测试用例集,包括:
获取待存储网络服务的服务类型;
基于服务类型生成对存储网络服务进行测试的一个或者多个网络报文,一个或者多个网络报文用于构建测试用例集。
在一些可选的实施方式中,基于服务类型生成对存储网络服务进行测试的一个或者多个网络报文,包括:
根据服务类型获取目标用例生成模型;
通过目标用例生成模型生成对存储网络服务进行测试的一个或者多个网络报文。
在一些可选的实施方式中,获取目标用例生成模型包括:
获取样本数据以及样本数据的标签,标签用于表征存储网络服务的服务类型;
将样本数据输入用例生成模型中,得到预测用例;
基于预测用例与标签,更新用例生成模型的参数,以确定目标用例生成模型。
第二方面,本发明提供了一种网络服务的测试装置,应用于网络存储服务器,网络存储服务器内部署有虚拟测试主机,虚拟测试主机中存储有用于对网络存储服务器的存储网络服务进行测试的测试用例集,该装置主要包括:
信息获取模块,用于获取测试用例集,测试用例集中包括一个或者多个网络报文;
报文截取模块,用于针对任一网络报文,识别网络报文的报文标签、转发地址及目标地址,并基于转发地址截取网络报文;
故障注入模块,用于基于报文标签对截取的网络报文进行故障注入,以得到目标网络报文;
服务测试模块,用于基于目标地址将目标网络报文转发至存储网络服务,以对存储网络服务进行网络服务的测试。
通过上述过程,可以不依赖硬件环境条件下对存储网络服务的测试验证以及故障注入,从而实现在节省硬件环境搭建成本的基础上,保证对存储网络服务进行测试验证的可靠性。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的网络服务的测试方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的网络服务的测试方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种应用环境的示意图;
图2是本发明实施例的网络服务的测试方法的流程示意图;
图3是本发明实施例的另一网络服务的测试方法的流程示意图;
图4是本发明实施例的又一网络服务的测试方法的流程示意图;
图5是本发明实施例的再一网络服务的测试方法的流程示意图;
图6是本发明实施例的网络服务的测试数据流图;
图7是本发明实施例的网络服务的测试装置的结构框图;
图8是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本发明中的“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本发明实施例不做限制。
请参阅图1,图1是本发明实施例提供的一种应用环境的示意图,该示意图包括客户端100中可以包含有显示器101、处理器102和存储器103。客户端100可以通过网络300与网络存储服务器200进行通信连接,该网络存储服务器200可用于为客户端上安装的计算程序提供服务(如存储服务等),可在网络存储服务器200上或独立于网络存储服务器200设置数据库201,用于为网络存储服务器200提供数据存储服务。此外,网络存储服务器200中可以运行有处理引擎202,该处理引擎202可以用于执行由网络存储服务器200所执行的步骤。
可选的,客户端100可以但不限于为可以计算数据的终端,如移动终端(例如平板电脑)、笔记本电脑、PC(Personal Computer,个人计算机)机等终端上,上述网络可以包括但不限于无线网络或有线网络。其中,该无线网络包括:蓝牙、WIFI(Wireless Fidelity,无线保真)及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、服务器集群。上述网络存储服务器200可以包括但不限于任何可以进行计算的硬件设备。
此外,在本实施例中,上述网络服务的测试方法还可以但不限于应用于处理能力较强大的独立的处理设备中,而无需进行数据交互。例如,该处理设备可以但不限于为处理能力较强大的终端设备,即,上述网络服务的测试方法中的各个操作可以集成在一个独立的处理设备中。上述仅是一种示例,本实施例中对此不作任何限定。
可选的,在本实施例中,上述网络服务的测试方法可以由网络存储服务器200来执行,也可以由客户端100来执行,还可以是由网络存储服务器200和客户端100共同执行。其中,客户端100执行本发明实施例的网络服务的测试方法也可以是由安装在其上的客户端来执行。
根据本发明实施例,提供了一种网络服务的测试方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种网络服务的测试方法,可用于上述的网络存储服务器,该网络存储服务器内部署有虚拟测试主机,虚拟测试主机中存储有用于对网络存储服务器的存储网络服务进行测试的测试用例集,图2是根据本发明实施例的网络服务的测试方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201,获取测试用例集,测试用例集中包括一个或者多个网络报文。
如上,通过获取测试用例集,以便于基于测试用例集中的一个或者多个网络报文,对网络存储服务器的存储网络服务进行测试。其中,存储网络服务包括不限于网页服务及接口服务。
在一些可选的实施方式中,在获取测试用例集时,首先获取待存储网络服务的服务类型;然后基于服务类型生成对存储网络服务进行测试的一个或者多个网络报文,最后基于一个或者多个网络报文构建出测试用例集。即,测试用例集可以包括一个或多个测试用例,各测试用例能对存储网络服务的相关性能进行测试。
在一些可选的实施方式中,基于服务类型生成对存储网络服务进行测试的一个或者多个网络报文时,可以根据服务类型获取目标用例生成模型;通过目标用例生成模型生成对存储网络服务进行测试的一个或者多个网络报文。
进一步地,在对目标用例生成模型的创建过程中,可以先获取样本数据以及样本数据的标签,该标签用于表征存储网络服务的服务类型;然后将样本数据输入用例生成模型中,得到预测用例;最后基于预测用例与标签,更新用例生成模型的参数,以得到目标用例生成模型。
其中,在样本数据的准备过程中,为提高目标用例生成模型对测试用例生成的准确性,可以获取初始样本数据,并将初始样本数据输入特征提取网络进行特征提取,得到特征提取数据;然后将特征值大于阈值的特征提取数据作为样本数据。特征值为当前特征提取数据的重要程度乘以当前特征提取数在初始样本数据中的占比。
举例来讲,当需要对存储网络服务的服务性能进行测试,或者接收到对存储网络服务进行测试的测试指令时,则可以基于存储网络服务的服务类型,生成对存储网络服务进行测试的一个或者多个网络报文,并基于一个或者多个网络报文构建测试用例集,并将测试用例集存储于网络存储服务器内部署的虚拟测试主机中。可选的,还可以在需要对存储网络服务的服务性能进行测试,或者接收到对存储网络服务进行测试的测试指令时,虚拟测试主机直接根据存储网络服务的服务类型生成一个或者多个网络报文并进行保存。
步骤S202,针对任一网络报文,识别网络报文的报文标签、转发地址及目标地址,并基于转发地址截取网络报文。
如上,通过针对任一网络报文,识别该网络报文的报文标签、转发地址及目标地址,以便于基于转发地址确定是否对该网络报文进行截取,为后续对网络报文的故障注入提供必要条件。
在一些可选的实施方式中,可以首先获取当前地址,然后对比当前地址与转发地址,并基于对比结果,截取网络报文。其中,在对比当前地址与转发地址,并基于对比结果截取网络报文时,可以对比当前地址的内容与转发地址的内容,以得到内容比对结果;当内容比对结果表征当前地址与转发地址相同时,截取网络报文。可以理解的,在将网络报文传输至存储网络服务的过程中,为了让虚拟测试主机认为自己所发送的网络报文是传输至存储网络服务的,因此可将对网络报文的转发地址进行修改,以修改为当前地址,以便于在当前地址与转发地址相同时,截取网络报文,为后续对网络报文的故障注入提供必要条件。
在一些可选的实施方式中,还可以基于目标地址及报文标签截取网络报文。例如,对虚拟测试主机所下发的网络报文进行实时监测,针对任一网络报文,识别该网络报文中所携带的转发地址及报文标签,当转发地址为目标地址(如存储网络服务),且携带报文标签或者报文标签为故障标签时,则截取该网络报文,从而实现了具有针对性的对网络报文进行故障注入。
在一些可选的实施方式中,在对比当前地址的内容与转发地址的内容,所得到的内容比对结果表征当前地址与转发地址不相同时,接着对比转发地址与目标地址,得到地址比对结果;当地址比对结果表征转发地址与目标地址相同时,基于目标地址及报文标签将网络报文转发至存储网络服务,以对存储网络服务进行网络服务的测试。可以理解的,当不需要对网络报文进行故障注入时,可以之间将网络报文转发至存储网络服务,以对存储网络服务进行网络服务的测试。
步骤S203,基于报文标签对截取的网络报文进行故障注入,以得到目标网络报文。
如上,通过基于报文标签对截取的网络报文进行故障注入,从而实现了对网络报文实际传输过程中网络环境的模拟,为后续提高存储网络服务测试的可靠性提供必要条件。
在一些可选的实施方式中,基于报文标签对截取的网络报文进行故障注入,以得到目标网络报文时,首先获取报文标签的标签类型;当标签类型为故障标签时,基于报文标签中所携带的故障注入信息对截取的网络报文进行故障注入,以得到携带故障的目标网络报文;当标签类型为非故障标签时,基于非故障标签对截取的网络报文进行零故障注入,以得到未携带故障的目标网络报文。可以理解的,通过基于报文标签对中所携带的故障注入信息对截取的网络报文进行故障注入,从而实现了对网络报文实际传输过程中网络环境的模拟。
进一步地,基于报文标签中所携带的故障注入信息对截取的网络报文进行故障注入,以得到目标网络报文时,首先获取故障注入信息中所携带的故障类型,故障类型包括读写故障以及传输故障;基于故障类型生成随机故障事件;基于随机故障事件对网络报文进行故障注入,并在故障注入完成后丢弃报文标签,以得到目标网络报文。
举例来讲,当存储网络服务为接口服务中的小型计算机系统接口服务时,故障注入信息中所携带的故障类型可以为传输故障,那么基于故障类型生成的随机故障事可以包括网络时延的故障事件、丢包故障事件以及错码故障事件。然后基于随机故障事件对网络报文进行故障注入,并在故障注入完成后丢弃报文标签,以得到目标网络报文。可以理解的,通过将故障事件和测试用例灵活组合,方便不同场景下的故障测试验证,从而让故障注入覆盖多种测试场景。
进一步地,通过基于非故障标签对截取的网络报文进行零故障注入,以得到未携带故障的目标网络报文时,可以将截取的网络报文的报文标签丢弃后另存为目标网络报文。可选的,在截取到报文标签为非故障标签的网络报文时,还可以对网络报文内容进行检测,当网络报文中存在故障时,对网络报文中的故障进行修正后得到目标网络报文。检测网络报文是否存在故障时,可以采用网络报文中携带的校验值对报文内容进行校验,以检测网络报文是否存在故障。
在一些可选的实施方式中,基于报文标签对截取的网络报文进行故障注入,以得到目标网络报文时,还可以获取对网络报文进行校验的校验值;基于报文标签对截取的网络报文的报文内容进行修改,得到修改报文内容;基于修改报文内容对校验值进行更新,以得到第一目标校验值;基于修改报文内容及第一目标校验值,得到目标网络报文。
具体的,首先获取对网络报文进行校验的校验值,该检验值可以为虚拟测试主机在下发网络报文前基于网络报文内容进行计算所得到的。然后基于报文标签对截取的网络报文的报文内容进行修改时,可以基于报文标签的故障类型对网络报文中的随机数据包、命令字、报文长度进行随机修改,也可以对网络报文进行延迟转发、丢弃等,从而得到修改报文内容;接着基于修改报文内容对校验值进行更新,以得到第一目标校验值;最后基于修改报文内容及第一目标校验值,得到目标网络报文。其中,校验值的计算可由网络报文的报文内容进行散列运算得到。可选的,校验值还可以采用循环校验码。
步骤S204,基于目标地址将目标网络报文转发至存储网络服务,以对存储网络服务进行网络服务的测试。
如上,通过基于目标地址将目标网络报文转发至存储网络服务,并对存储网络服务进行网络服务的测试,以在不依赖硬件环境的条件下对存储网络服务进行测试验证以及故障注入,从而实现在节省硬件环境搭建成本的基础上,保证对存储网络服务进行测试验证的可靠性。
本实施例提供的网络服务的测试方法,首先通过获取测试用例集,以便于基于测试用例集中的一个或者多个网络报文,对网络存储服务器的存储网络服务进行测试;通过针对任一网络报文,识别该网络报文的报文标签、转发地址及目标地址,以便于基于转发地址确定是否对该网络报文进行截取,为后续对网络报文的故障注入提供必要条件;通过基于报文标签对截取的网络报文进行故障注入,从而实现了对网络报文实际传输过程中网络环境的模拟,为后续提高存储网络服务测试的可靠性提供必要条件;通过基于目标地址将目标网络报文转发至存储网络服务,并对存储网络服务进行网络服务的测试,以在不依赖硬件环境的条件下对存储网络服务进行测试验证以及故障注入,从而实现在节省硬件环境搭建成本的基础上,保证对存储网络服务进行测试验证的可靠性。
在本实施例中提供了一种网络服务的测试方法,可用于上述的网络存储服务器,该网络存储服务器内部署有虚拟测试主机,虚拟测试主机中存储有用于对网络存储服务器的存储网络服务进行测试的测试用例集,图3是根据本发明实施例的网络服务的测试方法的流程图,如图3所示,该流程包括如下步骤:
步骤S301,获取测试用例集,测试用例集中包括一个或者多个网络报文。
如上,通过获取测试用例集,以便于基于测试用例集中的一个或者多个网络报文,对网络存储服务器的存储网络服务进行测试。其中,存储网络服务包括不限于网页服务及接口服务。
详细请参见图2所示实施例的步骤S201,在此不再赘述。
步骤S302,针对任一网络报文,识别网络报文的报文标签、转发地址及目标地址,并基于转发地址截取网络报文。
如上,通过针对任一网络报文,识别该网络报文的报文标签、转发地址及目标地址,以便于基于转发地址确定是否对该网络报文进行截取,为后续对网络报文的故障注入提供必要条件。
详细请参见图2所示实施例的步骤S202,在此不再赘述。
步骤S303,基于报文标签对截取的网络报文进行故障注入,以得到目标网络报文。
如上,通过基于报文标签对截取的网络报文进行故障注入,从而实现了对网络报文实际传输过程中网络环境的模拟,为后续提高存储网络服务测试的可靠性提供必要条件。
详细请参见图2所示实施例的步骤S203,在此不再赘述。
步骤S304,基于目标地址将目标网络报文转发至存储网络服务,以对存储网络服务进行网络服务的测试。
如上,通过基于目标地址将目标网络报文转发至存储网络服务,并对存储网络服务进行网络服务的测试,以在不依赖硬件环境的条件下对存储网络服务进行测试验证以及故障注入,从而实现在节省硬件环境搭建成本的基础上,保证对存储网络服务进行测试验证的可靠性。
详细请参见图2所示实施例的步骤S204,在此不再赘述。
步骤S305,获取存储网络服务基于目标网络报文所反馈的第一响应报文。
如上,通过获取存储网络服务基于目标网络报文所反馈的第一响应报文,以便于基于第一响应报文确定对存储网络服务的测试数据,并基于测试数据确定该存储网络服务是否通过验证。
在一些可选的实施方式中,生成第一响应报文时,可以先获取目标网络报文的修改报文内容;基于修改报文内容确定第一校验值;对比第一校验值与第一目标校验值,以得到第一校验结果;当第一校验结果表征第一校验值与第一目标校验值相同时,基于目标网络报文对存储网络服务进行测试,以得第一测试数据;基于第一测试数据生成第一响应报文,并进行反馈。可以理解的,通过在接收到目标网络报文时,获取目标网络报文的修改报文内容,并基于修改报文内容确定第一校验值,以便于对接收到的目标网络报文的正确性进行校验,避免目标网络报文在转发的过程中产生的故障,从而导致后续验证结果出错的状况。
步骤S306,识别第一响应报文的报文反馈地址。
如上,通过识别第一响应报文的报文反馈地址,以便于基于报文反馈地址对第一响应报文进行转发。
在一些可选的实施方式中,可以通过报文内容检测工具识别第一响应报文的报文反馈地址。
步骤S307,基于报文反馈地址确定目标反馈地址,并将第一响应报文转发至目标反馈地址。
如上,通过基于报文反馈地址确定目标反馈地址,并将第一响应报文转发至目标反馈地址,以便于基于接收到的第一响应报文确定存储网络服务是否通过当前的测试及验证。
在一些可选的实施方式中,可以将报文反馈地址与转发地址进行比对,以得到比对结果;当比对结果表征报文反馈地址与转发地址相同时,基于转发地址确定目标反馈地址,并将第一响应报文转发至目标反馈地址。可以理解的,当报文反馈地址与转发地址相同时,则表明第一响应报文是针对虚拟测试主机所下发的网络报文的,但由于在网络报文下发至存储网络服务的过程中需要进行故障注入,且便于对网络报文的截取,将该网络报文下发至了转发地址,并在进行故障注入后基于目标地址转发给存储网络服务的;因此在报文反馈地址与转发地址相同时,则可以基于转发地址确定目标反馈地址,并进行第一响应报文的转发。
本实施例提供的网络服务的测试方法,首先通过获取测试用例集,以便于基于测试用例集中的一个或者多个网络报文,对网络存储服务器的存储网络服务进行测试;通过针对任一网络报文,识别该网络报文的报文标签、转发地址及目标地址,以便于基于转发地址确定是否对该网络报文进行截取,为后续对网络报文的故障注入提供必要条件;通过基于报文标签对截取的网络报文进行故障注入,从而实现了对网络报文实际传输过程中网络环境的模拟,为后续提高存储网络服务测试的可靠性提供必要条件;通过基于目标地址将目标网络报文转发至存储网络服务,并对存储网络服务进行网络服务的测试,以在不依赖硬件环境的条件下对存储网络服务进行测试验证以及故障注入,从而实现在节省硬件环境搭建成本的基础上,保证对存储网络服务进行测试验证的可靠性。通过获取存储网络服务基于目标网络报文所反馈的第一响应报文,以便于基于第一响应报文确定对存储网络服务的测试数据,并基于测试数据确定该存储网络服务是否通过验证。
在本实施例中提供了一种网络服务的测试方法,可用于上述的网络存储服务器,该网络存储服务器内部署有虚拟测试主机,虚拟测试主机中存储有用于对网络存储服务器的存储网络服务进行测试的测试用例集,图4是根据本发明实施例的网络服务的测试方法的流程图,如图4所示,该流程包括如下步骤:
步骤S401,获取测试用例集,测试用例集中包括一个或者多个网络报文。
如上,通过获取测试用例集,以便于基于测试用例集中的一个或者多个网络报文,对网络存储服务器的存储网络服务进行测试。
详细请参见图2所示实施例的步骤S201,在此不再赘述。
步骤S402,针对任一网络报文,识别网络报文的报文标签、转发地址及目标地址。
如上,通过针对任一网络报文,识别该网络报文的报文标签、转发地址及目标地址,以便于基于转发地址确定是否对该网络报文进行截取,为后续对网络报文的故障注入提供必要条件。
详细请参见图2所示实施例的步骤S202,在此不再赘述。
步骤S403,对比转发地址与目标地址,得到地址比对结果。
如上,通过将转发地址与目标地址进行比对,以便于确定是否直接将网络报文转发至网络存储服务。
在一些可选的实施方式中,首先获取当前地址,对比当前地址的内容与转发地址的内容,以得到内容比对结果;当内容比对结果表征当前地址与转发地址相同时,截取网络报文;当内容比对结果表征当前地址与转发地址不相同时,对比转发地址与目标地址,得到地址比对结果。可以理解的,通过在当前地址与转发地址相同时,截取网络报文,以实现非硬件环境的故障注入;通过在当前地址与转发地址不相同时,对比转发地址与目标地址,以进一步确定是否需要对网络报文进行转发,避免不需要进行故障注入的网络报文被截取后再进行转发,因此能够提高在非硬件环境下对网络报文的下发效率。
在一些可选的实施方式中,在确定内容比对结果表征当前地址与转发地址相同时,获取当前地址所对应的第一运算结果;对转发地址所限定的内容进行内容值运算,得到第二运算结果,并将第二运算结果与第一运算结果进行比对;若第二运算结果与第一运算结果相同,确定内容比对结果表征当前地址与转发地址相同。其中,第一运算结果是对当前地址所限定的内容进行散列运算得到,第二运算结果是对转发地址所限定的内容进行内容值进行散列运算得到的。
在一些可选的实施方式中,确定内容比对结果表征当前地址与转发地址相同时,还可以获取当前地址所对应的存储特征向量;对转发地址所限定的内容进行编码,以获取转发地址的目标特征向量,并将目标特征向量与存储特征向量进行比对;若目标特征向量与存储特征向量相同,确定内容比对结果表征当前地址与转发地址相同。
具体实施时,首先对当前地址所限定的内容进行3-gram编码,以获取当前地址所限定的内容的存储特征向量。然后对转发地址所限定的内容进行3-gram编码,并进行哈希值计算,以获取转发地址所限定的内容的目标特征向量。接着通过相似度算法计算存储特征向量与目标特征向量的相似度,当存储特征向量与目标特征向量的相似度等于100%时,确定内容比对结果表征当前地址与转发地址相同的内容相同。
步骤S404,当地址比对结果表征转发地址与目标地址相同时,基于目标地址及报文标签将网络报文转发至存储网络服务,以对存储网络服务进行网络服务的测试。
如上,通过当地址比对结果表征转发地址与目标地址相同时,基于目标地址及报文标签将网络报文转发至存储网络服务,以实现非硬件环境下对存储网络服务的测试。
在一些可选的实施方式中,当地址比对结果表征转发地址与目标地址相同时,则表明该网络报文是需要下发至存储网络服务的,此时,如果该网络报文的标签类型也为非故障标签,则只直接基于目标地址将网络报文转发至存储网络服务,从而实现对存储网络服务进行网络服务的测试。
本实施例提供的网络服务的测试方法,首先通过获取测试用例集,以便于基于测试用例集中的一个或者多个网络报文,对网络存储服务器的存储网络服务进行测试;通过针对任一网络报文,识别该网络报文的报文标签、转发地址及目标地址,以便于基于转发地址及目标地址确定对该网络报文进行截取还是直接转发;通过将转发地址与目标地址进行比对,以便于确定是否直接将网络报文转发至网络存储服务;通过当地址比对结果表征转发地址与目标地址相同时,基于目标地址及报文标签将网络报文转发至存储网络服务,以在不依赖硬件环境的条件下对存储网络服务进行测试验证,从而实现在节省硬件环境搭建成本的基础上,保证对存储网络服务进行测试验证的可靠性。
在本实施例中提供了一种网络服务的测试方法,可用于上述的网络存储服务器,该网络存储服务器内部署有虚拟测试主机,虚拟测试主机中存储有用于对网络存储服务器的存储网络服务进行测试的测试用例集,图5是根据本发明实施例的网络服务的测试方法的流程图,如图5所示,该流程包括如下步骤:
步骤S501,获取测试用例集,测试用例集中包括一个或者多个网络报文。
如上,通过获取测试用例集,以便于基于测试用例集中的一个或者多个网络报文,对网络存储服务器的存储网络服务进行测试。
详细请参见图2所示实施例的步骤S201,在此不再赘述。
步骤S502,针对任一网络报文,识别网络报文的报文标签、转发地址及目标地址。
如上,通过针对任一网络报文,识别该网络报文的报文标签、转发地址及目标地址,以便于基于转发地址确定是否对该网络报文进行截取,为后续对网络报文的故障注入提供必要条件。
详细请参见图2所示实施例的步骤S202,在此不再赘述。
步骤S503,对比转发地址与目标地址,得到地址比对结果。
如上,通过将转发地址与目标地址进行比对,以便于确定是否直接将网络报文转发至网络存储服务。
详细请参见图4所示实施例的步骤S403,在此不再赘述。
步骤S504,当地址比对结果表征转发地址与目标地址相同时,基于目标地址及报文标签将网络报文转发至存储网络服务,以对存储网络服务进行网络服务的测试。
如上,通过当地址比对结果表征转发地址与目标地址相同时,基于目标地址及报文标签将网络报文转发至存储网络服务,以实现非硬件环境下对存储网络服务的测试。
详细请参见图4所示实施例的步骤S404,在此不再赘述。
步骤S505,获取存储网络服务基于网络报文所反馈的第二响应报文。
如上,通过获取存储网络服务基于网络报文所反馈的第二响应报文,以便于基于第二响应报文确定对存储网络服务的测试数据,并基于测试数据确定该存储网络服务是否通过验证。
在一些可选的实施方式中,生成第二响应报文时,可以先获取目标网络报文的报文内容;基于报文内容确定第二校验值;对比第二校验值与第二目标校验值,以得到第二校验结果;当第二校验结果表征第二校验值与第二目标校验值相同时,基于网络报文对存储网络服务进行测试,以得第二测试数据;基于第二测试数据生成第二响应报文,并进行反馈。可以理解的,通过在接收到网络报文时,获取网络报文的报文内容,并基于报文内容确定第二校验值,以便于对接收到的网络报文的正确性进行校验,避免网络报文在转发的过程中产生的故障,从而导致后续验证结果出错的状况。
步骤S506,识别第二响应报文的报文反馈地址。
如上,通过识别第二响应报文的报文反馈地址,以便于基于报文反馈地址对第二响应报文进行转发。
在一些可选的实施方式中,可以通过报文内容检测工具识别第二响应报文的报文反馈地址。
步骤S507,基于报文反馈地址确定目标反馈地址,并将第二响应报文转发至目标反馈地址。
如上,通过基于报文反馈地址确定目标反馈地址,并将第二响应报文转发至目标反馈地址,以便于基于接收到的第二响应报文确定存储网络服务是否通过当前的测试及验证。
在一些可选的实施方式中,可以将报文反馈地址与转发地址进行比对,以得到比对结果;当比对结果表征报文反馈地址与转发地址相同时,基于转发地址确定目标反馈地址,并将第二响应报文转发至目标反馈地址。可以理解的,当报文反馈地址与转发地址相同时,则表明第二响应报文是针对虚拟测试主机所下发的网络报文的,因此在报文反馈地址与转发地址相同时,则可以基于转发地址确定目标反馈地址,并进行第二响应报文的转发。
本实施例提供的网络服务的测试方法,首先通过获取测试用例集,以便于基于测试用例集中的一个或者多个网络报文,对网络存储服务器的存储网络服务进行测试;通过针对任一网络报文,识别该网络报文的报文标签、转发地址及目标地址,以便于基于转发地址及目标地址确定对该网络报文进行截取还是直接转发;通过将转发地址与目标地址进行比对,以便于确定是否直接将网络报文转发至网络存储服务;通过当地址比对结果表征转发地址与目标地址相同时,基于目标地址及报文标签将网络报文转发至存储网络服务,以在不依赖硬件环境的条件下对存储网络服务进行测试验证,从而实现在节省硬件环境搭建成本的基础上,保证对存储网络服务进行测试验证的可靠性;通过获取存储网络服务基于网络报文所反馈的第二响应报文,以便于基于第二响应报文确定对存储网络服务的测试数据,并基于测试数据确定该存储网络服务是否通过验证;通过识别第二响应报文的报文反馈地址,以便于基于报文反馈地址对第二响应报文进行转发;通过基于报文反馈地址确定目标反馈地址,并将第二响应报文转发至目标反馈地址,以便于基于接收到的第二响应报文确定存储网络服务是否通过当前的测试及验证。
在本实施例中还提供了一种网络服务的测试系统,请参阅图6:
(1)通过控制单元在系统内部配置虚拟网桥、虚拟测试主机网卡、网络存储服务网卡、以太网设备等虚拟网络设备,并开启测试用的虚拟测试主机及故障注入单元的引擎。虚拟测试主机网卡、网络存储服务网卡中的虚拟网卡配置在同一虚拟网桥。
(2)故障注入单元通过字符设备方式监听以太网设备中收到的网络报文,并在网络报文中探测是否包含故障标签。
(3)控制单元通过配置虚拟测试主机网卡、网络存储服务网卡、以太网设备等不同的虚拟网络设备,为其分配IP地址,实现网络互通。
(4)控制单元启动虚拟测试主机中的测试用例集,并将以太网设备的地址作为存储服务的地址提供给虚拟测试主机,通过仿造存储网络服务的IP,即相当于转发地址,虚拟测试主机中的测试用例集下发的网络报文首先转发到以太网设备,这样故障注入单元就会收到网络报文,即实现网络报文的截取。
(5)将真正的存储网络服务IP地址,发送给故障注入单元,故障注入单元会将该地址作为网络报文转发的目标地址,通过这样的配置,虚拟测试主机发起的所有与存储网络服务交互的网络报文都会经过故障注入单元。
(6)虚拟测试主机发起测试用例集中的测试用例,例如互联网小型计算机接口的发现、连接建立、小型计算机系统接口层的读写请求等;故障注入单元对收到的报文进行检测,报文中没有故障标签标的,直接发送到存储网络服务中。
(7)如果报文中发现故障标签,根据预先约定的故障标签,注入网络报文故障,故障类型包括随机小型计算机系统接口层数据包、命令字、报文长度等字节随机修改;网络报文延迟转发、网络报文丢弃等,故障注入类型可根据需求设定。
(8)修改网络报文之后,故障注入单元将故障标签丢弃,重新计数各层的循环校验码数据字段,转发到存储服务。
(9)故障注入单元收到存储网络服务的响应报文直接根据MAC地址,即目标地址进行转发即可。
(10)虚测试主机会收集测试用例及故障注入的测试结果,控制单元负责将收集到的测试数据输出。
其中,虚测试主机即故障注入单元上的引擎及相关虚拟网络设备通过控制中心控制,可灵活配置启动或关闭。不影响正常业务的运行。
如上,通过在系统内部实现虚拟测试主机,利用虚拟网络设备搭建网络环境,实现不依赖硬件环境条件下对存储网络服务的测试验证,节省硬件投入与人力成本;利用虚拟网络设备实现对网络报文故障注入,方便进行系统容错能力的验证。
在本实施例中还提供了一种网络服务的测试装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种网络服务的测试装置,应用于网络存储服务器,该网络存储服务器内部署有虚拟测试主机,虚拟测试主机中存储有用于对网络存储服务器的存储网络服务进行测试的测试用例集,如图7所示,包括:
信息获取模块701,用于获取测试用例集,测试用例集中包括一个或者多个网络报文。
报文截取模块702,用于针对任一网络报文,识别网络报文的报文标签、转发地址及目标地址,并基于转发地址截取网络报文。
故障注入模块703,用于基于报文标签对截取的网络报文进行故障注入,以得到目标网络报文。
服务测试模块704,用于基于目标地址将目标网络报文转发至存储网络服务,以对存储网络服务进行网络服务的测试。
在一些可选的实施方式中,信息获取模块701包括:
服务类型获取单元,用于获取待存储网络服务的服务类型。
报文生成单元,用于基于服务类型生成对存储网络服务进行测试的一个或者多个网络报文,一个或者多个网络报文用于构建测试用例集。
在一些可选的实施方式中,报文生成单元,包括:
模型获取子单元,用于根据服务类型获取目标用例生成模型;
可选的,获取目标用例生成模型时,可以先获取样本数据以及样本数据的标签,标签用于表征存储网络服务的服务类型;将样本数据输入用例生成模型中,得到预测用例;基于预测用例与标签,更新用例生成模型的参数,以确定目标用例生成模型。
用例生成子单元,用于通过目标用例生成模型生成对存储网络服务进行测试的一个或者多个网络报文。
在一些可选的实施方式中,报文截取模块702包括:
地址获取单元,用于获取当前地址。
报文截取单元,用于对比当前地址与转发地址,并基于对比结果,截取网络报文。
在一些可选的实施方式中,报文截取单元包括:
内容比对子单元,用于对比当前地址的内容与转发地址的内容,以得到内容比对结果。
报文截取子单元,用于当内容比对结果表征当前地址与转发地址相同时,截取网络报文。
可选的,可以先获取当前地址所对应的第一运算结果;对转发地址所限定的内容进行内容值运算,得到第二运算结果,并将第二运算结果与第一运算结果进行比对;若第二运算结果与第一运算结果相同,确定内容比对结果表征当前地址与转发地址相同。
可选的,还可以先获取当前地址所对应的存储特征向量;对转发地址所限定的内容进行编码,以获取转发地址的目标特征向量,并将目标特征向量与存储特征向量进行比对;若目标特征向量与存储特征向量相同,确定内容比对结果表征当前地址与转发地址相同。
地址比对子单元,用于当内容比对结果表征当前地址与转发地址不相同时,对比转发地址与目标地址,得到地址比对结果。
报文转发子单元,用于当地址比对结果表征转发地址与目标地址相同时,基于目标地址及报文标签将网络报文转发至存储网络服务,以对存储网络服务进行网络服务的测试。
在一些可选的实施方式中,故障注入模块703包括:
第一故障注入单元,用于获取报文标签的标签类型;当标签类型为故障标签时,基于报文标签中所携带的故障注入信息对截取的网络报文进行故障注入,以得到携带故障的目标网络报文;当标签类型为非故障标签时,基于非故障标签对截取的网络报文进行零故障注入,以得到未携带故障的目标网络报文。
在一些可选的实施方式中,第一故障注入单元包括:
故障类型获取子单元,用于获取故障注入信息中所携带的故障类型,故障类型包括读写故障以及传输故障。
故障事件生成子单元,用于基于故障类型生成随机故障事件。
故障注入子单元,用于基于随机故障事件对网络报文进行故障注入,并在故障注入完成后丢弃报文标签,以得到目标网络报文。
第二故障注入单元,用于获取对网络报文进行校验的校验值;基于报文标签对截取的网络报文的报文内容进行修改,得到修改报文内容;基于修改报文内容对校验值进行更新,以得到第一目标校验值;基于修改报文内容及第一目标校验值,得到目标网络报文。
在一些可选的实施方式中,服务测试模块704包括:
第一报文响应单元,用于获取存储网络服务基于目标网络报文所反馈的第一响应报文;识别第一响应报文的报文反馈地址;基于报文反馈地址确定目标反馈地址,并将第一响应报文转发至目标反馈地址。
在一些可选的实施方式中,第一报文响应单元包括:
第一响应报文生成子单元,用于获取目标网络报文的修改报文内容;基于修改报文内容确定第一校验值;对比第一校验值与第一目标校验值,以得到第一校验结果;当第一校验结果表征第一校验值与第一目标校验值相同时,基于目标网络报文对存储网络服务进行测试,以得第一测试数据;基于第一测试数据生成第一响应报文。
第一地址反馈地址子单元,用于将报文反馈地址与转发地址进行比对,以得到比对结果;当比对结果表征报文反馈地址与转发地址相同时,基于转发地址确定目标反馈地址,并将第一响应报文转发至目标反馈地址。
第二报文响应单元,用于获取存储网络服务基于网络报文所反馈的第二响应报文;识别第二响应报文的报文反馈地址;基于报文反馈地址确定目标反馈地址,并将第二响应报文转发至目标反馈地址。
在一些可选的实施方式中,第二报文响应单元包括:
报文内容获取子单元,用于获取网络报文的报文内容。
校验值确定子单元,用于基于报文内容确定第二校验值。
校验结果确定子单元,用于对比第二校验值与网络报文中携带的第二目标校验值,以得到第二校验结果。
服务测试子单元,用于当第二校验结果表征第二校验值与第二目标校验值相同时,基于目标网络报文对存储网络服务进行测试,以得第二测试内容。
第二响应报文生成子单元,用于基于第二测试内容生成第二响应报文。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的网络服务的测试装置是以功能单元的形式来呈现,这里的单元是指ASIC(ApplicationSpecificIntegratedCircuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施例还提供一种计算机设备,具有上述图7所示的网络服务的测试装置。
请参阅图8,图8是本发明可选实施例提供的一种计算机设备的结构示意图,如图8所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据一种小程序落地页的展现的计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、服务器集群、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (18)

1.一种网络服务的测试方法,其特征在于,应用于网络存储服务器,网络存储服务器内部署有虚拟测试主机,所述虚拟测试主机中存储有用于对所述网络存储服务器的存储网络服务进行测试的测试用例集,所述方法包括:
获取所述测试用例集,所述测试用例集中包括一个或者多个网络报文;
针对任一所述网络报文,识别所述网络报文的报文标签、转发地址及目标地址,并基于所述转发地址截取所述网络报文;
基于所述报文标签对截取的所述网络报文进行故障注入,以得到目标网络报文;
基于所述目标地址将所述目标网络报文转发至所述存储网络服务,以对所述存储网络服务进行网络服务的测试;
获取所述存储网络服务基于所述目标网络报文所反馈的第一响应报文;
识别所述第一响应报文的报文反馈地址;
基于所述报文反馈地址确定目标反馈地址,并将所述第一响应报文转发至所述目标反馈地址;
所述基于所述报文反馈地址确定目标反馈地址,并将所述第一响应报文转发至所述目标反馈地址,包括:
将所述报文反馈地址与所述转发地址进行比对,以得到比对结果;
当所述比对结果表征所述报文反馈地址与所述转发地址相同时,基于所述转发地址确定目标反馈地址,并将所述第一响应报文转发至所述目标反馈地址。
2.根据权利要求1所述的方法,其特征在于,所述基于所述报文标签对截取的所述网络报文进行故障注入,以得到目标网络报文,包括:
获取所述报文标签的标签类型;
当所述标签类型为故障标签时,基于所述报文标签中所携带的故障注入信息对截取的所述网络报文进行故障注入,以得到携带故障的所述目标网络报文;
当所述标签类型为非故障标签时,基于所述非故障标签对截取的所述网络报文进行零故障注入,以得到未携带故障的所述目标网络报文。
3.根据权利要求2所述的方法,其特征在于,所述基于所述报文标签中所携带的故障注入信息对截取的所述网络报文进行故障注入,以得到目标网络报文,包括:
获取所述故障注入信息中所携带的故障类型,所述故障类型包括读写故障以及传输故障;
基于所述故障类型生成随机故障事件;
基于所述随机故障事件对所述网络报文进行故障注入,并在故障注入完成后丢弃所述报文标签,以得到所述目标网络报文。
4.根据权利要求1-3任一所述的方法,其特征在于,所述基于所述报文标签对截取的所述网络报文进行故障注入,以得到目标网络报文,还包括:
获取对所述网络报文进行校验的校验值;
基于所述报文标签对截取的所述网络报文的报文内容进行修改,得到修改报文内容;
基于所述修改报文内容对所述校验值进行更新,以得到第一目标校验值;
基于所述修改报文内容及所述第一目标校验值,得到所述目标网络报文。
5.根据权利要求4所述的方法,其特征在于,生成所述第一响应报文,包括:
获取所述目标网络报文的修改报文内容;
基于所述修改报文内容确定第一校验值;
对比所述第一校验值与所述第一目标校验值,以得到第一校验结果;
当所述第一校验结果表征所述第一校验值与所述第一目标校验值相同时,基于所述目标网络报文对所述存储网络服务进行测试,以得第一测试数据;
基于所述第一测试数据生成所述第一响应报文。
6.根据权利要求1所述的方法,其特征在于,所述基于所述转发地址截取所述网络报文,包括:
获取当前地址;
对比所述当前地址与所述转发地址,并基于对比结果,截取所述网络报文。
7.根据权利要求6所述的方法,其特征在于,所述对比所述当前地址与所述转发地址,并基于对比结果,截取所述网络报文,包括:
对比所述当前地址的内容与所述转发地址的内容,以得到内容比对结果;
当所述内容比对结果表征所述当前地址与所述转发地址相同时,截取所述网络报文。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
当所述内容比对结果表征所述当前地址与所述转发地址不相同时,对比所述转发地址与所述目标地址,得到地址比对结果;
当所述地址比对结果表征所述转发地址与所述目标地址相同时,基于所述目标地址及所述报文标签将所述网络报文转发至所述存储网络服务,以对所述存储网络服务进行网络服务的测试。
9.根据权利要求8所述的方法,其特征在于,所述基于所述目标地址将所述网络报文转发至所述存储网络后,所述方法还包括:
获取所述存储网络服务基于所述网络报文所反馈的第二响应报文;
识别所述第二响应报文的报文反馈地址;
基于所述报文反馈地址确定目标反馈地址,并将所述第二响应报文转发至所述目标反馈地址。
10.根据权利要求9所述的方法,其特征在于,生成所述第二响应报文,包括:
获取所述网络报文的报文内容;
基于所述报文内容确定第二校验值;
对比所述第二校验值与所述网络报文中携带的第二目标校验值,以得到第二校验结果;
当所述第二校验结果表征所述第二校验值与所述第二目标校验值相同时,基于所述目标网络报文对所述存储网络服务进行测试,以得第二测试内容;
基于所述第二测试内容生成所述第二响应报文。
11.根据权利要求7所述的方法,其特征在于,确定所述内容比对结果表征所述当前地址与所述转发地址相同,包括:
获取所述当前地址所对应的第一运算结果;
对所述转发地址所限定的内容进行内容值运算,得到第二运算结果,并将所述第二运算结果与所述第一运算结果进行比对;
若所述第二运算结果与所述第一运算结果相同,确定所述内容比对结果表征所述当前地址与所述转发地址相同。
12.根据权利要求11所述的方法,其特征在于,确定所述内容比对结果表征所述当前地址与所述转发地址相同,包括:
获取所述当前地址所对应的存储特征向量;
对所述转发地址所限定的内容进行编码,以获取所述转发地址的目标特征向量,并将所述目标特征向量与所述存储特征向量进行比对;
若所述目标特征向量与所述存储特征向量相同,确定所述内容比对结果表征所述当前地址与所述转发地址相同。
13.根据权利要求1所述的方法,其特征在于,所述获取所述测试用例集,包括:
获取待所述存储网络服务的服务类型;
基于所述服务类型生成对所述存储网络服务进行测试的一个或者多个网络报文,所述一个或者多个网络报文用于构建所述测试用例集。
14.根据权利要求13所述的方法,其特征在于,所述基于所述服务类型生成对所述存储网络服务进行测试的一个或者多个网络报文,包括:
根据所述服务类型获取目标用例生成模型;
通过所述目标用例生成模型生成对所述存储网络服务进行测试的一个或者多个网络报文。
15.根据权利要求14所述的方法,其特征在于,所述获取目标用例生成模型包括:
获取样本数据以及样本数据的标签,所述标签用于表征存储网络服务的服务类型;
将所述样本数据输入用例生成模型中,得到预测用例;
基于所述预测用例与所述标签,更新所述用例生成模型的参数,以确定目标用例生成模型。
16.一种网络服务的测试装置,其特征在于,应用于网络存储服务器,所述网络存储服务器内部署有虚拟测试主机,所述虚拟测试主机中存储有用于对所述网络存储服务器的存储网络服务进行测试的测试用例集,所述装置包括:
信息获取模块,用于获取所述测试用例集,所述测试用例集中包括一个或者多个网络报文;
报文截取模块,用于针对任一所述网络报文,识别所述网络报文的报文标签、转发地址及目标地址,并基于所述转发地址截取所述网络报文;
故障注入模块,用于基于所述报文标签对截取的所述网络报文进行故障注入,以得到目标网络报文;
服务测试模块,用于基于所述目标地址将所述目标网络报文转发至所述存储网络服务,以对所述存储网络服务进行网络服务的测试;获取所述存储网络服务基于所述目标网络报文所反馈的第一响应报文;识别所述第一响应报文的报文反馈地址;基于所述报文反馈地址确定目标反馈地址,并将所述第一响应报文转发至所述目标反馈地址;
所述基于所述报文反馈地址确定目标反馈地址,并将所述第一响应报文转发至所述目标反馈地址,包括:
将所述报文反馈地址与所述转发地址进行比对,以得到比对结果;当所述比对结果表征所述报文反馈地址与所述转发地址相同时,基于所述转发地址确定目标反馈地址,并将所述第一响应报文转发至所述目标反馈地址。
17.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至15中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至15中任一项所述的方法。
CN202311024273.5A 2023-08-15 2023-08-15 网络服务的测试方法、装置、设备及存储介质 Active CN116743619B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311024273.5A CN116743619B (zh) 2023-08-15 2023-08-15 网络服务的测试方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311024273.5A CN116743619B (zh) 2023-08-15 2023-08-15 网络服务的测试方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN116743619A CN116743619A (zh) 2023-09-12
CN116743619B true CN116743619B (zh) 2023-11-03

Family

ID=87918991

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311024273.5A Active CN116743619B (zh) 2023-08-15 2023-08-15 网络服务的测试方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116743619B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117478570B (zh) * 2023-12-27 2024-03-22 深圳万物安全科技有限公司 基于容器化技术的设备测试方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101872323A (zh) * 2009-04-22 2010-10-27 曾凡平 一种基于虚拟机的故障注入测试方法
CN111831569A (zh) * 2020-07-22 2020-10-27 平安普惠企业管理有限公司 基于故障注入的测试方法、装置、计算机设备和存储介质
CN112637873A (zh) * 2020-12-21 2021-04-09 中国人民解放军军事科学院国防科技创新研究院 基于无人系统无线通信网络的鲁棒性测试方法及装置
CN113645095A (zh) * 2021-08-10 2021-11-12 浪潮思科网络科技有限公司 基于snmptrap告警信息的交换机自动化测试方法、设备及介质
CN115914055A (zh) * 2021-08-06 2023-04-04 贵州白山云科技股份有限公司 分布式网络测试方法、装置、介质及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101872323A (zh) * 2009-04-22 2010-10-27 曾凡平 一种基于虚拟机的故障注入测试方法
CN111831569A (zh) * 2020-07-22 2020-10-27 平安普惠企业管理有限公司 基于故障注入的测试方法、装置、计算机设备和存储介质
CN112637873A (zh) * 2020-12-21 2021-04-09 中国人民解放军军事科学院国防科技创新研究院 基于无人系统无线通信网络的鲁棒性测试方法及装置
CN115914055A (zh) * 2021-08-06 2023-04-04 贵州白山云科技股份有限公司 分布式网络测试方法、装置、介质及设备
CN113645095A (zh) * 2021-08-10 2021-11-12 浪潮思科网络科技有限公司 基于snmptrap告警信息的交换机自动化测试方法、设备及介质

Also Published As

Publication number Publication date
CN116743619A (zh) 2023-09-12

Similar Documents

Publication Publication Date Title
US11614990B2 (en) Automatic correlation of dynamic system events within computing devices
CN111625452B (zh) 流量回放方法和系统
CN109800160B (zh) 机器学习系统中的集群服务器故障测试方法和相关装置
CA2979463A1 (en) Systems and methods for automated determination of network device transiting data attributes
US20170005858A1 (en) Log processing method and client
CN116743619B (zh) 网络服务的测试方法、装置、设备及存储介质
CN114095567B (zh) 数据访问请求的处理方法、装置、计算机设备及介质
CN110764980A (zh) 日志处理方法和装置
CN114327803A (zh) 区块链访问机器学习模型的方法、装置、设备和介质
CN113259428A (zh) 数据访问请求的处理方法、装置、计算机设备及介质
CN111752770A (zh) 服务请求的处理方法、系统、计算机设备和存储介质
CN108427639B (zh) 自动化测试方法、应用服务器及计算机可读存储介质
CN111338688B (zh) 数据长效缓存方法、装置、计算机系统及可读存储介质
US20090271171A1 (en) Emulator device, and a method for testing a test target device
CN112235300B (zh) 云虚拟网络漏洞检测方法、系统、装置及电子设备
Berger et al. Does my bft protocol implementation scale?
CN109189652A (zh) 一种封闭网络终端行为数据的采集方法及系统
CN113708978B (zh) 网络的可用性测试方法、装置、计算机设备和存储介质
CN111488306A (zh) 攻防架构系统及攻防架构系统的搭建方法
CN110719260B (zh) 智能网络安全分析方法、装置及计算机可读存储介质
US8661296B2 (en) Dynamic data store for failed jobs in a systems complex
CN114218098A (zh) 软件系统测试方法、装置、计算机设备及可读存储介质
CN114925406A (zh) 数据校验方法、装置及计算机程序产品
CN117319349A (zh) 域名请求处理方法、装置、设备及存储介质
CN114490407A (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