CN114095433A - 一种报文发送方法、装置、电子设备及介质 - Google Patents
一种报文发送方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN114095433A CN114095433A CN202111412271.4A CN202111412271A CN114095433A CN 114095433 A CN114095433 A CN 114095433A CN 202111412271 A CN202111412271 A CN 202111412271A CN 114095433 A CN114095433 A CN 114095433A
- Authority
- CN
- China
- Prior art keywords
- stream
- sent
- unit time
- period
- sequence
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000004891 communication Methods 0.000 claims abstract description 21
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012163 sequencing technique Methods 0.000 claims description 8
- 238000012360 testing method Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种报文发送方法、装置、电子设备及介质,涉及通信技术领域,可以避免影响测试结果。该方法应用于网络测试仪,该方法包括:获取每条流单位时间内的待发送报文总数量,所述单位时间内包括预设数量的整数周期;针对每条流,将该条流单位时间内待发送报文总数量与所述预设数量的比值,作为该条流在每个整数周期内待发送报文的第一数量;根据每条流对应的第一数量,确定每条流在单个整数周期内的第一数量个顺序值,各条流的顺序值在所述单个整数周期内分散分布;在单位时间包括的每个整数周期内,按照每条流的顺序值向待测设备发送每条流的待发送报文。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种报文发送方法、装置、电子设备及介质。
背景技术
网络测试仪是一种用于测试网络设备报文处理能力的专用仪器,网络测试仪可以将用户配置的以太网报文发送到网络设备,然后通过网络设备返回的报文分析被测试的网络设备的性能。
一个网络测试仪端口可支持多条流的发送,用户可以为一个端口配置多条流,并配置每条流对应的发送报文的具体参数,比如报文长度、发送速率、报文内容等。网络测试仪在向网络设备发送报文时,可以根据用户配置的参数计算出每条流单位时间内需发送的报文数量,进而按照单位时间内需发送的报文数量向网络设备发送每条流的报文。
目前,在单位时内可以进行多轮发送,每个小轮为每条流发送的报文数量取决于单位时间内各条流需发送的报文数量中的最小值。例如,如图1所示,假设用户配置了三条流,分别S0、S2和S4,单位时间内S0、S2和S4包含的报文数分别为7、2和11,将各流号按照报文数量从小到大的顺序重新定义,则流号为S0、S1和S2的3条流单位时间内需要发送的报文分别为2、7和11。在小轮1分别为每条流发送2条报文,则在小轮1结束后S0、S1和S2未发送报文个数分别为0、5、9。在小轮2分别为S1和S2发送5条报文,在小轮3为S2发送4条报文。
具体的发送顺序如图2所示,即将单位周期分为了3个小轮,从图2中可以看出,S0的报文在小轮1被全部发送,S1的报文在小轮1和小轮2被全部发送,到小轮3时,全部发送S2的报文。可见,对多条流在单位时间内发送的速率不均匀,比如,S0的报文应该在单位时间内均匀发送,但是按照上述方案,S0的报文在小轮1(相当于三分之一的单位时间)就被发送完成,导致S0在短时间内的利用率过高,导致网络设备短时间内的报文处理压力过大,可能导致网络设备丢包或错包,影响测试结果。
发明内容
本申请实施例的目的在于提供一种报文发送方法、装置、电子设备及介质,以解决网络测试仪为各个流发送的报文不均匀影响测试结果的问题。具体技术方案如下:
第一方面,本申请实施例公开了一种报文发送方法,所述方法应用于网络测试仪,所述方法包括:
获取每条流单位时间内的待发送报文总数量,所述单位时间内包括预设数量的整数周期;
针对每条流,将该条流单位时间内待发送报文总数量与所述预设数量的比值,作为该条流在每个整数周期内待发送报文的第一数量;
根据每条流对应的第一数量,确定每条流在单个整数周期内的第一数量个顺序值,各条流的顺序值在所述单个整数周期内分散分布;
在单位时间包括的每个整数周期内,按照每条流的顺序值向待测设备发送每条流的待发送报文。
在一种可能的实现方式中,所述根据每条流对应的第一数量,确定每条流在单个整数周期内的第一数量个顺序值,包括:
针对每条流,将1至该条流对应的第一数量分别作为每个顺序值的分子,将该条流对应的第一数量作为每个顺序值的分母,得到该条流在单个整数周期内的第一数量个顺序值。
在一种可能的实现方式中,在任意一条流在单位时间内待发送报文总数量与所述预设数量不能整除的情况下,所述单位时间内还包括一个余数周期,所述余数周期在所述预设数量的整数周期之后;在所述获取每条流单位时间内的待发送报文总数量之后,所述方法还包括:
针对每条流,将该条流单位时间内待发送报文总数量与所述预设数量相除得到的余数,作为该条流在所述余数周期内待发送报文的第二数量;
在单位时间包括的每个整数周期内,按照每条流的顺序值向待测设备发送每条流的待发送报文之后,所述方法还包括:
在所述单位时间包括的余数周期内,向所述待测设备发送每条流对应的第二数量的报文。
在一种可能的实现方式中,在所述针对每条流,将该条流单位时间内待发送报文总数量与所述预设数量相除得到的余数,作为该条流在所述余数周期内待发送报文的第二数量之后,所述方法还包括:
针对每条流,将1至该条流对应的第二数量分别作为每个顺序值的分子,将该条流对应的第二数量作为每个发送顺序值的分母,得到该条流在所述余数周期内的第二数量个顺序值;
所述在所述单位时间包括的余数周期内,向所述待测设备发送每条流对应的第二数量的报文,包括:
在所述单位时间包括的余数周期内,按照每条流在余数周期内的发送顺序值,向待测设备发送每条流的待发送报文。
在一种可能的实现方式中,在所述针对每条流,将1至该条流对应的第一数量分别作为每个顺序值的分子,将该条流对应的第一数量作为每个顺序值的分母,得到该条流在单个整数周期内的第一数量个顺序值之后,所述方法还包括:
将每个流的流标识,按照所有流在单个整数周期内顺序值的大小顺序排列,得到每个整数周期内的第一流标识序列;
所述在单位时间包括的每个整数周期内,按照每条流的顺序值向待测设备发送每条流的待发送报文,包括:
在单位时间包括的每个整数周期内,按照所述第一流标识序列发送每条流的待发送报文。
在一种可能的实现方式中,在针对每条流,将1至该条流对应的第二数量分别作为每个顺序值的分子,将该条流对应的第二数量作为每个发送顺序值的分母,得到该条流在所述余数周期内的第二数量个顺序值之后,所述方法还包括:
将每个流的流标识,按照所有流在所述余数周期内顺序值的大小顺序排列,得到所述余数周期内的第二流标识序列;
所述在所述单位时间包括的余数周期内,按照每条流在余数周期内的发送顺序值,向待测设备发送每条流的待发送报文,包括:
在所述单位时间包括的余数周期内,按照所述第二流标识序列,向所述待测设备发送每条流的待发送报文。
第二方面,本申请实施例提供了一种报文发送装置,所述装置应用于网络测试仪,所述装置包括:
获取模块,用于获取每条流单位时间内的待发送报文总数量,所述单位时间内包括预设数量的整数周期;
第一确定模块,用于针对每条流,将该条流单位时间内待发送报文总数量与所述预设数量的比值,作为该条流在每个整数周期内待发送报文的第一数量;以及根据每条流对应的第一数量,确定每条流在单个整数周期内的第一数量个顺序值,各条流的顺序值在所述单个整数周期内分散分布;
发送模块,用于在单位时间包括的每个整数周期内,按照每条流的顺序值向待测设备发送每条流的待发送报文。
在一种可能的实现方式中,所述第一确定模块,具体用于针对每条流,将1至该条流对应的第一数量分别作为每个顺序值的分子,将该条流对应的第一数量作为每个顺序值的分母,得到该条流在单个整数周期内的第一数量个顺序值。
在一种可能的实现方式中,在任意一条流在单位时间内待发送报文总数量与所述预设数量不能整除的情况下,所述单位时间内还包括一个余数周期,所述余数周期在所述预设数量的整数周期之后;所述装置还包括:
第二确定模块,用于针对每条流,将该条流单位时间内待发送报文总数量与所述预设数量相除得到的余数,作为该条流在所述余数周内待发送报文的第二数量;
所述发送模块,还用于在所述单位时间包括的余数周期内,向所述待测设备发送每条流对应的第二数量的报文。
在一种可能的实现方式中,所述第二确定模块,还用于针对每条流,将1至该条流对应的第二数量分别作为每个顺序值的分子,将该条流对应的第二数量作为每个发送顺序值的分母,得到该条流在所述余数周期内的第二数量个顺序值;
所述发送模块,还用于在所述单位时间包括的余数周期内,按照每条流在余数周期内的发送顺序值,向待测设备发送每条流的待发送报文。
在一种可能的实现方式中,所述装置还包括:
第一排序模块,用于将每个流的流标识,按照所有流在单个整数周期内顺序值的大小顺序排列,得到每个整数周期内的第一流标识序列;
所述发送模块,具体用于在单位时间包括的每个整数周期内,按照所述第一流标识序列发送每条流的待发送报文。
在一种可能的实现方式中,所述装置还包括:
第二排序模块,用于将每个流的流标识,按照所有流在所述余数周期内顺序值的大小顺序排列,得到所述余数周期内的第二流标识序列;
所述发送模块,还用于在所述单位时间包括的余数周期内,按照所述第二流标识序列,向所述待测设备发送每条流的待发送报文。
第三方面,本申请实施例公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的报文发送方法步骤。
第四方面,本申请实施例公开了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的报文发送方法步骤。
第五方面,本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面中所述的报文发送方法
采用上述技术方案,单位时间内包括预设数量的整数周期,针对每条流,将该条流单位时间内待发送报文总数量与预设数量的比值,作为该条流在每个整数周期内待发送报文的第一数量,也就是将该条流单位时间内的待发送报文平均分配到了每个整数周期,避免了一条流的所有报文在一个整数周期内发完。然后根据每条流对应的第一数量,确定每条流在单个整数周期内的第一数量个顺序值,因各条流的顺序值在单个整数周期内分散分布,而非连续分布,所以可以避免连续发送一条流的多个报文,使得在每个整数周期内,各条流的报文也尽可能均匀地发送,避免了因发送不均匀导致被测设备处理压力大的问题,减少对测试结果的影响。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为相关技术中为各条流确定报文发送顺序的方法的示例性示意图;
图2为相关技术中的各条流的发送时序图;
图3为本申请实施例提供的一种报文发送方法的流程图;
图4为本申请实施例提供的另一种报文发送方法的流程图;
图5为本申请实施例中N=2时为各条流确定报文发送顺序的方法的示例性示意图;
图6为本申请实施例中N=2时各条流的发送时序图;
图7为本申请实施例中N=1时为各条流确定报文发送顺序的方法的示例性示意图;
图8为本申请实施例中N=1时各条流的发送时序图;
图9为本申请实施例提供的一种报文发送装置的结构示意图;
图10为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种报文发送方法,该方法应用于网络测试仪,如图3所示,该方法包括:
S301、获取每条流单位时间内的待发送报文总数量,单位时间内包括预设数量的整数周期。
其中,单位时间可以为1秒。每条流单位时间内的待发送报文总数量由用户的配置决定。
本申请实施例中预先设置了单位时间内包括的整数周期的数量N,该预设数量可基于实际测试需求设置。
网络测试仪可以将单位时间划分为预设数量的整数周期,在本申请实施例中,可将单位时间作为一个大轮,整数周期也可称为整数小轮,即一个大轮包括预设数量的整数小轮。
S302、针对每条流,将该条流单位时间内待发送报文总数量与预设数量的比值,作为该条流在每个整数周期内待发送报文的第一数量。
其中,第一数量=该条流单位时间内待发送报文总数量/N,也就是说,在每个整数周期内需要为该条流发送第一数量的报文。
例如,预设数量N=2,已配置了三条流,分别为S0、S1、S2。S0、S1、S2单位时间内待发送报文总数量分别为2、4、6,则可确定S0、S1、S2对应的第一数量分别为1、2、3,即在每个小轮为S0发送1条报文,为S2发送2条报文,为S3发送3条报文。
S303、根据每条流对应的第一数量,确定每条流在单个整数周期内的第一数量个顺序值,各条流的顺序值在所述单个整数周期内分散分布。
其中,每条流在不同的整数周期内的顺序值相同。各条流的顺序值在单个整数周期内分散分布,可以避免一条流的多个顺序值连续,从而避免连续发一条流的多个报文,使得各条流在单个整数周期内的分布尽量均匀。
在一种实施方式中,针对每条流,将1至该条流对应的第一数量分别作为每个顺序值的分子,将该条流对应的第一数量作为每个顺序值的分母,得到该条流在单个整数周期内的第一数量个顺序值。
例如,S0、S1、S2对应的第一数量分别为1、2、3,则在单个整数周期内,S0有1个顺序值,S1有2个顺序值,S2有3个顺序值。
因S0在每个整数周期内只发送一个报文,S0在每个整数周期内的发送顺序值为1/1。
S1在每个整数周期内的发送顺序值为1/2和2/2。
S2在每个整数周期内的发送顺序值为1/3、2/3和3/3。
在另一种实施方式中,为了尽可能保证各条流的顺序值在单个整数周期内均匀分布,还可以按照流标识轮流确定各条流的顺序值。
例如,S0、S1、S2对应的第一数量分别为1、2、3,则按照流标识从小到大的顺序,为每条流依次分配一个顺序值,即S0、S1、S2的顺序值分别为1、2、3。
在完成此次分配后,还需要为S1分配1个顺序值,为S2分配2个顺序值,则按流标识从小到大的顺序,为S1和S2分配的顺序值分别为4、5。
在完成此次分配后,还需要为S2分配1个顺序值,则为S2分配的顺序值为6。
如此,S0的1个顺序值为1,S1的2个顺序值分别为2、4,S2的3个顺序值为3、5、6。
上述“分散分布”是指尽可能使得一条流的顺序值不连续,即尽可能避免连续发送同一条流的多个报文。在每条流对应的第一数量不相同的情况下,也允许出现同一条流的少量顺序值连续的情况。
比如,按照上述例子确定的S0的1个顺序值为1,S1的2个顺序值分别为2、4,S2的3个顺序值为3、5、6,可见S2中有两个顺序值是连续的,但是S0、S1、S2的顺序值在单个整数周期内是相对分散的。
S304、在单位时间包括的每个整数周期内,按照每条流的顺序值向待测设备发送每条流的待发送报文。
其中,可以按照所有流的顺序值从大到小的顺序发送待发送报文,或者也可以按照所有流的顺序值从小到大的顺序发送待发送报文。
比如,若按照从小到大的顺序,则为1/3(S2)、1/2(S1)、2/3(S2)、1/1(S0)、2/2(S1)、3/3(S2),在单位时间内包括的每个整数周期内都按照该顺序发送报文。
采用该方法,单位时间内包括预设数量的整数周期,针对每条流,将该条流单位时间内待发送报文总数量与预设数量的比值,作为该条流在每个整数周期内待发送报文的第一数量,也就是将该条流单位时间内的待发送报文平均分配到了每个整数周期,避免了一条流的所有报文在一个整数周期内发完。然后根据每条流对应的第一数量,确定每条流在单个整数周期内的第一数量个顺序值,因各条流的顺序值在单个整数周期内分散分布,而非连续分布,所以可以避免连续发送一条流的多个报文,使得在每个整数周期内,各条流的报文也尽可能均匀地发送,避免了因发送不均匀导致被测设备处理压力大的问题,减少对测试结果的影响。
在本申请另一实施例中,在任意一条流在单位时间内待发送报文总数量与预设数量不能整除的情况下,单位时间内还包括一个余数周期,该余数周期在预设数量的整数周期之后,即单位时间由预设数量的整数周期和1个余数周期组成。
在此基础上,如图4所示,在上述S301、获取每条流单位时间内的待发送报文总数量之后,该方法还包括:
S401、针对每条流,将该条流单位时间内待发送报文总数量与预设数量相除得到的余数,作为该条流在余数周期内待发送报文的第二数量。
其中,第二数量=该条流单位时间内待发送报文总数量%N,其中“%”代表取余运算。
在单位时间内还包括余数周期的情况下,在上述S304之后,即在完成单位时间内各整数周期内的报文发送后,可以在单位时间包括的余数周期内,向待测设备发送每条流对应的第二数量的报文。
在一种实施方式中,在单位时间包括的余数周期内,可以依次向待测设备发送每条流对应的第二数量报文,比如,按照流号从小到大的顺序发送,或者按照流号从大到小的顺序发送。或者随机向待测设备发送各条流对应的第二数量的报文。
假设一共有两条流,第一条流对应的第二数量为2,第二条流对应的第二数量为3,则可以先发送第一条流的2个报文,再发送第二条流的3个报文。或者每次随机从第一条流和第二条流中选择一个报文进行发送。
在另一种实施方式中,可以先确定每条流在余数周期内的顺序值,进而在余数周期内按照每条流的顺序值进行发送。即在上述S401之后,还需执行S402。
S402、针对每条流,将1至该条流对应的第二数量分别作为每个顺序值的分子,将该条流对应的第二数量作为每个发送顺序值的分母,得到该条流在余数周期内的第二数量个顺序值。
需要说明的是,本申请实施例不限制S401-S402与S302-S303之间的执行顺序,S401-S402可以与S302-S303并行执行,或者先执行S401-S402,或者先执行S302-S303,图4中以先执行S302-S303,再执行S401-S402为例。
进而,上述在单位时间包括的余数周期内,向待测设备发送每条流对应的第二数量的报文,具体可以实现为S403。
S403、在单位时间包括的余数周期内,按照每条流在余数周期内的发送顺序值,向待测设备发送每条流的待发送报文。
假设预设数量为2,则在经过两个整数周期后,在余数周期内向待测设备发送每条流剩余的待发送报文。
采用该方法,对于任意一条流,在每个整数周期内为该条流发送的报文数量相同,使得每条流的报文在单位时间内尽量被均匀发送,避免短时间内集中发送一条流的报文导致待测设备丢包、错包。如果该条流在单位时间内待发送报文总数量不能被预设数量整除,则可将剩余的余数数量的报文在余数轮周期内发送。并且,在余数轮周期内也是按照顺序值尽量均匀地发送每条流的报文,避免了一条流的报文在短时间内被集中发送的问题,可以进一步避免待测设备出现丢包、错包的问题。
在本申请实施例中,网络测试仪的中央处理器(Central Processing Unit,CPU)可以对每条流的待发送报文进行排序,并将排序结果参数下发到现场可编程门阵列(Field-Programmable Gate Array,FPGA),进而FPGA根据排序结果参数进行流的发送。即在上述S303、根据每条流对应的第一数量,确定每条流在单个整数周期内的第一数量个顺序值之后,该方法还包括:
将每个流的流标识,按照所有流在单个整数周期内发送顺序值的大小顺序排列,得到每个整数周期内的第一流标识序列。
其中,该大小顺序可以为从小到大的顺序,也可以为从大到小的顺序。若按照从小到大的顺序排列为1/3(S3)、1/2(S2)、1/1(S0)、2/2(S2)、3/3(S3),则第一流标识序列为S2、S1、S0、S1、S2。网络测试仪的CPU可将该第一流标识序列下发到FPGA。
进而,上述S304、在单位时间包括的每个整数周期内,按照每条流的顺序值向待测设备发送每条流的待发送报文,可以实现为:
在单位时间包括的每个整数周期内,按照第一流标识序列发送每条流的待发送报文。
例如,第一流标识序列为S2、S1、S0、S1、S2,则网络测试仪的FPGA可根据该第一流标识序列,在单位时间包括的每个整数周期内,先发送S2的一个报文,然后发送S1的一个报文,然后发送S0的一个报文,然后发送S1的一个报文,然后发送S2的一个报文。
需要说明的是,在每个单位周期内,均可按照相同的顺序发送各条流的报文。
同理,上述S402,在针对每条流,将1至该条流对应的第二数量分别作为每个顺序值的分子,将该条流对应的第二数量作为每个发送顺序值的分母,得到该条流在余数周期内的第二数量个顺序值之后,该方法还包括:
将每个流的流标识,按照所有流在余数周期内顺序值的大小顺序排列,得到余数周期内的第二流标识序列。
基于此,上述S403、在单位时间包括的余数周期内,按照每条流在余数周期内的发送顺序值,向待测设备发送每条流的待发送报文,可以实现为:
在单位时间包括的余数周期内,按照第二流标识序列,向待测设备发送每条流的待发送报文。
以单位时间包括2个整数周期和1个余数周期为例,则在每个单位时间内,先在第一个整数周期内按照第一流标识序列发送各条流的待发送报文,然后在第二整数周期内按照第一流标识序列发送各条流的待发送报文,最后在余数周期内按照第二流标识序列发送各条流的待发送报文。
采用本申请实施例,按照上述第一流标识序列和第二流标识序列分别在整数周期和余数周期内发送报文,可以使得每条流在单位时间内发送的速率更加均匀,避免出现短时间内连续为一条流发送多个报文导致测试压力不均匀。从而避免了因网络测试仪在短时间内发出的报文超出用户配置的发送速率,因待测设备如果短时间内接收到一条流的过多报文会来不及处理,这种情况下会将报文缓存,但是缓存区被填满后就会丢包,本申请实施例避免了待测设备短时间内的报文处理压力过大,降低了丢包的可能性,从而减小了对测试结果的影响。
下面结合具体的例子对本申请实施例提供的报文发送方法进行说明,将一个单位时间称为一个大轮,将上述整数周期称为整数小轮,将上述余数周期称为余数轮。
可预先设置整数小轮个数N=2,并根据用户配置确定每条流在每个整数轮的待发送报文个数,一条流在每个整数小轮的待发送报文个数=该条流单位时间内待发送报文总数/2。如果不能整除,则设置一个余数轮,余数数量的报文在余数轮进行发送。
如图5所示,假设S0、S2和S4包含的待发送报文总数量分别为7、2和11。
当N取值为2时,单位时间内包括2个整数小轮。
首先,计算每条流在每个整数小轮的待发送报文数量以及在余数轮的待发送报文数量。
S0:7/2=3……1;
S2:2/2=1;
S4:11/2=5……1;
可知,S0在每一整数小轮的待发送报文数量为3,S2在每一整数小轮的待发送报文数量为1,S4在每一整数小轮的待发送报文数量为5,其中,S0和S4各有1个报文需要在余数轮发送。
然后确定每条流在每个整数小轮的顺序值以及在余数轮的顺序值。
在每个整数小轮:S0的顺序值包括1/3、2/3、3/3,S2的顺序值包括1/1,S4的顺序值包括1/5、2/5、3/5、4/5、5/5。
按照顺序值从小到大排序得到1/5(S4)、1/3(S0)、2/5(S4)、3/5(S4)、2/3(S0)、4/5(S4)、3/3(S0)、1/1(S2)、5/5(S4)。
在余数轮:S0的顺序值为1/1,S4的顺序值为1/1。
按照顺序值从小到大排序得到:1/1(S0)、1/1(S4)。
则如图6所示,整数小轮内的发送顺序为:S4、S0、S4、S4、S0、S4、S0、S2、S4。
余数轮发送顺序为:S0、S4。
最终一个大轮内的发送顺序为:S4、S0、S4、S4、S0、S4、S0、S2、S4、S4、S0、S4、S4、S0、S4、S0、S2、S4、S0、S4。
再例如,如图7所示,N取值为1,S0、S2和S4包含的待发送报文总数量分别为7、2和11。
N取值为1,即,整数小轮个数为1,无余数轮。
首先,计算每条流在每个整数小轮的待发送报文数量以及在余数轮的待发送报文数量。
S0:7/1=7;
S2:2/1=2;
S4:11/1=11;
可知,S0在整数小轮的待发送报文数量为7,S2在整数小轮的待发送报文数量为2,S4在整数小轮的待发送报文数量为11,其中,各条流均无多余报文需要在余数轮进行发送。
然后确定每条流在整数小轮的顺序值。
在整数小轮:S0的顺序值包括1/7、2/7、3/7、4/7、5/7、6/7、7/7,S2的顺序值包括1/2、2/2,S4的顺序值包括1/11、2/11、3/11、4/11、5/11、6/11、7/11、8/11、9/11、10/11、11/11。
如图7所示,将顺序值按照从小到大排序得到1/11(S4)、1/7(S0)、2/11(S4)、3/11(S4)、2/7(S0)、4/11(S4)、3/7(S0)、5/11(S4)、1/2(S2)、6/11(S4)、4/7(S0)、7/11(S4)、5/7(S0)、8/11(S4)、9/11(S4)、6/7(S0)、10/11(S4)、7/7(S0)、2/2(S2)、11/11(S4);
则整数小轮内的发送顺序为:S4、S0、S4、S4、S0、S4、S0、S4、S2、S4、S0、S4、S0、S4、S4、S0、S4、S0、S2、S4;
如图8所示,因为只有一个整数轮且没有余数轮所以最终一个大轮发送顺序为:S4、S0、S4、S4、S0、S4、S0、S4、S2、S4、S0、S4、S0、S4、S4、S0、S4、S0、S2、S4。
对应于上述方法实施例,本申请实施例还提供一种报文发送装置,该装置应用于网络测试仪,如图9所示,该装置包括:
获取模块901,用于获取每条流单位时间内的待发送报文总数量,所述单位时间内包括预设数量的整数周期;
第一确定模块902,用于针对每条流,将该条流单位时间内待发送报文总数量与所述预设数量的比值,作为该条流在每个整数周期内待发送报文的第一数量;以及根据每条流对应的第一数量,确定每条流在单个整数周期内的第一数量个顺序值,各条流的顺序值在所述单个整数周期内分散分布;
发送模块903,用于在单位时间包括的每个整数周期内,按照每条流的顺序值向待测设备发送每条流的待发送报文。
在本申请另一实施例中,第一确定模块902,具体用于针对每条流,将1至该条流对应的第一数量分别作为每个顺序值的分子,将该条流对应的第一数量作为每个顺序值的分母,得到该条流在单个整数周期内的第一数量个顺序值。
在本申请另一实施例中,在任意一条流在单位时间内待发送报文总数量与所述预设数量不能整除的情况下,所述单位时间内还包括一个余数周期,该余数周期在预设数量的整数周期之后;该装置还包括:
第二确定模块,用于针对每条流,将该条流单位时间内待发送报文总数量与所述预设数量相除得到的余数,作为该条流在所述余数周内待发送报文的第二数量;
发送模块903,还用于在单位时间包括的余数周期内,向待测设备发送每条流对应的第二数量的报文。
在本申请另一实施例中,第二确定模块,还用于针对每条流,将1至该条流对应的第二数量分别作为每个顺序值的分子,将该条流对应的第二数量作为每个发送顺序值的分母,得到该条流在所述余数周期内的第二数量个顺序值;
发送模块903,还用于在单位时间包括的余数周期内,按照每条流在余数周期内的发送顺序值,向待测设备发送每条流的待发送报文。
在本申请另一实施例中,该装置还包括:
第一排序模块,用于将每个流的流标识,按照所有流在单个整数周期内顺序值的大小顺序排列,得到每个整数周期内的第一流标识序列;
发送模块903,具体用于在单位时间包括的每个整数周期内,按照所述第一流标识序列发送每条流的待发送报文。
在本申请另一实施例中,该装置还包括:
第二排序模块,用于将每个流的流标识,按照所有流在所述余数周期内顺序值的大小顺序排列,得到所述余数周期内的第二流标识序列;
发送模块903,还用于在单位时间包括的余数周期内,按照所述第二流标识序列,向所述待测设备发送每条流的待发送报文。
本申请实施例还提供了一种电子设备,如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信,
存储器1003,用于存放计算机程序;
处理器1001,用于执行存储器1003上所存放的程序时,实现上述方法实施例中的方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一报文发送方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一报文发送方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (14)
1.一种报文发送方法,其特征在于,所述方法应用于网络测试仪,所述方法包括:
获取每条流单位时间内的待发送报文总数量,所述单位时间内包括预设数量的整数周期;
针对每条流,将该条流单位时间内待发送报文总数量与所述预设数量的比值,作为该条流在每个整数周期内待发送报文的第一数量;
根据每条流对应的第一数量,确定每条流在单个整数周期内的第一数量个顺序值,各条流的顺序值在所述单个整数周期内分散分布;
在单位时间包括的每个整数周期内,按照每条流的顺序值向待测设备发送每条流的待发送报文。
2.根据权利要求1所述的方法,其特征在于,所述根据每条流对应的第一数量,确定每条流在单个整数周期内的第一数量个顺序值,包括:
针对每条流,将1至该条流对应的第一数量分别作为每个顺序值的分子,将该条流对应的第一数量作为每个顺序值的分母,得到该条流在单个整数周期内的第一数量个顺序值。
3.根据权利要求1或2所述的方法,其特征在于,在任意一条流在单位时间内待发送报文总数量与所述预设数量不能整除的情况下,所述单位时间内还包括一个余数周期,所述余数周期在所述预设数量的整数周期之后;在所述获取每条流单位时间内的待发送报文总数量之后,所述方法还包括:
针对每条流,将该条流单位时间内待发送报文总数量与所述预设数量相除得到的余数,作为该条流在所述余数周期内待发送报文的第二数量;
在单位时间包括的每个整数周期内,按照每条流的顺序值向待测设备发送每条流的待发送报文之后,所述方法还包括:
在所述单位时间包括的余数周期内,向所述待测设备发送每条流对应的第二数量的报文。
4.根据权利要求3所述的方法,其特征在于,在所述针对每条流,将该条流单位时间内待发送报文总数量与所述预设数量相除得到的余数,作为该条流在所述余数周期内待发送报文的第二数量之后,所述方法还包括:
针对每条流,将1至该条流对应的第二数量分别作为每个顺序值的分子,将该条流对应的第二数量作为每个发送顺序值的分母,得到该条流在所述余数周期内的第二数量个顺序值;
所述在所述单位时间包括的余数周期内,向所述待测设备发送每条流对应的第二数量的报文,包括:
在所述单位时间包括的余数周期内,按照每条流在余数周期内的发送顺序值,向待测设备发送每条流的待发送报文。
5.根据权利要求2所述的方法,其特征在于,在所述针对每条流,将1至该条流对应的第一数量分别作为每个顺序值的分子,将该条流对应的第一数量作为每个顺序值的分母,得到该条流在单个整数周期内的第一数量个顺序值之后,所述方法还包括:
将每个流的流标识,按照所有流在单个整数周期内顺序值的大小顺序排列,得到每个整数周期内的第一流标识序列;
所述在单位时间包括的每个整数周期内,按照每条流的顺序值向待测设备发送每条流的待发送报文,包括:
在单位时间包括的每个整数周期内,按照所述第一流标识序列发送每条流的待发送报文。
6.根据权利要求4所述的方法,其特征在于,在针对每条流,将1至该条流对应的第二数量分别作为每个顺序值的分子,将该条流对应的第二数量作为每个发送顺序值的分母,得到该条流在所述余数周期内的第二数量个顺序值之后,所述方法还包括:
将每个流的流标识,按照所有流在所述余数周期内顺序值的大小顺序排列,得到所述余数周期内的第二流标识序列;
所述在所述单位时间包括的余数周期内,按照每条流在余数周期内的发送顺序值,向待测设备发送每条流的待发送报文,包括:
在所述单位时间包括的余数周期内,按照所述第二流标识序列,向所述待测设备发送每条流的待发送报文。
7.一种报文发送装置,其特征在于,所述装置应用于网络测试仪,所述装置包括:
获取模块,用于获取每条流单位时间内的待发送报文总数量,所述单位时间内包括预设数量的整数周期;
第一确定模块,用于针对每条流,将该条流单位时间内待发送报文总数量与所述预设数量的比值,作为该条流在每个整数周期内待发送报文的第一数量;以及根据每条流对应的第一数量,确定每条流在单个整数周期内的第一数量个顺序值,各条流的顺序值在所述单个整数周期内分散分布;
发送模块,用于在单位时间包括的每个整数周期内,按照每条流的顺序值向待测设备发送每条流的待发送报文。
8.根据权利要求7所述的装置,其特征在于,
所述第一确定模块,具体用于针对每条流,将1至该条流对应的第一数量分别作为每个顺序值的分子,将该条流对应的第一数量作为每个顺序值的分母,得到该条流在单个整数周期内的第一数量个顺序值。
9.根据权利要求7或8所述的装置,其特征在于,在任意一条流在单位时间内待发送报文总数量与所述预设数量不能整除的情况下,所述单位时间内还包括一个余数周期,所述余数周期在所述预设数量的整数周期之后;所述装置还包括:
第二确定模块,用于针对每条流,将该条流单位时间内待发送报文总数量与所述预设数量相除得到的余数,作为该条流在所述余数周内待发送报文的第二数量;
所述发送模块,还用于在所述单位时间包括的余数周期内,向所述待测设备发送每条流对应的第二数量的报文。
10.根据权利要求9所述的装置,其特征在于,
所述第二确定模块,还用于针对每条流,将1至该条流对应的第二数量分别作为每个顺序值的分子,将该条流对应的第二数量作为每个发送顺序值的分母,得到该条流在所述余数周期内的第二数量个顺序值;
所述发送模块,还用于在所述单位时间包括的余数周期内,按照每条流在余数周期内的发送顺序值,向待测设备发送每条流的待发送报文。
11.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第一排序模块,用于将每个流的流标识,按照所有流在单个整数周期内顺序值的大小顺序排列,得到每个整数周期内的第一流标识序列;
所述发送模块,具体用于在单位时间包括的每个整数周期内,按照所述第一流标识序列发送每条流的待发送报文。
12.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第二排序模块,用于将每个流的流标识,按照所有流在所述余数周期内顺序值的大小顺序排列,得到所述余数周期内的第二流标识序列;
所述发送模块,还用于在所述单位时间包括的余数周期内,按照所述第二流标识序列,向所述待测设备发送每条流的待发送报文。
13.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111412271.4A CN114095433B (zh) | 2021-11-25 | 2021-11-25 | 一种报文发送方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111412271.4A CN114095433B (zh) | 2021-11-25 | 2021-11-25 | 一种报文发送方法、装置、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114095433A true CN114095433A (zh) | 2022-02-25 |
CN114095433B CN114095433B (zh) | 2024-02-23 |
Family
ID=80304474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111412271.4A Active CN114095433B (zh) | 2021-11-25 | 2021-11-25 | 一种报文发送方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114095433B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2261472C1 (ru) * | 2004-03-29 | 2005-09-27 | Военный университет связи | Способ мониторинга безопасности автоматизированных систем |
CN102802200A (zh) * | 2012-08-23 | 2012-11-28 | 福建星网锐捷网络有限公司 | 一种数据报文的发送方法和设备 |
WO2016197822A1 (zh) * | 2016-01-05 | 2016-12-15 | 中兴通讯股份有限公司 | 报文发送方法和装置 |
WO2018036173A1 (zh) * | 2016-08-23 | 2018-03-01 | 华为技术有限公司 | 一种网络负载均衡方法、设备及系统 |
CN109428801A (zh) * | 2017-08-23 | 2019-03-05 | 北京华为数字技术有限公司 | 报文发送方法及装置 |
CN109936514A (zh) * | 2019-04-29 | 2019-06-25 | 新华三信息安全技术有限公司 | 一种报文处理方法和装置 |
CN110248379A (zh) * | 2019-06-04 | 2019-09-17 | 京信通信系统(中国)有限公司 | 无线局域网中基站的性能测试方法及装置 |
CN111324536A (zh) * | 2020-02-19 | 2020-06-23 | 香港乐蜜有限公司 | 一种压力测试方法、装置、电子设备及存储介质 |
-
2021
- 2021-11-25 CN CN202111412271.4A patent/CN114095433B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2261472C1 (ru) * | 2004-03-29 | 2005-09-27 | Военный университет связи | Способ мониторинга безопасности автоматизированных систем |
CN102802200A (zh) * | 2012-08-23 | 2012-11-28 | 福建星网锐捷网络有限公司 | 一种数据报文的发送方法和设备 |
WO2016197822A1 (zh) * | 2016-01-05 | 2016-12-15 | 中兴通讯股份有限公司 | 报文发送方法和装置 |
WO2018036173A1 (zh) * | 2016-08-23 | 2018-03-01 | 华为技术有限公司 | 一种网络负载均衡方法、设备及系统 |
CN109428801A (zh) * | 2017-08-23 | 2019-03-05 | 北京华为数字技术有限公司 | 报文发送方法及装置 |
CN109936514A (zh) * | 2019-04-29 | 2019-06-25 | 新华三信息安全技术有限公司 | 一种报文处理方法和装置 |
CN110248379A (zh) * | 2019-06-04 | 2019-09-17 | 京信通信系统(中国)有限公司 | 无线局域网中基站的性能测试方法及装置 |
CN111324536A (zh) * | 2020-02-19 | 2020-06-23 | 香港乐蜜有限公司 | 一种压力测试方法、装置、电子设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
UTKARSH SRIVASTAVA 等: "Flexible time management in data stream systems", 《PROCEEDING OF TWENTY-THIRD ACM SIGMOD-SIGACT-SIGART SYMPOSIUM PRINCIPLES OF DATABASE SYSTEMS》 * |
UTKARSH SRIVASTAVA等: "Flexible time management in data stream systems", 《PROCEEDING OF TWENTY-THIRD ACM SIGMOD-SIGACT-SIGART SYMPOSIUM PRINCIPLES OF DATABASE SYSTEMS》 * |
刘建伟;王蕾;谭南林;焦风川;高小明;: "轨道车辆MVB通信网络的实时特性", 中国铁道科学, no. 06 * |
Also Published As
Publication number | Publication date |
---|---|
CN114095433B (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109302346B (zh) | 一种传输数据流量的方法和装置 | |
CN110209549B (zh) | 数据处理方法、相关装置、相关设备和系统 | |
CN108600034B (zh) | 业务压力管理方法、装置、设备、系统及存储介质 | |
CN109005085A (zh) | 一种服务可用性监控系统、方法、装置及设备 | |
US9311148B2 (en) | Pseudo-random hardware resource allocation through the plurality of resource controller based on non-repeating sequence of index list entries | |
WO2020164476A1 (zh) | 数据下载的方法及相关装置 | |
CN111045933A (zh) | 一种回归策略更新方法、装置、存储介质及终端设备 | |
CN112231187B (zh) | 微服务异常分析方法及装置 | |
CN110650042A (zh) | 电力通信网健康度评价方法及终端设备 | |
CN107330680A (zh) | 红包控制方法、装置、计算机设备及计算机可读存储介质 | |
CN113595926A (zh) | 基于数据中台的api数据传输方法、装置、设备和介质 | |
CN108549578A (zh) | 一种中断聚合装置及其方法 | |
WO2013118044A1 (en) | Managing a network connection for use by a plurality of application program processes | |
CN114095433A (zh) | 一种报文发送方法、装置、电子设备及介质 | |
CN113645145A (zh) | 负载均衡方法、装置、网络设备及计算机可读存储介质 | |
CN108418730B (zh) | 网络流量测试方法、装置、设备以及计算机可读存储介质 | |
CN108880930B (zh) | 一种网络环路的检测方法及设备 | |
US11829632B2 (en) | Metrics aggregation | |
CN110222084B (zh) | 热点设备监控信息的上报方法及装置、存储介质、终端 | |
CN109344049B (zh) | 测试数据处理系统的方法和装置 | |
CN116932417B (zh) | 一种性能调优方法及装置 | |
CN113747506A (zh) | 一种资源调度方法、装置和网络系统 | |
CN111597034A (zh) | 处理器资源调度方法、装置、终端设备及计算机存储介质 | |
JP6551049B2 (ja) | 帯域制御回路、演算処理装置、および装置の帯域制御方法 | |
CN109634789B (zh) | 基于数据中心的Full Mesh性能测试方法及装置 |
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 |