A business process approval method, device and equipment

By generating and saving the lifecycle information of the approval process in the approval system, the problem of full-text auditing in the business approval process is solved, achieving efficient approval process tracking and data security, and improving office efficiency.

CN116342047BActive Publication Date: 2026-07-03长沙通诺信息科技有限责任公司

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
长沙通诺信息科技有限责任公司
Filing Date
2021-12-17
Publication Date
2026-07-03

AI Technical Summary

Technical Problem

In existing technologies, the business approval process cannot be fully audited, making it impossible to trace the approval process when it is subsequently accessed, thus affecting office efficiency.

Method used

The approval process data structure is obtained from the XML data stream through the approval system, and lifecycle information, including business data, flow conditions, approval records and node information, is generated and saved. Data security is protected by encrypting the data using national cryptographic algorithms.

Benefits of technology

It enabled full-text auditing of the approval process, standardized business process handling methods, and improved office efficiency and data security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116342047B_ABST
    Figure CN116342047B_ABST
Patent Text Reader

Abstract

This application provides a method, system, and device for approving business processes. The method is applied to a business process system, which includes an XML data stream and an approval system. The method includes: the approval system sending an approval process request to the XML data stream; the XML data stream generating an approval process data structure based on the request and sending it to the approval system; the approval system running the approval process according to the approval process data structure and generating lifecycle information for the approval process, including: business data, flow conditions, approval records, node information, and dynamic data; and the approval system storing the lifecycle information of the approval process. The method provided in this application solves the problem of full-text auditing in approval processes, standardizes the processing of business processes, and thus improves office efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of office automation technology, and in particular relates to a method, apparatus and equipment for approving business processes. Background Technology

[0002] In modern office automation systems, workflow technology has gradually become a core technology, enabling enterprises to achieve process control and decision support for business management and organizational development. It can fulfill the modern enterprise requirement of "delivering the right information to the right person at the right time" and can also be integrated into decision support systems to provide users with accurate information and help them make decisions.

[0003] A workflow is a computational model of a work process. It represents the logic and rules governing how tasks are organized sequentially within a workflow in a computer model and performs calculations accordingly. The main problem that workflows solve is: to automatically transfer information between multiple participants according to predetermined rules using computers, in order to achieve a specific business objective.

[0004] However, the audit cycle cannot be saved and recorded during the business approval process using workflow, which means that the full audit process cannot be achieved, causing unnecessary trouble when calling the approval process later. Summary of the Invention

[0005] This application provides a method, apparatus, and equipment for approving business processes, which can solve the problem of not being able to achieve full-text auditing of the approval process, standardize the processing of business processes, and thus improve office efficiency.

[0006] Firstly, a business process approval method is provided. This method is applied to a business process system, which includes an XML data stream and an approval system. The method includes: the approval system sending an approval process request to the XML data stream; the XML data stream generating an approval process data structure based on the request and sending it to the approval system; the approval system running the approval process based on the approval process data structure and generating approval process lifecycle information, which includes: business data, flow conditions, approval records, node information, and dynamic data; and the approval system storing the approval process lifecycle information.

[0007] The first method involves the approval system running the approval process based on the data structure of the obtained approval process. During the process, the approval system generates lifecycle information of the approval process and saves this information in the system so that detailed information of the approval process can be tracked during subsequent audits. This method solves the problem of tracking approval records in the approval process, standardizes the handling of business processes, and thus improves office efficiency.

[0008] Optionally, the approval process includes flexible and fixed processes. Each approval process comprises multiple nodes, with a flexible process containing at least one free node. When the approval process is flexible, the approval system operates according to the data structure within the process, including: the user defining a free node within the flexible process and sending a request for the flexible process to the XML data stream; the XML data stream generating the data structure for the flexible process based on the request and sending it to the approval system; and the approval system operating the approval process based on the data structure of the flexible process. In this implementation, setting the flexible process within the XML data solves the problem of excessive redundancy and difficulty in maintenance caused by fixed multi-node configurations. When the user selects the flexible process, they can customize free nodes, resulting in a flexible, user-driven, and highly customizable approval process configuration.

[0009] Optionally, the method further includes the following during the approval process: after the current node in the approval process is completed, a notification message is sent to the handler of the next node adjacent to the current node. The notification message instructs the handler to execute the approval process. In this implementation, the system can automatically notify the handlers who need to process the approval process, without requiring the handlers to constantly monitor the processing progress of the approval system, thus improving the work efficiency of the approval handlers.

[0010] Optionally, the data structure of the approval process includes data information. The method further includes: determining the flow conditions of the approval process based on the data information using calculation formulas. This implementation addresses how the system should proceed when encountering conditional branches and how to determine the flow direction of that node.

[0011] Optionally, the data structure of the approval process includes redundant information, which includes the initial design flow of the approval process. The method further includes: when the initial design flow changes, the approval system runs the approval process based on the redundant information. In this implementation, to prevent changes in the approval process caused by changes in the initial design flow in the XML data stream, the approval system can run the approval process based on the redundant information in the data structure of the approval process, ensuring the stability of the approval process.

[0012] Optionally, the method further includes determining the first ciphertext corresponding to the lifecycle information using the symmetric algorithm SM4; determining the first data digest corresponding to the lifecycle information based on the first ciphertext and the digest algorithm SM3; determining the first data digest signature corresponding to the lifecycle information based on the first data digest and the asymmetric algorithm SM2; and storing the first ciphertext, the first data digest, and the first data digest signature. In this implementation, to prevent the stored lifecycle information from being leaked or tampered with, the lifecycle information is encrypted using national cryptographic algorithms, ensuring the data security of the stored lifecycle information.

[0013] In a second aspect, an apparatus is provided, comprising units for performing the steps of the first aspect or any possible implementation thereof.

[0014] Thirdly, an apparatus is provided, comprising at least one processor and a memory, the at least one processor being configured to perform the methods of the first aspect or any possible implementation thereof.

[0015] Fourthly, a business process system is provided, comprising at least one processor and interface circuitry, the at least one processor being used to execute the methods in the first aspect or any possible implementation of the first aspect.

[0016] Fifthly, an apparatus is provided, the communication apparatus including a processor for performing the methods of the first aspect or any possible implementation of the first aspect.

[0017] In a sixth aspect, a computer program product is provided, comprising a computer program that, when executed by a processor, performs the method of the first aspect or any possible implementation thereof.

[0018] In a seventh aspect, a computer-readable storage medium is provided, wherein a computer program is stored therein, which, when executed, performs the method of the first aspect or any possible implementation thereof.

[0019] Eighthly, a chip or integrated circuit is provided, the chip or integrated circuit comprising: a processor for calling and running a computer program from a memory, causing a device having the chip or integrated circuit mounted to perform the methods of the first aspect or any possible implementation thereof.

[0020] It is understood that the beneficial effects of aspects two through eight above can be found in the relevant descriptions in aspect one above, and will not be repeated here.

[0021] The beneficial effects of the embodiments in this application compared with the prior art are:

[0022] The business process approval method provided in this application is applied to a business process system, which includes an XML data stream and an approval system. The approval system obtains the data structure of the approval process from the XML data stream and runs the approval process using the obtained data structure. During the operation of the approval process, the approval system generates lifecycle information of the approval process and saves the lifecycle information of the approval process in the approval system so as to track the detailed information of the approval process in subsequent auditing. This method solves the problem of full-text auditing in the approval process, standardizes the processing of business processes, and thus improves office efficiency. Attached Figure Description

[0023] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0024] Figure 1 This is a schematic flowchart illustrating a business process approval method provided in an embodiment of this application;

[0025] Figure 2 This is a schematic diagram of the approval settings interface provided in this embodiment of the application;

[0026] Figure 3 This is a schematic flowchart of the approval process of the free process provided in the embodiments of this application;

[0027] Figure 4 This is a schematic diagram of the editing and approval workflow provided in an embodiment of this application;

[0028] Figure 5 This is a schematic diagram of the interface for process business settings provided in an embodiment of this application;

[0029] Figure 6 This is a schematic diagram of the interface for pending approval nodes provided in this application embodiment;

[0030] Figure 7 This is a schematic diagram of the interface during the approval process provided in this application embodiment;

[0031] Figure 8 This is a schematic diagram of the interface where the approval node has been completed, provided in this application embodiment;

[0032] Figure 9 This is a schematic diagram of the business process approval system provided in the embodiments of this application;

[0033] Figure 10 This is a schematic diagram of the device provided in the embodiments of this application. Detailed Implementation

[0034] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.

[0035] First, before introducing the methods and systems provided in this application, it is necessary to clarify some of the terms that will be mentioned below. When this application refers to ordinal numbers such as "first" or "second," unless the context clearly indicates a sequence, it should be understood as merely for distinguishing purposes.

[0036] The terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or illustration. Any embodiment or design described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.

[0037] Unless otherwise stated, in this document, " / " generally indicates that the preceding and following objects are in an "or" relationship. For example, A / B can mean A or B. The term "and / or" is merely a description of the relationship between the related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone. Furthermore, in the description of this application, "multiple" refers to two or more.

[0038] In any system, the most critical part is not the system interface or the information exchange with the database, but rather how to develop program logic that meets actual needs based on business logic and ensure its stability, maintainability (modularization and structure), and flexibility (the ability to easily adapt to changes in actual business logic, such as changes in decision-making authority, organizational structure, and entirely new business logic arising from changes in business direction). Workflow engines address this problem: if an application lacks a robust logic layer, it will inevitably become prone to errors (information routing errors, infinite loops, etc.).

[0039] Workflow is a concept proposed for business process activities in daily work. Its purpose is to break down work into well-defined tasks or roles, implement these tasks according to certain principles and processes, and monitor them, thereby improving efficiency, controlling processes, enhancing customer service, and strengthening the effective management of business processes.

[0040] To better achieve certain business objectives, computers can be used to automatically transfer documents, information, or tasks among multiple participants according to certain established principles. Therefore, workflows must be constructed whenever information is transferred between people, between people and systems, or between systems.

[0041] Typically, management objects are selected within a fixed product or organizational framework through a downward decomposition method of "company-department-position-employee," using roles with fixed permissions as a reference. This approach requires utilizing a workflow engine to represent the logic and rules of how tasks are organized sequentially within a workflow in a suitable computer model and perform calculations accordingly. Business modeling tools describe the objects and elements involved in enterprise management and business, as well as their attributes, behaviors, and relationships, using software models.

[0042] However, the existing workflow engines and business modeling tools are not flexible enough to meet users' diverse, personalized, and complex workflow configuration, management, and maintenance needs. At the same time, when user enterprises use multiple products, the existing workflow processing methods cannot support cross-product role management, nor can they solve the problem of large amounts of redundancy and difficulty in maintenance caused by the fixed configuration of multiple process nodes. There are also questions about whether the already running process will be affected if the process is modified, and the system cannot save and record the approval process when using business modeling. Therefore, when the approval process needs to be called later, the audit process cannot be tracked, causing unnecessary trouble for relevant units or individuals.

[0043] Therefore, how to make the business in the system run efficiently and orderly, realize the automatic flow of the system approval process, and save and record the flow process are urgent problems to be solved.

[0044] In view of this, this application provides a business process approval method. In this method, the approval system obtains the data structure of the approval process in the XML data stream, then uses the data structure to run the approval process, and generates the lifecycle information of the approval process during the running of the approval process, and then the approval system saves the lifecycle information of the approval process.

[0045] To illustrate the technical solution provided in this application, specific embodiments are described below.

[0046] Please see Figure 1 , Figure 1 This is a schematic flowchart illustrating a business process approval method provided in an embodiment of this application. The method includes: S110-S140.

[0047] S110. The approval system sends an approval process request to the XML data stream.

[0048] In this embodiment of the application, when the approval system needs to execute the approval process corresponding to a certain business type, it first needs to send a request for the approval process corresponding to that business type to the XML data stream.

[0049] In this embodiment, XML is used to define the XML data flow because XML has the characteristics of being extensible, self-describing, and easy to exchange. Therefore, in this embodiment, XML format is used as the basic interaction language of the workflow engine to expand and describe the approval process according to different business types.

[0050] Optionally, when defining XML data flows using XML, multiple approval processes corresponding to multiple business processes can be defined within the XML data flow. These multiple business processes include their respective names and dynamic libraries, while each approval process includes its nodes and transition conditions.

[0051] In this embodiment of the application, the business type can be a material receiving order, material outbound, material procurement, or project management, etc. Of course, the business type can also be other business requirements, which are not limited in this embodiment of the application.

[0052] In this embodiment of the application, a dynamic library refers to the type of flow conditions corresponding to each business type.

[0053] For example, when the business type is a material receiving order, the types of flow conditions may include price and quantity; when the business type is a material outbound order, the types of flow conditions may include material type, price and quantity; when the business type is a material procurement order, the types of flow conditions may include material type, price, quantity and procurement location; and when the business type is project management, the types of flow conditions may include budget, members or departments.

[0054] It should be noted that the types of flow conditions corresponding to the business type are not limited to those listed above. Of course, they can also be any related parameters corresponding to the business type. This application embodiment does not limit this.

[0055] In the embodiments of this application, the different nodes corresponding to each approval process refer to the approval nodes corresponding to a certain business type in the approval process. It should be noted that there may be one or more such nodes.

[0056] For example, when the business type is a material receiving order, the approval process for this business type may include multiple approval nodes. In other words, the approval process for this business is only completed when the material receiving order passes through these multiple approval nodes.

[0057] In this embodiment of the application, in defining business types and approval processes using XML, an independent process scheduling object is designed to perform scheduling calculations on each running node of the workflow to ensure that the process operates normally.

[0058] It should be noted that the process scheduling object refers to the conversion of the business type in XML format and the process data related to the approval process corresponding to that business type into code that the engine can use. In other words, it is to convert the XML format content into a usable process scheduling object.

[0059] Specifically, the system backend forms independent process scheduling objects based on the set business types and the process data in the approval process corresponding to those business types. When the approval system needs to view or call these objects, the process engine can schedule the process.

[0060] This implementation method ensures that the approval processes for each business type do not affect each other, thus guaranteeing the normal operation of the process.

[0061] In this embodiment of the application, independent process instance objects can also be designed during the process of defining business types and approval processes using XML.

[0062] It should be noted that a process instance object refers to a specific approval process.

[0063] Specifically, during the XML system configuration process, the system flow exists in terms of table structure as Design Flow and Run Flow. The system has a system business enumeration table, and system businesses can be paired according to the enumeration and DesignFlow configuration relationship. When the system executes the workflow of a certain business, it will create an independent Run Flow according to the currently configured DesignFlow version.

[0064] The Design Flow represents the approvers corresponding to multiple nodes in a specific approval process.

[0065] Optionally, in this embodiment of the application, when designing the process instance object, it is also necessary to add redundant objects corresponding to the process steps in the process instance object.

[0066] It should be noted that this redundant object refers to copying various information from the corresponding Design Flow to the RunFlow. This way, even if the Design Flow is changed immediately after the current process is created, it will not have any impact on the currently created RunFlow. Furthermore, the RunFlow contains the version information of the Design Flow, which can inform the user which version of the Design Flow is currently being used and how the next node will be determined.

[0067] In this implementation, to prevent changes in the approval process of the approval system due to changes in the initial design process in the XML data stream, the approval system can run the approval process based on redundant information in the data structure of the approval process, thus ensuring the stability of the approval process.

[0068] Optionally, in this application embodiment, when designing the process embodiment object, it is also necessary to add the data information corresponding to the approval process to the data structure of the approval process, and the flow conditions can be calculated through the data information.

[0069] Specifically, the process can read the flow condition string based on the data information, then split the string into formulas, and finally calculate the flow direction based on the business values.

[0070] In this embodiment of the application, the transfer condition in the approval process refers to the process of transferring the approval process of a certain business type to approver A when the value of a certain type of transfer condition in a certain business type reaches a certain preset threshold, and when the value of a certain business type does not reach a certain preset threshold, the approval process of the business type is transferred to approver B.

[0071] For example, when creating a business process sheet, amounts exceeding 10,000 yuan are subject to approval by the project director, while amounts less than 10,000 yuan are subject to approval by the warehouse manager.

[0072] In the above embodiments, the configuration process template XML provided in this application is described in detail. The configuration process template XML provided in this application enables business to proceed efficiently and in an orderly manner.

[0073] Figure 2 The diagram shows an approval settings interface provided in an embodiment of this application. As can be seen from the diagram, an "Add" button is set on the page, and an "Edit" button is set in the list. Users can create or edit specific information and node information of the approval process by clicking the "Add" button or the "Edit" button in the list.

[0074] Clicking the "Add" or "Edit" button takes you to the interface for creating or editing the specific information and node information of the approval workflow. In other words, when the system administrator clicks the "Add" or "Edit" button, the approval system sends a request for the approval process to the XML data stream.

[0075] S120: The XML data stream generates the data structure for the approval process based on the request and sends it to the approval system.

[0076] In step S110, after the XML data stream is configured and receives the approval process request sent by the approval system, the XML data stream will convert the data content stored in the XML data stream into corresponding events in the form of data structures according to the business type and the request from the approval system.

[0077] Then, the generated approval process data structure is sent to the approval system.

[0078] S130. The approval system runs the approval process according to the data structure of the approval process and generates the lifecycle information of the approval process. The lifecycle information includes: business data, flow conditions, approval records, node information and dynamic data.

[0079] In step S130, the approval system can run the approval process based on the received approval process data structure. However, in general, the approval system can receive data structures for multiple approval processes, and the approval initiator can select one of the multiple approval processes to run. Finally, the approval system runs the approval process according to the selected approval process.

[0080] The approval process in this application embodiment is generally divided into a fixed process and a flexible process. A fixed process means that each node of the approval process is assigned a fixed approver when defined in the XML data stream. When the approval system calls this fixed process later, it only needs to run according to the set node information. A flexible process means that the approver at at least one node of the approval process can be customized according to the approval initiator when defined in the XML data stream. This node is also called a flexible node.

[0081] Based on step S130, this application embodiment also provides a method for a free-flow approval process. Figure 3 A schematic flowchart of the approval process of the free process provided in the embodiments of this application is shown, the method including S310-S330.

[0082] S310, User defines free nodes in the free flow and sends the free flow request to the XML data stream.

[0083] When the approval initiator selects the free process, the approval initiator can select the corresponding handler at the free node of the free process. After the approval initiator selects the corresponding handler, the approval system sends a request for the complete free process to the XML data stream.

[0084] S320 and XML data streams generate the data structure of the free flow based on the request of the free flow and send it to the approval system.

[0085] When the XML data stream receives a request for a free process from the approval system, it retrieves the data for that business process from the XML data stream, transforms the data into a free process data structure, and sends the free process data structure to the approval system.

[0086] It should be noted that the configuration process template XML is abstracted into a dedicated microservice, which includes a professional database. This microservice can help the system using the microservice to separate workflow logic, enabling the business within the system to proceed efficiently and in an orderly manner.

[0087] S330, The approval system operates the approval process based on a free-flow data structure.

[0088] Finally, the approval system runs the approval process of the free flow based on the data structure of the free flow sent by the XML data stream.

[0089] Figure 4 A schematic diagram of the editing approval flow provided in an embodiment of this application is shown. From Figure 4 As can be seen, there is a process type option in the basic information. When the process type is fixed process, it means that when the process is initiated in the business, it is not necessary to reselect the relevant process handler. If the process type is free type, the process handler needs to be selected when it is initiated.

[0090] As can be seen from steps S210-S230, the approval system in this embodiment of the application sets up a process node management mechanism and a process setting mechanism, supporting user-defined nodes. Process nodes can be flexibly configured in a many-to-many manner within the process settings, eliminating the one-to-one relationship between the two. This also solves the problem of excessive redundancy and difficulty in maintenance of process nodes caused by fixed multi-node configurations. When a user selects the free process, they can customize free nodes, resulting in flexible approval process configuration, user autonomy, and a high degree of freedom.

[0091] When executing step S130, once the fixed process or free process configuration is completed, it indicates that the business process has been configured. The approval system can then trigger the business process node, and the approval system will run the approval process according to the configured business process. Figure 5This application provides an embodiment of a process business setting interface diagram. Figure 5 As you can see, each business process has a button for setting up an approval workflow. Clicking this button will bring up a pop-up window where you can configure the existing workflow for a single business process. Once the workflow is configured, the system can trigger the business process node and then proceed with the approval process according to the different workflows.

[0092] Optionally, as a possible implementation, during the approval process, once the current node in the approval process is completed, the approval system will push a message to the person in charge of the next node adjacent to the current node. The relevant approval person who receives the push message can then process the corresponding node in the approval system. Figure 6 The diagram shows an interface for pending approval nodes provided in this application embodiment. At each approval node, the processor can click buttons such as: Agree, Reject, Return to Previous Level, Refuse, and Return to Initial Node. Figure 7 This document illustrates a schematic diagram of the interface during the approval process provided in an embodiment of this application. Figure 7 You can see detailed information about each approval step in the process. Figure 8 This document shows a schematic diagram of the completed approval node provided in an embodiment of this application. Figure 8 This shows the specific details of the completed tasks.

[0093] This implementation method allows the system to automatically notify the personnel who need to handle the approval process, without requiring them to constantly monitor the processing progress of the approval system, thus improving the work efficiency of the approval personnel.

[0094] S140. The approval system stores the lifecycle information of the approval process.

[0095] After steps S110-S130, the approval process run flow is complete. Once the process is finished, a business submission will be triggered, written to the audit log, and a process lifecycle record will be generated. This lifecycle record is then stored in the database for use in detailed process data and various business statistical reports.

[0096] This lifecycle information includes: business data, flow conditions, approval records, node information, and dynamic data.

[0097] Optionally, as a possible implementation, to prevent the lifecycle record from being tampered with, the lifecycle record can be encrypted and then stored in the database.

[0098] Specifically, the first ciphertext corresponding to the lifecycle record can be determined using the symmetric algorithm SM4; then, the first data digest corresponding to the lifecycle record can be determined using the digest algorithm SM3; finally, the first data digest signature corresponding to the lifecycle record can be determined based on the first data digest and the asymmetric algorithm SM2.

[0099] It should be noted that the data uses the SM4 block encryption algorithm to ensure the confidentiality of the data during transmission; the SM3 hash algorithm is used to ensure the integrity of the data to prevent the data from being tampered with during transmission; and the SM2 asymmetric algorithm is used for private key signing to ensure the non-repudiation of the data.

[0100] The method provided in this application is applied to a business process system, which includes an XML data stream and an approval system. The approval system obtains the data structure of the approval process from the XML data stream, runs the approval process using the obtained data structure, generates lifecycle information of the approval process during the process, and saves the lifecycle information of the approval process in the approval system so as to track the detailed information of the approval process in subsequent auditing. This method solves the problem of full-text auditing of the approval process in the approval process, standardizes the processing method of business processes, and thus improves office efficiency.

[0101] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0102] The above combination Figures 1-8 The approval method for the business process provided in the embodiments of this application has been described in detail. The business process system provided in the embodiments of this application will be described in detail below.

[0103] Figure 9 This is a schematic diagram of a business process system provided in an embodiment of this application. The business process system 900 includes an XML data flow 910 and an approval system 920.

[0104] XML data stream 910 is used to generate the data structure for the approval process based on the request and send it to the approval system.

[0105] The approval system 920 is used to send approval process requests to the XML data stream 910; to run the approval process according to the data structure of the approval process and to generate lifecycle information of the approval process; and to save the lifecycle information of the approval process.

[0106] When the approval process is a free process, the approval system 920 is also used to send a request for the free process to the XML data stream; and to run the approval process according to the data structure of the free process.

[0107] XML Data Flow 910 is also used to generate the data structure of the free flow based on the request of the free flow and send it to the approval system;

[0108] The approval system 920 is also used to send a notification message to the processor of the next node adjacent to the current node after the current node in the approval process has been completed. The notification message is used to instruct the processor to execute the approval process.

[0109] The approval system 920 is also used to determine the flow conditions of the approval process based on data information and calculation formulas.

[0110] The approval system 920 is also used to run the approval process based on redundant information when the initial design process changes.

[0111] The approval system 920 is also used to encrypt the lifecycle information of the approval process.

[0112] Figure 10 This is a schematic diagram of the device provided in an embodiment of this application. For example... Figure 10 As shown, the device 1000 of this embodiment includes: a processor 1010, a memory 1020, and a computer program 1030 stored in the memory 1020 and executable on the processor 1010. When the processor 1010 executes the computer program 1030, it implements the steps in the above-described methods for approving various business processes, for example... Figure 1 Steps 110 to 140 are shown. Alternatively, when the processor 1010 executes the computer program 1030, it implements the functions of each module / unit in the above-described device embodiments, for example... Figure 9 The functions of modules 210-220 are shown.

[0113] For example, the computer program 1030 may be divided into one or more modules / units, which are stored in the memory 1020 and executed by the processor 1010 to complete this application. The one or more modules / units may be a series of computer program instruction segments capable of performing specific functions, which describe the execution process of the computer program 1030 in the device 1000.

[0114] The device 1000 may be a desktop computer, laptop, handheld computer, or cloud server, etc. The device may include, but is not limited to, a processor 1010 and a memory 1020. Those skilled in the art will understand that... Figure 10This is merely an example of a device and does not constitute a limitation on the device. It may include more or fewer components than shown, or combine certain components, or different components. For example, the device may also include input / output devices, network access devices, buses, etc.

[0115] The processor 1010 may be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor.

[0116] The memory 1020 can be an internal storage unit of the device 1000, such as a hard disk or memory of the device 1000. The memory 1020 can also be an external storage device of the device 1000, such as a plug-in hard disk, smart media card (SMC), secure digital card (SD), flash card, etc., equipped on the device 1000. Furthermore, the memory 1020 can include both internal storage units and external storage devices of the device 1000. The memory 1020 is used to store the computer program and other programs and data required by the device. The memory 1020 can also be used to temporarily store data that has been output or will be output.

[0117] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, can implement the approval method for the above-mentioned business process.

[0118] This application provides a computer program product that, when run on a device, enables the device to execute an approval method that can realize the above-mentioned business process.

[0119] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0120] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0121] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0122] In the embodiments provided in this application, it should be understood that the disclosed apparatus / devices and methods can be implemented in other ways. For example, the apparatus / device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0123] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0124] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0125] If the integrated module / unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable medium can be appropriately added or removed according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media do not include electrical carrier signals and telecommunication signals.

[0126] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A method for approving a business process, characterized in that, The method is applied to a business process system, which includes XML data flow and an approval system, and the method includes: The approval system sends approval process requests to the XML data stream. When defining the XML data stream using XML, multiple approval processes corresponding to multiple business processes are defined within the XML data stream. Each approval process includes nodes and flow conditions for each approval process. In defining business types and approval processes using XML, independent process scheduling objects are designed to perform scheduling calculations on each running node of the workflow. Independent process scheduling objects are formed by setting business types and the process data in the corresponding approval processes, ensuring that the approval processes corresponding to each business type do not affect each other. The process scheduling object refers to converting the business types and the process data related to the corresponding approval processes in the XML format into code usable by the engine. In the process of defining business types and approval processes using XML, also... This includes designing independent process instance objects, which refer to a specific approval process. During XML system configuration, system processes exist as design flows and execution flows from a table structure perspective. When the system executes a business workflow, it creates an independent execution flow according to the currently configured design flow version. The design flow represents the approvers corresponding to multiple nodes in a specific approval process. When designing process instance objects, redundant objects corresponding to the process steps also need to be added. These redundant objects copy various information from the corresponding design flow to the execution flow. This ensures that even if the design flow is changed immediately after the process is created, it will not affect the currently created execution flow. Furthermore, the execution flow contains the version information of the design flow, informing the user which version of the design flow is currently being used and how the next node will be determined. The XML data stream generates the data structure for the approval process based on the request and sends it to the approval system; The approval system runs the approval process according to the data structure of the approval process and generates the lifecycle information of the approval process. The lifecycle information includes: business data, flow conditions, approval records, node information and dynamic data. The approval system stores the lifecycle information of the approval process; The method further includes: The first ciphertext corresponding to the lifecycle record is determined using the symmetric algorithm SM4; The first data digest corresponding to the lifecycle information is determined based on the first ciphertext and the digest algorithm SM3. The first data digest signature corresponding to the lifecycle information is determined based on the first data digest and the asymmetric algorithm SM2. Save the first ciphertext, the first data digest, and the first data digest signature.

2. The method according to claim 1, characterized in that, The approval process includes a free process and a fixed process. The approval process includes multiple nodes, and a free process is defined as having at least one free node among the multiple nodes. When the approval process is a free process, the approval system operates the approval process according to the data structure in the approval process, including: When a user defines a free node in the free process, the approval system sends a request for the free process to the XML data stream; The XML data stream generates the data structure of the free process according to the request of the free process, and sends it to the approval system; The approval system operates the approval process based on the data structure of the free flow.

3. The method according to claim 1 or 2, characterized in that, The method further includes the following in the approval process: Once the current node in the approval process is completed, a notification message is sent to the processor of the next node adjacent to the current node. The notification message is used to instruct the processor to execute the approval process.

4. The method according to claim 3, characterized in that, The data structure of the approval process includes data information, and the method further includes: Based on the data, the conditions for the approval process are determined using a calculation formula.

5. A business process system, characterized in that, The business process system includes an XML data stream and an approval system, and the business process system is used to perform the method as described in any one of claims 1 to 4.

6. A device, characterized in that, The device includes a processor for performing the method as described in any one of claims 1 to 4.

7. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 4.

8. A chip, characterized in that, include: A processor for retrieving and running a computer program from memory, causing a device on which the chip is mounted to perform the method as described in any one of claims 1 to 4.