Unmanned aerial vehicle remote sensing data processing method and system, electronic device and storage medium
Patent Information
- Application Number
- CN202611160883.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-03
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2046-08-03
AI Technical Summary
该路线的缺陷在于:当执行长航时任务或高分辨率数据采集任务时,无人机存储空间(通常SD卡容量为64GB至256GB)在高分辨率影像连续拍摄下迅速耗尽,导致任务被迫中断或数据丢失
[0057] This disclosure achieves dynamic recycling of drone storage space at the edge node through a closed-loop mechanism of "download → verification → upload → delete → release space," effectively overcoming the physical limitations of onboard storage capacity. At the same time, through a collaborative mechanism of instant release of communication permissions, confirmation of preset write conditions, integrity verification, and verification of preset deletion conditions, reliable operation of data files in multi-process concurrent scenarios is achieved, improving the reliability of data file transmission and preventing data file loss.
Smart Images

Figure CN122653550B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of unmanned aerial vehicle (UAV) data processing technology, and in particular to a method, system, electronic device, and storage medium for processing UAV remote sensing data. Background Technology
[0002] With the widespread application of drone technology in emergency rescue, infrastructure inspection, and 3D modeling, the efficient management of the large amounts of remote sensing data generated during drone flights (including high-resolution optical images, laser point clouds, and flight logs) has become a crucial technical challenge. Currently, the processing of drone remote sensing data primarily employs the following technical approaches:
[0003] (1) Onboard local storage route: The UAV stores the collected data in an onboard SD card or solid-state storage device. After the UAV returns, the storage medium is manually removed to export the data. The drawback of this route is that when performing long-endurance missions or high-resolution data acquisition missions, the UAV's storage space (usually SD card capacity is 64GB to 256GB) is quickly exhausted under continuous high-resolution image shooting, causing the mission to be interrupted or data to be lost. For example, when performing 4K resolution aerial photography missions, a single image can reach more than 20MB, and continuous shooting for 1 hour can generate tens of GB of data, far exceeding the capacity of ordinary SD cards.
[0004] (2) Real-time wireless transmission route: The collected data is transmitted to the ground station or cloud in real time via 4G / 5G network or private network. The drawbacks of this route are: the amount of high-resolution remote sensing data is huge (about 10MB to 20MB for a single image, and point cloud data can reach GB level), and the full-time transmission generates extremely high traffic costs and has stringent requirements for network stability; in complex terrain, signal obstruction or network congestion environments, the wireless transmission link is unstable and the risk of transmission interruption is high; at the same time, the continuous occupation of wireless bandwidth may affect the stability and safety of the flight control link.
[0005] (3) Ground relay processing route: Set up edge computing nodes on the ground and optimize data transmission through VPN tunnels or QUIC protocol. The drawback of this route is that the ground edge computing nodes cannot directly access the airborne storage devices and still need to rely on the real-time transmission link from the airborne to the ground, which fails to fundamentally solve the problem of limited storage space for UAVs; its core technology focuses on transmission link latency optimization rather than storage space management, so it is not suitable for continuous data collection needs in storage-constrained scenarios.
[0006] The aforementioned existing technical solutions share a common technical contradiction: how to achieve continuous data acquisition without interrupting the mission during long-endurance missions, given the physical constraint of limited onboard storage capacity in UAVs. Specifically, this technical contradiction manifests in the following three sub-contradictions:
[0007] Sub-contradiction one (the contradiction between storage and flight endurance): Increasing onboard storage capacity requires increasing the weight and power consumption of storage devices, directly reducing the drone's flight endurance and payload capacity. For industrial-grade drones, every 100g increase in payload can reduce flight time by 3 to 5 minutes, which is unacceptable in time-sensitive scenarios such as emergency rescue. Therefore, under the dual constraints of onboard physical load and energy supply, "expanding onboard storage capacity" and "maintaining or even extending flight endurance" constitute a structural trade-off that is difficult to satisfy simultaneously.
[0008] Sub-contradiction two (the contradiction between data collection and cleanup): Given the limited storage space of drones, it is necessary to clean up collected data in a timely manner to free up space. However, simple deletion operations carry the risk of data loss; if the source file is deleted before the data is successfully transmitted to the ground, it will lead to irreversible data loss; if confirmation is waited for before deletion, network latency may cause storage space to be released in a timely manner, affecting subsequent data collection. Therefore, a technical conflict arises between "timely release of drone storage space" and "ensuring the security of data backup."
[0009] Sub-contradiction three (the contradiction between concurrency and security): The airborne equipment runs a flight control system (usually implemented in C++) and a data processing system (usually implemented in Python), both of which need to access the same batch of files concurrently. In a multi-process concurrent environment, determining whether a file has been completely written and whether it can be safely downloaded is a complex technical problem involving multiple coupled factors such as file system behavior, process scheduling timing, and cache refresh strategies. Furthermore, DJI's PSDK (Payload Software Development Kit) uses a single-instance permission model, allowing only one operation to hold permissions at a time, further exacerbating this contradiction through permission competition between the flight control system and the data processing system. Summary of the Invention
[0010] The technical problem to be solved by this disclosure is to overcome the shortcomings of existing UAV remote sensing data processing methods, such as limited onboard storage, unreliable data transmission, and multi-process concurrent conflicts, and to provide a method, system, electronic device, and storage medium for processing UAV remote sensing data.
[0011] This disclosure solves the above-mentioned technical problems through the following technical solution:
[0012] The first aspect of this disclosure provides a method for processing UAV remote sensing data, the method comprising:
[0013] In response to the UAV entering the mission execution area, the edge node of the UAV detects that a new remote sensing data file has been written to the UAV's storage medium at a first preset time interval, and determines that the new remote sensing data file has been written completely according to preset writing conditions. After obtaining communication permission and downloading the new remote sensing data file to the local storage of the edge node, the communication permission is released.
[0014] After verifying that the new remote sensing data file has been successfully downloaded by the edge node, the downloaded new remote sensing data file is transmitted to the remote data relay service. After verifying that the downloaded new remote sensing data file meets the preset deletion conditions, the communication permission is obtained and the remote sensing data file corresponding to the downloaded new remote sensing data file is deleted from the UAV storage medium, and then the communication permission is released.
[0015] Preferably, determining that the new remote sensing data file has been written completely according to preset writing conditions includes:
[0016] The first file size of the new remote sensing data file at the first moment and the second file size of the new remote sensing data file at the second moment after the first preset time period are obtained;
[0017] In response to the first file size being the same as the second file size, it is determined that the new remote sensing data file has been successfully written.
[0018] Preferably, the step of verifying that the downloaded new remote sensing data file meets the preset deletion conditions, obtaining the communication permission, deleting the remote sensing data file corresponding to the downloaded new remote sensing data file from the UAV storage medium, and then releasing the communication permission includes:
[0019] In response to the existence of the downloaded new remote sensing data file in the local storage of the edge node, the downloaded new remote sensing data file being a non-empty file, and the file size of the downloaded new remote sensing data file in the local storage of the edge node being consistent with the file size of the downloaded new remote sensing data file transmitted to the remote data relay service, after waiting for a second preset time period, the communication permission is obtained and the remote sensing data file corresponding to the downloaded new remote sensing data file is deleted from the UAV storage medium, and then the communication permission is released.
[0020] Preferably, the step of verifying the successful download of the new remote sensing data file through the edge node includes:
[0021] Obtain the hash value of the downloaded new remote sensing data file and the hash value of the remote sensing data file corresponding to the downloaded new remote sensing data file; or divide the downloaded new remote sensing data into several data blocks, obtain the hash values of several data blocks and the block hash list of the remote sensing data file corresponding to the downloaded new remote sensing data file;
[0022] Obtain the metadata of the downloaded new remote sensing data file and the metadata of the remote sensing data file corresponding to the downloaded new remote sensing data file;
[0023] In response to the hash value of the downloaded new remote sensing data file being consistent with the hash value of the corresponding remote sensing data file and the metadata of the downloaded new remote sensing data file being consistent with the metadata of the corresponding remote sensing data file, or the hash values of the several data blocks being consistent with the block hash list of the corresponding remote sensing data file and the metadata of the downloaded new remote sensing data file being consistent with the metadata of the corresponding remote sensing data file, it is determined that the new remote sensing data file has been successfully downloaded.
[0024] Preferably, the processing method further includes:
[0025] Obtain the load status of edge nodes;
[0026] The first preset time interval is adjusted based on the load status.
[0027] Preferably, the processing method further includes:
[0028] After the download or transmission of a new remote sensing data file is interrupted and then resumed, the download or transmission of the incomplete new remote sensing data file continues based on the byte offset of the new remote sensing data file that has been downloaded or transmitted.
[0029] And / or,
[0030] The processing method further includes:
[0031] The ground terminal queries the remote data relay service at a second preset time interval, retrieves the downloaded new remote sensing data file from the remote data relay service, and processes the downloaded new remote sensing data file.
[0032] A second aspect of this disclosure provides a system for processing UAV remote sensing data, the system comprising:
[0033] The detection module is used to respond to the UAV entering the mission execution area, detect the writing of a new remote sensing data file in the UAV's storage medium through the UAV's edge node at a first preset time interval, determine that the new remote sensing data file has been written completely according to preset writing conditions, obtain communication permission, download the new remote sensing data file to the local storage of the edge node, and then release the communication permission.
[0034] The deletion module is used to verify that the new remote sensing data file has been successfully downloaded through the edge node, transmit the downloaded new remote sensing data file to the remote data relay service, verify that the downloaded new remote sensing data file meets the preset deletion conditions, obtain the communication permission, delete the remote sensing data file corresponding to the downloaded new remote sensing data file from the UAV storage medium, and then release the communication permission.
[0035] Preferably, the detection module includes:
[0036] The first acquisition unit is used to acquire the first file size of the new remote sensing data file at a first moment and the second file size of the new remote sensing data file at a second moment after a first preset time.
[0037] The first determining unit is configured to determine that the new remote sensing data file has been written completely in response to the first file size being consistent with the second file size.
[0038] Preferably, the deletion module includes:
[0039] The second acquisition unit is configured to, in response to the existence of the downloaded new remote sensing data file in the local storage of the edge node, and the downloaded new remote sensing data file being a non-empty file, and the file size of the downloaded new remote sensing data file in the local storage of the edge node being consistent with the file size of the downloaded new remote sensing data file transmitted to the remote data relay service, wait for a second preset time period, acquire the communication permission, delete the remote sensing data file corresponding to the downloaded new remote sensing data file from the UAV storage medium, and then release the communication permission.
[0040] Preferably, the deletion module further includes:
[0041] The third acquisition unit is used to acquire the hash value of the downloaded new remote sensing data file and the hash value of the remote sensing data file corresponding to the downloaded new remote sensing data file; or to divide the downloaded new remote sensing data into several data blocks, acquire the hash values of several data blocks and the block hash list of the remote sensing data file corresponding to the downloaded new remote sensing data file.
[0042] The fourth acquisition unit is used to acquire the metadata of the downloaded new remote sensing data file and the metadata of the remote sensing data file corresponding to the downloaded new remote sensing data file;
[0043] The second determining unit is configured to determine that the new remote sensing data file has been successfully downloaded in response to the following: the hash value of the downloaded new remote sensing data file is consistent with the hash value of the corresponding remote sensing data file and the metadata of the downloaded new remote sensing data file is consistent with the metadata of the corresponding remote sensing data file; or the hash values of the plurality of data blocks are consistent with the block hash list of the corresponding remote sensing data file and the metadata of the downloaded new remote sensing data file is consistent with the metadata of the corresponding remote sensing data file.
[0044] Preferably, the processing system further includes:
[0045] The first acquisition module is used to acquire the load status of edge nodes;
[0046] The adjustment module is used to adjust the first preset time interval based on the load status.
[0047] Preferably, the processing system further includes:
[0048] The processing module is used to continue downloading or transmitting the incomplete new remote sensing data file based on the obtained byte offset of the new remote sensing data file that has been downloaded or transmitted after the download or transmission of the new remote sensing data file is interrupted and resumed.
[0049] And / or,
[0050] The processing system also includes:
[0051] The second acquisition module is used to query the remote data relay service through a ground terminal at a second preset time interval, acquire the downloaded new remote sensing data file from the remote data relay service, and process the downloaded new remote sensing data file.
[0052] A third aspect of this disclosure provides an electronic device including a memory, a processor, and a computer program stored in the memory and for running on the processor, wherein the processor executes the computer program to implement the method for processing UAV remote sensing data as described in the first aspect.
[0053] The fourth aspect of this disclosure provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method for processing UAV remote sensing data as described in the first aspect.
[0054] The fifth aspect of this disclosure provides a computer program product, including a computer program that, when executed by a processor, implements the method for processing UAV remote sensing data as described in the first aspect.
[0055] Based on common knowledge in the field, the above-mentioned preferred conditions can be combined arbitrarily to obtain various preferred embodiments of this disclosure.
[0056] The positive and progressive effects of this disclosure are as follows:
[0057] This disclosure achieves dynamic recycling of drone storage space at the edge node through a closed-loop mechanism of "download → verification → upload → delete → release space," effectively overcoming the physical limitations of onboard storage capacity. At the same time, through a collaborative mechanism of instant release of communication permissions, confirmation of preset write conditions, integrity verification, and verification of preset deletion conditions, reliable operation of data files in multi-process concurrent scenarios is achieved, improving the reliability of data file transmission and preventing data file loss. Attached Figure Description
[0058] Figure 1 This is a schematic diagram of the three-layer architecture provided in embodiments 1 and 2 of this disclosure.
[0059] Figure 2 The diagram shows the structure of the edge node provided in embodiments 1 and 2 of this disclosure.
[0060] Figure 3 A flowchart of a method for processing UAV remote sensing data provided in Embodiment 1 of this disclosure.
[0061] Figure 4 The timing diagram for the immediate release of PSDK communication permissions provided in embodiments 1 and 2 of this disclosure.
[0062] Figure 5 This is a schematic diagram of the edge node hierarchical delay scheduling strategy provided in embodiments 1 and 2 of this disclosure.
[0063] Figure 6 This is a schematic diagram of the modules of the UAV remote sensing data processing system provided in Embodiment 2 of this disclosure.
[0064] Figure 7 This is a schematic diagram of the electronic device for implementing the method for processing UAV remote sensing data according to Embodiment 3 of this disclosure. Detailed Implementation
[0065] The present disclosure is further illustrated below by way of embodiments, but the present disclosure is not limited to the scope of the embodiments described herein.
[0066] The prefixes such as "first" and "second" used in this disclosure are merely for distinguishing different descriptive objects and do not limit the position, order, priority, quantity, or content of the described objects. The use of ordinal numbers and other prefixes used to distinguish descriptive objects in this disclosure does not constitute a limitation on the described objects. The description of the described objects is given in the claims or the context of the embodiments, and should not be construed as an unnecessary limitation. Furthermore, in the description of this embodiment, unless otherwise stated, "multiple" means two or more.
[0067] In this embodiment of the disclosure, the collection, storage, use, processing, transmission, provision, and disclosure of user personal information comply with relevant laws and regulations and do not violate public order and good morals.
[0068] Example 1
[0069] Embodiment 1 of this disclosure provides a method for processing UAV remote sensing data, which relies on... Figure 1 The three-layer architecture of "edge node - remote data relay service - ground terminal" is as follows: Figure 1 As shown, the architecture includes an air layer (containing drones, sensors, and edge nodes), a network layer (remote data relay services), and a ground layer (ground terminals). Figure 1 The arrows in the diagram indicate the direction of data flow. Specifically, edge nodes are deployed on drone platforms, such as... Figure 2 As shown, the edge node is a lightweight communication box 11. The edge node connects to the drone via a DJI E-Port data power interface 12. The DJI E-Port data power interface is a single physical interface that provides both power and a data communication channel to the edge node. The edge node includes a memory, a processor, and a communication module. The communication module includes two external antennas arranged at an angle of 30 to 45 degrees, forming a MIMO (Multiple-Input Multiple-Output) antenna array 13, supporting MIMO transmission modes for 4G / 5G cellular networks. The edge node (i.e., the lightweight communication box) adopts a fully enclosed shell design with no active heat dissipation components such as fans inside. It relies on the passive heat dissipation structure of the shell for thermal management, has an IP54 protection rating, and can adapt to long-term stable operation in complex outdoor environments. The edge node has a snap-fit mounting structure 14, which allows for quick and easy installation and removal of the drone body without tools. The edge node (i.e., the lightweight communication box) weighs less than or equal to 150g. When installed on a DJI M4 series drone, it only affects the drone's flight time by 3 minutes. In emergency scenarios, this impact is negligible. In other words, the edge node (i.e., the lightweight communication box) has a minimal impact on the drone's flight time.
[0070] Remote data relay services are deployed in remotely accessible network environments (such as cloud platform object storage services OSS) as temporary data buffers and exchange hubs. Their core features include low-latency access, configurable lifecycle management, support for resumeable downloads, and TLS encrypted transmission.
[0071] Ground terminals are deployed at ground stations (such as command vehicles and field command centers) and are responsible for pulling remote sensing data files from remote data relay services and processing and analyzing them using specialized software. Their core capability is to automatically synchronize and trigger subsequent processing pipelines.
[0072] like Figure 3 As shown, the processing method includes:
[0073] S1. In response to the UAV entering the mission execution area, the edge node of the UAV detects that a new remote sensing data file has been written to the UAV storage medium at a first preset time interval, and determines that the new remote sensing data file has been written according to the preset writing conditions. Then, the communication permission is obtained, the new remote sensing data file is downloaded to the local storage of the edge node, and the communication permission is released.
[0074] In this implementation, newly written remote sensing data files are first detected by the edge node (i.e., new remote sensing data files are discovered). Specifically, the edge node establishes a communication connection with DJI PSDK through the E-Port data power interface, obtains the list of remote sensing data files in the drone's storage medium (e.g., SD card), and then immediately releases the PSDK's communication permissions. The edge node continuously monitors the status of remote sensing data files in the drone's storage medium in a periodic polling mode. It should be noted that this periodic polling mode supports both full detection mode and incremental detection mode. The full detection mode is executed when the drone starts up to build a complete file index. When the drone enters the mission execution area, it switches from full detection mode to incremental detection mode, only detecting remote sensing data files that have been added or modified since the last detection, thereby reducing the drone's resource consumption.
[0075] Furthermore, a write confirmation mechanism is implemented for new remote sensing data files: For new remote sensing data files in the remote sensing data file list, a cross-process file write completion confirmation mechanism is executed. Since the flight control program (C++ program) is responsible for writing new remote sensing data from the UAV's flight to the UAV's storage medium, and the data processing program (Python script) is responsible for reading new remote sensing data from the UAV's storage medium and performing the upload, these two processes run in different processes. There is a risk that the C++ program may not have completed writing the file (fclose operation incomplete) while the Python script has already started reading. To address this issue in a multi-process concurrent environment, the data processing program in this embodiment, upon detecting a new remote sensing data file, executes a write completion confirmation process based on preset write conditions. That is, the data processing program (i.e., the process of downloading new remote sensing data) is triggered only after it is determined that the new remote sensing data file has been written according to the preset write conditions. This ensures reliable judgment of new remote sensing data file write completion and the integrity of data transmission in a multi-process concurrent environment, thereby achieving zero data loss. It should be noted that the cross-process file write completion confirmation mechanism is used to solve the file access synchronization problem between the flight control program (C++ program) and the data processing program (Python script) running on the UAV. The flight control program (C++ program) is responsible for writing flight data (i.e., the new remote sensing data file) to the UAV's storage medium, while the data processing program (Python script) is responsible for reading the new remote sensing data file from the UAV's storage medium and performing the upload. Since the two run in different processes, and the UAV's resources are limited and cannot deploy heavyweight file system monitoring services (such as inotify), this disclosure adopts a lightweight two-stage file size comparison strategy to achieve reliable determination of new remote sensing data file write completion without relying on inter-process communication.
[0076] In this implementation, the edge node employs a state machine mechanism to manage the lifecycle of new remote sensing data files. The file status is represented by changes in the new remote sensing data file directory: new remote sensing data files written to the UAV storage medium are stored in the first directory (data / ), and after downloading and verification, they are moved to the second directory (data_sent / ). Atomic operations on the directories achieve decoupling and collaboration between the flight control program and the data processing program, avoiding state competition. The edge node also periodically performs zombie new remote sensing data file detection: identifying and cleaning up residual new remote sensing data files that have not been processed for a preset time (e.g., 24 hours) to maintain the health of the storage space.
[0077] Furthermore, after confirming that the new remote sensing data file has been written, the new remote sensing data file download step is executed. Specifically, after confirming that the new remote sensing data file has been written, PSDK communication permissions are obtained, the new remote sensing data file is downloaded from the UAV storage medium to the local storage of the edge node, and the PSDK communication permissions are released immediately after the download is completed.
[0078] In addition, before downloading new remote sensing data files, edge nodes perform timeliness filtering. For example, they only download new remote sensing data files whose creation or modification time is within a preset time range that is earlier than the current time. The preset time range can be configured between 0.1 hours and 72 hours depending on the task type; for example, it is configured to 0.5 hours for forest fire emergency monitoring scenarios and 24 hours for large-scale urban 3D modeling scenarios. This mechanism ensures that the latest data is prioritized for transmission in emergency scenarios, reducing invalid data transmission and saving more than 90% of wireless public network transmission costs.
[0079] In one specific implementation, for example, consider a scenario where a C++ flight control program writes flight data and a Python script uploads the flight data:
[0080] Scenario Description: A C++ flight control program writes flight data to a log.bin file on the drone's SD card at a rate of 10 records per second. A Python script needs to monitor and upload this file in real time. Due to the operating system's file caching mechanism, after the C++ flight control program calls fwrite to write flight data, the data may be temporarily stored in the drone's cache and not actually written to the drone's SD card. In this case, if the Python script reads the log.bin file, it may obtain incomplete flight data.
[0081] The technical solution disclosed herein involves a Python script executing the following verification process:
[0082] At time T0: Obtain the size of the log.bin file and record it as Size_A = 1,024,000 bytes;
[0083] Wait 0.5 seconds;
[0084] At time T0.5: Obtain the size of the log.bin file again and record it as Size_B;
[0085] Judgment: If Size_A = Size_B (e.g., both are 1,024,000 bytes), it is determined that writing to the log.bin file has been stable, and the download is executed;
[0086] If Size_A ≠ Size_B (e.g., Size_B = 1,025,200 bytes), it is determined that the log.bin file is still being written, so continue to wait and repeat the above process.
[0087] The technical effect of this disclosure is as follows: In 100 file transfer tests, the comparative scheme without this confirmation mechanism had 3 cases of incomplete file uploads (error rate of 3%); after adopting the double confirmation mechanism of this disclosure, all 100 transfers were successful (error rate of 0%).
[0088] S2. After verifying the successful download of the new remote sensing data file through the edge node, the downloaded new remote sensing data file is transferred to the remote data relay service. After verifying that the downloaded new remote sensing data file meets the preset deletion conditions, communication permissions are obtained and the remote sensing data file corresponding to the downloaded new remote sensing data file is deleted from the UAV storage medium before releasing the communication permissions.
[0089] In this embodiment, when the edge node interacts with DJI PSDK, it executes an immediate release and segmented retry mechanism for PSDK communication permissions: Because DJI PSDK uses a single-instance permission model, only one operation is allowed to hold permissions at a time. The traditional serial mode of "acquiring permissions → downloading → deleting → releasing permissions" will cause permissions to be occupied for a long time, affecting the normal access of the flight control system. In order to solve this problem (i.e., to break through the limitation of DJI PSDK's single-instance permission model), the edge node of this disclosure executes the following process: (a) acquire PSDK communication permissions; (b) acquire a list of remote sensing data files in the UAV storage medium; (c) immediately release PSDK communication permissions; (d) for each remote sensing data file in the list of remote sensing data files, execute: acquire PSDK communication permissions → download remote sensing data file → release PSDK communication permissions; (e) after the download is completed, perform an integrity check (i.e., download success check); (f) after the integrity check passes (i.e., the download is verified to be successful), acquire PSDK communication permissions → delete the downloaded data file from the UAV storage medium. The new remote sensing data file corresponds to the remote sensing data file → release PSDK communication permissions; (g) Each PSDK communication permission acquisition operation in steps (d) and (f) above is equipped with a retry mechanism (preferably 3 retries). If the first acquisition fails, it waits and then retryes, shortening the PSDK communication permission conflict window by about 90%, realizing efficient concurrent access for flight control and data processing; It should be noted that the instant release and segmented retry mechanism of PSDK communication permissions decomposes the long-term operation that originally required continuous holding of permissions (acquiring a file list → downloading multiple files → deleting multiple files) into multiple short-duration independent operations. The PSDK communication permissions are released immediately after each operation is completed. With the 3-retry mechanism, when the first acquisition of PSDK communication permissions fails, it automatically waits and then retryes, shortening the PSDK communication permission conflict window from an average of 45 seconds in the traditional serial mode to 0.5 seconds, significantly reducing communication permission conflicts.
[0090] Furthermore, after the integrity verification passes (i.e., the download is confirmed to be successful), the asynchronous uplink relay step is executed first, followed by the secure deletion step. Specifically, the edge node asynchronously uploads the new remote sensing data files that have been downloaded to its local storage and passed the integrity verification to the remote data relay service (i.e., the cloud platform OSS) via the public network (4G / 5G). This process is separated from the flight control link and supports breakpoint resumption and TLS encrypted transmission. When performing remote data cleanup, the edge node uses a batch deletion API instead of a file-by-file deletion API, reducing the number of API calls from proportional to the number of files to a fixed number, reducing API call costs by 99.9% and significantly lowering transmission costs. In other words, only newly downloaded remote sensing data files that meet the preset deletion conditions are deleted.
[0091] In a specific implementation, for example, taking a scenario of batch downloading multiple files, such as... Figure 4 The timing diagram for the immediate release of PSDK communication permissions shown (comparing the timing diagram to illustrate the difference in permission occupancy between the traditional serial mode and the segmented mode of this disclosure) illustrates the technical effect of the immediate release mechanism for PSDK communication permissions of this disclosure:
[0092] Comparison scheme (traditional serial mode): Obtain PSDK communication permission → Download file 1 → Download file 2 → Download file 3 → Delete file 1 → Delete file 2 → Delete file 3 → Release PSDK communication permission. In this mode, communication permission is continuously occupied throughout the entire operation cycle (approximately 45 seconds). If the drone needs to access the PSDK during this period (such as to obtain flight status), it will be blocked and wait (average wait time 12 seconds).
[0093] This publicly available solution (instant release + segmented retries): Obtain PSDK communication permissions → Obtain file list → Release PSDK communication permissions → Obtain PSDK communication permissions → Download file 1 → Release PSDK communication permissions → Obtain PSDK communication permissions → Download file 2 → Release PSDK communication permissions → Obtain PSDK communication permissions → Download file 3 → Release PSDK communication permissions → ... → Obtain PSDK communication permissions → Delete file 1 → Release PSDK communication permissions → ... (Each operation independently obtains and releases PSDK communication permissions, and each acquisition is set to retries 3 times).
[0094] Technical performance test data: In the simulation test, the average time for PSDK communication permission to be occupied in the traditional serial mode was 45 seconds, during which the average waiting time for the drone to access the PSDK was 12 seconds; after adopting the instant release + segmented retry mechanism disclosed in this paper, the average time for obtaining a single PSDK communication permission was shortened to 0.5 seconds, the PSDK communication permission conflict window was shortened by about 90%, and the drone's access was almost unaffected.
[0095] This implementation method achieves dynamic recycling of drone storage space at the edge node through a closed-loop mechanism of "download → verification → upload → delete → release space", effectively overcoming the physical limitations of onboard storage capacity. At the same time, through a collaborative mechanism of instant release of communication permissions, confirmation of preset write conditions, integrity verification, and verification of preset deletion conditions, reliable operation of data files in multi-process concurrent scenarios is achieved, improving the reliability of data file transmission and avoiding data file loss.
[0096] In an optional implementation, determining in S1 that the new remote sensing data file has been written completely according to preset writing conditions includes:
[0097] Obtain the first file size of the new remote sensing data file at the first moment and the second file size of the new remote sensing data file at the second moment after the first preset time.
[0098] In response to the first file size being the same as the second file size, it is determined that the new remote sensing data file has been successfully written.
[0099] In this embodiment, after detecting a new remote sensing data file, the data processing program executes the following write completion confirmation process: (1) Record the current file size (i.e., record the first file size of the new remote sensing data file at the first moment); (2) Wait for a first preset time (e.g., 0.5 seconds); (3) Obtain the file size again (i.e., obtain the second file size of the new remote sensing data file at the second moment); (4) If the two obtained file sizes are the same, it is determined that the writing of the new remote sensing data file has been completed, and the download operation is allowed; (5) If the two obtained file sizes are different, it is determined that the new remote sensing data file is still being written, and the program continues to wait and repeat steps (1) to (3) until the file size stabilizes. The above mechanism utilizes the timing characteristics of file system write operations. Through a double file size comparison strategy, a reliable judgment of the completion of writing of the new remote sensing data file is achieved under lightweight conditions without relying on inter-process communication mechanisms (such as semaphores, shared memory, etc.).
[0100] In an optional implementation, step S2, which verifies that the downloaded new remote sensing data file meets the preset deletion conditions, obtains communication permissions, deletes the remote sensing data file corresponding to the downloaded new remote sensing data file from the UAV storage medium, and then releases the communication permissions, includes:
[0101] In response to the existence of a newly downloaded remote sensing data file in the local storage of the edge node, and the fact that the newly downloaded remote sensing data file is not empty, and the file size of the newly downloaded remote sensing data file in the local storage of the edge node is the same as the file size of the newly downloaded remote sensing data file transmitted to the remote data relay service, after waiting for a second preset time period, communication permissions are obtained and the remote sensing data file corresponding to the newly downloaded remote sensing data file is deleted from the UAV storage medium, and then the communication permissions are released.
[0102] In this implementation, after the integrity verification passes (i.e., the download is confirmed to be successful), a triple security deletion verification strategy is executed: (a) First verification: confirming that the downloaded new remote sensing data file to be deleted exists in the local storage of the edge node; (b) Second verification: confirming that the downloaded new remote sensing data file is a non-empty file (file size greater than zero); (c) Third verification: confirming that the size of the downloaded new remote sensing data file is consistent with the size of the corresponding downloaded new remote sensing data file uploaded to the remote data relay service. After all three verifications pass, a second preset duration (e.g., 2 seconds) of security delay is executed; after the security delay ends, PSDK communication permissions are obtained, the remote sensing data file corresponding to the downloaded new remote sensing data file in the UAV storage medium is deleted, and PSDK communication permissions are released immediately to free up storage space in the UAV storage medium for the UAV to continue collecting data.
[0103] In this implementation, the triple security deletion verification strategy, in scenarios where the UAV network is unstable, uses multi-dimensional verification (local existence + non-empty + size consistency) and a security delay (2 seconds) to ensure that the new remote sensing data file has been completely uploaded to the remote data relay service before it is deleted from the UAV storage medium, thus achieving zero data loss. In addition, the triple verification is progressive, and if any verification fails, the deletion operation is terminated, an alarm is triggered, and the system enters an error recovery state.
[0104] In an optional implementation, the processing method further includes:
[0105] The ground terminal queries the remote data relay service at a second preset time interval, retrieves the downloaded new remote sensing data file from the remote data relay service, and processes the downloaded new remote sensing data file.
[0106] In this embodiment, the ground terminal periodically queries the remote data relay service to download newly arrived remote sensing data files incrementally. After downloading, it can trigger automated processing flows (such as aerial triangulation calculation and orthophoto generation) to achieve near real-time synchronous operation of "acquiring, transmitting, and mapping simultaneously". Newly downloaded remote sensing data files on the remote data relay service can be cleaned up according to strategies (such as "delete after download" or "automatically delete after a predetermined time after successful upload") to control storage costs.
[0107] Furthermore, after the space on the UAV's storage medium (e.g., SD card) is freed, the UAV flight control program (C++ program) continues to write new flight data (e.g., new remote sensing data files) to the UAV's storage medium (e.g., SD card). The lightweight communication box continuously monitors the SD card status through a periodic polling mechanism, repeatedly executing a closed loop of file discovery → file write confirmation → file write completion verification → file download success → file deletion → space release → continued data collection, thus achieving an infinite loop of simultaneous data collection, cleaning, and transmission.
[0108] It should be noted that edge nodes and ground terminals can be configured as daemons, automatically restarting after abnormal exit. Transmission-level fault tolerance: File transfer supports integrity verification and breakpoint resumption; State consistency maintenance: By recording file transfer status logs, duplicate transfers or data loss due to anomalies are avoided.
[0109] In this embodiment, for example, taking a DJI M4 drone equipped with a 128GB SD card as an example, a DJI M4 drone equipped with a 128GB SD card, during a continuous 4-hour high-resolution aerial photography mission, achieves dynamic recycling of the drone's storage space through the source-end cleanup download mechanism disclosed herein. The aerial photography mission is not interrupted due to insufficient storage space, and the data is completely uploaded to a remote data relay service (e.g., the cloud) without any loss.
[0110] This implementation method, through a "source-end cleanup download" mechanism, achieves uninterrupted continuous writing, reliable dumping, and dynamic release of flight data in the mission area under the stringent constraints of not increasing drone storage hardware or significantly increasing power consumption and weight, thus overcoming the industry bottleneck of "flight suspension when storage is full." Taking a DJI M4 drone equipped with a 128GB SD card as an example, during a continuous 4-hour high-resolution aerial photography mission, the source-end cleanup download mechanism disclosed herein enabled dynamic recycling of storage space, and the mission was not interrupted due to insufficient storage space throughout.
[0111] It should be noted that source-end cleanup download refers to the process where remote sensing data files are downloaded locally on the UAV and their integrity is verified, and then deleted from the UAV's storage medium to free up space, thereby supporting the continuous data flow mode of the UAV.
[0112] In one specific implementation, for example, taking an emergency rescue scenario equipped with a DJI M4 series drone, the source-side cleanup download workflow of this disclosure is explained in detail:
[0113] Step 1: Initialization and Connection Establishment. Install the edge node (i.e., the lightweight communication box) (weighing approximately 150g) onto the top of the drone using a snap-on structure, and establish a physical connection with the drone via the E-Port data power interface. After powering on, the lightweight communication box establishes a communication connection with the DJI PSDK via the E-Port data power interface, obtains file access permissions (i.e., PSDK communication permissions) to the drone's storage media (e.g., SD card), and immediately releases the PSDK communication permissions after obtaining the list of new remote sensing data files.
[0114] Step 2: Stability Check and Download of New Remote Sensing Data File. The data processing program (Python script) in the lightweight communication box polls the status of the UAV's storage medium (e.g., SD card) at 2-second intervals. Upon detecting a newly added flight data file (i.e., the new remote sensing data file), a cross-process file write completion confirmation is performed: the current file size is recorded (i.e., the initial file size of the new remote sensing data file at the first moment), and after 0.5 seconds, the file size is retrieved again (i.e., the second file size of the new remote sensing data file at the second moment). Once the two sizes are confirmed to be consistent, the write of the new remote sensing data file is considered complete. Subsequently, PSDK communication permissions are re-acquired, and the new remote sensing data file is downloaded from the UAV's storage medium (e.g., SD card) to the local storage of the edge node (i.e., the lightweight communication box). Immediately after the download is complete, PSDK communication permissions are released.
[0115] Step 3: Integrity Verification. Calculate the MD5 or SHA-256 hash value of the downloaded new remote sensing data file and compare it with the hash value of the corresponding remote sensing data file to confirm that the new remote sensing data file has been transmitted completely and without errors.
[0116] Step 4, Triple Security Deletion. Perform triple security deletion verification: (1) Confirm that the downloaded new remote sensing data file to be deleted exists in the local storage of the edge node; (2) Confirm that the downloaded new remote sensing data file is not empty (file size is greater than zero); (3) Confirm that the size of the downloaded new remote sensing data file is consistent with the size of the corresponding downloaded new remote sensing data file uploaded to the remote data relay service. After the triple verification is passed, wait for a 2-second security delay, re-acquire PSDK communication permissions, delete the remote sensing data file corresponding to the downloaded new remote sensing data file in the UAV storage medium (e.g., SD card), and immediately release PSDK communication permissions after deletion.
[0117] Step 5: Loop Data Acquisition. After the space on the drone's storage medium (e.g., SD card) is released, the drone flight control program (C++ program) continues to write new flight data to the drone's storage medium (e.g., SD card). The lightweight communication box continuously monitors the status of the drone's storage medium (e.g., SD card) through a periodic polling mechanism, repeating steps one through four to achieve an infinite loop of "acquiring, cleaning, and transmitting simultaneously".
[0118] This implementation method achieves dynamic recycling of UAV storage space through the source-end cleanup download mechanism disclosed herein. The mission is not interrupted due to insufficient storage space, and the new remote sensing data files are completely uploaded to the remote data relay service without any data loss.
[0119] In an optional implementation, step S2, verifying the successful download of the new remote sensing data file via edge nodes, includes:
[0120] Get the hash value of the downloaded new remote sensing data file and the hash value of the remote sensing data file corresponding to the downloaded new remote sensing data file; or divide the downloaded new remote sensing data into several data blocks, get the hash value of several data blocks and the block hash list of the remote sensing data file corresponding to the downloaded new remote sensing data file;
[0121] In this implementation, the hash value is either an MD5 or SHA-256 hash value.
[0122] Retrieve the metadata of the newly downloaded remote sensing data file and the metadata of the remote sensing data file corresponding to the newly downloaded remote sensing data file;
[0123] If the hash value of the downloaded new remote sensing data file matches the hash value of the corresponding remote sensing data file, and the metadata of the downloaded new remote sensing data file matches the metadata of the corresponding remote sensing data file, or if the hash values of several data blocks match the block hash list of the corresponding remote sensing data file, and the metadata of the downloaded new remote sensing data file matches the metadata of the corresponding remote sensing data file, then the download of the new remote sensing data file is confirmed to be successful.
[0124] In this embodiment, integrity verification is performed on the newly downloaded remote sensing data file. Integrity verification uses a hash algorithm (such as MD5 or SHA-256) to calculate the hash value of the downloaded new remote sensing data file, and compares it with the hash value of the corresponding remote sensing data file. Data transmission integrity is confirmed only if the two are completely identical and the metadata of the downloaded new remote sensing data file matches the metadata of the corresponding remote sensing data file. For large remote sensing data files, block hash verification is used, supporting partial verification during breakpoint resumption. Specifically, for large remote sensing data files (e.g., files larger than 10MB), a block hash strategy is used to divide the large remote sensing data file into several data blocks and calculate the hash value of each block to balance verification reliability and computational efficiency. For remote sensing data files larger than a preset size threshold, a breakpoint resumption mechanism is enabled: the large remote sensing data file is divided into multiple data blocks, and multi-threaded (preferably 3 threads) concurrent download is used. When a download thread fails, only that data block is re-downloaded, not the entire file.
[0125] In an optional implementation, the processing method further includes:
[0126] Obtain the load status of edge nodes;
[0127] The first preset time interval is adjusted based on the load status.
[0128] In this embodiment, the edge node executes a hierarchical delay scheduling strategy, dynamically adjusting the polling interval (e.g., a first preset time interval) according to the current load status of the UAV edge node: the load status includes, but is not limited to, idle state, normal processing state, high load state, error recovery state, etc.
[0129] For example, such as Figure 5 As shown, the idle state uses a first delay (e.g., 5 seconds), the normal processing state uses a second delay (e.g., 500 milliseconds), the high load state uses a third delay (e.g., 200 milliseconds), and the error recovery state uses a fourth delay (e.g., 1 second) to achieve dynamic balancing of drone resources.
[0130] In an optional implementation, the processing method further includes:
[0131] After the download or transmission of a new remote sensing data file is interrupted and then resumed, the download or transmission of the incomplete new remote sensing data file continues based on the byte offset of the new remote sensing data file that has been downloaded or transmitted.
[0132] In this embodiment, a breakpoint resume mechanism is adopted, which includes: persistent transmission progress: recording the offset of downloaded or transmitted bytes for each new remote sensing data file; abnormal recovery: when downloading or transmitting is interrupted due to network interruption, device restart, or other reasons, downloading or transmitting continues from the last recorded offset position, instead of retransmitting the complete new remote sensing data file; checkpoint setting: setting a checkpoint every certain number of data blocks (e.g., 1MB) to ensure the accuracy of the resume position.
[0133] In one specific implementation, for example, the UAV remote sensing data processing method of this disclosure is used for the deployment of forest fire emergency monitoring as follows:
[0134] Scenario characteristics: extremely low latency is required, and the value of the data decays very rapidly over time.
[0135] Unmanned aerial vehicle (UAV) flight system configuration: The timeliness filtering window of the edge node is set to 30 minutes, transmitting only the latest fire scene photos; source end cleanup download is enabled; the monitoring interval is set to 1 second; the lifecycle policy of the remote data relay service is set to "automatically delete the latest fire scene image file 1 hour after successful upload"; the synchronization interval of the ground terminal is set to 30 seconds, and the fire identification algorithm is automatically invoked after the download is completed.
[0136] Workflow: Drones patrol and take pictures over the fire; edge nodes poll and detect every 1 second, and immediately download and delete the original photos from the drone's storage medium (e.g., SD card) when new photos are found, and then transmit them to the remote data relay service via the 5G network; ground terminals (e.g., ground command centers) can receive the new photos within 30 seconds to 1 minute and generate a heat map of the fire boundary for command and decision-making.
[0137] Technical Results: From taking a photo to the commander seeing the analysis chart, the latency can be consistently maintained within 30 seconds to 5 minutes (depending on network conditions and data volume), achieving dynamic monitoring of fire situations at the second to minute level. Simultaneously, thanks to the source-end cleanup download mechanism, a single drone can perform continuous reconnaissance missions for over 4 hours, increasing the coverage area by 3 to 4 times.
[0138] In one specific implementation, for example, the UAV remote sensing data processing method of this disclosure is deployed for large-scale urban 3D modeling as follows:
[0139] Scenario characteristics: large task area, huge amount of data collected, long operation cycle, and emphasis on overall efficiency and cost.
[0140] Unmanned aerial vehicle (UAV) flight system configuration: The timeliness filtering window of the edge node is set to 1 hour to ensure complete data upload within a single flight; source end cleanup download is enabled; the monitoring interval is set to 5 seconds; the lifecycle policy of the remote data relay service is set to "automatically delete files 24 hours after download"; the synchronization interval of the ground terminal is set to 5 minutes, and it is connected to the photogrammetric cluster for automated aerial triangulation calculation.
[0141] Workflow: Multiple drones perform data collection tasks in blocks; each drone edge node works independently, continuously monitoring and uploading data to different directories of the remote data transfer service at 5-second intervals; the ground terminal processing cluster pulls data from each block from the remote data transfer service as needed, performs parallel processing, and realizes synchronous mapping operation of "building while flying".
[0142] Technical benefits: The overall project duration is shortened by more than 40% because there is no need to wait for data copying; cloud storage costs are reduced by 90% due to timely data cleanup; and individual drones no longer need to return to base when storage is full, increasing operational efficiency by more than 3 times.
[0143] In this embodiment, during the processing of UAV remote sensing data, the transmission link of the remote sensing data file is as follows: UAV storage medium (SD card / airborne storage) → edge node (self-developed lightweight communication box) → 4G / 5G network → OSS / object storage (remote data relay service) → 4G / 5G / WiFi → ground terminal (e.g., ground laptop / workstation). This transmission link is physically separated from the flight control link and does not occupy the UAV remote control bandwidth.
[0144] This implementation adopts a three-layer architecture consisting of UAV edge nodes, remote data relay services, and ground terminals. Through a "source-end cleanup download" mechanism, a closed-loop cycle of "download → verification → delete UAV storage media files → free up space → continue acquisition" is achieved at the UAV edge node. Combined with key technologies such as cross-process file write completion confirmation, instant release of PSDK communication permissions, and triple-security deletion, continuous data acquisition and reliable transmission during long-endurance UAV missions are achieved without adding additional storage devices or significantly impacting flight endurance, overcoming the industry bottleneck of "storage full, flight halt." Specifically, the airborne edge node is a lightweight communication box that connects to the UAV via an E-Port data power interface, with a total weight of less than or equal to 150g. The edge node continuously monitors the UAV storage media in an infinite polling mode. After confirming the cross-process file write completion, it downloads the new remote sensing data file written to the UAV storage media. After passing integrity verification, it performs triple-security deletion verification (local existence + not empty + size consistency), and after a security delay, deletes the remote sensing data file corresponding to the downloaded new remote sensing data file, freeing up storage space to support infinite continuous acquisition. The new remote sensing data files are asynchronously relayed via a remote data relay service, supporting breakpoint resumption and TLS encryption. Finally, the data is synchronized by the ground terminal, triggering near real-time mapping and analysis. This method reduces end-to-end data latency from hours to seconds to minutes (typically ≤3 minutes, optimized ≤30 seconds), supporting near real-time synchronous mapping and analysis during UAV missions. Combined with the PSDK communication permission instant release mechanism, the permission conflict window is shortened by 90%, solving industry challenges such as limited UAV storage, high transmission costs, and severe processing latency. It is particularly suitable for time-sensitive remote sensing missions such as emergency monitoring and large-scale mapping, achieving asynchronous decoupling and collaboration between aerial data acquisition, data transmission, and ground processing, thus improving overall robustness and resource utilization.
[0145] Example 2
[0146] Corresponding to the aforementioned embodiment of a method for processing UAV remote sensing data, this disclosure also provides an embodiment of a system for processing UAV remote sensing data. This processing system relies on... Figure 1 The three-layer architecture of "edge node - remote data relay service - ground terminal" is as follows: Figure 1 As shown, the architecture includes an air layer (containing drones, sensors, and edge nodes), a network layer (remote data relay services), and a ground layer (ground terminals). Figure 1 The arrows in the diagram indicate the direction of data flow. Specifically, edge nodes are deployed on drone platforms, such as... Figure 2As shown, the edge node is a lightweight communication box 11. The edge node connects to the drone via a DJI E-Port data power interface 12. The DJI E-Port data power interface is a single physical interface that provides both power and a data communication channel to the edge node. The edge node includes a memory, a processor, and a communication module. The communication module includes two external antennas arranged at an angle of 30 to 45 degrees, forming a MIMO (Multiple-Input Multiple-Output) antenna array 13, supporting MIMO transmission modes for 4G / 5G cellular networks. The edge node (i.e., the lightweight communication box) adopts a fully enclosed shell design with no active heat dissipation components such as fans inside. It relies on the passive heat dissipation structure of the shell for thermal management, has an IP54 protection rating, and can adapt to long-term stable operation in complex outdoor environments. The edge node has a snap-fit mounting structure 14, which allows for quick and easy installation and removal of the drone body without tools. The edge node (i.e., the lightweight communication box) weighs less than or equal to 150g. When installed on a DJI M4 series drone, it only affects the drone's flight time by 3 minutes. In emergency scenarios, this impact is negligible. In other words, the edge node (i.e., the lightweight communication box) has a minimal impact on the drone's flight time.
[0147] Remote data relay services are deployed in remotely accessible network environments (such as cloud platform object storage services OSS) as temporary data buffers and exchange hubs. Their core features include low-latency access, configurable lifecycle management, support for resumeable downloads, and TLS encrypted transmission.
[0148] Ground terminals are deployed at ground stations (such as command vehicles and field command centers) and are responsible for pulling remote sensing data files from remote data relay services and processing and analyzing them using specialized software. Their core capability is to automatically synchronize and trigger subsequent processing pipelines.
[0149] Figure 6 This is a schematic diagram of a module of a UAV remote sensing data processing system provided in Embodiment 2 of this disclosure, as shown below. Figure 6 As shown, the processing system includes:
[0150] The detection module 21 is used to respond to the UAV entering the mission execution area, detect the writing of a new remote sensing data file in the UAV storage medium through the edge node of the UAV at a first preset time interval, determine that the new remote sensing data file has been written according to the preset writing conditions, obtain communication permission, download the new remote sensing data file to the local storage of the edge node, and then release the communication permission.
[0151] In this implementation, newly written remote sensing data files are first detected by the edge node (i.e., new remote sensing data files are discovered). Specifically, the edge node establishes a communication connection with DJI PSDK through the E-Port data power interface, obtains the list of remote sensing data files in the drone's storage medium (e.g., SD card), and then immediately releases the PSDK's communication permissions. The edge node continuously monitors the status of remote sensing data files in the drone's storage medium in a periodic polling mode. It should be noted that this periodic polling mode supports both full detection mode and incremental detection mode. The full detection mode is executed when the drone starts up to build a complete file index. When the drone enters the mission execution area, it switches from full detection mode to incremental detection mode, only detecting remote sensing data files that have been added or modified since the last detection, thereby reducing the drone's resource consumption.
[0152] Furthermore, the new remote sensing data file is written to confirm the process: for details of the write confirmation process, please refer to the detailed description in Comparison File 1, which will not be repeated here.
[0153] In this implementation, the edge node employs a state machine mechanism to manage the lifecycle of new remote sensing data files. The file status is represented by changes in the new remote sensing data file directory: new remote sensing data files written to the UAV storage medium are stored in the first directory (data / ), and after downloading and verification, they are moved to the second directory (data_sent / ). Atomic operations on the directories achieve decoupling and collaboration between the flight control program and the data processing program, avoiding state competition. The edge node also periodically performs zombie new remote sensing data file detection: identifying and cleaning up residual new remote sensing data files that have not been processed for a preset time (e.g., 24 hours) to maintain the health of the storage space.
[0154] Furthermore, after confirming that the new remote sensing data file has been written, the new remote sensing data file download step is executed. Specifically, after confirming that the new remote sensing data file has been written, PSDK communication permissions are obtained, the new remote sensing data file is downloaded from the UAV storage medium to the local storage of the edge node, and the PSDK communication permissions are released immediately after the download is completed.
[0155] In addition, before downloading new remote sensing data files, edge nodes perform timeliness filtering. For example, they only download new remote sensing data files whose creation or modification time is within a preset time range that is earlier than the current time. The preset time range can be configured between 0.1 hours and 72 hours depending on the task type; for example, it is configured to 0.5 hours for forest fire emergency monitoring scenarios and 24 hours for large-scale urban 3D modeling scenarios. This mechanism ensures that the latest data is prioritized for transmission in emergency scenarios, reducing invalid data transmission and saving more than 90% of wireless public network transmission costs.
[0156] In one specific implementation, for example, taking the scenario of writing flight data by a C++ flight control program and uploading flight data by a Python script as an example, the specific implementation process is described in detail in Example 1, and will not be repeated here.
[0157] The deletion module 22 is used to verify that the new remote sensing data file has been successfully downloaded through the edge node, transmit the downloaded new remote sensing data file to the remote data relay service, verify that the downloaded new remote sensing data file meets the preset deletion conditions, obtain communication permissions, delete the remote sensing data file corresponding to the downloaded new remote sensing data file from the UAV storage medium, and then release the communication permissions.
[0158] In this embodiment, when the edge node interacts with DJI PSDK, it executes an immediate release and segmented retry mechanism for PSDK communication permissions: Because DJI PSDK uses a single-instance permission model, only one operation is allowed to hold permissions at a time. The traditional serial mode of "acquiring permissions → downloading → deleting → releasing permissions" will cause permissions to be occupied for a long time, affecting the normal access of the flight control system. In order to solve this problem (i.e., to break through the limitation of DJI PSDK's single-instance permission model), the edge node of this disclosure executes the following process: (a) acquire PSDK communication permissions; (b) acquire a list of remote sensing data files in the UAV storage medium; (c) immediately release PSDK communication permissions; (d) for each remote sensing data file in the list of remote sensing data files, execute: acquire PSDK communication permissions → download remote sensing data file → release PSDK communication permissions; (e) after the download is completed, perform an integrity check (i.e., download success check); (f) after the integrity check passes (i.e., the download is verified to be successful), acquire PSDK communication permissions → delete the downloaded data file from the UAV storage medium. The new remote sensing data file corresponds to the remote sensing data file → release PSDK communication permissions; (g) Each PSDK communication permission acquisition operation in steps (d) and (f) above is equipped with a retry mechanism (preferably 3 retries). If the first acquisition fails, it waits and then retryes, shortening the PSDK communication permission conflict window by about 90%, realizing efficient concurrent access for flight control and data processing; It should be noted that the instant release and segmented retry mechanism of PSDK communication permissions decomposes the long-term operation that originally required continuous holding of permissions (acquiring a file list → downloading multiple files → deleting multiple files) into multiple short-duration independent operations. The PSDK communication permissions are released immediately after each operation is completed. With the 3-retry mechanism, when the first acquisition of PSDK communication permissions fails, it automatically waits and then retryes, shortening the PSDK communication permission conflict window from an average of 45 seconds in the traditional serial mode to 0.5 seconds, significantly reducing communication permission conflicts.
[0159] Furthermore, after the integrity verification passes (i.e., the download is confirmed to be successful), the asynchronous uplink relay step is executed first, followed by the secure deletion step. Specifically, the edge node asynchronously uploads the new remote sensing data files that have been downloaded to its local storage and passed the integrity verification to the remote data relay service (i.e., the cloud platform OSS) via the public network (4G / 5G). This process is separated from the flight control link and supports breakpoint resumption and TLS encrypted transmission. When performing remote data cleanup, the edge node uses a batch deletion API instead of a file-by-file deletion API, reducing the number of API calls from proportional to the number of files to a fixed number, reducing API call costs by 99.9% and significantly lowering transmission costs. In other words, only newly downloaded remote sensing data files that meet the preset deletion conditions are deleted.
[0160] In a specific implementation, for example, taking a scenario of batch downloading multiple files, such as... Figure 4 The timing diagram for the immediate release of PSDK communication permissions shown (the timing diagram is used to compare and show the difference in permission occupancy between the traditional serial mode and the segmented mode of this disclosure) is used to illustrate the technical effect of the immediate release mechanism for PSDK communication permissions of this disclosure. For details, please refer to the detailed description in Embodiment 1, which will not be repeated here.
[0161] In an optional implementation, the detection module includes:
[0162] The first acquisition unit is used to acquire the first file size of the new remote sensing data file at the first moment and the second file size of the new remote sensing data file at the second moment after the first preset time.
[0163] The first determining unit is used to determine that the new remote sensing data file has been written completely in response to the first file size being the same as the second file size.
[0164] In this embodiment, the specific write completion confirmation process is described in detail in Example 1, and will not be repeated here.
[0165] In an optional implementation, the deletion module includes:
[0166] The second acquisition unit is configured to, in response to the existence of a newly downloaded remote sensing data file in the local storage of the edge node, and the newly downloaded remote sensing data file being a non-empty file, and the file size of the newly downloaded remote sensing data file in the local storage of the edge node being consistent with the file size of the newly downloaded remote sensing data file transmitted to the remote data relay service, wait for a second preset time period, acquire communication permissions, delete the remote sensing data file corresponding to the newly downloaded remote sensing data file from the UAV storage medium, and then release the communication permissions.
[0167] In this embodiment, the specific triple security deletion verification strategy is described in detail in Example 1, and will not be repeated here.
[0168] In an optional implementation, the processing system further includes:
[0169] The second acquisition module is used to query the remote data relay service through the ground terminal at a second preset time interval, obtain the downloaded new remote sensing data file from the remote data relay service, and process the downloaded new remote sensing data file.
[0170] In this embodiment, the ground terminal periodically queries the remote data relay service to download newly arrived remote sensing data files incrementally. After downloading, it can trigger automated processing flows (such as aerial triangulation calculation and orthophoto generation) to achieve near real-time synchronous operation of "acquiring, transmitting, and mapping simultaneously". Newly downloaded remote sensing data files on the remote data relay service can be cleaned up according to strategies (such as "delete after download" or "automatically delete after a predetermined time after successful upload") to control storage costs.
[0171] Furthermore, after the space on the UAV's storage medium (e.g., SD card) is freed, the UAV flight control program (C++ program) continues to write new flight data (e.g., new remote sensing data files) to the UAV's storage medium (e.g., SD card). The lightweight communication box continuously monitors the SD card status through a periodic polling mechanism, repeatedly executing a closed loop of file discovery → file write confirmation → file write completion verification → file download success → file deletion → space release → continued data collection, thus achieving an infinite loop of simultaneous data collection, cleaning, and transmission.
[0172] It should be noted that edge nodes and ground terminals can be configured as daemons, automatically restarting after abnormal exit. Transmission-level fault tolerance: File transfer supports integrity verification and breakpoint resumption; State consistency maintenance: By recording file transfer status logs, duplicate transfers or data loss due to anomalies are avoided.
[0173] In this embodiment, for example, taking a DJI M4 drone equipped with a 128GB SD card as an example, a DJI M4 drone equipped with a 128GB SD card, during a continuous 4-hour high-resolution aerial photography mission, achieves dynamic recycling of the drone's storage space through the source-end cleanup download mechanism disclosed herein. The aerial photography mission is not interrupted due to insufficient storage space, and the data is completely uploaded to a remote data relay service (e.g., the cloud) without any loss.
[0174] This implementation method, through a "source-end cleanup download" mechanism, achieves uninterrupted continuous writing, reliable dumping, and dynamic release of flight data in the mission area under the stringent constraints of not increasing drone storage hardware or significantly increasing power consumption and weight, thus overcoming the industry bottleneck of "flight suspension when storage is full." Taking a DJI M4 drone equipped with a 128GB SD card as an example, during a continuous 4-hour high-resolution aerial photography mission, the source-end cleanup download mechanism disclosed herein enabled dynamic recycling of storage space, and the mission was not interrupted due to insufficient storage space throughout.
[0175] It should be noted that source-end cleanup download refers to the process where remote sensing data files are downloaded locally on the UAV and their integrity is verified, and then deleted from the UAV's storage medium to free up space, thereby supporting the continuous data flow mode of the UAV.
[0176] In one specific implementation, for example, taking an emergency rescue scenario equipped with a DJI M4 series drone, the source-end cleanup download workflow of this disclosure is described in detail. For the specific workflow, please refer to the detailed description in Embodiment 1, which will not be repeated here.
[0177] In an optional implementation, the deletion module further includes:
[0178] The third acquisition unit is used to acquire the hash value of the downloaded new remote sensing data file and the hash value of the remote sensing data file corresponding to the downloaded new remote sensing data file; or to divide the downloaded new remote sensing data into several data blocks, acquire the hash value of several data blocks and the block hash list of the remote sensing data file corresponding to the downloaded new remote sensing data file;
[0179] In this implementation, the hash value is either an MD5 or SHA-256 hash value.
[0180] The fourth acquisition unit is used to acquire the metadata of the downloaded new remote sensing data file and the metadata of the remote sensing data file corresponding to the downloaded new remote sensing data file;
[0181] The second determining unit is used to determine that the new remote sensing data file has been successfully downloaded in response to the following: the hash value of the downloaded new remote sensing data file is consistent with the hash value of the corresponding remote sensing data file and the metadata of the downloaded new remote sensing data file is consistent with the metadata of the corresponding remote sensing data file; or the hash values of several data blocks are consistent with the block hash list of the corresponding remote sensing data file and the metadata of the downloaded new remote sensing data file is consistent with the metadata of the corresponding remote sensing data file.
[0182] In this embodiment, an integrity check is performed on the newly downloaded remote sensing data file. The specific check process is described in detail in Example 1 and will not be repeated here.
[0183] In an optional implementation, the processing system further includes:
[0184] The first acquisition module is used to acquire the load status of edge nodes;
[0185] The adjustment module is used to adjust the first preset time interval based on the load status.
[0186] In this embodiment, the edge node executes a hierarchical delay scheduling strategy, dynamically adjusting the polling interval (e.g., a first preset time interval) according to the current load status of the UAV edge node: the load status includes, but is not limited to, idle state, normal processing state, high load state, error recovery state, etc.
[0187] For example, such as Figure 5 As shown, the idle state uses a first delay (e.g., 5 seconds), the normal processing state uses a second delay (e.g., 500 milliseconds), the high load state uses a third delay (e.g., 200 milliseconds), and the error recovery state uses a fourth delay (e.g., 1 second) to achieve dynamic balancing of drone resources.
[0188] In an optional implementation, the processing system further includes:
[0189] The processing module is used to continue downloading or transmitting the incomplete new remote sensing data file based on the obtained byte offset of the new remote sensing data file that has been downloaded or transmitted after the download or transmission of the new remote sensing data file is interrupted and resumed.
[0190] In this embodiment, a breakpoint resume mechanism is adopted, which includes: persistent transmission progress: recording the offset of downloaded or transmitted bytes for each new remote sensing data file; abnormal recovery: when downloading or transmitting is interrupted due to network interruption, device restart, or other reasons, downloading or transmitting continues from the last recorded offset position, instead of retransmitting the complete new remote sensing data file; checkpoint setting: setting a checkpoint every certain number of data blocks (e.g., 1MB) to ensure the accuracy of the resume position.
[0191] In this embodiment, the method for processing UAV remote sensing data disclosed herein is described in detail in Example 1 for deployment of emergency monitoring of forest fires and deployment of large-scale urban 3D modeling, and will not be repeated here.
[0192] For the system embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The system embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this disclosure according to actual needs.
[0193] Example 3
[0194] Figure 7 This is a schematic diagram of the structure of an electronic device according to Embodiment 3 of this disclosure. The electronic device includes a memory, a processor, and a computer program stored in the memory and used to run on the processor. When the processor executes the computer program, it implements the method for processing UAV remote sensing data described in any of the above embodiments. Figure 7 The electronic device 90 shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments disclosed herein.
[0195] like Figure 7 As shown, the electronic device 90 can be manifested as a general-purpose computing device, such as a server device. The components of the electronic device 90 may include, but are not limited to: at least one processor 91, at least one memory 92, and a bus 93 connecting different system components (including memory 92 and processor 91).
[0196] Bus 93 includes a data bus, an address bus, and a control bus.
[0197] The memory 92 may include volatile memory, such as random access memory (RAM) 921 and / or cache memory 922, and may further include read-only memory (ROM) 923.
[0198] The memory 92 may also include a program tool 925 (or utility) having a set (at least one) program module 924, such program module 924 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of these examples may include an implementation of a network environment.
[0199] The processor 91 executes various functional applications and data processing by running computer programs stored in the memory 92, such as the UAV remote sensing data processing method provided in any of the above embodiments.
[0200] Electronic device 90 can also communicate with one or more external devices 94 (e.g., keyboard, pointing device, etc.). This communication can be performed via input / output (I / O) interface 95. Furthermore, electronic device 90 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 96. Figure 7 As shown, network adapter 96 communicates with other modules of electronic device 90 via bus 93. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with electronic device 90, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID (disk array) systems, tape drives, and data backup storage systems.
[0201] It should be noted that although several units / modules or sub-units / modules of the electronic device have been mentioned in the detailed description above, this division is merely exemplary and not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more units / modules described above can be embodied in one unit / module. Conversely, the features and functions of one unit / module described above can be further divided and embodied by multiple units / modules.
[0202] Example 4
[0203] Embodiment 4 of this disclosure also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method for processing UAV remote sensing data provided in any of the above embodiments.
[0204] The readable storage medium may be more specifically adopted, including but not limited to: portable disk, hard disk, random access memory, read-only memory, erasable programmable read-only memory, optical storage device, magnetic storage device, or any suitable combination thereof.
[0205] Example 5
[0206] Embodiment 5 of this disclosure also provides a computer program product, including a computer program that, when executed by a processor, implements the method for processing UAV remote sensing data as described in any of the above embodiments.
[0207] The program code for executing the computer program product of this disclosure can be written in any combination of one or more programming languages, and the program code can be executed entirely on a user device, partially on a user device, as a stand-alone software package, partially on a user device and partially on a remote device, or entirely on a remote device.
[0208] While specific embodiments of this disclosure have been described above, those skilled in the art should understand that these are merely illustrative examples, and the scope of protection of this disclosure is defined by the appended claims. Those skilled in the art can make various changes or modifications to these embodiments without departing from the principles and essence of this disclosure, but all such changes and modifications fall within the scope of protection of this disclosure.
Claims
1. A method for processing UAV remote sensing data, characterized in that, The processing method includes: In response to the UAV entering the mission execution area, the edge node of the UAV detects that a new remote sensing data file has been written to the UAV's storage medium at a first preset time interval, and determines that the new remote sensing data file has been written completely according to preset writing conditions. After obtaining communication permission and downloading the new remote sensing data file to the local storage of the edge node, the communication permission is released. After verifying that the new remote sensing data file has been successfully downloaded by the edge node, the downloaded new remote sensing data file is transmitted to the remote data relay service. After verifying that the downloaded new remote sensing data file meets the preset deletion conditions, the communication permission is obtained and the remote sensing data file corresponding to the downloaded new remote sensing data file is deleted from the UAV storage medium, and then the communication permission is released. The process of verifying that the downloaded new remote sensing data file meets the preset deletion conditions, obtaining the communication permission, deleting the remote sensing data file corresponding to the downloaded new remote sensing data file from the UAV storage medium, and then releasing the communication permission includes: In response to the existence of the downloaded new remote sensing data file in the local storage of the edge node, the downloaded new remote sensing data file being a non-empty file, and the file size of the downloaded new remote sensing data file in the local storage of the edge node being consistent with the file size of the downloaded new remote sensing data file transmitted to the remote data relay service, after waiting for a second preset time period, the communication permission is obtained and the remote sensing data file corresponding to the downloaded new remote sensing data file is deleted from the UAV storage medium, and then the communication permission is released.
2. The method for processing UAV remote sensing data as described in claim 1, characterized in that, The step of determining that the new remote sensing data file has been written completely according to preset writing conditions includes: The first file size of the new remote sensing data file at the first moment and the second file size of the new remote sensing data file at the second moment after the first preset time period are obtained; In response to the first file size being the same as the second file size, it is determined that the new remote sensing data file has been successfully written.
3. The method for processing UAV remote sensing data as described in claim 1, characterized in that, The step of verifying the successful download of the new remote sensing data file through the edge node includes: Obtain the hash value of the downloaded new remote sensing data file and the hash value of the remote sensing data file corresponding to the downloaded new remote sensing data file; or divide the downloaded new remote sensing data into several data blocks, obtain the hash values of several data blocks and the block hash list of the remote sensing data file corresponding to the downloaded new remote sensing data file; Obtain the metadata of the downloaded new remote sensing data file and the metadata of the remote sensing data file corresponding to the downloaded new remote sensing data file; In response to the hash value of the downloaded new remote sensing data file being consistent with the hash value of the corresponding remote sensing data file and the metadata of the downloaded new remote sensing data file being consistent with the metadata of the corresponding remote sensing data file, or the hash values of the several data blocks being consistent with the block hash list of the corresponding remote sensing data file and the metadata of the downloaded new remote sensing data file being consistent with the metadata of the corresponding remote sensing data file, it is determined that the new remote sensing data file has been successfully downloaded.
4. The method for processing UAV remote sensing data as described in claim 1, characterized in that, The processing method further includes: Obtain the load status of edge nodes; The first preset time interval is adjusted based on the load status.
5. The method for processing UAV remote sensing data as described in claim 1, characterized in that, The processing method further includes: After the download or transmission of a new remote sensing data file is interrupted and then resumed, the download or transmission of the incomplete new remote sensing data file continues based on the byte offset of the new remote sensing data file that has been downloaded or transmitted. And / or, The processing method further includes: The ground terminal queries the remote data relay service at a second preset time interval, retrieves the downloaded new remote sensing data file from the remote data relay service, and processes the downloaded new remote sensing data file.
6. A system for processing remote sensing data from unmanned aerial vehicles (UAVs), characterized in that, The processing system includes: The detection module is used to respond to the UAV entering the mission execution area, detect the writing of a new remote sensing data file in the UAV's storage medium through the UAV's edge node at a first preset time interval, determine that the new remote sensing data file has been written completely according to preset writing conditions, obtain communication permission, download the new remote sensing data file to the local storage of the edge node, and then release the communication permission. The deletion module is used to verify that the new remote sensing data file has been successfully downloaded through the edge node, transmit the downloaded new remote sensing data file to the remote data relay service, verify that the downloaded new remote sensing data file meets the preset deletion conditions, obtain the communication permission, delete the remote sensing data file corresponding to the downloaded new remote sensing data file from the UAV storage medium, and then release the communication permission. The deletion module includes: The second acquisition unit is configured to, in response to the existence of the downloaded new remote sensing data file in the local storage of the edge node, and the downloaded new remote sensing data file being a non-empty file, and the file size of the downloaded new remote sensing data file in the local storage of the edge node being consistent with the file size of the downloaded new remote sensing data file transmitted to the remote data relay service, wait for a second preset time period, acquire the communication permission, delete the remote sensing data file corresponding to the downloaded new remote sensing data file from the UAV storage medium, and then release the communication permission.
7. An electronic device comprising a memory, a processor, and a computer program stored in the memory and for running on the processor, characterized in that, When the processor executes the computer program, it implements the method for processing UAV remote sensing data as described in any one of claims 1 to 5.
8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the method for processing UAV remote sensing data as described in any one of claims 1 to 5.
9. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the method for processing UAV remote sensing data as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Curtain wall monitoring management method based on big data, electronic equipment and storage medium
CN118069677A
High-voltage direct-current protection constant value cloud edge collaborative management system and method and medium
CN120473934A