WO2019218416A1 - 流媒体资源的分发方法、系统、边缘节点及中心调度系统 - Google Patents

流媒体资源的分发方法、系统、边缘节点及中心调度系统 Download PDF

Info

Publication number
WO2019218416A1
WO2019218416A1 PCT/CN2018/091209 CN2018091209W WO2019218416A1 WO 2019218416 A1 WO2019218416 A1 WO 2019218416A1 CN 2018091209 W CN2018091209 W CN 2018091209W WO 2019218416 A1 WO2019218416 A1 WO 2019218416A1
Authority
WO
WIPO (PCT)
Prior art keywords
edge node
pull
streaming media
target
flow
Prior art date
Application number
PCT/CN2018/091209
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 US16/466,789 priority Critical patent/US20210368239A1/en
Priority to EP18901803.9A priority patent/EP3595268B1/en
Publication of WO2019218416A1 publication Critical patent/WO2019218416A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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
    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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
    • 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/55Push-based network services
    • 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
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations

Definitions

  • the present invention relates to the field of Internet technologies, and in particular, to a method, system, edge node, and central scheduling system for distributing streaming media resources.
  • the client may include a push stream client used by the anchor and a pull stream client used by the viewer, and the edge node may also include a push stream edge node and a pull stream edge node.
  • the push stream edge node can receive the push video stream of the push stream client, and then the push stream edge node further pushes the video stream to the source node, so that the source node stores the video stream. .
  • the resource acquisition request may be sent to the pull edge node, so that the pull edge node obtains the corresponding video stream from the source node.
  • the source node forwards the video stream to the second-level cache node first, and then the second-level cache node sends the video stream to the pull-stream edge node.
  • the pull-stream edge node can feed the video stream to the pull stream. The client plays.
  • the purpose of the present application is to provide a method, a system, an edge node, and a central scheduling system for distributing streaming media resources, which can reduce network traffic consumption within the CDN.
  • the present application provides a method for distributing a streaming media resource, where the method includes: a pull-stream edge node receives a resource acquisition request from a streaming client to a target streaming media resource; The flow stream edge node does not store the target streaming media resource, and the pull flow edge node sends a pull flow query request to the central scheduling system, and receives a query result fed back by the central scheduling system; wherein the query result represents a storage location a target push flow edge node of the target streaming media resource or a target pull flow edge node storing the target streaming media resource; the pull flow edge node pushes an edge edge node or a target pull flow edge node represented by the query result Obtaining the target streaming media resource, and providing the obtained target streaming media resource to the pull streaming client.
  • the present application further provides a pull-stream edge node, where the pull-stream edge node includes: a resource acquisition request receiving unit, configured to receive a resource directed to the target streaming media resource sent by the pull-stream client Acquiring a request; the query unit is configured to: if the target streaming media resource is not stored at the edge node, send a pull query request to the central scheduling system, and receive a query result fed back by the central scheduling system; The query result represents a target push flow edge node storing the target streaming media resource or a target pull flow edge node storing the target streaming media resource; and a resource obtaining unit, configured to push the edge node from the target represented by the query result Or acquiring the target streaming media resource at the target pull flow edge node.
  • a resource acquisition request receiving unit configured to receive a resource directed to the target streaming media resource sent by the pull-stream client Acquiring a request
  • the query unit is configured to: if the target streaming media resource is not stored at the edge node, send a pull query request to the central scheduling
  • another aspect of the present disclosure provides a method for distributing a streaming media resource, where the method includes: after the push streaming edge node receives the push streaming request sent by the push streaming client, storing the push streaming request Pointing to the streaming media resource, and uploading the resource identifier of the streaming media resource and its own node information to the central scheduling system, so that the central scheduling system receives the pull flow query request sent by the pull flow edge node, And feeding back, to the pull flow edge node, node information of the push flow edge node; and when the push flow edge node receives the pull flow request sent by the pull flow edge node to the streaming media resource, The pull stream edge node feeds back the streaming media resource.
  • another aspect of the present application further provides a push flow edge node, where the push flow edge node includes: an information reporting unit, configured to receive, at the push flow edge node, a push sent by a push flow client After the flow request, storing the streaming media resource pointed by the push flow request, and uploading the resource identifier of the streaming media resource and the node information of the push flow edge node to the central scheduling system, so that the central scheduling system is Receiving the pull flow query request sent by the pull flow edge node, feeding back the node information of the push flow edge node to the pull flow edge node; and the resource feedback unit, configured to send the edge node of the pull flow edge After the pull flow request is directed to the streaming media resource, the streaming media resource is fed back to the pull flow edge node.
  • an information reporting unit configured to receive, at the push flow edge node, a push sent by a push flow client After the flow request, storing the streaming media resource pointed by the push flow request, and uploading the resource identifier of the streaming media resource and the node
  • another aspect of the present application further provides a method for distributing a streaming media resource, where the method includes: after the push flow edge node receives the push flow request sent by the push streaming client, the central scheduling system receives the The push flow information reported by the push flow edge node, where the push flow information includes a resource identifier of the streaming media resource pointed by the push flow request and node information of the push flow edge node; and the central scheduling system receives the pull flow And sending, by the edge node, a pull flow query request to the target streaming media resource, and feeding back a query result to the pull flow edge node, where the query result represents a target push flow edge node storing the target streaming media resource or storing the The target of the target streaming resource pulls the edge node, so that the pull edge node acquires the target streaming resource from the target push edge node or the target pull flow edge node characterized by the query result.
  • the present application further provides a central scheduling system, where the system includes: a push stream information receiving unit, configured to: after the push stream edge node receives the push stream request sent by the push stream client, And receiving the push flow information reported by the push flow edge node, where the push flow information includes a resource identifier of the streaming media resource pointed by the push flow request and node information of the push flow edge node; and a query result feedback unit, Receiving a pull flow query request directed to the target streaming media resource sent by the pull flow edge node, and feeding back a query result to the pull flow edge node, where the query result represents a target push flow edge node storing the target streaming media resource Or storing the target pull stream edge node of the target streaming media resource, so that the pull flow edge node acquires the target streaming media resource from the target push flow edge node or the target pull flow edge node represented by the query result.
  • a push stream information receiving unit configured to: after the push stream edge node receives the push stream request sent by the push stream client, And receiving the push
  • another aspect of the present application further provides a distribution system for streaming media resources, where the system includes a push flow edge node, a pull flow edge node, a secondary cache node, a source node, and a central scheduling system, where: The push flow edge node and the source node have the same configuration information, and the pull flow edge node and the second cache node have the same configuration information; the push flow edge node, the pull flow edge node, and The central scheduling system is respectively configured to perform the corresponding steps described above.
  • the technical solution provided by the present application equalizes the source node and the push flow edge node, and peers the second-level cache node and the pull-stream edge node, thereby avoiding a large number of resource forwarding processes inside the CDN.
  • the push flow edge node may not push the corresponding streaming media resource to the source node, but store the streaming media resource locally, and the streaming media resource
  • the resource identifier and its own node information are reported to the central scheduling system to indicate that the streaming media resource is currently stored at the push flow edge node.
  • the pull flow edge node After the pull flow edge node receives the resource acquisition request sent by the pull flow client, if the pull flow edge node does not store the corresponding streaming media resource locally, the pull flow query request may be sent to the central scheduling system to perform the pull flow query request from the central scheduling system. Get the node that currently stores the streaming media resource. If the central scheduling system feeds back the node information of the push flow edge node to the pull flow client, the pull flow edge node can directly obtain the corresponding streaming media resource from the push flow edge node. In this way, the push flow edge node bears both the edge node service and the source node service.
  • the obtained streaming media resource may be stored locally, and after the storage, the resource identifier and its own node information may be reported to the central scheduling system. In this way, if other streaming edge nodes need to obtain the streaming media resource, they can be directly obtained from the streaming edge node where the streaming media resource is stored, so that the streaming edge node not only undertakes the service of the edge node. At the same time, it also undertakes the business of the secondary cache node.
  • FIG. 1 is a schematic diagram of a system architecture of a CDN in the prior art
  • FIG. 2 is a schematic diagram of a distribution system of streaming media resources in an embodiment of the present invention
  • FIG. 3 is a flowchart of a method for distributing streaming media resources performed by a streaming edge node according to an embodiment of the present invention
  • FIG. 4 is a schematic structural diagram of a pull-stream edge node in an embodiment of the present invention.
  • FIG. 5 is a flowchart of a method for distributing streaming media resources performed by a push flow edge node according to an embodiment of the present invention
  • FIG. 6 is a flowchart of a method for distributing streaming media resources executed by a central scheduling system according to an embodiment of the present invention.
  • the present application provides a distribution system for streaming media resources.
  • the system includes a push flow edge node, a pull flow edge node, a secondary cache node, a source node, and a central scheduling system.
  • the push flow edge node and the source node have the same configuration information
  • the pull flow edge node and the second level cache node have the same configuration information.
  • the same configuration information may mean that the hardware resources and software resources of the server in the node are the same, and the domain names in the nodes are also consistent for the same streaming media resource.
  • the push flow edge node and the pull flow edge node can bear the services of the normal edge node, and at the same time, the push flow edge node can also bear the service of the source node, and the pull flow edge node can also undertake the service of the second-level cache node.
  • the central scheduling system may provide a push flow reporting interface, and the push flow reporting interface may receive the push flow information reported by the push flow edge node.
  • the central scheduling system may further provide a pull flow query interface, where the pull flow query interface may receive a pull flow query request sent by the pull flow edge node, and feed back the corresponding query result to the pull flow edge node.
  • the present application provides a method for distributing a streaming media resource, where the execution body of the method may be the pull-stream edge node described above. As shown in FIG. 3, the method can include the following steps.
  • the pull flow edge node receives the resource acquisition request sent by the pull flow client to the target streaming media resource.
  • the pull-stream client may be a terminal device used by a user who views an on-demand video or a live video.
  • the pull-stream client may also be software running in the terminal device.
  • the pull stream client may be a smart phone, or may be a software such as Youku video, Tencent video, and Betta live broadcast running on a smart phone.
  • the streaming client can issue a resource acquisition request directed to the target streaming media resource.
  • the request can be received by a pullstream edge node in the CDN.
  • the pull-stream edge node may be an edge node that has the best communication state with the pull-stream client, or may be an edge node selected according to the load balancing policy, which is not limited in this application.
  • the resource acquisition request usually includes a resource identifier of the target streaming media resource, where the resource identifier may be a URL for locating the target streaming media resource (Uniform Resource Locator) ), may also be the name of the target streaming media resource, and of course, a combination of the above URL and name may also be used.
  • the resource acquisition request may further include a communication address of the pull stream client, so that the target streaming media resource may be fed back to the pull stream client according to the communication address.
  • the pull flow edge node sends a pull flow query request to the central scheduling system, and receives the query result fed back by the central scheduling system;
  • the query result represents a target push flow edge node storing the target streaming media resource or a target pull flow edge node storing the target streaming media resource.
  • the pull-stream edge node after receiving the resource acquisition request, the pull-stream edge node first determines whether the corresponding target streaming media resource is stored according to the resource identifier carried in the resource acquisition request. If the target streaming media resource has been stored, the target streaming media resource can be directly fed back to the streaming client. If the target streaming media resource is not stored at the pull flow edge node, the pull flow query interface provided by the central scheduling system may be used to send a pull flow query request to the central scheduling system.
  • the pull stream query request may include a resource identifier of the target streaming media resource and node information of the pull stream edge node.
  • the resource identifier of the target streaming media resource is used to notify the central scheduling system, which streaming media resource the current user wants to view.
  • the node information of the pull stream edge node may include information such as a name, an IP address, and an area of the edge node of the pull stream.
  • the central scheduling system may determine, according to the node information, a node having an optimal communication state with the pull-stream edge node among the plurality of nodes storing the target streaming media resource.
  • the central scheduling system may query the current flow edge node and/or the push flow edge node that currently store the target streaming media resource according to the resource identifier carried therein. It should be noted that, since the push flow edge node is equal to the source node, the streaming media resource can be stored in the push flow edge node; in addition, since the pull flow edge node is equal to the second-level cache node, the streaming media resource is also Can be stored in the pull flow edge node.
  • information of a streaming media resource that has been currently stored in the CDN may be recorded, and the information may include a resource identifier of the streaming media resource, and node information of a node that stores the streaming media resource. In this way, the central scheduling system may query the current flow edge node and/or the push flow edge node that currently store the target streaming media resource according to the resource identifier carried in the pull flow query request.
  • the central scheduling system may follow the optimal path principle, and extract the edge nodes and/or push edges of the stream from the query.
  • a target pull flow edge node or a target push flow edge node that matches the pull flow edge node that sends the pull flow query request is determined in the node.
  • the central scheduling system may determine a communication state between the pull-stream edge node that sends the pull-flow query request and each node that is obtained by the query, and the communication state may include various information such as a communication delay, a packet loss rate, and a bandwidth consumption.
  • the node with the best communication state can be used as the target pull flow edge node or the target push flow edge node that matches the pull flow edge node that sends the pull flow query request.
  • the determined target pull flow edge node or the target push flow edge node and the pull flow edge node that sends the pull flow query request may form an optimal transmission path.
  • the central scheduling system may feed back the determined node information of the target pull flow edge node or the node information of the target push flow edge node to the pull flow edge node that sends the pull flow query request.
  • the feedback node information may include an IP address of the target pull flow edge node or the target push flow edge node.
  • the pull stream edge node acquires the target streaming media resource from the target push flow edge node or the target pull flow edge node characterized by the query result, and provides the obtained target streaming media resource to the pull Stream client.
  • the pull flow edge node may obtain the target streaming media resource from the corresponding target pull flow edge node or the target push flow edge node according to the node information fed back by the central scheduling system. After acquiring the target streaming media resource, the streaming edge node may provide the target streaming media resource to the pull streaming client.
  • the pull-stream edge node since the pull-stream edge node is equal to the second-level cache node, after the pull-stream edge node acquires the target streaming media resource, the pull-stream edge node may locally store the target Streaming media resources, if a new streaming edge node wants to obtain the target streaming media resource, the streaming edge node storing the target streaming media resource can be used as a secondary cache node to provide a new streaming edge node.
  • the target streaming resource After the target streaming media resource is stored locally, the pullstream edge node may feed back the resource identifier of the target streaming media resource and the node information of the pullstream edge node itself to the central scheduling system, thereby The central scheduling system records node information of a node that currently stores the target streaming media resource.
  • the present application further provides a pull flow edge node, where the pull flow edge node includes:
  • a resource acquisition request receiving unit configured to receive a resource acquisition request sent by the streaming client to the target streaming media resource
  • a query unit configured to send a pull flow query request to the central scheduling system if the target streaming media resource is not stored at the pull flow edge node, and receive a query result fed back by the central scheduling system; wherein the query result Characterizing a target push flow edge node storing the target streaming media resource or a target pull flow edge node storing the target streaming media resource;
  • a resource acquiring unit configured to acquire the target streaming media resource from a target push flow edge node or a target pull flow edge node characterized by the query result.
  • edge node of the pull stream For the specific functions implemented by the edge node of the pull stream, refer to the method for distributing the streaming media resources performed by the edge node of the pull stream, and details are not described herein.
  • the application further provides a method for distributing a streaming media resource, and the execution body of the method may be the above-mentioned push flow edge node.
  • the method may include the following steps.
  • the push flow edge node After receiving the push flow request sent by the push flow client, the push flow edge node stores the streaming media resource pointed by the push flow request, and uploads the resource identifier of the streaming media resource and its own node information to the center. Dispatching the system, so that the central scheduling system feeds back the node information of the push flow edge node to the pull flow edge node when receiving the pull flow query request sent by the pull flow edge node.
  • the push streaming client may be a terminal device used by a user who uploads a streaming media resource, or software installed in the terminal device.
  • the user who uploads the streaming media resource may be, for example, an anchor of the live broadcast platform.
  • the terminal device may be, for example, a desktop computer or a smart phone, and the software may be, for example, an application (APP) such as Acfun, ⁇ , ⁇ .
  • APP application
  • the push streaming request may be sent to the streaming media resource, where the push streaming request may include the resource identifier of the streaming media resource.
  • the push request can be received by a push edge node in the CDN.
  • the push flow edge node may be an edge node with the best communication state with the push flow client, or may be an edge node selected according to the load balancing policy, which is not limited in this application.
  • the streaming media resource pointed to by the push flow request may be locally stored, and the streaming media resource may not be continuously pushed to the source node, thereby avoiding Bandwidth consumption inside the CDN.
  • the push streaming edge node may upload the resource identifier of the streaming media resource and its own node information to the central scheduling system.
  • the resource identifier may be a URL for locating the streaming media resource, or may be a name of the streaming media resource. Of course, a combination of the foregoing URL and a name may also be used.
  • the node information of the push flow edge node may include information such as a name, an IP address, and an area of the push flow edge node.
  • the central scheduling system can store the received resource identifier and node information in association. If the pull flow edge node sends a pull flow query request to the streaming media resource, the central scheduling system may feed back the node information of the push flow edge node to the pull flow edge node, so that the pull flow edge node The streaming media resource can be obtained from the push flow edge node.
  • the pull-stream edge node when the pull-stream edge node receives the resource acquisition request sent by the pull-stream client, if the pull-stream edge node does not cache the corresponding streaming media resource, the pull-stream edge node may follow step S13. Describe, send a pull flow query request to the central scheduling system, so as to obtain node information of the push flow edge node corresponding to the resource acquisition request from the central scheduling system. If the node information is characterized by the push flow edge node in step S21, the push flow edge node may receive the pull flow request sent by the pull flow edge node to the streaming media resource, and may The pull stream edge node feeds back the streaming media resource.
  • the push flow edge node in the embodiment does not continue to push the corresponding streaming media resource to the source node, but stores the streaming media resource locally, and the resource identifier and The node information of the node is reported to the central scheduling system, so that the push flow edge node not only undertakes the service of the edge node but also implements the service of the source node.
  • the application also provides a push flow edge node, where the push flow edge node includes:
  • An information reporting unit configured to: after the push flow edge node receives the push flow request sent by the push flow client, store the streaming media resource pointed by the push flow request, and use the resource identifier of the streaming media resource and The node information of the push flow edge node is uploaded to the central scheduling system, so that the central scheduling system feeds back the push flow to the pull flow edge node when receiving the pull flow query request sent by the pull flow edge node Node information of the edge node;
  • the resource feedback unit is configured to feed back the streaming media resource to the pullstream edge node after receiving the pull flow request sent by the pullstream edge node to the streaming media resource.
  • the push-stream edge node For the specific functions implemented by the push-stream edge node, refer to the method for distributing the streaming media resources performed by the push-stream edge node, which will not be described here.
  • the present application further provides a method for distributing a streaming media resource.
  • the execution body of the method may be the central scheduling system described above, and the method includes the following steps.
  • the central scheduling system receives the push flow information reported by the push flow edge node, where the push flow information includes the push flow request point The resource identifier of the streaming media resource and the node information of the push flow edge node.
  • the push streaming request may be sent to the streaming media resource, where the push streaming request may include the resource identifier of the streaming media resource.
  • the push stream request can be received by the push stream edge node in the CDN.
  • the push flow edge node may locally store the streaming media resource pointed to by the push flow request without continuously pushing the streaming media resource to the source node, thereby avoiding bandwidth consumption inside the CDN.
  • the push flow edge node may upload the resource identifier of the streaming media resource and its own node information as push flow information to the central scheduling system. In this way, the central scheduling system can store the received resource identifier and node information in association.
  • the central scheduling system receives a pull flow query request from the pull flow edge node and points to the target streaming media resource, and feeds back a query result to the pull flow edge node, where the query result represents storing the target streaming media resource a target push flow edge node or a target pull flow edge node storing the target streaming media resource, so that the pull flow edge node obtains from the target push flow edge node or the target pull flow edge node represented by the query result Target streaming resources.
  • the streaming client may send a resource acquisition request to the streaming edge node to the target streaming resource.
  • the pull-stream edge node after receiving the resource acquisition request, the pull-stream edge node first determines whether the corresponding target streaming media resource is stored locally according to the resource identifier carried therein. If the target streaming media resource has been stored, the target streaming media resource can be directly fed back to the streaming client. If the target streaming media resource is not stored at the pull flow edge node, the pull flow query interface provided by the central scheduling system may be used to send a pull flow query request to the central scheduling system.
  • the pull stream query request may include a resource identifier of the target streaming media resource and node information of the pull stream edge node.
  • the resource identifier of the target streaming media resource is used to notify the central scheduling system, which streaming media resource the current user wants to view.
  • the node information of the pull stream edge node may include information such as a name, an IP address, and an area of the edge node of the pull stream.
  • the central scheduling system may determine, according to the node information, a node having an optimal communication state with the pull-stream edge node among the plurality of nodes storing the target streaming media resource.
  • the central scheduling system may query the current flow edge node and/or the push flow edge node that currently store the target streaming media resource according to the resource identifier carried therein. It should be noted that, since the push flow edge node is equal to the source node, the streaming media resource can be stored in the push flow edge node; in addition, since the pull flow edge node is equal to the second-level cache node, the streaming media resource is also Can be stored in the pull flow edge node.
  • information of a streaming media resource that has been currently stored in the CDN may be recorded, and the information may include a resource identifier of the streaming media resource, and node information of a node that stores the streaming media resource. In this way, the central scheduling system may query the current flow edge node and/or the push flow edge node that currently store the target streaming media resource according to the resource identifier carried in the pull flow query request.
  • the central scheduling system may follow the optimal path principle, and extract the edge nodes and/or push edges of the stream from the query.
  • a target pull flow edge node or a target push flow edge node that matches the pull flow edge node that sends the pull flow query request is determined in the node.
  • the central scheduling system may determine a communication state between the pull-stream edge node that sends the pull-flow query request and each node that is obtained by the query, and the communication state may include various information such as a communication delay, a packet loss rate, and a bandwidth consumption.
  • the node with the best communication state can be used as the target pull flow edge node or the target push flow edge node that matches the pull flow edge node that sends the pull flow query request.
  • the determined target pull flow edge node or the target push flow edge node and the pull flow edge node that sends the pull flow query request may form an optimal transmission path.
  • the central scheduling system may feed back the determined node information of the target pull flow edge node or the node information of the target push flow edge node to the pull flow edge node that sends the pull flow query request.
  • the feedback node information may include an IP address of the target pull flow edge node or the target push flow edge node.
  • the pull flow edge node may obtain the target streaming media resource from the corresponding target pull flow edge node or the target push flow edge node according to the node information fed back by the central scheduling system. After acquiring the target streaming media resource, the streaming edge node may provide the target streaming media resource to the pull streaming client.
  • the pull-stream edge node since the pull-stream edge node is equal to the second-level cache node, after the pull-stream edge node acquires the target streaming media resource, the pull-stream edge node may locally store the target Streaming media resources, if a new streaming edge node wants to obtain the target streaming media resource, the streaming edge node storing the target streaming media resource can be used as a secondary cache node to provide a new streaming edge node.
  • the target streaming resource After the target streaming media resource is stored locally, the pullstream edge node may feed back the resource identifier of the target streaming media resource and the node information of the pullstream edge node itself to the central scheduling system, thereby The central scheduling system records node information of a node that currently stores the target streaming media resource.
  • the application also provides a central scheduling system, the system comprising:
  • the push flow information receiving unit is configured to: after the push flow edge node receives the push flow request sent by the push flow client, receive the push flow information reported by the push flow edge node, where the push flow information includes the push a resource identifier of the streaming media resource pointed to by the flow request and node information of the push flow edge node;
  • a query result feedback unit configured to receive a pull flow query request sent by the pull flow edge node to the target streaming media resource, and feed back a query result to the pull flow edge node, where the query result represents storing the target streaming media resource a target push flow edge node or a target pull flow edge node storing the target streaming media resource, so that the pull flow edge node obtains from the target push flow edge node or the target pull flow edge node represented by the query result Target streaming resources.
  • the present application further provides a distribution system for streaming media resources, where the system includes a push flow edge node, a pull flow edge node, a second level cache node, a source node, and a central scheduling system, where:
  • the push flow edge node and the source node have the same configuration information, and the pull flow edge node and the second level cache node have the same configuration information;
  • the push flow edge node, the pull flow edge node, and the central scheduling system are respectively used to execute the corresponding method steps, and are not described herein again.
  • the technical solution provided by the present application equalizes the source node and the push flow edge node, and peers the second-level cache node and the pull-stream edge node, thereby avoiding a large number of resource forwarding processes inside the CDN.
  • the push flow edge node may not push the corresponding streaming media resource to the source node, but store the streaming media resource locally, and the streaming media resource
  • the resource identifier and its own node information are reported to the central scheduling system to indicate that the streaming media resource is currently stored at the push flow edge node.
  • the pull flow edge node After the pull flow edge node receives the resource acquisition request sent by the pull flow client, if the pull flow edge node does not store the corresponding streaming media resource locally, the pull flow query request may be sent to the central scheduling system to perform the pull flow query request from the central scheduling system. Get the node that currently stores the streaming media resource. If the central scheduling system feeds back the node information of the push flow edge node to the pull flow client, the pull flow edge node can directly obtain the corresponding streaming media resource from the push flow edge node. In this way, the push flow edge node bears both the edge node service and the source node service.
  • the obtained streaming media resource may be stored locally, and after the storage, the resource identifier and its own node information may be reported to the central scheduling system. In this way, if other streaming edge nodes need to obtain the streaming media resource, they can be directly obtained from the streaming edge node where the streaming media resource is stored, so that the streaming edge node not only undertakes the service of the edge node. At the same time, it also undertakes the business of the secondary cache node.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种流媒体资源的分发方法、系统、边缘节点及中心调度系统,其中,所述方法包括:拉流边缘节点接收拉流客户端发来的指向目标流媒体资源的资源获取请求;若所述拉流边缘节点处未存储所述目标流媒体资源,所述拉流边缘节点向中心调度系统发送拉流查询请求,并接收所述中心调度系统反馈的查询结果;其中,所述查询结果表征存储所述目标流媒体资源的目标推流边缘节点或者存储所述目标流媒体资源的目标拉流边缘节点;所述拉流边缘节点从所述查询结果表征的目标推流边缘节点或者目标拉流边缘节点处获取所述目标流媒体资源,并将获取的所述目标流媒体资源提供给所述拉流客户端。本申请提供的技术方案,能够减少CDN内部的网络流量消耗。

Description

流媒体资源的分发方法、系统、边缘节点及中心调度系统 技术领域
本发明涉及互联网技术领域,特别涉及一种流媒体资源的分发方法、系统、边缘节点及中心调度系统。
背景技术
在当前的内容分发网络(Content Delivery Network,CDN)架构中,通常包含客户端、边缘节点、源节点以及二级缓存节点。请参阅图1,在视频直播的业务中,客户端可以包括主播使用的推流客户端以及观众使用的拉流客户端,边缘节点也可以包括推流边缘节点以及拉流边缘节点。当推流客户端需要上传直播视频时,推流边缘节点可以接收到推流客户端的推送的视频流,然后推流边缘节点会将视频流进一步地推送给源节点,从而使得源节点存储视频流。后续拉流客户端需要播放直播视频时,可以向拉流边缘节点发送资源获取请求,这样,拉流边缘节点会从源节点处获取对应的视频流。在获取视频流时,源节点会将视频流先转发给二级缓存节点,然后二级缓存节点再将视频流发送给拉流边缘节点,最终,拉流边缘节点可以将视频流反馈给拉流客户端进行播放。
由上可见,现有技术中CDN架构中的资源分发过程,需要在CDN内部的多个节点之间进行资源的转发,链路较长,增加直播延迟,同时这样也会导致CDN内部网络流量消耗巨大。
发明内容
本申请的目的在于提供一种流媒体资源的分发方法、系统、边缘节点及中心调度系统,能够减少CDN内部的网络流量消耗。
为实现上述目的,本申请一方面提供一种流媒体资源的分发方法,所述方法包括:拉流边缘节点接收拉流客户端发来的指向目标流媒体资源的资源获取请求;若所述拉流边缘节点处未存储所述目标流媒体资源,所述拉流边缘节点向中心调度系统发送拉流查询请求,并接收所述中心调度系统反馈的查询结果; 其中,所述查询结果表征存储所述目标流媒体资源的目标推流边缘节点或者存储所述目标流媒体资源的目标拉流边缘节点;所述拉流边缘节点从所述查询结果表征的目标推流边缘节点或者目标拉流边缘节点处获取所述目标流媒体资源,并将获取的所述目标流媒体资源提供给所述拉流客户端。
为实现上述目的,本申请另一方面还提供一种拉流边缘节点,所述拉流边缘节点包括:资源获取请求接收单元,用于接收拉流客户端发来的指向目标流媒体资源的资源获取请求;查询单元,用于若所述拉流边缘节点处未存储所述目标流媒体资源,向中心调度系统发送拉流查询请求,并接收所述中心调度系统反馈的查询结果;其中,所述查询结果表征存储所述目标流媒体资源的目标推流边缘节点或者存储所述目标流媒体资源的目标拉流边缘节点;资源获取单元,用于从所述查询结果表征的目标推流边缘节点或者目标拉流边缘节点处获取所述目标流媒体资源。
为实现上述目的,本申请另一方面还提供一种流媒体资源的分发方法,所述方法包括:推流边缘节点接收到推流客户端发来的推流请求后,存储所述推流请求指向的流媒体资源,并将所述流媒体资源的资源标识以及自身的节点信息上传至中心调度系统,以使得所述中心调度系统在接收到拉流边缘节点发来的拉流查询请求时,向所述拉流边缘节点反馈所述推流边缘节点的节点信息;当所述推流边缘节点接收到所述拉流边缘节点发来的指向所述流媒体资源的拉流请求后,向所述拉流边缘节点反馈所述流媒体资源。
为实现上述目的,本申请另一方面还提供一种推流边缘节点,所述推流边缘节点包括:信息上报单元,用于在所述推流边缘节点接收到推流客户端发来的推流请求后,存储所述推流请求指向的流媒体资源,并将所述流媒体资源的资源标识以及所述推流边缘节点的节点信息上传至中心调度系统,以使得所述中心调度系统在接收到拉流边缘节点发来的拉流查询请求时,向所述拉流边缘节点反馈所述推流边缘节点的节点信息;资源反馈单元,用于在接收到所述拉流边缘节点发来的指向所述流媒体资源的拉流请求后,向所述拉流边缘节点反馈所述流媒体资源。
为实现上述目的,本申请另一方面还提供一种流媒体资源的分发方法,所述方法包括:当推流边缘节点接收到推流客户端发来的推流请求后,中心调度系统接收所述推流边缘节点上报的推流信息,所述推流信息中包括所述推流请 求指向的流媒体资源的资源标识以及所述推流边缘节点的节点信息;所述中心调度系统接收拉流边缘节点发来的指向目标流媒体资源的拉流查询请求,并向所述拉流边缘节点反馈查询结果,所述查询结果表征存储所述目标流媒体资源的目标推流边缘节点或者存储所述目标流媒体资源的目标拉流边缘节点,以使得所述拉流边缘节点从所述查询结果表征的目标推流边缘节点或者目标拉流边缘节点处获取所述目标流媒体资源。
为实现上述目的,本申请另一方面还提供一种中心调度系统,所述系统包括:推流信息接收单元,用于当推流边缘节点接收到推流客户端发来的推流请求后,接收所述推流边缘节点上报的推流信息,所述推流信息中包括所述推流请求指向的流媒体资源的资源标识以及所述推流边缘节点的节点信息;查询结果反馈单元,用于接收拉流边缘节点发来的指向目标流媒体资源的拉流查询请求,并向所述拉流边缘节点反馈查询结果,所述查询结果表征存储所述目标流媒体资源的目标推流边缘节点或者存储所述目标流媒体资源的目标拉流边缘节点,以使得所述拉流边缘节点从所述查询结果表征的目标推流边缘节点或者目标拉流边缘节点处获取所述目标流媒体资源。
为实现上述目的,本申请另一方面还提供一种流媒体资源的分发系统,所述系统包括推流边缘节点、拉流边缘节点、二级缓存节点、源节点以及中心调度系统,其中:所述推流边缘节点与所述源节点具备相同的配置信息,并且所述拉流边缘节点与所述二级缓存节点具备相同的配置信息;所述推流边缘节点、所述拉流边缘节点以及所述中心调度系统分别用于执行上述对应的步骤。
由上可见,本申请提供的技术方案,将源节点和推流边缘节点对等,并且将二级缓存节点和拉流边缘节点对等,从而可以避免在CDN内部进行大量的资源转发过程。具体地,推流边缘节点接收到推流客户端发来的推流请求后,可以不将对应的流媒体资源上推给源节点,而是将流媒体资源在本地存储,并且将流媒体资源的资源标识和自身的节点信息上报至中心调度系统,以表明该流媒体资源当前存储于该推流边缘节点处。当拉流边缘节点接收到拉流客户端发来的资源获取请求后,如果拉流边缘节点本地没有存储对应的流媒体资源,则可以向中心调度系统发送拉流查询请求,以从中心调度系统处获取当前存储该流媒体资源的节点。若中心调度系统向拉流客户端反馈的是推流边缘节点的节点信息,那么拉流边缘节点便可以直接从推流边缘节点处获取对应的流媒体资 源。这样,推流边缘节点既承担了边缘节点的业务,也承担了源节点的业务。此外,当拉流边缘节点获取到所需的流媒体资源后,还可以在本地将获取到的流媒体资源进行存储,并且在存储之后,可以向中心调度系统上报资源标识和自身的节点信息。这样,如果有其它的拉流边缘节点需要获取该流媒体资源时,便可以从存储有该流媒体资源的拉流边缘节点处直接获取,这样,拉流边缘节点既承担了边缘节点的业务,同时也承担了二级缓存节点的业务。由上可见,通过将推流边缘节点和源节点对等,并且将拉流边缘节点和二级缓存节点对等,从而可以避免在CDN内部进行大量的资源转发过程,进而能够减少CDN内部的网络流量消耗,也缩短了资源传输链路长度,减少了延时。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中CDN的系统架构示意图;
图2是本发明实施例中流媒体资源的分发系统示意图;
图3是本发明实施例中拉流边缘节点执行的流媒体资源的分发方法流程图;
图4是本发明实施例中拉流边缘节点的结构示意图;
图5是本发明实施例中推流边缘节点执行的流媒体资源的分发方法流程图;
图6是本发明实施例中中心调度系统执行的流媒体资源的分发方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本申请提供一种流媒体资源的分发系统,请参阅图2,所述系统包括推流边缘节点、拉流边缘节点、二级缓存节点、源节点以及中心调度系统。在本实施方式中,所述推流边缘节点与所述源节点具备相同的配置信息,并且所述拉流边缘节点与所述二级缓存节点具备相同的配置信息。其中,具备相同的配置信息可以指节点中服务器的硬件资源和软件资源都一致,并且针对同一个流媒体 资源,在节点中的域名也一致。这样,推流边缘节点和拉流边缘节点既可以承担正常的边缘节点的业务,同时,推流边缘节点还可以承担源节点的业务,拉流边缘节点还可以承担二级缓存节点的业务。如图2所示,在本实施方式中,所述中心调度系统可以提供推流上报接口,该推流上报接口可以接收推流边缘节点上报的推流信息。此外,所述中心调度系统还可以提供拉流查询接口,该拉流查询接口可以接收拉流边缘节点发来的拉流查询请求,并向所述拉流边缘节点反馈相应的查询结果。
具体地,请参阅图3,本申请提供一种流媒体资源的分发方法,该方法的执行主体可以是上述的拉流边缘节点。如图3所示,该方法可以包括以下步骤。
S11:拉流边缘节点接收拉流客户端发来的指向目标流媒体资源的资源获取请求。
在本实施方式中,所述拉流客户端可以是观看点播视频或者直播视频的用户所使用的终端设备,当然,所述拉流客户端也可以是运行于上述终端设备中的软件。例如,所述拉流客户端可以是智能手机,也可以是运行于智能手机中的优酷视频、腾讯视频、斗鱼直播等软件。当用户想要观看目标流媒体资源时,拉流客户端可以向外发出指向该目标流媒体资源的资源获取请求。该请求可以被CDN中的一个拉流边缘节点接收到。该拉流边缘节点可以是与所述拉流客户端之间通信状态最好的一个边缘节点,也可以是根据负载均衡策略选定的一个边缘节点,本申请对此并不做限定。
在本实施方式中,所述资源获取请求中通常会包含所述目标流媒体资源的资源标识,该资源标识可以是用于定位所述目标流媒体资源的URL(Uniform Resource Locator,统一资源定位符),也可以是所述目标流媒体资源的名称,当然,还可以上述URL和名称的组合。此外,所述资源获取请求中还可以包括所述拉流客户端的通信地址,这样,后续可以根据该通信地址将目标流媒体资源反馈给所述拉流客户端。
S13:若所述拉流边缘节点处未存储所述目标流媒体资源,所述拉流边缘节点向中心调度系统发送拉流查询请求,并接收所述中心调度系统反馈的查询结果;其中,所述查询结果表征存储所述目标流媒体资源的目标推流边缘节点或者存储所述目标流媒体资源的目标拉流边缘节点。
在本实施方式中,所述拉流边缘节点在接收到所述资源获取请求之后,首 先根据资源获取请求中携带的资源标识,判断本地是否存储了对应的目标流媒体资源。如果已经存储了目标流媒体资源,则可以直接向拉流客户端反馈所述目标流媒体资源。若所述拉流边缘节点处未存储所述目标流媒体资源,则可以通过中心调度系统提供的拉流查询接口,向中心调度系统发送拉流查询请求。
在本实施方式中,所述拉流查询请求中可以包括所述目标流媒体资源的资源标识以及所述拉流边缘节点的节点信息。其中,所述目标流媒体资源的资源标识用于告知中心调度系统,当前用户想要观看的是哪个流媒体资源。所述拉流边缘节点的节点信息可以包括该拉流边缘节点的名称、IP地址、所属区域等信息。中心调度系统可以根据该节点信息,在存储所述目标流媒体资源的多个节点中确定与所述拉流边缘节点具备最佳通信状态的节点。
在本实施方式中,中心调度系统接收到该拉流查询请求后,可以根据其中携带的资源标识,查询当前存储所述目标流媒体资源的拉流边缘节点和/或推流边缘节点。这里需要说明的是,由于推流边缘节点与源节点对等,因此流媒体资源可以存储于推流边缘节点中;此外,由于拉流边缘节点与二级缓存节点对等,因此流媒体资源也可以存储于拉流边缘节点中。在所述中心调度系统内,可以记录当前已经在CDN中存储的流媒体资源的信息,该信息可以包括流媒体资源的资源标识,以及存储该流媒体资源的节点的节点信息。这样,中心调度系统可以根据拉流查询请求中携带的资源标识,查询到当前存储所述目标流媒体资源的拉流边缘节点和/或推流边缘节点。
在本实施方式中,若查询得到的存储所述目标流媒体资源的节点数量多于1个,那么中心调度系统可以按照最佳路径原则,从查询得到的拉流边缘节点和/或推流边缘节点中确定与发送所述拉流查询请求的拉流边缘节点相匹配的目标拉流边缘节点或目标推流边缘节点。具体地,中心调度系统可以确定发送拉流查询请求的拉流边缘节点与查询得到的各个节点之间的通信状态,该通信状态可以包括通信时延、丢包率、带宽消耗等多种信息。然后,可以将具备最佳通信状态的节点作为与发送所述拉流查询请求的拉流边缘节点相匹配的目标拉流边缘节点或目标推流边缘节点。这样,确定的所述目标拉流边缘节点或目标推流边缘节点与发送所述拉流查询请求的拉流边缘节点之间可以构成最优传输路径。
在本实施方式中,所述中心调度系统可以将确定的所述目标拉流边缘节点 的节点信息或目标推流边缘节点的节点信息反馈给发送所述拉流查询请求的拉流边缘节点。反馈的节点信息中可以包括目标拉流边缘节点或目标推流边缘节点的IP地址。
S15:所述拉流边缘节点从所述查询结果表征的目标推流边缘节点或者目标拉流边缘节点处获取所述目标流媒体资源,并将获取的所述目标流媒体资源提供给所述拉流客户端。
在本实施方式中,拉流边缘节点可以根据中心调度系统反馈的节点信息,从对应的目标拉流边缘节点或目标推流边缘节点处获取到所述目标流媒体资源。在获取到所述目标流媒体资源后,拉流边缘节点从而可以将所述目标流媒体资源提供给所述拉流客户端。
在本实施方式中,由于拉流边缘节点与二级缓存节点对等,那么在所述拉流边缘节点获取到所述目标流媒体资源后,所述拉流边缘节点可以在本地存储所述目标流媒体资源,后续如果有新的拉流边缘节点要获取该目标流媒体资源时,存储了该目标流媒体资源的拉流边缘节点便可以作为二级缓存节点,向新的拉流边缘节点提供该目标流媒体资源。在本地存储了所述目标流媒体资源后,所述拉流边缘节点可以将所述目标流媒体资源的资源标识以及所述拉流边缘节点自身的节点信息反馈给所述中心调度系统,从而在中心调度系统中记录当前存储了所述目标流媒体资源的节点的节点信息。
请参阅图4,本申请还提供一种拉流边缘节点,所述拉流边缘节点包括:
资源获取请求接收单元,用于接收拉流客户端发来的指向目标流媒体资源的资源获取请求;
查询单元,用于若所述拉流边缘节点处未存储所述目标流媒体资源,向中心调度系统发送拉流查询请求,并接收所述中心调度系统反馈的查询结果;其中,所述查询结果表征存储所述目标流媒体资源的目标推流边缘节点或者存储所述目标流媒体资源的目标拉流边缘节点;
资源获取单元,用于从所述查询结果表征的目标推流边缘节点或者目标拉流边缘节点处获取所述目标流媒体资源。
该拉流边缘节点实现的具体功能,可以参见上述的拉流边缘节点执行的流媒体资源的分发方法,这里便不再赘述。
本申请还提供一种流媒体资源的分发方法,该方法的执行主体可以是上述的推流边缘节点。请参阅图5,所述方法可以包括以下步骤。
S21:推流边缘节点接收到推流客户端发来的推流请求后,存储所述推流请求指向的流媒体资源,并将所述流媒体资源的资源标识以及自身的节点信息上传至中心调度系统,以使得所述中心调度系统在接收到拉流边缘节点发来的拉流查询请求时,向所述拉流边缘节点反馈所述推流边缘节点的节点信息。
在本实施方式中,所述推流客户端可以是上传流媒体资源的用户所使用的终端设备,或者是安装于上述终端设备中的软件。上传流媒体资源的用户例如可以是直播平台的主播。所述终端设备例如可以是台式电脑或者智能手机,所述软件例如可以是Acfun、哔哩哔哩、虎牙直播等应用程序(Application,APP)。所述推流客户端需要上传流媒体资源时,可以发出指向流媒体资源的推流请求,该推流请求中可以包含所述流媒体资源的资源标识。该推流请求可以被CDN中的一个推流边缘节点接收到。该推流边缘节点可以是与所述推流客户端之间通信状态最好的一个边缘节点,也可以是根据负载均衡策略选定的一个边缘节点,本申请对此并不做限定。
在本实施方式中,所述推流边缘节点接收到所述推流请求后,可以在本地存储该推流请求指向的流媒体资源,而不继续向源节点推送该流媒体资源,从而可以避免CDN内部的带宽消耗。在存储了所述流媒体资源后,推流边缘节点可以将所述流媒体资源的资源标识以及自身的节点信息上传至中心调度系统。其中,所述资源标识可以是用于定位所述流媒体资源的URL,也可以是所述流媒体资源的名称,当然,还可以上述URL和名称的组合。所述推流边缘节点的节点信息中可以包括该推流边缘节点的名称、IP地址、所属区域等信息。这样,中心调度系统便可以将接收到的资源标识和节点信息关联存储。后续如果拉流边缘节点发来指向该流媒体资源的拉流查询请求时,所述中心调度系统可以向所述拉流边缘节点反馈所述推流边缘节点的节点信息,从而使得拉流边缘节点可以从该推流边缘节点处获取该流媒体资源。
S23:当所述推流边缘节点接收到所述拉流边缘节点发来的指向所述流媒体资源的拉流请求后,向所述拉流边缘节点反馈所述流媒体资源。
在本实施方式中,当拉流边缘节点接收到拉流客户端发出的资源获取请求时,若该拉流边缘节点中没有缓存对应的流媒体资源,该拉流边缘节点可以按 照步骤S13中的描述,向中心调度系统发送拉流查询请求,从而从所述中心调度系统处获取所述资源获取请求对应的推流边缘节点的节点信息。若该节点信息表征的是步骤S21中的推流边缘节点,那么该推流边缘节点便可以接收到所述拉流边缘节点发来的指向所述流媒体资源的拉流请求,并可以向所述拉流边缘节点反馈所述流媒体资源。由此可见,本实施方式中的推流边缘节点,在接收到推流请求后,不会继续向源节点推送对应的流媒体资源,而是在本地存储该流媒体资源,并且将资源标识和自身的节点信息汇报给中心调度系统,这样,推流边缘节点既承担了边缘节点的业务,又实现了源节点的业务。
本申请还提供一种推流边缘节点,所述推流边缘节点包括:
信息上报单元,用于在所述推流边缘节点接收到推流客户端发来的推流请求后,存储所述推流请求指向的流媒体资源,并将所述流媒体资源的资源标识以及所述推流边缘节点的节点信息上传至中心调度系统,以使得所述中心调度系统在接收到拉流边缘节点发来的拉流查询请求时,向所述拉流边缘节点反馈所述推流边缘节点的节点信息;
资源反馈单元,用于在接收到所述拉流边缘节点发来的指向所述流媒体资源的拉流请求后,向所述拉流边缘节点反馈所述流媒体资源。
该推流边缘节点实现的具体功能,可以参见上述的推流边缘节点执行的流媒体资源的分发方法,这里便不再赘述。
请参阅图6,本申请还提供一种流媒体资源的分发方法,该方法的执行主体可以是上述的中心调度系统,所述方法包括以下步骤。
S31:当推流边缘节点接收到推流客户端发来的推流请求后,中心调度系统接收所述推流边缘节点上报的推流信息,所述推流信息中包括所述推流请求指向的流媒体资源的资源标识以及所述推流边缘节点的节点信息。
在本实施方式中,推流客户端需要上传流媒体资源时,可以发出指向流媒体资源的推流请求,该推流请求中可以包含所述流媒体资源的资源标识。该推流请求可以被CDN中的推流边缘节点接收到。所述推流边缘节点接收到所述推流请求后,可以在本地存储该推流请求指向的流媒体资源,而不继续向源节点推送该流媒体资源,从而可以避免CDN内部的带宽消耗。在存储了所述流媒体资源后,推流边缘节点可以将所述流媒体资源的资源标识以及自身的节点信息 作为推流信息上传至中心调度系统。这样,中心调度系统便可以将接收到的资源标识和节点信息关联存储。
S33:所述中心调度系统接收拉流边缘节点发来的指向目标流媒体资源的拉流查询请求,并向所述拉流边缘节点反馈查询结果,所述查询结果表征存储所述目标流媒体资源的目标推流边缘节点或者存储所述目标流媒体资源的目标拉流边缘节点,以使得所述拉流边缘节点从所述查询结果表征的目标推流边缘节点或者目标拉流边缘节点处获取所述目标流媒体资源。
在本实施方式中,当用户想要观看目标流媒体资源时,拉流客户端可以向拉流边缘节点发送指向该目标流媒体资源的资源获取请求。在本实施方式中,所述拉流边缘节点在接收到所述资源获取请求之后,首先根据其中携带的资源标识,判断本地是否存储了对应的目标流媒体资源。如果已经存储了目标流媒体资源,则可以直接向拉流客户端反馈所述目标流媒体资源。若所述拉流边缘节点处未存储所述目标流媒体资源,则可以通过中心调度系统提供的拉流查询接口,向中心调度系统发送拉流查询请求。
在本实施方式中,所述拉流查询请求中可以包括所述目标流媒体资源的资源标识以及所述拉流边缘节点的节点信息。其中,所述目标流媒体资源的资源标识用于告知中心调度系统,当前用户想要观看的是哪个流媒体资源。所述拉流边缘节点的节点信息可以包括该拉流边缘节点的名称、IP地址、所属区域等信息。中心调度系统可以根据该节点信息,在存储所述目标流媒体资源的多个节点中确定与所述拉流边缘节点具备最佳通信状态的节点。
在本实施方式中,中心调度系统接收到该拉流查询请求后,可以根据其中携带的资源标识,查询当前存储所述目标流媒体资源的拉流边缘节点和/或推流边缘节点。这里需要说明的是,由于推流边缘节点与源节点对等,因此流媒体资源可以存储于推流边缘节点中;此外,由于拉流边缘节点与二级缓存节点对等,因此流媒体资源也可以存储于拉流边缘节点中。在所述中心调度系统内,可以记录当前已经在CDN中存储的流媒体资源的信息,该信息可以包括流媒体资源的资源标识,以及存储该流媒体资源的节点的节点信息。这样,中心调度系统可以根据拉流查询请求中携带的资源标识,查询到当前存储所述目标流媒体资源的拉流边缘节点和/或推流边缘节点。
在本实施方式中,若查询得到的存储所述目标流媒体资源的节点数量多于1 个,那么中心调度系统可以按照最佳路径原则,从查询得到的拉流边缘节点和/或推流边缘节点中确定与发送所述拉流查询请求的拉流边缘节点相匹配的目标拉流边缘节点或目标推流边缘节点。具体地,中心调度系统可以确定发送拉流查询请求的拉流边缘节点与查询得到的各个节点之间的通信状态,该通信状态可以包括通信时延、丢包率、带宽消耗等多种信息。然后,可以将具备最佳通信状态的节点作为与发送所述拉流查询请求的拉流边缘节点相匹配的目标拉流边缘节点或目标推流边缘节点。这样,确定的所述目标拉流边缘节点或目标推流边缘节点与发送所述拉流查询请求的拉流边缘节点之间可以构成最优传输路径。
在本实施方式中,所述中心调度系统可以将确定的所述目标拉流边缘节点的节点信息或目标推流边缘节点的节点信息反馈给发送所述拉流查询请求的拉流边缘节点。反馈的节点信息中可以包括目标拉流边缘节点或目标推流边缘节点的IP地址。
在本实施方式中,拉流边缘节点可以根据中心调度系统反馈的节点信息,从对应的目标拉流边缘节点或目标推流边缘节点处获取到所述目标流媒体资源。在获取到所述目标流媒体资源后,拉流边缘节点从而可以将所述目标流媒体资源提供给所述拉流客户端。
在本实施方式中,由于拉流边缘节点与二级缓存节点对等,那么在所述拉流边缘节点获取到所述目标流媒体资源后,所述拉流边缘节点可以在本地存储所述目标流媒体资源,后续如果有新的拉流边缘节点要获取该目标流媒体资源时,存储了该目标流媒体资源的拉流边缘节点便可以作为二级缓存节点,向新的拉流边缘节点提供该目标流媒体资源。在本地存储了所述目标流媒体资源后,所述拉流边缘节点可以将所述目标流媒体资源的资源标识以及所述拉流边缘节点自身的节点信息反馈给所述中心调度系统,从而在中心调度系统中记录当前存储了所述目标流媒体资源的节点的节点信息。
本申请还提供一种中心调度系统,所述系统包括:
推流信息接收单元,用于当推流边缘节点接收到推流客户端发来的推流请求后,接收所述推流边缘节点上报的推流信息,所述推流信息中包括所述推流请求指向的流媒体资源的资源标识以及所述推流边缘节点的节点信息;
查询结果反馈单元,用于接收拉流边缘节点发来的指向目标流媒体资源的 拉流查询请求,并向所述拉流边缘节点反馈查询结果,所述查询结果表征存储所述目标流媒体资源的目标推流边缘节点或者存储所述目标流媒体资源的目标拉流边缘节点,以使得所述拉流边缘节点从所述查询结果表征的目标推流边缘节点或者目标拉流边缘节点处获取所述目标流媒体资源。
该中心调度系统实现的具体功能,可以参见上述的中心调度系统执行的流媒体资源的分发方法,这里便不再赘述。
请参阅图2,本申请还提供一种流媒体资源的分发系统,所述系统包括推流边缘节点、拉流边缘节点、二级缓存节点、源节点以及中心调度系统,其中:
所述推流边缘节点与所述源节点具备相同的配置信息,并且所述拉流边缘节点与所述二级缓存节点具备相同的配置信息;
所述推流边缘节点、拉流边缘节点以及中心调度系统分别用于执行上述对应的方法步骤,这里便不再赘述。
由上可见,本申请提供的技术方案,将源节点和推流边缘节点对等,并且将二级缓存节点和拉流边缘节点对等,从而可以避免在CDN内部进行大量的资源转发过程。具体地,推流边缘节点接收到推流客户端发来的推流请求后,可以不将对应的流媒体资源上推给源节点,而是将流媒体资源在本地存储,并且将流媒体资源的资源标识和自身的节点信息上报至中心调度系统,以表明该流媒体资源当前存储于该推流边缘节点处。当拉流边缘节点接收到拉流客户端发来的资源获取请求后,如果拉流边缘节点本地没有存储对应的流媒体资源,则可以向中心调度系统发送拉流查询请求,以从中心调度系统处获取当前存储该流媒体资源的节点。若中心调度系统向拉流客户端反馈的是推流边缘节点的节点信息,那么拉流边缘节点便可以直接从推流边缘节点处获取对应的流媒体资源。这样,推流边缘节点既承担了边缘节点的业务,也承担了源节点的业务。此外,当拉流边缘节点获取到所需的流媒体资源后,还可以在本地将获取到的流媒体资源进行存储,并且在存储之后,可以向中心调度系统上报资源标识和自身的节点信息。这样,如果有其它的拉流边缘节点需要获取该流媒体资源时,便可以从存储有该流媒体资源的拉流边缘节点处直接获取,这样,拉流边缘节点既承担了边缘节点的业务,同时也承担了二级缓存节点的业务。由上可见,通过将推流边缘节点和源节点对等,并且将拉流边缘节点和二级缓存节点对等, 从而可以避免在CDN内部进行大量的资源转发过程,进而能够减少CDN内部的网络流量消耗。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (13)

  1. 一种流媒体资源的分发方法,其特征在于,所述方法包括:
    拉流边缘节点接收拉流客户端发来的指向目标流媒体资源的资源获取请求;
    若所述拉流边缘节点处未存储所述目标流媒体资源,所述拉流边缘节点向中心调度系统发送拉流查询请求,并接收所述中心调度系统反馈的查询结果;其中,所述查询结果表征存储所述目标流媒体资源的目标推流边缘节点或者存储所述目标流媒体资源的目标拉流边缘节点;
    所述拉流边缘节点从所述查询结果表征的目标推流边缘节点或者目标拉流边缘节点处获取所述目标流媒体资源,并将获取的所述目标流媒体资源提供给所述拉流客户端。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    若所述拉流边缘节点处已存储所述目标流媒体资源,向所述拉流客户端反馈所述目标流媒体资源。
  3. 根据权利要求1所述的方法,其特征在于,在所述拉流边缘节点获取到所述目标流媒体资源后,所述方法还包括:
    所述拉流边缘节点在本地存储所述目标流媒体资源,并将所述目标流媒体资源的资源标识以及所述拉流边缘节点自身的节点信息反馈给所述中心调度系统。
  4. 根据权利要求1所述的方法,其特征在于,所述资源获取请求中包括所述目标流媒体资源的资源标识;相应地,所述拉流查询请求中包括所述目标流媒体资源的资源标识以及所述拉流边缘节点的节点信息。
  5. 一种拉流边缘节点,其特征在于,所述拉流边缘节点包括:
    资源获取请求接收单元,用于接收拉流客户端发来的指向目标流媒体资源的资源获取请求;
    查询单元,用于若所述拉流边缘节点处未存储所述目标流媒体资源,向中心调度系统发送拉流查询请求,并接收所述中心调度系统反馈的查询结果;其中,所述查询结果表征存储所述目标流媒体资源的目标推流边缘节点或者存储所述目标流媒体资源的目标拉流边缘节点;
    资源获取单元,用于从所述查询结果表征的目标推流边缘节点或者目标拉流边缘节点处获取所述目标流媒体资源。
  6. 一种流媒体资源的分发方法,其特征在于,所述方法包括:
    推流边缘节点接收到推流客户端发来的推流请求后,存储所述推流请求指向的流媒体资源,并将所述流媒体资源的资源标识以及自身的节点信息上传至中心调度系统,以使得所述中心调度系统在接收到拉流边缘节点发来的拉流查询请求时,向所述拉流边缘节点反馈所述推流边缘节点的节点信息;
    当所述推流边缘节点接收到所述拉流边缘节点发来的指向所述流媒体资源的拉流请求后,向所述拉流边缘节点反馈所述流媒体资源。
  7. 根据权利要求6所述的方法,其特征在于,所述拉流边缘节点用于接收拉流客户端发出的资源获取请求,并从所述中心调度系统处获取所述资源获取请求对应的推流边缘节点的节点信息。
  8. 一种推流边缘节点,其特征在于,所述推流边缘节点包括:
    信息上报单元,用于在所述推流边缘节点接收到推流客户端发来的推流请求后,存储所述推流请求指向的流媒体资源,并将所述流媒体资源的资源标识以及所述推流边缘节点的节点信息上传至中心调度系统,以使得所述中心调度系统在接收到拉流边缘节点发来的拉流查询请求时,向所述拉流边缘节点反馈所述推流边缘节点的节点信息;
    资源反馈单元,用于在接收到所述拉流边缘节点发来的指向所述流媒体资源的拉流请求后,向所述拉流边缘节点反馈所述流媒体资源。
  9. 一种流媒体资源的分发方法,其特征在于,所述方法包括:
    当推流边缘节点接收到推流客户端发来的推流请求后,中心调度系统接收 所述推流边缘节点上报的推流信息,所述推流信息中包括所述推流请求指向的流媒体资源的资源标识以及所述推流边缘节点的节点信息;
    所述中心调度系统接收拉流边缘节点发来的指向目标流媒体资源的拉流查询请求,并向所述拉流边缘节点反馈查询结果,所述查询结果表征存储所述目标流媒体资源的目标推流边缘节点或者存储所述目标流媒体资源的目标拉流边缘节点,以使得所述拉流边缘节点从所述查询结果表征的目标推流边缘节点或者目标拉流边缘节点处获取所述目标流媒体资源。
  10. 根据权利要求9所述的方法,其特征在于,所述方法还包括:
    当所述拉流边缘节点在本地存储所述目标流媒体资源后,所述中心调度系统接收并存储所述拉流边缘节点发来的所述目标流媒体资源的资源标识以及所述拉流边缘节点自身的节点信息。
  11. 根据权利要求9所述的方法,其特征在于,所述中心调度系统向所述拉流边缘节点反馈查询结果包括:
    所述中心调度系统查询当前存储所述目标流媒体资源的拉流边缘节点和/或推流边缘节点,并从查询得到的拉流边缘节点和/或推流边缘节点中确定与发送所述拉流查询请求的拉流边缘节点相匹配的目标拉流边缘节点或目标推流边缘节点;其中,确定的所述目标拉流边缘节点或目标推流边缘节点与发送所述拉流查询请求的拉流边缘节点之间构成最优传输路径;
    所述中心调度系统将确定的所述目标拉流边缘节点的节点信息或目标推流边缘节点的节点信息反馈给发送所述拉流查询请求的拉流边缘节点。
  12. 一种中心调度系统,其特征在于,所述系统包括:
    推流信息接收单元,用于当推流边缘节点接收到推流客户端发来的推流请求后,接收所述推流边缘节点上报的推流信息,所述推流信息中包括所述推流请求指向的流媒体资源的资源标识以及所述推流边缘节点的节点信息;
    查询结果反馈单元,用于接收拉流边缘节点发来的指向目标流媒体资源的拉流查询请求,并向所述拉流边缘节点反馈查询结果,所述查询结果表征存储所述目标流媒体资源的目标推流边缘节点或者存储所述目标流媒体资源的目标 拉流边缘节点,以使得所述拉流边缘节点从所述查询结果表征的目标推流边缘节点或者目标拉流边缘节点处获取所述目标流媒体资源。
  13. 一种流媒体资源的分发系统,其特征在于,所述系统包括推流边缘节点、拉流边缘节点、二级缓存节点、源节点以及中心调度系统,其中:
    所述推流边缘节点与所述源节点具备相同的配置信息,并且所述拉流边缘节点与所述二级缓存节点具备相同的配置信息;
    所述推流边缘节点用于执行如权利要求6或7所述的步骤;
    所述拉流边缘节点用于执行如权利要求1至4中任一所述的步骤;
    所述中心调度系统用于执行如权利要求9至11中任一所述的步骤。
PCT/CN2018/091209 2018-05-14 2018-06-14 流媒体资源的分发方法、系统、边缘节点及中心调度系统 WO2019218416A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/466,789 US20210368239A1 (en) 2018-05-14 2018-06-14 Distributing method, system, edge node, and central scheduling system for streaming media resource
EP18901803.9A EP3595268B1 (en) 2018-05-14 2018-06-14 Streaming media resource distribution method, system, edge node and central dispatching system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810456611.5A CN108712343A (zh) 2018-05-14 2018-05-14 流媒体资源的分发方法、系统、边缘节点及中心调度系统
CN201810456611.5 2018-05-14

Publications (1)

Publication Number Publication Date
WO2019218416A1 true WO2019218416A1 (zh) 2019-11-21

Family

ID=63868109

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/091209 WO2019218416A1 (zh) 2018-05-14 2018-06-14 流媒体资源的分发方法、系统、边缘节点及中心调度系统

Country Status (4)

Country Link
US (1) US20210368239A1 (zh)
EP (1) EP3595268B1 (zh)
CN (1) CN108712343A (zh)
WO (1) WO2019218416A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109618187B (zh) * 2018-11-15 2021-10-29 网宿科技股份有限公司 一种视频数据的获取方法及装置
CN112218100B (zh) * 2019-07-09 2023-05-26 阿里巴巴集团控股有限公司 内容分发网络、数据处理方法、装置、设备及存储介质
CN110493321B (zh) * 2019-07-24 2022-04-22 网宿科技股份有限公司 一种资源获取方法以及边缘调度系统、服务器
CN110460482B (zh) * 2019-09-20 2022-09-02 广州酷狗计算机科技有限公司 流量获取方法、装置、服务器及介质
CN113141513B (zh) * 2020-01-17 2022-05-13 北京达佳互联信息技术有限公司 直播流的拉流方法、装置、电子设备及存储介质
CN111246315B (zh) * 2020-01-21 2022-06-03 咪咕视讯科技有限公司 视频交互方法、系统、边缘节点、客户端及存储介质
CN113347138B (zh) * 2020-03-02 2024-04-26 广州虎牙科技有限公司 转码数据流的传输方法、装置、计算机设备及存储介质
CN113839982B (zh) * 2020-06-24 2023-03-21 北京金山云网络技术有限公司 调度方法、装置、调度服务器、边缘服务器及调度系统
CN112202833B (zh) * 2020-08-26 2023-05-23 网宿科技股份有限公司 Cdn系统、请求处理方法以及调度服务器
CN112087644B (zh) * 2020-09-21 2022-10-04 北京金山云网络技术有限公司 拉流请求处理方法、装置、系统、电子设备和存储介质
CN112738548B (zh) * 2021-04-06 2021-06-18 北京百家视联科技有限公司 一种流媒体调度方法、装置、设备及存储介质
CN115514981A (zh) * 2021-06-22 2022-12-23 华为云计算技术有限公司 一种视频流调度系统及相关产品
CN113824689B (zh) * 2021-08-24 2022-11-29 北京百度网讯科技有限公司 边缘计算网络、数据传输方法、装置、设备和存储介质
CN114071173A (zh) * 2021-11-15 2022-02-18 北京百度网讯科技有限公司 直播调度方法及装置、系统、电子设备和介质
CN114125489B (zh) * 2021-12-10 2023-05-02 上海哔哩哔哩科技有限公司 数据流分发方法及系统
CN114268799B (zh) * 2021-12-23 2023-05-23 杭州阿启视科技有限公司 一种流媒体传输方法、装置、电子设备及介质
CN114501053B (zh) * 2022-02-07 2023-10-20 上海哔哩哔哩科技有限公司 直播流获取方法及装置
CN114598701B (zh) * 2022-02-16 2023-08-22 阿里巴巴(中国)有限公司 Cdn调度方法、系统、计算设备及存储介质
CN114615237B (zh) * 2022-03-22 2024-03-29 阿里巴巴(中国)有限公司 流媒体通信方法、系统、设备及存储介质
CN115002083B (zh) * 2022-05-23 2024-04-02 阿里巴巴(中国)有限公司 实时流媒体数据传输的方法、设备及存储介质
CN115174569B (zh) * 2022-06-27 2024-03-19 普联技术有限公司 一种视频流传输的控制方法、装置、服务器及存储介质
CN115242798B (zh) * 2022-06-30 2023-09-26 阿里巴巴(中国)有限公司 一种基于边缘云的任务调度方法、电子设备及存储介质
CN115460427B (zh) * 2022-08-26 2024-03-12 上海哔哩哔哩科技有限公司 直播调度方法、装置、计算设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101232388A (zh) * 2007-01-26 2008-07-30 中兴通讯股份有限公司 一种控制流媒体数据在边缘流媒体服务器上分布的方法
US20130097277A1 (en) * 2011-10-12 2013-04-18 Electronics And Telecommunications Research Institute Method and apparatus for load balancing of content-centric network
CN104660700A (zh) * 2015-03-03 2015-05-27 网宿科技股份有限公司 一种内容分发网络的方法和系统
CN104967685A (zh) * 2015-06-25 2015-10-07 广东德诚网络科技有限公司 基于Flash P2P的流媒体多级缓存网络加速方法
CN104980417A (zh) * 2014-08-06 2015-10-14 腾讯科技(深圳)有限公司 一种ugc文件分发方法和设备
CN106888270A (zh) * 2017-03-30 2017-06-23 网宿科技股份有限公司 回源选路调度的方法和系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101282281B (zh) * 2007-04-03 2011-03-30 华为技术有限公司 一种媒体分发系统、装置及流媒体播放方法
US10291735B2 (en) * 2014-07-23 2019-05-14 Facebook, Inc. Residential cache appliance utilizing a social network
CN106453328A (zh) * 2016-10-18 2017-02-22 乐视控股(北京)有限公司 直播视频文件的推流方法、客户端及边缘流媒体服务器
CN106488263A (zh) * 2016-10-24 2017-03-08 北京小米移动软件有限公司 推送直播流媒体数据的方法及装置
CN106850581B (zh) * 2017-01-04 2020-06-23 网宿科技股份有限公司 互动直播流媒体数据的分发备份方法、系统及服务器
CN107580021A (zh) * 2017-08-01 2018-01-12 北京奇艺世纪科技有限公司 一种文件传输的方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101232388A (zh) * 2007-01-26 2008-07-30 中兴通讯股份有限公司 一种控制流媒体数据在边缘流媒体服务器上分布的方法
US20130097277A1 (en) * 2011-10-12 2013-04-18 Electronics And Telecommunications Research Institute Method and apparatus for load balancing of content-centric network
CN104980417A (zh) * 2014-08-06 2015-10-14 腾讯科技(深圳)有限公司 一种ugc文件分发方法和设备
CN104660700A (zh) * 2015-03-03 2015-05-27 网宿科技股份有限公司 一种内容分发网络的方法和系统
CN104967685A (zh) * 2015-06-25 2015-10-07 广东德诚网络科技有限公司 基于Flash P2P的流媒体多级缓存网络加速方法
CN106888270A (zh) * 2017-03-30 2017-06-23 网宿科技股份有限公司 回源选路调度的方法和系统

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
EP3595268B1 (en) 2021-11-24
EP3595268A4 (en) 2020-04-01
EP3595268A1 (en) 2020-01-15
CN108712343A (zh) 2018-10-26
US20210368239A1 (en) 2021-11-25

Similar Documents

Publication Publication Date Title
WO2019218416A1 (zh) 流媒体资源的分发方法、系统、边缘节点及中心调度系统
US10516717B2 (en) Network-initiated content streaming control
KR101355767B1 (ko) 콘텐츠 중심 네트워크 환경에서의 동등 계층 간 그룹 통신 방법
US8046432B2 (en) Network caching for multiple contemporaneous requests
US20140074961A1 (en) Efficiently Delivering Time-Shifted Media Content via Content Delivery Networks (CDNs)
US9510061B2 (en) Method and apparatus for distributing video
US8812715B2 (en) Method, system, and proxy node for P2P streaming media data distribution
US9172751B2 (en) Content distribution
JP2018507660A (ja) デジタルコンテンツのアダプティブ仮想ブロードキャスティングのための方法およびシステム
JP2003521067A (ja) 起点サーバとクライアントとの間のメディアリソースリクエストおよび/または応答を書き換えるシステムおよび方法
US20130144994A1 (en) Content Delivery Network and Method for Content Delivery
US20110126256A1 (en) Method for live broadcasting in a distributed network and apparatus for the same
MXPA06000670A (es) Metodo y sistema para proporcionar un enlace de transmision para trafico de emision continua.
WO2020155293A1 (zh) 一种推流方法、系统及服务器
US8812718B2 (en) System and method of streaming data over a distributed infrastructure
JP6523447B2 (ja) 分散型コンテンツ配信ネットワークにおけるブロードキャスト送信中の適応ビットレート
WO2019200630A1 (zh) 一种流媒体资源的传输方法及系统
GB2549536A (en) Media data streaming method and apparatus
Ramakrishnan et al. Adaptive video streaming over ccn with network coding for seamless mobility
WO2015109842A1 (zh) 一种处理分段节目的方法、服务器及客户端设备
US11882340B2 (en) Content distribution system, unicast multicast converter, content distribution method and content distribution program
Meskovic et al. Content delivery architectures for live video streaming: hybrid cdn-p2p as the best option
CN106657061B (zh) 一种将rtsp转换为对象存储的方式
Awiphan et al. Outbound face selection considering response time and buffer usage for CCN adaptive video streaming
Lambrinos et al. An adaptive live media streaming architecture

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2018901803

Country of ref document: EP

Effective date: 20190729

ENP Entry into the national phase

Ref document number: 2018901803

Country of ref document: EP

Effective date: 20190729

NENP Non-entry into the national phase

Ref country code: DE