CN104767655B - 一种模拟结果检测方法及装置 - Google Patents
一种模拟结果检测方法及装置 Download PDFInfo
- Publication number
- CN104767655B CN104767655B CN201510117662.1A CN201510117662A CN104767655B CN 104767655 B CN104767655 B CN 104767655B CN 201510117662 A CN201510117662 A CN 201510117662A CN 104767655 B CN104767655 B CN 104767655B
- Authority
- CN
- China
- Prior art keywords
- network
- analog
- network packet
- slowly
- packet
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种模拟结果检测方法,用以对网络慢请求模拟的结果是否生效进行有效检测。主要包括确定网络慢请求的模拟类型;调取与模拟类型匹配的模拟配置模块,对获得的网络数据包进行网络慢请求模拟;加载检测插件检测对网络慢请求模拟的结果是否生效;其中,所述检测插件是根据所述网络慢请求的模拟类型设置的。还提供一种模拟结果检测装置。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种模拟结果检测方法及装置。
背景技术
一般地,在网络传输过程中,若出现网络慢请求,可能会导致传输网络数据包的应用程序发生错误或者崩溃等情况。其中,网络慢请求,是指在网络数据包传输过程中,所出现的如网络数据包延迟、错误、重复、乱序中的至少一种状态的异常情况;网络数据包是指交换网络里的单个消息被划分得到的数据块,网络数据包可以沿着不同的路径在一个或多个网络中传输,并且在目的地重新组合;应用程序,通常是指为了完成某项或某几项特定任务而被开发运行于各种操作系统之上的程序。
在现有技术中,主要利用模拟控制网络数据包的传输流量的方式来模拟网络慢请求,进而测试应用程序对网络慢请求的自适应能力。
例如,若要在进行网络慢请求场景下测试应用程序,首先,需要经过流量限制(Ingress Policing)丢弃不符合规定的网络数据包,将符合规定的网络数据包由输入多路分配器(Input De-Multiplexing)进行目标地址解析。然后,根据解析结果对网络数据包进行排列,在对网络数据包进行排列时,调取相应的网络故障注入命令(如Linux系统中的netem命令)对网络数据包进行处理,以得到网络慢请求模拟的结果,从而实现对网络慢请求的模拟。视模拟类型的不同,这里所说的网络慢请求模拟的结果,有可能是“网络数据包发生错误”,也可能是“网络数据包被延迟发送”。进一步地,多路分配器在网络故障注入命令执行完毕后,将相应的网络数据包(错误的或者延迟发送的网络数据包等)发送给待测试的应用程序,以测试应用程序对于该结果的自适应能力。
上述现有技术的缺陷在于,缺乏对于网络慢请求模拟的结果是否生效的检测机制,从而导致无法判定应用程序测试结果的可信程度。
发明内容
本申请实施例提供一种模拟结果检测方法,用以对网络慢请求模拟的结果是否生效进行有效检测。
本申请实施例还提供一种模拟结果检测装置,用以对网络慢请求模拟的结果是否生效进行有效检测。
本申请实施例采用下述技术方案:
一种模拟结果检测方法,包括:
确定网络慢请求的模拟类型;
调取与所述模拟类型匹配的模拟配置模块,对获得的网络数据包进行网络慢请求模拟;其中,所述模拟配置模块,是根据网络慢请求的模拟类型对数据包进行处理的可执行文件;
加载检测插件检测对网络慢请求模拟的结果是否生效;其中,所述检测插件是根据所述网络慢请求的模拟类型设置的。
一种模拟结果检测装置,包括:
确定单元,用于确定网络慢请求的模拟类型;
调取单元,用于调取与所述模拟类型匹配的模拟配置模块,对获得的网络数据包进行网络慢请求模拟;其中,所述模拟配置模块,是根据网络慢请求的模拟类型对数据包进行处理的可执行文件;
加载单元,用于加载检测插件检测对网络慢请求模拟的结果是否生效;其中,所述检测插件是根据所述网络慢请求的模拟类型设置的。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
由于可以利用调取预设置的配置文件对所获取的网络数据包进行网络慢请求模拟,并且根据对应的配置文件可以加载相应的检测插件对网络慢请求模拟的结果是否生效做检测,因此避免了现有技术中缺乏对网络慢请求模拟的结果是否生效进行有效检测的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为一种模拟结果检测方法的流程图;
图2为一种应用程序的网络慢请求模拟测试的方法的流程图;
图3为一种模拟结果检测装置的结构图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
实施例1
为了解决对网络慢请求模拟的结果是否生效进行有效检测的问题,本申请实施例1首先提供一种模拟结果检测方法。其中,本申请的执行主体可以是客户端、服务器或第三方设备等。该方法的实现流程图如图1所示,主要包括下述步骤:
步骤11、确定网络慢请求的模拟类型。
其中,网络慢请求的模拟类型可以至少包含以下一种或多种:
1)对网络数据包的收发的延迟模拟。
这里提出的“网络数据包的收发的延迟”,是指网络数据包的预定发送时间被延迟。例如,以客户端为网络慢请求模拟的结果的生成及发送方,而目标主机为网络慢请求模拟的结果的接收方为例,正常情况下,客户端接收到的网络数据包会即刻向目标主机发送,而对于网络数据包的收发的延迟模拟,即要使得客户端接收到的网络数据包延迟一段时间才发送。其中,目标主机可以是服务器或是客户端(以下所提及目标主机均以此为例)。
2)对网络数据包的收发的错误模拟的类型。
这里提出的“网络数据包的收发的错误”,可以是指应用程序在实际运行中,可能会出现对所接收到的网络数据包发送错误的情况。例如,客户端在发送网络数据包时,会出现在时间上发错或发错目标主机等情况。
3)对网络数据包的收发的重复模拟的类型。
这里提出的“网络数据包的收发的重复”,可以是指应用程序在实际运行中,可能会出现对所接收到的网络数据包重复发送的情况。例如,客户端在发送网络数据包时,会出现某一时段内重复发送相同网络数据包。
4)对网络数据包的收发的乱序模拟的类型。
这里提出的“网络数据包的收发的乱序”,可以是指应用程序在实际运行中,可能会出现对所接收到的网络数据包乱序发送的情况。例如,客户端在发送网络数据包时,会打乱网络数据包原本正确的发送顺序,使网络数据包的发送产生乱序。
5)对网络数据包的收发的丢包模拟的类型。
这里提出的“网络数据包的收发的丢包”,可以是指应用程序在实际运行中,会出现对所接收到的网络数据包无法全部发送到目标主机,即出现部分网络数据包丢失。例如,客户端在向目标主机发送网络数据包时,会出现一部分网络数据包发生丢失而没有到达目标主机。
步骤12、调取与网络慢请求的模拟类型匹配的模拟配置模块,对获得的网络数据包进行网络慢请求模拟。
其中,模拟配置模块可以是根据网络慢请求的模拟类型对网络数据包进行处理的可执行文件。
具体而言,假设网络慢请求的模拟类型为“网络数据包的收发的延迟模拟”,那么当客户端向目标主机发送网络数据包时,可以在客户端的应用程序运行之后,加载并运行与网络数据包的收发的延迟模拟相应的模拟配置模块,使模拟配置模块对网络数据包进行与该模拟类型相匹配的延迟发送操作,实现将网络数据包延迟发送给目标主机。
以下介绍常见的几种模拟类型对应的模拟配置模块所能实现的功能:
1)针对网络数据包的收发的延迟模拟的类型而言,该类型相应的模拟配置模块的功能可以设置为:把网络数据包拦截指定时间后再进行发送。
例如,假设客户端向服务端发送刷新网页的请求数据包,则通过运行与该类型相应的模拟配置模块,可以使客户端将待发送“刷新网页的请求”的网络数据包,延迟5分钟后再向服务端发送。
2)针对网络数据包的收发的错误模拟的类型而言,该类型相应的模拟配置模块的功能可以设置为:随机修改指定比例的网络数据包后发送。
例如,假设客户端中存在待发送的100个“刷新网页的请求”的网络数据包,则通过运行与该类型相应的模拟配置模块,可以从这100个待发送的网络数据包中随机取30个网络数据包进行修改,然后,将修改的30个网络数据包与其他未修改的70个网络数据包一同发送给服务端。
3)针对网络数据包的收发的重复模拟的类型而言,该类型相应的模拟配置模块的功能可以设置为:随机复制指定比例的网络数据包,并与正常传输的网络数据包一同发送。
例如,假设客户端中存在待发送的100个“刷新网页的请求”的网络数据包,则通过运行与该类型相应的模拟配置模块,可以从这100个待发送的网络数据包中随机取30个网络数据包进行复制,然后,将复制的30个网络数据包与正常发送的100个网络数据包一同发送给服务端。
4)针对网络数据包的收发的乱序模拟的类型而言,该类型相应的模拟配置模块的功能可以设置为:随机选取指定比例的网络数据包在延迟指定时间后发送。
例如,假设客户端向服务端待发送100个“刷新网页的请求”的网络数据包,则通过运行与该类型相应的模拟配置模块,可以从这100个待发送的网络数据包中随机取30个网络数据包进行延迟5分钟,然后再将这随机取30个网络数据包向服务端发送,而其他未做延迟发送的70个网络数据包是以正常时间发送的。
5)针对网络数据包的收发的丢包模拟的类型而言,该类型相应的模拟配置模块的功能可以设置为:随机丢弃指定比例的网络数据包。
例如,假设客户端向服务端待发送100个“刷新网页的请求”的网络数据包,则通过运行与该类型相应的模拟配置模块,可以从这100个网络数据包中随机取30个网络数据包进行丢弃,只向服务器端发送未丢弃的70个网络数据包。
步骤13、加载检测插件检测对网络慢请求模拟的结果是否生效。
具体而言,检测插件可以是通过封装网络命令或通信链接句柄等方式设置的可执行文件。该检测插件的功能在于实现对网络慢请求模拟的结果是否生效。通过加载并运行该检测插件,即可实现该功能。
进一步而言,加载检测插件检测对网络慢请求模拟的结果是否生效,具体可以包括:根据检测插件的检测结果与预设模拟结果的匹配程度,确定对网络慢请求模拟的结果是否生效。其中,“匹配程度”可分为严格匹配和非严格匹配;严格匹配是指检测结果(该结果可以为一项或两项以上的检测指标,如网络数据包丢包量、网络数据包延迟发送时间等)与预设模拟结果中所包括的检测指标全部匹配;非严格匹配是指检测结果与预设模拟结果中所包括的检测指标部分匹配。换言之,若加载检测插件的检测结果与预设模拟结果(全部检测指示或部分检测指标)相匹配,则可确定为网络慢请求模拟的结果生效;若加载检测插件的检测结果与预设模拟结果(全部检测指示或部分检测指标)不匹配,则可确定为网络慢请求模拟的结果不生效。
例如,检测“网络数据包的收发的丢包模拟”的模拟结果是否生效中,假设预设模拟结果的检测指标为:客户端以延迟1秒的时间向服务器发送网络数据包,并且网络数据包丢包的数量为30个;“网络数据包的收发的丢包模拟”过程为:客户端延迟1秒后向服务端发送100个“刷新网页的请求”的网络数据包,则通过运行与该类型相应的模拟配置模块,可以从这100个网络数据包中随机取30个网络数据包进行丢弃,只向服务器端发送未丢弃的70个网络数据包。检测插件的检测结果为:在客户端向服务器发送网络数据包时,延迟1秒向服务器发送70个网络数据包(服务器有30个网络数据包没有收到);那么该检测结果与预设模拟结果全部匹配,则可以确定为本次模拟结果为生效。
又或者,假设预设模拟结果的检测指标为:网络数据包存在丢包情况(此处假设延迟发送时间为(0-1)秒),丢包数量的范围区间(40-80);这时只要检测插件的检测结果为:在延迟向服务器发送网络数据包时,服务器有30个网络数据包没有收到;那么该检测结果与预设模拟结果的检测指示中的“网络数据包有丢包情况”一项指标匹配(即部分匹配,可以不与丢包数量的范围区间(40-80)相匹配),则可以确定为本次模拟结果为生效。
在一种实施方式中,该检测插件中还可以包含检测规则和输入输出接口。
其中,检测规则是指对网络慢请求模拟的结果是否生效进行检测所使用的方式或执行流程。检测规则可以是根据不同的网络慢请求模拟的类型而制定的。
例如,若网络慢请求模拟的类型为“网络数据包的收发的延迟模拟”和“网络数据包的收发的丢失模拟”,则相应的检测规则可以利用封装Linux系统中的ping命令的方式来设置;若网络慢请求的模拟类型为“网络数据包的收发的重复模拟”和“网络数据包的收发的乱序模拟”,则相应的检测规则可以用封装Socket连接句柄功能的方式来设置。上述中ping命令和Socket连接句柄的执行流程(规则)就可以确定为检测插件的检测规则。
输入输出接口中的“输入接口”是指用来与模拟配置模块进行连接的接口,同时也是检测规则的开始检测网络慢请求模拟的结果是否生效的起始点,“输出接口”是指用来输出对网络慢请求的模拟的结果是否生效的检测结果的输出位置。
在一种实施方式中,可以采用下述步骤A1-步骤A2的方式设置检测插件:
步骤A1、根据网络慢请求的模拟类型,确定相应的检测规则。
步骤A2、根据该检测规则,确定输入输出接口与模拟配置模块之间的连接关系。
针对上述步骤A1-步骤A2进一步说明,假设客户端接收到网络数据包后,配置“网络数据包的收发的延迟模拟”的模拟配置模块,然后再向目标主机发送经过模拟配置模块处理过的网络数据包;此时可加载相应的检测插件(即利用ping命令)来检测本次“网络数据包的收发的延迟模拟”是否生效。换言之,利用检测插件可以检测出客户端每秒向目标主机发送的网络数据包的个数、时间,响应状态等相关信息。
比如,针对“网络数据包的收发的延迟模拟”类型的模拟结果检测而言,假设模拟结果为:客户端待发送的100个网络数据包是延迟30秒后向目标主机发送的;利用ping命令的对上述模拟结果进行检测的结果为:Sent(发包数)=100;time(响应时间)=40;TTL(生存时间)=30,其中,TTL表示限定网络数据包是存储30秒后发送的(即,延迟30秒了);通过检测结果可以获知到针对本次“网络数据包的收发的延迟模拟”类型的模拟结果是生效的。
又比如,针对“网络数据包的收发的丢失模拟”类型的模拟结果检测而言,假设“网络数据包的收发的丢失模拟”的模拟结果为:使客户端向目标主机发送100个网络数据包时丢失10个网络数据包;如果Socket检测出客户端向目标主机发送的网络数据包中丢失了10个网络数据包(即,Socket会检测出客户端缓存区中待发送的到目标主机的网络数据包有100个,但实际发送到目标主机时为90个网络数据包),那么可以确定出针对本次“网络数据包的收发的丢失模拟”类型的模拟结果是生效的。
采用实施例1提供的上述方法,由于可以利用调取预设置的配置文件对所获取的网络数据包进行网络慢请求模拟,并且根据对应的配置文件可以加载相应的检测插件对网络慢请求模拟的结果是否生效做检测,因此避免了现有技术中缺乏对网络慢请求模拟的结果是否生效进行有效检测的问题。
此外,为了便于用户在模拟网络慢请求的模拟过程中,随时控制模拟配置模块的应用时机,本申请实施例还提供一种针对模拟配置模块的控制机制。
具体而言,可以在调取与所述模拟类型匹配的模拟配置模块,对获得的网络数据包进行网络慢请求模拟的过程中,若监控到处理后的网络数据包的流量大于预设流量值时,则向用户显示“可关闭模拟配置模块”的提示,若后续接收到用户根据该提示触发的流量控制指令,则使当前正在运行的模拟配置模块停止运行;或者,若监控到处理后的网络数据包的流量大于预设流量值时,则自动执行关闭当前正在运行的模拟配置模块。
进一步地,在停止运行模拟配置模块之后,若监控到处理后的网络数据包的流量小于预设流量值时,则向用户显示“可开启模拟配置模块”的提示,若后续接收到用户根据该再次触发的流量控制指令,则开启已停止的模拟配置模块。或者,若监控到处理后的网络数据包的流量小于预设流量值时,则自动执行开启当前已关闭的模拟配置模块。
此处需要说明的是:在应用程序测试过程中,由于被测试的应用程序与所调取的网络慢请求的模拟配置模块都是独立运行的,因此,在对网络慢请求的模拟配置模块进行开启或关闭时,并不影响当前被测试的应用程序的进行。
在一种实施方式中,在步骤12之前,还可以根据用户需求获取指定网络数据包,以便在后续更多模拟场景中进行测试,图1所示的该流程还可以进一步包括步骤B1-步骤B3:
步骤B1、提取所接收的网络数据包携带的标识信息。
其中,标识信息可以包含网络数据包的协议、目标地址和/或目标主机端口等。
步骤B2、将该标识信息与预存标识信息进行匹配。
其中,预存标识信息可以是指根据不同模拟测试的目的(或需求),预先存储的网络数据包的传输协议、目标地址和/或目标主机端口等标识信息。
步骤B3、从接收的网络数据包中,获取包含与预存标识信息匹配的标识信息的网络数据包。
例如,若用户需要获取到网络数据包的传输协议为:用户数据报协议协议(UserDatagram Protocol,UDP)、目标地址(IP地址)为192.168.1.0,目标主机端口为25等具有这样标识信息的网络数据包对应用程序进行网络慢请求的模拟。那么就需要在众多网络数据包中利用预存标识信息进行过滤来获取到用户所需要的网络数据包,以便为后续的应用程序进行网络慢请求的模拟测试。
需要说明的是,实施例1所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤11和步骤12的执行主体可以为设备1,步骤13的执行主体可以为设备2;又比如,步骤11的执行主体可以为设备1,步骤12和步骤13的执行主体可以为设备2;等等。
实施例2
实施例2提供一种应用程序的网络慢请求模拟测试的方法,其中,此处为了便于理解本申请,假设执行主体为客户端与A服务端之外的某第三方设备。该方法的实现流程示意图如图2所示,具体如下:
步骤21、抓取客户端向A服务端发送的“刷新网页请求”的网络数据包。
其中,客户端可能会在同一时间段内向A服务端发送“软件升级请求”的网络数据包、“更新应用程序请求”的网络数据包和/或“刷新网页请求”的网络数据包等,此处为了便于理解本申请所提出的技术方案,假设第三方设备抓取的网络数据包为“刷新网页请求”的网络数据包。
具体抓取方法,可以根据客户端处理“刷新网页请求”的网络数据包所选择的网卡、输入的目标主机和目标主机的目标端口等信息来确定的,其中,由于网卡是可以处理及缓存网络数据包的,因此,在后续的模拟测试过程中,模拟配置模块可以直接与网卡的输入或输出接口进行配置。
其中,此处是假设目标主机为A服务端(以下均称A服务器)。
此处需要特别说明的是:实施例2仅以线下静态测试的方式来说明本申请技术方案,因此,会根据不同模拟测试的目的(或需求),确定是否需要执行步骤21之后再执行后续的测试步骤。
在实际应用中(线上动态测试)也可以随机抓取网络数据包,即可以不执行步骤21,而是直接随机抓取网络数据包,并按照模拟类型对随机抓取的网络数据包进行与后续步骤22类似的处理,此处不再赘述。
步骤22、将抓取到的“刷新网页请求”的网络数据包输入到网络数据收发延迟模拟的模拟配置模块中,以执行“网络数据收发延迟模拟”。
步骤23、执行该模拟配置模块使抓取到的“刷新网页请求”的网络数据包延迟10分钟后,向A服务器发送。
步骤24、加载并运行具有检测“网络数据收发延迟模拟”是否生效的检测插件。
具体而言,当检测插件检测出客户端在发送“刷新网页请求”的网络数据包时,是延迟10分钟后再向A服务端发送的,那么就可以得到对“刷新网页请求”的网络数据包的网络数据收发延迟模拟是生效的。
当检测插件检测出客户端在发送“刷新网页请求”的网络数据包时,是以正常时间发送的,那么就可以确定为对本次“刷新网页请求”的网络数据包的网络数据收发延迟模拟是不生效的。
采用实施例2提供的上述方法,由于可以利用调取预设置的配置文件对所获取的网络数据包进行网络慢请求模拟,并且根据对应的配置文件可以加载相应的检测插件对网络慢请求模拟的结果是否生效做检测,因此避免了现有技术中缺乏对网络慢请求模拟的结果是否生效进行有效检测的问题。
此外,在上述网络慢请求的模拟测试过程中,还可以根据客户端选择的网卡,随时查看模拟的状态及进程,又或者,随时删除所执行的模拟操作。
实施例3
实施例3提供一种模拟结果检测装置,用以对网络慢请求模拟的结果是否生效进行有效检测。该装置的具体结构如图3所示,包括确定单元31、调取单元32、加载单元33。各单元的主要功能如下:
确定单元31,可以用于确定网络慢请求的模拟类型;
调取单元32,可以用于调取与所述模拟类型匹配的模拟配置模块,对获得的网络数据包进行网络慢请求模拟;所述模拟配置模块,是根据网络慢请求的模拟类型对数据包进行处理的可执行文件。
加载单元33,可以用于加载检测插件检测对网络慢请求模拟的结果是否生效;其中,所述检测插件是根据所述网络慢请求的模拟类型设置的。
在一种实施方式中,该应用程序的测试装置,可以包括:提取单元、匹配单元和获取单元,具体介绍如下:
提取单元,用于调取与所述模拟类型对应的模拟配置模块,对获得的网络数据包进行网络慢请求模拟之前,提取所接收的网络数据包携带的标识信息;其中,所述标识信息包含网络数据包的传输协议、目标地址和/或目标设备端口;
匹配单元,用于将所述标识信息与预存标识信息进行匹配;
获取单元,用于从接收的网络数据包中,获取包含与预存标识信息匹配的标识信息的网络数据包。
其中,该检测插件包含检测规则和输入输出接口,则采用下述方式设置所述检测插件:根据网络慢请求的模拟类型,确定相应的检测规则;根据该检测规则,确定所述输入输出接口与所述模拟配置模块之间的连接关系。
在一种实施例中,该应用程序的测试装置,还可以包括:接收单元和停止单元,具体介绍如下:
接收单元,用于在调取与所述模拟类型匹配的模拟配置模块,对获得的网络数据包进行网络慢请求模拟的过程中,接收流量控制指令;
停止单元,用于停止执行所述调取的模拟配置模块。
其中,上述所提及的网络慢请求的模拟类型,至少包含以下一种:
对网络数据包的收发的延迟模拟;
对网络数据包的收发的错误模拟;
对网络数据包的收发的重复模拟;
对网络数据包的收发的丢包模拟;
对网络数据包的收发的乱序模拟。
采用实施例3提供的上述装置,由于可以利用调取预设置的配置文件对所获取的网络数据包进行网络慢请求模拟,并且根据对应的配置文件可以加载相应的检测插件对网络慢请求模拟的结果是否生效做检测,因此避免了现有技术中缺乏对网络慢请求模拟的结果是否生效进行有效检测的问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (8)
1.一种模拟结果检测方法,其特征在于,包括:
确定网络慢请求的模拟类型;
调取与所述模拟类型匹配的模拟配置模块,对获得的网络数据包进行网络慢请求模拟;其中,所述模拟配置模块,是根据网络慢请求的模拟类型对数据包进行处理的可执行文件;
加载检测插件检测对网络慢请求模拟的结果是否生效;其中,所述检测插件是根据所述网络慢请求的模拟类型设置的;
其中,网络慢请求的模拟类型,至少包含以下一种:
对网络数据包的收发的延迟模拟;
对网络数据包的收发的错误模拟;
对网络数据包的收发的重复模拟;
对网络数据包的收发的丢包模拟;
对网络数据包的收发的乱序模拟。
2.如权利要求1所述的方法,其特征在于,调取与所述模拟类型对应的模拟配置模块,对获得的网络数据包进行网络慢请求模拟之前,包括:
提取所接收的网络数据包携带的标识信息;其中,所述标识信息包含网络数据包的目标地址和传输协议和/或目标设备端口;
将所述标识信息与预存标识信息进行匹配;
从接收的网络数据包中,获取包含与预存标识信息匹配的标识信息的网络数据包。
3.如权利要求2所述的方法,其特征在于,所述检测插件包含检测规则和输入输出接口,则采用下述方式设置所述检测插件:
根据所述模拟类型,确定相应的检测规则;
根据所述检测规则,确定所述输入输出接口与所述模拟配置模块之间的连接关系。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
在调取与所述模拟类型匹配的模拟配置模块,对获得的网络数据包进行网络慢请求模拟的过程中,接收流量控制指令;
停止执行所述调取的模拟配置模块。
5.一种模拟结果检测装置,其特征在于,包括:
确定单元,用于确定网络慢请求的模拟类型;
调取单元,用于调取与所述模拟类型匹配的模拟配置模块,对获得的网络数据包进行网络慢请求模拟;其中,所述模拟配置模块,是根据网络慢请求的模拟类型对数据包进行处理的可执行文件;
加载单元,用于加载检测插件检测对网络慢请求模拟的结果是否生效;其中,所述检测插件是根据所述网络慢请求的模拟类型设置的;
其中,网络慢请求的模拟类型,至少包含以下一种:
对网络数据包的收发的延迟模拟;
对网络数据包的收发的错误模拟;
对网络数据包的收发的重复模拟;
对网络数据包的收发的丢包模拟;
对网络数据包的收发的乱序模拟。
6.如权利要求5所述的装置,其特征在于,所述装置,包括:
提取单元,用于调取与所述模拟类型对应的模拟配置模块,对获得的网络数据包进行网络慢请求模拟之前,提取所接收的网络数据包携带的标识信息;其中,所述标识信息包含网络数据包的目标地址和传输协议和/或目标设备端口;
匹配单元,用于将所述标识信息与预存标识信息进行匹配;
获取单元,用于从接收的网络数据包中,获取包含与预存标识信息匹配的标识信息的网络数据包。
7.如权利要求6所述的装置,其特征在于,所述检测插件包含检测规则和输入输出接口,则采用下述方式设置所述检测插件:
根据所述模拟类型,确定相应的检测规则;
根据所述检测规则,确定所述输入输出接口与所述模拟配置模块之间的连接关系。
8.如权利要求7所述的装置,其特征在于,所述装置还包括:
接收单元,用于在调取与所述模拟类型匹配的模拟配置模块,对获得的网络数据包进行网络慢请求模拟的过程中,接收流量控制指令;
停止单元,用于停止执行所述调取的模拟配置模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510117662.1A CN104767655B (zh) | 2015-03-17 | 2015-03-17 | 一种模拟结果检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510117662.1A CN104767655B (zh) | 2015-03-17 | 2015-03-17 | 一种模拟结果检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104767655A CN104767655A (zh) | 2015-07-08 |
CN104767655B true CN104767655B (zh) | 2018-09-21 |
Family
ID=53649282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510117662.1A Active CN104767655B (zh) | 2015-03-17 | 2015-03-17 | 一种模拟结果检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104767655B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105763362A (zh) * | 2016-01-20 | 2016-07-13 | 上海学登信息科技有限公司 | 网络环境模拟系统 |
CN109271310B (zh) * | 2017-07-18 | 2022-07-05 | 北京京东尚科信息技术有限公司 | 移动应用程序网络功能的开发测试方法和装置 |
CN109088789A (zh) * | 2018-07-19 | 2018-12-25 | 青岛萨纳斯智能科技股份有限公司 | 一种网络环境模拟测试工具及测试方法 |
CN110825542B (zh) * | 2018-08-07 | 2023-06-23 | 深圳爱捷云科技有限公司 | 一种分布式系统中故障盘的检测方法、装置及检测系统 |
CN109086211B (zh) * | 2018-08-22 | 2023-04-07 | 平安科技(深圳)有限公司 | 模拟网络异常处理方法、装置、计算机设备及存储介质 |
CN109495336A (zh) * | 2018-08-28 | 2019-03-19 | 优视科技(中国)有限公司 | 网络异常测试方法及装置、计算机设备及可读介质 |
CN109121017B (zh) * | 2018-09-12 | 2021-08-20 | 视联动力信息技术股份有限公司 | 一种视联网网络质量评估方法和装置 |
CN111475359B (zh) * | 2020-04-13 | 2023-05-30 | 腾讯音乐娱乐科技(深圳)有限公司 | 多消息交互场景下的系统测试方法、装置和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1964247A (zh) * | 2006-12-04 | 2007-05-16 | 华为技术有限公司 | 模拟网络损伤的方法和装置 |
CN1972219A (zh) * | 2005-11-23 | 2007-05-30 | 杭州华为三康技术有限公司 | 网络性能测试方法、系统及网络设备 |
CN103051500A (zh) * | 2013-01-04 | 2013-04-17 | 北京邮电大学 | 一种服务网络系统的测试方法及系统 |
EP2733576A1 (en) * | 2012-11-20 | 2014-05-21 | Immersion Corporation | System and method for simulated physical interactions with haptic effects |
-
2015
- 2015-03-17 CN CN201510117662.1A patent/CN104767655B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1972219A (zh) * | 2005-11-23 | 2007-05-30 | 杭州华为三康技术有限公司 | 网络性能测试方法、系统及网络设备 |
CN1964247A (zh) * | 2006-12-04 | 2007-05-16 | 华为技术有限公司 | 模拟网络损伤的方法和装置 |
EP2733576A1 (en) * | 2012-11-20 | 2014-05-21 | Immersion Corporation | System and method for simulated physical interactions with haptic effects |
CN103051500A (zh) * | 2013-01-04 | 2013-04-17 | 北京邮电大学 | 一种服务网络系统的测试方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104767655A (zh) | 2015-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104767655B (zh) | 一种模拟结果检测方法及装置 | |
CN104978261B (zh) | 应用程序的测试方法、装置及系统 | |
CN110351156B (zh) | 一种测试方法和装置 | |
US9888048B1 (en) | Supporting millions of parallel light weight data streams in a distributed system | |
CN106354544A (zh) | 虚拟机创建方法、系统以及主机 | |
CN107995304A (zh) | 一种基于cookie的会话保持方法及装置 | |
CN108632110A (zh) | 设备性能测试方法、系统、计算机设备和存储介质 | |
CN109743222A (zh) | 一种数据测试方法及相关设备 | |
CN109951494A (zh) | 仿真数据处理方法、装置、仿真设备及存储介质 | |
CN106559485B (zh) | 一种控制服务器关机的方法及装置 | |
CN113867782A (zh) | 灰度发布方法、装置、计算机设备和存储介质 | |
CN104239125B (zh) | 对象处理方法、分布式文件系统及客户端设备 | |
CN110224897A (zh) | 应用程序的弱网络测试方法、装置、移动设备及存储介质 | |
CN105991442B (zh) | 报文转发方法及装置 | |
CN107547505A (zh) | 一种报文处理方法及装置 | |
CN105281987B (zh) | 路由器及数据上传方法、装置、系统 | |
CN107634871A (zh) | 一种连通性测试方法、装置及系统 | |
CN106506281B (zh) | 车辆收费通信测试方法、网络设备及系统 | |
US9191332B2 (en) | Methods, systems, and computer readable media for updating sequence and acknowledgment numbers associated with replay packets | |
CN110515819A (zh) | 性能测试方法、电子设备、调度系统及介质 | |
EP3097662B1 (en) | Methods, systems and computer readable media for testing network devices using simulated application traffic | |
CN112822208A (zh) | 一种基于区块链的物联网设备识别方法及系统 | |
CN110022332B (zh) | 一种超文本传输安全协议代理方法、装置、设备及介质 | |
CN108470125B (zh) | 一种基于虚拟桌面的ole重定向方法及系统 | |
CN109688011A (zh) | 一种基于OpenStack的agent选择方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |