A personnel point reporting method based on a hierarchical heterogeneous topology
By employing a hierarchical heterogeneous topology-based personnel location reporting method, combined with cross-validation of multiple wireless sampling and active detection, trajectory thinning and structured encapsulation, reversible Bloom lookup tables and random linear network coding, the problems of high data packet loss rate, large latency, redundant transmission and duplicate data storage in existing technologies are solved. This achieves highly reliable and consistent data processing, improving the system's security and disaster recovery capabilities.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA COAL INFORMATION TECH (BEIJING) CO LTD
- Filing Date
- 2025-11-05
- Publication Date
- 2026-07-31
AI Technical Summary
Existing technologies suffer from problems such as high data packet loss rate, large latency, difficulty in verifying data authenticity, redundant transmission, and duplicate data storage in personnel location reporting. In particular, in complex network environments, the system cannot effectively identify data authenticity and synchronization consistency, affecting the accuracy and efficiency of data processing.
A personnel location reporting method based on hierarchical heterogeneous topology is adopted. The location acquisition service Gcs performs cross-validation through multiple wireless sampling and active probing, and generates trusted channel labels by combining trust judgment. The hierarchical scheduling service Grdps performs trajectory thinning and structured encapsulation, and uses reversible Bloom lookup tables and random linear network coding for deduplication and disaster recovery transmission. The upper layer service completes hierarchical exchange and visibility service to achieve highly reliable and highly consistent data aggregation.
It improves the authenticity and anti-spoofing capabilities of data, reduces the number of key points, reduces redundant data transmission, achieves efficient deduplication and recovery under weak network conditions, ensures the continuity and reliability of data flow between different topology nodes, and provides a highly stable and traceable data processing solution.
Smart Images

Figure CN121645146B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data processing technology, and in particular to a method for reporting personnel locations based on hierarchical heterogeneous topology. Background Technology
[0002] In recent years, with the rapid development of mobile terminals, IoT devices, and multi-source positioning technologies, personnel location reporting and trajectory management have become crucial foundational capabilities in urban management, security, traffic dispatching, and emergency response. Existing technologies generally rely on the periodic collection and centralized reporting of terminal location information. This involves sending personnel location information to upper-level servers via cellular networks or local area communication links, and then processing it centrally using databases or message middleware. Mainstream solutions typically fall into two categories: one is a single-layer data reporting mechanism based on a fixed sampling period, and the other is an asynchronous trajectory synchronization mechanism based on cloud aggregation. The former acquires latitude and longitude information at the terminal side through periodic triggering and directly uploads it. While the system structure is simple, it suffers from a high packet loss rate in weak network or intermittent coverage environments. The latter caches location data at the terminal or edge nodes and uploads it in batches after communication is restored. Although this reduces the reporting failure rate to some extent, significant latency remains, and there is a lack of effective data deduplication and consistency control between different nodes.
[0003] In multi-level aggregation environments, existing technologies typically rely on centralized message middleware to facilitate data exchange between different levels. For example, in scenarios such as enterprise parks, urban emergency response, and logistics scheduling, edge nodes send collected personnel location data to the message middleware, which is then retrieved from the message queue by the central node. While this approach is scalable, the system cannot effectively verify data authenticity when replay attacks or signal spoofing occur in the reporting link. Furthermore, data synchronization between different nodes often relies solely on message sequence numbers or timestamps, lacking data structures with reversible differential capabilities. This leads to a large amount of redundant data transmission during link recovery or resynchronization, consuming bandwidth resources and increasing system load. In addition, when multiple nodes aggregate in parallel, the lack of idempotent control mechanisms between data batches easily causes duplicate data storage and overlapping trajectories, severely impacting the accuracy of subsequent visualization and analysis results. Summary of the Invention
[0004] In view of this, the present invention provides a personnel location reporting method based on hierarchical heterogeneous topology, which can achieve highly reliable and consistent data aggregation in complex network environments, improve the system's security, disaster recovery and scalability, and provide a high-precision, low-latency and traceable engineering implementation approach for large-scale personnel management and location monitoring.
[0005] The technical solution adopted in this invention is as follows:
[0006] A method for reporting personnel locations based on a hierarchical heterogeneous topology includes the following steps executed sequentially under the coordinated control of a location acquisition service (Gcs), a hierarchical scheduling service (Grdps), a hierarchical scheduling exchange service (Oss), and a message middleware (Mq):
[0007] Step 1: The GCS completes the data acquisition, reliability assessment, and generation of point atomic records; a point atomic record is a single personnel location entry after reliability assessment.
[0008] Step 2: Grdps performs trajectory thinning and structured encapsulation at this level to form point message blocks; a point message block is an encapsulation unit composed of several trajectory key points;
[0009] Step 3: Oss, in cooperation with the upper-level Grdps from Step 2, completes the dual deduplication and disaster recovery transmission based on the reversible Bloom lookup table IBLT and random linear network coding, forming a coding block and recovering the point message block from Step 2; a coding block is a transmission unit obtained by random linear network coding.
[0010] And step 4: The upper-level Grdps from step 3 completes the hierarchical switching and visibility service steps at the upper layer.
[0011] Further, step 1 specifically includes: the point acquisition service (GCS) generates an acquisition session when the terminal initiates a report, and triggers three wireless samplings and two active probes consecutively within the acquisition session; each wireless sampling simultaneously records the received signal strength sequence, round-trip delay detection results, and carrier phase spectrum samples; the GCS establishes an index for the three wireless samplings and two active probes within the same session according to the acquisition order; the GCS issues a challenge to the cell side and obtains the broadcast field set during the second active probe; the GCS performs a consistency check on the phase spectrum peak sequence order and the response of the second active probe during the third wireless sampling; the GCS generates a trusted channel label when the consistency check is successful; a trusted channel label is an identifier of the trustworthiness of the current wireless access channel; and a replay fingerprint is generated when the same segment is found to be propagating repeatedly; a replay fingerprint is a location feature of the repeated propagation phenomenon.
[0012] Furthermore, step 1 also includes: the point acquisition service Gcs constructs an idempotent key using personnel identifier, latitude and longitude information, session time, and random entropy; an idempotent key is a unique identifier formed by combining the personnel identifier, the current time, and random entropy; the aforementioned personnel identifier, the aforementioned latitude and longitude information, the trusted channel label generated in the trust determination in step 1, the generated playback fingerprint, and the constructed idempotent key are written into the point atomic record generated in step 1; and Gcs combines the organization identifier with the aforementioned personnel identifier to form a topic name, and delivers the written point atomic record to the message middleware Mq.
[0013] Furthermore, step 2 specifically includes: the hierarchical scheduling service Grdps subscribing to the aforementioned Mq topics corresponding to the organization identifier and personnel identifier, reading the point atomic records generated in step 1 in the order of arrival and grouping them by personnel identifier; Grdps sorting the point atomic records of the same personnel identifier by session time to form a sequence to be thinned; and Grdps executing the Douglas-Peucker trajectory thinning process on the formed sequence to be thinned. A process takes the start and end points of the sequence to be thinned as the initial polyline. When there is a point where the deviation exceeds a fixed spatial deviation upper limit, it is split at that point and recursively executed until all segments meet this fixed spatial deviation upper limit, thus obtaining the key polyline.
[0014] Furthermore, step 2 also includes: the hierarchical scheduling service Grdps continues to execute the Imai-Iri path optimization process on the key polyline obtained in step 4, and a process establishes a set of visibility connections between key points with the sequence order as a constraint; when the polyline deviation corresponding to the connection between any two points meets the fixed spatial deviation upper limit value defined in claim 4, the corresponding connection is added to the set of visibility connections; a key point path with a small number of nodes is constructed based on the established set of visibility connections; Grdps divides the constructed key point path into multiple point message blocks defined in step 2 according to the rule that each block contains no more than 128 trajectory key points, and each point message block contains the start and end key point index, key point list, trusted channel label summary, replay fingerprint summary and idempotent key from the point atomic record; and Grdps puts the divided point message blocks into the queue to be sent.
[0015] Furthermore, step 3 includes the following sub-processes: Step 3-1, Batch establishment and batch seed generation: Grdps in step 2 extracts several point message blocks from the queue to be sent in the order of arrival to form a batch. Grdps concatenates the idempotent keys of all point message blocks in the batch in lexicographical order, calculates the message digest, and extracts the batch seed; and Step 3-2, IBLT digest construction and uploading: Grdps establishes an IBLT structure using 3 hash functions and a fixed number of buckets. It performs 3 hashes on each idempotent key and its verification fingerprint in the batch and performs count field increment and bit-level XOR accumulation on the corresponding bucket to obtain the IBLT digest; an IBLT digest is a set digest generated by a reversible Bloom lookup table; Grdps uploads the obtained IBLT digest to the upper-level Grdps in step 3 via the hierarchical scheduling and switching service Oss.
[0016] Furthermore, step 3 also includes the following sub-processes: Step 3-5, after receiving the IBLT digest generated in step 3-2, the upper-level Grdps constructs a local IBLT digest using the same three hash functions and the aforementioned fixed number of buckets against its stored idempotent key set, and performs a bit-level XOR merge with the IBLT digest from the Grdps in step 2 to obtain a differential IBLT digest; and Step 3-6, IBLT stripping and missing block identification: the upper-level Grdps performs a stripping process on the merged differential IBLT digest; when the count field of a bucket is equal to 1, the upper-level Grdps parses the key digest field and fingerprint digest field of the corresponding bucket to obtain a target idempotent key and its verification fingerprint, and the upper-level Grdps removes the parsed target idempotent key from the buckets involved in the differential IBLT digest according to the same rules and records it as a missing block list element; the upper-level Grdps performs the stripping process cyclically until there are no buckets with a count field equal to 1, and the missing block list is obtained after this stripping is completed.
[0017] Furthermore, step 3 also includes the following sub-processes: Step 3-3, coding coefficient generation and coding block generation: Grdps in step 2 initializes the pseudo-random generator with the batch seed generated in step 3-1; the sequence output by the initialized pseudo-random generator drives the source block selector and coefficient selector; the driven source block selector extracts several source block indices from the set of point message blocks in the batch established in step 3-1; the driven coefficient selector selects the corresponding multiplication factor from the byte-level finite field lookup table; Grdps performs a combination of finite field addition and finite field multiplication operations on the extracted source blocks according to byte position alignment to generate the coding payload; Grdps generates a coding description header for each coding payload, the generated coding description header containing a batch identifier, batch seed indicator, a list of covered source block indices, coefficient selector index, and block sequence number; Grdps combines the coding description header and coding payload to form the coding block defined in step 3.
[0018] Furthermore, step 3 also includes the following sub-processes: Step 3-7, Minimum Necessary Coded Block Request: The upper-level Grdps establishes a coverage table based on the received code description header generated in step 3-3 and the missing block list obtained in step 3-6. The established coverage table records the number of intersections between the source block index set involved in each coded block and the missing block list; the upper-level Grdps selects the coded block sequence number with the largest intersection from the coverage table to form the first batch of request sets, and sends it to the Grdps in step 2 through the hierarchical scheduling exchange service Oss; Step 3-8, Gradual Resolution and Recovery The parent Grdps system establishes a coded block table and a source block status table locally. When a coded block involves a source block set containing only one unknown source block, the parent Grdps system performs byte-level table lookup resolution using the coefficient set indicated by the coded description header of the corresponding coded block and the known source block content, and outputs the corresponding unknown source block. After outputting the source block, the parent Grdps system deletes the contribution of the output source block from all coded blocks and updates the source block status table. When a new coded block containing only one unknown source block appears, the parent Grdps system continues to perform resolution until all missing blocks in the batch are recovered.
[0019] Furthermore, step 3 also includes steps 3-10, the idempotent merging and write-to-the-database queue sub-process: After recovering each source block, the upper-level Grdps in step 3 immediately performs idempotent merging in its own storage set using the idempotent key carried by the recovered source block. The idempotent merging records the merging result in the form of a pre-write log and enters the write-to-database queue. In addition, step 4 specifically includes: the upper-level Grdps performs partition persistence on the writable objects in the aforementioned write-to-database queue. The partitions are established with time indexes and geospatial indexes using organization identifiers, hierarchical identifiers, and regional codes as keys; the upper-level Grdps exchanges the partition data to higher-level Grdps through the hierarchical scheduling exchange service Oss to maintain consistency in the idempotent merging rules; and the upper-level Grdps provides query and subscription interfaces after completing the persistence. The query interface returns trajectory key points according to personnel identifiers, regions, and time intervals. The subscription interface pushes events when entering a fence, leaving a fence, or when movement is abnormal. The pushed events carry trusted channel tags and replay fingerprints.
[0020] By adopting the above technical solutions, this invention achieves the following beneficial effects: Compared with traditional solutions relying on single-layer data channels and centralized processing architectures, this invention has significant advantages in several aspects. First, regarding data reliability, by introducing a cross-validation mechanism of multiple wireless sampling and active probing during the point acquisition service stage, combined with the comprehensive judgment of received signal strength sequences, round-trip delays, and phase spectrum samples, it can effectively identify fake base stations and replay attacks, fundamentally improving the authenticity and anti-spoofing capabilities of reported points. Second, regarding trajectory processing, the hierarchical scheduling service, combined with the Douglas-Peucker and Imai-Iri dual thinning processes, significantly reduces the number of key points while maintaining the geometric characteristics and continuity of the path, enabling each point message block to achieve a dynamic balance between spatial accuracy and transmission load. Third, regarding data transmission and disaster recovery, this invention employs a dual mechanism of reversible Bloom lookup tables and random linear network coding. By exchanging only set digests and minimum necessary coding blocks between upper and lower levels, it achieves efficient deduplication and on-demand recovery under weak network conditions, effectively reducing redundant data transmission and repeated storage. By employing an idempotent key-based full-path merging strategy, the system can achieve consistent data recovery at any interruption point, avoiding duplicate data loss issues in multi-level aggregation. Furthermore, in the upper-layer service stages, hierarchical exchange, temporal and spatial joint indexing, and fence event detection mechanisms are used, enabling near real-time completion of trajectory queries, event subscriptions, and alarm pushes. This method design creates an autonomous and collaborative hierarchical structure between levels, improving the system's anti-interference and disaster recovery capabilities while ensuring the continuity and reliability of data flow across different topology nodes. This provides a highly stable, verifiable, traceable, and engineering-feasible comprehensive solution for large-scale personnel trajectory perception, situational analysis, and security supervision. Attached Figure Description
[0021] Figure 1 This is a schematic diagram of the fence determination and stability confirmation window mechanism in an embodiment of the present invention;
[0022] Figure 2 This is a schematic diagram of the sliding window playback detection principle in an embodiment of the present invention;
[0023] Figure 3 This is a schematic diagram comparing the trajectory thinning effect of the Douglas-Peucker algorithm in an embodiment of the present invention;
[0024] Figure 4 This is a schematic diagram of the visibility connection for Imai-Iri path optimization in an embodiment of the present invention. Detailed Implementation
[0025] All features disclosed in this specification, or all steps in all disclosed methods or processes, may be combined in any way, except for mutually exclusive features and / or steps.
[0026] Any feature disclosed in this specification, unless otherwise stated, may be replaced by other equivalent or similar features. That is, unless otherwise stated, each feature is merely one example of a series of equivalent or similar features.
[0027] Example 1: A personnel location reporting method based on hierarchical heterogeneous topology, comprising four steps executed sequentially under the collaborative control of the location acquisition service Gcs, hierarchical scheduling service Grdps, hierarchical scheduling exchange service Oss, and message middleware Mq. Step 1: The Gcs completes the acquisition and trust determination and generates atomic location records; an atomic location record is a single personnel location entry after trust determination.
[0028] In one specific implementation, the GCS creates a collection session when it detects a terminal initiating a report, recording the session time in milliseconds of Coordinated Universal Time (UTC). To achieve strict time alignment between subsequent sampling and probing operations, the GCS acquires a time reference via a secure handshake during session establishment and records the session time simultaneously on both the terminal and GCS sides, monotonically increasing in milliseconds. This time alignment ensures a uniform scale for subsequent window-based phase spectrum comparisons and repetitive segment detection, reducing bias caused by device-local timer drift. Within a single collection session, the GCS triggers three radio samplings and two active probings. All three radio samplings are completed within 2 seconds of the session time, with the first, second, and third samplings recommended to be scheduled approximately 200 milliseconds, 800 milliseconds, and 1600 milliseconds after the session time, respectively. Each radio sampling simultaneously records the received signal strength sequence, round-trip time delay (RTD) detection results, and carrier phase spectrum samples. The received signal strength sequence is recommended to include the strength values and cell identifiers of at least 10 neighboring transmitters, with a collection window length of approximately 120 milliseconds and a sampling resolution of approximately 1 millisecond. Round-trip delay detection results are obtained by sending probe data packets to and receiving echo data packets at the echo terminal on the cell side, with single detection delay measured in milliseconds. Carrier phase spectrum samples are obtained through fast spectrum acquisition at the terminal's RF front-end, covering the primary carrier and adjacent auxiliary carriers, with a recommended resolution of 5 kHz and a sampling duration of approximately 20 milliseconds.
[0029] Two active probes are performed between the first and second radio samples and between the second and third radio samples, ideally approximately 500 milliseconds and 1200 milliseconds after the session time, respectively. The first active probe establishes the echo path baseline and records the echo endpoint address and processing identifier. The second active probe issues a challenge and reads the set of broadcast fields from the cell side, including the cell identifier, neighbor cell list, synchronization information, and power-related parameters. The second active probe also returns latency statistics for the echo processing link, which GCS will use in consistency checks. GCS indexes the three radio samples and two active probes within the same session in the order of acquisition. Each sample or probe is assigned a session sequence number. GCS uses a combination of personnel identifier and session time as the primary index key and stores the sequence number, relative session time offset, latitude and longitude information of the acquisition point, received signal strength sequence, round-trip delay probe results, and a summary of the carrier phase spectrum sample in each record. This index structure supports subsequent sliding window alignment, adjacent sample stitching, and cross-references across observations.
[0030] GCS checks the peak order of the carrier phase spectrum obtained from the third radio sampling against the broadcast field set returned by the second active probing. The check consists of three categories of criteria. The first category is the consistency of received signal strength. In the three radio samplings, for the same cell identifier, GCS compares the segment relationships of its strength changes with the power-related parameters returned by the second active probing to see if they form a reasonable match. If the strength change of the same cell in the three radio samplings presents a smooth decrease or increase, and the order of the top-ranked cells in adjacent samplings matches the order of the neighboring cell list, then the conclusion that the strength is consistent can be given. Numerically, GCS can use an absolute difference in strength change not exceeding 8 dB as a smoothing threshold, and requires that the order of the top three neighboring cells changes by at most one position between adjacent samplings. This setting is because path loss and shadow fading of mobile terminals in short timescales usually exhibit gradual changes, while sudden strength changes are often related to fake base station handovers or abnormal transmissions. Limiting the position exchange and absolute difference range can highlight the strength trajectory under normal multipath conditions.
[0031] The second category of criteria is link coherence determination based on round-trip time (RTD). GCS compares the RTD of the first and second active probes with the passively measured delay statistics during the three radio sampling periods. If the RTD of the two active probes falls within a short interval (e.g., within 30 milliseconds), and the median of the passive delay statistics during the three radio sampling periods also falls within this short interval, then link coherence is considered valid. The 30-millisecond interval is used because cell-side echo processing is located on the edge path, and its delay is mainly affected by radio access scheduling and backhaul load. Under stable load, the fluctuation range is small; exceeding this range often indicates abnormal or illegal traffic forwarding. The third category of criteria is carrier phase spectrum fingerprint stability determination. GCS extracts peak values from the phase spectrum samples of the three radio samplings, forming a peak sequence. If the offset of the main peak position between the three samples is less than one subcarrier interval, and the variation ratio of the distance between adjacent main peaks in the three samples does not exceed 10%, and the phase spectrum collected after the second active probe corresponds to the same main carrier position as the synchronization information in the broadcast field set, then fingerprint stability is considered valid. The reason for using a subcarrier spacing as the upper limit of offset is that the frequency offset caused by local oscillator stability and channel selectivity is usually much smaller than this scale in a short period of time. However, due to differences in hardware configuration and synchronization strategy, the main peak position and peak spacing of fake base stations are prone to deviation.
[0032] GCS uses a counting method to make decisions among the three types of decision items mentioned above. When any two of the three decision items are true, GCS generates a trusted channel label. The benefit of generating a trusted channel label is that it can build cross-validation through mutually independent observations within a short time window, thereby resisting the situation where a single observation item is subject to accidental perturbation. If all three items are true, GCS attaches a high-confidence flag to the trusted channel label, indicating that the wireless environment of this session has stronger self-consistency.
[0033] Within a session, the GCS performs replay detection on the observation sequences obtained from three radio samplings and two active probes. The GCS traverses the received signal strength sequence and phase spectrum peak order using a fixed-length sliding window, with a recommended window length of 6 observation points and a sliding step size of 1 observation point. The GCS generates a hash digest for each window to represent its pattern. When the same hash digest as a previous window appears at a subsequent position within the session, and the corresponding round-trip delay variation is less than 15 milliseconds, while the phase spectrum main peak position change is less than one subcarrier interval, the GCS identifies this repetition range as a replay segment and records the segment's starting index, length, and the type of observation involved. For hysteresis-type replays, the GCS also records any window that jumps backward in time sequence as a replay segment.
[0034] refer to Figure 2The upper part of the figure shows the observation sequence, which consists of 12 consecutive observation points, labeled #1 to #12 from left to right. Each observation point is represented by a rectangle, which contains the observation point number and the corresponding received signal strength value. Specifically, the received signal strengths of observation points #1 to #6 are -65dBm, -68dBm, -70dBm, -72dBm, -74dBm, and -76dBm, respectively; the received signal strengths of observation points #7 to #12 are -65dBm, -68dBm, -70dBm, -72dBm, -74dBm, and -76dBm, respectively. Above the observation sequence is a first sliding window, represented by a dashed rectangle, covering observation points #1 to #6, with a window length of 6 observation points. The first sliding window is labeled "Window 1 (Length 6)" above and "Hash(Window 1) = H1" below, indicating that the hash digest of the observation sequence within the window yields the hash value H1. A second sliding window, also represented by a dashed rectangle, is positioned to the right above the observation sequence, covering observation points #7 to #12, with a window length of 6 observation points. The second sliding window is labeled "Window 2 (Length 6)" above and "Hash(Window 2) = H1" below. The area covered by the second sliding window is filled with a light color to indicate that this segment is a detected repeating fragment. A connecting line is drawn between the two sliding windows, extending downwards from the center of the first sliding window, then horizontally to the center of the second sliding window, and then upwards to connect to the second sliding window. Upward arrows are drawn at the endpoints of the two vertical segments of the connecting line, indicating a correspondence between the two windows. Above the horizontal segment of the connecting line is labeled "Replay Fragment Detected," indicating that the hash digests of the two windows are identical, thus identifying a replay phenomenon. Figure 2 The lower part lists the playback determination conditions, including four conditions: 1. Same window hash digest; 2. Round-trip delay variation less than 15 milliseconds; 3. Phase spectrum main peak position change less than one subcarrier interval; 4. Coverage threshold of 20%. These four conditions explain the specific determination rules for playback detection. Condition 1 is a window-level hash comparison, conditions 2 and 3 are continuity verification of observation items, and condition 4 is the coverage threshold setting for the playback segment in the entire session. Through this sliding window mechanism, the system can traverse observation sequences such as received signal strength sequence and carrier phase spectrum peak sequence with a fixed-length window. The recommended window length is 6 observation points, and the sliding step size is 1 observation point. When the hash digest of a subsequent window is the same as that of a previous window, and the corresponding round-trip delay variation is less than 15 milliseconds, and the phase spectrum main peak position change is less than one subcarrier interval, the system identifies this repetition range as a playback segment and records the segment start index, segment length, and the observation type involved.
[0035] GCS combines all replay segments within a session into a replay fingerprint in the form of a sequential list. This fingerprint serves two purposes. First, it acts as constraint information for subsequent hierarchical scheduling services, facilitating the differentiation and labeling of anomalous segments during the trajectory thinning phase. Second, it serves as supplementary evidence for trustworthiness determination. When both strength consistency and fingerprint stability are met, and the replay segment coverage exceeds 20% of the session length, GCS retains the trusted channel label, but adds a replay presence marker to the label, prompting upper-layer services to perform weighted handling in their alarm policies. The 20% coverage threshold is chosen because a small amount of repetition may originate from environmental reflection or cached retransmission, while continuous repetition is more likely related to malicious replay. By using the coverage threshold, valid data can be retained while highlighting anomalies that require special attention.
[0036] GCS acquires latitude and longitude information during each wireless sampling, sourced from satellite positioning, Bluetooth ranging fusion, or wireless cell positioning. GCS aligns the latitude and longitude information from the three wireless samplings within the session coordinates and selects the latitude and longitude information corresponding to the median time point as the representative location for that session. When the spatial dispersion diameter of the three latitude and longitude information is less than 10 meters, GCS directly uses the median location as the latitude and longitude information for the point atomic record. If the dispersion diameter is greater than or equal to 10 meters, GCS uses the location of the third wireless sampling as the latitude and longitude information for the point atomic record. This is because the third wireless sampling is adjacent to the second active detection, and the corresponding broadcast field set and phase spectrum sample can simultaneously participate in consistency verification, enabling the construction of a reference at the same time for location and channel observations. GCS binds personnel identifiers to the selected latitude and longitude information to construct the point atomic record.
[0037] When any two conditions are met in the consistency check, GCS generates a trusted channel label. The trusted channel label includes the session time, the sequence number range within the session, a list of observations involved in the decision, the number of valid decision items, and a playback presence marker. The list of observations explicitly lists the validity of the received signal strength determination, round-trip delay determination, and phase spectrum stability determination. This structure facilitates rapid location of the source of evidence during subsequent upper-layer retrieval and auditing.
[0038] GCS uses a combination of user identifier, session time, and random entropy to form an idempotent key. The user identifier is represented by a unique string within the platform. The session time uses Coordinated Universal Time (UTC) in milliseconds. The random entropy uses a 32-bit random sequence provided by a hardware random source. GCS concatenates these three elements in a fixed order and performs a hash operation. The hash algorithm can be from the SHA series, and the output is truncated to 128 bits. This idempotent key is stable and unique, supporting deduplication across different nodes and reducing the probability of collisions during cross-system merging. The 128-bit truncation provides ample space for large-scale session volumes while also resulting in lower coding load and storage overhead.
[0039] GCS generates point atomic records, which include personnel identifiers, latitude and longitude information, session timestamps, trusted channel tags, replay fingerprints, and idempotent keys. GCS combines organization identifiers and personnel identifiers to form the message queue (MQ) topic name and delivers the point atomic records to the MQ. Delivery employs at least-once delivery semantics and includes the idempotent key and session timestamp in the message header for sequential consumption and deduplication on the Grdps side. To improve end-to-end visibility, GCS also stores a summary of the point atomic record in its local pre-write log. This summary includes the idempotent key, session timestamp, and latitude and longitude information and is stored for at least 15 minutes to facilitate replay after network recovery.
[0040] The received signal strength smoothing threshold is set to 8 dB, which can cover the slow intensity changes caused by common outdoor and indoor mobile movements, while providing a sensitive indication of abnormal power injection. The round-trip delay continuity interval is set to 30 ms, reflecting the fluctuation range of edge echo paths under stable queuing conditions; when illegal forwarding occurs on the edge path, the delay distribution often shows a step increase or periodic fluctuation, and a fixed interval judgment can provide an intuitive conclusion. The upper limit of the phase spectrum main peak offset is set to one subcarrier interval, which aims to filter out small drifts caused by frequency offset and sampling rate errors, while retaining the ability to distinguish the local oscillator differences of different transmitting devices. The sliding window length is set to 6 observation points, which can cover a short period of feature combination and provide sufficient matching strength when repetitive segments occur; the step size is set to 1 observation point to improve the sensitivity of repetition detection. The playback coverage threshold is set to 20% to balance the difference between occasional repetition and continuous playback.
[0041] When the latitude and longitude information dispersion diameter in the three wireless samplings is between 10 meters and 30 meters, GCS marks the session as a moving state session and adds a moving state marker to the point atomic record to instruct Grdps to prioritize retaining turning points during thinning. If the broadcast field set returned by the second active probe lacks a neighboring cell list, GCS still performs intensity consistency and phase spectrum stability determination and records the missing item in the trusted channel label. This record can indicate scenarios with insufficient information on the broadcast side during upper-layer auditing. If the echo terminal reports packet loss, GCS initiates a supplementary active probe again within the same session. The latency of the supplementary probe, together with the previous two probes, participates in coherent determination to avoid misjudgment due to a single packet loss.
[0042] One option is to use Bluetooth ranging fusion. GCS appends the received power and angle of arrival information of the Bluetooth beacon within three wireless sampling windows. GCS compares the Bluetooth received power variation curve with the received signal strength segment graph of the main cell. When the relative trends of the two are consistent between two samplings, the consistency is included in the strength determination item, thereby improving the stability of reliable determination in indoor environments. Another option is to use WLAN round-trip time ranging. In addition to two active probes, GCS initiates two short data packet round-trip measurements to the WLAN ranging end, and uses the median delay of these measurements as a reference, comparing the round-trip delay on the cell side with this reference value. When the difference between the two types of delays is less than 20 milliseconds, the link coherence conclusion is more robust, suitable for situations where the edge computing node and the echo end are not in the same operating domain.
[0043] Example 2: Step 2: Grdps completes trajectory thinning and structured encapsulation at this level to form point message blocks; a point message block is an encapsulation unit composed of several trajectory key points.
[0044] In one specific implementation, Grdps subscribes to message middleware (MQ) topics corresponding to organization and personnel identifiers. Point atomic records are written to the receiving queue in arrival order, and Grdps processes them according to personnel identifiers, ensuring that the same personnel identifier forms a separate processing sequence. The point atomic records entering processing include the personnel identifier, latitude and longitude information, session time, trusted channel label, replay fingerprint, and idempotent key. Grdps stably sorts records for the same personnel identifier by session time, with a session time precision of milliseconds. If records with the same millisecond scale appear, Grdps sorts them in parallel according to the receiving order, forming a strictly monotonic time-series chain. This time-series chain is used for subsequent thinning and path optimization, ensuring that geometric calculations are based on a consistent time axis. In urban multipath or indoor environments, latitude and longitude information may fluctuate within a short period. Grdps applies two-step constraints to the sorted sequence. The first step is a short-range smoothing constraint. Using three consecutive records as a window, the straight-line distance between the start and end points of the window is calculated. If the perpendicular distance of the midpoint relative to the straight line is less than 3 meters and the time span of the three points is less than 1500 milliseconds, the midpoint is marked as a candidate point that can be preferentially thinned out. This setting reflects the geometric redundancy of the gradually changing motion segment. The second step is the steering retention constraint. Using three consecutive records as a window, when the steering change at the midpoint is significant, the point is retained. Specifically, the orientation difference between the two endpoint vectors is compared. If the orientation difference is greater than or equal to 30 degrees, the point is marked as mandatory to retain. This can stably retain the skeleton points of the polyline path, especially in situations such as street corners, ramp merging, and obstacle avoidance, preserving the key shape of the trajectory.
[0045] Grdps executes the Douglas-Peucker process on the available point set mentioned above. The process uses the start and end points of the entire sequence to form an initial polyline, and finds the point in the sequence with the largest deviation from this polyline. If this maximum deviation is greater than a fixed spatial deviation upper limit, the point is added to the keypoint set, and the sequence is divided into two subsequences: one from the start point to this point, and the other from this point to the end point. The search and division process is repeated for each subsequence. The process ends when the maximum deviation in all subsequences does not exceed the fixed spatial deviation upper limit. The fixed spatial deviation upper limit is set according to the application scenario. For urban scenarios, it can be set to 5 meters; for suburban scenarios, it can be set to 8 meters; and for highway scenarios, it can be set to 10 meters. Choosing 5 meters allows the trajectories of pedestrians or slow-moving vehicles to maintain the shape of intersections and small-radius turns at the street scale; choosing 8 meters has a good compression effect on the trajectories of general vehicles on secondary roads; choosing 10 meters can cover slight lateral drift on highway ramps and long straight sections. The core of the Douglas–Peucker process lies in prioritizing the retention of points that contribute the most to the deviation of the entire polyline segment. These points often correspond to geometric inflection points and points of change in motion state of the trajectory. Through segmentation and recursion, the process provides a representative sequence of key points under finite threshold conditions, while eliminating redundant points in large segments of approximate straight lines.
[0046] Grdps performs Imai-Iri path optimization on the keypoint sequence obtained from Douglas-Peucker. The optimization is based on the principle that if the keypoint sequence is viewed as nodes arranged chronologically, any two nodes can be connected by a straight line segment, and the deviation of this line segment from the original point sequence is always below a fixed spatial deviation upper limit. Therefore, the original intermediate nodes between these two nodes can be merged, allowing the same trajectory shape to be expressed with fewer nodes. The implementation is as follows: Starting with the first node in the keypoint sequence, it attempts to connect further nodes to the starting node one by one. Each attempt checks whether the deviation of the original point sequence covered by the connection is below the fixed spatial deviation upper limit. If the check passes, this pair of nodes is recorded as a visible connection, and the process continues to try further nodes. Once a connection to a further node fails the check, the process stops immediately, and the furthest visible connection of this stage is taken as the result. Then, the endpoint of this connection is taken as the new starting node, and the above process is repeated until the end of the sequence is reached. By performing visibility checks segment by segment, a path that passes through fewer nodes but satisfies the same error boundary can be constructed in a linear fashion. The value of this optimization lies in the fact that it does not simply follow the segmentation obtained by Douglas–Peucker recursion, but rather takes a global perspective to connect segments that always fit together in the original data as long as possible, thereby further reducing the number of key points while maintaining a faithful representation of trajectory bends and curvature changes.
[0047] refer to Figure 3This diagram uses a two-dimensional coordinate system to display trajectory data, showing both the original trajectory and the simplified trajectory. The original trajectory is represented by a light-colored dashed line, formed by connecting 80 original trajectory points. These points are marked with small dots and filled with a semi-transparent gray. The original trajectory's path begins at the lower left of the diagram, extending horizontally to the right with slight up-and-down fluctuations, then turning upwards at the right side of the diagram, forming an almost right-angle turn. It then extends vertically upwards, turning left again at the top, and finally extending downwards and terminating at the upper left. This original trajectory accurately reflects the movement of personnel or equipment over a continuous time period, including numerous redundant points caused by positioning noise, multipath effects, or short-term dwell times. The simplified trajectory is represented by a thick solid line, formed by connecting nine key points. Each key point is represented by a large hollow circle, outlined with a black solid line, filled with white, and marked with numbers 1 to 9 at its center, corresponding to the first through ninth key points. The simplified trajectory maintains the same overall orientation as the original trajectory, but minor fluctuations and redundant points in the original trajectory are simplified using polyline segments. Key points are mainly retained at the turning points and geometric inflection points. A deviation indicator line is drawn in the middle of the graph, connecting a test point on the original trajectory to the perpendicular position of the corresponding line segment on the simplified trajectory. The deviation indicator line is represented by a dashed line with arrows at both ends, indicating the vertical deviation distance of the test point relative to the simplified trajectory line segment. The deviation indicator line is marked with "Deviation XX m", where XX is the specific deviation value. This value is less than the fixed spatial deviation upper limit of 8 meters, indicating that the test point, after being thinned out, will not exceed the allowable error range. Figure 3 The top left corner displays trajectory statistics, including four lines of text: the first line is "Original Trajectory Points: 80", indicating that the original trajectory contains 80 collection points; the second line is "Key Points: 9", indicating that 9 key points are retained after processing by the Douglas-Peucker algorithm; the third line is "Compression Rate: 88.8%", indicating that the data compression rate reaches 88.8%, that is, only 11.2% of the original number of points are retained; the fourth line is "Upper Deviation Limit: 8m", indicating that the upper limit of fixed spatial deviation is set to 8 meters, which serves as a core parameter of the algorithm to ensure the geometric accuracy of the simplified trajectory. Figure 3The upper right corner features a legend, including two items: the first is a light-colored dashed line with small dots, labeled "Original Trajectory"; the second is a thick solid line with large hollow circles, labeled "Simplified Trajectory". This legend clearly distinguishes the visual representations of the two trajectories. The core of the Douglas-Peucker algorithm lies in using the start and end points of the entire sequence to form an initial polyline, and finding the point in the sequence with the largest deviation from this polyline. If the maximum deviation is greater than a fixed spatial deviation upper limit, the point is added to the keypoint set, and the sequence is divided into two subsequences. The search and division process is repeated for each subsequence. The algorithm terminates when the maximum deviation in all subsequences does not exceed the fixed spatial deviation upper limit. This algorithm, through recursive division, always prioritizes retaining the points that contribute the most to the deviation of the entire polyline. These points often correspond to the geometric inflection points and motion state change points of the trajectory, thus providing a representative set of keypoints under finite threshold conditions.
[0048] Trajectory geometric thinning should not obscure the trusted state and replay phenomena on the communication side. While executing Douglas-Peucker and Imai-Iri, Grdps attaches a trusted channel label and replay fingerprint summary from the atomic records of its source points to each retained keypoint. For points that are removed, Grdps incorporates their trusted channel label statistics into the statistical fields of adjacent retained points, accumulating the occurrence counts of high-trust labels and basic trusted labels, while also recording the interval description of the replay segment coverage. For example, in a sequence containing 80 original points, if the replay segment coverage is between 10 and 18, the replay fingerprint summary for that segment is recorded as a coverage range of 10 to 18. This significantly compresses the data volume while retaining crucial information affecting subsequent alarms and policy control. If multiple sets of high-trust labels appear within a segment, Grdps writes the count of these occurrences and the start and end position indices to the first keypoint of that segment for easy retrieval later. If a playback segment spans more than 20% of the duration of a paragraph, a prominent playback marker will be written at the end of the paragraph, indicating that the segment should be placed in the priority review path during display and exchange.
[0049] Grdps performs structured encapsulation after obtaining the optimized keypoint sequence. Encapsulation is based on sequential segmentation rules. Each point message block contains no more than 128 trajectory keypoints. One point message block is generated when the number of keypoints is less than or equal to 128; two point message blocks are generated when the number is between 129 and 256, and so on. Each point message block contains the following: Start and end keypoint indices, recording the positions of the first and last keypoints in the block within the entire keypoint sequence; a keypoint list, listing the latitude and longitude information and session time of the keypoints in chronological order; a trusted channel tag digest, recording the number of occurrences of high-trust tags, the number of occurrences of basic trust tags, and the position indices of these tags in the keypoint list; a playback fingerprint digest, recording the number of playback segments, coverage range, and a list of observation types involved; and an idempotent key set, writing the idempotent keys of the original point atomic records that make up the block, arranged in chronological order. This organizational method enables subsequent idempotent merging and reversible Bloom lookup table stripping at higher-level hierarchical nodes to perform one-time merging and differential identification based on idempotent keys. At the same time, it can directly locate credible evidence of the trajectory key points and their source records during querying and presentation.
[0050] The default recommended value for the fixed spatial deviation upper limit is 8 meters. In dense urban areas or pedestrian scenarios, 5 meters is recommended to preserve subtle turns and alleyway entrances / exits; in high-speed or suburban scenarios, 10 meters is recommended for a higher compression ratio. The recommended orientation change threshold for the turn retention constraint is 30 degrees. Since right or left turns in urban areas are typically close to 90 degrees, 30 degrees can capture flexible bends in advance. The recommended vertical distance threshold for the short-distance smoothing constraint is 3 meters, which can compress straight sections during slow, straight-line travel. The segmentation rule of up to 128 trajectory key points per block balances the granularity of subsequent batch coding with the display performance of the query end.
[0051] Taking person identifier 31001 as an example, Grdps received a total of 480 point atomic records from Mq within a 10-minute window. In the urban road scenario, the average vehicle speed is approximately 30 km / h. After sorting by session time, Grdps performed short-range smoothing constraints, marking approximately 310 candidate points that could be preferentially thinned; after performing turning retention constraints, 58 points had to be retained. Entering the Douglas–Peucker process, with a fixed spatial deviation upper limit set at 8 meters, approximately 95 key points were retained after recursive segmentation. Subsequently, Imai–Iri path optimization was performed, extending the visibility connection segment by segment starting from the first key point, and the final key point path contained 68 key points. Grdps counted trusted channel labels on this path: high-trust labels appeared 112 times, and basic-trust labels appeared 46 times. The concentrated high-trust labels were located between the 15th and 28th key points. The replay fingerprint summary showed that the number of segments was 3, the coverage range was 12 to 19, and the corresponding observation type was received signal strength and carrier phase spectrum. Grdps generates a point message block from 68 keypoints, with each block containing no more than 128 keypoints. The start and end keypoint indices of this point message block are 1 and 68, respectively. The keypoint list is arranged by millisecond-level timestamps. The trusted channel tag digest field records the count and location range of high-trust and basic trusted tags. The replay fingerprint digest field records the number of fragments and the coverage range. The idempotent key set field lists the idempotent keys of 480 point atomic records in chronological order for subsequent differencing and merging.
[0052] refer to Figure 4This diagram also uses a two-dimensional coordinate system to show the path differences before and after optimization. The diagram shows two path representations: the Douglas-Peucker path and the Imai-Iri visibility connection. The Douglas-Peucker path is represented by a light-colored dashed line connecting 10 keypoints, labeled P1 to P10 from bottom left to top right. These 10 keypoints are marked with small dots filled with semi-transparent gray, representing the keypoints retained after thinning by the Douglas-Peucker algorithm. The Douglas-Peucker path appears as multiple continuous broken lines, starting from point P1 in the lower left, passing through several turns before reaching point P10 in the upper right. The Imai-Iri visibility connection is represented by a thick solid line connecting only four optimized keypoints: P1, P5, P8, and P10. The four optimized key points are represented by large hollow circles, outlined with a solid black line and filled with white. The center of each circle is labeled P1, P5, P8, and P10. Visibility lines form three straight segments: the first connects P1 to P5, the second connects P5 to P8, and the third connects P8 to P10. These three visibility lines cross multiple intermediate points in the original Douglas-Peucker path, achieving a higher degree of path simplification. The points removed during optimization include P2, P3, P4, P6, P7, and P9 (a total of six points). These points are represented by smaller circles filled with light gray and marked with a black cross (×) at their center to clearly indicate their removal during the Imai-Iri optimization process. On the first visibility line segment (P1 to P5), multiple deviation indicator lines are drawn. These lines, represented by thin dashed lines, connect the removed intermediate points (P2, P3, P4) to the perpendicular position of this visibility line segment. Each deviation indicator line is labeled with a deviation value, such as "XX m". These deviation values are all less than the fixed spatial deviation upper limit of 8 meters, indicating that although the intermediate points have been removed, the vertical deviation distance between these points and the visibility line is still within the allowable error range, satisfying the visibility criterion. Figure 4 The top left corner displays optimization statistics, including four lines of text: The first line is "Douglas-Peucker keypoint count: 10", indicating that the input keypoint sequence contains 10 points; the second line is "Imai-Iri optimized keypoint count: 4", indicating that only 4 points are retained after Imai-Iri optimization; the third line is "Further compression rate: 60%", indicating that the points are further compressed by 60% based on Douglas-Peucker; the fourth line is "Visibility criterion: all intermediate point deviations are <8m", explaining the core judgment criteria for optimization. Figure 4The upper right corner displays a legend, including three items: the first is a light-colored dashed line labeled "DP path," representing the Douglas-Peucker path; the second is a thick solid line labeled "II visibility connection," representing the Imai-Iri visibility connection; and the third is a gray dot with a cross symbol labeled "points removed for optimization." The core idea of Imai-Iri path optimization is: if the keypoint sequence is viewed as nodes arranged in chronological order, any two nodes can be connected by a straight line segment, and if the deviation of this straight line segment in the original point sequence is always below a fixed spatial deviation upper limit, then the original intermediate nodes between these two nodes can be merged. The specific implementation is as follows: taking the first node of the keypoint sequence as the starting node, it attempts to connect further nodes to the starting node one by one, checking each attempt whether the deviation of the original point sequence covered by the connection is below the fixed spatial deviation upper limit. If the check passes, the pair of nodes is recorded as a visibility connection, and the system continues trying to find more distant nodes. If a connection to a more distant node fails the check, the system immediately stops trying to find the most distant visible connection of this stage, takes that connection's endpoint as the new starting node, and repeats the process until the end of the sequence is reached. Through this segment-by-segment visibility check, the system constructs a path that traverses fewer nodes but satisfies the same error boundary in linear time complexity, achieving a higher compression ratio without sacrificing geometric accuracy.
[0053] In one alternative implementation, satellite positioning experiences significant noise in large venues or underground spaces. Grdps sets a fixed spatial deviation upper limit of 5 meters, a short-range smoothing vertical distance threshold of 2 meters, and a turning retention orientation change threshold of 30 degrees. A floor identification step is added after sorting: points carrying the same floor identifier within the same session are prioritized for aggregation before executing Douglas-Peucker and Imai-Iri. This preserves key points such as elevator lobbies, stairwells, and corridor corners, improving the visibility of inspections and security.
[0054] Example 3: Step 3: Oss completes the dual deduplication and disaster recovery transmission based on the reversible Bloom lookup table IBLT and random linear network coding, forming a coding block and recovering the point message block in step 2; a coding block is a transmission unit obtained by random linear network coding.
[0055] In one specific implementation, Grdps retrieves point message blocks from the pending queue in arrival order and assembles them into a batch. The batch size is recommended to be between 16 and 64; 64 is suitable for city-level aggregations, 32 for park-level aggregations, and 16 for small-scale single-site deployments. Grdps arranges the idempotency keys of all point message blocks within the batch in lexicographical order and concatenates them into a fixed-length byte stream, calculates the message digest, and extracts the batch seed. The batch identifier is taken from a monotonically increasing sequence of Grdps data combined with the current time. The batch seed serves two purposes: first, it ensures that both parties can reproduce the encoding selection process without sharing plaintext source data; second, it makes the coefficients of the encoded blocks more evenly distributed across the source blocks, reducing coverage holes during decoding. Grdps constructs an IBLT digest for this batch for ensemble differencing and missing data identification. The construction method is as follows: Select three independent hash functions and a set of buckets. The number of buckets is proportional to the number of point message blocks in the batch, and an empirical value can be between 1.5 and 2 times. For example, when the batch contains 32 point message blocks, it can be set to 64 buckets, and when it contains 64 point message blocks, it can be set to 128 buckets. Each bucket contains three fields: a count field (signed count), a key digest field (fixed-length value obtained by bitwise XORing the idempotent key), and a fingerprint digest field (bitwise XORing the fixed-length value obtained by fingerprinting the idempotent key). During insertion, for each idempotent key, apply the three hash functions sequentially to locate the three buckets, increment the count field by one, and simultaneously perform bitwise XORing of the key digest and fingerprint digest of the idempotent key with the key digest and fingerprint digest fields of the corresponding buckets, respectively. The key point of this structure is that after performing a bitwise XOR operation on sets, the addition and subtraction of the count field and the XOR cancellation of the digest field can exhibit element-level separability. The parent Grdps and the Grdps in step 2 only need to exchange digests to locate the differences without transmitting the specific list of idempotent keys. The Grdps sends the IBLT digest to the parent Grdps via Oss, and simultaneously writes the batch identifier, bucket number, and hash function group identifier in the digest header, so that the peer can use the same parameters for construction and merging.
[0056] Grdps initializes a pseudo-random generator with a batch seed. The generator output sequentially drives two selectors: a source block selector extracts several source block indices from the point message blocks within the batch, and a coefficient selector selects the corresponding multiplication factor from a byte-level finite field lookup table. Grdps performs multiplication and bit-level XOR accumulation on the extracted source blocks according to byte position alignment to obtain the encoded payload. Grdps generates an encoded descriptor header for each encoded payload, containing a batch identifier, batch seed indicator, a list of involved source block indices, coefficient selector index, and block sequence number. The encoded descriptor header and encoded payload are combined to form a encoded block. The initial transmission strategy is to send several encoded blocks as a starting set simultaneously with the IBLT digest. The recommended size of the starting set is one-quarter to one-third of the number of source blocks; for example, 8 to 12 encoded blocks are sent in the first round when the number of source blocks is 32, and 16 to 20 encoded blocks are sent in the first round when the number of source blocks is 64. The advantage of this arrangement is that the initial set can quickly establish an overlay table and perform initial resolution at the upper-level Grdps end, while reserving enough encoded blocks for subsequent on-demand retransmission, avoiding redundancy caused by sending all at once.
[0057] After receiving the IBLT digest from the Grdps in step 2, the upper-level Grdps constructs a local IBLT digest using the same three hash functions and the same number of buckets, based on the set of idempotent keys already stored at this level. Then, it performs a bitwise XOR operation on each bucket of the two digests and subtracts the count fields to obtain the differential IBLT digest. The differential IBLT digest undergoes a stripping process to obtain a missing list. The stripping process is as follows: In the differential IBLT digest, find the bucket with a count field equal to 1. Resolve the key digest field and fingerprint digest field of that bucket to obtain a target idempotent key and its fingerprint. Treat this target idempotent key as a single element in the difference, and remove its influence from the three buckets in reverse order using the same three hash functions used during construction. Specifically, decrement the count field by one, and perform a bitwise XOR operation on the key digest field and fingerprint digest field with the key digest and fingerprint digest of that element, respectively. After removal, new buckets with a count field equal to 1 may appear; the parsing and removal process continues until no new buckets with a count field equal to 1 remain. After the stripping is complete, the remaining buckets that were not stripped form a small number of indecisive clusters. The parent Grdps classifies the resolved target idempotent key set as a missing list. The rationale for this process is that set differences appear as locally resolvable units in IBLT. A bucket equal to 1 represents a difference containing only one element. The trace left by this element in the three buckets can be cascaded by removing it in reverse, pushing more buckets to the state of equal to 1, thereby gradually releasing the complete missing set. In practice, when the ratio of the number of buckets to the number of source blocks is set to 1.5 to 2, the stripping can be completed in milliseconds when the difference size is in the tens to hundreds.
[0058] Upon receiving the first batch of encoded blocks, the upper-level Grdps immediately establishes a coverage table. This table records the number of intersections between the source block index set and the missing block list for each encoded block. The selection strategy employs a two-tiered rule: maximum intersection priority and deduplication priority. Maximum intersection priority aims to cover as many missing source blocks as possible with each request; deduplication priority aims to select encoded blocks with minimal overlap with already received encoded blocks, avoiding redundant combinations within the same batch. A request granularity of 4 to 8 encoded blocks per request is recommended to maintain a stable feedback rhythm in high-latency links. The upper-level Grdps sends a minimum necessary encoded block request to the Grdps in step 2 via Oss, containing a batch identifier and a list of block sequence numbers for the required encoded blocks. Oss registers the request and arrival time during forwarding and records the block sequence numbers awaiting a response in a short-term cache for rapid matching of subsequently arriving encoded blocks. The upper-level Grdps performs resolution and recovery triggered by the arrival of a coded block. The resolution approach is as follows: when a coded block involves one unknown source block, the unknown source block can be directly obtained; after writing the source block into the source block table, all coded blocks containing that source block are subtracted, updating their unknown source block counts; when another coded block with one unknown source block appears, the resolution continues. This process naturally forms a cascade from single unknown to full coverage. To enable the cascade to start quickly, the upper-level Grdps prioritizes coded blocks with a large intersection with the missing list but a small overlap with the already received coded blocks when building the coverage table, making it more likely that single unknown states will occur between combinations. In actual implementation, the upper-level Grdps performs multiplication using byte-level finite field lookups, and subtraction operations use bit-level XOR. During resolution, the upper-level Grdps calculates a fingerprint for each source block and compares it with the fingerprint obtained during IBLT stripping; if they match, the source block is marked as valid. Validated source blocks are converted into point-to-point message blocks and enter idempotent merging. The advantage of this method of resolution is that it does not require collecting a large number of encoded blocks at once. As long as the coverage relationship is sufficiently dispersed, a small-scale on-demand retransmission can trigger a chain recovery, significantly reducing link occupancy.
[0059] After recovering each point message block, the upper-level Grdps performs idempotent merging in its local storage set using the idempotent key set carried by that point message block. Idempotent merging is recorded in the pre-write log, with entries including a batch identifier, the start and end key indexes of the point message block, the start and end positions of the idempotent key set, and the verification result. The recommended pre-write log flushing cycle is 2 seconds or 100 entries, whichever comes first. After the pre-write log is persisted, the point message block enters the database queue, providing input for the hierarchical exchange and visibility service in step 4. This idempotent merging ensures that the combination of at least one delivery and on-demand retransmission logically appears as a single write, avoiding duplicate traces that could cause count inflation or alarm jitter at the upper layer.
[0060] In this step, Oss is responsible for ensuring the routing and ordering of digests, encoded blocks, and requests. Oss maintains a routing table, forwarding messages from the Grdps in step 2 to the target upper-level Grdps according to organization identifier, hierarchical identifier, and area code. Oss sets priorities for message categories: P0 for urgent categories, corresponding to point message blocks containing fence events or prominent replay indicators; P1 for regular categories, corresponding to ordinary trajectories; and P2 for background categories, corresponding to historical rewriting. Oss dequeues messages in the order of P0, P1, and P2. For each batch, Oss maintains a status entry, recording the first encounter time, the number of IBLT digests received, the number of encoded blocks received, the number of minimum necessary encoded block requests issued, and the number of batch acknowledgments received. The status entry is used to diagnose bottlenecks and present the upload progress in a visual interface. To improve link utilization, Oss enables compression when forwarding encoded blocks; LZ4 or Zstandard is recommended, with typical compression ratios between 1.5 and 3, resulting in a latency increase of less than 10 milliseconds.
[0061] The recommended ratio of buckets to source blocks is 1.5 to 2, and the recommended number of hash functions is 3. The recommended number of blocks encoded in the first round is one-quarter to one-third of the source blocks, and the recommended minimum number of necessary encoded blocks requested per round is 4 to 8. The recommended pre-write log flushing cycle is 2 seconds or 100 entries cumulatively. The recommended short-term cache window is 30 seconds. For high-latency links, the recommended timeout for Oss requests to responses is 3 seconds; for links within the same city, the recommended timeout is 1 second.
[0062] Assuming a batch contains 32 point message blocks, Grdps selects 64 buckets to construct an IBLT digest and uploads it, simultaneously sending 10 initial encoded blocks. The parent Grdps constructs a local IBLT digest using its locally stored idempotent key set, merges it with the digest from the Grdps in step 2, and then strips it to obtain a missing list containing 18 idempotent keys. The parent Grdps builds a coverage table using the 10 received encoded blocks, selecting the 4 encoded blocks with the largest intersection with the missing list, two of which have a coverage of 6 to 7 on the stripped 18 idempotent keys. The parent Grdps sends a request via Oss, and then sends 4 more encoded blocks. After receiving these 4 encoded blocks, the parent Grdps encounters 3 encoded blocks containing only 1 unknown source block, immediately solves for the 3 source blocks, updates all encoded blocks, and then encounters another 2 encoded blocks containing only 1 unknown source block. This iterative process recovers a total of 12 source blocks. The overlay table still showed 6 missing blocks, so 4 more coded blocks were requested. Upon arrival of the second round, the recovery of all 18 missing source blocks was completed. The upstream Grdps performed idempotent merging on each of the 18 point message blocks and wrote them to the pre-write log, then sent back batch confirmation along with a list of recovered idempotent keys. The entire process consumed 18 coded blocks, fewer than the number of source blocks, thus achieving the goal of on-demand retransmission.
[0063] When generating IBLT digests and encoded blocks, Grdps signs the digest and encoded description headers, covering the batch identifier, batch seed indicator, and a list of source block indices. The parent Grdps verifies the signature before merging and dissolving; if successful, it proceeds to stripping and decoding. When recovering source blocks, the parent Grdps verifies them using fingerprints; if consistent, the source block is marked as verified and enters idempotent merging. This two-layer verification establishes trusted paths simultaneously at the digest and data layers, improving the robustness of cross-layer exchange.
[0064] The location message block already includes the start and end key point indexes, key point list, trusted channel label digest, replay fingerprint digest, and idempotent key set in step 2. Step 3's recovery uses the idempotent key set as the main thread, merging the decoded source block with the current level storage set in one go, with the batch identifier and merge range recorded in the pre-write log. Step 4, after receiving the database queue, persists the data according to the organization identifier, hierarchy identifier, and region code, and uploads it to the higher-level Grdps via Oss. The idempotency rules remain consistent throughout the entire path, ensuring consistent convergence across levels.
[0065] In city-level deployments, a batch size of 64, a bucket count of 128, an initial transmission of 20 blocks, and a request for 8 blocks per cycle can achieve an end-to-end acknowledgment time of approximately 1 to 2 seconds in common cellular networks. The Oss status term can be used to generate a timing curve, sequentially marking the IBLT digest upload time, the arrival time of the first block transmission, the first missing block request time, the full recovery completion time, and the batch acknowledgment time. This curve helps operations personnel quickly identify bottleneck locations. For example, if the first missing block request time is too late, the number of blocks in the first transmission can be increased; if the full recovery completion time is too long, the granularity of each request can be increased, or a systematic random linear network coding can be used.
[0066] Example 4: Step 4: The upper-level Grdps from Step 3 completes the hierarchical switching and visibility service at the upper layer.
[0067] In one specific implementation, after receiving the location message blocks recovered in step 3, the upper-level Grdps system enters the data persistence queue. When the pre-write log reaches a safe level, batch persistence is performed. Persistence uses three-dimensional partitioning: the first dimension is the organization identifier, the second dimension is the hierarchy identifier, and the third dimension is the region code. It is recommended that the region code use a string prefix of the geographic grid, with a length of 6 to 8. A length of 6 provides a coverage diameter of approximately 1 km to 1.2 km, suitable for city-level aggregation; a length of 7 provides a coverage diameter of approximately 150 m to 300 m, suitable for urban area visualization; and a length of 8 provides a coverage diameter of approximately 30 m to 80 m, suitable for fine-grained retrieval at the park level. The advantage of three-dimensional partitioning is that it directly maps common query dimensions to physically adjacent data blocks, avoiding scattered scanning over large areas and significantly reducing the waiting time for upper-level retrieval.
[0068] Within a partition, the parent Grdps synchronously builds time and geospatial indexes. The time index is sliced by day, with each slice storing the start and end timestamps, entry count, and idempotent keys of the first and last location message blocks for that day. The slice granularity is one day because trajectory queries and subscriptions are typically performed daily or hourly; daily granularity allows append writes to occur all at once at the end, improving write throughput. The geospatial index uses a two-level organization: the first level is the prefix tree of the region code itself, used to locate the range at a coarse-grained level; the second level is a list of bounding boxes under each prefix node, with each list item recording the latitude and longitude information of the four corners of the smallest rectangle covered by that prefix and the entry count. This combination of two levels allows string prefix filtering and spatial boundary filtering to be performed simultaneously in a single location, reducing the number of subsequent point-by-point checks. To ensure the continuity of append writes, index updates are performed sequentially incrementally; each appended location message block only appends a single row update of the corresponding time slice and prefix node, with write latency typically below 50 milliseconds.
[0069] Upon storage, the parent Grdps immediately generates a hierarchical exchange list. This list, organized by partition, details the range of idempotent keys added to that partition since the last successful exchange, along with start and end timestamps and a partition watermark. The partition watermark indicates the partition's processing progress at its current level, including the timestamp of the last successful persistence and the last successful exchange to a higher level. Generating a list instead of uploading the entire list directly allows higher levels to quickly align incremental ranges without duplication. List transmission is handled by Oss, which delivers the list to the target parent Grdps based on its routing table and records the batch identifier and arrival time in its status table. Upon receiving the list, the higher-level parent Grdps initiates a pull request, expressed as a quadruple of organization identifier, hierarchy identifier, region code, and time range, along with a digest of the previously successfully aligned idempotent keys. Both ends merge the lists in one go using consistent idempotent key rules, avoiding duplicate writes. When a higher-level Grdps layer detects a gap between the idempotent key digest and the current level's records, it can send a gap report in reverse via Oss. The current level then replenishes the data at the granularity of the idempotent key set of the point message block. The core of this strategy is to transform cross-level data alignment into a reconciliation process between watermarks and gaps, achieving consistent aggregation with the smallest possible set. Numerically, the default batch size is recommended to be controlled at 500 to 2000 idempotent keys per batch, suitable for city-level grids to complete an upward alignment within 1 to 3 seconds. Higher levels can aggregate batches into larger granularities, such as 10,000 to 20,000 records, depending on actual bandwidth, to reduce the proportion of control messages.
[0070] The service consists of two types of interfaces: query interface and subscription interface. The query interface provides three common methods: by personnel identifier, by region, and by time interval, and supports combined filtering. The query by personnel identifier directly locates the corresponding partition set based on the organization and hierarchy identifiers in the 3D partitioning, then filters by time interval slices, returning a list of trajectory key points and their idempotent key sets in ascending time order. Strict ascending time order is used because terminals and networks can cause disorder; ascending output maintains the natural progression of the trajectory from start to finish in the interface presentation. The query by region first converts the query region into a set of region-coded prefixes, then performs intersection filtering using the bounding box list of each prefix. Intersection filtering is completed by comparing the latitude and longitude information of the four corners of the bounding boxes with the query region boundary; only prefixes that satisfy the intersection proceed to the next step of point-by-point inspection. This approach eliminates most irrelevant data at the prefix level, with only a small number of remaining candidates entering the point-by-point judgment, significantly reducing computation. The query by time interval directly locates the time slices, and the boundaries between slices are strictly aligned to the whole day in practice, resulting in stable performance for cross-day searches.
[0071] The subscription interface handles three types of events: entering the fence, leaving the fence, and movement anomalies. Entering and leaving the fence are based on the fence definition, which can be circular or polygonal. The core of event triggering is comparing the spatial relationship changes between two adjacent keypoints. Each time a new keypoint is written, the parent Grdps reads the fence status of the nearest keypoint to the person's identifier. If the previous state was outside the fence and the current state is inside, an "entering the fence" event is generated; if the previous state was inside the fence and the current state is outside, a "leaving the fence" event is generated. To suppress the interference of position jitter on the state, a stable confirmation window is introduced. The default length of the stable confirmation window is 2, meaning that when a state change is detected, two consecutive keypoints must match the new state before the event is confirmed, and the session time of the second keypoint is used as the event time. This filters out false alarms caused by single location jumps, especially showing stable performance in indoor edge or high-rise canyon environments. Polygon detection uses a ray-mapping method, employing horizontal ray crossing counting from left to right. Circular detection uses a distance threshold comparison between the center point and the current position, with the threshold being the fence radius. These two judgment methods do not require complex formula descriptions; they can be directly implemented by comparing integer counts with distance thresholds.
[0072] Movement anomalies are categorized into two types: stationary anomalies and speed anomalies. Stationary anomalies are used to detect personnel or equipment remaining stationary for extended periods. The criteria are: if the spatial span between three consecutive key points is less than 3 meters, and the time interval between the first and third key points is greater than or equal to 300 seconds, a stationary anomaly event is output. Using three key points instead of two adds a redundant point on the timeline, improving robustness. Speed anomalies are used to detect potential out-of-bounds movement or false location alerts. The criteria are: if the total time interval between three consecutive key points is less than or equal to 20 seconds, and the spatial interval between the first and third key points is greater than or equal to 200 meters, a speed anomaly event is output. By combining distance and time into integer thresholds, abnormal movement can be expressed without introducing complex calculations. After event generation, the event payload includes personnel identifier, organization identifier, hierarchy identifier, event type, event time, involved key point locations and session time, trusted channel tag digest count, and playback fingerprint digest count. The event identifier is a 128-bit hash of the concatenation of the personnel identifier, the event time, and the event type, which serves as an idempotent identifier for the event level, ensuring that it is consumed in one go when pushing across levels.
[0073] As can be seen, the service includes a trusted channel tag and a summary field of the replay fingerprint on both the push and query paths. The reason for extending these two fields to the upper layer is that the trust status and replay phenomena on the communication side directly affect the interpretation of the trajectory. For example, when an entry into a fence event has a prominent replay indicator, the front-end interface can highlight it as suspicious entry, and the business side can choose to trigger secondary confirmation; conversely, when high-trust markers appear densely on a trajectory, the credibility of the alarm increases, and the burden of manual review decreases. The fields are expressed in integer and range form, including the number of times high-trust markers appear, the number of times basic trust markers appear, the number of replay segments, the start and end values of the replay coverage, and a list of observation types.
[0074] To ensure the stability of queries and subscriptions, the upper-level Grdps maintains three watermarks for each partition: the receive watermark, the persistent watermark, and the exchange watermark. The receive watermark represents the maximum session time since step 3 entered the database queue; the persistent watermark represents the maximum session time since the database was successfully written; and the exchange watermark represents the maximum session time since the database was successfully exchanged to a higher level. These three watermarks monotonically increase and follow the relationship that the receive watermark is greater than or equal to the persistent watermark, and the persistent watermark is greater than or equal to the exchange watermark. Therefore, by default, service queries only return data not exceeding the persistent watermark, and subscriptions are pushed according to the receive watermark. This allows for near real-time updates on the interface while ensuring the stability and orderliness of historical queries. In typical scenarios, under cellular network and same-city data center conditions, the difference between the receive watermark and the persistent watermark is usually between 100 and 300 milliseconds, and the difference between the persistent watermark and the exchange watermark is usually between 500 and 1500 milliseconds.
[0075] The parent Grdps server generates audit logs for each hierarchical exchange and each event push. Audit logs include batch identifier, partition key, partition level, idempotent key summary, start and end timestamps, sending time, and peer confirmation time. The retention period can be set from 7 to 30 days. Setting it to 7 days covers troubleshooting within the past week, while setting it to 30 days covers month-end reconciliation and cross-departmental debugging. Audit logs support quick retrieval using batch identifier and personnel identifier as keys, facilitating the tracing of an exchange or alarm's entire chain within minutes.
[0076] refer to Figure 1 This diagram uses a two-dimensional plane coordinate system. A fenced area is drawn at the center of the coordinate system, represented by a circle with its boundary drawn as a thick dashed line, indicating that this area is a virtual fence rather than a physical boundary. Above the circle is labeled "Fenced Area," and below it is labeled "Radius R = X m," where X is the specific value of the fence radius, which can be set to 250 meters in this embodiment. A trajectory is drawn inside and outside the fenced area, consisting of nine key points connected together, labeled P1 to P9 from left to right. The key points are represented by circles, with the filling method distinguishing the point's position: points outside the fence (P1, P2, P8, P9) are filled in white, while points inside the fence (P3, P4, P5, P6, P7) are filled in black. Each key point is labeled with a point label P1 to P9 above it. The trajectory connects key points with solid lines. The trajectory path starts from point P1 on the left, which is outside the fence; then the trajectory extends to the right, passing point P2, which is also outside the fence; then the trajectory crosses the fence boundary to point P3, which is inside the fence; then the trajectory passes through points P4, P5, P6, and P7 in sequence inside the fence; then the trajectory crosses the fence boundary to point P8, which is outside the fence; finally, the trajectory reaches point P9, which is also outside the fence. An entry-fence event marker is drawn above and below point P3. An indicator line extends diagonally downwards from the upper left of point P3 and points to point P3, with an arrow at the end of the line. Above the indicator line is the label "Enter Fence Event," and below it is the label "(Stable Confirmation Window = 2)." This label indicates that the system detected an entry-fence event at point P3, and the confirmation of this event uses a stable confirmation window of length 2. An exit-fence event marker is drawn above and below point P8. An indicator line extends diagonally downwards from the upper right of point P8 and points to point P8, with an arrow at the end of the line. Above the indicator line is labeled "Leave the fence event", and below it is labeled "(Stable confirmation window = 2)". This label indicates that the system detected a leave the fence event at point P8, and the confirmation of this event also uses a stable confirmation window of length 2. Figure 1The lower section lists the explanation of the stable confirmation window mechanism, including three lines of text: The first line states, "When a state change is detected, two consecutive key points must be consistent," indicating that a state change requires the states of two consecutive key points to be consistent for confirmation; the second line states, "The session time of the second key point is used as the event time," explaining the rules for determining the event time; the third line states, "Suppressing false alarms caused by position jitter," explaining the function of this mechanism. The core of fence determination is comparing the spatial relationship changes between two adjacent key points. Each time a new key point is written, the system reads the fence state of the most recent key point for that person's identification. If the previous state was outside the fence and the current state is inside the fence, an "enter fence" event is generated; if the previous state was inside the fence and the current state is outside the fence, a "leave fence" event is generated. Circular fence determination uses a distance threshold comparison between the center point and the current position, with the threshold being the fence radius. When the distance between the key point and the fence center is less than or equal to the fence radius, it is determined to be inside the fence; otherwise, it is determined to be outside the fence. The stable confirmation window mechanism is used to suppress the interference of position jitter on the state. The default length of the stable confirmation window is 2, meaning that when a state change is detected, two consecutive keypoints must be consistent with the new state before the event is confirmed, and the session time of the second keypoint is used as the event time. Figure 1 In the illustrated embodiment, point P2 is located outside the fence, and point P3 is located inside the fence. A change in state from outside to inside is detected, but the system does not immediately confirm an entry event; instead, it waits for the next key point, P4. When point P4 is also inside the fence, the states of two consecutive points (P3 and P4) are both inside the fence. The system then confirms the entry event using the session time of point P4, but for simplicity, the event is marked at point P3 in the illustration. Similarly, point P7 is inside the fence, and point P8 is outside the fence. The system detects a change in state from inside to outside and waits for confirmation from point P9. When point P9 is also outside the fence, the states of two consecutive points (P8 and P9) are both outside the fence. The system then confirms the exit event using the session time of point P9, but again, the event is marked at point P8 in the illustration. Through this stable confirmation mechanism, the system can filter false alarms caused by single location jumps, exhibiting stable performance, especially in indoor edge or high-rise canyon environments, ensuring the accuracy and reliability of fence events.
[0077] This invention is not limited to the specific embodiments described above. The invention extends to any new feature or combination disclosed in this specification, as well as any new method or process step or combination disclosed herein.
Claims
1. A method for reporting personnel locations based on hierarchical heterogeneous topology, characterized in that, The following steps are executed sequentially under the coordinated control of the point acquisition service Gcs, the hierarchical scheduling service Grdps, the hierarchical scheduling exchange service Oss, and the message middleware Mq: Step 1: The GCS completes the data acquisition, trust determination, and generation of point atomic records; a point atomic record is a single personnel location entry after trust determination; specifically, the point acquisition service GCS generates an acquisition session when the terminal initiates a report, and triggers 3 wireless samplings and 2 active probes continuously within an acquisition session; each wireless sampling simultaneously records the received signal strength sequence, round-trip delay detection results, and carrier phase spectrum samples; The GCS establishes an index based on the three radio samples and two active probes within the same session, according to the acquisition order; the GCS issues a challenge to the cell side and obtains the broadcast field set during the second active probe; The GCS checks the consistency between the phase spectrum peak sequence and the response of the second active detection during the third wireless sampling. The GCS generates a trusted channel label when the consistency check is successful; a trusted channel label is an identifier of the trustworthiness of the current radio access channel; and a replay fingerprint is generated when the same segment is found to be propagated repeatedly. A replay fingerprint serves as a localization feature for the repeated propagation phenomenon; an idempotent key is constructed by the point acquisition service Gcs using personnel identification, latitude and longitude information, session time, and random entropy; an idempotent key is a unique identifier formed by combining the personnel identification, the current time, and random entropy; Write the aforementioned personnel identifier, the aforementioned latitude and longitude information, the trusted channel label generated in the trusted determination in step 1, the generated playback fingerprint, and the constructed idempotent key into the point atomic record generated in step 1; and have Gcs combine the organization identifier and the aforementioned personnel identifier to form a topic name, and deliver the written point atomic record to the message middleware Mq. Step 2: Grdps performs trajectory thinning and structured encapsulation at this level to form point message blocks; a point message block is an encapsulation unit composed of several trajectory key points; specifically, the hierarchical scheduling service Grdps subscribes to the aforementioned Mq topics corresponding to organization identifiers and personnel identifiers, reads the point atomic records generated in Step 1 in arrival order, and groups them by personnel identifier; Grdps sorts the point atomic records of the same personnel identifier by session time to form a sequence to be thinned; Grdps executes the Douglas-Peucker trajectory thinning process on the formed sequence to be thinned. A process takes the start and end points of the sequence to be thinned as the initial polyline. When there is a point where the deviation exceeds a fixed spatial deviation upper limit, it is split at that point and recursively executed until all segments meet this fixed spatial deviation upper limit. Up to this point, a key polyline is obtained. The hierarchical scheduling service Grdps continues to execute the Imai-Iri path optimization process on the obtained key polyline. One process establishes a set of visibility connections between key points with the sequence order as a constraint. When the polyline deviation corresponding to the connection between any two points meets the aforementioned fixed spatial deviation upper limit, the corresponding connection is added to the set of visibility connections. Based on the established set of visibility connections, a key point path with a small number of nodes is constructed. Grdps divides the constructed key point path into multiple point message blocks according to the rule that each block contains no more than 128 trajectory key points. Each point message block contains the start and end key point index, key point list, trusted channel label summary, replay fingerprint summary, and idempotent key from the point atomic record. Grdps then puts the divided point message blocks into a queue to be sent. Step 3: The Grdps from Step 2, in cooperation with the upper-level Grdps, and Oss complete the dual deduplication and disaster recovery transmission based on the reversible Bloom lookup table (IBLT) and random linear network coding, forming coded blocks and recovering the point message blocks from Step 2; a coded block is a transmission unit obtained through random linear network coding; wherein, the Grdps in Step 2 takes several point message blocks from the queue to be sent to form a batch, constructs an IBLT digest for the idempotent keys of each point message block in the batch, and sends it to the upper-level Grdps via the hierarchical scheduling and switching service Oss, and the upper-level Grdps constructs a local IBLT digest using its own stored idempotent key set. The process involves: 1) performing a bit-level XOR merge of the local IBLT digest and the uploaded IBLT digest to obtain a differential IBLT digest; 2) stripping the differential IBLT digest to identify a missing block list, thereby achieving deduplication based on the set difference of IBLT; 3) extracting source blocks from the point message blocks in the batch by Grdps in step 2; 4) performing a linear combination operation on the extracted source blocks in a byte-level finite field to generate encoded blocks carrying source block indices; 5) requesting corresponding encoded blocks from Grdps in step 2 based on the missing block list by the upper-level Grdps; and 6) recovering the point message blocks corresponding to the missing block list by gradually eliminating the received encoded blocks. And step 4: The upper-level Grdps from step 3 completes the hierarchical switching and visibility service steps at the upper layer.
2. The method according to claim 1, characterized in that, In step 3, Grdps from step 2 retrieves several point message blocks from the queue to be sent in the order of arrival to form a batch. Grdps concatenates the idempotent keys of all point message blocks in the batch in lexicographical order, calculates the message digest, and extracts the batch seed. Grdps establishes an IBLT structure using three hash functions and a fixed number of buckets. It performs three hash operations on each idempotent key and its verification fingerprint in the batch and performs count field increment and bit-level XOR accumulation on the corresponding bucket to obtain the IBLT digest. An IBLT digest is a set digest generated by a reversible Bloom lookup table. The IBLT digest obtained by Grdps is then sent to the upper-level Grdps in step 3 via the hierarchical scheduling and exchange service Oss.
3. The method according to claim 2, characterized in that, In step 3, after receiving the IBLT digest, the upper-level Grdps constructs a local IBLT digest using the same three hash functions and the fixed number of buckets to its own stored idempotent key set, and performs a bit-level XOR merge with the IBLT digest from the Grdps in step 2 to obtain a differential IBLT digest. The upper-level Grdps performs a stripping process on the merged differential IBLT digest. When the count field of a bucket is equal to 1, the upper-level Grdps parses the key digest field and fingerprint digest field of the corresponding bucket to obtain a target idempotent key and its verification fingerprint. The upper-level Grdps removes the parsed target idempotent key from the buckets involved in the differential IBLT digest according to the same rules and records it as a missing block list element. The upper-level Grdps performs the stripping process in a loop until there are no buckets with a count field equal to 1. After the stripping is completed, the missing block list is obtained.
4. The method according to claim 3, characterized in that, In step 3, Grdps from step 2 initializes a pseudo-random generator with the batch seed. The sequence output by the initialized pseudo-random generator drives a source block selector and a coefficient selector. The driven source block selector extracts several source block indices from the set of point message blocks within the batch, and the driven coefficient selector selects the corresponding multiplication factor from a byte-level finite field lookup table. Grdps performs a combination of finite field addition and finite field multiplication operations on the extracted source blocks, aligned to byte positions, to generate a coding payload. Grdps generates a coding description header for each coding payload. The generated coding description header includes a batch identifier, a batch seed indicator, a list of covered source block indices, a coefficient selector index, and a block sequence number. Grdps then combines the coding description header and the coding payload to form the coding block defined in step 3.
5. The method according to claim 4, characterized in that, In step 3, the upper-level Grdps establishes a coverage table based on the received encoded description header and the obtained missing block list. The established coverage table records the number of intersections between the source block index set involved in each encoded block and the missing block list. The upper-level Grdps selects the encoded block sequence number with the largest number of intersections from the coverage table to form the first batch of request sets and sends them to the Grdps in step 2 through the hierarchical scheduling exchange service Oss. The upper-level Grdps establishes a coded block table and a source block status table locally. When a coded block involves a source block set containing only one unknown source block, the upper-level Grdps performs byte-level table lookup resolution using the coefficient set indicated by the coded description header of the corresponding coded block and the known source block content, and outputs the corresponding unknown source block. After outputting the source block, the upper-level Grdps deletes the contribution of the output source block in all coded blocks and updates the source block status table. When a new coded block containing only one unknown source block appears, the upper-level Grdps continues to perform resolution until all missing blocks in the batch are recovered.
6. The method according to claim 1, characterized in that, Step 3 further includes: after recovering each source block, the upper-level Grdps immediately performs idempotent merging in its own storage set using the idempotent key carried by the recovered source block. The idempotent merging records the merging results in the form of a pre-write log and enters the write queue. Step 4 specifically includes: the upper-level Grdps performs partition persistence on the writable objects in the write queue, with partitions using organization identifier, hierarchy identifier, and region code as keys to establish time and geospatial indexes; the upper-level Grdps exchanges the partition data to higher-level Grdps through the hierarchical scheduling exchange service Oss, maintaining consistency in the idempotent merging rules; and after completing persistence, the upper-level Grdps provides query and subscription interfaces. The query interface returns key points of the trajectory according to personnel identifier, region, and time interval, while the subscription interface pushes events when entering or leaving a fence, or when movement is abnormal. The pushed events carry trusted channel tags and playback fingerprints.