Data transmission method and device based on content distribution network, equipment and medium
By employing collaborative partitioning of first and second edge nodes and multi-source sub-stream transmission in the content delivery network, the problem of low expansion efficiency caused by increased data transmission volume is solved, achieving efficient bandwidth utilization and improved data transmission quality.
Patent Information
- Application Number
- CN202511453925.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-11
- Publication Date
- 2025-11-18
AI Technical Summary
In content delivery networks, as data transmission volume increases, existing expansion methods are costly and inefficient, failing to effectively meet bandwidth demands. In particular, the service efficiency of low-quality edge nodes is low, leading to transmission latency and reduced bandwidth utilization.
By dividing media data between the first edge node and the second edge node, a second sub-stream without redundancy is formed, and then transmitted to the terminal device in parallel through multiple first edge nodes, multi-source sub-stream transmission is realized, thereby improving bandwidth utilization efficiency and expansion capabilities.
It improves the data transmission quality and efficiency of the content delivery network in scenarios with increased data transmission volume, reduces the back-to-origin bandwidth requirements, and enhances the service efficiency and bandwidth utilization of edge nodes.
Smart Images

Figure CN120980076A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of content delivery network, and particularly relates to a data transmission method and device based on a content delivery network, equipment and a medium. BACKGROUND
[0002] A content delivery network (CDN) realizes low-delay content delivery through a special node cluster deployed globally. For example, as shown in FIG. 1, a multi-level design is adopted, that is, a source station S, a CDN relay node R and a CDN edge node E, and by caching content to an edge node close to a user, the data transmission distance is reduced. Figure 1
[0003] With the increase of data transmission in live streaming and other scenarios, a data transmission method based on a content delivery network is needed to meet the demand for increased data transmission. SUMMARY
[0004] Therefore, the present application provides a data transmission method and device based on a content delivery network, equipment and a medium to solve the problem of increased data transmission.
[0005] In a first aspect, the present application provides a data transmission method based on a content delivery network, applied to a first edge node, the first edge node being connected with a second edge node of the content delivery network and a terminal device respectively, and the method comprises the following steps. receiving a first substream of first media data sent by the second edge node, the second edge node being configured to divide the first media data based on a first number to obtain second substreams, and there is no redundancy between the second substreams, the first number being the same as the number of first edge nodes corresponding to a first media request, the first media request corresponding to a first application in the terminal device; sending the first substream to the first application in the corresponding terminal device, the first application in the terminal device being used to play after assembling the received first substream.
[0006] In a second aspect, the present application provides a data transmission method based on a content delivery network, applied to a first application in a terminal device, and the method comprises the following steps. sending a first media request to a first number of first edge nodes, the first media request being used to request first media data, the first media request carrying a substream identifier, the substream identifiers in the first media requests corresponding to different first edge nodes being different, the first edge nodes being connected with a second edge node of the content delivery network and the terminal device respectively; receive the first sub-streams sent by the first edge nodes in the first quantity, the first sub-streams corresponding to the sub-stream identifiers, the second edge node being configured to divide the first media data into a second quantity of second sub-streams without redundancy between the second sub-streams and distribute the second sub-streams to corresponding first edge nodes; play after assembling the first sub-streams.
[0007] In a third aspect, the present application provides a data transmission apparatus based on a content distribution network, applied to a first edge node, the first edge node being connected with a second edge node of the content distribution network and a terminal device respectively, comprising: a first receiving module, configured to receive first sub-streams of first media data sent by the second edge node, the second edge node being configured to divide the first media data based on a first quantity to obtain second sub-streams without redundancy between the second sub-streams, the first quantity being the same as a quantity of first edge nodes corresponding to a first media request, the first media request corresponding to a first application in the terminal device; a first sending module, configured to send the first sub-streams to the first application in the terminal device, the first application in the terminal device being configured to play after assembling the received first sub-streams.
[0008] In a fourth aspect, the present application provides a data transmission apparatus based on a content distribution network, applied to a first application in a terminal device, comprising: a second sending module, configured to send a first media request to a first quantity of first edge nodes, the first media request being used to request first media data, the first media request carrying a sub-stream identifier, the sub-stream identifiers in the first media requests corresponding to different first edge nodes being different, the first edge nodes being connected with a second edge node of the content distribution network and the terminal device respectively; a third receiving module, configured to receive first sub-streams sent by the first edge nodes in the first quantity, the first sub-streams corresponding to the sub-stream identifiers, the second edge node being configured to divide the first media data based on a first quantity to obtain second sub-streams without redundancy between the second sub-streams and distribute the second sub-streams to corresponding first edge nodes; a playing module, configured to play after assembling the first sub-streams.
[0009] In a fifth aspect, the present application provides an electronic device, comprising a memory and a processor, the memory and the processor being communicatively connected with each other, the memory storing computer instructions, and the processor executing the computer instructions to perform the data transmission method based on the content distribution network of the first aspect or any of the corresponding embodiments thereof.
[0010] In a sixth aspect, the present application provides a computer readable storage medium, having stored thereon computer instructions for causing a computer to execute the content distribution network based data transmission method of the first aspect or any of the corresponding implementation forms thereof.
[0011] In a seventh aspect, the present application provides a computer program product comprising computer instructions for causing a computer to execute the content distribution network based data transmission method of the first aspect or any of the corresponding implementation forms thereof.
[0012] In an eighth aspect, the present application provides a content distribution network based data transmission system, comprising: a first application in a terminal device, configured to send a first media request to a first number of first edge nodes, the first media request being used to request first media data, and the first media request carrying a substream identifier, the substream identifiers in the first media requests corresponding to different first edge nodes being different, and the first edge nodes being connected with second edge nodes of the content distribution network and the terminal device respectively; a second edge node, configured to divide the first media data based on the first number to obtain second substreams and the second substreams having no redundancy, and distribute the second substreams to corresponding first edge nodes; the first edge node, configured to receive the first substreams of the first media data sent by the second edge node, and send the first substreams to the first application in the terminal device; the first application in the terminal device is further configured to play after assembling the received first substreams.
[0013] The method for data transmission based on a content distribution network provided by the embodiments of the present application is applied to a first edge node, the first edge node is connected with a second edge node of the content distribution network and a terminal device respectively, and the method comprises the following steps: receiving a first substream of first media data sent by the second edge node, the second edge node is configured to divide the first media data based on a first quantity to obtain second substreams, and there is no redundancy between the second substreams, the first quantity is the same as the number of the first edge nodes corresponding to a first media request, and the first media request corresponds to a first application in the terminal device; and sending the first substream to the first application in the corresponding terminal device, the first application in the terminal device is used to play after assembling the received first substream. The method combines the first edge node and the second edge node to transmit the media data, the first media data is divided into the second substreams without redundancy by the second edge node, and the first substream is sent to the first application in the terminal device by the first edge node, that is, the first application in the terminal device pulls the substream from the first edge node instead of the full stream, and the first application in the terminal device pulls the stream from multiple first edge nodes instead of a fixed edge node. The method can increase the expansion capacity of the CDN and ensure the data transmission quality in the scenario of increasing data transmission capacity by the cooperation of the first edge node and the second edge node. BRIEF DESCRIPTION OF DRAWINGS
[0014] In order to more clearly illustrate the technical solutions in the specific embodiments or the related art, the following will briefly introduce the drawings needed to be used in the specific embodiments or the related art description. Obviously, the drawings in the following description are some embodiments of the present application, and those skilled in the art can also obtain other drawings according to these drawings without any creative effort.
[0015] Figure 1 is a structural schematic diagram of a content distribution network in the related art; Figure 2 is a structural schematic diagram of a data transmission system based on a content distribution network according to the embodiments of the present application; Figure 3 is a schematic diagram of an application scenario according to the embodiments of the present application; Figure 4 is a first flow schematic diagram of a data transmission method based on a content distribution network according to the embodiments of the present application; Figure 5 is a second flow schematic diagram of a data transmission method based on a content distribution network according to the embodiments of the present application; Figure 6 is a first structural block diagram of a data transmission device based on a content distribution network according to the embodiments of the present application; Figure 7is a first structural block diagram of a content distribution network-based data transmission apparatus according to an embodiment of the present application; Figure 8 is a hardware structure schematic diagram of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0016] To make the objectives, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be described below in connection with the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work fall within the scope of protection of the present application.
[0017] It can be understood that, before using the technical solutions disclosed in the embodiments of the present application, the type, use range, use scenario, etc. of the personal information involved in the present application should be informed to the user and the authorization of the user should be obtained through appropriate means according to relevant laws and regulations.
[0018] For example, in response to receiving the active request of the user, prompt information is sent to the user to explicitly prompt the user that the operation requested to be performed will need to obtain and use the personal information of the user. Thus, the user can autonomously select whether to provide the personal information to the electronic device, application program, server or storage medium, etc. software or hardware performing the operation of the technical solutions of the present application according to the prompt information.
[0019] As an optional but non-limiting implementation manner, in response to receiving the active request of the user, the manner of sending the prompt information to the user may, for example, be a pop-up window manner, and the prompt information may, for example, be presented in the form of text in the pop-up window. In addition, the pop-up window may, for example, also carry a selection control for the user to select “agree” or “disagree” to provide the personal information to the electronic device.
[0020] It can be understood that the above notification and obtaining of the authorization of the user are only illustrative, and do not limit the implementation manners of the present application, and other manners meeting the relevant laws and regulations can also be applied to the implementation manners of the present application.
[0021] It can be understood that the data (including but not limited to the data itself, the acquisition or use of the data) involved in the present technical solution should comply with the requirements of the corresponding laws and regulations and relevant provisions.
[0022] In related technologies, CDN networks are expanded by adding edge nodes to handle increased data transmission volumes. However, this expansion is costly and edge coverage has limitations. The deployment process for dedicated CDN nodes is complex and time-consuming, making it difficult to flexibly handle traffic peaks. Furthermore, the geographical density of dedicated CDN nodes is limited, preventing them from being close enough to end users, and there is still room for improvement in transmission latency.
[0023] Building upon this, some other related technologies supplement this by deploying low-quality edge nodes. For example, ... Figure 1 The example shown is edge node B. Furthermore, it is referred to as a low-quality edge node because its bandwidth and performance are lower than those of dedicated CDN nodes.
[0024] Accordingly, data transmission based on the expanded low-quality edge nodes adopts single-source transmission, meaning that the terminal device pulls the full stream from a single edge node. A full stream typically refers to live stream data containing complete audio and video information. The terminal device pulls the full stream from the low-quality edge node, meaning it obtains the complete live content, not a cropped or simplified data stream.
[0025] Specifically, such as Figure 1 As shown, low-quality edge node B is used as an L1 node with smaller bandwidth capacity and is located in the same layer as the L1 node in the CDN network. In this case, low-quality edge node B feeds back to the origin server from the L2 node. Alternatively, the low-quality edge node can also act as an extension layer of the CDN network, pulling streams to the L1 node. In both of these scenarios, the device terminal pulls the full stream from the low-quality edge node.
[0026] However, in both of the above schemes, single-source full-stream transmission leads to lower service efficiency for low-quality edge nodes. For example, in a scheme where a low-quality edge node is used as a low-bandwidth L1 node and is at the same layer as other L1 nodes, the low-quality edge node directly serves users at the L1 layer. One dedicated L1 node can serve 100 users, occupying one unit of back-to-origin bandwidth. However, due to the limited bandwidth and performance of low-quality edge nodes, if 10 low-quality edge nodes are used to serve the same 100 users, 10 low-quality edge nodes are needed, correspondingly occupying 10 units of back-to-origin bandwidth. In this case, the back-to-origin bandwidth of L2 increases, meaning that the bandwidth utilization of L2 decreases by 90%.
[0027] In solutions using low-quality edge nodes as extension layers of a CDN network, this back-to-origin bandwidth is extra because the low-quality edge nodes are used to send data back to the L1 nodes. Furthermore, the smaller bandwidth of low-quality edge nodes limits their amplification ratio when serving users. The amplification ratio characterizes the proportion of user bandwidth to back-to-origin bandwidth.
[0028] Based on this, the embodiment of the application provides a data transmission method based on a content distribution network, which is applied to a first edge node, the first edge node is connected with a second edge node of the content distribution network and a terminal device respectively, and the method comprises the following steps: receiving a first substream of first media data sent by the second edge node, the second edge node is configured to divide the first media data based on a first quantity to obtain second substreams, and there is no redundancy between the second substreams, the first media request corresponds to a first application in the terminal device; and sending the first substream to the first application in the corresponding terminal device, the first application in the terminal device is used for playing after assembling the received first substream.
[0029] The method combines the first edge node and the second edge node to transmit the media data, the second edge node divides the first media data into second substreams without redundancy, and sends the second substreams to the first application in the terminal device through the first edge node, that is, the first application in the terminal device pulls the substream from the first edge node instead of the full stream, and the first application in the terminal device pulls the stream from multiple first edge nodes instead of a fixed edge node. The method can increase the expansion capacity of the CDN and ensure the data transmission quality in the scenario of increasing data transmission capacity through the cooperation of the first edge node and the second edge node.
[0030] Further, the embodiment of the application provides a data transmission system based on a content distribution network, as shown in the figure, comprising a first edge node 201, a second edge node 202 and a terminal device 203. Figure 2 The first edge node 201, the second edge node 202 and the terminal device 203 are connected with each other.
[0031] Specifically, the first edge node 201, that is, the low-quality edge node described above. The first edge node 201 is connected with the second edge node 202 and the terminal device 203 respectively. The number and the position of the first edge node 201 are set according to actual needs, and are not limited here.
[0032] The first application in the terminal device sends a first media request to the first quantity of first edge nodes. The first media request is used to request the first media data, and the first media request carries a substream identifier. The substream identifiers in the first media requests corresponding to different first edge nodes are different. For the first media data to be played by the first application, the first application initiates a request to the first quantity of first edge nodes, and correspondingly, the first edge node sends the corresponding substream to the first edge node according to the substream identifier in the first media request.
[0033] The second edge node 202, which can also be understood as a CDN dedicated edge node, i.e., an L1 node in the CDN network. The second edge node 202 obtains a full stream of the media data from the upstream node. The second edge node can subscribe to a message from the first edge node, i.e., can obtain the number of the first edge nodes that subscribe to the first media data and the substream identifiers corresponding to the respective first edge nodes. Based on this, the second edge node 202 determines the first number based on the subscription message, divides the first media data into second substreams based on the first number, and distributes the second substreams to the corresponding first edge nodes without redundancy between the second substreams.
[0034] Correspondingly, the first edge node is configured to receive the first substream of the first media data sent by the second edge node, and the first number of the first edge nodes perform substream transmission to the terminal device in parallel, i.e., the first application in the terminal device is configured to receive the first substream sent by the first number of the first edge nodes and play after assembling the first substream.
[0035] The data transmission system based on the content distribution network provided in the embodiment achieves scheduling of a large number of first edge nodes and mapping of the first edge nodes and the terminal device through the cooperative control framework of the first edge node, the second edge node, and the first application in the terminal device. In addition, the data transmission in the embodiment is a multi-source substream transmission mode, which can improve the bandwidth utilization efficiency and reduce the source traffic through substream splitting and non-redundant parallel transmission of the first media data.
[0036] Further, as shown in Figure 2 The data transmission system based on the content distribution network provided in the embodiment further includes a global scheduler 204 connected with the first edge node 201 and the terminal device 203.
[0037] The first edge node 201 is configured to detect a local first node state and send the first node state to the global scheduler 204. The first node state includes but is not limited to static features and dynamic features. The static features can be location information of the first edge node, an Internet Service Provider (ISP), and the like. The dynamic features can be a bandwidth utilization rate, a packet loss rate, and the like. The actual demand is set, and the static features and the dynamic features are not limited herein.
[0038] The global scheduler 204 receives a second candidate node request sent by a first application in the terminal device, generates first candidate node information based on the second candidate node request and the status of the first node, and sends the first candidate node information to the first application in the terminal device. The first application in the terminal device can be a live streaming application or other media playback application; there is no limitation on this. When there is a media playback requirement, the first application in the terminal device sends a second candidate node request to the global scheduler 204 to request the global scheduler 204 to issue candidate node information. This candidate node information is applicable to that terminal device. That is, the candidate node information requested by different terminal devices from the global scheduler 204 is not entirely the same.
[0039] The global scheduler 204 generates first candidate node information suitable for the terminal device based on the first node status and second candidate node requests sent by each first edge node, and feeds it back to the terminal device. Based on this, the first application in the terminal device determines a first number of first edge nodes based on the first candidate node information and sends a first media request to the first number of edge nodes. As an optional application scenario of this application embodiment, such as... Figure 3 As shown, the data transmission system based on a content delivery network can be divided into a multi-layer collaborative control plane and a multi-source sub-stream transmission plane. Specifically, the multi-layer collaborative plane includes a global scheduler 304, an edge node advisor 3011, and a client controller 3031. The global scheduler 304 can be deployed in a cluster, a data center, etc., without any limitation. The edge node advisor 3011 is deployed in the first edge node 301; that is, each first edge node 301 has an edge node advisor 3011 deployed. The edge node advisor 3011 is used to detect the local first node status and generate switching suggestions based on the first node status, etc. The client controller 3031 is deployed in the first application of the terminal device 303, exemplarily in the software development kit (SDK) of the first application. The first application of the terminal device reports the session status to the multi-layer collaborative control plane so that the global scheduler 304 can know the data transmission status of the first application.
[0040] A multi-source substream transmission plane is used to implement substream transmission. This plane includes a second edge node 302, a first edge node 301, and a terminal device 303. The second edge node 302 is used to divide the entire media data stream into substreams. Correspondingly, each first edge node 301, after receiving a substream, transmits it in parallel to the terminal device 303. The terminal device 303, after receiving the substream, assembles it and plays it.
[0041] Exemplarily, if three first edge nodes request the first media data, the second edge node divides the first media data of the full stream to obtain sub-streams corresponding to the three first edge nodes. The second edge node divides the full stream according to network abstraction layer units (NALUs) to obtain a plurality of network abstraction layer units. The plurality of network abstraction layer units sent to each first edge node are referred to as a sub-stream. For example, network abstraction layer unit 1 is sent to the first edge node 1, network abstraction layer unit 2 is sent to the first edge node 2, network abstraction layer unit 3 is sent to the first edge node 3, network abstraction layer unit 4 is sent to the first edge node 1, and so on. That is, if there are k first edge nodes corresponding to the first media request, the second edge node divides the first media data according to the value of k, and sends the (n*k+1) th network abstraction layer unit to the first edge node 1, the (n*k+2) th network abstraction layer unit to the first edge node 2, and the (n*k+3) th network abstraction layer unit to the first edge node 3. Wherein, n=0, 1, 2, ….
[0042] Corresponding to the first edge node 1, it can be understood that it transmits the first sub-stream; corresponding to the first edge node 2, it can be understood that it transmits the second sub-stream; and corresponding to the first edge node 3, it can be understood that it transmits the third sub-stream.
[0043] According to the embodiments of the present application, a data transmission method based on a content distribution network is provided. It should be noted that the steps shown in the flowchart can be executed in a computer system such as a group of computer executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a different order.
[0044] In this embodiment, a data transmission method based on a content distribution network is provided, which can be applied to a first edge node, Figure 4 The flowchart of the data transmission method based on a content distribution network according to the embodiments of the present application is shown in Figure 4 The flowchart includes the following steps: Step S401, receiving a first sub-stream of first media data sent by a second edge node.
[0045] The second edge node is configured to divide the first media data to obtain second sub-streams based on a first number, and there is no redundancy between the second sub-streams. The first number is the same as the number of first edge nodes corresponding to the first media request, and the first media request corresponds to a first application in the terminal device.
[0046] As described above, the first application of the terminal device determines the number of first edge nodes, i.e., the first number of first edge nodes, to be connected currently. After determining the first edge nodes to be connected, the terminal device establishes a connection with the corresponding first edge node.
[0047] After establishing the connection, the first application in the terminal device sends a first media request to the first edge node. Then, the first edge node can know the terminal device currently subscribed to it through the subscription relationship. Accordingly, if the first edge node itself does not have subscribed media data, it needs to source back to the first edge node, and then the second edge node can know which first edge nodes subscribe to it through the subscription relationship, and accordingly, the second edge node can know the number of first edge nodes, i.e., the first number, corresponding to the first media data.
[0048] The second edge node splits the first media data into a first number of second sub-streams, and there is no redundancy between the second sub-streams. Wherein, the described no redundancy can be understood as no overlap between the sub-streams.
[0049] After the second edge node divides the first media data, the obtained sub-streams are transmitted to the corresponding first edge node. Accordingly, the first edge node receives the first sub-stream of the first media data.
[0050] Exemplarily, for the first application in the terminal device, after determining the first number of first edge nodes, the number of sub-streams to be requested and the sub-stream identifiers to be transmitted by each first edge node can be determined according to the specific value of the first number. For example, when the terminal device sends the first media request to the first edge node, the sub-stream identifier can be carried in the first media request, and accordingly, the first edge node can know which sub-stream of which media data it needs to transmit to the terminal device, i.e., the sub-stream can be transmitted in the form of full stream identifier + sub-stream identifier to distinguish different sub-streams of different media data.
[0051] For the second edge node, it can know the number of corresponding sub-streams of the first media data and the sub-stream identifiers corresponding to the corresponding first edge nodes through the subscription relationship. Then, after dividing the first media data, the second edge node transmits the corresponding sub-streams to the corresponding first edge nodes. Accordingly, the first edge node can receive the first sub-stream sent by the second edge node.
[0052] For the convenience of description, the second sub-stream divided by the second edge node is called the second sub-stream, and the first sub-stream received by the first edge node is called the first sub-stream. Alternatively, it can also be understood that the second edge node divides multiple second sub-streams, and the first sub-stream is one of the multiple second sub-streams.
[0053] It should be understood that the first edge node can serve a first application in a plurality of terminal devices. The first application in different terminal devices can request different sub-streams of media data, or can request different sub-streams of the same media data. Therefore, the terminal devices requesting the same sub-stream of the same media data can be connected with the same first edge node. In an ideal state, the same edge node serves the first applications in a plurality of terminal devices, and the plurality of first applications request the same sub-stream of the same media data.
[0054] In step S402, the first sub-stream is transmitted to the first application in the corresponding terminal device.
[0055] The first application in the terminal device is configured to play after assembling the received first sub-stream.
[0056] The first edge node transmits the received first sub-stream to the first application in the corresponding terminal device according to the requirement. The requirement is represented by the first media request. As described above, the first media request describes which sub-stream of which media data is requested by the terminal device from the first edge node. Therefore, the first edge node transmits the received first sub-stream to the first application in the corresponding terminal device.
[0057] The first application aims to play the first media data. Therefore, the first application can play after assembling the first sub-stream according to the sub-stream identifier after receiving the first sub-stream.
[0058] The data transmission method based on the content distribution network provided by the embodiment combines the first edge node and the second edge node to transmit media data. The second edge node divides the first media data into non-redundant second sub-streams and transmits the second sub-streams to the first application in the terminal device through the first edge node. That is, the first application in the terminal device pulls the sub-stream from the first edge node instead of the full stream, and the first application in the terminal device pulls the stream from a plurality of first edge nodes instead of a fixed edge node. The method can increase the expansion capability of the CDN and ensure the data transmission quality in the scenario of increasing data transmission volume by cooperation of the first edge node and the second edge node.
[0059] In some optional embodiments, the first number of first edge nodes are configured to transmit the first number of first sub-streams in parallel. Since the second sub-streams are non-redundant, the first sub-streams received by the first edge nodes are also non-redundant. Therefore, the first edge nodes can independently transmit the received first sub-streams, that is, the first number of first edge nodes transmit the first number of first sub-streams in parallel.
[0060] The first quantity of first sub-streams are transmitted in parallel by the first quantity of first edge nodes, i.e., capacity expansion is achieved by multi-source sub-stream transmission.
[0061] In some optional embodiments, the number of sub-streams transmitted by the first edge node is less than the first threshold. That is, as described above, in an ideal state, the first edge node only transmits 1 sub-stream. Exemplarily, the first edge node serves 10 users, and the 10 users request the same 1 sub-stream of the same media data. Then, the first edge node only needs to occupy 1 piece of back-to-source bandwidth to serve the 10 users, which can improve the amplification ratio of the first edge node when serving users.
[0062] Therefore, by restricting the number of sub-streams transmitted by the first edge node, the first edge node transmits a small number of sub-streams, thereby reducing the number of back-to-source times and improving bandwidth utilization.
[0063] In some optional embodiments, the above-mentioned content distribution network-based data transmission method comprises: Step a1, detecting a first node state of a local.
[0064] Step a2, generating a first switching suggestion based on the first node state.
[0065] Step a3, sending the first switching suggestion to a first application in a terminal device, and the first application in the terminal device is used to switch the connected first edge node according to the first switching suggestion.
[0066] For the first edge node, it also detects the first node state of the local in the working process, so as to generate a switching suggestion. Exemplarily, the first node state includes but is not limited to the communication quality between the first edge node and the connected terminal device, the communication quality of the first edge node itself, and the remaining bandwidth of the first edge node, etc.
[0067] According to the detected first node state, the first edge node can determine which terminal devices connected have poor communication quality, and then generate a first switching suggestion for suggesting the corresponding terminal device to switch to other first edge nodes.
[0068] Alternatively, the first edge node can also determine the remaining bandwidth. In the case that the remaining bandwidth is large, although the connection quality is poor, the corresponding terminal device can be suggested to maintain the connection.
[0069] It should be understood that the first edge node can generate a corresponding first switching suggestion according to actual needs. For example, the first edge node maintains a switching rule, and by comparing the first node state with the switching rule, a first switching suggestion can be generated.
[0070] The first edge node sends the first switching suggestion to a first application in the corresponding terminal device after generating the first switching suggestion. Accordingly, the first application performs switching of the first edge node according to the first switching suggestion. It should be noted that the first application does not directly perform switching after receiving the first switching suggestion, but decides whether to switch according to its own needs.
[0071] The first edge node generates the first switching suggestion by detecting the first node state of the first edge node, so as to ensure that the first application in the terminal device has high data transmission quality.
[0072] In some optional embodiments, the data transmission method based on the content distribution network comprises: sending the first node state to a global scheduler, the global scheduler being configured to generate first candidate node information based on the first node state, and sending the first candidate node information to a first application in the terminal device, the first application in the terminal device being configured to determine a first edge node corresponding to the first media request based on the first candidate node information.
[0073] The first edge node sends the detected first node state to the global scheduler, and the frequency of sending the first node state to the global scheduler is lower than the frequency of generating the first switching suggestion based on the first node state. This is because the connection currently performing data communication is more important than the update of the candidate node information.
[0074] The first application in the terminal device sends a candidate node request to the global scheduler in the case of having a media data playing demand, and accordingly, the global scheduler generates first candidate node information corresponding to the terminal device based on the candidate node request and the first node state.
[0075] As described above, the first node information comprises static features and dynamic features, and the static features comprise location information and the like. For the candidate node request, the terminal device can carry the area to which the terminal device belongs, and the global scheduler can first screen the first edge nodes in the CDN system by using the area to which the terminal device belongs. On this basis, the first edge nodes are screened again in combination with the features of the first edge nodes, for example, scoring each edge node, taking the first N edge nodes with the highest scores as the first candidate nodes, and sending the first candidate node information to the first application in the terminal device.
[0076] The global scheduler globally manages the first edge nodes, and feeds back the first candidate node information to the first application in the terminal device, thereby improving the efficiency of connection node decision-making of the first application in the terminal device.
[0077] In the embodiment, a data transmission method based on a content distribution network is provided, which can be applied to a first application in a terminal device,Figure 5 is a flowchart of a data transmission method based on a content distribution network according to an embodiment of the present application, as shown in Figure 5 , the flow includes the following steps: Step S501, a first media request is sent to a first number of first edge nodes.
[0078] The first media request is used to request the first media data, and the first media request carries a substream identifier. The substream identifiers in the first media requests corresponding to different first edge nodes are different. The first edge nodes are respectively connected with second edge nodes of the content distribution network and terminal devices.
[0079] After the first application determines the first number of first edge nodes, it generates the first media request. Before this, the terminal device needs to establish a communication connection with the first number of first edge nodes. That is, the terminal device is connected with the first number of first edge nodes, and the first media request generated by the terminal device is for the first number of first edge nodes. In order to realize multi-source parallel transmission, different first edge nodes transmit different substreams, so the first media request carries a substream identifier, and different first edge nodes correspond to different first media requests. Further, the correspondence is different substream identifiers.
[0080] For example, the first number is 5, which are first edge node 1~first edge node 5. The substream identifier in the first media request corresponding to the first edge node 1 is 1, the substream identifier in the first media request corresponding to the first edge node 2 is 2, …, and the substream identifier in the first media request corresponding to the first edge node 5 is 5.
[0081] Step S502, the first number of first edge nodes sends the first substream.
[0082] The first substream corresponds to the substream identifier. The second edge node is configured to divide the first media data based on the first number to obtain the second substream, and there is no redundancy between the second substreams. The second edge node distributes the second substream to the corresponding first edge node.
[0083] The second edge node is used to divide the first media data of the full stream to obtain a plurality of second substreams without redundancy between each other. For details, see the above description, which will not be repeated here.
[0084] In combination with Figure 3 , the first number of first edge nodes transmit the first substream to the terminal device in parallel, and accordingly, the first application can receive the first number of first substreams.
[0085] Step S503, the first substream is assembled and played.
[0086] After receiving the first substream, the first application assembles the first substream according to the substream identifier and plays the assembled media data.
[0087] The method for data transmission based on a content distribution network provided in this embodiment includes the following steps.
[0088] In some optional embodiments, the method for data transmission based on a content distribution network further includes the following steps. In step b1, the first switching suggestion sent by the first edge node is received, and the first edge node is configured to generate the first switching suggestion based on the local first node state.
[0089] In step b2, the first edge node connected is switched and the first candidate node information is updated based on the first switching suggestion and the first candidate node information.
[0090] After receiving the first switching suggestion sent by the first edge node, the first application selects another first edge node from the first candidate node information for switching. For example, the first edge node 1 to the first edge node 5 are currently connected, and if the first application receives the first switching suggestion of the first edge node 1, the first application selects the first edge node 6 from the first candidate node information for switching. Correspondingly, the first edge node 6 is sent a media data request, and the media data request includes the substream identifier corresponding to the first substream sent by the first edge node 1. That is, the first substream sent by the first edge node 1 is switched to the first edge node 6 for sending.
[0091] For the first application, the first edge node 1 can be removed from the first candidate node information, that is, the first candidate node information is updated to obtain updated first candidate node information. It should be understood that during the data transmission process, multiple candidate nodes in the first candidate node information can be removed.
[0092] It should be noted that the first edge node 1 can simultaneously undertake the sending of multiple substreams, that is, serve multiple first applications. The first switching request corresponds to one or more first applications, but not all the first applications currently connected.
[0093] After receiving the first switching suggestion sent by the first edge node, the first edge node connected is dynamically switched according to the first candidate node information, so as to ensure the optimization of local transmission.
[0094] In some optional embodiments, the data transmission method based on the content distribution network further includes: Step c1, receiving the first candidate node information sent by the global scheduler.
[0095] Step c2, determining the first quantity of first edge nodes based on the first candidate node information.
[0096] The global scheduler is configured to generate the first candidate node information based on the first node state of the first edge node, and the first edge node is connected with a second edge node of the content distribution network and a terminal device.
[0097] For the first application, if there is a demand for playing media data, a candidate node request is sent to the global scheduler, and correspondingly, the global scheduler generates the first candidate node information based on the request and the first node state of each first edge node. It should be understood that the first candidate node information corresponds to the first application that initiates the candidate node request, and the first candidate node information corresponding to the first application of different terminal devices is not the same.
[0098] Exemplarily, the global scheduler recommends candidate nodes for each first application according to the candidate node request of each first application. The global scheduler can perform weighted calculation by combining the static characteristics and dynamic characteristics of each first edge node to obtain the score of each first edge node, and then determine the candidate node of each first application according to the score to obtain the first candidate node information. It should be understood that the global scheduler can give priority to the location information of the first edge node, and then filter other characteristics on this basis.
[0099] After the first application receives the first candidate node information, the first quantity of first edge nodes can be selected therefrom. For example, the first edge nodes can be selected in descending order of the score of the first candidate node, and used as the first edge nodes currently required to be connected.
[0100] Exemplarily, the global scheduler sends 20 first candidate nodes to the first application, and the first application determines 10 of them as the first edge nodes currently required to be connected.
[0101] The determination of the first quantity can be realized by configuration, or can be determined by the first application according to its own demand. For example, the current communication quality of the terminal device, and the like. The actual demand is set, and it is not limited herein.
[0102] In some optional embodiments, the content distribution network-based data transmission method described above further includes: Step d1, if the number of candidate nodes in the first candidate node information is less than a preset number, sending a first candidate node request to the global scheduler.
[0103] Step d2, receiving second candidate node information sent by the global scheduler.
[0104] Step d3, updating the local first candidate node information by using the second candidate node information.
[0105] As described above, the number of candidate nodes in the first candidate node information may gradually decrease during the data transmission process. Therefore, the number of candidate nodes in the first candidate node information can be restricted by the preset number, and the first application sends a first candidate node request to the global scheduler to request the global scheduler to issue candidate node information again if the number of candidate nodes is less than the preset number.
[0106] That is, the first application can receive the second candidate node information sent by the global scheduler. It should be understood here that the first edge node also sends the first node state to the global scheduler, and therefore the second candidate node information issued by the global scheduler does not include the candidate nodes that have been removed from the first candidate node information by the first application.
[0107] After receiving the second candidate node information, the first application fuses it with the local first candidate information, that is, updates the local first candidate node information.
[0108] If the number of candidate nodes maintained locally is less than the preset number, a first candidate node request is initiated to the global scheduler to supplement the local candidate nodes, thereby ensuring the reliability of the local data transmission.
[0109] In some optional embodiments, the step S505 described above includes: Step e1, assembling the first substream based on the identifier of the media data in the first substream.
[0110] Step e2, playing the assembled media data.
[0111] After receiving the first substream, the first application reassembles the media data in the first substream based on the identifier of the media data to obtain the assembled media data. As described above, the second edge node is divided based on the network transmission unit NALU, and each divided network transmission unit has a unique identifier. Accordingly, the first application reassembles the network transmission unit by using the unique identifier, and the assembled media data is obtained.
[0112] The first application in the terminal device can guarantee the smoothness of the played first media data after assembling the first sub-stream according to the sub-stream identifier of the first sub-stream.
[0113] As a specific application embodiment of the embodiment of the present application, in a live broadcast scenario, a live broadcast application is installed on a mobile phone, and in the case that there is a demand for stream pulling, the live broadcast application sends a candidate node request to the global scheduler to obtain first candidate node information. The live broadcast application selects 5 from the first candidate node information as first edge nodes for connection. The live broadcast application sends a media data request to each of the 5 first edge nodes, and carries a sub-stream identifier in the media data request, that is, sub-stream identifier 1~sub-stream identifier 5. The CDN special edge node (that is, the second edge node) learns the number of first edge nodes and the requested first media data from the first edge nodes through a subscription relationship. The CDN special edge node divides the first media data to obtain a plurality of second sub-streams. The CDN special edge node sends the second sub-streams obtained by cutting to the corresponding first edge nodes. In order to facilitate distinction, the sub-streams sent to the first edge nodes are referred to as first sub-streams. The first edge nodes send the first sub-streams to the corresponding live broadcast applications. The live broadcast application reassembles the received first sub-streams according to the identifier of the media data in the first sub-streams to obtain the first media data and play the first media data.
[0114] The method realizes a system architecture with capacity expansion through the combination of the CDN special edge node and the first edge node (low-quality edge node) and multi-source sub-stream transmission. In addition, through the three-layer cooperative control framework of the global scheduler, the first edge node and the terminal device, dynamic scheduling and node mapping of a super large-scale first edge node are realized. Through frame-level sub-stream splitting and non-redundant parallel transmission, the bandwidth utilization efficiency is improved and the backhaul traffic is reduced.
[0115] In the embodiment, a content distribution network-based data transmission device is also provided, which is used to implement the above-mentioned embodiments and preferred embodiments, and details are not repeated. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware or a combination of software and hardware is also possible and is contemplated.
[0116] The embodiment provides a content distribution network-based data transmission device, as shown in Figure 6 The device is applied to a first edge node connected with a second edge node of a content distribution network and a terminal device, and includes: The first receiving module 601 is configured to receive a first substream of first media data sent by a second edge node, the second edge node being configured to divide the first media data into second substreams based on a first quantity, and the second substreams having no redundancy, the first quantity being the same as a quantity of first edge nodes corresponding to a first media request, the first media request corresponding to a first application in the terminal device.
[0117] The first sending module 602 is configured to send the first substream to the first application in the terminal device, the first application in the terminal device being configured to play after assembling the received first substream.
[0118] In some optional embodiments, the first quantity of first edge nodes are configured to transmit the first quantity of first substreams in parallel.
[0119] In some optional embodiments, the number of substreams transmitted by the first edge node is less than a first threshold.
[0120] In some optional embodiments, the data transmission apparatus based on the content distribution network further includes: The first detecting module is configured to detect a first node state locally.
[0121] The suggestion generating module is configured to generate a first switching suggestion based on the first node state. The suggestion sending module is configured to send the first switching suggestion to the first application in the terminal device, the first application in the terminal device being configured to switch the connected first edge node according to the first switching suggestion.
[0122] In some optional embodiments, the data transmission apparatus based on the content distribution network further includes: The state sending module is configured to send the first node state to a global scheduler, the global scheduler being configured to generate first candidate node information based on the first node state, and send the first candidate node information to the first application in the terminal device, the first application in the terminal device being configured to determine the first edge node corresponding to the first media request based on the first candidate node information.
[0123] The embodiment provides a data transmission apparatus based on a content distribution network, as shown in Figure 7 The apparatus is applied to a first application in a terminal device, and includes: The second sending module 701 is configured to send a first media request to the first quantity of first edge nodes, the first media request being configured to request first media data, the first media request carrying a substream identifier, the substream identifiers in the first media requests corresponding to different first edge nodes being different, and the first edge nodes being connected with second edge nodes of the content distribution network and the terminal device respectively.
[0124] The third receiving module 702 is configured to receive the first sub-streams sent by the first edge nodes in the first quantity, the first sub-streams corresponding to the sub-stream identifiers, the second edge node being configured to divide the first media data based on the first quantity to obtain the second sub-streams and there being no redundancy between the second sub-streams, and distribute the second sub-streams to the corresponding first edge nodes.
[0125] The playing module 703 is configured to play the first sub-streams after assembling.
[0126] In some optional embodiments, the content distribution network-based data transmission apparatus further includes: The fourth receiving module is configured to receive a first switching suggestion sent by the first edge node, the first edge node being configured to generate the first switching suggestion based on a local first node state.
[0127] The node switching module is configured to switch the connected first edge node and update the first candidate node information based on the first switching suggestion and the first candidate node information.
[0128] In some optional embodiments, the content distribution network-based data transmission apparatus further includes: The second receiving module is configured to receive first candidate node information sent by a global scheduler, the global scheduler being configured to generate the first candidate node information based on a first node state of the first edge node, the first edge node being connected with a second edge node of the content distribution network and a terminal device respectively.
[0129] The first determining module is configured to determine the first edge nodes in the first quantity based on the first candidate node information.
[0130] In some optional embodiments, the content distribution network-based data transmission apparatus further includes: The third sending module is configured to send a first candidate node request to the global scheduler if the number of candidate nodes in the first candidate node information is less than a preset number.
[0131] The fifth receiving module is configured to receive second candidate node information sent by the global scheduler.
[0132] The updating module is configured to update the local first candidate node information by using the second candidate node information.
[0133] In some optional embodiments, the playing module 705 includes: The assembling unit is configured to assemble the first sub-streams based on the identifiers of the media data in the first sub-streams.
[0134] The playing unit is configured to play the assembled media data.
[0135] The content distribution network-based data transmission apparatus provided by the embodiments of the present disclosure can perform the content distribution network-based data transmission method provided by any of the embodiments of the present disclosure, and has the corresponding function modules and advantages of performing the method. The further function description of each module and unit is the same as that of the corresponding embodiment, which will not be repeated here.
[0136] Figure 8 A structural schematic diagram of an electronic device provided by the embodiments of the present disclosure is provided.
[0137] The following will be specifically described with reference to Figure 8 which shows a structural schematic diagram of an electronic device suitable for implementing the embodiments of the present disclosure. The electronic device can include a processor (such as a central processor, a graphics processor, etc.) 801, which can perform various appropriate actions and processes according to programs stored in a read-only memory (ROM) 802 or programs loaded from a storage 808 into a random access memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the electronic device are also stored. The processor 801, the ROM 802, and the RAM 803 are connected to each other through a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.
[0138] Generally, the following devices can be connected to the I / O interface 805: an input device 806 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 807 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage 808 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 809. The communication device 809 can allow the electronic device to communicate with other devices wirelessly or by wire to exchange data. Although Figure 8 The electronic device with various devices is shown, but it should be understood that it is not required to implement or have all the shown devices, and more or fewer devices can be alternatively implemented or had.
[0139] In particular, according to the embodiments of the present disclosure, the processes described above with reference to the flowcharts can be implemented as a computer software program. For example, the embodiments of the present disclosure include a computer program product including a computer program carried on a non-transitory computer readable medium, the computer program containing program codes for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network through the communication device 809, or installed from the storage 808, or installed from the ROM 802. When the computer program is executed by the processor 801, the above-mentioned functions defined in the content distribution network-based data transmission method of the embodiments of the present disclosure are performed.
[0140] Figure 8The electronic device shown is merely an example and should not impose any limitation on the functions and use range of the embodiments of the present disclosure.
[0141] The embodiments of the present application also provide a computer readable storage medium, and the method according to the embodiments of the present application can be implemented in hardware, firmware, or recorded in a storage medium, or be implemented through computer code originally stored in a remote storage medium or a non-transitory machine readable storage medium and downloaded to a local storage medium, so that the method described herein can be processed by such software on a storage medium using a general computer, a special processor, or programmable or special hardware. The storage medium can be a magnetic disk, an optical disk, a read-only memory, a random access memory, a flash memory, a hard disk, or a solid state disk, etc. Further, the storage medium can also include a combination of the above-mentioned types of memories. It can be understood that the computer, the processor, the microprocessor controller, or the programmable hardware includes a storage component that can store or receive software or computer code, which, when accessed and executed by the computer, the processor, or the hardware, implements the above-mentioned embodiments of the data transmission method based on the content distribution network.
[0142] Part of the present application can be applied as a computer program product, for example, computer program instructions, when executed by a computer, through the operation of the computer, the method and / or technical solutions according to the present application can be invoked or provided. Those skilled in the art should understand that the form of computer program instructions in a computer readable medium includes but is not limited to source files, executable files, installation package files, etc. Correspondingly, the way of executing computer program instructions by a computer includes but is not limited to: the computer directly executes the instructions, or the computer executes the corresponding compiled program after compiling the instructions, or the computer reads and executes the instructions, or the computer reads and installs the instructions and then executes the corresponding installed program. Here, the computer readable medium can be any available computer readable storage medium or communication medium accessible to the computer.
[0143] Although the embodiments of the present application are described in conjunction with the accompanying drawings, various modifications and changes can be made by those skilled in the art without departing from the spirit and scope of the present application, and such modifications and changes fall within the scope defined by the appended claims.
Claims
1. A data transmission method based on a content delivery network, characterized in that, Applied to a first edge node, the first edge node is connected to a second edge node of the content delivery network and a terminal device, including: The second edge node receives a first sub-stream of first media data sent by the second edge node. The second edge node is configured to divide the first media data into a second sub-stream based on a first quantity, and there is no redundancy between the second sub-streams. The first quantity is the same as the number of first edge nodes corresponding to the first media request. The first media request corresponds to a first application in the terminal device. The first sub-stream is sent to a first application in the corresponding terminal device, and the first application in the terminal device is used to assemble and play the received first sub-stream.
2. The method according to claim 1, characterized in that, The first number of first edge nodes are used to transmit the first number of first sub-streams in parallel.
3. The method according to claim 1, characterized in that, The number of sub-streams transmitted by the first edge node is less than the first threshold.
4. The method according to claim 1, characterized in that, Also includes: Detect the status of the local first node; A first handover suggestion is generated based on the status of the first node; The first switching suggestion is sent to a first application in the terminal device, and the first application in the terminal device is used to switch the connected first edge node based on the first switching suggestion.
5. The method according to claim 4, characterized in that, Also includes: The first node status is sent to the global scheduler, which generates first candidate node information based on the first node status and sends the first candidate node information to the first application in the terminal device. The first application in the terminal device determines the first edge node corresponding to the first media request based on the first candidate node information.
6. A data transmission method based on a content delivery network, characterized in that, The first applications used in terminal devices include: A first media request is sent to a first number of first edge nodes. The first media request is used to request first media data. The first media request carries a sub-stream identifier. The sub-stream identifier in the first media request is different for different first edge nodes. The first edge nodes are respectively connected to the second edge nodes of the content delivery network and the terminal device. The first sub-stream sent by the first number of first edge nodes is received. The first sub-stream corresponds to the sub-stream identifier. The second edge node is configured to divide the first media data into a first number of second sub-streams with no redundancy between the second sub-streams and distribute the second sub-streams to the corresponding first edge nodes. The first sub-stream is assembled and then played.
7. The method according to claim 6, characterized in that, Also includes: The first edge node receives a first handover suggestion sent by the first edge node, and the first edge node generates the first handover suggestion based on its local first node state. Based on the first switching suggestion and the first candidate node information, the connected first edge node is switched and the first candidate node information is updated.
8. The method according to claim 6, characterized in that, Also includes: The system receives first candidate node information sent by a global scheduler, which generates the first candidate node information based on the first node status of the first edge node. The first number of first edge nodes are determined based on the first candidate node information.
9. The method according to claim 8, characterized in that, Also includes: If the number of candidate nodes in the first candidate node information is less than a preset number, then a first candidate node request is sent to the global scheduler. Receive the second candidate node information sent by the global scheduler; The local first candidate node information is updated using the second candidate node information.
10. The method according to claim 6, characterized in that, The assembly and playback of the first sub-stream includes: The first sub-stream is assembled based on the identifiers of the media data in the first sub-stream; Play the assembled media data.
11. A data transmission device based on a content delivery network, characterized in that, Applied to a first edge node, the first edge node is connected to a second edge node of the content delivery network and a terminal device, including: The first receiving module is used to receive a first sub-stream of first media data sent by the second edge node. The second edge node is configured to divide the first media data into a second sub-stream based on a first quantity and there is no redundancy between the second sub-streams. The first quantity is the same as the number of first edge nodes corresponding to the first media request. The first media request corresponds to a first application in the terminal device. A first sending module is used to send the first sub-stream to a first application in a corresponding terminal device, wherein the first application in the terminal device is used to assemble and play the received first sub-stream.
12. A data transmission device based on a content delivery network, characterized in that, The first applications used in terminal devices include: The second sending module is used to send a first media request to a first number of first edge nodes. The first media request is used to request first media data. The first media request carries a sub-stream identifier. The sub-stream identifier in the first media request is different for different first edge nodes. The first edge nodes are respectively connected to the second edge node of the content delivery network and the terminal device. The third receiving module is used to receive the first sub-stream sent by the first number of first edge nodes, the first sub-stream corresponding to the sub-stream identifier, and the second edge node is configured to divide the first media data into second sub-streams based on the first number and the second sub-streams have no redundancy, and distribute the second sub-streams to the corresponding first edge nodes. The playback module is used to assemble and play the first sub-stream.
13. An electronic device, characterized in that, include: A memory and a processor are communicatively connected, the memory storing computer instructions, and the processor executing the computer instructions to perform the data transmission method based on a content delivery network as described in any one of claims 1 to 10.
14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions for causing the computer to perform the data transmission method based on a content delivery network as described in any one of claims 1 to 10.
15. A computer program product, characterized in that, It includes computer instructions for causing a computer to perform the data transmission method based on a content delivery network as described in any one of claims 1 to 10.
16. A data transmission system based on a content delivery network, characterized in that, include: A first application in a terminal device is used to send a first media request to a first number of first edge nodes. The first media request is used to request first media data. The first media request carries a sub-stream identifier. The sub-stream identifier in the first media request is different for different first edge nodes. The first edge nodes are respectively connected to the second edge nodes of the content delivery network and the terminal device. The second edge node is used to divide the first media data into a second sub-stream based on the first quantity, and the second sub-stream has no redundancy between them, and distribute the second sub-stream to the corresponding first edge node; The first edge node is configured to receive a first sub-stream of first media data sent by the second edge node, and send the first sub-stream to a first application in the corresponding terminal device; The first application in the terminal device is also used to assemble and play the received first sub-stream.