CN109560901B - Data retransmission method, device, terminal equipment and storage medium - Google Patents

Data retransmission method, device, terminal equipment and storage medium Download PDF

Info

Publication number
CN109560901B
CN109560901B CN201811354499.0A CN201811354499A CN109560901B CN 109560901 B CN109560901 B CN 109560901B CN 201811354499 A CN201811354499 A CN 201811354499A CN 109560901 B CN109560901 B CN 109560901B
Authority
CN
China
Prior art keywords
data packet
data
time
server
retransmission
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
CN201811354499.0A
Other languages
Chinese (zh)
Other versions
CN109560901A (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.)
Guangzhou Huya Information Technology Co Ltd
Original Assignee
Guangzhou Huya Information Technology 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 Guangzhou Huya Information Technology Co Ltd filed Critical Guangzhou Huya Information Technology Co Ltd
Priority to CN201811354499.0A priority Critical patent/CN109560901B/en
Publication of CN109560901A publication Critical patent/CN109560901A/en
Application granted granted Critical
Publication of CN109560901B publication Critical patent/CN109560901B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • H04L1/1877Buffer management for semi-reliable protocols, e.g. for less sensitive applications like streaming video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Communication Control (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application discloses a data retransmission method, a device, a terminal device and a storage medium, wherein the method is applied to a receiving end and comprises the following steps: receiving a data packet sent by a sending end, wherein the data packet carries a serial number used for describing uniqueness of the data packet, the serial number is continuous, and the sending end and the receiving end are based on an unreliable protocol; if the obtained data packet serial number is detected to be discontinuous, storing the missing serial number to a pre-retransmission cache region, recording the storage time of the missing serial number, and calculating the to-be-used time of the data packet corresponding to the missing serial number; requesting to a transmitting end or a third end stored with the data packet to retransmit the data packet with a target number, wherein the target number comprises: the storage time reaches a first preset time or the waiting time is not more than a serial number of a second preset time. The method aims to solve the problem that data retransmission redundancy exists or data use is influenced in the existing data retransmission technology.

Description

Data retransmission method, device, terminal equipment and storage medium
Technical Field
The application relates to the field of the internet, in particular to the field of data retransmission.
Background
In the data transmission process, if an unreliable protocol such as UDP is used, when network jitter or a failure occurs, data may be delayed or lost, and if the receiving end does not request the transmitting end to retransmit unreceived data in time, the use of the receiving end on the data may be affected, for example, if the transmitted data is live streaming media data, the phenomena of screen waste, blocking, or delay may occur when live streaming media data is played, but if the receiving end requests the transmitting end to retransmit unreceived data too early, data may be repeatedly redundant, for example, if the receiving end requests the transmitting end to retransmit unreceived data too early, the data may be delayed due to network jitter during transmission, and if the receiving end requests to retransmit unreceived data too early, the delayed data may be received, which may cause redundancy, and may cause a problem of occupying network bandwidth.
Disclosure of Invention
In order to solve the above technical problem, the present application provides a data retransmission method, apparatus, terminal device and storage medium.
In a first aspect of the present application, a data retransmission method is provided, where the method is applied to a receiving end, and the method includes the steps of:
receiving a data packet sent by a sending end, wherein the data packet carries a serial number used for describing uniqueness of the data packet, the serial number is continuous, and the sending end and the receiving end are based on an unreliable protocol;
if the obtained data packet serial number is detected to be discontinuous, storing the missing serial number to a pre-retransmission cache region, recording the storage time of the missing serial number, and calculating the to-be-used time of the data packet corresponding to the missing serial number;
requesting to a transmitting end or a third end stored with the data packet to retransmit the data packet with a target number, wherein the target number comprises: the storage time reaches a first preset time or the waiting time is not more than a serial number of a second preset time.
In some examples, the requesting, to the transmitting end or the third end storing the data packet, retransmission of the data packet with the target number includes:
storing the target number from a pre-retransmission buffer area to a buffer area to be retransmitted;
and requesting the data packet corresponding to the serial number stored in the cache area to be retransmitted from the sending end or the third end storing the data packet.
In some examples, the first preset time includes:
the current jitter buffer time or the historical jitter buffer time is multiplied by the minimum value of a preset coefficient, or the average value or the minimum value of the historical retransmission time.
In some examples, the second preset time includes:
the sum of the average or minimum of the current jitter buffer time and the historical retransmission time.
In some examples, the requesting for retransmission of the data packet with the target number to the transmitting end or the third end storing the data packet is performed when the following conditions are satisfied:
the number of the target numbers reaches a third preset value; or
And the time from the last time when the data packet corresponding to the target number is requested reaches a fourth preset value.
In some examples, the data packets are used to assemble streaming media data, which includes key frames and non-key frames; the number is also used for identifying the frame class of the streaming media data to which the data packet belongs;
the first preset time corresponding to the number belonging to the key frame is less than the first preset time corresponding to the number belonging to the non-key frame; and/or
The second preset time corresponding to the number belonging to the key frame is greater than the second preset time corresponding to the number belonging to the non-key frame.
In a second aspect of the present application, a method for retransmitting data in a P2P network is provided, which includes the steps of:
receiving data packets sent from nodes and servers in a P2P network, wherein the data packets carry numbers used for describing uniqueness of the data packets, and the numbers are continuous; the nodes in the P2P network are based on unreliable protocol;
if the obtained data packet serial number is detected to be discontinuous, storing the missing serial number to a pre-retransmission cache region, recording the storage time of the missing serial number, and calculating the to-be-used time of the data packet corresponding to the missing serial number;
requesting a server to retransmit a data packet corresponding to a target number, wherein the target number comprises: and the storage time reaches a first preset time or the to-be-used time is not more than the serial number of a second preset time, and the value of the target serial number is less than the maximum serial number of the data packet acquired from the server.
In some examples, the receiving the data packets sent from the nodes and the servers in the P2P network includes:
receiving a data packet sent from a P2P network;
and if the data packet does not exist and is sent by the server, acquiring the data packet with the preset time period or the preset number interval from the server.
In a third aspect of the present application, there is provided a data retransmission apparatus, including:
the receiving module is used for receiving a data packet sent by a sending end, wherein the data packet carries a serial number used for describing uniqueness of the data packet, the serial number is continuous, and the sending end and the receiving end are based on an unreliable protocol;
the processing module is used for storing the missing number to a pre-retransmission cache area, recording the storage time of the missing number and calculating the to-be-used time of the data packet corresponding to the missing number if the obtained data packet number is detected to be discontinuous; requesting to a transmitting end or a third end stored with the data packet to retransmit the data packet with a target number, wherein the target number comprises: the storage time reaches a first preset time or the waiting time is not more than a serial number of a second preset time.
In a fourth aspect of the present application, there is provided an apparatus for retransmitting data in a P2P network, including:
receiving means, configured to receive data packets sent from nodes and servers in a P2P network, where the data packets carry unique numbers describing the data packets, and the numbers are consecutive; the nodes in the P2P network are based on unreliable protocol;
the processing device is used for storing the missing number to a pre-retransmission cache area, recording the storage time of the missing number and calculating the to-be-used time of the data packet corresponding to the missing number if the obtained data packet number is detected to be discontinuous; requesting a server to retransmit a data packet corresponding to a target number, wherein the target number comprises: and the storage time reaches a first preset time or the to-be-used time is not more than the serial number of a second preset time, and the value of the target serial number is less than the maximum serial number of the data packet acquired from the server.
In a fifth aspect of the present application, there is provided a terminal device comprising:
a processor; and
a memory configured to store a computer program configured to be executed by the processor to perform operations according to the method of any one of the preceding first or second aspects.
In a sixth aspect of the present application, there is provided a computer readable storage medium having stored thereon a computer program for execution by a processor of operations according to the method of any one of the first or second aspects.
The method and the device detect that the data packet is lost or delayed, do not immediately request to retransmit the data packet, and do not mechanically delay for a fixed time and then request to retransmit the data packet. The missing number is stored in a pre-retransmission buffer area, then the storage time of the missing number is recorded, and the to-be-used time of the data packet corresponding to the missing number is calculated, so as to determine the data packet corresponding to the target number to be retransmitted and the optimal data retransmission time. Therefore, the receiving end has the maximum possibility of receiving the data packet which is delayed due to network factors, thereby avoiding the situation that the data packet which is delayed and arrives by the network is received after the data packet is requested to be retransmitted to the maximum extent, reducing the number of the received data packet and the data packet which is obtained by retransmission due to transmission delay, reducing the redundancy of the data packet to the maximum extent and reducing the network flow of retransmission. Furthermore, the use of the data is not affected by obtaining the retransmitted data packet too late, for example, if the data is streaming media data, the problems of pause and/or screen splash during the playing process can be reduced.
Drawings
FIG. 1 is a schematic diagram of a data transmission scenario;
fig. 2 is a flowchart illustrating a data retransmission method according to an exemplary embodiment of the present application;
FIG. 3 is a schematic diagram of an exemplary P2P network according to an embodiment of the present disclosure;
fig. 4 is a flowchart illustrating a data retransmission method based on a P2P network according to an embodiment of the present application;
fig. 5 is a specific flowchart of a flowchart of another data retransmission method based on a P2P network exemplarily illustrated in the embodiment of the present application;
fig. 6 is a schematic view of a live scene exemplarily illustrated in an embodiment of the present application;
fig. 7 is a flowchart illustrating data retransmission in live broadcast based on a P2P network according to an exemplary embodiment of the present application;
8 a-8 c are diagrams of networks built under three different server architectures in the embodiment of the present application;
fig. 9 is a schematic diagram of a data retransmission apparatus exemplarily illustrated in an embodiment of the present application;
fig. 10 is a schematic diagram of a terminal device exemplarily shown in the embodiment of the present application;
fig. 11 is a data retransmission apparatus in a P2P network according to an exemplary embodiment of the present disclosure;
fig. 12 is a schematic diagram of another exemplary terminal device according to an embodiment of the present application.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in this application and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.
It is to be understood that although the terms first, second, third, etc. may be used herein to describe various information, such information should not be limited to these terms. These terms are only used to distinguish one type of information from another. For example, first information may also be referred to as second information, and similarly, second information may also be referred to as first information, without departing from the scope of the present application. The word "if" as used herein may be interpreted as "at … …" or "when … …" or "in response to a determination", depending on the context.
Fig. 1 is a schematic diagram of data transmission, in which resource data is transmitted between a sending end 110 and a receiving end 120 through a network, if an unreliable protocol such as UDP is used between the sending end 110 and the receiving end 120, the transmitted resource data may be delayed or lost when network jitter or failure occurs between the sending end 110 and the receiving end 120, and if the receiving end 120 does not timely request the sending end 110 to retransmit the resource data that is not received, the use of the resource data by the receiving end 120 may be affected, for example, if the transmitted resource data is live streaming media data, the sending end is a server, and the receiving end is a viewer client, an existing data retransmission method is adopted, there may be too late or too early request retransmission, if the too late request retransmission causes that the viewer client plays live streaming media data, phenomena such as screen omission, blocking, or delay occur, but if the too early request retransmission may cause data redundancy, for example, if the data is delayed due to network jitter during transmission and retransmission of unreceived data is requested too early, the delayed data may be received after receiving the retransmitted data, which may cause redundancy and result in a problem of occupying network bandwidth.
In order to solve the above technical problem, the present application provides a data retransmission method, an apparatus, an electronic device, and a storage medium, and fig. 2 is a flowchart of a data retransmission method exemplarily shown in an embodiment of the present application, where the method is applied to a receiving end, and the method includes the steps of:
s210, receiving a data packet sent by a sending end, wherein the data packet carries a serial number used for describing uniqueness of the data packet, the serial number is continuous, and the sending end and the receiving end are based on an unreliable protocol.
S220, if the obtained data packet serial number is detected to be discontinuous, the missing serial number is stored in a pre-retransmission cache region, the storage time of the missing serial number is recorded, and the to-be-used time of the data packet corresponding to the missing serial number is calculated.
The "missing numbers" described in the embodiments of the present application refer to, for example: if the received packet numbers include 1-499 and 501-502, the packet numbers are not consecutive and the missing number is 500.
In some examples, this step may specifically be to detect a jump of the received number, and store the number of the received data packet after the jump minus one, or store the number of the maximum number of the data packet before the jump plus one in a pre-retransmission buffer.
The "pre-retransmission buffer" described in the embodiments of the present application may be a pre-retransmission queue, and is used to store missing numbers. In some examples, the numbers already stored in the pre-retransmission buffer to the "to-be-retransmitted buffer" may be released. In other examples, if it is detected that the data packet corresponding to the number in the pre-retransmission buffer has been received, the number is released from the pre-retransmission buffer.
The storage time can be calculated in the following way: the record number is stored in the pre-retransmission buffer at time T1, and then checked in a loop, for example, at regular intervals. If the current time is T2, determine whether all numbers in the pre-retransmission buffer are T2-T1 less than the first predetermined time.
The "time to be used" in the embodiment of the present application refers to a difference between a time that the data packet is called by a user and a current time, and a common use (calling) manner is playing, for example, the resource data is real-time streaming media data, a receiving end receives the data packet and assembles the data packet into an image frame and an audio frame according to the number of the data packet for playing, for example, a certain data packet a is used for assembling an image frame a, the image frame a is played at time T3, and T7 is T3-T2(T2 is the current time) as the time to be used. Specifically, since the speed of playing the streaming media data is uniform (for example, if 30fps streaming media data is played, the playing time of an average frame image frame is 1000 ms/30-33 ms), the frame number to be played after a certain time can be estimated by the frame number currently played. For example, if the current time is playing frame 100, then frame 110 needs to be played after 330 ms. Each number of the pre-retransmission buffer area can be periodically and circularly checked, and the image frame number of each number is obtained through the mapping relation. The image frame number is subtracted from the current image frame number, and the time consumed for playing each frame is multiplied, which is the estimated time to be used of the data packet corresponding to the number, and can be recorded as T7. For example: if the 100 th frame is currently played, the frame sequence number of the image frame corresponding to a certain number 199995 of the pre-retransmission queue is 120, and if the frame rate of the streaming media data is 30fps, the estimated time to be used, which is T7 ═ 120-. That is, after 660ms, the image frame numbered 120 is played, and the data packet numbered 199995 is used after T7, otherwise the streaming media data cannot be played normally, which may result in a pause screen.
S230, requesting to retransmit the data packet with the target number to the sending end or the third end storing the data packet, where the target number includes: the storage time reaches a first preset time or the waiting time is not more than a serial number of a second preset time.
In some examples, the first preset time includes: the current jitter buffer time T4 or the historical jitter buffer time T5 is multiplied by the minimum value of a preset coefficient α, for example: if α is 0.5, the first predetermined time is {0.5 × T4,0.5 × T5} min or {0.5 × T4,2.5} min, where 2.5 is an empirical value derived from the historical jitter buffer time, and α may be any value; or an average or minimum of historical retransmission times. The "retransmission time" proposed in the embodiment of the present application refers to a time from the request to the receipt of the data packet.
In some examples, the second preset time includes: the sum of the current jitter buffer time T4 and the average T6 or minimum T8 of the historical retransmission times. For example: the second preset time is T4+ T6 or T4+ T8. In a specific example, taking the resource data as the real-time streaming media data as an example, a specific algorithm of the second preset time may be as follows:
recording the average time T6 from the last several times of sending requests to the sending end to the receiving end; recording the current jitter buffer time T4; acquiring the time T7 to be used of the serial number in the buffer area to be retransmitted; when T7< ═ T4+ T6, the number is the target number.
In some examples, this step may be that the receiving end requests the transmitting end for a data packet corresponding to the target number. In other examples, in a complex data transmission system, in addition to the transmitting end and the receiving end, there may be a third end storing the data packet, for example, a server, and the third end may also serve as the transmitting end, and if the data transmission system further includes the third end, the data transmission system may request the third end (for example, the server) storing the data packet for the target number in step S230.
The receiving end or the sending end according to the embodiment of the present application may be an application or a service, such as a live broadcast client, and the receiving end or the sending end may be installed on a terminal device, and the terminal device may have a networking function, such as a mobile terminal (e.g., a smart phone, a smart tablet, a notebook computer, etc.) and a fixed terminal (e.g., a desktop computer, a server, a smart television, a vehicle-mounted terminal, etc.), etc. The application does not limit the type of the terminal device.
The unreliable protocol described in the embodiment of the present application may include UDP protocol, etc., and what is opposite to the unreliable protocol is a reliable protocol, for example: TCP protocol, HTTP protocol, and the like.
So far, the application detects that the data packet is lost or delayed, and does not immediately request the retransmission of the data packet or mechanically delay for a fixed time and then request the retransmission of the data packet. The missing number is stored in a pre-retransmission buffer area, then the storage time of the missing number is recorded, and the to-be-used time of the data packet corresponding to the missing number is calculated, so as to determine the data packet corresponding to the target number to be retransmitted and the optimal data retransmission time. Therefore, the receiving end has the maximum possibility of receiving the data packet which is delayed due to network factors, thereby avoiding the situation that the data packet which is delayed and arrives by the network is received after the data packet is requested to be retransmitted to the maximum extent, reducing the number of the received data packet and the data packet which is obtained by retransmission due to transmission delay, reducing the redundancy of the data packet to the maximum extent and reducing the network flow of retransmission. Furthermore, the use of the data is not affected by obtaining the retransmitted data packet too late, for example, if the data is streaming media data, the problems of pause and/or screen splash during the playing process can be reduced.
Further, in some examples, the requesting, in step S230, to retransmit the data packet with the target number to the sending end or the third end storing the data packet may specifically include:
when the storage time reaches a first preset time or the waiting time is not more than a second preset time, storing the missing number from the pre-retransmission cache region to a waiting-retransmission cache region, wherein the number stored in the retransmission cache region is the target number;
and requesting the data packet corresponding to the serial number stored in the cache area to be retransmitted from the sending end or the third end storing the data packet.
The "buffer to be retransmitted" described in the present application refers to: the queue to be retransmitted can be used for storing the serial number of the data packet to be retransmitted to the receiving end.
In some examples, the number of the missing number may be stored from the pre-retransmission buffer to a pre-retransmission buffer after the storage time is met and the first preset time or the time to use is not greater than the second preset time.
In practical applications, when the number of lost packets is small, the method described in the foregoing embodiment may reduce the redundancy of the data packets to the maximum extent, without affecting the use of the data. However, when the number of lost packets is large, each data packet individually requests retransmission to the sending end, which inevitably occupies a large amount of network bandwidth, and even causes network congestion. In order to solve the problem of a large number of packet losses, in some examples, the step S230 may be performed when the following conditions are satisfied:
the number of the target numbers (for example, the numbers stored in the buffer to be retransmitted) reaches a third preset value, for example, the number of the target numbers reaches 10, and step S230 is executed.
After the time from the last request for the data packet corresponding to the target number (for example, the number stored in the buffer to be retransmitted) reaches a fourth preset value, the operations are performed, for example: if the last retransmission request is TATime of day, when the current time-TAThe fourth preset value is reached and,step S230 may be performed. In some examples, the fourth preset value may be 400 ms.
In practical applications, it is found that if the resource data obtained by the packet assembly is video stream data, the images in the video stream data can be generally divided into key frames (e.g., I and/or P frames) and non-key frames (e.g., B frames). In some examples of the embodiment of the present application, the number is further used to identify a frame class of streaming media data to which the data packet belongs; the first preset time corresponding to the number belonging to the key frame is less than the first preset time corresponding to the number belonging to the non-key frame; and/or the second preset time corresponding to the number belonging to the key frame is longer than the second preset time corresponding to the number belonging to the non-key frame, namely the priority retransmission of the data packet belonging to the key frame.
In a specific example, the pre-retransmission buffer includes a high-priority pre-retransmission buffer and a low-priority pre-retransmission buffer, and the numbers belonging to the key frames are stored in the high-priority pre-retransmission buffer and the numbers belonging to the non-key frames are stored in the low-priority pre-retransmission buffer according to the frame type to which the missing numbers belong, wherein a first preset time corresponding to the high-priority pre-retransmission buffer is shorter than that of the low-priority pre-retransmission buffer, and a preset coefficient α of the first preset time may be set to different values, for example, α of the high-priority pre-retransmission buffer is set to 1/2 and α of the low-priority pre-retransmission buffer is set to 3/5; or the second preset time corresponding to the high-priority pre-retransmission buffer is longer than that of the low-priority pre-retransmission buffer, for example: the second predetermined time of the high priority pre-retransmission buffer is T4+ T6+ empirical value x or T4+ T8+ empirical value x, which may be 100 ms.
By so far, the negative impact of important data packet loss can be reduced by making the preferential retransmission of data packets belonging to key frames.
The foregoing embodiments of the present application can be applied to a P2P network, and fig. 3 is a network architecture proposed in the embodiments of the present application, where the network architecture includes a server device 300 and client devices (310, 320, 330), and the client devices can build a P2P network with each other through the server device. Since the functional requirements of the network device may be different for users in different application environments, the number and functions of the servers and the client devices may be different in each application scenario.
The foregoing embodiment of the present application may be applied to a P2P network, where the sender may be a node in the P2P network, and the step S230 requests the server to retransmit the data packet corresponding to the target number.
In a specific example, referring to fig. 4, a flowchart of another method for retransmitting data, which is exemplarily illustrated in an embodiment of the present application and is used in a P2P scenario, is provided, where the method includes the steps of:
a node in the P2P network performs S410 to receive a data packet sent from a node in the P2P network.
Of course, in some examples, S410 may be a packet received from a node and a server in the P2P network.
Wherein the data packet carries a number for describing uniqueness of the data packet, and the numbers are consecutive; the nodes in the P2P network are based on unreliable protocol. In some examples, the nodes and the server may be based on a reliable protocol or an unreliable protocol.
S420, if the obtained data packet number is detected to be discontinuous; storing the missing number into a pre-retransmission cache region, recording the storage time of the missing number, and calculating the to-be-used time of the data packet corresponding to the missing number;
s430, requesting to retransmit the data packet with the target number to the server, wherein the target number comprises: the storage time reaches a first preset time or the waiting time is not more than a serial number of a second preset time.
It should be noted that, the steps described in fig. 4 may refer to the foregoing embodiments, and are not described herein again.
In some examples, to further improve the efficiency of data transmission in the P2P network, in some examples, different packets are divided into multiple groups according to their numbers, and each node may obtain different groups of packets from different nodes, for example, node 1 obtains a first group of packets from node a and a second group of packets from node b.
Specifically, in some examples, the number of packets may be complemented by the number of each data packet, and the packet of each data packet may be determined according to the remainder of the complementation. For example: the method includes the steps that the live streaming media data are cut into data packets with the numbers of 1-20, the number of the packets is 5, the number of each data packet is used for complementing the number of 5, for example, the number of the remainder is 1, 1/5 is 1, the remainder of 1 belongs to a first group, so that the data packets with the number of 1 belong to the first group, and so on, the grouping situation of each data packet can be determined, the data packets of each group of packets form a sub-stream, for example, the data packet with the remainder of 0 belongs to a sub-stream with the number of 0, the data packet with the remainder of 1 belongs to a sub-stream with the number of 1, and so on. In some examples, the number of packets may be determined according to a code rate or a resolution of streaming media data or a number of servers that undertake a task of distributing data packets, and a specific redundancy policy is not limited. After the data packets are grouped, the server may distribute the data packets to nodes in the P2P network based on the grouping, for example, a plurality of servers may respectively send data packets of different groups to nodes in the P2P network that obtain resource data from the server, so as to improve data transmission efficiency and increase the play-out speed of the nodes for playing the streaming media data. Of course, in some examples, after the data packets are grouped, each node may obtain the data of different groups from different nodes, which may further improve the data transmission efficiency in the P2P network.
In practical applications, when a packet obtained by a node from a node in the P2P network is lost, the node requests the server to retransmit the packet in order to ensure retransmission efficiency and stability. However, due to network reasons, the data packets on each server may be different, for example, if the number of the data packet requested to be retransmitted is 99, and the server has not received the data packet with the number of 99, the server may return an error, so that not only is the time delay, but also the data packet cannot be received by retransmission. To avoid the above problem, in some examples, the node may obtain the data packet from other nodes and the server in the P2P network, and the value of the destination number is still smaller than the maximum number of the data packet obtained from the server. To further ensure the stability and efficiency of data retransmission.
Referring to fig. 5, in order to implement another data retransmission method exemplarily shown in the embodiment of the present application, the step S410 of fig. 4 is executed: receiving data packets sent from nodes in the P2P network, and further executing the following steps: s411 determines whether there is a packet transmitted by the server. For example: when a P2P network is built, firstly, connection is requested to at least one node in the P2P network, after the connection is successful, a data packet is subscribed from the connected node and/or server, and whether the data packet is sent by the server exists or not is judged according to the condition of subscribing the data packet.
If yes, step S420 of fig. 4 and step S430 of fig. 4 are executed, and the target number satisfies: and the storage time reaches a first preset time or the to-be-used time is not more than the serial number of a second preset time, and the value of the target serial number is less than the maximum serial number of the data packet acquired from the server.
Specifically, a part of data acquired by the node is provided by the node in the P2P network, and another part of data is provided by the server, for example: the data packets are divided into 5 groups which are respectively sub-streams 0-4, the node acquires the sub-stream 0 from the server and acquires the sub-stream 1-4 from at least one other node in the P2P network; at this time, since the data packets are already acquired from the server with reliable transmission, the data packets acquired from the server can reflect the situation of the data packets that the node should acquire and the situation that the server currently owns the data packets more truly, the node can record the maximum number y of the data packets acquired from the server, so that the value of the target number is not greater than the maximum number y, and some examples may also be that the number put into the buffer to be retransmitted cannot be greater than the maximum number y.
If not, go to step S412: acquiring a data packet with a preset time period or a preset number interval from a server to record the condition of the data packet received from the server; then, step S420 of fig. 4 and step S430 of fig. 4 are executed.
Specifically, all data packets acquired by a node are provided by the node in the P2P network, and at this time, when the node detects that no data packet exists, the node acquires the data packet from the server and sends a request to the server, the server may send the data packet to the node according to a preset time period or a preset time interval, for example: sending the data packets to the node every 100 numbers so that the node can record the condition that the server currently owns the data packets, and recording the maximum number y of the data packets acquired from the server by the node so that the value of the target number is not greater than the maximum number y.
The method described in the above embodiment of the present application may also be applied to a live P2P scene. Referring to fig. 6, a live view diagram exemplarily illustrated in an embodiment of the present application is shown. The first audience client, the second audience client, the third audience client and the anchor client are respectively installed on the terminal devices 610, 620, 630 and 640, the anchor client can make streaming media data through screen capture and other modes of calling a camera to record videos, take photos and the like in a matching manner, the streaming media data comprises a frame of image frames and audio data, and then the made streaming media data is sent to the server 600 through a network. The server 600 is configured to provide a live background service, for example, store a corresponding relationship between each anchor client and each viewer client, manage the P2P network, cut streaming media data into a plurality of data packets, package the data packets according to a customized format, and distribute the packaged data packets, and when the first viewer client, the second viewer client, and the third client are in the same live broadcast room as the anchor client, the server 600 may notify the first viewer client, the second viewer client, and the third viewer client to establish the P2P network, and the first viewer client, the second viewer client, and the third viewer client in the P2P network may interact with each other to exchange the data packets, so as to reduce the pressure on the server and improve the efficiency of each live client for obtaining the streaming media data. The live clients in the P2P network are also referred to as nodes.
The embodiment of the application refers to a social network platform, an instant messaging platform and the like which are aggregated together, a user enters a live broadcast room by logging in a client side, the user exists in the live broadcast room in the identity of the member, and the member with various identities, such as audience, anchor broadcast and the like, is contained in the same live broadcast room. The user can arbitrarily join or quit the live broadcast room. For users with certain authority, the users can add or delete members in the live broadcast room, and can also create or separate the live broadcast room, and the identities of the users with the authority are taken as the anchor broadcast. In the live broadcast room, any plurality of members can carry out interaction such as chatting, talking, video or pushing electronic gifts.
The "anchor client" and the "viewer client" described in the embodiments of the present application may refer to software installed on a terminal device, and in some cases, the live client and the viewer client are integrated on one piece of software, and when the identity of the user is the anchor, the client may be referred to as the anchor client, and when the identity of the user is the viewer, the client may be referred to as the viewer client. The live client in the present specification is a generic term for the anchor client and the viewer client.
Referring to fig. 7, another retransmission method proposed in the embodiment of the present application is applied in a live broadcast scenario, and includes the steps of:
s710: and the anchor client sends the collected streaming media data to the server.
S720: the server cuts the received streaming media data into a plurality of data packets, and packages each data packet according to a self-defined format, wherein the self-defined format comprises a number, and the number is used for describing the uniqueness of each data packet.
In the data packet encapsulation stage, in order to enable the cut data packets to be orderly assembled after being received by the clients and to be interacted after peer nodes are formed between the clients, the server may number each data packet as a field describing a unique identifier of each data packet.
S730: a viewer client in the same live room as the anchor client establishes a P2P network.
S740: the server distributes the encapsulated data packet to nodes subscribing to the server in the P2P network;
s750: a live broadcast client a newly entering a P2P network enters the live broadcast room, acquires a node list of the P2P network from a server, and sends a connection request to at least one node in the node list;
s760: and the live broadcast client a establishes connection with the node responding to the request.
S770: the live client a negotiates subscription data with one of the connected nodes.
In this step, after receiving the data packet, the subscribed node sends the received data packet to the viewer client, and reduces signaling interaction time of a passive request and improves data transmission efficiency in a manner that the subscribed node actively pushes data.
S780: the live client a receives the data packets sent from the nodes and servers in the P2P network.
S790: if the live broadcast client a detects that the obtained data packet numbers are not continuous, the data packet corresponding to the missing number is not sent by the server, the live broadcast client a stores the missing number into a pre-retransmission cache region, records the storage time of the missing number, and calculates the time to be used of the data packet corresponding to the missing number.
S7100: and when the missing number and the storage time reach a first preset time or the waiting time is not more than a second preset time, and the missing number is less than the maximum number of the data packet acquired from the server, the live broadcast client a stores the missing number from the pre-retransmission cache region to a waiting-retransmission cache region.
S7200: and requesting the server for the data packets corresponding to the numbers stored in the cache region to be retransmitted.
The method illustrated in fig. 7 differs from the conventional P2P mode in that the streaming media data is first cut into packets instead of file blocks, the size of the file blocks may be hundreds of KB, and the cuttable granularity of the packets is smaller relative to the file blocks, and the packets can be transmitted in the network as smaller transmission units, for example, when the size of the cut packets is considered, the packets can be designed by combining the transmission characteristics of the internet network layer, so that the size of the packets matches the transmission bandwidth of each connection channel in the P2P network. For example, the channel established between each pair of peer nodes may be a UDP channel, and the size of each data packet may be about 1KB, which is slightly smaller than an MTU (maximum transmission unit of internet network layer), so that each data packet may be transmitted by 1 IP packet without unpacking based on the IP packet, which is more efficient than a method of cutting a file, thereby having a wider applicable scenario, especially a live broadcast scenario.
The server provided by the embodiment of the application can be assumed by various entities, which depends on the role division of different network devices by designers. For example, fig. 8a, 8b, and 8c are network architectures in three different scenarios, and it can be seen that, in different service modes, due to different requirements of service or device management, different types of server devices may assume the functions of the server. In fig. 8a, a first server takes on the role of collecting streaming media data, a second server takes on the role of cutting packets, and a third server takes on the role of distributing packets to peers. In fig. 8b, the first server integrates the functions of collecting streaming media data and cutting data packets, and the second server serves as the server for distributing the data packets. In fig. 8c, the server integrates the functions of collecting streaming media data, cutting packets, and distributing packets. It is noted that other forms of network architecture or server functionality than the examples listed in fig. 8a, 8b and 8c are not excluded.
In practical application, a node may have a short delay or a pause problem when playing streaming media data, and the applicant finds that since a scene in which live broadcasting is applied is very different from a scene in which the conventional P2P technology is applied, the conventional P2P technology is mainly applied to a scene in which video or audio data is shared (for example, video specific packet downloading of a website such as video on demand), compared with the above scene, live broadcasting has a characteristic that a large number of users may enter and exit a live broadcasting room at any moment, so that a live broadcasting-based P2P network dynamically changes at any moment and the change frequency is very fast, but the short delay or the pause problem may occur when playing streaming media data. To address the above-mentioned problems with live broadcasts, in some examples, the method further comprises the steps of: recording the number of nodes connected with the node;
and when the number of the nodes connected with the live broadcast client is less than a preset value, sending a request for acquiring the node list to the server again. For example: the live client is connected with 3 nodes, namely a node 1, a node 2 and a node 3, but because of network jitter or one of the nodes 1, the node 2 and the node 3 exits from a live room, the number of the nodes which are in a connection state with the live client is possibly less than a preset value, when the number of the nodes is less than the preset value, a request for acquiring a node list is sent to the server again, and a connection request is sent to the nodes in the acquired node list, so that the number of the nodes which are connected with the live client is less than the preset value, the nodes which are used for acquiring the streaming media data by the live client exit from the live room, or when the network fails, the live client can quickly acquire the streaming media data from other nodes which are successfully connected, so that the live client is ensured to have less live watching delay and less blocking, and is excellently suitable for scenes.
Referring to fig. 9, the data retransmission apparatus 900 includes:
a receiving module 910, configured to receive a data packet sent by a sending end, where the data packet carries a serial number used to describe uniqueness of the data packet, the serial numbers are consecutive, and an unreliable protocol is used between the sending end and a receiving end;
a processing module 920, configured to store the missing number in a pre-retransmission buffer if it is detected that the obtained data packet number is not consecutive, record the storage time of the missing number, and calculate the time to be used of the data packet corresponding to the missing number; requesting to a transmitting end or a third end stored with the data packet to retransmit the data packet with a target number, wherein the target number comprises: the storage time reaches a first preset time or the waiting time is not more than a serial number of a second preset time.
The embodiment of the data retransmission apparatus in fig. 9 can be applied to a terminal device. The device embodiments may be implemented by software, or by hardware, or by a combination of hardware and software. The software implementation is taken as an example, and as a logical device, the device is formed by reading corresponding computer program instructions in the nonvolatile memory into the memory for operation through the processor of the terminal device where the device is located. In terms of hardware, as shown in fig. 10, the present application is a hardware structure diagram of a terminal device where a data retransmission apparatus is located, except for the processor, the memory, the network interface, and the nonvolatile memory shown in fig. 10, a client device where the apparatus is located in the embodiment may also include other hardware according to the actual function of the device, which is not described again. The processor is configured to perform:
receiving a data packet sent by a sending end, wherein the data packet carries a serial number used for describing uniqueness of the data packet, the serial number is continuous, and the sending end and the receiving end are based on an unreliable protocol;
if the obtained data packet serial number is detected to be discontinuous, storing the missing serial number to a pre-retransmission cache region, recording the storage time of the missing serial number, and calculating the to-be-used time of the data packet corresponding to the missing serial number;
requesting to a transmitting end or a third end stored with the data packet to retransmit the data packet with a target number, wherein the target number comprises: the storage time reaches a first preset time or the waiting time is not more than a serial number of a second preset time.
Referring to fig. 11, a data retransmission apparatus 1100 in a P2P network is provided, including:
a receiving device 1110, configured to receive a data packet sent from a node and a server in a P2P network, where the data packet carries a number for describing uniqueness of the data packet, and the numbers are consecutive; the nodes in the P2P network are based on unreliable protocol;
a processing device 1120, configured to store the missing number in a pre-retransmission buffer if it is detected that the obtained data packet number is not consecutive, record the storage time of the missing number, and calculate the time to be used of the data packet corresponding to the missing number; requesting a server to retransmit a data packet corresponding to a target number, wherein the target number comprises: and the storage time reaches a first preset time or the to-be-used time is not more than the serial number of a second preset time, and the value of the target serial number is less than the maximum serial number of the data packet acquired from the server.
The embodiment of the data retransmission apparatus in the P2P network in fig. 11 can be applied to the terminal device. The device embodiments may be implemented by software, or by hardware, or by a combination of hardware and software. The software implementation is taken as an example, and as a logical device, the device is formed by reading corresponding computer program instructions in the nonvolatile memory into the memory for operation through the processor of the terminal device where the device is located. From a hardware aspect, as shown in fig. 12, the present application is a hardware structure diagram of a terminal device where a data retransmission apparatus in a P2P network is located, except for the processor, the memory, the network interface, and the nonvolatile memory shown in fig. 12, a client device where the apparatus is located in the embodiment may also include other hardware according to an actual function of the device, which is not described again. The processor is configured to perform:
receiving data packets sent from nodes and servers in a P2P network, wherein the data packets carry numbers used for describing uniqueness of the data packets, and the numbers are continuous; the nodes in the P2P network are based on unreliable protocol;
if the obtained data packet serial number is detected to be discontinuous, storing the missing serial number to a pre-retransmission cache region, recording the storage time of the missing serial number, and calculating the to-be-used time of the data packet corresponding to the missing serial number;
requesting a server to retransmit a data packet corresponding to a target number, wherein the target number comprises: and the storage time reaches a first preset time or the to-be-used time is not more than the serial number of a second preset time, and the value of the target serial number is less than the maximum serial number of the data packet acquired from the server.
The implementation process of the functions and actions of each unit in the above device is specifically described in the implementation process of the corresponding step in the above method, and is not described herein again.
In the embodiments of the present application, the computer readable storage medium may be in various forms, such as, in different examples: a RAM (random Access Memory), a volatile Memory, a non-volatile Memory, a flash Memory, a storage drive (e.g., a hard drive), a solid state drive, any type of storage disk (e.g., an optical disk, a dvd, etc.), or similar storage medium, or a combination thereof. In particular, the computer readable medium may be paper or another suitable medium upon which the program is printed. Using these media, the programs can be electronically captured (e.g., optically scanned), compiled, interpreted, and processed in a suitable manner, and then stored in a computer medium.
For the device embodiments, since they substantially correspond to the method embodiments, reference may be made to the partial description of the method embodiments for relevant points. The above-described embodiments of the apparatus are merely illustrative, and 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 modules can be selected according to actual needs to achieve the purpose of the scheme of the application. One of ordinary skill in the art can understand and implement it without inventive effort.
The above description is only exemplary of the present application and should not be taken as limiting the present application, as any modification, equivalent replacement, or improvement made within the spirit and principle of the present application should be included in the scope of protection of the present application.

Claims (9)

1. A method for retransmitting data in a P2P network, the method comprising the steps of:
receiving data packets sent from a P2P network, wherein the data packets carry numbers for describing the uniqueness of the data packets, the numbers are consecutive, and unreliable protocols are used among nodes in the P2P network;
if the data packet does not exist and is sent by the server, acquiring the data packet with a preset time period or a preset number interval from the server;
if the obtained data packet serial number is detected to be discontinuous, storing the missing serial number to a pre-retransmission cache region, recording the storage time of the missing serial number, and calculating the to-be-used time of the data packet corresponding to the missing serial number;
requesting a server to retransmit a data packet with a target number, wherein the target number comprises: and the storage time reaches a first preset time or the to-be-used time is not more than the serial number of a second preset time, and the value of the target serial number is less than the maximum serial number of the data packet acquired from the server.
2. The method of claim 1, wherein requesting retransmission of the data packet with the target number from the server comprises:
storing the target number from a pre-retransmission buffer area to a buffer area to be retransmitted;
and requesting the server for the data packets corresponding to the numbers stored in the cache region to be retransmitted.
3. The method of claim 1, wherein the first preset time comprises:
the current jitter buffer time or the historical jitter buffer time is multiplied by the minimum value of a preset coefficient, or the average value or the minimum value of the historical retransmission time.
4. The method of claim 1, wherein the second preset time comprises:
the sum of the average or minimum of the current jitter buffer time and the historical retransmission time.
5. The method according to claim 1, wherein the requesting retransmission of the data packet with the target number from the server is performed when the following conditions are satisfied:
the number of the target numbers reaches a third preset value; or
And the time from the last time when the data packet corresponding to the target number is requested reaches a fourth preset value.
6. The method of claim 1, wherein the data packets are used to assemble streaming media data, the streaming media data comprising key frames and non-key frames; the number is also used for identifying the frame class of the streaming media data to which the data packet belongs;
the first preset time corresponding to the number belonging to the key frame is less than the first preset time corresponding to the number belonging to the non-key frame; and/or
The second preset time corresponding to the number belonging to the key frame is greater than the second preset time corresponding to the number belonging to the non-key frame.
7. An apparatus for retransmitting data in a P2P network, comprising:
receiving means, configured to receive a data packet sent from a P2P network, where the data packet carries a number for describing uniqueness of the data packet, and the numbers are consecutive; the nodes in the P2P network are based on unreliable protocol; if the data packet is not sent by the server, the receiving device is also used for acquiring the data packet with a preset time period or a preset number interval from the server;
the processing device is used for storing the missing number to a pre-retransmission cache area, recording the storage time of the missing number and calculating the to-be-used time of the data packet corresponding to the missing number if the obtained data packet number is detected to be discontinuous; requesting a server to retransmit a data packet corresponding to a target number, wherein the target number comprises: and the storage time reaches a first preset time or the to-be-used time is not more than the serial number of a second preset time, and the value of the target serial number is less than the maximum serial number of the data packet acquired from the server.
8. A terminal device, comprising:
a processor; and
a memory configured to store a computer program configured to be executed by the processor to perform operations of any of the methods of claims 1 to 6.
9. A computer-readable storage medium, on which a computer program is stored, characterized in that the program is executed by a processor for performing the operations of the method according to any one of claims 1 to 6.
CN201811354499.0A 2018-11-14 2018-11-14 Data retransmission method, device, terminal equipment and storage medium Active CN109560901B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811354499.0A CN109560901B (en) 2018-11-14 2018-11-14 Data retransmission method, device, terminal equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811354499.0A CN109560901B (en) 2018-11-14 2018-11-14 Data retransmission method, device, terminal equipment and storage medium

Publications (2)

Publication Number Publication Date
CN109560901A CN109560901A (en) 2019-04-02
CN109560901B true CN109560901B (en) 2021-09-21

Family

ID=65866369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811354499.0A Active CN109560901B (en) 2018-11-14 2018-11-14 Data retransmission method, device, terminal equipment and storage medium

Country Status (1)

Country Link
CN (1) CN109560901B (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110602568B (en) * 2019-08-07 2021-06-25 武汉兴图新科电子股份有限公司 Video stream transmission packet loss retransmission method, device and storage device based on RTP
CN112398797B (en) * 2019-08-19 2023-05-02 贵州白山云科技股份有限公司 Data transmission method, receiving device, transmitting device, medium, equipment and system
CN112769708A (en) * 2019-11-05 2021-05-07 北京华为数字技术有限公司 Data transmission method and device and computer readable storage medium
CN110889648A (en) * 2019-12-09 2020-03-17 金蝶软件(中国)有限公司 Document numbering method, server and storage medium
CN111162857B (en) * 2019-12-23 2022-03-11 成都德芯数字科技股份有限公司 Data packet receiving method and device and frequency modulation emergency broadcasting system
CN111193936B (en) * 2019-12-27 2021-11-12 腾讯科技(深圳)有限公司 Video streaming transmission method and device, electronic equipment and computer readable storage medium
CN111669610B (en) * 2020-05-27 2022-08-05 北京奇艺世纪科技有限公司 Live video transmission method, system, device, server, electronic equipment and storage medium
CN114598628A (en) * 2020-12-04 2022-06-07 中兴通讯股份有限公司 Network packet loss detection method, electronic device and computer readable storage medium
CN112584525B (en) * 2020-12-07 2023-02-03 广州技象科技有限公司 Uplink data segmentation method and device based on multi-user access
CN114866196B (en) * 2021-01-19 2024-05-24 北京神州数码云科信息技术有限公司 Data packet retransmission method, device, electronic equipment and storage medium
CN112969075A (en) * 2021-01-29 2021-06-15 北京字节跳动网络技术有限公司 Frame supplementing method and device in live broadcast process and computing equipment
CN113392667B (en) * 2021-08-17 2021-11-30 深圳市成为信息技术有限公司 Data transmission method of reader-writer, data receiver and storage medium
CN114499777B (en) * 2022-04-15 2022-07-22 四川腾盾科技有限公司 Data transmission method for cluster unmanned system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045362A (en) * 2010-12-21 2011-05-04 北京高森明晨信息科技有限公司 Data transmission method and system based on UDP protocol
CN103763073A (en) * 2014-01-09 2014-04-30 深圳市迪威视讯股份有限公司 Method for retransmission of lost data packet and terminal
CN103957169A (en) * 2014-05-14 2014-07-30 上海复兰信息科技有限公司 Reliable UDP achievement method based on reserve request
CN106792262A (en) * 2016-12-05 2017-05-31 乐视控股(北京)有限公司 Method of transmitting video data and device
CN107147481A (en) * 2017-07-19 2017-09-08 北京数码视讯科技股份有限公司 Packet loss repeating method, device and electronic equipment
CN107979449A (en) * 2016-10-25 2018-05-01 杭州海康威视数字技术股份有限公司 A kind of data transmission method and device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7742417B2 (en) * 2007-02-16 2010-06-22 International Business Machines Corporation Burst traffic smoothing for SIP processing elements

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045362A (en) * 2010-12-21 2011-05-04 北京高森明晨信息科技有限公司 Data transmission method and system based on UDP protocol
CN103763073A (en) * 2014-01-09 2014-04-30 深圳市迪威视讯股份有限公司 Method for retransmission of lost data packet and terminal
CN103957169A (en) * 2014-05-14 2014-07-30 上海复兰信息科技有限公司 Reliable UDP achievement method based on reserve request
CN107979449A (en) * 2016-10-25 2018-05-01 杭州海康威视数字技术股份有限公司 A kind of data transmission method and device
CN106792262A (en) * 2016-12-05 2017-05-31 乐视控股(北京)有限公司 Method of transmitting video data and device
CN107147481A (en) * 2017-07-19 2017-09-08 北京数码视讯科技股份有限公司 Packet loss repeating method, device and electronic equipment

Also Published As

Publication number Publication date
CN109560901A (en) 2019-04-02

Similar Documents

Publication Publication Date Title
CN109560901B (en) Data retransmission method, device, terminal equipment and storage medium
CN109474684B (en) Method, device, terminal equipment and storage medium for acquiring live video stream
CN109889543B (en) Video transmission method, root node, child node, P2P server and system
US9641578B2 (en) Minimizing unicast bandwidth in an adaptive bit rate system
CA2933465C (en) Communication apparatus, communication data generation method, and communication data processing method
RU2647654C2 (en) System and method of delivering audio-visual content to client device
CN108616334B (en) Message transmission method, device, system, storage medium and electronic device
CN108924609B (en) Streaming media data transmission method, electronic equipment, device and storage medium
CN109561137B (en) Method, device, terminal equipment and medium for establishing P2P network
CN110572433B (en) Video scheduling method, system and device
CN110138632B (en) Data transmission method and device
WO2018121742A1 (en) Method and device for transmitting stream data
CN110324580B (en) Monitoring video playing method and device based on video network
CN110445723B (en) Network data scheduling method and edge node
CN110191315B (en) Monitoring and checking method and device based on video network
US20070160048A1 (en) Method for providing data and data transmission system
CN114501052B (en) Live broadcast data processing method, cloud platform, computer equipment and storage medium
CN109510868B (en) Method, device, terminal equipment and storage medium for establishing P2P network
CN110138730B (en) Subscription method and device of protocol conversion equipment and storage medium
CN111125426A (en) Data storage and query method and device
US10298975B2 (en) Communication apparatus, communication data generation method, and communication data processing method
CN109040199A (en) A kind of method, system and storage medium for distributing resource data
CN109688201B (en) Method, device, equipment and storage medium for replacing resource data acquisition object
CN110691214B (en) Data processing method and device for business object
CN107483220B (en) Service quality control method, device and system

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