CN114020313A - 应用更新方法及相关设备 - Google Patents
应用更新方法及相关设备 Download PDFInfo
- Publication number
- CN114020313A CN114020313A CN202111416114.0A CN202111416114A CN114020313A CN 114020313 A CN114020313 A CN 114020313A CN 202111416114 A CN202111416114 A CN 202111416114A CN 114020313 A CN114020313 A CN 114020313A
- Authority
- CN
- China
- Prior art keywords
- application
- information
- remote user
- token
- global
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种应用更新方法及相关设备。该方法应用于软件即应用(SaaS)服务端,包括:获取全局应用版本信息以及与所述全局应用版本信息对应的全局应用版本校验值;基于终端发送的登录用户的身份信息,从全局应用版本信息中确定远程用户应用版本信息;基于远程用户应用版本信息,生成远程用户应用版本校验值;基于全局应用版本校验值、远程用户应用版本校验值以及远程用户应用版本信息,生成远程用户应用令牌;向终端发送远程用户应用令牌,以使终端在远程用户应用令牌与本地用户应用令牌不一致的情况下,更新子应用信息。如此,能够在多租户模式下,用户终端自动更新应用程序,减少应用程序版本更新频次,保持前端和后端应用版本一致。
Description
技术领域
本申请属于云计算技术领域,尤其涉及一种应用更新方法及相关设备。
背景技术
随着云计算技术的不断发展,软件即服务(Software as a Service,SaaS)作为云计算的一种软件布局模型,在业内得到广泛的应用。简单来讲,无论企业的规模大小,都可以根据实际需求,从SaaS供应商租赁软件服务。
实际上,SaaS区别于传统软件服务技术的主要差别就是多租户模式。多租户模式是指,在理想的情况下,所有租户都共用相同的软、硬件环境,软件升级时只需要发布一次,就能在所有租户的环境上生效。但是,租户往往对应用程序功能在存在个性化需求,以至于SaaS供应商需要针对租户的需求对应用程序功能进行定制,以满足租户应用私有化的需求,如此,SaaS供应商通过服务端向租户对应的终端频繁发布应用程序版本,导致各租户对应的应用程序频繁更新。
发明内容
有鉴于此,本申请实施例提供的一种应用更新方法、装置、计算机设备,以及计算机存储介质,能够在多租户模式下,用户终端自动更新应用程序,减少应用程序版本更新频次,保持前端和后端应用版本一致。
第一方面,本申请实施例提供一种方法应用更新方法,应用于软件即应用(SaaS)服务端,该应用更新方法可以包括:
获取全局应用版本信息以及与全局应用版本信息对应的全局应用版本校验值,全局应用版本信息包括与至少一个用户对应的SaaS应用中每个子应用信息;
基于终端发送的登录用户的身份信息,从全局应用版本信息中确定远程用户应用版本信息,远程用户应用版本信息包括与所述身份信息对应的子应用信息;
基于远程用户应用版本信息,生成远程用户应用版本校验值;
基于全局应用版本校验值、远程用户应用版本校验值以及所述远程用户应用版本信息,生成远程用户应用令牌;
向终端发送所述远程用户应用令牌,以使终端在远程用户应用令牌与本地用户应用令牌不一致的情况下,更新子应用信息。
第二方面,本申请实施例提供另一种方法应用更新方法,应用于终端,该应用更新方法可以包括:
向SaaS应用服务端发送登录用户的身份信息;
从所述SaaS应用服务端获取远程用户应用令牌;所述远程用户应用令牌是根据基于全局应用版本校验值、用户应用版本校验值以及远程用户应用版本信息生成的;
在所述远程用户应用令牌与本地用户应用令牌不一致的情况下,更新子应用。
第三方面,本申请实施例还提供一种方法应用更新装置,应用于SaaS服务端,该更新装置可以包括:
全局校验获取模块,用于获取全局应用版本信息以及与全局应用版本信息对应的全局应用版本校验值,全局应用版本信息包括与至少一个用户对应的SaaS应用中每个子应用信息;
远程信息确定模块,用于基于终端发送的登录用户的身份信息,从全局应用版本信息中确定远程用户应用版本信息,所述远程用户应用版本信息包括与所述身份信息对应的子应用信息;
远程校验生成模块,用于基于所述远程用户应用版本信息,生成远程用户应用版本校验值;
远程令牌生成模块,用于基于所述全局应用版本校验值、所述远程用户应用版本校验值以及所述远程用户应用版本信息,生成远程用户应用令牌;
令牌发送模块,用于向所述终端发送所述远程用户应用令牌,以使所述终端在所述远程用户应用令牌与本地用户应用令牌不一致的情况下,更新子应用信息。
第四方面,本申请实施例还提供另一种方法应用更新装置,应用于终端,该更新装置可以包括:
请求发送模块,用于向SaaS应用服务端发送登录用户的身份信息。
远程令牌获取模块,用于从SaaS应用服务端获取远程用户应用令牌;远程用户应用令牌是根据基于全局应用版本校验值、用户应用版本校验值以及远程用户应用版本信息生成的;
更新模块,用于在远程用户应用令牌与本地用户应用令牌不一致的情况下,更新子应用。
第五方面,本申请实施例提供了一种计算机设备,所述设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如第一方面和第二方面所述的应用更新方法。
第四方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如第一方面以及第二方面所述的应用更新方法。
本申请实施例提供的一种应用更新方法、装置、计算机设备,以及计算机存储介质,能够通过获取全局应用版本信息,可以得到与登录用户的身份信息对应的远程用户应用版本信息,如此,可以确定用户可以所有子应用信息。并且基于全局应用版本校验值、用户应用版本校验值以及远程用户应用版本信息,生成远程用户应用令牌,从而使得客户端通过对远程用户应用令牌与本地用户应用令牌的比较,确定登录用户所需应用程序与本地应用程序是否存在差异,并且在存在差异的情况下,实现了对本地应用程序的更新,如此,实现在多租户模式下,用户终端自动更新应用程序,减少应用程序版本更新频次,保持前端和后端应用版本一致,以及避免应用程序版本兼容性问题。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本申请实施提供的一种多租户场景下的应用更新***的示意图;
图2示出本申请实施例提供的一种终端的界面示意图;
图3示出本申请实施例提供的一种应用更新方法的流程示意图;
图4示出本申请实施例提供的一种应用更新方法的流程示意图;
图5示出本申请实施例提供的另一种应用更新方法的流程示意图;
图6示出本申请实施例提供的又一种应用更新方法的流程示意图;
图7示出了本申请实施例提供的一种应用更新***的结构示意图;
图8示出了本申请实施例提供的一种应用更新装置的结构示意图;
图9示出了本申请实施例提供的一种应用更新装置的结构示意图;
图10示出了本申请实施例提供的一种计算机设备的硬件结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
目前,企业不论规模大小,都可以根据实际需要,从SaaS供应商租赁软件服务。SaaS区别于传统软件服务技术的主要差别就是多租户模式。多租户模式是指,在理想的情况下,所有租户都共用相同的软、硬件环境,软件升级时只需要发布一次,就能在所有租户的环境上生效。
但是租户可能存在个性化的需求,如此,需要对应用程序功能进行定制,从而导致应用程序升级过程变得复杂,可能会导致应用程序版本增多,应用程序更新频次高,以及在升级过程中,可能出现弹窗以及加载缓慢等问题。尤其在应用更新后,可能出现前端与后端版本不一致,白屏,链接失效,接口串用以及权限失效等等问题,从而造成用户体验下降。
现有多租户模式下应用程序更新主要有以下几种方式:
第一种应用市场推送,这种方式是将应用全量集成在应用程序客户端中,通过应用市场推送实现应用程序客户端对及应用程序版本的更新。这种实现方式比较简单,但是在多租户应用模式下,如果使用单一的应用程序客户端来满足不同租户的需要,会造成应用程序客户端过于笨重,集成应用数量存在瓶颈。并且单一的应用程序客户端无法满足部分租户应用私有化的需求,存在跨租户部署问题,存在安全风险问题。
如果通过定制多个应用程序客户端来适应多租户私有化需求,需要为不同租户分别维护一套客户端版本,导致版本维护工作量大,且版本拆分也会带来版本差异等一系列问题。
第二种在线应用,这种方式通过在用户终端集成浏览器插件,用户直接访问在线应用程序。这种方式不存在版本更新的问题,但每一个应用操作界面,都需要在线访问。由于每一个页面都需要等待加载,导致响应较慢。并且一旦客户离线,就会报404错误,用户体验差。这种方式并不适合企业级应用。如果采用本地缓存方式来提升访问速度,在应用程序版本变更后,可能会存在手动清空缓存、版本兼容性等问题。
第三种本地实时更新,这种方式是每一次点击应用程序时,实时检测版本变更,并实时更新应用程序。当用户每次新打开应用程序时,用户都需要等待应用程序更新完成,且本地无法感知租户合约的变化和用户应用权限的变化,从而无法满足多租户应用更新需求。
有鉴于此,为了实现多租户模式下,用户终端自动更新应用程序,减少应用程序版本更新频次,保持前端和后端应用版本一致,以及避免应用程序版本兼容性问题,本申请实施例提供一种应用更新方法、装置、计算机设备、计算机存储介质。
在对本申请实施例提供一种应用更新方法进行详细描述之前,首先对本申请涉及的技术进行简要介绍。
本申请实施例涉及的“租户”是指按需订购SaaS应用的企业组织或者群组等。“用户”是指直接使用SaaS应用的用户,并且一个租户可以包括多个用户,其中,各个用户的权限可以相同或者不同。
同时,一个SaaS应用可以包括多个子应用。一个租户可以根据SaaS应用的租赁协议获取该租户定制的SaaS应用。同时,该租户下的用户可以根据自己的权限获取相应版本的子应用。
图1为本申请实施提供的一种多租户场景下的应用更新***的示意图,如图1所示,该多租户场景下的应用更新***可以包括终端11和SaaS应用服务端12,该终端11可以为用户终端,该终端安装有应用程序的客户端,通过该应用程序的客户端可以与SaaS应用服务端12通过网络可以进行数据交互,以实现本申实施例提供的应用更新方法。终端11可以提供面向用户的下载或更新处理。终端面向应用用户的下载或更新的方式可以包括但不限于应用程序方式或网页方式等。
本实施例中,终端11具体可以包括计算机、笔记本电脑、平板电脑、手机等可以安装应用程序的计算机设备。本申请实施例中终端11上运行的操作***可以包括但不限于安卓***、IOS***、windows***以及Linux***等。
图2示出本申请实施例提供的一种终端的界面示意图,结合图1和图2,在终端11上显示SaaS应用服务的客户端21,在该客户端21中包括子应用1、子应用2至子应用n。
图3示出本申请实施例提供的一种应用更新方法的流程示意图,如图3所示,该应用更新方法可以应用于如图1所示的SaaS应用服务端12。该应用更新方法包括以下步骤:
S31,获取全局应用版本信息以及与全局应用版本信息对应的全局应用版本校验值,全局应用版本信息包括与至少一个用户对应的SaaS应用中每个子应用信息。
S32,基于终端发送的登录用户的身份信息,从所述全局应用版本信息中确定远程用户应用版本信息,远程用户应用版本信息包括与身份信息对应的子应用信息。
S33,基于远程用户应用版本信息,生成远程用户应用版本校验值。
S34,基于全局应用版本校验值、远程用户应用版本校验值以及远程用户应用版本信息,生成远程用户应用令牌。
S55,向终端发远程用户应用令牌,以使终端在远程用户应用令牌与本地用户应用令牌不一致的情况下,更新子应用信息。
在上述实施例中,能够通过获取全局应用版本信息,可以得到与登录用户的身份信息对应的远程用户应用版本信息,如此,可以确定用户可以所有子应用信息。并且基于全局应用版本校验值、用户应用版本校验值以及远程用户应用版本信息,生成远程用户应用令牌,从而使得客户端通过对远程用户应用令牌与本地用户应用令牌的比较,确定登录用户所需应用程序与本地应用程序是否存在差异,并且在存在差异的情况下,实现了对本地应用程序的更新,如此,实现在多租户模式下,用户终端自动更新应用程序,减少应用程序版本更新频次,保持前端和后端应用版本一致,以及避免应用程序版本兼容性问题。
上述各步骤的具体实现方式将在下文中进行详细描述。
在S31中,至少一个用户可以是指租赁SaaS应用的租户名下的用户。该全局应用版本信息可以包括租户中每个用户对应的SaaS应用中每个子应用信息。也就是说,全局应用版本信息可以为用户所属的租户对应的全局应用版本清单。全局应用版本清单可以包括租户所租赁的应用的信息集合,在该信息集合可以包括子应用名称、子应用图标、子应用权限、子应用功能、子应用版本等信息。
本申请涉及的“SaaS应用”可以是指供应链管理、人力资源管理和客户关系管理类等功能性***的应用。
在一些实施例中,S31可以包括以下步骤:
基于租赁协议获取全局应用版本信息;
对所述全局应用版本信息进行校验计算,得到全局应用版本校验值。
这里,SaaS服务端可以通过租户租赁SaaS应用的租赁协议获取全局应用版本信息。当租赁协议发生变更时,全局应用版本信息也相应发生变化。例如,当租户新增合约内容时,全局版本信息中的内容也相应增加。当租约到期未续租时,同步暂停应用服务,从而无法获取全局版本信息或者获取全局版本信息为空。如此,在本申请实施例中,SaaS服务端可以通过租户合约动态变更,检测租户应用版本信息的变更。
当然,全局应用版本信息也可以预先存储在外部设备,SaaS服务端从外部设备获取。在本申请实施例中,对获取全局应用版本信息的方式不做限制。
本申请实施例涉及的“全局应用版本校验值”可以根据全局应用版本信息生成的。具体地,基于校验算法对全局应用版本信息进行校验计算,生成全局应用版本校验值。可选地,校验算法可以是哈希算法、信息摘要算法(Message Digest Algorithm,MD5)、或者安全散列算法(Secure Hash Algorithm,SHA)。
这里,通过校验算法可以计算出与全局应用版本信息对应的,长度固定的字符串,即全局应用版本校验值。
例如,SaaS服务端基于哈希算法对全局应用版本信息进行哈希计算,生成全局应用版本哈希值。
需要说明的是,校验算法还可以为其它算法,如奇偶校验算法、海明码校验算法以及循环冗余校验算法等。在本申请实施例中,校验算法的类型不做限制。
在实际应用中,SaaS服务端获取全局应用版本校验值的方式可以为SaaS服务端生成全局应用版本校验值,或者由外部设备生成,SaaS服务端从外部设备获取。在本申请实施例中,SaaS服务端获取全局应用版本校验值的方式不做限制。
在S32中,登录用户的身份信息可以为在终端登录客户端的用户的身份信息。身份信息可以包括用户标识,用户角色和用户权限等信息。
这里,终端发送身份信息的方式可以有多种,例如在终端检测到存在客户端对应的本地状态令牌,其中,本地状态令牌包括登录用户的身份信息。终端向SaaS应用服务端发送状态恢复请求,该请求携带本地状态令牌。
或者,在终端没有检测到存在客户端对应的本地状态令牌的情况下,终端显示客户端的登录界面,接收用户输入的账号信息,并向SaaS应用服务端发送登录请求,其中,登录请求中携带登录的身份信息。
本申请实施例涉及的“远程用户应用版本信息”可以是从全局应用版本信息中确定的与用户身份对应的应用版本信息。远程用户应用版本信息可以包括用户对应的子应用信息。子应用信息可以包括子应用名称、子应用图标、子应用权限、子应用功能、子应用版本等信息。
在一个示例中,SaaS服务端接收终端发送的携带登录用户的身份信息的登录请求,对用户身份进行验证。当用户身份通过验证之后,SaaS服务端根据登录请求中携带的身份信息,从全局应用版本信息中确定与身份信息对应的远程用户应用版本信息。
在一些实施例中,S32可以具体包括以下步骤:
基于终端发送的登录用户的身份信息,获取与身份信息对应的子应用功能权限;
基于所述子应用功能权限,从所述全局应用版本信息确定与身份信息对应的目标子应用信息;
基于目标子应用信息,确定远程用户应用版本信息。
这里,SaaS服务端从全局应用版本信息中确定与登录用户的身份信息对应的远程用户应用版本信息,可以执行为:SaaS服务端基于全局应用版本信息,对用户权限及应用功能进行聚类分析,得到基于登录用户的身份信息的聚类结果,从而得到远程用户应用版本信息。
在S33中,SaaS服务端可以基于校验算法对远程用户应用版本信息、进行校验计算,生成远程用户应用版本校验值。
需要说明的是,步骤S33中的校验算法可以与前述实施例中校验算法一致。
例如,SaaS服务端基于哈希算法对远程用户应用版本信息进行哈希计算,生成远程用户应用版本校验值。
在S34中,远程用户应用令牌可以是一个单独的信息块。远程用户应用令牌可以包括全局应用版本校验值、远程用户应用版本校验值以及远程用户应用版本信息。
在一些实施例中,S34可以包括:
将全局应用版本校验值、用户应用版本校验值以及远程用户应用版本信息作为令牌签名内容,得到远程用户应用令牌。
这里,SaaS服务端可以将全局应用版本校验值、远程用户应用版本校验值以及远程用户应用版本信息作为令牌签名内容,从而生成远程用户应用令牌。
在S35中,本地用户应用令牌可以是根据终端中本地应用版本信息生成的。本地应用版本信息可以包括子应用名称、子应用图标、子应用功能和子应用版本等信息。
这里,终端可以将本地应用版本信息作为令牌签名内容,从而生成本地用户应用令牌。
在S35中,SaaS服务端向终端发送远程用户应用令牌。终端在接收到远程用户应用令牌后,检测远程用户应用令牌与本地用户应用令牌是否一致。在检测到远程用户应用令牌与本地用户应用令牌不一致的情况下,更终端中的子应用信息。
本申请实施例涉及的“终端中的子应用信息”可以是指终端中SaaS应用客户端中子应用信息。终端中的子应用信息可以结构化存储在终端中。
在一些实施例中,远程用户应用令牌与本地用户应用令牌是否一致,可以包括以下至少之一:远程用户应用令牌中的远程用户应用版本信息与本地用户应用令牌中的本地用户应用版本信息是否一致;远程用户应用令牌中的远程用户应用版本校验值与本地用户应用版本信息中本地用户版本校验值是否一致;远程用户应用令牌中的全局应用版本校验值与本地用户应用版本信息中本地全局版本校验值是否一致。
这里,全局应用版本校验值与本地全局版本校验值不一致,意味着用户所属租户的SaaS租赁协议发生变化,从而登录用户对应的子应用也可能相应发生变化。以及远程用户应用版本校验值与本地用户版本校验值不一致,可以表示登录用户对应的子应用信息发生了变化。
图4示出本申请实施例提供的一种应用更新方法的流程示意图,如图4所示,该应用更新方法可以应用于如图1所示的终端12。该应用更新方法包括以下步骤:
S41,向SaaS应用服务端发送登录用户的身份信息。
S42,从SaaS应用服务端获取远程用户应用令牌。
这里,远程用户应用令牌是根据基于全局应用版本校验值、用户应用版本校验值以及远程用户应用版本信息生成的。全局应用版本校验值是与全局应用版本信息对应的。全局应用版本信息包括与至少一个用户对应的SaaS应用中每个子应用信息。远程用户应用版本信息包括与登录用户的身份信息对应的子应用信息。远程用户应用版本校验值是基于远程用户应用版本信息生成的。
S43,在远程用户应用令牌与本地用户应用令牌不一致的情况下,更新子应用信息。
在上述实施例中,通过向SaaS应用服务端发送登录用户的身份信息,从而获取远程用户应用令牌,并且将远程用户应用令牌与本地用户应用令牌进行比较,在远程用户应用令牌与本地用户应用令牌不一致的情况下,更新子应用信息,如此,实现了对本地应用程序的更新。同时,实现在多租户模式下,用户终端自动更新应用程序,减少应用程序版本更新频次,保持前端和后端应用版本一致,以及避免应用程序版本兼容性问题。
在一些实施例中,在远程用户应用令牌与本地用户应用令牌一致的情况下,终端不用更新子应用信息,从而终端可以直接启动子应用程序。
在一些实施例中,S43可以包括以下步骤:
在远程用户应用令牌与本地用户应用令牌不一致的情况下,获取本地用户应用版本信息;
从远程用户应用令牌中获取远程用户应用版本信息;
基于本地用户应用版本信息与远程用户应用版本信息的差异信息,生成子应用更新信息,应用程序更新信息包括至少一个目标子应用的更新信息;
基于子应用更新信息,更新子应用功能。
这里,子应用更新信息可以包括终端需要更新的子应用版本信息。终端将本地用户应用版本信息与远程用应用版本进行比对,得到两者的差异信息,并根据该差异信息生成子应用更新信息,从而终端基于子应用更新信息更新客户端中子应用功能。
如此,可以使得终端根据登录用户所需的子应用来更新本地子应用,从而达到快速更新本地子应用以及避免频繁更新应用版本的目的。
为了更好地理解本申请实施例提供的应用更新方法,本申请实施例还提供另一种应用更新方法,图5示出本申请实施例提供的另一种应用更新方法,该方法应用于如图1所示的应用更新***,该应用更新方法可以包括以下步骤:
S51,终端响应于应用程序的客户端的启动指令,启动该客户端。
S52,终端检测状态保持状态令牌(Token)是否存在。在存在的情况下,转入S53。在不存在的情况下,转入S56。
这里,状态保持Token为登录有效凭证,客户端可以通过该状态保持Token向SaaS应用服务端请求恢复状态,也就是说,
S53,终端获取本地用户应用令牌。
S54,终端向SaaS应用服务端发送状态恢复请求,请求状态恢复。
这里,状态恢复请求中携带状态保持Token。
S55,SaaS应用服务端检测状态保持Token是否过期。在过期的情况下,转入S56。在未过期的情况下,转入步骤S58。
S56,SaaS应用服务端向终端返回要求用户登录的信息。
S57,终端显示登录界面,接收登录信息,并向SaaS应用服务端发送认证信息。
S58,SaaS应用服务端认证成功。
这里,SaaS应用服务端基于终端发送的认证信息,对用户身份进行认证。在用户身份通过认证的情况下,向终端发送认证成功信息。
S59,SaaS应用服务端获取全局应用版本信息以及远程用户应用版本信息。
这里,远程用户应用版本信息可以基于全局应用版本信息,对用户权限及应用功能进行聚类,确定远程用户应用版本信息。
S510,SaaS应用服务端向终端发送认证成功信息及远程用户应用令牌。
这里,远程用户版本令牌可以基于全局应用版本校验值和远程用户应用版本校验值,远程用户应用版本信息,生成远程用户应用令牌。
S511,终端检测是否存在本地应用数据。在不存在的情况下,转入S512,在存在的情况下,转入S513。
这里,本地应用数据可以包括客户端的数据。
S512,终端启动异步应用下载流程,在下载完成后,转入S511。
S513,判断本地用户应用令牌和远程用户应用令牌是否一致。在一致的情况下,转入S514。在不一致的情况下,转入S517。
S514,终端引用本地应用版本信息,转入S515和S516。
S515,终端将客户端工作台首页准备就绪,再转入S525。
S516,终端更新应用状态,转入S523。
S517,终端启动本地应用更新流程,转入S518和S519。
S518,终端引用远程本用户应用版本信息,转入S515。
S519,终端获取本地应用列表。
S520,终端异步比对远程应用列表以及本地应用列表。
这里,终端可以根据远程应用令牌,获取远程应用列表。远程应用列表是从远程用户应用版本信息得到。
S521,终端生成更新应用列表。
S522,终端基于更新应用列表,启动异步应用下载。
S523,终端将应用准备就绪。
S524,终端将客户端工作台准备就绪。
需要说明的是,本申请实施例中涉及的应用为客户端中的子应用。
在上述实施例中,通过比较远程用户应用令牌以及本地用户应用令牌是否一致,来确定是否更新客户端中的应用,从而实现了应用的自动更新,并且避免了频繁发布客户端版本。客户端可以集成并更新用户权限范围内的应用,如此可以没有应用数量限制,满足了部分用户私有化的需求,不存在跨租户部署,降低了安全风险。
并且相对在线应用更新,采用本申请实施例提供的应用刚更新方法可以实时响应,避免了404报错,并且也无需清空缓存。
以及,相对本地实时更新,本申请实施例提供的应用刚更新方法,可以通过远程应用令牌与本地应用令牌的比较,动态感知租户合约的变化和用户应用权限的变化,满足多租户应用更新需求,提升用户体验。
在一些实施例中,如图5所示,在S51,终端响应于应用程序的客户端的启动指令,启动该客户端之后,该应用程序更新方法还包括:
S525,终端异步检测客户端的标识是否存在。在不存在的情况下,转入S526,在存在的情况下,转入S527。
这里,终端检测客户端的标识是否存在,可以理解为终端检测是否客户端的本地数据。
S526,初始化本地用户应用列表。
这里,在不存在的情况下,终端将本地用户应用列表初始化为空值。
S527,终端准备本地用户应用列表。
这里,在存在的情况下,终端读取本地数据,准备本地用户应用列表。便于在用户登录客户端后,终端向用户在客户端展示本地用户应用列表。
在一些实施例中,图6示出本申请实施例提供的又一种应用更新方法的流程示意图,结合图5和图6所示,在S524,终端将客户端工作台准备就绪后,该应用更新方法还包括:
S61,终端在客户端显示应用功能列表。
这里,客户端的工作台首页准备就绪,终端在工作台显示应用功能列表。
S62,终端接收对应用的启动操作。
这里,启动操作可以是点击操作。
S63,终端响应于启动操作,检测该应用是否可用。在可用的情况下,转入S64,在不可用的情况下,转入S65。
这里,终端响应于启动操作,通过拦截启动操作,触发应用启动事件,检测该应用是否可用。
S64,终端启动应用。
S65,终端更新并显示应用更新进度。
S66,终端向异步下载发送插队命令,转入S67和S69。
S67,终端执行插队操作,以使该应用优先下载,转入S68。
这里,终端采用先进先出的顺序,下载队列中的应用。因此,终端在执行插队操作时,可以将该应用移至下载队列队首,以便优先下载该应用。
并且在执行插队操作之前,终端还需检测该应用是否在下载队列中,如果在下载队列中,则将该应用直接移至下载队列队首,如果不在下载队列中,则将该应用加入下载队列,并将该队列移至队列队首。
此外,终端可以响应于用户可以根据S69中检测结果,应用的优先选择操作,执行插队操作。
S68,终端异步检测应用下载是否完成。在下载完成的情况下,转入S64。在未完成的情况下,转入S65。
这里,终端可以异步启动异步下载进度检测线程检测应用下载是否完成。
S69,终端异步调用下载程序下载队列中的应用。
S610,终端在下载完成后,更新应用状态。
S611,终端将应用准备就绪。
S612,终端在应用下载完成后,更新本地用户应用令牌。
在上述实施例中,通过采用拦截模式,检测应用是否可以被启动,从而在不启动的情况下,优先下载该应用,不仅实现客户端应用的实时更新,还提高了用户打开应用的速度,提升了用户体验。
在一些实施例中,如图6所示,该应用更新方法还包括:
S613,终端启动异步应用下载。
这里,终端检测到不存在本地数据后,启动异步应用下载。
S614,终端将待下载应用加入下载队列,转入S69。
这里,终端将全量更新应用加入下载队列。
基于与本申请提供的应用更新方法相同的技术构思,本申请实施例还提供一种应用更新***。图7示出了本申请实施例提供的一种应用更新***的结构示意图。如图7所示,该应用更新***70可以包括:状态恢复模块71,登录控制模块72,用户操作拦截模块73,应用更新模块74,本地存储模块75和应用控制模块76。
这里,状态恢复模块71,用于客户端状态恢复,以及调度登陆控制单元72。
登录控制模块72,用于调度客户端登录界面,保持客户端登录状态。
用户操作拦截模块73,用于拦截用户启动应用操作,检测用户所要启动的应用。
应用控制模块76,用于全局调度,调度应用更新模块74、调度本地存储模块75以及用户操作拦截模块73。
应用更新模块74,用于接受应用控制模块76的插队操作,调度应用更新下载,检测本地应用版本,检测更新进度,管理应用下载及安装。
本地存储模块75,用于存储用户应用令牌,本地用户应用版本信息,及本地应用程序。其中,本地用户应用版本信息可以包括本地应用清单以及应用本地功能清单。
在一些实施例,状态恢复模块71,具体用检测到客户端处于活动进程,触发应用状态恢复事件;还用于判断可否让客户端进行状态恢复,如果无法恢复状态,调用登陆管理单元72,实现对状态恢复;还用于完成状态恢复后,将客户端的标识发送给应用控制模块76。
应用控制模块76,用于基于客户端的标识,收集本地环境信息,包含客户端环境串号,应用版本校验值,用户版本列表。
在一些实施例中,状态恢复模块71还可以用于在完成状态恢复后,收集客户端本地环境,并发送给应用控制模块76。
在一些实施例中,应用控制模块76,具体用于检测客户端的应用是否通过版本匹配,以及判断是否需要进行版本更新;还用于在需要更新的情况下,生成更新列表,发送至应用更新模块74。
在一些实施例中,用户操作拦截模块73,具体用于在启动应用时,拦截应用启动操作,触发应用启动事件,并将该应用发送给应用控制单元处理74。
应用控制模块76,具体用于判断启动的应用是否处于更新状态,在更新状态下,获取更新状态;在不处于更新状态的情况下,判断是否该应用是否在更新队列中;在更新队列中,直接插队,获取更新状态;如果不在更新队列中,判断该应用是否需要更新,如果该应用需要更新,加入下载队列,并插队;如果该应用不需要更新,则直接打开应用。
在一些实施例中,本地存储模块75,具体用于结构化存储本地对象。其中,该本地对象包括:用户应用令牌。
基于与本申请提供的应用更新方法相同的技术构思,本申请实施例还提供一种应用更新装置。图8示出了本申请实施例提供的一种应用更新装置的结构示意图,如图8所示,该应用更新装置80可以应用于SaaS服务端,该应用更新装置80可以包括:
全局校验获取模块81,用于获取全局应用版本信息以及与所述全局应用版本信息对应的全局应用版本校验值;全局应用版本信息包括与至少一个用户对应的SaaS应用中每个子应用信息。
远程信息确定模块82,用于终端发送的登录用户的身份信息,从所述全局应用版本信息中确定远程用户应用版本信息,远程用户应用版本信息包括与身份信息对应的子应用信息;
远程校验生成模块83,用于基于所述远程用户应用版本信息,生成远程用户应用版本校验值。
远程令牌生成模块84,用于基于所述全局应用版本校验值、所述远程用户应用版本校验值以及所述远程用户应用版本信息,生成远程用户应用令牌。
令牌发送模块85,用于向所述终端发送所述远程用户应用令牌,以使所述终端在所述远程用户应用令牌与本地用户应用令牌不一致的情况下,更新子应用信息。
在一些实施例中,远程信息确定模块82,具体用于基于终端发送的登录用户的身份信息,获取与用户身份信息对应的子应用功能权限;基于所述子应用功能权限,从所述全局应用版本信息确定与身份信息对应的目标子应用信息;基于所述目标子应用信息,确定远程用户应用版本信息。
在一些实施例中,远程令牌生成模块84,具体用于所述全局应用版本校验值、用户应用版本校验值以及所述远程用户应用版本信息作为令牌签名内容,得到远程用户应用令牌。
基于与本申请提供的应用更新方法相同的技术构思,本申请实施例还提供一种应用更新装置。图9示出了本申请实施例提供的一种应用更新装置的结构示意图,如图9所示,该应用更新装置90可以应用于SaaS服务端,该应用更新装置90可以包括:
请求发送模块91,用于向SaaS应用服务端发送登录用户的身份信息。
远程令牌获取模块92,用于从SaaS应用服务端获取远程用户应用令牌;远程用户应用令牌是根据基于全局应用版本校验值、用户应用版本校验值以及远程用户应用版本信息生成的。
这里,全局应用版本校验值是与全局应用版本信息对应的,全局应用版本信息包括与至少一个用户对应的SaaS应用中每个子应用信息。远程用户应用版本信息包括与身份信息对应的子应用信息。远程用户应用版本校验值是基于远程用户应用版本信息生成的。
更新模块93,用于在远程用户应用令牌与本地用户应用令牌不一致的情况下,更新子应用。
在一些实施例中,更新模块93,具体用于在所述远程用户应用令牌与本地用户应用令牌不一致的情况下,获取本地用户应用版本信息;从远程用户应用令牌中获取远程用户应用版本信息;基于本地用户应用版本信息与所述远程用户应用版本信息的差异信息,生成子应用更新信息,应用程序更新信息包括至少一个目标子应用的更新信息;基于子应用更新信息,更新子应用。
基于与本申请提供的应用更新方法相同的技术构思,本申请实施例还提供一种计算机设备。图10示出了本申请实施例提供的一种计算机设备的硬件结构示意图。
如图10所示,在计算机设备可以包括处理器101以及存储有计算机程序指令的存储器102。
具体地,上述处理器101可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器102可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器102可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器102可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器102可在综合网关容灾设备的内部或外部。在特定实施例中,存储器102是非易失性固态存储器。
存储器102可包括只读存储器,随机存取存储器,磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本申请任意实施例提供的应用更新方法所描述的操作。
处理器101通过读取并执行存储器102中存储的计算机程序指令,以实现上述实施例中的任意一种应用更新方法。
在一个示例中,计算机设备还可包括通信接口103和总线104。其中,如图10所示,处理器101、存储器102、通信接口103通过总线104连接并完成相互间的通信。
通信接口103,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线104包括硬件、软件或两者,将在计算机设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、***组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线104可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该计算机设备可以基于执行本申请实施例中的方法,从而实现结合图1至图9描述的应用更新***、应用更新方法和应用更新装置。
另外,结合上述实施例中的应用更新方法,本申请实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种应用更新方法。
此外,结合上述实施例中的应用更新方法,本申请实施例提供一种计算机程序产品,包括计算机程序或指令,计算机程序或指令被处理器执行时实现上述实施例中的任意一种应用更新方法。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或***。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本申请的实施例的应用更新方法、装置、计算机设备和计算机程序产品的流程图和/或框图描述了本申请的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的***、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种应用更新方法,其特征在于,应用于软件即应用(SaaS)服务端,所述方法包括:
获取全局应用版本信息以及与所述全局应用版本信息对应的全局应用版本校验值,所述全局应用版本信息包括与至少一个用户对应的SaaS应用中每个子应用信息;
基于终端发送的登录用户的身份信息,从所述全局应用版本信息中确定远程用户应用版本信息,所述远程用户应用版本信息包括与所述身份信息对应的子应用信息;
基于所述远程用户应用版本信息,生成远程用户应用版本校验值;
基于所述全局应用版本校验值、所述远程用户应用版本校验值以及所述远程用户应用版本信息,生成远程用户应用令牌;
向所述终端发送所述远程用户应用令牌,以使所述终端在所述远程用户应用令牌与本地用户应用令牌不一致的情况下,更新子应用信息。
2.根据权利要求1所述的方法,其特征在于,于终端发送的登录用户的身份信息,从所述全局应用版本信息中确定远程用户应用版本信息,包括:
基于终端发送的登录用户的身份信息,获取与所述身份信息对应的子应用功能权限;
基于所述子应用功能权限,从所述全局应用版本信息确定与所述身份信息对应的目标子应用信息;
基于所述目标子应用信息,确定远程用户应用版本信息。
3.根据权利要求1所述的方法,其特征在于,所述获取全局应用版本信息以及与所述全局应用版本信息对应的全局应用版本校验值,包括:
基于租赁协议获取全局应用版本信息;
对所述全局应用版本信息进行校验计算,得到全局应用版本校验值。
4.根据权利要求1所述的方法,其特征在于,基于所述全局应用版本校验值、所述远程用户应用版本校验值以及所述远程用户应用版本信息,生成远程用户应用令牌,包括:
将所述全局应用版本校验值、用户应用版本校验值以及所述远程用户应用版本信息作为令牌签名内容,得到远程用户应用令牌。
5.一种应用更新方法,其特征在于,应用于终端,所述方法包括:
向SaaS应用服务端发送登录用户的身份信息;
从所述SaaS应用服务端获取远程用户应用令牌;所述远程用户应用令牌是根据基于全局应用版本校验值、用户应用版本校验值以及远程用户应用版本信息生成的;
在所述远程用户应用令牌与本地用户应用令牌不一致的情况下,更新子应用。
6.根据权利要求1所述的方法,其特征在于,所述在所述远程用户应用令牌与本地用户应用令牌不一致的情况下,更新所述子应用,包括:
在所述远程用户应用令牌与本地用户应用令牌不一致的情况下,获取本地用户应用版本信息;
从所述远程用户应用令牌中获取远程用户应用版本信息;
基于所述本地用户应用版本信息与所述远程用户应用版本信息的差异信息,生成子应用更新信息,应用程序更新信息包括至少一个目标子应用的更新信息;
基于子应用更新信息,更新子应用。
7.一种应用更新装置,其特征在于,应用于SaaS服务端,所述装置包括:
全局校验获取模块,用于获取全局应用版本信息以及与所述全局应用版本信息对应的全局应用版本校验值,所述全局应用版本信息包括与至少一个用户对应的SaaS应用中每个子应用信息;
远程信息确定模块,用于终端发送的登录用户的身份信息,从所述全局应用版本信息中确定远程用户应用版本信息,所述远程用户应用版本信息包括与所述身份信息对应的子应用信息;
远程校验生成模块,用于基于所述远程用户应用版本信息,生成远程用户应用版本校验值;
远程令牌生成模块,用于基于所述全局应用版本校验值、所述远程用户应用版本校验值以及所述远程用户应用版本信息,生成远程用户应用令牌;
令牌发送模块,用于向所述终端发送所述远程用户应用令牌,以使所述终端在所述远程用户应用令牌与本地用户应用令牌不一致的情况下,更新子应用信息。
8.一种应用更新装置,其特征在于,应用于终端,所述装置包括:
请求发送模块,用于向SaaS应用服务端发送登录用户的身份信息。
远程令牌获取模块,用于从SaaS应用服务端获取远程用户应用令牌;远程用户应用令牌是根据基于全局应用版本校验值、用户应用版本校验值以及远程用户应用版本信息生成的;
更新模块,用于在远程用户应用令牌与本地用户应用令牌不一致的情况下,更新子应用。
9.一种计算机设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-6任一所述的应用更新方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-6任一项所述的应用更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111416114.0A CN114020313A (zh) | 2021-11-25 | 2021-11-25 | 应用更新方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111416114.0A CN114020313A (zh) | 2021-11-25 | 2021-11-25 | 应用更新方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114020313A true CN114020313A (zh) | 2022-02-08 |
Family
ID=80066318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111416114.0A Pending CN114020313A (zh) | 2021-11-25 | 2021-11-25 | 应用更新方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114020313A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116795446A (zh) * | 2022-03-25 | 2023-09-22 | 西安即刻易用网络科技有限公司 | 一种子应用打开方法、配置方法及多应用管理平台 |
-
2021
- 2021-11-25 CN CN202111416114.0A patent/CN114020313A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116795446A (zh) * | 2022-03-25 | 2023-09-22 | 西安即刻易用网络科技有限公司 | 一种子应用打开方法、配置方法及多应用管理平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10613788B2 (en) | Data migration between cloud storage systems | |
CN108900559B (zh) | 登录凭证的管理方法、装置、计算机设备及存储介质 | |
US9942349B2 (en) | Incremental browser-based device fingerprinting | |
US10127057B2 (en) | Method and apparatus for dynamically implementing application function | |
EP3575975B1 (en) | Method and apparatus for operating smart network interface card | |
CN108418787B (zh) | 企业资源计划数据的采集方法、终端设备及介质 | |
KR102080156B1 (ko) | 자동 재충전 시스템, 방법 및 서버 | |
US20170300696A1 (en) | Software verification method and apparatus | |
CN113271296B (zh) | 一种登录权限管理的方法和装置 | |
CN113505354B (zh) | 一种数据处理方法、装置及存储介质 | |
CN112468511B (zh) | 文件传输方法和装置 | |
CN110895603A (zh) | 多***账号信息整合方法和装置 | |
CN110601832A (zh) | 一种数据访问方法及装置 | |
CN114020313A (zh) | 应用更新方法及相关设备 | |
TWI581187B (zh) | 傳送用以安裝作業系統之資料影像的技術 | |
CN114048506A (zh) | 应用控制方法、装置、设备以及存储介质 | |
US20060080399A1 (en) | Remote configuration management for data processing units | |
CN112653685A (zh) | 客户端辅助进项通道云端交互的方法及电子设备 | |
JP2010122776A (ja) | 特権id管理システム | |
US20160072923A1 (en) | Client system communication with a member of a cluster of server systems | |
CN113360172B (zh) | 应用部署方法、装置、计算机设备及存储介质 | |
US20220321346A1 (en) | Token management for asynchronous request-reply | |
CN112671844B (zh) | 一种设备的注册方法及*** | |
CN115617823A (zh) | 地图更新数据下载方法、装置、设备及可读介质 | |
CN110677465A (zh) | 一种分布式锁的控制方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |