CN111104125A - Intelligent integrated version management method, device, medium and electronic equipment - Google Patents

Intelligent integrated version management method, device, medium and electronic equipment Download PDF

Info

Publication number
CN111104125A
CN111104125A CN201911130928.0A CN201911130928A CN111104125A CN 111104125 A CN111104125 A CN 111104125A CN 201911130928 A CN201911130928 A CN 201911130928A CN 111104125 A CN111104125 A CN 111104125A
Authority
CN
China
Prior art keywords
version
item
information
rollback
project
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911130928.0A
Other languages
Chinese (zh)
Other versions
CN111104125B (en
Inventor
臧卓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taikang Insurance Group Co Ltd
Original Assignee
Taikang Insurance Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Taikang Insurance Group Co Ltd filed Critical Taikang Insurance Group Co Ltd
Priority to CN201911130928.0A priority Critical patent/CN111104125B/en
Publication of CN111104125A publication Critical patent/CN111104125A/en
Application granted granted Critical
Publication of CN111104125B publication Critical patent/CN111104125B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)

Abstract

The embodiment of the invention provides an intelligent integrated version management method, an intelligent integrated version management device, an intelligent integrated version management medium and electronic equipment, wherein the method comprises the following steps: in response to receiving a user's issuance command for the item, determining a latest version of the item; after determining the latest version of the project, pulling the code of the latest version of the project from the Git server and releasing the latest version of the project to the Web server; after the latest version of the project is released, locally recording version information and state information corresponding to the latest version of the project; in response to receiving a user's rollback command for an item, a rollback version of the item is determined based on locally recorded version information and state information, and a rollback operation is performed according to the rollback version of the item. The technical scheme of the embodiment of the invention realizes high efficiency, simplification and intensification of version management and improves the reliability of version management.

Description

Intelligent integrated version management method, device, medium and electronic equipment
Technical Field
The invention relates to the technical field of product management, in particular to an intelligent integrated version management method, device, medium and electronic equipment.
Background
In the field of the industry of old age care, systems and intelligent devices related to old age care are in a large number, and the systems and the intelligent devices form an intelligent ecological chain for old age care service. Along with the complexity of the intelligent endowment service ecological chain is continuously promoted, endowment products are also continuously complicated, and the traditional product management mode can hardly meet the actual requirements. Taking an aged-care product released by Taikang as an example, the current Taikang products are all labeled manually by staff (namely Tag for representing the version number of the product), and the staff manually selects the version of the product to be online when the product is online, and the problem that the version of the product is mistakenly issued and the like often occurs because the label is required to be manually selected to be online. In addition, when a problem occurs after a product is on line, a historical stable version of the product needs to be traced back by means of personal memory, and the historical stable version needs to be inquired by comparing staff in a code warehouse one by one, so that the rollback efficiency is low and errors are easy to occur.
It is to be noted that the information disclosed in the above background section is only for enhancement of understanding of the background of the present invention and therefore may include information that does not constitute prior art known to a person of ordinary skill in the art.
Disclosure of Invention
To overcome the problems in the prior art described above, according to an embodiment of the present invention, an intelligent integrated version management method is provided, which is also applicable to managing other software products in addition to the endowment products. The method comprises the following steps: in response to receiving a user's issuance command for an item, determining a latest version of the item; after determining the latest version of the item, pulling the code of the latest version of the item from the Git server and releasing the latest version of the item to the Web server; after the latest version of the project is released, locally recording version information and state information corresponding to the latest version of the project; the version information is used for determining the context of the corresponding version and other versions of the project, and the state information is used for indicating whether the corresponding version is a stable version; and in response to receiving a rollback command of the item from a user, determining a rollback version of the item based on locally recorded version information and state information, and performing rollback operation according to the rollback version of the item.
In the above method, locally recording the state information corresponding to the latest version of the item includes: setting state information of the latest version of the project to indicate stability and saving the state information locally; in response to receiving a user rollback command for the item, state information of a latest version of the item is set to indicate failure and saved locally.
In the above method, determining the rollback version of the item based on locally recorded version information and state information includes: acquiring all stable versions of the project based on locally recorded state information; selecting a stable version that is prior to and closest to the latest version of the item among all stable versions of the item as a fallback version of the item based on locally recorded version information.
In the method, a backspacing command of a user to the project comprises version information; and determining a fallback version for the item based on locally recorded version information and state information comprises: determining whether version information in the rollback command is included in version information of all versions of the item recorded locally; and in response to determining that the version information of all versions of the item recorded locally includes the version information in the rollback command, acquiring the status information of the version corresponding to the version information in the rollback command recorded locally, and if the acquired status information indicates that the version corresponding to the version information in the rollback command is a stable version, taking the version corresponding to the version information in the rollback command as the rollback version of the item.
In the above method, in response to receiving a user issuance command for an item, determining a latest version of the item includes: acquiring version information of a last created version of the project from the Git server; and determining whether the version information of the last created version is included in the version information of all versions of the item recorded locally, and if not, taking the last created version as the latest version of the item.
In the method, a user's issuing command for the project comprises version information; and, in response to receiving a user issuance command for an item, determining a latest version of the item comprises: determining whether version information in the release command is included in version information of all versions of the item recorded locally; and in response to determining that the version information in the issued command is not included in the version information of all versions of the item recorded locally, searching whether the Git has a version corresponding to the version information in the issued command, and if so, taking the version corresponding to the version information in the issued command as the latest version of the item.
The above method may further comprise: acquiring a download address of the latest version of the mobile terminal application from a file server; and sending the download address of the latest version of the mobile terminal application to the mobile equipment.
According to an embodiment of the present invention, there is also provided an intelligent integrated version management apparatus including:
the version determining module is used for determining the latest version of the item in response to receiving a user issuing command of the item;
the release module is used for pulling the code of the latest version of the project from the Git server after the latest version of the project is determined, and releasing the latest version of the project to the Web server;
the recording module is used for locally recording version information and state information corresponding to the latest version of the project after the latest version of the project is released; the version information is used for determining the context of the corresponding version and other versions of the project, and the state information is used for indicating whether the corresponding version is a stable version;
and the rollback module is used for responding to the received rollback command of the user to the item, determining the rollback version of the item based on the locally recorded version information and the state information, and performing rollback operation according to the rollback version of the item.
There is also provided, in accordance with an embodiment of the present invention, a computer-readable medium, having stored thereon a computer program, which, when executed by a processor, implements the intelligent integrated version management method as described in the above embodiment.
There is also provided, in accordance with an embodiment of the present invention, electronic apparatus including: one or more processors; storage means for storing one or more computer programs that, when executed by the one or more processors, cause the electronic device to implement the intelligent integrated version management method as described in the above embodiments.
The technical scheme provided by the embodiment of the invention has the following beneficial effects:
the embodiment of the invention utilizes the version identification and the state information of the project in the Git server to determine the latest version and the rollback version of the project, can realize the automatic release and rollback of the latest version of the project without manually setting and selecting the version number by a user, solves the problem of high error rate when manually setting and selecting the version number, and improves the efficiency of version release and rollback and the reliability of version management. The user does not need to memorize the historical version number of the project, the burden of the user is reduced, the project can be released and returned by one key, the user operation is facilitated, the manpower maintenance cost is saved, and the threshold of the user is reduced. In addition, the user can still specify the version which the user desires to release or the version which the user desires to fall back to by providing the version identification, so that the flexibility of version management is improved. Due to the fact that version identification and state information (including successful release versions and failed release versions) of all released versions of the project are stored, the development process of files and catalogs in the project development process can be tracked, and convenience is brought to project developers. Embodiments of the present invention actually provide an intensive version management scheme, which provides version management for mobile applications in addition to automatic release and rollback of Web items.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and together with the description, serve to explain the principles of the invention. It is obvious that the drawings in the following description are only some embodiments of the invention, and that for a person skilled in the art, other drawings can be derived from them without inventive effort. In the drawings:
FIG. 1 schematically illustrates a flow diagram of a method of intelligent integrated version management according to one embodiment of the invention;
FIG. 2 schematically illustrates an architecture diagram of a version management system including an intelligent integrated version management device according to one embodiment of the invention;
FIG. 3 is a table structure diagram schematically illustrating a local database of the intelligent integrated version management device according to one embodiment of the present invention;
FIG. 4 schematically illustrates a block diagram of an intelligent integrated version management device according to one embodiment of the invention;
FIG. 5 schematically illustrates a block diagram of a computer system suitable for use with an electronic device to implement an embodiment of the invention.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art.
Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention may be practiced without one or more of the specific details, or with other methods, components, devices, steps, and so forth. In other instances, well-known methods, devices, implementations or operations have not been shown or described in detail to avoid obscuring aspects of the invention.
The block diagrams shown in the figures are functional entities only and do not necessarily correspond to physically separate entities. I.e. these functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor means and/or microcontroller means.
The flow charts shown in the drawings are merely illustrative and do not necessarily include all of the contents and operations/steps, nor do they necessarily have to be performed in the order described. For example, some operations/steps may be decomposed, and some operations/steps may be combined or partially combined, so that the actual execution sequence may be changed according to the actual situation.
According to one embodiment of the invention, an intelligent integrated version management method is provided.
FIG. 1 schematically shows a flowchart of a method for intelligent integrated version management according to one embodiment of the present invention, including steps S11-S15. The execution subject of the intelligent integrated version management method may be a server or a terminal having a calculation and storage function, and the intelligent integrated version management method may be executed by an electronic device such as an intelligent integrated version management device, for example. As shown in fig. 2, the intelligent integrated version management device may be connected to a Git (distributed version control system) server, a file server, and a Web server, and provide an interactive interface (not shown in fig. 2) to interact with a user.
The steps of the intelligent integrated version management method are described below with reference to fig. 1-2:
step S11. in response to receiving a user's issue command for the item, the latest version of the item is determined.
A user may send a release command regarding a latest version of an item (e.g., a Web item) to an intelligent integrated version management device via an interactive interface. The user may specify the version desired to be published, for example, project information (such as project name or project identification) and a version identification of the version desired to be published in the Git server (such as Git version id, hereinafter simply referred to as version identification) may be included in the publish command; the user may also not specify the version, for example by sending a release command regarding the latest version of an item by simply clicking on a key associated with the release of the item at his terminal, such as a PC terminal or a mobile device terminal, where different items correspond to different keys.
The intelligent integrated version management device determines the latest version of the item after receiving a command issued by a user to the item, and the process comprises the following sub-steps:
s111, analyzing the received issuing command by the intelligent integrated version management equipment, and executing S112 if the version identification and the project information are obtained by analysis; if the item information is obtained through the analysis but the version identifier is not obtained through the analysis, step S113 is executed.
Step S112, the intelligent integrated version management device determines whether the version corresponding to the version identification in the issuing command is the latest version of the item.
The intelligent integrated version management device comprises a local database, fig. 3 shows a table structure of the local database of the intelligent integrated version management device according to an embodiment of the present invention, as shown in fig. 3, the database stores version identifiers (git version id, as described above) and state information corresponding to all published versions of an item; the version identifier is a unique identifier allocated by the Git server to each version of the project, and generally speaking, the version identifier of the later created version of the project in the Git server is greater than the version identifier of the previous created version, that is, the version identifier can be used to determine the context between the versions; the status information may be represented by 0 or 1, where 1 represents that the version corresponding to the status information is a stable version, and 0 represents that the version corresponding to the status information is a failed version (i.e., an unstable version). By querying the local database of the intelligent integrated version management device, the version identifications of all released versions of the project can be obtained, and whether all released versions of the project are stable versions or not is known.
After the version identifier is obtained through analysis, the intelligent integrated version management device queries the local database, and determines whether the version identifiers of all versions (namely all released versions of the item) of the item (the item can be determined according to the item information) stored in the local database include the version identifier in the release command.
If the version identifications of all versions of the item stored in the local database do not include the version identification in the issued command, that is, the version corresponding to the version identification in the issued command is not issued, the intelligent integrated version management device further queries whether the version corresponding to the version identification in the issued command exists in the Git server; if yes, determining the version corresponding to the version identification in the issued command as the latest version of the item; if not, indicating that the user may input an incorrect version identification, the intelligent integrated version management device may feed back a message indicating that the version identification is incorrect to the user via the interactive interface, and the user may then resend the issue command. The path of the project in the Git server, such as the project Git path shown in fig. 3, has been configured in advance in the local database of the intelligent integrated version management device, and the intelligent integrated version management device can query whether the Git server has a version corresponding to the version identifier in the release command via the path.
If the version identifications of all versions of the item stored in the local database include the version identification in the release command, that is, the version corresponding to the version identification in the release command has been released, the intelligent integrated version management device may feed back a message indicating that the version has been released to the user via the interactive interface, and the user may then resend the release command.
After the execution of step S112 is completed, step S113 is skipped.
And S113, acquiring the last created version of the project according to the project information by the intelligent integrated version management device, and determining whether the last created version is the latest version of the project.
The intelligent integrated version management device obtains the version identifier of the last created version of the project according to the path of the project in the Git server (for example, the version identifier may be used to determine which version of the project is the last created version, and generally speaking, the version corresponding to the largest version identifier is the last created version). Then, the intelligent integrated version management equipment queries a local database and judges whether the version identifications of all versions of the project stored in the local database include the version identification of the last created version; if not, i.e., the last created version of the item has not been released, the last created version is determined to be the latest version of the item, and if so, the intelligent integrated version management device may feed back a message to the user via the interactive interface indicating that the item does not have the latest version.
Step S12. after determining the latest version of the project, pulling the code of the latest version of the project from the Git server and releasing the latest version of the project to the Web server.
After determining the latest version of the project, namely determining that the version corresponding to the version identification in the issued command is the latest version of the project or determining that the last created version of the project in the Git server is the latest version of the project, the intelligent integrated version management device pulls the code of the latest version from the Git server. According to an embodiment of the present invention, the intelligent integrated version management device may use jGit (jGit is a pure Java library for operating Git) to obtain the latest version of the code of the project, and table 1 shows core objects that the intelligent integrated version management device may use:
TABLE 1
Figure BDA0002278264960000081
The intelligent integrated version management device releases the latest version of the project to the Web server after pulling the code of the latest version of the project. The intelligent integrated version management device can realize automatic release of the project through a CodePipeline pipeline.
And S13, after the latest version of the item is released, locally recording version information and state information corresponding to the latest version of the item.
Specifically, after the intelligent integrated version management device issues the latest version of the project, the version identifier corresponding to the latest version and the state information corresponding to the latest version are added to the local database. The status information is used to indicate whether the corresponding version is a stable version, and as described above, the status information may be represented by 0 or 1, where 1 represents that the version corresponding to the status information is a stable version, and 0 represents that the version corresponding to the status information is a failed version. According to one embodiment of the invention, if the latest version of the project is successfully released, the intelligent integrated version management device sets the state information corresponding to the latest version of the project to 1 and stores the state information in the local database; if the latest version of the item fails to be released, the intelligent integrated version management device sets the state information corresponding to the latest version of the item to 0 and stores the state information in the local database. To illustrate by a specific example, after the latest version of the item is released, the intelligent integrated version management device sets the state information corresponding to the latest version of the item to 1 and stores the state information in the local database, where the state of 1 (i.e. indicating that the corresponding latest version is a stable version) is a default value of the state information; once the intelligent integrated version management device receives a rollback command of the item from the user, the state information of the latest version of the item is updated to 0, namely the state information indicates that the corresponding latest version is a failed version and needs rollback.
Step S14, in response to receiving a rollback command of the user to the item, determining a rollback version of the item based on the locally recorded version information and the state information, and performing rollback operation according to the rollback version of the item.
After the latest version of the item is released, various problems may occur that may result in a rollback operation being required. A user (e.g., an operation and maintenance person or other personnel) may send a rollback command for the project to the intelligent integrated version management device via the interactive interface. The user may specify the version to which rollback is desired, for example, project information (such as project identification or project name) and a version identification of the version to which rollback is desired may be included in the rollback command; the user may also not specify a version, e.g. send a rollback command for an item by simply clicking on a key on his terminal, e.g. a PC terminal or a mobile device terminal, related to the rollback of the item, where different items correspond to different keys.
The intelligent integrated version management device determines the rollback version of the item after receiving a rollback command of the item from a user, and the process comprises the following sub-steps:
step S141, the intelligent integrated version management equipment analyzes the received backspacing command, and if version identification and project information are obtained through analysis, step S142 is executed; if the item information is obtained through the analysis but the version identifier is not obtained through the analysis, step S143 is executed.
And S142, the intelligent integrated version management device determines whether the version corresponding to the version identification in the rollback command is the rollback version of the item.
After the version identifier is obtained through analysis, the intelligent integrated version management device queries the local database, and determines whether the version identifiers of all versions (namely all issued versions of the item) of the item (the item can be determined according to the item information) stored in the local database include the version identifier in the rollback command.
If the version identifiers of all versions of the item stored in the local database comprise the version identifiers in the rollback command, namely the version corresponding to the version identifier in the rollback command is issued, the intelligent integrated version management device further acquires the state information of the version corresponding to the version identifier in the rollback command stored in the local database; if the acquired state information is 1, namely the version corresponding to the version identifier in the backspacing command is indicated to be a stable version, determining the version corresponding to the version identifier in the backspacing command as the backspacing version of the item; if the obtained status information is 0, it indicates that the user inputs a version identifier of a failed version (unstable version), and the intelligent integrated version management device may feed back a message indicating that the rollback version is unstable to the user via the interactive interface, and the user may then resend the rollback command.
If the version identifications of all versions of the item stored in the local database do not include the version identification in the release command, indicating that the user may input an incorrect version identification, the intelligent integrated version management device may feed back a message indicating that the version identification is incorrect to the user via the interactive interface, and the user may then resend the rollback command.
After the execution of step S142 is completed, step S143 is skipped.
And S143, determining the rollback version of the project by the intelligent integrated version management equipment according to the project information, the locally recorded version identification and the state information.
Specifically, the intelligent integrated version management device obtains, from the local database, version identifiers corresponding to versions with state information of 1 in all versions of the project, that is, obtains all stable versions of the project, based on the state information stored in the local database, according to the project information. The intelligent integrated version management device selects, as the rollback version of the item, a stable version that is less in version identification than the latest version of the item and is closest to the version identification of the latest version (i.e., a stable version that is before and closest to the latest version of the item) among all stable versions of the item based on the version identifications stored in the local database.
After determining the fallback version of the item, the latest version of the item is uninstalled, and the code for the fallback version of the item is pulled from the Git server to publish to the Web server.
And S15, acquiring the download address of the latest version of the mobile terminal application from the file server, and sending the download address of the latest version of the mobile terminal application to the mobile equipment.
In addition to publishing web items, the intelligent integrated version management device may also manage the version of the mobile-side application according to one embodiment of the present invention. Specifically, the intelligent integrated version management device may obtain a download address of the latest version of the mobile end application from the file server and store the download address in the local database, wherein the version identification of the latest version of the mobile end application and the corresponding download address are stored. The intelligent integrated version management device can also push a download address of the latest version of the mobile terminal application to the mobile terminal device, and the mobile terminal device can download the installation package/upgrade package of the mobile application according to the download address so as to complete the installation or upgrade of the mobile application.
In the embodiment, the version identification and the state information of the project in the Git server are used for determining the latest version and the rollback version of the project, the latest version of the project can be automatically released and rolled back without manually setting and selecting the version number by a user, the problem of high error rate in manual setting and selecting of the version number is solved, and the version releasing and rolling back efficiency and the version management reliability are improved. The user does not need to memorize the historical version number of the project, the burden of the user is reduced, the project can be released and returned by one key, the user operation is facilitated, the manpower maintenance cost is saved, and the threshold of the user is reduced. In addition, the user can still specify the version which the user desires to release or the version which the user desires to fall back to by providing the version identification, so that the flexibility of version management is improved. Due to the fact that version identification and state information (including successful release versions and failed release versions) of all released versions of the project are stored, the development process of files and catalogs in the project development process can be tracked, and convenience is brought to project developers. The above-described embodiments actually provide an intensive version management scheme that provides version management for mobile-side applications in addition to providing automatic publishing and rollback of Web items.
In the above embodiment, the context between versions of an item is determined using a version identification in the Git server, where the version identification of a later-created version of the item is greater than the version identification of a previously-created version. In another embodiment, the intelligent integrated version management device may generate and store a version number for the published versions, with which to determine the context between versions of the item. In other embodiments, the intelligent integrated version management device may record a deployment time for the published versions, with which to determine the context between the versions of the project.
Embodiments of the apparatus of the present invention are described below with reference to the accompanying drawings.
Fig. 4 schematically shows a block diagram of an intelligent integrated version management device according to an embodiment of the present invention.
Referring to fig. 4, an intelligent integrated version management apparatus 400 according to an embodiment of the present invention includes: a version determination module 401, a publishing module 402, a logging module 403, and a rollback module 404.
The version determination module 401 is configured to determine a latest version of an item in response to receiving a user issue command for the item. Wherein, under the condition that the user does not include version information in the issue command of the project, the version determining module 401 obtains the version information of the last created version of the project from the Git server; and determining whether the version information of the last created version is included in the version information of all versions of the locally recorded item, and if not, taking the last created version as the latest version of the item. In the case where the version information is included in the issue command of the user to the item, the version determination module 401 determines whether version information in the issue command is included in version information of all versions of the locally recorded item; and in response to determining that the version information in the release command is not included in the version information of all versions of the locally recorded item, searching whether a version corresponding to the version information in the release command exists in the Git server, and if so, taking the version corresponding to the version information in the release command as the latest version of the item.
The publishing module 402 is to pull the code of the latest version of the item from the Git server and publish the latest version of the item to the Web server after the latest version of the item is determined. In one embodiment, the publishing module 402 is further configured to obtain a download address of a latest version of the mobile-side application from the file server; and sending the download address of the latest version of the mobile-side application to the mobile device.
The recording module 403 is configured to locally record version information and state information corresponding to the latest version of the item after the latest version of the item is released; the version information is used for determining the context of the corresponding version and other versions of the project, and the state information is used for indicating whether the corresponding version is a stable version. Specifically, the recording module 403 is configured to set the state information of the latest version of the project to indicate stability, and save locally; and in response to receiving a user rollback command for the item, setting state information of a latest version of the item to indicate failure and saving locally.
The rollback module 404 is configured to determine a rollback version of an item based on locally recorded version information and state information and perform a rollback operation according to the rollback version of the item in response to receiving a user rollback command for the item. Wherein, under the condition that the user does not include version information in the rollback command for the project, the rollback module 404 obtains all stable versions of the project based on the locally recorded state information; based on the locally recorded version information, a stable version that is prior to and closest to the latest version of the item is selected among all stable versions of the item as a fallback version of the item. In the case that the version information is included in the rollback command of the user for the item, the rollback module 404 determines whether the version information in the rollback command is included in the version information of all versions of the locally recorded item; and in response to determining that the version information of all versions of the locally recorded item includes the version information in the rollback command, acquiring the status information of the version corresponding to the version information in the locally recorded rollback command, and if the acquired status information indicates that the version corresponding to the version information in the rollback command is a stable version, taking the version corresponding to the version information in the rollback command as the rollback version of the item.
For details that are not disclosed in the embodiment of the apparatus of the present invention, please refer to the above-mentioned embodiment of the intelligent integrated version management method of the present invention for the functional modules of the intelligent integrated version management device of the example embodiment of the present invention correspond to the steps of the above-mentioned example embodiment of the intelligent integrated version management method.
Referring now to FIG. 5, shown is a block diagram of a computer system 500 suitable for use in implementing an electronic device of an embodiment of the present invention. The computer system 500 of the electronic device shown in fig. 5 is only an example, and should not bring any limitation to the function and the scope of the use of the embodiments of the present invention.
As shown in fig. 5, the computer system 500 includes a Central Processing Unit (CPU)501 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM)502 or a program loaded from a storage section 508 into a Random Access Memory (RAM) 503. In the RAM 503, various programs and data necessary for system operation are also stored. The CPU501, ROM 502, and RAM 503 are connected to each other via a bus 504. An input/output (I/O) interface 505 is also connected to bus 504.
The following components are connected to the I/O interface 505: an input portion 506 including a keyboard, a mouse, and the like; an output portion 507 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage portion 508 including a hard disk and the like; and a communication section 509 including a network interface card such as a LAN card, a modem, or the like. The communication section 509 performs communication processing via a network such as the internet. The driver 510 is also connected to the I/O interface 505 as necessary. A removable medium 511 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 510 as necessary, so that a computer program read out therefrom is mounted into the storage section 508 as necessary.
In particular, according to an embodiment of the present invention, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the invention include a computer program product 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 may be downloaded and installed from a network through the communication section 509, and/or installed from the removable medium 511. The above-described functions defined in the system of the present application are executed when the computer program is executed by the Central Processing Unit (CPU) 501.
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 program products 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 units described in the embodiments of the present invention may be implemented by software, or may be implemented by hardware, and the described units may also be disposed in a processor. Wherein the names of the elements do not in some way constitute a limitation on the elements themselves.
As another aspect, the present application also provides a computer-readable medium, which may be contained in the electronic device described in the above embodiments; or may exist separately without being assembled into the electronic device. The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to implement the intelligent integrated version management method as described in the above embodiments.
For example, the electronic device may implement the following as shown in fig. 1: s11, determining the latest version of the project in response to receiving a command issued by a user to the project; s12, after the latest version of the project is determined, pulling a code of the latest version of the project from the Git server, and releasing the latest version of the project to the Web server; s13, after the latest version of the project is released, locally recording version information and state information corresponding to the latest version of the project; s14, in response to receiving a rollback command of a user for an item, determining a rollback version of the item based on locally recorded version information and state information, and performing rollback operation according to the rollback version of the item; and S15, acquiring the download address of the latest version of the mobile terminal application from the file server, and sending the download address of the latest version of the mobile terminal application to the mobile equipment.
It should be noted that although in the above detailed description several modules or units of the device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the invention. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiment of the present invention can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the embodiment of the present invention.
Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the invention and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.
It will be understood that the invention is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the invention is limited only by the appended claims.

Claims (10)

1. An intelligent integrated version management method, comprising:
in response to receiving a user's issuance command for an item, determining a latest version of the item;
after determining the latest version of the item, pulling the code of the latest version of the item from the Git server and releasing the latest version of the item to the Web server;
after the latest version of the project is released, locally recording version information and state information corresponding to the latest version of the project; the version information is used for determining the context of the corresponding version and other versions of the project, and the state information is used for indicating whether the corresponding version is a stable version;
in response to receiving a rollback command of a user for the item, determining a rollback version of the item based on locally recorded version information and state information, and performing a rollback operation according to the rollback version of the item.
2. The method of claim 1, wherein locally recording state information corresponding to a latest version of the item comprises:
setting state information of the latest version of the project to indicate stability and saving the state information locally;
in response to receiving a user rollback command for the item, state information of a latest version of the item is set to indicate failure and saved locally.
3. The method of claim 1 or 2, wherein determining a fallback version for the item based on locally recorded version information and state information comprises:
acquiring all stable versions of the project based on locally recorded state information;
selecting a stable version that is prior to and closest to the latest version of the item among all stable versions of the item as a fallback version of the item based on locally recorded version information.
4. The method of claim 1 or 2, wherein the rollback command for the item by the user includes version information, and wherein determining the rollback version of the item based on the locally recorded version information and the state information comprises:
determining whether version information in the rollback command is included in version information of all versions of the item recorded locally;
and in response to determining that the version information of all versions of the item recorded locally includes the version information in the rollback command, acquiring the status information of the version corresponding to the version information in the rollback command recorded locally, and if the acquired status information indicates that the version corresponding to the version information in the rollback command is a stable version, taking the version corresponding to the version information in the rollback command as the rollback version of the item.
5. The method of claim 1 or 2, wherein determining the latest version of the item in response to receiving a user issue command for the item comprises:
acquiring version information of a last created version of the project from the Git server;
and determining whether the version information of the last created version is included in the version information of all versions of the item recorded locally, and if not, taking the last created version as the latest version of the item.
6. The method of claim 1 or 2, wherein the version information is included in a user's issuance command for the item, and wherein, in response to receiving the user's issuance command for the item, determining the most recent version of the item comprises:
determining whether version information in the release command is included in version information of all versions of the item recorded locally;
and in response to determining that the version information in the issued command is not included in the version information of all versions of the item recorded locally, searching whether the Git has a version corresponding to the version information in the issued command, and if so, taking the version corresponding to the version information in the issued command as the latest version of the item.
7. The method according to claim 1 or 2, characterized in that the method further comprises:
acquiring a download address of the latest version of the mobile terminal application from a file server;
and sending the download address of the latest version of the mobile terminal application to the mobile equipment.
8. An intelligent integrated version management device, comprising:
the version determining module is used for determining the latest version of the item in response to receiving a user issuing command of the item;
the release module is used for pulling the code of the latest version of the project from the Git server after the latest version of the project is determined, and releasing the latest version of the project to the Web server;
the recording module is used for locally recording version information and state information corresponding to the latest version of the project after the latest version of the project is released; the version information is used for determining the context of the corresponding version and other versions of the project, and the state information is used for indicating whether the corresponding version is a stable version;
and the rollback module is used for responding to the received rollback command of the user to the item, determining the rollback version of the item based on the locally recorded version information and the state information, and performing rollback operation according to the rollback version of the item.
9. A computer-readable medium, on which a computer program is stored which, when being executed by a processor, carries out the method according to any one of claims 1 to 7.
10. An electronic device, comprising:
one or more processors;
storage means for storing one or more computer programs that, when executed by the one or more processors, cause the electronic device to implement the method of any of claims 1-7.
CN201911130928.0A 2019-11-19 2019-11-19 Intelligent integrated version management method, device, medium and electronic equipment Active CN111104125B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911130928.0A CN111104125B (en) 2019-11-19 2019-11-19 Intelligent integrated version management method, device, medium and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911130928.0A CN111104125B (en) 2019-11-19 2019-11-19 Intelligent integrated version management method, device, medium and electronic equipment

Publications (2)

Publication Number Publication Date
CN111104125A true CN111104125A (en) 2020-05-05
CN111104125B CN111104125B (en) 2023-09-08

Family

ID=70420603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911130928.0A Active CN111104125B (en) 2019-11-19 2019-11-19 Intelligent integrated version management method, device, medium and electronic equipment

Country Status (1)

Country Link
CN (1) CN111104125B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113190248A (en) * 2021-04-28 2021-07-30 绿盟科技集团股份有限公司 Virtualization-based web system upgrade test method and server
CN117270943A (en) * 2023-09-15 2023-12-22 上海子虔科技有限公司 Cloud application file version management system and method based on metadata

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020073110A1 (en) * 2000-12-12 2002-06-13 Edouard Duvillier Version collection technique implemented on an intrinsic versioning information storage and retrieval system
US8341590B1 (en) * 2007-12-12 2012-12-25 Accurev, Inc. System for relating workflow status to code component status in a software project
WO2014027479A1 (en) * 2012-08-13 2014-02-20 日本電気株式会社 Management system, and management device as well as management method and management program used therein
CN103761612A (en) * 2014-01-09 2014-04-30 北京奇虎科技有限公司 Project release method and system
US20160026452A1 (en) * 2014-07-23 2016-01-28 Verizon Patent And Licensing Inc. Efficient deployment of application revisions and implementation of application rollbacks across multiple application servers
US9372686B1 (en) * 2014-12-24 2016-06-21 Google Inc. Maintaining package repositories
CN105897863A (en) * 2016-03-28 2016-08-24 努比亚技术有限公司 Rollback method and apparatus for upgraded mobile terminal version
CN106445488A (en) * 2016-07-01 2017-02-22 厦门易名科技股份有限公司 Code release and backspacing methods
CN106547584A (en) * 2015-09-23 2017-03-29 中国移动通信集团浙江有限公司 A kind of backing method and device of application program
CN107015842A (en) * 2017-03-31 2017-08-04 武汉票据交易中心有限公司 A kind of management method and system of server compiling and issue
CN107506194A (en) * 2017-08-24 2017-12-22 北京百悟科技有限公司 Application version, which retracts, determines method and device
CN107548085A (en) * 2016-06-24 2018-01-05 中兴通讯股份有限公司 Base station edition backing method and system
CN108196878A (en) * 2018-01-22 2018-06-22 广东小天才科技有限公司 Generation method, device, electronic equipment and the storage medium of application program installation kit
CN109144524A (en) * 2018-07-25 2019-01-04 深圳点猫科技有限公司 The version dissemination method and electronic equipment of subject game on a kind of teaching platform
US20190243640A1 (en) * 2018-02-02 2019-08-08 Bank Of America Corporation Smart tool for enterprise-wide version control of codes during software integration and deployment
CN110389773A (en) * 2018-04-23 2019-10-29 比亚迪股份有限公司 Software publication and dispositions method, apparatus and system

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020073110A1 (en) * 2000-12-12 2002-06-13 Edouard Duvillier Version collection technique implemented on an intrinsic versioning information storage and retrieval system
US8341590B1 (en) * 2007-12-12 2012-12-25 Accurev, Inc. System for relating workflow status to code component status in a software project
WO2014027479A1 (en) * 2012-08-13 2014-02-20 日本電気株式会社 Management system, and management device as well as management method and management program used therein
CN103761612A (en) * 2014-01-09 2014-04-30 北京奇虎科技有限公司 Project release method and system
US20160026452A1 (en) * 2014-07-23 2016-01-28 Verizon Patent And Licensing Inc. Efficient deployment of application revisions and implementation of application rollbacks across multiple application servers
US9372686B1 (en) * 2014-12-24 2016-06-21 Google Inc. Maintaining package repositories
CN106547584A (en) * 2015-09-23 2017-03-29 中国移动通信集团浙江有限公司 A kind of backing method and device of application program
CN105897863A (en) * 2016-03-28 2016-08-24 努比亚技术有限公司 Rollback method and apparatus for upgraded mobile terminal version
CN107548085A (en) * 2016-06-24 2018-01-05 中兴通讯股份有限公司 Base station edition backing method and system
CN106445488A (en) * 2016-07-01 2017-02-22 厦门易名科技股份有限公司 Code release and backspacing methods
CN107015842A (en) * 2017-03-31 2017-08-04 武汉票据交易中心有限公司 A kind of management method and system of server compiling and issue
CN107506194A (en) * 2017-08-24 2017-12-22 北京百悟科技有限公司 Application version, which retracts, determines method and device
CN108196878A (en) * 2018-01-22 2018-06-22 广东小天才科技有限公司 Generation method, device, electronic equipment and the storage medium of application program installation kit
US20190243640A1 (en) * 2018-02-02 2019-08-08 Bank Of America Corporation Smart tool for enterprise-wide version control of codes during software integration and deployment
CN110389773A (en) * 2018-04-23 2019-10-29 比亚迪股份有限公司 Software publication and dispositions method, apparatus and system
CN109144524A (en) * 2018-07-25 2019-01-04 深圳点猫科技有限公司 The version dissemination method and electronic equipment of subject game on a kind of teaching platform

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113190248A (en) * 2021-04-28 2021-07-30 绿盟科技集团股份有限公司 Virtualization-based web system upgrade test method and server
CN117270943A (en) * 2023-09-15 2023-12-22 上海子虔科技有限公司 Cloud application file version management system and method based on metadata

Also Published As

Publication number Publication date
CN111104125B (en) 2023-09-08

Similar Documents

Publication Publication Date Title
US11714629B2 (en) Software dependency management
CN111339186B (en) Workflow engine data synchronization method, device, medium and electronic equipment
CN108874558B (en) Message subscription method of distributed transaction, electronic device and readable storage medium
CN109359194B (en) Method and apparatus for predicting information categories
CN104572069A (en) Real-time, distributed administration of information describing dependency relationships among configuration items in a data center
CN112256315A (en) Upgrading method, device, equipment and storage medium
CN112764792B (en) Method and device for upgrading associated server version application and electronic equipment
CN111104125B (en) Intelligent integrated version management method, device, medium and electronic equipment
CN113377342B (en) Project construction method and device, electronic equipment and storage medium
CN112596956B (en) File system management method, device and related components
US20170109331A1 (en) Managing changes to a document in a revision control system
CN112328272B (en) Algorithm upgrading method, device, equipment and storage medium
CN113296796A (en) Project release method, device, system, storage medium and electronic equipment
CN113220279A (en) Code index management method, device, equipment and medium
CN115982148A (en) Database table processing method and device, electronic equipment and storage medium
CN110795259A (en) Method and device for analyzing application collapse
CN115291928A (en) Task automatic integration method and device of multiple technology stacks and electronic equipment
CN111125503A (en) Method and apparatus for generating information
CN110674024A (en) Electronic equipment integration test system and method thereof
CN114189750A (en) Playing method of multi-format file and related device
CN113821249A (en) Project development configuration method and device, electronic equipment and readable storage medium
CN110413165B (en) Icon configuration method and device, electronic equipment and computer readable medium
CN113448614A (en) Software project code management method and device, storage medium and electronic equipment
CN113742321A (en) Data updating method and device
CN113760695A (en) Method and device for positioning problem code

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant