Task processing method and device, electronic equipment and storage medium

By acquiring and utilizing the occupancy information of computing units and containers, and dynamically allocating task processing time periods, the problems of idle resources in heterogeneous computing units and low task processing efficiency are solved, thus achieving efficient utilization of computing resources and stable task processing.

CN121050844APending Publication Date: 2025-12-02TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410696052.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-05-30
Publication Date
2025-12-02

AI Technical Summary

Technical Problem

In existing technologies, when heterogeneous computing units are not fully utilized during the computing cycle, computing resources are left idle and task processing efficiency is low, and the computing resources of the computing units are not effectively utilized.

Method used

By acquiring the occupancy information of the computing unit and the containers of the tasks to be processed, the computing time period of the container in the computing unit is determined based on the current computing round and occupancy information, and the computing unit is controlled to perform calculations within that time period to ensure that each container is fully utilized within the computing cycle.

Benefits of technology

This effectively avoids the idleness of computing resources, prevents containers from being destroyed due to failure to perform timely calculations, and improves the efficiency of task processing and resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121050844A_ABST
    Figure CN121050844A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a task processing method and device, electronic equipment and a storage medium. The method comprises the following steps: acquiring a computing unit and a container corresponding to each to-be-processed task in a plurality of to-be-processed tasks; for each container, occupation information of the container is obtained, and the occupation information represents the time occupation condition of the container to the calculation unit in one calculation period of the calculation unit; obtaining a current calculation round of the calculation unit, and determining a calculation time period of the container in a current calculation period of the calculation unit according to the current calculation round and the occupation information; the computing unit is controlled to compute the containers in the computing time period to process the to-be-processed tasks corresponding to the containers, so that the containers corresponding to the to-be-processed tasks are placed in the computing periods of the computing unit to be processed, and the problem that the computing time is not completely utilized due to the fact that the computing unit only processes one task is avoided; therefore, the problem of computing resource waste is solved, and the task processing efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and more specifically to a task processing method, apparatus, electronic device, and storage medium. Background Technology

[0002] Heterogeneous computing power refers to the use of computing resources of different types, architectures, or technologies to perform specific tasks. These computing resources can include central processing units (CPUs), graphics processing units (GPUs), tensor processing units (TPUs), and so on.

[0003] With the rapid development of artificial intelligence models, these models are becoming increasingly complex and require processing larger and larger amounts of data. Heterogeneous computing technology is also being widely applied in artificial intelligence models, for example, by using computing units with heterogeneous computing power to process various computational tasks in artificial intelligence models.

[0004] However, the current use of computing units is based on cloud-native containerization. Typically, a computing unit can only be occupied by a container of one computing task within a computing cycle. If the container cannot fully occupy the entire computing cycle of the computing unit, the computing resources of the computing unit will be idle. Furthermore, since the computing unit is occupied by a container of one computing task within its computing cycle, other computing task containers may not be able to be processed and may be destroyed, thus failing to guarantee the processing efficiency of computing tasks. Summary of the Invention

[0005] This application provides a task processing method, apparatus, electronic device, and storage medium that can ensure that each container is computed during task processing, prevent some containers from being destroyed due to insufficient resources, and avoid wasting the computing resources of heterogeneous computing units.

[0006] This application provides a task processing method, including:

[0007] Acquire the computing unit and the container corresponding to each of the multiple tasks to be processed;

[0008] For each container, the occupancy information of the container is obtained, and the occupancy information represents the time occupancy of the container on the computing unit within one computing cycle of the computing unit;

[0009] Obtain the current computation cycle of the computing unit, and determine the computation time period of the container in the current computation cycle of the computing unit based on the current computation cycle and the occupancy information;

[0010] The computing unit is controlled to perform calculations on the container during the computing time period to process the pending tasks corresponding to the container.

[0011] This application embodiment also provides a task processing device, including:

[0012] The first acquisition unit is used to acquire the computing unit and the container corresponding to each of the multiple tasks to be processed.

[0013] The second acquisition unit is used to acquire the occupancy information of each container, wherein the occupancy information represents the time occupancy of the container on the computing unit within one computing cycle of the computing unit.

[0014] A determining unit is used to obtain the current calculation cycle of the computing unit, and determine the calculation time period of the container in the current calculation cycle of the computing unit based on the current calculation cycle and the occupancy information;

[0015] A processing unit is used to control the computing unit to perform calculations on the container during the computing time period in order to process the pending tasks corresponding to the container.

[0016] In some embodiments, the second acquisition unit includes:

[0017] The type acquisition subunit is used to acquire the container type of the container;

[0018] The occupancy information determination subunit is used to determine the occupancy information of the container based on the container type.

[0019] In some embodiments, the container type includes resident container type and non-resident container type, and the occupancy information determination subunit is specifically used for:

[0020] If the container type is a resident container type, then the occupancy order of the container is determined to be the first occupancy order, and the first occupancy order is used as the occupancy information;

[0021] If the container type is a non-resident container type, then the occupancy order of the container is determined to be the second occupancy order, and the second occupancy order is used as the occupancy information; the first occupancy order is less than the second occupancy order.

[0022] In some embodiments, the task processing apparatus further includes:

[0023] A priority acquisition unit is used to acquire the priority of the container;

[0024] The occupancy order determination unit is used to determine the second occupancy order based on the priority of the container, wherein the second occupancy order is negatively correlated with the priority.

[0025] In some embodiments, the occupancy order determination unit is further configured to:

[0026] For multiple containers with the same priority, the container weights of the multiple containers are detected;

[0027] If the container has a container weight, then the second occupancy order of the container is determined based on the container weight; the container weight is negatively correlated with the second occupancy order.

[0028] If the container does not have a container weight, then the occupancy order of the container is determined as the target occupancy order, which is the largest occupancy order among the occupancy orders corresponding to multiple containers of the same priority.

[0029] In some embodiments, the second acquisition unit is further configured to:

[0030] Based on the priority of the container, the duration of occupancy of the container is determined, and the duration of occupancy is positively correlated with the priority;

[0031] The occupation duration and the second occupation order are determined as the occupation information.

[0032] This application also provides an electronic device, including a memory storing a plurality of computer instructions; the processor loads the computer instructions from the memory to execute the steps in any of the task processing methods provided in this application.

[0033] This application also provides a computer-readable storage medium storing a plurality of computer instructions adapted for loading by a processor to execute steps in any of the task processing methods provided in this application.

[0034] This application also provides a computer program product, including computer instructions, which, when executed by a processor, implement the steps in any of the task processing methods provided in this application.

[0035] This embodiment of the application obtains the computing unit and the container corresponding to each of the multiple pending tasks. For each container, it acquires the container's occupancy information, where the occupancy information represents the time the container occupies in the computing unit within one computing cycle. Then, it acquires the current computing round of the computing unit and determines the computing time period of the container in the current computing cycle of the computing unit based on the current computing round and the occupancy information. Finally, it controls the computing unit to perform calculations on the container within the computing time period to process the pending tasks corresponding to the container. This automatically allocates containers corresponding to multiple pending tasks to different time periods in each computing cycle of the computing unit, avoiding the situation where the computing unit only performs calculations on the container corresponding to a single pending task in each computing cycle. This could result in the container corresponding to a single pending task not fully occupying the entire computing cycle time, leading to idle computing resources in the computing unit. It also prevents containers of some pending tasks from being destroyed due to waiting for computation by the computing unit, effectively improving task processing efficiency. Attached Figure Description

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

[0037] Figure 1a This is a schematic diagram of a scenario for the task processing method provided in an embodiment of this application;

[0038] Figure 1b This is a flowchart illustrating the task processing method provided in an embodiment of this application;

[0039] Figure 1c This is a schematic diagram illustrating the time distribution of multiple rounds of computation operations performed by the computing unit provided in this application embodiment;

[0040] Figure 1d This is a schematic diagram showing the time occupancy of each container in one computing cycle of the computing unit, as provided in the embodiments of this application.

[0041] Figure 1e This is a schematic diagram showing the time distribution of multiple containers in multiple computation cycles of a computing unit according to an embodiment of this application;

[0042] Figure 2a This is a schematic diagram illustrating the application of the task processing method provided in this application embodiment in a server;

[0043] Figure 2b This is a schematic diagram of an application scenario provided by an embodiment of this application;

[0044] Figure 2c This is a flowchart illustrating the implementation of the task processing method provided in this application in a practical application;

[0045] Figure 2d This is a schematic diagram illustrating the process of combining and coloring computing units according to an embodiment of this application;

[0046] Figure 2e This is a flowchart illustrating an implementation of a coloring operation on a computing unit, as provided in an embodiment of this application.

[0047] Figure 2f This is another implementation flowchart of coloring operation on computing units provided in the embodiments of this application;

[0048] Figure 3 This is a schematic diagram of a task processing device provided in an embodiment of this application;

[0049] Figure 4 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation

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

[0051] This application provides a task processing method, apparatus, electronic device, and storage medium.

[0052] The electronic device can be a terminal, a server, or other similar device. The terminal can be a mobile phone, tablet computer, smart Bluetooth device, laptop computer, desktop computer, smart TV, in-vehicle device, etc.; the server can be a single server, a server cluster consisting of multiple servers, or a cloud server.

[0053] For example, refer to Figure 1a , Figure 1a A schematic diagram illustrating an application scenario of the task processing method provided in this application embodiment is shown.

[0054] like Figure 1a As shown, the application scenario may include server 100 and terminal 200, wherein server 100 can communicate with terminal 200. Optionally, the number of terminals 200 may be one or more, and the number of servers 100 may also be one or more, which is not limited here.

[0055] In some application scenarios, the server 100 may be equipped with one or more computing units for performing computing tasks. The server 100 may receive task processing requests sent by the terminal 200. The task processing request may carry task information of the computing task to be processed (hereinafter referred to as the task to be processed). The task information may include the task type, task priority, data to be calculated, etc. After receiving the task information, the server 100 may generate a corresponding container for the task to be processed according to the task information, and then use the computing unit to perform calculations on the generated container to complete the processing of the task to be processed.

[0056] In other application scenarios, the terminal 200 may also be equipped with a computing unit, and the user can input the task information of the task to be processed through the interactive peripheral of the terminal 200, so that the terminal 200 can use the computing unit to complete the task to be processed independently according to the task information.

[0057] It is understood that in the specific implementation of this application, data related to task processing requests and task information are involved. When the above embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0058] The following sections provide detailed descriptions of each example. It should be noted that the sequence numbers of the following embodiments are not intended to limit the preferred order of the embodiments.

[0059] Heterogeneous computing units refer to computing devices or systems that combine different types of processing units. These processing units can be central processing units, graphics processing units, tensor processors, or other dedicated hardware. Heterogeneous computing units can leverage the characteristics and advantages of each processing unit to improve computing performance and efficiency.

[0060] A container is a technology used to encapsulate, deploy, and run applications and their associated environments. In this embodiment, a container may include the application corresponding to the task to be processed, its dependencies, configuration files, and runtime environment.

[0061] In this embodiment, a task processing method is provided, which can be executed by an electronic device. The electronic device may be... Figure 1a The server 100 or terminal 200 shown, such as Figure 1b As shown, the specific process of this task processing method can be as follows:

[0062] 101. Obtain the computing unit and the container corresponding to each of the multiple pending tasks.

[0063] The computing unit can refer to hardware that performs computing tasks in a containerized environment. Optionally, in this embodiment, the computing unit can be a heterogeneous computing unit (e.g., a unit composed of different types of processing devices such as CPU, GPU, and TPU) or a general computing device (e.g., a single CPU, GPU, or TPU). No limitation is made here. Optionally, the number of computing units can be one or more, which is also not limited here.

[0064] It is understood that, in this embodiment, the computing units can be selected and configured according to application scenarios and requirements to meet the performance, availability, cost, and other requirements of containerized applications. By utilizing these computing units, the deployment, scaling, and management of containerized applications can be achieved, thereby realizing flexible, efficient, and reliable container computing.

[0065] In this embodiment, the task to be processed refers to the computational task that needs to be processed. This task is one that can be processed by the aforementioned computing units. Different computing units or heterogeneous computing units can be used for different tasks. For example, when the task to be processed is a deep learning model training task, since deep learning model training typically requires a large number of matrix calculations and gradient update operations, these operations can be accelerated using GPUs, TPUs, etc., as computing units. Similarly, when the task to be processed is a deep learning model inference task, since the model needs to be deployed to a production environment for inference, efficient computing units are usually required to process input data and generate output results. In this case, GPUs, TPUs, and other hardware can also be used as computing units. Furthermore, when the task to be processed is an image processing and graphics rendering task, high-performance GPUs can be used as computing units to accelerate the execution of tasks that process, analyze, and render images, videos, and graphics. In this embodiment, when the computing unit is a heterogeneous computing unit, it can handle multiple tasks to be processed.

[0066] Therefore, in this embodiment, the specific implementation of obtaining the computing unit in step 101 may include:

[0067] After obtaining the task to be processed, the task type is identified, and a computing unit is obtained according to the task type. As one implementation, a mapping relationship can be established in advance between multiple preset computing units and various task types. When the task type of the task to be processed is identified, a preset computing unit corresponding to the task type can be selected from the multiple preset computing units as the current computing unit used for task processing, based on the task type and the mapping relationship. For example, when the task type is identified as image processing, a preset computing unit with a GPU can be selected as the computing unit. As another example, when the task type is identified as model training, preset computing units with GPUs and TPUs can be selected as the computing units.

[0068] In this context, the container corresponding to the task to be processed refers to a container that encapsulates the task data. This task data may include the application corresponding to the task, the dependencies required for that application to run, the application's configuration file, the application's data volume, network settings, etc. The application corresponding to the task can be a single application or a collection of applications; this application is the software program used to execute the task. Dependencies may include libraries, frameworks, runtime environments, etc. These dependencies are packaged within the container, allowing the application to run anywhere without manual installation and configuration of dependencies. The configuration file specifies the application's runtime parameters, environment variables, logging configuration, etc. The data volume is used to store the application's data or for persistent storage, enabling data sharing or persistent storage between containers. The network settings are network parameters configured for the container, such as port mapping and network mode, to facilitate communication with other containers or external networks.

[0069] In some implementations, the specific implementation of obtaining the container corresponding to each of the multiple tasks to be processed in step 101 may include:

[0070] For each task to be processed, obtain the corresponding task data (such as the application, dependencies, configuration files, etc. mentioned above), and then encapsulate the task data into a container to obtain the corresponding container.

[0071] It is understandable that a task to be processed can correspond to one container or multiple containers.

[0072] 102. For each container, obtain the container's occupancy information. The occupancy information represents the time occupied by the container in the computing unit within one computing cycle.

[0073] The computation cycle refers to the time required for a computation unit to perform one round of computation operations. For example, please refer to [link to example]. Figure 1c For example, a calculation cycle of a computing unit is a duration T. Starting from the initial time 0, when the computing unit has completed a calculation of duration T, the first round of calculation operation is completed at time t1; when the computing unit has completed another calculation of duration T, the second round of calculation operation is completed at time t2; when the computing unit has completed another calculation of duration T, the third round of calculation operation is completed at time t3, and so on. After each calculation cycle, the computing unit will enter the next round of calculation operation.

[0074] Optionally, the computation cycle of a computing unit can be determined based on its performance. For example, better performance allows for a shorter computation cycle, enabling the unit to handle more tasks. Alternatively, the computation cycle can be determined by the number of containers for the tasks to be processed. A larger number of containers indicates a higher complexity of the task, thus allowing for a longer computation cycle to ensure stable processing. Optionally, the computation cycle can also be customized according to actual needs; this is not limited here.

[0075] In some implementations, the specific implementation of obtaining container occupancy information in step 102 may include:

[0076] For each container, the order and duration of its usage within a single computation cycle are obtained. This usage order and duration are then used as the container's usage information. The usage order can be represented by a sorting number; a smaller sorting number indicates a higher usage order. The sorting number is a positive integer.

[0077] In this context, the order and duration of each container occupied by multiple pending tasks can be pre-configured in a container database, and can be retrieved directly from the container database when needed. For example, the multiple pending tasks may include Task 1, Task 2, and Task 3, where Task 1 corresponds to Container 1, Task 2 corresponds to Container 2, and Task 3 corresponds to Container 3. The occupancy order of container 1 can be retrieved from the container database as follows: container 1 is the first (e.g., represented by the sorting number "1"), container 2 is the second (e.g., represented by the sorting number "2"), and container 3 is the third (e.g., represented by the sorting number "3"). Then, according to the ascending order of occupancy, the occupancy duration of each container is arranged into one computation cycle of the computing container. For example, the occupancy duration T1 of container 1 is arranged into the computation cycle first, then the occupancy duration T2 of container 2 is arranged after T1, and then the occupancy duration T3 of container 3 is arranged after T2. Thus, these three occupancy durations can completely fill one computation cycle of the computing unit, resulting in the following: Figure 1d The time occupancy of each container in one computing cycle of the computing unit is shown below, based on... Figure 1d It can be seen that when the computing unit performs a computing cycle, it can first calculate container 1. After container 1 has been calculated for a duration T1, it can calculate container 2. After container 2 has been calculated for a duration T2, it can calculate container 3. After container 3 has been calculated for a duration T3, the computing unit completes a computing cycle. And so on, the computing operation of the previous cycle can be repeated in the next computing cycle until multiple pending tasks are completed.

[0078] In this embodiment, the order and duration of each container's use of the computing unit within one computing cycle are obtained, and the order and duration of use of the container are used as the container's usage information. This allows the usage information to clearly reflect and intuitively show the time usage of each container on the computing unit within one computing cycle.

[0079] In other embodiments, the specific implementation of obtaining container occupancy information in step 102 may include:

[0080] A1. Get the container type of the container.

[0081] The container type can be a pre-defined category based on custom criteria. For example, containers can be categorized into persistent containers (requiring persistence) and non-persistent containers (not requiring persistence) based on whether they need to run persistently. Alternatively, they can be categorized into high-priority containers (high-priority processing) and low-priority elastic containers (lower-priority processing) based on the priority of the tasks to be processed. Furthermore, containers can be categorized into weighted containers and non-weighted containers based on whether they are configured with container weights, and so on.

[0082] Elastic containers are containers with automatic scaling capabilities, which can automatically expand or shrink the number of container instances according to the application's load to meet the needs of containerized applications with different load requirements.

[0083] In this embodiment, the containers can be pre-classified into different container types, thereby determining the importance of the containers based on their container types. This allows for the selection of containers with higher importance to be calculated first when performing calculations on the containers.

[0084] It is understood that in this embodiment, the container types of multiple containers corresponding to the same task to be processed are the same.

[0085] A2. Determine the container's occupancy information based on the container type.

[0086] In some implementations, the container type includes resident container type and non-resident container type. In step A2, the specific implementation of determining the container occupancy information based on the container type may include:

[0087] If the container type is a resident container type, then the container's occupancy order is determined to be the first occupancy order, and the first occupancy order is used as the occupancy information.

[0088] If the container type is a non-resident container type, then the container occupancy order is determined to be the second occupancy order, and the second occupancy order is used as the occupancy information; the first occupancy order is less than the second occupancy order.

[0089] For example, consider containers a, b, c, and d corresponding to multiple tasks to be processed. Container a is a resident container, while containers b, c, and d are non-resident containers. Then, the first occupancy order can be used as the occupancy information for container a. The second occupancy order can be used as the occupancy information for containers b, c, and d. This second occupancy order can include multiple second sub-occupancy orders (such as second sub-occupancy order a, second sub-occupancy order b, and second sub-occupancy order c), with containers b, c, and d corresponding to second sub-occupancy orders a, b, and c respectively, and all second sub-occupancy orders are greater than the first occupancy order.

[0090] Optionally, it can be determined whether a container is a persistent container type by judging whether the task to be processed corresponding to the container is a task or service that needs to run persistently. For example, if the task to be processed corresponding to the container is a service or task that needs to run persistently, such as a network service, background task, or database service, then the container can be determined to be a persistent container type. If the task to be processed corresponding to the container does not belong to any of the tasks or services that need to run persistently, then the container can be determined to be a non-persistent container type.

[0091] In this embodiment, by identifying whether a container is a resident container type or a non-resident container type, and ensuring that the resident container type has a higher priority in occupying the computing unit than the non-resident container type, the resident container type can be prioritized for computing by the computing unit, thereby enabling priority processing of important tasks and improving task processing quality.

[0092] In some implementations, before the step "if the container type is a non-resident container type, then determine the container's occupancy order as the second occupancy order, and use the second occupancy order as occupancy information", the method may further include:

[0093] S1. Get the priority of the container.

[0094] In a containerized environment, container priority refers to the execution order in which containers are assigned during computing resource allocation and scheduling. It is typically used to ensure that containers corresponding to critical tasks receive sufficient computing resources to guarantee their normal operation.

[0095] In some implementations, each of the multiple pending tasks can be pre-labeled with a task priority. Then, when generating a container based on the pending tasks, the task priority of each pending task is also encapsulated within the container, so that the task priority serves as the container's priority. The priority can be represented numerically as a positive integer; a higher priority indicates a greater degree of importance for the container.

[0096] S2. Determine the second occupancy order based on the container's priority. The second occupancy order is negatively correlated with the priority.

[0097] Using the example above, the non-resident container type includes containers b, c, and d; the priority of container b is priority b, the priority of container c is priority c, and the priority of container d is priority d; where priority a is greater than priority b, and priority b is greater than priority c, it can be determined that containers b, c, and d correspond to the second occupancy sub-orders a, b, and c, respectively, and the second occupancy sub-order a is less than the second occupancy sub-order b, and the second occupancy sub-order b is less than the second occupancy sub-order c.

[0098] In this embodiment, for non-resident container types, the container priority is obtained, and a second occupancy order is determined based on the container priority. The second occupancy order is negatively correlated with the priority, thereby further ensuring that containers corresponding to high-priority critical tasks or important services can obtain sufficient computing resources and be operated normally.

[0099] In some implementations, the specific implementation of determining the second occupancy order based on the container's priority in step S1 may include:

[0100] For multiple containers with the same priority, the container weights of the multiple containers are detected.

[0101] If a container has a container weight, the second occupancy order of the container is determined based on the container weight; the container weight and the second occupancy order are negatively correlated.

[0102] If a container does not have a container weight, then the container's occupancy order is determined as the target occupancy order, which is the largest occupancy order among multiple containers with the same priority.

[0103] Container weight can be an indicator used to measure the importance of a container when multiple containers of the same priority are scheduled and allocated computing resources.

[0104] In some implementations, container weights can be customized according to actual needs. For example, some container orchestration platforms and schedulers support manually setting container weights. Users can manually adjust container weights according to actual needs to meet specific business requirements and priority requirements. For example, in Docker Swarm (a container orchestration and cluster management tool), container weights can be specified by setting container labels.

[0105] In other implementations, the container weight of some containers can be automatically adjusted based on the real-time load of the computing units. For example, the container weight can be dynamically adjusted based on indicators such as CPU utilization and memory utilization to achieve load balancing and resource optimization.

[0106] For example, consider multiple containers with the same priority, including container e, container f, and container g. Container e has a container weight of K, container f has a container weight of L, and container g has no container weight, which can be assumed to be 0. Since weight K is less than weight L, it indicates that the importance of container f is higher than that of container e, and the importance of container e is higher than that of container g. Therefore, it can be determined that among the second occupancy order e corresponding to container e, the second occupancy order f corresponding to container f, and the second occupancy order g corresponding to container g, the second occupancy order f is less than the second occupancy order e, and the second occupancy order g is less than the second occupancy order g.

[0107] In this implementation, for multiple containers with the same priority, the container weights of the containers are detected. If a container has a container weight, its second occupancy order is determined based on that weight; the container weight and the second occupancy order are negatively correlated. If a container does not have a container weight, its occupancy order is determined as the target occupancy order, which is the highest occupancy order among the multiple containers with the same priority. This allows for further differentiation of the importance of each container when multiple containers have the same priority, prioritizing the computation of containers with higher importance, thus ensuring reasonable allocation of computing resources and improving task processing efficiency.

[0108] In some implementations, the specific implementation of obtaining container occupancy information in step 102 may further include:

[0109] The duration of container usage is determined based on the container's priority, and the duration of usage is positively correlated with the priority.

[0110] The duration of occupation and the order of occupation are determined as occupation information.

[0111] As one implementation method, the priority ratio between containers can be determined based on the priority of the containers. Then, the calculation time of the computing unit in one calculation cycle can be obtained, and the occupancy time of each container can be calculated by combining the calculation time and the priority ratio.

[0112] For example, if the priority is divided into 4 levels, such as level 1, level 2, level 3 and level 4, and the importance difference between each adjacent level is the same, and multiple containers include container a1, container a2, container a3 and container a4, and containers a1, a2, a3 and a4 correspond to level 1, level 2, level 3 and level 4 respectively, then the priority ratio can be determined to be 0.4:0.3:0.2:0.1. If the calculation time of a calculation cycle is time T, then the occupation time of container a1 can be determined to be 0.4T, the occupation time of container a2 can be determined to be 0.3T, the occupation time of container a3 can be determined to be 0.2T, and the occupation time of container a4 can be determined to be 0.1T.

[0113] In this embodiment, the occupancy time of a container is determined based on its priority. The occupancy time is positively correlated with the priority. On the one hand, this ensures that containers with high priority can obtain sufficient computing resources (i.e., occupancy time). On the other hand, it ensures that the computing time of a computing unit in a computing cycle can be fully utilized, and there will be no idle computing resources, thereby improving task processing efficiency.

[0114] 103. Obtain the current computation cycle of the computing unit, and determine the computation time period of the container in the current computation cycle of the computing unit based on the current computation cycle and occupancy information.

[0115] For example, such as Figure 1e As shown, multiple containers, including container 1, container 2, and container 3, are used. Occupancy information includes the occupancy order and duration. The occupancy order of the containers is as follows: container 1's occupancy order is less than container 2's, and container 2's occupancy order is less than container 3's. The occupancy duration of container 1 is T1, container 2's is T2, and container 3's is T3. If the current calculation round is the first calculation round, the occupancy time for container 1 is from time 0 to time t1, for container 2 it is from time t1 to time t2, and for container 3 it is from time t2 to time t3. If the current calculation round is the second calculation round, the occupancy time for container 1 is from time t3 to time t4, for container 2 it is from time t4 to time t5, and for container 3 it is from time t5 to time t6. It can be seen that in each calculation cycle of the calculation unit, the occupancy order and duration of each container remain unchanged, while the occupancy time varies with the current calculation round.

[0116] Understandably, when the computation time required for a container exceeds its allotted time in a computation cycle, the remaining computation time can be processed within the corresponding computation period of the next computation cycle. For example, if container 1 does not complete its computation within the time period t0 to t1 of the first computation cycle, then the remaining computation time for container 1 can be used to continue computation within the time period t3 to t4 of the second computation cycle. This process continues until the pending task for container 1 is completed.

[0117] 104. The control computing unit performs calculations on the container during the calculation time period to process the pending tasks corresponding to the container.

[0118] Continuing with the example above, for instance, based on the current calculation round (e.g., the first calculation round) and the occupancy information of container 1, the calculation time period for container 1 is determined to be from 0 to t1; the calculation time period for container 2 is determined to be from t1 to t2 based on the current calculation round and the occupancy information of container 2. Then, the calculation unit can calculate only container 1 during the time period from 0 to t1, and only container 2 during the time period from t1 to t2, ensuring that each container can be processed within one calculation cycle of the calculation unit.

[0119] As can be seen, in this embodiment, after obtaining the computing unit and the container corresponding to each of the multiple pending tasks, the occupancy information of each container is obtained. This occupancy information represents the time the container occupies within a computing cycle of the computing unit. Then, the current computing round of the computing unit is obtained, and based on the current computing round and the occupancy information, the computing time period of the container within the current computing cycle of the computing unit is determined. Finally, the computing unit is controlled to perform calculations on the container within the computing time period to process the pending tasks corresponding to the container. This automatically allocates containers corresponding to multiple pending tasks to different time periods within each computing cycle of the computing unit. This avoids the situation where the computing unit only performs calculations on the container corresponding to a single pending task in each computing cycle, which could result in the container not fully occupying the entire computing cycle time, leading to idle computing resources. Furthermore, it prevents containers of some pending tasks from being destroyed due to delayed computation by the computing unit, effectively improving task processing efficiency.

[0120] The method described in the above embodiments will be further described in detail below.

[0121] A task processing method can be executed by an electronic device. In this embodiment, the method will be described in detail by taking the execution of the method by a server as an example.

[0122] like Figure 2aAs shown, the specific process of a task processing method is as follows:

[0123] 201. The server obtains the computing unit and the container corresponding to each of the above-mentioned pending tasks.

[0124] 202. For each of the above containers, the server obtains the container type of the container.

[0125] 203. The server determines the occupancy information of the container based on the container type. The occupancy information represents the time occupancy of the container on the computing unit within one computing cycle of the computing unit.

[0126] The container types mentioned above include resident container types and non-resident container types. In step 203, the specific implementation method for determining the occupancy information of the container based on the container type may include:

[0127] If the container type of the above container is a resident container type, then the occupancy order of the above container is determined to be the first occupancy order, and the first occupancy order is used as the occupancy information.

[0128] If the container type of the above container is a non-resident container type, then the occupancy order of the above container is determined to be the second occupancy order, and the second occupancy order is used as the occupancy information; the first occupancy order is less than the second occupancy order.

[0129] In some implementations, before the step "If the container type of the container is a non-resident container type, then determine the occupancy order of the container as the second occupancy order, and use the second occupancy order as the occupancy information", the method may further include:

[0130] Get the priority of the above containers;

[0131] Based on the priority of the containers mentioned above, the second occupancy order is determined, and the second occupancy order is negatively correlated with the priority.

[0132] In some implementations, the specific implementation of step "determining the second occupancy order based on the priority of the container" may include:

[0133] For multiple containers with the same priority, the container weights of these multiple containers are detected;

[0134] If the above containers have container weights, then the second occupancy order of the above containers is determined based on the above container weights; the above container weights are negatively correlated with the above second occupancy order.

[0135] If the above container does not have a container weight, then the occupancy order of the above container is determined as the target occupancy order. The target occupancy order is the largest occupancy order among the occupancy orders corresponding to multiple containers with the same priority.

[0136] In some implementations, step 203, specifically the step "determine the occupancy information of the container based on the container type" may include:

[0137] Based on the priority of the above containers, the occupation time of the above containers is determined, and the occupation time is positively correlated with the priority.

[0138] The aforementioned occupancy duration and the aforementioned second occupancy order are determined as the aforementioned occupancy information.

[0139] 204. The server obtains the current computing cycle of the above computing unit, and determines the computing time period of the above container in the current computing cycle of the above computing unit based on the current computing cycle and the above occupancy information.

[0140] 205. The server controls the aforementioned computing unit to perform calculations on the aforementioned container within the aforementioned computing time period in order to process the pending tasks corresponding to the aforementioned container.

[0141] For example, in practical applications, the task processing method shown in steps 201 to 205 can be applied to, for example, Figure 2b In the application scenario shown, the task to be processed can be the training task of some specified models. Optionally, the specified models can include, but are not limited to, classification models, vision models, speech models, game models, medical models, natural language processing (NLP) models, etc. Based on the task to be processed, a container corresponding to the task can be generated through a preset container configuration strategy.

[0142] Containers generated based on a preset container configuration strategy can be labeled with their container type. For example, containers corresponding to multiple tasks can include three types: high-priority containers, elastic containers, and weighted containers. High-priority containers are those that require priority from computing units. Elastic containers can automatically expand or shrink the number of container instances based on the application's load; therefore, their computational priority is lower than that of high-priority containers, and they can also be referred to as low-priority containers. Weighted containers are those configured with container weights. In some implementations, high-priority containers may also include weighted containers. Specifically, if a high-priority container has container weights, it can be called a high-priority weighted container; if it does not have container weights, it can simply be called a high-priority container. Similarly, elastic containers may also include weighted containers. Specifically, if an elastic container has container weights, it can be called an elastic weighted container or a low-priority weighted container; if it does not have container weights, it can simply be called an elastic container.

[0143] After obtaining the containers corresponding to various tasks to be processed, the containers can be assigned to different computing units according to the container type of each container, and then the corresponding computing functions of the computing units can be used to perform calculations, thereby realizing the processing of the tasks to be processed.

[0144] The computation function is a function configured in the computation unit to process the data to be processed corresponding to the task. This computation function can be a predefined mathematical function or a user-defined algorithm or program used to perform a specific computation task.

[0145] As one implementation method, taking heterogeneous computing units as an example, such as... Figure 2c As shown, when assigning containers of different container types to computing units for processing, the computing execution requirements of each container can be determined according to its container type. Then, based on the computing execution requirements, the scheduling execution strategy of the computing unit for the container can be configured. Specifically, the computing unit can be colored according to the computing execution requirements and the preset coloring strategy.

[0146] In this embodiment, the coloring process refers to configuring the time slots occupied by each container within a computing cycle of the computing unit. For example, configuring the order and duration of each container's occupation of the computing unit within a computing cycle. After allocating each container to the respective time slots within a computing cycle of the computing unit, the coloring result can be obtained. That is, the coloring result can determine which container the computing unit will compute first and how long that container will be computed for. Then, based on the coloring result, the kernel-mode computing function in the computing unit can be loaded to perform the computation. Specifically, during computation, the corresponding heterogeneous hardware can be called through the application programming interface (API) corresponding to the kernel function (i.e., the aforementioned computing function).

[0147] In some implementations, such as Figure 2d When coloring computation units, you can combine coloring based on the priority and weight of the containers. For example, you can first color the computation units according to the priority of the containers. If each container with the same priority also has a weight, you can then color each container with the same priority according to its weight.

[0148] For example, in this embodiment, the process of coloring computing units based on container weights and container priorities can be as follows: Figure 2e As shown, a minimum unit value can be determined first, namely the minimum unit duration (e.g., duration M). Then, based on the calculation duration of one calculation cycle of the calculation unit (e.g., duration N) and the minimum unit duration M, the calculation duration is divided into L minimum unit durations M, where L = N / M, and L, N, and M are all positive integers.

[0149] Then, the importance of the containers can be determined based on the container type, and then each container can be assigned to the smallest unit duration of the computing unit in descending order of importance, thereby achieving the coloring effect.

[0150] For example, multiple containers can be divided into resident containers and non-resident containers. Non-resident containers can be further divided into high-priority containers and elastic containers based on priority. Within high-priority containers, if a high-priority container has container weight, it can be further divided into ordinary high-priority containers and high-priority weighted containers. Similarly, within elastic containers, if an elastic container has container weight, it can be divided into ordinary elastic containers and elastic weighted containers. After classifying the containers into different types, resident containers can be identified first. If a resident container exists, it can be scheduled into the computation cycle of a computation unit. For example, the first A minimum unit durations of a computation unit can be allocated to resident containers. Next, high-priority weighted containers can be identified among the non-resident containers. If a high-priority weighted container exists, the B minimum unit durations following the A minimum unit durations can be allocated to it. After allocating the high-priority weighted containers, the C minimum unit durations following the B minimum unit durations can be allocated to high-priority containers that do not have container weights. After the high-priority containers without container weights have been assigned, flexible weight containers can be selected from the non-resident containers. If a flexible weight container exists, the D smallest unit durations after the C smallest unit durations are assigned to it. After the flexible weight containers are assigned, the E smallest unit durations after the D smallest unit durations are assigned to the flexible containers without container weights to complete the final container assignment, thus obtaining the coloring result of the computational units. Here, A, B, C, D, and E are all positive integers, and the sum of A, B, C, D, and E is L.

[0151] As another example, taking the case that resident containers can also have container weights, the specific implementation of the above coloring process can be as follows: Figure 2f As shown, firstly, after receiving the user's pending task, the task can be converted into multiple corresponding containers, and the container type of each container can be determined. Then, based on the container type, it is first determined whether there are any resident containers among the multiple containers, and the number of resident containers is multiple. If so, the weight value configured for each resident container is read, and a coloring operation is performed in each calculation cycle of the computing unit according to the weight value.

[0152] If none of the remaining containers in a pool of containers are resident containers, then it is determined whether there are any high-priority containers among the remaining containers. If there are high-priority containers, it is determined whether there are any high-priority weighted containers within those high-priority containers. If so, the computation unit is colored based on the container weight of the high-priority container. If there are no high-priority weighted containers, the coloring operation for each computation cycle of the computation unit is directly performed based on the high-priority container.

[0153] If no high-weight container remains among the remaining containers, it can be further determined whether a low-weight container exists. If a low-weight container exists, the remaining computation time of the computation unit is further colored based on its container weight. If no low-weight container exists, the remaining computation time of the computation unit is directly colored according to the last remaining low-weight container.

[0154] Finally, once the low-priority containers have been colored, the coloring process ends; otherwise, it returns to the container type determination operation to continue determining whether there are any remaining uncolored containers.

[0155] In summary, the task processing method of this embodiment can allocate container computation to each computation cycle of the computing unit by starting from the kernel computation function of the heterogeneous computing unit. Furthermore, based on the container type, the computation order and execution duration of each container within a computation cycle of the computing unit are determined by considering both container priority and container weight. This breaks through the inherent first-in-first-out strategy of heterogeneous computing units when computing containers, improving the flexibility of heterogeneous computing unit utilization and enabling the reuse of idle heterogeneous computing power. While ensuring that high-priority tasks are executed first, it avoids the problem of wasted computing resources and achieves cost reduction. In addition, high-priority containers, elastic containers, and containers with different weights can all be computed within a computation cycle of the computing unit, avoiding the need to destroy containers for low-priority elastic tasks, ensuring the stability of elastically reused tasks, and thus improving task processing efficiency.

[0156] To better implement the above methods, this application also provides a task processing device, which can be integrated into an electronic device, such as a terminal or server. The terminal can be a mobile phone, tablet computer, smart Bluetooth device, laptop computer, or personal computer; the server can be a single server or a server cluster composed of multiple servers.

[0157] For example, in this embodiment, the method of the present application will be described in detail by taking the task processing device specifically integrated into an electronic device as an example.

[0158] For example, such as Figure 3 As shown, the task processing device may include a first acquisition unit 301, a second acquisition unit 302, a determination unit 303, and a processing unit 304, as follows:

[0159] The first acquisition unit 301 is used to acquire the computing unit and the container corresponding to each of the above-mentioned tasks to be processed in the multiple tasks to be processed.

[0160] The second acquisition unit 302 is used to acquire the occupancy information of each of the containers, wherein the occupancy information represents the time occupancy of the container on the computing unit within one computing cycle of the computing unit.

[0161] The determining unit 303 is used to obtain the current calculation cycle of the above-mentioned calculation unit, and determine the calculation time period of the above-mentioned container in the current calculation cycle of the above-mentioned calculation unit based on the current calculation cycle and the above-mentioned occupancy information.

[0162] The processing unit 304 is used to control the computing unit to perform calculations on the container during the computing time period in order to process the tasks to be processed corresponding to the container.

[0163] In some embodiments, the second acquisition unit 302 includes:

[0164] The type acquisition sub-unit is used to obtain the container type of the above container;

[0165] The occupancy information determination subunit is used to determine the occupancy information of the container based on the container type.

[0166] In some embodiments, the above container types include resident container types and non-resident container types, and the occupancy information determination subunit is specifically used for:

[0167] If the container type of the above container is a resident container type, then the occupancy order of the above container is determined to be the first occupancy order, and the first occupancy order is used as the occupancy information.

[0168] If the container type of the above container is a non-resident container type, then the occupancy order of the above container is determined to be the second occupancy order, and the second occupancy order is used as the occupancy information; the first occupancy order is less than the second occupancy order.

[0169] In some embodiments, the task processing apparatus further includes:

[0170] The priority acquisition unit is used to acquire the priority of the above containers;

[0171] The occupancy order determination unit 303 is used to determine the second occupancy order based on the priority of the container, wherein the second occupancy order is negatively correlated with the priority.

[0172] In some embodiments, the occupancy order determination unit 303 is further configured to:

[0173] For multiple containers with the same priority, the container weights of these multiple containers are detected;

[0174] If the above containers have container weights, then the second occupancy order of the above containers is determined based on the above container weights; the above container weights are negatively correlated with the above second occupancy order.

[0175] If the above container does not have a container weight, then the occupancy order of the above container is determined as the target occupancy order. The target occupancy order is the largest occupancy order among the occupancy orders corresponding to multiple containers with the same priority.

[0176] In some embodiments, the second acquisition unit 302 is further configured to:

[0177] Based on the priority of the above containers, the occupation time of the above containers is determined, and the occupation time is positively correlated with the priority.

[0178] The aforementioned occupancy duration and the aforementioned second occupancy order are determined as the aforementioned occupancy information.

[0179] In practice, each of the above units can be implemented as an independent entity or can be arbitrarily combined to be implemented as the same or several entities. For the specific implementation of each of the above units, please refer to the previous method embodiments, which will not be repeated here.

[0180] This application also provides an electronic device, such as... Figure 4 As shown, it illustrates a structural schematic diagram of the electronic device involved in the embodiments of this application, specifically:

[0181] The electronic device may include components such as a processor 401 with one or more processing cores, a memory 402 with one or more computer-readable storage media, a power supply 403, an input module 404, and a communication module 405. Those skilled in the art will understand that... Figure 4 The electronic device structure shown does not constitute a limitation on the electronic device and may include more or fewer components than shown, or combine certain components, or have different component arrangements. Wherein:

[0182] The processor 401 is the control center of the electronic device. It connects various parts of the electronic device via various interfaces and lines. By running or executing software programs and / or modules stored in the memory 402, and by calling data stored in the memory 402, it performs various functions and processes data, thereby performing overall detection of the electronic device. In some embodiments, the processor 401 may include one or more processing cores; in some embodiments, the processor 401 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the modem processor may also not be integrated into the processor 401.

[0183] The memory 402 can be used to store software programs and modules. The processor 401 executes various functional applications and task processing by running the software programs and modules stored in the memory 402. The memory 402 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as an image display function), etc.; the data storage area may store data created according to the use of the electronic device, etc. In addition, the memory 402 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, the memory 402 may also include a memory controller to provide the processor 401 with access to the memory 402.

[0184] The electronic device also includes a power supply 403 that supplies power to the various components. In some embodiments, the power supply 403 can be logically connected to the processor 401 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system. The power supply 403 may also include one or more DC or AC power supplies, recharging systems, power fault detection circuits, power converters or inverters, power status indicators, and other arbitrary components.

[0185] The electronic device may also include an input module 404, which can be used to receive input digital or character information and generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function control.

[0186] The electronic device may also include a communication module 405. In some embodiments, the communication module 405 may include a wireless module, through which the electronic device can perform short-range wireless transmission, thereby providing users with wireless broadband internet access. For example, the communication module 405 can be used to help users send and receive emails, browse web pages, and access streaming media.

[0187] Although not shown, the electronic device may also include a display unit, etc., which will not be described in detail here. Specifically, in this embodiment, the processor 401 in the electronic device loads the executable files corresponding to the processes of one or more application programs into the memory 402 according to the following computer instructions, and the processor 401 runs the application programs stored in the memory 402, thereby realizing the various functions in the embodiments of this application.

[0188] For details on the implementation of each of the above operations, please refer to the previous examples, which will not be repeated here.

[0189] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be performed by computer instructions, or by controlling related hardware with computer instructions. The computer instructions can be stored in a computer-readable storage medium and loaded and executed by a processor.

[0190] Therefore, embodiments of this application provide a computer-readable storage medium storing a plurality of computer instructions that can be loaded by a processor to execute steps in any of the task processing methods provided in embodiments of this application.

[0191] The storage medium may include: read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.

[0192] According to one aspect of this application, a computer program product or computer program is provided, comprising computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the methods provided in the above embodiments.

[0193] Since the computer instructions stored in the storage medium can execute the steps of any of the task processing methods provided in the embodiments of this application, the beneficial effects that any of the task processing methods provided in the embodiments of this application can achieve can be realized. For details, please refer to the previous embodiments, which will not be repeated here.

[0194] The above provides a detailed description of a task processing method, apparatus, electronic device, and computer-readable storage medium provided in the embodiments of this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.

Claims

1. A task processing method, characterized in that, include: Acquire the computing unit and the container corresponding to each of the multiple tasks to be processed; For each container, the occupancy information of the container is obtained, and the occupancy information represents the time occupancy of the container on the computing unit within one computing cycle of the computing unit; Obtain the current computation cycle of the computing unit, and determine the computation time period of the container in the current computation cycle of the computing unit based on the current computation cycle and the occupancy information; The computing unit is controlled to perform calculations on the container during the computing time period to process the pending tasks corresponding to the container.

2. The task processing method according to claim 1, characterized in that, The step of obtaining the container's occupancy information includes: Obtain the container type of the container; Based on the container type, determine the container's occupancy information.

3. The task processing method according to claim 2, characterized in that, The container types include resident container types and non-resident container types. Determining the container occupancy information based on the container type includes: If the container type is a resident container type, then the occupancy order of the container is determined to be the first occupancy order, and the first occupancy order is used as the occupancy information; If the container type is a non-resident container type, then the occupancy order of the container is determined to be the second occupancy order, and the second occupancy order is used as the occupancy information; the first occupancy order is less than the second occupancy order.

4. The task processing method according to claim 3, characterized in that, Before determining the container's occupancy order as the second occupancy order if the container's container type is a non-resident container type, and using the second occupancy order as the occupancy information, the method further includes: Obtain the priority of the container; The second occupancy order is determined based on the priority of the container, and the second occupancy order is negatively correlated with the priority.

5. The task processing method according to claim 4, characterized in that, Determining the second occupancy order based on the priority of the container includes: For multiple containers with the same priority, the container weights of the multiple containers are detected; If the container has a container weight, then the second occupancy order of the container is determined based on the container weight; the container weight is negatively correlated with the second occupancy order. If the container does not have a container weight, then the occupancy order of the container is determined as the target occupancy order, which is the largest occupancy order among the occupancy orders corresponding to multiple containers of the same priority.

6. The task processing method according to claim 4, characterized in that, The step of obtaining the container's occupancy information further includes: Based on the priority of the container, the duration of occupancy of the container is determined, and the duration of occupancy is positively correlated with the priority; The occupation duration and the second occupation order are determined as the occupation information.

7. A task processing device, characterized in that, include: The first acquisition unit is used to acquire the computing unit and the container corresponding to each of the multiple tasks to be processed. The second acquisition unit is used to acquire the occupancy information of each container, wherein the occupancy information represents the time occupancy of the container on the computing unit within one computing cycle of the computing unit. A determining unit is used to obtain the current calculation cycle of the computing unit, and determine the calculation time period of the container in the current calculation cycle of the computing unit based on the current calculation cycle and the occupancy information; A processing unit is used to control the computing unit to perform calculations on the container during the computing time period in order to process the pending tasks corresponding to the container.

8. An electronic device, characterized in that, The method includes a processor and a memory, the memory storing a plurality of computer instructions; the processor loads the computer instructions from the memory to perform the steps of the task processing method as described in any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a plurality of computer instructions adapted for loading by a processor to perform the steps of the task processing method according to any one of claims 1 to 6.

10. A computer program product, characterized in that, It includes computer instructions, which, when executed by a processor, implement the steps of the task processing method according to any one of claims 1 to 6.