本发明涉及应用程序运维管理技术领域,特别涉及一种多租户场景下的应用程序更新方法、装置及电子设备。
背景技术:
随着信息技术的快速发展和互联网的兴起,互联网应用程序渗透到各个行业,网络应用程序数量扩张趋势是必然的。任何应用程序开发商都不可能把应用程序开发做到完美,应用程序在使用一段时间之后由于各方面的原因,总会出现这样那样的问题,随着新技术的出现,以及用户要求的不断增加,应用程序升级变得越来越重要。在应用程序的整个生命周期中,升级工作显得更加尤为重要。
目前,应用程序的更新通常采用第三方服务器的方式进行更新,第三方服务器存储的应用程序均是采用单个应用程序更新的方式,相同或相似的开发源的应用程序若采用单独建立应用程序的形式势必在应用程序下载或更新时占用了庞大的网络资源。第三方服务器往往采用节流限制的方式限制不同应用程序使用第三方服务的下载权限,并对下载流量进行限制,例如,限制用户量或一段时间内调用其接口的次数。
另外,随着第三方服务器接入的应用程序越来越多,通常应用程序更新工作主要集中在开发人员身上,由于不同的用户对同一个应用程序可能会存在不同的需求,这样随着用户量的增加,应用开发中需求会越来越多,需求变化也会越来越多。开发人员在依据大量不同的需求进行应用程序开发时,会生成多个定制开发的同一种应用程序,在开发过程中开发代码量会大大增加且复杂,还包括大量冗余代码,不利于代码维护和应用程序更新,从而导致应用程序开发成本高。
因此,亟需提供一种能够适应多租户场景应用更新的技术方案,将同一个应用程序下不同应用程序功能参数的多个子应用程序通过多租户技术的形式存储在服务器中,在应用程序升级时仅需要提供一个应用更新连接接口即可实现对应的多个差异化的子应用程序下载或升级,大大减小了网络流量,节省了网络资源,并能够降低代码的冗余,更有利于代码维护和应用程序的更新,从而降低应用开发及运维成本。
技术实现要素:
为了解决上述技术问题,一方面,本发明提供一种多租户场景下的应用程序更新方法,包括:
客户端向服务器发送目标应用程序的更新请求,所述更新请求包括:所述目标应用程序的目标应用标识和目标应用等级标识,所述目标应用标识包括目标应用程序对应的当前地址标识和当前租户标识;其中,所述服务器中存储有应用程序数据库,所述应用程序数据库中存储有基础应用程序对应的多个子应用程序的应用更新安装包;
所述服务器接收到所述客户端发送的更新请求后,根据所述目标应用标识中的当前租户标识从所述应用程序数据库中获取所述目标应用程序的目标下载路径;其中,所述应用程序数据库中的每个应用更新安装包对应有下载路径,指定子应用程序对应的地址标识相同且租户标识不同,所述地址标识是根据基础应用程序对应的公用配置文件确定的,指定应用更新安装包的应用程序功能参数基于对应的租户标识的租户使用需求配置,其中,所述指定子应用程序为同一个基础应用程序对应的不同子应用程序,指定应用更新安装包为同一个基础应用程序对应的不同子应用程序的应用更新安装包;
所述服务器获取到所述目标下载路径后,将所述更新请求中的目标应用等级标识与所述目标下载路径对应的应用等级标识比较,若所述目标应用等级标识与所述目标下载路径对应的应用等级标识不同,则将所述目标下载路径返回给所述客户端;
所述客户端根据接收到的所述目标下载路径从所述服务器中下载所述目标应用程序对应的应用更新安装包,并执行下载到的应用更新安装包对所述目标应用程序进行更新。
另一方面,本发明提供一种多租户场景下的应用程序更新方法,包括:
接收客户端发送的目标应用程序的更新请求,所述更新请求包括:所述目标应用程序的目标应用标识和目标应用等级标识,所述目标应用标识包括目标应用程序对应的当前地址标识和当前租户标识;
根据所述目标应用标识中的当前租户标识从应用程序数据库中获取所述目标应用程序的目标下载路径;其中,所述应用程序数据库中存储有基础应用程序对应的多个子应用程序的应用更新安装包,所述应用程序数据库中的每个应用更新安装包对应有下载路径,指定子应用程序对应的地址标识相同且租户标识不同,所述地址标识是根据基础应用程序对应的公用配置文件确定的,指定应用更新安装包的应用程序功能参数基于对应的租户标识的租户使用需求配置,其中,所述指定子应用程序为同一个基础应用程序对应的不同子应用程序,指定应用更新安装包为同一个基础应用程序对应的不同子应用程序的应用更新安装包;
将所述目标应用等级标识与所述目标下载路径对应的应用等级标识比较;
若所述目标应用等级标识与所述目标下载路径对应的应用等级标识不同,则将所述目标下载路径返回给所述客户端。
进一步地、所述更新请求还包括:授权标识;所述根据所述目标应用标识中的当前租户标识从应用程序数据库中获取所述目标应用程序的目标下载路径,包括:
根据所述目标应用标识中的当前地址标识调用应用程序连接接口;
通过所述应用程序连接接口查询所述应用程序数据库中是否存储有与所述授权标识相同的待验证授权标识,所述应用程序数据库中的每个应用更新安装包还对应有待验证授权标识;
当所述应用程序数据库中存储有与所述授权标识相同的待验证授权标识时,根据所述目标应用标识中的当前租户标识从所述应用程序数据库中获取所述目标应用程序的目标下载路径。
进一步地、还包括:
接收所述客户端基于所述目标下载路径发送的安装请求;
基于所述安装请求将对应的所述应用更新安装包返回给所述客户端,使得所述客户端执行与所述更新请求对应的目标应用程序的更新。
进一步地、在接收客户端发送的目标应用程序的更新请求之前,所述应用程序数据库中的应用更新安装包构建方法包括:
接收基础应用程序对应的子应用程序对应的安装包生成指令;
查询各个子应用程序对应的基础应用程序的应用开发项目的公用配置文件;公用配置文件中配置有基础应用程序的至少两种差异化的应用程序功能参数;
根据所述安装包生成指令加载所述公用配置文件,以装配各应用程序功能参数相匹配的资源信息,生成至少两种差异化的应用程序功能参数各自对应的应用更新安装包,差异化的应用更新安装包能够同时安装于同一个客户端;
为每个应用更新安装包配置对应的下载路径。
进一步地、所述根据所述安装包生成指令加载所述公用配置文件,以装配各应用程序功能参数相匹配的资源信息,生成至少两种差异化的应用程序功能参数各自对应的应用更新安装包,包括:
根据所述安装包生成指令加载公用配置文件,以加载公用配置文件中的各应用程序功能参数;应用程序功能参数包括界面布局路径;
在加载应用程序功能参数的过程中,加载应用程序功能参数的界面布局路径所对应的布局文件,并根据布局文件装配应用程序功能参数配置的界面资源,以生成应用程序功能参数对应的应用更新安装包;其中,在任意两个应用程序功能参数的布局文件和界面资源中的至少一种不同时,相应生成的应用更新安装包用于安装得到界面差异化的目标应用程序。
进一步地、所述接收基础应用程序对应的子应用程序对应的安装包生成指令,之前包括:
获取基础应用程序的至少两个租户所对应的差异化的使用需求;
创建基础应用程序的应用开发项目所对应的公用配置文件;
在公用配置文件中,根据各租户所对应的使用需求,分区扩展各租户所对应的差异化的应用程序功能参数。
进一步地、所述接收基础应用程序对应的子应用程序对应的安装包生成指令,之前包括:
根据新租户对基础应用程序的使用需求,在与所述基础应用程序对应的公用配置文件中添加分区配置、填写对应的差异化的应用程序功能参数。
进一步地、所述接收基础应用程序对应的子应用程序对应的安装包生成指令,之前包括:
若当前租户改变基础应用程序的使用需求,则修改所述基础应用程序对应的公用配置文件中所述当前租户对应的应用程序功能参数。
再一方面,本发明提供一种多租户场景下的应用程序更新方法,包括:
向服务器发送目标应用程序的更新请求,所述更新请求包括:所述目标应用程序的目标应用标识和目标应用等级标识,所述目标应用标识包括目标应用程序对应的当前地址标识和当前租户标识;
接收所述服务器根据所述目标应用标识中的当前租户标识从应用程序数据库中获取所述目标应用程序的目标下载路径后,并在所述目标应用等级标识与所述目标下载路径对应的应用等级标识不同时返回的所述目标下载路径;其中,所述应用程序数据库中存储有基础应用程序对应的多个子应用程序的应用更新安装包,所述应用程序数据库中的每个应用更新安装包对应有下载路径,指定子应用程序对应的地址标识相同且租户标识不同,所述地址标识是根据基础应用程序对应的公用配置文件确定的,指定应用更新安装包的应用程序功能参数基于对应的租户标识的租户使用需求配置,其中,所述指定子应用程序为同一个基础应用程序对应的不同子应用程序,指定应用更新安装包为同一个基础应用程序对应的不同子应用程序的应用更新安装包;
基于所述目标下载路径向所述服务器发送安装请求,使得所述服务器基于所述安装请求返回对应的所述应用更新安装包;
根据接收到的所述服务器返回的所述应用更新安装包执行目标应用程序的更新。
进一步地、所述向服务器发送目标应用程序的更新请求,包括:
每间隔预设时间向所述服务器发送目标应用程序的更新请求;
或,基于用户输入的更新指令向所述服务器发送目标应用程序的更新请求;
或,当所述目标应用程序不可用时向所述服务器发送目标应用程序的更新请求;
或,接收到所述服务器发送的版本更新提示时,向所述服务器发送目标应用程序的更新请求;
或,在所述目标应用程序运行到预先设定的运行节点时,向所述服务器发送目标应用程序的更新请求。
进一步地、所述根据接收到的所述服务器返回的所述应用更新安装包执行目标应用程序的更新,包括:
获取当前操作系统的系统标识;
判断所述系统标识对应的数值是否大于预设系统安装标识值;
在所述系统标识对应的数值大于预设系统安装标识值时,调取第一应用程序安装接口解析所述服务器返回的应用更新安装包执行目标应用程序的更新;
在所述系统标识对应的数值不大于预设系统安装标识值时,调取第二应用程序安装接口解析所述服务器返回的应用更新安装包执行目标应用程序的更新。
进一步地、所述根据接收到的所述服务器返回的所述应用更新安装包执行目标应用程序的更新,包括:
获取当前操作系统的系统标识;
判断所述系统标识对应的数值是否大于预设系统授权标识值;
在所述系统标识对应的数值大于预设系统授权标识值时,根据接收到的当前操作系统对所述目标应用程序授予的允许安装权限后执行所述目标应用程序的安装。
进一步地、所述应用更新安装包对应有应用标识,所述应用标识包括:租户标识;
所述根据接收到的所述服务器返回的所述应用更新安装包执行目标应用程序的更新,还包括:
获取所述应用更新安装包中的应用标识;
验证所述应用更新安装包中的应用标识的租户标识与当前租户标识是否匹配;
当所述应用更新安装包中的应用标识的租户标识与当前租户标识匹配时,根据所述应用更新安装包执行目标应用程序的更新;
或,
验证所述应用更新安装包中的应用标识与目标应用标识是否匹配;
当所述应用更新安装包中的应用标识与目标应用标识匹配时,根据所述应用更新安装包执行目标应用程序的更新。
又一方面,本发明提供一种多租户场景下的应用程序更新装置,包括:
更新请求接收模块,被配置为执行接收客户端发送的目标应用程序的更新请求,所述更新请求包括:所述目标应用程序的目标应用标识和目标应用等级标识,所述目标应用标识包括目标应用程序对应的当前地址标识和当前租户标识;
目标下载路径获取模块,被配置为执行根据所述目标应用标识中的当前租户标识从应用程序数据库中获取所述目标应用程序的目标下载路径;其中,所述应用程序数据库中存储有基础应用程序对应的多个子应用程序的应用更新安装包,所述应用程序数据库中的每个应用更新安装包对应有下载路径,指定子应用程序对应的地址标识相同且租户标识不同,所述地址标识是从基础应用程序对应的公用配置文件获取的,指定应用更新安装包的应用程序功能参数基于对应的租户标识的租户使用需求配置,其中,所述指定子应用程序为同一个基础应用程序对应的不同子应用程序,指定应用更新安装包为同一个基础应用程序对应的不同子应用程序的应用更新安装包;
比较模块,被配置为执行将所述目标应用等级标识与所述目标下载路径对应的所述应用等级标识比较;
返回模块,被配置为执行若所述目标应用等级标识与所述目标下载路径对应的所述应用等级标识不同,则将所述目标下载路径返回给所述客户端。
又一方面,本发明提供一种多租户场景下的应用程序更新装置,包括:
更新请求发送模块,被配置为执行向服务器发送目标应用程序的更新请求,所述更新请求包括:所述目标应用程序的目标应用标识和目标应用等级标识,所述目标应用标识包括目标应用程序对应的当前地址标识和当前租户标识;使得所述服务器根据所述目标应用标识中的当前租户标识从应用程序数据库中获取所述目标应用程序的目标下载路径后,在所述目标应用等级标识与所述目标下载路径对应的所述应用等级标识不同时返回所述目标下载路径;其中,所述应用程序数据库中存储有基础应用程序对应的多个子应用程序的应用更新安装包,所述应用程序数据库中的每个应用更新安装包对应有下载路径,指定子应用程序对应的地址标识相同且租户标识不同,所述地址标识是从基础应用程序对应的公用配置文件获取的,指定应用更新安装包的应用程序功能参数基于对应的租户标识的租户使用需求配置,其中,所述指定子应用程序为同一个基础应用程序对应的不同子应用程序,指定应用更新安装包为同一个基础应用程序对应的不同子应用程序的应用更新安装包;
目标下载路径接收模块,被配置为执行接收所述服务器返回的所述目标下载路径;
安装请求发送模块,被配置为执行基于所述目标下载路径向所述服务器发送安装请求,使得所述服务器基于所述安装请求返回对应的所述应用更新安装包;
安装模块,被配置为执行根据接收到的所述服务器返回的所述应用更新安装包执行目标应用程序的更新。
再一方面,本发明提供一种多租户场景下的应用程序更新的电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述的多租户场景下的应用程序更新方法。
由于本说明书实施例采用可靠多播的方式进行应用程序更新,将同一个基础应用程序下不同应用程序功能参数的多个子应用程序通过多租户技术的形式存储在服务器中,基础应用程序下的不同租户对应不同的下载路径,在应用程序升级时仅需要提供一个应用更新连接接口即可实现对应的多个差异化的子应用程序的下载或升级,大大减小了网络流量,节省了网络资源,并能够降低代码的冗余,更有利于代码维护和子应用程序的更新,从而降低应用开发及运维成本,在大量租户升级时,分担至每个下载路径的租户相对全部在一个下载路径中的数量少,可以降低单个下载路径的访问量,可以减少单个下载路径的网络流量,解决第三方服务器对限流的限制。并且,租户对应用更新的内容不够明确,或在长时间使用目标应用等级标识对应的目标应用程序产生依赖性,为了更好的服务租户,本申请采用在目标应用程序更新时将对应的下载地址返回给租户对应的客户端,并基于租户或目标应用程序的更新指令完成应用程序的更新,将应用程序升级的许可放在租户侧,提升了用户体验和用户好感度。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1为本说明书实施例提供的一种多租户场景下的应用程序更新系统的应用示意图;
图2为本说明书实施例提供的一种多租户场景下的应用程序更新方法的时序图;
图3为本发明实施例提供的一种多租户场景下的应用更新方法的流程示意图;
图4为本发明实施例提供的又一种多租户场景下的应用更新方法的流程示意图;
图5为本发明实施例提供的另一种多租户场景下的应用更新方法的流程示意图;
图6本发明实施例提供的再一种多租户场景下的应用更新方法的流程示意图;
图7为本发明实施例提供的一种多租户场景下的应用更新装置的结构示意图;
图8为本发明实施例提供的另一种多租户场景下的应用更新装置的结构示意图;
图9为本发明实施例提供的一种多租户场景下的应用程序更新的电子设备的结构示意图。
其中,10-客户端,20-服务器,11-更新请求接收模块,12-目标下载路径获取模块,13-比较模块,14-返回模块,21-更新请求发送模块,22-目标下载路径接收模块,23-安装请求发送模块,24-安装模块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着软件(应用程序)产业的发展,资源合理配置、专业化分工的趋势越来越明显,云计算和软件即服务(saas)的概念也逐渐落地。软件即服务是一种创新的软件应用模式,将软件使用者从应用软件、系统软件、硬件及网络设施的购买及部署维护工作中解脱出来,让软件的使用者更关注自己的业务,而对于基础设施及软件的安装、部署、维护、更新等工作都交给更专业的saas服务提供商来负责企业购买。同时,saas服务提供商为了合理配置资源,提升资源利用效率,往往采用虚拟化的技术,形成统一的大规模资源池,为多个软件使用主体服务,也就是我们常说的多租户模式(multi-tenant)。
具体的,多租户模式可以指服务器上运行单一应用,但是同时服务于多家企业,每一个企业的用户所使用的应用都是自定制版本。这种就是应用本身的共享作为资源,而不是一个企业只能单独使用一台服务器或者一套服务器上运作的单一应用。
请参阅图1,图1为本说明书实施例提供的一种多租户场景下的应用程序更新系统的应用示意图。该多租户场景下的应用程序更新系统可以包括客户端10和服务器20,客户端中安装有应用程序,应用程序可以与服务器进行数据交互,以用于实现本申请的多租户场景下的应用程序更新方法。如图1所示,客户端可以用于提供面向应用用户的下载或更新处理。客户端提供面向应用用户的下载或更新的方式可以包括但不限于应用程序方式或网页方式等。
本申请实施例中,该多租户场景下的应用程序更新系统中的服务器可以包括独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(contentdeliverynetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。在一个示例中,服务器为分布式系统时,该分布式系统可以为区块链系统。
本申请实施例中,所述客户端可以包括智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、增强现实(augmentedreality,ar)/虚拟现实(virtualreality,vr)设备、智能可穿戴设备等类型的实体设备。本申请实施例中客户端上运行的操作系统可以包括但不限于安卓系统、ios系统、linux、windows等。
需要说明的是,以下图中示出的是一种可能的步骤顺序,实际上并不限定必须严格按照此顺序。有些步骤可以在互不依赖的情况下并行执行。
如图2所示,图2为本说明书实施例提供的一种多租户场景下的应用程序更新方法的时序图,本说明书实施例提供了一种多租户场景下的应用更新方法,该方法可以在多租户场景下的应用程序更新系统中执行,图2中10可以表示上述实施例中的客户端,20可以表示上述实施例中的服务器,所述方法可以包括:
s102、客户端向服务器发送目标应用程序的更新请求,所述更新请求包括:所述目标应用程序的目标应用标识和目标应用等级标识,所述目标应用标识包括目标应用程序对应的当前地址标识和当前租户标识;其中,所述服务器中存储有应用程序数据库,所述应用程序数据库中存储有基础应用程序对应的多个子应用程序的应用更新安装包;
s104、所述服务器接收到所述客户端发送的更新请求后,根据所述目标应用标识中的当前租户标识从所述应用程序数据库中获取所述目标应用程序的目标下载路径;其中,所述应用程序数据库中的每个应用更新安装包对应有下载路径,指定子应用程序对应的地址标识相同且租户标识不同,所述地址标识是根据基础应用程序对应的公用配置文件确定的,指定应用更新安装包的应用程序功能参数基于对应的租户标识的租户使用需求配置,其中,所述指定子应用程序为同一个基础应用程序对应的不同子应用程序,指定应用更新安装包为同一个基础应用程序对应的不同子应用程序的应用更新安装包;
s106、所述服务器获取到所述目标下载路径后,将所述更新请求中的目标应用等级标识与所述目标下载路径对应的应用等级标识比较,若所述目标应用等级标识与所述目标下载路径对应的应用等级标识不同,则将所述目标下载路径返回给所述客户端;
s108、所述客户端根据接收到的所述目标下载路径从所述服务器中下载所述目标应用程序对应的应用更新安装包,并执行下载到的应用更新安装包对所述目标应用程序进行更新。
需要说明的是,本说明书实施例提供的多租户场景下的应用更新方法可以在多租户场景下的应用程序更新系统中执行,由于多租户场景下的应用程序更新系统具备客户端10和服务器20,因此,下述实施例分别以服务器20和客户端10作为多租户场景下的应用更新方法的执行主体。具体如下所示:
本说明书实施例提供一种多租户场景下的应用程序更新方法,如图3所示,图3为本发明实施例提供的一种多租户场景下的应用更新方法的流程示意图,本实施例以该方法应用于服务器进行举例说明,该方法可以包括:
s202、接收客户端发送的目标应用程序的更新请求,所述更新请求包括:所述目标应用程序的目标应用标识和目标应用等级标识,所述目标应用标识包括目标应用程序对应的当前地址标识和当前租户标识。
在具体的实施过程中,客户端中安装有当前租户对应的目标应用程序,目标应用程序以客户端为载体与服务器实现数据交互。客户端向服务器发送的更新请求可以包括目标应用程序的目标应用标识和目标应用等级标识,目标应用标识为客户端允许该应用程序安装的唯一标识,当客户端中已经安装有目标应用标识对应的应用程序时,在具有相同的目标应用标识应用程序安装时,客户端将不允许再次进行同一种应用程序的安装。本说明书实施例提供的,目标应用标识可以包括目标应用程序对应的当前地址标识和当前租户标识,目标应用等级标识可以是当前租户对应客户端的应用程序的版本序号,如v1.0.1等,其用于表示当前租户正在使用的目标应用程序的版本标识。
具体地,应用标识(applicationid)用于唯一标识一个应用程序。可以理解,应用程序的安装包在客户端上安装时,客户端的操作系统根据安装包的地址标识和应用标识进行判断,如果应用标识相同则判断为同一应用程序,在同一客户端下只能存在一个这样的应用程序。在本申请中,同一个应用程序可以对应有多个子应用程序,其中,不同的子应用程序可以对应有不同的应用标识,如:同一个应用程序的子应用程序的应用标识中的地址标识可以相同,但租户标识不同,不同的子应用程序对应不同的应用程序功能参数,这样基于不同应用程序功能参数生成的目标应用安装包在同一个计算设备中同时安装时,则不会被操作系统识别为同一个应用程序。例如:应用程序m有2个子应用程序m1、m2,子应用程序m1为租户a定制的,子应用程序m2为租户b定制的,子应用程序m1、m2的整体功能相似,部分功能基于不同用户的使用需求有所不同。其中,子应用程序m1的应用标识为1234578-a,子应用程序m2的应用标识为1234578-b,可以看出子应用程序m1、m2的应用标识中“1234578”部分是相同的,这一部分可以为地址标识,而后面的“a”和“b”部分是不同,这一部分可以为租户标识。因子应用程序m1、m2的应用标识不完全相同,应用程序m1、m2可以同时安装在同一个客户端中。
需要说明的是,应用标识中的租户标识可以一个租户标识对应一个租户,也可以一个租户标识对应多个租户如:对于使用需求相同的租户,可以配置同一个租户标识。
在具体的实施过程中,地址标识可以是应用程序开发者提供、服务器平台分配或应用程序开发平台生成的数字签名等表征该应用程序的唯一性的标志。本说明书实施例中为了标记相同的应用程序,使用地址标识的方式对相同应用程序进行标记,便于查询,即在查找对应的应用程序时仅需要匹配地址标识即可确定多款应用是否为同一种应用程序。并且,本说明书实施例将相同基础应用程序的多种不同的子应用程序采用一个应用程序连接接口实现了客户端侧与服务器数据的交互,节约了网络资源。
其中,应用程序是为了得到某种结果而可以由计算机等具有信息处理能力的客户端执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。目前,用户可以在客户端上安装各种应用程序,如拍照应用程序、社交应用程序或者邮件应用程序等,从而通过客户端上安装的这些应用可以实现各种功能,如拍照功能、社交功能或者电子邮件管理功能等。
在一个实施例中,目标应用程序可以是基于组织的应用程序,比如企业即时通讯应用。组织是多个对象按一定方式相互结合而成的集团或团体,比如学校、班级、企业、部门或者群组等。目标应用程序也可以是基于个人的应用程序,比如个人即时通讯应用。那么基于此,在目标应用程序是基于组织的应用程序时,目标应用程序的应用用户为组织用户,比如企业或者学校等。在目标应用程序是基于个人的应用程序时,目标应用程序的应用用户为个人用户,比如自然人小甲或者小乙等。可以理解的是,应用用户可以包括至少两个不同的应用租户,应用租户可以包括多个相同的租户。
需要说明的是,本申请对目标应用程序所运行的客户端的操作系统不作限定。目标应用所运行的客户端的操作系统可以是视窗(windows)操作系统或linux操作系统或macos(苹果桌面操作系统)等桌面操作系统,也可以是ios(苹果移动客户端操作系统)或者安卓(android)操作系统等移动操作系统。
s204、根据所述目标应用标识中的当前租户标识从应用程序数据库中获取所述目标应用程序的目标下载路径;其中,所述应用程序数据库中存储有基础应用程序对应的多个子应用程序的应用更新安装包,所述应用程序数据库中的每个应用更新安装包对应有下载路径,指定子应用程序对应的地址标识相同且租户标识不同,所述地址标识是根据基础应用程序对应的公用配置文件确定的,指定应用更新安装包的应用程序功能参数基于对应的租户标识的租户使用需求配置,其中,所述指定子应用程序为同一个基础应用程序对应的不同子应用程序,指定应用更新安装包为同一个基础应用程序对应的不同子应用程序的应用更新安装包。
在具体的实施过程中,应用程序数据库可以设置在服务器中,用于存储不同应用程序的应用安装包(应用安装包包括:应用更新安装包和第一次建立的应用安装包)及不同应用安装包的相关参数的数据库。由于本申请是基于单个应用程序的更新方法,因此,本说明书实施例以应用程序数据库中的单个应用程序为例进行说明,可以理解的是,应用程序数据库中存储有多个相同应用程序(基础应用程序)对应的多个子应用程序的应用更新安装包及每个子应用程序应用更新安装包的相关参数。其中,相关参数可以是与应用更新安装包对应的地址标识、租户标识、授权标识、下载路径和应用等级标识等。
参见上述实施例的记载,同一个应用程序可以对应有多个差异化的即不同的应用标识,不同的应用标识对应的子应用程序的应用功能参数不同,且差异化的应用标识对应的应用程序能够同时安装于同一个客户端。基础应用程序的不同应用更新安装包的应用程序功能参数不同,应用程序功能参数基于不同租户的使用需求设置的,可以理解的是,同一个应用程序的子应用程序的功能参数可以部分相同,部分不同,也可以完全不同,具体根据定制该子应用程序的租户的使用需求而定。如:租户a对应的子应用程序m1的登录方式为电话号码登录,租户b对应的子应用程序m2的登录方式为账号登录,租户a对应的子应用程序和租户b对应的子应用程序m2的其他应用程序功能参数相同,但整体上租户a对应的子应用程序m1和租户b对应的子应用程序m2的应用程序功能参数不相同。
在具体的实施过程中,目标应用标识可以包括当前租户标识和当前地址标识,在区分不同租户对应的子应用程序时采用差异化的应用标识来区分,差异化的应用标识来可以具有相同的地址标识和差异化的租户标识,地址标识可以表征对应的应用程序是否为同一个应用程序(基础应用层程序),租户标识可以用于区分不同的租户,差异化的应用标识对应应用程序功能参数不同的同一个应用程序(基础应用程序),差异化的应用标识对应的子应用程序能够同时安装于相同的客户端。可以理解的是,服务器的应用程序数据库中存储有下载路径与当前租户标识的对应关系。
可以理解的是,服务器的应用程序数据库中存储有基础应用程序的不同应用更新安装包,在生成应用更新安装包时可以将对应的应用标识、应用等级标识以及下载路径相互关联,并记录在应用更新安装包之外,即服务器可以通过应用标识、应用等级标识或下载路径获取到应用更新安装包,也可以通过应用更新安装包获取到对应的应用标识、应用等级标识或下载路径。其中,应用程序功能参数是在编写应用程序时分区配置的。
或者,应用更新安装包的名称可以采用应用标识和应用等级标识的组合方式进行命名,应用更新安装包的名称是在生成应用更新安装包是根据应用标识和应用等级标识生成的名称。在服务器匹配目标应用标识和目标应用等级标识时,可以直接在应用更新安装包的名称中提取对应的标识并进行匹配,不需要对应用更新安装包进行解析,能够直接利用具体的数据进行匹配,提高了服务器的计算速度,减少服务器对应用更新安装包的解析时长和服务器的运行内存。
在具体的实施过程中,服务器可以将接收到的目标应用标识与应用程序数据库中存储的多个应用更新安装包对应的应用标识进行比对,在比对成功后,可以获取比对成功的应用更新安装包的目标下载路径,可以理解的是,目标下载路径可以为基于网络中http协议的网络文件地址;也可是p2p下载链接地址,以及bt(bittorrent)链接种子文件(如torrent为后缀名的文件)等形式的目标下载路径。
示例地、服务器中的应用程序数据库中存储有租户标识a、b和c分别对应的应用更新安装包a1、b1和c1,应用更新安装包a1中存储有对应的应用标识a1、应用等级标识va和下载路径xa。服务器可以对接收到的目标应用标识m分别与应用程序数据库中存储有租户标识a、b和c分别匹配,匹配后可以确定出当前租户标识a对应的应用更新安装包a1,再通过应用更新安装包a1获取目标下载路径xa。可以理解的是,当应用程序数据库中未存储当前租户标识a时,可以向对应的客户端返回验证失败的指令。
s206、将所述目标应用等级标识与所述目标下载路径对应的应用等级标识比较。
在具体的实施过程中,目标应用等级标识和服务器存储的应用更新安装包对应的目标应用等级标识比较方式可以如下所示:
更新前
#3.3.1.租户a的目标应用等级标识
versionname:1.0.0
#3.3.2.租户a的版本号
versioncode:1
更新后
#3.3.1.租户a的应用等级标识(服务器存储的应用更新安装包对应的应用等级标识)
versionname:1.0.1
#3.3.2.租户a的版本号
versioncode:2
服务器可以将versionname:1.0.0与versionname:1.0.1比较,也可以采用versioncode:1与versioncode:2相互比较的形式确定当前应用是否需要更新。
s208、若所述目标应用等级标识与所述目标下载路径对应的应用等级标识不同,则将所述目标下载路径返回给所述客户端。
s210、若所述目标应用等级标识与所述目标下载路径对应的应用等级标识相同,则将生成的表征不需要更新的返回值返回给所述客户端。
在具体的实施过程中,相同租户的不同应用等级标识对应的应用更新安装包是不同的,当应用程序更新时,服务器会在新发布的应用更新安装包的基础上重新生成对应的下载路径,该下载路径与应用更新安装包链接,客户端可以通过访问该下载路径的方式完成应用更新安装包的下载。
由于本说明书实施例将同一个基础应用程序下不同应用程序功能参数的多个子应用程序通过多租户技术的形式存储在服务器中,不同租户对应不同的下载路径,在软件应用升级时仅需要提供一个应用更新连接接口即可实现对应的多个差异化的应用下载或升级,大大减小了网络流量,节省了网络资源,并能够降低代码的冗余,更有利于代码维护和应用程序的更新,从而降低应用开发及运维成本,在大量租户升级时,分担至每个下载路径的租户相对全部在一个下载路径中的数量少,可以降低单个下载路径的访问量,可以减少单个下载路径的网络流量,解决第三方服务器对限流的限制。
在上述实施例基础上,本说明书一个实施例中,所述更新请求还包括:授权标识;
图4为本发明实施例提供的又一种多租户场景下的应用更新方法的流程示意图,如图4所示,所述根据所述目标应用标识中的当前租户标识从应用程序数据库中获取所述目标应用程序的目标下载路径,包括:
s302、根据所述目标应用标识中的当前地址标识调用应用程序连接接口。
在具体的实施过程中,应用程序连接接口(applicationprogramminginterface,简称:api)设置在服务器侧,用于将应用程序数据库与客户端中的目标应用程序衔接的约定。
s304、通过所述应用程序连接接口查询所述应用程序数据库中是否存储有与所述授权标识相同的待验证授权标识,所述应用程序数据库中的每个应用更新安装包还对应有待验证授权标识。
s306、当所述应用程序数据库中存储有与所述授权标识相同的待验证授权标识时,根据所述目标应用标识中的当前租户标识从所述应用程序数据库中获取所述目标应用程序的目标下载路径。
在具体的实施过程中,授权标识用于验证客户端发送的目标应用程序的更新请求中的授权标识(可以是身份标识)是否与服务器存储的相关身份信息是否匹配。
其具体的验证过程可以如下所示:
客户端发送更新请求(此时更新请求中携带有授权标识);
服务器端将会生成表征填写授权标识的401页面返回给客户端;
客户端在弹出认证对话框(401页面);
用户输入帐号密码,并点确认;
客户端再次发出更新请求(此时更新请求中携带有授权标识);
服务器端认证通过,并返回包含下载路径的页面;
浏览器显示包含下载路径的页面。
本说明书实施例通过授权标识的形式对租户的身份进行校验,只有在发送的更新请求中携带有能够验证通过的授权标识时,才将对应的目标下载路径返回给客户端,保证了租户信息的安全,增加用户在应用的停留时长,又能够在应用升级时降低同一时刻访问下载路径的数量。
在上述实施例基础上,本说明书一个实施例中,还包括:
接收所述客户端基于所述目标下载路径发送的安装请求;
基于所述安装请求将对应的所述应用更新安装包返回给所述客户端,使得所述客户端执行与所述更新请求对应的目标应用程序的更新。
在具体的实施过程中,客户端中的应用在确定更新时,可以向服务器发送携带有下载路径的安装请求,在服务器接收后可以根据下载路径将对应的应用更新安装包返回给客户端。
租户对应用更新的内容不够明确,或在长时间使用目标应用等级标识对应的当前应用产生依赖性,为了更好的服务租户,本申请采用在应用更新时将对应的下载地址返回给租户对应的客户端,并基于租户或当前应用的更新指令完成应用的更新,将应用升级的许可放在租户侧,提升了用户体验和用户好感度。
在上述实施例基础上,本说明书一个实施例中,所述接收当前租户对应的客户端发送的更新请求,图5为本发明实施例提供的另一种多租户场景下的应用更新方法的流程示意图,如图5所示,接收当前租户对应的客户端发送的更新请求,所述更新请求包括:目标应用标识和目标应用等级标识,之前还包括:
s502、接收基础应用程序对应的子应用程序对应的安装包生成指令。
在具体的实施过程中安装包生成指令可以是应用开发人员在编译对应应用的配置文件后触发的。
s504、查询各个子应用程序对应的基础应用程序的应用开发项目的公用配置文件;公用配置文件中配置有基础应用程序的至少两种差异化的应用程序功能参数。
其中,应用开发项目是对目标应用进行开发的程序项目,公用配置文件是应用开发项目公用的配置文件。公用配置文件中包括目标应用的应用程序功能参数。应用程序功能参数配置了应用程序运行时所需要资源的路径。差异化的应用程序功能参数可用于指示生成差异化的应用安装包,进而安装得到差异化的目标应用。
s506、根据所述安装包生成指令加载所述公用配置文件,以装配各应用程序功能参数相匹配的资源信息,生成至少两种差异化的应用程序功能参数各自对应的应用更新安装包,差异化的应用更新安装包能够同时安装于同一个客户端。
在具体的实施过程中客户端可根据开发用户操作配置应用清单文件,将公用配置文件引入该应用清单文件中。这样在客户端执行打包脚本,会自动装配应用清单文件,进而通过装配应用清单文件加载公用配置文件。由于公用配置文件中配置有差异化的应用程序功能参数,那么在加载公用配置文件时,可分别根据不同的应用程序功能参数装配不同的资源数据,生成至少两种差异化的应用程序功能参数各自对应的目标应用安装包。由于差异化的应用程序功能参数包括差异化的应用标识,各目标应用安装包用于安装得到差异化的目标应用允许同时安装于同一个的客户端。
其中,应用清单文件是每个应用程序的根目录中必须包含的文件。应用清单文件也是一种配置文件,用于对应用程序进行全局配置,操作系统需要根据应用清单文件里的内容运行应用程序的代码以及显示界面。应用清单文件比如安卓操作系统下应用程序的androidmanifest.xml文件,或者,ios操作系统下应用程序的ios系统的声明文件等等。
s508、为每个应用更新安装包配置对应的下载路径。
在具体的实施过程中,应用更新安装包生成后服务器可以重新生成对应的下载路径,该下载路径便于客户端下载或更新该应用。下载路径的生成方式在本说明书实施例中不做具体限定,可以是在第一应用程序接口基础上生成的。
需要说明的是,每个应用开发项目存在唯一对应的公用配置文件。差异化的应用程序功能参数根据差异化的租户使用需求得到,一个应用开发项目对应一个应用标识,那么应用标识至少包括地址标识和租户标识,租户标识与应用租户中的租户对应,每个应用标识的租户标识不同,用于区分不同的应用租户的个性化子应用程序;地址标识与应用开发项目对应,每个应用标识的地址标识相同,用于表示各应用租户的个性化子应用程序是基于同一个应用开发项目开发得到的。这样各租户对应的个性化子应用程序的安装包可基于同一个配置文件中不同的应用程序功能参数得到,这些安装包也可在同一客户端上安装,安装得到的个性化目标应用也能在该客户端上共存。
上述多租户场景下的应用更新方法,通过在一个公用配置文件中配置目标应用的至少两种差异化的应用程序功能参数,这样即可在需要进行应用程序打包时,基于该公用配置文件生成至少两种差异化的应用程序功能参数各自对应的目标应用安装包,这些目标应用安装包用于安装得到差异化的目标应用实现应用程序的差异化定制,可以减少冗余代码,减少代码量,以及减少开发人员数量,进而降低开发成本,而且在一个公用配置文件中批量配置差异化的应用程序功能参数便于代码维护。另外,各应用程序功能参数包括差异化的应用标识,使得这些差异化的目标应用能够同时安装于同一个客户端,便于后续进行目标应用的功能测试,还能降低在测试设备上的成本耗费,极大地降低了应用程序开发成本。
在上述实施例基础上,本说明书一个实施例中,所述根据所述安装包生成指令加载所述公用配置文件,以装配各应用程序功能参数相匹配的资源信息,生成至少两种差异化的应用程序功能参数各自对应的应用更新安装包,包括:
根据所述安装包生成指令加载公用配置文件,以加载公用配置文件中的各应用程序功能参数;应用程序功能参数包括界面布局路径;
在加载应用程序功能参数的过程中,加载应用程序功能参数的界面布局路径所对应的布局文件,并根据布局文件装配应用程序功能参数配置的界面资源,以生成应用程序功能参数对应的应用更新安装包;其中,在任意两个应用程序功能参数的布局文件和界面资源中的至少一种不同时,相应生成的应用更新安装包用于安装得到界面差异化的目标应用程序。
可以理解,公用配置文件用于配置资源的路径。界面布局路径是界面布局相关资源的路径。通常,界面资源路径即为布局文件的路径。布局文件中对界面样式等进行了规划和安排,应用程序功能参数还可配置布局文件所规划的界面需要的界面资源的路径。界面资源比如图标、控件等等。这样,在任意两个应用程序功能参数的布局文件和界面资源中的至少一种不同时,相应生成的目标应用安装包用于安装得到界面差异化的目标应用。
举例说明,以登陆界面差异化举例,各应用程序功能参数中配置了在布局配置节点下配置了布局路径(例如下述示意代码中节点3.9.2的内容),在加载应用程序功能参数时会根据该布局配置节点的配置加载对应的布局文件,布局文件中如果引入不同的样式,则再根据界面资源配置节点下配置的界面资源路径(例如下述示意代码中节点3.5.3/3.5.4的内容)加载对应的界面资源。若各应用程序功能参数中这些配置不同,则会调用不同的界面资源,进而得到界面差异化的目标应用的安装包。
#3.9应用租户a的业务及ui配置
business:
#3.9.1以登录功能为例
-login:
#3.9.2登录页面布局路径
-layout:./res/layout/xxxxxxxxxxx.xml
#3.9.3.登录页面逻辑
-activity:./main/xxxx/activity/loginactivity
#3.9.4.登录业务逻辑
-presenter:./main/xxxx/presenter/loginpresenter
#以下可能还有多个配置
#3.5应用租户a的资源配置
resources:
#3.5.1.配置xxxxxxxx
xxxx:xxxxx
#3.5.2.配置xxxxxxxx
xxxx:xxxxx
#3.5.3应用租户a的图标配置(以启动图为例)
launchicon:./res/pipmap/xxxxx.png
#3.5.4应用租户a的公共样式配置
stylepath:./res/style/xxxx.xml
#以下还可能有多个配置(可配置资源:图标、样式、音频、视频等信息)
在一个实施例中,多租户场景下的应用更新方法还包括:在公用配置文件的第一区域统一配置公用资源库;公用资源库中的公共资源包括界面资源;对于每个应用程序功能参数配置的布局文件需要调用公共资源库中的界面资源时,在界面资源的配置节点配置调用公共资源的路径。其中,公共资源库中的界面资源比如dialog弹窗、activity页面、顶部状态栏以及标题栏等。
上述实施例中,通过在不同的应用程序功能参数中的界面布局路径配置不同的布局文件,或者通过不同的界面资源,可以实现目标应用界面ui的差异化定制。而且在后期有需求调整时也便于维护,减少后期维护成本,极大程度的提升了后期可扩展性。
在公用配置文件的第一区域统一配置公用资源库;公用资源库中的公共资源包括网络配置资源和接口资源中的至少一种;在公用配置文件中,根据各应用租户所对应的使用需求,分区扩展各应用租户所对应的差异化的应用程序功能参数,包括:在公用配置文件的第二区域,根据各应用租户所对应的使用需求,分区且按配置节点扩展各应用租户所对应的差异化的应用程序功能参数;对于每个应用租户,当业务逻辑需要调用公用资源时,在业务逻辑的配置节点配置调用公共资源的路径。公用资源库中的公共资源是各应用程序功能参数均可调用的资源。可以通俗地理解公共资源库为一套源代码:对于不同租户可能存在的需求,例如功能接口、功能开关,网络配置等,开发人员提前编写好,存储起来;后期根据不同用户的需求进行配置,例如不同的登录方式,调用源代码中的函数或接口。
网络配置资源包括统一请求头、cookie、请求与响应的校验加密处理、请求参数、响应参数封装的pojo、json与pojo的转换工具、网络日志的管理等。
业务逻辑可以包括响应逻辑和接口调用逻辑。以登录场景为例进行说明,比如,一种场景下应用租户所需要的登录功能是利用用户名、密码登陆,另一种场景下应用租户所需要的登录功能是利用手机号、验证码登陆。此时,在响应逻辑方面,各应用租户的使用需求包括的业务逻辑,在应用程序功能参数中登录页面逻辑的配置节点中配置各应用租户的登陆页面逻辑(如下述示意代码中节点3.9.3的内容),在应用程序功能参数中登录业务逻辑的配置节点中配置各应用租户的登陆业务逻辑(如下述示意代码中节点3.9.4的内容),在需要调用公用资源,即配置调用公共资源的路径。在接口调用逻辑方面,在应用程序功能参数的节点3.8.2中配置的登陆接口地址、请求、响应路径进行调用,在各应用程序功能参数的此项配置不同时,则调用不同的接口(api)以实现网络api的差异化。
#3.9租户a的业务及ui配置
business:
#3.9.1以登录功能为例
-login:
#3.9.2登录页面布局路径
-layout:./res/layout/xxxxxxxxxxx.xml
#3.9.3.登录页面逻辑
-activity:./main/xxxx/activity/loginactivity
#3.9.4.登录业务逻辑
-presenter:./main/xxxx/presenter/loginpresenter
#以下可能还有多个配置
#3.8租户a的网络配置
netapis:
#3.8.1租户a的api配置信息列表
api:#3.8.2.登录接口地址(以登录接口为例)
login:
#登录接口地址
url:/login
#封装了请求与响应的pojo类路径
pojo:./pojo/
#以下可能还有多个配置
上述实施例中,通过在不同的应用程序功能参数中根据用户使用需求不同的业务响应配置信息,可以实现目标应用业务响应的差异化定制。而且在后期有需求调整时也便于维护,减少后期维护成本,极大程度的提升了后期可扩展性。
在上述实施例基础上,本说明书一个实施例中,所述接收基础应用程序对应的子应用程序对应的安装包生成指令,之前包括:
获取基础应用程序的至少两个租户所对应的差异化的使用需求;
创建基础应用程序的应用开发项目所对应的公用配置文件;
在公用配置文件中,根据各租户所对应的使用需求,分区扩展各租户所对应的差异化的应用程序功能参数。
具体地,使用需求是反映应用租户对目标应用程序功能上需求的信息。可以理解,目标用户通常会存在至少两个应用租户,这些应用租户的使用需求可能相同也可能不同,客户端可获取这些应用租户各自对应的使用需求。应用开发项目是对基础应用程序进行开发的程序项目。公用配置文件是应用开发项目公用的配置文件。公用配置文件中可配置应用开发项目开发的目标应用的需求。在一个实施例中,应用开发项目存在唯一对应的公用配置文件。在不同的应用租户的使用需求存在差异时,这不同的应用租户各自对应的应用程序功能参数不同。
进一步地,客户端自动或者在根据开发人员的操作布局公用配置文件时,可先在位置在前的第一区域统一配置公用资源路径。客户端可继续在第一区域后的第二区域,依次根据各应用租户所对应的使用需求扩展各应用租户所对应的应用程序功能参数,以分区扩展各应用租户所对应的应用程序功能参数。
在上述实施例基础上,本说明书一个实施例中,所述接收基础应用程序对应的子应用程序对应的安装包生成指令,之前包括:
根据新租户对基础应用程序的使用需求,在与所述基础应用程序对应的公用配置文件中添加分区配置、填写对应的差异化的应用程序功能参数。
在具体的实施过程中,当有新租户需要使用该基础应用程序时,应用程序的开发人员可以在与基础应用程序对应的公用配置文件中添加分区配置,并基于添加的分区配置填写对应的差异化的应用程序功能参数,其中,应用程序功能参数是根据新租户基础应用程序的使用需求配置的。在公用配置文件中添加分区配置及填写对应的差异化的应用程序功能参数后可以重复执行上述步骤,完成新租户对应的子应用程序的应用更新安装包的生成。本说明书实施例的实施,能够扩大基础应用程序的使用范围,在新租户需要定制基础应用程序时,仅需要在原有的公用配置文件中添加对应的应用程序功能参数,便能够生成新租户的应用更新安装包,可以减少冗余代码,减少代码量,以及减少开发人员数量,进而降低开发成本,而且在一个公用配置文件中批量配置差异化的应用程序功能参数便于代码维护和子应用程序的更新。
在上述实施例基础上,本说明书一个实施例中,所述获取与目标应用对应的安装包生成指令,之前包括:
若当前租户改变目标应用的使用需求,则修改目标应用的公用配置文件中所述当前租户对应的应用程序功能参数。
上述实施例中,提供了灵活更改通用功能的属性的途径,根据用户需求允许或者禁用通用功能,可以实现目标应用在通用功能上的差异化定制。而且在后期有需求调整时也便于维护,减少后期维护成本,极大程度的提升了后期可扩展性。
另一方面,本说明书实施例提供一种多租户场景下的应用程序更新方法,该方法可以应用于客户端,图6本发明实施例提供的再一种多租户场景下的应用更新方法的流程示意图,如图6所示,方法包括:
s1002、向服务器发送目标应用程序的更新请求,所述更新请求包括:所述目标应用程序的目标应用标识和目标应用等级标识,所述目标应用标识包括目标应用程序对应的当前地址标识和当前租户标识;
s1004、接收所述服务器根据所述目标应用标识中的当前租户标识从应用程序数据库中获取所述目标应用程序的目标下载路径后,并在所述目标应用等级标识与所述目标下载路径对应的应用等级标识不同时返回的所述目标下载路径;其中,所述应用程序数据库中存储有基础应用程序对应的多个子应用程序的应用更新安装包,所述应用程序数据库中的每个应用更新安装包对应有下载路径,指定子应用程序对应的地址标识相同且租户标识不同,所述地址标识是根据基础应用程序对应的公用配置文件确定的,指定应用更新安装包的应用程序功能参数基于对应的租户标识的租户使用需求配置,其中,所述指定子应用程序为同一个基础应用程序对应的不同子应用程序,指定应用更新安装包为同一个基础应用程序对应的不同子应用程序的应用更新安装包;基于所述目标下载路径向所述服务器发送安装请求,使得所述服务器基于所述安装请求返回对应的所述应用更新安装包。
s1006、基于所述目标下载路径向所述服务器发送安装请求,使得所述服务器基于所述安装请求返回对应的所述应用更新安装包。
s1108、根据接收到的所述服务器返回的所述应用更新安装包执行目标应用程序的更新。
在上述实施例基础上,本说明书一个实施例中,所述向服务器发送目标应用程序的更新请求,包括:
每间隔预设时间向所述服务器发送目标应用程序的更新请求;
或,基于用户输入的更新指令向所述服务器发送目标应用程序的更新请求;
或,当所述目标应用程序不可用时向所述服务器发送目标应用程序的更新请求;
或,接收到所述服务器发送的版本更新提示时,向所述服务器发送目标应用程序的更新请求;
或,在所述目标应用程序运行到预先设定的运行节点时,向所述服务器发送目标应用程序的更新请求。
在具体的实施过程中,客户端中的当前应用在更新时可以在多种情况下向服务器发送安装请求。当前应用的更新可以采用热更新或非热更新的方式进行更新。
示例地、1、采用自动轮询方式自动下载目标应用安装包,如在当前应用主页面每隔预设时间(如30m)进行更新第一应用程序接口的调用。
2、在用户主动更新时输入的下载指令主动触发安装请求。其中,用户主动更新可以是在当前应用不可用或者通过弹窗提示用户必须要更新最新版本才能继续使用的场景。
3、目标应用等级标识对应应用的运行节点时进行调用更新api,其中,具体的运行节点在本说明书实施例中不做具体限定,可以是应用开发人员在应用程序中预先设定的触发节点(即埋点)。
本说明书实施例提供的多租户场景下的应用更新方法可以采用多种更新形式进行自动更新或手动更新,保证了当前应用更新的时效,并添加了应用程序的自查功能,在应用程序不可用等情况下采用强制更新的方式,使得租户对应的应用程序均处于相对漏洞少的版本,版本低会存在黑客入侵的风险,本说明书实施例提供的更新方法可以采用强制更新的方式实现应用的更新,避免黑客攻击造成损失,为用户提供更高的安全保证,同时,若客户端中安装的应用程序版本过低,后台开发人员对应用版本低的应用的日常维护的工作量也是很大的,对当前应用的及时更是能够降低的维护成本。
在上述实施例基础上,本说明书一个实施例中,所述根据接收到的所述服务器返回的所述应用更新安装包执行目标应用程序的更新,包括:
获取当前操作系统的系统标识;
判断所述系统标识对应的数值是否大于预设系统安装标识值;
在所述系统标识对应的数值大于预设系统安装标识值时,调取第一应用程序安装接口解析所述服务器返回的应用更新安装包执行目标应用程序的更新;
在所述系统标识对应的数值不大于预设系统安装标识值时,调取第二应用程序安装接口解析所述服务器返回的应用更新安装包执行目标应用程序的更新。
示例地、如android官方限制,在android7.0进行了分割
//系统标识>=7.0
if(build.version.sdk_int>=build.version_codes.n){
//调用系统第二应用程序安装接口
installintent.addflags(intent.flag_activity_new_task);
installintent.setdataandtype(uri.fromfile(updatefile),"application/vnd.android.package-archive");
}else{//系统标识<7.0
//调用系统第一应用程序安装接口
installintent.addflags(intent.flag_activity_new_task);
installintent.setdataandtype(uri.fromfile(updatefile),"application/vnd.android.package-archive");
}
解释说明:安装逻辑区别受android官方限制,如,安卓系统从6.0升级到7.0时,对于系统中用于升级的api进行了修改,根据系统的版本不同,必须调用不同的升级api接口。
在具体的实施过程中,当前操作系统的系统标识可以是客户端中操作系统的版本型号,由于操作系统更新频率越来越高,操作系统与之后开发应用的兼容性不能够保证稳定运行,因此,本说明书实施例在当前应用更新前会预先判断系统标识与预设在客户端中的第一应用程序安装接口或第二应用程序安装接口的匹配度,并调用能够实现对应子应用程序更新的第一应用程序安装接口或第二应用程序安装接口实现当前子应用程序的更新。在安装过程中如调取不同接口将会显示安装或更新应用程序失败,因此,本说明书实施例提供的技术方案中在应用程序安装之前预先判断系统标识对应的数值与预设系统安装标识值的数值关系,保证了应用程序的顺利安装,本说明书实施例提供的应用更新方法的适应性更广,能够同时兼容多个操作系统实现同个目标应用安装包的安装或更新,避免由于操作系统的系统标识不同需要应用开发者再次开发能够适应不同系统标识的应用程序,降低了应用开发者的工作时间。
在上述实施例基础上,本说明书一个实施例中,所述根据接收到的所述服务器返回的所述应用更新安装包执行目标应用程序的更新,包括:
获取当前操作系统的系统标识;
判断所述系统标识对应的数值是否大于预设系统授权标识值;
在所述系统标识对应的数值大于预设系统授权标识值时,根据接收到的当前操作系统对所述目标应用程序授予的允许安装权限后执行所述目标应用程序的安装。
在具体的实施过程中,客户端在更新目标应用程序之前可以对当前操作系统的系统标识进行判断,在系统标识对应的数值大于预设系统授权标识值时,根据接收到的当前操作系统对目标应用程序授予的允许安装权限后执行所述目标应用程序的安装,其中,允许安装权限在本说明书实施例中不做具体限定,可以根据实际需要进行设置。
示例地,如安卓系统平台针对系统标识大于等于8.0需要进行授权,需要授予app“安装未知来源”和“应用内安装”的权限,才能正常执行下一步操作,如果不进行授权,则安装闪退,无权限安装。可以理解的是,“安装未知来源”和“应用内安装”均可以是基于用户输入的指令触发的允许安装权限。由于不同操作系统在系统升级过程中,为了更好的保护用户的隐私和操作系统的安全性,会在更新后操作系统中设置对应的权限管理,本说明书实施例通过在应用程序安装之前判断当前操作系统的系统标识,并在获取到用户输入的允许安装权限后才执行目标应用程序的安装,保障了操作系统的安全性,提高了用户的好感度。
在上述实施例基础上,本说明书一个实施例中,所述应用更新安装包对应有应用标识,所述应用更新安装包对应有应用标识,所述应用标识包括:租户标识;
所述根据接收到的所述服务器返回的所述应用更新安装包执行目标应用程序的更新,还包括:
获取所述应用更新安装包中的应用标识;
验证所述应用更新安装包中的应用标识的租户标识与当前租户标识是否匹配;
当所述应用更新安装包中的应用标识的租户标识与当前租户标识匹配时,根据所述应用更新安装包执行目标应用程序的更新;
或,
验证所述应用更新安装包中的应用标识与目标应用标识是否匹配;
当所述应用更新安装包中的应用标识与目标应用标识匹配时,根据所述应用更新安装包执行目标应用程序的更新。
由于客户端对租户标识和/或应用标识的验证方式与服务器侧原理和技术效果相同,不再赘述。
另一方面,本说明书实施例提供一种多租户场景下的应用程序更新装置,图7为本发明实施例提供的一种多租户场景下的应用更新装置的结构示意图,如图7所示,包括:
更新请求接收模块11,被配置为执行接收客户端发送的目标应用程序的更新请求,所述更新请求包括:所述目标应用程序的目标应用标识和目标应用等级标识,所述目标应用标识包括目标应用程序对应的当前地址标识和当前租户标识;
目标下载路径获取模块12,被配置为执行根据所述目标应用标识中的当前租户标识从应用程序数据库中获取所述目标应用程序的目标下载路径;其中,所述应用程序数据库中存储有基础应用程序对应的多个子应用程序的应用更新安装包,所述应用程序数据库中的每个应用更新安装包对应有下载路径,指定子应用程序对应的地址标识相同且租户标识不同,所述地址标识是从基础应用程序对应的公用配置文件获取的,指定应用更新安装包的应用程序功能参数基于对应的租户标识的租户使用需求配置,其中,所述指定子应用程序为同一个基础应用程序对应的不同子应用程序,指定应用更新安装包为同一个基础应用程序对应的不同子应用程序的应用更新安装包;
比较模块13,被配置为执行将所述目标应用等级标识与所述目标下载路径对应的所述应用等级标识比较;
返回模块14,被配置为执行若所述目标应用等级标识与所述目标下载路径对应的所述应用等级标识不同,则将所述目标下载路径返回给所述客户端。
再一方面,本说明书实施例提供一种多租户场景下的应用程序更新装置,图8为本发明实施例提供的另一种多租户场景下的应用更新装置的结构示意图,如图8所示,包括:
更新请求发送模块21,被配置为执行向服务器发送目标应用程序的更新请求,所述更新请求包括:所述目标应用程序的目标应用标识和目标应用等级标识,所述目标应用标识包括目标应用程序对应的当前地址标识和当前租户标识;使得所述服务器根据所述目标应用标识中的当前租户标识从应用程序数据库中获取所述目标应用程序的目标下载路径后,在所述目标应用等级标识与所述目标下载路径对应的所述应用等级标识不同时返回所述目标下载路径;其中,所述应用程序数据库中存储有基础应用程序对应的多个子应用程序的应用更新安装包,所述应用程序数据库中的每个应用更新安装包对应有下载路径,指定子应用程序对应的地址标识相同且租户标识不同,所述地址标识是从基础应用程序对应的公用配置文件获取的,指定应用更新安装包的应用程序功能参数基于对应的租户标识的租户使用需求配置,其中,所述指定子应用程序为同一个基础应用程序对应的不同子应用程序,指定应用更新安装包为同一个基础应用程序对应的不同子应用程序的应用更新安装包;
目标下载路径接收模块22,被配置为执行接收所述服务器返回的所述目标下载路径;
安装请求发送模块23,被配置为执行基于所述目标下载路径向所述服务器发送安装请求,使得所述服务器基于所述安装请求返回对应的所述应用更新安装包;
安装模块24,被配置为执行根据接收到的所述服务器返回的所述应用更新安装包执行目标应用程序的更新。
又一方面,本说明书实施例提供一种多租户场景下的应用程序更新的电子设备,图9为本发明实施例提供的一种多租户场景下的应用程序更新的电子设备的结构示意图,如图9所示,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或者至少一段程序,所述至少一条指令或者至少一段程序由所述处理器加载并执行以实现如上述任一所述的多租户场景下的应用程序更新方法。
另一方面,本说明书实施例一种计算机可读存储介质,所述存储介质中存储有至少一条指令或者至少一段程序,所述至少一条指令或者至少一段程序由处理器加载并执行以实现如上述所述的多租户场景下的应用程序更新方法。
由于多租户场景下的应用更新装置、计算机可读存储介质及多租户场景下的应用更新设备与多租户场景下的应用更新方法的技术效果相同,在此不在赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。本发明实施例所提供测试方法,其实现原理及产生的技术效果和前述系统实施例相同,为简要描述,方法实施例部分未提及之处,可参考前述系统实施例中相应内容。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以上述权利要求的保护范围为准。
1.一种多租户场景下的应用程序更新方法,其特征在于,包括:
客户端向服务器发送目标应用程序的更新请求,所述更新请求包括:所述目标应用程序的目标应用标识和目标应用等级标识,所述目标应用标识包括目标应用程序对应的当前地址标识和当前租户标识;其中,所述服务器中存储有应用程序数据库,所述应用程序数据库中存储有基础应用程序对应的多个子应用程序的应用更新安装包;
所述服务器接收到所述客户端发送的更新请求后,根据所述目标应用标识中的当前租户标识从所述应用程序数据库中获取所述目标应用程序的目标下载路径;其中,所述应用程序数据库中的每个应用更新安装包对应有下载路径,指定子应用程序对应的地址标识相同且租户标识不同,所述地址标识是根据基础应用程序对应的公用配置文件确定的,指定应用更新安装包的应用程序功能参数基于对应的租户标识的租户使用需求配置,其中,所述指定子应用程序为同一个基础应用程序对应的不同子应用程序,指定应用更新安装包为同一个基础应用程序对应的不同子应用程序的应用更新安装包;
所述服务器获取到所述目标下载路径后,将所述更新请求中的目标应用等级标识与所述目标下载路径对应的应用等级标识比较,若所述目标应用等级标识与所述目标下载路径对应的应用等级标识不同,则将所述目标下载路径返回给所述客户端;
所述客户端根据接收到的所述目标下载路径从所述服务器中下载所述目标应用程序对应的应用更新安装包,并执行下载到的应用更新安装包对所述目标应用程序进行更新。
2.一种多租户场景下的应用程序更新方法,其特征在于,包括:
接收客户端发送的目标应用程序的更新请求,所述更新请求包括:所述目标应用程序的目标应用标识和目标应用等级标识,所述目标应用标识包括目标应用程序对应的当前地址标识和当前租户标识;
根据所述目标应用标识中的当前租户标识从应用程序数据库中获取所述目标应用程序的目标下载路径;其中,所述应用程序数据库中存储有基础应用程序对应的多个子应用程序的应用更新安装包,所述应用程序数据库中的每个应用更新安装包对应有下载路径,指定子应用程序对应的地址标识相同且租户标识不同,所述地址标识是根据基础应用程序对应的公用配置文件确定的,指定应用更新安装包的应用程序功能参数基于对应的租户标识的租户使用需求配置,其中,所述指定子应用程序为同一个基础应用程序对应的不同子应用程序,指定应用更新安装包为同一个基础应用程序对应的不同子应用程序的应用更新安装包;
将所述目标应用等级标识与所述目标下载路径对应的应用等级标识比较;
若所述目标应用等级标识与所述目标下载路径对应的应用等级标识不同,则将所述目标下载路径返回给所述客户端。
3.根据权利要求2所述的多租户场景下的应用程序更新方法,其特征在于,所述更新请求还包括:授权标识;所述根据所述目标应用标识中的当前租户标识从应用程序数据库中获取所述目标应用程序的目标下载路径,包括:
根据所述目标应用标识中的当前地址标识调用应用程序连接接口;
通过所述应用程序连接接口查询所述应用程序数据库中是否存储有与所述授权标识相同的待验证授权标识,所述应用程序数据库中的每个应用更新安装包还对应有待验证授权标识;
当所述应用程序数据库中存储有与所述授权标识相同的待验证授权标识时,根据所述目标应用标识中的当前租户标识从所述应用程序数据库中获取所述目标应用程序的目标下载路径。
4.根据权利要求2所述的多租户场景下的应用程序更新方法,其特征在于,还包括:
接收所述客户端基于所述目标下载路径发送的安装请求;
基于所述安装请求将对应的所述应用更新安装包返回给所述客户端,使得所述客户端执行与所述更新请求对应的目标应用程序的更新。
5.根据权利要求2所述的多租户场景下的应用程序更新方法,其特征在于,在接收客户端发送的目标应用程序的更新请求之前,所述应用程序数据库中的应用更新安装包构建方法包括:
接收基础应用程序对应的子应用程序对应的安装包生成指令;
查询各个子应用程序对应的基础应用程序的应用开发项目的公用配置文件;公用配置文件中配置有基础应用程序的至少两种差异化的应用程序功能参数;
根据所述安装包生成指令加载所述公用配置文件,以装配各应用程序功能参数相匹配的资源信息,生成至少两种差异化的应用程序功能参数各自对应的应用更新安装包,差异化的应用更新安装包能够同时安装于同一个客户端;
为每个应用更新安装包配置对应的下载路径。
6.根据权利要求5所述的多租户场景下的应用程序更新方法,其特征在于,所述根据所述安装包生成指令加载所述公用配置文件,以装配各应用程序功能参数相匹配的资源信息,生成至少两种差异化的应用程序功能参数各自对应的应用更新安装包,包括:
根据所述安装包生成指令加载公用配置文件,以加载公用配置文件中的各应用程序功能参数;应用程序功能参数包括界面布局路径;
在加载应用程序功能参数的过程中,加载应用程序功能参数的界面布局路径所对应的布局文件,并根据布局文件装配应用程序功能参数配置的界面资源,以生成应用程序功能参数对应的应用更新安装包;其中,在任意两个应用程序功能参数的布局文件和界面资源中的至少一种不同时,相应生成的应用更新安装包用于安装得到界面差异化的目标应用程序。
7.根据权利要求5所述的多租户场景下的应用程序更新方法,其特征在于,所述接收基础应用程序对应的子应用程序对应的安装包生成指令,之前包括:
获取基础应用程序的至少两个租户所对应的差异化的使用需求;
创建基础应用程序的应用开发项目所对应的公用配置文件;
在公用配置文件中,根据各租户所对应的使用需求,分区扩展各租户所对应的差异化的应用程序功能参数。
8.根据权利要求5所述的多租户场景下的应用程序更新方法,其特征在于,所述接收基础应用程序对应的子应用程序对应的安装包生成指令,之前包括:
根据新租户对基础应用程序的使用需求,在与所述基础应用程序对应的公用配置文件中添加分区配置、填写对应的差异化的应用程序功能参数。
9.根据权利要求5所述的多租户场景下的应用程序更新方法,其特征在于,所述接收基础应用程序对应的子应用程序对应的安装包生成指令,之前包括:
若当前租户改变基础应用程序的使用需求,则修改所述基础应用程序对应的公用配置文件中所述当前租户对应的应用程序功能参数。
10.一种多租户场景下的应用程序更新方法,其特征在于,包括:
向服务器发送目标应用程序的更新请求,所述更新请求包括:所述目标应用程序的目标应用标识和目标应用等级标识,所述目标应用标识包括目标应用程序对应的当前地址标识和当前租户标识;
接收所述服务器根据所述目标应用标识中的当前租户标识从应用程序数据库中获取所述目标应用程序的目标下载路径后,并在所述目标应用等级标识与所述目标下载路径对应的应用等级标识不同时返回的所述目标下载路径;其中,所述应用程序数据库中存储有基础应用程序对应的多个子应用程序的应用更新安装包,所述应用程序数据库中的每个应用更新安装包对应有下载路径,指定子应用程序对应的地址标识相同且租户标识不同,所述地址标识是根据基础应用程序对应的公用配置文件确定的,指定应用更新安装包的应用程序功能参数基于对应的租户标识的租户使用需求配置,其中,所述指定子应用程序为同一个基础应用程序对应的不同子应用程序,指定应用更新安装包为同一个基础应用程序对应的不同子应用程序的应用更新安装包;
基于所述目标下载路径向所述服务器发送安装请求,使得所述服务器基于所述安装请求返回对应的所述应用更新安装包;
根据接收到的所述服务器返回的所述应用更新安装包执行目标应用程序的更新。
11.根据权利要求10所述的多租户场景下的应用程序更新方法,其特征在于,所述向服务器发送目标应用程序的更新请求,包括:
每间隔预设时间向所述服务器发送目标应用程序的更新请求;
或,基于用户输入的更新指令向所述服务器发送目标应用程序的更新请求;
或,当所述目标应用程序不可用时向所述服务器发送目标应用程序的更新请求;
或,接收到所述服务器发送的版本更新提示时,向所述服务器发送目标应用程序的更新请求;
或,在所述目标应用程序运行到预先设定的运行节点时,向所述服务器发送目标应用程序的更新请求。
12.根据权利要求10所述的多租户场景下的应用程序更新方法,其特征在于,所述根据接收到的所述服务器返回的所述应用更新安装包执行目标应用程序的更新,包括:
获取当前操作系统的系统标识;
判断所述系统标识对应的数值是否大于预设系统安装标识值;
在所述系统标识对应的数值大于预设系统安装标识值时,调取第一应用程序安装接口解析所述服务器返回的应用更新安装包执行目标应用程序的更新;
在所述系统标识对应的数值不大于预设系统安装标识值时,调取第二应用程序安装接口解析所述服务器返回的应用更新安装包执行目标应用程序的更新。
13.根据权利要求10所述的多租户场景下的应用程序更新方法,其特征在于,所述根据接收到的所述服务器返回的所述应用更新安装包执行目标应用程序的更新,包括:
获取当前操作系统的系统标识;
判断所述系统标识对应的数值是否大于预设系统授权标识值;
在所述系统标识对应的数值大于预设系统授权标识值时,根据接收到的当前操作系统对所述目标应用程序授予的允许安装权限后执行所述目标应用程序的安装。
14.根据权利要求10所述的多租户场景下的应用程序更新方法,其特征在于,所述应用更新安装包对应有应用标识,所述应用标识包括:租户标识;
所述根据接收到的所述服务器返回的所述应用更新安装包执行目标应用程序的更新,还包括:
获取所述应用更新安装包中的应用标识;
验证所述应用更新安装包中的应用标识的租户标识与当前租户标识是否匹配;
当所述应用更新安装包中的应用标识的租户标识与当前租户标识匹配时,根据所述应用更新安装包执行目标应用程序的更新;
或,
验证所述应用更新安装包中的应用标识与目标应用标识是否匹配;
当所述应用更新安装包中的应用标识与目标应用标识匹配时,根据所述应用更新安装包执行目标应用程序的更新。
15.一种多租户场景下的应用程序更新装置,其特征在于,包括:
更新请求接收模块,被配置为执行接收客户端发送的目标应用程序的更新请求,所述更新请求包括:所述目标应用程序的目标应用标识和目标应用等级标识,所述目标应用标识包括目标应用程序对应的当前地址标识和当前租户标识;
目标下载路径获取模块,被配置为执行根据所述目标应用标识中的当前租户标识从应用程序数据库中获取所述目标应用程序的目标下载路径;其中,所述应用程序数据库中存储有基础应用程序对应的多个子应用程序的应用更新安装包,所述应用程序数据库中的每个应用更新安装包对应有下载路径,指定子应用程序对应的地址标识相同且租户标识不同,所述地址标识是从基础应用程序对应的公用配置文件获取的,指定应用更新安装包的应用程序功能参数基于对应的租户标识的租户使用需求配置,其中,所述指定子应用程序为同一个基础应用程序对应的不同子应用程序,指定应用更新安装包为同一个基础应用程序对应的不同子应用程序的应用更新安装包;
比较模块,被配置为执行将所述目标应用等级标识与所述目标下载路径对应的所述应用等级标识比较;
返回模块,被配置为执行若所述目标应用等级标识与所述目标下载路径对应的所述应用等级标识不同,则将所述目标下载路径返回给所述客户端。
16.一种多租户场景下的应用程序更新装置,其特征在于,包括:
更新请求发送模块,被配置为执行向服务器发送目标应用程序的更新请求,所述更新请求包括:所述目标应用程序的目标应用标识和目标应用等级标识,所述目标应用标识包括目标应用程序对应的当前地址标识和当前租户标识;使得所述服务器根据所述目标应用标识中的当前租户标识从应用程序数据库中获取所述目标应用程序的目标下载路径后,在所述目标应用等级标识与所述目标下载路径对应的所述应用等级标识不同时返回所述目标下载路径;其中,所述应用程序数据库中存储有基础应用程序对应的多个子应用程序的应用更新安装包,所述应用程序数据库中的每个应用更新安装包对应有下载路径,指定子应用程序对应的地址标识相同且租户标识不同,所述地址标识是从基础应用程序对应的公用配置文件获取的,指定应用更新安装包的应用程序功能参数基于对应的租户标识的租户使用需求配置,其中,所述指定子应用程序为同一个基础应用程序对应的不同子应用程序,指定应用更新安装包为同一个基础应用程序对应的不同子应用程序的应用更新安装包;
目标下载路径接收模块,被配置为执行接收所述服务器返回的所述目标下载路径;
安装请求发送模块,被配置为执行基于所述目标下载路径向所述服务器发送安装请求,使得所述服务器基于所述安装请求返回对应的所述应用更新安装包;
安装模块,被配置为执行根据接收到的所述服务器返回的所述应用更新安装包执行目标应用程序的更新。
17.一种多租户场景下的应用程序更新的电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求2-9或10-14任一项所述的多租户场景下的应用程序更新方法。
技术总结