基于令牌桶的视频传输中的流量整形方法及系统与流程

文档序号:11138503
基于令牌桶的视频传输中的流量整形方法及系统与制造工艺

本发明涉及视频传输数据处理技术领域,具体涉及一种基于令牌桶的视频传输中的流量整形方法及系统。



背景技术:

目前常用的视频传输中的流量整形方法都是通过令牌桶算法来实现的。令牌桶算法的原理是以一定的速率生成令牌,并填充到令牌桶,接收数据报文后,根据令牌桶中的令牌数控制报文的发送。在目前的设备和芯片中,令牌产生速率的配置范围是固定不变的,不随数据流而改变,这对流量整形效果产生很大影响。

当令牌产生速率过大时,数据流在到来后没有受到任何的限速作用,数据流最大将达到峰值速率流向网络;同时,多余的令牌积累在桶中,后面到达的突发数据流可以超过峰值的流速流向网络,令牌桶没有起到流量整形和限制速度的作用。

当令牌产生速率过小时,数据流会不断地耗尽令牌桶中令牌,由于令牌不够用,部分数据流在数据缓存队列中将会溢出,会产生数据丢失现象。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种基于令牌桶的视频传输中的流量整形方法及系统,既能对数据流进行整形和限速,亦能避免造成严重的数据丢失现象。

为达到以上目的,本发明采取的技术方案是:一种基于令牌桶的视频传输中的流量整形方法,包括以下步骤:

S1,接收视频源传输的数据报文,获取视频路数和视频码率,并将数据报文存入相应的缓存队列;

S2,根据视频路数和视频码率计算令牌填充速率,并以所述令牌填充速率向令牌桶填充令牌;

S3,判断令牌桶中的令牌数是否大于或等于待发送数据报文的字节数,若是,进入步骤S4,若否,进入步骤S5;

S4,从缓存队列中读取数据报文并发送,并将令牌桶中的令牌数减少报文字节数对应的数值,结束;

S5,停止发送报文,等待生成新令牌,结束。

在上述技术方案的基础上,所述视频源为摄像头视频源。

在上述技术方案的基础上,所述令牌填充速率通过以下公式计算:

其中Token为令牌填充速率,n为产生当前数据报文的视频源数量,i为视频源序号,i为从1到n的正整数,ri为视频源的视频码率,mi为视频源的视频路数,k为修正系数,p为填充令牌的频率。

在上述技术方案的基础上,k与令牌桶深度成正比。

在上述技术方案的基础上,p=(时钟频率*8)/填充一次令牌桶的时钟间隔。

在上述技术方案的基础上,当令牌桶中的令牌数小于待发送数据报文的字节数,并且缓存队列已满时,丢弃后续到来的数据报文。

本发明还公开了一种基于令牌桶的视频传输中的流量整形系统,包括:

数据缓存模块,用于接收视频源传输的数据报文,获取视频路数和视频码率,并将数据报文存入相应的缓存队列;

令牌填充模块,用于根据视频路数和视频码率计算令牌填充速率,并以所述令牌填充速率向令牌桶填充令牌;

整形控制模块,在令牌桶中的令牌数大于或等于待发送数据报文的字节数时,从数据缓存队列中读取数据报文并发送,将令牌桶中的令牌数减少报文字节数对应的数值;在令牌桶中的令牌数小于待发送数据报文的字节数时,停止发送报文,等待生成新令牌。

在上述技术方案的基础上,所述令牌填充速率通过以下公式计算:

其中Token为令牌填充速率,n为产生当前数据报文所采用的视频源数量,i为视频源序号,i为从1到n的正整数,ri为视频源的视频码率,mi为视频源的视频路数,k为修正系数,p为填充令牌的频率。

在上述技术方案的基础上,k与令牌桶深度成正比。

在上述技术方案的基础上,p=(时钟频率*8)/填充一次令牌桶的时钟间隔。

与现有技术相比,本发明的优点在于:

本发明根据待传输数据报文的视频路数和视频码率调整令牌填充速率,在令牌桶中的令牌数大于或等于待发送数据报文的字节数时,从数据缓存队列中读取数据报文并发送,将令牌桶中的令牌数减少报文字节数对应的数值;在令牌桶中的令牌数小于待发送数据报文的字节数时,停止发送报文,等待生成新令牌,从而既能对数据流进行整形和限速,同时不会造成严重的数据丢失现象。

附图说明

图1为本发明实施例中基于令牌桶的视频传输中的流量整形方法的流程图;

图2为本发明实施例中基于令牌桶的视频传输中的流量整形系统的结构框图。

图中:1-数据缓存模块,2-令牌填充模块,3-整形控制模块。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

参见图1所示,本发明实施例提供一种基于令牌桶的视频传输中的流量整形方法,包括以下步骤:

S1,接收视频源传输的数据报文,获取视频路数和视频码率,并将数据报文存入相应的缓存队列;所述视频源为摄像头视频源;

S2,根据视频路数和视频码率计算令牌填充速率,并以所述令牌填充速率向令牌桶填充令牌;所述令牌填充速率通过以下公式计算:

其中Token为令牌填充速率,n为产生当前数据报文的视频源数量,i为视频源序号,i为从1到n的正整数,ri为视频源的视频码率,mi为视频源的视频路数,k为修正系数,p为填充令牌的频率。k与令牌桶深度成正比。p=(时钟频率*8)/填充一次令牌桶的时钟间隔。

S3,判断令牌桶中的令牌数是否大于或等于待发送数据报文的字节数,若是,进入步骤S4,若否,进入步骤S5;

S4,从缓存队列中读取数据报文并发送,并将令牌桶中的令牌数减少报文字节数对应的数值;

S5,停止发送报文,等待生成新令牌。

本发明根据待传输数据报文的视频路数和视频码率调整令牌填充速率,在令牌桶中的令牌数大于或等于待发送数据报文的字节数时,从数据缓存队列中读取数据报文并发送,将令牌桶中的令牌数减少报文字节数对应的数值;在令牌桶中的令牌数小于待发送数据报文的字节数时,停止发送报文,等待生成新令牌,从而既能对数据流进行整形和限速,同时不会造成严重的数据丢失现象。

当令牌桶中的令牌数小于待发送数据报文的字节数,并且缓存队列已满时,后续到来的数据报文将被丢弃。当令牌桶中的令牌数满后,溢出的令牌将被丢弃。

参见图2所示,本发明还公开了一种基于令牌桶的视频传输中的流量整形系统,包括:

数据缓存模块1,用于接收视频源传输的数据报文,获取视频路数和视频码率,并将数据报文存入相应的缓存队列;

令牌填充模块2,用于根据视频路数和视频码率计算令牌填充速率,并以所述令牌填充速率向令牌桶填充令牌;

整形控制模块3,在令牌桶中的令牌数大于或等于待发送数据报文的字节数时,从数据缓存队列中读取数据报文并发送,将令牌桶中的令牌数减少报文字节数对应的数值;在令牌桶中的令牌数小于待发送数据报文的字节数时,停止发送报文,等待生成新令牌。

所述令牌填充速率通过以下公式计算:

其中Token为令牌填充速率,n为产生当前数据报文所采用的视频源数量,i为视频源序号,i为从1到n的正整数,ri为视频源的视频码率,mi为视频源的视频路数,k为修正系数,p为填充令牌的频率。k与令牌桶深度成正比。p=(时钟频率*8)/填充一次令牌桶的时钟间隔。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

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