Method for Comparing Differences in Process Versions, Related Devices, and Computer Storage Media

By comparing the directed acyclic graph differences in the batch operation process version, the problem of uncatched version differences is solved, and the effect of quickly identifying differences and reducing production risks is achieved.

CN115237466BActive Publication Date: 2025-06-10BANK OF CHINA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210917261.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-01
Publication Date
2025-06-10
Estimated Expiration
2042-08-01

AI Technical Summary

Technical Problem

When batch operation process changes, version differences are not captured, resulting in an increase in potential risks when batches are put into production.

Method used

By obtaining the batch process data files of the first and second process versions to be compared, parsing them into JSON format, modeling as directed acyclic graphs, and comparing the differences between the two.

Benefits of technology

Quickly and accurately identify the differences in versions to reduce the potential risks caused by version updates when batches are put into production.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115237466B_ABST
    Figure CN115237466B_ABST
Patent Text Reader

Abstract

The present application provides a method for comparing differences between process versions, related devices, and a computer storage medium, which is applied to the financial field or other fields. The method includes: obtaining a first process version and a second process version to be compared; respectively parsing the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version according to the data structure storage method in the JSON format text to obtain first target data information and second target data information; respectively performing directed acyclic graph modeling based on the first target data information and the second target data information to obtain a first directed acyclic graph and a second directed acyclic graph; comparing the first directed acyclic graph and the second directed acyclic graph to obtain the different parts between the first directed acyclic graph and the second directed acyclic graph. Thus, it can help developers and operation and maintenance personnel quickly and accurately identify the different parts of the versions, and reduce the potential risks brought by version updates during batch production.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular, to a method for comparing differences between process versions, related devices, and computer storage media. Background Art

[0002] Batch jobs are orchestrated in a process-based and visualized manner in the scheduling system. Process instances can be constructed by simply dragging, pulling, and dropping task nodes, which greatly simplifies the intricate dependencies between jobs in the batch processing process. Moreover, it can monitor the running status of tasks in real-time and visually, which is extremely convenient for developers and operators.

[0003] However, when it comes to changes in batch job processes, such as deleting, adding, modifying jobs or parameter configurations, version differences will occur. During the installation process of the batch production version, the new batch process in the functional environment will be transplanted and overwritten to the production environment. At this time, even if minor process or parameter differences are not captured, the impact on the bank's end-of-day batch is inestimable. Summary of the Invention

[0004] In view of this, this application provides a method for comparing differences between process versions, related devices, and computer storage media, which can help developers and operators quickly and accurately identify the parts with version differences and reduce the potential risks brought by version updates during batch production.

[0005] The first aspect of this application provides a method for comparing differences between process versions, including:

[0006] Obtain a first process version and a second process version to be compared;

[0007] Respectively obtain the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version; wherein, the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version are both stored in JSON format;

[0008] Parse the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version respectively according to the data structure storage method in the JSON format text to obtain first target data information and second target data information; wherein, both the first target data information and the second target data information include job names, job parameter configuration situations, and job predecessor and successor relationships;

[0009] Modeling is performed respectively according to the first target data information and the second target data information to obtain a first directed acyclic graph and a second directed acyclic graph; wherein, the batch jobs are abstracted as nodes in the directed acyclic graph, the job parameter configuration information is abstracted as the information of the nodes in the directed acyclic graph, and the job predecessor and successor dependency relationships are abstracted as the edges of the directed acyclic graph.

[0010] Compare the first directed acyclic graph and the second directed acyclic graph to obtain the different parts between the first directed acyclic graph and the second directed acyclic graph.

[0011] Optionally, the step of comparing the first directed acyclic graph and the second directed acyclic graph to obtain the different parts between the first directed acyclic graph and the second directed acyclic graph includes:

[0012] Determine whether there are new or deleted jobs in the first directed acyclic graph compared with the second directed acyclic graph to obtain the first difference part;

[0013] Determine whether the batch job parameter configuration has been modified in the first directed acyclic graph compared with the second directed acyclic graph to obtain the second difference part;

[0014] Determine whether the dependency relationship has changed in the first directed acyclic graph compared with the second directed acyclic graph to obtain the third difference part.

[0015] Optionally, after comparing the first directed acyclic graph and the second directed acyclic graph to obtain the different parts between the first directed acyclic graph and the second directed acyclic graph, the method further includes:

[0016] Output and display the different parts between the first directed acyclic graph and the second directed acyclic graph in the form of a graph.

[0017] Optionally, after comparing the first directed acyclic graph and the second directed acyclic graph to obtain the different parts between the first directed acyclic graph and the second directed acyclic graph, the method further includes:

[0018] Store the first process version information, the second process version information, and the different parts between the first directed acyclic graph and the second directed acyclic graph into the historical difference query module of the batch scheduling process version management platform.

[0019] Optionally, after parsing the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version respectively according to the data structure storage method in the JSON format text to obtain the first target data information and the second target data information, the method further includes:

[0020] Save the batch process data file corresponding to the first process version and the first target data information in a dictionary in the form of key-value pairs;

[0021] Save the batch process data file corresponding to the second process version and the second target data information in a dictionary in the form of key-value pairs.

[0022] The second aspect of this application provides a device for comparing differences in process versions, including:

[0023] A first acquisition unit for acquiring a first process version and a second process version to be compared;

[0024] A second acquisition unit for respectively acquiring the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version; wherein, the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version are both stored in JSON format;

[0025] A parsing unit for respectively parsing the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version according to the data structure storage method in the JSON format text to obtain first target data information and second target data information; wherein, the first target data information and the second target data information both include job names, job parameter configuration situations, and job predecessor and successor relationships;

[0026] A modeling unit for respectively performing directed acyclic graph modeling according to the first target data information and the second target data information to obtain a first directed acyclic graph and a second directed acyclic graph; wherein, batch jobs are abstracted as nodes in the directed acyclic graph, job parameter configuration information is abstracted as information of nodes in the directed acyclic graph, and job predecessor and successor dependencies are abstracted as edges of the directed acyclic graph;

[0027] A comparison unit for comparing the first directed acyclic graph and the second directed acyclic graph to obtain the different parts of the first directed acyclic graph and the second directed acyclic graph.

[0028] Optionally, the comparison unit includes:

[0029] A first comparison sub-unit for determining whether there are new or deleted jobs in the first directed acyclic graph compared to the second directed acyclic graph to obtain a first different part;

[0030] A second comparison sub-unit for determining whether the batch job parameter configuration situation has been modified in the first directed acyclic graph compared to the second directed acyclic graph to obtain a second different part;

[0031] A third comparison subunit, configured to determine whether there is a change in the dependency relationship between the first directed acyclic graph and the second directed acyclic graph, and obtain a third different part.

[0032] Optionally, the difference comparison device for process versions further includes:

[0033] A display unit, configured to output and display the different parts of the first directed acyclic graph and the second directed acyclic graph in the form of a graph.

[0034] Optionally, the difference comparison device for process versions further includes:

[0035] A storage unit, configured to store the first process version information, the second process version information, and the different parts of the first directed acyclic graph and the second directed acyclic graph into the historical difference query module of the batch scheduling process version management platform.

[0036] Optionally, the difference comparison device for process versions further includes:

[0037] A first saving unit, configured to save the batch process data file corresponding to the first process version and the first target data information in a dictionary in the form of key-value pairs;

[0038] A second saving unit, configured to save the batch process data file corresponding to the second process version and the second target data information in a dictionary in the form of key-value pairs.

[0039] A third aspect of the present application provides an electronic device, including:

[0040] One or more processors;

[0041] A storage device, on which one or more programs are stored;

[0042] When the one or more programs are executed by the one or more processors, the one or more processors are caused to implement the difference comparison method for process versions as described in any item of the first aspect.

[0043] A fourth aspect of the present application provides a computer storage medium, on which a computer program is stored, wherein the computer program, when executed by a processor, implements the difference comparison method for process versions as described in any item of the first aspect.

[0044] As can be seen from the above solution, the present application provides a method for comparing differences between process versions, a related device, and a computer storage medium. The method for comparing differences between process versions includes: First, obtain a first process version and a second process version to be compared; then, respectively obtain a batch process data file corresponding to the first process version and a batch process data file corresponding to the second process version; wherein, the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version are both stored in JSON format; then, respectively parse the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version according to the data structure storage method in the JSON format text to obtain first target data information and second target data information; wherein, both the first target data information and the second target data information include job names, job parameter configuration situations, and job predecessor and successor relationships; after that, respectively perform directed acyclic graph modeling based on the first target data information and the second target data information to obtain a first directed acyclic graph and a second directed acyclic graph; wherein, batch jobs are abstracted as nodes in the directed acyclic graph, job parameter configuration information is abstracted as information of nodes in the directed acyclic graph, and job predecessor and successor dependencies are abstracted as edges of the directed acyclic graph; finally, compare the first directed acyclic graph and the second directed acyclic graph to obtain the different parts of the first directed acyclic graph and the second directed acyclic graph. Thus, it can help developers and operation and maintenance personnel quickly and accurately identify the different parts of the version, and reduce the potential risks brought by version updates during batch production. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only the embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained according to the provided drawings.

[0046] Figure 1 It is a specific flowchart of a method for comparing differences between process versions provided by an embodiment of the present application;

[0047] Figure 2 It is a schematic diagram of a method for exporting a batch process data file provided by another embodiment of the present application;

[0048] Figure 3-1 、 Figure 3-2 、 Figure 3-3 、 Figure 3-4 It is a schematic diagram of a DAG modeling and conversion process provided by another embodiment of the present application;

[0049] Figure 4A flowchart of a method for comparing differences between process versions provided in another embodiment of the present application;

[0050] Figure 5 A schematic diagram of a device for comparing differences between process versions provided in another embodiment of the present application;

[0051] Figure 6 A schematic diagram of a comparison unit provided in another embodiment of the present application;

[0052] Figure 7 A schematic diagram of an electronic device for implementing a method for comparing differences between process versions provided in another embodiment of the present application. Detailed implementation manners

[0053] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present application without creative efforts shall fall within the protection scope of the present application.

[0054] The term "including" and its variants used herein are open-ended, that is, "including but not limited to". The term "based on" is "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the following description.

[0055] It should be noted that the concepts such as "first" and "second" mentioned in the present application are only used to distinguish different devices, modules or units, and are not used to limit the order or mutual dependence relationship of the functions performed by these devices, modules or units.

[0056] It should be noted that the modifications of "one" and "multiple" mentioned in the present application are illustrative rather than restrictive. Those skilled in the art should understand that unless otherwise clearly specified in the context, it should be understood as "one or more".

[0057] The embodiments of the present application provide a method for comparing differences between process versions, as Figure 1 shown, specifically including the following steps:

[0058] S101. Obtain a first process version and a second process version to be compared.

[0059] Among them, a process version refers to a new version of the process every time the process is updated.

[0060] S102. Obtain the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version respectively.

[0061] Among them, the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version are both stored in JSON format.

[0062] In the specific implementation process of this application, as Figure 2 shown, it is possible but not limited to export the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version from the batch scheduling process system. The batch scheduling process refers to a set of workflow tasks that organize and arrange a series of batch jobs or programs according to a predefined execution order (serial, parallel, selection, etc.). There are dependencies between jobs, and the current job can only be executed after all its predecessor jobs have been completed. Sub-processes can also be nested in the process, but closed-loop nesting is not supported.

[0063] S103. Parse the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version respectively according to the data structure storage method in the JSON format text to obtain the first target data information and the second target data information.

[0064] Among them, both the first target data information and the second target data information include job names, job parameter configuration situations, and job predecessor and successor relationships.

[0065] Specifically, the storage process and form are as follows:

[0066] Compare_DAG = {BatchFlow_old, BatchFlow_new};

[0067] BatchFlow_old = {stepKey1, stepKey2,..};

[0068] stepKey1 = stepKey1: {stepParm: [stepParm1, stepParm2,..], dependency: [fromStep, toStep]}.

[0069] Optionally, in another embodiment of this application, an implementation manner of the process version difference comparison method further includes:

[0070] Save the batch process data file corresponding to the first process version and the first target data information in a dictionary in the form of key-value pairs (key-value).

[0071] Save the batch process data file corresponding to the second process version and the second target data information in a dictionary in the form of key-value pairs (key-value).

[0072] S104. Respectively perform directed acyclic graph modeling based on the first target data information and the second target data information to obtain a first directed acyclic graph and a second directed acyclic graph.

[0073] Among them, the batch job is abstracted as a node in the directed acyclic graph, the job parameter configuration information is abstracted as the information of the node in the directed acyclic graph, and the job predecessor and successor dependency relationship is abstracted as the edge of the directed acyclic graph.

[0074] It should be noted that the batch job refers to the execution steps to complete a certain function in a certain product. A directed acyclic graph means that in graph theory, if a directed graph cannot return to the starting point after passing through several edges from any vertex, then this graph is a directed acyclic graph (DAG, Directed Acyclic Graph). A graph is composed of vertices and edges connecting these vertices. A graph with a direction from one vertex to another for each edge is a directed graph. A path in a directed graph is a series of edges, and the end point of each edge in the series is the starting point of the next edge. If the starting point of a path is the end point of this path, then this path is a cycle. A directed acyclic graph is a directed graph without cycles.

[0075] For the specific modeling and conversion process, reference can be made to Figure 3-1 、 Figure 3-2 、 Figure 3-3 、 Figure 3-4 in the examples. Among them, for the job with stepId of 754 (bglReserveProcess_Step), its predecessors and successors are 708 (bglReserveFileCheck_Step) and 709 (updateOnlineBglAcctOdInfo_Step) respectively.

[0076] S105. Compare the first directed acyclic graph and the second directed acyclic graph to obtain the different parts between the first directed acyclic graph and the second directed acyclic graph.

[0077] Optionally, in another embodiment of the present application, an implementation manner of step S105 is as Figure 4 shown, including:

[0078] S401. Determine whether there are new or deleted jobs in the first directed acyclic graph compared with the second directed acyclic graph to obtain the first different part.

[0079] Specifically, it is determined whether there are new or deleted jobs in the new version (the first directed acyclic graph) compared to the old version (the second directed acyclic graph). The specific method is to calculate the difference set between BatchFlow_old and BatchFlow_new. If the difference set is empty, there is no difference in the batch job part between the two versions; otherwise, the node stepKey in the difference set is the version difference part to be captured.

[0080] S402. Determine whether the batch job parameter configuration has been modified in the first directed acyclic graph compared to the second directed acyclic graph, and obtain the second difference part.

[0081] Specifically, it is determined whether the batch job parameter configuration has been modified in the new version (the first directed acyclic graph) compared to the old version (the second directed acyclic graph). The specific comparison method is to traverse all nodes in DAG_, and after finding the same nodes in the two DAGs, compare their node information, that is, the stepParm part. If they are the same, skip; if they are different, output the corresponding node information.

[0082] S403. Determine whether the dependency relationship has changed in the first directed acyclic graph compared to the second directed acyclic graph, and obtain the third difference part.

[0083] Specifically, it is determined whether the dependency relationship of the jobs has changed in the new version (the first directed acyclic graph) compared to the old version (the second directed acyclic graph). In a DAG, a node may have multiple predecessors or successors at the same time, this one-to-many relationship, that is, there are multiple parallel jobs in the batch scheduling process, and the dependency relationship in the batch process data is stored in a one-to-one form in the JSON text. Therefore, it is very difficult to directly compare the dependency relationships between the two versions. In the specific implementation process, it is considered to store and represent the DAG in the form of a two-dimensional adjacency matrix data structure. Using the adjacency matrix can well judge the connectivity, that is, whether there is an edge between two points. Finally, the different parts of the two adjacency matrices are the parts where the version dependencies have changed.

[0084] Optionally, in another embodiment of the present application, an implementation manner of the method for comparing differences in process versions further includes:

[0085] Output and display the different parts of the first directed acyclic graph and the second directed acyclic graph in the form of a graph.

[0086] Thus, it is convenient for developers and operators to quickly check and verify the correctness of the new version, reduce the potential risks brought by manual pre-checks, and ensure the accuracy of the batch scheduling process during batch production.

[0087] Optionally, in another embodiment of the present application, an implementation manner of the method for comparing differences in process versions further includes:

[0088] Store the first process version information, the second process version information, and the different parts between the first directed acyclic graph and the second directed acyclic graph into the historical difference query module of the batch scheduling process version management platform.

[0089] Specifically, store all historical version difference comparison records for unified management, and establish a batch scheduling process version update and iteration library to facilitate quickly locating the change content and time nodes of each batch of processes, making the batch scheduling process version management more standardized and unified.

[0090] As can be seen from the above solution, the present application provides a method for comparing differences in process versions: First, obtain the first process version and the second process version to be compared; then, respectively obtain the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version; wherein, the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version are both stored in JSON format; then, respectively parse the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version according to the data structure storage method in the JSON format text to obtain the first target data information and the second target data information; wherein, both the first target data information and the second target data information include job names, job parameter configuration situations, and job predecessor and successor relationships; after that, respectively perform directed acyclic graph modeling based on the first target data information and the second target data information to obtain the first directed acyclic graph and the second directed acyclic graph; wherein, batch jobs are abstracted as nodes in the directed acyclic graph, job parameter configuration information is abstracted as the information of nodes in the directed acyclic graph, and job predecessor and successor dependencies are abstracted as the edges of the directed acyclic graph; finally, compare the first directed acyclic graph and the second directed acyclic graph to obtain the different parts between the first directed acyclic graph and the second directed acyclic graph. Thus, it can help developers and operation and maintenance personnel quickly and accurately identify the version difference parts, reducing potential risks brought by version updates during batch production.

[0091] The invention name provided by the present invention can be used in the financial field or other fields. For example, it can be used in the scenario of process version comparison. The other fields are any fields other than the financial field, such as the directed acyclic graph field. The above are only examples and do not limit the application fields of the invention name provided by the present invention.

[0092] Another embodiment of the present application provides a device for comparing differences in process versions, as Figure 5 shown, specifically including:

[0093] The first acquisition unit 501 is used to acquire the first process version and the second process version to be compared.

[0094] The second acquisition unit 502 is configured to respectively acquire the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version.

[0095] Among them, the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version are both stored in JSON format.

[0096] The parsing unit 503 is configured to parse the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version respectively according to the data structure storage method in the JSON format text, so as to obtain the first target data information and the second target data information.

[0097] Among them, both the first target data information and the second target data information include the job name, the job parameter configuration situation, and the job predecessor and successor relationship.

[0098] The modeling unit 504 is configured to respectively perform directed acyclic graph modeling according to the first target data information and the second target data information to obtain a first directed acyclic graph and a second directed acyclic graph.

[0099] Among them, the batch job is abstracted as a node in the directed acyclic graph, the job parameter configuration information is abstracted as the information of the node in the directed acyclic graph, and the job predecessor and successor dependency relationship is abstracted as the edge of the directed acyclic graph.

[0100] The comparison unit 505 is configured to compare the first directed acyclic graph and the second directed acyclic graph to obtain the different parts of the first directed acyclic graph and the second directed acyclic graph.

[0101] For the specific working process of the unit disclosed in the above embodiments of the present application, reference may be made to the content of the corresponding method embodiments, as Figure 1 shown, which will not be elaborated here.

[0102] Optionally, in another embodiment of the present application, an implementation manner of the comparison unit 505, as Figure 6 shown, includes:

[0103] The first comparison subunit 601 is configured to determine whether there are new or deleted jobs in the first directed acyclic graph compared with the second directed acyclic graph, so as to obtain the first different part.

[0104] The second comparison subunit 602 is configured to determine whether the batch job parameter configuration situation has been modified in the first directed acyclic graph compared with the second directed acyclic graph, so as to obtain the second different part.

[0105] The third comparison subunit 603 is configured to determine whether the dependency relationship has changed in the first directed acyclic graph compared with the second directed acyclic graph, so as to obtain the third different part.

[0106] For the specific working process of the unit disclosed in the above embodiments of the present application, reference may be made to the corresponding method embodiment content, such as Figure 4 shown, which will not be elaborated here.

[0107] Optionally, in another embodiment of the present application, an implementation manner of the process version difference comparison device further includes:

[0108] A display unit, configured to output and display the different parts of the first directed acyclic graph and the second directed acyclic graph in the form of a graph.

[0109] For the specific working process of the unit disclosed in the above embodiments of the present application, reference may be made to the corresponding method embodiment content, which will not be elaborated here.

[0110] Optionally, in another embodiment of the present application, an implementation manner of the process version difference comparison device further includes:

[0111] A storage unit, configured to store the first process version information, the second process version information, and the different parts of the first directed acyclic graph and the second directed acyclic graph into the historical difference query module of the batch scheduling process version management platform.

[0112] For the specific working process of the unit disclosed in the above embodiments of the present application, reference may be made to the corresponding method embodiment content, which will not be elaborated here.

[0113] Optionally, in another embodiment of the present application, an implementation manner of the process version difference comparison device further includes:

[0114] A first saving unit, configured to save the batch process data file corresponding to the first process version and the first target data information in a dictionary in the form of key-value pairs.

[0115] A second saving unit, configured to save the batch process data file corresponding to the second process version and the second target data information in a dictionary in the form of key-value pairs.

[0116] For the specific working process of the unit disclosed in the above embodiments of the present application, reference may be made to the corresponding method embodiment content, which will not be elaborated here.

[0117] As can be seen from the above solution, the present application provides a device for comparing differences in process versions: First, the first acquisition unit 501 acquires a first process version and a second process version to be compared; then, the second acquisition unit 502 respectively acquires a batch process data file corresponding to the first process version and a batch process data file corresponding to the second process version; wherein, the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version are both stored in JSON format; the parsing unit 503 parses the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version respectively according to the data structure storage mode in the JSON format text, and obtains first target data information and second target data information; wherein, both the first target data information and the second target data information include job names, job parameter configuration situations, and job predecessor and successor relationships; after that, the modeling unit 504 respectively performs directed acyclic graph modeling according to the first target data information and the second target data information, and obtains a first directed acyclic graph and a second directed acyclic graph; wherein, the batch jobs are abstracted as nodes in the directed acyclic graph, the job parameter configuration information is abstracted as the information of the nodes in the directed acyclic graph, and the job predecessor and successor dependency relationships are abstracted as the edges of the directed acyclic graph; finally, the comparison unit 505 compares the first directed acyclic graph and the second directed acyclic graph, and obtains the different parts of the first directed acyclic graph and the second directed acyclic graph. Thus, it can help developers and operators quickly and accurately identify the different parts of the version, and reduce the potential risks brought by version updates during batch production.

[0118] The functions described above in this article can be performed at least in part by one or more hardware logic components. For example, without limitation, the exemplary types of hardware logic components that can be used include: Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), Systems on Chip (SOCs), Complex Programmable Logic Devices (CPLDs), and so on.

[0119] Another embodiment of the present application provides an electronic device, as Figure 7 shown, including:

[0120] One or more processors 701.

[0121] A storage device 702, on which one or more programs are stored.

[0122] When the one or more programs are executed by the one or more processors 701, the one or more processors 701 are caused to implement the method for comparing differences in process versions as described in any one of the above embodiments.

[0123] Another embodiment of the present application provides a computer storage medium, on which a computer program is stored. When the computer program is executed by a processor, it implements the method for comparing differences in process versions described in any one of the above embodiments.

[0124] In the context of the present application, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or equipment, or any suitable combination of the foregoing. More specific examples of machine-readable storage media would include electrical connections based on 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 fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0125] It should be noted that the computer-readable medium in the present application can be a computer-readable signal medium, a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any combination of the above. More specific examples of computer-readable storage media can include, but are not limited to: electrical connections with 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 fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the above. In the present application, a computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in connection with an instruction execution system, apparatus, or device. And in the present application, a computer-readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, in which the computer-readable program code is carried. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on a computer-readable medium can be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.

[0126] The above computer-readable medium may be included in the above electronic device; or may exist separately without being assembled into the electronic device.

[0127] Another embodiment of the present application provides a computer program product, which, when executed, is used to perform the method for comparing differences in process versions of any one of the above.

[0128] Specifically, according to the embodiments of the present application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, the embodiments of the present application include a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program contains program codes for performing the methods shown in the flowcharts. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device, or installed from a storage device, or installed from a ROM. When the computer program is executed by a processing device, it performs the above functions defined in the methods of the embodiments of the present application.

[0129] Although the subject matter has been described in language specific to structural features and / or method logical acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. On the contrary, the specific features and acts described above are merely example forms for implementing the claims.

[0130] Although several specific implementation details are included in the above discussion, these should not be construed as limitations on the scope of the present application. Certain features described in the context of separate embodiments can also be implemented in combination in a single embodiment. On the contrary, the various features described in the context of a single embodiment can also be implemented separately or in any suitable sub-combination in multiple embodiments.

[0131] The above description is only a preferred embodiment of the present application and an explanation of the applied technical principles. Those skilled in the art should understand that the scope of the application involved in the present application is not limited to the technical solutions formed by the specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above application concept. For example, the technical solutions formed by mutually replacing the above features with (but not limited to) technical features having similar functions applied in the present application.

Claims

1. A method for comparing differences in process versions, characterized in that, it includes: Obtain the first process version and the second process version to be compared; Respectively obtain the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version; wherein, the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version are both stored in JSON format; Parse the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version respectively according to the data structure storage method in the JSON format text to obtain the first target data information and the second target data information; wherein, both the first target data information and the second target data information include job names, job parameter configuration situations, and job predecessor and successor relationships; Respectively perform directed acyclic graph modeling based on the first target data information and the second target data information to obtain a first directed acyclic graph and a second directed acyclic graph; wherein, batch jobs are abstracted as nodes in the directed acyclic graph, job parameter configuration information is abstracted as information of nodes in the directed acyclic graph, and job predecessor and successor dependencies are abstracted as edges of the directed acyclic graph; Compare the first directed acyclic graph and the second directed acyclic graph to obtain the different parts of the first directed acyclic graph and the second directed acyclic graph.

2. The difference comparison method according to claim 1, characterized in that, The step of comparing the first directed acyclic graph and the second directed acyclic graph to obtain the different parts of the first directed acyclic graph and the second directed acyclic graph includes: Determine whether there are new or deleted jobs in the first directed acyclic graph compared to the second directed acyclic graph to obtain the first difference part; Determine whether the batch job parameter configuration situation has been modified in the first directed acyclic graph compared to the second directed acyclic graph to obtain the second difference part; Determine whether the dependency relationship has changed in the first directed acyclic graph compared to the second directed acyclic graph to obtain the third difference part.

3. The difference comparison method according to claim 1, characterized in that, After comparing the first directed acyclic graph and the second directed acyclic graph to obtain the different parts of the first directed acyclic graph and the second directed acyclic graph, it further includes: Output and display the different parts of the first directed acyclic graph and the second directed acyclic graph in the form of a graph.

4. The difference comparison method according to claim 1, characterized in that, After comparing the first directed acyclic graph and the second directed acyclic graph to obtain the different parts of the first directed acyclic graph and the second directed acyclic graph, it further includes: Store the first process version information, the second process version information, and the different parts of the first directed acyclic graph and the second directed acyclic graph into the historical difference query module of the batch scheduling process version management platform.

5. The difference comparison method according to claim 1, characterized in that, After parsing the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version respectively according to the data structure storage method in the JSON format text to obtain the first target data information and the second target data information, it further includes: Saving the batch process data file corresponding to the first process version and the first target data information in a dictionary in the form of key-value pairs; Saving the batch process data file corresponding to the second process version and the second target data information in a dictionary in the form of key-value pairs.

6. A device for comparing differences between process versions Characterized in that It includes: A first acquisition unit for acquiring a first process version and a second process version to be compared; A second acquisition unit for respectively acquiring the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version; wherein, the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version are both stored in the JSON format; A parsing unit for respectively parsing the batch process data file corresponding to the first process version and the batch process data file corresponding to the second process version according to the data structure storage method in the JSON format text to obtain the first target data information and the second target data information; wherein, the first target data information and the second target data information both include job names, job parameter configuration situations, and job predecessor and successor relationships; A modeling unit for respectively performing directed acyclic graph modeling based on the first target data information and the second target data information to obtain a first directed acyclic graph and a second directed acyclic graph; wherein, batch jobs are abstracted as nodes in the directed acyclic graph, job parameter configuration information is abstracted as information of nodes in the directed acyclic graph, and job predecessor and successor dependencies are abstracted as edges of the directed acyclic graph; A comparison unit for comparing the first directed acyclic graph and the second directed acyclic graph to obtain the different parts of the first directed acyclic graph and the second directed acyclic graph.

7. The difference comparison device according to claim 6 Characterized in that The comparison unit includes: A first comparison subunit for determining whether there are new or deleted jobs in the first directed acyclic graph compared to the second directed acyclic graph to obtain a first difference part; A second comparison subunit for determining whether the batch job parameter configuration situation has been modified in the first directed acyclic graph compared to the second directed acyclic graph to obtain a second difference part; A third comparison subunit for determining whether the dependency relationship has changed in the first directed acyclic graph compared to the second directed acyclic graph to obtain a third difference part.

8. The difference comparison device according to claim 6 further Includes: A display unit for outputting and displaying the different parts of the first directed acyclic graph and the second directed acyclic graph in the form of a graph.

9. An electronic device Characterized in that It includes: One or more processors; A storage device on which one or more programs are stored; When the one or more programs are executed by the one or more processors, the one or more processors implement the method for comparing differences in process versions as described in any one of claims 1 to 5.

10. A computer storage medium, characterized in that a computer program is stored thereon, wherein when the computer program is executed by a processor, the method for comparing differences in process versions as described in any one of claims 1 to 5 is implemented.

Citation Information

Patent Citations

  • Batch job processing method and device

    CN113076183A

  • Flow data asynchronous processing method and device, storage medium and equipment

    CN113448713A