A service execution method, device, apparatus and storage medium
By dividing the business to be executed into subtasks and managing priority queues, the rigidity of the existing data-driven job scheduling mechanism is solved, and efficient business execution and resource utilization are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- INDUSTRIAL AND COMMERCIAL BANK OF CHINA
- Filing Date
- 2026-02-27
- Publication Date
- 2026-07-21
AI Technical Summary
The existing data usage scheduling mechanism is rigid and difficult to apply to diverse data usage scenarios, resulting in complex management and low efficiency.
By dividing the business to be executed into subtasks, and determining the priority queue based on the task attribute information and business dependencies of the subtasks, including the execution priority of data import, data processing and data output, and updating strong dependencies according to business type, business scheduling is optimized.
It enables fine-grained business scheduling, optimizes the execution process of concurrent businesses, and improves business execution efficiency and resource utilization.
Smart Images

Figure CN122431855A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology and can be applied to the field of financial technology. Specifically, it relates to a business execution method, apparatus, device, and storage medium. Background Technology
[0002] With the digital transformation of banks and the diversification of business scenarios, there are many big data-related data usage scenarios. As the number of data usage scenarios increases, the number of data operations also increases, and the management of data operations becomes more and more complex.
[0003] The existing data usage scheduling mechanism is relatively rigid, inflexible, and difficult to apply to all data usage scenarios. Summary of the Invention
[0004] This application provides a business execution method, apparatus, device, and storage medium to improve the efficiency of business execution and resource utilization.
[0005] According to one aspect of this application, a business execution method is provided, the method comprising: Obtain at least two business processes to be executed, and divide the execution process of the business processes to be executed into subtasks; wherein, the subtasks include data import subtasks, data processing subtasks, and data output subtasks; Based on the task attribute information of the subtasks, a first subtask queue, a second subtask queue, and a third subtask queue are determined respectively; wherein, the first subtask queue is used to control the execution priority of the data import task; the second subtask queue is used to control the execution priority of the data processing subtask; and the third subtask queue is used to control the execution priority of the data output subtask. The strong dependencies between the pending tasks are determined based on their business types, and the first subtask queue is updated based on these strong dependencies; wherein, the strong dependency means that the execution of one pending task must depend on the output of another pending task. Based on the first sub-task queue, the second sub-task queue, and the third task queue, business processing is performed on the business to be executed.
[0006] According to another aspect of this application, a business execution apparatus is provided, the apparatus comprising: The subtask division module is used to acquire at least two business processes to be executed and to divide the execution process of the business processes to be executed into subtasks; wherein, the subtasks include data import subtasks, data processing subtasks, and data output subtasks; The task queue determination module is used to determine a first subtask queue, a second subtask queue, and a third subtask queue based on the task attribute information of the subtasks; wherein, the first subtask queue is used to control the execution priority of the data import task; the second subtask queue is used to control the execution priority of the data processing subtask; and the third subtask queue is used to control the execution priority of the data output subtask. The queue update module is used to determine the strong dependencies between pending tasks based on the task type, and update the first subtask queue based on the strong dependencies; wherein, the strong dependency means that the execution of one pending task must depend on the output of another pending task. The business processing module is used to perform business processing on the business to be executed based on the first sub-task queue, the second sub-task queue, and the third task queue.
[0007] According to another aspect of this application, an electronic device is provided, the electronic device comprising: One or more processors; Memory, used to store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement any of the business execution methods provided in the embodiments of this application.
[0008] According to another aspect of this application, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements any of the business execution methods provided in the embodiments of this application.
[0009] According to another aspect of this application, a computer program product is provided, including a computer program that, when executed by a processor, implements any of the business execution methods provided in the embodiments of this application.
[0010] This application divides the business to be processed into subtasks, and determines the execution priority of subtasks in each subtask queue based on the task attribute information of the subtasks and the business dependencies of the business to be processed. Based on the first subtask queue, the second subtask queue, and the third task queue, the business to be executed is processed, realizing fine-grained business scheduling of the business to be executed, optimizing the execution process of concurrent business to be executed, and improving business execution efficiency. Attached Figure Description
[0011] Figure 1 This is a flowchart of a business execution method provided according to Embodiment 1 of this application; Figure 2 This is a flowchart of a business execution method provided according to Embodiment 2 of this application; Figure 3 This is a schematic diagram of a business execution device according to Embodiment 3 of this application; Figure 4 This is a schematic diagram of the structure of an electronic device that implements the business execution method of Embodiment 4 of this application. Detailed Implementation
[0012] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.
[0013] The information collected in this application embodiment is information and data authorized by the user or fully authorized by all parties. The collection, storage, use, processing, transmission, provision, disclosure and application of the relevant data all comply with the relevant laws, regulations and standards of the relevant countries and regions, necessary confidentiality measures have been taken, and they do not violate public order and good morals. Corresponding operation entry points are provided for users to choose to authorize or refuse.
[0014] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0015] Example 1 Figure 1 This is a flowchart of a business execution method according to Embodiment 1 of this application. This embodiment is applicable to the situation of business scheduling and execution of concurrent services, and can be executed by a business execution device. This business execution device can be implemented in hardware and / or software, and can be configured in a computer device, such as a server. Figure 1 As shown, the method includes: S110. Obtain at least two pending tasks and divide the execution process of the pending tasks into subtasks.
[0016] Here, the pending execution business refers to data operations within a bank that require access to data tables. It should be noted that different pending execution businesses require access to different data tables; that is, different pending execution businesses correspond to different data types of pending data objects, and different data supervision levels for these data objects. Optionally, the data supervision level can be used to characterize the data security level. Different data supervision levels correspond to different data retrieval methods and data encryption methods. In this embodiment of the invention, the data supervision level corresponding to the data table can be adaptively set according to those skilled in the art.
[0017] Subtasks can include data import subtasks, data processing subtasks, and data output subtasks. It's important to note that a business process to be executed can be divided into three subtasks. The data processing subtask will only be invoked and executed after the data import subtask has been completed, and the data output subtask will only be invoked and executed after the data processing subtask has been completed.
[0018] Optionally, the pending business operations can be divided into corporate business and retail business. Corporate business refers to business transactions with bank customers, such as transaction history inquiries; retail business refers to internal bank operations, such as financial statement processing. For example, data operations can cover multiple banking business scenarios, such as anti-fraud operations in risk management. Anti-fraud operations require access to the bank's stored customer transaction information table, fraud rule table, customer risk profile table, and blacklist table. The customer transaction information table stores information such as transaction amount, transaction time, and transaction location; the fraud rule table stores thresholds for abnormal transaction amounts, etc. For cross-regional transaction assessment and abnormal transaction frequency, a customer risk profile table stores customer risk levels, historical abnormal transaction records, and risk warnings; a blacklist table stores fraud lists and risky internet protocol addresses; in financial management scenarios, financial statement operations require access to the bank's stored general ledger, subsidiary ledgers, asset flow statements, and balance sheets; the general ledger stores general ledger data for all bank accounts, subsidiary ledgers record detailed transaction data for each bank account, asset flow statements record bank asset inflows and outflows, and the balance sheet records the bank's ending assets and liabilities.
[0019] S120. Determine the first subtask queue, the second subtask queue, and the third subtask queue based on the task attribute information of the subtasks.
[0020] The task attribute information can be divided into three business attribute dimensions: processing time, data object, and business type. It should be noted that each business attribute dimension has its own corresponding weight. Optionally, the sum of the weights of the three business attribute dimensions can be set to 1, and the weight of each business attribute dimension can be adaptively set according to those skilled in the art.
[0021] The first subtask queue can be used to control the execution priority of data import tasks; the second subtask queue can be used to control the execution priority of data processing subtasks; and the third subtask queue can be used to control the execution priority of data output subtasks.
[0022] S130. Determine the strong dependencies between the tasks to be executed based on their business types, and update the first subtask queue based on these strong dependencies.
[0023] Strong dependencies refer to situations where the execution of one pending task depends on the output of another pending task; for example, a bank's end-of-day clearing process must be executed after the transaction data aggregation process. It should be noted that updates to the first subtask queue can be performed in real time.
[0024] Optionally, the strong dependencies between the pending business operations are determined based on their business types, and the first subtask queue is updated based on these strong dependencies. This includes: performing dependency analysis on the execution dependencies of the pending business operations according to the business execution logic, and determining at least one dependency queue; determining at least one target business group based on the dependency queue; traversing the first subtask queue, and removing any data import subtasks corresponding to subsequent pending business operations in the target business group if they exist in the first subtask queue; and detecting the execution status of data output subtasks of preceding pending business operations in the target business group, and prioritizing the data import subtasks corresponding to subsequent pending business operations if the execution status is detected as complete.
[0025] Among them, business execution logic can refer to the business execution process of the business to be executed, such as which review nodes or processing nodes need to be passed.
[0026] The target business group can include two pending business processes with strong dependencies. It should be noted that within the target business group, the execution of the subsequent pending business process must depend on the output of the preceding pending business process.
[0027] By updating the first subtask queue based on the strong dependencies between pending business operations, the normal execution of pending business operations is ensured, and the occurrence rate of business execution anomalies is reduced.
[0028] S140. Based on the first subtask queue, the second subtask queue, and the third task queue, perform business processing on the business to be executed.
[0029] Specifically, in this embodiment of the invention, the business to be executed can be processed sequentially according to the execution priority order corresponding to the first sub-task queue, the second sub-task queue, and the third task queue.
[0030] This application embodiment divides the business to be processed into subtasks, and determines the execution priority of subtasks in each subtask queue based on the task attribute information of the subtasks and the business dependencies of the business to be processed. Based on the first subtask queue, the second subtask queue, and the third task queue, the business to be executed is processed, realizing fine-grained business scheduling of the business to be executed, optimizing the execution process of concurrent business to be executed, and improving business execution efficiency.
[0031] Example 2 Figure 2 This is a flowchart of a business execution method according to Embodiment 2 of this application. Based on the technical solutions of the above embodiments, this embodiment further refines the process of "determining the first sub-task queue, the second sub-task queue, and the third sub-task queue based on the task attributes of the sub-tasks." It should be noted that for parts not detailed in this embodiment, please refer to the relevant descriptions in other embodiments. For example... Figure 2 As shown, the method includes: S210. Perform cluster analysis on the historical execution data of the subtasks to determine the expected processing time of the subtasks and the time weight corresponding to the expected processing time.
[0032] Historical execution data may include information such as business type, number of CPU cores, memory size, and execution time.
[0033] It should be noted that those skilled in the art can use a preset clustering algorithm to perform cluster analysis on the historical execution data of the subtasks, generate a clustering regression model, and use the generated clustering regression model to predict the processing time of the business to be executed, thereby determining the expected processing time corresponding to the business to be executed. Optionally, the clustering algorithm can be adaptively configured according to those skilled in the art.
[0034] S220. Determine the data object weight of the business data object to be processed based on the data supervision level of the business data object to be processed in the subtask.
[0035] Among them, the data supervision levels correspond to different data types of pending business data objects. S230. Determine the business weight corresponding to the business type based on the business type of the business to be executed and the preset business type weight mapping table.
[0036] The time weight can be determined based on the processing time weight mapping table, where a shorter expected processing time corresponds to a larger weight value. The data object weight can be determined based on the regulatory level weight mapping table, which defines the regulatory level corresponding to different data types of banking business data and the corresponding weight value. The business type weight mapping table presets the business value urgency of different business types of banking business and the corresponding weight value. Optionally, the processing time weight mapping table, regulatory level weight mapping table, and business type weight mapping table can be adapted to the needs of those skilled in the art.
[0037] It should be noted that the duration weight can refer to the score of the subtask's expected processing time in the processing time dimension, which can be used to characterize the resource consumption time of the subtask. The data object weight can refer to the score of the business to be executed in the data object dimension, which can be used to characterize the importance of the data objects of the business to be processed. The business weight can be used to characterize the business value urgency of the business to be processed.
[0038] S240. Perform weighted calculations based on duration weight, data object weight, business weight, and business attribute dimension weight, and prioritize each type of subtask according to the weighted calculation results to determine the first subtask queue, second subtask queue, and third subtask queue corresponding to each type of subtask.
[0039] The business attribute dimensions can include processing time, business type, and data object dimensions.
[0040] Specifically, the weighted calculation results for each subtask can be prioritized according to their size, generating a subtask queue. It should be noted that the size of the subtask queue can be adaptively set by those skilled in the art.
[0041] Alternatively, a weighted calculation can be performed using the following formula: ; Where W is the weighted calculation result of the sub-tasks, , as well as Weights for business attribute dimensions. , as well as These are the weight values for A, B, and C, respectively. A represents the estimated processing time for the pending business, B represents the data supervision level for the pending business data object, and C represents the urgency of the business value corresponding to the business type.
[0042] Optionally, the weights of business attribute dimensions can be dynamically updated based on the bank's current business window and the bank's real-time system resources.
[0043] For example, when a bank is in its year-end audit period or annual reporting period, it can increase the dimension weight corresponding to the data object dimension and decrease the dimension weight corresponding to the business type dimension; when a bank is in its business promotion period, it can increase the dimension weight corresponding to the business type dimension and decrease the dimension weight corresponding to the processing time dimension; when the bank's business system is found to be inadequate, it can increase the dimension weight corresponding to the processing time dimension and decrease the dimension weight corresponding to the data object dimension.
[0044] By dynamically updating the weights of business attribute dimensions, the adaptability of scheduling pending business operations to business windows and the adaptability of pending business operations to bank system resources has been improved.
[0045] Optionally, after generating the first sub-task queue, the second sub-task queue, and the third task queue, the method further includes: updating the first sub-task queue, the second sub-task queue, and the third task queue in real time based on the real-time system resources of the execution units corresponding to the first sub-task queue, the second sub-task queue, and the execution time window constraints of the business to be executed.
[0046] Among them, the execution time window constraint can be used to characterize the jobs to be executed that have a fixed processing time window constraint.
[0047] For example, the resource utilization rate of the execution unit in which each subtask queue is located can be monitored in real time. If the resource utilization rate is greater than a first utilization rate threshold, the weighted calculation result of subtasks with an expected processing time greater than a first processing time is reduced by a first proportion, and the weighted calculation result of subtasks with an expected processing time less than a second processing time is increased by a second proportion. Optionally, the first utilization rate threshold, the first processing time, and the second processing time can be adaptively set according to those skilled in the art. For example, when the resource utilization rate is greater than 80%, the weighted calculation result of subtasks with an expected processing time greater than 4 hours is multiplied by 0.7, and the weighted calculation result of subtasks with an expected processing time less than 1 hour is multiplied by 1.2.
[0048] For jobs pending execution with fixed processing time window constraints, the priority of subtasks can be updated based on the current time and the end processing time specified by the fixed processing time window. For example, if the remaining time of the pending job within the fixed processing time window constraint is greater than a first preset time (e.g., twice the total estimated processing time of the subtasks), the priority of each subtask remains unchanged. If the remaining time of the pending job within the fixed processing time window constraint is greater than a second preset time (e.g., the total estimated processing time of the subtasks) and the remaining time is less than the first preset time, the execution priority of each subtask of the pending job is increased. If the remaining time of the pending job within the fixed processing time window constraint is less than the second preset time, emergency scheduling is triggered, and the subtasks corresponding to the pending job are executed first.
[0049] By constraining the real-time system resources of the execution unit and the execution time window of the pending business, the priority of the queue is updated, which improves resource utilization and ensures the timely execution of pending business.
[0050] This application embodiment determines the execution priority of the subtask queue by weighting multiple business attribute dimensions based on duration weight, data object weight, business weight, and business attribute dimension weight. By comprehensively considering multiple business attribute dimensions, it ensures the stability of business execution in scenarios with multiple business attribute dimensions.
[0051] Example 3 Figure 3 This is a schematic diagram of a business execution device according to Embodiment 3 of this application. It is applicable to situations involving business scheduling and execution of concurrent services. This business execution device can be implemented in hardware and / or software and can be configured in a computer device, such as a server. Figure 3 As shown, the device includes: The subtask division module 310 is used to acquire at least two business processes to be executed and to divide the execution process of the business processes to be executed into subtasks; wherein, the subtasks include a data import subtask, a data processing subtask, and a data output subtask; The task queue determination module 320 is used to determine a first subtask queue, a second subtask queue, and a third subtask queue based on the task attribute information of the subtasks; wherein, the first subtask queue is used to control the execution priority of the data import task; the second subtask queue is used to control the execution priority of the data processing subtask; and the third subtask queue is used to control the execution priority of the data output subtask. The queue update module 330 is used to determine the strong dependencies between the pending tasks based on the task type, and update the first subtask queue based on the strong dependencies; wherein, the strong dependency means that the execution of one pending task must depend on the output of another pending task. The business processing module 340 is used to perform business processing on the business to be executed according to the first sub-task queue, the second sub-task queue and the third task queue.
[0052] This application embodiment divides the business to be processed into subtasks, and determines the execution priority of subtasks in each subtask queue based on the task attribute information of the subtasks and the business dependencies of the business to be processed. Based on the first subtask queue, the second subtask queue, and the third task queue, the business to be executed is processed, realizing fine-grained business scheduling of the business to be executed, optimizing the execution process of concurrent business to be executed, and improving business execution efficiency.
[0053] Optionally, the task queue determination module 320 includes: The duration weighting unit is used to perform cluster analysis on the historical execution data of the subtask to determine the expected processing time of the subtask and the duration weight corresponding to the expected processing time. The data object weighting unit is used to determine the data object weight of the business data object to be processed based on the data supervision level of the business data object to be processed in the subtask; wherein, the data supervision level is different for business data objects of different data types. The business weight unit is used to determine the business weight corresponding to the business type based on the business type of the business to be executed and a preset business type weight mapping table; The weighting unit is used to perform weighted calculations based on the duration weight, the data object weight, the business weight, and the business attribute dimension weight, and to prioritize each type of subtask based on the weighted calculation results, thereby determining the first subtask queue, the second subtask queue, and the third subtask queue corresponding to each type of subtask.
[0054] Optionally, the time weight is determined according to a processing time weight mapping table, where the shorter the expected processing time, the greater the corresponding weight value; the data object weight is determined according to a regulatory level weight mapping table, which defines the regulatory level corresponding to different types of banking business data and the weight value corresponding to the regulatory level; the business type weight mapping table presets the business value urgency of different business types of banking business and the weight value corresponding to the business value urgency.
[0055] Optionally, the weights of the business attribute dimensions are dynamically updated based on the bank's current business window and the bank's real-time system resources; the business attribute dimensions include processing time dimension, business type dimension, and data object dimension.
[0056] Optionally, the queue update module 330 includes: The dependency determination unit is used to perform dependency analysis on the execution dependencies of the business to be executed based on the business execution logic, and determine at least one dependency queue. The target business group unit is used to determine at least one target business group based on the dependency queue; wherein, the target business group includes two business processes to be executed that have a strong dependency relationship; The queue update unit is used to traverse the first subtask queue. If there is a data import subtask corresponding to the subsequent pending business in the target business group in the first subtask queue, the data import subtask is removed. The execution status of the data output subtask of the preceding pending business in the target business group is detected. If the execution status is detected as completed, the data import subtask corresponding to the subsequent pending business is put into the first subtask queue for priority sorting.
[0057] Optionally, the device may also include: The update module is used to update the first sub-task queue, the second sub-task queue, and the third task queue in real time after generating them, based on the real-time system resources of the execution units corresponding to the first sub-task queue, the second sub-task queue, and the third task queue, as well as the execution time window constraints of the business to be executed.
[0058] The business execution apparatus provided in this application embodiment can execute the business execution method provided in any embodiment of this application, and has the corresponding functional modules and beneficial effects for executing each business execution method.
[0059] According to embodiments of this application, this application also provides an electronic device, a readable storage medium, and a computer program product.
[0060] Example 4 Figure 4This is a schematic diagram of the structure of an electronic device 410 implementing the business execution method of an embodiment of this application. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (such as helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present application described and / or claimed herein.
[0061] like Figure 4 As shown, the electronic device 410 includes at least one processor 411 and a memory, such as a read-only memory 412 or a random access memory 413, communicatively connected to the at least one processor 411. The memory stores computer programs executable by the at least one processor. The processor 411 can perform various appropriate actions and processes based on the computer program stored in the read-only memory 412 or loaded from storage unit 418 into the random access memory 413. The random access memory 413 can also store various programs and data required for the operation of the electronic device 410. The processor 411, read-only memory 412, and random access memory 413 are interconnected via a bus 414. An input / output interface 415 is also connected to the bus 414.
[0062] Multiple components in electronic device 410 are connected to input / output interface 415, including: input unit 416, such as keyboard, mouse, etc.; output unit 417, such as various types of monitors, speakers, etc.; storage unit 418, such as disk, optical disk, etc.; and communication unit 419, such as network card, modem, wireless transceiver, etc. Communication unit 419 allows electronic device 410 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0063] Processor 411 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 411 include, but are not limited to, central processing units, graphics processing units, various special-purpose artificial intelligence computing chips, various processors running machine learning model algorithms, digital signal processors, and any suitable processor, controller, microcontroller, etc. Processor 411 performs the various methods and processes described above, such as business execution methods.
[0064] In some embodiments, the service execution method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 418. In some embodiments, part or all of the computer program may be loaded and / or installed on electronic device 410 via read-only memory 412 and / or communication unit 419. When the computer program is loaded into random access memory 413 and executed by processor 411, one or more steps of the service execution method described above may be performed. Alternatively, in other embodiments, processor 411 may be configured as the service execution method by any other suitable means (e.g., by means of firmware).
[0065] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays, application-specific integrated circuits (ASICs), application-specific standard products (ASICs), systems-on-a-chip (SoCs), payload programmable logic devices, computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0066] Computer programs used to implement the methods of this application may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable business execution device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0067] In the context of this application, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium can be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory, read-only memory, erasable programmable read-only memory, optical fibers, portable compact disk read-only memory, optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0068] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a cathode ray tube or liquid crystal display monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0069] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.
[0070] A computing system can include clients and servers. Clients and servers are generally geographically separated and typically interact via communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a host product within the cloud computing service system to address the shortcomings of traditional physical hosts and virtual private servers, such as high management difficulty and weak business scalability.
[0071] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this application can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this application can be achieved, and this is not limited herein.
[0072] The specific embodiments described above do not constitute a limitation on the scope of protection of this application. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this application should be included within the scope of protection of this application.
Claims
1. A business execution method, characterized in that, include: Obtain at least two business processes to be executed, and divide the execution process of the business processes to be executed into subtasks; wherein, the subtasks include data import subtasks, data processing subtasks, and data output subtasks; Based on the task attribute information of the subtasks, a first subtask queue, a second subtask queue, and a third subtask queue are determined respectively; wherein, the first subtask queue is used to control the execution priority of the data import task; the second subtask queue is used to control the execution priority of the data processing subtask; and the third subtask queue is used to control the execution priority of the data output subtask. The strong dependencies between the pending tasks are determined based on their business types, and the first subtask queue is updated based on these strong dependencies; wherein, the strong dependency means that the execution of one pending task must depend on the output of another pending task. Based on the first sub-task queue, the second sub-task queue, and the third task queue, business processing is performed on the business to be executed.
2. The method according to claim 1, characterized in that, The process of determining the first subtask queue, the second subtask queue, and the third subtask queue based on the task attributes of the subtasks includes: Cluster analysis is performed on the historical execution data of the subtasks to determine the expected processing time of the subtasks and the time weight corresponding to the expected processing time. The data object weight of the business data object to be processed is determined based on the data supervision level of the business data object to be processed in the subtask; wherein, the data supervision level is different for business data objects of different data types. The business weight corresponding to the business type is determined based on the business type of the business to be executed and the preset business type weight mapping table; Based on the duration weight, the data object weight, the business weight, and the business attribute dimension weight, a weighted calculation is performed, and the priority of each type of subtask is sorted according to the weighted calculation result to determine the first subtask queue, the second subtask queue, and the third subtask queue corresponding to each type of subtask.
3. The method according to claim 2, characterized in that, The time weight is determined according to the processing time weight mapping table. The shorter the expected processing time in the processing time weight mapping table, the greater the corresponding weight value. The data object weight is determined according to the regulatory level weight mapping table. The regulatory level weight mapping table is used to define the regulatory level corresponding to different data types of banking business data and the weight value corresponding to the regulatory level. The business type weight mapping table presets the business value urgency of different business types of banking business and the weight value corresponding to the business value urgency.
4. The method according to claim 2, characterized in that, The weights of the business attribute dimensions are dynamically updated based on the bank's current business window and the bank's real-time system resources; the business attribute dimensions include processing time dimension, business type dimension, and data object dimension.
5. The method according to claim 1, characterized in that, The process of determining strong dependencies between pending tasks based on their service types and updating the first subtask queue based on these strong dependencies includes: Based on the business execution logic, perform dependency analysis on the execution dependencies of the business to be executed, and determine at least one dependency queue; At least one target business group is determined based on the dependency queue; wherein, the target business group includes two business processes to be executed that have a strong dependency relationship; The first subtask queue is traversed. If there is a data import subtask corresponding to the subsequent pending business in the target business group in the first subtask queue, the data import subtask is removed. The execution status of the data output subtask of the preceding pending business in the target business group is detected. If the execution status is detected as completed, the data import subtask corresponding to the subsequent pending business is placed into the first subtask queue for priority sorting.
6. The method according to claim 1, characterized in that, After generating the first sub-task queue, the second sub-task queue, and the third task queue, the process further includes: Based on the real-time system resources of the execution units corresponding to the first sub-task queue, the second sub-task queue, and the third task queue, as well as the execution time window constraints of the business to be executed, the first sub-task queue, the second sub-task queue, and the third task queue are updated in real time.
7. A business execution device, characterized in that, include: The subtask division module is used to acquire at least two business processes to be executed and to divide the execution process of the business processes to be executed into subtasks; wherein, the subtasks include data import subtasks, data processing subtasks, and data output subtasks; The task queue determination module is used to determine a first subtask queue, a second subtask queue, and a third subtask queue based on the task attribute information of the subtasks; wherein, the first subtask queue is used to control the execution priority of the data import task; the second subtask queue is used to control the execution priority of the data processing subtask; and the third subtask queue is used to control the execution priority of the data output subtask. The queue update module is used to determine the strong dependencies between pending tasks based on the task type, and update the first subtask queue based on the strong dependencies; wherein, the strong dependency means that the execution of one pending task must depend on the output of another pending task. The business processing module is used to perform business processing on the business to be executed based on the first sub-task queue, the second sub-task queue, and the third task queue.
8. An electronic device, characterized in that, include: One or more processors; Memory, used to store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the business execution method as described in any one of claims 1-6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the business execution method as described in any one of claims 1-6.
10. A computer program product comprising a computer program that, when executed by a processor, implements the business execution method according to any one of claims 1-6.