Business processing method and apparatus, storage medium, and electronic device
By dynamically selecting target process nodes to process unprocessed business items, the problem of process node blocking is solved, and business processing efficiency is improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- NEUSOFT CORP
- Filing Date
- 2022-12-08
- Publication Date
- 2026-07-03
AI Technical Summary
In existing technologies, process engines are prone to node blockage, resulting in low business processing efficiency.
By identifying the unprocessed business items and their process nodes corresponding to the business requests, the target process node is dynamically selected for processing based on the business processing status of the process nodes, thus avoiding blockages caused by a predetermined order.
It improves the utilization rate of process nodes, reduces the possibility of blockage, and improves business processing efficiency.
Smart Images

Figure CN115879755B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer software technology, and more specifically, to a business processing method, apparatus, storage medium, and electronic device. Background Technology
[0002] With the development of the information society, people are increasingly reliant on the internet and perform a large number of business transactions through it. Generally, one business transaction corresponds to one business process, which consists of multiple process nodes. For each business transaction, it is usually driven by the corresponding process engine and flows through the business process nodes.
[0003] However, in related technologies, process engines are prone to node blocking issues. When a previous process node is blocked, subsequent process nodes will also be blocked, thereby reducing the overall business processing efficiency. Summary of the Invention
[0004] The purpose of this disclosure is to provide a business processing method, apparatus, storage medium, and electronic device to provide a reference for selecting component versions during software upgrades and to improve the efficiency of software upgrades.
[0005] To achieve the above objectives, firstly, this disclosure provides a business processing method, the method comprising:
[0006] Perform the following operations for each business request:
[0007] S102, determine the unprocessed business items in each business item corresponding to the business request, and the process node for processing the unprocessed business items;
[0008] S104, when there are multiple unprocessed business items, determine the business processing status of each process node corresponding to the multiple unprocessed business items;
[0009] S106, Based on the business processing status of each process node, determine a target process node that meets the preset conditions from each process node;
[0010] S108, after the target process node has processed the business items corresponding to the target process node among the multiple unprocessed business items, return to execute step S102;
[0011] S110, if there is only one unprocessed business item, the unprocessed business item is processed through the process node corresponding to the unprocessed business item.
[0012] Optionally, the step of determining a target process node that meets preset conditions from among the process nodes based on the respective business processing status of each process node includes:
[0013] Obtain the business load of each of the aforementioned process nodes;
[0014] Identify candidate process nodes whose business load is less than the preset load;
[0015] When there are multiple candidate process nodes, a target process node is determined from the candidate process nodes based on preset rules; or
[0016] If there is only one candidate process node, then the candidate process node will be selected as the target process node.
[0017] Optionally, the step of obtaining the respective business load of each of the process nodes includes:
[0018] The address information of each process node is determined based on the process node index, wherein the process node index includes the association between process nodes and address information;
[0019] Using the address information, locate the corresponding process nodes;
[0020] Based on the record files of each process node, the business load of each process node is determined.
[0021] Optionally, the method further includes:
[0022] Receive multiple service requests;
[0023] Add the multiple business requests to the data buffer;
[0024] The following operations are performed for each service request, including:
[0025] Business requests are retrieved from the data buffer to maintain the operation of a preset number of business requests being executed in parallel.
[0026] Optionally, the process of the target process node processing the business item includes the process of the user processing the business item, and the method further includes:
[0027] Time the process of the user handling the business item in the target process node;
[0028] When the timeout period exceeds the preset duration, a message is output to urge the user to perform the action.
[0029] Optionally, the method further includes:
[0030] Record the processing order of each processed business item;
[0031] A business processing flow corresponding to the business request is generated based on the processing order.
[0032] Optionally, the method further includes:
[0033] The processing progress of the business request is generated based on all business items corresponding to the business request and each processed business item.
[0034] Secondly, this disclosure provides a business processing apparatus, the apparatus comprising:
[0035] The first determining module is used to determine the unprocessed business items among the various business items corresponding to the business request, and the process nodes used to process the unprocessed business items;
[0036] The second determining module is used to determine the business processing status of each process node corresponding to the multiple unprocessed business items when there are multiple unprocessed business items.
[0037] The third determining module is used to determine a target process node that meets preset conditions from each of the process nodes based on the business processing status of each process node.
[0038] The loop module is used to return and call the first determination module after the target process node has processed the business items corresponding to the target process node among the multiple unprocessed business items.
[0039] The processing module is used to process the unprocessed business item through the process node corresponding to the unprocessed business item when there is only one unprocessed business item.
[0040] Thirdly, this disclosure provides a non-transitory computer-readable storage medium having a computer program stored thereon that, when executed by a processor, implements the steps of the method described in any of the first aspects.
[0041] Fourthly, this disclosure provides an electronic device, comprising:
[0042] A memory on which computer programs are stored;
[0043] A processor for executing the computer program in the memory to implement the steps of the method of any one of the first aspects.
[0044] Through the above technical solution, the following operations can be performed for each business request: determine the unprocessed business items among the various business items corresponding to the business request, and the process nodes used to process the unprocessed business items; when there are multiple unprocessed business items, determine the business processing status of each process node corresponding to the multiple unprocessed business items; based on the business processing status of each process node, determine a target process node that meets the preset conditions from the various process nodes; after the target process node has processed the business items corresponding to the target process node among the multiple unprocessed business items, return to the step of determining the unprocessed business items among the various business items corresponding to the business request, and the process nodes used to process the unprocessed business items; when there is only one unprocessed business item, process the unprocessed business item through the process node corresponding to the unprocessed business item. Because during the processing of each unprocessed business item corresponding to a business request, the next target process node for processing can be dynamically determined based on the business processing status of each process node used to process the unprocessed business item, and the business item of the corresponding target process node can be processed, the processing of business items can fully consider the business processing status of process nodes. This facilitates the discovery of process nodes with remaining business processing capabilities for processing business items. Compared with the related technologies that process according to a predetermined business processing flow, when determining the processing order of unprocessed business items, by allocating target process nodes with business processing capabilities to process the corresponding unprocessed business items, the situation where the currently processed business item is blocked at a certain process node when processing according to a predetermined order can be avoided. Therefore, the method of this disclosure embodiment can improve the utilization rate of process nodes, reduce the possibility of blocking, and thus improve business processing efficiency.
[0045] Other features and advantages of this disclosure will be described in detail in the following detailed description section. Attached Figure Description
[0046] The accompanying drawings are provided to further illustrate the present disclosure and form part of the specification. They are used together with the following detailed description to explain the present disclosure, but do not constitute a limitation thereof. In the drawings:
[0047] Figure 1 This is a flowchart illustrating a business processing method according to an exemplary embodiment of the present disclosure;
[0048] Figure 2 This is a schematic diagram illustrating the structure of components included in a process engine according to an exemplary embodiment of the present disclosure;
[0049] Figure 3 This is a block diagram illustrating a service processing apparatus according to an exemplary embodiment of the present disclosure;
[0050] Figure 4 This is a block diagram illustrating an electronic device according to an exemplary embodiment of the present disclosure. Detailed Implementation
[0051] The specific embodiments of this disclosure will be described in detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are for illustration and explanation only and are not intended to limit this disclosure.
[0052] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.
[0053] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
[0054] It is understood that before using the technical solutions disclosed in the various embodiments of this disclosure, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in this disclosure in an appropriate manner in accordance with relevant laws and regulations, and user authorization should be obtained.
[0055] It is understood that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and related provisions.
[0056] The applicant discovered through long-term research that in current business processing methods, the process nodes for executing each business item in a business request are fixed. For example, they are executed according to fixed process nodes ABCD, where A, B, C, and D each represent a process node, and each process node can handle the corresponding business item.
[0057] In some cases, a process node may become blocked. For example, if node A becomes blocked, the business request will be stuck at process node A until process node A recovers and processes the business item of the business request before the subsequent process nodes can continue to be executed. This results in low efficiency in processing business requests.
[0058] In view of this, embodiments of the present disclosure provide a business processing method, apparatus, storage medium, and electronic device to improve the efficiency of business request processing.
[0059] Please see Figure 1 , Figure 1 This is a flowchart illustrating a business processing method according to an exemplary embodiment of this disclosure. For example... Figure 1As shown, during the execution of this business processing method, the following steps are performed for each business request:
[0060] S102, determine the unprocessed business items in each business item corresponding to the business request, and the process nodes used to process the unprocessed business items.
[0061] It is understood that a business request may include multiple business items that need to be completed. It should be noted that in this embodiment of the disclosure, there is no sequential dependency between these multiple business items that need to be completed. That is, the processing of any business item does not depend on the processing result of other business items. Furthermore, when completing a certain business item of a business request, other business items of the same business request cannot be completed at the same time.
[0062] In this embodiment of the disclosure, the various business items corresponding to a certain type of business request can be pre-configured in the enterprise's business processing center through configuration. Therefore, when an enterprise user needs to complete such a business request, the user can initiate a business request to the business processing center, which can then receive and respond to the request, determine the various business items corresponding to the business request from the configuration information, and then begin the processing flow for each business item.
[0063] For example, a medical examination request may include services such as blood glucose test, CT scan, liver function test, kidney function test, and blood lipid test, and there is no dependency between these services.
[0064] For example, an onboarding request may include submitting bank card information, submitting medical examination certificate information, applying for an employee ID card, applying for a work email address, and other business items. There is no dependency between these business items.
[0065] Furthermore, each business item can correspond to a process node for executing that business item. A process node can be understood as a step in processing the business item. Continuing with the previous example, business items such as blood glucose tests, CT scans, liver function tests, kidney function tests, and blood lipid tests each have corresponding examination steps, and the business item can be completed through the examination points within those steps. Similarly, business items such as submitting bank card information, submitting medical examination certificates, applying for an employee ID card, and applying for a work email address each have corresponding processing steps, and the business item can be processed within those processing steps.
[0066] Similarly, the process nodes corresponding to each business item can also be saved to the business processing center through pre-configuration. Thus, based on the configuration information, each process node corresponding to each business item can be determined.
[0067] In this embodiment of the disclosure, when processing a business item corresponding to a certain business request, it is possible to determine the business items that have not been processed, i.e. unprocessed business items, and further determine the process nodes used to process the unprocessed business items.
[0068] S104, when there are multiple unprocessed business items, determine the business processing status of each process node corresponding to the multiple unprocessed business items.
[0069] It is understood that if there are multiple unprocessed business items, in this embodiment of the disclosure, it is necessary to allocate the processing order of the multiple unprocessed business items. Specifically, the allocation can be based on the business processing status of each process node corresponding to the unprocessed business item.
[0070] The business processing status reflects the current processing capacity of a process node for business items. Optionally, the business processing status can be the business load. Alternatively, the business processing status can also be the processing rate of business items at a process node over a period of time. A low processing rate indicates a higher probability of blocking, while a high processing rate indicates a lower probability of blocking. Therefore, the processing rate can be used to determine whether a process node can be identified as a target process node.
[0071] If there is only one unprocessed business item, it can be directly assigned to the corresponding process node, which will then process the unprocessed business item according to its actual business processing progress.
[0072] S106, Based on the business processing status of each process node, determine a target process node that meets the preset conditions from among the process nodes.
[0073] In this context, the target process node can be understood as the next process node among the identified process nodes to process the business item. Therefore, after determining the target process node, the corresponding unprocessed business items can be processed through it; for example, the business items corresponding to the target process node can be assigned to that node for processing.
[0074] It is understandable that some process nodes in the business processing center may already be processing business items. At this time, not all process nodes support the allocation of additional business items for processing. Therefore, the target process node can be any process node that still has the ability to process remaining business items, that is, a process node that can still process the corresponding business items.
[0075] Therefore, in this embodiment of the disclosure, after the business processing center obtains the business processing status of each process node corresponding to multiple unprocessed business items, it can determine the target process node that meets the preset conditions from each process node according to the business processing status of each process node.
[0076] S108: After processing the business items corresponding to the target process node among multiple unprocessed business items in the target process node, return to execute step S102.
[0077] In some implementations, the business items corresponding to the target process node in the unprocessed business items can be assigned to the target process node, and then the corresponding business items can be processed under the target process node until the processing of the business item is completed.
[0078] It is understandable that after completing one business item of a business request, if the number of remaining unprocessed business items is greater than one, the processing of the remaining unprocessed business items can continue. Thus, in this embodiment of the present disclosure, after the target process node completes the processing of the business item, the remaining unprocessed business items and the process node corresponding to the unprocessed business items can be determined. That is, the execution of step S102 can be returned.
[0079] S110: If there is only one unprocessed business item, process the unprocessed business item through the process node corresponding to the unprocessed business item.
[0080] In this embodiment of the disclosure, if there is only one unprocessed business item, it can be processed through the process node corresponding to the unprocessed business item.
[0081] In other words, in this embodiment of the disclosure, after processing one unprocessed business item of the business request, the remaining unprocessed business items of the business request can continue to be processed. Moreover, each time an unprocessed business item is started, the business processing status of the process node corresponding to the unprocessed business item is considered. The next unprocessed business item to be processed is determined by the business processing status of the process node, so that the allocated process node can process the business items in a timely manner and improve the processing efficiency of the business items. Until there is only one unprocessed business item, the unprocessed business item is processed by the process node corresponding to the unprocessed business item. After processing the last unprocessed business item, it can be understood that the business request is completed.
[0082] In some implementations, the business processing center can cyclically acquire the business processing status of each process node at certain time intervals. Thus, after the subsequent target process node completes the processing of the assigned business items, it can determine the target process node that meets the preset conditions from each process node based on the business processing status of each process node acquired most recently.
[0083] It should be noted that in this embodiment of the disclosure, each service request can be executed in a certain order. In addition, each service request can also be executed in parallel with the above steps S102-S110. It is understood that there can be an upper limit to the number of service requests processed in parallel. Therefore, in this embodiment of the disclosure, the above steps S102-S110 can be executed in parallel for a preset number of service requests.
[0084] Using the above method, the following operations can be performed for each business request: determine the unprocessed business items in each business item corresponding to the business request, and the process nodes used to process the unprocessed business items; if there are multiple unprocessed business items, determine the business processing status of each process node corresponding to the multiple unprocessed business items; based on the business processing status of each process node, determine a target process node that meets the preset conditions from each process node; after the target process node has processed the business items corresponding to the target process node among the multiple unprocessed business items, return to the steps of determining the unprocessed business items in each business item corresponding to the business request, and the process nodes used to process the unprocessed business items; if there is only one unprocessed business item, process the unprocessed business item through the process node corresponding to the unprocessed business item. Because during the processing of each unprocessed business item corresponding to a business request, the next target process node for processing can be dynamically determined based on the business processing status of each process node used to process the unprocessed business item, and the business item of the corresponding target process node can be processed, the processing of business items can fully consider the business processing status of process nodes. This facilitates the discovery of process nodes with remaining business processing capabilities for processing business items. Compared with the related technologies that process according to a predetermined business processing flow, when determining the processing order of unprocessed business items, by allocating target process nodes with business processing capabilities to process the corresponding unprocessed business items, the situation where the currently processed business item is blocked at a certain process node when processing according to a predetermined order can be avoided. Therefore, the method of this disclosure embodiment can improve the utilization rate of process nodes, reduce the possibility of blocking, and thus improve business processing efficiency.
[0085] In some implementations, when the business processing status is under business load, the step of determining a target process node that meets preset conditions from each process node based on the respective business processing status of each process node may include the following steps:
[0086] Obtain the business load of each process node;
[0087] Identify candidate process nodes whose business load is less than the preset load;
[0088] When there are multiple candidate process nodes, a target process node is determined from the candidate process nodes based on preset rules; or
[0089] If there is only one candidate process node, then the candidate process node will be selected as the target process node.
[0090] In this context, a candidate process node can be understood as a process node whose business load is less than a preset load. There can be one or more candidate process nodes.
[0091] In this embodiment of the disclosure, when the business processing status is business load, if the business load of a certain process node is less than the preset load, it indicates that the process node still has remaining business processing capacity and can continue to allocate and process unprocessed business items. Therefore, when there are multiple candidate process nodes with remaining business processing capacity, a target process node can be determined from the candidate process nodes according to preset rules.
[0092] Optionally, the preset rule can be a random selection rule, that is, any one of the candidate process nodes is selected as the target process node.
[0093] Optionally, in some scenarios, the preset rule can also be based on the distance between the candidate process node and the user initiating the business request. Under this rule, the candidate process node with the closest distance can be selected as the target process node based on the distance between each candidate process node and the user initiating the business request. Using this preset rule can also further improve business processing efficiency.
[0094] Optionally, in some scenarios, the preset rule can also be based on the waiting time of candidate process nodes in processing their respective newly assigned unprocessed business items. Although candidate process nodes have the capacity to process remaining business items, they may not immediately process the newly assigned business item. This is because the target process node still has other business requests being processed. In this case, the newly assigned business item may need to wait briefly. It should be noted that this situation is different from process node blocking. Therefore, under this rule, the target process node can be determined based on the waiting time of each candidate process node in processing its corresponding newly assigned unprocessed business item. For example, the candidate process node with the shorter waiting time can be determined as the target process node. Using this preset rule can also further improve business processing efficiency.
[0095] Optionally, various preset rules can be combined if they do not conflict. For example, the rule based on the waiting time for each candidate process node to process its corresponding newly assigned unprocessed business items can be combined with the rule based on the distance between the candidate process node and the user who initiated the business request. That is, if multiple candidate process nodes that do not require waiting are determined from the candidate process nodes according to the rule based on the waiting time for each candidate process node to process its corresponding newly assigned unprocessed business items, the target process node can be further determined from the multiple candidate process nodes that do not require waiting based on the rule based on the distance between the candidate process node and the user who initiated the business request.
[0096] If there is only one candidate process node, then that candidate process node can be directly identified as the target process node.
[0097] In some implementations, the workload is related to the number of business items currently being processed by a process node. For example, the workload of a process node can be directly determined by the number of business items currently being processed. Alternatively, the workload can be determined as the ratio of the number of business items currently being processed by a process node to the maximum number of business items set for the process node.
[0098] In some implementations, when the business processing status is the business processing rate, the step of determining the target process node that meets the preset conditions from each process node according to the business processing status of each process node can be: determining any process node whose business processing rate is greater than the preset business processing rate as the target process node.
[0099] In some implementations, the step of obtaining the workload of each process node may include the following steps:
[0100] Based on the process node index, determine the address information of each process node. The process node index includes the process nodes and the relationship between the address information.
[0101] Locate the corresponding process nodes using the address information;
[0102] Based on the log files of each process node, determine the business load of each process node.
[0103] In this embodiment of the disclosure, after configuring the process nodes, each process node can correspond to address information, such as a hash address. This allows for the pre-construction of a process node index based on each process node and its corresponding address information. Subsequently, when obtaining the workload of each process node, the address information of each process node can be determined directly based on the association between the process nodes and their address information included in the process node index. Then, the process node corresponding to each address information can be found. Each process node can be associated with a corresponding record file, allowing for further determination of the workload of each process node based on its record file.
[0104] Optionally, the log file associated with the process node can record the total number of business items processed corresponding to the process node and the number of business items currently being processed. Therefore, the business load corresponding to the process node can be determined based on the ratio of the number of business items currently being processed to the total number of business items processed, as recorded in the log file. Optionally, the log file associated with the process node can also directly record the business load corresponding to the process node.
[0105] In this embodiment of the disclosure, by constructing a process node index, the business load of each process node can be easily obtained.
[0106] It is understandable that a business processing center can handle multiple users, thus receiving and supporting multiple concurrent business requests. In the case of multiple concurrent business requests, at a certain process node, business items of the same type corresponding to these multiple requests are submitted concurrently for processing. Assuming three concurrent business requests, each including business items a, b, and c, the processing flow of these requests in related technologies is as follows: first, business item a of the three requests is processed at process node A. After processing business item a, the request can proceed to process node B to continue processing business item b. However, if process node A is blocked during processing, business item a of the three requests may not be completed in time. Consequently, business items b and c of the three requests also cannot be processed in time because the business items at process node A are incomplete, preventing the business requests from continuing to flow downwards, resulting in low overall processing efficiency. To address this situation, the business processing method of this embodiment may further include the following steps:
[0107] Receive multiple business requests; add multiple business requests to the data buffer;
[0108] In this case, the following operations are performed for each business request, which may include the following steps:
[0109] Retrieve business requests from the data buffer to maintain parallel execution of a preset number of business requests.
[0110] In this embodiment of the disclosure, after receiving multiple business requests, the business processing center can first add the multiple business requests to a data buffer, and then retrieve business requests from the data buffer for parallel processing according to certain rules. Specifically, in this embodiment of the disclosure, the rule can be that when retrieving business requests from the data buffer, the number of business requests to be executed in parallel is a preset number. That is, the business processing center has a preset number of business requests to be processed in parallel. If the number of business requests processed in parallel by the business processing center does not meet the preset number, then when there are business requests in the data buffer, a target number of business requests can be retrieved from the data buffer, so that the number of business requests to be executed in parallel is the preset number, where the target number is the difference between the preset number and the number of business requests currently being processed in parallel. This approach offers several advantages. First, it decouples the process dependencies between receiving and executing business requests, making the processing of business requests more stable. Second, by retrieving business requests from the data buffer, it maintains the parallel execution of a preset number of business requests. Since steps S102-S110 are executed in parallel for each business request, the business items of each request are not all blocked on a single process node. Continuing with the example above, for instance, they are not all blocked on process node A, but can be assigned to process node B or process node C for processing the business items of the business request. This improves the efficiency of business request processing even under concurrent conditions. Furthermore, by controlling the number of business requests processed in parallel to a preset number, it avoids the situation where all received business requests are executed in parallel using steps S102-S110, which would increase the blocking of each process node.
[0111] It should be noted that the processing paths of the business items in each business request may be different. As a result, some business requests are processed quickly while others are processed slowly. After a certain business request is completed, the business processing center can retrieve another business request from the data buffer to respond to it. This allows the business processing center to keep performing operations on a preset number of business requests in parallel.
[0112] In some implementations, considering that different business requests correspond to different business data, swimlanes can be used to distinguish the business data of each business request. Each swimlane can correspond to a memory area, thus allocating a corresponding memory area for processing each business request, thereby achieving mutual isolation between the business data corresponding to each business request.
[0113] Furthermore, in actual business processing scenarios, processing the corresponding business item at the target process node can include processes performed automatically by a computer, such as a computer retrieving data from a database for verification. It can also include processes performed by a user, such as a user uploading certain data at a certain process node. Considering this, to avoid business items being stuck at the user node for extended periods and to further improve business processing efficiency, in some embodiments, the process of the target process node processing the business item includes the process of the user processing the business item. In this case, the business processing method of this embodiment may further include the following steps:
[0114] Timing is used to track the process of a user handling business items at a target process node;
[0115] When the timeout period exceeds the preset duration, output a message to urge the user to take action.
[0116] In this embodiment of the disclosure, when a business item requires user intervention, the user intervention process can be timed. That is, the process of the user handling the business item in the target process node can be timed. If the timed duration is longer than the preset duration, it means that the user has not handled the business for a long time or the processing has expired. At this time, information can be output to urge the user to handle the business, so as to expedite the processing of the business item and improve the efficiency of the business item processing.
[0117] In some implementations, the method of this disclosure may further include the following steps:
[0118] Record the processing order of each processed business item;
[0119] The business processing flow for the corresponding business request is generated based on the processing order.
[0120] Considering that the processing order of business items is not fixed, in order to help users understand the actual processing flow of business requests, the processing order of each processed business item can be recorded in this embodiment of the disclosure, and the business processing flow of the corresponding business request can be generated according to the processing order, so as to facilitate the traceability of the processing flow of business requests.
[0121] Furthermore, after the business processing flow for generating a business request is established, users can be supported in performing rollback operations on business items based on this flow. In other words, in some implementations, the business processing flow can be displayed to the user, and a rollback control can be provided. In response to the user's triggering of the rollback control, the user can roll back to a specific business item, which can then be processed again.
[0122] In some implementations, the method of this disclosure may further include the following steps:
[0123] Based on all business items of the corresponding business request and each processed business item, generate the processing progress of the business request.
[0124] In this embodiment of the disclosure, in order to intuitively display the processing progress of a business request to the user, the processing progress of the business request can be generated based on all business items of the corresponding business request and each processed business item.
[0125] In some implementations, a process engine can be deployed in the business processing center to complete the business processing methods of the aforementioned embodiments. The business processing methods of the above embodiments will be described in detail below with reference to the process engine.
[0126] In this embodiment of the disclosure, a process engine can be built first; please refer to [reference needed]. Figure 2 The diagram illustrates the structural structure of components included in a process engine provided by an embodiment of this disclosure, such as... Figure 2 As shown, a data buffer is initialized in the process engine to cache user-initiated business requests. Furthermore, buffer scheduling models, progress models, recording models, reminder models, and process registration models can be deployed in the process engine.
[0127] Therefore, when using the process engine for a specific business, the configuration information corresponding to that business can be pre-registered through the process registration model. For example, the configuration information may include information such as the various business items corresponding to the business, the process nodes corresponding to each business item, and the process node index. Among them, the process node index records the hash address corresponding to the process node.
[0128] After completing the above preparations, the process engine can be used to process user business requests. Specifically, after receiving a business request from a user, the process engine first caches the request in a data buffer. Then, the process engine can use a spin-based approach, through a buffer scheduling model, to determine the business request to be processed from the data buffer. The scheduling model controls the process engine's retrieval of business requests from the data buffer, ensuring that the process engine executes subsequent steps in parallel for a preset number of business requests. Here, a separate memory area can be allocated for processing each business request, thereby achieving isolation of business data corresponding to different business requests.
[0129] In addition, while spinning, the process engine can also query the business load of each process node based on the hash address of each process node recorded in the process node index. For each business request executed in parallel, the process engine performs the following operations:
[0130] The process engine receives targeted sub-processes. These sub-processes determine a target process node from among the process nodes corresponding to unprocessed business items, based on the business load of each process node. For example, among the process nodes corresponding to unprocessed business items, any process node with a business load less than a preset load is identified as the target process node. Then, after determining the target process node, the push model in the process engine drives the target process node to complete the processing of the business item corresponding to the target process node among the unprocessed business items, thus completing one flow of a business request between process nodes. After multiple loops, if there is still one unprocessed business item, the targeted sub-process is used to determine the target process node corresponding to the last unprocessed business item, and the push model in the process engine continues to drive the corresponding target process node to complete the processing of the last unprocessed business item. After completing the flow between all process nodes, the processing of a business request can be completed.
[0131] Using the aforementioned process engine for business processing can improve business processing efficiency whether processing each business request sequentially or concurrently. In addition, by setting up a data buffer, the process dependency between receiving and responding to business requests can be decoupled, making the processing of business requests more stable. Furthermore, while improving the efficiency of business request processing in concurrent situations, it can also avoid and reduce the blocking of various process nodes.
[0132] Furthermore, during the processing of a business request, the recording model can record the history of each business item of the business request being pushed forward by the advancement model at each process node, thereby facilitating the rollback and tracing of the business request's processing process nodes.
[0133] In addition, if a user is involved in processing a business item at a certain process node, the user's processing time at the target process node can be timed. When the timed duration exceeds the preset duration, the reminder model can output information to urge the user to process the item.
[0134] Furthermore, it should be understood that, for the sake of simplicity, the above method embodiments are described as a series of actions; however, those skilled in the art should understand that this disclosure is not limited to the order of actions described above. Secondly, those skilled in the art should also understand that the embodiments described above are preferred embodiments, and the steps involved are not necessarily essential to this disclosure.
[0135] Based on the same concept, this disclosure also provides a business processing apparatus, which can be part or all of an electronic device through software, hardware, or a combination of both. (See also...) Figure 3 The service processing device 300 may include:
[0136] The first determining module 310 is used to determine the unprocessed business items in each business item corresponding to the business request, and the process nodes for processing the unprocessed business items.
[0137] The second determining module 320 is used to determine the business processing status of each process node corresponding to the multiple unprocessed business items when there are multiple unprocessed business items.
[0138] The third determining module 330 is used to determine a target process node that meets preset conditions from each of the process nodes based on the business processing status of each process node.
[0139] The loop module 340 is used to return to call the first determination module after the target process node has processed the business items corresponding to the target process node among the multiple unprocessed business items.
[0140] The processing module 350 is used to process the unprocessed business item through the process node corresponding to the unprocessed business item when there is only one unprocessed business item.
[0141] Optionally, the third determining module 330 includes:
[0142] The acquisition submodule is used to acquire the business load of each of the process nodes.
[0143] The first determination submodule is used to determine candidate process nodes whose business load is less than the preset load;
[0144] The second determining submodule is used to determine a target process node from the candidate process nodes based on preset rules when there are multiple candidate process nodes.
[0145] The third determining submodule is used to determine the target process node from among the candidate process nodes when there is only one candidate process node.
[0146] Optionally, the acquisition submodule is further configured to determine the address information of each process node based on the process node index, wherein the process node index includes the association between process nodes and address information; locate the corresponding process nodes through the address information; and determine the business load of each process node based on the record file of each process node.
[0147] Optionally, the device 300 further includes:
[0148] The receiving module is used to receive multiple service requests.
[0149] Add a module to add the multiple business requests to the data buffer;
[0150] The parallel module is used to obtain business requests from the data buffer to keep the operation running in parallel for a preset number of business requests.
[0151] Optionally, the process of the target process node processing the business item includes the process of the user processing the business item, and the device 300 further includes:
[0152] The timing module is used to time the process of the user handling the business item in the target process node;
[0153] The output module is used to output information to urge the user to perform processing when the timeout period exceeds the preset time.
[0154] Optionally, the device 300 further includes:
[0155] The recording module is used to record the processing order of each processed business item;
[0156] The first generation module is used to generate a business processing flow corresponding to the business request according to the processing order.
[0157] Optionally, the device 300 further includes:
[0158] The second generation module is used to generate the processing progress of the business request based on all business items corresponding to the business request and each processed business item.
[0159] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.
[0160] Based on the same inventive concept, this disclosure also provides an electronic device, comprising:
[0161] A memory on which computer programs are stored;
[0162] A processor is configured to execute the computer program in the memory to implement the steps of any of the above-described business processing methods.
[0163] In one possible manner, the block diagram of the electronic device can be as follows: Figure 4 As shown. (Refer to...) Figure 4 The electronic device 400 may include a processor 401 and a memory 402. The electronic device 400 may also include one or more of a multimedia component 403, an input / output interface 404, and a communication component 405.
[0164] The processor 401 controls the overall operation of the electronic device 400 to complete all or part of the steps in the aforementioned business processing method. The memory 402 stores various types of data to support the operation of the electronic device 400. This data may include, for example, instructions for any application or method operating on the electronic device 400, and application-related data such as contact data, sent and received messages, pictures, audio, video, etc. The memory 402 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as Static Random Access Memory (SRAM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Erasable Programmable Read-Only Memory (EPROM), Programmable Read-Only Memory (PROM), Read-Only Memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The multimedia component 403 may include a screen and audio components. The screen may be, for example, a touchscreen, and the audio component is used for outputting and / or inputting audio signals. For example, the audio component may include a microphone for receiving external audio signals. The received audio signals may be further stored in memory 402 or transmitted via communication component 405. The audio component also includes at least one speaker for outputting audio signals. Input / output interface 404 provides an interface between processor 401 and other interface modules, such as a keyboard, mouse, buttons, etc. These buttons may be analog or physical buttons. Communication component 405 is used for wired or wireless communication between the electronic device 400 and other devices. Wireless communication, such as Wi-Fi, Bluetooth, Near Field Communication (NFC), 2G, 3G, 4G, NB-IoT, eMTC, or other 5G technologies, or combinations thereof, is not limited here. Therefore, the corresponding communication component 405 may include: a Wi-Fi module, a Bluetooth module, an NFC module, etc.
[0165] In an exemplary embodiment, the electronic device 400 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the above-described business processing methods.
[0166] In another exemplary embodiment, a computer-readable storage medium including program instructions is also provided, which, when executed by a processor, implement the steps of the above-described business processing method. For example, the computer-readable storage medium may be the memory 402 including program instructions, which may be executed by the processor 401 of the electronic device 400 to complete the above-described business processing method.
[0167] In another exemplary embodiment, a computer program product is also provided, the computer program product comprising a computer program executable by a programmable device, the computer program having a code portion for performing the above-described business processing method when executed by the programmable device.
[0168] The preferred embodiments of this disclosure have been described in detail above with reference to the accompanying drawings. However, this disclosure is not limited to the specific details of the above embodiments. Within the scope of the technical concept of this disclosure, various simple modifications can be made to the technical solutions of this disclosure, and these simple modifications all fall within the protection scope of this disclosure.
[0169] It should also be noted that the various specific technical features described in the above specific embodiments can be combined in any suitable manner without contradiction. In order to avoid unnecessary repetition, this disclosure will not describe the various possible combinations separately.
[0170] Furthermore, various different embodiments of this disclosure can be combined in any way, as long as they do not violate the spirit of this disclosure, they should also be regarded as the content disclosed in this disclosure.
Claims
1. A service processing method characterized by, The method includes: Perform the following operations for each business request: S102, determine the unprocessed business items in each business item corresponding to the business request, and the process node for processing the unprocessed business items; S104, when there are multiple unprocessed business items, determine the business processing status of each process node corresponding to the multiple unprocessed business items; S106, Based on the business processing status of each process node, determine a target process node that meets the preset conditions from each process node; S108, after the target process node has processed the business items corresponding to the target process node among the multiple unprocessed business items, return to execute step S102; S110, if there is only one unprocessed business item, process the unprocessed business item through the process node corresponding to the unprocessed business item; The step of determining a target process node that meets preset conditions from among the process nodes based on the respective business processing status of each process node includes: Obtain the business load of each of the aforementioned process nodes; Identify candidate process nodes whose business load is less than the preset load; When there are multiple candidate process nodes, a target process node is determined from the candidate process nodes based on preset rules; or If there is only one candidate process node, the candidate process node will be determined as the target process node. The preset rules include one or more of the following combinations: random selection rules, rules based on the distance between the candidate process node and the user initiating the business request, and rules based on the waiting time for the candidate process node to process newly assigned unprocessed business items.
2. The method of claim 1, wherein, The step of obtaining the business load of each of the process nodes includes: The address information of each process node is determined based on the process node index, wherein the process node index includes the association between process nodes and address information; Using the address information, locate the corresponding process nodes; Based on the record files of each process node, the business load of each process node is determined.
3. The method of claim 1, wherein, The method further includes: Receive multiple service requests; Add the multiple business requests to the data buffer; The following operations are performed for each service request, including: Business requests are retrieved from the data buffer to maintain the operation of a preset number of business requests being executed in parallel.
4. The method of claim 1, wherein, The process of processing business items at the target process node includes the process of users processing the business items, and the method further includes: Time the process of the user handling the business item in the target process node; When the timeout period exceeds the preset duration, a message is output to urge the user to perform the action.
5. The method of claim 1, wherein, The method further includes: Record the processing order of each processed business item; A business processing flow corresponding to the business request is generated based on the processing order.
6. The method of claim 1, wherein, The method further includes: The processing progress of the business request is generated based on all business items corresponding to the business request and each processed business item.
7. A service processing apparatus characterized by comprising: The device includes: The first determining module is used to determine the unprocessed business items among the various business items corresponding to the business request, and the process nodes used to process the unprocessed business items; The second determining module is used to determine the business processing status of each process node corresponding to the multiple unprocessed business items when there are multiple unprocessed business items. The third determining module is used to determine a target process node that meets preset conditions from each of the process nodes based on the business processing status of each process node. The loop module is used to return and call the first determination module after the target process node has processed the business items corresponding to the target process node among the multiple unprocessed business items. The processing module is used to process the unprocessed business item through the process node corresponding to the unprocessed business item when there is only one unprocessed business item; The third determining module includes: The acquisition submodule is used to acquire the business load of each of the process nodes. The first determination submodule is used to determine candidate process nodes whose business load is less than the preset load; The second determining submodule is used to determine a target process node from the candidate process nodes based on preset rules when there are multiple candidate process nodes. The third determining submodule is used to determine the candidate process node as the target process node when there is only one candidate process node. The preset rules include one or more of the following combinations: random selection rules, rules based on the distance between the candidate process node and the user initiating the business request, and rules based on the waiting time for the candidate process node to process newly assigned unprocessed business items.
8. A non-transitory computer-readable storage medium having stored thereon a computer program, characterized in that, When executed by a processor, the program implements the steps of the method described in any one of claims 1-6.
9. An electronic device, comprising: include: A memory on which computer programs are stored; A processor for executing the computer program in the memory to implement the steps of the method according to any one of claims 1-6.