CN113411267A - 报文转发方法及装置 - Google Patents
报文转发方法及装置 Download PDFInfo
- Publication number
- CN113411267A CN113411267A CN202110663824.7A CN202110663824A CN113411267A CN 113411267 A CN113411267 A CN 113411267A CN 202110663824 A CN202110663824 A CN 202110663824A CN 113411267 A CN113411267 A CN 113411267A
- Authority
- CN
- China
- Prior art keywords
- tokens
- token
- token bucket
- message
- target
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及一种报文转发方法及装置。该方法包括:基于报文的长度确定其对应的目标令牌数量;在第一令牌桶中的第一令牌的数量小于所述目标令牌数量时,提取第二令牌桶中的第二令牌的数量;在所述第二令牌桶中的所述第二令牌的数量大于等于所述目标令牌数量时,由所述第二令牌桶提取所述目标令牌数量的第二令牌;基于所述第二令牌进行所述报文的转发。本公开涉及的报文转发方法、装置、电子设备及计算机可读介质,能够有效地提升报文转发性能,提升网络业务服务质量。
Description
技术领域
本公开涉及计算机信息处理领域,具体而言,涉及一种报文转发方法、装置、电子设备及计算机可读介质。
背景技术
网络资源总是有限的,只要存在抢夺网络资源的情况,就会出现服务质量的要求。服务质量是相对网络业务而言的,在保证某类业务的服务质量的同时,可能就是在损害其它业务的服务质量。例如,在网络总带宽固定的情况下,如果某类业务占用的带宽越多,那么其他业务能使用的带宽就越少,可能会影响其他业务的使用,QoS技术致力于解决这个问题。
QoS即服务质量(Quality of Service)。对于网络业务,QoS包括传输的带宽、传送的时延、数据的丢包率等。在网络中可以通过保证传输的带宽、降低传送的时延、降低数据的丢包率以及时延抖动等措施来提高服务质量。在QoS技术中,使用令牌来控制报文的转发,一般情况下,基于报文长度直接到令牌桶中获取令牌,其中,令牌桶的令牌数量是通过8字节类型数据进行存储,操作令牌桶中的令牌数目用的是8字节原子变量操作函数。但是,报文在每次从令牌桶取令牌时通过8字节原子变量获取的方式,在报文转发流程中会消耗很大的系统性能。如果直接减少原子变量操作函数的字节数量,又会限制报文转发数量,在突然流量的时候,会出现报文堵塞等情况。
因此,需要一种新的报文转发方法、装置、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本公开提供一种报文转发方法、装置、电子设备及计算机可读介质,能够有效地提升报文转发性能,提升网络业务服务质量。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提出一种报文转发方法,该方法包括:基于报文的长度确定其对应的目标令牌数量;在第一令牌桶中的第一令牌的数量小于所述目标令牌数量时,提取第二令牌桶中的第二令牌的数量;在所述第二令牌桶中的所述第二令牌的数量大于等于所述目标令牌数量时,由所述第二令牌桶提取所述目标令牌数量的第二令牌;基于所述第二令牌进行所述报文的转发。
在本公开的一种示例性实施例中,还包括:在所述第一令牌桶中的所述第一令牌的数量大于等于所述目标令牌数量时,由所述第一令牌桶提取所述目标令牌数量的第一令牌;基于所述第一令牌进行所述报文的转发。
在本公开的一种示例性实施例中,还包括:在所述第二令牌桶中的所述第二令牌的数量小于所述目标令牌数量时,丢弃所述报文。
在本公开的一种示例性实施例中,基于报文的长度确定其对应的目标令牌数量之前,还包括:设备由以太网获取所述报文;对所述报文进行预处理;更新所述第一令牌桶中第一令牌和/或所述第二令牌桶中第二令牌的数量。
在本公开的一种示例性实施例中,在第一令牌桶中的第一令牌的数量小于所述目标令牌数量时,包括:通过操作第一令牌桶对应的第一原子变量函数获取所述第一令牌的数量;将所述第一令牌的数量和所述目标令牌数量进行比较。
在本公开的一种示例性实施例中,在所述第二令牌桶中的所述第二令牌的数量大于等于所述目标令牌数量时,包括:通过操作第二令牌桶对应的第二原子变量函数获取所述第二令牌的数量;将所述第二令牌的数量和所述目标令牌数量进行比较。
在本公开的一种示例性实施例中,包括:第一原子变量函数和/或第二原子变量函数占用四字节的存储空间。
在本公开的一种示例性实施例中,更新所述第一令牌桶中第一令牌和/ 或所述第二令牌桶中第二令牌的数量,包括:基于承诺信息速率生成新增令牌的数量;将新增令牌数量对应的令牌作为第一令牌和/或第二令牌以更新所述第一令牌桶和/或所述第二令牌桶。
在本公开的一种示例性实施例中,将新增令牌数量对应的令牌作为第一令牌和/或第二令牌以更新所述第一令牌桶和/或所述第二令牌桶,包括:将新增令牌数量对应的令牌更新到所述第一令牌桶;在所述第一令牌桶中第一令牌的数量达到最大值时,将剩余令牌更新到所述第二令牌桶;在所述第二令牌桶中第二令牌的数量达到最大值时,丢弃剩余的令牌。
根据本公开的一方面,提出一种报文转发装置,该装置包括:报文长度模块,用于基于报文的长度确定其对应的目标令牌数量;第一令牌模块,用于在第一令牌桶中的第一令牌的数量小于所述目标令牌数量时,提取第二令牌桶中的第二令牌的数量;第二令牌模块,用于在所述第二令牌桶中的所述第二令牌的数量大于等于所述目标令牌数量时,由所述第二令牌桶提取所述目标令牌数量的第二令牌;报文转发模块,用于基于所述第二令牌进行所述报文的转发。
在本公开的一种示例性实施例中,还包括:所述第一令牌模块,还用于在所述第一令牌桶中的所述第一令牌的数量大于等于所述目标令牌数量时,由所述第一令牌桶提取所述目标令牌数量的第一令牌;所述报文转发模块,还用于基于所述第一令牌进行所述报文的转发。
在本公开的一种示例性实施例中,还包括:第二令牌模块,还用于在所述第二令牌桶中的所述第二令牌的数量小于所述目标令牌数量时,丢弃所述报文。
根据本公开的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本公开的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本公开的报文转发方法、装置、电子设备及计算机可读介质,基于报文的长度确定其对应的目标令牌数量;在第一令牌桶中的第一令牌的数量小于所述目标令牌数量时,提取第二令牌桶中的第二令牌的数量;在所述第二令牌桶中的所述第二令牌的数量大于等于所述目标令牌数量时,由所述第二令牌桶提取所述目标令牌数量的第二令牌;基于所述第二令牌进行所述报文的转发的方式,能够有效地提升报文转发性能,提升网络业务服务质量。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种报文转发方法及装置的系统框图。
图2是根据一示例性实施例示出的一种报文转发方法的流程图。
图3是根据另一示例性实施例示出的一种报文转发方法的流程图。
图4是根据另一示例性实施例示出的一种报文转发方法的示意图。
图5是根据一示例性实施例示出的一种报文转发装置的框图。
图6是根据一示例性实施例示出的一种电子设备的框图。
图7是根据一示例性实施例示出的一种计算机可读介质的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/ 步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
在传统的IP网络中,所有的报文都被无区别的等同对待,每个转发设备对所有的报文均采用先入先出(FIFO)的策略进行处理,它尽最大的努力 (Best-Effort)将报文送到目的地,但对报文传送的可靠性、传送延迟等性能不提供任何保证。网络发展日新月异,随着IP网络上新应用的不断出现,对IP网络的服务质量也提出了新的要求,例如VoIP等实时业务就对报文的传输延迟提出了较高要求,如果报文传送延时太长,用户将不能接受(相对而言,E-Mail和 FTP业务对时间延迟并不敏感)。为了支持具有不同服务需求的语音、视频以及数据等业务,网络管理者需要根据各种业务的特点来对网络资源进行合理的规划和分配,网络能够区分出不同的通信,为之提供相应的服务,从而使网络资源得到高效利用。传统IP网络的尽力服务不可能识别和区分出网络中的各种通信类别,而具备通信类别的区分能力正是为不同的通信提供不同服务的前提,所以说传统网络的尽力服务模式已不能满足应用的需要,QoS技术的出现便致力于解决这个问题。
端口限速是在保证网络报文不延迟和中断的基础上,有效地防止某些流量大量占用网络带宽的一种技术策略。一般而言,通过令牌桶实现,报文在每次从令牌桶取令牌,如果有足够支持该报文转发的令牌,则进行转发,否则丢弃该报文。
现有技术中,虽然常用的令牌数量不需要很多,但是为了保证突发的大流量的报文的处理,必须要准备足够多的令牌以供需要时使用,所以,令牌桶的令牌数量是通过8字节类型数据进行存储。然而,操作令牌桶中的令牌数目用的是8字节原子变量操作函数,占用了大量的操作时间。有鉴于现有方案中的技瓶颈,本申请提出了一种报文转发方法、装置,通过改变从令牌桶获取令牌的方法,从而提升转发性能。下面借助于具体的实施例,进行详细说明。
图1是根据一示例性实施例示出的一种报文转发方法及装置的系统框图。
如图1所示,系统架构10可以包括终端设备101、102、103,网络104 和报文转发设备105。网络104用以在终端设备101、102、103和报文转发设备105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与报文转发设备105 交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
报文转发设备105可以是提供各种报文转发服务的交换机;报文转发设备105可例如基于报文的长度确定其对应的目标令牌数量;报文转发设备105 可例如在第一令牌桶中的第一令牌的数量小于所述目标令牌数量时,提取第二令牌桶中的第二令牌的数量;报文转发设备105可例如在所述第二令牌桶中的所述第二令牌的数量大于等于所述目标令牌数量时,由所述第二令牌桶提取所述目标令牌数量的第二令牌;报文转发设备105可例如基于所述第二令牌进行所述报文的转发。
报文转发设备105还可例如在所述第一令牌桶中的所述第一令牌的数量大于等于所述目标令牌数量时,由所述第一令牌桶提取所述目标令牌数量的第一令牌;基于所述第一令牌进行所述报文的转发。
报文转发设备105还可例如在所述第二令牌桶中的所述第二令牌的数量小于所述目标令牌数量时,丢弃所述报文。
报文转发设备105可以是一个实体的交换设备,还可例如为多个交换设备组成,需要说明的是,本公开实施例所提供的报文转发方法可以由报文转发设备105执行,相应地,报文转发装置可以设置于报文转发设备105中。而提供给用户进行数据的网页端一般位于终端设备101、102、103中。
图2是根据一示例性实施例示出的一种报文转发方法的流程图。报文转发方法20至少包括步骤S202至S208。
如图2所示,在S202中,基于报文的长度确定其对应的目标令牌数量。报文(message)是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变。在报文中,一般使用Content-Length表示body报文体的长度,这样往后截取即可获得整个报文。可通过报文解析的方式获取该报文的长度。
在一个实施例中,长度为len的以太网报文A流入到设备端口gige0_1 中,报文经过预处理后进行QoS处理。
在S204中,在第一令牌桶中的第一令牌的数量小于所述目标令牌数量时,提取第二令牌桶中的第二令牌的数量。
在一个实施例中,还可例如,在所述第一令牌桶中的所述第一令牌的数量大于等于所述目标令牌数量时,由所述第一令牌桶提取所述目标令牌数量的第一令牌;基于所述第一令牌进行所述报文的转发。
其中,在第一令牌桶中的第一令牌的数量小于所述目标令牌数量时,包括:通过操作第一令牌桶对应的第一原子变量函数获取所述第一令牌的数量;将所述第一令牌的数量和所述目标令牌数量进行比较。
其中,第一原子变量函数占用四字节的存储空间。
设备采用4字节的存储空间来存放第一令牌桶的令牌数,设备通过操作 4字节原子变量的操作方式操作第一令牌桶中的令牌数目,设备收到的报文A 长度len除以3,结果记为hlen,然后从第一令牌桶中扣除hlen个令牌,表明报文A获得了通信证即获取到了令牌,此时第一令牌桶桶中剩余令牌数令牌数为m-hlen,若此结果大于0,则表示令牌桶中有足够的令牌供报文A使用,则报文A允许转发。如果结果小于0则表明第一令牌桶的令牌数不够报文A 转发使用,那么将hlen个令牌还给第一令牌桶,报文A需重新到第二令牌桶中获取令牌。
在S206中,在所述第二令牌桶中的所述第二令牌的数量大于等于所述目标令牌数量时,由所述第二令牌桶提取所述目标令牌数量的第二令牌。还可例如,在所述第二令牌桶中的所述第二令牌的数量小于所述目标令牌数量时,丢弃所述报文。
其中,在所述第二令牌桶中的所述第二令牌的数量大于等于所述目标令牌数量时,包括:通过操作第二令牌桶对应的第二原子变量函数获取所述第二令牌的数量;将所述第二令牌的数量和所述目标令牌数量进行比较。
其中,第二原子变量函数占用四字节的存储空间。
第二令牌桶中的总令牌个数可记为EBS(第二令牌桶承诺突发尺寸,表示第二令牌桶的容量,即第二令牌桶瞬间能够通过的承诺突发流量),仍然可采用4字节的存储空间来存放第二令牌桶的令牌数,同样通过操作4字节原子变量的操作方式操作第二令牌桶中的令牌数目。从第二令牌中取出hlen个令牌交给报文A使用,如果第二令牌桶中的剩余令牌数大于0,则报文A被放通,如果小于0,此时报文A被丢弃,达到了端口限速的效果。
当然,还可根据不同设备日常流量的不同,设置第二令牌桶中的存储空间为2字节空间。值得一提的是,还可设置三个令牌桶或者更多个令牌桶,将令牌数据逐一进行比较然后再进行转发,以应对不同的网络情况。在设置 3个令牌桶时,第一令牌桶可操作性4字节存储空间,第二令牌桶可操作2 字节存储空间,第三令牌桶可操作2字节存储空间。本申请不以此为限。
在S208中,基于所述第二令牌进行所述报文的转发。从第二令牌中取出 hlen个令牌以进行报文转发。
根据本公开的报文转发方法,基于报文的长度确定其对应的目标令牌数量;在第一令牌桶中的第一令牌的数量小于所述目标令牌数量时,提取第二令牌桶中的第二令牌的数量;在所述第二令牌桶中的所述第二令牌的数量大于等于所述目标令牌数量时,由所述第二令牌桶提取所述目标令牌数量的第二令牌;基于所述第二令牌进行所述报文的转发的方式,能够有效地提升报文转发性能,提升网络业务服务质量。
应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施例。
图3是根据另一示例性实施例示出的一种报文转发方法的流程图。图3 所示的流程30是对图2所示的流程的补充描述。
如图3所示,在S302中,设备由以太网获取所述报文。可例如,交换设备由以太网获取报文。
在S304中,对所述报文进行预处理。具体可例如,对报文进行解析处理。
在S306中,基于承诺信息速率生成新增令牌的数量。承诺信息速率(CIR) 是指在网络预定的一条特定虚电路上,正常状态下的信息传送速率,该速率是在最小Tc(承诺速率测量时间间隔)时的平均值。
在S308中,将新增令牌数量对应的令牌作为第一令牌和/或第二令牌以更新所述第一令牌桶和/或所述第二令牌桶。
可例如,将新增令牌数量对应的令牌更新到所述第一令牌桶;在所述第一令牌桶中第一令牌的数量达到最大值时,将剩余令牌更新到所述第二令牌桶;在所述第二令牌桶中第二令牌的数量达到最大值时,丢弃剩余的令牌。
更具体的,在报文A进入报文转发设备的同时,第一令牌桶和第二令牌桶会更新桶内的令牌个数,以供每一次进入设备的报文使用。每次报文进入设备都会触发设备向第一令牌桶中添加令牌,每次添加的数目为CIR除以3 (表示向第一令牌桶中投放令牌的速率,即第一令牌桶允许传输或转发报文的平均速率)。当向第一令牌桶中添加令牌后,桶中的令牌总数超过了CBS 后,那么将剩余的令牌数添加到第二令牌桶来满足突发流量,如果添加到第二令牌桶中的令牌超过了EBS,那么剩余的令牌丢弃。
图4是根据另一示例性实施例示出的一种报文转发方法的示意图。图4 所示的40是对图2所示的流程的详细描述。
长度为len的以太网报文A流入到设备端口gige0_1中,报文经过预处理后送到QoS模块。
设备接收到长度为len的报文后,根据长度len从第一令牌桶中获取令牌。此时假设报文A为第一份进入设备的报文,那么此时第一令牌桶中的令牌为满令牌状态,第一令牌桶中的总令牌个数为CBS(第一令牌桶承诺突发尺寸,表示第一令牌桶的容量,即第一令牌桶瞬间能够通过的承诺突发流量),令牌桶中的剩余令牌数为m,此时m与CBS相等,根据报文长度len从令牌桶中获取令牌。
首先可确定从第一令牌桶中获取令牌的个数。设备可采用4字节的存储空间来存放第一令牌桶的令牌数,设备通过操作4字节原子变量的操作方式操作第一令牌桶中的令牌数目,设备收到的报文A长度len除以3,结果记为 hlen,然后从第一令牌桶中扣除hlen个令牌,表明报文A获得了通信证即获取到了令牌,此时第一令牌桶桶中剩余令牌数令牌数为m-hlen,若此结果大于0,则表示令牌桶中有足够的令牌供报文A使用,则报文A允许转发。如果结果小于0则表明第一令牌桶的令牌数不够报文A转发使用,那么将hlen 个令牌还给第一令牌桶,报文A需重新到第二令牌桶中获取令牌。
第二令牌桶中的总令牌个数可记为EBS(第二令牌桶承诺突发尺寸,表示第二令牌桶的容量,即第二令牌桶瞬间能够通过的承诺突发流量),仍然采用4字节的存储空间来存放第二令牌桶的令牌数,同样通过操作4字节原子变量的操作方式操作第二令牌桶中的令牌数目。从第二令牌桶中取出hlen个令牌交给报文A使用,如果第二令牌桶中的剩余令牌数大于0,则报文A被放通,如果小于0,此时报文A被丢弃,达到了端口限速的效果。
更进一步的,在报文A进入设备的同时,第一令牌桶和第二令牌桶会更新桶内的令牌个数,以供每一次进入设备的报文使用。每次报文进入设备都会触发设备向第一令牌桶中添加令牌,每次添加的数目为CIR除以3。当向第一令牌桶中添加令牌后,桶中的令牌总数超过了CBS后,可将剩余的令牌数添加到第二令牌桶来满足突发流量,如果添加到第二令牌桶中的令牌超过了EBS,那么剩余的令牌丢弃。
在本公开的报文转发方法中,对进入设备的报文长度除以3,然后再从令牌桶中获取令牌,对令牌桶中令牌的操作用4字节原理变量操作函数操作的方式,通过操作4字节源自变量操作函数来控制第一令牌桶和第二令牌桶中的令牌数目,有效地提升转发性能,性能提升比8字节原理变量函数提升 30%左右。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由 CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图5是根据一示例性实施例示出的一种报文转发装置的框图。如图5所示,报文转发装置50包括:报文长度模块502,第一令牌模块504,第二令牌模块506,报文转发模块508。
报文长度模块502用于基于报文的长度确定其对应的目标令牌数量;
第一令牌模块504用于在第一令牌桶中的第一令牌的数量小于所述目标令牌数量时,提取第二令牌桶中的第二令牌的数量;所述第一令牌模块504 还用于在所述第一令牌桶中的所述第一令牌的数量大于等于所述目标令牌数量时,由所述第一令牌桶提取所述目标令牌数量的第一令牌;
第二令牌模块506用于在所述第二令牌桶中的所述第二令牌的数量大于等于所述目标令牌数量时,由所述第二令牌桶提取所述目标令牌数量的第二令牌;第二令牌模块506还用于在所述第二令牌桶中的所述第二令牌的数量小于所述目标令牌数量时,丢弃所述报文。
报文转发模块508用于基于所述第二令牌进行所述报文的转发。所述报文转发模块508还用于基于所述第一令牌进行所述报文的转发。
根据本公开的报文转发装置,基于报文的长度确定其对应的目标令牌数量;在第一令牌桶中的第一令牌的数量小于所述目标令牌数量时,提取第二令牌桶中的第二令牌的数量;在所述第二令牌桶中的所述第二令牌的数量大于等于所述目标令牌数量时,由所述第二令牌桶提取所述目标令牌数量的第二令牌;基于所述第二令牌进行所述报文的转发的方式,能够有效地提升报文转发性能,提升网络业务服务质量。
图6是根据一示例性实施例示出的一种电子设备的框图。
下面参照图6来描述根据本公开的这种实施方式的电子设备600。图6 显示的电子设备600仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600以通用计算设备的形式表现。电子设备600 的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图2,图3,图 4中所示的步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备600’(例如键盘、指向设备、蓝牙设备等)通信,使得用户能与该电子设备600交互的设备通信,和/或该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650 进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络 (例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、 RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图7所示,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是 CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述方法。
所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、 C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN) 或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备 (例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:基于报文的长度确定其对应的目标令牌数量;在第一令牌桶中的第一令牌的数量小于所述目标令牌数量时,提取第二令牌桶中的第二令牌的数量;在所述第二令牌桶中的所述第二令牌的数量大于等于所述目标令牌数量时,由所述第二令牌桶提取所述目标令牌数量的第二令牌;基于所述第二令牌进行所述报文的转发。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施例的方法。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (12)
1.一种报文转发方法,其特征在于,包括:
基于报文的长度确定其对应的目标令牌数量;
在第一令牌桶中的第一令牌的数量小于所述目标令牌数量时,提取第二令牌桶中的第二令牌的数量;
在所述第二令牌桶中的所述第二令牌的数量大于等于所述目标令牌数量时,由所述第二令牌桶提取所述目标令牌数量的第二令牌;
基于所述第二令牌进行所述报文的转发。
2.如权利要求1所述的方法,其特征在于,还包括:
在所述第一令牌桶中的所述第一令牌的数量大于等于所述目标令牌数量时,由所述第一令牌桶提取所述目标令牌数量的第一令牌;
基于所述第一令牌进行所述报文的转发。
3.如权利要求1所述的方法,其特征在于,还包括:
在所述第二令牌桶中的所述第二令牌的数量小于所述目标令牌数量时,丢弃所述报文。
4.如权利要求1所述的方法,其特征在于,基于报文的长度确定其对应的目标令牌数量之前,还包括:
设备由以太网获取所述报文;
对所述报文进行预处理;
更新所述第一令牌桶中第一令牌和/或所述第二令牌桶中第二令牌的数量。
5.如权利要求1所述的方法,其特征在于,在第一令牌桶中的第一令牌的数量小于所述目标令牌数量时,包括:
通过操作第一令牌桶对应的第一原子变量函数获取所述第一令牌的数量;
将所述第一令牌的数量和所述目标令牌数量进行比较。
6.如权利要求1所述的方法,其特征在于,在所述第二令牌桶中的所述第二令牌的数量大于等于所述目标令牌数量时,包括:
通过操作第二令牌桶对应的第二原子变量函数获取所述第二令牌的数量;
将所述第二令牌的数量和所述目标令牌数量进行比较。
7.如权利要求5或6所述的方法,其特征在于,包括:
第一原子变量函数和/或第二原子变量函数占用四字节的存储空间。
8.如权利要求4所述的方法,其特征在于,更新所述第一令牌桶中第一令牌和/或所述第二令牌桶中第二令牌的数量,包括:
基于承诺信息速率生成新增令牌的数量;
将新增令牌数量对应的令牌作为第一令牌和/或第二令牌以更新所述第一令牌桶和/或所述第二令牌桶。
9.如权利要求8所述的方法,其特征在于,将新增令牌数量对应的令牌作为第一令牌和/或第二令牌以更新所述第一令牌桶和/或所述第二令牌桶,包括:
将新增令牌数量对应的令牌更新到所述第一令牌桶;
在所述第一令牌桶中第一令牌的数量达到最大值时,将剩余令牌更新到所述第二令牌桶;
在所述第二令牌桶中第二令牌的数量达到最大值时,丢弃剩余的令牌。
10.一种报文转发装置,其特征在于,包括:
报文长度模块,用于基于报文的长度确定其对应的目标令牌数量;
第一令牌模块,用于在第一令牌桶中的第一令牌的数量小于所述目标令牌数量时,提取第二令牌桶中的第二令牌的数量;
第二令牌模块,用于在所述第二令牌桶中的所述第二令牌的数量大于等于所述目标令牌数量时,由所述第二令牌桶提取所述目标令牌数量的第二令牌;
报文转发模块,用于基于所述第二令牌进行所述报文的转发。
11.如权利要求10所述的装置,其特征在于,还包括:
所述第一令牌模块,还用于在所述第一令牌桶中的所述第一令牌的数量大于等于所述目标令牌数量时,由所述第一令牌桶提取所述目标令牌数量的第一令牌;
所述报文转发模块,还用于基于所述第一令牌进行所述报文的转发。
12.如权利要求10所述的装置,其特征在于,还包括:
第二令牌模块,还用于在所述第二令牌桶中的所述第二令牌的数量小于所述目标令牌数量时,丢弃所述报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110663824.7A CN113411267B (zh) | 2021-06-16 | 2021-06-16 | 报文转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110663824.7A CN113411267B (zh) | 2021-06-16 | 2021-06-16 | 报文转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113411267A true CN113411267A (zh) | 2021-09-17 |
CN113411267B CN113411267B (zh) | 2023-04-07 |
Family
ID=77684013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110663824.7A Active CN113411267B (zh) | 2021-06-16 | 2021-06-16 | 报文转发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113411267B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174486A (zh) * | 2022-06-01 | 2022-10-11 | 湖南天冠电子信息技术有限公司 | 一种报文传输方法、系统及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050080918A1 (en) * | 2003-09-30 | 2005-04-14 | Nokia Inc. | TCP-friendly markers and methods using token buckets |
US20100195504A1 (en) * | 2008-12-30 | 2010-08-05 | Alcatel-Lucent Usa Inc. | Single and dual rate three color marker systems |
US20140380324A1 (en) * | 2013-06-25 | 2014-12-25 | Amazon Technologies, Inc. | Burst-mode admission control using token buckets |
CN105376175A (zh) * | 2015-12-03 | 2016-03-02 | 北京浩瀚深度信息技术股份有限公司 | 具有带宽保障功能的级联令牌桶实现方法 |
CN106330755A (zh) * | 2015-06-16 | 2017-01-11 | 中兴通讯股份有限公司 | 一种报文流量的监管方法、装置及移动通信网关 |
WO2017118009A1 (zh) * | 2016-01-07 | 2017-07-13 | 中兴通讯股份有限公司 | 一种数据报文传输控制方法和装置 |
CN109218215A (zh) * | 2017-06-29 | 2019-01-15 | 华为技术有限公司 | 一种报文传输的方法和网络设备 |
-
2021
- 2021-06-16 CN CN202110663824.7A patent/CN113411267B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050080918A1 (en) * | 2003-09-30 | 2005-04-14 | Nokia Inc. | TCP-friendly markers and methods using token buckets |
US20100195504A1 (en) * | 2008-12-30 | 2010-08-05 | Alcatel-Lucent Usa Inc. | Single and dual rate three color marker systems |
US20140380324A1 (en) * | 2013-06-25 | 2014-12-25 | Amazon Technologies, Inc. | Burst-mode admission control using token buckets |
CN106330755A (zh) * | 2015-06-16 | 2017-01-11 | 中兴通讯股份有限公司 | 一种报文流量的监管方法、装置及移动通信网关 |
CN105376175A (zh) * | 2015-12-03 | 2016-03-02 | 北京浩瀚深度信息技术股份有限公司 | 具有带宽保障功能的级联令牌桶实现方法 |
WO2017118009A1 (zh) * | 2016-01-07 | 2017-07-13 | 中兴通讯股份有限公司 | 一种数据报文传输控制方法和装置 |
CN109218215A (zh) * | 2017-06-29 | 2019-01-15 | 华为技术有限公司 | 一种报文传输的方法和网络设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174486A (zh) * | 2022-06-01 | 2022-10-11 | 湖南天冠电子信息技术有限公司 | 一种报文传输方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113411267B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108173938B (zh) | 服务器负载分流方法及装置 | |
CN110337075A (zh) | 一种基于app业务类型的短信消息发送方法、装置及电子设备 | |
CN110719215B (zh) | 虚拟网络的流信息采集方法及装置 | |
CN111769998A (zh) | 一种网络时延状态的探测方法及装置 | |
US20130185474A1 (en) | Techniques used by a virtual machine in communication with an external machine and related virtual machine system | |
CN114285781B (zh) | Srv6业务流量统计方法、装置、电子设备及介质 | |
EP0438009A1 (fr) | Méthode et système de lissage et de contrôle de débits de communications temporelles asynchrones | |
CN113411267B (zh) | 报文转发方法及装置 | |
CN112631800A (zh) | 面向kafka的数据传输方法、系统、计算机设备及存储介质 | |
US20070253334A1 (en) | Switch routing algorithm for improved congestion control & load balancing | |
Hottmar et al. | Analytical model of a weighted round robin service system | |
US20240012829A1 (en) | Managing extract, transform and load systems | |
US11256550B2 (en) | Estimating device and estimating method | |
CN114124822B (zh) | 报文匹配处理装置及方法 | |
CN116647511A (zh) | 一种数据传输流量预测方法及装置 | |
CN112994934B (zh) | 数据交互方法、装置及系统 | |
US10079769B1 (en) | Methods and apparatus for implementing dynamic rate controllers using linked list of rate programs | |
CN114880156A (zh) | 任务流量处理方法、装置及电子设备 | |
US10216672B2 (en) | System and method for preventing time out in input/output systems | |
CN114884823A (zh) | 流量拥塞控制方法、装置、计算机可读介质及电子设备 | |
CN113347116B (zh) | QoS调度延迟抖动处理方法及装置 | |
CN115022245A (zh) | 一种数据传输的方法、相关装置、设备以及存储介质 | |
CN111866100A (zh) | 一种控制数据传输速率的方法、装置和系统 | |
CN112436951A (zh) | 一种预知流量路径的方法和装置 | |
CN115794353B (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 |