CN114338434A - 激励报文发送方法、装置、电子设备及存储介质 - Google Patents

激励报文发送方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114338434A
CN114338434A CN202011025659.4A CN202011025659A CN114338434A CN 114338434 A CN114338434 A CN 114338434A CN 202011025659 A CN202011025659 A CN 202011025659A CN 114338434 A CN114338434 A CN 114338434A
Authority
CN
China
Prior art keywords
packet
queue
sending
packet sending
time
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.)
Pending
Application number
CN202011025659.4A
Other languages
English (en)
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.)
Sanechips Technology Co Ltd
Original Assignee
Sanechips 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 Sanechips Technology Co Ltd filed Critical Sanechips Technology Co Ltd
Priority to CN202011025659.4A priority Critical patent/CN114338434A/zh
Priority to PCT/CN2021/112335 priority patent/WO2022062758A1/zh
Publication of CN114338434A publication Critical patent/CN114338434A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks

Landscapes

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

Abstract

本申请提供一种激励报文发送方法、装置、电子设备及存储介质。该方法获取初始参数,所述初始参数包括队列个数、激励报文的包长、发包速率、包长变化属性和发包速率变化属性;根据所述初始参数确定扫描周期以及每个队列的发包参数,其中,所述发包参数包括首包发送时刻和发包间隔;根据所述扫描周期以及每个队列的发包参数发送所述激励报文。通过根据每个队列的发包参数进行扫描,在满足队列的发包时刻时可以及时发送激励报文,实现对每个队列发送激励报文的流量的精确控制,并且支持可变的包长和发包速率,可实时动态地产生精确流量的激励报文流。

Description

激励报文发送方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术,例如涉及一种激励报文发送方法、装置、电子设备及存储介质。
背景技术
在路由转发芯片的设计过程中,通常采用计算机软件仿真技术来模拟和验证其设计的正确性,采用SystemC语言可支持系统级、行为描述级和寄存器转换级的硬件建模。在搭建好数据通信的模型之后,需要对搭建的模型进行验证,主要验证方式是在模型入口施加激励报文,目的是为待验证的模型提供仿真数据,然后记录模型的输出并与期望值比较,从而验证模型设计的正确性。
目前所采用的激励报文产生器,也即发包器,首先初始化激励报文各个字段的值,然后将这些字段组合成激励报文,最后将激励报文组成报文流输入至待验证的模型中。实际应用中,报文流是一种无序但又有一定的流量大小的数据流。为了控制报文流的流量,需要预先设置每个报文流中激励报文的包长以及流量大小,在发包过程中实时获取当前队列的实际流量,并与预设的期望流量比较,决定是在当前时刻发包,还是等待一定延时后再发包。在此过程中,仅依据预期的流量进行发包控制,无法保证发包的精确性,并且,每个报文流的包长和流量大小都是预设的固定值,在变包长和变速率的情况下,发包的精确性更低。
发明内容
本申请提供一种激励报文发送方法、装置、电子设备及存储介质,以提高发包的精确性。
本申请实施例提供一种激励报文发送方法,包括:
获取初始参数,所述初始参数包括队列个数、激励报文的包长、发包速率、包长变化属性和发包速率变化属性;
根据所述初始参数确定扫描周期以及每个队列的发包参数,所述发包参数包括首包发送时刻和发包间隔;
根据所述发包参数发送所述激励报文。
本申请实施例还提供了一种激励报文发送装置,包括:
初始参数获取模块,设置为获取初始参数,所述初始参数包括队列个数、激励报文的包长、发包速率、包长变化属性和发包速率变化属性;
发包参数确定模块,设置为根据所述初始参数确定扫描周期以及每个队列的发包参数,其中,所述发包参数包括首包发送时刻和发包间隔;
发送模块,设置为根据所述发包参数发送所述激励报文。
本申请实施例还提供了一种电子设备,包括:存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的激励报文发送方法。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述的激励报文发送方法。
附图说明
图1为一实施例提供的一种激励报文发送方法的流程图;
图2为一实施例提供的另一种激励报文发送方法的流程图;
图3为一实施例提供的确定每个队列的首包发送时刻的示意图;
图4为一实施例提供的又一种激励报文发送方法的流程图;
图5为一实施例提供的一种激励报文发送方法的实现流程图;
图6为一实施例提供的一种激励报文发送装置的结构示意图;
图7为一实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
下面结合附图和实施例对本申请进行说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在本申请实施例中,提供一种激励报文发送方法,通过根据每个队列的发包参数进行扫描,在满足队列的发包时刻时可以及时发送激励报文,实现对每个队列发送激励报文的流量的精确控制,并且支持可变的包长和发包速率,可实时动态地产生精确流量的激励报文流。
图1为一实施例提供的一种激励报文发送方法的流程图,如图1所示,本实施例提供的方法包括步骤110、120和130。
在步骤110中,获取初始参数,所述初始参数包括队列个数、激励报文的包长、发包速率、包长变化属性和发包速率变化属性。
本实施例中,初始参数可以由用户配置,也可以是预先设定的默认的参数,初始参数包括队列个数、激励报文的包长、发包速率、包长变化属性和发包速率变化属性。其中,激励报文分为一个或多个队列传输;对于每个队列的激励报文,在传输层将被拆分成可传输的数据单元并添加头部形成包,包长可以指每个队列中激励报文的包长,也可以指待发送的激励报文的总包长;发包速率是指包长除以发送该包所需的时间,得到单位时间内可以发送的数据量,即反映了发包的流量,可以指每个队列中激励报文的发包速率,也可以指待发送的激励报文的总发包速率;包长变化属性是指包长是否可变,或者是否支持动态调整、调整功能是否开启,发包速率变化属性是指发包速率是否可变,或者是否支持动态调整、调整功能是否开启,此处的可变例如是递增变化或随机变化,调整可以是根据用户输入的指令调整,也可以是在将激励报文发送至待验证模型后,根据待验证模型输出的反馈信息进行调整。
在包长变化属性和发包速率变化属性为可变属性的情况下,初始参数的配置可以实时更新,使激励报文的生成更加灵活,适应不同的发包要求,能够为待验证模型提供更丰富和更可靠的仿真数据。
在步骤120中,根据所述初始参数确定扫描周期以及每个队列的发包参数,其中,所述发包参数包括首包发送时刻和发包间隔。
本实施例中,根据初始参数可以确定发包过程中对时间的扫描周期,并确定每个队列的发包参数,例如,根据包长和发包速率可以确定每个队列的首包发送时刻和发包间隔,在此基础上可以确定每个包的发包时刻,以实现对发包的精确控制,其中,发包间隔可以是指每个队列内部相邻两个包之间的发包间隔,也可以指所有队列待发送的激励报文的相邻两个包之间的发包间隔。此外,根据包长和发包速率还可以确定扫描周期,按照该扫描周期进行扫描,在满足任意队列中的任意包的发包时刻时,可以及时将对应的包发送至待验证的模型。其中,该扫描周期可以设置为小于或等于各个队列的最小的发包间隔,从而降低发包延迟。例如,最小的发包间隔为2纳秒,则扫描周期可以为2纳秒或1纳秒等。此外,在包长和发包速率可变的情况下,扫描周期也可以自动调整或更新。
在步骤130中,根据所述扫描周期以及每个队列的发包参数发送所述激励报文。
本实施例中,首先根据发包需求配置初始参数,然后根据初始参数确定扫描周期以及每个队列的首包发送时刻和相邻包之间的发包间隔,在此基础上扫描计算每个队列在什么时刻可以发包,从而实现对发包的精确流量控制。此外,在支持包长和发包速率可变或开启包长和发包速率调整的功能的情况下,还可以动态调整激励报文的包长和发包速率,以满足验证的各种流量场景需求,为待验证模型的仿真验证、路由转发芯片的设计和验证提供更可靠的数据参考。
本实施例中,根据每个队列中激励报文的包长与该队列对应的发包速率,可以计算发送一个包所需的平均时间,作为扫描周期;或者,在包长变化属性和发包速率变化属性为可变属性的情况下,可以根据每个队列中激励报文的最小包长与该队列对应的最大的发包速率,计算发送一个包所需的最小时间,作为扫描周期。
以固定包长和固定发包速率的情况为例,根据初始参数,将每个队列中激励报文的每个包依次关联至一个时间段内不同的时间区间,建立时序关系,可以确定每个队列的首包发送时刻;根据初始参数还可以确定当前包与下一个待发送的任意队列中的包之间的目标发包间隔,以及当前包与队列内的下一个待发送的包之间的队列内发包间隔;根据首包发送时刻以及发包间隔,可确定每个队列中的每个包的发包时刻,从而在扫描过程中将当前时刻对应的包及时发送至待验证模型,以此控制所有队列激励报文整体发包流量的稳定,并使得每个队列中的激励报文流的发包速率平稳。
在扫描过程中,如果扫描到的当前时刻为首包发送时刻,或者当前时刻与上一次发包时刻的时间间隔达到发包间隔的情况下,将当前时刻对应的可以发包的队列中待发送的包放入发包缓存中以执行发包,并将所述队列的上一次发包时刻更新为当前时刻,然后继续扫描,直至所有队列的激励报文发包完成。对于发包缓存中的包,可以按照一定的发包周期执行发包,发包周期可参考扫描周期确定。
在一实施例中,该方法还包括:在包长变化属性和发包速率变化属性为可变属性的情况下,接收参数调整指令或者待验证模型的反馈信息;根据参数调整指令或者反馈信息调整初始参数中的包长和发包速率,并更新扫描周期以及每个队列的发包参数。
图2为一实施例提供的另一种激励报文发送方法的流程图。该方法不仅可以实现以固定的包长和发包速率精确控制各个队列发送激励报文的流量,还支持根据参数调整指令或者待验证模型的反馈信息动态调整包长和发包速率,并更新扫描周期和每个队列的发包参数,能够实时动态地产生精确流量的激励报文流。如图2所示,该方法包括:
步骤210:获取初始参数,所述初始参数包括队列个数、激励报文的包长、发包速率、包长变化属性和发包速率变化属性。
步骤220:根据所述初始参数确定扫描周期以及每个队列的发包参数,所述发包参数包括首包发送时刻和发包间隔。
步骤230:根据所述扫描周期以及每个队列的发包参数发送所述激励报文。
步骤240:包长变化属性或发包速率变化属性为可变属性?若是,则执行步骤250-260,否则,返回执行步骤230,根据固定的扫描周期和发包参数发送激励报文即可。
步骤250:接收参数调整指令或者待验证模型的反馈信息。
本实施例中,参数调整指令可以是根据用户输入的包长和发包速率生成的,也可以是根据的待验证模型的反馈信息自动生成的。
步骤260:根据所述参数调整指令或者所述反馈信息调整所述初始参数中的包长和发包速率,并更新所述扫描周期以及每个队列的发包参数。
本实施例中,在包长变化属性和发包速率变化属性为可变属性的情况下,初始参数的配置可以实时更新,使激励报文的生成更加灵活,适应不同的发包要求,能够为待验证的模型提供更丰富和更可靠的仿真数据。
在一实施例中,参数调整指令或反馈信息包括:调整参数的队列个数,调整参数的条件,包长的调整值,以及发包速率的调整值;其中,调整参数的条件包括以下之一:调整参数的时刻;调整参数时的发包总数阈值;调整参数时当前发包的队列的发包个数阈值。
本实施例中,参数调整指令或反馈信息包含了需要调整参数的队列个数,以及对于需要调整参数的队列,在满足何种条件下调整该队列的包长和发包速率,以及包长和发包速率的调整值,其中,包长和发包速率的调整值也可以替换为调整后的包长和发包速率的目标值。调整参数的条件可以是扫描到调整参数的时刻,也可以是统计的所有队列的发包总数达到发包总数阈值,也可以统计的当前发包的队列的发包个数达到发包个数阈值。相应的,在调整包长和发包速率后更新扫描周期。
本实施例中,包长和发包速率的调整是基于参数调整指令或待验证模型的反馈信息实现的,采用单独的线程对每个队列的包长和发包速率进行调整,将参数调整指令或反馈信息放入缓存中依次处理即可,不会影响到激励报文的发送和对待验证模型的仿真验证。
在一实施例中,还包括:统计每个队列的发包个数以及所有队列的发包总数。
本实施例中,通过统计每个队列的发包个数以及所有队列的发包总数,为判断是否满足调整参数的条件提供了依据,在满足调整参数的条件的情况下及时调整该队列的包长和发包速率,为待验证模型的验证分析提供可靠基础。
在一实施例中,根据扫描周期以及每个队列的发包参数发送激励报文,包括:按照扫描周期进行扫描,直至所有队列的激励报文发包完成;在扫描到的当前时刻为首包发送时刻,或者当前时刻与上一次发包时刻的时间间隔达到发包间隔的情况下,将队列中待发送的包放入发包缓存中以执行发包,并将所述队列的上一次发包时刻更新为当前时刻。
本实施例中,通过根据发包参数不断对时间进行扫描,计算在当前时刻是否有队列可以发包。如果当前时刻为一个队列的首包发送时刻,或者当前时刻与一个队列的上一次发包时刻的时间间隔达到发包间隔,则该队列在当前时刻存在待发送的包,将待发送的包放入发包缓存中,执行发包,并利用当前时刻更新该队列的上一次发包时刻,其中,在发包缓存中等待发包的时间可以忽略不计;如果没有可以发包的队列,则继续扫描,等待下一次扫描到有队列可以发包的时刻。
本实施例中,采用独立的进程对待发送的包进行缓存并执行发包,发包缓存中的包以一定的周期均匀发包,如果发包缓存中没有包则等待有包存入。其中,发包的周期越小,发包的延时越低、精度越高,相应的需要消耗的资源也越多。
在一实施例中,执行发包有两种工作模式,可满足不同的用户需求:1)正常工作模式:根据各个队列的发包间隔确定发送一个包所需的平均时间并作为发包的周期,使得发包缓存的入向速率等于出向速率,能够保证所有队列整体发包速率的均匀,并且消耗资源少;2)高精度工作模式:适用于资源充足的情况,根据各个队列的包长和发包速率确定发送一个包所需的最小时间,作为发包的周期,保证发包时间的精度以及每个队列的发包速率均匀,满足高精度需求。
在一实施例中,在同一时刻有多个队列能够发包的情况下,根据队列个数的大小将待发送的包依次放入发包缓存中执行发包。
在一实施例中,发包间隔,包括:当前包与下一个待发送的任意队列中的包之间的目标发包间隔,所述目标发包间隔根据所述当前包的包长与所有队列的总发包速率确定;当前包与队列内的下一个待发送的包之间的队列内发包间隔,所述队列内发包间隔根据每个队列中激励报文的当前包的包长与该队列对应的发包速率确定。
本实施例中,通过控制所有队列激励报文整体的相邻两个包的目标发包间隔,能够保证在单位时间内总发包速率是均匀的,总发包速率V=当前包的包长/目标发包间隔,以实现所有队列激励报文整体发包流量的稳定;通过控制每个队列内部相邻两个包的队列内发包间隔,能够保证在单位时间内,单个队列发包的比例,与该队列的流量占所有队列的总流量的比例一致,队列n的发包速率Vn=当前包的包长/队列n中相邻两个包的队列内发包间隔,使得每个队列的报文流的速率平稳。例如,在当前时刻发送了队列Q3中的第3个包Q3,3,该包的包长为X,据此可以计算出目标发包间隔和队列内发包间隔。下一次扫描到有队列能够发包,例如是队列Q1的第2个包Q1,2,则目标发包间隔是指Q3,3与Q1,2之间的的时间间隔T1,满足T1=X/V;而对于队列Q3中的下一个包Q3,4,队列内发包间隔是指Q3,3与Q3,4之间的的时间间隔T2,满足T2=X/V3
本实施例中,发包间隔的控制不仅适用于固定包长和发包速率的队列,也适用于包长和发包速率可变的情况。在队列的包长和发包速率可变,或者开启包长和发包速率的调整功能的情况下,如果该队列的包长和发包速率变化,相应的发包间隔也变化,通过实时控制每个队列中的发包间隔,实现每个队列流量的自动调整和发包的精确控制。
在一实施例中,根据所述初始参数确定扫描周期,包括:根据每个队列中激励报文的包长与该队列对应的发包速率,计算发送一个包所需的平均时间,将所述平均时间作为所述扫描周期。
本实施例中,通过按照扫描周期不断扫描每个队列,计算当前时刻是否有队列可以发包。扫描周期如果偏大,会造成发包不及时,导致包堆积,降低发包精度;扫描周期如果偏小,会造成处理效率低、运行速率慢,消耗的资源多。本实施例中,根据每个队列的发包速率和激励报文的包长,计算单位时间内每个队列发送的包的总数,进而计算发送一个包所需的平均时间,作为扫描周期。
在一实施例中,根据初始参数确定扫描周期,包括:在包长变化属性和发包速率变化属性为可变属性的情况下,根据每个队列中激励报文的最小包长与该队列对应的最大发包速率,计算发送一个包所需的最小时间,将最小时间作为扫描周期。
本实施例中,对于包长和发包速率可变或可调整的情况,对于每个队列,取该队列的最大发包速率和最小包长的组合,求得发送一个包所需的最小时间,将此最小时间作为扫描周期,以保证包长和发包速率可变的情况下的发包精度。例如,各个队列的发包速率的范围是1Kbps至256Gbps,各个队列的包长范围是40B至16384B,则发送一个包所需的最小时间为(40*8bit)/(256Gbps)=1.25纳秒,扫描周期即为1.25纳秒。
在一实施例中,根据初始参数确定每个队列的首包发送时刻,包括:计算一个时间段内发包的总个数N,并将时间段划分为N个时间区间;依次对于每个队列,按照设定规则将该队列中激励报文的每个包关联至一个时间区间;根据每个队列的首包与时间区间之间的关联关系,记录每个队列的首包发送时刻。
本实施例中,确定每个队列的首包发送时刻是关键的步骤,对于每个队列每个包的发包时刻的控制仅影响队列中发包的均匀性,而每个队列的首包发送时刻决定了队列间的发包速率的稳定性。取一个时间段为基准,计算在该时间段内所有队列发包的总个数N,并将该时间段划分为N个时间区间,按照设定规则依次将每个队列中的每个包放入一个时间区间,直到所有队列的N个包分别放入N个时间区间,记录每个队列的首包发送时刻,可以控制在发包过程中每个队列的首包发送时刻。
在一实施例中,对于每个队列,设定规则包括:将该队列中激励报文的首包关联至第一个时间区间,并根据该队列对应的发包间隔将该队列中除首包以外的其他包依次关联至对应的时间区间内;其中,在一个包对应的时间区间被其他包占用的情况下,将该包关联至该时间区间之后的第一个未被占用的时间区间内。
图3为一实施例提供的确定每个队列的首包发送时刻的示意图。如图3所示,对于队列Q1,将Q1的首包Q1,1放在第一个时间区间内,然后根据Q1的首包发送时刻和发包间隔计算下一个包Q1,2的发包时刻,并将Q1,2放入对应的时间区间内,在此基础上可以计算再下一个包Q1,3的发包时刻并放入对应到的时间区间内,以此类推,直到这段时间内Q1中的包全部放入时间区间内。然后,对于队列Q2,将Q2的首包Q2,1放在这段时间内的第一个空闲的时间区间内,并根据Q2的首包发送时刻和发包间隔计算后续的每个包的发包时刻,依次放入对应的时间区间内,其中,如果一个包的发包时刻对应的时间区间已经被其他队列中的包占用,则自动查找下一个空闲的时间区间放入。同理,对于所有队列的包,都按照同样的规则与时间区间对应,直到所有队列的N个包分别放入N个时间区间,记录下每个队列的首包发送时刻。
在一实施例中,还包括:初始化激励报文;初始化的时间大于或等于发包速率最低的队列发送首包所需的时间。
本实施例中对每个队列的每个包都进行了严格的排序,反映了所配置的发包时序,此过程中需要使用大量的资源来保存这些发包的时序信息。如果每个包的时序信息都保存,则对于大量队列的长时间的发包,初始化的过程耗时非常长,严重影响发包效率。而本实施例中,仅需记录每个队列的首包发送时刻,初始化的时间大于或等于发包速率最慢的队列发送一个包(即首包)的时间即可,既不影响发包的精度,又可以减少初始化的时间,节省资源。每个队列中其余包的发包时刻根据时间间隔和按照扫描周期不断进行扫描确定即可。
图4为一实施例提供的又一种激励报文发送方法的流程图。如图4所示,该方法包括:
步骤310:获取初始参数,所述初始参数包括队列个数、激励报文的包长、发包速率、包长变化属性和发包速率变化属性。
步骤320:计算目标发包间隔和队列内发包间隔。
步骤330:根据每个队列中激励报文的包长与该队列对应的发包速率,计算发送一个包所需的平均时间,将所述平均时间作为所述扫描周期。
其中,在包长变化属性和发包速率变化属性为可变属性的情况下,步骤330包括:根据每个队列中激励报文的最小包长与该队列对应的最大发包速率,计算发送一个包所需的最小时间,将最小时间作为扫描周期。
步骤340:计算每个队列的首包发送时刻。
步骤350:按照扫描周期进行扫描。
步骤360:扫描到的当前时刻为首包发送时刻或者当前时刻与上一次发包时刻的时间间隔达到所述发包间隔?
步骤370:将队列中待发送的包放入发包缓存中以执行发包,并将所述队列的上一次发包时刻更新为所述当前时刻。
本实施例中,采用独立的进程对待发送的包进行缓存并执行发包,发包缓存中的包以一定的发包周期均匀发包,如果发包缓存中没有包则等待有包存入。发包周期可以与扫描周期一致,也可以根据发送一个包所需的平均时间确定,或者根据发送一个包所需的最小时间确定。
步骤380:所有队列的激励报文发包完成?
步骤390:激励报文发包完成。
需要说明的是,在执行步骤350-390的过程中,如果接收到参数调整指令或待验证模型的反馈信息,也可以在满足调整参数的条件时调整初始参数并更新扫描周期以及每个队列的发包参数,然后按照更新后的发包参数进行扫描,判断每个队列是否可以发包,从而实现包长和发包速率可变的精确发包。
图5为一实施例提供的一种激励报文发送方法的实现流程图。如图5所示,该方法包括:
获取初始参数,例如,队列个数、激励报文的总包长、激励报文的总发包速率、每个队列的发包速率、每个队列的包长、包长变化属性、发包速率变化属性、是否开启包长和发包速率的调整功能等;
根据每个队列的发包速率和包长,计算扫描周期和每个队列的发包间隔;
计算每个队列的首包发送时刻,完成激励报文的初始化;
在包长或发包速率可变或者可调整的情况下,检测参数调整指令或待验证模型的反馈信息,如果接收到参数调整指令或反馈信息,则在满足调整参数的条件(例如达到调整参数的时刻,或者发包总数达到发包总数阈值,或者当前发包的队列的发包个数达到发包个数阈值)的情况下,调整包长、发包速率以及扫描周期;
按照扫描周期不断扫描,确定当前时刻是否有队列可以发包,若有队列可以发包,则将待发送的包放入发包缓存并更新该队列的上一次发包时间;若没有队列可以发包,则继续扫描;如果同一时刻有多个队列可以出包,可以按照一定的顺序将不同队列冲突的包依次放入发包缓存等待发包;其中,以一定的发包周期扫描发包缓存,如果发包缓存不为空,则执行发包;
执行发包并更新相应队列的上一次发包时间,将每个队列的包组成的激励报文发送至待验证模型中,完成激励输入和模型仿真验证。
本实施例提供的激励报文发送方法,通过模拟发包流量和时序,并且支持包长和发包速率可变的发包,实现对每个队列发包的精确控制;在开启发包速率和包长的调整功能的情况下,还可以根据待验证模型输出的反馈信息动态调整激励报文的发包速率和包长,可以满足各种流量场景需求,为模型仿真验证以及转发芯片的设计提供更可靠的仿真数据。
本申请实施例还提供一种激励报文发送装置。图6为一实施例提供的一种激励报文发送装置的结构示意图。如图6所示,所述激励报文发送装置包括:初始参数获取模块410、发包参数确定模块420和发送模块430。
初始参数获取模块410,设置为获取初始参数,所述初始参数包括队列个数、激励报文的包长、发包速率、包长变化属性和发包速率变化属性;
发包参数确定模块420,设置为根据所述初始参数确定扫描周期以及每个队列的发包参数,其中,所述发包参数包括首包发送时刻和发包间隔;
发送模块430,设置为根据所述扫描周期以及每个队列的发包参数发送所述激励报文。
本实施例的激励报文发送装置,通过根据每个队列的发包参数进行扫描,在满足队列的发包时刻时可以及时发送激励报文,实现对每个队列发送激励报文的流量的精确控制,并且支持可变的包长和发包速率,提高发包的精确性。
在一实施例中,所述方法还包括:
调整接收模块,设置为在所述包长变化属性和所述发包速率变化属性为可变属性的情况下,接收参数调整指令或者待验证模型的反馈信息;
包长和流量调整模块,设置为根据所述参数调整指令或者所述反馈信息调整所述初始参数中的包长和发包速率;
扫描周期更新模块,设置为并更新所述扫描周期以及每个队列的发包参数。
在一实施例中,发送模块430,包括:
扫描模块,设置为按照所述扫描周期进行扫描,直至所有队列的激励报文发包完成;
发包模块,设置为在扫描到的当前时刻为首包发送时刻,或者当前时刻与上一次发包时刻的时间间隔达到所述发包间隔的情况下,将队列中待发送的包放入发包缓存中以执行发包,并将所述队列的上一次发包时刻更新为所述当前时刻。
在一实施例中,所述发包间隔,包括:
当前包与下一个待发送的任意队列中的包之间的目标发包间隔,所述目标发包间隔根据所述当前包的包长与所有队列的总发包速率确定;
当前包与队列内的下一个待发送的包之间的队列内发包间隔,所述队列内发包间隔根据每个队列中激励报文的当前包的包长与该队列对应的发包速率确定。
在一实施例中,发包参数确定模块420,包括:
第一扫描周期确定模块,设置为根据每个队列中激励报文的包长与该队列对应的发包速率,计算发送一个包所需的平均时间,将所述平均时间作为所述扫描周期。
在一实施例中,发包参数确定模块420,包括:
第二扫描周期确定模块,设置为在所述包长变化属性和所述发包速率变化属性为可变属性的情况下,根据每个队列中激励报文的最小包长与该队列对应的最大发包速率,计算发送一个包所需的最小时间,将所述最小时间作为所述扫描周期。
在一实施例中,发包参数确定模块420,包括:首包发送时刻确定模块,设置为:
计算一个时间段内发包的总个数N,并将所述时间段划分为N个时间区间;
依次对于每个队列,按照设定规则将该队列中激励报文的每个包关联至一个时间区间;
根据每个队列的首包与时间区间之间的关联关系,记录每个队列的首包发送时刻。
在一实施例中,对于每个队列,所述设定规则包括:
将该队列中激励报文的首包关联至第一个时间区间,并根据该队列对应的发包间隔将该队列中除首包以外的其他包依次关联至对应的时间区间内;
其中,在一个包对应的时间区间被其他包占用的情况下,将该包关联至该时间区间之后的第一个未被占用的时间区间内。
在一实施例中,所述参数调整指令或所述反馈信息包括:调整参数的队列个数,调整参数的条件,包长的调整值,以及发包速率的调整值;
其中,所述调整参数的条件包括以下之一:调整参数的时刻;调整参数时的发包总数阈值;调整参数时当前发包的队列的发包个数阈值。
在一实施例中,还包括:
统计模块,设置为统计每个队列的发包个数以及所有队列的发包总数。
在一实施例中,还包括:初始化模块,设置为初始化激励报文;
所述初始化的时间大于或等于发包速率最低的队列发送首包所需的时间。
本实施例提出的激励报文发送装置与上述实施例提出的激励报文发送方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述任意实施例,并且本实施例具备与执行激励报文发送方法相同的有益效果。
本申请实施例还提供了一种电子设备,图7为一实施例提供的一种电子设备的硬件结构示意图,如图7所示,本申请提供的电子设备,包括存储器52、处理器51以及存储在存储器上并可在处理器上运行的计算机程序,处理器51执行所述程序时实现上述的激励报文发送方法。
电子设备还可以包括存储器52;该电子设备中的处理器51可以是一个或多个,图7中以一个处理器51为例;存储器52用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器51执行,使得所述一个或多个处理器51实现如本申请实施例中所述的激励报文发送方法。
电子设备还包括:通信装置53、输入装置54和输出装置55。
电子设备中的处理器51、存储器52、通信装置53、输入装置54和输出装置55可以通过总线或其他方式连接,图7中以通过总线连接为例。
输入装置54可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的按键信号输入。输出装置55可包括显示屏等显示设备。
通信装置53可以包括接收器和发送器。通信装置53设置为根据处理器51的控制进行信息收发通信。
存储器52作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序以及模块,如本申请实施例所述激励报文发送方法对应的程序指令/模块(例如,激励报文发送装置中的初始参数获取模块410、发包参数确定模块420和发送模块430)。存储器52可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器52可进一步包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例中任一所述的激励报文发送方法,该方法包括:获取初始参数,所述初始参数包括队列个数、激励报文的包长、发包速率、包长变化属性和发包速率变化属性;根据所述初始参数确定扫描周期以及每个队列的发包参数,其中,所述发包参数包括首包发送时刻和发包间隔;根据所述扫描周期以及每个队列的发包参数发送所述激励报文。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、闪存、光纤、便携式CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、无线电频率(Radio Frequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
以上所述,仅为本申请的示例性实施例而已,并非用于限定本申请的保护范围。
本领域内的技术人员应明白,术语用户终端涵盖任何适合类型的无线用户设备,例如移动电话、便携数据处理装置、便携网络浏览器或车载移动台。
一般来说,本申请的多种实施例可以在硬件或专用电路、软件、逻辑或其任何组合中实现。例如,一些方面可以被实现在硬件中,而其它方面可以被实现在可以被控制器、微处理器或其它计算装置执行的固件或软件中,尽管本申请不限于此。
本申请的实施例可以通过移动装置的数据处理器执行计算机程序指令来实现,例如在处理器实体中,或者通过硬件,或者通过软件和硬件的组合。计算机程序指令可以是汇编指令、指令集架构(Instruction Set Architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码。
本申请附图中的任何逻辑流程的框图可以表示程序步骤,或者可以表示相互连接的逻辑电路、模块和功能,或者可以表示程序步骤与逻辑电路、模块和功能的组合。计算机程序可以存储在存储器上。存储器可以具有任何适合于本地技术环境的类型并且可以使用任何适合的数据存储技术实现,例如但不限于只读存储器(Read-Only Memory,ROM)、随机访问存储器(Random Access Memory,RAM)、光存储器装置和系统(数码多功能光碟(Digital Video Disc,DVD)或光盘(Compact Disk,CD))等。计算机可读介质可以包括非瞬时性存储介质。数据处理器可以是任何适合于本地技术环境的类型,例如但不限于通用计算机、专用计算机、微处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑器件(Field-Programmable Gate Array,FGPA)以及基于多核处理器架构的处理器。
通过示范性和非限制性的示例,上文已提供了对本申请的示范实施例的详细描述。但结合附图和权利要求来考虑,对以上实施例的多种修改和调整对本领域技术人员来说是显而易见的,但不偏离本申请的范围。因此,本申请的恰当范围将根据权利要求确定。

Claims (14)

1.一种激励报文发送方法,其特征在于,包括:
获取初始参数,所述初始参数包括队列个数、激励报文的包长、发包速率、包长变化属性和发包速率变化属性;
根据所述初始参数确定扫描周期以及每个队列的发包参数,其中,所述发包参数包括首包发送时刻和发包间隔;
根据所述扫描周期以及每个队列的发包参数发送所述激励报文。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述包长变化属性和所述发包速率变化属性为可变属性的情况下,接收参数调整指令或者待验证模型的反馈信息;
根据所述参数调整指令或者所述反馈信息调整所述初始参数中的包长和发包速率,并更新所述扫描周期以及每个队列的发包参数。
3.根据权利要求1所述的方法,其特征在于,根据所述发包参数发送所述激励报文,包括:
按照所述扫描周期进行扫描,直至所有队列的激励报文发包完成;
在扫描到的当前时刻为首包发送时刻,或者当前时刻与上一次发包时刻的时间间隔达到所述发包间隔的情况下,将队列中待发送的包放入发包缓存中以执行发包,并将所述队列的上一次发包时刻更新为所述当前时刻。
4.根据权利要求1所述的方法,其特征在于,对于每个队列,所述发包间隔,包括:
当前包与下一个待发送的任意队列中的包之间的目标发包间隔,所述目标发包间隔根据所述当前包的包长与所有队列的总发包速率确定;
当前包与队列内的下一个待发送的包之间的队列内发包间隔,所述队列内发包间隔根据每个队列中激励报文的当前包的包长与该队列对应的发包速率确定。
5.根据权利要求1所述的方法,其特征在于,根据所述初始参数确定扫描周期,包括:
根据每个队列中激励报文的包长与该队列对应的发包速率,计算发送一个包所需的平均时间,将所述平均时间作为所述扫描周期。
6.根据权利要求1所述的方法,其特征在于,根据所述初始参数确定扫描周期,包括:
在所述包长变化属性和所述发包速率变化属性为可变属性的情况下,根据每个队列中激励报文的最小包长与该队列对应的最大发包速率,计算发送一个包所需的最小时间,将所述最小时间作为所述扫描周期。
7.根据权利要求1所述的方法,其特征在于,根据所述初始参数确定每个队列的首包发送时刻,包括:
计算一个时间段内发包的总个数N,并将所述时间段划分为N个时间区间;
依次对于每个队列,按照设定规则将该队列中激励报文的每个包关联至一个时间区间;
根据每个队列的首包与时间区间之间的关联关系,记录每个队列的首包发送时刻。
8.根据权利要求7所述的方法,其特征在于,对于每个队列,所述设定规则包括:
将该队列中激励报文的首包关联至第一个时间区间,并根据该队列对应的发包间隔将该队列中除首包以外的其他包依次关联至对应的时间区间内;
其中,在一个包对应的时间区间被其他包占用的情况下,将该包关联至该时间区间之后的第一个未被占用的时间区间内。
9.根据权利要求2所述的方法,其特征在于,所述参数调整指令或所述反馈信息包括:调整参数的队列个数,调整参数的条件,包长的调整值,以及发包速率的调整值;
其中,所述调整参数的条件包括以下之一:
调整参数的时刻;
调整参数时的发包总数阈值;
调整参数时当前发包的队列的发包个数阈值。
10.根据权利要求9所述的方法,其特征在于,还包括:
统计每个队列的发包个数以及所有队列的发包总数。
11.根据权利要求1-10任一项所述的方法,其特征在于,还包括:初始化激励报文;
所述初始化的时间大于或等于发包速率最低的队列发送首包所需的时间。
12.一种激励报文发送装置,其特征在于,包括:
初始参数获取模块,设置为获取初始参数,所述初始参数包括队列个数、激励报文的包长、发包速率、包长变化属性和发包速率变化属性;
发包参数确定模块,设置为根据所述初始参数确定扫描周期以及每个队列的发包参数,其中,所述发包参数包括首包发送时刻和发包间隔;
发送模块,设置为根据所述扫描周期以及每个队列的发包参数发送所述激励报文。
13.一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-12中任一项所述的激励报文发送方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-12中任一所述的激励报文发送方法。
CN202011025659.4A 2020-09-25 2020-09-25 激励报文发送方法、装置、电子设备及存储介质 Pending CN114338434A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011025659.4A CN114338434A (zh) 2020-09-25 2020-09-25 激励报文发送方法、装置、电子设备及存储介质
PCT/CN2021/112335 WO2022062758A1 (zh) 2020-09-25 2021-08-12 激励报文发送方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011025659.4A CN114338434A (zh) 2020-09-25 2020-09-25 激励报文发送方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN114338434A true CN114338434A (zh) 2022-04-12

Family

ID=80846182

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011025659.4A Pending CN114338434A (zh) 2020-09-25 2020-09-25 激励报文发送方法、装置、电子设备及存储介质

Country Status (2)

Country Link
CN (1) CN114338434A (zh)
WO (1) WO2022062758A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117762594A (zh) * 2023-12-25 2024-03-26 成都北中网芯科技有限公司 一种验证激励的产生方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277440B (zh) * 2022-05-09 2023-08-22 南京赛宁信息技术有限公司 一种网络靶场中混杂流量发生方法与系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101674242A (zh) * 2009-10-13 2010-03-17 福建星网锐捷网络有限公司 一种业务报文发送控制方法及装置
WO2014071636A1 (zh) * 2012-11-12 2014-05-15 华为技术有限公司 一种发送报文的方法和设备
CN104301185A (zh) * 2014-11-06 2015-01-21 盛科网络(苏州)有限公司 报文发送速率检测方法及装置
CN104580005A (zh) * 2015-01-13 2015-04-29 天津市德力电子仪器有限公司 一种精确按照流量模型发送随机长度报文的方法
CN107566204A (zh) * 2016-06-30 2018-01-09 中兴通讯股份有限公司 激励报文产生控制方法、装置及逻辑检测设备
CN109639537A (zh) * 2019-01-29 2019-04-16 深圳市银河风云网络系统股份有限公司 一种tdma自动协商速率的高速数据传输方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6654373B1 (en) * 2000-06-12 2003-11-25 Netrake Corporation Content aware network apparatus
US20030229714A1 (en) * 2002-06-05 2003-12-11 Amplify.Net, Inc. Bandwidth management traffic-shaping cell
CN100558075C (zh) * 2004-12-29 2009-11-04 华为技术有限公司 基于逻辑实现数据包动态调速的方法和装置
CN101093521B (zh) * 2007-07-24 2011-09-21 中兴通讯股份有限公司 一种fpga仿真装置及其方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101674242A (zh) * 2009-10-13 2010-03-17 福建星网锐捷网络有限公司 一种业务报文发送控制方法及装置
WO2014071636A1 (zh) * 2012-11-12 2014-05-15 华为技术有限公司 一种发送报文的方法和设备
CN104301185A (zh) * 2014-11-06 2015-01-21 盛科网络(苏州)有限公司 报文发送速率检测方法及装置
CN104580005A (zh) * 2015-01-13 2015-04-29 天津市德力电子仪器有限公司 一种精确按照流量模型发送随机长度报文的方法
CN107566204A (zh) * 2016-06-30 2018-01-09 中兴通讯股份有限公司 激励报文产生控制方法、装置及逻辑检测设备
CN109639537A (zh) * 2019-01-29 2019-04-16 深圳市银河风云网络系统股份有限公司 一种tdma自动协商速率的高速数据传输方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117762594A (zh) * 2023-12-25 2024-03-26 成都北中网芯科技有限公司 一种验证激励的产生方法

Also Published As

Publication number Publication date
WO2022062758A1 (zh) 2022-03-31

Similar Documents

Publication Publication Date Title
US11934871B1 (en) Task scheduling method and apparatus, electronic device, and readable storage medium
Shu et al. eTime: Energy-efficient transmission between cloud and mobile devices
Kuang et al. Age-of-information for computation-intensive messages in mobile edge computing
WO2022062758A1 (zh) 激励报文发送方法、装置、电子设备及存储介质
CN110896556B (zh) 基于深度增强学习的后5g前传网时间同步方法及装置
CN102457413B (zh) 发现节点中的节能方法
KR102151317B1 (ko) 강화학습 기법을 활용한 LoRa Enabled IoT 장치의 에너지 최적화 방법 및 시스템
US11252078B2 (en) Data transmission method and apparatus
US11088954B2 (en) Link detection method and related apparatus
WO2020207469A1 (zh) 业务处理方法及装置
CN112202595A (zh) 基于时间敏感网络系统的抽象模型构建方法
CN115277519A (zh) 流量整形测试方法、系统、设备及介质
CN115277499A (zh) Mac设备的延迟参数确定方法、装置、硬件平台及介质
CN108023938B (zh) 一种消息发送方法及服务器
CN111614526B (zh) 一种hinoc链路快速维护方法、装置、存储介质及终端
CN110557341A (zh) 数据限流的方法和装置
CN110336756B (zh) 具有端口汇聚功能的Crossbar流量反压控制方法
CN111988158B (zh) 芯片级实现oam报文发送方法、装置、系统及存储介质
CN112202596A (zh) 基于时间敏感网络系统的抽象模型构建装置
CN110381537A (zh) 一种基于QoE的带宽限速方法、装置、设备及存储介质
CN101651614A (zh) 多端口队列调度方法及设备
CN116764235A (zh) 数据处理方法及相关装置
CN116599871B (zh) 一种网络时延的确定方法和相关装置
CN110661731A (zh) 一种报文处理方法及其装置
CN113949706B (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
CB02 Change of applicant information
CB02 Change of applicant information

Country or region after: China

Address after: 2nd Floor, 2nd Floor, ZTE Industrial Park, No. 2 Xili Chuangyan Road, Xili Community, Xili Street, Nanshan District, Shenzhen City, Guangdong Province 518055

Applicant after: SANECHIPS TECHNOLOGY Co.,Ltd.

Address before: 518055 Zhongxing Industrial Park, Liuxian Avenue, Xili street, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: SANECHIPS TECHNOLOGY Co.,Ltd.

Country or region before: China