基于令牌桶机制的卫星通信速率控制方法与流程

文档序号:12134371阅读:385来源:国知局
基于令牌桶机制的卫星通信速率控制方法与流程

本发明涉及卫星通信领域技术领域,具体涉及一种基于令牌桶机制的卫星通信速率控制方法。



背景技术:

卫星通信支持VoIP、视频、数据等多种业务类型,其中,话音和视频等类型的业务对时延、时延抖动、丢包率、吞吐量等性能指标具有较高的要求。然而,与地面通信相比,卫星通信具有长时延、高误码、带宽受限、流量分布不均等特点,因此,需要采用合适的策略,调节数据发送流量,减少队列压包,降低业务时延,提高系统吞吐率,保障用户服务质量。

卫星通信系统的流量控制一般包括流量分类、整形及队列调度等模块。流量分类是根据业务类型、优先级别等将数据包加入不同的队列;流量整形使业务流平稳,减少拥塞的发生;队列调度策略控制队列中数据包的缓存、发送及丢弃,保障高优先级业务的服务质量,同时兼顾公平性。

令牌桶机制使实现流量整形和速率控制的一种策略。采用令牌桶机制传输数据,能够控制数据流量,减少网络拥塞,并实现数据流量均匀发送,并实现数据流量均匀发送。令牌桶大小固定,以恒定的速率生成令牌;数据发送会消耗令牌桶中的令牌,不同大小的数据包,消耗不同数量的令牌。若令牌产生速率大于数据发送速率,则桶中令牌不断增多,直至将桶填满;若令牌产生速率小于数据发送速率,则桶中令牌不断减少,直至消耗殆尽;若令牌桶中不存在令牌,则不允许发送数据。

因此,亟需要一种基于令牌桶机制的卫星通信速率控制方法,以提高卫星通信速率控制的实时性和准确性,并降低业务时延,保障用户服务质量。



技术实现要素:

技术问题

有鉴于此,本发明实施例提供基于令牌桶机制的卫星通信速率控制方法,解决在保持卫星通信系统稳定性前提下,提高目前卫星通信系统灵活度等问题。

根据本发明的一个方面,公开了一种基于令牌桶机制的卫星通信速率控制方法,其特征在于,该方法包括如下步骤:

步骤A:依据数据包的目的地址建立业务队列;

步骤B:依据卫星通信数据发送符号率的上限值,基于令牌桶机制,实时调整所述业务队列的出口速率。

在其中一个实施例中,该方法还包括步骤C:判断所述业务队列是否超过预定阈值,具体包括如下步骤:

步骤C1:判断所述业务队列是否超过预定阈值;

步骤C2:如果超过,则按照预定比例丢弃各业务队列的数据包。

在其中一个实施例中,所述步骤C2为如果所述业务队列超过预定阈值时,按照预定规则设定各所述业务队列的分组丢弃比例。

在其中一个实施例中,所述则按照预定比例丢弃各业务队列的数据包的步骤,为按照预定优先级比例丢弃各业务队列的数据包。

在其中一个实施例中,该方法还包括步骤D:间隔预定时间,重复执行所述步骤A、B和/或C。

在其中一个实施例中,所述步骤B依据卫星通信数据发送符号率的上限值,基于令牌桶机制,实时调整所述业务队列的出口速率的步骤,具体包括如下步骤:

步骤B1:采集各所述业务队列的数据长度;

步骤B2:计算各所述业务队列的实时数据流量;

步骤B3:计算各所述队列业务的符号速率;

步骤B4:获取卫星通信数据发送符号率上限值,基于令牌桶机制,实时调整队列的出口速率。

在其中一个实施例中,所述步骤B2计算各所述业务队列的实时数据流量的步骤为:

计i时刻队列queue[i]的数据长度为len_ori[i],经时间t后,队列queue[i]的数据长度为len_new[i],则队列queue[i]的实时数据流量为v[i]=(len_new[i]–len_ori[i])/t。

在其中一个实施例中,所述步骤B3:计算各所述队列业务的符号速率的步骤为:

由队列的实时数据流量v[i]计算业务发送的符号率s[i],对应的符号率与信息速率的比例关系为coe[i],则队列queue[i]业务发送的符号率s[i]=v[i]·coe[i]。

在其中一个实施例中,所述步骤B4:获取卫星通信数据发送符号率上限值,基于令牌桶机制,实时调整队列的出口速率为:

获取卫星通信数据发送符号率上限值s_max,基于令牌桶机制,实时调整队列queue[i]的出口速率

在其中一个实施例中,该方法还包括在业务流量达到预定值时,基于令牌桶机制,实时调整队列的出口速率的步骤。

采用上述技术方案,本发明至少可取得下述技术效果:依据数据包的目的地址建立业务队列,然后依据卫星通信数据发送符号率的上限值,基于令牌桶机制,实时调整所述业务队列的出口速率。本发明基于令牌桶机制设计卫星通信速率控制方法,实现业务队列出口速率的实时调整,并设计队列溢出时的分组丢弃机制,有效提高卫星通信数据发送速率控制的准确性,保障用户的服务质量。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本发明实施例的内容和这些附图获得其他的附图。

图1是本发明一实施例所述的基于令牌桶机制的卫星通信速率控制方法流程图;

图2是本发明另一实施例所述基于令牌桶机制的卫星通信速率控制方法方法流程图;

图3是图2所示实施例步骤S120的流程图。

贯穿附图,应该注意的是,相似的标号用于描绘相同或相似的元件、特征和结构。

具体实施方式

提供以下参照附图的描述来帮助全面理解由权利要求及其等同物限定的本公开的各种实施例。以下描述包括帮助理解的各种具体细节,但是这些细节将被视为仅是示例性的。因此,本领域普通技术人员将认识到,在不脱离本公开的范围和精神的情况下,可对本文所述的各种实施例进行各种改变和修改。另外,为了清晰和简洁,公知功能和构造的描述可被省略。

以下描述和权利要求书中所使用的术语和词汇不限于文献含义,而是仅由发明人用来使本公开能够被清晰和一致地理解。因此,对于本领域技术人员而言应该明显的是,提供以下对本公开的各种实施例的描述仅是为了示例性目的,而非限制由所附权利要求及其等同物限定的本公开的目的。

应该理解,除非上下文明确另外指示,否则单数形式也包括复数指代。因此,例如,对“组件表面”的引用包括对一个或更多个这样的表面的引用。

图1是本发明一实施例所述的基于令牌桶机制的卫星通信速率控制方法流程图。

图2是本发明另一实施例所述基于令牌桶机制的卫星通信速率控制方法方法流程图。

图3是图2所示实施例步骤S120的流程图。

下面结合图1-3具体描述本发明实施例。

参考图1,本实施例所述的一种基于令牌桶机制的卫星通信速率控制方法100,该方法100包括如下步骤:

步骤A:依据数据包的目的地址建立业务队列;

步骤B:依据卫星通信数据发送符号率的上限值,基于令牌桶机制,实时调整所述业务队列的出口速率。

这样,本发明基于令牌桶机制设计卫星通信速率控制方法,实现业务队列出口速率的实时调整,有效提高卫星通信数据发送速率控制的准确性,保障用户的服务质量。

参考图2,上述基于令牌桶机制的卫星通信速率控制方法100还包括步骤C:判断业务队列是否超过预定阈值。其中,该步骤C进一步具体包括如下步骤:

步骤C1:判断所述业务队列是否超过预定阈值。其中,预定阈值的范围可以根据具体的业务梯队进行具体设置。

步骤C2:如果超过,则按照预定比例丢弃各业务队列的数据包。

这样,本发明基于令牌桶机制设计卫星通信速率控制方法100,在实现业务队列出口速率的实时调整的同时,进一步设计队列溢出时的分组丢弃机制,更加有效提高卫星通信数据发送速率控制的准确性,保障用户的服务质量。

其中,上述步骤C2为如果所述业务队列超过预定阈值时,按照预定规则设定各所述业务队列的分组丢弃比例。上述预定规则,可以为现有技术中常规的设定规则。具体的,该预定规则可以为优先级规则。具体的优先级设定原则也可以多样设置。

同样的,上述则按照预定比例丢弃各业务队列的数据包的步骤,也可以为按照预定优先级比例丢弃各业务队列的数据包。

参考图2,还包括步骤D:间隔预定时间,重复执行所述步骤A、B和/或C。这样,可以保证卫星通信速率控制方法能够连续稳定的执行,实现业务队列出口速率的实时调整,并设计队列溢出时的分组丢弃机制,有效提高卫星通信数据发送速率控制的准确性,保障用户的服务质量。

参考图3,上述步骤B依据卫星通信数据发送符号率的上限值,基于令牌桶机制,实时调整所述业务队列的出口速率的步骤,具体包括如下步骤:

步骤B1:采集各业务队列的数据长度。

步骤B2:计算各业务队列的实时数据流量。

其中,步骤B2计算各业务队列的实时数据流量的步骤为:

计i时刻队列queue[i]的数据长度为len_ori[i],经时间t后,队列queue[i]的数据长度为len_new[i],则队列queue[i]的实时数据流量为v[i]=(len_new[i]–len_ori[i])/t。

步骤B3:计算各队列业务的符号速率。

其中,步骤B3:计算各队列业务的符号速率的步骤为:

由队列的实时数据流量v[i]计算业务发送的符号率s[i],对应的符号率与信息速率的比例关系为coe[i],则队列queue[i]业务发送的符号率s[i]=v[i]·coe[i]。

步骤B4:获取卫星通信数据发送符号率上限值,基于令牌桶机制,实时调整队列的出口速率。

其中,步骤B4:获取卫星通信数据发送符号率上限值,基于令牌桶机制,实时调整队列的出口速率为:

获取卫星通信数据发送符号率上限值s_max,基于令牌桶机制,实时调整队列queue[i]的出口速率

其中,上述获取卫星通信数据发送符号率上限值,基于令牌桶机制,实时调整队列的出口速率,具体为在业务流量达到预定值时,基于令牌桶机制,实时调整队列的出口速率。

本发明提供了一种基于令牌桶机制的卫星通信速率控制方法,主要用于卫星通信系统业务流量较大的情况下数据发送速率的控制。其设计基于令牌桶机制实时调节业务队列出口速率的方法,并设计队列长度超出阈值后的数据流量控制策略。

本方法提高了卫星通信数据发送速率控制的准确性,有效降低业务时延,保障用户的服务质量。

首先,该方法依据数据包的目的地址建立业务队列,实时获取各业务队列的数据流量,结合卫星通信数据发送速率的限制,基于令牌桶机制,实时调整业务队列的出口速率。具体步骤如下。

建立n个业务队列queue[i](i=1,2,…,n),队列queue[i]的目的地址为dst[i]。

队列queue[i]的实时数据流量为v[i],队列数据流量统计时间间隔为t。某时刻队列queue[i]的数据长度为len_ori[i],经过时间t后,队列queue[i]的数据长度为len_new[i],则队列queue[i]的实时数据流量

v[i]=(len_new[i]–len_ori[i])/t。

由队列的实时数据流量v[i],可计算出业务发送的符号率s[i],设对应的符号率与信息速率的比例关系为coe[i],则队列queue[i]业务发送的符号率s[i]=v[i]·coe[i]。

卫星通信数据发送符号率上限为s_max,在业务流量较大时,需依据业务发送符号率的上限值,调整各业务队列的出口速率。队列queue[i]的出口速率

基于令牌桶机制调节业务队列的出口速率。令牌桶算法用来控制数据发送流量。令牌桶以恒定的速率产生令牌,直至将桶填满;数据发送消耗令牌桶中的令牌,不同大小的数据包,消耗不同数量的令牌;若令牌桶中不存在令牌,则不允许发送数据。本方法采用令牌桶机制控制业务队列的出口速率,保证队列的业务发送流量不超过令牌生成的速率。

其次,该方法在业务流量较大的情况下,采用上述方法调节各业务队列的出口速率,可避免卫星通信数据发送速率超出上限,但由于业务队列的出口速率被限制,可能导致队列长度超出阈值。因此,依据各业务队列的优先级别,对各队列的业务流量进行调节。

队列queue[i](i=1,2,…,n)的业务优先级为prior[i]。设各队列业务优先级从低到高依次为prior[1]<prior[2]<…<prior[n]。业务队列长度超出阈值后,依优先级从低到高的顺序,按一定比例丢弃各业务队列中的数据包。对队列queue[i],按α[i]的比例作丢包处理,则丢包后的队列长度

len_drop[i]=len_pre[i]·(1-α[i]).

重新计算队列queue[i]的实时流量v[i]及各队列的出口速率。

本方法在业务流量较大的情况下,同时降低各业务队列的出口速率,使各业务队列的流量均衡调整;当速率下降导致队列长度超出阈值时,按优先级顺序丢弃各队列中的数据包,直至队列长度恢复正常。

本发明一种基于令牌桶机制的卫星通信数据发送速率控制方法,在业务流量较大的情况下,调节数据发送速率,减少队列压包,降低业务时延,保障服务质量。其依据业务包的目的地址建立业务队列,实时获取业务队列的数据流量;结合卫星通信数据发送速率的限制,基于令牌桶机制,实时调整业务队列的出口速率;业务队列长度达到阈值后,根据业务数据的优先级别,控制发送的数据流量。其提高了卫星通信数据发送速率控制的准确性,有效降低业务时延,保障用户服务质量。

应该注意的是,如上所述的本公开的各种实施例通常在一定程度上涉及输入数据的处理和输出数据的生成。此输入数据处理和输出数据生成可在硬件或者与硬件结合的软件中实现。例如,可在移动装置或者相似或相关的电路中采用特定电子组件以用于实现与如上所述本公开的各种实施例关联的功能。另选地,依据所存储的指令来操作的一个或更多个处理器可实现与如上所述本公开的各种实施例关联的功能。如果是这样,则这些指令可被存储在一个或更多个非暂时性处理器可读介质上,这是在本公开的范围内。处理器可读介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光学数据存储装置。另外,用于实现本公开的功能计算机程序、指令和指令段可由本公开所属领域的程序员容易地解释。

尽管已参照本公开的各种实施例示出并描述了本公开,但是本领域技术人员将理解,在不脱离由所附权利要求及其等同物限定的本公开的精神和范围的情况下,可对其进行形式和细节上的各种改变。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1