一种P2P流媒体数据分发的方法、系统和proxy节点的制作方法

文档序号:7704593阅读:184来源:国知局
专利名称:一种P2P流媒体数据分发的方法、系统和proxy节点的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及在一种P2P流媒体数据分发的方法、系统和 proxy节点。
背景技术
随着对等网(Peer-to-Peer,P2P)和叠加网络(Overlay Network)等技术的出现, 应用层组播(Application Layer Multicast, ALM)技术在流媒体视频直播/点播得到了广 泛的应用。该应用层技术保持Internet原有的“单播、尽力发送”模型,尽量不改变原来网 络的体系结构,而主要通过增加端系统的功能来实现组播的功能。在现有技术中,主要为基 于P2P的ALM算法通过Overlay节点来实现应用层的组播与管理。发明人在实现本发明的过程中,发现现有技术至少存在以下缺点现有的ALM大 多基于TCP通过定义私有的媒体分发协议来实现,从而导致用户终端必须与组播网络相匹 配,才能使用户享受直播/点播业务,也就导致现有技术的直播/点播业务使用范围很低, 并且灵活性很低。

发明内容
本发明的实施例提供了一种P2P流媒体数据分发的方法、系统、proxy节点、接入 设备及接入服务器,以提高了业务的使用范围和流媒体分发系统的灵活性。根据本发明的一方面,提供一种P2P流媒体数据分发的方法,包括接收Client节点发送的请求媒体资源的消息,并发送所述消息对应的媒体资源 查询请求至多个资源网络;获取所述媒体资源查询请求的响应消息;根据所述响应消息确认存储所述媒体资源的Cache节点;向所述Cache节点请求媒体资源。根据本发明的另一方面,还提供一种Proxy节点,所述Proxy节点应用于流媒体数 据分发,包括Client响应单元,用于接收Client节点发送的包括请求媒体资源的消息;组播接口单元,用于发送所述消息对应的媒体资源查询请求至多个资源网络,并 获取所述媒体资源查询请求的响应消息,及根据所述响应消息确认存储所述媒体资源的 Cache节点;流媒体传输单元,用于向所述Cache节点请求媒体资源。根据本发明的另一方面,还提供一种接入设备,包括Client响应单元,用于接收Client节点发送的请求媒体资源的消息;组播接口单元,用于发送所述消息对应的媒体资源查询请求至多个资源网络,并 获取所述多个资源网络发送的所述媒体资源查询请求的响应消息,及根据所述响应消息确 认存储所述媒体资源的Cache节点;
流媒体传输单元,用于向所述Cache节点请求媒体资源。根据本发明的另一方面,还提供一种接入服务器,包括Client响应单元,用于接收Client节点发送的请求媒体资源的消息;组播接口单元,用于发送所述消息对应的媒体资源查询请求至多个资源网络,并 获取所述多个资源网络发送的所述媒体资源查询请求的响应消息,及根据所述响应消息确 认存储所述媒体资源的Cache节点;流媒体传输单元,用于向所述Cache节点请求媒体资源。根据本发明的另一方面,还提供一种流媒体数据分发系统,包括Proxy节点,用于接收Client节点发送的包括请求媒体资源的消息,并发送所述 消息对应的媒体资源查询请求;多个资源网络,用于根据发送所述媒体资源查询请求的响应消息至所述Proxy节占.
^ \\\ 其中,所述Proxy节点还用于根据所述响应消息确认存储所述媒体资源的Cache 节点,向所述Cache节点请求媒体资源。本发明实施例提供的技术方案,可以使用户终端通过Proxy节点从多个资源网络 获取需要的媒体资源对应的Cache节点的相关信息,从而通过Proxy节点从Cache节点获 取媒体资源,从而无须用户终端与组播网络相匹配,从而提高了用户的直播/点播业务的 使用范围,从而增强了流媒体分发系统的灵活性。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其 他的附图。图1是本发明实施例中流媒体分发系统示意图;图2是本发明实施例中Proxy节点的示意图;图3本发明实施例中一种P2P流媒体分发的方法的总体流程图;图4是本发明实施例中一种P2P流媒体分发的方法的具体流程图。
具体实施例下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。本发明的实施例吸取RTSP协议对于流媒体传输效率高的优点,结合应用层组播 技术,提供一种流媒体数据分发系统,以解决现有P2P应用层组播所面临的问题,使其既具 有可扩展性强、部署灵活、传输效率高等优点。图1为一种流媒体数据分发系统示意图。在本实施例中,可以为P2P流媒体数据 分发系统的示意图。
5
本发明实施例的P2P流媒体数据分发系统包括客户端Client节点101、代理 Proxy节点102、缓存Cache节点群103及多个资源网络104。在本实施例中,该多个资源网 络104可以为P2P组播网络群,也可以是P2P组播网络和媒体分发网络所组成的多个资源 网络。在本实施例中,该多个资源网络104包括多个不同的组播网络,可以为第一组播网络
1041、第二组播网络1042.....第N组播网络104N。在本实施例中,Cache节点群103包括
多个Cache节点,可以为第一 Cache节点1031、第二 Cache节点1032、...、第NCache节点 103N。在本实施例中,资源网络104中包括的多个不同的组播网络可以由不同的网络运营 商所提供。其中,Client节点101用于响应用户的流媒体请求,根据用户的流媒体请求向 Proxy节点102发送实时流传输协议(Real Time Streaming Protocol, RTSP)请求消息, 从该Proxy节点102获取媒体数据并播放。在本实施例中,该用户的流媒体请求可以为用 户的流媒体点播请求。所述的RTSP请求消息包括用户需要获取的媒体资源信息,该媒体资 源信息由用户提供或者由Client节点101结合用户的流媒体请求通过其他方式获得,如 Client节点101通过用户点击流媒体点播网页获取对应的媒体资源信息。在本实施例中, Client节点101需要支持RTSP。Proxy节点102用于响应该client节点101发送的RTSP请求消息;根据该RTSP 请求消息获取Client节点101请求媒体资源对应的资源标志符(Universal Resource Identifier, URI)。在本实施例中,该Proxy节点102根据该RTSP请求消息中的用户需要 获取的媒体资源信息获取该媒体资源对应的URI。在本实施例中,该Proxy节点102还用向多个资源网络104发送带有该URI信息 的媒体资源查询请求。在本实施例中,Proxy节点102可以向多个资源网络104中的任意一 个组播网络发送该媒体资源查询请求,也可以同时向多个不同的组播网络发送该媒体资源 查询请求。在本实施例中,Proxy节点102上还可以记录多个资源网络104中的组播网络 情况,可以理解为,记录多个资源网络104中的组播网络的个数、组播网络的运营商、组播 网络的运行状况等。在本实施例中,Proxy节点102可以根据记录的多个资源网络104中 的组播网络情况选择多个资源网络104中的组播网络,并向该选择后的组播网络发送该媒 体资源查询请求。多个资源网络104中的组播网络用于接收Proxy节点102发送的媒体资源查询 请求,根据该资源查询请求中的所需查询的媒体资源的URI,通过P2P网络查询存储有该媒 体资源的cache节点的位置信息以及对应媒体资源的分片存储信息,并根据应用层组播算 法选择一组合适的Cache节点以及与Cache节点的媒体资源请求方式。多个资源网络104 返回该资源查询请求对应的响应消息,该响应消息包括所选择的存储有该媒体资源的一组 Cache节点的位置信息、对应媒体资源的分片存储信息以及Cache节点的资源请求方式。对 应的媒体请求方式为获取媒体资源的推/拉请求操作。在本实施例中,该选择的一组合适 的Cache节点数量可能为一个,也可能为多个。该Proxy节点102还用于接收多个资源网络104发送的该资源查询请求对应的响 应消息,并根据所述响应消息确认存储所述媒体资源的Cache节点。在本实施例中,Proxy 节点102获取该响应消息中的所选择的存储有该媒体资源的一组Cache节点的位置信息、 对应媒体资源的分片存储信息以及Cache节点的媒体资源请求方式。在本实施例中,Proxy节点102还用于根据本节点存储的媒体资源的分片存储信息,结合多个资源网络104返回 的Cache节点的该媒体资源的分片存储信息,从该响应消息中的所选择的存储有该媒体资 源的一组Cache节点的位置信息所对应的Cache节点中,选择若干个Cache节点作为资源 节点,即确认存储所述媒体资源的Cache节点,并把多个资源网络104返回的对该资源节点 的媒体资源请求方式转化为pull/push操作原语。Proxy节点102还用于根据多个资源网络104返回的对应Cache节点的位置信息, 通过pull/push操作原语向Cache节点群103中的选为资源节点的若干个Cache节点请求 媒体传输。可以理解的是,Proxy节点102根据选为资源节点的位置信息,即选中为资源节 点的Cache节点的位置信息,通过pull/push操作原语向该资源节点请求媒体传输。Proxy节点102接收Cache节点群103中的该若干个Cache节点的媒体流,并对媒 体流进行汇聚与组合后通过RTSP协议传输到client节点101。所述URI为用户所请求的 媒体资源通用资源标志符,需要根据不同的应用场景具体确定,如可以是一个流媒体文件 或者一个流媒体文件中的某段或若干段分片。Cache节点群103中的每个Cache节点用于缓存媒体资源,并向多个资源网络104 中的组播网络注册所缓存的资源信息。在本实施例中,Cache节点可以向多个资源网络104 中的任意一个组播网络,或同时向多个不同的组播网络进行注册所缓存的资源信息。在本实施例中,所述的Cache节点可以是流媒体分发系统中的专属服务器,也可 以是同时参与多个相近的业务网络的缓存服务器,为不同业务网络之间的资源提供资源共 享与交互,如Cache节点可以同时参与多个组播网络,为多个组播网络提供Cache服务。即, 由于Cache节点可以向多个组播网络进行注册,也就是可以向多个组播网络提供资源信 息,从而为同时为多个组播网络提供资源共享。上述逻辑功能可以映射为各自独立的物理设备,或者由他们形成的任意组合位于 同一物理设备,或者分别是一台物理设备上的独立进程,也可以一起作为一台物理设备上 的一个进程。本发明实施例提供的流媒体分发系统,在流媒体分发系统中加入Proxy节点,可 以使用户终端通过Proxy节点从不同组播网络获取需要的媒体资源对应的Cache节点的相 关信息,从而通过Proxy节点从Cache节点获取媒体资源,从而使用户可以通过不同的组播 网络来享受直播/点播的业务,即提高了直播/点播业务的使用范围,因而避免了现有技术 中用户终端和组播网络须匹配才能享受直播或点播业务的情况,从而增强了流媒体分发系 统的可扩展性、灵活性。通过把应用层组播的流媒体传输方式抽象为推/拉两种方式并结合RTSP协议实 现组播网络的流媒体传输,提高了流媒体组播系统的传输效率。图2为Proxy节点的结构示意图,包括Client响应单元1020、组播接口单元1022 及流媒体传输单元1024。在本实施例中,组播接口单元1022也可以为P2P应用层组播接口 单元。Client响应单元1020用于接收Client节点发送的RTSP请求消息,根据RTSP请求 消息中的用户需要获取的媒体资源信息获取该Client节点所请求的媒体资源对应的URI ;组播接口单元1022用于发送所述RTSP请求消息对应的媒体资源查询请求至多个 资源网络,并获取所述媒体资源查询请求的响应消息,及根据所述响应消息确认存储所述
7媒体资源的Cache节点。在本实施例中,组播接口单元1022根据Client响应单元1020发 送的媒体资源对应的URI,向多个资源网络的组播网络发送媒体资源查询请求,通过组播网 络回复的响应消息中获取存储有媒体资源的Cache节点的位置信息、对应媒体资源的分片 存储信息以及该Cache节点的媒体资源请求方式。在本实施例中,组播接口单元1022还用 于根据本节点存储的媒体资源的分片存储信息,结合组播网络返回的Cache节点的该媒体 资源的分片存储信息,从响应消息中的Cache节点的位置信息对应的Cache节点中选择若 干个Cache节点作为资源节点,即确认存储所述媒体资源的Cache节点,并把组播网络返回 的对该资源节点的媒体资源请求方式转化为pull/push操作原语;流媒体传输单元1024用于根据组播网络返回的Cache节点位置信息,通过pull/ push操作原语向选为资源节点的若干个Cache节点请求媒体传输。可以理解的是,流媒体 传输单元1024根据组播接口单元1022选中的资源节点的位置信息,即选中为资源节点的 Cache节点的位置信息,通过pull/push操作原语向该资源节点请求媒体传输。在本实施例中,流媒体传输单元1024还用于接收该若干个Cache节点的媒体流, 并对媒体流进行汇聚与组合。Client响应单元1020还用于通过RTSP协议把流媒体传输单元1024接收的媒体 流发送给Client节点。在本实施例中,Proxy节点可以部署在流媒体组播网络的专属服务器,也可以部 署在与内容分发网络(Content Delivery Network, CDN)服务器相结合的设备,也可以 部署在接入网关相结合的设备,比如可以部署在有线网络接入服务器或宽带接入服务器 (Broadband Remote Access Server, BRAS),或无线网络接入设备,或网关通用分组无线服 务支持节点(Gateway GPRSSupporting Node,GGSN),或是GPRS路由器,当然,Proxy节点也 可以与终端相结合,即部署在性能较好的PC终端上。即,流媒体组播网络的专属服务器,或 ⑶N服务器,或有线网络接入服务器,或宽带接入服务器,或无线网络接入设备,或GGSN包 括该Proxy节点所包括的单元。此处不再重复描述。本发明实施例提供的Proxy节点,可以使用户终端通过Proxy节点从不同组播网 络获取需要的媒体资源对应的Cache节点的相关信息,从而通过Proxy节点从Cache节点 获取媒体资源,从而使用户可以通过不同的组播网络来享受直播/点播的业务,即提高了 直播/点播业务的使用范围,因而避免了现有技术中用户终端和组播网络须匹配才能享受 直播或点播业务的情况,从而增强了流媒体分发系统的可扩展性、灵活性。并通过RTSP协 议提高了流媒体传输的效率以及抗拥塞能力。图3为一种P2P流媒体分发的方法的总体流程图。步骤S300,接收Client节点发送的RTSP请求消息,并获取该RTSP请求消息对应 的媒体资源的URI。在本实施例中,根据RTSP请求消息中的用户需要获取的媒体资源信息 获取该Client节点所请求媒体资源对应的URI ;步骤S302,向多个资源网络发送媒体资源查询请求,在本实施例中,该资源查询请 求中包括媒体资源的URI ;在本实施例中,多个资源网络包括多个不同的组播网络。在本实 施例中,可以向多个资源网络中的任意一个组播网络发送该媒体资源查询请求,也可以同 时向多个不同的组播网络发送该媒体资源查询请求。在本实施例中,Proxy节点可能不知 道哪个具体的组播网络中有该请求媒体资源的Cache节点的相关信息,所以,可以向多个不同的组播网络发送该媒体资源查询请求,或任意选择一个组播网络,并发送该媒体资源 查询请求。步骤S304,获取该多个资源网络发送的该资源查询请求的响应消息。在本实施例 中,该响应消息包括存储有媒体资源的Cache节点的位置信息、Cache节点对应的媒体资源 的分片存储信息以及该Cache节点的媒体资源请求方式。在本实施例中,多个资源网络的 组播网络接收到该资源查询请求后,根据该资源查询请求中的所需查询的媒体资源的URI, 通过P2P网络查询存储有该媒体资源的cache节点的位置信息以及对应媒体资源的分片存 储信息,并根据应用层组播算法选择一组合适的Cache节点以及与Cache节点的媒体资源 请求方式。在本实施例中,可以获取该多个资源网络中的多个组播网络发送的响应消息,假 设多个资源网络包括两个组播网络,分别为第一组播网络和第二组播网络,则可以接收第 一组播网络发送的响应消息,和接收第二组播网络发送的响应消息。由于同一个Cache节 点可以同时在第一组播网络和第二组播网络进行注册,则第一组播网络发送的响应消息和 第二组播网络发送的响应消息中可能会同时包括该Cache节点的位置信息。步骤S306,从该响应消息中的Cache节点的位置信息对应的Cache节点中选择若 干个Cache节点作为资源节点。在本实施例中,根据存储的该媒体资源的分片存储信息和 该响应消息中的Cache节点对应的该媒体资源的分片存储信息,从该响应消息中的Cache 节点的位置信息对应的Cache节点中选择若干个Cache节点作为资源节点。本步骤也可以 理解为,根据所述响应消息确认存储所述媒体资源的Cache节点。在本实施例中,可以从不 同的组播网络所发送的响应消息中的Cache节点的位置信息对应的Cache节点中选择若干 个Cache节点作为资源节点。步骤S308,将该资源节点的媒体资源请求方式转化为pull/push操作原语。由于 在步骤S306中,从该响应消息中的Cache节点的位置信息对应的Cache节点中选择若干个 Cache节点作为资源节点,因此,本步骤可以理解为将该选择的Cache节点的媒体资源请求 方式转化为pull/push操作原语。步骤S310,向该资源节点请求媒体传输。在本实施例中,根据该资源节点的位置 信息,通过pull/push操作原语向该资源节点请求媒体传输。由于在步骤S306中,从该响 应消息中的Cache节点的位置信息对应的Cache节点中选择若干个Cache节点作为资源节 点,因此,本步骤可以理解为将该选择的Cache节点的位置信息,通过pull/push操作原语 向该Cache节点请求媒体传输。步骤S312,获取该资源节点返回的媒体流,并将对该返回的媒体流进行汇聚与组 合,并将汇聚与组合后的媒体流发送至Client节点。在本实施例中,流媒体分发的方法可以在Proxy节点,或Proxy服务器,或一个可 以实现Proxy功能的实体上进行。本发明实施例提供的技术方案,可以使用户终端通过Proxy节点从多个资源网络 的不同组播网络获取需要的媒体资源对应的Cache节点的相关信息,从而通过Proxy节点 从Cache节点获取媒体资源,从而使用户可以通过不同的组播网络来享受直播/点播的业 务,即提高了直播/点播业务的使用范围,因而避免了现有技术中用户终端和组播网络须 匹配才能享受直播或点播业务的情况,从而增强了流媒体分发系统的可扩展性、灵活性。图4为一种P2P媒体分发的方法的具体流程图,包括如下步骤
9
步骤S400、Client节点响应用户的流媒体请求,并根据该用户的流媒体请求发送 RTSP请求消息至Proxy节点。在本实施例中,Client节点获取用户的流媒体请求中的所请 求的媒体资源信息,并发送该媒体资源对应的RTSP请求消息。该RTSP请求消息包括用户 需要获取的媒体资源信息,可以理解为RTSP请求消息携带用户需要获取的媒体资源信息;步骤S402、Proxy节点接收Client节点的RTSP请求消息,并根据RTSP请求消息 获取Client节点请求媒体资源的URI ;在本实施例中,根据RTSP请求消息中的用户需要获 取的媒体资源信息获取该Client节点所请求媒体资源对应的URI。步骤S404、Proxy节点根据所述Client节点请求媒体资源URI,向多个资源网络 发送媒体资源查询请求;在本实施例中,多个资源网络包括多个不同的组播网络。在本实施 例中,可以向多个资源网络中的任意一个组播网络发送该媒体资源查询请求,也可以同时 向多个不同的组播网络发送该媒体资源查询请求。在本实施例中,Proxy节点可能不知道 哪个具体的组播网络中有该请求媒体资源的Cache节点的相关信息,所以,可以向多个不 同的组播网络发送该媒体资源查询请求,或任意选择一个组播网络,并发送该媒体资源查 询请求。步骤S406、多个资源网络接收Proxy节点发送的资源查询请求,并根据该资源查 询请求中的所需查询的媒体资源的URI,通过P2P网络查询存储有该媒体资源的cache节 点的位置信息以及对应媒体资源的分片存储信息,并根据应用层组播算法选择一组合适的 Cache节点以及与Cache节点的媒体资源请求方式;在本实施例中,可以是多个资源网络 的一个组播网络接收Proxy节点发送的资源查询请求,也可以是多个不同的组播网络接收 Proxy节点发送的资源查询请求。步骤S408、多个资源网络向Proxy节点返回所述媒体资源查询请求对应的响应消 息,所述的响应消息包括所选择的存储有该媒体资源的一组Cache节点的位置信息、对应 媒体资源的分片存储信息以及Cache节点的资源请求方式。其中媒体资源请求方式为应用 层组播中常用的推/拉两种媒体传输方式;步骤S410,Proxy节点获取多个资源网络发送的该资源查询请求的响应消息。在 本实施例中,可以获取该多个资源网络中的多个组播网络发送的响应消息,假设多个资源 网络包括两个组播网络,分别为第一组播网络和第二组播网络,则可以接收第一组播网络 发送的响应消息,和接收第二组播网络发送的响应消息。由于同一个Cache节点可以同时 在第一组播网络和第二组播网络进行注册,则第一组播网络发送的响应消息和第二组播网 络发送的响应消息中可能会同时包括该Cache节点的位置信息。步骤S412、Proxy节点从该响应消息中的Cache节点的位置信息对应的Cache节 点中选择若干个Cache节点作为资源节点。在本实施例中,根据存储的该媒体资源的分片 存储信息和该响应消息中的Cache节点对应的该媒体资源的分片存储信息,从该响应消息 中的Cache节点的位置信息对应的Cache节点中选择若干个Cache节点作为资源节点。在 本实施例中,可以从不同的组播网络所发送的响应消息中的Cache节点的位置信息对应的 Cache节点中选择若干个Cache节点作为资源节点。步骤S414,Proxy节点将该资源节点的媒体资源请求方式转化为pull/push操作 原语;本步骤可以理解为,将该选择的Cache节点的媒体资源请求方式转化为pull/push操
作原语。
10
步骤S416、Proxy节点根据所述push/pull原语,通过RTSP协议向所述选为资源 节点的若干个Cache节点实现媒体传输。本步骤可以理解为将该选择的Cache节点的位置 信息,通过pull/push操作原语向该Cache节点请求媒体传输。在本实施例中,根据该资源 节点的位置信息,通过pull/push操作原语向该资源节点请求媒体传输。其中pull原语与RTSP相结合的传输流程为AA.Proxy节点根据本节点Buffer缓存的状况以及Cache节点的媒体资源分片存 储信息,通过PTSP PLAY请求向Cache节点请求特定片段媒体资源;BB、Proxy节点通过在PLAY请求中携带Range头域,实现特定片段媒体资源的获 取。其中 Range 的形式为 Range :smpte = a_b ;或者 Range :npt = a_b ;或者 Range :clock =a-b ;其中a为媒体资源的起始点,b为媒体资源的结束点。为了获取资源节点的多个不 连续媒体片段,可以在PLAY请求中带有多个Range头域来标识不同的片段;CCXache节点根据Proxy节点在PLAY请求中Range头域所标识的范围,通过RTSP 协议把该部分媒体资源返回给请求节点。push原语与RTSP相结合的传输流程为DD、Proxy节点通过RTSP PLAY方法实现向Cache节点请求媒体资源的周期性推 送;EE、Proxy节点通过在PLAY请求中携带Range头域,实现对媒体资源的获取。其 中 Range 的形式为 Range :smpte = a_ ;或者 Range :npt = a_ ;或者 Range :clock = a_ ;其 中a为媒体资源的起始点;FF、Cache资源节点根据请求节点在PLAY请求中Range头域所标识的范围,通过 RTSP协议向请求节点推送媒体资源步骤S418、PrOXy节点接收该若干个Cache节点发送的媒体数据并进行汇聚、重新组合。步骤S420、Proxy节点把重新组合后的流媒体数据通过RTSP协议传输给上述 Client 节点。步骤S422、Client节点通过RTSP协议接收Proxy节点传输的流媒体数据,并向用 户进行播放。如果Proxy节点和上述Client节点位于同一台物理设备上,步骤S400、步骤S420 所示的Client节点和Proxy节点之间的数据交互可以通过其他方式来实现,如进程间通
fn °如果用户数据服务器所处具体应用场景不需要用户向多个Cache节点请求数据, 则所述步骤S418可以不执行。本发明实施例提供的技术方案,可以使用户终端通过Proxy节点从不同组播网络 获取需要的媒体资源对应的Cache节点的相关信息,从而通过Proxy节点从Cache节点获 取媒体资源,从而使用户可以通过不同的组播网络来享受直播/点播的业务,即提高了直 播/点播业务的使用范围,因而避免了现有技术中用户终端和组播网络须匹配才能享受直 播或点播业务的情况,从而增强了流媒体分发系统的可扩展性、灵活性。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以 通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁 碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。 以上所述仅为本发明的几个实施例,本领域的技术人员依据申请文件公开的可以 对本发明进行各种改动或变型而不脱离本发明的精神和范围。
权利要求
一种P2P流媒体数据分发的方法,其特征在于,包括接收Client节点发送的请求媒体资源的消息,并发送所述消息对应的媒体资源查询请求至多个资源网络;获取所述多个资源网络返回的所述媒体资源查询请求的响应消息;根据所述响应消息确认存储所述媒体资源的Cache节点;向所述Cache节点请求媒体资源。
2.根据权利要求1所述的方法,其特征在于,所述接收Client节点发送的请求媒体资 源的消息,并发送所述消息对应的媒体资源查询请求至多个资源网络的步骤包括获取所述媒体资源对应的资源标志符;发送包括所述资源标志符的媒体资源查询请求至所述多个资源网络。
3.根据权利要求1所述的方法,其特征在于,所述根据所述响应消息确认所述媒体资 源的Cache节点的步骤包括根据存储的所述媒体资源的分片存储信息和所述响应消息中的Cache节点对应的该 媒体资源的分片存储信息,从所述响应消息中的Cache节点的位置信息对应的Cache节点 中选择多个Cache节点。
4.根据权利要求3所述的方法,其特征在于,所述向所述Cache节点请求媒体资源的步 骤包括将所述响应消息中的所述Cache节点的媒体资源请求方式转化为pull/push操作原语;根据所述选择的Cache节点的位置信息,通过所述pull/push操作原语向所述选择的 Cache节点请求媒体传输。
5.一种Proxy节点,其特征在于,所述Proxy节点应用于流媒体数据分发,包括Client响应单元,用于接收Client节点发送的请求媒体资源的消息;组播接口单元,用于发送所述消息对应的媒体资源查询请求至多个资源网络,并获取 所述媒体资源查询请求的响应消息,及根据所述响应消息确认存储所述媒体资源的Cache 节占.I— /、、、 流媒体传输单元,用于向所述Cache节点请求媒体资源。
6.根据权利要求5所述的Proxy节点,其特征在于,所述Client响应单元还用于获取 所述媒体资源对应的资源标志符;所述组播接口单元还用于发送包括所述资源标志符的媒 体资源查询请求至所述多个资源网络。
7.根据权利要求5所述的Proxy节点,其特征在于,所述组播接口单元还用于根据存 储的所述媒体资源的分片存储信息和所述响应消息中的Cache节点对应的该媒体资源的 分片存储信息,从所述响应消息中的Cache节点的位置信息对应的Cache节点中选择多个 Cache节点,并将所述响应消息中的所述Cache节点的媒体资源请求方式转化为pull/push 操作原语。
8.根据权利要求7所述的Proxy节点,其特征在于,所述流媒体传输单元还用于根据所 述选择的Cache节点的位置信息,通过所述pull/push操作原语向所述选择的Cache节点 请求媒体传输。
9.根据权利要求5所述的Proxy节点,其特征在于,所述流媒体传输单元还用于接收所述选择的Cache节点发送的媒体流,并通过实时流传输协议将所述媒体流发送至所述 Client 节点。
10.一种接入设备,其特征在于,包括Client响应单元,用于接收Client节点发送的请求媒体资源的消息;组播接口单元,用于发送所述消息对应的媒体资源查询请求至多个资源网络,并获取 所述多个资源网络发送的所述媒体资源查询请求的响应消息,及根据所述响应消息确认存 储所述媒体资源的Cache节点;流媒体传输单元,用于向所述Cache节点请求媒体资源。
11.一种接入服务器,其特征在于,包括Client响应单元,用于接收Client节点发送的请求媒体资源的消息;组播接口单元,用于发送所述消息对应的媒体资源查询请求至多个资源网络,并获取 所述多个资源网络发送的所述媒体资源查询请求的响应消息,及根据所述响应消息确认存 储所述媒体资源的Cache节点;流媒体传输单元,用于向所述Cache节点请求媒体资源。
12.一种流媒体数据分发系统,其特征在于,包括Proxy节点,用于接收Client节点发送的请求媒体资源的消息,并发送所述消息对应 的媒体资源查询请求;多个资源网络,用于发送所述媒体资源查询请求的响应消息至所述Proxy节点;其中,所述Proxy节点还用于根据所述响应消息确认存储所述媒体资源的Cache节点, 向所述Cache节点请求媒体资源。
13.根据权利要求12所述的流媒体数据分发系统,其特征在于,所述Proxy节点还用于 获取所述媒体资源对应的资源标志符,并发送包括所述资源标志符的媒体资源查询请求至 所述多个资源网络。
14.根据权利要求12所述的流媒体数据分发系统,其特征在于,所述Proxy节点还用于 根据存储的所述媒体资源的分片存储信息和所述响应消息中的Cache节点对应的该媒体 资源的分片存储信息,从所述响应消息中的Cache节点的位置信息对应的Cache节点中选 择多个Cache节点。
15.根据权利要求12所述的流媒体数据分发系统,其特征在于,所述Proxy节点还用 于将所述响应消息中的所述Cache节点的媒体资源请求方式转化为pull/push操作原语, 根据所述选择的Cache节点的位置信息,通过所述pull/push操作原语向所述选择的Cache 节点请求媒体传输。
16.根据权利要求12所述的流媒体数据分发系统,其特征在于,所述多个资源网络 包括多个不同的组播网络,所述系统还包括Cache节点群,所述Cache节点群还包括多个 Cache节点,所述Cache节点用于缓存媒体资源,并向所述多个资源网络的多个不同的组播 网络注册所缓存的媒体资源信息。
全文摘要
本发明实施例提供一种P2P流媒体数据分发的方法,其特征在于,包括接收Client节点发送的包括请求媒体资源的消息,并发送所述消息对应的媒体资源查询请求至多个资源网络;获取所述媒体资源查询请求的响应消息;根据所述响应消息确认存储所述媒体资源的Cache节点;向所述Cache节点请求媒体资源。本发明实施例还提供一种流媒体数据分发的系统及proxy节点,提高了用户的直播/点播业务的使用范围,从而增强了流媒体分发系统的灵活性。
文档编号H04L29/06GK101938505SQ20091010861
公开日2011年1月5日 申请日期2009年7月1日 优先权日2009年7月1日
发明者张云飞, 文刘飞, 施广宇, 龙有水 申请人:华为技术有限公司;中国移动通信集团公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1