Method, device and system for sending broadcast data packet longer than preset length to group
By splitting the data packets and synchronizing the frame header packet indication mechanism, the problem of low transmission efficiency of large data packets in high-density wireless communications is solved, and efficient and reliable group packet transmission is achieved.
Patent Information
- Application Number
- CN202411244958.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-05
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2044-09-05
AI Technical Summary
In high-density wireless communication scenarios, it is difficult for the prior art to efficiently send broadcast packets larger than the preset length to the group, especially when the low-power Bluetooth protocol does not support large amounts of data transmission, resulting in inefficiency.
By splitting the broadcast data packet to be sent into multiple sub-data packets, and determining the required number of transmission slot groups based on the preset transmission slot length and the number of sub-data packets, the sub-data is transferred using the synchronous frame header indication packets to convert the sub-data Packets are distributed to groups within different time slots, ensuring that each device receives packets from its registered group, and ensuring the integrity and reliability of packets through inquiry and retransmission mechanisms.
It realizes efficiently sending broadcast packets larger than the preset length to the group in high-density wireless communication scenarios, improving transmission efficiency and reliability, supporting packet transmission of more than 1500 bytes, and is suitable for scenarios such as electronic price tags.
Smart Images

Figure CN119136151A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of wireless communication technology, and in particular to a method, device and system for sending a broadcast data packet with a length greater than a preset length to a group. Background Art
[0002] This section is intended to provide a background or context to the embodiments of the invention recited in the claims. No admission is made that the description herein is prior art by inclusion in this section.
[0003] At present, some types of electronic devices have the characteristics of high-density wireless communication in their usage scenarios. In this scenario, there is a need for a first device to broadcast the same data packet to a group of second devices, such as upgrading the firmware of all second devices, upgrading new functions, etc. How to efficiently complete the broadcast of this ultra-long data packet in this high-density wireless communication scenario is a challenge.
[0004] The current version is very inefficient when the first device needs to send the same large amount of data to the group of second devices. For example, when sending an upgrade package to the group of second devices, the amount of data transmitted may exceed 100KB, and the current low-power Bluetooth protocol does not support broadcasting such a large amount of data. If the upgrade is performed by point-to-point transmission to each second device separately, the efficiency is very low. It is necessary to add a new protocol solution to solve this problem. Summary of the invention
[0005] An embodiment of the present invention provides a method for sending a broadcast data packet greater than a preset length to a group. The method is applied to a first device, and a plurality of second devices constitute the group, so as to efficiently send a broadcast data packet greater than a preset length to the group in a high-density wireless communication scenario. The method includes:
[0006] When a broadcast data packet longer than a preset length needs to be sent to the group, the broadcast data packet to be sent is split into a plurality of sub-data packets according to the overall length of the broadcast data packet to be sent and the length of the preset sub-data packets to be split;
[0007] According to the number of sub-data packets into which the broadcast data packet to be sent is split, and the length of the sub-data packets that can be accommodated by the preset sending time slot length, the number of sending time slot groups required to be occupied by sending the broadcast data packet to be sent is determined; according to the number of sending time slot groups, the sub-data packets are divided into multiple sub-groups in time sequence; a sending synchronization frame of a synchronization cycle includes a group of sending time slots, each sending time slot accommodates a sub-group of data packets; the sub-data packets accommodated in all sending time slots corresponding to each broadcast data packet to be sent form a group of data packets; a synchronization frame header indication packet of each group of data packets is sent at the front of each time slot of the group, and the synchronization frame header indication packet is used to indicate the subsequent continuous sending of multiple sub-data packets;
[0008] The sub-data packets are sent to the group in the time slots of different sub-groups corresponding to each synchronization cycle; each second device is used to receive the sub-data packets in the synchronization frame time slot corresponding to the group where it is registered when multiple sub-data packets are subsequently sent continuously according to the synchronization frame header indication packet.
[0009] The embodiment of the present invention further provides a first device for sending a broadcast data packet greater than a preset length to a group, wherein a plurality of second devices constitute the group, so as to efficiently send a broadcast data packet greater than a preset length to the group in a high-density wireless communication scenario, wherein the first device comprises:
[0010] a splitting unit, configured to split the broadcast data packet to be sent into a plurality of sub-data packets according to the overall length of the broadcast data packet to be sent and the length of the preset split sub-data packets when a broadcast data packet longer than a preset length needs to be sent to the group;
[0011] A determination unit, used to determine the number of transmission time slot groups required to be occupied for sending the broadcast data packet to be sent according to the number of sub-data packets into which the broadcast data packet to be sent is split and the length of the sub-data packets that can be accommodated by the preset transmission time slot length, and to divide the sub-data packets into multiple sub-groups in time sequence according to the number of transmission time slot groups, wherein a transmission synchronization frame of a synchronization cycle includes a group of transmission time slots, each transmission time slot accommodates a sub-group of data packets, and the sub-data packets accommodated in all transmission time slots corresponding to each broadcast data packet to be sent are a group of data packets, and a synchronization frame header indication packet of the group is sent at the front of each time slot of each group of data packets, and the synchronization frame header indication packet is used to indicate the subsequent continuous sending of multiple sub-data packets;
[0012] A sending unit is used to send sub-data packets to the group in time slots of different sub-groups corresponding to each synchronization cycle; each second device is used to receive sub-data packets in the synchronization frame time slot corresponding to the group where it is registered when multiple sub-data packets are subsequently sent continuously according to the synchronization frame header indication packet.
[0013] An embodiment of the present invention also provides a system for sending a broadcast data packet greater than a preset length to a group, comprising: at least one first device as described above, and a group consisting of multiple second devices; wherein: each second device is used to receive a sub-data packet in a synchronization frame time slot corresponding to the group in which it is registered when multiple sub-data packets are subsequently sent continuously according to the indication of a synchronization frame header indication packet.
[0014] An embodiment of the present invention also provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned method of sending a broadcast data packet greater than a preset length to a group when executing the computer program.
[0015] An embodiment of the present invention further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method of sending a broadcast data packet greater than a preset length to a group is implemented.
[0016] An embodiment of the present invention further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the method of sending a broadcast data packet greater than a preset length to a group is implemented.
[0017] In the scheme for sending a broadcast data packet longer than a preset length to a group provided by an embodiment of the present invention, a plurality of second devices constitute the group. The scheme is as follows: when a broadcast data packet longer than a preset length needs to be sent to the group, the broadcast data packet to be sent is split into a plurality of sub-data packets according to the overall length of the broadcast data packet to be sent and the length of the preset split sub-data packets; the number of transmission time slot groups required for sending the broadcast data packet to be sent is determined according to the number of sub-data packets into which the broadcast data packet to be sent is split and the length of the sub-data packets that can be accommodated by the preset transmission time slot length; the sub-data packets are divided into a plurality of sub-groups in time sequence according to the number of transmission time slot groups; a transmission synchronization frame of a synchronization cycle includes a The invention discloses a method for transmitting a data packet in a group of transmission time slots, wherein each transmission time slot accommodates a sub-group of data packets, and each sub-data packets accommodated in all transmission time slots corresponding to each broadcast data packet to be transmitted constitute a group of data packets, and a synchronization frame header indication packet of the group is sent at the front of each time slot of each group of data packets, and the synchronization frame header indication packet is used to indicate the subsequent continuous transmission of multiple sub-data packets; the sub-data packets are sent to the group in the time slots of different sub-groups corresponding to each synchronization cycle; each second device is used to receive the sub-data packets in the synchronization frame time slot corresponding to the group where it is registered when multiple sub-data packets are subsequently transmitted continuously according to the indication of the synchronization frame header indication packet, so as to realize the efficient sending of broadcast data packets greater than a preset length to the group in a high-density wireless communication scenario. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the prior art descriptions. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work. In the drawings:
[0019] Figure 1 Format definition diagram of the ExtendAdv package in an embodiment of the present invention;
[0020] Figure 2 It is a schematic diagram of a base station processing a large-size broadcast packet in an embodiment of the present invention;
[0021] Figure 3 A schematic diagram of the timing of a base station sending a broadcast packet and inquiring about a reception result in an embodiment of the present invention;
[0022] Figure 4 Schematic diagram of an ESL response packet in an embodiment of the present invention;
[0023] Figure 5 A schematic flow chart of a method for sending a broadcast data packet greater than a preset length to a group in an embodiment of the present invention;
[0024] Figure 6 A schematic flow chart of a method for sending a broadcast data packet greater than a preset length to a group in another embodiment of the present invention;
[0025] Figure 7 A schematic flow chart of a method for sending a broadcast data packet greater than a preset length to a group in another embodiment of the present invention;
[0026] Figure 8 It is a schematic diagram of the structure of a first device for sending a broadcast data packet larger than a preset length to a group in an embodiment of the present invention;
[0027] Fig. 9 It is a schematic diagram of the structure of a first device for sending a broadcast data packet larger than a preset length to a group in another embodiment of the present invention;
[0028] Fig.10 It is a schematic diagram of the structure of a first device for sending a broadcast data packet larger than a preset length to a group in another embodiment of the present invention;
[0029] Fig.11 A schematic diagram of the system structure for sending a broadcast data packet larger than a preset length to a group in an embodiment of the present invention;
[0030] Fig.12 A schematic diagram of the system structure for sending a broadcast data packet larger than a preset length to a group in another embodiment of the present invention;
[0031] Fig.13 The figure is a schematic diagram of the structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0032] To make the purpose, technical solution and advantages of the embodiments of the present invention more clear, the embodiments of the present invention are further described in detail below in conjunction with the accompanying drawings. Here, the exemplary embodiments of the present invention and their descriptions are used to explain the present invention, but are not intended to limit the present invention.
[0033] Figure 5 1 is a flow chart of a method for sending a broadcast data packet greater than a preset length to a group in an embodiment of the present invention. The method is applied to a first device, and a plurality of second devices constitute the group. Figure 5As shown, the method comprises the following steps:
[0034] Step 101: when a broadcast data packet longer than a preset length needs to be sent to the group, the broadcast data packet to be sent is split into a plurality of sub-data packets according to the overall length of the broadcast data packet to be sent and the length of the preset split sub-data packets;
[0035] Step 102: according to the number of sub-data packets into which the broadcast data packet to be sent is split and the length of the sub-data packets that can be accommodated by the preset sending time slot length, the number of sending time slot groups required to be occupied by sending the broadcast data packet to be sent is determined; according to the number of sending time slot groups, the sub-data packets are divided into multiple sub-groups in time sequence; a sending synchronization frame of a synchronization cycle includes a group of sending time slots, each sending time slot accommodates a sub-group of data packets; the sub-data packets accommodated in all sending time slots corresponding to each broadcast data packet to be sent form a group of data packets; a synchronization frame header indication packet of each group of data packets is sent at the front of each time slot of the group; the synchronization frame header indication packet is used to indicate the subsequent continuous sending of multiple sub-data packets;
[0036] Step 103: Send the sub-data packets to the group in the time slots of different sub-groups corresponding to each synchronization cycle; each second device is used to receive the sub-data packets in the synchronization frame time slot corresponding to the group where it is registered when multiple sub-data packets are subsequently sent continuously according to the synchronization frame header indication packet.
[0037] In the method for sending a broadcast data packet longer than a preset length to a group provided by an embodiment of the present invention, a plurality of second devices constitute the group, and when working: when a broadcast data packet longer than a preset length needs to be sent to the group, the broadcast data packet to be sent is split into a plurality of sub-data packets according to the overall length of the broadcast data packet to be sent and the length of the preset split sub-data packets; the number of transmission time slot groups required for sending the broadcast data packet to be sent is determined according to the number of sub-data packets into which the broadcast data packet to be sent is split and the length of the sub-data packets that can be accommodated by the preset transmission time slot length; according to the number of transmission time slot groups, the sub-data packets are divided into a plurality of sub-groups in time sequence, and a transmission synchronization frame of a synchronization cycle includes a group Sending time slots, each sending time slot accommodates a subgroup of data packets, and the subdata packets accommodated in all sending time slots corresponding to each broadcast data packet to be sent form a group of data packets, and a synchronization frame header indication packet of the group is sent at the front of each time slot of each group of data packets, and the synchronization frame header indication packet is used to indicate the subsequent continuous sending of multiple subdata packets; the subdata packets are sent to the group in the time slots of different subgroups corresponding to each synchronization cycle; each second device is used to receive the subdata packets in the synchronization frame time slot corresponding to the group where it is registered when multiple subdata packets are subsequently sent continuously according to the indication of the synchronization frame header indication packet, so as to realize the efficient sending of broadcast data packets greater than a preset length to the group in high-density wireless communication scenarios.
[0038] The method of sending a broadcast data packet larger than a preset length to a group is described in detail below.
[0039] In order to better understand how to implement the present invention, the following description is made by taking an example in which a base station sends a broadcast data packet greater than a preset length to a group of electronic price tags.
[0040] The digitization of retail supermarkets can help improve the work efficiency of retail managers. Electronic price tags are gradually being used more and more as a key implementation of the digitization of goods. The usage scenarios of electronic price tags have the characteristics of high-density wireless communication. In this scenario, there is a need to broadcast the same data packet to all electronic price tags, such as upgrading the firmware of all electronic price tags, upgrading new functions, etc. How to efficiently complete the broadcast of this ultra-long data packet (broadcast data packet greater than the preset length, such as a data packet greater than 1500 bytes) in this high-density wireless communication scenario (high density means that there may be dozens or even more than one hundred wireless terminal devices (second devices), such as electronic price tags, per square meter) is a challenge.
[0041] At present, when the base station needs to send the same large amount of data to all electronic price tags in a group, the efficiency is very low. For example, when sending a firmware upgrade package to all ESLs (electronic price tags), the amount of data transmitted may exceed 100KB. The current PAWR (Periodical Advertising with Response) protocol of the low-power Bluetooth protocol does not support broadcasting such a large amount of data. If each electronic price tag is upgraded by point-to-point transmission, the efficiency is very low. It is necessary to add a new protocol solution to solve this problem.
[0042] In view of the above technical problems, an embodiment of the present invention provides a method for sending a broadcast data packet longer than a preset length to a group. The method is a method for sending a broadcast data packet longer than a preset length to a group. The method is based on a method for group-divided time slot continuous broadcast centralized query, which solves the pain point of efficiently broadcasting ultra-long data packets in high-density wireless communication scenarios. Figures 1 to 4 A detailed introduction is given. Figure 1 Format definition diagram of the ExtendAdv package in an embodiment of the present invention; Figure 2 It is a schematic diagram of a base station processing a large-size broadcast packet in an embodiment of the present invention;
[0043] Figure 3 A schematic diagram of the timing of a base station sending a broadcast packet and inquiring about a reception result in an embodiment of the present invention; Figure 4 Schematic diagram of an ESL response packet in an embodiment of the present invention.
[0044] In one embodiment, the first device is a base station, the second device is an electronic price tag, and the group includes multiple electronic price tags; each group of sub-data packets is a data packet that an electronic price tag needs to receive. Of course, in the embodiment of the present invention, the first device and the second device can be not only a base station and an electronic price tag scenario used in a supermarket environment, but also other wireless communication scenarios, as long as it meets the need to broadcast the transmission of ultra-large data packets greater than 1500 bytes, and there may be dozens or even more than one hundred wireless terminal devices per square meter.
[0045] When the embodiment of the present invention is working: when a broadcast data packet greater than a preset length needs to be sent to multiple electronic price tags, according to the total length of the broadcast data packet to be sent (for example Figure 2 The total length is 128Kbytes), and the length of the pre-set split sub-packets (e.g. Figure 2 128 bytes in the packet), split the broadcast packet to be sent into several sub-packets (for example Figure 2 1000 packets in: P0-P999); according to the number of sub-packets into which the broadcast data packet to be sent is split (1000), and the length of the sub-packets that can be accommodated by the preset transmission time slot length (such as Figure 2 A time slot (100ms) can accommodate 200 packets), determine the sending time slot that needs to be occupied by sending the broadcast data packet to be sent (such as Figure 2 The 5 time slots shown: time slot 0-time slot 4) group number (such as Figure 3 Each cycle shown corresponds to a group of time slots, for example, cycle 0 to cycle N each corresponds to multiple time slots), according to the number of transmission time slot groups (such as Figure 3 The five transmission time slots corresponding to the period 0 to the period 4 shown in the figure are divided into multiple sub-groups according to the time sequence (for example Figure 3 The 5 subgroups shown are: the first subgroup is: P0-P199, the second subgroup is P200-P399,... the fourth subgroup is P800-P999, and these 5 subgroups constitute a group, for example Figure 3 grp-1 shown, that is, all the transmission time slots corresponding to a broadcast data packet to be sent (i.e., for example Figure 3 The sub-data packets (P0-P199, P200-P399, ... P800-P999) contained in the first transmission time slot in cycle 0-cycle 4 are a group, and each group of corresponding sub-data packets is a data packet that an electronic price tag needs to receive, and which electronic price tag specifically receives this group), a synchronization cycle (for example Figure 3 The transmission synchronization frame of any of the cycles 0 to 4 shown in the figure) includes a group of transmission time slots, each of which accommodates a subgroup of data packets (for example Figure 3The first transmission time slot in cycle 0 in the synchronization cycle accommodates the data packets of the first subgroup P0-P199). In one embodiment, when the broadcast data packet is first transmitted, the sub-data packets transmitted by each subgroup in the time slots corresponding to different subgroups in the same synchronization cycle are the same (e.g. Figure 3 As shown, in the time slots of different subgroups in cycle 0, the sub-data packets sent by each subgroup are all the data packets of the first subgroup P0-P199, and the same is true for other cycles), that is, the sub-data packets sent by each subgroup during the new transmission are the same. If retransmission is performed based on the packet loss feedback of the price tag, each subgroup retransmits the union of the price tag lost packets in the subgroup, so the packets retransmitted by each subgroup will be different. The synchronization frame header indication packet of the group (such as each subgroup at the head of the time slot) is sent at the front of each time slot of each group of data packets (such as Figure 3 Sync For grp1TX or Sync For grp 2TX, etc.), the synchronization frame header indication packet is used to indicate the subsequent continuous sending of multiple sub-data packets; when the flag of the preset synchronization frame header indication packet is the sending flag, the sub-data packets are sent to multiple electronic price tags in the time slots of different sub-groups corresponding to each synchronization cycle; each electronic price tag is used to receive the sub-data packets in the time slot of the synchronization frame corresponding to the group where it is registered (for example, grp 1, the data packet corresponding to group 1 is received by the electronic price tag identified as 0001) when receiving the synchronization indication frame indicating the subsequent continuous sending of multiple sub-data packets. When each electronic price tag receives the synchronization indication frame indicating that there is an extra-long broadcast data packet, it continuously receives the time slot length corresponding to the group, which can realize the efficient sending of broadcast data packets greater than the preset length to the group in high-density wireless communication scenarios.
[0046] In specific implementation, in the frame structure of the embodiment of the present invention, the synchronization frames of a synchronization cycle are evenly allocated with time slots according to multiple groups, and each group sends the synchronization frame header indication packet of this group at the head of its corresponding time slot. For this scenario, the embodiment of the present invention adds a new command to the ESL service, named ExtendAdv. The synchronization frame header indication packet can indicate the subsequent continuous sending of multiple data packets through the command word ExtendAdv. Multiple consecutive synchronization frames send data packets split from the extra-long data packet after the synchronization indication frame of each group until the extra-long data packet is sent. In the new synchronization frame, the synchronization indication frames of the consecutive multiple frames ask whether the multiple electronic price tags in each group are successfully received.
[0047] In specific implementation, the existing PAWR frame structure, i.e., the existing transmission method, can only support short packets, i.e., broadcast packets with a length not exceeding 48 bytes. However, the method provided by the embodiment of the present invention for sending a broadcast data packet with a length greater than a preset length to a group can support the transmission of broadcast data packets with a length exceeding 1500 bytes, or even broadcast packets with a length of several hundred kbytes, and also supports receiving responses from corresponding electronic price tags as to whether the super-long broadcast has been received, so as to further perform retransmission and improve the transmission reliability of super-long broadcast data packets.
[0048] like Figure 1 As shown, the parameters of this ExtendAdv may include: send or query flag (such as Figure 1 The command flag in the command is Cmd flag, TX or req). If it is a send flag (such as Figure 1 TX in the packet), the subsequent parameters may include the total number of packets, the length of each packet, and the number of packets sent at each periodic interval. That is, in one embodiment, if the synchronization frame header indication packet includes a sending flag, the subsequent parameters of the synchronization frame header indication packet include: the identifier of the data packet group (e.g. Figure 1 The Session ID in the frame header, the number of packets contained in each time slot, the length of each packet, and the number of packets sent and received by each electronic price tag in each synchronization cycle can ensure the integrity of data transmission. If the synchronization frame header indicates that the packet includes an inquiry flag (such as Figure 1 req), the subsequent parameters may include the ESL Address (electronic price tag address) of the query, and of course, the ESL ID (electronic price tag identifier), the identifier of the data packet group (for example Figure 1 Session ID).
[0049] When the base station has a broadcast packet of a larger size (larger than the preset length of the broadcast packet) that needs to be sent to all ESLs in a group, the length of a packet and the number of packets that can be placed in a time slot are determined according to the length of the data that can be placed in the synchronization time slot length (preset transmission time slot length) (the length of the sub-packet that can be accommodated), and then the total number of packets required for this broadcast packet and the transmission time slot that needs to be occupied are determined. The maximum length of each packet is 128 bytes, that is, in one embodiment, the maximum length of the preset split sub-packet can be 128 bytes.
[0050] After ExtendAdv is sent, the synchronization slot sends the synchronization packet and then sends an extended broadcast packet. Each packet header indicates the total number of packets and the sequence number of the packet ( Figure 3(not shown), that is, in one embodiment, the header of each sub-data packet includes the number of packets in the group and its own identification in the group. All packets are sent in a continuous period. During this sending process, each ESL does not need to feedback ACK. Then the base station sends the ExtendAdv command packet with the inquiry flag. The frame structure of the specific inquiry command can be seen in Figure 1 In the frame structure corresponding to Cmd flag=req. Such an inquiry command can carry multiple ESL addresses. The queried ESL will return the received packet sequence number bitmap according to the timing of the synchronization frame structure. That is, in one embodiment, if the synchronization frame header indication packet includes an inquiry flag, the subsequent parameters of the synchronization frame header indication packet include the address of each electronic price tag queried; Figure 6 As shown, the method for sending a broadcast data packet greater than a preset length to a group may further include step 104: after the transmission of the plurality of sub-data packets is completed, when the flag of the synchronization frame header indicating the packet is an inquiry flag, according to the address of each electronic price tag, multiple inquiry synchronization frames of multiple synchronization cycles are used to inquire whether all electronic price tags of all groups have successfully received the data packet, and each inquiry synchronization frame (such as Figure 3 The synchronization frame corresponding to each period from period 5 to period N in the above example includes a plurality of transmission time slots ( Figure 3 Multiple response time slots (such as Figure 3 The response time slots in cycle 5 to cycle N, for example Figure 3 In each response time slot, a query flag (such as "ESL ACK ... ESL ACK") is sent at the beginning of each response time slot. Figure 3 The synchronization frame header indication packet of "req" in Figure 3 "Sync For grp-1req" in the packet; each electronic price tag is also used to respond to its own response time slot when receiving a synchronization frame header indication packet indicating that there is an inquiry about the receiving status of its own data packet, and feedback the response message. In the embodiment of the present invention, after the data packet is sent, multiple group query methods are used to obtain whether each receiving price tag has received the entire super-long broadcast packet, that is, the base station performs centralized query through the synchronization indication frame packet with the query mark, and centrally collects the status of all electronic price tags, instead of the electronic price tags feeding back one by one, which improves the efficiency of the electronic price tag reception status query.
[0051] like Figure 3 As shown, when each electronic price tag receives an indication in the synchronization indication frame that inquires about its receiving status, it responds in its own response time slot (such as Figure 3 5, "ESL ACK" in the time slot described in cycle N), such as Figure 4As shown, in the response indication packet structure, each response bit corresponds to whether all adjacent packets are correct (for example Figure 4 As shown in , ACK=1 means that all data packets have been received, otherwise ACK=0 means that at least one packet has not been received). That is, in one embodiment, Figure 6 As shown, the method of sending a broadcast data packet greater than a preset length to a group may also include step 105: for a response message, determining whether the inquiry result is received by using 1 bit corresponding to multiple sub-data packets: if 1 bit corresponds to multiple sub-data packets and at least one data packet is not received, the bit replies with a result of packet loss, which may correspond to 0; if multiple sub-data packets corresponding to 1 bit are all received, the bit replies with a result of confirmation of receipt, which may correspond to 1.
[0052] When implementing it, Figure 4 As shown, in the response message, 1 bit may correspond to the result of whether multiple sub-packets are received correctly or not. If there is one error, all of them are considered wrong, that is, there is a problem with the result of receiving the data packet. Only when several consecutive sub-packets are correct can the feedback be correct. For example, 1 bit corresponds to the confirmation result of whether 25 sub-packets have been received. Among them, at least one sub-packet has not been received. Then, the 1-bit reply confirmation is equal to 0, and the multiple sub-packets corresponding to the 1 bit must be rebroadcasted later; if 1 bit corresponds to 25 sub-packets, all of them are received, then the 1-bit reply confirmation is equal to 1. When there are sub-packets that need to be rebroadcasted later, the multiple sub-data corresponding to the 1 bit do not need to be rebroadcasted, or even if they are rebroadcasted, the electronic price tag finds that the group identifier for the group of sub-packets has previously confirmed that the reception is complete, and the electronic price tag can choose not to receive it.
[0053] In the time slots of different groups in the same synchronization cycle, the data packets sent by each group are exactly the same, such as Figure 3 The packets sent in each sending time slot in any of the cycles 0 to 4 are the same. For example, the data packets sent in each time slot in cycle 0 are 200 data packets of P0-P199. Of course, when retransmitting data packets, each subgroup retransmits the union of the lost packets of the price tags in the subgroup, so the packets retransmitted by each subgroup will be different. Each price tag corresponds to only receiving data packets in the time slot of the synchronization frame corresponding to the group where it is registered. Specifically, each price tag establishes a one-to-one connection with the base station separately, and then performs authentication. Then the base station configures the parameters related to the price tag, performs networking and other operations, and completes the registration. Specifically, the electronic price tag splices multiple data packets according to the packet sequence number until all data packets are received and spliced into an initial complete large data packet.
[0054] Each base station completes the query of all price tags in all groups through multiple synchronization cycles and obtains the packet loss feedback of all price tags. The base station can judge whether to broadcast and query again in the next round based on the result of packet loss of all price tags in each group. That is, in one embodiment, Figure 6 As shown, the method of sending a broadcast data packet greater than a preset length to a group may also include step 106: when it is determined that there is a result of packet loss according to the response message, the next round of broadcast data packets are sent again according to the result of packet loss of all electronic price tags in each group, ensuring that all data are sent successfully, that is, the base station can decide whether to repeat the above sending process according to the confirmation information of the price tag to ensure that all price tags accurately receive all broadcast data packet contents. In one embodiment, when it is determined that there is a result of packet loss according to the response message, the next round of broadcast data packets are sent again according to the result of packet loss of all electronic price tags in each group, including: the result of packet loss, such as the sub-packet union corresponding to the bit equal to 0, is resent to the group in the corresponding sending time slot; the electronic price tag corresponding to the corresponding sending time slot receives the resent sub-packet. When the broadcast data is retransmitted, the session ID (group number: the identifier of the group) does not change, and the price tags that have been received can choose not to receive them repeatedly. If the result of the same session ID is queried, the ACK (confirmation) fed back by the price tag is all successful, that is, in one embodiment, when it is determined that there is a packet loss result based on the response message, the next round of broadcast data packets are sent again according to the packet loss results of all electronic price tags in each group, including: when it is determined that the broadcast data packet needs to be retransmitted based on the packet loss feedback result, the identifier of the data packet group is kept unchanged; wherein, the electronic price tag that has been received is also used to: choose not to receive the data packet repeatedly, if the packet loss feedback result of the identifier of the same data packet group is queried, the confirmation fed back by the electronic price tag is all successful, thereby improving the efficiency of rebroadcasting overlong data packets and inquiring about the receiving status.
[0055] In one embodiment, Figure 7 As shown, the method for sending a broadcast data packet longer than a preset length to a group may further include step 107: dynamically adjusting the length of the preset split sub-data packet and the length of the sub-data packet that can be accommodated by the preset transmission time slot length.
[0056] In specific implementation, sub-packets with different lengths or time slots can be split dynamically. The length of the preset split sub-packet and the length of the sub-packet that can be accommodated by the preset sending time slot length can be dynamically adjusted according to scene changes, thereby improving the system's performance in adapting to scenes.
[0057] To sum up, for sending very large broadcast data packets, firstly, the embodiment of the present invention not only splits the broadcast data packets to be sent, but also completes the transmission method in the time window corresponding to the sub-synchronization event through the inherent frame structure, that is, the sub-data packet is sent in each sending time slot in the synchronization frame of a synchronization cycle; secondly, the existing data packet broadcasting method does not have a feedback method for whether it is received. After the embodiment of the present invention completes the sending of multiple packets, it will perform a group inquiry through the time period of the sub-synchronization event, and then retransmit it according to the union of the lost packets, thereby improving the accuracy of data packet transmission.
[0058] The embodiment of the present invention also provides a first device for sending a broadcast data packet longer than a preset length to a group, as described in the following embodiment. Since the principle of solving the problem by the first device is similar to the method for sending a broadcast data packet longer than a preset length to a group, the implementation of the first device can refer to the implementation of the method for sending a broadcast data packet longer than a preset length to a group, and the repeated parts will not be repeated.
[0059] Figure 8 Schematic diagram of the structure of a first device for sending a broadcast data packet greater than a preset length to a group in an embodiment of the present invention, wherein a plurality of second devices constitute the group, such as Figure 8 As shown, the first device includes:
[0060] The splitting unit 11 is used for splitting the broadcast data packet to be sent into a plurality of sub-data packets according to the overall length of the broadcast data packet to be sent and the length of the preset split sub-data packets when a broadcast data packet longer than a preset length needs to be sent to the group;
[0061] The determining unit 12 is used to determine the number of transmission time slot groups required to be occupied for sending the broadcast data packet to be sent according to the number of sub-data packets into which the broadcast data packet to be sent is split and the length of the sub-data packets that can be accommodated by the preset transmission time slot length, and divide the sub-data packets into multiple sub-groups in time sequence according to the number of transmission time slot groups, wherein a transmission synchronization frame of a synchronization cycle includes a group of transmission time slots, each transmission time slot accommodates a sub-group of data packets, and the sub-data packets accommodated in all transmission time slots corresponding to each broadcast data packet to be sent are a group of data packets, and a synchronization frame header indication packet of the group is sent at the front of each time slot of each group of data packets, and the synchronization frame header indication packet is used to indicate the subsequent continuous sending of multiple sub-data packets;
[0062] The sending unit 13 is used to send the sub-data packets to the group in the time slots of different sub-groups corresponding to each synchronization period; each second device is used to receive the sub-data packets in the synchronization frame time slot corresponding to the group in which it is registered when multiple sub-data packets are subsequently sent continuously according to the synchronization frame header indication packet.
[0063] In one embodiment, the first device is a base station, the second device is an electronic price tag, the group includes a plurality of electronic price tags; each group of data packets is a data packet that an electronic price tag needs to receive.
[0064] In one embodiment, if the synchronization frame header indication packet includes an inquiry flag, subsequent parameters of the synchronization frame header indication packet include the address of each electronic price tag to be inquired;
[0065] like Fig. 9 As shown, the first device for sending a broadcast data packet greater than a preset length to a group may also include: an inquiry unit 14, which is used to inquire whether all electronic price tags in all groups have successfully received the data packet through multiple inquiry synchronization frames of multiple synchronization cycles according to the address of each electronic price tag after the sending of multiple sub-data packets is completed, when the flag of the synchronization frame header indication packet is an inquiry flag, each inquiry synchronization frame includes multiple response time slots corresponding to multiple transmission time slots, and a synchronization frame header indication packet including an inquiry flag is sent at the front of each response time slot; each electronic price tag is also used to respond to its own response time slot when receiving a synchronization frame header indication packet indicating that there is an inquiry about the reception status of its own data packet, and feed back a response message.
[0066] In one embodiment, Fig. 9 As shown, the first device for sending a broadcast data packet greater than a preset length to a group may also include a receiving status judgment unit 15, which is used to: for a response message, determine whether the inquiry result is received by means of 1 bit corresponding to multiple sub-data packets: if at least one data packet among the multiple sub-data packets corresponding to 1 bit is not received, the bit reply is equal to 0; if all the multiple sub-data packets corresponding to one bit are received, the bit reply is equal to 1.
[0067] In one embodiment, Fig. 9 As shown, the first device may further include a retransmission unit 16, which is used to: when it is determined according to the response message that there is a packet loss result, resend the broadcast data packet in the next round according to the packet loss result of all the electronic price tags in each group.
[0068] In one embodiment, the above-mentioned retransmission unit is specifically used for: when it is determined that the broadcast data packet needs to be retransmitted based on the packet loss feedback result, the union of the sub-data packets corresponding to the result bits replied as packet loss are retransmitted to the group in the corresponding sending time slot; the electronic price tag corresponding to the corresponding sending time slot receives the retransmitted sub-data packet.
[0069] In one embodiment, the retransmission unit is specifically used to: when it is determined that the broadcast data packet needs to be retransmitted based on the packet loss feedback result, keep the identifier of the data packet group unchanged; wherein, the electronic price tag that has been received is also used to: choose not to receive the data packet repeatedly, and if the packet loss feedback result of the same data packet group identifier is asked, the electronic price tag feedback confirmation is all successful.
[0070] In one embodiment, Fig.10 As shown, the first device may further include: a dynamic adjustment unit 17, configured to dynamically adjust the length of the preset split sub-data packet and the length of the sub-data packet that can be accommodated by the preset transmission time slot length.
[0071] In one embodiment, the maximum length of the preset split sub-data packet is 128 Bytes.
[0072] In one embodiment, when a broadcast data packet is sent for the first time, the sub-data packets sent by each sub-group in the time slots corresponding to different sub-groups in the same synchronization cycle are the same.
[0073] In one embodiment, if the synchronization frame header indication packet includes a sending flag, subsequent parameters of the synchronization frame header indication packet include: an identifier of the data packet group, the number of packets accommodated in each time slot, the length of each packet, and the number of sent packets that each electronic price tag needs to receive in each synchronization cycle.
[0074] In one embodiment, the header of each sub-data packet includes its packet number in the group and its own identification in the group.
[0075] The embodiment of the present invention also provides a system for sending a broadcast data packet longer than a preset length to a group, as described in the following embodiment. Since the principle of solving the problem by the system is similar to the method for sending a broadcast data packet longer than a preset length to a group, the implementation of the system can refer to the implementation of the method for sending a broadcast data packet longer than a preset length to a group, and the repeated parts will not be repeated.
[0076] Fig.11 FIG. 1 is a schematic diagram of a system structure for sending a broadcast data packet larger than a preset length to a group in an embodiment of the present invention. Fig.11 As shown, the system includes: at least one first device 1 as described above, and a group consisting of multiple second devices 2, wherein: each second device is used to receive sub-data packets in the synchronization frame time slot corresponding to the group in which it is registered when multiple sub-data packets are subsequently sent continuously according to the synchronization frame header indication packet.
[0077] Fig.12This is a schematic diagram of the system structure for sending a broadcast data packet greater than a preset length to a group in another embodiment of the present invention. In one embodiment, the first device is a base station, the second device is an electronic price tag, and the group includes multiple electronic price tags; each group of data packets is a data packet that an electronic price tag needs to receive.
[0078] Based on the above invention concept, Fig.13 FIG. 1 is a schematic diagram of a computer device structure according to an embodiment of the present invention. Fig.13 As shown, the present invention also proposes a computer device 500, including a memory 510, a processor 520, and a computer program 530 stored in the memory 510 and executable on the processor 520, wherein the processor 520 implements the aforementioned method of sending a broadcast data packet greater than a preset length to a group when executing the computer program 530.
[0079] An embodiment of the present invention further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method of sending a broadcast data packet greater than a preset length to a group is implemented.
[0080] An embodiment of the present invention further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the method of sending a broadcast data packet greater than a preset length to a group is implemented.
[0081] In the scheme for sending a broadcast data packet longer than a preset length to a group provided by an embodiment of the present invention, a plurality of second devices constitute the group. The scheme is as follows: when a broadcast data packet longer than a preset length needs to be sent to the group, the broadcast data packet to be sent is split into a plurality of sub-data packets according to the overall length of the broadcast data packet to be sent and the length of the preset split sub-data packets; the number of transmission time slot groups required for sending the broadcast data packet to be sent is determined according to the number of sub-data packets into which the broadcast data packet to be sent is split and the length of the sub-data packets that can be accommodated by the preset transmission time slot length; the sub-data packets are divided into a plurality of sub-groups in time sequence according to the number of transmission time slot groups; a transmission synchronization frame of a synchronization cycle includes a The invention discloses a method for transmitting a data packet in a group of transmission time slots, wherein each transmission time slot accommodates a sub-group of data packets, and each sub-data packets accommodated in all transmission time slots corresponding to each broadcast data packet to be transmitted constitute a group of data packets, and a synchronization frame header indication packet of the group is sent at the front of each time slot of each group of data packets, and the synchronization frame header indication packet is used to indicate the subsequent continuous transmission of multiple sub-data packets; the sub-data packets are sent to the group in the time slots of different sub-groups corresponding to each synchronization cycle; each second device is used to receive the sub-data packets in the synchronization frame time slot corresponding to the group where it is registered when multiple sub-data packets are subsequently transmitted continuously according to the indication of the synchronization frame header indication packet, so as to realize the efficient sending of broadcast data packets greater than a preset length to the group in a high-density wireless communication scenario.
[0082] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0083] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks 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 produce 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.
[0084] 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 comprising 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.
[0085] 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. Figure 1 A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0086] The specific embodiments described above further illustrate the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above description is only a specific embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.
Claims
1. A method for sending a broadcast data packet greater than a preset length to a group, characterized in that: The method is applied to a first device, and a plurality of second devices constitute the group, comprising: When a broadcast data packet longer than a preset length needs to be sent to the group, the broadcast data packet to be sent is split into a plurality of sub-data packets according to the overall length of the broadcast data packet to be sent and the length of the preset sub-data packets to be split; According to the number of sub-data packets into which the broadcast data packet to be sent is split, and the length of the sub-data packets that can be accommodated by the preset sending time slot length, the number of sending time slot groups required to be occupied by sending the broadcast data packet to be sent is determined; according to the number of sending time slot groups, the sub-data packets are divided into multiple sub-groups in time sequence; a sending synchronization frame of a synchronization cycle includes a group of sending time slots, each sending time slot accommodates a sub-group of data packets; the sub-data packets accommodated in all sending time slots corresponding to each broadcast data packet to be sent form a group of data packets; a synchronization frame header indication packet of each group of data packets is sent at the front of each time slot of the group, and the synchronization frame header indication packet is used to indicate the subsequent continuous sending of multiple sub-data packets; The sub-data packets are sent to the group in the time slots of different sub-groups corresponding to each synchronization cycle; each second device is used to receive the sub-data packets in the synchronization frame time slot corresponding to the group where it is registered when multiple sub-data packets are subsequently sent continuously according to the synchronization frame header indication packet.
2. The method according to claim 1, characterized in that The first device is a base station, the second device is an electronic price tag, the group includes a plurality of electronic price tags; each group of data packets is a data packet that an electronic price tag needs to receive.
3. The method according to claim 2, characterized in that If the synchronization frame header indication packet includes an inquiry flag, the subsequent parameters of the synchronization frame header indication packet include the address of each electronic price tag inquired; The method for sending a broadcast data packet longer than a preset length to a group also includes: after multiple sub-data packets are sent, when the flag of the synchronization frame header indication packet is an inquiry flag, based on the address of each electronic price tag, multiple inquiry synchronization frames of multiple synchronization cycles are used to inquire whether all electronic price tags in all groups have successfully received the data packet, each inquiry synchronization frame includes multiple response time slots corresponding to multiple transmission time slots, and a synchronization frame header indication packet including an inquiry flag is sent at the front of each response time slot; each electronic price tag is also used to respond to its own response time slot when receiving a synchronization frame header indication packet indicating that there is an inquiry about the reception status of its own data packet, and feed back a response message.
4. The method according to claim 3, characterized in that It also includes: for the response message, judging whether the inquiry result is received by means of 1 bit corresponding to multiple sub-data packets: if at least one data packet among the multiple sub-data packets corresponding to 1 bit is not received, the bit replies with the result of packet loss; if all the multiple sub-data packets corresponding to one bit are received, the bit replies with the result of confirmation of receipt.
5. The method according to claim 4, characterized in that Also includes: When it is determined according to the response message that there is a packet loss result, the next round of broadcast data packets are sent again according to the packet loss results of all the electronic price tags in each group.
6. The method according to claim 5, characterized in that When it is determined based on the response message that there is a packet loss result, the next round of re-sending the broadcast data packet is performed based on the packet loss results of all the electronic price tags in each group, including: when it is determined based on the packet loss feedback result that the broadcast data packet needs to be retransmitted, the union of the sub-data packets corresponding to the result bits replied as packet loss are retransmitted to the group in the corresponding sending time slot; the electronic price tag corresponding to the corresponding sending time slot receives the retransmitted sub-data packet.
7. The method according to claim 5, characterized in that When it is determined that there is a packet loss result based on the response message, the next round of broadcast data packets are sent again based on the packet loss results of all electronic price tags in each group, including: when it is determined that the broadcast data packet needs to be retransmitted based on the packet loss feedback result, the identifier of the data packet group is kept unchanged; wherein the electronic price tag that has been received is also used to: choose not to receive the data packet repeatedly, and if the packet loss feedback result of the same data packet group identifier is asked, the confirmation of the electronic price tag feedback is all successful.
8. The method according to claim 1, characterized in that Also includes: The length of the preset split sub-data packet and the length of the sub-data packet that can be accommodated by the preset sending time slot length are dynamically adjusted.
9. The method according to claim 1, characterized in that When a broadcast data packet is sent for the first time, the sub-data packets sent by each sub-group in the time slots corresponding to different sub-groups in the same synchronization cycle are the same.
10. The method according to claim 2, characterized in that If the synchronization frame header indication packet includes a sending flag, subsequent parameters of the synchronization frame header indication packet include: an identifier of the data packet group, the number of packets accommodated in each time slot, the length of each packet, and the number of packets sent and received by each electronic price tag in each synchronization cycle.
11. The method according to claim 1, characterized in that The header of each sub-data packet includes its packet number in the group and its own identifier in the group.
12. A first device for sending a broadcast data packet greater than a preset length to a group, characterized in that: The first device and a plurality of second devices constitute the group, and the first device includes: a splitting unit, configured to split the broadcast data packet to be sent into a plurality of sub-data packets according to the overall length of the broadcast data packet to be sent and the length of the preset split sub-data packets when a broadcast data packet longer than a preset length needs to be sent to the group; A determination unit, used to determine the number of transmission time slot groups required to be occupied for sending the broadcast data packet to be sent according to the number of sub-data packets into which the broadcast data packet to be sent is split and the length of the sub-data packets that can be accommodated by the preset transmission time slot length, and to divide the sub-data packets into multiple sub-groups in time sequence according to the number of transmission time slot groups, wherein a transmission synchronization frame of a synchronization cycle includes a group of transmission time slots, each transmission time slot accommodates a sub-group of data packets, and the sub-data packets accommodated in all transmission time slots corresponding to each broadcast data packet to be sent are a group of data packets, and a synchronization frame header indication packet of the group is sent at the front of each time slot of each group of data packets, and the synchronization frame header indication packet is used to indicate the subsequent continuous sending of multiple sub-data packets; A sending unit is used to send sub-data packets to the group in time slots of different sub-groups corresponding to each synchronization cycle; each second device is used to receive sub-data packets in the synchronization frame time slot corresponding to the group where it is registered when multiple sub-data packets are subsequently sent continuously according to the synchronization frame header indication packet.
13. The first device according to claim 12, characterized in that The first device is a base station, the second device is an electronic price tag, the group includes a plurality of electronic price tags, and each group of data packets is a data packet that an electronic price tag needs to receive.
14. A system for sending a broadcast data packet greater than a preset length to a group, characterized in that: include: A group consisting of at least one first device as described in claim 12 or 13, and multiple second devices; wherein: each second device is used to receive sub-data packets in the synchronization frame time slot corresponding to the group in which it is registered when multiple sub-data packets are subsequently sent continuously according to the synchronization frame header indication packet.
15. A computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the method according to any one of claims 1 to 11 is implemented.
16. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 11 is implemented.
17. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 11 is implemented.
Citation Information
Patent Citations
ESLS-based synchronization network construction method, device and equipment, and storage medium
CN110602660A
Software updating method, Bluetooth device and storage medium
CN114827967A
Data transmission fault-tolerant scheduling method, device and system based on BLE-UWB and medium
CN116260554A
Method and system for querying and answering group electronic price tags
CN116782337A
Group communication method and device, base station, group communication system and medium
CN118201045A
Cited By
Method, device and system for sending to group broadcast data packet having length greater than preset length
WO2026051279A1
