CN111526379B - Data transmission method and data transmission device - Google Patents

Data transmission method and data transmission device Download PDF

Info

Publication number
CN111526379B
CN111526379B CN201910108823.9A CN201910108823A CN111526379B CN 111526379 B CN111526379 B CN 111526379B CN 201910108823 A CN201910108823 A CN 201910108823A CN 111526379 B CN111526379 B CN 111526379B
Authority
CN
China
Prior art keywords
server
data
media
media fragment
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910108823.9A
Other languages
Chinese (zh)
Other versions
CN111526379A (en
Inventor
曹阳
姜立科
侯成宝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910108823.9A priority Critical patent/CN111526379B/en
Publication of CN111526379A publication Critical patent/CN111526379A/en
Application granted granted Critical
Publication of CN111526379B publication Critical patent/CN111526379B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Abstract

The embodiment of the application discloses a data transmission method, which is used for improving the playing effect of live broadcast and improving the user experience. The method in the embodiment of the application comprises the following steps: a first server receives an index request sent by terminal equipment; the first server sends an index of the media fragment to the terminal equipment, wherein the index comprises an address of the media fragment; a first server receives a data request of a media fragment sent by a terminal device; when the first server does not store the data of the media fragment at a first moment and the first server receives the data of the media fragment, the first server sends a first success message to the terminal device, wherein the first success message is used for indicating that the terminal device successfully requests the data of the media fragment, and the first moment is the moment when the first server receives the data request of the media fragment sent by the terminal device; the first server acquires the data of the media fragment; and the first server sends the data of the media fragment to the terminal equipment.

Description

Data transmission method and data transmission device
Technical Field
The present application relates to communications technologies, and in particular, to a data transmission method and a data transmission apparatus.
Background
At present, with the wide use of internet companies Over The Top (OTT) live broadcast application, the user has higher and higher requirements for the end-to-end time delay of OTT live broadcast. Therefore, the live broadcast delay problem becomes a core problem concerned by current OTT live broadcast operation.
In order to reduce the live broadcast time delay and improve the live broadcast effect, a Content Delivery Network (CDN) is introduced. The basic idea of the CDN is to avoid bottlenecks and links on the internet that may affect the data transmission speed and stability as much as possible, so that the content transmission is faster and more stable. Currently, a terminal device sends a data request of a media fragment to a CDN through an index of the media fragment, if the current CDN does not locally cache the data of the media fragment, the CDN requests a source station server to obtain the data of the media fragment, and if the current source station server does not locally cache the data of the media fragment, the source station server feeds back a failure message to the CDN, and the CDN feeds back the failure message to the terminal device; and when the terminal device receives the failure message, the terminal device will initiate a data request of the media fragment to the CDN again within a certain time, and if the current CDN does not locally cache the data of the media fragment, the CDN requests the data of the media fragment to the source station server again, and then sends the data of the media fragment to the terminal device.
In the above scheme, there may be a certain time delay for pushing the data of the media segment to the source station server and the CDN, and if the terminal device fails to request the data of the media segment in this process, the terminal device may continuously and repeatedly request the data of the media segment to the CDN until the data of the media segment is successfully requested. Under the condition, the terminal device continuously repeats the request and retry, and due to the fact that uncertain time delay exists between the terminal device and the CDN and between the CDN and the source station server, large time delay is introduced, the playing effect of live broadcast is affected, and user experience is poor.
Disclosure of Invention
The embodiment of the application provides a data transmission method and a data transmission device, which are used for improving the playing effect of live broadcast and improving the user experience.
A first aspect of an embodiment of the present application provides a data transmission method, where the method includes:
in the live broadcast process, the terminal equipment can send an index request to the first server in an index mode; the first server may then send an index of the media segment to the terminal device, where the index of the media segment may include an address of the media segment. The terminal equipment can send a data request of the media fragment to the first server through the address of the media fragment; and when the first server does not store the data of the media fragment at the current time and the first server receives the data of the media fragment, the first server may send a first success message to the terminal device to notify that the terminal device requests the data of the media fragment successfully, where the current time is a time when the first server receives the data request of the media fragment sent by the terminal device. Then the terminal device may wait for the first server to send the data of the media fragment to it. Then, the first server obtains the data of the media fragment and sends the data of the media fragment to the terminal device. According to the technical scheme, when the data of the media fragment is not stored in the first server at the current moment and the first server receives the data of the media fragment, the first server sends the first success message to the terminal equipment, so that the terminal equipment can not repeatedly request and retry due to the fact that the failure feedback is received, the time delay problem caused by uncertain time delay between the terminal equipment and the server is avoided, the live broadcast effect is improved, and the user experience is improved.
In a possible implementation manner, before the first server sends the index of the media segment to the terminal device, the method may further include: first, a first server may obtain an index of the media segment. Then, the first server may create an empty file corresponding to the media fragment according to the address of the media fragment. In this possible implementation, there is provided a method for a first server to create an empty file corresponding to a media slice, the method comprising: and when the data of the media fragment is not stored in the first server at the current moment and the first server receives the data of the media fragment, the first server sends a message feedback mechanism of a first successful message to the terminal equipment.
In another possible implementation manner, before the first server may send the index of the media segment to the terminal device, the method may further include: first, a first server may send an index request to a second server. The first server may then receive the index of the media segment sent by the second server. Before the first server obtains the data of the media segment, the method may further include: the first server may send a data request for a media fragment to the second server; when the second server stores the data of the media segment at a second time, the first server may receive a second success message sent by the second server, where the second success message is used to indicate that the first server successfully requests the data of the media segment, and the second time is a time when the second server receives the data request of the media segment sent by the first server. In this possible implementation manner, the first server may be a server that directly interacts with the terminal device, such as a CDN.
In another possible implementation manner, when the second server does not store the data of the media segment at the second time, the method may further include: first, the first server may receive a failure message sent by the second server, where the failure message is used to indicate that the first server has failed to request data of the media fragment; then, the first server may send a data request of the media fragment to a second server; when the second server stores the data of the media segment at a third time, the first server may receive a third success message sent by the second server, where the third success message is used to indicate that the first server successfully requests the data of the media segment, and the third time is when the second server receives the data request of the media segment sent by the first server again. In this possible implementation manner, when the first server is a server directly interacting with the terminal device and the first server does not locally store the data of the media segment, the first server may request the second server to acquire the data of the media segment. When the second server does not locally store the data of the media fragment, the first server receives a failure message fed back by the second server, and the first server initiates a data request of the media fragment to the second server again.
In another possible implementation manner, the sending, by the first server, the index of the media segment to the terminal device may include: firstly, the first server can send the index of the media fragment to the terminal equipment through the second server; and the first server may send the first successful message to the terminal device may include: the first server may send the data of the media fragment to the terminal device through the second server. In this possible implementation, the first server may be a server that indirectly interacts with the terminal device, for example, a source station server. In another possible implementation manner, before the first server sends the index of the media segment to the terminal device, the method may further include: first, the first server may send an index request to the second server; then, the first server may receive the index of the media fragment sent by the second server; the method may further comprise: a first server sends a data request of a media fragment to a second server; then, when the second server does not store the data of the media segment and the second server is to receive the data of the media segment at a second time, the first server receives a second success message sent by the second server, where the second success message is used to indicate that the first server successfully requests the data of the media segment, and the second time is when the second server receives the data request of the media segment. When the terminal device requests to acquire the data of the media segment, the network architecture may be a multi-level server to implement data transmission of the media segment, such as a three-level server and a four-level server, which is not limited herein. The message feedback mechanism may be implemented in the multi-tier server by creating an empty file for the media fragment.
A second aspect of the embodiments of the present application provides a data transmission apparatus, where the data transmission apparatus has a function of implementing the first server behavior of the first aspect, and the function may be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above-described functions.
A third aspect of the embodiments of the present application provides a data transmission apparatus, including: a processor, a memory, an input-output device, and a bus; the processor, the memory and the input and output equipment are respectively connected with the bus, and computer instructions are stored in the memory; when the processor executes the computer instructions in the memory, the memory stores the computer instructions; the processor, when executing the computer instructions in the memory, is adapted to implement any of the implementations of the first aspect.
A fourth aspect of embodiments of the present application provides a computer program product comprising instructions that, when run on a computer, cause the computer to perform the implementation manner as in any one of the first aspects.
A fifth aspect of embodiments of the present application provides a computer-readable storage medium, which is characterized by instructions that, when executed on a computer, cause the computer to perform any one of the implementation manners of the first aspect.
According to the technical scheme, the embodiment of the application has the following advantages:
according to the technical scheme, the terminal device sends the index request to the first server in an index mode, then the first server sends the index of the media fragment to the terminal device, and the index of the media fragment may include the address of the media fragment. The terminal device may send a data request of the media fragment to the first server according to the address of the media fragment, and when the data of the media fragment is not stored in the first server at the current time and the first server is to receive the data of the media fragment, the first server may send a first success message to the terminal device to inform that the terminal device requests the data of the media fragment successfully, and then the terminal device waits for the first server to send the data of the media fragment to the terminal device; and then the first server acquires the data of the media fragment and sends the data of the media fragment to the terminal equipment. According to the technical scheme, when the data of the media fragment is not stored in the first server at the current moment and the first server receives the data of the media fragment, the first server sends the first success message to the terminal equipment, so that the terminal equipment can not repeatedly request and retry due to the fact that the failure feedback is received, the time delay problem caused by uncertain time delay between the terminal equipment and the server is avoided, the live broadcast effect is improved, and the user experience is improved.
Drawings
Fig. 1 is a schematic diagram of a network architecture of a data transmission method according to an embodiment of the present application;
fig. 2 is a schematic diagram of an embodiment of a data transmission method in an embodiment of the present application;
fig. 3 is a schematic diagram of another embodiment of a data transmission method in the embodiment of the present application;
fig. 4 is a schematic diagram of another embodiment of a data transmission method in the embodiment of the present application;
fig. 5 is a schematic diagram of another embodiment of a data transmission method in the embodiment of the present application;
fig. 6 is a schematic diagram of another embodiment of a data transmission method in the embodiment of the present application;
FIG. 7 is a schematic structural diagram of a data transmission apparatus according to an embodiment of the present application;
fig. 8 is another schematic structural diagram of a data transmission device in the embodiment of the present application.
Detailed Description
The embodiment of the application provides a data transmission method and a data transmission device, which are used for improving the playing effect of live broadcast and improving the user experience.
The method provided by the embodiment of the application is mainly applied to a scene that a user obtains live broadcast service data through a CDN. The CDN is a content delivery network constructed on the network, and by means of edge servers deployed in various places, a user can obtain required content nearby through functional modules of load balancing, content delivery, scheduling and the like of a central platform, so that network congestion is reduced, and the access response speed and hit rate of the user are improved. It should be noted that the method provided in this embodiment of the present application may be applied to a scenario in which a user acquires data of a media segment through a CDN, or a scenario in which a user requests to acquire data of a media segment through another server, such as a source station server, and the like, that is, at this time, the user directly requests to acquire data of a media segment with the source station server without passing through the CDN, and this is not limited herein.
It should be noted that the method provided in the embodiment of the present application may also be applied to a scenario where a user acquires on-demand service data, and certainly, the method should be limited to a scenario where on-demand service data certainly exists in a disk. In the following embodiments, a live broadcast service is taken as an example for explanation. In the method provided in this embodiment of the present application, a protocol used in data transmission between the terminal device and the server may be a streaming media network transmission protocol (HTTP live streaming, HLS) based on HTTP proposed by apple, or an adaptive bitrate streaming media protocol of HTTP of Microsoft corporation, or may also be dynamic adaptive streaming over HTTP (DASH), which is based on HTTP, and this application is not limited specifically.
Based on an application scenario of the CDN, a network architecture provided in an embodiment of the present application is shown in fig. 1, where the network architecture mainly includes a terminal device, the CDN, a source station server, and a transcoder. The terminal device may be a mobile phone, a tablet, a computer, a set-top box, or the like, and the specific application is not limited. The transcoder can actively push the index to the source station server, and the terminal equipment sends the data request of the media fragment to the CDN through the index of the media fragment; if the data of the media fragment is not cached locally in the current CDN, the CDN may request the source station server to obtain the data of the media fragment; if the data of the media segment is not cached locally in the current source station server, the source station server feeds back a failure message to the CDN, and the CDN feeds back the failure message to the terminal device. And when the terminal device receives the failure message, the terminal device will initiate a data request of the media fragment to the CDN again within a certain time, and if the current CDN does not locally cache the data of the media fragment, the CDN requests the data of the media fragment to the source station server again, and then sends the data of the media fragment to the terminal device. In the above scheme, there may be a certain time delay for pushing the data of the media segment to the source station server and the CDN, and if the terminal device fails to request the data of the media segment in this process, the terminal device may continuously and repeatedly request the data of the media segment to the CDN until the data of the media segment is successfully requested. Under the condition, the terminal device continuously repeats the request and retry, and due to the fact that uncertain time delay exists between the terminal device and the CDN and between the CDN and the source station server, large time delay is introduced, the playing effect of live broadcast is affected, and user experience is poor.
It should be noted that fig. 1 only shows an architecture diagram for implementing transmission of data of a media segment by a two-stage server, and in practical application, when a terminal device requests to acquire data of a media segment, the network architecture may be a multi-stage server to implement data transmission of the media segment, for example, a three-stage server and a four-stage server, and the multi-stage server is in a top-bottom relationship, which is not limited in this application. In the following embodiments, only the two-level server is taken as an example to implement data transmission on the media segment, and the same is also applicable to the multi-level server to implement data transmission on the media segment.
Next, fig. 1 only shows that the source station server is at the higher level of the transcoder, but in practice, the transcoder may be the source station server at the higher level of the source station server, and the like, and the present application is not limited to this, and fig. 1 is only for explaining the method proposed in the embodiment of the present application.
In view of this, an embodiment of the present application provides a data transmission method, which is used to improve a live broadcast effect and improve user experience. The terminal device sends an index request to the first server in an index manner, and then the first server sends an index of the media fragment to the terminal device, where the index of the media fragment may include an address of the media fragment. The terminal device may send a data request of the media fragment to the first server according to the address of the media fragment, and when the data of the media fragment is not stored in the first server at the current time and the first server is to receive the data of the media fragment, the first server may send a first success message to the terminal device to inform that the data of the media fragment requested by the terminal device succeeds, and the terminal device may wait for the first server to send the data of the media fragment to the terminal device, and repeat the request and retry continuously; and then the first server acquires the data of the media fragment and sends the data of the media fragment to the terminal equipment, thereby avoiding the problem of time delay caused by uncertain time delay between the terminal equipment and the server.
To better understand the proposed solution in the embodiment of the present application, a specific flow in the embodiment is described below, and as shown in fig. 2, an embodiment of a data transmission method in the embodiment of the present application includes:
201. the first server receives an index request sent by the terminal equipment.
When a user watches live video by using an OTT live application, firstly, terminal equipment can send an index request to a first server in an index mode.
202. The first server sends the index of the media fragment to the terminal device.
The first server receives an index request sent by the terminal device, and pushes an index of the media fragment to the terminal device, wherein the index of the media fragment includes an address of the media fragment. The address of the media fragment may be directly carried in the index, or may be an address of the media fragment that indicates the terminal device in an indirect manner, for example, the index may include a number of the media fragment or a timestamp of the media fragment, and then the terminal device determines the address of the media fragment according to the number of the media fragment or the timestamp of the media fragment, which is not limited in the present application.
203. The first server receives a data request of the media fragment sent by the terminal equipment.
The terminal device determines the address of the media fragment through the index of the media fragment, and then the terminal device can send the data request of the media fragment to the first server through the address of the media fragment.
204. The first server sends a first success message to the terminal device.
Due to the fact that a certain time delay exists when the data of the media fragment is pushed to the first server, the data of the media fragment is pushed to the first server within a future period of time. When the first server does not store the data of the media fragment at the first moment and the first server receives the data of the media fragment, the first server may send a first success message to the terminal device; the first success message is used for indicating that the terminal device successfully requests the data of the media fragment, and the first time is the time when the first server receives the data request of the media fragment.
In step 204, when the first server receives the data request of the media fragment sent by the terminal device at the first time and the first server is to receive the data of the media fragment, the first server may feed back a first success message to the terminal device, and under this message feedback mechanism, the terminal device may wait for receiving the data of the media fragment sent by the first server for a period of time in the future without repeatedly initiating a request or retrying to the first server, thereby avoiding a delay problem due to an uncertain delay existing between the terminal device and the first server.
It should be noted that, if the first server stores the data of the media segment at the first time, the first server may directly send the first success message and the data of the media segment to the terminal device.
205. The first server obtains data of the media fragment.
The first server obtains the data of the media fragment within a period of time, and specifically, the first server may send the data of the media fragment to the first server by using a higher-level server, a transcoder, or an encoder.
206. And the first server sends the data of the media fragment to the terminal equipment.
After receiving the data of the media segment, the first server may send the data of the media segment to the terminal device.
In this embodiment of the present application, a terminal device sends an index request to a first server in an index manner, and then the first server sends an index of a media fragment to the terminal device, where the index of the media fragment may include an address of the media fragment. The terminal device may send a data request of the media fragment to the first server according to the address of the media fragment, and when the data of the media fragment is not stored in the first server at the current time and the first server is to receive the data of the media fragment, the first server may send a first success message to the terminal device to inform that the terminal device requests the data of the media fragment successfully, and then the terminal device waits for the first server to send the data of the media fragment to the terminal device; and then the first server acquires the data of the media fragment and sends the data of the media fragment to the terminal equipment. According to the technical scheme, when the data of the media fragment is not stored in the first server at the current moment and the first server receives the data of the media fragment, the first server sends the first success message to the terminal equipment, so that the terminal equipment can not repeatedly request and retry due to the fact that the failure feedback is received, the time delay problem caused by uncertain time delay between the terminal equipment and the server is avoided, the live broadcast effect is improved, and the user experience is improved.
In this embodiment of the application, when the first server does not store the data of the media fragment at the first time and the first server is to receive the data of the media fragment, the first server may send a first success message to the terminal device, where the message feedback mechanism may be implemented by the first server creating an empty file corresponding to the media fragment through an address of the media fragment in a preset path, and when the empty file is created, the first server also means that the first server creates a data structure of the media fragment locally; it should be noted that, the first server may also only create the data structure of the media segment, and the data structure of the media segment may be understood as a logical file of the media segment, which is not limited in this application. In the following embodiments, the first server may create an empty file corresponding to the media fragment by using the address of the media fragment as an example. The first server implements the message feedback mechanism of step 204 by creating an empty file of the media fragment, that is, when the first server receives a data request of the media fragment sent by the terminal device at a first time and the first server is to receive data of the media fragment, the first server may feed back the first successful message to the terminal device.
In this embodiment of the application, the first server may be a server directly interacting with the terminal device, such as a CDN; or may be a server indirectly interacting with the terminal device, for example, a source station server, and the present application is not limited thereto.
In this embodiment of the present application, in the multi-stage server, only one server may implement the message feedback mechanism described in step 204 in fig. 2 by creating an empty file corresponding to a media segment, or both servers may implement the message feedback mechanism described in step 204 in fig. 2 by creating an empty file corresponding to the media segment, and this application is not limited in particular. The following is described in detail with reference to fig. 3, fig. 4, fig. 5, and fig. 6, respectively, where one server in the two levels of servers is a CDN, and the other server is a source server:
referring to fig. 3, fig. 3 is a schematic diagram of implementing the message feedback mechanism in step 204 in fig. 2 by creating an empty file corresponding to a media fragment in a source station server, where another embodiment of the data transmission method according to the embodiment of the present application includes:
301. the source station server receives the index of the media fragment sent by the transcoder.
In the live broadcast process, the encoder side can refresh the index of the media fragment at any time, and after the transcoder receives the index of the media fragment sent by the encoder, the transcoder can actively push the index of the media fragment to the source station server. It should be noted that the source station server may send an index request to the transcoder, and then the transcoder pushes the index of the media segment to the source station server, which is not limited herein.
302. And the terminal equipment sends an index request to the CDN.
When a user watches live video by using an OTT live application, the terminal device may send an index request to the CDN in an index manner.
303. The CDN sends an index request to the origin server.
After receiving the index request sent by the source station server, the CDN may send the index request to its upper server, that is, to the source station server.
304. And the source station server creates an empty file corresponding to the media fragment.
The source station server may create an empty file corresponding to the media fragment according to the address of the media fragment in a preset path. Specifically, the source station server determines an address of the media segment through an index of the media segment, and then creates a corresponding empty file according to the address of the media segment. The source station server determines the address of the media segment, which may be determined by the address of the media segment carried in the index of the media segment, or may determine the address of the media segment by the number of the media segment carried in the index or the timestamp of the media segment, which is not limited in the present application.
In this embodiment, there is no fixed execution sequence between step 304 and steps 302 to 303 and steps 305 to 307, steps 302 to 303 and steps 305 to 307 may be executed first, step 304 may also be executed first, or step 304 and steps 302 to 303 and steps 305 to 307 may be executed simultaneously according to the situation, which is not limited herein.
305. And the source station server sends the first successful message and the index of the media fragment to the CDN.
The source station server may feed back, to the CDN, a first successful message and an index of the media segment, where the first successful message is used to indicate that the CDN successfully requests the index of the media segment, and the index of the media segment includes an address of the media segment, or a number of the media segment, or a timestamp of the media segment, which is not limited specifically.
306. And the CDN sends the first successful message and the index of the media fragment to the terminal equipment.
The CDN may send the first successful message and the index of the media segment to the terminal device, so that the terminal device determines, through the first successful message, that the index of the media segment is successfully requested, and obtains the index of the media segment sent by the CDN.
307. And the terminal equipment sends a data request of the media fragment to the CDN.
After receiving the index of the media fragment, the terminal device determines the address of the media fragment through the index of the media fragment, and then sends the data request of the media fragment to the CDN through the address of the media fragment.
308. The CDN sends a data request of the media fragment to a source station server.
When the CDN receives a data request of a media segment sent by the terminal device, if the CDN does not store data of the media segment at a first time, the CDN forwards the data request of the media segment to the source station server to request the data of the media segment from the source station server, where the first time is a time when the CDN receives the data request of the media segment sent by the terminal device.
309. The source station server sends a second success message to the CDN.
In the foregoing step 304, if the source station server creates an empty file corresponding to the media segment, the source station server may implement the message feedback mechanism as in step 204 in fig. 2, that is, if at a second time point, data of the media segment is not stored in the source station server, and the source station server is to receive the data of the media segment, the source station server may send a second success message to the CDN, where the second time point is a time point when the source station server receives a data request of the media segment sent by the CDN, and the second success message is used to indicate that the CDN successfully requests the data of the media segment.
It should be noted that, when the data of the media segment is stored in the source station server at the second time, the source station server may send the second success message and the data of the media segment to the CDN.
310. And the CDN sends a second success message to the terminal equipment.
After receiving the second success message sent by the source station server, the CDN sends the second success message to the terminal device, so that the terminal device determines, through the second success message, that the data of the media segment is requested successfully.
311. And the source station server receives the data of the media fragment sent by the transcoder.
After receiving the data of the media fragment pushed by the encoder, the transcoder side may send the data of the media fragment to the source station server.
312. And the source station server sends the data of the media fragments to the CDN.
The source station server may then send the data of the media segment to the CDN, so that the CDN may send the data of the media segment to the terminal device.
313. And the CDN sends the data of the media fragments to the terminal equipment.
The CDN may send the data of the media segment to the terminal device, thereby implementing transmission of the data of the media segment.
In the embodiment of the application, firstly, a source station server creates an empty file of the media fragment; then, when the data of the media segment is not stored in the source station server at the current moment and the source station server receives the data of the media segment, the source station server sends a second success message to the terminal device, wherein the current moment refers to the moment when the source station server receives the data request of the media segment sent by the CDN, so that the terminal device does not continuously repeat the request and retry due to receiving the failure feedback, thereby avoiding the delay problem caused by the uncertain delay between the terminal device and the CDN and between the CDN and the source station server, improving the live broadcast effect, and improving the user experience.
Referring to fig. 4, fig. 4 is a schematic diagram of the CDN making a message feedback mechanism in step 204 of fig. 2 by creating an empty file of a media segment, where another embodiment of the data transmission method according to the embodiment of the present application includes:
401. the source station server receives the index of the media fragment sent by the transcoder.
402. And the terminal equipment sends an index request to the CDN.
403. The CDN sends the index request to the origin server.
404. And the source station server sends the first successful message and the index of the media fragment to the CDN.
Steps 401 to 404 are similar to steps 301 to 303 and 305 in fig. 3, and please refer to detailed descriptions of steps 301 to 303 and 305 in fig. 3, which are not repeated herein.
405. The CDN creates an empty file corresponding to the media fragment.
After receiving the index of the media segment sent by the source station server, the CDN may create an empty file corresponding to the media segment through the index of the media segment, specifically, the CDN determines an address of the media segment through the index of the media segment, and then creates a corresponding empty file according to the address of the media segment. The CDN determines the address of the media segment by using the address of the media segment carried in the index of the media segment, or by using the number of the media segment carried in the index or the timestamp of the media segment, which is not limited in this application.
It should be noted that there is no fixed execution sequence between step 405 and step 406, step 405 may be executed first, step 406 may also be executed first, or step 405 and step 406 may be executed simultaneously according to the situation, and the specific details are not limited herein.
406. And the CDN sends the first successful message and the index of the media fragment to the terminal equipment.
407. And the terminal equipment sends a data request of the media fragment to the CDN.
In this embodiment, steps 406 to 407 are similar to steps 306 to 307 in fig. 3, and please refer to detailed descriptions of steps 306 to 307 in fig. 3, which are not described herein again.
408. And the CDN sends a second success message to the terminal equipment.
A time when the CDN receives a data request for a media segment sent by a terminal device is referred to as a first time, and if data of the media segment is not stored in the CDN at the first time and the CDN receives data of the media segment sent by a source station server, the CDN may feed back a second success message to the terminal device, where the second success message is used to indicate that the terminal device successfully requests the data of the media segment.
It should be noted that, when the data of the media segment is stored in the CDN at the first time, the CDN may directly send the second success message and the data of the media segment to the terminal device.
409. And the source station server receives the data of the media fragment sent by the transcoder.
Step 409 is similar to step 311 in fig. 3, and is not described herein again.
410. And the CDN sends a data request of the media fragment to a source station server.
Since the CDN does not store the data of the media segment at the first time, the CDN may send a data request for the media segment to the origin server.
411. And the source station server sends the data of the media fragments to the CDN.
Since the transcoder pushes the data of the media segment to the source station server in step 409, the source station server stores the data of the media segment, and the source station server may send the data of the media segment to the CDN when receiving a data request of the media segment sent by the CDN.
412. And the CDN sends the data of the media fragments to the terminal equipment.
Step 412 is similar to step 313 in fig. 3, and detailed description thereof is omitted here.
It should be noted that, in step 410, when the CDN sends a data request of a media segment to the source station server, if the transcoder pushes the data of the media segment to the source station server after step 410, and then the source station server does not store the data of the media segment, at this time, the source station server may feed back a failure message to the CDN, and the CDN may re-initiate the data request of the media segment to the source station server within a preset time duration, and a process of re-initiating the data request of the media segment to the source station server by the CDN is described in detail with reference to fig. 5 below:
501. the origin server sends a failure message to the CDN.
When a data request of a media fragment sent by the CDN is received at the source station server and data of the media fragment is not stored in the source station server at this time, the source station server may feed back a failure message to the CDN, where the failure message is used to indicate that the CDN fails to request the data of the media fragment.
502. And the source station server receives the data of the media fragment sent by the transcoder.
Step 502 is similar to step 409 in fig. 4, and detailed description thereof is omitted here.
503. The CDN sends a data request of the media fragment to a source station server.
The CDN receives a failure message fed back by the source station server, and can determine that the data requesting the media fragment fails; the CDN may send the data of the media fragment to the source station server again within a preset duration.
504. And the source station server sends the third success message and the data of the media fragment to the CDN.
Since the transcoder already pushes the data of the media segment to the source station server in step 502, the data of the media segment is stored in the source station server, and then after the source station server receives the data request of the media segment sent by the CDN, the source station server may feed back a third success message and the data of the media segment to the CDN, where the third success message is used to indicate that the CDN successfully requests the data of the media segment.
505. And the CDN sends the data of the media fragment to the terminal equipment.
Step 505 is similar to step 412 in fig. 4, and detailed description thereof is omitted here.
In the embodiment of the application, first, the CDN creates an empty file of the media segment; then, when the data of the media segment is not stored in the CDN at the current time and the CDN receives the data of the media segment, the CDN sends a second success message to the terminal device, where the current time is a time when the CDN receives a data request for the media segment sent by the terminal device, so that the terminal device does not continuously repeat the request and retry due to receiving a failure feedback, thereby avoiding a delay problem caused by an uncertain delay between the terminal device and the CDN and between the CDN and the source station server, improving a live broadcast effect, and improving user experience.
Referring to fig. 6, fig. 6 is a schematic diagram illustrating that both the CDN and the source station server create an empty file of the media segment, and both the CDN and the source station server have the message feedback mechanism in step 204 in fig. 2, where another embodiment of the data transmission method according to the embodiment of the present application includes:
601. the source station server receives the index of the media fragment sent by the transcoder.
602. And the terminal equipment sends an index request to the CDN.
603. The CDN sends an index request to the origin server.
604. The source station server creates an empty file corresponding to the media fragment.
605. And the source station server sends the first successful message and the index of the media fragment to the CDN.
In this embodiment, steps 601 to 605 are similar to steps 301 to 305 in fig. 3, and please refer to detailed descriptions of steps 301 to 305 in fig. 3, which are not described herein again.
It should be noted that there is no fixed execution sequence between step 604 and steps 602 to 603, and between step 605 to step 609, step 602 to step 603, and step 605 to step 609 may be executed first, or step 604 and steps 602 to step 603, and step 605 to step 609 are executed simultaneously according to the situation, and the specific details are not limited herein.
606. The CDN creates an empty file corresponding to the media fragment.
Step 606 is similar to step 405 in fig. 4, and please refer to the detailed description of step 405 in fig. 4, which is not repeated herein.
607. And the CDN sends the first successful message and the index of the media fragment to the terminal equipment.
608. And the terminal equipment sends a data request of the media fragment to the CDN.
Step 607 to step 608 are similar to step 306 to step 307 in fig. 3, and refer to the detailed description of step 306 to step 307 in fig. 3, which is not described herein again.
609. And the CDN sends a second success message to the terminal equipment.
Step 609 is similar to step 408 in fig. 4, and please refer to the detailed description of step 408 in fig. 4, which is not described herein again.
610. The CDN sends a data request of the media fragment to a source station server.
Step 610 is similar to step 410 in fig. 4, and please refer to the detailed description of step 410 in fig. 4, which is not described herein again.
611. The source station server sends a third success message to the CDN.
Step 611 is similar to step 309 in fig. 3, and please refer to the detailed description of step 309 in fig. 3, which is not described herein again.
612. And the source station server receives the data of the media fragment sent by the transcoder.
613. And the source station server sends the data of the media fragments to the CDN.
614. And the CDN sends the data of the media fragments to the terminal equipment.
Step 612 to step 614 are similar to step 311 to step 313 in fig. 3, and refer to the detailed description of step 311 to step 313 in fig. 3, which is not repeated herein.
In the embodiment of the present application, the empty file of the media segment is created in both the CDN and the source station server, so that both the CDN and the source station server have the message feedback mechanism in step 204 in fig. 2, which not only prevents the terminal device from continuously making repeated requests and retries after receiving the failure feedback, thereby avoiding a delay problem caused by an uncertain delay between the terminal device and the CDN and between the terminal device and the source station server, but also prevents the CDN from continuously making repeated requests and retries to the source station server after receiving the failure message fed back by the source station server, thereby avoiding a delay problem caused by an uncertain delay between the CDN and the source station server, thereby better reducing a live broadcast delay, and improving a live broadcast effect and user experience.
The data transmission method in the embodiment of the present application is described above, and the data transmission apparatus in the embodiment of the present application is described below with reference to fig. 7, where the creating unit 704 is an optional unit; an embodiment of a data transmission apparatus in an embodiment of the present application includes:
a receiving unit 701, configured to receive an index request sent by a terminal device;
a sending unit 702, configured to send an index of a media segment to a terminal device, where the index includes an address of the media segment;
the receiving unit 701 is further configured to receive a data request of the media segment sent by the terminal device;
the sending unit 702 is further configured to send, to the terminal device, a first successful message when the data transmission apparatus does not store the data of the media segment at a first time and the data transmission apparatus is to receive the data of the media segment, where the first successful message is used to indicate that the terminal device successfully requests the data of the media segment, and the first time is a time when the data transmission apparatus receives the data request of the media segment sent by the terminal device;
an obtaining unit 703, configured to obtain data of the media segment;
the sending unit 702 is further configured to send the data of the media segment to the terminal device.
In a possible implementation manner, the obtaining unit 703 is further configured to:
obtaining an index of the media fragment;
the data transmission device further includes:
and the creating unit is used for creating the empty file corresponding to the media fragment according to the address of the media fragment.
In another possible implementation manner, the sending unit 702 is further configured to:
sending the index request to a second server;
the receiving unit 701 is further configured to:
receiving the index of the media fragment sent by the second server;
the sending unit 702 is further configured to:
sending a data request of the media fragment to the second server;
the receiving unit 701 is further configured to:
and when the second server stores the data of the media fragment at a second moment, receiving a second success message sent by the second server, wherein the second success message is used for indicating that the data transmission device successfully requests the data of the media fragment, and the second moment is the moment when the second server receives the data request of the media fragment sent by the data transmission device.
In another possible implementation manner, when the second server does not store the data of the media segment at the second time, the receiving unit 701 is further configured to:
receiving a failure message sent by the second server, wherein the failure message is used for indicating that the data transmission device fails to request the data of the media fragment;
the sending unit 702 is further configured to:
sending a data request of the media fragment to the second server;
the receiving unit 701 is further configured to:
and when the data of the media fragment is stored in the second server at a third time, receiving a third success message sent by the second server, where the third success message is used to indicate that the data transmission device successfully requests the data of the media fragment, and the third time is when the second server receives the data request of the media fragment sent by the data transmission device again.
In another possible implementation manner, the sending unit 702 is specifically configured to:
sending the index of the media fragment to the terminal equipment through the second server;
sending the first success message to the terminal equipment through the second server;
and sending the data of the media fragment to the terminal equipment through the second server.
In another possible implementation manner, the sending unit 702 is specifically configured to:
sending the index request to a second server;
the receiving unit 701 is further configured to:
receiving the index of the media fragment sent by the second server;
the sending unit 702 is specifically configured to:
sending a data request of the media fragment to the second server;
the receiving unit 701 is further configured to:
and when the second server does not store the data of the media fragment at a second moment and receives the data of the media fragment, receiving a second success message sent by the second server, wherein the second success message is used for indicating that the data transmission device successfully requests the data of the media fragment, and the second moment is the moment when the second server receives the data request of the media fragment.
In this embodiment of the present application, a terminal device sends an index request to a receiving unit 701 of a data transmission apparatus in an index manner, and then a sending unit 702 sends an index of a media segment to the terminal device, where the index of the media segment may include an address of the media segment. The terminal device may send a data request of a media segment to the receiving unit 701 according to the address of the media segment, and when the data transmission device does not store the data of the media segment at the current time and the data transmission device is to receive the data of the media segment, the sending unit 702 may send a first success message to the terminal device to notify that the terminal device requests the data of the media segment successfully, and then the terminal device waits for the first server to send the data of the media segment to the terminal device; then, the acquiring unit 703 acquires the data of the media segment, and then the sending unit 702 sends the data of the media segment to the terminal device. Through the technical scheme of the application, when the data of the media fragment is not stored in the data transmission device at the current moment and the data transmission device receives the data of the media fragment, the sending unit 702 sends the first success message to the terminal equipment, so that the terminal equipment does not continuously repeat requests and retries due to receiving failure feedback, the time delay problem caused by uncertain time delay between the terminal equipment and the server is avoided, the live broadcast effect is improved, and the user experience is improved.
Referring to fig. 8, an embodiment of a data transmission apparatus 800 according to the present application further includes:
a processor 801, a memory 802, an input-output device 803, and a bus 804;
the processor 801, the memory 802, and the input/output device 803 are respectively connected to the bus 804, and the memory stores computer instructions;
the input/output device 803 is configured to receive an index request sent by a terminal device; sending an index of the media fragment to the terminal device, wherein the index comprises an address of the media fragment; receiving a data request of the media fragment sent by the terminal equipment; when the data transmission device does not store the data of the media fragment at a first moment and the data transmission device receives the data of the media fragment, sending a first success message to the terminal device, where the first success message is used to indicate that the terminal device successfully requests the data of the media fragment, and the first moment is a moment when the data transmission device receives the data request of the media fragment sent by the terminal device; acquiring data of the media fragment; and sending the data of the media fragment to the terminal equipment.
It should be further understood that, in the method embodiments corresponding to fig. 2 to fig. 6, the steps performed by the first server may be based on the structure of the data transmission apparatus 800 shown in fig. 8.
In this embodiment, the terminal device sends an index request to the input/output device 803 of the data transmission apparatus by way of an index, and then the input/output device 803 sends an index of a media fragment to the terminal device, where the index of the media fragment may include an address of the media fragment. The terminal device may send a data request of a media segment to the input/output device 803 according to the address of the media segment, and when the data transmission device does not store the data of the media segment at the current time and the data transmission device is to receive the data of the media segment, the input/output device 803 may send a first success message to the terminal device to notify that the terminal device has successfully requested the data of the media segment, and then the terminal device waits for the first server to send the data of the media segment to the terminal device; the input output device 803 then obtains the data of the media segment, and the input output device 803 then sends the data of the media segment to the terminal device. Through the technical scheme of the application, when the data transmission device does not store the data of the media fragment at the current moment and the data transmission device receives the data of the media fragment, the input/output device 803 sends the first success message to the terminal device, so that the terminal device does not continuously repeat requests and retries due to the fact that the terminal device receives the failure feedback, the time delay problem caused by the uncertain time delay between the terminal device and the server is avoided, the live broadcast effect is improved, and the user experience is improved.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be substantially implemented or contributed to by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The above embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions in the embodiments of the present application.

Claims (10)

1. A method of data transmission, the method comprising:
a first server receives an index request sent by terminal equipment;
the first server sends an index of a media fragment to the terminal equipment, wherein the index comprises an address of the media fragment;
the first server receives a data request of the media fragment sent by the terminal equipment;
when the first server does not store the data of the media fragment at a first moment and the first server receives the data of the media fragment, the first server sends a first successful message to the terminal device, wherein the first successful message is used for indicating that the terminal device successfully requests the data of the media fragment, and the first moment is the moment when the first server receives the data request of the media fragment sent by the terminal device;
the first server acquires data of the media fragment;
and the first server sends the data of the media fragment to the terminal equipment.
2. The method of claim 1, wherein before the first server sends the index of media segments to the terminal device, the method further comprises:
the first server acquires an index of the media fragment;
and the first server creates an empty file corresponding to the media fragment according to the address of the media fragment.
3. The method according to claim 1 or 2, wherein before the first server sends the index of media segments to the terminal device, the method further comprises:
the first server sends the index request to a second server;
the first server receives the index of the media fragment sent by the second server;
before the first server obtains the data of the media segment, the method further includes:
the first server sends a data request of the media fragment to the second server;
when the second server stores the data of the media fragment at a second time, the first server receives a second success message sent by the second server, where the second success message is used to indicate that the first server successfully requests the data of the media fragment, and the second time is a time when the second server receives the data request of the media fragment sent by the first server.
4. The method according to claim 1 or 2, wherein the sending, by the first server, the index of the media segment to the terminal device comprises:
the first server sends the index of the media fragment to the terminal equipment through a second server;
the sending, by the first server, the first successful message to the terminal device includes:
the first server sends the first success message to the terminal equipment through the second server;
the sending, by the first server, the data of the media segment to the terminal device includes:
and the first server sends the data of the media fragment to the terminal equipment through the second server.
5. The method according to claim 1 or 2, wherein before the first server sends the index of media segments to the terminal device, the method further comprises:
the first server sends the index request to a second server;
the first server receives the index of the media fragment sent by the second server;
before the first server obtains the data of the media segment, the method further includes:
the first server sends a data request of the media fragment to the second server;
when the second server does not store the data of the media fragment at a second time and the second server receives the data of the media fragment, the first server receives a second success message sent by the second server, wherein the second success message is used for indicating that the first server successfully requests the data of the media fragment, and the second time is the time when the second server receives the data request of the media fragment.
6. A data transmission apparatus, characterized in that the data transmission apparatus comprises:
the receiving unit is used for receiving an index request sent by the terminal equipment;
a sending unit, configured to send an index of a media segment to the terminal device, where the index includes an address of the media segment;
the receiving unit is configured to receive a data request of the media segment sent by the terminal device;
the sending unit is configured to send a first successful message to the terminal device when the data transmission device does not store the data of the media segment at a first time and the data transmission device is to receive the data of the media segment, where the first successful message is used to indicate that the terminal device successfully requests the data of the media segment, and the first time is a time when the data transmission device receives the data request of the media segment sent by the terminal device;
the acquisition unit is used for acquiring the data of the media fragment;
and the sending unit is used for sending the data of the media fragment to the terminal equipment.
7. The data transmission apparatus according to claim 6, wherein the obtaining unit is further configured to:
acquiring an index of the media fragment;
the data transmission apparatus further includes:
and the creating unit is used for creating the empty file corresponding to the media fragment according to the address of the media fragment.
8. The data transmission apparatus according to claim 6 or 7, wherein the sending unit is further configured to:
sending the index request to a second server;
the receiving unit is further configured to:
receiving the index of the media fragment sent by the second server;
the sending unit is further configured to:
sending a data request of the media fragment to the second server;
the receiving unit is further configured to:
when the data of the media segment is stored in the second server at a second time, receiving a second success message sent by the second server, where the second success message is used to indicate that the data transmission device successfully requests the data of the media segment, and the second time is a time when the second server receives the data request of the media segment sent by the data transmission device.
9. The data transmission apparatus according to claim 6 or 7, wherein the sending unit is specifically configured to:
sending the index of the media fragment to the terminal equipment through a second server;
sending the first success message to the terminal equipment through the second server;
and sending the data of the media fragment to the terminal equipment through the second server.
10. The data transmission apparatus according to claim 6 or 7, wherein the sending unit is further configured to:
sending the index request to a second server;
the receiving unit is further configured to:
receiving the index of the media fragment sent by the second server;
the sending unit is further configured to:
sending a data request of the media fragment to the second server;
the receiving unit is further configured to:
when the second server does not store the data of the media segment at a second moment and the second server receives the data of the media segment, receiving a second success message sent by the second server, where the second success message is used to indicate that the data transmission device successfully requests the data of the media segment, and the second moment is a moment when the second server receives the data request of the media segment.
CN201910108823.9A 2019-02-03 2019-02-03 Data transmission method and data transmission device Active CN111526379B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910108823.9A CN111526379B (en) 2019-02-03 2019-02-03 Data transmission method and data transmission device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910108823.9A CN111526379B (en) 2019-02-03 2019-02-03 Data transmission method and data transmission device

Publications (2)

Publication Number Publication Date
CN111526379A CN111526379A (en) 2020-08-11
CN111526379B true CN111526379B (en) 2021-06-29

Family

ID=71900503

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910108823.9A Active CN111526379B (en) 2019-02-03 2019-02-03 Data transmission method and data transmission device

Country Status (1)

Country Link
CN (1) CN111526379B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102217278A (en) * 2010-12-17 2011-10-12 华为技术有限公司 Method and apparatus for online adapting of media content
CN102232298A (en) * 2011-04-07 2011-11-02 华为技术有限公司 Method, device and system for transmitting and processing media content
CN102868707A (en) * 2011-07-04 2013-01-09 腾讯科技(深圳)有限公司 Method and system for downloading and transcoding file
WO2016099354A1 (en) * 2014-12-18 2016-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Request scheduling for streamed media
CN107431700A (en) * 2015-03-02 2017-12-01 高通股份有限公司 Instruction for segment section
CN107959667A (en) * 2016-10-18 2018-04-24 华为技术有限公司 A kind of method for pushing of media slicing, server and client
CN108259542A (en) * 2016-12-29 2018-07-06 腾讯科技(深圳)有限公司 The transmission method and device of resource

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9692800B2 (en) * 2014-06-11 2017-06-27 Google Inc. Enhanced streaming media playback

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102217278A (en) * 2010-12-17 2011-10-12 华为技术有限公司 Method and apparatus for online adapting of media content
CN102232298A (en) * 2011-04-07 2011-11-02 华为技术有限公司 Method, device and system for transmitting and processing media content
CN102868707A (en) * 2011-07-04 2013-01-09 腾讯科技(深圳)有限公司 Method and system for downloading and transcoding file
WO2016099354A1 (en) * 2014-12-18 2016-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Request scheduling for streamed media
CN107431700A (en) * 2015-03-02 2017-12-01 高通股份有限公司 Instruction for segment section
CN107959667A (en) * 2016-10-18 2018-04-24 华为技术有限公司 A kind of method for pushing of media slicing, server and client
CN108259542A (en) * 2016-12-29 2018-07-06 腾讯科技(深圳)有限公司 The transmission method and device of resource

Also Published As

Publication number Publication date
CN111526379A (en) 2020-08-11

Similar Documents

Publication Publication Date Title
US9124674B2 (en) Systems and methods for connection pooling for video streaming in content delivery networks
US11477262B2 (en) Requesting multiple chunks from a network node on the basis of a single request message
US20180205976A1 (en) Method and apparatus of obtaining video fragment
US9635077B2 (en) Low latency live video streaming
US9936040B2 (en) Systems and methods for partial video caching
US9894421B2 (en) Systems and methods for data representation and transportation
CN108063769B (en) Method and device for realizing content service and content distribution network node
US10033824B2 (en) Cache manifest for efficient peer assisted streaming
EP3017605A1 (en) Streaming of segmented content
CN102055718B (en) Method, device and system for layering request content in http streaming system
WO2015165395A1 (en) Video playback method and apparatus
US20150271226A1 (en) Transport accelerator implementing a multiple interface architecture
WO2015120766A1 (en) Video optimisation system and method
US9900368B2 (en) Method for optimising downloading of data
CN104010228A (en) Apparatus and method for level-based self-adjusting peer-to-peer media streaming
CN103731684A (en) VOD (video on demand)-LVD (live video broadcast) video switching method, device and system
CN117596232A (en) Method, device and system for fast starting streaming media
JP6550405B2 (en) Method of operating a network device arranged along a transmission path between a client terminal and at least one server and corresponding network device
CN111526379B (en) Data transmission method and data transmission device
US11196646B2 (en) Unique user session tracking in adaptive bitrate video delivery
WO2019193991A1 (en) Distribution device, distribution method and program
US20120254919A1 (en) Method for acquiring program content and set top box
US20180359183A1 (en) Data packet transmission method, network side device, and user equipment
US20200328980A1 (en) Data communication apparatus, communication system, data communication method, and program
CN114173151B (en) Live broadcast stream pushing system, method and device and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant