CN109905776B - 一种高效的iptv数据传输保障方法 - Google Patents

一种高效的iptv数据传输保障方法 Download PDF

Info

Publication number
CN109905776B
CN109905776B CN201910198126.7A CN201910198126A CN109905776B CN 109905776 B CN109905776 B CN 109905776B CN 201910198126 A CN201910198126 A CN 201910198126A CN 109905776 B CN109905776 B CN 109905776B
Authority
CN
China
Prior art keywords
iptv
data
iptv data
frames
frame
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
Application number
CN201910198126.7A
Other languages
English (en)
Other versions
CN109905776A (zh
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.)
Wuhan Cetron Yikong Technology Co ltd
Original Assignee
Wuhan Cetron Yikong 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 Wuhan Cetron Yikong Technology Co ltd filed Critical Wuhan Cetron Yikong Technology Co ltd
Priority to CN201910198126.7A priority Critical patent/CN109905776B/zh
Publication of CN109905776A publication Critical patent/CN109905776A/zh
Application granted granted Critical
Publication of CN109905776B publication Critical patent/CN109905776B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种高效的IPTV数据传输保障方法,所述的保障方法包括以下内容:路由器对接收到的IPTV数据帧进行测试计算;启动时间周期定时器并创建数据缓冲队列;计算每两个IPTV数据帧之间插入发送的非IPTV数据帧的字节数;通过时间周期定时器控制对数据缓冲队列中存放的数据进行周期发送。可以非常容易的部署在低端的各种家用路由器上,不用部署复杂的QOS算法调度机制,也不用用户为了保障IPTV数据的传输而做相应的额配置,一旦有IPTV数据就自动启动,并在IPTV数据传输的同时,为其他非IPTV业务数据提供剩余的带宽,充分利用带宽网络。

Description

一种高效的IPTV数据传输保障方法
技术领域
本发明涉及数据传输通信领域,尤其涉及一种高效的IPTV数据传输保障方法。
背景技术
IPTV传输视频数据的格式采用了WMV、MPEG2、MPEG4以及H.264等协议,不论采用什么协议,IPTV数据在路由器看来,都是属于视频业务数据。视频业务数据传输要求比较高,是一种实时数据,多采用UDP协议来传输,并且要求每一帧数据之间传输的时延抖动要小,其中时延抖动指的是每一帧从源到目的所用的时间的变化值,比如前一帧从源到目的花了2ms,接下来的一帧数据从源到目的花了3ms,这个从源到目的的传输时延抖动就是1ms,这样才能保证视频数据播放的时候,不会出现卡顿等情况。
对IPTV这类视频数据传输的可靠保障,目前多见于各种行业路由器上,使用各种高端的处理器,并采用复杂的QOS调度机制来实现,而对于低端的家用路由器,则对这种IPTV数据传输的保障做得不够好,要么就是IPTV数据在传输的时候得不到保障,要么就是IPTV数据传输得到保障的时候,其他非IPTV数据,诸如互联网业务的流量大幅度下降。
发明内容
本发明的目的在于克服现有技术的不足,提供一种高效的IPTV数据传输保障方法,解决了在低端路由器中IPTV数据传输的得不到保障的问题。
本发明的目的是通过以下技术方案来实现的:
本发明的有益效果是:一种高效的IPTV数据传输保障方法,所述的保障方法包括以下内容:
路由器对接收到的IPTV数据帧进行测试计算;
启动时间周期定时器并创建数据缓冲队列;
计算每两个IPTV数据帧之间插入发送的非IPTV数据帧的字节数;
通过时间周期定时器控制对数据缓冲队列中存放的数据进行周期发送。
所述路由器对接收到的IPTV数据帧进行测试计算包括的步骤如下:
测试每个IPTV数据帧的达到速率;
计算每两个IPTV数据帧之间的时间间隔以及每个IPTV数据帧包含的以太网帧的数量。
所述路由器对接收的IPTV数据帧进行测试计算还包括在测试每个IPTV数据帧的达到速率之前还需要对接收的数据类型进行判断。
所述对接收的数据类型进行判断包括以下步骤:
路由器对接收到的以太网帧的VLAN ID进行判断;
如果VLAN ID是表示IPTV的VLAN ID,则表示当前网络中有IPTV数据帧,就进入测速阶段。
当测试接收到的IPTV数据帧的速率超过阈值时,则启动时间周期定时器进行数据发送。
所述计算每两个IPTV数据帧之间插入发送的非IPTV数据帧的字节数包括以下步骤:
时间周期定时器计算每次发送的IPTV数据帧的字节数;
根据发送端口在不同工作模式下可以发送的数据字节数减去发送的IPTV数据帧的字节数;
得到可以插入发送的非IPTV数据帧的字节数。
所述数据缓冲队列包括用于IPTV数据帧的IPTV数据缓冲队列和用于存放需要发送的非IPTV数据帧的非IPTV数据缓冲队列。
所述通过时间周期定时器控制对数据缓冲队列中存放的数据进行周期发送之前还需要判断所述IPTV数据缓冲队列中是否缓冲有IPTV数据帧。
如果所述IPTV数据缓冲队列中缓冲有IPTV数据帧,则时间周期定时器运行时根据发送端口在不同工作模式下可以发送的数据字节数优先发送IPTV数据帧,然后再根据两个IPTV数据帧之间插入的非IPTV数据帧的字节数发送非IPTV数据帧。
如果所述IPTV数据缓冲队列中没有缓冲IPTV数据帧,则时间周期定时器运行时根据发送端口在不同工作模式下可以发送的数据字节数全部用于发送非IPTV数据帧。
本发明的有益效果是:一种高效的IPTV数据传输保障方法,可以非常容易的部署在低端的各种家用路由器上,不用部署复杂的QOS算法调度机制,也不用用户为了保障IPTV数据的传输而做相应的额配置,一旦有IPTV数据就自动启动,并在IPTV数据传输的同时,为其他非IPTV业务数据提供剩余的带宽,充分利用带宽网络。
附图说明
图1为本方法的流程图;
图2为IPTV数据帧和非IPTV数据帧传输图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,术语“上”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
IPTV数据属于流媒体数据,流媒体播放器在极端情况下对视频数据传输时延抖动的最大容忍限度成为DF期望值,即不增加额外缓存的情况可以看作设备把一个视频帧传输到下一节点或者视频解码的同时,另一个视频帧立刻达到缓冲区,否则就出现了画面停顿。
其中,DF期望值=IP包负载/媒体流码率,IP包负载为视频数据,单位是bit;如,一个以太网帧,负载是IP包,在IP包里封装了1316字节视频数据,流媒体速率是2Mbps,那么DF期望值则为:1316*8/2000000=5.26ms;如果媒体速率是8Mbps,则DF期望值为1316*8/8000000=1.32ms。
流媒体播放器如果能缓冲一个以上的数据帧,那么它对传输时延抖动就能有所改善,比如如果能缓冲一个完整的以太网帧,那么在8Mbps的速率下,它对传输时延抖动的最低要求就能提升到2.64ms,如果能缓冲两个完整的以太网帧,则可以将传送时延抖动的最低要求提升到接近4ms。
假如IPTV数据帧的流媒体速率是8Mbps,电视能缓冲两个完整的以太网帧,对IPTV数据帧的传输时延抖动最低要求为不大于4ms。
因此,实施例1中时间周期定时器为4ms周期的定时器。
如图1所示,一种高效的IPTV数据传输保障方法,所述的保障方法包括以下内容:
路由器对接收到的IPTV数据帧进行测试计算;其中,帧表示视频画面的意思;
启动4ms周期定时器并创建数据缓冲队列;
计算每两个IPTV数据帧之间插入发送的非IPTV数据帧的字节数;
通过4ms周期定时器控制对数据缓冲队列中存放的数据进行周期发送。
在系统内启动一个4ms周期定时器,并创建两个数据缓冲队列,一个用于存放IPTV数据帧,一个用于存放需要发送的非IPTV数据帧;并将硬件发送数据的控制权从系统(linux系统)的协议栈转交给4ms周期定时器,协议栈将需要发送的数据处理后提交给IPTV数据帧缓冲队列和非IPTV数据帧缓冲队列。
linux系统的以太驱动都会向系统注册以太帧发送函数,这个发送函数负责操作硬件资源,将帧发送出去,这个发送函数的调用者是系统的协议栈。系统的协议栈在完成了对接收的以太帧的解以太封装、源NAT转换、路由、目的NAT转换、封装以太之后,调用以太驱动注册的以太帧发送函数,将帧发送出去。在没有启动4ms周期定时器的时候,发送函数直接调用硬件资源,将帧发送出去,在4ms周期定时器启动之后,系统会设置一个全局标志,表示后继帧的发送操作会交给4ms定时器。系统的协议栈在完成了以太帧的解以太封装、源NAT转换、路由、目的NAT转换、封装以太之后,仍然调用以太帧发送函数,发送函数将帧缓冲到非IPTV数据队列里,由4ms定时器将非IPTV数据从队列里取出,操作硬件资源进行发送。同理,IPTV数据的数据帧只做二层处理,不经过NAT以及路由等步骤,二层处理完之后,也是协议栈调用以太帧发送函数,将IPTV数据缓冲到IPTV数据缓冲队列里。
所述路由器对接收到的IPTV数据帧进行测试计算包括的步骤如下:
测试每个IPTV数据帧的达到速率;
计算每两个IPTV数据帧之间的时间间隔以及每个IPTV数据帧包含的以太网帧的数量。
所述路由器对接收的IPTV数据帧进行测试计算还包括在测试每个IPTV数据帧的达到速率之前还需要对接收的数据类型进行判断。
所述对接收的数据类型进行判断包括以下步骤:
路由器对接收到的以太网帧的VLAN ID进行判断;
如果VLAN ID是表示IPTV的VLAN ID,则表示当前网络中有IPTV数据帧,就进入测速阶段。
当接收到的IPTV数据帧的速率超过1Mbps,则推断可能有视频数据需要发送,就启动4ms周期定时器进行数据的发送。
所述计算每两个IPTV数据帧之间插入发送的非IPTV数据帧的字节数包括以下步骤:
4ms周期定时器计算每次发送的IPTV数据帧的字节数;
根据发送端口在不同工作模式下可以发送的数据字节数减去发送的IPTV数据帧的字节数;
得到可以插入发送的非IPTV数据帧的字节数。
具体为4ms周期定时器计算本次发送了多少字节的IPTV数据帧,每个数据帧按照“帧长度+8”计算字节数。如果发送端口是工作在100M模式下,则每次定时器可以发送的数据是0.4M bit,也就是50000字节,减去IPTV发送的字节数,剩余的就是可以发送的非IPTV数据的字节数,假设是M字节。按照每发一个长度是N字节的非IPTV数据的帧,就从M里减去N+8字节,直到剩余的字节数不够发送下一个帧为止。如果发送端口是1000M模式,也是同样的计算方式。
所述数据缓冲队列包括用于IPTV数据帧的IPTV数据缓冲队列和用于存放需要发送的非IPTV数据帧的非IPTV数据缓冲队列。
所述通过4ms周期定时器控制对数据缓冲队列中存放的数据进行周期发送之前还需要判断所述IPTV数据缓冲队列中是否缓冲有IPTV数据帧。
如果所述IPTV数据缓冲队列中缓冲有IPTV数据帧,4ms周期定时器每隔4ms运行一次,运行的时候,首先从IPTV数据缓冲队列里获取包含的IPTV数据帧,并将这些IPTV数据帧优先发送出去,再根据发送端口在不同工作模式下可以发送的数据字节数在两个IPTV数据帧之间插入的非IPTV数据帧的字节数发送非IPTV数据帧。
如果所述IPTV数据缓冲队列中没有缓冲IPTV数据帧,4ms周期定时器每隔4ms运行一次,运行的时候根据发送端口在不同工作模式下可以发送的数据字节数全部用于发送非IPTV数据帧。
4ms周期定时器在运行的时候,没有IPTV数据可发送,则按照100M模式,发送50000字节非IPTV数据,按照1000M模式,发送500000字节非IPTV数据的方式工作。
如图2所示,经过4ms定时器调度发送之后的IPTV数据帧和非IPTV数据帧,每个IPTV数据帧在4ms的时间点上得到优先发送,每一个4ms周期内其余的带宽可以尽量发送非IPTV数据帧,同时又不会多发送。解码每一个画面所需要的IPTV数据帧,被发送出去的时刻点随机波动的范围就在4ms周期内,也就是传输时延抖动的范围控制在4ms内。
如果解码IPTV数据的播放器的缓冲比较小,或者流媒体速率更高,那么可以通过将4ms周期定时器进一步缩小,比如缩小成2ms周期定时器,这样就将传输时延抖动的随机波动减小一半,也可以进一步减小定时器周期,适应更严苛的情况。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (6)

1.一种高效的IPTV数据传输保障方法,其特征在于:所述的保障方法包括以下内容:
路由器对接收到的IPTV数据帧进行测试计算;
启动时间周期定时器并创建数据缓冲队列,所述数据缓冲队列包括用于IPTV数据帧的IPTV数据缓冲队列和用于存放需要发送的非IPTV数据帧的非IPTV数据缓冲队列;所述通过时间周期定时器控制对数据缓冲队列中存放的数据进行周期发送之前还需要判断所述IPTV数据缓冲队列中是否缓冲有IPTV数据帧;如果所述IPTV数据缓冲队列中缓冲有IPTV数据帧,则时间周期定时器运行时根据发送端口在不同工作模式下可以发送的数据字节数优先发送IPTV数据帧,然后再根据两个IPTV数据帧之间插入的非IPTV数据帧的字节数发送非IPTV数据帧;如果所述IPTV数据缓冲队列中没有缓冲IPTV数据帧,则时间周期定时器运行时根据发送端口在不同工作模式下可以发送的数据字节数全部用于发送非IPTV数据帧;
计算每两个IPTV数据帧之间插入发送的非IPTV数据帧的字节数;
通过时间周期定时器控制对数据缓冲队列中存放的数据进行周期发送。
2.根据权利要求1所述的一种高效的IPTV数据传输保障方法,其特征在于:所述路由器对接收到的IPTV数据帧进行测试计算包括的步骤如下:
测试每个IPTV数据帧的达到速率;
计算每两个IPTV数据帧之间的时间间隔以及每个IPTV数据帧包含的以太网帧的数量。
3.根据权利要求2所述的一种高效的IPTV数据传输保障方法,其特征在于:所述路由器对接收的IPTV数据帧进行测试计算还包括在测试每个IPTV数据帧的达到速率之前还需要对接收的数据类型进行判断。
4.根据权利要求3所述的一种高效的IPTV数据传输保障方法,其特征在于:所述对接收的数据类型进行判断包括以下步骤:
路由器对接收到的以太网帧的VLANID进行判断;
如果VLANID是表示IPTV的VLANID,则表示当前网络中有IPTV数据帧,就进入测速阶段。
5.根据权利要求2所述的一种高效的IPTV数据传输保障方法,其特征在于:当测试接收到的IPTV数据帧的速率超过阈值时,则启动时间周期定时器进行数据发送。
6.根据权利要求1所述的一种高效的IPTV数据传输保障方法,其特征在于:所述计算每两个IPTV数据帧之间插入发送的非IPTV数据帧的字节数包括以下步骤:
时间周期定时器计算每次发送的IPTV数据帧的字节数;
根据发送端口在不同工作模式下可以发送的数据字节数减去发送的IPTV数据帧的字节数;
得到可以插入发送的非IPTV数据帧的字节数。
CN201910198126.7A 2019-03-15 2019-03-15 一种高效的iptv数据传输保障方法 Active CN109905776B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910198126.7A CN109905776B (zh) 2019-03-15 2019-03-15 一种高效的iptv数据传输保障方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910198126.7A CN109905776B (zh) 2019-03-15 2019-03-15 一种高效的iptv数据传输保障方法

Publications (2)

Publication Number Publication Date
CN109905776A CN109905776A (zh) 2019-06-18
CN109905776B true CN109905776B (zh) 2021-02-19

Family

ID=66953278

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910198126.7A Active CN109905776B (zh) 2019-03-15 2019-03-15 一种高效的iptv数据传输保障方法

Country Status (1)

Country Link
CN (1) CN109905776B (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100346602C (zh) * 2005-06-23 2007-10-31 复旦大学 实现视频质量与发送速率控制的高并发流媒体服务器系统
CN100486329C (zh) * 2005-11-16 2009-05-06 中兴通讯股份有限公司 一种iptv与流媒体设备的接口适配方法
CN100581294C (zh) * 2005-11-18 2010-01-13 真宽通信技术(苏州)有限公司 以太网无源光网络多业务动态带宽请求的方法
US20120311173A1 (en) * 2011-05-31 2012-12-06 Broadcom Corporation Dynamic Wireless Channel Selection And Protocol Control For Streaming Media
CN102833591B (zh) * 2012-08-09 2015-08-12 中兴通讯股份有限公司 交互式网络电视系统中点播服务不中断的方法及装置
CN104780401B (zh) * 2015-03-25 2017-12-22 腾讯科技(深圳)有限公司 视频数据的发送方法及装置
CN108737813B (zh) * 2017-04-20 2021-09-03 中兴通讯股份有限公司 QoE的确定方法、装置、存储介质及处理器

Also Published As

Publication number Publication date
CN109905776A (zh) 2019-06-18

Similar Documents

Publication Publication Date Title
US10237153B2 (en) Packet retransmission method and apparatus
CN110943933B (zh) 一种实现数据传输的方法、装置和系统
US7417995B2 (en) Method and system for frame relay and ethernet service interworking
JPWO2003017577A1 (ja) 伝送装置および伝送方法
CN107852371B (zh) 数据分组网络
EP2529528A1 (en) A method and apparatus for parsing a network abstraction-layer for reliable data communication
KR20120117907A (ko) 재전송 결정을 위한 장치 및 방법
CA2508748A1 (en) Apparatus for implementing a lightweight, reliable, packet-based transport protocol
EP2811707B1 (en) Efficient transmission of voice data between voice gateways in packet-switched networks
EP3522479A1 (en) Techniques for efficient multipath transmission
US10673991B2 (en) Method and system for the scheduling of packets in a bundling scenario based on TCP tunnels and native TCP information
CN114631290B (zh) 数据分组的传输
US7724779B2 (en) Transmission system and control method
Seytnazarov et al. QoS-aware adaptive A-MPDU aggregation scheduler for enhanced VoIP capacity over aggregation-enabled WLANs
WO2000056023A1 (en) Methods and arrangements for policing and forwarding data in a data communications system
JP2007060345A (ja) ネットワークシステム
CN106790576B (zh) 一种互动桌面同步方法
CN109905776B (zh) 一种高效的iptv数据传输保障方法
WO2010054551A1 (zh) 视频流传输的方法、装置和系统
US20180183719A1 (en) Method and device for data transmission
Sahu et al. Traffic splitting for end-to-end delay jitter control in uplink multi-access systems
Gorius et al. Dynamic media streaming over wireless and mobile ip networks
KR101992689B1 (ko) 서비스 품질 보장을 고려한 VoIP 패킷 전달용 MPDU의 지능적 통합 전송 장치
Armitage et al. Benefits of flowqueue-based active queue management for interactive online games
EP2942916A1 (en) Contention avoidance in packet switched network equipments

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