Crowd selection method, device, equipment, medium and program product
By analyzing and prioritizing crowd circle selection tasks, ensuring effective resource allocation in the executor cluster, the problem of low resource utilization in the existing technology is solved, and efficient crowd circle selection tasks are achieved to improve the response speed.
Patent Information
- Application Number
- CN202411928132.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-25
- Publication Date
- 2025-03-28
AI Technical Summary
The resource utilization rate of existing crowd circle selection methods is low and cannot meet the needs of specific crowd circle selection.
By analyzing the crowd circle selection task, writing the task to the target task queue of the corresponding priority based on the task description information and the pre-configured task priority rules. When there is an idle executor in the executor cluster, the crowd circle selection task is executed based on the specified task selection rules.
Optimize resource allocation, improve resource utilization efficiency, ensure that the most important/urgent crowd selection tasks are preferred, reduce resource waste, and improve response speed.
Smart Images

Figure CN119718667A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of big data technology, and in particular to a method, device, equipment, computer-readable storage medium and computer program product for selecting a group of people. Background Art
[0002] With the development of Internet technology, push notifications provide a channel for pushing notifications to end users, and accurately send service notifications to designated groups of people, in the hope of achieving information interaction with designated groups of people, thereby improving the click-through rate, conversion rate and other related data of the pushed content. Therefore, the selection of designated groups is very important. However, the current method of selecting groups of people has a low resource utilization rate and cannot meet the needs of selecting specific groups of people. Summary of the invention
[0003] The embodiments of the present application provide a method, apparatus, device, computer-readable storage medium, and computer program product for selecting a group of people, which can optimize resource allocation, improve resource utilization efficiency, and meet the needs of selecting a specific group of people.
[0004] In a first aspect, an embodiment of the present application provides a method for selecting a group of people, including:
[0005] Get the crowd selection task;
[0006] Analyze the crowd selection task to obtain task description information;
[0007] According to the task description information and the pre-configured task priority rules, the crowd-selected task is written into a target task queue of a corresponding priority; wherein the target task queue is one of a plurality of task queues of different priorities;
[0008] When there are idle executors in the executor cluster, the first target population selection task is executed by the idle executors; wherein the first target population selection task is obtained from the multiple task queues of different priorities based on a specified task selection rule.
[0009] In a second aspect, an embodiment of the present application provides a crowd selection device, including:
[0010] Task acquisition module, used to obtain crowd selection tasks;
[0011] A task parsing module, used to parse the crowd selection task and obtain task description information;
[0012] A task writing module, used for writing the crowd-selected task into a target task queue of a corresponding priority according to the task description information and a pre-configured task priority rule; wherein the target task queue is one of a plurality of task queues of different priorities;
[0013] A task execution module is used to execute a first target population selection task through an idle executor when there is an idle executor in the executor cluster; wherein the first target population selection task is obtained from the multiple task queues of different priorities based on a specified task selection rule.
[0014] In a third aspect, an embodiment of the present application provides an electronic device, including a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the steps of the crowd selection method provided in the first aspect of the embodiment of the present application are implemented.
[0015] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the crowd selection method provided in the first aspect of the embodiment of the present application are implemented.
[0016] In a fifth aspect, an embodiment of the present application provides a computer program product on which a computer program is stored, and when the computer program is executed by a processor, the steps of the crowd selection method provided in the first aspect of the embodiment of the present application are implemented.
[0017] The technical solution provided in the embodiment of the present application parses the crowd selection task to obtain task description information, and writes the crowd selection task to the target task queue of the corresponding priority according to the task description information and the pre-configured task priority rules. When there are idle executors in the executor cluster, the first target crowd selection task is obtained from the task queues of multiple different priorities based on the specified task selection rules, and the first target crowd selection task is executed by the idle executor. That is, in the embodiment of the present application, the crowd selection task can be scheduled based on priority, ensuring that computing resources can be allocated to the most important / urgent tasks, reducing the waste of resources on low-priority tasks, improving resource utilization efficiency, and improving the response speed of the most important / urgent crowd selection tasks. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] Figure 1 A schematic diagram of an application environment of the crowd selection method provided in an embodiment of the present application;
[0019] Figure 2 A schematic diagram of a flow chart of a crowd selection method provided in an embodiment of the present application;
[0020] Figure 3 Another schematic diagram of a flow chart of a crowd selection method provided in an embodiment of the present application;
[0021] Figure 4 An interactive schematic diagram of a crowd selection method provided in an embodiment of the present application;
[0022] Figure 5 A schematic diagram of another flow chart of the crowd selection method provided in the embodiment of the present application;
[0023] Figure 6 Another interactive schematic diagram of the crowd selection method provided in the embodiment of the present application;
[0024] Figure 7 A schematic diagram showing a comparison of the crowd selection costs between the technical solution provided in the embodiment of the present application and the traditional technical solution;
[0025] Figure 8 A schematic diagram of the structure of a crowd selection device provided in an embodiment of the present application;
[0026] Fig. 9 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0027] In order to make the purpose, technical solutions and advantages of the present application clearer, the technical solutions in the embodiments of the present application are further described in detail through the following embodiments and in combination with the accompanying drawings. 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. Those skilled in the art can make adjustments to them as needed to suit specific application scenarios. It should also be noted that, for ease of description, only the parts related to the present application are shown in the accompanying drawings, rather than all structures.
[0028] Figure 1 This is a schematic diagram of the application environment of the crowd selection method provided in the embodiment of the present application. Figure 1 , the application environment may include a business terminal 101 and a server terminal 102. The business terminal 101 and the server terminal 102 are connected via a wireless network or a wired network. The business terminal 101 is used to submit a crowd selection task, and may specifically be a desktop terminal or a mobile terminal. Optionally, the mobile terminal may be at least one of a PDA (personal digital assistant), a PAD (tablet computer), a PMP (portable multimedia player), a vehicle terminal (such as a vehicle navigation terminal), and a mobile phone. The server terminal 102 is used for scheduling and executing crowd selection tasks, and may be an independent server or a server cluster composed of multiple servers. It should be noted that the crowd selection task in the embodiment of the present application may be executed by the above-mentioned server terminal 102, and the following method embodiment is described by taking the execution subject as the server terminal 102 as an example.
[0029] Figure 2 A flow chart of a crowd selection method provided in an embodiment of the present application. Figure 2 As shown, the method may include:
[0030] S201, obtaining a crowd selection task.
[0031] Among them, the above-mentioned crowd selection task is mainly used to filter out groups that meet specific conditions from a large amount of user data, so as to push content to the selected specific groups. For example, in the field of financial technology, relevant financial product information can be pushed to the selected specific groups.
[0032] As an optional implementation method, a crowd selection task sent by the business end can be received. Specifically, an APP or mini program specifically used for crowd selection can be written in advance for use by business personnel. When crowd selection is required, business personnel can enter relevant information of the crowd selection task through the relevant page in the APP or mini program, such as task type, task plan deadline, screening time period, screening conditions, etc., and submit the crowd selection task, and the server obtains the crowd selection task sent by the business end.
[0033] S202: Analyze the crowd selection task and obtain task description information.
[0034] After obtaining the crowd selection task, the crowd selection task is parsed to obtain task description information of the crowd selection task, wherein the task description information may include but is not limited to task type, task plan deadline, screening time period, screening conditions, and data sources involved.
[0035] S203: According to the task description information and the pre-configured task priority rules, the crowd-selected tasks are written into the target task queue of the corresponding priority.
[0036] Specifically, the service end can pre-configure a plurality of task queues of different priorities, for example, a high priority queue, a medium priority queue and a low priority queue, etc., and of course, other priority division modes can also be used, and the present embodiment does not limit this. After obtaining the task description information of the crowd's selected task, the task description information and the pre-configured task priority rule are matched to determine the priority information of the crowd's selected task, and based on the priority information of the crowd's selected task, the crowd's selected task is written to the target task queue of the corresponding priority to complete the sorting of similar tasks. Wherein, the target task queue is one of the task queues of a plurality of different priorities, and each task queue can be realized using a tree or a skip list ordered structure to ensure the writing and ejection speed of the crowd's selected task. The above-mentioned task priority rule comprises the corresponding relationship between the task description information and the task priority information. For example, the corresponding relationship between the task type, the task plan deadline and the priority information.
[0037] Exemplarily, the priority information of the crowd selection task can be determined in combination with the task type, task schedule deadline, and pre-configured task priority rules of the crowd selection task. For example, for daily calculations and crowd selection tasks that are not close to the task schedule deadline, they are classified as low priority. For crowd selection tasks related to holidays or advance notice activities, they are classified as medium priority. For occasional emergency crowd selection tasks, they are classified as high priority (such as data supplementary calculation tasks or emergency queue-jumping tasks, etc.).
[0038] S204: When there are idle executors in the executor cluster, the first target population selection task is performed by the idle executors.
[0039] The first target population selection task is obtained from a plurality of task queues of different priorities based on a specified task selection rule.
[0040] The idle executor can be understood as a thread or process that is not currently executing a task, that is, an executor in an idle state. Specifically, the running state of the executor cluster can be monitored. When the idle executor is detected in the executor cluster, the first target population selection task can be obtained from multiple task queues with different priorities based on the specified task selection rules, and the first target population selection task can be executed through the idle executor.
[0041] Furthermore, a crowd selection result of the first target crowd selection task is obtained, and a corresponding push task is executed based on the crowd selection result.
[0042] Optionally, the process of acquiring the first target population selected task may include: acquiring respective head tasks from a plurality of task queues of different priorities; and selecting a head task with the nearest task schedule deadline from all the head tasks as the first target population selected task.
[0043] The head task refers to the first task in the task queue. After obtaining the head tasks of each task queue, the task schedule deadlines of all head tasks are compared. The head task with the closest task schedule deadline is considered to be the most urgent / important crowd selection task. Therefore, the head task with the closest task schedule deadline can be selected as the first target crowd selection task to be executed by the idle executor. In this way, the most urgent / important crowd selection task can be executed first to meet specific crowd selection needs.
[0044] The technical solution provided in the embodiment of the present application parses the crowd selection task to obtain task description information, and writes the crowd selection task to the target task queue of the corresponding priority according to the task description information and the pre-configured task priority rules. When there are idle executors in the executor cluster, the first target crowd selection task is obtained from the task queues of multiple different priorities based on the specified task selection rules, and the first target crowd selection task is executed by the idle executor. That is, in the embodiment of the present application, the crowd selection task can be scheduled based on priority, ensuring that computing resources can be allocated to the most important / urgent tasks, reducing the waste of resources on low-priority tasks, improving resource utilization efficiency, and improving the response speed of the most important / urgent crowd selection tasks.
[0045] In one embodiment, optionally, after obtaining the crowd selection task, the task submission time of the crowd selection task can also be obtained, and based on the task submission time and the screening condition information of the crowd selection task, the data screening start time is determined, and the crowd selection task is split into a first subtask and a second subtask. The data screening period of the first subtask is the time range between the data screening start time and the task submission time, and the data screening period of the second subtask is the time range between the task submission time and the task scheduling time. The task scheduling time can be obtained based on empirical estimation or automatically obtained when the task is scheduled.
[0046] Furthermore, the first subtask and the second subtask can be written into the target task queue of the corresponding priority in combination with the task description information of the crowd selection task and the preconfigured task priority rules. When there are idle executors in the executor cluster, the first subtask and the second subtask can be taken out from the task queues of different priorities, and the first subtask and the second subtask can be executed by the idle executors, and the execution results of the first subtask and the second subtask can be obtained, and the execution results of the first subtask and the second subtask can be merged to obtain the final crowd selection result of the crowd selection task.
[0047] Exemplarily, assuming that the acquired crowd selection task is "screening users who have specified interactive behaviors under a certain AB test group in the past 21 days", the crowd selection task can be split into two subtasks, one of which is the data screening task of [T-21 day, T day], and the other subtask is the data screening task of [T day, task scheduling time]. Among them, T day can be understood as the task submission time of the crowd selection task. Combined with the task description information of the crowd selection task, the two subtasks are written to the task queue of the corresponding priority. If there are two concurrent idle executors in the executor cluster, the two subtasks can be taken out from the task queues of different priorities and executed by the idle executor. Furthermore, the execution results of the two subtasks are obtained, and the obtained execution results are merged to obtain the final crowd selection result of the above-mentioned crowd selection task.
[0048] By expanding the data screening time range of the crowd selection task and reducing the data omissions between the task submission time and the task scheduling time, the comprehensiveness of data processing is ensured, which helps to capture more relevant data and thus improves the accuracy of the crowd selection results.
[0049] In some embodiments, the server may include a task management end and an executor cluster. The task management end is used for parsing and disassembling crowd selection tasks, pushing / popping task queues, load sensing of the executor cluster, and scheduling and distributing crowd selection tasks. The executor cluster is used to execute crowd selection tasks. Figure 3 and Figure 4 As shown, the method may include:
[0050] S301, the task management end receives the crowd selection task sent by the business end.
[0051] S302: The task management terminal analyzes the task selected by the crowd and obtains task description information.
[0052] S303: The task management terminal writes the crowd-selected task into the target task queue of the corresponding priority according to the task description information and the pre-configured task priority rules.
[0053] S304: When the task management terminal senses that there are idle executors in the executor cluster, it obtains the first target population selected task from multiple task queues with different priorities based on the specified task selection rule.
[0054] S305: The task management end distributes the first target population selection task to the idle executors, so that the idle executors execute the target population selection task.
[0055] Specifically, the task management end actively senses the idle state of the executor cluster. When sensing the existence of idle executors in the executor cluster, it obtains the first target population selection task from multiple task queues of different priorities based on the specified task selection rules, and distributes the first target population selection task to the idle executors, which execute the first target population selection task.
[0056] Optionally, the task management end can also combine the target number of idle executors, obtain a target number of first target population selection tasks from multiple task queues of different priorities based on specified task selection rules, and distribute the target number of first target population selection tasks to the corresponding idle executors, so that the target number of first target population selection tasks are executed by the idle executors. Specifically, the process of obtaining a target number of first target population selection tasks from multiple task queues of different priorities based on specified task selection rules may include: obtaining respective head tasks from multiple task queues of different priorities, selecting the head task with the closest task schedule deadline from all head tasks as a first target population selection task, and continuing to execute the step of obtaining respective head tasks from multiple task queues of different priorities until the target number of first target population selection tasks are obtained.
[0057] In this embodiment, the idleness of the executor cluster is uniformly monitored by the task management end, so that the resources of the entire executor cluster can be better managed and allocated to ensure efficient use of resources; and scheduling is performed based on the priority of the crowd selection task to ensure that high-priority tasks are executed first, thereby improving resource utilization efficiency and the response speed of the most important / urgent crowd selection tasks.
[0058] In an optional implementation, the unified monitoring and scheduling function of the executor cluster in the task management end (referred to as the task scheduler) can be moved down to the executor level, that is, each executor in the executor cluster has a built-in task scheduler. For this situation, Figure 5 and Figure 6 As shown, the method may include:
[0059] S501: The task management end receives a crowd selection task sent by the business end.
[0060] S502: The task management terminal analyzes the task selected by the crowd and obtains task description information.
[0061] S503: The task management terminal writes the crowd-selected task into a target task queue of corresponding priority according to the task description information and pre-configured task priority rules.
[0062] S504. For each executor in the executor cluster, when the executor senses that it is idle, the executor pulls the first target population selection task from multiple task queues with different priorities based on a specified task selection rule, and executes the first target population selection task.
[0063] That is, the executor is responsible for sensing its own idle state. When the executor senses that it is idle, it can pull the first target population selection task from multiple task queues of different priorities based on the specified task selection rules, and execute the pulled first target population selection task.
[0064] This approach can reduce centralized scheduling costs (such as no need for centralized load reporting and perception, centralized task distribution, and executor keep-alive detection) and network bandwidth costs. In addition, the distributed scheduling mechanism allows multiple executors to process tasks in parallel, and each executor can manage and execute tasks independently, reducing task allocation waiting time and improving the overall execution throughput of the system.
[0065] In practical applications, the crowd selection task needs to provide a result data set in a short time. In order to improve the response speed of the crowd selection task and quickly provide the crowd selection result, based on the above embodiment, optionally, the process of obtaining the crowd selection task may include: obtaining historical crowd selection task data within a specified time period at night on the same day; predicting the historical crowd selection tasks that may be scheduled within a future period after the specified time period on the same day based on the time series prediction algorithm and the historical crowd selection task data; generating a second target crowd selection task to be executed within the specified time period based on the task information of the historical crowd selection task, so as to reuse the crowd selection result of the second target crowd selection task after the associated crowd selection task of the second target crowd selection task arrives within the future period.
[0066] Specifically, considering that the computing power of the executor cluster is relatively idle at night, the historical population selection task data can be scanned during a specified time period at night (for example, early morning of the same day), and the historical population selection task data can be processed based on a time series prediction algorithm to obtain the probability that each historical population selection task may be scheduled in a future period of time after the specified time period of the same day (for example, daytime of the same day), and the historical population selection task with a probability greater than or equal to a preset threshold is determined as the historical population selection task that is finally selected. These historical population selection tasks that are finally selected are more likely to be scheduled in a future period of time after the specified time period of the same day. Therefore, a second target population selection task to be executed can be generated based on the task information of the historical population selection task that is finally selected, and the second target population selection task can be written into the target task queue of the corresponding priority.
[0067] Since the computing power of the executor is relatively idle during the specified time period at night, the executor immediately pulls the second target population selection task, executes the second target population selection task, obtains the population selection result, and stores the population selection result in a cache cluster or a dedicated column database.
[0068] When the associated population selection task of the second target population selection task arrives in the future, the associated population selection task can be split according to the specified time period on the timeline. Since the population selection results before the specified time period have been obtained in advance, it is only necessary to resubmit a new task for the incremental part between the specified time period and the task submission time for instant calculation. Finally, the two parts of the population selection results are merged to obtain the final population selection result of the associated population selection task.
[0069] For example, assuming that in the early morning of the same day, the historical crowd selection task that may be performed during the daytime of the same day is predicted by the time series prediction algorithm as "screening users with specified interactive behaviors under a certain AB test group in the past 21 days", the data screening period of the historical crowd selection task is modified in combination with the current time information, and the remaining task information remains unchanged, and the second target crowd selection task with a data screening period of [T-21st early morning, T day early morning] is obtained (here T day can be understood as the same day), and the executor executes the second target crowd selection task in the early morning of the same day, and caches the obtained crowd selection results. During the daytime of the same day, if the crowd selection task "screening users with specified interactive behaviors under a certain AB test group in the past 21 days" provided by the business end is received, the crowd selection results of the above-mentioned second target crowd selection task can be directly reused, and only the part between the early morning of the same day and the task submission time can be resubmitted for instant calculation, so that the final crowd selection results of the crowd selection task "screening users with specified interactive behaviors under a certain AB test group in the past 21 days" received during the daytime of the same day can be quickly obtained.
[0070] A large amount of data experiments show that Figure 7 As shown, the embodiment of the present application predicts the crowd selection task that may be executed during the day at night, pre-calculates the crowd selection task and stores the pre-calculation result, and only calculates the incremental part after the crowd selection task arrives during the day. Compared with the cost consumed by directly calculating the crowd selection task during the day in the traditional way, the cost of the technical solution provided by the embodiment of the present application is lower than the high computing power and time cost of the traditional technical solution during the day.
[0071] In this embodiment, by predicting the crowd selection task that may be executed during the daytime at night, pre-executing the crowd selection task at night and storing the pre-calculated results, if the crowd selection task is received during the daytime, the stored pre-calculated results can be reused, and only the incremental part without data can be submitted for real-time calculation, thereby reducing the data scale of the crowd selection task, thereby reducing the task execution time, and further improving the response speed of the crowd selection task.
[0072] Figure 8 A schematic diagram of the structure of a crowd selection device provided in an embodiment of the present application. Figure 8 As shown, the device may include: a task acquisition module 801, a task parsing module 802, a task writing module 803 and a task execution module 804.
[0073] Specifically, the task acquisition module 801 is used to acquire a crowd selection task;
[0074] The task analysis module 802 is used to analyze the crowd selection task and obtain task description information;
[0075] The task writing module 803 is used to write the crowd-selected task into a target task queue of a corresponding priority according to the task description information and the pre-configured task priority rule; wherein the target task queue is one of a plurality of task queues of different priorities;
[0076] The task execution module 804 is used to execute the first target population selection task through an idle executor when there is an idle executor in the executor cluster; wherein the first target population selection task is obtained from the multiple task queues of different priorities based on a specified task selection rule.
[0077] Based on the above embodiment, optionally, the task execution module 804 is specifically used to obtain the first target population selection task from the multiple task queues with different priorities based on the specified task selection rule when sensing the existence of idle executors in the executor cluster; and distribute the first target population selection task to the idle executor so that the idle executor executes the target population selection task.
[0078] On the basis of the above embodiment, optionally, the task execution module 804 is also integrated in each executor of the executor cluster. Specifically: for each executor in the executor cluster, when the executor senses that it is idle, the executor pulls the first target population selection task from the multiple task queues of different priorities based on the specified task selection rules, and executes the first target population selection task.
[0079] Based on the above embodiment, optionally, the task acquisition module 801 is also used to obtain respective head tasks from multiple task queues with different priorities; and select the head task with the nearest task deadline from all the head tasks as the first target population selection task.
[0080] On the basis of the above embodiment, optionally, the above task acquisition module 801 is also used to receive a crowd selection task sent by a business end.
[0081] On the basis of the above embodiment, optionally, the above task acquisition module 801 is also used to obtain historical crowd selection task data within a specified time period at night on the same day; predict the historical crowd selection tasks that may be scheduled in a future period after the specified time period on the same day based on the time series prediction algorithm and the historical crowd selection task data; generate a second target crowd selection task to be executed in the specified time period based on the task information of the historical crowd selection task, so as to reuse the crowd selection result of the second target crowd selection task after the associated crowd selection task of the second target crowd selection task arrives in the future period.
[0082] Fig. 9 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application, such as Fig. 9 As shown, the device includes a processor 90, a memory 91, an input device 92 and an output device 93; the number of processors 90 in the device can be one or more. Fig. 9 A processor 90 is taken as an example; the processor 90, memory 91, input device 92 and output device 93 in the device can be connected by a bus or other means. Fig. 9 The example of connecting through bus is taken in the following.
[0083] The memory 91, as a computer-readable storage medium, can be used to store software programs, computer executable programs and modules, such as program instructions / modules corresponding to the crowd selection method in the embodiments of the present application (for example, the task acquisition module 801, the task parsing module 802, the task writing module 803 and the task execution module 804 in the crowd selection device). The processor 90 executes various functional applications and data processing of the device by running the software programs, instructions and modules stored in the memory 91, that is, implements the crowd selection method provided in any of the above embodiments.
[0084] The memory 91 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system and at least one application required for a function; the data storage area may store data created during the crowd selection process, etc. In addition, the memory 91 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device. In some instances, the memory 91 may further include a memory remotely arranged relative to the processor 90, and these remote memories may be connected to the device / terminal / server via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0085] The input device 92 may be used to receive input digital or character information and generate key signal input related to user settings and function control of the electronic device. The output device 93 may include a display device such as a display screen.
[0086] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:
[0087] Get the crowd selection task;
[0088] Analyze the crowd selection task to obtain task description information;
[0089] According to the task description information and the pre-configured task priority rules, the crowd-selected task is written into a target task queue of a corresponding priority; wherein the target task queue is one of a plurality of task queues of different priorities;
[0090] When there are idle executors in the executor cluster, the first target population selection task is executed by the idle executors; wherein the first target population selection task is obtained from the multiple task queues of different priorities based on a specified task selection rule.
[0091] In one embodiment, a computer program product is further provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:
[0092] Get the crowd selection task;
[0093] Analyze the crowd selection task to obtain task description information;
[0094] According to the task description information and the pre-configured task priority rules, the crowd-selected task is written into a target task queue of a corresponding priority; wherein the target task queue is one of a plurality of task queues of different priorities;
[0095] When there are idle executors in the executor cluster, the first target population selection task is executed by the idle executors; wherein the first target population selection task is obtained from the multiple task queues of different priorities based on a specified task selection rule.
[0096] The crowd selection device, electronic device, computer-readable storage medium, and computer program product provided in the above embodiments can execute the crowd selection method provided in any embodiment of the present application, and have the corresponding functional modules and beneficial effects of executing the method. For technical details not described in detail in the above embodiments, please refer to the crowd selection method provided in any embodiment of the present application.
[0097] Through the above description of the implementation method, the technicians in the relevant field can clearly understand that the present application can be implemented with the help of software and necessary general hardware, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as a computer floppy disk, read-only memory (ROM), random access memory (RAM), flash memory (FLASH), hard disk or optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, server, or network device, etc.) to execute the methods of each embodiment of the present application.
[0098] It is worth noting that the various units and modules included in the above embodiments are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be achieved; in addition, the specific names of the functional units are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application.
[0099] Note that the above are only preferred embodiments of the present application and the technical principles used. Those skilled in the art will understand that the present application is not limited to the specific embodiments herein, and that various obvious changes, readjustments and substitutions can be made by those skilled in the art without departing from the scope of protection of the present application. Therefore, although the present application is described in more detail through the above embodiments, the present application is not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of the present application, and the scope of the present application is determined by the scope of the appended claims.
Claims
1. A method for selecting a group of people, characterized in that: include: Get the crowd selection task; Analyze the crowd selection task to obtain task description information; According to the task description information and the pre-configured task priority rules, the crowd-selected task is written into a target task queue of a corresponding priority; wherein the target task queue is one of a plurality of task queues of different priorities; When there are idle executors in the executor cluster, the first target population selection task is executed by the idle executors; wherein the first target population selection task is obtained from the multiple task queues of different priorities based on a specified task selection rule.
2. The method according to claim 1, characterized in that When there are idle executors in the executor cluster, the first target population selection task is performed by the idle executors, including: When it is sensed that there are idle executors in the executor cluster, the first target group selected tasks are obtained from the multiple task queues with different priorities based on the specified task selection rule; The first target population selection task is distributed to the idle executors, so that the idle executors perform the target population selection task.
3. The method according to claim 1, characterized in that: When there are idle executors in the executor cluster, the first target population selection task is performed by the idle executors, including: For each executor in the executor cluster, when the executor senses that it is idle, the executor pulls the first target population selection task from the multiple task queues with different priorities based on the specified task selection rule, and executes the first target population selection task.
4. The method according to any one of claims 1 to 3, characterized in that The process of obtaining the first target population selection task includes: Get the respective head tasks from multiple task queues of different priorities; Select the top task with the closest task schedule deadline from all the top tasks as the first target population selection task.
5. The method according to any one of claims 1 to 3, characterized in that The task of obtaining a crowd selection includes: Receive the crowd selection task sent by the business end.
6. The method according to any one of claims 1 to 3, characterized in that The task of obtaining a crowd selection includes: Obtain historical crowd selection task data within a specified time period at night; According to the time series prediction algorithm and the historical crowd selection task data, predict the historical crowd selection tasks that may be scheduled in the future period after the specified time period on the day; A second target population selection task to be executed within the specified time period is generated based on the task information of the historical population selection task, so that the population selection result of the second target population selection task can be reused after the associated population selection task of the second target population selection task arrives within the future period of time.
7. A crowd selection device, characterized in that: include: Task acquisition module, used to obtain crowd selection tasks; A task parsing module, used to parse the crowd selection task and obtain task description information; A task writing module, used for writing the crowd-selected task into a target task queue of a corresponding priority according to the task description information and a pre-configured task priority rule; wherein the target task queue is one of a plurality of task queues of different priorities; A task execution module is used to execute a first target population selection task through an idle executor when there is an idle executor in the executor cluster; wherein the first target population selection task is obtained from the multiple task queues of different priorities based on a specified task selection rule.
8. An electronic device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.
10. A computer program product having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.