Crane operating state data synchronization method for remote monitoring

CN122513412BActive Publication Date: 2026-10-09FRANTECH (SUZHOU) SERVICE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202610996437.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2026-07-06
Publication Date
2026-10-09
Estimated Expiration
2046-07-06

AI Technical Summary

Technical Problem

[0006]为此,本发明的目的在于:解决因通信链路拥塞导致数据无序丢失,使得云端数字孪生模型出现载荷突变或/和位置跳变的问题,从而提供一种用于远程监控的起重机运行状态数据同步方法,通过环形缓冲区的覆盖写入与起止索引号维护、基于索引号的有序回传、覆盖丢失区间的载荷填补以及位置轨迹平滑,实现载荷重量连续无断层且空间位置无跳变的虚实同步映射

Benefits of technology

首先,在边缘计算节点部署环形缓冲区,当检测到通信链路拥塞时启动本地写入流程,通过为每一帧源数据分配连续递增的数据分片索引号,从源头建立数据的时间顺序锚点。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122513412B_ABST
    Figure CN122513412B_ABST
Patent Text Reader

Abstract

The present application belongs to the technical field of data synchronization, and relates to a crane operation state data synchronization method for remote monitoring, which comprises the following steps: in response to communication link congestion, starting a ring buffer write, and assigning a continuously increasing data fragment index number to each frame of source data; in response to insufficient buffer space, performing an overwrite write on the frame with the smallest index number and updating the start and end index number range of the frame that is not overwritten; in response to a normal link, returning the source data in the start and end index number range to the cloud in index number order; locating the missing time interval lost due to the overwrite according to the index number of the returned data frame, and obtaining a continuous load sequence by numerical filling based on the load weight data before and after the missing interval; obtaining a continuous position trajectory according to the space position in the same time interval according to the load sequence; and updating a digital twin model according to the load sequence and the position trajectory. The present application realizes virtual-real synchronous mapping of continuous load weight without fault and space position without jump.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data synchronization technology, and in particular to a method for synchronizing crane operating status data for remote monitoring. Background Technology

[0002] In industrial settings such as ports and large construction sites, cranes, as core lifting equipment, require remote real-time monitoring of their operational status to ensure operational safety and improve scheduling efficiency. With the introduction of digital twin technology, the mapping between physical equipment and digital models is achieved by synchronizing multi-source operational status data such as load weight and spatial location collected on-site from the crane to a cloud-based virtual model, which has become a mainstream technological direction in the industry.

[0003] However, the actual work site has a complex electromagnetic environment caused by dense metal structures and frequent movement of multiple large pieces of equipment. These communication conditions cause the wireless link to frequently experience signal attenuation, drastic fluctuations in transmission delay, and even instantaneous interruptions.

[0004] Current mainstream data synchronization methods rely on consistently stable and ideal network conditions. When encountering network congestion or interruptions, most systems either discard unsent data packets or perform out-of-order retransmissions. Some improved solutions temporarily cache unsent data by setting up fixed-capacity storage buffers at edge nodes, and then push the entire data to the cloud once the network is restored.

[0005] However, this type of solution ignores the strict temporal sequence requirements of crane operation data. While it employs a mechanism of overwriting old data with new data when the buffer is full, it fails to record the temporal position of the overwritten data. This results in the cloud being unable to distinguish which time periods of data have been permanently lost and which remain intact after network recovery. More critically, when a link interruption causes the permanent loss of consecutive data segments, the cloud-based digital twin model will display severely distorted images, such as sudden changes in load values ​​or instantaneous jumps in the position of the suspended load, failing to provide reliable decision-making support for remote safety monitoring. Summary of the Invention

[0006] Therefore, the purpose of this invention is to solve the problem of data loss due to communication link congestion, which causes load abrupt changes and / or position jumps in the cloud-based digital twin model. This invention provides a method for synchronizing crane operation status data for remote monitoring. By overwriting and maintaining start and end index numbers in a circular buffer, orderly backhauling based on index numbers, filling load gaps in the overwritten intervals, and smoothing the position trajectory, this invention achieves continuous and uninterrupted virtual-real synchronous mapping of load weight and spatial position without jumps.

[0007] To address the aforementioned technical problems, this invention provides a method for synchronizing crane operating status data for remote monitoring, comprising: In response to communication link congestion, the edge computing node initiates local circular buffer data writing, assigns data fragment index numbers to each frame of source data collected by the crane sensor node according to the sampling order, and obtains a temporary data frame sequence; the source data includes load weight and spatial location. In response to insufficient remaining storage space in the circular buffer, based on the data fragment index number, an overwrite is performed on the temporary data frame with the smallest index number in the current buffer, and the start and end index number range of the overwritten temporary data frames in the circular buffer is updated. In response to a normal communication link, based on the data fragment index number, the source data within the range of the start and end index numbers is transmitted back to the cloud server to obtain the sequence of transmitted data frames. Based on the data fragment index number of each frame in the returned data frame sequence, locate the missing time interval corresponding to the data frame that was permanently lost due to overwrite; perform numerical filling based on the payload weight data of the two adjacent frames before and after the missing interval to obtain the payload weight sequence. Based on the load weight sequence, extract the spatial location within the same time interval in the returned data frame sequence to obtain the spatial location trajectory; The state parameters of the crane's digital twin model are updated based on the load weight sequence and spatial location trajectory.

[0008] Preferably, locating the missing time interval corresponding to the data frame permanently lost due to overwrite includes: maintaining a record of returned index numbers to mark whether the data frame corresponding to each data fragment index number has been confirmed as successfully returned; updating the record of returned index numbers according to the data fragment index number of each successfully returned data frame; after obtaining the sequence of returned data frames, obtaining the starting index number of the data frames that have not been overwritten and are temporarily stored in the current circular buffer, and determining the interval of consecutive index numbers whose index numbers are less than the starting index number and are not marked as returned by the record of returned index numbers as the missing time interval.

[0009] Preferably, maintaining the returned index number record includes: determining the maintenance range of the returned index number record based on the capacity C of the circular buffer and the starting index number S of the uncovered temporary data frame; the maintenance range is the index number interval [SC, S+C-1]; when updating the starting index number S, releasing the record bits in the returned index number record where the index number is less than SC, and sliding the maintenance range to the new interval [SC, S+C-1] corresponding to the updated starting index number S; when determining whether the index number has been successfully returned, if the index number is less than SC, then the data frame corresponding to the index number is determined to be a permanently lost frame; if the index number is greater than or equal to SC, then querying the corresponding return status in the returned index number record.

[0010] Preferably, updating the start and end index range of the uncovered temporary data frames in the circular buffer includes: after performing an overwrite, pointing the write pointer of the current circular buffer to the next storage unit of the overwritten frame, updating the start index of the uncovered temporary data frames to the original start index plus the number of overwritten frames, and keeping the end index unchanged.

[0011] Preferably, numerical imputation is performed based on the payload weight data of two adjacent frames before and after the missing interval, including: extracting the payload weight W1 of the last frame before the missing interval and the acquisition time T1 of that frame; extracting the payload weight W2 of the first frame after the missing interval and the acquisition time T2 of that frame; for the i-th missing frame within the missing interval, its acquisition time is T. i The padding value W for this frame is calculated according to the following formula. i : .

[0012] Preferably, the sampling time T of the i-th frame within the missing interval i The data fragment index number of this frame and the two frames before and after it is determined, and the determination method includes: ; T i T1 is the sampling time of the i-th frame within the missing interval; T2 is the sampling time of the last frame before the missing interval; T3 is the sampling time of the first frame after the missing interval; I1 is the data fragment index number of the last frame before the missing interval; I2 is the data fragment index number of the first frame after the missing interval; I4 is the sampling time of the last frame before the missing interval; I5 is the sampling time of the last frame before the missing interval; I6 is the sampling time of the last frame before the missing interval; I7 is the sampling time of the last frame before the missing interval; I8 is the sampling time of the last frame after the missing interval; I9 is ​​the sampling time of the last frame before the missing interval; I1 is the sampling time of the last frame before the missing interval; I1 is the sampling time of the last frame before the missing interval; I2 is the sampling time of the last frame after ... i This is the data fragment index number of the i-th frame within the missing interval.

[0013] Preferably, extracting the spatial position within the same time interval in the sequence of returned data frames includes: extracting the position coordinates of three consecutive frames for each frame within the same time interval in the sequence of returned data frames; if the vertical distance between the position coordinates of the middle frame and the line connecting the position coordinates of the preceding and following frames is greater than the maximum allowable position deviation, then the middle frame is determined to be a jump frame; for the coordinates of the determined jump frame, the original coordinates of the jump frame are replaced based on the midpoint coordinates of the line connecting the coordinates of the preceding and following frames; repeating the above determination and replacement process until no new jump frames appear after two consecutive traversals, thereby obtaining the spatial position trajectory.

[0014] Preferably, determining the maximum permissible position deviation Dmax includes: obtaining the maximum movement speed Vmax of the crane and the sampling period Δt of the sensor; and determining the maximum permissible position deviation Dmax as: Dmax = Vmax × Δt.

[0015] Preferably, in response to communication link congestion, the method includes: the edge computing node periodically sending heartbeat detection frames to the cloud server and recording round-trip delay values; when the round-trip delay values ​​recorded N times consecutively are all greater than the congestion delay determination value, the communication link is determined to be congested.

[0016] Preferably, updating the state parameters of the crane digital twin model includes: writing the load weight sequence into the load state register of the digital twin model in the cloud server according to the acquisition time, writing the spatial position trajectory into the position state register of the digital twin model according to the acquisition time, and triggering the digital twin model to recalculate the crane's three-dimensional attitude at the current time.

[0017] Compared with the prior art, the above-described technical solution of the present invention has the following advantages: First, a circular buffer is deployed on the edge computing node. When communication link congestion is detected, a local write process is initiated. By assigning a continuously increasing data fragment index number to each frame of source data, a time sequence anchor point for the data is established from the source.

[0018] Secondly, during the buffer write process, a range of start and end index numbers for unwritten data is maintained, so that the system always knows which data segments have been permanently discarded due to long-term congestion and which data segments are still intact and stored locally.

[0019] Secondly, once the link returns to normal, data fragments are transmitted back sequentially in ascending order of their index numbers to eliminate data timing errors caused by out-of-order transmission. For unavoidable overlay losses due to limited buffer capacity and prolonged congestion, the physical continuity of load weight over a short period is utilized—that is, the mass of a crane-lifted object does not undergo irregular abrupt changes. This is achieved by locating the missing time interval and filling it with known load values ​​from the preceding and following frames, ensuring the load data sequence remains continuous and uninterrupted on the timeline.

[0020] Finally, for the spatial location trajectory, based on the time window corresponding to the filled load sequence, the original location coordinates within the same interval are smoothed. By utilizing the kinematic constraints between adjacent sampling times, i.e. the continuous and finite acceleration of the object's displacement in a very short time, abnormal jump points caused by signal attenuation noise are effectively filtered out without affecting the real motion trajectory.

[0021] In summary, the crane operation status data synchronization method for remote monitoring described in this invention achieves continuous and seamless virtual-real synchronization mapping of load weight and spatial position without jumps by overwriting and maintaining the start and end index numbers of the ring buffer, orderly backhaul based on the index numbers, filling the load in the overwritten lost interval, and smoothing the position trajectory. Attached Figure Description

[0022] To make the content of this invention easier to understand, the invention will be further described in detail below with reference to specific embodiments and accompanying drawings.

[0023] Figure 1 This is a flowchart of a crane operation status data synchronization method in a preferred embodiment of the present invention; Figure 2 This is a flowchart of load weight filling in a preferred embodiment of the present invention; Figure 3 This is a flowchart of spatial position smoothing in a preferred embodiment of the present invention; Figure 4 This is a flowchart illustrating the location of missing time intervals in a preferred embodiment of the present invention; Figure 5 This is a flowchart of maintaining the returned index number record in a preferred embodiment of the present invention. Detailed Implementation

[0024] The present invention will be further described below with reference to the accompanying drawings and specific embodiments, so that those skilled in the art can better understand and implement the present invention. However, the embodiments described are not intended to limit the present invention.

[0025] Example

[0026] The purpose of this invention is to solve the problem of data loss due to communication link congestion, which causes sudden load changes and / or position jumps in cloud-based digital twin models. This provides a method for synchronizing crane operating status data for remote monitoring, comprising: S100. In response to communication link congestion, the edge computing node initiates local circular buffer data writing, assigns data fragment index numbers to each frame of source data collected by the crane sensor node according to the sampling order, and obtains a temporary data frame sequence; the source data includes load weight and spatial location. S200. In response to insufficient remaining storage space in the circular buffer, based on the data fragment index number, perform an overwrite write to the temporary data frame with the smallest index number in the current buffer, and update the start and end index number range of the temporary data frames that have not been overwritten in the circular buffer. S300: In response to a normal communication link, based on the data fragment index number, the source data within the range of the start and end index numbers is sent back to the cloud server to obtain the sequence of data frames that have been sent back. S400: Based on the data fragment index number of each frame in the returned data frame sequence, locate the missing time interval corresponding to the data frame that was permanently lost due to overwrite; fill in the payload weight data of the two adjacent frames before and after the missing interval to obtain the payload weight sequence. S500: Based on the load weight sequence, extract the spatial location within the same time interval in the returned data frame sequence to obtain the spatial location trajectory. S600: Update the state parameters of the crane's digital twin model based on the load weight sequence and spatial location trajectory.

[0027] The following combination Figure 1 The plan will be explained in detail, including its specific implementation process.

[0028] This embodiment uses a remote monitoring system for cranes in ports or large construction sites as an application scenario. Load weight sensors and spatial position sensors are installed on the crane's spreader, trolley, and crane mechanisms, respectively. Both types of sensors synchronously collect data at the same fixed sampling frequency, generating a frame of source data at each sampling moment. This source data includes the load weight value and spatial position coordinates. Edge computing nodes are deployed locally on the crane and connected to a cloud server via a wireless communication link. The cloud server runs a digital twin model of the crane.

[0029] In specific implementation step S100, when the edge computing node detects that the round-trip latency of the communication link continues to rise and exceeds the congestion latency judgment value, it determines that the current communication link has entered a congested state.

[0030] Specifically, edge computing nodes send heartbeat probe frames to the cloud server at fixed intervals (e.g., 100 milliseconds), each containing a timestamp of the sending time. Upon receiving a probe frame, the cloud server immediately returns a response frame, carrying the timestamp from the original probe frame. After receiving the response frame, the edge computing node calculates the difference between the current time and the timestamp in the probe frame to obtain the round-trip time (RTT). The edge computing node maintains a circular queue of length N in memory to record the RTT values ​​obtained from the N most recent heartbeat probes. Each time a new RTT value is obtained, the edge computing node writes it to the circular queue and iterates through all N values ​​in the queue, comparing each value with a congestion delay threshold. The congestion delay threshold is preset based on the network environment; for example, it could be set to 300 milliseconds in a port operation. If all N RTT values ​​in the circular queue are greater than the congestion delay threshold, the current communication link is considered congested. The value of N must balance accuracy and timeliness of response, typically ranging from 3 to 5. By making N consecutive timeout judgments, false judgments caused by a single network jitter are avoided, thus improving the reliability of congestion state detection.

[0031] When the current communication link is determined to be congested, the edge computing node immediately initiates the data writing process of the local ring buffer.

[0032] The circular buffer pre-allocates a fixed amount of storage space in the memory of the edge computing node. For each frame of source data received from the sensor, the edge computing node assigns a continuously increasing data fragment index number according to the order of sampling, and calls a local high-precision clock to record the absolute acquisition time of each frame of data. The data fragment index number, absolute acquisition time, payload weight value, and spatial location coordinates are encapsulated into a temporary data frame, which is then written into the storage unit of the circular buffer in ascending order of index number. The write pointer moves one unit forward after each frame is written, and automatically wraps back to the beginning of the buffer when the write pointer reaches the end of the buffer.

[0033] In specific implementation step S200, during the writing process, the edge computing node monitors the remaining storage space ratio of the circular buffer in real time, which is the ratio of the total buffer capacity minus the number of frames written but not yet overwritten to the total capacity. When the remaining storage space ratio is lower than the storage medium protection margin, it indicates that the buffer is about to be full, and the edge computing node performs an overwrite operation.

[0034] The specific method of overwrite is as follows: Based on the order of data fragment index numbers, the temporary data frame with the smallest index number in the current circular buffer is identified. The storage unit containing this frame is selected as the target to be overwritten, and the newly arrived data frame is written to this storage unit, overwriting the existing old data. Each time an overwrite is performed, the edge computing node updates the start and end index ranges of the undisturbed temporary data frames in the circular buffer. The start index number is updated to the original start index number plus the number of frames to be overwritten, while the end index number remains unchanged as the index number of the most recently written frame. Through this mechanism, the circular buffer always retains a continuous segment of temporary data frames with the largest index number, while all data frames with index numbers smaller than the current start index number are permanently lost due to overwriting.

[0035] In specific implementation step S300, when the edge computing node detects that the communication link has returned to normal through heartbeat detection or other link status detection methods, it initiates the data backhaul process. Based on the ordered nature of the data fragment index numbers, the backhaul process sends the temporarily stored data frames corresponding to the current start and end index number range to the cloud server in ascending order of index number. Upon receiving the data, the cloud server forms a sequence of backhauled data frames, which includes the data fragment index number, absolute acquisition time, payload weight value, and spatial coordinates of each frame.

[0036] In specific implementation step S400, due to overwrite operations occurring in the ring buffer during link congestion, some data frames with index numbers lower than the current starting index number have been permanently lost and cannot be transmitted back. To accurately locate the time intervals corresponding to these permanently lost data frames, the edge computing node obtains the starting index number of the temporarily stored, unoverwritten data frames in the current ring buffer, and determines the consecutive index number intervals corresponding to data fragment index numbers with index numbers lower than the starting index number and not appearing in the sequence of transmitted data frames as the missing time intervals corresponding to the data frames permanently lost due to overwrite operations. The start time of this missing time interval is the absolute acquisition time corresponding to the smallest index number within the missing interval, and the end time is the absolute acquisition time corresponding to the largest index number within the missing interval.

[0037] For the identified missing time intervals, edge computing nodes need to numerically fill in the load weight data to obtain a continuous, uninterrupted load weight sequence. The filling operation leverages the physical characteristic of load weight changing smoothly over a short period: the change in load weight between the last frame before the missing interval and the first frame after the missing interval is continuous in time. The edge computing node extracts the load weight value and its absolute acquisition time from the last frame before the missing interval, and also extracts the load weight value and its absolute acquisition time from the first frame after the missing interval. For each missing frame within the missing interval, the filling value is calculated according to the relative position of the frame's absolute acquisition time between the acquisition times of the preceding and following frames, based on the time ratio.

[0038] When the missing interval is located before the start of the data sequence or after the end of the data sequence, that is, there is no valid data in the previous frame or no valid data in the next frame, the boundary extension method is adopted, and the effective payload weight value on the side that exists is used as the filling value for all frames in the missing interval.

[0039] If there is no valid data on either side of the missing interval, the filling process is abandoned and the interval is marked as an uncompensable segment. After the above filling process, the edge computing node obtains a load weight sequence that is continuous, without discontinuities, and without abrupt changes on the time axis.

[0040] In specific implementation step S500, after obtaining the complete load weight sequence, the edge computing node further processes the spatial location trajectory. Since the load weight and spatial location data originate from the same sensor node and use the same sampling frequency, the load weight and spatial location in each frame of data are strictly aligned in time. Based on the time interval covered by the filled-in load weight sequence, the edge computing node extracts the spatial location coordinate data within the same time interval from the returned data frame sequence. These spatial location coordinates also have data gaps within the same time interval corresponding to the missing load weight.

[0041] To address this issue, the edge computing nodes smooth the extracted spatial coordinates, eliminating anomalous jumps caused by signal attenuation. The smoothing process leverages the kinematic constraints of the crane's spatial position between adjacent sampling times: within extremely short time intervals, the crane's position changes are continuous, and abrupt changes without physical basis are impossible. The edge computing nodes sequentially take the position coordinates of three consecutive frames, calculating the vertical distance between the coordinates of the intermediate frame and the line connecting the coordinates of the preceding and following frames. If this distance exceeds the maximum permissible position deviation determined by the product of the crane's maximum speed and the sampling period, the intermediate frame is identified as a jump frame, and the original coordinates of the jump frame are replaced with the coordinates of the midpoint of the line connecting the coordinates of the preceding and following frames.

[0042] Repeat the above judgment and replacement process until no new jump frames appear after two consecutive traversals, thus obtaining a continuous and smooth spatial position trajectory.

[0043] In specific implementation step S600, the edge computing node aligns the continuous, uninterrupted load weight sequence obtained after filling with the smoothed continuous spatial position trajectory according to the absolute acquisition time corresponding to each frame. The load weight values ​​are sequentially written into the load status register of the digital twin model in the cloud server, and the spatial position coordinates are sequentially written into the position status register of the digital twin model. This triggers the digital twin model to recalculate and output the three-dimensional posture of the crane at the current moment based on the updated state parameters, thereby presenting a virtual-real synchronous mapping result of continuous load weight change and smooth spatial position movement at the remote monitoring end.

[0044] In this embodiment of the invention, the source data includes load weight and spatial location. This is because load weight obeys the law of conservation of mass in the physical world and will not disappear or change abruptly. The change in load weight within a continuous sampling interval is limited by the physical capabilities of the crane's lifting mechanism, making it a finite and continuous process. Based on this physical premise, when data is permanently lost due to overwriting, the effective load values ​​of the last frame before the missing interval and the first frame after the missing interval constitute known boundary conditions. Through time-proportional interpolation, the filling value is calculated according to the relative position of the missing frame between the acquisition times of the two frames before and after, allowing the filled data to be embedded into the original timeline. Simultaneously, the dual alignment of the index number and timestamp ensures that the sequential relationship between the filled frame and the original frame is not disrupted. This eliminates gaps or abrupt changes in load values ​​in the digital twin model, ensuring that the load change process presented in the cloud conforms to physical continuity; provides a continuous data stream for over-limit judgment in safety monitoring, avoiding missed reports of dangerous conditions due to data gaps; and improves the usability of data visualization and playback analysis, ensuring that the load curve is unbroken.

[0045] Furthermore, the spatial position of the crane satisfies kinematic continuity constraints between adjacent sampling moments, i.e., finite displacement and finite velocity. Based on this, a three-frame continuous detection method is used to determine whether the intermediate frame is a jump frame. If the vertical distance from the intermediate frame to the line connecting the preceding and following frames exceeds the maximum allowable positional deviation (the product of the maximum motion velocity and the sampling period), it is determined to be an abnormal jump point. The jump frame is replaced with the coordinates of the midpoint of the line connecting the preceding and following frames, so that the local trajectory transitions to a straight line. The detection and replacement process is repeated until there are no jumps in two consecutive traversals, so that the trajectory reaches a stable convergence state. This eliminates the instantaneous jumps in the crane's position in the digital twin model, making the motion in the virtual scene present a smooth and continuous trajectory; it also ensures strict alignment of load and position data on the time axis, achieving the coordinated consistency of the two physical quantities.

[0046] Specifically, embodiments of the present invention also provide a load weight filling method based on time-proportional interpolation and a spatial position smoothing method based on three-frame continuous detection and midpoint replacement, referring to... Figure 2 As shown, the specific implementation method of load weight filling will be explained first.

[0047] After obtaining the sequence of returned data frames and locating the missing time intervals, the edge computing node performs a filling operation for each missing time interval. The edge computing node extracts the valid data from the last frame before the missing interval from the returned data frame sequence, recording the payload weight value of that frame as W1 and the absolute acquisition time as T1; simultaneously, it extracts the valid data from the first frame after the missing interval, recording the payload weight value of that frame as W2 and the absolute acquisition time as T2. If the missing interval is located at the beginning of the entire data sequence, i.e., there is no valid data in the preceding frame, then W1 and T1 are marked as invalid; if the missing interval is located at the end of the entire data sequence, i.e., there is no valid data in the following frame, then W2 and T2 are marked as invalid.

[0048] For each missing frame within the missing interval, the edge computing node needs to determine the absolute acquisition time T of that frame. i Since each frame of data is assigned a continuously increasing data fragment index number when written to the circular buffer, and there is a linear correspondence between the absolute acquisition time of each frame and its data fragment index number, the acquisition time of the missing frame can be estimated by the proportional relationship of the index numbers. Specifically, the data fragment index number of the last frame before the edge computing node acquires the missing interval is denoted as I1, the data fragment index number of the first frame after acquiring the missing interval is denoted as I2, and the data fragment index number of the i-th frame within the missing interval is denoted as I... i Based on the linear distribution characteristics of the index numbers, T i According to formula T i =T1+(T2-T1)×(I iThe calculation is performed using (I1) / (I2-I1). The physical meaning of this formula is: within the time interval between two consecutive frames, the acquisition time is evenly distributed according to the data fragment index number.

[0049] At the acquisition time T of the missing frame i Then, the edge computing nodes calculate the filling values ​​based on the effective payload weight data before and after. When the missing interval contains effective data from both the previous and subsequent frames, the values ​​are filled according to formula W. i =W1+(W2-W1)×(T i The formula -T1) / (T2-T1) calculates the fill value. This formula assumes that the load weight changes linearly from W1 to W2 within the missing interval. This assumption is reasonable under typical crane operating conditions because the change in load weight is driven by the uniform motion of the hoisting mechanism, which is approximately a linear process in a short time. When the missing interval contains only valid data from the previous frame and no valid data from the next frame, W1 is used as the fill value for all frames within the missing interval, meaning the load weight remains constant until the end of the data sequence. When the missing interval contains only valid data from the next frame and no valid data from the previous frame, W2 is used as the fill value for all frames within the missing interval, meaning the load weight remains constant from the beginning of the data sequence. When there is no valid data on either side of the missing interval, filling is abandoned and the interval is marked as an uncompensated segment.

[0050] After the above filling process, the edge computing node obtains a continuous and uninterrupted load weight sequence on the time axis.

[0051] Reference Figure 3 The diagram illustrates a specific implementation of spatial location smoothing. Edge computing nodes extract spatial location coordinate data within the same time interval from the returned data frame sequence, based on the time interval covered by the filled-in load weight sequence. These spatial location coordinates also have gaps within the same time interval corresponding to missing load weights. However, these gaps cannot be filled using physical laws like load weights, because the change path of the location trajectory does not possess the unidirectional determinism of load weights. Therefore, this scheme uses smoothing to remove abnormal jump points in the location coordinates, rather than filling in completely missing locations.

[0052] The edge computing nodes perform iterative smoothing on the extracted spatial coordinate sequence. In each round of processing, the edge computing node sequentially takes the position coordinates of three consecutive frames, denoted as the previous frame coordinates, the current frame coordinates, and the next frame coordinates, respectively. To determine whether the current frame is a jump frame, the edge computing node calculates the vertical distance from the current frame coordinates to the line connecting the previous and next frame coordinates. The method for calculating this vertical distance is as follows: first, determine the analytical equation of the line based on the previous and next frame coordinates; then, calculate the distance from the current frame coordinates to this line. If this vertical distance is greater than the maximum allowable positional deviation, the current frame is determined to be a jump frame.

[0053] The maximum permissible position deviation is determined based on the kinematic physical constraints of the crane. Edge computing nodes acquire the crane's maximum speed, Vmax, which represents the maximum speed the crane can reach per unit time, measured in meters per second. Simultaneously, edge computing nodes acquire the sensor's sampling period, Δt, measured in seconds. The maximum permissible position deviation, Dmax, is calculated using the formula Dmax = Vmax × Δt. The physical meaning of this formula is that, under normal circumstances, the maximum distance the crane may move within a single sampling period will not exceed the product of Vmax and Δt. Therefore, any positional deviation exceeding this distance must be an abnormal jump caused by signal attenuation, electromagnetic interference, or other non-motion-related factors, rather than actual crane movement.

[0054] For coordinates of a frame identified as a jump frame, the edge computing node replaces the original coordinates of the jump frame with the coordinates of the midpoint of the line connecting the coordinates of the preceding and following frames. Let the coordinates of the preceding frame be (X1, Y1) and the coordinates of the following frame be (X3, Y3), then the midpoint coordinates are ((X1+X3) / 2, (Y1+Y3) / 2). After the replacement, the position coordinates of the frame are corrected to the midpoint of the line connecting the preceding and following frames, causing the local trajectory to transition to a straight line.

[0055] Because a single replacement may alter the transition determination results of adjacent frames—for example, if there are two consecutive transition frames in the original sequence, after the first frame is replaced, the second frame may still be detected as a transition frame in the new sequence—the edge computing nodes need to repeat the above determination and replacement process. The termination condition for this repetition is that after two consecutive complete traversals of the entire sequence, no new transition frames are detected. At this point, the position coordinates of all frames satisfy the kinematic continuity constraints, the trajectory reaches a stable convergence state, and the position coordinate sequence at this point is output as the final spatial position trajectory.

[0056] This solution extracts effective load data before and after the missing interval and calculates the filling value according to the time ratio. It uses the data fragment index number to estimate the acquisition time of the missing frame, thus achieving a continuous and uninterrupted load weight sequence. By extracting the position coordinates of three consecutive frames, calculating the vertical distance, and comparing it with the maximum allowable position deviation, it determines the jump frame. It iteratively replaces the jump frame with the midpoint coordinate of the line connecting the preceding and following frames until convergence, thus obtaining a continuous and smooth spatial position trajectory. Finally, based on the alignment of the time axis, it completes the update of the state parameters of the digital twin model, fundamentally solving the problem of virtual-real mapping distortion caused by data loss.

[0057] In the above embodiment, when locating the missing time interval corresponding to the data frames permanently lost due to overwrite, if the data shard index number monotonically increases to a very large value (e.g., exceeding one million) as the crane continues to operate, maintaining the returned index number records by allocating an independent storage unit for each index number will lead to a linear increase in the storage overhead of the edge computing node, which may cause memory overflow or performance degradation on resource-constrained embedded edge devices. Simultaneously, data frames with index numbers less than the current starting index number of the circular buffer have already been permanently lost due to overwrite, and continuing to retain storage space for the returned states of these index numbers is a waste of resources.

[0058] To address this problem, this invention further provides a method for maintaining returned index number records based on a sliding window, referring to... Figure 4 and Figure 5 As shown, the specific solutions include the following:

[0059] The first step is for the edge computing node to obtain the capacity C of the circular buffer, which represents the maximum number of data frames that the circular buffer can store, expressed in frames. Simultaneously, the edge computing node obtains the starting index S of the currently un-overwritten temporary data frames in the circular buffer. This starting index S represents the index of the earliest data frame stored in the current buffer; all data frames with index numbers less than S have been overwritten and permanently lost.

[0060] The second step involves the edge computing node determining the maintenance range for the returned index number records based on the ring buffer capacity C and the starting index number S. Specifically, the maintenance range is set to the index number interval from S minus C to S plus C minus one, i.e., the interval [SC, S+C-1]. This interval is determined based on the following: data frames with index numbers less than SC have index numbers at least one buffer capacity smaller than the current starting index number. These frames have not only been overwritten but are also unlikely to be returned or queried again, so there is no need to retain their return status; data frames with index numbers greater than or equal to S+C-1 have not yet been generated or included in the current buffer management range, and there is no need to allocate record space in advance. By limiting the maintenance range to the above interval, the storage space for the returned index number records is controlled to a constant size, that is, always accommodating the return status of 2C index numbers.

[0061] When an edge computing node performs an overwrite operation that updates the starting index number S (e.g., from the old value S1 to the new value S2), the edge computing node releases the bits in the already returned index number records where the index number is less than S2 minus C. The release operation can be to zero out the corresponding storage unit or to slide the starting boundary of the maintenance range forward, so that these index numbers are no longer within the valid maintenance range. Simultaneously, the maintenance range is slid to the new interval corresponding to the updated starting index number S2, i.e., [S2-C, S2+C-1]; for index numbers newly falling into this interval, their corresponding return status is initialized to not returned.

[0062] When an edge computing node needs to determine whether a specific index number I has been successfully transmitted back, it first checks the relationship between index number I, the current starting index number S, and the buffer capacity C. If index number I is less than S minus C, the data frame corresponding to that index number is directly determined to be a permanently lost frame, without needing to query any records. This is because, according to the aforementioned definition of the maintenance range, data frames with index numbers less than S are outside the record maintenance range, and according to the overwrite logic of the circular buffer, these frames must have been overwritten and cannot be transmitted back. If index number I is greater than or equal to S minus C, then index number I is within the current maintenance range. The edge computing node queries the transmission status corresponding to that index number in the transmitted index number record and determines whether the frame has been successfully transmitted back based on this status.

[0063] After each successful transmission of a data frame, the edge computing node receives an acknowledgment message from the cloud server. This acknowledgment message carries the data fragment index number of the confirmed frame. Based on this data fragment index number, the edge computing node finds the storage bit corresponding to the index number in the transmitted index number record and marks the status of that bit as transmitted.

[0064] After completing all backhaul operations and obtaining the sequence of backhauled data frames, the edge computing node needs to locate the missing time intervals corresponding to the data frames permanently lost due to overwrite. Specifically, the edge computing node obtains the starting index S of the temporarily stored, unoverwritten data frames in the current circular buffer, and identifies the missing time intervals as those with index numbers less than S that are not marked as backhauled in the backhauled index number records. Here, "not marked as backhauled" includes two cases: first, the index number is explicitly marked as not backhauled in the backhauled index number records; second, the index number is less than S, and is directly considered a permanently lost frame according to the aforementioned judgment rules. These consecutive unbackhauled index numbers are aggregated into one or more consecutive intervals, each interval corresponding to a missing time interval. The start time of each interval is the absolute acquisition time corresponding to the smallest index number in that interval, and the end time is the absolute acquisition time corresponding to the largest index number in that interval.

[0065] Through the aforementioned sliding window mechanism, the beneficial effects of this solution are reflected in the following aspects. First, it compresses the storage space of the returned index number records from theoretically growing infinitely with the index number to a constant value. The storage overhead is only related to the capacity of the circular buffer and is independent of the crane's operating time and the total amount of data, enabling the solution to run stably for a long time on embedded edge computing nodes with limited memory resources.

[0066] Second, by comparing the index number with the starting index number and the buffer capacity, the permanent lost frame can be quickly determined. Frames with an index number less than SC can be directly identified as permanent lost frames without querying records, reducing query overhead and improving the efficiency of missing interval location.

[0067] Third, the sliding window and the ring buffer overwrite mechanism work synergistically: both use the starting index number S as the anchor point, one for data storage overwrite management and the other for record management of backhaul status, together constructing a complete and controllable edge data management solution.

[0068] Furthermore, this embodiment of the invention also provides a method for updating the start and end index range based on write pointer movement and start index increment. Specifically, the edge computing node maintains two pointer variables in memory for the circular buffer: a write pointer and an overwritten start pointer. The write pointer points to the storage unit location of the next data frame to be written, and the overwritten start pointer points to the storage unit location of the earliest data frame currently stored in the circular buffer. Simultaneously, the edge computing node maintains two index number variables: a start index number and an end index number. The start index number is equal to the data fragment index number of the data frame pointed to by the current overwritten start pointer, and the end index number is equal to the data fragment index number of the most recently written data frame.

[0069] In the event of a normal write operation without triggering an overwrite, the edge computing node writes the new data frame to the storage unit pointed to by the write pointer, then moves the write pointer forward by one storage unit and updates the end index number to the data fragment index number of the newly written frame. The start index number and the unoverwritten start pointer remain unchanged.

[0070] When an edge computing node detects insufficient remaining storage space in the circular buffer and needs to perform an overwrite operation, it performs the following sequence of operations: First, it locates the storage unit pointed to by the current undisturbed start pointer. This storage unit contains the temporary data frame with the smallest index in the current buffer, i.e., the earliest written and unwrapped data frame. Second, it writes the newly arrived data frame to this storage unit, overwriting the existing old data. Third, it moves the undisturbed start pointer one storage unit forward, making it point to the next undisturbed data frame. Fourth, it updates the start index number to the original start index number plus the number of overwritten frames. Since each overwrite operation only covers one frame, the number of overwritten frames is 1, and the start index number is updated to the original start index number plus 1. Fifth, it moves the write pointer to the next storage unit after the overwritten frame. Because the storage unit of the overwritten frame has been written with new data, the write pointer needs to move to the next writable position. In an overwrite scenario, the write pointer and the undisturbed start pointer point to adjacent or the same position after the overwrite operation is completed, depending on whether the buffer is full. The sixth step is to keep the end index number unchanged, because the end index number always points to the index number of the latest written data frame, and the overwrite operation does not change the index number of the latest written frame.

[0071] When a single overwrite operation covers multiple frames simultaneously, such as when remaining storage space is severely insufficient and the length of newly arrived data frames exceeds the length of a single storage unit, the edge computing node performs multiple overwrite operations consecutively. In this case, the starting index number is updated to the original starting index number plus the total number of overwritten frames, and the unoverwritten starting pointer moves backward by a number of steps equal to the number of overwritten frames.

[0072] Edge computing nodes record the current start and end index numbers in real time, forming a range of start and end index numbers. This range means that the index numbers of the currently unwritten, temporarily stored data frames in the circular buffer start from the start index number and end at the end index number, and all index numbers within this range are consecutive and uninterrupted. Any data frame with an index number less than the start index number has been permanently lost due to overwriting, and any data frame with an index number greater than the end index number has not yet been generated.

[0073] Once the communication link is restored, the edge computing node needs to transmit the data in its buffer back to the cloud server. The transmission process determines the data frames to be transmitted based on the range of start and end index numbers: starting with the data frame corresponding to the start index number, each frame of data is read and sent to the cloud server sequentially in ascending order of index number, until the data frame corresponding to the end index number has been transmitted. Since all index numbers within the start and end index number range are consecutive, there will be no index number skipping or omissions during the transmission process.

[0074] Through the aforementioned update mechanism, firstly, by separating the management of the write pointer and the un-overwritten start pointer, a clear division between valid data and free space in the circular buffer is achieved. The write pointer indicates the location where new data is written, and the un-overwritten start pointer indicates the starting boundary of valid data; together, they define the valid storage area of ​​data in the buffer. Secondly, the starting index number increments synchronously with the overwrite write, decoupling the index number space from the storage location space. Even if a data frame is overwritten in physical storage, its index number information still records the order in which the data was generated, providing precise index number boundaries for subsequent location of missing time intervals.

[0075] Obviously, the above embodiments are merely illustrative examples for clear explanation and are not intended to limit the implementation. Those skilled in the art will recognize that other variations or modifications can be made based on the above description. It is neither necessary nor possible to exhaustively list all possible implementations here. However, obvious variations or modifications derived therefrom are still within the scope of protection of this invention.

Claims

1. A method for synchronizing crane operating status data for remote monitoring, characterized in that, include: In response to communication link congestion, the edge computing node initiates local circular buffer data writing, assigns data fragment index number to each frame of source data collected by the crane sensor node according to the sampling order, and obtains a temporary data frame sequence. The source data includes load weight and spatial location; In response to insufficient remaining storage space in the circular buffer, based on the data fragment index number, an overwrite is performed on the temporary data frame with the smallest index number in the current buffer, and the start and end index number range of the temporary data frames that have not been overwritten in the circular buffer is updated. In response to a normal communication link, based on the data fragment index number, the source data within the range of the start and end index numbers is transmitted back to the cloud server to obtain the sequence of transmitted data frames. Based on the data fragment index number of each frame in the returned data frame sequence, locate the missing time interval corresponding to the data frame that was permanently lost due to overwrite. Specifically, this includes: maintaining a record of returned index numbers to mark whether the data frame corresponding to each data fragment index number has been successfully returned; updating the record of returned index numbers according to the data fragment index number of each successfully returned data frame; after obtaining the sequence of returned data frames, obtaining the starting index number of the temporarily stored data frames that have not been covered in the current circular buffer, and determining the intervals of consecutive index numbers whose index numbers are less than the starting index number and are not marked as returned by the record of returned index numbers as the missing time intervals; The payload weight sequence is obtained by numerically filling in the payload weight data of the two adjacent frames before and after the missing interval. Based on the payload weight sequence, the spatial positions within the same time interval in the returned data frame sequence are extracted to obtain the spatial position trajectory. Specifically, this includes: for each frame spatial position within the same time interval in the returned data frame sequence, extracting the position coordinates of three consecutive frames; if the vertical distance between the position coordinates of the middle frame and the line connecting the position coordinates of the preceding and following frames is greater than the maximum allowable position deviation, then the middle frame is determined to be a jump frame; for the coordinates of the determined jump frame, the original coordinates of the jump frame are replaced based on the midpoint coordinates of the line connecting the coordinates of the preceding and following frames; the above determination and replacement process is repeated until no new jump frames appear after two consecutive traversals, thus obtaining the spatial position trajectory. Update the state parameters of the crane's digital twin model based on the load weight sequence and spatial location trajectory; The process of updating the start and end index range of the overwritten temporary data frames in the circular buffer includes: after performing the overwrite, pointing the write pointer of the current circular buffer to the next storage unit of the overwritten frame, updating the start index of the overwritten temporary data frames to the original start index plus the number of overwritten frames, and keeping the end index unchanged.

2. The method for synchronizing crane operating status data for remote monitoring according to claim 1, characterized in that... Maintain the returned index number records, including: Based on the capacity C of the circular buffer and the starting index S of the uncovered temporary data frame, the maintenance range of the returned index number record is determined; the maintenance range is the index number interval [SC, S+C-1]. When updating the starting index number S, the record bits with index numbers less than SC in the returned index number records are released, and the maintenance range is slid to the new interval [SC, S+C-1] corresponding to the updated starting index number S; When determining whether an index number has been successfully transmitted back, if the index number is less than SC, the data frame corresponding to the index number is determined to be a permanently lost frame; if the index number is greater than or equal to SC, the corresponding transmission status is queried from the record of the transmitted index number.

3. The method for synchronizing crane operating status data for remote monitoring according to claim 1, characterized in that... Numerical imputation is performed based on the payload weight data of the two adjacent frames before and after the missing interval, including: Extract the payload weight W1 of the last frame before the missing interval and the acquisition time T1 of that frame; The payload weight W2 of the first frame after extracting the missing interval and the acquisition time T2 of that frame; For the i-th frame missing within the missing interval, its acquisition time is T. i The padding value W for this frame is calculated according to the following formula. i : 。 4. The method for synchronizing crane operating status data for remote monitoring according to claim 3, characterized in that... The sampling time T of the i-th frame within the missing interval i The data fragment index number of this frame and the two frames before and after it is determined, and the determination method includes: ; T i T1 is the sampling time of the i-th frame within the missing interval; T2 is the sampling time of the last frame before the missing interval; T3 is the sampling time of the first frame after the missing interval; I1 is the data fragment index number of the last frame before the missing interval; I2 is the data fragment index number of the first frame after the missing interval; I4 is the sampling time of the last frame before the missing interval; I5 is the sampling time of the last frame before the missing interval; I6 is the sampling time of the last frame before the missing interval; I7 is the sampling time of the last frame before the missing interval; I8 is the sampling time of the last frame before the missing interval; I9 is ​​the sampling time of the last frame before the missing interval; I1 is the sampling time of the last frame before the missing interval; I1 is the sampling time of the last frame before the missing interval; I2 is the sampling time of the last frame after ... i This is the data fragment index number of the i-th frame within the missing interval.

5. The method for synchronizing crane operating status data for remote monitoring according to claim 1, characterized in that... Determining the maximum permissible positional deviation Dmax includes: Obtain the crane's maximum speed Vmax and the sensor's sampling period Δt; The maximum permissible positional deviation Dmax is determined as: Dmax = Vmax × Δt.

6. The method for synchronizing crane operating status data for remote monitoring according to claim 1, characterized in that... In response to communication link congestion, the method includes: edge computing nodes periodically sending heartbeat probe frames to the cloud server and recording round-trip delay values; when the round-trip delay values ​​recorded N times consecutively are greater than the congestion delay judgment value, the communication link is determined to be congested.

7. The method for synchronizing crane operating status data for remote monitoring according to claim 1, characterized in that... Updating the state parameters of the crane digital twin model includes: writing the load weight sequence into the load state register of the digital twin model in the cloud server according to the acquisition time; writing the spatial position trajectory into the position state register of the digital twin model according to the acquisition time; and triggering the digital twin model to recalculate the crane's three-dimensional attitude at the current moment.

Citation Information

Patent Citations

  • Anti-packet-loss transmission method and system for physiological signals

    CN121357119A

  • Underwater vehicle digital twin synchronization method and system based on prediction compensation

    CN121919996A