CN109586932B - Multicast method and terminal equipment - Google Patents
Multicast method and terminal equipment Download PDFInfo
- Publication number
- CN109586932B CN109586932B CN201811216509.4A CN201811216509A CN109586932B CN 109586932 B CN109586932 B CN 109586932B CN 201811216509 A CN201811216509 A CN 201811216509A CN 109586932 B CN109586932 B CN 109586932B
- Authority
- CN
- China
- Prior art keywords
- data
- lost
- data packet
- received
- preset time
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/1607—Details of the supervisory signal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
The invention is suitable for the technical field of communication, and provides a multicast method and terminal equipment.A consistent Hash algorithm is used for partitioning all receivers, the transmitters in the same area belong to the same sub-multicast group, and when the receiver receives a data packet and loses the data packet, the receiver sends a first data retransmission instruction to other receivers in the same sub-multicast group to request data retransmission; and when all receivers in the same sub-multicast group lose data, the receivers send a second data retransmission instruction to the sender to request data retransmission. By the method, reliable transmission of the multicast data is ensured, and the transmission efficiency of the data is improved.
Description
Technical Field
The invention belongs to the technical field of communication, and particularly relates to a multicast method and terminal equipment.
Background
Multicast transmission: a point-to-multipoint network connection is implemented between the sender and each receiver. If one sender transmits the same data to a plurality of receivers at the same time, only one copy of the same data packet is needed. It improves data transfer efficiency. The probability of congestion in the backbone network is reduced.
RDMA (Remote Direct Memory Access) is generated to solve the delay of server-side data processing in network transmission. RDMA transfers material directly into the memory area of a computer over a network to move data quickly from one system to a remote system memory without any impact on the operating system, thus eliminating the need for as many computer processing functions as are needed. It eliminates the overhead of external memory copy and context switch, thus freeing up memory bandwidth and CPU cycles for improved application system performance.
RDMA technology is introduced into a multicast scheme to realize extremely-speed reliable multicast in a local area network, but the method has the problem of unstable data transmission.
Disclosure of Invention
In view of this, embodiments of the present invention provide a multicast method and a terminal device, so as to solve the problem of unstable data transmission in the prior art.
To solve the foregoing technical problem, a first aspect of an embodiment of the present invention provides a multicast method, including:
receiving a plurality of data packets sent by a sender, and judging whether the data packets are lost or not;
when the data packet is lost, the first data retransmission instruction is inhibited to be sent within a first preset time, and whether the lost data packet is received or not is judged;
if the lost data packet is not received within a first preset time range, sending the first data retransmission instruction to other receivers in the same sub-multicast group, and judging whether the lost data packet is received within a second preset time, wherein all the receivers are partitioned by adopting a consistent hash algorithm, and the receivers in the same area belong to the same sub-multicast group;
if the lost data packet is not received within the second preset time, inhibiting to send a second data retransmission instruction within a third preset time, and judging whether the lost data packet is received or not;
and if the lost data packet is not received within a third preset time, sending the second data retransmission instruction to the sender.
Further, the method for judging the data packet loss comprises the following steps:
and if the difference between the received serial numbers of two adjacent data packets exceeds the threshold range, determining that the data packets are lost.
Further, if the lost data packet is received within a first preset time range, the first data retransmission instruction is not sent.
Further, if the lost data packet is received within a second preset time range, the second data retransmission instruction is not generated.
Further, if the lost data packet is received within a third preset time range, the second data retransmission instruction is not sent.
A second aspect of the embodiments of the present invention provides a multicast apparatus, including a receiving module, a control module, and a sending module;
the receiving module receives a plurality of data packets sent by a sender and transmits the received data packets to the control module, and the control module judges whether the data packets are lost;
when the data packet is lost, the control module inhibits sending a first data retransmission instruction within a first preset time and judges whether the lost data packet is received;
if the control module does not receive the lost data packet within a first preset time range, the control module sends the first data retransmission instruction to other receivers in the same sub-multicast group through the sending module, and judges whether the lost data packet is received or not within a second preset time, wherein all the receivers are partitioned by adopting a consistent hash algorithm, and the receivers in the same area belong to the same sub-multicast group;
if the control module does not receive the lost data packet within the second preset time, the control module inhibits sending a second data retransmission instruction within a third preset time, and judges whether the lost data packet is received or not;
and if the control module does not receive the lost data packet within a third preset time, the control module sends the second data retransmission instruction to the sender through the sending module.
Further, the method for the control module to determine the data packet loss is as follows:
and if the difference between the received serial numbers of two adjacent data packets exceeds the threshold range, determining that the data packets are lost.
Further, after receiving the second data retransmission instruction, the sender retransmits the specified data to all receivers in the sub-multicast group where the receiver is located.
A third aspect of the embodiments of the present invention provides a multicast terminal device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor implements the steps of the method when executing the computer program.
A third aspect of embodiments of the present invention provides a computer-readable storage medium, which stores a computer program that, when executed by a processor, implements the steps of the method described above.
Adopt the produced beneficial effect of above-mentioned technical scheme to lie in: the method comprises the steps that all receivers are partitioned by using a consistent Hash algorithm, the receivers in the same region belong to the same sub-multicast group, and when a data packet is lost when the receiver receives the data packet, a first data retransmission instruction is sent to other receivers in the same sub-multicast group to request data retransmission; and when all receivers in the same sub-multicast group lose data, the receivers send a second data retransmission instruction to the sender to request data retransmission. By the method, reliable transmission of the multicast data is ensured, and the transmission efficiency of the data is improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the embodiments or the prior art descriptions will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without inventive exercise.
Fig. 1 is a logic flow diagram of a multicast method according to an embodiment of the present invention;
fig. 2 is a schematic block diagram of a multicast apparatus according to an embodiment of the present invention.
Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular system structures, techniques, etc. in order to provide a thorough understanding of the embodiments of the invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present invention with unnecessary detail.
In order to explain the technical means of the present invention, the following description will be given by way of specific examples.
As shown in fig. 1, a logic flow diagram of a multicast method provided in an embodiment of the present invention includes:
step S100, receiving a plurality of data packets sent by a sender.
In an embodiment of the present invention, the method for determining packet loss includes: and if the difference between the received serial numbers of two adjacent data packets exceeds the threshold range, determining that the data packets are lost.
Step S101, judging whether data packet loss occurs.
Step S102, when the data packet loss occurs, the first data resending instruction is inhibited to be sent in the first preset time.
Step S103, determining whether a lost packet is received.
Step S104, if the lost data packet is not received in the first preset time range, a first data retransmission instruction is sent to other receivers in the same sub-multicast group.
In one embodiment of the present invention, if the missing data packet is received within the first predetermined time range, the first data retransmission instruction is not transmitted.
All receivers are partitioned by adopting a consistent Hash algorithm, and the receivers in the same region belong to the same sub-multicast group;
step S105, determining whether a lost packet is received within a second preset time.
Step S106, if the lost data packet is not received within the second preset time, refraining from sending the second data retransmission instruction within the third preset time.
In an embodiment of the present invention, if the missing data packet is received within the second predetermined time range, the second data retransmission instruction is not generated.
Step S107, determining whether a missing data packet is received within a third preset time.
Step S108, if the lost data packet is not received within the third preset time, a second data retransmission instruction is sent to the sender.
In an embodiment of the present invention, if the missing data packet is received within the third predetermined time range, the second data retransmission instruction is not sent.
The method comprises the steps that all receivers are partitioned by using a consistent Hash algorithm, the receivers in the same region belong to the same sub-multicast group, and when a data packet is lost when the receiver receives the data packet, a first data retransmission instruction is sent to other receivers in the same sub-multicast group to request data retransmission; and when all receivers in the same sub-multicast group lose data, the receivers send a second data retransmission instruction to the sender to request data retransmission. By the method, reliable transmission of the multicast data is ensured, and the transmission efficiency of the data is improved.
As shown in fig. 2, the present invention discloses a multicast apparatus, which includes a receiving module, a control module and a sending module.
The receiving module receives a plurality of data packets sent by a sender and transmits the received data packets to the control module, and the control module judges whether the data packets are lost or not; when the data packet is lost, the control module inhibits sending a first data retransmission instruction within a first preset time and judges whether the lost data packet is received or not; if the control module does not receive the lost data packet within a first preset time range, the control module sends a first data retransmission instruction to other receivers in the same sub-multicast group through a sending module, and judges whether the lost data packet is received or not within a second preset time, wherein all the receivers are partitioned by adopting a consistent Hash algorithm, and the receivers in the same area belong to the same sub-multicast group; if the control module does not receive the lost data packet within the second preset time, the control module inhibits sending a second data retransmission instruction within a third preset time, and judges whether the lost data packet is received or not; and if the control module does not receive the lost data packet within the third preset time, the control module sends a second data retransmission instruction to the sender through the sending module.
The control module controls the receiving module to receive a data packet sent by a sender, and when the data packet is lost, the control module sends a first data retransmission instruction to other receivers in the same sub-multicast group through the sending module to request data retransmission; and when all receivers in the same sub-multicast group lose data, the control module sends a second data retransmission instruction to the sender through the sending module to request data retransmission. By the method, the transmission efficiency of the data is improved on the premise of ensuring the reliable transmission of the multicast data.
In an embodiment of the present invention, a method for determining packet loss by a control module is as follows: and if the difference between the received serial numbers of two adjacent data packets exceeds the threshold range, determining that the data packets are lost.
In an embodiment of the present invention, after receiving the second data retransmission instruction, the sender retransmits the specified data to all receivers in the sub-multicast group in which the receiver is located.
In one embodiment of the present invention, a multicast terminal device is disclosed, comprising a memory, a processor and a computer program stored in the memory and executable on the processor, the processor implementing the steps of the above method when executing the computer program.
In one embodiment of the invention, a computer-readable storage medium is disclosed, in which a computer program is stored, which, when being executed by a processor, carries out the steps of the above-mentioned method.
The above-mentioned embodiments are only used for illustrating the technical solutions of the present invention, and not for limiting the same; although the present invention has been described in detail with reference to the foregoing embodiments, it will 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; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present invention, and are intended to be included within the scope of the present invention.
Claims (10)
1. A method of multicasting, comprising:
receiving a plurality of data packets sent by a sender, and judging whether the data packets are lost or not;
when the data packet is lost, the first data retransmission instruction is inhibited to be sent within a first preset time, and whether the lost data packet is received or not is judged;
if the lost data packet is not received within a first preset time range, sending the first data retransmission instruction to other receivers in the same sub-multicast group, and judging whether the lost data packet is received within a second preset time, wherein all the receivers are partitioned by adopting a consistent hash algorithm, and the receivers in the same area belong to the same sub-multicast group;
if the lost data packet is not received within the second preset time, inhibiting to send a second data retransmission instruction within a third preset time, and judging whether the lost data packet is received or not;
and if the lost data packet is not received within a third preset time, sending the second data retransmission instruction to the sender.
2. The multicast method according to claim 1, wherein the method for determining packet loss comprises:
and if the difference between the received serial numbers of two adjacent data packets exceeds the threshold range, determining that the data packets are lost.
3. The multicast method according to claim 1, wherein the first data retransmission instruction is not transmitted if the missing data packet is received within a first predetermined time range.
4. The multicast method according to claim 1, wherein the second data retransmission command is not generated if the missing data packet is received within a second predetermined time range.
5. The multicast method according to claim 1, wherein the second data retransmission instruction is not transmitted if the missing data packet is received within a third predetermined time range.
6. A multicast device is characterized by comprising a receiving module, a control module and a sending module;
the receiving module receives a plurality of data packets sent by a sender and transmits the received data packets to the control module, and the control module judges whether the data packets are lost;
when the data packet is lost, the control module inhibits sending a first data retransmission instruction within a first preset time and judges whether the lost data packet is received;
if the control module does not receive the lost data packet within a first preset time range, the control module sends the first data retransmission instruction to other receivers in the same sub-multicast group through the sending module, and judges whether the lost data packet is received or not within a second preset time, wherein all the receivers are partitioned by adopting a consistent hash algorithm, and the receivers in the same area belong to the same sub-multicast group;
if the control module does not receive the lost data packet within the second preset time, the control module inhibits sending a second data retransmission instruction within a third preset time, and judges whether the lost data packet is received or not;
and if the control module does not receive the lost data packet within a third preset time, the control module sends the second data retransmission instruction to the sender through the sending module.
7. The multicast apparatus according to claim 6, wherein the method for the control module to determine the packet loss is:
and if the difference between the received serial numbers of two adjacent data packets exceeds the threshold range, determining that the data packets are lost.
8. The multicast apparatus according to claim 6, wherein the sender retransmits the designated data to all receivers in the sub-multicast group in which the receiver is located after receiving the second data retransmission instruction.
9. Multicast terminal device comprising a memory, a processor and a computer program stored in said memory and executable on said processor, characterized in that said processor realizes the steps of the method according to any of the claims 1 to 5 when executing said computer program.
10. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the method according to any one of claims 1 to 5.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811216509.4A CN109586932B (en) | 2018-10-18 | 2018-10-18 | Multicast method and terminal equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811216509.4A CN109586932B (en) | 2018-10-18 | 2018-10-18 | Multicast method and terminal equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109586932A CN109586932A (en) | 2019-04-05 |
CN109586932B true CN109586932B (en) | 2021-03-19 |
Family
ID=65920646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811216509.4A Active CN109586932B (en) | 2018-10-18 | 2018-10-18 | Multicast method and terminal equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109586932B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110740045B (en) * | 2019-10-28 | 2021-04-16 | 支付宝(杭州)信息技术有限公司 | Instruction multicast method and system |
CN114584262B (en) * | 2020-11-30 | 2024-04-16 | 华为技术有限公司 | Data transmission method and related equipment |
CN114422484B (en) * | 2021-12-16 | 2024-01-30 | 广东电网有限责任公司 | Multicast method, device, mobile terminal and storage medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102547386A (en) * | 2012-01-12 | 2012-07-04 | 华为技术有限公司 | Data retransmission method, system, multicast server and user terminal |
CN106130746B (en) * | 2016-07-06 | 2021-03-09 | 浙江宇视科技有限公司 | Data transmission method and device |
US10608967B2 (en) * | 2017-01-10 | 2020-03-31 | International Business Machines Corporation | Ensuring that all users of a group message receive a response to the group message |
CN108282277A (en) * | 2018-01-22 | 2018-07-13 | 西安万像电子科技有限公司 | A kind of packet loss repeating method, apparatus and system |
-
2018
- 2018-10-18 CN CN201811216509.4A patent/CN109586932B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN109586932A (en) | 2019-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8817806B2 (en) | Method and apparatus for flow control between RLC and PDCP in a communication | |
KR100599920B1 (en) | A method of controlling flow of the ethernet data in a synchronous data hierarchy transmission network | |
JP5059976B2 (en) | Communication apparatus and communication method | |
CN109586932B (en) | Multicast method and terminal equipment | |
KR101593168B1 (en) | Physical one direction communication device and method thereof | |
JP3683468B2 (en) | Retransmission control method, information distribution apparatus and wireless terminal in multicast service providing system | |
US8611417B2 (en) | Using decoding progress to adapt transmission rate in a multicast transmission | |
CN103269260A (en) | Data transmission method, data receiving terminal, data sending terminal and data transmission system | |
US20160013857A9 (en) | Communication method for relay node and next node of the relay node for network coding | |
CN101233724A (en) | Range extension between two wireless devices | |
CN106330742B (en) | Flow control method and network controller | |
KR20150142719A (en) | One-way data transmission and reception system, and one-way data transmission and reception method | |
WO2017097201A1 (en) | Data transmission method, transmission device and receiving device | |
EP1798913B1 (en) | Transport control method in wireless communication system | |
CN104683259A (en) | TCP congestion control method and device | |
CN111131179B (en) | Service processing method, device, network equipment and storage medium | |
RU2728803C1 (en) | Data transmission device and method and equipment located at client | |
CN110602568B (en) | Video stream transmission packet loss retransmission method, device and storage device based on RTP | |
CN112448893A (en) | Link bandwidth adjusting method, device and storage medium | |
US7724755B2 (en) | Communications apparatus | |
CN109586931B (en) | Multicast method and terminal equipment | |
US11316620B2 (en) | Enhanced HARQ algorithm for large round trip delay links | |
JP2006504290A (en) | NACK protocol method and apparatus | |
KR101515595B1 (en) | System and method for TCP packet transmission for wireless network transmission enhancement | |
CN110912831B (en) | TCP transmission method, device and storage medium |
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 |