发明内容
基于此,有必要针对传统带宽共享时数据传输可靠性低的问题,提供一种带宽控制方法、装置和系统。
一种带宽控制方法,包括如下步骤:
获取上行的总带宽限值和下行的总带宽限值,以及待分配传输线路数目;
根据所述上行的总带宽限值和下行的总带宽限值,配置上行的总令牌桶和下行的总令牌桶的参数;
根据所述上行的总带宽限值和下行的总带宽限值,以及待分配传输线路数目,计算各个传输线路的上行带宽限值和下行带宽限值,根据各个传输线路的上行带宽限值和下行带宽限值,配置各个传输线路对应的上行的分令牌桶和下行的分令牌桶的参数;
利用上行的总令牌桶和下行的总令牌桶,以及各个传输线路的所述上行的分令牌桶和下行的分令牌桶,控制各个传输线路上行和下行的数据传输。
上述带宽控制方法,根据系统上行和下行的总带宽限值,以及接入的待分配传输线路的数目,分配各个传输线路的上行和下行带宽限值,并对应设置各个传输线路的上行和下行的分令牌桶和系统的上行和下行的总令牌桶,通过所述分令牌桶和总令牌桶控制对应的各个传输线路的数据传输,系统可对各个传输线路的带宽进行分配,保证各个传输线路均有分配的带宽可用,解决了由于部分传输线路数据传输占用带宽过大导致其他传输线路带宽被占用,无法进行业务传输的问题,提升了带宽共享时各线路数据传输的可靠性。
在一个实施例中,所述根据所述上行的总带宽限值和下行的总带宽限值,配置上行的总令牌桶和下行的总令牌桶的参数的步骤可以包括:将所述上行的总令牌桶和下行的总令牌桶分别配置为双层总令牌桶,所述双层总令牌桶包括一级总令牌桶和二级总令牌桶,所述一级总令牌桶的容量配置为对应传输方向的总带宽限值,所述二级总令牌桶的容量配置为对应传输方向的一级总令牌桶的容量的设定M倍数的容量,其中M>1。
上述实施例的技术方案,将总令牌桶配置为双层总令牌桶,一级总令牌桶的容量配置为对应传输方向的总带宽限值,用于限制各个传输线路通过总令牌桶的共享的数据传输满足总带宽限值要求,二级总令牌桶的容量配置为对应传输方向的一级总令牌桶的容量的设定M倍数的容量,其中M>1。二级总令牌桶的容量配置为大于对应的一级总令牌桶的容量,可用于允许突发数据的传输,避免对偶尔的突发数据的严格限制导致的数据传输拥堵。
在一个实施例中,所述根据所述上行的总带宽限值和下行的总带宽限值,配置上行的总令牌桶和下行的总令牌桶的参数的步骤还可以包括:将对应的一级总令牌桶的令牌生成速率设置为每秒增加该所述一级总令牌桶的容量大小的令牌数,并将对应的二级总令牌桶的令牌生成速率设置为每秒增加该所述二级总令牌桶的容量大小的令牌数。
上述实施例的技术方案,将对应的一级总令牌桶和二级总令牌桶的令牌生成速率设置为每秒增加对应的一级总令牌桶和二级总令牌桶的容量大小的令牌数,即对应令牌桶每秒增加的令牌数等于带宽值,可以方便地通过令牌桶的令牌控制带宽。
在一个实施例中,所述根据所述上行的总带宽限值和下行的总带宽限值,以及待分配传输线路数目,计算各个传输线路的上行带宽限值和下行带宽限值的步骤包括:将所述上行的总带宽限值除以待分配传输线路数目,得到各个传输线路的上行带宽限值平均值,将所述上行带宽限值平均值作为各个传输线路的上行带宽限值;将所述下行的总带宽限值除以待分配传输线路数目,得到各个传输线路的下行带宽限值平均值,将所述下行带宽限值平均值作为各个传输线路的下行带宽限值。
上述实施例的技术方案,将上行或下行的总带宽限值除以接入的传输线路的数目,得到各个传输线路的上行或下行的带宽限值,平均分配各个传输线路的带宽,保证各个传输线路都有带宽可用,避免部分用户传输数据量大而挤占其他用户的带宽导致的带宽分配不公平。
在一个实施例中,所述根据各个传输线路的上行带宽限值和下行带宽限值,配置各个传输线路对应的上行的分令牌桶和下行的分令牌桶的参数的步骤包括:将所述上行的分令牌桶和下行的分令牌桶分别配置为双层分令牌桶,所述双层分令牌桶包括一级分令牌桶和二级分令牌桶,所述一级分令牌桶的容量配置为对应的传输线路和传输方向的带宽限值,所述二级分令牌桶的容量配置为对应的一级分令牌桶的容量的设定N倍数的容量,其中N>1。
上述实施例的技术方案,将分令牌桶配置为双层分令牌桶,一级分令牌桶的容量配置为对应传输线路和传输方向的分带宽限值,用于限制各个传输线路通过分令牌桶的数据传输满足该传输线路的带宽限值要求,二级分令牌桶的容量配置为对应传输方向的一级分令牌桶的容量的设定N倍数的容量,其中N>1。二级总令牌桶的容量配置为大于对应的一级总令牌桶的容量,可用于允许突发数据的传输,避免对偶尔的突发数据的严格限制导致的数据传输拥堵。具体地,N的取值可根据实际需求限定,例如可以取N=1.5、N=2或N=3等等。
在一个实施例中,所述根据各个传输线路的上行带宽限值和下行带宽限值,配置各个传输线路对应的上行的分令牌桶和下行的分令牌桶的参数的步骤还包括:将对应的一级分令牌桶的令牌生成速率设置为每秒增加该所述一级分令牌桶的容量大小的令牌数,并将对应的二级分令牌桶的令牌生成速率设置为每秒增加该所述二级分令牌桶的容量大小的令牌数。
上述实施例的技术方案,将对应的一级分令牌桶和二级分令牌桶的令牌生成速率设置为每秒增加对应的一级分令牌桶和二级分令牌桶的容量大小的令牌数,即对应令牌桶每秒增加的令牌数等于带宽值,可以方便地通过令牌桶的令牌控制带宽。
在一个实施例中,所述利用上行的总令牌桶和下行的总令牌桶,以及各个传输线路的所述上行的分令牌桶和下行的分令牌桶,控制各个传输线路上行和下行的数据传输的步骤包括:
接收数据报文,获取该数据报文的传输线路和传输方向对应的分令牌桶的令牌数信息和总令牌桶的令牌数信息。
根据所述数据报文的大小和所述分令牌桶的令牌数信息,判断当前分令牌桶的令牌数是否满足转发所述数据报文的需求,并根据所述数据报文的大小和所述总令牌桶的信息,判断当前总令牌桶的令牌数是否满足转发所述数据报文的需求。
若当前分令牌桶的令牌数和当前总令牌桶的令牌数均满足转发所述数据报文的需求,则转发该数据报文,并将满足该数据报文转发需求的对应的分令牌桶的令牌数和总令牌桶的令牌数分别减去所述数据报文的大小。
若当前分令牌桶的令牌数或当前总令牌桶的令牌数不满足转发所述数据报文的需求,则丢弃该数据报文。
在一个实施例中,所述获取该数据报文对应的分令牌桶和总令牌桶的令牌数信息的步骤包括:对接收的数据报文进行解析,获取所述数据报文对应的传输线路和传输方向,其中,所述传输方向包括上行传输或下行传输;根据所述传输线路和传输方向,获取当前对应传输线路和传输方向的分令牌桶的令牌数信息,以及对应传输方向的总令牌桶的令牌数信息。
在一个实施例中,所述根据所述数据报文的大小和所述分令牌桶的令牌数信息,判断当前分令牌桶的令牌数是否满足转发所述数据报文的需求的步骤包括:
若数据报文的大小小于或等于所述一级分令牌桶的令牌数时,标记该数据报文为第一标记,并判定当前分令牌桶的令牌数满足转发所述数据报文的需求;
若数据报文的大小大于所述一级分令牌桶的令牌数,且数据报文的大小小于或等于所述二级分令牌桶的令牌数时,标记该数据报文为第二标记,并判定当前分令牌桶的令牌数满足转发所述数据报文的需求;
否则,若数据报文的大小既不满足小于或等于所述一级分令牌桶的令牌数,又不满足大于所述一级分令牌桶的令牌数并小于或等于所述二级分令牌桶的令牌数时,则标记该数据报文为第三标记,并判定当前分令牌桶的令牌数不满足转发所述数据报文的需求。
在一个实施例中,所述并根据所述数据报文的大小和所述总令牌桶的信息,判断当前总令牌桶的令牌数是否满足转发所述数据报文的需求的步骤可以包括:
若数据报文的大小小于或等于所述一级总令牌桶的令牌数时,标记该数据报文为第四标记,并判定当前总令牌桶的令牌数满足转发所述数据报文的需求;
若数据报文的大小大于所述一级总令牌桶的令牌数,且数据报文的大小小于或等于所述二级总令牌桶的令牌数时,标记该数据报文为第五标记,并判定当前总令牌桶的令牌数满足转发所述数据报文的需求;
否则,若数据报文的大小既不满足小于或等于所述一级总令牌桶的令牌数,又不满足大于所述一级总令牌桶的令牌数并小于或等于所述二级总令牌桶的令牌数时,标记该数据报文为第六标记,并判定当前总令牌桶的令牌数不满足转发所述数据报文的需求。
上述总令牌桶和分令牌桶的数据报文判断过程,分为双层总令牌桶或双层分令牌桶对数据报文是否满足转发需求进行判断,并根据该数据报文满足的对应各个令牌桶的转发需求进行不同颜色的标记,其中,一级总令牌桶和一级分令牌桶对应的是额定的总带宽分配值,而二级总令牌桶和二级分令牌桶对应的是可允许的突发带宽分配限值,在对数据报文按照分配的带宽进行传输限制的同时,可允许突发大传输量的数据的传输,避免对偶尔的突发数据的严格限制导致的数据传输拥堵。对满足对应的令牌桶分别标记不同的颜色,后续处理一方面可获知该数据报文对应满足的令牌桶,进行该令牌桶的令牌消耗处理,另一方面可以统计获取各个判断的数据报文通过不同层次令牌桶的频率等相关统计信息,进而获取各个线路的带宽使用情况,后续可根据各个线路带宽使用情况进行相应的带宽分配调整。
在一个实施例中,所述并将满足该数据报文转发需求的对应的分令牌桶的令牌数和总令牌桶的令牌数分别减去所述数据报文的大小的步骤包括:
获取所述数据报文的标记颜色,若所述数据报文携带有第一标记,则将所述第一分令牌桶的令牌数减去该数据报文的大小,若所述数据报文携带有第二标记,则将所述第二分令牌桶的令牌数减去该数据报文的大小,若所述数据报文携带有第四标记,则将所述第一总令牌桶的令牌数减去该数据报文的大小,若所述数据报文携带有第五标记,则将所述第二总令牌桶的令牌数减去该数据报文的大小。
上述实施例的技术方案,可根据数据报文携带的标记,获取该数据报文匹配的满足转发需求的对应令牌桶,将该对应的令牌桶减去该数据报文的大小。
在一个实施例中,本发明的带宽控制方法还包括步骤:
按照设定的时间间隔,周期性地根据所述上行的总带宽限值和下行的总带宽限值,以及待分配传输线路数目,计算各个传输线路的上行带宽限值和下行带宽限值,根据计算的各个传输线路的上行带宽限值和下行带宽限值,更新各个传输线路对应的上行的分令牌桶和下行的分令牌桶的容量配置和/或令牌生成速率配置。
上述实施例的技术方案,周期性地根据接入的传输线路数目重新分配对应的各个线路的上行和下行的带宽限值,并配置对应的上行和下行的分令牌桶,可根据接入传输线路的变化实时更新相应的带宽分配值,保证各个传输线路的带宽分配。
在一个实施例中,本发明实施例的带宽控制方法还包括步骤:接收业务连接建立请求,根据所述业务连接建立请求,建立对应的传输线路连接,根据当前上行的总带宽限值和下行的总带宽限值,以及当前待分配传输线路数目,计算单个传输线路平均的上行带宽限值和下行带宽限值,根据所述平均的上行带宽限值和下行带宽限值,配置建立的该所述传输线路对应的上行的分令牌桶和下行的分令牌桶的容量和/或令牌生成速率。
上述实施例的技术方案,在建立新的传输线路连接时,根据当前的待分配传输线路数目,对该新的传输线路的带宽进行分配,并配置该传输线路的对应的分令牌桶的相关参数,可实现对新的传输线路的带宽的实时分配,使新的传输线路的带宽配置匹配当前传输线路数目对应的带宽配置。
综合上述各个实施例的技术方案,本发明实施例的带宽控制方法,具有如下有益效果:
(1)通过配置分令牌桶和总令牌桶,控制各个传输线路的数据传输,分配各个线路的带宽,实现带宽共享时各个接入的传输线路的带宽保证,解决了部分线路用户挤占其他线路的带宽,导致其他线路业务传输无法进行,或导致新的传输线路无法接入的问题,提升了带宽共享时各线路数据传输的可靠性。
(2)将各个分令牌桶和总令牌桶配置为双层令牌桶,在保证总的带宽限值,对各个线路带宽进行分配的同时,允许偶然的突发大流量数据的传输,避免对偶尔的突发数据的严格限制导致的数据传输拥堵。
(3)对各个传输的带宽进行动态控制,根据接入传输线路数目的变化,周期性地更新相应的令牌桶配置,使得各个传输线路的带宽动态分配,精准匹配当前传输线路的总带宽限值。
(4)方法简单高效,适用性广,可适用于各种需要进行带宽控制的场景和设备,例如基站、本地控制器、网关、核心网络等等。
一种带宽控制装置,包括:
数据获取模块,用于获取上行的总带宽限值和下行的总带宽限值,以及待分配传输线路数目;
总令牌桶配置模块,用于根据所述上行的总带宽限值和下行的总带宽限值,配置上行的总令牌桶和下行的总令牌桶的参数;
分令牌桶配置模块,用于根据所述上行的总带宽限值和下行的总带宽限值,以及待分配传输线路数目,计算各个传输线路的上行带宽限值和下行带宽限值,根据各个传输线路的上行带宽限值和下行带宽限值,配置各个传输线路对应的上行的分令牌桶和下行的分令牌桶的参数;
传输控制模块,用于利用上行的总令牌桶和下行的总令牌桶,以及各个传输线路的所述上行的分令牌桶和下行的分令牌桶,控制各个传输线路上行和下行的数据传输。
上述带宽控制装置,根据系统上行和下行的总带宽限值,以及接入的待分配传输线路的数目,分配各个传输线路的上行和下行带宽限值,并对应设置各个传输线路的上行和下行的分令牌桶和系统的上行和下行的总令牌桶,通过所述分令牌桶和总令牌桶控制对应的各个传输线路的数据传输,系统可对各个传输线路的带宽进行分配,保证各个传输线路均有分配的带宽可用,解决了由于部分传输线路数据传输占用带宽过大导致其他传输线路带宽被占用,无法进行业务传输的问题。
在一个实施例中,所述传输控制模块包括:
报文接收模块,用于接收数据报文,获取该数据报文的传输线路和传输方向对应的分令牌桶的令牌数信息和总令牌桶的令牌数信息;
令牌桶判断模块,用于根据所述数据报文的大小和所述分令牌桶的令牌数信息,判断当前分令牌桶的令牌数是否满足转发所述数据报文的需求,并根据所述数据报文的大小和所述总令牌桶的信息,判断当前总令牌桶的令牌数是否满足转发所述数据报文的需求;
报文转发模块,用于若当前分令牌桶的令牌数和当前总令牌桶的令牌数均满足转发所述数据报文的需求,则转发该数据报文,并将满足该数据报文转发需求的对应的分令牌桶的令牌数和总令牌桶的令牌数分别减去所述数据报文的大小;
报文丢弃模块,用于若当前分令牌桶的令牌数或当前总令牌桶的令牌数不满足转发所述数据报文的需求,则丢弃该数据报文。
在一个实施例中,所述报文接收模块在执行所述获取该数据报文对应的分令牌桶和总令牌桶的令牌数信息的步骤时,进一步用于对接收的数据报文进行解析,获取所述数据报文对应的传输线路和传输方向,其中,所述传输方向包括上行传输或下行传输;并用于根据所述传输线路和传输方向,获取当前对应传输线路和传输方向的分令牌桶的令牌数信息,以及对应传输方向的总令牌桶的令牌数信息。
在一个实施例中,所述总令牌桶配置模块在执行所述根据所述上行的总带宽限值和下行的总带宽限值,配置上行的总令牌桶和下行的总令牌桶的参数的步骤时,进一步用于将所述上行的总令牌桶和下行的总令牌桶分别配置为双层总令牌桶,所述双层总令牌桶包括一级总令牌桶和二级总令牌桶,所述一级总令牌桶的容量配置为对应传输方向的总带宽限值,所述二级总令牌桶的容量配置为对应传输方向的一级总令牌桶的容量的设定M倍数的容量,其中M>1。
在一个实施例中,所述总令牌桶配置模块在执行所述根据所述上行的总带宽限值和下行的总带宽限值,配置上行的总令牌桶和下行的总令牌桶的参数的步骤时,还进一步用于将对应的一级总令牌桶的令牌生成速率设置为每秒增加该所述一级总令牌桶的容量大小的令牌数,并将对应的二级总令牌桶的令牌生成速率设置为每秒增加该所述二级总令牌桶的容量大小的令牌数。
在一个实施例中,所述分令牌桶配置模块在执行所述根据各个传输线路的上行带宽限值和下行带宽限值,配置各个传输线路对应的上行的分令牌桶和下行的分令牌桶的参数的步骤时,进一步用于将所述上行的分令牌桶和下行的分令牌桶分别配置为双层分令牌桶,所述双层分令牌桶包括一级分令牌桶和二级分令牌桶,所述一级分令牌桶的容量配置为对应的传输线路和传输方向的带宽限值,所述二级分令牌桶的容量配置为对应的一级分令牌桶的容量的设定N倍数的容量,其中N>1。
在一个实施例中,所述分令牌桶配置模块在执行所述根据各个传输线路的上行带宽限值和下行带宽限值,配置各个传输线路对应的上行的分令牌桶和下行的分令牌桶的参数的步骤时,还进一步用于将对应的一级分令牌桶的令牌生成速率设置为每秒增加该所述一级分令牌桶的容量大小的令牌数,并将对应的二级分令牌桶的令牌生成速率设置为每秒增加该所述二级分令牌桶的容量大小的令牌数。
在一个实施例中,所述令牌桶判断模块在执行所述根据所述数据报文的大小和所述分令牌桶的令牌数信息,判断当前分令牌桶的令牌数是否满足转发所述数据报文的需求的步骤时,进一步用于若数据报文的大小小于或等于所述一级分令牌桶的令牌数时,标记该数据报文为第一标记,并判定当前分令牌桶的令牌数满足转发所述数据报文的需求,若数据报文的大小大于所述一级分令牌桶的令牌数,且数据报文的大小小于或等于所述二级分令牌桶的令牌数时,标记该数据报文为第二标记,并判定当前分令牌桶的令牌数满足转发所述数据报文的需求;否则,标记该数据报文为第三标记,并判定当前分令牌桶的令牌数不满足转发所述数据报文的需求。
在一个实施例中,所述令牌桶判断模块在执行所述并根据所述数据报文的大小和所述总令牌桶的信息,判断当前总令牌桶的令牌数是否满足转发所述数据报文的需求的步骤时,进一步用于若数据报文的大小小于或等于所述一级总令牌桶的令牌数时,标记该数据报文为第四标记,并判定当前总令牌桶的令牌数满足转发所述数据报文的需求,若数据报文的大小大于所述一级总令牌桶的令牌数,且数据报文的大小小于或等于所述二级总令牌桶的令牌数时,标记该数据报文为第五标记,并判定当前总令牌桶的令牌数满足转发所述数据报文的需求;否则,标记该数据报文为第六标记,并判定当前总令牌桶的令牌数不满足转发所述数据报文的需求。
在一个实施例中,所述报文转发模块在执行所述并将满足该数据报文转发需求的对应的分令牌桶的令牌数和总令牌桶的令牌数分别减去所述数据报文的大小的步骤时,进一步用于获取所述数据报文的标记颜色,若所述数据报文携带有第一标记,则将所述第一分令牌桶的令牌数减去该数据报文的大小,若所述数据报文携带有第二标记,则将所述第二分令牌桶的令牌数减去该数据报文的大小,若所述数据报文携带有第四标记,则将所述第一总令牌桶的令牌数减去该数据报文的大小,若所述数据报文携带有第五标记,则将所述第二总令牌桶的令牌数减去该数据报文的大小。
在一个实施例中,所述分令牌桶配置模块在执行所述根据所述上行的总带宽限值和下行的总带宽限值,以及待分配传输线路数目,计算各个传输线路的上行带宽限值和下行带宽限值的步骤时,进一步用于将所述上行的总带宽限值除以待分配传输线路数目,得到各个传输线路的上行带宽限值平均值,将所述上行带宽限值平均值作为各个传输线路的上行带宽限值,并将所述下行的总带宽限值除以待分配传输线路数目,得到各个传输线路的下行带宽限值平均值,将所述下行带宽限值平均值作为各个传输线路的下行带宽限值。
在一个实施例中,本发明的带宽控制装置还包括:
令牌桶更新模块,用于按照设定的时间间隔,周期性地根据所述上行的总带宽限值和下行的总带宽限值,以及待分配传输线路数目,计算各个传输线路的上行带宽限值和下行带宽限值,根据计算的各个传输线路的上行带宽限值和下行带宽限值,更新各个传输线路对应的上行的分令牌桶和下行的分令牌桶的容量配置和/或令牌生成速率配置。
在一个实施例中,本发明的带宽控制装置还包括:
线路建立模块,用于接收业务连接建立请求,根据所述业务连接建立请求,建立对应的传输线路连接,根据当前上行的总带宽限值和下行的总带宽限值,以及当前待分配传输线路数目,计算单个传输线路平均的上行带宽限值和下行带宽限值,根据所述平均的上行带宽限值和下行带宽限值,配置建立的该所述传输线路对应的上行的分令牌桶和下行的分令牌桶的容量和/或令牌生成速率。
一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上任意实施例所述的带宽控制方法。
上述计算机设备,通过所述处理器上运行的计算机程序,实现了对各个传输线路的带宽分配,保证各个传输线路均有分配的带宽可用,解决了由于部分传输线路数据传输占用带宽过大导致其他传输线路带宽被占用,无法进行业务传输的问题。
一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上任意实施例所述的带宽控制方法。
上述计算机存储介质,通过其存储的计算机程序,实现了对各个传输线路的带宽分配,保证各个传输线路均有分配的带宽可用,解决了由于部分传输线路数据传输占用带宽过大导致其他传输线路带宽被占用,无法进行业务传输的问题。
一种带宽控制系统,包括本地控制器,本地控制器一侧通过交换机连接有多个基站,所述基站通过所述交换机汇聚接入本地控制器,由本地控制器接入核心网络;
其中,所述基站与所述核心网络之间通过所述本地控制器建立基站与核心网络间的业务传输线路连接,所述基站向所述核心网络的数据传输方向为上行传输,所述核心网络向所述基站的数据传输方向为下行传输;
所述本地控制器配置为执行如上任意实施例所述的带宽控制方法。
上述带宽控制系统,本地控制器控制基站侧与核心网络侧的业务数据传输,对基站侧与核心网络侧之间建立的业务传输线路的带宽进行分配控制。通过本地控制器上配置的带宽控制方法,根据本地控制器上行和下行的总带宽限值,以及接入的传输线路的数目,分配各个传输线路的上行和下行带宽限值,并对应设置各个传输线路的上行和下行的分令牌桶和系统的上行和下行的总令牌桶,通过分令牌桶和总令牌桶控制对应的各个传输线路的数据传输,本地控制器可对各个传输线路的带宽进行分配,保证各个传输线路均有分配的带宽可用,解决了由于部分传输线路数据传输占用带宽过大导致其他传输线路带宽被占用,无法进行业务传输的问题。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,图1为一种TD-LTE组网系统示意图,该TD-LTE组网系统包括多个基站、本地控制器和核心网络。其中,基站具有可将多个用户设备汇入基站网络的功能,例如可以连接手机、电脑等用户终端,基站可以是企业级基站例如演进型基站(Evolved Node B,eNB)或一体化微站等,多个基站汇聚接入本地控制器,由本地控制器接入核心网络。基站与核心网络之间传输的所有用户的业务数据由本地控制器进行汇聚和转发以及集中控制。本地控制器可用于建立基站与核心网络之间的业务连接传输线路,并管控各个传输线路的带宽分配。
本领域技术人员可以理解,上述图1所示的组网结构,只是本申请方案可应用的一个实施例的应用场景,并不构成对本申请方案应用于该系统的限定,可与本申请实例的技术方案相匹配的涉及带宽共享分配的任何组网结构,均可作为本申请方案的应用场景。
参见图2,图2为本发明实施例的带宽控制方法流程图,本实施例以该方法应用于上述图1中的组网系统为例进行举例说明,该方法包括如下步骤:
S10,获取上行的总带宽限值和下行的总带宽限值,以及待分配传输线路数目。
其中,总带宽限值为共享带宽的多个传输线路组成的系统的共享的总带宽限值,对于数据上行和下行不同传输方向,对应的设有上行的总带宽限值和下行的总带宽限值,待分配传输线路是指当前共享带宽的多个传输线路。
以图1所示的TD-LTE组网系统为例,本地控制器可分配的上行或下行的总带宽限值一般为预定的,例如可以是运营商限定的带宽值,通过本地控制器的多个传输线路的上下行数据传输需共享对应的上行或下行的总带宽限值。传输线路是指本地控制器通过无线接入承载(Radio Access Bearer,RAB)过程建立的用户业务连接线路,本地控制器可实时监测并获取当前建立的传输线路的数目。
S20,根据所述上行的总带宽限值和下行的总带宽限值,配置上行的总令牌桶和下行的总令牌桶的参数。
令牌桶可通过桶内的令牌数来限定通过该令牌桶的数据流量,令牌桶的参数可以包括令牌桶的容量、令牌桶的令牌生成速率和/或令牌桶的初始化令牌数等。在上述步骤S20中,可根据上行的总带宽限值和下行的总带宽限值,对应配置上行的总令牌桶和下行的总令牌桶,使得配置的上行的总令牌桶和下行的总令牌桶的相关参数与上行的总带宽限值和下行的总带宽限值相匹配,通过上行的总令牌桶和下行的总令牌桶限制通过各个传输线路的总带宽限值。
具体地,令牌桶可配置为单层的或多层的令牌桶,还可根据总带宽限值配置令牌桶的容量等等,在一个实施例中,所述根据所述上行的总带宽限值和下行的总带宽限值,配置上行的总令牌桶和下行的总令牌桶的参数的步骤可以包括:将所述上行的总令牌桶和下行的总令牌桶分别配置为双层总令牌桶,所述双层总令牌桶包括一级总令牌桶和二级总令牌桶,所述一级总令牌桶的容量配置为对应传输方向的总带宽限值,所述二级总令牌桶的容量配置为对应传输方向的一级总令牌桶的容量的设定M倍数的容量,其中M>1。
上述实施例的技术方案,将总令牌桶配置为双层总令牌桶,一级总令牌桶的容量配置为对应传输方向的总带宽限值,用于限制各个传输线路通过总令牌桶的共享的数据传输满足总带宽限值要求,二级总令牌桶的容量配置为对应传输方向的一级总令牌桶的容量的设定M倍数的容量,其中M>1。二级总令牌桶的容量配置为大于对应的一级总令牌桶的容量,可用于允许突发数据的传输,避免对偶尔的突发数据的严格限制导致的数据传输拥堵。具体地,M的取值可根据实际需求限定,例如可以取M=1.5、M=2或M=3等等。
对于总令牌桶的配置,除了根据总带宽限值配置总令牌桶的容量,还可进一步地根据总带宽限值配置总令牌桶的令牌生成速率。在一个实施例中,所述根据所述上行的总带宽限值和下行的总带宽限值,配置上行的总令牌桶和下行的总令牌桶的参数的步骤还可以包括:将对应的一级总令牌桶的令牌生成速率设置为每秒增加该所述一级总令牌桶的容量大小的令牌数,并将对应的二级总令牌桶的令牌生成速率设置为每秒增加该所述二级总令牌桶的容量大小的令牌数。
上述方案,将对应的一级总令牌桶和二级总令牌桶的令牌生成速率设置为每秒增加对应的一级总令牌桶和二级总令牌桶的容量大小的令牌数,即对应令牌桶每秒增加的令牌数等于带宽值,可以方便地通过令牌桶的令牌控制带宽。
S30,根据所述上行的总带宽限值和下行的总带宽限值,以及待分配传输线路数目,计算各个传输线路的上行带宽限值和下行带宽限值,根据各个传输线路的上行带宽限值和下行带宽限值,配置各个传输线路对应的上行的分令牌桶和下行的分令牌桶的参数。
由于各个传输线路共享总的带宽限值,在上述步骤S30中,可根据上行的总带宽限值和下行的总带宽限值,以及待分配的传输线路的数目,计算得到各传输线路分配的上行带宽限值和下行带宽限值,根据该上行带宽限值和下行带宽限值配置相应的令牌桶,对各个传输线路的带宽进行限制。
在一个实施例中,所述根据所述上行的总带宽限值和下行的总带宽限值,以及待分配传输线路数目,计算各个传输线路的上行带宽限值和下行带宽限值的步骤包括:将所述上行的总带宽限值除以待分配传输线路数目,得到各个传输线路的上行带宽限值平均值,将所述上行带宽限值平均值作为各个传输线路的上行带宽限值;将所述下行的总带宽限值除以待分配传输线路数目,得到各个传输线路的下行带宽限值平均值,将所述下行带宽限值平均值作为各个传输线路的下行带宽限值。
上述实施例,将上行或下行的总带宽限值除以接入的传输线路的数目,得到各个传输线路的上行或下行的带宽限值,平均分配各个传输线路的带宽,保证各个传输线路都有带宽可用,避免部分用户传输数据量大而挤占其他用户的带宽导致的带宽分配不公平。
相应地,可根据分配的各个线路的带宽限值配置各个线路的分令牌桶的参数。在一个实施例中,所述根据各个传输线路的上行带宽限值和下行带宽限值,配置各个传输线路对应的上行的分令牌桶和下行的分令牌桶的参数的步骤包括:将所述上行的分令牌桶和下行的分令牌桶分别配置为双层分令牌桶,所述双层分令牌桶包括一级分令牌桶和二级分令牌桶,所述一级分令牌桶的容量配置为对应的传输线路和传输方向的带宽限值,所述二级分令牌桶的容量配置为对应的一级分令牌桶的容量的设定N倍数的容量,其中N>1。
上述实施例的技术方案,将分令牌桶配置为双层分令牌桶,一级分令牌桶的容量配置为对应传输线路和传输方向的分带宽限值,用于限制各个传输线路通过分令牌桶的数据传输满足该传输线路的带宽限值要求,二级分令牌桶的容量配置为对应传输方向的一级分令牌桶的容量的设定N倍数的容量,其中N>1。二级总令牌桶的容量配置为大于对应的一级总令牌桶的容量,可用于允许突发数据的传输,避免对偶尔的突发数据的严格限制导致的数据传输拥堵。具体地,N的取值可根据实际需求限定,例如可以取N=1.5、N=2或N=3等等。
对于分令牌桶的配置,除了根据各个线路的带宽限值配置分令牌桶的容量,还可进一步地根据各个线路的带宽限值配置分令牌桶的令牌生成速率。在一个实施例中,所述根据各个传输线路的上行带宽限值和下行带宽限值,配置各个传输线路对应的上行的分令牌桶和下行的分令牌桶的参数的步骤还包括:将对应的一级分令牌桶的令牌生成速率设置为每秒增加该所述一级分令牌桶的容量大小的令牌数,并将对应的二级分令牌桶的令牌生成速率设置为每秒增加该所述二级分令牌桶的容量大小的令牌数。
S40,利用上行的总令牌桶和下行的总令牌桶,以及各个传输线路的所述上行的分令牌桶和下行的分令牌桶,控制各个传输线路上行和下行的数据传输。
上述带宽控制方法,根据系统上行和下行的总带宽限值,以及接入的待分配传输线路的数目,分配各个传输线路的上行和下行带宽限值,并对应设置各个传输线路的上行和下行的分令牌桶和系统的上行和下行的总令牌桶,通过所述分令牌桶和总令牌桶控制对应的各个传输线路的数据传输,系统可对各个传输线路的带宽进行分配,保证各个传输线路均有分配的带宽可用,解决了由于部分传输线路数据传输占用带宽过大导致其他传输线路带宽被占用,无法进行业务传输的问题,提升了带宽共享时各线路数据传输的可靠性。
令牌桶可通过桶内的令牌数来限定通过该令牌桶的数据流量,在步骤S40中,可通过前述步骤根据上行下行的总带宽限值配置的总令牌桶和分令牌桶,对各个传输线路的数据传输进行控制,使得各个传输线路的上行和下行传输满足对应的带宽配置需求。
具体地,参见图3所示,图3为本发明一个实施例的传输线路数据传输控制方法流程图。在一个实施例中,上述步骤S40所述的利用上行的总令牌桶和下行的总令牌桶,以及各个传输线路的所述上行的分令牌桶和下行的分令牌桶,控制各个传输线路上行和下行的数据传输的步骤可以包括:
S410,接收数据报文,获取该数据报文的传输线路和传输方向对应的分令牌桶的令牌数信息和总令牌桶的令牌数信息。
在接收到数据报文时,首先需要查找到该数据报文匹配的对应的总令牌桶和分令牌桶,并获取该总令牌桶和分令牌桶的令牌数信息。
具体地,在一个实施例中,所述获取该数据报文对应的分令牌桶和总令牌桶的令牌数信息的步骤包括:对接收的数据报文进行解析,获取所述数据报文对应的传输线路和传输方向,其中,所述传输方向包括上行传输或下行传输;根据所述传输线路和传输方向,获取当前对应传输线路和传输方向的分令牌桶的令牌数信息,以及对应传输方向的总令牌桶的令牌数信息。
S420,根据所述数据报文的大小和所述分令牌桶的令牌数信息,判断当前分令牌桶的令牌数是否满足转发所述数据报文的需求,并根据所述数据报文的大小和所述总令牌桶的信息,判断当前总令牌桶的令牌数是否满足转发所述数据报文的需求。
在此步骤中,分别判断该数据报文对应的分令牌桶和总令牌桶内的令牌数是否满足转发该数据报文的需求。
具体地,对于分令牌桶的判断过程,若配置的分令牌桶为双层分令牌桶,则在一个实施例中,所述根据所述数据报文的大小和所述分令牌桶的令牌数信息,判断当前分令牌桶的令牌数是否满足转发所述数据报文的需求的步骤可以包括:
若数据报文的大小小于或等于所述一级分令牌桶的令牌数时,标记该数据报文为第一标记,并判定当前分令牌桶的令牌数满足转发所述数据报文的需求;
若数据报文的大小大于所述一级分令牌桶的令牌数,且数据报文的大小小于或等于所述二级分令牌桶的令牌数时,标记该数据报文为第二标记,并判定当前分令牌桶的令牌数满足转发所述数据报文的需求;
否则,若数据报文的大小既不满足小于或等于所述一级分令牌桶的令牌数,又不满足大于所述一级分令牌桶的令牌数并小于或等于所述二级分令牌桶的令牌数时,则标记该数据报文为第三标记,并判定当前分令牌桶的令牌数不满足转发所述数据报文的需求。
具体地,所述第一标记、第二标记、第三标记可采用不同的颜色进行标记,或采用其他的标识方式进行标记。
而对于总令牌桶的判断过程,若配置的总令牌桶为双层总令牌桶,则在一个实施例中,所述并根据所述数据报文的大小和所述总令牌桶的信息,判断当前总令牌桶的令牌数是否满足转发所述数据报文的需求的步骤可以包括:
若数据报文的大小小于或等于所述一级总令牌桶的令牌数时,标记该数据报文为第四标记,并判定当前总令牌桶的令牌数满足转发所述数据报文的需求;
若数据报文的大小大于所述一级总令牌桶的令牌数,且数据报文的大小小于或等于所述二级总令牌桶的令牌数时,标记该数据报文为第五标记,并判定当前总令牌桶的令牌数满足转发所述数据报文的需求;
否则,若数据报文的大小既不满足小于或等于所述一级总令牌桶的令牌数,又不满足大于所述一级总令牌桶的令牌数并小于或等于所述二级总令牌桶的令牌数时,标记该数据报文为第六标记,并判定当前总令牌桶的令牌数不满足转发所述数据报文的需求。
具体地,所述第四标记、第五标记、第六标记可采用不同的颜色进行标记,或采用其他的标识方式进行标记。
上述总令牌桶和分令牌桶的数据报文判断过程,分为双层总令牌桶或双层分令牌桶对数据报文是否满足转发需求进行判断,并根据该数据报文满足的对应各个令牌桶的转发需求进行不同的标记,其中,一级总令牌桶和一级分令牌桶对应的是额定的总带宽分配值,而二级总令牌桶和二级分令牌桶对应的是可允许的突发带宽分配限值,在对数据报文按照分配的带宽进行传输限制的同时,可允许突发大传输量的数据的传输,避免对偶尔的突发数据的严格限制导致的数据传输拥堵。对满足对应的令牌桶的数据报文加入不同的标记信息,后续处理一方面可获知该数据报文对应满足的令牌桶,进行该令牌桶的令牌消耗处理,另一方面可以统计获取各个判断的数据报文通过不同层次令牌桶的频率等相关统计信息,进而获取各个线路的带宽使用情况,后续可根据各个线路带宽使用情况进行相应的带宽分配调整。
S430,若当前分令牌桶的令牌数和当前总令牌桶的令牌数均满足转发所述数据报文的需求,则转发该数据报文,并将满足该数据报文转发需求的对应的分令牌桶的令牌数和总令牌桶的令牌数分别减去所述数据报文的大小。
在此步骤中,综合前述步骤分别判断的数据报文是否满足对应的总令牌桶和分令牌桶的转发需求的判断结果,当分令牌桶的令牌数和当前总令牌桶的令牌数均满足转发所述数据报文的需求时,则转发该数据报文,并消耗对应的令牌桶中的令牌数。
具体地,若分令牌桶或总令牌桶为双层令牌桶,则需要获知该数据报文判断的满足的对应的层次的对应的令牌桶,并减去该层次的分令牌桶或总令牌桶的令牌数。在一个实施例中,所述并将满足该数据报文转发需求的对应的分令牌桶的令牌数和总令牌桶的令牌数分别减去所述数据报文的大小的步骤包括:
获取所述数据报文的标记,若所述数据报文携带有第一标记,则将所述第一分令牌桶的令牌数减去该数据报文的大小,若所述数据报文携带有第二标记,则将所述第二分令牌桶的令牌数减去该数据报文的大小,若所述数据报文携带有第四标记,则将所述第一总令牌桶的令牌数减去该数据报文的大小,若所述数据报文携带有第五标记,则将所述第二总令牌桶的令牌数减去该数据报文的大小。
上述实施例的技术方案,可根据数据报文携带的标记,获取该数据报文匹配的满足转发需求的对应令牌桶,将该对应的令牌桶减去该数据报文的大小。
S440,若当前分令牌桶的令牌数或当前总令牌桶的令牌数不满足转发所述数据报文的需求,则丢弃该数据报文。
在此步骤中,若该数据报文对应的总令牌桶或分令牌桶中任意一个的令牌数不满足转发该数据报文的需求,则将该数据报文丢弃,保证该数据报文所属传输线路的带宽限值。
在一个实施例中,本发明实施例的带宽控制方法还包括步骤:
按照设定的时间间隔,周期性地根据所述上行的总带宽限值和下行的总带宽限值,以及待分配传输线路数目,计算各个传输线路的上行带宽限值和下行带宽限值,根据计算的各个传输线路的上行带宽限值和下行带宽限值,更新各个传输线路对应的上行的分令牌桶和下行的分令牌桶的容量配置和/或令牌生成速率配置。
其中,所述设定的时间间隔可根据实际情况设置,相应的若设置的时间间隔越短,对令牌桶的更新频率越高,令牌桶对带宽的限制的匹配度越高,相应的需要占用的资源越多。
上述实施例的技术方案,周期性地根据接入的传输线路数目重新分配对应的各个线路的上行和下行的带宽限值,并配置对应的上行和下行的分令牌桶,可根据接入传输线路的变化实时更新相应的带宽分配值,保证各个传输线路的带宽分配。
此外,当有新的传输线路接入时,也可根据当前传输线路的数目对新的传输线路对应的令牌数进行配置。在一个实施例中,本发明实施例的带宽控制方法还包括步骤:接收业务连接建立请求,根据所述业务连接建立请求,建立对应的传输线路连接,根据当前上行的总带宽限值和下行的总带宽限值,以及当前待分配传输线路数目,计算单个传输线路平均的上行带宽限值和下行带宽限值,根据所述平均的上行带宽限值和下行带宽限值,配置建立的该所述传输线路对应的上行的分令牌桶和下行的分令牌桶的容量和/或令牌生成速率。
上述实施例的技术方案,在建立新的传输线路连接时,根据当前的待分配传输线路数目,对该新的传输线路的带宽进行分配,并配置该传输线路的对应的分令牌桶的相关参数,可实现对新的传输线路的带宽的实时分配,使新的传输线路的带宽配置匹配当前传输线路数目对应的带宽配置。
综合上述各个实施例的技术方案,本发明实施例的带宽控制方法,具有如下有益效果:
(1)通过配置分令牌桶和总令牌桶,控制各个传输线路的数据传输,分配各个线路的带宽,实现带宽共享时各个接入的传输线路的带宽保证,解决了部分线路用户挤占其他线路的带宽,导致其他线路业务传输无法进行,或导致新的传输线路无法接入的问题,提升了带宽共享时各线路数据传输的可靠性。
(2)将各个分令牌桶和总令牌桶配置为双层令牌桶,在保证总的带宽限值,对各个线路带宽进行分配的同时,允许偶然的突发大流量数据的传输,避免对偶尔的突发数据的严格限制导致的数据传输拥堵。
(3)对各个传输的带宽进行动态控制,根据接入传输线路数目的变化,周期性地更新相应的令牌桶配置,使得各个传输线路的带宽动态分配,精准匹配当前传输线路的总带宽限值。
(4)方法简单高效,适用性广,可适用于各种需要进行带宽控制的场景和设备,例如基站、本地控制器、网关、核心网络等等的带宽配置均可适用。
本发明还提供一种带宽控制装置,参见图4所示,图4为本发明一个实施例的带宽控制装置结构示意图,所述带宽控制装置包括:
数据获取模块401,用于获取上行的总带宽限值和下行的总带宽限值,以及待分配传输线路数目;
总令牌桶配置模块402,用于根据所述上行的总带宽限值和下行的总带宽限值,配置上行的总令牌桶和下行的总令牌桶的参数;
分令牌桶配置模块403,用于根据所述上行的总带宽限值和下行的总带宽限值,以及待分配传输线路数目,计算各个传输线路的上行带宽限值和下行带宽限值,根据各个传输线路的上行带宽限值和下行带宽限值,配置各个传输线路对应的上行的分令牌桶和下行的分令牌桶的参数;
传输控制模块404,用于利用上行的总令牌桶和下行的总令牌桶,以及各个传输线路的所述上行的分令牌桶和下行的分令牌桶,控制各个传输线路上行和下行的数据传输。
上述带宽控制装置,根据系统上行和下行的总带宽限值,以及接入的待分配传输线路的数目,分配各个传输线路的上行和下行带宽限值,并对应设置各个传输线路的上行和下行的分令牌桶和系统的上行和下行的总令牌桶,通过所述分令牌桶和总令牌桶控制对应的各个传输线路的数据传输,系统可对各个传输线路的带宽进行分配,保证各个传输线路均有分配的带宽可用,解决了由于部分传输线路数据传输占用带宽过大导致其他传输线路带宽被占用,无法进行业务传输的问题,提升了带宽共享时各线路数据传输的可靠性。
在一个实施例中,参见图5所示,图5为本发明一个实施例的传输控制模块结构示意图,所述传输控制模块404包括:
报文接收模块404a,用于接收数据报文,获取该数据报文的传输线路和传输方向对应的分令牌桶的令牌数信息和总令牌桶的令牌数信息;
令牌桶判断模块404b,用于根据所述数据报文的大小和所述分令牌桶的令牌数信息,判断当前分令牌桶的令牌数是否满足转发所述数据报文的需求,并根据所述数据报文的大小和所述总令牌桶的信息,判断当前总令牌桶的令牌数是否满足转发所述数据报文的需求;
报文转发模块404c,用于若当前分令牌桶的令牌数和当前总令牌桶的令牌数均满足转发所述数据报文的需求,则转发该数据报文,并将满足该数据报文转发需求的对应的分令牌桶的令牌数和总令牌桶的令牌数分别减去所述数据报文的大小;
报文丢弃模块404d,用于若当前分令牌桶的令牌数或当前总令牌桶的令牌数不满足转发所述数据报文的需求,则丢弃该数据报文。
在一个实施例中,所述报文接收模块404a在执行所述获取该数据报文对应的分令牌桶和总令牌桶的令牌数信息的步骤时,进一步用于对接收的数据报文进行解析,获取所述数据报文对应的传输线路和传输方向,其中,所述传输方向包括上行传输或下行传输;并用于根据所述传输线路和传输方向,获取当前对应传输线路和传输方向的分令牌桶的令牌数信息,以及对应传输方向的总令牌桶的令牌数信息。
在一个实施例中,所述总令牌桶配置模块402在执行所述根据所述上行的总带宽限值和下行的总带宽限值,配置上行的总令牌桶和下行的总令牌桶的参数的步骤时,进一步用于将所述上行的总令牌桶和下行的总令牌桶分别配置为双层总令牌桶,所述双层总令牌桶包括一级总令牌桶和二级总令牌桶,所述一级总令牌桶的容量配置为对应传输方向的总带宽限值,所述二级总令牌桶的容量配置为对应传输方向的一级总令牌桶的容量的设定M倍数的容量,其中M>1。
在一个实施例中,所述总令牌桶配置模块402在执行所述根据所述上行的总带宽限值和下行的总带宽限值,配置上行的总令牌桶和下行的总令牌桶的参数的步骤时,还进一步用于将对应的一级总令牌桶的令牌生成速率设置为每秒增加该所述一级总令牌桶的容量大小的令牌数,并将对应的二级总令牌桶的令牌生成速率设置为每秒增加该所述二级总令牌桶的容量大小的令牌数。
在一个实施例中,所述分令牌桶配置模块403在执行所述根据各个传输线路的上行带宽限值和下行带宽限值,配置各个传输线路对应的上行的分令牌桶和下行的分令牌桶的参数的步骤时,进一步用于将所述上行的分令牌桶和下行的分令牌桶分别配置为双层分令牌桶,所述双层分令牌桶包括一级分令牌桶和二级分令牌桶,所述一级分令牌桶的容量配置为对应的传输线路和传输方向的带宽限值,所述二级分令牌桶的容量配置为对应的一级分令牌桶的容量的设定N倍数的容量,其中N>1。
在一个实施例中,所述分令牌桶配置模块403在执行所述根据各个传输线路的上行带宽限值和下行带宽限值,配置各个传输线路对应的上行的分令牌桶和下行的分令牌桶的参数的步骤时,还进一步用于将对应的一级分令牌桶的令牌生成速率设置为每秒增加该所述一级分令牌桶的容量大小的令牌数,并将对应的二级分令牌桶的令牌生成速率设置为每秒增加该所述二级分令牌桶的容量大小的令牌数。
在一个实施例中,所述令牌桶判断模块404b在执行所述根据所述数据报文的大小和所述分令牌桶的令牌数信息,判断当前分令牌桶的令牌数是否满足转发所述数据报文的需求的步骤时,进一步用于若数据报文的大小小于或等于所述一级分令牌桶的令牌数时,标记该数据报文为第一标记,并判定当前分令牌桶的令牌数满足转发所述数据报文的需求,若数据报文的大小大于所述一级分令牌桶的令牌数,且数据报文的大小小于或等于所述二级分令牌桶的令牌数时,标记该数据报文为第二标记,并判定当前分令牌桶的令牌数满足转发所述数据报文的需求;否则,标记该数据报文为第三标记,并判定当前分令牌桶的令牌数不满足转发所述数据报文的需求。
在一个实施例中,所述令牌桶判断模块404b在执行所述并根据所述数据报文的大小和所述总令牌桶的信息,判断当前总令牌桶的令牌数是否满足转发所述数据报文的需求的步骤时,进一步用于若数据报文的大小小于或等于所述一级总令牌桶的令牌数时,标记该数据报文为第四标记,并判定当前总令牌桶的令牌数满足转发所述数据报文的需求,若数据报文的大小大于所述一级总令牌桶的令牌数,且数据报文的大小小于或等于所述二级总令牌桶的令牌数时,标记该数据报文为第五标记,并判定当前总令牌桶的令牌数满足转发所述数据报文的需求;否则,标记该数据报文为第六标记,并判定当前总令牌桶的令牌数不满足转发所述数据报文的需求。
在一个实施例中,所述报文转发模块404c在执行所述并将满足该数据报文转发需求的对应的分令牌桶的令牌数和总令牌桶的令牌数分别减去所述数据报文的大小的步骤时,进一步用于获取所述数据报文的标记颜色,若所述数据报文携带有第一标记,则将所述第一分令牌桶的令牌数减去该数据报文的大小,若所述数据报文携带有第二标记,则将所述第二分令牌桶的令牌数减去该数据报文的大小,若所述数据报文携带有第四标记,则将所述第一总令牌桶的令牌数减去该数据报文的大小,若所述数据报文携带有第五标记,则将所述第二总令牌桶的令牌数减去该数据报文的大小。
在一个实施例中,所述分令牌桶配置模块403在执行所述根据所述上行的总带宽限值和下行的总带宽限值,以及待分配传输线路数目,计算各个传输线路的上行带宽限值和下行带宽限值的步骤时,进一步用于将所述上行的总带宽限值除以待分配传输线路数目,得到各个传输线路的上行带宽限值平均值,将所述上行带宽限值平均值作为各个传输线路的上行带宽限值,并将所述下行的总带宽限值除以待分配传输线路数目,得到各个传输线路的下行带宽限值平均值,将所述下行带宽限值平均值作为各个传输线路的下行带宽限值。
在一个实施例中,本发明的带宽控制装置还包括:
令牌桶更新模块405,用于按照设定的时间间隔,周期性地根据所述上行的总带宽限值和下行的总带宽限值,以及待分配传输线路数目,计算各个传输线路的上行带宽限值和下行带宽限值,根据计算的各个传输线路的上行带宽限值和下行带宽限值,更新各个传输线路对应的上行的分令牌桶和下行的分令牌桶的容量配置和/或令牌生成速率配置。
在一个实施例中,本发明的带宽控制装置还包括:
线路建立模块406,用于接收业务连接建立请求,根据所述业务连接建立请求,建立对应的传输线路连接,根据当前上行的总带宽限值和下行的总带宽限值,以及当前待分配传输线路数目,计算单个传输线路平均的上行带宽限值和下行带宽限值,根据所述平均的上行带宽限值和下行带宽限值,配置建立的该所述传输线路对应的上行的分令牌桶和下行的分令牌桶的容量和/或令牌生成速率。
本发明的带宽控制装置与本发明的带宽控制方法一一对应,在上述带宽控制方法的实施例阐述的技术特征及其有益效果均适用于带宽控制装置的实施例中,特此声明。
本发明还一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上任意实施例所述的带宽控制方法。
上述计算机设备,通过所述处理器上运行的计算机程序,实现了对各个传输线路的带宽分配,保证各个传输线路均有分配的带宽可用,解决了由于部分传输线路数据传输占用带宽过大导致其他传输线路带宽被占用,无法进行业务传输的问题。
本发明还提供一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上任意实施例所述的带宽控制方法。
上述计算机存储介质,通过其存储的计算机程序,实现了对各个传输线路的带宽分配,保证各个传输线路均有分配的带宽可用,解决了由于部分传输线路数据传输占用带宽过大导致其他传输线路带宽被占用,无法进行业务传输的问题。
此外,本发明还提供一种带宽控制系统,包括本地控制器,本地控制器一侧通过交换机连接有多个基站,所述基站通过所述交换机汇聚接入本地控制器,由本地控制器接入核心网络;
其中,所述基站与所述核心网络之间通过所述本地控制器建立基站与核心网络间的业务传输线路连接,所述基站向所述核心网络的数据传输方向为上行传输,所述核心网络向所述基站的数据传输方向为下行传输;
所述本地控制器配置为执行如上任意实施例所述的带宽控制方法。
上述带宽控制系统,本地控制器控制基站侧与核心网络侧的业务数据传输,对基站侧与核心网络侧之间建立的业务传输线路的带宽进行分配控制。通过本地控制器上配置的带宽控制方法,根据本地控制器上行和下行的总带宽限值,以及接入的传输线路的数目,分配各个传输线路的上行和下行带宽限值,并对应设置各个传输线路的上行和下行的分令牌桶和系统的上行和下行的总令牌桶,通过分令牌桶和总令牌桶控制对应的各个传输线路的数据传输,本地控制器可对各个传输线路的带宽进行分配,保证各个传输线路均有分配的带宽可用,解决了由于部分传输线路数据传输占用带宽过大导致其他传输线路带宽被占用,无法进行业务传输的问题。
下面以一个具体的应用实例阐述本发明的带宽控制方法。
在本应用实例中,本发明的带宽控制方法可以应用于如图6所示的TD-LTE组网系统中,以基站为企业级eNB为例,以核心网络为分组核心网(Evolved Packet Core,EPC)为例,该应用实例的TD-LTE组网系统包括:多个企业级eNB,多个交换机,本地控制器和EPC,其中,基站侧采用企业级eNB分布式组网方式,一个企业级eNB为一个小区,可同频或异频组网,企业级eNB之间由X2接口互连,所有的企业级eNB的S1接口(S1接口是TD-LTE中eNB与EPC之间的通讯接口)回传由交换机汇聚接入本地控制器,由本地控制器通过分组传送网(Packet Transport Network,PTN)接入EPC(可不经系统网关,但可能需要接入安全网关),规模组网由1588V2本地时钟服务器进行时钟集中式控制,网管系统对所有网元,例如企业级eNB或一体化微站或本地控制器等,均能可管可控。
在如图6所示的组网系统中,所有用户的业务数据由本地控制器进行汇聚和转发,集中控制,上述本地控制器按照其功能可以划分为报文收发模块、RAB管理模块和令牌桶管理模块,参见图7所示,图7为本发明应用实例的本地控制器模块结构示意图。
其中,报文收发模块用于负责上下行数据报文的接收和发送,RAB管理模块用于负责RAB过程和RAB映射表的管理,令牌桶管理模块用于负责令牌桶算法的执行、判断、令牌计算等。
本应用实例的带宽控制方法可以包括如下步骤:
A.建立eNB和EPC之间的业务传输线路连接。
具体地,由于本地控制器用于隔离eNB和EPC,并对它们的用户面数据进行汇聚和转发,因此通过RAB建立过程可以在本地控制器建立eNB和EPC的每个RAB的映射关系,即RAB映射表。
参见图8和图9所示,其中图8为本发明应用实例的本地控制器业务建立与传输过程示意图,图9为本发明应用实例的本地控制器业务建立与传输过程时序图,其中本地控制器建立eNB和EPC之间的业务传输线路连接可以按照下述步骤进行:
S901,EPC向本地控制器(Local Controller,LC)发起RAB建立消息,消息里带上EPC端的协议地址(Internet Protocol,IP)(记IPepc,下述同理)和EPC端的隧道端点标识符(Tunnel Endpoint Identifier,TEID)(记TEIDepc,下述同理);
S902,LC把EPC端的IPepc、TEIDepc记录下来,并向eNB发送RAB建立消息,消息里带上LC的eNB侧的本端IPlc1、TEIDlc1;
S903,eNB回复LC RAB建立请求响应消息,消息里带的是eNB的IPenb、TEIDenb。LC把IPenb、TEIDenb记录下来;
S904,LC回复EPC RAB建立请求响应消息,消息里带的是LC的EPC侧的本端IPlc2、TEIDlc2。
经过上述流程后,LC将把eNB侧和EPC侧的IP/TEID一一映射存放在两个哈希(Hash)表里,形成RAB映射表,如下表所示,为一个应用实例的RAB映射表。
表1一个应用实例的RAB映射表
B.配置上行和下行的总令牌桶。
将上行和下行的总令牌桶分别配置为双层的总令牌桶,其中上行和下行的总令牌桶的第一层总令牌桶的容量即最大令牌数配置为与本地控制器的上行和下行的总带宽限值相匹配,即:
上行第一层总令牌桶的容量=上行总带宽限值×1秒;
下行第一层总令牌桶的容量=下行总带宽限值×1秒。
上行和下行的总令牌桶的第二层总令牌桶的容量相应的可配置为上行和下行的总令牌桶的第一层总令牌桶的容量的两倍,即:
上行第二层总令牌桶的容量=上行第一层总令牌桶的容量×2;
下行第二层总令牌桶的容量=下行第二层总令牌桶的容量×2。
对应的,可将各个令牌桶的令牌生成速率设置为每秒增加桶容量的令牌数,以方便对带宽进行控制,即:
上行第一层总令牌桶的令牌更新速率=上行第一层总令牌桶的容量/秒;
上行第二层总令牌桶的令牌更新速率=上行第二层总令牌桶的容量/秒;
下行第一层总令牌桶的令牌更新速率=下行第一层总令牌桶的容量/秒;
下行第二层总令牌桶的令牌更新速率=下行第二层总令牌桶的容量/秒。
其中,总带宽限值为预先配置的。例如下行的总带宽限值设置为100MBytes/s,则对下行总带宽进行控制的总令牌桶的容量=100×1024×1024Bytes,同理可算得其它参数。
C.配置各个传输线路上行和下行的分令牌桶。
S905,当RAB建立时,令牌桶管理模块从令牌桶池中分配一个令牌桶关联到该RAB上下文,并计算出该RAB上下文的上行和下行带宽门限值对应的令牌数,保存在该令牌桶中。
将上行和下行的分令牌桶分别配置为双层的分令牌桶,其中各个传输线路的上行和下行的分令牌桶的第一层分令牌桶的容量配置为与各个传输线路的上行和下行的带宽限值相匹配,即:
上行第一层分令牌桶的容量=上行带宽限值×1秒;
下行第一层分令牌桶的容量=下行带宽限值×1秒。
上行和下行的分令牌桶的第二层分令牌桶的容量相应的可配置为上行和下行的分令牌桶的第一层分令牌桶的容量的两倍,即:
上行第二层分令牌桶的容量=上行第一层分令牌桶的容量×2;
下行第二层分令牌桶的容量=下行第二层分令牌桶的容量×2。
对应的,可将各个令牌桶的令牌生成速率设置为每秒增加桶容量的令牌数,以方便对带宽进行控制,即:
上行第一层分令牌桶的令牌更新速率=上行第一层分令牌桶的容量/秒;
上行第二层分令牌桶的令牌更新速率=上行第二层分令牌桶的容量/秒;
下行第一层分令牌桶的令牌更新速率=下行第一层分令牌桶的容量/秒;
下行第二层分令牌桶的令牌更新速率=下行第二层分令牌桶的容量/秒。
其中,各个传输线路的上行或下行带宽限值取决于对应的总带宽限值和当前传输线路接入数目,即各个传输线路的上行带宽限值=上行总带宽限值/当前传输线路接入数目,各个传输线路的下行带宽限值=下行总带宽限值/当前传输线路接入数目。例如下行的总带宽限值设置为100MBytes/s,当前接入用户传输线路数目为50,则每个传输线路的下行带宽控制的第一层分令牌桶的容量=100×1024×1024/50Bytes=2×1024×1024Bytes,同理可算得其它参数。
D.周期性更新分令牌桶的容量和令牌生成速率配置。
单个传输线路的上行或下行的带宽限值或者分令牌桶的容量周期性根据传输线路接入数目重新计算并更新,参见图10所示,图10为本发明应用实例的令牌桶配置周期性更新流程图。
E.利用所述总令牌桶和分令牌桶,对各个传输线路的数据传输进行控制。
S906~S909,当收到一个报文时,执行报文和令牌的对比判断,并做出转发或丢弃的标志;按照令牌桶的令牌生成速率,对该令牌桶的令牌进行恢复。
RAB建立完成后,相应的RAB映射表也建立完成。此时如果LC收到一个数据报文,则数据报文的处理流程如下:
S1001,取出用户数据报协议(User Datagram Protocol,UDP)端口,判断端口值是否是用户层面的通用分组无线业务(General Packet Radio Service,GPRS)隧道协议(GPRS Tunnelling Protocol for the Userplane,GTPU)端口2152,如果不是,则不作处理;如果是则跳转至S1002;
S1002,去掉数据包里面的GTPU隧道,并取出其中的TEID,把它和IP头里的目的IP一起作为KEY值,查找RAB映射表,如果查找表失败,则丢弃该包;如果查找表成功,则跳转至S1003。
S1003,从RAB映射表中取出BucketID,找到对应的令牌桶,进行令牌判断,具体判断流程参见图11说明。如果判断不通过,则丢弃该包;如果通过,则跳转至S1004。
S1004,取出RAB映射表查找出来的Hash Value中的本端IP、对端IP、对端TEID,进行GTPU隧道封装,并加上UDP头部、IP头部,然后转发该包。
参见图11,为本发明应用实例的本地控制器带宽控制流程图,包括步骤:
S1101,本地控制器从网络中收到一个数据报文,该数据报文大小为B字节。
S1102,判断该数据报文对应传输线路和传输方向的分令牌桶的令牌数是否足够,如果不够,说明该传输线路的带宽已经用完,则进入S1107丢弃该报文;否则进入S1103。
S1103,判断总令牌桶中的令牌数是否足够,如果不够,说明系统的总带宽已经用完,则进入S1107丢弃该报文;否则进入S1104。
S1104,根据该数据报文的标记颜色,将该传输线路分令牌桶的对应层次分令牌桶的令牌数减少B,表示消耗了该传输线路的带宽B字节。
S1105,根据该数据报文的标记颜色,将总令牌桶中对应层次的总令牌桶的令牌数减少B,表示消耗了总带宽B字节,进入S1106。
S1106,把数据报文转发出去。
S1107,把数据报文丢弃。
其中,以上步骤S1102和S1103中的令牌数的判断均可遵循如下所述的令牌桶判断过程:
S1201,当数据报文大小小于或等于第一层令牌桶的令牌数时,标记该数据报文为绿色。否则,进入S1202。
S1202,当数据报文大小小于或等于第二层令牌桶的令牌数时,标记该数据报文为黄色。否则,进入S1203。
S1203,标记该数据报文为红色。
需要说明的是,上述步骤S1201对应为第一层总令牌桶或第一层分令牌桶的判断过程,上述步骤S1202对应为第二层总令牌桶或第二层分令牌桶的判断过程,在上述S1102和S1103中,也可对总令牌桶和分令牌桶中第一层次通过的数据报文标记不同的颜色,第二层次通过的数据报文标记不同的颜色,第一层次第二层次均不通过的数据报文标记不同的颜色,同样可实现对相应令牌桶的判断过程。
本发明上述应用实例,提供一种通用的方法实现带宽保证动态控制,该方法简单有效,适用各种设备和场景,能解决由于部分用户占用全部带宽而导致其他用户无法接入的问题,同时对总带宽进行准确控制,使其不超出设定的总带宽。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行装置、装置或设备(如基于计算机的装置、包括处理器的装置或其他可以从指令执行装置、装置或设备取指令并执行指令的装置)使用,或结合这些指令执行装置、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行装置、装置或设备或结合这些指令执行装置、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“应用实例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或应用实例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或应用实例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或应用实例中以合适的方式结合。
以上所述实施例和/或应用实例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例和/或应用实例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例和/或应用实例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。