CN109729013A - 一种流量整形中添加令牌的方法、装置及计算机可读存储介质 - Google Patents

一种流量整形中添加令牌的方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN109729013A
CN109729013A CN201711042753.9A CN201711042753A CN109729013A CN 109729013 A CN109729013 A CN 109729013A CN 201711042753 A CN201711042753 A CN 201711042753A CN 109729013 A CN109729013 A CN 109729013A
Authority
CN
China
Prior art keywords
queue
service
token
team
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
CN201711042753.9A
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
Shenzhen ZTE Microelectronics Technology Co Ltd
Original Assignee
Shenzhen ZTE Microelectronics 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 Shenzhen ZTE Microelectronics Technology Co Ltd filed Critical Shenzhen ZTE Microelectronics Technology Co Ltd
Priority to CN201711042753.9A priority Critical patent/CN109729013A/zh
Publication of CN109729013A publication Critical patent/CN109729013A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种流量整形中添加令牌的方法,包括:获取被服务队列的第一服务时间和第二服务时间,所述第一服务时间为上次被服务时间,所述第二服务时间为本次被服务时间;利用所述第一服务时间、所述第二服务时间和所述被服务队列对应的整形权重计算令牌添加数量,根据所述令牌添加数量为所述被服务队列添加调度所述被服务队列对应的数据包的令牌。本发明还公开了一种流量整形中添加令牌的装置和计算机可读存储介质。

Description

一种流量整形中添加令牌的方法、装置及计算机可读存储 介质
技术领域
本发明涉及无线通信领域,尤其涉及一种流量整形中添加令牌的方法、装置及计算机可读存储介质。
背景技术
随着网络应用的不断发展,网络协议电视(Internet Protocol Television,IPTV)、互联网协议电话(Voice over Internet Protocol,VOIP)、视频会议等非传统数据通信业务的新型业务的不断推出,对网络的服务质量(Quality of Service,QoS)提出了更高的时延、丢包率和抖动控制要求。为了保证QoS的实现,通常在网络处理器或路由器中会有专门的拥塞管理模块。这个拥塞管理模块控制帧、信元或分组如何离开一个设备。
拥塞管理模块的一个功能是限速,这个功能由整形控制组件完成,整形控制组件控制的对象是队列,队列内存储的是同一类型的数据包。整形控制组件以用户配置的整形速率添加令牌到队列的令牌桶内。令牌桶内有令牌的队列可以调度数据包离开设备。队列调度数据包离开设备时会消耗队列的令牌桶内的令牌。
现有的整块控制组件一般采用加权分配算法比如:加权公平队列(Weighted FairQueuing,WFQ)、动态加权循环法(dynamic weighted round-robin,DWRR)给队列分配令牌,令牌数可以转化为带宽。也就是将用户配置的整形速率转化为一个整形权重分配给队列。每个队列根据自身的整形权重,获得令牌添加的机会。整形权重大的队列,获得令牌添加的机会多,对应的整形速率大;整形权重小的队列,获得令牌添加的机会少,对应的整形速率小。
在上述令牌添加的结构中,存在以下问题:每个队列的令牌添加都是根据所有队列整形值之和进行添加,故而添加令牌是针对于所有队列,不管队列整形值是大还是小,都在该队列被服务的固定时隙添加同样的令牌个数,这就导致队列整形值小的突发会很大,使得数据流不均匀。在队列数越多的情况下,这种突发会越大。如果所有队列的超配,那么突发是很难让人接受的,而且超配需要的资源也是很大。
因此,亟需提供一种流量整形中添加令牌的方案,能够为每个队列添加的令牌的数量相互独立。
发明内容
有鉴于此,本发明实施例希望提供一种流量整形中添加令牌的方法、装置及计算机可读存储介质,能够为每个队列添加的令牌的数量相互独立。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种流量整形中添加令牌的方法,所述方法包括:
获取被服务队列的第一服务时间和第二服务时间,所述第一服务时间为上次被服务时间,所述第二服务时间为本次被服务时间;
利用所述第一服务时间、所述第二服务时间和所述被服务队列对应的整形权重计算令牌添加数量,根据所述令牌添加数量为所述被服务队列添加调度所述被服务队列对应的数据包的令牌。
上述方案中,所述获取被服务队列的第一服务时间包括:
根据所述被服务队列的队列标识确定所述第一地址;
根据所述第一地址获取所述第一服务时间。
上述方案中,所述方法还包括:
对所述被服务队列的队列标识进行哈希运算得到第二地址;
根据所述第二地址获取所述被服务队列对应的整形权重。
上述方案中,所述方法还包括:
根据出队队列对应的整形权重从出队队列中确定所述被服务队列,所述出队队列为令牌数小于设定的出队阈值的队列。
上述方案中,所述方法还包括:
根据设定的扫描周期置出队队列为所述被服务队列,所述出队队列为令牌数小于设定的出队阈值的队列。
本发明实施例还提供一种流量整形中添加令牌的装置,所述装置包括:获取单元和添加单元;其中,
所述获取单元,用于获取被服务队列的第一服务时间和第二服务时间,所述第一服务时间为上次被服务时间,所述第二服务时间为本次被服务时间;
所述添加单元,用于利用所述第一服务时间、所述第二服务时间和所述被服务队列对应的整形权重计算令牌添加数量,根据所述令牌添加数量为所述被服务队列添加调度所述被服务队列对应的数据包的令牌。
上述方案中,所述获取单元获取被服务队列的第一服务时间包括:
根据所述被服务队列的队列标识确定所述第一地址;
根据所述第一地址获取所述第一服务时间。
上述方案中,所述装置还包括:权重获取单元,用于:
对所述被服务队列的队列标识进行哈希运算得到第二地址;
根据所述第二地址获取所述被服务队列对应的整形权重。
上述方案中,所述装置还包括:第一确定单元,用于:根据出队队列对应的整形权重从出队队列中确定所述被服务队列,所述出队队列为令牌数小于设定的出队阈值的队列。
上述方案中,所述装置还包括:第二确定单元,用于:
根据设定的扫描周期置出队队列为所述被服务队列,所述出队队列为令牌数小于设定的出队阈值的队列。
本发明实施例还提供一种流量整形中添加令牌的装置,包括:处理器、用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序时,执行上述流量整形中添加令牌的方法的步骤。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述流量整形中添加令牌的方法的步骤。
本发明实施例的一种流量整形中添加令牌的方法、装置及计算机可读存储介质,包括:获取被服务队列的第一服务时间和第二服务时间,所述第一服务时间为上次服务时间,所述第二服务时间为本次服务时间;利用所述第一服务时间、所述第二服务时间和所述被服务队列的整形权重计算令牌添加数量,根据所述令牌添加数量为所述被服务队列添加调度所述被服务队列对应的数据包的令牌。如此,根据被服务队列的上次服务时间、本次服务时间和对应的整形权重来确定为被服务队列添加令牌的令牌添加数量,实现队列和队列之间添加令牌个数互不干扰,各自独立。
附图说明
图1为本发明实施例一提供的流量整形中添加令牌的方法的流程示意图;
图2为本发明实施例二提供的流量整形中添加令牌的方法的流程示意图;
图3为本发明实施例四提供的一种流量整形中添加令牌的装置的结构示意图;
图4为本发明实施例四提供的另一种流量整形中添加令牌的装置的结构示意图;
图5为本发明实施例五提供的一种流量整形中添加令牌的装置的结构示意图;
图6为本发明实施例六提供的一种流量整形中添加令牌的装置的结构示意图。
具体实施方式
下面结合附图对技术方案的实施作进一步的详细描述。
实施例一
本发明实施例一提供一种流量整形中添加令牌的方法,如图1所示,所述方法包括:
S101、获取被服务队列的第一服务时间和第二服务时间,所述第一服务时间为上次被服务时间,所述第二服务时间为本次被服务时间;
在进行流量的数据整形时,根据队列对应的令牌的数量情况,队列的状态分为出队状态、被服务状态和调度状态。当队列对应的令牌数小于设定的出队阈值时,队列为出队状态,等待被服务以添加令牌。当为该队列添加令牌,队列对应的令牌数增加,队列为被服务状态。当队列对应的令牌数大于服务阈值时,队列为调度状态,此时,当该队列对应的数据包达到时,队列调度数据包离开终端,被发送至网络,并消耗队列的令牌桶内的令牌。这里,将出队状态的队列称为出队队列,将被服务状态的队列称为被服务队列,将调度状态的队列称为调度队列。其中,出队阈值和服务阈值为根据用户需求设置的数值,出队阈值小于服务阈值。
在本发明实施例中,在流量整形中,当队列的令牌小于出队阈值时,该队列进入令牌添加补充机制中,将进入令牌添加补充机制中且等待被服务的队里称为出队队列。当出队队列等到被服务时,为该出队队列添加令牌时,被添加令牌的队列可称为为被服务队列。从出队队列中确定被服务队列可包括:根据出队队列对应的整形权重从出队队列中确定所述被服务队列,所述出队队列为令牌数小于设定的出队阈值的队列。当队列为出队状态,等待添加令牌,根据各出队队列对应的整形权重的比例来确定当前添加令牌的队列,即进入服务状态的队列,比如:当前出队队列包括队列1和队列2,且队列1对应的整形权重1为0.5,队列2对应的整形权重2为1,则整形权重1:整形权重2=1:2,队列1与队列2被选择为被服务队列的概率为1:2,当被服务周期为1ms时,每3ms中,队列1有1ms被选择为被服务队列,队列2有2ms被选择为被服务队列。又比如:同上例,当前出队队列包括队列1和队列2,且队列1对应的整形权重1为0.5,队列2对应的整形权重2为1,则整形权重1:整形权重2=1:2,队列1与队列2被选择为被服务队列的概率为1:2,在1s内,队列1被选择为被服务队列的次数为500次,队列2被选择为被服务队列的次数为1000次,从而各出队队列根据各出队队列的整形权重的比例获得服务机会。其中,各出队队列对应的整形权重可通过对各出队队列的整形速率进行转换而得到。
从出队队列中确定被服务队列还可包括:根据设定的扫描周期置出队队列为所述被服务队列。这里,根据扫描周期周期性地对多个出队队列进行扫描,置扫描到的出队队列进入被服务状态,进入被服务状态后则对该出队队列添加令牌,从而使得该出队队列在固定时间被服务一次。这里,扫描周期可根据实际需求进行设置。比如,共有1000k队列,一人服务一次,时间很长,一次添加的令牌数就会很大,此时,添加的令牌数就有可能大于令牌桶的桶深,通过扫描周期的扫描,对出队队列进行固定时间的扫描,使得该出队队列在固定时间被服务一次,避免出现上述添加的令牌数大于令牌桶的桶深的问题。
确定队列进入被服务状态作为被服务队列时,为被服务队列添加令牌,此时,获取被服务队列的第一服务时间和第二服务时间。第一服务时间为上次被被服务时间,即上次添加令牌的时间。第二服务时间为本次被服务时间,即当前时间。
在流量整形中为被服务队列添加令牌时,需获取被服务队列的第一服务时间和第二服务时间。获取被服务队列的第一服务时间包括:根据所述被服务队列的队列标识得到所述第一地址;根据所述第一地址获取所述第一服务时间。其中,队列标识可为队列号。这里,第一地址为存储队列的上次被服务时间的地址。第二服务时间即本次被服务时间,可通过全局计数器得到。
这里,当为队列添加令牌后,记录当次添加令牌的时间,将记录的时间作为当次被服务时间进行存储,在存储时,可对该队列的队列号进行运算来得到存储当次被服务时间的第一地址,或直接以队列号为存储当次被服务时间的第一地址,又或者根据队列号与第一地址的映射关系确定存储当次被服务时间的第一地址,对队列号与第一地址之间的关系不进行限定。这里,当队列号和第一地址之间具有映射关系时,可确定存储当次被服务时间的第一地址后,生成队列号与第一地址的映射关系。当再次为该队列添加令牌时,根据队列号确定存储上次被服务时间的第一地址,从第一地址获取该队列对应的第一服务时间。
在实际应用中,可直接根据队列号与第一服务时间的映射关系来确定一队列对应的第一服务时间。
这里,队列号对应的第一地址内存储的第一服务时间随着该队列添加令牌次数的增多而更新;比如,在第五次被服务时,第一地址内存储的时间为第四次被服务的时间;在第六次被服务时,第一地址内存储的时间为第五次被服务的时间,以此类推,在第N次被服务时,第一地址内存储的时间为第N-1次被服务的时间。
这里,在计算令牌添加数量时,还需要获取被服务队列对应的整形权重,具体的,对所述被服务队列的队列标识进行哈希运算得到第二地址;根据所述第二地址获取所述被服务队列对应的整形权重。队列标识可为队列号。对被服务队列的队列号进行哈希运算,得到该被服务队列对应的第二地址,根据第二地址从存储队列整形权重的存储区读取该被服务队列对应的整形权重。这里,该整形权重可通过对各出队队列的整形速率进行转换而得到。
需要说明的是,对于同一队列,不管为出队状态的出队队列还是被服务状态的被服务队列,其对应的整形权重不变。因此,一队列为出队状态的出队队列时和被服务状态的被服务队列时,获取整形权重的方式相同,都可通过对队列号进行哈希运算得到第二地址,从存储整形权重的第二地址读取该队列对应的整形权重。
S102、利用所述第一服务时间、所述第二服务时间和所述被服务队列对应的整形权重计算令牌添加数量,根据所述令牌添加数量为所述被服务队列添加调度所述被服务队列对应的数据包的令牌。
当得到被服务队列的第一服务时间、第二服务时间和对应的整形权重后,通过第一服务时间、第二服务时间和对应的整形权重计算令牌添加数量,具体的计算方法包括WFQ算法或DWRR算法。比如:以第一服务时间和第二服务时间的时间差和整形权重为WFQ算法的输入参数,经过WFQ算法,差值阶段得到令牌添加数量。这里,对计算令牌添加数量的计算方法不进行限制。在通过WFQ算法计算令牌添加数量时,可通过WFQ来计算令牌添加数量,使得计算的令牌添加数量为整数。
在利用第一服务时间、第二服务时间和对应的整形权重计算令牌添加数量时,也可对计算的令牌添加数量进行取整得到整数的令牌添加数量。
确定令牌添加数量后,向该被服务队列对应的令牌桶中添加令牌,添加的令牌的数量为令牌添加数量。当队列的令牌桶中的令牌的数量达到服务阈值时,此时,不再为该队列添加令牌,而将该队列从令牌添加补充机制中出队,开始调度该队列对应的数据包。
在本发明实施例中,队列的令牌用于调度该队列对应的数据包的发送,以通过调度发送的数据包的大小,实现流量的整形。
在本发明实施例中,在流量整形中添加令牌时,根据被服务队列的上次被服务时间、本次被服务时间和对应的整形权重来确定为被服务队列添加的令牌的令牌添加数量,各队列直接根据各自的整形权重以及两次被服务时间差确定两次被服务时间差内实际需要添加的令牌个数,实现队列和队列之间添加令牌个数互不干扰,各自独立。进一步地,通过扫描周期周期性地对出队队列进行扫描,能让队列固定时间被服务一次,不至于太久没服务导致一次性把令牌桶撑爆,并且只要有计数器就会不停的循环,能够解决套圈问题。进一步地,当队列对应的令牌数小于出队阈值时,置队列为出队状态,从而根据队列对应的令牌数确定等待被服务的出队队列,能够让令牌为负的队列不至于形成死循环,使其有再次被添加令牌的机会。
实施例二
在本发明实施例中,对上述实施例提供的流量整形中添加令牌的方法进行进一步描述。如图2所示,包括:
S201、获取上次被服务时间和本次被服务时间;
利用要被服务的队列的队列号去读取存储区中存储的上次被服务的时间点Ts,根据全局计数器得到本次被服务的时间Tg。
S202、获取被服务队列对应的整形权重;
对要被服务队列的队列号进行哈希hash运算,得到存储整形参数的ram地址,该ram地址为第二地址,用第二地址从配置整形参数ram中读取配置的整形权重c。
这里,通过对队列号进行hash运算,节省存储资源,比如:将16位的队列号通过循环冗余校验CRC计算得到10位的第二地址即指针,通过10位的指针来存储整形权重。
S203、计算令牌添加数量;
根据该队列的上次被服务的时间Ts、本次被服务的时间Tg和整形权重c,计算令牌添加数量n。根据权重最大满带宽,得到n的最大位宽就是权重的最大位宽,比如:通过最大的4bit表示1G,则所有的权重位宽为4bit,此时,n的最大位宽为4bit。实际上由于补充扫描机制的存在,可以让n的最大值不会那么大。
S204、根据计算的令牌添加数量添加令牌。
根据计算出的令牌添加数量n添加令牌到令牌桶中。
实施例三
在本发明实施例中,通过具体的网络流量整形的应用场景,以对本发明实施例提供的流量整形中添加令牌的方法进行进一步描述。
在网络流量整形方法中,主要包含令牌消耗、令牌添加、令牌计算、添加补充机制和补充扫描机制五个方面。在令牌计算过程中,根据上次被服务时间和本次被服务时间的时间差来确定本次需要添加令牌个数。每个队列的令牌计算都是根据时间差来计算令牌添加个数,故而实现的是本队列的绝对权重分配。
具体流程如下:
调度数据包时的令牌消耗触发令牌桶内的令牌数量的减少,当令牌数量减少至出队阈值后,通过令牌计算计算令牌添加个数,即根据配置的队列整形权重和两次被服务的时间差来计算本次令牌需要添加的个数。具体的,在令牌消耗中,令牌桶中令牌个数达到出队条件后,此时该队列从令牌消耗进入到添加补充机制中去,该添加补充机制可以实现所有进入队列按照各自权重按比例获得被服务机会。当有队列获得被服务机会后,进入被服务状态执行令牌计算和令牌添加。其中,出队条件可为:令牌桶内的令牌的数量小于设定的出队阈值。
在令牌添加后,如果令牌满足出该添加补充机制的条件,则出队,如果不符合出该添加补充机制的条件,则再次进入该添加补充机制等待下一次的被服务机会;其中,当令牌桶内的令牌数大于服务阈值时,满足出添加补充机制的条件。每次有队列被服务的时候,仍然按照上次服务时间和本次服务时间及队列配置的整形权重来计算添加的令牌添加个数,根据令牌添加个数执行令牌添加,添加令牌到令牌桶中。
如果队列进入到令牌添加补充机制中,因队列数多,很久很久才会被服务到,假设这时候的令牌桶设置的又不是很大,那就会导致一次添加令牌个数会大于令牌桶的上限。通过补充扫描机制能够避免这种情况出现,在补充扫描机制中,以扫描周期为周期,在固定时间内扫描一个队列,该队列也进入被服务状态,按照上次服务时间和本次服务时间差和队列对应的整形权重来计算本次令牌添加个数。此外还有个重要的作用就是解决计数器套圈问题。
在令牌计算中计算令牌添加个数时,可以直接根据自身整形权重计算这两次时间差内实际需要添加的令牌个数,使得令牌添加的个数是整数而不是小数,区别于以前的正常使用差值计算中都会出现的小数问题。通过令牌添加补充机制使得令牌为负的队列不至于形成死循环,使其有再次被添加令牌的机会,让其恢复正常。通过补充扫描机制,能够让队列固定时间被服务一次,不至于太久没被服务导致一次性把令牌桶撑爆,并且只要有计数器就会不停的循环,从而解决套圈问题。
现有的整形参数配置一般是按照真实的整形值位宽配置到ram中,这样队列数越多,该ram资源越大。在本发明实施例中,通过清单profile实现的,并且对队列号进行hash运算计算得到存储整形参数的指针,通过指针查找profile获取整形参数,从而节省ram资源。
实施例四
为实现本发明实施例提供的流量整形中添加令牌的方法,本发明实施例提供一种流量整形中添加令牌的装置,如图3所示,包括:获取单元301和添加单元302;其中,
获取单元301,用于获取被服务队列的第一服务时间和第二服务时间,所述第一服务时间为上次被服务时间,所述第二服务时间为本次被服务时间;
添加单元302,用于利用所述第一服务时间、所述第二服务时间和所述被服务队列对应的整形权重计算令牌添加数量,根据所述令牌添加数量为所述被服务队列添加调度所述被服务队列对应的数据包的令牌。
获取单元301获取被服务队列的第一服务时间包括:根据所述被服务队列的队列标识确定所述第一地址;根据所述第一地址获取所述第一服务时间。
如图4所示,所述装置还包括:权重获取单元303,用于:对所述被服务队列的队列标识进行哈希运算得到第二地址;根据所述第二地址获取所述被服务队列对应的整形权重。
所述装置还包括:第一确定单元304,用于:根据出队队列对应的整形权重从出队队列中确定所述被服务队列,所述出队队列为令牌数小于设定的出队阈值的队列。
所述装置还包括:第二确定单元305,用于:根据设定的扫描周期置出队队列为所述被服务队列,所述出队队列为令牌数小于设定的出队阈值的队列。
需要说明的是:上述实施例提供的流量整形中添加令牌的装置在进行令牌添加时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的流量整形中添加令牌的装置与实施例一提供的流量整形中添加令牌的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
实施例五
在本发明实施例中,对本发明实施例提供的流量整形中添加令牌的装置进行进一步说明,如图5所示,包括:配置模块501、补充扫描机制模块502、令牌分发模块503、令牌添加补充机制模块504、存储模块505和令牌消耗模块506;其中,
配置模块501,配置队列的整形权重c,令牌桶的桶深等信息。
补充扫描机制模块502,通过扫描周期对出队队列进行扫描,主要完成队列数的扫描和解决计数器套圈问题;
令牌分发模块503,根据队列号做hash运算,最后得到整形参数ram的地址值,通过得到的地址获取整形权重,并读令牌桶信息和指针等返回结果,根据队列的上次服务时间和本次服务时间及队列的整形权重,计算本次令牌添加个数,向队列的令牌桶中添加相应的令牌。
令牌添加补充机制模块504,该模块主要完成令牌下发模块中出队的队列入到该模块,在该模块中按对应的整形权重来获得相应的服务机会,当队列被服务的时候进入到,计算添加令牌数,直到满足出补充添加机制的条件时才不会再次进入该令牌添加补充机制模块504,否则从令牌分发模块503再次进入令牌添加补充机制模块504。
存储模块505,存储队列的整形权重、桶深等信息。
令牌消耗模块506,当队列的令牌数满足出补充添加机制的条件时进入该模块,在该模块中,当队列调度数据包离开设备时,消耗相应的令牌个数。
本实施例中的补充扫描机制模块502实现实施例四中的第二确定单元305,本实施例中的令牌分发模块503实现实施例四中的权重获取单元303、获取单元301和添加单元302的组合,本实施例中的令牌添加补充机制模块504实现实施例四中的第一确定单元304。
实施例六
本发明实施例还提供了一种流量整形中添加令牌的装置,该装置包括:处理器、用于存储能够在处理器上运行的计算机程序的存储器;
其中,所述处理器用于运行所述计算机程序时,执行:获取被服务队列的第一服务时间和第二服务时间,所述第一服务时间为上次被服务时间,所述第二服务时间为本次被服务时间;利用所述第一服务时间、所述第二服务时间和所述被服务队列对应的整形权重计算令牌添加数量,根据所述令牌添加数量为所述被服务队列添加调度所述被服务队列对应的数据包的令牌。
所述处理器还用于运行所述计算机程序时,执行所述获取被服务队列的第一服务时间包括:根据所述被服务队列的队列标识确定所述第一地址;根据所述第一地址获取所述第一服务时间。
所述处理器还用于运行所述计算机程序时,还执行:对所述被服务队列的队列标识进行哈希运算得到第二地址;根据所述第二地址获取所述被服务队列对应的整形权重。
所述处理器还用于运行所述计算机程序时,还执行:根据出队队列对应的整形权重从出队队列中确定所述被服务队列,所述出队队列为令牌数小于设定的出队阈值的队列。
所述处理器还用于运行所述计算机程序时,还执行:根据设定的扫描周期置出队队列为所述被服务队列,所述出队队列为令牌数小于设定的出队阈值的队列。
基于此,图6是本发明实施例六的流量整形中添加令牌的装置的结构示意图,图6所示的流量整形中添加令牌的装置包括:至少一个处理器601和存储器602。流量整形中添加令牌的装置中的各个组件通过总线系统603耦合在一起。可理解,总线系统603用于实现这些组件之间的连接通信。
可以理解,存储器602可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器702旨在包括但不限于这些和任意其它适合类型的存储器。
本发明实施例中的存储器602用于存储各种类型的数据以支持实施例六的流量整形中添加令牌的装置的操作。
上述本发明实施例揭示的方法可以应用于处理器601中,或者由处理器601实现。处理器601可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器601中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器601可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器601可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器602,处理器601读取存储器602中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,实施例六的流量整形中添加令牌的装置可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述方法。
实施利七
在示例性实施例中,本发明实施例还提供了一种计算机可读存储介质,例如包括计算机程序的存储器602,上述计算机程序可由流量整形中添加令牌的装置的处理器601执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器运行时,执行:获取被服务队列的第一服务时间和第二服务时间,所述第一服务时间为上次被服务时间,所述第二服务时间为本次被服务时间;利用所述第一服务时间、所述第二服务时间和所述被服务队列对应的整形权重计算令牌添加数量,根据所述令牌添加数量为所述被服务队列添加调度所述被服务队列对应的数据包的令牌。
该计算机程序被处理器运行时,执行所述获取被服务队列的第一服务时间包括:根据所述被服务队列的队列标识确定所述第一地址;根据所述第一地址获取所述第一服务时间。
该计算机程序被处理器运行时,还执行:对所述被服务队列的队列标识进行哈希运算得到第二地址;根据所述第二地址获取所述被服务队列对应的整形权重。
该计算机程序被处理器运行时,还执行:根据出队队列对应的整形权重从出队队列中确定所述被服务队列,所述出队队列为令牌数小于设定的出队阈值的队列。
该计算机程序被处理器运行时,还执行:根据设定的扫描周期置出队队列为所述被服务队列,所述出队队列为令牌数小于设定的出队阈值的队列。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (12)

1.一种流量整形中添加令牌的方法,其特征在于,所述方法包括:
获取被服务队列的第一服务时间和第二服务时间,所述第一服务时间为上次被服务时间,所述第二服务时间为本次被服务时间;
利用所述第一服务时间、所述第二服务时间和所述被服务队列对应的整形权重计算令牌添加数量,根据所述令牌添加数量为所述被服务队列添加调度所述被服务队列对应的数据包的令牌。
2.根据权利要求1所述的方法,其特征在于,所述获取被服务队列的第一服务时间包括:
根据所述被服务队列的队列标识确定所述第一地址;
根据所述第一地址获取所述第一服务时间。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述被服务队列的队列标识进行哈希运算得到第二地址;
根据所述第二地址获取所述被服务队列对应的整形权重。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据出队队列对应的整形权重从出队队列中确定所述被服务队列,所述出队队列为令牌数小于设定的出队阈值的队列。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据设定的扫描周期置出队队列为所述被服务队列,所述出队队列为令牌数小于设定的出队阈值的队列。
6.一种流量整形中添加令牌的装置,其特征在于,所述装置包括:获取单元和添加单元;其中,
所述获取单元,用于获取被服务队列的第一服务时间和第二服务时间,所述第一服务时间为上次被服务时间,所述第二服务时间为本次被服务时间;
所述添加单元,用于利用所述第一服务时间、所述第二服务时间和所述被服务队列对应的整形权重计算令牌添加数量,根据所述令牌添加数量为所述被服务队列添加调度所述被服务队列对应的数据包的令牌。
7.根据权利要求6所述的装置,其特征在于,所述获取单元获取被服务队列的第一服务时间包括:
根据所述被服务队列的队列标识确定所述第一地址;
根据所述第一地址获取所述第一服务时间。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:权重获取单元,用于:
对所述被服务队列的队列标识进行哈希运算得到第二地址;
根据所述第二地址获取所述被服务队列对应的整形权重。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:第一确定单元,用于:根据出队队列对应的整形权重从出队队列中确定所述被服务队列,所述出队队列为令牌数小于设定的出队阈值的队列。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:第二确定单元,用于:
根据设定的扫描周期置出队队列为所述被服务队列,所述出队队列为令牌数小于设定的出队阈值的队列。
11.一种流量整形中添加令牌的装置,其特征在于,包括:处理器、用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序时,执行权利要求1至5任一项所述方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述方法的步骤。
CN201711042753.9A 2017-10-30 2017-10-30 一种流量整形中添加令牌的方法、装置及计算机可读存储介质 Pending CN109729013A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711042753.9A CN109729013A (zh) 2017-10-30 2017-10-30 一种流量整形中添加令牌的方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711042753.9A CN109729013A (zh) 2017-10-30 2017-10-30 一种流量整形中添加令牌的方法、装置及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN109729013A true CN109729013A (zh) 2019-05-07

Family

ID=66293999

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711042753.9A Pending CN109729013A (zh) 2017-10-30 2017-10-30 一种流量整形中添加令牌的方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN109729013A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112866136A (zh) * 2021-03-31 2021-05-28 中国工商银行股份有限公司 业务数据处理方法和装置
WO2022012054A1 (zh) * 2020-07-17 2022-01-20 苏州浪潮智能科技有限公司 一种动态预防流量攻击的方法、系统、设备及存储介质
CN114520789A (zh) * 2022-02-21 2022-05-20 北京浩瀚深度信息技术股份有限公司 基于令牌桶的共享缓存报文处理方法、装置、设备及介质
CN114598658A (zh) * 2022-03-07 2022-06-07 浪潮云信息技术股份公司 一种流量限制方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060274779A1 (en) * 2005-06-01 2006-12-07 Cisco Technology, Inc. A California Corporation Filling token buckets of schedule entries
CN1949748A (zh) * 2006-10-09 2007-04-18 华为数字技术有限公司 一种对多用户进行qos调度的方法和装置
CN101005453A (zh) * 2006-12-26 2007-07-25 华为技术有限公司 流量限制技术中刷新令牌桶的方法及装置
CN101599905A (zh) * 2009-06-30 2009-12-09 中兴通讯股份有限公司 一种实现流量整形令牌添加的方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060274779A1 (en) * 2005-06-01 2006-12-07 Cisco Technology, Inc. A California Corporation Filling token buckets of schedule entries
CN1949748A (zh) * 2006-10-09 2007-04-18 华为数字技术有限公司 一种对多用户进行qos调度的方法和装置
CN101005453A (zh) * 2006-12-26 2007-07-25 华为技术有限公司 流量限制技术中刷新令牌桶的方法及装置
CN101599905A (zh) * 2009-06-30 2009-12-09 中兴通讯股份有限公司 一种实现流量整形令牌添加的方法、装置及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022012054A1 (zh) * 2020-07-17 2022-01-20 苏州浪潮智能科技有限公司 一种动态预防流量攻击的方法、系统、设备及存储介质
CN112866136A (zh) * 2021-03-31 2021-05-28 中国工商银行股份有限公司 业务数据处理方法和装置
CN112866136B (zh) * 2021-03-31 2023-05-02 中国工商银行股份有限公司 业务数据处理方法和装置
CN114520789A (zh) * 2022-02-21 2022-05-20 北京浩瀚深度信息技术股份有限公司 基于令牌桶的共享缓存报文处理方法、装置、设备及介质
CN114520789B (zh) * 2022-02-21 2023-11-21 北京浩瀚深度信息技术股份有限公司 基于令牌桶的共享缓存报文处理方法、装置、设备及介质
CN114598658A (zh) * 2022-03-07 2022-06-07 浪潮云信息技术股份公司 一种流量限制方法及装置

Similar Documents

Publication Publication Date Title
CN109729013A (zh) 一种流量整形中添加令牌的方法、装置及计算机可读存储介质
Kliazovich et al. CA-DAG: Modeling communication-aware applications for scheduling in cloud computing
JP7083476B1 (ja) ネットワークアクセスデバイスのリソース割り当て方法および装置
CN106844051A (zh) 一种边缘计算环境中功耗优化的负载任务迁移算法
CN110380891A (zh) 一种边缘计算服务资源配置方法、装置与电子设备
CN106130960B (zh) 盗号行为的判断系统、负载调度方法和装置
CN104901989A (zh) 一种现场服务提供系统及方法
CN102495804A (zh) 软件自动化测试方法
CN111107651B (zh) 一种无线资源的调度方法及装置
CN113138860A (zh) 消息队列的管理方法及装置
Tian et al. User preference-based hierarchical offloading for collaborative cloud-edge computing
CN103618658A (zh) 一种基于时间碎片最小化的汽车FlexRay总线设计方法
US20150304227A1 (en) Queue Management Method and Apparatus
CN116166381A (zh) 一种多云管理平台中基于iaco算法的资源调度
CN116225679A (zh) 算力网络调度方法、装置及存储介质
CN105471770B (zh) 一种基于多核处理器的报文处理方法及装置
WO2019029721A1 (zh) 任务的调度方法、装置、设备及存储介质
Rajasekaran et al. {CASSINI}:{Network-Aware} Job Scheduling in Machine Learning Clusters
Qin et al. Optimal workload allocation for edge computing network using application prediction
CN116939044A (zh) 一种基于区块链技术的算力路由规划方法和装置
CN102811488B (zh) 资源调度方法、装置和系统
Huang et al. Exploiting inter-flow relationship for coflow placement in datacenters
CN109347764A (zh) 实现带宽匹配的调度方法、系统及介质
Hirsch et al. Practical criteria for scheduling CPU-bound jobs in mobile devices at the edge
CN112020073B (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