CN115102908A - 基于带宽控制的网络报文生成的方法以及相关装置 - Google Patents
基于带宽控制的网络报文生成的方法以及相关装置 Download PDFInfo
- Publication number
- CN115102908A CN115102908A CN202211022625.9A CN202211022625A CN115102908A CN 115102908 A CN115102908 A CN 115102908A CN 202211022625 A CN202211022625 A CN 202211022625A CN 115102908 A CN115102908 A CN 115102908A
- Authority
- CN
- China
- Prior art keywords
- data
- token
- packet
- bucket
- flow
- 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
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
- H04L47/215—Flow control; Congestion control using token-bucket
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种基于带宽控制的网络报文生成的方法以及相关装置。所述方法包括以下步骤:配置数据流的数目、数据流的桶深和数据流的流量;基于所述数目、所述桶深和所述流量,结合令牌桶的当前桶深,生成当前数据包的流号,根据所述流号对所述当前数据包进行约束并发送;根据发送的数据包的包长,对所述当前数据包所属数据流的令牌桶执行扣令牌操作:当完成所述扣令牌操作之后,结合所述数据流的桶深配置和发包间隔,对所有数据流填充令牌。采用本申请,大幅度提升了填令牌桶流量控制的效率。
Description
技术领域
本申请属于信息处理技术领域,主要涉及了一种基于带宽控制的网络报文生成的方法以及相关装置。
背景技术
目前,随着数据处理器对数据流量的精准控制需求日益迫切,越来越多的研究者通过构造不同物理流和逻辑流对业务流量性能进行验证。
现有技术中,采用令牌桶方式,在固定间隔时间点对不同的令牌桶进行填桶,带宽控制方式简单粗暴,会导致令牌桶溢出,控制数据流流量的效率低下。
发明内容
本申请的一个目的在于提供了一种基于带宽控制的网络报文生成的方法以及相关装置,其优势在于,使流量均匀,并有效防止令牌值溢出,大幅度提升了填令牌桶流量控制的效率。
为实现上述目的,第一方面,本申请实施例提供一种基于带宽控制的网络报文生成的方法,其中包括:
配置数据流的数目、数据流的桶深和数据流的流量;
基于所述数目、所述桶深和所述流量,结合令牌桶的当前桶深,生成当前数据包的流号,根据所述流号对所述当前数据包进行约束并发送;
根据发送的数据包的包长,对所述当前数据包所属数据流的令牌桶执行扣令牌操作:
当完成所述扣令牌操作之后,结合所述数据流的桶深配置和发包间隔,对所有数据流填充令牌。
可以理解,配置数据流的数目、数据流的桶深和数据流的流量,基于所述数目、所述桶深和所述流量,结合令牌桶的当前桶深,生成当前数据包的流号,根据所述流号对所述当前数据包进行约束并发送,根据发送的数据包的包长,对所述当前数据包所属数据流的令牌桶执行扣令牌操作,当完成所述扣令牌操作之后,结合所述数据流的桶深配置和发包间隔,对所有数据流填充令牌,能够提升控制数据流流量的效率。
在一个可能的示例中,所述配置数据流的数目、数据流的桶深和数据流的流量包括:
使所述桶深大于或者等于负的预设第一数值,并且小于或者等于预设第二数值;
所有数据流的桶深进行共享。
可以理解,使所述桶深大于或者等于负的预设第一数值,并且小于或者等于预设第二数值,所有数据流的桶深进行共享,能够优化数据流的配置效率。
在一个可能的示例中,所述使所述桶深大于或者等于负的预设第一数值,并且小于或者等于预设第二数值包括:
所述预设第一数值和所述预设第二数值根据芯片缓存能力进行配置;
所述预设第一数值与巨型包(jumbo)的包长数值相同,所述预设第二数值与1.5至2倍巨型包(jumbo)的包长数值相同。
可以理解,所述预设第一数值和所述预设第二数值根据芯片缓存能力进行配置,所述预设第一数值与巨型包(jumbo)的包长数值相同,所述预设第二数值与1.5至2倍巨型包(jumbo)的包长数值相同,能够提升预设第一数值和预设第二数值的配置效率。
在一个可能的示例中,所述根据所述流号对所述当前数据包进行约束并发送,包括以下步骤:
当出现反压情况时,根据将要添加的令牌值,控制发送长包。
可以理解,当出现反压情况时,根据将要添加的令牌值,控制发送长包,能够优化反压情况的处理效率。
在一个可能的示例中,所述对所述当前数据包所属数据流的令牌桶执行扣令牌操作,包括以下步骤:
获取所述发送的数据包的包长;
基于所述包长,对所述当前数据包所属数据流的令牌桶执行扣令牌操作。
可以理解,获取所述发送的数据包的包长,基于所述包长,对所述当前数据包所属数据流的令牌桶执行扣令牌操作,能够优化扣令牌的效率。
在一个可能的示例中,所述结合所述数据流的桶深配置和发包间隔,对所有数据流填充令牌,包括以下步骤:
根据所述发送的数据包的间隔计算流量,并填令牌;
如果数据流令牌桶的令牌数小于0时,当任意1个数据流在总线上发出去1个数据包后,开始执行填令牌。
可以理解,根据所述发送的数据包的间隔计算流量,并填令牌,如果数据流令牌桶的令牌数小于0时,当任意1个数据流在总线上发出去1个数据包后,开始执行填令牌,能够优化填令牌的效率。
在一个可能的示例中,所述结合所述数据流的桶深配置和发包间隔,对所有数据流填充令牌,包括以下步骤:
根据不同的流量速率,调整所述填充令牌的速率。
可以理解,根据不同的流量速率,调整所述填充令牌的速率,能够提升填令牌的调整效率。
第二方面,一种基于带宽控制的网络报文生成的装置,包括用于执行第一方面或者第一方面任一实施方式提供的方法的模块。
第三方面,一种基于带宽控制的网络报文生成的设备,包括处理器、存储器以及一个或至少一个程序,其中,所述一个或至少一个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行第一方面或者第一方面任一实施方式提供的方法的指令。
第四方面,一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使得计算机执行以实现第一方面或者第一方面任一实施方式提供的方法。
实施本申请实施例,将具有如下有益效果:
配置数据流的数目、数据流的桶深和数据流的流量;基于所述数目、所述桶深和所述流量,结合令牌桶的当前桶深,生成当前数据包的流号,根据所述流号对所述当前数据包进行约束并发送;根据发送的数据包的包长,对所述当前数据包所属数据流的令牌桶执行扣令牌操作:当完成所述扣令牌操作之后,结合所述数据流的桶深配置和发包间隔,对所有数据流填充令牌。通过上述步骤,大幅度提升了填令牌桶流量控制的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以基于这些附图获得其他的附图。其中:
图1为本申请实施例提供的一种基于带宽控制的网络报文生成的应用场景图;
图2为本申请实施例提供的一种基于带宽控制的网络报文生成的硬件场景示意图;
图3为本申请实施例提供的一种事件触发填充令牌桶的流量图;
图4为本申请实施例提供的一种基于带宽控制的网络报文生成的流程示意图;
图5为本申请实施例提供的一种基于带宽控制的网络报文生成装置的结构示意图;
图6为本申请实施例提供的一种基于带宽控制的网络报文生成设备的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中的术语“1”和“2”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
请参见图1,图1为本申请实施例提供的一种基于带宽控制的网络报文生成的应用场景图。如图1所示,该应用场景图包括用户101、电子设备102、服务器103。需要说明的是,图1所示的系统中的各个设备的数量、各个设备的形态和用户的数量用于举例,并不构成对本申请实施例的限定,一个用户可以使用多个电子设备。
其中,用户101是实际操作电子设备102的用户,以控制电子设备102执行相应的操作。电子设备102可以是图1所示的笔记本电脑,还可以是个人计算机(personal computer,PC)、一体机、掌上电脑、平板电脑(pad)、智能电视播放终端和便捷式设备等。PC端的电子设备,例如一体机等,其操作系统可以包括但不限于Linux系统、Unix系统、Windows系列系统(例如Windows xp、Windows 7等)等操作系统。移动端的电子设备,例如智能手机等,其操作系统可以包括但不限于安卓系统、IOS系统(苹果手机的操作系统)、Window系统等操作系统。
下面介绍本申请实施例提供的基于带宽控制的网络报文生成的方法,该方法可以由基于带宽控制的网络报文生成装置执行,该装置可由软件和/或硬件实现,一般可集成在电子设备或服务器中。
请参见图2,图2为本申请实施例提供的一种基于带宽控制的网络报文生成的硬件场景示意图。具体而言,图中的数据处理器200包括嵌入式处理器201和可编程逻辑器件202,能够与计算机主机203进行数据传输。
请参见图3,图3为本申请实施例提供的一种事件触发填充令牌桶的流量图。从图中可以看出,基于事件触发的填充方式,会呈现出围绕所发流量波动的情况,从时间nT到(n+1)T,速率先降低后上升,从时间(n+1)T到(n+2)T,速率先上升后降低。
请参照图4,图4为本申请实施例提供的一种基于带宽控制的网络报文生成的流程示意图。以该方法应用于基于带宽控制的网络报文生成的过程进行举例说明,该基于带宽控制的网络报文生成装置可以包括服务器或电子设备。该方法包括如下步骤S401-S404,其中,
S401:配置数据流的数目、数据流的桶深和数据流的流量。
举例而言,数据流(也称为流)是一个用于传输数据的对象,数据的传输有两个方向,如果数据从外部源传输到程序中,就称为读取流;如果数据从程序传输到外部源,就称为写入流。
在一种可能的示例中,步骤S401包括以下步骤A1-A2,其中,
A1:使所述桶深大于或者等于负的预设第一数值,并且小于或者等于预设第二数值。
A2:所有数据流的桶深进行共享。
在一种可能的示例中,步骤A1包括以下步骤A11-A12,其中,
A11:所述预设第一数值和所述预设第二数值根据芯片缓存能力进行配置。
举例而言,缓存的出现主要是解决芯片运算速度与内存读写速度不匹配的矛盾,因为芯片运算速度要比内存读写速度快很多,这样会使芯片花费很长时间等待数据到来或把数据写入内存。芯片缓存是用于减少处理器访问内存所需平均时间的部件,软件在使用的过程中,内容会存储在芯片上,这个芯片成为缓存芯片。如果说内存相当于一个仓库,那么芯片就相当于一个工具架,当调用之前浏览过的内容时,无需从仓库中提出,只要直接从工具架中提出,极大地加快了响应速度。在计算机系统中,芯片高速缓存在金字塔式存储体系中,位于自上而向下的第二层,仅次于芯片寄存器,其容量远小于内存。
A12:所述预设第一数值与巨型包(jumbo)的包长数值相同,所述预设第二数值与1.5至2倍巨型包(jumbo)的包长数值相同。
举例而言,巨型包(jumbo)是网络驱动中的一个定义,指的是带有大于1500字节的包。
S402:基于所述数目、所述桶深和所述流量,结合令牌桶的当前桶深,生成当前数据包的流号,根据所述流号对所述当前数据包进行约束并发送。
在本申请的实施例中,令牌桶是一种常用的流量控制技术,它可以看作是一个存放一定数量令牌的容器,令牌桶的桶深通常称为burst,例如,我们设定burst=10,即令牌桶最大只能容纳10 个令牌。一个令牌代表1个字节,系统按设定的速率向桶中放置令牌,当桶中令牌满时,多出的令牌溢出,桶中令牌的数量不再增加。使用令牌桶对流量规格进行评估时,如果桶中存在足够的令牌,则认为流量符合规格,否则称为不符合规格或超标,并根据评估结果标记报文的颜色。它具备以下特点:令牌以一定的速率放入桶中;每个令牌允许源发送一定数量的比特;发送一个包,流量调节器就要从桶中删除与包大小相等的令牌数;如果没有足够的令牌发送包,这个包就会等待直到有足够的令牌(在整形器的情况下)或者包被丢弃,也有可能被标记更低的DSCP(在策略者的情况下);桶有特定的容量,如果桶已经满了,新加入的令牌就会被丢弃。因此,在任何时候,源发送到网络上的最大突发数据量与桶的大小成比例。
在一种可能的示例中,步骤S402包括以下步骤:
当出现反压情况时,根据将要添加的令牌值,控制发送长包。
举例而言,当数据流到达设备时,首先会根据数据的大小从令牌桶中取出与数据大小相当的令牌数量,用来传输数据(常用标准中,定义的大小以b/s为单位)。也就是说,要使数据被传输,必须保证令牌桶里有足够多的令牌,如果令牌数量不够,则数据会被丢弃或缓存,这样就可以限制报文的流量只能小于等于令牌生成的速度,达到限制流量的目的。当每次填的令牌很多,如果桶深不能合理的配置,则会出现反压情况。
S403:根据发送的数据包的包长,对所述当前数据包所属数据流的令牌桶执行扣令牌操作。
举例而言,假设当前令牌值为m,则扣令牌时,m的计算方式为,m=m-len(len为包长)。
在一种可能的示例中,步骤S403包括以下步骤B1:
B1:获取所述发送的数据包的包长;基于所述包长,对所述当前数据包所属数据流的令牌桶执行扣令牌操作。
S404:当完成所述扣令牌操作之后,结合所述数据流的桶深配置和发包间隔,对所有数据流填充令牌。
在一种可能的示例中,步骤S404包括以下步骤C1-C3:
C1:根据所述发送的数据包的间隔计算流量,并填令牌。
举例而言,假设令牌桶里面存放了100个令牌,我们访问一个接口需要有1个令牌,然后令牌桶中就会减少1个令牌,所以最多只能有100个请求可以拿到令牌。我们的访问接口通常会很多,一般不会只访问100个接口,而访问接口就需要令牌,所以需要填充令牌以满足需求。
C2:如果数据流令牌桶的令牌数小于0时,当任意1个数据流在总线上发出去1个数据包后,开始执行填令牌。
C3:根据不同的流量速率,调整所述填充令牌的速率。
请参见图5,图5为本申请实施例提供的一种基于带宽控制的网络报文生成装置的结构示意图。基于上述的系统架构,该基于带宽控制的网络报文生成装置500可以为服务器,也可以为服务器中的模块。该装置500,至少包括:配置模块501、生成模块502、发送模块503和处理模块504,其中,
配置模块501用于配置数据流的数目、数据流的桶深和数据流的流量;
基于所述数目、所述桶深和所述流量,生成模块502用于结合令牌桶的当前桶深,生成当前数据包的流号;
发送模块503用于根据所述流号对所述当前数据包进行约束并发送;
处理模块504对所述当前数据包所属数据流的令牌桶执行扣令牌操作;结合所述数据流的桶深配置和发包间隔,对所有数据流填充令牌。
在一个可能的示例中,在所述配置数据流的数目、数据流的桶深和数据流的流量方面,所述配置模块501设置所述桶深大于或者等于负的预设第一数值,并且小于或者等于预设第二数值;对所有数据流的桶深进行共享。
在一个可能的示例中,在所述使所述桶深大于或者等于负的预设第一数值,并且小于或者等于预设第二数值方面,根据芯片缓存能力,所述处理模块504对所述预设第一数值和所述预设第二数值进行配置,所述预设第一数值与巨型包(jumbo)的包长数值相同,所述预设第二数值与1.5至2倍巨型包(jumbo)的包长数值相同。
在一个可能的示例中,在所述根据所述流号对所述当前数据包进行约束并发送方面,所述处理模块504当出现反压情况时,根据将要添加的令牌值,控制发送长包。
在一个可能的示例中,在所述对所述当前数据包所属数据流的令牌桶执行扣令牌操作方面,所述处理模块504获取所述发送的数据包的包长;基于所述包长,所述处理模块504对所述当前数据包所属数据流的令牌桶执行扣令牌操作。
在一个可能的示例中,在所述结合所述数据流的桶深配置和发包间隔,对所有数据流填充令牌方面,所述处理模块504根据所述发送的数据包的间隔计算流量,并填令牌;如果数据流令牌桶的令牌数小于0时,当任意1个数据流在总线上发出去1个数据包后,所述处理模块504开始执行填令牌。
在一个可能的示例中,在所述结合所述数据流的桶深配置和发包间隔,对所有数据流填充令牌方面,所述处理模块504根据不同的流量速率,调整所述填充令牌的速率。
请参见图6,图6为本申请实施例提供的一种基于带宽控制的网络报文生成设备的结构图。如图6所示,该基于带宽控制的网络报文生成设备600包括处理器601、存储器602、通信接口604以及至少一个程序603。上述至少一个程序603被存储在上述存储器602中,并且被配置由上述处理器601执行,上述至少一个程序603包括用于执行以下步骤的指令:
配置数据流的数目、数据流的桶深和数据流的流量;
基于所述数目、所述桶深和所述流量,结合令牌桶的当前桶深,生成当前数据包的流号,根据所述流号对所述当前数据包进行约束并发送;
根据发送的数据包的包长,对所述当前数据包所属数据流的令牌桶执行扣令牌操作:
当完成所述扣令牌操作之后,结合所述数据流的桶深配置和发包间隔,对所有数据流填充令牌。
在一个可能的示例中,所述至少一个程序603具体用于执行以下步骤的指令:
使所述桶深大于或者等于负的预设第一数值,并且小于或者等于预设第二数值;
所有数据流的桶深进行共享。
在一个可能的示例中,所述至少一个程序603具体用于执行以下步骤的指令:
所述预设第一数值和所述预设第二数值根据芯片缓存能力进行配置;
所述预设第一数值与巨型包(jumbo)的包长数值相同,所述预设第二数值与1.5至2倍巨型包(jumbo)的包长数值相同。
在一个可能的示例中,所述至少一个程序603具体用于执行以下步骤的指令:
当出现反压情况时,根据将要添加的令牌值,控制发送长包。
在一个可能的示例中,所述至少一个程序603具体用于执行以下步骤的指令:
获取所述发送的数据包的包长;
基于所述包长,对所述当前数据包所属数据流的令牌桶执行扣令牌操作。
在一个可能的示例中,所述至少一个程序603具体用于执行以下步骤的指令:
根据所述发送的数据包的间隔计算流量,并填令牌;
如果数据流令牌桶的令牌数小于0时,当任意1个数据流在总线上发出去1个数据包后,开始执行填令牌。
在一个可能的示例中,所述至少一个程序603具体用于执行以下步骤的指令:
根据不同的流量速率,调整所述填充令牌的速率。
本领域技术人员可以理解,为了便于说明,图6中仅示出了一个存储器602和处理器601。在实际的终端或服务器中,可以存在多个处理器和存储器。存储器也可以称为存储介质或者存储设备等,本申请实施例对此不做限制。
应理解,在本申请实施例中,处理器可以是中央处理单元(Central ProcessingUnit,简称CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital SignalProcessing ,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器还可以采用通用的微处理器、图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例所需执行的功能。
处理器601还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的各个步骤可以通过处理器601中硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器601可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存和只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器602,处理器601读取存储器602中的信息,结合其硬件完成本申请实施例的方法、装置及存储介质包括的单元所需执行的功能。
还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,简称ROM)、可编程只读存储器(Programmable ROM,简称PROM)、可擦除可编程只读存储器(Erasable PROM,简称EPROM)、电可擦除可编程只读存储器(Electrically EPROM,简称EEPROM)或闪存。易失性存储器可以是随机存取存储器(RandomAccess Memory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,简称SRAM)、动态随机存取存储器(Dynamic RAM,简称DRAM)、同步动态随机存取存储器(Synchronous DRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,简称DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,简称ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,简称DR RAM)。该存储器还可以是只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在的,通过总线与处理器相连接。存储器也可以和处理器集成在一起,存储器可以存储程序,当存储器中存储的程序被处理器执行时,处理器用于执行本申请上述实施例中确定方法的各个步骤。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各种说明性逻辑块(illustrative logical block,简称ILB)和步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机编程的程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在处理器上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输,也可以从一个网站站点、计算机、服务器或数据中心通过有线方式向手机处理器进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种基于带宽控制的网络报文生成的方法,其特征在于,包括以下步骤:
配置数据流的数目、数据流的桶深和数据流的流量;
基于所述数目、所述桶深和所述流量,结合令牌桶的当前桶深,生成当前数据包的流号,根据所述流号对所述当前数据包进行约束并发送;
根据发送的数据包的包长,对所述当前数据包所属数据流的令牌桶执行扣令牌操作:
当完成所述扣令牌操作之后,结合所述数据流的桶深配置和发包间隔,对所有数据流填充令牌。
2.根据权利要求1所述的方法,其特征在于,所述配置数据流的数目、数据流的桶深和数据流的流量包括:
使所述桶深大于或者等于负的预设第一数值,并且小于或者等于预设第二数值;
所有数据流的桶深进行共享。
3.根据权利要求2所述的方法,其特征在于,所述使所述桶深大于或者等于负的预设第一数值,并且小于或者等于预设第二数值包括:
所述预设第一数值和所述预设第二数值根据芯片缓存能力进行配置;
所述预设第一数值与巨型包(jumbo)的包长数值相同,所述预设第二数值与1.5至2倍巨型包(jumbo)的包长数值相同。
4.根据权利要求1所述的方法,其特征在于,所述根据所述流号对所述当前数据包进行约束并发送,包括以下步骤:
当出现反压情况时,根据将要添加的令牌值,控制发送长包。
5.根据权利要求1所述的方法,其特征在于,所述根据发送的数据包的包长,对所述当前数据包所属数据流的令牌桶执行扣令牌操作,包括以下步骤:
获取所述发送的数据包的包长;
基于所述包长,对所述当前数据包所属数据流的令牌桶执行扣令牌操作。
6.根据权利要求1所述的方法,其特征在于,所述结合所述数据流的桶深配置和发包间隔,对所有数据流填充令牌,包括以下步骤:
根据所述发送的数据包的间隔计算流量,并填令牌;
如果数据流令牌桶的令牌数小于0时,当任意1个数据流在总线上发出去1个数据包后,开始执行填令牌。
7.根据权利要求1所述的方法,其特征在于,所述结合所述数据流的桶深配置和发包间隔,对所有数据流填充令牌,包括以下步骤:
根据不同的流量速率,调整所述填充令牌的速率。
8.一种基于带宽控制的网络报文生成的装置,其特征在于,用于执行如权利要求1-7中任一项所述的方法。
9.一种基于带宽控制的网络报文生成的设备,其特征在于,包括处理器、存储器以及一个或至少一个程序,其中,所述一个或至少一个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-7中任一项所述方法的指令。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,所述计算机程序使得计算机执行以实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211022625.9A CN115102908B (zh) | 2022-08-25 | 2022-08-25 | 基于带宽控制的网络报文生成的方法以及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211022625.9A CN115102908B (zh) | 2022-08-25 | 2022-08-25 | 基于带宽控制的网络报文生成的方法以及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115102908A true CN115102908A (zh) | 2022-09-23 |
CN115102908B CN115102908B (zh) | 2023-03-10 |
Family
ID=83301559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211022625.9A Active CN115102908B (zh) | 2022-08-25 | 2022-08-25 | 基于带宽控制的网络报文生成的方法以及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115102908B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116886614A (zh) * | 2023-08-18 | 2023-10-13 | 长春理工大学 | 一种基于tsn网络下的报文处理方法 |
CN117041162A (zh) * | 2023-10-09 | 2023-11-10 | 芯耀辉科技有限公司 | 一种流量整形方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1835447A (zh) * | 2005-03-16 | 2006-09-20 | 华为技术有限公司 | 一种数据流量约束控制的实现方法 |
EP2432170A1 (en) * | 2010-09-16 | 2012-03-21 | Alcatel Lucent | A token bucket based data packet traffic shapping device |
CN102413042A (zh) * | 2011-11-14 | 2012-04-11 | 盛科网络(苏州)有限公司 | 基于时戳更新令牌桶的流量监管的方法及系统 |
US20150036503A1 (en) * | 2013-08-05 | 2015-02-05 | International Business Machines Corporation | Rate Control By Token Buckets |
CN107222358A (zh) * | 2016-03-21 | 2017-09-29 | 深圳市中兴微电子技术有限公司 | 包每秒流量监管方法及装置 |
CN107276909A (zh) * | 2016-04-07 | 2017-10-20 | 深圳市中兴微电子技术有限公司 | 端口流量管理方法及装置 |
CN107743099A (zh) * | 2017-08-31 | 2018-02-27 | 华为技术有限公司 | 数据流处理方法、装置以及存储介质 |
CN114070798A (zh) * | 2022-01-06 | 2022-02-18 | 阿里巴巴(中国)有限公司 | 一种报文传输方法、装置及设备 |
-
2022
- 2022-08-25 CN CN202211022625.9A patent/CN115102908B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1835447A (zh) * | 2005-03-16 | 2006-09-20 | 华为技术有限公司 | 一种数据流量约束控制的实现方法 |
EP2432170A1 (en) * | 2010-09-16 | 2012-03-21 | Alcatel Lucent | A token bucket based data packet traffic shapping device |
CN102413042A (zh) * | 2011-11-14 | 2012-04-11 | 盛科网络(苏州)有限公司 | 基于时戳更新令牌桶的流量监管的方法及系统 |
US20150036503A1 (en) * | 2013-08-05 | 2015-02-05 | International Business Machines Corporation | Rate Control By Token Buckets |
CN107222358A (zh) * | 2016-03-21 | 2017-09-29 | 深圳市中兴微电子技术有限公司 | 包每秒流量监管方法及装置 |
CN107276909A (zh) * | 2016-04-07 | 2017-10-20 | 深圳市中兴微电子技术有限公司 | 端口流量管理方法及装置 |
CN107743099A (zh) * | 2017-08-31 | 2018-02-27 | 华为技术有限公司 | 数据流处理方法、装置以及存储介质 |
CN114070798A (zh) * | 2022-01-06 | 2022-02-18 | 阿里巴巴(中国)有限公司 | 一种报文传输方法、装置及设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116886614A (zh) * | 2023-08-18 | 2023-10-13 | 长春理工大学 | 一种基于tsn网络下的报文处理方法 |
CN117041162A (zh) * | 2023-10-09 | 2023-11-10 | 芯耀辉科技有限公司 | 一种流量整形方法及装置 |
CN117041162B (zh) * | 2023-10-09 | 2024-02-09 | 芯耀辉科技有限公司 | 一种流量整形方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115102908B (zh) | 2023-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115102908B (zh) | 基于带宽控制的网络报文生成的方法以及相关装置 | |
CN111049756B (zh) | 请求响应方法、装置、电子设备及计算机可读存储介质 | |
US8631152B2 (en) | System and method for data packet transmission and reception | |
US9614925B2 (en) | Intelligent file pre-fetch based on access patterns | |
CN111177025B (zh) | 数据存储方法、装置及终端设备 | |
CN111147395B (zh) | 一种网络资源调整方法及装置 | |
CN111245732B (zh) | 一种流量控制方法、装置及设备 | |
CN110659114A (zh) | 用于端到端服务质量期限感知的i/o调度的技术 | |
CN108874324B (zh) | 一种访问请求处理方法、装置、设备及可读存储介质 | |
CN107783727A (zh) | 一种内存设备的访问方法、装置和系统 | |
CN103501327B (zh) | 基于移动终端应用的下载方法和装置 | |
JP2018110387A (ja) | リアルタイムライブ環境でのバッファに基づく帯域幅測定および適応的データ送信のための方法およびシステム | |
CN111124304B (zh) | 一种数据迁移方法、装置及电子设备和存储介质 | |
CN115002046B (zh) | 报文处理方法、numa节点、电子设备及存储介质 | |
CN112600761A (zh) | 一种资源分配的方法、装置及存储介质 | |
CN115827506A (zh) | 数据写入方法、数据读取方法、装置、处理核和处理器 | |
EP2997715B1 (en) | Transmitting information based on reading speed | |
CN110381537B (zh) | 一种基于QoE的带宽限速方法、装置、设备及存储介质 | |
US11431648B2 (en) | Technologies for providing adaptive utilization of different interconnects for workloads | |
CN115357363A (zh) | 限流方法、装置、任务响应系统、电子设备及存储介质 | |
CN111767154B (zh) | 用于无阻塞通讯的无锁环形队列实现方法 | |
EP3585017A2 (en) | Technologies for providing adaptive polling of packet queues | |
CN118519729B (zh) | 一种报文调度方法、系统、存储介质和电子设备 | |
CN105512090B (zh) | 一种基于fpga的网络节点内数据缓冲的组织方法 | |
CN113992587B (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 |