WO2021081828A1 - 一种数据处理方法、设备、系统及存储介质 - Google Patents

一种数据处理方法、设备、系统及存储介质 Download PDF

Info

Publication number
WO2021081828A1
WO2021081828A1 PCT/CN2019/114453 CN2019114453W WO2021081828A1 WO 2021081828 A1 WO2021081828 A1 WO 2021081828A1 CN 2019114453 W CN2019114453 W CN 2019114453W WO 2021081828 A1 WO2021081828 A1 WO 2021081828A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
flight control
control processor
storage device
flight
Prior art date
Application number
PCT/CN2019/114453
Other languages
English (en)
French (fr)
Inventor
邸健
辛昆鹏
耿畅
Original Assignee
深圳市大疆创新科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳市大疆创新科技有限公司 filed Critical 深圳市大疆创新科技有限公司
Priority to CN201980040904.8A priority Critical patent/CN112313598A/zh
Priority to PCT/CN2019/114453 priority patent/WO2021081828A1/zh
Publication of WO2021081828A1 publication Critical patent/WO2021081828A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Definitions

  • the present invention relates to the technical field of data processing, in particular to a data processing method, equipment, system and storage medium.
  • UAV geofencing system there are two ways to implement the UAV geofencing system: one is to use products that do not have high-performance processors (ie, advanced functions such as no forward-looking obstacle avoidance) to achieve, and do not have a product database with high-performance processors
  • the storage space is very small and is only suitable for simple circular restricted-flying areas.
  • the other is to use a product with a high-performance processor (that is, an advanced function of visual obstacle avoidance) to achieve, and this implementation method needs to read all the data at once, which will cause a lot of memory consumption and increase hardware costs. .
  • the embodiments of the present application provide a data processing method, device, system, and storage medium, which improve data processing efficiency and reduce memory consumption.
  • an embodiment of the present application provides a data processing method, including:
  • the flight control processor sends an acquisition request to the storage device.
  • the acquisition request is used to request to acquire part of the data in the target data block to which the target restricted-fly zone data belongs, and the target restricted-fly zone data is used by the flight control processor to perform restriction.
  • one or more data blocks are stored in the storage device, and the length of the data block is greater than or equal to the maximum data length of a single transmission between the flight control processor and the storage device.
  • the data length is less than or equal to the maximum data length of a single transmission between the flight control processor and the storage device;
  • the flight control processor receives part of the data in the target data block sent by the storage device.
  • the embodiments of the present application provide another data processing method, including:
  • the storage device receives an acquisition request sent by the flight control processor.
  • the acquisition request is used to request to acquire part of the data in the target data block to which the target restricted flight zone data belongs, and the target restricted flight zone data is used by the flight control processor to perform Flight restriction control
  • the storage device stores one or more data blocks, the length of the data block is greater than or equal to the maximum data length of a single transmission between the flight control processor and the storage device, and the partial data The length of is less than or equal to the maximum data length of a single transmission between the flight control processor and the storage device.
  • the storage device sends the part of the data in the target data block to the flight control processor.
  • an embodiment of the present application provides a data processing device, including: a memory and a processor;
  • the memory is used to store programs
  • the processor is used to call the program, and when the program is executed, it is used to perform the following operations:
  • the acquisition request is used to request to acquire part of the data in the target data block to which the target restricted-fly zone data belongs, and the target restricted-fly zone data is used by the flight control processor to perform flight restriction control, so
  • the storage device stores one or more data blocks, the length of the data block is greater than or equal to the maximum data length of a single transmission between the flight control processor and the storage device, and the data length of the partial data is less than or equal to The maximum data length of a single transmission between the flight control processor and the storage device;
  • an embodiment of the present application provides a data storage device, including: a memory and a processor;
  • the memory is used to store programs
  • the processor is used to call the program, and when the program is executed, it is used to perform the following operations:
  • the acquisition request is used to request to acquire part of the data in the target data block to which the target restricted-fly zone data belongs, and the target restricted-fly zone data is used by the flight control processor to restrict the flight Control
  • the storage device stores one or more data blocks, the length of the data block is greater than or equal to the maximum data length of a single transmission between the flight control processor and the storage device, and the length of the partial data Less than or equal to the maximum data length of a single transmission between the flight control processor and the storage device;
  • an embodiment of the present application provides a data processing system, including:
  • an embodiment of the present application provides a computer-readable storage medium, the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the above-mentioned first or second aspect is implemented. method.
  • the storage device stores all the restricted-flying databases
  • the flight control processor obtains part of the restricted-flying data blocks from the storage device according to the requirements for flight control of the flight equipment without reading all the restricted-flying zone databases.
  • a block reading method can improve data processing efficiency and reduce memory consumption.
  • the amount of data that the flight control processor can request from the storage device in a single request cannot exceed the maximum data length of a single transmission between the flight control processor and the storage device. If the flight control processor requests a large amount of data, It is obtained by sending multiple requests to the storage device to avoid the problem that the data cannot be successfully received due to the excessive amount of data that the storage device transmits to the flight control processor in a single time and the insufficient physical bandwidth of the flight control processor.
  • Figure 1a is a schematic structural diagram of a data processing system provided by an embodiment of the present application.
  • Figure 1b is a schematic structural diagram of another data processing system provided by an embodiment of the present application.
  • Figure 2 is a schematic diagram of a database storage format provided by an embodiment of the present application.
  • FIG. 3 is a schematic diagram of the architecture of a data processing system provided by an embodiment of the present application.
  • FIG. 4 is a schematic flowchart of a data processing method provided by an embodiment of the present application.
  • FIG. 5 is a schematic flowchart of another data processing method provided by an embodiment of the present application.
  • FIG. 6 is a schematic flowchart of another data processing method provided by an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a flight control processor provided by an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a storage device provided by an embodiment of the present application.
  • the data processing method provided in the embodiments of the present application can be applied to flight equipment.
  • the flight equipment includes a flight control system (FC) processor and an application processor (AP).
  • the flight control system processor may also be referred to as a flight control processor for short.
  • the flight control processor may be, for example, a microcontroller unit (MCU), a single chip microcomputer (SCM), or a single chip microcomputer.
  • the application processor may be, for example, a central processing unit (CPU).
  • the flight control processor is mainly used to control the flight of the drone, and the flash memory set on the flight control processor has a small capacity (for example, the capacity of the Flash chip on a common flight control processor is generally less than or equal to 1Mb).
  • the storage space of the application processor is relatively large, for example, the storage space of GB level can generally be supported.
  • the database used for the complex polygonal restricted-flying zone is larger (for example, greater than 10MB) . If the flight control processor executes the flight control control and the flight control database storage, the MCU used by the flight control processor generally only has less than 1MB of on-chip Flash, which cannot be used to store the complex and large number of flight-restricted zone databases. If the flight control processor is equipped with a high-performance processor with sufficient resources to complete the storage of a large database and the related calculations of the limited flight area, it will bring a great increase in hardware costs.
  • the application processor executes the restricted-flying control and the restricted-flying database storage, each time the application processor performs the calculation of the restricted-flying area, it will read all the restricted-flying zone data in the database at one time. One-time reading will cause a lot of memory consumption, and most of the data read into the memory will not be used during a flight. And the application processor may also be rooted, and there is a risk of data tampering. Therefore, based on the requirement of flight restriction control, in an embodiment of the present application, a flight control processor is used to perform calculation of the flight restriction area and flight control of flight equipment, and a huge flight restriction database is stored in the application processor. In this way, there is no need for the flight control processor to store the flight-restricted database, avoiding additional hardware storage costs.
  • the flight restriction database can also be stored on a remote device, such as a controller, terminal, server, etc.
  • the flight control processor communicates with the remote device through the wireless communication interface.
  • the flying equipment includes one or more motors for providing mobile power for the flying equipment, and the flying equipment may be an unmanned aerial vehicle, an aircraft, etc., whose task depends on the motor to move autonomously.
  • the data processing methods mentioned in the embodiments of this application can also be applied to other movable devices, such as robots that can move autonomously, unmanned vehicles, unmanned ships and other movable devices.
  • FIG. 1a is a schematic structural diagram of a flight control system provided by an embodiment of the present application.
  • the flight control system includes: a flight device 11 and a control device 12.
  • the flight control processor 111 and the application processor 113 are both located on the flight device 11, and the application processor 113 is used to store a flight restriction database. That is, the flight controller and the storage device used to store the flight restriction database are located on the same device.
  • the flying equipment 11 includes a power system 112, and the power system 112 is used to provide the flying equipment 11 with moving power.
  • the flight control system includes: a flight device 11 and a control device 12.
  • the flight control processor 111 is located on the flight device 11, and the control device 12 is used to store a flight restriction database. That is, the flight controller and the storage device for storing the flight restriction database are located on different devices.
  • the control device includes any one of a terminal, a controller, and a server.
  • the control device 12 can establish a communication connection with the flight device 11 through a wireless communication connection.
  • the flying equipment 11 includes a power system 112, and the power system 112 is used to provide the flying equipment 11 with moving power.
  • the installation positions of the flight control processor 111 and the application processor 113 are only used to characterize that the flight control processor 111 and the application processor 113 are installed on the flight device 11, and are not used for limitation.
  • the installation positions of the flight control processor 111 and the application processor 113 on the flight device 11, for example, the flight control processor 111 and the application processor 113 may be installed inside the flight device 11.
  • the installation position of the flight control processor 111 is only used to characterize that the flight control processor 111 is installed on the flight device 11, and is not used to limit the installation position of the flight control processor 111 on the flight device 11.
  • the flight control processor 111 may be installed inside the flight equipment 11.
  • the application processor stores the limited-flying database in blocks, and the storage format can be seen in Figure 2.
  • each data block has a corresponding signature, for example, data block 1 corresponds to signature 1, and data block 2 corresponds to signature 2.
  • the signature can be used to verify the integrity and correctness of the data block.
  • the database header information contains information such as the address information of the data block, the size of the data block, the address information of the signature of the data block, and the number of total data blocks.
  • the application processor has a read interface. When the flight control processor needs to obtain the target restricted-fly zone data around the current position, it sends a read request to the application processor through the read interface. The read request carries the target restricted-fly zone data.
  • the application processor responds to the read request and returns the restricted flight zone data of the corresponding address to the flight control processor.
  • the flight control processor performs the calculation of the restricted-flying area and the flight control of the flight equipment according to the restricted-flying area data.
  • the size of the data block in the flight-restricted database needs to be restricted, and each data block in the flight-restricted database cannot be too small, otherwise the overhead caused by the signature will be very large.
  • the data block size in the flight restriction database is set to a relatively common 1KB.
  • the flight control processor needs to read at least 1KB of data each time. Due to the low performance of the flight control processor, its bandwidth capability is also low, and the 1KB data block size exceeds the FC-AP communication link capability.
  • a flight restriction database is provided in the embodiment of the present application.
  • Block read proxy mechanism For example, referring to the schematic diagram of the architecture shown in Figure 3, the database reading is done by AP and FC together. The database is stored in the AP side file system, and the AP provides a random read interface, responds to the FC read request, and returns the corresponding data of the corresponding address. As shown in FIG. 3, the AP includes a reader interface and a database. FC includes a flysafe module and an agent module.
  • the flysafe module executes the functional logic of the flight restriction, and gives the length and address of the required flight restriction zone data in the database.
  • the agent module is a flight-restricted database reading agent module, completes the conversion of the target address and length to the target data block, and then splits it into small packets that meet the link requirements according to the physical link bandwidth configured by the FC, and then initiates multiple times to the AP. After reading the request, after obtaining the complete data, the data is spliced, and then the signature is requested, and the data is signed and verified. If it meets the requirements, it will be passed to the flysafe module for functional logic use.
  • FIG. 4 is a schematic flowchart of a data processing method provided by an embodiment of the present application.
  • the data processing method may be executed by a flight control processor.
  • the method of the embodiment of the present application includes the following steps.
  • the flight control processor sends an acquisition request to the storage device.
  • the acquisition request is used to request to acquire part of the data in the target data block to which the target restricted flight zone data belongs.
  • the target restricted flight zone data is used by the flight control processor to perform flight restriction control and store
  • the device stores one or more data blocks, the length of the data block is greater than or equal to the maximum data length of a single transmission between the flight control processor and the storage device, and the data length of some data is less than or equal to the single transmission between the flight control processor and the storage device. The maximum data length of this transfer.
  • the flight control processor receives part of the data in the target data block sent by the storage device.
  • the flight control processor needs to set the maximum length of data obtained by each request, and the maximum data length obtained by a single request needs to be less than or equal to the maximum data length of a single transmission between the flight control processor and the storage device.
  • the maximum data length of a single transmission between the flight control processor and the storage device is related to the physical bandwidth of the flight control processor. For example, if the physical bandwidth of the flight control processor is 300B, it means that the flight control processor sends to other devices in a single time. The maximum amount of data received from other devices or received at a time is 300B.
  • the acquisition request sent by the flight control processor carries the address information of the data requested to be acquired, and the length of the data needs to be set to a value less than or equal to the maximum data length of a single transmission between the flight control processor and the storage device. Therefore, the amount of data requested by the flight control processor from the storage device at a time will not exceed the maximum data length of a single transmission between the flight control processor and the storage device. This can ensure that regardless of whether the flight control processor’s communication link capability is high or Low, the data volume of a single transmission will not exceed the communication link capacity of FC.
  • the address information may include the start address and the length, or the start address and the end address, or the end address and the length.
  • the data length may also be referred to as data amount, data size, and so on.
  • the flight control processor can calculate the address information of the target restricted flight zone data that needs to be acquired according to the current geographic location information of the flight equipment.
  • the target data block corresponding to the target restricted-fly zone data is determined according to the address information of the target restricted-fly zone data.
  • the flight control processor determines the address information of the target restricted-flying zone data corresponding to the current position information, it may determine the target code value corresponding to the current position of the flight device according to the current position information of the flight device, And according to the target code value, the address information of the target restricted area data corresponding to the target code value is determined from an address mapping table.
  • the address mapping table includes one or more code values and one or more Correspondence of the address information of the data in the restricted-flying zone.
  • the code value may be calculated by a hash algorithm, and the code value is a hash value.
  • the encoding value may also be calculated by other encoding algorithms.
  • the encoding value may also be calculated from a user-defined encoding rule, which is not specifically limited in the embodiment of the present invention.
  • the current location information of the flying device includes but is not limited to GPS location information.
  • the address mapping table may be stored in the flight control processor, or it may be obtained by the flight control processor from a storage device. For example, the flight control processor obtains the database header information from the storage device in advance, and the database header The information includes the address mapping table.
  • the database header information also includes address information of each data block stored in the storage device.
  • the flight control processor determines the target data block corresponding to the target flight restriction zone according to the address information of the target flight restriction zone data and the address information of each data block stored in the storage device. For example, the flight control processor calculates the address information of the target restricted-flying zone data according to the current GPS position of the flight equipment to be 500-1500, and learns from the database header information that the size of the data block stored in the storage device is 1K, and the address of data block 1 The information is 1-1000, the address information of data block 2 is 1001-2000, and so on. Then, the flight control processor can determine the target data blocks to which the target restricted-fly zone data belongs to data block 1 and data block 2 according to the address information 500-1500 of the target restricted-fly zone data and the address information of the data blocks stored in the storage device.
  • the flight control processor sending an acquisition request to the storage device includes: the flight control processor sequentially sends multiple acquisition requests to the storage device until the flight control processor receives all the data in the target data block, and each acquisition The request is used to request different data in the target data block; the flight control processor receives part of the data in the target data block sent by the storage device, including: the flight control processor sequentially receives part of the data in the target data block from the storage device multiple times .
  • the flight control processor before the flight control processor sends the acquisition request to the storage device, it needs to split one acquisition request for acquiring the target data block into multiple acquisition requests, and each acquisition request is used to acquire the data in the target data block.
  • the amount of data requested each time needs to be less than or equal to the maximum data length of a single transmission between the flight control processor and the storage device.
  • the flight control processor may split one acquisition request for acquiring the target data block into multiple acquisition requests for acquiring partial data in the target data block according to the physical bandwidth of the flight control processor.
  • the size of the data block stored on the storage device is 1KB
  • the address of the target restricted area data that FC needs to obtain is 1-1000
  • each address corresponds to a 1Byte data
  • the data with the address 1-1000 is on the storage device Corresponding to data block 1.
  • the FC link allows up to 300B data to be transmitted in a single time, so the flight control processor needs to be divided into 300B, 300B, 300B, and 100B, and a total of four times to request the storage device to obtain the 1KB data.
  • 300B, 300B, 300B, and 100B are just examples.
  • the amount of data acquired each time can also be set to other values or the number of times the acquisition request can be sent can also be other times, which only needs to satisfy a single time.
  • the amount of transmitted data is less than or equal to the maximum data length of a single transmission between the flight control processor and the storage device, and the total amount of data acquired multiple times at least includes the target data block, which is not limited in this embodiment of the application.
  • the flight control processor is divided into 200B, 200B, 200B, 200B, and 200B, a total of five times to the storage device to request 1KB of data.
  • the flight control processor when the flight control processor separately sends multiple acquisition requests for the target data block, the data requested each time may be completely different. For example, if the address of the target restricted area data that FC needs to obtain is 1-1000, the flight control processor requests the data with the address 1-300 when sending the first acquisition request, and requests the address when sending the second acquisition request. For the data of 301-600, the data with the address 601-900 is requested when the third acquisition request is sent, and the data with the address 901-1000 is requested when the fourth acquisition request is sent.
  • the data requested each time may be partially the same.
  • the flight control processor requests the data with the address 1-300 when sending the first acquisition request, and requests the address when sending the second acquisition request.
  • the data is 250-550.
  • the flight control processor requests the data with the address 500-800 when sending the first acquisition request, and requests the address when sending the second acquisition request.
  • the data is 250-550.
  • the data with the address 500-800 is requested, and when the fourth acquisition request is sent, the data with the address 750-1000 is requested. Transmission of partially repeated data multiple times can improve the reliability of data transmission.
  • the flight control processor may also obtain the database header information from the storage device.
  • the database header information includes the address information and the size of each data block in one or more data blocks stored in the storage device.
  • the flight control processor determines the address information of the target data block according to the header information of the database.
  • the database header information may also include information such as the number of total data blocks.
  • the database header information can also be pre-stored in the flight control processor, so the flight control processor does not need to obtain the database header information from the storage device.
  • the database header information may also include the address information of the signature of the data block.
  • the header information of the database also stores the correspondence between the address information of the signature of one or more data blocks and the address information of the one or more data blocks, for example, the data block 1 corresponds to the signature 1.
  • Data block 2 corresponds to signature 2.
  • the flight control processor after the flight control processor receives all the data in the target data block from the storage device, it further includes: the flight control processor obtains the signature of the target data block from the storage device; Block for verification. For example, the flight control processor searches the database header information for the signature address information corresponding to the target data block, and sends a request to obtain the signature to the storage device. The request carries the signature address information corresponding to the target data block, and the flight control processor Receive the signature corresponding to the target data block sent by the storage device, and verify the target data block according to the signature.
  • the flight control processor synthesizes the target restricted flight zone data according to the data in the target data block. For example, after the flight control processor obtains 300B, 300B, 300B, 100B from the storage device four times, a total of 1KB of data will be spliced according to the address of the data to synthesize 1KB of data.
  • the flight control processor stores the data in the target data block in the memory.
  • the memory includes but is not limited to a buffer or a cache. Store the target data block in the memory of the flight control processor, so that when the subsequent flight control processor needs to obtain the target data block again, it can directly obtain the target data block from the local memory without having to request the acquisition from the storage device again, which can shorten the data acquisition time. Time to improve the efficiency of data acquisition.
  • the flight control processor can obtain new restricted-fly zone data next time after the storage space is full. After the block, replace the earlier data block stored in the storage space, and complete the update of the data block of the restricted flight zone in the memory.
  • the flight control processor verifies the target data block according to the signature, including: the flight control processor calculates the target data block according to a preset key to obtain a verification signature; the flight control processor performs the signature and verification The signature is compared; if the signature is consistent with the verification signature, the flight control processor determines that the verification of the target data block is successful.
  • the flight control processor verifies the target data block according to the signature, it can calculate the target data block according to the preset key X to obtain the verification signature, and then the signature and verification The signature is compared, and if the signature is consistent with the verification signature, it can be determined that the verification of the target data block is successful.
  • the signature of the target data block can be verified, which helps to ensure the safety of the restricted-fly zone data corresponding to the target data block.
  • the method further includes: the flight control processor searches whether the partial data exists in the memory; if not, the flight control processor sends the request to the storage device Send the acquisition request. If it is, there is no need to send an acquisition request to the storage device, and the flight control processor acquires the part of the data from the memory. For example, if the address of the target restricted-fly zone data that FC needs to obtain is 1-1500, and the last-acquired 1-1000 restricted-fly zone data blocks are stored in the cache, FC can only store the data with addresses 1001-1500 The device sends an acquisition request. After acquiring the data at addresses 1001-1500, it is spliced with the data at 1-1000 stored in the cache to synthesize the data at addresses 1-1500 required by the FC.
  • the restricted-flying database may not be stored in one storage device.
  • the restricted-flying database may be split into several sub-databases and stored on different storage devices.
  • the flight control processor is responsible for requesting the restricted-flying zone from different storage devices. data.
  • the flight control processor and the storage device may be located in the same device.
  • the same device is a flying device, and the storage device is an application processor.
  • the flight control processor may be an FC processor such as an MCU.
  • the application processor may be an AP.
  • the flight control processor and the application processor are connected via a bus.
  • the flight control processor and the storage device are located in different devices.
  • the flight control processor is located on a flight device, and the storage device is a control device of the flight device.
  • the control device includes a terminal, a controller or a server. Then the flight control processor and the storage device communicate through the transceiver. The data generated by the flight control processor is sent to the storage device through the transceiver of the flight device. Similarly, after the transceiver of the flight device receives the data sent by the storage device , And then transmitted to the flight control processor through the bus.
  • flight equipment includes: flight control processor, application processor, and transceiver. Further, flight equipment can also include various sensors, power systems, etc., among which the flight control processor is dedicated to handling flight control related Executing instructions, such as determining whether to fall into the restricted-flying zone, whether to change the route, etc.
  • the flight control processor may further control the flight-restricted flight equipment according to the target restricted-fly zone data and the position information of the flight equipment.
  • the flight control processor performs flight restriction control on the flight equipment according to the target flight restriction zone data and the position information of the flight equipment, including:
  • the flying equipment does not fall into the target restricted flying zone and the distance between the flying equipment and the target restricted flying zone is less than or equal to a preset threshold, control the flying equipment to stay away from the target restricted flying zone; or,
  • the flying equipment If the flying equipment does not fall into the target restricted area and the distance between the flying equipment and the target restricted area is less than or equal to a preset threshold, the flying equipment is controlled to land or hover.
  • the preset threshold may be preset by the system.
  • the storage device stores all the restricted-flying databases
  • the flight control processor obtains part of the restricted-flying data blocks from the storage device according to the requirements for flight control of the flight equipment without reading all the restricted-flying zone databases.
  • a block reading method can improve data processing efficiency and reduce memory consumption.
  • the amount of data that the flight control processor can request from the storage device in a single request cannot exceed the maximum data length of a single transmission between the flight control processor and the storage device.
  • the flight control processor requests a large amount of data, It is obtained by sending multiple requests to the storage device to avoid the problem that the data cannot be successfully received due to the excessive amount of data that the storage device transmits to the flight control processor in a single time and the insufficient physical bandwidth of the flight control processor.
  • the flight control processor requests a large amount of data, It is obtained by sending multiple requests to the storage device to avoid the problem that the data cannot be successfully received due to the excessive amount of data that the storage device transmits to the flight control processor in a single time and the insufficient physical bandwidth of the flight control processor.
  • the link configuration of the device (that is, the maximum data length of a single transmission) is sufficient, and there is no need to modify the size configuration of the data block in the storage device, and the database can have a large degree of freedom.
  • the flight control processor caches the target data block, it will first check whether there is in its own cache before reading, so it can avoid repeated reading in a short time, reduce the link burden, and improve the efficiency of data acquisition. .
  • FIG. 5 is a schematic flowchart of another data processing method provided by an embodiment of the present application, and the method may be executed by a storage device. Specifically, the method of the embodiment of the present application includes the following steps.
  • the storage device receives an acquisition request sent by the flight control processor.
  • the acquisition request is used to request to acquire part of the data in the target data block to which the target restricted-fly zone data belongs.
  • the target restricted-fly zone data is used by the flight control processor to perform flight restriction control.
  • the storage device stores one or more data blocks. The length of the data block is greater than or equal to the maximum data length of a single transmission between the flight control processor and the storage device, and the length of some data is less than or equal to the single transmission between the flight control processor and the storage device. The maximum data length of this transfer.
  • S502 The storage device sends part of the data in the target data block to the flight control processor.
  • the maximum length of the data requested in a single acquisition request received by the storage device needs to be less than or equal to the maximum data length of a single transmission between the flight control processor and the storage device.
  • the maximum data length of a single transmission between the flight control processor and the storage device is related to the physical bandwidth of the flight control processor. For example, if the physical bandwidth of the flight control processor is 300B, the maximum data requested in a single acquisition request is 300B.
  • the acquisition request received by the storage device carries the address information of the data requested by the flight control processor, and the length of the data needs to be less than or equal to the maximum data length of a single transmission between the flight control processor and the storage device.
  • the amount of data requested by the flight control processor from the storage device at a time will not exceed the maximum data length of a single transmission between the flight control processor and the storage device. This can ensure that regardless of whether the flight control processor’s communication link capability is high or Low, the data volume of a single transmission will not exceed the communication link capacity of FC.
  • the address information may include the start address and the length, or the start address and the end address, or the end address and the length.
  • the data length may also be referred to as data amount, data size, and so on.
  • the storage device receiving the acquisition request sent by the flight control processor includes: the storage device sequentially receives multiple acquisition requests sent by the flight control processor; the storage device sends part of the data in the target data block to the flight control processing The device includes: the storage device sequentially sends part of the data in the target data block to the flight control processor multiple times.
  • the storage device continuously receives multiple acquisition requests.
  • the data requested by each of the multiple acquisition requests may be continuous, and the length of the data requested each time is less than or equal to the distance between the flight control processor and the storage device. The maximum data length of a single transmission.
  • the size of the data block stored on the storage device is 1KB
  • the address of the target restricted area data that FC needs to obtain is 1-1000
  • each address corresponds to a 1Byte data
  • the data with the address 1-1000 is on the storage device Corresponding to data block 1.
  • the FC link allows a maximum of 300B of data to be transmitted in a single time, and the storage device will continuously receive 4 acquisition requests sent by the flight control processor.
  • the 4 acquisition requests sequentially request data sizes of 300B, 300B, 300B, and 100B.
  • 300B, 300B, 300B, and 100B are just examples.
  • the amount of data acquired each time can also be set to other values or the number of times the acquisition request is sent can also be other times, for example, the storage device will continue After receiving 5 acquisition requests sent by the flight control processor, the 5 acquisition requests sequentially request the data size to be 200B, 200B, 200B, 200B, 200B.
  • “continuous" means that the time interval between receiving the acquisition request twice is less than the preset time threshold.
  • the data requested each time may be completely different.
  • the storage device receives the address of 1-300 in the acquisition request sent by the flight control processor for the first time, and the second time it receives the flight control
  • the address carried in the acquisition request sent by the processor is 301-600
  • the address carried in the acquisition request sent by the flight control processor for the third time is 601-900
  • the acquisition request sent by the flight control processor is received for the fourth time
  • the address carried in is 901-1000.
  • the data requested each time may be partially the same.
  • the storage device receives the address of 1-300 in the acquisition request sent by the flight control processor for the first time, and the second time it receives the flight control
  • the address carried in the acquisition request sent by the processor is 250-550
  • the address carried in the acquisition request sent by the flight control processor for the third time is 500-800
  • the acquisition request sent by the flight control processor is received for the fourth time
  • the address carried in is 750-1000. Transmission of partially repeated data multiple times can improve the reliability of data transmission.
  • the method further includes: the storage device sends a signature of the target data block to the flight control processor, and the signature is used to verify the target data block.
  • the acquisition request includes address information of part of the data.
  • the storage device Before the storage device receives the acquisition request sent by the flight control processor, it also includes: the storage device sends database header information to the flight control device, and the database header information includes a Or the address information of each data block in multiple data blocks.
  • the database header information may also include information such as the number of total data blocks.
  • the database header information may also include the address information of the signature of the data block.
  • the header information of the database also stores the correspondence between the address information of the signature of one or more data blocks and the address information of the one or more data blocks, for example, the data block 1 corresponds to the signature 1.
  • Data block 2 corresponds to signature 2.
  • the restricted-flying database may not be stored in one storage device.
  • the restricted-flying database may be split into several sub-databases and stored on different storage devices.
  • the flight control processor is responsible for requesting the restricted-flying zone from different storage devices. data.
  • the flight control processor and the storage device may be located in the same device.
  • the same device is a flying device, and the storage device is an application processor.
  • the flight control processor can be an FC processor such as an MCU.
  • the application processor may be an AP.
  • the flight control processor and the application processor are connected via a bus.
  • the flight control processor and the storage device are located in different devices.
  • the flight control processor is located on a flight device, and the storage device is a control device of the flight device.
  • the control device includes a terminal, a controller or a server. Then the flight control processor and the storage device communicate through the transceiver. The data generated by the flight control processor is sent to the storage device through the transceiver of the flight device. Similarly, after the transceiver of the flight device receives the data sent by the storage device , And then transmitted to the flight control processor through the bus.
  • flight equipment includes: flight control processor, application processor, and transceiver. Further, flight equipment can also include various sensors, power systems, etc., among which the flight control processor is dedicated to handling flight control related Executing instructions, such as determining whether to fall into the restricted-flying zone, whether to change the route, etc.
  • the storage device stores all the restricted-flying databases
  • the flight control processor obtains part of the restricted-flying data blocks from the storage device according to the requirements for flight control of the flight equipment without reading all the restricted-flying zone databases.
  • a block reading method can improve data processing efficiency and reduce memory consumption.
  • the amount of data that the flight control processor can request from the storage device in a single request cannot exceed the maximum data length of a single transmission between the flight control processor and the storage device.
  • the flight control processor requests a large amount of data, It is obtained by sending multiple requests to the storage device to avoid the problem that the data cannot be successfully received due to the excessive amount of data that the storage device transmits to the flight control processor in a single time and the insufficient physical bandwidth of the flight control processor.
  • the flight control processor requests a large amount of data, It is obtained by sending multiple requests to the storage device to avoid the problem that the data cannot be successfully received due to the excessive amount of data that the storage device transmits to the flight control processor in a single time and the insufficient physical bandwidth of the flight control processor.
  • the link configuration of the device (that is, the maximum data length of a single transmission) is sufficient, and there is no need to modify the size configuration of the data block in the storage device, and the database can have a large degree of freedom.
  • the flight control processor caches the target data block, it will first check whether there is in its own cache before reading, so it can avoid repeated reading in a short time, reduce the link burden, and improve the efficiency of data acquisition. .
  • the flight control processor may include a flysafe module and an agent module.
  • the two modules are independent of each other.
  • the two modules can be software modules or hardware modules, and can be developed independently.
  • the proxy module is used to send an acquisition request to the storage device and receive part of the data in the target data block sent by the storage device, and the proxy module is also used to synthesize target restricted-fly zone data and convert data in the target data block sent by the storage device.
  • the target restricted area data is sent to the safety flight module.
  • the safe flight module is used to control the flight equipment based on the target flight restriction zone data and the position information of the flight equipment.
  • the agent module is responsible for interacting with the storage device
  • the flysafe module is responsible for executing the logic calculations related to the flight restriction and completing the flight control of the flight equipment.
  • the storage device as an application processor as an example, the application processor includes a reader interface and a database.
  • FIG. 6 is a schematic diagram of the interaction process between the flight control processor and the application processor provided by the embodiment of the present application.
  • the interaction process is as follows:
  • the proxy module obtains the database header information from the application processor through the read interface.
  • the database header information includes the address information of each data block in one or more data blocks stored in the storage device, the size of the data block, the number of total data blocks, the address information of the signature of the data block, and the address mapping One or more types of information in the table.
  • the address mapping table includes a correspondence relationship between one or more code values and one or more address information of the restricted-fly zone data.
  • the safe flight module requests the agent module to obtain target restricted-fly zone data.
  • the safe flight module calculates the address and length of the target restricted-fly zone data in the database to be read according to the current flight equipment position, and sends the address and length of the target restricted-fly zone data to the agent module.
  • the safe flight module determines the target code value corresponding to the current location of the flight device according to the current geographic location information of the flight device, and determines the target code value corresponding to the target code value from the address mapping table. Address information and/or length.
  • the address mapping table may be obtained by the agent module from the header information of the database and then sent to the safe flight module, and the safe flight module is stored in a buffer or a memory.
  • the agent module determines the target data block to which the target restricted area data belongs.
  • the target data block to which the target restricted-fly zone data belongs can be understood as: the data contained in the data block is the restricted-fly zone data, and a data block can include one or more restricted-fly zone data, and the data where the target restricted-fly zone data is located The block is the target data block.
  • the proxy module calculates the target data block to which the target restricted-fly zone data belongs according to the address and length of the target restricted-fly zone data.
  • the agent module searches whether there is a target data block in the buffer, and if so, sends the target restricted area data to the safe flight module; if not, executes step S605.
  • the proxy module sends an acquisition request to the application processor multiple times through the read interface, requesting to acquire the data in the target data block.
  • the read interface of the application processor After receiving the acquisition request, the read interface of the application processor reads the data of the corresponding address from the database according to the address of the data carried in the acquisition request and sends it to the proxy module.
  • the proxy module splits the target data block into several requests according to the actual physical bandwidth.
  • Get data from the AP for example: the target data block is 1 and the size is 1KB, and the FC link allows the maximum 300B, then the proxy module needs to be divided into 300B, 300B, 300B, 100B, a total of four times to the AP to request this 1KB The data).
  • the read interface reads the address 1-300 from the database according to the address 1-300 of the data carried in the acquisition request The data is sent to the agent module.
  • the address carried in the second acquisition request is 301-600, and after receiving the acquisition request, the read interface reads the data corresponding to the address 301-600 from the database according to the address 301-600 of the data carried in the acquisition request And send it to the agent module.
  • the address carried in the third acquisition request is 601-900, and after receiving the acquisition request, the read interface reads the data corresponding to the address 601-900 from the database according to the address 601-900 of the data carried in the acquisition request And send it to the agent module.
  • the address carried in the fourth acquisition request is 901-1000, and after receiving the acquisition request, the reading interface reads the data corresponding to the address 901-1000 from the database according to the address 901-1000 of the data carried in the acquisition request And send it to the agent module. After receiving all the data of the target data block, the proxy module re-splices the received data into a complete data block.
  • the proxy module obtains the signature of the target data block from the application processor through the read interface, and verifies the target data block according to the signature. If the verification succeeds, the target data block is stored in the buffer and the target data block is returned to the safe flight module for flight restriction District data.
  • the proxy module searches for the address information of the signature corresponding to the target data block according to the header information of the database, and requests the signature from the AP through the reading interface.
  • the proxy module calculates the signature of the spliced data block and compares it with the signature requested from the AP. If the signature is consistent, the read succeeds and returns the target restricted-fly zone data to the safe flight module, and at the same time stores the target data block.
  • the safety flight module receives the successfully read target restricted-flying zone data, and performs logical processing of the restricted-flying function.
  • the safe flight module is used to control the flight equipment based on the target flight restriction zone data and the position information of the flight equipment. For example, if the flying equipment falls into the target restricted area, the flying equipment is controlled to land; or if the flying equipment does not fall into the target restricted area and the distance between the flying equipment and the target restricted area is less than or equal to the preset threshold, the flying equipment is controlled Keep away from the target restricted area; or, if the flying equipment does not fall into the target restricted area and the distance between the flying equipment and the target restricted area is less than or equal to the preset threshold, control the flying equipment to land or hover.
  • the flysafe module sends the address and length of the 1KB data to the agent module.
  • the agent module can learn from the database header information that the target data block to which the part of the restricted-fly zone data belongs is data block 1 (including data with addresses from 1-1000) and data block 2 (including data with addresses from 1001-2000).
  • the agent module sends 7 acquisition requests to the storage device to acquire part of the data in the target data block 7 times in sequence.
  • the process can be specifically as follows: the agent module sends an acquisition request with address 1 and length 300 to the storage device, and the storage device acquires according to the acquisition request.
  • the agent module sends an acquisition request carrying an address 301 and a length of 300 to the storage device.
  • the storage device sends data with addresses from 301 to 600 to the agent module according to the acquisition request, and the agent module receives data with addresses from 301 to 600.
  • the agent module sends an acquisition request carrying an address 601 and a length of 900 to the storage device.
  • the storage device sends data with addresses from 601 to 900 to the agent module according to the acquisition request, and the agent module receives data with addresses from 601 to 900.
  • the agent module sends an acquisition request carrying an address 901 and a length of 1200 to the storage device.
  • the storage device sends data with addresses from 901 to 1200 to the agent module according to the acquisition request, and the agent module receives data with addresses from 901 to 1200.
  • the agent module sends an acquisition request carrying an address of 1201 and a length of 300 to the storage device.
  • the storage device sends data with addresses from 1201 to 1500 to the agent module according to the acquisition request, and the agent module receives data with addresses from 1201 to 1500.
  • the agent module sends an acquisition request with an address of 1501 and a length of 1800 to the storage device.
  • the storage device sends data with addresses from 1501 to 1800 to the agent module according to the acquisition request, and the agent module receives data with addresses from 1501 to 1800.
  • the agent module sends an acquisition request with an address of 1801 and a length of 200 to the storage device.
  • the storage device sends data with addresses from 1801 to 2000 to the agent module according to the acquisition request, and the agent module receives data with addresses from 1801 to 2000.
  • the agent module re-splices all the data received seven times into a complete data block. Then the agent module calculates the address of the signature corresponding to the data block in the database according to the data block, and requests the signature from the storage device.
  • the agent module calculates the signature of the spliced data block and compares it with the signature requested from the storage device. If they are consistent, the data with the address 500-1500 will be returned to the flysafe module, and the data will be cached and stored.
  • the flysafe module receives the successfully read data, analyzes the data according to the format, and performs the logic operation of the flight restriction function.
  • the AP side in the embodiment shown in FIG. 6 provides a simple general function of file reading, and a remote server or a ground station may replace the AP to complete the storage function of the flight restriction database.
  • the database may not be stored in a storage device, and a database may be split and stored, and the proxy module is responsible for requesting data from different storage devices.
  • the implementation of the embodiments of this application eliminates the need to increase the bandwidth requirements between FC and AP, and can well adapt to the hardware conditions of existing models.
  • the proxy module needs to be modified. You do not need to modify the flight restriction database on the AP side, or modify the flight restriction function logic code of the safe flight module.
  • the flight restriction function logic and database design can have a lot of freedom.
  • the target data block is cached in the proxy mechanism, it will first check whether there is in its own cache before reading, so it can avoid repeated reading in a short time and reduce the link burden.
  • FIG. 7 is a schematic structural diagram of a flight control processor provided by an embodiment of the present application.
  • the flight control processor 700 includes a memory 701 and a processor 702;
  • the flight control processor and the application processor When the storage device is an application processor, and the flight control processor and the application processor are located on the flight device, the flight control processor and the application processor perform data transmission through a communication interface, and the communication interface may be a bus.
  • the flight control processor or flight device
  • the remote control device When the storage device is a remote control device, the flight control processor (or flight device) and the remote control device perform data transmission through a communication interface.
  • the communication interface may be a transceiver for transmission through wireless communication.
  • the memory 701 may include a volatile memory (volatile memory); the memory 701 may also include a non-volatile memory (non-volatile memory); the memory 701 may also include a combination of the foregoing types of memories.
  • the processor 702 may be a central processing unit (CPU).
  • the processor 702 may further include a hardware chip.
  • the aforementioned hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof.
  • the above-mentioned PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), or any combination thereof.
  • the processor 702 is configured to call the program, and when the program is executed, it is configured to perform the following operations:
  • the acquisition request is used to request to acquire part of the data in the target data block to which the target restricted-fly zone data belongs, and the target restricted-fly zone data is used by the flight control processor to perform flight restriction control, so
  • the storage device stores one or more data blocks, the length of the data block is greater than or equal to the maximum data length of a single transmission between the flight control processor and the storage device, and the data length of the partial data is less than or equal to The maximum data length of a single transmission between the flight control processor and the storage device;
  • the processor 702 is configured to send an acquisition request to a storage device, including:
  • the processor 702 configured to receive part of the data in the target data block sent by the storage device, includes:
  • the processor 702 is configured to sequentially receive part of the data in the target data block from the storage device multiple times, the processor 702 is further configured to:
  • the target data block is verified according to the signature.
  • processor 702 is further configured to:
  • the target flight restricted zone data is synthesized according to the data in the target data block.
  • processor 702 is further configured to:
  • the data in the target data block is stored in the memory.
  • the processor 702 is configured to verify the target data block according to the signature, including:
  • the processor 702 is configured to before sending an acquisition request to the storage device, the processor is further configured to:
  • the processor 702 includes a safe flight module and an agent module;
  • the proxy module is configured to send the acquisition request to the storage device and receive part of the data in the target data block sent by the storage device, and the proxy module is also configured to send the storage device according to the The data in the target data block synthesizes the target restricted-fly zone data and sends the target restricted-fly zone data to the safe flight module;
  • the safe flight module is used to control the flight equipment based on the target flight restriction zone data and the position information of the flight equipment.
  • the safety flight module and the agent module are independent of each other.
  • the safe flight module is configured to perform flight restriction control on the flight equipment according to the target flight restriction zone data and the location information of the flight equipment, including:
  • the flying equipment does not fall into the target restricted flying zone and the distance between the flying equipment and the target restricted flying zone is less than or equal to a preset threshold, control the flying equipment to stay away from the target restricted flying zone; or,
  • the flying equipment If the flying equipment does not fall into the target restricted area and the distance between the flying equipment and the target restricted area is less than or equal to a preset threshold, the flying equipment is controlled to land or hover.
  • the obtaining request includes the address information of the partial data
  • the processor is configured to send the obtaining request to the storage device before the processor 702 is further configured to:
  • the address information includes any two or more of a start address, an end address, or a data length.
  • the flight control processor and the storage device are located in the same device.
  • the same device is a flying device, and the storage device is an application processor.
  • the flight control processor and the storage device are located in different devices.
  • the flight control processor is located on a flight device, and the storage device is a control device of the flight device.
  • control device includes a terminal, a controller or a server.
  • FIG. 8 is a schematic structural diagram of a storage device provided by an embodiment of the present application.
  • the storage device 800 includes a memory 801 and a processor 802;
  • the flight control processor and the application processor When the storage device is an application processor, and the flight control processor and the application processor are located on the flight device, the flight control processor and the application processor perform data transmission through a communication interface, and the communication interface may be a bus.
  • the flight control processor or flight device
  • the remote control device When the storage device is a remote control device, the flight control processor (or flight device) and the remote control device perform data transmission through a communication interface.
  • the communication interface may be a transceiver for transmission through wireless communication.
  • the memory 801 may include a volatile memory (volatile memory); the memory 801 may also include a non-volatile memory (non-volatile memory); the memory 801 may also include a combination of the foregoing types of memories.
  • the processor 802 may be a central processing unit (CPU).
  • the processor 802 may further include a hardware chip.
  • the aforementioned hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof.
  • the above-mentioned PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), or any combination thereof.
  • the processor 802 is configured to call the program and perform the following operations:
  • the acquisition request is used to request to acquire part of the data in the target data block to which the target restricted-fly zone data belongs, and the target restricted-fly zone data is used by the flight control processor to restrict the flight Control
  • the storage device stores one or more data blocks, the length of the data block is greater than or equal to the maximum data length of a single transmission between the flight control processor and the storage device, and the length of the partial data Less than or equal to the maximum data length of a single transmission between the flight control processor and the storage device;
  • the processor 802 configured to receive an acquisition request sent by the flight control processor, includes:
  • the processor configured to send the part of the data in the target data block to the flight control processor, includes:
  • the processor 802 is configured to sequentially send part of the data in the target data block to the flight control processor multiple times, the processor is further configured to:
  • the acquisition request includes the address information of the partial data.
  • the processor 802 is further configured to:
  • the address information includes any two or more of a start address, an end address, or a data length.
  • the flight control processor and the storage device are located in the same device.
  • the same device is a flying device, and the storage device is an application processor.
  • the flight control processor and the storage device are located in different devices.
  • the flight control processor is located on a flight device, and the storage device is a control device of the flight device.
  • control device includes a terminal, a controller or a server.
  • An embodiment of the present application also provides a data processing system, which includes the aforementioned flight control processor and storage device.
  • the data processing system is a flight device
  • the storage device is an application processor
  • the data processing system includes a flight device and a control device
  • the flight device includes the aforementioned flight control processor
  • the control device includes the aforementioned storage device.
  • the storage device is an application processor.
  • the embodiment of the present invention also provides a computer-readable storage medium, the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the implementation shown in FIG. 4 to FIG. 6 in the embodiment of the present application is The method described in the embodiment will not be repeated here.
  • the computer-readable storage medium may be an internal storage unit of the device described in any of the foregoing embodiments, such as a hard disk or memory of the device.
  • the computer-readable storage medium may also be an external storage device of the device, such as a plug-in hard disk equipped on the device, a Smart Media Card (SMC), or a Secure Digital (SD) card. , Flash Card, etc.
  • the computer-readable storage medium may also include both an internal storage unit of the device and an external storage device.
  • the computer-readable storage medium is used to store the computer program and other programs and data required by the terminal.
  • the computer-readable storage medium can also be used to temporarily store data that has been output or will be output.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Traffic Control Systems (AREA)

Abstract

一种数据处理方法、设备、系统及存储介质,其中,该方法包括:飞控处理器向存储设备发送获取请求,获取请求用于请求获取目标限飞区数据所属目标数据块中的部分数据,目标限飞区数据用于飞控处理器进行限飞控制,存储设备中存储一个或多个数据块,数据块的长度大于等于飞控处理器和存储设备之间单次传输的最大数据长度,部分数据的数据长度小于等于飞控处理器和存储设备之间单次传输的最大数据长度;飞控处理器接收存储设备发送的目标数据块中的部分数据。通过这种分块读取的方式,提高了数据处理效率,降低了内存消耗。

Description

一种数据处理方法、设备、系统及存储介质
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据处理方法、设备、系统及存储介质。
背景技术
目前,无人机地理围栏系统有两种实现方式:一种是利用不具备高性能处理器的产品(即无前视避障等高级功能)来实现,而不具备高性能处理器的产品数据库的存储空间很小,只适用于简单的圆形限飞区。另一种是利用具备高性能处理器的产品(即具有视觉避障的高级功能)来实现,而这种实施方式需要一次性读入所有的数据,会造成很大的内存消耗,增加硬件成本。
因此,如何将复杂的地理围栏系统应用在低性能处理器上,以降低内存消耗以及提高数据处理效率具有十分重要的意义。
发明内容
本申请实施例提供了一种数据处理方法、设备、系统及存储介质,提高了数据处理效率,降低了内存消耗。
第一方面,本申请实施例提供了一种数据处理方法,包括:
飞控处理器向存储设备发送获取请求,所述获取请求用于请求获取目标限飞区数据所属目标数据块中的部分数据,所述目标限飞区数据用于所述飞控处理器进行限飞控制,所述存储设备中存储一个或多个数据块,所述数据块的长度大于等于所述飞控处理器和所述存储设备之间单次传输的最大数据长度,所述部分数据的数据长度小于等于所述飞控处理器和所述存储设备之间单次传输的最大数据长度;
所述飞控处理器接收所述存储设备发送的所述目标数据块中的部分数据。
第二方面,本申请实施例提供了另一种数据处理方法,包括:
存储设备接收飞控处理器发送的获取请求,所述获取请求用于请求获取目标限飞区数据所属目标数据块中的部分数据,所述目标限飞区数据用于所述飞控处理器进行限飞控制,所述存储设备中存储一个或多个数据块,所述数据块的长度大于等于所述飞控处理器和所述存储设备之间单次传输的最大数据长度,所述部分数据的长度小于等于所述飞控处理器和所述存储设备之间单次传输的最大数据长度。
所述存储设备将所述目标数据块中的所述部分数据发送给所述飞控处理器。
第三方面,本申请实施例提供了一种数据处理设备,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于调用所述程序,当所述程序被执行时,用于执行以下操作:
向存储设备发送获取请求,所述获取请求用于请求获取目标限飞区数据所属目标数据块中的部分数据,所述目标限飞区数据用于所述飞控处理器进行限飞控制,所述存储设备中存储一个或多个数据块,所述数据块的长度大于等于所述飞控处理器和所述存储设备之间单次传输的最大数据长度,所述部分数据的数据长度小于等于所述飞控处理器和所述存储设备之间单次传输的最大数据长度;
接收所述存储设备发送的所述目标数据块中的部分数据。
第四方面,本申请实施例提供了一种数据存储设备,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于调用所述程序,当所述程序被执行时,用于执行以下操作:
接收飞控处理器发送的获取请求,所述获取请求用于请求获取目标限飞区数据所属目标数据块中的部分数据,所述目标限飞区数据用于所述飞控处理器进行限飞控制,所述存储设备中存储一个或多个数据块,所述数据块的长度大于等于所述飞控处理器和所述存储设备之间单次传输的最大数据长度,所述部分数据的长度小于等于所述飞控处理器和所述存储设备之间单次传输的最大数据长度;
将所述目标数据块中的所述部分数据发送给所述飞控处理器。
第五方面,本申请实施例提供了一种数据处理系统,包括:
上述第三方面所述的飞控处理器以及上述第四方面所述的存储设备。
第六方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面或第二方面所述的方 法。
本申请实施例中,由存储设备存储全部的限飞数据库,飞控处理器根据需求向存储设备获取部分限飞数据块进行飞行设备的飞行控制,无需读取全部的限飞区数据库,通过这种分块读取的方式,可以提高数据处理效率,降低内存消耗。并且,飞控处理器向存储设备单次请求获取的数据量有限制,不能超过飞控处理器和存储设备之间单次传输的最大数据长度,若飞控处理器请求的数据量较大,则通过向存储设备发送多次请求来获取,避免因存储设备单次向飞控处理器传输的数据量过大而飞控处理器的物理带宽不足造成数据无法成功接收的问题。实施本申请实施例,不必增加FC与存储设备间的带宽,可以很好的适配现有机型的硬件条件,同时对于将来不同机型不同硬件的不同链路带宽,只需要修改飞控处理器的链路配置(即单次传输的最大数据长度)即可,不需要修改存储设备中数据块的大小配置,数据库能有很大自由度。
附图说明
下面将对实施例中所需要使用的附图作简单地介绍。
图1a是本申请实施例提供的一种数据处理系统的结构示意图;
图1b是本申请实施例提供的另一种数据处理系统的结构示意图;
图2是本申请实施例提供的一种数据库存储格式的示意图;
图3是本申请实施例提供的一种数据处理系统的架构示意图;
图4是本申请实施例提供的一种数据处理方法的流程示意图;
图5是本申请实施例提供的另一种数据处理方法的流程示意图;
图6是本申请实施例提供的另一种数据处理方法的流程示意图;
图7是本申请实施例提供的一种飞控处理器的结构示意图;
图8是本申请实施例提供的一种存储设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
本申请实施例中提供的数据处理方法可以应用于飞行设备中。在某些实施例中,所述 飞行设备中包括飞行控制系统(flight control system,FC)处理器和应用处理器(application processer,AP)。飞行控制系统处理器还可简称为飞控处理器,飞控处理器例如可以是微控制单元(micro controller unit,MCU)、单片微型计算机(single chip microcomputer,SCM)或者单片机。应用处理器例如可以是中央处理器(central processing unit,CPU)。其中,飞控处理器主要用于控制无人机的飞行,飞控处理器上设置的闪存容量较小(例如,常见的飞控处理器上Flash芯片的容量一般小于或等于1Mb)。而应用处理器的存储空间较大,例如一般可支持GB级别的存储空间。
随着飞行设备的应用越来越广泛,限飞区也变得越来越多,且限飞区的形状也越来越复杂,复杂的多边形限飞区使用的数据库较大(例如大于10MB)。如果由飞控处理器执行限飞控制及限飞数据库存储,则飞控处理器所使用的MCU一般只有不到1MB的片上Flash,无法用于存储复杂且数量庞大的限飞区的数据库。如果为飞控处理器配属一个资源充足的高性能处理器,来完成大数据库的存储和所有限飞区域的相关计算,会带来很大的硬件成本增加。如果由应用处理器执行限飞控制及限飞数据库存储,则应用处理器每次进行限飞区域的计算时,均会一次性读取数据库中的全部限飞区数据,对限飞区数据的一次性读入会造成很大的内存消耗,且读入内存中的大部分数据在一次飞行过程中很大概率不会使用到。并且应用处理器还可能被root,存在数据被篡改的风险。因此,基于限飞控制的需求,在本申请的一种实施例中采用飞控处理器执行限飞区域的计算以及飞行设备的飞行控制,将庞大的限飞数据库存储在应用处理器。通过这种方式可以无需由飞控处理器存储限飞数据库,避免增加额外的硬件存储成本。
可选的,还可以将限飞数据库存储在远端的设备上,例如控制器、终端、服务器等。飞控处理器通过无线通信接口与远端的设备进行通信。在某些实施例中,所述飞行设备包括用于为飞行设备提供移动动力的一个或多个电机,所述飞行设备可以是任务依靠所述电机自主移动的无人机、飞行器等。在其他实施例中,本申请实施例中所提及的数据处理方法还可以应用于其他可移动设备上,如能够自主移动的机器人、无人车、无人船等可移动设备。
下面结合图1a和图1b对本申请实施例提供的飞控系统进行示意性说明。
请参见图1a,图1a是本申请实施例提供的一种飞控系统的结构示意图。所述飞行控制系统包括:飞行设备11和控制设备12,飞控处理器111和应用处理器113均位于飞行设备11上,应用处理器113用于存储限飞数据库。即,飞行控制器与用于存储限飞数据库的存 储设备位于同一设备上。在某些实施例中,所述飞行设备11包括动力系统112,所述动力系统112用于为飞行设备11提供移动的动力。
请参见图1b,所述飞行控制系统包括:飞行设备11和控制设备12,飞控处理器111位于飞行设备11上,控制设备12用于存储限飞数据库。即,飞行控制器与用于存储限飞数据库的存储设备位于不同的设备上。在某些实施例中,所述控制设备包括终端、控制器、服务器等中的任意一种。如图1b所示,控制设备12可通过无线通信连接方式与飞行设备11建立通信连接。在某些实施例中,所述飞行设备11包括动力系统112,所述动力系统112用于为飞行设备11提供移动的动力。
需要说明的是,在图1a中,飞控处理器111和应用处理器113的安装位置仅用于表征飞控处理器111和应用处理器113是设置在飞行设备11上的,并非用于限定飞控处理器111和应用处理器113在飞行设备11上的安装位置,例如,飞控处理器111和应用处理器113可以安装在飞行设备11内部。同样的,在图1b,飞控处理器111的安装位置仅用于表征飞控处理器111是设置在飞行设备11上的,并非用于限定飞控处理器111在飞行设备11上的安装位置,例如,飞控处理器111可以安装在飞行设备11内部。
以存储设备为应用处理器为例,应用处理器按块存储限飞数据库,存储格式可参见图2所示。其中,每个数据块有对应的签名,例如,数据块1与签名1对应,数据块2与签名2对应。签名可用于校验数据块的完整性和正确性。数据库头部信息中包含数据块的地址信息、数据块的大小、数据块的签名的地址信息、总数据块的数量等信息。应用处理器具备读取接口,飞控处理器需要获取当前位置周围的目标限飞区数据时,通过该读取接口向应用处理器发送读取请求,该读取请求携带目标限飞区数据所属数据块的地址,应用处理器响应该读取请求,向飞控处理器返回相应地址的限飞区数据。飞控处理器根据该限飞区数据进行限飞区域的计算以及飞行设备的飞行控制。通过设计这种分块读取的方案可以避免一次性读取全部的限飞区数据,提高了数据处理效率,降低了内存消耗。
基于分块读取的策略,需要约束限飞数据库中的数据块大小,限飞数据库中的每一数据块不能太小,否则签名造成的开销会很大。例如将限飞数据库中的数据块大小设置为比较常见的1KB,为了完成数据校验,每次飞控处理器需要至少读取1KB的数据。由于飞控处理器的性能低,其带宽能力也较低,1KB的数据块大小超过了FC-AP通信链路能力。为满足低链路带宽能力的FC在较低的链路下完成限飞数据库的分块读取,可以解除限飞对FC链路带宽的要求,本申请实施例中提供了一种限飞数据库分块读取代理机制。例如,参 见图3所示的架构示意图,数据库读取由AP与FC共同完成。其中数据库存储在AP侧文件系统中,AP提供随机读取接口,响应FC读取请求,返回相应地址的对应数据,如图3中所示AP包括读取(reader)接口和数据库(database)。FC包括安全飞行(flysafe)模块和代理(agent)模块。其中flysafe模块执行限飞的功能逻辑,给出需要的限飞区数据在数据库中的长度和地址。agent模块是限飞数据库读取代理模块,完成目标地址和长度到目标数据块的转换,再根据FC配置的物理链路带宽,拆分成符合链路要求的小包后,分别向AP发起多次读取请求,获取到完整数据后再将数据拼接,然后请求签名,对数据做签名校验,符合要求则交给flysafe模块做功能逻辑使用。
下面结合附图4-图6对本申请实施例提供的数据处理方法进行示意性说明。
具体请参见图4,图4是本申请实施例提供的一种数据处理方法的流程示意图,所述数据处理方法可以由飞控处理器执行。具体地,本申请实施例的所述方法包括如下步骤。
S401:飞控处理器向存储设备发送获取请求,获取请求用于请求获取目标限飞区数据所属目标数据块中的部分数据,目标限飞区数据用于飞控处理器进行限飞控制,存储设备中存储一个或多个数据块,数据块的长度大于等于飞控处理器和存储设备之间单次传输的最大数据长度,部分数据的数据长度小于等于飞控处理器和存储设备之间单次传输的最大数据长度。
S402:飞控处理器接收存储设备发送的目标数据块中的部分数据。
本申请实施例中,飞控处理器需要设置每次请求获取的数据的最大长度,单次请求获取的最大数据长度需要小于等于飞控处理器和存储设备之间单次传输的最大数据长度。飞控处理器和存储设备之间单次传输的最大数据长度与飞控处理器的物理带宽相关,例如,飞控处理器的物理带宽为300B,则表示飞控处理器单次向其他器件发送的或者单次从其他器件接收的数据量最大为300B。飞控处理器发送的获取请求中携带请求获取的数据的地址信息,该数据的长度需要设置为小于等于飞控处理器和存储设备之间单次传输的最大数据长度的值。因此,飞控处理器单次向存储设备请求的数据量不会超过飞控处理器和存储设备之间单次传输的最大数据长度,如此可以保证不管飞控处理器的通信链路能力高或低,单次传输的数据量均不会超过FC的通信链路能力。其中,地址信息可以包括起始地址和长度,或者包括起始地址和结束地址,或者包括结束地址和长度。本申请实施例中,数据长度还可以称为数据量、数据大小等。
可选的,飞控处理器可以根据飞行设备当前的地理位置信息计算出需要获取的目标限 飞区数据的地址信息。之后,根据目标限飞区数据的地址信息确定目标限飞区数据对应的目标数据块。例如,飞控处理器确定与所述当前位置信息对应的目标限飞区数据的地址信息时,可以根据所述飞行设备的当前位置信息,确定所述飞行设备的当前位置对应的目标编码值,并根据所述目标编码值,从地址映射表中确定与所述目标编码值对应的所述目标限飞区数据的地址信息,所述地址映射表中包括一个或多个编码值与一个或多个限飞区数据的地址信息的对应关系。
在某些实施例中,所述编码值可以是由哈希算法计算得到的,所述编码值为哈希值。在其他实施例中,所述编码值还可以是由其他编码算法计算得到。在其他实施例中,所述编码值还可以是由用户自定义的编码规则计算得到,本发明实施例不做具体限定。可选的,所述飞行设备的当前位置信息包括但不限于GPS位置信息。可选的,所述地址映射表可以存储在飞控处理器,还可以是飞控处理器从存储设备获取的,例如,飞控处理器预先从存储设备获取数据库头部信息,该数据库头部信息中包含所述地址映射表。可选的,该数据库头部信息中还包括存储设备中存储的每个数据块的地址信息。飞控处理器在获取到数据库头部信息后,根据目标限飞区数据的地址信息以及存储设备中存储的每个数据块的地址信息确定目标限飞区对应的目标数据块。例如,飞控处理器根据飞行设备当前GPS位置计算得到目标限飞区数据的地址信息为500-1500,根据数据库头部信息获知存储设备中存储的数据块大小为1K,且数据块1的地址信息为1-1000,数据块2的地址信息为1001-2000,以此类推。则飞控处理器可以根据目标限飞区数据的地址信息500-1500以及存储设备中存储的数据块的地址信息确定目标限飞区数据所属的目标数据块为数据块1和数据块2。
可选的,所述飞控处理器向存储设备发送获取请求,包括:飞控处理器依次向存储设备发送多次获取请求直至飞控处理器接收到目标数据块中的全部数据,每次获取请求用于请求获取目标数据块中的不同数据;飞控处理器接收存储设备发送的目标数据块中的部分数据,包括:飞控处理器依次从存储设备接收多次目标数据块中的部分数据。
本申请实施例中,飞控处理器向存储设备发送获取请求之前,需要将用于获取目标数据块的一次获取请求拆分成多个获取请求,每次获取请求用于获取目标数据块中的部分数据的,每次请求的数据量均需要小于等于飞控处理器和存储设备之间单次传输的最大数据长度。示例性的,飞控处理器可以根据飞控处理器的物理带宽将用于获取目标数据块的一次获取请求拆分成多个用于获取目标数据块中的部分数据的获取请求。例如,存储设备上存储的数据块大小为1KB,FC需要获取的目标限飞区数据的地址为1-1000,每个地址对应一个1Byte的数据,该地址为1-1000的数据在存储设备上对应数据块1。FC链路单次最 大允许传输300B数据,则飞控处理器需要分为300B,300B,300B,100B,一共四次去向存储设备请求获取这1KB的数据。当然,300B,300B,300B,100B仅仅作为一种示例,在实际应用中,每次获取的数据量还可以设置成其他的值或者获取请求的发送次数还可以是其他次数,只需要满足单次传输的数据量小于等于飞控处理器和存储设备之间单次传输的最大数据长度且多次获取的总的数据量至少包括目标数据块即可,本申请实施例对此不作限定。例如飞控处理器分为200B,200B,200B,200B,200B一共五次去向存储设备请求获取1KB的数据。
可选的,飞控处理器针对目标数据块分别发送多次获取请求时,每次请求的数据可以完全不同。例如,FC需要获取的目标限飞区数据的地址为1-1000,则飞控处理器发送第一次获取请求时请求获取地址为1-300的数据,发送第二次获取请求时请求获取地址为301-600的数据,发送第三次获取请求时请求获取地址为601-900的数据,发送第四次获取请求时请求获取地址为901-1000的数据。
可选的,飞控处理器针对目标数据块分别发送多次获取请求时,每次请求的数据可以部分相同。例如,FC需要获取的目标限飞区数据的地址为1-1000,则飞控处理器发送第一次获取请求时请求获取地址为1-300的数据,发送第二次获取请求时请求获取地址为250-550的数据,发送第三次获取请求时请求获取地址为500-800的数据,发送第四次获取请求时请求获取地址为750-1000的数据。多次传输部分重复的数据可以提高数据传输的可靠性。
可选的,飞控处理器向存储设备发送获取请求之前,还可以从存储设备获取数据库头部信息。该数据库头部信息中包括存储设备中存储的一个或多个数据块中每个数据块的地址信息、数据块的大小。飞控处理器根据该数据库头部信息确定目标数据块的地址信息。可选的,该数据库头部信息中还可以包括总数据块的数量等信息。
可选的,数据库头部信息还可以预先存储在飞控处理器,则飞控处理器无需向存储设备获取该数据库头部信息。
可选的,数据库头部信息中还可以包括数据块的签名的地址信息。在某些实施例中,数据库的头部信息中还存储了一个或多个数据块的签名的地址信息与一个或多个数据块的地址信息的对应关系,如数据块1与签名1对应,数据块2与签名2对应。
可选的,所述飞控处理器从存储设备接收到目标数据块中的全部数据之后,还包括:飞控处理器从存储设备获取目标数据块的签名;飞控处理器根据签名对目标数据块进行验证。例如,飞控处理器从数据库头部信息中查找目标数据块对应的签名的地址信息,向存 储设备发送获取签名的请求,该请求中携带目标数据块对应的签名的地址信息,飞控处理器接收存储设备发送的该目标数据块对应的签名,并根据该签名对目标数据块进行验证。
可选的,若飞控处理器对目标数据块验证成功,飞控处理器根据目标数据块中的数据合成目标限飞区数据。例如,飞控处理器分四次从存储设备获取到300B,300B,300B,100B,一共1KB的数据后,按照数据的地址将这1KB的数据进行拼接,合成1KB的数据。
可选的,若飞控处理器对目标数据块验证成功,飞控处理器将目标数据块中的数据存储在存储器中。其中,存储器包括但不限于缓冲器或缓存。将目标数据块存储在飞控处理器的存储器中,便于后续飞控处理器再次需要获取该目标数据块时可以直接从本地存储器中获取,而无需再次向存储设备请求获取,可以缩短数据获取的时间,提高数据获取的效率。
可选的,由于飞控处理器的存储空间较小,无法存储较多数量的限飞区数据块,则飞控处理器可以在存储空间占满后,下一次获取到新的限飞区数据块后,替换掉存储空间中已存的较早的数据块,完成对存储器中限飞区数据块的更新。
可选的,所述飞控处理器根据签名对目标数据块进行验证,包括:飞控处理器根据预设的密钥对目标数据块进行计算,得到验证签名;飞控处理器将签名与验证签名进行对比;如果签名与验证签名一致,则飞控处理器确定对目标数据块验证成功。
例如,假设预设的密钥为X,飞控处理器在根据签名对目标数据块进行验证时,可以根据预设的密钥X对目标数据块进行计算,得到验证签名,并将签名与验证签名进行对比,如果签名与验证签名一致,则可以确定对目标数据块验证成功。
可见,通过这种实施方式,可以对目标数据块的签名进行验证,有助于确保目标数据块对应的限飞区数据的安全性。
可选的,所述飞控处理器向存储设备发送获取请求之前,还包括:飞控处理器查找存储器中是否存在所述部分数据;若否,则所述飞控处理器向所述存储设备发送所述获取请求。若是,则无需向所述存储设备发送获取请求,所述飞控处理器从所述存储器中获取所述部分数据。例如,FC需要获取的目标限飞区数据的地址为1-1500,缓存中存储了上次获取的1-1000的限飞区数据块,则FC可以只针对地址为1001-1500的数据向存储设备发送获取请求即可,在获取到地址为1001-1500的数据后,与缓存中存储的1-1000的数据进行拼接,合成FC所需的地址为1-1500的数据。
可选的,限飞数据库可以不存放在一个存储设备中,限飞数据库可以拆分成若干个子数据库分别存储在不同的存储设备上,由飞控处理器负责向不同存储设备去请求限飞区数 据。
在一些应用场景中,所述飞控处理器和所述存储设备可以位于同一设备中。
可选的,所述同一设备为飞行设备,所述存储设备为应用处理器。飞控处理器可以是FC的处理器如MCU。应用处理器可以为AP。飞控处理器和应用处理器之间是通过总线连接的。
在一些应用场景中,所述飞控处理器和所述存储设备位于不同设备中。
可选的,所述飞控处理器位于飞行设备上,所述存储设备为所述飞行设备的控制设备。可选的,所述控制设备包括终端、控制器或服务器。则飞控处理器和存储设备是通过收发器来通信的,飞控处理器生成的数据通过飞行设备的收发器发送给存储设备,同样的,飞行设备的收发器接收到存储设备发送的数据后,再通过总线传送给飞控处理器。即可以理解为:飞行设备包括:飞控处理器、应用处理器以及收发器,进一步的,飞行设备还可以包括各种传感器、动力系统等,其中,飞控处理器是专门处理飞控相关的执行指令,如确定是否落入限飞区,是否需要改变航线等。
可选的,飞控处理器在获取目标限飞区数据后,还可以根据所述目标限飞区数据以及飞行设备的位置信息对所述飞行设备进行限飞控制。示例性的,飞控处理器根据所述目标限飞区数据以及飞行设备的位置信息对所述飞行设备进行限飞控制,包括:
若所述飞行设备落入所述目标限飞区,则控制所述飞行设备降落;或者,
若所述飞行设备未落入所述目标限飞区且所述飞行设备与所述目标限飞区的距离小于等于预设阈值,则控制所述飞行设备远离所述目标限飞区;或者,
若所述飞行设备未落入所述目标限飞区且所述飞行设备与所述目标限飞区的距离小于等于预设阈值,则控制所述飞行设备降落或悬停。预设阈值可以是系统预先设定的。
实施本申请实施例,由存储设备存储全部的限飞数据库,飞控处理器根据需求向存储设备获取部分限飞数据块进行飞行设备的飞行控制,无需读取全部的限飞区数据库,通过这种分块读取的方式,可以提高数据处理效率,降低内存消耗。并且,飞控处理器向存储设备单次请求获取的数据量有限制,不能超过飞控处理器和存储设备之间单次传输的最大数据长度,若飞控处理器请求的数据量较大,则通过向存储设备发送多次请求来获取,避免因存储设备单次向飞控处理器传输的数据量过大而飞控处理器的物理带宽不足造成数据无法成功接收的问题。实施本申请实施例,不必增加FC与存储设备间的带宽,可以很好的适配现有机型的硬件条件,同时对于将来不同机型不同硬件的不同链路带宽,只需要修改飞控处理器的链路配置(即单次传输的最大数据长度)即可,不需要修改存储设备中数 据块的大小配置,数据库能有很大自由度。同时因为飞控处理器会对目标数据块做缓存,读取之前会先查找自己的缓存中是否有,所以可以避免短时间内的重复读取,降低链路负担,同时可以提高数据的获取效率。
具体请参见图5,图5是本申请实施例提供的另一种数据处理方法的流程示意图,所述方法可以由存储设备执行。具体地,本申请实施例的所述方法包括如下步骤。
S501:存储设备接收飞控处理器发送的获取请求,获取请求用于请求获取目标限飞区数据所属目标数据块中的部分数据,目标限飞区数据用于飞控处理器进行限飞控制,存储设备中存储一个或多个数据块,数据块的长度大于等于飞控处理器和存储设备之间单次传输的最大数据长度,部分数据的长度小于等于飞控处理器和存储设备之间单次传输的最大数据长度。
S502:存储设备将目标数据块中的部分数据发送给飞控处理器。
本申请实施例中,存储设备接收的单次获取请求中请求获取的数据最大长度需要小于等于飞控处理器和存储设备之间单次传输的最大数据长度。飞控处理器和存储设备之间单次传输的最大数据长度与飞控处理器的物理带宽相关,例如,飞控处理器的物理带宽为300B,则单次获取请求中请求获取的数据最大为300B。存储设备接收的获取请求中携带飞控处理器请求获取的数据的地址信息,该数据的长度需要为小于等于飞控处理器和存储设备之间单次传输的最大数据长度的值。因此,飞控处理器单次向存储设备请求的数据量不会超过飞控处理器和存储设备之间单次传输的最大数据长度,如此可以保证不管飞控处理器的通信链路能力高或低,单次传输的数据量均不会超过FC的通信链路能力。其中,地址信息可以包括起始地址和长度,或者包括起始地址和结束地址,或者包括结束地址和长度。本申请实施例中,数据长度还可以称为数据量、数据大小等。
可选的,所述存储设备接收飞控处理器发送的获取请求,包括:存储设备依次接收飞控处理器发送的多次获取请求;存储设备将目标数据块中的部分数据发送给飞控处理器,包括:存储设备依次向飞控处理器发送多次目标数据块中的部分数据。本申请实施例中,存储设备连续接收到多次获取请求,该多次获取请求各自请求的数据可以是连续的,且每次请求的数据的长度均小于等于飞控处理器和存储设备之间单次传输的最大数据长度。例如,存储设备上存储的数据块大小为1KB,FC需要获取的目标限飞区数据的地址为1-1000,每个地址对应一个1Byte的数据,该地址为1-1000的数据在存储设备上对应数据块1。FC链路单次最大允许传输300B数据,则存储设备会连续接收到飞控处理器发送的4 次获取请求,该4次获取请求依次请求获取的数据大小为300B,300B,300B,100B。当然,300B,300B,300B,100B仅仅作为一种示例,在实际应用中,每次获取的数据量还可以设置成其他的值或者获取请求的发送次数还可以是其他次数,例如存储设备会连续接收到飞控处理器发送的5次获取请求,该5次获取请求依次请求获取的数据大小为200B,200B,200B,200B,200B。其中,“连续”是指两次接收到获取请求的时间间隔小于预设时间阈值。
可选的,存储设备连续接收到的多次获取请求中,每次请求的数据可以完全不同。例如,FC需要获取的目标限飞区数据的地址为1-1000,则存储设备第一次接收到飞控处理器发送的获取请求中携带的地址为1-300,第二次接收到飞控处理器发送的获取请求中携带的地址为301-600,第三次接收到飞控处理器发送的获取请求中携带的地址为601-900,第四次接收到飞控处理器发送的获取请求中携带的地址为901-1000。
可选的,存储设备连续接收到的多次获取请求中,每次请求的数据可以部分相同。例如,FC需要获取的目标限飞区数据的地址为1-1000,则存储设备第一次接收到飞控处理器发送的获取请求中携带的地址为1-300,第二次接收到飞控处理器发送的获取请求中携带的地址为250-550,第三次接收到飞控处理器发送的获取请求中携带的地址为500-800,第四次接收到飞控处理器发送的获取请求中携带的地址为750-1000。多次传输部分重复的数据可以提高数据传输的可靠性。
可选的,存储设备依次向飞控处理器发送多次目标数据块中的部分数据之后,还包括:存储设备向飞控处理器发送目标数据块的签名,签名用于验证目标数据块。
可选的,所述获取请求中包括部分数据的地址信息,存储设备接收飞控处理器发送的获取请求之前,还包括:存储设备向飞控设备发送数据库头部信息,数据库头部信息包括一个或多个数据块中每个数据块的地址信息。可选的,该数据库头部信息中还可以包括总数据块的数量等信息。可选的,数据库头部信息中还可以包括数据块的签名的地址信息。在某些实施例中,数据库的头部信息中还存储了一个或多个数据块的签名的地址信息与一个或多个数据块的地址信息的对应关系,如数据块1与签名1对应,数据块2与签名2对应。
可选的,限飞数据库可以不存放在一个存储设备中,限飞数据库可以拆分成若干个子数据库分别存储在不同的存储设备上,由飞控处理器负责向不同存储设备去请求限飞区数据。
在一些应用场景中,所述飞控处理器和所述存储设备可以位于同一设备中。
可选的,所述同一设备为飞行设备,所述存储设备为应用处理器。飞控处理器可以是 FC的处理器如MCU。应用处理器可以为AP。飞控处理器和应用处理器之间是通过总线连接的。
在一些应用场景中,所述飞控处理器和所述存储设备位于不同设备中。
可选的,所述飞控处理器位于飞行设备上,所述存储设备为所述飞行设备的控制设备。可选的,所述控制设备包括终端、控制器或服务器。则飞控处理器和存储设备是通过收发器来通信的,飞控处理器生成的数据通过飞行设备的收发器发送给存储设备,同样的,飞行设备的收发器接收到存储设备发送的数据后,再通过总线传送给飞控处理器。即可以理解为:飞行设备包括:飞控处理器、应用处理器以及收发器,进一步的,飞行设备还可以包括各种传感器、动力系统等,其中,飞控处理器是专门处理飞控相关的执行指令,如确定是否落入限飞区,是否需要改变航线等。
实施本申请实施例,由存储设备存储全部的限飞数据库,飞控处理器根据需求向存储设备获取部分限飞数据块进行飞行设备的飞行控制,无需读取全部的限飞区数据库,通过这种分块读取的方式,可以提高数据处理效率,降低内存消耗。并且,飞控处理器向存储设备单次请求获取的数据量有限制,不能超过飞控处理器和存储设备之间单次传输的最大数据长度,若飞控处理器请求的数据量较大,则通过向存储设备发送多次请求来获取,避免因存储设备单次向飞控处理器传输的数据量过大而飞控处理器的物理带宽不足造成数据无法成功接收的问题。实施本申请实施例,不必增加FC与存储设备间的带宽,可以很好的适配现有机型的硬件条件,同时对于将来不同机型不同硬件的不同链路带宽,只需要修改飞控处理器的链路配置(即单次传输的最大数据长度)即可,不需要修改存储设备中数据块的大小配置,数据库能有很大自由度。同时因为飞控处理器会对目标数据块做缓存,读取之前会先查找自己的缓存中是否有,所以可以避免短时间内的重复读取,降低链路负担,同时可以提高数据的获取效率。
在本申请的一种实现方式中,飞控处理器可以包括安全飞行(flysafe)模块和代理(agent)模块。该两个模块是相互独立的。该两个模块可以是软件模块或硬件模块,可独立开发。其中,代理模块用于向存储设备发送获取请求以及接收存储设备发送的目标数据块中的部分数据,代理模块还用于根据存储设备发送的目标数据块中的数据合成目标限飞区数据以及将目标限飞区数据发送给安全飞行模块。安全飞行模块用于根据目标限飞区数据以及飞行设备的位置信息对飞行设备进行限飞控制。也即是说,agent模块负责与存储设备进行交互,flysafe模块负责执行限飞的相关逻辑计算以及完成对飞行设备的飞行控制。以存储设 备为应用处理器为例,应用处理器包括读取(reader)接口和数据库。
参见图6所示,是本申请实施例提供的飞控处理器和应用处理器的交互过程示意图。该交互过程如下:
S601:代理模块通过读取接口向应用处理器获取数据库头部信息。
其中,该数据库头部信息中包括存储设备中存储的一个或多个数据块中每个数据块的地址信息、数据块的大小、总数据块的数量、数据块的签名的地址信息、地址映射表中的一种或多种信息。其中,所述地址映射表中包括一个或多个编码值与一个或多个限飞区数据的地址信息的对应关系。
S602:安全飞行模块向代理模块请求获取目标限飞区数据。
示例性的,安全飞行模块根据当前飞行设备的位置计算出需要读取的目标限飞区数据在数据库中的地址和长度,将目标限飞区数据的地址和长度发给代理模块。可选的,安全飞行模块根据飞行设备当前的地理位置信息,确定飞行设备的当前位置对应的目标编码值,从地址映射表中确定与所述目标编码值对应的所述目标限飞区数据的地址信息和/或长度。其中,地址映射表可以是代理模块从数据库头部信息中获取后发送给安全飞行模块,安全飞行模块存储在缓冲区或内存中的。
S603:代理模块确定目标限飞区数据所属的目标数据块。
目标限飞区数据所属目标数据块可以理解为:数据块中包含的数据为限飞区数据,且一个数据块中可以包括一个或多个限飞区的数据,目标限飞区数据所在的数据块即为目标数据块。
示例性的,代理模块根据目标限飞区数据的地址和长度计算出目标限飞区数据所属的目标数据块。
S604:代理模块查找缓冲器中是否存在目标数据块,若是,将目标限飞区数据发送给安全飞行模块;若否,执行步骤S605。
S605:代理模块通过读取接口分多次向应用处理器发送获取请求,请求获取目标数据块中的数据。
S606:应用处理器的读取接口在接收到获取请求后,根据获取请求中携带的数据的地址从数据库中读取对应地址的数据并发送给代理模块。
示例性的,由于应用处理器中存储的数据块的大小通常大于FC的带宽性能,为了适应FC的低通信链路性能,代理模块跟据实际的物理带宽将目标数据块拆成若干次请求依次向AP去获取数据(例如:目标数据块为1个,且大小为1KB,FC链路最大允许300B, 则代理模块需要分为300B,300B,300B,100B,一共四次去向AP请求获取这1KB的数据)。假设第一次获取请求中携带的地址为1-300,则读取接口在接收到该获取请求后,根据获取请求中携带的数据的地址1-300从数据库中读取地址1-300对应的数据并发送给代理模块。第二次获取请求中携带的地址为301-600,则读取接口在接收到该获取请求后,根据获取请求中携带的数据的地址301-600从数据库中读取地址301-600对应的数据并发送给代理模块。第三次获取请求中携带的地址为601-900,则读取接口在接收到该获取请求后,根据获取请求中携带的数据的地址601-900从数据库中读取地址601-900对应的数据并发送给代理模块。第四次获取请求中携带的地址为901-1000,则读取接口在接收到该获取请求后,根据获取请求中携带的数据的地址901-1000从数据库中读取地址901-1000对应的数据并发送给代理模块。代理模块在接收到目标数据块的全部数据后,将收到的数据重新拼接成一个完整的数据块。
S607:代理模块通过读取接口从应用处理器获取目标数据块的签名,根据签名对目标数据块进行校验,校验成功则将目标数据块存入缓冲器并向安全飞行模块返回目标限飞区数据。
示例性的,代理模块根据数据库头部信息查找目标数据块对应的签名的地址信息,并通过读取接口向AP请求该签名。代理模块对拼接后的数据块计算签名,并与从AP请求到的签名做比对,如果一致则读取成功向安全飞行模块返回目标限飞区数据,同时将目标数据块进行存储。
S608:安全飞行模块收到读取成功的目标限飞区数据,进行限飞功能的逻辑处理。
示例性的,安全飞行模块用于根据目标限飞区数据以及飞行设备的位置信息对飞行设备进行限飞控制。例如,若飞行设备落入目标限飞区,则控制飞行设备降落;或者,若飞行设备未落入目标限飞区且飞行设备与目标限飞区的距离小于等于预设阈值,则控制飞行设备远离目标限飞区;或者,若飞行设备未落入目标限飞区且飞行设备与目标限飞区的距离小于等于预设阈值,则控制飞行设备降落或悬停。
举例说明,假设flysafe模块需要的限飞区数据为地址从501-1500(每一地址对应1Byte的数据)的共计1KB的数据,则flysafe模块将该1KB的数据的地址以及长度发送给agent模块。agent模块根据数据库头部信息可以获知该部分限飞区数据所属目标数据块为数据块1(包括地址从1-1000的数据)和数据块2(包括地址从1001-2000的数据)。agent模块向存储设备分别发送7次获取请求依次获取7次目标数据块中的部分数据,该过程具体可以是:agent模块向存储设备发送携带地址1以及长度300的获取请求,存储设备根据该获取 请求向agent模块发送地址从1至300的数据,agent模块接收地址从1至300的数据。agent模块向存储设备发送携带地址301以及长度300的获取请求,存储设备根据该获取请求向agent模块发送地址从301至600的数据,agent模块接收地址从301至600的数据。agent模块向存储设备发送携带地址601以及长度900的获取请求,存储设备根据该获取请求向agent模块发送地址从601至900的数据,agent模块接收地址从601至900的数据。agent模块向存储设备发送携带地址901以及长度1200的获取请求,存储设备根据该获取请求向agent模块发送地址从901至1200的数据,agent模块接收地址从901至1200的数据。agent模块向存储设备发送携带地址1201以及长度300的获取请求,存储设备根据该获取请求向agent模块发送地址从1201至1500的数据,agent模块接收地址从1201至1500的数据。agent模块向存储设备发送携带地址1501以及长度1800的获取请求,存储设备根据该获取请求向agent模块发送地址从1501至1800的数据,agent模块接收地址从1501至1800的数据。agent模块向存储设备发送携带地址1801以及长度200的获取请求,存储设备根据该获取请求向agent模块发送地址从1801至2000的数据,agent模块接收地址从1801至2000的数据。agent模块将该7次接收到的全部数据重新拼接成一个完整的数据块。然后agent模块根据该数据块,计算该数据块在数据库中对应的签名的地址,并向存储设备请求该签名。agent模块对拼接后的数据块计算签名,并与从存储设备请求到的签名做比对,如果一致则读取成功向flysafe模块返回地址为500-1500的数据,同时做缓存存储。flysafe模块收到读取成功的数据,按格式进行数据解析后,进行限飞功能的逻辑运算。
可选的,图6所示实施例中AP侧提供的是简单的文件读取的通用功能,还可以由远端服务器或者地面站代替AP完成限飞数据库的存储功能。
可选的,数据库可以不存放在一个存储设备中,一个数据库可以拆分存储,由代理模块负责向不同存储设备去请求数据。
实施本申请实施例,可以不必增加FC与AP间的带宽要求,可以很好的适配现有机型的硬件条件,同时对于将来不同机型不同硬件的不同链路带宽,只需要修改代理模块的链路配置即可,不需要修改AP侧的限飞数据库,不需要修改安全飞行模块的限飞功能逻辑代码,限飞功能逻辑和数据库设计都能有很大自由度。同时因为代理机制中会对目标数据块做缓存,读取之前会先查找自己的缓存中是否有,所以可以避免短时间内的重复读取,降低链路负担。
请参见图7,图7是本申请实施例提供的一种飞控处理器的结构示意图,飞控处理器 700包括存储器701和处理器702;
当存储设备为应用处理器时,且所述飞控处理器和所述应用处理器位于飞行设备上时,飞控处理器和应用处理器通过通信接口进行数据传输,该通信接口可以是总线。当存储设备为远端控制设备时,飞控处理器(或飞行设备)和远端控制设备通过通信接口进行数据传输,该通信接口可以是收发器,以通过无线通信方式传输。
所述存储器701可以包括易失性存储器(volatile memory);存储器701也可以包括非易失性存储器(non-volatile memory);存储器701还可以包括上述种类的存储器的组合。所述处理器702可以是中央处理器(central processing unit,CPU)。所述处理器702还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA)或其任意组合。
所述处理器702,用于调用所述程序,当所述程序被执行时,用于执行以下操作:
向存储设备发送获取请求,所述获取请求用于请求获取目标限飞区数据所属目标数据块中的部分数据,所述目标限飞区数据用于所述飞控处理器进行限飞控制,所述存储设备中存储一个或多个数据块,所述数据块的长度大于等于所述飞控处理器和所述存储设备之间单次传输的最大数据长度,所述部分数据的数据长度小于等于所述飞控处理器和所述存储设备之间单次传输的最大数据长度;
接收所述存储设备发送的所述目标数据块中的部分数据。
可选的,所述处理器702,用于向存储设备发送获取请求,包括:
依次向所述存储设备发送多次所述获取请求直至所述飞控处理器接收到所述目标数据块中的全部数据,每次获取请求用于请求获取所述目标数据块中的不同数据;
所述处理器702,用于接收所述存储设备发送的所述目标数据块中的部分数据,包括:
依次从所述存储设备接收多次所述目标数据块中的部分数据。
可选的,所述处理器702,用于依次从所述存储设备接收多次所述目标数据块中的部分数据之后,所述处理器702,还用于:
从所述存储设备获取所述目标数据块的签名;
根据所述签名对所述目标数据块进行验证。
可选的,所述处理器702,还用于:
若对所述目标数据块验证成功,则根据所述目标数据块中的数据合成所述目标限飞区 数据。
可选的,所述处理器702,还用于:
若对所述目标数据块验证成功,则将所述目标数据块中的数据存储在存储器中。
可选的,所述处理器702,用于根据所述签名对所述目标数据块进行验证,包括:
根据预设的密钥对所述目标数据块进行计算,得到验证签名;
将所述签名与所述验证签名进行对比;
如果所述签名与所述验证签名一致,则确定对所述目标数据块验证成功。
可选的,所述处理器702,用于向存储设备发送获取请求之前,所述处理器,还用于:
查找存储器中是否存在所述部分数据;
若否,则向所述存储设备发送所述获取请求。
可选的,所述处理器702,包括安全飞行模块和代理模块;
所述代理模块用于向所述存储设备发送所述获取请求以及接收所述存储设备发送的所述目标数据块中的部分数据,所述代理模块还用于根据所述存储设备发送的所述目标数据块中的数据合成所述目标限飞区数据以及将所述目标限飞区数据发送给所述安全飞行模块;
所述安全飞行模块用于根据所述目标限飞区数据以及飞行设备的位置信息对所述飞行设备进行限飞控制。
可选的,所述安全飞行模块和所述代理模块是相互独立的。
可选的,所述安全飞行模块用于根据所述目标限飞区数据以及飞行设备的位置信息对所述飞行设备进行限飞控制,包括:
若所述飞行设备落入所述目标限飞区,则控制所述飞行设备降落;或者,
若所述飞行设备未落入所述目标限飞区且所述飞行设备与所述目标限飞区的距离小于等于预设阈值,则控制所述飞行设备远离所述目标限飞区;或者,
若所述飞行设备未落入所述目标限飞区且所述飞行设备与所述目标限飞区的距离小于等于预设阈值,则控制所述飞行设备降落或悬停。
可选的,所述获取请求中包括所述部分数据的地址信息,所述处理器,用于向存储设备发送获取请求之前,所述处理器702,还用于:
从所述存储设备获取数据库头部信息,所述数据库头部信息包括所述一个或多个数据块中每个数据块的地址信息。
可选的,所述地址信息包括起始地址、结束地址或数据长度中的任意两种或多种。
可选的,所述飞控处理器和所述存储设备位于同一设备中。
可选的,所述同一设备为飞行设备,所述存储设备为应用处理器。
可选的,所述飞控处理器和所述存储设备位于不同设备中。
可选的,所述飞控处理器位于飞行设备上,所述存储设备为所述飞行设备的控制设备。
可选的,所述控制设备包括终端、控制器或服务器。
本申请实施例中的具体实现过程可以参见前述图4至图6所示方法实施例中的相关描述,此处不再赘述。
请参见图8,图8是本申请实施例提供的一种存储设备的结构示意图,存储设备800包括存储器801和处理器802;
当存储设备为应用处理器时,且所述飞控处理器和所述应用处理器位于飞行设备上时,飞控处理器和应用处理器通过通信接口进行数据传输,该通信接口可以是总线。当存储设备为远端控制设备时,飞控处理器(或飞行设备)和远端控制设备通过通信接口进行数据传输,该通信接口可以是收发器,以通过无线通信方式传输。
所述存储器801可以包括易失性存储器(volatile memory);存储器801也可以包括非易失性存储器(non-volatile memory);存储器801还可以包括上述种类的存储器的组合。所述处理器802可以是中央处理器(central processing unit,CPU)。所述处理器802还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA)或其任意组合。
所述处理器802,用于调用所述程序,执行以下操作:
接收飞控处理器发送的获取请求,所述获取请求用于请求获取目标限飞区数据所属目标数据块中的部分数据,所述目标限飞区数据用于所述飞控处理器进行限飞控制,所述存储设备中存储一个或多个数据块,所述数据块的长度大于等于所述飞控处理器和所述存储设备之间单次传输的最大数据长度,所述部分数据的长度小于等于所述飞控处理器和所述存储设备之间单次传输的最大数据长度;
将所述目标数据块中的所述部分数据发送给所述飞控处理器。
可选的,所述处理器802,用于接收飞控处理器发送的获取请求,包括:
依次接收所述飞控处理器发送的多次所述获取请求;
所述处理器,用于将所述目标数据块中的所述部分数据发送给所述飞控处理器,包括:
依次向所述飞控处理器发送多次所述目标数据块中的部分数据。
可选的,所述处理器802,用于依次向所述飞控处理器发送多次所述目标数据块中的部分数据之后,所述处理器,还用于:
向所述飞控处理器发送所述目标数据块的签名,所述签名用于验证所述目标数据块。
可选的,所述获取请求中包括所述部分数据的地址信息,所述处理器802,用于接收飞控处理器发送的获取请求之前,所述处理器802,还用于:
向所述飞控设备发送数据库头部信息,所述数据库头部信息包括所述一个或多个数据块中每个数据块的地址信息。
可选的,所述地址信息包括起始地址、结束地址或数据长度中的任意两种或多种。
可选的,所述飞控处理器和所述存储设备位于同一设备中。
可选的,所述同一设备为飞行设备,所述存储设备为应用处理器。
可选的,所述飞控处理器和所述存储设备位于不同设备中。
可选的,所述飞控处理器位于飞行设备上,所述存储设备为所述飞行设备的控制设备。
可选的,所述控制设备包括终端、控制器或服务器。
本申请实施例中的具体实现过程可以参见前述图4至图6所示方法实施例中的相关描述,此处不再赘述。
本申请实施例还提供了一种数据处理系统,所述系统包括前述飞控处理器和存储设备。
可选的,所述数据处理系统为飞行设备,所述存储设备为应用处理器。
可选的,所述数据处理系统包括飞行设备和控制设备,所述飞行设备包括前述的飞控处理器,所述控制设备包括前述的存储设备。可选的,所述存储设备为应用处理器。
本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例中图4至图6所示实施例描述的方法,在此不再赘述。
所述计算机可读存储介质可以是前述任一实施例所述的设备的内部存储单元,例如设备的硬盘或内存。所述计算机可读存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机 程序以及所述终端所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
以上所揭露的仅为本发明部分实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (59)

  1. 一种数据处理方法,其特征在于,包括:
    飞控处理器向存储设备发送获取请求,所述获取请求用于请求获取目标限飞区数据所属目标数据块中的部分数据,所述目标限飞区数据用于所述飞控处理器进行限飞控制,所述存储设备中存储一个或多个数据块,所述数据块的长度大于等于所述飞控处理器和所述存储设备之间单次传输的最大数据长度,所述部分数据的数据长度小于等于所述飞控处理器和所述存储设备之间单次传输的最大数据长度;
    所述飞控处理器接收所述存储设备发送的所述目标数据块中的部分数据。
  2. 根据权利要求1所述的方法,其特征在于,所述飞控处理器向存储设备发送获取请求,包括:
    所述飞控处理器依次向所述存储设备发送多次所述获取请求直至所述飞控处理器接收到所述目标数据块中的全部数据,每次获取请求用于请求获取所述目标数据块中的不同数据;
    所述飞控处理器接收所述存储设备发送的所述目标数据块中的部分数据,包括:
    所述飞控处理器依次从所述存储设备接收多次所述目标数据块中的部分数据。
  3. 根据权利要求2所述的方法,其特征在于,所述飞控处理器依次从所述存储设备接收多次所述目标数据块中的部分数据之后,还包括:
    所述飞控处理器从所述存储设备获取所述目标数据块的签名;
    所述飞控处理器根据所述签名对所述目标数据块进行验证。
  4. 根据权利要求3所述的方法,其特征在于,还包括:
    若所述飞控处理器对所述目标数据块验证成功,所述飞控处理器根据所述目标数据块中的数据合成所述目标限飞区数据。
  5. 根据权利要求3或4所述的方法,其特征在于,还包括:
    若所述飞控处理器对所述目标数据块验证成功,所述飞控处理器将所述目标数据块中的数据存储在存储器中。
  6. 根据权利要求3至5任一项所述的方法,其特征在于,所述飞控处理器根据所述签名对所述目标数据块进行验证,包括:
    所述飞控处理器根据预设的密钥对所述目标数据块进行计算,得到验证签名;
    所述飞控处理器将所述签名与所述验证签名进行对比;
    如果所述签名与所述验证签名一致,则所述飞控处理器确定对所述目标数据块验证成功。
  7. 根据权利要求1至6任一项所述的方法,其特征在于,所述飞控处理器向存储设备发送获取请求之前,还包括:
    所述飞控处理器查找存储器中是否存在所述部分数据;
    若否,则所述飞控处理器向所述存储设备发送所述获取请求。
  8. 根据权利要求1至7任一项所述的方法,其特征在于,所述飞控处理器包括安全飞行模块和代理模块;
    所述代理模块用于向所述存储设备发送所述获取请求以及接收所述存储设备发送的所述目标数据块中的部分数据,所述代理模块还用于根据所述存储设备发送的所述目标数据块中的数据合成所述目标限飞区数据以及将所述目标限飞区数据发送给所述安全飞行模块;
    所述安全飞行模块用于根据所述目标限飞区数据以及飞行设备的位置信息对所述飞行设备进行限飞控制。
  9. 根据权利要求8所述的方法,其特征在于,所述安全飞行模块和所述代理模块是相互独立的。
  10. 根据权利要求8或9所述的方法,其特征在于,所述安全飞行模块用于根据所述目标限飞区数据以及飞行设备的位置信息对所述飞行设备进行限飞控制,包括:
    若所述飞行设备落入所述目标限飞区,则控制所述飞行设备降落;或者,
    若所述飞行设备未落入所述目标限飞区且所述飞行设备与所述目标限飞区的距离小于等于预设阈值,则控制所述飞行设备远离所述目标限飞区;或者,
    若所述飞行设备未落入所述目标限飞区且所述飞行设备与所述目标限飞区的距离小于等于预设阈值,则控制所述飞行设备降落或悬停。
  11. 根据权利要求1至10任一项所述的方法,其特征在于,所述获取请求中包括所述部分数据的地址信息,所述飞控处理器向存储设备发送获取请求之前,还包括:
    所述飞控处理器从所述存储设备获取数据库头部信息,所述数据库头部信息包括所述一个或多个数据块中每个数据块的地址信息。
  12. 根据权利要求11所述的方法,其特征在于,所述地址信息包括起始地址、结束地址或数据长度中的任意两种或多种。
  13. 根据权利要求1至12任一项所述的方法,其特征在于,所述飞控处理器和所述存储设备位于同一设备中。
  14. 根据权利要求13所述的方法,其特征在于,所述同一设备为飞行设备,所述存储设备为应用处理器。
  15. 根据权利要求1至12任一项所述的方法,其特征在于,所述飞控处理器和所述存储设备位于不同设备中。
  16. 根据权利要求15所述的方法,其特征在于,所述飞控处理器位于飞行设备上,所述存储设备为所述飞行设备的控制设备。
  17. 根据权利要求16所述的方法,其特征在于,所述控制设备包括终端、控制器或服务器。
  18. 一种数据处理方法,其特征在于,包括:
    存储设备接收飞控处理器发送的获取请求,所述获取请求用于请求获取目标限飞区数据所属目标数据块中的部分数据,所述目标限飞区数据用于所述飞控处理器进行限飞控制,所述存储设备中存储一个或多个数据块,所述数据块的长度大于等于所述飞控处理器和所述存储设备之间单次传输的最大数据长度,所述部分数据的长度小于等于所述飞控处理器 和所述存储设备之间单次传输的最大数据长度。
    所述存储设备将所述目标数据块中的所述部分数据发送给所述飞控处理器。
  19. 根据权利要求18所述的方法,其特征在于,所述存储设备接收飞控处理器发送的获取请求,包括:
    所述存储设备依次接收所述飞控处理器发送的多次所述获取请求;
    所述存储设备将所述目标数据块中的所述部分数据发送给所述飞控处理器,包括:
    所述存储设备依次向所述飞控处理器发送多次所述目标数据块中的部分数据。
  20. 根据权利要求19所述的方法,其特征在于,所述存储设备依次向所述飞控处理器发送多次所述目标数据块中的部分数据之后,还包括:
    所述存储设备向所述飞控处理器发送所述目标数据块的签名,所述签名用于验证所述目标数据块。
  21. 根据权利要求18至20任一项所述的方法,其特征在于,所述获取请求中包括所述部分数据的地址信息,所述存储设备接收飞控处理器发送的获取请求之前,还包括:
    所述存储设备向所述飞控设备发送数据库头部信息,所述数据库头部信息包括所述一个或多个数据块中每个数据块的地址信息。
  22. 根据权利要求21所述的方法,其特征在于,所述地址信息包括起始地址、结束地址或数据长度中的任意两种或多种。
  23. 根据权利要求18至22任一项所述的方法,其特征在于,所述飞控处理器和所述存储设备位于同一设备中。
  24. 根据权利要求23所述的方法,其特征在于,所述同一设备为飞行设备,所述存储设备为应用处理器。
  25. 根据权利要求18至22任一项所述的方法,其特征在于,所述飞控处理器和所述存储设备位于不同设备中。
  26. 根据权利要求25所述的方法,其特征在于,所述飞控处理器位于飞行设备上,所述存储设备为所述飞行设备的控制设备。
  27. 根据权利要求26所述的方法,其特征在于,所述控制设备包括终端、控制器或服务器。
  28. 一种飞控处理器,其特征在于,包括存储器和处理器;
    所述存储器,用于存储程序指令;
    所述处理器,用于调用所述程序指令,执行以下操作:
    向存储设备发送获取请求,所述获取请求用于请求获取目标限飞区数据所属目标数据块中的部分数据,所述目标限飞区数据用于所述飞控处理器进行限飞控制,所述存储设备中存储一个或多个数据块,所述数据块的长度大于等于所述飞控处理器和所述存储设备之间单次传输的最大数据长度,所述部分数据的数据长度小于等于所述飞控处理器和所述存储设备之间单次传输的最大数据长度;
    接收所述存储设备发送的所述目标数据块中的部分数据。
  29. 根据权利要求28所述的飞控处理器,其特征在于,所述处理器,用于向存储设备发送获取请求,包括:
    依次向所述存储设备发送多次所述获取请求直至所述飞控处理器接收到所述目标数据块中的全部数据,每次获取请求用于请求获取所述目标数据块中的不同数据;
    所述处理器,用于接收所述存储设备发送的所述目标数据块中的部分数据,包括:
    依次从所述存储设备接收多次所述目标数据块中的部分数据。
  30. 根据权利要求29所述的飞控处理器,其特征在于,所述处理器,用于依次从所述存储设备接收多次所述目标数据块中的部分数据之后,所述处理器,还用于:
    从所述存储设备获取所述目标数据块的签名;
    根据所述签名对所述目标数据块进行验证。
  31. 根据权利要求30所述的飞控处理器,其特征在于,所述处理器,还用于:
    若对所述目标数据块验证成功,则根据所述目标数据块中的数据合成所述目标限飞区 数据。
  32. 根据权利要求30或31所述的飞控处理器,其特征在于,所述处理器,还用于:
    若对所述目标数据块验证成功,则将所述目标数据块中的数据存储在存储器中。
  33. 根据权利要求30至32任一项所述的飞控处理器,其特征在于,所述处理器,用于根据所述签名对所述目标数据块进行验证,包括:
    根据预设的密钥对所述目标数据块进行计算,得到验证签名;
    将所述签名与所述验证签名进行对比;
    如果所述签名与所述验证签名一致,则确定对所述目标数据块验证成功。
  34. 根据权利要求28至33任一项所述的飞控处理器,其特征在于,所述处理器,用于向存储设备发送获取请求之前,所述处理器,还用于:
    查找存储器中是否存在所述部分数据;
    若否,则向所述存储设备发送所述获取请求。
  35. 根据权利要求28至34任一项所述的飞控处理器,其特征在于,所述处理器包括安全飞行模块和代理模块;
    所述代理模块用于向所述存储设备发送所述获取请求以及接收所述存储设备发送的所述目标数据块中的部分数据,所述代理模块还用于根据所述存储设备发送的所述目标数据块中的数据合成所述目标限飞区数据以及将所述目标限飞区数据发送给所述安全飞行模块;
    所述安全飞行模块用于根据所述目标限飞区数据以及飞行设备的位置信息对所述飞行设备进行限飞控制。
  36. 根据权利要求35所述的飞控处理器,其特征在于,所述安全飞行模块和所述代理模块是相互独立的。
  37. 根据权利要求35或36所述的飞控处理器,其特征在于,所述安全飞行模块用于根据所述目标限飞区数据以及飞行设备的位置信息对所述飞行设备进行限飞控制,包括:
    若所述飞行设备落入所述目标限飞区,则控制所述飞行设备降落;或者,
    若所述飞行设备未落入所述目标限飞区且所述飞行设备与所述目标限飞区的距离小于等于预设阈值,则控制所述飞行设备远离所述目标限飞区;或者,
    若所述飞行设备未落入所述目标限飞区且所述飞行设备与所述目标限飞区的距离小于等于预设阈值,则控制所述飞行设备降落或悬停。
  38. 根据权利要求28至37任一项所述的飞控处理器,其特征在于,所述获取请求中包括所述部分数据的地址信息,所述处理器,用于向存储设备发送获取请求之前,所述处理器,还用于:
    从所述存储设备获取数据库头部信息,所述数据库头部信息包括所述一个或多个数据块中每个数据块的地址信息。
  39. 根据权利要求38所述的飞控处理器,其特征在于,所述地址信息包括起始地址、结束地址或数据长度中的任意两种或多种。
  40. 根据权利要求28至39任一项所述的飞控处理器,其特征在于,所述飞控处理器和所述存储设备位于同一设备中。
  41. 根据权利要求40所述的飞控处理器,其特征在于,所述同一设备为飞行设备,所述存储设备为应用处理器。
  42. 根据权利要求28至39任一项所述的飞控处理器,其特征在于,所述飞控处理器和所述存储设备位于不同设备中。
  43. 根据权利要求42所述的飞控处理器,其特征在于,所述飞控处理器位于飞行设备上,所述存储设备为所述飞行设备的控制设备。
  44. 根据权利要求43所述的飞控处理器,其特征在于,所述控制设备包括终端、控制器或服务器。
  45. 一种存储设备,其特征在于,包括存储器和处理器;
    所述存储器,用于存储程序;
    所述处理器,用于调用所述程序,当所述程序被执行时,用于执行以下操作:
    接收飞控处理器发送的获取请求,所述获取请求用于请求获取目标限飞区数据所属目标数据块中的部分数据,所述目标限飞区数据用于所述飞控处理器进行限飞控制,所述存储设备中存储一个或多个数据块,所述数据块的长度大于等于所述飞控处理器和所述存储设备之间单次传输的最大数据长度,所述部分数据的长度小于等于所述飞控处理器和所述存储设备之间单次传输的最大数据长度;
    将所述目标数据块中的所述部分数据发送给所述飞控处理器。
  46. 根据权利要求45所述的设备,其特征在于,所述处理器,用于接收飞控处理器发送的获取请求,包括:
    依次接收所述飞控处理器发送的多次所述获取请求;
    所述处理器,用于将所述目标数据块中的所述部分数据发送给所述飞控处理器,包括:
    依次向所述飞控处理器发送多次所述目标数据块中的部分数据。
  47. 根据权利要求46所述的设备,其特征在于,所述处理器,用于依次向所述飞控处理器发送多次所述目标数据块中的部分数据之后,所述处理器,还用于:
    向所述飞控处理器发送所述目标数据块的签名,所述签名用于验证所述目标数据块。
  48. 根据权利要求45至47任一项所述的设备,其特征在于,所述获取请求中包括所述部分数据的地址信息,所述处理器,用于接收飞控处理器发送的获取请求之前,所述处理器,还用于:
    向所述飞控设备发送数据库头部信息,所述数据库头部信息包括所述一个或多个数据块中每个数据块的地址信息。
  49. 根据权利要求48所述的设备,其特征在于,所述地址信息包括起始地址、结束地址或数据长度中的任意两种或多种。
  50. 根据权利要求45至49任一项所述的设备,其特征在于,所述飞控处理器和所述存储设备位于同一设备中。
  51. 根据权利要求50所述的设备,其特征在于,所述同一设备为飞行设备,所述存储设备为应用处理器。
  52. 根据权利要求45至49任一项所述的设备,其特征在于,所述飞控处理器和所述存储设备位于不同设备中。
  53. 根据权利要求52所述的设备,其特征在于,所述飞控处理器位于飞行设备上,所述存储设备为所述飞行设备的控制设备。
  54. 根据权利要求53所述的设备,其特征在于,所述控制设备包括终端、控制器或服务器。
  55. 一种数据处理系统,其特征在于,包括:
    权利要求28-44任一项所述的飞控处理器和权利要求45-54任一项所述的存储设备。
  56. 根据权利要求55所述的系统,其特征在于,所述数据处理系统为飞行设备,所述存储设备为应用处理器。
  57. 根据权利要求55所述的系统,其特征在于,所述数据处理系统包括飞行设备和控制设备,所述飞行设备包括权利要求28-44任一项所述的飞控处理器,所述控制设备包括权利要求45-54任一项所述的存储设备。
  58. 根据权利要求57所述的系统,其特征在于,所述控制设备包括终端、控制器或服务器。
  59. 一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至27中任一项所述数据处理方法的步骤。
PCT/CN2019/114453 2019-10-30 2019-10-30 一种数据处理方法、设备、系统及存储介质 WO2021081828A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201980040904.8A CN112313598A (zh) 2019-10-30 2019-10-30 一种数据处理方法、设备、系统及存储介质
PCT/CN2019/114453 WO2021081828A1 (zh) 2019-10-30 2019-10-30 一种数据处理方法、设备、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/114453 WO2021081828A1 (zh) 2019-10-30 2019-10-30 一种数据处理方法、设备、系统及存储介质

Publications (1)

Publication Number Publication Date
WO2021081828A1 true WO2021081828A1 (zh) 2021-05-06

Family

ID=74336255

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/114453 WO2021081828A1 (zh) 2019-10-30 2019-10-30 一种数据处理方法、设备、系统及存储介质

Country Status (2)

Country Link
CN (1) CN112313598A (zh)
WO (1) WO2021081828A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107172589A (zh) * 2017-06-23 2017-09-15 北京奇虎科技有限公司 无人机围栏设置方法及装置、电子设备、计算机存储介质
CN107357305A (zh) * 2017-06-19 2017-11-17 深圳市易成自动驾驶技术有限公司 飞行控制方法、无人机及计算机存储介质
CN109286472A (zh) * 2018-10-12 2019-01-29 广东省气象探测数据中心 一种基于北斗卫星导航系统的并发数据异步传输方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103368691B (zh) * 2013-07-03 2016-12-28 深圳中科智星通科技有限公司 基于北斗卫星的数据传输方法和装置
CN105472558A (zh) * 2015-12-18 2016-04-06 苏州贝多环保技术有限公司 一种无人机及其控制方法
US10713961B2 (en) * 2016-06-10 2020-07-14 ETAK Systems, LLC Managing dynamic obstructions in air traffic control systems for unmanned aerial vehicles
CN109661694B (zh) * 2017-02-28 2022-03-29 深圳市大疆创新科技有限公司 控制无人飞行器飞行的方法和设备、限飞区生成方法和设备
CN106970640B (zh) * 2017-03-21 2020-10-13 北京小米移动软件有限公司 无人机的禁飞控制方法和装置
CN107132852B (zh) * 2017-03-31 2019-10-25 西安戴森电子技术有限公司 一种基于北斗地理围栏差分定位模块的无人机监管云平台
CN107135173A (zh) * 2017-06-06 2017-09-05 芜湖航飞科技股份有限公司 基于北斗导航系统的多站点实时数据交互方法
WO2019014857A1 (zh) * 2017-07-18 2019-01-24 深圳市大疆创新科技有限公司 限飞数据的更新方法及装置
CN108701151A (zh) * 2017-08-28 2018-10-23 深圳市大疆创新科技有限公司 限飞数据的提示、更新方法和终端设备以及服务器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107357305A (zh) * 2017-06-19 2017-11-17 深圳市易成自动驾驶技术有限公司 飞行控制方法、无人机及计算机存储介质
CN107172589A (zh) * 2017-06-23 2017-09-15 北京奇虎科技有限公司 无人机围栏设置方法及装置、电子设备、计算机存储介质
CN109286472A (zh) * 2018-10-12 2019-01-29 广东省气象探测数据中心 一种基于北斗卫星导航系统的并发数据异步传输方法

Also Published As

Publication number Publication date
CN112313598A (zh) 2021-02-02

Similar Documents

Publication Publication Date Title
US10642777B2 (en) System and method for maximizing bandwidth of PCI express peer-to-peer (P2P) connection
US20220049962A1 (en) Map data query method and apparatus, computer device, and storage medium
US7502826B2 (en) Atomic operations
KR20190055721A (ko) KV-SSD를 사용하여 확장성있는 객체 스토리지를 구성하고 액세스하는 방법 및 KV-SSD, NVMe-SSD 및 기타 플래시 장치의 하이브리드(HUBBRID) 백엔드 스토리지 계층
CN107922049A (zh) 使用群鉴证的无人机源内容创作
US10111033B2 (en) GIS based compression and reconstruction of GPS data for transmission from a vehicular edge platform to the cloud
CN110719570A (zh) 地图敏感信息的传输方法及通信装置
WO2018209575A1 (zh) 数据传输方法、设备、机器可读存储介质以及系统
WO2023051591A1 (zh) 一种进程间通信方法及相关装置
US11586380B2 (en) Memory systems including examples of calculating hamming distances for neural network and data center applications
JP6916588B2 (ja) 交通管理のための装置、システムおよび方法
US10904755B2 (en) Data distribution from a movable object
US20220375134A1 (en) Method, device and system of point cloud compression for intelligent cooperative perception system
WO2022199195A1 (zh) 地图更新方法、系统、车载终端、服务器及存储介质
US20170052963A1 (en) Systems and methods for memory architecture
WO2021081828A1 (zh) 一种数据处理方法、设备、系统及存储介质
US11134526B2 (en) Automatic update of connection to a movable object
US10678717B2 (en) Chipset with near-data processing engine
EP4246844A1 (en) Data packet processing method and apparatus
CN106407151A (zh) 信息处理方法和装置
Nguyen et al. Reducing data copies between gpus and nics
US12007249B2 (en) Data processing method and apparatus, vehicle-end device, cloud server, and electronic device
WO2021068267A1 (zh) 一种数据处理方法、设备、系统及存储介质
US20220014549A1 (en) Misbehavior processing in connected vehicle networks
CN112492513B (zh) 一种可信的定位信息方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19950338

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19950338

Country of ref document: EP

Kind code of ref document: A1