Data processing method and device based on satellite solid memory partition, electronic equipment and storage medium
Through the data processing method based on the on-star fixed partition, the download and upload tasks of satellite data are optimized, and the inefficiency problem in the existing technology is solved, and efficient resource utilization and data transmission are maximized.
Patent Information
- Application Number
- CN202411742224.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-29
- Publication Date
- 2025-04-15
AI Technical Summary
In the prior art, satellite data download and upload tasks are usually performed sequentially, resulting in low efficiency and serious waste of resources.
The data processing method based on the fixed memory partition on the star is adopted, and the time slice communication diagram is determined by traversing the time slice, updating the satellite information, and determining the time slice communication diagram, and computing the target link set and traffic configuration based on the multi-source and multi-sink maximum flow algorithm. According to the fixed memory ratio sorting of the fixed memory partition, the target digital transmission arc segment and the digital transmission arc segment to be used are determined, and the data transmission sequence is optimized.
It has achieved the maximization of the download and upload traffic of satellite data, rationally utilized resources, and improved data transmission efficiency.
Smart Images

Figure CN119829675A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of satellite data processing technology, and in particular to a data processing method, device, electronic equipment and storage medium based on on-board fixed storage partitions. Background Art
[0002] Remote sensing satellites use onboard sensors to obtain ground image information. They have the advantages of wide coverage area, long duration, and no restrictions on airspace or national boundaries. They have important applications in maritime search and rescue, disaster relief, and environmental monitoring. With the increase in the number of remote sensing satellites and the expansion of their application scope, the need for mission planning has become increasingly urgent. Traditional methods mainly rely on manual experience, but are constrained by complex constraints and it is difficult to quickly generate efficient shooting plans. In recent years, methods such as heuristic algorithms, linear programming, and artificial intelligence have made significant progress in mission planning, providing new ideas for achieving efficient and automated satellite shooting mission planning. This is of great significance in improving the efficiency of remote sensing data acquisition, meeting the needs of remote sensing data in multiple fields, reducing operating costs, and supporting rapid response and emergency monitoring.
[0003] The data acquired by the satellite needs to be transmitted in a timely manner, and the applications on the satellite also need to upload update tasks from the ground to update the applications. The data download and update upload tasks of the existing technology are usually executed sequentially, resulting in low data download and upload efficiency and waste of resources. Summary of the invention
[0004] In order to solve the above problems existing in the prior art, the present invention provides a data processing method, device, electronic device and storage medium based on on-board storage partitioning. The technical problem to be solved by the present invention is achieved through the following technical solutions:
[0005] A first aspect of an embodiment of the present invention provides a data processing method based on on-board storage partitions, comprising the following steps:
[0006] Execute the steps of traversing the time slice: traverse each time slice, update the data of the current time slice, and then obtain the satellite information under the current time slice;
[0007] Determine a time slice communication diagram according to the satellite information;
[0008] Calculate the target link set of the time slice communication graph and the flow configuration of each target link based on the multi-source multi-sink maximum flow algorithm;
[0009] Traversing each target link in the target link set, determining the target data volume and target storage partition consumed by the planned task of the target satellite at the starting point or the end point of the current target link according to the task type;
[0010] According to the descending order of the storage ratio of the target storage partition and the task type, the target data transmission arc segment and the data transmission arc segment to be used are determined, and the step of executing the traversal time slice is returned.
[0011] In one embodiment of the present invention, traversing each target link in the target link set and determining the target data volume and target storage partition consumed by the target satellite at the starting point or end point of the current target link according to the task type, includes:
[0012] Execute the step of traversing the target link: traverse each target link in the target link set to determine the target satellite of the starting point or the end point of the current target link;
[0013] According to the task type, the target task to be planned corresponding to the task type in the satellite information of the target satellite and the target data volume consumed, the initial target arc segment and the target storage partition are determined.
[0014] In one embodiment of the present invention, determining the target data transmission arc segment and the data transmission arc segment to be used according to the descending order of the fixed storage ratio of the target fixed storage partition and the task type includes:
[0015] The step of performing a task traversal is to traverse each target task to be planned, and determine a storage ratio of a target storage partition where target data consumed by the target task to be planned is located;
[0016] Traversing each of the target storage partitions according to the descending order of the storage ratios of the target storage partitions, and determining a target data transmission arc segment of the target storage partition in the initial target arc segment based on the task type;
[0017] Determine the stock target data transmission arc segment and the unused target data transmission arc segment of the current target storage partition according to the storage ratio of the target data transmission arc segment and the current target storage partition;
[0018] Dividing the existing target data transmission arc segments to determine unoccupied data transmission arc segments, the unoccupied data transmission arc segments and the unused target data transmission arc segments being used as the data transmission arc segments to be used;
[0019] Determine whether the remaining data volume of the target data volume of the current target task to be planned is 0;
[0020] If so, return to the step of executing the traversal task.
[0021] In one embodiment of the present invention, determining the target data transmission arc segment of the target persistent storage partition in the initial target arc segment based on the task type includes:
[0022] When the task type is software update, the initial target arc segment is traversed, and the initial target arc segment overlapping with the execution time period of the current target task to be planned is determined as the target data transmission arc segment of the target persistent storage partition.
[0023] In one embodiment of the present invention, determining the target data transmission arc segment of the target persistent storage partition in the initial target arc segment based on the task type includes:
[0024] When the task type is an instant download task or a scheduled download task, execute the step of traversing the arc segment: traverse the initial target arc segment, and determine in the initial target arc segment that the start time of the initial target arc segment is greater than the execution end time of the imaging task as the target data transmission arc segment of the target storage partition.
[0025] In one embodiment of the present invention, the step of determining the existing target data transmission arc segments and the unused target data transmission arc segments of the current target storage partition according to the storage ratio of the target data transmission arc segments and the current target storage partition includes:
[0026] Determine whether the processable data volume of the target data transmission arc segment is greater than or equal to the partition to-be-processed data volume of the current target storage partition; wherein the partition to-be-processed data volume is calculated based on the storage ratio of the current target storage partition;
[0027] If not, update the amount of data to be processed of the partition of the current target storage partition, add the current target data transmission arc segment to the occupied list, and return to the step of executing the traversal arc segment until the amount of data that can be processed by the current target data transmission arc segment is greater than or equal to the updated amount of data to be processed of the current target storage partition;
[0028] If yes, add the current target data transmission arc segment to the occupied list.
[0029] According to the occupied list, the existing target data transmission arc segments and the unused target data transmission arc segments are determined in the target data transmission arc segments of the current target persistent storage partition.
[0030] In one embodiment of the present invention, dividing the existing target data transmission arc segments to determine unoccupied data transmission arc segments includes:
[0031] Determine whether the unoccupied data transmission arc segment of the existing target data transmission arc segment is greater than a preset time length;
[0032] If it is greater, the existing target data transmission arc segments are divided to determine the unoccupied data transmission arc segments.
[0033] A second aspect of an embodiment of the present invention provides a data processing device based on on-board fixed storage partitions, including:
[0034] The traversal update module is used to execute the steps of traversing the time slice: traversing each time slice, updating the data of the current time slice and obtaining the satellite information under the current time slice;
[0035] A determination module, used to determine a time slice communication diagram according to the satellite information;
[0036] A calculation module, used for calculating the target link set of the time slice communication graph and the flow configuration of each target link based on a multi-source multi-sink maximum flow algorithm;
[0037] A traversal determination module, used to traverse each target link in the target link set, and determine the target data volume and target storage partition consumed by the planned task of the target satellite at the starting point or end point of the current target link according to the task type;
[0038] A determination return module is used to determine the target data transmission arc segment and the data transmission arc segment to be used according to the descending order of the storage ratio of the target storage partition and the task type, and return to the step of executing the traversal time slice.
[0039] A third aspect of an embodiment of the present invention provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, a data processing method based on on-board solid storage partitioning provided by the first aspect of an embodiment of the present invention is implemented.
[0040] A fourth aspect of an embodiment of the present invention provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the computer program implements a data processing method based on on-board solid storage partitioning provided by the first aspect of an embodiment of the present invention.
[0041] Beneficial effects of the present invention:
[0042] The present invention calculates the target link set of the time slice communication graph based on the multi-source multi-sink maximum flow algorithm, and can obtain the set of links with the maximum flow from each satellite to the ground station it is to reach or from the ground station to each satellite to be uploaded in the current time slice, so as to ensure the maximum flow of downlink and upload data. At the same time, the order of uploading or downloading data is planned according to the storage ratio of the storage partition, so as to reasonably use resources.
[0043] Other features and advantages of the present invention will be described in the following description, and partly become apparent from the description, or understood by practicing the present invention. The purpose and other advantages of the present invention can be realized and obtained by the structures particularly pointed out in the written description, claims, and drawings.
[0044] The technical solution of the present invention is further described in detail below through the accompanying drawings and embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] The accompanying drawings are used to provide a further understanding of the present invention and constitute a part of the specification. Together with the embodiments of the present invention, they are used to explain the present invention and do not constitute a limitation of the present invention. In the accompanying drawings:
[0046] Figure 1 A schematic flow chart of a data processing method based on on-board storage partitions provided by an embodiment of the present invention;
[0047] Figure 2 A block diagram of a data processing device based on on-board persistent storage partitions provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0048] The present invention is further described in detail below with reference to specific embodiments, but the embodiments of the present invention are not limited thereto.
[0049] like Figure 1 As shown, a first aspect of an embodiment of the present invention provides a data processing method based on on-board storage partitions, comprising the following steps:
[0050] Step 11, traverse each time slice, update the data of the current time slice and obtain the satellite information under the current time slice.
[0051] Step 12, determining a time slice communication diagram based on satellite information.
[0052] Step 13, based on the multi-source multi-sink maximum flow algorithm, calculate the target link set of the time slice communication graph and the flow configuration of each target link.
[0053] Step 14, traverse each target link in the target link set, and determine the target data volume and target storage partition consumed by the planned task of the target satellite at the starting point or end point of the current target link according to the task type.
[0054] Step 15, determine the target data transmission arc segment and the data transmission arc segment to be used according to the descending order of the storage ratio of the target storage partition and the task type, and return to step 11 until all time slices are traversed.
[0055] In this embodiment, by calculating the target link set of the time slice communication graph based on the multi-source multi-sink maximum flow algorithm, the set of links with the maximum flow from each satellite to the ground station it is to reach or from the ground station to each satellite to be uploaded in the current time slice can be obtained to ensure the maximum flow of downlink and upload data. At the same time, the order of uploading or downloading data is planned according to the storage ratio of the storage partition to make rational use of resources.
[0056] A second aspect of an embodiment of the present invention provides a data processing method based on on-board storage partitions, which is applied to an instant download task and a scheduled download task, and is a download task for transmitting data from a satellite to a ground station, comprising the following steps:
[0057] Step 21, traverse each time slice, update the data of the current time slice and obtain the satellite information under the current time slice.
[0058] The data transmission planning cycle is divided into multiple time slices. The satellite inter-satellite topology remains approximately unchanged in each time slice. The starting point is the satellite and the end point is the ground station. The intermediate transmission is inter-satellite transmission. It is necessary to ensure that as much data as possible is transmitted to the ground in one time slice. The inter-satellite links in each time slice are different. There are multiple inter-satellite links from a certain satellite to a certain ground station. In each time slice, for the remote sensing data of each satellite, starting from the satellite, the path with the largest available capacity is selected to transmit the remote sensing data to the ground station, so that the satellite data download volume is maximized in all time slices.
[0059] Limitation of link capacity: The flow size of each link is calculated based on the minimum capacity of the link. The capacity of each intersatellite link is calculated based on the lowest capacity value between nodes on the link. The communication bandwidth of satellites is different, and the communication bandwidth between two satellites depends on the one with the smaller bandwidth. The capacity value of each link is given.
[0060] Specifically, traverse the i-th time slice. If the i-th time slice is not the first time slice, the calculation result of the i-1-th time slice needs to be updated to the i-th time slice, such as the amount of data remaining in the i-1-th time slice that has not been downloaded. After updating the data, obtain all the information of the satellite under the current time slice, including but not limited to the satellite ID, the task to be planned (immediate download task), the initial target arc (classified by satellite and ground station), the storage ratio of each storage partition, etc. Different task types have their own multiple initial target arcs, corresponding to their own initial target arc lists.
[0061] Step 22, determining a time slot communication graph according to the satellite information. In this step, the time slot communication graph is a topological relationship graph formed by all communication links between the satellite and the ground station in the current time slot.
[0062] Step 23, based on the multi-source multi-sink maximum flow algorithm, calculate the target link set of the time slice communication graph and the flow configuration of each target link.
[0063] There are M remote sensing satellites and N ground stations. Each satellite has a remote sensing mission, and the remote sensing mission generates remote sensing data. M satellites can form intersatellite links. The remote sensing data on a certain satellite reaches a certain ground station in two ways: the satellite directly reaches the ground station, and the satellite transmits the remote sensing data to the ground station through other satellites. Since the connection method of each satellite with other satellites changes every 5 minutes, the intersatellite links in each time slice are different. There are multiple intersatellite links for a certain satellite to reach a certain ground station. It is necessary to allocate the data transmission link of each satellite and the link bandwidth to maximize the total amount of remote sensing data downlink. Therefore, based on the multi-source multi-sink maximum flow algorithm, the target link set of the time slice communication graph and the traffic configuration of each target link are calculated. The target link in the target link set is the maximum traffic link from each satellite to the ground station.
[0064] In a feasible implementation, the main process of the multi-source multi-sink maximum flow algorithm is: the satellite is used as the source node and the ground station is used as the sink node. A new super sink node 'Super Sink' is created, and each sink node in the original graph is connected to this super sink node. Similarly, the capacity of each edge is set to infinity. The communication graph of the composition calculation. The multi-source multi-sink maximum flow specifically adopts the Edmonds-Karp algorithm, which is a specific implementation of the Ford-Fulkerson method and uses breadth-first search (BFS) to find augmenting paths. The time complexity of the Edmonds-Karp algorithm is O(VE2), where V is the number of vertices and E is the number of edges.
[0065] Among them, for the link bandwidth of the gateway station and the tracking and control station, a larger bandwidth is selected from the two link bandwidths; and because there is a minimum bandwidth for the intersatellite link, a minimum value is selected between the maximum bandwidth and the minimum bandwidth of the intersatellite link as the final fixed bandwidth of the intersatellite link, and the link flow in the multi-source and multi-sink maximum flow calculation is calculated with a fixed bandwidth.
[0066] Step 24, traverse each target link in the target link set, and determine the target data volume and target storage partition of the target satellite at the starting point of the current target link according to the task type. The specific steps of step 24 include step 241-step 242:
[0067] Step 241, traverse each target link in the target link set, and determine the target satellite of the starting point of the current target link.
[0068] In this step, the starting satellite of the current target link is found, which is the target satellite, and the data transmission rate (traffic configuration) of the current target link is determined. The data transmission rate is the fixed bandwidth mentioned above. Here, if the data transmission rate is 0, the target sprocket is skipped and the next target link is traversed.
[0069] Step 242, determining the target to-be-planned task corresponding to the task type in the satellite information of the target satellite and the target data volume to be downloaded, the initial target arc segment and the target storage partition according to the task type.
[0070] In this step, after determining the target satellite of the starting point, all satellite information of the target satellite is found. The task type of this embodiment is an instant download task. In the tasks to be planned of the satellite information, an instant download task is found according to the type of task, that is, the target task to be planned. The number of instant download tasks is one or more, as well as the target data volume to be downloaded, the corresponding initial target arc segment that can be used, and the multiple target storage partitions where the data to be downloaded by the instant download task is stored (the data to be downloaded may be stored in one or more storage partitions).
[0071] Step 25, determine the target data transmission arc segment and the data transmission arc segment to be used according to the descending order of the storage ratio of the target storage partition and the task type, and return to step 21 until all time slices are traversed.
[0072] The specific steps of step 25 include step 251 to step 257:
[0073] Step 251, traverse each target task to be planned, and determine the storage ratio of the target storage partition where the target data to be downloaded by the target task to be planned is located. In this step, after finding the instant download task, traverse each instant download task, and calculate the storage ratio of each target storage partition, which is the ratio of the amount of stored data to the total capacity of the storage partition.
[0074] Step 252: traverse each target storage partition according to the descending order of the storage ratio of the target storage partition, and determine the target data transmission arc segment of the target storage partition in the initial target arc segment based on the task type.
[0075] The specific steps of step 252 include step A1-step A2:
[0076] Step A1, sorting all target storage partitions in descending order according to the storage ratios of the target storage partitions.
[0077] Step A2, traverse the target storage partitions from large to small in descending order of the storage ratio.
[0078] Step A3, for the i-th target storage partition, traverse the initial target arc segment, and determine the initial target arc segment whose start time is greater than the execution end time of the imaging task as the target data transmission arc segment of the target storage partition. The data generated after the imaging task is completed is the data to be downloaded by the instant download task and the scheduled download task. Therefore, the target data transmission arc segment here is the arc segment after the imaging task is completed, which is used to download data.
[0079] Step 253, determining the stock target data transmission arc segments and unused target data transmission arc segments of the current target storage partition according to the storage ratio of the target data transmission arc segments and the current target storage partition. The specific steps of step 253 include steps B1 to B3:
[0080] Step B1, when traversing the initial target arc segment in step A3, the i-th target data transmission arc segment is found, and it is determined whether the downloadable data volume of the current target data transmission arc segment is greater than or equal to the partition to be downloaded data volume of the current target persistent storage partition.
[0081] The amount of data to be downloaded in the partition is calculated based on the storage ratio of the current target storage partition. The amount of data to be downloaded in the partition is the amount of stored data minus the sum of the downloadable data of the previous i-1 target data transmission arcs. The amount of stored data is calculated based on the storage ratio and the total capacity of the storage partition.
[0082] In this step, the downloadable data volume of the target data transmission arc segment can be calculated according to the data transmission rate and the duration of the arc segment.
[0083] Step B2: If not, update the amount of data to be downloaded of the current target storage partition, add the current target data transmission segment to the occupied list, and return to step A3 until the amount of downloadable data of the current target data transmission segment is greater than or equal to the amount of data to be downloaded of the current target storage partition.
[0084] If it is less than, it means that the current target data transmission arc segment and the previous target data transmission arc segment are not enough to download the data of the fixed storage partition. The sum of the downloadable data volume of the i target data transmission arc segments is calculated, and the difference between the sum and the stored data volume is the updated data volume to be downloaded. After the update, the current target data transmission arc segment is added to the occupied list, and the next initial target arc segment is traversed.
[0085] When the amount of downloadable data of the current target data transmission arc segment is greater than or equal to the updated amount of data to be downloaded of the current target storage partition, it means that there are enough arc segments to download all the data, and the amount of data to be downloaded is 0. The step of traversing the initial arc segment is ended, and the target data transmission arc segment is also added to the occupied list.
[0086] Here, data download of the target persistent storage partition is performed according to the arc segments in the occupied list.
[0087] Step B3: determining the existing target data transmission arc segments and the unused target data transmission arc segments in the target data transmission arc segments of the current target persistent storage partition according to the occupied list.
[0088] In this step, in the target data transmission arc of the current target storage partition, except for the arcs in the occupied list, the remaining arcs are unused target data transmission arcs. The last arc in the occupied list is the stock target data transmission arc. The entire duration of the arcs before the last arc is used to download data. The last stock target data transmission arc is the remaining amount of data to be downloaded. Only part of the duration of this arc is needed to complete the download. The arc still has the remaining duration.
[0089] Step 254, divide the existing target data transmission arc segments, determine the unoccupied data transmission arc segments, and use the unoccupied data transmission arc segments and the unused target data transmission arc segments as the data transmission arc segments to be used.
[0090] In this step, the time required for downloading to complete (used time) is subtracted from the existing target data transmission segment to obtain the unoccupied data transmission segment, and it is determined whether the unoccupied data transmission segment is greater than the preset time. If so, the occupied segment is cut, and the remaining unoccupied data transmission segment is returned to the next storage partition as the data transmission segment to be used, and the process returns to step A2 until all target storage partitions are traversed. The data transmission segment to be used is added to the standby list, and the unreserved segments in the standby list are sorted first, and the reserved segments are sorted last, and then sorted in descending order according to the segment score.
[0091] If the unoccupied data transmission segment is less than the preset time length, no segmentation is performed and updated data is returned. The updated data includes the occupied list, unused target data transmission segments, the amount of data to be downloaded, etc. Return to step A2 until all target storage partitions are traversed and the updated data is returned.
[0092] In a feasible implementation, the arc score is calculated by: the length of the arc and its weight, the weight of whether the arc is reserved, the elevation angle of the arc and its weight, and the weight of the time of the arc to determine the arc score. Specifically:
[0093] Evaluating_values=A*dt+appointedBonus+B*maxE+daytimeBouns.
[0094] Here, Evaluating_values indicates the arc score, dt indicates the length of the arc, the weight of the arc length A is 1000, the longest arc does not exceed 10 minutes, appointedBonus indicates whether the arc is scheduled, if not, the weight is 2000, otherwise it is 0. Max indicates the elevation of the arc, the weight of the highest elevation is 500, and daytimeBouns indicates the weight of whether it is during the day, the weight is 1500 during the day (the start time of the arc is between 9:00 and 18:00), otherwise it is 0.
[0095] Step 255, determine whether the remaining data volume of the target data volume of the current target task to be planned is 0. After the traversal of all current target persistent storage partitions is completed, determine whether the remaining data volume of the target data volume of the current target task to be planned is 0.
[0096] Step 256, if yes, return to step 251 and traverse the next target task to be planned.
[0097] Step 257, after all the target tasks to be planned are traversed, return to step 241, until all the links are traversed, return to step 21.
[0098] On the basis of the second aspect of the embodiment of the present invention, the third aspect of the embodiment of the present invention provides a data processing method based on on-board persistent storage partitions, comprising the following steps:
[0099] Step 31, after the traversal of all instant download tasks under all time slices is completed, the occupied target data transmission arc segments are deleted under the corresponding satellite, and the arc segments before the first scheduled download task are deleted. The remaining arc segments are used as the initial target arc segments of the scheduled download task and are classified according to the ground station.
[0100] Step 32, at this time, the task type is a scheduled download task and the data to be downloaded needs to be downloaded. The specific process is the same as the process of steps 21 to 25, the only difference is the type of task and the data to be downloaded are different.
[0101] A fourth aspect of an embodiment of the present invention provides a data processing method based on on-board storage partitions, which is applied to a software update task, that is, an upload update task of uploading data from a ground station to a satellite, comprising the following steps:
[0102] Step 41, traverse each time slice, update the data of the current time slice and obtain the satellite information under the current time slice.
[0103] The data transmission planning cycle is divided into multiple time slices. The satellite inter-satellite topology remains approximately unchanged in each time slice. The starting point is the satellite and the end point is the ground station. The intermediate transmission is inter-satellite transmission. It is necessary to ensure that as much data as possible is transmitted to the ground in one time slice. The inter-satellite links in each time slice are different. There are multiple inter-satellite links from a certain satellite to a certain ground station. In each time slice, for the remote sensing data of each satellite, starting from the satellite, the path with the largest available capacity is selected to transmit the remote sensing data to the ground station, so that the satellite data flow is maximized in all time slices.
[0104] Limitation of link capacity: The flow size of each link is calculated based on the minimum capacity of the link. The capacity of each intersatellite link is calculated based on the lowest capacity value between nodes on the link. The communication bandwidth of satellites is different, and the communication bandwidth between two satellites depends on the one with the smaller bandwidth. The capacity value of each link is given.
[0105] Specifically, traverse the i-th time slice. If the i-th time slice is not the first time slice, the calculation result of the i-1th time slice needs to be updated to the i-th time slice, such as the amount of data remaining in the i-1th time slice that has not been updated. After updating the data, obtain all the information of the satellite under the current time slice, including but not limited to the satellite ID, the task to be planned (software update task), the initial target arc (classified by satellite and ground station), the storage ratio of each storage partition, etc. Different task types have their own multiple initial target arcs, corresponding to their own initial target arc lists.
[0106] Step 42, determining a time slot communication graph according to the satellite information. In this step, the time slot communication graph is a topological relationship graph formed by all communication links between the satellite and the ground station in the current time slot.
[0107] Step 43, calculating the target link set of the time slice communication graph and the flow configuration of each target link based on the multi-source multi-sink maximum flow algorithm.
[0108] There are M remote sensing satellites and N ground stations. Each satellite has a remote sensing mission, and the remote sensing mission generates remote sensing data. M satellites can form intersatellite links. The remote sensing data on a certain satellite reaches a certain ground station in two ways: the satellite directly reaches the ground station, and the satellite transmits the remote sensing data to the ground station through other satellites. Since the connection method between each satellite and other satellites changes every 5 minutes, the intersatellite links in each time slice are different. A certain satellite reaches a certain ground station through multiple intersatellite links. It is necessary to allocate the data transmission link of each satellite and the link bandwidth to maximize the total amount of remote sensing data downlink. Therefore, based on the multi-source multi-sink maximum flow algorithm, the target link set of the time slice communication graph and the traffic configuration of each target link are calculated. The target link in the target link set is the maximum traffic link from each satellite to the ground station.
[0109] In a feasible implementation, the main process of the multi-source multi-sink maximum flow algorithm is: the satellite is used as the source node and the ground station is used as the sink node. A new super sink node 'Super Sink' is created, and each sink node in the original graph is connected to this super sink node. Similarly, the capacity of each edge is set to infinity. The communication graph of the composition calculation. The multi-source multi-sink maximum flow specifically adopts the Edmonds-Karp algorithm, which is a specific implementation of the Ford-Fulkerson method and uses breadth-first search (BFS) to find augmenting paths. The time complexity of the Edmonds-Karp algorithm is O(VE2), where V is the number of vertices and E is the number of edges.
[0110] Among them, for the link bandwidth of the gateway station and the tracking and control station, a larger bandwidth is selected from the two link bandwidths; and because there is a minimum bandwidth for the intersatellite link, a minimum value is selected between the maximum bandwidth and the minimum bandwidth of the intersatellite link as the final fixed bandwidth of the intersatellite link, and the link flow in the multi-source and multi-sink maximum flow calculation is calculated with a fixed bandwidth.
[0111] Step 44, traverse each target link in the target link set, and determine the target data volume and target storage partition of the target satellite at the end point of the current target link according to the task type. The specific steps of step 44 include step 441-step 442:
[0112] Step 441, traverse each target link in the target link set to determine the target satellite of the end point of the current target link.
[0113] In this step, the destination satellite of the current target link is found, which is the target satellite, and the data transmission rate (traffic configuration) of the current target link is determined. The data transmission rate is the fixed bandwidth mentioned above. Here, if the data transmission rate is 0, the target sprocket is skipped and the next target link is traversed.
[0114] Step 442, determining the target to-be-planned task corresponding to the task type in the satellite information of the target satellite and the target data volume to be uploaded, the initial target arc segment and the target storage partition according to the task type.
[0115] In this step, after determining the target satellite of the end point, all satellite information of the target satellite is found. The task type of this embodiment is a software update task. Among the tasks to be planned in the satellite information, the software update task is found according to the type of task, that is, the target task to be planned. The number of software update tasks is one or more, as well as the target data volume to be uploaded, the corresponding initial target arc segment that can be used, and the multiple target storage partitions where the data to be uploaded by the software update task needs to be stored (the data to be uploaded may need to be stored in one or more storage partitions).
[0116] Step 45, determine the target data transmission arc segment and the data transmission arc segment to be used according to the descending order of the storage ratio of the target storage partition and the task type, and return to step 41 until all time slices are traversed.
[0117] The specific steps of step 45 include step 451 to step 457:
[0118] Step 451, traverse each target task to be planned, and determine the storage ratio of the target storage partition where the target data to be uploaded by the target task to be planned is located. In this step, after finding the software update task, traverse each software update task and calculate the storage ratio of each target storage partition. The storage ratio is the ratio of the amount of stored data to the total capacity of the storage partition.
[0119] Step 452: traverse each target storage partition according to the descending order of the storage ratio of the target storage partition, and determine the target data transmission arc segment of the target storage partition in the initial target arc segment based on the task type.
[0120] The specific steps of step 452 include step C1-step C2:
[0121] Step C1, sorting all target storage partitions in descending order according to the storage ratios of the target storage partitions.
[0122] Step C2, traverse the target storage partitions from large to small in descending order of the storage ratio.
[0123] Step C3: for the i-th target persistent storage partition, traverse the initial target arc segments, and determine the initial target arc segment overlapping with the execution time period of the current target task to be planned in the initial target arc segments as the target data transmission arc segment of the target persistent storage partition.
[0124] Here, the ways of overlapping with the execution time period of the target task to be planned include overlapping before and after the initial target arc segment and the execution time period, overlapping after the initial target arc segment and the execution time period, and overlapping after the execution time period. The initial target arc segment includes the execution time period, and the execution time period includes the initial target arc segment. The overlapping part is retained and the non-overlapping part is removed to obtain a target data transmission arc segment list.
[0125] Step 453, determining the stock target data transmission arc segments and unused target data transmission arc segments of the current target storage partition according to the storage ratio of the target data transmission arc segments and the current target storage partition. The specific steps of step 453 include steps D1 to D3:
[0126] Step B1, traverse the target data transmission arc segment, and determine whether the uploadable data volume of the current target data transmission arc segment is greater than or equal to the partition to-be-uploaded data volume of the current target persistent storage partition.
[0127] The amount of data to be uploaded in the partition is calculated based on the storage ratio of the current target storage partition. The amount of data to be uploaded in the partition is the amount of unstored data minus the sum of the uploadable data of the previous i-1 target data transmission arcs. The amount of unstored data is calculated based on the storage ratio and the total capacity of the storage partition.
[0128] In this step, the uploadable data volume of the target data transmission arc segment can be calculated according to the data transmission rate and the duration of the arc segment.
[0129] Step B2, if not, update the amount of data to be uploaded of the current target storage partition, add the current target data transmission segment to the occupied list, and return to step A3 until the amount of data that can be uploaded of the current target data transmission segment is greater than or equal to the amount of data to be uploaded of the current target storage partition.
[0130] If it is less than, it means that the current target data transmission arc segment and the previous target data transmission arc segment are not enough to occupy the total capacity of the fixed storage partition. The sum of the uploadable data volume of the i target data transmission arc segments is calculated, and the difference between the sum and the unstored data volume is the updated data volume to be uploaded. After the update, the current target data transmission arc segment is added to the occupied list, and the next target data transmission arc segment is traversed.
[0131] When the uploadable data volume of the current target data transmission arc segment is greater than or equal to the updated data volume to be uploaded of the current target storage partition, it means that there are enough arc segments to upload all the data, then the data volume to be uploaded is 0, and the step of traversing the target data transmission arc segment is ended, and the target data transmission arc segment is also added to the occupied list.
[0132] Here, data uploading of the target persistent storage partition is performed according to the arc segments in the occupied list.
[0133] Step B3: determining the existing target data transmission arc segments and the unused target data transmission arc segments in the target data transmission arc segments of the current target persistent storage partition according to the occupied list.
[0134] In this step, in the target data transmission arc of the current target storage partition, except for the arcs in the occupied list, the remaining arcs are unused target data transmission arcs. The last arc in the occupied list is the stock target data transmission arc. The entire duration of the arcs before the last arc is used to upload data. The last stock target data transmission arc is the remaining amount of data to be uploaded. Only part of the duration of this arc is needed to upload the data. The arc still has the remaining duration.
[0135] Step 454, divide the existing target data transmission arc segments, determine the unoccupied data transmission arc segments, and use the unoccupied data transmission arc segments and the unused target data transmission arc segments as the data transmission arc segments to be used.
[0136] In this step, the time required for uploading to be completed (used time) is subtracted from the existing target data transmission arc segment to obtain the unoccupied data transmission arc segment, and it is determined whether the unoccupied data transmission arc segment is greater than the preset time. If it is, the occupied arc segment is divided, and the remaining unoccupied data transmission arc segment. The unoccupied data transmission arc segment and the unused target data transmission arc segment are returned to the next storage partition as the data transmission arc segment to be used, and the process returns to step A2 until all target storage partitions are traversed. The data transmission arc segment to be used is added to the standby list, with the unreserved arc segment sorted first and the reserved arc segment sorted last, and then sorted in descending order according to the arc segment score.
[0137] If the unoccupied data transmission arc segment is less than the preset time length, no segmentation is performed and updated data is returned. The updated data includes the occupied list, unused target data transmission arc segments, the amount of data to be uploaded, etc. Return to step A2 until all target persistent storage partitions are traversed and the updated data is returned.
[0138] Step 455, determine whether the remaining data volume of the target data volume of the current target task to be planned is 0. After the traversal of all current target persistent storage partitions is completed, determine whether the remaining data volume of the target data volume of the current target task to be planned is 0.
[0139] Step 456: If yes, return to step 451 and traverse the next target task to be planned.
[0140] Step 457, after all the target tasks to be planned are traversed, return to step 441, until all the links are traversed, return to step 41.
[0141] The above three aspects are implemented under the following constraints:
[0142] (1) Assume that the bandwidth value of each intersatellite link in each time segment is fixed so that data transmission tasks can be allocated normally;
[0143] (2) A ground station can only receive data transmitted by one satellite at a time;
[0144] (3) For data transmission between satellites, satellite nodes only play the role of relay, and the data received by a satellite from other satellites does not occupy the memory of the satellite;
[0145] (4) Ignore the time for switching the communication links between satellites and between satellites and ground stations, that is, link switching does not take any time;
[0146] (5) The loss of inter-satellite data transmission is not considered;
[0147] (6) All ground stations are available when uploading tasks, but not all ground stations are available when data is downlinked;
[0148] (7) The data transmission arc of the software update task should be uploaded centrally;
[0149] (8) Ignore the time it takes to transmit data between satellites;
[0150] (9) The experimental satellite is directly connected to the ground station, and data transmission does not need to go through the ground station. The large satellite is calculated through the inter-satellite link;
[0151] (10) The two satellites are always connected and can send data to each other at any time.
[0152] like Figure 2 As shown, a fifth aspect of an embodiment of the present invention provides a data processing device based on on-board fixed storage partitions, including:
[0153] The traversal update module 51 is used to execute the step of traversing the time slice: traversing each time slice, updating the data of the current time slice and obtaining the satellite information of the current time slice;
[0154] A determination module 52, for determining a time slice communication diagram according to satellite information;
[0155] A calculation module 53, used for calculating a target link set of a time slice communication graph and a flow configuration of each target link based on a multi-source multi-sink maximum flow algorithm;
[0156] A traversal determination module 54 is used to traverse each target link in the target link set, and determine the target data volume and target storage partition consumed by the planned task of the target satellite at the starting point or end point of the current target link according to the task type;
[0157] The determination return module 55 is used to determine the target data transmission arc segment and the data transmission arc segment to be used according to the descending order of the storage ratio of the target storage partition and the task type, and return to the step of executing the traversal time slice.
[0158] In one embodiment of the present invention, each target link in the target link set is traversed, and a target data volume and a target storage partition consumed by a target satellite at a starting point or an end point of the current target link are determined according to the task type, including:
[0159] The step of traversing the target link is performed: traversing each target link in the target link set, and determining the target satellite of the starting point or the end point of the current target link;
[0160] According to the mission type, the target to-be-planned mission of the corresponding mission type in the satellite information of the target satellite and the target data volume consumed, the initial target arc segment and the target storage partition are determined.
[0161] In one embodiment of the present invention, determining the target data transmission arc segment and the data transmission arc segment to be used according to the descending order of the storage ratio of the target storage partition and the task type includes:
[0162] Execute the step of traversing tasks, traverse each target task to be planned, and determine the storage ratio of the target storage partition where the target data consumed by the target task to be planned is located;
[0163] Traverse each target storage partition according to the descending order of the storage ratio of the target storage partition, and determine the target data transmission arc section of the target storage partition in the initial target arc section based on the task type;
[0164] Determine the stock target data transmission arc segment and the unused target data transmission arc segment of the current target storage partition according to the storage ratio of the target data transmission arc segment and the current target storage partition;
[0165] Divide the existing target data transmission arc segments, determine the unoccupied data transmission arc segments, and the unoccupied data transmission arc segments and the unused target data transmission arc segments as the data transmission arc segments to be used;
[0166] Determine whether the remaining data volume of the target data volume of the current target task to be planned is 0;
[0167] If so, return to the step of executing the traversal task.
[0168] In one embodiment of the present invention, determining a target data transmission arc segment of a target persistent storage partition in an initial target arc segment based on a task type includes:
[0169] When the task type is software update, the initial target arc segment is traversed, and the initial target arc segment overlapping with the execution time period of the current target task to be planned is determined as the target data transmission arc segment of the target persistent storage partition.
[0170] In one embodiment of the present invention, determining a target data transmission arc segment of a target persistent storage partition in an initial target arc segment based on a task type includes:
[0171] When the task type is an instant download task or a scheduled download task, execute the step of traversing the arc segment: traverse the initial target arc segment, and determine in the initial target arc segment that the start time of the initial target arc segment is greater than the execution end time of the imaging task as the target data transmission arc segment of the target storage partition.
[0172] In one embodiment of the present invention, determining the existing target data transmission arc segment and the unused target data transmission arc segment of the current target storage partition according to the storage ratio of the target data transmission arc segment and the current target storage partition includes:
[0173] Determine whether the processable data volume of the target data transmission arc segment is greater than or equal to the partition to-be-processed data volume of the current target storage partition; wherein the partition to-be-processed data volume is calculated according to the storage ratio of the current target storage partition;
[0174] If not, update the amount of data to be processed of the partition of the current target storage partition, add the current target data transmission arc segment to the occupied list, and return to the step of traversing the arc segment until the amount of data that can be processed by the current target data transmission arc segment is greater than or equal to the updated amount of data to be processed of the current target storage partition;
[0175] If yes, add the current target data transmission arc segment to the occupied list.
[0176] According to the occupied list, the existing target data transmission arc segments and the unused target data transmission arc segments are determined in the target data transmission arc segments of the current target persistent storage partition.
[0177] In one embodiment of the present invention, dividing the existing target data transmission arc segments to determine the unoccupied data transmission arc segments includes:
[0178] Determine whether the unoccupied data transmission arc segment of the existing target data transmission arc segment is greater than a preset time length;
[0179] If it is greater, the existing target data transmission arc segments are divided to determine the unoccupied data transmission arc segments.
[0180] A sixth aspect of an embodiment of the present invention provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, a data processing method based on on-board solid storage partitioning provided by the above-mentioned embodiment of the present invention is implemented.
[0181] A seventh aspect of an embodiment of the present invention further provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the steps of a data processing method based on on-board solid storage partitioning provided in the above-mentioned embodiment of the present invention are implemented.
[0182] The memory may include a random access memory (RAM) or a non-volatile memory (NVM), such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.
[0183] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware systems.
[0184] The method provided in the embodiment of the present invention can be applied to electronic devices. Specifically, the electronic device can be: a desktop computer, a portable computer, an intelligent mobile terminal, a server, etc. This is not limited here, and any electronic device that can implement the present invention belongs to the protection scope of the present invention.
[0185] As for the device / electronic device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0186] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (apparatus), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0187] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0188] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0189] Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include these modifications and variations.
Claims
1. A data processing method based on on-board storage partitions, characterized in that: The following steps are involved: Execute the steps of traversing the time slice: traverse each time slice, update the data of the current time slice, and then obtain the satellite information under the current time slice; Determine a time slice communication diagram according to the satellite information; Calculate the target link set of the time slice communication graph and the flow configuration of each target link based on the multi-source multi-sink maximum flow algorithm; Traversing each target link in the target link set, determining the target data volume and target storage partition consumed by the planned task of the target satellite at the starting point or the end point of the current target link according to the task type; According to the descending order of the storage ratio of the target storage partition and the task type, the target data transmission arc segment and the data transmission arc segment to be used are determined, and the step of executing the traversal time slice is returned.
2. The method according to claim 1, characterized in that The traversing each target link in the target link set and determining the target data volume and target storage partition consumed by the target satellite at the starting point or the end point of the current target link according to the task type includes: Execute the step of traversing the target link: traverse each target link in the target link set to determine the target satellite of the starting point or the end point of the current target link; According to the task type, the target task to be planned corresponding to the task type in the satellite information of the target satellite and the target data volume consumed, the initial target arc segment and the target storage partition are determined.
3. The method according to claim 2, characterized in that The step of determining the target data transmission arc segment and the data transmission arc segment to be used according to the descending order of the storage ratio of the target storage partition and the task type includes: The step of performing a task traversal is to traverse each target task to be planned, and determine a storage ratio of a target storage partition where target data consumed by the target task to be planned is located; Traversing each of the target storage partitions according to the descending order of the storage ratios of the target storage partitions, and determining a target data transmission arc segment of the target storage partition in the initial target arc segment based on the task type; Determine the stock target data transmission arc segment and the unused target data transmission arc segment of the current target storage partition according to the storage ratio of the target data transmission arc segment and the current target storage partition; Dividing the existing target data transmission arc segments to determine unoccupied data transmission arc segments, the unoccupied data transmission arc segments and the unused target data transmission arc segments being used as the data transmission arc segments to be used; Determine whether the remaining data volume of the target data volume of the current target task to be planned is 0; If so, return to the step of executing the traversal task.
4. The method according to claim 3, characterized in that The step of determining a target data transmission arc segment of a target persistent storage partition in an initial target arc segment based on the task type includes: When the task type is software update, the initial target arc segment is traversed, and the initial target arc segment overlapping with the execution time period of the current target task to be planned is determined as the target data transmission arc segment of the target persistent storage partition.
5. The method according to claim 4, characterized in that The step of determining a target data transmission arc segment of a target persistent storage partition in an initial target arc segment based on the task type includes: When the task type is an instant download task or a scheduled download task, execute the step of traversing the arc segment: traverse the initial target arc segment, and determine in the initial target arc segment that the start time of the initial target arc segment is greater than the execution end time of the imaging task as the target data transmission arc segment of the target storage partition.
6. The method according to claim 5, characterized in that The step of determining the existing target data transmission arc segments and the unused target data transmission arc segments of the current target storage partition according to the storage ratio of the target data transmission arc segments and the current target storage partition comprises: Determine whether the processable data volume of the target data transmission arc segment is greater than or equal to the partition to-be-processed data volume of the current target storage partition; wherein the partition to-be-processed data volume is calculated based on the storage ratio of the current target storage partition; If not, update the amount of data to be processed of the partition of the current target storage partition, add the current target data transmission arc segment to the occupied list, and return to the step of executing the traversal arc segment until the amount of data that can be processed by the current target data transmission arc segment is greater than or equal to the updated amount of data to be processed of the current target storage partition; If yes, add the current target data transmission arc segment to the occupied list. According to the occupied list, the existing target data transmission arc segments and the unused target data transmission arc segments are determined in the target data transmission arc segments of the current target persistent storage partition.
7. The method according to claim 6, characterized in that The dividing the existing target data transmission arc segments to determine unoccupied data transmission arc segments includes: Determine whether the unoccupied data transmission arc segment of the existing target data transmission arc segment is greater than a preset time length; If it is greater, the existing target data transmission arc segments are divided to determine the unoccupied data transmission arc segments.
8. A data processing device based on on-board storage partitions, characterized in that: include: The traversal update module is used to execute the steps of traversing the time slice: traversing each time slice, updating the data of the current time slice and obtaining the satellite information under the current time slice; A determination module, used to determine a time slice communication diagram according to the satellite information; A calculation module, used for calculating the target link set of the time slice communication graph and the flow configuration of each target link based on a multi-source multi-sink maximum flow algorithm; A traversal determination module, used to traverse each target link in the target link set, and determine the target data volume and target storage partition consumed by the planned task of the target satellite at the starting point or end point of the current target link according to the task type; A determination return module is used to determine the target data transmission arc segment and the data transmission arc segment to be used according to the descending order of the storage ratio of the target storage partition and the task type, and return to the step of executing the traversal time slice.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the data processing method based on on-board solid storage partitioning as described in any one of claims 1 to 7 is implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the data processing method based on on-board persistent storage partitioning according to any one of claims 1 to 7 is implemented.