Method and system for reducing number of approval records in complex process approval scene

By introducing a path decision module and an approval record query module in complex process approval scenarios, and by using the approval path ID to divide data and merge path records, the problem of redundant approval records in complex processes is solved, thereby saving storage space and improving query efficiency.

CN121810221APending Publication Date: 2026-04-07TRANSINO
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-30
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

In complex approval process scenarios, existing technologies suffer from high storage space consumption and low query efficiency due to redundancy in each approval record, making it impossible to effectively reduce the number of approval records.

Method used

By introducing a data storage module, a path decision module, and an approval record query module, the data to be approved is divided into path groups using the approval path ID, and approval path records are added or created in the path approval record table, reducing the number of independent records.

Benefits of technology

The number of approval records has been reduced from the traditional "number of data entries × number of approval steps" to "number of approval paths × number of approval steps", which greatly reduces data redundancy and improves query efficiency and response speed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121810221A_ABST
    Figure CN121810221A_ABST
Patent Text Reader

Abstract

The invention provides a method and system for reducing the number of approval records in a complex process approval scene, and the method comprises the steps: dividing a to-be-approved data set into one or more path groups according to an approval path ID, and obtaining a plurality of to-be-approved data subsets; judging whether each to-be-approved data subset is a proper subset of all to-be-approved data sets of the approval path ID under the current approval node; if yes, adding a new path examination and approval record under the corresponding examination and approval path ID in the path examination and approval record table, and updating the examination and approval path ID of the to-be-examined and approved data subset and the current node; otherwise, newly establishing an approval path ID, adding a path approval record of the operation on the basis of all path approval records of the original approval path ID, and updating the approval path ID of the to-be-approved data subset in the data table and the path approval record table. According to the method, the number of approval records in a complex process approval scene is reduced, data redundancy is reduced, and the storage space of the system is saved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computer and data processing, in particular to a method and system for reducing the number of approval records in a complex process approval scenario. BACKGROUND

[0002] When facing a large number of data for each record of the complex process approval, and needing to query the approval record of each record, the existing technology generally records multiple approval records of each data through the approval record table. However, if the data has ten million or even one billion, the number of approval records will be multiplied by the average number of approvals (such as 5-10 times), and a large amount of redundant data not only occupies space, but also affects the approval and query efficiency during the bulk insertion and retrieval of the approval records.

[0003] The complex approval process, as shown in Figure 1 , involves business data of multiple business departments, which needs to be approved by different permissions. The data volume of the data table in the complex approval process is very large, and the data volume level reaches ten million or even one billion. The complex approval process is a multi-level approval, and each level needs to filter part of the data according to different conditions and enter the corresponding approval node. Each approval node has an approval result of passing, rejecting, and rejecting to a certain historical node. The approved data enters the corresponding node of the next step for approval according to the condition, and the rejected data returns to the previous node or a certain historical node. Each approval node can pass part of the data and reject another part of the data. It is necessary to query the approval node and the approval record (including the entire process of re-submission after rejection) of each approval data. The common data structure of each approval record is shown in Figure 2 . Each approval data is inserted into an approval record after passing a new approval node. If the data volume is huge, the data volume of the approval record table will also be huge, which is easy to cause storage redundancy and performance degradation. Each data cannot be divided into batches to follow a fixed approval process when submitting the approval. Each node in the approval process may set different access conditions, so the batch method cannot be used to reduce the number of approval records.

[0004] To solve the above problems, the present application provides a method and system for reducing the number of approval records in a complex process approval scenario. SUMMARY

[0005] The present application proposes the following technical solutions to solve one or more technical defects in the prior art.

[0006] Based on the first aspect of the present application, a system for reducing the number of approval records in a complex process approval scenario is provided, which includes a data storage module, a path decision module, and an approval record query module. The data storage module includes a data table, a path approval record table and an approval path table, the data table stores a to-be-approved data set requiring approval, the path approval record table stores a path approval record set under a complex process approval scenario, and the data table and the path approval record table are associated through an approval path ID; The path decision module, in response to an approval operation request of the to-be-approved data set, acquires an approval path ID corresponding to each to-be-approved data in the to-be-approved data set, and divides the to-be-approved data set into one or more path groups according to the approval path ID, to obtain a plurality of to-be-approved data subsets with the same approval path ID; If the to-be-approved data subset in each path group is a true subset of all to-be-approved data sets under the current approval node of the approval path ID, a path approval record is added under the corresponding approval path ID in the path approval record table; If the to-be-approved data subset in each path group is not a true subset of all to-be-approved data sets under the current approval node of the approval path ID, a new approval path ID is created for the to-be-approved data subset, the path approval record table is searched, and a path approval record of the current operation is added to all path approval records of the original approval path ID as a path approval record of the newly created approval path ID, and the original approval path ID of the to-be-approved data subset is modified to the newly created approval path ID; The approval record query module is configured to receive an approval history query request of a single to-be-approved data, and acquire complete path approval records from the approval record table according to the approval path ID as an approval history result for return.

[0007] The application changes the traditional approval process mode of independent recording of approval history for each to-be-approved data, reduces the number of approval records from the order of magnitude of "data number x approval step number" to the order of magnitude of "approval path number x approval step number", greatly reduces data redundancy in a complex approval process under a large amount of data, reduces the time for processing approval records in a complex approval process, and significantly improves the query efficiency of approval records.

[0008] Further, the data table includes a data ID, an approval path ID and a current approval node; and the path approval record table includes a path approval record ID, an approval path ID, an approval node, an approval result, an approver and an approval time.

[0009] Further, the approval path ID is a unique identifier of each approval path, the data table is associated with the path approval records in the path approval record table through the approval path ID, one approval path ID corresponds to a plurality of path approval records in the path approval record table, and the path approval record table is an ordered list recording complete approval history of all to-be-approved data.

[0010] Furthermore, it also includes an approval record query module, which is used to receive an approval history query request for a single piece of pending data, and retrieve the complete path approval record from the approval record table according to the approval path ID as the approval history result and return it.

[0011] This step allows the system to directly obtain a complete and ordered sequence of path approval records simply by using the approval path ID, greatly improving the system's query efficiency and response speed.

[0012] A second aspect of this application also proposes a method for reducing the number of approval records using the system described above, comprising: S1: In response to the approval operation request of the pending data set, the path decision module obtains the pending data set submitted by the user and merges it to determine whether there is a corresponding approval path ID in the data table; S2: If the data to be approved has a corresponding approval path ID in the data table, then the data set to be approved is divided into one or more path groups according to the approval path ID, resulting in several subsets of data to be approved, and it is determined whether the subset of data to be approved in each path group is a proper subset of all data sets to be approved under the current approval node for that approval path ID. S3: If the subset of data to be approved in each path group is a proper subset of all data sets to be approved under the current approval node for that approval path ID, then append a new path approval record under the corresponding approval path ID in the path approval record table, and update the approval path ID and the current node of the subset of data to be approved in the data table. S4: Otherwise, if the subset of data to be approved in each path group is not a proper subset of all data sets to be approved under the current approval node for the approval path ID, then create a new approval path ID, search the path approval record table, append the path approval record of this operation to all path approval records of the original approval path ID as the path approval record of the new approval path ID, and update the approval path ID of the subset of data to be approved in the data table and the path approval record table.

[0013] Furthermore, step S1 also includes querying the approval path ID corresponding to each piece of data to be approved when submitting the set of data to be approved in the system. If no corresponding approval path ID is found for the data to be approved, the approval path ID and the path approval record corresponding to this operation are added to the path approval record table, and the approval path ID and the current node of the data to be approved in the data table are updated.

[0014] This step creates an independent approval path starting point for the first submitted data to be approved, ensuring that all data to be approved is included in the approval path management system from the very beginning of the approval process.

[0015] Furthermore, if the current node's approval operation is to reject the application to any historical node in the approval process, steps S2 to S4 are executed, and the current node is set as the rejected historical node.

[0016] Furthermore, the pending data with the same approval path ID pass through the same approval node, and the approval operation of each node is the same, including approval or rejection.

[0017] This step maintains the continuity and consistency of the approval path for rejected data even when it is rejected and returned to the historical node, thus avoiding confusion in historical approval records.

[0018] Based on a third aspect of this application, a computer program product is also proposed, having one or more computer programs thereon that, when executed by a computer processor, perform the method as described above.

[0019] The technical advantages of this application are as follows: In complex approval process scenarios, this application merges approval records with the same path in the approval process, reducing the number of path approval records from the traditional "number of records × number of approval steps" to "number of approval paths × number of approval steps". The number of path approval records is only related to the approval path, which greatly reduces the number of approval records and the time for processing path approval records in complex approval process scenarios, saves system storage space and improves query efficiency. Attached Figure Description

[0020] Other features, objects, and advantages of this application will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings.

[0021] Figure 1 This is a schematic diagram of a common complex approval process based on existing technology; Figure 2 It is a data structure diagram of approval records for a common complex approval process provided by existing technology; Figure 3 This is a module diagram of a system for reducing the number of approval records in a complex approval process scenario, according to an embodiment of this application. Figure 4 This is a data structure diagram of a system approval process for reducing the number of approval records in a complex approval scenario, according to an embodiment of this application. Figure 5This is a flowchart illustrating a method for reducing the number of approval records in a complex approval process scenario, according to an embodiment of this application. Figure 6 This is a business process diagram of a method for reducing the number of approval records in a complex approval scenario, according to an embodiment of this application. Figure 7 This is a detailed flowchart of the submission process for a method to reduce the number of approval records in a complex approval scenario, according to an embodiment of this application. Figure 8 This is a detailed flowchart of an approval process for reducing the number of approval records in a complex approval scenario, according to an embodiment of this application. Figure 9 This is a schematic diagram of the structure of a computer system suitable for implementing the electronic devices of the present application embodiments. Detailed Implementation

[0022] The present application will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and not intended to limit it. Furthermore, it should be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings.

[0023] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. This application will now be described in detail with reference to the accompanying drawings and embodiments.

[0024] Figure 3 This application presents a system for reducing the number of approval records in complex process approval scenarios, including a data storage module a, a path decision module b, and an approval record query module c.

[0025] In a specific embodiment, the data storage module a includes a data table, a path approval record table, and an approval path table. The data table stores a set of pending data that needs to be approved, and the path approval record table stores a set of path approval records under complex process approval scenarios. The data table and the path approval record table are associated through the approval path ID.

[0026] In a specific embodiment, the path decision module b responds to the approval operation request of the data set to be approved, obtains the approval path ID corresponding to each piece of data to be approved in the data set to be approved, and divides the data set to be approved into one or more path groups according to the approval path ID, thereby obtaining several subsets of data to be approved with the same approval path ID. If the subset of pending data in each path group is a proper subset of all pending data sets under the current approval node for that approval path ID, then append a path approval record to the corresponding approval path ID in the path approval record table. If the subset of data to be approved in each path group is not a proper subset of all data sets to be approved under the current approval node for that approval path ID, then a new approval path ID is created for the subset of data to be approved. The path approval record table is searched, and the path approval record of this operation is appended to all path approval records of the original approval path ID as the path approval record of the new approval path ID. The original approval path ID of the subset of data to be approved is then modified to the newly created approval path ID.

[0027] In a specific embodiment, the approval record query module c is used to receive an approval history query request for a single piece of pending data, and retrieve the complete path approval record from the approval record table according to the approval path ID as the approval history result and return it.

[0028] It should be noted that this application changes the traditional approach of independently recording the approval history for each piece of approval data in the approval process. It reduces the number of approval records from the scale of "number of data entries × number of approval steps" to the scale of "number of approval paths × number of approval steps". In complex approval processes with large amounts of data, this greatly reduces data redundancy, reduces the time spent processing approval records in complex approval processes, and significantly improves the efficiency of querying approval records.

[0029] It should be noted that the data structure involved in the approval process of this application is as follows: Figure 4 As shown, the data table includes a data ID, an approval path ID, and the current approval node; the path approval record table includes a path approval record ID, an approval path ID, an approval node, an approval result, an approver, and an approval time.

[0030] It should be noted that the approval path ID is a unique identifier for each approval path. The data table is associated with the path approval records in the path approval record table through the approval path ID. One approval path ID corresponds to multiple path approval records in the path approval record table. The path approval record table is an ordered list that records the complete approval history of all data pending approval.

[0031] It should be noted that this step allows the system to directly obtain a complete and ordered sequence of path approval records simply by using the approval path ID, greatly improving the system's query efficiency and response speed.

[0032] The following is for reference. Figure 5 It illustrates a method for reducing the number of approval records using a system as described in any of the above, comprising: S1: In response to the approval operation request of the pending data set, the path decision module obtains the pending data set submitted by the user and merges it to determine whether there is a corresponding approval path ID in the data table; S2: If the data to be approved has a corresponding approval path ID in the data table, then the data set to be approved is divided into one or more path groups according to the approval path ID, resulting in several subsets of data to be approved, and it is determined whether the subset of data to be approved in each path group is a proper subset of all data sets to be approved under the current approval node for that approval path ID. S3: If the subset of data to be approved in each path group is a proper subset of all data sets to be approved under the current approval node for that approval path ID, then append a new path approval record under the corresponding approval path ID in the path approval record table, and update the approval path ID and the current node of the subset of data to be approved in the data table. S4: Otherwise, if the subset of data to be approved in each path group is not a proper subset of all data sets to be approved under the current approval node for the approval path ID, then create a new approval path ID, search the path approval record table, append the path approval record of this operation to all path approval records of the original approval path ID as the path approval record of the new approval path ID, and update the approval path ID of the subset of data to be approved in the data table and the path approval record table.

[0033] It should be noted that step S1 also includes querying the approval path ID corresponding to each piece of data to be approved when submitting the set of data to be approved in the system. If no corresponding approval path ID is found for the data to be approved, the approval path ID and the path approval record corresponding to this operation are added to the path approval record table, and the approval path ID and the current node of the data to be approved in the data table are updated.

[0034] It should be noted that this step creates an independent approval path starting point for the first submitted data to be approved, ensuring that all data to be approved is included in the approval path management system from the very beginning of the approval process.

[0035] It should be noted that when the approval operation of the current node is to reject the application to any historical node in the approval process, steps S2 to S4 are executed, and the current node is set as the rejected historical node.

[0036] It should be noted that the pending data with the same approval path ID go through the same approval node, and the approval operation of each node is the same, including approval or rejection.

[0037] It should be noted that this step can maintain the continuity and consistency of the approval path for rejected data when the data pending approval is rejected and returned to the historical node, thus avoiding confusion in historical approval records.

[0038] It should be noted that complex approval processes include business processes such as... Figure 6 As shown, after a user submits data to be approved, it needs to go through N data approval nodes according to the preset business rules, and be approved step by step according to the conditions, and finally approved. The specific sub-process for submitting data pending approval is as follows: Figure 7 As shown, it specifically includes: S701: In response to an approval operation request for a set of data to be approved, the user submits a set of data to be approved in the system. The system retrieves the set of data to be approved submitted by the user and queries the corresponding approval path ID in the data table. S702: The system determines whether there is a corresponding approval path ID in the data table; S703: If the data to be approved does not have a corresponding approval path ID in the data table, then this submission is the first submission. A new approval path ID is created in the path approval record table, and path approval records for all data to be approved submitted in this submission are added under the new approval path ID. All path approval records in the data table with empty path approval record IDs are updated with the newly created approval path ID. S704: If the data pending approval can be found to correspond to the approval path ID, then the data submitted this time is a resubmission. Then take the number of path approval records of the current approval path ID in the current submission record and determine whether it is equal to the total number of path approval records of the current approval path ID. S705: If the number of path approval records for the current approval path ID in this submission is equal to the total number of path approval records for the current approval path ID, then submit all pending data for this operation into the approval process. S706: If the number of path approval records for the current approval path ID in this submission is not equal to the total number of path approval records for the current approval path ID, then create a new approval path ID and copy all path approval records for the current approval path ID. Add path approval records under the new approval path ID and update the current approval path ID to the newly created path ID.

[0039] It should be noted that in the submission sub-process, for the first submission of data pending approval, a new approval path ID needs to be created; for the partial resubmission of data pending approval, an additional approval path ID needs to be added; and for the complete resubmission of data pending approval, only a path approval record needs to be added, without updating the approval path ID.

[0040] It should be noted that the specific sub-processes for approving data pending approval are as follows: Figure 8 As shown, it specifically includes: S801: The system obtains the set of data to be approved submitted by the user, and divides the set of data to be approved into one or more path groups according to the approval path ID, thereby obtaining several subsets of data to be approved; S802: For each approval path ID, the system obtains the number of records for the current approval path ID in this submission, as well as the total number of records for the current approval path ID; S803: Determine whether the number of records for the current approval path ID submitted this time is equal to the total number of records for the current approval path ID; S804: If the number of records for the current approval path ID submitted in each path group is equal to the total number of records for the current approval path ID, then a new path approval record is appended to the corresponding current approval path ID in the path approval record table. S805: If the number of records for the current approval path ID in each path group is not equal to the total number of records for the current approval path ID, create a new approval path ID, copy all path approval records for the current approval path ID, and append the path approval record of this operation as the path approval record for the new approval path ID. Modify the current approval path ID in the records submitted this time to the new approval path ID.

[0041] In a specific implementation, assuming there are 1 million data entries to be submitted in the data table, the approval process is as follows: Figure 1 As shown in the figure, the data to be submitted is shown in the combined table 1; when the user submits the data, an approval path ID is created, as shown in the combined table 2. A new approval path ID, 1000, is created in the path approval record table, and path approval records for all submitted data to be approved are added under the new approval path ID. All path approval records in the data table with empty path approval record IDs are updated to the newly created approval path ID, 1000. Of the submitted data pending approval, 400,000 data entries meet condition 1 and 600,000 data entries meet condition 2. The user will then perform the approval operation at approval node 1 and approval node 2 respectively, as shown in the combined table 3. The approval path ID for the 400,000 data entries that meet condition 1 is 1000. Since the approval path IDs are different, the approval path ID for the 600,000 data entries that meet condition 2 will be established as 2000. Both approval paths subsequently passed approval nodes 3, 4, 7, and 9, and all were approved, as shown in the combined table 4. After completing the approval process, there are a total of 2 approval paths and 12 path approval records. Furthermore, any data record can be directly used to find the 6 path approval records corresponding to the same approval path from the path approval records based on the approval path ID.

[0042] Combined Table 1: Data Combination Table to be Submitted

[0043] Combined Table 2: Approval Path Creation Combined Table

[0044] Combination Table 3 First Approved Combination Table

[0045] Combination Table 4: Second Approval of Combination Table

[0046] The following is for reference. Figure 9 It shows a schematic diagram of the structure of a computer system suitable for implementing the electronic device of the present application. Figure 9 The electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.

[0047] like Figure 9 As shown, the computer system includes a central processing unit (CPU) 901, which can perform various appropriate actions and processes based on programs stored in read-only memory (ROM) 902 or programs loaded from storage section 908 into random access memory (RAM) 903. RAM 903 also stores various programs and data required for system operation. CPU 901, ROM 902, and RAM 903 are interconnected via bus 904. Input / output (I / O) interface 905 is also connected to bus 904.

[0048] The following components are connected to I / O interface 905: an input section 906 including a keyboard, mouse, etc.; an output section 907 including a liquid crystal display (LCD) and speakers, etc.; a storage section 908 including a hard disk, etc.; and a communication section 909 including a network interface card such as a LAN card and a modem, etc. The communication section 909 performs communication processing via a network such as the Internet. A drive 910 is also connected to I / O interface 905 as needed. A removable medium 911, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on drive 910 as needed so that computer programs read from it can be installed into storage section 908 as needed.

[0049] Specifically, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a computer-readable storage medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 909, and / or installed from removable medium 911. When the computer program is executed by central processing unit (CPU) 901, it performs the functions defined in the methods of this application. It should be noted that the computer-readable storage medium of this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. The computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable storage medium other than a computer-readable storage medium that can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. Program code contained on a computer-readable storage medium may be transmitted using any suitable medium, including but not limited to: wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.

[0050] Computer program code for performing the operations of this application can be written in one or more programming languages ​​or a combination thereof. Programming languages ​​include object-oriented programming languages—such as Java, Smalltalk, and C++—as well as conventional procedural programming languages—such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0051] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0052] The modules described in the embodiments of this application can be implemented in software or in hardware.

[0053] On the other hand, this application also provides a computer-readable storage medium, which may be included in the electronic device described in the above embodiments; or it may exist independently and not assembled into the electronic device. The computer-readable storage medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to: respond to an approval operation request for a set of data to be approved; the system obtains the user-submitted dataset of data to be approved and merges it to determine whether a corresponding approval path ID exists in the data table; if the data to be approved has a corresponding approval path ID in the data table, then the set of data to be approved is divided into one or more path groups according to the approval path ID, resulting in several subsets of data to be approved, and it is determined whether the subset of data to be approved in each path group is a proper subset of all data sets of data to be approved under the current approval node for that approval path ID; if the data to be approved in each path group... If a subset is a proper subset of all pending data sets under the current approval node for the approval path ID, then a new path approval record is appended to the corresponding approval path ID in the path approval record table, and the approval path ID of the pending data subset and the current node in the data table are updated. Otherwise, if the pending data subset in each path group is not a proper subset of all pending data sets under the current approval node for the approval path ID, then a new approval path ID is created, the path approval record table is searched, and the path approval record of this operation is appended to all path approval records of the original approval path ID as the path approval record for the new approval path ID. The approval path ID of the pending data subset in the data table and the path approval record table are updated.

[0054] The above description is merely a preferred embodiment of this application and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of the invention involved in this application is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described inventive concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features with similar functions disclosed in this application.

[0055] Finally, it should be noted that the above embodiments are for illustration only and not for limiting the technical solutions of the present invention. Although the present invention has been described in detail with reference to the above embodiments, those skilled in the art should understand that modifications or equivalent substitutions can still be made to the present invention without departing from the spirit and scope of the present invention. Any modifications or partial substitutions should be covered within the scope of the claims of the present invention.

Claims

1. A system for reducing the number of approval records in complex workflow approval scenarios, characterized in that, It includes a data storage module, a path decision module, and an approval record query module; The data storage module includes a data table, a path approval record table, and an approval path table. The data table stores a set of pending data that needs to be approved, and the path approval record table stores a set of path approval records under complex process approval scenarios. The data table and the path approval record table are associated through the approval path ID. The path decision module responds to the approval operation request of the data set to be approved, obtains the approval path ID corresponding to each piece of data to be approved in the data set to be approved, and divides the data set to be approved into one or more path groups according to the approval path ID, thereby obtaining several subsets of data to be approved with the same approval path ID. If the subset of pending data in each path group is a proper subset of all pending data sets under the current approval node for that approval path ID, then append a path approval record to the corresponding approval path ID in the path approval record table. If the subset of data to be approved in each path group is not a true subset of all data sets to be approved under the current approval node for that approval path ID, then create a new approval path ID for the subset of data to be approved, search the path approval record table, and append the path approval record of this operation to all path approval records of the original approval path ID as the path approval record of the new approval path ID, and modify the original approval path ID of the subset of data to be approved to the newly created approval path ID. The approval record query module is used to receive an approval history query request for a single piece of pending data, and retrieve the complete path approval record from the approval record table according to the approval path ID as the approval history result and return it.

2. The system according to claim 1, characterized in that, The data table includes a data ID, an approval path ID, and the current approval node; the path approval record table includes a path approval record ID, an approval path ID, an approval node, an approval result, an approver, and an approval time.

3. The system according to claim 1, characterized in that, The approval path ID is a unique identifier for each approval path. The data table is associated with the path approval records in the path approval record table through the approval path ID. One approval path ID corresponds to multiple path approval records in the path approval record table. The path approval record table is an ordered list that records the complete approval history of all data pending approval.

4. The system according to claim 1, characterized in that, It also includes an approval record query module, which is used to receive an approval history query request for a single piece of pending data, and retrieve the complete path approval record from the approval record table according to the approval path ID as the approval history result and return it.

5. A method for reducing the number of approval records using the system as described in any one of claims 1-4, characterized in that, include: S1: In response to the approval operation request of the pending data set, the path decision module obtains the pending data set submitted by the user and merges it to determine whether there is a corresponding approval path ID in the data table; S2: If the data to be approved has a corresponding approval path ID in the data table, then the data set to be approved is divided into one or more path groups according to the approval path ID, resulting in several subsets of data to be approved, and it is determined whether the subset of data to be approved in each path group is a proper subset of all data sets to be approved under the current approval node for that approval path ID. S3: If the subset of data to be approved in each path group is a proper subset of all data sets to be approved under the current approval node for that approval path ID, then append a new path approval record under the corresponding approval path ID in the path approval record table, and update the approval path ID and the current node of the subset of data to be approved in the data table. S4: Otherwise, if the subset of data to be approved in each path group is not a proper subset of all data sets to be approved under the current approval node for the approval path ID, then create a new approval path ID, search the path approval record table, append the path approval record of this operation to all path approval records of the original approval path ID as the path approval record of the new approval path ID, and update the approval path ID of the subset of data to be approved in the data table and the path approval record table.

6. The method according to claim 5, characterized in that, Step S1 also includes querying the approval path ID corresponding to each piece of data to be approved when submitting the set of data to be approved in the system. If no corresponding approval path ID is found for the data to be approved, the approval path ID and the path approval record corresponding to this operation are added to the path approval record table, and the approval path ID and the current node of the data to be approved in the data table are updated.

7. The method according to claim 5, characterized in that, If the current node's approval operation is to reject the application to any historical node in the approval process, steps S2 to S4 are executed, and the current node is set as the rejected historical node.

8. The method according to claim 5, characterized in that, Data pending approval with the same approval path ID passes through the same approval node, and the approval operation at each node is the same, including approval or rejection.

9. A computer-readable medium having one or more computer programs stored thereon, characterized in that, The method described in any one of claims 5-8 is performed when the one or more computer programs are executed by a computer processor.