WO2019126949A1 - Procédé, dispositif, nœud et système de fourniture de contenu multimédia - Google Patents

Procédé, dispositif, nœud et système de fourniture de contenu multimédia Download PDF

Info

Publication number
WO2019126949A1
WO2019126949A1 PCT/CN2017/118316 CN2017118316W WO2019126949A1 WO 2019126949 A1 WO2019126949 A1 WO 2019126949A1 CN 2017118316 W CN2017118316 W CN 2017118316W WO 2019126949 A1 WO2019126949 A1 WO 2019126949A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
content
directed edge
directed
remote server
Prior art date
Application number
PCT/CN2017/118316
Other languages
English (en)
Chinese (zh)
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 PCT/CN2017/118316 priority Critical patent/WO2019126949A1/fr
Publication of WO2019126949A1 publication Critical patent/WO2019126949A1/fr

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding

Definitions

  • the embodiments of the present invention relate to the field of Internet technologies, and in particular, to a method, an apparatus, a node, and a system for providing media content.
  • the Set Top Box is a device that connects a TV to an external source. It converts compressed digital signals into TV content and displays them on the TV. Signals can come from cable, satellite antennas, broadband networks, and terrestrial broadcasts.
  • the media content received by the set top box is in addition to the images and sounds that the analog TV can provide, and is capable of receiving digital content, including an Electronic Program Guide (EPG), an Internet web page, subtitles, and the like.
  • EPG Electronic Program Guide
  • the prior art proposes a virtual set-top box technology, which transfers the operations of rendering, synthesizing, and splicing performed by the set-top box of the user to the remote server (for example, a cloud server) in the conventional solution, thereby reducing the set-top box of the user end.
  • the media content providing process implemented by using the virtual set-top box technology includes the following steps: the remote server receives a content request sent by the set-top box of the user for requesting to obtain the media content; and the remote server obtains the media content according to the content request, and the media is used.
  • the content is pre-processed (including rendering, compositing, splicing, etc.) to generate data (usually a video or a picture) that can be directly displayed by the set-top box, and the pre-processed media content is stream-encoded to generate a data file, and then
  • the data file is sent to the set top box, wherein the streaming code mainly comprises compression encoding the preprocessed media content.
  • the set-top box receives the data file sent by the remote server, after decoding the data file, it obtains data that can be directly used for display (such as display or play).
  • content requests of different users are repeated in many cases. For example, multiple set-top boxes of different users request the same media content respectively, for the user end.
  • the remote server needs to repeatedly perform the streaming encoding operation on the media content, which causes the remote server to be overloaded and increases the delay of the user to obtain the media content.
  • the embodiment of the present invention provides a method, a device, a node, and a system for providing media content, which can be used to solve the problem that the remote server in the prior art is overloaded and the delay in obtaining the media content by the user is too high.
  • the embodiment of the present application provides a method for providing media content, the method includes: acquiring a content request sent by a user equipment to a remote server; determining, according to the content request, a first node where the user equipment is currently located, the first node and the first node Corresponding to the first content currently displayed by the user equipment; detecting whether the directed graph includes a first directed edge sent from the first node and corresponding to the content request; if the directed graph includes the first directed edge, then And acquiring, by the storage unit, the first data file corresponding to the first directed edge, where the first data file includes data obtained by performing streaming coding on the media content requested by the content request; and sending the first data file to the user equipment.
  • the content request sent by the user equipment to the remote server is obtained by the acceleration node, and when the first data file corresponding to the content request is stored in the storage unit of the acceleration node, The content request is sent to send the first data file stored in the storage unit to the user equipment, so that the remote server does not need to stream encode the media content corresponding to the content request, reduce the load of the remote server, and reduce the user.
  • the delay in which the device obtains media content is not be used to send the first data file stored in the storage unit to the user equipment.
  • the storage unit also stores information of the directed graph, and the information of the directed graph includes node information and directed graph information.
  • the node information includes information for each node in the directed graph.
  • the directed edge information includes information about each directed edge in the directed graph.
  • the information of the node includes: an identifier of the node, a content identifier corresponding to the node, and an identifier of the directed edge sent by the node;
  • the information of the directed edge includes: an identifier of the directed edge, an identifier of the node pointed by the directed edge, The request information of the content request corresponding to the edge, and the file information of the data file corresponding to the directed edge.
  • the acceleration node detects whether the first directed edge sent from the first node and corresponding to the content request is included in the directed graph, and includes: acquiring information of the first node from the node information of the directed graph, first The information of the node includes: an identifier of the directed edge sent from the first node; and the information of the directed edge sent from the first node is obtained according to the identifier of the directed edge sent from the first node, and the information of the directed edge includes: A content request corresponding to the directed edge; detecting whether the first directed edge is included in the directed graph according to the information of the directed edge sent from the first node.
  • the content switching process is modeled based on the Markov theory to obtain a directed graph, so that the acceleration node can process and decide the content request according to the directed graph.
  • the method further includes: if the content identifier corresponding to the second node is related to the content provided by the remote server If the identifiers are different, the content providing request is sent to the remote server, the content providing request is used to request the remote server to provide the media content to the user equipment; the second data file sent by the remote server is received, and the second data file includes the corresponding content.
  • the acceleration node detects whether the content identifier corresponding to the second node is the same as the content identifier provided by the remote server
  • the method further includes: if the content identifier corresponding to the second node is related to the content provided by the remote server If the identifiers are different, the content providing request is sent to the remote server, the content providing request is used to request the remote server to provide the media content to the user equipment; the second data file sent by the remote server is received, and the second data file includes the corresponding content.
  • the acceleration node after the acceleration node detects whether the directed graph includes the first directed edge that is sent from the first node and corresponds to the content request, the acceleration node further includes: if the directed graph does not include the first directed edge Sending a content providing request to the remote server, the content providing request is for requesting the remote server to provide the media content to the user equipment; receiving the second data file sent by the remote server, where the second data file includes obtaining the content providing device from the content providing device.
  • the media content is subjected to streamed and encoded data; the second data file is stored in the storage unit; the first directed edge is created in the directed graph; and the correspondence between the first directed edge and the second data file is established relationship.
  • the method further includes: the acceleration node creates a second node pointed by the first directed edge in the directed graph; and changes the node where the user equipment is currently located from the first node to the second node.
  • the acceleration node updates the directed graph in real time according to the content request, and ensures the accuracy and real-time performance of the media content provided to the user equipment.
  • the method provided by the embodiment of the present application further includes deleting the third node and pointing to the third node in the directed graph when detecting that the directed graph includes the third node that meets the preset condition.
  • the data file corresponding to the deleted directed edge is cleared in the storage unit.
  • the node in the directed graph is periodically cleaned, the node corresponding to the invalid content is periodically deleted, and the invalid data file stored in the storage unit is deleted at the same time, and the storage of the storage unit is released. space.
  • the embodiment of the present application provides a method for providing media content, where the method includes: the user equipment sends a content request to the acceleration node and the remote server; and the acceleration node determines, according to the content request, the first node where the user equipment is currently located, The first node corresponds to the first content currently displayed by the user equipment; the acceleration node detects whether the directed graph includes a first directed edge that is sent from the first node and corresponds to the content request; if the directed graph includes the first The directed edge obtains the first data file corresponding to the first directed edge from the storage unit, and the first data file includes data obtained by performing streaming coding on the media content requested by the content request; The user equipment sends the first data file.
  • an embodiment of the present application provides an acceleration node, which has a function of implementing an acceleration node side behavior in the foregoing method example.
  • the functions may be implemented by hardware or by corresponding software implemented by hardware.
  • the hardware or software includes one or more modules corresponding to the functions described above.
  • the structure of the acceleration node includes a processor and a communication interface configured to support the acceleration node to perform the corresponding function in the above method.
  • the communication interface is used to support communication between the acceleration node and the user equipment or the remote server.
  • the acceleration node may further include a memory for coupling with the processor, which stores program instructions and data necessary for the acceleration node.
  • the embodiment of the present application provides a system for providing media content, where the system includes the user equipment, the acceleration node, and the remote server.
  • an embodiment of the present application provides a computer storage medium for storing computer software instructions used by the node, including a program designed to perform the above aspects.
  • an embodiment of the present application provides a computer program product for performing the method on the node side described in the above aspect when the computer program product is executed.
  • the content request sent by the user equipment to the remote server is obtained by the acceleration node, and the first data corresponding to the content request is stored in the storage unit of the acceleration node.
  • the acceleration node responds to the content request, and sends the first data file stored in the storage unit to the user equipment, so that the remote server does not need to stream encode the media content corresponding to the content request, and the remote service is mitigated.
  • FIG. 1 is a schematic diagram of an implementation environment provided by an embodiment of the present application.
  • FIG. 2 is a flowchart of a method for providing media content provided by an embodiment of the present application
  • Figure 3 is a schematic illustration of a directed graph exemplarily shown in the present application.
  • FIG. 4 is a schematic diagram of a storage structure of information of a directed graph exemplarily shown in the present application.
  • FIG. 5 is a flowchart of a method for providing media content according to another embodiment of the present application.
  • 6A/6B/6C are schematic diagrams of a directed graph update process exemplarily shown in the present application.
  • FIG. 7A is a schematic block diagram of an acceleration node provided by an embodiment of the present application.
  • FIG. 7B is a schematic structural diagram of an acceleration node according to an embodiment of the present application.
  • the network architecture and the service scenario described in the embodiments of the present application are for the purpose of more clearly illustrating the technical solutions of the embodiments of the present application, and do not constitute a limitation of the technical solutions provided by the embodiments of the present application.
  • the technical solutions provided by the embodiments of the present application are equally applicable to similar technical problems.
  • FIG. 1 shows a schematic diagram of an implementation environment provided by an embodiment of the present application.
  • the implementation environment may include a user device 11, a remote server 13, and a content providing device 14.
  • the user equipment 11 is a client equipment for requesting acquisition of media content.
  • the user equipment 11 may be an electronic device such as a set top box, a television set, a mobile phone, a tablet computer, a personal computer (PC), or the like.
  • User equipment 11 typically has decoding capabilities for data such as video, pictures, audio, and the like.
  • the remote server 13 is configured to receive the content request of the user equipment 11, request the media content required by the user equipment 11 from the device of the content provider, and perform pre-processing and streaming coding on the obtained media content. It is then provided to the user device 11.
  • the foregoing pre-processing may include operations such as rendering, synthesizing, splicing, etc., to generate data that can be directly displayed by the user equipment 11, and the data may be video, picture, audio, or the like.
  • the streaming coding includes compressing and encoding the data generated by the pre-processing, such as video, picture, audio, and the like, and generating a video stream, a picture stream, an audio stream, and the like.
  • the content providing device 14 is a device of a content provider for providing media content to the user device 11.
  • the content of the media may be any form, such as a webpage, a game, a video, an EPG, and the like.
  • the implementation environment shown in FIG. 1 above can be implemented as a virtual set top box system.
  • the user equipment 11 can be a traditional hardware set top box, and the hardware set top box is connected to the television set for providing the television with available data for playing.
  • the remote server 13 can be deployed in the cloud for rendering, synthesizing, splicing and the like of the media content requested by the user to reduce the performance requirements of the hardware set top box.
  • the deployment acceleration node 12 is added in the above implementation environment. Since the total amount of media content provided by the remote server 13 is countable and limited, after a certain media content is first requested, after being pre-processed and fluidized and encoded by the remote server 13, the present application is implemented.
  • the acceleration node 12 is used to store the data file generated after the stream coding, and then the request for the media content can be directly provided to the client through the acceleration node 12.
  • the remote server 13 does not need to perform repeated streaming coding on the same media content, alleviating the load of the remote server 13 and reducing the time required for the streaming coding, thereby reducing the time when the user device 11 obtains the media content. Delay.
  • the acceleration node 12 can be a standalone device, such as a server, or an extended functional component.
  • the acceleration node 12 may be a functional component that is extended in the remote server 13, and the acceleration node 12 is deployed in the same device as the remote server 13.
  • the acceleration node 12 can also be independent of the remote server 13 , and the acceleration node 12 and the remote server 13 are respectively deployed in different devices.
  • other functional components of the acceleration node 12 in addition to the media content storage function may also be directly deployed on the terminal device.
  • the user equipment 11 has a communication connection with the acceleration node 12 and the remote server 13, the acceleration node 12 and the remote server 13 have a communication connection, and the remote server 13 and the content providing There is a communication connection between devices 14.
  • the communication connection can be established through a network such as a wired or wireless network.
  • the communication connection can be established via a bus such as a data bus.
  • Each content request sent by the user equipment 11 causes the media content displayed by the user equipment 11 to be switched once. Since the user device 11 request for media content is random, each time the media content is switched can be described by a random process.
  • a Markov process is used to describe a handover process between media contents.
  • the Markov process is a class of stochastic processes.
  • the event at a certain moment is affected by the event before it, and the stochastic process with limited influence is called the Markov process.
  • An event is affected by the depth of its previous events, usually expressed by the probability of its previous events as conditions. Influenced by the previous event, it can be called the first-order Markov process; it can be called the second-order Markov process by the influence of the first two events; it can be called the third-order Markov process by the influence of the first three events.
  • each media content since each media content passes only one content request, it switches to another media content, that is, the switching process between media content satisfies the first-order Markov process. Therefore, the switching process between the media contents also satisfies the one-time transfer characteristic of the first-order Markov process, that is, the next state is only related to the previous state, and the media content currently displayed by the user device 11 is only related to the previous media content displayed.
  • a first-order Markov process for constructing the above media content switching is performed using a directed graph.
  • the directed graph includes nodes and directed edges. Each node in the directed graph only jumps to another node through a directed edge, that is, the first-order Markov process is satisfied. Two nodes and a directed edge connecting the two nodes collectively represent the switching process of the media content.
  • the acceleration node 12 processes the content request according to the directed graph will be described.
  • FIG. 2 is a flowchart of a method for providing media content provided by an embodiment of the present application.
  • the method is applicable to the acceleration node 12 shown in FIG. 1, and the method may include the following steps:
  • Step 201 Acquire a content request sent by the user equipment 11 to the remote server 13.
  • the user device 11 sends a content request to the remote server 13, which is a request for requesting acquisition of media content.
  • the acceleration node 12 acquires a content request sent by the user equipment 11 to the remote server 13.
  • the user equipment 11 sends a content request to the acceleration node 12 and the remote server 13.
  • the acceleration node 12 can listen to the receiving port of the remote server 13 to obtain a content request sent by the user equipment 11 to the remote server 13.
  • Step 202 Determine, according to the content request, the first node where the user equipment 11 is currently located.
  • the first node corresponds to the first content currently displayed by the user equipment 11.
  • the first content may be the media content currently provided by the set top box to the television set; and, for example, when the user equipment 11 is a television or a mobile phone, the first content may be the current state of the television or the mobile phone.
  • the acceleration node 12 usually provides services for a plurality of user equipments 11, and the acceleration node 12 also records the nodes where the respective user equipments 11 are currently located.
  • the acceleration node 12 records a first correspondence, where the first correspondence includes a correspondence between the identifier of the user equipment 11 and the identifier of the node where the user is currently located.
  • the identifier of the user equipment 11 is used to uniquely indicate a user equipment 11.
  • the different user equipments 11 have different identifiers.
  • the identifier of the user equipment 11 may be the user account of the user equipment 11 or the acceleration node 12
  • the identifier of the process for providing the user equipment 11 or other information that can uniquely identify the user equipment 11 is not limited in this embodiment of the present application.
  • IP Internet Protocol
  • the acceleration node 12 After acquiring the content request sent by the user equipment 11 to the remote server 13 , the acceleration node 12 acquires the identifier of the user equipment 11 , and then determines the first node where the user equipment 11 is currently located according to the first correspondence.
  • the identifier of the user equipment 11 described above may be carried in a content request.
  • Step 203 Detect whether the first directed edge sent from the first node and corresponding to the content request is included in the directed graph.
  • the first-order Markov process for media content switching can be constructed using directed graphs.
  • FIG. 3 a schematic diagram of a directed graph is exemplarily shown.
  • each circle represents a node, and the labels in the circle represent the identity of the node.
  • Two nodes and a directed edge connecting the two nodes collectively represent the switching process of the media content.
  • Information of the directed graph is also stored in the acceleration node 12, and information such as the directed graph is also stored in the storage unit of the acceleration node 12.
  • the information of the directed graph includes node information and directed edge information.
  • the node information includes information for each node in the directed graph.
  • the directed edge information includes information about each directed edge in the directed graph.
  • the information of each node includes: an identifier of the node, a content identifier corresponding to the node, and an identifier of the directed edge sent from the node.
  • the identity of a node may be referred to as a node ID for uniquely indicating one node, and different nodes have different identities.
  • the content identifier corresponding to the node refers to the identifier of the media content corresponding to the node.
  • the content identifier corresponding to the node may be generated by performing MD5 (Message Digest Algorithm 5) processing on the media content corresponding to the node, or performing rendering, synthesizing, splicing, etc. on the media content corresponding to the node.
  • MD5 Message Digest Algorithm 5
  • Pre-processing generates media data, and then generates MD5 processing on part of the media data or media data, and the partial data may be the last frame data in the media data, such as the last frame of video data, the last frame of picture or the last One frame of audio data.
  • One or more directed edges can be issued from any node.
  • the identifier of the directed edge can be called a directed edge ID, which is used to uniquely indicate a directed edge, and different directed edges have different identifiers.
  • the information of each directed edge includes: the identifier of the directed edge, the identifier of the node pointed by the directed edge, the request information of the content request corresponding to the directed edge, and the data file corresponding to the directed edge.
  • Each directed edge points to a node.
  • Each directed edge corresponds to a content request.
  • the content request corresponding to the directed edge of the destination node from the source node is used to request to obtain the media content corresponding to the destination node.
  • the request information of the content request refers to the information contained in the content request, which may be all the information of the content request, or may be part of the key information of the content request, such as a switching command carried in the content request, and the switching command is used to indicate the media content.
  • Each directed edge also corresponds to a data file.
  • the data file corresponding to the directed edge of the source node from the source node includes the media content required to switch the content corresponding to the source node to the content corresponding to the destination node, and performs data obtained by pre-processing and streaming coding.
  • the file information of the data file may include information such as a storage path of the data file, a file size, and a format.
  • the directed graph includes nodes identified as 0 to n, and n is an integer.
  • the information of each node includes: the identifier of the node, the content identifier corresponding to the node, and the identifier of the directed edge sent from the node.
  • the information of each directed edge includes: the identification of the directed edge, the identifier of the node pointed by the directed edge, the request information of the content request corresponding to the directed edge, and the file information of the data file corresponding to the directed edge.
  • step 203 includes the following sub-steps:
  • the acceleration node 12 acquires information of the first node from the node information of the directed graph according to the identifier of the first node.
  • the information of the first node includes: an identifier of the directed edge sent from the first node.
  • the acceleration node acquires information of each directed edge sent from the first node from the directed edge information of the directed graph according to the identifier of each directed edge sent from the first node.
  • the information of each directed edge obtained above includes: request information of a content request corresponding to the edge.
  • the directed graph includes the first a directed edge, and the directed edge is the first directed edge; otherwise, if there is a directed edge from the first node, there is no request information for the content request corresponding to the edge and the acceleration node 12 is in the above If the content requests obtained in step 201 match, it is determined that the first directed edge is not included in the directed graph.
  • the acceleration node 12 obtains the identifier of the directed edge sent from the node 0 from the information of the node 0, assuming that there is a direction.
  • Edge 1 and directed edge 2 wherein directed edge 1 refers to a directed edge from node 0 that points to node 1, and directed edge 2 refers to a directed edge from node 0 that points to node 5.
  • the acceleration node 12 acquires the request information of the content request corresponding to the edge 1 from the information of the directed edge 1, and acquires the request information of the content request corresponding to the directed edge 2 from the information of the directed edge 2.
  • the request information of the content request corresponding to the edge 1 matches the content request acquired by the acceleration node 12 in the above step 201 (for example, the switching command carried in the content request), it is determined that the directed edge 1 is the first If the request information of the content request corresponding to the edge 2 matches the content request obtained by the acceleration node 12 in the above step 201, it is determined that the directed edge 2 is the first directed edge; if the directed edge 1 If the request information of the content request corresponding to the directed edge 2 does not match the content request acquired by the acceleration node 12 in the above step 201, it is determined that the first directed edge is not included in the directed graph.
  • Step 204 If the first directed edge is included in the directed graph, the first data file corresponding to the first directed edge is obtained from the storage unit.
  • the acceleration node 12 determines that the first data file corresponding to the content request is stored in its storage unit.
  • the first data file includes data obtained by performing streaming encoding on the media content requested by the content request.
  • the acceleration node 12 acquires the first data file according to file information (such as a storage path) of the first data file corresponding to the first directed edge included in the information of the first directed edge.
  • Step 205 sending a first data file to the user equipment 11.
  • the acceleration node 12 After the acceleration node 12 acquires the first data file from its storage unit, the first data file is sent to the user equipment 11. Correspondingly, the user equipment 11 receives the first data file sent by the acceleration node 12, and decodes and displays the first data file.
  • the storage unit of the acceleration node 12 is used to store data files that are generated by the remote server 13.
  • a certain data file for example, the first data file
  • the remote server 13 sends the data file to the acceleration node 12, and the acceleration node 12 saves it in the storage unit for subsequent Responding to requesting other content requests for the data file.
  • the acceleration node 12 can obtain the data file required by the user equipment 11 from its storage unit and feed back to the user equipment 11, so that the remote server 13 is not required.
  • the repeated streaming encoding operation reduces the load on the remote server 13 and reduces the delay in which the user device 11 acquires the media content.
  • the acceleration node 12 does not include a storage unit, and the storage of data files can be provided by a dedicated storage device of the remote server.
  • the content request sent by the user equipment 11 to the remote server 13 is obtained by the acceleration node 12, and when the first data file corresponding to the content request is stored in the storage unit of the acceleration node 12, The acceleration node 12 responds to the content request, and sends the first data file stored in the storage unit to the user equipment 11, so that the remote server 13 does not need to streamify the media content corresponding to the content request, and the remote service is mitigated.
  • the load of the terminal 13 reduces the delay in which the user equipment 11 acquires the media content.
  • the content switching process is modeled based on the Markov theory to obtain a directed graph, so that the acceleration node 12 can process and make decisions on the content request according to the directed graph.
  • FIG. 5 is a flowchart of a method for providing media content according to another embodiment of the present application.
  • the method is applicable to the implementation environment shown in FIG. 1, and the method may include the following steps:
  • step 501 the user equipment 11 sends a content request to the acceleration node 12 and the remote server 13.
  • Step 502 The acceleration node 12 determines, according to the content request, the first node where the user equipment 11 is currently located.
  • step 503 the acceleration node 12 detects whether the directed graph includes a first directed edge that is sent from the first node and corresponds to the content request. If yes, the following step 504 is performed; if not, the following step 508 is performed.
  • steps 501-503 are the same as or similar to the steps 201-203 in the embodiment of FIG. 2. Referring to the description in the embodiment of FIG. 2, details are not described herein again.
  • Step 504 the acceleration node 12 acquires a content identifier corresponding to the second node pointed by the first directed edge.
  • the acceleration node 12 after determining that the first directed edge is included in the directed graph, the acceleration node 12 first detects whether the first data file corresponding to the first directed edge stored in the storage unit has expired. The acceleration node 12 provides the first data file to the user equipment 11 only if it is determined that the first data file stored in its storage unit is valid.
  • the acceleration node 12 obtains the identifier of the second node pointed by the first directed edge from the information of the first directed edge, and then obtains the second node from the information of the second node according to the identifier of the second node. Corresponding content identifier, and determining whether the stored first data file has expired according to the content identifier corresponding to the second node.
  • Step 505 the acceleration node 12 detects whether the content identifier corresponding to the second node is the same as the content identifier provided by the remote server 13. If yes, the following step 506 is performed; if not, the following step 508 is performed.
  • the content identifier provided by the remote server 13 is a content identifier corresponding to the media content acquired from the content providing device 14 according to the content request after the remote server 13 receives the content request sent by the user device 11.
  • the remote server 13 acquires the media content from the content providing device 14 according to the content request, and then generates a content identifier corresponding to the acquired media content.
  • the remote server 13 performs pre-processing of rendering, synthesizing, splicing, and the like on the obtained media content to generate media data, which may be video, picture, audio, and the like. Thereafter, the remote server 13 determines the content identifier corresponding to the media content acquired from the content providing device 14 based on the generated media data.
  • the remote server 13 calculates the MD5 value of the media data, or calculates an MD5 value of the last frame data in the media data, and uses the MD5 value as the content identifier corresponding to the media content acquired by the content providing device 14 symbol. In another example, the remote server 13 calculates the MD5 value of the media content it has acquired from the content providing device 14, using the MD5 value as the content identifier.
  • the acceleration node 12 sends the remote server 13 to indicate that the first directed edge is included. Test results. After acquiring the above detection result, the remote server 13 transmits to the acceleration node 12 a content identifier corresponding to the media content acquired from the content providing device 14 according to the content request. In addition, the acceleration node 12 sends a content providing request to the remote server 13 in the case that the first directed edge is not included in the directed graph, and the remote server 13 performs the subsequent process according to the content providing request, as described below. .
  • the first data file stored in the storage unit is valid; otherwise, if the content identifier corresponding to the second node is related to the remote server 13 If the provided content identifiers are different, it means that the first data file stored in the storage unit has expired.
  • the remote server 13 after receiving the content request sent by the user equipment 11, the remote server 13 requests the content providing device 14 to obtain the media content required for the content request.
  • the remote server 13 does not directly perform streaming encoding on the media content to generate a corresponding data file, but determines whether the pair is based on the information fed back by the acceleration node 12.
  • the media content performs streaming coding.
  • Step 506 the acceleration node 12 acquires the first data file corresponding to the first directed edge from the storage unit.
  • the acceleration node 12 determines that the first data file stored in the storage unit is valid, the acceleration node 12 acquires the first data file according to the storage path of the first data file recorded in the information of the first directed edge.
  • step 507 the acceleration node 12 sends the first data file to the user equipment 11.
  • step 508 the acceleration node 12 sends a content providing request to the remote server 13.
  • the acceleration node 12 detects that the first directed edge is not included in the directed graph, or detects that the first directed edge is included in the directed graph but the first data file corresponding to the first directed edge has failed. Next, the acceleration node 12 sends a content providing request to the remote server 13 for requesting the remote server 13 to provide the media content to the user device 11.
  • Step 509 The remote server 13 performs streaming coding on the media content acquired from the content providing device 14 according to the content providing request to generate a second data file.
  • the remote server 13 performs pre-processing of rendering, synthesizing, splicing, and the like on the media content acquired from the content providing device 14 to generate media data, where the media data may be video, picture, audio, and the like. Then, the media data is subjected to streaming coding to generate a second data file.
  • step 510 the remote server 13 sends the second data file to the user equipment 11 and the acceleration node 12.
  • the remote server 13 sends the second data file to the user equipment 11 and the acceleration node 12 as an example. In other possible implementations, the remote server 13 may not send the second to the user equipment 11.
  • the data file transmits only the second data file to the acceleration node 12, and the acceleration node 12 transmits the second data file to the user equipment 11.
  • step 511 the acceleration node 12 stores the second data file into the storage unit.
  • step 512 the acceleration node 12 establishes a correspondence between the first directed edge and the second data file.
  • the acceleration node 12 creates a first directed edge in the directed graph.
  • the acceleration node 12 adds a first directed edge from the first node to the directed graph.
  • the acceleration node 12 adds a directed edge from the first node to the second node as the first directed edge in the directed graph; if the directed graph does not include The second node, the acceleration node 12 creates a second node pointed by the first directed edge in the directed graph.
  • the second node refers to a node whose corresponding content identifier is the same as the content identifier provided by the remote server 13 to the acceleration node 12.
  • the information of the directed graph needs to be updated. Specifically, the acceleration node 12 adds the identifier of the first directed edge to the information of the first node included in the information of the directed graph; and the acceleration node 12 adds the information of the first directed edge to the information of the directed graph.
  • the information of the first directed edge includes: an identifier of the first directed edge, an identifier of the second node pointed by the first directed edge, a request information of the content request corresponding to the first directed edge, and a first directed edge Corresponding file information of the second data file.
  • the file information of the second data file includes at least a storage path of the second data file in the storage unit, and may further include information such as a file size, a format, and the like of the second data file.
  • the acceleration node 12 further needs to add information of the second node to the information of the directed graph, where the information of the second node includes: the identifier of the second node, and the second The content identifier corresponding to the node.
  • the acceleration node 12 will first have information in the first directed edge.
  • the file information of the data file corresponding to the edge is changed from the file information of the first data file to the file information of the second data file.
  • the acceleration node 12 deletes the first data file stored in the storage unit.
  • the acceleration node 12 changes the content identifier corresponding to the second node from the previously recorded content identifier to the content identifier acquired from the remote server 13 in the information of the second node.
  • the acceleration node 12 also changes the node where the user equipment 11 is currently located from the first node to the second node. For example, the acceleration node 12 updates the first correspondence, and changes the node where the user equipment 11 currently recorded in the first correspondence is currently changed from the first node to the second node.
  • the directed graph stored in the acceleration node 12 is illustrated on the left side of FIG. 6A, assuming that the user equipment 11 is currently at node 3, and if the acceleration node 12 detects the discovery of the directed edge from the node 3. If there is no directed edge corresponding to the current content request by the user equipment 11 , the acceleration node 12 sends a first detection result to the remote server 13 , where the first detection result is used to indicate that the directed image does not include the corresponding content request. Directed side. After the remote server 13 generates a data file corresponding to the content request according to the first detection result, the data server 13 transmits the data file to the user equipment 11 and the acceleration node 12.
  • the acceleration node 12 After the acceleration node 12 receives the data file sent by the remote server 13, the data file is stored in the storage unit. In addition, the acceleration node 12 acquires the content identifier corresponding to the media content required for the current content request from the remote server 13, and detects whether the corresponding node is included in the directed graph according to the content identifier, if the directed graph does not include The node corresponding to the content identifier creates a node corresponding to the content identifier (denoted as node 5), and creates a directed edge from node 3 to node 5, and the updated directed graph is as shown in the right side of FIG. 6A. Show. Further, the acceleration node 12 updates the information of the directed graph, including updating the information of the node 3, adding the information of the node 5, and adding information indicating that the node 3 points to the directed side of the node 5.
  • the directed graph stored in the acceleration node 12 is illustrated on the left side of FIG. 6B, assuming that the user equipment 11 is currently at the node 5, if the acceleration node 12 detects the presence of the directed node 5
  • the first detection result is sent to the remote server 13 by the acceleration node 12, and the first detection result is used to indicate that the current content request is not included in the directed graph.
  • the directed side After the remote server 13 generates a data file corresponding to the content request according to the first detection result, the data server 13 transmits the data file to the user equipment 11 and the acceleration node 12. After the acceleration node 12 receives the data file sent by the remote server 13, the data file is stored in the storage unit.
  • the acceleration node 12 acquires the content identifier corresponding to the media content required for the current content request from the remote server 13, and detects whether the corresponding node is included in the directed graph according to the content identifier, if the directed graph includes the The node corresponding to the content identifier (assumed to be node 4) creates a directed edge from node 5 to node 4, and the updated directed graph is illustrated on the right side of FIG. 6B. Further, the acceleration node 12 updates the information of the directed graph, including updating the information of the node 5, and adding information from the node 5 to the directed edge of the node 4.
  • the directed graph stored in the acceleration node 12 is illustrated on the left side of FIG. 6C, assuming that the user equipment 11 is currently at node 4, if the acceleration node 12 detects the discovery of the directed from the node 4.
  • the edge has a directed edge corresponding to the content request of the user equipment 11 (assuming that the directed edge from the node 4 points to the node 3), and the acceleration node 12 interacts with the remote server 13 to obtain the remote server 13 from the content providing device 14
  • the content identifier corresponding to the obtained media content is requested to detect whether the content identifier corresponding to the node 3 stored in the storage unit and the content identifier provided by the remote server 13 are the same.
  • the acceleration node 12 acquires the file information of the data file corresponding to the directed edge according to the information of the directed edge from the node 4 to the node 3, acquires the corresponding data file based on the file information, and sends the corresponding data file to the user.
  • Device 11 In the case where the two are different, the acceleration node 12 acquires the updated data file from the remote server 13, establishes a correspondence relationship between the directed edge of the node 4 from the node 4 and the updated data file, and updates the node 4 to point. Information about the directed edges of node 3. And, the acceleration node 12 migrates the node where the user equipment 11 is located from the node 4 to the node 3, and the updated directed graph is illustrated on the right side of FIG. 6C.
  • a mechanism for periodically cleaning nodes in the directed graph is also provided.
  • the acceleration node 12 detects that the directed node includes a third node that meets the preset condition, the acceleration node 12 deletes the third node in the directed graph, points to the directed edge of the third node, and points from the third node to the other node.
  • the preset condition includes at least one of the following: the media content corresponding to the node is not accessed by the preset duration, and the media content corresponding to the node cannot be accessed.
  • the acceleration node 12 clears the data file corresponding to the deleted directed edge in its storage unit, and updates the information of the directed graph.
  • the reason why the media content corresponding to the node is not accessed or cannot be accessed may be because the media content corresponding to the node is changed or dropped.
  • the preset duration may be a preset experience value, such as 1 day.
  • the content request sent by the user equipment 11 to the remote server 13 is obtained by the acceleration node 12, and when the first data file corresponding to the content request is stored in the storage unit of the acceleration node 12, The acceleration node 12 responds to the content request, and sends the first data file stored in the storage unit to the user equipment 11, so that the remote server 13 does not need to streamify the media content corresponding to the content request, and the remote service is mitigated.
  • the load of the terminal 13 reduces the delay in which the user equipment 11 acquires the media content.
  • the acceleration node 12 updates the directed graph in real time according to the content request, and ensures the accuracy and real-time performance of the media content provided to the user equipment 11.
  • An exemplary embodiment of the present application also provides a system for providing media content, the system including a user device 11, an acceleration node 12, and a remote server 13.
  • the user equipment 11 is used to implement the functions of the user equipment 11 in the above method example.
  • the acceleration node 12 is used to implement the functions of the acceleration node 12 in the above method example, and the remote server 13 is used to implement the remote server 13 in the above method example. The function.
  • the solution provided by the embodiment of the present application is introduced from the perspective of the interaction between the user equipment 11 and the acceleration node 12 and the remote server 13 .
  • the above steps about the user equipment 11 can be separately implemented as a method for providing media content on the user equipment 11 side.
  • the step of accelerating the node 12 can be separately implemented as a method for providing media content on the side of the acceleration node 12, and the steps related to the remote server 13
  • the method of providing media content on the side of the remote server 13 can be implemented separately.
  • the acceleration node 12 includes hardware structures and/or software modules corresponding to the execution of the respective functions in order to implement the above functions.
  • the embodiments of the present application can be implemented in a combination of hardware or hardware and computer software in combination with the elements of the examples and algorithm steps described in the embodiments disclosed in the application. Whether a function is implemented in hardware or computer software to drive hardware depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the technical solutions of the embodiments of the present application.
  • the embodiment of the present application may divide the functional unit into the acceleration node 12 according to the foregoing method example.
  • each functional unit may be divided according to each function, or two or more functions may be integrated into one processing unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit. It should be noted that the division of the unit in the embodiment of the present application is schematic, and is only a logical function division. In actual implementation, there may be another division manner.
  • FIG. 7A shows a possible structural diagram of the acceleration node 12 involved in the above embodiment.
  • the acceleration node 12 includes a processing unit 702 and a communication unit 703.
  • the processing unit 702 is configured to control and manage the actions of the acceleration node 12.
  • processing unit 702 is configured to support acceleration node 12 to perform steps 201-205 of FIG. 2, steps 502-508 and 511-512 of FIG. 3, and/or other steps for performing the techniques described herein.
  • the communication unit 703 is used to support the communication of the acceleration node 12 with other devices, including the user equipment 11 and the remote server 13.
  • the acceleration node 12 may further include a storage unit 701 for storing program codes and data of the acceleration node 12.
  • the processing unit 702 can be a processor or a controller, and can be, for example, a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), and an application-specific integrated circuit (Application-Specific). Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA) or other programmable logic device, transistor logic device, hardware component, or any combination thereof. It is possible to implement or carry out the various illustrative logical blocks, modules and circuits described in connection with the present disclosure.
  • the processor may also be a combination of computing functions, for example, including one or more microprocessor combinations, a combination of a DSP and a microprocessor, and the like.
  • the communication unit 703 can be a communication interface, a transceiver, a transceiver circuit, etc., wherein the communication interface is a collective name, and can include one or more interfaces, such as an interface between the acceleration node 12 and the user equipment 11, and the acceleration node 12 and the remote server. 13 interface between.
  • the storage unit 701 can be a memory.
  • the processing unit 702 is a processor
  • the communication unit 703 is a communication interface
  • the storage unit 701 is a memory
  • the acceleration node 12 involved in the embodiment of the present application may be as shown in FIG. 7B.
  • the acceleration node 12 includes a processor 712, a communication interface 713, and a memory 711.
  • the acceleration node 12 may also include a bus 714.
  • the communication interface 713, the processor 712, and the memory 711 may be connected to each other through a bus 714.
  • the bus 714 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (abbreviated). EISA) bus and so on.
  • PCI Peripheral Component Interconnect
  • EISA Extended Industry Standard Architecture
  • the bus 714 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in Figure 7B, but it does not mean that there is only one bus or one type of bus.
  • the steps of the method or algorithm described in connection with the disclosure of the embodiments of the present application may be implemented in a hardware manner, or may be implemented by a processor executing software instructions.
  • the software instructions may be composed of corresponding software modules, which may be stored in a random access memory (RAM), a flash memory, a read only memory (ROM), an erasable programmable read only memory ( Erasable Programmable ROM (EPROM), electrically erasable programmable read only memory (EEPROM), registers, hard disk, removable hard disk, compact disk read only (CD-ROM) or any other form of storage medium known in the art.
  • An exemplary storage medium is coupled to the processor to enable the processor to read information from, and write information to, the storage medium.
  • the storage medium can also be an integral part of the processor.
  • the processor and the storage medium can be located in an ASIC.
  • the ASIC can be located in the acceleration node 12.
  • the processor and the storage medium may also reside in the acceleration node 12 as discrete components.
  • the functions described in the embodiments of the present application may be implemented in hardware, software, firmware, or any combination thereof.
  • the functions may be stored in a computer readable medium or transmitted as one or more instructions or code on a computer readable medium.
  • Computer readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one location to another.
  • a storage medium may be any available media that can be accessed by a general purpose or special purpose computer.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

L'invention concerne un procédé de fourniture de contenu multimédia comprenant les étapes consistant à : obtenir une demande de contenu envoyée par une unité d'équipement utilisateur à un serveur distant ; déterminer, en fonction de la demande de contenu, un premier nœud dans lequel se trouve actuellement l'unité d'équipement utilisateur, le premier nœud correspondant à un premier contenu actuellement affiché par l'unité d'équipement utilisateur ; détecter si un graphe dirigé comprend un premier bord dirigé envoyé depuis le premier nœud et correspondant à la demande de contenu ; si le graphe dirigé comprend le premier bord dirigé, obtenir, à partir d'une unité de stockage, un premier fichier de données correspondant au premier bord dirigé, le premier fichier de données comprenant des données obtenues en effectuant un codage en continu sur un contenu multimédia demandé par la demande de contenu ; et envoyer le premier fichier de données à l'unité d'équipement utilisateur. La solution fournie par les modes de réalisation de la présente invention réduit la charge pesant sur un serveur distant, ainsi que le retard rencontré par une unité d'équipement utilisateur lors de l'obtention d'un contenu multimédia.
PCT/CN2017/118316 2017-12-25 2017-12-25 Procédé, dispositif, nœud et système de fourniture de contenu multimédia WO2019126949A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/118316 WO2019126949A1 (fr) 2017-12-25 2017-12-25 Procédé, dispositif, nœud et système de fourniture de contenu multimédia

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/118316 WO2019126949A1 (fr) 2017-12-25 2017-12-25 Procédé, dispositif, nœud et système de fourniture de contenu multimédia

Publications (1)

Publication Number Publication Date
WO2019126949A1 true WO2019126949A1 (fr) 2019-07-04

Family

ID=67062765

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/118316 WO2019126949A1 (fr) 2017-12-25 2017-12-25 Procédé, dispositif, nœud et système de fourniture de contenu multimédia

Country Status (1)

Country Link
WO (1) WO2019126949A1 (fr)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101187884A (zh) * 2007-12-06 2008-05-28 北京金山软件有限公司 资源管理方法和资源管理系统
US20130179567A1 (en) * 2000-07-20 2013-07-11 Akamai Technologies, Inc. Network performance monitoring in a content delivery system
CN103718176A (zh) * 2011-07-20 2014-04-09 阿克塞尔斯普林格数字电视指导有限责任公司 视频数据库的简易二维导航
CN104967856A (zh) * 2015-06-25 2015-10-07 华为技术有限公司 一种编码方法及相关设备
US20160034306A1 (en) * 2014-07-31 2016-02-04 Istreamplanet Co. Method and system for a graph based video streaming platform
CN105721883A (zh) * 2014-12-05 2016-06-29 华中科技大学 一种云存储系统中基于溯源信息的视频共享方法与系统
CN106658084A (zh) * 2015-11-02 2017-05-10 杭州华为数字技术有限公司 视频流提供方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130179567A1 (en) * 2000-07-20 2013-07-11 Akamai Technologies, Inc. Network performance monitoring in a content delivery system
CN101187884A (zh) * 2007-12-06 2008-05-28 北京金山软件有限公司 资源管理方法和资源管理系统
CN103718176A (zh) * 2011-07-20 2014-04-09 阿克塞尔斯普林格数字电视指导有限责任公司 视频数据库的简易二维导航
US20160034306A1 (en) * 2014-07-31 2016-02-04 Istreamplanet Co. Method and system for a graph based video streaming platform
CN105721883A (zh) * 2014-12-05 2016-06-29 华中科技大学 一种云存储系统中基于溯源信息的视频共享方法与系统
CN104967856A (zh) * 2015-06-25 2015-10-07 华为技术有限公司 一种编码方法及相关设备
CN106658084A (zh) * 2015-11-02 2017-05-10 杭州华为数字技术有限公司 视频流提供方法及装置

Similar Documents

Publication Publication Date Title
US10917449B2 (en) Systems, methods, and media for delivery of content
US10264044B2 (en) Apparatus and method for sending content as chunks of data to a user device via a network
CN107846633B (zh) 一种直播方法及系统
CN109889543B (zh) 视频传输的方法、根节点、子节点、p2p服务器和系统
JP2020519094A (ja) ビデオ再生方法、デバイス、およびシステム
US20220254069A1 (en) Image processing method and apparatus, electronic device, and storage medium
US20220060532A1 (en) Method for transmitting resources and electronic device
EP4282499A1 (fr) Procédé et appareil de traitement de données, et dispositif et support d'enregistrement lisible
US9445142B2 (en) Information processing apparatus and control method thereof
WO2019149066A1 (fr) Procédé de lecture vidéo, appareil terminal et support d'informations
CN114040232A (zh) 投屏系统、方法、电子设备和存储介质
CN113225585A (zh) 一种视频清晰度的切换方法、装置、电子设备以及存储介质
CN111866526B (zh) 一种直播业务处理方法和装置
CN114245153A (zh) 切片方法、装置、设备及可读存储介质
CN111107387B (zh) 视频转码方法、装置及计算机存储介质
US10694213B1 (en) Overcoming lost or corrupted slices in video streaming
US9277261B2 (en) Information processing apparatus and control method thereof
WO2019126949A1 (fr) Procédé, dispositif, nœud et système de fourniture de contenu multimédia
US10547878B2 (en) Hybrid transmission protocol
CN112073727B (zh) 转码方法、装置、电子设备及存储介质
CN115243074A (zh) 视频流的处理方法及装置、存储介质、电子设备
US9538215B2 (en) Maintaining continuity in media streaming
EP3386203A1 (fr) Signalisation de contenu auxiliaire pour un signal de radiodiffusion
US20180192085A1 (en) Method and apparatus for distributed video transmission
WO2023130893A1 (fr) Procédé et appareil de transmission basés sur un contenu multimédia en continu, dispositif électronique et support de stockage lisible par ordinateur

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17936851

Country of ref document: EP

Kind code of ref document: A1