Task processing method, container network detection method, task processing system, computing device, computer readable storage medium and computer program product

By identifying the resource dependencies between tasks, dividing the tasks into a set of subtasks without resource dependencies, and utilizing container resources for parallel processing, the problem of low task processing efficiency is solved and efficient task processing is achieved.

CN120670129APending Publication Date: 2025-09-19HANGZHOU ALICLOUD FEITIAN INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410317749.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-03-19
Publication Date
2025-09-19

AI Technical Summary

Technical Problem

In the existing technology, task processing efficiency is low because there is a resource dependency between tasks, resulting in only one task being processed at a time and unable to be effectively processed in parallel.

Method used

By identifying the resource dependencies between tasks, tasks are divided into subtask sets with no resource dependencies, and these subtask sets are processed concurrently, using container resources for parallel processing.

Benefits of technology

On the basis of ensuring the stability of task processing, the task processing efficiency is improved and the parallel processing of multiple subtasks is realized.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120670129A_ABST
    Figure CN120670129A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a task processing method, a container network detection method, a task processing system, computing equipment, a computer readable storage medium and a computer program product. The task processing method comprises the following steps: acquiring a plurality of sub-tasks of a target task; the resource dependency relationship among the multiple sub-tasks is identified, the multiple sub-tasks are divided according to the identification result, multiple sub-task sets are obtained, each sub-task set comprises multiple to-be-processed sub-tasks, and the resource dependency relationship does not exist among the multiple to-be-processed sub-tasks; and for a target subtask set in the plurality of subtask sets, calling resources corresponding to a plurality of target to-be-processed subtasks in the target subtask set, and carrying out concurrent processing on the plurality of target to-be-processed subtasks to obtain processing results of the plurality of target to-be-processed subtasks. Due to the fact that the resource dependency relationship does not exist among the to-be-processed sub-tasks, parallel processing of the to-be-processed sub-tasks is achieved, and the task processing efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of this specification relate to the field of computer technology, and in particular to a task processing method, a container network detection method, a task processing system, a computing device, a computer-readable storage medium, and a computer program product. Background Art

[0002] With the development of computer technology, more and more computer technologies are being applied to task processing. Task processing typically involves processing multiple tasks serially. However, with the rapid growth of tasks, simple serial processing solutions can no longer meet user needs. Therefore, how to efficiently process tasks has gradually become a research focus.

[0003] Currently, tasks without dependency conflicts are typically screened out from multiple tasks and processed concurrently. However, these solutions only consider dependency conflicts between tasks. Tasks without dependency conflicts may also depend on the same processing resource. Since the same processing resource can only process one task at a time, processing efficiency remains low. Therefore, an efficient task processing solution is urgently needed. Summary of the Invention

[0004] In view of this, embodiments of this specification provide a task processing method. One or more embodiments of this specification also relate to a container network detection method, a task processing apparatus, a container network detection apparatus, a task processing system, a computing device, a computer-readable storage medium, and a computer program product to address technical deficiencies in the prior art.

[0005] According to a first aspect of an embodiment of this specification, a task processing method is provided, including:

[0006] Get multiple subtasks of the target task;

[0007] Identifying resource dependencies between multiple subtasks, and dividing the multiple subtasks according to the identification results to obtain multiple subtask sets, wherein the subtask sets include multiple to-be-processed subtasks, and there is no resource dependency between the multiple to-be-processed subtasks;

[0008] For a target subtask set in multiple subtask sets, resources corresponding to multiple target to-be-processed subtasks in the target subtask set are called, the multiple target to-be-processed subtasks are processed concurrently, and processing results of the multiple target to-be-processed subtasks are obtained.

[0009] According to a second aspect of an embodiment of this specification, a container network detection method is provided, including:

[0010] Obtain multiple subtasks of the target detection task;

[0011] Identifying container resource dependencies between multiple subtasks, and dividing the multiple subtasks according to the identification results to obtain multiple subtask sets, wherein the subtask sets include multiple to-be-processed subtasks, and there is no container resource dependency between the multiple to-be-processed subtasks;

[0012] For a target subtask set in multiple subtask sets, container resources corresponding to multiple target to-be-processed subtasks in the target subtask set are called, the multiple target to-be-processed subtasks are processed concurrently, and container network detection results of the multiple target to-be-processed subtasks are obtained.

[0013] According to a third aspect of an embodiment of this specification, there is provided a task processing system, comprising a processing platform and a plurality of resources;

[0014] A processing platform is used to obtain multiple subtasks of a target task; identify resource dependencies between the multiple subtasks, and divide the multiple subtasks according to the identification results to obtain multiple subtask sets, wherein the subtask sets include multiple to-be-processed subtasks, and there is no resource dependency between the multiple to-be-processed subtasks;

[0015] Resources are used to concurrently process multiple target to-be-processed subtasks included in a target subtask set to obtain processing results of the multiple target to-be-processed subtasks, wherein the target subtask set is a set in multiple subtask sets.

[0016] According to a fourth aspect of an embodiment of this specification, there is provided a task processing system, comprising a processing platform and a plurality of container resources in a cloud cluster;

[0017] A processing platform is configured to obtain multiple subtasks of a target task; identify container resource dependencies between the multiple subtasks, and divide the multiple subtasks according to the identification results to obtain multiple subtask sets, wherein the subtask sets include multiple to-be-processed subtasks, and no container resource dependencies exist between the multiple to-be-processed subtasks;

[0018] The container resource is used to concurrently process multiple target to-be-processed subtasks included in the target subtask set to obtain processing results of the multiple target to-be-processed subtasks, wherein the target subtask set is a set of multiple subtask sets.

[0019] According to a fifth aspect of the embodiments of this specification, there is provided a task processing device, including:

[0020] A first acquisition module is configured to acquire multiple subtasks of the target task;

[0021] a first partitioning module configured to identify resource dependencies between a plurality of subtasks and partition the plurality of subtasks according to the identification result to obtain a plurality of subtask sets, wherein the subtask sets include a plurality of to-be-processed subtasks, and no resource dependencies exist between the plurality of to-be-processed subtasks;

[0022] The first processing module is configured to call resources corresponding to multiple target to-be-processed subtasks in the target subtask set for the target subtask set in the multiple subtask sets, perform concurrent processing on the multiple target to-be-processed subtasks, and obtain processing results of the multiple target to-be-processed subtasks.

[0023] According to a sixth aspect of an embodiment of this specification, a container network detection device is provided, including:

[0024] A second acquisition module is configured to acquire multiple subtasks of the target detection task;

[0025] a second partitioning module configured to identify container resource dependencies between the plurality of subtasks and partition the plurality of subtasks according to the identification result to obtain a plurality of subtask sets, wherein the subtask sets include a plurality of to-be-processed subtasks, and no container resource dependencies exist between the plurality of to-be-processed subtasks;

[0026] The second processing module is configured to call the container resources corresponding to multiple target to-be-processed subtasks in the target subtask set for the target subtask set in the multiple subtask sets, perform concurrent processing on the multiple target to-be-processed subtasks, and obtain container network detection results for the multiple target to-be-processed subtasks.

[0027] According to a seventh aspect of the embodiments of this specification, a computing device is provided, including:

[0028] memory and processor;

[0029] The memory is used to store computer programs / instructions, and the processor is used to execute the computer programs / instructions. When the computer programs / instructions are executed by the processor, the steps of the method provided in the first aspect or the second aspect are implemented.

[0030] According to an eighth aspect of the embodiments of this specification, a computer-readable storage medium is provided, which stores a computer program / instruction, and when the computer program / instruction is executed by a processor, the steps of the method provided in the first aspect or the second aspect are implemented.

[0031] According to a ninth aspect of the embodiments of this specification, a computer program product is provided, comprising a computer program / instruction, which, when executed by a processor, implements the steps of the method provided in the first or second aspect above.

[0032] An embodiment of the present specification provides a task processing method, which obtains multiple subtasks of a target task; identifies resource dependencies between the multiple subtasks, and divides the multiple subtasks according to the identification results to obtain multiple subtask sets, wherein the subtask set includes multiple subtasks to be processed, and there is no resource dependency between the multiple subtasks to be processed; for a target subtask set in the multiple subtask sets, the resources corresponding to the multiple target subtasks to be processed in the target subtask set are called, and the multiple target subtasks to be processed are processed concurrently to obtain processing results of the multiple target subtasks to be processed. Since there is no resource dependency between the multiple subtasks to be processed included in the subtask set, it means that there are no shared resources between the multiple subtasks to be processed, thereby achieving parallel processing of multiple subtasks to be processed in the subtask set with the subtask set as the unit, thereby improving the task processing efficiency while ensuring the stability of task processing. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] Figure 1 This is an architecture diagram of a task processing system provided by one embodiment of this specification;

[0034] Figure 2 This is an architecture diagram of another task processing system provided by one embodiment of this specification;

[0035] Figure 3 This is a flowchart of a task processing method provided by one embodiment of this specification;

[0036] Figure 4 This is a schematic diagram of a task relationship diagram in a task processing method provided by one embodiment of this specification;

[0037] Figure 5 This is a flowchart of a container network detection method provided by one embodiment of this specification;

[0038] Figure 6 This is a flowchart of a processing process of a container network detection method provided by an embodiment of this specification;

[0039] Figure 7 This is a process flow chart of a task processing method provided by one embodiment of this specification;

[0040] Figure 8 This is a structural diagram of a task processing device provided by one embodiment of this specification;

[0041] Figure 9 This is a schematic diagram of the structure of a container network detection device provided by one embodiment of this specification;

[0042] Figure 10 This is a structural block diagram of a computing device provided by one embodiment of this specification. DETAILED DESCRIPTION

[0043] The following description sets forth many specific details to facilitate a thorough understanding of this specification. However, this specification can be implemented in many other ways than those described herein, and those skilled in the art can make similar generalizations without violating the scope of this specification. Therefore, this specification is not limited to the specific implementations disclosed below.

[0044] The terms used in one or more embodiments of this specification are for the purpose of describing specific embodiments only and are not intended to limit one or more embodiments of this specification. The singular forms "a," "the," and "the" used in one or more embodiments of this specification and the appended claims are also intended to include plural forms unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used in one or more embodiments of this specification refers to and includes any or all possible combinations of one or more associated listed items.

[0045] It should be understood that although the terms first, second, etc. may be used to describe various information in one or more embodiments of this specification, such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of one or more embodiments of this specification, the first may also be referred to as the second, and similarly, the second may also be referred to as the first. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".

[0046] In addition, it should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in one or more embodiments of this specification are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0047] First, the terms involved in one or more embodiments of this specification are explained.

[0048] Observability: refers to the ability to monitor, measure, and understand the state of a system or application by examining its logs, events, and metrics.

[0049] Observable systems are systems with integrated observability capabilities, allowing developers and operations teams to monitor and observe the system or application. They also allow active input to be applied to observe the response of the application under test.

[0050] Scheduling platform: In a multi-tasking situation, the task scheduler determines which task should obtain resources and the execution priority, ensuring efficient task execution.

[0051] Cluster: refers to a group of computer systems interconnected by a high-speed network. These systems work together and behave as a unified whole to provide higher performance, availability, scalability, and fault tolerance. Each computer in the cluster is called a cluster node. Cluster nodes coordinate their work through software and hardware technologies to share task loads, data storage, or provide continuous services to users. Clusters are commonly used in high-performance computing, load balancing, fault recovery, distributed databases, cloud computing, and other fields. Depending on their functions and design goals, they can be divided into various types, such as high-availability clusters, load balancing clusters, compute-intensive clusters, and storage clusters. In a containerized environment, a cluster consists of multiple physical machines or virtual machines, which are jointly managed and scheduled by cluster management software to schedule container instances distributed on each node.

[0052] This specification provides a task processing method. This specification also relates to a container network detection method, a task processing device, a container network detection device, a task processing system, a computing device, a computer-readable storage medium, and a computer program product, each of which is described in detail in the following embodiments.

[0053] See also Figure 1 , Figure 1 1 shows an architecture diagram of a task processing system provided by an embodiment of this specification. The task processing system may include a processing platform 100 and multiple resources 200;

[0054] The processing platform 100 is configured to obtain a plurality of subtasks of a target task; identify resource dependencies between the plurality of subtasks, and divide the plurality of subtasks according to the identification results to obtain a plurality of subtask sets, wherein the subtask sets include a plurality of to-be-processed subtasks, and no resource dependencies exist between the plurality of to-be-processed subtasks;

[0055] Resource 200 is used to concurrently process multiple target to-be-processed subtasks included in a target subtask set to obtain processing results of the multiple target to-be-processed subtasks, wherein the target subtask set is a set among multiple subtask sets.

[0056] By applying the solution of the embodiment of this specification, since there is no resource dependency between the multiple subtasks to be processed included in the subtask set, it means that there are no shared resources between the multiple subtasks to be processed. Therefore, the parallel processing of multiple subtasks to be processed in the subtask set is achieved based on the subtask set, thereby improving the task processing efficiency while ensuring the stability of task processing.

[0057] In actual applications, multiple resources can be multiple container resources in a cloud cluster. Figure 2 , Figure 2 1 shows an architecture diagram of another task processing system provided by one embodiment of this specification. The task processing system may include a processing platform 100 and multiple container resources 300 in a cloud cluster.

[0058] The processing platform 100 is configured to obtain multiple subtasks of a target task; identify container resource dependencies between the multiple subtasks, and divide the multiple subtasks according to the identification results to obtain multiple subtask sets, wherein the subtask sets include multiple to-be-processed subtasks, and no container resource dependencies exist between the multiple to-be-processed subtasks;

[0059] The container resource 300 is used to concurrently process multiple target to-be-processed subtasks included in a target subtask set to obtain processing results of the multiple target to-be-processed subtasks, wherein the target subtask set is a set in multiple subtask sets.

[0060] By applying the solution of the embodiments of this specification, since there is no container resource dependency between the multiple subtasks to be processed included in the subtask set, it means that there are no shared container resources between the multiple subtasks to be processed. Therefore, the parallel processing of multiple subtasks to be processed in the subtask set is achieved based on the subtask set, thereby improving the task processing efficiency while ensuring the stability of task processing.

[0061] In an optional embodiment of the present specification, the task processing system can obtain multiple subtasks of the target task from multiple clients. The task processing system can be set on the cloud side. A communication connection can be established between multiple clients through the task processing system. In the task processing scenario, the task processing system is used to provide task processing services between multiple clients. Multiple clients can act as senders or receivers respectively to achieve communication through the task processing system. Users can interact with the task processing system through the client to receive data sent by other clients, or send data to other clients, etc. In the task processing scenario, users can publish data streams to the task processing system through the client, and the task processing system generates task processing results based on the data stream and pushes the task processing results to other clients that have established communication.

[0062] The client and the task processing system are connected via a network. The network provides the medium for the communication link between the client and the task processing system. Networks can include various connection types, such as wired or wireless communication links or fiber optic cables. Data transmitted by the client may require encoding, transcoding, and compression before being released to the task processing system.

[0063] The client can be a browser, an APP (Application), or a web application such as an H5 (HyperTextMarkup Language 5, Hypertext Markup Language 5) application, or a light application (also known as a mini-program, a lightweight application) or a cloud application. The client can be based on the software development kit (SDK) of the corresponding service provided by the task processing system, such as developed based on the real-time communication (RTC) SDK. The client can be deployed in an electronic device and needs to rely on the device to run or certain APPs in the device to run. For example, the electronic device can have a display screen and support information browsing, such as a personal mobile terminal such as a mobile phone, tablet computer, personal computer, etc. Various other types of applications can also be configured in the electronic device, such as human-computer dialogue applications, model training applications, text processing applications, web browser applications, shopping applications, search applications, instant messaging tools, email clients, social platform software, etc.

[0064] The task processing system may include servers that provide various services, such as servers that provide communication services to multiple clients, servers that support backend training for models used on clients, and servers that process data sent by clients. It should be noted that the task processing system can be implemented as a distributed server cluster consisting of multiple servers, or as a single server. The server may also be a server in a distributed system, or a server integrated with a blockchain. The server may also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology.

[0065] It is worth noting that the task processing methods provided in the embodiments of this specification are generally executed by the task processing system. However, in other embodiments of this specification, the client may also have similar functions to the task processing system to execute the task processing methods provided in the embodiments of this specification. In other embodiments, the task processing methods provided in the embodiments of this specification may also be executed jointly by the client and the task processing system.

[0066] See also Figure 3 , Figure 3 A flowchart of a task processing method provided by an embodiment of this specification is shown, which specifically includes the following steps:

[0067] Step 302: Acquire multiple subtasks of the target task.

[0068] In one or more embodiments of this specification, during task processing, multiple subtasks of the target task may be obtained, resources corresponding to each subtask may be called, and the multiple subtasks of the target task may be processed in parallel to obtain processing results of each subtask.

[0069] Specifically, target tasks can be of different types, such as observation tasks, log monitoring tasks, network connectivity detection tasks, and so on. A target task can be referred to as a main task. Subtasks are components of a target task. Subtasks conform to resource processing rules and can be processed by the resource to produce a processing result. For example, target task A can include subtasks A1, A2, and A3.

[0070] In practical applications, there are many ways to obtain multiple subtasks of a target task, and the specific method is selected according to the actual situation. The embodiments of this specification do not impose any restrictions on this. In one possible implementation of this specification, the multiple subtasks of the target task can be directly read from other data acquisition devices or databases. In another possible implementation of this specification, the target task can be read from other data acquisition devices or databases, and the target task can be divided to obtain multiple subtasks of the target task.

[0071] In an optional embodiment of the present specification, the above-mentioned acquisition of multiple subtasks of the target task may include the following steps:

[0072] Obtaining a target task, wherein the target task carries resource information;

[0073] According to the resource information, the target task is split into multiple subtasks, and the resources corresponding to the multiple subtasks are determined.

[0074] Specifically, resource information is used to describe the resources used to process the target task. Resource information includes but is not limited to the identification of the resource, the number of resources, and so on. The resource is used to process the target task and obtain the task processing result corresponding to the target task. The resource can be a service resource in the task processing system or a container resource in the node of the cloud cluster. The specific selection is based on the actual situation, and the embodiments of this specification do not impose any restrictions on this. A resource can process at least one subtask. In actual applications, the management unit corresponding to the resource (such as pod) can pull the subtasks belonging to the resource through the application programming interface (API, Application Programming Interface), or the resource can receive the subtasks actively sent by the task processing system.

[0075] In actual applications, there are many ways to obtain the target task, and the specific selection is based on the actual situation. The embodiments of this specification do not impose any restrictions on this. In one possible implementation of this specification, the target task can be directly read from other data acquisition devices or databases. In another possible implementation of this specification, the target task can be received by the user actively sent through the client. In yet another possible implementation of this specification, the task configuration information sent by the user can be received, and the target task is determined based on the task configuration information. For example, a set of scripts and configurations that meet the task processing specifications are received from the user actively through the client, and the target observation task is generated based on the scripts and configurations.

[0076] It should be noted that after obtaining the target task, the target task may not be directly executed by the resources, or the efficiency is low when it is directly executed by the resources. Therefore, the target task can be split according to the resource information to obtain multiple subtasks. There are many ways to split the target task, and the specific selection should be made according to the actual situation. This specification does not impose any restrictions on this. In one possible implementation method of this specification, the target task can be randomly split to obtain multiple subtasks. In another possible implementation method of this specification, the target task can be split according to the resource information to obtain multiple subtasks that can be executed by the resources. Furthermore, a task splitting strategy can be obtained, and the target task can be split based on the task splitting strategy and resource information to obtain multiple subtasks. Among them, the task splitting strategy includes but is not limited to a point-to-point strategy, a specified resource list strategy, a strategy for any two resources among multiple resources, a strategy for a combination of any two resources among multiple resources, and a strategy for multiple resource strategies. The point-to-point strategy indicates that tasks are split based on two specific resources among multiple resources; the specified resource list strategy indicates that tasks are split based on resources in a specified resource list among multiple resources; the any two resources strategy indicates that tasks are split based on any two resources among multiple resources; and the any two resource combination strategy indicates that tasks are split based on any combination of two resources among multiple resources.

[0077] For example, assuming that the resource information indicates that there are three resources, namely resource 1, resource 2 and resource 3, and the task splitting strategy is a strategy for combining any two resources among multiple resources, it can be determined that any two resource combinations include [resource 1-resource 2], [resource 1-resource 3] and [resource 2-resource 3]. Therefore, the target task can be split into three subtasks.

[0078] Furthermore, after splitting the target task into multiple subtasks, the resources corresponding to the multiple subtasks can be determined, that is, the correspondence between the subtasks and the resources can be determined. Specifically, when determining the resources corresponding to the multiple subtasks, the resources can be randomly allocated to the multiple subtasks based on the idle status of the multiple resources. The resources corresponding to the multiple subtasks can also be determined based on the processable task types of each resource and the task types of each subtask. It is worth noting that when processing the target task, only the concepts of target task, subtask, etc. can be revealed to the user, without revealing the logic of subtask generation and resource operation, so as to make the interaction more concise.

[0079] Applying the solutions of the embodiments of this specification, a target task is obtained, wherein the target task carries resource information; based on the resource information, the target task is split into multiple subtasks, and the resources corresponding to the multiple subtasks are determined. By splitting the target task into multiple subtasks, sufficient preparation is made for parallel processing of the target task, ensuring stable operation of task processing.

[0080] Step 304: Identify resource dependencies between multiple subtasks, and divide the multiple subtasks according to the identification results to obtain multiple subtask sets, wherein the subtask set includes multiple to-be-processed subtasks, and there is no resource dependency between the multiple to-be-processed subtasks.

[0081] In one or more embodiments of this specification, after obtaining multiple subtasks of the target task, simply processing the multiple subtasks in serial is extremely inefficient. However, because each resource can only process one subtask at a time, and it is uncertain whether the processing of a subtask requires the participation of one resource or multiple resources, it is very difficult to process all subtasks concurrently. Based on the above analysis, in the embodiments of this specification, the dependency relationship between subtasks and resources can be analyzed to determine the task processing logic. That is, after obtaining multiple subtasks of the target task, the resource dependency relationship between the multiple subtasks can be further identified, and the multiple subtasks can be divided according to the identification results to obtain multiple subtask sets.

[0082] Specifically, the identification results include the existence of resource dependencies between subtasks and the absence of resource dependencies between subtasks. Resource dependencies are used to describe a constraint relationship between multiple subtasks due to sharing the same resource. For example, resource 1 processes subtask 1, resource 2 processes subtask 2, and resource 1 processes subtask 3. Since subtask 1 and subtask 3 are processed by the common resource 1, it means that there is a resource dependency between subtask 1 and subtask 3, there is no resource dependency between subtask 1 and subtask 2, and there is no resource dependency between subtask 2 and subtask 3. A subtask set refers to a set consisting of multiple subtasks that do not have resource dependencies. Quoting the above example, subtask 1 and subtask 2 can constitute subtask set A, and subtask 2 and subtask 3 can constitute subtask set B.

[0083] It should be noted that there are many ways to identify the resource dependency relationship between multiple subtasks, and the specific method to be selected depends on the actual situation. The embodiments of this specification do not impose any restrictions on this. In one possible implementation method of this specification, the resources corresponding to each subtask can be obtained. If any two subtasks correspond to the same resources, that is, common resources are involved in the processing, it means that the two subtasks are mutually exclusive, that is, there is a resource dependency relationship. If the resources corresponding to any two subtasks are different, it means that there is no resource dependency relationship between the two subtasks. In another possible implementation method of this specification, a pre-built task relationship diagram can be obtained, and the resource dependency relationship between multiple subtasks can be determined based on the task relationship diagram.

[0084] In practical applications, after identifying the resource dependencies between multiple subtasks, we can directly group subtasks that don't have resource dependencies into a subtask set. Once all subtasks are grouped, we can obtain multiple subtask results. Furthermore, to ensure that no subtasks are omitted from the subtask set, we can construct a task relationship graph based on the identification results and use it to determine multiple subtask sets.

[0085] In a possible implementation of this specification, the above-mentioned division of multiple subtasks according to the recognition results to obtain multiple subtask sets may include the following steps:

[0086] According to the identification result, determining the subtasks among the multiple subtasks that do not have resource dependency relationships;

[0087] A task relationship graph is constructed using multiple subtasks as nodes and edges obtained by connecting subtasks that do not have resource dependencies.

[0088] From the task relationship graph, multiple task relationship subgraphs are screened out, and multiple subtask sets are determined based on the multiple task relationship subgraphs, wherein there are edges between the nodes in the task relationship subgraphs, and the subtask sets are connected to the task relationship subgraphs. Figure 1 One to one correspondence.

[0089] Specifically, two subtasks connected in the task relationship graph indicate that there are no common resources involved in processing between the two subtasks, that is, the two subtasks can be processed in parallel.

[0090] It should be noted that when screening out multiple task relationship subgraphs from the task relationship graph, it is hoped that the task relationship subgraph includes as many subtasks as possible, and that the subtasks are connected to each other. The problem of solving the task relationship subgraph can be understood as the maximum clique problem. The target solution of this problem has been proven to be impossible to solve efficiently in polynomial time. Therefore, the embodiment of this specification adopts an approximate algorithm to solve the problem. For a certain subtask set, all subtasks in the set have an edge between each other in the task relationship graph, which means that all subtasks in a set can be processed in parallel.

[0091] Furthermore, after screening out multiple task relationship subgraphs, for any task relationship subgraph, multiple subtasks included in the task relationship subgraph can be divided into the same subtask set, thereby obtaining the subtask set corresponding to the task relationship subgraph.

[0092] See also Figure 4 , Figure 4 A schematic diagram of a task relationship diagram in a task processing method provided by an embodiment of this specification is shown. Figure 4 As shown, the task relationship graph includes subtask 1, subtask 2, subtask 3, subtask 4, subtask 5, and subtask 6. Subtask 1, subtask 2, and subtask 5 form a task relationship subgraph. This task relationship subgraph has the largest number of subtasks in the task relationship graph, and the task relationship graphs are connected in pairs.

[0093] By applying the solution of the embodiment of this specification, based on the identification results, subtasks without resource dependencies among multiple subtasks are determined; a task relationship graph is constructed with multiple subtasks as nodes and based on the edges obtained by connecting subtasks without resource dependencies; multiple task relationship subgraphs are screened out from the task relationship graph, and multiple subtask sets are determined based on the multiple task relationship subgraphs. By determining the subtask set based on the task relationship graph, it is ensured that the subtask set includes as many subtasks as possible that are connected to each other, thereby improving the task processing concurrency capability.

[0094] In an optional embodiment of the present specification, after the resource dependency relationships between the multiple subtasks are identified and the multiple subtasks are divided according to the identification results to obtain multiple subtask sets, the following steps may also be included:

[0095] Get the subtasks to be divided into the target task;

[0096] For a first subtask set, identifying resource dependencies between the subtask to be divided and a plurality of first subtasks in a plurality of subtask sets, wherein the first subtask set is any one of the plurality of subtask sets;

[0097] In the case that there is no resource dependency relationship between the subtask to be divided and the plurality of first subtasks, the subtask to be divided is divided into the first subtask set.

[0098] Specifically, the subtask to be divided refers to a subtask to which the subtask set to which it belongs is not determined. The method of obtaining the subtask to be divided of the target task is the same as the method of obtaining the subtask of the target task described above, and will not be described in detail in this embodiment.

[0099] In practical applications, after obtaining the subtasks to be divided of the target task, all subtask sets can be traversed to identify the resource dependency relationships between the subtasks in each subtask set and the subtasks to be divided. If the subtask to be divided does not have a resource dependency relationship with any subtask in a subtask set, that is, if there is an edge connecting the subtask to be divided with each node in the task relationship subgraph corresponding to the subtask set, then the subtask to be divided will be divided into that subtask set. If no subtask set can be found among all subtask sets that does not have a resource dependency relationship with any subtask in the subtask set, then a separate subtask set will be constructed for the subtask to be divided.

[0100] It should be noted that after determining the subtask set of the subtasks to be divided, the subtasks in the set can be processed in parallel using the subtask set as a unit.

[0101] Applying the solution of the embodiments of this specification, to obtain subtasks to be divided of a target task; for a first subtask set, identifying resource dependencies between the subtask to be divided and multiple first subtasks in multiple subtask sets, where the first subtask set is any one of the multiple subtask sets; and if no resource dependencies exist between the subtask to be divided and the multiple first subtasks, assigning the subtask to be divided to the first subtask set. By accurately determining the subtask set to which the subtask to be divided belongs, the stability of task parallel processing is ensured and task processing efficiency is improved.

[0102] Step 306: For the target subtask set in the multiple subtask sets, call the resources corresponding to the multiple target to-be-processed subtasks in the target subtask set, perform concurrent processing on the multiple target to-be-processed subtasks, and obtain processing results of the multiple target to-be-processed subtasks.

[0103] In one or more embodiments of the present specification, multiple subtasks of a target task are obtained; resource dependencies between the multiple subtasks are identified, and the multiple subtasks are divided according to the identification results. After obtaining multiple subtask sets, further, for a target subtask set in the multiple subtask sets, resources corresponding to multiple target to-be-processed subtasks in the target subtask set can be called, and the multiple target to-be-processed subtasks can be processed concurrently to obtain processing results of the multiple target to-be-processed subtasks.

[0104] Specifically, concurrent processing refers to executing multiple tasks simultaneously at the same time. The target subtask set can be any one of the multiple subtask sets, or it can be the subtask set with the largest number of subtasks within the target subtask set. For example, when processing a task, the subtask set with the largest number of subtasks is selected from all subtask sets, and each subtask in this subtask set is processed concurrently.

[0105] The embodiments of this specification utilize a solution that, because there are no resource dependencies between the multiple pending subtasks included in a subtask set, indicating that the multiple pending subtasks do not share resources, allows for parallel processing of multiple pending subtasks within the subtask set, using the subtask set as a unit. By analyzing the dependencies and associations between subtasks and resources during task processing, task processing efficiency is improved while ensuring task processing stability.

[0106] In an optional embodiment of the present specification, in order to improve the concurrent processing capability of tasks, a subtask set including the largest number of subtasks can be selected as the target subtask set. After the target to-be-processed subtasks in the target subtask set begin concurrent processing, before each round of selecting the target subtask set for concurrent processing, the multiple subtasks can be updated according to the processing status of the multiple subtasks, and the subtask set can be re-divided to ensure that the target subtask set determined by each round of task processing includes as many subtasks as possible, that is, for the target subtask set in the multiple subtask sets, the resources corresponding to the multiple target to-be-processed subtasks in the target subtask set are called, the multiple target to-be-processed subtasks are processed concurrently, and after obtaining the processing results of the multiple target to-be-processed subtasks, the following steps can also be included:

[0107] According to the processing status of the multiple subtasks, the multiple subtasks are updated to obtain the updated multiple subtasks;

[0108] Return to the step of identifying resource dependencies between multiple subtasks, dividing the multiple subtasks according to the identification results, and obtaining multiple subtask sets, until the multiple subtasks are processed and the task processing result of the target task is obtained.

[0109] Specifically, the processing status of a subtask includes unprocessed (new), processing (running) and processed (completed), where unprocessed means the subtask is waiting to be processed, processing means the subtask is in the process of being processed, and processed means the subtask has been completed.

[0110] In actual applications, multiple subtasks are updated according to their processing statuses, and there are multiple ways to obtain the updated multiple subtasks. The specific selection is based on the actual situation, and the embodiments of this specification do not impose any restrictions on this. In one possible implementation method of this specification, since the subtask with a processing status of processed will not affect the processing of other subtasks, the subtask with a processing status of processed can be deleted. Because the subtasks with a resource dependency relationship with the subtask with a processing status of being processed cannot be processed at the same time as the subtask with a processing status of being processed, they cannot be selected for processing in this round. Therefore, for the subtasks with a processing status of being processed, the subtasks with a resource dependency relationship with them can be temporarily deleted, and for the candidate subtasks with a processing status of being processed in the previous round and a processing status of being processed in this round, the subtasks with a resource dependency relationship with the candidate subtasks can be restored to obtain the updated multiple subtasks.

[0111] Applying the solution of the embodiments of this specification, multiple subtasks are updated based on their processing status to obtain multiple updated subtasks. The process then returns to identify resource dependencies between the multiple subtasks and, based on the identification results, divides the multiple subtasks to obtain multiple subtask sets, continuing until the multiple subtasks are processed and the task processing result for the target task is obtained. By updating multiple subtasks, the subtask set selected for each round of concurrent processing is guaranteed to contain the maximum number of subtasks, thereby improving the concurrency of task processing.

[0112] In another possible implementation of the present specification, the updating of the multiple subtasks according to the processing status of the multiple subtasks to obtain the updated multiple subtasks may include the following steps:

[0113] Filtering target subtasks from the plurality of subtasks according to the processing status, wherein the target subtasks include subtasks with a processing status of being processed and subtasks with no resource dependency relationship with the subtasks with a processing status of being processed and with a processing status of being unprocessed;

[0114] Delete subtasks other than the target subtask from the multiple subtasks to obtain the updated multiple subtasks.

[0115] It should be noted that, when filtering out a target subtask from multiple subtasks based on the processing status, the processing status of each of the multiple subtasks can be obtained first, and then the subtasks with a processing status of being processed and the subtasks that have no resource dependency relationship with the subtasks with a processing status of being processed and whose processing status is unprocessed are determined as target subtasks. There are many ways to obtain the processing status of each of the multiple subtasks, and the specific selection should be made according to the actual situation. The embodiments of this specification do not impose any restrictions on this. In one possible implementation of this specification, the subtask processing log can be obtained from the database, and the processing status of each subtask can be determined based on the subtask processing log. In another possible implementation of this specification, the status query API of the task processing system can be called to obtain the processing status of each of the multiple subtasks.

[0116] Using the solution of the embodiments of this specification, a target subtask is selected from multiple subtasks based on their processing status. The target subtasks include subtasks with a processing status of "in progress" and subtasks with a processing status of "unprocessed" and no resource dependency on subtasks with a processing status of "in progress." Subtasks other than the target subtask are deleted from the multiple subtasks to obtain updated subtasks. By deleting subtasks other than the target subtask from the multiple subtasks to obtain updated subtasks, accurate updates of the multiple subtasks are ensured, thereby improving the concurrency of task processing.

[0117] In an optional embodiment of the present specification, the above-mentioned target subtask set in the multiple subtask sets, calling the resources corresponding to the multiple target to-be-processed subtasks in the target subtask set, and concurrently processing the multiple target to-be-processed subtasks, before obtaining the processing results of the multiple target to-be-processed subtasks, may further include the following steps:

[0118] Determining the processing priorities of the multiple subtask sets according to the number of subtasks in the multiple subtask sets;

[0119] Determine the target subtask set based on the processing priority.

[0120] Specifically, the processing priority is used to describe the processing priority order of each subtask in the subtask set. A subtask set with a higher processing priority has more subtasks, and a subtask set with a lower processing priority has fewer subtasks.

[0121] It should be noted that the task processing order of each subtask set can be determined according to the processing priority, the number of subtasks that can be processed simultaneously at the same time may not be limited, and the processing time of each subtask may not be limited.

[0122] In practical applications, there are multiple ways to determine the target subtask set based on the processing priority, and the specific selection is based on the actual situation. The embodiments of this specification do not impose any restrictions on this. In one possible implementation of this specification, the subtask set with the highest processing priority can be directly determined as the target subtask set. In another possible implementation of this specification, multiple subtask sets can be sorted in descending order of processing priority, and the subtask set with the highest sorting priority can be determined as the target subtask set.

[0123] Using the solution of the embodiments of this specification, the processing priorities of the multiple subtask sets are determined based on the number of subtasks in the multiple subtask sets; and a target subtask set is determined based on the processing priorities. By determining the target subtask set based on the processing priorities, the target subtask set is guaranteed to have the largest number of target subtasks to be processed, thereby improving the concurrency of task processing.

[0124] In an optional embodiment of the present specification, the above-mentioned target subtask set in the multiple subtask sets, calling the resources corresponding to the multiple target to-be-processed subtasks in the target subtask set, concurrently processing the multiple target to-be-processed subtasks, and obtaining the processing results of the multiple target to-be-processed subtasks may further include the following steps:

[0125] According to the processing priority, the target subtask set is updated to obtain an updated target subtask set;

[0126] Return the steps of executing and calling the resources corresponding to multiple target pending subtasks in the target subtask set, concurrently processing the multiple target pending subtasks, and obtaining the processing results of the multiple target pending subtasks, until the multiple subtasks are processed and the task processing result of the target task is obtained.

[0127] It should be noted that after calling the resources corresponding to multiple target pending subtasks in the target subtask set and completing the concurrent processing of multiple target pending subtasks, the next round of task processing begins. At this time, the subtask set with the highest processing priority can be selected from the multiple unprocessed subtask sets based on the processing priority, and this subtask set can be determined as the updated target subtask set.

[0128] Applying the solution of the embodiments of this specification, the target subtask set is updated according to the processing priority to obtain an updated target subtask set; the step of returning to execute and calling the resources corresponding to the multiple target pending subtasks in the target subtask set, concurrently processing the multiple target pending subtasks, and obtaining the processing results of the multiple target pending subtasks, continues until the multiple subtasks are processed and the task processing results of the target task are obtained. By updating the target subtask set according to the processing priority, it is ensured that the target subtask set for each round of processing is the subtask set with the largest number of subtasks, thereby improving the concurrency of task processing.

[0129] In practical applications, system observability is a major issue in the software field. Good observability can better help developers and operations personnel monitor and understand the status of systems or applications. Traditional system observation relies on logs, metrics, and events output by the monitored system. Because these outputs are pre-built into the system, insufficient coverage of embedded observation points can lead to unobservable situations. Furthermore, traditional observation systems do not allow developers and operations personnel to provide additional input; system outputs are entirely based on user requests. Therefore, traditional observation systems focus more on observation capabilities and lack testability (testing and probing). For example, in container network connectivity testing, the observation system needs to generate executable tasks between specific nodes. If connectivity testing is performed between any two nodes in the entire cluster, N executable tasks will be generated. A simple task execution plan, which executes tasks serially, is inefficient. A fully parallel execution plan is also obviously inefficient because different executable tasks may depend on the same node.

[0130] Therefore, the embodiments of this specification propose a solution for concurrent processing in an observable system based on parallel dependency analysis. The observable system not only observes logs, indicators, and events, but also focuses on responding to active external input detection projects (such as container network detection projects). Among them, the detection projects can be customized scripts of R&D and operation and maintenance personnel. As an observable system, it is necessary to help R&D and operation and maintenance personnel generate specific executable distributed tasks.

[0131] The following combined Figure 5 , taking the application of the task processing method provided in this specification in the container network detection scenario as an example, the task processing method is further explained. Figure 5 A flowchart of a container network detection method provided by an embodiment of this specification is shown, which specifically includes the following steps:

[0132] Step 502: Acquire multiple subtasks of the target detection task.

[0133] Step 504: Identify container resource dependencies between multiple subtasks, and divide the multiple subtasks according to the identification results to obtain multiple subtask sets, wherein the subtask set includes multiple to-be-processed subtasks, and there is no container resource dependency between the multiple to-be-processed subtasks.

[0134] Step 506: For the target subtask set in the multiple subtask sets, call the container resources corresponding to the multiple target to-be-processed subtasks in the target subtask set, concurrently process the multiple target to-be-processed subtasks, and obtain container network detection results for the multiple target to-be-processed subtasks.

[0135] It should be noted that the implementation of steps 502 to 506 is the same as the implementation of steps 302 to 306 described above, and will not be described in detail in the embodiments of this specification.

[0136] The solution implemented in the embodiments of this specification achieves parallel processing of multiple pending subtasks within a subtask set, as there are no container resource dependencies between the multiple pending subtasks within the set. This indicates that the multiple pending subtasks do not share common container resources. This allows for the parallel processing of multiple pending subtasks within the subtask set, using the subtask set as a unit. By analyzing the dependencies and associations between subtasks and container resources during target detection task processing, the efficiency of target detection task processing is improved while ensuring stable processing.

[0137] See also Figure 6 , Figure 6 A flowchart of a container network detection method according to an embodiment of the present specification is shown. Figure 6 As shown, users can submit target tasks to the processing platform in the task processing system, and at the same time, target task management can be achieved through the processing platform. The processing platform can generate and distribute multiple subtasks of the target task. After the processing platform generates multiple subtasks of the target task, it can deploy the correspondence between the subtasks and the container resources on the node, and distribute the subtasks to the base pods in each node of the cluster. Optionally, the base pod can request tasks from the processing platform. After the container resources in the cluster process the subtasks concurrently, the base pod can report the status (the status of the subtasks) to the processing platform.

[0138] See also Figure 7 , Figure 7 The following is a flowchart of a task processing method according to an embodiment of the present invention, which specifically includes:

[0139] The user submits a task to the task processing system; the processing platform in the task processing system generates a target task based on the task and waits for scheduling; when processing the target task, the target task can be split into multiple subtasks; a concurrent analysis of multiple subtasks is performed to determine the subtasks that can be processed concurrently; the subtasks that can be processed concurrently are sent to the corresponding resources, and the resources are scheduled to process the subtasks; after the scheduled resources have completed the execution of the subtasks, it can be determined whether all the subtasks of the target task have been executed; if so, the system returns to generating a target task based on the task and waits for scheduling; if not, the system returns to analyzing multiple subtasks concurrently to determine the subtasks that can be processed concurrently, sends the subtasks that can be processed concurrently to the corresponding resources, and schedules the resources to process the subtasks until all the subtasks of the target task have been executed, and then returns to generating a new target task based on the task and waits for scheduling.

[0140] Corresponding to the above-mentioned task processing method embodiment, this specification also provides a task processing device embodiment, Figure 8 FIG1 shows a schematic diagram of the structure of a task processing device provided by an embodiment of this specification. Figure 8 As shown, the device includes:

[0141] A first acquisition module 802 is configured to acquire multiple subtasks of a target task;

[0142] A first partitioning module 804 is configured to identify resource dependencies between the plurality of subtasks and partition the plurality of subtasks according to the identification result to obtain a plurality of subtask sets, wherein the subtask sets include a plurality of to-be-processed subtasks, and no resource dependencies exist between the plurality of to-be-processed subtasks;

[0143] The first processing module 806 is configured to call resources corresponding to multiple target to-be-processed subtasks in the target subtask set for the target subtask set in the multiple subtask sets, perform concurrent processing on the multiple target to-be-processed subtasks, and obtain processing results of the multiple target to-be-processed subtasks.

[0144] Optionally, the first partitioning module 804 is further configured to determine, based on the identification results, subtasks that do not have resource dependency relationships among the multiple subtasks; construct a task relationship graph based on the multiple subtasks as nodes and the edges obtained by connecting the subtasks that do not have resource dependency relationships; filter out multiple task relationship subgraphs from the task relationship graph, and determine multiple subtask sets based on the multiple task relationship subgraphs, wherein there are edges between the nodes in the task relationship subgraphs, and the subtask sets are connected to the task relationship subgraphs. Figure 1 One to one correspondence.

[0145] Optionally, the device further includes: a determination module configured to determine the processing priorities of the multiple subtask sets according to the number of subtasks in the multiple subtask sets; and determine the target subtask set according to the processing priorities.

[0146] Optionally, the device also includes: a first update module, configured to update the target subtask set according to the processing priority to obtain an updated target subtask set; return to execute the call to call the resources corresponding to multiple target to-be-processed subtasks in the target subtask set, perform concurrent processing on the multiple target to-be-processed subtasks, and obtain the processing results of the multiple target to-be-processed subtasks, until the processing of multiple subtasks is completed and the task processing result of the target task is obtained.

[0147] Optionally, the device also includes: a second update module, configured to update multiple subtasks according to the processing status of multiple subtasks to obtain multiple updated subtasks; return to execute the steps of identifying the resource dependencies between multiple subtasks, and dividing the multiple subtasks according to the identification results to obtain multiple subtask sets, until the processing of multiple subtasks is completed and the task processing result of the target task is obtained.

[0148] Optionally, the second update module is further configured to filter out target subtasks from multiple subtasks based on the processing status, wherein the target subtasks include subtasks with a processing status of being processed and subtasks that have no resource dependency relationship with the subtasks with a processing status of being processed and have a processing status of being unprocessed; delete subtasks other than the target subtask from the multiple subtasks to obtain multiple updated subtasks.

[0149] Optionally, the device also includes: an identification module, configured to obtain the subtasks to be divided of the target task; for the first subtask set, identifying the resource dependency relationship between the subtask to be divided and multiple first subtasks in multiple subtask sets, wherein the first subtask set is any one of the multiple subtask sets; if there is no resource dependency relationship between the subtask to be divided and the multiple first subtasks, dividing the subtask to be divided into the first subtask set.

[0150] Optionally, the first acquisition module 802 is further configured to acquire a target task, wherein the target task carries resource information; split the target task according to the resource information to obtain multiple subtasks, and determine resources corresponding to the multiple subtasks.

[0151] The embodiments of this specification utilize a solution that, because there are no resource dependencies between the multiple pending subtasks included in a subtask set, indicating that the multiple pending subtasks do not share resources, allows for parallel processing of multiple pending subtasks within the subtask set, using the subtask set as a unit. By analyzing the dependencies and associations between subtasks and resources during task processing, task processing efficiency is improved while ensuring task processing stability.

[0152] The above is a schematic scheme of a task processing device of this embodiment. It should be noted that the technical scheme of the task processing device and the technical scheme of the task processing method described above are of the same concept. For details not described in detail in the technical scheme of the task processing device, please refer to the description of the technical scheme of the task processing method described above.

[0153] Corresponding to the above container network detection method embodiment, this specification also provides a container network detection device embodiment, Figure 9 FIG1 shows a schematic diagram of the structure of a container network detection device provided by an embodiment of this specification. Figure 9 As shown, the device includes:

[0154] A second acquisition module 902 is configured to acquire multiple subtasks of the target detection task;

[0155] The second partitioning module 904 is configured to identify container resource dependencies between the plurality of subtasks and partition the plurality of subtasks according to the identification result to obtain a plurality of subtask sets, wherein the subtask sets include a plurality of to-be-processed subtasks, and the plurality of to-be-processed subtasks do not have container resource dependencies between them.

[0156] The second processing module 906 is configured to call the container resources corresponding to multiple target to-be-processed subtasks in the target subtask set for the target subtask set in the multiple subtask sets, concurrently process the multiple target to-be-processed subtasks, and obtain container network detection results for the multiple target to-be-processed subtasks.

[0157] The solution implemented in the embodiments of this specification achieves parallel processing of multiple pending subtasks within a subtask set, as there are no container resource dependencies between the multiple pending subtasks within the set. This indicates that the multiple pending subtasks do not share common container resources. This allows for the parallel processing of multiple pending subtasks within the subtask set, using the subtask set as a unit. By analyzing the dependencies and associations between subtasks and container resources during target detection task processing, the efficiency of target detection task processing is improved while ensuring stable processing.

[0158] The above is a schematic diagram of a container network detection device according to this embodiment. It should be noted that the technical solution of this container network detection device and the technical solution of the container network detection method described above are based on the same concept. For details not described in detail in the technical solution of the container network detection device, please refer to the description of the technical solution of the container network detection method described above.

[0159] Figure 10 1000 is a block diagram of a computing device according to an embodiment of the present disclosure. Components of the computing device 1000 include, but are not limited to, a memory 1010 and a processor 1020. The processor 1020 is connected to the memory 1010 via a bus 1030, and a database 1050 is used to store data.

[0160] The computing device 1000 also includes an access device 1040 that enables the computing device 1000 to communicate via one or more networks 1060. Examples of these networks include a public switched telephone network (PSTN), a local area network (LAN), a wide area network (WAN), a personal area network (PAN), or a combination of communication networks such as the Internet. The access device 1040 may include one or more of any type of network interface (e.g., a network interface card (NIC)) whether wired or wireless, such as an IEEE 802.11 wireless local area network (WLAN) wireless interface, a world interoperability for microwave access (Wi-MAX) interface, an Ethernet interface, a universal serial bus (USB) interface, a cellular network interface, a Bluetooth interface, a near field communication (NFC) interface, and the like.

[0161] In one embodiment of the present specification, the above components of the computing device 1000 and Figure 10 Other components not shown in the figure may also be connected to each other, for example, via a bus. Figure 10 The computing device structure block diagram shown is for illustrative purposes only and is not intended to limit the scope of this specification. Those skilled in the art may add or replace other components as needed.

[0162] Computing device 1000 may be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (e.g., a tablet computer, a personal digital assistant, a laptop computer, a notebook computer, a netbook computer, etc.), a mobile phone (e.g., a smartphone), a wearable computing device (e.g., a smartwatch, smart glasses, etc.), or other types of mobile devices, or a stationary computing device such as a desktop computer or a personal computer (PC). Computing device 1000 may also be a mobile or stationary server.

[0163] The processor 1020 is configured to execute a computer program / instruction, which, when executed by the processor, implements the steps of the above-mentioned task processing method or container network detection method.

[0164] The above is a schematic diagram of a computing device according to this embodiment. It should be noted that the technical solution of this computing device is based on the same concept as the technical solutions of the task processing method and the container network detection method described above. For details not described in detail in the technical solution of the computing device, please refer to the description of the technical solutions of the task processing method or the container network detection method described above.

[0165] An embodiment of this specification further provides a computer-readable storage medium storing a computer program / instruction. When the computer program / instruction is executed by a processor, the steps of the above-mentioned task processing method or container network detection method are implemented.

[0166] The above is a schematic diagram of a computer-readable storage medium according to this embodiment. It should be noted that the technical solution of this storage medium is based on the same concept as the technical solutions of the task processing method and the container network detection method described above. For details not described in detail in the technical solution of the storage medium, please refer to the description of the technical solutions of the task processing method or the container network detection method described above.

[0167] An embodiment of the present specification further provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the steps of the above-mentioned task processing method or container network detection method.

[0168] The above is an illustrative embodiment of a computer program product. It should be noted that the technical solution of this computer program product shares the same concept as the technical solutions of the task processing method and container network detection method described above. For details not described in detail in the technical solution of the computer program product, refer to the description of the technical solutions of the task processing method or container network detection method described above.

[0169] The foregoing description of this specification describes specific embodiments. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that described in the embodiments and still achieve the desired results. Furthermore, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or the sequential order to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0170] The computer instructions include computer program codes, which may be in source code form, object code form, executable files, or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal, and software distribution medium. It should be noted that the content contained in the computer-readable medium may be appropriately increased or decreased according to the requirements of patent practice. For example, in some regions, according to patent practice, computer-readable media do not include electric carrier signals and telecommunication signals.

[0171] It should be noted that for the aforementioned method embodiments, for the sake of simplicity of description, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the embodiments of this specification are not limited by the order of the actions described, because according to the embodiments of this specification, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in this specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the embodiments of this specification.

[0172] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0173] The preferred embodiments disclosed above are intended only to help illustrate this specification. The optional embodiments do not exhaustively describe all details, nor do they limit the invention to the specific embodiments described. Obviously, many modifications and variations can be made based on the content of the embodiments of this specification. This specification selects and specifically describes these embodiments in order to better explain the principles and practical applications of the embodiments of this specification, so that those skilled in the art can better understand and utilize this specification. This specification is limited only by the claims and their full scope and equivalents.

Claims

1. A task processing method, comprising: Get multiple subtasks of the target task; Identifying resource dependencies between the multiple subtasks, and dividing the multiple subtasks according to the identification results to obtain multiple subtask sets, wherein the subtask sets include multiple to-be-processed subtasks, and there is no resource dependency between the multiple to-be-processed subtasks; For a target subtask set in the multiple subtask sets, resources corresponding to multiple target to-be-processed subtasks in the target subtask set are called, the multiple target to-be-processed subtasks are processed concurrently, and processing results of the multiple target to-be-processed subtasks are obtained.

2. The method according to claim 1, wherein the dividing the plurality of subtasks according to the recognition results to obtain a plurality of subtask sets comprises: According to the identification result, determining a subtask having no resource dependency among the plurality of subtasks; Constructing a task relationship graph using the multiple subtasks as nodes and based on edges obtained by connecting the subtasks that do not have resource dependencies; From the task relationship graph, multiple task relationship subgraphs are screened out, and the multiple subtask sets are determined based on the multiple task relationship subgraphs, wherein the edges exist between the nodes in the task relationship subgraphs, and the subtask sets correspond one-to-one to the task relationship subgraphs.

3. The method according to claim 1, wherein, for a target subtask set in the multiple subtask sets, calling resources corresponding to multiple target to-be-processed subtasks in the target subtask set, concurrently processing the multiple target to-be-processed subtasks, and obtaining processing results for the multiple target to-be-processed subtasks, further comprises: Determining the processing priorities of the plurality of subtask sets according to the number of subtasks in the plurality of subtask sets; The target subtask set is determined according to the processing priority.

4. The method according to claim 3, wherein, for a target subtask set in the multiple subtask sets, calling resources corresponding to multiple target to-be-processed subtasks in the target subtask set, concurrently processing the multiple target to-be-processed subtasks, and obtaining processing results for the multiple target to-be-processed subtasks, further comprises: updating the target subtask set according to the processing priority to obtain an updated target subtask set; Return to the step of executing the call of the resources corresponding to the multiple target to-be-processed subtasks in the target subtask set, concurrently processing the multiple target to-be-processed subtasks, and obtaining the processing results of the multiple target to-be-processed subtasks, until the processing of the multiple subtasks is completed, and obtaining the task processing result of the target task.

5. The method according to claim 1, wherein, for a target subtask set in the multiple subtask sets, calling resources corresponding to multiple target to-be-processed subtasks in the target subtask set, concurrently processing the multiple target to-be-processed subtasks, and obtaining processing results of the multiple target to-be-processed subtasks, further comprises: updating the plurality of subtasks according to the processing status of the plurality of subtasks to obtain a plurality of updated subtasks; Return to executing the step of identifying the resource dependencies between the multiple subtasks, and dividing the multiple subtasks according to the identification results to obtain multiple subtask sets, until the multiple subtasks are processed and the task processing result of the target task is obtained.

6. The method according to claim 5, wherein updating the plurality of subtasks according to the processing status of the plurality of subtasks to obtain the updated plurality of subtasks comprises: Filtering target subtasks from the plurality of subtasks according to the processing status, wherein the target subtasks include subtasks with a processing status of being processed and subtasks with no resource dependency relationship with the subtasks with a processing status of being processed and with a processing status of being unprocessed; Subtasks other than the target subtask in the multiple subtasks are deleted to obtain multiple updated subtasks.

7. The method according to claim 1, wherein after identifying resource dependencies between the plurality of subtasks and dividing the plurality of subtasks according to the identification results to obtain a plurality of subtask sets, the method further comprises: Get the subtasks to be divided into the target task; For a first subtask set, identifying a resource dependency relationship between the subtask to be divided and a plurality of first subtasks in the plurality of subtask sets, wherein the first subtask set is any one of the plurality of subtask sets; In a case where there is no resource dependency relationship between the subtask to be divided and the plurality of first subtasks, the subtask to be divided is divided into the first subtask set.

8. The method according to claim 1, wherein the acquiring multiple subtasks of the target task comprises: Acquire a target task, wherein the target task carries resource information; The target task is split according to the resource information to obtain a plurality of subtasks, and resources corresponding to the plurality of subtasks are determined.

9. A container network detection method, comprising: Obtain multiple subtasks of the target detection task; Identifying container resource dependencies between the multiple subtasks, and dividing the multiple subtasks according to the identification results to obtain multiple subtask sets, wherein the subtask sets include multiple to-be-processed subtasks, and there is no container resource dependency between the multiple to-be-processed subtasks; For a target subtask set in the multiple subtask sets, container resources corresponding to multiple target to-be-processed subtasks in the target subtask set are called, the multiple target to-be-processed subtasks are processed concurrently, and container network detection results of the multiple target to-be-processed subtasks are obtained.

10. A task processing system comprising a processing platform and a plurality of resources; The processing platform is used to obtain multiple subtasks of the target task; Identifying resource dependencies between the multiple subtasks, and dividing the multiple subtasks according to the identification results to obtain multiple subtask sets, wherein the subtask sets include multiple to-be-processed subtasks, and there is no resource dependency between the multiple to-be-processed subtasks; The resource is used to concurrently process multiple target to-be-processed subtasks included in a target subtask set to obtain processing results of the multiple target to-be-processed subtasks, wherein the target subtask set is a set among the multiple subtask sets.

11. A task processing system comprising a processing platform and multiple container resources in a cloud cluster; The processing platform is used to obtain multiple subtasks of the target task; Identifying container resource dependencies between the multiple subtasks, and dividing the multiple subtasks according to the identification results to obtain multiple subtask sets, wherein the subtask sets include multiple to-be-processed subtasks, and there is no container resource dependency between the multiple to-be-processed subtasks; The container resource is used to concurrently process multiple target to-be-processed subtasks included in a target subtask set to obtain processing results of the multiple target to-be-processed subtasks, wherein the target subtask set is a set among the multiple subtask sets.

12. A computing device comprising: memory and processor; The memory is used to store computer programs / instructions, and the processor is used to execute the computer programs / instructions. When the computer program / instructions are executed by the processor, the steps of the method described in any one of claims 1 to 8 or claim 9 are implemented.

13. A computer-readable storage medium storing a computer program / instruction, wherein the computer program / instruction, when executed by a processor, implements the steps of the method according to any one of claims 1 to 8 or claim 9.

14. A computer program product comprising a computer program / instruction, which, when executed by a processor, implements the steps of the method according to any one of claims 1 to 8 or claim 9.