Resource allocation method and device, electronic equipment and medium

By configuring execution resources and rules in the task concurrency pool and dynamically allocating resources, the high cost of human resource occupation in multi-task scenarios is solved, and efficient resource utilization and task execution are achieved.

CN120276845APending Publication Date: 2025-07-08PING AN INT FINANCIAL LEASING CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510348256.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-21
Publication Date
2025-07-08

AI Technical Summary

Technical Problem

In the prior art, task execution resource allocation in multiple task scenarios occupies a lot of human resources, resulting in high operating costs, and improper resource allocation may lead to task delays or waste.

Method used

Introduce a task concurrency pool, configure execution resources and task execution rules, and dynamically allocate resources based on the number of task groups, historical execution times and task scenarios to achieve unified management and efficient allocation.

Benefits of technology

Through automated resource allocation, manual monitoring costs are reduced, task execution efficiency is improved, resource waste and task delays are avoided, and resource utilization is optimized.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120276845A_ABST
    Figure CN120276845A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a resource allocation method and device, electronic equipment and a medium, and belongs to the technical field of network operation and maintenance. The resource allocation method comprises the steps that a plurality of to-be-executed tasks are acquired, the plurality of to-be-executed tasks belong to a plurality of task groups, and each task group corresponds to a different task scene; adding the plurality of to-be-executed tasks into a pre-configured task concurrence pool, wherein the task concurrence pool is configured with a plurality of execution resources for executing the to-be-executed tasks and task execution rules; according to a task execution rule, execution resources are allocated for each task group, and the task execution rule is related to the number of the to-be-executed tasks of each task group. Compared with a traditional mode of manually allocating execution resources, the method has the advantages that resource allocation can be automatically adjusted on the basis of the task execution rules and real-time change of the task load, so that resource utilization is more efficient, and the problems of high operation cost and low efficiency caused by manual real-time monitoring are avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of network operation and maintenance, and particularly to a resource allocation method, device, electronic device and medium. Background Art

[0002] During the operation of various network-related services, there are often multiple tasks with different task scenarios in the system. Multiple tasks with different task scenarios need to be executed simultaneously, and their respective task amounts are different. The execution resources of concurrent tasks in the system need to be overall managed.

[0003] In the traditional execution resource management method, manual labor allocates execution resources according to the task amounts of each task scenario, that is, human resources pay real-time attention to the execution situations of tasks in multiple different task scenarios for resource allocation. The more types there are, the greater the manual operation cost. That is, the existing management method of task execution resources occupies more human resources and has a higher cost. Summary of the Invention

[0004] The main purpose of the embodiments of this application is to propose a resource allocation method, device, electronic device and medium, aiming to solve the problem that the allocation of task execution resources for multiple task scenarios in the prior art occupies more human resources.

[0005] To achieve the above object, a first aspect of the embodiments of this application proposes a resource allocation method, and the method includes:

[0006] Obtain multiple tasks to be executed, and the multiple tasks to be executed belong to multiple task groups, and each task group corresponds to a different task scenario;

[0007] Add the multiple tasks to be executed into a pre-configured task concurrency pool, and the task concurrency pool is configured with multiple execution resources for executing the tasks to be executed and task execution rules;

[0008] Allocate the execution resources to each task group according to the task execution rules, where the task execution rules are related to the number of tasks to be executed in each task group.

[0009] In some embodiments, the task execution rules are also related to the historical execution times of each task to be executed;

[0010] The step of allocating the execution resources to each task group according to the task execution rules includes:

[0011] Mark the tasks to be executed in multiple task groups as first tasks or second tasks according to the historical execution times of each task to be executed;

[0012] Set the number of tasks to be executed for each task group according to at least one of the number of tasks marked as the first task and the number of tasks marked as the second task in each task group;

[0013] Allocate the execution resources according to the number of tasks to be executed for each task group;

[0014] Wherein, the first task is a task to be executed with a historical execution number greater than a preset number, and the second task is a task to be executed with a historical execution number less than or equal to the preset number.

[0015] In some embodiments, the setting the number of tasks to be executed for each task group according to at least one of the number of tasks marked as the first task and the number of tasks marked as the second task in each task group includes:

[0016] When the execution resources of each task group are preferentially used to execute the first task of each task group, use the number of the first tasks of each task group as the number of tasks to be executed for the corresponding task group;

[0017] When the execution resources of each task group are preferentially used to execute the second task of each task group, use the number of the second tasks of each task group as the number of tasks to be executed for the corresponding task group;

[0018] Multiply the number of the first tasks of each task group by a first preset ratio to obtain a first product, multiply the number of the second tasks of each task group by a second preset ratio to obtain a second product, and add the first product and the second product of the corresponding task group, and use the result after addition as the number of tasks to be executed for the corresponding task group. Wherein, for each task group, among the execution resources allocated to the task group, the execution resources of the first preset ratio are used to execute the first task of the task group, and the execution resources of the second preset ratio are used to execute the second task of the task group.

[0019] In some embodiments, the task execution rule is also related to the task scenario of each task group;

[0020] The allocating the execution resources for each task group according to the task execution rule includes:

[0021] Allocate execution resources for each task group according to the preset execution resource quantity corresponding to the task scenario of each task group;

[0022] When there are unallocated execution resources in the task concurrency pool, allocate the unallocated execution resources according to the number of tasks to be executed in each task group.

[0023] In some embodiments, the task execution rule is also related to the historical execution times of each task to be executed and the task scenarios of each task group;

[0024] The allocating the execution resources for each task group according to the task execution rule includes:

[0025] Allocate execution resources for each task group according to the preset number of execution resources corresponding to the task scenario of each task group;

[0026] Mark the tasks to be executed in multiple task groups as first tasks or second tasks according to the historical execution times of each task to be executed;

[0027] Set the number of tasks to be executed in each task group according to at least one of the number of tasks marked as the first task and the number of tasks marked as the second task in each task group, where the first task is a task to be executed with a historical execution time greater than the preset number of times, and the second task is a task to be executed with a historical execution time less than or equal to the preset number of times;

[0028] When there are unallocated execution resources in the task concurrency pool, allocate the unallocated execution resources according to the number of tasks to be executed in each task group.

[0029] In some embodiments, the allocating the execution resources for each task group according to the task execution rule includes:

[0030] Determine the number of tasks to be executed in each task group and the total number of tasks to be executed included in multiple task groups;

[0031] For each task group, allocate execution resources to the task group based on the proportion of the number of tasks to be executed in the task group to the total number of tasks in the task group.

[0032] In some embodiments, the number of task concurrency pools is multiple, and the multiple task groups included in each task concurrency pool are all different.

[0033] To achieve the above object, a second aspect of the embodiments of the present application proposes a resource allocation device, and the device includes:

[0034] An acquisition module, configured to acquire a plurality of tasks to be executed, where the plurality of tasks to be executed belong to a plurality of task groups, and each of the task groups corresponds to a different task scenario;

[0035] An addition module, configured to add the plurality of tasks to be executed to a pre-configured task concurrency pool, where the task concurrency pool is configured with a plurality of execution resources for executing the tasks to be executed, and a task execution rule;

[0036] An allocation module, configured to allocate the execution resources to each of the task groups according to the task execution rule, where the task execution rule is related to the number of tasks to be executed in each of the task groups.

[0037] To achieve the above object, a third aspect of the embodiments of the present application provides an electronic device, where the electronic device includes a memory and a processor, the memory stores a computer program, and when the processor executes the computer program, the resource allocation method described in the first aspect above is implemented.

[0038] To achieve the above object, a fourth aspect of the embodiments of the present application provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the resource allocation method described in the first aspect above is implemented.

[0039] The resource allocation method, device, electronic device, and medium provided by the present application introduce a task concurrency pool configured with a plurality of execution resources for executing tasks to be executed, add the tasks to be executed belonging to different task scenarios to the task concurrency pool, and allocate execution resources to the task groups corresponding to different task scenarios according to the task execution rule, realizing unified management and dynamic allocation of execution resources for the tasks to be executed in different task scenarios. Compared with the traditional method that relies on manual allocation of execution resources, it can automatically adjust resource allocation based on the real-time changes of the task execution rule and the task volume, making the use of resources more efficient, and avoiding the high operation cost and low efficiency problems brought by manual real-time monitoring. At the same time, this method can ensure that each task group reasonably allocates resources according to the task volume while sharing execution resources, avoiding task delays or resource waste caused by improper resource allocation, thereby improving the overall task execution efficiency of the system, optimizing resource utilization rate, and reducing the need for manual intervention and operation cost. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] Figure 1 is a flowchart of the resource allocation method provided by the embodiments of the present application;

[0041] Figure 2 is a flowchart of the process of setting the number of tasks to be executed provided by the embodiments of the present application;

[0042] Figure 3It is a schematic flowchart of a resource allocation process provided by an embodiment of the present application;

[0043] Figure 4 It is a block diagram of the steps of a resource allocation process provided by an embodiment of the present application;

[0044] Figure 5 It is a schematic structural diagram of a resource allocation device provided by an embodiment of the present application;

[0045] Figure 6 It is a schematic hardware structure diagram of an electronic device provided by an embodiment of the present application. Detailed implementation manners

[0046] In order to make the objectives, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0047] It should be noted that although the functional modules are divided in the device schematic diagram and the logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order from the module division in the device or the order in the flowchart. Terms such as "first" and "second" in the specification, claims and the above-mentioned drawings are used to distinguish similar objects and do not necessarily need to describe a specific order or sequence.

[0048] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those of ordinary skill in the technical field to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.

[0049] First, several nouns involved in the present application are analyzed:

[0050] A "Task Scenario" refers to a set of tasks with common characteristics that a system needs to execute in a specific business environment. Different task scenarios usually correspond to different business requirements, task processing logics, and resource allocation strategies. For example, in the financial industry, task scenarios can include Debt Collection, Loan Approval Notification, Credit Card Promotion, User Identity Verification, etc. Taking the "Debt Collection" scenario as an example, the main goal of this task scenario is to contact overdue customers by phone and remind them to repay as soon as possible. Therefore, it is necessary to prioritize the list of customers with high overdue amounts and may adopt different communication strategies (such as text messages, phone calls, or emails). In the "Credit Card Promotion" scenario, the core of the task is to introduce credit card products to potential users, and usually, customers with high credit scores or high consumption capabilities will be contacted first. Since the business goals and execution strategies of different task scenarios are different, in a task management system, task scenarios are an important basis for performing resource allocation and priority management.

[0051] A Task Concurrency Pool is a mechanism for unified management and dynamic allocation of execution resources. It classifies multiple tasks to be executed according to different task scenarios and centrally manages the execution resources of these tasks. Task execution rules are pre-configured in the pool, enabling the system to automatically allocate execution resources based on the quantity and priority of tasks, thereby achieving parallel processing of tasks, improving resource utilization, and reducing the need for manual intervention. In practical applications, the Task Concurrency Pool can dynamically adjust the resource allocation strategy to adapt to the execution requirements of different task scenarios, ensure that high-priority tasks can be completed in a timely manner, and optimize the overall task processing efficiency of the system.

[0052] During the operation of various network-related services, there are often multiple tasks with different task scenarios in the system. Tasks with multiple different task scenarios need to be executed simultaneously, and the task volumes of each are different. The execution resources of concurrent tasks in the system need to be overall managed.

[0053] In the traditional execution resource management method, human beings allocate execution resources according to the task volumes of each task scenario, that is, human resources pay real-time attention to the execution situations of tasks with multiple different task scenarios to perform resource allocation. The more types there are, the greater the human operation cost. That is, the existing management method of task execution resources occupies more human resources and has a higher cost.

[0054] Based on this, the embodiments of the present application provide a resource allocation method, apparatus, electronic device, and medium, aiming to solve the problem in the prior art that the resource allocation for task execution in multiple task scenarios occupies a large amount of human resources.

[0055] The resource allocation method, apparatus, electronic device, and medium provided by the embodiments of the present application will be specifically described through the following embodiments. First, the resource allocation method in the embodiments of the present application will be described.

[0056] The embodiments of the present application can acquire and process relevant data based on artificial intelligence technology. Among them, artificial intelligence (AI) is a theory, method, technology, and application system that uses digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use knowledge to obtain the best results.

[0057] Artificial intelligence basic technologies generally include technologies such as sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technologies, operation / interaction systems, and mechatronics. Artificial intelligence software technologies mainly include several major directions such as computer vision technology, robotics, biometric technology, speech processing technology, natural language processing technology, and machine learning / deep learning.

[0058] The resource allocation method provided by the embodiments of the present application relates to the field of network operation and maintenance technology. The resource allocation method provided by the embodiments of the present application can be applied to terminals, can also be applied to the server side, or can be software running on the terminal or the server side. In some embodiments, the terminal can be a smart phone, a tablet computer, a laptop computer, a desktop computer, etc.; the server side can be configured as an independent physical server, can also be configured as a server cluster or distributed system composed of multiple physical servers, or can be configured as a cloud server providing 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, CDN, and big data and artificial intelligence platforms; the software can be an application that implements the resource allocation method, etc., but is not limited to the above forms.

[0059] This application can be used in numerous general-purpose or special-purpose computer system environments or configurations. For example: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, and so on. This application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. This application can also be practiced in a distributed computing environment where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules can be located in local and remote computer storage media including storage devices.

[0060] It should be noted that in each specific embodiment of this application, when it comes to relevant processing based on data related to the user's identity or characteristics, such as user information, user behavior data, user historical data, and user location information, the user's permission or consent will be obtained first. Moreover, the collection, use, and processing of these data will comply with relevant laws, regulations, and standards. In addition, when this application embodiment needs to obtain the user's sensitive personal information, the user's separate permission or separate consent will be obtained through methods such as pop-up windows or redirecting to a confirmation page. After clearly obtaining the user's separate permission or separate consent, the necessary user-related data for the normal operation of this application embodiment will be obtained.

[0061] Figure 1 It is a flowchart of the resource allocation method provided by an embodiment of this application. As Figure 1 shown, in the first aspect of an embodiment of this application, a resource allocation method is provided, including steps S110 - S130.

[0062] Step S110: Obtain multiple tasks to be executed. The multiple tasks to be executed belong to multiple task groups, and each task group corresponds to a different task scenario.

[0063] In this step, the electronic device executing the resource allocation method provided by the embodiment of this application first identifies and collects multiple tasks to be executed, and classifies them into different task groups according to the business attributes of the tasks. Each task group corresponds to a specific task scenario, that is, the business category and policy required for the execution of the task. Task scenarios can include customer collection, loan approval notification, credit card promotion, etc. Each task scenario can involve different task volumes and priorities.

[0064] Exemplarily, the intelligent outbound calling system of a certain bank needs to execute multiple tasks, including debt collection, loan approval notifications, and credit card promotions. The bank will obtain all the currently pending customer contact tasks, and the electronic device (on which the intelligent outbound calling system is configured) will classify these tasks into different task groups. For example, the list of customers with overdue repayments is classified into the "debt collection" task group, the list of customers who have just submitted loan applications is classified into the "loan approval notification" task group, and the list of customers who meet the promotion criteria is classified into the "credit card promotion" task group.

[0065] Step S120: Add multiple pending tasks to a pre-configured task concurrency pool, which is configured with multiple execution resources for executing the pending tasks and task execution rules.

[0066] In this step, the electronic device will add the pending tasks in different task groups to the task concurrency pool. The task concurrency pool is a pooled structure for unified management of execution resources. It contains multiple execution resources (such as automatic dialing lines, customer service robots, human customer service, etc.) and is configured with a set of task execution rules to guide how resources are allocated to each task group.

[0067] Exemplarily, the bank adds all the pending debt collection, loan notification, and credit card promotion tasks to a task concurrency pool. This pool contains 100 intelligent outbound calling robots, and each robot can handle multiple customer calls simultaneously. At the same time, the bank sets some task execution rules. For example, for the "debt collection" task group, the electronic device needs to give priority to calling customers with high overdue amounts; for the "loan approval notification" task group, the electronic device may need to ensure that all applicants can be contacted within a day; and for the "credit card promotion" task group, the bank may hope to make calls outside working hours (such as from 6 pm to 9 pm) to increase the answer rate.

[0068] Step S130: Allocate execution resources to each task group according to the task execution rules, where the task execution rules are related to the number of pending tasks in each task group.

[0069] In this step, the electronic device will dynamically allocate the execution resources in the task concurrency pool to each task group according to the task execution rules. The allocation of execution resources will consider the number of pending tasks in each task group and can also be combined with different priority strategies. For example, scenarios with a larger number of pending tasks in a task group may be allocated more resources, while important but less taskful scenarios can be set with a minimum concurrency guarantee to ensure that their tasks can be completed in a timely manner.

[0070] Exemplarily, the bank's task concurrency pool allocates execution resources according to the following rules:

[0071] The debt collection task group has 5,000 numbers to be called, of which 1,000 belong to customers with high overdue amounts. According to the rules, the electronic device preferentially allocates 50 intelligent outbound robots to customers with high overdue amounts, and the remaining 50 robots are then allocated to other collection tasks proportionally.

[0072] The loan approval notice task group has 2,000 numbers to be called. The bank hopes that all applicants can receive the notice within one day. Therefore, the electronic device allocates 30 intelligent outbound robots to this task group to ensure a relatively high call completion rate.

[0073] The credit card promotion task group has 8,000 numbers to be called, but its priority is relatively low. The electronic device temporarily allocates only 20 intelligent outbound robots and increases the allocation from 6 pm to 9 pm to improve the call success rate.

[0074] Through the above steps S110 - S130, the resource allocation method introduces a task concurrency pool configured with multiple execution resources for performing tasks to be executed, adds the tasks to be executed belonging to different task scenarios to the task concurrency pool, and allocates execution resources to the task groups corresponding to different task scenarios according to the task execution rules, realizing the unified management and dynamic allocation of execution resources for the tasks to be executed under different task scenarios. Compared with the traditional method of relying on manual allocation of execution resources, it can automatically adjust resource allocation based on the real-time changes of task execution rules and task volumes, making the use of resources more efficient and avoiding the high operation costs and inefficiencies brought by manual real-time monitoring. At the same time, this method can ensure that each task group reasonably allocates resources according to the task volume while sharing execution resources, avoiding task delays or resource waste caused by improper resource allocation, thereby improving the overall task execution efficiency of the system, optimizing resource utilization rate, and reducing the need for manual intervention and operation costs.

[0075] In some embodiments, allocating execution resources to each task group according to the task execution rules includes:

[0076] Determine the number of tasks to be executed in each task group and the total amount of tasks to be executed included in multiple task groups;

[0077] For each task group, allocate execution resources to the task group based on the proportion of the number of tasks to be executed in the task group to the total amount of tasks in the task group.

[0078] In this embodiment, the electronic device implements dynamic allocation of execution resources through task execution rules to ensure that different task groups can reasonably obtain execution resources according to the number of tasks to be executed. First, the electronic device determines the number of tasks to be executed in each task group and calculates the total amount of tasks to be executed for all task groups. Then, the electronic device allocates execution resources to each task group based on the proportion of the number of tasks to be executed in each task group in the total amount of tasks. This method can ensure that the allocation of execution resources matches the task load, making task processing more balanced, avoiding delays in certain task groups due to insufficient resources, and preventing waste of resources.

[0079] For example, a bank's intelligent outbound electronic system needs to handle three task groups: debt collection (including 6,000 numbers to be dialed), loan approval notification (3,000 numbers to be dialed) and credit card promotion (1,000 numbers to be dialed). All task groups have a total of 10,000 tasks to be dialed. The bank has 100 intelligent outbound robots, which are allocated according to the proportion of the number of tasks: the debt collection task group accounts for 60% of the total task volume, so it gets 60 robots; the loan approval notification task group accounts for 30%, so it gets 30 robots; the credit card promotion task group accounts for 10%, so it gets 10 robots. Through this resource allocation method, the bank can ensure that the resource allocation of each task group matches the task volume, improve outbound call efficiency, and avoid some tasks from being completed in time due to uneven resource allocation.

[0080] In some implementations, the task execution rule is also related to the historical number of times each task to be executed has been executed;

[0081] Allocate execution resources to each task group according to the task execution rules, including:

[0082] Marking the tasks to be executed in the plurality of task groups as first tasks or second tasks according to the historical number of times each task to be executed is executed;

[0083] According to at least one of the number of tasks marked as first tasks in each task group and the number of tasks marked as second tasks in each task group, setting the number of tasks to be executed in each task group;

[0084] Allocate execution resources according to the number of tasks to be executed in each task group;

[0085] The first task is a task to be executed whose historical execution times are greater than a preset number, and the second task is a task to be executed whose historical execution times are less than or equal to the preset number.

[0086] In this embodiment, when performing resource allocation, not only the number of tasks to be executed in each task group is considered, but also the historical execution times of the tasks to be executed (i.e., whether the tasks to be executed have been executed) are combined. Specifically, the electronic device first determines the historical execution times of each task, and based on a preset execution times threshold, marks the tasks as first tasks or second tasks. Among them, the first task refers to a task whose historical execution times exceed the preset threshold (such as a redial task in an outbound call task), and the second task refers to a task whose historical execution times are less than or equal to the preset threshold (such as a first call task in an outbound call task). Subsequently, the electronic device adjusts the number of tasks to be executed in the task group according to the quantity relationship between the first tasks and the second tasks in each task group, and allocates execution resources accordingly. In this way, the electronic device can use the tasks with higher priority (the first task or the second task) as the allocation basis, or fuse the quantities of tasks with different priorities based on the priority weights, so that the task group with a larger number of tasks with higher priority can be preferentially allocated execution resources, thereby improving the task completion rate and customer reach rate of the tasks with higher priority.

[0087] Those skilled in the art can understand that in this embodiment, only the value of the number of tasks to be executed for subsequent resource allocation is reset, so that the task group with a larger number of tasks with higher priority can be preferentially allocated execution resources, which is equivalent to changing the parameter values to be substituted in the formula, without changing the actual number of tasks to be executed in the task group.

[0088] Exemplarily, the intelligent outbound call electronic device of a certain bank needs to process two task groups: debt collection and loan approval notice. Among them, the debt collection task group contains 8000 numbers to be called, and the loan approval notice task group contains 2000 numbers to be called. The bank hopes to give priority to calling customers who have not been contacted yet. The electronic device sets the preset execution times threshold to 0 times, that is, the first call task (historical execution times ≤ 0) is the second task, and the redial task (historical execution times > 0) is the first task. After statistics, there are 5000 first call tasks and 3000 redial tasks in the debt collection task group, and 1500 first call tasks and 500 redial tasks in the loan approval notice task group. According to these ratios, the electronic device dynamically sets the number of tasks to be executed in each task group, directly taking 5000 as the number of tasks to be executed in the debt collection task group and 1500 as the number of tasks to be executed in the loan approval notice task group as the basis for subsequent execution resource allocation.

[0089] Figure 2 It is a schematic flowchart of the process for setting the number of tasks to be executed provided by an embodiment of the present application, as Figure 2As shown, in some embodiments, the number of tasks to be executed for each task group is set according to at least one of the number of tasks marked as the first task and the number of tasks marked as the second task in each task group, including:

[0090] Step S210: When the execution resources of each task group are preferentially used to execute the first task of each task group, the number of the first tasks of each task group is used as the number of tasks to be executed for the corresponding task group;

[0091] Step S220: When the execution resources of each task group are preferentially used to execute the second task of each task group, the number of the second tasks of each task group is used as the number of tasks to be executed for the corresponding task group;

[0092] Step S230: Multiply the number of the first tasks of each task group by a first preset ratio to obtain a first product, multiply the number of the second tasks of each task group by a second preset ratio to obtain a second product, and add the first product and the second product of the corresponding task group. The result obtained after the addition is used as the number of tasks to be executed for the corresponding task group. For each task group, among the execution resources allocated to the task group, the execution resources with the first preset ratio are used to execute the first task of the task group, and the execution resources with the second preset ratio are used to execute the second task of the task group.

[0093] In this embodiment, the electronic device dynamically adjusts the number of tasks to be executed for each task group based on the number of different task types (the first task and the second task) and the preset resource allocation ratio, and allocates execution resources accordingly. First, the electronic device can select one of two execution resource allocation strategies according to the settings of the technical personnel, that is, preferentially execute the first task (such as a redial task with a historical execution number greater than the threshold) or preferentially execute the second task (such as a first call task with a historical execution number less than or equal to the threshold). If it is selected to preferentially execute the first task, the number of tasks to be executed for each task group is equal to the number of its first tasks; if it is selected to preferentially execute the second task, the number of tasks to be executed is equal to the number of its second tasks. In addition, the electronic device supports a custom allocation strategy, that is, calculate the weighted quantities of the first task and the second task according to the set first preset ratio and second preset ratio respectively, and use the weighted result as the total number of tasks to be executed for the task group, and then reasonably allocate execution resources based on this total. This can achieve flexible and balanced resource scheduling between different task types and improve the overall execution efficiency.

[0094] Exemplarily, the intelligent outbound electronic device of a certain bank needs to execute two task groups, namely credit card collection and loan approval notification, simultaneously. Suppose there are 4,000 redial tasks (the first task) and 6,000 initial dial tasks (the second task) in the credit card collection task group, and 2,000 redial tasks and 4,000 initial dial tasks in the loan approval notification task group. The bank hopes to evenly allocate resources between the initial dial tasks and the redial tasks, so the first preset ratio is set to 40% and the second preset ratio is set to 60%. According to this plan, the electronic device calculates:

[0095] The number of tasks to be executed in the credit card collection task group = 4,000 × 40% + 6,000 × 60% = 1,600 + 3,600 = 5,200

[0096] The number of tasks to be executed in the loan approval notification task group = 2,000 × 40% + 4,000 × 60% = 800 + 2,400 = 3,200

[0097] If the bank has 100 outbound robots, then according to the number of tasks to be executed in the task group for resource allocation: credit card collection gets 5,200 / (5,200 + 3,200) ≈ 62% of the resources, that is, 62 robots, and loan approval notification gets 38% of the resources, that is, 38 robots. In addition, within each task group, 40% of the allocated robots are used for redial tasks and 60% are used for initial dial tasks. This method ensures reasonable resource allocation, which can not only improve the reach rate, but also prioritize the processing of important redial tasks and avoid excessive repeated calls.

[0098] In some embodiments, the task execution rules are also related to the task scenarios of each task group;

[0099] According to the task execution rules, execution resources are allocated to each task group, including:

[0100] Allocate execution resources to each task group according to the preset execution resource quantity corresponding to the task scenario of each task group;

[0101] In the case that there are unallocated execution resources in the execution resources of the task concurrency pool, allocate the unallocated execution resources according to the number of tasks to be executed in each task group.

[0102] In this embodiment, the electronic device also allocates execution resources in combination with the importance of the task scenario to ensure that critical tasks are given priority and dynamically adjusts when resources are abundant to improve the overall utilization efficiency. First, the electronic device makes an initial allocation according to the preset number of execution resources for each task group corresponding to the task scenario, that is, for some business scenarios, a certain number of execution resources may be reserved due to their business priorities or urgency to ensure that their minimum requirements are met. Second, when there are still unallocated execution resources in the task concurrency pool, the electronic device will reallocate the remaining resources according to the number of tasks to be executed in each task group, so as to ensure that the task group with a larger task volume can obtain additional resource support. This method can not only ensure the stable execution of high-priority tasks but also dynamically optimize resource usage according to the real-time task volume, improving the overall efficiency of execution resource allocation.

[0103] Exemplarily, the intelligent outbound call system of a certain bank simultaneously executes three task groups: credit card collection, loan approval notice, and new product marketing. The bank sets the highest business priority for the credit card collection task group, so 30 robots are preset to be allocated. The business priority of the loan approval notice task group is medium, and 20 robots are preset to be allocated. For the new product marketing task group, no initial resource preset is made due to its non-urgency. Suppose the bank's outbound call electronic device has a total of 80 robots. After the initial allocation, there are still 30 robots unallocated. At this time, the electronic device will allocate the remaining resources based on the number of tasks to be executed in each task group. For example, if there are still 5000 tasks to be executed in the credit card collection task group, 3000 in the loan approval notice task group, and 2000 in the new product marketing task group, then the electronic device allocates the remaining 30 robots proportionally:

[0104] The credit card collection task group gets (5000 / (5000 + 3000 + 2000))×30 ≈ 15 robots, for a total of 45 robots;

[0105] The loan approval notice task group gets (3000 / (5000 + 3000 + 2000))×30 ≈ 9 robots, for a total of 29 robots;

[0106] The new product marketing task group gets (2000 / (5000 + 3000 + 2000))×30 ≈ 6 robots, for a total of 6 robots.

[0107] Figure 3 is a schematic flowchart of a resource allocation process provided by an embodiment of the present application. As Figure 3 shown, in some embodiments, the task execution rule is also related to the historical execution times of each task to be executed and the task scenario of each task group;

[0108] Allocate execution resources for each task group according to the task execution rules, including:

[0109] Step S310: Allocate execution resources for each task group according to the preset number of execution resources corresponding to the task scenario of each task group;

[0110] Step S320: Mark the tasks to be executed in multiple task groups as first tasks or second tasks according to the historical execution times of each task to be executed;

[0111] Step S330: Set the number of tasks to be executed in each task group according to at least one of the number of tasks marked as first tasks and the number of tasks marked as second tasks in each task group, where the first task is a task to be executed with a historical execution time greater than the preset number of times, and the second task is a task to be executed with a historical execution time less than or equal to the preset number of times;

[0112] Step S340: When there are unallocated execution resources in the task concurrency pool, allocate the unallocated execution resources according to the number of tasks to be executed in each task group.

[0113] In this embodiment, the electronic device comprehensively considers the importance of the task scenario and the historical execution times of the tasks to optimize the allocation strategy of the execution resources, ensuring that the resource allocation of different task groups is more reasonable and efficient. First, the electronic device presets a certain number of execution resources for each task group according to its task scenario to ensure that critical task groups can obtain basic resource allocation. Then, the electronic device further checks the historical execution times of the tasks to be executed and divides them into first tasks (tasks with execution times exceeding the preset number of times) and second tasks (tasks with execution times not exceeding the preset number of times). Next, the electronic device sets the number of tasks to be executed in the task group according to the number of first tasks and second tasks in each task group, thereby determining its resource requirements. If there are still unallocated execution resources in the task concurrency pool, these remaining resources will be reallocated according to the number of tasks to be executed in the task group to ensure that task groups with a larger number of tasks can obtain more execution resources to improve the overall task processing efficiency.

[0114] Exemplarily, the intelligent outbound calling system of a certain bank needs to execute three types of tasks simultaneously: credit card collection, loan approval notice, and new product marketing. Due to the high compliance requirements of the credit card collection business, the bank presets 40 robots for this task group, 30 robots for the loan approval notice task group, and 10 robots for the new product marketing task group. During the task execution process, the electronic device will check the historical execution times of the tasks to be executed in each task group and mark the task types. For example, in the credit card collection task group, if some overdue users have been called 3 times (exceeding the preset 2 times), these tasks are marked as the first type of task; while the tasks for the first call or those with no more than 2 calls are marked as the second type of task. The same logic applies to the loan approval notice and new product marketing task groups.

[0115] Suppose the intelligent outbound calling system is equipped with a total of 100 robots, and there are still 20 robots not assigned after the preset allocation. Then the electronic device will perform dynamic adjustment of resources according to the number of tasks to be executed in each task group (including the proportion of the first type of task and the second type of task). For example, if the credit card collection task group has 6000 tasks to be executed (3000 of which are the first type of task and 3000 are the second type of task), the loan approval notice task group has 4000 tasks to be executed (1000 of which are the first type of task and 3000 are the second type of task), and the new product marketing task group has 2000 tasks to be executed (500 of which are the first type of task and 1500 are the second type of task), then the 20 unassigned robots can be reallocated according to the number of tasks to be executed in the task groups, ensuring that tasks with high priority and higher historical execution times receive more resource support and improving the success rate and execution efficiency of the overall calling tasks.

[0116] In some embodiments, the number of task concurrency pools is multiple, and each task concurrency pool includes multiple task groups that are all different.

[0117] In this embodiment, the electronic device realizes parallel management and efficient execution of tasks by introducing multiple task concurrency pools. Each task concurrency pool contains different task groups. The task groups added to the same task concurrency pool apply the same set of task execution rules, and for the same task group, it can only be added to one concurrency pool at a time and apply a set of dynamic adjustment rules. Such a design can improve the resource utilization rate of the system and enhance the flexibility of task scheduling. For example, in practical applications, different types of tasks may have different priorities and execution requirements. Therefore, through the division of multiple task concurrency pools, task management can be carried out more precisely. For example, one concurrency pool can be dedicated to handling high-priority tasks, while another concurrency pool can be used for ordinary tasks, which can effectively prevent high-priority tasks from being affected by resource competition.

[0118] In some embodiments, the task execution rules are only effective for the task groups in the task concurrency pool that are in an executable state. Task groups in a non-executable state such as paused, offline, or not yet in the executable time do not belong to the calculation objects of the task execution rules when performing execution resource allocation.

[0119] In some embodiments, the set task execution rules can be re-edited. If not paused, cancelled, or deleted, they will remain effective and do not need to be reconfigured every day. Moreover, all the recorded task execution rules that are confirmed and saved are stored in the database for anomaly troubleshooting.

[0120] Figure 4 It is a block diagram of the steps of a resource allocation process provided by an embodiment of the present application. As Figure 4 shown, combining the above multiple embodiments, the resource allocation method provided by the embodiments of the present application can be described in the following manner:

[0121] First, the electronic device creates a task concurrency pool according to the input of the technician and adds task groups corresponding to different task scenarios to the task concurrency pool (step S410). The task concurrency pool includes multiple execution resources for executing the tasks to be executed. Subsequently, the electronic device configures task execution rules for the task concurrency pool according to the input of the technician (step S420), so that the task concurrency pool allocates execution resources to the task groups corresponding to different task scenarios in the pool according to the task execution rules.

[0122] The task execution rules can be configured by combining Rule 1, Rule 2, and Rule 3.

[0123] Rule 1 is: for each task group, allocate execution resources to the task group based on the proportion of the number of tasks to be executed in the task group to the total amount of the task group;

[0124] Rule 2 is: according to the historical execution times of each task to be executed, mark the tasks to be executed in multiple task groups as the first tasks or the second tasks;

[0125] According to at least one of the number of tasks marked as the first tasks in each task group and the number of tasks marked as the second tasks in each task group, set the number of tasks to be executed in each task group (set by the number of the first tasks, or set by the number of the second tasks, or multiply the number of the first tasks and the number of the second tasks by their respective preset ratios and add them, and set by the added result);

[0126] Allocate execution resources according to the number of tasks to be executed in each task group;

[0127] Among them, the first task is a task to be executed with a historical execution times greater than the preset times, and the second task is a task to be executed with a historical execution times less than or equal to the preset times;

[0128] Rule 3 is: allocate execution resources for each task group according to the preset number of execution resources corresponding to the task scenario of each task group.

[0129] Rule 1 is the default rule of the task concurrency pool and is a mandatory rule. When the task execution rules only include Rule 1, resource allocation is performed according to the proportion of the number of tasks to be executed in each task group to the total number of all tasks to be executed.

[0130] Rule 2 and Rule 3 are optional rules, and the priority order during execution is that Rule 3 is higher than Rule 2 which is higher than Rule 1, specifically as follows:

[0131] When the task execution rules include Rule 1 and Rule 2, the electronic device first sets the number of tasks to be executed in each task group according to Rule 2, and then performs resource allocation according to the proportion of the number of tasks to be executed in each task group to the total number of all tasks to be executed;

[0132] When the task execution rules include Rule 1 and Rule 3, the electronic device first allocates execution resources for each task group according to the preset number of execution resources corresponding to the task scenario of each task group. When there are remaining execution resources in the task concurrency pool, the remaining execution resources are then allocated according to the proportion of the number of tasks to be executed in each task group to the total number of all tasks to be executed;

[0133] When the task execution rules include Rule 1, Rule 2, and Rule 3, the electronic device first allocates execution resources for each task group according to the preset number of execution resources corresponding to the task scenario of each task group, then sets the number of tasks to be executed in each task group according to Rule 2. When there are remaining execution resources in the task concurrency pool, the remaining execution resources are then allocated according to the proportion of the number of tasks to be executed in each task group to the total number of all tasks to be executed.

[0134] For the already configured task execution rules, technicians can perform management operations such as modification or deletion on them, and the configured task execution rules will be recorded and stored in the database to enable exception troubleshooting and monitoring (step S430).

[0135] Please refer to Figure 5 , this application embodiment also provides a resource allocation device, which can implement the above resource allocation method. The device 50 includes:

[0136] An obtaining module 51, configured to obtain a plurality of tasks to be executed. The plurality of tasks to be executed belong to a plurality of task groups, and each task group corresponds to a different task scenario;

[0137] An adding module 52 is configured to add multiple tasks to be executed to a pre-configured task concurrency pool. The task concurrency pool is configured with multiple execution resources for executing the tasks to be executed, as well as task execution rules.

[0138] An allocation module 53 is configured to allocate execution resources to each task group according to the task execution rules, where the task execution rules are related to the number of tasks to be executed in each task group.

[0139] The specific implementation manner of the resource allocation device 51 is basically the same as the specific embodiments of the above resource allocation method, and will not be elaborated herein.

[0140] An embodiment of the present application further provides an electronic device, which includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, the above resource allocation method is implemented. The electronic device can be any intelligent terminal including a tablet computer, an in-vehicle computer, etc.

[0141] Please refer to Figure 6 , Figure 6 which schematically shows the hardware structure of an electronic device according to another embodiment. The electronic device includes:

[0142] A processor 601, which can be implemented by using a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, etc., and is configured to execute relevant programs to implement the technical solutions provided by the embodiments of the present application;

[0143] A memory 602, which can be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM), etc. The memory 602 can store an operating system and other application programs. When implementing the technical solutions provided by the embodiments of this specification through software or firmware, the relevant program codes are stored in the memory 602, and the processor 601 is called to execute the resource allocation method of the embodiments of the present application;

[0144] An input / output interface 603, which is configured to implement information input and output;

[0145] A communication interface 604, which is configured to implement communication interaction between this device and other devices, and can implement communication through a wired manner (such as USB, network cable, etc.) or through a wireless manner (such as mobile network, WIFI, Bluetooth, etc.);

[0146] A bus 605 transmits information between various components of the device, such as a processor 601, a memory 602, an input / output interface 603, and a communication interface 604;

[0147] Among them, the processor 601, the memory 602, the input / output interface 603, and the communication interface 604 are communicatively connected to each other inside the device through the bus 605.

[0148] The embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the above resource allocation method is implemented.

[0149] As a non-transitory computer-readable storage medium, the memory can be used to store non-transitory software programs and non-transitory computer-executable programs. In addition, the memory can include high-speed random access memory, and can also include non-transitory memory, such as at least one magnetic disk storage device, a flash memory device, or other non-transitory solid-state storage devices. In some embodiments, the memory may optionally include a memory remotely provided with respect to the processor, and these remote memories can be connected to the processor through a network. Examples of the above network include but are not limited to the Internet, an enterprise intranet, a local area network, a mobile communication network, and combinations thereof.

[0150] The resource allocation method, device, electronic device, and medium provided by the embodiments of the present application introduce a task concurrency pool configured with multiple execution resources for executing tasks to be executed, add the tasks to be executed belonging to different task scenarios to the task concurrency pool, and allocate execution resources to task groups corresponding to different task scenarios according to task execution rules, realizing unified management and dynamic allocation of execution resources for tasks to be executed in different task scenarios. Compared with the traditional method of relying on manual allocation of execution resources, it can automatically adjust resource allocation based on the real-time changes of task execution rules and task volumes, making the use of resources more efficient, and avoiding the high operation costs and inefficiencies brought by manual real-time monitoring. At the same time, this method can ensure that each task group reasonably allocates resources according to the task volume while sharing execution resources, avoiding task delays or resource waste caused by improper resource allocation, thereby improving the overall task execution efficiency of the system, optimizing resource utilization rate, and reducing the need for manual intervention and operation costs.

[0151] The embodiments described in the embodiments of the present application are for more clearly illustrating the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application. Those skilled in the art know that with the evolution of technology and the emergence of new application scenarios, the technical solutions provided by the embodiments of the present application are equally applicable to similar technical problems.

[0152] Those skilled in the art can understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of the present application, and may include more or fewer steps than those shown in the figures, or combine some steps, or different steps.

[0153] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, that is, they may be located in one place, or may be distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0154] Those of ordinary skill in the art can understand that all or some of the steps in the methods disclosed above, and the functional modules / units in the systems and devices can be implemented as software, firmware, hardware, and their appropriate combinations.

[0155] The terms "first", "second", "third", "fourth", etc. (if any) in the specification of the present application and the above figures are used to distinguish similar objects, and do not necessarily need to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances, so that the embodiments of the present application described here can be implemented in an order other than those illustrated or described here. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units does not necessarily need to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products, or devices.

[0156] It should be understood that in the present application, "at least one (item)" means one or more, and "a plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships can exist. For example, "A and / or B" can mean: only A exists, only B exists, and both A and B exist at the same time. Among them, A and B can be singular or plural. The character " / " generally means that the associated objects before and after are in an "or" relationship. "At least one (one) of the following" or a similar expression means any combination of these items, including any combination of single items (ones) or plural items (ones). For example, at least one (one) of a, b, or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.

[0157] In several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the above-mentioned units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections between each other can be through some interfaces. The indirect couplings or communication connections of devices or units can be in electrical, mechanical or other forms.

[0158] The units described above as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they can be located in one place, or they can be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0159] In addition, in each embodiment of the present application, the functional units can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.

[0160] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or all or part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes multiple instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods in each embodiment of the present application. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical discs that can store programs.

[0161] The preferred embodiments of the embodiments of the present application have been described above with reference to the accompanying drawings, and thus do not limit the scope of rights of the embodiments of the present application. Any modifications, equivalent replacements, and improvements made by those skilled in the art without departing from the scope and essence of the embodiments of the present application shall be within the scope of rights of the embodiments of the present application.

Claims

1. A resource allocation method, characterized in that, The method includes: Obtaining a plurality of tasks to be executed, where the plurality of tasks to be executed belong to multiple task groups, and each task group corresponds to a different task scenario; Adding the plurality of tasks to be executed to a pre-configured task concurrency pool, where the task concurrency pool is configured with a plurality of execution resources for executing the tasks to be executed and a task execution rule; Allocating the execution resources to each task group according to the task execution rule, where the task execution rule is related to the number of tasks to be executed in each task group.

2. The method according to claim 1, wherein The task execution rule is also related to the historical execution times of each task to be executed; The allocating the execution resources to each task group according to the task execution rule includes: Marking the tasks to be executed in multiple task groups as first tasks or second tasks according to the historical execution times of each task to be executed; Setting the number of tasks to be executed in each task group according to at least one of the number of first tasks marked in each task group and the number of second tasks marked in each task group; Allocating the execution resources according to the number of tasks to be executed in each task group; where the first task is a task to be executed with a historical execution times greater than a preset number of times, and the second task is a task to be executed with a historical execution times less than or equal to the preset number of times.

3. The method according to claim 2, characterized in that, The setting the number of tasks to be executed in each task group according to at least one of the number of first tasks marked in each task group and the number of second tasks marked in each task group includes: When the execution resources in each task group are preferentially used to execute the first tasks in each task group, taking the number of first tasks in each task group as the number of tasks to be executed in the corresponding task group; When the execution resources in each task group are preferentially used to execute the second tasks in each task group, taking the number of second tasks in each task group as the number of tasks to be executed in the corresponding task group; Multiplying the number of first tasks in each task group by a first preset ratio to obtain a first product, multiplying the number of second tasks in each task group by a second preset ratio to obtain a second product, adding the first product and the second product corresponding to the task group, and taking the result after addition as the number of tasks to be executed in the corresponding task group, where, for each task group, among the execution resources allocated to the task group, the execution resources of the first preset ratio are used to execute the first tasks of the task group, and the execution resources of the second preset ratio are used to execute the second tasks of the task group.

4. The method according to claim 1, wherein The task execution rule is also related to the task scenario of each task group; The allocating the execution resources to each task group according to the task execution rule includes: Allocating execution resources to each task group according to the preset number of execution resources corresponding to the task scenario of each task group; When there are unallocated execution resources in the task concurrency pool, allocate the unallocated execution resources according to the number of tasks to be executed in each task group.

5. The method according to claim 1, characterized in that, The task execution rule is also related to the historical execution times of each task to be executed and the task scenarios of each task group; Allocating the execution resources for each task group according to the task execution rule includes: Allocate execution resources for each task group according to the preset number of execution resources corresponding to the task scenario of each task group; According to the historical execution times of each task to be executed, mark the tasks to be executed in multiple task groups as the first task or the second task; Set the number of tasks to be executed in each task group according to at least one of the number of tasks marked as the first task and the number of tasks marked as the second task in each task group, where the first task is a task to be executed with a historical execution times greater than the preset times, and the second task is a task to be executed with a historical execution times less than or equal to the preset times; When there are unallocated execution resources in the task concurrency pool, allocate the unallocated execution resources according to the number of tasks to be executed in each task group.

6. The method according to claim 1, wherein Allocating the execution resources for each task group according to the task execution rule includes: Determine the number of tasks to be executed in each task group and the total number of tasks to be executed included in multiple task groups; For each task group, allocate execution resources to the task group based on the proportion of the number of tasks to be executed in the task group to the total amount of the task group.

7. The method according to claim 1, wherein The number of task concurrency pools is multiple, and multiple task groups included in each task concurrency pool are all different.

8. A resource allocation device, characterized in that, The device includes: An acquisition module, configured to acquire multiple tasks to be executed, and the multiple tasks to be executed belong to multiple task groups, and each task group corresponds to a different task scenario; An adding module, configured to add the multiple tasks to be executed to a pre-configured task concurrency pool, and the task concurrency pool is configured with multiple execution resources for executing the tasks to be executed and a task execution rule; An allocation module, configured to allocate the execution resources for each task group according to the task execution rule, where the task execution rule is related to the number of tasks to be executed in each task group.

9. An electronic device, characterized in that, The electronic device includes a memory and a processor, the memory stores a computer program, and when the processor executes the computer program, the resource allocation method according to any one of claims 1 to 7 is implemented.

10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, the resource allocation method according to any one of claims 1 to 7 is implemented.