一种会话描述协议消息生成方法和装置与流程

文档序号:14197199阅读:130来源:国知局
一种会话描述协议消息生成方法和装置与流程

本发明涉及通信领域,尤其涉及一种会话描述协议消息生成方法和装置。



背景技术:

iptv(internetprotocoltelevision,交互式网络电视)组播频道应用中,流媒体服务器上创建的频道会有一个入向会话描述协议(sessiondescriptionprotocol,sdp)和一个出向sdp。入向sdp用于描述频道接收的入向组播码流的媒体属性,而出向sdp则描述的是经过流媒体服务器转码处理后的频道出向组播码流的媒体属性。流媒体服务器一般采用标准的因特网组管理协议(internetgroupmanagementprotocol,igmp)加入频道sdp中描述组播组。igmp组管理协议有v1,v2和v3三个版本。其中igmpv3是在兼容和继承igmpv1和igmpv2基础上,增加了对组播源的过滤模式,即主机可以只接收来自特定源发的组播信息。由于igmpv3的这个特性,流媒体服务器如果采用igmpv3协议加入组播获取频道码流,则通常会存在频道接收组播码流出现断流的问题。



技术实现要素:

本发明实施例提供的会话描述协议消息生成方法和装置,主要解决的技术问题是当前根据会话描述协议消息只能确定一个合法组播源,使得频道接收组播码流不流畅。

为解决上述技术问题,本发明实施例提供一种会话描述协议消息生成方法,包括:

调用会话描述协议消息格式,会话描述协议消息格式包括用于记录第一组播源标识的第一字段,以及用于记录第二组播源标识的第二字段;

获取第一组播源标识及至少一个第二组播源标识;

根据第一组播源标识及至少一个第二组播源标识生成会话描述协议消息,会话描述协议消息用于进行合法组播源的设置。

本发明实施例还提供一种会话描述协议消息生成装置,包括:

会话描述协议消息格式调用模块,用于调用会话描述协议消息格式,会话描述协议消息格式包括用于记录第一组播源标识的第一字段,以及用于记录第二组播源标识的第二字段;

组播源标识获取模块,用于获取第一组播源标识及至少一个第二组播源标识;

会话描述协议消息生成模块,用于根据第一组播源标识及至少一个第二组播源标识生成会话描述协议消息,会话描述协议消息用于进行合法组播源的设置。

本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行前述任一项的会话描述协议消息生成方法。

本发明的有益效果是:

根据本发明实施例提供的会话描述协议消息生成方法、装置以及计算机存储介质,通过调用会话描述协议消息格式,会话描述协议消息格式包括用于记录第一组播源标识的第一字段,以及用于记录第二组播源标识的第二字段;获取第一组播源标识及至少一个第二组播源标识;根据第一组播源标识及至少一个第二组播源标识生成会话描述协议消息;会话描述协议消息用于进行合法组播源的设置。即可以通过包括用于记录第一组播源标识的第一字段,以及用于记录第二组播源标识的第二字段的会话描述协议格式,生成同时包括第一组播源标识和至少一个第二组播源标识的会话描述协议消息,进一步的,根据该包括第一组播源标识和至少一个第二组播源标识的会话描述协议消息可以确定第一组播源标识和至少一个第二组播源标识对应的组播源,将前述组播源设置为合法组播源,可以使得频道接收组播码流时,可以根据该组播源标识接收第一组播源标识和至少一个第二组播源标识对应的组播源的组播码流,即可以接收不同组播源发出的组播码流,相比于现有技术中的只能接收一个组播源发送的组播码流的方式,提高了频道接收组播码流的流畅度。

附图说明

图1为本发明实施例一的会话描述协议消息生成方法流程图;

图2为本发明实施例一的增加了私有会话级属性的sdp内容模板示意图;

图3为本发明实施例一的非全网组播方式下组播码流的传输方式流程图;

图4为本发明实施例二的会话描述协议消息生成装置示意图。

具体实施方式

下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。

实施例一:

本发明实施例提供一种会话描述协议消息生成方法,请参见图1,具体包括:

步骤s101,调用会话描述协议消息格式,会话描述协议消息格式包括用于记录第一组播源标识的第一字段,以及用于记录第二组播源标识的第二字段;

步骤s102,获取第一组播源标识及至少一个第二组播源标识;

步骤s103,根据第一组播源标识及至少一个第二组播源标识生成会话描述协议消息,会话描述协议消息用于进行合法组播源的设置。

具体的,当前iptv组播频道中在进行组播码流接收时,由于sdp中只携带一个组播源地址,在加入组播时,只会根据该组播源地址将该组播源加入组播组,则只接受该组播源对应的组播码流,而无法接收其他组播源对应的组播码流,从而使得频道接收不到组播码流,导致组播码流接收不流畅。本实施例中提供的会话描述协议消息生成方法通过调用包含用于记录第一组播源标识的第一字段,以及用于记录第二组播源标识的第二字段的会话描述协议消息格式,可以生成同时包含第一组播源标识及至少一个第二组播源标识和会话描述协议消息。该包含第一组播源标识及至少一个第二组播源标识的会话描述协议消息,相比于现有技术中的只携带一个组播源地址的会话描述协议消息,可以携带更多的组播源标识信息,以使更多的组播源等加入组播组,提高频道接收组播码流的流畅度。

对于步骤s101,调用会话描述协议消息格式,具体可以是调用预设的会话描述协议消息格式,该预设的会话描述协议消息格式具体包括用于记录第一组播源标识的第一字段,以及用于记录第二组播源标识的第二字段;即该预设的会话描述协议消息格式同时设置有第一字段和第二字段来存储组播源标识信息。进一步的,该预设的会话描述协议消息格式具体可以是在现有的原始会话描述协议消息格式的基础上,对该原始会话描述协议消息格式进行修改,具体的,原始会话描述协议消息格式包括一个用于指示组播源地址的o字段,即在该o字段中存储组播源的地址信息,使得频道根据该o字段中的组播源的地址信息确定合法组播源。则本实施例中,若该第一字段即为o字段,且该第一字段用于存放第一组播源标识;则可以在原始会话描述协议消息的基础上,另外设置第二字段,存放第二组播源标识。即可以预先设置包含用于记录第一组播源标识的第一字段,以及用于记录第二组播源标识的第二字段的会话描述协议消息格式,在进行合法组播源设置时,根据该会话描述协议消息格式生成会话描述协议消息,进行合法组播源的设置。

对于步骤s102和步骤s103,获取第一组播源标识及至少一个第二组播源标识,根据第一组播源标识及至少一个第二组播源标识生成会话描述协议消息,包括:通过将第一组播源标识写入第一字段,将至少一个第二组播源标识写入第二字段以生成会话描述协议消息;或通过将第一组播源标识写入第一字段,且将第一组播源标识及至少一个第二组播源标识写入第二字段以生成所述会话描述协议消息。具体的,在生成会话描述协议消息时,可以将第一组播源标识写入第一字段,将第二组播源标识写入第二字段;也可以在第一组播源标识写入第一字段后,将该第一组播源标识及至少一个第二组播源标识再一起写入第二字段;其可以根据需要具体设置,本实施例对其不作具体限定。

进一步的,本实施例中的会话描述协议消息包括:入向会话描述协议消息和/或出向会话描述协议消息。即对于iptv组播系统,该会话描述协议消息具体可以是指全网组播模式中的cdn中心节点的入向会话描述协议消息,或者全网组播模式中的cdn区域节点的入向会话描述协议消息;该入向会话描述协议消息也可以指非全网组播模式中的中心节点点播模块的入向会话描述协议消息。该出向会话描述协议消息具体可以是指全网组播模式中的cdn中心节点的出向会话描述协议消息,或者非全网组播模式中的中心节点频道模块的出向会话描述协议消息。且全网组播模式中的cdn中心节点的出向会话描述协议消息即为cdn区域节点的入向会话描述协议消息,非全网组播模式中的中心节点频道模块的出向会话描述协议消息即为中心节点点播模块的入向会话描述协议消息。

另外,本实施例中组播源标识包括组播源的地址信息。具体的,在生成会话描述协议消息时,可以将组播源的地址信息作为组播源的标识,使得后续进行合法组播源设置时,可以根据该组播源的地址信息进行合法组播源的设置;当然,该组播源标识也可以是其他可以标识组播源的信息。当组播源标识为组播源的地址信息时,该会话描述协议消息的生成过程具体包括在会话描述协议消息中设置第二字段,在该第二字段中添加除o字段中存储的组播源地址信息以外的其他组播源地址信息;该第二字段具体为私有会话属性字段。

进一步的,本实施例中的组播源包括:编码器或流媒体服务器。具体的,当本实施例中的会话描述协议消息为入向会话描述协议消息,且该入向会话描述协议消息具体为全网组播模式下的中心节点的入向会话描述协议消息,或为非全网组播模式下的中心节点频道模块的入向会话描述协议消息时,该组播源为编码器;即此时入向会话描述协议消息中具体携带的是编码器的地址信息等标识信息。另外,当该会话描述协议消息为出向会话描述协议消息,且该出向会话描述协议消息具体为全网组播模式下的中心节点的出向会话描述协议消息,或为非全网组播模式下的中心节点频道模块的出向会话描述协议消息时,该组播源为流媒体服务器;即此时出向会话描述协议消息中具体携带的是流媒体服务器的地址信息等标识信息。。

进一步的,本实施例中,通过上述会话描述协议消息生成方法生成会话描述协议消息后,则可以根据该会话描述协议消息中存储的组播源标识将相应的组播源作为合法组播源,加入到组播组中,并接收该合法组播源发送来的组播码流。即在得到组播源标识后,根据组播源标识确定合法组播源,包括:将组播源标识对应的组播源加入组播组;将加入组播组的组播源设置为合法组播源。即从会话描述协议消息中解析出组播源标识后,将解析出的组播源标识对应的组播源都作为指定合法源加入组播组中,从而使得这些源发出来的组播码流,流媒体都能正常接收,从而使频道正常工作。

具体的,在全网组播模式和非全网组播模式的iptv内容分发网络(contentdeliverynetwork,cdn)中,采用igmpv3通常会引起频道接收组播码流出现断流,即频道接收组播码流不流畅的问题,则本实施例提供的会话描述协议消息生成方法可以用于全网组播模式和非全网组播模式的cdn网络中的会话描述协议消息的生成。具体的,在iptvcdn网络中的全网组播模式下,现有技术中,对于全网组播模式下的cdn中心节点来说,cdn中心节点频道接收编码器发出的组播码流。频道入向组播码流如果是由多个不同ip地址的备份编码器发出来,而频道入向sdp中的o字段只包含一个组播源ip地址,中心节点流媒体服务器加入组播时只会指定这一个组播源ip,其他ip编码器发出的组播码流在igmpv3方式下则由于组播源地址不匹配而无法接收,从而导致频道接收不到入向组播码流而断流。对于全网组播模式下的cdn区域节点,区域节点接收中心节点频道的出向组播码流作为频道的入向码流。中心节点一般包含多个流媒体服务器,如果流媒体a发生故障,频道就会迁移到另一个流媒体b上,这时频道发出的组播码流的源ip就会发生改变,变成流媒体b的ip。也就是说,下级区域中心频道接收的上级中心节点组播码流的源ip会来自于多个不同的流媒体ip。igmpv3方式下,流媒体根据sdp中的o字段指定的组播源ip加入组播组,只接收该组播源发出的组播码流,当频道发生迁移,其他组播源发的组播码流就会被丢弃,从而导致区域节点频道收不到入向组播码流而断流。所以,对于全网组播方式下的中心节点和区域节点,可以在频道入向sdp中增加私有会话属性字段,即第二字段用来表示除o字段以外的其他组播源的ip地址,流媒体将o字段以及私有会话属性字段表示的ip都作为指定源加入组播,从而使得这些组播源发出来的组播码流,流媒体都能正常接收,从而使频道正常工作。

具体的,在频道入向sdp中,增加一个私有的会话级属性字段,在该字段中描述除o字段描述的组播源地址以外其他可能的组播源地址,其具体形式可以是:x-zmssaltorig:<addrtype><address>;其中addrtype为地址类型,address为具体的地址;如addrtype="ip4"|"ip6",address就是ipv4地址或ipv6地址。当存在多个组播源地址时,则通过多个a=x-zmssaltorig属性来描述。具体的,可以是在中心节点的入向sdp的私有会话属性字段中描述除o字段描述的编码器地址以外其他可作为合法组播源的编码器地址,在中心节点的出向sdp的私有会话属性字段中描述除o字段描述的流媒体服务器的地址以外其他可作为合法组播源的流媒体服务器的地址。另外,如附图2所示的模板,当启动igmpv3功能时,流媒体服务器对于每一个a=x-zmssaltorig属性,都调用加入组播组的接口,将对应的源地址指定为的组播源。此时,无论是由哪个源发送的组播码流,流媒体服务器都能正常接收组播码流,从而使频道正常工作。通过该方案可以解决全网组播方式下的中心节点和区域节点断流以及非全网组播方式下中心节点断流的问题。

另外,本实施例中的会话描述协议消息生成方法,具体可以用于iptvcdn网络中的非全网组播模式下,现有技术中,对于非全网组播模式下的cdn中心节点来说,中心节点接收频道入向组播码流的方式与全网组播方式中的中心节点相同,所以在igmpv3方式下同样存在频道断流问题。对于非全网组播模式下的cdn区域节点来说,由于中心节点为单播+组播出频道,下级区域节点通过即时串流协定(realtimestreamingprotocol,rtsp)单播中继方式向中心节点获取频道入向码流。每个流媒体服务器都包含频道模块和点播模块。频道模块负责接收入向码流、发送出向码流并生成频道出向sdp,点播模块负责从频道模块接收组播码流并发送给下级中继频道。中心节点点播模块根据中心节点频道生成的sdp接收中心节点频道模块发出的组播码流,因为sdp中只包含o字段一个组播源地址,所以只会指定一个组播源地址,也就是说点播模块只能收到某个流媒体服务器发送的组播码流,如果频道迁移到其他的流媒体服务器上,igmpv3方式下中心节点播模块就会因为加入组播时指定的组播源与实际发码流的组播源不一致而收不到组播码流,从而导致区域节点的频道接收不到码流而断流。所以,对于非全网组播方式下的区域节点,可以在其中心节点频道模块的入向sdp的私有会话属性字段中描述除o字段描述的编码器地址以外其他可作为合法组播源的编码器地址;另外,在业务给流媒体服务器下发频道创建消息的字段中增加下发组播源ip列表,当为组播出类型频道时,流媒体服务器根据这个列表,在生成的频道出向sdp中插入表示组播源ip的私有会话属性字段。

具体的,在非全网组播模式下,请参见图3,业务模块在创建频道时给流媒体服务器下发组播源ip列表,该组播源ip列表包含中心节点所有流媒体服务器的ip,中心节点的频道模块将这些组播源ip以a=x-zmssaltorig字段的形式写到sdp文件中。中心节点的点播模块读取频道sdp并根据sdp内容中的a=x-zmssaltorig字段将这些ip均作为源加入组播组,并将收到的组播码流以单播的形式发送给下级区域中心的频道模块。由于将中心节点所有流媒体服务器ip都作为了组播码流的源,即使频道在不同流媒体服务器上发生迁移,也不会影响点播模块接收组播码流,从而使区域中心节点能正常接收到频道入向码流。通过该方案可以解决非全网组播方式下,区域节点频道断流问题。

本实施例提供的会话描述协议消息生成方法,通过调用会话描述协议消息格式,会话描述协议消息格式包括用于记录第一组播源标识的第一字段,以及用于记录第二组播源标识的第二字段;获取第一组播源标识及至少一个第二组播源标识;根据第一组播源标识及至少一个第二组播源标识生成会话描述协议消息;会话描述协议消息用于进行合法组播源的设置。即可以通过包括用于记录第一组播源标识的第一字段,以及用于记录第二组播源标识的第二字段的会话描述协议格式,生成同时包括第一组播源标识和至少一个第二组播源标识的会话描述协议消息,进一步的,根据该包括第一组播源标识和至少一个第二组播源标识的会话描述协议消息可以确定第一组播源标识和至少一个第二组播源标识对应的组播源,使得频道接收组播码流时,可以根据该组播源标识接收第一组播源标识和至少一个第二组播源标识对应的组播源的组播码流,即可以接收不同组播源发出的组播码流,相比于现有技术中的只能接收一个组播源发送的组播码流的方式,提高了频道接收组播码流的流畅度。

实施例二:

本发明实施例提供一种会话描述协议消息生成装置,请参见图4,具体包括:会话描述协议消息格式调用模块41,组播源标识获取模块42和会话描述协议消息生成模块43;其中,会话描述协议消息格式调用模块41用于调用会话描述协议消息格式,会话描述协议消息格式包括用于记录第一组播源标识的第一字段,以及用于记录第二组播源标识的第二字段;组播源标识获取模块42用于获取第一组播源标识及至少一个第二组播源标识;会话描述协议消息生成模块43用于根据第一组播源标识及至少一个第二组播源标识生成会话描述协议消息,会话描述协议消息用于进行合法组播源的设置。

具体的,当前iptv组播频道中在进行组播码流接收时,由于sdp中只携带一个组播源地址,在加入组播时,只会根据该组播源地址将该组播源加入组播组,则只接受该组播源对应的组播码流,而无法接收其他组播源对应的组播码流,从而使得频道接收不到组播码流,导致组播码流接收不流畅。本实施例中提供的会话描述协议消息生成装置通过会话描述协议消息格式调用模块41调用包含用于记录第一组播源标识的第一字段,以及用于记录第二组播源标识的第二字段的会话描述协议消息格式,然后会话描述协议消息生成模块43根据组播源标识获取模块42获取的第一组播源标识及至少一个第二组播源标识,可以生成同时包含第一组播源标识及至少一个第二组播源标识的会话描述协议消息。该包含第一组播源标识及至少一个第二组播源标识和会话描述协议消息,相比于现有技术中的只携带一个组播源地址的会话描述协议消息,可以携带更多的组播源标识信息,以使更多的组播源等加入组播组,提高频道接收组播码流的流畅度。

会话描述协议消息格式调用模块41调用会话描述协议消息格式,具体可以是调用预设的会话描述协议消息格式,该预设的会话描述协议消息格式具体包括用于记录第一组播源标识的第一字段,以及用于记录第二组播源标识的第二字段;即该预设的会话描述协议消息格式同时设置有第一字段和第二字段来存储组播源标识信息。进一步的,该预设的会话描述协议消息格式具体可以是在现有的原始会话描述协议消息格式的基础上,对该原始会话描述协议消息格式进行修改,具体的,原始会话描述协议消息格式包括一个用于指示组播源地址的o字段,即在该o字段中存储组播源的地址信息,使得频道根据该o字段中的组播源的地址信息确定合法组播源。则本实施例中,若该第一字段即为o字段,且该第一字段用于存放第一组播源标识;则可以在原始会话描述协议消息的基础上,另外设置第二字段,存放第二组播源标识。即可以预先设置包含用于记录第一组播源标识的第一字段,以及用于记录第二组播源标识的第二字段的会话描述协议消息格式,在进行合法组播源设置时,根据该会话描述协议消息格式生成会话描述协议消息,进行合法组播源的设置。

进一步的,本实施例中的会话描述协议消息生成模块43还用于:通过将第一组播源标识写入第一字段,将至少一个第二组播源标识写入第二字段以生成会话描述协议消息;或通过将第一组播源标识写入第一字段,且将第一组播源标识及至少一个第二组播源标识写入第二字段以生成会话描述协议消息。具体的,会话描述协议消息生成模块43生成会话描述协议消息,具体可以是在生成会话描述协议消息时,可以将第一组播源标识写入第一字段,将第二组播源标识写入第二字段;也可以在第一组播源标识写入第一字段后,将该第一组播源标识及至少一个第二组播源标识再一起写入第二字段;其可以根据需要具体设置,本实施例对其不作具体限定。

进一步的,本实施例中的会话描述协议消息包括:入向会话描述协议消息和/或出向会话描述协议消息。即对于iptv组播系统,该会话描述协议消息具体可以是指全网组播模式中的cdn中心节点的入向会话描述协议消息,或者全网组播模式中的cdn区域节点的入向会话描述协议消息;该入向会话描述协议消息也可以指非全网组播模式中的中心节点点播模块的入向会话描述协议消息。该出向会话描述协议消息具体可以是指全网组播模式中的cdn中心节点的出向会话描述协议消息,或者非全网组播模式中的中心节点频道模块的出向会话描述协议消息。

另外,本实施例中组播源标识包括组播源的地址信息。具体的,在生成会话描述协议消息时,可以将组播源的地址信息作为组播源的标识,使得后续进行合法组播源设置时,可以根据该组播源的地址信息进行合法组播源的设置;当然,该组播源标识也可以是其他可以标识组播源的信息。

进一步的,本实施例中的组播源包括:编码器或流媒体服务器。具体的,当本实施例中的会话描述协议消息为入向会话描述协议消息,且该入向会话描述协议消息具体为全网组播模式下的中心节点的入向会话描述协议消息,或为非全网组播模式下的中心节点频道模块的入向会话描述协议消息时,该组播源为编码器。另外,当该会话描述协议消息为出向会话描述协议消息,且该出向会话描述协议消息具体为全网组播模式下的中心节点的出向会话描述协议消息,或为非全网组播模式下的中心节点频道模块的出向会话描述协议消息时,该组播源为流媒体服务器。

本实施例提供的会话描述协议消息生成装置,通过调用会话描述协议消息格式,会话描述协议消息格式包括用于记录第一组播源标识的第一字段,以及用于记录第二组播源标识的第二字段;获取第一组播源标识及至少一个第二组播源标识;根据第一组播源标识及至少一个第二组播源标识生成会话描述协议消息;会话描述协议消息用于进行合法组播源的设置。即可以通过包括用于记录第一组播源标识的第一字段,以及用于记录第二组播源标识的第二字段的会话描述协议格式,生成同时包括第一组播源标识和至少一个第二组播源标识的会话描述协议消息,进一步的,根据该包括第一组播源标识和至少一个第二组播源标识的会话描述协议消息可以确定第一组播源标识和至少一个第二组播源标识对应的组播源,使得频道接收组播码流时,可以根据该组播源标识接收第一组播源标识和至少一个第二组播源标识对应的组播源的组播码流,即可以接收不同组播源发出的组播码流,相比于现有技术中的只能接收一个组播源的组播码流的方式,提高了频道接收组播码流的流畅度。

显然,本领域的技术人员应该明白,上述本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在计算机存储介质(rom/ram、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。

以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

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