GNSS-R satellite constellation remote sensing data processing method and device based on multi-thread technology

By refining the GNSS-R satellite constellation data processing flow through multi-threading technology, the problem of low data processing efficiency in large-scale multi-GNSS system networking has been solved, achieving efficient and flexible data processing capabilities to meet the needs of different application scenarios.

CN119010989BActive Publication Date: 2026-01-02NAT SPACE SCI CENT CAS +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411046686.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-31
Publication Date
2026-01-02
Estimated Expiration
2044-07-31

AI Technical Summary

Technical Problem

The existing single-GNSS-R data processing mode for single-GNSS systems cannot effectively coordinate and optimize computing resources when facing large-scale network data from multiple GNSS systems. It is difficult to meet the timeliness requirements of high-precision services for data processing and cannot adapt to the flexible changes in the scale of satellite constellation data.

Method used

The data processing flow is divided into four stages using multi-threading technology. Each stage has a corresponding multi-threading strategy, and the number of multi-threads required for each stage can be flexibly adjusted through configuration parameter files. These stages include sorting, deduplication, packet splitting and unpacking, calibration, observation information calculation, orbit product inversion, and gridded fusion processing.

Benefits of technology

It improves the timeliness and overall efficiency of data processing, enables flexible configuration and optimization of processing capabilities, and can adapt to changes in the scale of data processing brought about by the addition of new satellites and the retirement of old satellites, ensuring the flexibility and scalability of processing capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119010989B_ABST
    Figure CN119010989B_ABST
Patent Text Reader

Abstract

The embodiment of the application provides a GNSS-R satellite constellation remote sensing data processing method and device based on a multi-thread technology, electronic equipment and a computer readable storage medium, and relates to the field of GNSS reflection signal remote sensing technology (GNSS-R). The method comprises the following steps: acquiring original data files of all satellites in a satellite constellation; scheduling a first number of computer threads to process the original data files to obtain a first data file corresponding to each satellite; scheduling a second number of computer threads for each satellite to process the corresponding first data file to obtain a second data file corresponding to each satellite; scheduling the first number of computer threads to process each second data file to obtain a third data file corresponding to each satellite; and scheduling a third number of threads for each satellite to process each third data file to obtain a target data file. The embodiment of the application can improve the timeliness of GNSS-R large-scale networking constellation data processing compatible with multiple GNSS systems.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of GNSS reflected signal remote sensing, in particular to a GNSS-R satellite constellation remote sensing data processing method based on multi-thread technology, a GNSS-R satellite constellation remote sensing data processing device based on multi-thread technology, an electronic device and a computer readable storage medium. BACKGROUND

[0002] GNSS-R technology, that is, global satellite navigation system reflected signal technology, has emerged since the 1990s and has become an important tool for detecting multi-physical parameters such as sea surface, land surface and ice surface. This technology uses existing GNSS signal sources for detection, without the need for additional transmitters. The receiver is light in weight, low in power consumption and low in cost, and is very suitable for constructing constellation networking detection systems through left-orbit final stage cluster and micro-nano satellite platforms. In addition, the signal sources of GNSS-R technology are rich and free, including China's Beidou system, America's GPS (Global Positioning System) system, Europe's Galileo system, Russia's GLONASS (GLOBAL NAVIGATION SATELLITE SYSTEM) system, Japan's QZSS (Quasi-Zenith Satellite System) and India's IRNSS (Indian Regional Navigation Satellite System) system, etc., and a total of more than 150 navigation satellites can be used as signal transmitting sources. Therefore, GNSS-R technology provides a new system for high temporal and spatial resolution earth observation.

[0003] In recent years, with the gradual maturity of GNSS-R receiver technology and product inversion algorithm, a large-scale GNSS-R networking constellation based on micro-nano satellite platforms and compatible with multiple GNSS systems has been formed, and related technologies of GNSS-R detection network based on left-orbit final stage cluster are rapidly developing.

[0004] With the rapid development of GNSS-R large-scale satellite constellation of multi-GNSS system, the data volume generated by it also increases sharply. The existing single-GNSS system single-satellite GNSS-R data processing mode takes single-GNSS system single-satellite data as the processing object, and when facing large-scale networked data across multiple GNSS systems, this mode lacks a global vision at the system level and cannot effectively coordinate and optimize the use of computing resources. Therefore, it is not satisfactory in processing efficiency and cannot meet the strict requirements of high-precision businesses such as numerical weather prediction on the timeliness of data processing. In order to overcome this limitation, more advanced data processing architecture and method need to be explored to improve processing efficiency and meet the high timeliness standard of business. Especially considering the networking of new satellites and the retirement of old satellites, the size of GNSS-R satellite constellation and the number of available GNSS satellite signal sources are in dynamic adjustment. Therefore, how to quickly and efficiently integrate and process these multi-GNSS system compatible GNSS-R large-scale networked data while adapting to the flexible changes in the data size of satellite constellation has become a major challenge that needs to be solved. SUMMARY

[0005] In view of the above problems, the embodiments of the present application are proposed to provide a GNSS-R satellite constellation remote sensing data processing method based on multi-thread technology, a GNSS-R satellite constellation remote sensing data processing device based on multi-thread technology, an electronic device and a computer readable storage medium, which overcome the above problems or at least partially solve the above problems.

[0006] The embodiments of the present application disclose a GNSS-R satellite constellation remote sensing data processing method based on multi-thread technology, which comprises:

[0007] Obtaining the original data files of all satellites in the GNSS-R satellite constellation;

[0008] Determining the first number of threads that need to be scheduled based on the number of all satellites, and scheduling the first number of computer threads to sort, de-duplicate and the like process the original data files to obtain the first data files corresponding to each satellite respectively;

[0009] Determining the second number of threads that need to be scheduled for each satellite based on the total number of available threads and the number of reflection channels of each satellite, and scheduling the second number of computer threads for each satellite to process the corresponding first data files such as packet unpacking, calibration and observation information calculation to obtain the second data files corresponding to each satellite respectively;

[0010] Scheduling the first number of computer threads to process the orbit product inversion of each second data file to obtain the third data files corresponding to each satellite respectively;

[0011] A third number of threads needed to be scheduled for each satellite is determined based on the total number of available threads and the number of third data files, and the third number of computer threads are scheduled for each satellite to grid and fuse each third data file to obtain a target data file.

[0012] In one or more embodiments, the raw data files of all satellites in the GNSS-R satellite constellation are acquired, including:

[0013] Raw data files of all satellites in the satellite constellation within a target time period are acquired from each satellite ground station; each satellite ground station includes the raw data files of at least one satellite.

[0014] In one or more embodiments, the first number of computer threads are scheduled to sort, de-duplicate, etc. the raw data files to obtain a first data file corresponding to each satellite, including:

[0015] The first number of computer threads are assigned second data files corresponding to each satellite, so that the computer threads corresponding to each satellite sort the raw data files corresponding to each satellite according to the system week, intra-week seconds and packet number of the global navigation satellite system (GNSS) to obtain sorted raw data files corresponding to each satellite;

[0016] The computer threads corresponding to each satellite de-duplicate the sorted raw data files corresponding to each satellite to obtain a first data file corresponding to each satellite.

[0017] In one or more embodiments, the second number is determined as follows:

[0018] Where M1 is the number of computer threads needed to be allocated for a single satellite, N is the total number of available threads, n c is the total number of reflection channels for all satellites, is the floor function, and k c is the number of reflection channels for a single satellite.

[0019] The threads corresponding to each satellite perform packet unpacking, scaling, observation information calculation, etc. on the sorted first data files corresponding to each satellite to obtain a second data file corresponding to each satellite. In one or more embodiments, the first number of computer threads are scheduled to perform orbit product inversion processing on each second data file to obtain a third data file corresponding to each satellite, including:

[0020] allocate the second data files corresponding to each satellite to the first number of computer threads, so that each satellite corresponding computer thread performs orbit product inversion on the second data file corresponding to each satellite to obtain the inversion result corresponding to each satellite respectively;

[0021] The computer thread corresponding to each satellite fuses the inversion result corresponding to each satellite after classification and grouping according to the GNSS system type to obtain the third data file corresponding to each satellite respectively.

[0022] In one or more embodiments, the third number is determined by the following way:

[0023] Wherein, M2 is the number of threads needed to be allocated for a single satellite, N is the total number of available threads, n f The total number of third data files is N, is the floor function, k f The number of third data files of a single satellite is n.

[0024] In one or more embodiments, the third number of computer threads is scheduled for each satellite to perform gridding fusion processing on each third data file to obtain a target data file, comprising:

[0025] The third number of computer threads is scheduled for each satellite to read the third data file of each satellite;

[0026] Integrate the third data files of all satellites to obtain an integrated data file;

[0027] Gridding fusion processing is performed on the integrated data file to obtain a target data file.

[0028] Correspondingly, the embodiment of the application discloses a GNSS-R satellite constellation remote sensing data processing device based on multi-thread technology, the device comprises:

[0029] The acquisition module is configured to acquire the original data files of all satellites in the GNSS-R satellite constellation;

[0030] The configuration module is configured to configure the first number of threads needed to be scheduled based on the number of all satellites;

[0031] The scheduling module is configured to schedule the first number of computer threads to process the original data files to obtain the first data file corresponding to each satellite respectively;

[0032] The configuration module is further configured to configure the second number of threads needed to be scheduled for each satellite based on the total number of available threads and the number of reflection channels of each satellite;

[0033] The scheduling module is further configured to schedule the second number of computer threads to perform unpacking, scaling, and observation information calculation on the corresponding first data file of each satellite, to obtain a second data file corresponding to each satellite respectively;

[0034] The scheduling module is further configured to schedule the first number of computer threads to perform orbit product inversion processing on each second data file, to obtain a third data file corresponding to each satellite respectively;

[0035] The configuration module is further configured to configure a third number of threads that need to be scheduled for each satellite based on the total number of available threads and the number of third data files;

[0036] The scheduling module is further configured to schedule the third number of computer threads to perform gridding fusion processing on each third data file for each satellite, to obtain a target data file.

[0037] In one or more embodiments, the acquisition module is specifically configured to:

[0038] acquire, from each satellite ground station, raw data files of all satellites in the GNSS-R satellite constellation within a target time period; each satellite ground station includes the raw data files of at least one satellite.

[0039] In one or more embodiments, the scheduling module is specifically configured to:

[0040] allocate the second data file corresponding to each satellite to the first number of computer threads, so that the computer thread corresponding to each satellite sorts the raw data file corresponding to each satellite according to the system week, intra-week seconds, and packet number of the global navigation satellite system (GNSS), to obtain a sorted raw data file corresponding to each satellite;

[0041] The computer thread corresponding to each satellite performs deduplication on the sorted raw data file corresponding to each satellite, to obtain a first data file corresponding to each satellite respectively.

[0042] In one or more embodiments, the configuration module is specifically configured to:

[0043] wherein M1 is the number of computer threads allocated for a single satellite, N is the total number of available threads, n c is the total number of reflection channels for all satellites, is the floor function, and k c is the number of reflection channels for a single satellite.

[0044] The thread corresponding to each satellite performs unpacking, scaling, observation information calculation and other processing on the sorted first data file corresponding to each satellite, to obtain a second data file corresponding to each satellite.

[0045] In one or more embodiments, the scheduling module is further configured to:

[0046] The second data file corresponding to each satellite is allocated to the first number of computer threads, so that the computer thread corresponding to each satellite performs orbit product inversion on the second data file corresponding to each satellite to obtain an inversion result corresponding to each satellite.

[0047] The computer thread corresponding to each satellite classifies and groups the inversion result corresponding to each satellite according to the GNSS system type and then fuses the classified and grouped results to obtain a third data file corresponding to each satellite.

[0048] In one or more embodiments, the configuration module is further configured to:

[0049] wherein M2 is the number of computer threads to be allocated to a single satellite, N is the total number of available threads, n f the total number of third data files is is a floor function, and k f the number of third data files of a single satellite.

[0050] In one or more embodiments, the scheduling module is further configured to:

[0051] The third number of computer threads is scheduled to read the third data file of each satellite for each satellite.

[0052] All third data files of the satellites are integrated to obtain an integrated data file.

[0053] The integrated data file is gridded and fused to obtain a target data file.

[0054] Correspondingly, an electronic device is disclosed, which includes a processor, a memory, and a computer program stored in the memory and capable of running on the processor, and the computer program, when executed by the processor, implements each step of the above-mentioned GNSS-R satellite constellation remote sensing data processing method based on multi-thread technology.

[0055] Correspondingly, a computer readable storage medium is disclosed, which stores a computer program, and the computer program, when executed by a processor, implements each step of the above-mentioned GNSS-R satellite constellation remote sensing data processing method based on multi-thread technology.

[0056] Embodiments of the present application include the following advantages:

[0057] The data processing system acquires original data files of all satellites in a GNSS-R satellite constellation; determines a first number of threads that need to be scheduled based on the number of all satellites, and schedules the first number of computer threads to sort, de-duplicate, etc. the original data files to obtain first data files corresponding to each satellite respectively; determines a second number of threads that need to be scheduled for each satellite based on the total number of available threads and the number of reflection channels of each satellite, and schedules the second number of computer threads for each satellite to perform packet unpacking, scaling, observation information calculation, etc. on the corresponding first data files to obtain second data files corresponding to each satellite respectively; schedules the first number of computer threads to perform orbit product inversion processing on each second data file to obtain third data files corresponding to each satellite respectively; determines a third number of threads that need to be scheduled for each satellite based on the total number of available threads and the number of third data files, and schedules the third number of computer threads for each satellite to perform gridding fusion processing on each third data file to obtain a target data file. In this way, the entire data processing flow is refined into four stages, each stage has a corresponding multi-thread processing strategy, and the number of multi-threads required by each stage can be flexibly adjusted by configuring a parameter file. In this way, not only the timeliness of data processing can be improved, the overall efficiency of data processing can be greatly improved, but also through parameter adjustment of the configuration file, flexible configuration and optimization of processing capacity can be realized, so that the system can easily cope with changes in data processing scale caused by the addition of new satellites and the retirement of old satellites, thereby ensuring the flexibility and scalability of processing capacity, and better meeting the data processing needs in different application scenarios. BRIEF DESCRIPTION OF DRAWINGS

[0058] Figure 1 is a step flowchart of a GNSS-R satellite constellation remote sensing data processing method embodiment based on multi-thread technology of the present application;

[0059] Figure 2 is a structural block diagram of a GNSS-R satellite constellation remote sensing data processing device embodiment based on multi-thread technology of the present application. DETAILED DESCRIPTION

[0060] In order to make the above-mentioned objects, features and advantages of the present application more apparent and easy to understand, the present application will be further described in detail below with reference to the drawings and specific embodiments.

[0061] One of the core ideas of the embodiment of the present application is to divide the entire data processing process into four stages, each stage has a corresponding multi-thread processing strategy, and the number of multi-threads required by each stage is flexibly adjusted through a configuration parameter file. This not only improves the timeliness of data processing and greatly improves the overall efficiency of data processing, but also realizes flexible configuration and optimization of processing capacity through parameter adjustment of the configuration file, so that the system can easily cope with changes in data processing scale caused by the addition of new satellites and the retirement of old satellites, thereby ensuring the flexibility and scalability of processing capacity, and better meeting the data processing needs in different application scenarios.

[0062] Referring to Figure 1 , a step flowchart of one embodiment of a GNSS-R satellite constellation remote sensing data processing method based on multi-thread technology is shown, which can specifically include the following steps:

[0063] Step 101, obtaining original data files of all satellites in the GNSS-R satellite constellation.

[0064] The embodiment of the present application can be applied in a data processing system, which can obtain original data files of all satellites in the GNSS-R satellite constellation, wherein the file format of the original data files can be RAW format. Of course, the file format can also be other formats besides RAW format, and in actual application, it can be set according to actual needs, and the embodiment of the present application does not limit this.

[0065] In the embodiment of the present application, the original data files of all satellites in the GNSS-R satellite constellation are obtained, including:

[0066] Obtaining original data files of all satellites in the GNSS-R satellite constellation within a target time period from each satellite ground station; each satellite ground station includes at least one original data file of a satellite.

[0067] Specifically, the data processing system can obtain original data files of all satellites in the target time period from multiple satellite ground stations, wherein one original data file corresponds to one track data, and a satellite may have multiple track data in a target time period, so multiple original data files correspond.

[0068] The target time period can be 1 hour, 1 day, 3 days, 1 week, 1 month, etc., and in actual application, the specific value of the target time period can be set according to actual needs, and the embodiment of the present application does not limit this.

[0069] For example, the satellite constellation contains 10 satellites, the target time period is 1 day, 1 satellite has 28 track data in 1 day, that is, 28 original data files, then 280 original data files of 10 satellites can be obtained by a satellite ground station at the same time, 140 original data files of 10 satellites can be obtained by satellite ground station A, 140 original data files of the remaining 10 satellites can be obtained by satellite ground station B, and the original data files can also be obtained by other ways, in actual application, the original data files can be set according to actual requirements, and the embodiment of the application does not limit this.

[0070] In step 102, the first number of threads to be scheduled is determined based on the number of all satellites, and the first number of computer threads are scheduled to sort, de-duplicate and the like of the original data files, to obtain the first data file corresponding to each satellite.

[0071] After obtaining the original data files of all satellites, the number of threads to be scheduled (referred to as the first number for convenience) can be determined according to the number of all satellites in the satellite constellation. For example, the satellite constellation contains 10 satellites, so 10 threads need to be scheduled, that is, one thread corresponds to each satellite.

[0072] Then the first number of threads are scheduled from the thread pool to process the original data files, so as to obtain the data file (referred to as the first data file) corresponding to each satellite. For example, thread 1 processes the original data file of satellite 1 to obtain the first data file of satellite 1, thread 2 processes the original data file of satellite 2 to obtain the first data file of satellite 2, and so on.

[0073] In the embodiment of the application, the scheduling of the first number of computer threads to sort, de-duplicate and the like of the original data files to obtain the first data file corresponding to each satellite includes:

[0074] The first number of computer threads are allocated with the second data file corresponding to each satellite, so that the computer thread corresponding to each satellite sorts the original data file corresponding to each satellite according to the system week, the intra-week second and the packet sequence number of the global navigation satellite system (GNSS), to obtain the sorted original data file corresponding to each satellite;

[0075] The computer thread corresponding to each satellite de-duplicates the sorted original data file corresponding to each satellite, to obtain the first data file corresponding to each satellite.

[0076] Specifically, after determining the first number of threads, each thread can be allocated the original data file corresponding to each satellite. Since there is a time sequence of each track data of a satellite, for any thread corresponding to a satellite, the thread can sort each original data file of the satellite according to the system week, intra-week seconds and packet number of the GNSS, obtain the sorted original data file of the satellite, and then the thread can de-duplicate the sorted original data file, thereby obtaining the first data file corresponding to the satellite. In this way, the first data file corresponding to each satellite can be obtained. Through sorting and de-duplication, the order of the data structure, the accuracy and integrity of the data in the original data file are ensured.

[0077] It should be noted that a plurality of available threads are pre-set in the thread pool, and the available threads can be dispatched from the thread pool according to the needs when the original data file is processed. The total number of available threads can be set according to actual needs, and the embodiment of the present application does not limit this.

[0078] Further, each time the thread is dispatched for data processing, the dispatched thread can be released after the data processing is completed. For example, there are a total of 150 available threads in the thread pool, 10 threads are dispatched when step 102 is executed, and when the step 102 is executed to obtain each first data file, the dispatched 10 threads can be released, and at this time, the total number of available threads is 150. The subsequent processing is the same, and will not be described here.

[0079] Further, since step 102 focuses on integrating a plurality of original data files of the same satellite, when performing data processing, one thread corresponding to one satellite can be used to ensure that the data of each satellite can be efficiently and independently processed.

[0080] Step 103, based on the total number of available threads and the number of reflection channels of each satellite, determine the second number of threads that need to be dispatched for each satellite, and dispatch the second number of computer threads for each satellite to process the corresponding first data file, such as packet unpacking, scaling, observation information calculation, to obtain the second data file corresponding to each satellite.

[0081] Since each satellite includes multiple GNSS-R reflection channels, after obtaining the first data file corresponding to each satellite respectively, the number of threads (denoted as "second number") that need to be scheduled for each satellite can be determined according to the total number of available threads in the thread pool, and the number of reflection channels of each satellite, and then the second number of threads is scheduled for each satellite to process the corresponding first data file, so as to obtain the data file (denoted as "second data file") corresponding to each satellite respectively. For example, the satellite constellation contains 10 satellites, it is determined that 15 threads need to be scheduled for each satellite, that is, satellite 1 corresponds to thread 1~thread 15, satellite 2 corresponds to thread 16~thread 30, and so on. Thread 1~thread 15 processes the first data file of satellite 1, thread 16~thread 30 processes the first data file of satellite 2, and so on.

[0082] wherein the second number can be determined by the following formula:

[0083]

[0084] wherein M1 is the number of computer threads that need to be allocated for a single satellite, N is the total number of available threads, n c is the total number of reflection channels of all satellites, is the floor function, k c is the number of reflection channels of a single satellite.

[0085] Further, since step 103 focuses on the preprocessing and information extraction of GNSS-R observation waveform such as unpacking, scaling, etc., this stage takes a long time, therefore, when processing data, one satellite can correspond to multiple threads, ensuring that the data of the same reflection channel at different time periods can be efficiently and independently processed, thereby greatly improving the data processing efficiency.

[0086] Step 104, scheduling the first number of computer threads to process the orbit product inversion of each second data file, to obtain the third data file corresponding to each satellite respectively.

[0087] After obtaining each second data file, the number of threads (denoted as "third number") that need to be scheduled can be determined according to the number of all satellites in the satellite constellation. For example, the satellite constellation contains 10 satellites, so 10 threads need to be scheduled, that is, each satellite corresponds to a thread.

[0088] Then, a first number of threads are scheduled from the thread pool to perform orbit product inversion processing on each second data file, so as to obtain a data file corresponding to each satellite (denoted as a "third data file"). For example, thread 1 performs orbit product inversion processing on the second data file of satellite 1 to obtain the third data file of satellite 1, thread 2 performs orbit product inversion processing on the second data file of satellite 2 to obtain the third data file of satellite 2, and so on.

[0089] In the embodiment of the present application, the scheduling of the first number of computer threads to perform orbit product inversion processing on each second data file to obtain a third data file corresponding to each satellite comprises:

[0090] The first number of computer threads are allocated with the second data file corresponding to each satellite, so that the computer thread corresponding to each satellite performs inversion of geophysical parameters on the second data file corresponding to each satellite to obtain an inversion result corresponding to each satellite;

[0091] The computer thread corresponding to each satellite classifies and groups the inversion result corresponding to each satellite according to GNSS system types and then fuses the classified and grouped results to obtain a third data file corresponding to each satellite. The classification and grouping according to GNSS system types is based on data obtained from other satellites of the same GNSS system by the same satellite.

[0092] Specifically, each thread can be allocated with the second data file corresponding to each satellite. For any thread corresponding to any satellite, the thread can perform orbit product inversion on the second data file corresponding to the satellite to obtain an inversion result corresponding to the satellite, classify and group the inversion result according to GNSS system types, and then fuse the classified and grouped results to obtain a third data file corresponding to each satellite. In this way, a third data file corresponding to each satellite can be obtained. The classification and grouping according to GNSS system types is based on data obtained from other satellites of the same GNSS system type by the same satellite, such as satellite data of DBS (Beidou Navigation Satellite System), satellite data of GPS, and satellite data of GAL (Galileo satellite navigation system).

[0093] Since step 104 does not involve long-time data processing, one thread corresponding to one satellite can be used to perform data processing, so as to ensure that the data of each satellite can be processed efficiently and independently.

[0094] In step 105, a third number of threads needed to be scheduled for each satellite is determined based on the total number of available threads and the number of third data files, and the third number of computer threads are scheduled for each satellite to perform gridding fusion processing on the respective third data files to obtain target data files.

[0095] As mentioned above, there can be multiple original data files for each satellite, and each original data file is processed to obtain a third data file through steps 102-104, so the number of third data files is the same as the number of original data files. Therefore, after obtaining the respective third data files corresponding to each satellite, the number of threads needed to be scheduled for each satellite (referred to as a third number) can be determined according to the total number of available threads in the thread pool and the number of third data files, and then the third number of threads are scheduled for each satellite to process the corresponding third data files, thereby obtaining the final data files (referred to as target data files).

[0096] The third number is determined by the following formula:

[0097]

[0098] where M2 is the number of threads needed to be allocated for a single satellite, N is the total number of available threads, n f is the total number of third data files, is the floor function, and k f is the number of third data files.

[0099] In the embodiment of the present application, the third number of computer threads are scheduled for each satellite to perform gridding fusion processing on the respective third data files to obtain target data files, including:

[0100] The third number of computer threads are scheduled for each satellite to read the third data files of each satellite;

[0101] The third data files of all satellites are integrated to obtain integrated data files;

[0102] The integrated data files are subjected to gridding fusion processing to obtain target data files.

[0103] Specifically, when processing the respective third data files, a large number of file reading operations can be involved, so each satellite can correspond to multiple threads, and the multiple threads simultaneously read multiple third data files corresponding to the satellite to ensure the efficiency of data processing and the scalability of processing capacity.

[0104] After reading of the third data file corresponding to each satellite is completed, the third data files are integrated by single thread to obtain integrated data files, and then the integrated data files are subjected to gridding fusion processing, so that the final target data file is obtained.

[0105] For the convenience of understanding, the embodiments of the present application are described below.

[0106] Suppose that a GNSS-R satellite constellation contains 10 satellites, which are compatible with BDS, GPS and GAL navigation systems. Each satellite can receive reflected signals from 12 different GNSS satellites at the same time, i.e., each satellite has 12 reflection channels, the target time period is 1 day, there are 28 original data files for a single satellite in 1 day, and 150 threads are available in the data processing system.

[0107] The specific process is as follows:

[0108] 1) The data processing system obtains original data files of 10 satellites from each satellite ground station, a total of 280.

[0109] 2) Since there are 10 satellites in total, 10 threads need to be scheduled. Ten threads are scheduled from the thread pool, each thread processes the original data file of the corresponding satellite to obtain the first data file corresponding to each satellite, finally 280 GNSS-R first data files are generated, and then all threads are released.

[0110] 3) Since each satellite has 12 reflection channels, the total number of reflection channels of all satellites is 120. It is determined by calculation that 15 threads need to be allocated for each satellite, 150 threads are scheduled from the thread pool, and each 15 threads processes the first data file of the corresponding satellite to obtain the second data file corresponding to each satellite, finally 280 GNSS-R second data files are generated, and then all threads are released.

[0111] 4) Since there are 10 satellites in total, 10 threads need to be scheduled. Ten threads are scheduled from the thread pool, each thread inverts the geophysical parameters of the second data file of the corresponding satellite, then the inversion results are fused with the satellite data received from the same GNSS system (BDS, GPS, GAL) of the same satellite, finally 280 GNSS-R third data files are generated, and then all threads are released.

[0112] 5) Through calculation, it is determined that 15 threads need to be allocated for each star, 150 threads are scheduled from the thread pool, every 15 threads read the third data file of the corresponding satellite, after reading, the third data files are summarized and gridded through single thread, the final target data file is obtained, and then all threads are released.

[0113] In the embodiment of the application, the data processing system acquires original data files of all satellites in a GNSS-R satellite constellation; a first number of threads needed to be scheduled is determined based on the number of all satellites, and the first number of computer threads are scheduled to sort, de-duplicate, etc. the original data files to obtain a first data file corresponding to each satellite; a second number of threads needed to be scheduled for each satellite is determined based on the total number of available threads and the number of reflection channels of each satellite, and the second number of computer threads are scheduled for each satellite to perform packet unpacking, scaling, observation information calculation, etc. on the corresponding first data file to obtain a second data file corresponding to each satellite; the first number of computer threads are scheduled to process each second data file to obtain a third data file corresponding to each satellite; a third number of threads needed to be scheduled for each satellite is determined based on the total number of available threads and the number of third data files, and the third number of computer threads are scheduled for each satellite to perform gridding fusion processing on each third data file to obtain a target data file. In the above manner, the entire data processing flow is refined into four stages, each stage has a corresponding multi-thread processing strategy, and the number of multi-threads required by each stage can be flexibly adjusted by configuring a parameter file. In this way, not only the timeliness of data processing can be improved, the overall efficiency of data processing is greatly improved, but also the processing capacity can be flexibly configured and optimized through parameter adjustment of the configuration file, so that the system can easily cope with changes in data processing scale caused by the addition of new satellites and the retirement of old satellites, thereby ensuring the flexibility and scalability of processing capacity, and better meeting the data processing needs in different application scenarios.

[0114] It should be noted that for the method embodiment, in order to simply describe, it is expressed as a series of action combinations, but those skilled in the art should know that the embodiment of the application is not limited by the order of the described actions, because according to the embodiment of the application, certain steps can be performed in other order or simultaneously. Secondly, those skilled in the art should know that the embodiments described in the specification all belong to preferred embodiments, and the actions involved are not necessarily required by the embodiment of the application.

[0115] Referring to Figure 2 , a structure block diagram of an embodiment of a GNSS-R remote sensing data processing device based on computer multi-thread technology is shown, which can specifically include the following modules:

[0116] The acquisition module 201 is configured to acquire original data files of all satellites in a GNSS-R satellite constellation.

[0117] The configuration module 202 is configured to configure a first number of threads that need to be scheduled based on the number of all satellites.

[0118] The scheduling module 203 is configured to schedule the first number of computer threads to process the original data files to obtain a first data file corresponding to each satellite.

[0119] The configuration module 202 is further configured to configure a second number of threads that need to be scheduled for each satellite based on the total number of available threads and the number of reflection channels of each satellite.

[0120] The scheduling module 203 is further configured to schedule the second number of computer threads for each satellite to perform packet unpacking, calibration, observation information calculation and other processing on the corresponding first data file to obtain a second data file corresponding to each satellite.

[0121] The scheduling module 203 is further configured to schedule the first number of computer threads to perform orbit product inversion processing on each second data file to obtain a third data file corresponding to each satellite.

[0122] The configuration module 202 is further configured to configure a third number of threads that need to be scheduled for each satellite based on the total number of available threads and the number of third data files.

[0123] The scheduling module 203 is further configured to schedule the third number of computer threads for each satellite to perform gridding fusion processing on each third data file to obtain a target data file.

[0124] In the embodiment of the application, the acquisition module is specifically configured to:

[0125] acquire original data files of all satellites in the GNSS-R satellite constellation within a target time period from each satellite ground station; each satellite ground station includes the original data files of at least one satellite.

[0126] In the embodiment of the application, the scheduling module is specifically configured to:

[0127] allocate the second data file corresponding to each satellite to the first number of computer threads, so that the computer thread corresponding to each satellite sorts the original data file corresponding to each satellite according to the system week, intra-week seconds and packet number of the global navigation satellite system (GNSS) to obtain the sorted original data file corresponding to each satellite.

[0128] The computer thread corresponding to each satellite performs deduplication on the sorted original data file corresponding to each satellite, to obtain a first data file corresponding to each satellite.

[0129] In the embodiment of the present application, the configuration module is specifically configured to:

[0130] Wherein, M1 is the number of threads needed to be allocated for a single satellite, N is the total number of available threads, n c is the total number of reflection channels of all satellites, is rounded down, k c is the number of reflection channels of a single satellite.

[0131] The thread corresponding to each satellite performs packet unpacking, scaling, observation information calculation and other processing on the sorted first data file corresponding to each satellite, to obtain a second data file corresponding to each satellite. In the embodiment of the present application, the scheduling module is specifically further configured to:

[0132] The first number of computer threads are allocated with the second data file corresponding to each satellite, so that the computer thread corresponding to each satellite performs orbit product inversion on the second data file corresponding to each satellite, to obtain an inversion result corresponding to each satellite;

[0133] The computer thread corresponding to each satellite fuses the inversion result corresponding to each satellite and the data classified and grouped according to the GNSS system type, to obtain a third data file corresponding to each satellite; wherein, the GNSS system type is classified and grouped according to the data of other satellites of the same GNSS system type obtained by the same satellite.

[0134] In the embodiment of the present application, the configuration module is specifically further configured to:

[0135] Wherein, M2 is the number of computer threads needed to be allocated for a single satellite, N is the total number of available threads, n f is the number of third data files, is rounded down, k f is the number of third data files of a single satellite.

[0136] In the embodiment of the present application, the scheduling module is specifically further configured to:

[0137] The third number of computer threads are scheduled to read the third data file of each satellite for each satellite;

[0138] All third data files of the satellites are integrated to obtain an integrated data file;

[0139] Grid the integrated data file to obtain a target data file.

[0140] For the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts refer to the part of the method embodiment.

[0141] The embodiment of the application further provides an electronic device, comprising:

[0142] The computer program is stored in the memory and can be run on the processor, and when the computer program is executed by the processor, each process of the above-mentioned GNSS-R satellite constellation remote sensing data processing method based on the multi-thread technology is realized, and the same technical effect can be achieved.

[0143] The computer program is stored in the memory and can be run on the processor, and when the computer program is executed by the processor, each process of the above-mentioned GNSS-R satellite constellation remote sensing data processing method based on the multi-thread technology is realized, and the same technical effect can be achieved.

[0144] Each embodiment in the specification is described in a progressive manner, and each embodiment focuses on the difference from other embodiments, and the same and similar parts of each embodiment can be referred to.

[0145] Those skilled in the art should understand that the embodiments of the embodiments of the application can be provided as a method, device, or computer program product. Therefore, the embodiments of the application can adopt a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the embodiments of the application can adopt the form of a computer program product implemented on one or more computer usable storage media (including but not limited to disk memory, CD-ROM, optical memory, etc.) containing computer usable program code.

[0146] The embodiments of the application are described with reference to flowcharts and / or block diagrams according to the method, terminal device (system), and computer program product of the embodiments of the application. It should be understood that each flow and / or block in the flowchart and / or block diagram, and the combination of the flows and / or blocks in the flowchart and / or block diagram can be realized by computer program instructions. These computer program instructions can be provided to a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal device to produce a machine, so that the instructions executed by the computer or other programmable data processing terminal device produce a machine that implements the flowchart and / or block diagram. Figure 1 Each flow or multiple flows and / or blocks Figure 1means for performing the function specified in the block or blocks.

[0147] These computer program instructions can also be stored in a computer- readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the flow Figure 1 one or more flow diagrams and / or blocks Figure 1 means for performing the function specified in the block or blocks.

[0148] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the flow Figure 1 one or more flow diagrams and / or blocks Figure 1 means for performing the function specified in the block or blocks.

[0149] Although preferred embodiments of the application have been described, those skilled in the art will recognize that additional modifications and variations are possible in light of the above teachings. It is therefore intended that the appended claims be interpreted as including all such modifications and variations as fall within the scope of the preferred embodiments of the application.

[0150] Finally, it should be noted that the terms "comprises", "comprising", or other variations thereof are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can also include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by "comprises... a" does not, without more constraints, exclude the presence of additional identical elements in the process, method, article, or apparatus that comprises the element.

[0151] The above describes in detail the GNSS-R satellite constellation remote sensing data processing method and the GNSS-R satellite constellation remote sensing data processing device based on the multi-thread technology, the principle and the implementation mode of the present application are described by using specific examples in this paper, and the above embodiment is only used to help understand the method and the core idea of the present application; meanwhile, for the general technical personnel in the art, according to the idea of the present application, the specific implementation mode and the application range will be changed, and the above description should not be understood as the limitation of the present application.

Claims

1. A method for processing remote sensing data from a GNSS-R satellite constellation based on multi-threading technology, characterized in that, The method includes: Obtain the raw data files of all satellites in the GNSS-R satellite constellation; Based on the total number of satellites, a first number of threads to be scheduled is determined, and the first number of computer threads are scheduled to sort, deduplicate, and perform other processing on the original data file to obtain the first data file corresponding to each satellite. Based on the total number of available threads and the number of reflection channels of each satellite, a second number of threads that need to be scheduled for each satellite is determined, and the computer threads scheduled for each satellite perform processing such as packet unpacking, calibration, and observation information calculation on the corresponding first data file to obtain the second data file corresponding to each satellite. The first number of computer threads are scheduled to perform orbit product inversion processing on each of the second data files to obtain the third data file corresponding to each satellite. Based on the total number of available threads and the number of third data files, a third number of threads need to be scheduled for each satellite. The computer threads scheduled for each satellite then perform gridding and fusion processing on each third data file to obtain the target data file.

2. The GNSS-R satellite constellation remote sensing data processing method based on multi-threading technology according to claim 1, characterized in that, The process of obtaining the raw data files of all satellites in the GNSS-R satellite constellation includes: The raw data files of all satellites in the GNSS-R satellite constellation within the target time period are obtained from each satellite ground station; each satellite ground station includes the raw data file of at least one satellite.

3. The GNSS-R satellite constellation remote sensing data processing method based on multi-threading technology according to claim 1, characterized in that, The process of scheduling the first number of computer threads to sort, deduplicate, and perform other processing on the original data files to obtain a first data file corresponding to each satellite includes: The first number of computer threads are allocated a second data file corresponding to each satellite, so that the computer thread corresponding to each satellite sorts the original data file corresponding to each satellite according to the system week, week second and packet number of the Global Navigation Satellite System (GNSS) to obtain the sorted original data file corresponding to each satellite. The computer thread corresponding to each satellite deduplicates the sorted original data file for each satellite to obtain the first data file for each satellite.

4. The GNSS-R satellite constellation remote sensing data processing method based on multi-threading technology according to claim 1, characterized in that, The second quantity is determined in the following way: Where M1 is the number of computer threads that need to be allocated to a single satellite, N is the total number of available threads, and n c This represents the total number of reflection channels for all satellites. To round down, k c This refers to the number of reflection channels for a single satellite.

5. The GNSS-R satellite constellation remote sensing data processing method based on multi-threading technology according to claim 1, characterized in that, The first number of computer threads are scheduled to perform orbit product inversion processing on each of the second data files to obtain a third data file corresponding to each satellite, including: The first number of computer threads are allocated a second data file corresponding to each satellite, so that the computer thread corresponding to each satellite performs orbit product inversion on the second data file corresponding to each satellite to obtain the inversion result corresponding to each satellite. The computer thread corresponding to each satellite categorizes and groups the inversion results of each satellite according to the GNSS system type and then merges them to obtain the third data file corresponding to each satellite.

6. The GNSS-R satellite constellation remote sensing data processing method based on multi-threading technology according to claim 1, characterized in that, The third quantity is determined in the following manner: Where M2 is the number of computer threads that need to be allocated to a single satellite, N is the total number of available threads, and n f This represents the total number of third-party data files. To round down, k f This refers to the number of third data files for a single satellite.

7. The GNSS-R satellite constellation remote sensing data processing method based on multi-threading technology according to claim 1, characterized in that, The process involves scheduling the third number of computer threads for each satellite to perform gridding and fusion processing on each third data file to obtain the target data file, including: The third number of computer threads are scheduled for each satellite to read the third data file for each satellite; The third-party data files of all satellites are integrated to obtain the integrated data file; The integrated data file is then subjected to gridding and fusion processing to obtain the target data file.

8. A GNSS-R satellite constellation remote sensing data processing device based on multi-threading technology, characterized in that, The device includes: The acquisition module is used to acquire the raw data files of all satellites in the GNSS-R satellite constellation; The configuration module is used to configure the initial number of threads to be scheduled based on the total number of satellites. The scheduling module is used to schedule the first number of computer threads to process the original data file to obtain the first data file corresponding to each satellite. The configuration module is also used to configure a second number of threads to be scheduled for each satellite based on the total number of available threads and the number of reflection channels for each satellite. The scheduling module is also used to schedule the second number of computer threads for each satellite to perform processing such as packet unpacking, calibration, and observation information calculation on the corresponding first data file, so as to obtain the second data file corresponding to each satellite. The scheduling module is also used to schedule the first number of computer threads to perform orbit product inversion processing on each second data file to obtain the third data file corresponding to each satellite. The configuration module is also used to configure the third number of threads to be scheduled for each satellite based on the total number of available threads and the number of third data files; The scheduling module is also used to schedule the third number of computer threads for each satellite to perform gridding and fusion processing on each third data file to obtain the target data file.

9. The GNSS-R satellite constellation remote sensing data processing device based on multi-threading technology according to claim 8, characterized in that, The acquisition module is specifically used for: The raw data files of all satellites in the GNSS-R satellite constellation within the target time period are obtained from each satellite ground station; each satellite ground station includes the raw data file of at least one satellite.

10. The GNSS-R satellite constellation remote sensing data processing device based on multi-threading technology according to claim 8, wherein the scheduling module is specifically used for: The first number of computer threads are allocated a second data file corresponding to each satellite, so that the computer thread corresponding to each satellite sorts the original data file corresponding to each satellite according to the system week, week second and packet number of the Global Navigation Satellite System (GNSS) to obtain the sorted original data file corresponding to each satellite. The computer thread corresponding to each satellite deduplicates the sorted original data file for each satellite to obtain the first data file for each satellite.

11. The GNSS-R satellite constellation remote sensing data processing device based on multi-threading technology according to claim 8, wherein the configuration module is specifically used for: in, M1 represents the number of computer threads needed to be allocated for a single satellite, and N represents the total number of available threads. c This represents the total number of reflection channels for all satellites. To round down, k c This refers to the number of reflection channels for a single satellite.

12. The GNSS-R satellite constellation remote sensing data processing device based on multi-threading technology according to claim 8, wherein the scheduling module is further configured to: The first number of computer threads are allocated a second data file corresponding to each satellite, so that the computer thread corresponding to each satellite performs orbit product inversion on the second data file corresponding to each satellite to obtain the inversion result corresponding to each satellite. The computer thread corresponding to each satellite categorizes and groups the inversion results of each satellite according to the GNSS system type and then merges them to obtain the third data file corresponding to each satellite.

13. The GNSS-R satellite constellation remote sensing data processing device based on multi-threading technology according to claim 8, wherein the configuration module is further configured to: in, M2 represents the number of computer threads needed to be allocated for a single satellite, and N represents the total number of available threads. f This represents the total number of third-party data files. To round down, k f This refers to the number of third data files for a single satellite.

14. The GNSS-R satellite constellation remote sensing data processing device based on multi-threading technology according to claim 8, wherein the scheduling module is further configured to: The third number of computer threads are scheduled for each satellite to read the third data file for each satellite; The third-party data files of all satellites are integrated to obtain the integrated data file; The integrated data file is then subjected to gridding and fusion processing to obtain the target data file.

15. An electronic device, characterized in that, include: A processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program, when executed by the processor, implements the steps of the GNSS-R satellite constellation remote sensing data processing method based on multi-threading technology as described in any one of claims 1 to 7.

16. A computer-readable storage medium, characterized in that, A computer program is stored on the computer-readable storage medium, and when executed by a processor, the computer program implements the steps of the GNSS-R satellite constellation remote sensing data processing method based on multi-threading technology as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Relevant processing device of satellite-bone phased array GNSS-R ocean remote sensing

    CN103558585A

  • Method and device for optimizing selection of reflection signals of multimode GNSS-R (Global Navigation Satellite System-Receiver) receiver

    CN117348045A