WO2019128800A1 - 一种内容服务的实现方法、装置及内容分发网络节点 - Google Patents

一种内容服务的实现方法、装置及内容分发网络节点 Download PDF

Info

Publication number
WO2019128800A1
WO2019128800A1 PCT/CN2018/122056 CN2018122056W WO2019128800A1 WO 2019128800 A1 WO2019128800 A1 WO 2019128800A1 CN 2018122056 W CN2018122056 W CN 2018122056W WO 2019128800 A1 WO2019128800 A1 WO 2019128800A1
Authority
WO
WIPO (PCT)
Prior art keywords
media content
fragment
entity
content
download
Prior art date
Application number
PCT/CN2018/122056
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 EP18894087.8A priority Critical patent/EP3734927A1/en
Publication of WO2019128800A1 publication Critical patent/WO2019128800A1/zh

Links

Images

Classifications

    • 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/80Responding to QoS
    • 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/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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]

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a method and an apparatus for implementing a content service, and a CDN (Content Delivery Network) node.
  • CDN Content Delivery Network
  • CDN As a transmission network, CDN deploys nodes at the edge of the network, and distributes audio, video, text, pictures and other content stored in the network to the edge nodes of the network. When users request content services, they directly at the edge of the network. The service is obtained on the CDN node to reduce the transmission bandwidth of the backbone network and improve the service response speed of the user.
  • CDN is widely used in IPTV network television, OTT (Over The Top, which refers to Internet companies crossing operators, developing various video and data service services based on open Internet).
  • OTT Over The Top, which refers to Internet companies crossing operators, developing various video and data service services based on open Internet).
  • the Internet telecom service system has been widely deployed around the world. With the continuous increase of fixed-line broadband speed, the rapid development of mobile broadband, and the popularity of 4K video technology, the number of CDN-stored content has increased rapidly.
  • CDN based on carrier-specific network IPTV users and Internet-based OTT video users.
  • the user's preference for video content is more and more different. For CDN, whether it is the popular content that most users order, or the unpopular content that a few users watch, when the user is watching the content.
  • the delay in obtaining CDN services should be as small as possible, and the system should be able to respond quickly to user services.
  • Embodiments of the present invention provide a method, an apparatus, and a CDN node for implementing a content service, so as to reduce a response delay of a media content service.
  • An embodiment of the present invention provides a method for implementing a content service, including:
  • An embodiment of the present invention further provides an apparatus for implementing a content service, including:
  • the first sending module is configured to send, to the upper entity, a first download request that requests to download the first partial fragment of the media content;
  • a first receiving module configured to receive a first partial fragment of the media content sent by the upper entity
  • a second receiving module configured to receive a second download request that the subordinate entity requests to download the first partial fragment of the media content
  • the second sending module is configured to send the first part of the media content to the subordinate entity.
  • An embodiment of the present invention further provides a content distribution network node, including:
  • a memory configured to store the processor executable instructions
  • a transmission device configured to perform information transceiving and communication according to control of the processor
  • processor configured to perform the following operations:
  • the first partial fragment of the media content before receiving the download request of the lower-level entity requesting to download the first partial fragment of the media content, the first partial fragment of the media content has been obtained from the upper-level entity, and the media content may be The first part of the fragment is directly returned to the lower level entity, thereby reducing the response delay of the media content service; in the video service application scenario, after the user terminal requests the service to start, the response delay to the first video picture is small.
  • the first part of the media content is saved locally, and since only a single piece of media content stores only M pieces on the CDN node, the storage space consumption of the CDN node for the single media content is reduced to all of the storage.
  • the M/N of the media content mode so that for the same storage capacity CDN node, more different media content can be stored, and at the same time, because the CDN node stores more different media content, the CDN hits the media service request of different users. The rate is even higher.
  • a system with multiple CDN nodes from the system level, compared with the way of storing all media content, more content can be hit, which is superior to the average access speed of users of CDN. The above manner of storing all media content.
  • the present application can obtain a better user media service delay in the case of consuming less storage.
  • FIG. 1 is a schematic diagram showing the composition of a CDN system according to an embodiment of the present invention.
  • FIG. 2 is a flowchart of a method for implementing a content service according to an embodiment of the present invention
  • FIG. 3 is a flow chart of the HLS media content distribution of the application example 1 of the present invention.
  • FIG. 4 is a flowchart of an iPad terminal requesting a media service according to an application example 1 of the present invention
  • FIG. 6 is a flowchart of a chrome browser requesting a media service according to an application example 2 of the present invention
  • FIG. 8 is a flowchart of an IE browser requesting a media service according to an application example 3 of the present invention
  • FIG. 10 is a flowchart of a chrome browser accessing a 4Mb code rate service of the fourth application example of the present invention.
  • FIG. 11 is a flowchart of accessing a 600K code rate service of an Android mobile phone according to an application example 4 of the present invention
  • FIG. 12 is a schematic structural diagram of an apparatus for implementing a content service according to an embodiment of the present invention.
  • FIG. 13 is a schematic diagram showing the composition of a CDN node according to an embodiment of the present invention.
  • CDN provides content services mainly in two ways:
  • the content is stored in the CDN central node, and the user terminal accesses the edge node of the CDN to request the service.
  • the source node relays the source to the CDN central node or the source station, and the edge node downloads the content in sequence.
  • the packet is then sent to the user terminal in turn.
  • the edge node does not need a large amount of storage, but the service from the user requesting the service to the first part of the data acquisition needs to wait for the edge node to return to the central node one or more times.
  • the user is watching.
  • the time delay of the first frame of the content of the content is large;
  • the CDN node sends a command to the CDN node, or the CDN node downloads the content from the content source station to the local device according to the cache policy.
  • the CDN node directly uses the locally cached content. The user provides the service; in this way, the CDN node needs to store the entire content.
  • this method requires a larger storage requirement for the edge node, and the number of edge nodes of the CDN network is generally larger, resulting in a CDN cost. High, unacceptable for CDN network operators.
  • a CDN system includes a content source station, one or more CDN nodes, and a user terminal, and optionally, a CDN management node and a CDN scheduling node.
  • the content source station has the storage capability of the media content and the ability to provide the media content download service to the CDN node, and is used to store the Internet content.
  • the stored media content format may be a video, a picture, a document, etc.; the media content is stored in the source station.
  • the storage method can be a complete file or multiple slice files after being sliced.
  • the content source station also provides a content download service to the CDN node.
  • the transport protocols supported by the external source include, but are not limited to, HLS (HTTP Live Streaming, HTTP (HyperText Transfer Protocol) streaming), DASH (Dynamic Adaptive Streaming over).
  • HTTP Dynamic HTTP streaming
  • MSS Microsoft Smooth Streaming
  • HDS HTTP Dynamic Streaming
  • HTTP Dynamic Streaming HTTP Dynamic Streaming
  • RTSP Real Time Stream Protocol
  • RTMP Real Time Messaging Protocol, RTMP
  • CDN node has the storage capability of media content, can download the first part of the content from the content source station or the superior CDN node, cache it, and then provide the media service of the media content to the user terminal, or provide download to the lower CDN node. service.
  • the CDN nodes are divided into CDN central nodes and CDN edge nodes according to the distribution location in the network. The CDN central node downloads content directly from the content source station, and the CDN edge node downloads content from the CDN central node.
  • the media content transmission protocol between the CDN node and the content source station, and the CDN multi-level node includes but is not limited to HLS, DASH, MSS, HDS, RTSP, RTMP, etc.; the CDN node may request media content points from the content source station or the superior node.
  • the slice list information, and according to the fragmentation information in the fragmentation list information, the first part of the fragmentation list information is downloaded in advance; the CDN node has the ability to persist the downloaded content fragment, in subsequent users.
  • the CDN node can read the first part of the media content in the cache, and return the fragmented content to the terminal.
  • the storage medium in the CDN node includes but is not limited to memory, SSD (Solid State Drives, SSD).
  • the media transmission protocol between the CDN node and the user terminal includes but is not limited to HLS, DASH, MSS, HDS, RTSP, RTMP, etc.
  • the CDN node can cache the user request service according to the media service request of the user terminal. The first part of the content is fragmented; the CDN node can accept the content distribution instruction of the CDN management node, according to the content distribution instruction in the media Information, to the source station or the upper node content downloaded media content and a remaining portion of the first slice slice; CDN CDN node can accept status collection node scheduling message, and their status reports to the scheduling node CDN.
  • User terminal distributed at the edge of the network, can initiate a CDN service request to the CDN node, establish a communication connection, and the user terminal device establishes an application layer protocol session with the CDN node, and interacts with the CDN node through the application layer protocol, and receives the CDN node to transmit back.
  • Media content data thereby obtaining Internet services such as content downloading, video playing, webpage acceleration, etc.
  • the media transmission protocol for the user terminal to interact with the CDN node includes but is not limited to HLS, DASH, MSS, HDS, RTSP, RTMP, etc.; After the CDN node obtains the first part of the media content by the above media transmission protocol, it can process and immediately convert into a media service.
  • the CDN management node may send a content distribution instruction to the CDN node, where the content distribution instruction carries the information of the content and the information of the content source station, so that the CDN node can download the first part of the fragment in advance from the content source station.
  • the CDN scheduling node supports the detection of the status of the CDN nodes at each level, collects the load of the CDN node, accepts the user terminal to send the media service redirection request, and returns the information of the CDN node to which the user terminal belongs to the user terminal according to the principle of proximity.
  • only the first part of the media content is distributed to the CDN node, and when the user terminal requests the service of the media content from the CDN node, the CDN node can quickly return the first part of the media content to the user terminal. , reducing the response delay of media content services.
  • a method for implementing a content service according to an embodiment of the present invention is applied to a CDN node, including:
  • Step 201 The first entity sends a first download request requesting to download the first part of the media content.
  • the upper entity may be: a content source station or a superior CDN node.
  • the media content may be audio and video media content, or may be a document media content, such as a PDF or a WORD document, which is not limited in the embodiment of the present invention.
  • the first partial fragment which may be referred to as a first fragment, refers to a minimum fragment file set of all media sessions required to ensure a continuous media service of media content, and in each fragmentation list of the media session, according to the fragmentation.
  • the order, the preceding fragment can be the first fragment, or the first few fragments, and can be determined according to the fragment list information returned by the content source station/or the upper entity. That is, the media content may be divided into N fragments, and the first partial fragment is the first of the N fragments, according to the first M fragments in the fragmentation order, where M and N are positive integers, and M is smaller than Equal to N.
  • the first portion of the media content contains the first partial slices of all media sessions, such as audio, video, and subtitles.
  • the first partial shard contains the first partial shard of all code rates for all sessions of the media content.
  • the playback duration of the first partial slice is as small as possible, so that on the one hand, the storage space required for the CDN node to slice the first part of the cache is smaller. The user terminal can be made to play a shorter response time.
  • Sending the first download request may employ, but is not limited to, an HTTP, RTSP, RTMP transmission protocol.
  • the download request of the single fragment may be sent to the upper entity in turn, and the plurality of fragments constituting the first partial fragment are sequentially requested to be downloaded.
  • Step 202 Receive a first partial fragment of the media content sent by the upper entity.
  • the transmission protocol used to receive the first partial fragment may include, but is not limited to, HTTP, RTSP, and RTMP.
  • the plurality of fragments that are sent by the upper entity and that form the first partial fragment may be separately received.
  • Step 203 Receive a second download request that the subordinate entity requests to download the first part of the media content.
  • the subordinate entity may be: a user terminal or a subordinate CDN node.
  • Media service forms for subordinate entities include, but are not limited to, video playback, file transfer, and the like.
  • Receiving the second download request may employ, but is not limited to, an HTTP, RTSP, RTMP transmission protocol.
  • the download request of the plurality of single fragments sent by the lower entity may be received to request to download a plurality of fragments that constitute the first partial fragment.
  • Step 204 Send a first part of the media content to the subordinate entity.
  • the transmission protocol used to send the first partial fragment may include, but is not limited to, HTTP, RTSP, and RTMP.
  • the plurality of fragments constituting the first partial fragment may be sequentially sent to the lower entity.
  • the first partial fragment of the media content before receiving the download request of the lower-level entity requesting to download the first partial fragment of the media content, the first partial fragment of the media content has been obtained from the upper-level entity, and the media content may be The first part of the fragment is directly returned to the lower level entity, thereby reducing the response delay of the media content service; in the video service application scenario, after the user terminal requests the service to start, the response delay to the first video picture is small.
  • the method before the step 201, the method further includes:
  • the request for obtaining the media content may also be referred to as a media content download request, and may be an instruction of the CDN node to receive the CDN management node, triggering the cache request, or may be a CDN node according to its own cache policy.
  • the cache request initiated actively.
  • the sending of the cache request may be by way of example but not limited to HTTP, RTSP, RTMP transport protocols.
  • the fragmentation list information of the media content includes at least information of the first partial fragment, such as identification information of the first partial fragment.
  • the format of the fragmentation list information of the media content may include, but is not limited to, the following formats: HLS, DASH, MSS, HDS.
  • the identifier information of the first part of the fragment of the media content is obtained according to the fragmentation list information, and the identifier information of the first partial fragment is carried in the first download request.
  • the method before the step 203, the method further includes:
  • the receiving the service request may be, but not limited to, an HTTP, an RTSP, or an RTMP transmission protocol.
  • the method further includes: saving the first partial fragment of the media content locally;
  • the sending the first part of the media content to the subordinate entity comprises: reading a first partial fragment of the locally saved media content, and sending the fragment to the subordinate entity.
  • the first part of the fragment may be saved by using a storage medium such as a memory, an SSD, or a magnetic array.
  • a storage medium such as a memory, an SSD, or a magnetic array.
  • the embodiment of the present invention is not limited. Among them, when SSD is used, it can support but is not limited to PCI-E (Peripheral Component Interconnect Express), NVMe (Non-Volatile Memory Express), and the like.
  • the CDN node can read the first part of the storage medium such as memory, SSD, and magnetic array to improve the response speed.
  • the first part of the media content is saved locally, and since the single media content only stores M fragments on the CDN node, the storage space consumption of the CDN node for the single media content is reduced to all of the storage.
  • the M/N of the media content mode so that for the same storage capacity CDN node, more different media content can be stored, and at the same time, because the CDN node stores more different media content, the CDN hits the media service request of different users. The rate is even higher.
  • a system with multiple CDN nodes from the system level, compared with the way of storing all media content, more content can be hit, which is superior to the average access speed of users of CDN. The above manner of storing all media content.
  • the method before the sending, by the upper-level entity, the download request for downloading the first partial fragment of the media content, the method further includes:
  • the number M of the first partial fragments of the media content is determined according to the selection strategy of the first partial fragment.
  • the selection strategy of the first part of the fragmentation may be: according to the length of the first part of the fragment playback, the size of the first part of the fragment, the type of the media content, the media content code rate, the local storage capacity of the CDN node, and the like.
  • One or more combinations select the number of first partial slices. For example, according to the length of time of the first part of the slice play, the length of the first part of the slice play is 2 minutes to 5 minutes, and if the play time of one slice is 2 seconds, the first part of the slice must contain at least the front 10 shards. If a shard is played for 3 minutes, the first shard can be the first shard.
  • the method further includes:
  • the remaining fragment is an NM of all N fragments of the media content except for the M first-part fragments Fragment
  • the receiving the third download request and sending the fourth download request may be, but not limited to, an HTTP, RTSP, or RTMP transmission protocol.
  • the CDN node After receiving the third download request, the CDN node acquires the remaining fragments of the media content from the upper-level entity, and sends the remaining fragments to the lower-level entity.
  • the third download request may be sent simultaneously or immediately after the second download request.
  • the terminal downloads the remaining fragments before the first part of the fragment has not been played, so the delay phenomenon does not occur when the remaining fragments are played, and the storage space of the CDN node is saved.
  • the third download request does not need to be sent, and the remaining fragments need not be downloaded.
  • first, second, third, and fourth of the first download request, the second download request, the third download request, and the fourth download request are only used to distinguish different download requests, and do not represent In order of sequence, in actual application, the third download request may be performed after the second download request or at the same time.
  • the CDN node sends a cache request of the media content to the content source station, where the request includes the identifier of the media content; in this step, the CDN node may be an instruction to receive the CDN management node, trigger a cache request of the media content, or may be a CDN node according to the CDN node. Its own caching strategy, the cache request of the media content initiated by the initiative;
  • the content source station identifies the media content in the cache request of the media content sent by the CDN node, and if the content is the already sliced content, acquires the slice list information of the media content, and returns the slice list information to the CDN node; If the content is not sliced, the media content is sliced in real time, the fragmentation list information of the media content is generated, and the fragmentation list information is returned to the CDN node; in this step, the content source station returns the media content returned by the CDN node.
  • the number of fragments is N;
  • the CDN node selects the first partial fragment according to the fragmentation list information of the media content returned by the content source station, and sequentially sends a download request of the single fragment to the content source station, where the download request of the single fragment includes the identifier of the fragment;
  • the number of fragments M of the media content downloaded by the CDN node to the content source station is smaller than the total number N of the media content fragments in the content source station;
  • the content source station receives the download request of each fragment sent by each CDN node, reads the content source station local storage according to the identifier of the fragment, obtains the media content data of the specified fragment, and returns the data to the CDN node;
  • the CDN node stores a plurality of fragments returned by the content source station in the CDN node.
  • the user terminal sends a service redirection request of the media to the CDN scheduling node;
  • the CDN scheduling node returns the CDN node information to which the user terminal belongs to the user terminal according to the principle of proximity;
  • the user terminal requests the media service process:
  • the user terminal initiates a service request for the media content to the CDN node, and requests the identifier of the media content to be carried;
  • the CDN node reads the information stored in the CDN node according to the identifier of the media content requested by the user terminal, and returns the fragmentation list information of the media content to the user terminal.
  • the number of fragments in the fragmentation list information is N, and the fragmentation list information includes The identity of each shard;
  • the user terminal After obtaining the media content fragmentation list information returned by the CDN node, the user terminal preferentially initiates a download request of the first M fragments in the fragmentation list to the CDN node, where each request includes the identifier of the fragment;
  • the CDN node receives the single fragment download request initiated by the user terminal, and reads the storage of the CDN node according to the identifier of the fragment for the first M fragments, and directly returns the content of the fragment to the user terminal;
  • the user terminal In the process of acquiring the first M fragments, the user terminal processes the first M fragments and converts them into a media service. For the video service, after receiving the first fragment, the media content of the first fragment is about to be obtained.
  • the data is forwarded to the video decoding module; the video decoding module of the user terminal is converted into a video picture, played, and starts the media service.
  • the service request processing of the terminal for the remaining fragments of the media content may include:
  • the user terminal initiates a download request of the remaining fragments to the CDN node, and the number of fragments requested to be downloaded does not exceed N-M, each request includes an identifier of the fragment, and waits for the CDN node to return a result;
  • the CDN node After receiving the download request of the remaining fragment initiated by the user terminal, the CDN node sends the download request of the same fragment identifier to the content source station by using the identifier of the fragment in the request sent by the user;
  • the content source station reads the local storage of the content source station according to the fragment identifier in the download request of the remaining fragment sent by the CDN node, and returns the remaining fragment to the CDN node;
  • the remaining fragments are returned to the user terminal;
  • the user terminal receives the remaining fragments, performs processing, and continues to convert to a media service.
  • the cache request of all the above media contents, the fragmentation list information received and sent, the download request of the remaining fragments, the remaining fragments sent to the subordinate entities, and the like are generally the same protocol, such as RTSP/HTTP/RTMP.
  • RTSP/HTTP/RTMP One.
  • the CDN node by improving the content distribution and service providing method of the CDN network, at the time of content distribution, the CDN node requests the fragment list from the content source station or the superior node, and then according to the order of the fragments in the fragment list, only Distributing the first part of the media content to the CDN node, so that the CDN node can store a large number of first part fragments of different content only by consuming less storage; when the user terminal requests the content service from the CDN node, the CDN node directly The local first part fragment is read, and then immediately returned to the user terminal, and the user terminal receives the data of the CDN node returning the first part of the fragment, and starts the content service. Since the first part of the different content stored by the CDN node has a large number of fragments, the CDN node can provide a fast response service to more content as a whole.
  • the CDN can be deployed in a three-level networking, that is, including a central node, an area node, and an edge node, and even more layers.
  • the embodiment of the present invention is also applicable to various levels and different networking.
  • the CDN node can be used alone at each level of the CDN node, or can be used simultaneously or in a nested manner on multiple levels of CDN nodes. These scenarios are variations of the present application and fall within the scope of protection of the present application.
  • different levels of CDN nodes can independently set the number of first partial fragments according to their own first part fragmentation selection strategy, that is, the first part of the same media content on different levels of CDN nodes.
  • the number of slices can vary.
  • the embodiments of the present invention can be applied to various application scenarios, and can be applied to CDN nodes adopting OTT streaming media technology, including HLS, DASH, MSS, HDS, etc., and can also be applied to CDN of IPTV RTSP streaming media technology.
  • Node at the node location, it can be applied to CDN nodes such as CDN central node and CDN edge node; in the first part fragmentation, it can be applied to the case of single-track session and multi-track session, and can also be applied to support adaptive, etc.
  • the first part of the shard contains scenes with multiple files.
  • Application example 1 shows an example of single-track session video playback in which HLS audio and video are combined.
  • the system of the application example includes a CDN management node, an HLS content source station, a CDN node, and a user terminal iPad.
  • the CDN node directly interacts with the content source station using the HLS protocol, and the CDN node provides the HLS video playback media service to the terminal.
  • the content source station pre-generates the media fragment list information file hlscid.m3u8 of the media content hlscid, and the file includes the hlscid fragment list information of the media content.
  • the contents of hlscid.m3u8 are as follows:
  • Step 301 The CDN management node issues a content distribution message to the CDN node, where the message carries the identifier hlscid of the media content.
  • Step 302 the CDN node initiates an HTTP download request (ie, a cache request) of the media content hlscid to the content source station, and the URL in the request message carries the media content identifier hlscid;
  • HTTP download request ie, a cache request
  • Step 303 the content source station returns an HTTP download response to the CDN node, and the response message includes a media fragment list information file hlscid.m3u8 of the hlscid content;
  • Step 304 The CDN node first saves the media fragmentation list information file hlscid.m3u8 to the storage medium of the CDN node, and reads the media fragmentation list information file hlscid.m3u8 to obtain the fragmentation information, according to the selection strategy of the first partial fragmentation. Select the first 3 fragments as the first part of the fragment (referred to as the first fragment), where the fragment identifiers are hlscid-01.ts, hlscid-02.ts, hlscid-03.ts, and send HTTP downloads to the content source station in turn.
  • the request message includes the identifier hlscid-01.ts of the first slice, the identifier hlscid-02.ts of the second slice, and the identifier hlscid of the third slice. 03.ts;
  • Step 305 the content source station returns an HTTP download response to the CDN node, respectively, the first fragment hlscid-01.ts, the second fragment hlscid-02.ts, and the third fragment hlscid-03.ts media file Return to the CDN node;
  • Step 306 the CDN node saves the content of the first three fragments of the media content hlscid-01.ts ⁇ hlscid-03.ts on the storage medium in the CDN node;
  • Step 401 The user terminal sends an HTTP play request of the media content hlscid to the CDN node, and the request URL carries the media content identifier hlscid;
  • Step 402 The CDN node reads the fragment list information file stored in the CDN node according to the media content identifier hlscid requested by the user terminal, and returns the fragment list information file hlscid.m3u8 of the media content in step 304 to the user terminal.
  • Step 403 The user terminal reads the media content fragmentation list information file hlscid.m3u8 returned by the CDN node, and obtains the identifier of the fragment.
  • the user terminal may first select the first fragment to download, or may simultaneously request to download the first three points. You can also download all the shards at the same time. Taking the first three slices as an example, the user terminal obtains the identifier hlscid-01.ts of the first fragment, the identifier hlscid-02.ts of the second fragment, and the identifier hlscid of the third fragment. 03.ts, respectively send a download request, the download request includes the first three fragments of the identification hlscid-01.ts ⁇ hlscid-03.ts;
  • Step 404 The CDN node receives the download request of the first partial fragment initiated by the user terminal, and reads the storage of the CDN node according to the identifier of the fragment hlscid-01.ts ⁇ hlscid-03.ts, and the fragment file hlscid-01. The content of ts ⁇ hlscid-03.ts is returned to the user terminal;
  • Step 405 After obtaining the content of the first fragment hlscid-01.ts returned by the CDN node, the user terminal transfers the data of the first fragment to the video decoding module, and can perform decoding and quickly convert into a video picture. , the media service begins; and, after receiving the second shard hlscid-01.ts returned by the CDN node and the content of the third shard hlscid-03.ts, the second shard and the third shard The data of the slice is transferred to the video decoding module and quickly converted into a video picture;
  • the user terminal can initiate the remaining 12 slice download requests each time in parallel and independently. For each slice, the following four steps are used:
  • Step 406 The user terminal sequentially initiates a download request of the remaining fragments to the CDN node, where each request includes an identifier of the corresponding fragment (ie, hlscid-04 to hlscid-15), and waits for the CDN node to return a result;
  • Step 407 After receiving the remaining fragment download request initiated by the user terminal, the CDN node sends a download request of the same fragment identifier to the content source station, where the request carries the identifier of the fragment (ie, hlscid-04 to hlscid-15);
  • Step 408 The content source station reads the local storage of the content source station according to the fragment identifier (ie, hlscid-04 to hlscid-15) in the remaining fragment download request sent by the CDN node, and returns the remaining fragment to the CDN node. ;
  • the fragment identifier ie, hlscid-04 to hlscid-15
  • Step 409 after obtaining the remaining fragment content, the CDN node returns hlscid-02 to hlscid-15 to the user terminal, and the user terminal forwards the fragment data to the video decoding module of the user terminal;
  • Step 410 After receiving the data of the remaining fragments, the video decoding module of the user terminal receives the remaining fragments, performs decoding, and continues to convert into a video screen display.
  • the second slice can be downloaded, and the second slice can be played continuously. In this cycle, the entire media can be realized. Continuous playback of content.
  • the system of the application example includes a CDN management node, a DASH content source station, a CDN service node, and a user terminal Chrome browser.
  • the CDN node directly interacts with the content source station using the DASH protocol, and the CDN node provides HTTP+DASH to the terminal.
  • the rest of the cycle has a duration of 10 seconds.
  • Each cycle contains 2 media files, a video file named dashvideo-xx.mp4 (xx takes values from 01 to 10), and an audio file named dashaudio-xx.
  • Mp4 (xx takes the value of 01 to 10).
  • the first part of the fragment refers to dashvideo-01.mp4 and dashaudio-01.mp4; the content source station pre-generates the media fragment list information file of the media content dascid.
  • Dashcid.mpd the file information of 10 cycles of fragmentation in the file, a total of 20 files of information, the contents are as follows:
  • Step 501 The CDN management node issues a content distribution message to the CDN node, where the message carries the identifier dashcid of the media content.
  • Step 502 the CDN node sends an HTTP download request of the media content dascid to the content source station, and the URL (Uniform Resource Locator) in the request message carries the media content identifier dascid;
  • Step 503 the content source station returns an HTTP download response to the CDN node, and the response message includes a media fragment list information file dashcid.mpd of the dashcid content;
  • Step 504 The CDN node first saves the media fragment list information file dascicd.mpd, reads the media fragment list information file dascicd.mpd, parses the mpd file to obtain the first period fragment, and includes two files dashvideo-01.mp4 and Dashaudio-01.mp4, 2 download tasks are opened in parallel, one execution steps 505-507 are used to download the video first slice, and one execution step 508-510 is used to download the audio first slice, and the two download tasks are not in the order ;
  • Step 505 sending an HTTP download request to the content source station, the request message contains the video file identifier dashvideo-01.mp4 of the first fragment;
  • Step 506 The content source station returns an HTTP download response to the CDN node, and returns the first fragmented dashvideo-01.mp4 media file to the CDN node.
  • Step 507 the CDN node saves the content of the video file frequency dashvideo-01.mp4 of the first fragment of the media content on a storage medium in the CDN node;
  • Step 508 sending an HTTP download request to the content source station, the request message contains the audio file identifier dashaudio-01.mp4 of the first fragment;
  • Step 509 The content source station returns an HTTP download response to the CDN node, and returns the first fragmented audio file dashaudio-01.mp4 media file to the CDN node;
  • Step 510 The CDN node saves the content of the audio file dashaudio-01.mp4 of the first fragment of the media content on a storage medium in the CDN node;
  • the user requests the process of media first fragmentation:
  • Step 601 the user terminal sends an HTTP play request of the media content dascid to the CDN node, and the request URL carries the media content identifier dascid;
  • Step 602 The CDN node reads the dashcid according to the media content identifier requested by the user terminal, reads the storage in the CDN node, and returns the fragment list information file dashcid.mpd of the media content in step 504 to the user terminal.
  • Step 603 The user terminal reads the media content fragmentation list information file dashcid.mpd returned by the CDN node, obtains the video file identifier dashvideo-01.mp4 of the first fragment, and the audio file identifier dashaudio-01.mp4, and then starts 2 tasks, one execution steps 604-606, one execution steps 607-609, two tasks can be executed in parallel, no order;
  • Step 604 the user terminal initiates an HTTP download request to the CDN node, requesting the video file identifier dashvideo-01.mp4 of the first fragment of the middle packet;
  • Step 605 The CDN node receives the download request of the first fragment video file initiated by the user terminal, and reads the storage of the CDN node according to the identifier of the fragment video file dashvideo-01.mp4, and directly outputs the fragment file dashvideo-01.
  • the content of mp4 is returned to the user terminal;
  • Step 606 after acquiring the content of the first fragment video file dashvideo-01.mp4 returned by the CDN, the user terminal transfers the data of the first fragment to the video decoding module, and the decoding module starts decoding, and the video is decoded.
  • the signal is output to the terminal screen, and the terminal screen starts to play the screen;
  • Step 607 the user terminal initiates an HTTP download request to the CDN node, requesting the audio file identifier dashaudio-01.mp4 of the first fragment of the packet;
  • Step 608 The CDN node receives the download request of the first fragmented audio file initiated by the user terminal, and reads the storage of the CDN node according to the identifier of the fragmented audio file dashaudio-01.mp4, and directly outputs the fragment file dashaudio-01.
  • the content of mp4 is returned to the user terminal;
  • Step 609 after acquiring the content of the first fragment dashaudio-01.mp4 returned by the CDN, the user terminal transfers the audio data of the first fragment to the audio decoding module, and the decoding module starts decoding and quickly converts into a sound. , the terminal speaker starts to pronounce;
  • the user terminal can open two independent download tasks in parallel, and one task downloads the remaining nine video fragment files in sequence, each video fragment is implemented by steps 610-613; another task is sequentially downloaded according to the order of the audio files.
  • each audio shard file download is implemented using steps 614-617:
  • Step 610 The user terminal sequentially initiates a download request of the remaining fragments to the CDN node, where each request includes the identifier dashvideo-yy.mp4 of the corresponding fragmented video file (yy takes values 02 to 10), and waits for the CDN node to return a result;
  • Step 611 After receiving the remaining fragment video file download request initiated by the user terminal, the CDN node sends a download request of the same fragment video file to the content source station, and the request carries the fragmented dashvideo-yy.mp4 (yy value 02) ⁇ 10);
  • Step 612 The content source station reads the local storage of the content source station according to the fragment identifier dashvideo-yy.mp4 (yy takes values 02 to 10) in the remaining fragment video file download request sent by the CDN node, and the remaining points are read.
  • the slice is returned to the CDN node;
  • Step 613 After obtaining the content of the remaining fragmented video file, the CDN node returns the remaining fragment to the user terminal, and the user terminal forwards the remaining fragmented video file data to the video decoding module of the user terminal.
  • Step 614 The user terminal sequentially sends a download request of the remaining fragments to the CDN node, where each request includes the identifier of the corresponding fragmented audio file dashaudio-yy.mp4 (yy takes values 02 to 10), and waits for the CDN node to return a result;
  • Step 615 After receiving the remaining fragment audio file download request initiated by the user terminal, the CDN node sends a download request of the same fragmented audio file to the content source station, and the request carries the fragmented dashaudio-yy.mp4 (yy value 02) ⁇ 10);
  • Step 616 The content source station reads the local storage of the content source station according to the fragment identifier dashaudio-yy.mp4 (yy takes values 02 to 10) in the remaining fragmented audio file download request sent by the CDN node, and the remaining points are read.
  • the slice is returned to the CDN node;
  • Step 617 after obtaining the content of the remaining sliced audio file, the CDN node returns the remaining slice to the user terminal, and the user terminal transfers the remaining sliced audio file data to the audio decoding module of the user terminal;
  • the video decoding module of the user terminal continues to be decoded by the video data of the remaining fragments, and is converted into a video picture to be displayed on the screen; the audio decoding module of the user terminal continues to receive the audio data of the remaining fragments.
  • the system of this application example includes a CDN management node, an IIS (Internet Information Services)/Smooth Streaming Server content source station, a CDN service node, and an IE browser (installing the Silverlight plug-in).
  • the CDN node directly interacts with the content source station using the MSS protocol, and the CDN node provides the MSS video playback media service to the terminal.
  • Msscid.smil the file contains the msscid fragment list information of the media content, and its content is:
  • Step 701 The CDN management node issues a content distribution message to the CDN node, where the message carries the identifier msscid of the media content.
  • Step 702 The CDN node sends an HTTP download request of the media content msscid to the content source station, where the URL in the request message carries the media content identifier msscid;
  • Step 703 the content source station returns an HTTP download response to the CDN node, and the response message includes a media fragment list information file msscid.smil of the msscid content;
  • Step 704 The CDN node first saves the media fragment list information file msscid.smil to the storage medium of the CDN node, reads the media fragment list information file msscid.smil, obtains the fragmentation information, and according to the selection strategy of the first partial fragmentation, The first five fragments are selected as the first partial fragment, wherein the fragment identifiers are respectively msscid-01.ismv ⁇ msscid-05.ismv, and an HTTP download request is sequentially sent to the content source station, and the request message includes the fragment identifier msscid- 01.ismv ⁇ msscid-05.ismv;
  • Step 705 The content source station returns an HTTP download response to the CDN node, and returns the fragmented msscid-01.ismv ⁇ msscid-05.ismv media file to the CDN node respectively.
  • Step 706 The CDN node saves the content of the first part of the media content, msscid-01.ismv ⁇ msscid-05.ismv, on the storage medium in the CDN node.
  • the IE browser requests the first part of the media content to be fragmented:
  • Step 801 the IE browser sends an HTTP play request of the media content msscid to the CDN node, and the request URL carries the media content identifier msscid;
  • Step 802 The CDN node reads the msscid of the media content identifier requested by the IE browser, reads the storage in the CDN node, and returns the fragment list information file msscid.smil of the media content in step 704 to the IE browser.
  • Step 803 The IE browser reads the media content fragmentation list information file msscid.smil returned by the CDN node, obtains the identifier of the fragment, and the user terminal may first select the first fragment to download, or may simultaneously request the first five downloads. Fragmentation, or all shards can be downloaded at the same time. Taking all the shards at the same time as an example, first obtain the identifier of the first shard, msscid-01.ismv, and request the identifier of the first shard of the packet, msscid-01.ismv;
  • Step 804 The CDN node receives the first fragment download request initiated by the IE browser, reads the storage of the CDN node according to the identifier of the fragment msscid-01, and directly returns the content of the fragment file msscid-01.ismv to the IE. Browser
  • Step 805 after obtaining the content of the first fragment msscid-01.ismv returned by the CDN, the IE browser forwards the data of the first fragment to the video decoding module, and can perform decoding and quickly convert into a video picture. , media services begin;
  • IE browser starts multiple parallel download tasks, and according to each time, the remaining 49 shard download requests are initiated, and the top shard files are preferentially downloaded, for example, two download tasks are opened, and one download task downloads msscid-jj.ismv in turn.
  • Jj takes values 01, 03, 05, 07, 09
  • downloads msscid-kk.ismv (kk takes values 02, 04, 06, 08, 10) for a download task.
  • the download task uses the following 4 steps to download a single shard file:
  • Step 806 The IE browser sequentially initiates a download request of the second to the 50th fragments to the CDN node, where each request includes the identifier of the corresponding fragment (ie, msscid-02 to msscid-50), and waits for the CDN node to return a result;
  • Step 807 After receiving the 2nd to 50th fragment download request initiated by the IE browser, the CDN node obtains the 2nd to 5th fragments from the CDN and sends the content to the user terminal. The 6th to 50th fragments send the download to the content source station. Request, the identifier of the fragment carrying the fragment (ie msscid-06 to msscid-50);
  • Step 808 The content source station reads the local storage of the content source station according to the fragment identifier (ie, msscid-06 to msscid-50) in the 6th to 50th fragment download request sent by the CDN node, and returns the remaining fragment.
  • the fragment identifier ie, msscid-06 to msscid-50
  • Step 809 After obtaining the remaining fragment content, the CDN node returns the remaining fragment to the IE browser, and the IE browser forwards the remaining fragment data to the video decoding module of the IE browser.
  • the video decoding module of the IE browser continues to receive the data of the remaining fragments, receives the remaining fragments, performs decoding, and continues to convert into a video screen display; as long as the next fragment is played before a fragment is played.
  • the file can be downloaded in advance, and continuous playback can be realized;
  • Example 4 is applied to support HDS, audio and video sessions are unified, and there are multiple bit rates, how to implement access in multiple terminals, and different terminals use different bit rate scenarios (multiple bit rates are also applicable to DASH and HLS) for explanation.
  • the system of this application example includes a CDN management node, an Adobe/FLV (FlashVideo) Server content source station, a CDN service node, and a chrome browser (with the flash plugin installed).
  • Chrome1 has a high network access bandwidth of 10M, an android phone, access through 4G network, with a smaller bandwidth.
  • the CDN node directly interacts with the content source station using the HTTP/HDS protocol, and the CDN node provides an HTTP/FLV video playback media service to the two terminals.
  • the media content identifier is hdscid, which is pre-segmented in the content source station. 10 cycles, each cycle contains 2 video files with 4Mb and 600Kb video files.
  • the 4M code rate fragments are identified by hdscid-4000-xx.flv (xx is 01 to 10), 600K code rate.
  • the fragment identifier hdscid-600-xx.flv the content source station pre-generates the media fragment list information file hdscid.mainefest.xml of the media content hdscid, and the file contains the media content hdscid fragment list information, and the content thereof:
  • Step 901 the CDN management node issues a content distribution message to the CDN node, where the message carries the identifier hdscid of the media content;
  • Step 902 The CDN node sends an HTTP download request of the media content hdscid to the content source station, where the URL in the request message carries the media content identifier hdscid;
  • Step 903 The content source station returns an HTTP download response to the CDN node, where the response message includes a media fragment list information file hdscid.manifest.xml of the hdscid content, and the content format is 4-hdscid.mainefest.xml;
  • Step 904 The CDN node first saves the media fragment list information file hdscid.manifest.xml to the storage medium of the CDN node, and reads the media fragment list information file hdscid.manifest.xml to obtain the first fragmentation period of the terminal.
  • Step 905 Send an HTTP download request to the content source station, where the request message includes a video file identifier hdscid-4000-01.flv of the first fragment of the 4Mb code rate;
  • Step 906 The content source station returns an HTTP download response to the CDN node, and returns a first partial fragment hdscid-4000-01.mp4 media file of the 4Mb code rate of the first fragmentation period of the 4Mb code rate to the CDN node;
  • Step 907 The CDN node saves the content of the first fragmented video frequency file hdscid-4000-01.flv of the 4Mb code rate of the media content on a storage medium in the CDN node;
  • Step 908 Send an HTTP download request to the content source station, where the request message includes a file identifier hdscid-600-01.flv of the first fragment of the 600K code rate;
  • Step 909 the content source station returns an HTTP download response to the CDN node, and returns the media file of the first fragmented audio file hdscid-600-01.flv of the 600K code rate to the CDN node;
  • Step 910 The CDN node saves the content of the first fragment of the hdscid-600-01.flv of the media content 600K code rate on the storage medium in the CDN node;
  • the chrome browser requests a 4Mb code rate media service:
  • Step 1001 the chrome browser sends an HTTP play request of the media content hdscid to the CDN node, and the request URL carries the media content identifier hdscid;
  • Step 1002 The CDN node reads the hdscid of the media content identifier requested by the chrome browser, reads the storage in the CDN node, and returns the fragment list information file hdscid.manifest.xml of the media content in step 904 to the chrome browser.
  • Step 1003 The chrome browser reads the media content fragmentation list information file hdscid.manifest.xml returned by the CDN node, and selects the first fragment of the 4Mb code rate hdscid-4000-01.flv according to its own bandwidth, and requests the package.
  • Step 1004 The CDN node receives the first fragment download request initiated by the chrome browser, and reads the storage of the CDN node according to the identifier hdscid-4000-01 of the fragment, and directly directly shards the file hdscid-4000-01.flv The content is returned to the chrome browser;
  • Step 1005 After obtaining the content of the first fragment hdscid-4000-01.flv returned by the CDN, the chrome browser transfers the data of the first fragment to the video decoding module, and can perform decoding and quickly convert into Video screen, media service begins;
  • the chrome browser can open multiple parallel download tasks, and each time the remaining 9 shard download requests are initiated, the top shard files are preferentially downloaded, for example, 2 download tasks are opened, and one download task is downloaded hdscid-4000-jj. .flv (jj value 01, 03, 05, 07, 09), download a task hdscid-4000-kk.flv (kk takes values 02, 04, 06, 08, 10).
  • the download task uses the following 4 steps to download a single shard file:
  • Step 1006 The chrome browser sequentially sends a download request for the remaining fragments to the CDN node, where each request includes the identifier of the corresponding fragment (ie, hdscid-4000-02.flv to hdscid-4000-10.flv), and waits for the CDN.
  • the node returns the result;
  • Step 1007 After receiving the remaining fragment download request initiated by the chrome browser, the CDN node sends a download request of the same fragment identifier to the content source station, where the request carries the identifier of the fragment (ie, hdscid-4000-02.flv to hdscid -4000-10.flv);
  • Step 1008 The content source station reads the local storage of the content source station according to the fragment identifier (ie, hdscid-4000-02.flv to hdscid-4000-10.flv) in the remaining fragment download request sent by the CDN node, and Return subsequent fragments to the CDN node;
  • the fragment identifier ie, hdscid-4000-02.flv to hdscid-4000-10.flv
  • Step 1009 After the CDN node obtains the remaining fragment content, the remaining fragment is returned to the chrome browser, and the chrome browser transfers the remaining fragment data to the video decoding module of the chrome browser to implement continuous video playback.
  • the Android phone requests a 600K code rate media service process:
  • Step 1101 the Android mobile phone sends an HTTP play request of the media content hdscid to the CDN node, and the request URL carries the media content identifier hdscid;
  • Step 1102 The CDN node reads the media content identifier hdscid requested by the Android mobile phone, reads the storage in the CDN node, and returns the fragment list information file hdscid.manifest.xml of the media content in step 904 to the Android mobile phone.
  • Step 1103 The Android mobile phone reads the media content fragmentation list information file hdscid.manifest.xml returned by the CDN node, and selects the first fragment of the 600K code rate hdscid-600-01.flv according to its own bandwidth, and requests the first packet.
  • Step 1104 The CDN node receives the first fragment download request initiated by the Android mobile phone, and reads the storage of the CDN node according to the identifier hdscid-600-01 of the fragment, and directly directly displays the content of the fragment file hdscid-600-01.flv. Return to the Android phone;
  • Step 1105 after the Android mobile phone obtains the content of the first fragment hdscid-600-01.flv returned by the CDN, the data of the first fragment is forwarded to the video decoding module, which can be decoded and quickly converted into a video. Screen, media service begins;
  • the Android mobile phone can open multiple parallel download tasks, and according to each other, the remaining 9 shard download requests are initiated, and the top shard files are preferentially downloaded, for example, 2 download tasks are opened, and one download task is downloaded hdscid-600-jj. Flv (jj value 01, 03, 05, 07, 09), a download task download hdscid-600-kk.flv (kk values 02, 04, 06, 08, 10).
  • the download task uses the following 4 steps to download a single shard file:
  • Step 1106 The Android mobile phone sequentially initiates a download request for the remaining fragments to the CDN node, and each request includes an identifier of the corresponding fragment (ie, hdscid-600-02.flv to hdscid-600-10.flv), and waits for the CDN node. Return the result;
  • Step 1107 After receiving the remaining fragment download request initiated by the Android mobile phone, the CDN node sends a download request of the same fragment identifier to the content source station, where the request carries the identifier of the fragment (ie, hdscid-600-02.flv to hdscid- 600-10.flv);
  • Step 1108 The content source station reads the local storage of the content source station according to the fragment identifier (ie, hdscid-600-02.flv to hdscid-600-10.flv) in the remaining fragment download request sent by the CDN node, and Return subsequent fragments to the CDN node;
  • the fragment identifier ie, hdscid-600-02.flv to hdscid-600-10.flv
  • Step 1109 After obtaining the remaining fragment content, the CDN node returns the remaining fragment to the Android mobile phone, and the Android mobile phone transfers the remaining fragment data to the video decoding module of the Android mobile phone to implement continuous video playback.
  • the embodiment of the present invention further provides an apparatus for implementing a content service, which is used to implement the foregoing embodiments and implementation manners, and has not been described again.
  • the term "module” may implement a combination of software and/or hardware of a predetermined function.
  • the devices described in the following embodiments may be implemented in software, hardware, or a combination of software and hardware, is also possible and contemplated.
  • the content service implementation apparatus includes:
  • the first sending module 1201 is configured to send, to the upper entity, a first download request that requests to download the first partial fragment of the media content;
  • the first receiving module 1202 is configured to receive a first partial fragment of the media content sent by the upper entity
  • the second receiving module 1203 is configured to receive a second download request that the subordinate entity requests to download the first partial fragment of the media content.
  • the second sending module 1204 is configured to send the first part of the media content to the subordinate entity.
  • the first partial fragment of the media content before receiving the download request of the lower-level entity requesting to download the first partial fragment of the media content, the first partial fragment of the media content has been obtained from the upper-level entity, and the media content may be The first part of the fragment is directly returned to the lower level entity, thereby reducing the response delay of the media content service; in the video service application scenario, after the user terminal requests the service to start, the response delay to the first video picture is small.
  • the method further includes:
  • a third sending module configured to send, to the upper-level entity, a cache request for acquiring the media content, where the cache request carries the identifier information of the media content;
  • a third receiving module configured to receive fragmentation list information of the media content sent by the upper entity.
  • the first sending module 1201 is further configured to acquire, according to the fragmentation list information, identifier information of a first partial fragment of the media content, where the first download request carries the first Partially fragmented identification information.
  • the method further includes:
  • a fourth receiving module configured to receive a service request that the subordinate entity requests to obtain the media content, where the service request carries the identifier information of the media content;
  • a fourth sending module configured to send the fragment list information of the media content to the subordinate entity.
  • the method further includes:
  • a storage module configured to save a first partial fragment of the media content
  • the first receiving module is further configured to save the first part of the media content into the storage module;
  • the second sending module is configured to read a first partial fragment of the media content saved by the storage module, and send the fragment to the subordinate entity.
  • the first part of the media content is saved locally, and since the single media content only stores M fragments on the CDN node, the storage space consumption of the CDN node for the single media content is reduced to all of the storage.
  • the M/N of the media content mode so that for the same storage capacity CDN node, more different media content can be stored, and at the same time, because the CDN node stores more different media content, the CDN hits the media service request of different users. The rate is even higher.
  • a system with multiple CDN nodes from the system level, compared with the way of storing all media content, more content can be hit, which is superior to the average access speed of users of CDN. The above manner of storing all media content.
  • the first partial fragmentation of the media content refers to a minimum fragment file set of all media sessions required to ensure a continuous media service of the media content, which is all N fragments of the media content.
  • M and N are positive integers and M is less than or equal to N.
  • the device further includes:
  • the determining module is configured to determine the number M of the first partial fragments of the media content according to the selection strategy of the first partial fragment.
  • the method further includes:
  • a fifth receiving module configured to receive a third download request that the lower entity requests to download the remaining fragments of the media content; the remaining fragment is the M of the N pieces of the media content NM fragments outside part of the fragment;
  • a fifth sending module configured to send, to the upper entity, a fourth download request requesting to download remaining fragments of the media content
  • a sixth receiving module configured to receive a remaining fragment of the media content sent by the upper entity
  • a sixth sending module configured to send the remaining fragments of the media content to the subordinate entity.
  • the present application can obtain a better user media service delay in the case of consuming less storage.
  • an embodiment of the present invention further provides a CDN node, including:
  • the processor 1301 The processor 1301;
  • a memory 1302 configured to store the processor executable instructions
  • a transmission device 1303 configured to perform information transceiving communication according to control of the processor
  • processor configured to perform the following operations:
  • the processor is further configured to perform the following operations:
  • the upper-level entity Before sending, by the upper-level entity, the first download request for downloading the first partial fragment of the media content, the upper-level entity sends a cache request for acquiring the media content, where the cache request carries the identifier information of the media content;
  • the processor is further configured to perform the following operations:
  • the processor is further configured to perform the following operations:
  • the first download request carries the identification information of the first partial fragment.
  • the processor is further configured to perform the following operations:
  • the processor is further configured to perform the following operations:
  • the sending the first part of the media content to the subordinate entity comprises: reading a first partial fragment of the locally saved media content, and sending the fragment to the subordinate entity.
  • the processor is further configured to perform the following operations:
  • the first portion of the media content is sliced in a local memory, SSD or magnetic array.
  • the first partial fragmentation of the media content refers to a minimum fragment file set of all media sessions required to ensure a continuous media service of the media content, which is all N fragments of the media content.
  • M and N are positive integers and M is less than or equal to N.
  • the processor is further configured to perform the following operations:
  • the number M of the first partial fragments of the media content is determined according to the selection strategy of the first partial slice.
  • the processor is further configured to perform the following operations:
  • the remaining fragment is an NM of all N fragments of the media content except for the M first-part fragments Fragment; wherein, M, N are positive integers, M is less than or equal to N;
  • the embodiment of the present invention further provides a computer readable storage medium storing computer executable instructions for performing the steps in the method for implementing the content service according to any of the above.
  • the foregoing storage medium may include, but not limited to, a U disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • mobile hard disk a magnetic disk
  • magnetic disk a magnetic disk
  • optical disk a variety of media that can store program code.
  • modules or steps of the embodiments of the present invention can be implemented by a general-purpose computing device, which can be centralized on a single computing device or distributed over a network of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein.
  • the steps shown or described are performed either separately as an integrated circuit module, or a plurality of modules or steps thereof are fabricated as a single integrated circuit module.
  • embodiments of the invention are not limited to any specific combination of hardware and software.
  • a method, an apparatus, and a content distribution network node for implementing a content service provided by an embodiment of the present invention have the following beneficial effects: in the case of consuming less storage, a better user media service delay is obtained, and the media content is more The more the number of user terminals, the greater the benefit of using this application.

Abstract

本发明实施例公开了一种内容服务的实现方法、装置及内容分发网络节点,其中,所述方法包括:向上级实体发送请求下载媒体内容的首部分分片的第一下载请求;接收所述上级实体发送的所述媒体内容的首部分分片;接收下级实体请求下载所述媒体内容的首部分分片的第二下载请求;将所述媒体内容的首部分分片发送至所述下级实体。在本发明实施例中,在接收下级实体请求下载所述媒体内容的首部分分片的下载请求之前,已经从上级实体获取了所述媒体内容的首部分分片,可以将所述媒体内容的首部分分片直接返回给所述下级实体,从而降低了媒体内容服务的响应延迟;在视频业务应用场景中,用户终端请求服务开始后,到首次视频画面的响应延迟较小。

Description

一种内容服务的实现方法、装置及内容分发网络节点 技术领域
本发明涉及通信技术领域,尤指一种内容服务的实现方法、装置及CDN(Content Delivery Network,内容分发网络)节点。
背景技术
CDN作为一种传输网络,在网络的边缘部署节点,将存储在网络中的音视频、文字、图片等内容,分发到网络的边缘节点上,用户在请求内容服务的时候,直接在网络边缘的CDN节点上获取服务,以降低骨干网络的传输带宽,同时提升用户的服务响应速度。目前CDN被广泛应用于IPTV网络电视、OTT(Over The Top,指互联网公司越过运营商,发展基于开放互联网的各种视频及数据服务业务)互联网电信业务系统,已经在世界各地广泛部署。随着固网宽带速率不断提升、移动宽带迅猛发展、4K视频技术的普及,导致CDN存储的内容数快速的增长,同时基于运营商专有的网络IPTV用户,以及基于互联网的OTT视频用户也越来越多,这对CDN的设备和技术都提出了更多更高的要求:一方面,CDN存储的内容数增加,以及单个内容的码率越来越大需要消耗大量存储,CDN的成本越来越高;另一方面,用户对视频内容的喜好差异性越来越大,对于CDN来说,不管是大部分用户点播的热门内容,还是少数用户观看的冷门内容,用户在观看内容的时候,获取CDN服务的延迟要尽可能小,系统要能够快速响应用户服务。
发明内容
本发明实施例提供了一种内容服务的实现方法、装置及CDN节点,以降低媒体内容服务的响应延迟。
本发明实施例提供了一种内容服务的实现方法,包括:
向上级实体发送请求下载媒体内容的首部分分片的第一下载请求;
接收所述上级实体发送的所述媒体内容的首部分分片;
接收下级实体请求下载所述媒体内容的首部分分片的第二下载请求;
将所述媒体内容的首部分分片发送至所述下级实体。
本发明实施例还提供了一种内容服务的实现装置,包括:
第一发送模块,设置为向上级实体发送请求下载媒体内容的首部分分片的第一下载请求;
第一接收模块,设置为接收所述上级实体发送的所述媒体内容的首部分分片;
第二接收模块,设置为接收下级实体请求下载所述媒体内容的首部分分片的第二下载请求;
第二发送模块,设置为将所述媒体内容的首部分分片发送至所述下级实体。
本发明实施例还提供了一种内容分发网络节点,包括:
处理器;
设置为存储所述处理器可执行指令的存储器;
设置为根据所述处理器的控制进行信息收发通信的传输装置;
其中,所述处理器设置为执行以下操作:
向上级实体发送请求下载媒体内容的首部分分片的第一下载请求;
接收所述上级实体发送的所述媒体内容的首部分分片;
接收下级实体请求下载所述媒体内容的首部分分片的第二下载请求;
将所述媒体内容的首部分分片发送至所述下级实体。
在本发明实施例中,在接收下级实体请求下载所述媒体内容的首部分分片的下载请求之前,已经从上级实体获取了所述媒体内容的首部分分片,可以将所述媒体内容的首部分分片直接返回给所述下级实体,从而降低了媒体内容服务的响应延迟;在视频业务应用场景中,用户终端请求服务开 始后,到首次视频画面的响应延迟较小。
在一实施方式中,将所述媒体内容的首部分分片保存在本地,由于单个媒体内容在CDN节点上只存储了M个分片,CDN节点对单个媒体内容的存储空间消耗降低到存储全部媒体内容方式的M/N,因此对于同样存储容量的CDN节点,可以存储更多的不同媒体内容,同时,由于CDN节点存储的不同媒体内容数更多,CDN对不同用户的媒体服务请求的命中率就更高,在有多个CDN节点的系统中,从系统层面,与存储全部媒体内容的方式相比,能够对更多的内容进行命中,从CDN的用户平均访问速度来看,优于上述存储全部媒体内容的方式。
综上所述,在CDN系统中,本申请可以在消耗较小的存储的情况,获得较好好的用户媒体服务延迟,媒体内容越多,用户终端数越多,采用本申请的收益越大。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是本发明实施例的CDN系统的组成示意图;
图2是本发明实施例的内容服务的实现方法的流程图;
图3是本发明应用示例一的HLS媒体内容分发的流程图;
图4是本发明应用示例一的iPad终端请求媒体服务的流程图;
图5是本发明应用示例二的DASH媒体内容分发的流程图;
图6是本发明应用示例二的chrome浏览器请求媒体服务的流程图;
图7是本发明应用示例三的MSS媒体内容分发的流程图;
图8是本发明应用示例三的IE浏览器请求媒体服务的流程图;
图9是本发明应用示例四的HDS内容分发的流程图;
图10是本发明应用示例四的chrome浏览器访问4Mb码率服务的流程图;
图11是本发明应用示例四的Android手机访问600K码率服务的流程图;
图12是本发明实施例的内容服务的实现装置的组成示意图;
图13是本发明实施例的CDN节点的组成示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
相关技术中,CDN提供内容服务主要分成2种方式:
方式一,内容存储在CDN中心节点,用户终端接入到CDN的边缘节点上请求服务,边缘节点没有内容的时候,向CDN中心节点或者源站回源中继,边缘节点按照顺序下载组成内容的数据包,然后依次将数据包发送给用户终端。这种方式边缘节点不需要大量存储,但是从用户请求服务开始,到获取内容的第一部分数据的服务,需要等待边缘节点到中心节点的一次或者多次回源,对于视频内容来说,就是用户观看内容的第一帧视频画面的时延较大;
方式二,通过CDN管理节点,给CDN节点发指令,或者是CDN节点根据缓存策略,CDN节点提前将内容从内容源站下载到本地,用户请 求服务的时候,CDN节点直接使用本地缓存的内容给用户提供服务;这种方式,需要CDN节点存储整个内容,随着内容数的爆炸增长,这种方式对于边缘节点的存储要求比较大,加上CDN网络边缘节点数一般较多,导致CDN成本较高,对于CDN网络运营商来说不可接受。
如图1所示,本发明实施例的CDN系统,包含内容源站、一个或者多个CDN节点、用户终端,可选地,还包含CDN管理节点、CDN调度节点。
其中,内容源站:具备媒体内容的存储能力以及对CDN节点提供媒体内容下载服务的能力,用来存储互联网内容,存储的媒体内容格式可以是视频、图片、文档等;媒体内容存储在源站上的存储方式,可以是完整的文件,也可以是经过切片之后的多个分片文件。内容源站同时具备向CDN节点提供内容下载服务,对外支持的传输协议包括但不限于HLS(HTTP Live Streaming,HTTP(HyperText Transfer Protocol,超文本传输协议)流媒体直播)、DASH(Dynamic Adaptive Streaming over HTTP,动态自适应HTTP流)、MSS(Microsoft Smooth Streaming,微软平滑流)、HDS(HTTP Dynamic Streaming,HTTP动态流)、RTSP(Real Time Stream Protocol,实时流协议)、RTMP(Real Time Messaging Protocol,实时消息传输协议)等,在CDN节点请求向内容源站下载内容的时候,内容源站可以提供内容的分片的下载。
CDN节点:具备媒体内容的存储能力,能够从内容源站或者上级CDN节点中下载内容的首部分分片,缓存起来,然后对用户终端提供媒体内容的媒体服务,或者是给下级CDN节点提供下载服务。在实际应用中,CDN节点按照在网络中的分布位置,分成CDN中心节点以及CDN边缘节点,CDN中心节点直接从内容源站下载内容,CDN边缘节点则是从CDN中心节点下载内容。CDN节点与内容源站、以及CDN多级节点之间的媒体内容传输协议包括但不限于HLS、DASH、MSS、HDS、RTSP、RTMP等;CDN节点可以向内容源站或者上级节点请求媒体内容分片列表信息,并且根据分片列表信息中的分片信息,提前按照下载分片列表信息中首部 分分片;CDN节点具有对于下载到的内容分片的具有持久保存的能力,在后续的用户终端请求服务的时候,CDN节点可以读取缓存中的媒体内容首部分分片,并且将分片内容返回给终端,CDN节点内的存储介质包含但不限于内存、SSD(Solid State Drives,固态硬盘)以及磁阵等等;CDN节点与用户终端之间的媒体传输协议包括但不限于HLS、DASH、MSS、HDS、RTSP、RTMP等;CDN节点可以根据用户终端的媒体服务请求,缓存用户请求服务内容的首部分分片;CDN节点可以接受CDN管理节点的内容分发指令,根据内容分发指令中的媒体内容的信息,到内容源站或者上级节点中下载媒体内容的首部分分片以及剩余分片;CDN节点可以接受CDN调度节点的状态采集消息,并且把自己的状态上报给CDN调度节点。
用户终端:分散在网络边缘,可以发起到CDN节点的CDN服务请求,建立通信连接,用户终端设备与CDN节点建立应用层协议会话,并且通过应用层协议与CDN节点进行交互,接收CDN节点传输回来的媒体内容数据,从而获得内容下载、视频播放、网页加速等互联网服务,用户终端与CDN节点交互的媒体传输协议包括但不限于HLS、DASH、MSS、HDS、RTSP、RTMP等;用户终端支持从CDN节点通过上述媒体传输协议获取媒体内容的首部分分片后,就能够进行处理,立即转换成媒体服务。
CDN管理节点:可以向CDN节点发送内容分发指令,内容分发指令中携带内容的信息、内容源站的信息,以便让CDN节点能够从内容源站上,提前下载首部分分片。
CDN调度节点:支持检测各级CDN节点的状态,收集CDN节点的负载,接受用户终端发送媒体服务重定向请求,并且根据就近原则,将用户终端归属的CDN节点的信息,返回给用户终端。
在本发明实施例中,只将媒体内容的首部分分片分发到CDN节点,在用户终端向CDN节点请求媒体内容的服务时,CDN节点可以快速将媒体内容的首部分分片返回给用户终端,降低了媒体内容服务的响应延迟。
如图2所示,本发明实施例的内容服务的实现方法,应用于CDN节点,包括:
步骤201,向上级实体发送请求下载媒体内容的首部分分片的第一下载请求;
其中,所述上级实体可以是:内容源站或上级CDN节点。
所述媒体内容可以是音视频媒体内容,也可以是文档媒体内容,例如PDF、WORD文档,本发明实施例不予限定。
所述首部分分片,可以简称为首分片,是指构成媒体内容的保证连续媒体服务所需的所有媒体会话的最小分片文件集合,在每个媒体会话的分片列表中,按照分片顺序,排在前面的分片,可以是第一个分片,也可以是前几个分片,可以根据内容源站/或者上级实体返回的分片列表信息确定。也就是说,所述媒体内容可以划分为N个分片,首部分分片为所述N个分片中,按照分片顺序前M个分片,其中,M、N为正整数,M小于等于N。
在视频播放领域,对于由多个音频、视频、字幕等等会话的构成的媒体内容,则媒体内容的首部分分片包含了音频、视频、字幕等所有媒体会话的首部分分片。对于有多码率的媒体内容,则首部分分片则包含媒体内容所有的会话的所有码率的首部分分片。在一实施方式中,在将媒体内容划分成分片文件时,首部分分片的播放时长尽可能小,这样一方面可以使得CDN节点在缓存首部分分片所需的存储空间更小,一方面可以使得用户终端播放响应时间更短。
发送所述第一下载请求可以采用但不限于HTTP、RTSP、RTMP传输协议。
其中,若所述首部分分片为多个分片,则可以依次向上级实体发送单个分片的下载请求,依次请求下载组成所述首部分分片的多个分片。
步骤202,接收所述上级实体发送的所述媒体内容的首部分分片;
其中,接收所述首部分分片所采用的传输协议可以包括但不限于HTTP、RTSP、RTMP。
其中,若所述首部分分片为多个分片,则可以分别接收所述上级实体发送的组成所述首部分分片的多个分片。
步骤203,接收下级实体请求下载所述媒体内容的首部分分片的第二下载请求;
其中,所述下级实体可以是:用户终端或下级CDN节点。
对下级实体的媒体服务形式包含但不限于视频播放、文件传输等。
接收所述第二下载请求可以采用但不限于HTTP、RTSP、RTMP传输协议。
其中,若所述首部分分片为多个分片,则可以接收所述下级实体发送的多个单个分片的下载请求,以请求下载组成所述首部分分片的多个分片。
步骤204,将所述媒体内容的首部分分片发送至所述下级实体。
其中,发送所述首部分分片所采用的传输协议可以包括但不限于HTTP、RTSP、RTMP。
其中,若所述首部分分片为多个分片,则可以依次将组成所述首部分分片的多个分片分别发送至所述下级实体。
在本发明实施例中,在接收下级实体请求下载所述媒体内容的首部分分片的下载请求之前,已经从上级实体获取了所述媒体内容的首部分分片,可以将所述媒体内容的首部分分片直接返回给所述下级实体,从而降低了媒体内容服务的响应延迟;在视频业务应用场景中,用户终端请求服务开始后,到首次视频画面的响应延迟较小。
在一实施方式中,所述步骤201之前,还包括:
向上级实体发送请求获取所述媒体内容的缓存请求,所述缓存请求携带所述媒体内容的标识信息;
接收所述上级实体发送的所述媒体内容的分片列表信息。
其中,所述请求获取所述媒体内容的缓存请求也可以称为媒体内容下载请求,可以是CDN节点接收CDN管理节点的指令,触发所述缓存请求,也可以是CDN节点根据自身的缓存策略,主动发起的所述缓存请求。
发送所述缓存请求可以采用但不限于HTTP、RTSP、RTMP传输协议。
其中,所述媒体内容的分片列表信息至少包含首部分分片的信息,例如首部分分片的标识信息。
其中,所述媒体内容的分片列表信息的格式可以包括但不限于如下格式:HLS、DASH、MSS、HDS。
其中,可以根据所述分片列表信息获取所述媒体内容的首部分分片的标识信息,在所述第一下载请求中携带所述首部分分片的标识信息。
在一实施方式中,所述步骤203之前,还包括:
接收所述下级实体请求获取所述媒体内容的服务请求,所述服务请求中携带所述媒体内容的标识信息;
向所述下级实体发送所述媒体内容的分片列表信息。
其中,接收所述服务请求可以采用但不限于HTTP、RTSP、RTMP传输协议。
在一实施方式中,所述接收所述上级实体发送的所述媒体内容的首部分分片之后,所述方法还包括:将所述媒体内容的首部分分片保存在本地;
所述将所述媒体内容的首部分分片发送至所述下级实体,包括:读取本地保存的所述媒体内容的首部分分片,发送至所述下级实体。
其中,CDN节点内部可以使用内存、SSD、磁阵等存储介质保存所述首部分分片,本发明实施例不予限定。其中,采用SSD时,其可以支持但不限于PCI-E(Peripheral Component Interconnect Express,外设部件互连标准)、NVMe(Non-Volatile Memory Express,非易失性存储器标准)等。CDN节点内部可以读取内存、SSD、磁阵等存储介质中的首部分分片,以提升响应速度。
本发明实施例中,将所述媒体内容的首部分分片保存在本地,由于单个媒体内容在CDN节点上只存储了M个分片,CDN节点对单个媒体内容的存储空间消耗降低到存储全部媒体内容方式的M/N,因此对于同样存储容量的CDN节点,可以存储更多的不同媒体内容,同时,由于CDN节点存储的不同媒体内容数更多,CDN对不同用户的媒体服务请求的命中率就更高,在有多个CDN节点的系统中,从系统层面,与存储全部媒体内容的方式相比,能够对更多的内容进行命中,从CDN的用户平均访问速度来看,优于上述存储全部媒体内容的方式。
在一实施方式中,所述向上级实体发送请求下载媒体内容的首部分分片的下载请求之前,还包括:
按照首部分分片的选择策略,确定所述媒体内容的首部分分片的个数M。
其中,所述首部分分片的选择策略可以是:按照首部分分片播放的时间长度、首部分分片的大小、媒体内容的类型、媒体内容码率、CDN节点本地的存储容量等因素中的一种或多种组合选择首部分分片的个数。例如,按照首部分分片播放的时间长度进行选择,设置首部分分片播放的时间长度在2分钟~5分钟,如果一个分片的播放时长为2秒,则首部分分片至少要包含前10个分片,如果一个分片的播放时长为3分钟,则首部分分片可以为第一个分片。
在一实施方式中,所述方法还包括:
接收所述下级实体请求下载所述媒体内容的剩余分片的第三下载请求;所述剩余分片为所述媒体内容全部N个分片中除M个所述首部分分片之外的N-M个分片;
向所述上级实体发送请求下载媒体内容的剩余分片的第四下载请求;
接收所述上级实体发送的所述媒体内容的剩余分片;
将所述媒体内容的剩余分片发送至所述下级实体。
其中,接收所述第三下载请求和发送所述第四下载请求可以采用但不 限于HTTP、RTSP、RTMP传输协议。
CDN节点接收到所述第三下载请求后,从上级实体获取所述媒体内容的剩余分片,发送给下级实体,由于所述第三下载请求可以在第二下载请求同时或紧接着发送,用户终端在首部分分片还未播放完成之前,即下载了剩余分片,所以在播放所述剩余分片时也不会出现延迟现象,而且节省了CDN节点存储空间。
在另外一些实施例中,可能用户终端下载并播放首部分分片后,并不打算继续播放剩余分片,则无需发送上述第三下载请求,以及无需下载剩余分片。
需要说明的是,上述第一下载请求、第二下载请求、第三下载请求、第四下载请求中的第一、第二、第三、第四仅是为了区分不同的下载请求,并不代表先后顺序,在实际应用时,第三下载请求可以在第二下载请求之后或是同时进行。
下面以媒体内容分发过程、用户终端服务调度过程、用户终端请求媒体服务过程为例,对本发明实施例的实现过程进行描述:
媒体内容分发过程:
CDN节点向内容源站发送媒体内容的缓存请求,请求中包括媒体内容的标识;在该步骤中,CDN节点可以是接收CDN管理节点的指令,触发媒体内容的缓存请求,也可以是CDN节点根据自身的缓存策略,主动发起的媒体内容的缓存请求;
内容源站根据CDN节点发送的媒体内容的缓存请求中的媒体内容标识,如果内容是已经切片过的内容,则获取媒体内容的分片列表信息,并且将分片列表信息返回给CDN节点;如果是未经过切片过的内容,则实时对媒体内容进行切片,生成媒体内容的分片列表信息,并且将分片列表信息返回给CDN节点;本步骤中内容源站给CDN节点返回的媒体内容的分片列表信息中,分片的个数为N;
CDN节点根据内容源站返回的媒体内容的分片列表信息,选择首部分分片,并且依次向内容源站发送单个分片的下载请求,单个分片的下载请求中包含分片的标识;该步骤中,CDN节点向内容源站下载的媒体内容的分片数量M,小于内容源站中该媒体内容分片的总数N;
内容源站接收到每个CDN节点发送的每个分片的下载请求,根据分片的标识读取内容源站本地存储,获得指定的分片的媒体内容数据,并返回给CDN节点;
CDN节点将内容源站返回的多个分片,存储在所述CDN节点内。
用户终端服务调度过程:
用户终端向CDN调度节点发送媒体的服务重定向请求;
CDN调度节点根据就近原则,将用户终端归属的CDN节点信息返回给用户终端;
用户终端请求媒体服务过程:
用户终端向CDN节点发起媒体内容的服务请求,请求携带媒体内容的标识;
CDN节点根据用户终端请求的媒体内容的标识,读取CDN节点内存储,将媒体内容的分片列表信息,返回给用户终端,分片列表信息中分片个数为N,分片列表信息包含每个分片的标识;
用户终端获取CDN节点返回的媒体内容分片列表信息后,优先向CDN节点发起分片列表中前M个分片的下载请求,每个请求中包含分片的标识;
CDN节点收到用户终端发起的单个分片下载请求,对于前M个分片,根据分片的标识读取CDN节点的存储,直接将分片的内容返回给用户终端;
用户终端在获取前M个分片的过程中,对前M个分片进行处理,转换成媒体服务,对于视频类的服务,收到第一个分片后,即将第一分片的媒体内容数据转交给视频解码模块;用户终端的视频解码模块,转换成视频画面,进行播放,开始媒体服务。
终端对媒体内容剩余分片的服务请求处理可以包括:
用户终端向CDN节点发起剩余分片的下载请求,请求下载的分片数不超过N-M,每个请求包含分片的标识,并且等待CDN节点返回结果;
CDN节点收到用户终端发起的剩余分片的下载请求后,则使用用户发送的请求中分片的标识,向内容源站发送相同分片标识的下载请求;
内容源站根据CDN节点发送的剩余分片的下载请求中的分片标识,读取内容源站的本地存储,并且将所述剩余分片返回给CDN节点;
CDN节点获得剩余分片后,将剩余分片返回给用户终端;
用户终端接收剩余分片,进行处理,继续转换成媒体服务。
上述所有的媒体内容的缓存请求、接收和发送的分片列表信息、剩余分片的下载请求、发送给下级实体的剩余分片等等,通常都采用相同的协议,例如RTSP/HTTP/RTMP中一种。
在本发明实施例中,通过改进CDN网络的内容分发和服务提供方法,在内容分发时,CDN节点向内容源站或者上级节点请求分片列表,然后按照分片列表中分片的顺序,只将媒体内容的首部分分片分发到CDN节点,以便CDN节点只需要消耗较少的存储,就能够存储大量不同内容的首部分分片;用户终端向CDN节点请求内容的服务时,CDN节点直接读取本地的首部分分片,然后立即返回给用户终端,用户终端收到CDN节点返回首部分分片的数据,开始内容服务。由于CDN节点存储的不同内容的首部分分片数较多,在整体上CDN节点能够对更多的内容提供响应速度很快的服务。
需要说明的是,在实际应用中,CDN可以部署成三级组网,即包括中心节点、区域节点和边缘节点,甚至更多层级,本发明实施例同样适用于各种层级以及不同组网的CDN节点,可以在CDN的各级节点上单独使用,也可以在多级的CDN节点同时或者是嵌套使用,这些场景都是本申请的变形,都属于本申请的保护范围。例如,不同的级别的CDN节点,可以根据自身的首部分分片的选择策略,独立设置首部分分片的个数,也就是说,在不同级别的CDN节点上,同一媒体内容的首部分分片的个数可以不同。
本发明实施例可以有各种应用场景,在传输协议上,可以应用于采用OTT流媒体技术的CDN节点,包括HLS、DASH、MSS、HDS等,也可以应用于IPTV的RTSP流媒体技术的CDN节点;在节点位置上,可以应用于CDN中心节点、CDN边缘节点等各级CDN节点;在首部分分片方面,可以应用于单轨会话、多轨会话的情况,也可以应用于支持自适应等首部分分片包含多个文件的场景。
下面以应用示例进行说明。
应用示例一,以HLS音视频合一的单轨会话视频播放为例进行说明
本应用示例的系统中包含一个CDN管理节点,一个HLS内容源站,一个CDN节点,一个用户终端iPad,CDN节点直接与内容源站使用HLS协议交互,CDN节点对终端提供HLS视频播放媒体服务,在内容源站中,媒体内容标识为hlscid,在内容源站中被预先切分成15个TS分片,即N=15,15个分片的标识为hlscid-xx.ts(xx取值01到15),内容源站预先生成好媒体内容hlscid的媒体分片列表信息文件hlscid.m3u8,文件中包含媒体内容hlscid分片列表信息,在本应用示例中,hlscid.m3u8的内容如下:
#EXTM3U
#EXT-X-TARGETDURATION:8
#EXT-X-MEDIA-SEQUENCE:92595
#EXTINF:8,
hlscid-01.ts
#EXTINF:8,
hlscid-02.ts
......(出于篇幅考虑,此处省略hiscid-03.ts到hiscid-14.ts)
#EXTINF:8,
hlscid-15.ts
说明:出于篇幅考虑,本应用示例只列举了关键字段,详细格式请参考HLS规范。
如图3所示,媒体内容分发过程:
步骤301,CDN管理节点给CDN节点发布内容分发消息,消息中携带媒体内容的标识hlscid;
步骤302,CDN节点向内容源站发起媒体内容hlscid的HTTP下载请求(即缓存请求),请求消息中URL携带媒体内容标识hlscid;
步骤303,内容源站给CDN节点返回HTTP下载响应,响应消息包含hlscid内容的媒体分片列表信息文件hlscid.m3u8;
步骤304,CDN节点首先保存媒体分片列表信息文件hlscid.m3u8到CDN节点的存储介质上,读取媒体分片列表信息文件hlscid.m3u8,获得分片信息,根据首部分分片的选择策略,选择前3个分片作为首部分分片(简称为首分片),其中分片标识分别为hlscid-01.ts、hlscid-02.ts、hlscid-03.ts,向内容源站依次发送HTTP下载请求(即首分片下载请求),请求消息中依次包含第一个分片的标识hlscid-01.ts、第二个分片的标识hlscid-02.ts、第三个分片的标识hlscid-03.ts;
步骤305,内容源站给CDN节点返回HTTP下载响应,分别将第一个分片hlscid-01.ts、第二个分片hlscid-02.ts和第三个分片hlscid-03.ts媒体文件返回给CDN节点;
步骤306,CDN节点将媒体内容的前三个分片hlscid-01.ts~hlscid-03.ts的内容保存在CDN节点内的存储介质上;
如图4所示,用户终端请求媒体内容的首部分分片的过程:
步骤401,用户终端向CDN节点发送媒体内容hlscid的HTTP播放请求,请求URL中携带媒体内容标识hlscid;
步骤402,CDN节点根据用户终端请求的媒体内容标识hlscid,读取CDN节点内存储的分片列表信息文件,将步骤304中保存媒体内容的分片列表信息文件hlscid.m3u8,返回给用户终端;
步骤403,用户终端读取CDN节点返回的媒体内容分片列表信息文件hlscid.m3u8,获得分片的标识,用户终端可以先选择第一个分片进行下载,也可以同时请求下载前三个分片,也可以所有分片同时下载。以同时请求下载前三个分片为例,用户终端获得第一个分片的标识hlscid-01.ts、第二个分片的标识hlscid-02.ts、第三个分片的标识hlscid-03.ts,分别发送下载请求,下载请求中分别包括前三个分片的标识hlscid-01.ts~hlscid-03.ts;
步骤404,CDN节点收到用户终端发起的首部分分片的下载请求,根据分片的标识hlscid-01.ts~hlscid-03.ts读取CDN节点的存储,将分片文件hlscid-01.ts~hlscid-03.ts的内容返回给用户终端;
步骤405,用户终端在获取收到CDN节点返回的第一个分片hlscid-01.ts的内容后,即将第一个分片的数据转交给视频解码模块,可进行解码,快速转换成视频画面,媒体服务开始;以及,在收到CDN节点返回的第二个分片hlscid-01.ts和第三个分片hlscid-03.ts的内容后,即将第二个分片和第三个分片的数据转交给视频解码模块,快速转换成视频画面;
用户终端可以并行且独立地每次发起剩余12个分片下载请求,对于每个分片,采用以下4个步骤:
步骤406,用户终端依次向CDN节点发起剩余分片的下载请求,每个请求包含对应的分片的标识(即hlscid-04到hlscid-15),并且等待CDN 节点返回结果;
步骤407,CDN节点收到用户终端发起的剩余分片下载请求后,向内容源站发送相同分片标识的下载请求,请求中携带分片的标识(即hlscid-04到hlscid-15);
步骤408,内容源站根据CDN节点发送的剩余分片下载请求中的分片标识(即hlscid-04到hlscid-15),读取内容源站的本地存储,并且将剩余分片返回给CDN节点;
步骤409,CDN节点获得剩余分片内容后,将hlscid-02到hlscid-15返回给用户终端,用户终端将分片数据转交给用户终端的视频解码模块;
步骤410,用户终端的视频解码模块,持续收到剩余分片的数据后,接收剩余分片,进行解码,继续转换成视频画面展示。
只要从视频画面展示开始,到第一个分片的hlscid-01.ts的视频播放结束前,第二个分片能够下载完,可以实现第二分片连续播放,如此循环,可以实现整个媒体内容的连续播放。
应用示例二,以DASH音视频分离的媒体播放为例进行说明
本应用示例的系统中包含一个CDN管理节点,一个DASH内容源站,一个CDN服务节点,一个用户终端Chrome浏览器,CDN节点直接与内容源站使用DASH协议交互,CDN节点对终端提供HTTP+DASH媒体播放服务,在内容源站中,媒体内容为双轨,媒体内容的标识为dashcid,在内容源站中被预先切分成10个周期分片,即N=10,第一个周期时长5秒,其余周期每个周期时长为10S,每个周期包含2个媒体文件,一个视频文件,文件命名为dashvideo-xx.mp4(xx取值01到10),一个音频文件,文件命名为dashaudio-xx.mp4(xx取值01到10),本实施例中,首部分分片指的是dashvideo-01.mp4以及dashaudio-01.mp4;内容源站预先生成好媒体内容dashcid的媒体分片列表信息文件dashcid.mpd,文件中10个周期分片的文件信息,一共20个文件的信息,其内容如下:
Figure PCTCN2018122056-appb-000001
Figure PCTCN2018122056-appb-000002
说明:出于篇幅考虑,本应用示例只列举了关键字段,详细格式请参考DASH规范。
如图5所示,媒体内容分发过程:
步骤501,CDN管理节点给CDN节点发布内容分发消息,消息中携带媒体内容的标识dashcid;
步骤502,CDN节点向内容源站发起媒体内容dashcid的HTTP下载请求,请求消息中URL(Uniform Resource Locator,统一资源定位符)携带媒体内容标识dashcid;
步骤503,内容源站给CDN节点返回HTTP下载响应,响应消息包含dashcid内容的媒体分片列表信息文件dashcid.mpd;
步骤504,CDN节点首先保存媒体分片列表信息文件dashcid.mpd,读取媒体分片列表信息文件dashcid.mpd,解析mpd文件获得第一个Period分片的包含2个文件dashvideo-01.mp4和dashaudio-01.mp4,并行开启2个下载任务,一个执行步骤505~507,用于下载视频首分片,一个执行步骤508~510,用于下载音频首分片,2个下载任务没有先后顺序;
步骤505,向内容源站发送HTTP下载请求,请求消息中包含第一个分片的视频文件标识dashvideo-01.mp4;
步骤506,内容源站给CDN节点返回HTTP下载响应,将第一个分片dashvideo-01.mp4媒体文件返回给CDN节点;
步骤507,CDN节点将媒体内容的第一个分片的视频频文件dashvideo-01.mp4的内容保存在CDN节点内的存储介质上;
步骤508,向内容源站发送HTTP下载请求,请求消息中包含第一个分片的音频文件标识dashaudio-01.mp4;
步骤509,内容源站给CDN节点返回HTTP下载响应,将第一个分片的音频文件dashaudio-01.mp4媒体文件返回给CDN节点;
步骤510,CDN节点将媒体内容的第一个分片的音频文件dashaudio-01.mp4的内容保存在CDN节点内的存储介质上;
如图6所示,用户请求媒体首分片的过程:
步骤601,用户终端向CDN节点发送媒体内容dashcid的HTTP播放请求,请求URL中携带媒体内容标识dashcid;
步骤602,CDN节点根据用户终端请求的媒体内容标识dashcid,读取CDN节点内存储,将步骤504中保存媒体内容的分片列表信息文件dashcid.mpd,返回给用户终端;
步骤603,用户终端读取CDN节点返回的媒体内容分片列表信息文件dashcid.mpd,获得第一个分片的视频文件标识dashvideo-01.mp4,以及音频文件标识dashaudio-01.mp4,则开启2个任务,一个执行步骤604~606, 一个执行步骤607~609,两个任务可以并行执行,没有先后顺序;
步骤604,用户终端向CDN节点发起HTTP下载请求,请求中包第一个分片的视频文件标识dashvideo-01.mp4;
步骤605,CDN节点收到用户终端发起的第一个分片视频文件的下载请求,根据分片视频文件的标识dashvideo-01.mp4读取CDN节点的存储,直接将分片文件dashvideo-01.mp4的内容返回给用户终端;
步骤606,用户终端在获取收到CDN返回的第一个分片视频文件dashvideo-01.mp4的内容后,即将第一个分片的数据转交给视频解码模块,解码模块开始解码,并将视频信号输出到终端屏幕,终端屏幕开始播放画面;
步骤607,用户终端向CDN节点发起HTTP下载请求,请求中包第一个分片的音频文件标识dashaudio-01.mp4;
步骤608,CDN节点收到用户终端发起的第一个分片音频文件的下载请求,根据分片音频文件的标识dashaudio-01.mp4读取CDN节点的存储,直接将分片文件dashaudio-01.mp4的内容返回给用户终端;
步骤609,用户终端在获取收到CDN返回的第一个分片dashaudio-01.mp4的内容后,即将第一个分片的音频数据转交给音频解码模块,解码模块开始解码,快速转换成声音,终端扬声器开始发音;
用户终端可以并行开启2个独立的下载任务,一个任务按照先后顺序依次下载剩余9个视频分片文件,每个视频分片使用步骤610~613实现;另一个任务按照音频文件的先后顺序依次下载音频分片,每个音频分片文件下载使用步骤614~617实现:
步骤610,用户终端依次向CDN节点发起剩余分片的下载请求,每个请求包含对应的分片视频文件的标识dashvideo-yy.mp4(yy取值02~10),并且等待CDN节点返回结果;
步骤611,CDN节点收到用户终端发起的剩余分片视频文件下载请求后,向内容源站发送相同分片视频文件的下载请求,请求中携带分片的 dashvideo-yy.mp4(yy取值02~10);
步骤612,内容源站根据CDN节点发送的剩余分片视频文件下载请求中的分片标识dashvideo-yy.mp4(yy取值02~10),读取内容源站的本地存储,并且将剩余分片返回给CDN节点;
步骤613,CDN节点获得剩余分片视频文件内容后,将剩余分片返回给用户终端,用户终端将剩余分片视频文件数据转交给用户终端的视频解码模块;
步骤614,用户终端依次向CDN节点发起剩余分片的下载请求,每个请求包含对应的分片音频文件的标识dashaudio-yy.mp4(yy取值02~10),并且等待CDN节点返回结果;
步骤615,CDN节点收到用户终端发起的剩余分片音频文件下载请求后,向内容源站发送相同分片音频文件的下载请求,请求中携带分片的dashaudio-yy.mp4(yy取值02~10);
步骤616,内容源站根据CDN节点发送的剩余分片音频文件下载请求中的分片标识dashaudio-yy.mp4(yy取值02~10),读取内容源站的本地存储,并且将剩余分片返回给CDN节点;
步骤617,CDN节点获得剩余分片音频文件内容后,将剩余分片返回给用户终端,用户终端将剩余分片音频文件数据转交给用户终端的音频解码模块;
本应用示例中,用户终端的视频解码模块,持续受到剩余分片的视频数据后,持续解码,转换成视频画面在屏幕上展示;用户终端的音频解码模块,持续受到剩余分片的音频数据后,持续解码,转换声音输出;只要在一个周期的分片播放结束之前,下一个周期的分片对应的视频文件和音频文件能够提前下载完,则可实现音视频连续播放。
应用示例三:以支持MSS的媒体播放为例进行说明
本应用示例的系统中包含一个CDN管理节点,一个IIS(Internet Information Services,互联网信息服务)/Smooth Streaming Server(平滑流服务器)内容源站,一个CDN服务节点,一个IE浏览器(安装Silverlight插件),CDN节点直接与内容源站使用MSS协议交互,CDN节点对终端提供MSS视频播放媒体服务,在内容源站中,媒体内容标识为msscid,在内容源站中被预先切分成50个TS(Transport Stream,传输流)分片,即N=50,50个分片的标识为msscid-xx.ismv(xx取值01到50),内容源站预先生成好媒体内容msscid的媒体分片列表信息文件msscid.smil,文件中包含媒体内容msscid分片列表信息,其内容为:
Figure PCTCN2018122056-appb-000003
Figure PCTCN2018122056-appb-000004
说明:出于篇幅考虑,本实施例只列举了关键字段,详细格式请参考MSS规范。
如图7所示,媒体内容分发过程:
步骤701,CDN管理节点给CDN节点发布内容分发消息,消息中携带媒体内容的标识msscid;
步骤702,CDN节点向内容源站发起媒体内容msscid的HTTP下载请求,请求消息中URL携带媒体内容标识msscid;
步骤703,内容源站给CDN节点返回HTTP下载响应,响应消息包含msscid内容的媒体分片列表信息文件msscid.smil;
步骤704,CDN节点首先保存媒体分片列表信息文件msscid.smil到CDN节点的存储介质上,读取媒体分片列表信息文件msscid.smil,获得分片信息,根据首部分分片的选择策略,选择前五个分片作为首部分分片,其中分片标识分别为msscid-01.ismv~msscid-05.ismv,向内容源站依次发送HTTP下载请求,请求消息中依次包含分片标识msscid-01.ismv~ msscid-05.ismv;
步骤705,内容源站给CDN节点返回HTTP下载响应,分别将分片msscid-01.ismv~msscid-05.ismv媒体文件返回给CDN节点;
步骤706,CDN节点将媒体内容的首部分分片msscid-01.ismv~msscid-05.ismv的内容保存在CDN节点内的存储介质上;
如图8所示,IE浏览器请求媒体内容首部分分片的过程:
步骤801,IE浏览器向CDN节点发送媒体内容msscid的HTTP播放请求,请求URL中携带媒体内容标识msscid;
步骤802,CDN节点根据IE浏览器请求的媒体内容标识msscid,读取CDN节点内存储,将步骤704中保存媒体内容的分片列表信息文件msscid.smil,返回给IE浏览器;
步骤803,IE浏览器读取CDN节点返回的媒体内容分片列表信息文件msscid.smil,获得分片的标识,用户终端可以先选择第一个分片进行下载,也可以同时请求下载前五个分片,也可以所有分片同时下载。以所有分片同时下载为例,先获得第一个分片的标识msscid-01.ismv,请求中包第一个分片的标识msscid-01.ismv;
步骤804,CDN节点收到IE浏览器发起的第一个分片下载请求,根据分片的标识msscid-01读取CDN节点的存储,直接将分片文件msscid-01.ismv的内容返回给IE浏览器;
步骤805,IE浏览器在获取收到CDN返回的第一个分片msscid-01.ismv的内容后,即将第一个分片的数据转交给视频解码模块,可进行解码,快速转换成视频画面,媒体服务开始;
IE浏览器开启多个并行下载任务,按照每次发起剩余49个分片下载请求,优先下载排序靠前的分片文件,比如开启2个下载任务,一个下载任务依次下载msscid-jj.ismv(jj取值01、03、05、07、09),一个下载任务下载msscid-kk.ismv(kk取值02、04、06、08、10)。下载任务使用以下4个步骤下载单个分片文件:
步骤806,IE浏览器依次向CDN节点发起第2~50分片的下载请求,每个请求包含对应的分片的标识(即msscid-02到msscid-50),并且等待CDN节点返回结果;
步骤807,CDN节点收到IE浏览器发起的第2~50分片下载请求后,第2~5分片从CDN本地获取,发送至用户终端;第6~50分片向内容源站发送下载请求,请求中携带分片的标识(即msscid-06到msscid-50);
步骤808,内容源站根据CDN节点发送的第6~50分片下载请求中的分片标识(即msscid-06到msscid-50),读取内容源站的本地存储,并且将剩余分片返回给CDN节点;
步骤809,CDN节点获得剩余分片内容后,将剩余分片返回给IE浏览器,IE浏览器将剩余分片数据转交给IE浏览器的视频解码模块;
本应用示例中,IE浏览器的视频解码模块,持续受到剩余分片的数据后,接收剩余分片,进行解码,继续转换成视频画面展示;只要从一个分片播放完成之前,下一个分片的文件能够提前下载完成,则可实现连续播放;
应用示例四,以支持HDS,音频视频会话合一,而存在多码率,如何在多种终端接入,不同终端使用不同的码率场景中实施本申请(多码率同样也适用于DASH和HLS)进行说明。
本应用示例的系统中包含一个CDN管理节点,一个Adobe/FLV(FlashVideo)Server内容源站,一个CDN服务节点,1个chrome浏览器(安装flash插件)。chrome1具有较高网络接入带宽10M,1个android手机,通过4G网络接入,具有较小带宽。CDN节点直接与内容源站使用HTTP/HDS协议交互,CDN节点对2个终端提供HTTP/FLV视频播放媒体服务,在内容源站中,媒体内容标识为hdscid,在内容源站中被预先切分成10个周期,每个周期包含2个视频码率4Mb和600Kb的分片文件,4M码率分片的标识分别为hdscid-4000-xx.flv(xx取值01到10),600K码 率的分片标识hdscid-600-xx.flv,内容源站预先生成好媒体内容hdscid的媒体分片列表信息文件hdscid.mainefest.xml,文件中包含媒体内容hdscid分片列表信息,其内容:
Figure PCTCN2018122056-appb-000005
Figure PCTCN2018122056-appb-000006
说明:出于篇幅考虑,本实施例只列举了关键字段,详细格式请参考HDS规范。
如图9所示,媒体内容分发过程:
步骤901,CDN管理节点给CDN节点发布内容分发消息,消息中携带媒体内容的标识hdscid;
步骤902,CDN节点向内容源站发起媒体内容hdscid的HTTP下载请求,请求消息中URL携带媒体内容标识hdscid;
步骤903,内容源站给CDN节点返回HTTP下载响应,响应消息包含hdscid内容的媒体分片列表信息文件hdscid.manifest.xml,内容格式为4-hdscid.mainefest.xml;
步骤904,CDN节点首先保存媒体分片列表信息文件hdscid.manifest.xml到CDN节点的存储介质上,读取媒体分片列表信息文件hdscid.manifest.xml,获得终端第一个分片周期的2个码率的分片文件 标识,hdscid-4000-01.flv,和hdscid-600-01.flv,则并行开启2个下载任务,一个执行步骤905~907,用于4M码率的音视频首分片,一个执行步骤908~910,用于下载600K码率音视频首分片,2个下载任务没有先后顺序;
步骤905,向内容源站发送HTTP下载请求,请求消息中包含4Mb码率第一个分片的视频文件标识hdscid-4000-01.flv;
步骤906,内容源站给CDN节点返回HTTP下载响应,将4Mb码率第一个分片周期4Mb码率的首部分分片hdscid-4000-01.mp4媒体文件返回给CDN节点;
步骤907,CDN节点将媒体内容的4Mb码率第一个分片的视频频文件hdscid-4000-01.flv的内容保存在CDN节点内的存储介质上;
步骤908,向内容源站发送HTTP下载请求,请求消息中包含600K码率第一个分片的文件标识hdscid-600-01.flv;
步骤909,内容源站给CDN节点返回HTTP下载响应,将600K码率第一个分片的音频文件hdscid-600-01.flv媒体文件返回给CDN节点;
步骤910,CDN节点将媒体内容600K码率的第一个分片的hdscid-600-01.flv的内容保存在CDN节点内的存储介质上;
如图10所示,chrome浏览器请求4Mb码率的媒体服务的过程:
步骤1001,chrome浏览器向CDN节点发送媒体内容hdscid的HTTP播放请求,请求URL中携带媒体内容标识hdscid;
步骤1002,CDN节点根据chrome浏览器请求的媒体内容标识hdscid,读取CDN节点内存储,将步骤904中保存媒体内容的分片列表信息文件hdscid.manifest.xml,返回给chrome浏览器;
步骤1003,chrome浏览器读取CDN节点返回的媒体内容分片列表信息文件hdscid.manifest.xml,根据自身的带宽,选择4Mb码率的首分片hdscid-4000-01.flv,请求中包第一个分片的标识hdscid-4000-01.flv;
步骤1004,CDN节点收到chrome浏览器发起的第一个分片下载请求,根据分片的标识hdscid-4000-01读取CDN节点的存储,直接将分片文件hdscid-4000-01.flv的内容返回给chrome浏览器;
步骤1005,chrome浏览器在获取收到CDN返回的第一个分片hdscid-4000-01.flv的内容后,即将第一个分片的数据转交给视频解码模块,可进行解码,快速转换成视频画面,媒体服务开始;
chrome浏览器可以开启多个并行下载任务,按照每次发起剩余9个分片下载请求,优先下载排序靠前的分片文件,比如开启2个下载任务,一个下载任务依次下载hdscid-4000-jj.flv(jj取值01、03、05、07、09),一个下载任务下载hdscid-4000-kk.flv(kk取值02、04、06、08、10)。下载任务使用以下4个步骤下载单个分片文件:
步骤1006,chrome浏览器依次向CDN节点发起剩余分片的下载请求,每个请求包含对应的分片的标识(即hdscid-4000-02.flv到hdscid-4000-10.flv),并且等待CDN节点返回结果;
步骤1007,CDN节点收到chrome浏览器发起的剩余分片下载请求后,向内容源站发送相同分片标识的下载请求,请求中携带分片的标识(即hdscid-4000-02.flv到hdscid-4000-10.flv);
步骤1008,内容源站根据CDN节点发送的剩余分片下载请求中的分片标识(即hdscid-4000-02.flv到hdscid-4000-10.flv),读取内容源站的本地存储,并且将后续分片返回给CDN节点;
步骤1009,CDN节点获得剩余分片内容后,将剩余分片返回给chrome浏览器,chrome浏览器将剩余分片数据转交给chrome浏览器的视频解码模块,实现持续视频播放;
如图11所示,Android手机请求600K码率的媒体服务的过程:
步骤1101,Android手机向CDN节点发送媒体内容hdscid的HTTP播放请求,请求URL中携带媒体内容标识hdscid;
步骤1102,CDN节点根据Android手机请求的媒体内容标识hdscid,读取CDN节点内存储,将步骤904中保存媒体内容的分片列表信息文件hdscid.manifest.xml,返回给Android手机;
步骤1103,Android手机读取CDN节点返回的媒体内容分片列表信息文件hdscid.manifest.xml,根据自身的带宽,选择600K码率的首分片hdscid-600-01.flv,请求中包第一个分片的标识hdscid-600-01.flv;
步骤1104,CDN节点收到Android手机发起的第一个分片下载请求,根据分片的标识hdscid-600-01读取CDN节点的存储,直接将分片文件hdscid-600-01.flv的内容返回给Android手机;
步骤1105,Android手机在获取收到CDN返回的第一个分片hdscid-600-01.flv的内容后,即将第一个分片的数据转交给视频解码模块,可进行解码,快速转换成视频画面,媒体服务开始;
Android手机可以开启多个并行下载任务,按照每次发起剩余9个分片下载请求,优先下载排序靠前的分片文件,比如开启2个下载任务,一个下载任务依次下载hdscid-600-jj.flv(jj取值01、03、05、07、09),一个下载任务下载hdscid-600-kk.flv(kk取值02、04、06、08、10)。下载任务使用以下4个步骤下载单个分片文件:
步骤1106,Android手机依次向CDN节点发起剩余分片的下载请求,每个请求包含对应的分片的标识(即hdscid-600-02.flv到hdscid-600-10.flv),并且等待CDN节点返回结果;
步骤1107,CDN节点收到Android手机发起的剩余分片下载请求后,向内容源站发送相同分片标识的下载请求,请求中携带分片的标识(即hdscid-600-02.flv到hdscid-600-10.flv);
步骤1108,内容源站根据CDN节点发送的剩余分片下载请求中的分片标识(即hdscid-600-02.flv到hdscid-600-10.flv),读取内容源站的本地存储,并且将后续分片返回给CDN节点;
步骤1109,CDN节点获得剩余分片内容后,将剩余分片返回给 Android手机,Android手机将剩余分片数据转交给Android手机的视频解码模块,实现持续视频播放。
本发明实施例还提供一种内容服务的实现装置,该装置用于实现上述实施例及实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置可以以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
如图12所示,所述内容服务的实现装置,包括:
第一发送模块1201,设置为向上级实体发送请求下载媒体内容的首部分分片的第一下载请求;
第一接收模块1202,设置为接收所述上级实体发送的所述媒体内容的首部分分片;
第二接收模块1203,设置为接收下级实体请求下载所述媒体内容的首部分分片的第二下载请求;
第二发送模块1204,设置为将所述媒体内容的首部分分片发送至所述下级实体。
在本发明实施例中,在接收下级实体请求下载所述媒体内容的首部分分片的下载请求之前,已经从上级实体获取了所述媒体内容的首部分分片,可以将所述媒体内容的首部分分片直接返回给所述下级实体,从而降低了媒体内容服务的响应延迟;在视频业务应用场景中,用户终端请求服务开始后,到首次视频画面的响应延迟较小。
在一实施方式中,还包括:
第三发送模块,设置为向上级实体发送请求获取所述媒体内容的缓存请求,所述缓存请求携带所述媒体内容的标识信息;
第三接收模块,设置为接收所述上级实体发送的所述媒体内容的分片 列表信息。
在一实施方式中,所述第一发送模块1201,还设置为根据所述分片列表信息获取所述媒体内容的首部分分片的标识信息,在所述第一下载请求中携带所述首部分分片的标识信息。
在一实施方式中,还包括:
第四接收模块,设置为接收所述下级实体请求获取所述媒体内容的服务请求,所述服务请求中携带所述媒体内容的标识信息;
第四发送模块,设置为向所述下级实体发送所述媒体内容的分片列表信息。
在一实施方式中,还包括:
存储模块,设置为保存所述媒体内容的首部分分片;
所述第一接收模块,还设置为将所述媒体内容的首部分分片保存到所述存储模块中;
所述第二发送模块,设置为读取所述存储模块保存的所述媒体内容的首部分分片,发送至所述下级实体。
本发明实施例中,将所述媒体内容的首部分分片保存在本地,由于单个媒体内容在CDN节点上只存储了M个分片,CDN节点对单个媒体内容的存储空间消耗降低到存储全部媒体内容方式的M/N,因此对于同样存储容量的CDN节点,可以存储更多的不同媒体内容,同时,由于CDN节点存储的不同媒体内容数更多,CDN对不同用户的媒体服务请求的命中率就更高,在有多个CDN节点的系统中,从系统层面,与存储全部媒体内容的方式相比,能够对更多的内容进行命中,从CDN的用户平均访问速度来看,优于上述存储全部媒体内容的方式。
在一实施方式中,所述媒体内容的首部分分片是指构成媒体内容的保证连续媒体服务所需的所有媒体会话的最小分片文件集合,是所述媒体内容全部N个分片中,按照分片顺序前M个分片,其中,M、N为正整数, M小于等于N。
在一实施方式中,所述装置还包括:
确定模块,设置为按照首部分分片的选择策略,确定所述媒体内容的首部分分片的个数M。
在一实施方式中,还包括:
第五接收模块,设置为接收所述下级实体请求下载所述媒体内容的剩余分片的第三下载请求;所述剩余分片为所述媒体内容全部N个分片中除M个所述首部分分片之外的N-M个分片;
第五发送模块,设置为向所述上级实体发送请求下载媒体内容的剩余分片的第四下载请求;
第六接收模块,设置为接收所述上级实体发送的所述媒体内容的剩余分片;
第六发送模块,设置为将所述媒体内容的剩余分片发送至所述下级实体。
综上所述,在CDN系统中,本申请可以在消耗较小的存储的情况,获得较好好的用户媒体服务延迟,媒体内容越多,用户终端数越多,采用本申请的收益越大。
如图13所示,本发明实施例还提供一种CDN节点,包括:
处理器1301;
设置为存储所述处理器可执行指令的存储器1302;
设置为根据所述处理器的控制进行信息收发通信的传输装置1303;
其中,所述处理器设置为执行以下操作:
向上级实体发送请求下载媒体内容的首部分分片的第一下载请求;
接收所述上级实体发送的所述媒体内容的首部分分片;
接收下级实体请求下载所述媒体内容的首部分分片的第二下载请求;
将所述媒体内容的首部分分片发送至所述下级实体。
在一实施方式中,所述处理器还设置为执行以下操作:
向上级实体发送请求下载媒体内容的首部分分片的第一下载请求之前,向上级实体发送请求获取所述媒体内容的缓存请求,所述缓存请求携带所述媒体内容的标识信息;
接收所述上级实体发送的所述媒体内容的分片列表信息。
在一实施方式中,所述处理器还设置为执行以下操作:
接收下级实体请求下载所述媒体内容的首部分分片的第二下载请求之前,接收所述下级实体请求获取所述媒体内容的服务请求,所述服务请求中携带所述媒体内容的标识信息;
向所述下级实体发送所述媒体内容的分片列表信息。
在一实施方式中,所述处理器还设置为执行以下操作:
根据所述分片列表信息获取所述媒体内容的首部分分片的标识信息;
所述第一下载请求中携带所述首部分分片的标识信息。
在一实施方式中,所述处理器还设置为执行以下操作:
所述接收下级实体请求下载所述媒体内容的首部分分片的第二下载请求之前,接收所述下级实体请求获取所述媒体内容的服务请求,所述服务请求中携带所述媒体内容的标识信息;
向所述下级实体发送所述媒体内容的分片列表信息。
在一实施方式中,所述处理器还设置为执行以下操作:
所述接收所述上级实体发送的所述媒体内容的首部分分片之后,将所述媒体内容的首部分分片保存在本地;
所述将所述媒体内容的首部分分片发送至所述下级实体,包括:读取本地保存的所述媒体内容的首部分分片,发送至所述下级实体。
在一实施方式中,所述处理器还设置为执行以下操作:
将所述媒体内容的首部分分片保存在本地的内存、SSD或磁阵中。
在一实施方式中,所述媒体内容的首部分分片是指构成媒体内容的保证连续媒体服务所需的所有媒体会话的最小分片文件集合,是所述媒体内容全部N个分片中,按照分片顺序前M个分片,其中,M、N为正整数,M小于等于N。
在一实施方式中,所述处理器还设置为执行以下操作:
所述向上级实体发送请求下载媒体内容的首部分分片的下载请求之前,按照首部分分片的选择策略,确定所述媒体内容的首部分分片的个数M。
在一实施方式中,所述处理器还设置为执行以下操作:
接收所述下级实体请求下载所述媒体内容的剩余分片的第三下载请求;所述剩余分片为所述媒体内容全部N个分片中除M个所述首部分分片之外的N-M个分片;其中,M、N为正整数,M小于等于N;
向所述上级实体发送请求下载媒体内容的剩余分片的第四下载请求;
接收所述上级实体发送的所述媒体内容的剩余分片;
将所述媒体内容的剩余分片发送至所述下级实体。
本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一项所述的内容服务的实现方法中的步骤。
在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
显然,本领域的技术人员应该明白,上述的本发明实施例的模块或步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或 者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
工业实用性
如上所述,本发明实施例提供的一种内容服务的实现方法、装置及内容分发网络节点具有以下有益效果:在消耗较小的存储的情况,获得较好好的用户媒体服务延迟,媒体内容越多,用户终端数越多,采用本申请的收益越大。

Claims (24)

  1. 一种内容服务的实现方法,包括:
    向上级实体发送请求下载媒体内容的首部分分片的第一下载请求;
    接收所述上级实体发送的所述媒体内容的首部分分片;
    接收下级实体请求下载所述媒体内容的首部分分片的第二下载请求;
    将所述媒体内容的首部分分片发送至所述下级实体。
  2. 如权利要求1所述的方法,其中,所述向上级实体发送请求下载媒体内容的首部分分片的第一下载请求之前,还包括:
    向所述上级实体发送请求获取所述媒体内容的缓存请求,所述缓存请求携带所述媒体内容的标识信息;
    接收所述上级实体发送的所述媒体内容的分片列表信息。
  3. 如权利要求2所述的方法,其中,所述方法还包括:
    根据所述分片列表信息获取所述媒体内容的首部分分片的标识信息;
    所述第一下载请求中携带所述首部分分片的标识信息。
  4. 如权利要求1所述的方法,其中,所述接收下级实体请求下载所述媒体内容的首部分分片的第二下载请求之前,还包括:
    接收所述下级实体请求获取所述媒体内容的服务请求,所述服务请求中携带所述媒体内容的标识信息;
    向所述下级实体发送所述媒体内容的分片列表信息。
  5. 如权利要求1所述的方法,其中,
    所述接收所述上级实体发送的所述媒体内容的首部分分片之后,所述方法还包括:将所述媒体内容的首部分分片保存在本地;
    所述将所述媒体内容的首部分分片发送至所述下级实体,包括:读取本地保存的所述媒体内容的首部分分片,发送至所述下级实体。
  6. 如权利要求5所述的方法,其中,所述将所述媒体内容的首部分分片保存在本地,包括:
    将所述媒体内容的首部分分片保存在本地的内存、固态硬盘SSD或磁阵中。
  7. 如权利要求1所述的方法,其中,
    所述媒体内容的首部分分片是指构成媒体内容的保证连续媒体服务所需的所有媒体会话的最小分片文件集合,是所述媒体内容全部N个分片中,按照分片顺序前M个分片,其中,M、N为正整数,M小于等于N。
  8. 如权利要求7所述的方法,其中,所述向上级实体发送请求下载媒体内容的首部分分片的下载请求之前,还包括:
    按照首部分分片的选择策略,确定所述媒体内容的首部分分片的个数M。
  9. 如权利要求1所述的方法,其中,所述方法还包括:
    接收所述下级实体请求下载所述媒体内容的剩余分片的第三下载请求;所述剩余分片为所述媒体内容全部N个分片中除M个所述首部分分片之外的N-M个分片;其中,M、N为正整数,M小于等于N;
    向所述上级实体发送请求下载媒体内容的剩余分片的第四下载请求;
    接收所述上级实体发送的所述媒体内容的剩余分片;
    将所述媒体内容的剩余分片发送至所述下级实体。
  10. 如权利要求1~9中任意一项所述的方法,其中,
    发送所述第一下载请求、接收所述首部分分片、接收所述第二下载请求和发送所述首部分分片的协议包括以下之一:超文本传输协议HTTP、实时流协议RTSP、实时消息传输协议RTMP。
  11. 如权利要求2或4所述的方法,其中,
    所述媒体内容的分片列表信息的格式包括如下至少之一:HTTP流媒体直播HLS、动态自适应HTTP流DASH、微软平滑流MSS、HTTP动态流HDS。
  12. 如权利要求1~9中任意一项所述的方法,其中,
    所述上级实体为:内容源站或上级内容分发网络节点,所述下级实体为:用户终端或下级内容分发网络节点。
  13. 一种内容服务的实现装置,包括:
    第一发送模块,设置为向上级实体发送请求下载媒体内容的首部分分片的第一下载请求;
    第一接收模块,设置为接收所述上级实体发送的所述媒体内容的首部分分片;
    第二接收模块,设置为接收下级实体请求下载所述媒体内容的首部分分片的第二下载请求;
    第二发送模块,设置为将所述媒体内容的首部分分片发送至所述下级实体。
  14. 如权利要求13所述的装置,其中,还包括:
    第三发送模块,设置为向所述上级实体发送请求获取所述媒体内容的缓存请求,所述缓存请求携带所述媒体内容的标识信息;
    第三接收模块,设置为接收所述上级实体发送的所述媒体内容的分片列表信息。
  15. 如权利要求14所述的装置,其中,
    所述第一发送模块,还设置为根据所述分片列表信息获取所述媒体内容的首部分分片的标识信息,在所述第一下载请求中携带所述首部分分片的标识信息。
  16. 如权利要求13所述的装置,其中,还包括:
    第四接收模块,设置为接收所述下级实体请求获取所述媒体内容的服务请求,所述服务请求中携带所述媒体内容的标识信息;
    第四发送模块,设置为向所述下级实体发送所述媒体内容的分片列表信息。
  17. 如权利要求13所述的装置,其中,还包括:
    存储模块,设置为保存所述媒体内容的首部分分片;
    所述第一接收模块,还设置为将所述媒体内容的首部分分片保存到所述存储模块中;
    所述第二发送模块,设置为读取所述存储模块保存的所述媒体内容的首部分分片,发送至所述下级实体。
  18. 如权利要求13所述的装置,其中,所述媒体内容的首部分分片是指构成媒体内容的保证连续媒体服务所需的所有媒体会话的最小分片文件集合,是所述媒体内容全部N个分片中,按照分片顺序前M个分片,其中,M、N为正整数,M小于等于N。
  19. 如权利要求18所述的装置,其中,所述装置还包括:
    确定模块,设置为按照首部分分片的选择策略,确定所述媒体内容的首部分分片的个数M。
  20. 如权利要求13所述的装置,其中,还包括:
    第五接收模块,设置为接收所述下级实体请求下载所述媒体内容的剩余分片的第三下载请求;所述剩余分片为所述媒体内容全部N个分片中除M个所述首部分分片之外的N-M个分片;其中,M、N为正整数,M小于等于N;
    第五发送模块,设置为向所述上级实体发送请求下载媒体内容的剩余分片的第四下载请求;
    第六接收模块,设置为接收所述上级实体发送的所述媒体内容的剩余分片;
    第六发送模块,设置为将所述媒体内容的剩余分片发送至所述下级实体。
  21. 一种内容分发网络节点,包括:
    处理器;
    设置为存储所述处理器可执行指令的存储器;
    设置为根据所述处理器的控制进行信息收发通信的传输装置;
    其中,所述处理器设置为执行以下操作:
    向上级实体发送请求下载媒体内容的首部分分片的第一下载请求;
    接收所述上级实体发送的所述媒体内容的首部分分片;
    接收下级实体请求下载所述媒体内容的首部分分片的第二下载请求;
    将所述媒体内容的首部分分片发送至所述下级实体。
  22. 如权利要求21所述的内容分发网络节点,其中,所述处理器还设置为执行以下操作:
    向上级实体发送请求下载媒体内容的首部分分片的第一下载请求之前,向所述上级实体发送请求获取所述媒体内容的缓存请求,所述缓存请求携带所述媒体内容的标识信息;
    接收所述上级实体发送的所述媒体内容的分片列表信息。
  23. 如权利要求22所述的内容分发网络节点,其中,所述处理器还设置为执行以下操作:
    接收下级实体请求下载所述媒体内容的首部分分片的第二下载请求之前,接收所述下级实体请求获取所述媒体内容的服务请求,所述服务请求中携带所述媒体内容的标识信息;
    向所述下级实体发送所述媒体内容的分片列表信息。
  24. 一种计算机可读存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至12任一项中所述的方法。
PCT/CN2018/122056 2017-12-26 2018-12-19 一种内容服务的实现方法、装置及内容分发网络节点 WO2019128800A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP18894087.8A EP3734927A1 (en) 2017-12-26 2018-12-19 Content service implementation method and device, and content delivery network node

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711436227.0 2017-12-26
CN201711436227.0A CN108063769B (zh) 2017-12-26 2017-12-26 一种内容服务的实现方法、装置及内容分发网络节点

Publications (1)

Publication Number Publication Date
WO2019128800A1 true WO2019128800A1 (zh) 2019-07-04

Family

ID=62140186

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/122056 WO2019128800A1 (zh) 2017-12-26 2018-12-19 一种内容服务的实现方法、装置及内容分发网络节点

Country Status (3)

Country Link
EP (1) EP3734927A1 (zh)
CN (1) CN108063769B (zh)
WO (1) WO2019128800A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114374860A (zh) * 2021-12-29 2022-04-19 中国电信股份有限公司 一种视频业务处理方法及装置
CN116996579A (zh) * 2023-09-27 2023-11-03 联通在线信息科技有限公司 基于复用302地址提高分片请求下载速度的方法及系统

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108063769B (zh) * 2017-12-26 2020-10-02 南京中兴新软件有限责任公司 一种内容服务的实现方法、装置及内容分发网络节点
CN109600373B (zh) * 2018-12-11 2021-08-06 深圳市网心科技有限公司 一种直播数据传输方法、装置、系统以及可读存储介质
CN110022482B (zh) * 2019-03-05 2021-07-27 咪咕视讯科技有限公司 视频起播方法、视频服务系统及存储介质
CN111182330B (zh) * 2019-08-15 2021-11-09 腾讯科技(深圳)有限公司 视频播放方法及装置
CN110769326B (zh) * 2019-11-21 2022-03-01 广州方硅信息技术有限公司 视频切片文件的加载、视频文件的播放方法和装置
CN112584255B (zh) * 2020-12-04 2023-05-26 广州虎牙科技有限公司 一种流媒体数据的播放方法、装置、计算机设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231749A (zh) * 2011-08-12 2011-11-02 乐视网信息技术(北京)股份有限公司 一种利用cdn网络传输直播流的系统和方法
CN102547393A (zh) * 2010-12-20 2012-07-04 上海全土豆网络科技有限公司 移动互联网视频内容交互系统及其方法
US20140047069A1 (en) * 2011-03-16 2014-02-13 Azuki Systems, Inc. Method and system for federated over-the-top content delivery
CN105897850A (zh) * 2015-12-22 2016-08-24 乐视云计算有限公司 用于cdn平台的响应处理方法、调度代理服务器及系统
CN108063769A (zh) * 2017-12-26 2018-05-22 中兴通讯股份有限公司 一种内容服务的实现方法、装置及内容分发网络节点

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101388909A (zh) * 2008-10-14 2009-03-18 中兴通讯股份有限公司 一种p2p点播系统和业务方法
JP6444398B2 (ja) * 2013-07-03 2018-12-26 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ セグメント化コンテンツのストリーミング
CN106161382A (zh) * 2015-04-15 2016-11-23 中兴通讯股份有限公司 一种多媒体文件控制方法和系统
CN105049873B (zh) * 2015-05-29 2018-06-15 腾讯科技(北京)有限公司 一种流媒体传输方法、装置和系统
CN105933796A (zh) * 2016-04-20 2016-09-07 乐视控股(北京)有限公司 基于http实时流的多媒体内容的提供方法及装置、终端设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102547393A (zh) * 2010-12-20 2012-07-04 上海全土豆网络科技有限公司 移动互联网视频内容交互系统及其方法
US20140047069A1 (en) * 2011-03-16 2014-02-13 Azuki Systems, Inc. Method and system for federated over-the-top content delivery
CN102231749A (zh) * 2011-08-12 2011-11-02 乐视网信息技术(北京)股份有限公司 一种利用cdn网络传输直播流的系统和方法
CN105897850A (zh) * 2015-12-22 2016-08-24 乐视云计算有限公司 用于cdn平台的响应处理方法、调度代理服务器及系统
CN108063769A (zh) * 2017-12-26 2018-05-22 中兴通讯股份有限公司 一种内容服务的实现方法、装置及内容分发网络节点

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114374860A (zh) * 2021-12-29 2022-04-19 中国电信股份有限公司 一种视频业务处理方法及装置
CN116996579A (zh) * 2023-09-27 2023-11-03 联通在线信息科技有限公司 基于复用302地址提高分片请求下载速度的方法及系统
CN116996579B (zh) * 2023-09-27 2024-02-27 联通在线信息科技有限公司 基于复用302地址提高分片请求下载速度的方法及系统

Also Published As

Publication number Publication date
EP3734927A1 (en) 2020-11-04
CN108063769A (zh) 2018-05-22
CN108063769B (zh) 2020-10-02

Similar Documents

Publication Publication Date Title
WO2019128800A1 (zh) 一种内容服务的实现方法、装置及内容分发网络节点
CN102055718B (zh) 一种在http streaming系统中实现分层请求内容的方法,装置和系统
WO2017096830A1 (zh) 用于cdn平台的内容分发方法及调度代理服务器
CN110933517B (zh) 码率切换方法、客户端和计算机可读存储介质
US9356985B2 (en) Streaming video to cellular phones
CN105556922B (zh) 网络中的dash表示自适应
CN109587514B (zh) 一种视频播放方法、介质和相关装置
WO2017166525A1 (zh) 提供多媒体内容的方法、服务器和终端设备
US20220060532A1 (en) Method for transmitting resources and electronic device
WO2017101370A1 (zh) 直播视频的处理方法及装置
CN103888419A (zh) 虚拟桌面终端获取视频内容的方法、系统与cdn子系统
CN104219286A (zh) 流媒体处理方法、装置、客户端、cdn节点服务器及终端
CN117596232A (zh) 流媒体快速启动方法、装置和系统
CN104641655A (zh) 一种终端缓存的方法、终端及服务器
WO2024032363A1 (zh) 回源处理方法、装置、计算设备及存储介质
CN114025191A (zh) 一种基于Nginx-rtmp的webrtc低延迟直播方法及系统
CN112243136B (zh) 内容播放方法、视频存储方法和设备
JP6538061B2 (ja) クライアント端末にマルチメディアコンテンツのコンテンツ部分を提供する方法及び対応するキャッシュ
TW201501526A (zh) 提供多媒體內容之內容部分至用戶端之方法及對應之快取
CN114301848A (zh) 基于cdn的通信方法、系统、设备及存储介质
KR102237900B1 (ko) 클라이언트 단말에 의해 멀티미디어 콘텐츠의 콘텐츠 부분을 검색하기 위한 방법
CN113891176A (zh) 基于hls的点播流量控制方法、装置、设备及存储介质
WO2017114393A1 (zh) Http流媒体传输方法及装置
WO2017071524A1 (zh) 多媒体资源的发布方法及装置
US10938939B2 (en) Client-side quality-of-service (QOS) for viewing of adaptive bitrate (ABR) streams

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: 18894087

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018894087

Country of ref document: EP

Effective date: 20200727