组播报文响应方法和装置制造方法

文档序号:7773029阅读:205来源:国知局
组播报文响应方法和装置制造方法
【专利摘要】本发明公开了一种组播报文响应方法和装置,其中,该方法包括:获取组播报文,并根据组播报文获取该组播报文的最大响应时间;至少根据该最大响应时间,均匀地发送多个组播频道中每个组播频道的响应报文,其中,该多个组播频道为待响应该组播报文的组播频道。通过本发明,解决了短时间内爆发出的大量的因特网组管理协议(IGMP)组播响应报文可能超过交换机的IGMP报文处理能力导致组播条目老化而出现频道码流中断的问题,提高了系统的可靠性和稳定性。
【专利说明】组播报文响应方法和装置

【技术领域】
[0001]本发明涉及通信领域,具体而言,涉及一种组播报文响应方法和装置。

【背景技术】
[0002]组播技术与单播技术相比,在传输效率相当的基础上具有网络带宽不随用户数量线性增长的优点,可以有效地节约网路协议电视(Internet Protocol Televis1n,简称为IPTV)媒体服务器和承载网络的负载。因此,为了高效且经济的部署IPTV业务,多采用组播技术进行端到端的媒体流推送。
[0003]IPTV节点有多个媒体口连接到交换设备上,用以接收节目码流并向外提供直播服务。当一个组播频道创建时,节点会在频道所在的网口给交换设备发送因特网组管理协议(Internet Group Management Protocol,简称为IGMP)加入请求,然后交换设备形成一个组播条目(s,g),才会把该组播码流发给请求的网口。组播条目有老化时间,交换设备定期广播IGMP组播查询报文(默认是每隔125秒),并设置定时器等待回复(就是查询的最大响应时间,默认是10秒),IPTV网口收到后发送组播报告,交换设备收到报告后就更新对应组播条目的老化时间。如果在最大响应时间内没收到报告,交换设备就认为节点没有响应此次查询。如果一直没有收到IGMP报告,那么到达老化时间的组播条目就会被删除。
[0004]图1是根据相关技术的IPTV节点响应组播查询报文的示意图,如图1所示,如果IPTV节点有10个网口连接交换设备,每个网口上有100个组播频道,在收到IGMP查询报文后,每个网口的组播入频道都可能给交换设备组播响应,并且,只要符合IGMP协议最大响应时间要求,在最大响应时间范围内给交换机IGMP响应报文即可。
[0005]本发明的发明人在研究过程中发现,在相关技术中同一个网口中乃至不同网口间的组播频道响应组播报文时并没有一个统一、合理的调度机制。因此,在组播频道多的情况下(类似交换机上接了多个接收组播码流的终端),由于各个组播频道之间并不知道对方的存在,如果随机回应IGMP响应给交换机,在各个组播频道响应组播报文的性能相近的情况下,很可能在短时间内大量的组播频道突然、集中地发送IGMP响应给交换机,那么交换设备很可能在很短时间内收到上千个IGMP报告,这将远远超出了交换设备处理组播协议报文的能力,部分组播报告的报文将被丢弃,从而导致对应的组播条目被老化,导致交换设备不会推送码流到这部分组播频道。
[0006]由此可见,短时间内爆发出的大量的IGMP组播响应报文可能超过交换机的IGMP报文处理能力导致组播条目老化,出现频道码流中断的情况。
[0007]针对相关技术中短时间内爆发出的大量的IGMP组播响应报文可能超过交换机的IGMP报文处理能力导致组播条目老化而出现频道码流中断的问题,目前尚未提出有效的解决方案。


【发明内容】

[0008]本发明提供了一种组播报文的响应方法和装置,以至少解决短时间内爆发出的大量的IGMP组播响应报文可能超过交换机的IGMP报文处理能力导致组播条目老化而出现频道码流中断的问题。
[0009]根据本发明的一个方面,提供了一种组播报文响应方法,包括:获取组播报文,并根据所述组播报文获取所述组播报文的最大响应时间;至少根据所述最大响应时间,均匀地发送多个组播频道中每个组播频道的响应报文,其中,所述多个组播频道为待响应所述组播报文的组播频道。
[0010]优选地,所述多个组播频道为媒体服务器中相同网口对应的组播频道。
[0011]优选地,至少根据所述最大响应时间,均匀地发送所述每个组播频道的所述响应报文包括:根据所述最大响应时间和所述多个组播频道的数目,确定相邻发送的所述响应报文的发送间隔;根据所述发送间隔,发送所述多个组播频道的所述响应报文。
[0012]优选地,至少根据所述最大响应时间,均匀地发送所述每个组播频道的所述响应报文包括:根据所述最大响应时间和所述多个组播频道的数目,将用于响应所述组播报文的总时间划分为预定数目的时间段;在所述时间段中的每个时间段内分别发送所述多个组播频道中的一个或多个组播频道的所述响应报文。
[0013]优选地,分别发送所述多个组播频道中的一个或多个组播频道的所述响应报文包括:按照所述多个组播频道中的每个组播频道响应所述组播报文的时间先后次序,依次发送所述响应报文,其中,较先响应所述组播报文的组播频道对应的所述响应报文优先发送。
[0014]优选地,在所述每个时间段中发送的所述响应报文的个数小于或等于预定值,其中,所述预定值是根据接收端处理所述响应报文的能力确定的。
[0015]优选地,至少根据所述最大响应时间,均匀地发送所述每个组播频道的所述响应报文包括:根据所述最大响应时间和所述多个组播频道的信息,采用预设算法将所述每个组播频道将发送所述响应报文的时间映射到用于响应所述组播报文的总时间内,得到所述每个组播频道用于发送所述响应报文的时间;根据所述时间,分别发送所述每个组播频道的所述响应报文。
[0016]根据本发明的另一个方面,还提供了一种组播报文响应装置,包括:获取模块,用于获取组播报文,并根据所述组播报文获取所述组播报文的最大响应时间;发送模块,用于至少根据所述最大响应时间,均匀地发送多个组播频道中每个组播频道的响应报文,其中,所述多个组播频道为待响应所述组播报文的组播频道。
[0017]其中,所述发送模块包括:确定单元,用于根据所述最大响应时间和所述多个组播频道的数目,确定相邻发送的所述响应报文的发送间隔;第一发送单元,用于根据所述发送间隔,发送所述多个组播频道的所述响应报文。
[0018]优选地,所述发送模块包括:划分单元,用于根据所述最大响应时间和所述多个组播频道的数目,将用于响应所述组播报文的总时间划分为预定数目的时间段;第二发送单元,用于在所述时间段中的每个时间段内分别发送所述多个组播频道中的一个或多个组播频道的所述响应报文。
[0019]优选地,所述发送模块包括:映射单元,用于根据所述最大响应时间和所述多个组播频道的信息,采用预设算法将所述每个组播频道将发送所述响应报文的时间映射到用于响应所述组播报文的总时间内,得到所述每个组播频道用于发送所述响应报文的时间;第三发送单元,用于根据所述时间,分别发送所述每个组播频道的所述响应报文。
[0020]通过本发明,采用获取组播报文,并根据组播报文获取该组播报文的最大响应时间;至少根据该最大响应时间,均匀地发送多个组播频道中每个组播频道的响应报文的方式,其中,该多个组播频道为待响应该组播报文的组播频道,解决了短时间内爆发出的大量的IGMP组播响应报文可能超过交换机的IGMP报文处理能力导致组播条目老化而出现频道码流中断的问题,提高了系统的可靠性和稳定性。

【专利附图】

【附图说明】
[0021]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0022]图1是根据相关技术的IPTV节点响应组播查询报文的示意图;
[0023]图2是根据本发明实施例的组播报文响应方法的流程示意图;
[0024]图3是根据本发明实施例的组播报文响应装置的结构示意图;
[0025]图4是根据本发明实施例的组播报文响应装置的优选结构示意图一;
[0026]图5是根据本发明实施例的组播报文响应装置的优选结构示意图二 ;
[0027]图6是根据本发明优选实施例的媒体服务器响应组播查询报文的工作示意图;
[0028]图7是根据本发明优选实施例的控制组播报告发送速率的方法的流程示意图。

【具体实施方式】
[0029]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0030]在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0031]本实施例提供了一种组播报文响应方法,图2是根据本发明实施例的组播报文响应方法的流程示意图,如图2所示,该流程包括如下步骤:
[0032]步骤S202,获取组播报文,并根据组播报文获取组播报文的最大响应时间;
[0033]步骤S204,至少根据最大响应时间,均匀地发送多个组播频道中每个组播频道的响应报文,其中,多个组播频道为待响应组播报文的组播频道。
[0034]通过上述步骤,采用在最大响应时间所指示的用于响应该组播报文的时间内,多个组播频道均匀地发送响应报文的方式。相对于相关技术中在发送响应报文时由组播频道的响应时间来决定响应组播报文的时间的方式,本实施例主动对多个组播频道响应组播报文的响应报文进行规划从而实现了线性均匀发送响应报文,解决了短时间内爆发出的大量的IGMP组播响应报文可能超过交换机的IGMP报文处理能力导致组播条目老化而出现频道码流中断的问题,提高了系统的可靠性和稳定性。
[0035]优选地,多个组播频道为媒体服务器中相同网口对应的组播频道。例如,图1中的网口 O (ethO)。优选地,其他的每一个网口都分别采用本实施例中提供的方法实现均匀地发送响应报文。
[0036]优选地,步骤S204包括:根据最大响应时间和多个组播频道的数目,确定相邻发送的响应报文的发送间隔;根据该发送间隔,发送所述多个组播频道的所述响应报文。在本方式中,通过设置相邻响应报文的发送间隔,可以使得所有的响应报文在响应时间中均匀地依次发送。优选地,还可以设置同一时间发送多个响应报文,且该多个响应报文与下一次发送的多个响应报文的发送间隔可以根据最大响应时间和多个组播频道的数目进行确定。
[0037]优选地,每个网口所对应的发送间隔可以统一设置,也可以单独分别设置。
[0038]优选地,步骤S204包括:根据最大响应时间和多个组播频道的数目,将用于响应组播报文的总时间划分为预定数目的时间段,其中,该预定数目可以小于或等于多个组播频道的数目;在每个时间段内分别发送多个组播频道中的一个或多个组播频道的响应报文。在本方式中提供了一种将可以响应组播报文的总时间进行分段规划的方式,使得在每一个时间段内实现一个或多个组播频道的响应报文,从而实现了线性均匀地发送响应报文。
[0039]用于响应组播报文的总时间可以是指最大响应时间所指示的时间段;优选地,用于响应组播报文的总时间可以不包括最大响应时间所指示的时间段中一个或者多个组播频道响应该组播报文的响应时间。
[0040]优选地,在分别发送多个组播频道中的一个或多个组播频道的响应报文的情况下,可以按照多个组播频道中的组播频道响应组播报文的时间先后次序,依次发送响应报文,优选地,较先响应组播报文的组播频道对应的响应报文优先发送。例如,可以采用队列的形式发送组播报文的响应报文,即将所有的响应报文按照生成的时间,分别加入一个或者多个队列中,并按照预定的时间间隔(对应于上述划分的预定数目的时间段)分别出队,最终发送给接收端。
[0041]优选地,为了保证接收端的处理性能,还可以对相同时间段中发送响应报文的最大个数进行设置,所设置的预定值用于表示相同时间段中发送响应报文的最大个数,且该预定值根据接收端处理响应报文的能力来确定。
[0042]优选地,步骤S204包括:根据最大响应时间和多个组播频道的信息,采用预设算法将每个组播频道将发送响应报文的时间映射到用于响应组播报文的总时间内,得到每个组播频道用于发送响应报文的时间;根据该时间,分别发送每个组播频道的响应报文。在本方式中提供了一种将每个组播频道发送响应报文的时间映射到可以响应组播报文的总时间中,从而对每个组播频道发送响应报文的时间进行规划的方式,使得每个组播频道发送响应报文的时间在最大响应时间所指示的用于响应组播报文的总时间内相对确定,从而可以实现线性均匀地发送响应报文。
[0043]优选地,多个组播频道的信息包括每个组播频道的标识信息;优选地,预设算法包括散列算法。
[0044]本实施例还提供了一种组播报文响应装置,该装置用于实现上述组播报文响应方法,装置实施例中描述的装置具体的实现过程在方法实施例中已经进行过详细说明,在此不再赘述。
[0045]图3是根据本发明实施例的组播报文响应装置的结构示意图,如图3所示,该装置可以包括:获取模块32和发送模块34,其中,获取模块32,用于获取组播报文,并根据组播报文获取组播报文的最大响应时间;发送模块34耦合至获取模块32,用于至少根据最大响应时间,线性均匀地分别发送多个组播频道中每个组播频道的响应报文,其中,多个组播频道为待响应组播报文的组播频道。
[0046]本发明的实施例中所涉及到的模块、单元可以通过软件的方式实现,也可以通过硬件的方式来实现。本实施例中的所描述的模块、单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块32和发送模块34。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,获取模块还可以被描述为“用于获取组播报文并根据组播报文获取组播报文的最大响应时间的模块”。
[0047]优选地,多个组播频道为媒体服务器中相同网口对应的组播频道。
[0048]优选地,发送模块34包括:确定单元,用于根据最大响应时间和多个组播频道的数目,确定相邻发送的响应报文的发送间隔;第一发送单元耦合至确定模块,用于根据发送间隔,发送多个组播频道的响应报文。
[0049]图4是根据本发明实施例的组播报文响应装置的优选结构示意图一,如图4所示,优选地,发送模块34包括:划分单元342,用于根据最大响应时间和多个组播频道的数目,将用于响应组播报文的总时间划分为预定数目的时间段;第二发送单元344耦合至划分单元342,用于在每个时间段内分别发送多个组播频道中的一个或多个组播频道的响应报文。
[0050]优选地,第二发送单元344用于在分别发送多个组播频道中的一个或多个组播频道的响应报文的情况下,按照多个组播频道中的组播频道响应组播报文的时间先后次序,依次发送响应报文,其中,较先响应组播报文的组播频道对应的响应报文优先发送。
[0051]优选地,相同时间段中发送响应报文的个数小于或等于预定值,该预定值根据接收端处理响应报文的能力确定。
[0052]图5是根据本发明实施例的组播报文响应装置的优选结构示意图二,如图5所示,优选地,发送模块34包括:映射单元346,用于根据最大响应时间和多个组播频道的信息,采用预设算法将每个组播频道将发送响应报文的时间映射到用于响应组播报文的总时间内,得到每个组播频道用于发送响应报文的时间;第三发送单元348耦合至映射单元346,用于根据该时间,分别发送每个组播频道的响应报文。
[0053]优选地,多个组播频道的信息包括每个组播频道的标识信息,该预设算法包括散列算法。
[0054]下面结合优选实施例进行描述和说明。
[0055]本优选实施例提供了一种IPTV系统中控制组播报告报文发送速率的方法和系统,可以用于数据设备处理组播报告受限的网络环境下,控制IPTV节点大量组播报告报文发送速率。
[0056]图6是根据本发明优选实施例的媒体服务器响应组播查询报文的工作示意图,如图6所示,本发明优选实施例提供的在交换设备处理组播协议报文能力有限的环境下,内容分发网络(Content Delivery Network,简称为Q)N)侧控制IPTV组播报告报文发送速率的方法包括如下方案:
[0057]媒体服务器的网口收到组播查询报文后,获取该报文中携带的最大响应时间参数T,媒体服务器在最大响应时间内统一线性均匀的依次发送每个组播频道的IGMP响应报文,直到发送完所有的组播报告报文。
[0058]下面对本优选实施例的实现过程进行进一步描述和说明。
[0059]图7是根据本发明优选实施例的控制组播报告发送速率的方法的流程示意图,如图7所示,该路程包括如下步骤:
[0060]步骤S701,上层业务模块下发创建频道的命令给媒体处理模块,携带参数包括频道号、组播IP、媒体服务器外口 IP等;
[0061]步骤S702,媒体处理模块根据参数打开一个通道创建频道,并通过网口收发模块向交换设备发组播加入请求;
[0062]步骤S703,媒体处理模块返回频道创建结果给业务模块;
[0063]步骤S704,交换设备收到网口的请求,生成一个组播条目,并推送码流给该网口 ;
[0064]步骤S705,重复上述步骤S701?S704,创建多个组播频道;
[0065]步骤S706,交换设备按配置的周期向各网口发送组播查询;
[0066]步骤S707,媒体服务器网口收到组播查询,发给媒体处理模块处理;
[0067]步骤S708,媒体处理模块解析查询报文,获取最大响应时间,媒体服务器在最大响应时间内线性均匀的依次发送每个组播频道的IGMP响应报文
[0068]步骤S709,媒体处理模块按间隔调用网口收发模块依次发出所有组播频道的报告报文;
[0069]步骤S710,交换设备收到组播报告,更新对应的组播条目。
[0070]通过本优选实施例实现了在最大响应时间内均匀地发送全部组播报告,交换设备侧可以均匀地收到所有网口发送的组播报告,不会出现接收报告报文集中爆发导致处理不了而丢弃的情况。
[0071]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0072]以上上述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种组播报文响应方法,其特征在于包括: 获取组播报文,并根据所述组播报文获取所述组播报文的最大响应时间; 至少根据所述最大响应时间,均匀地发送多个组播频道中每个组播频道的响应报文,其中,所述多个组播频道为待响应所述组播报文的组播频道。
2.根据权利要求1所述的方法,其特征在于,所述多个组播频道为媒体服务器中相同网口对应的组播频道。
3.根据权利要求1或2所述的方法,其特征在于,至少根据所述最大响应时间,均匀地发送所述每个组播频道的所述响应报文包括: 根据所述最大响应时间和所述多个组播频道的数目,确定相邻发送的所述响应报文的发送间隔; 根据所述发送间隔,发送所述多个组播频道的所述响应报文。
4.根据权利要求1或2所述的方法,其特征在于,至少根据所述最大响应时间,均匀地发送所述每个组播频道的所述响应报文包括: 根据所述最大响应时间和所述多个组播频道的数目,将用于响应所述组播报文的总时间划分为预定数目的时间段; 在所述时间段中的每个时间段内分别发送所述多个组播频道中的一个或多个组播频道的所述响应报文。
5.根据权利要求4所述的方法,其特征在于,分别发送所述多个组播频道中的一个或多个组播频道的所述响应报文包括:按照所述多个组播频道中的每个组播频道响应所述组播报文的时间先后次序,依次发送所述响应报文,其中,较先响应所述组播报文的组播频道对应的所述响应报文优先发送。
6.根据权利要求5所述的方法,其特征在于,在所述每个时间段中发送的所述响应报文的个数小于或等于预定值,其中,所述预定值是根据接收端处理所述响应报文的能力确定的。
7.根据权利要求1或2所述的方法,其特征在于,至少根据所述最大响应时间,均匀地发送所述每个组播频道的所述响应报文包括: 根据所述最大响应时间和所述多个组播频道的信息,采用预设算法将所述每个组播频道将发送所述响应报文的时间映射到用于响应所述组播报文的总时间内,得到所述每个组播频道用于发送所述响应报文的时间; 根据所述时间,分别发送所述每个组播频道的所述响应报文。
8.一种组播报文响应装置,其特征在于包括: 获取模块,用于获取组播报文,并根据所述组播报文获取所述组播报文的最大响应时间; 发送模块,用于至少根据所述最大响应时间,均匀地发送多个组播频道中每个组播频道的响应报文,其中,所述多个组播频道为待响应所述组播报文的组播频道。
9.根据权利要求8所述的装置,其特征在于,所述发送模块包括: 确定单元,用于根据所述最大响应时间和所述多个组播频道的数目,确定相邻发送的所述响应报文的发送间隔; 第一发送单元,用于根据所述发送间隔,发送所述多个组播频道的所述响应报文。
10.根据权利要求8所述的装置,其特征在于,所述发送模块包括: 划分单元,用于根据所述最大响应时间和所述多个组播频道的数目,将用于响应所述组播报文的总时间划分为预定数目的时间段; 第二发送单元,用于在所述时间段中的每个时间段内分别发送所述多个组播频道中的一个或多个组播频道的所述响应报文。
11.根据权利要求8所述的装置,其特征在于,所述发送模块包括: 映射单元,用于根据所述最大响应时间和所述多个组播频道的信息,采用预设算法将所述每个组播频道将发送所述响应报文的时间映射到用于响应所述组播报文的总时间内,得到所述每个组播频道用于发送所述响应报文的时间; 第三发送单元,用于根据所述时间,分别发送所述每个组播频道的所述响应报文。
【文档编号】H04L12/18GK104518889SQ201310466157
【公开日】2015年4月15日 申请日期:2013年10月8日 优先权日:2013年10月8日
【发明者】王雍 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1