Method and device for allocating resources

By splitting and allocating tasks in heterogeneous satellite networks, the problem of task execution failure caused by unreasonable resource allocation is solved, and more efficient resource utilization and balanced resource allocation are achieved.

CN119182450BActive Publication Date: 2025-04-25CHINA SATENT NETWORK APPLICATION RESEARCH INSTITUTE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411650548.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-18
Publication Date
2025-04-25
Estimated Expiration
2044-11-18

AI Technical Summary

Technical Problem

In heterogeneous satellite networks, existing methods lead to unreasonable allocation of network resources during multi-path data transmission, resulting in failure of task execution.

Method used

Receive resource requests from the second satellite through the first satellite, estimate the amount of resources required by the target task, and split the target task into multiple subtasks to form a target task chain, specifying the execution order of each subtask and the target satellite.

Benefits of technology

More reasonable resource utilization and balanced resource allocation are achieved, task execution failure caused by wrong subtask execution order is avoided, and resource utilization of satellite networks is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119182450B_ABST
    Figure CN119182450B_ABST
Patent Text Reader

Abstract

The embodiment of the present invention provides a method and device for allocating resources, including: a first satellite receives a resource request from a second satellite; the first satellite splits a target task into multiple subtasks according to the available resource amount of each target satellite and the target resource amount to obtain a target task chain; the first satellite sends the subtasks in the target task chain to the corresponding target satellite, so that the subtasks are executed by the target satellite. The present invention solves the problem of task execution failure caused by unreasonable resource allocation of satellite networks in the related art.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention relate to the field of communications, and in particular, to a method and device for allocating resources. Background Art

[0002] Satellite Internet can break away from the limitations of ground infrastructure, extend network services to space and the ocean, provide ubiquitous network coverage for near-Earth space, and provide various forms of Internet services on this basis. Currently, satellite networks have multiple networks and multiple operators coexisting, and there are challenges such as heterogeneity of satellite hardware, network structure, technical system, and operation service among different satellite networks.

[0003] In heterogeneous satellite networks, existing methods usually perform multi-path concurrent transmission of original data packets based on heterogeneous satellite networks. Since each data packet is unique and there are dependencies between data packets, unreasonable network resource allocation leads to mission failure when using heterogeneous satellite networks for multi-path data transmission.

[0004] There is currently no effective solution to the above problems. Summary of the invention

[0005] The embodiments of the present invention provide a method and device for allocating resources, so as to at least solve the problem of mission execution failure caused by unreasonable resource allocation of satellite networks in the related art.

[0006] According to one embodiment of the present invention, a method for allocating resources is provided, comprising: a first satellite receives a resource request from a second satellite, wherein the resource request carries a target task and a target resource amount, the target task is a task requested by a ground terminal to the second satellite, and the target resource amount is the amount of resources obtained by the second satellite estimating the resources required to complete the target task, the satellite network comprises a plurality of satellites of the first type and a plurality of satellites of the second type, the first satellite belongs to the first type of satellite, and the second satellite belongs to the second type of satellite; the first satellite splits the target task into a plurality of subtasks according to the available resource amount of each target satellite and the target resource amount to obtain a target task chain, wherein the target task chain comprises each subtask, the execution order of each subtask, and an identifier of a target satellite that executes the subtask, and the target satellite belongs to the second type of satellite; the first satellite sends the subtasks in the target task chain to corresponding satellites so as to execute the subtasks through the target satellite.

[0007] In an exemplary embodiment, before the first satellite receives a resource request from the second satellite, the method further includes: the second satellite obtains a task request from the ground terminal, wherein the task request carries the target task; the second satellite inputs the target task into a first neural network model to obtain the target resource amount; wherein the model parameters of the first neural network model are first target model parameters obtained by the ground terminal using a second training data set to train the first initial neural network model.

[0008] In an exemplary embodiment, before the second satellite obtains a mission request from the ground terminal, the method further includes: the ground terminal uses the second training data set to perform multiple rounds of iterative training on the first initial neural network model, and when the second target convergence condition is met, ends the training to obtain the first target model parameters; and the ground terminal sends the first target model parameters to the second satellite.

[0009] In an exemplary embodiment, after the ground terminal sends the first target model parameters to the second satellite, the method further includes: the second satellite sets the model parameters of the first initial neural network model to the first target model parameters to obtain the first neural network model.

[0010] In an exemplary embodiment, the first satellite splits the target task into multiple subtasks according to the available resource amount of each satellite and the target resource amount to obtain a target task chain, including: the first satellite inputs the available resource amount of each target satellite, the target resource amount and the target task into a second neural network model to obtain the target task chain; wherein the model parameters of the second neural network model are second target model parameters obtained by the ground terminal training the second initial neural network model using the first training data set.

[0011] In an exemplary embodiment, before the first satellite inputs the available resource amount, the target resource amount and the target task of each target satellite into the second neural network model, the method also includes: the ground terminal uses the first training data set to perform multiple rounds of iterative training on the second initial neural network model, and when the first target convergence condition is met, the training is terminated to obtain the second target model parameters; the ground terminal sends the second target model parameters to the first satellite.

[0012] In an exemplary embodiment, after the ground terminal sends the second target model parameters to the first satellite, the method further includes: the first satellite sets the model parameters of the second initial neural network model to the second target model parameters to obtain the second neural network model.

[0013] In an exemplary embodiment, the first satellite sends the subtasks in the target task chain to the corresponding satellite so that the subtasks are executed by the target satellite, including: the first satellite sends the i-th subtask to the i-th target satellite, wherein i is an integer greater than or equal to 1, and the i-th subtask is the i-th subtask in the target task chain with an execution order of i-th; when the i-th target satellite receives the i-th subtask, the i-th target satellite processes the i-th subtask to obtain a task processing result; the method also includes: the i-th target satellite uses a fountain code to encode the task processing result to obtain an i-th encoding result.

[0014] In an exemplary embodiment, after the i-th target satellite encodes the task processing result using a fountain code to obtain an i-th encoding result, the method further includes: when the i-th subtask is the first subtask in the target task chain, the i-th target satellite obtains an i-th data packet through the i-th encoding result and the available resources of the i-th target satellite, and sends the i-th data packet to the i+1-th target satellite, so that the i+1-th target satellite processes the i+1-th subtask based on the i-th encoding result; when the i-th subtask is not the first subtask and the last subtask in the target task chain, the i-th target satellite obtains the i-th data packet through the i-th encoding result and the available resources of the first i satellites, and sends the i-th data packet to the i+1-th target satellite, so that the i+1-th target satellite processes the i+1-th subtask based on the i-th encoding result.

[0015] In an exemplary embodiment, the method also includes: when the i-th subtask is the last subtask in the target task chain, the i-th target satellite receives the i-1th data packet from the i-1th satellite, wherein the i-1th data packet carries the available resources of the first i-1 satellites and the i-1th encoding result; the i-th target satellite sends the available resources of the first i-1 satellites and the available resources of the i-th target satellite to the first satellite; the i-th target satellite processes the i-1th subtask based on the i-1th encoding result to obtain the processing result of the target task, and sends the processing result of the target task to the ground terminal.

[0016] According to another embodiment of the present invention, a device for allocating resources is provided, comprising: a receiving module, configured to receive a resource request from a second satellite, wherein the resource request carries a target task and a target resource amount, the target task is a task requested by a ground terminal to the second satellite, and the target resource amount is the amount of resources obtained by the second satellite estimating the resources required to complete the target task, and the satellite network comprises a plurality of satellites of the first type and a plurality of satellites of the second type, the first satellite belongs to the first type of satellite, and the second satellite belongs to the second type of satellite; a splitting module, configured to split the target task into a plurality of subtasks according to the available resource amount of each target satellite and the target resource amount, to obtain a target task chain, wherein the target task chain comprises each subtask, the execution order of each subtask, and an identifier of a target satellite that executes the subtask, and the target satellite belongs to the second type of satellite; a sending module, configured to send the subtasks in the target task chain to corresponding satellites so as to execute the subtasks through the target satellite.

[0017] According to another embodiment of the present invention, a system for allocating resources is provided, comprising: a ground terminal, configured to send a task request to two satellites, wherein the task request carries a target task, and the satellite network comprises a plurality of satellites of the first type and a plurality of satellites of the second type, and the second satellite belongs to the second type of satellite; the second satellite, configured to estimate the resources required to complete the target task to obtain a target resource quantity, and send a resource request to the first satellite, wherein the resource request carries the target task and the target resource quantity, and the first satellite belongs to the first type of satellite; the first satellite, configured to split the target task into a plurality of subtasks according to the available resource quantity and the target resource quantity of each target satellite, to obtain a target task chain, wherein the target task chain comprises each of the subtasks, the execution order of each of the subtasks, and an identifier of a target satellite that executes the subtask, and the target satellite belongs to the second type of satellite; the subtasks in the target task chain are sent to the corresponding target satellite; and a plurality of satellites, including an i-th target satellite, are configured to process the i-th subtask in the target task chain to obtain a task processing result.

[0018] According to yet another embodiment of the present invention, a computer-readable storage medium is provided, wherein a computer program is stored in the computer-readable storage medium, wherein the computer program implements the steps of any of the above methods when executed by a processor.

[0019] According to yet another embodiment of the present invention, there is provided an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0020] According to yet another embodiment of the present invention, a computer program product is provided, comprising a computer program, wherein when the computer program is executed by a processor, the steps of any of the above methods are implemented.

[0021] Through the present invention, the satellite network includes a plurality of satellites of the first type and a plurality of satellites of the second type, the first satellite belongs to the first type of satellite, and the second satellite belongs to the second type of satellite. Since the second satellite receives the target task from the ground terminal, the second satellite estimates the target resource amount obtained by the resources required to complete the target task, and the first satellite splits the target task into a plurality of subtasks according to the available resource amount and the target resource amount of each satellite to obtain a target task chain, the target task chain includes each subtask, the execution order of each subtask, and the identification of the satellite that executes the subtask; the first satellite sends the subtask in the target task chain to the corresponding target satellite to execute the subtask through the target satellite, and the target satellite belongs to the second type of satellite.

[0022] First, the first satellite divides the target task into multiple subtasks and assigns them to the corresponding satellites according to the available resources and target resources of each satellite. In this way, the purpose of assigning subtasks to satellites can be combined with the available resources of each satellite, so that the resource utilization of the satellite is more reasonable and the resource allocation between each satellite is more balanced. Secondly, the target task chain includes the execution order of each subtask, which can avoid the problem of failure of the target task execution due to the dependency of the order between subtasks if the execution order is wrong. Therefore, the problem of task execution failure caused by unreasonable resource allocation of satellite networks in related technologies can be solved, and the resource utilization rate of satellite networks can be improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] Figure 1 is a schematic diagram of an application scenario of a method for allocating resources according to an embodiment of the present invention;

[0024] Figure 2 is a hardware structure block diagram of a mobile terminal of a method for allocating resources according to an embodiment of the present invention;

[0025] Figure 3 is a flow chart of a method for allocating resources according to an embodiment of the present invention;

[0026] Figure 4 is a structural block diagram of an apparatus for allocating resources according to an embodiment of the present invention. DETAILED DESCRIPTION

[0027] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings and in combination with the embodiments.

[0028] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0029] like Figure 1 The figure is a schematic diagram of an application scenario of the method for allocating resources according to an embodiment of the present invention. The overall network structure is designed based on the software defined network (SDN) architecture, including three parts: a data plane, a control plane, and an application plane.

[0030] The control plane includes a first type of satellite in the satellite network, and the first type of satellite is the main satellite of the satellite network as the space brain. The control plane is deployed on the first satellite, the first satellite is the space brain of the architecture, the SDN controller is deployed on the first satellite, and the first satellite can be the main satellite;

[0031] The data plane includes the second type of satellites in the satellite network. The second type of satellites serve as intelligent agents in the satellite network and may be low-orbit satellites. Each satellite in the data plane serves as an intelligent agent of the architecture, and edge servers are deployed, on which intelligent agents are deployed.

[0032] The application plane is deployed in the ground control center, which mainly interacts directly with the controller deployed in the first satellite to manage the entire network.

[0033] The software implementation strategies of each part of the architecture are as follows: The satellites in the data plane of the SDN architecture are equipped with the hardware required for computing and an operating system. Based on SDN / NFV, the functions of each satellite are virtualized, and computing, storage, and transmission resources are uniformly modeled and managed. When executing specific tasks, resources are pre-allocated in containers, and specific tasks are executed in the containers.

[0034] The first satellite in the control plane forms the spatial brain of SDN, which can be called the main satellite, responsible for network control and task delivery. The first satellite stores all information about the tasks being executed in the constellation and the real-time resource occupancy of all satellites (including the resource occupancy of each satellite as an intelligent agent in the data plane). The first satellite receives new task requests in real time. When a request arrives, it intelligently allocates tasks according to the intelligent algorithm.

[0035] The ground control center forms the application plane in SDN, responsible for the development of application functions, the training of artificial intelligence algorithms, and the operation and maintenance of the network. On the one hand, the ground control center provides the overall network management interface to network managers, and on the other hand, it provides the constellation's external service interface to network users.

[0036] The controller deployed on the first satellite, the edge server deployed on the satellite, and the ground terminal deployed on the ground control center in the method embodiment provided in the embodiments of the present application can be a mobile terminal, a computer terminal or a similar computing device.

[0037] Taking the mobile terminal as an example, Figure 2 FIG. 1 is a hardware structure block diagram of a mobile terminal of a method for allocating resources according to an embodiment of the present invention. Figure 2 As shown, the mobile terminal may include one or more ( Figure 1 Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the mobile terminal may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art that Figure 2 The structure shown is for illustration only and does not limit the structure of the mobile terminal. Figure 2 More or fewer components as shown, or with Figure 2 Different configurations are shown.

[0038] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the method for allocating resources in the embodiment of the present invention. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the mobile terminal via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0039] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the mobile terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0040] In this embodiment, a method for allocating resources is provided. Figure 3 is a flow chart of a method for allocating resources according to an embodiment of the present invention. Figure 3 As shown, the process includes the following steps:

[0041] Step S202: The first satellite receives a resource request from the second satellite, wherein the resource request carries a target task and a target resource amount, the target task is a task requested by the ground terminal to the second satellite, and the target resource amount is a resource amount estimated by the second satellite for resources required to complete the target task, the satellite network includes a plurality of satellites of the first type and a plurality of satellites of the second type, the first satellite belongs to the first type of satellite, and the second satellite belongs to the second type of satellite;

[0042] The second satellite may be any one of a plurality of satellites deployed on the data plane.

[0043] Before the first satellite receives the resource request from the second satellite, the second satellite obtains a task request from the ground terminal, the task request carries the target task; wherein the ground terminal is a terminal of the application plane. The second satellite inputs the target task into the first neural network model to obtain the target resource amount output by the first neural network model; the model parameters of the first neural network model are the first target model parameters obtained by the ground terminal using the second training data set to train the first initial neural network model.

[0044] Specifically, when the second satellite receives a task request from the ground terminal, it can analyze the recent task requests and predict the possible task volume of the target task as an intelligent agent. Combined with its own remaining computing and transmission resources, it can derive the amount of resources that can be provided to the ground terminal. The second satellite estimates the amount of resources and duration (target resource volume) of the satellite set required to complete the entire target task, and sends a resource request to the first satellite (space brain) of the control plane.

[0045] The second satellite can use the first neural network model to predict the target resource amount required to perform the target task. The neural network model can be an artificial intelligence algorithm in the prior art, such as a convolutional neural network model.

[0046] Artificial intelligence algorithms represented by machine learning can usually be divided into two steps: training and calculation. Among them, model training usually requires a lot of calculations based on a large amount of data. The training process consumes a lot of computing resources. Many machine learning-based algorithm training processes are difficult to complete in satellites. To this end, this application proposes an intelligent strategy for air-ground collaboration.

[0047] For many applications, although real-time data may change, the overall characteristics of the data remain unchanged. For data with such characteristics, the ground control center (ground terminal) trains the model based on a large amount of static historical data (the second training data set) and sends the trained model parameters to the second satellite. The second satellite can directly obtain the first neural network model based on the trained model parameters and directly use the first neural network model for calculation.

[0048] Specifically, the ground terminal uses the second training data set to perform multiple rounds of iterative training on the first initial neural network model, and when the second target convergence condition is met, the training is terminated to obtain the first target model parameters; the ground terminal sends the first target model parameters to the second satellite; the second satellite sets the model parameters of the first initial neural network model as the first target model parameters to obtain the first neural network model.

[0049] In the above embodiment, the ground terminal uses the second training data set to train the first initial neural network model, and sends the trained first target model parameters to the second satellite, which can avoid the problem of resource waste caused by the second satellite training model and achieve the effect of saving the second satellite resources.

[0050] Step S204: the first satellite splits the target task into a plurality of subtasks according to the available resource amounts of each target satellite and the target resource amount, to obtain a target task chain, wherein the target task chain includes each of the subtasks, the execution order of each of the subtasks, and an identifier of a target satellite that executes the subtask, and the target satellite belongs to the second type of satellite;

[0051] In the centralized-distributed fusion intelligent framework, the intelligent agent in the data plane and the controller in the first satellite (primary satellite) are combined to jointly implement the target task.

[0052] After receiving the resource request, the first satellite, as the space brain, intelligently decomposes the target task according to the available resources of each satellite and the target resources required to complete the target task, divides a complete target task into several subtasks, and forms a target task chain according to the execution order of each subtask. The target task chain can also include the identification of the corresponding satellite that executes the subtask.

[0053] Each node in the linked list records the subtasks that each satellite needs to perform. The tasks will be mapped to the required resource list and the required resource time in the first satellite (space brain). After the subtasks are assigned, the first satellite subtasks are broadcast to each satellite (intelligent agent) and the remaining available resources of each intelligent agent are recorded.

[0054] Specifically, the first satellite splits the target task into multiple subtasks according to the available resources of each satellite to obtain a target task chain, including:

[0055] The first satellite inputs the available resource amount of each target satellite, the target resource amount and the target task into the second neural network model to obtain the target task chain output by the second neural network model; the model parameters of the second neural network model are the second target model parameters obtained by the ground terminal using the first training data set to train the second initial neural network model.

[0056] The first satellite can use the second neural network model to obtain the target task chain. The neural network model can be an artificial intelligence algorithm in the prior art, such as a convolutional neural network model.

[0057] The same intelligent strategy of air-ground collaboration as in the above-mentioned embodiment. The ground control center (ground terminal) trains the model based on a large amount of static historical data (first training data set), and sends the trained model parameters to the first satellite. The first satellite (space brain) can directly obtain the second neural network model based on the trained model parameters, and directly use the second neural network model for calculation.

[0058] Specifically, the ground terminal uses the first training data set to perform multiple rounds of iterative training on the second initial neural network model, and when the first target convergence condition is met, the training is terminated to obtain the second target model parameters; the ground terminal sends the second target model parameters to the first satellite; the first satellite sets the model parameters of the second initial neural network model as the second target model parameters to obtain the second neural network model.

[0059] In the above embodiment, the ground terminal uses the first training data set to train the second initial neural network model, and sends the trained second target model parameters to the first satellite, which can avoid the problem of resource waste caused by the training model of the first satellite and achieve the effect of saving the resources of the first satellite.

[0060] Step S306: The first satellite sends the subtasks in the target task chain to corresponding satellites, so that the subtasks are executed by the target satellite.

[0061] Optionally, the executor of the above steps may be a background processor, or other devices with similar processing capabilities, or a machine that integrates at least an image acquisition device and a data processing device, wherein the image acquisition device may include a graphics acquisition module such as a camera, and the data processing device may include a computer, a mobile phone or other terminal, but is not limited thereto.

[0062] Through the above steps, the first satellite divides the target task into multiple subtasks and assigns them to the corresponding target satellites according to the available resources and target resources of each target satellite. In this way, the available resources of each target satellite can be combined to assign subtasks to the target satellite, so that the resource utilization of the target satellite is more reasonable and the resource allocation between the target satellites is more balanced. The target task chain includes the execution order of each subtask, which can avoid the problem of failure of the target task execution due to the dependency of the order between the subtasks. The effect of improving the resource utilization of the satellite network is achieved.

[0063] As an optional implementation, the first satellite sends the ith subtask to the ith target satellite, where i is an integer greater than or equal to 1, and the ith subtask is the ith subtask in the target task chain in execution order.

[0064] When the i-th target satellite receives the i-th subtask, the i-th target satellite processes the i-th subtask to obtain a task processing result;

[0065] The i-th target satellite uses fountain code to encode the task processing result to obtain the i-th encoding result.

[0066] If the i-th subtask is the first subtask in the target task chain, the i-th target satellite obtains the i-th data packet through the i-th encoding result and the available resources of the i-th target satellite, and sends the i-th data packet to the i+1-th target satellite, so that the i+1-th target satellite processes the i+1-th subtask based on the i-th encoding result;

[0067] In the case that the i-th subtask is not the first subtask and the last subtask in the target task chain, the i-th target satellite obtains the i-th data packet through the i-th encoding result and the available resources of the first i satellites, and sends the i-th data packet to the i+1-th target satellite, so that the i+1-th target satellite processes the i+1-th subtask based on the i-th encoding result.

[0068] In the case where the i-th subtask is the last subtask in the target task chain, the i-th target satellite receives the i-1th data packet from the i-1th satellite, wherein the i-1th data packet carries the available resources of the first i-1 satellites and the i-1th encoding result;

[0069] The i-th target satellite sends the available resources of the first i-1 satellites and the available resources of the i-th target satellite to the first satellite;

[0070] The i-th target satellite processes the i-1-th subtask based on the i-1-th encoding result, obtains the processing result of the target task, and sends the processing result of the target task to the ground terminal.

[0071] In the above embodiment, when the first satellite in the target task linked list receives the first subtask, a container is established according to the first subtask, and computing and transmission resources are allocated to the first subtask.

[0072] Each time the satellite forwards a data packet, it records its own current available resources and stores them in the header of the data packet. After the last satellite in the target task chain receives the data, it takes out the current available resource amount of all previous satellites from the header information and sends it to the first satellite (space brain), thereby realizing the real-time collection of network status. In this way, the first satellite can record the network status (available resource amount) of each satellite in real time. After the space brain receives the available resource amount of each satellite, it updates the resource information of each satellite according to the current available resource amount of each satellite. When a new task request arrives, resources are allocated according to the latest resource information. In this way, the first satellite can understand the resource information of each satellite in real time, so as to achieve a more reasonable resource allocation effect.

[0073] As an optional implementation, the satellite and the first satellite can support training with a small amount of real-time data. Many applications have strong real-time characteristics, and the pattern of their historical data is not applicable to the current data changes. For data with this characteristic, a lightweight algorithm is adopted to perform simple model training based on a small amount of real-time data. The training process does not pursue the optimal solution, but is more for performance considerations, so that the calculation process can quickly obtain an acceptable and optimal strategy and adjust it in real time. Short algorithm response time and fast convergence speed are the core requirements of this type of algorithm.

[0074] For most applications, historical data can provide a reference for real-time data, but real-time data does not completely follow the pattern of historical data. In this case, a combination of static and dynamic training methods can be adopted. First, the ground control center trains an original model based on historical data and sends the original model to the satellite (the first satellite or the second satellite). The satellite then fine-tunes the parameters of the model based on real-time data and updates the parameters in real time.

[0075] Raptor code can be used for the above fountain code. In the typical data transmission scenario of space-based network, data transmission is designed to the data plane, control plane, and application plane in the overall network architecture. Here, the network within and between each layer is modeled, and then the data collection process is explained.

[0076] Space-based networks usually provide network services for ground or near-earth terminals. For example, satellite phones, drones, etc. The near-earth terminal generates a mission request and sends it to the satellite. The satellite receives the mission request in the downlink and submits a resource request to the controller of the first satellite in the uplink. Satellite communication modules and antennas have high hardware requirements, which is also the most important constraint in the hardware design of space-based networks. At present, small-volume, light-weight, and portable antennas are the research direction of satellite communications, and the problem of satellite node load will be gradually solved.

[0077] Satellites can use microwaves or lasers to communicate with near-ground terminals. Microwaves can be selected from C-band, Ku-band, Ka-band, S-band, L-band, etc., and can be selected based on actual application requirements. These communication methods can support long-distance communications, but they also have problems such as narrow communication range to the ground and transmission is easily affected by weather.

[0078] The lower the satellite orbit, the shorter its operating cycle, and the shorter the communication time between a single satellite and a specific location on the ground. In a satellite constellation, multiple satellites are usually deployed on the same orbital plane to ensure uninterrupted coverage of the space-based network. When a near-earth terminal sends data to a satellite, the data can be sent to any reachable satellite. After receiving the data, the satellite can encode it and transmit it to other satellite nodes.

[0079] During the data transmission process of the space-based network, each link of the data transmission may fail. The distance of the air-to-ground channel is far, and the required transmission time is long. During network transmission, ensuring the quality of data transmission by replying confirmation will lead to problems such as excessive transmission delay. This application proposes a distributed Raptor code, and distributes the encoding and decoding process to each layer of the space-based network hardware device. This encoding scheme can also uniformly map all types of network requests into data packet transmission processes with different amounts of data after encoding. This converts the data transmission problem into a space-based network resource allocation problem, providing a basis for the optimization of space-based network resources.

[0080] Assume that each source has Information packets, data transmission needs to go through L layers, each layer has nodes. The total number of packets is If the decoding overhead is , then the final encoded packet received by the receiver should have Source degree distribution , the degree distribution of relays at each level, as well as , jointly determine the distributed Raptor code of the L layer, denoted as DR The case where there is no relay and there is only one source directly connected to the receiving end is recorded as DR Obviously, this is the source degree distribution 1-story Raptor yard.

[0081] The source degree distribution is:

[0082]

[0083] Meaning: The source is based on probability Select Information packets. The relay degree distribution is:

[0084]

[0085] The meaning is: Intermediate level with probability choose indivual Level relay. and Introducing "Edge View Angle Distribution": , .

[0086] When the number of decoding iterations Depend on Time DR The decoding erasure rate, DT The asymptotic performance is:

[0087]

[0088] Choose an output node ,set up By probability connect source, because The parent node comes from the source , not considered , By probability connect Sources. Including The information sources are represented as , ,this The level 0 coded packets in the source are represented as , their numbers are expressed as . Connected Among the edges, one of them is connected The parent node of , not considered , By probability Connect another Input nodes. The probability connect Therefore, decoding proceeds to the first When turning, take into account the degree , All possible values, The probability of taking the value 1 is:

[0089]

[0090]

[0091] Also because By probability have child nodes, then The probability of taking the value 0 is:

[0092]

[0093]

[0094] Therefore, the asymptotic performance of a 1-layer DR code is:

[0095]

[0096] Bring in , can be written as:

[0097]

[0098] By comparing equation (1) and equation (3), we can conclude that:

[0099] DR Equivalent to DR in terms of asymptotic performance .

[0100]

[0101] Based on the requirement of optimal asymptotic performance, the optimal degree distribution strategy can be obtained to determine the coding scheme. Based on data coding transmission, the dependencies between data packets are broken, so that the transmission task can be abstracted as a binary [bandwidth, time]. According to the total network bandwidth, the transmission task is divided into resources to effectively utilize the total network resources.

[0102] Multipath transmission technology based on heterogeneous networks. When the reliability of the satellite network transmission path changes, this technology prefers to use soft switching to switch the path: maintain the satellite network transmission path, change the data traffic segmentation strategy, and continuously detect unreliable transmission paths, so as to switch the transmission path at the data transmission level. When a satellite network is completely interrupted, a hard switching method is used to switch the path: release the transmission connection of the satellite network, switch all data transmission traffic to the available satellite network, and wait for the recovery of the satellite network, so as to switch the network at the network access level.

[0103] Coding transmission technology for time-varying heterogeneous networks. This technology uses distributed Raptor codes for data transmission. Based on this transmission method, the data transmission task can divide the coded data packets to be transmitted according to the proportion, and transmit the data through different networks, without the need to maintain the additional overhead of heterogeneous satellite network transmission tasks. On this basis, the state of heterogeneous satellite network resources is abstracted into a combination of bandwidth, delay and available time, thereby realizing the virtualization of heterogeneous network resources and providing support for the unified management of network resources.

[0104] Compared with the existing technology, the present application can support real-time adaptive dynamic adjustment of multiple paths, thereby realizing the switching of heterogeneous networks more quickly; it can support adaptive segmentation and encoding strategies of data packets, thereby further reducing data transmission delay and effectively utilizing network resources.

[0105] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present invention.

[0106] In this embodiment, a device for allocating resources is also provided, which is applied to the first satellite and is used to implement the above embodiments and preferred implementation modes. The descriptions that have been made will not be repeated. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0107] Figure 4is a structural block diagram of a device for allocating resources according to an embodiment of the present invention, such as Figure 4 As shown, the device comprises:

[0108] a receiving module 42, configured to receive a resource request from a second satellite, wherein the resource request carries a target task and a target resource amount, the target task is a task requested by a ground terminal to the second satellite, the target resource amount is a resource amount estimated by the second satellite for resources required to complete the target task, the satellite network includes a plurality of satellites of the first type and a plurality of satellites of the second type, the first satellite belongs to the first type of satellite, and the second satellite belongs to the second type of satellite;

[0109] a splitting module 44, configured to split the target task into a plurality of subtasks according to the available resource amounts of each target satellite and the target resource amount, to obtain a target task chain, wherein the target task chain includes each of the subtasks, the execution order of each of the subtasks, and an identifier of a target satellite that executes the subtask, and the target satellite belongs to the second type of satellite;

[0110] The sending module 46 is used to send the subtasks in the target task chain to the corresponding satellites so that the subtasks are executed by the target satellites.

[0111] In an exemplary embodiment, the above-mentioned device is also used to input the available resource amount of each target satellite, the target resource amount and the target task into a second neural network model to obtain the target task chain output by the second neural network model; wherein the model parameters of the second neural network model are the second target model parameters obtained by the ground terminal using the first training data set to train the second initial neural network model.

[0112] In this embodiment, a system for allocating resources is also provided, including: a ground terminal, used to send a task request to a second satellite, wherein the task request carries a target task; the second satellite, used to estimate the resources required to complete the target task to obtain a target resource quantity, and send a resource request to the first satellite, wherein the resource request carries the target task and the target resource quantity; the first satellite, used to split the target task into multiple subtasks according to the available resource quantity of each satellite and the target resource quantity, to obtain a target task chain, wherein the target task chain includes each of the subtasks, the execution order of each of the subtasks, and the identifier of the satellite that executes the subtask; the subtasks in the target task chain are sent to corresponding satellites; multiple satellites, including the i-th target satellite, are used to process the i-th subtask in the target task chain to obtain a task processing result.

[0113] In an exemplary embodiment, the first satellite is also used to input the available resource amount of each target satellite, the target resource amount and the target task into a second neural network model to obtain the target task chain; wherein the model parameters of the second neural network model are second target model parameters obtained by the ground terminal using the first training data set to train the second initial neural network model.

[0114] In an exemplary embodiment, the ground terminal is also used to perform multiple rounds of iterative training on the second initial neural network model using the first training data set, and when the first target convergence condition is met, terminate the training to obtain the second target model parameters; send the second target model parameters to the first satellite; the first satellite sets the model parameters of the second initial neural network model to the second target model parameters to obtain the second neural network model.

[0115] In an exemplary embodiment, the second satellite is also used to obtain a task request from the ground terminal, wherein the task request carries the target task; input the target task into a first neural network model to obtain the target resource amount; wherein the model parameters of the first neural network model are first target model parameters obtained by the ground terminal using a second training data set to train the first initial neural network model.

[0116] In an exemplary embodiment, the ground terminal is also used to perform multiple rounds of iterative training on the first initial neural network model using the second training data set, and when a second target convergence condition is met, terminate the training to obtain the first target model parameters; send the first target model parameters to the second satellite; and set the model parameters of the first initial neural network model to the first target model parameters to obtain the first neural network model.

[0117] In an exemplary embodiment, the first satellite is further used to send the i-th subtask to the i-th target satellite, wherein the i is an integer greater than or equal to 1, and the i-th subtask is the i-th subtask in the target task chain with an execution order of the i-th subtask; when the i-th target satellite receives the i-th subtask, the i-th target satellite is further used to process the i-th subtask to obtain a task processing result; the i-th target satellite is further used to encode the task processing result using a fountain code to obtain an i-th encoded result.

[0118] In an exemplary embodiment, when the i-th subtask is the first subtask in the target task chain, the i-th target satellite is further used to obtain the i-th data packet through the i-th encoding result and the available resources of the i-th target satellite, and send the i-th data packet to the i+1-th target satellite, so that the i+1-th target satellite processes the i+1-th subtask based on the i-th encoding result; when the i-th subtask is not the first subtask and the last subtask in the target task chain, the i-th target satellite is further used to obtain the i-th data packet through the i-th encoding result and the available resources of the first i satellites, and send the i-th data packet to the i+1-th target satellite, so that the i+1-th target satellite processes the i+1-th subtask based on the i-th encoding result.

[0119] In an exemplary embodiment, when the i-th subtask is the last subtask in the target task chain, the i-th target satellite is also used to receive an i-1th data packet from an i-1th satellite, wherein the i-1th data packet carries available resources of the first i-1 satellites and an i-1th encoding result; the available resources of the first i-1 satellites and the available resources of the i-th target satellite are sent to the first satellite; the i-1th subtask is processed based on the i-1th encoding result to obtain a processing result of the target task, and the processing result of the target task is sent to the ground terminal.

[0120] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.

[0121] An embodiment of the present invention further provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above methods are implemented.

[0122] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.

[0123] An embodiment of the present invention further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0124] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0125] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0126] An embodiment of the present invention further provides a computer program product, including a computer program, which implements the steps of the method described in each embodiment of the present application when executed by a processor.

[0127] Obviously, those skilled in the art should understand that the above modules or steps of the present invention can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order than here, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present invention is not limited to any specific combination of hardware and software.

[0128] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A method for allocating resources, characterized in that: include: A first satellite receives a resource request from a second satellite, wherein the resource request carries a target task and a target resource amount, the target task is a task requested by a ground terminal to the second satellite, and the target resource amount is a resource amount estimated by the second satellite for resources required to complete the target task, the satellite network includes a plurality of satellites of the first type and a plurality of satellites of the second type, the first satellite belongs to the first type of satellite, and the second satellite belongs to the second type of satellite; The first satellite splits the target task into a plurality of subtasks according to the available resource amounts of each target satellite and the target resource amount, to obtain a target task chain, wherein the target task chain includes each of the subtasks, an execution order of each of the subtasks, and an identifier of a target satellite that executes the subtask, and the target satellite belongs to the second type of satellite; The first satellite sends the subtasks in the target task chain to the corresponding satellite so that the subtasks are executed by the target satellite, including: the first satellite sends the i-th subtask to the i-th target satellite, wherein i is an integer greater than or equal to 1, and the i-th subtask is the subtask with the i-th execution order in the target task chain; In the case where the i-th target satellite receives the i-th subtask, the i-th target satellite processes the i-th subtask to obtain a task processing result.

2. The method according to claim 1, characterized in that Before the first satellite receives the resource request from the second satellite, the method further includes: The second satellite obtains a task request from the ground terminal, wherein the task request carries the target task; The second satellite inputs the target task into a first neural network model to obtain the target resource amount; Among them, the model parameters of the first neural network model are first target model parameters obtained by the ground terminal using the second training data set to train the first initial neural network model.

3. The method according to claim 2, characterized in that Before the second satellite obtains the mission request from the ground terminal, the method further includes: The ground terminal performs multiple rounds of iterative training on the first initial neural network model using the second training data set, and terminates the training to obtain the first target model parameters when a second target convergence condition is met; The ground terminal sends the first target model parameters to the second satellite.

4. The method according to claim 3, characterized in that After the ground terminal sends the first target model parameters to the second satellite, the method further includes: The second satellite sets the model parameters of the first initial neural network model as the first target model parameters to obtain the first neural network model.

5. The method according to claim 1, characterized in that The first satellite splits the target task into a plurality of subtasks according to the available resource amounts of each satellite and the target resource amount to obtain a target task chain, including: The first satellite inputs the available resource amount of each of the target satellites, the target resource amount and the target task into a second neural network model to obtain the target task chain; The model parameters of the second neural network model are second target model parameters obtained by the ground terminal using the first training data set to train the second initial neural network model.

6. The method according to claim 5, characterized in that Before the first satellite inputs the available resource amount, the target resource amount and the target task of each of the target satellites into a second neural network model, the method further includes: The ground terminal performs multiple rounds of iterative training on the second initial neural network model using the first training data set, and terminates the training to obtain the second target model parameters when the first target convergence condition is met; The ground terminal sends the second target model parameters to the first satellite.

7. The method according to claim 6, characterized in that After the ground terminal sends the second target model parameters to the first satellite, the method further includes: The first satellite sets the model parameters of the second initial neural network model as the second target model parameters to obtain the second neural network model.

8. The method according to claim 1, characterized in that The method further comprises: The i-th target satellite encodes the task processing result using a fountain code to obtain an i-th encoding result.

9. The method according to claim 8, characterized in that After the i-th target satellite encodes the task processing result using a fountain code to obtain an i-th encoding result, the method further includes: In the case where the i-th subtask is the first subtask in the target task chain, the i-th target satellite obtains the i-th data packet through the i-th encoding result and the available resources of the i-th target satellite, and sends the i-th data packet to the i+1-th target satellite, so that the i+1-th target satellite processes the i+1-th subtask based on the i-th encoding result; In the case that the i-th subtask is not the first subtask and the last subtask in the target task chain, the i-th target satellite obtains the i-th data packet through the i-th encoding result and the available resources of the first i satellites, and sends the i-th data packet to the i+1-th target satellite, so that the i+1-th target satellite processes the i+1-th subtask based on the i-th encoding result.

10. The method according to claim 1, characterized in that The method further comprises: In the case where the i-th subtask is the last subtask in the target task chain, the i-th target satellite receives the i-1-th data packet from the i-1-th satellite, wherein the i-1-th data packet carries available resources of the first i-1 satellites and the i-1-th encoding result; The i-th target satellite sends the available resources of the first i-1 satellites and the available resources of the i-th target satellite to the first satellite; The i-th target satellite processes the i-1-th subtask based on the i-1-th encoding result to obtain a processing result of the target task, and sends the processing result of the target task to the ground terminal.

11. A device for allocating resources, characterized in that: Applied to the first satellite, including: a receiving module, configured to receive a resource request from a second satellite, wherein the resource request carries a target task and a target resource amount, the target task is a task requested by a ground terminal to the second satellite, the target resource amount is a resource amount estimated by the second satellite for resources required to complete the target task, the satellite network includes a plurality of satellites of the first type and a plurality of satellites of the second type, the first satellite belongs to the first type of satellite, and the second satellite belongs to the second type of satellite; a splitting module, configured to split the target task into a plurality of subtasks according to the available resource amount of each target satellite and the target resource amount, so as to obtain a target task chain, wherein the target task chain includes each of the subtasks, the execution order of each of the subtasks, and an identifier of a target satellite that executes the subtask, and the target satellite belongs to the second type of satellite; A sending module, used for sending the subtasks in the target task chain to the corresponding satellites, so as to execute the subtasks through the target satellites; The sending module is used to send the subtasks in the target task chain to the corresponding satellite through the following steps: Sending the ith subtask to the ith target satellite, wherein i is an integer greater than or equal to 1, and the ith subtask is the ith subtask in the target task chain; When the i-th target satellite receives the i-th subtask, the i-th target satellite processes the i-th subtask to obtain a task processing result.

12. A system for allocating resources, characterized in that: The method for allocating resources applied to any one of claims 1 to 10 comprises: A ground terminal is used to send a task request to a second satellite, wherein the task request carries a target task, the satellite network includes a plurality of satellites of the first type and a plurality of satellites of the second type, and the second satellite belongs to the second type of satellite; a second satellite, configured to estimate the target resource quantity obtained by estimating the resources required to complete the target task, and send a resource request to the first satellite, wherein the resource request carries the target task and the target resource quantity, and the first satellite belongs to the first type of satellite; a first satellite, configured to split the target task into a plurality of subtasks according to the available resource amounts of each target satellite and the target resource amount, to obtain a target task chain, wherein the target task chain includes each of the subtasks, an execution order of each of the subtasks, and an identifier of a target satellite that executes the subtask, and the target satellite belongs to the second type of satellite; and send the subtasks in the target task chain to the corresponding target satellite; A plurality of satellites, including an i-th target satellite, are used to process an i-th subtask in the target task chain to obtain a task processing result; The first satellite is further used to send the subtasks in the target task chain to the corresponding satellite through the following steps: sending the ith subtask to the ith target satellite, wherein i is an integer greater than or equal to 1, and the ith subtask is the ith subtask in the target task chain with an execution order of ith; The i-th target satellite is used to process the i-th subtask and obtain a task processing result when the i-th target satellite receives the i-th subtask.

13. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method described in any one of claims 1 to 11 when executed by a processor.

14. An electronic device comprising a memory and a processor, characterized in that: A computer program is stored in the memory, and the processor is configured to run the computer program to perform the method according to any one of claims 1 to 11.

15. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method described in any one of claims 1 to 11 are implemented.

Citation Information

Patent Citations

  • Satellite virtual resource allocation method and device, storage medium and equipment

    CN113342537A

  • Satellite resource scheduling method and device, electronic equipment and storage medium

    CN115545538A