Service processing method and system, and related device
By abstracting the business process into multiple steps, configuring the operation corresponding to each step, and generating a calculation template, the problem of high business development and maintenance costs in existing technologies is solved, and efficient template modification and maintenance are achieved.
Patent Information
- Application Number
- PCT/CN2025/096545
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-04
- Filing Date
- 2025-05-22
- Publication Date
- 2025-12-11
AI Technical Summary
In existing technologies, the confusion between business logic and computational logic in calculation templates during business processing leads to high business development and maintenance costs, and makes it difficult to accurately locate the parts that need to be modified.
The business process is abstracted into multiple steps with independent meanings. By configuring the operation corresponding to each step, a calculation template is generated. Users only need to modify the data corresponding to the steps to cope with business changes, reducing the difficulty of development and maintenance.
It improves the efficiency of business analysis and the development and maintenance of calculation templates, reduces the difficulty for users to analyze business data, and simplifies the template modification process.
Smart Images

Figure CN2025096545_11122025_PF_FP_ABST
Abstract
Description
Business processing method, system and related device
[0001] The present application claims priority from the Chinese patent application No. 202410718051.1 filed on June 04, 2024, and entitled "A business processing method, system and related device", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD
[0002] The present application relates to the technical field of computer, and in particular, to a business processing method, system and related device. BACKGROUND
[0003] In the process of operation, enterprises need to process data corresponding to various businesses. Currently, when processing data corresponding to a business, unknown parameters in a calculation template corresponding to the business are assigned values, and then the calculation template is run to obtain a processing result. The calculation template is a collection of multiple codes. In the calculation template, the codes are assembled through the calling relationship between programming languages and functions, so that the processing process of the business and the calculation process are confused. When the business changes and the template needs to be updated, for example, when a step is added or deleted in the current processing process of the business, the user cannot accurately locate the part that needs to be modified in the calculation template, so a lot of time is consumed for modification, resulting in high development and maintenance cost of the business. SUMMARY
[0004] The present application provides a business processing method, system and related device. The processing process of a business is abstracted into multiple steps with business meaning, and the multiple steps are converted into a calculation template by configuring data corresponding to the steps. In this way, when the business changes, the modification of the template can be realized by modifying the data corresponding to the steps according to the business logic, and the efficiency of developing and maintaining the calculation template is improved.
[0005] In a first aspect, the present application provides a business processing method, comprising: a business processing system obtaining template information, which can be a business name or a template identifier, for obtaining a calculation template corresponding to a business; the business processing system obtaining the calculation template corresponding to the business according to the template information, the calculation template comprising a plurality of steps for implementing the business, wherein each of the plurality of steps corresponds to at least one operation. Since there are unknown variables in the operations included in the calculation template, i.e., the operation objects of each operation are unknown, the business processing system then provides the calculation template to a user to obtain business data input by the user based on the calculation template, the business data including the operation objects of at least one operation corresponding to each step. The business processing system generates an executable operation set corresponding to the business according to the business data and at least one operation corresponding to each step, the operation set comprising a set of a plurality of operation instructions for accessing data in a database, and finally sends the operation set to the database to make a database engine execute the operation result to obtain an execution result and obtain the execution result from the database.
[0006] For a business, the business processing process of the business is abstracted into a plurality of steps, each step representing a process having an independent meaning in the business processing process, and each step is configured with an operation for implementing the step, and then a calculation template corresponding to the business is obtained based on the operation corresponding to each step, i.e., the calculation template comprises a plurality of operations for implementing the business. Each operation can be represented by a structured query language (SQL) statement. When a result corresponding to a business is needed, the business processing system obtains the calculation template corresponding to the business and provides it to a user, the calculation template comprising a plurality of steps for implementing the business, so that the user only needs to configure the operation objects of each operation corresponding to each step in the calculation template according to the calculation template corresponding to the business, such as unknown variables in the above-mentioned SQL statement, and the business processing system can obtain an executable operation set corresponding to the business, and then obtain a result corresponding to the business according to the executable operation set, thereby reducing the difficulty of analyzing business data for the user and improving the efficiency of business analysis.
[0007] In addition, by abstracting the processing process of a business into a plurality of steps, configuring an operation for implementing each step, and then obtaining a calculation template corresponding to each business, when the business changes, such as when a step needs to be added, only the operation data corresponding to the step needs to be configured, i.e., when the calculation template corresponding to the business needs to be modified, only the operation data corresponding to each step needs to be modified, and then a new calculation template is generated based on the modified steps, thereby achieving modification of the calculation template corresponding to the business, reducing the difficulty of developing and maintaining the calculation template corresponding to the business, and improving the efficiency of development and maintenance.
[0008] In a possible implementation, before the obtaining of the service request, the method further includes: obtaining, by the service processing system, a setting request for a computing template of the service; setting a plurality of steps for the service according to the setting request, and setting an execution order of the plurality of steps; wherein the setting of any one of the plurality of steps includes: setting at least one operation corresponding to each step; compiling the at least one operation into an executable operation set, and establishing a mapping between the at least one operation and the executable operation set; and generating the executable operation set corresponding to the computing template according to the execution order of the plurality of steps.
[0009] The service processing procedure of the service is abstracted into a plurality of steps, each of which represents a procedure with independent meaning in the service processing procedure, and then the computing template corresponding to the service is obtained by configuring the operation corresponding to each step for implementing the step and the execution order of the plurality of steps. After the operation corresponding to each step is configured, each operation can be compiled to obtain an executable operation set, and a mapping between each operation and the corresponding executable operation set is established, so that when the operation needs to be executed, the executable operation set corresponding to the operation can be obtained according to the mapping to implement the operation.
[0010] In a possible implementation, the method further includes: receiving, by the service processing system, a modification request for the computing template; and modifying at least one operation in the plurality of steps, or adding a step or deleting a step in the plurality of steps according to the modification request.
[0011] By abstracting the processing procedure of a service into a plurality of steps, configuring the operation corresponding to each step for implementing the step, and then obtaining the computing template corresponding to each service, when the service changes, for example, a step needs to be added, only the operation corresponding to the step needs to be configured, that is, when the computing template corresponding to the service needs to be modified, only the operation corresponding to each step needs to be modified, and then a new computing template is generated based on the modified steps, so that the modification of the computing template corresponding to the service is realized, the development and maintenance difficulty of the computing template corresponding to the service is reduced, and the development and maintenance efficiency is improved.
[0012] In a possible implementation, before the sending of the operation set to the database for execution, the method further includes: identifying operation instructions that can be executed in parallel in the plurality of operation instructions, and determining the execution order of the plurality of operation instructions according to the identification result.
[0013] The business processing system can determine operation instructions with dependency relationship according to the input and output of operation instructions, and then determine the execution order of operation instructions according to the operation instructions with dependency relationship. Among them, the source operation instruction is executed before the target operation instruction between two operation instructions with dependency relationship, and the output of the source operation instruction is the input of the target operation instruction. The operation instructions without dependency relationship can be executed in parallel. The execution order of operation instructions determined by the above method can improve the efficiency of executing operation instructions and reduce the time of obtaining business results.
[0014] In a second aspect, the application provides a business processing system, which comprises a communication module and a processing module. The communication module is configured to obtain a business request, the business request comprising template information of a business; the processing module is configured to obtain a calculation template corresponding to the business according to the template information, the calculation template comprising a plurality of steps for implementing the business, each step of the plurality of steps corresponding to at least one operation; the processing module is further configured to provide the calculation template to a user, and obtain business data input by the user based on the calculation template, the business data comprising operation objects of the at least one operation corresponding to each step; and generate an executable operation set corresponding to the business according to the business data and the at least one operation included in each step, the executable operation set comprising a set of operation instructions for accessing data in a database; and the communication module is further configured to send the operation set to the database for execution, and obtain a database execution result.
[0015] In a possible implementation, the communication module is further configured to obtain a setting request for the calculation template of the business; and the processing module is further configured to set a plurality of steps for the business according to the setting request, and set an execution order of the plurality of steps; wherein when setting any one step of the plurality of steps, the processing module is specifically configured to: set the at least one operation corresponding to each step; compile the at least one operation into an executable operation set, and establish a mapping between the at least one operation and the executable operation set; and generate an executable operation set corresponding to the calculation template according to the execution order of the plurality of steps.
[0016] In a possible implementation, the communication module is further configured to receive a modification request for the calculation template; and the processing module is further configured to modify at least one operation in the plurality of steps according to the modification request, or add a step or delete a step in the plurality of steps.
[0017] In a possible implementation, before the communication module sends the operation set to the database for execution, the processing module is further configured to: identify operation instructions capable of being executed in parallel in the plurality of operation instructions, and determine the execution order of the plurality of operation instructions according to the identification result.
[0018] In a third aspect, the present application provides a computing device, comprising a processor and a memory, wherein the memory is configured to store instructions, and the processor is configured to execute the instructions stored in the memory to implement the method in the first aspect or any possible implementation manner of the first aspect.
[0019] In a fourth aspect, the present application provides a computing device cluster, comprising at least one computing device, each computing device comprising a processor and a memory, wherein the processor of each computing device is configured to execute the instructions stored in the memory to enable the computing device cluster to implement the method in the first aspect or any possible implementation manner of the first aspect.
[0020] In a fifth aspect, the present application provides a computer readable storage medium, comprising computer program instructions, when the computer program instructions are executed by a computing device cluster, enabling the computing device to implement the method in the first aspect or any possible implementation manner of the first aspect.
[0021] In a sixth aspect, the present application provides a computer program product, comprising a computer program, when the computer program is run by a computing device cluster, implementing the method in the first aspect or any possible implementation manner of the first aspect.
[0022] On the basis of the implementation manners of the aspects of the present application, further combinations can be made to provide more implementation manners. BRIEF DESCRIPTION OF DRAWINGS
[0023] FIG. 1 is a schematic diagram of a management system provided by the present application;
[0024] FIG. 2 is a schematic diagram of a business processing method provided by the present application;
[0025] FIG. 3 is a schematic diagram of a flow of initializing allocation data in an allocation scenario provided by the present application;
[0026] FIG. 4 is a schematic diagram of an execution sequence of operations corresponding to a plurality of business nodes provided by the present application;
[0027] FIG. 5 is a schematic diagram of an execution sequence corresponding to a plurality of Sql statements provided by the present application;
[0028] FIG. 6 is a schematic diagram of a business processing method provided by the present application;
[0029] FIG. 7 is a schematic diagram of a management system provided by the present application;
[0030] FIG. 8 is a schematic diagram of a computing device provided by the present application;
[0031] FIG. 9 is a schematic diagram of a connection between two computing devices through a network according to the present application. DETAILED DESCRIPTION
[0032] The business processing method provided by the present application will be described in detail below with reference to the accompanying drawings.
[0033] In the process of operation, a company usually needs to account for the results of operation, such as allocating business, double-counting business, offsetting business, etc. The data corresponding to various businesses need to be processed. When the data corresponding to a business is processed, unknown parameters in the calculation template corresponding to the business are assigned values, and then the calculation template is run to obtain the processing result. The above calculation template is a collection of multiple codes, which are assembled by calling relationship between programming languages and functions to obtain the calculation template. However, this method will cause the calculation logic of the business in the calculation template to be confused with the business logic. When the business logic changes, i.e., the processing process of the business changes and the template needs to be updated, for example, a step is added or deleted in the current processing process of the business, since the processing process of the business is confused with the calculation process, the part that needs to be modified in the calculation template cannot be accurately located, which may result in a large amount of time being spent on modification, leading to high development and maintenance cost of the business.
[0034] For a running department of a company, various reports are usually generated to summarize the results of operation. Each report includes multiple report items, and each report item is usually obtained based on the result of at least one business. In the present application, for a business, the business processing process of the business is abstracted into multiple steps, each step representing a step having an independent meaning in the business processing process, and the execution order of the steps embodies the processing process of the business. Then, according to a preset data structure, configuration data corresponding to each step is configured, and each step is converted into structured data of the corresponding preset data structure, wherein the structured data corresponding to a step includes an operation for implementing the step, which can be represented by structured query language (SQL), for example. Then, based on the structured data corresponding to each step, a calculation template corresponding to the business is obtained. By abstracting the processing process of a business into multiple steps, configuring the data corresponding to each step based on a preset data structure, and then obtaining the calculation template corresponding to each business, when the business changes, for example, a step needs to be added, only the related data of the step needs to be configured according to the preset data structure, i.e., when the calculation template corresponding to the business needs to be modified, only the structured data corresponding to the steps needs to be modified, and then a new calculation template is generated based on the modified structured data corresponding to each step, which can realize the modification of the calculation template corresponding to the business, reduce the development and maintenance difficulty of the calculation template corresponding to the business, and improve the efficiency of development and maintenance.
[0035] The management system for implementing the business processing method provided in the present application will be described below in combination with FIG. 1.
[0036] FIG. 1 is a schematic diagram of a management system provided in the present application, which includes a client 100 and a business processing system 200. The client 100 and the business processing system 200 are communicatively connected, and the client 100 that establishes a communication connection with the business processing system 200 can be one or more, which is not specifically limited in the present application.
[0037] The business processing system 200 can be deployed on a single computing device or a computing device cluster including multiple computing devices, and the computing device can be a server, a virtual machine, a container, or an edge computing device. The virtual machine refers to a complete computer system that is simulated by software, runs in a completely isolated environment, and has complete hardware system functions. The work that can be completed in a physical computer can also be realized in a virtual machine. When creating a virtual machine in a computing device, part of the hard disk and memory capacity of the physical machine needs to be used as the hard disk and memory capacity of the virtual machine. Each virtual machine has an independent basic input / output system, hard disk, and operating system, and can be operated like a physical machine; the container is a portable software unit that can combine an application and all its dependencies into a software package that is not limited by the underlying host operating system, so that the complex environment no longer needs to be built, and the application development and deployment process is simplified; the edge computing device refers to a device that is closer to the data source and the end user, has low latency, and high bandwidth characteristics, such as a smart router, an edge server, etc. The computing device cluster can include multiple computing devices as described above, which is not specifically limited in the present application.
[0038] The computing device described above can be a computing device of a cloud data center, an edge server, or a local server in an enterprise local data center, which is not specifically limited in the present application.
[0039] The client 100 is deployed on a terminal device to implement human-computer interaction. The client 100 can be a software or an application program running on a terminal device, such as a client of a personal computer (PC), a client accessed based on a browser, a plug-in of a browser, an application (APP) running on a mobile terminal, or a console of a cloud platform, which is not specifically limited in the present application. The terminal device includes a personal computer, a smart phone, a wearable device, a palm-held processing device, a tablet computer, a mobile notebook, an augmented reality (AR) device, a virtual reality (VR) device, a smart conference device, etc., which is not specifically limited herein.
[0040] In a possible implementation, the client 100 is a cloud platform client provided by a cloud service provider, which is configured to provide various cloud services to users, and the users can purchase or rent the cloud services through the client 100. The business processing method provided in the present application can be one of the cloud services, and the business processing system 200 is deployed on a computing device in a cloud data center, and is configured to provide a business processing cloud service to the users. The users can use the business processing cloud service through the client 100.
[0041] In another possible implementation, the business processing system 200 is deployed on a server in an enterprise local data center, and the business processing system 200 is a solution provided by the enterprise itself or a third party for implementing business processing. The client is deployed on a terminal device, such as a desktop computer, a notebook computer, etc., used by a user in the enterprise. The user can use the cloud service provided by the business processing system 200 through the client 100 to implement the business processing method provided in the present application.
[0042] In another possible implementation, the business processing system 200 and the client 100 can also be deployed on one computing device, and the computing device can be a terminal device in this case.
[0043] The storage system is configured to store data received by the business processing system 200, for example, configuration data of at least one step included in a business, and the configuration data of one step includes a step name and operation data for implementing the step. The storage system includes a storage device, which can be a hard disk drive (HDD), a solid state disk (SSD), a mechanical hard disk (HDD), a universal serial bus (USB), a flash memory, a secure digital memory card (SD card), etc., which are not limited in the present application. The storage array can be a redundant array of independent disks (RAID), a network attached storage (NAS), a storage area network (SAN), etc., which are not limited in the present application.
[0044] It should be understood that the above deployment manners are only for example, and the client 100 and the business processing system 200 can be flexibly deployed according to actual business requirements, which are not limited in the present application.
[0045] The business processing method provided in the present application will be described below with reference to the accompanying drawings. In the process of processing a business, the data corresponding to the business needs to be processed by the calculation template corresponding to the business. First, a method for generating the calculation template corresponding to the business provided in the present application will be described. Referring to FIG. 2, FIG. 2 is a schematic diagram of a business processing method provided in the present application. The method comprises the following S201-S204.
[0046] S201. The client obtains the configuration data corresponding to each step included in the business, generates a setting request of the calculation template corresponding to the business, and sends the setting request to the business processing system.
[0047] In the present application, the process of processing a business is abstracted into multiple steps, wherein a step is a processing procedure with independent business meaning in the process of processing a business. For example, as shown in FIG. 3, FIG. 3 is a flowchart of initializing allocation data in an allocation scenario. The initialization of the allocation data comprises four steps S1, S2, S3 and S4 as shown in FIG. 3. Step S1 comprises three sub-steps of deleting an allocation object backup table, deleting an allocation baseline backup table and deleting an allocation result backup table. The business meaning of this step is to delete the above three backup tables.
[0048] The steps included in the above business can be obtained by the client from other systems through an application programming interface, can be obtained from a document uploaded by a user and containing the steps corresponding to the business, or can be configured by the user through a step configuration interface provided by the client. The present application does not make specific limitation. Each step comprises a step name or a step description of the step, which is used to indicate the business meaning or function of the step. For example, in the above FIG. 3, the step description of step S2 is “generating initial data of the allocation object table”, which indicates that this step is used to generate the initial values of the fields included in the allocation object table.
[0049] A preset data structure is provided in the present application, which comprises multiple fields. The multiple fields can be used to describe a step. For a step, the value of each field included in the preset data structure is configured according to the step, which is used to describe the step. Each field included in the preset data structure provided in the present application will be described below.
[0050] The preset data structure comprises a step name (stepName) and an operation field. The operation field corresponding to one step indicates an operation configured to implement a function corresponding to the step. The operation can be represented by a code statement or a statement identifier. The statement identifier can be used to find the code statement implementing the step, i.e., the operation implementing the step. The code statement can be a statement written in a database language and comprising unknown variables, for example, an SQL statement. In this application, the statement implementing one operation is an SQL statement, and the operation field is taken as an example to introduce the preset data structure provided by the application.
[0051] Optionally, the preset data structure further comprises a step order (stepOrder) and a business node (StepNode), wherein the business node comprises a node code (nodeCode), an SQL identifier (sqlID), a rule of obtaining a next node (ruleOfGetNextNode), a next node code (nextNodeCodes), and a next possibly node code (nextPossiblyNodeCodes). Optionally, the business node further comprises a node type (nodeType) and a node description (nodeDesc). The preset data structure comprises fields that are assigned values to obtain a structured data corresponding to one step. The structured data can represent the step. One step can comprise at least one sub-step, and the structured data corresponding to the step comprises one or more business nodes (StepNode). One business node corresponds to one sub-step. When the preset data structure comprises the business node, the operation field refers to the SQL identifier comprised by each business node.
[0052] For a business node, the node code is a unique identifier of a business node, used to indicate a business node, i.e. the node code is used to indicate a sub-step of a step, and is a step code of a sub-step of a step. The node type indicates the type of a business node, and the node type includes start, serial, parallel, aggregation, judgment, and end. The node description is used to describe the function of a business node. The sql identifier indicates a Sql statement used to implement the function in the node description. The next node code includes at least a node code of a business node, used to indicate the next business node to jump to after the operation corresponding to the business node is executed, and the next possibly node code is used to indicate the next business node to jump to after the condition corresponding to the business node is met.
[0053] The next possibly node code includes at least a set of condition sql identifier and condition node code, wherein the condition sql identifier indicates a Sql condition statement used for judgment, and indicates that when the condition of the Sql condition statement indicated by the condition sql identifier is met, the business node indicated by the condition node code in the next possibly node code is jumped to.
[0054] It should be understood that a business node includes one of the next node code or the next possibly node code, i.e. if the value of the next node code included by a business node is not null, the value of the next possibly node code included by the business node is null, and at this time the value of the sql ID is not null, the above operation field refers to the sql identifier included by each business node; if the value of the next possibly node code included by a business node is not null, the value of the next node code included by the business node is null, and at this time the above operation field refers to the condition sql identifier included by each business node. If a business node includes the next possibly node code, the condition sql identifier and the condition node code corresponding to each next possibly node code also need to be defined. When the node type is judgment, the business node includes the next possibly node code.
[0055] It should be noted that the sql identifier or the conditional sql identifier indicates one or more sql statements, and the one or more statements are sql statements that have been configured to implement the corresponding function of the business node.
[0056] The rule of obtaining the next node includes exclusive and directly. Generally, when the node type is judgment, the next possibly node codes are included in the business node, the rule of obtaining the next node is exclusive, and the next business node is determined according to the judgment result of the corresponding sql condition statement of the conditional sql identifier in the next possibly node codes; when the node type is other than judgment, the rule of obtaining the next node is directly, that is, the next business node is obtained from the next node codes.
[0057] Based on the above preset data structure, for a plurality of steps included in a business, a user can configure the values of the fields included in the preset data structure according to a step and the fields included in the preset data structure. When configuring the data corresponding to a step, the step name, the step order, and the set of business nodes included in the step are first determined. For each business node, the node type, the node code, the node description, the sql identifier corresponding to the node, the rule of obtaining the next node corresponding to the node, the next node code, and the next possibly node code are defined.
[0058] The client can provide a configuration interface to the user, the configuration interface including each field included in the preset data structure and an input box, and the user can input the value of each field in the input box corresponding to the field, that is, input the configuration data corresponding to a step for each step, the client receives the configuration data corresponding to each step input by the user, that is, the configuration data corresponding to the business, and sends the configuration data to the business processing system. It should be noted that the above configuration data corresponding to the business further includes a business identifier or name for uniquely representing a business. For example, the business name can be apportionment, dimension enhancement, etc.
[0059] For example, for the step S1 shown in FIG. 3, the step name of the step is "delete allocate backup physical table", the step sequence is "2", for the sub-step of "delete allocate object backup table", the business node corresponding to the sub-step is configured, the node identifier of the business node is "2-1", the sql identifier is "deleteAllocateobjectBack", the node description is "delete allocate object backup table", the node type is "serial", the rule of obtaining the next node is "directly connected", the value of the next possible node code is empty, and the next node code is "3-1".
[0060] It should be noted that the fields included in the above-mentioned preset data structure are only used as an example and cannot be construed as a specific limitation. The preset data structure can also include more or fewer fields as needed, which will not be described here.
[0061] S202. The business processing system receives the above-mentioned setting request and sets multiple steps for the business according to the setting request.
[0062] In this application, after the business processing system obtains the above-mentioned setting request, the business processing system configures the multiple steps included in the calculation template corresponding to the business and the execution sequence of the multiple steps according to the configuration data in the setting request for each step, wherein each step included in the business includes at least one operation. After the business processing system receives the setting request uploaded by the client and including the configuration data corresponding to each step of the business, the business processing system generates the structured data corresponding to the business according to the preset data structure and the configuration data corresponding to each step, and the structured data includes the values of each field included in the above-mentioned preset data structure corresponding to each step. That is, in this application, setting the multiple steps of the business is to assign values to each field included in the structured data corresponding to each step. When setting each step of the multiple steps of the business, at least one operation corresponding to the step is included, and the at least one operation included in one step is used to realize the function corresponding to the step.
[0063] For example, in the allocation business scenario in the financial field, in the calculation of the allocation ratio stage, the following two steps are included: (1) determining whether to calculate the allocation ratio; (2) when it is determined to calculate the allocation ratio, RASIOA table and RASIOB table are calculated respectively; when it is determined that the allocation ratio does not need to be calculated, the process of calculating the allocation ratio is ended, and other steps are jumped to.
[0064] According to the preset data structure and the configuration data corresponding to the step of "determining whether to calculate the allocation ratio", the business processing system can set the step of "determining whether to calculate the allocation ratio" as the following structured data:
[0065] The structured data of the above step indicates that the step of "judging whether to calculate the allocation ratio" is the sixth step of the allocation scenario business, and the step includes a business node with a node code of "6-1", a function of "judging whether to calculate the allocation ratio", and a node type of judgment. Therefore, the rule of obtaining the next node corresponding to the business node is exclusive, and the next condition node code corresponding to the business node includes a business node with a node code of "7-1", a business node with a node code of "7-2", or a business node with a node code of "10-1".
[0066] The operation corresponding to the step of "judging whether to calculate the allocation ratio" includes the operations corresponding to the Sql condition statements indicated by the condition node identifiers "doCalPerg" and "undoCalPerg". In the above step, if the Sql condition statement corresponding to the identifier "doCalPerg" is satisfied, the next condition node code is "7-1" and "7-2", that is, the judgment result is that the ratio needs to be calculated, and then the operation in the business node with a node code of "7-1" is executed. The operation in the business node with a node code of "7-2" is also executed. If the Sql condition statement corresponding to the identifier "undoCalPerg" is satisfied, the next condition node code is "10-1", that is, the judgment result is that the ratio does not need to be calculated, and then the operation in the business node with a node code of "10-1" is executed to end the process of calculating the allocation ratio.
[0067] The business node with a node code of "7-1" is used to calculate the RASIOA table, and the business node with a node code of "7-2" is used to calculate the RASIOB table. For the step of calculating the RASIOA table and the RASIOB table, the business processing system converts the step into structured data as follows after the conversion:
[0068] The structured data above indicates that "generating RASIOA / B data" is the seventh step of allocating scene business, which includes operations corresponding to the Sql condition statements indicated by the node identifiers "genAllocateRatioSA" and "genAllocateRatioSB". The step includes two business nodes with node codes "7-1" and "7-2". The business node with node code "7-1" is configured to "calculate the RASIOA table", and the function of calculating the RASIOA table can be implemented by the operation of the Sql statement with sqlID "genAllocateRatioSA". The node type corresponding to the business node is serial, and the rule for obtaining the next node corresponding to the business node is direct connection. The business node with node code "7-2" is configured to "calculate the RASIOB table", and the function of calculating the RASIOB table can be implemented by the operation of the Sql statement with sqlID "genAllocateRatioSB". The node type corresponding to the business node is serial, and the rule for obtaining the next node corresponding to the business node is direct connection. The next node code corresponding to the business node "7-1" and the business node "7-2" is "8-1", indicating that after the step is executed, the operation corresponding to the business node with node code "8-1" will be executed.
[0069] Through the preset data structure provided in the present application, a plurality of steps included in a business can be converted into structured data in the form of a preset data structure. In the structured data corresponding to the business, the execution order between steps can be embodied by the step order, node code, and next node code. Optionally, the structured data above can be a JavaScript object notation (JSON) document or an extensible markup language (XML) document.
[0070] It should be understood that if the user configures a code statement instead of the above-mentioned sql identifier or conditional sql identifier in the configuration interface, that is, the operation of implementing a sub-step, the value of the sql identifier or the conditional sql identifier in the structured data above is the corresponding code statement, for example, a sql statement, wherein the code statement includes an unknown variable.
[0071] S203. The business processing system parses the plurality of steps corresponding to the business to obtain a plurality of step objects corresponding to the business.
[0072] After obtaining the structured data corresponding to each step included in the above business, the structured data corresponding to each step is parsed to obtain a plurality of step (SqlStep) objects corresponding to the business. One step in the above structured data corresponds to one SqlStep object, as shown in Table 1 provided by the present application. Table 1 is a step corresponding SqlStep object, and the SqlStep object includes fields such as step name (stepName), business node (stepNodes), and step order (stepOrder).
[0073] Table 1
[0074] stepName is the step name of the step (SqlStep) corresponding to the SqlStep object, String indicates that the data type of the step name is a string type, stepOrder indicates the execution order of the corresponding step in the plurality of steps included in a business, and int indicates that the data type of the step order is an integer type. When the structured data corresponding to the business is parsed to obtain the SqlStep object, for one step in the structured data corresponding to the business, the values of stepName and stepOrder in the SqlStep object corresponding to the step are the same as the values of stepName and stepOrder in the structured data corresponding to the step.
[0075] The value corresponding to the business node (stepNodes) is a sequence of business nodes (List <stepnode>), indicates that a SqlStep object includes at least one business node (stepNode). The sequence of business nodes (List <stepnode>In the above table 1, the fields included in a step node (StepNode) are shown in Table 2 below. A step node includes fields such as node code (nodeCode), sql identification (sqlID), rule of getting next node (ruleOfGetNextNode), next node code (nextNodeCodes), and next possibly node code (nextPossiblyNodeCodes). Optionally, the fields of a step node further include fields such as node type (nodeType) and node description (nodeDesc).
[0076] Table 2
[0077] In the above table 1, the fields included in a step node (StepNode) are shown in Table 2 below. A step node includes fields such as node code (nodeCode), sql identification (sqlID), rule of getting next node (ruleOfGetNextNode), next node code (nextNodeCodes), and next possibly node code (nextPossiblyNodeCodes). Optionally, the fields of a step node further include fields such as node type (nodeType) and node description (nodeDesc).
[0078] The value corresponding to next possibly node code (nextPossiblyNodeCodes) is a next possibly node code sequence (List <nextpossiblynodecodes>), for indicating the next service node to which the service node jumps after satisfying the condition corresponding to the service node. Next step condition node encoding sequence (List <nextpossiblynodecodes>The fields included in one NextPossiblyNodeCode in the above table 3 are shown in the following table 4.
[0079] Table 4
[0080] In the above table 4, conditionSqlID indicates the Sql condition statement used for judgment, and indicates that when the condition indicated by the Sql condition statement is satisfied, the next node code is the business node indicated by conditionNodeCode in NextPossiblyNodeCode. The values of the fields included in each next condition node code in a business node are the same as the values of the corresponding fields in the next condition node code included in the structured data converted into the business node, and thus will not be described here.
[0081] It should be understood that in the SqlStep object, one business node includes one of next node code or next condition node code, i.e., if a business node includes next node code, it does not include next condition node code; if it includes next condition node code, it does not include next node code. If a business node includes next condition node code, the corresponding conditionSqlID and conditionNodeCode of each next condition node code also need to be defined. When the node type is judgment, the business node includes next condition node code (nextPossiblyNodeCodes).
[0082] For the multiple steps included in the structured data corresponding to one business, each step is converted into the object shown in the above tables 1-3. In the above SqlStep object, one step (SqlStep) includes at least one business node (StepNode), the execution order of each step is determined by stepOrder, and the business node of the next step to which the execution jumps after the operation corresponding to the business node is determined by the next condition node code or next node code in the business node.
[0083] For example, the structured data corresponding to the step "generate RASIOA / B data" in the above structured data corresponding to one business is converted into the SqlStep object as follows:
[0084] "SqlStep (stepOrder = 7, stepName = generate RASIO A / B data, stepNodes (nodeCode = 7-1, sqlID = gen- AllocateRatioSA, nodeDesc = calculate RASIO A table, rule of GetNextNode = directly, nodeType = serial, nextPossiblyNodecodes = null, nextNodeCodes = 8-1; nodeCode = 7-2, sqlID = gen- AllocateRatioSB, nodeDesc = calculate RASIO B table, rule of GetNextNode = directly, nodeType = serial, nextPossiblyNodecodes = null, nextNodeCodes = 8-1))".
[0085] S204. The business processing system obtains the computing template corresponding to the business according to the plurality of step objects corresponding to the business.
[0086] In the present application, after the business processing system obtains the step (SqlStep) objects corresponding to each step included in a business, the business processing system parses the business nodes (StepNode) of each SqlStep object, and obtains the Sql statements corresponding to each sql identifier (sqlID) or condition sql identifier (conditionSqlID) in the next step condition node code (nextPossiblyNodeCodes) included in each StepNode in each SqlStep object, to obtain a set of a plurality of Sql statements implementing the above business, each Sql statement corresponding to an operation, that is, to obtain an operation set of a plurality of operations included in the business. Then, the business identifier or business name and the operation set implementing the business are stored in association to obtain the computing template corresponding to the business, and the computing template is stored in the storage system.
[0087] In the present application, the business processing system can also compile each operation in the operation set included in the above computing template into an executable operation to obtain an executable operation set corresponding to the operation set, and establish a mapping between each operation and the corresponding executable operation in the executable operation set. That is, each operation in the computing template is compiled into at least one executable operation, and a mapping relationship between each operation and the corresponding at least one executable operation is established.
[0088] In a possible implementation, the business processing system is further capable of determining the execution order between each operation in the operation set corresponding to the computing template, i.e., the execution order between the plurality of Sql statements included in the computing template. In this application, the business processing system is capable of determining the execution order between the plurality of Sql statements corresponding to a business by two methods, which are introduced respectively as follows.
[0089] (1) The business processing system determines the execution order between each Sql statement according to the node code (nodeCode), next node code (nextNodeCodes), and next possibly node code (nextPossiblyNodeCodes) in the SqlStep object.
[0090] For a SqlStep object, if the value of sqlID in a business node is not empty, the Sql statement corresponding to the sqlID included in the business node corresponding to the next node code is executed after the Sql statement corresponding to the sqlID is executed. If the value of sqlID in a business node is empty, but the value of nextPossiblyNodeCodes is not empty, the Sql statement corresponding to the sqlID included in the business node corresponding to the condition node code (conditionNodeCode) is determined according to the result of the condition Sql statement corresponding to the condition sqlID (conditionSqlID) after the condition Sql statement is executed. Therefore, the business processing system is capable of determining the execution order between the plurality of Sql statements according to the node code, next node code, and next possibly node code in at least one SqlStep object corresponding to a business.
[0091] For example, if a business corresponds to three SqlStep objects, which are a first SqlStep object, a second SqlStep object and a third SqlStep object. If the step order of the first SqlStep object is 1, the first SqlStep object includes a business node, the node code of the business node is 1-1, the first SqlStep object includes a sqlID with a value of 001, and the first SqlStep object includes next node codes with values of 2-1, 2-1 and 2-3. The step order of the second SqlStep object is 2, the second SqlStep object includes three business nodes, the node codes of the three business nodes are 2-1, 2-1 and 2-3, respectively, the three business nodes include sqlIDs with values of 002, 003 and 004, respectively, and the three business nodes include next node codes with corresponding values of 3-1. The step order of the third SqlStep object is 3, the third SqlStep object includes a business node, the node code of the business node is 3-1, the third SqlStep object includes a sqlID with a value of 005, and the third SqlStep object includes a next node code with a value of null, indicating that the step corresponding to the third SqlStep object is the last step of the business.
[0092] As shown in FIG. 4, FIG. 4 is a schematic diagram of an execution order of operations corresponding to a plurality of business nodes. Since the step order of the first SqlStep object is 1, when implementing the business, the operation corresponding to the business node 1-1 is executed first, i.e., the Sql statement with a sqlID of 001 is executed. Since the next node codes included in the business node 1-1 include 2-1, 2-1 and 2-3, after the operation corresponding to the business node 1-1 is executed, the operations corresponding to the node codes 2-1, 2-2 and 2-3 in the second SqlStep object are executed, i.e., the Sql statements with sqlIDs of 002, 003 and 004 are executed. Since the next node codes included in the business nodes 2-1, 2-2 and 2-3 are all 3-1, after the operations corresponding to the business nodes 2-1, 2-2 and 2-3 are executed, the operation corresponding to the node code 3-1 in the third SqlStep object is executed, i.e., the Sql statement with a sqlID of 005 is executed. If the Sql statements that can be executed simultaneously are regarded as a batch of Sql sets, as shown in FIG. 4, the first batch of Sql sets is the Sql statements corresponding to the sqlIDs included in the business node 1-1, the second batch of Sql sets is the Sql statements corresponding to the sqlIDs included in the business nodes 2-1, 2-2 and 2-3, and the third batch of Sql sets is the Sql statement corresponding to the sqlID included in the business node 3-1.
[0093] (2) The business processing system determines the execution order of the plurality of Sql statements according to the input and output relationship of the plurality of Sql statements for implementing the business.
[0094] Among the plurality of Sql statements for implementing the business, there is a dependency relationship between some of the Sql statements in different Sql statements, and there is no dependency relationship between some of the Sql statements. By analyzing the input and output relationship of the Sql statements, the Sql statements with the dependency relationship can be determined, and the Sql statements without the dependency relationship can be executed in parallel.
[0095] For example, the Sql statement corresponding to the sqlID included in the business node 1-1 is the first Sql statement, and the Sql statements corresponding to the sqlID included in the business nodes 2-1, 2-2 and 2-3 are the second Sql statement, the third Sql statement and the fourth Sql statement respectively. Among them, the output of the first Sql statement is an input of the second SQL statement, which indicates that there is a dependency relationship between the second Sql statement and the first Sql statement, and the second Sql statement cannot be executed in parallel with the first Sql statement. In the step, although the third Sql statement and the fourth Sql statement are the Sql statements corresponding to the SqlID in the second SqlStep object, the step order in the second SqlStep object is 2, and should be executed after the step corresponding to the first SqlStep object, but since the input of the third Sql statement and the fourth Sql statement is irrelevant to the output of the first Sql statement, the third Sql statement and the fourth Sql statement can be executed in parallel with the first Sql statement.
[0096] For example, as shown in FIG. 5, FIG. 5 is a diagram of execution order of a plurality of Sql statements provided by the present application. The first Sql statement is "Select {sourceA} as {model X} from {sourceA} where {querycontidion.token}", the second Sql statement is "Insert into {targetB} value {model X}", the third Sql statement is "Insert into {targetB} value {source A}", and the fourth Sql statement is "Insert into {targetC} value {source A}". Wherein, sourceA, model X, querycontidion.token, targetB and targetC are unknown variables. According to the above-mentioned Sql statements, the first Sql statement is to obtain data from sourceA according to the query condition "querycontidion.token" to obtain model X, the second Sql statement is to insert the data of model X into targetB, and model X is the output result of the first Sql statement, thus the second Sql statement depends on the first Sql statement. The third Sql statement is to insert the data of source A into targetB, and the fourth Sql statement is to insert the data of source A into targetC. The third and fourth Sql statements do not depend on the first Sql statement, thus the third and fourth Sql statements can be executed in parallel with the first Sql statement. If the Sql statements that can be executed simultaneously are regarded as a batch of Sql sets, as shown in FIG. 5, the first batch of Sql sets includes the first, third and fourth Sql statements, and the second batch of Sql sets includes the second Sql statement.
[0097] In a possible implementation, after the business processing system converts each step included in a business into at least one SqlStep object according to the method in S203, the business processing system parses each SqlStep object to generate a business rule package (SqlPack) corresponding to the business, i.e., a calculation template corresponding to the business. As shown in Table 4, the SqlPack includes a rule ID (ruleID) and sql nodes (sqlNodes), etc. If the business processing system also determines the execution order between a plurality of Sql statements, the SqlPack also includes a business connection (SqlLines) field.
[0098] Table 4
[0099] Wherein, the ruleID is used to represent a service, and the value of the sqlNodes in the SqlPack corresponds to a sequence of sql nodes (List <sqlnode>), a sql node sequence includes at least one SqlNode, each sqlNode includes contents as shown in Table 5, each sqlNode includes fields such as type, script ID (scriptID) and sql script (sqlScript).
[0100] Table 5
[0101] Wherein, one SqlNode is obtained by parsing a business node in a SqlStep object, the type of one SqlNode is the same as the type of the parsed business node, the scriptID in one SqlNode is the same as the sql ID or conditional sql ID included in the parsed business node, and the sqlScript of one sqlNode is the Sql statement corresponding to the sql ID or conditional sql ID included in the parsed business node.
[0102] For example, the node type of the business node 1-1 in the above first SqlStep object is serial, one sql ID included in the business node 1-1 is 001, and the Sql statement corresponding to the sql ID is "Select{sourceA}as{model X}from{sourceA}where{querycontidion.token}"; the value of the type in the obtained sqlNode by parsing the first SqlStep object is serial, the value of the scriptID is 001, and the value of the sqlScript is "Select{sourceA}as{model X}from{sourceA}where{querycontidion.token}". That is, the SqlNode obtained by parsing the business node 1-1 is "SqlNode(scriptID=001, type=serial, sqlScript=Select{sourceA}as{model X}from{sourceA}where{querycontidion.token})". If the sql ID included in the business node 2-1 in the above second SqlStep object is 002, the SqlNode obtained by parsing the business node 2-1 in the second SqlStep object is "SqlNode(scriptID=002, type=serial, sqlScript=Insert into{targetB}value{model X})".
[0103] The value corresponding to the sqlLines in the above SqlPack is a sequence of sqlLines (List <sqllines>), one sql connection sequence includes at least one SqlLine, i.e. one SqlPack includes at least one SqlLine. As shown in Table 6 below, one SqlLine includes line ID (lineID), source ID (sourceID), target ID (targetID) and condition (condition) fields and the like.
[0104] Table 6
[0105] Wherein, the line ID is used to indicate one connection; the source ID and the target ID correspond to a script ID respectively, and the two ends of the connection are the source ID and the target ID, indicating that after the sqlScript corresponding to the source ID is executed, the sqlScript corresponding to the target ID is executed; the condition field is used to indicate that after the sqlScript corresponding to the source ID is executed, the sqlScript corresponding to the target ID is executed under the condition that the condition in the condition field is met. It should be understood that not every connection includes the condition field in the SqlPack corresponding to one service, i.e. the value of part of the condition field is empty.
[0106] For example, if the execution order between the Sql statements is determined according to the above-mentioned (1) method, after the business nodes in the first SqlStep object, the second SqlStep object and the third SqlStep object are parsed, it is determined that the first batch of Sql sets is the Sql statement corresponding to the sqlID in the business node 1-1, i.e. the Sql statement corresponding to the sqlID 001; the second batch of Sql sets is the Sql statement corresponding to the sqlID included in the business nodes 2-1, 2-2 and 2-3, i.e. the Sql statement corresponding to the sqlID 002, 003 and 004; the third batch of Sql sets is the Sql statement corresponding to the sqlID included in the business node 3-1, i.e. the Sql statement corresponding to the sqlID 005. Then the sqlLinks in the SqlPack include the following:
[0107] "SqlLink (lineID=a, sourceID=001, targetID=002, condition=null);
[0108] SqlLink (lineID=b, sourceID=001, targetID=003, condition=null);
[0109] SqlLink (lineID=c, sourceID=001, targetID=004, condition=null);
[0110] SqlLink(lineID = d, sourceID = 002, targetID = 005, condition = null);
[0111] SqlLink(lineID = e, sourceID = 003, targetID = 005, condition = null);
[0112] SqlLink(lineID = f, sourceID = 004, targetID = 005, condition = null)”.
[0113] If the execution order between the Sql statements is determined according to the above-mentioned (2) method, after the business nodes in the first SqlStep object, the second SqlStep object and the third SqlStep object are parsed, it is determined that the Sql statement with sqlID 002 depends on the Sql statement with sqlID 001, and the sqlLinks in the SqlPack include "SqlLink(lineID = g, sourceID = 001, targetID = 002, condition = null)”.
[0114] The above-mentioned S201-S204 introduce the process of generating the computing template corresponding to the business provided by the present application. It should be understood that the business requirement of a business usually changes, which will lead to the change of the processing process corresponding to the business, for example, the processing process needs to increase the processing flow or reduce the processing flow, and therefore the computing template corresponding to the business also needs to be modified. In the present application, the computing template corresponding to the business is obtained according to the configuration data corresponding to the steps included by the business, and therefore when the business changes and the computing template needs to be modified, the configuration data corresponding to the steps included by the business only needs to be modified, so that the modification of the computing template can be realized. The method for modifying the computing template corresponding to the business provided by the present application is introduced below.
[0115] When modifying the computing template corresponding to a service, the service processing system can provide a modification interface to the user through the client, which can include the steps currently included in the service and the configuration information of each step. The user can modify the steps included in the service in the modification interface, including any one or more of adding a step, deleting a step, adding a sub-step in a step, deleting a sub-step in a step, modifying the next step code corresponding to a sub-step, or modifying the operation corresponding to a sub-step. Among them, the next step code corresponding to a sub-step corresponds to the next step node code or the next condition node code in the preset data structure or the SqlStep object, and the operation corresponding to a sub-step refers to the sql identifier or the condition sql identifier in the preset data structure or the SqlStep object.
[0116] The client obtains modification data corresponding to the modification operation, generates a modification request, and the modification request includes the service name or template identifier and the modification data. The service name or template identifier is used to indicate the computing template to be modified, and the modification data is used to implement the modification operation. For example, the modification operation is to add a step, and the modification data includes the step name of the step to be added and at least one operation included in the step to be added; the modification operation is to delete a step, and the modification data includes the step name of the step to be deleted; the modification operation is to add a sub-step in a step, and the modification data includes the step name of the step to which the sub-step to be added belongs, the step code of the sub-step to be added, at least one operation included in the sub-step to be added, and the next step code corresponding to the sub-step to be added; the modification data is used to delete a sub-step, and the modification data includes the step code of the sub-step to be deleted. After obtaining the modification data corresponding to the modification operation, the client generates a modification request and sends the modification request to the service processing system. After receiving the modification request, the service processing system updates the structured data corresponding to each step included in the service according to the modification data, and then obtains the modified computing model corresponding to the service based on the method in S203 and S204, and stores the modified computing model to the storage system.
[0117] The above introduces the generation method and modification method of the computing template corresponding to the service provided by the present application. The method for executing the service to obtain the result corresponding to the service is introduced below. Referring to FIG. 6, FIG. 6 is a schematic diagram of a service processing method provided by the present application, which includes S601-S605.
[0118] S601. The client obtains the template information of the service, generates a service request, and sends the service request to the service processing system.
[0119] The template information of the service can be a service identifier or a service name of the service, or a template identifier of a computing template corresponding to the service, i.e., the rule ID. In this application, the client can provide a service starting interface to the user, and the user inputs the template information through the service starting interface. After the user performs a confirmation operation on the service starting interface, the client detects the confirmation operation, obtains the template information configured by the user, generates the service request, and sends the service request to the service processing system.
[0120] S602. The service processing system obtains the service request, obtains the computing template corresponding to the service according to the template information, and provides the computing template to the user through the client.
[0121] In this application, the service processing system stores a mapping relationship table between a service name or a service identifier and an identifier of a computing template. If the service request includes a service identifier or a service name, the service processing system obtains the computing template corresponding to the service from the database according to the template information and the mapping relationship table after receiving the service request. If the service request includes a template identifier, the service processing system obtains the computing template from the database according to the template identifier.
[0122] The computing module includes a plurality of steps corresponding to the service, and each step of the plurality of steps corresponds to at least one operation. It should be understood that the operation object of each operation in the computing template is unknown. For example, for a step, an operation included in the step is "Select {source A} as {model X} from {source A} where {query condition.token}", and the source A, the model X, and the query condition corresponding to the where statement in the operation are all unknown variables, and the values of the unknown variables are related to a specific service.
[0123] In this application, after the service processing system obtains the computing module, the service processing system provides the computing module to the user, so that the user inputs service data based on the computing module. The service data includes the operation object of each operation included in each step, i.e., the unknown variables in each operation are assigned values. When the service processing system provides the computing template to the user, the client provides the computing module to the user, so that the user inputs the service data on the client.
[0124] S603. The client receives the service data input by the user, and sends the service data to the service processing system.
[0125] The client provides a service data configuration interface to the user, the service data configuration interface including operation objects required to be configured for each step of the operation, i.e., unknown variables included in the operation, the user inputs service data corresponding to each step through the service data configuration interface, and the client detects the confirmation operation of the user after the user performs the confirmation operation on the service data configuration interface, acquires the service data configured by the user, and sends the service data to the business processing system. The service data includes values of each variable included in the calculation template corresponding to the business, and the values of the variables are data generated in actual business operation. For example, if an operation is a Sql statement "Select{source A}as{model X}from{sourceA}where{querycontidion.token}", the service data includes values of source A and model X, and a query condition corresponding to the where statement.
[0126] S604. The business processing system generates an executable operation set corresponding to the business according to the service data and at least one operation included in each step.
[0127] The business processing system acquires a calculation template corresponding to the business, the calculation template including a plurality of operations for implementing a plurality of steps included in the business, wherein each step corresponds to at least one operation, and in this application, the operation refers to the above-mentioned Sql statement. Since unknown variables exist in the Sql statement included in the calculation template, the above-mentioned service data includes values of unknown variables corresponding to each step, the business processing system assigns values to unknown variables in the Sql statement corresponding to each step according to service data corresponding to each step or sub-step, i.e., determines operation objects of at least one operation corresponding to each step, to obtain an executable operation set corresponding to the business, the operation set including a plurality of executable Sql statements. Specifically, after determining operation objects of each operation, operation objects in each executable operation in the executable operation set are determined according to a mapping between the operation and the executable operation set, i.e., unknown variables in each executable operation, to obtain an executable operation set corresponding to the business, wherein the executable operation set corresponding to the business includes a plurality of operation instruction sets for accessing data in the database.
[0128] In a possible implementation, the business processing system can also identify an execution order of a plurality of operation instructions in the above-mentioned executable operation set, for example, identify operation instructions that can be executed in parallel in the plurality of operation instructions, and then determine the execution order of the above-mentioned plurality of operation instructions according to the identification result, to improve the execution efficiency of the operation instructions.
[0129] S605. The business processing system sends the executable operation set corresponding to the business to the database, and acquires an execution result of the database.
[0130] After obtaining the executable operation set, the business processing system sends the operation set to the database, the database engine of the database management system obtains the data corresponding to the operation object from the database, executes the operation instruction in the operation set, obtains the execution result corresponding to the business request, and then sends the execution result corresponding to the business request to the business processing system, and the business processing system sends the execution result corresponding to the business request to the client.
[0131] In the present application, the computing template corresponding to multiple businesses can be obtained according to the method shown in S201-S204. When the result of one report item needs to be obtained by combining and executing multiple businesses, the user can configure the execution order of the multiple businesses and the configuration data corresponding to each business. For one of the multiple businesses, the computing template corresponding to the business is obtained, the unknown variables included in the computing template are assigned and executed according to the business data, the result corresponding to the business is obtained, and then the final business result is obtained according to the result corresponding to each business and the execution order between the multiple businesses.
[0132] For each method embodiment, in order to simplify the description, it is described as a series of action combinations, but those skilled in the art should know that the present application is not limited by the order of the described actions, and those skilled in the art should also know that the embodiments described in the specification are preferred embodiments, and the actions involved are not necessarily required by the present application. Therefore, other reasonable step combinations that can be thought of by those skilled in the art based on the above description are also within the protection scope of the present application.
[0133] The business processing method to be protected by the present application is described in detail above in combination with FIGS. 1-6. Next, the management system, computing device, and computing device cluster to be protected by the present application are further described in combination with FIGS. 7-9.
[0134] Referring to FIG. 7, FIG. 7 is a schematic diagram of a management system provided by the present application, which includes a client 100, a business processing system 200, and a storage system 300. The deployment of the client 100 and the business processing system 200 can be referred to the related description of FIG. 2, which will not be described here.
[0135] The client 100 is configured to obtain the configuration data corresponding to each step of the service, generate a setting request and send the setting request including the configuration data to the service processing system, so that the service processing system 200 generates a calculation template corresponding to the service according to the configuration data; the client 100 can also receive the modification data in the modification request and send it to the service processing system 200, so that the service processing system updates the calculation template corresponding to the service according to the modification data. The operations implemented by the client 100 can refer to the operations implemented by the client in the method embodiments corresponding to FIG. 2-FIG. 6, which will not be repeated here.
[0136] The storage system 300 is configured to store the calculation templates corresponding to each service generated by the service processing system 200. The storage system 300 further includes a database, which stores data generated during the running of each service. The service processing system 200 obtains corresponding data from the database to obtain the result corresponding to the service when executing the set of operations.
[0137] The service processing system 200 includes a communication module 210, a processing module 220 and a running module 230. The communication module 210 is configured to obtain the data sent by the client 100, such as the configuration data in the setting request corresponding to each step of the service, the modification data in the modification request, or the template information in the service request. The configuration data, modification data and data included in the service request can refer to the description in the method embodiments corresponding to FIG. 2-FIG. 6, which will not be repeated here.
[0138] The processing module 220 is configured to perform corresponding operations according to the data obtained by the communication module 210, such as generating a calculation template corresponding to the service according to the configuration data, or updating the calculation template corresponding to the service according to the modification data. The operations performed by the processing module 220 can refer to the operations in the method embodiments corresponding to FIG. 2-FIG. 6 for generating a calculation template, updating a calculation template and determining a service request process according to a service request, which will not be repeated here.
[0139] The running module 230 is configured to execute the set of operations to obtain the result corresponding to the service request. The running module 230 can be deployed in the service processing system 200, or can be a functional module in the database management system, such as a database engine in the database management system.
[0140] The communication module 210, the processing module 220 and the running module 230 can be implemented by software or by hardware. For example, the implementation of the processing module 220 is described below, and the implementation of other modules can refer to the implementation of the processing module 220.
[0141] The processing module 220 is an example of a software functional unit, and the processing module 220 includes code running on a computing instance. The computing instance includes at least one of a physical host (computing device), a virtual machine, and a container. Further, the computing instance can be one or more. For example, the processing module 220 can include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers for running the code can be distributed in the same region, or distributed in different regions. Further, the multiple hosts / virtual machines / containers for running the code can be distributed in the same availability zone (AZ), or distributed in different AZs, and each AZ includes one data center or multiple data centers in close geographical proximity. A region can include multiple AZs.
[0142] Similarly, the multiple hosts / virtual machines / containers for running the code can be distributed in the same virtual private cloud (VPC), or distributed in multiple VPCs. Generally, one VPC is set in one region, and a communication gateway needs to be set in each VPC for cross-region communication between two VPCs in the same region and between VPCs in different regions, and the interconnection between the VPCs is realized through the communication gateway.
[0143] As an example of a hardware functional unit, the processing module 220 can include at least one computing device, such as a server. Alternatively, the processing module 220 can be a device implemented by a central processing unit (CPU), an application-specific integrated circuit (ASIC), or a programmable logic device (PLD), etc. The PLD can be implemented by a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), a data processing unit (DPU), a neural network processing unit (NPU), a system on chip (SoC), an offload card, an acceleration card, or any combination thereof.
[0144] The plurality of computing devices included in the processing module 220 can be distributed in the same region or in different regions. The plurality of computing devices included in the processing module 220 can be distributed in the same AZ or in different AZs. Similarly, the plurality of computing devices included in the processing module 220 can be distributed in the same VPC or in multiple VPCs. The plurality of computing devices can be any combination of servers, ASICs, PLDs, CPLDs, FPGAs, GALs, DPUs, NPUs, SoCs, offload cards, acceleration cards, and the like.
[0145] It should be noted that in other embodiments, the processing module 220 can be configured to perform operations performed by any of the above-described modules or interfaces, and the operations performed by each module or interface can be specified as needed. Through the cooperation of each module, the business processing system 200 can achieve all functions.
[0146] The storage system 300 can include volatile memory, such as random access memory (RAM). The storage system 300 can also include non-volatile memory, such as read-only memory (ROM), flash memory, a hard disk drive (HDD), or a solid-state drive (SSD). In addition, the storage system 300 can also be implemented through storage class memory (SCM), phase change memory (PCM), or other types of storage media.
[0147] Referring to FIG. 8, FIG. 8 is a schematic diagram of a computing device provided by the present application. As shown in FIG. 8, the computing device 800 includes a bus 802, a processor 804, a memory 806, and a communication interface 808. The processor 804, the memory 806, and the communication interface 808 communicate with each other through the bus 802. The computing device 800 can be a server or a terminal device. It should be understood that the number of processors and memories in the computing device 800 is not limited by the present application. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a notebook computer, or a smart phone.
[0148] The bus 802 can be a peripheral component interconnect express (PCIe) bus or an extended industry standard architecture (EISA) bus, a unified bus (Ubus or UB), a compute express link (CXL), a cache coherent interconnect for accelerators (CCIX), or the like. The bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one line is shown in FIG. 8, but it does not mean that there is only one bus or only one type of bus. The bus 802 can include a path for transmitting information between various components of the computing device 800 (e.g., the memory 806, the processor 804, the communication interface 808). Among them, the unified bus can also be referred to as a coherent bus.
[0149] The processor 804 can include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP), an ASIC, a FPGA, a CPLD, an NPU, a SoC, an offload card, an acceleration card, or the like computing device.
[0150] The memory 806 can include a volatile memory, such as a random access memory (RAM). The processor 804 can also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid-state drive (SSD). In addition, the memory 806 can also be implemented by a storage class memory (SCM), a phase change memory (PCM), or other types of storage media.
[0151] It should be noted that the same type of storage medium can be configured to implement the memory 806 in the same computing device, or two or more types of storage medium can be configured to implement the memory 806, and the present application does not limit this.
[0152] The memory 806 stores executable program code, and the processor 804 executes the executable program code to implement the functions of the business processing system. That is, the memory 806 stores instructions for executing the business processing method implemented by the business processing system 200 in the embodiments corresponding to FIGS. 2-6.
[0153] The communication interface 808 uses a transceiver module such as but not limited to a network interface card and a transceiver to implement communication between the computing device 800 and other devices or communication networks.
[0154] It should be understood that the computing device 800 provided according to the present application can correspond to each module included in the business processing system 200 provided in FIG. 7 of the present application, and can correspond to the execution of the corresponding subject in the method provided according to FIGS. 2-6 of the present application, and the above and other operations and / or functions of each module in the computing device 800 are respectively for implementing the corresponding flow of each method in FIGS. 2-6, and for brevity, will not be repeated here.
[0155] As a possible implementation, the computing device 800 can also include a chip system including a processor and a power supply circuit for performing power supply to the processor, and the processor is used to execute the operation steps corresponding to the credit management method. For brevity, will not be repeated here. The processor can be implemented by a CPU, or by a GPU, DPU, NPU, XPU, SoC, offload card, acceleration card, etc. computing device or AI chip.
[0156] As a possible implementation, the computing device 800 can include multiple types of processors 804, i.e., the computing device 800 is a heterogeneous device, for example, the computing device 800 includes a CPU and a GPU, and at least one of the processors 804 in the computing device 800 can execute the operation steps corresponding to the business processing method. For brevity, will not be repeated here.
[0157] The present application also provides a computing device cluster. The computing device cluster includes at least one computing device as shown in FIG. 8. The memory 806 in one or more computing devices 800 in the computing device cluster can store the same instructions for executing the business processing method implemented by the business processing system in the embodiments corresponding to FIGS. 2-6.
[0158] In some possible implementation, the memory 806 of one or more computing devices 800 in the computing device cluster can also respectively store partial instructions for performing the business processing method. In other words, the combination of one or more computing devices 800 can collectively execute the instructions for implementing the business processing method.
[0159] It should be noted that the memory 806 in different computing devices 800 in the computing device cluster can store different instructions respectively for implementing partial functions of the business processing system. That is, the instructions stored in the memory 806 in different computing devices 800 can implement the functions of one or more of the communication module 210, the processing module 220 and the running module 230.
[0160] In some possible implementation, one or more computing devices in the computing device cluster can be connected through a network. The network can be a wide area network or a local area network, etc. FIG. 9 is a schematic diagram of connection between two computing devices through a network according to the present application, which shows one possible implementation. As shown in FIG. 9, two computing devices 800A and 800B are connected through a network. Specifically, the communication interface in each computing device is connected to the network. In this type of possible implementation, the memory 806 in the computing device 800A stores instructions for executing the functions of the processing module 220. Meanwhile, the memory 806 in the computing device 800B stores instructions for executing the functions of the running module 230.
[0161] It should be understood that the functions of the computing device 800A shown in FIG. 9 can also be completed by multiple computing devices 800. Similarly, the functions of the computing device 800B can also be completed by multiple computing devices 800.
[0162] The present application also provides a computer program product containing instructions, which can be a software or program product containing instructions, capable of running on a computing device or stored in any available medium. When the computer program product runs on at least one computing device, it causes the at least one computing device to execute the method implemented by the business processing system in the above-mentioned embodiments corresponding to FIG. 2-FIG. 6.
[0163] The present application also provides a computer readable storage medium, which can be any available medium that a computing device can store or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium or a semiconductor medium (for example, a solid state disk), etc. The computer readable storage medium contains instructions, which instruct the computing device to execute the method implemented by the business processing system in the above-mentioned embodiments corresponding to FIG. 2-FIG. 6.
[0164] It should be noted that the above examples are only used to illustrate the technical solutions of the present application, and are not intended to limit the same. Although the present application has been described in detail with reference to the foregoing examples, it should be understood by those skilled in the art that the technical solutions recorded in the foregoing examples can still be modified, or some technical features can be replaced by equivalent features. Such modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present application.< / sqllines> < / sqlnode> < / nextpossiblynodecodes> < / nextpossiblynodecodes> < / stepnode> < / stepnode>
Claims
1. A service processing method characterized by, The method comprises: obtaining a service request, the service request comprising template information of a service; obtaining a computing template corresponding to the service according to the template information, the computing template comprising a plurality of steps for implementing the service, each step of the plurality of steps corresponding to at least one operation; providing the computing template to a user and obtaining service data input by the user based on the computing template, the service data comprising operation objects of the at least one operation corresponding to each step; generating an executable operation set corresponding to the service according to the service data and the at least one operation corresponding to each step, the executable operation set comprising a plurality of operation instructions for accessing data in a database; sending the operation set to a database for execution and obtaining a database execution result.
2. The method of claim 1, wherein, The method further comprises: obtaining a setting request for the computing template of the service; setting the plurality of steps for the service according to the setting request and setting an execution order of the plurality of steps; wherein the setting of any one step of the plurality of steps comprises: setting the at least one operation corresponding to each step; compiling the at least one operation into an executable operation set and establishing a mapping between the at least one operation and the executable operation set; generating an executable operation set corresponding to the computing template according to the execution order of the plurality of steps.
3. The method of claim 2, wherein, The method further comprises: receiving a modification request for the computing template; modifying at least one operation in the plurality of steps, or adding a step or deleting a step in the plurality of steps according to the modification request.
4. The method according to any one of claims 1 to 3, characterized in that, Before sending the operation set to the database for execution, the method further comprises: identifying operation instructions in the plurality of operation instructions that support parallel execution and determining an execution order of the plurality of operation instructions according to the identification result.
5. A service processing system, characterized by The method comprises: a communication module configured to obtain a service request, the service request comprising template information of a service; a processing module configured to obtain a computing template corresponding to the service according to the template information, the computing template comprising a plurality of steps for implementing the service, each step of the plurality of steps corresponding to at least one operation; the processing module is further configured to provide the computing template to a user and obtain service data input by the user based on the computing template, the service data comprising operation objects of the at least one operation corresponding to each step; the processing module is further configured to generate an executable operation set corresponding to the service according to the service data and the at least one operation corresponding to each step, the executable operation set comprising a plurality of operation instructions for accessing data in a database; the communication module is further configured to send the operation set to a database for execution and obtain a database execution result.
6. The system of claim 5, wherein: the communication module is further configured to obtain a setting request for the computing template of the service; the processing module is further configured to set the plurality of steps for the service according to the setting request and set an execution order of the plurality of steps; The processing module is specifically configured to: set the at least one operation corresponding to each step; compile the at least one operation into an executable operation set, and establish a mapping between the at least one operation and the executable operation set; generate an executable operation set corresponding to the computing template according to the execution sequence of the plurality of steps.
7. The system of claim 6, wherein: the communication module is further configured to receive a modification request for the computing template; the processing module is further configured to modify at least one operation in the plurality of steps according to the modification request, or add or delete a step in the plurality of steps.
8. The system of claim 7, wherein, The processing module is further configured to identify operation instructions in the plurality of operation instructions that support parallel execution, and determine an execution sequence of the plurality of operation instructions according to the identification result.
9. A computing device, comprising: The computing device includes a processor and a memory, the memory is used to store instructions, and the processor is used to execute the instructions stored in the memory to implement the method of any one of claims 1-4.
10. A computer-readable storage medium, characterized in that, The computer program instructions, when executed by a computing device cluster, implement the method of any one of claims 1-4.
11. A computer program product comprising instructions, characterized in that, The computing device cluster, when the instructions are executed, implements the method of any one of claims 1-4.
Citation Information
Patent Citations
Data query method and device
CN104809254A
System configuration method and system for routine task and tool generation
CN105989185A
Database data operation method and system and server
CN112650766A
Business data processing method, device, equipment and system
CN113535804A
Operation job integration management system and program
JP2010224977A