Version management system and version management method

By working together between cloud and ground servers, version updates of the hybrid cloud system are managed automatically, solving the problem of version inconsistency in multi-tenant environments, achieving automation and compatibility of version management, and ensuring the normal operation of application services.

CN114756275BActive Publication Date: 2026-02-13DIGIWIN SOFTWARE CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210377128.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-12
Publication Date
2026-02-13
Estimated Expiration
2042-04-12

AI Technical Summary

Technical Problem

In multi-tenant hybrid cloud systems, inconsistent application programming interface (API) version updates in the ground environment lead to high version management difficulty, affect system iteration speed, and prevent the entire system from updating in a timely manner due to the inability of some tenants to update in a timely manner.

Method used

By employing the collaborative work of cloud servers and ground servers, and through cloud version update modules, configuration repositories, and configuration management modules, version updates of cloud and ground application interfaces are automatically managed to ensure version consistency and compatibility.

Benefits of technology

It enables automated version management in hybrid cloud systems, ensuring the normal operation of application services for different tenants, reducing the management difficulty of version iteration and the overall iteration speed of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114756275B_ABST
    Figure CN114756275B_ABST
Patent Text Reader

Abstract

The application provides a version management system and a version management method. The version management system comprises a cloud server and a local server. When a first cloud application program interface corresponding to a first local application program interface of a first tenant is updated from a first version to a second version, a cloud version update module publishes first configuration data to be version-updated to a configuration repository. When the cloud version update module determines that the first local application program interface corresponding to the first tenant is updated from the first version to the second version through the local version update module, the cloud version update module updates a cloud version correspondence table. When the cloud server calls the first cloud application program interface corresponding to the first tenant, a cloud configuration management module loads the first configuration data to be version-updated from the configuration repository according to the cloud version correspondence table, so that the cloud server executes the first cloud application program interface of the second version.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to a software management technology, in particular to a version management system and a version management method. BACKGROUND

[0002] A common problem of the current hybrid cloud system supporting multi-tenancy is version management. Due to inconsistent version update pace of application program interfaces corresponding to different tenant local environments, the application program interfaces of the local environment have multiple versions coexist for a period of time, and even the application program interfaces of some tenant local products may not be updated for a long time. From another perspective, in the hybrid cloud system supporting multi-tenancy, the application program services (application program interfaces) in the cloud are generally difficult to be updated without limitation in the case of relying on the local to realize the business function. If the implementation of the new version function of the application program interface in the cloud depends on the implementation of the application program interface in the local, all tenant local systems need to complete version update, and the overall system is considered to complete version update. However, if the overall system cannot be updated in time due to the failure of some tenants to update the application program interface in time, the tenant that updates the version first cannot use the function of the new version of the application program interface. Even, it also causes the management difficulty of the overall version update of the multi-tenant hybrid cloud system to be high, which greatly affects the version iteration speed of the system. SUMMARY

[0003] The present application is directed to a version management system and a version management method, which can realize the automatic version management function of the cloud application program interface and the local application program interface of the hybrid cloud system.

[0004] According to the embodiment of the present application, the version management system of the present application includes a cloud server and a local server. The cloud server includes and executes a cloud version update module, a configuration repository and a cloud configuration management module. The local server includes and executes, and is connected with the cloud server. When the first cloud application program interface corresponding to the first local application program interface of the first tenant is updated from the first version to the second version, the cloud version update module publishes the first configuration data to be version updated to the configuration repository. When the cloud version update module judges that the first local application program interface corresponding to the first tenant is updated from the first version to the second version through the local version update module, the cloud version update module updates the cloud version correspondence table. When the cloud server calls the first cloud application program interface corresponding to the first tenant, the cloud configuration management module loads the first configuration data to be version updated from the configuration repository according to the cloud version correspondence table, so that the cloud server executes the first cloud application program interface of the second version.

[0005] According to an embodiment of the present application, the version management method of the present application is applicable to a cloud server and an on-premise server. The cloud server comprises and executes a cloud version update module, a configuration repository and a cloud configuration management module. The on-premise server comprises and executes an on-premise version update module. The version management method comprises the following steps: when a first cloud application program interface corresponding to a first local application program interface of a first tenant is updated from a first version to a second version, publishing, by the cloud version update module, first configuration data to be version-updated to the configuration repository; when the cloud version update module judges, by the on-premise version update module, that the first cloud application program interface corresponding to the first local application program interface of the first tenant is updated from the first version to the second version, updating, by the cloud version update module, a cloud version correspondence table; and when the cloud server invokes the first cloud application program interface corresponding to the first tenant, loading, by the cloud configuration management module, the first configuration data to be version-updated from the configuration repository according to the cloud version correspondence table, so that the cloud server executes the first cloud application program interface of the second version.

[0006] Based on the above, the version management system and the version management method of the present application can automatically and effectively manage the service software version of the hybrid cloud system.

[0007] In order to make the above features and advantages of the present application more obvious and easy to understand, the following embodiments are described in detail below, and the accompanying drawings are described as follows. BRIEF DESCRIPTION OF DRAWINGS

[0008] Figure 1 is a schematic diagram of a version management system of an embodiment of the present application;

[0009] Figure 2 is a flowchart of a version management method of an embodiment of the present application;

[0010] Figure 3 is an implementation schematic diagram of a version management of an embodiment of the present application;

[0011] Figure 4 is a flowchart of a pre-preparation of a version update of an embodiment of the present application.

[0012] REFERENCE SIGNS

[0013] 100: version management system;

[0014] 110: cloud server;

[0015] 111: cloud version update module;

[0016] 111_1: version synchronization unit;

[0017] 111_2: version switching unit;

[0018] 111_3: configuration publishing unit;

[0019] 112: configuration repository;

[0020] 113: cloud configuration management module;

[0021] 113_1: configuration loading unit;

[0022] 113_2: configuration version management unit;

[0023] 120: local server;

[0024] 121, 122, 123: local version update module;

[0025] 121_1, 122_1, 123_1: local service registration unit;

[0026] 121_2, 122_2, 123_2: application version management unit;

[0027] 311, 312: cloud application program interface;

[0028] 321, 322, 323: local application program interface;

[0029] S210-S230, S410-S430: steps. DETAILED DESCRIPTION

[0030] Reference will now be made in detail to exemplary embodiments of the present application, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the description to refer to the same or like parts.

[0031] Figure 1 is a schematic diagram of a version management system of an embodiment of the present application. Reference is made to Figure 1The version management system 100 includes a cloud server 110 and an on-premise server 120. The cloud server 110 is coupled to the on-premise server 120 and forms a hybrid cloud architecture. In the present embodiment, the cloud server 110 includes a cloud version update module 111, a configuration repository 112, and a cloud configuration management module 113, and the cloud server 110 can further include and / or execute one or more application services corresponding to one or more cloud application programming interfaces (APIs). The configuration repository 112 is a database. The on-premise server 120 includes an on-premise version update module 121, and the on-premise server 120 can further include and / or execute one or more application services corresponding to one or more on-premise APIs. It is worth noting that the number of on-premise version update modules is not limited to Figure 1 As shown in FIG. 1, the on-premise server 120 includes a plurality of on-premise version update modules 121. For example, if the on-premise includes a plurality of tenants, each tenant end is correspondingly provided with an on-premise version update module.

[0032] In the present embodiment, when the software version of a cloud API is updated, the cloud version update module 111 can publish the configuration data to be versioned to the configuration repository 112, so that the configuration repository 112 can store the configuration data of the cloud API to be versioned, and also retain the configuration data of the previous version of the cloud API. Also, when the software version of an on-premise API is updated, the on-premise version update module 121 can update the on-premise version correspondence table, and the cloud version update module 111 can synchronously update the cloud version correspondence table, so that the version record information of the on-premise version correspondence table and the cloud version correspondence table are consistent.

[0033] In this way, when a service invoker invokes the application service of the cloud, the cloud configuration management module 113 can load the configuration data to be version-updated from the configuration repository 112, so that the cloud server 110 can execute the updated version of the cloud application interface, and the local server 120 can execute the updated version of the local application interface. Therefore, the updated versions of the cloud application interface and the local application interface can be correctly connected to provide the application service corresponding to a certain tenant. It is worth noting that the aforementioned "service invoker" can refer to a client (such as a web page, an App end user executing a certain front-end operation to initiate a back-end service call), or can also be a service call executed by another application service in the server (including a local application and a cloud application). For example, the cloud has a supplier information query service, which can be a client-initiated operation of querying supplier information to call the cloud service to obtain related data, or can also be a supplier information query service called by another supplier notification service in the cloud to obtain the contact information before sending a notification in the execution process.

[0034] More importantly, if the version of the local application interface of another tenant has not been updated, since the configuration repository 112 still retains the configuration data of the previous version, the cloud configuration management module 113 can load the configuration data of the previous version from the configuration repository 112, so that the cloud server 110 can execute the previous version of the cloud application interface. Therefore, the cloud application interface and the local application interface can still be connected in the previous version and provide the application service corresponding to the other tenant. At this point, if the cloud application interface has a downward compatibility function, the service version is increased after upgrading, but the same application interface is still implemented. Otherwise, if the cloud application interface cannot be downward compatible, a new application interface is defined after upgrading. Defining a new application interface is only one implementation manner, and the specific embodiments of the present application can also not define a new application interface, but deploy different services in multiple devices to implement the same application interface, and then distribute according to the version used by the tenant by means of routing.

[0035] In the embodiment, the cloud server 110 and the local server 120 can respectively include one or more servers, and are not limited to Figure 1 as shown. Figure 1The cloud server 110 shown is used for a public cloud environment, and the ground server 120 is used for a private cloud environment. The cloud server 110 and the ground server 120 may each include a processor and a storage device. The processor may include, for example, a Central Processing Unit (CPU), or other programmable general-purpose or special-purpose microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), programmable logic devices (PLDs), other similar processing circuits, or combinations of these devices. The storage device may include memory and / or a database, wherein the memory may be, for example, non-volatile memory (NVM). The storage module may store relevant programs, modules, systems, or algorithms for implementing the embodiments of the present invention, for the processor to access and execute to implement the relevant functions and operations described in the embodiments of the present invention. In this embodiment, the cloud version update module 111, configuration repository 112, cloud configuration management module 113, and local version update module 121 may be implemented, for example, in programming languages ​​such as JSON (JavaScript Object Notation), Extensible Markup Language (XML), or YAML, but the present invention is not limited thereto. In one embodiment, the local environment of the version management system 100 may, for example, consist of multiple servers corresponding to multiple private clouds of multiple tenants, and at least one of the multiple servers may be equipped with the local version update module 121 to manage multiple local application interfaces running on the multiple servers.

[0036] Figure 2 This is a flowchart of a version management method according to an embodiment of the present invention. Figure 3 This is a schematic diagram illustrating an embodiment of version management according to the present invention. (Reference) Figures 1 to 3, the cloud version update module 111 can include a version synchronization unit 111_1, a version switching unit 111_2, and a configuration publishing unit 111_3. The first tenant can be provided with a local version update module 121. The second tenant can be provided with a local version update module 122. The third tenant can be provided with a local version update module 123. The local version update modules 121-123 can include a local service registration unit 121_1-123_1 and an application version management unit 121_2-123_2. In the present embodiment, the version management system 100 can perform version management as in steps S210-S230. In step S210, when the (first) cloud application program interface corresponding to the first local application program interface 321 of the first tenant is updated from a first version (old) to a second version (new), the cloud version update module 111 publishes the configuration data to be version-updated to the configuration repository 112. Also, the configuration repository 112 simultaneously saves the configuration data of the cloud application program interface of the first version. In the present embodiment, the configuration publishing unit 111_3 of the cloud version update module 111 can publish the configuration data to be version-updated to the configuration repository 112. When the local application program interfaces 321, 323 corresponding to the first tenant and the third tenant are updated from the first version to the second version, the local service registration units 121_1, 123_1 can register the local application program interfaces 321, 323 corresponding to the second version of the first tenant and the third tenant, and the application version management units 121_2, 123_2 update the respective local version correspondence tables. The local version correspondence table can be as shown in Table 1 below. The local version correspondence table can record the current version information of the local application program interfaces of the application services corresponding to the first tenant, the second tenant, and the third tenant, and can also record the current version information of the local application program interfaces of other applications corresponding to the first tenant, the second tenant, and the third tenant. The version management system and method of the present application can realize the version management function of multiple application program interfaces corresponding to different tenants and different application services in a hybrid cloud system.

[0037] tenant application service other application service first tenant second version first version second tenant first version third version third tenant second version second version

[0038] Table 1

[0039] At step S220, when the cloud version updating module 111 judges that the (first) local application program interface 321 (and the (third) local application program interface 323) corresponding to the first tenant (and the third tenant) is updated from the first version to the second version by the local version updating module 121, the cloud version updating module 111 updates the cloud version corresponding table. The version synchronization unit 111_1 of the cloud version updating module 111 can detect the version of the local application program interfaces 321-323 to judge whether the corresponding cloud application program interface satisfies the switching condition. For this, the switching condition is that the version number of all local application program interfaces relied on by the corresponding cloud application program interface is equal to or higher than the version number required by the corresponding cloud application program interface. For example, it is assumed that the cloud application program interface A calls the local application program interfaces B1 and B2. For this, when the version of the cloud application program interface A is A_v05 version, the version of the local application program interface B1 needs to be B1_v03 version, and the version of the local application program interface B2 needs to be B2_v04 version. When the version of the cloud application program interface A is A_v06 version, the version of the local application program interface B1 needs to be B1_v04 version, and the version of the local application program interface B2 needs to be B2_v04 version. When the version of the cloud application program interface A is A_v07 version, the version of the local application program interface B1 needs to be B1_v05 version, and the version of the local application program interface B2 needs to be B2_v05 version. At this time, the version of the cloud application program interface A that can be used can be determined according to the versions of the local application program interfaces B1 and B2 of different tenants. For example, when the version of the local application program interface B1 is B1_v03 version, and the version of the local application program interface B2 is B2_v04 version, the version of the cloud application program interface A that can be used is A_v05 version. When the version of the local application program interface B1 is B1_v04 version, and the version of the local application program interface B2 is B2_v05 version, the version of the cloud application program interface A that can be used is A_v06 version. For this, although the version B2_v05 of the local application program interface B2 is actually higher than the version B2_v04 required by the A_v06 version of the cloud application program interface A, since the version of the local application program interface B1 relied on by the A_v07 version of the cloud application program interface A needs to be B1_v05 version, but the current version of the local application program interface B1 is only B1_v04 version, the cloud application program interface A cannot use the A_v07 version, but can only use the A_v06 version. In addition, in other embodiments of the present application, the switching condition can also be that the application program version of one application program on the ground uniformly controls the versions of multiple local application program interfaces.That is, if a version update is required for the ground-side application service of a certain tenant, the related interfaces must be upgraded together, and a uniform application version number is used to represent the version of this set of interfaces.

[0040] In this embodiment, when the cloud-side application interface satisfies the switching condition, the version switching unit 111_2 updates the cloud-side version correspondence table. The cloud-side version correspondence table can be as shown in Table 2 below. The cloud-side version correspondence table can record the current version information of the cloud-side application interface of the application service corresponding to the first tenant, the second tenant, and the third tenant, and can also record the current version information of the cloud-side application interface of other applications corresponding to the first tenant, the second tenant, and the third tenant. It should be noted that the ground-side version correspondence table and the cloud-side version correspondence table are updated when the local application interface on the ground side and the cloud-side application interface on the cloud side are updated, respectively, and the version information recorded by the two is consistent.

[0041]

[0042]

[0043] Table 2

[0044] In this embodiment, the cloud-side application interface can be updated from the first version to the second version first, and then the local application interfaces 321, 323 are updated from the first version to the second version. Alternatively, in an embodiment, the local application interfaces 321, 323 can be updated from the first version to the second version first, and then the cloud-side application interface is updated from the first version to the second version. In other words, the present application does not limit the order of version update of the application interfaces on the cloud side and the ground side.

[0045] In step S230, when the cloud server 110 calls the cloud-side application interface 312 (of the second version) corresponding to the first tenant, the cloud configuration management module 113 can load the configuration data to be version-updated from the configuration repository 112 according to the cloud-side version correspondence table, so that the cloud server 110 executes the cloud-side application interface 312 of the second version. In this embodiment, the configuration version management unit 113_2 of the cloud configuration management module 113 can read the configuration data in the configuration repository 112, and the configuration loading unit 113_1 can load this configuration data. Therefore, the cloud server 110 can execute the cloud-side application interface 312 of the second version, and the ground server 120 can execute the local application interface 321 (and the local application interface 323) of the second version corresponding to the first tenant (and the third tenant). Therefore, the cloud-side application interface 312 (and the local application interface 321) of the second version can be correctly connected to provide the corresponding application service function.

[0046] When the cloud server 110 invokes the cloud application interface 311 corresponding to the second tenant, the cloud configuration management module 113 can load the configuration data of the previous version from the configuration repository 112 according to the cloud version correspondence table, so that the cloud server 110 executes the cloud application interface 311 of the first version. Therefore, the cloud server 110 can execute the cloud application interface 311 of the first version, and the local server 120 can execute the local application interface 322 corresponding to the second tenant, which is also of the first version. Therefore, the cloud application interface 311 and the local application interface 322, which are both of the first version, can be correctly connected to provide corresponding application service functions. In this way, the version management system 100 of the present embodiment can simultaneously support different versions of the local application interface used by different tenants, so that the application service will not be affected by the different versions of the local application interface used by different tenants and cannot be executed.

[0047] Figure 4 is a flowchart of the pre-preparation of version update of an embodiment of the present application. Referring to Figure 1 and Figure 4 , the version management system 100 can perform pre-preparation of version update such as steps S410-S430 in advance. In step S410, the version management system 100 (or executed by the user) can perform application interface version list maintenance to monitor and update the version information of the application interface in real time. In step S420, the version management system 100 (or executed by the user) can make cloud update packages and images. For this purpose, the cloud configuration part in the application development results can be packaged, and the cloud service can be packaged into an image to prepare for the cloud version. The cloud update package should contain all the cloud application interfaces and configuration data in the application service to be versioned. In step S430, the version management system 100 (or executed by the user) can make a local product update package. For this purpose, the local program files related to the local application interface in the application service to be versioned and other product running dependent files can be packaged into a product update package to prepare for the local version. In this way, the cloud server 110 and the local server 120 (or executed by the user) can respectively perform automatic or manual version update operation according to the cloud update package and the local product update package.

[0048] In summary, the version management system and the version management method of the present application can automatically determine whether the versions of the cloud application interface and the local application interface are updated and consistent, to determine the software version of the cloud application interface executed by the cloud server when invoking the application service, so that the hybrid cloud system can still normally provide the application service function in the case of inconsistent version update of the application interface in the cloud and the local of the hybrid cloud system.

[0049] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, and are not intended to limit the present application; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that the technical solutions described in the foregoing embodiments can still be modified, or some or all of the technical features can be replaced by equivalents; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A version management system, characterized by, The cloud server comprises and executes a cloud version updating module, a configuration repository and a cloud configuration management module. The ground server comprises and executes a ground version updating module, and is connected to the cloud server. When a first cloud application program interface corresponding to a first local application program interface of a first tenant is updated from a first version to a second version, the cloud version updating module publishes first configuration data to be version-updated to the configuration repository. When the cloud version updating module determines that the first cloud application program interface corresponding to the first local application program interface of the first tenant is updated from the first version to the second version through the ground version updating module, the cloud version updating module updates a cloud version correspondence table. When the cloud server invokes the first cloud application program interface corresponding to the first tenant, the cloud configuration management module loads the first configuration data to be version-updated from the configuration repository according to the cloud version correspondence table, so that the cloud server executes the first cloud application program interface as the second version. When a second cloud application program interface corresponding to a second local application program interface of a second tenant maintains a first version, and the second cloud application program interface corresponding to the second tenant is invoked, the cloud configuration management module loads second configuration data from the configuration repository according to the cloud version correspondence table, so that the cloud server executes the second cloud application program interface as the first version. The cloud version updating module comprises: a configuration publishing unit configured to publish the first configuration data to be version-updated to the configuration repository; 2. The version management system of claim 1, wherein, a version synchronizing unit configured to detect a version of the first local application program interface to determine whether the first cloud application program interface meets a switching condition; and a version switching unit configured to update the cloud version correspondence table when the first cloud application program interface meets the switching condition. The switching condition is that version numbers of all local application program interfaces on which the first cloud application program interface depends are equal to or higher than a version number required by the first cloud application program interface. The ground version updating module updates a ground version correspondence table when the first local application program interface of the tenant is updated from the first version to the second version.

3. The version management system of claim 2, wherein, The ground version updating module comprises:

4. The version management system of claim 1, wherein, a ground service registration unit configured to register the first local application program interface as the second version when the first local application program interface corresponding to the first tenant is updated from the first version to the second version; and 5. The version management system of claim 4, wherein, an application version management unit configured to update the ground version correspondence table when the registration of the first local application program interface as the second version is performed. The first cloud application program interface is updated from the first version to the second version, and then the first local application program interface is updated from the first version to the second version. ​ 6. The version management system of claim 1, wherein, ​ 7. The version management system of claim 1, wherein, The first local application interface is first updated from the first version to the second version, and then the first cloud application interface is updated from the first version to the second version.

8. A version management method characterized by, The cloud server comprises and executes a cloud version update module, a configuration repository and a cloud configuration management module, and the ground server comprises and executes a ground version update module, wherein the version management method comprises: When a first cloud application interface corresponding to a first local application interface of a first tenant is updated from a first version to a second version, the cloud version update module publishes first configuration data to be version-updated to the configuration repository; When the cloud version update module determines, through the ground version update module, that the first local application interface corresponding to the first tenant is updated from the first version to the second version, the cloud version update module updates a cloud version correspondence table; When the cloud server invokes the first cloud application interface corresponding to the first tenant, the cloud configuration management module loads the first configuration data to be version-updated from the configuration repository according to the cloud version correspondence table, so that the cloud server executes the first cloud application interface as the second version; and When a second cloud application interface corresponding to a second local application interface of a second tenant maintains a first version, and the cloud server invokes the second cloud application interface corresponding to the second tenant, the cloud configuration management module loads second configuration data from the configuration repository according to the cloud version correspondence table, so that the cloud server executes the second cloud application interface as the first version.

9. The version management method of claim 8, wherein, The step of updating the cloud version correspondence table by the cloud version update module comprises: Detecting a version of the first local application interface to determine whether the first cloud application interface meets a switching condition; and When the first cloud application interface meets the switching condition, updating the cloud version correspondence table.

10. The version management method of claim 9, wherein, The switching condition is that version numbers of all local application interfaces on which the first cloud application interface depends are equal to or higher than a version number required by the first cloud application interface.

11. The version management method of claim 9, wherein, Further comprising: When the first local application interface of the tenant is updated from the first version to the second version, the ground version update module updates a ground version correspondence table.

12. The version management method of claim 11, wherein, The step of updating the ground version correspondence table by the ground version update module comprises: When the first local application interface corresponding to the first tenant is updated from the first version to the second version, registering the first local application interface as the second version; and When the registration of the first local application interface as the second version is performed, updating the ground version correspondence table.

13. The version management method of claim 8, wherein, The first cloud application interface is updated from the first version to the second version first, and then the first local application interface is updated from the first version to the second version.

14. The version management method of claim 8, wherein, The first local application interface is updated from the first version to the second version first, and then the first cloud application interface is updated from the first version to the second version.

Citation Information

Patent Citations

  • Remote firmware updating method for embedded equipment

    CN110413295A