Data stream computing task migration method and device, electronic equipment and storage medium

By deploying intelligent agents in the computing network and utilizing the multi-agent deep deterministic policy gradient algorithm for collaborative decision-making, the accuracy problem of data flow computing task migration in wired computing networks is solved, server congestion is improved, and resource utilization and throughput are increased.

CN119211134BActive Publication Date: 2026-02-06CHINA TELECOM CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411103613.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-12
Publication Date
2026-02-06
Estimated Expiration
2044-08-12

AI Technical Summary

Technical Problem

Existing data stream computing task migration mechanisms have low accuracy in wired computing networks, leading to server congestion and resource waste, and failing to effectively improve resource utilization and throughput.

Method used

By deploying agents in the computing network and using multi-agent deep deterministic policy gradient algorithm for collaborative decision-making, the best migration path and target server are selected based on data flow type and network status information. The sent and unsent parts of the data flow are separated for migration, reducing routing overhead and improving server congestion.

Benefits of technology

It improves the accuracy of data stream computing task migration, reduces packet loss rate, increases the throughput of computing networks, and improves the overall efficiency of the network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119211134B_ABST
    Figure CN119211134B_ABST
Patent Text Reader

Abstract

The application provides a data stream computing task migration method and device, electronic equipment and storage medium. The method comprises the following steps: judging whether the first data stream being sent to the target server in the computing power network causes the target server to be congested; if so, selecting a to-be-migrated data stream from the target server; when the to-be-migrated data stream is the first data stream, determining a first server, a first migration path and a second migration path to which the to-be-migrated data stream migrates, migrating the sent part of the to-be-migrated data stream from the target server to the first server according to the first migration path, and migrating the unsent part of the to-be-migrated data stream from the user equipment to the first server according to the second migration path; when the to-be-migrated data stream is not the first data stream, determining a second server and a third migration path to which the to-be-migrated data stream migrates, and migrating the to-be-migrated data stream to the second server according to the third migration path. The application improves the accuracy of data stream computing task migration.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of network, in particular to a data flow computing task migration method and device, electronic equipment and storage medium. BACKGROUND

[0002] In the computing power network scenario, in order to prevent the server from being congested, and at the same time improve the resource utilization rate of the computing power network, the demand for data flow computing task migration mechanism is essential.

[0003] As the cornerstone of the computing power network, computing power gradually presents the characteristics of heterogeneity and geographical distribution. However, with the development of industrial digitization, computing tasks are gradually intensive and diverse. On the one hand, the surge of computing tasks challenges the processing capacity of the server, and on the other hand, in the distributed computing power network, computing task data streams of different business types from different users may compete for high-quality computing power resources, causing uneven load between servers. In addition, due to the inherent message lag of the distributed network architecture, a large amount of data streams arriving at the server may cause congestion, thereby affecting the overall throughput and other performances of the computing power network. The introduction of the data flow computing task migration mechanism aims to effectively cope with these challenges, ensure efficient transmission of the computing power network, avoid unnecessary waste of resources, improve resource utilization, and ensure efficient operation of the computing power network in a complex computing task environment.

[0004] In the current technology, the research on the data flow computing task migration mechanism usually considers the migration caused by user mobility in the wireless scenario. It mainly considers the update of the optional server set caused by the communication coverage of the server and the movement of the user equipment, considers the relationship between the server and the user equipment during the movement, and selects a new server that can provide computing services for the user. However, the data flow computing task migration mechanism of such research usually assumes that the user to server is one-hop direct wireless communication, while the nodes of the computing power network are usually wired connections, and the network structure is relatively complex, so the migration result accuracy of the above migration mode is low. SUMMARY

[0005] In view of the above problems, the embodiments of the present application provide a data flow computing task migration method, device, electronic equipment and storage medium to improve the accuracy of data flow computing task migration.

[0006] According to an aspect of an embodiment of the present application, a data flow computing task migration method is provided, the method comprising:

[0007] determining whether a first data flow in a computing power network being sent to a target server causes the target server to be congested;

[0008] selecting a data flow to be migrated from the target server when the target server is congested;

[0009] when the data flow to be migrated is the first data flow, determining a first server to which the data flow to be migrated migrates, a first migration path and a second migration path, migrating a sent part of the data flow to be migrated from the target server to the first server according to the first migration path, and migrating an unsent part of the data flow to be migrated from the user equipment to the first server according to the second migration path;

[0010] when the data flow to be migrated is not the first data flow, determining a second server to which the data flow to be migrated migrates and a third migration path, and migrating the data flow to be migrated to the second server according to the third migration path.

[0011] Optionally, the determining of the first server to which the data flow to be migrated migrates, the first migration path and the second migration path comprises: determining the first server to which the data flow to be migrated migrates, the first migration path and the second migration path cooperatively by using an agent at an outlet of the first data flow and an agent at an inlet of the first data flow; and the determining of the second server to which the data flow to be migrated migrates and the third migration path comprises: determining the second server to which the data flow to be migrated migrates and the third migration path by using the agent at the outlet of the first data flow.

[0012] Optionally, the cooperatively determining of the first server to which the data flow to be migrated migrates, the first migration path and the second migration path by using the agent at the outlet of the first data flow and the agent at the inlet of the first data flow comprises:

[0013] obtaining network state information, server state information and data flow computing task information of the computing power network;

[0014] inputting information of the target server, the network state information, the server state information and the data flow computing task information into the agent at the outlet of the first data flow, and inputting information of the user equipment, the network state information, the server state information and the data flow computing task information into the agent at the inlet of the first data flow;

[0015] cooperatively determining by the agent at the outlet of the first data flow and the agent at the inlet of the first data flow according to respective inputs to obtain the first server and the first migration path output by the agent at the outlet of the first data flow, and the first server and the second migration path output by the agent at the inlet of the first data flow.

[0016] Optionally, the determining, by the agent at the first data stream outlet, of the second server and the third migration path to which the to-be-migrated data stream is migrated comprises:

[0017] Obtaining network state information, server state information and data stream computing task information of the computing power network;

[0018] Taking the information of the target server, the network state information, the server state information and the data stream computing task information as inputs of the agent at the first data stream outlet;

[0019] Making decisions by the agent at the first data stream outlet according to the inputs to obtain the second server and the third migration path output by the agent at the first data stream outlet.

[0020] Optionally, the agent training is performed in the following manner:

[0021] An experimental network is constructed, and to-be-trained agents are arranged at an experimental data stream inlet and an experimental data stream outlet in the experimental network;

[0022] It is determined whether the first experimental data stream being sent to a target experimental server in the experimental network causes the target experimental server to be congested, and a to-be-migrated experimental data stream is selected from the target experimental server when the target experimental server is congested;

[0023] When the to-be-migrated experimental data stream is the first experimental data stream, to-be-trained agents at the first experimental data stream outlet and the first experimental data stream inlet are used to cooperatively determine a first experimental server, a first experimental migration path and a second experimental migration path to which the to-be-migrated experimental data stream is migrated, migrate a sent part of the to-be-migrated experimental data stream from the target experimental server to the first experimental server according to the first experimental migration path, and migrate an unsent part of the to-be-migrated experimental data stream from an experimental user equipment to the first experimental server according to the second experimental migration path;

[0024] When the to-be-migrated experimental data stream is not the first experimental data stream, the to-be-trained agent at the first experimental data stream outlet is used to determine a second experimental server and a third experimental migration path to which the to-be-migrated experimental data stream is migrated, and the to-be-migrated experimental data stream is migrated to the second experimental server according to the third experimental migration path;

[0025] It is determined whether a preset condition is met to determine whether the training is completed, and the trained agent is obtained after the training is completed.

[0026] Optionally, the determining, by the first experimental data stream outlet, the second experimental server and the third experimental migration path to which the to-be-migrated experimental data stream is migrated, comprises: inputting a state parameter into the to-be-trained agent at the first experimental data stream outlet, the to-be-trained agent at the first experimental data stream outlet generating a third action parameter, and determining the second experimental server and the third experimental migration path based on the third action parameter.

[0027] The state parameter comprises: network state information of the experimental network, experimental server state information, and experimental data stream computing task information.

[0028] The third action parameter comprises: information of the second experimental server, a bandwidth weight, and weights of paths in the experimental network.

[0029] Optionally, the determining whether the first data stream in the computing power network and going to the target server causes the target server to be congested comprises:

[0030] Obtaining a remaining cache capacity of a target computing power resource in the target server that can meet a delay requirement of the first data stream, and obtaining a data amount of the first data stream;

[0031] When the remaining cache capacity is less than the data amount of the first data stream, it is determined that the first data stream causes the target server to be congested.

[0032] Optionally, the selecting the to-be-migrated data stream from the target server comprises: selecting, from a target queue of the target server corresponding to the first data stream, a data stream that meets a migration condition and has a largest data amount as the to-be-migrated data stream.

[0033] According to another aspect of the embodiments of the present application, a data stream computing task migration device is provided, and the device comprises:

[0034] A judging module is configured to judge whether a first data stream in a computing power network and going to a target server causes the target server to be congested.

[0035] A selecting module is configured to select a to-be-migrated data stream from the target server when the target server is congested.

[0036] a first migration module, configured to determine a first server, a first migration path and a second migration path to which the to-be-migrated data stream migrates, when the to-be-migrated data stream is the first data stream, migrate a sent part of the to-be-migrated data stream from the target server to the first server according to the first migration path, and migrate an unsent part of the to-be-migrated data stream from the user equipment to the first server according to the second migration path;

[0037] a second migration module, configured to determine a second server and a third migration path to which the to-be-migrated data stream migrates, when the to-be-migrated data stream is not the first data stream, and migrate the to-be-migrated data stream to the second server according to the third migration path.

[0038] Optionally, the first migration module is specifically configured to determine the first server, the first migration path and the second migration path to which the to-be-migrated data stream migrates, in cooperation with an agent at an outlet of the first data stream and an agent at an inlet of the first data stream; and the second migration module is specifically configured to determine the second server and the third migration path to which the to-be-migrated data stream migrates, in cooperation with the agent at the outlet of the first data stream.

[0039] Optionally, the first migration module comprises:

[0040] a first acquisition unit, configured to acquire network state information, server state information and data stream computing task information of the computing power network;

[0041] a first decision unit, configured to input information of the target server, the network state information, the server state information and the data stream computing task information into the agent at the outlet of the first data stream, input information of the user equipment, the network state information, the server state information and the data stream computing task information into the agent at the inlet of the first data stream, and make a cooperative decision according to respective inputs by using the agent at the outlet of the first data stream and the agent at the inlet of the first data stream, to obtain the first server and the first migration path output by the agent at the outlet of the first data stream, and the first server and the second migration path output by the agent at the inlet of the first data stream.

[0042] Optionally, the second migration module comprises:

[0043] a second acquisition unit, configured to acquire network state information, server state information and data stream computing task information of the computing power network;

[0044] a second decision unit, configured to take the information of the target server, the network state information, the server state information and the data stream computing task information as inputs of an agent at the first data stream outlet; and make a decision according to the inputs by using the agent at the first data stream outlet to obtain the second server and the third migration path output by the agent at the first data stream outlet.

[0045] Optionally, the agent training is performed by the following modules:

[0046] a construction module, configured to construct an experimental network and set the to-be-trained agent at an experimental data stream inlet and an experimental data stream outlet in the experimental network;

[0047] a training judgment module, configured to determine whether a first experimental data stream being sent to a target experimental server in the experimental network causes the target experimental server to be congested; and select a to-be-migrated experimental data stream from the target experimental server when the target experimental server is congested;

[0048] a first training migration module, configured to, when the to-be-migrated experimental data stream is the first experimental data stream, cooperatively determine, by using the to-be-trained agent at the first experimental data stream outlet and the to-be-trained agent at the first experimental data stream inlet, a first experimental server to which the to-be-migrated experimental data stream is to be migrated, a first experimental migration path and a second experimental migration path; migrate a sent part of the to-be-migrated experimental data stream from the target experimental server to the first experimental server according to the first experimental migration path; and migrate an unsent part of the to-be-migrated experimental data stream from an experimental user equipment to the first experimental server according to the second experimental migration path;

[0049] a second training migration module, configured to, when the to-be-migrated experimental data stream is not the first experimental data stream, determine, by using the to-be-trained agent at the first experimental data stream outlet, a second experimental server to which the to-be-migrated experimental data stream is to be migrated and a third experimental migration path; and migrate the to-be-migrated experimental data stream to the second experimental server according to the third experimental migration path;

[0050] an end judgment module, configured to determine whether the training is ended according to a preset condition, and obtain the trained agent after the training is ended.

[0051] Optionally, the second training migration module is specifically configured to input a state parameter into the to-be-trained agent at the first experimental data stream outlet, and the to-be-trained agent at the first experimental data stream outlet generates a third action parameter and determines the second experimental server and the third experimental migration path based on the third action parameter.

[0052] The state parameter comprises: network state information of the experimental network, experimental server state information, and experimental data flow calculation task information.

[0053] The third action parameter comprises: information of the second experimental server, bandwidth weight, and weight of each path in the experimental network.

[0054] Optionally, the determining module comprises:

[0055] The third obtaining unit is configured to obtain a remaining cache capacity of a target computing resource in the target server that can meet the first data flow latency requirement, and obtain a data volume of the first data flow.

[0056] The determining unit is configured to determine that the first data flow causes the target server to be congested when the remaining cache capacity is less than the data volume of the first data flow.

[0057] Optionally, the selecting module is specifically configured to select, from a target queue of the target server corresponding to the first data flow, a data flow that meets a migration condition and has a largest data volume as the data flow to be migrated.

[0058] According to another aspect of embodiments of the present application, an electronic device is provided, which comprises a processor and a computer readable storage medium, and the computer readable storage medium has stored thereon a computer program; when the computer program is executed by the processor, the processor performs the data flow calculation task migration method according to any one of the preceding embodiments.

[0059] According to another aspect of embodiments of the present application, a computer readable storage medium is provided, and the computer readable storage medium has stored thereon a computer program; when the computer program is executed by a processor, the processor performs the data flow calculation task migration method according to any one of the preceding embodiments.

[0060] In the embodiments of the present application, when the target router is congested, a data flow to be migrated is selected from the target server, and according to different types of the data flow to be migrated, for the data flow to be migrated that is not completely cached to the target server, the part that has been sent is migrated from the target server to the first server, and the part that has not been sent is migrated from the user equipment to the first server; for the data flow to be migrated that is completely cached to the target server, it is migrated from the target server to the first server. The above method takes into account the routing overhead caused by migration, and the part that has not been sent of the data flow to be migrated does not need to be migrated again after being sent to the target server. This not only improves the congestion condition of the server in the computing power network and enables the data flow calculation task to be effectively executed, but also improves the accuracy of data flow calculation task migration, increases the throughput of the computing power network, and improves the overall efficiency of the network. Attached Figure Description

[0061] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments of this application will be briefly introduced below. Obviously, the drawings described below are only some drawings of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0062] Figure 1 This is a schematic diagram illustrating an application scenario of an embodiment of this application;

[0063] Figure 2 This is a flowchart illustrating the steps of a data stream computing task migration method according to an embodiment of this application;

[0064] Figure 3 This is a schematic diagram of an agent training process according to an embodiment of this application;

[0065] Figure 4 This is a structural block diagram of a data stream computing task migration device according to an embodiment of this application;

[0066] Figure 5 This is a structural block diagram of an electronic device according to an embodiment of this application;

[0067] Figure 6 This is a structural block diagram of a computer-readable storage medium according to an embodiment of this application. Detailed Implementation

[0068] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0069] First, the technical terms mentioned in the embodiments of this application will be explained.

[0070] Congestion avoidance:

[0071] Congestion avoidance refers to taking certain measures to avoid or alleviate the situation of network congestion. Congestion in the context of distributed computing power network is divided into link congestion and server congestion. Link congestion refers to the congestion situation that occurs on the communication link connecting the network nodes in the computing power network. Server congestion refers to the situation when the processing capacity or cache space of the server node reaches or exceeds its capacity limit. In this case, the server node cannot process all arriving requests or data packets in time, resulting in increased delay, decreased service quality, and even service interruption. At this time, certain measures such as resource dynamic adjustment, queue control, cache and prefetch mechanism need to be taken to alleviate the situation of server congestion, improve the performance and reliability of the server, and ensure the normal operation of the service. The congestion avoidance measures in this application are mainly aimed at the situation of server congestion.

[0072] Computing task (i.e., data stream computing task) migration:

[0073] The computing task migration mechanism of the distributed computing power network refers to the process and strategy of migrating the tasks waiting for computation from one server to another server when the server node in the network is congested or has other problems. The computing task migration mechanism usually includes congestion detection, migration decision, data migration transmission, and sometimes state synchronization. The computing task migration mechanism aims to improve the overall performance and reliability of the computing power network and ensure the effective execution of computing tasks.

[0074] Deep Deterministic Policy Gradient (DDPG):

[0075] Deep Deterministic Policy Gradient (DDPG) is a deep reinforcement learning algorithm used to solve problems in continuous action space. It adopts an Actor (execution)-Critic (evaluation) structure, where the Actor module is responsible for learning the policy for selecting actions, and the Critic module learns the value function for evaluating state values. The algorithm uses experience replay to train neural networks to increase the efficiency of sample utilization and training stability. To further improve the stability of the algorithm, it introduces the concept of target network, which updates the parameters regularly to slow down the parameter update speed during training.

[0076] Multi-agent deep reinforcement learning:

[0077] Multi-agent deep reinforcement learning is based on ordinary deep reinforcement learning technology and involves the technology of multiple agents learning cooperatively. In this technology, each agent is an independent learning entity with the ability to perceive the environment, make decisions and perform actions. Each agent can adjust its actions by perceiving the state of the environment, performing actions, applying the actions to the environment, and adjusting its actions through feedback from the change in the environment to maximize the expected return. Compared with traditional single-agent deep reinforcement learning, the goal of multi-agent deep reinforcement learning is to enable all agents in the system to gradually improve performance and maximize global cumulative rewards through cooperation and competition among agents. This learning architecture has a natural advantage in solving distributed problems with complex environmental interactions, dynamic network topology and heterogeneous resource allocation.

[0078] Multi-agent deep deterministic policy gradient algorithm (MADDPG):

[0079] The multi-agent deep deterministic policy gradient algorithm is an algorithm based on the DDPG algorithm, except that multiple agents with different goals use the same evaluation module for training, different agents use different strategies to maximize their own rewards, and the decisions of the agents are cooperative and antagonistic. One of the goals of this algorithm is to achieve global optimization.

[0080] Next, the data flow computing task migration method in the embodiments of the present application will be introduced.

[0081] In the current technology, the research on the data flow computing task migration mechanism usually considers the migration caused by user mobility in a wireless scenario. It mainly considers the update of the optional server set caused by the communication coverage of the server and the movement of the user equipment, considers the relationship between the server and the user equipment during the movement, and selects a new server that can provide computing services for the user.

[0082] However, the data flow computing task migration mechanism of such research usually assumes one-hop direct wireless communication from the user to the server, while the nodes of the computing power network are usually connected by wires, and the network structure is relatively complex. At this time, the routing overhead of the data flow computing task migration process cannot be ignored. At the same time, due to the diversity of computing tasks waiting for server service, the heterogeneity requirements for delay, computing power, etc. lead to the difference in migration cost, migration path, and migration effect.

[0083] The data stream computing tasks waiting for service can be mainly divided into data streams that have just arrived and are not completely cached on the server, and data streams that have been completely cached on the server in the queue. When the data stream to be migrated is a data stream that has been completely cached on the server, the routing overhead between the server currently cached and the server migrated to needs to be considered. When the data stream to be migrated is a data stream that has not been completely cached on the server, since the computing task requires data integrity, and in order to avoid unnecessary loss caused by packet retransmission, not only the routing overhead between the server currently cached and the server migrated to needs to be considered, but also the routing overhead of the data stream from the user equipment to the server migrated to needs to be considered.

[0084] Therefore, the selection of the data stream to be migrated, and the intelligent decision of the server and the migration path to which the data stream of different types is migrated by using different migration algorithms are very challenging for the research of the data stream computing task migration mechanism.

[0085] In the embodiments of the present application, an intelligent migration mechanism for data stream computing tasks of different types in a distributed computing power network server congestion scenario is provided. The mechanism is used to solve the server congestion problem in this scenario, ensure the effective execution of data stream computing tasks, and improve the overall performance of the computing power network. In the distributed computing power network, when a certain server is congested, a second decision is made. First, some data streams to be migrated are selected from the queue originally waiting for the computing power resources of the server for task migration. Then, according to the different types of the selected data streams to be migrated, the routing overhead is considered, and the specific server and the specific migration path to which the data stream to be migrated is migrated are selected. This way of considering the routing overhead caused by migration not only improves the congestion of the servers in the computing power network, enables the data stream computing tasks to be effectively executed, but also reduces the packet loss rate, increases the throughput of the computing power network, and improves the overall efficiency of the network.

[0086] Reference Figure 1 FIG. 1 shows a schematic diagram of an application scenario of the embodiments of the present application.

[0087] As Figure 1 shown, the computing power network includes user equipment, routers, and servers (which can also be referred to as computing power servers, computing servers, etc.). The user equipment establishes a routing path (i.e., a communication link) with the server via the router. Figure 1 In the figure, path 1 is the path of the original data stream computing task; path 2 is the migration path of the data stream that has been completely cached on the server (i.e., the target server); and path 3 is the migration path of the data stream that has not been completely cached on the server (i.e., the target server), which includes the migration path migrated from the user equipment and the migration path migrated from the server (i.e., the target server).

[0088] Referring to Figure 2 , a step flow chart of a data stream computing task migration method of an embodiment of the present application is shown.

[0089] As shown in Figure 2 , the data stream computing task migration method can include the following steps:

[0090] Step 201, determine whether the first data stream being sent to the target server in the computing power network causes the target server to be congested.

[0091] In the computing power network, relevant devices (such as controllers, etc.) can collect information, which includes but is not limited to: network state information, server state information, data stream computing task information, router cache information, bandwidth occupation information, network throughput, etc. The user device sends a first data stream that needs to be executed by the server to perform a computing task. The relevant devices (such as controllers, etc.) in the computing power network will plan the routing path of the first data stream according to the current network state information, server state information, data stream computing task information, and user demand information, etc., intelligently select the router for transmitting the first data stream, and the target server for executing the computing task of the first data stream. For this selection process, it is the self-capability of the computing power network, which can be handled according to actual experience.

[0092] The first data stream first arrives at the router connected to the user device (this router is called the entry router), and then arrives at the router connected to the target server (this router is called the exit router). Between the entry router and the exit router, according to the actual network structure, it may need to pass through intermediate routers, or it may not need to pass through intermediate routers.

[0093] In an optional implementation, after the first data stream arrives at the exit router, a congestion awareness operation can be performed to determine whether the first data stream being sent to the target server in the computing power network causes the target server to be congested. In the congestion awareness operation, it is necessary to be able to actively obtain the relevant information of the server and the relevant information of the first data stream forwarded in the computing power network.

[0094] Exemplarily, the process of determining whether the first data stream being sent to the target server in the computing power network causes the target server to be congested can include: obtaining the remaining cache capacity of the target computing power resource in the target server that can meet the delay requirement of the first data stream, and obtaining the data volume of the first data stream; when the remaining cache capacity is less than the data volume of the first data stream, it is determined that the first data stream causes the target server to be congested.

[0095] The server has multiple computing power resources, each of which has a corresponding queue. The server can pre-allocate different cache sizes to different computing power resources according to the average demand for the computing power resources in the entire network.

[0096] For example, after receiving the first data stream, the egress router can send a query request to the target server to actively query the queue information of the computing power resources and the remaining cache information of the computing power resources in the target server. The queue information can include but is not limited to the identification information of the queue, the latency information of the queue, etc. The remaining cache information can include but is not limited to the remaining cache capacity, etc. The first data stream can include but is not limited to the data amount of the first data stream (the data amount is the total data amount of the first data stream), the latency requirement information of the first data stream, etc. The egress router can select a target computing power resource that can meet the latency requirement of the first data stream according to one or more of the data amount of the first data stream, the latency requirement information of the first data stream, the queue information of the computing power resources, and the remaining cache information of the computing power resources, and compare the remaining cache capacity of the target computing power resource with the data amount of the first data stream.

[0097] For example, when planning the routing path of the first data stream, the related equipment (such as a controller, etc.) in the computing power network can select a target server that performs a computing task for the first data stream, further query the queue information of the computing power resources and the remaining cache information of the computing power resources in the target server, and select a target computing power resource that can meet the latency requirement of the first data stream according to one or more of the data amount of the first data stream, the latency requirement information of the first data stream, the queue information of the computing power resources, and the remaining cache information of the computing power resources, and inform the egress router of the information of the target computing power resource. After receiving the first data stream, the egress router can send a query request to the target server to actively query the queue information of the computing power resources and the remaining cache information of the computing power resources in the target server, and compare the remaining cache capacity of the target computing power resource with the data amount of the first data stream.

[0098] For the above process of selecting a target computing power resource that can meet the latency requirement of the first data stream according to one or more of the data amount of the first data stream, the latency requirement information of the first data stream, the queue information of the computing power resources, and the remaining cache information of the computing power resources, the actual experience can be processed, and the present embodiment does not limit this. For example, it can be determined whether the latency information of the queue of the computing power resource can meet the latency requirement of the first data stream, and if so, the computing power resource can be considered as the target computing power resource, etc.

[0099] For example, the egress router receives the first data stream f s, the data amount size of the first data stream is m, and the target server C has n kinds of computing resource, denoted as c1, c2, … c n . It is assumed that the first data stream requests the service of the computing resource c f of the target server C, the exit router sends a query request to the target server C, and actively queries the corresponding queue information and the remaining cache capacity of the computing resource c f of the target server C. If , it is determined that the target server C is congested, and step three is performed. Otherwise, the data stream is inserted into the corresponding queue to wait for the computing service.

[0100] When it is determined that the first data stream to the target server causes the target server to be congested, the following step 202 can be performed, and of course the first data stream can be inserted into the target queue corresponding to the target computing resource that can meet the delay requirement of the first data stream in the target server. When it is determined that the first data stream to the target server does not cause the target server to be congested, the first data stream can be inserted into the target queue corresponding to the target computing resource that can meet the delay requirement of the first data stream in the target server, and wait for the processing of the target computing resource.

[0101] Step 202, when the target server is congested, selecting a data stream to be migrated from the target server.

[0102] When it is determined that the first data stream causes the target server to be congested, a data stream selection operation can be performed to select a data stream to be migrated from the target server. In the data stream selection operation, the server information (resource information, state information, etc.), network state information, and computing task information (requirement information, state information, etc.) of each data stream, such as the remaining delay budget, are required. According to different requirements and types of data streams, whether to select the data stream for migration under the limitation of meeting the computing task requirement is determined by using linear scanning method.

[0103] In an optional embodiment, the process of selecting a data stream to be migrated from the target server can include: selecting a data stream that meets the migration condition and has the largest data amount from the target queue of the target server corresponding to the first data stream as the data stream to be migrated.

[0104] The target queue of the target server corresponding to the first data stream can refer to the target queue in which the first data stream is inserted into the target computing resource.

[0105] Exemplarily, the migration condition can include but is not limited to: there is at least one server in the computing power network that can meet the cache requirement of the data flow, and there is at least one path that can meet the delay requirement of the data flow.

[0106] The judgment of the above migration condition can be processed according to actual conditions, and the embodiment does not limit this. For example, the server that can meet the cache requirement of the data flow can be that there is a computing power resource in the server with a remaining cache capacity greater than the data amount of the data flow, and the like; the path that can meet the delay requirement of the data flow can be that the delay information of the path is greater than the delay requirement (specifically, the remaining delay requirement) of the data flow, and the like.

[0107] After the to-be-migrated data flow is selected, a migration planning operation is performed to decide the server and the migration path to which the to-be-migrated data flow is migrated. In the embodiment of the application, in the migration planning operation, different algorithms are used for migration planning operation according to different types of to-be-migrated data flow.

[0108] In step 203, when the to-be-migrated data flow is the first data flow, the first server to which the to-be-migrated data flow is migrated, the first migration path and the second migration path are determined, the sent part of the to-be-migrated data flow is migrated from the target server to the first server according to the first migration path, and the unsent part of the to-be-migrated data flow is migrated from the user equipment to the first server according to the second migration path.

[0109] When the to-be-migrated data flow is the first data flow, it is explained that the to-be-migrated data flow is not completely cached to the target server. In this case, the first server to which the to-be-migrated data flow is migrated, the first migration path and the second migration path can be determined.

[0110] In an optional embodiment, a deep reinforcement learning agent can be used to perform the migration planning operation. An agent is a concept in the field of artificial intelligence, which refers to a system that can independently perceive the environment, make decisions and perform actions.

[0111] In the embodiment of the application, the agent is deployed on the edge router of the computing power network, and the agent on the entry router directly connected with the user equipment can be denoted as A I , which is used to proxy various services generated by the user equipment, and the agent on the exit router directly connected with the server can be denoted as A E , which is used to proxy various computing power resources on the corresponding server. The learning goal of the algorithm is to slow down the generation of network congestion, improve network throughput and computing power resource utilization, and increase the throughput of the computing power network.

[0112] Each agent has its own Actor module and experience replay pool to store the learning results for the optimization object it represents.

[0113] The Critic module is shared by multiple agents, and by obtaining and analyzing the behaviors of all agents, the network can calculate the changes in the computing power network environment and achieve the purpose of cooperation.

[0114] Agents of the same type can access each other's strategies during training to determine the behaviors that other agents may take, and each agent can have multiple sub-strategies and be replaced regularly to prevent strategy overfitting between agents.

[0115] The Actor module and the Critic module have two network models with the same structure and different parameter update times. The network that can update parameters in real time is the online network, which is responsible for calculating the action value function under the current state, i.e., the Q value. The other network is the target network, which has the same structure as the online network but a lower parameter update frequency. It is introduced to reduce fluctuations and improve stability during training and is used to calculate the target Q value.

[0116] The parameters involved in the agent can include but are not limited to the following parameters:

[0117] State (state parameter): including network state information of the computing power network, server state information, and data stream computing task information;

[0118] Action (action parameter): including server information to which the data stream is migrated, bandwidth weight, and weight of each path in the computing power network. Specifically, Action is an array, the size of the array is the number of paths in the network topology + 2, the first bit of the array is an integer not exceeding the total number of servers in the server candidate set, representing the server information to which the data stream is migrated (specifically, the serial number of the server to which the data stream is migrated in the server candidate set, etc.), the values of the remaining bits in the array are between 0 and 1, the second bit represents the bandwidth weight (the value multiplied by the upper limit of the service bandwidth is the bandwidth allocated to the data stream to be migrated this time), and the remaining bits represent the weight of each path in the computing power network after processing.

[0119] Reward (reward parameter): the ratio of the network throughput increment to the network throughput before migration after the migration routing planning is applied to the experimental network or network simulator, wherein the network throughput increment is the difference between the network throughput after migration and the network throughput before migration.

[0120] In the embodiments of the present application, agent training can be performed in advance.

[0121] Exemplarily, the agent training can be performed in the following manner:

[0122] construct an experimental network, and set the to-be-trained agents at an experimental data flow entrance (specifically, an entrance router) and an experimental data flow exit (specifically, an exit router) in the experimental network; wherein the experimental network can include a delay user equipment, a delay router, and an experimental server;

[0123] determine whether a first experimental data flow being sent to a target experimental server in the experimental network causes the target experimental server to be congested; and select a to-be-migrated experimental data flow from the target experimental server when the target experimental server is congested;

[0124] when the to-be-migrated experimental data flow is the first experimental data flow, determine, by the to-be-trained agent at the exit of the first experimental data flow and the to-be-trained agent at the entrance of the first experimental data flow, a first experimental server to which the to-be-migrated experimental data flow is migrated, a first experimental migration path, and a second experimental migration path, migrate a sent part of the to-be-migrated experimental data flow from the target experimental server to the first experimental server according to the first experimental migration path, and migrate an unsent part of the to-be-migrated experimental data flow from an experimental user equipment to the first experimental server according to the second experimental migration path;

[0125] when the to-be-migrated experimental data flow is not the first experimental data flow, determine, by the to-be-trained agent at the exit of the first experimental data flow, a second experimental server to which the to-be-migrated experimental data flow is migrated and a third experimental migration path, and migrate the to-be-migrated experimental data flow to the second experimental server according to the third experimental migration path;

[0126] determine whether a preset condition is met to determine whether the training is completed, and obtain the trained agent after the training is completed.

[0127] In the processing of each to-be-trained agent, a state parameter is taken as an input of the to-be-trained agent, the to-be-trained agent generates an action parameter according to the state parameter, and determines an experimental server (the first experimental server or the second experimental server) and an experimental migration path (the first experimental migration path, the second experimental migration path, or the third experimental migration path) to which a to-be-migrated experimental data flow is migrated based on the action parameter. After the to-be-migrated data flow is migrated to the corresponding experimental server according to the experimental migration path, a reward parameter is calculated based on a network throughput before migration and a network throughput after migration, and a training result is evaluated based on the reward parameter.

[0128] In the training process, the state parameter includes network state information of the experimental network, experimental server state information, and experimental data flow calculation task information. The action parameter includes experimental server information to which the experimental data flow to be migrated migrates, bandwidth weight, and weight of each path in the experimental network. The reward parameter includes a ratio of a network throughput increment to the network throughput before migration, and the network throughput increment is a difference between the network throughput after migration and the network throughput before migration.

[0129] Exemplarily, the first experimental data flow outlet and the first experimental data flow inlet are used to cooperatively determine the first experimental server to which the experimental data flow to be migrated migrates, the first experimental migration path, and the second experimental migration path, including: inputting the state parameter into the first experimental data flow outlet, inputting the state parameter into the first experimental data flow inlet (of course, other information can also be input, for example, the input of the first experimental data flow outlet can also include information of the target experimental server, and the input of the first experimental data flow inlet can also include information of the experimental user equipment), the first experimental data flow outlet generates the first action parameter, and determines the first experimental server and the first experimental migration path based on the first action parameter, and the first experimental data flow inlet generates the second action parameter, and determines the first experimental server and the second experimental migration path based on the second action parameter.

[0130] The first action parameter includes information of the first experimental server, bandwidth weight (specifically, bandwidth weight corresponding to the target experimental server), and weight of each path in the experimental network. The second action parameter includes information of the first experimental server, bandwidth weight (specifically, bandwidth weight corresponding to the experimental user equipment), and weight of each path in the experimental network.

[0131] Exemplarily, the first experimental data flow outlet is used to determine the second experimental server to which the experimental data flow to be migrated migrates and the third experimental migration path, including: inputting the state parameter into the first experimental data flow outlet, the first experimental data flow outlet generates the third action parameter, and determines the second experimental server and the third experimental migration path based on the third action parameter. The third action parameter includes information of the second experimental server, bandwidth weight (specifically, bandwidth weight corresponding to the target experimental server), and weight of each path in the experimental network.

[0132] The preset condition can be that the number of iterations reaches a maximum number of iterations, and the like.

[0133] Specifically, a variable is initialized, the number of iterations i is initialized to 0, the maximum number of iterations is set to i_max, the current Reward value is 0, and each agent is initialized, the State information is the network state information of the computing power network, the server state information, and the data flow computing task information, an initial migration server strategy is randomly selected from the server candidate set satisfying the condition, and the initial routing strategy is OSPF (Open Shortest Path First). Let the value of i increase by 1, and the agent generates an action. After Softmax normalization, the shortest path is calculated by using the Dijkstra algorithm. The migration planning scheme obtained by the multi-agent for the to-be-migrated data flow collaborative calculation is applied to the experimental network. The network throughput T before migration and the network throughput T' after migration are obtained, and The Reward of the agent is recorded. At the same time, the network state information, the server state information, and the data flow computing task information after migration are obtained as the new State', and (State, Action, Reward, State') is stored in the experience replay pool for model learning reference. Each agent shares the experience replay pool, and the strategy is updated according to the experience replay pool. When the number of iterations i exceeds the maximum number of iterations i_max, the training is ended.

[0134] Correspondingly, the process of determining the first server to which the to-be-migrated data flow is migrated, the first migration path, and the second migration path can include: using the agent at the first data flow outlet (which can be specifically an agent arranged on the outlet router corresponding to the first data flow) and the agent at the first data flow inlet (which can be specifically an agent arranged on the inlet router corresponding to the first data flow), to cooperatively determine the first server to which the to-be-migrated data flow is migrated, the first migration path, and the second migration path.

[0135] Exemplarily, the process of cooperatively determining the first server, the first migration path and the second migration path to which the to-be-migrated data stream is migrated, by using the agent at the first data stream outlet and the agent at the first data stream inlet, can include: obtaining network state information, server state information and data stream computing task information of the computing power network; inputting the information of the target server, the network state information, the server state information and the data stream computing task information into the agent at the first data stream outlet, and inputting the information of the user equipment, the network state information, the server state information and the data stream computing task information into the agent at the first data stream inlet; cooperatively deciding (specifically, cooperatively deciding by using the MADDPG algorithm) by using the agent at the first data stream outlet and the agent at the first data stream inlet according to respective inputs, to obtain the first server and the first migration path output by the agent at the first data stream outlet, and the first server and the second migration path output by the agent at the first data stream inlet.

[0136] In the embodiment of the application, the router can advertise its state information in a flooding manner, and collect network information, including queue information of different computing power resources on the server, buffer status and bandwidth occupation status of the router in the network, and throughput of the current network, etc.

[0137] The network state information can include but is not limited to network topology, buffer status of the router in the network, link (i.e., path) bandwidth occupation status, etc. The server state information can include but is not limited to which types of computing power resources the server has, queue information and remaining buffer capacity corresponding to the computing power resources, etc. The data stream computing task information can include but is not limited to delay requirement information of the data stream, number of data streams, etc.

[0138] After the first computing power server, the first migration path and the second migration path are determined, the sent part of the to-be-migrated data stream is migrated from the target server to the first server according to the first migration path, and the unsent part of the to-be-migrated data stream is migrated from the user equipment to the first server according to the second migration path. The sent part of the to-be-migrated data stream refers to the part of the to-be-migrated data stream that has been cached to the target server. The unsent part of the to-be-migrated data stream refers to the part of the to-be-migrated data stream that has not been sent from the user equipment.

[0139] In implementations, the destination address of the unissued part of the data stream to be migrated can be changed to the IP address of the first server by an ingress router connected with the user equipment, and the unissued part of the data stream to be migrated is forwarded in the data plane and sent to the first server without the forwarding action of the currently congested target server. The destination address of the issued part of the data stream to be migrated can be changed to the IP address of the first server by an egress router connected with the target server, and the issued part of the data stream to be migrated is forwarded in the data plane and sent to the first server.

[0140] In step 204, when the data stream to be migrated is not the first data stream, a second server to which the data stream to be migrated is migrated and a third migration path are determined, and the data stream to be migrated is migrated to the second server according to the third migration path.

[0141] When the data stream to be migrated is not the first data stream, it is indicated that the data stream to be migrated has been completely cached to the target server. In this case, the second server to which the data stream to be migrated is migrated and the third migration path can be determined.

[0142] For example, the process of determining the second server to which the data stream to be migrated is migrated and the third migration path can include: using an intelligent agent at the egress of the first data stream (which can be specifically an intelligent agent arranged at the egress router corresponding to the first data stream) to determine the second server to which the data stream to be migrated is migrated and the third migration path.

[0143] For example, the process of using the intelligent agent at the egress of the first data stream to determine the second server to which the data stream to be migrated is migrated and the third migration path can include: obtaining network state information, server state information and data stream computing task information of the computing power network; taking the information of the target server, the network state information, the server state information and the data stream computing task information as the input of the intelligent agent at the egress of the first data stream; using the intelligent agent at the egress of the first data stream to make a decision (specifically, using a DDPG algorithm to make a collaborative decision) according to the input to obtain the second server and the third migration path output by the intelligent agent at the egress of the first data stream.

[0144] After the second server and the third migration path are determined, the data stream to be migrated is migrated to the second server according to the third migration path. In implementations, the destination address of the data stream to be migrated can be changed to the IP address of the second server by an egress router connected with the target server, and the data stream to be migrated is forwarded in the data plane and sent to the second server.

[0145] In the embodiments of the present application, the routing overhead brought by migration is considered, and the unissued part of the to-be-migrated data flow does not need to be migrated again after being sent to the target server, which not only improves the congestion condition of the servers in the computing power network, enables the data flow computing task to be effectively executed, but also improves the accuracy of the data flow computing task migration, increases the throughput of the computing power network, and improves the overall efficiency of the network.

[0146] With reference to Figure 3 , a schematic diagram of an agent training process is shown.

[0147] As shown in Figure 3 , the agent training process can include:

[0148] Information collection: network state information of the experimental network, experimental server state information, experimental data flow computing task information, etc.

[0149] Congestion awareness: the first experimental data flow arrives at the exit experimental router connected to the target experimental server, and the exit experimental router determines whether the first experimental data flow causes congestion of the target experimental server. If yes, the data flow selection process is performed, and if no, the first experimental data flow is inserted into the target queue in the target experimental server for processing.

[0150] Data flow selection: using linear scanning method, the experimental data flow with the largest data volume that meets the migration condition is selected from the target queue corresponding to the first experimental data flow as the to-be-migrated experimental data flow.

[0151] Initialize the iteration number i = 0, and set the maximum iteration number as i_max.

[0152] Determine whether the to-be-migrated experimental data flow is the first experimental data flow.

[0153] If the to-be-migrated experimental data flow is the first experimental data flow, the to-be-migrated experimental data flow is migrated to the first experimental server, the first experimental migration path and the second experimental migration path are determined by using the to-be-trained agent at the exit of the first experimental data flow and the to-be-trained agent at the entrance of the first experimental data flow, the issued part of the to-be-migrated experimental data flow is migrated from the target experimental server to the first experimental server according to the first experimental migration path, and the unissued part of the to-be-migrated experimental data flow is migrated from the experimental user equipment to the first experimental server according to the second experimental migration path.

[0154] Increase the value of i by 1, and determine whether i ≥ i_max is met; if yes, end the training; if no, repeat the previous step.

[0155] If the to-be-migrated experimental data stream is not the first experimental data stream, then the first experimental data stream outlet is used to determine the second experimental server and the third experimental migration path to which the to-be-migrated experimental data stream is migrated, and the to-be-migrated experimental data stream is migrated to the second experimental server according to the third experimental migration path.

[0156] Increase the value of i by 1, and determine whether i >= i_max is satisfied. If yes, end the training. If no, repeat the previous step.

[0157] The embodiments of the present application provide a computing task intelligent migration mechanism for different types of data streams under a distributed heterogeneous computing power network congestion scenario, while considering the routing overhead.

[0158] Congestion awareness: the router announces its state information by flooding, collects network link state information and computing power node resource utilization state information, and in the subsequent decision-making process, not only will it make decisions according to the matching degree of resource state and data stream computing task, but also will consider the impact of routing overhead on data stream computing task migration determined by the current network state. When the data stream reaches the exit router directly connected to the target server, the exit router actively obtains the state of the target server by sending a query request, and compares it with the current task data stream requirements to determine whether congestion occurs.

[0159] Intelligent migration with second-order decision:

[0160] Data stream selection (first-order decision): if congestion occurs, then use the linear scanning algorithm to select the data stream with the largest data volume in the target queue as the to-be-migrated data stream under the premise of meeting the migration conditions, and determine whether the data stream is a data stream not completely cached on the target server or a data stream completely cached on the target server, and according to the different types of data streams, different intelligent migration algorithms are enabled at the second-order decision.

[0161] Migration Route Planning (Second-Order Decision): Based on the type of data flow to be migrated, the decision is made regarding the server to which the data flow should be migrated and the migration path. If the data flow to be migrated is not fully cached on the target server, the agent at the egress router needs to collaborate with the agent at the ingress router to decide on the server to which it should be migrated and the migration path. The portion of the data flow that has already been sent to the currently congested target server is forwarded from the target server to the migrated server. For the portion of the data flow that has not yet been sent, the destination address is changed to the IP address of the migrated server by the ingress router, eliminating the need for forwarding by the target server and reducing routing overhead. If the data flow to be migrated is fully cached on the server, the agent at the corresponding egress router needs to decide on the server to which it should be migrated and the migration path, forwarding the data flow from the target server to the migrated server.

[0162] By employing the methods described above, server congestion can be resolved while simultaneously improving the resource utilization of the computing network, increasing its throughput, and enhancing its overall performance.

[0163] Reference Figure 4 The diagram shows a structural block diagram of a data stream computing task migration device according to an embodiment of this application.

[0164] like Figure 4 As shown, the data stream computing task migration device may include the following modules:

[0165] The judgment module 401 is used to determine whether the first data stream being sent to the target server in the computing power network causes congestion on the target server.

[0166] The selection module 402 is used to select a data stream to be migrated from the target server when congestion occurs on the target server.

[0167] The first migration module 403 is used to determine, when the data stream to be migrated is the first data stream, the first server to which the data stream to be migrated will be migrated, the first migration path and the second migration path, and to migrate the sent portion of the data stream to be migrated from the target server to the first server according to the first migration path, and to migrate the unsent portion of the data stream to be migrated from the user equipment to the first server according to the second migration path.

[0168] The second migration module 404 is used to determine the second server and the third migration path to which the data stream to be migrated will be migrated when the data stream to be migrated is not the first data stream, and to migrate the data stream to be migrated to the second server according to the third migration path.

[0169] Optionally, the first migration module 403 is specifically configured to determine, in cooperation with the agent at the first data stream outlet and the agent at the first data stream inlet, the first server, the first migration path and the second migration path to which the to-be-migrated data stream is migrated.

[0170] The second migration module 404 is specifically configured to determine, by using the agent at the first data stream outlet, the second server and the third migration path to which the to-be-migrated data stream is migrated.

[0171] Optionally, the first migration module 403 comprises:

[0172] A first acquisition unit is configured to acquire network state information, server state information and data stream computing task information of the computing power network.

[0173] A first decision unit is configured to input the information of the target server, the network state information, the server state information and the data stream computing task information into the agent at the first data stream outlet, and input the information of the user equipment, the network state information, the server state information and the data stream computing task information into the agent at the first data stream inlet; the first decision unit is configured to make a cooperative decision by using the agent at the first data stream outlet and the agent at the first data stream inlet according to respective inputs, to obtain the first server and the first migration path output by the agent at the first data stream outlet, and the first server and the second migration path output by the agent at the first data stream inlet.

[0174] Optionally, the second migration module 404 comprises:

[0175] A second acquisition unit is configured to acquire network state information, server state information and data stream computing task information of the computing power network.

[0176] A second decision unit is configured to input the information of the target server, the network state information, the server state information and the data stream computing task information as inputs of the agent at the first data stream outlet; the second decision unit is configured to make a decision by using the agent at the first data stream outlet according to the inputs, to obtain the second server and the third migration path output by the agent at the first data stream outlet.

[0177] Optionally, the agent training is performed by the following modules:

[0178] A construction module is configured to construct an experimental network, and set to-be-trained agents at an experimental data stream inlet and an experimental data stream outlet in the experimental network.

[0179] The training judgment module is configured to judge whether the first experimental data flow being sent to the target experimental server in the experimental network causes the target experimental server to be congested, and select a to-be-migrated experimental data flow from the target experimental server when the target experimental server is congested.

[0180] The first training migration module is configured to, when the to-be-migrated experimental data flow is the first experimental data flow, determine, by using the to-be-trained agent at the outlet of the first experimental data flow and the to-be-trained agent at the inlet of the first experimental data flow, a first experimental server to which the to-be-migrated experimental data flow is to be migrated, a first experimental migration path and a second experimental migration path, migrate a sent part of the to-be-migrated experimental data flow from the target experimental server to the first experimental server according to the first experimental migration path, and migrate an unsent part of the to-be-migrated experimental data flow from the experimental user equipment to the first experimental server according to the second experimental migration path.

[0181] The second training migration module is configured to, when the to-be-migrated experimental data flow is not the first experimental data flow, determine, by using the to-be-trained agent at the outlet of the first experimental data flow, a second experimental server to which the to-be-migrated experimental data flow is to be migrated and a third experimental migration path, and migrate the to-be-migrated experimental data flow to the second experimental server according to the third experimental migration path.

[0182] The end judgment module is configured to judge whether training is completed according to a preset condition, and obtain a trained agent after the training is completed.

[0183] Optionally, the second training migration module is specifically configured to input a state parameter into the to-be-trained agent at the outlet of the first experimental data flow, generate a third action parameter by the to-be-trained agent at the outlet of the first experimental data flow, and determine the second experimental server and the third experimental migration path based on the third action parameter.

[0184] The state parameter includes network state information of the experimental network, experimental server state information and experimental data flow calculation task information.

[0185] The third action parameter includes information of the second experimental server, a bandwidth weight and weights of paths in the experimental network.

[0186] Optionally, the judgment module 401 includes:

[0187] The third acquisition unit is configured to acquire a remaining cache capacity of a target computing resource in the target server that can meet a delay requirement of the first data flow, and acquire a data volume of the first data flow.

[0188] The determining unit is configured to determine that the first data stream causes congestion of the target server when the remaining cache capacity is less than the data amount of the first data stream.

[0189] Optionally, the selecting module 402 is specifically configured to select, from the target queue of the target server corresponding to the first data stream, a data stream that satisfies a migration condition and has the largest data amount as the data stream to be migrated.

[0190] For the apparatus embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the related parts refer to the part of the method embodiment.

[0191] In the embodiments of the present application, an electronic device is further provided. The electronic device can include a processor and a computer readable storage medium, and the computer readable storage medium has stored thereon a computer program; when the computer program is executed by the processor, the processor executes the data stream computing task migration method of any one of the above embodiments.

[0192] Reference Figure 5 , a structural block diagram of an electronic device of an embodiment of the present application is shown. As Figure 5 shown, the electronic device 50 includes a processor 501, a computer readable storage medium 502, and the computer readable storage medium 502 has stored thereon a computer program 5021.

[0193] The processor 501 is configured to execute the computer program 5021 stored on the computer readable storage medium 502, and the processor 501 implements the data stream computing task migration method of any one of the above embodiments when executing the computer program 5021, and can achieve the same technical effects. To avoid repetition, it will not be described here.

[0194] The processor 501 mentioned above can include but is not limited to a central processing unit (CPU), a network processor (NP), 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 components, etc.

[0195] The computer readable storage medium 502 mentioned above can include, but is not limited to, a Read Only Memory (ROM), a Random Access Memory (RAM), a Compact Disc Read Only Memory (CD-ROM), an Electronic Erasable Programmable Read Only Memory (EEPROM), a hard disk, a floppy disk, a flash memory, and the like.

[0196] In the embodiments of the present application, a computer readable storage medium is also provided, and the computer readable storage medium stores a computer program. The computer program can be executed by a processor of an electronic device. When the computer program is executed by the processor, the processor executes the data stream computing task migration method according to any one of the above embodiments.

[0197] Reference Figure 6 is a structural block diagram of a computer readable storage medium according to an embodiment of the present application. As shown in Figure 6 , the computer readable storage medium 60 stores a computer program 601. When the computer program 601 is executed by a processor, the processor executes the data stream computing task migration method according to any one of the above embodiments and achieves the same technical effects. To avoid repetition, details are not described here.

[0198] Each of the embodiments in the present specification is associated with each other, and each of the embodiments is described in a progressive manner. Each embodiment focuses on the difference from other embodiments, and the same or similar parts between each embodiment are referred to each other.

[0199] It should be noted that all actions of acquiring signals, information or data in the present application are performed under the premise of complying with the corresponding data protection regulations and policies of the country where the device is located, and with the authorization given by the owner of the corresponding device.

[0200] It is to be noted that, in the present text, relational terms such as first and second and the like can only be used to differentiate one entity or action from another entity or action, without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises", "comprising", or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by "comprises a... " does not, without more constraints, exclude the existence of additional identical elements in the process, method, article, or apparatus that comprises the element.

[0201] Those skilled in the art can clearly understand that the above-mentioned embodiment method can be realized by means of software and necessary general hardware platform, of course, it can also be realized by hardware, but in many cases, the former is a better embodiment. Based on such understanding, the technical solutions of the present application can be embodied in the form of a software product, which is stored in a storage medium, and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.

[0202] The embodiments of the present application are described above in conjunction with the drawings, but the present application is not limited to the specific embodiments described above, which are merely illustrative rather than restrictive, and a person of ordinary skill in the art can make many forms under the inspiration of the present application without departing from the scope of the present application and the scope protected by the claims.

[0203] Those of ordinary skill in the art can realize that the units and algorithm steps of each example described in conjunction with the embodiments disclosed in the present application can be realized by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed in hardware or software depends on the specific application and design constraints of the technical solutions. A person skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0204] Those of ordinary skill in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described system, device and unit can refer to the corresponding processes in the foregoing method embodiments, which will not be described here.

[0205] In the embodiments of the present application, it should be understood that the disclosed apparatus and method can be implemented in other manners. For example, the embodiments of the apparatus described above are merely schematic; for example, the division of the units is only a logical function division; there can be another division manner for the actual implementation; for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections between the units can be indirect couplings or communication connections through some interfaces, devices or units, and can be in electrical, mechanical or other forms.

[0206] The units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, i.e., can be located in one place, or can be distributed on a plurality of network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiments. In addition, the functional units in each embodiment of the present application can be integrated in one processing unit, or each unit can be physically present alone, or two or more units can be integrated in one unit.

[0207] The above description is merely specific embodiments of the present application, but the protection scope of the present application is not limited thereto, and any person skilled in the art can easily think of changes or replacements within the technical scope disclosed by the present application, which should be covered by the protection scope of the present application. In summary, the content of the present description should not be understood as a limitation of the present application.

Claims

1. A method for migrating a dataflow computing task, characterized in that, The method comprises: determining whether a first data stream in a computing power network being sent to a target server causes the target server to be congested; when the target server is congested, selecting a to-be-migrated data stream from the target server; when the to-be-migrated data stream is the first data stream, determining a first server, a first migration path and a second migration path to which the to-be-migrated data stream migrates, migrating a sent part of the to-be-migrated data stream from the target server to the first server according to the first migration path, and migrating an unsent part of the to-be-migrated data stream from a user equipment to the first server according to the second migration path; when the to-be-migrated data stream is not the first data stream, determining a second server and a third migration path to which the to-be-migrated data stream migrates.

2. The method of claim 1, wherein: the determination of the first server, the first migration path and the second migration path to which the to-be-migrated data stream migrates comprises: determining the first server, the first migration path and the second migration path to which the to-be-migrated data stream migrates by the agent at the exit of the first data stream and the agent at the entrance of the first data stream in cooperation; the determination of the second server and the third migration path to which the to-be-migrated data stream migrates comprises: determining the second server and the third migration path to which the to-be-migrated data stream migrates by the agent at the exit of the first data stream.

3. The method of claim 2, wherein, the determination of the first server, the first migration path and the second migration path to which the to-be-migrated data stream migrates by the agent at the exit of the first data stream and the agent at the entrance of the first data stream in cooperation comprises: obtaining network state information, server state information and data stream computing task information of the computing power network; inputting information of the target server, the network state information, the server state information and the data stream computing task information into the agent at the exit of the first data stream, and inputting information of the user equipment, the network state information, the server state information and the data stream computing task information into the agent at the entrance of the first data stream; determining the first server and the first migration path output by the agent at the exit of the first data stream and the first server and the second migration path output by the agent at the entrance of the first data stream by the agent at the exit of the first data stream and the agent at the entrance of the first data stream according to respective inputs.

4. The method of claim 2, wherein, the determination of the second server and the third migration path to which the to-be-migrated data stream migrates by the agent at the exit of the first data stream comprises: obtaining network state information, server state information and data stream computing task information of the computing power network; The information of the target server, the network state information, the server state information and the data stream computing task information are taken as inputs of the agent at the first data stream outlet; the agent at the first data stream outlet makes a decision according to the inputs, and the second server and the third migration path output by the agent at the first data stream outlet are obtained.

5. The method of claim 2, wherein, The agent training is performed in the following manner: An experimental network is constructed, and the to-be-trained agents are arranged at experimental data stream inlets and experimental data stream outlets in the experimental network; It is judged whether the first experimental data stream being sent to a target experimental server in the experimental network causes the target experimental server to be congested; when the target experimental server is congested, a to-be-migrated experimental data stream is selected from the target experimental server; When the to-be-migrated experimental data stream is the first experimental data stream, the to-be-trained agent at the first experimental data stream outlet and the to-be-trained agent at the first experimental data stream inlet are used to cooperatively determine a first experimental server, a first experimental migration path and a second experimental migration path to which the to-be-migrated experimental data stream is migrated, migrate the sent part of the to-be-migrated experimental data stream from the target experimental server to the first experimental server according to the first experimental migration path, and migrate the unsent part of the to-be-migrated experimental data stream from an experimental user equipment to the first experimental server according to the second experimental migration path; When the to-be-migrated experimental data stream is not the first experimental data stream, the to-be-trained agent at the first experimental data stream outlet is used to determine a second experimental server and a third experimental migration path to which the to-be-migrated experimental data stream is migrated, and the to-be-migrated experimental data stream is migrated to the second experimental server according to the third experimental migration path; It is judged whether the training is completed according to a preset condition, and the trained agent is obtained after the training is completed.

6. The method of claim 5, wherein, The to-be-trained agent at the first experimental data stream outlet is used to determine a second experimental server and a third experimental migration path to which the to-be-migrated experimental data stream is migrated, and the to-be-migrated experimental data stream is migrated to the second experimental server according to the third experimental migration path, and the method comprises the following steps: A state parameter is input into the to-be-trained agent at the first experimental data stream outlet, the to-be-trained agent at the first experimental data stream outlet generates a third action parameter, and the second experimental server and the third experimental migration path are determined based on the third action parameter; The state parameter comprises network state information, experimental server state information and experimental data stream computing task information of the experimental network; The third action parameter comprises information of the second experimental server, a bandwidth weight and weights of paths in the experimental network.

7. The method of claim 1, wherein, The method comprises the following steps: The remaining cache capacity of a target computing resource in the target server that can meet the delay requirement of the first data stream is obtained, and the data volume of the first data stream is obtained. When the remaining cache capacity is less than the data amount of the first data stream, it is determined that the first data stream causes the target server to be congested.

8. The method of claim 1, wherein, The selecting the data stream to be migrated from the target server comprises: selecting, from a target queue of the target server corresponding to the first data stream, a data stream satisfying a migration condition and having a largest data amount as the data stream to be migrated.

9. A dataflow computation task migration apparatus, characterized by: The device comprises: a judging module configured to judge whether a first data stream being sent to a target server in a computing power network causes the target server to be congested; a selecting module configured to select a data stream to be migrated from the target server when the target server is caused to be congested; a first migration module configured to, when the data stream to be migrated is the first data stream, determine a first server, a first migration path and a second migration path to which the data stream to be migrated migrates, migrate a sent part of the data stream to be migrated from the target server to the first server according to the first migration path, and migrate an unsent part of the data stream to be migrated from a user equipment to the first server according to the second migration path; a second migration module configured to, when the data stream to be migrated is not the first data stream, determine a second server and a third migration path to which the data stream to be migrated migrates, and migrate the data stream to be migrated to the second server according to the third migration path.

10. An electronic device, comprising: The electronic device comprises a processor and a computer readable storage medium, and the computer readable storage medium stores a computer program; When the computer program is executed by the processor, the processor executes the data stream computing task migration method in any one of claims 1 to 8.

11. A computer readable storage medium, characterized in that, The computer readable storage medium stores a computer program, and when the computer program is executed by the processor, the processor executes the data stream computing task migration method in any one of claims 1 to 8.

Citation Information

Patent Citations

  • Migration method and system of computing power network service and cloud management platform

    CN116418876A

  • Data stream monitoring method and device and electronic equipment

    CN116975641A