CN101938505B - 一种P2P流媒体数据分发的方法、系统和proxy节点 - Google Patents

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

Info

Publication number
CN101938505B
CN101938505B CN2009101086117A CN200910108611A CN101938505B CN 101938505 B CN101938505 B CN 101938505B CN 2009101086117 A CN2009101086117 A CN 2009101086117A CN 200910108611 A CN200910108611 A CN 200910108611A CN 101938505 B CN101938505 B CN 101938505B
Authority
CN
China
Prior art keywords
resource
node
media resource
media
cache node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2009101086117A
Other languages
English (en)
Other versions
CN101938505A (zh
Inventor
施广宇
龙有水
文刘飞
张云飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
China Mobile Communications Group Co Ltd
Original Assignee
Huawei Technologies Co Ltd
China Mobile Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd, China Mobile Communications Group Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2009101086117A priority Critical patent/CN101938505B/zh
Priority to EP10793584.3A priority patent/EP2432187B1/en
Priority to EP13162202.9A priority patent/EP2618539B1/en
Priority to PCT/CN2010/074555 priority patent/WO2011000289A1/zh
Publication of CN101938505A publication Critical patent/CN101938505A/zh
Priority to US13/340,089 priority patent/US8812715B2/en
Application granted granted Critical
Publication of CN101938505B publication Critical patent/CN101938505B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1063Discovery through centralising entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/567Integrating service provisioning from a plurality of service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast

Abstract

本发明实施例提供一种P2P流媒体数据分发的方法,其特征在于,包括:接收Client节点发送的包括请求媒体资源的消息,并发送所述消息对应的媒体资源查询请求至多个资源网络;获取所述媒体资源查询请求的响应消息;根据所述响应消息确认存储所述媒体资源的Cache节点;向所述Cache节点请求媒体资源。本发明实施例还提供一种流媒体数据分发的系统及Proxy节点,提高了用户的直播/点播业务的使用范围,从而增强了流媒体分发系统的灵活性。

Description

一种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 流媒体数据分发系统的示意图。 
本发明实施例的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请求消息对应的媒体资源查询请求至多个资源网络,并获取所述媒体资源查询请求的响应消息,及根据所述响应消息确认存储所述媒体资源的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终端上。即,流媒体组播网络的专属服务器,或CDN服务器,或有线网络接入服务器,或宽带接入服务器,或无线网络接入设备,或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节点作为资源节点。本步骤也可以理解为,根据所述响应消息确认存储所述媒体资源的Ca che节点。在本实施例中,可以从不同的组播网络所发送的响应消息中的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媒体分发的方法的具体流程图,包括如下步骤: 
步骤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操作原语。 
步骤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头域来标识不同的片段; 
CC、Cache节点根据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节点之间的数据交互可以通过其他方式来实现,如进程间通信。 
如果用户数据服务器所处具体应用场景不需要用户向多个Cache节点请求数据,则所述步骤S418可以不执行。 
本发明实施例提供的技术方案,可以使用户终端通过Proxy节点从不同组播网络获取需要的媒体资源对应的Cache节点的相关信息,从而通过Proxy节点从Cache节点获取媒体资源,从而使用户可以通过不同的组播网络来享受直播/点播的业务,即提高了直播/点播业务的使用范围,因而避免了现有技术中用户终端和组播网络须匹配才能享受直播或点播业务的情况, 从而增强了流媒体分发系统的可扩展性、灵活性。 
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。 
以上所述仅为本发明的几个实施例,本领域的技术人员依据申请文件公开的可以对本发明进行各种改动或变型而不脱离本发明的精神和范围。 

Claims (11)

1.一种P2P流媒体数据分发的方法,其特征在于,包括:
接收Client节点发送的请求媒体资源的消息,并发送所述消息对应的媒体资源查询请求至多个资源网络;
获取所述多个资源网络返回的所述媒体资源查询请求的响应消息;
根据存储的所述媒体资源的分片存储信息和所述响应消息中的Cache节点对应的该媒体资源的分片存储信息,从所述响应消息中的Cache节点的位置信息对应的Cache节点中选择多个Cache节点;
向选择的Cache节点请求媒体资源。
2.根据权利要求1所述的方法,其特征在于,所述接收Client节点发送的请求媒体资源的消息,并发送所述消息对应的媒体资源查询请求至多个资源网络的步骤包括:
获取所述媒体资源对应的资源标志符;
发送包括所述资源标志符的媒体资源查询请求至所述多个资源网络。
3.根据权利要求1所述的方法,其特征在于,所述向选择的Cache节点请求媒体资源的步骤包括:
将所述响应消息中的所述选择的Cache节点的媒体资源请求方式转化为pull/push操作原语;
根据所述选择的Cache节点的位置信息,通过所述pull/push操作原语向所述选择的Cache节点请求媒体传输。
4.一种Proxy节点,其特征在于,所述Proxy节点应用于流媒体数据分发,包括:
Client响应单元,用于接收Client节点发送的请求媒体资源的消息;
组播接口单元,用于发送所述消息对应的媒体资源查询请求至多个资源网络,并获取所述媒体资源查询请求的响应消息,组播接口单元还用于根据存储的所述媒体资源的分片存储信息和所述响应消息中的Cache节点对应的该媒体资源的分片存储信息,从所述响应消息中的Cache节点的位置信息对应的Cache节点中选择多个Cache节点,并将所述响应消息中的所述Cache节点的媒体资源请求方式转化为pull/push操作原语;
流媒体传输单元,用于向选择的Cache节点请求媒体资源。
5.根据权利要求4所述的Proxy节点,其特征在于,所述Client响应单元还用于获取所述媒体资源对应的资源标志符;所述组播接口单元还用于发送包括所述资源标志符的媒体资源查询请求至所述多个资源网络。
6.根据权利要求4所述的Proxy节点,其特征在于,所述流媒体传输单元还用于根据所述选择的Cache节点的位置信息,通过所述pull/push操作原语向所述选择的Cache节点请求媒体传输。
7.根据权利要求4所述的Proxy节点,其特征在于,所述流媒体传输单元还用于接收所述选择的Cache节点发送的媒体流,并通过实时流传输协议将所述媒体流发送至所述Client节点。
8.一种流媒体数据分发系统,其特征在于,包括:
Proxy节点,用于接收Client节点发送的请求媒体资源的消息,并发送所述消息对应的媒体资源查询请求;
多个资源网络,用于发送所述媒体资源查询请求的响应消息至所述Proxy节点;
其中,所述Proxy节点还用于根据存储的所述媒体资源的分片存储信息和所述响应消息中的Cache节点对应的该媒体资源的分片存储信息,从所述响应消息中的Cache节点的位置信息对应的Cache节点中选择多个Cache节点,向选择的Cache节点请求媒体资源。
9.根据权利要求8所述的流媒体数据分发系统,其特征在于,所述Proxy节点还用于获取所述媒体资源对应的资源标志符,并发送包括所述资源标志符的媒体资源查询请求至所述多个资源网络。
10.根据权利要求8所述的流媒体数据分发系统,其特征在于,所述Proxy节点还用于将所述响应消息中的所述选择的Cache节点的媒体资源请求方式转化为pull/push操作原语,根据所述选择的Cache节点的位置信息,通过所述pull/push操作原语向所述选择的Cache节点请求媒体传输。
11.根据权利要求8所述的流媒体数据分发系统,其特征在于,所述多个资源网络包括多个不同的组播网络,所述系统还包括Cache节点群,所述Cache节点群还包括多个Cache节点,用于缓存媒体资源,并向所述多个资源网络的多个不同的组播网络注册所缓存的媒体资源信息。
CN2009101086117A 2009-07-01 2009-07-01 一种P2P流媒体数据分发的方法、系统和proxy节点 Active CN101938505B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN2009101086117A CN101938505B (zh) 2009-07-01 2009-07-01 一种P2P流媒体数据分发的方法、系统和proxy节点
EP10793584.3A EP2432187B1 (en) 2009-07-01 2010-06-26 Method, system and proxy node for peer-to-peer (p2p) streaming media data distribution
EP13162202.9A EP2618539B1 (en) 2009-07-01 2010-06-26 Method, system, and proxy node for P2P streaming media data distribution
PCT/CN2010/074555 WO2011000289A1 (zh) 2009-07-01 2010-06-26 一种p2p流媒体数据分发的方法、系统及proxy节点
US13/340,089 US8812715B2 (en) 2009-07-01 2011-12-29 Method, system, and proxy node for P2P streaming media data distribution

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101086117A CN101938505B (zh) 2009-07-01 2009-07-01 一种P2P流媒体数据分发的方法、系统和proxy节点

Publications (2)

Publication Number Publication Date
CN101938505A CN101938505A (zh) 2011-01-05
CN101938505B true CN101938505B (zh) 2013-01-30

Family

ID=43391633

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101086117A Active CN101938505B (zh) 2009-07-01 2009-07-01 一种P2P流媒体数据分发的方法、系统和proxy节点

Country Status (4)

Country Link
US (1) US8812715B2 (zh)
EP (2) EP2432187B1 (zh)
CN (1) CN101938505B (zh)
WO (1) WO2011000289A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102740165B (zh) * 2011-04-01 2015-07-15 中国电信股份有限公司 对等流媒体直播系统及其中的数据传输方法
CN103139658A (zh) * 2011-11-29 2013-06-05 苏州达联信息科技有限公司 一种视频直播分发网络的被动式媒体流分发方法
CN102811221B (zh) * 2012-08-02 2015-05-27 中山大学 一种基于Push机制的对等网络直播流媒体数据包调度方法
CN103716348B (zh) * 2012-09-29 2019-03-12 北京百度网讯科技有限公司 基于cdn网络的数据访问方法、系统及装置
US9774488B2 (en) * 2012-10-18 2017-09-26 Tara Chand Singhal Apparatus and method for a thin form-factor technology for use in handheld smart phone and tablet devices
US9549024B2 (en) 2012-12-07 2017-01-17 Remote Media, Llc Routing and synchronization system, method, and manager
CN104519077A (zh) * 2013-09-26 2015-04-15 中兴通讯股份有限公司 多媒体分享方法、注册方法、服务器及代理服务器
CN105850213A (zh) 2013-11-18 2016-08-10 诺基亚技术有限公司 用于提供内容数据以及访问内容数据的方法和装置
EP2953325B1 (en) * 2014-06-06 2019-01-16 Institut Mines-Telecom Method for managing packets in a network of Information Centric Networking (ICN) nodes
US10419891B2 (en) * 2015-05-14 2019-09-17 Twilio, Inc. System and method for communicating through multiple endpoints
CN106789956B (zh) * 2016-12-01 2019-10-25 武汉市烽视威科技有限公司 一种基于hls的p2p点播方法及系统
CN108259542B (zh) * 2016-12-29 2020-02-07 腾讯科技(深圳)有限公司 资源的传输方法和装置
CN108270845A (zh) * 2017-12-13 2018-07-10 武汉市烽视威科技有限公司 一种基于rtsp的p2p点播系统及方法
CN108307198B (zh) * 2018-03-08 2021-01-01 广州酷狗计算机科技有限公司 流服务节点调度方法、装置及调度节点
US11051230B2 (en) * 2018-08-22 2021-06-29 Bae Systems Information And Electronic Systems Integration Inc. Wireless resilient routing reconfiguration linear program
CN112423146B (zh) * 2019-08-21 2023-10-03 亦非云互联网技术(上海)有限公司 播放数据的获取推送方法、系统、介质、服务端、播放终端

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1595905A (zh) * 2004-07-04 2005-03-16 华中科技大学 基于集群的流媒体缓存代理服务器系统
CN101282281A (zh) * 2007-04-03 2008-10-08 华为技术有限公司 一种媒体分发系统、装置及流媒体播放方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6611872B1 (en) * 1999-01-11 2003-08-26 Fastforward Networks, Inc. Performing multicast communication in computer networks by using overlay routing
US6415323B1 (en) * 1999-09-03 2002-07-02 Fastforward Networks Proximity-based redirection system for robust and scalable service-node location in an internetwork
US6785704B1 (en) * 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US7398312B1 (en) * 2000-03-29 2008-07-08 Lucent Technologies Inc. Method and system for caching streaming multimedia on the internet
CA2408766A1 (en) * 2001-10-17 2003-04-17 Telecommunications Research Laboratory Content delivery network bypass system
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US20040024900A1 (en) * 2002-07-30 2004-02-05 International Business Machines Corporation Method and system for enhancing streaming operation in a distributed communication system
US20050005025A1 (en) * 2003-07-04 2005-01-06 Michael Harville Method for managing a streaming media service
US7614071B2 (en) * 2003-10-10 2009-11-03 Microsoft Corporation Architecture for distributed sending of media data
GB2412279A (en) * 2004-03-16 2005-09-21 Bbc Technology Holdings Ltd Data distribution system and method
US7174385B2 (en) * 2004-09-03 2007-02-06 Microsoft Corporation System and method for receiver-driven streaming in a peer-to-peer network
US20060184688A1 (en) * 2005-02-17 2006-08-17 Nec Laboratories America, Inc. System and Method for Parallel Indirect Streaming of Stored Media from Multiple Sources
US7818402B1 (en) * 2006-02-08 2010-10-19 Roxbeam Media Network Corporation Method and system for expediting peer-to-peer content delivery with improved network utilization
US8230098B2 (en) * 2006-05-10 2012-07-24 At&T Intellectual Property Ii, L.P. System and method for streaming media objects
US8996723B2 (en) * 2007-06-04 2015-03-31 Microsoft Technology Licensing, Llc ISP-aware peer-to-peer content exchange
US8799396B2 (en) * 2008-02-04 2014-08-05 Cisco Technology, Inc. Method and system for an efficient distributed cache with a shared cache repository
GB2470493B (en) * 2008-02-22 2011-03-23 Ericsson Telefon Ab L M Method and apparatus for obtaining media over a communications network
US8909806B2 (en) * 2009-03-16 2014-12-09 Microsoft Corporation Delivering cacheable streaming media presentations
US8516071B2 (en) * 2009-06-03 2013-08-20 Qualcomm Incorporated Systems and methods for creating virtual universal plug-and-play systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1595905A (zh) * 2004-07-04 2005-03-16 华中科技大学 基于集群的流媒体缓存代理服务器系统
CN101282281A (zh) * 2007-04-03 2008-10-08 华为技术有限公司 一种媒体分发系统、装置及流媒体播放方法

Also Published As

Publication number Publication date
EP2618539A3 (en) 2013-09-25
WO2011000289A1 (zh) 2011-01-06
CN101938505A (zh) 2011-01-05
EP2618539A2 (en) 2013-07-24
EP2432187A1 (en) 2012-03-21
EP2432187A4 (en) 2012-05-09
US20120102116A1 (en) 2012-04-26
EP2618539B1 (en) 2015-02-18
EP2432187B1 (en) 2013-06-12
US8812715B2 (en) 2014-08-19

Similar Documents

Publication Publication Date Title
CN101938505B (zh) 一种P2P流媒体数据分发的方法、系统和proxy节点
CN101540775B (zh) 内容分发方法、装置与内容分发网络系统
US7379967B2 (en) Download method for file by bit torrent protocol
US7779030B2 (en) Method and apparatus for managing content using remote user interface
CN101352002B (zh) 使用可缩放对等组来优化通信
US8346957B2 (en) Method and apparatus for transmitting/receiving information in internet protocol network
US9172751B2 (en) Content distribution
US20110282945A1 (en) Network aware peer to peer
CN102883190B (zh) 优化分配带宽的点播方法和装置
US8203989B2 (en) Distributing content in a communication network
CN101394423B (zh) 一种媒体定位、搜索方法和系统
CN102316135A (zh) 网络点播方法和系统
EP1464163B1 (en) Module and process for use with inter-user communication via a bidirectional network
CN103179213A (zh) 基于点对点代理机制的家庭媒体资源传输方法及系统
CN107580079A (zh) 一种报文传输方法和装置
Tran et al. An efficient hybrid push-pull methodology for peer-to-peer video live streaming system on mobile broadcasting social media
US20130166659A1 (en) Methods for distributing contents to peers by means of multicast connections within a p2p infrastructure, and associated control server
US20110113099A1 (en) Method for transmitting buffer map and network thereof
CN102148813A (zh) 媒体内容的传输方法和系统
CN101534241B (zh) 一种减轻网络流量的方法、系统及一种会话控制单元
CN102651757A (zh) 一种p2p内容分发的方法和系统
CN101924641A (zh) 组播源信息处理方法、装置及系统
JP2007336396A (ja) コンテンツ配信システム、コンテンツ配信方法、端末装置及びそのプログラム
US20080240138A1 (en) Tree type broadcast system, connection target determination method, connection management device, connection management process program, and the like
KR100537840B1 (ko) 대화형 고화질 방송이 가능한 자원 및 방송 피어 투 피어네트워크 구조

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant