Point-to-multipoint data transmission method, device and equipment and readable storage medium
Through point-to-multipoint data transmission method, multiple time slices and alternating CIS links are used to send data packets to Bluetooth headsets, which solves the packet loss problem caused by poor Bluetooth headset reception signals, and improves the data transmission success rate and users Experience.
Patent Information
- Application Number
- CN202310703186.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-13
- Publication Date
- 2024-12-13
AI Technical Summary
When using Bluetooth headsets to communicate with the terminal, it is easy to cause serious packet loss if one headset is not received well, which reduces the success rate of data transmission.
Using a point-to-multipoint data transmission method, data packets are sent to at least two receiving devices through multiple time slices, data transmission is performed using the time slice of each receiving device, and data packets are sent alternately between receiving devices to ensure data. Successful reception of the package.
Improve the success rate of data transmission, especially when the headset receives signals unbalanced, ensuring the effect of synchronous playback between the two ears.
Smart Images

Figure CN119136332A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of terminals, and in particular to a point-to-multipoint data transmission method, device, equipment and readable storage medium. Background Art
[0002] At present, when using Bluetooth headsets to communicate data with terminals, such as playing audio and making calls, it is easy for one of the two headsets to receive poorly, resulting in serious packet loss, thereby reducing the success rate of data transmission. Summary of the invention
[0003] The embodiments of the present application hope to provide a point-to-multipoint data transmission method, apparatus, device and readable storage medium, which can improve the success rate of data transmission.
[0004] The technical solution of this application is implemented as follows:
[0005] In a first aspect, an embodiment of the present application provides a point-to-multipoint data transmission method, which is applied to a sending device, wherein the sending device is used to send at least one data packet to each of at least two receiving devices using multiple time slices, wherein the multiple time slices include at least two time slices corresponding to each of the at least two receiving devices; the method includes:
[0006] Determine whether at least one data packet corresponding to a first receiving device among the at least two receiving devices has been transmitted;
[0007] When the transmission is completed, a data packet is sent to a second receiving device using the time slice corresponding to the first receiving device; the second receiving device includes any receiving device among the at least two receiving devices except the first receiving device.
[0008] In a second aspect, an embodiment of the present application provides a point-to-multipoint data transmission method, applied to a receiving device, including:
[0009] In each of a plurality of time slices, determining whether there is a data packet sent by a sending device to itself; the plurality of time slices include at least two time slices corresponding to each of at least two receiving devices; the sending device is used to send a data packet to a second receiving device using a time slice corresponding to a first receiving device among the at least two receiving devices when at least one data packet corresponding to the first receiving device is transmitted completely; the second receiving device includes any receiving device among the at least two receiving devices except the first receiving device;
[0010] If there is a data packet sent to itself, the data packet is received.
[0011] In a third aspect, an embodiment of the present application provides a point-to-multipoint data transmission method, which is applied to a sending device, including:
[0012] Establishing a first connection isochronous stream CIS link with a first receiving device, and establishing a second CIS link with a second receiving device; wherein the first CIS link and the second CIS link form a connection isochronous group CIG link, and a CIG event corresponding to the CIG link includes: a plurality of first sub-events corresponding to the first CIS link and a plurality of second sub-events corresponding to the second CIS link, and the first sub-events and the second sub-events are arranged alternately in time sequence; the CIG event is used to send at least one data packet to the first receiving device and the second receiving device respectively;
[0013] In a CIG event, a first data packet to be transmitted is sent to the first receiving device through a first sub-event, and a second data packet to be transmitted is sent to the second receiving device through a second sub-event; the first data packet to be transmitted is a data packet to be transmitted corresponding to the at least one data packet on the first CIS link; the second data packet to be transmitted is a data packet to be transmitted corresponding to the at least one data packet on the second CIS link;
[0014] Until the first receiving device successfully receives the at least one data packet and the second receiving device fails to successfully receive the at least one data packet, a second data packet to be transmitted is sent to the second receiving device through the remaining first sub-events and the remaining second sub-events in the CIG event.
[0015] In a fourth aspect, an embodiment of the present application provides a point-to-multipoint data transmission method, which is applied to a receiving device, including:
[0016] Establishing a connection isochronous stream CIS link with a sending device; wherein the sending device establishes a first CIS link with a first receiving device among the receiving devices, and establishes a second CIS link with a second receiving device among the receiving devices; the first CIS link and the second CIS link form a connection isochronous group CIG link, and a CIG event corresponding to the CIG link includes: a plurality of first sub-events corresponding to the first CIS link and a plurality of second sub-events corresponding to the second CIS link;
[0017] When each first sub-event of the plurality of first sub-events and each second sub-event of the plurality of second sub-events are reached, determining whether the sending device sends a data packet to be transmitted on the CIS link corresponding to the sending device;
[0018] In the case where it is determined that the sending device sends the data packet to be transmitted on the CIS link corresponding to itself, the data packet to be transmitted is received.
[0019] In a fifth aspect, an embodiment of the present application provides a point-to-multipoint data transmission device, which is applied to a sending device, wherein the sending device is used to send at least one data packet to each of at least two receiving devices using multiple time slices, wherein the multiple time slices include at least two time slices corresponding to each of the at least two receiving devices; the device includes:
[0020] A first determining module, used to determine whether at least one data packet corresponding to a first receiving device among the at least two receiving devices has been transmitted;
[0021] The first sending module is used to send a data packet to a second receiving device using a time slice corresponding to the first receiving device when the transmission is completed; the second receiving device includes any receiving device among the at least two receiving devices except the first receiving device.
[0022] In a sixth aspect, an embodiment of the present application provides a point-to-multipoint data transmission device, applied to a receiving device, including:
[0023] A second determination module is used to determine whether there is a data packet sent by the sending device to itself in each time slice of a plurality of time slices; the plurality of time slices include at least two time slices corresponding to each receiving device of at least two receiving devices; the sending device is used to send a data packet to a second receiving device using a time slice corresponding to a first receiving device among the at least two receiving devices when at least one data packet corresponding to the first receiving device is transmitted completely; the second receiving device includes any receiving device among the at least two receiving devices except the first receiving device;
[0024] The first receiving module is configured to receive a data packet when there is a data packet sent to itself.
[0025] In a seventh aspect, an embodiment of the present application provides a point-to-multipoint data transmission device, which is applied to a sending device, including:
[0026] A first establishing module is used to establish a first connection isochronous stream CIS link with a first receiving device, and to establish a second CIS link with a second receiving device; wherein the first CIS link and the second CIS link form a connection isochronous group CIG link, and a CIG event corresponding to the CIG link includes: a plurality of first sub-events corresponding to the first CIS link and a plurality of second sub-events corresponding to the second CIS link, and the first sub-events and the second sub-events are alternately arranged in time sequence; the CIG event is used to send at least one data packet to the first receiving device and the second receiving device respectively;
[0027] A second sending module is used to transmit a first data packet to be transmitted to the first receiving device through a first sub-event in a CIG event, and transmit a second data packet to be transmitted to the second receiving device through a second sub-event; the first data packet to be transmitted is a data packet to be transmitted corresponding to the at least one data packet on the first CIS link; the second data packet to be transmitted is a data packet to be transmitted corresponding to the at least one data packet on the second CIS link;
[0028] The second sending module is also used to send a second data packet to be transmitted to the second receiving device through the remaining first sub-events and the remaining second sub-events in the CIG event until the first receiving device successfully receives the at least one data packet and the second receiving device fails to successfully receive the at least one data packet.
[0029] In an eighth aspect, an embodiment of the present application provides a point-to-multipoint data transmission device, applied to a receiving device, including:
[0030] A second establishing module is used to establish a connection isochronous stream CIS link with a sending device; wherein the sending device establishes a first CIS link with a first receiving device among the receiving devices, and establishes a second CIS link with a second receiving device among the receiving devices; the first CIS link and the second CIS link form a connection isochronous group CIG link, and a CIG event corresponding to the CIG link includes: a plurality of first sub-events corresponding to the first CIS link and a plurality of second sub-events corresponding to the second CIS link;
[0031] A third determination module is used to determine whether the sending device sends a data packet to be transmitted on the CIS link corresponding to itself when each first sub-event of the multiple first sub-events and each second sub-event of the multiple second sub-events are reached;
[0032] The second receiving module is used to receive the data packet to be transmitted when it is determined that the sending device sends the data packet to be transmitted on the CIS link corresponding to itself.
[0033] In a ninth aspect, an embodiment of the present application provides a sending device, comprising: a first memory and a first processor; wherein:
[0034] The first memory is used to store executable instructions;
[0035] The first processor is used to implement the point-to-multipoint data transmission method applied to the sending device provided in the embodiment of the present application when executing the executable instructions stored in the first memory.
[0036] In a tenth aspect, an embodiment of the present application provides a receiving device, comprising: a second memory and a second processor; wherein:
[0037] The second memory is used to store executable instructions;
[0038] The second processor is used to implement the point-to-multipoint data transmission method applied to the receiving device provided in the embodiment of the present application when executing the executable instructions stored in the second memory.
[0039] On the eleventh aspect, an embodiment of the present application provides a readable storage medium storing executable instructions, which are used to cause a first processor to execute and implement the data transmission method applied to a sending device provided in the embodiment of the present application; or, when causing a second processor to execute, implement the data transmission method applied to a receiving device provided in the embodiment of the present application.
[0040] In the twelfth aspect, an embodiment of the present application provides a computer program product, including a computer program or instructions, which, when executed by a first processor, implements the data transmission method applied to a sending device provided in an embodiment of the present application; and when executed by a second processor, the computer program or instructions implements the data transmission method applied to a receiving device provided in an embodiment of the present application.
[0041] The embodiment of the present application provides a point-to-multipoint data transmission method, apparatus, device and readable storage medium, in which, when a sending device completes transmitting at least one data packet to a first receiving device among at least two receiving devices, the sending device will use the time slice corresponding to the first receiving device to send a data packet to a second receiving device among at least two receiving devices. In this way, more idle time slices are efficiently used for data transmission, thereby improving the success rate of data transmission. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] Figure 1 A schematic diagram of the interaction process between a current transmitting device and two receiving devices;
[0043] Figure 2 A schematic diagram of an optional flow chart of a point-to-multipoint data transmission method applied to a sending device provided in an embodiment of the present application;
[0044] Figure 3 A schematic diagram of an optional flow chart of a point-to-multipoint data transmission method applied to a sending device provided in an embodiment of the present application;
[0045] Figure 4 A schematic diagram of an optional flow chart of a point-to-multipoint data transmission method applied to a sending device provided in an embodiment of the present application;
[0046] Figure 5A schematic diagram of an optional flow chart of a point-to-multipoint data transmission method applied to a receiving device provided in an embodiment of the present application;
[0047] Figure 6 A schematic diagram of an optional flow chart of a point-to-multipoint data transmission method applied to a sending device provided in an embodiment of the present application;
[0048] Figure 7 A schematic diagram of an optional flow chart of a point-to-multipoint data transmission method applied to a receiving device provided in an embodiment of the present application;
[0049] Figure 8 A schematic diagram of an optional process of applying the point-to-multipoint data transmission method provided in an embodiment of the present application to an actual scenario;
[0050] Fig. 9 An optional structural diagram of a point-to-multipoint data transmission device provided in an embodiment of the present application;
[0051] Fig.10 An optional structural diagram of a point-to-multipoint data transmission device provided in an embodiment of the present application;
[0052] Fig.11 An optional structural diagram of a point-to-multipoint data transmission device provided in an embodiment of the present application;
[0053] Fig.12 An optional structural diagram of a point-to-multipoint data transmission device provided in an embodiment of the present application;
[0054] Fig.13 Schematic diagram of an optional structure of a sending device provided in an embodiment of the present application
[0055] Fig.14 An optional structural diagram of a receiving device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0056] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. The described embodiments should not be regarded as limiting the present application. All other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of this application.
[0057] In the following description, reference is made to “some embodiments”, which describe a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0058] In the following description, the terms "first\second\third" involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second\third" can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present application described here can be implemented in an order other than that illustrated or described here.
[0059] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.
[0060] With the popularity of True Wireless Stereo (TWS) true wireless Bluetooth headsets, the proportion of Bluetooth devices used by users has increased rapidly. Users' demand for high-quality, low-latency, and long-lasting Bluetooth headsets is also increasing, so Bluetooth headsets have gradually evolved from traditional Bluetooth headsets to low-power (Bluetooth Low Energy, BLE) Bluetooth headsets. Among them, traditional TWS Bluetooth headsets generally have two mainstream solutions: one is the monitoring solution, in which the mobile phone, as the master device, establishes a connection with the slave device, such as one of the two earphones, and the mobile phone sends a data packet to the headset. The other earphone of the two earphones monitors the data packet, and then the two earphones play at the same time at the agreed time, thereby achieving binaural synchronization. The other way is the forwarding solution, such as establishing a connection between the mobile phone and the master earphone of the two earphones, and establishing a Bluetooth connection between the two earphones. The mobile phone first sends a data packet to the master earphone, and then the master earphone forwards the data packet to the slave earphone. Finally, the slave earphone plays at the same time at the agreed time, thereby achieving binaural synchronization. In the above two traditional mainstream solutions, the mobile phone only establishes a connection with one of the earphones, so the link is simpler. However, due to problems such as power consumption and poor sound quality, they have gradually transitioned to the BLE solution.
[0061] The BLE solution is that the mobile phone establishes a BLE link with two earphones at the same time, where the link established between the mobile phone and each earphone is a CIS connected isochronous stream (CIS) link, and the CIS links established between the mobile phone and the two earphones are collectively called a connected isochronous group (CIG) link. Figure 1 As shown, Figure 1The diagram shows an interaction process between a mobile phone as a sending device (Initiator) and two earphones (Acceptor1 and Acceptor2) as receiving devices. Among them, the Initiator needs to make the number of interactions (Number of subevent, NSE) between the data packet PDU0 and the data packet PDU1 equal to 4, indicating that there are 4 subevents (subevents) in a CIG event (CIG event), and each subevent represents an interaction between a sending device and a receiving device. Among them, a subevent includes: the Initiator sends a protocol data unit (Protocol Data Unit, PDU) PDU data packet and the Acceptor replies with an acknowledgment packet A. The refresh point (Flush point, FP) includes the refresh points FP00 and FP01 corresponding to Acceptor1, and the refresh points FP10 and FP11 corresponding to Acceptor2. The Initiator starts to send a new PDU packet after the retransmission time reaches the refresh point. The burst number (Burst number) is equal to 2, indicating that this CIG event (CIG0 event) includes two data packets to be transmitted, namely PDU0 and PDU1. As shown Figure 1 As shown in the figure, due to the poor reception of the left earphone (Acceptor1) of the two earphones, the PDU data packets sent by the Initiator to Acceptor1 are always lost, that is, Figure 1 In the CIS0 sub-event 0, CIS0 sub-event 1, and CIS0 sub-event 2 corresponding to Acceptor 1, Acceptor 1 did not receive the PDU data packet, and could not reply the confirmation packet to the Initiator. Figure 1 Indicated by N. After PDU0 fails to send to Acceptor1 several times, when the retransmission time reaches FP00, the PDU data packet to be transmitted is refreshed and PDU1 is transmitted. Due to the poor reception condition of Acceptor1, PDU1 also fails to be transmitted. After retransmitting PDU1 once, it reaches FP01, and the PDU data packet to be transmitted is refreshed and PDU1 is no longer transmitted. The reception condition of Acceptor2 is better. After PDU 0 is successfully transmitted, PDU 1 is transmitted. After PDU1 is also successfully transmitted, a Close Isochronous Event (CIE) flag packet is transmitted, indicating that no new packets will be sent to Acceptor2 in this CIG event.
[0062] It can be seen that due to the imbalance of the received signal conditions of the two earphones, the signal condition of one earphone may be poor, resulting in serious packet loss and other problems. For example, when the mobile phone is placed in the pocket on one side of the user, or the two earphones are worn on both sides of the user's head, the earphone on the same side as the mobile phone has a better reception condition, while the signal received by the other earphone is a signal that has been attenuated after passing through the human body, so the signal condition is poor. This may cause the data packet sent by the mobile phone to one earphone to be successfully transmitted, while the data packet sent to the other earphone is lost, resulting in a situation where one earphone has sound and the other earphone is stuck or even silent, thereby reducing the success rate of data transmission.
[0063] The embodiments of the present application provide a point-to-multipoint data transmission method, apparatus, device and readable storage medium, which can improve the success rate of data transmission. Figure 2 , Figure 2 An optional flow chart of the point-to-multipoint data transmission method provided in the embodiment of the present application applied to a sending device is as follows:
[0064] S101: Determine whether transmission of at least one data packet corresponding to a first receiving device among at least two receiving devices is complete.
[0065] In an embodiment of the present application, a sending device is used to send at least one data packet to each of at least two receiving devices using multiple time slices, and the multiple time slices include at least two time slices corresponding to each of the at least two receiving devices.
[0066] In some embodiments, the sending device can be implemented as various types of user terminals such as laptops, tablet computers, desktop computers, set-top boxes, mobile devices (for example, mobile phones, portable music players, portable gaming devices), and the receiving device can be implemented as Bluetooth headphones, Bluetooth speakers, and other types of audio devices or audio and video devices connected to the sending device. The specific selection is made based on actual conditions and is not limited in the embodiments of the present application.
[0067] In an embodiment of the present application, a sending device establishes a data connection with each of at least two receiving devices. There is at least one data packet on the sending device side to be sent to at least two receiving devices. Data is transmitted between the sending device and the at least two receiving devices through interactive events. Among them, the interactive event includes multiple time slices, and the multiple time slices include at least two time slices corresponding to each of the at least two receiving devices. In this way, the sending device can send a data packet to the receiving device corresponding to each time slice according to each time slice in the multiple time slices, thereby sending at least one data packet to each of the at least two receiving devices through the interactive event. Since the time interval of the time slice is very small, each receiving device is equivalent to synchronously receiving the data packet. The above method can further realize the synchronous processing of the data packet by at least two receiving devices, such as two headphones playing the data packet sent by the mobile phone at the same time.
[0068] In some embodiments, the interaction event may include at least two sub-interaction events corresponding to each of at least two receiving devices, and each sub-interaction event corresponds to a time slice. Exemplarily, the sending device may be a mobile phone, and the at least two receiving devices may be two earphones connected to the mobile phone via Bluetooth; the mobile phone and the two earphones are connected via a CIG link, and the CIG link includes a total of two CIS links connected to each earphone by the mobile phone. The interaction event may be a CIG event. The CIG event includes at least two CIS sub-events corresponding to each of the two earphones. Each CIS corresponds to a time slice. When the mobile phone reaches the time slice corresponding to each CIS sub-event in the CIG event, in the time slice, it sends a data packet to the earphone corresponding to the CIS sub-event. Exemplarily, the CIS sub-events corresponding to each receiving device in a CIG event appear in turn, and the mobile phone can send data packets to the two earphones in turn according to the time slices corresponding to the sub-events.
[0069] In an embodiment of the present application, when the receiving device receives a data packet sent by the sending device, it will send confirmation information, such as a confirmation data packet, to the sending device. In each time slice, after the sending device sends the data packet corresponding to each time slice, if the confirmation information sent by the receiving device is received, it is determined that the data packet transmission is completed. In other words, when there is corresponding confirmation information for at least one data packet sent by the sending device to a certain receiving device, it can be confirmed that the transmission of at least one data packet corresponding to the receiving device is completed, that is, all data packets that need to be sent to the receiving device in an interactive event have been transmitted.
[0070] In the embodiment of the present application, the first receiving device may be any one of the at least two receiving devices.
[0071] S102: When the transmission is completed, send a data packet to the second receiving device using the time slice corresponding to the first receiving device.
[0072] In an embodiment of the present application, when the sending device determines that the transmission of at least one data packet corresponding to the first receiving device is completed, it means that there is no data packet that needs to be sent to the first receiving device on the sending device side in this interactive event. The sending device can use the time slice corresponding to the first receiving device to send a data packet to the second receiving device. Here, the second receiving device includes any receiving device other than the first receiving device among the at least two receiving devices. The data packet sent by the sending device to the second receiving device may include: a data packet that failed to be transmitted to the second receiving device before, that is, a data packet to be retransmitted corresponding to the second receiving device; or a data packet in at least one data packet that has not been sent to the second receiving device, that is, a data packet to be transmitted corresponding to the second receiving device. In this way, the idle time slice can be fully utilized to increase the number of transmissions and improve the transmission success rate.
[0073] It should be noted that S101 and S102 describe the process of transmitting data between a sending device and at least two receiving devices through an interactive event. In practical applications, the sending device can transmit data with at least two receiving devices through at least one interactive event, and the method in the embodiment of the present application can be used to transmit data in each interactive event of at least one interactive event.
[0074] It is understandable that, when the sending device completes transmitting at least one data packet to the first receiving device among the at least two receiving devices, it will use the time slice corresponding to the first receiving device to send the data packet to the second receiving device among the at least two receiving devices. In this way, more idle time slices are efficiently used for data transmission, thereby improving the success rate of data transmission.
[0075] In some embodiments, based on Figure 2 ,like Figure 3 As shown, S102 can be implemented by S1021-S1022, and correspondingly, S103 can be implemented by S1031, as follows:
[0076] S1021. In a current time slice of a plurality of time slices, when a data packet corresponding to the current time slice is transmitted, determine whether at least one data packet corresponding to a receiving device corresponding to the current time slice is transmitted.
[0077] S1022: When the transmission is completed, determine the receiving device corresponding to the current time slice as the first receiving device, and determine that the transmission of at least one data packet corresponding to the first receiving device is completed.
[0078] In an embodiment of the present application, each time a time slice is reached, the sending device uses the time slice as the current time slice; based on the current confirmation information received by the receiving device corresponding to the current time slice, it determines whether at least one data packet corresponding to the receiving device corresponding to the current time slice has been transmitted.
[0079] In some embodiments, when the current confirmation information received by the receiving device corresponding to the current time slice includes at least one confirmation information corresponding to at least one data packet, it is determined that the transmission of at least one data packet corresponding to the receiving device corresponding to the current time slice is complete; otherwise, it is determined that the transmission of at least one data packet corresponding to the receiving device corresponding to the current time slice is not complete.
[0080] In an embodiment of the present application, when the transmission of at least one data packet corresponding to the receiving device corresponding to the current time slice is completed, the receiving device corresponding to the current time slice is determined as the first receiving device among at least two receiving devices, and it can be determined that the transmission of at least one data packet corresponding to the first receiving device is completed.
[0081] S1031. Send a data packet to a second receiving device by using a subsequent time slice corresponding to the first receiving device.
[0082] In an embodiment of the present application, in the current time slice corresponding to the first receiving device, the sending device sends a data packet corresponding to the current time slice to the first receiving device, and when the data packet corresponding to the current time slice is transmitted, it is determined whether at least one data packet corresponding to the first receiving device is transmitted.
[0083] In the embodiment of the present application, when it is determined that the transmission is completed, it means that the last data packet of at least one data packet corresponding to the first receiving device has been transmitted in the current time slice. The sending device uses the subsequent time slice corresponding to the first receiving device to send the data packet to the second receiving device; that is, when the time slice corresponding to the first receiving device is reached next time, the data packet is sent to the second receiving device.
[0084] Here, the subsequent time slice corresponding to the first receiving device to one or more time slices after the current time slice corresponding to the first receiving device.
[0085] In some embodiments, based on Figure 2 ,like Figure 4 As shown, S102 can be implemented by S1023-S1024, and correspondingly, S103 can be implemented by S1032, as follows:
[0086] S1023. In a current time slice of the multiple time slices, determine whether at least one data packet corresponding to a receiving device corresponding to the current time slice has been completely transmitted.
[0087] S1024: When the transmission is completed, determine the receiving device corresponding to the current time slice as the first receiving device, and determine that the transmission of at least one data packet corresponding to the first receiving device is completed.
[0088] S1032: Send a data packet to a second receiving device using the current time slice.
[0089] In the embodiment of the present application, the sending device may also determine whether the transmission of at least one data packet corresponding to the receiving device corresponding to the current time slice is completed when arriving at each time slice, that is, in the current time slice of multiple time slices. In the case of determining that the transmission of at least one data packet corresponding to the receiving device corresponding to the current time slice is completed, it means that the receiving device corresponding to the current time slice has no data packets to be transmitted, and the sending device determines the receiving device corresponding to the current time slice as the first receiving device, and determines that the transmission of at least one data packet corresponding to the first receiving device is completed. In this way, the sending device can use the current time slice to send a data packet to the second receiving device.
[0090] It can be understood that the sending device monitors in real time in each time slice, and when the transmission of at least one data packet corresponding to the first receiving device is completed, the sending device uses the time slice corresponding to the first receiving device to send a data packet to the second receiving device, so that the idle time slice can be used to transmit data to the second receiving device, thereby increasing the number of transmissions and improving the transmission success rate.
[0091] See also Figure 5 , Figure 5 An optional flow chart of the point-to-multipoint data transmission method provided in the embodiment of the present application applied to a receiving device is as follows:
[0092] S201. In each of a plurality of time slices, determine whether there is a data packet sent by a sending device to itself.
[0093] In an embodiment of the present application, as described in the aforementioned embodiment, the multiple time slices include at least two time slices corresponding to each of the at least two receiving devices; the sending device is used to send a data packet to the second receiving device using the time slice corresponding to the first receiving device when the transmission of at least one data packet corresponding to the first receiving device among the at least two receiving devices is completed.
[0094] In some embodiments, the receiving device can determine whether there is a data packet sent by the sending device to itself by monitoring the address bits of the data packet sent by the sending device. Exemplarily, the receiving device can receive and parse the header information of the data packet sent by the sending device, and determine the address bits in the data packet based on the header information. When the address bits in the data packet are consistent with the address bits of the receiving device itself, it is determined that there is a data packet sent by the sending device to itself, that is, the currently parsed data packet is the data packet sent by the sending device to itself. When the address bits in the data packet are inconsistent with the address bits of the receiving device itself, it is determined that there is no data packet sent by the sending device to itself, that is, the currently parsed data packet is not a data packet sent to itself.
[0095] S202: Receive a data packet if there is a data packet sent to itself.
[0096] In the embodiment of the present application, when there is a data packet sent to itself, the receiving device maintains a receiving state in the current time slice to receive the data packet.
[0097] In some embodiments, when there is no data packet sent to itself, the receiving device turns off the receiving path to save power consumption, and then turns on the receiving path again in the next time slice to listen for data packets sent to itself.
[0098] It can be understood that by each receiving device listening to and receiving the data packets sent to itself in each time slice, the second receiving device can also receive the data packets sent by the sending device in the time slice corresponding to the first receiving device, thereby increasing the number of data packet transmissions and thus improving the data transmission success rate.
[0099] See also Figure 6 , Figure 6 An optional flow chart of the point-to-multipoint data transmission method provided in the embodiment of the present application applied to a sending device is as follows:
[0100] S301: Establish a first CIS link with a first receiving device, and establish a second CIS link with a second receiving device.
[0101] In an embodiment of the present application, a sending device establishes a first CIS link and a second CIS link with a first receiving device and a second receiving device, respectively, wherein the first CIS link and the second CIS link form a CIG link. The CIG link includes at least one pre-planned CIG event. A CIG event is used to send at least one data packet to the first receiving device and the second receiving device, respectively.
[0102] In the embodiment of the present application, a CIG event includes: a plurality of first sub-events corresponding to the first CIS link and a plurality of second sub-events corresponding to the second CIS link. The first sub-events and the second sub-events are arranged alternately in time sequence. Here, the alternating arrangement of the first sub-event and the second sub-event can refer to Figure 1 The sub-events of CIS0 and CIS1 are arranged alternately, which will not be elaborated here.
[0103] In the embodiment of the present application, the first sub-event and the second sub-event correspond to respective time slices. By alternately arranging the first sub-event and the second sub-event, the sending device can send each data packet in at least one data packet to the first receiving device and the second receiving device in time periods, respectively, so that the first receiving device and the second receiving device both receive at least one data packet, thereby realizing data processing methods such as binaural synchronous playback.
[0104] S302: In a CIG event, a first data packet to be transmitted is sent to a first receiving device through a first sub-event, and a second data packet to be transmitted is sent to a second receiving device through a second sub-event.
[0105] In an embodiment of the present application, in a CIG event, when the first sub-event is reached, the sending device sends the first data packet to be transmitted to the first receiving device through the current first sub-event. The first data packet to be transmitted is a data packet to be transmitted corresponding to at least one data packet on the first CIS link. Here, the first data packet to be transmitted can be a data packet in at least one data packet that has not been sent on the first CIS link, or it can be a data packet in at least one data packet that has not been successfully sent on the first CIS link.
[0106] When the second sub-event arrives, the sending device sends the second data packet to be transmitted to the second receiving device through the current second sub-event, wherein the second data packet to be transmitted is a data packet to be transmitted corresponding to at least one data packet on the second CIS link.
[0107] Here, the second data packet to be transmitted may be a data packet among at least one data packet that has not been sent on the second CIS link, or may be a data packet among at least one data packet that has not been successfully sent on the second CIS link.
[0108] In some embodiments, after sending a first transmission data packet to a first receiving device, or sending a second transmission data packet to a second receiving device, the sending device may also determine the next data packet corresponding to the first data packet to be transmitted in at least one data packet as the first data packet to be transmitted corresponding to the next first sub-event if it is determined that the first receiving device has successfully received the first data packet to be transmitted; or, if it is determined that the second receiving device has successfully received the second data packet to be transmitted, determine the next data packet corresponding to the second data packet to be transmitted in at least one data packet as the second data packet to be transmitted corresponding to the next second sub-event. In other words, when the sending device determines that the receiving device has successfully received the data packet to be transmitted sent to it, it can send the next data packet in the next corresponding sub-event.
[0109] In some embodiments, when the sending device determines that the second receiving device has not successfully received the second data packet to be transmitted, the sending device determines the second data packet to be transmitted as the second data packet to be transmitted corresponding to the next second sub-event. In other words, the same second data packet to be transmitted is sent through the next second sub-event, that is, when it is determined that the second receiving device has not successfully received the second data packet to be transmitted, the second data packet to be transmitted is retransmitted. Similarly, when the sending device determines that the first receiving device has not successfully received the first data packet to be transmitted, the sending device determines the first data packet to be transmitted as the first data packet to be transmitted corresponding to the next first sub-event.
[0110] In some embodiments, when the sending device sends the same first transmission data packet through at least two first sub-events and reaches the refresh point corresponding to the first CIS link, the sending device determines the next data packet corresponding to the first transmission data packet in at least one data packet as the first data packet to be transmitted corresponding to the next first sub-event; or, when the sending device sends the same second transmission data packet through at least two second sub-events and reaches the refresh point corresponding to the second CIS link, the sending device determines the next data packet corresponding to the second transmission data packet in at least one data packet as the second data packet to be transmitted corresponding to the next second sub-event. Here, the number of retransmissions or the retransmission duration of the sending device can be limited by the refresh point corresponding to the first CIS link and the refresh point corresponding to the second CIS link, so as to avoid the state where the sending device keeps retransmitting data packets when the link condition is poor and cannot send new data packets.
[0111] S303: until the first receiving device successfully receives at least one data packet and the second receiving device fails to successfully receive at least one data packet, send a second data packet to be transmitted to the second receiving device through the remaining first sub-events and the remaining second sub-events in the CIG event.
[0112] In the embodiment of the present application, the sending device alternately sends each data packet to the first receiving device and the second receiving device in the process of S302. Until the first receiving device successfully receives at least one data packet, and the second receiving device fails to successfully receive at least one data packet, it means that the data packets sent to the first receiving device in this CIG event have been fully transmitted, and the remaining first sub-events in the CIG event will become idle sub-events. The data packet sent to the second receiving device has not been fully transmitted. Here, the data packet that has not been fully transmitted can be a data packet to be retransmitted that failed to be sent to the second receiving device before, or a data packet that has not been sent to the second receiving device. The sending device can use each data packet that has not been fully transmitted as the second data packet to be transmitted corresponding to the remaining first sub-event and the second sub-event, and use the remaining first sub-event in the CIG event and the remaining second sub-event in the CIG event to send the second data packet to be transmitted to the second receiving device each time the first sub-event and the second sub-event are reached.
[0113] It is understandable that, when the first receiving device successfully receives at least one data packet, and the second receiving device fails to successfully receive at least one data packet, the embodiment of the present application can use the remaining first sub-event in the CIG event to send the second data packet to be transmitted to the second receiving device. In this way, more idle time slices are efficiently used for data transmission, the number of data transmissions on the data link with poor link conditions is increased, and the success rate of data transmission is improved.
[0114] See also Figure 7 , Figure 7 An optional flow chart of the point-to-multipoint data transmission method provided in the embodiment of the present application applied to a receiving device is as follows:
[0115] S401. Establish a CIS link with a sending device.
[0116] In the embodiment of the present application, the receiving device may include a first receiving device and a second receiving device, wherein the first receiving device establishes a first CIS link with the sending device, and the second receiving device establishes a second CIS link with the sending device.
[0117] In the embodiment of the present application, similarly, the first CIS link and the second CIS link form a CIG link, and a CIG event corresponding to the CIG link includes: multiple first sub-events corresponding to the first CIS link and multiple second sub-events corresponding to the second CIS link.
[0118] S402: When each first sub-event of a plurality of first sub-events and each second sub-event of a plurality of second sub-events are reached, determine whether the sending device sends a data packet to be transmitted on its corresponding CIS link.
[0119] In the embodiment of the present application, when each sub-event in the CIG event arrives, the first receiving device and the second receiving device will wake up to detect whether there is a data packet to be transmitted sent by the sending device on the CIS link between themselves and the sending device.
[0120] That is, when the first receiving device reaches each first sub-event and each second sub-event, it will detect whether there is a first data packet to be transmitted sent by the sending device on the first CIS link. When the second receiving device reaches each first sub-event and each second sub-event, it will detect whether there is a second data packet to be transmitted sent by the sending device on the second CIS link.
[0121] S403: When it is determined that the sending device sends the data packet to be transmitted on the CIS link corresponding to itself, receive the data packet to be transmitted.
[0122] In the embodiment of the present application, the first receiving device receives the first data packet to be transmitted when it is determined that the sending device has sent the first data packet to be transmitted to itself on the first CIS link. The second receiving device receives the second data packet to be transmitted when it is determined that the sending device has sent the second data packet to be transmitted to itself on the second CIS link.
[0123] In some embodiments, when the first receiving device or the second receiving device determines that the sending device has not sent a data packet to be transmitted on its corresponding CIS link, the first receiving device or the second receiving device closes the receiving path until the next time slice to save power consumption of the receiving device.
[0124] It can be understood that in the embodiments of the present application, by each receiving device listening to and receiving the data packet sent to itself in each sub-event, the first receiving device or the second receiving device can also receive the data packet sent to itself by the sending device using the sub-event corresponding to the other receiving device, thereby cooperating with the sending device, increasing the number of data packet transmissions and improving the success rate of data transmission.
[0125] Below, an exemplary application of an embodiment of the present application in an actual application scenario will be described. Take the sending device as a mobile phone, and at least two receiving devices as two Bluetooth headsets that have established CIS links with the mobile phone respectively, where the two Bluetooth headsets include a left ear headset and a right ear headset, the left ear headset establishes a CIS0 link with the mobile phone, and the right ear headset establishes a CIS1 link with the mobile phone, and CIS0 and CIS1 together form a CIG link. There is at least one interaction event corresponding to the CIG link, that is, at least one CIG event, and each CIG event includes: at least two CIS0 sub-events corresponding to the left ear headset and a CIS1 sub-event corresponding to the right ear headset. Each CIS event corresponds to a time slice. As Figure 8 As shown below:
[0126] Taking a CIG0 event as an example, the CIG0 event includes at least CIS0 sub-events 0 to CIS0 sub-events 3 corresponding to the left earphone, and CIS1 sub-events 0 to CIS1 sub-events 3 corresponding to the right earphone. In the CIG0 event, the mobile phone needs to send two data packets PDU0 and PDU1 to the left earphone and the right earphone, which is equivalent to at least one data packet.
[0127] When the time slice corresponding to CIS0 sub-event 0 is reached, the mobile phone sends data packet PDU0 to the left earphone, but the left earphone fails to receive it successfully, so no confirmation information corresponding to data packet PDU0 is sent to the mobile phone (indicated by N in the figure). When the time slice corresponding to CIS1 sub-event 0 is reached, the mobile phone sends data packet PDU0 to the right earphone, and the right earphone successfully receives PDU0 and sends confirmation information corresponding to data packet PDU0 to the mobile phone.
[0128] When the time slice corresponding to CIS0 sub-event 1 is reached, the mobile phone resends data packet PDU0 to the left earphone, but the left earphone still fails to receive it successfully and does not send confirmation information corresponding to data packet PDU0 to the mobile phone. When the time slice corresponding to CIS1 sub-event 1 is reached, the mobile phone sends the next data packet in at least one data packet to the right earphone, that is, PDU1. The right earphone successfully receives PDU1 and sends confirmation information corresponding to data packet PDU1 to the mobile phone. At this time, it can be determined that the transmission of at least one data packet corresponding to the right earphone is completed, and it can be determined that the right earphone is the first receiving device, and correspondingly, the left earphone is the second receiving device. Then, the data packet corresponding to the left earphone can be resent using one or more time slices after the time slice corresponding to CIS1 sub-event 1 corresponding to the right earphone.
[0129] When the time slice corresponding to CIS0 sub-event 2 is reached, since the refresh point FP00 corresponding to the left ear headset has been reached and exceeded, the sending device refreshes to the data packet corresponding to the left ear headset, that is, sends PDU1. The left ear headset fails to successfully receive PDU1, and does not send confirmation information corresponding to data packet PDU1 to the mobile phone. When the time slice corresponding to CIS1 sub-event 2 is reached, here, the time slice corresponding to CIS1 sub-event 2 is the first time slice after the time slice corresponding to CIS1 sub-event 1 corresponding to the right ear headset; since PDU0 and PDU1 corresponding to the right ear headset have been confirmed to be completed, the mobile phone uses the time slice corresponding to CIS1 sub-event 2 to resend the untransmitted PDU1 to the left ear headset. The left ear headset still fails to successfully receive PDU1, and does not send confirmation information corresponding to data packet PDU1 to the mobile phone.
[0130] When the time slice corresponding to CIS0 sub-event 3 is reached, the mobile phone resends PDU1 to the left earphone. The left earphone still fails to successfully receive PDU1, and does not send the confirmation information corresponding to the data packet PDU1 to the mobile phone. When the time slice corresponding to CIS1 sub-event 3 is reached, here, the time slice corresponding to CIS1 sub-event 3 is the second time slice after the time slice corresponding to CIS1 sub-event 1 corresponding to the right earphone; the mobile phone uses the time slice corresponding to CIS1 sub-event 3 to resend the untransmitted PDU1 to the left earphone. This time, the left earphone successfully receives PDU1, and sends the confirmation information corresponding to the data packet PDU1 to the mobile phone. Thus, the PDU1 is successfully transmitted in both the left earphone and the right earphone, and the two earphones can play simultaneously.
[0131] It should be noted that the left ear earphone and the right ear earphone will monitor the data packet in the time slice corresponding to each CIS0 sub-event and the time slice corresponding to each CIS1 sub-event. If it is confirmed that the data packet is sent to itself, it will receive the data packet; otherwise, the hardware receiving path will be closed until the time slice corresponding to the next CIS sub-event.
[0132] It can be understood that, compared with the current related technologies, when the PDU0 and PDU1 corresponding to the right earphone are transmitted, the time slices corresponding to the CIS1 sub-event 2 and CIS1 sub-event 3 after the right earphone are idle and no data packets are sent. The data transmission method of the embodiment of the present application increases the number of retransmissions by utilizing the idle time slices corresponding to the right earphone, ensures the successful reception of the data packet, and improves the success rate of data transmission. This effectively solves the problem that the poor earphone cannot receive data when the ears are unbalanced, and optimizes the user's binaural listening experience.
[0133] The embodiment of the present application also provides a point-to-multipoint data transmission device. Fig. 9 A schematic diagram of a point-to-multipoint data transmission device for a sending device provided in an embodiment of the present application; wherein the sending device is used to send at least one data packet to each of at least two receiving devices using multiple time slices, and the multiple time slices include at least two time slices corresponding to each of the at least two receiving devices. Fig. 9 As shown, the point-to-multipoint data transmission device 1 includes: a first determination module 11 and a first sending module 12, as follows:
[0134] The first determining module 11 is used to determine whether at least one data packet corresponding to a first receiving device among the at least two receiving devices has been transmitted;
[0135] The first sending module 12 is used to send a data packet to a second receiving device using a time slice corresponding to the first receiving device when the transmission is completed; the second receiving device includes any receiving device among the at least two receiving devices except the first receiving device.
[0136] In some embodiments, the first determination module 11 is also used to determine whether at least one data packet corresponding to the receiving device corresponding to the current time slice has been transmitted, when the data packet corresponding to the current time slice has been transmitted in the current time slice of the multiple time slices; when the transmission is completed, the receiving device corresponding to the current time slice is determined as the first receiving device, and it is determined that the transmission of at least one data packet corresponding to the first receiving device has been completed.
[0137] In some embodiments, the first sending module 12 is further configured to send a data packet to the second receiving device using a subsequent time slice corresponding to the first receiving device.
[0138] In some embodiments, the first determination module 11 is also used to determine whether the transmission of at least one data packet corresponding to the receiving device corresponding to the current time slice is completed in the current time slice of the multiple time slices; if the transmission is completed, the receiving device corresponding to the current time slice is determined as the first receiving device, and it is determined that the transmission of at least one data packet corresponding to the first receiving device is completed.
[0139] In some embodiments, the first sending module 12 is further configured to send a data packet to the second receiving device using the current time slice.
[0140] The embodiment of the present application also provides a point-to-multipoint data transmission device. Fig.10 A schematic diagram of the structure of a point-to-multipoint data transmission device applied to a receiving device provided in an embodiment of the present application; Fig.10 As shown, the point-to-multipoint data transmission device 2 includes: a second determination module 21 and a first receiving module 22, wherein:
[0141] The second determination module 21 is used to determine whether there is a data packet sent by the sending device to itself in each time slice of multiple time slices; the multiple time slices include at least two time slices corresponding to each receiving device of at least two receiving devices; the sending device is used to send a data packet to the second receiving device using the time slice corresponding to the first receiving device when at least one data packet corresponding to the first receiving device of the at least two receiving devices is transmitted; the second receiving device includes any receiving device of the at least two receiving devices except the first receiving device;
[0142] The first receiving module 22 is configured to receive a data packet when there is a data packet sent to itself.
[0143] In some embodiments, the second determination module 21 is further configured to determine whether there is a data packet sent by the sending device to itself by monitoring the address bits of the data packet sent by the sending device.
[0144] In some embodiments, the point-to-multipoint data transmission device 2 further includes a first control module (not shown). The first control module is used to close the receiving path until the next time slice when there is no data packet sent by the sending device to itself.
[0145] The embodiment of the present application also provides a point-to-multipoint data transmission device. Fig.11 A schematic diagram of the structure of a point-to-multipoint data transmission device applied to a sending device provided in an embodiment of the present application; Fig.11 As shown, the point-to-multipoint data transmission device 5 comprises:
[0146] The first establishing module 51 is used to establish a first connection isochronous stream CIS link with a first receiving device, and to establish a second CIS link with a second receiving device; wherein the first CIS link and the second CIS link form a connection isochronous group CIG link, and a CIG event corresponding to the CIG link includes: a plurality of first sub-events corresponding to the first CIS link and a plurality of second sub-events corresponding to the second CIS link, and the first sub-events and the second sub-events are alternately arranged in time sequence; the CIG event is used to send at least one data packet to the first receiving device and the second receiving device respectively;
[0147] The second sending module 52 is used to transmit a first data packet to be transmitted to the first receiving device through a first sub-event in a CIG event, and transmit a second data packet to be transmitted to the second receiving device through a second sub-event; the first data packet to be transmitted is a data packet to be transmitted corresponding to the at least one data packet on the first CIS link; the second data packet to be transmitted is a data packet to be transmitted corresponding to the at least one data packet on the second CIS link;
[0148] The second sending module 52 is also used to send a second data packet to be transmitted to the second receiving device through the remaining first sub-events and the remaining second sub-events in the CIG event until the first receiving device successfully receives the at least one data packet and the second receiving device fails to successfully receive the at least one data packet.
[0149] In some embodiments, the point-to-multipoint data transmission device 5 further includes: a fourth determination module (not shown). The fourth determination module is used to determine the next data packet corresponding to the second data packet to be transmitted in the at least one data packet as the second data packet to be transmitted corresponding to the next second sub-event when it is determined that the second receiving device successfully receives the second data packet to be transmitted;
[0150] The fourth determining module is further configured to determine the second data packet to be transmitted as the second data packet to be transmitted corresponding to the next second sub-event when it is determined that the second receiving device has not successfully received the second data packet to be transmitted.
[0151] In some embodiments, the fourth determination module is also used to determine the next data packet corresponding to the second transmission data packet in the at least one data packet as the second data packet to be transmitted corresponding to the next second sub-event when the same second transmission data packet is sent through at least two second sub-events and reaches the refresh point corresponding to the second CIS link.
[0152] The embodiment of the present application also provides a point-to-multipoint data transmission device. Fig.12 A schematic diagram of the structure of a point-to-multipoint data transmission device applied to a receiving device provided in an embodiment of the present application; Fig.12 As shown, the point-to-multipoint data transmission device 6 includes:
[0153] The second establishing module 61 is used to establish a connection isochronous stream CIS link with a sending device; wherein the sending device establishes a first CIS link with a first receiving device among the receiving devices, and establishes a second CIS link with a second receiving device among the receiving devices; the first CIS link and the second CIS link form a connection isochronous group CIG link, and a CIG event corresponding to the CIG link includes: a plurality of first sub-events corresponding to the first CIS link and a plurality of second sub-events corresponding to the second CIS link;
[0154] A third determining module 62 is used to determine whether the sending device sends a data packet to be transmitted on the CIS link corresponding to itself when each first sub-event of the multiple first sub-events and each second sub-event of the multiple second sub-events are reached;
[0155] The second receiving module 63 is used to receive the data packet to be transmitted when it is determined that the sending device sends the data packet to be transmitted on the CIS link corresponding to itself.
[0156] In some embodiments, the point-to-multipoint data transmission device 6 further includes a second control module (not shown). The second control module, when determining that the sending device has not sent a data packet to be transmitted on its corresponding CIS link, closes the receiving path until the next time slice.
[0157] It should be noted that the description of the above device embodiment is similar to the description of the above method embodiment, and has similar beneficial effects as the method embodiment. For technical details not disclosed in the device embodiment of the present application, please refer to the description of the method embodiment of the present application for understanding.
[0158] The embodiment of the present application also provides a sending device, Fig.13 This is an optional structural diagram of a sending device provided in an embodiment of the present application. Fig.13 As shown, the sending device 3 includes: a first memory 32 and a first processor 33. The first memory 32 and the first processor 33 are connected via a first communication bus 34; the first memory 32 is used to store executable instructions; the first processor 33 is used to implement the point-to-multipoint data transmission method applied to the sending device provided in the embodiment of the present application when executing the executable instructions stored in the first memory 32.
[0159] The embodiment of the present application also provides a receiving device, Fig.14 This is an optional structural diagram of a receiving device provided in an embodiment of the present application. Fig.14 As shown, the receiving device 4 may include a second processor 43, and a memory 42 storing executable instructions of the second processor; the second processor 43 and the second memory 42 communicate through a communication bus 44; the second processor 43 can call and run executable instructions from the second memory 42 to implement the point-to-multipoint data transmission method applied to the receiving device provided in an embodiment of the present application.
[0160] An embodiment of the present application provides a computer-readable storage medium storing executable instructions, wherein executable instructions are stored therein. When the executable instructions are executed by the first processor, the first processor will be caused to execute the point-to-multipoint data transmission method for a sending device provided in the embodiment of the present application; or, when the executable instructions are executed by the second processor, the second processor will be caused to execute the point-to-multipoint data transmission method for a receiving device provided in the embodiment of the present application.
[0161] In some embodiments, the computer-readable storage medium (i.e., readable storage medium) may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface storage, optical disk, or CD-ROM; or it may be various devices including one or any combination of the above memories.
[0162] In some embodiments, executable instructions may be in the form of a program, software, software module, script or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine or other unit suitable for use in a computing environment.
[0163] As an example, executable instructions may, but need not, correspond to a file in a file system, may be stored as part of a file that stores other programs or data, such as in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files storing one or more modules, subroutines, or code portions).
[0164] By way of example, executable instructions may be deployed to be executed on one computing device, or on multiple computing devices located at one site, or on multiple computing devices distributed across multiple sites and interconnected by a communication network.
[0165] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of hardware embodiments, software embodiments, or embodiments in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) that contain computer-usable program code.
[0166] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0167] These computer program instructions may also be stored in a computer readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0168] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process in the computer or other programmable device. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0169] The above is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application. Any modifications, equivalent substitutions and improvements made within the spirit and scope of the present application are included in the protection scope of the present application.
Claims
1. A point-to-multipoint data transmission method, applied to a sending device, It is characterized in that The sending device is used to send at least one data packet to each of at least two receiving devices using multiple time slices, wherein the multiple time slices include at least two time slices corresponding to each of the at least two receiving devices; the method includes: Determine whether at least one data packet corresponding to a first receiving device among the at least two receiving devices has been transmitted; When the transmission is completed, a data packet is sent to a second receiving device using the time slice corresponding to the first receiving device; the second receiving device includes any receiving device among the at least two receiving devices except the first receiving device.
2. The method according to claim 1, It is characterized in that The determining whether the transmission of at least one data packet corresponding to the first receiving device among the at least two receiving devices is completed includes: In the case where the data packet corresponding to the current time slice is transmitted in the current time slice of the multiple time slices, determining whether at least one data packet corresponding to the receiving device corresponding to the current time slice is transmitted; When the transmission is completed, the receiving device corresponding to the current time slice is determined as the first receiving device, and it is determined that the transmission of at least one data packet corresponding to the first receiving device is completed.
3. The method according to claim 2, It is characterized in that The sending of a data packet to a second receiving device by using a time slice corresponding to the first receiving device includes: The data packet is sent to the second receiving device using the subsequent time slice corresponding to the first receiving device.
4. The method according to claim 1, It is characterized in that The determining whether the transmission of at least one data packet corresponding to the first receiving device among the at least two receiving devices is completed includes: In a current time slice of the multiple time slices, determining whether at least one data packet corresponding to a receiving device corresponding to the current time slice has been transmitted; When the transmission is completed, the receiving device corresponding to the current time slice is determined as the first receiving device, and it is determined that the transmission of at least one data packet corresponding to the first receiving device is completed.
5. The method according to claim 4, It is characterized in that The sending of a data packet to a second receiving device by using a time slice corresponding to the first receiving device includes: The current time slice is used to send a data packet to the second receiving device.
6. A point-to-multipoint data transmission method, applied to a receiving device, It is characterized in that include: In each of the multiple time slices, determining whether there is a data packet sent by the sending device to itself; The multiple time slices include at least two time slices corresponding to each receiving device of at least two receiving devices; the sending device is used to send a data packet to a second receiving device using the time slice corresponding to the first receiving device when at least one data packet corresponding to the first receiving device of the at least two receiving devices is transmitted; the second receiving device includes any receiving device of the at least two receiving devices except the first receiving device; If there is a data packet sent to itself, the data packet is received.
7. The method according to claim 6, It is characterized in that The determining whether there is a data packet sent by the sending device to itself includes: By monitoring the address bit of the data packet sent by the sending device, it is determined whether there is a data packet sent by the sending device to itself.
8. The method according to claim 6 or 7, It is characterized in that The method further comprises: When there is no data packet sent by the sending device to itself, the receiving path is closed until the next time slice.
9. A point-to-multipoint data transmission method, It is characterized in that Applied to a sending device, the method comprises: Establishing a first connection isochronous stream CIS link with a first receiving device, and establishing a second CIS link with a second receiving device; wherein the first CIS link and the second CIS link form a connection isochronous group CIG link, and a CIG event corresponding to the CIG link includes: a plurality of first sub-events corresponding to the first CIS link and a plurality of second sub-events corresponding to the second CIS link, and the first sub-events and the second sub-events are arranged alternately in time sequence; the CIG event is used to send at least one data packet to the first receiving device and the second receiving device respectively; In a CIG event, a first data packet to be transmitted is sent to the first receiving device through a first sub-event, and a second data packet to be transmitted is sent to the second receiving device through a second sub-event; the first data packet to be transmitted is a data packet to be transmitted corresponding to the at least one data packet on the first CIS link; the second data packet to be transmitted is a data packet to be transmitted corresponding to the at least one data packet on the second CIS link; Until the first receiving device successfully receives the at least one data packet and the second receiving device fails to successfully receive the at least one data packet, a second data packet to be transmitted is sent to the second receiving device through the remaining first sub-events and the remaining second sub-events in the CIG event.
10. The method according to claim 9, It is characterized in that The method further comprises: In the case where it is determined that the second receiving device successfully receives the second data packet to be transmitted, determining the next data packet corresponding to the second data packet to be transmitted in the at least one data packet as the second data packet to be transmitted corresponding to the next second sub-event; When it is determined that the second receiving device has not successfully received the second data packet to be transmitted, the second data packet to be transmitted is determined as the second data packet to be transmitted corresponding to the next second sub-event.
11. The method according to claim 10, It is characterized in that The method further comprises: When the same second transmission data packet is sent through at least two second sub-events and reaches the refresh point corresponding to the second CIS link, the next data packet corresponding to the second transmission data packet in the at least one data packet is determined as the second data packet to be transmitted corresponding to the next second sub-event.
12. A point-to-multipoint data transmission method, It is characterized in that Applied to a receiving device, the method comprises: Establishing a connection isochronous stream CIS link with a sending device; wherein the sending device establishes a first CIS link with a first receiving device among the receiving devices, and establishes a second CIS link with a second receiving device among the receiving devices; the first CIS link and the second CIS link form a connection isochronous group CIG link, and a CIG event corresponding to the CIG link includes: a plurality of first sub-events corresponding to the first CIS link and a plurality of second sub-events corresponding to the second CIS link; When each first sub-event of the plurality of first sub-events and each second sub-event of the plurality of second sub-events are reached, determining whether the sending device sends a data packet to be transmitted on the CIS link corresponding to the sending device; In the case where it is determined that the sending device sends the data packet to be transmitted on the CIS link corresponding to itself, the data packet to be transmitted is received.
13. The method according to claim 12, It is characterized in that The method further comprises: When it is determined that the sending device has not sent the data packet to be transmitted on its corresponding CIS link, the receiving path is closed until the next time slice.
14. A point-to-multipoint data transmission device, used for sending equipment, It is characterized in that The sending device is used to send at least one data packet to each of at least two receiving devices using multiple time slices, wherein the multiple time slices include at least two time slices corresponding to each of the at least two receiving devices; the apparatus comprises: A first determining module, used to determine whether at least one data packet corresponding to a first receiving device among the at least two receiving devices has been transmitted; The first sending module is used to send a data packet to a second receiving device using a time slice corresponding to the first receiving device when the transmission is completed; the second receiving device includes any receiving device among the at least two receiving devices except the first receiving device.
15. A point-to-multipoint data transmission device, applied to a receiving device, It is characterized in that include: A second determination module is used to determine whether there is a data packet sent by the sending device to itself in each time slice of the plurality of time slices; The multiple time slices include at least two time slices corresponding to each receiving device of at least two receiving devices; the sending device is used to send a data packet to a second receiving device using the time slice corresponding to the first receiving device when at least one data packet corresponding to the first receiving device of the at least two receiving devices is transmitted; the second receiving device includes any receiving device of the at least two receiving devices except the first receiving device; The first receiving module is configured to receive a data packet when there is a data packet sent to itself.
16. A point-to-multipoint data transmission device, used for sending equipment, It is characterized in that include: A first establishing module is used to establish a first connection isochronous stream CIS link with a first receiving device, and to establish a second CIS link with a second receiving device; wherein the first CIS link and the second CIS link form a connection isochronous group CIG link, and a CIG event corresponding to the CIG link includes: a plurality of first sub-events corresponding to the first CIS link and a plurality of second sub-events corresponding to the second CIS link, and the first sub-events and the second sub-events are alternately arranged in time sequence; the CIG event is used to send at least one data packet to the first receiving device and the second receiving device respectively; A second sending module is used to transmit a first data packet to be transmitted to the first receiving device through a first sub-event in a CIG event, and transmit a second data packet to be transmitted to the second receiving device through a second sub-event; the first data packet to be transmitted is a data packet to be transmitted corresponding to the at least one data packet on the first CIS link; the second data packet to be transmitted is a data packet to be transmitted corresponding to the at least one data packet on the second CIS link; The second sending module is also used to send a second data packet to be transmitted to the second receiving device through the remaining first sub-events and the remaining second sub-events in the CIG event until the first receiving device successfully receives the at least one data packet and the second receiving device fails to successfully receive the at least one data packet.
17. A point-to-multipoint data transmission device, applied to a receiving device, It is characterized in that include: A second establishing module is used to establish a connection isochronous stream CIS link with a sending device; wherein the sending device establishes a first CIS link with a first receiving device among the receiving devices, and establishes a second CIS link with a second receiving device among the receiving devices; the first CIS link and the second CIS link form a connection isochronous group CIG link, and a CIG event corresponding to the CIG link includes: a plurality of first sub-events corresponding to the first CIS link and a plurality of second sub-events corresponding to the second CIS link; A third determination module is used to determine whether the sending device sends a data packet to be transmitted on the CIS link corresponding to itself when each first sub-event of the multiple first sub-events and each second sub-event of the multiple second sub-events are reached; The second receiving module is used to receive the data packet to be transmitted when it is determined that the sending device sends the data packet to be transmitted on the CIS link corresponding to itself.
18. A sending device, It is characterized in that include: A first memory and a first processor; wherein, The first memory is used to store executable instructions; The first processor is used to implement the method according to any one of claims 1 to 5, or any one of claims 9 to 11 when executing the executable instructions stored in the first memory.
19. A receiving device, It is characterized in that include: A second memory and a second processor; wherein, The second memory is used to store executable instructions; The second processor is used to implement the method according to any one of claims 6 to 8, or claim 12 or 13 when executing the executable instructions stored in the second memory.
20. A readable storage medium, It is characterized in that Executable instructions are stored, which are used to cause a first processor to implement any one of claims 1 to 5, or any one of claims 9 to 11 when executing; or, which are used to cause a second processor to implement any one of claims 6 to 8, or any one of claims 12 or 13 when executing.
