Data transmission method and device, electronic equipment and storage medium

By implementing the data distributor's real-time detection of data transmission status and the generation and transmission of data migration signaling in the content distribution network, the problem of efficiency reduction caused by data transmission abnormalities is solved and the data acquisition efficiency is improved.

CN119363732APending Publication Date: 2025-01-24TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202310915302.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-07-24
Publication Date
2025-01-24

AI Technical Summary

Technical Problem

During the data transmission process, abnormal data transmission occurs due to factors such as network instability, excessive load, and crash, which reduces the data transmission efficiency and data acquisition efficiency.

Method used

In the content distribution network, after receiving the data request, the data distributor searches for and transmits the target data, and when detecting data transmission anomalies, generates data migration signaling and notifies the data requester through the signaling transmission channel to transfer data from other data distributors. Get data.

Benefits of technology

By promptly detecting the data transmission status and generating data migration signaling, the data requester can be quickly notified to obtain data from other data distributors, thereby improving data acquisition efficiency and avoiding efficiency reduction caused by data transmission anomalies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119363732A_ABST
    Figure CN119363732A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a data transmission method and device, electronic equipment and a storage medium, and the method comprises the steps: after a data distributor in a content distribution network receives a data obtaining request sent by a data requester, searching target data matched with the data obtaining request, the method comprises the steps that a data distributor transmits target data to a data requester through a data transmission channel between the data distributor and the data requester in a content distribution network, and the data distributor transmits the target data to the data requester through the data transmission channel between the data distributor and the data requester; if yes, generating a data migration signaling used for indicating the data requester to obtain the target data from other data distributors, and sending the data migration signaling to the data requester through a signaling transmission channel with the data requester, and the data requester requests other data distributors in the content distribution network to obtain the target data according to the data migration signaling. The method can be applied to the field of intelligent transportation. The embodiment of the invention can improve the data acquisition efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a data transmission method and device, an electronic device, a storage medium, and a program product. Background Art

[0002] In scenarios such as data sharing, the data distributor is usually required to transfer the data to the data requester. For example, in the back-to-source process of the CDN (Content Delivery Network), the source server will transfer the data to the edge node, which will then transfer the data to the client through the edge node.

[0003] However, during the data transmission process, data transmission anomalies often occur due to unstable factors such as network instability, excessive load, and system crashes, which reduces data transmission efficiency and further reduces data acquisition efficiency. Summary of the invention

[0004] The embodiments of the present application provide a data transmission method and device, an electronic device, a storage medium, and a program product, which can improve the data acquisition efficiency in a content distribution network.

[0005] According to one aspect of an embodiment of the present application, a data transmission method is provided, the method comprising:

[0006] Receiving a data acquisition request sent by a data requester in a content distribution network, and searching for target data matching the data acquisition request;

[0007] Transmitting the target data to the data requester through a data transmission channel between the target data requester and the data requester;

[0008] During the transmission of the target data, if it is detected that the transmission of the target data is abnormal, generating a data migration signaling for instructing the data requester to obtain the target data from other data distributors in the content distribution network;

[0009] The data migration signaling is sent to the data requesting party through a signaling transmission channel between the data requesting party and the data requesting party, so that the data requesting party requests the other data distributors to obtain the target data according to the data migration signaling.

[0010] According to one aspect of an embodiment of the present application, a data transmission method is provided, the method comprising:

[0011] Generate a data acquisition request according to the identification information of the data to be acquired, and send the data acquisition request to a data distributor in the content distribution network, so that the data distributor searches for target data matching the identification information;

[0012] Receiving the target data transmitted by the data distributor through the data transmission channel between the data distributor and the data distributor;

[0013] During the transmission of the target data, a data migration signaling sent by the data distributor is received through a signaling transmission channel between the data distributor and the data distributor; wherein the data migration signaling is generated after the data distributor detects that the transmission of the target data is abnormal;

[0014] Requesting other data distributors in the content distribution network to obtain the target data according to the data migration signaling.

[0015] According to one aspect of an embodiment of the present application, a data transmission device is provided, the device comprising:

[0016] A search module, configured to receive a data acquisition request sent by a data requester in a content distribution network, and search for target data matching the data acquisition request;

[0017] A data transmission module, configured to transmit the target data to the data requester through a data transmission channel between the target data and the data requester;

[0018] a generating module configured to generate data migration signaling for instructing the data requester to obtain the target data from other data distributors in the content distribution network if an abnormality is detected in the transmission of the target data during the transmission of the target data;

[0019] The signaling transmission module is configured to send the data migration signaling to the data requesting party through the signaling transmission channel between the data requesting party and the data requesting party, so that the data requesting party requests the other data distributors to obtain the target data according to the data migration signaling.

[0020] In an exemplary embodiment, under the condition that the target data includes multimedia data, the device also includes a processing module, configured to: during the transmission of the multimedia data, if it is detected that the data transmission channel is congested, then perform frame loss processing on the remaining data in the multimedia data that has not yet been transmitted to the data transmission channel; the data transmission module is also configured to: transmit the remaining data after the frame loss processing to the data requester through the data transmission channel.

[0021] In an exemplary embodiment, the generation module is configured to: obtain load parameters and computing power parameters corresponding to multiple other data distributors included in the content distribution network; select a target data distributor for transmitting the target data from the multiple other data distributors based on the obtained load parameters and computing power parameters; generate the data migration signaling based on the identification information of the target data distributor, so that the data requester requests the target data distributor to obtain the target data based on the identification information of the target distributor.

[0022] In an exemplary embodiment, the device also includes a detection module configured to: detect the transmission rate of the target data during the transmission of the target data; compare the transmission rate of the target data with a set rate threshold; if the transmission rate of the target data is less than the set rate threshold, determine that the transmission of the target data is abnormal.

[0023] In an exemplary embodiment, the device also includes a detection module configured to: during the transmission of the target data, detect an operating status parameter of a transmission module used to transmit the target data; if it is determined according to the operating status parameter that the transmission module fails, determine that the transmission of the target data is abnormal.

[0024] In an exemplary embodiment, the device further includes a detection module configured to: detect its own load parameters during the transmission of the target data; if it is detected according to the load parameters that expansion and contraction processing is required, determine that the transmission of the target data is abnormal.

[0025] According to one aspect of an embodiment of the present application, a data transmission device is provided, the device comprising:

[0026] A sending module, configured to generate a data acquisition request according to the identification information of the data to be acquired, and send the data acquisition request to a data distributor in the content distribution network, so that the data distributor searches for target data matching the identification information;

[0027] A data receiving module, configured to receive the target data transmitted by the data distributor through a data transmission channel between the data distributor and the data distributor;

[0028] a signaling receiving module, configured to receive, during the transmission of the target data, a data migration signaling sent by the data distributor through a signaling transmission channel between the data distributor and the data distributor; wherein the data migration signaling is generated after the data distributor detects that an abnormality occurs in the transmission of the target data;

[0029] The request module is configured to request other data distributors in the content distribution network to obtain the target data according to the data migration signaling.

[0030] In an exemplary embodiment, the sending module is configured to: receive identification information of the data to be acquired sent by the client, and search for data matching the identification information from a local database; if no data matching the identification information is found, obtain the network address of the data distributor; create the data transmission channel and the signaling transmission channel according to the network address of the data distributor and the web instant messaging protocol; generate the data acquisition request according to the identification information, and transmit the data acquisition request to the data distributor through the data transmission channel.

[0031] In an exemplary embodiment, under the condition that the target data contains a data stream, the request module is also configured to: send a heartbeat message to the data distributor through the two-way signaling transmission channel; if no response message corresponding to the heartbeat message sent by the data distributor is received through the two-way signaling transmission channel within a set time period, obtain the network address of other data distributors; and request the target data from other data distributors based on the obtained network address.

[0032] In an exemplary embodiment, under the condition that the signaling transmission channel is a bidirectional signaling transmission channel, the device also includes a transmission module, configured to: receive a transmission quality parameter sent by the data distributor through the signaling transmission channel during the process of receiving the data frames contained in the data stream through the data transmission channel; wherein the transmission quality parameter is used to describe the transmission quality of the data frames contained in the data stream transmitted from the data provider to the data distributor; determine a target transmission strategy for transmitting the data stream to the client based on the transmission quality parameter; and transmit the data frames contained in the data stream received through the data transmission channel to the client in accordance with the target transmission strategy.

[0033] In an exemplary embodiment, the transmission module is further configured to: if it is determined according to the transmission quality parameters that a freeze occurs in the process of transmitting the data frames contained in the data stream from the data provider to the data distributor, then detect the amount of data corresponding to the data stream received through the data transmission channel; if the detected amount of data is greater than a set data amount threshold, then transmit the data frames contained in the received data stream to the client.

[0034] In an exemplary embodiment, under the condition that the target data includes a data stream, the request module is specifically configured to: obtain the network address and target timestamp of the other data distributor from the data migration signaling; the target timestamp is the timestamp corresponding to the data frame in the data stream that has been sent by the data distributor; according to the network address of the other data distributor and the web instant messaging protocol, create a data transmission channel and a signaling transmission channel with the other data distributor; send the identification information of the data stream and the target timestamp to the other data distributor through the data transmission channel with the other data distributor, so that the other data distributor can search for the data stream according to the identification information of the data stream; receive the data frame in the data stream sent by the other data distributor whose corresponding timestamp is later than the target timestamp through the data transmission channel with the other data distributor.

[0035] According to one aspect of an embodiment of the present application, there is provided an electronic device, including:

[0036] one or more processors;

[0037] The storage device is used to store one or more computer programs, and when the one or more computer programs are executed by the one or more processors, the electronic device implements the data transmission method as described above.

[0038] According to one aspect of an embodiment of the present application, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor of an electronic device, the electronic device implements the data transmission method as described above.

[0039] According to one aspect of an embodiment of the present application, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the data transmission method as described above is implemented.

[0040] In the technical solution provided by the embodiment of the present application, after a data distributor in a content distribution network receives a data acquisition request sent by a data requester in the content distribution network, the data distributor can first search for target data matching the data acquisition request, and transmit the target data to the data requester through a data transmission channel between the data requester and the data requester. After the transmission process of the target data, if the data distributor detects that an abnormality has occurred in the transmission of the target data, a data migration signaling is generated to instruct the data requester to obtain the target data from other data distributors, and the data migration signaling is sent to the data requester through a signaling transmission channel between the data requester, so that the data requester requests the other data distributors in the content distribution network to obtain the target data according to the data migration signaling. Compared with the related art, the data distributor detects the transmission status of the data, and the data transmission abnormality can be discovered in time, and an independent data transmission channel and signaling transmission channel are set. In this way, after the data transmission abnormality is detected, the data migration signaling can be transmitted to the data requester through the signaling transmission channel, rather than transmitting the data migration signaling to the data requester through the data transmission channel where the transmission abnormality has occurred. The data requester can be notified in time to obtain data from other data distributors, thereby improving the efficiency of the data requester in obtaining data.

[0041] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] Figure 1 is a schematic diagram of an implementation environment shown in an exemplary embodiment of the present application;

[0043] Figure 2 is a flow chart of a data transmission method shown in an exemplary embodiment of the present application;

[0044] Figure 3 is a flow chart of a data transmission method shown in another exemplary embodiment of the present application;

[0045] Figure 4 is a schematic diagram of a data transmission method shown in another exemplary embodiment of the present application;

[0046] Figure 5 is a flow chart of a data transmission method shown in another exemplary embodiment of the present application;

[0047] Figure 6 is a flow chart of a data transmission method shown in another exemplary embodiment of the present application;

[0048] Figure 7 is a flow chart of a data transmission method shown in another exemplary embodiment of the present application;

[0049] Figure 8 is a flow chart of a data transmission method shown in another exemplary embodiment of the present application;

[0050] Fig. 9 is a flow chart of a data transmission method shown in another exemplary embodiment of the present application;

[0051] Fig.10 is a flow chart of a data transmission method shown in another exemplary embodiment of the present application;

[0052] Fig.11 is a flow chart of a data transmission method shown in another exemplary embodiment of the present application;

[0053] Fig.12 is a flow chart of a data transmission method shown in another exemplary embodiment of the present application;

[0054] Fig.13 is a flow chart of a data transmission method shown in another exemplary embodiment of the present application;

[0055] Fig.14 is a structural diagram of a content distribution network shown in an exemplary embodiment of the present application;

[0056] Fig.15 is a flow chart of a data transmission method shown in an exemplary embodiment of the present application;

[0057] Fig.16 is a schematic diagram of connection establishment shown in an exemplary embodiment of the present application;

[0058] Fig.17 is a schematic diagram of a message structure shown in an exemplary embodiment of the present application;

[0059] Fig.18 is a structural schematic diagram of a data transmission device shown in an exemplary embodiment of the present application;

[0060] Fig.19 is a structural schematic diagram of a data transmission device shown in another exemplary embodiment of the present application;

[0061] Fig. 20 A schematic diagram of the structure of a computer system suitable for implementing an electronic device of an embodiment of the present application is shown. DETAILED DESCRIPTION

[0062] Here, exemplary embodiments will be described in detail, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are only examples of devices and methods consistent with some aspects of the present application as detailed in the attached claims.

[0063] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities may be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0064] The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps can be decomposed, and some operations / steps can be combined or partially combined, so the actual execution order may change according to actual conditions.

[0065] It should also be noted that the "multiple" mentioned in this application refers to two or more than two. "And / or" describes the association relationship of the associated objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship.

[0066] The following is a detailed introduction to the technical solutions of the embodiments of the present application:

[0067] During data transmission, data transmission is often abnormal due to unstable factors such as network instability, excessive load, and system crashes, which reduces the data transmission efficiency and thus reduces the data acquisition efficiency. Based on this, the embodiments of the present application provide a data transmission method and device, an electronic device, a storage medium, and a program product, which can improve the efficiency of data acquisition by the data requester.

[0068] See also Figure 1 , Figure 1 It is a schematic diagram of an implementation environment involved in the present application, which implementation environment includes a data requester 110 and multiple data distributors 120 in a content distribution network. The data requester 110 and the data distributors 120 can communicate with each other through a wired or wireless network.

[0069] Among them, the data requester 110 can be a terminal device or a server, and the data distributor 120 can be a terminal device or a server; for terminal devices, it can include but is not limited to smart phones, tablets, laptops, computers, intelligent voice interaction devices, smart home appliances, vehicle-mounted terminals, aircraft, devices for payment, etc. For servers, it can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or it can be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. There is no restriction on this here.

[0070] It should be noted that Figure 1 The number of data requesters 110 and data distributors 120 in the figure is only for illustration, and any number of data requesters 110 and data distributors 120 may be provided according to actual needs.

[0071] In an exemplary embodiment, the data transmission method provided by the embodiment of the present application can be jointly executed by the data requester 110 and the data distributor 120. Exemplarily, the data requester 110 can generate a data acquisition request based on the label information of the data to be acquired, and send the data acquisition request to any data distributor 120; after receiving the data acquisition request, the data distributor 120 can first search for target data matching the data acquisition request, and then transmit the target data to the data requester 110 through the data transmission channel between the data requester 110 and the data requester 110. During the transmission of the target data, if an abnormality is detected in the transmission of the target data, a data migration signaling is generated to instruct the data requester 110 to acquire the target data from other data distributors 120, and the data distributor 120 can obtain the target data through the data transmission channel between the data requester 110 and the data distributor 120. The signaling transmission channel between 10 sends the data migration signaling to the data requester 110, so that the data requester 110 requests other data distributors 120 to obtain the target data according to the data migration signaling. In this way, the data distributor detects the transmission status of the data and can timely discover data transmission anomalies. After detecting the data transmission anomaly, the data migration signaling is transmitted to the data requester through the signaling transmission channel between the data requester and the data distributor, rather than transmitting the data migration signaling to the data requester through the data transmission channel. The data requester can be notified in time to obtain data from other data distributors, thereby improving the data acquisition efficiency in the content distribution network.

[0072] It should be noted that the data transmission method provided in the embodiments of the present application can be applied to any scenario where data transmission is required, for example, it can be applied to data transmission between the source server and the intermediate source server in the CDN network, data transmission between the intermediate source server and the OC (Outer Center, edge node), etc. The embodiments of the present application involve user-related data such as target data. When the method of the present application is applied to a specific product or technology, it is all subject to the user's permission or consent, and the extraction, use and processing of the relevant data comply with local security standards and local laws and regulations.

[0073] See also Figure 2 , Figure 2 is a flowchart of a data transmission method shown in an exemplary embodiment of the present application. The method can be applied to Figure 1 The implementation environment shown, which can be Figure 1 Any data distributor 120 in the illustrated implementation environment executes.

[0074] like Figure 2 As shown, in an exemplary embodiment, the data transmission method may include steps S210 to S240, which are described in detail as follows:

[0075] Step S210: receiving a data acquisition request sent by a data requester in a content distribution network, and searching for target data matching the data acquisition request.

[0076] It should be noted that the target data is the data requested by the data acquisition request, and its types include but are not limited to pictures, videos, audios, etc. In an optional example, the target data can be the audio and video corresponding to live broadcast and on-demand.

[0077] The data requester is in the content distribution network and is the party that needs to obtain the target data. It can generate a data acquisition request and send the data acquisition request to the data distributor.

[0078] The data distributor is also in the content distribution network and is the party that contains the target data. After receiving the data acquisition request, it can search for data that matches the data acquisition request, that is, the target data. The data transmission method can be applied to different scenarios. In one example, the data transmission method can be applied to the CDN network. Under this condition, the data requester can be the OC in the CDN network, and the data distributor can be the source server or the intermediate source server in the CDN network; or the data requester can be the intermediate source server in the CDN network, and the data distributor can be the source server.

[0079] Optionally, the data acquisition request may include identification information of the data to be acquired, so that the data distributor can search for the target data based on the identification information, wherein the identification information of the data is used to uniquely identify the data, which may include but is not limited to the name of the data, URL (Uniform Resource Locator), and URI (Uniform Resource Identifier).

[0080] In an optional implementation, the data distributor may store the data in a database and search the database for target data that matches the data acquisition request. The database may be a database created based on cloud storage technology, i.e., a cloud database. Cloud storage is a new concept that extends and develops from the concept of cloud computing. A distributed cloud storage system (hereinafter referred to as a storage system) refers to a storage system that uses cluster applications, grid technology, and distributed storage file systems to bring together a large number of storage devices of various types (storage devices are also called storage nodes) in the network through application software or application interfaces to work together and provide external data storage and business access functions.

[0081] In an optional implementation, after receiving a data acquisition request, the data distributor may first verify the data acquisition request, and after successful verification, search for target data that matches the data acquisition request, thereby improving security.

[0082] Step S220: transmitting the target data to the data requester through the data transmission channel between the data requester and the data requester.

[0083] A data transmission channel is established between the data distributor and the data requester. The data transmission channel can be created based on WebRTC (Web Real-Time Communication) or other communication protocols. For example, it can be a data transmission channel created based on the RTCPeerConnection API in WebRTC. The data transmission channel can use protocols such as SRTP (Secure Real-time Transport Protocol) and RTP (Real-time Transport Protocol) to transmit data. Among them, WebRTC is an API (Application Programming Interface) that supports web browsers to conduct real-time voice or video conversations; RTCPeerConnection API is a WebRTC component used to handle stable and effective communication of streaming data between peers. Optionally, the data transmission channel can be established before the data requester sends a data acquisition request to the data distributor. Under this condition, the data requester can send the data acquisition request to the data distributor through the data transmission channel; or, the data transmission channel can also be established after the data distributor receives the data acquisition request.

[0084] After finding the target data, the data distributor can transmit the target data to the data requester through the data transmission channel. Optionally, the data distributor can transmit the target data to the data requester based on streaming transmission, that is, transmit the target data to the data requester in the form of data stream.

[0085] Step S230: during the transmission of the target data, if it is detected that the transmission of the target data is abnormal, a data migration signaling is generated to instruct the data requester to obtain the target data from other data distributors in the content distribution network.

[0086] In addition to the data distributor that receives the data acquisition request, the content distribution network also includes other data distributors, and other data distributors can also find the target data. Therefore, in order to improve data transmission efficiency, the data distributor can detect the transmission status of the target data in real time or periodically during the transmission of the target data. If an abnormality is detected in the transmission of the target data, a data migration signaling can be generated to instruct the data requester to obtain the target data from other data distributors.

[0087] The method of detecting whether the transmission of target data is abnormal can be flexibly set according to actual needs. For example, it can be determined whether the transmission of target data is abnormal based on the transmission efficiency of the target data.

[0088] In an optional implementation, the target data may be stored in a database accessible to multiple data distributors, so that other data distributors can also find the target data from the database. The data migration signaling may include identification information of other data distributors, such as the network address (i.e., IP address, where IP refers to Internet Protocol), port number, name, etc. of other data distributors, so that the data requester can quickly request the target data from other data distributors based on the identification information of other data distributors.

[0089] Step S240: sending a data migration signaling to the data requesting party through a signaling transmission channel between the data requesting party and the data requesting party, so that the data requesting party requests other data distributors to obtain target data according to the data migration signaling.

[0090] A signaling transmission channel, i.e., a control channel, is established between the data distributor and the data requester to control the data transmission of the data transmission channel. The communication protocol corresponding to the signaling transmission channel may match the communication protocol of the data transmission channel. If the data transmission channel is established based on the WebRTC protocol, the signaling transmission channel is also established based on the WebRTC protocol. If the data transmission channel is established based on other communication protocols, the signaling transmission channel is also established based on other communication protocols. In one example, the signaling transmission channel may be a signaling transmission channel created based on the RTCDataChannel API in WebRTC, which may transmit data based on protocols such as SRTCP (Secure Real Time Control Protocol), RTCP (Real-time Control Protocol), and SCTP (Stream Control Transmission Protocol). In an optional example, the data transmission channel may be an RTCPeerConnection (SRTP) channel (i.e., a channel created based on the RTCPeerConnection API and using the SRTP protocol to transmit data), and the signaling transmission channel may be a DataChannel (SCTP) channel (i.e., a channel created based on the RTCDataChannel The signaling transmission channel is a channel created by the data requester and the data distributor using the SCTP protocol to transmit data. In addition, the data transmission channel and the signaling transmission channel can transmit data simultaneously, thereby realizing full-duplex communication between the data requester and the data distributor. Optionally, the signaling transmission channel can be established before the data requester sends a data acquisition request to the data distributor; or, the signaling transmission channel can be established after the data distributor receives the data acquisition request; or, the signaling transmission channel can be established after the data distributor detects that the transmission of the target data is abnormal; wherein, the signaling transmission channel and the data transmission channel can be established synchronously or asynchronously.

[0091] In the event of an abnormality in the transmission of target data, in order to improve the efficiency of the data requester to re-request the target data from other data distributors, the data distributor can transmit the generated data migration signaling to the data requester through the signaling transmission channel. After the data requester receives the data migration signaling, it indicates that the transmission of the target data is abnormal, and therefore, it can request other data distributors to obtain the target data.

[0092] exist Figure 2In the illustrated embodiment, the data distributor detects the data transmission status and can promptly discover data transmission anomalies. After detecting the data transmission anomaly, the data migration signaling is transmitted to the data requester through the signaling transmission channel between the data requester and the data distributor, rather than transmitting the data migration signaling to the data requester through the data transmission channel. The data requester can be promptly notified to obtain data from other data distributors, thereby improving the efficiency of the data requester in obtaining data.

[0093] In an exemplary embodiment, see Figure 3 , Figure 3 is a flowchart of a data transmission method shown in another exemplary embodiment of the present application. The method can be applied to Figure 1 The implementation environment shown, which can be Figure 1 Any data distributor 120 in the illustrated implementation environment executes.

[0094] like Figure 3 As shown, under the condition that the target data includes multimedia data, the method includes steps S210 to S240, and steps S310 to S320, wherein steps S310 to S320 are described in detail as follows:

[0095] Step S310: During the transmission of multimedia data, if it is detected that the data transmission channel is congested, frame loss processing is performed on the remaining data in the multimedia data that has not yet been transmitted to the data requester.

[0096] It should be noted that, under the condition that the target data includes multimedia data, in step S220, the data distributor needs to transmit the multimedia data to the data requester through the data transmission channel between the data distributor and the data requester. During this transmission process, the data distributor can detect whether the data transmission channel is congested. If it is detected that the data transmission channel is congested, in order to avoid further deterioration of the congestion of the data transmission channel, the data distributor can determine the remaining data that has not been transmitted to the data transmission channel from the multimedia data, and perform frame drop processing on the remaining data to reduce the amount of the remaining data.

[0097] Among them, multimedia data includes but is not limited to at least one of picture data, audio data, video data, audio and video data, etc.

[0098] The specific method of detecting whether the data transmission channel is congested can be flexibly set according to actual needs. For example, it can be determined that the data transmission channel is congested under the condition that the transmission rate of the data transmission channel is less than the set transmission rate.

[0099] The specific method of frame loss processing can be flexibly set according to actual needs. In an optional example, m frames can be discarded every n frames, where n and m are integers greater than or equal to 1. In order to improve data integrity and continuity, n can be greater than m. For example, 1 frame can be discarded every 3 frames.

[0100] Step S320: transmitting the remaining data after the frame loss processing to the data requesting party through the data transmission channel.

[0101] The data distributor can transfer the remaining data after frame loss processing to the data transmission channel for transmission to the data requester. Since frame loss processing will reduce the amount of data, it can avoid further deterioration of congestion in the data transmission channel and improve data transmission efficiency.

[0102] It should be noted that Figure 3 In the illustrated embodiment, when congestion occurs in the data transmission channel, the amount of the remaining data is reduced by performing frame dropping processing on the remaining data in the multimedia data. In other embodiments, the remaining data in the multimedia data can also be processed in other ways to reduce the amount of the remaining data, for example, by reducing clarity, reducing resolution, etc. Figure 3 The specific implementation details of steps S210 to S240 shown in FIG. Figure 2 Steps S210 to S240 shown are not repeated here.

[0103] exist Figure 3 In the illustrated embodiment, during the process of transmitting multimedia data through a data transmission channel, if congestion is detected in the data transmission channel, frame loss processing is performed on the remaining data in the multimedia data that has not yet been transmitted to the data requester, and then the remaining data after the frame loss processing is provided to the data transmission channel for transmission, thereby avoiding further deterioration of the congestion in the data transmission channel and improving data transmission efficiency.

[0104] In an exemplary embodiment, see Figure 4 , Figure 4 is a flowchart of a data transmission method shown in another exemplary embodiment of the present application. The method can be applied to Figure 1 The implementation environment shown, which can be Figure 1 Any data distributor 120 in the illustrated implementation environment executes.

[0105] like Figure 4 As shown, the method includes steps S210 to S220, steps S410 to S430, and step S240, wherein steps S410 to S430 are described in detail as follows:

[0106] Step S410: During the transmission of target data, if it is detected that the transmission of target data is abnormal, the load parameters and computing power parameters corresponding to a plurality of other data distributors included in the content distribution network are obtained.

[0107] Load parameters refer to parameters used to describe load conditions, where the load parameters of a data distributor can be determined based on the number of data requesters connected to the data distributor, the number of target data to be transmitted, the amount of target data, etc. Computing power parameters refer to parameters used to describe the size of computing power, where the computing power parameters of a data distributor can be determined based on the amount of computing resources (e.g., central processing unit, memory, hard disk, graphics card, etc.) occupied by the data distributor.

[0108] In the event of an abnormality in the transmission of target data, in order to enable other data distributors with smaller load and better computing power in the data request direction to request the target data, thereby improving the efficiency of the data requester in obtaining the target data, the data distributor can first find multiple other data distributors from the content distribution network, and then obtain the load parameters and computing power parameters of each other data distributor.

[0109] Step S420: Select a target data distributor for transmitting the target data from a plurality of other data distributors based on the acquired load parameters and computing power parameters.

[0110] After obtaining the load parameters and computing power parameters corresponding to multiple other data distributors, the data distributor can select a target data distributor from the multiple other data distributors, and the target data distributor is used to transmit the target data to the data requester.

[0111] Among them, the specific method of selecting the target data distributor can be flexibly set according to actual needs. For example, in an optional example, a data distributor whose load parameter is lower than the set load parameter and whose computing power parameter is higher than the set computing power parameter can be selected from multiple other data distributors as the target data distributor; in another optional example, for each other data distributor, the corresponding first score can be calculated according to its load parameter, and the corresponding second score can be calculated according to its computing power parameter, and the first score and the second score can be weighted and summed to obtain the final score; then, from multiple other data distributors, the data distributor with the highest final score is selected as the target data distributor, or, from multiple other data distributors, the data distributor with a final score greater than the set score threshold is selected as the target data distributor, wherein the first score is negatively correlated with the load parameter (that is, the more load, the lower the first score), and the second score is positively correlated with the computing power parameter (that is, the stronger the computing power, the higher the second score).

[0112] Step S430: Generate data migration signaling according to the identification information of the target data distributor, so that the data requester requests the target data distributor to obtain the target data according to the identification information of the target data distributor.

[0113] After selecting the target data distributor, the data distributor adds the identification information of the target data distributor to the data migration signaling, and transmits the data migration signaling to the data requesting party through the signaling transmission channel. In this way, the data requesting party can request the target data from the target data distributor based on the identification information of the target data distributor contained in the data migration signaling.

[0114] It should be noted that Figure 4 The specific implementation details of steps S210-S220 and step S240 shown in FIG. Figure 2 Steps S210 to S220 and step S240 shown are not repeated here.

[0115] exist Figure 4 In the illustrated embodiment, a target data distributor for transmitting target data is selected from multiple other data distributors based on load parameters and computing power parameters, and the identification information of the target data distributor is transmitted to the data requester, so that the target data distributor with better computing power and smaller load in the data requesting direction can request to obtain the target data, thereby improving the efficiency and stability of data transmission.

[0116] In an exemplary embodiment, see Figure 5 , Figure 5 is a flowchart of a data transmission method shown in another exemplary embodiment of the present application. The method can be applied to Figure 1 The implementation environment shown, which can be Figure 1 Any data distributor 120 in the illustrated implementation environment executes.

[0117] like Figure 5 As shown, the method includes steps S210 to S220, steps S510 to S530, and steps S230 to S240, wherein steps S510 to S530 are described in detail as follows:

[0118] Step S510: During the transmission of target data, the transmission rate of the target data is detected.

[0119] When the target data transmission is abnormal, the target data transmission rate will be lower. Therefore, in order to detect whether the target data transmission is abnormal, the data distributor may detect the target data transmission rate in real time or periodically during the target data transmission process.

[0120] Step S520, comparing the transmission rate of the target data with a set rate threshold.

[0121] The set rate threshold refers to a pre-set rate used to detect whether data transmission is abnormal. If the data transmission rate is less than the set rate threshold, it indicates that the data transmission is abnormal. If the data transmission rate is greater than or equal to the set rate threshold, it indicates that the data transmission is normal.

[0122] Therefore, after obtaining the transmission rate of the target data, the data distributor may compare the transmission rate with a set rate threshold to determine whether the transmission of the target data is abnormal.

[0123] Step S530: If the transmission rate of the target data is less than the set rate threshold, it is determined that the transmission of the target data is abnormal.

[0124] If the comparison result indicates that the transmission rate of the target data is less than the set rate threshold, it means that the transmission of the target data is abnormal, and the data distributor can generate a data migration signal.

[0125] Optionally, if the comparison result indicates that the transmission rate of the target data is greater than or equal to the set rate threshold, it means that the transmission of the target data is normal, and the process can return to step S510 to continue detecting the transmission rate of the target data until the target data transmission is completed.

[0126] It should be noted that Figure 5 The specific implementation details of steps S210 to S240 shown in FIG. Figure 2 Steps S210 to S240 shown are not repeated here.

[0127] exist Figure 5 In the illustrated embodiment, under the condition that the transmission rate of the target data is less than the set rate threshold, it is determined that the transmission of the target data is abnormal, and the data requester is instructed to request to obtain the target data from other data distributors, thereby improving the data transmission rate.

[0128] In an exemplary embodiment, see Figure 6 , Figure 6 is a flowchart of a data transmission method shown in another exemplary embodiment of the present application. The method can be applied to Figure 1 The implementation environment shown, which can be Figure 1 Any data distributor 120 in the illustrated implementation environment executes.

[0129] like Figure 6 As shown, the method includes steps S210-step S220, steps S610-step S620, and steps S230-step S240, wherein steps S610-step S620 are described in detail as follows:

[0130] Step S610: During the transmission of target data, detecting the operating status parameters of the transmission module used to transmit the target data.

[0131] In order to realize data transmission, the data distributor usually includes at least one transmission module. For example, if the data distributor transmits data through wireless technology, it includes a wireless transmission module.

[0132] The operating status of the transmission module will affect the transmission of the target data. Therefore, in order to detect whether the transmission of the target data is abnormal, during the transmission of the target data, the data distributor can determine the transmission module used to transmit the target data and detect the operating status parameters of the transmission module in real time or periodically.

[0133] The operating status parameter of the transmission module is used to describe the operating status of the transmission module, which includes but is not limited to at least one of the parameters such as signal strength, switch status, interference status, etc. of the transmission module.

[0134] Step S620: If it is determined according to the operating status parameters that the transmission module fails, it is determined that the transmission of the target data is abnormal.

[0135] After obtaining the operating status parameters of the transmission module, the data distributor can detect whether the transmission module fails based on the operating status parameters. If so, it is determined that the transmission of the target data is abnormal.

[0136] Among them, the specific method of detecting whether the transmission module has a fault can be flexibly set according to actual needs. For example, when it is determined according to the operating status parameters that the transmission module has at least one of the following conditions: the signal strength is less than the set signal strength, the module is in a closed state, or the module is subject to strong interference, it is determined that the transmission module has a fault.

[0137] It should be noted that Figure 6 The specific implementation details of steps S210 to S240 shown in FIG. Figure 2 Steps S210 to S240 shown are not repeated here.

[0138] exist Figure 6 In the illustrated embodiment, when a transmission module for transmitting target data fails, it is determined that the transmission of the target data is abnormal, and the data requester is instructed to request to obtain the target data from other data distributors, thereby improving the success rate of data acquisition.

[0139] In an exemplary embodiment, see Figure 7 , Figure 7 is a flowchart of a data transmission method shown in another exemplary embodiment of the present application. The method can be applied to Figure 1 The implementation environment shown, which can be Figure 1Any data distributor 120 in the illustrated implementation environment executes.

[0140] like Figure 7 As shown, the method includes steps S210-step S220, steps S710-step S720, and steps S230-step S240, wherein steps S710-step S720 are described in detail as follows:

[0141] Step S710: During the transmission of target data, the load parameters of the device are detected.

[0142] The load of the data distributor itself will also affect the transmission of the target data. Therefore, during the transmission of the target data, the data distributor can detect its own load parameters. For specific examples of load parameters, please refer to the records of the above embodiments.

[0143] Step S720: If it is detected according to the load parameters that capacity expansion and contraction processing is required, it is determined that the transmission of the target data is abnormal.

[0144] After detecting its own load parameters, the data distributor can determine whether it needs to expand or shrink its capacity based on the load parameters. If expansion or shrinking is required, it means that the resources occupied by the data distributor (for example, computing resources, storage resources) need to be migrated, and the migration of the data distributor will affect the transmission of the target data. Therefore, when the data distributor needs to expand or shrink its capacity, it can be determined that the transmission of the target data is abnormal.

[0145] Among them, the specific method of detecting whether expansion or reduction is needed can be flexibly set according to actual needs. In an optional implementation, when it is detected that the load of the data distributor is large (for example, the load parameter is greater than the set first parameter threshold), it indicates that the computing resources of the data distributor are insufficient, and it is determined that expansion is needed. When it is detected that the load of the data distributor is small (for example, the load parameter is less than the set second parameter threshold), it indicates that the computing resources of the data distributor are sufficient and the resource utilization rate is low, and it is determined that reduction is needed. For example, assuming that the data distributor is a 48-core device, when it is detected that the load of the data distributor is large, the efficiency of the data distributor in transmitting data is low, and the data distributor can be migrated to a 96-core device.

[0146] It should be noted that Figure 7 The specific implementation details of steps S210 to S240 shown in FIG. Figure 2 Steps S210 to S240 shown are not repeated here.

[0147] exist Figure 7In the illustrated embodiment, when the data distributor needs to perform capacity expansion or contraction processing, it is determined that an abnormality occurs in the transmission of the target data, and the data requester is instructed to request the target data from other data distributors, thereby improving the stability of data transmission.

[0148] In an exemplary embodiment, see Figure 8 , Figure 8 is a flowchart of a data transmission method shown in an exemplary embodiment of the present application. The method can be applied to Figure 1 The implementation environment shown, which can be Figure 1 The data requester 110 in the illustrated implementation environment executes.

[0149] like Figure 8 As shown, in an exemplary embodiment, the data transmission method may include steps S810 to S840, which are described in detail as follows:

[0150] Step S810: Generate a data acquisition request according to the identification information of the data to be acquired, and send the data acquisition request to a data distributor in the content distribution network, so that the data distributor searches for target data matching the identification information.

[0151] The target data refers to the data that the data requester needs to obtain (i.e., the data to be obtained). The data requester can generate a data acquisition request containing identification information of the data to be obtained, and send the data acquisition request to the data distributor to request the target data from the data distributor.

[0152] After receiving the data acquisition request, the data distributor parses the request to obtain the identification information of the data to be acquired, and then searches for the target data according to the identification information. For the detailed introduction of the data requester, the data distributor, and the identification information of the data, please refer to the records of the above embodiments, which will not be repeated here.

[0153] Step S820: receiving target data transmitted by the data distributor through the data transmission channel between the data distributor and the data distributor.

[0154] A data transmission channel is established between the data requester and the data distributor, and the data distributor transmits the found target data to the data transmission channel, thereby sending the target data to the data requester through the data transmission channel. For the specific introduction of the data transmission channel, please refer to the description of the aforementioned embodiment, which will not be repeated here.

[0155] Step S830, during the transmission of the target data, a data migration signaling sent by the data distributor is received through the signaling transmission channel between the data distributor and the data distributor; wherein the data migration signaling is generated after the data distributor detects that the transmission of the target data is abnormal.

[0156] A signaling transmission channel is established between the data requester and the data distributor. For a detailed introduction to the signaling transmission channel, please refer to the description of the aforementioned embodiment, which will not be repeated here.

[0157] During the process of transmitting the target data, the data distributor will detect whether the transmission of the target data is abnormal. If so, it will generate a data migration signaling for instructing the data requester to obtain the target data from other data distributors, and transmit the data migration signaling to the signaling transmission channel. Please refer to the records of the above embodiment for the specific process, which will not be repeated here.

[0158] The data requester receives the data migration signaling through the signaling transmission channel.

[0159] Step S840: Request other data distributors in the content distribution network to obtain target data according to the data migration signaling.

[0160] After receiving the data migration signaling, it indicates that the transmission of the target data is abnormal and the target data needs to be obtained from other data distributors in the content distribution network. Therefore, the data requester sends a request to other data distributors according to the data migration signaling to request other data distributors to send the target data to the data requester.

[0161] In an optional implementation, in the process of the data requester requesting other data distributors to obtain the target data according to the data migration signaling, the data requester may first determine the data that has been received in the target data, and then request the data that has not been received in the target data from other data distributors, thereby improving the data acquisition efficiency. Alternatively, the data migration signaling may include data breakpoint information, which is used to describe the breakpoint of the target data transmission, that is, the identifier corresponding to the data in the target data that has been sent to the data requester by the data distributor, for example, the timestamp corresponding to the sent data, the sequence number corresponding to the sent data, etc. The data requester may send the data breakpoint information to other data distributors, so that other data distributors transmit the data in the target data that has not been transmitted to the data requester to the data requester according to the data breakpoint information, thereby realizing "breakpoint resumption", avoiding repeated data transmission, and improving data transmission efficiency.

[0162] exist Figure 8 In the illustrated embodiment, the data distributor in the content distribution network detects the data transmission status and can promptly discover data transmission anomalies. After detecting the data transmission anomaly, the data migration signaling is transmitted to the data requester through the signaling transmission channel between the data requester and the data distributor, rather than transmitting the data migration signaling to the data requester through the data transmission channel. This allows the data requester to be promptly notified to obtain data from other data distributors, thereby improving the efficiency of the data requester in obtaining data.

[0163] In an exemplary embodiment, see Fig. 9 , Fig. 9 is a flowchart of a data transmission method shown in another exemplary embodiment of the present application. The method can be applied to Figure 1 The implementation environment shown, which can be Figure 1 The data requester 110 in the illustrated implementation environment executes.

[0164] like Fig. 9 As shown, the method includes steps S910 to S940, and steps S820 to S840, wherein steps S910 to S940 are described in detail as follows:

[0165] Step S910: receiving identification information of the data to be obtained sent by the client, and searching the local database for data matching the identification information.

[0166] The client refers to the party that needs to obtain data, and it can send the identification information of the data to be obtained to the data requester to request the data requester to obtain the data to be obtained. Among them, the data transmission method is applied in different scenarios, and the devices corresponding to the client, data requester, and data distributor are different. For example, in an optional example, the data transmission method can be applied to the CDN network. Under this condition, the client can be the terminal device corresponding to the user, the data requester can be the edge node corresponding to the terminal device, and the data distributor can be the intermediate source server or the source station server; or the client can be the edge node, the data request method intermediate source server, and the data distributor can be the source station server.

[0167] After receiving the identification information of the data to be obtained, the data requester can first search for data matching the identification information in the local database. It should be noted that the local database of the data requester is only used to indicate that it is a database included in the data requester, and is not used to limit the type of database, etc. For example, the local database can be a cache database or other types of databases.

[0168] Step S920: If no data matching the identification information is found, the network address of the data distributor is obtained.

[0169] If there is no data matching the identification information of the data to be obtained in the local database of the data requester, it indicates that the data requester needs to obtain the data matching the identification information from the data distributor. Therefore, the data requester can first obtain the network of the data distributor.

[0170] Optionally, if data matching the identification information is found, the data requester sends the found data to the client.

[0171] Step S930: Create a data transmission channel and a signaling transmission channel according to the network address of the data distributor and the web instant messaging protocol.

[0172] After obtaining the network address of the data distributor, the data requester can establish a connection with the data distributor based on the network address and the web instant messaging protocol, and create a data transmission channel and a signaling transmission channel between the data distributor and the data requester during the connection establishment process.

[0173] Step S940: Generate a data acquisition request according to the identification information, and transmit the data acquisition request to the data distributor through the data transmission channel.

[0174] After a data transmission channel is established between the data requester and the data distributor, the data requester may send a data acquisition request including identification information of the data to be acquired to the data distributor through the data transmission channel.

[0175] It should be noted that Fig. 9 The specific implementation details of steps S820 to S840 shown in FIG. Figure 8 Steps S820 to S840 shown are not repeated here.

[0176] exist Fig. 9 In the illustrated embodiment, when the data requester fails to find data matching the identification information of the data to be obtained from the client in the local database, it creates a data transmission channel and a signaling transmission channel with the data distributor, and sends a data acquisition request containing the identification information to the data distributor through the data transmission channel, thereby promptly requesting the target data matching the identification information from the data distributor, and when an abnormality occurs in the transmission of the target data, the data distributor can also promptly notify the data requester through the created signaling transmission channel to obtain the target data from other data distributors.

[0177] In an exemplary embodiment, see Fig.10 , Fig.10 is a flowchart of a data transmission method shown in another exemplary embodiment of the present application. The method can be applied to Figure 1 The implementation environment shown, which can be Figure 1 The data requester 110 in the illustrated implementation environment executes.

[0178] like Fig.10 As shown, under the condition that the signaling transmission channel is a bidirectional signaling transmission channel, the method includes steps S910 to S940, steps S820 to S840, and steps S1010 to S1030, wherein steps S1010 to S1030 are described in detail as follows:

[0179] Step S1010: Send a heartbeat message to the data distributor through a bidirectional signaling transmission channel.

[0180] Under the condition that the signaling transmission channel between the data requester and the data distributor is a bidirectional signaling transmission channel, not only the data distributor can send messages to the data requester through the bidirectional signaling transmission channel, but the data requester can also send messages to the data distributor through the bidirectional signaling transmission channel. In order to detect whether the bidirectional signaling transmission channel is abnormal, and thus detect whether the data transmission channel is abnormal, the data requester can periodically send a heartbeat message to the data distributor through the bidirectional signaling transmission channel.

[0181] Step S1020: If no response message corresponding to the heartbeat message sent by the data distributor is received through the two-way signaling transmission channel within a set time period, the network address of other data distributors is obtained.

[0182] After receiving the heartbeat message, the data distributor will send a response message corresponding to the heartbeat message to the data requester through a two-way signaling transmission channel.

[0183] The set time period refers to a period of time set to detect whether the two-way signaling transmission channel is abnormal. After the data distributor sends a heartbeat message to the data requester, if the data distributor receives a response message corresponding to the heartbeat message sent by the data requester within the set time period, it indicates that the two-way signaling transmission channel between the data requester and the data distributor is abnormal, and the data transmission channel between the data requester and the data distributor is also abnormal, affecting the transmission of the target data. Therefore, in order to improve the efficiency of obtaining the target data, the data requester can obtain the network addresses of other data distributors.

[0184] Step S1030: Request other data distributors to obtain target data according to the obtained network address.

[0185] After obtaining the network addresses of other data distributors, the data requester may request the target data from other data distributors according to the addresses. The specific method is similar to step S840 and will not be described again here.

[0186] It should be noted that Fig.10 In the embodiment shown, the data requester sends a heartbeat message to the data distributor through a two-way signaling transmission channel. In other embodiments, the data distributor may also periodically send a heartbeat message to the data requester through a two-way signaling transmission channel. If the data requester does not receive a heartbeat message from the data distributor in the current cycle or in multiple consecutive cycles, it obtains the network address of other data distributors to request target data from other data distributors. And, Fig.10The specific implementation details of steps S820 to S840 shown in FIG. Figure 8 Steps S820 to S840 are shown. Fig.10 The specific implementation details of steps S910 to S940 shown in FIG. Fig. 9 Steps S910 to S940 shown are not repeated here.

[0187] exist Fig.10 In the illustrated embodiment, the data requester can send a heartbeat message to the data distributor via a two-way signaling transmission channel. If no response message corresponding to the heartbeat message is received within a set time period, it is determined that the transmission of the target data is abnormal. The data requester can obtain the network addresses of other data distributors to request the target data from the other data distributors. In other words, the data requester can detect whether the transmission of the target data is abnormal based on the heartbeat message. If so, it can request the target data from other data distributors, thereby improving the efficiency of obtaining the target data.

[0188] In an exemplary embodiment, see Fig.11 , Fig.11 is a flowchart of a data transmission method shown in another exemplary embodiment of the present application. The method can be applied to Figure 1 The implementation environment shown, which can be Figure 1 The data requester 110 in the illustrated implementation environment executes.

[0189] like Fig.11 As shown, under the condition that the target data includes a data stream, the method includes steps S910 to S940, steps S820 to S840, and steps S1110 to S1130, wherein steps S1110 to S1130 are described in detail as follows:

[0190] Step S1110, in the process of receiving data frames included in the data stream through the data transmission channel, receiving the transmission quality parameters sent by the data distributor through the signaling transmission channel; wherein the transmission quality parameters are used to describe the transmission quality of the data frames included in the data stream transmitted from the data provider to the data distributor.

[0191] It should be noted that a data stream is an ordered sequence of byte data frames with a start point and an end point, and is transmitted based on streaming technology in the corresponding order, including but not limited to multimedia data streams, such as audio streams, video streams, audio and video streams, etc. Optionally, each data frame is correspondingly provided with a timestamp to indicate its sequence. For example, for an audio and video stream, which contains multiple audio and video frames, each audio and video frame is correspondingly provided with a display timestamp or a decoding timestamp to indicate the order of playback and transmission of the audio and video frames.

[0192] The data provider refers to the party that provides the data stream, which can be the generator, storage or intermediate forwarder of the data stream. The data provider can transmit the data frames contained in the data stream to the data distributor in the corresponding order. The transmission quality parameters refer to the parameters used to describe the transmission quality, including but not limited to the parameters used to describe the transmission rate, whether there is a freeze, whether there is a frame loss phenomenon, etc.

[0193] Under the condition that the target data includes a data stream, after the data distributor receives the data frames included in the data stream from the data provider, it can process, store, etc. the received data frames, and in step S820, transmit the stored data frames to the data requester in the corresponding order. Since the transmission quality of the data frames included in the data stream between the data provider and the data distributor will affect the transmission of the data frames included in the data stream between the data distributor and the data requester, therefore, in the process of transmitting the data frames included in the data stream to the data requester through the data transmission channel, the data distributor can detect the transmission quality parameters of the data frames included in the data stream currently transmitted from the data provider to the data distributor, and transmit the transmission quality parameters to the data requester through the signaling transmission channel between the data distributor and the data requester, that is, the data distributor can receive the data frames in the data stream from the data provider while transmitting the received data frames to the data requester, and send the transmission quality parameters of the data frames between the data provider and the data distributor to the data requester.

[0194] Among them, the scenarios in which the data transmission method is applied are different, and the devices corresponding to the data provider and the data distributor are different. For example, when the data transmission method is applied to the live broadcast scenario, the data provider can be the terminal device corresponding to the anchor (that is, the live broadcast party), and the data distributor can be the source station server. The terminal device can collect the live broadcast data corresponding to the anchor, and send the live broadcast data to the source station server based on streaming. After the source station server processes and caches the received data, it can transmit the live broadcast data to the edge node, the intermediate source server, etc., and then send the live broadcast data to the client based on streaming through the edge node, the intermediate source server, etc.

[0195] In an optional implementation, in the process of transmitting the data frames included in the data stream to the data requester, the data distributor can detect whether the data stream reception is complete. If not, the data distributor can detect the transmission quality parameters of the data frames included in the data stream transmitted from the data provider to the data distributor, and transmit the transmission quality parameters to the data requester; if it is completed, no further detection is required. Optionally, in the process of transmitting the data frames included in the data stream to the data requester, the data distributor can also detect whether the data stream is a live stream or other data stream with high real-time requirements. If so, the data distributor can detect the transmission quality parameters of the data frames included in the data stream transmitted from the data provider to the data distributor, and transmit the transmission quality parameters to the data requester.

[0196] Optionally, after receiving the transmission quality parameter of the data frame included in the data stream transmitted from the data provider to the data distributor, the data requester may also send the transmission quality parameter to the client so that the client can determine the data transmission status.

[0197] Step S1120: determining a target transmission strategy for transmitting the data stream to the client according to the transmission quality parameter.

[0198] After receiving the transmission quality parameters of the data frames contained in the data transmitted by the data provider to the data distributor, the data requester can determine the target transmission strategy for transmitting the data stream to the client according to the transmission quality parameters, and thus transmit the data stream to the client according to the target transmission strategy.

[0199] Among them, the specific method of determining the target transmission strategy can be flexibly set according to actual needs. In an optional implementation, the transmission quality parameters of the data frames contained in the data stream transmitted from the data provider to the data distributor can be determined based on the transmission quality parameters of the data frames contained in the data stream transmitted from the data requester to the client, wherein these two transmission quality parameters are positively correlated.

[0200] Step S1130: transmitting data frames included in the data stream received through the data transmission channel to the client according to the target transmission strategy.

[0201] After determining the target transmission strategy, the data requester may transmit the data frames included in the data stream received from the data distributor to the client according to the target transmission strategy.

[0202] Optionally, in addition to the transmission quality parameters of the data frames contained in the data stream transmitted by the data provider to the data distributor, the data distributor can also obtain the source attribute information of the data stream such as the file size, data encoding format, resolution corresponding to the data stream and send it to the data requester, so that the data requester can determine the target transmission strategy for transmitting the data frames contained in the data stream to the client according to the source attribute information of the data stream.

[0203] It should be noted that Fig.11 The specific implementation details of steps S820 to S840 shown in FIG. Figure 8 Steps S820 to S840 are shown. Fig.11 The specific implementation details of steps S910 to S940 shown in FIG. Fig. 9 Steps S910 to S940 shown are not repeated here.

[0204] exist Fig.11 In the illustrated embodiment, a transmission strategy for transmitting data frames contained in a data stream from a data provider to a data distributor is determined based on transmission quality parameters of data frames contained in the data stream from a data requester to a client, thereby ensuring smooth data transmission.

[0205] In an exemplary embodiment, see Fig.12 , Fig.12 is a flowchart of a data transmission method shown in another exemplary embodiment of the present application. The method can be applied to Figure 1 The implementation environment shown, which can be Figure 1 The data requester 110 in the illustrated implementation environment executes.

[0206] like Fig.12 As shown, the method includes steps S910 to S940, steps S820 to S840, steps S1110 to S1120, and steps S1210 to S1220, wherein steps S1210 to S1220 are described in detail as follows:

[0207] Step S1210: If it is determined according to the transmission quality parameter that a data frame included in the data stream is jammed during transmission from the data provider to the data distributor, the amount of data corresponding to the data stream received through the data transmission channel is detected.

[0208] After receiving the transmission quality parameters of the data frames contained in the data stream transmitted from the data provider to the data distributor, the data requester can determine whether there is any jamming in the process of transmitting the data frames contained in the data stream from the data provider to the data distributor based on the transmission quality parameters, that is, determine whether the data frames contained in the data stream are smoothly transmitted between the data provider and the data distributor. If there is a jamming (that is, if it is not smooth), the data requester can detect the amount of data corresponding to the data frames contained in the data stream received through the data transmission channel between the data distributor.

[0209] Step S1220: If the detected data volume is greater than the set data volume threshold, the data frames included in the received data stream are transmitted to the client.

[0210] If the detected data volume is greater than the set data volume threshold, it indicates that the data requester has received sufficient data. Therefore, the data requester can transmit the data frames in the received data stream to the client to ensure the smooth transmission of the data frames contained in the data stream between the data requester and the client. The specific value range of the set data volume threshold can be flexibly set according to actual needs. For example, the set data volume threshold can be determined based on the transmission rate of the data frames contained in the data stream between the data requester and the client (or between the data distributor and the data requester, between the data provider and the data distributor), wherein the transmission rate is positively correlated with the set data volume threshold, that is, the higher the transmission rate, the higher the set data volume threshold.

[0211] It should be noted that Fig.12 The specific implementation details of steps S820 to S840 shown in FIG. Figure 8 Steps S820 to S840 are shown. Fig.12 The specific implementation details of steps S910 to S940 shown in FIG. Fig. 9 Steps S910 to S940 are shown. Fig.12 The specific implementation details of steps S1110 to S1120 shown in FIG. Fig.11 Steps S1110 to S1120 shown are not repeated here.

[0212] exist Fig.12 In the illustrated embodiment, when data frames included in the data stream are transmitted from the data provider to the data distributor and a freeze occurs, the data requester receives more data frames before transmitting them to the client, thereby ensuring smooth data transmission.

[0213] In an exemplary embodiment, see Fig.13 , Fig.13 is a flowchart of a data transmission method shown in another exemplary embodiment of the present application. The method can be applied to Figure 1 The implementation environment shown, which can be Figure 1 The data requester 110 in the illustrated implementation environment executes.

[0214] like Fig.13 As shown, under the condition that the target data includes a data stream, the method includes steps S910 to S940, steps S820 to S830, and steps S1310 to S1340, wherein steps S1310 to S1340 are described in detail as follows:

[0215] Step S1310, obtaining the network address and target timestamp of other data distributors from the data migration signaling; the target timestamp is the timestamp corresponding to the data frame sent by the data distributor in the data stream.

[0216] Under the condition that the target data contains a data stream, the data distributor transmits the data frames contained in the data stream to the data requester through the data transmission channel between the data distributor and the data requester. The data stream is an ordered sequence of data frames, and each data frame can carry its corresponding timestamp so that it can be transmitted to the data requester according to the timestamp.

[0217] After detecting that the target data transmission is abnormal, the data requester can obtain the network address of other data distributors, and can obtain the timestamp corresponding to the data frame sent by the data distributor in the data stream, that is, the target timestamp, which is also the timestamp corresponding to the "breakpoint" of data transmission; and send the network address of other data distributors and the target timestamp to the data requester. Optionally, the target timestamp can be the timestamp of the last data frame sent when the data distributor detects the target data transmission abnormality, and the other data distributor can be the aforementioned target data distributor.

[0218] Correspondingly, the data requester receives the data migration signaling including the network addresses and target timestamps of other data distributors, and parses out the network addresses and target timestamps of other data distributors.

[0219] Step S1320: Create data transmission channels and signaling transmission channels with other data distributors based on the network addresses of other data distributors and the web instant messaging protocol.

[0220] The data requester can establish a connection with other data distributors based on the received network addresses of other data distributors and based on the web instant messaging protocol, and in the process of establishing the connection, create a data transmission channel and a signaling transmission channel between the data requester and the other data distributors.

[0221] Step S1330, sending the identification information of the data stream and the target timestamp to other data distributors through the data transmission channel between other data distributors, so that other data distributors can search for the data stream according to the identification information of the data stream.

[0222] The data requester sends the identification information and target timestamp of the data stream to other data distributors according to the data transmission channel between them, and other data distributors search for the data stream matching the received identification information.

[0223] Step S1340: receiving data frames whose corresponding timestamps are later than the target timestamps in the data streams sent by other data distributors through the data transmission channel between other data distributors.

[0224] After other data distributors find the data stream, they can send the data frames in the data stream whose timestamps are later than the target data stamp to the data requester through the data transmission channel between them, thereby resuming transmission from breakpoints, avoiding repeated data transmission, wasting network resources, and improving data transmission efficiency.

[0225] Optionally, other data distributors may also detect whether there is any abnormality in the transmission of the data stream during the process of transmitting the data frames contained in the data stream. If so, they also generate data migration signaling and send the data migration signaling to the data requesting party through the signaling transmission channel between the data requesting party and the data requesting party. The specific process is similar to the aforementioned steps S230-S240 and will not be repeated here.

[0226] Optionally, in addition to the target timestamp, the data distributor may also obtain data retransmission parameters such as transcoding attribute information of the data stream and send them to the data requester, so that the data requester can request data from other data distributors based on the data retransmission parameters, wherein the data retransmission parameters are used to describe the attributes corresponding to the data that other data distributors need to transmit to the data requester. For example, the timestamp corresponding to the data frame to be transmitted can be determined based on the target timestamp, and the data format corresponding to the data frame to be transmitted can be determined based on the transcoding attribute information. Among them, for the transcoding attribute information, since the data format supported by the client is different from the data format uploaded by the data provider, the data distributor may include multiple transcoding modules (different transcoding modules transcode different data formats) for transcoding the received data stream into the data format supported by the client. The transcoding attribute information is used to describe the data format supported by the client, which may include the data format supported by the client, the identification information of the transcoding module, etc.

[0227] It should be noted that Fig.13 The specific implementation details of steps S820 to S830 shown in FIG. Figure 8 Steps S820 to S830 are shown. Fig.13 The specific implementation details of steps S910 to S940 shown in FIG. Fig. 9 Steps S910 to S940 shown are not repeated here.

[0228] Fig.13In the illustrated embodiment, the data migration signaling includes the network address of other data distributors and the target timestamp corresponding to the data frame sent by the data distributor in the data stream. Requesting target data from other data distributors based on the network address and target timestamp can improve data acquisition efficiency, avoid repeated data transmission, and save network resources.

[0229] In an exemplary embodiment, the data transmission method is applied to the transmission of live broadcast, on-demand and other data streams in a content distribution network as an example for description. Fig.14 As shown, the content distribution network includes edge nodes, intermediate source servers and source station servers. The client can request the edge node to obtain the data stream. If the edge node does not find the data stream from the local cache, it can request the intermediate source server to obtain the data stream. If the intermediate source server does not find the data stream from the local cache, it can request the source station server to obtain the data stream. Or, in the absence of an intermediate source server, if the edge node does not find the data stream from the local cache, it can also directly request the source station server to obtain the data stream. Correspondingly, the source station server can send the data stream to the intermediate source server or the edge node, the intermediate source server can send the data stream to the edge node, the edge node can send the data stream to the client, and the source station server can obtain the data stream from the data source. Among them, the data transmission method can be applied to the source station server transmitting the data stream to the intermediate source server, the source station server transmitting the data stream to the edge node, the intermediate source server transmitting the data stream to the edge node, or the edge node transmitting the data stream to the client.

[0230] In this embodiment, the source station server transmits the audio and video data stream corresponding to the live broadcast to the edge node as an example for explanation. Correspondingly, the data requester is the edge node, the data distributor is the source station server, and the data provider is the live broadcast party. Fig.15 As shown, the data transmission method includes steps S1501 to S1510, which are described in detail as follows:

[0231] Step S1501, the live broadcast party transmits multiple audio and video frames contained in the audio and video data stream to any source station server.

[0232] The content distribution network may include multiple source servers, each of which may receive data sent by a data provider (eg, a live broadcaster, etc.), process the data, and cache the data.

[0233] The live broadcaster can collect audio and video data and convert the audio and video data into an audio and video data stream and transmit it to any source station server, that is, transmit the collected audio and video data to any source station server through streaming. The audio and video stream contains audio and video frames arranged according to the playback time. During the transmission process, the audio and video frames are transmitted to any source station server in the order of arrangement.

[0234] Step S1502: Any source station server caches the audio and video frames received from the live broadcast party.

[0235] Optionally, the source server may also perform filtering, noise reduction and other processing on the received data, and cache the processed data.

[0236] Step S1503: The client sends the data identification information to the edge node.

[0237] If the user wants to watch the live broadcast, he can select the corresponding live broadcast room through the client. The client can establish a connection with the edge node in the content distribution network and send the data identification information corresponding to the live broadcast room (that is, the identification information of the data to be obtained) to the edge node to request the edge node to obtain the audio and video stream of the live broadcast room.

[0238] Optionally, in order to ensure the transmission rate and stability between the client and the edge node, an edge node that is closer to the client and / or has a smaller load may be selected from the content distribution network, and the selected edge node may be connected to the client. For example, the selected edge node may be the edge node closest to the client, or may be the edge node with the smallest load among multiple edge nodes that are closer to the client.

[0239] Step S1504: the edge node searches the local cache for audio and video frames that match the data identification information.

[0240] The edge node can search the local cache for audio and video frames that match the identification information of the live broadcast room from the client. If no matching audio and video frames are found, go to step S1505.

[0241] Optionally, if matching audio and video frames are found, the edge node transmits the found audio and video frames to the client in a corresponding order based on streaming transmission.

[0242] Step S1505: If no matching audio or video frame is found, the edge node creates a secure real-time transmission channel and a secure real-time transmission control channel with any source server based on the web instant messaging protocol.

[0243] If no audio or video frames matching the identification information of the live broadcast room are found, the edge node can request the source server to obtain the audio or video frames. Before sending the request, the edge node can establish a connection with any source server based on the web instant messaging protocol, and in the process of establishing the connection, create a secure real-time transmission channel and a secure real-time transmission control channel between the edge node and the source server.

[0244] Optional, during the connection establishment process, see Fig.16 As shown, the edge node can send SD (session description, session description information) to the third-party server through the corresponding browser and application, and the source server sends the session description information to the third-party server through the corresponding browser and application, so that the third-party server sends the session description information from the edge node to the source server, and sends the session description information from the source server to the edge node, thereby realizing the exchange of session description information between the edge node and the source server, and then creating a secure real-time transmission channel and a secure real-time transmission control channel between the edge node and the source server based on the session description information.

[0245] Step S1506: The edge node transmits data identification information to any source server in real time through secure transmission between the edge node and any source server.

[0246] After creating a secure real-time transmission channel, the edge node transmits the data identification information to the source server through the channel to request the source server to obtain the audio and video data stream corresponding to the live broadcast room.

[0247] Step S1507: any source server transmits the audio and video frames matching the data identification information to the edge node through a secure real-time transmission channel between the source server and the edge node.

[0248] After receiving the data identification information, the source server searches the database for cached audio and video frames that match the identification information, and transmits the found audio and video frames to the edge node in a corresponding order based on streaming.

[0249] Optionally, after receiving the audio and video frames, the edge node can cache the audio and video frames in a local cache, and send the received audio and video frames to the client in a corresponding order, so that the client can obtain the audio and video stream of the live broadcast room.

[0250] Step S1508: During the transmission of the audio and video frames, if any source station server detects that the transmission of the audio and video frames is abnormal, a data migration signaling is generated.

[0251] During the transmission of audio and video frames through a secure real-time transmission channel, if any source station server detects that the transmission rate of the audio and video frames is low, or the source station server needs to be expanded or reduced in capacity, or the transmission module used to transmit audio and video frames in the source station server fails, data migration signaling can be generated.

[0252] Step S1509: any source server transmits data migration signaling to the edge node through a secure real-time transmission control channel between the server and the edge node.

[0253] The source server can transmit the data migration signaling to the edge node through the secure real-time transmission control channel between the edge node and the source server. Optionally, the data migration signaling can include the IP address, port, etc. of the target source server (ie, other source servers).

[0254] Optional, see Fig.17 As shown, Fig.17 It is an application-defined message type message, which includes V (version), P (padding), ST (custom message subtype), PT (payload type), Length (message length), name (name) and data (data). Name is used to indicate the name of the custom message, and data is used to indicate the data carried by the custom message. Data migration signaling can be added to data to Fig.17 The message format shown transmits the data migration signaling to the edge node, wherein the data migration signaling can be in the following format:

[0255] hpa=ip4 10.0.0.1 / 8080ip6 Fd00::FFFF:2D1:7D01:0000:8F21 / 8080

[0256] The data migration signaling includes the reason for the data transmission exception, the IP address of the target source server, and the port of the target source server. hpa indicates that the reason for the data transmission exception is that the source server needs to be expanded or reduced in capacity. ip410.0.0.1 / 8080 indicates that the IP address of the target source server is 10.0.0.1 and the port number is 8080. ip6 Fd00::FFFF:2D1:7D01:0000:8F21 / 8080 indicates that the IP address of the target source server is Fd00::FFFF:2D1:7D01:0000:8F21 and the port number is 8080.

[0257] Step S1510: The edge node requests other source station servers to obtain audio and video frames matching the data identification information according to the data migration signaling.

[0258] After receiving the data migration signaling, the edge node can request other source station servers to obtain the audio and video frames corresponding to the live broadcast room.

[0259] Optionally, after finding the audio and video frames that match the data identification information, any source station server can also transmit the source attribute information (mediadata) of the corresponding audio and video stream to the edge node through the secure real-time transmission control channel; or, after detecting an abnormality in the transmission of the audio and video frames, the data retransmission parameters of the audio and video stream can also be sent to the edge node, wherein the data retransmission parameters can be encapsulated into the same message with the data migration signaling and then transmitted to the edge node, or can be encapsulated into different messages and transmitted to the edge nodes separately.

[0260] In an optional example, the format of the source attribute information (mediadata) is as follows:

[0261] mediadata=framerate:30v:true a:true videocodecid:11audiocodecid:1rate:1024000width:1920height:1080filesize:1500000fluency:stable

[0262] Among them, framerate identifies the frame rate, v is used to describe whether there is video in the audio and video stream, a is used to describe whether there is audio in the audio and video stream, true represents existence, videocodecid is used to describe the identification number of the video encoding format, audiocodecid is used to describe the identification number of the audio encoding format, rate is used to describe the transmission rate of the audio and video stream between the live broadcast party and the source server, width and height are used to describe the width and height of the video resolution respectively, filesize is used to describe the file size corresponding to the audio and video stream, fluency is used to describe whether the transmission of the audio and video stream between the live broadcast party and the source server is smooth, among which stable means stable, catton means stuck, and dropframe means unstable and frame dropped.

[0263] In an optional example, the format of the data retransmission parameter of the audio and video stream is as follows:

[0264] stream=name:vultureli module:1080P-trans pts:3145689dts:3145689

[0265] Among them, name is used to describe the name of the audio and video stream, module is used to describe the name of the transcoding module, DTS is used to describe the decoding timestamp of the transmitted audio and video frame, and PTS is used to describe the display timestamp of the transmitted audio and video frame.

[0266] Optionally, you can Fig.17 The message format shown transmits the data retransmission parameters and source attribute information of the audio and video streams to the edge nodes.

[0267] The edge node can determine the target transmission strategy for transmitting audio and video frames to the client based on the source attribute information of the audio and video stream, and can also request other source station servers to obtain audio and video streams that match the data identification information based on the data retransmission parameters of the audio and video streams. Among them, other source station servers can search for audio and video streams that match the name in the data retransmission parameters from the audio and video streams output by the transcoding module corresponding to the module in the data retransmission parameters, and transmit the corresponding audio and video frames in the audio and video stream whose timestamps are later than DTS or PTS to the edge node.

[0268] based on Fig.15 The data transmission method provided can improve data transmission efficiency and improve source station failure migration efficiency.

[0269] See also Fig.18 , Fig.18 FIG. 1 is a block diagram of a data transmission device shown in an exemplary embodiment of the present application. Fig.18 As shown, the device comprises:

[0270] The search module 1801 is configured to receive a data acquisition request sent by a data requester in a content distribution network, and search for target data matching the data acquisition request;

[0271] The data transmission module 1802 is configured to transmit the target data to the data requester through the data transmission channel between the data requester and the data requester;

[0272] The generating module 1803 is configured to generate a data migration signaling for instructing the data requester to obtain the target data from other data distributors in the content distribution network if an abnormality is detected in the transmission of the target data during the transmission of the target data;

[0273] The signaling transmission module 1804 is configured to send the data migration signaling to the data requesting party through the signaling transmission channel between the data requesting party and the data requesting party, so that the data requesting party requests other data distributors to obtain the target data according to the data migration signaling.

[0274] In an optional embodiment, based on the foregoing example, under the condition that the target data includes multimedia data, the device also includes a processing module configured to: during the transmission of the multimedia data, if congestion is detected in the data transmission channel, perform frame loss processing on the remaining data in the multimedia data that has not yet been transmitted to the data transmission channel; the data transmission module is further configured to: transmit the remaining data after the frame loss processing to the data requester through the data transmission channel.

[0275] In an optional embodiment, based on the aforementioned example, the generation module 1803 is specifically configured to: obtain load parameters and computing power parameters corresponding to multiple other data distributors included in the content distribution network; select a target data distributor for transmitting target data from multiple other data distributors based on the obtained load parameters and computing power parameters; generate data migration signaling based on the identification information of the target data distributor, so that the data requester requests the target data distributor to obtain the target data based on the identification information of the target distributor.

[0276] In an optional embodiment, based on the aforementioned example, the device also includes a detection module configured to: detect the transmission rate of the target data during the transmission of the target data; compare the transmission rate of the target data with a set rate threshold; if the transmission rate of the target data is less than the set rate threshold, determine that the transmission of the target data is abnormal.

[0277] In an optional embodiment, based on the aforementioned example, the device also includes a detection module configured to: during the transmission of the target data, detect the operating status parameters of the transmission module used to transmit the target data; if it is determined according to the operating status parameters that the transmission module fails, it is determined that the transmission of the target data is abnormal.

[0278] In an optional embodiment, based on the foregoing example, the device further includes a detection module configured to: detect its own load parameters during the transmission of the target data; if it is detected based on the load parameters that expansion and contraction processing is required, it is determined that the transmission of the target data is abnormal.

[0279] It should be noted that Fig.18 The provided data transmission device and the steps on the data distributor side in the data transmission method provided in the above embodiment belong to the same concept, and the specific manner in which each module and unit performs the operation has been described in detail in the method embodiment and will not be repeated here.

[0280] See also Fig.19 , Fig.19 is a block diagram of a data transmission device shown in an exemplary embodiment of the present application.

[0281] like Fig.19 As shown, the device comprises:

[0282] The sending module 1901 is configured to generate a data acquisition request according to the identification information of the data to be acquired, and send the data acquisition request to a data distributor in the content distribution network, so that the data distributor searches for target data matching the identification information;

[0283] The data receiving module 1902 is configured to receive target data transmitted by the data distributor through the data transmission channel between the data distributor and the data distributor;

[0284] The signaling receiving module 1903 is configured to receive the data migration signaling sent by the data distributor through the signaling transmission channel between the data distributor and the data distributor during the transmission process of the target data; wherein the data migration signaling is generated by the data distributor after detecting that the transmission of the target data is abnormal;

[0285] The request module 1904 is configured to request other data distributors in the content distribution network to obtain target data according to the data migration signaling.

[0286] In an optional embodiment, based on the aforementioned example, the sending module 1901 is configured to: receive identification information of the data to be acquired sent by the client, and search for data matching the identification information from the local database; if no data matching the identification information is found, obtain the network address of the data distributor; create a data transmission channel and a signaling transmission channel based on the network address of the data distributor and the web instant messaging protocol; generate a data acquisition request based on the identification information, and transmit the data acquisition request to the data distributor through the data transmission channel.

[0287] In an optional embodiment, based on the aforementioned example, under the condition that the target data contains a data stream, the request module 1904 is also configured to: send a heartbeat message to the data distributor through a two-way signaling transmission channel; if no response message corresponding to the heartbeat message sent by the data distributor is received through the two-way signaling transmission channel within a set time period, obtain the network address of other data distributors; and request the target data from other data distributors based on the obtained network address.

[0288] In an optional embodiment, based on the foregoing example, under the condition that the signaling transmission channel is a bidirectional signaling transmission channel, the device also includes a transmission module, configured to: in the process of receiving data frames contained in the data stream through the data transmission channel, receive the transmission quality parameters sent by the data distributor through the signaling transmission channel; wherein the transmission quality parameters are used to describe the transmission quality of the data frames contained in the data stream transmitted from the data provider to the data distributor; determine the target transmission strategy for transmitting the data stream to the client according to the transmission quality parameters; and transmit the data frames contained in the data stream received through the data transmission channel to the client according to the target transmission strategy.

[0289] In an optional embodiment, based on the aforementioned example, the transmission module is further configured as follows: if a jam occurs during the transmission of data frames contained in the data stream from the data provider to the data distributor as determined by the transmission quality parameters, then the data volume corresponding to the data stream received through the data transmission channel is detected; if the detected data volume is greater than a set data volume threshold, then the data frames contained in the received data stream are transmitted to the client.

[0290] In an optional embodiment, based on the aforementioned example, under the condition that the target data contains a data stream, the request module 1904 is specifically configured as follows: obtaining the network address and target timestamp of other data distributors from the data migration signaling; the target timestamp is the timestamp corresponding to the data frame in the data stream that has been sent by the data distributor; according to the network address of other data distributors and the web instant messaging protocol, creating a data transmission channel and a signaling transmission channel with other data distributors; sending the identification information of the data stream and the target timestamp to other data distributors through the data transmission channel with other data distributors, so that other data distributors can search for the data stream according to the identification information of the data stream; receiving the data frames whose corresponding timestamps in the data stream sent by other data distributors are later than the target timestamp through the data transmission channel with other data distributors.

[0291] It should be noted that Fig.19 The provided data transmission device and the steps on the data requesting side in the data transmission method provided in the above embodiment belong to the same concept, wherein the specific manner in which each module and unit performs the operation has been described in detail in the method embodiment and will not be repeated here.

[0292] An embodiment of the present application also provides an electronic device, comprising: one or more processors; a storage device for storing one or more computer programs, when the one or more computer programs are executed by one or more processors, the electronic device implements the data transmission method provided in the above-mentioned embodiments.

[0293] Fig. 20 A schematic diagram of the structure of a computer system suitable for implementing an electronic device of an embodiment of the present application is shown.

[0294] It should be noted that Fig. 20 The computer system 2000 of the electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0295] like Fig. 20As shown, the computer system 2000 includes a central processing unit (CPU) 2001, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 2002 or a computer program loaded from a storage part 2008 to a random access memory (RAM) 2003, such as executing the data transmission method in the above embodiment. Various computer programs and data required for system operation are also stored in RAM 2003. CPU 2001, ROM 2002 and RAM 2003 are connected to each other via a bus 2004. An input / output (I / O) interface 2003 is also connected to the bus 2004.

[0296] In some embodiments, the following components are connected to the I / O interface 2003: an input section 2006 including a keyboard, a mouse, etc.; an output section 2007 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 2008 including a hard disk, etc.; and a communication section 2009 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication section 2009 performs communication processing via a network such as the Internet. A drive 2010 is also connected to the I / O interface 2003 as needed. A removable medium 2011, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 2010 as needed, so that a computer program read therefrom is installed into the storage section 2008 as needed.

[0297] In particular, according to an embodiment of the present application, a computer program implementing the data transmission method may be carried on a computer-readable medium, and the computer program may be downloaded and installed from a network through the communication part 2009 , and / or installed from a removable medium 2011 .

[0298] It should be noted that the computer-readable medium shown in the embodiment of the present application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable storage medium may be any tangible medium containing or storing a computer program, which may be used by an instruction execution system, device or device or used in combination with it. The computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, wherein a computer-readable computer program is carried, and the propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. The computer program contained in the computer-readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, etc., or any suitable combination of the foregoing.

[0299] The flowchart and block diagram in the accompanying drawings illustrate the possible architecture, functions and operations of the system, method and computer program product according to various embodiments of the present application. Wherein, each box in the flowchart or block diagram can represent a module, a program segment, or a part of the code, and the above-mentioned module, program segment, or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of the boxes in the block diagram or flowchart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and a computer program.

[0300] The units involved in the embodiments described in this application may be implemented by software or hardware, and the units described may also be set in a processor. The names of these units do not, in some cases, constitute limitations on the units themselves.

[0301] Another aspect of the present application also provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor of an electronic device, the electronic device implements the above data transmission method. The computer-readable storage medium may be included in the electronic device described in the above embodiment, or may exist independently without being assembled into the electronic device.

[0302] Another aspect of the present application further provides a computer program product, the computer program product comprising a computer program, and when the computer program is executed by a processor, the data transmission method provided in each of the above embodiments is implemented. The computer program may be stored in a computer-readable storage medium.

[0303] The above content is only a preferred exemplary embodiment of the present application and is not intended to limit the implementation scheme of the present application. A person skilled in the art can easily make corresponding changes or modifications based on the main concept and spirit of the present application. Therefore, the scope of protection of the present application shall be based on the scope of protection required by the claims.

Claims

1. A data transmission method, characterized in that: The method comprises: Receiving a data acquisition request sent by a data requester in a content distribution network, and searching for target data matching the data acquisition request; Transmitting the target data to the data requester through a data transmission channel between the target data requester and the data requester; During the transmission of the target data, if it is detected that the transmission of the target data is abnormal, generating a data migration signaling for instructing the data requester to obtain the target data from other data distributors in the content distribution network; The data migration signaling is sent to the data requesting party through a signaling transmission channel between the data requesting party and the data requesting party, so that the data requesting party requests the other data distributors to obtain the target data according to the data migration signaling.

2. The method according to claim 1, characterized in that The target data includes multimedia data; the method further includes: During the transmission of the multimedia data, if it is detected that the data transmission channel is congested, performing frame drop processing on the remaining data of the multimedia data that has not yet been transmitted to the data transmission channel; The remaining data after the frame loss processing is transmitted to the data requester through the data transmission channel.

3. The method according to claim 1, characterized in that The generating of the data migration signaling for instructing the data requester to obtain the target data from other data distributors in the content distribution network includes: Obtaining load parameters and computing power parameters corresponding to a plurality of other data distributors included in the content distribution network; Selecting a target data distributor for transmitting the target data from the multiple other data distributors according to the acquired load parameters and computing power parameters; The data migration signaling is generated according to the identification information of the target data distributor, so that the data requester requests the target data distributor to obtain the target data according to the identification information of the target data distributor.

4. The method according to claim 1, characterized in that The method comprises: During the transmission of the target data, detecting a transmission rate of the target data; Comparing the transmission rate of the target data with a set rate threshold; If the transmission rate of the target data is less than the set rate threshold, it is determined that the transmission of the target data is abnormal.

5. The method according to claim 1, characterized in that The method comprises: During the transmission of the target data, detecting an operating status parameter of a transmission module used to transmit the target data; If it is determined according to the operating status parameter that the transmission module fails, it is determined that the transmission of the target data is abnormal.

6. The method according to claim 1, characterized in that The method comprises: During the transmission of the target data, detecting its own load parameters; If it is detected according to the load parameters that capacity expansion and contraction processing is required, it is determined that the transmission of the target data is abnormal.

7. A data transmission method, characterized in that: The method comprises: Generate a data acquisition request according to the identification information of the data to be acquired, and send the data acquisition request to a data distributor in a content distribution network, so that the data distributor searches for target data matching the identification information; Receiving the target data transmitted by the data distributor through the data transmission channel between the data distributor and the data distributor; During the transmission of the target data, a data migration signaling sent by the data distributor is received through a signaling transmission channel between the data distributor and the data distributor; wherein the data migration signaling is generated after the data distributor detects that the transmission of the target data is abnormal; Requesting other data distributors in the content distribution network to obtain the target data according to the data migration signaling.

8. The method according to claim 7, characterized in that The step of generating a data acquisition request according to identification information of the data to be acquired, and sending the data acquisition request to a data distributor in a content distribution network, comprises: Receive identification information of the data to be obtained sent by the client, and search for data matching the identification information from the local database; If no data matching the identification information is found, obtaining the network address of the data distributor; Creating the data transmission channel and the signaling transmission channel according to the network address of the data distributor and the web instant messaging protocol; The data acquisition request is generated according to the identification information, and the data acquisition request is transmitted to the data distributor through the data transmission channel.

9. The method according to claim 8, characterized in that The signaling transmission channel is a bidirectional signaling transmission channel; after creating the data transmission channel and the signaling transmission channel according to the network address of the data distributor and the web instant messaging protocol, the method further includes: Sending a heartbeat message to the data distributor via the bidirectional signaling transmission channel; If no response message corresponding to the heartbeat message sent by the data distributor is received through the two-way signaling transmission channel within a set time period, obtaining the network address of other data distributors; According to the obtained network address, request other data distributors to obtain the target data.

10. The method according to claim 8, characterized in that The target data includes a data stream; the method further includes: In the process of receiving the data frames included in the data stream through the data transmission channel, receiving the transmission quality parameters sent by the data distributor through the signaling transmission channel; wherein the transmission quality parameters are used to describe the transmission quality of the data frames included in the data stream transmitted from the data provider to the data distributor; Determining a target transmission strategy for transmitting the data stream to the client according to the transmission quality parameter; According to the target transmission strategy, the data frames included in the data stream received through the data transmission channel are transmitted to the client.

11. The method according to claim 10, characterized in that The step of transmitting the data frames contained in the data stream received through the data transmission channel to the client according to the target transmission strategy includes: If it is determined according to the transmission quality parameter that a jam occurs during the transmission of the data frames included in the data stream from the data provider to the data distributor, detecting the amount of data corresponding to the data stream received through the data transmission channel; If the detected data volume is greater than the set data volume threshold, the data frames contained in the received data stream are transmitted to the client.

12. The method according to claim 8, characterized in that The target data includes a data stream; and requesting other data distributors in the content distribution network to obtain the target data according to the data migration signaling includes: Acquire the network address and target timestamp of the other data distributor from the data migration signaling; the target timestamp is the timestamp corresponding to the data frame in the data stream that has been sent by the data distributor; According to the network address of the other data distributor and the web instant messaging protocol, a data transmission channel and a signaling transmission channel are established with the other data distributor; Sending the identification information of the data stream and the target timestamp to the other data distributor through the data transmission channel between the other data distributor and the other data distributor, so that the other data distributor can search for the data stream according to the identification information of the data stream; The data frames corresponding to the timestamps later than the target timestamp in the data stream sent by the other data distributors are received through the data transmission channel between the other data distributors.

13. A data transmission device, characterized in that: The device comprises: A search module, configured to receive a data acquisition request sent by a data requester in a content distribution network, and search for target data matching the data acquisition request; A data transmission module, configured to transmit the target data to the data requester through a data transmission channel between the target data and the data requester; a generating module configured to generate data migration signaling for instructing the data requester to obtain the target data from other data distributors in the content distribution network if an abnormality is detected in the transmission of the target data during the transmission of the target data; The signaling transmission module is configured to send the data migration signaling to the data requesting party through the signaling transmission channel between the data requesting party and the data requesting party, so that the data requesting party requests the other data distributors to obtain the target data according to the data migration signaling.

14. A data transmission device, characterized in that: The device comprises: A sending module, configured to generate a data acquisition request according to the identification information of the data to be acquired, and send the data acquisition request to a data distributor in the content distribution network, so that the data distributor searches for target data matching the identification information; A data receiving module, configured to receive the target data transmitted by the data distributor through a data transmission channel between the data distributor and the data distributor; a signaling receiving module, configured to receive, during the transmission of the target data, a data migration signaling sent by the data distributor through a signaling transmission channel between the data distributor and the data distributor; wherein the data migration signaling is generated after the data distributor detects that an abnormality occurs in the transmission of the target data; The request module is configured to request other data distributors in the content distribution network to obtain the target data according to the data migration signaling.

15. An electronic device, characterized in that: include: one or more processors; A storage device for storing one or more computer programs, which, when executed by the one or more processors, enables the electronic device to implement the data transmission method described in any one of claims 1 to 12.

16. A computer-readable storage medium, characterized in that: A computer program is stored thereon, and when the computer program is executed by a processor of an electronic device, the electronic device implements the data transmission method according to any one of claims 1 to 12.

17. A computer program product, characterized in that The invention comprises a computer program, which, when executed by a processor, implements the data transmission method according to any one of claims 1 to 12.

Citation Information

Cited By

  • Method and system for parallel P2P file transmission of WebRTC real-time communication protocol of Web client

    CN120658719A

  • Method and system for parallel p2p transmission of files by a web client webrtc real-time communication protocol

    CN120658719B