流媒体资源提供及获取方法、信令流服务器与终端设备的制作方法

文档序号:7740188阅读:206来源:国知局
专利名称:流媒体资源提供及获取方法、信令流服务器与终端设备的制作方法
技术领域
本发明实施例涉及网络通信技术,尤其涉及一种流媒体资源提供及获取方法、信令流服务器与终端设备。
背景技术
随着网络基础设施的不断完善,流媒体业务越来越普及,使得用户能够随时随地在终端上观看各种媒体节目。由于媒体节目的内容较大,会占用流服务器大量的存储资源,为此流服务器采用部分缓存技术只保存部分媒体内容来提高存储资源的利用率。当用户访问到未保存的媒体内容时,提供服务的流服务器可以实时从其他流服务器上媒体内容并继续为用户服务,也可以采用三角传输方式为用户服务。其中,三角传输方式是指当用户访问到未保存的媒体内容时,与用户终端建立信 令链接的流服务器通知其他保存有用户要访问的媒体内容的流服务器直接发送数据给用户终端。由于该三角传输方式可以减少当前提供服务的流服务器从其他流服务器上获取媒体内容的操作而得到较多应用。在实现本发明过程中,发明人发现现有技术中至少存在如下问题在用户终端与流服务器之间存在网络地址转换(Network Address Translation ;简称为NAT)设备的情况下,当流服务器发生变化时,该NAT设备将无法将媒体流成功转发给用户终端,无法保证媒体流的正确传输。

发明内容
本发明实施例提供一种流媒体资源提供及获取方法、信令流服务器与终端设备,用以在存在网络地址转换设备的情况下将流媒体数据成功转发给用户终端。本发明实施例提供一种流媒体资源提供方法,包括接收用户终端发送的资源请求消息,所述资源请求消息携带支持更新数据流服务器变更的变更标识;根据所述变更标识,在第一数据流服务器发送完所保存的流媒体数据之前,向所述用户终端返回变更请求消息,所述变更请求消息携带有在所述第一数据流服务器发送完所保存的流媒体数据之后继续向所述用户终端发送流媒体数据的第二数据流服务器的地址信息。本发明实施例提供一种流媒体资源获取方法,包括向信令流服务器发送资源请求消息,所述资源请求消息携带支持更新数据流服务器变更的变更标识;接收所述信令流服务器根据所述变更标识在第一数据流服务器发送完所保存的流媒体数据之前返回的变更请求消息,所述变更请求消息携带有在所述第一数据流服务器发送完所保存的流媒体数据之后继续发送流媒体数据的第二数据流服务器的地址信息;根据所述第二数据流服务器的地址信息,向所述第二数据流服务器发送保活消息,以在所述第二数据流服务器继续发送流媒体数据之前激活与所述第二数据流服务器之间的数据通道。本发明实施例提供一种信令流服务器,包括第一接收模块,用于接收用户终端发送的资源请求消息,所述资源请求消息携带支持更新数据流服务器变更的变更标识;第一发送模块,用于根据所述变更标识,在第一数据流服务器发送完所保存的流媒体数据之前,向所述用户终端返回变更请求消息,所述变更请求消息携带有在所述第一数据流服务器发送完所保存的流媒体数据之后继续向所述用户终端发送流媒体数据的第二数据流服务器的地址信息。本发明实施例提供一种终端设备,包括 第六发送模块,用于向信令流服务器发送资源请求消息,所述资源请求消息携带支持更新数据流服务器变更的变更标识;第五接收模块,用于接收所述信令流服务器根据所述变更标识在第一数据流服务器发送完所保存的流媒体数据之前返回的变更请求消息,所述变更请求消息携带有在所述第一数据流服务器发送完所保存的流媒体数据之后继续发送流媒体数据的第二数据流服务器的地址信息;第七发送模块,用于根据所述第二数据流服务器的地址信息,向所述第二数据流服务器发送保活消息,以在所述第二数据流服务器继续发送流媒体数据之前激活与所述第二数据流服务器之间的数据通道。本发明实施例的流媒体资源提供及获取方法、信令流服务器与终端设备,信令流服务器在第一数据流服务器发送完所保存的流媒体数据之前,根据用户终端发送的资源请求消息中的变更标识确定用户终端支持在数据流服务器变更时向其返回变更后的数据流服务器地址,并向用户终端返回第二数据流服务器的地址信息,以使用户终端向第二数据流服务器发送保活消息,以预先激活与第二数据流服务器之间的数据通道,使得第二数据流服务器在第一数据流服务器发送完所保存的流媒体数据之后向用户终端发送流媒体数据时,用户终端能够正确接收到第二数据流服务器发送的流媒体数据。如果用户终端连接有NAT设备,NAT设备在用户终端向第二数据流服务器发送保活消息的过程中会预先存储第二数据流服务器的地址信息和用户终端的地址信息的映射关系,从而根据存储的映射关系将第二数据流服务器发送的流媒体数据成功转发给用户终端,由此可见,本发明实施例解决了现有技术存在的缺陷,提高了流媒体数据传输的成功率。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为本发明一实施例提供的流媒体资源提供方法的流程图;图2为本发明一实施例提供的流媒体资源获取方法的流程图;图3为本发明一实施例提供的多数据流服务器探测方法的流程图4为本说明一实施例提供的流媒体资源获取方法的流程图;图5为本发明又一实施例提供的流媒体数据获取方法的流程图;图6为本发明再一实施例提供的流媒体资源获取方法的流程图;图7为本发明一实施例提供的信令流服务器的结构示意图;图8为本发明另一实施例提供的信令流服务器的结构示意图;图9为本发明又一实施例提供的信令流服务器的结构示意图;图10为本发明一实施例提供的终端设备的结构示意图;图11为本发明另一实施例提供的终端设备的结构示意图。·
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图I为本发明一实施例提供的流媒体资源提供方法的流程图。如图I所示,本实施例的方法包括步骤101、接收用户终端发送的资源请求消息,所述资源请求消息携带支持更新数据流服务器变更的变更标识;当用户终端请求流媒体服务时,需要首先与一个流服务器进行信令连接,用于控制整个流媒体服务的流程。其中,与用户终端建立信令连接的流服务器被称之为信令流服务器,其他流服务器用于提供流媒体数据,被称之为数据流服务器。其中,信令流服务器也可以具有数据流服务器的功能,数据流服务器也可以具有信令流服务器的功能,也就是说,在实际应用中每台流服务器均是对等的,同时具有数据流服务器和信令流服务器的功能,只是针对具体的用户终端,其中一台流服务器会作为信令流服务器,其他作为数据流服务器,而且针对不同的用户终端选择作为信令流服务器的流服务器也会不同。具体的,用户终端通过在资源请求消息中封装是否支持更新数据流服务器变更的变更标识,并将封装变更标识的资源请求消息发送给信令流服务器,以与信令流服务器建立连接。在本实施例中,每个数据流服务器上仅保存有流媒体服务对应的部分流媒体数据,而用户终端通过变更标识向信令流服务器表示其支持在数据流服务器发生变化时的更新通知,亦即支持三角传输方式,以使每个数据流服务器在信令流服务器的控制下直接向用户终端提供其所保存的流媒体数据。步骤102、根据变更标识,在第一数据流服务器发送完所保存的流媒体数据之前,向用户终端返回变更请求消息,所述变更请求消息携带有在第一数据流服务器发送完所保存的流媒体数据之后继续向用户终端发送流媒体数据的第二数据流服务器的地址信息。其中,第一数据流服务器是指当前正在向用户终端发送流媒体数据的流服务器;第二数据流服务器是指在当前数据流服务器发送完所保存的流媒体数据之后即将发送流媒体数据的流服务器。具体的,信令流服务器接收到资源请求消息后,解析出资源请求消息中的变更标识,获知需要在数据流服务器发生变化时通知用户终端。因此,信令流服务器在第一数据流服务器发送完所保存的流媒体数据之前一定时间内查询下一个提供流媒体服务器的流服务器(即第二数据流服务器)的地址信息,该地址信息主要包括IP地址和发送端口等。然后,信令流服务器将第二数据流服务器的地址信息封装在变更请求消息中,在第一数据流服务器发送完所保存的流媒体数据之前发送给用户终端。其中,信令流服务器控制各个数据流服务器向用户终端发送流媒体数据,信令流服务器能够获取每个数据流服务器的相关信息,例如数据流服务器所保存的流媒体数据、数据流服务器发送流媒体数据时的发送状态(例如何时发送完流媒体数据)、数据流服务器的地址信息等。当用户终端接收到变更请求消息后,解析出变更请求消息中的第二数据流服务器的地址信息。对用户终端来说,由于其已经与第一数据流服务器之间建立起了数据通道,故知道其接收流媒体数据的端口。当用户终端解析出第二数据流服务器的地址信息后,用户终端就会知道第二数据流服务器向其发送流媒体数据的地址信息,例如IP地址和发送端口,此时,用户终端与第二数据流服务器之间就建立了一条数据通道。所谓建立起数据通道是指确定本地接收流媒体数据的接收端口,并确定了发送端发送流媒体数据的IP地址和发送端口。然后,用户终端根据解析出的地址信息向第二数据流服务器发送保活(KeepAlive)消息,以在第二数据流服务器向用户终端发送流媒体数据之前预先激活与第 二数据流服务器之间的数据通道,从而保证第二数据流服务器的流媒体数据被正确发送给用户终端。其中,当用户终端与数据流服务器之间存在NAT设备时,用户终端发送给第二数据流服务器的保活消息需要经过NAT设备转发给第二数据流服务器。在该转发过程中,NAT设备可以从保活消息中学习到第二数据流服务器的地址信息、用户终端的地址信息,并存储第二数据流服务器的地址信息和用户终端的地址信息,也就是存储了第二数据流服务器的地址信息与用户终端的地址信息的对应关系。基于此,当第二数据流服务器的流媒体数据到达NAT设备后,NAT设备可以根据预先学习到的第二数据流服务器的地址信息与用户终端的地址信息的对应关系将流媒体数据正确转发给用户终端,保证了用户终端成功接收流媒体数据。本实施例的流媒体资源提供方法,信令流服务器根据用户终端发送的资源请求消息中的变更标识,在向用户终端提供服务的数据流服务器发生变更之前,将下一个即将为用户终端提供服务的数据流服务器的地址信息提供给用户终端,使用户终端在下一个数据流服务器提供服务之前预先激活与下一个数据流服务器之间的数据通道,从而保证了下一个数据流服务器的流媒体数据能够成功发送给用户终端,解决了现有技术中在用户终端与数据流服务器之间存在NAT设备时无法将下一个数据流服务器的流媒体数据成功发送给用户终端的问题,提高了流媒体数据传输的成功率,提高了流媒体服务的质量。图2为本发明一实施例提供的流媒体资源获取方法的流程图。如图2所示,本实施例的方法包括步骤201、向信令流服务器发送资源请求消息,所述资源请求消息携带支持更新数据流服务器变更的变更标识;当用户终端请求流媒体服务时,首先通过资源请求消息与一个流服务器建立信令连接,并由该与用户终端建立信令连接的流服务器(即信令流服务器)控制整个流媒体服务的流程。网络中的其他流服务器主要用于提供流媒体数据,被称之为数据流服务器。具体的,用户终端通过在资源请求消息中封装是否支持更新数据流服务器变更的变更标识,并将封装变更标识的资源请求消息发送给信令流服务器,以与信令流服务器建立连接。在本实施例中,每个数据流服务器上仅保存有流媒体服务对应的部分流媒体数据,而用户终端通过变更标识向信令流服务器表示其支持在数据流服务器发生变化时的更新通知,亦即支持三角传输方式,以使每个数据流服务器在信令流服务器的控制下直接向用户终端提供其所保存的流媒体数据。步骤202、接收信令流服务器根据变更标识在第一数据流服务器发送完所保存的流媒体数据之前返回的变更请求消息,所述变更请求消息携带有在第一数据流服务器发送完所保存的流媒体数据之后继续发送流媒体数据的第二数据流服务器的地址信息;当信令流服务器接收到用户终端发送的资源请求消息后,解析出资源请求消息中的变更标识,获知在数据流服务器发生变更之前需要通知用户终端,因此,信令流服务器根据变更标识生成变更请求消息,将下一个即将向用户终端提供服务的数据流服务器(即第二数据流服务器)的地址信息封装在变更请求消息中发送给用户终端。用户终端接收信令流服务器发送的变更请求消息,并解析出变更请求消息中的第 二数据流服务器的地址信息。步骤203、根据第二数据流服务器的地址信息,向第二数据流服务器发送保活消息,以在第二数据流服务器继续发送流媒体数据之前激活与第二数据流服务器之间的数据通道。用户终端根据解析出的第二数据流服务器的地址信息,通过与之连接的NAT设备向第二数据流服务器发送保活消息,以在第二数据流服务器向用户终端提供服务(即发送流媒体数据)之前激活与第二数据流服务器之间的数据通道。当用户终端确定了其本地接收流媒体数据的接收端口,并获知第二数据流服务器向其发送流媒体数据的IP地址和发送端口后,用户终端与第二数据流服务器之间就已经存在了一条数据通道,只是未被激活。具体的,用户终端先将保活消息发送给NAT设备,此时流媒体请求消息中的源IP地址为用户终端的IP地址,目的IP地址为第二数据流服务器的IP地址。NAT设备对保活消息进行地址转换,即将其源IP地址替换为NAT设备的对外的IP地址之后转发给第二数据流服务器。在该转发过程中,NAT设备会自动进行地址学习,即NAT设备对保活消息进行解析获取保活消息中的用户终端的地址信息和第二数据流服务器的地址信息,如果第二数据流服务器的IP地址是新的IP地址,则NAT设备会存储第二数据流服务器的IP地址,以及用户终端的IP地址与第二数据流服务器的IP地址的对应关系。第二数据流服务器接收到NAT转发的保活消息后,会保存其中的源IP地址(即NAT设备的IP地址),以根据该NAT设备的IP地址向用户终端发送媒体流数据。当第二数据流服务器在第一数据流服务器发送完所保存的流媒体数据之后,向用户终端发送流媒体数据时,所发送的流媒体数据消息首先到达NAT设备。NAT设备根据预先存储的用户终端的IP地址和第二数据流服务器的IP地址的对应关系,对流媒体数据消息进行地址转换,即将目的IP地址替换为用户终端的IP地址之后,发送给用户终端。本实施例的流媒体资源获取方法,用户终端向信令流服务器发送资源请求消息,使信令流服务器根据资源请求消息中的变更标识在下一个即将为用户终端提供服务的数据流服务器提供服务之前,向用户终端返回下一个数据流服务器的地址信息,用户终端根据信令流服务器返回的地址信息向下一个数据流服务器发送保活消息,以在下一个数据流服务器向用户终端提供服务之前预先激活与下一个数据流服务器之间的数据通道,从而保证了下一个数据流服务器的流媒体数据能够成功发送给用户终端,解决了现有技术中在用户终端与数据流服务器之间存在NAT设备时下一个数据流服务器的流媒体数据无法发送给用户终端的问题,提高了流媒体数据传输的成功率,提高了流媒体服务的质量。进一步,上述各实施例中的信令流服务器与第一数据流服务器可以为不同的流服务器;另外,信令流服务器与第一数据流服务器也可以相同,即两者为同一个流服务器。在上述各实施例中,各流服务器,包括数据流服务器和信令流服务器,可以与用户终端预先约定变更标识所表示的意义,例如约定变更标识不仅表示用户终端需要信令流服务器在数据流服务器发生变化时进行通知,而且限定了信令流服务器仅将下一个即将提供服务的数据流服务器的地址信息提供给用户终端。除此之外,流服务器还可以与用户终端预先约定变更标识表示用户终端支持在数据流服务器发生变化时进行通知,且支持返回多个数据流服务器(包括第二数据流服务器)的地址信息。其中,多个数据流服务器可以是网络中所有流服务器,也可以是网络中部分流服务器。 在变更标识表示后一种意思时,信令流服务器除了通过变更请求消息将第二数据流服务器的地址信息返回给用户终端之外,还可以通过变更请求消息将多个数据流服务器中除第二数据流服务器之外的其他数据流服务器的地址信息提供给用户终端。相应地,用户终端除接收到第二数据流服务器的地址信息之外,还会接收到多个数据流服务器中其他数据流服务器的地址信息,即用户终端将会接收到多个数据流服务器的地址信息。进一步,当用户终端通过保活消息激活与第二数据流服务器之间的数据通道之外,也可以通过保活消息激活与其他数据流服务器之间的数据通道。更进一步,基于上述各实施例,在信令流服务器接收用户终端发送的资源请求消息之前,或者说,在用户终端向信令流服务器发送资源请求消息之前,还包括对用户终端是否具有更新数据流服务器变更的能力进行探测的过程。该探测过程具体包括以下步骤步骤111、用户终端向信令流服务器发送探测请求消息,所述探测请求消息携带多数据源探测标识;步骤112、信令流服务器接收用户终端发送的探测请求消息;步骤113、信令流服务器根据多数据源探测标识,向多个数据流服务器发送探测指示消息,以指示多个数据流服务器向用户终端发送探测消息,所述探测指示消息携带用户终端的地址信息;多个数据流服务器是预先设定的,可以是网络中所有的流服务器,也可以是部分流服务器。多个数据流服务器根据用户终端的地址信息,向用户终端发送探测消息。步骤114、信令流服务器向用户终端发送探测应答消息,所述探测应答消息携带有多个数据流服务器的地址信息;步骤115、用户终端接收信令流服务器返回的探测应答消息;步骤116、用户终端接收多个数据流服务器根据信令流服务器的探测指示消息向用户终端发送的探测消息,并判断是否接收到探测消息;若判断结果为否,即未接收到探测消息,说明用户终端与数据流服务器之间存在NAT设备,且该NAT设备基于源IP地址、目的IP地址以及端口信息进行消息转发,所以需要信令流服务器在数据流服务器发生变更时通知用户终端,以使用户终端预先激活与下一个数据流服务器之间的数据通道,则执行步骤117 ;如果判断结果为是,即接收到探测消息(是指至少接收到一个探测消息),说明用户终端与数据流服务器之间不存在NAT设备,或者存在NAT设备但NAT设备仅根据目的IP地址进行消息转发,也就是说在数据流服务器发生变更的情况下,用户终端能够成功接收下一个数据流服务器发送的流媒体数据,因此,不需要预先激活与下一个数据流服务器之间的数据通道,故执行步骤119。步骤117、用户终端向信令流服务器发送携带变更标识的通告请求消息;用户终端通过通告请求消息并携带变更标识,以告知信令流服务器其未能接收到任何探测消息,需要在数据流服务器发生变更时进行通告,以便预先激活与变更后的数据流服务器之间的数据通道,保证成功接收流媒体数据。信令流服务器接收到用户终端的通告请求消息后,知道在数据流服务器变更时向用户终端进行变更通告,并向用户终端返回通告应答消息。步骤118、用户终端接收信令流服务器返回的通告应答消息,并执行步骤119 ;·步骤119、结束探测操作。通过本实施例提供的探测方法,用户终端可以获知是否在数据流服务器发生变更时是否需要信令流服务器进行通知,为后续用户终端向信令流服务器发送携带变更标识的资源请求消息提供了基础,为保证用户终端成功接收流媒体数据打下了基础,为提高流媒体服务的质量提供了条件。进一步,通过本实施例的探测流程,用户终端可以在需要信令流服务器通知数据流服务器变更的情况下向信令流服务器发送携带变更标识的通告请求消息使信令流服务器执行通知操作,而用户终端不需要信令流服务器通知数据流服务器变更也能成功接收流媒体数据的情况就不向信令流服务器发送携带变更标识的通告请求消息使信令流服务器不执行通知操作,可以减少不必要的资源浪费,提高流媒体服务的效率。以下将以信令流服务器与第一数据流服务器为同一流服务器为例,结合用户终端请求流媒体服务的实现流程对本发明技术方案做进一步说明,且在以下实施例以采用实时流传输协议(Real Time Streaming Protocol ;简称为RTSP)协议为例。图3为本发明一实施例提供的多数据流服务器探测方法的流程图。本实施例基于图I和图2所示实施例的原理实现,如图3所示,本实施例的探测方法包括步骤301、用户终端通过NAT设备向信令流服务器发送连接(Connection)消息,以与信令流服务器建立TCP信令链接。步骤302、NAT设备将Connection消息中的源IP地址替换为NAT设备的IP地址后转发给信令流服务器。步骤303、用户终端通过NAT设备向信令流服务器发送描述(DESCRIBE)消息,所述DESCRIBE消息携带有多数据源探测标识。对现有DESCRIBE消息的头域进行扩展,将多数据源探测标识添加到扩展的头域中。步骤304、NAT设备将DESCRIBE消息中的源IP地址替换为NAT设备的IP地址后转发给信令流服务器。至此信令流服务器与用户终端建立起TCP信令链接。步骤305、信令流服务器通过NAT设备向用户终端发送确认(例如2000K)响应消肩、O信令流服务器可以根据DESCRIBE消息中的多数据源探测标识识别出用户终端能够支持进行多数据流服务器的探测流程。此时,若信令流服务器也支持进行多数据流服务器的探测流程,则在2000K响应消息中也携带多数据源探测标识。步骤306、NAT设备将2000K响应消息的目的IP地址替换为用户终端的IP地址后
转发给用户终端。步骤307、用户终端通过NAT设备向信令流服务器发送建立(SETUP)消息。步骤308、NAT设备将SETUP消息的源IP地址替换为NAT设备的IP地址后转发给信令流服务器。
步骤309、信令流服务器通过NAT设备向用户终端发送建立响应消息(即2000K响应消息)。在本实施例中,信令流服务器和第一数据流服务器相同,故在2000K响应消息中不需携带第一数据流服务器的地址信息。如果信令流服务器和第一数据流服务器不是同一个流服务器,则信令流服务器会在2000K响应消息中携带发送流媒体数据的第一数据流服务器的IP地址和发送端口等信息。步骤310、NAT设备将2000K响应消息的目的IP地址替换为用户终端的IP地址后
转发给用户终端。步骤311、用户终端通过NAT设备向第一数据流服务器发送保活(Ke印Alive)消息,该Ke印Alive消息的源IP地址为用户终端的IP地址,目的IP地址为第一数据流服务器的IP地址。在本实施例中,第一数据流服务器的IP地址也就是信令流服务器的IP地址。步骤312、NAT设备将Ke印Alive消息的源IP地址替换为NAT设备的IP地址之后转发给第一数据流服务器。此时,第一数据流服务器将保存接收到的Keep Alive消息的源IP地址(即NAT设备的IP地址),并与用户终端进行映射,并将后续发送给用户终端的流媒体数据发送到NAT设备。步骤313、用户终端通过NAT设备向信令流服务器发送参数设置(SET_PARAMETER)请求消息,以通知信令流服务器开始进行多数据流服务器探测。步骤314、NAT设备将SET_PARAMETER请求消息的源IP地址替换为NAT设备的IP地址后转发给信令流服务器。步骤315、信令流服务器根据SET_PARAMETER请求消息,向多个数据流服务器发送探测指示消息,以指示多个数据流服务器向用户终端发送探测消息;所述探测指示消息中携带用户终端的地址信息。在本实施例中,多个数据流服务器可以是网络中所有数据流服务器,也可以是其中的部分数据流服务器步骤316、多个数据流服务器根据探测指示消息,通过NAT设备向用户终端发送探测消息。步骤317、信令流服务器通过NAT设备向用户终端发送探测响应消息,所述探测响应消息携带多个数据流服务器的地址信息。该探测响应消息为2000K响应消息。步骤318、NAT设备将探测响应消息的目的IP地址替换为用户终端的IP地址后转发给用户终端。步骤319、用户终端接收探测消息,并判断是否接收到除第一数据流服务器之外的其他数据流服务器发送的探测消息;当判断结果为接收到其他数据流服务器发送的探测消息时,表明在发生数据流服务器变更时用户终端也能够成功接收流媒体数据,可以执行步骤324。当判断结果为否,即未接收到其他数据流服务器发送的探测消息时,表明NAT设备根据源IP地址、目的IP地址和端口之间的映射关系来转发消息,由于NAT设备上未存储除第一数据流服务器之外的其他数据流服务器的地址信息,因此,其他数据流服务器的探测消息无法被转发给用户终端,因此,要求信令流服务器在数据流发生变更时通知给用户终端,转去执行步骤320。步骤320、用户终端通过NAT设备向信令流服务器发送SET_PARAMETER请求消息。用户终端通过在SET_PARAMETER请求消息中携带变更标识告知信令流服务器需要在数据流服务器发生变更时进行通知。步骤321、NAT设备将SET_PARAMETER请求消息的源IP地址替换为NAT设备的IP地址后转发给信令流服务器。信令流服务器根据变更标识识别出在数据流服务器发生变更时,需要通告给用户终端。
步骤322、信令流服务器通过NAT设备向用户终端发送2000K响应消息。步骤323、NAT设备将2000K响应消息的目的IP地址替换为用户终端的IP地址后转发给用户终端,探测操作结束。步骤324、用户终端通过NAT设备向信令流服务器发送播放(PLAY)消息。 步骤325、NAT设备将PLAY消息的源IP地址替换为NAT设备的IP地址后转发给信令流服务器。步骤326、信令流服务器通过NAT设备向用户终端发送2000K响应消息。步骤327、NAT设备将2000K响应消息的目的IP地址替换为用户终端的IP地址后转发给用户终端。步骤328、第一数据流服务器通过NAT设备向用户终端发送流媒体数据。步骤329、NAT设备将流媒体数据的目的IP地址替换为用户终端的IP地址后转发给用户终端。本实施例提供的多数据流服务器探测方法的流程在用户终端请求流媒体服务的过程中实现,可以作为后续各实施例的基础,即后续各实施例在该实施例探测出用户终端需要信令流服务器在数据流服务器发生变更时向其进行通告的条件下执行。图4为本说明一实施例提供的流媒体资源获取方法的流程图。本实施例基于图I和图2所示实施例的原理,在本实施例中,信令流服务器与第一数据流服务器为同一台流服务器,但为了更加清楚的描述信令流服务器和第一数据流服务器的操作,在图4中分别示出了信令流服务器和第一数据流服务器。如图4所示,本实施例的方法包括步骤401、用户终端通过NAT设备向信令流服务器发送Connec t i on消息,以与信令流服务器建立TCP信令链接。步骤402、NAT设备将Connection消息中的源IP地址替换为NAT设备的IP地址后转发给信令流服务器。步骤403、用户终端通过NAT设备向信令流服务器发送DESCRIBE消息,所述DESCRIBE消息携带有变更标识。该DESCRIBE消息为资源请求消息的一种具体实例。当采用SIP协议时,该步骤可以采用选项(OPTIONS)消息或通知(INFO)消息。步骤404、NAT设备将DESCRIBE消息中的源IP地址替换为NAT设备的IP地址后转发给信令流服务器。至此信令流服务器与用户终端建立起TCP信令链接。步骤405、信令流服务器通过NAT设备向用户终端发送2000K响应消息。信令流服务器可以根据DESCRIBE消息中的变更标识识别出用户终端能够支持更新数据流服务器变更的操作。如果发生数据流服务器变更时将采用三角传输方式来为用户终端提供服务。步骤406、NAT设备将2000K响应消息的目的IP地址替换为用户终端的IP地址后
转发给用户终端。步骤407、用户终端通过NAT设备向信令流服务器发送SETUP消息。 步骤408、NAT设备将SETUP消息的源IP地址替换为NAT设备的IP地址后转发给信令流服务器。步骤409、信令流服务器通过NAT设备向用户终端发送2000K响应消息。在本实施例中,信令流服务器和第一数据流服务器相同,故在2000K响应消息中不需携带第一数据流服务器的地址信息。如果信令流服务器和第一数据流服务器不是同一个流服务器,则信令流服务器会在2000K响应消息中携带发送流媒体数据的第一数据流服务器的IP地址和发送端口等信息。步骤410、NAT设备将2000K响应消息的目的IP地址替换为用户终端的IP地址后
转发给用户终端。步骤411、用户终端通过NAT设备向第一数据流服务器发送Ke印Alive消息,该Keep Alive消息的源IP地址为用户终端的IP地址,目的IP地址为第一数据流服务器的IP地址。在本实施例中,第一数据流服务器的IP地址也就是信令流服务器的IP地址。步骤412、NAT设备将Ke印Alive消息的源IP地址替换为NAT设备的IP地址之后转发给第一数据流服务器。此时,第一数据流服务器将保存接收到的Keep Alive消息的源IP地址(即NAT设备的IP地址),并与用户终端进行映射,并将后续发送给用户终端的流媒体数据发送到NAT设备。步骤413、用户终端通过NAT设备向信令流服务器发送PLAY消息。步骤414、NAT设备将PLAY消息的源IP地址替换为NAT设备的IP地址后转发给信令流服务器。步骤415、信令流服务器通过NAT设备向用户终端发送2000K响应消息。步骤416、NAT设备将2000K响应消息的目的IP地址替换为用户终端的IP地址后转发给用户终端。步骤417、第一数据流服务器通过NAT向用户终端发送流媒体数据消息。流媒体数据消息主要是指包括流媒体数据的数据包。步骤418、NAT设备将流媒体数据消息的目的IP地址替换为用户终端的IP地址后转发给用户终端。步骤419、信令流服务器对第一数据流服务器上的流媒体数据进行检测,当检测到第一数据流服务器上的流媒体数据距离预设时间就播放完成时,开始查询其他数据流服务器以获取下一部分即将播放的流媒体数据,当查询到下一部分即将播放的流媒体数据所在的数据流服务器(即第二数据流服务器)时,信令流服务器向第二数据流服务器发送准备通知消息,以使第二数据流服务器准备向用户终端发送流媒体数据,该准备通知消息携带有用户终端的地址信息等。步骤420、第二数据流服务器完成准备发送流媒体数据之后向信令流服务器发送准备应答消息以告知信令流服务器准备已完成,信令流服务器接收第二数据流服务器返回的准备应答消息,并获知第二数据流服务器准备已完成。步骤421、信令流服务器将第二数据流服务器的IP地址和发送端口等地址信息封装成通知(ANNOUNCE)消息,并通过NAT设备向用户终端发送ANNOUNCE消息。该ANNOUNCE消息为变更请求消息的一种实现实例,其中携带有第二数据流服务器的IP地址和发送端口等地址信息。 步骤422、NAT设备将ANNOUNCE消息的目的IP地址替换为用户终端的IP地址后 转发给用户终端。步骤423、用户终端根据接收的ANNOUNCE消息中第二数据流的地址信息,通过NAT设备向第二数据流服务器发送Keep Alive消息。其中,Ke印Alive消息是用户终端发送给第二数据流服务器的,用于激活其与第二数据流服务器之间的数据通道。该Keep Alive消息的目的IP地址为第二数据流服务器的IP地址,源IP地址为用户终端的IP地址。步骤424、NAT设备将Ke印Alive消息的源IP地址替换为NAT设备的IP地址后转发给第二数据流服务器。在该转发过程中,NAT设备判断获知第二数据流服务器的IP地址是新出现的IP地址,则将第二数据流服务器的IP地址存储起来,同时存储第二数据流服务器的IP地址、用户终端的IP地址以及NAT设备的IP地址之间的映射关系,以便于对第二数据流服务器发送的流媒体数据进行转发。其中,对于第二数据流服务器而言,接收Ke印Alive消息,并将Ke印Alive消息中的源IP地址与用户终端进行映射并保存。第二数据流服务器向用户终端发送流媒体数据时,直接将流媒体数据发送到NAT设备。步骤425、用户终端通过NAT设备向信令流服务器发送接收到的变更请求消息的变更应答消息。步骤426、NAT设备将变更应答消息的源IP地址替换为NAT设备的IP地址后转发给信令流服务器。步骤427、信令流服务器检测到第一数据流服务器保存的流媒体数据播放完成,向第二数据流服务器发送播放指令,以指示第二数据流服务器向用户终端发送流媒体数据。步骤428、第二数据流服务器接收到播放指令并且确定可以发送流媒体数据后,向信令流服务器返回播放应答消息以告知信令流服务器开始播放流媒体数据。相应的,信令流服务器接收第二数据流返回的播放应答消息,并获知第二数据流服务器已开始发送流媒体数据。步骤429、第二数据流服务器根据之前存储的NAT设备的IP地址与用户终端的映射关系,通过NAT设备向用户终端发送流媒体数据消息。步骤430、NAT设备将流媒体数据消息的目的IP地址替换为用户终端的目的IP地址后转发给用户终端。其中,由于NAT设备已经根据用户终端之前发送给第二数据流服务器的Ke印Alive消息学习到了第二数据流服务器的IP地址,因此,在本步骤中,NAT设备可以成功将第二数据流服务器的流媒体数据转发给用户终端。用户终端继续接收NAT设备转发第二数据流服务器提供的流媒体数据。本实施例的流媒体资源获取方法,主要是一种在流媒体播放过程中通过重用信令信道和信令消息在数据流服务器发生变更时将下一个数据流服务器的地址信息实时通告给用户终端的实施方式。在本实施例中,具体通过RTSP协议下的ANNOUNCE消息和该ANNOUNCE消息对应的信令信道,在数据流服务器发生变更时将下一个数据流服务器的地址信息通告给用户终端,但并不限于此。例如当采用会话初始化协议(Session InitiationProtocol ;简称为SIP)时,可以通过SIP下的INFO通知和其对应的信道将下一个数据流服务器的地址信息通告给用户终端。进一步,当DESCRIBE消息中的变更标识表示用户终端支持返回多个数据流服务器的地址信息时,信令流服务器具体通过ANNOUNCE消息将包括第二数据流服务器在内的多个数据流服务器的地址信息同时通告给用户终端。其中,信令流服务器可以将多个数据流服务器的地址信息同时封装在一个ANNOUNCE消息中发送给用户终端,也可以通过多个 ANNOUNCE消息发送给用户终端。其中,在ANNOUNCE消息的能力容许时,通过一个ANNOUNCE消息同时将多个数据流服务器的地址信息发送给用户终端可以节约交互流程,可以提高流媒体服务的质量,因此,为一优选实施方式。对于用户终端而言,当接收到多个数据流服务器的地址信息时,均可以通过对第二数据流服务器的处理方式来与多个数据流服务器中的每一个数据流服务器预先建立连接。图5为本发明又一实施例提供的流媒体数据获取方法的流程图。本实施例基于图I和图2所示实施例的原理实现,在本实施例中,信令流服务器与第一数据流服务器为同一台流服务器,但为了更加清楚的描述信令流服务器和第一数据流服务器的操作,在图4中分别示出了信令流服务器和第一数据流服务器。如图5所示,本实施例的方法包括步骤501、用户终端通过NAT设备向信令流服务器发送Connec t i on消息,以与信令流服务器建立TCP信令链接。步骤502、NAT设备将Connection消息中的源IP地址替换为NAT设备的IP地址后转发给信令流服务器。步骤503、用户终端通过NAT设备向信令流服务器发送DESCRIBE消息,所述DESCRIBE消息携带有变更标识。在该实施例中,变更标识表示用户终端允许信令流服务器在数据流服务器发生变更之前返回多个数据流服务器的地址信息。所述多个数据流服务器可以是网络中所有的数据流服务器也可以是部分数据流服务器,但在该多个数据流服务器中包括第一数据流服务器和第二数据流服务器。步骤504、NAT设备将DESCRIBE消息中的源IP地址替换为NAT设备的IP地址后转发给信令流服务器。至此信令流服务器与用户终端建立起TCP信令链接。步骤505、信令流服务器通过NAT设备向用户终端发送2000K响应消息。信令流服务器可以根据DESCRIBE消息中的变更标识识别出用户终端能够支持更新数据流服务器变更的操作,并且要求信令流服务器在数据流服务器发生变更时返回多个数据流服务器的地址信息。如果发生数据流服务器变更时将采用三角传输方式来为用户终端提供服务。
步骤506、NAT设备将2000K响应消息的目的IP地址替换为用户终端的IP地址后
转发给用户终端。步骤507、用户终端通过NAT设备向信令流服务器发送SETUP消息。步骤508、NAT设备将SETUP消息的源IP地址替换为NAT设备的IP地址后转发给信令流服务器。步骤509、信令流服务器通过NAT设备向用户终端发送建立响应消息(即2000K响应消息)。在本实施例中,信令流服务器和第一数据流服务器相同,故在2000K响应消息中不需携带第一数据流服务器的地址信息。如果信令流服务器和第一数据流服务器不是同一个流服务器,则信令流服务器会在2000K响应消息中携带发送流媒体数据的第一数据流服务器的IP地址和发送端口等信息。另外,在本实施例中,信令流服务器同时将多个数据流服务器的地址信息(例如 IP地址和发送端口)封装在该2000K响应消息中返回给用户终端。步骤510、NAT设备将2000K响应消息的目的IP地址替换为用户终端的IP地址后转发给用户终端。步骤511、用户终端根据多个数据流服务器的地址信息,通过NAT设备向其中一个数据流服务器(即第一数据流服务器)发送Ke印Alive消息。该Ke印Alive消息的源IP地址为用户终端的IP地址,目的IP地址为第一数据流服务器的IP地址。在本实施例中,第一数据流服务器的IP地址也就是信令流服务器的IP地址。步骤512、NAT设备将Ke印Alive消息的源IP地址替换为NAT设备的IP地址之后转发给第一数据流服务器。此时,第一数据流服务器将保存接收到的Keep Alive消息的源IP地址(即NAT设备的IP地址),并与用户终端进行映射,并将后续发送给用户终端的流媒体数据发送到NAT设备。步骤513、用户终端通过NAT设备向多个数据流服务器中的其他数据流服务器分别发送Ke印Alive消息(在图5中仅示出第二数据流服务器)。各Ke印Alive消息的源IP地址均为用户终端的IP地址,目的IP地址分别为各个数据流服务器的IP地址。具体的,用户终端分别将其他数据流服务器中每个数据流服务器的地址信息和用户终端的地址信息封装在一个Keep Alive消息中,并将Keep Alive消息发送给NAT设备。步骤514、NAT设备将Ke印Alive消息的源IP地址替换为NAT设备的IP地址后转发给各数据流服务器。具体的,NAT设备会接收到多个Keep Alive消息,对每个Keep Alive消息进行解析获取其中数据流服务器的地址信息和用户终端的地址信息,并保存获取的数据流服务器的地址信息和用户终端的地址信息,然后对每个Keep Alive消息进行地址转换,并将地址转换后的Keep Alive消息发送给对应的数据流服务器。对各数据流服务器而言,接收相应的Ke印Alive消息,并将Ke印Alive消息的源IP地址和用户终端进行映射并保存。在后续各数据流服务器将发送给用户终端的流媒体数据直接发送到NAT设备。步骤515、用户终端通过NAT设备向信令流服务器发送PLAY消息。步骤516、NAT设备将PLAY消息的源IP地址替换为NAT设备的IP地址后转发给信令流服务器。
步骤517、信令流服务器通过NAT设备向用户终端发送2000K响应消息。步骤518、NAT设备将2000K响应消息的目的IP地址替换为用户终端的IP地址后转发给用户终端。步骤519、第一数据流服务器通过NAT设备向用户终端发送流媒体数据消息。该流媒体数据消息的源IP地址为第一数据流服务器的IP地址,目的IP地址为NAT设备的IP地址。步骤520、NAT设备将流媒体数据消息的目的IP地址替换为用户终端的IP地址后转发给用户终端。步骤521、信令流服务器对第一数据流服务器上的流媒体数据进行检测,当检测到第一数据流服务器上的流媒体数据距离预设时间就播放完成时,开始查询其他数据流服务器以获取下一部分即将播放的流媒体数据,当查询到下一部分即将播放的流媒体数据所在的数据流服务器(即第二数据流服务器)时,信令流服务器向第二数据流服务器发送准备·通知消息,以使第二数据流服务器准备向用户终端发送流媒体数据,该准备通知消息携带有用户终端的地址信息等。步骤522、第二数据流服务器完成准备发送流媒体数据之后向信令流服务器发送准备应答消息以告知信令流服务器准备已完成,信令流服务器接收第二数据流服务器返回的准备应答消息,并获知第二数据流服务器准备已完成。对于第二数据流服务器而言,接收到准备通知消息后将根据其中用户终端的地址信息查找之前存储的映射关系,找到NAT设备的IP地址,为向用户终端发送流媒体数据做准备,并在准备好后通知信令流服务器。步骤523、信令流服务器检测到第一数据流服务器保存的流媒体数据播放完成,向第二数据流服务器发送播放指令,以指示第二数据流服务器向用户终端发送流媒体数据。步骤524、第二数据流服务器接收到播放指令并且确定可以发送流媒体数据后,向信令流服务器返回播放应答消息以告知信令流服务器开始播放流媒体数据。相应的,信令流服务器接收第二数据流返回的播放应答消息,并获知第二数据流服务器已开始发送流媒体数据。步骤525、第二数据流服务器根据之前存储的NAT设备的IP地址与用户终端的映射关系,通过NAT设备向用户终端发送流媒体数据消息。步骤526、NAT设备将流媒体数据消息的目的IP地址替换为用户终端的目的IP地址后转发给用户终端。其中,由于NAT设备已经根据用户终端之前发送给第二数据流服务器的Ke印Alive消息学习到了第二数据流服务器的地址,因此,在本步骤中,NAT设备可以成功将第二数据流服务器的流媒体数据转发给用户终端。用户终端继续接收NAT设备转发第二数据流服务器提供的流媒体数据。本实施例的流媒体资源获取方法,主要是一种扩展流媒体播放前的信令消息在数据流服务器发生变更之前将下一个数据流服务器的地址信息实时通告给用户终端的实施方式。在本实施例中,具体通过扩展RTSP协议下对SETUP消息进行应答的2000K相应消息,在数据流服务器发生变更之前将下一个数据流服务器的地址信息通告给用户终端,但并不限于此。
进一步,当DESCRIBE消息中的变更标识表示用户终端支持返回一个数据流服务器的地址信息时,信令流服务器可以通过一个2000K响应消息将下一个即将向用户终端提供服务的数据流服务器的地址信息返回给用户终端。图6为本发明再一实施例提供的流媒体资源获取方法的流程图。本实施例基于图I和图2所示实施例的原理实现,在本实施例中,信令流服务器与第一数据流服务器为同一台流服务器,但为了更加清楚的描述信令流服务器和第一数据流服务器的操作,在图4中分别示出了信令流服务器和第一数据流服务器。如图6所示,本实施例的方法包括步骤601、用户终端通过NAT设备向信令流服务器发送Connec t i on消息,以与信令流服务器建立TCP信令链接。步骤602、NAT设备将Connection消息中的源IP地址替换为NAT设备的IP地址后转发给信令流服务器。步骤603、用户终端通过NAT设备向信令流服务器发送DESCRIBE消息,所述 DESCRIBE消息携带有变更标识。在该实施例中,变更标识表示用户终端允许信令流服务器在数据流服务器发生变更之前返回第二数据流服务器的地址信息。步骤604、NAT设备将DESCRIBE消息中的源IP地址替换为NAT设备的IP地址后转发给信令流服务器。至此信令流服务器与用户终端建立起TCP信令链接。步骤605、信令流服务器通过NAT设备向用户终端发送2000K响应消息。步骤606、NAT设备将2000K响应消息的目的IP地址替换为用户终端的IP地址后转发给用户终端。步骤607、用户终端通过NAT设备向信令流服务器发送SETUP消息。步骤608、NAT设备将SETUP消息的源IP地址替换为NAT设备的IP地址后转发给信令流服务器。步骤609、信令流服务器通过NAT设备向用户终端发送2000K响应消息。在本实施例中,信令流服务器和第一数据流服务器相同,故在2000K响应消息中不需携带第一数据流服务器的地址信息。如果信令流服务器和第一数据流服务器不是同一个流服务器,则信令流服务器会在2000K响应消息中携带发送流媒体数据的第一数据流服务器的IP地址和发送端口等信息。步骤610、NAT设备将2000K响应消息的目的IP地址替换为用户终端的IP地址后
转发给用户终端。步骤611、用户终端通过NAT设备向第一数据流服务器发送Ke印Alive消息。该Keep Alive消息的源IP地址为用户终端的IP地址,目的IP地址为第一数据流服务器的IP地址。在本实施例中,第一数据流服务器的IP地址也就是信令流服务器的IP地址。步骤612、NAT设备将Ke印Alive消息的源IP地址替换为NAT设备的IP地址之后转发给第一数据流服务器。此时,第一数据流服务器将保存接收到的Keep Alive消息的源IP地址(即NAT设备的IP地址),并与用户终端进行映射,并将后续发送给用户终端的流媒体数据发送到NAT设备。步骤613、用户终端通过NAT设备向信令流服务器发送PLAY消息。步骤614、NAT设备将PLAY消息的源IP地址替换为NAT设备的IP地址后转发给信令流服务器。
步骤615、信令流服务器通过NAT设备向用户终端发送2000K响应消息。步骤616、NAT设备将2000K响应消息的目的IP地址替换为用户终端的IP地址后
转发给用户终端。步骤617、第一数据流服务器通过NAT设备向用户终端发送流媒体数据消息。该流媒体数据消息的源IP地址为第一数据流服务器的IP地址,目的IP地址为NAT设备的IP地址。步骤618、NAT设备将流媒体数据消息的目的IP地址替换为用户终端的IP地址后转发给用户终端。步骤619、信令流服务器对第一数据流服务器上的流媒体数据进行检测,当检测到第一数据流服务器上的流媒体数据距离预设时间就播放完成时,开始查询其他数据流服务器以获取下一部分即将播放的流媒体数据,当查询到下一部分即将播放的流媒体数据所在 的数据流服务器(即第二数据流服务器)时,信令流服务器向第二数据流服务器发送准备通知消息,以使第二数据流服务器准备向用户终端发送流媒体数据,该准备通知消息携带有用户终端的地址信息等。步骤620、第二数据流服务器完成准备发送流媒体数据之后向信令流服务器发送准备应答消息以告知信令流服务器准备已完成,信令流服务器接收第二数据流服务器返回的准备应答消息,并获知第二数据流服务器准备已完成。步骤621、信令流服务器向第一数据流服务器发送携带第二数据流服务器的地址信息的封装指示消息。在本实施例中,由于第一数据流服务器即为信令流服务器,则该发送封装指示消息的操作实际上是在信令流服务器内部完成的。该封装指示消息携带有第二数据流服务器的地址信息。步骤622、第一数据流服务器在流媒体数据消息中封装第二数据流服务器的地址信息后通过NAT设备发送给用户终端。在本实施例中,通过对流媒体数据消息进行扩展,将第二数据流服务器的地址信息封装在扩展的字段中。步骤623、NAT将流媒体数据消息的目的IP地址替换为用户终端的IP地址后转发给用户终端。步骤624、用户终端从接收到的流媒体数据消息中解析出流媒体数据以及第二数据流服务器的地址信息,然后根据第二数据流服务器的地址信息,通过NAT设备向第二数据流服务器发送Ke印Alive消息。该Ke印Alive消息的目的IP地址为第二数据流服务器的IP地址,源IP地址为用户终端的IP地址。步骤625、NAT设备将Ke印Alive消息的源IP地址替换为NAT设备的IP地址后转发给第二数据流服务器。在该转发过程中,NAT设备判断获知第二数据流服务器的IP地址是新出现的IP地址,则将第二数据流服务器的IP地址存储起来,同时存储第二数据流服务器的IP地址、用户终端的IP地址以及NAT设备的IP地址之间的映射关系,以便于对第二数据流服务器发送的流媒体数据进行转发。其中,对于第二数据流服务器而言,接收Ke印Alive消息,并将Ke印Alive消息中的源IP地址与用户终端进行映射并保存。第二数据流服务器向用户终端发送流媒体数据时,直接将流媒体数据发送到NAT设备。步骤626、信令流服务器检测到第一数据流服务器保存的流媒体数据播放完成,向第二数据流服务器发送播放指令,以指示第二数据流服务器向用户终端发送流媒体数据。步骤627、第二数据流服务器接收到播放指令并且确定可以发送流媒体数据后,向信令流服务器返回播放应答消息以告知信令流服务器开始播放流媒体数据。步骤628、第二数据流服务器根据之前存储的NAT设备的IP地址与用户终端的映射关系,通过NAT设备向用户终端发送流媒体数据消息。步骤629、NAT设备将流媒体数据消息的目的IP地址替换为用户终端的目的IP地址后转发给用户终端。其中,由于NAT设备已经根据用户终端之前发送给第二数据流服务器的Ke印Alive消息学习到了第二数据流服务器的地址,因此,在本步骤中,NAT设备可以成功将第二数据流服务器的流媒体数据转发给用户终端。用户终端继续接收NAT设备转发第二数据流服务器提供的流媒体数据。 本实施例的流媒体资源获取方法,主要是一种在流媒体播放过程中通过重用数据通道并扩展数据包在数据流服务器发生变更之前将下一个数据流服务器的地址信息实时通告给用户终端的实施方式。在本实施例中,具体通过扩展RTSP协议下的数据通道中的数据包的头部域,在数据流服务器发生变更时将下一个数据流服务器的地址信息通告给用户终端,但并不限于此。例如当采用RTP协议时,可以通过扩展RTP协议下的数据通道中数据包的头部域将下一个数据流服务器的地址信息通告给用户终端。进一步,当DESCRIBE消息中的变更标识表示用户终端支持信令流服务器返回多个数据流服务器的地址信息时,信令流服务器还可以通过扩展的流媒体数据消息的头部将包括第二数据流服务器在内的多个数据流服务器的地址信息返回给用户终端。其中,信令流服务器可以将多个数据流服务器的地址信息同时封装在一个流媒体数据消息的扩展头部中发送给用户终端,也可以通过多个流媒体数据消息发送给用户终端。其中,在流媒体数据消息的能力容许时,通过一个流媒体数据消息同时将多个数据流服务器的地址信息发送给用户终端可以节约交互流程,可以提高流媒体服务的质量,因此,为一优选实施方式。对于用户终端而言,当接收到多个数据流服务器的地址信息时,均可以通过对第二数据流服务器的处理方式来与多个数据流服务器中的每一个数据流服务器预先建立连接。在上述图4、图5和图6所示实施例中,信令流服务器根据用户终端发送的资源请求消息中的变更标识,在向用户终端提供服务的数据流服务器发生变更之前,将下一个即将为用户终端提供服务的数据流服务器的地址信息提供给用户终端,使用户终端在下一个数据流服务器提供服务之前预先激活与下一个数据流服务器之间的数据通道,从而保证了下一个数据流服务器的流媒体数据能够成功发送给用户终端,解决了现有技术中在用户终端与数据流服务器之间存在NAT设备时无法将下一个数据流服务器的流媒体数据成功发送给用户终端的问题,提高了流媒体数据传输的成功率,提高了流媒体服务的质量。图7为本发明一实施例提供的信令流服务器的结构示意图。如图7所示,本实施例的信令流服务器包括第一接收模块71和第一发送模块72。第一接收模块71,用于接收用户终端发送的资源请求消息,所述资源请求消息携带支持更新数据流服务器变更的变更标识。第一发送模块72,与第一接收模块71连接,用于根据变更标识,在第一数据流服务器发送完所保存的流媒体数据之前,向用户终端返回变更请求消息,所述变更请求消息携带有在第一数据流服务器发送完所保存的流媒体数据之后继续向用户终端发送流媒体数据的第二数据流服务器的地址信息。本实施例的信令流服务器主要用于与用户终端建立信令连接,控制整个流媒体服务器的流程,但同时也可以具有数据流服务器的功能,并在其他流媒体服务过程中作为数据流服务器向其他用户终端提供流媒体数据。上述信令流服务器的各功能模块可用于执行图I所示流媒体资源提供方法的流程,其具体工作原理不再赘述,详见方法实施例的描述。本实施例的信令流服务器,根据用户终端发送的资源请求消息中的变更标识,在向用户终端提供服务的数据流服务器发生变更之前,将下一个即将为用户终端提供服务的数据流服务器的地址信息提供给用户终端,使用户终端在下一个数据流服务器提供服务之前预先激活与下一个数据流服务器之间的数据通道,从而保证了下一个数据流服务器的流媒体数据能够成功发送给用户终端,解决了现有技术中在用户终端与数据流服务器之间存在NAT设备时无法将下一个数据流服务器的流媒体数据成功发送给用户终端的问题,提高 了流媒体数据传输的成功率,提高了流媒体服务的质量。图8为本发明另一实施例提供的信令流服务器的结构示意图。本实施例基于图7所示流服务器实现,如图8所示,在本实施例中,第一接收模块71具体用于在流媒体服务过程中,接收用户终端发送的描述消息或选项消息,所述描述消息或选项消息中封装了变更标识。第一发送模块72的一种实现方式包括第一发送单兀721。第一发送单兀721,用于将第二数据流服务器的IP地址和发送端口封装成通知消息,并将通知消息发送给与用户终端连接的NAT设备,以使NAT设备将通知消息进行地址转换后发送给用户终端。第一发送模块72的另一种实现方式包括接收单元722和第二发送单元723。接收单元722,用于接收用户终端通过与用户终端连接的NAT设备发送的建立消息。第二发送单元723,用于在建立响应消息中封装第二数据流服务器的IP地址和发送端口,并将建立响应消息发送给NAT设备,以使NAT设备将建立响应消息进行地址转换后发送给用户终端。第一发送模块72的又一种实现方式包括第三发送单元724。第三发送单元724,用于向第一数据流服务器发送携带第二数据流服务器的地址信息的封装指示消息,以使第一数据流服务器在流媒体数据消息中封装第二数据流服务器的地址信息后发送给与用户终端连接的NAT设备,以使NAT设备将流媒体数据消息进行地址转换后发送给用户终端。上述第一接收模块71和第一发送模块72以及第一发送模块72的各功能单元分别用于执行图4-图6所示由RTSP协议实现的流媒体资源获取方法中的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。进一步,当用户终端发送的流媒体请求消息中携带的变更标识表示用户终端支持返回多个数据流服务器的地址信息时,第一发送单元721具体用于将包括第二数据流服务器在内的多个数据流服务器的IP地址和发送端口同时封装在通知消息中。第二发送单元723具体用于将包括第二数据流服务器在内的多个数据流服务器的IP地址和发送端口封装在建立响应消息中。第三发送单元724具体用于将包括第二数据流服务器在内的多个数据流服务器的地址信息封装在封装指示消息中,并将封装指示消息发送给第一数据流服务器,以使第一数据流服务器在流媒体数据消息中封装多个数据流服务器的地址信息后发送给NAT设备,以使NAT设备将流媒体数据消息进行地址转换后发送给用户终端。
进一步,如图8所示,本实施例的信令流服务器还包括第二发送模块81和第二接收模块82。其中,第二发送模块81,与第二数据流服务器80连接,用于在第一数据流服务器发送完所保存的流媒体数据之前,向第二数据流服务器80发送准备通知消息,以使第二数据流服务器80准备向用户终端发送流媒体数据,所述准备通知消息携带有用户终端的地址信息。第二接收模块82,与第二数据流服务器80连接,用于接收第二数据流服务器80返回的准备应答消息。更进一步,本实施例的信令流服务器还包括第三发送模块83和第三接收模块84。其中,第三发送模块83,与第二数据流服务器80连接,用于在第一数据流服务器发送完所保存的流媒体数据之后,向第二数据流服务器80发送播放指令,以指示第二数据流服务器80向用户终端发送流媒体数据。第三接收模块84,与第二数据流服务器80连接, 用于接收第二数据流服务器80返回的播放应答消息。其中,上述各功能模块可用于执行图4-图6所示流媒体资源获取方法中的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。本实施例的信令流服务器,通过上述各功能模块或单元可以执行RTSP协议实现的流媒体服务流程,并能够在流媒体服务过程中出现数据流服务器变更时及时将下一个即将为用户终端服务的数据路服务器的地址信息通告给用户终端,以使用户终端预先激活与下一个数据流服务器之间的数据通道,从而保证了成功接收下一个数据流服务器发送的流媒体数据,提高了流媒体服务的质量。图9为本发明又一实施例提供的信令流服务器的结构示意图。本实施例基于图8所示实施例实现,如图9所示,本实施例的信令流服务器还包括第四接收模块91、第四发送模块92和第五发送模块93。其中,第四接收模块91,与用户终端90连接,用于在第一接收模块71接收用户终端90发送的资源请求消息之前,接收用户终端90发送的探测请求消息,所述探测请求消息携带多数据源探测标识。第四发送模块92,与第四接收模块91连接,用于根据多数据源探测标识,向多个数据流服务器发送探测指示消息,以指示多个数据流服务器向用户终端90发送探测消息,所述探测指示消息携带用户终端90的地址信息。第五发送模块93,与用户终端90连接,用于向用户终端90发送探测应答消息,所述探测应答消息携带有多个数据流服务器的地址信息。上述各功能模块可用于执行图3所示方法的流程,用于预先对用户终端是否支持数据流服务器变更通知进行探测,其具体工作原理不再赘述,详见图3所示实施例的描述。本实施例的信令流服务器,通过上述各功能模块实现对用户终端是否支持在数据流服务器发生变更时向其通告的探测,为其他各功能模块实现流媒体服务功能提供了条件。在此说明,上述各实施例提供的信令流服务器可以同时具有数据流服务器的功能,并可在其他流媒体服务过程中作为数据流服务器向用户终端提供流媒体数据。图10为本发明一实施例提供的终端设备的结构示意图。如图10所示,本实施例的终端设备包括第六发送模块11、第五接收模块12和第七发送模块13。
其中,第六发送模块11,与信令流服务器10连接,用于向信令流服务器10发送资源请求消息,所述资源请求消息携带支持更新数据流服务器变更的变更标识。第五接收模块12,与信令流服务器10连接,用于接收信令流服务器10根据变更标识在第一数据流服务器发送完所保存的流媒体数据之前返回的变更请求消息,所述变更请求消息携带有在第一数据流服务器发送完所保存的流媒体数据之后继续发送流媒体数据的第二数据流服务器的地址信息。第七发送模块13,与第五接收模块12连接,用于根据第二数据流服务器的地址信息,向第二数据流服务器发送保活消息,以在第二数据流服务器继续发送流媒体数据之前激活与第二数据流服务器之间的数据通道。在本实施例中的信令流服务器可为图7-图9任一所示的信令流服务器,其具体工作原理和结构不再赘述。本实施例的终端设备可以为图I-图6所示方法中的用户终端,具体可用于执行图2所示流媒体资源获取方法的流程,其具体工作原理不再赘述,详见图2所示实施例的描述。
本实施例的终端设备,向信令流服务器发送资源请求消息,使信令流服务器根据资源请求消息中的变更标识在下一个即将为终端设备提供服务的数据流服务器提供服务之前,向终端设备返回下一个数据流服务器的地址信息,使终端设备根据信令流服务器返回的地址信息向下一个数据流服务器发送保活消息,以在下一个数据流服务器提供服务之前预先激活与下一个数据流服务器之间的数据通道,从而保证成功接收下一个数据流服务器发送的流媒体数据,解决了现有技术中在终端设备与数据流服务器之间存在NAT设备时,终端设备无法接收下一个数据流服务器发送的流媒体数据的问题,提高了流媒体数据传输的成功率,提高了流媒体服务的质量。图11为本发明另一实施例提供的终端设备的结构示意图。本实施例基于图10所示终端设备实现,如图11所示,在本实施例中,第六发送模块11具体用于在描述消息或选项消息中封装变更标识,向信令流服务器10发送封装了变更标识的描述消息或选项消息。进一步,第七发送模块13具体用于将终端设备的地址信息和第二数据流服务器的地址信息封装在保活消息中,并将保活消息发送给与终端设备连接的网络地址转换设备,以使网络地址转换设备获取并保存保活消息中的第二数据流服务器的地址信息和终端设备的地址信息,然后将保活消息进行地址转换后发送给第二数据流服务器。更进一步,当变更标识表示终端设备支持返回多个数据流服务器的地址信息时,变更请求消息还携带有多个数据流服务器中除第二数据流服务器之外的其他数据流服务器的地址信息。此时,第七发送模块13具体用于分别将多个数据流服务器中每个数据流服务器的地址信息和终端设备的地址信息封装在一个保活消息中,并将保活消息发送给NAT设备,以使NAT设备获取保活消息中多个数据流服务器中每个数据流服务器的地址信息和终端设备的地址信息并保存多个数据流服务器中每个数据流服务器的地址信息和终端设备的地址信息,然后将获取的多个保活消息进行地址转换,并将地址转换后的保活消息分别发送给每个数据流服务器。上述各功能模块具体用于执行图4-图6所示流媒体资源获取方法中的相应流程,具体用于执行由RTSP协议实现的流媒体服务流程,其具体工作原理不再赘述,详见方法实施例中的描述。更进一步,如图11所示,本实施例的终端设备还包括第八发送模块14、第六接收模块15、判断模块16、第九发送模块17和第七接收模块18。具体的,第八发送模块14,与信令流服务器10连接,用于在第六发送模块11向信令流服务器10发送资源请求消息之前,向信令流服务器10发送探测请求消息,所述探测请求消息携带有多数源探测标识。第六接收模块15,与信令流服务器10连接,用于接收信令流服务器10根据多数源探测标识返回的探测应答消息,所述探测应答消息携带有多个数据流服务器的地址信息。判断模块16,用于判断是否接收到多个数据流服务器根据信令流服务器的探测指示消息发送的探测消息,所述探测指示消息携带有探测消息的目的地址。第九发送模块17,与判断模块16和信令流服务器10连接,用于在判断模块16的判断结果为否时,向信令流服务器10发送携带变更标识的通告请求消息。第七接收模块18,与信令流服务器10连接,用于接收信令流服务器10返回的通告应答消息。上述各功能模块可用于执行图3所示的多数据流服务器探测方法的流程,其具体工作原理不再赘述,详见图3所示实施例的描述。
本实施例的终端设备通过上述功能模块与信令流服务器相配合,预先进行多数据流服务器探测流程以判断出是否需要信令流服务器在数据流服务器发生变更时向其进行通告,为其他功能模块执行流媒体服务打下了基础,为提高流媒体数据传输成功率和提高流媒体服务质量打下了基础。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1.一种流媒体资源提供方法,其特征在于,包括 接收用户终端发送的资源请求消息,所述资源请求消息携带支持更新数据流服务器变更的变更标识; 根据所述变更标识,在第一数据流服务器发送完所保存的流媒体数据之前,向所述用户终端返回变更请求消息,所述变更请求消息携带有在所述第一数据流服务器发送完所保存的流媒体数据之后继续向所述用户终端发送流媒体数据的第二数据流服务器的地址信息。
2.根据权利要求I所述的流媒体资源提供方法,其特征在于,所述接收用户终端发送的资源请求消息包括 接收所述用户终端发送的描述消息或选项消息,所述描述消息或选项消息中封装了所述变更标识。
3.根据权利要求2所述的流媒体资源提供方法,其特征在于,所述根据所述变更标识,在第一数据流服务器发送完所保存的流媒体数据之前,向所述用户终端返回变更请求消息包括 信令流服务器将所述第二数据流服务器的网际协议IP地址和发送端口封装成通知消息,并将所述通知消息发送给与所述用户终端连接的网络地址转换设备; 所述网络地址转换设备将所述通知消息进行地址转换后发送给所述用户终端。
4.根据权利要求2所述的流媒体资源提供方法,其特征在于,所述根据所述变更标识,在第一数据流服务器发送完所保存的流媒体数据之前,向所述用户终端返回变更请求消息包括 信令流服务器接收所述用户终端通过与所述用户终端连接的网络地址转换设备发送的建立消息; 所述信令流服务器在建立响应消息中封装所述第二数据流服务器的网际协议IP地址和发送端口,并将所述建立响应消息发送给所述网络地址转换设备; 所述网络地址转换设备将所述建立响应消息进行地址转换后发送给所述用户终端。
5.根据权利要求2所述的流媒体资源提供方法,其特征在于,所述根据所述变更标识,在第一数据流服务器发送完所保存的流媒体数据之前,向所述用户终端返回变更请求消息包括 信令流服务器向所述第一数据流服务器发送携带所述第二数据流服务器的地址信息的封装指示消息; 所述第一数据流服务器在流媒体数据消息中封装所述第二数据流服务器的地址信息后发送给与所述用户终端连接的网络地址转换设备; 所述网络地址转换设备将所述流媒体数据消息进行地址转换后发送给所述用户终端。
6.根据权利要求3所述的流媒体资源提供方法,其特征在于,当所述变更标识表示所述用户终端支持返回多个数据流服务器的地址信息时,所述信令流服务器将所述第二数据流服务器的网际协议IP地址和发送端口封装成通知消息包括 所述信令流服务器将包括所述第二数据流服务器在内的多个数据流服务器的IP地址和发送端口同时封装在所述通知消息中。
7.根据权利要求4所述的流媒体资源提供方法,其特征在于,当所述变更标识表示所述用户终端支持返回多个数据流服务器的地址信息时,所述信令流服务器在建立响应消息中封装所述第二数据流服务器的网际协议IP地址和发送端口包括 所述信令流服务器将包括所述第二数据流服务器在内的多个数据流服务器的IP地址和发送端口同时封装在所述建立响应消息中。
8.根据权利要求5所述的流媒体资源提供方法,其特征在于,当所述变更标识表示所述用户终端支持返回多个数据流服务器的地址信息时,所述信令流服务器向所述第一数据流服务器发送携带所述第二数据流服务器的地址信息的封装指示消息包括所述信令流服务器将包括所述第二数据流服务器在内的多个数据流服务器的地址信息封装在所述封装指示消息中,并将所述封装指示消息发送给所述第一数据流服务器; 所述第一数据流服务器在流媒体数据消息中封装所述第二数据流服务器的地址信息后发送给连接所述用户终端的网络地址转换设备包括所述第一数据流服务器在所述流媒体数据消息中封装所述多个数据流服务器的地址信息后发送给所述网络地址转换设备。
9.根据权利要求1-8任一项所述的流媒体资源提供方法,其特征在于,在所述第一数据流服务器发送完所保存的流媒体数据之前还包括 向所述第二数据流服务器发送准备通知消息,以使所述第二数据流服务器准备向所述用户终端发送流媒体数据,所述准备通知消息携带有所述用户终端的地址信息; 接收所述第二数据流服务器返回的准备应答消息。
10.根据权利要求9所述的流媒体资源提供方法,其特征在于,在所述第一数据流服务器发送完所保存的流媒体数据之后包括 向所述第二数据流服务器发送播放指令,以指示所述第二数据流服务器向所述用户终端发送流媒体数据; 接收所述第二数据流服务器返回的播放应答消息。
11.根据权利要求1-8任一项所述的流媒体资源提供方法,其特征在于,所述接收用户终端发送的资源请求消息之前包括 接收所述用户终端发送的探测请求消息,所述探测请求消息携带多数据源探测标识; 根据所述多数据源探测标识,向多个数据流服务器发送探测指示消息,以指示所述多个数据流服务器向所述用户终端发送探测消息,所述探测指示消息携带所述用户终端的地址信息; 向所述用户终端发送探测应答消息,所述探测应答消息携带有所述多个数据流服务器的地址信息。
12.根据权利要求3-8任一项所述的流媒体资源提供方法,其特征在于,所述信令流服务器与所述第一数据流服务器相同。
13.一种流媒体资源获取方法,其特征在于,包括 向信令流服务器发送资源请求消息,所述资源请求消息携带支持更新数据流服务器变更的变更标识; 接收所述信令流服务器根据所述变更标识在第一数据流服务器发送完所保存的流媒体数据之前返回的变更请求消息,所述变更请求消息携带有在所述第一数据流服务器发送完所保存的流媒体数据之后继续发送流媒体数据的第二数据流服务器的地址信息; 根据所述第二数据流服务器的地址信息,向所述第二数据流服务器发送保活消息,以在所述第二数据流服务器继续发送流媒体数据之前激活与所述第二数据流服务器之间的数据通道。
14.根据权利要求13所述的流媒体资源获取方法,其特征在于,所述向信令流服务器发送资源请求消息包括 用户终端在描述消息或选项消息中封装所述变更标识,向所述信令流服务器发送封装了所述变更标识的描述消息或选项消息。
15.根据权利要求13所述的流媒体资源获取方法,其特征在于,所述根据所述第二数据流服务器的地址信息,向所述第二数据流服务器发送流媒体请求消息,以在所述第二数据流服务器继续发送流媒体数据之前激活与所述第二数据流服务器之间的数据通道包括 用户终端将所述用户终端的地址信息和所述第二数据流服务器的地址信息封装在保活消息中,并将所述保活消息发送给与所述用户终端连接的网络地址转换设备; 所述网络地址转换设备获取所述保活消息中所述第二数据流服务器的地址信息和所述用户终端的地址信息并保存所述第二数据流服务器的地址信息和所述用户终端的地址信息,然后将所述保活消息进行地址转换后发送给所述第二数据流服务器。
16.根据权利要求15所述的流媒体资源获取方法,其特征在于,当所述变更标识表示所述用户终端支持返回多个数据流服务器的地址信息时,所述变更请求消息还携带有所述多个数据流服务器中除所述第二数据流服务器之外的其他数据流服务器的地址信息; 所述用户终端将所述用户终端的地址信息和所述第二数据流服务器的地址信息封装在保活消息中,并将所述保活消息发送给与所述用户终端连接的网络地址转换设备,包括 所述用户终端分别将所述多个数据流服务器中每个数据流服务器的地址信息和所述用户终端的地址信息封装在一个所述保活消息中,并将所述保活消息发送给所述网络地址转换设备; 所述网络地址转换设备获取所述保活消息中所述第二数据流服务器的地址信息和所述用户终端的地址信息并保存所述第二数据流服务器的地址信息和所述用户终端的地址信息,然后将所述保活消息进行地址转换后发送给所述第二数据流服务器,包括 所述网络地址转换设备获取所述保活消息中所述多个数据流服务器中每个数据流服务器的地址信息和所述用户终端的地址信息并保存所述多个数据流服务器中每个数据流服务器的地址信息和所述用户终端的地址信息,然后将获取的多个所述保活消息进行地址转换,并将地址转换后的保活消息分别发送给所述每个数据流服务器。
17.根据权利要求13-16任一项所述的流媒体资源获取方法,其特征在于,所述向信令流服务器发送资源请求消息之前包括 向所述信令流服务器发送探测请求消息,所述探测请求消息携带有多数源探测标识; 接收所述信令流服务器根据所述多数源探测标识返回的探测应答消息,所述探测应答消息携带有多个数据流服务器的地址信息; 判断是否接收到所述多个数据流服务器根据所述信令流服务器的探测指示消息发送的探测消息,所述探测指示消息携带有所述探测消息的目的地址信息; 当判断结果为未接收到所述探测消息时,向所述信令流服务器发送携带所述变更标识的通告请求消息; 接收所述信令流服务器返回的通告应答消息。
18.一种信令流服务器,其特征在于,包括 第一接收模块,用于接收用户终端发送的资源请求消息,所述资源请求消息携带支持更新数据流服务器变更的变更标识; 第一发送模块,用于根据所述变更标识,在第一数据流服务器发送完所保存的流媒体数据之前,向所述用户终端返回变更请求消息,所述变更请求消息携带有在所述第一数据流服务器发送完所保存的流媒体数据之后继续向所述用户终端发送流媒体数据的第二数据流服务器的地址信息。
19.根据权利要求18所述的信令流服务器,其特征在于,所述第一接收模块具体用于接收所述用户终端发送的描述消息或选项消息,所述描述消息或选项消息中封装了所述变更标识。
20.根据权利要求19所述的信令流服务器,其特征在于,所述第一发送模块包括 第一发送单元,用于将所述第二数据流服务器的网际协议IP地址和发送端口封装成通知消息,并将所述通知消息发送给与所述用户终端连接的网络地址转换设备,以使所述网络地址转换设备将所述通知消息进行地址转换后发送给所述用户终端。
21.根据权利要求19所述的信令流服务器,其特征在于,所述第一发送模块包括 接收单元,用于接收所述用户终端通过与所述用户终端连接的网络地址转换设备发送的建立消息; 第二发送单元,用于在建立响应消息中封装所述第二数据流服务器的网际协议IP地址和发送端口,并将所述建立响应消息发送给所述网络地址转换设备,以使所述网络地址转换设备将所述建立响应消息进行地址转换后发送给所述用户终端。
22.根据权利要求19所述的信令流服务器,其特征在于,所述第一发送模块包括第三发送单元,用于向所述第一数据流服务器发送携带所述第二数据流服务器的地址信息的封装指示消息,以使所述第一数据流服务器在流媒体数据消息中封装所述第二数据流服务器的地址信息后发送给与所述用户终端连接的网络地址转换设备,以使所述网络地址转换设备将所述流媒体数据消息进行地址转换后发送给所述用户终端。
23.根据权利要求20所述的信令流服务器,其特征在于,当所述变更标识表示所述用户终端支持返回多个数据流服务器的地址信息时,所述第一发送单元具体用于将包括所述第二数据流服务器在内的多个数据流服务器的IP地址和发送端口同时封装在所述通知消息中。
24.根据权利要求21所述的信令流服务器,其特征在于,当所述变更标识表示所述用户终端支持返回多个数据流服务器的地址信息时,所述第二发送单元具体用于将包括所述第二数据流服务器在内的多个数据流服务器的IP地址和发送端口封装在所述建立响应消息中。
25.根据权利要求22所述的信令流服务器,其特征在于,当所述变更标识表示所述用户终端支持返回多个数据流服务器的地址信息时,所述第三发送单元具体用于将包括所述第二数据流服务器在内的多个数据流服务器的地址信息封装在所述封装指示消息中,并将所述封装指示消息发送给所述第一数据流服务器,以使所述第一数据流服务器在流媒体数据消息中封装所述多个数据流服务器的地址信息后发送给所述网络地址转换设备,以使所述网络地址转换设备将所述流媒体数据消息进行地址转换后发送给所述用户终端。
26.根据权利要求18-25任一项所述的信令流服务器,其特征在于,还包括 第二发送模块,用于在所述第一数据流服务器发送完所保存的流媒体数据之前,向所述第二数据流服务器发送准备通知消息,以使所述第二数据流服务器准备向所述用户终端发送流媒体数据,所述准备通知消息携带有所述用户终端的地址信息; 第二接收模块,用于接收所述第二数据流服务器返回的准备应答消息。
27.根据权利要求26所述的信令流服务器,其特征在于,还包括 第三发送模块,用于在所述第一数据流服务器发送完所保存的流媒体数据之后,向所述第二数据流服务器发送播放指令,以指示所述第二数据流服务器向所述用户终端发送流媒体数据; 第三接收模块,用于接收所述第二数据流服务器返回的播放应答消息。
28.根据权利要求18-25任一项所述的信令流服务器,其特征在于,还包括 第四接收模块,用于在所述第一接收模块接收所述用户终端发送的资源请求消息之前,接收所述用户终端发送的探测请求消息,所述探测请求消息携带多数据源探测标识; 第四发送模块,用于根据所述多数据源探测标识,向多个数据流服务器发送探测指示消息,以指示所述多个数据流服务器向所述用户终端发送探测消息,所述探测指示消息携带所述用户终端的地址信息; 第五发送模块,用于向所述用户终端发送探测应答消息,所述探测应答消息携带有所述多个数据流服务器的地址信息。
29.—种终端设备,其特征在于,包括 第六发送模块,用于向信令流服务器发送资源请求消息,所述资源请求消息携带支持更新数据流服务器变更的变更标识; 第五接收模块,用于接收所述信令流服务器根据所述变更标识在第一数据流服务器发送完所保存的流媒体数据之前返回的变更请求消息,所述变更请求消息携带有在所述第一数据流服务器发送完所保存的流媒体数据之后继续发送流媒体数据的第二数据流服务器的地址信息; 第七发送模块,用于根据所述第二数据流服务器的地址信息,向所述第二数据流服务器发送保活消息,以在所述第二数据流服务器继续发送流媒体数据之前激活与所述第二数据流服务器之间的数据通道。
30.根据权利要求29所述的终端设备,其特征在于,所述第六发送模块具体用于在描述消息或选项消息中封装所述变更标识,向所述信令流服务器发送封装了所述变更标识的描述消息或选项消息。
31.根据权利要求29所述的终端设备,其特征在于,所述第七发送模块用于将所述终端设备的地址信息和所述第二数据流服务器的地址信息封装在保活消息中,并将所述保活消息发送给与所述终端设备连接的网络地址转换设备,以使所述网络地址转换设备获取并保存所述保活消息中的所述第二数据流服务器的地址信息和所述终端设备的地址信息,然后将所述保活消息进行地址转换后发送给所述第二数据流服务器。
32.根据权利要求31所述的终端设备,其特征在于,当所述变更标识表示所述终端设备支持返回多个数据流服务器的地址信息时,所述变更请求消息还携带有所述多个数据流服务器中除所述第二数据流服务器之外的其他数据流服务器的地址信息; 所述第七发送模块具体用于分别将所述多个数据流服务器中每个数据流服务器的地址信息和所述终端设备的地址信息封装在一个所述保活消息中,并将所述保活消息发送给所述网络地址转换设备,以使所述网络地址转换设备获取所述保活消息中所述多个数据流服务器中每个数据流服务器的地址信息和所述终端设备的地址信息并保存所述多个数据流服务器中每个数据流服务器的地址信息和所述终端设备的地址信息,然后将获取的多个所述保活消息进行地址转换,并将地址转换后的保活消息分别发送给所述每个数据流服务器。
33.根据权利要求29-32任一项所述的终端设备,其特征在于,还包括 第八发送模块,用于在所述第六发送模块向所述信令流服务器发送资源请求消息之前,向所述信令流服务器发送探测请求消息,所述探测请求消息携带有多数源探测标识;第六接收模块,用于接收所述信令流服务器根据所述多数源探测标识返回的探测应答消息,所述探测应答消息携带有多个数据流服务器的地址信息; 判断模块,用于判断是否接收到所述多个数据流服务器根据所述信令流服务器的探测指示消息发送的探测消息,所述探测指示消息携带有所述探测消息的目的地址; 第九发送模块,用于在所述判断模块的判断结果为否时,向所述信令流服务器发送携带所述变更标识的通告请求消息; 第七接收模块,用于接收所述信令流服务器返回的通告应答消息。
全文摘要
本发明实施例提供一种流媒体资源提供及获取方法、信令流服务器与终端设备。流媒体资源提供方法包括接收用户终端发送的携带支持更新数据流服务器变更的变更标识的资源请求消息;根据变更标识,在第一数据流服务器发送完所保存的流媒体数据之前,向用户终端返回变更请求消息,变更请求消息携带有在第一数据流服务器之后继续向用户终端发送流媒体数据的第二数据流服务器的地址信息。本发明实施例可以提高流媒体数据传输的成功率。
文档编号H04L29/12GK102917078SQ20111021803
公开日2013年2月6日 申请日期2011年8月1日 优先权日2011年8月1日
发明者岳春荣, 兑继英 申请人:华为软件技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1