专利名称:视频组播业务中频道切换的实现方法
技术领域:
本发明涉及通信技术领域,尤其涉及一种视频组播业务中频道切换的实现方法。
背景技术:
组播是一种允许一个或多个发送者(组播源)同时发送相同的数据包给多个接受者的网络技术,是一种能够在不增加骨干网负载的情况下,成倍增加业务用户数量的有效方案,也因此成为当前大流量视频业务的首选。采用IP组播包来分发视频节目流到用户,就是视频组播。对运营商来说,视频组播业务越来越重要了,无论是想要成为真正的全业务运营商、抢占高收益的有线电视市场,还是仅仅想通过开展具有吸引力的宽带增值业务、以吸引更多的用户使用宽带网,解决宽带承载视频业务的问题都是当务之急。运营商们希望将宽带接入设备(例如数字用户线接入复用器DSLAM)作为视频数据的宽带承载网,通过与多个电视节目提供商签约提供上百个组播频道,要求宽带接入设备作为最后接入用户的设备,实现可控组播、大容量组播转发表项、频道切换快速等相应的特性。
在视频组播业务的解决方案中,视频组播用户通过发送IGMP(因特网组播管理协议)加入或离开报文来加入或者离开指定的组播频道(每个频道对应一个组播组),实现频道切换。如图1所示为频道切换过程示意图,切换过程如下
A、用户在收看频道1时,接入设备将频道1复制给视频用户;B、当用户希望由正在收看的频道1切换到频道2时,他首先向接入设备发出IGMP leave(离开)报文,向接入设备请求离开频道1;C、接入设备接收到这个报文后进行处理(主要处理步骤参考下文的描述),将用户从频道1的用户列表中删除,停止复制频道1的内容给用户;D、然后用户向接入设备发出IGMP report(报告)报文,要求加入频道2;E、接入设备接收到这个报文后进行处理,将用户添加到频道2的用户列表中,复制频道2的内容给用户。
目前,宽带接入设备(如DSLAM)完全依靠软件实现对IGMP报文的处理。如图2所示,DSLAM可以分为控制模块和数据转发处理模块。控制模块完成对设备的控制,以及控制报文的处理,它负责各种转发信息(包括用户信息、用户状态、组播转发表等等)的维护和处理,因此来自用户报文中的IGMP报文都交给控制模块处理。数据转发处理模块利用这些转发信息完成用户数据帧的复制和转发。通常,控制模块属于软件部分,数据转发处理模块属于硬件部分。
如图3所示为接入设备的处理流程示例图,数据转发处理模块接收到用户A的报文后,首先判断是否IGMP报文,如果不是,则采用其他处理流程(与本发明无关)。如果是,则将整个IGMP报文交给控制模块处理。控制模块对这些报文的主要处理步骤如下1、合法性检查检查用户的IGMP报文是否符合IGMP协议要求,包括IP头的检查、IGMP消息头的检查。如果不合法,则报文将被丢弃。
2、用户鉴权合法性检查通过后,从用户报文中提取用户想要加入或离开的组播组G,检查用户A是否有收看他所要求的频道(即组播组G)的权力。DSLAM中保存了每个用户可收看的频道的信息,接收到IGMP报文后,检查用户可收看的频道中是否有报文所指定要加入(或离开)的频道。如果没有,则丢弃报文。
3、组播转发表项维护刷新DSLAM的组播转发表保存在数据转发处理模块中,组播转发表包含每个频道的收看用户列表。用户鉴权通过后,控制模块对用户列表进行维护刷新,如果IGMP报文是加入报文,则在组播转发表中给对应频道G的用户列表增加该用户A;如果是离开报文,则在组播转发表中给对应频道G的用户列表删除该用户A。
通过这些处理,数据转发处理模块根据组播转发表进行频道复制,即可实现对组播数据流分发的控制(可控组播),完成用户频道切换。此外,如果要实现记费、安全等特性,还要对用户的加入、离开某个频道的时间作记录。
视频组播业务规模商用时,每个DSLAM需要接入大量用户(几百甚至上千)。考虑到用户经常需要切换频道(尤其在没有好看的节目时),需要DSLAM处理的IGMP报文的流量非常大,完全依靠软件处理有可能会造成CPU的性能瓶颈。一旦CPU由于负荷过大,不能及时处理用户的IGMP报文,将导致用户频道切换时间过长(甚至是切换不了频道),用户对运营商的满意度将大大下降。
发明内容
本发明所要解决的技术问题是克服现有的视频组播中宽带接入设备完全依靠软件实现频道切换,在负荷过大时容易导致频道切换时间过长的缺点,提供一种视频组播中频道切换的实现方法,从而有效降低CPU负荷,提高系统性能。
本发明为解决上述技术问题所采用的技术方案为这种视频组播业务中频道切换的实现方法,在宽带接入设备中设置一加速模块,利用该加速模块辅助控制模块完成因特网组播管理协议报文的处理,实现频道切换,包括以下步骤数据转发处理模块将从用户接收到的因特网组播管理协议报文发送到加速模块;加速模块根据接收到的因特网组播管理协议报文对用户信息进行初步处理;初步处理通过后,再将用户信息交给控制模块,控制模块根据用户信息再进行处理,刷新数据转发处理模块上的组播转发表,实现频道切换。
所述的初步处理包括对用户的因特网组播管理协议报文是否符合因特网组播管理协议要求的合法性检查。还可以包括检查用户是否有收看所要求频道的权力的用户鉴权。
用户鉴权可以有如下几种实现方法1、在加速模块中建立用户是否加入组播业务的鉴权表,用户鉴权时,加速模块根据用户号查询鉴权表,鉴权通过后,把相关用户信息上报给控制模块。
2、在加速模块中建立用户号、频道号、用户权限对应关系的鉴权表,用户鉴权时,加速模块根据用户号和因特网组播管理协议报文中所指定的频道号去查鉴权表,检查用户是否具有收看所指定频道的权力,鉴权通过后,把相关用户信息上报给控制模块。
3、在加速模块中建立用户与套餐对应关系的鉴权表,及套餐号、频道号、该套餐号是否包含这个频道的对应关系的鉴权表;在用户鉴权时,先根据用户号查找用户选择的套餐,再根据套餐号和因特网组播管理协议报文中用户想要加入或离开的频道号,检查用户是否具有收看所指定频道的权力,鉴权通过后,把相关用户信息上报给控制模块。
所述的初步处理后,加速模块上报给控制模块的用户信息包括用户号、报文类型和用户需要加入或离开的组播组IP地址或与该IP地址对应的值。加速模块可以采用专用集成电路、可编程逻辑芯片或网络处理器芯片实现。
本发明的有益效果为本发明提供了一种使用加速模块辅助完成IGMP报文处理的方法,使用专用的高性能加速模块完成用户IGMP报文的分析处理,将处理结果上报给控制模块,由控制模块刷新用户状态和组播转发表,从而实现视频组播中频道的切换。在宽带接入设备上使用这种方法可以有效降低开展视频组播服务时CPU的负荷,从而提高系统性能,增强系统的鲁棒性,提供用户的满意度。本发明使得系统处理IGMP报文的性能大大提高,系统提供规模商用的视频组播业务时,可以保证用户切换频道的速度,使用户获得与有线电视相同的体验。
图1为视频组播业务中频道切换流程示意图;图2为现有的视频组播业务中频道切换的实现原理示意图;图3为现有的视频组播业务中频道切换时接入设备的处理流程图;图4为本发明视频组播业务中频道切换的实现原理示意图;图5为本发明加速模块只做IGMP报文合法性检查时接入设备的处理流程图;图6为本发明加速模块做IGMP报文合法性检查和用户鉴权时接入设备的处理流程图。
具体实施例方式
下面根据附图和实施例对本发明作进一步详细说明本发明将IGMP处理功能从接入设备的控制模块中分出一部分,在接入设备中增加加速模块,利用加速模块辅助完成IGMP报文的处理。加速模块接收用户的IGMP报文,完成对用户信息的初步处理(如合法性检查、用户鉴权等工作),然后将用户信息交给控制模块处理(如控制模块根据加速模块上报的用户信息,修改用户状态信息,刷新维护组播转发表)。
加速模块可以采用ASIC(专用集成电路)、FPGA(现场可编程门阵列)、NP(网络处理器)等芯片实现,由于增加加速模块,采用硬件和软件配合完成IGMP的处理,从而可以大大降低CPU的负荷。具体可以采用如下两种方案1、加速模块仅做合法性检查硬件加速模块只做合法性检查,鉴权、转发表刷新维护仍由软件控制模块(即CPU)完成。这种情况下硬件的处理比较简单,只需要检查IGMP包的合法性,并把通过检查的包的用户信息上报给CPU。处理步骤与不使用加速模块时主要区别在于数据转发处理模块将IGMP报文交给加速模块做合法性检查,加速模块处理完以后交给控制模块的不是整个IGMP报文,而是简洁的用户信息。
如图5所示,数据转发处理模块接收到用户A的报文后,首先判断是否IGMP报文,如果不是,则采用其他处理流程(与本发明无关)。如果是,则将整个IGMP报文交给加速模块处理。加速模块对这些报文进行合法性检查,检查用户的IGMP报文是否符合IGMP协议要求,如果不合法,则报文将被丢弃。合法性检查通过后,从用户报文中提取用户信息交给控制模块处理。用户信息包括用户号(占12BIT,即用户对应的物理线路埠号)、报文类型(占1BIT,如0表示离开报文、1表示加入报文)、用户想要加入或离开的组播组G的IP地址(占32BIT)或该组播IP地址对应的值(占12BIT,如该组播IP地址通过HASH运算得到的值,或直接取IP地址的低12位),结构可以按下表所示
控制模块根据这些信息,进行用户鉴权,检查用户A是否有收看他所要求的频道(即组播组G)的权力。如果没有,则丢弃报文。用户鉴权通过后,控制模块对用户列表进行维护刷新,如果IGMP报文是加入报文,则在组播转发表中给对应频道G的用户列表增加该用户A;如果是离开报文,则在组播转发表中给对应频道G的用户列表删除该用户A。由数据转发处理模块根据转发表进行频道的复制,从而实现频道切换。
2、加速模块完成合法性检查和用户鉴权加速模块检查完数据包的合法性后,也可以在做完用户鉴权后,再把信息上报给控制模块(CPU),用户信息格式同上,这样CPU就只需要维护转发表就可以了。
如图6所示,数据转发处理模块接收到用户A的报文后,首先判断是否IGMP报文,如果不是,则采用其他处理流程(与本发明无关)。如果是,则将整个IGMP报文交给加速模块处理。加速模块对这些报文进行合法性检查,检查用户的IGMP报文是否符合IGMP协议要求,如果不合法,则报文将被丢弃。合法性检查通过后,从用户报文中提取用户想要加入或离开的组播组G,加速模块根据这些信息,进行用户鉴权,检查用户A是否有收看他所要求的频道(即组播组G)的权力。如果没有,则丢弃报文。用户鉴权通过后,加速模块从用户报文中提取用户信息交给控制模块处理,用户信息的格式可以同上表所示。控制模块对用户列表进行维护刷新,如果IGMP报文是加入报文,则在组播转发表中给对应频道G的用户列表增加该用户A;如果是离开报文,则在组播转发表中给对应频道G的用户列表删除该用户A。由数据转发处理模块根据转发表进行频道的复制,从而实现频道切换。
上述步骤中,硬件加速模块通过查鉴权表确定用户是否有加入或离开某个频道的权力。鉴权的方式主要有3种1)用户要么可以收看所有频道,要么不能收看任何频道当业务处于试验阶段、频道数目很少的时候,可以采用这种方法。在加速模块中建立用户是否加入组播业务的鉴权表,加速模块接收到IGMP包且合法性检查通过后,查询鉴权表,如果加入了组播业务,则把相关信息上报给控制模块。鉴权表数据结构如下
2)每个用户可以自由选择需要收看的频道在加速模块中建立用户号、频道号(即组播组号或该组播组IP地址对应的值)、用户权限对应关系的鉴权表,加速模块在进行用户鉴权时,根据用户号和IGMP中所指定的频道号作为查找KEY去查鉴权表,检查用户是否具有收看IGMP中所指定的频道的权力。鉴权表可以采用如下数据结构
鉴权表的一种实现方法如下假设总共有256个频道,对每个频道,用户的权限分为可以收看和不可以收看。则给每个用户256个bit(32个字节),每个bit对应一个频道。当一个频道对应的bit取值为1时,表示用户权限为可以收看这个频道,为0时表示不可以收看。对应关系如下
这种结构开展业务时,用户可以灵活地选择他所喜欢的频道,每个用户可以选择这些频道的任意组合,只需要将用户选择收看的频道对应的bit设置为1、其余的设置为0即可。
3)选择若干种频道组合,作为套餐,用户只能选择一个套餐当系统开展的频道数目很多(>256)时,使用第2)种方法实现代价比较大,系统维护管理用户信息也比较困难。因此可以采用套餐的办法。在加速模块中建立用户与套餐的对应关系的鉴权表,及套餐号、频道号、该套餐号是否包含这个频道的对应关系的鉴权表。以每个用户选择一个套餐为例,步骤如下A、首先根据用户号查表确定用户选择的套餐,关系表格式如下
B、然后,根据套餐号和IGMP包中用户想要加入或离开的频道号作为查找KEY去查鉴权表,检查用户是否具有收看IGNP中所指定的频道的权力。鉴权表数据结构如下
假设套餐数不超过32个,则给每个频道32个bit,每个bit对应一个套餐。当一个套餐对应的bit取值为1时,表示该套餐包含这个频道,为0时表示该套餐不包含这个频道。物理存储结构可以如下
本发明提供了一种使用加速模块辅助完成IGMP报文处理的方法,使用专用的高性能加速模块完成用户IGMP报文的分析处理,将处理结果上报给控制模块,由控制模块刷新用户状态和组播转发表。在宽带接入设备上使用这种方法可以有效降低开展视频组播服务时CPU的负荷,从而提高系统性能,增强系统的鲁棒性,提供用户的满意度。本发明使得系统处理IGMP报文的性能大大提高,系统提供规模商用的视频组播业务时,可以保证用户切换频道的速度,使用户获得与有线电视相同的体验。
本领域技术人员不脱离本发明的实质和精神,可以有多种变形方案实现本发明,以上所述仅为本发明较佳可行的实施例而已,并非因此局限本发明的权利范围,凡运用本发明说明书及附图内容所作的等效结构变化,均包含于本发明的权利范围之内。
权利要求
1.一种视频组播业务中频道切换的实现方法,其特征在于,在宽带接入设备中设置一加速模块,利用该加速模块辅助控制模块完成因特网组播管理协议报文的处理,实现频道切换,包括以下步骤数据转发处理模块将从用户接收到的因特网组播管理协议报文发送到加速模块;加速模块根据接收到的因特网组播管理协议报文对用户信息进行初步处理;初步处理通过后,再将用户信息交给控制模块,控制模块根据用户信息再进行处理,刷新数据转发处理模块上的组播转发表,实现频道切换。
2.根据权利要求1所述的视频组播业务中频道切换的实现方法,其特征在于所述的初步处理包括对用户的因特网组播管理协议报文是否符合因特网组播管理协议要求的合法性检查。
3.根据权利要求2所述的视频组播业务中频道切换的实现方法,其特征在于所述的初步处理还包括检查用户是否有收看所要求频道的权力的用户鉴权。
4.根据权利要求3所述的视频组播业务中频道切换的实现方法,其特征在于在加速模块中建立用户是否加入组播业务的鉴权表,用户鉴权时,加速模块根据用户号查询鉴权表,鉴权通过后,把相关用户信息上报给控制模块。
5.根据权利要求3所述的视频组播业务中频道切换的实现方法,其特征在于在加速模块中建立用户号、频道号、用户权限对应关系的鉴权表,用户鉴权时,加速模块根据用户号和因特网组播管理协议报文中所指定的频道号去查鉴权表,检查用户是否具有收看所指定频道的权力,鉴权通过后,把相关用户信息上报给控制模块。
6.根据权利要求3所述的视频组播业务中频道切换的实现方法,其特征在于在加速模块中建立用户与套餐对应关系的鉴权表,及套餐号、频道号、该套餐号是否包含这个频道的对应关系的鉴权表;在用户鉴权时,先根据用户号查找用户选择的套餐,再根据套餐号和因特网组播管理协议报文中用户想要加入或离开的频道号,检查用户是否具有收看所指定频道的权力,鉴权通过后,把相关用户信息上报给控制模块。
7.根据权利要求1至6中任一权利要求所述的视频组播业务中频道切换的实现方法,其特征在于所述的初步处理后,加速模块上报给控制模块的用户信息包括用户号、报文类型和用户需要加入或离开的组播组IP地址或与该IP地址对应的值。
8.根据权利要求7所述的视频组播业务中频道切换的实现方法,其特征在于所述的加速模块采用专用集成电路、可编程逻辑芯片或网络处理器芯片实现。
全文摘要
一种视频组播业务中频道切换的实现方法,在宽带接入设备中设置一加速模块,利用该加速模块辅助控制模块完成IGMP报文的处理,实现频道切换,包括以下步骤数据转发处理模块将从用户接收到的IGMP报文发送到加速模块;加速模块根据接收到的IGMP报文对用户信息进行初步处理;初步处理通过后,再将用户信息交给控制模块,控制模块根据用户信息再进行处理,刷新数据转发处理模块上的组播转发表,实现频道切换。初步处理可以包括合法性检查,还可以包括用户鉴权。本发明使得系统处理IGMP报文的性能大大提高,在提供视频组播业务时,可以保证用户切换频道的速度,使用户获得与有线电视相同的体验。
文档编号H04L9/32GK1783831SQ20041005247
公开日2006年6月7日 申请日期2004年12月2日 优先权日2004年12月2日
发明者陈武茂, 孙路遥 申请人:华为技术有限公司