Method, device and system for sending a broadcast data packet greater than a preset length to a group
By splitting broadcast data packets into sub-data packets and sending them in time slots within the synchronization period, combined with synchronization frame header indication and query frame confirmation, the problem of low transmission efficiency of large data packets in high-density wireless communication is solved, and efficient and reliable data packet transmission and reception status query are achieved.
Patent Information
- Application Number
- CN202411244958.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-05
- Publication Date
- 2025-11-11
- Estimated Expiration
- 2044-09-05
AI Technical Summary
In high-density wireless communication scenarios, existing technologies struggle to efficiently send broadcast data packets longer than a preset length to multiple device groups, especially under the Bluetooth Low Energy protocol, where transmission efficiency is low and cannot support broadcasting large amounts of data.
Broadcast data packets are split into multiple sub-data packets and sent in a time-slot manner within a synchronization period. Each sub-data packet is sent in its corresponding time slot. The synchronization frame header indicates subsequent continuous transmission. The receiving device receives the corresponding sub-data packets in the specified time slot and confirms the reception status through multiple periodic interrogation frames. Retransmission is then performed to ensure integrity.
It enables efficient transmission of broadcast data packets longer than a preset length to groups in high-density wireless communication scenarios, improving transmission efficiency and reliability, supporting data packet transmission of more than 1500 bytes, and optimizing the efficiency of querying the reception status.
Smart Images

Figure CN119136151B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of wireless communication technology, and in particular to a method, apparatus, and system for sending broadcast data packets of a length greater than a preset value to a group. Background Technology
[0002] This section is intended to provide background or context for the embodiments of the invention set forth in the claims. The description herein is not an admission that it is prior art simply because it is included in this section.
[0003] Currently, some types of electronic devices are used in scenarios characterized by high-density wireless communication. 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 or adding new features. How to efficiently complete the broadcast of this ultra-long data packet in this high-density wireless communication scenario presents a challenge.
[0004] The current version is very inefficient when the first device needs to send the same large amount of data to a group of second devices. For example, when sending an upgrade package to a group of second devices, the amount of data transmitted may exceed 100KB, and the current Bluetooth Low Energy protocol does not support broadcasting such a large amount of data. Upgrading by transmitting the data individually to each second device point-to-point is extremely inefficient. It is necessary to add a new protocol solution to address this problem. Summary of the Invention
[0005] This invention provides a method for sending broadcast data packets longer than a preset length to a group. The method is applied to a first device, and multiple second devices constitute the group, to efficiently send broadcast data packets longer than a preset length to the group in a high-density wireless communication scenario. The method includes:
[0006] When there are broadcast data packets of a length greater than the preset length that need to be sent to the group, the broadcast data packets to be sent are split into multiple sub-data packets according to the total length of the broadcast data packets to be sent and the preset length of the sub-data packets;
[0007] Based on the number of sub-data packets to be split into and the length of the sub-data packets that can be accommodated by the preset transmission time slot length, the number of transmission time slot groups required to transmit the broadcast data packets to be transmitted is determined. Based on the number of transmission time slot groups, the sub-data packets are divided into multiple sub-groups according to the time sequence. The transmission synchronization frame of a synchronization period includes a set of transmission time slots. Each transmission time slot accommodates a sub-group of data packets. All the sub-data packets accommodated in the transmission time slots corresponding to each broadcast data packet to be transmitted constitute a set of data packets. The synchronization frame header indication packet of the set is sent at the beginning of each time slot of each set of data packets. The synchronization frame header indication packet is used to indicate the subsequent continuous transmission of multiple sub-data packets.
[0008] The sub-data packets are sent to the group in the time slots of different subgroups corresponding to each synchronization period; each second device is used to receive the sub-data packets in the time slots of the synchronization frame corresponding to its registered group when multiple sub-data packets are sent continuously according to the synchronization frame header indication packet.
[0009] This invention also provides a first apparatus for sending broadcast data packets longer than a preset length to a group, wherein a plurality of second apparatuses constitute the group, for realizing efficient sending of broadcast data packets longer than a preset length to the group in a high-density wireless communication scenario, the first apparatus comprising:
[0010] The splitting unit is used to split the broadcast data packet to be sent into multiple sub-data packets according to the total length of the broadcast data packet to be sent and the preset length of the sub-data packets when there is a broadcast data packet of a length greater than a preset length to be sent to the group.
[0011] The determining unit is used to determine the number of transmission time slots required to transmit the broadcast data packet to be transmitted based on the number of sub-data packets to be split into and the length of the sub-data packets that can be accommodated by the preset transmission time slot length. Based on the number of transmission time slots, the sub-data packets are divided into multiple sub-groups in time sequence. The transmission synchronization frame of a synchronization period includes a set of transmission time slots. Each transmission time slot accommodates a sub-group of data packets. All the sub-data packets accommodated in the transmission time slots corresponding to each broadcast data packet to be transmitted constitute a set of data packets. The synchronization frame header indication packet of the set is sent at the beginning of each time slot of each set of data packets. The synchronization frame header indication packet is used to indicate the subsequent continuous transmission of multiple sub-data packets.
[0012] The sending unit is used to send the sub-data packets to the group in the time slots of different subgroups corresponding to each synchronization period; each second device is used to receive the sub-data packets in the time slots of the synchronization frame corresponding to its registered group when the synchronization frame header indication packet indicates that multiple sub-data packets will be sent continuously in the future.
[0013] This invention also provides a system for sending broadcast data packets of a length greater than a preset value to a group, comprising: at least one first device as described above, and a group consisting of a plurality of second devices; wherein: each second device is configured to receive sub-data packets within the time slot of the synchronization frame corresponding to its registered group when, according to the synchronization frame header indication packet, a plurality of sub-data packets are subsequently sent continuously.
[0014] This invention also provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the above-described method for sending broadcast data packets of a length greater than a preset value to a group.
[0015] This invention also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the method described above for sending broadcast data packets of a length greater than a preset value to a group.
[0016] This invention also provides a computer program product, which includes a computer program that, when executed by a processor, implements the method described above for sending broadcast data packets of a length greater than a preset value to a group.
[0017] In the scheme for sending broadcast data packets longer than a preset length to a group provided by this invention embodiment, multiple second devices constitute the group. The scheme proceeds as follows: when a broadcast data packet longer than the preset length needs to be sent to the group, the broadcast data packet to be sent is divided into multiple sub-data packets according to the total length of the broadcast data packet to be sent and the preset length of the sub-data packets; based on the number of sub-data packets to be split into and the length of the sub-data packets that can be accommodated by the preset transmission time slot length, the number of transmission time slot groups required to send the broadcast data packet to be sent is determined; based on the number of transmission time slot groups, the sub-data packets are divided into multiple subgroups according to the time sequence, and a transmission synchronization frame of one synchronization period includes one... The system comprises a group of transmission time slots, each of which contains a subgroup of data packets. All the subgroup data packets contained in the transmission time slots corresponding to each broadcast data packet to be transmitted constitute a group of data packets. At the beginning of each time slot of each group of data packets, a synchronization frame header indication packet is transmitted. This synchronization frame header indication packet indicates that multiple subgroup data packets will be transmitted consecutively thereafter. Subgroup data packets are transmitted to the group within the time slots corresponding to different subgroups in each synchronization period. Each second device is used to receive the subgroup data packets within the synchronization frame time slot corresponding to its registered group when multiple subgroup data packets are transmitted consecutively according to the synchronization frame header indication packet. This enables efficient transmission of broadcast data packets longer than a preset length to the group in high-density wireless communication scenarios. Attached Figure Description
[0018] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. In the drawings:
[0019] Figure 1 This is a diagram illustrating the format definition of the ExtendAdv package in an embodiment of the present invention;
[0020] Figure 2 This is a schematic diagram of a base station processing large broadcast packets in an embodiment of the present invention;
[0021] Figure 3 This is a timing diagram illustrating the base station sending broadcast packets and querying reception results in an embodiment of the present invention;
[0022] Figure 4 This is a schematic diagram of an ESL response packet in an embodiment of the present invention;
[0023] Figure 5 This is a schematic diagram of the method for sending broadcast data packets longer than a preset length to a group in an embodiment of the present invention;
[0024] Figure 6 This is a schematic flowchart of a method for sending broadcast data packets longer than a preset length to a group according to another embodiment of the present invention;
[0025] Figure 7 This is a schematic flowchart of a method for sending broadcast data packets longer than a preset length to a group in another embodiment of the present invention;
[0026] Figure 8 This is a schematic diagram of the first device for sending broadcast data packets longer than a preset length to a group in an embodiment of the present invention;
[0027] Figure 9 This is a schematic diagram of the structure of a first device for sending broadcast data packets of a preset length to a group, according to another embodiment of the present invention.
[0028] Figure 10 This is a schematic diagram of the structure of a first device for sending broadcast data packets of a preset length to a group in another embodiment of the present invention;
[0029] Figure 11 This is a schematic diagram of the system structure for sending broadcast data packets longer than a preset length to a group in an embodiment of the present invention;
[0030] Figure 12 This is a schematic diagram of a system structure for sending broadcast data packets longer than a preset length to a group, according to another embodiment of the present invention.
[0031] Figure 13 This is a schematic diagram of a computer device structure according to an embodiment of the present invention. Detailed Implementation
[0032] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the embodiments of the present invention will be further described in detail below with reference to the accompanying drawings. Here, the illustrative 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 This is a flowchart illustrating a method for sending broadcast data packets longer than a preset length to a group according to an embodiment of the present invention. The method is applied to a first device, and multiple second devices constitute the group. Figure 5As shown, the method includes the following steps:
[0034] Step 101: When there is a broadcast data packet of a length greater than the preset length that needs to be sent to the group, the broadcast data packet to be sent is split into multiple sub-data packets according to the total length of the broadcast data packet to be sent and the preset length of the sub-data packets;
[0035] Step 102: Based on the number of sub-data packets to be split into and the length of the sub-data packets that can be accommodated by the preset transmission time slot length, determine the number of transmission time slot groups required to transmit the broadcast data packets to be transmitted. Based on the number of transmission time slot groups, divide the sub-data packets into multiple sub-groups according to the time sequence. The transmission synchronization frame of a synchronization period includes a set of transmission time slots. Each transmission time slot accommodates a sub-group of data packets. All the sub-data packets accommodated by the transmission time slots corresponding to each broadcast data packet to be transmitted constitute a set of data packets. The synchronization frame header indication packet of the set is sent at the beginning of each time slot of each set of data packets. The synchronization frame header indication packet is used to indicate the subsequent continuous transmission of multiple sub-data packets.
[0036] Step 103: Send the sub-data packets to the group in the time slots of different subgroups corresponding to each synchronization period; each second device is used to receive the sub-data packets in the time slots of the synchronization frame corresponding to its registered group when multiple sub-data packets are sent continuously according to the synchronization frame header indication packet.
[0037] In the method for sending broadcast data packets longer than a preset length to a group provided in this embodiment of the invention, multiple second devices constitute the group. During operation: when a broadcast data packet longer than the preset length needs to be sent to the group, the broadcast data packet to be sent is divided into multiple sub-data packets according to the total length of the broadcast data packet to be sent and the preset length of the sub-data packets; based on the number of sub-data packets to be split into and the length of the sub-data packets that can be accommodated by the preset transmission time slot length, the number of transmission time slot groups required to send the broadcast data packet to be sent is determined; based on the number of transmission time slot groups, the sub-data packets are divided into multiple subgroups according to time sequence, and a transmission synchronization frame of one synchronization period includes one group. Each transmission time slot contains a subgroup of data packets. All the subgroups of data packets contained in the transmission time slots corresponding to each broadcast data packet to be transmitted constitute a group of data packets. At the beginning of each time slot of each group of data packets, a synchronization frame header indication packet of that group is transmitted. The synchronization frame header indication packet is used to indicate that multiple subgroups of data packets will be transmitted continuously thereafter. The subgroups of data packets are transmitted to the group within the time slots corresponding to different subgroups in each synchronization period. Each second device is used to receive the subgroups of the synchronization frame time slot corresponding to its registered group when multiple subgroups of data packets are transmitted continuously thereafter according to the indication of the synchronization frame header indication packet. This can realize the efficient transmission of broadcast data packets longer than a preset length to the group in high-density wireless communication scenarios.
[0038] The following is a detailed description of the method for sending broadcast data packets longer than a preset length to a group.
[0039] To better understand how this invention is implemented, the following explanation uses the example of a base station sending a broadcast data packet of a length greater than a preset length to a group composed of electronic price tags.
[0040] Digitalization in retail supermarkets can help improve the efficiency of retail managers. Electronic shelf labels (ESCs), as a key example of product digitization, are increasingly being used. ESCs are used in scenarios characterized by high-density wireless communication. In this scenario, there is a need to broadcast the same data packets to all ESCs, such as upgrading the firmware of all ESCs or implementing new features. How to efficiently broadcast these ultra-long data packets (broadcast data packets exceeding a preset length, such as those 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 (secondary devices), such as ESCs, per square meter) presents a challenge.
[0041] Currently, it is extremely inefficient when a base station needs to send the same large amount of data to all electronic shelf labels (ESLs) in a group. For example, when sending a firmware upgrade package to all ESLs, the amount of data transmitted may exceed 100KB, and the current Bluetooth Low Energy (BLE) PAWR (Periodical Advertising with Response) protocol does not support broadcasting such a large amount of data. Upgrading by transmitting data point-to-point to each electronic shelf label individually is very inefficient. It is necessary to add a new protocol scheme to solve this problem.
[0042] In view of the above-mentioned technical problems, embodiments of the present invention provide a method for sending broadcast data packets longer than a preset length to a group. This method is based on a group-based time-slotted continuous broadcasting and centralized querying method, solving the pain point of efficiently broadcasting ultra-long data packets in high-density wireless communication scenarios. The following is a combination of... Figures 1 to 4 A detailed introduction will be provided. Among them, Figure 1 This is a diagram illustrating the format definition of the ExtendAdv package in an embodiment of the present invention; Figure 2 This is a schematic diagram of a base station processing large broadcast packets in an embodiment of the present invention;
[0043] Figure 3 This is a timing diagram illustrating the base station sending broadcast packets and querying reception results in an embodiment of the present invention; Figure 4 This is a schematic diagram of the 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 shelf label, and the group includes multiple electronic shelf labels; each group of sub-data packets is a data packet that an electronic shelf label needs to receive. Of course, in this embodiment of the invention, the first device and the second device can be, in addition to being a base station and an electronic shelf label in a supermarket environment, other wireless communication scenarios are also possible, as long as they meet the requirement of transmitting ultra-large data packets greater than 1500 bytes, and where there may be dozens or even more than one hundred wireless terminal devices per square meter.
[0045] In operation, according to the embodiments of the present invention: when there are broadcast data packets of a length greater than a preset length that need to be sent to multiple electronic price tags, the length of the broadcast data packets to be sent is determined based on the total length of the broadcast data packets to be sent (e.g., the total length of the broadcast data packets to be sent). Figure 2 The total length is 128Kbytes, and the preset length of the sub-data packets (e.g.) is also specified. Figure 2 The 128 bytes in the data (e.g., the broadcast data packet to be sent) are split into several sub-data packets (e.g., the broadcast data packet to be sent is split into several sub-data packets). Figure 2 The 1000 packets in the middle: P0-P999); based on the number of sub-packets to be split into (1000), and the length of the sub-packets that the preset transmission time slot length can accommodate (e.g., Figure 2 One time slot (100ms) can hold 200 packets, so determine the transmission time slots required to send the broadcast data packets to be sent (e.g., ...). Figure 2 The five time slots shown are: time slot 0 to time slot 4) and the number of groups (e.g., Figure 3 Each period corresponds to a set of time slots (e.g., periods 0-N each correspond to multiple time slots), based on the number of transmission time slot groups (e.g., ...). Figure 3 The five transmission time slots corresponding to periods 0-4 (as shown) divide the sub-data packets into multiple subgroups according to the time sequence (e.g., Figure 3 The five subgroups shown are: the first subgroup is P0-P199, the second subgroup is P200-P399, ..., the fourth subgroup is P800-P999. These five subgroups form a group, for example... Figure 3 The gRP-1 shown refers to all transmission time slots corresponding to a broadcast data packet to be sent (i.e., for example...). Figure 3 In the first transmission slot of period 0-period 4, the sub-data packets (P0-P199, P200-P399, ..., P800-P999) are grouped together. Each group corresponds to a data packet that an electronic price tag needs to receive (it is unclear which electronic price tag will receive this group). One synchronization period (e.g.) Figure 3 The transmission synchronization frame shown (any one of the periods 0-4) includes a set of transmission slots, each transmission slot accommodating a subgroup of data packets (e.g., Figure 3In one embodiment, when broadcast data packets are first transmitted, the sub-data packets transmitted by each subgroup within the same synchronization period are the same (e.g., ...). Figure 3 As shown, within the time slots of different subgroups in period 0, the sub-data packets sent by each subgroup are all the data packets of the first subgroup P0-P199 (and so on in other periods). That is, the sub-data packets sent by each subgroup during new transmission are the same. If retransmission is performed based on packet loss feedback from the price tag, the retransmission within each subgroup is the union of the lost price tag packets within that subgroup. Therefore, the retransmitted packets sent by each subgroup will be different. At the very beginning of each time slot of each group of data packets (e.g., at the beginning of each time slot for each subgroup), the synchronization frame header indication packet of that group is sent (e.g., ... Figure 3 The synchronization frame header indication packet (such as Sync For grp1TX or Sync For grp2TX) is used to indicate the subsequent continuous transmission of multiple sub-data packets. When the flag of the preset synchronization frame header indication packet is a transmission flag, the sub-data packets are sent to multiple electronic tags in the time slots of different subgroups corresponding to each synchronization cycle. Each electronic tag is used to receive the sub-data packets in the time slot of the synchronization frame corresponding to its registered group (e.g., grp 1, where the data packets corresponding to group 1 are received by the electronic tag with the identifier 0001) when it receives the synchronization indication frame indicating the subsequent continuous transmission of multiple sub-data packets. When each electronic tag receives the synchronization indication frame indicating the presence of an extra-long broadcast data packet, it continuously receives the time slot length corresponding to its own group. This enables efficient transmission of broadcast data packets longer than the preset length to groups in high-density wireless communication scenarios.
[0046] In specific implementation, the frame structure in this embodiment of the invention involves evenly distributing time slots across multiple groups for the synchronization frame of a synchronization period. Each group sends a synchronization frame header indication packet at the beginning of its corresponding time slot. For this scenario, this embodiment adds a new command named ExtendAdv to the ESL service. The synchronization frame header indication packet, through the command ExtendAdv, can instruct the subsequent continuous transmission of multiple data packets. Multiple consecutive synchronization frames send data packets, split from the excessively long data packet, after the synchronization indication frame of each group until the excessively long data packet is completely transmitted. In the next synchronization frame, multiple consecutive synchronization indication frames query whether the multiple electronic price tags within each group have been successfully received.
[0047] In practical implementation, the existing PAWR frame structure, i.e., the existing transmission method, can only support short packets, with a length not exceeding 48 bytes. However, the method provided in this embodiment of the invention for sending broadcast data packets longer than a preset length to a group can support the transmission of broadcast data packets exceeding 1500 bytes, and even broadcast packet lengths of several hundred kilobytes. It also supports receiving responses from each corresponding electronic price tag regarding whether it has received the excessively long broadcast, thereby further enabling retransmission and improving the transmission reliability of excessively long broadcast data packets.
[0048] like Figure 1 As shown, the parameters for ExtendAdv can include: send or query flags (such as...) Figure 1 The command flag in the command is either the Cmd flag, TX, or req. If it's a send flag (such as...), then... Figure 1 If the TX in the synchronization frame header indicates that the synchronization frame header includes a transmission flag, then subsequent parameters may include the total number of packets, the length of each packet, and the number of packets sent per period interval. In one embodiment, if the synchronization frame header includes a transmission flag, the subsequent parameters of the synchronization frame header include: the identifier of the data packet group (e.g., ...). Figure 1 The `Session ID`, the number of packets per time slot, the length of each packet, and the number of packets to be received and sent per electronic tag per synchronization cycle ensure data transmission integrity. The synchronization frame header indicates whether it includes an interrogation flag (such as...). Figure 1 If the query is in the `req` string, subsequent parameters can include the ESL Address (electronic shelf label address), and can also include the ESL ID (electronic shelf label identifier), and the identifier of the data packet group (e.g., ...). Figure 1 Session ID).
[0049] When a base station needs to send a broadcast packet of a larger size (greater than the preset length of the broadcast data packet) to all ESLs within a group, the length of a packet and the number of packets that can be placed in a time slot are determined based on the synchronization time slot length (preset transmission time slot length) and the possible data length (length of the sub-data packets that can be accommodated). Then, the total number of packets required for this broadcast packet and the transmission time slots that need 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-data packets can be 128 bytes.
[0050] After ExtendAdv is the send flag, the synchronization slot sends the synchronization packet followed immediately by such an extended broadcast packet. Each packet header indicates the total number of packets and the sequence number of that packet. Figure 3(Not shown in the image), meaning that in one embodiment, the header of each sub-data packet includes its packet count in the group and its own identifier within the group. All packets are transmitted over multiple consecutive cycles. During this transmission process, no ESL ACK feedback is required. The base station then sends an ExtendAdv command packet with an interrogation flag; the specific frame structure of the interrogation command can be found in [reference needed]. Figure 1 The frame structure corresponding to Cmd flag=req. Such an interrogation 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 interrogation flag, the subsequent parameters of the synchronization frame header indication packet include the address of each electronic price tag being queried; such as... Figure 6 As shown, the method for sending broadcast data packets longer than a preset length to a group may further include step 104: after multiple sub-data packets have been sent, when the flag in the synchronization frame header is an interrogation flag, based on the address of each electronic tag, interrogating all electronic tags in all groups through multiple interrogation synchronization frames over multiple synchronization periods to determine whether data packets have been successfully received. Each interrogation synchronization frame (e.g., ...) Figure 3 The synchronization frames corresponding to each period from period 5 to period N include multiple transmission time slots ( Figure 3 Multiple acknowledgment time slots (e.g., time slots in each transmission synchronization frame during periods 0 to 4) correspond one-to-one with each other. Figure 3 The response time slots in period 5 to period N, for example Figure 3 The "ESL ACK...ESL ACK" in the message is sent at the beginning of each response slot, including an interrogation flag (such as...). Figure 3 The synchronization frame header indication packet (e.g., "req") in the middle. Figure 3 The "Sync For grp-1req" in the header indicates that each electronic price tag is also used to respond in its own response time slot when it receives a data packet inquiring about its reception status in the synchronization frame header indication packet. In this embodiment, after the data packet is sent, a multi-group query method is used to determine whether each receiving price tag has received the entire long broadcast packet. That is, the base station performs a centralized query using the query flag in the synchronization indication frame packet, collecting the status of all electronic price tags in a centralized manner, rather than having each electronic price tag provide feedback individually, thus improving the efficiency of querying the reception status of electronic price tags.
[0051] like Figure 3 As shown, when each electronic price tag receives an indication in the synchronization indication frame that asks about its reception status, it responds in its corresponding response time slot (e.g., ...). Figure 3 In period 5 and period N, the "ESL ACK" in the time slot is as follows: Figure 4As shown, in the response indicator packet structure, each response bit corresponds to whether all adjacent packets are correct (e.g., ...). Figure 4 As shown, ACK=1 means all data packets have been received, otherwise ACK=0 means at least one packet has not been received. That is, in one embodiment, as... Figure 6 As shown, the method for sending broadcast data packets of a length greater than a preset length to a group may further include step 105: for the response message, the query result of whether the data packet has been received is determined by using one bit to correspond to multiple sub-data packets: if at least one data packet is not received among the multiple sub-data packets corresponding to one bit, the bit replies with the result of packet loss, which can be equal to 0; if all the multiple sub-data packets corresponding to one bit are received, the bit replies with the result of acknowledging receipt, which can be equal to 1.
[0052] In specific implementation, such as Figure 4 As shown, in the response message, one bit may correspond to the result of whether multiple sub-data packets were received correctly. If one bit is incorrect, all are considered incorrect, meaning there is a problem with the received data packets. Only when several consecutive sub-data packets are correct is a correct response provided. For example, one bit may correspond to the confirmation result of whether 25 sub-data packets have been received. If at least one sub-data packet was not received, then the acknowledgment for that one bit is 0, and all subsequent sub-data packets corresponding to that one bit must be rebroadcast. If all 25 sub-data packets corresponding to that one bit were received, then the acknowledgment for that one bit is 1. When subsequent sub-data packets need to be rebroadcast, the multiple sub-data packets corresponding to that one bit do not need to be rebroadcast. Or, even if they are rebroadcast, if the electronic price tag detects that the group identifier for that group of sub-data packets has already been confirmed as received, the electronic price tag can choose not to accept it.
[0053] Within the same synchronization period, different groups of time slots send completely identical data packets, such as... Figure 3 The packets transmitted in each transmission time slot within any of the cycles 0-4 are identical. For example, in cycle 0, the data packets transmitted in each time slot are 200 packets from P0 to P199. However, when retransmitting data packets, each subgroup retransmits the union of the lost packets within that subgroup, so the retransmitted packets in each subgroup will be different. Each tag corresponds to receiving only the data packets within the time slot of the synchronization frame corresponding to its registered group. Specifically, each tag establishes a one-to-one connection with the base station, performs authentication, and then the base station configures the tag's relevant parameters, performs network setup operations, and completes registration. Specifically, the electronic tag concatenates multiple data packets according to their sequence numbers until all data packets are received and concatenated into a single large data packet.
[0054] Each base station queries all price tags in all groups through multiple synchronization cycles, obtaining packet loss feedback for all price tags. The base station can then determine, based on the packet loss results for all price tags in each group, whether to initiate another round of broadcasting and querying. In one embodiment, for example... Figure 6 As shown, the method for sending broadcast data packets longer than a preset length to a group may further include step 106: when it is determined that there is packet loss based on the response message, the next round of broadcast data packets is resent based on the packet loss results of all electronic price tags in each group, ensuring that all data is successfully sent. That is, the base station can decide whether to repeat the above sending process based on the confirmation information of the price tags to ensure that all price tags accurately receive all broadcast data packet content. In one embodiment, when it is determined that there is packet loss based on the response message, the next round of broadcast data packets is resent based on the packet loss results of all electronic price tags in each group, including: retransmitting the sub-data packets corresponding to the packet loss result, such as the sub-data packets with a bit value of 0, 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 packets. When retransmitting broadcast data, the session ID (group number: the identifier of the group) does not change, and price tags that have already been received can choose not to receive again. If the result of querying the same session ID is a success, the ACK (acknowledgment) returned by the price tag is all successful. That is, in one embodiment, when it is determined that there is packet loss based on the response message, the next round of retransmission of broadcast data packets is performed based on the packet loss results of all electronic price tags in each group. This includes: when it is determined that broadcast data packets need to be retransmitted based on the packet loss feedback result, keeping the identifier of the data packet group unchanged; wherein, the electronic price tags that have already been received are also used to: select not to receive data packets repeatedly. If the packet loss feedback result of querying the identifier of the same data packet group is a success, the ACK (acknowledgment) returned by the electronic price tag is all successful, which improves the efficiency of rebroadcasting long data packets and querying the reception status.
[0055] In one embodiment, such as Figure 7 As shown, the method for sending broadcast data packets to a group that are longer than a preset length may further include step 107: dynamically adjusting the length of the preset split sub-data packets and the length of the sub-data packets that can be accommodated by the preset transmission time slot length.
[0056] In practice, sub-data packets of different lengths or time slots can be dynamically split. The length of the preset split sub-data packets and the length of the sub-data packets that the preset transmission time slot can accommodate can be dynamically adjusted according to changes in the scenario, thereby improving the system's performance in adapting to different scenarios.
[0057] In summary, for sending very large broadcast data packets, firstly, the embodiments of the present invention not only split the broadcast data packets to be sent, but also complete the transmission method within the time window corresponding to the sub-synchronization event through the inherent frame structure, that is, the sub-data packets are sent in each transmission time slot of the synchronization frame of a synchronization period; secondly, the existing data packet broadcasting method does not have a feedback method for whether it has been received. The embodiments of the present invention, after multiple packets have been sent, will perform group queries according to the time period of the sub-synchronization event, and then retransmit according to the union of lost packets, thereby improving the accuracy of data packet transmission.
[0058] This invention also provides a first apparatus for sending broadcast data packets longer than a preset length to a group, as described in the following embodiments. Since the principle by which this first apparatus solves the problem is similar to the method for sending broadcast data packets longer than a preset length to a group, the implementation of this first apparatus can refer to the implementation of the method for sending broadcast data packets longer than a preset length to a group, and will not be repeated here.
[0059] Figure 8 This is a schematic diagram of the structure of a first device for sending broadcast data packets longer than a preset length to a group in an embodiment of the present invention. Multiple second devices constitute the group, such as... Figure 8 As shown, the first device includes:
[0060] The splitting unit 11 is used to split the broadcast data packet to be sent into multiple sub-data packets according to the total length of the broadcast data packet to be sent and the preset length of the sub-data packets when there is a broadcast data packet of greater than a preset length to be sent to the group.
[0061] The determining unit 12 is used to determine the number of transmission time slots required to transmit the broadcast data packet to be transmitted based on the number of sub-data packets to be split into and the length of the sub-data packets that can be accommodated by the preset transmission time slot length. Based on the number of transmission time slots, the sub-data packets are divided into multiple sub-groups in time sequence. The transmission synchronization frame of a synchronization period includes a set of transmission time slots. Each transmission time slot accommodates a sub-group of data packets. All the sub-data packets accommodated in the transmission time slots corresponding to each broadcast data packet to be transmitted constitute a set of data packets. The synchronization frame header indication packet of the set is sent at the beginning of each time slot of each set of data packets. The synchronization frame header indication packet is used to indicate the subsequent continuous transmission of multiple sub-data packets.
[0062] The sending unit 13 is used to send the sub-data packets to the group in the time slot of the different subgroups corresponding to each synchronization period; each second device is used to receive the sub-data packets in the time slot of the synchronization frame corresponding to its registered group when the synchronization frame header indication packet indicates that multiple sub-data packets will be sent continuously in the future.
[0063] In one embodiment, the first device is a base station, the second device is an electronic shelf label, and the group includes multiple electronic shelf labels; each data packet is a data packet that an electronic shelf label needs to receive.
[0064] In one embodiment, if the synchronization header indication packet includes an interrogation flag, subsequent parameters of the synchronization header indication packet include the address of each electronic shelf label being interrogated;
[0065] like Figure 9 As shown, the first device for sending broadcast data packets longer than a preset length to a group may further include: an interrogation unit 14, configured to, after multiple sub-data packets have been sent, when the flag in the synchronization frame header indication packet is an interrogation flag, query all electronic tags in all groups for whether they have successfully received data packets through multiple interrogation synchronization frames in multiple synchronization periods, based on the address of each electronic tag, wherein each interrogation synchronization frame includes multiple response time slots corresponding one-to-one with multiple transmission time slots, and a synchronization frame header indication packet including an interrogation flag is sent at the beginning of each response time slot; each electronic tag is also configured to, when receiving a synchronization frame header indication packet indicating that it is interrogating its data packet reception status, respond in its own response time slot and send a response message.
[0066] In one embodiment, such as Figure 9 As shown, the first device for sending broadcast data packets of a length greater than a preset length to the group may further include a reception status judgment unit 15, used to: for the response message, determine whether the query result has been received by using the method of one bit corresponding to multiple sub-data packets: if at least one data packet corresponding to one bit is not received, the bit is replied to be equal to 0; if all the sub-data packets corresponding to one bit are received, the bit is replied to be equal to 1.
[0067] In one embodiment, such as Figure 9 As shown, the first device may further include a retransmission unit 16, used to: when it is determined from the response message that there is packet loss, to retransmit broadcast data packets in the next round based on the packet loss results of all electronic price tags in each group.
[0068] In one embodiment, the retransmission unit is specifically used to: when it is determined that a broadcast data packet needs to be retransmitted based on the packet loss feedback result, retransmit the sub-data packets corresponding to the result bits of the packet loss in the corresponding transmission time slot to the group; and the electronic price tag corresponding to the corresponding transmission time slot receives the retransmitted sub-data packets.
[0069] In one embodiment, the retransmission unit is specifically used to: keep the identifier of the data packet group unchanged when it is determined that the broadcast data packet needs to be retransmitted based on the packet loss feedback result; wherein, the electronic price tag that has already been received is also used to: select not to receive data packets repeatedly, and if it is queried about the packet loss feedback result of the identifier of the same data packet group, the electronic price tag confirms that all data packets were successfully received.
[0070] In one embodiment, such as Figure 10 As shown, the first device may further include: a dynamic adjustment unit 17, used 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 broadcast data packets are sent for the first time, the sub-data packets sent by each subgroup within the time slots corresponding to different subgroups in the same synchronization period are the same.
[0073] In one embodiment, if the synchronization header indication packet includes a transmission flag, the subsequent parameters of the synchronization header indication packet include: the identifier of the data packet group, the number of packets to be accommodated in each time slot, the length of each packet, and the number of packets to be received and transmitted per electronic tag per synchronization cycle.
[0074] In one embodiment, the header of each sub-data packet includes its packet number in the group and its own identifier within the group.
[0075] This invention also provides a system for sending broadcast data packets longer than a preset length to a group, as described in the following embodiments. Since the principle behind this system's solution is similar to the method for sending broadcast data packets longer than a preset length to a group, the implementation of this system can refer to the implementation of the method for sending broadcast data packets longer than a preset length to a group; repeated details will not be elaborated further.
[0076] Figure 11 This is a schematic diagram of the system structure for sending broadcast data packets longer than a preset length to a group, as shown in an embodiment of the present invention. Figure 11 As shown, the system includes: at least one first device 1 as described above, and a group consisting of a plurality of second devices 2, wherein: each second device is used to receive the sub-data packets in the synchronization frame time slot corresponding to its registered group when the subsequent continuous transmission of multiple sub-data packets is indicated by the synchronization frame header indication packet.
[0077] Figure 12This is a schematic diagram of a system structure for sending broadcast data packets of a length greater than a preset length to a group, according to 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 data packet is a data packet that an electronic price tag needs to receive.
[0078] Based on the aforementioned inventive concept Figure 13 This is a schematic diagram of a computer device structure according to an embodiment of the present invention, as shown below. Figure 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. When the processor 520 executes the computer program 530, it implements the aforementioned method of sending broadcast data packets of a length greater than a preset length to a group.
[0079] This invention also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the method described above for sending broadcast data packets of a length greater than a preset value to a group.
[0080] This invention also provides a computer program product, which includes a computer program that, when executed by a processor, implements the method described above for sending broadcast data packets of a length greater than a preset value to a group.
[0081] In the scheme for sending broadcast data packets longer than a preset length to a group provided by this invention embodiment, multiple second devices constitute the group. The scheme proceeds as follows: when a broadcast data packet longer than the preset length needs to be sent to the group, the broadcast data packet to be sent is divided into multiple sub-data packets according to the total length of the broadcast data packet to be sent and the preset length of the sub-data packets; based on the number of sub-data packets to be split into and the length of the sub-data packets that can be accommodated by the preset transmission time slot length, the number of transmission time slot groups required to send the broadcast data packet to be sent is determined; based on the number of transmission time slot groups, the sub-data packets are divided into multiple subgroups according to the time sequence, and a transmission synchronization frame of one synchronization period includes one... The system comprises a group of transmission time slots, each of which contains a subgroup of data packets. All the subgroup data packets contained in the transmission time slots corresponding to each broadcast data packet to be transmitted constitute a group of data packets. At the beginning of each time slot of each group of data packets, a synchronization frame header indication packet is transmitted. This synchronization frame header indication packet indicates that multiple subgroup data packets will be transmitted consecutively thereafter. Subgroup data packets are transmitted to the group within the time slots corresponding to different subgroups in each synchronization period. Each second device is used to receive the subgroup data packets within the synchronization frame time slot corresponding to its registered group when multiple subgroup data packets are transmitted consecutively according to the synchronization frame header indication packet. This enables efficient transmission of broadcast data packets longer than a preset length to the group in high-density wireless communication scenarios.
[0082] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied 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] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0084] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0085] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0086] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above descriptions are merely specific embodiments of the present invention and are 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 within the scope of protection of the present invention.
Claims
1. A method for sending broadcast data packets longer 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, including: When there are broadcast data packets of a length greater than the preset length that need to be sent to the group, the broadcast data packets to be sent are split into multiple sub-data packets according to the total length of the broadcast data packets to be sent and the preset length of the sub-data packets; Based on the number of sub-data packets to be split into and the length of the sub-data packets that can be accommodated by the preset transmission time slot length, the number of transmission time slot groups required to transmit the broadcast data packets to be transmitted is determined. Based on the number of transmission time slot groups, the sub-data packets are divided into multiple sub-groups according to the time sequence. The transmission synchronization frame of a synchronization period includes a set of transmission time slots. Each transmission time slot accommodates a sub-group of data packets. All the sub-data packets accommodated in the transmission time slots corresponding to each broadcast data packet to be transmitted constitute a set of data packets. The synchronization frame header indication packet of the set is sent at the beginning of each time slot of each set of data packets. 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 subgroups corresponding to each synchronization period; each second device is used to receive the sub-data packets in the time slots of the synchronization frame corresponding to its registered group when multiple sub-data packets are sent continuously according to the synchronization frame header indication packet.
2. The method as described in claim 1, characterized in that, The first device is a base station, the second device is an electronic price tag, and the group includes multiple electronic price tags; each data packet is a data packet that an electronic price tag needs to receive.
3. The method as described in claim 2, characterized in that, If the synchronization header instruction packet includes an interrogation flag, the subsequent parameters of the synchronization header instruction packet include the address of each electronic price tag being interrogated; The method for sending broadcast data packets longer than a preset length to a group further includes: after multiple sub-data packets have been sent, when the flag in the synchronization frame header indication packet is an inquiry flag, according to the address of each electronic tag, querying all electronic tags in all groups through multiple inquiry synchronization frames in multiple synchronization cycles to inquire whether the data packets have been successfully received. Each inquiry synchronization frame includes multiple response time slots that correspond one-to-one with multiple transmission time slots. A synchronization frame header indication packet including an inquiry flag is sent at the beginning of each response time slot. Each electronic tag is also used to respond in its own response time slot and send a response message when it receives a data packet in the synchronization frame header indication packet indicating that it is inquiring about its data packet reception status.
4. The method as described in claim 3, characterized in that, It also includes: for the response message, the query result is used to determine whether the data has been received by using one bit to correspond to multiple sub-data packets: if at least one data packet is not received among the multiple sub-data packets corresponding to one bit, the bit replies with the result of packet loss; if all the sub-data packets corresponding to one bit are received, the bit replies with the result of acknowledging receipt.
5. The method as described in claim 4, characterized in that, Also includes: When packet loss is confirmed based on the response message, the broadcast data packets are resent in the next round based on the packet loss results of all electronic price tags in each group.
6. The method as described in claim 5, characterized in that, When it is determined that there is packet loss based on the response message, the next round of broadcast data packets is retransmitted based on the packet loss results of all electronic price tags in each group. This includes: when it is determined that broadcast data packets need to be retransmitted based on the packet loss feedback results, the sub-data packets corresponding to the bit bits of the packet loss result are retransmitted to the group in the corresponding transmission time slot; the electronic price tags corresponding to the corresponding transmission time slot receive the retransmitted sub-data packets.
7. The method as described in claim 5, characterized in that, When packet loss is confirmed based on the response message, the next round of broadcast data packets is retransmitted based on the packet loss results of all electronic price tags in each group. This includes: when it is determined that broadcast data packets need to be retransmitted based on the packet loss feedback results, keeping the identifier of the data packet group unchanged; whereby electronic price tags that have already been received are also used to: select not to receive data packets repeatedly, and if they are asked about the packet loss feedback results of the same data packet group identifier, the electronic price tag confirms that all packets were successfully received.
8. The method as described in claim 1, characterized in that, Also includes: The length of the preset split sub-data packets and the length of the sub-data packets that the preset transmission time slot length can accommodate are dynamically adjusted.
9. The method as described in claim 1, characterized in that, When broadcast data packets are sent for the first time, the sub-data packets sent by each subgroup within the time slot of different subgroups in the same synchronization period are the same.
10. The method as described in claim 2, characterized in that, If the synchronization header indication packet includes a transmission flag, the subsequent parameters of the synchronization header indication packet include: the identifier of the data packet group, the number of packets to be accommodated in each time slot, the length of each packet, and the number of packets to be received and transmitted per electronic tag per synchronization cycle.
11. The method as described in claim 1, characterized in that, Each sub-data packet's header includes its group number and its own identifier within the group.
12. A first apparatus for sending broadcast data packets of a preset length to a group, characterized in that, The first device, comprising a plurality of second devices constituting the group, includes: The splitting unit is used to split the broadcast data packet to be sent into multiple sub-data packets according to the total length of the broadcast data packet to be sent and the preset length of the sub-data packets when there is a broadcast data packet of a length greater than a preset length to be sent to the group. The determining unit is used to determine the number of transmission time slots required to transmit the broadcast data packet to be transmitted based on the number of sub-data packets to be split into and the length of the sub-data packets that can be accommodated by the preset transmission time slot length. Based on the number of transmission time slots, the sub-data packets are divided into multiple sub-groups in time sequence. The transmission synchronization frame of a synchronization period includes a set of transmission time slots. Each transmission time slot accommodates a sub-group of data packets. All the sub-data packets accommodated in the transmission time slots corresponding to each broadcast data packet to be transmitted constitute a set of data packets. The synchronization frame header indication packet of the set is sent at the beginning of each time slot of each set of data packets. The synchronization frame header indication packet is used to indicate the subsequent continuous transmission of multiple sub-data packets. The sending unit is used to send the sub-data packets to the group in the time slots of different subgroups corresponding to each synchronization period; each second device is used to receive the sub-data packets in the time slots of the synchronization frame corresponding to its registered group when the synchronization frame header indication packet indicates that multiple sub-data packets will be sent continuously in the future.
13. The first apparatus as claimed in claim 12, characterized in that, The first device is a base station, the second device is an electronic price tag, and the group includes multiple electronic price tags. Each data packet is a data packet that an electronic price tag needs to receive.
14. A system for sending broadcast data packets longer than a preset length to a group, characterized in that, include: At least one first device as described in claim 12 or 13, and a group consisting of a plurality of second devices; wherein: each second device is configured to receive a sub-data packet in the time slot of the synchronization frame corresponding to its registered group when the subsequent continuous transmission of a plurality of sub-data packets is indicated 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, it implements the method of any one of claims 1 to 11.
16. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method of any one of claims 1 to 11.
17. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, implements the method of any one of claims 1 to 11.
Citation Information
Patent Citations
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