A method and system for distribution of to-do messages
By initializing weight values for members of pending events and randomly filtering them based on their online/offline status, the problems of low processing efficiency and untimely processing caused by offline members are solved, achieving efficient and balanced distribution of pending events.
Patent Information
- Application Number
- CN202211518189.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-29
- Publication Date
- 2026-02-24
- Estimated Expiration
- 2042-11-29
AI Technical Summary
In existing technologies, the processing efficiency of pending events is low, with problems of duplicate processing and untimely processing, and offline members cause messages to be unable to be processed in a timely manner.
By initializing the preset weight values of the candidates for tasks, calculating the weights based on their online/offline status, using a random algorithm to filter target members, and distributing the task event messages to multiple target members, we ensure that online members are processed first.
It improves the efficiency of handling pending events, reduces the loss of pending events, avoids untimely processing caused by offline members, and enables multiple people to process in parallel without duplication and wasting time.
Smart Images

Figure CN115883504B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data distribution technology, and more specifically, to a method and system for distributing pending event messages. Background Technology
[0002] The current event-based task management system allows everyone to see all pending events. Task handlers retrieve matching events by inputting search criteria, and multiple individuals compete to process them. However, this method is inefficient and prone to multiple individuals handling the same event repeatedly. Furthermore, it leads to staff passing the buck, delaying tasks, and hindering efficient and accurate task processing. To improve efficiency, the system could be adjusted so that each account member can only see and process tasks assigned to them. Therefore, selecting a specified number of matching members from all groups becomes a crucial step in event-based task management. A fairer, more random, and more customer-relevant selection process is therefore essential.
[0003] In existing technologies, by retrieving the corresponding message recipient from a preset message template based on the content of the to-do message, the appropriate personnel can be accurately located to handle the message, avoiding situations where personnel cannot be found or where personnel need to manually input search criteria to find the message. However, offline members may cause the to-do to be unprocessed in a timely manner: after retrieving the message recipient from the preset message template and pushing the message to that recipient, if the recipient is offline, the pushed message may still not be processed promptly and effectively. Furthermore, since the message recipient in the preset message template is specified as one person, each to-do message can only be processed by one person, significantly reducing processing efficiency, i.e., there is a problem of slow processing efficiency for to-do messages. Summary of the Invention
[0004] The purpose of this application is to provide a method, system, electronic device, and computer-readable storage medium for distributing to-do event messages, which can improve the technical effect of processing to-do messages.
[0005] In a first aspect, embodiments of this application provide a method for distributing pending event messages, including:
[0006] Obtain data on the pending task group and the number of people receiving parallel tasks;
[0007] The data of the to-do member group is queried according to the preset account type to obtain multiple candidate to-do members;
[0008] The weights of the multiple candidate members are initialized to preset weight values;
[0009] The multiple candidate members are processed according to the preset weight calculation conditions and their online / offline status to obtain member weight data.
[0010] Based on the member weight data, multiple target members are obtained by random filtering, wherein the number of parallel distribution number data corresponds to the number of multiple target members;
[0011] Distribute the pending event message to the multiple target members.
[0012] In the above implementation process, the method for distributing pending event messages initializes multiple candidate members with preset weight values, processes these members based on preset weight calculation conditions and their online / offline status to obtain member weight data, and relies on a weight algorithm to randomly select multiple candidate members, thereby increasing the balance of message distribution. Thus, this method considers the online / offline status of members, reduces the loss of pending events, prioritizes distribution to online members, eliminates the need to filter from a large number of pending events for processing, and avoids assigning pending events to only one offline member, which could lead to untimely processing. This results in higher efficiency in processing pending events. Therefore, this method can achieve the technical effect of improving the efficiency of pending message processing.
[0013] Furthermore, prior to the steps of acquiring the pending member group data and the parallel distribution number data, the method further includes:
[0014] The event analysis rules are matched with the pending event messages.
[0015] Furthermore, the steps of obtaining the pending member group data and the parallel distribution number data include:
[0016] Based on the event analysis rules, obtain the data of the pending member group and the number of people to be distributed in parallel.
[0017] In the above implementation process, after matching the event judgment rule data, the specific judgment member group and the number of people to be distributed in parallel are obtained according to the detailed content in the event judgment rule data, that is, the data of the pending member group and the number of people to be distributed in parallel are obtained.
[0018] Further, the step of processing the multiple candidate members according to preset weight calculation conditions and their online / offline status to obtain member weight data includes:
[0019] Obtain the online / offline status of the multiple candidate members;
[0020] Iterate through the multiple candidate members and perform the following processing on each candidate member:
[0021] Based on the online / offline status, determine whether the candidate member is offline. If so, clear the weight of the candidate member.
[0022] The pending members are processed according to the preset weight calculation conditions to obtain member weight data.
[0023] In the above implementation process, the online / offline status of the candidate members is used to determine whether they are offline. If they are offline, the weight of the candidate members is cleared to avoid distributing the event message to offline members. In addition, the candidate members are processed according to the preset weight calculation conditions to obtain member weight data, which can be flexibly adjusted to achieve distribution according to the specific needs of users.
[0024] Furthermore, the step of randomly filtering based on the member weight data to obtain multiple target members includes:
[0025] Based on the member weight data, the multiple candidate members are divided into multiple weighted member sets;
[0026] The multiple weighted member sets are processed cyclically a preset number of times, wherein the preset number of times corresponds to the number of people in the parallel distribution data:
[0027] Randomly select from the multiple weight member sets based on random numbers to obtain a candidate weight member set;
[0028] Based on the set of candidate weighted members, a target member is obtained by random screening, and the target member is then removed from the set of candidate weighted members.
[0029] After the loop processing is completed, multiple target members are obtained.
[0030] In the above implementation process, the first layer randomly selects multiple weight member sets based on random numbers, and the second layer randomly filters based on the candidate weight member set. Thus, two layers of random algorithms are used for filtering, making the distribution process more balanced and random.
[0031] Furthermore, the step of distributing the pending event message to the multiple target members includes:
[0032] The pending event message is copied into multiple pending event messages, and the number of the multiple pending event messages corresponds to the number of the multiple target members;
[0033] The multiple pending event messages are distributed to the multiple target members one by one.
[0034] In the above implementation process, the pending event message is copied according to the number of multiple target members, thereby distributing multiple pending event messages to multiple target members one by one.
[0035] Secondly, embodiments of this application provide a distribution system for pending event messages, including:
[0036] The acquisition module is used to acquire data on the pending member group and the number of people to be distributed in parallel.
[0037] The query module is used to query the data of the to-do member group according to the preset account type to obtain multiple candidate to-do members;
[0038] An initialization module is used to initialize the weights of the multiple candidate members to preset weight values;
[0039] The weighting processing module is used to process the multiple candidate members according to preset weighting calculation conditions and their online / offline status to obtain member weight data.
[0040] The filtering module is used to randomly filter based on the member weight data to obtain multiple target members, wherein the number of parallel distributed number data corresponds to the number of multiple target members;
[0041] The distribution module is used to distribute pending event messages to the multiple target members.
[0042] Furthermore, the system for distributing pending event messages also includes:
[0043] The analysis rules module is used to match event analysis rule data based on the pending event messages.
[0044] Furthermore, the acquisition module is specifically used to: acquire the pending member group data and the number of people to be distributed in parallel based on the event judgment rule data.
[0045] Furthermore, the weight processing module is specifically used for:
[0046] Obtain the online / offline status of the multiple candidate members;
[0047] Iterate through the multiple candidate members and perform the following processing on each candidate member:
[0048] Based on the online / offline status, determine whether the candidate member is offline. If so, clear the weight of the candidate member.
[0049] The pending members are processed according to the preset weight calculation conditions to obtain member weight data.
[0050] Furthermore, the filtering module is specifically used for:
[0051] Based on the member weight data, the multiple candidate members are divided into multiple weighted member sets;
[0052] The multiple weighted member sets are processed cyclically a preset number of times, wherein the preset number of times corresponds to the number of people in the parallel distribution data:
[0053] Randomly select from the multiple weight member sets based on random numbers to obtain a candidate weight member set;
[0054] Based on the set of candidate weighted members, a target member is obtained by random screening, and the target member is then removed from the set of candidate weighted members.
[0055] After the loop processing is completed, multiple target members are obtained.
[0056] Furthermore, the distribution module is specifically used for:
[0057] The pending event message is copied into multiple pending event messages, and the number of the multiple pending event messages corresponds to the number of the multiple target members;
[0058] The multiple pending event messages are distributed to the multiple target members one by one.
[0059] Thirdly, an electronic device provided in this application includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the method as described in any of the first aspects.
[0060] Fourthly, embodiments of this application provide a computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform the method described in any of the first aspects.
[0061] Fifthly, embodiments of this application provide a computer program product that, when run on a computer, causes the computer to perform the method described in any of the first aspects.
[0062] Other features and advantages disclosed in this application will be set forth in the following description, or some features and advantages may be inferred from the description or determined without doubt, or may be learned by practicing the above-described technology disclosed in this application.
[0063] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0064] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0065] Figure 1 A flowchart illustrating a method for distributing pending event messages provided in an embodiment of this application;
[0066] Figure 2 A flowchart illustrating another method for distributing pending event messages provided in an embodiment of this application;
[0067] Figure 3 A schematic diagram of the structure of the to-do event message distribution system provided in the embodiments of this application;
[0068] Figure 4 This is a structural block diagram of an electronic device provided in an embodiment of this application. Detailed Implementation
[0069] The technical solutions in the embodiments of this application will now be described with reference to the accompanying drawings.
[0070] It should be noted that similar reference numerals and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. Furthermore, in the description of this application, terms such as "first," "second," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0071] This application provides a method, system, electronic device, and computer-readable storage medium for distributing pending event messages, which can be applied to the distribution process of pending event messages. The method initializes multiple candidate members with preset weight values, processes these members based on preset weight calculation conditions and their online / offline status to obtain member weight data, and relies on a weight algorithm to randomly select multiple candidate members, thereby increasing the balance of message distribution. Therefore, this method considers the online / offline status of members, reducing the loss of pending events, prioritizing distribution to online members, eliminating the need to filter from a large number of pending events for processing, and preventing the allocation of pending events to only one offline member, thus avoiding untimely processing. This results in higher efficiency in processing pending events. Therefore, this method can achieve the technical effect of improving the efficiency of pending event processing.
[0072] Please see Figure 1 , Figure 1 The flowchart illustrates a method for distributing pending event messages according to an embodiment of this application. The method includes the following steps:
[0073] S100: Obtain data on the pending member group and the number of people to be distributed in parallel.
[0074] For example, firstly, based on the received pending event message, the attribute "judgment strategy" in the pending event message is obtained; then, based on the fields of the judgment strategy, the specific judgment strategy details are viewed, and the member group and the number of people to be distributed in parallel are obtained from the details, thereby obtaining the pending member group data and the number of people to be distributed in parallel data.
[0075] For example, the parallel distribution number data represents the number of people to be distributed when a pending event message is distributed; the pending member group data is the member group that meets the conditions and can distribute the pending event message.
[0076] S200: Query the data of the pending member group based on the preset account type to obtain multiple candidate pending members.
[0077] For example, query members of all account types based on the member group identity document (ID) of the pending member group data.
[0078] S300: Initialize the weights of multiple candidate members to the preset weight values.
[0079] S400: Process multiple candidate members based on preset weight calculation conditions and their online / offline status to obtain member weight data.
[0080] For example, multiple candidate members are processed according to preset weight calculation conditions and the online / offline status of multiple candidate members. Thus, the online / offline status of members is taken into account, the loss of to-do events is reduced, and to-do event messages are distributed to online members first. After a member goes offline, no more to-do events will be distributed to him, and he still has to complete the existing to-dos. This also reduces the situation where to-dos are left unattended.
[0081] S500: Randomly selects multiple target members based on member weight data, where the number of people distributed in parallel corresponds to the number of multiple target members;
[0082] S600: Distribute pending event messages to multiple target members.
[0083] For example, this method for distributing to-do event messages initializes multiple candidate members with preset weight values, processes these members based on preset weight calculation conditions and their online / offline status to obtain member weight data, and relies on a weight algorithm to randomly select multiple candidate members, thereby increasing the balance of message distribution. Thus, this method considers the online / offline status of members, reduces the loss of to-do events, prioritizes distribution to online members, eliminates the need to filter from a large number of to-do events for processing, and avoids assigning to-do events to only one offline member, preventing untimely processing. This results in higher efficiency in processing to-do events. Therefore, this method for distributing to-do event messages can achieve the technical effect of improving the efficiency of to-do message processing.
[0084] Please see Figure 2 , Figure 2 This is a flowchart illustrating another method for distributing pending event messages provided in an embodiment of this application.
[0085] For example, prior to step S100: obtaining the to-do member group data and the parallel distribution number data, the method further includes:
[0086] S101: Match event analysis rule data based on pending event messages.
[0087] For example, S100: The step of obtaining the pending member group data and the number of people to be distributed in parallel includes:
[0088] S110: Obtain the data of the pending member group and the number of people to be distributed in parallel based on the event analysis rules.
[0089] For example, after matching the event judgment rule data, the specific judgment member group and the number of people to be distributed in parallel are obtained based on the detailed content in the event judgment rule data, that is, the data of the pending member group and the number of people to be distributed in parallel are obtained.
[0090] For example, S400: The step of processing multiple candidate members according to preset weight calculation conditions and the online / offline status of multiple candidate members to obtain member weight data includes:
[0091] S410: Get the online / offline status of multiple candidate members;
[0092] S420: Traverse multiple candidate members and perform the following processing on the traversed candidate members: Determine whether the candidate member is offline based on its online / offline status. If so, clear the weight of the candidate member.
[0093] S430: Process the members to be processed according to the preset weight calculation conditions to obtain member weight data.
[0094] For example, the online / offline status of the candidate members is used to determine their status. If they are offline, their weight is cleared to avoid distributing the event message to offline members. In addition, the candidate members are processed according to preset weight calculation conditions to obtain member weight data, which can be flexibly adjusted to distribute the event message according to the user's specific needs.
[0095] For example, S500: The step of randomly filtering based on member weight data to obtain multiple target members includes:
[0096] S510: Divide multiple candidate members into multiple weighted member sets based on member weight data;
[0097] S520: Perform a preset number of loops on multiple weighted member sets, where the preset number of loops corresponds to the number of people distributed in parallel: randomly select from multiple weighted member sets based on random numbers to obtain a candidate weighted member set; randomly filter from the candidate weighted member set to obtain a target member, and delete the target member from the candidate weighted member set;
[0098] S530: After the loop processing is completed, multiple target members are obtained.
[0099] For example, the first layer randomly selects from multiple weighted member sets based on random numbers, and the second layer randomly filters from the candidate weighted member set. Thus, two layers of random algorithms are used for filtering, making the distribution process more balanced and random.
[0100] For example, S600: The step of distributing a to-do event message to multiple target members includes:
[0101] S610: Copy the pending event message into multiple pending event messages, with the number of multiple pending event messages corresponding to the number of multiple target members;
[0102] S620: Distribute multiple to-do messages to multiple target members.
[0103] For example, the to-do event message is copied according to the number of multiple target members, thereby distributing multiple to-do event messages to multiple target members one by one.
[0104] For example, the method for distributing pending event messages provided in this application distributes pending event messages directly to individuals (members), eliminating the need for competition. Furthermore, this method focuses on application in pending event scenarios, where the proposed distribution process is independent of the business scenario and is applicable in any business scenario where pending events are distributed to designated personnel, thus avoiding the problem of limited application scenarios due to attached judgment rules to business data.
[0105] In some implementations, this application provides a weighted method for distributing pending events. By analyzing the pending event handlers and the number of concurrent dispatchers in the strategy, as well as the online / offline status of members, the pending events are copied and distributed to designated handlers to solve the problems of untimely and inefficient processing of pending events. A specific example of the pending event message distribution method provided in this application is as follows:
[0106] (1) Obtain the pending member group and the number of people to be dispatched in parallel:
[0107] Based on the received pending events, obtain the attribute: judgment strategy, and then view the specific judgment strategy details based on this field to obtain the member group and the number of people to be distributed in parallel.
[0108] (2) Obtain the online / offline status of account members and filter out members who meet the criteria for pending tasks;
[0109] Initialize three weight values: 40, 60, and 100. Query all members of all account types based on the member group ID, and set the weight of all members to 100 by default.
[0110] Iterate through all members, recalculating and resetting the weight of each member based on conditions. For example: if a member is offline, reset the weight to the minimum value of 0; if a member is currently analyzing other events, reduce the weight by 50 (minimum reduction to 0, cannot be negative), etc. After recalculating the weights, assign each member to a weight range, then calculate the weighted average of the weight values: (0, 0.4], (0.4, 0.6], (0.6, 1]. Then, randomly select a number between 0 and 1 and see which weight range it falls into. Randomly select a member from the set of members within that range; this is our target assignment recipient. Add this member to the target assignment recipient set and remove the member from the weight range. Repeat this process until the number of target assignment recipients equals the number of parallel assignment recipients. (If the number of account-type members in the member group is less than the number of parallel assignment recipients, then all account-type members are considered target assignment recipients, and the above operation is not performed).
[0111] (3) Make multiple copies of the to-do item and distribute them to the designated members:
[0112] Based on the number n of the target distributor set obtained in step (2), the to-do event is copied into n copies. The handler of the to-do event corresponds to each target distributor. The copied to-do events are stored in the database and pushed to the specific to-do event handler via message.
[0113] After the above three steps, different accounts can only see their own to-do items. In principle, all of these to-do items need to be processed. However, in order to improve processing efficiency, some to-do items can also be seen by others. When someone else processes this to-do item first, this account will see the prompt message "xxx is processing". This will not cause duplicate processing. At the same time, multiple people processing in parallel also improves processing efficiency.
[0114] In some implementation scenarios, this application can be applied to the design of handling pending events for website monitoring. For example, this example is based on the cloud service sequence control system (SCS) product for website monitoring business. After an event is generated, members need to make a judgment and distribute pending events according to weight and agent online / offline status, thereby improving the efficiency of handling pending events.
[0115] Alternatively, following the method described in detail in this application, the specific process steps are as follows:
[0116] Step 1. Configure event analysis rules, specify the specific analysis member group and the number of people to be distributed in parallel, for example, 5; the website monitoring module issues the task; an event is generated and matched with the event analysis rules;
[0117] Step 2. The to-do item is entered into the to-do service module;
[0118] Step 3. Obtain the detailed content of the matching event analysis rules, and get the specific analysis member group and the number of people to be distributed in parallel (5);
[0119] Step 4. Obtain the number of members of all account types under the member group and compare it with the number of people distributed in parallel. The result is greater than the number of people distributed in parallel.
[0120] Step 5. Initialize weight values of 40, 60, and 100. Iterate through all account members, check if the member is online, and if not, reset the weight to the minimum value of 0. Check if the member is currently processing a pending event, and if so, decrease the weight value by 50. Then, place the members into the corresponding sets according to their weights.
[0121] Step 6. At this point, we have obtained the member set corresponding to each weight value. Calculate the weighted average for each weight value to obtain a range. To select a specified number of members from this range, and to achieve both balance and randomness, we need to use a random function to obtain a random number between 0 and 1. We need to determine which weight range the random number falls into, and then select the member set within that range. Finally, we use a random number between 0 and the set size to obtain the first target distributor, and then remove that member from the member set.
[0122] Step 7. Repeat the operation in Step 6 until the target distributor is obtained, which is the same as the number of people to be distributed in parallel.
[0123] Step 8. Copy multiple event to-do lists, set the target distributor in the to-do list handler field, store them in the database, and notify the specific to-do list handler via message.
[0124] Step 9. After logging in, each account member's to-do list will receive the to-do items that need to be processed. When other members are processing the same to-do item, a message will appear indicating "xxx is being processed," and the item can only be viewed, not processed. Once the to-do item is successfully processed, it will be removed from the to-do list. In this way, all personnel handling to-do items will process them efficiently and systematically, rarely encountering issues with untimely processing.
[0125] In summary, the method for distributing to-do event messages provided in this application embodiment has at least the following beneficial effects:
[0126] 1) Processing pending events is more efficient, eliminating the need to sift through a large number of pending events for processing, and avoiding assigning tasks to only one offline member, which could lead to untimely processing.
[0127] 2) It enables multiple people to process tasks in parallel without causing multiple people to process the same task, thus avoiding wasting time due to duplication.
[0128] 3) The competition mode is no longer used. Tasks are directly assigned to specific individuals, reducing the reliance of those handling tasks on others and increasing the efficiency of task processing.
[0129] 4) Taking into account the online and offline status of members, the loss of to-do events is reduced. To-do events are prioritized for online members. After a member goes offline, no more to-do events will be assigned to him. He still needs to complete the existing to-do events, which also reduces the situation where to-do events are left unattended.
[0130] Please see Figure 3 , Figure 3 This is a schematic diagram of the structure of a to-do event message distribution system provided in an embodiment of this application. The to-do event message distribution system includes:
[0131] Module 100 is used to acquire data on the pending member group and the number of people receiving parallel distributions.
[0132] The query module 200 is used to query the data of the pending member group based on the preset account type and obtain multiple candidate pending members;
[0133] Initialization module 300 is used to initialize the weights of multiple candidate members to preset weight values;
[0134] The weight processing module 400 is used to process multiple candidate members based on preset weight calculation conditions and the online / offline status of multiple candidate members to obtain member weight data.
[0135] The filtering module 500 is used to randomly filter based on member weight data to obtain multiple target members, wherein the number of people data distributed in parallel corresponds to the number of multiple target members;
[0136] The distribution module 600 is used to distribute pending event messages to multiple target members.
[0137] For example, the system for distributing to-do event messages also includes:
[0138] The analysis rules module is used to match event analysis rule data based on pending event messages.
[0139] For example, the acquisition module 100 is specifically used to: acquire the data of the pending member group and the data of the number of people to be distributed in parallel based on the event judgment rule data.
[0140] For example, the weight processing module 400 is specifically used for:
[0141] Get the online / offline status of multiple candidates for tasks;
[0142] Iterate through multiple candidate members and perform the following processing on each candidate member:
[0143] Determine whether the candidate member is offline based on their online / offline status. If so, clear the weight of the candidate member.
[0144] The members to be processed are determined according to the preset weight calculation conditions to obtain member weight data.
[0145] For example, the filtering module 500 is specifically used for:
[0146] Based on member weight data, multiple candidate members are divided into multiple weighted member sets;
[0147] The system performs a preset number of iterations on multiple weighted member sets, where the preset number of iterations corresponds to the number of people distributed in parallel:
[0148] A candidate set of weight members is obtained by randomly selecting from multiple weight member sets based on random numbers.
[0149] A target member is obtained by randomly selecting from the set of candidate weight members, and then the target member is removed from the set of candidate weight members.
[0150] After the loop processing is completed, multiple target members are obtained.
[0151] For example, the distribution module 600 is specifically used for:
[0152] Copy the to-do event message into multiple to-do event messages, with the number of multiple to-do event messages corresponding to the number of multiple target members;
[0153] Distribute multiple to-do items to various target members.
[0154] It should be noted that the to-do event message distribution system provided in this application embodiment is different from... Figures 1 to 2 The method embodiments shown correspond to each other, and will not be described again here to avoid repetition.
[0155] This application also provides an electronic device, please refer to [link to application]. Figure 4 , Figure 4 This is a structural block diagram of an electronic device provided in an embodiment of this application. The electronic device may include a processor 510, a communication interface 520, a memory 530, and at least one communication bus 540. The communication bus 540 is used to enable direct communication between these components. In this embodiment, the communication interface 520 of the electronic device is used for signaling or data communication with other node devices. The processor 510 may be an integrated circuit chip with signal processing capabilities.
[0156] The processor 510 described above can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor, or the processor 510 can be any conventional processor.
[0157] The memory 530 may be, but is not limited to, random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), etc. The memory 530 stores computer-readable instructions. When these computer-readable instructions are executed by the processor 510, the electronic device can perform the aforementioned operations. Figures 1 to 2 The various steps involved in the method implementation examples.
[0158] Alternatively, the electronic device may also include a storage controller and an input / output unit.
[0159] The memory 530, storage controller, processor 510, peripheral interface, and input / output unit are electrically connected directly or indirectly to achieve data transmission or interaction. For example, these components can be electrically connected to each other through one or more communication buses 540. The processor 510 is used to execute executable modules stored in the memory 530, such as software function modules or computer programs included in electronic devices.
[0160] The input / output unit is used to provide users with the ability to create tasks and to set optional start periods or preset execution times for those tasks, thereby enabling user-server interaction. The input / output unit may be, but is not limited to, a mouse and keyboard.
[0161] Understandable. Figure 4 The structure shown is for illustrative purposes only; the electronic device may also include components that are more advanced than those shown. Figure 4 The more or fewer components shown, or having the same Figure 4 The different configurations shown. Figure 4 The components shown can be implemented using hardware, software, or a combination thereof.
[0162] This application also provides a storage medium storing instructions. When the instructions are run on a computer, the computer program is executed by a processor to implement the method described in the method embodiment. To avoid repetition, the method will not be described again here.
[0163] This application also provides a computer program product that, when run on a computer, causes the computer to perform the method described in the method embodiment.
[0164] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can also be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0165] In addition, the functional modules in the various embodiments of this application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.
[0166] If the aforementioned functions are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0167] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application. It should be noted that similar reference numerals and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures.
[0168] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
[0169] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
Claims
1. A method for distributing to-do event messages, characterized in that, include: Obtain data on the pending task group and the number of people receiving parallel tasks; The data of the to-do member group is queried according to the preset account type to obtain multiple candidate to-do members; The weights of the multiple candidate members are initialized to preset weight values; The multiple candidate members are processed according to the preset weight calculation conditions and their online / offline status to obtain member weight data. Based on the member weight data, multiple target members are obtained by random filtering, wherein the number of parallel distribution number data corresponds to the number of multiple target members; Distribute the pending event messages to the multiple target members; The step of processing the multiple candidate members according to preset weight calculation conditions and their online / offline status to obtain member weight data includes: Obtain the online / offline status of the multiple candidate members; Iterate through the multiple candidate members and perform the following processing on each candidate member: Based on the online / offline status, determine whether the candidate member is offline. If so, clear the weight of the candidate member. The pending members are processed according to the preset weight calculation conditions to obtain member weight data; The step of randomly filtering based on the member weight data to obtain multiple target members includes: Based on the member weight data, the multiple candidate members are divided into multiple weighted member sets; The multiple weighted member sets are processed cyclically a preset number of times, wherein the preset number of times corresponds to the number of people in the parallel distribution data: Randomly select from the multiple weight member sets based on random numbers to obtain a candidate weight member set; Based on the set of candidate weighted members, a target member is obtained by random screening, and the target member is then removed from the set of candidate weighted members. After the loop processing is completed, multiple target members are obtained.
2. The method for distributing pending event messages according to claim 1, characterized in that, Prior to the steps of acquiring the pending member group data and the number of people to be distributed in parallel, the method further includes: The event analysis rules are matched with the pending event messages.
3. The method for distributing pending event messages according to claim 2, characterized in that, The steps of obtaining the pending member group data and the number of people to be distributed in parallel include: Based on the event analysis rules, obtain the data of the pending member group and the number of people to be distributed in parallel.
4. The method for distributing pending event messages according to claim 1, characterized in that, The step of distributing the pending event message to the multiple target members includes: The pending event message is copied into multiple pending event messages, and the number of the multiple pending event messages corresponds to the number of the multiple target members; The multiple pending event messages are distributed to the multiple target members one by one.
5. A system for distributing pending event messages, characterized in that, include: The acquisition module is used to acquire data on the pending member group and the number of people to be distributed in parallel. The query module is used to query the data of the to-do member group according to the preset account type to obtain multiple candidate to-do members; An initialization module is used to initialize the weights of the multiple candidate members to preset weight values; The weighting processing module is used to process the multiple candidate members according to preset weighting calculation conditions and their online / offline status to obtain member weight data. The filtering module is used to randomly filter based on the member weight data to obtain multiple target members, wherein the number of parallel distributed number data corresponds to the number of multiple target members; The distribution module is used to distribute pending event messages to the multiple target members; The weight processing module is specifically used for: Obtain the online / offline status of the multiple candidate members; Iterate through the multiple candidate members and perform the following processing on each candidate member: Based on the online / offline status, determine whether the candidate member is offline. If so, clear the weight of the candidate member. The pending members are processed according to the preset weight calculation conditions to obtain member weight data; The filtering module is specifically used for: Based on the member weight data, the multiple candidate members are divided into multiple weighted member sets; The multiple weighted member sets are processed cyclically a preset number of times, wherein the preset number of times corresponds to the number of people in the parallel distribution data: Randomly select from the multiple weight member sets based on random numbers to obtain a candidate weight member set; Based on the set of candidate weighted members, a target member is obtained by random screening, and the target member is then removed from the set of candidate weighted members. After the loop processing is completed, multiple target members are obtained.
6. The distribution system for pending event messages according to claim 5, characterized in that, The distribution system for pending event messages also includes: The analysis rules module is used to match event analysis rule data based on the pending event messages.
7. An electronic device, characterized in that, include: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the computer program, implements the steps of the method for distributing pending event messages as described in any one of claims 1 to 4.
8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores instructions that, when executed on a computer, cause the computer to perform the method for distributing pending event messages as described in any one of claims 1 to 4.
Citation Information
Patent Citations
Government affair system to-do function optimization method based on a banker algorithm and a terminal
CN109871993A
Workflow-based to-do list processor matching method and processing system
CN113919757A