Radio frequency identification (RFID) book collaborative checking method based on wireless communication network
By calculating the overlap ratio of the coverage area and the strength of the interference signal to screen terminal pairs, and using a greedy algorithm and Kalman filtering to optimize the bandwidth, the problems of inaccurate interference assessment and unreasonable resource utilization in RFID book collaborative inventory were solved, and efficient data exchange and resource scheduling were achieved.
Patent Information
- Application Number
- CN202511222485.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-29
- Publication Date
- 2025-12-16
AI Technical Summary
Existing technologies for collaborative RFID book inventory suffer from problems such as inaccurate interference assessment, unreasonable time slot allocation, untimely bandwidth adjustment, and unreasonable task priority ranking, resulting in low data exchange efficiency and underutilization of resources.
By calculating the coverage area overlap ratio and interference signal strength based on the unique ID and deployment location coordinates of the RFID inventory terminal, a greedy algorithm is used to assign color codes, and Kalman filtering is combined with bandwidth optimization and load adjustment to generate a priority scheduling sequence, thereby achieving conflict-free mapping and dynamic resource scheduling between terminals.
It improved the accuracy of interference detection, reduced the risk of co-channel conflicts, enhanced transmission adaptability and resource utilization efficiency, and ensured the integrity and accuracy of inventory data.
Smart Images

Figure CN121152044A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of wireless communication network, and particularly relates to an RFID book cooperative inventory method based on a wireless communication network. BACKGROUND
[0002] The technical field of wireless communication network aims to build a communication link without physical wired connection, to realize reliable transmission and exchange of data, voice and image between two and multiple terminal devices through radio frequency signals, to provide spatial flexible communication capability in fixed, movable and high-speed moving scenarios, to maintain low delay and high stability under dynamic wireless channel conditions by using modulation and demodulation, channel coding and error control, and to improve spectrum utilization efficiency by using multiple access and dynamic spectrum allocation.
[0003] The RFID book cooperative inventory method based on a wireless communication network aims to realize fast, batch and non-contact inventory of all library books in the library and archive management scenarios by deploying multiple inventory terminals with RFID reading and writing functions and forming a data interaction and cooperative control mechanism by using a wireless communication network, to reduce the time and labor intensity required for manual book-by-book inspection, to reduce the probability of missing and miscounting, to ensure the integrity and accuracy of the inventory data, and to improve the work efficiency and traceability of the library management.
[0004] In the operation mode of the prior art, interference evaluation mainly depends on a single signal quality indicator, and there is a lack of means for joint determination based on position coverage area geometric calculation and signal strength, so that part of the interference relationship is not accurately identified, resulting in same frequency conflict and retransmission phenomenon during cooperative scheduling, time slot allocation is based on fixed allocation strategy, and terminal priority ranking directly related to interference relationship is not established, which easily causes time slot repeated occupation, reduces data exchange efficiency, and relies on fixed bandwidth value and preset safety margin in link state estimation, which is difficult to reflect the sudden fluctuation of wireless link in different periods, resulting in that the sending window cannot be adjusted in time when the bandwidth decreases, causing buffer accumulation and sending delay, and the task priority is mainly determined by static rules, and there is a lack of dynamic sorting control according to real-time buffer state, transmission delay and task level, so that the high priority task is retained for a long time in the high load end, and the low load resource is not fully utilized. SUMMARY
[0005] The present application aims to solve the shortcomings in the prior art and proposes an RFID book cooperative inventory method based on a wireless communication network.
[0006] In order to achieve the above-mentioned purpose, the present application adopts the following technical scheme: an RFID book cooperative inventory method based on a wireless communication network, comprising the following steps: S1: Based on the RFID inventory terminal unique ID and deployment location coordinates, the boundary data is parsed and compared with the coverage area coordinates to calculate the overlap ratio, the interference signal strength value is extracted and compared with the threshold value to screen terminal pairs, the greedy algorithm is used to connect the numbers that meet the conditions and sort them according to the connection number to assign color codes, and an interference allocation matrix is established; S2: Based on the interference allocation matrix, read the color code and match the terminal number, sort the color and then associate the TDMA frame structure time slot number, write the mapping result into each terminal list, add the global synchronization time slot number at the beginning of the list, and generate a time slot mapping list; S3: Based on the time slot mapping list, use Kalman filtering to record the interval time from each data transmission to the received confirmation, add the interval values by weight to get the available bandwidth value, and divide the round-trip delay measurement value to get the transmission window value, compare the buffer quantity and sort the tags by priority level, and when abnormal, halve the window and reorder the list to generate a priority scheduling sequence; S4: Based on the priority scheduling sequence, count the number of transmissions and the number of buffers, compare the average value to classify high and low load terminals, extract high-level tags from high-load tasks and insert them into low-load task lists to generate a load adjustment task table; S5: Based on the load adjustment task table, read the load according to the time slot number and insert the data packet, adjust the order to the transmission queue, record the number of tags sent and the number of buffers at the end of the period, and generate a period inventory record.
[0007] As a further scheme of the present application, the specific steps for generating the interference allocation matrix are: Based on the RFID inventory terminal unique ID and deployment location coordinates, the boundary coordinate points corresponding to each terminal are extracted and a coordinate set is established, and the boundary points of any two terminals in the set are matched and calculated in sequence to calculate the overlap area value, and all calculation values are stored in a list to generate a terminal overlap ratio set; Based on the terminal overlap ratio set, read the interference signal strength value corresponding to each terminal and compare it with the preset threshold value, and exclude records below the signal strength threshold value in combinations with an overlap ratio higher than the threshold value, and store the terminal numbers that meet the conditions to generate a filtered terminal pair list; Based on the filtered terminal pair list, write the terminal pair number into the blank matrix unit and establish a bidirectional connection, count the number of connections for each terminal in the matrix and rearrange the corresponding terminal number in descending order, assign color codes to the rearranged numbers in sequence using the greedy algorithm, and establish an interference allocation matrix.
[0008] As a further scheme of the present application, the greedy algorithm firstly extracts all terminal numbers from the terminal pair list, counts the number of times each terminal appears in the list, and defines this number of times as the terminal connection number, then sorts the terminal numbers in descending order of the connection number to obtain a terminal number sequence in descending order of the connection number, and starts from the first terminal in the sequence to sequentially detect whether there is a connection relationship between the terminal and the terminal with an allocated color code, if there is a connection relationship and the color codes are the same, a conflict is generated, then a color code with a value sequence number being the first among all candidate values is selected from the unused color code set for allocation, if there is no conflict, the current color code is maintained, then the terminal with the allocated color code is marked as processed, and the next terminal in the sequence is allocated a color code according to the same rule, and the cycle is repeated until all terminals in the sequence are allocated, all terminals obtain a unique and conflict-free color code, a one-to-one correspondence between the color code and the terminal number is formed, and is written into the corresponding cell of the interference allocation matrix.
[0009] As a further scheme of the present application, the greedy algorithm is according to the formula:
[0010] Among them: RFID book cooperative inventory system, the terminal number of the i-th terminal is represented as , the value of the cell of the bidirectional connection matrix generated by the inventory terminal in the wireless communication network is represented as , the physical distance weight coefficient between terminal and the connected terminal is represented as , the historical interference probability weight coefficient between terminal and terminal is represented as , the color conflict sensitivity weight coefficient of terminal in the color coding allocation process is represented as , and the weighted connection number of terminal is represented as .
[0011] As a further scheme of the present application, the specific steps of generating the time slot mapping list are: Based on the interference allocation matrix, the color codes are sequentially read from the matrix and compared with the terminal number table one by one, the corresponding terminal numbers are arranged in ascending order of the color codes, these numbers are mapped to the time slot number position of the TDMA frame structure in order, a color time slot corresponding set is generated; Based on the color time slot corresponding set, each group of mapping data is written into the local time slot list of each terminal, the global synchronization time slot number is inserted at the beginning of the list, the time slot list is reordered and confirmed for storage, and a time slot mapping list is generated.
[0012] As a further scheme of the present application, the specific step of generating the priority scheduling sequence is: Based on the time slot mapping list, read the sending time tags from the sending records of each terminal and store them in the time sequence list, read the confirmation time tags from the receiving feedback records and pair them with the corresponding sending time tags to calculate the time difference values, input each time difference value into the Kalman filter operation to recursively correct the state estimation, update the available bandwidth state by combining the measurement noise and the prediction value, generate the available bandwidth set, and generate the available bandwidth set; Based on the available bandwidth set, read the bandwidth values of each terminal from the set and call the round-trip delay measurement values to divide them one by one to obtain the transmission window values, compare the obtained window values with the number of unsent data packets in the terminal buffer queue, read and extract the priority level field of each buffer data packet that exceeds the window value one by one, sort them in descending order of priority level to generate an ordered queue, and generate the tag priority sending list; Based on the tag priority sending list, read the data packet sending feedback records of each terminal in the list and calculate the packet loss rate values, extract the number of duplicate confirmations and compare them with the set threshold one by one, call the current transmission window value when any comparison result is higher than the threshold, calculate half of it as a new window value, write the new window value into the scheduling parameter and rearrange the data packet sending order accordingly, and generate the priority scheduling sequence.
[0013] As a further scheme of the present application, the Kalman filter first pairs the sending time tags of each terminal with the corresponding receiving confirmation time tags to calculate the time difference values, and inputs the difference values as observation values into the initial state of the Kalman filter, then calculates the predicted state value using the current state estimation value and the state transition equation, and obtains the predicted covariance by operating the estimation covariance of the last period and the process noise covariance, then substitutes the predicted covariance and the measurement noise covariance into the Kalman gain formula to calculate the Kalman gain coefficient, then corrects the predicted state value to obtain the updated state value after filtering, and recursively adjusts the state value using the difference between the observation value and the prediction value, corrects the estimation covariance according to the updated state value, processes each group of time difference values in a loop, outputs the available bandwidth estimation value of each terminal, and forms the available bandwidth set by all estimation values.
[0014] As a further scheme of the present application, the Kalman filter is according to the formula:
[0015] Wherein: represents the kth iteration bandwidth state estimation value after multi-dimensional weight correction, represents the bandwidth value predicted on the basis of the last state, represents the iteration stability adjustment coefficient, represents the kth iteration bandwidth state estimation value, Kalman gain in the next iteration This represents the instantaneous bandwidth measurement value. This represents the link latency sensitivity weighting coefficient. This represents the queue occupancy rate weighting coefficient.
[0016] As a further aspect of the present invention, the specific steps for generating the load adjustment task table are as follows: Based on the priority scheduling sequence, the number of sent tags and the number of buffered tags of each terminal in the interference group are extracted. These numbers are compared with the average value of the interference group. Terminals with values higher than the average value are marked as high-load, and terminals with values lower than the average value are marked as low-load, thus generating a terminal load classification list. Based on the terminal load classification list, high-level tagged tasks are selected from the high-load terminal task list, and these tasks are inserted into the specified positions in the low-load terminal task list in proportion, while maintaining the original task order, to generate a load adjustment task table.
[0017] As a further aspect of the present invention, the specific steps for generating the periodic inventory record are as follows: Based on the load adjustment task table, new tasks are read from the low-load terminal task list, located at the position corresponding to the time slot number in the list, and the task data packets are inserted according to the time slot sequence and connected with the original tasks to generate a task insertion sequence. Based on the task insertion sequence, the order of the sending queues of all terminals is adjusted. At the end of the current period, the number of completed tags and the number of remaining caches of each terminal are counted and recorded to generate a periodic inventory record.
[0018] Compared with the prior art, the advantages and positive effects of the present invention are as follows: In this invention, the overlap ratio of the coverage area is calculated based on the unique identifier and deployment coordinates, and a dual-condition screening is performed based on the area value and the interference signal strength threshold, so that the interference judgment result is supported by geometric calculation and physical strength assessment, thereby reducing the probability of misjudgment. In this invention, a greedy algorithm is used to assign color codes to terminals in descending order of the number of terminal connections, establishing a conflict-free mapping relationship between color codes and terminal numbers, thereby achieving effective isolation of time slot resources and reducing the risk of retransmission caused by co-channel interference. In this invention, the interval between data transmission and reception confirmation is recorded and input into Kalman filtering. The available bandwidth is then modified by combining state estimation, process noise, and predicted values. This allows the bandwidth change trend to be continuously tracked and dynamically updated. The transmission window value is compared with the number of unsent data packets in the buffer queue. The tag priority level field is extracted and sorted. When an abnormal state is triggered, the window value is adjusted to half of the current value and the transmission order is regenerated, thereby improving the transmission adaptability under sudden channel fluctuations. Attached Figure Description
[0019] Figure 1 This is a schematic diagram of the main steps of the present invention. Detailed Implementation
[0020] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.
[0021] Example 1 Please see Figure 1 This invention provides a technical solution: a collaborative inventory method for RFID books based on a wireless communication network, comprising the following steps: S1: Based on the unique ID of the RFID inventory terminal and the deployment location coordinates, the boundary data is parsed and the overlap ratio is calculated by comparing the coverage area coordinates. The interference signal strength value is extracted and compared with the threshold to screen terminal pairs. A greedy algorithm is used to establish a matrix connection of the numbers that meet the conditions and sort them by the number of connections to assign color codes, thus establishing an interference allocation matrix. S2: Based on the interference allocation matrix, read the color code and match the terminal number. After sorting the colors, associate them with the TDMA frame structure time slot number in sequence. Write the mapping result into the list of each terminal. Add the global synchronization time slot number at the beginning of the list to generate a time slot mapping list. S3: Based on the time slot mapping list, Kalman filtering is used to record the interval between each data transmission and the receipt of acknowledgment. The intervals are added together according to their weights to obtain the available bandwidth value, which is then divided by the round-trip delay measurement value to obtain the transmission window value. The number of buffers is compared and the packets are selected according to the tag priority level. In case of an anomaly, the window is halved and the sequence is rearranged to generate a priority scheduling sequence. S4: Based on the priority scheduling sequence, the number of transmissions and the number of buffers are counted. After comparing the average value, high and low load terminals are classified. High-level tags are extracted from high-load tasks and inserted into the list of low-load tasks to generate a load adjustment task table. S5: Based on the load adjustment task table, read and insert data packets according to the time slot number according to the load, adjust the order to the sending queue, record the number of tags sent and the number of buffers at the end of the cycle, and generate a cycle inventory record.
[0022] The specific steps for generating the interference assignment matrix are as follows: Based on the unique ID and deployment location coordinates of the RFID inventory terminal, the boundary coordinate points corresponding to each terminal are extracted and a coordinate set is established. The boundary points of any two terminals in the set are matched in sequence to calculate the overlapping area value, and all calculated values are stored in a list to generate a set of terminal overlap ratios. Based on the set of terminal overlap ratios, the interference signal strength values corresponding to each terminal are read and compared with preset thresholds item by item. Records with lower signal strength values are excluded from combinations with overlap ratios higher than the threshold. The terminal numbers that meet the conditions are paired and stored to generate a list of filtered terminal pairs. Based on the filtered terminal pair list, the terminal pair numbers are written into blank matrix cells and bidirectional connections are established. The number of connections for each terminal in the matrix is counted and the corresponding terminal numbers are rearranged in descending order. A greedy algorithm is used to assign color codes to the rearranged numbers in sequence to establish an interference allocation matrix. Based on the unique ID and deployment location coordinates of the RFID inventory terminal, the deployment location recorded by each terminal is parsed and a point set containing boundary coordinates is formed. The point set is arranged in clockwise order. The polygon area calculation method is used to match the boundary point sets of any two terminals. The area value of the overlapping area is calculated by setting the precision parameter to 0.001 meters. The unit of recording is square meters. The calculated overlapping area values of all terminals are stored in a list one by one. The terminal overlap ratio set is generated by using the ratio of the coverage area of each terminal to the overlapping area. Based on the terminal overlap ratio set, the interference signal strength value of each terminal is read. The signal strength is in dBm. The preset signal strength threshold is -65dBm. The signal strength of each terminal is compared with the threshold item by item. In the terminal combination where the overlap ratio is higher than 0.35 and the signal strength is not lower than the threshold, the relevant terminal numbers are recorded in a pairing form. All matching pairing numbers are organized into a filter terminal pair list. Based on the list of filtered terminal pairs, a blank matrix with the number of rows and columns equal to the number of terminals is created, with the initial value of each cell in the matrix being zero. The terminal pair numbers in the list are marked with a "1" at their corresponding positions in the matrix to indicate the existence of a connection relationship. The number of connections for each terminal in the matrix is counted and sorted in descending order of the number. A greedy algorithm is used to assign color codes to the sorted terminal numbers sequentially, starting from the integer 1. During the assignment process, it is checked whether there is a connection relationship with the already assigned terminal and the use of already assigned color values is avoided. The color code with the first number in the available color set is selected for assignment according to the number order until all terminal numbers are assigned, generating an interference assignment matrix.
[0023] The greedy algorithm first extracts all terminal numbers from the list of filtered terminal pairs and counts the number of times each terminal appears in the list. This number is defined as the terminal connection count. Then, the terminal numbers are sorted in descending order of connection count to obtain a sequence of terminal numbers in descending order of connection count. Starting from the first terminal in the sequence, the algorithm checks whether there is a connection relationship between the terminal and the terminal with the assigned color code. If there is a connection relationship and the color code is the same, a conflict occurs. The algorithm then selects the color code with the first numerical sequence number among all candidate values from the set of unused color codes and assigns it. If there is no conflict, the current color code is kept. The terminal with the assigned color code is then marked as processed, and the same rule is applied to the next terminal in the sequence to perform color code assignment. This process is repeated until all terminals in the sequence have been assigned a unique and conflict-free color code, forming a one-to-one correspondence between the color code and the terminal number. This correspondence is then written into the corresponding cell of the interference assignment matrix. Greedy algorithm, according to the formula:
[0024] in: Indicates the first in the RFID book collaborative inventory system Terminal ID, This represents the value of a bidirectional connection matrix element generated by an inventory terminal in a wireless communication network. Indicates terminal The physical distance weighting coefficient between the connected terminal and the terminal. Indicates terminal With terminal Historical interference probability weighting coefficients Indicates terminal Color conflict sensitivity weighting coefficient in the color coding allocation process Indicates terminal The weighted number of connections; Execution process: First, the screening terminal of the inventory system reads the RFID book tag information of the books participating in this round of inventory and determines the terminal number. For each pair of terminals that have a direct link in physical distance and network topology, a blank connection matrix is then used. Enter 1 in the corresponding position and simultaneously enter 1 in the symmetrical position to establish a bidirectional connection. After the matrix is constructed, assign a number to each terminal. Iterate through all possible connection targets Read the corresponding Value, when When the value equals 1, a multidimensional weighted calculation step is performed, multiplied by the connection distance weight coefficient. By measurement terminal The physical communication distance from the RFID tag to the target is obtained by linearly normalizing the collected minimum and maximum values to the interval [0.5, 1.5], and then multiplying it by the historical interference probability weighting coefficient. The terminal within the preset statistical period With terminal The result is obtained by dividing the number of communication interference occurrences between the two by the total number of connections between them and then smoothing the result using probability. This result is then multiplied by the color conflict sensitivity weighting coefficient. Statistical terminals during the experimental color coding phase The ratio of the number of color conflicts to the total number of allocations is normalized. The product of the aforementioned weighting coefficients is then summed with... Multiply to obtain the corresponding weighted connectivity value and arrive Accumulated across all ranges As a terminal The weighted connection count value, for all terminals The terminal numbers are generated in descending order of numerical value and then assigned color codes accordingly to avoid interference from adjacent terminals in the network having the same code. A complete interference allocation matrix is established based on the correspondence between color codes and terminal numbers and stored for subsequent inventory tasks.
[0025] The specific steps for generating the time slot mapping list are as follows: Based on the interference allocation matrix, color codes are read sequentially from the matrix and compared with the terminal number table one by one. The corresponding terminal numbers are arranged in ascending order according to the color code, and these numbers are mapped to the time slot number positions of the TDMA frame structure in order to generate a color time slot corresponding set. Based on the color time slot correspondence set, each set of mapping data is written into the local time slot list of each terminal, a global synchronization time slot number is inserted at the beginning of the list, the time slot list is reordered and confirmed for storage, and a time slot mapping list is generated. Based on the interference allocation matrix, the corresponding color code is read sequentially for each row of the matrix, and a one-to-one comparison is performed between the color code and the terminal number table. The terminal numbers read during the comparison process are arranged in ascending order according to the color code values. The sorting algorithm is based on direct insertion to perform ascending sorting. The comparison step size is set to 1 during the sorting process. The swapping step is to compare the current position number with the previous number and then perform the swapping operation. The current arrangement state is recorded when each round of insertion is completed. All terminal numbers are processed in the above order until the arrangement is completed. The terminal numbers after the arrangement is completed are mapped to the slot number positions in the TDMA frame structure. The mapping method is to start from the first number of the number sequence and sequentially correspond to the slot index of the frame structure. The slot index value ranges from 1 to N, where N is the total number of numbers. The correspondence between the number and the slot is recorded as a tuple, and finally a color slot corresponding set is generated. Based on the color slot correspondence set, the mapping data of each pair of color codes and slot numbers in the set is grouped according to the corresponding terminal and written into the local slot list of each terminal. For each terminal's slot list, a global synchronization slot number is inserted at the beginning. The global synchronization slot number is 0. The slot list after insertion is sorted in ascending order using a sorting algorithm based on quicksort. In quicksort, the slot value at the middle index position is selected as the comparison benchmark. Slot numbers smaller than the benchmark are moved to the first half of the slot, and slot numbers larger than the benchmark are moved to the second half of the slot. The above sorting process is repeated for the first and second partitions until the number of elements in each partition is no more than 1. The sorted slot list is checked item by item and stored in the terminal's non-volatile storage unit, finally generating a slot mapping list.
[0026] The specific steps for generating a priority scheduling sequence are as follows: Based on the time slot mapping list, the transmission time tag is read from the transmission record of each terminal and stored in the time series table. The acknowledgment time tag is read from the reception feedback record and paired with the corresponding transmission time tag to calculate the time difference. Each time difference is input into the Kalman filter operation and recursively corrected with the state estimation. The available bandwidth state is updated by combining the measurement noise and the predicted value to generate the available bandwidth set. Based on the available bandwidth set, the bandwidth values of each terminal are read from the set and the round-trip delay measurement values are called one by one to obtain the transmission window value. The obtained window value is compared with the number of unsent data packets in the terminal buffer queue. For the buffer data packets that exceed the window value, the tag priority field is extracted one by one and sorted from high to low priority to generate an ordered queue and generate a tag priority sending list. Based on the tag-priority sending list, read the data packet sending feedback records of each terminal in the list and calculate the packet loss rate. Extract the number of duplicate acknowledgments and compare them with the set threshold item by item. When any comparison result is higher than the threshold, call the current transmission window value and calculate half of it as the new window value. Write the new window value into the scheduling parameters and rearrange the data packet sending order accordingly to generate a priority scheduling sequence. Based on the time slot mapping list, the transmission time tags are read one by one from the transmission records of each terminal. The time tag format is fixed as hours, minutes, seconds plus milliseconds, and they are written into the time sequence table in the reading order. The acknowledgment time tags are read one by one from the reception feedback records and are kept to correspond with the transmission time tags of the same sequence number. The pairing operation method is used to pair the transmission and acknowledgment time tags one by one. The time difference value is obtained by subtracting the transmission time from the acknowledgment time of each pair of tags. The time difference value is in milliseconds. The time difference values are input into the Kalman filtering method in sequence. The initial state estimate value is set to 0, the initial estimate error covariance is set to 1, the process noise covariance is set to 0.001, and the measurement noise covariance is set to 0.01. When each time difference value is entered into the calculation, the prediction step is executed first to derive the predicted value and the prediction error covariance using the previous state estimate and the process noise covariance. Then, the update step is executed to calculate the Kalman gain and correct the predicted value using the predicted value, the measurement noise covariance, and the time difference value. At the same time, the estimate error covariance is updated. The updated bandwidth state value is recorded in the position indexed by the terminal number. After all the calculations are completed, the available bandwidth set is formed. Based on the available bandwidth set, the available bandwidth value of each terminal is read sequentially from the set. The bandwidth value is in Mbps. Then, the round-trip time (RTT) measurement value matched with the terminal is called and the division operation is performed one by one. The RTT value is in milliseconds. The result is used as the transmission window value of the terminal. The precision of the transmission window value is set to two decimal places. The transmission window value is compared with the number of unsent data packets in the corresponding terminal's buffer queue. Data packets with a number exceeding the transmission window value are read sequentially. The tag priority field is extracted. The priority level is represented by an integer with a value range from 1 to 10. The data packets are rearranged in descending order of priority using a bubble sorting method. During the sorting process, adjacent elements are compared and swapped according to their values. The number of repetitions is equal to the number of data packets minus one, until the sorting is complete. The sorted data packet sequence generates a tag priority sending list. Based on the tag-priority sending list, the sending feedback record of each data packet in the list is read, and the ratio of the number of data packets marked as lost to the total number of packets sent is calculated. The result is recorded as the packet loss rate in percentage. At the same time, the number of duplicate acknowledgments is counted and compared item by item with the set duplicate acknowledgment threshold, which is 3. When the packet loss rate exceeds 0.1 and the number of duplicate acknowledgments is higher than the threshold, the current transmission window value is called, and the value is divided by 2 to obtain the new window value. The new window value overwrites the original window value and is written into the scheduling parameter table. The task order of the tag-priority sending list is rearranged according to the new window value, and the sorting method is the same as the first sorting method. After the rearrangement is completed, the priority scheduling sequence is output.
[0027] Kalman filtering first pairs the transmission time stamps of each terminal with the corresponding reception acknowledgment time stamps to calculate the time difference, and uses the difference as the observation value to input the initial state of the Kalman filter. Then, the current state estimate and the state transition equation are used to calculate the predicted state value, and the estimated covariance and process noise covariance of the previous cycle are used to calculate the predicted covariance. Then, the predicted covariance and the measurement noise covariance are substituted into the Kalman gain formula to calculate the Kalman gain coefficient. Next, the predicted state value is corrected to obtain the filtered updated state value. The state value is then recursively adjusted using the difference between the observation value and the predicted value. The estimated covariance is corrected according to the updated state value. Each set of time difference values is processed iteratively, and the available bandwidth estimate of each terminal is output. All estimates are then combined into an available bandwidth set. Kalman filtering, according to the formula:
[0028] in: This represents the bandwidth state estimate for the k-th iteration after multidimensional weight correction. This represents the bandwidth value predicted based on the previous state. This represents the iterative stability adjustment coefficient. Indicates the first Kalman gain in the next iteration This represents the instantaneous bandwidth measurement value. This represents the link latency sensitivity weighting coefficient. This represents the queue occupancy rate weighting coefficient; Execution process: First, according to the time slot mapping list, the transmission records of multiple inventory terminals are read sequentially and parsed to obtain the corresponding transmission time tags. The transmission time tags of each terminal are stored in the time sequence table in order. Then, the acknowledgment time tags are read from the feedback records of the receiving end and matched with the corresponding transmission time tags. The time difference between the terminal and the receiving end is calculated, and the instantaneous available bandwidth is calculated based on the link length and transmission delay as the measurement value. Obtain the predicted bandwidth value from the previous time step. The variance of multiple consecutive time difference samples within a set time window is statistically analyzed and linearly normalized to obtain the link delay sensitivity weighting coefficient. The queue occupancy weighting coefficient is calculated by reading the instantaneous number of bytes occupied in the current terminal exit buffer and comparing it with the maximum buffer capacity. In the three most recent iterations, the reciprocal of the mean absolute change in the bandwidth state estimate is calculated and restricted to the interval [0.8, 1.2] as the iterative stability adjustment coefficient. Instantaneous bandwidth measurement value and and After multiplication and weighted correction, the result is compared with the predicted bandwidth value. Calculate the residuals and multiply them by the Kalman gain. And then multiply by The correction value is obtained, and then added to the predicted bandwidth value to obtain the bandwidth state estimate after multidimensional weight correction. All the iterations obtained The available bandwidth is stored in a set according to time sequence, and the final set is used for wireless link scheduling and bandwidth allocation optimization during the collaborative inventory process.
[0029] The specific steps for generating the load balancing task table are as follows: Based on the priority scheduling sequence, the number of tags sent and the number of buffered tags for each terminal in the interference group are extracted. These numbers are compared with the average value of the interference group. Terminals with values higher than the average value are marked as high-load, and terminals with values lower than the average value are marked as low-load, thus generating a terminal load classification list. Based on the terminal load classification list, high-level tagged tasks are selected from the high-load terminal task list, and these tasks are inserted into the specified positions in the low-load terminal task list in proportion, while maintaining the original task order, to generate a load adjustment task table. Based on the priority scheduling sequence, the number of transmitted tags and the number of buffered tags for each terminal in the interference group are extracted. The arithmetic average method is used to sum the number of transmitted tags of all terminals and divide by the number of terminals to obtain the average number of transmitted tags, in units of count. Then, the number of buffered tags is summed and divided by the number of terminals to obtain the average number of buffered tags, in units of count. The number of transmitted tags of each terminal is compared with the average number of transmitted tags. If it is greater than the average, the terminal is marked as having a high load state, and the field value is recorded as H. If it is less than or equal to the average, the terminal is marked as having a low load state, and the field value is recorded as L. The number of buffered tags is compared with the average number of buffered tags according to the same rules and the mark field value is updated synchronously. The terminal mark field records and related quantity information are organized into a table format according to the terminal number. Each row of the table contains the terminal number, the number of transmitted tags, the number of buffered tags, and the load mark field, generating a terminal load classification list. Based on the terminal load classification list, tasks with a priority level value of not less than 8 are selected from the terminal task list marked as high load. The priority level value ranges from 1 to 10. The insertion position is determined by a proportional insertion sorting method, with the proportion parameter set to insert one high-level task for every 10 existing tasks. After numbering the selected tasks in their original order, a high-level task is inserted after every proportional number of tasks in the low load terminal task list. During the insertion process, the relative positions of the original tasks remain unchanged. After all insertions are completed, the task list is regenerated according to the terminal number and task order. The processed data is recorded in a tabular file, with each row containing the terminal number, task sequence number, tag priority level field, and task source tag field, generating a load adjustment task table.
[0030] The specific steps for generating periodic inventory records are as follows: Based on the load adjustment task table, new tasks are read from the low-load terminal task list, located at the position corresponding to the time slot number in the list, and the task data packets are inserted according to the time slot sequence and connected with the original tasks to generate a task insertion sequence. Based on the task insertion sequence, the order of the sending queues of all terminals is adjusted. At the end of the current period, the number of completed tags and the number of remaining buffers of each terminal are counted and recorded to generate a periodic inventory record. Based on the load adjustment task table, new tasks are read from the task list of terminals marked as low load according to the new addition mark. The time slot matching insertion method is used to locate the new task to the position consistent with the corresponding time slot number. The positioning steps are as follows: scan the time slot number list in ascending order and compare the target time slot number of the new task with the number currently scanned in the list. If they are equal, record the current position index value. Insert the task data packets into the located task list position in ascending order of time slot sequence number. The insertion operation is to retain the previous task in the original task order and continue the new task after the positioning position. Keep the task numbers before and after the insertion continuous and do not reassign numbers. After all the new tasks are inserted, the adjusted task order is recorded in list format according to the number to generate the task insertion sequence. Based on the task insertion sequence, the order of the entire terminal sending queue is adjusted. The order reordering method is used to replace the original matching task order in the entire terminal sending queue with the sending order of the tasks in the task insertion sequence. The order matching is based on the one-to-one correspondence of task numbers. Starting from the first task number, matching and replacing the corresponding elements in the sending queue are performed sequentially. After all replacements are completed, a new sending order list is formed. At the end of the current sending cycle, the number of tags that have been sent by each terminal is counted by integer and the value is recorded. The number of tasks remaining in the buffer is also counted by integer and the value is recorded. The above two values are recorded in a table format according to the terminal number order. Each row of the table contains the terminal number, the number of completed tags, and the number of remaining buffers, generating a cycle inventory record.
[0031] The above are merely preferred embodiments of the present invention and are not intended to limit the present invention in any other way. Any person skilled in the art may make changes or modifications to the above-disclosed technical content to create equivalent embodiments that can be applied to other fields. However, any simple modifications, equivalent changes, and modifications made to the above embodiments based on the technical essence of the present invention without departing from the scope of the present invention shall still fall within the protection scope of the present invention.
Claims
1. A collaborative inventory method for RFID books based on a wireless communication network, characterized in that, Includes the following steps: S1: Based on the unique ID of the RFID inventory terminal and the deployment location coordinates, the boundary data is parsed and the overlap ratio is calculated by comparing the coverage area coordinates. The interference signal strength value is extracted and compared with the threshold to screen terminal pairs. A greedy algorithm is used to establish a matrix connection of the numbers that meet the conditions and sort them by the number of connections to assign color codes, thus establishing an interference allocation matrix. S2: Based on the interference allocation matrix, read the color code and match the terminal number, sort the colors and associate them with the TDMA frame structure time slot number in sequence, write the mapping result into each terminal list, add the global synchronization time slot number at the beginning of the list, and generate a time slot mapping list. S3: Based on the time slot mapping list, Kalman filtering is used to record the interval between each data transmission and the receipt of acknowledgment. The intervals are added together according to their weights to obtain the available bandwidth value, and then divided by the round-trip delay measurement value to obtain the transmission window value. The number of buffers is compared and the packets are selected according to the tag priority level. In case of an anomaly, the window is halved and the sequence is rearranged to generate a priority scheduling sequence. S4: Based on the priority scheduling sequence, count the number of transmissions and the number of buffers, compare the average value and classify high and low load terminals, extract high-level tags from high load tasks and insert them into the low load task list to generate a load adjustment task table. S5: Based on the load adjustment task table, read and insert data packets according to the time slot number according to the load, adjust the order to the sending queue, record the number of tags sent and the number of buffers at the end of the cycle, and generate a cycle inventory record.
2. The RFID-based collaborative book inventory method based on a wireless communication network according to claim 1, characterized in that, The specific steps for generating the interference allocation matrix are as follows: Based on the unique ID and deployment location coordinates of the RFID inventory terminal, the boundary coordinate points corresponding to each terminal are extracted and a coordinate set is established. The boundary points of any two terminals in the set are matched in sequence to calculate the overlapping area value, and all calculated values are stored in a list to generate a set of terminal overlap ratios. Based on the set of terminal overlap ratios, the interference signal strength values corresponding to each terminal are read and compared with a preset threshold item by item. Records with a signal strength lower than the threshold are excluded from the combinations with an overlap ratio higher than the threshold. The terminal numbers that meet the conditions are paired and stored to generate a list of filtered terminal pairs. Based on the filtered terminal pair list, the terminal pair numbers are written into blank matrix cells and bidirectional connections are established. The number of connections for each terminal in the matrix is counted and the corresponding terminal numbers are rearranged in descending order. A greedy algorithm is used to assign color codes to the rearranged numbers in sequence to establish an interference allocation matrix.
3. The RFID-based collaborative book inventory method based on a wireless communication network according to claim 2, characterized in that, The greedy algorithm first extracts all terminal numbers from the filtered terminal pair list, counts the number of times each terminal appears in the list, and defines this number as the terminal connection count. Then, it sorts the terminal numbers in descending order of connection count to obtain a sequence of terminal numbers in descending order of connection count. Starting from the first terminal in the sequence, it checks whether there is a connection relationship between the terminal and the terminal with the assigned color code. If a connection relationship exists and the color code is the same, a conflict occurs. Then, it selects the color code with the first numerical sequence number among all candidate values from the set of unused color codes and assigns it. If there is no conflict, it keeps the current color code. Then, it marks the terminal with the assigned color code as processed, and performs color code assignment on the next terminal in the sequence according to the same rules. It repeats until all terminals in the sequence have been assigned a unique and conflict-free color code, forming a one-to-one correspondence between color code and terminal number, and writes it into the corresponding cell of the interference assignment matrix.
4. The RFID-based collaborative book inventory method based on a wireless communication network according to claim 2, characterized in that, The greedy algorithm is based on the formula: in: Indicates the first in the RFID book collaborative inventory system Terminal ID, This represents the value of a bidirectional connection matrix element generated by an inventory terminal in a wireless communication network. Indicates terminal The physical distance weighting coefficient between the connected terminal and the terminal. Indicates terminal With terminal Historical interference probability weighting coefficients Indicates terminal Color conflict sensitivity weighting coefficient in the color coding allocation process Indicates terminal The weighted number of connections.
5. The RFID-based collaborative book inventory method based on a wireless communication network according to claim 1, characterized in that, The specific steps for generating the time slot mapping list are as follows: Based on the interference allocation matrix, color codes are read sequentially from the matrix and compared with the terminal number table one by one. The corresponding terminal numbers are arranged in ascending order according to the color code, and these numbers are mapped to the time slot number positions of the TDMA frame structure in sequence to generate a color time slot corresponding set. Based on the color time slot correspondence set, each set of mapping data is written into the local time slot list of each terminal, a global synchronization time slot number is inserted at the beginning of the list, the time slot list is reordered and confirmed for storage, and a time slot mapping list is generated.
6. The RFID-based collaborative book inventory method based on a wireless communication network according to claim 1, characterized in that, The specific steps for generating the priority scheduling sequence are as follows: Based on the time slot mapping list, the transmission time tag is read from the transmission record of each terminal and stored in the time series table. The acknowledgment time tag is read from the reception feedback record and paired with the corresponding transmission time tag to calculate the time difference. Each time difference is input into the Kalman filter operation and recursively corrected with the state estimation. The available bandwidth state is updated by combining the measurement noise and the predicted value to generate the available bandwidth set. Based on the available bandwidth set, the bandwidth values of each terminal are read from the set and the round-trip delay measurement values are called one by one to obtain the transmission window value. The obtained window value is compared with the number of unsent data packets in the terminal buffer queue. The buffer data packets that exceed the window value are read one by one and the tag priority field is extracted. The data packets are sorted from high to low priority to generate an ordered queue and a tag priority sending list is generated. Based on the tag priority sending list, read the data packet sending feedback records of each terminal in the list and calculate the packet loss rate. Extract the number of duplicate acknowledgments and compare them with the set threshold item by item. When any comparison result is higher than the threshold, call the current transmission window value and calculate half of it as the new window value. Write the new window value into the scheduling parameters and rearrange the data packet sending order accordingly to generate a priority scheduling sequence.
7. The RFID-based collaborative book inventory method based on a wireless communication network according to claim 6, characterized in that, The Kalman filter first pairs the transmission time stamps of each terminal with their corresponding reception acknowledgment time stamps to calculate the time difference. This difference is then used as the observation value and input into the initial state of the Kalman filter. Next, the current state estimate and the state transition equation are used to calculate the predicted state value. The predicted covariance is obtained by calculating the estimated covariance and the process noise covariance from the previous cycle. Then, the predicted covariance and the measurement noise covariance are substituted into the Kalman gain formula to calculate the Kalman gain coefficient. The predicted state value is then corrected to obtain the filtered updated state value. The state value is then recursively adjusted using the difference between the observation value and the predicted value. The estimated covariance is corrected based on the updated state value. Each set of time difference values is processed iteratively, and the available bandwidth estimate for each terminal is output. All estimates are then combined into an available bandwidth set.
8. The RFID-based collaborative book inventory method based on a wireless communication network according to claim 6, characterized in that, The Kalman filter is defined according to the formula: in: This represents the bandwidth state estimate for the k-th iteration after multidimensional weight correction. This represents the bandwidth value predicted based on the previous state. This represents the iterative stability adjustment coefficient. Indicates the first Kalman gain in the next iteration This represents the instantaneous bandwidth measurement value. This represents the link latency sensitivity weighting coefficient. This represents the queue occupancy rate weighting coefficient.
9. The RFID-based collaborative book inventory method based on a wireless communication network according to claim 1, characterized in that, The specific steps for generating the load adjustment task table are as follows: Based on the priority scheduling sequence, the number of sent tags and the number of buffered tags of each terminal in the interference group are extracted. These numbers are compared with the average value of the interference group. Terminals with values higher than the average value are marked as high-load, and terminals with values lower than the average value are marked as low-load, thus generating a terminal load classification list. Based on the terminal load classification list, high-level tagged tasks are selected from the high-load terminal task list, and these tasks are inserted into the specified positions in the low-load terminal task list in proportion, while maintaining the original task order, to generate a load adjustment task table.
10. The RFID-based collaborative book inventory method based on a wireless communication network according to claim 1, characterized in that, The specific steps for generating the aforementioned periodic inventory record are as follows: Based on the load adjustment task table, new tasks are read from the low-load terminal task list, located at the position corresponding to the time slot number in the list, and the task data packets are inserted according to the time slot sequence and connected with the original tasks to generate a task insertion sequence. Based on the task insertion sequence, the order of the sending queues of all terminals is adjusted. At the end of the current period, the number of completed tags and the number of remaining caches of each terminal are counted and recorded to generate a periodic inventory record.
Citation Information
Cited By
Data-driven bandwidth measurement method
CN121396856A
