CN107306232B - 网络设备、控制器、队列管理方法及流量管理芯片 - Google Patents
网络设备、控制器、队列管理方法及流量管理芯片 Download PDFInfo
- Publication number
- CN107306232B CN107306232B CN201610257533.7A CN201610257533A CN107306232B CN 107306232 B CN107306232 B CN 107306232B CN 201610257533 A CN201610257533 A CN 201610257533A CN 107306232 B CN107306232 B CN 107306232B
- Authority
- CN
- China
- Prior art keywords
- queue
- scheduler
- instruction
- identifier
- chip
- 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.)
- Active
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/50—Queue scheduling
- H04L47/60—Queue scheduling implementing hierarchical scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请公开了一种网络设备、控制器、队列管理方法及流量管理芯片,属于网络技术领域。上述方法应用于采用HQoS技术的流量管理芯片中,该方法包括:接收控制器发送的队列管理指令,队列管理指令中包括第一调度器的标识和第一队列的标识,第一调度器是多个第1级调度器中的一个;根据队列管理指令,控制第一调度器对第一队列的调度;其中,第一调度器所调度的队列属于TM芯片的队列资源池,队列资源池中包括至少一个待分配的队列。本申请实现了队列分配与第1级调度器解耦合,达到了提高队列分配的灵活性,提高队列资源的利用率的技术效果。
Description
技术领域
本申请涉及网络技术领域,特别涉及一种网络设备、控制器、队列管理方法及流量管理芯片。
背景技术
服务质量(英文:Quality of Service;缩写:QoS)技术中,根据不同业务对业务质量的要求进行数据调度,在数据调度时,通常采用多个队列发送数据,不同队列具有不同优先级。
目前,出现了一种新的QoS技术,即分层服务质量(英文:Hierarchical Qualityof Service;缩写:HQoS)技术,该技术实现了针对不同用户、不同业务,甚至不同流量等传输对象进行分层调度。通常,网络设备通过流量管理(英文:traffic management;缩写:TM)芯片实现流量管理功能。采用HQoS技术的TM芯片包括多级调度器,每一个后一级调度器用于调度多个前一级调度器,每一个第1级调度器用于调度多个队列。例如,以TM芯片包括四级调度器为例,第4级调度器用于按端口级别调度多个第3级调度器,第3级调度器用于按用户组级别调度多个第2级调度器,第2级调度器用于按用户级别调度多个第1级调度器,第1级调度器用于按业务级别调度多个队列。在现有技术中,队列分配与第1级调度器强耦合,即为每一个第1级调度器分配固定数量的队列,每一个队列用于发送一种类型的数据。例如,为每一个第1级调度器分配8个队列,每一个队列用于发送一种业务的数据。
然而,当数据类型的总数少于固定数量时,多余的队列处于闲置状态,造成队列资源的浪费;当数据类型的总数大于固定数量时,多种不同类型的数据共用一个队列,无法实现针对不同类型的数据进行分类调度。
发明内容
本申请实施例提供了一种网络设备、控制器、队列管理方法及流量管理芯片,用于克服采用HQoS技术进行数据调度时,为每一个第1级调度器分配固定数量的队列而存在的问题。
本申请第一方面提供了一种网络设备,该网络设备包括第一通信接口和TM芯片,TM芯片包括:N级调度器,每一个第i+1级调度器用于调度多个第i级调度器,每一个第1级调度器用于调度多个队列,N为大于1的整数,i为大于等于1且小于N的整数。第一通信接口,用于接收控制器发送的队列管理指令,队列管理指令中包括第一调度器的标识和第一队列的标识,第一调度器是多个第1级调度器中的一个。TM芯片,用于根据队列管理指令,控制第一调度器对第一队列的调度。其中,第一调度器所调度的队列属于TM芯片的队列资源池,队列资源池中包括至少一个待分配的队列。
在第一方面的第一种可能的实施方式中,队列管理指令为队列分配指令,TM芯片具体用于将队列资源池中的第一队列分配给第一调度器。
在第一方面的第二种可能的实施方式中,队列管理指令为队列回收指令,TM芯片具体用于控制第一调度器停止调度第一队列,并将第一队列回收至队列资源池中。
在第一方面的第三种可能的实施方式中,队列管理指令为队列释放指令,TM芯片具体用于控制第一调度器暂停调度第一队列。
结合第一方面或者第一方面的任意一种可能的实施方式,在第一方面的第四种可能的实施方式中,网络设备还包括网络处理器。网络处理器,用于接收广域网中的服务器发送的报文;解析该报文,确定用于发送该报文的第二调度器,第二调度器是多个第1级调度器中的一个;查询第二调度器的流分类表,获取与报文所属的数据类型对应的第二队列的标识;将第二队列的标识封装至报文中;向TM芯片发送报文。其中,流分类表的每个表项包括数据类型与队列的标识之间的对应关系。TM芯片,还用于读取报文中携带的第二队列的标识;将所述报文存储至所述第二队列中。
本申请第二方面提供了一种控制器,该控制器用于控制网络设备管理队列,网络设备是如上述第一方面提供的网络设备。控制器包括第二通信接口和处理器。处理器,用于根据预先设定的队列管理规则,生成队列管理指令;其中,队列管理指令中包括第一调度器的标识和第一队列的标识,第一调度器是多个第1级调度器中的一个。第二通信接口,用于向网络设备发送队列管理指令。其中,第一调度器所调度的队列属于TM芯片的队列资源池,队列资源池中包括至少一个待分配的队列。
在第二方面的第一种可能的实施方式中,队列管理指令为队列分配指令。处理器,具体用于获取UE发送的业务请求;根据业务请求所请求的业务,确定用于发送该业务的报文的第一调度器;根据预先设定的队列分配规则,确定是否需要为第一调度器分配第一队列,第一队列用于存储或发送上述报文;若需要为第一调度器分配第一队列,则生成队列分配指令,队列分配指令中包括第一调度器的标识和第一队列的标识。
在第二方面的第二种可能的实施方式中,队列管理指令为队列回收指令。第二通信接口,还用于接收TM芯片发送的第一调度器的队列使用情况,第一调度器的队列使用情况包括分配给第一调度器的各个队列的使用情况。处理器,具体用于根据第一调度器的队列使用情况和预先设定的队列回收规则,检测是否存在需要回收的第一队列;若存在第一队列,则生成队列回收指令,队列回收指令中包括第一调度器的标识和第一队列的标识。
在第二方面的第三种可能的实施方式中,队列管理指令为队列释放指令。第二通信接口,还用于接收TM芯片发送的第一调度器的队列使用情况,第一调度器的队列使用情况包括分配给第一调度器的各个队列的使用情况。处理器,具体用于根据第一调度器的队列使用情况和预先设定的队列释放规则,检测是否存在需要释放的第一队列;若存在第一队列,则生成队列释放指令,队列释放指令中包括第一调度器的标识和第一队列的标识。
本申请第三方面提供了一种队列管理方法,该方法应用于TM芯片中,TM芯片是如上述第一方面提供的网络设备中的TM芯片。该方法包括:接收控制器发送的队列管理指令,队列管理指令中包括第一调度器的标识和第一队列的标识,第一调度器是多个第1级调度器中的一个;根据队列管理指令,控制第一调度器对第一队列的调度;其中,第一调度器所调度的队列属于TM芯片的队列资源池,队列资源池中包括至少一个待分配的队列。
在第三方面的第一种可能的实施方式中,队列管理指令为队列分配指令。根据队列管理指令,控制第一调度器对第一队列的调度,包括:将队列资源池中的第一队列分配给第一调度器。
在第三方面的第二种可能的实施方式中,队列管理指令为队列回收指令。根据队列管理指令,控制第一调度器对第一队列的调度,包括:控制第一调度器停止调度第一队列,并将第一队列回收至队列资源池中。
在第三方面的第三种可能的实施方式中,队列管理指令为队列释放指令。根据队列管理指令,控制第一调度器对第一队列的调度,包括:控制第一调度器暂停调度第一队列。
结合第三方面或者第三方面的任意一种可能的实施方式,在第三方面的第四种可能的实施方式中,该方法还包括:从网络处理器接收报文,该报文由广域网中的服务器发送给网络处理器;读取该报文中携带的第二队列的标识;其中,第二队列的标识由网络处理器解析上述报文,确定用于发送该报文的第二调度器后,根据报文所属的数据类型从第二调度器的流分类表中查询得到,并由网络处理器封装至报文中,第二调度器是多个第1级调度器中的一个,流分类表的每个表项中包括数据类型与队列的标识之间的对应关系;将所述报文存储至所述第二队列中。
本申请第四方面提供了一种队列管理方法,该方法应用于控制器中,控制器用于控制网络设备管理队列,网络设备是如上述第一方面提供的网络设备。该方法包括:根据预先设定的队列管理规则,生成队列管理指令;其中,队列管理指令中包括第一调度器的标识和第一队列的标识,第一调度器是多个第1级调度器中的一个;向网络设备发送队列管理指令;其中,第一调度器所调度的队列属于TM芯片的队列资源池,队列资源池中包括至少一个待分配的队列。
在第四方面的第一种可能的实施方式中,队列管理指令为队列分配指令。根据预先设定的队列管理规则,生成队列管理指令,包括:获取UE发送的业务请求;根据业务请求所请求的业务,确定用于发送该业务的报文的第一调度器;根据预先设定的队列分配规则,确定是否需要为第一调度器分配第一队列,第一队列用于存储或发送上述报文;若需要为第一调度器分配第一队列,则生成队列分配指令,队列分配指令中包括第一调度器的标识和第一队列的标识。
在第四方面的第二种可能的实施方式中,队列管理指令为队列回收指令。根据预先设定的队列管理规则,生成队列管理指令,包括:接收TM芯片发送的第一调度器的队列使用情况,第一调度器的队列使用情况包括分配给第一调度器的各个队列的使用情况;根据第一调度器的队列使用情况和预先设定的队列回收规则,检测是否存在需要回收的第一队列;若存在第一队列,则生成队列回收指令,队列回收指令中包括第一调度器的标识和第一队列的标识。
在第四方面的第三种可能的实施方式中,队列管理指令为队列释放指令。根据预先设定的队列管理规则,生成队列管理指令,包括:接收TM芯片发送的第一调度器的队列使用情况,第一调度器的队列使用情况包括第一调度器正在调度的各个队列的使用情况;根据第一调度器的队列使用情况和预先设定的队列释放规则,检测是否存在需要释放的第一队列;若存在第一队列,则生成队列释放指令,队列释放指令中包括第一调度器的标识和第一队列的标识。
本申请第五方面提供了一种TM芯片,该TM芯片包括至少一个组件,该至少一个组件用于实现上述第三方面或者第三方面的任意一种可能的实施方式所提供的队列管理方法。
本申请通过TM芯片接收控制器发送的队列管理指令,根据队列管理指令,控制第一调度器对第一队列的调度;解决了现有技术中,采用HQoS技术进行数据调度时,为每一个第1级调度器分配固定数量的队列而存在的问题。由于TM芯片的多个第1级调度器从共享的队列资源池中调度队列,使得队列分配与第1级调度器解耦合,第1级调度器可根据实际需求从共享的队列资源池中调度期望数量和期望类型的队列。当有新增类型的数据需要传输时,从共享的队列资源池中调度队列;当有闲置的队列时,可将闲置的队列回收至共享的队列资源池中。因此,本实施例提供的网络设备,实现了队列分配与第1级调度器解耦合,达到了提高队列分配的灵活性、提高队列资源的利用率的技术效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1是本申请一个实施例提供的实施环境的示意图;
图2A是本申请一个实施例提供的网络设备的框图;
图2B是一种分层调度模型的示意图;
图2C是另一分层调度模型的示意图;
图3是本申请一个实施例提供的控制器的框图;
图4是本申请一个实施例提供的队列管理方法的流程图;
图5是本申请另一实施例提供的队列管理方法的流程图;
图6是本申请一个实施例提供的队列分配方法的流程图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在本文中提及的“组件”是指按照逻辑划分的功能性结构,该“组件”可以由纯硬件实现,或者由软硬件的结合实现。
在本文中提及的“至少一个”是指一个或多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
请参考图1,其示出了本申请一个实施例提供的实施环境的示意图,该实施环境可以是为用户提供各类网络业务的网络系统。示例性地,如图1所示,该实施环境包括:用户设备(英文:user equipment;缩写:UE)110、网络设备120、控制器130和至少一台服务器140。
UE110可以是手机、平板电脑、个人计算机(英文:personal computer;缩写:PC)、多媒体播放设备等。UE110与网络设备120之间通过网络通信。网络可以是运营商网络,也可以是局域网。
网络设备120可以是路由器、交换机、网桥、波分复用设备、分组传送网设备、光传送网设备、防火墙、数据中心等。在本申请实施例中,以网络设备120为流量控制网关为例。
网络设备120包括第一通信接口、TM芯片和网络处理器。TM芯片和网络处理器之间通过总线相连。总线可以是外设部件互连标准(英文:peripheral componentinterconnect;缩写:PCI)总线或者扩展工业标准结构(英文:extended industrystandard architecture;缩写:EISA)总线等。总线可分为地址总线、数据总线、控制总线等。网络设备120通过第一通信接口与外部设备通信。第一通信接口可以是一个通信接口,TM芯片与网络处理器共用同一通信接口与外部设备通信;或者,第一通信接口可以是多个通信接口,TM芯片与网络处理器可分别使用不同的通信接口与外部设备通信。TM芯片用于实现流量管理功能。网络处理器用于通过第一通信接口接收外部设备发送的报文,并对报文做相应的处理。例如,网络处理器接收UE110发送的用于向服务器140请求业务数据的请求报文,并将请求报文转发给控制器130和服务器140。再例如,网络处理器接收服务器140反馈的携带有业务数据的报文,并存储或发送该报文。
在通常情况下,控制器130为独立于网络设备120的一台设备,一台控制器130可以管理一台或多台网络设备120,并为每台网络设备120提供不同的配置。控制器130可以为软件定义网格(英文:software defined network;缩写:SDN)控制器。控制器130用于向TM芯片发送队列管理指令,TM芯片根据队列管理指令管理目标调度器所调度的队列。其中,网络设备120与控制器130之间可通过网络通信。控制器130包括第二通信接口和处理器。控制器130通过第二通信接口与外部设备通信。处理器用于执行控制器130的各项功能。
服务器140部署于广域网中。服务器140用于向用户提供网络业务。不同的服务器140可以向用户提供相同或者不同类型的网络业务。在本申请实施例中,对网络业务的类型不做限定。例如,网络业务包括但不限于:网络电话(英文:voice over internetprotocol;缩写:VoIP)业务、视频点播(英文:video on demand;缩写:VOD)业务、宽带电视(英文:broadband TV;缩写:BTV)业务、家庭信息系统(英文:home information system;缩写:HIS)业务、普通上网业务(如E-mail业务)等。服务器140与UE110之间传输的数据通过网络设备120转发。
请参考图2A,其示出了本申请一个实施例提供的网络设备的框图。该网络设备200包括第一通信接口210、TM芯片220和网络处理器230。
TM芯片220包括:N级调度器,每一个第i+1级调度器用于调度多个第i级调度器,每个第1级调度器用于调度多个队列,N为大于1的整数,i为大于等于1且小于N的整数。在实际应用中,可以根据实际需求设定调度器的级数。
图2B为一种分层调度模型的示意图。在图2B所示的分层调度模型中,包括4级调度器,调度级别可包括端口级别、用户组级别、用户级别和业务级别四个级别。每一个第4级调度器用于按端口级别调度多个第3级调度器,每一个第3级调度器用于按用户组级别调度多个第2级调度器,每一个第2级调度器用于按用户级别调度多个第1级调度器,每一个第1级调度器用于按业务级别调度多个队列。
图2C为另一分层调度模型的示意图。在图2C所示的分层调度模型中,包括3级调度器,调度级别可包括端口级别、用户级别和业务级别三个级别。每一个第3级调度器用于按端口级别调度多个第2级调度器,每一个第2级调度器用于按用户级别调度多个第1级调度器,每一个第1级调度器用于按业务级别调度多个队列。
第一通信接口210,用于接收控制器发送的队列管理指令,队列管理指令中包括第一调度器的标识和第一队列的标识,第一调度器是多个第1级调度器中的一个。其中,调度器的标识用于唯一标识调度器。调度器的标识可以是调度器的名称,也可以是为调度器分配的序列号,或者是其它唯一标识符。队列的标识用于唯一标识队列。队列的标识可以是队列的名称,也可以是为队列分配的序列号,或者是其它唯一标识符。第一调度器所调度的队列属于TM芯片220的队列资源池,队列资源池中包括至少一个待分配的队列。换句话说,队列资源池中包括至少一个可供各个第1级调度器提取的待分配的队列。队列资源池中的各个队列的标识各不相同。
TM芯片220还用于根据队列管理指令,控制第一调度器对第一队列的调度。下面,从分配、回收和释放三个方面分别进行介绍和说明。
在一种可能的实施方式中,队列管理指令为队列分配指令,队列分配指令中包括第一调度器的标识和第一队列的标识。TM芯片220具体用于将队列资源池中的第一队列分配给第一调度器。第一队列是队列资源池中的一个待分配的队列,也即未被分配给第1级调度器的队列。在实际实现过程中,队列资源池对应第一队列列表,第一队列列表中记录有队列资源池中包括的所有待分配的队列的标识。例如,第一队列列表中包括:至少一个类选择(英文:class selector;缩写:CS)队列、至少一个确保转发(英文:assured forwarding;缩写:AF)队列、至少一个快速转发(英文:expedited forwarding;缩写:EF)队列、至少一个尽力服务(英文:best effort;缩写:BE)队列的标识。每一个第1级调度器对应一个第二队列列表,每一个第1级调度器对应的第二队列列表中记录有分配给该第1级调度器的队列的标识,每一个第1级调度器有权限调度其对应的第二队列列表中包含的队列。在分配过程中,TM芯片220可用于在第一队列列表中将第一队列指示为已分配,并将第一队列的标识添加至第一调度器对应的第二队列列表中。其中,在第一队列列表中将第一队列指示为已分配可以是将第一队列的标识从第一队列列表中删除,也可以是在第一队列列表中为第一队列设置相应的用于指示已分配的标识符,等等。可选地,TM芯片220还用于向第一调度器发送调度通知,调度通知用于通知第一调度器开始调度第一队列。
在另一种可能的实施方式中,队列管理指令为队列回收指令,队列回收指令中包括第一调度器的标识和第一队列的标识。TM芯片220具体用于控制第一调度器停止调度第一队列,并将第一队列回收至队列资源池中。在实际实现过程中,TM芯片220可用于从第一调度器对应的第二队列列表中删除第一队列的标识,并在第一队列列表中将第一队列指示为待分配。其中,在第一队列列表中将第一队列指示为待分配可以是在第一队列列表中添加第一队列的标识,也可以是在第一队列列表中为第一队列设置相应的用于指示待分配的标识符,等等。
在另一种可能的实施方式中,队列管理指令为队列释放指令,队列释放指令中包括第一调度器的标识和第一队列的标识。TM芯片220具体用于控制第一调度器暂停调度第一队列。在实际实现过程中,TM芯片220可用于向第一调度器发送释放通知,释放通知用于通知第一调度器暂停调度第一队列;或者,TM芯片220可用于在第一调度器对应的第二队列列表中为第一队列设置相应的用于指示暂停调度的标识符。TM芯片220通过控制第一调度器暂停调度第一队列,在暂时不需要第一队列发送数据时释放第一队列,并在之后重新需要第一队列发送数据时,无需从队列资源池中重新调度第一队列,实现快速恢复调度第一队列,有助于节省TM芯片220的处理资源。
网络处理器230用于接收广域网中的服务器发送的报文,解析该报文确定用于发送该报文的第二调度器,查询第二调度器的流分类表,获取与该报文所属的数据类型对应的第二队列的标识,将第二队列的标识封装至报文中,向TM芯片220发送该报文。TM芯片220还用于接收网络处理器230发送的报文,读取报文中携带的第二队列的标识,将所述报文存储至所述第二队列中。
其中,第二调度器是上述多个第1级调度器中的一个。流分类表的每个表项中包括数据类型与队列的标识之间的对应关系,流分类表中包括的对应关系是可调的。数据类型是指网络中通过网络设备200传输的数据的类型。在通常情况下,可按照网络业务的类型对数据分类,例如VoIP业务、VOD业务、BTV业务、HIS业务、普通上网业务等不同类型的网络业务的数据,分别对应不同的数据类型。可选地,也可按照流量类型对数据分类,例如控制数据流量和业务数据流量,分别对应不同的数据类型。当然,在其它可能的实施方式中,还可结合网络业务的类型和流量类型对数据类型做进一步地细分,例如同一业务的不同流量类型的数据,分别对应不同的数据类型。
以按照网络业务的类型对数据分类为例,假设网络设备200传输的是越顶(英文:over the top;缩写:OTT)视频业务的报文,流分类表中记录的OTT视频业务对应的队列为AF4队列,则网络处理器230将AF4队列的标识封装至该报文中,而后向TM芯片220发送封装后的报文。TM芯片220接收网络处理器230发送的报文,读取报文中携带的AF4队列的标识,并据此将该报文存储至第二调度器所调度的AF4队列中。
可选地,控制器还用于向网络处理器230预下发第二调度器对应的流分类表。预下发的流分类表中包括预置的至少一个数据类型与队列的标识之间的对应关系。针对不同的第1级调度器,预下发的流分类表中包含的对应关系可以相同,也可以不同,这可在控制器中预先配置相应的规则。在一种可能的实施方式中,预置的数据类型可以是一个或多个基础网络业务(如普通上网业务)对应的数据类型。
可选地,控制器还用于向网络处理器230发送流分类表更新指示;其中,流分类表更新指示中包括第二调度器的标识,以及待更新队列的标识与数据类型之间的对应关系。网络处理器230用于接收控制器发送的流分类表更新指示,根据第二调度器的标识获取第二调度器对应的流分类表,在上述流分类表中更新待更新队列的标识与数据类型之间的对应关系。其中,在上述流分类表中更新待更新队列的标识与数据类型之间的对应关系,包括:若上述流分类表中未存在上述待更新队列的标识,则在上述流分类表中增加上述待更新队列的标识与数据类型之间的对应关系;若上述流分类表中已存在上述待更新队列的标识,则将上述待更新队列的标识对应的原数据类型修改为流分类表更新指示中包括的数据类型。
可选地,如图2A所示,TM芯片220包括第一接口,队列管理器、第二接口和队列映射器。队列管理器用于管理队列,包括队列的分配、回收和释放。第一接口用于向控制器反馈队列使用情况,接收控制器发送的队列管理指令。第二接口用于与网络处理器230通信,包括接收网络处理器230发送的报文。队列映射器用于将网络处理器230发送的报文存储至相应的队列中。
需要说明的一点是,在通常情况下,TM芯片220仅维护一个队列资源池,TM芯片220包括的所有第1级调度器均从该队列资源池中调度队列,也即所有第1级调度器共享一个队列资源池。当然,在其它可能的实施方式中,TM芯片220也可维护多个队列资源池,每一个队列资源池用于供TM芯片220的一部分第1级调度器从中调度队列。
另外,在通常情况下,每个队列对应的缓存空间固定。当然,在其它可能的实施方式中,多个队列可共享缓存空间。例如,队列1对应的缓存空间大小为a字节,队列2对应的缓存空间大小为b字节,若队列1和队列2共享缓存空间,则当其中一个队列中存储的数据超过其缓存空间大小时,可将数据存储只另一队列的缓存空间中。通过上述方式,可减少因队列深度不足而丢包,更为有效地利用缓存空间。
在本实施例中,仅对网络设备200从控制器接收队列管理指令之后所做的处理流程进行介绍和说明,对于控制器生成队列管理指令的处理流程,参见下述图3所示实施例中的介绍和说明。
综上所述,本实施例提供的网络设备,TM芯片通过第一通信接口接收控制器发送的队列管理指令,根据队列管理指令,控制第一调度器对第一队列的调度;解决了现有技术中,采用HQoS技术进行数据调度时,为每一个第1级调度器分配固定数量的队列而存在的问题。由于TM芯片的多个第1级调度器从共享的队列资源池中调度队列,使得队列分配与第1级调度器解耦合,第1级调度器可根据实际需求从共享的队列资源池中调度期望数量和期望类型的队列。当有新增类型的数据需要传输时,从共享的队列资源池中调度队列;当有闲置的队列时,可将闲置的队列回收至共享的队列资源池中。因此,本实施例提供的网络设备,实现了队列分配与第1级调度器解耦合,达到了提高队列分配的灵活性,提高队列资源的利用率的技术效果。
在基于图2A所示实施例提供的另一实施例中,提供了一种TM芯片。如图2A所示,TM芯片220包括:第一接口和队列管理器。
第一接口,用于接收控制器发送的队列管理指令,队列管理指令中包括第一调度器的标识和第一队列的标识,第一调度器是多个第1级调度器中的一个。
队列管理器,用于根据队列管理指令,控制第一调度器对第一队列的调度。
其中,第一调度器所调度的队列属于TM芯片220的队列资源池,队列资源池中包括至少一个待分配的队列。
在第一种可能的实施方式中,队列管理指令为队列分配指令。队列管理器,具体用于将队列资源池中的第一队列分配给第一调度器。
在第二种可能的实施方式中,队列管理指令为队列回收指令。队列管理器,具体用于控制第一调度器停止调度第一队列,并将第一队列回收至队列资源池中。
在第三种可能的实施方式中,队列管理指令为队列释放指令。队列管理器,具体用于控制第一调度器暂停调度第一队列。
可选地,如图2A所示,TM芯片220还包括:第二接口和队列映射器。
第二接口,用于从网络处理器230接收报文,该报文由广域网中的服务器发送给网络处理器230。
队列映射器,用于读取报文中携带的第二队列的标识。其中,第二队列的标识由网络处理器230解析上述报文,确定用于发送该报文的第二调度器后,根据报文所属的数据类型从第二调度器的流分类表中查询得到,并由网络处理器230封装至报文中。第二调度器是多个第1级调度器中的一个,流分类表的每个表项包括数据类型与队列的标识之间的对应关系。
队列映射器,还用于将报文存储至第二调度器所对应的第二队列中。
需要说明的是,本实施例提供的TM芯片在实现其功能时,仅以上述各功能组件的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能组件完成,即将TM芯片的内部结构划分成不同的功能组件,以完成以上描述的全部或者部分功能。
请参考图3,其示出了本申请一个实施例提供的控制器的框图。控制器300用于控制网络设备管理队列,网络设备是如上述图2A所示实施例提供的网络设备。如图3所示,该控制器300包括:处理器310和第二通信接口320。
处理器310,用于根据预先设定的队列管理规则,生成队列管理指令。其中,队列管理指令中包括第一调度器的标识和第一队列的标识,第一调度器是网络设备的TM芯片包括的多个第1级调度器中的一个。第二通信接口320,用于向网络设备发送队列管理指令。
下面,从分配、回收和释放三个方面分别进行介绍和说明。
在一种可能的实施方式中,队列管理指令为队列分配指令,队列分配指令中包括第一调度器的标识和第一队列的标识。处理器310具体用于获取UE发送的业务请求;根据业务请求所请求的业务,确定用于发送该业务的报文的第一调度器;根据预先设定的队列分配规则,确定是否需要为第一调度器分配第一队列,该第一队列用于存储或发送上述报文;若需要为第一调度器分配第一队列,则生成队列分配指令,队列分配指令中包括第一调度器的标识和第一队列的标识。
业务请求所请求的业务可以是VoIP业务、VOD业务、BTV业务、HIS业务、OTT视频业务等,本实施例对此不做限定。队列分配规则可根据实际需求在控制器中预先设定。
例如,队列分配规则设定为当业务请求所请求的业务的报文所属的数据类型为新增数据类型时,为第一调度器分配第一队列。控制器根据业务请求所请求的业务,确定用于发送该业务的报文的第一调度器之后,获取分配给第一调度器的队列。控制器可根据第一调度器的流分类表获取分配给第一调度器的队列;或者,控制器也可接收TM芯片发送的第一调度器的队列使用情况,第一调度器的队列使用情况包括分配给第一调度器的各个队列的使用情况。之后,控制器检测分配给第一调度器的队列中是否已存在用于存储或发送上述报文(即业务请求所请求的业务的报文)的队列;若存在,则无需为第一调度器分配新的队列;若不存在,则为第一调度器分配第一队列。示例性地,以按照网络业务的类型对数据分类为例,假设业务请求所请求的业务为OTT视频业务,控制器检测分配给第一调度器的队列中是否已存在用于存储或发送OTT视频业务的报文的队列,并在检测结果为不存在的情况下,为第一调度器分配第一队列(如AF4队列),用于存储或发送OTT视频业务的报文。其中,报文所属的数据类型与用于存储或发送该报文的队列之间的映射关系,可预先在控制器中配置。
再例如,队列分配规则设定为当业务请求所请求的业务的报文所属的数据类型为新增数据类型,且该业务的优先级大于预设优先级时,为第一调度器分配第一队列。
再例如,队列分配规则设定为当业务请求所请求的业务的报文所属的数据类型为新增数据类型,且第一调度器当前无闲置队列时,为第一调度器分配第一队列。控制器可根据第一调度器的队列使用情况,确定第一调度器当前是否存在闲置队列。
当然,上述队列分配规则仅是示例性和解释性的,在实际应用中,可设定满足实际需求的队列分配规则。
在另一种可能的实施方式中,队列管理指令为队列回收指令,队列回收指令中包括第一调度器的标识和第一队列的标识。第二通信接口320,还用于接收TM芯片发送的第一调度器的队列使用情况,第一调度器的队列使用情况包括分配给第一调度器的各个队列的使用情况。处理器310,具体用于根据第一调度器的队列使用情况和预先设定的队列回收规则,检测是否存在需要回收的第一队列;若存在需要回收的第一队列,则生成队列回收指令。队列回收规则可根据实际需求在控制器中预先设定。
例如,队列回收规则设定为当第一调度器有闲置队列时,将该闲置队列回收至队列资源池中。其中,闲置队列是指当前无报文存储或发送的队列。假设控制器检测出第一调度器的AF2队列为闲置队列,则生成队列回收指令,该队列回收指令中包括第一调度器的标识和AF2队列的标识。
再例如,队列回收规则设定为当第一调度器有闲置队列,且队列资源池中剩余的待分配的队列的数量小于预设数量时,将该闲置队列回收至队列资源池中。其中,队列资源池中剩余的待分配的队列的数量可由TM芯片获取并发送给控制器。
再例如,队列回收规则设定为当第一调度器有闲置队列,且第一调度器对应的优先级小于预设优先级时,将该闲置队列回收至队列资源池中。
当然,上述队列回收规则仅是示例性和解释性的,在实际应用中,可设定满足实际需求的队列回收规则。
在另一种可能的实施方式中,队列管理指令为队列释放指令,队列释放指令中包括第一调度器的标识和第一队列的标识。第二通信接口320,还用于接收TM芯片发送的第一调度器的队列使用情况,第一调度器的队列使用情况包括分配给第一调度器的各个队列的使用情况。处理器310,具体用于根据第一调度器的队列使用情况和预先设定的队列释放规则,检测是否存在需要释放的第一队列;若存在第一队列,则生成队列释放指令。队列分配规则可根据实际需求在控制器中预先设定。
例如,队列释放规则设定为当第一调度器有闲置队列时,释放该闲置队列。
再例如,队列释放规则设定为当第一调度器有闲置队列,且队列资源池中剩余的待分配的队列的数量大于预设数量时,释放该闲置队列。
再例如,队列释放规则设定为当第一调度器有闲置队列,且第一调度器对应的优先级大于预设优先级时,释放该闲置队列。
当然,上述队列释放规则仅是示例性和解释性的,在实际应用中,可设定满足实际需求的队列释放规则。
请参考图4,其示出了本申请一个实施例提供的队列管理方法的流程图。该方法应用于图2A所示实施例介绍的TM芯片中,TM芯片的结构参见图2A所示实施例中的介绍和说明,以及图2B和图2C所示的示例性分层调度模型,本实施例对此不再赘述。本实施例提供的方法可以包括如下步骤。
步骤401,TM芯片接收控制器发送的队列管理指令,队列管理指令中包括第一调度器的标识和第一队列的标识,第一调度器是多个第1级调度器中的一个。
调度器的标识用于唯一标识调度器。调度器的标识可以是调度器的名称,也可以是为调度器分配的序列号,或者是其它唯一标识符。队列的标识用于唯一标识队列。队列的标识可以是队列的名称,也可以是为队列分配的序列号,或者是其它唯一标识符。第一调度器所调度的队列属于TM芯片的队列资源池,队列资源池中包括至少一个待分配的队列。换句话说,队列资源池中包括至少一个可供各个第1级调度器提取的待分配的队列。队列资源池中的各个队列的标识各不相同。
步骤402,TM芯片根据队列管理指令,控制第一调度器对第一队列的调度。
下面,从分配、回收和释放三个方面分别进行介绍。
在一种可能的实施方式中,队列管理指令为队列分配指令,队列分配指令中包括第一调度器的标识和第一队列的标识。TM芯片将队列资源池中的第一队列分配给第一调度器。第一队列是队列资源池中的一个待分配的队列,也即未被分配给第1级调度器的队列。在实际实现过程中,队列资源池对应第一队列列表,第一队列列表中记录有队列资源池中包括的所有待分配的队列的标识。例如,第一队列列表中包括:至少一个CS队列、至少一个AF队列、至少一个EF队列、至少一个BE队列的标识。每一个第1级调度器对应一个第二队列列表,每一个第1级调度器对应的第二队列列表中记录有分配给该第1级调度器的队列的标识。每一个第1级调度器有权限调度其对应的第二队列列表中包含的队列。在分配过程中,TM芯片在第一队列列表中将第一队列指示为已分配,并将第一队列的标识添加至第一调度器对应的第二队列列表中。其中,在第一队列列表中将第一队列指示为已分配可以是将第一队列的标识从第一队列列表中删除,也可以是在第一队列列表中为第一队列设置相应的用于指示已分配的标识符,等等。可选地,TM芯片还向第一调度器发送调度通知,调度通知用于通知第一调度器开始调度第一队列。
在另一种可能的实施方式中,队列管理指令为队列回收指令,队列回收指令中包括第一调度器的标识和第一队列的标识。TM芯片控制第一调度器停止调度第一队列,并将第一队列回收至队列资源池中。在实际实现过程中,TM芯片从第一调度器对应的第二队列列表中删除第一队列的标识,并在第一队列列表中将第一队列指示为待分配。其中,在第一队列列表中将第一队列指示为待分配可以是在第一队列列表中添加第一队列的标识,也可以是在第一队列列表中为第一队列设置相应的用于指示待分配的标识符,等等。
在另一种可能的实施方式中,队列管理指令为队列释放指令,队列释放指令中包括第一调度器的标识和第一队列的标识。TM芯片控制第一调度器暂停调度第一队列。在实际实现过程中,TM芯片向第一调度器发送释放通知,释放通知用于通知第一调度器暂停调度第一队列;或者,TM芯片可用于在第一调度器对应的第二队列列表中为第一队列设置相应的用于指示暂停调度的标识符。TM芯片通过控制第一调度器暂停调度第一队列,在暂时不需要第一队列发送数据时释放第一队列,并在之后重新需要第一队列发送数据时,无需从队列资源池中重新调度第一队列,实现快速恢复调度第一队列,有助于节省TM芯片的处理资源。
可选地,本实施例提供的方法还包括如下步骤403至步骤405。
步骤403,TM芯片从网络处理器接收报文。
步骤404,TM芯片读取报文中携带的第二队列的标识。
步骤405,TM芯片将上述报文存储至第二调度器所对应的第二队列中。
网络处理器接收到广域网中的服务器发送的报文之后,解析该报文确定用于发送该报文的第二调度器,查询第二调度器的流分类表,获取与该报文所属的数据类型对应的第二队列的标识,将第二队列的标识封装至报文中,向TM芯片发送该报文。其中,流分类表的每个表项中包括数据类型与队列的标识之间的对应关系,流分类表中包括的对应关系是可调的。数据类型是指网络中通过网络设备传输的数据的类型。在通常情况下,可按照网络业务的类型对数据分类,例如VoIP业务、VOD业务、BTV业务、HIS业务、普通上网业务等不同类型的网络业务的数据,分别对应不同的数据类型。可选地,也可按照流量类型对数据分类,例如控制数据流量和业务数据流量,分别对应不同的数据类型。当然,在其它可能的实施方式中,还可结合网络业务的类型和流量类型对数据类型做进一步地细分,例如同一业务的不同流量类型的数据,分别对应不同的数据类型。
以按照网络业务的类型对数据分类为例,假设网络设备传输的是OTT视频业务的报文,流分类表中记录的OTT视频业务对应的队列为AF4队列,则网络处理器将AF4队列的标识封装至该报文中,而后向TM芯片发送封装后的报文。TM芯片接收网络处理器发送的报文,读取报文中携带的AF4队列的标识,并据此将该报文存储至第二调度器所调度的AF4队列中。
综上所述,本实施例提供的队列管理方法,通过TM芯片接收控制器发送的队列管理指令,根据队列管理指令,控制第一调度器对第一队列的调度;解决了现有技术中,采用HQoS技术进行数据调度时,为每一个第1级调度器分配固定数量的队列而存在的问题。由于TM芯片的多个第1级调度器从共享的队列资源池中调度队列,使得队列分配与第1级调度器解耦合,第1级调度器可根据实际需求从共享的队列资源池中调度期望数量和期望类型的队列。当有新增类型的数据需要传输时,从共享的队列资源池中调度队列;当有闲置的队列时,可将闲置的队列回收至共享的队列资源池中。因此,本实施例提供的网络设备,实现了队列分配与第1级调度器解耦合,达到了提高队列分配的灵活性,提高队列资源的利用率的技术效果。
请参考图5,其示出了本申请另一实施例提供的队列管理方法的流程图。该方法应用于图3所示实施例介绍的控制器中,控制器的结构参见图3所示实施例中的介绍和说明,本实施例对此不再赘述。本实施例提供的方法可以包括如下步骤。
步骤501,控制器根据预先设定的队列管理规则,生成队列管理指令。
其中,队列管理指令中包括第一调度器的标识和第一队列的标识,第一调度器是多个第1级调度器中的一个。
在一种可能的实施方式中,队列管理指令为队列分配指令,队列分配指令中包括第一调度器的标识和第一队列的标识。步骤501包括如下几个子步骤:
1、控制器获取用户设备UE发送的业务请求;
2、控制器根据业务请求所请求的业务,确定用于发送业务的报文的第一调度器;
3、控制器根据预先设定的队列分配规则,确定是否需要为第一调度器分配第一队列,第一队列用于存储或发送报文;
4、若需要为第一调度器分配第一队列,则控制器生成队列分配指令。
在另一种可能的实施方式中,队列管理指令为队列回收指令,队列回收指令中包括第一调度器的标识和第一队列的标识。步骤501包括如下几个子步骤:
1、控制器接收TM芯片发送的第一调度器的队列使用情况,第一调度器的队列使用情况包括分配给第一调度器的各个队列的使用情况;
2、控制器根据第一调度器的队列使用情况和预先设定的队列回收规则,检测是否存在需要回收的第一队列;
3、若存在第一队列,则控制器生成队列回收指令。
在另一种可能的实施方式中,队列管理指令为队列释放指令,队列释放指令中包括第一调度器的标识和第一队列的标识。步骤501包括如下几个子步骤:
1、控制器接收TM芯片发送的第一调度器的队列使用情况,第一调度器的队列使用情况包括分配给第一调度器的各个队列的使用情况;
2、控制器根据第一调度器的队列使用情况和预先设定的队列释放规则,检测是否存在需要释放的第一队列;
3、若存在第一队列,则控制器生成队列释放指令。
步骤502,控制器向网络设备发送队列管理指令。
有关上述各步骤的说明可参见图3所示实施例中的介绍和说明,本实施例对此不做赘述。
下面,以队列分配过程为例,示例性提供一种队列分配方法。在此示例性例子中,以网络设备为流量控制网关,且控制器为SDN控制器为例。流量控制网关包括网络处理器和TM芯片。TM芯片的结构参见图2A所示实施例中的介绍和说明。如图6所示,该队列分配方法可以包括如下步骤:
步骤601,SDN控制器向网络处理器预下发目标调度器对应的流分类表。
例如,预下发的流分类表中包括普通上网业务与BE队列之间的对应关系。目标调度器是TM芯片包括的多个第1级调度器中的一个。
相应地,网络处理器从SDN控制器接收目标调度器对应的流分类表。
步骤602,网络处理器存储目标调度器对应的流分类表。
步骤603,UE通过流量控制网关向服务器发送业务请求,该业务请求用于请求目标业务。
例如,目标业务为OTT视频业务。
相应地,服务器接收UE发送的业务请求。
步骤604,网络处理器向SDN控制器转发业务请求。
相应地,SDN控制器接收网络处理器转发的业务请求。
步骤605,SDN控制器检测业务请求所请求的目标业务是否为新增业务。
步骤606,若目标业务为新增业务,则SDN控制器为目标业务分配目标队列。
目标队列用于存储或发送目标业务的报文。例如,SDN控制器为OTT视频业务分配AF4队列,该AF4队列用于存储或发送OTT视频业务的报文。
步骤607,SDN控制器向网络处理器发送流分类表更新指示。
流分类表更新指示中包括目标调度器的标识,以及目标队列的标识与目标业务的标识之间的对应关系。
相应地,网络处理器接收SDN控制器发送的流分类表更新指示。
步骤608,网络处理器更新目标调度器对应的流分类表。
网络处理器在目标调度器对应的流分类表中增加目标队列的标识与目标网络业务的标识之间的对应关系。例如,网络处理器在目标调度器对应的流分类表中增加OTT视频业务与AF4队列之间的对应关系。
步骤609,SDN控制器向TM芯片的队列管理器发送队列分配指令。
队列分配指令用于指示队列管理器为目标调度器分配目标队列。队列分配指令中包括目标调度器的标识和目标队列的标识。
相应地,TM芯片的队列管理器接收SDN控制器发送的队列分配指令。
步骤610,TM芯片的队列管理器将队列资源池中的目标队列分配给目标调度器。
例如,TM芯片从队列资源池中提取AF4队列,将AF4队列分配给目标调度器。
步骤611,服务器向流量控制网关发送目标业务的报文。
例如,服务器向流量控制网关发送OTT视频业务的报文,通过流量控制网关将该OTT视频业务的报文发送给UE。
相应地,流量控制网关接收服务器发送的目标业务的报文。
步骤612,网络处理器查询目标调度器对应的流分类表,获取与目标业务对应的目标队列的标识。
步骤613,网络处理器将目标队列的标识封装至上述报文中。
步骤614,网络处理器通过总线将上述报文发送给TM芯片的队列映射器。
相应地,TM芯片的队列映射器通过总线接收网络处理器发送的报文。
步骤615,TM芯片的队列映射器读取报文中携带的目标队列的标识,将报文存储至目标调度器所调度的目标队列中。
步骤616,TM芯片的目标调度器根据预设的HQoS策略调度队列,将目标队列中的报文发送给UE。
相应地,UE接收流量控制网关发送的报文。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (23)
1.一种网络设备,其特征在于,所述网络设备包括第一通信接口和流量管理TM芯片,所述TM芯片包括:N级调度器,每一个第i+1级调度器用于调度多个第i级调度器,每一个第1级调度器用于调度多个队列,所述N为大于1的整数,所述i为大于等于1且小于所述N的整数;
所述第一通信接口,用于接收控制器发送的队列管理指令,所述队列管理指令中包括第一调度器的标识和第一队列的标识,所述第一调度器是多个所述第1级调度器中的一个;
所述TM芯片,用于根据所述队列管理指令,控制所述第一调度器对所述第一队列的调度;
其中,所述第一调度器所调度的队列属于所述TM芯片的队列资源池,所述队列资源池中包括至少一个待分配的队列。
2.根据权利要求1所述的网络设备,其特征在于,所述队列管理指令为队列分配指令;
所述TM芯片,具体用于将所述队列资源池中的所述第一队列分配给所述第一调度器。
3.根据权利要求1所述的网络设备,其特征在于,所述队列管理指令为队列回收指令;
所述TM芯片,具体用于控制所述第一调度器停止调度所述第一队列,并将所述第一队列回收至所述队列资源池中。
4.根据权利要求1所述的网络设备,其特征在于,所述队列管理指令为队列释放指令;
所述TM芯片,具体用于控制所述第一调度器暂停调度所述第一队列。
5.根据权利要求1至4任一项所述的网络设备,其特征在于,所述网络设备还包括网络处理器;
所述网络处理器,用于接收广域网中的服务器发送的报文;解析所述报文,确定用于发送所述报文的第二调度器,所述第二调度器是多个所述第1级调度器中的一个;查询所述第二调度器的流分类表,获取与所述报文所属的数据类型对应的第二队列的标识;将所述第二队列的标识封装至所述报文中;向所述TM芯片发送所述报文;其中,所述流分类表的每个表项包括数据类型与队列的标识之间的对应关系;
所述TM芯片,还用于读取所述报文中携带的所述第二队列的标识;将所述报文存储至所述第二队列中。
6.一种控制器,其特征在于,所述控制器用于控制网络设备管理队列;其中,所述网络设备包括第一通信接口和流量管理TM芯片,所述TM芯片包括:N级调度器,每一个第i+1级调度器用于调度多个第i级调度器,每一个第1级调度器用于调度多个队列,所述N为大于1的整数,所述i为大于等于1且小于所述N的整数;
所述控制器包括第二通信接口和处理器;
所述处理器,用于根据预先设定的队列管理规则,生成队列管理指令;其中,所述队列管理指令中包括第一调度器的标识和第一队列的标识,所述第一调度器是多个所述第1级调度器中的一个;
所述第二通信接口,用于向所述网络设备发送所述队列管理指令;
其中,所述第一调度器所调度的队列属于所述TM芯片的队列资源池,所述队列资源池中包括至少一个待分配的队列。
7.根据权利要求6所述的控制器,其特征在于,所述队列管理指令为队列分配指令;
所述处理器,具体用于获取用户设备UE发送的业务请求;根据所述业务请求所请求的业务,确定用于发送所述业务的报文的所述第一调度器;根据预先设定的队列分配规则,确定是否需要为所述第一调度器分配所述第一队列,所述第一队列用于存储或发送所述报文;若需要为所述第一调度器分配所述第一队列,则生成所述队列分配指令,所述队列分配指令中包括所述第一调度器的标识和所述第一队列的标识。
8.根据权利要求6所述的控制器,其特征在于,所述队列管理指令为队列回收指令;
所述第二通信接口,还用于接收所述TM芯片发送的所述第一调度器的队列使用情况,所述第一调度器的队列使用情况包括分配给所述第一调度器的各个队列的使用情况;
所述处理器,具体用于根据所述第一调度器的队列使用情况和预先设定的队列回收规则,检测是否存在需要回收的所述第一队列;若存在所述第一队列,则生成所述队列回收指令,所述队列回收指令中包括所述第一调度器的标识和所述第一队列的标识。
9.根据权利要求6所述的控制器,其特征在于,所述队列管理指令为队列释放指令;
所述第二通信接口,还用于接收所述TM芯片发送的所述第一调度器的队列使用情况,所述第一调度器的队列使用情况包括分配给所述第一调度器的各个队列的使用情况;
所述处理器,具体用于根据所述第一调度器的队列使用情况和预先设定的队列释放规则,检测是否存在需要释放的所述第一队列;若存在所述第一队列,则生成所述队列释放指令,所述队列释放指令中包括所述第一调度器的标识和所述第一队列的标识。
10.一种队列管理方法,其特征在于,应用于流量管理TM芯片中,所述TM芯片包括:N级调度器,每一个第i+1级调度器用于调度多个第i级调度器,每一个第1级调度器用于调度多个队列,所述N为大于1的整数,所述i为大于等于1且小于所述N的整数;
所述方法包括:
接收控制器发送的队列管理指令,所述队列管理指令中包括第一调度器的标识和第一队列的标识,所述第一调度器是多个所述第1级调度器中的一个;
根据所述队列管理指令,控制所述第一调度器对所述第一队列的调度;
其中,所述第一调度器所调度的队列属于所述TM芯片的队列资源池,所述队列资源池中包括至少一个待分配的队列。
11.根据权利要求10所述的方法,其特征在于,所述队列管理指令为队列分配指令;
所述根据所述队列管理指令,控制所述第一调度器对所述第一队列的调度,包括:
将所述队列资源池中的所述第一队列分配给所述第一调度器。
12.根据权利要求10所述的方法,其特征在于,所述队列管理指令为队列回收指令;
所述根据所述队列管理指令,控制所述第一调度器对所述第一队列的调度,包括:
控制所述第一调度器停止调度所述第一队列,并将所述第一队列回收至所述队列资源池中。
13.根据权利要求10所述的方法,其特征在于,所述队列管理指令为队列释放指令;
所述根据所述队列管理指令,控制所述第一调度器对所述第一队列的调度,包括:
控制所述第一调度器暂停调度所述第一队列。
14.根据权利要求10至13任一项所述的方法,其特征在于,所述方法还包括:
从网络处理器接收报文,所述报文由广域网中的服务器发送给所述网络处理器;
读取所述报文中携带的第二队列的标识;其中,所述第二队列的标识由所述网络处理器解析所述报文,确定用于发送所述报文的第二调度器后,根据所述报文所属的数据类型从所述第二调度器的流分类表中查询得到,并由所述网络处理器封装至所述报文中,所述第二调度器是多个所述第1级调度器中的一个,所述流分类表的每个表项中包括数据类型与队列的标识之间的对应关系;
将所述报文存储至所述第二队列中。
15.一种队列管理方法,其特征在于,应用于控制器中,所述控制器用于控制网络设备管理队列;其中,所述网络设备包括第一通信接口和流量管理TM芯片,所述TM芯片包括:N级调度器,每一个第i+1级调度器用于调度多个第i级调度器,每一个第1级调度器用于调度多个队列,所述N为大于1的整数,所述i为大于等于1且小于所述N的整数;
所述方法包括:
根据预先设定的队列管理规则,生成队列管理指令;其中,所述队列管理指令中包括第一调度器的标识和第一队列的标识,所述第一调度器是多个所述第1级调度器中的一个;
向所述网络设备发送所述队列管理指令;
其中,所述第一调度器所调度的队列属于所述TM芯片的队列资源池,所述队列资源池中包括至少一个待分配的队列。
16.根据权利要求15所述的方法,其特征在于,所述队列管理指令为队列分配指令;
所述根据预先设定的队列管理规则,生成队列管理指令,包括:
获取用户设备UE发送的业务请求;
根据所述业务请求所请求的业务,确定用于发送所述业务的报文的所述第一调度器;
根据预先设定的队列分配规则,确定是否需要为所述第一调度器分配所述第一队列,所述第一队列用于存储或发送所述报文;
若需要为所述第一调度器分配所述第一队列,则生成所述队列分配指令,所述队列分配指令中包括所述第一调度器的标识和所述第一队列的标识。
17.根据权利要求15所述的方法,其特征在于,所述队列管理指令为队列回收指令;
所述根据预先设定的队列管理规则,生成队列管理指令,包括:
接收所述TM芯片发送的所述第一调度器的队列使用情况,所述第一调度器的队列使用情况包括分配给所述第一调度器的各个队列的使用情况;
根据所述第一调度器的队列使用情况和预先设定的队列回收规则,检测是否存在需要回收的所述第一队列;
若存在所述第一队列,则生成所述队列回收指令,所述队列回收指令中包括所述第一调度器的标识和所述第一队列的标识。
18.根据权利要求15所述的方法,其特征在于,所述队列管理指令为队列释放指令;
所述根据预先设定的队列管理规则,生成队列管理指令,包括:
接收所述TM芯片发送的所述第一调度器的队列使用情况,所述第一调度器的队列使用情况包括分配给所述第一调度器的各个队列的使用情况;
根据所述第一调度器的队列使用情况和预先设定的队列释放规则,检测是否存在需要释放的所述第一队列;
若存在所述第一队列,则生成所述队列释放指令,所述队列释放指令中包括所述第一调度器的标识和所述第一队列的标识。
19.一种流量管理TM芯片,其特征在于,所述TM芯片包括:N级调度器,每一个第i+1级调度器用于调度多个第i级调度器,每一个第1级调度器用于调度多个队列,所述N为大于1的整数,所述i为大于等于1且小于所述N的整数;
所述TM芯片包括:
第一接口,用于接收控制器发送的队列管理指令,所述队列管理指令中包括第一调度器的标识和第一队列的标识,所述第一调度器是多个所述第1级调度器中的一个;
队列管理器,用于根据所述队列管理指令,控制所述第一调度器对所述第一队列的调度;
其中,所述第一调度器所调度的队列属于所述TM芯片的队列资源池,所述队列资源池中包括至少一个待分配的队列。
20.根据权利要求19所述的TM芯片,其特征在于,所述队列管理指令为队列分配指令;
所述队列管理器,具体用于将所述队列资源池中的所述第一队列分配给所述第一调度器。
21.根据权利要求19所述的TM芯片,其特征在于,所述队列管理指令为队列回收指令;
所述队列管理器,具体用于控制所述第一调度器停止调度所述第一队列,并将所述第一队列回收至所述队列资源池中。
22.根据权利要求19所述的TM芯片,其特征在于,所述队列管理指令为队列释放指令;
所述队列管理器,具体用于控制所述第一调度器暂停调度所述第一队列。
23.根据权利要求19至22任一项所述的TM芯片,其特征在于,所述TM芯片还包括:
第二接口,用于从网络处理器接收报文,所述报文由广域网中的服务器发送给所述网络处理器;
队列映射器,用于读取所述报文中携带的第二队列的标识;其中,所述第二队列的标识由所述网络处理器解析所述报文,确定用于发送所述报文的第二调度器后,根据所述报文所属的数据类型从所述第二调度器的流分类表中查询得到,并由所述网络处理器封装至所述报文中,所述第二调度器是多个所述第1级调度器中的一个,所述流分类表的每个表项包括数据类型与队列的标识之间的对应关系;
所述队列映射器,还用于将所述报文存储至所述第二调度器所对应的所述第二队列中。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610257533.7A CN107306232B (zh) | 2016-04-22 | 2016-04-22 | 网络设备、控制器、队列管理方法及流量管理芯片 |
EP17785358.7A EP3435605B1 (en) | 2016-04-22 | 2017-04-11 | Network equipment, controller, queue management method and traffic management chip |
PCT/CN2017/080096 WO2017181873A1 (zh) | 2016-04-22 | 2017-04-11 | 网络设备、控制器、队列管理方法及流量管理芯片 |
US16/165,419 US10715456B2 (en) | 2016-04-22 | 2018-10-19 | Network device, controller, queue management method, and traffic management chip |
US16/880,502 US11265258B2 (en) | 2016-04-22 | 2020-05-21 | Network device, controller, queue management method, and traffic management chip |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610257533.7A CN107306232B (zh) | 2016-04-22 | 2016-04-22 | 网络设备、控制器、队列管理方法及流量管理芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107306232A CN107306232A (zh) | 2017-10-31 |
CN107306232B true CN107306232B (zh) | 2021-02-26 |
Family
ID=60115582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610257533.7A Active CN107306232B (zh) | 2016-04-22 | 2016-04-22 | 网络设备、控制器、队列管理方法及流量管理芯片 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10715456B2 (zh) |
EP (1) | EP3435605B1 (zh) |
CN (1) | CN107306232B (zh) |
WO (1) | WO2017181873A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109041247B (zh) * | 2018-08-21 | 2021-09-07 | 哈尔滨工业大学 | 基于用户Qos需求和排队策略的自适应资源调度方法 |
US10951550B2 (en) * | 2019-01-29 | 2021-03-16 | EMC IP Holding Company LLC | Logging infrastructure with time sustain requirements |
US10970172B2 (en) | 2019-04-29 | 2021-04-06 | EMC IP Holding Company LLC | Method to recover metadata in a content aware storage system |
CN110808916B (zh) * | 2019-10-31 | 2022-12-09 | 武汉二进制半导体有限公司 | 一种基于分簇设计的Qos实现方法及系统 |
CN112995056B (zh) * | 2019-12-16 | 2023-09-15 | 中兴通讯股份有限公司 | 一种流量调度方法、电子设备及存储介质 |
US11704058B2 (en) | 2020-07-28 | 2023-07-18 | Samsung Electronics Co., Ltd. | Systems and methods for resource-based scheduling of commands |
CN112835697A (zh) * | 2021-02-09 | 2021-05-25 | 芯河半导体科技(无锡)有限公司 | 一种应用于灵活层次化调度系统中的高效资源利用方法 |
US11620159B2 (en) * | 2021-04-23 | 2023-04-04 | Samsung Electronics Co., Ltd. | Systems and methods for I/O command scheduling based on multiple resource parameters |
CN113067778B (zh) * | 2021-06-04 | 2021-09-17 | 新华三半导体技术有限公司 | 一种流量管理方法及流量管理芯片 |
CN114168317A (zh) * | 2021-11-08 | 2022-03-11 | 山东有人物联网股份有限公司 | 负载平衡的方法、负载平衡设备和计算机可读存储介质 |
CN117459394A (zh) * | 2022-07-18 | 2024-01-26 | 中兴通讯股份有限公司 | 传输优化方法、设备、控制器及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7321940B1 (en) * | 2003-06-30 | 2008-01-22 | Cisco Technology, Inc. | Iterative architecture for hierarchical scheduling |
CN103516622A (zh) * | 2012-05-24 | 2014-01-15 | 马维尔国际贸易有限公司 | 网络交换机中的灵活队列 |
CN104348750A (zh) * | 2013-07-31 | 2015-02-11 | 中兴通讯股份有限公司 | OpenFlow网络中QoS的实现方法及装置 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6094435A (en) * | 1997-06-30 | 2000-07-25 | Sun Microsystems, Inc. | System and method for a quality of service in a multi-layer network element |
US7406098B2 (en) * | 1999-01-13 | 2008-07-29 | Qualcomm Incorporated | Resource allocation in a communication system supporting application flows having quality of service requirements |
US7801132B2 (en) * | 1999-11-09 | 2010-09-21 | Synchrodyne Networks, Inc. | Interface system and methodology having scheduled connection responsive to common time reference |
US6674754B1 (en) * | 1999-11-09 | 2004-01-06 | Synchrodyne Networks, Inc. | Wavelength division multiplexing combined with time division multiplexing using a common time reference |
US6735199B1 (en) * | 1999-11-09 | 2004-05-11 | Synchrodyne Networks, Inc. | Time frame switching responsive to global common time reference |
US6778536B1 (en) * | 1999-11-09 | 2004-08-17 | Synchrodyne Networks, Inc. | Combined wavelength division multiplexing, time division multiplexing, and asynchronous packet switching with common time reference |
US20040004972A1 (en) * | 2002-07-03 | 2004-01-08 | Sridhar Lakshmanamurthy | Method and apparatus for improving data transfer scheduling of a network processor |
US7646779B2 (en) * | 2004-12-23 | 2010-01-12 | Intel Corporation | Hierarchical packet scheduler using hole-filling and multiple packet buffering |
KR101119300B1 (ko) * | 2005-06-01 | 2012-03-15 | 삼성전자주식회사 | 슈퍼 프레임의 시작을 엄격히 지키는 레지덴셜 이더넷 노드장치 및 그 프레임 처리 방법 |
US20070121499A1 (en) * | 2005-11-28 | 2007-05-31 | Subhasis Pal | Method of and system for physically distributed, logically shared, and data slice-synchronized shared memory switching |
TWI407731B (zh) * | 2008-12-23 | 2013-09-01 | Ind Tech Res Inst | 一種排程裝置、使用該排程裝置之行動電台、與其排程方法 |
US8213453B1 (en) * | 2009-08-07 | 2012-07-03 | Juniper Networks, Inc. | Quality of service (QoS) configuration for network devices with multiple queues |
US8069465B1 (en) * | 2011-01-05 | 2011-11-29 | Domanicom Corp. | Devices, systems, and methods for managing multimedia traffic across a common wireless communication network |
CN102594654B (zh) * | 2011-01-17 | 2016-01-20 | 中兴通讯股份有限公司 | 一种队列调度的方法和装置 |
US20120327948A1 (en) * | 2011-06-22 | 2012-12-27 | Lsi Corporation | Adjustment of negative weights in weighted round robin scheduling |
EP2695325B1 (en) | 2012-02-02 | 2017-12-20 | Huawei Technologies Co., Ltd. | Traffic scheduling device |
CN104471587B (zh) * | 2012-05-16 | 2018-01-23 | 诺基亚技术有限公司 | 处理器中的方法,装置和计算机程序产品 |
JP5954074B2 (ja) * | 2012-09-20 | 2016-07-20 | 富士通株式会社 | 情報処理方法、情報処理装置、及びプログラム。 |
US9130819B2 (en) * | 2013-03-15 | 2015-09-08 | Cavium, Inc. | Method and apparatus for scheduling rule matching in a processor |
US10545791B2 (en) * | 2014-09-30 | 2020-01-28 | Hewlett Packard Enterprise Development Lp | Methods to apply IOPS and MBPS limits independently using cross charging and global cost synchronization |
EP3148283A1 (en) * | 2015-09-25 | 2017-03-29 | ASUSTek Computer Inc. | Method and apparatus for reducing signaling overhead in a wireless communication system |
-
2016
- 2016-04-22 CN CN201610257533.7A patent/CN107306232B/zh active Active
-
2017
- 2017-04-11 EP EP17785358.7A patent/EP3435605B1/en active Active
- 2017-04-11 WO PCT/CN2017/080096 patent/WO2017181873A1/zh active Application Filing
-
2018
- 2018-10-19 US US16/165,419 patent/US10715456B2/en active Active
-
2020
- 2020-05-21 US US16/880,502 patent/US11265258B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7321940B1 (en) * | 2003-06-30 | 2008-01-22 | Cisco Technology, Inc. | Iterative architecture for hierarchical scheduling |
CN103516622A (zh) * | 2012-05-24 | 2014-01-15 | 马维尔国际贸易有限公司 | 网络交换机中的灵活队列 |
CN104348750A (zh) * | 2013-07-31 | 2015-02-11 | 中兴通讯股份有限公司 | OpenFlow网络中QoS的实现方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US10715456B2 (en) | 2020-07-14 |
EP3435605A1 (en) | 2019-01-30 |
US20190068516A1 (en) | 2019-02-28 |
EP3435605A4 (en) | 2019-04-03 |
EP3435605B1 (en) | 2021-06-02 |
US11265258B2 (en) | 2022-03-01 |
US20200287837A1 (en) | 2020-09-10 |
CN107306232A (zh) | 2017-10-31 |
WO2017181873A1 (zh) | 2017-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107306232B (zh) | 网络设备、控制器、队列管理方法及流量管理芯片 | |
KR101583325B1 (ko) | 가상 패킷을 처리하는 네트워크 인터페이스 장치 및 그 방법 | |
US7339942B2 (en) | Dynamic queue allocation and de-allocation | |
US10545896B2 (en) | Service acceleration method and apparatus | |
US8386607B2 (en) | Method and system for utilizing a resource conductor to optimize resource management in a distributed computing environment | |
US20070104099A1 (en) | Data Processing System and Method | |
US20200104177A1 (en) | Resource allocation system, management device, method, and program | |
US20100074275A1 (en) | Scheduling virtual bandwidth requests | |
KR101639797B1 (ko) | 가상머신 패킷을 처리하는 네트워크 인터페이스 장치 및 그 방법 | |
US10476746B2 (en) | Network management method, device, and system | |
CN102388575B (zh) | 在订户同意情况下的动态dsl线路带宽管理方法、系统及设备 | |
WO2019029704A1 (zh) | 网络对象管理方法及其装置 | |
CN109962806B (zh) | 一种传送网子切片管理方法和装置 | |
WO2020119682A1 (zh) | 负载分担的方法、控制面实体和转发器 | |
WO2010109952A1 (ja) | 資源割り当て要求装置、資源割り当て装置、資源割り当て要求方法および資源割り当て方法 | |
CN117793583A (zh) | 报文转发方法、装置、电子设备及计算机可读存储介质 | |
US8472321B2 (en) | Method for managing data transfer services on a network | |
CN103841200A (zh) | 一种软件许可的控制方法和装置 | |
CN110472406B (zh) | 一种跨业务系统的数据权限控制方法及系统 | |
CN114666279B (zh) | 一种5g系统中pcc会话管理策略下发的方法及系统 | |
CN113904871A (zh) | 网络切片的接入方法、pcf实体、终端和通信系统 | |
US10990429B2 (en) | Rule-based reallocation of hosted compute resources | |
CN112242877A (zh) | 数据传输方法、装置及系统 | |
CN114785790B (zh) | 跨域分析系统、跨域资源调度方法、装置及存储介质 | |
WO2022001551A1 (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 |