Data flow calculation task migration method and device, electronic equipment and storage medium

Through the collaborative decision-making and path optimization of the agent, the accuracy of data flow computing task migration under wired connections and complex networks is solved, the throughput and resource utilization of computing power networks are improved, and efficient computing task execution is ensured.

CN119211134AActive Publication Date: 2024-12-27CHINA TELECOM CORP LTD

Patent Information

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

AI Technical Summary

Technical Problem

The existing data flow computing task migration mechanism has low accuracy in computing power networks, especially under wired connections and complex network structures, resulting in server congestion and low resource utilization, affecting overall throughput and performance.

Method used

By judging whether the target server is congested, and using the agent to make a collaborative decision to determine the migration path and server of the data flow to be migrated, it is divided into issued and unissued parts to migrate separately, considering routing overhead, optimizing migration strategies to improve accuracy and throughput .

Benefits of technology

It improves the accuracy of data flow computing task migration, reduces server congestion, increases the throughput and overall benefits of computing power network, and ensures efficient computing task execution.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119211134A_ABST
    Figure CN119211134A_ABST
Patent Text Reader

Abstract

The invention provides a data flow calculation task migration method and device, electronic equipment and a storage medium. The method comprises the following steps: judging whether a first data flow which is currently sent to a target server in a computing power network causes congestion of the target server or not; if yes, selecting a to-be-migrated data stream from the target server; when the to-be-migrated data stream is a first data stream, determining a first server, a first migration path and a second migration path to which the to-be-migrated data stream is migrated, and migrating the sent part of the to-be-migrated data stream from a target server to the first server according to the first migration path, 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; and when the to-be-migrated data stream is not the first data stream, determining a second server to which the to-be-migrated data stream is migrated and a third migration path, and migrating the to-be-migrated data stream to the second server according to the third migration path. According to the method, the accuracy of data flow calculation task migration is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of network technology, and in particular to a method, device, electronic device and storage medium for migrating data flow computing tasks. Background Art

[0002] In the computing network scenario, in order to prevent server congestion and improve the resource utilization of the computing network, the need for a data stream computing task migration mechanism is crucial.

[0003] As the cornerstone of computing power networks, computing power has gradually become heterogeneous and geographically distributed. However, with the development of industrial digitalization, computing tasks have become increasingly intensive and diverse. On the one hand, the surge in computing tasks has challenged the processing capabilities of servers. On the other hand, in a distributed computing power network, computing task data streams from different business types from different users may compete for high-quality computing power resources, resulting in uneven loads between servers. In addition, due to the inherent message lag of the distributed network architecture, a large amount of data streams may cause congestion after reaching the server, thereby affecting the overall throughput and other performance of the computing power network. The introduction of the data stream computing task migration mechanism aims to effectively address these challenges, ensure that the computing power network maintains efficient transmission, avoid unnecessary resource waste, improve resource utilization, and ensure the efficient operation of the computing power network in a complex computing task environment.

[0004] In current technology, the research on data flow computing task migration mechanism usually considers the migration caused by user mobility in wireless scenarios, mainly by considering the communication coverage of the server and the update of the optional server set caused by the movement of the user device, considering the relationship between the server and the user device during the movement, and selecting a new server that can provide computing services to the user. However, the data flow computing task migration mechanism of this type of research usually assumes that the user to the server is a one-hop direct wireless communication, while the nodes of the computing network are usually wired connections, and the network structure is relatively complex. Therefore, the migration results of the above migration method are less accurate. Summary of the invention

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

[0006] According to one aspect of an embodiment of the present application, a method for migrating a data stream computing task is provided, the method comprising:

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

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

[0009] When the data stream to be migrated is the first data stream, determining a first server, a first migration path, and a second migration path to which the data stream to be migrated is migrated, migrating an already sent portion of the data stream to be migrated from the target server to the first server according to the first migration path, and migrating an unsent portion of the data stream to be migrated from a user device to the first server according to the second migration path;

[0010] When the data flow to be migrated is not the first data flow, a second server and a third migration path to which the data flow to be migrated is determined, and the data flow to be migrated is migrated to the second server according to the third migration path.

[0011] Optionally, the determining of the first server, the first migration path, and the second migration path to which the data stream to be migrated is migrated includes: utilizing the intelligent agent at the first data stream outlet and the intelligent agent at the first data stream inlet to collaboratively determine the first server, the first migration path, and the second migration path to which the data stream to be migrated is migrated; the determining of the second server and the third migration path to which the data stream to be migrated is migrated includes: utilizing the intelligent agent at the first data stream outlet to determine the second server and the third migration path to which the data stream to be migrated is migrated.

[0012] Optionally, the using of the agent at the first data flow outlet and the agent at the first data flow inlet to collaboratively determine the first server to which the to-be-migrated data flow is to be migrated, the first migration path, and the second migration path includes:

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

[0014] Input the target server information, the network status information, the server status information and the data flow computing task information into the agent at the first data flow outlet, and input the user device information, the network status information, the server status information and the data flow computing task information into the agent at the first data flow inlet;

[0015] The intelligent agent at the first data flow outlet and the intelligent agent at the first data flow inlet make collaborative decisions based on their respective inputs to obtain the first server and the first migration path output by the intelligent agent at the first data flow outlet, and the first server and the second migration path output by the intelligent agent at the first data flow inlet.

[0016] Optionally, the using the agent at the first data flow outlet to determine the second server and the third migration path to which the data flow to be migrated is migrated includes:

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

[0018] Using the target server information, the network status information, the server status information and the data flow computing task information as inputs to the agent at the first data flow outlet;

[0019] The agent at the first data flow outlet makes a decision according to the input, and obtains the second server and the third migration path output by the agent at the first data flow outlet.

[0020] Optionally, perform agent training as follows:

[0021] Constructing an experimental network, and setting an intelligent agent to be trained at an experimental data flow inlet and an experimental data flow outlet in the experimental network;

[0022] Determine whether a first experimental data flow being sent to a target experimental server in the experimental network causes congestion in the target experimental server; if congestion is caused in the target experimental server, select an experimental data flow to be migrated from the target experimental server;

[0023] When the experimental data stream to be migrated is the first experimental data stream, the first experimental server, the first experimental migration path, and the second experimental migration path to which the experimental data stream to be migrated are collaboratively determined by using the intelligent agent to be trained at the outlet of the first experimental data stream and the intelligent agent to be trained at the inlet of the first experimental data stream, and the sent part of the experimental data stream to be migrated is migrated from the target experimental server to the first experimental server according to the first experimental migration path, and the unsent part of the experimental data stream to be migrated is migrated from the experimental user device to the first experimental server according to the second experimental migration path;

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

[0025] Whether the training is completed is determined according to the preset conditions, and a trained intelligent agent is obtained after the training is completed.

[0026] Optionally, the step of using the to-be-trained agent at the first experimental data flow outlet to determine the second experimental server and the third experimental migration path to which the to-be-migrated experimental data flow is migrated comprises: inputting a state parameter into the to-be-trained agent at the first experimental data flow outlet, the to-be-trained agent at the first experimental data flow 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 parameters include: network state information of the experimental network, experimental server state information, and experimental data flow computing task information;

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

[0029] Optionally, the determining whether the first data flow being sent to the target server in the computing power network causes congestion in the target server includes:

[0030] Obtaining the remaining cache capacity of the target computing resources in the target server that can meet the latency requirement of the first data flow, and obtaining the data volume of the first data flow;

[0031] When the remaining cache capacity is less than the data volume of the first data flow, it is determined that the first data flow causes congestion in the target server.

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

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

[0034] A determination module, used to determine whether a first data flow being sent to a target server in a computing power network causes congestion in the target server;

[0035] A selection module, used for selecting a data flow to be migrated from the target server when congestion occurs in the target server;

[0036] 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 is migrated, 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 migrate the unsent portion of the data stream to be migrated from the user device to the first server according to the second migration path;

[0037] The second migration module is used to determine a second server and a third migration path to which the data flow to be migrated is to be migrated when the data flow to be migrated is not the first data flow, and migrate the data flow to be migrated to the second server according to the third migration path.

[0038] Optionally, the first migration module is specifically used to utilize the intelligent agent at the first data flow outlet and the intelligent agent at the first data flow inlet to collaboratively determine the first server, the first migration path, and the second migration path to which the data flow to be migrated is migrated; the second migration module is specifically used to utilize the intelligent agent at the first data flow outlet to determine the second server and the third migration path to which the data flow to be migrated is migrated.

[0039] Optionally, the first migration module includes:

[0040] A first acquisition unit, used to acquire network status information, server status information and data flow computing task information of the computing power network;

[0041] The first decision unit is used to input the information of the target server, the network status information, the server status information and the data flow calculation task information into the intelligent agent at the first data flow outlet, and input the information of the user device, the network status information, the server status information and the data flow calculation task information into the intelligent agent at the first data flow inlet; the intelligent agent at the first data flow outlet and the intelligent agent at the first data flow inlet make collaborative decisions based on their respective inputs to obtain the first server and the first migration path output by the intelligent agent at the first data flow outlet, and the first server and the second migration path output by the intelligent agent at the first data flow inlet.

[0042] Optionally, the second migration module includes:

[0043] A second acquisition unit is used to acquire network status information, server status information and data flow computing task information of the computing power network;

[0044] The second decision unit is used to use the information of the target server, the network status information, the server status information and the data flow computing task information as the input of the intelligent agent at the first data flow outlet; use the intelligent agent at the first data flow outlet to make a decision based on the input to obtain the second server and the third migration path output by the intelligent agent at the first data flow outlet.

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

[0046] A construction module, used to construct an experimental network and set an intelligent agent to be trained at an experimental data flow inlet and an experimental data flow outlet in the experimental network;

[0047] A training judgment module, used to judge whether the first experimental data flow being sent to the target experimental server in the experimental network causes congestion in the target experimental server; when the first experimental data flow causes congestion in the target experimental server, select the experimental data flow to be migrated from the target experimental server;

[0048] A first training migration module is used for, when the experimental data stream to be migrated is the first experimental data stream, using the intelligent agent to be trained at the outlet of the first experimental data stream and the intelligent agent to be trained at the inlet of the first experimental data stream to collaboratively determine the first experimental server, the first experimental migration path, and the second experimental migration path to which the experimental data stream to be migrated is migrated, according to the first experimental migration path, the sent part of the experimental data stream to be migrated, from the target experimental server to the first experimental server, and according to the second experimental migration path, the unsent part of the experimental data stream to be migrated, from the experimental user equipment to the first experimental server;

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

[0050] The end judgment module is used to judge whether the training is finished according to preset conditions, and obtain the trained intelligent agent after the training is finished.

[0051] Optionally, the second training migration module is specifically used to input the state parameter into the to-be-trained agent at the first experiment data flow outlet, so that the to-be-trained agent at the first experiment data flow outlet generates a third action parameter, and determines the second experiment server and the third experiment migration path based on the third action parameter;

[0052] The state parameters include: network state information of the experimental network, experimental server state information, and experimental data flow computing task information;

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

[0054] Optionally, the judging module includes:

[0055] A third acquisition unit is used to acquire the remaining cache capacity of the target computing resources in the target server that can meet the latency requirement of the first data flow, and acquire the data volume of the first data flow;

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

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

[0058] According to another aspect of an embodiment of the present application, an electronic device is provided, comprising a processor and a computer-readable storage medium, wherein a computer program is stored on the computer-readable storage medium; when the computer program is executed by the processor, the processor executes the data flow computing task migration method as described in any one of the above items.

[0059] According to another aspect of an embodiment of the present application, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the processor executes the data flow computing task migration method as described in any one of the above items.

[0060] In an embodiment of the present application, when congestion occurs in the target router, a data stream to be migrated is selected from the target server, and according to the type of the data stream to be migrated, for the data stream to be migrated that is not completely cached to the target server, the sent part is migrated from the target server to the first server, and the unsent part is migrated from the user device to the first server. For the data stream 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 the migration. The unsent part of the data stream to be migrated does not need to be migrated after being sent to the target server. This not only improves the congestion of the server in the computing power network, allowing the data stream computing task to be effectively executed, but also improves the accuracy of the migration of the data stream computing task, increases the throughput of the computing power network, and improves the overall efficiency of the network. BRIEF DESCRIPTION OF THE DRAWINGS

[0061] In order to more clearly illustrate the technical solution of the embodiment of the present application, the drawings required for use in the description of the embodiment of the present application will be briefly introduced below. Obviously, the drawings described below are only some drawings of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0062] Figure 1 It is a schematic diagram of an application scenario of an embodiment of the present application;

[0063] Figure 2 It is a flowchart of the steps of a data flow computing task migration method according to an embodiment of the present application;

[0064] Figure 3 is a schematic diagram of an agent training process of an embodiment of the present application;

[0065] Figure 4 It is a structural block diagram of a data flow computing task migration device according to an embodiment of the present application;

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

[0067] Figure 6 It is a structural block diagram of a computer-readable storage medium in an embodiment of the present application. DETAILED DESCRIPTION

[0068] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0069] First, the technical terms mentioned in the embodiments of the present application are explained.

[0070] Congestion Avoidance:

[0071] Congestion avoidance refers to taking certain measures to avoid or alleviate network congestion. Congestion in the distributed computing network scenario is divided into link congestion and server congestion. Link congestion refers to the congestion that occurs on the communication link connecting the network nodes in the computing network, while server congestion refers to the situation when the processing power 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 latency, reduced service quality, and even service interruption. At this time, certain measures need to be taken, such as dynamic resource adjustment, queue control, caching and pre-fetching mechanisms, etc., to alleviate server congestion, improve server performance and reliability, and ensure the normal operation of the service. The congestion avoidance measures in this application are mainly aimed at server congestion conditions.

[0072] Computing task (also known as data flow computing task) migration:

[0073] The computing task migration mechanism of the distributed computing network refers to the process and strategy of migrating tasks waiting for computing from one server to another when congestion or other problems occur in the server nodes in the network. Usually, the computing task migration mechanism 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 network and ensure the effective execution of computing tasks.

[0074] Deep Deterministic Policy Gradient (DDPG):

[0075] The deep deterministic policy gradient algorithm is a deep reinforcement learning algorithm used to solve the problem of continuous action space. It adopts the Actor (execution)-Critic (evaluation) structure, in which the Actor module is responsible for learning strategies for selecting actions, while the Critic module learns the value function for evaluating the state value. The algorithm uses experience replay to train the neural network to increase the utilization efficiency of samples and the stability of training. At the same time, in order to further improve the stability of the algorithm, it introduces the concept of target network. The parameters in the target network are updated regularly to slow down the parameter update speed during the training process.

[0076] Multi-agent Deep Reinforcement Learning:

[0077] Multi-agent deep reinforcement learning is a technology that involves collaborative learning of multiple agents based on ordinary deep reinforcement learning technology. 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 sense the state of the environment and perform actions, apply the actions to the environment, and then adjust its own actions through feedback from environmental changes to maximize the expected benefits. 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 their performance through learning and maximize the global cumulative reward through collaboration and competition between agents. This learning architecture usually has a natural advantage in solving distributed problems with complex environmental interactions, dynamic network topologies and heterogeneous resource allocation.

[0078] Multi-Agent Deep Deterministic Policy Gradient (MADDPG):

[0079] The multi-agent deep deterministic policy gradient algorithm is proposed based on the DDPG algorithm. The difference is that it has multiple agents with different goals who use the same evaluation module for training. Different agents use different strategies to maximize their respective reward values. At the same time, there is cooperation and confrontation between the decisions of the agents. One of the goals of this algorithm is to achieve global optimization.

[0080] Next, the data flow computing task migration method in the embodiment of the present application is introduced.

[0081] In current technology, research on the migration mechanism of data stream computing tasks usually considers the migration caused by user mobility in wireless scenarios. It mainly considers the communication coverage of the server and the update of the optional server set caused by the movement of the user device, considers the relationship between the server and the user device during the movement, and selects new servers that can provide computing services to users.

[0082] However, the data flow computing task migration mechanism in this type of research usually assumes that the user to the server is a one-hop direct wireless communication, while the nodes of the computing network are usually wired connections, 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 variety of computing tasks waiting in line for server services, their heterogeneous requirements for latency, computing power, etc., lead to differences in their migration costs, migration paths, and migration effects.

[0083] The data stream computing tasks waiting in line for service can be mainly divided into data streams that have just arrived but 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, it is necessary to consider the routing overhead between the server currently cached and the server to be migrated. When the data stream to be migrated is a data stream that is not completely cached on the server, due to the requirements of the computing task on data integrity, and in order to avoid unnecessary losses caused by packet loss and retransmission, it is necessary to consider not only the routing overhead between the server currently cached and the server to be migrated, but also the routing overhead of the data stream that the user device has not yet sent to the server to be migrated.

[0084] Therefore, the problem of selecting the data stream to be migrated, and the use of different migration algorithms to intelligently decide the server and migration path for different types of data streams, are very challenging for the research on the migration mechanism of data stream computing tasks.

[0085] In an embodiment of the present application, a mechanism for intelligent migration of data flow computing tasks for different types of data flows in a distributed computing network server congestion scenario is provided. It is used to solve the server congestion problem in this scenario, ensure the effective execution of data flow computing tasks, and improve the overall performance of the computing network. In a distributed computing network, when a server is congested, a second-order decision is made. First, some of the data flows to be migrated are selected from the queue originally waiting for the computing resources of the server for task migration. Then, based on the different types of selected data flows to be migrated, the specific server to be migrated and the specific migration path are selected while considering the routing overhead. This method takes into account the routing overhead brought by the migration, which not only improves the congestion of the server in the computing network, allowing the data flow computing tasks to be effectively executed, but also reduces the packet loss rate, increases the throughput of the computing network, and improves the overall efficiency of the network.

[0086] Reference Figure 1 , showing a schematic diagram of an application scenario of an embodiment of the present application.

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

[0088] Reference Figure 2 , showing a step flow chart of a data flow computing task migration method according to an embodiment of the present application.

[0089] like Figure 2 As shown, the data flow computing task migration method may include the following steps:

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

[0091] In the computing network, relevant devices (such as controllers, etc.) can collect information. The information of the mobile phone includes but is not limited to: network status information, server status information, data flow computing task information, router cache information, bandwidth occupancy information, network throughput, etc. The user device sends a first data stream that needs to be computed by the server. The relevant devices in the computing network (such as controllers, etc.) will plan the routing path of the first data stream based on the current network status information, server status information, data flow computing task information, and user demand information, and intelligently select the router that transmits the first data stream and the target server that performs the computing task on the first data stream. This selection process belongs to the computing network's own capabilities and can be specifically handled based on actual experience.

[0092] The first data stream first reaches the router connected to the user device (this router is called the ingress router), and then reaches the router connected to the target server (this router is called the egress router). Between the ingress router and the egress router, it may or may not need to pass through an intermediate router depending on the actual network structure.

[0093] In an optional implementation, after the first data flow reaches the egress router, a congestion sensing operation may be performed to determine whether the first data flow being sent to the target server in the computing network causes congestion in the target server. In the congestion sensing operation, it is necessary to be able to actively obtain relevant information about the server and relevant information about the first data flow forwarded in the computing network.

[0094] Exemplarily, the process of determining whether a first data stream being sent to a target server in a computing network causes congestion in the target server may include: obtaining the remaining cache capacity of a target computing resource in the target server that can meet the latency 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, determining that the first data stream causes congestion in the target server.

[0095] There are multiple computing resources in the server, and each computing resource has a corresponding queue. The server can allocate different cache sizes to different computing resources in advance based on the average demand for this computing resource in the entire network.

[0096] Exemplarily, after receiving the first data stream, the egress router may send a query request to the target server to actively query the queue information of the computing resources and the remaining cache information of the computing resources in the target server. The queue information may include, but is not limited to, the identification information of the queue, the delay information of the queue, and the like. The remaining cache information may include, but is not limited to, the remaining cache capacity, and the like. The first data stream may include, but is not limited to, the data volume of the first data stream (the data volume is the total data volume of the first data stream), the delay requirement information of the first data stream, and the like. The egress router may select a target computing resource that can meet the delay requirement of the first data stream based on one or more of the data volume of the first data stream, the delay requirement information of the first data stream, the queue information of the computing resources, and the remaining cache information of the computing resources, and compare the remaining cache capacity of the target computing resource with the data volume of the first data stream.

[0097] Exemplarily, when performing routing path planning for the first data stream, the relevant equipment in the computing power network (such as a controller, etc.) may select a target server that performs a computing task on 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 delay requirement of the first data stream according to one or more of the data volume of the first data stream, the delay 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 may send a query request to the target server, 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 volume of the first data stream.

[0098] The process of selecting the target computing resource that can meet the latency requirement of the first data stream according to one or more of the data volume of the first data stream, the latency requirement information of the first data stream, the queue information of the computing resource, and the remaining cache information of the computing resource can be processed according to actual experience, and this embodiment does not limit this. For example, it can be determined whether the latency information of the queue of the computing resource can meet the latency requirement of the first data stream. If so, the computing resource can be considered as the target computing resource, and so on.

[0099] For example, the egress router receives the first data flow f from the service S of the user equipment U. s, the data volume of the first data stream is m, and the target server C has n computing resources, denoted as c1, c2, … c n Assume that the first data flow requests computing resource c in the target server C. f The egress router sends a query request to the target server C, actively querying the computing power resource c in the target server C. f Corresponding queue information and remaining cache capacity like It can be determined that the target server C is congested. , and step 3 is performed. Otherwise, the data flow is inserted into the corresponding queue to wait for computing services.

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

[0101] Step 202: When congestion occurs in the target server, a data flow to be migrated is selected from the target server.

[0102] When it is determined that the first data stream causes congestion in the target server, a data stream selection operation can be performed to select the data stream to be migrated from the target server. In the data stream selection operation, it is necessary to have information about each server (resource information, status information, etc.), network status information, and information about each data stream computing task (demand information, status information, etc.), such as the remaining delay budget, etc. According to different requirements and types of data streams, a linear scanning method is used to determine whether to select the data stream for migration under the constraint of meeting the computing task requirements.

[0103] In an optional implementation, the process of selecting the data flow to be migrated from the target server may include: selecting a data flow that meets the migration conditions and has the largest data volume from the target queue of the target server corresponding to the first data flow as the data flow to be migrated.

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

[0105] Exemplarily, the migration conditions may include, but are not limited to: there is at least one server in the computing network that can meet the cache requirements of the data flow, and there is at least one path that can meet the latency requirements of the data flow.

[0106] The judgment of the above migration conditions can be processed according to the actual situation, and this embodiment does not limit this. For example, the server that can meet the cache requirements of the data flow may be a server that has computing resources with a remaining cache capacity greater than the data volume of the data flow, etc.; the path that can meet the delay requirements of the data flow may be a path whose delay information is greater than the delay requirement of the data flow (specifically, the remaining delay requirement), etc.

[0107] After selecting the data stream to be migrated, a migration planning operation is performed to determine the server and migration path to which the data stream to be migrated is migrated. In the embodiment of the present application, in the migration planning operation, different algorithms are used to perform the migration planning operation according to different types of data streams to be migrated.

[0108] Step 203, when the data stream to be migrated is the first data stream, determine the first server, the first migration path, and the second migration path to which the data stream to be migrated is migrated, migrate the 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 the unsent part of the data stream to be migrated from the user device to the first server according to the second migration path.

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

[0110] In an optional implementation, 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 autonomously perceive the environment, make decisions, and perform actions.

[0111] In the embodiment of the present application, the agent is deployed on the edge router of the computing network, and the agent on the ingress router directly connected to the user device can be recorded as A I , used to proxy the various services generated by the user device, and the intelligence on the egress router directly connected to the server can be recorded as A E , used to proxy various computing resources on the corresponding servers. The learning goal of the algorithm is to reduce network congestion, improve network throughput and computing resource utilization, and increase the throughput of the computing network.

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

[0113] Multiple agents share the Critic module. By acquiring and analyzing the behaviors of all agents, the network can calculate changes in the computing power network environment and achieve the purpose of collaboration.

[0114] During training, agents of the same type can access each other's strategies to determine the possible actions of other agents. At the same time, each agent can have multiple sub-strategies and change them regularly to prevent overfitting of strategies between agents.

[0115] The Actor module and the Critic module have two network models with the same structure and inconsistent parameter update time. The network that can update parameters in real time is the online network, which is responsible for calculating the action value function in the current state, that is, the Q value. The other network is the target network, which has the same structure as the online network, but has 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 may include but are not limited to the following parameters:

[0117] State (state parameter): includes network status information of the computing network, server status information, and data flow computing task information;

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

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

[0120] In the embodiment of the present invention, agent training may be performed in advance.

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

[0122] Constructing an experimental network, and setting an agent to be trained at an experimental data flow inlet (specifically, an inlet router) and an experimental data flow outlet (specifically, an outlet router) in the experimental network; wherein the experimental network may include a delay user device, 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 congestion in the target experimental server; if congestion is caused in the target experimental server, select an experimental data flow to be migrated from the target experimental server;

[0124] When the experimental data stream to be migrated is the first experimental data stream, the first experimental server, the first experimental migration path, and the second experimental migration path to which the experimental data stream to be migrated are collaboratively determined by using the intelligent agent to be trained at the outlet of the first experimental data stream and the intelligent agent to be trained at the inlet of the first experimental data stream, and the sent part of the experimental data stream to be migrated is migrated from the target experimental server to the first experimental server according to the first experimental migration path, and the unsent part of the experimental data stream to be migrated is migrated from the experimental user device to the first experimental server according to the second experimental migration path;

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

[0126] Whether the training is completed is determined according to the preset conditions, and a trained intelligent agent is obtained after the training is completed.

[0127] In the processing of each intelligent agent to be trained, the state parameters are used as the input of the intelligent agent to be trained, and the intelligent agent to be trained generates action parameters according to the state parameters, and determines the experimental server (the first experimental server or the second experimental server) and the experimental migration path (the first experimental migration path or the second experimental migration path or the third experimental migration path) to which the experimental data stream to be migrated is migrated based on the action parameters. After the data stream to be migrated is migrated to the corresponding experimental server according to the experimental migration path, the reward parameters are calculated based on the network throughput before migration and the network throughput after migration, and the training results are evaluated based on the reward parameters.

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

[0129] Exemplarily, the agent to be trained at the first experimental data flow outlet and the agent to be trained at the first experimental data flow inlet are used to collaboratively determine the first experimental server, the first experimental migration path, and the second experimental migration path to which the experimental data flow to be migrated is migrated, including: inputting state parameters into the agent to be trained at the first experimental data flow outlet, inputting the state parameters into the agent to be trained at the first experimental data flow inlet (of course, other information can also be input, for example, the input of the agent to be trained at the first experimental data flow outlet can also include information of the target experimental server, and the input of the agent to be trained at the first experimental data flow inlet can also include information of the experimental user device), the agent to be trained at the first experimental data flow outlet generates a first action parameter, and determines the first experimental server and the first experimental migration path based on the first action parameter, and the agent to be trained at the first experimental data flow inlet generates a 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, the bandwidth weight corresponding to the target experimental server), and weights of each path in the experimental network. The second action parameter includes information of the first experimental server, bandwidth weight (specifically, the bandwidth weight corresponding to the experimental user equipment), and weights of each path in the experimental network.

[0131] Exemplarily, using the to-be-trained agent at the first experimental data flow outlet to determine the second experimental server and the third experimental migration path to which the to-be-migrated experimental data flow is migrated includes: inputting the state parameter into the to-be-trained agent at the first experimental data flow outlet, the to-be-trained agent at the first experimental data flow outlet generates a third action parameter, and determining 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, the bandwidth weight corresponding to the target experimental server), and weights of each path in the experimental network.

[0132] The preset condition may be that the number of iterations reaches a maximum number of iterations, and so on.

[0133] Specifically, initialize the variables, initialize the number of iterations i = 0, set the maximum number of iterations to i_max, set the current reward value to 0, and initialize each agent at the same time. The State information is the network status information, server status information, and data flow computing task information of the computing network. Randomly select the server candidate set that meets the conditions as the initial migration server strategy, and the initial routing strategy is OSPF (Open Shortest Path First). Increase the value of i by 1, and the agent generates an Action. After Softmax normalization, the shortest path is calculated using the Dijkstra algorithm (also known as the Dijkstra algorithm or Dijkstra algorithm). Apply the migration planning scheme obtained by the collaborative calculation of multiple agents for the data flow to be migrated to the experimental network. Obtain the network throughput T before migration and the network throughput T′ after migration, and calculate As the Reward record of the agent. At the same time, the network status information, server status information, and 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 updates the strategy based on the experience replay pool. When the number of iterations i exceeds the maximum number of iterations i_max, the training ends.

[0134] Correspondingly, the process of determining the first server, the first migration path, and the second migration path to which the data stream to be migrated may include: utilizing the intelligent agent at the first data stream outlet (which may be specifically an intelligent agent arranged at the outlet router corresponding to the first data stream) and the intelligent agent at the first data stream inlet (which may be specifically an intelligent agent arranged at the inlet router corresponding to the first data stream) to collaboratively determine the first server, the first migration path, and the second migration path to which the data stream to be migrated may be migrated.

[0135] Exemplarily, the process of using the intelligent agent at the first data flow outlet and the intelligent agent at the first data flow inlet to collaboratively determine the first server, the first migration path, and the second migration path to which the data flow to be migrated is migrated may include: obtaining the network status information, the server status information, and the data flow calculation task information of the computing power network; inputting the information of the target server, the network status information, the server status information, and the data flow calculation task information into the intelligent agent at the first data flow outlet, and inputting the information of the user device, the network status information, the server status information, and the data flow calculation task information into the intelligent agent at the first data flow inlet; using the intelligent agent at the first data flow outlet and the intelligent agent at the first data flow inlet to make collaborative decisions based on their respective inputs (specifically using the MADDPG algorithm for collaborative decision-making), and obtaining the first server and the first migration path output by the intelligent agent at the first data flow outlet, and the first server and the second migration path output by the intelligent agent at the first data flow inlet.

[0136] In an embodiment of the present application, the router can announce its own status information by flooding and collect information from the entire network, including queue information corresponding to different computing resources on the server, cache status and bandwidth occupancy of routers in the network, and current network throughput, etc.

[0137] The network status information may include but is not limited to the network topology, the router cache status in the network, the link (i.e., path) bandwidth occupancy status, etc. The server status information may include but is not limited to the types of computing resources the server has, the queue information corresponding to the computing resources, and the remaining cache capacity, etc. The data flow computing task information may include but is not limited to the delay requirement information of the data flow, the number of data flows, etc.

[0138] After determining the first computing power server, the first migration path, and the second migration path, the sent portion of the data stream to be migrated is migrated from the target server to the first server according to the first migration path, and the unsent portion of the data stream to be migrated is migrated from the user device to the first server according to the second migration path. The sent portion of the data stream to be migrated refers to the portion of the data stream to be migrated that has been cached to the target server. The unsent portion of the data stream to be migrated refers to the portion of the data stream to be migrated that has not yet been sent from the user device.

[0139] In implementation, the ingress router connected to the user device can change the destination address of the unsent portion of the data stream to be migrated to the IP (Internet Protocol) address of the first server, forward it on the data plane, and send it to the first server without the currently congested target server performing a forwarding action. The egress router connected to the target server can change the destination address of the sent portion of the data stream to be migrated to the IP address of the first server, forward it on the data plane, and send it to the first server.

[0140] Step 204: when the data flow to be migrated is not the first data flow, determine a second server and a third migration path to which the data flow to be migrated is migrated, and migrate the data flow to be 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 means that the data stream to be migrated has been completely cached in the target server. In this case, the second server and the third migration path to which the data stream to be migrated can be determined.

[0142] Exemplarily, the process of determining the second server and the third migration path to which the data flow to be migrated may include: utilizing the intelligent agent at the exit of the first data flow (which may be specifically the intelligent agent arranged at the exit router corresponding to the first data flow) to determine the second server and the third migration path to which the data flow to be migrated is migrated.

[0143] Exemplarily, the process of using the intelligent agent at the first data flow outlet to determine the second server and the third migration path to which the data flow to be migrated is migrated may include: obtaining the network status information, server status information and data flow computing task information of the computing power network; using the information of the target server, the network status information, the server status information and the data flow computing task information as inputs of the intelligent agent at the first data flow outlet; using the intelligent agent at the first data flow outlet to make decisions based on the inputs (specifically using the DDPG algorithm for collaborative decision-making) to obtain the second server and the third migration path output by the intelligent agent at the first data flow outlet.

[0144] After determining the second server and the third migration path, the data flow to be migrated is migrated to the second server according to the third migration path. In implementation, the egress router connected to the target server can change the destination address of the data flow to be migrated to the IP address of the second server, forward it on the data plane, and send it to the second server.

[0145] In the embodiment of the present application, the routing overhead caused by the migration is taken into account, and the unsent part of the data flow to be migrated does not need to be migrated after being sent to the target server. This not only improves the congestion of the server in the computing power network, allowing the data flow computing tasks to be effectively executed, but also improves the accuracy of the migration of data flow computing tasks, increases the throughput of the computing power network, and improves the overall efficiency of the network.

[0146] Reference Figure 3 , showing a schematic diagram of an intelligent agent training process in an embodiment of the present application.

[0147] like Figure 3 As shown, the agent training process may include:

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

[0149] Congestion perception: When the first experimental data flow arrives at the egress experimental router connected to the target experimental server, the egress experimental router determines whether the first experimental data flow causes congestion in the target experimental server. If so, the data flow selection process is executed; if not, the first experimental data flow is inserted into the target queue in the target experimental server for processing.

[0150] Data stream selection: A linear scanning method is used to select the experimental data stream that meets the migration conditions and has the largest data volume from the target queue corresponding to the first experimental data stream as the experimental data stream to be migrated.

[0151] Initialize the number of iterations i=0 and set the maximum number of iterations to i_max.

[0152] It is determined whether the experimental data flow to be migrated is the first experimental data flow.

[0153] If the experimental data stream to be migrated is the first experimental data stream, the intelligent agent to be trained at the outlet of the first experimental data stream and the intelligent agent to be trained at the inlet of the first experimental data stream are used to collaboratively determine the first experimental server, the first experimental migration path and the second experimental migration path to which the experimental data stream to be migrated is migrated, and the sent part of the experimental data stream to be migrated is migrated from the target experimental server to the first experimental server according to the first experimental migration path, and the unsent part of the experimental data stream to be migrated is migrated from the experimental user device to the first experimental server according to the second experimental migration path.

[0154] Let the value of i increase by 1 and determine whether i≥i_max is satisfied; if so, end the training; if not, repeat the previous step.

[0155] If the experimental data stream to be migrated is not the first experimental data stream, the intelligent agent to be trained at the outlet of the first experimental data stream is used to determine the second experimental server and the third experimental migration path to which the experimental data stream to be migrated is migrated, and the experimental data stream to be migrated is migrated to the second experimental server according to the third experimental migration path.

[0156] Let the value of i increase by 1 and determine whether i≥i_max is satisfied; if so, end the training; if not, repeat the previous step.

[0157] An embodiment of the present application provides an intelligent migration mechanism for computing tasks in a distributed heterogeneous computing power network congestion scenario for different types of data streams while taking routing overhead into consideration.

[0158] Congestion awareness: Routers announce their own status information through flooding, and collect network link status information and computing node resource utilization status information. In the subsequent decision-making process, they will not only make decisions based on the matching degree between resource status and data flow computing tasks, but also consider the impact of routing overhead determined by the current network status on the migration of data flow computing tasks. When the data flow reaches the egress router directly connected to the target server, the egress router actively obtains the status of the target server by sending a query request, and compares it with the requirements of the current task data flow to determine whether congestion occurs.

[0159] Smart Migration with Second-Order Decisions:

[0160] Data flow selection (first-order decision): If congestion occurs, a linear scanning algorithm is used to select the data flow with the largest amount of data in the target queue as the data flow to be migrated, provided that the migration conditions are met. It is also determined whether the data flow is not completely cached in the target server or is completely cached in the target server. Different intelligent migration algorithms are enabled at the second-order decision point based on the different types of data flows.

[0161] Migration route planning (second-order decision): According to the different types of data streams to be migrated, the server to which the data stream to be migrated needs to be migrated and the migration path are decided. If the data stream to be migrated is a data stream that is not completely cached in the target server, the intelligent agent at the egress router needs to cooperate with the intelligent agent at the ingress router to make decisions on the server to be migrated and the migration path. The part that has been sent to the currently congested target server is sent by the target server to the server to be migrated, and the part of the data stream to be migrated that has not been sent is changed by the ingress router to the IP address of the server to be migrated, without the need for the target server to perform forwarding actions, thus reducing routing overhead; if the data stream to be migrated is a data stream that has been completely cached in the server, the intelligent agent at the corresponding egress router needs to make decisions on the server to be migrated and the migration path, and send the data stream to be migrated from the target server to the server to be migrated.

[0162] Through the above method, it is possible to solve the congestion of the server while improving the resource utilization of the computing network, increasing the throughput of the computing network, and improving the overall performance of the computing network.

[0163] Reference Figure 4 , shows a structural block diagram of a data flow computing task migration device according to an embodiment of the present application.

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

[0165] A determination module 401 is used to determine whether a first data flow being sent to a target server in a computing network causes congestion in the target server;

[0166] A selection module 402, configured to select a data flow to be migrated from the target server when congestion occurs on the target server;

[0167] A first migration module 403 is 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 is migrated, 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 migrate the unsent portion of the data stream to be migrated from the user device to the first server according to the second migration path;

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

[0169] Optionally, the first migration module 403 is specifically configured to utilize the agent at the first data flow outlet and the agent at the first data flow inlet to collaboratively determine the first server to which the data flow to be migrated is migrated, the first migration path, and the second migration path;

[0170] The second migration module 404 is specifically configured to use the agent at the first data flow outlet to determine the second server and the third migration path to which the data flow to be migrated is migrated.

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

[0172] A first acquisition unit, used to acquire network status information, server status information and data flow computing task information of the computing power network;

[0173] The first decision unit is used to input the information of the target server, the network status information, the server status information and the data flow calculation task information into the intelligent agent at the first data flow outlet, and input the information of the user device, the network status information, the server status information and the data flow calculation task information into the intelligent agent at the first data flow inlet; the intelligent agent at the first data flow outlet and the intelligent agent at the first data flow inlet make collaborative decisions based on their respective inputs to obtain the first server and the first migration path output by the intelligent agent at the first data flow outlet, and the first server and the second migration path output by the intelligent agent at the first data flow inlet.

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

[0175] A second acquisition unit is used to acquire network status information, server status information and data flow computing task information of the computing power network;

[0176] The second decision unit is used to use the information of the target server, the network status information, the server status information and the data flow computing task information as the input of the intelligent agent at the first data flow outlet; use the intelligent agent at the first data flow outlet to make a decision based on the input to obtain the second server and the third migration path output by the intelligent agent at the first data flow outlet.

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

[0178] A construction module, used to construct an experimental network and set an intelligent agent to be trained at an experimental data flow inlet and an experimental data flow outlet in the experimental network;

[0179] A training judgment module, used to judge whether the first experimental data flow being sent to the target experimental server in the experimental network causes congestion in the target experimental server; when the first experimental data flow causes congestion in the target experimental server, select the experimental data flow to be migrated from the target experimental server;

[0180] A first training migration module is used for, when the experimental data stream to be migrated is the first experimental data stream, using the intelligent agent to be trained at the outlet of the first experimental data stream and the intelligent agent to be trained at the inlet of the first experimental data stream to collaboratively determine the first experimental server, the first experimental migration path, and the second experimental migration path to which the experimental data stream to be migrated is migrated, according to the first experimental migration path, the sent part of the experimental data stream to be migrated, from the target experimental server to the first experimental server, and according to the second experimental migration path, the unsent part of the experimental data stream to be migrated, from the experimental user equipment to the first experimental server;

[0181] A second training migration module is used to, when the experimental data stream to be migrated is not the first experimental data stream, use the to-be-trained agent at the outlet of the first experimental data stream to determine the second experimental server and the third experimental migration path to which the experimental data stream to be migrated is migrated, and migrate the experimental data stream to be migrated to the second experimental server according to the third experimental migration path;

[0182] The end judgment module is used to judge whether the training is finished according to preset conditions, and obtain the trained intelligent agent after the training is finished.

[0183] Optionally, the second training migration module is specifically used to input the state parameter into the to-be-trained agent at the first experiment data flow outlet, so that the to-be-trained agent at the first experiment data flow outlet generates a third action parameter, and determines the second experiment server and the third experiment migration path based on the third action parameter;

[0184] The state parameters include: network state information of the experimental network, experimental server state information, and experimental data flow computing task information;

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

[0186] Optionally, the judging module 401 includes:

[0187] A third acquisition unit is used to acquire the remaining cache capacity of the target computing resources in the target server that can meet the latency requirement of the first data flow, and acquire the data volume of the first data flow;

[0188] A determining unit is configured to determine that the first data flow causes congestion in the target server when the remaining cache capacity is less than the data volume of the first data flow.

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

[0190] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0191] In an embodiment of the present application, an electronic device is also provided. The electronic device may include a processor and a computer-readable storage medium, wherein a computer program is stored on the computer-readable storage medium; when the computer program is executed by the processor, the processor executes the data flow computing task migration method of any of the above embodiments.

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

[0193] The processor 501 is used to execute the computer program 5021 stored on the computer-readable storage medium 502. When executing the computer program 5021, the processor 501 implements the data flow computing task migration method of any of the above embodiments and can achieve the same technical effect. To avoid repetition, it will not be repeated here.

[0194] The processor 501 mentioned above may 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 may include but is not limited to: read-only memory (ROM), random access memory (RAM), compact disc read-only memory (CD-ROM), electronic erasable programmable read-only memory (EEPROM), hard disk, floppy disk, flash memory, etc.

[0196] In an embodiment of the present application, a computer-readable storage medium is also provided, on which a computer program is stored. 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 flow computing task migration method described in any of the above embodiments.

[0197] Reference Figure 6 , shows a block diagram of a computer-readable storage medium according to an embodiment of the present application. Figure 6 As shown, a computer program 601 is stored on a computer-readable storage medium 60. When the computer program 601 is executed by a processor, the processor executes the data flow computing task migration method described in any of the above embodiments and can achieve the same technical effect. To avoid repetition, it will not be repeated here.

[0198] The various embodiments in this specification are interrelated, and each embodiment is described in a progressive manner. Each embodiment focuses on the differences from other embodiments, and the same or similar parts between the various embodiments can be referenced to each other.

[0199] It should be noted that all actions of acquiring signals, information or data in this application are carried out in compliance with the relevant data protection laws and policies of the country where they are located and with the authorization given by the owner of the corresponding device.

[0200] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal device. In the absence of further restrictions, the elements defined by the sentence "including one..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the elements.

[0201] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application.

[0202] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.

[0203] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed in the present application can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0204] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0205] In the embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0206] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. In addition, each functional unit in each embodiment of the present application may be integrated into a processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0207] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. In summary, the content of this specification should not be understood as limiting the present application.

Claims

1. A data stream computing task migration method, characterized in that: The method comprises: Determine whether a first data flow being sent to a target server in the computing power network causes congestion in the target server; When the target server is congested, selecting a data flow to be migrated from the target server; When the data stream to be migrated is the first data stream, determining a first server, a first migration path, and a second migration path to which the data stream to be migrated is migrated, migrating an already sent portion of the data stream to be migrated from the target server to the first server according to the first migration path, and migrating an unsent portion of the data stream to be migrated from a user device to the first server according to the second migration path; When the data flow to be migrated is not the first data flow, a second server and a third migration path to which the data flow to be migrated is determined, and the data flow to be migrated is migrated to the second server according to the third migration path.

2. The method according to claim 1, characterized in that The determining the first server, the first migration path, and the second migration path to which the data stream to be migrated is migrated comprises: using an agent at the first data stream outlet and an agent at the first data stream inlet to collaboratively determine the first server, the first migration path, and the second migration path to which the data stream to be migrated is migrated; The determining the second server and the third migration path to which the data flow to be migrated is migrated includes: using an agent at the first data flow outlet to determine the second server and the third migration path to which the data flow to be migrated is migrated.

3. The method according to claim 2, characterized in that The step of utilizing the agent at the first data flow outlet and the agent at the first data flow inlet to collaboratively determine the first server, the first migration path, and the second migration path to which the data flow to be migrated is to be migrated includes: Obtaining network status information, server status information and data flow computing task information of the computing power network; Input the target server information, the network status information, the server status information and the data flow computing task information into the agent at the first data flow outlet, and input the user device information, the network status information, the server status information and the data flow computing task information into the agent at the first data flow inlet; The intelligent agent at the first data flow outlet and the intelligent agent at the first data flow inlet make collaborative decisions based on their respective inputs to obtain the first server and the first migration path output by the intelligent agent at the first data flow outlet, and the first server and the second migration path output by the intelligent agent at the first data flow inlet.

4. The method according to claim 2, characterized in that: The step of using the agent at the first data flow outlet to determine the second server and the third migration path to which the data flow to be migrated is migrated includes: Obtaining network status information, server status information and data flow computing task information of the computing power network; The target server information, the network status information, the server status information and the data flow computing task information are used as inputs of the intelligent agent at the first data flow outlet; the intelligent agent at the first data flow outlet makes decisions based on the inputs to obtain the second server and the third migration path output by the intelligent agent at the first data flow outlet.

5. The method according to claim 2, characterized in that: The agent is trained as follows: Constructing an experimental network, and setting an intelligent agent to be trained at an experimental data flow inlet and an experimental data flow outlet in the experimental network; Determine whether a first experimental data flow being sent to a target experimental server in the experimental network causes congestion in the target experimental server; if congestion is caused in the target experimental server, select an experimental data flow to be migrated from the target experimental server; When the experimental data stream to be migrated is the first experimental data stream, the first experimental server, the first experimental migration path, and the second experimental migration path to which the experimental data stream to be migrated are collaboratively determined by using the intelligent agent to be trained at the outlet of the first experimental data stream and the intelligent agent to be trained at the inlet of the first experimental data stream, and the sent part of the experimental data stream to be migrated is migrated from the target experimental server to the first experimental server according to the first experimental migration path, and the unsent part of the experimental data stream to be migrated is migrated from the experimental user device to the first experimental server according to the second experimental migration path; When the experimental data stream to be migrated is not the first experimental data stream, using the to-be-trained agent at the outlet of the first experimental data stream to determine the second experimental server and the third experimental migration path to which the experimental data stream to be migrated is migrated, and migrating the experimental data stream to be migrated to the second experimental server according to the third experimental migration path; Whether the training is completed is determined according to the preset conditions, and a trained intelligent agent is obtained after the training is completed.

6. The method according to claim 5, characterized in that The step of using the to-be-trained agent at the first experimental data flow outlet to determine the second experimental server and the third experimental migration path to which the to-be-migrated experimental data flow is to be migrated comprises: Inputting state parameters into the to-be-trained agent at the first experiment data flow outlet, the to-be-trained agent at the first experiment data flow outlet generates a third action parameter, and determining the second experiment server and the third experiment migration path based on the third action parameter; The state parameters include: network state information of the experimental network, experimental server state information, and experimental data flow computing task information; The third action parameter includes: information of the second experimental server, bandwidth weight, and weight of each path in the experimental network.

7. The method according to claim 1, characterized in that The determining whether the first data flow being sent to the target server in the computing power network causes congestion in the target server includes: Obtaining the remaining cache capacity of the target computing resources in the target server that can meet the latency requirement of the first data flow, and obtaining the data volume of the first data flow; When the remaining cache capacity is less than the data volume of the first data flow, it is determined that the first data flow causes congestion in the target server.

8. The method according to claim 1, characterized in that The step of selecting the data stream to be migrated from the target server includes: A data flow that meets a migration condition and has the largest data volume is selected from the target queue of the target server corresponding to the first data flow as the data flow to be migrated.

9. A data flow computing task migration device, characterized in that: The device comprises: A determination module, used to determine whether a first data flow being sent to a target server in a computing power network causes congestion in the target server; A selection module, configured to select a data flow to be migrated from the target server when congestion occurs on the target server; 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 is migrated, 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 migrate the unsent portion of the data stream to be migrated from the user device to the first server according to the second migration path; The second migration module is used to determine a second server and a third migration path to which the data flow to be migrated is to be migrated when the data flow to be migrated is not the first data flow, and migrate the data flow to be migrated to the second server according to the third migration path.

10. An electronic device, characterized in that: The electronic device comprises a processor and a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program; When the computer program is executed by the processor, the processor executes the data flow computing task migration method according to 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 a processor, the processor executes the data flow computing task migration method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Business processing method and apparatus for online data migration process

    CN108268501A

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

    CN116418876A

  • Data stream monitoring method and device and electronic equipment

    CN116975641A

  • Internet of Things service migration method and device, equipment and storage medium

    CN117956004A

  • Process migration in data center networks

    US20130346572A1

Cited By

  • Network congestion processing method, device and equipment, medium and product

    CN119484417A