CN110022534B - Data transmission method and device based on multicast - Google Patents
Data transmission method and device based on multicast Download PDFInfo
- Publication number
- CN110022534B CN110022534B CN201910245620.4A CN201910245620A CN110022534B CN 110022534 B CN110022534 B CN 110022534B CN 201910245620 A CN201910245620 A CN 201910245620A CN 110022534 B CN110022534 B CN 110022534B
- Authority
- CN
- China
- Prior art keywords
- multicast
- multicast group
- queue
- data
- data packet
- 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
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
- H04W4/08—User group management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention relates to a data transmission method and a device based on multicast, which comprises the steps of judging whether a multicast group exists or not when receiving a data request sent by terminal UE, judging whether data packets corresponding to all data packet numbers in a main multicast queue of the multicast group are sent completely or not if the multicast group exists, adding the UE into the multicast group if the data packets corresponding to all the data packet numbers in the main multicast queue of the multicast group are not sent completely, establishing a retransmission queue for the UE, writing the data packet numbers required to be retransmitted for the UE into the retransmission queue of the UE, and sending the data packets in the multicast group according to the data packet numbers in the retransmission queue of the UE. The invention can join the UE at any time after the multicast group is established, and all the UE can receive complete data, and simultaneously, the invention can save network bandwidth and reduce the load of network equipment.
Description
Technical Field
The present invention relates to the field of network communication technologies, and in particular, to a multicast-based data transmission method and apparatus.
Background
With the leap-type growth and the sudden increase of market scale of the network video industry, especially in the future 5G, the services such as audio, video and images facing large-scale users are rapidly increased, so that the explosive growth of network traffic is caused, the multicast technology supports the scenes that a plurality of UEs simultaneously request the same data source, and the application of the multicast technology can avoid sending a large amount of the same data in some scenes. In the process of implementing the present invention, the inventor finds that in network video-on-demand, a large number of UEs request video data of the same data source, but the time points of their request initiation are different, and if the existing multicast technology is implemented, some users cannot receive complete video data. Therefore, the existing multicast technology cannot be utilized in some network applications, which results in a large amount of occupied network bandwidth and also increases the load of network devices.
Disclosure of Invention
The technical problem to be solved by the present invention is to provide a data transmission method and apparatus based on multicast, aiming at the defects of the prior art.
The technical scheme for solving the technical problems is as follows:
a multicast-based data transmission method includes,
when a data request sent by a terminal UE is received, judging whether a multicast group exists or not;
if the multicast group exists, judging whether the data packets corresponding to all the data packet numbers in the main multicast queue of the multicast group are sent completely;
if the data packets corresponding to all the data packet numbers in the main multicast queue of the multicast group are not completely sent, adding the UE into the multicast group;
establishing a reissue queue for the UE, and writing the data packet number which needs to be reissued for the UE into the reissue queue of the UE;
and sending the data packet in the multicast group according to the data packet number in the retransmission queue of the UE.
The invention has the beneficial effects that: when the UE joins the multicast group, the data packet which can not be retransmitted in the multicast group is retransmitted by counting the data packet which can not be retransmitted, so that the UE can receive complete data, and meanwhile, the UE can join the multicast group at any time, thereby saving network bandwidth and reducing the load of network equipment.
On the basis of the technical scheme, the invention can be further improved as follows.
Further, if the multicast group does not exist,
establishing a multicast group, and adding the UE into the multicast group;
calculating the time length occupied by all data needing to be sent by a multicast source;
dividing all data to be sent into k data packets according to the time length occupied by all data to be sent by the multicast source, wherein the time length occupied by sending each data packet is the same, and k is an integer and is greater than 1;
numbering the k data packets;
establishing the main multicast queue for the multicast group, and writing the k data packet numbers into the main multicast queue according to a sending sequence;
and sequentially sending the data packets corresponding to the data packet numbers from 1 st to k th in the main multicast queue in the multicast group.
The beneficial effect of adopting the further scheme is that: when a multicast group is established, a main multicast queue is established, data to be sent is averagely divided into a plurality of data packets according to the sending duration, data packet numbers are written into the main multicast queue, the data packets are sent according to the sequence of the data packet numbers in the main multicast queue, and all the data packets are guaranteed to be sent according to the sequence.
On the basis of the technical scheme, the invention can be further improved as follows.
Further, the specific step of writing the data packet number to be reissued for the UE into the reissue queue of the UE includes:
when the UE joins the multicast group, the main multicast queue finishes sending data packets corresponding to n data packet numbers, wherein n is an integer and 1< n < k;
establishing a reissue queue for the UE;
acquiring the number of queues which are not sent in the reissue queues of all UE in the multicast group when the UE joins the multicast group;
and determining the number of the data packets in the retransmission queue of the UE according to the number of queues which are not transmitted in the retransmission queues of all the UEs in the multicast group.
The beneficial effect of adopting the further scheme is that: by establishing the reissue queue for the UE newly joining the multicast group, the newly joining UE can receive all data, and simultaneously, the data packets needing to be sent in the reissue queue are counted, so that the network bandwidth is saved, and the load of network equipment is reduced.
On the basis of the technical scheme, the invention can be further improved as follows.
Further, if the number of queues with outstanding transmission in the retransmission queues of all the UEs in the multicast group is greater than 1,
writing the data packet numbers from 1 st to n th in the main multicast queue into a retransmission queue of the UE;
when the UE joins in a multicast group, acquiring unsent data packet numbers in the retransmission queues of all the UE in the multicast group;
calculating a union set of unsent data packet numbers in the retransmission queues of all the UE in the multicast group to obtain a union set of unsent data packet numbers;
and deleting the data packet numbers which are the same as the union set of the unsent data packet numbers in the retransmission queue of the UE.
The beneficial effect of adopting the further scheme is that: when a plurality of retransmission queues exist in the multicast group, counting the unsent data packets in the retransmission queues existing in the multicast group, so that the situation that the data packets in the retransmission queues are sent repeatedly in a new retransmission queue can be omitted, the network bandwidth is saved, and the load of network equipment is reduced.
On the basis of the technical scheme, the invention can be further improved as follows.
Further, if the number of queues with outstanding transmission in the retransmission queues of all UEs in the multicast group is equal to 1,
writing the data packet numbers from 1 st to n th in the main multicast queue into a retransmission queue of the UE;
acquiring the number of a data packet which is not sent in a retransmission queue in a multicast group when the UE joins the multicast group;
and deleting the data packet numbers in the retransmission queue of the UE, which are the same as the unsent data packet numbers in the retransmission queue in the multicast group.
The beneficial effect of adopting the further scheme is that: when only one retransmission queue exists in the multicast group, only the data packets which are not sent in the retransmission queue need to be counted, and the data packets which are already in the retransmission queue do not need to be sent again in the retransmission queue of the UE which newly joins in the multicast group, so that the network bandwidth is saved, and the load of the network equipment is reduced.
On the basis of the technical scheme, the invention can be further improved as follows.
Further, if the number of queues with outstanding transmission in the retransmission queues of all UEs in the multicast group is equal to zero,
and writing the data packet numbers from 1 st to n th in the main multicast queue into a retransmission queue of the UE.
The beneficial effect of adopting the further scheme is that: and after the UE which is the first UE to join the multicast group or the reissue queues of all the UEs in the multicast group have finished sending, the UE which newly joins the multicast group sequentially receives the data packets from the 1 st to the k th.
On the basis of the technical scheme, the invention can be further improved as follows.
Further, if the data packets corresponding to all the data packet numbers in the main multicast queue are completely sent, the receiving UE is not added into the multicast group;
and deleting the multicast group until the sending of the reissue queues of all the UE in the multicast group is finished.
The beneficial effect of adopting the further scheme is that: when the multicast group has no reissue queue, the reissue queue of the newly added UE needs to reissue the data packet which is already sent in the main multicast queue before the time point when the newly added UE is added into the multicast group, so that the UE which is newly added into the multicast group can receive complete data.
Another technical solution of the present invention for solving the above technical problems is as follows:
a multicast-based data transmission apparatus, comprising:
the pre-judging module is used for judging whether a multicast group exists or not when receiving a data request sent by terminal UE (user equipment), judging whether data packets corresponding to all data packet numbers in a main multicast queue of the multicast group are sent completely or not if the multicast group exists, and adding the UE into the multicast group if the data packets corresponding to all data packet numbers in the main multicast queue of the multicast group are not sent completely;
the main multicast queue module is used for calculating the time length occupied by all data needing to be sent by a multicast source; dividing all data to be sent into k data packets according to the time length occupied by all data to be sent by the multicast source, wherein the time length occupied by sending each data packet is the same, k is an integer and is greater than 1, numbering the k data packets, establishing a main multicast queue for the multicast group, writing the k data packet numbers into the main multicast queue according to the sending sequence, and sequentially sending the data packets corresponding to the 1 st to k data packet numbers in the main multicast queue in the multicast group.
A retransmission queue module, configured to complete sending data packets corresponding to n data packet numbers in the main multicast queue when the UE joins the multicast group, where n is an integer and 1< n < k; establishing a reissue queue for the UE; acquiring the number of queues which are not sent in the reissue queues of all UE in the multicast group when the UE joins the multicast group; and determining the number of the data packets in the retransmission queue of the UE according to the number of queues which are not transmitted in the retransmission queues of all the UEs in the multicast group, and transmitting the data packets in the multicast group according to the number of the data packets in the retransmission queue of the UE.
The invention has the beneficial effects that: the data transmission device based on the multicast comprises a pre-judgment module, a main multicast queue module and a retransmission queue module, and the data packets which can not be retransmitted in the multicast group are retransmitted through counting the data packets which can not be retransmitted, so that the UE can receive complete data, and meanwhile, the UE can join the multicast group at any time, thereby saving network bandwidth and reducing the load of network equipment.
In addition, the present invention also provides a storage medium, which stores instructions, and when the instructions are read by a computer, the computer is caused to execute the multicast-based data transmission method according to any one of the above technical solutions.
Advantages of additional aspects of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the embodiments of the present invention or in the description of the prior art will be briefly described below, and it is obvious that the drawings described below are only some embodiments of the present invention, and it is obvious for those skilled in the art that other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a schematic flowchart of a multicast-based data transmission method according to an embodiment of the present invention;
fig. 2 is a schematic flowchart of a multicast-based data transmission method according to another embodiment of the present invention;
fig. 3 is a schematic flowchart of a multicast-based data transmission method according to another embodiment of the present invention;
fig. 4 is a schematic flowchart of a multicast-based data transmission method according to another embodiment of the present invention;
fig. 5 is a schematic flowchart of a multicast-based data transmission method according to another embodiment of the present invention;
fig. 6 is a schematic flowchart of a multicast-based data transmission method according to another embodiment of the present invention;
fig. 7 is a block diagram of a multicast-based data transmission apparatus according to another embodiment of the present invention;
fig. 8 is a schematic diagram of a multicast-based data transmission method according to another embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, not all, embodiments of the present invention. All other embodiments, which can be obtained by a person skilled in the art without any inventive step based on the embodiments of the present invention, shall fall within the scope of protection of the present invention.
A multicast-based data transmission method 100, as shown in fig. 1, includes,
110. when a data request sent by a terminal UE is received, judging whether a multicast group exists or not;
if a multicast group exists, step 120 is performed.
120. Judging whether the data packets corresponding to all the data packet numbers in the main multicast queue of the multicast group are sent completely;
if the data packets corresponding to all the data packet numbers in the main multicast queue of the multicast group are not completely transmitted, step 130 is executed.
130. And adding the UE into the multicast group.
140. And establishing a reissue queue for the UE, and writing the data packet number required to be reissued for the UE into the reissue queue of the UE.
150. And transmitting the data packet in the multicast group according to the data packet number in the retransmission queue of the UE.
The embodiment provides that when the UE joins the multicast group, the data packet which is not retransmitted in the multicast group is retransmitted by counting the data packet which is not retransmitted, so that the UE can receive complete data, and meanwhile, the UE can join the multicast group at any time, thereby saving network bandwidth and reducing the load of network equipment.
Specifically, in another embodiment, as shown in fig. 2, a multicast-based data transmission method includes step 110 in the above-mentioned multicast-based data transmission method 100, wherein step 210 is executed when the determination result of step 110 is that a multicast group does not exist.
210. And establishing a multicast group, and adding the UE into the multicast group.
220. And calculating the time length occupied by all data needing to be sent by the multicast source.
230. Dividing all data to be sent into k data packets according to the time length occupied by all data to be sent by a multicast source, wherein the time length occupied by sending each data packet is the same, k is an integer and k is greater than 1.
240. The k packets are numbered.
250. And establishing a main multicast queue for the multicast group, and writing the k data packet numbers into the main multicast queue according to the sending sequence.
260. And sequentially sending the data packets corresponding to the data packet numbers from 1 st to k th in the main multicast queue in the multicast group.
In the above embodiment, when a multicast group is established, a main multicast queue is established, data to be transmitted is averagely divided into several data packets according to a transmission duration, a data packet number is written into the main multicast queue, the data packets are transmitted according to the sequence of the data packet numbers in the main multicast queue, and it is ensured that all the data packets are transmitted according to the sequence.
In particular, in a preferred embodiment, a multicast-based data transmission method, as shown in fig. 3, includes step 110 of the above-mentioned multicast-based data transmission method 100,
120. judging whether the data packets corresponding to all the data packet numbers in the main multicast queue of the multicast group are sent completely;
if yes, go to step 160; otherwise, step 130 is performed.
130. And adding the UE into the multicast group.
141. When UE joins the multicast group, the main multicast queue finishes sending data packets corresponding to n data packet numbers, n is an integer and 1< n < k.
142. And establishing a reissue queue for the UE.
143. And acquiring the number of queues which are not sent in the retransmission queues of all the UE in the multicast group when the UE joins the multicast group.
144. And determining the number of the data packets in the retransmission queue of the UE according to the number of queues which are not transmitted in the retransmission queues of all the UEs in the multicast group.
150. And transmitting the data packet in the multicast group according to the data packet number in the retransmission queue of the UE.
160. No more receiving UEs join the multicast group.
170. And finishing sending the reissue queues of all the UE in the multicast group and deleting the multicast group.
The embodiment provides that the retransmission queue is established for the UE newly added into the multicast group, so that the UE newly added into the multicast group can receive all data, and meanwhile, the data packets needing to be sent in the retransmission queue are counted, thereby saving the network bandwidth and reducing the load of network equipment.
Specifically, in a preferred embodiment, as shown in fig. 4, a multicast-based data transmission method 300 includes all the steps of the above-mentioned multicast-based data transmission method 100, and this embodiment is an embodiment of one case of step 144.
310. If the number of queues with outstanding transmission in the retransmission queues of all the UEs in the multicast group is more than 1
320. And writing the data packet numbers from 1 st to n th in the main multicast queue into a retransmission queue of the UE.
330. And when the UE joins the multicast group, acquiring the number of the unsent data packet in the retransmission queue of all the UE in the multicast group.
340. And calculating the union of the numbers of the unsent data packets in the retransmission queues of all the UE in the multicast group to obtain the union of the numbers of the unsent data packets.
350. And deleting the data packet numbers which are the same as the union set of the unsent data packet numbers in the reissue queue.
In this embodiment, a union of sets is obtained through a union formula according to a set of unsent packet numbers in a retransmission queue of each UE. For example, in the multicast group, the retransmission queue of three UEs has not completed transmission, the sets of unsent packet numbers in the retransmission queue of three UEs correspond to the set a, the set B, and the set C, respectively, and through a union formula, the union of the sets of unsent packet numbers in the retransmission queue of three UEs is obtained by calculating the combination of the sets of unsent packet numbers.
The embodiment provides that when a plurality of retransmission queues exist in the multicast group, the data packets which are not sent in the retransmission queues existing in the multicast group can be counted, so that the data packets which are sent in the retransmission queues of the UE which newly joins the multicast group can be omitted, the network bandwidth is saved, and the load of the network equipment is reduced.
Specifically, in a preferred embodiment, as shown in fig. 5, a multicast-based data transmission method 400 includes all the steps of the above-mentioned multicast-based data transmission method 100, where this embodiment is another embodiment of step 144.
410. If the number of queues with outstanding transmission in the retransmission queues of all the UEs in the multicast group is equal to 1.
420. And writing the data packet numbers from 1 st to n th in the main multicast queue into a retransmission queue of the UE.
430. And acquiring the number of the unsent data packet in the retransmission queue in the multicast group when the UE joins the multicast group.
440. And deleting the data packet numbers in the retransmission queue of the UE, which are the same as the unsent data packet numbers in the retransmission queue in the multicast group.
In the embodiment, when only one retransmission queue exists in the multicast group, statistics is only needed to be performed on the data packets which are not sent in the retransmission queue, and the data packets which are already in the retransmission queue do not need to be sent again in the retransmission queue of the UE which newly joins in the multicast group, so that the network bandwidth is saved, and the load of the network equipment is reduced.
Specifically, in a preferred embodiment, as shown in fig. 6, a multicast-based data transmission method 500 includes all the steps of the above-mentioned multicast-based data transmission method 100, where this embodiment is another embodiment of step 144.
510. And if the number of queues which are not sent in the retransmission queues of all the UE in the multicast group is equal to zero.
520. And writing the data packet numbers from 1 st to n th in the main multicast queue into a retransmission queue of the UE.
The above embodiment provides that, after the transmission queue of the UE which is the first UE joining the multicast group or the UE which previously joined the multicast group has completed transmission, the newly joined UE sequentially receives the data packets from 1 st to k th.
Specifically, in another embodiment, as shown in fig. 7, a multicast-based data transmission apparatus includes:
the pre-processing module is used for judging whether a multicast group exists or not when receiving a data request sent by terminal UE, judging whether data packets corresponding to all data packet numbers in a main multicast queue of the multicast group are sent completely or not if the multicast group exists, and adding the UE into the multicast group if the data packets corresponding to all data packet numbers in the main multicast queue of the multicast group are not sent completely;
the main multicast queue module is used for calculating the time length occupied by all data needing to be sent by a multicast source; dividing all data to be sent into k data packets according to the time length occupied by all data to be sent by a multicast source, wherein the time length occupied by sending each data packet is the same, k is an integer and k is greater than 1, numbering the k data packets, establishing a main multicast queue for a multicast group, writing the number of the k data packets into the main multicast queue according to the sending sequence, and sequentially sending the data packets corresponding to the number of the data packets from 1 st to k th in the main multicast queue in the multicast group.
A retransmission queue module, configured to complete sending data packets corresponding to n data packet numbers in a main multicast queue when the UE joins the multicast group, where n is an integer and 1< n < k; establishing a reissue queue for the UE; acquiring the number of queues which are not sent in the retransmission queues of all UE in the multicast group when the UE joins the multicast group; and determining the number of the data packets in the retransmission queue of the UE according to the number of queues which are not transmitted in the retransmission queue of all the UEs in the multicast group, and transmitting the data packets in the multicast group according to the number of the data packets in the retransmission queue of the UE.
The embodiment of the invention has the beneficial effects that: the data transmission device based on the multicast comprises a pre-judgment module, a main multicast queue module and a retransmission queue module, and the data packets which can not be retransmitted in the multicast group are retransmitted through counting the data packets which can not be retransmitted, so that the UE can receive complete data, and meanwhile, the UE can join the multicast group at any time, thereby saving network bandwidth and reducing the load of network equipment.
Fig. 8 is a schematic diagram of a multicast-based data transmission method, which illustrates, as an example of the above embodiment, data packets from 1 to k are sequentially transmitted in a main multicast queue, and when a UE1 joins a multicast group, the main multicast queue has completed transmitting 2 data packets, and at this time, there is no retransmission queue in the multicast group, and therefore, data packet numbers with transmission sequences of 1 and 2 are in the retransmission queue of the UE 1. When the UE2 joins the multicast group, the main multicast queue has completed transmission of 3 packets, and at this time, there is a retransmission queue of the UE1 in the multicast group, the UE2 needs to receive packets with transmission sequence 1, 2, and 3, and the number of the packets that are not transmitted in the retransmission queue of the UE1 is 2, so that the packets with transmission sequence 2 can be obtained from the retransmission queue of the UE1, and the retransmission queue of the UE2 is the number of the packets with transmission sequence 1 and 3. When the UE3 joins the multicast group, the data packets with transmission sequence 1, 2, 3, and 4 have been completed in the main multicast queue at this time, the retransmission queue of the UE whose transmission is not completed in the multicast group is the retransmission queue of the UE2, the data packets which are not transmitted in the retransmission queue of the UE2 are the data packets with transmission sequence 3, and 3 is deleted from 1, 2, 3, and 4 to obtain 1, 2, and 4, and the data packet numbers with transmission sequence 1, 2, and 4 in the retransmission queue of the UE3 are obtained.
In particular, an embodiment of the present invention further provides a storage medium, which stores instructions, and when the instructions are read by a computer, the computer is caused to execute the multicast-based data transmission method in the foregoing embodiment.
It should be understood that, in the embodiments of the present invention, the sequence numbers of the above-mentioned processes do not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
In addition, the term "and/or" herein is only one kind of association relationship describing an associated object, and means that there may be three kinds of relationships, for example, a and/or B, which may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" herein generally indicates that the former and latter related objects are in an "or" relationship.
Those of ordinary skill in the art will appreciate that the elements and algorithm steps of the examples described in connection with the embodiments disclosed herein may be embodied in electronic hardware, computer software, or combinations of both, and that the components and steps of the examples have been described in a functional general in the foregoing description for the purpose of illustrating clearly the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, a division of a unit is merely a logical division, and an actual implementation may have another division, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may also be an electric, mechanical or other form of connection.
Units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment of the present invention.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention essentially or partially contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
While the invention has been described with reference to specific embodiments, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.
Claims (8)
1. A method for multicast-based data transmission, comprising:
when a data request sent by a terminal UE is received, judging whether a multicast group exists or not;
if the multicast group exists, judging whether the data packets corresponding to all the data packet numbers in the main multicast queue of the multicast group are sent completely;
if the data packets corresponding to all the data packet numbers in the main multicast queue of the multicast group are not completely sent, adding the UE into the multicast group;
establishing a reissue queue for the UE, and writing the data packet number which needs to be reissued for the UE into the reissue queue of the UE;
sending data packets in the multicast group according to the data packet number in the retransmission queue of the UE;
the specific step of writing the data packet number to be reissued for the UE into the reissue queue of the UE includes:
when the UE joins the multicast group, the main multicast queue finishes sending data packets corresponding to n data packet numbers, wherein n is an integer and 1< n < k;
establishing a reissue queue for the UE;
acquiring the number of queues which are not sent in the reissue queues of all the UE in the multicast group when the UE joins the multicast group;
and determining the number of the data packets in the retransmission queue of the UE according to the number of queues which are not transmitted in the retransmission queues of all the UEs in the multicast group.
2. The data transmission method of claim 1, wherein, if the multicast group does not exist,
establishing a multicast group, and adding the UE into the multicast group;
calculating the time length occupied by all data needing to be sent by a multicast source;
dividing all data to be sent into k data packets according to the time length occupied by all data to be sent by the multicast source, wherein the time length occupied by sending each data packet is the same, and k is an integer and is greater than 1;
numbering the k data packets;
establishing the main multicast queue for the multicast group, and writing the k data packet numbers into the main multicast queue according to a sending sequence;
and sequentially sending the data packets corresponding to the data packet numbers from 1 st to k th in the main multicast queue in the multicast group.
3. The data transmission method according to claim 1, wherein if the number of queues with outstanding transmission in the retransmission queues of all UEs in the multicast group is greater than 1,
writing the data packet numbers from 1 st to n th in the main multicast queue into a retransmission queue of the UE;
when the UE joins the multicast group, acquiring unsent data packet numbers in the retransmission queues of all the UE in the multicast group;
calculating a union set of unsent data packet numbers in the retransmission queues of all the UE in the multicast group to obtain a union set of unsent data packet numbers;
and deleting the data packet numbers which are the same as the union set of the unsent data packet numbers in the retransmission queue of the UE.
4. The data transmission method according to claim 1, wherein if the number of queues with outstanding transmission in the retransmission queues of all UEs in the multicast group is equal to 1,
writing the data packet numbers from 1 st to n th in the main multicast queue into a retransmission queue of the UE;
acquiring the number of a data packet which is not sent in a retransmission queue in the multicast group when the UE joins the multicast group;
and deleting the data packet numbers in the retransmission queue of the UE, which are the same as the unsent data packet numbers in the retransmission queue in the multicast group.
5. The data transmission method according to claim 1, wherein if the number of queues with outstanding transmission in the retransmission queues of all UEs in the multicast group is equal to zero,
and writing the data packet numbers from 1 st to n th in the main multicast queue into a retransmission queue of the UE.
6. The data transmission method of claim 2,
if the data packets corresponding to all the data packet numbers in the main multicast queue are completely sent, the UE is not received and added into the multicast group;
and deleting the multicast group until the sending completion of the reissue queues of all the UE in the multicast group.
7. A multicast-based data transmission apparatus, comprising:
the pre-judging module is used for judging whether a multicast group exists or not when receiving a data request sent by terminal UE (user equipment), judging whether data packets corresponding to all data packet numbers in a main multicast queue of the multicast group are sent completely or not if the multicast group exists, and adding the UE into the multicast group if the data packets corresponding to all data packet numbers in the main multicast queue of the multicast group are not sent completely;
the main multicast queue module is used for calculating the time length occupied by all data needing to be sent by a multicast source; dividing all data to be sent into k data packets according to the time length occupied by all data to be sent by the multicast source, wherein the time length occupied by sending each data packet is the same, k is an integer and is greater than 1, numbering the k data packets, establishing a main multicast queue for the multicast group, writing the k data packet numbers into the main multicast queue according to the sending sequence, and sequentially sending the data packets corresponding to the data packet numbers from 1 st to k th in the main multicast queue in the multicast group;
a retransmission queue module, configured to complete sending data packets corresponding to n data packet numbers in the main multicast queue when the UE joins the multicast group, where n is an integer and 1< n < k; establishing a reissue queue for the UE; acquiring the number of queues which are not sent in the reissue queues of all the UE in the multicast group when the UE joins the multicast group; and determining the number of the data packets in the retransmission queue of the UE according to the number of queues which are not transmitted in the retransmission queues of all the UEs in the multicast group, and transmitting the data packets in the multicast group according to the number of the data packets in the retransmission queue of the UE.
8. A storage medium having stored therein instructions which, when read by a computer, cause the computer to execute the multicast-based data transmission method according to any one of claims 1 to 6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910245620.4A CN110022534B (en) | 2019-03-28 | 2019-03-28 | Data transmission method and device based on multicast |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910245620.4A CN110022534B (en) | 2019-03-28 | 2019-03-28 | Data transmission method and device based on multicast |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110022534A CN110022534A (en) | 2019-07-16 |
CN110022534B true CN110022534B (en) | 2021-06-08 |
Family
ID=67190172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910245620.4A Active CN110022534B (en) | 2019-03-28 | 2019-03-28 | Data transmission method and device based on multicast |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110022534B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110278158B (en) * | 2019-08-09 | 2024-01-30 | 京信网络系统股份有限公司 | Multicast data packet transmission method, computer device, and storage medium |
CN110740045B (en) * | 2019-10-28 | 2021-04-16 | 支付宝(杭州)信息技术有限公司 | Instruction multicast method and system |
WO2022151248A1 (en) * | 2021-01-14 | 2022-07-21 | 华为技术有限公司 | Data transmission method and apparatus |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103650418A (en) * | 2011-06-09 | 2014-03-19 | 美国博通公司 | Method and apparatus for facilitating multicast service |
CN104093070A (en) * | 2014-07-22 | 2014-10-08 | 中国科学院软件研究所 | Channel switching accelerating method and channel ethnic group marking method in video multicast network system |
CN105491414A (en) * | 2015-11-19 | 2016-04-13 | 深圳市时尚德源文化传播有限公司 | Synchronous display method and device of images |
CN107566855A (en) * | 2016-06-30 | 2018-01-09 | 华为技术有限公司 | Method, server and the set top box that channel is switched fast |
CN108111531A (en) * | 2018-01-02 | 2018-06-01 | 青岛海信网络科技股份有限公司 | A kind of method and device for enhancing net cast quality |
-
2019
- 2019-03-28 CN CN201910245620.4A patent/CN110022534B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103650418A (en) * | 2011-06-09 | 2014-03-19 | 美国博通公司 | Method and apparatus for facilitating multicast service |
CN104093070A (en) * | 2014-07-22 | 2014-10-08 | 中国科学院软件研究所 | Channel switching accelerating method and channel ethnic group marking method in video multicast network system |
CN105491414A (en) * | 2015-11-19 | 2016-04-13 | 深圳市时尚德源文化传播有限公司 | Synchronous display method and device of images |
CN107566855A (en) * | 2016-06-30 | 2018-01-09 | 华为技术有限公司 | Method, server and the set top box that channel is switched fast |
CN108111531A (en) * | 2018-01-02 | 2018-06-01 | 青岛海信网络科技股份有限公司 | A kind of method and device for enhancing net cast quality |
Also Published As
Publication number | Publication date |
---|---|
CN110022534A (en) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110022534B (en) | Data transmission method and device based on multicast | |
CN107637125A (en) | Method and apparatus for managing buffer in a wireless communication system | |
US20070274324A1 (en) | Local network coding for wireless networks | |
CN111163130B (en) | Network service system and data transmission method thereof | |
CN107104782B (en) | Data transmission method and device | |
US20240297914A1 (en) | Method and apparatus for selecting server, device, and medium | |
EP3618356A1 (en) | Packet loss detection method, apparatus, and system | |
CN112188144B (en) | Audio transmission method and device, storage medium and electronic device | |
CN114039703A (en) | Data transmission method, device, equipment and medium | |
CN110248217B (en) | User data synchronization method and device | |
CN109391522B (en) | RDMA-based network traffic determination method, forwarding device, analysis server, and storage medium | |
CN109547172A (en) | Data transmission method, system and data transmitting equipment, data receiver | |
US10044833B2 (en) | Data processing method and apparatus used for terminal application | |
WO2022006757A1 (en) | Information transmission method and apparatus, communication device and storage medium | |
CN115801691B (en) | Method and device for processing data packet loss and storage medium | |
CN110062339B (en) | Method and device for shareable data transmission | |
CN107396030B (en) | Video call processing method and scheduling control terminal | |
WO2022111693A1 (en) | Data transmission method and related device | |
CN111432441B (en) | Audio data transmitting method and device and computer readable storage medium | |
CN110266814B (en) | Transmission method and transmission device | |
CN112351049B (en) | Data transmission method, device, equipment and storage medium | |
CN112533154B (en) | Data processing method, device and storage medium | |
CN111488222B (en) | Stream aggregation method and device and electronic equipment | |
CN113542813A (en) | Data transmission method and device | |
KR102664820B1 (en) | Method for transmission data and apparatus for executint the method |
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 |