Application update method and related equipment

By generating remote user application tokens, the application version updates are solved, and the application version is updated frequently and version inconsistent in multi-tenant mode is achieved, and the application is automatically updated and version consistency is improved, which improves the user experience.

CN114020313BActive Publication Date: 2024-12-20CCB FINTECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202111416114.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-25
Publication Date
2024-12-20
Estimated Expiration
2041-11-25

AI Technical Summary

Technical Problem

In the multi-tenant mode, application version updates frequently, resulting in inconsistent front-end and back-end versions, affecting user experience, and the existing technology is difficult to meet tenant privatization needs and version compatibility issues.

Method used

By obtaining global application version information and identity information, generate remote user application tokens, compare tokens to automatically update sub-apps, ensure that the terminal application is consistent with the server version, reduce the frequency of updates, and avoid version compatibility issues.

Benefits of technology

It realizes that the user terminal automatically updates the application in the multi-tenant mode, reduces the frequency of version updates, keeps the version of the front-end and back-end application consistent, meets the needs of tenants' privatization and improves user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114020313B_ABST
    Figure CN114020313B_ABST
Patent Text Reader

Abstract

The present application discloses an application update method and related equipment. The method is applied to a software as an application (SaaS) server, and includes: obtaining global application version information and a global application version check value corresponding to the global application version information; determining remote user application version information from the global application version information based on the identity information of the logged-in user sent by the terminal; generating a remote user application version check value based on the remote user application version information; generating a remote user application token based on the global application version check value, the remote user application version check value, and the remote user application version information; sending the remote user application token to the terminal, so that the terminal updates the sub-application information when the remote user application token is inconsistent with the local user application token. In this way, in a multi-tenant mode, the user terminal can automatically update the application, reduce the frequency of application version updates, and keep the front-end and back-end application versions consistent.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of cloud computing technology, and in particular, relates to an application update method and related equipment. Background Art

[0002] With the continuous development of cloud computing technology, Software as a Service (SaaS) as a software layout model of cloud computing has been widely used in the industry. Simply put, regardless of the size of the enterprise, it can rent software services from SaaS suppliers according to actual needs.

[0003] In fact, the main difference between SaaS and traditional software service technology is the multi-tenant model. The multi-tenant model means that, ideally, all tenants share the same software and hardware environment, and software upgrades only need to be released once to take effect in all tenants' environments. However, tenants often have personalized requirements for application functions, so SaaS providers need to customize application functions according to tenants' needs to meet tenants' application privatization needs. In this way, SaaS providers frequently release application versions to tenants' corresponding terminals through the server, resulting in frequent updates of applications corresponding to each tenant. Summary of the invention

[0004] In view of this, the embodiments of the present application provide an application update method, apparatus, computer device, and computer storage medium, which can enable user terminals to automatically update applications in a multi-tenant mode, reduce the frequency of application version updates, and keep the front-end and back-end application versions consistent.

[0005] In a first aspect, an embodiment of the present application provides an application update method, which is applied to a software as an application (SaaS) server. The application update method may include:

[0006] Obtaining global application version information and a global application version verification value corresponding to the global application version information, where the global application version information includes information about each sub-application in a SaaS application corresponding to at least one user;

[0007] Based on the identity information of the logged-in user sent by the terminal, determine the remote user application version information from the global application version information, where the remote user application version information includes the sub-application information corresponding to the identity information;

[0008] Generate a remote user application version check value based on the remote user application version information;

[0009] Generate a remote user application token based on the global application version check value, the remote user application version check value and the remote user application version information;

[0010] The remote user application token is sent to the terminal, so that the terminal updates the sub-application information when the remote user application token is inconsistent with the local user application token.

[0011] In a second aspect, an embodiment of the present application provides another method for applying an update method, which is applied to a terminal. The application updating method may include:

[0012] Send the login user's identity information to the SaaS application server;

[0013] Obtain a remote user application token from the SaaS application server; the remote user application token is generated based on a global application version check value, a user application version check value, and remote user application version information;

[0014] When the remote user application token is inconsistent with the local user application token, the sub-application is updated.

[0015] In a third aspect, the embodiment of the present application also provides a method application update device, which is applied to a SaaS server. The update device may include:

[0016] A global verification acquisition module, used to obtain global application version information and a global application version verification value corresponding to the global application version information, wherein the global application version information includes information of each sub-application in a SaaS application corresponding to at least one user;

[0017] A remote information determination module, configured to determine remote user application version information from global application version information based on the identity information of the logged-in user sent by the terminal, wherein the remote user application version information includes sub-application information corresponding to the identity information;

[0018] A remote verification generation module, used to generate a remote user application version verification value based on the remote user application version information;

[0019] A remote token generation module, configured to generate a remote user application token based on the global application version check value, the remote user application version check value and the remote user application version information;

[0020] The token sending module is used to send the remote user application token to the terminal, so that the terminal updates the sub-application information when the remote user application token is inconsistent with the local user application token.

[0021] In a fourth aspect, the embodiment of the present application further provides another method application updating device, which is applied to a terminal. The updating device may include:

[0022] The request sending module is used to send the identity information of the logged-in user to the SaaS application server.

[0023] The remote token acquisition module is used to obtain the remote user application token from the SaaS application server; the remote user application token is generated based on the global application version check value, the user application version check value and the remote user application version information;

[0024] The update module is used to update the sub-application when the remote user application token is inconsistent with the local user application token.

[0025] In a fifth aspect, an embodiment of the present application provides a computer device, the device comprising: a processor and a memory storing computer program instructions;

[0026] When the processor executes the computer program instructions, the application updating method as described in the first aspect and the second aspect is implemented.

[0027] In a fourth aspect, an embodiment of the present application provides a computer storage medium having computer program instructions stored thereon, and when the computer program instructions are executed by a processor, the application update method as described in the first aspect and the second aspect is implemented.

[0028] The application updating method, device, computer equipment, and computer storage medium provided by the embodiment of the present application can obtain the remote user application version information corresponding to the identity information of the logged-in user by acquiring the global application version information, so that all sub-application information of the user can be determined. And based on the global application version check value, the user application version check value, and the remote user application version information, a remote user application token is generated, so that the client can determine whether there is a difference between the application required by the logged-in user and the local application by comparing the remote user application token with the local user application token, and in the case of a difference, the local application is updated, so that the user terminal automatically updates the application in the multi-tenant mode, reduces the frequency of application version updates, keeps the front-end and back-end application versions consistent, and avoids application version compatibility issues. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] In order to more clearly illustrate the technical solution of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0030] Figure 1 A schematic diagram showing an application update system in a multi-tenant scenario provided by the present application is shown;

[0031] Figure 2 A schematic diagram of an interface of a terminal provided in an embodiment of the present application is shown;

[0032] Figure 3 A schematic diagram showing a flow chart of an application updating method provided in an embodiment of the present application;

[0033] Figure 4 A schematic diagram showing a flow chart of an application updating method provided in an embodiment of the present application;

[0034] Figure 5 A flowchart of another application update method provided in an embodiment of the present application is shown;

[0035] Figure 6 A flowchart of another application update method provided in an embodiment of the present application is shown;

[0036] Figure 7 A schematic diagram of the structure of an application update system provided by an embodiment of the present application is shown;

[0037] Figure 8 A schematic diagram of the structure of an application updating device provided in an embodiment of the present application is shown;

[0038] Fig. 9 A schematic diagram of the structure of an application updating device provided in an embodiment of the present application is shown;

[0039] Fig.10 A schematic diagram of the hardware structure of a computer device provided in an embodiment of the present application is shown. DETAILED DESCRIPTION

[0040] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is only to provide a better understanding of the present application by illustrating the examples of the present application.

[0041] At present, enterprises of all sizes can rent software services from SaaS providers according to their actual needs. The main difference between SaaS and traditional software service technology is the multi-tenant model. The multi-tenant model means that, in an ideal situation, all tenants share the same software and hardware environment, and software upgrades only need to be released once to take effect in the environments of all tenants.

[0042] However, tenants may have personalized needs, so they need to customize the application functions, which makes the application upgrade process complicated, which may lead to an increase in application versions, a high frequency of application updates, and problems such as pop-ups and slow loading during the upgrade process. Especially after the application is updated, there may be inconsistencies between the front-end and back-end versions, white screens, invalid links, serial interfaces, and invalid permissions, which will reduce the user experience.

[0043] There are several ways to update applications in the existing multi-tenant mode:

[0044] The first is application market push, which is to fully integrate the application into the application client, and implement application client and application version updates through application market push. This implementation is relatively simple, but in the multi-tenant application mode, if a single application client is used to meet the needs of different tenants, the application client will be too cumbersome and there will be a bottleneck in the number of integrated applications. In addition, a single application client cannot meet the needs of some tenants for application privatization, and there are cross-tenant deployment issues and security risks.

[0045] If you customize multiple application clients to meet the needs of multi-tenant privatization, you need to maintain a set of client versions for different tenants, which leads to a large workload for version maintenance. In addition, version splitting will also bring about a series of problems such as version differences.

[0046] The second type of online application is to integrate browser plug-ins in the user terminal so that users can directly access online applications. This method does not have the problem of version updates, but each application operation interface needs to be accessed online. Since each page needs to wait for loading, the response is slow. And once the customer is offline, a 404 error will be reported, which is a poor user experience. This method is not suitable for enterprise-level applications. If local caching is used to improve access speed, there may be problems such as manually clearing the cache and version compatibility after the application version is changed.

[0047] The third type is local real-time update, which detects version changes and updates the application in real time every time the application is clicked. Every time a user opens a new application, the user needs to wait for the application update to complete, and the local server cannot perceive changes in tenant contracts and user application permissions, thus failing to meet the needs of multi-tenant application updates.

[0048] In view of this, in order to realize automatic application update by user terminals in multi-tenant mode, reduce the frequency of application version updates, keep the front-end and back-end application versions consistent, and avoid application version compatibility issues, the embodiments of the present application provide an application update method, apparatus, computer device, and computer storage medium.

[0049] Before describing in detail an application updating method provided in an embodiment of the present application, a brief introduction to the technology involved in the present application is first given.

[0050] The "tenant" involved in the embodiments of the present application refers to an enterprise organization or group that subscribes to SaaS applications on demand, etc. "User" refers to a user who directly uses the SaaS application, and a tenant may include multiple users, wherein the permissions of each user may be the same or different.

[0051] At the same time, a SaaS application can include multiple sub-applications. A tenant can obtain the SaaS application customized by the tenant according to the SaaS application rental agreement. At the same time, users under the tenant can obtain the corresponding version of the sub-application according to their own permissions.

[0052] Figure 1 A schematic diagram of an application update system in a multi-tenant scenario provided for the implementation of this application, such as Figure 1 As shown, the application update system in the multi-tenant scenario may include a terminal 11 and a SaaS application server 12. The terminal 11 may be a user terminal, and the terminal is installed with an application client. The application client can interact with the SaaS application server 12 through the network to implement the application update method provided by the present embodiment. The terminal 11 may provide user-oriented download or update processing. The terminal may download or update the application user in a manner including, but not limited to, an application method or a web page method.

[0053] In this embodiment, the terminal 11 may specifically include a computer, a laptop, a tablet computer, a mobile phone, and other computer devices that can install application programs. The operating system running on the terminal 11 in this embodiment of the application may include but is not limited to Android system, IOS system, Windows system, and Linux system.

[0054] Figure 2 A schematic diagram of an interface of a terminal provided in an embodiment of the present application is shown, combined with Figure 1 and Figure 2 , a client 21 of the SaaS application service is displayed on the terminal 11, and the client 21 includes sub-application 1, sub-application 2 to sub-application n.

[0055] Figure 3A schematic diagram of a process flow of an application update method provided by an embodiment of the present application is shown as follows: Figure 3 As shown, the application update method can be applied to Figure 1 The SaaS application server 12 is shown. The application update method comprises the following steps:

[0056] S31, obtaining global application version information and a global application version verification value corresponding to the global application version information, wherein the global application version information includes information of each sub-application in a SaaS application corresponding to at least one user.

[0057] S32, based on the identity information of the logged-in user sent by the terminal, determine the remote user application version information from the global application version information, where the remote user application version information includes sub-application information corresponding to the identity information.

[0058] S33: Generate a remote user application version verification value based on the remote user application version information.

[0059] S34, generating a remote user application token based on the global application version check value, the remote user application version check value and the remote user application version information.

[0060] S55, sending a remote user application token to the terminal, so that the terminal updates the sub-application information when the remote user application token is inconsistent with the local user application token.

[0061] In the above embodiment, by obtaining the global application version information, the remote user application version information corresponding to the identity information of the logged-in user can be obtained, so that all sub-application information of the user can be determined. And based on the global application version check value, the user application version check value and the remote user application version information, a remote user application token is generated, so that the client can determine whether there is a difference between the application required by the logged-in user and the local application by comparing the remote user application token with the local user application token, and in the case of a difference, the local application is updated, so that in the multi-tenant mode, the user terminal automatically updates the application, reduces the frequency of application version updates, keeps the front-end and back-end application versions consistent, and avoids application version compatibility issues.

[0062] The specific implementation of the above steps will be described in detail below.

[0063] In S31, at least one user may refer to a user under the name of a tenant who leases a SaaS application. The global application version information may include information about each sub-application in the SaaS application corresponding to each user in the tenant. In other words, the global application version information may be a list of global application versions corresponding to the tenant to which the user belongs. The list of global application versions may include an information set of applications leased by the tenant, and the information set may include information such as sub-application name, sub-application icon, sub-application permission, sub-application function, and sub-application version.

[0064] The "SaaS application" involved in this application may refer to the application of functional systems such as supply chain management, human resource management and customer relationship management.

[0065] In some embodiments, S31 may include the following steps:

[0066] Get global application version information based on the lease agreement;

[0067] A verification calculation is performed on the global application version information to obtain a global application version verification value.

[0068] Here, the SaaS server can obtain the global application version information through the lease agreement of the tenant leasing the SaaS application. When the lease agreement changes, the global application version information also changes accordingly. For example, when the tenant adds new contract content, the content in the global version information also increases accordingly. When the lease expires and is not renewed, the application service is synchronously suspended, so that the global version information cannot be obtained or the global version information obtained is empty. In this way, in an embodiment of the present application, the SaaS server can detect changes in the tenant's application version information through dynamic changes in the tenant contract.

[0069] Of course, the global application version information can also be pre-stored in an external device, and the SaaS server obtains it from the external device. In the embodiment of the present application, there is no restriction on the method of obtaining the global application version information.

[0070] The "global application version verification value" involved in the embodiment of the present application can be generated based on the global application version information. Specifically, the global application version information is verified and calculated based on a verification algorithm to generate a global application version verification value. Optionally, the verification algorithm can be a hash algorithm, a message digest algorithm (Message Digest Algorithm, MD5), or a secure hash algorithm (Secure Hash Algorithm, SHA).

[0071] Here, a character string with a fixed length corresponding to the global application version information, ie, the global application version verification value, can be calculated through the verification algorithm.

[0072] For example, the SaaS server performs hash calculation on the global application version information based on a hash algorithm to generate a global application version hash value.

[0073] It should be noted that the check algorithm may also be other algorithms, such as a parity check algorithm, a Hamming code check algorithm, and a cyclic redundancy check algorithm, etc. In the embodiment of the present application, the type of the check algorithm is not limited.

[0074] In actual applications, the SaaS server obtains the global application version check value by generating the global application version check value for the SaaS server, or by generating it through an external device and obtaining it from the external device. In the embodiment of the present application, the SaaS server obtains the global application version check value in any manner without limitation.

[0075] In S32, the identity information of the logged-in user may be the identity information of the user who logs in to the client at the terminal. The identity information may include information such as user identification, user role, and user authority.

[0076] Here, the terminal can send identity information in various ways, such as detecting the existence of a local state token corresponding to the client, where the local state token includes the identity information of the logged-in user. The terminal sends a state recovery request to the SaaS application server, and the request carries the local state token.

[0077] Alternatively, when the terminal does not detect the existence of a local status token corresponding to the client, the terminal displays the client's login interface, receives the account information entered by the user, and sends a login request to the SaaS application server, wherein the login request carries the login identity information.

[0078] The "remote user application version information" involved in the embodiments of the present application may be the application version information corresponding to the user identity determined from the global application version information. The remote user application version information may include the sub-application information corresponding to the user. The sub-application information may include the sub-application name, sub-application icon, sub-application permissions, sub-application functions, sub-application version, and other information.

[0079] In one example, the SaaS server receives a login request from a terminal carrying the identity information of the logged-in user and verifies the user's identity. After the user's identity is verified, the SaaS server determines the remote user application version information corresponding to the identity information from the global application version information based on the identity information carried in the login request.

[0080] In some embodiments, S32 may specifically include the following steps:

[0081] Based on the identity information of the logged-in user sent by the terminal, obtain the sub-application function permissions corresponding to the identity information;

[0082] Based on the sub-application function permissions, determining target sub-application information corresponding to the identity information from the global application version information;

[0083] Based on the target sub-application information, determine the remote user application version information.

[0084] Here, the SaaS server determines the remote user application version information corresponding to the identity information of the logged-in user from the global application version information, which can be executed as follows: the SaaS server performs cluster analysis on user permissions and application functions based on the global application version information, obtains the clustering results based on the identity information of the logged-in user, and thus obtains the remote user application version information.

[0085] In S33, the SaaS server may perform verification calculations on the remote user application version information based on a verification algorithm to generate a remote user application version verification value.

[0086] It should be noted that the verification algorithm in step S33 may be consistent with the verification algorithm in the aforementioned embodiment.

[0087] For example, the SaaS server performs hash calculation on the remote user application version information based on the hash algorithm to generate a remote user application version verification value.

[0088] In S34, the remote user application token may be a separate information block. The remote user application token may include a global application version check value, a remote user application version check value, and remote user application version information.

[0089] In some embodiments, S34 may include:

[0090] The global application version check value, the user application version check value and the remote user application version information are used as token signature content to obtain a remote user application token.

[0091] Here, the SaaS server can use the global application version check value, the remote user application version check value, and the remote user application version information as token signature content to generate a remote user application token.

[0092] In S35, the local user application token may be generated according to the local application version information in the terminal. The local application version information may include information such as the sub-application name, sub-application icon, sub-application function, and sub-application version.

[0093] Here, the terminal may use the local application version information as the token signature content to generate a local user application token.

[0094] In S35, the SaaS server sends the remote user application token to the terminal. After receiving the remote user application token, the terminal detects whether the remote user application token is consistent with the local user application token. If it is detected that the remote user application token is inconsistent with the local user application token, the sub-application information in the terminal is updated.

[0095] The "sub-application information in the terminal" involved in the embodiment of the present application may refer to the sub-application information in the SaaS application client in the terminal. The sub-application information in the terminal may be structured and stored in the terminal.

[0096] In some embodiments, whether the remote user application token is consistent with the local user application token may include at least one of the following: whether the remote user application version information in the remote user application token is consistent with the local user application version information in the local user application token; whether the remote user application version verification value in the remote user application token is consistent with the local user version verification value in the local user application version information; whether the global application version verification value in the remote user application token is consistent with the local global version verification value in the local user application version information.

[0097] Here, the inconsistency between the global application version check value and the local global version check value means that the SaaS lease agreement of the tenant to which the user belongs has changed, and thus the sub-application corresponding to the logged-in user may also change accordingly. Also, the inconsistency between the remote user application version check value and the local user version check value may indicate that the sub-application information corresponding to the logged-in user has changed.

[0098] Figure 4 A schematic diagram of a process flow of an application update method provided by an embodiment of the present application is shown as follows: Figure 4 As shown, the application update method can be applied to Figure 1 The terminal 12 shown. The application update method comprises the following steps:

[0099] S41, sending the identity information of the logged-in user to the SaaS application server.

[0100] S42, obtaining a remote user application token from the SaaS application server.

[0101] Here, the remote user application token is generated based on the global application version check value, the user application version check value and the remote user application version information. The global application version check value corresponds to the global application version information. The global application version information includes each sub-application information in the SaaS application corresponding to at least one user. The remote user application version information includes the sub-application information corresponding to the identity information of the logged-in user. The remote user application version check value is generated based on the remote user application version information.

[0102] S43: When the remote user application token is inconsistent with the local user application token, update the sub-application information.

[0103] In the above embodiment, the identity information of the logged-in user is sent to the SaaS application server to obtain the remote user application token, and the remote user application token is compared with the local user application token. If the remote user application token is inconsistent with the local user application token, the sub-application information is updated, thereby realizing the update of the local application. At the same time, in the multi-tenant mode, the user terminal automatically updates the application, reduces the frequency of application version updates, keeps the front-end and back-end application versions consistent, and avoids application version compatibility issues.

[0104] In some embodiments, when the remote user application token is consistent with the local user application token, the terminal does not need to update the sub-application information, so the terminal can directly start the sub-application.

[0105] In some embodiments, S43 may include the following steps:

[0106] When the remote user application token is inconsistent with the local user application token, obtain the local user application version information;

[0107] Get the remote user application version information from the remote user application token;

[0108] Generate sub-application update information based on difference information between local user application version information and remote user application version information, where the application update information includes update information of at least one target sub-application;

[0109] Based on the sub-application update information, the sub-application functions are updated.

[0110] Here, the sub-application update information may include sub-application version information that the terminal needs to update. The terminal compares the local user application version information with the remote user application version to obtain difference information between the two, and generates sub-application update information based on the difference information, so that the terminal updates the sub-application function in the client based on the sub-application update information.

[0111] In this way, the terminal can update the local sub-application according to the sub-application required by the logged-in user, thereby achieving the purpose of quickly updating the local sub-application and avoiding frequent updates of application versions.

[0112] In order to better understand the application update method provided in the embodiment of the present application, the embodiment of the present application also provides another application update method. Figure 5 Another application update method provided by an embodiment of the present application is shown, and the method is applied to Figure 1The application update system shown, the application update method may include the following steps:

[0113] S51, the terminal responds to a startup instruction of a client of the application program and starts the client.

[0114] S52, the terminal detects whether the state holding state token exists. If it exists, the process proceeds to S53. If it does not exist, the process proceeds to S56.

[0115] Here, the state preservation token is a valid login credential. The client can use the state preservation token to request the SaaS application server to restore the state. In other words,

[0116] S53, the terminal obtains a local user application token.

[0117] S54, the terminal sends a status recovery request to the SaaS application server, requesting status recovery.

[0118] Here, the state recovery request carries the state preservation Token.

[0119] S55, the SaaS application server detects whether the status retention token has expired. If it has expired, it proceeds to S56. If it has not expired, it proceeds to step S58.

[0120] S56, the SaaS application server returns information requiring the user to log in to the terminal.

[0121] S57, the terminal displays a login interface, receives login information, and sends authentication information to the SaaS application server.

[0122] S58, SaaS application server authentication succeeds.

[0123] Here, the SaaS application server authenticates the user's identity based on the authentication information sent by the terminal. If the user's identity passes the authentication, an authentication success message is sent to the terminal.

[0124] S59, the SaaS application server obtains global application version information and remote user application version information.

[0125] Here, the remote user application version information may be determined by clustering user permissions and application functions based on the global application version information.

[0126] S510, the SaaS application server sends authentication success information and a remote user application token to the terminal.

[0127] Here, the remote user version token may be generated based on the global application version check value, the remote user application version check value, and the remote user application version information.

[0128] S511, the terminal detects whether local application data exists. If not, the process proceeds to S512, and if so, the process proceeds to S513.

[0129] Here, the local application data may include client data.

[0130] S512, the terminal starts the asynchronous application download process, and after the download is completed, it goes to S511.

[0131] S513, determine whether the local user application token and the remote user application token are consistent. If they are consistent, proceed to S514. If they are inconsistent, proceed to S517.

[0132] S514, the terminal references the local application version information and proceeds to S515 and S516.

[0133] S515, the terminal prepares the client workbench homepage and then proceeds to S525.

[0134] S516, the terminal updates the application status and proceeds to S523.

[0135] S517, the terminal starts the local application update process and proceeds to S518 and S519.

[0136] S518, the terminal references the remote user application version information and proceeds to S515.

[0137] S519: The terminal obtains a local application list.

[0138] S520: The terminal asynchronously compares the remote application list and the local application list.

[0139] Here, the terminal can obtain a remote application list according to the remote application token. The remote application list is obtained from the remote user application version information.

[0140] S521, the terminal generates an updated application list.

[0141] S522: The terminal starts asynchronous application downloading based on the updated application list.

[0142] S523, the terminal prepares the application.

[0143] S524, the terminal prepares the client workbench.

[0144] It should be noted that the application involved in the embodiments of the present application is a sub-application in the client.

[0145] In the above embodiment, by comparing whether the remote user application token and the local user application token are consistent, it is determined whether to update the application in the client, thereby realizing automatic update of the application and avoiding frequent release of client versions. The client can integrate and update applications within the scope of user permissions, so there is no limit on the number of applications, meeting the privatization needs of some users, and there is no cross-tenant deployment, which reduces security risks.

[0146] And compared with online application updates, the application update method provided by the embodiment of the present application can respond in real time, avoid 404 errors, and there is no need to clear the cache.

[0147] In addition, compared with local real-time updates, the application update method provided in the embodiment of the present application can dynamically perceive changes in tenant contracts and user application permissions by comparing remote application tokens with local application tokens, thereby meeting the needs of multi-tenant application updates and improving user experience.

[0148] In some embodiments, Figure 5 As shown, in S51, after the terminal responds to the start instruction of the client of the application program and starts the client, the application program update method further includes:

[0149] S525, the terminal asynchronously detects whether the client identifier exists. If not, the process proceeds to S526; if not, the process proceeds to S527.

[0150] Here, the terminal detects whether the identifier of the client exists, which can be understood as the terminal detecting whether it is the local data of the client.

[0151] S526, initializing a local user application list.

[0152] Here, if it does not exist, the terminal initializes the local user application list to a null value.

[0153] S527, the terminal prepares a local user application list.

[0154] Here, if it exists, the terminal reads the local data and prepares the local user application list, so that after the user logs in to the client, the terminal can display the local user application list to the user on the client.

[0155] In some embodiments, Figure 6 A flowchart of another application update method provided in an embodiment of the present application is shown, combined with Figure 5 and Figure 6 As shown, in S524, after the terminal prepares the client workstation, the application update method further includes:

[0156] S61, the terminal displays the application function list on the client.

[0157] Here, the client's workbench homepage is ready, and the terminal displays the application function list on the workbench.

[0158] S62: The terminal receives a start-up operation for the application.

[0159] Here, the start operation may be a click operation.

[0160] S63, the terminal detects whether the application is available in response to the start operation. If it is available, the process proceeds to S64, and if it is not available, the process proceeds to S65.

[0161] Here, the terminal responds to the start operation by intercepting the start operation, triggering an application start event, and detecting whether the application is available.

[0162] S64, the terminal starts the application.

[0163] S65, the terminal updates and displays the application update progress.

[0164] S66, the terminal sends a queue-jumping command to the asynchronous download, and proceeds to S67 and S69.

[0165] S67, the terminal executes a queue-jumping operation to give priority to downloading the application, and then proceeds to S68.

[0166] Here, the terminal adopts a first-in-first-out order to download the applications in the queue. Therefore, when the terminal performs a queue-jumping operation, the application can be moved to the head of the download queue so that the application can be downloaded first.

[0167] Before executing the queue-jumping operation, the terminal also needs to detect whether the application is in the download queue. If it is in the download queue, the application is directly moved to the head of the download queue. If it is not in the download queue, the application is added to the download queue and the queue is moved to the head of the queue.

[0168] In addition, the terminal may execute a queue-jumping operation in response to the user's preference selection operation for the application according to the detection result in S69.

[0169] S68, the terminal asynchronously detects whether the application download is completed. If the download is completed, the process proceeds to S64. If not, the process proceeds to S65.

[0170] Here, the terminal may asynchronously start an asynchronous download progress detection thread to detect whether the application download is completed.

[0171] S69, the terminal asynchronously calls the download program to download the application in the queue.

[0172] S610: After downloading is completed, the terminal updates the application status.

[0173] S611, the terminal prepares the application.

[0174] S612: After the application download is completed, the terminal updates the local user application token.

[0175] In the above embodiment, by adopting the interception mode, it is detected whether the application can be started, so that the application is downloaded first without starting, which not only realizes the real-time update of the client application, but also improves the speed of users opening the application and improves the user experience.

[0176] In some embodiments, Figure 6 As shown, the application update method also includes:

[0177] S613: The terminal starts asynchronous application downloading.

[0178] Here, after the terminal detects that there is no local data, it starts the asynchronous application download.

[0179] S614: The terminal adds the application to be downloaded into the download queue and proceeds to S69.

[0180] Here, the terminal adds the full update application to the download queue.

[0181] Based on the same technical concept as the application update method provided in the present application, an embodiment of the present application also provides an application update system. Figure 7 FIG. 1 shows a schematic diagram of the structure of an application update system provided by an embodiment of the present application. Figure 7 As shown, the application update system 70 may include: a state recovery module 71, a login control module 72, a user operation interception module 73, an application update module 74, a local storage module 75 and an application control module 76.

[0182] Here, the state recovery module 71 is used for client state recovery and scheduling login control unit 72.

[0183] The login control module 72 is used to schedule the client login interface and keep the client logged in.

[0184] The user operation interception module 73 is used to intercept the user's operation of starting an application and detect the application that the user wants to start.

[0185] The application control module 76 is used for global scheduling, scheduling the application update module 74, scheduling the local storage module 75 and the user operation interception module 73.

[0186] The application update module 74 is used to accept the queue-jumping operation of the application control module 76, schedule application update downloads, detect local application versions, detect update progress, and manage application downloads and installations.

[0187] The local storage module 75 is used to store user application tokens, local user application version information, and local application programs. The local user application version information may include a local application list and an application local function list.

[0188] In some embodiments, the state recovery module 71 is specifically used to detect that the client is in an active process and trigger an application state recovery event; it is also used to determine whether the client can perform state recovery. If the state cannot be restored, the login management unit 72 is called to achieve state recovery; it is also used to send the client's identifier to the application control module 76 after completing the state recovery.

[0189] The application control module 76 is used to collect local environment information based on the client's identification, including the client environment serial number, application version check value, and user version list.

[0190] In some embodiments, the state recovery module 71 may also be used to collect the client local environment after completing the state recovery and send it to the application control module 76 .

[0191] In some embodiments, the application control module 76 is specifically used to detect whether the client application passes the version match and determine whether a version update is required; it is also used to generate an update list and send it to the application update module 74 if an update is required.

[0192] In some embodiments, the user operation interception module 73 is specifically used to intercept the application startup operation when starting the application, trigger the application startup event, and send the application to the application control unit for processing 74.

[0193] The application control module 76 is specifically used to determine whether the launched application is in the updating state, and if so, obtain the updating state; if not in the updating state, determine whether the application is in the updating queue; if in the updating queue, directly jump the queue and obtain the updating state; if not in the updating queue, determine whether the application needs to be updated, if so, add the application to the download queue and jump the queue; if the application does not need to be updated, directly open the application.

[0194] In some embodiments, the local storage module 75 is specifically used for structured storage of local objects, wherein the local objects include: user application tokens.

[0195] Based on the same technical concept as the application updating method provided in the present application, an embodiment of the present application also provides an application updating device. Figure 8 A schematic diagram of the structure of an application updating device provided in an embodiment of the present application is shown. Figure 8As shown, the application updating device 80 can be applied to the SaaS server, and the application updating device 80 may include:

[0196] The global verification acquisition module 81 is used to obtain global application version information and a global application version verification value corresponding to the global application version information; the global application version information includes information of each sub-application in the SaaS application corresponding to at least one user.

[0197] A remote information determination module 82 is used to determine remote user application version information from the global application version information based on the identity information of the logged-in user sent by the terminal, and the remote user application version information includes sub-application information corresponding to the identity information;

[0198] The remote verification generation module 83 is used to generate a remote user application version verification value based on the remote user application version information.

[0199] The remote token generation module 84 is used to generate a remote user application token based on the global application version check value, the remote user application version check value and the remote user application version information.

[0200] The token sending module 85 is used to send the remote user application token to the terminal, so that the terminal updates the sub-application information when the remote user application token is inconsistent with the local user application token.

[0201] In some embodiments, the remote information determination module 82 is specifically used to obtain sub-application function permissions corresponding to the user identity information based on the identity information of the logged-in user sent by the terminal; based on the sub-application function permissions, determine the target sub-application information corresponding to the identity information from the global application version information; based on the target sub-application information, determine the remote user application version information.

[0202] In some embodiments, the remote token generation module 84 is specifically used to use the global application version verification value, the user application version verification value and the remote user application version information as token signature content to obtain a remote user application token.

[0203] Based on the same technical concept as the application updating method provided in the present application, an embodiment of the present application also provides an application updating device. Fig. 9 A schematic diagram of the structure of an application updating device provided in an embodiment of the present application is shown. Fig. 9 As shown, the application updating device 90 can be applied to a SaaS server, and the application updating device 90 may include:

[0204] The request sending module 91 is used to send the identity information of the logged-in user to the SaaS application server.

[0205] The remote token acquisition module 92 is used to acquire a remote user application token from the SaaS application server. The remote user application token is generated based on a global application version check value, a user application version check value, and remote user application version information.

[0206] Here, the global application version check value corresponds to the global application version information, and the global application version information includes each sub-application information in the SaaS application corresponding to at least one user. The remote user application version information includes the sub-application information corresponding to the identity information. The remote user application version check value is generated based on the remote user application version information.

[0207] The updating module 93 is used to update the sub-application when the remote user application token is inconsistent with the local user application token.

[0208] In some embodiments, the update module 93 is specifically used to obtain local user application version information when the remote user application token is inconsistent with the local user application token; obtain remote user application version information from the remote user application token; generate sub-application update information based on the difference information between the local user application version information and the remote user application version information, the application update information includes update information of at least one target sub-application; and update the sub-application based on the sub-application update information.

[0209] Based on the same technical concept as the application update method provided in this application, an embodiment of the present application also provides a computer device. Fig.10 A schematic diagram of the hardware structure of a computer device provided in an embodiment of the present application is shown.

[0210] like Fig.10 As shown, the computer device may include a processor 101 and a memory 102 storing computer program instructions.

[0211] Specifically, the processor 101 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.

[0212] The memory 102 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 102 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. In appropriate cases, the memory 102 may include a removable or non-removable (or fixed) medium. In appropriate cases, the memory 102 may be inside or outside the integrated gateway disaster recovery device. In a specific embodiment, the memory 102 is a non-volatile solid-state memory.

[0213] The memory 102 may include a read-only memory, a random access memory, a disk storage medium device, an optical storage medium device, a flash memory device, an electrical, optical or other physical / tangible memory storage device. Therefore, typically, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., a memory device) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the application update method provided according to any embodiment of the present application.

[0214] The processor 101 implements any one of the application updating methods in the above embodiments by reading and executing the computer program instructions stored in the memory 102 .

[0215] In one example, the computer device may further include a communication interface 103 and a bus 104. Fig.10 As shown, the processor 101, the memory 102, and the communication interface 103 are connected via a bus 104 and communicate with each other.

[0216] The communication interface 103 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.

[0217] Bus 104 includes hardware, software or both, and will be coupled to each other in the parts of computer equipment.For example, but not limitation, bus may include accelerated graphics port (AGP) or other graphics bus, enhanced industrial standard architecture (EISA) bus, front side bus (FSB), hypertransport (HT) interconnection, industrial standard architecture (ISA) bus, infinite bandwidth interconnection, low pin count (LPC) bus, memory bus, micro channel architecture (MCA) bus, peripheral component interconnection (PCI) bus, PCI-Express (PCI-X) bus, serial advanced technology attachment (SATA) bus, video electronics standard association local (VLB) bus or other suitable bus or two or more of these combinations. In appropriate cases, bus 104 may include one or more buses. Although the present application embodiment describes and shows a specific bus, the present application considers any suitable bus or interconnection.

[0218] The computer device can implement the method in the embodiment of the present application to achieve the combination Figures 1 to 9 The described application updating system, application updating method and application updating device.

[0219] In addition, in combination with the application update method in the above embodiment, the embodiment of the present application can provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when the computer program instructions are executed by a processor, any one of the application update methods in the above embodiment is implemented.

[0220] In addition, in combination with the application update method in the above embodiments, an embodiment of the present application provides a computer program product, including a computer program or instructions, which implements any one of the application update methods in the above embodiments when the computer program or instructions are executed by a processor.

[0221] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.

[0222] The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.

[0223] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.

[0224] The above reference is to the flowchart and / or block diagram of the application update method, device, computer equipment and computer program product according to the embodiment of the present application. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the function / action specified in one or more boxes of the flowchart and / or block diagram. This processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor or a field programmable logic circuit. It can also be understood that each box in the block diagram and / or flowchart and the combination of the boxes in the block diagram and / or flowchart can also be implemented by dedicated hardware that performs a specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions.

[0225] The above is only a specific implementation of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.

Claims

1. An application update method, characterized in that: Applied to a SaaS application server, the method includes: Obtaining global application version information and a global application version verification value corresponding to the global application version information, wherein the global application version information includes information of each sub-application in a SaaS application corresponding to at least one user; Based on the identity information of the logged-in user sent by the terminal, determining the remote user application version information from the global application version information, the remote user application version information including the sub-application information corresponding to the identity information; Based on the remote user application version information, generating a remote user application version check value; Generate a remote user application token based on the global application version check value, the remote user application version check value and the remote user application version information; Sending the remote user application token to the terminal, so that the terminal updates the sub-application information when the remote user application token is inconsistent with the local user application token; The step of determining the remote user application version information from the global application version information based on the identity information of the logged-in user sent by the terminal includes: Based on the identity information of the logged-in user sent by the terminal, obtaining the sub-application function permissions corresponding to the identity information; Based on the sub-application function permissions, determining target sub-application information corresponding to the identity information from the global application version information; Determine remote user application version information based on the target sub-application information; The generating a remote user application token based on the global application version check value, the remote user application version check value and the remote user application version information includes: The global application version check value, the user application version check value and the remote user application version information are used as token signature content to obtain a remote user application token.

2. The method according to claim 1, characterized in that The obtaining of the global application version information and the global application version verification value corresponding to the global application version information includes: Get global application version information based on the lease agreement; A verification calculation is performed on the global application version information to obtain a global application version verification value.

3. An application update method, characterized in that: Applied to a terminal, the method comprises: Send the login user's identity information to the SaaS application server; Obtain a remote user application token from the SaaS application server; the remote user application token is generated based on a global application version check value, a user application version check value, and remote user application version information; When the remote user application token is inconsistent with the local user application token, updating the sub-application; When the remote user application token is inconsistent with the local user application token, updating the sub-application includes: When the remote user application token is inconsistent with the local user application token, obtaining local user application version information; Acquire remote user application version information from the remote user application token; Generate sub-application update information based on difference information between the local user application version information and the remote user application version information, where the application update information includes update information of at least one target sub-application; Based on the sub-application update information, the sub-application is updated.

4. An application updating device, characterized in that: Applied to the SaaS application server, the device includes: A global verification acquisition module, used to obtain global application version information and a global application version verification value corresponding to the global application version information, wherein the global application version information includes information of each sub-application in a SaaS application corresponding to at least one user; A remote information determination module, configured to determine remote user application version information from the global application version information based on the identity information of the logged-in user sent by the terminal, wherein the remote user application version information includes sub-application information corresponding to the identity information; A remote verification generation module, used to generate a remote user application version verification value based on the remote user application version information; A remote token generation module, configured to generate a remote user application token based on the global application version check value, the remote user application version check value and the remote user application version information; A token sending module, used for sending the remote user application token to the terminal, so that the terminal updates the sub-application information when the remote user application token is inconsistent with the local user application token; The remote information determination module is specifically used to obtain the sub-application function permission corresponding to the identity information based on the identity information of the logged-in user sent by the terminal; determine the target sub-application information corresponding to the identity information from the global application version information based on the sub-application function permission; and determine the remote user application version information based on the target sub-application information; The remote token generation module is specifically used to use the global application version verification value, the user application version verification value and the remote user application version information as token signature content to obtain a remote user application token.

5. An application updating device, characterized in that: Applied to a terminal, the device comprises: The request sending module is used to send the identity information of the logged-in user to the SaaS application server; The remote token acquisition module is used to obtain the remote user application token from the SaaS application server; the remote user application token is generated based on the global application version check value, the user application version check value and the remote user application version information; An update module, used for updating the sub-application when the remote user application token is inconsistent with the local user application token; The update module is specifically used to obtain local user application version information when the remote user application token is inconsistent with the local user application token; obtain remote user application version information from the remote user application token; generate sub-application update information based on the difference information between the local user application version information and the remote user application version information, the application update information includes update information of at least one target sub-application; and update the sub-application based on the sub-application update information.

6. A computer device, characterized in that: The device comprises: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, the application updating method as described in any one of claims 1-3 is implemented.

7. A computer storage medium, characterized in that: The computer storage medium stores computer program instructions, and when the computer program instructions are executed by the processor, the application updating method according to any one of claims 1 to 3 is implemented.