WO2011000289A1 - 一种p2p流媒体数据分发的方法、系统及proxy节点 - Google Patents

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

Info

Publication number
WO2011000289A1
WO2011000289A1 PCT/CN2010/074555 CN2010074555W WO2011000289A1 WO 2011000289 A1 WO2011000289 A1 WO 2011000289A1 CN 2010074555 W CN2010074555 W CN 2010074555W WO 2011000289 A1 WO2011000289 A1 WO 2011000289A1
Authority
WO
WIPO (PCT)
Prior art keywords
resource
media
node
media resource
cache
Prior art date
Application number
PCT/CN2010/074555
Other languages
English (en)
French (fr)
Inventor
施广宇
龙有水
文刘飞
张云飞
Original Assignee
华为技术有限公司
中国移动通信集团公司
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 华为技术有限公司, 中国移动通信集团公司 filed Critical 华为技术有限公司
Priority to EP10793584.3A priority Critical patent/EP2432187B1/en
Publication of WO2011000289A1 publication Critical patent/WO2011000289A1/zh
Priority to US13/340,089 priority patent/US8812715B2/en

Links

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

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a method, system, and roxy node for distributing P2P streaming media data.
  • ALM Application Layer Multicast
  • the application layer technology maintains the original "unicast, best-effort" model of the Internet, and tries not to change the original network architecture, but mainly implements the multicast function by adding the functions of the end system.
  • the P2P-based ALM algorithm mainly implements application layer multicast and management through an Overlay node.
  • ALM is mostly implemented based on TCP by defining a private media distribution protocol, so that the user terminal must match the multicast network, so that the user can enjoy the live/on-demand service, which results in a low range of use of the prior art live/on-demand service. , and the flexibility is very low.
  • Embodiments of the present invention provide a P2P streaming media data distribution method, system, proxy node, access device, and access server to improve the service usage range and the flexibility of the streaming media distribution system.
  • a method for distributing P2P streaming media data includes: receiving a message requesting a media resource sent by a client node, and transmitting a media resource query request corresponding to the message to multiple resource networks;
  • a Proxy node is further provided, where the Proxy node is applied to streaming media data distribution, including: a client response unit, configured to receive a message that is sent by the client node, including the requested media resource, and a multicast interface unit, configured to send a media resource query request corresponding to the message to multiple resource networks, and obtain a response of the media resource query request And confirming, according to the response message, a Cache node that stores the media resource;
  • a streaming media transmission unit configured to request a media resource from the Cache node.
  • an access device including:
  • a client response unit configured to receive a message for requesting a media resource sent by the client node, where the multicast interface unit is configured to send a media resource query request corresponding to the message to multiple resource networks, and obtain a location sent by the multiple resource networks a response message of the media resource query request, and confirming, by the response message, a Cache node that stores the media resource;
  • a streaming media transmission unit configured to request a media resource from the Cache node.
  • an access server including:
  • a client response unit configured to receive a message for requesting a media resource sent by the client node, where the multicast interface unit is configured to send a media resource query request corresponding to the message to multiple resource networks, and obtain a location sent by the multiple resource networks a response message of the media resource query request, and confirming, by the response message, a Cache node that stores the media resource;
  • a streaming media transmission unit configured to request a media resource from the Cache node.
  • a streaming media data distribution system including:
  • a Proxy node configured to receive a message that is sent by the client node, including the requested media resource, and send a media resource query request corresponding to the message;
  • a plurality of resource networks configured to send, according to the response message of the media resource query request, the Proxy node
  • the Proxy node is further configured to: according to the response message, confirm a Cache node that stores the media resource, and request a media resource from the Cache node.
  • the technical solution provided by the embodiment of the present invention can enable a user terminal to obtain multiple resources through a Proxy node.
  • the source network obtains the information about the Cache node corresponding to the required media resource, so that the Proxy node obtains the media resource from the Cache node, so that the user terminal does not need to match the multicast network, thereby improving the usage range of the live/on-demand service of the user. This enhances the flexibility of the streaming media distribution system.
  • FIG. 1 is a schematic diagram of a streaming media distribution system in an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a Proxy node in an embodiment of the present invention.
  • FIG. 3 is a general flowchart of a P2P streaming media distribution method according to an embodiment of the present invention
  • FIG. 4 is a specific flowchart of a P2P streaming media distribution method according to an embodiment of the present invention. detailed description
  • the embodiment of the present invention absorbs the advantages of the RTSP protocol for high efficiency of streaming media transmission, and combines the application layer multicast technology to provide a streaming media data distribution system to solve the problems faced by the existing P2P application layer multicast, so that It has the advantages of high scalability, flexible deployment, and high transmission efficiency.
  • FIG. 1 is a schematic diagram of a streaming media data distribution system. In this embodiment, it may be a schematic diagram of a P2P streaming media data distribution system.
  • the P2P streaming media data distribution system of the embodiment of the present invention includes a client client node 101, a proxy Proxy node 102, a cache Cache node group 103, and a plurality of resource networks 104.
  • the multiple resource networks 104 may be a P2P multicast network group, or may be a plurality of resource networks composed of a P2P multicast network and a media distribution network.
  • the multiple resource networks 104 include multiple different multicast networks, which may be the first multicast network 1041, the second multicast network 1042, ..., and the Nth multicast network 104N.
  • the Cache node group 103 includes a plurality of Cache nodes, which may be a first Cache node 1031, a second Cache node 1032, ..., and an Nth Cache node 103N.
  • multiple different multicast networks included in the resource network 104 may be different networks. Provided by the operator.
  • the client node 101 is configured to send a Real Time Streaming Protocol (RTSP) request message to the Proxy node 102 according to the streaming media request of the user, and obtain the media data from the Proxy node 102 and play the response according to the streaming media request of the user.
  • RTSP Real Time Streaming Protocol
  • the user's streaming request may be a streaming request of the user.
  • the RTSP request message includes the media resource information that the user needs to obtain, and the media resource information is provided by the user or obtained by the client node 101 in combination with the user's streaming media request, for example, the client node 101 obtains the user's click on the streaming media on-demand webpage. Corresponding media resource information.
  • the Client node 101 needs to support RTSP.
  • the Proxy node 102 is configured to respond to the RTSP request message sent by the client node 101. According to the RTSP request message, obtain a Universal Resource Identifier (URI) corresponding to the requesting media resource by the Client node 101. In this embodiment, the proxy node 102 obtains the URI corresponding to the media resource according to the media resource information that the user needs to obtain in the RTSP request message.
  • URI Universal Resource Identifier
  • the Proxy node 102 also sends the message to the plurality of resource networks 104.
  • the proxy node 102 may send the media resource query request to any one of the plurality of resource networks 104, or may simultaneously send the media resource query request to multiple different multicast networks.
  • the multicast network in the multiple resource networks 104 can also be recorded on the proxy node 102. It can be understood that the number of multicast networks in the multiple resource networks 104 and the operators of the multicast network are recorded. , the running status of the multicast network, and so on.
  • the proxy node 102 may select a multicast network in the plurality of resource networks 104 according to the recorded multicast network conditions in the plurality of resource networks 104, and send the media resource query to the selected multicast network. request.
  • the multicast network in the plurality of resource networks 104 is configured to receive the media resource query request sent by the Proxy node 102, and pass the P2P according to the URI of the media resource of the required query in the resource query request.
  • the network query stores the location information of the cache node of the media resource and the fragment storage information of the corresponding media resource, and selects a suitable set of Cache nodes and a media resource request mode with the Cache node according to the application layer multicast algorithm.
  • the plurality of resource networks 104 return a response message corresponding to the resource query request, where the response message includes the location information of the selected set of cache nodes storing the media resource, the fragment storage information of the corresponding media resource, and the resource request of the Cache node. the way.
  • the corresponding media request mode is a push/pull request operation for obtaining a media resource.
  • the selected set of suitable Cache nodes may be one or more.
  • the proxy node 102 is further configured to receive a response message corresponding to the resource query request sent by the multiple resource networks 104, and confirm, according to the response message, a Cache node that stores the media resource.
  • the proxy node 102 obtains the location information of the selected one of the cache nodes in which the media resource is stored in the response message, the fragment storage information of the corresponding media resource, and the media resource request mode of the Cache node.
  • the proxy node 102 is further configured to combine, according to the fragment storage information of the media resource stored by the node, the fragment storage information of the media resource of the Cache node returned by the multiple resource networks 104, from the response message.
  • a plurality of Cache nodes are selected as resource nodes, that is, the Cache node storing the media resources is confirmed, and multiple resource networks are determined.
  • the returned media resource request mode of the resource node returned by 104 is converted into a pull/push operation primitive.
  • the Proxy node 102 is further configured to request media transmission from the Cache node selected as the resource node in the Cache node group 103 by using the pull/push operation primitive according to the location information of the corresponding Cache node returned by the multiple resource networks 104. It can be understood that the Proxy node 102 requests media transmission from the resource node through the pull/push operation primitive according to the location information selected as the resource node, that is, the location information of the Cache node selected as the resource node.
  • the Proxy node 102 receives the media streams of the plurality of Cache nodes in the Cache node group 103, and aggregates and combines the media streams and transmits them to the client node 101 through the RTSP protocol.
  • the URI is a universal resource identifier of the media resource requested by the user, and needs to be determined according to different application scenarios. For example, it can be a streaming media file or a segment or segments of a streaming media file.
  • Each of the Cache node groups 103 is used to cache media resources and register the cached resource information with the multicast networks in the plurality of resource networks 104.
  • the Cache node may register the cached resource information to any one of the plurality of resource networks 104 or simultaneously to a plurality of different multicast networks.
  • the Cache node may be a dedicated server in a streaming media distribution system, or may be a cache server that simultaneously participates in multiple similar service networks, and provides resource sharing and interaction for resources between different service networks.
  • a Cache node can participate in multiple multicast networks at the same time, providing Cache services for multiple multicast networks. That is, since the Cache node can register with multiple multicast networks, that is, it can provide resource information to multiple multicast networks, thereby providing resource sharing for multiple multicast networks at the same time.
  • the above logical functions can be mapped to separate physical devices, or any combination formed by them on the same physical device, or separate processes on a physical device, or together as a process on a physical device.
  • the streaming media distribution system adds a Proxy node to the streaming media distribution system, so that the user terminal can obtain the related information of the Cache node corresponding to the required media resource from the different multicast networks through the Proxy node, thereby passing the Proxy node.
  • the media resources are obtained from the Cache node, so that the user can enjoy the live/on-demand service through different multicast networks, that is, the use range of the live/on-demand service is improved, thereby avoiding the user terminal and the multicast network in the prior art. Matching can enjoy live or on-demand business, which enhances the scalability and flexibility of the streaming distribution system.
  • the transmission efficiency of the streaming media multicast system is improved.
  • the client response unit 1020 is configured to receive an RTSP request message sent by the client node, and obtain a URI corresponding to the media resource requested by the client node according to the media resource information that the user needs to obtain in the RTSP request message.
  • the multicast interface unit 1022 is configured to send a media resource query request corresponding to the RTSP request message to multiple resource networks, obtain a response message of the media resource query request, and confirm, according to the response message, a cache that stores the media resource. node.
  • the multicast interface unit 1022 sends a media resource query request to the multicast network of multiple resource networks according to the URI corresponding to the media resource sent by the client response unit 1020, and obtains the storage message through the response message replied by the multicast network.
  • the location information of the Cache node with the media resource, the fragment storage information of the corresponding media resource, and the media resource request mode of the Cache node are examples of the Cache node.
  • the multicast interface unit 1022 is further configured to: according to the fragment storage information of the media resource stored by the node, combined with the fragment storage information of the media resource of the Cache node returned by the multicast network, from the response message.
  • a plurality of Cache nodes are selected as resource nodes in the Cache node corresponding to the location information of the Cache node, that is, the Cache node storing the media resource is confirmed, and the media resource request mode of the resource node returned by the multicast network is converted into a pull/ Push operation primitive;
  • the streaming media transmission unit 1024 is configured to request media transmission from a plurality of Cache nodes selected as resource nodes by using a pull/push operation primitive according to the Cache node location information returned by the multicast network. It can be understood that the streaming media transmission unit 1024 requests the media transmission from the resource node through the pull/push operation primitive according to the location information of the resource node selected by the multicast interface unit 1022, that is, the location information of the Cache node selected as the resource node. .
  • the streaming media transmission unit 1024 is further configured to receive the media streams of the plurality of Cache nodes, and aggregate and combine the media streams.
  • the client response unit 1020 is further configured to send the media stream received by the streaming media transmission unit 1024 to the client node by using the RTSP protocol.
  • the Proxy node can be deployed in a dedicated server of the streaming media multicast network, It can be deployed in a device combined with a Content Delivery Network (CDN) server, or it can be deployed in a combination of access gateways, such as a wired network access server or a broadband access server (Broadband Remote Access). Server, BRAS), or wireless network access device, or gateway GPRS Supporting Node (GGSN), or GPRS router.
  • CDN Content Delivery Network
  • BRAS Broadband Remote Access
  • GGSN gateway GPRS Supporting Node
  • the Proxy node can also be combined with the terminal, that is, deployed in performance. On a good PC terminal.
  • a dedicated server of the streaming media multicast network or a CDN server, or a wired network access server, or a broadband access server, or a wireless network access device, or a GGSN includes units included in the proxy node. The description will not be repeated here.
  • the Proxy node provided by the embodiment of the present invention can enable the user terminal to obtain the related information of the Cache node corresponding to the required media resource from the different multicast networks through the Proxy node, thereby obtaining the media resource from the Cache node through the Proxy node, so that the user can pass the Proxy node.
  • Different multicast networks can enjoy the live/on-demand service, that is, the use range of the live broadcast/on-demand service is improved, thereby avoiding the situation that the user terminal and the multicast network in the prior art must match to enjoy the live broadcast or on-demand service, thereby enhancing The scalability and flexibility of the streaming media distribution system. And through the RTSP protocol to improve the efficiency of streaming media transmission and anti-congestion capabilities.
  • FIG. 3 is a general flowchart of a method for P2P streaming media distribution.
  • Step S300 Receive an RTSP request message sent by the client node, and obtain a URI of the media resource corresponding to the RTSP request message.
  • the URI corresponding to the media resource requested by the client node is obtained according to the media resource information that the user needs to obtain in the RTSP request message;
  • the media resource query request is sent to the multiple resource networks.
  • the resource query request includes the URI of the media resource.
  • the multiple resource networks include multiple different multicast networks.
  • the media resource query request may be sent to any one of the multiple resource networks, or the media resource query request may be sent to multiple different multicast networks at the same time.
  • the Proxy node may not know which specific multicast network has the information about the Cache node that requests the media resource, so it may send to multiple different multicast networks. Send the media resource query request, or arbitrarily select a multicast network, and send the media resource query request.
  • Step S304 Acquire a response message of the resource query request sent by the multiple resource networks.
  • the response message includes location information of the Cache node where the media resource is stored, fragment storage information of the media resource corresponding to the Cache node, and a media resource request mode of the Cache node.
  • the multicast network of the multiple resource networks queries the cache node that stores the media resource through the P2P network according to the URI of the media resource that needs to be queried in the resource query request.
  • the location information and the fragment storage information of the corresponding media resource and select a suitable set of Cache nodes and a media resource request mode with the Cache node according to the application layer multicast algorithm.
  • a response message sent by multiple multicast networks in the multiple resource networks may be acquired, and the multiple resource networks include two multicast networks, which are the first multicast network and the second group respectively.
  • the broadcast network may receive the response message sent by the first multicast network and receive the response message sent by the second multicast network.
  • the Cache node may be included in the response message sent by the first multicast network and the response message sent by the second multicast network, because the same Cache node can be registered in the first multicast network and the second multicast network. Location information.
  • Step S306 selecting a plurality of Cache nodes as resource nodes from the Cache nodes corresponding to the location information of the Cache node in the response message.
  • the Cache corresponding to the location information of the Cache node in the response message is obtained according to the stored fragment storage information of the media resource and the fragment storage information of the media resource corresponding to the Cache node in the response message.
  • Several Cache nodes are selected as resource nodes in the node. This step is also understood to confirm that the Cache node storing the media resource is confirmed according to the response message.
  • a plurality of Cache nodes may be selected as resource nodes from the Cache nodes corresponding to the location information of the Cache node in the response message sent by the different multicast networks.
  • Step S308 converting the media resource request mode of the resource node into a pull/push operation primitive. Since in step S306, the Cache corresponding to the location information of the Cache node in the response message A plurality of Cache nodes are selected as resource nodes in the node. Therefore, this step can be understood as converting the media resource request mode of the selected Cache node into a pull/push operation primitive.
  • Step S310 requesting media transmission from the resource node.
  • the media transmission is requested to the resource node by a pull/push operation primitive. Because in step S306, a plurality of Cache nodes are selected as resource nodes from the Cache nodes corresponding to the location information of the Cache node in the response message, therefore, this step can be understood as the location information of the selected Cache node is passed.
  • the /push operation primitive requests media transmission from the Cache node.
  • Step S312 Acquire a media stream returned by the resource node, and aggregate and combine the returned media streams, and send the aggregated and combined media streams to the client node.
  • the method of streaming media distribution may be performed on a Proxy node, or a Proxy server, or an entity that can implement Proxy functions.
  • the technical solution provided by the embodiment of the present invention can enable the user terminal to obtain the related information of the Cache node corresponding to the required media resource from the different multicast networks of the multiple resource networks through the Proxy node, thereby obtaining the media resource from the Cache node through the Proxy node. Therefore, the user can enjoy the live broadcast/on-demand service through different multicast networks, that is, the use range of the live broadcast/on-demand service is improved, thereby avoiding the need to match the user terminal and the multicast network in the prior art to enjoy the live broadcast or the on-demand service. The situation enhances the scalability and flexibility of the streaming media distribution system.
  • Step S400 A client node responds to a user's streaming media request, and sends an RTSP request message to the Proxy node according to the user's streaming media request.
  • the client node obtains the requested media resource information in the streaming media request of the user, and sends an RTSP request message corresponding to the media resource.
  • the RTSP request message includes the media resource information that the user needs to obtain, and the RTSP request message carries the media resource information that the user needs to obtain.
  • Step S402 The Proxy node receives the RTSP request message of the client node, and obtains the URI of the media resource requested by the client node according to the RTSP request message.
  • the media resource information that the user needs to obtain in the message obtains the URI corresponding to the media resource requested by the client node.
  • Step S404 The Proxy node sends a media resource query request to the multiple resource networks according to the client node requesting the media resource URI.
  • the multiple resource networks include multiple different multicast networks.
  • the media resource query request may be sent to any one of the plurality of resource networks, or the media resource query request may be sent to multiple different multicast networks at the same time.
  • the proxy node may not know which specific multicast network has the information about the Cache node that requests the media resource, so the media resource query request may be sent to multiple different multicast networks, or any Select a multicast network and send the media resource query request.
  • Step S406 The multiple resource networks receive the resource query request sent by the Proxy node, and query the location information of the cache node storing the media resource and the corresponding information according to the URI of the media resource of the required query in the resource query request.
  • the fragmentation of the media resource stores information, and selects a suitable Cache node and a media resource request mode with the Cache node according to the application layer multicast algorithm. In this embodiment, it may be received by one multicast network of multiple resource networks.
  • the resource query request sent by the Proxy node may also be that multiple different multicast networks receive the resource query request sent by the Proxy node.
  • Step S408 The multiple resource networks return a response message corresponding to the media resource query request to the Proxy node, where the response message includes location information of a selected group of Cache nodes storing the media resource, and points of corresponding media resources.
  • the slice stores information and the resource request method of the Cache node.
  • the media resource request mode is a push/pull media transmission mode commonly used in application layer multicast.
  • the proxy node obtains a response message of the resource query request sent by multiple resource networks.
  • a response message sent by multiple multicast networks in the multiple resource networks may be acquired, and the multiple resource networks include two multicast networks, which are the first multicast network and the second group respectively.
  • the broadcast network may receive the response message sent by the first multicast network and receive the response message sent by the second multicast network. Since the same Cache node can be simultaneously performed on the first multicast network and the second multicast network The registration information may be included in the response message sent by the first multicast network and the response message sent by the second multicast network.
  • Step S412 The Proxy node selects, as the resource node, a plurality of Cache nodes from the Cache nodes corresponding to the location information of the Cache node in the response message.
  • the Cache corresponding to the location information of the Cache node in the response message is obtained according to the stored fragment storage information of the media resource and the fragment storage information of the media resource corresponding to the Cache node in the response message.
  • Several Cache nodes are selected as resource nodes in the node.
  • a plurality of Cache nodes may be selected as resource nodes from the Cache nodes corresponding to the location information of the Cache node in the response message sent by the different multicast network.
  • Step S414 The Proxy node converts the media resource request mode of the resource node into a pull/push operation primitive. This step may be understood as: converting the media resource request mode of the selected Cache node into a pull/push operation primitive.
  • Step S416 The Proxy node implements media transmission by using the RTSP protocol to the plurality of Cache nodes selected as resource nodes according to the push/pull primitive.
  • This step can be understood as the location information of the selected Cache node, and the media transmission is requested to the Cache node by a pull/push operation primitive.
  • the media transmission is requested from the resource node by the pull/push operation primitive according to the location information of the resource node.
  • the AA and the Proxy node request a specific fragment media resource from the Cache node by using the PTSP PLAY request according to the status of the Buffer cache of the node and the media resource fragment storage information of the Cache node; the BB and the Proxy node implement the Range header field in the PLAY request. Acquisition of specific fragment media assets.
  • multiple Range header fields may be included in the PLAY request to identify different segments;
  • the CC and the Cache node return the part of the media resource to the requesting node through the RTSP protocol according to the range identified by the Proxy node in the Range header field in the PLAY request.
  • the DD and Proxy nodes request the periodic push of the media resource to the Cache node through the RTSP PLAY method.
  • the FF and the Cache resource node push the media resource to the requesting node through the RTSP protocol according to the range that the requesting node identifies in the Range header field in the PLAY request.
  • Step S418 The Proxy node receives the media data sent by the several Cache nodes, and performs aggregation and recombination.
  • Step S420 The Proxy node transmits the recombined streaming media data to the Client node by using an RTSP protocol.
  • Step S422 The client node receives the streaming media data transmitted by the Proxy node through the RTSP protocol, and plays the data to the user.
  • Step S400 and Step S420 can be implemented in other manners, such as inter-process communication.
  • step S418 may not be performed.
  • the technical solution provided by the embodiment of the present invention can enable the user terminal to obtain the related information of the Cache node corresponding to the required media resource from the different multicast networks through the Proxy node, so that the Proxy node obtains the media resource from the Cache node, so that the user can pass the Different multicast networks can enjoy the live/on-demand service, that is, the use range of the live/on-demand service is improved, thereby avoiding the prior art.
  • the user terminal and the multicast network must match to enjoy the live broadcast or on-demand service, thereby enhancing the scalability and flexibility of the streaming media distribution system.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

一种 P2P流媒体数据分发的方法、 系统及 proxy节点 技术领域
本发明涉及通信技术领域, 尤其涉及在一种 P2P流媒体数据分发的方法、 系统和 roxy节点。
背景技术
随着对等网 ( 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 GPRS Supporting 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节点的媒体资源请求方 式。在本实施例中, 可以获取该多个资源网络中的多个组播网络发送的响应消 息, 4叚设多个资源网络包括两个组播网络, 分别为第一组播网络和第二组播网 络, 则可以接收第一组播网络发送的响应消息, 和接收第二组播网络发送的响 应消息。由于同一个 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媒体分发的方法的具体流程图, 包括如下步骤: 步骤 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节点获取多个资源网络发送的该资源查询请求的响应消 息。在本实施例中, 可以获取该多个资源网络中的多个组播网络发送的响应消 息, 4叚设多个资源网络包括两个组播网络, 分别为第一组播网络和第二组播网 络, 则可以接收第一组播网络发送的响应消息, 和接收第二组播网络发送的响 应消息。由于同一个 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

权 利 要 求
1、 一种 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节点;
流媒体传输单元, 用于向所述 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节点用于緩存媒体资源, 并 向所述多个资源网络的多个不同的组播网络注册所緩存的媒体资源信息
PCT/CN2010/074555 2009-07-01 2010-06-26 一种p2p流媒体数据分发的方法、系统及proxy节点 WO2011000289A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP10793584.3A EP2432187B1 (en) 2009-07-01 2010-06-26 Method, system and proxy node for peer-to-peer (p2p) streaming media data distribution
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 (2)

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/340,089 Continuation US8812715B2 (en) 2009-07-01 2011-12-29 Method, system, and proxy node for P2P streaming media data distribution

Publications (1)

Publication Number Publication Date
WO2011000289A1 true WO2011000289A1 (zh) 2011-01-06

Family

ID=43391633

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2010/074555 WO2011000289A1 (zh) 2009-07-01 2010-06-26 一种p2p流媒体数据分发的方法、系统及proxy节点

Country Status (4)

Country Link
US (1) US8812715B2 (zh)
EP (2) EP2618539B1 (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 中兴通讯股份有限公司 多媒体分享方法、注册方法、服务器及代理服务器
WO2015070454A1 (en) 2013-11-18 2015-05-21 Nokia Technologies Oy Methods and apparatuses for providing content data and accessing content data
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
CN1595905A (zh) * 2004-07-04 2005-03-16 华中科技大学 基于集群的流媒体缓存代理服务器系统
US20080091840A1 (en) * 2000-03-29 2008-04-17 Guo Katherine H Method and System for Caching Streaming Multimedia on the Internet
CN101282281A (zh) * 2007-04-03 2008-10-08 华为技术有限公司 一种媒体分发系统、装置及流媒体播放方法

Family Cites Families (17)

* 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
US6785704B1 (en) * 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US6415323B1 (en) * 1999-09-03 2002-07-02 Fastforward Networks Proximity-based redirection system for robust and scalable service-node location in an internetwork
US20030174648A1 (en) * 2001-10-17 2003-09-18 Mea Wang Content delivery network by-pass system
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
WO2009103344A1 (en) * 2008-02-22 2009-08-27 Telefonaktiebolaget Lm Ericsson (Publ) 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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080091840A1 (en) * 2000-03-29 2008-04-17 Guo Katherine H Method and System for Caching Streaming Multimedia on the Internet
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
CN1595905A (zh) * 2004-07-04 2005-03-16 华中科技大学 基于集群的流媒体缓存代理服务器系统
CN101282281A (zh) * 2007-04-03 2008-10-08 华为技术有限公司 一种媒体分发系统、装置及流媒体播放方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2432187A4 *

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2011000289A1 (zh) 一种p2p流媒体数据分发的方法、系统及proxy节点
US8078665B2 (en) Sharing media content based on a media server
JP5341186B2 (ja) プロキシ機能
US20110246608A1 (en) System, method and device for delivering streaming media
WO2008116401A1 (fr) Procédé, système et nœuds pour partage de contenu p2p
JP5847185B2 (ja) コンテンツ中心のネットワーク環境でグループ変更に関する情報を用いるコンテンツ共有方法及び装置
WO2013102355A1 (zh) 个人内容分享方法、系统、服务器和终端设备
WO2012065531A1 (zh) 实现中继选择的方法及装置、系统
KR20110095948A (ko) 멀티캐스트 서비스 품질 모듈 및 방법
Jangam et al. Realtime multi-party video conferencing service over information centric network
WO2010045816A1 (zh) 资源初始化的方法、系统和网络接入服务器
Kazemzadeh et al. Publiy+: A peer-assisted publish/subscribe service for timely dissemination of bulk content
Ramakrishnan et al. Adaptive video streaming over ccn with network coding for seamless mobility
Silva et al. A holistic SDN-capable session-plane tailored for efficient IoMT smart surveillance applications
Ruso et al. Ppssm: push/pull smooth video streaming multicast protocol design and implementation for an overlay network
KR20130138670A (ko) 컨텐츠 중심 네트워크의 인트라 도메인(intra domain) 및 인터 도메인(inter domain)에서 노드가 컨텐츠를 검색하는 방법 및 그 노드
Hassan et al. Performance analysis of video streaming on different hybrid CDN & P2P infrastructure
Schmidt et al. On name-based group communication: Challenges, concepts, and transparent deployment
Hyun et al. Study on architectural model and design of P2P-based streaming client
KR101001357B1 (ko) 전송 트리 구성 방법 및 장치
Leandro et al. Generalized connections and incentives for supporting CE devices in live streaming systems
Lo et al. Design of a context-aware mobile guiding application
Borràs Fuentes PPSP design and implementation
Makris et al. Daedalus: A media agnostic peer-to-peer architecture for IPTV distribution
Vyzovitis An active protocol architecture for collaborative media distribution

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10793584

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010793584

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE