A software version management method and device
Through software version management methods and devices, the access situation of the operation and maintenance server is monitored to generate trigger instructions, and the new version of the software product is quickly determined and released, solving the problem of incompatibility between the new version of the software product in the existing technology and the incompatibility between components, and achieving efficient and accurate software version management.
Patent Information
- Application Number
- CN202111636840.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-29
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2041-12-29
AI Technical Summary
The existing technology is difficult to quickly deal with the surge in the demand for instantaneous visits and new functions, resulting in the release of new versions of software products that are not timely, and there may be problems of incompatibility between components, affecting the stability and user stickiness of software products.
Provides a software version management method and device, which generates trigger instructions by monitoring the access situation of the operation and maintenance server, and decides whether to perform emergency release or new functions and emergency release. This method includes extracting information from each code branch of the software product, obtaining component version information and global component dependency tables, determining components participating in the distribution and their versions, and compiling and publishing.
It realizes the rapid and accurate release of new versions of software products, avoids incompatibility between components, reduces the time for release, and improves the accuracy, timeliness and intelligence of the release version.
Smart Images

Figure CN114281402B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of software management, and in particular to a software version management method and device. Background Art
[0002] With the rapid development of Internet technology, software products are updated more and more frequently, and the update and iteration of software products are getting faster and faster. As the functions of software products are getting bigger and bigger, the scale of software is getting bigger and bigger. When releasing a software product, it is necessary to integrate and compile the various components and functional modules of the software product. When a new version of a software product is put into production, it is easy for incompatibility between components and vulnerabilities in the software product during integration to cause production problems, affecting the stability of the software product.
[0003] In addition, for some software products with high timeliness requirements, in some application scenarios, due to the surge in instantaneous access volume and new function requirements, the software products cannot meet the needs of users. When launching new functions temporarily, due to tight time and the large scale of software products, errors often occur in compiling the overall version of the software product, resulting in the untimely release of the new version of the software product. Failure to compile the overall version will cause the new function to be incompatible with the entire software product, affecting the compatibility of previous and subsequent versions of the software product. In the long run, the development efficiency of the software product will be reduced, and user stickiness will also be reduced.
[0004] Therefore, designing a software version management method and device that can provide a stable new function of releasing versions in emergency situations while taking into account the compatibility of software product components is a technical problem that urgently needs to be solved. Summary of the invention
[0005] In view of this, the present invention provides a software version management method and device, which can solve the technical problem that the existing technology cannot quickly respond to the sudden increase in instantaneous access volume and new function requirements, and the new version release and compatibility of software products.
[0006] In order to solve the above technical problems, the present invention is implemented as follows.
[0007] A software version management method, comprising:
[0008] Step S1: The software product release server listens for instructions. If a trigger instruction is obtained, it proceeds to step S2; otherwise, it proceeds to step S5; the trigger instruction is generated based on the access status of the software product operation and maintenance server;
[0009] Step S2: If the trigger instruction indicates an urgent version release, proceed to step S3; if the trigger instruction indicates that a new function needs to be added and an urgent version release is required, proceed to step S4;
[0010] Step S3: extracting information from each code branch of the software product, obtaining version information of each component on each code branch, and a global component dependency table of each code branch; the software product has multiple code branches, each code branch stores a number of components constituting the software product, and each code branch stores a global component dependency table and previous versions of the components stored in the code branch;
[0011] Based on the global component dependency table, determine the components to be released and the versions of the components to be released, form a release component set, compile the release component set, and release it, and the method ends;
[0012] Step S4: Based on the access log of the operation and maintenance server of the software product, the log is semantically analyzed to extract the target function, and the requirements personnel determine the requirements corresponding to the target function, and assign the target function development task to the R&D team; after the R&D team completes the development, the version information is added to the component that implements the target function according to the naming rules, and the global component dependency table of the code branch corresponding to the R&D team is updated;
[0013] Obtaining version information of each component on each code branch and a global component dependency table of each code branch; the software product has multiple code branches, each code branch stores a number of components constituting the software product, and each code branch stores a global component dependency table and previous versions of the components stored in the code branch;
[0014] Based on the global component dependency table, all components that the component implementing the target function depends on are determined, the component implementing the target function and all components that the component implementing the target function depends on are used as simplified version components, and the simplified version components are published, and the method ends;
[0015] Step S5: regularly obtaining the latest compiled version of the software product, and publishing the software product corresponding to the latest compiled version.
[0016] Preferably, in step S1, the operation and maintenance server extracts access duration, keywords carried in access information, and character string sequences in the access information from the access log based on the access log, performs semantic analysis on the access log, and matches the semantic analysis results with the functional points of the software product. If the match is successful, the software product can cover the semantic analysis results, and the trigger instruction is set to indicate an urgent release; if the match fails, the software product cannot cover the semantic analysis results, and the trigger instruction is set to indicate that a new function needs to be added and an urgent release is required.
[0017] Preferably, the step S3, determining the components to be released and the versions of the components to be released based on the global component dependency table, forming a release component set, compiling the release component set, and releasing it, includes:
[0018] Step S31: Obtain all versions of each component of each code branch, wherein all versions include all previous versions of the component;
[0019] Step S32: determining a candidate sequence including all components of the software product based on the global component dependency table, wherein the candidate sequence includes all components of the software product and version information of all components;
[0020] Step S33: obtain the version number of each component in the candidate sequence, add up the version numbers, and use the candidate sequence with the largest sum as the optimal sequence; use the components included in the optimal sequence as the components to be released, use the version information of each component included in the optimal sequence as the version of each component to be released, form a release component set, compile the release component set, and release it.
[0021] Preferably, the step S4: determining all components that the component implementing the target function depends on based on the global component dependency table, taking the component implementing the target function and all components that the component implementing the target function depends on as simplified version components, and publishing the simplified version components includes:
[0022] Step S41: based on the global component dependency table, obtaining all versions of each component of each code branch, wherein all versions include all previous versions of the component;
[0023] Step S42: Based on the global component dependency table, determine all components that the component that implements the target function depends on, and obtain the latest version numbers of all components that the component that implements the target function depends on; take all components that the component that implements the target function depends on with the latest version numbers and all components that the component that implements the target function depends on as simplified version components, and publish the simplified version components.
[0024] The present invention provides a software version management device, the device comprising:
[0025] Monitoring module: configured to monitor the software product release server for instructions. If a trigger instruction is obtained, the judgment module is triggered; otherwise, the conventional release module is triggered; the trigger instruction is generated based on the access status of the software product operation and maintenance server;
[0026] Judgment module: if the trigger instruction indicates an urgent version release, enter the urgent version release module; if the trigger instruction indicates that a new function is needed and an urgent version release is required, enter the new function module;
[0027] Emergency version release module: configured to extract information from each code branch of the software product, obtain version information of each component on each code branch, and a global component dependency table of each code branch; the software product has multiple code branches, each code branch stores a number of components constituting the software product, and each code branch stores a global component dependency table and previous versions of the components stored in the code branch;
[0028] Based on the global component dependency table, determine the components to be released and the versions of the components to be released, form a release component set, compile the release component set, and release it;
[0029] New function module: It is configured to be based on the access log of the operation and maintenance server of the software product, perform semantic analysis on the log, extract the target function from it, and let the demand personnel determine the requirements corresponding to the target function, and assign the development task of the target function to the R&D team; after the R&D team completes the development, add version information to the component that realizes the target function according to the naming rules, and update the global component dependency table of the code branch corresponding to the R&D team;
[0030] Obtaining version information of each component on each code branch and a global component dependency table of each code branch; the software product has multiple code branches, each code branch stores a number of components constituting the software product, and each code branch stores a global component dependency table and previous versions of the components stored in the code branch;
[0031] Based on the global component dependency table, determine all components that the component implementing the target function depends on, take the component implementing the target function and all components that the component implementing the target function depends on as simplified version components, and publish the simplified version components;
[0032] Regular release module: configured to regularly obtain the latest compiled version of the software product and release the software product corresponding to the latest compiled version.
[0033] Preferably, the monitoring module and the operation and maintenance server extract the access duration, the keywords carried in the access information, and the character string sequence in the access information from the access log based on the access log, perform semantic analysis on the access log, and match the semantic analysis result with the functional points of the software product. If the match is successful, the software product can cover the semantic analysis result, and the trigger instruction is set to indicate an urgent release; if the match is not successful, the software product cannot cover the semantic analysis result, and the trigger instruction is set to indicate that a new function needs to be added and an urgent release is required.
[0034] Preferably, the emergency version release module includes:
[0035] Component acquisition submodule: configured to acquire all versions of each component of each code branch, wherein all versions include all previous versions of the component;
[0036] A candidate sequence generation submodule: configured to determine a candidate sequence including all components of the software product based on a global component dependency table, wherein the candidate sequence includes all components of the software product and version information of all components;
[0037] The optimal sequence acquisition submodule is configured to obtain the version number of each component in the candidate sequence, add up the version numbers, and use the candidate sequence with the largest sum as the optimal sequence; use the components included in the optimal sequence as the components to be released, use the version information of the components included in the optimal sequence as the versions of the components to be released, form a release component set, compile the release component set, and release it.
[0038] Preferably, the newly added functional module includes:
[0039] Component acquisition submodule: configured to acquire all versions of each component of each code branch based on the global component dependency table, wherein all versions include all previous versions of the component;
[0040] A simplified version generation submodule: configured to determine all components that the component that implements the target function depends on based on a global component dependency table, and obtain the latest version numbers of all components that the component that implements the target function depends on; all components that the component that implements the target function depends on with the latest version numbers and all components that the component that implements the target function depends on are used as simplified version components, and the simplified version components are published.
[0041] The present invention provides a software version management system, comprising:
[0042] A processor, which is used to execute multiple instructions;
[0043] A memory for storing a plurality of instructions;
[0044] The plurality of instructions are used to be stored by the memory and loaded and executed by the processor to implement the method as described above.
[0045] The present invention provides a computer-readable storage medium, wherein a plurality of instructions are stored in the storage medium; the plurality of instructions are used for a processor to load and execute the method as described above.
[0046] Beneficial effects: Compared with the prior art, the software version management method and device proposed in the present invention determine whether it is necessary to release the software product in an emergency release mode based on the analysis of the log information of the operation and maintenance server. Three modes of releasing software products are set up, namely emergency release, new function and emergency release, and regular release, to solve different release requirements. A global component dependency table is set up. For different modes of releasing software products, the dependency relationship between components and the version relationship of components are obtained based on the global component dependency table, and the components and their versions involved in the release are determined under different release modes. It can cope with a variety of usage scenarios, and realize fast and accurate version release, avoid incompatibility between components, and can intelligently analyze the functions required by software products, reduce the time of version release, and improve the accuracy, timeliness and intelligence of the released version. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] Figure 1 It is a flowchart of the software version management method;
[0048] Figure 2 This is a structural block diagram of the software version management device. DETAILED DESCRIPTION
[0049] The present invention is described in detail below in conjunction with the accompanying drawings and embodiments.
[0050] The present invention proposes a software version management method, which determines whether it is necessary to release a software product in an emergency release mode based on the analysis of the log information of the operation and maintenance server. The present invention sets three ways to release software products, namely emergency release, new function and emergency release, and regular release, to solve different release requirements. A global component dependency table is set, and for different modes of releasing software products, the dependency relationship between components and the version relationship of components are obtained based on the global component dependency table, and the components and their versions involved in the release are determined under different release modes. It can cope with a variety of usage scenarios, and realize fast and accurate version release, avoid incompatibility between components, and can intelligently analyze the functions required by the software product, reduce the time of version release, and improve the accuracy, timeliness and intelligence of the version release.
[0051] like Figure 1 As shown, the software version management method provided by the present invention comprises the following steps:
[0052] Step S1: The software product release server listens for instructions. If a trigger instruction is obtained, it proceeds to step S2; otherwise, it proceeds to step S5; the trigger instruction is generated based on the access status of the software product operation and maintenance server;
[0053] Step S2: If the trigger instruction indicates an urgent version release, proceed to step S3; if the trigger instruction indicates that a new function needs to be added and an urgent version release is required, proceed to step S4;
[0054] Step S3: extracting information from each code branch of the software product, obtaining version information of each component on each code branch, and a global component dependency table of each code branch; the software product has multiple code branches, each code branch stores a number of components constituting the software product, and each code branch stores a global component dependency table and previous versions of the components stored in the code branch;
[0055] Based on the global component dependency table, determine the components to be released and the versions of the components to be released, form a release component set, compile the release component set, and release it, and the method ends;
[0056] Step S4: Based on the access log of the operation and maintenance server of the software product, the log is semantically analyzed to extract the target function, and the requirements personnel determine the requirements corresponding to the target function, and assign the target function development task to the R&D team; after the R&D team completes the development, the version information is added to the component that implements the target function according to the naming rules, and the global component dependency table of the code branch corresponding to the R&D team is updated;
[0057] Obtaining version information of each component on each code branch and a global component dependency table of each code branch; the software product has multiple code branches, each code branch stores a number of components constituting the software product, and each code branch stores a global component dependency table and previous versions of the components stored in the code branch;
[0058] Based on the global component dependency table, all components that the component implementing the target function depends on are determined, the component implementing the target function and all components that the component implementing the target function depends on are used as simplified version components, and the simplified version components are published, and the method ends;
[0059] Step S5: regularly obtaining the latest compiled version of the software product, and publishing the software product corresponding to the latest compiled version.
[0060] Step S1: The software product release server listens for instructions. If a trigger instruction is obtained, the process proceeds to step S2; otherwise, the process proceeds to step S5. The trigger instruction is generated based on the access status of the software product operation and maintenance server, wherein:
[0061] The software product runs on the operation and maintenance server, which determines that the current access is abnormal by comparing the access data of the current period with the historical access data of the same period. For example, the abnormality is caused by a sudden hot spot or other application situation, causing the current access data to increase instantly.
[0062] Based on the access log, the operation and maintenance server extracts the access duration, the keywords carried in the access information, and the character string sequence in the access information from the log, performs semantic analysis on the access log, and matches the semantic analysis result with the functional points of the software product. If the match is successful, the software product can cover the semantic analysis result, and the trigger instruction is set to indicate an urgent release; if the match fails, the software product cannot cover the semantic analysis result, and the trigger instruction is set to require a new function and an urgent release.
[0063] In this embodiment, the software product has multiple code branches, each code branch stores several components that constitute the software product, and each code branch stores a global component dependency table and previous versions of the components stored in the code branch. The global component dependency table includes the software product component identifier, component version number, storage address, preceding component, and succeeding component; the storage address is the storage address of the component of this version, and the preceding component refers to the component that the component directly depends on in the software product and the version of the component that it directly depends on; the succeeding component refers to the component that directly depends on the component and the version of the component that directly depends on the component in the software product. For a code branch of the software product, the global component dependency table in the code branch records the relevant information of each component stored in the code branch. In other words, the global component dependency tables stored in different code branches may be different, and the global component dependency table can be queried in each code branch to obtain the preceding component and the succeeding component of the component. The global component dependency table is shown in Table 1:
[0064]
[0065]
[0066] Table 1 Global component dependency table
[0067] In this embodiment, the preceding and succeeding components of a component in the global component dependency table can be stored in the code branch corresponding to the global component dependency table or in other code branches. As shown in Table 1, the component with version number 1 and identification number ID_1 depends on the component with identification number ID_2 and version number 2.
[0068] The components stored in the code branch are determined based on the functions of the software product when it is designed, or based on the R&D team. The functions of the software product can be divided based on the low-coupling design principle, and components with high correlation can be deployed on the same code branch; code branches can also be allocated based on the R&D team, and components developed by the same R&D team can be deployed on the same code branch.
[0069] The step S3, based on the global component dependency table, determines each component to be released and the version of each component to be released, forms a release component set, compiles the release component set, and releases it, including:
[0070] Step S31: Obtain all versions of each component of each code branch, wherein all versions include all previous versions of the component;
[0071] Step S32: determining a candidate sequence including all components of the software product based on the global component dependency table, wherein the candidate sequence includes all components of the software product and version information of all components;
[0072] In this embodiment, based on the global component dependency table, the version of each component, the predecessor component of each component, the version of the predecessor component, the successor component of each component, and the version of the successor component are obtained, and multiple candidate sequences including all components of the software product and the version information of each component in all components are determined in a multi-branch tree manner. There is no conflict in the candidate sequence, which is a component sequence of a software product that can be run.
[0073] Step S33: obtain the version number of each component in the candidate sequence, add up the version numbers, and use the candidate sequence with the largest sum as the optimal sequence; use the components included in the optimal sequence as the components to be released, use the version information of each component included in the optimal sequence as the version of each component to be released, form a release component set, compile the release component set, and release it.
[0074] In this embodiment, by adding up the version numbers in multiple candidate sequences, as many and newer components as possible can be obtained.
[0075] The step S4: determining all components that the component implementing the target function depends on based on the global component dependency table, taking the component implementing the target function and all components that the component implementing the target function depends on as simplified version components, and publishing the simplified version components, includes:
[0076] Step S41: based on the global component dependency table, obtaining all versions of each component of each code branch, wherein all versions include all previous versions of the component;
[0077] Step S42: Based on the global component dependency table, determine all components that the component that implements the target function depends on, and obtain the latest version numbers of all components that the component that implements the target function depends on; take all components that the component that implements the target function depends on with the latest version numbers and all components that the component that implements the target function depends on as simplified version components, and publish the simplified version components.
[0078] In this embodiment, since the component that implements the target function is a newly developed component, compatibility will be taken into consideration during the development process. Therefore, all components that the component that implements the target function depends on and has the latest version number can be directly obtained, and then all components that the component that implements the target function depends on and has the latest version number and all components that the component that implements the target function depends on are used as simplified version components, and the simplified version components are released, and the simplified version is mounted on the software product running on the operation and maintenance server.
[0079] The step S5: regularly obtains the latest compiled version of the software product and releases the software product corresponding to the latest compiled version. The purpose is to release the new version of the software product regularly and regularly in a conventional manner when there is no emergency or sudden situation.
[0080] The present invention also provides a software version management device, such as Figure 2 As shown, the device comprises:
[0081] Monitoring module: configured to monitor the software product release server for instructions. If a trigger instruction is obtained, the judgment module is triggered; otherwise, the conventional release module is triggered; the trigger instruction is generated based on the access status of the software product operation and maintenance server;
[0082] Judgment module: if the trigger instruction indicates an urgent version release, enter the urgent version release module; if the trigger instruction indicates that a new function is needed and an urgent version release is required, enter the new function module;
[0083] Emergency version release module: configured to extract information from each code branch of the software product, obtain version information of each component on each code branch, and a global component dependency table of each code branch; the software product has multiple code branches, each code branch stores a number of components constituting the software product, and each code branch stores a global component dependency table and previous versions of the components stored in the code branch;
[0084] Based on the global component dependency table, determine the components to be released and the versions of the components to be released, form a release component set, compile the release component set, and release it;
[0085] New function module: It is configured to be based on the access log of the operation and maintenance server of the software product, perform semantic analysis on the log, extract the target function from it, and let the demand personnel determine the requirements corresponding to the target function, and assign the development task of the target function to the R&D team; after the R&D team completes the development, add version information to the component that realizes the target function according to the naming rules, and update the global component dependency table of the code branch corresponding to the R&D team;
[0086] Obtaining version information of each component on each code branch and a global component dependency table of each code branch; the software product has multiple code branches, each code branch stores a number of components constituting the software product, and each code branch stores a global component dependency table and previous versions of the components stored in the code branch;
[0087] Based on the global component dependency table, determine all components that the component implementing the target function depends on, take the component implementing the target function and all components that the component implementing the target function depends on as simplified version components, and publish the simplified version components;
[0088] Regular release module: configured to regularly obtain the latest compiled version of the software product and release the software product corresponding to the latest compiled version.
[0089] The embodiment of the present invention further provides a software version management system, including:
[0090] A processor, which is used to execute multiple instructions;
[0091] A memory for storing a plurality of instructions;
[0092] The plurality of instructions are used to be stored by the memory, and loaded and executed by the processor to implement the software version management method as described above.
[0093] The embodiment of the present invention further provides a computer-readable storage medium, wherein a plurality of instructions are stored in the storage medium; the plurality of instructions are used for a processor to load and execute the software version management method as described above.
[0094] In the several embodiments provided by the present invention, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0095] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0096] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of hardware plus software functional units.
[0097] The above-mentioned integrated unit implemented in the form of a software functional unit can be stored in a computer-readable storage medium. The above-mentioned software functional unit is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a physical server, or a network cloud server, etc., which needs to be installed with Windows or Windows Server operating system) to perform some steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (RandomAccess Memory, RAM), disk or optical disk and other media that can store program codes.
[0098] The above description is only a preferred embodiment of the present invention and does not limit the present invention in any form. Any simple modification, equivalent change and modification made to the above embodiment according to the technical essence of the present invention still falls within the scope of the technical solution of the present invention.
Claims
1. A software version management method, characterized in that: include: Step S1: The software product release server listens for instructions. If a trigger instruction is obtained, it proceeds to step S2; otherwise, it proceeds to step S5; the trigger instruction is generated based on the access status of the software product operation and maintenance server; Step S2: If the trigger instruction indicates an urgent release, proceed to step S3; if the trigger instruction indicates that a new function needs to be added and an urgent release is required, proceed to step S4; Step S3: extracting information from each code branch of the software product, obtaining version information of each component on each code branch, and a global component dependency table of each code branch; the software product has multiple code branches, each code branch stores a number of components constituting the software product, and each code branch stores a global component dependency table and previous versions of the components stored in the code branch; Based on the global component dependency table, determine the components to be released and the versions of the components to be released to form a release component set, compile the release component set, and release it, and the method ends; wherein, based on the global component dependency table, determine the components to be released and the versions of the components to be released to form a release component set, including: obtaining all versions of the components of each code branch, the all versions including all previous versions of the components; based on the global component dependency table, determine a candidate sequence including all components of the software product, the candidate sequence including all components of the software product and version information of all components; obtain the version number of each component in the candidate sequence, add and sum the version numbers, and use the candidate sequence with the largest sum as the optimal sequence; use the components included in the optimal sequence as the components to be released, use the version information of the components included in the optimal sequence as the versions of the components to be released, and form a release component set; Step S4: Based on the access log of the operation and maintenance server of the software product, the log is semantically analyzed to extract the target function, and the requirements personnel determine the requirements corresponding to the target function, and assign the target function development task to the R&D team; after the R&D team completes the development, the version information is added to the component that implements the target function according to the naming rules, and the global component dependency table of the code branch corresponding to the R&D team is updated; Obtaining version information of each component on each code branch and a global component dependency table of each code branch; the software product has multiple code branches, each code branch stores a number of components constituting the software product, and each code branch stores a global component dependency table and previous versions of the components stored in the code branch; Based on the global component dependency table, all components that the component implementing the target function depends on are determined, the component implementing the target function and all components that the component implementing the target function depends on are used as simplified version components, and the simplified version components are published, and the method ends; Step S5: regularly obtaining the latest compiled version of the software product, and publishing the software product corresponding to the latest compiled version.
2. The method according to claim 1, characterized in that In step S1, the operation and maintenance server extracts access duration, keywords carried in access information, and character string sequences in the access information from the access log based on the access log, performs semantic analysis on the access log, and matches the semantic analysis results with the functional points of the software product. If the match is successful, the software product can cover the semantic analysis results, and the trigger instruction is set to indicate an urgent release; if the match is not successful, the software product cannot cover the semantic analysis results, and the trigger instruction is set to require a new function and an urgent release.
3. The method according to claim 2, characterized in that The step S3, based on the global component dependency table, determines each component to be released and the version of each component to be released, forms a release component set, compiles the release component set, and releases it, including: Step S31: Obtain all versions of each component of each code branch, wherein all versions include all previous versions of the component; Step S32: determining a candidate sequence including all components of the software product based on the global component dependency table, wherein the candidate sequence includes all components of the software product and version information of all components; Step S33: obtain the version number of each component in the candidate sequence, add up the version numbers, and use the candidate sequence with the largest sum as the optimal sequence; use the components included in the optimal sequence as the components to be released, use the version information of each component included in the optimal sequence as the version of each component to be released, form a release component set, compile the release component set, and release it.
4. The method according to claim 3, characterized in that The step S4: determining all components that the component implementing the target function depends on based on the global component dependency table, taking the component implementing the target function and all components that the component implementing the target function depends on as simplified version components, and publishing the simplified version components, includes: Step S41: based on the global component dependency table, obtaining all versions of each component of each code branch, wherein all versions include all previous versions of the component; Step S42: Based on the global component dependency table, determine all components that the component that implements the target function depends on, and obtain the latest version numbers of all components that the component that implements the target function depends on; take all components that the component that implements the target function depends on with the latest version numbers and all components that the component that implements the target function depends on as simplified version components, and publish the simplified version components.
5. A software version management device, characterized in that: The device comprises: Monitoring module: configured to monitor the software product release server for instructions. If a trigger instruction is obtained, the judgment module is triggered; otherwise, the conventional release module is triggered; the trigger instruction is generated based on the access status of the software product operation and maintenance server; Judgment module: if the trigger instruction indicates an urgent version release, enter the urgent version release module; if the trigger instruction indicates that a new function is needed and an urgent version release is required, enter the new function module; Emergency release module: configured to extract information from each code branch of the software product, obtain version information of each component on each code branch, and a global component dependency table of each code branch; the software product has multiple code branches, each code branch stores a number of components constituting the software product, each code branch stores a global component dependency table, and previous versions of the components stored in the code branch; based on the global component dependency table, determine each component to be released, and the version of each component to be released, form a release component set, compile the release component set, and release it; wherein, based on the global component dependency table, determine each component to be released, and the versions of each component to be released, forming a release component set, including: obtaining all versions of each component of each code branch, the all versions including all previous versions of the component; determining a candidate sequence including all components of the software product based on a global component dependency table, the candidate sequence including all components of the software product and version information of all components; obtaining the version number of each component in the candidate sequence, adding and summing the version numbers, and taking the candidate sequence with the largest sum as the optimal sequence; taking the components included in the optimal sequence as the components to be released, taking the version information of each component included in the optimal sequence as the versions of each component to be released, and forming a release component set; Newly added function module: configured to be based on the access log of the operation and maintenance server of the software product, perform semantic analysis on the log, extract the target function from it, and the demand personnel determine the demand corresponding to the target function, and assign the target function development task to the R&D team; after the R&D team completes the development, add version information to the component that realizes the target function according to the naming rules, and update the global component dependency table of the code branch corresponding to the R&D team; obtain the version information of each component on each code branch, and the global component dependency table of each code branch; the software product has multiple code branches, each code branch stores several components that constitute the software product, and each code branch stores a global component dependency table and the previous versions of the components stored in the code branch; based on the global component dependency table, determine all components that the component that realizes the target function depends on, and use the component that realizes the target function and all components that the component that realizes the target function depends on as simplified version components, and publish the simplified version components; Regular release module: configured to regularly obtain the latest compiled version of the software product and release the software product corresponding to the latest compiled version.
6. The device according to claim 5, characterized in that The monitoring module and the operation and maintenance server extract the access duration, the keywords carried in the access information, and the character string sequence in the access information from the access log based on the access log, perform semantic analysis on the access log, and match the semantic analysis result with the functional points of the software product. If the match is successful, the software product can cover the semantic analysis result, and the trigger instruction is set to indicate an urgent release; if the match fails, the software product cannot cover the semantic analysis result, and the trigger instruction is set to require a new function and an urgent release.
7. The device according to claim 6, characterized in that The emergency version release module includes: Component acquisition submodule: configured to acquire all versions of each component of each code branch, wherein all versions include all previous versions of the component; A candidate sequence generation submodule: configured to determine a candidate sequence including all components of the software product based on a global component dependency table, wherein the candidate sequence includes all components of the software product and version information of all components; The optimal sequence acquisition submodule is configured to obtain the version number of each component in the candidate sequence, add up the version numbers, and use the candidate sequence with the largest sum as the optimal sequence; use the components included in the optimal sequence as the components to be released, use the version information of the components included in the optimal sequence as the versions of the components to be released, form a release component set, compile the release component set, and release it.
8. The device according to claim 7, characterized in that The newly added functional modules include: Component acquisition submodule: configured to acquire all versions of each component of each code branch based on the global component dependency table, wherein all versions include all previous versions of the component; A simplified version generation submodule: configured to determine all components that the component that implements the target function depends on based on a global component dependency table, and obtain the latest version numbers of all components that the component that implements the target function depends on; all components that the component that implements the target function depends on with the latest version numbers and all components that the component that implements the target function depends on are used as simplified version components, and the simplified version components are published.
9. A software version management system, comprising: A processor, which is used to execute multiple instructions; A memory for storing a plurality of instructions; The plurality of instructions are used to be stored in the memory and loaded and executed by the processor according to any one of claims 1 to 4.
10. A computer-readable storage medium, wherein a plurality of instructions are stored in the storage medium; the plurality of instructions are used for a processor to load and execute the method as claimed in any one of claims 1 to 4.
Citation Information
Patent Citations
Method and equipment for searching dependence information of front-end component
CN107391528A
Sub-application APP generation method and generation device
CN110569063A