Disclosure of Invention
In view of the above, embodiments of the present invention provide a method and an apparatus for generating a transaction code change list, so as to solve the technical problems that all changed transaction codes cannot be identified and the identification result is delayed.
To achieve the above object, according to an aspect of an embodiment of the present invention, there is provided a method of generating a transaction code change list, including:
acquiring a new version deployment package to be online of a system, and generating a method calling relation graph and a mapping relation between a transaction code and a method and a class according to the new version deployment package;
acquiring an old version deployment package on the system line, and identifying changed methods and classes according to the new version deployment package, the old version deployment package and the method call relation diagram;
and generating a transaction code change list according to the changed method and class and the mapping relation between the transaction codes and the method and class.
Optionally, generating a method invocation relationship diagram and a mapping relationship between the transaction code and the method and the class according to the new version deployment package includes:
acquiring a new version jar package related to the service of the system from the new version deployment package, and generating a method invocation relation diagram according to the new version jar package;
and acquiring a configuration file from the new version deployment package, and establishing a mapping relation between the transaction code and the method and the class according to the configuration file.
Optionally, the method includes the steps of obtaining a new version jar package related to the service of the system from the new version deployment package, and generating a method invocation relation diagram according to the new version jar package, and includes:
verifying whether the new version deployment package is valid; wherein the verification content is at least one of: size, date, and name;
if so, decompressing the new version deployment package, acquiring a new version jar package related to the service of the system from the decompressed new version deployment package, and generating a method invocation relation graph according to the new version jar package;
if not, the process is ended.
Optionally, the method includes the steps of obtaining a new version jar package related to the service of the system from the new version deployment package, and generating a method invocation relation diagram according to the new version jar package, and includes:
acquiring a new version jar package related to the service of the system from the new version deployment package;
writing the package name of the new version jar package into a package name configuration file;
reading the package name of the new version jar package in the package name configuration file, and writing the package name of the new version jar package into a dictionary;
and reading the packet name of the new version jar packet from the dictionary, and circularly decompressing the new version jar packet, thereby generating a method invocation relation graph according to the new version jar packet.
Optionally, identifying a method and a class of the change according to the new version deployment package, the old version deployment package, and the method invocation relationship diagram includes:
acquiring an old version jar packet related to the service of the system from the old version deployment packet;
performing decompiling on the new version jar package and the old version jar package respectively to obtain a source code of the new version jar package and a source code of the old version jar package;
and identifying the changed method and the changed class according to the source code of the new version jar package, the source code of the old version jar package and the method call relation graph.
Optionally, identifying a changed method and a changed class according to the source code of the new version jar package, the source code of the old version jar package, and the method invocation relationship diagram, and including:
comparing the source code of the new version jar package with the source code of the old version jar package to obtain a change line;
identifying a change method and a change class according to the change row and the regular expression;
and identifying a reference method for referring to the change method according to the method call relation graph, and writing the change method and the reference method into a change method list.
Optionally, generating a transaction code change list according to the changed method and class and the mapping relationship between the transaction code and the method and class, including:
for each method in the change method list, determining a changed transaction code according to the mapping relation between the transaction code and the method and the class;
and writing the changed transaction code into a transaction code change list.
Optionally, the mapping relationship between the transaction code and the method and the class is stored in a key-value manner; wherein, key is the transaction code, and value is the method name and the class name.
Optionally, after generating the transaction code change list according to the changed method and class and the mapping relationship between the transaction code and the method and class, the method further includes:
and outputting the transaction code change list, wherein the transaction code change list comprises the name of the system, the changed transaction code, the change method, the change class and the change line.
Further, according to another aspect of the embodiments of the present invention, there is provided an apparatus for generating a transaction code change list, including:
the configuration module is used for acquiring a new version deployment package of a system to be online, and generating a method calling relation graph and a mapping relation between a transaction code and a method and a class according to the new version deployment package;
the identification module is used for acquiring an old version deployment package on the system line and identifying changed methods and classes according to the new version deployment package, the old version deployment package and the method calling relation diagram;
and the generating module is used for generating a transaction code change list according to the changed method and class and the mapping relation between the transaction codes and the method and class.
Optionally, the configuration module is further configured to:
acquiring a new version jar package related to the service of the system from the new version deployment package, and generating a method invocation relation diagram according to the new version jar package;
and acquiring a configuration file from the new version deployment package, and establishing a mapping relation between the transaction code and the method and the class according to the configuration file.
Optionally, the configuration module is further configured to:
verifying whether the new version deployment package is valid; wherein the verification content is at least one of: size, date, and name;
if so, decompressing the new version deployment package, acquiring a new version jar package related to the service of the system from the decompressed new version deployment package, and generating a method invocation relation graph according to the new version jar package;
if not, the process is ended.
Optionally, the configuration module is further configured to:
acquiring a new version jar package related to the service of the system from the new version deployment package;
writing the package name of the new version jar package into a package name configuration file;
reading the package name of the new version jar package in the package name configuration file, and writing the package name of the new version jar package into a dictionary;
and reading the packet name of the new version jar packet from the dictionary, and circularly decompressing the new version jar packet, thereby generating a method invocation relation graph according to the new version jar packet.
Optionally, the identification module is further configured to:
acquiring an old version jar packet related to the service of the system from the old version deployment packet;
performing decompiling on the new version jar package and the old version jar package respectively to obtain a source code of the new version jar package and a source code of the old version jar package;
and identifying the changed method and the changed class according to the source code of the new version jar package, the source code of the old version jar package and the method call relation graph.
Optionally, the identification module is further configured to:
comparing the source code of the new version jar package with the source code of the old version jar package to obtain a change line;
identifying a change method and a change class according to the change row and the regular expression;
and identifying a reference method for referring to the change method according to the method call relation graph, and writing the change method and the reference method into a change method list.
Optionally, the generating module is further configured to:
for each method in the change method list, determining a changed transaction code according to the mapping relation between the transaction code and the method and the class;
and writing the changed transaction code into a transaction code change list.
Optionally, the mapping relationship between the transaction code and the method and the class is stored in a key-value manner; wherein, key is the transaction code, and value is the method name and the class name.
Optionally, the generating module is further configured to:
and after a transaction code change list is generated according to the changed method and class and the mapping relation between the transaction codes and the method and class, outputting the transaction code change list, wherein the transaction code change list comprises the name of the system, the changed transaction codes, the change method, the change class and the change row.
According to another aspect of the embodiments of the present invention, there is also provided an electronic device, including:
one or more processors;
a storage device for storing one or more programs,
when the one or more programs are executed by the one or more processors, the one or more processors implement the method of any of the embodiments described above.
According to another aspect of the embodiments of the present invention, there is also provided a computer readable medium, on which a computer program is stored, which when executed by a processor implements the method of any of the above embodiments.
One embodiment of the above invention has the following advantages or benefits: because the changed method and the changed class are identified according to the new version deployment package, the old version deployment package and the method calling relation graph, and the technical means of generating the transaction code change list according to the changed method and the class and the mapping relation between the transaction codes and the method and the class is adopted, the technical problems that the transaction codes of all changes cannot be identified and the identification result is output laggard in the prior art are solved. The embodiment of the invention can accurately identify all changed transaction codes, the transaction code change identification is more comprehensive and specific, and the transaction code change list can be provided in the application assembly test stage, so that the basis is provided for the test key work of a project group, and the project management personnel can be informed in advance to make risk assessment in advance.
Further effects of the above-mentioned non-conventional alternatives will be described below in connection with the embodiments.
Detailed Description
Exemplary embodiments of the present invention are described below with reference to the accompanying drawings, in which various details of embodiments of the invention are included to assist understanding, and which are to be considered as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
Fig. 1 is a schematic diagram of a main flow of a method of generating a transaction code change list according to an embodiment of the present invention. As an embodiment of the present invention, as shown in fig. 1, the method for generating a transaction code change list may include:
step 101, acquiring a new version deployment package to be online of a system, and generating a method calling relation graph and a mapping relation between a transaction code and a method and a class according to the new version deployment package.
Firstly, a new version deployment package (namely, tar package) to be online of a system is obtained, wherein the deployment package can be understood as a web project, and all things of the project are contained therein, including class files compiled by written codes, dependent packages, configuration files, website pages (including html, jsp and the like), and the like. And then generating a method calling relation graph and a mapping relation between the transaction codes and the methods and classes according to the new version deployment package. Optionally, the mapping relationship between the transaction code and the method and the class is stored in a key-value manner; the key is a transaction code, and the value is a method name and a class name, so that the mapping relation between the transaction code and the method and the class can be conveniently and quickly acquired.
Optionally, generating a method invocation relationship diagram and a mapping relationship between the transaction code and the method and the class according to the new version deployment package includes: acquiring a new version jar package related to the service of the system from the new version deployment package, and generating a method invocation relation diagram according to the new version jar package; and acquiring a configuration file from the new version deployment package, and establishing a mapping relation between the transaction code and the method and the class according to the configuration file. In the embodiment of the invention, a new version jar package related to the service of the system can be obtained from a new version deployment package according to the service characteristics of the system (namely, jar packages for realizing the service function of the system are generally stored under a specific path), and then a method invocation relational graph is generated according to the new version jar package; meanwhile, configuration files can be obtained from the new version deployment package, and mapping relations between transaction codes and methods and classes can be established according to the configuration files.
The jar package is an archive file of class that allows many files to be combined into one compressed file, but unlike ordinary compressed files, jar files are used not only for compression and distribution, but also for deploying and encapsulating libraries, components, and plug-ins, and can be used directly by tools like compilers and JVMs.
Optionally, the method includes the steps of obtaining a new version jar package related to the service of the system from the new version deployment package, and generating a method invocation relation diagram according to the new version jar package, and includes: verifying whether the new version deployment package is valid; wherein the verification content is at least one of: size, date, and name; if so, decompressing the new version deployment package, acquiring a new version jar package related to the service of the system from the decompressed new version deployment package, and generating a method invocation relation graph according to the new version jar package; if not, the process is ended. After a new version deployment package of a system to be online is acquired, validity check is firstly carried out on the new version deployment package, for example, whether the size, date and/or name of the deployment package is valid or not is checked, if the check is passed, the new version deployment package is decompressed, then a new version jar package related to the service of the system is acquired from the decompressed new version deployment package, and finally a method calling relation graph is generated according to the new version jar package. And if the verification is not passed, directly ending.
Optionally, the method includes the steps of obtaining a new version jar package related to the service of the system from the new version deployment package, and generating a method invocation relation diagram according to the new version jar package, and includes: acquiring a new version jar package related to the service of the system from the new version deployment package; writing the package name of the new version jar package into a package name configuration file; reading the package name of the new version jar package in the package name configuration file, and writing the package name of the new version jar package into a dictionary; and reading the packet name of the new version jar packet from the dictionary, and circularly decompressing the new version jar packet, thereby generating a method invocation relation graph according to the new version jar packet. In order to obtain a new-version jar package, the embodiment of the invention firstly writes the package name of the new-version jar package into a package name configuration file, then reads the package name of the new-version jar package in the package name configuration file, and writes the package name of the new-version jar package into a dictionary, so that the package names of all the new-version jar packages can be quickly read from the dictionary, and the new-version jar packages are decompressed.
102, obtaining an old version deployment package on the system line, and identifying changed methods and classes according to the new version deployment package, the old version deployment package and the method call relation diagram.
In order to identify the changed methods and classes, an old version deployment package of the system which is online needs to be acquired, so that the changed methods and classes are identified according to the new version deployment package, the old version deployment package and the method call relation diagram.
Optionally, step 102 may comprise: acquiring an old version jar packet related to the service of the system from the old version deployment packet; performing decompiling on the new version jar package and the old version jar package respectively to obtain a source code of the new version jar package and a source code of the old version jar package; and identifying the changed method and the changed class according to the source code of the new version jar package, the source code of the old version jar package and the method call relation graph. Similarly, decompressing the old version deployment package, acquiring the old version jar package related to the service of the system from the decompressed old version deployment package, then performing decompiling on the new version jar package and the old version jar package respectively to obtain a source code of the new version jar package and a source code of the old version jar package, and finally identifying a changed method and a changed class according to the source code of the new version jar package, the source code of the old version jar package and the method calling relationship diagram.
Optionally, identifying a changed method and a changed class according to the source code of the new version jar package, the source code of the old version jar package, and the method invocation relationship diagram, and including: comparing the source code of the new version jar package with the source code of the old version jar package to obtain a change line; identifying a change method and a change class according to the change row and the regular expression; and identifying a reference method for referring to the change method according to the method call relation graph, and writing the change method and the reference method into a change method list. After the new version jar package and the old version jar package are decompiled, comparing the source code of the new version jar package with the source code of the old version jar package to obtain a change line, so as to identify a change method and a change class according to the change line and a regular expression, then identifying a reference method for referring to the change method by combining the method calling relation diagram in the step 101, and writing both the change method and the reference method into a change method list as the change method.
And 103, generating a transaction code change list according to the changed method and class and the mapping relation between the transaction codes and the method and class.
Optionally, step 103 may comprise: for each method in the change method list, determining a changed transaction code according to the mapping relation between the transaction code and the method and the class; and writing the changed transaction code into a transaction code change list. And traversing each method in the change method list one by one, and determining the changed transaction code according to the mapping relation between the transaction code and the method and the class in the step 101.
Optionally, after step 103, further comprising: and outputting the transaction code change list, wherein the transaction code change list comprises the name of the system, the changed transaction code, the change method, the change class and the change line, so that the change details of the system can be conveniently viewed.
The embodiment of the invention can acquire the new version deployment package to be online in a quasi-real time manner when the project group starts to be tested, and can quickly output the transaction code change list, so that the transaction code changed by project management personnel can be informed in advance, the project management personnel can conveniently and reasonably arrange the testing time, the online risk of the project is controlled, the online efficiency is improved, and the communication and interaction cost with each development center is reduced.
According to the various embodiments described above, it can be seen that the technical means of identifying the changed methods and classes according to the new version deployment package, the old version deployment package and the method call relationship diagram in the embodiments of the present invention, so as to generate the transaction code change list according to the changed methods and classes and the mapping relationship between the transaction codes and the methods and classes solves the technical problems that in the prior art, all changed transaction codes cannot be identified and the identification result output is delayed. The embodiment of the invention can accurately identify all changed transaction codes, the transaction code change identification is more comprehensive and specific, and the transaction code change list can be provided in the application assembly test stage, so that the basis is provided for the test key work of a project group, and the project management personnel can be informed in advance to make risk assessment in advance.
Fig. 2 is a schematic diagram of a main flow of a method for generating a transaction code change list according to a referential embodiment of the present invention. As another embodiment of the present invention, as shown in fig. 2, the method for generating a transaction code change list may include:
step 201, a system to be online list is obtained, where the system to be online list includes at least one system to be online.
Step 202, traversing each system to be online in the system to be online list, and acquiring a new version deployment package to be online of the system.
Step 203, checking whether the new version deployment package is valid; wherein the verification content comprises at least one of: size, date, and name; if yes, go to step 204; if not, go to step 208.
And 204, decompressing the new version deployment package, acquiring a new version jar package related to the service of the system from the decompressed new version deployment package, and generating a method invocation relation graph according to the new version jar package.
Step 205, obtaining the configuration file from the new version deployment package, and establishing the mapping relation between the transaction code and the method and the class according to the configuration file.
And step 206, acquiring the old version deployment package on the system line, and identifying the changed method and class according to the new version deployment package, the old version deployment package and the method call relation diagram.
Step 207, generating a transaction code change list according to the changed method and class and the mapping relation between the transaction code and the method and class.
And 208, deleting the system from the system to be online list, and updating the system to be online list.
In addition, in a reference embodiment of the present invention, the detailed implementation of the method for generating the transaction code change list is already described in detail in the above-mentioned method for generating the transaction code change list, and therefore, the repeated content is not described herein.
Fig. 3 is a schematic diagram of a main flow of a method of generating a transaction code change list according to another referential embodiment of the present invention. As another embodiment of the present invention, as shown in fig. 3, a new version jar package related to a service of the system is obtained from the new version deployment package, and a method invocation relation diagram is generated according to the new version jar package, where the method invocation relation diagram includes:
step 301, obtaining a new version jar package related to the service of the system from the new version deployment package.
Step 302, writing the package name of the new version jar package into a package name configuration file.
Step 303, reading the package name of the new version jar package in the package name configuration file, and writing the package name of the new version jar package into a dictionary.
And step 304, reading the package name of the new version jar package from the dictionary.
And 305, circularly decompressing the new version jar package, thereby generating a method invocation relation graph according to the new version jar package.
In addition, in another embodiment of the present invention, the detailed implementation of the method for generating the transaction code change list is described in detail in the above-mentioned method for generating the transaction code change list, and therefore, the repeated content is not described herein.
Fig. 4 is a schematic diagram of a main flow of a method of generating a transaction code change list according to still another referential embodiment of the present invention. As still another embodiment of the present invention, as shown in fig. 4, the method for generating a transaction code change list may include:
step 401, obtaining a new version deployment package of a system to be online.
Step 402, obtaining a new version jar package related to the service of the system from the new version deployment package, and generating a method invocation relation graph according to the new version jar package.
Step 403, obtaining a configuration file from the new version deployment package, and establishing a mapping relation between the transaction code and the method and the class according to the configuration file.
Step 404, obtaining an old version deployment package on the system line, and obtaining an old version jar package related to the service of the system from the old version deployment package.
Step 405, performing decompiling on the new version jar package and the old version jar package respectively to obtain a source code of the new version jar package and a source code of the old version jar package.
And 406, comparing the source code of the new version jar package with the source code of the old version jar package to obtain a change line.
And step 407, identifying a change method and a change class according to the change row and the regular expression.
Step 408, identifying a reference method for referring to the change method according to the method call relation diagram, and writing the change method and the reference method into a change method list.
Step 409, for each method in the change method list, determining a changed transaction code according to the mapping relation between the transaction code and the method and the class, and writing the changed transaction code into a transaction code change list.
Step 410, outputting the transaction code change list, wherein the transaction code change list comprises the name of the system, the changed transaction code, the change method, the change class and the change line.
In addition, in another embodiment of the present invention, the detailed implementation of the method for generating the transaction code change list is described in detail in the above-mentioned method for generating the transaction code change list, and therefore, the repeated content is not described again.
Fig. 5 is a schematic diagram of main modules of an apparatus for generating a transaction code alteration list according to an embodiment of the present invention, and as shown in fig. 5, theapparatus 500 for generating a transaction code alteration list includes aconfiguration module 501, anidentification module 502 and ageneration module 503; theconfiguration module 501 is configured to obtain a new version deployment package to be online, and generate a method invocation relation diagram and a mapping relation between a transaction code and a method and a class according to the new version deployment package; the identifyingmodule 502 is configured to obtain an old version deployment package on the system line, and identify a changed method and a changed class according to the new version deployment package, the old version deployment package, and the method call relationship diagram; thegenerating module 503 is configured to generate a transaction code change list according to the changed method and class and the mapping relationship between the transaction code and the method and class.
Optionally, theconfiguration module 501 is further configured to:
acquiring a new version jar package related to the service of the system from the new version deployment package, and generating a method invocation relation diagram according to the new version jar package;
and acquiring a configuration file from the new version deployment package, and establishing a mapping relation between the transaction code and the method and the class according to the configuration file.
Optionally, theconfiguration module 501 is further configured to:
verifying whether the new version deployment package is valid; wherein the verification content is at least one of: size, date, and name;
if so, decompressing the new version deployment package, acquiring a new version jar package related to the service of the system from the decompressed new version deployment package, and generating a method invocation relation graph according to the new version jar package;
if not, the process is ended.
Optionally, theconfiguration module 501 is further configured to:
acquiring a new version jar package related to the service of the system from the new version deployment package;
writing the package name of the new version jar package into a package name configuration file;
reading the package name of the new version jar package in the package name configuration file, and writing the package name of the new version jar package into a dictionary;
and reading the packet name of the new version jar packet from the dictionary, and circularly decompressing the new version jar packet, thereby generating a method invocation relation graph according to the new version jar packet.
Optionally, the identifyingmodule 501 is further configured to:
acquiring an old version jar packet related to the service of the system from the old version deployment packet;
performing decompiling on the new version jar package and the old version jar package respectively to obtain a source code of the new version jar package and a source code of the old version jar package;
and identifying the changed method and the changed class according to the source code of the new version jar package, the source code of the old version jar package and the method call relation graph.
Optionally, the identifyingmodule 502 is further configured to:
comparing the source code of the new version jar package with the source code of the old version jar package to obtain a change line;
identifying a change method and a change class according to the change row and the regular expression;
and identifying a reference method for referring to the change method according to the method call relation graph, and writing the change method and the reference method into a change method list.
Optionally, thegenerating module 503 is further configured to:
for each method in the change method list, determining a changed transaction code according to the mapping relation between the transaction code and the method and the class;
and writing the changed transaction code into a transaction code change list.
Optionally, the mapping relationship between the transaction code and the method and the class is stored in a key-value manner; wherein, key is the transaction code, and value is the method name and the class name.
Optionally, thegenerating module 503 is further configured to:
and after a transaction code change list is generated according to the changed method and class and the mapping relation between the transaction codes and the method and class, outputting the transaction code change list, wherein the transaction code change list comprises the name of the system, the changed transaction codes, the change method, the change class and the change row.
According to the various embodiments described above, it can be seen that the technical means of identifying the changed methods and classes according to the new version deployment package, the old version deployment package and the method call relationship diagram in the embodiments of the present invention, so as to generate the transaction code change list according to the changed methods and classes and the mapping relationship between the transaction codes and the methods and classes solves the technical problems that in the prior art, all changed transaction codes cannot be identified and the identification result output is delayed. The embodiment of the invention can accurately identify all changed transaction codes, the transaction code change identification is more comprehensive and specific, and the transaction code change list can be provided in the application assembly test stage, so that the basis is provided for the test key work of a project group, and the project management personnel can be informed in advance to make risk assessment in advance.
The details of the implementation of the apparatus for generating a transaction code change list according to the present invention are already described in detail in the above-mentioned method for generating a transaction code change list, and therefore, the repeated description is omitted here.
Fig. 6 illustrates anexemplary system architecture 600 of a method of generating a transaction code change list or an apparatus for generating a transaction code change list to which embodiments of the present invention may be applied.
As shown in fig. 6, thesystem architecture 600 may includeterminal devices 601, 602, 603, anetwork 604, and aserver 605. Thenetwork 604 serves to provide a medium for communication links between theterminal devices 601, 602, 603 and theserver 605.Network 604 may include various types of connections, such as wire, wireless communication links, or fiber optic cables, to name a few.
A user may use theterminal devices 601, 602, 603 to interact with theserver 605 via thenetwork 604 to receive or send messages or the like. Theterminal devices 601, 602, 603 may have installed thereon various communication client applications, such as shopping applications, web browser applications, search applications, instant messaging tools, mailbox clients, social platform software, etc. (by way of example only).
Theterminal devices 601, 602, 603 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop portable computers, desktop computers, and the like.
Theserver 605 may be a server providing various services, such as a background management server (for example only) providing support for shopping websites browsed by users using theterminal devices 601, 602, 603. The background management server may analyze and otherwise process the received data such as the item information query request, and feed back a processing result (for example, target push information, item information — just an example) to the terminal device.
It should be noted that the method for generating the transaction code change list provided by the embodiment of the present invention is generally executed by theserver 605, and accordingly, the apparatus for generating the transaction code change list is generally disposed in theserver 605. The method for generating the transaction code change list provided by the embodiment of the present invention may also be executed by theterminal devices 601, 602, and 603, and accordingly, the apparatus for generating the transaction code change list may be disposed in theterminal devices 601, 602, and 603.
It should be understood that the number of terminal devices, networks, and servers in fig. 6 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
Referring now to FIG. 7, shown is a block diagram of acomputer system 700 suitable for use with a terminal device implementing an embodiment of the present invention. The terminal device shown in fig. 7 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present invention.
As shown in fig. 7, thecomputer system 700 includes a Central Processing Unit (CPU)701, which can perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)702 or a program loaded from astorage section 708 into a Random Access Memory (RAM) 703. In the RAM703, various programs and data necessary for the operation of thesystem 700 are also stored. TheCPU 701, theROM 702, and the RAM703 are connected to each other via abus 704. An input/output (I/O)interface 705 is also connected tobus 704.
The following components are connected to the I/O interface 705: aninput portion 706 including a keyboard, a mouse, and the like; anoutput section 707 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; astorage section 708 including a hard disk and the like; and acommunication section 709 including a network interface card such as a LAN card, a modem, or the like. Thecommunication section 709 performs communication processing via a network such as the internet. Adrive 710 is also connected to the I/O interface 705 as needed. Aremovable medium 711 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on thedrive 710 as necessary, so that a computer program read out therefrom is mounted into thestorage section 708 as necessary.
In particular, according to the embodiments of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program can be downloaded and installed from a network through thecommunication section 709, and/or installed from theremovable medium 711. The computer program performs the above-described functions defined in the system of the present invention when executed by the Central Processing Unit (CPU) 701.
It should be noted that the computer readable medium shown in the present invention can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present invention, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present invention, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer programs according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The modules described in the embodiments of the present invention may be implemented by software or hardware. The described modules may also be provided in a processor, which may be described as: a processor includes a configuration module, an identification module, and a generation module, where the names of the modules do not in some cases constitute a limitation on the modules themselves.
As another aspect, the present invention also provides a computer-readable medium that may be contained in the apparatus described in the above embodiments; or may be separate and not incorporated into the device. The computer readable medium carries one or more programs which, when executed by a device, implement the method of: acquiring a new version deployment package to be online of a system, and generating a method calling relation graph and a mapping relation between a transaction code and a method and a class according to the new version deployment package; acquiring an old version deployment package on the system line, and identifying changed methods and classes according to the new version deployment package, the old version deployment package and the method call relation diagram; and generating a transaction code change list according to the changed method and class and the mapping relation between the transaction codes and the method and class.
According to the technical scheme of the embodiment of the invention, the changed method and class are identified according to the new version deployment package, the old version deployment package and the method calling relationship graph, so that the technical means of generating the transaction code change list according to the changed method and class and the mapping relationship between the transaction codes and the method and class is adopted, and the technical problems that all changed transaction codes cannot be identified and the identification result is output laggard in the prior art are solved. The embodiment of the invention can accurately identify all changed transaction codes, the transaction code change identification is more comprehensive and specific, and the transaction code change list can be provided in the application assembly test stage, so that the basis is provided for the test key work of a project group, and the project management personnel can be informed in advance to make risk assessment in advance.
The above-described embodiments should not be construed as limiting the scope of the invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions can occur, depending on design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.