CN111552484A - 一种应用程序包分发方法、装置、设备及存储介质 - Google Patents
一种应用程序包分发方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111552484A CN111552484A CN202010355581.6A CN202010355581A CN111552484A CN 111552484 A CN111552484 A CN 111552484A CN 202010355581 A CN202010355581 A CN 202010355581A CN 111552484 A CN111552484 A CN 111552484A
- Authority
- CN
- China
- Prior art keywords
- application
- platform
- application program
- download link
- package
- 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
- 238000000034 method Methods 0.000 title claims abstract description 106
- 238000013507 mapping Methods 0.000 claims abstract description 74
- 238000004590 computer program Methods 0.000 claims description 10
- 230000002159 abnormal effect Effects 0.000 claims description 9
- 230000006835 compression Effects 0.000 claims description 9
- 238000007906 compression Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 4
- 238000007726 management method Methods 0.000 description 58
- 230000008569 process Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 15
- 230000001960 triggered effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种应用程序包分发方法、装置、设备及存储介质,该方法包括:获取平台标识集,根据平台标识集构建待发布应用程序的N个应用程序包及第一映射关系;根据第一映射关系将N个应用程序包分别发布到N个应用程序托管平台;根据从N个应用程序托管平台上获取到的待发布应用程序的应用程序包的下载链接生成下载链接集;从下载链接管理平台获取目标文件,利用下载链接集更新目标文件,将更新后的目标文件发布到下载链接管理平台;平台标识集包括用于发布待发布应用程序的N个应用程序托管平台的平台标识;目标文件用于记录待发布应用程序对应的历史应用程序包的下载链接;第一映射关系用于记录应用程序包与平台标识之间的对应关系。
Description
技术领域
本申请涉及软件开发技术领域,尤其涉及一种应用程序包分发方法、装置、设备及存储介质。
背景技术
应用程序包是指应用程序的安装包。例如,Android应用程序包(Androidapplication package,apk)是Android操作系统使用的一种应用程序包文件格式,而且apk内包括被编译的代码文件(*.dex文件)、文件资源(resources)、原生资源文件(assets)、证书(certificates)、以及清单文件(manifest file)等。
另外,用户下载应用程序包的渠道较多,例如,用户可以从应用宝、华为应用市场、个人计算机(Personal Computer,PC)官网等应用程序托管平台下载应用程序包。
目前,为了实现用户可以从不同应用程序托管平台下载应用程序包的目的,可以由技术人员手动将应用程序包分发到多个应用程序托管平台,并手动汇总生成并发布一份用于记录该应用程序的各应用程序包的下载链接的列表文件,以便后续用户可以借助该列表文件或各应用程序托管平台下载该应用程序的应用程序包。然而,因技术人员手动分发应用程序包的过程耗时较长,导致应用程序包的分发效率较低。
发明内容
本申请实施例提供了一种应用程序包分发方法、装置、设备及存储介质,能够提高应用程序包的分发效率。
有鉴于此,本申请第一方面提供了一种应用程序包分发方法,包括:
获取平台标识集,所述平台标识集包括用于发布待发布应用程序的N个应用程序托管平台的平台标识;N为正整数;
根据所述平台标识集,构建所述待发布应用程序的N个应用程序包以及第一映射关系;所述第一映射关系用于记录应用程序包与平台标识之间的对应关系;
根据所述第一映射关系,将所述N个应用程序包分别发布到所述N个应用程序托管平台,并根据从所述N个应用程序托管平台上获取到的所述待发布应用程序的应用程序包的下载链接,生成下载链接集;
在从下载链接管理平台获取到目标文件之后,利用所述下载链接集更新所述目标文件,并将更新后的目标文件发布到所述下载链接管理平台;其中,所述目标文件用于记录所述待发布应用程序对应的历史应用程序包的下载链接。
本申请第二方面提供了一种应用程序包分发装置,包括:
第一获取单元,用于获取平台标识集,所述平台标识集包括用于发布待发布应用程序的N个应用程序托管平台的平台标识;N为正整数;
第一构建单元,用于根据所述平台标识集,构建所述待发布应用程序的N个应用程序包以及第一映射关系;所述第一映射关系用于记录应用程序包与平台标识之间的对应关系;
第一分发单元,用于根据所述第一映射关系,将所述N个应用程序包分别发布到所述N个应用程序托管平台,并获取下载链接集,所述下载链接集包括发布于N个应用程序托管平台上的应用程序包的下载链接;
第二分发单元,用于在从下载链接管理平台获取到目标文件之后,利用所述下载链接集更新所述目标文件,并将更新后的目标文件发布到所述下载链接管理平台;其中,所述目标文件用于记录所述待发布应用程序对应的历史应用程序包的下载链接。
本申请第三方面提供了一种设备,所述设备包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行上述第一方面所述的应用程序包分发方法。
本申请第四方面提供了计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面所述的应用程序包分发方法。
本申请第五方面提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行上述第一方面所述的应用程序包分发方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供的应用程序包分发方法中,在获取到平台标识集之后,先根据平台标识集构建待发布应用程序的N个应用程序包以及第一映射关系,并根据第一映射关系将N个应用程序包分别发布到N个应用程序托管平台;再根据从N个应用程序托管平台上获取到的待发布应用程序的应用程序包的下载链接生成下载链接集,以便在从下载链接管理平台获取到目标文件之后,利用下载链接集更新目标文件,并将更新后的目标文件发布到下载链接管理平台;其中,平台标识集包括用于发布待发布应用程序的N个应用程序托管平台的平台标识;目标文件用于记录待发布应用程序对应的历史应用程序包的下载链接;第一映射关系用于记录应用程序包与平台标识之间的对应关系。
可见,在本申请实施例中,在获取到N个应用程序托管平台的平台标识之后,能够基于该N个平台标识自动地执行应用程序包的生成及发布过程,还能够自动地从N个应用程序托管平台上获取待发布应用程序的应用程序包的下载链接,并能够自动地基于这些下载链接生成并更新下载链接管理平台上的目标文件,使得更新后的目标文件能够准确地记录有待发布应用程序的各个应用程序包在相应的应用程序托管平台上下载链接,如此实现了应用程序包的自动分发,无需技术人员参与,提高了应用程序包的分发效率。
附图说明
图1为本申请实施例提供的应用程序包分发方法的一种应用场景示意图;
图2为本申请实施例提供的应用程序包分发方法的另一种应用场景示意图;
图3为本申请实施例提供的一种应用程序包分发方法的流程示意图;
图4为本申请实施例提供的应用于图1所示场景下的应用程序包分发方法的流程图;
图5为本申请实施例提供的应用程序包分发平台上的应用程序包的分发执行页面示意图;
图6为本申请实施例提供的多渠道打包插件的配置页面示意图;
图7为本申请实施例提供的下载链接集示意图;
图8a为本申请实施例提供的一种更新下载链接管理平台上的应用程序包的下载链接及其相关信息的流程示意图;
图8b为本申请实施例提供的目标文件的示意图;
图9为本申请实施例提供的一种应用程序包分发装置的结构示意图;
图10为本申请实施例提供的另一种应用程序包分发装置的结构示意图;
图11为本申请实施例提供的又一种应用程序包分发装置的结构示意图;
图12为本申请实施例提供的再一种应用程序包分发装置的结构示意图
图13为本申请实施例提供的一种终端设备的结构示意图;
图14为本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在相关技术中,应用程序包的分发过程具体包括:先由技术人员手动触发待发布应用程序的应用程序包的构建过程,并由技术人员在各应用程序托管平台上通过手动操作(例如,手动上传应用程序包或手动点击发布按钮等操作),将各应用程序包发布于相应的应用程序托管平台上;再由技术人员从各应用程序托管平台上手动下载该待发布应用程序的应用程序包的下载链接,以便由技术人员将获取到的这些下载链接汇总成列表文件,并由技术人员将该列表文件手动发布到下载链接管理平台。可见,在上述应用程序包的分发过程是由技术人员参与实现的。然而,因技术人员手动分发应用程序包的过程耗时较长,导致应用程序包的分发效率较低。
针对上述相关技术中存在的技术问题,本申请实施例还提供了一种应用程序包分发方法,能够实现应用程序包的自动分发,从而提高应用程序包的分发效率。
具体地,在本申请实施例提供的应用程序包分发方法中,在获取到平台标识集之后,先根据平台标识集构建待发布应用程序的N个应用程序包以及第一映射关系,并根据第一映射关系将N个应用程序包分别发布到N个应用程序托管平台;再根据从N个应用程序托管平台上获取到的待发布应用程序的应用程序包的下载链接生成下载链接集,以便在从下载链接管理平台获取到目标文件之后,利用下载链接集更新目标文件,并将更新后的目标文件发布到下载链接管理平台;其中,平台标识集包括用于发布待发布应用程序的N个应用程序托管平台的平台标识;目标文件用于记录待发布应用程序对应的历史应用程序包的下载链接;第一映射关系用于记录应用程序包与平台标识之间的对应关系。
可见,在本申请实施例中,在获取到N个应用程序托管平台的平台标识之后,能够基于该N个平台标识自动地执行应用程序包的生成及发布过程,还能够自动地从N个应用程序托管平台上获取待发布应用程序的应用程序包的下载链接,并能够自动地基于这些下载链接生成并更新下载链接管理平台上的目标文件,使得更新后的目标文件能够准确地记录有待发布应用程序的各个应用程序包在相应的应用程序托管平台上的下载链接,如此实现了应用程序包的自动分发,无需技术人员参与,提高了应用程序包的分发效率。
应理解,本申请实施例提供的应用程序包分发方法可以应用于数据处理设备,如终端设备、服务器等;其中,终端设备具体可以为智能手机、计算机、个人数字助理(Personal Digital Assitant,PDA)、平板电脑等;服务器具体可以为应用服务器,也可以为Web服务器,在实际部署时,该服务器可以为独立服务器,也可以为集群服务器。
若本申请实施例提供的应用程序包分发方法由终端设备执行时,则终端设备可以直接根据获取到的平台标识集进行待发布应用程序的N个应用程序包的构建以及发布过程,并根据从N个应用程序托管平台上获取到的待发布应用程序的应用程序包的下载链接,对下载链接管理平台上的目标文件进行更新。若本申请实施例提供的应用程序包分发方法由服务器执行时,则服务器先根据终端设备上传的平台标识集进行待发布应用程序的N个应用程序包的构建以及发布过程,并根据从N个应用程序托管平台上获取到的待发布应用程序的应用程序包的下载链接,对下载链接管理平台上的目标文件进行更新。
为了便于理解本申请实施例提供的技术方案,下面对本申请实施例提供的应用程序包分发方法应用于终端设备为例,对本申请实施例提供的应用程序包分发方法适用的应用场景进行示例性介绍。
参见图1,图1为本申请实施例提供的应用程序包分发方法的一种应用场景示意图。如图1所示,该应用场景包括:终端设备101和用户102;其中,终端设备101用于执行本申请实施例提供的应用程序包分发方法进行应用程序包的分发过程。需要说明的是,用户102可以是技术人员。
终端设备101在获取到用户102触发的应用程序包分发指令之后,终端设备101先获取平台标识集,并根据平台标识集构建待发布应用程序的N个应用程序包以及第一映射关系;终端设备101再根据第一映射关系将N个应用程序包分别发布到N个应用程序托管平台,并根据从N个应用程序托管平台上获取到的待发布应用程序的应用程序包的下载链接生成下载链接集,以便终端设备101在从下载链接管理平台获取到目标文件之后,利用下载链接集更新目标文件,并将更新后的目标文件发布到下载链接管理平台。如此使得待发布应用程序的需求者能够借助上述N个应用程序托管平台和下载链接管理平台下载到该待发布应用程序的应用程序包。
应理解,在实际应用中,也可以将本申请实施例提供的应用程序包分发方法应用于服务器,参见图2,该图为本申请实施例提供的应用程序包分发方法的另一种应用场景示意图。如图2所示,服务器201在获取到终端设备202发送的应用程序包分发请求之后,服务器201先获取平台标识集,并根据平台标识集构建待发布应用程序的N个应用程序包以及第一映射关系;服务器201再根据第一映射关系将N个应用程序包分别发布到N个应用程序托管平台,并根据从N个应用程序托管平台上获取到的待发布应用程序的应用程序包的下载链接生成下载链接集,以便服务器201在从下载链接管理平台获取到目标文件之后,利用下载链接集更新目标文件,并将更新后的目标文件发布到下载链接管理平台。如此使得待发布应用程序的需求者能够借助上述N个应用程序托管平台和下载链接管理平台下载到该待发布应用程序的应用程序包。其中,终端设备202发送的应用程序包分发请求是根据用户203触发的应用程序包分发指令生成的。
应理解,图1和图2所示的应用场景仅为示例,在实际应用中,本申请实施例提供的应用程序包分发方法还可以应用于其他进行应用程序包分发的应用场景,在此不对本申请实施例提供的应用程序包分发方法做任何限定。
下面通过实施例对本申请提供的应用程序包分发方法进行介绍。
方法实施例
参见图3,图3为本申请实施例提供的一种应用程序包分发方法的流程示意图。为了便于描述,下述实施例仅以终端设备为执行主体为例对该应用程序包分发方法进行介绍。如图3所示,该应用程序包分发方法包括S301-S304:
S301:获取平台标识集,该平台标识集包括用于发布待发布应用程序的N个应用程序托管平台的平台标识,N为正整数。
待发布应用程序是指需要发布到至少一个应用程序托管平台的应用程序;而且本申请实施例不限定待发布应用程序。例如,待发布应用程序可以是由技术人员新开发的一个应用程序,也可以是由技术人员对已有应用程序进行功能更新后的应用程序。
应用程序托管平台是指可以管理应用程序的应用程序包的平台。也就是说,用户可以利用应用程序托管平台中的应用程序包的下载链接来下载应用程序包。需要说明的是,本申请实施例不限定应用程序托管平台,例如,应用程序托管平台可以是应用宝等。
平台标识用于唯一标记应用程序托管平台;而且,本申请实施例不限定平台标识,例如,平台标识可以是应用程序托管平台的名称。
另外,本申请实施例不限定平台标识集的获取方式,为了便于理解,下面结合两种可能的实施方式进行说明。
在第一种可能的实施方式中,S301具体可以为:根据用户输入的用于发布待发布应用程序的N个应用程序托管平台的平台标识,生成平台标识集。
本申请实施例中,当用户想指定待发布应用程序对应的应用程序托管平台时,用户可以在终端设备上输入用于发布待发布应用程序的N个应用程序托管平台的平台标识,以使得终端设备能够根据用户输入的该N个应用程序托管平台的平台标识,生成平台标识集,使得该平台标识集能够包括用于发布待发布应用程序的N个应用程序托管平台的平台标识。其中,N为正整数。可见,本申请实施例可以直接根据用户输入的待发布应用程序对应的平台标识生成平台标识集,使得后续基于平台标识集构建得到的各应用程序包适于发布到用户指定的各应用程序管理平台上,满足了用户需求。
在第二种可能的实施方式中,S301具体可以为:根据预设文档的文件路径获取预设文档,并利用预设文档中记录的用于发布待发布应用程序的N个应用程序托管平台的平台标识,生成平台标识集。
其中,预设文档中记录有用于发布待发布应用程序的N个应用程序托管平台的平台标识。另外,预设文档的文件路径用于表征预设文档的存储位置。
基于上述内容可知,在本申请实施例中,若存储空间中存在记录有用于发布待发布应用程序的N个应用程序托管平台的平台标识的预设文档,则可以先根据预设文档的文件路径获取预设文档,再从预设文档中读取用于发布待发布应用程序的N个应用程序托管平台的平台标识,并将该N个应用程序托管平台的平台标识的集合,确定为平台标识集。可见,本申请实施例可以利用预先存储的预设文档中记录的平台标识生成平台标识集。
在第三种可能的实施方式中,S301具体可以为:接收应用程序分发请求,并根据应用程序分发请求携带的用于发布待发布应用程序的N个应用程序托管平台的平台标识,生成平台标识集。
应用程序分发请求携带有用于发布待发布应用程序的N个应用程序托管平台的平台标识。另外,本申请实施例不限定应用程序分发请求的发送者,例如,应用程序分发请求的发送者可以是应用管理平台,且应用管理平台用于管理应用程序托管平台。
基于上述内容可知,本申请实施例中,在接收到应用程序分发请求之后,可以从应用程序分发请求中获取用于发布待发布应用程序的N个应用程序托管平台的平台标识,并将该N个应用程序托管平台的平台标识的集合,确定为平台标识集。可见,本申请实施例可以基于应用程序分发请求生成平台标识集,使得后续基于平台标识集构建得到的各应用程序包适于发布到应用程序分发请求对应的各应用程序管理平台上,满足了应用程序分发请求的发送者的需求。
基于上述S301的内容可知,在本申请实施例中,当用户(例如技术人员)在终端设备上触发了应用程序包分发指令之后,终端设备可以先获取用于发布待发布应用程序的N个应用程序托管平台的平台标识,并将该N个平台标识的集合确定为平台标识集,以便后续能够基于该平台标识集构建待发布应用程序的N个应用程序包。
S302:根据平台标识集,构建待发布应用程序的N个应用程序包以及第一映射关系。
第一映射关系用于记录应用程序包与平台标识之间的对应关系。另外,本申请实施例不限定第一映射关系的表示方式,例如,第一映射关系可以采用表格的方式进行表示,且该表格中记录有应用程序包标识和平台标识之间的对应关系。其中,应用程序包标识用于唯一标记应用程序包。
另外,本申请实施例还提供了S302的一种可能的实施方式,在该实施方式中,S302具体包括S3021-S3023:
S3021:获取基准程序包的文件路径。
基准程序包是指生成应用程序包所需的基础程序包;而且基准程序包包括安装待发布应用程序所需的通用文件。需要说明的是,基准程序包和应用程序包的区别在于:应用程序包包括用于发布该应用程序包的应用程序托管平台所对应的文件,使得该应用程序包适于发布到该应用程序托管平台;但是,基准程序包只是包括安装待发布应用程序所需的通用文件,不包括任何与应用程序托管平台相关的文件。
基准程序包的文件路径用于表征基准程序包的存储路径。
S3022:根据基准程序包的文件路径获取基准程序包。
本申请实施例中,在获取到基准程序包的文件路径之后,可以基于基准程序包的文件路径,获取基准程序包,以便后续能够在基准程序包基础上生成各应用程序包。
需要说明的是,本申请实施例不限定S3021-S3022的执行时间,S3021-S3022只需在执行S2023之前完成执行即可。也就是,S3021-S3022可以在S301之前执行,也可以在S302之后执行。
S3023:根据第i个应用程序托管平台的平台标识和基准程序包,构建待发布应用程序的第i个应用程序包,并根据第i个应用程序托管平台的平台标识和第i个应用程序包之间的对应关系,构建第一映射关系;i为正整数,i≤N。
本申请实施例中,在获取到平台标识集和基准程序包之后,可以基于该基准程序包,构建平台标识集中各平台标识对应的应用程序包,其具体过程可以为:首先,根据第1个应用程序托管平台的平台标识和基准程序包,构建待发布应用程序的第1个应用程序包,使得第1个应用程序包适于发布到第1个应用程序托管平台;根据第2个应用程序托管平台的平台标识和基准程序包,构建待发布应用程序的第2个应用程序包,使得第2个应用程序包适于发布到第2个应用程序托管平台;……(以此类推);根据第N个应用程序托管平台的平台标识和基准程序包,构建待发布应用程序的第N个应用程序包,使得第N个应用程序包适于发布到第N个应用程序托管平台。然后,根据第1个应用程序包与第1个应用程序托管平台的平台标识之间的对应关系、第2个应用程序包与第2个应用程序托管平台的平台标识之间的对应关系、……、第N个应用程序包与第N个应用程序托管平台的平台标识之间的对应关系,构建第一映射关系,使得第一映射关系能够记录应用程序包与平台标识之间的对应关系。
基于上述内容可知,本申请实施例中,在获取到平台标识集之后,可以根据平台标识集中记录的N个平台标识,构建待发布应用程序的N个应用程序包以及第一映射关系,以使后续能够基于第一映射关系准确地获知应用程序包与应用程序托管平台之间的对应关系。
S303:根据第一映射关系,将N个应用程序包分别发布到N个应用程序托管平台,并根据从N个应用程序托管平台上获取到的待发布应用程序的应用程序包的下载链接,生成下载链接集。
其中,下载链接用于表征应用程序包的下载位置。另外,下载链接可以携带有平台标识和/或应用程序包的版本号。其中,应用程序包的版本号是应用程序包的版本标识,应用程序包的版本号用于表征应用程序包的版本信息。
本申请实施例中,在获取到待发布应用程序的N个应用程序包和第一映射关系之后,可以先根据第一映射关系将N个应用程序包分别发布到N个应用程序托管平台,再从N个应用程序托管平台上获取待发布应用程序的应用程序包的下载链接,以便将这些下载链接的集合确定为下载链接集。例如,当第一映射关系记录有第i个应用程序托管平台的平台标识和第i个应用程序包之间的对应关系,i为正整数,i≤N时,则S303具体可以为:首先,将第1个应用程序包发布到第1个应用程序托管平台,并从第1个应用程序托管平台获取待发布应用程序的应用程序包的下载链接;将第2个应用程序包发布到第2个应用程序托管平台,并从第2个应用程序托管平台获取待发布应用程序的应用程序包的下载链接;……(依次类推);将第N个应用程序包发布到第N个应用程序托管平台,并从第N个应用程序托管平台获取待发布应用程序的应用程序包的下载链接。然后,将从第1个至第N个应用程序托管平台获取待发布应用程序的应用程序包的下载链接的集合,确定为下载链接集。如此能够实现自动地将待发布应用程序的各应用程序包发布到该应用程序包对应的应用程序托管平台,并自动地从该应用程序托管平台自动地获取待发布应用程序的应用程序包的下载链接,以便后续能够基于这些下载链接生成用于记录这些下载链接的文件进行发布。
S304:在从下载链接管理平台获取到目标文件之后,利用下载链接集更新目标文件,并将更新后的目标文件发布到下载链接管理平台。
下载链接管理平台用于管理应用程序的所有应用程序包的下载链接。也就是,用户可以在下载链接管理平台上找到应用程序在各个应用程序托管平台上的应用程序包的下载链接。
目标文件用于记录待发布应用程序对应的历史应用程序包的下载链接;而且目标文件中所记录的历史应用程序包的发布时间均是距离当前时刻最近时间。也就是,目标文件包括待发布应用程序对应的最新版本的历史应用程序包。
另外,目标文件可以从下载链接管理平台上下载。需要说明的是,本申请实施例不限定目标文件,例如,目标文件可以是JavaScript对象简谱(avaScript Object Notation,JSON)文件。
本申请实施例还提供了更新目标文件的一种可能的实施方式,在该实施方式中,当下载链接携带有平台标识时,则目标文件的更新过程具体可以为:判断目标文件中是否存在携带有第j个应用程序托管平台的平台标识的下载链接,若是,则将目标文件中的携带有第j个应用程序托管平台的平台标识的下载链接,替换为下载链接集中携带有第j个应用程序托管平台的平台标识的下载链接;若否,则将下载链接集中携带有第j个应用程序托管平台的平台标识的下载链接,增加至目标文件。其中,j为正整数,j≤N。
本申请实施例中,在获取到目标文件之后,可以利用下载链接集更新目标文件,使得目标文件能够包括下载链接集中的下载链接。例如,当下载链接集包括N个下载链接,且第j个下载连接是指携带有第j个应用程序托管平台的平台标识的下载链接,j为正整数,j≤N时,则目标文件的更新过程为:判断目标文件中是否存在携带有第1个应用程序托管平台的平台标识的下载链接,若是,则将目标文件中的携带有第1个应用程序托管平台的平台标识的下载链接,替换为下载链接集中的第1个下载链接;若否,则将该第1个下载链接增加至目标文件。判断目标文件中是否存在携带有第2个应用程序托管平台的平台标识的下载链接,若是,则将目标文件中的携带有第2个应用程序托管平台的平台标识的下载链接,替换为下载链接集中的第2个下载链接;若否,则将该第2个下载链接增加至目标文件。……(以此类推)。判断目标文件中是否存在携带有第N个应用程序托管平台的平台标识的下载链接,若是,则将目标文件中的携带有第N个应用程序托管平台的平台标识的下载链接,替换为下载链接集中的第N个下载链接;若否,则将该第N个下载链接增加至目标文件。可见,如此使得更新后的目标文件中包括有下载链接集中的N个下载链接,也就是使得更新后的目标文件记录有待发布应用程序的最新版本应用程序包在上述N个应用程序托管平台中的下载链接。
基于上述内容可知,本申请实施例中,可以先从下载链接管理平台获取到目标文件,再利用获取的下载链接集更新该目标文件,使得更新后的目标文件记录有待发布应用程序的最新版本应用程序包在上述N个应用程序托管平台中的下载链接,以便后续将更新后的目标文件发布至下载链接管理平台上,使得待发布应用程序的需求者能够在下载链接管理平台上查询到待发布应用程序的最新版本应用程序包在各个应用程序托管平台中的下载链接。
另外,在一些情况下,若目标文件还用于记录应用程序包的版本号,则还可以根据各下载链接携带的应用程序包的版本号,更新目标文件中的应用程序包的版本号。基于此,本申请实施例还提供了更新目标文件的另一种可能的实施方式,在该实施方式中,当下载链接携带有平台标识和应用程序包的版本号时,则目标文件的更新过程具体可以为:判断目标文件中是否存在携带有第j个应用程序托管平台的平台标识的下载链接,若是,则将目标文件中的携带有第j个应用程序托管平台的平台标识的下载链接,替换为下载链接集中携带有第j个应用程序托管平台的平台标识的下载链接,并利用目标文件中的携带有第j个应用程序托管平台的平台标识的下载链接对应的应用程序的版本号,替换为下载链接集中携带有第j个应用程序托管平台的平台标识的下载链接中携带的应用程序的版本号;若否,则将下载链接集中携带有第j个应用程序托管平台的平台标识的下载链接、以及下载链接集中携带有第j个应用程序托管平台的平台标识的下载链接携带的应用程序的版本号,增加至目标文件。其中,j为正整数,j≤N。
本申请实施例中,在获取到目标文件之后,可以利用下载链接集更新目标文件,使得目标文件能够包括下载链接集中的下载链接以及该下载链接携带的应用程序的版本号。例如,当下载链接集包括N个下载链接,且第j个下载连接是指携带有第j个应用程序托管平台的平台标识的下载链接,j为正整数,j≤N时,则目标文件的更新过程为:判断目标文件中是否存在携带有第1个应用程序托管平台的平台标识的下载链接,若是,则将目标文件中的携带有第1个应用程序托管平台的平台标识的下载链接,替换为下载链接集中的第1个下载链接,并将目标文件中的携带有第1个应用程序托管平台的平台标识的下载链接对应的应用程序的版本号,替换为第1个下载链接中携带的应用程序的版本号;若否,则将该第1个下载链接以及第1个下载链接中携带的应用程序的版本号增加至目标文件。判断目标文件中是否存在携带有第2个应用程序托管平台的平台标识的下载链接,若是,则将目标文件中的携带有第2个应用程序托管平台的平台标识的下载链接,替换为下载链接集中的第2个下载链接,并将目标文件中的携带有第2个应用程序托管平台的平台标识的下载链接对应的应用程序的版本号,替换为第2个下载链接中携带的应用程序的版本号;若否,则将该第2个下载链接以及第2个下载链接携带的应用程序的版本号增加至目标文件。……(以此类推)。判断目标文件中是否存在携带有第N个应用程序托管平台的平台标识的下载链接,若是,则将目标文件中的携带有第N个应用程序托管平台的平台标识的下载链接,替换为下载链接集中的第N个下载链接,并将目标文件中的携带有第N个应用程序托管平台的平台标识的下载链接对应的应用程序的版本号,替换为第N个下载链接中携带的应用程序的版本号;若否,则将该第N个下载链接以及第N个下载链接携带的应用程序的版本号增加至目标文件。可见,如此使得更新后的目标文件中包括有下载链接集中的N个下载链接以及该N个下载链接对应的应用程序的版本号,也就是使得更新后的目标文件记录有待发布应用程序的最新版本应用程序包在上述N个应用程序托管平台中的下载链接以及该最新版本应用程序包的版本号。
基于上述S301至S304的相关内容可知,本申请实施例提供的应用程序包分发方法中,在获取到平台标识集之后,先根据平台标识集构建待发布应用程序的N个应用程序包以及第一映射关系,并根据第一映射关系将N个应用程序包分别发布到N个应用程序托管平台;再根据从N个应用程序托管平台上获取到的待发布应用程序的应用程序包的下载链接生成下载链接集,以便在从下载链接管理平台获取到目标文件之后,利用下载链接集更新目标文件,并将更新后的目标文件发布到下载链接管理平台;其中,平台标识集包括用于发布待发布应用程序的N个应用程序托管平台的平台标识;目标文件用于记录待发布应用程序对应的历史应用程序包的下载链接;第一映射关系用于记录应用程序包与平台标识之间的对应关系。
可见,在本申请实施例中,在获取到N个应用程序托管平台的平台标识之后,能够基于该N个平台标识自动地执行应用程序包的生成及发布过程,还能够自动地从N个应用程序托管平台上获取待发布应用程序的应用程序包的下载链接,并能够自动地基于这些下载链接生成并更新下载链接管理平台上的目标文件,使得更新后的目标文件能够准确地记录有待发布应用程序的各个应用程序包在相应的应用程序托管平台上下载链接,如此实现了应用程序包的自动分发,无需技术人员参与,提高了应用程序包的分发效率。
方法实施例二
在一些情况下,为了保证下载链接管理平台能够提供待发布应用程序的应用程序包的正确下载链接,可以对下载链接集中的下载链接进行检验。基于此,本申请实施例还提供了应用程序包分发方法的一种实施方式,在该实施方式中,当下载链接携带有平台标识时,该应用程序包分发方法除了包括上述S301-S304以外,还包括S305和S306:
S305:检验下载链接集中是否存在访问异常的下载链接。
本申请实施例中,在获取到下载链接集之后,可以检验下载链接集中的下载链接是否可以正常访问。若下载链接集中所有下载链接均可以正常访问,则表示下载链接集中的所有下载链接均是可以使用的连接;若下载链接集中存在访问异常的下载链接,则表示下载链接集中存在无法访问的下载链接,从而表示下载链接集的获取过程存在问题,此时可以退出应用程序包的发布过程,并由技术人员检测下载链接集的获取过程是否存在问题。如此能够保证后续更新目标文件时所使用的下载链接集中不存在访问异常的下载链接,从而使得更新后的目标文件准确地记录了能够被访问的各应用程序包的下载链接。
另外,本申请实施例不限定下载链接是否可以正常访问的检验方法,作为示例,可以通过调用预设程序语言中的预设函数来检验下载链接是否访问正常。例如,当预设程序语言为Python,且预设函数为Requests库的get函数时,则S305具体可以为:调用Python中Requests库的get函数来检验目标下载链接是否访问正常,若是,则返回目标下载链接的检测结果为200;若否,则返回返回目标下载链接的检测结果为除了200以外的其他数值。其中,目标下载链接为下载链接集中的任一下载链接。
S306:根据下载链接集中各下载链接携带的平台标识生成待检验标识集,并检验待检验标识集与平台标识集是否匹配。
待检验标识集用于记录下载链接集中所有下载链接携带的平台标识。
本申请实施例中,在获取到下载链接集之后,需要检测下载链接集是否囊括了待发布应用程序的N个应用程序包在相应的应用程序托管平台上的下载链接,其具体可以为:先从下载链接集中提取各下载链接携带的平台标识,并将提取所得的平台标识的集合确定为待检验标识集;再检验待检验标识集与平台标识集是否匹配,也就是检验待检验标识集中是否囊括了平台标识集中所有的平台标识。若匹配成功,则表示待检验标识集中囊括了平台标识集中所有的平台标识;若匹配失败,则表示待检验标识集中未囊括平台标识集中所有的平台标识,使得下载链接不完整,从而表示下载链接集的获取过程存在问题,此时可以退出应用程序包的发布过程,并由技术人员检测下载链接集的获取过程是否存在问题。如此能够保证后续更新目标文件所使用的下载链接集能够囊括待发布应用程序的N个应用程序包的下载链接,从而使得更新后的目标文件准确地记录了待发布应用程序的应用程序包的在N个应用程序托管平台上的下载链接。
需要说明的是,本申请实施例不限定S305和S306的执行顺序。例如,可以依次执行S305和S306,也可以依次执行S306和S305,还可以同时执行S305和S306。另外,本申请实施例不限定S305-S306的执行时间,S305-S306可以在S303之后执行。
基于上述S305和S306的相关内容可知,在确定下载链接集中不存在访问异常的下载链接,且确定待检验标识集与平台标识集匹配成功时,利用下载链接集更新目标文件。可见,上述S304具体可以为:在确定下载链接集中不存在访问异常的下载链接,确定待检验标识集与平台标识集匹配成功,且从下载链接管理平台获取到目标文件之后,利用下载链接集更新目标文件,并将更新后的目标文件发布到下载链接管理平台。
基于上述S304至S306的相关内容可知,本申请实施例中,在获取到下载链接集之后,可以对下载链接集进行上述两种检验,以便在确定下载链接集通过该双重检验时,确定下载链接集能够正确地表征待发布应用程序的N个应用程序包的下载链接,如此使得后续基于该下载链接集更新的目标文件,能够更准确地记录有待发布应用程序的应用程序包的在N个应用程序托管平台上的下载链接。如此有利于提高应用程序包的分发准确性。
在一些情况下,下载链接集中可能包括一些除了待发布应用程序的N个应用程序包的下载链接以外的其它下载链接,此时,为了能够更好地更新目标文件,可以删除下载链接集中上述其它下载链接。基于此,本申请实施例还提供了应用程序包分发方法的另一种实施方式,在该实施方式中,当下载链接携带有平台标识时,该应用程序包分发方法除了包括上述S301-S306以外,还包括S307:
S307:在确定下载链接集中不存在访问异常的下载链接,且确定待检验标识集与平台标识集匹配成功时,从下载链接集中删除冗余下载链接,得到目标下载链接集;其中,冗余下载链接携带的平台标识不属于平台标识集。
目标下载链接集包括N个下载链接,且目标下载链接集中各下载链接携带的平台标识均属于平台标识集。
另外,在S307的基础上,上述利用下载链接集更新目标文件具体可以为:利用目标下载链接集更新目标文件。
基于上述S307的相关内容可知,本申请实施例中,在确定下载链接集通过上述双重检验之后,可以先依据平台标识集,将下载链接集中除了待发布应用程序的N个应用程序包的下载链接以外的其它下载链接剔除,得到只包括待发布应用程序的N个应用程序包的下载链接的目标下载链接集,并利用目标下载链接集更新目标文件。其中,因目标下载链接集只包括待发布应用程序的N个应用程序包的下载链接,使得目标文件更新时只依据待发布应用程序的N个应用程序包的下载链接进行更新,使得更新后的目标文件能够准确地表征该N个应用程序包的下载链接。如此有利于提高目标文件的更新效率以及更新准确率。
在一些情况下(例如,存在上文应用管理平台),需要对预先设定N个应用程序包的分发格式,以便后续能够按照该分发格式对N个应用程序包进行分发。基于此,本申请实施例还提供了应用程序包分发方法的又一种实施方式,在该实施方式中,该应用程序包分发方法除了包括上述全部或部分步骤以外,还包括S308和S309:
S308:获取预设格式要求。
预设格式要求用于表征N个应用程序包的分发格式。另外,预设格式要求可以为文件压缩,也可以为文件不压缩。需要说明的是,预设格式要求可以预先由用户根据应用需求进行设定。
S309:若预设格式要求为文件压缩,则将N个应用程序包进行压缩得到目标压缩文件。
本申请实施例不限定文件压缩的方法,例如,可以将N个应用程序包压缩为zip文件。
另外,基于上述S308和S309,上述根据第一映射关系,将N个应用程序包分别发布到N个应用程序托管平台,具体可以为:将目标压缩文件和第一映射关系发送至应用管理平台,以使应用管理平台将目标压缩文件进行解压得到N个应用程序包,并根据第一映射关系,将N个应用程序包分别发布到N个应用程序托管平台。
基于上述S308和S309的相关内容可知,本申请实施例中,在获取到待发布应用程序的N个应用程序包以及第一映射关系之后,可以根据获取的预设格式要求来确定是否对该N个应用程序包进行文件压缩,以便在确定预设格式要求为文件压缩时,先将N个应用程序包进行压缩得到目标压缩文件,再将目标压缩文件和第一映射关系发送至应用管理平台,以使应用管理平台将目标压缩文件进行解压得到N个应用程序包,并根据第一映射关系,将N个应用程序包分别发布到N个应用程序托管平台。如此实现了借助应用管理平台进行应用程序包分发的目的。
为了便于进一步理解本申请实施例提供的应用程序包分发方法,场景实施例将结合图4对本申请实施例提供的应用程序包分发方法进行整体介绍。
场景实施例
场景实施例是对方法实施例提供的应用程序包分发方法的示例性介绍,为了简要起见,场景实施例中与方法实施例中部分内容相同,在此不再赘述,该内容相同的部分的技术详情请参照方法实施例中的相关内容。
参见图4,该图为本申请实施例提供的应用于图1所示场景下的应用程序包分发方法的流程图。
本申请实施例提供的应用程序包分发方法,包括S401-S408:
S401:终端设备接收到用户触发的应用程序包分发指令之后,获取待发布应用程序对应的平台标识集、基准程序包的文件路径和预设格式要求。
其中,应用程序包分发指令用于请求对取待发布应用程序的应用程序包进行构建并发布。
本申请实施例不限定用户触发应用程序包分发指令的触发方式,为了便于理解,下面将结合示例进行说明。
作为示例,用户可以借助预设应用程序包分发平台实现,而且该应用程序包分发平台是一个支持单次构建多插件串行工作的平台。例如,如图5所示的应用程序包分发平台上的应用程序包的分发执行页面,每一个黑框白格就是一个用于完成预设功能的插件,而且上游插件的输出可以作为下游插件输入。其中,插件的预设功能是预先设定的。基于此可知,当用户在预设应用程序包分发平台配置完成插件之后,用户可以通过点击用于触发应用程序包分发指令的按钮,即可触发应用程序包分发指令。
需要说明的是,图5中,GIT是开源的分布式版本控制系统的英文名称;且CDN是内容分发网络的简称,且CDN的英文全称为Content DeliveryNetwork;LINUX是一种操作系统。另外,拉取git插件的功能就是从git代码托管平台拉取代码到构建机上,发布CDN是指将应用程序包通过发布CDN插件发布到应用程序托管平台,然后该插件会返回应用程序包的下载链接列表,供下游插件使用。多渠道打包插件的功能就是构建待发布应用程序的各个应用程序包。更新渠道包链接的功能就是更新目标文件。
本申请实施例不限定终端设备获取待发布应用程序对应的平台标识集、基准程序包的文件路径和预设格式要求的方式。例如,在一些情况下,用户可以预先在图6所示的多渠道打包插件的配置页面上配置待发布应用程序对应的平台标识集(也就是,图6中的渠道名称列表)、基准程序包的文件路径(也就是,图6中的基准包文件路径)和预设格式要求(也就是,图6中的生成zip包可选项),以便后续终端设备能够直接从该配置页面上获取这些信息。
基于上述内容可知,本申请实施例中,终端设备在接收到用户触发的应用程序包分发指令之后,终端设备可以获取待发布应用程序对应的平台标识集、基准程序包的文件路径和预设格式要求,以便后续基于这些信息进行应用程序包的构建及发布。
S402:终端设备根据基准程序包的文件路径获取基准程序包,并根据平台标识集和基准程序包,构建待发布应用程序的N个应用程序包以及第一映射关系。
S403:终端设备根据预设格式要求和第一映射关系,将N个应用程序包分别发布到N个应用程序托管平台,并根据从N个应用程序托管平台上获取到的待发布应用程序的应用程序包的下载链接,生成下载链接集。
本申请实施例中,终端设备在获取到预设格式要求和第一映射关系之后,终端设备先根据预设格式要求和第一映射关系,将N个应用程序包分别发布到N个应用程序托管平台,并再根据从N个应用程序托管平台上获取到的待发布应用程序的应用程序包的下载链接,生成下载链接集。其中,N个应用程序包的发布过程具体为:若预设格式要求为文件压缩,则需要先将N个应用程序包压缩成目标压缩文件,再将目标压缩文件和第一映射关系发送至应用管理平台,以使应用管理平台将目标压缩文件进行解压得到N个应用程序包,并根据第一映射关系,将N个应用程序包分别发布到N个应用程序托管平台;若预设格式要求为文件不压缩,则需要根据第一映射关系将N个应用程序包分别发布到N个应用程序托管平台。
另外,本申请实施例中不限定下载链接集的表示方式,例如,如图7所示,当平台标识集包括平台标识test1和平台标识test2时,则图7所述的下载链接集至少包括携带有平台标识test1和平台标识test2的下载链接。需要说明的是,图7中“url”表示下载链接。
需要说明的是,当利用图5所示的应用程序包分发平台进行应用程序发布时,可以由上述CDN插件从各应用程序托管平台获取待发布应用程序的应用程序包的下载链接,以使后续图5所示的应用程序包分发平台按照图8a所示的下载链接更新流程对下载链接管理平台上的下载链接以及相关信息进行更新。
S404:终端设备检验下载链接集中是否存在访问异常的下载链接。
S405:终端设备根据下载链接集中各下载链接携带的平台标识生成待检验标识集,并检验待检验标识集与平台标识集是否匹配。
S406:终端设备在确定下载链接集中不存在访问异常的下载链接,且确定待检验标识集与平台标识集匹配成功时,从下载链接集中删除冗余下载链接,得到目标下载链接集;其中,冗余下载链接携带的平台标识不属于平台标识集。
S407:终端设备从下载链接管理平台获取目标文件,并利用目标下载链接集更新目标文件。
本申请实施例不限定目标文件的表示方式,例如,当平台标识集包括平台标识test2时,则更新后的目标文件可以包括图8b所示的内容。可见,在图8b所述的目标文件中,不仅需要更新下载链接,还需要更新应用程序的版本号。
S408:终端设备将更新后的目标文件发布到下载链接管理平台。
基于上述S401至S408的相关内容可知,在终端设备获取到用户触发的应用程序包分发指令之后,终端设备能够自动地获取待发布应用程序对应的平台标识集、基准程序包的文件路径和预设格式要求,并根据这些获取到的信息构建并发布待发布应用程序的各应用程序包,以便获得待发布应用程序的各应用程序包的下载链接。可见,终端设备能够自动地实现应用程序包的分发过程,无需技术人员参与,如此能够有效地提高应用程序包的分发效率。
基于上述提供的应用程序包分发方法的相关内容,本申请实施例还提供了对应的应用程序包分发装置,以使得上述提供的应用程序包分发方法在实际中得以应用和实现。
装置实施例
需要说明的是,本实施例提供的应用程序包分发装置的技术详情可以参照上述提供的应用程序包分发方法。
参见图9,该图为本申请实施例提供的一种应用程序包分发装置的结构示意图。
本申请实施例提供的应用程序包分发装置900,包括:
第一获取单元901,用于获取平台标识集,所述平台标识集包括用于发布待发布应用程序的N个应用程序托管平台的平台标识;N为正整数;
第一构建单元902,用于根据所述平台标识集,构建所述待发布应用程序的N个应用程序包以及第一映射关系;所述第一映射关系用于记录应用程序包与平台标识之间的对应关系;
第一分发单元903,用于根据所述第一映射关系,将所述N个应用程序包分别发布到所述N个应用程序托管平台,并获取下载链接集,所述下载链接集包括发布于N个应用程序托管平台上的应用程序包的下载链接;
第二分发单元904,用于在从下载链接管理平台获取到目标文件之后,利用所述下载链接集更新所述目标文件,并将更新后的目标文件发布到所述下载链接管理平台;其中,所述目标文件用于记录所述待发布应用程序对应的历史应用程序包的下载链接。
可选的,在图9所示的应用程序包分发装置900的基础上,第一构建单元902,具体用于:
获取基准程序包的文件路径;
根据所述基准程序包的文件路径获取所述基准程序包;
根据第i个应用程序托管平台的平台标识和所述基准程序包,构建所述待发布应用程序的第i个应用程序包,并根据所述第i个应用程序托管平台的平台标识和所述第i个应用程序包之间的对应关系,构建第一映射关系;所述i为正整数,i≤N。
可选的,在图9所示的应用程序包分发装置900的基础上,第二分发单元904,具体用于:当下载链接携带有平台标识时,判断所述目标文件中是否存在携带有所述第j个应用程序托管平台的平台标识的下载链接;所述j为正整数,j≤N;若确定所述目标文件中存在携带有所述第j个应用程序托管平台的平台标识的下载链接,则将目标文件中的所述携带有所述第j个应用程序托管平台的平台标识的下载链接,替换为所述下载链接集中携带有所述第j个应用程序托管平台的平台标识的下载链接;若确定所述目标文件中不存在携带有所述第j个应用程序托管平台的平台标识的下载链接,则将所述下载链接集中携带有所述第j个应用程序托管平台的平台标识的下载链接,增加至所述目标文件。
可选的,在图9所示的应用程序包分发装置900的基础上,第一获取单元901,具体用于:根据用户输入的所述用于发布所述待发布应用程序的N个应用程序托管平台的平台标识,生成所述平台标识集。
可选的,在图9所示的应用程序包分发装置900的基础上,第一获取单元901,具体用于:根据预设文档的文件路径获取所述预设文档,并利用所述预设文档中记录的所述用于发布所述待发布应用程序的N个应用程序托管平台的平台标识,生成所述平台标识集。
可选的,在图9所示的应用程序包分发装置900的基础上,第一获取单元901,具体用于:接收应用程序分发请求,并根据所述应用程序分发请求携带的用于发布所述待发布应用程序的N个应用程序托管平台的平台标识,生成所述平台标识集。
可选的,在图9所示的应用程序包分发装置900的基础上,当所述下载链接携带有平台标识时,如图10所示,所述应用程序包分发装置900还包括:
第一检验单元905,用于检验所述下载链接集中是否存在访问异常的下载链接;
第二检验单元906,用于根据所述下载链接集中各下载链接携带的平台标识生成待检验标识集,并检验所述待检验标识集与所述平台标识集是否匹配;
所述第二分发单元904,具体用于在确定所述下载链接集中不存在访问异常的下载链接,且确定所述待检验标识集与所述平台标识集匹配成功时,利用所述下载链接集更新所述目标文件。
可选的,在图10所示的应用程序包分发装置900的基础上,如图11所示,所述应用程序包分发装置900还包括:
删除单元907,用于在确定所述下载链接集中不存在访问异常的下载链接,且确定所述待检验标识集与所述平台标识集匹配成功时,从所述下载链接集中删除冗余下载链接,得到目标下载链接集;其中,所述冗余下载链接携带的平台标识不属于所述平台标识集;
所述第二分发单元904,具体用于利用所述目标下载链接集更新所述目标文件。
可选的,在图9-11任一项所示的应用程序包分发装置900的基础上,如图12所示,所述应用程序包分发装置900还包括:
第二获取单元908,用于获取预设格式要求,所述预设格式要求用于表征所述N个应用程序包的分发格式;
压缩单元909,用于若所述预设格式要求为文件压缩,则将所述N个应用程序包进行压缩得到目标压缩文件;
第一分发单元903,具体用于将所述目标压缩文件和所述第一映射关系发送至应用管理平台,以使所述应用管理平台将所述目标压缩文件进行解压得到所述N个应用程序包,并根据所述第一映射关系,将所述N个应用程序包分别发布到所述N个应用程序托管平台。
基于上述应用程序包分发装置900的相关内容可知,在获取到平台标识集之后,先根据平台标识集构建待发布应用程序的N个应用程序包以及第一映射关系,并根据第一映射关系将N个应用程序包分别发布到N个应用程序托管平台;再根据从N个应用程序托管平台上获取到的待发布应用程序的应用程序包的下载链接生成下载链接集,以便在从下载链接管理平台获取到目标文件之后,利用下载链接集更新目标文件,并将更新后的目标文件发布到下载链接管理平台;其中,平台标识集包括用于发布待发布应用程序的N个应用程序托管平台的平台标识;目标文件用于记录待发布应用程序对应的历史应用程序包的下载链接;第一映射关系用于记录应用程序包与平台标识之间的对应关系。
可见,在本申请实施例中,在获取到N个应用程序托管平台的平台标识之后,能够基于该N个平台标识自动地执行应用程序包的生成及发布过程,还能够自动地从N个应用程序托管平台上获取待发布应用程序的应用程序包的下载链接,并能够自动地基于这些下载链接生成并更新下载链接管理平台上的目标文件,使得更新后的目标文件能够准确地记录有待发布应用程序的各个应用程序包在相应的应用程序托管平台上下载链接,如此实现了应用程序包的自动分发,无需技术人员参与,提高了应用程序包的分发效率。
本申请实施例还提供了一种用于分发应用程序包的终端设备和服务器,下面将从硬件实体化的角度对本申请实施例提供的用于分发应用程序包的终端设备和服务器进行介绍。
参见图13,为本申请实施例提供的一种终端设备的结构示意图。为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(英文全称:Personal DigitalAssistant,英文缩写:PDA)、销售终端(英文全称:Point of Sales,英文缩写:POS)、车载电脑等任意终端设备,以终端为平板电脑为例:
图13示出的是与本申请实施例提供的终端相关的平板电脑的部分结构的框图。参考图13,平板电脑包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路1310、存储器1320、输入单元1330、显示单元1340、传感器1350、音频电路1360、无线保真(英文全称:wireless fidelity,英文缩写:WiFi)模块1370、处理器1380、以及电源1390等部件。本领域技术人员可以理解,图13中示出的平板电脑结构并不构成对平板电脑的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器1320可用于存储软件程序以及模块,处理器1380通过运行存储在存储器1320的软件程序以及模块,从而执行平板电脑的各种功能应用以及数据处理。存储器1320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据平板电脑的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器1380是平板电脑的控制中心,利用各种接口和线路连接整个平板电脑的各个部分,通过运行或执行存储在存储器1320内的软件程序和/或模块,以及调用存储在存储器1320内的数据,执行平板电脑的各种功能和处理数据,从而对平板电脑进行整体监控。可选的,处理器1380可包括一个或多个处理单元;优选的,处理器1380可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1380中。
在本申请实施例中,该终端所包括的处理器1380还具有以下功能:
获取平台标识集,所述平台标识集包括用于发布待发布应用程序的N个应用程序托管平台的平台标识;N为正整数;
根据所述平台标识集,构建所述待发布应用程序的N个应用程序包以及第一映射关系;所述第一映射关系用于记录应用程序包与平台标识之间的对应关系;
根据所述第一映射关系,将所述N个应用程序包分别发布到所述N个应用程序托管平台,并根据从所述N个应用程序托管平台上获取到的所述待发布应用程序的应用程序包的下载链接,生成下载链接集;
在从下载链接管理平台获取到目标文件之后,利用所述下载链接集更新所述目标文件,并将更新后的目标文件发布到所述下载链接管理平台;其中,所述目标文件用于记录所述待发布应用程序对应的历史应用程序包的下载链接。
可选的,所述处理器1380还用于执行本申请实施例提供的应用程序包分发方法的任意一种实现方式的步骤。
本申请实施例还提供了一种服务器,图14是本申请实施例提供的一种服务器的结构示意图,该服务器1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1422(例如,一个或一个以上处理器)和存储器1432,一个或一个以上存储应用程序1442或数据1444的存储介质1430(例如一个或一个以上海量存储设备)。其中,存储器1432和存储介质1430可以是短暂存储或持久存储。存储在存储介质1430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1422可以设置为与存储介质1430通信,在服务器1400上执行存储介质1430中的一系列指令操作。
服务器1400还可以包括一个或一个以上电源1426,一个或一个以上有线或无线网络接口1450,一个或一个以上输入输出接口1458,和/或,一个或一个以上操作系统1441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图14所示的服务器结构。
其中,CPU 1422用于执行如下步骤:
获取平台标识集,所述平台标识集包括用于发布待发布应用程序的N个应用程序托管平台的平台标识;N为正整数;
根据所述平台标识集,构建所述待发布应用程序的N个应用程序包以及第一映射关系;所述第一映射关系用于记录应用程序包与平台标识之间的对应关系;
根据所述第一映射关系,将所述N个应用程序包分别发布到所述N个应用程序托管平台,并根据从所述N个应用程序托管平台上获取到的所述待发布应用程序的应用程序包的下载链接,生成下载链接集;
在从下载链接管理平台获取到目标文件之后,利用所述下载链接集更新所述目标文件,并将更新后的目标文件发布到所述下载链接管理平台;其中,所述目标文件用于记录所述待发布应用程序对应的历史应用程序包的下载链接。
可选的,CPU 1422还可以用于执行本申请实施例中应用程序包分发方法的任意一种实现方式的步骤。
本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的一种应用程序包分发方法中的任意一种实施方式。
本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的一种应用程序包分发方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储计算机程序的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种应用程序包分发方法,其特征在于,包括:
获取平台标识集,所述平台标识集包括用于发布待发布应用程序的N个应用程序托管平台的平台标识;N为正整数;
根据所述平台标识集,构建所述待发布应用程序的N个应用程序包以及第一映射关系;所述第一映射关系用于记录应用程序包与平台标识之间的对应关系;
根据所述第一映射关系,将所述N个应用程序包分别发布到所述N个应用程序托管平台,并根据从所述N个应用程序托管平台上获取到的所述待发布应用程序的应用程序包的下载链接,生成下载链接集;
在从下载链接管理平台获取到目标文件之后,利用所述下载链接集更新所述目标文件,并将更新后的目标文件发布到所述下载链接管理平台;其中,所述目标文件用于记录所述待发布应用程序对应的历史应用程序包的下载链接。
2.根据权利要求1所述的方法,其特征在于,所述根据所述平台标识集,构建待发布应用程序的N个应用程序包以及第一映射关系,包括:
获取基准程序包的文件路径;
根据所述基准程序包的文件路径获取所述基准程序包;
根据第i个应用程序托管平台的平台标识和所述基准程序包,构建所述待发布应用程序的第i个应用程序包,并根据所述第i个应用程序托管平台的平台标识和所述第i个应用程序包之间的对应关系,构建第一映射关系;所述i为正整数,i≤N。
3.根据权利要求1所述的方法,其特征在于,当所述下载链接携带有平台标识时,所述利用所述下载链接集更新所述目标文件,包括:
判断所述目标文件中是否存在携带有所述第j个应用程序托管平台的平台标识的下载链接;所述j为正整数,j≤N;
若确定所述目标文件中存在携带有所述第j个应用程序托管平台的平台标识的下载链接,则将目标文件中的所述携带有所述第j个应用程序托管平台的平台标识的下载链接,替换为所述下载链接集中携带有所述第j个应用程序托管平台的平台标识的下载链接;
若确定所述目标文件中不存在携带有所述第j个应用程序托管平台的平台标识的下载链接,则将所述下载链接集中携带有所述第j个应用程序托管平台的平台标识的下载链接,增加至所述目标文件。
4.根据权利要求1所述的方法,其特征在于,所述获取平台标识集,包括:
根据用户输入的所述用于发布所述待发布应用程序的N个应用程序托管平台的平台标识,生成所述平台标识集;
或者,
根据预设文档的文件路径获取所述预设文档,并利用所述预设文档中记录的所述用于发布所述待发布应用程序的N个应用程序托管平台的平台标识,生成所述平台标识集;
或者,
接收应用程序分发请求,并根据所述应用程序分发请求携带的用于发布所述待发布应用程序的N个应用程序托管平台的平台标识,生成所述平台标识集。
5.根据权利要求1所述的方法,其特征在于,当所述下载链接携带有平台标识时,所述方法还包括:
检验所述下载链接集中是否存在访问异常的下载链接;
根据所述下载链接集中各下载链接携带的平台标识生成待检验标识集,并检验所述待检验标识集与所述平台标识集是否匹配;
所述利用所述下载链接集更新所述目标文件,具体为:
在确定所述下载链接集中不存在访问异常的下载链接,且确定所述待检验标识集与所述平台标识集匹配成功时,利用所述下载链接集更新所述目标文件。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在确定所述下载链接集中不存在访问异常的下载链接,且确定所述待检验标识集与所述平台标识集匹配成功时,从所述下载链接集中删除冗余下载链接,得到目标下载链接集;其中,所述冗余下载链接携带的平台标识不属于所述平台标识集;
所述利用所述下载链接集更新所述目标文件,具体为:
利用所述目标下载链接集更新所述目标文件。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取预设格式要求,所述预设格式要求用于表征所述N个应用程序包的分发格式;
若所述预设格式要求为文件压缩,则将所述N个应用程序包进行压缩得到目标压缩文件;
所述根据所述第一映射关系,将所述N个应用程序包分别发布到所述N个应用程序托管平台,具体包括:
将所述目标压缩文件和所述第一映射关系发送至应用管理平台,以使所述应用管理平台将所述目标压缩文件进行解压得到所述N个应用程序包,并根据所述第一映射关系,将所述N个应用程序包分别发布到所述N个应用程序托管平台。
8.一种应用程序包分发装置,其特征在于,包括:
第一获取单元,用于获取平台标识集,所述平台标识集包括用于发布待发布应用程序的N个应用程序托管平台的平台标识;N为正整数;
第一构建单元,用于根据所述平台标识集,构建所述待发布应用程序的N个应用程序包以及第一映射关系;所述第一映射关系用于记录应用程序包与平台标识之间的对应关系;
第一分发单元,用于根据所述第一映射关系,将所述N个应用程序包分别发布到所述N个应用程序托管平台,并获取下载链接集,所述下载链接集包括发布于N个应用程序托管平台上的应用程序包的下载链接;
第二分发单元,用于在从下载链接管理平台获取到目标文件之后,利用所述下载链接集更新所述目标文件,并将更新后的目标文件发布到所述下载链接管理平台;其中,所述目标文件用于记录所述待发布应用程序对应的历史应用程序包的下载链接。
9.一种设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010355581.6A CN111552484A (zh) | 2020-04-29 | 2020-04-29 | 一种应用程序包分发方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010355581.6A CN111552484A (zh) | 2020-04-29 | 2020-04-29 | 一种应用程序包分发方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111552484A true CN111552484A (zh) | 2020-08-18 |
Family
ID=72004207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010355581.6A Pending CN111552484A (zh) | 2020-04-29 | 2020-04-29 | 一种应用程序包分发方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111552484A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799699A (zh) * | 2021-01-25 | 2021-05-14 | 广州心娱网络科技有限公司 | 一种服务器的更新方法及装置 |
CN114253432A (zh) * | 2020-09-11 | 2022-03-29 | 腾讯科技(深圳)有限公司 | 应用渠道包的投放方法及系统 |
CN114500515A (zh) * | 2022-02-16 | 2022-05-13 | 厦门元屿安科技有限公司 | 基于cdn边缘计算网络的apk动态改写方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064666A (zh) * | 2012-11-30 | 2013-04-24 | 北京奇虎科技有限公司 | 一种多渠道软件发布方法和系统 |
CN106020789A (zh) * | 2016-04-29 | 2016-10-12 | 乐视控股(北京)有限公司 | 应用程序包的渠道信息添加方法、系统及打渠道包服务器 |
CN106550022A (zh) * | 2016-10-24 | 2017-03-29 | 上海瀚银信息技术有限公司 | 一种应用程序分发控制处理方法及系统 |
CN107391626A (zh) * | 2017-07-07 | 2017-11-24 | 腾讯科技(深圳)有限公司 | 落地页的创建方法和装置 |
CN109151019A (zh) * | 2018-08-20 | 2019-01-04 | 彩讯科技股份有限公司 | 一种应用下载方法、装置、设备及存储介质 |
CN109542461A (zh) * | 2018-10-16 | 2019-03-29 | 深圳壹账通智能科技有限公司 | 应用安装包的发布方法、终端设备及介质 |
CN110795139A (zh) * | 2019-09-12 | 2020-02-14 | 深圳壹账通智能科技有限公司 | 客户端批量打包方法、装置、计算机设备和存储介质 |
-
2020
- 2020-04-29 CN CN202010355581.6A patent/CN111552484A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064666A (zh) * | 2012-11-30 | 2013-04-24 | 北京奇虎科技有限公司 | 一种多渠道软件发布方法和系统 |
CN106020789A (zh) * | 2016-04-29 | 2016-10-12 | 乐视控股(北京)有限公司 | 应用程序包的渠道信息添加方法、系统及打渠道包服务器 |
CN106550022A (zh) * | 2016-10-24 | 2017-03-29 | 上海瀚银信息技术有限公司 | 一种应用程序分发控制处理方法及系统 |
CN107391626A (zh) * | 2017-07-07 | 2017-11-24 | 腾讯科技(深圳)有限公司 | 落地页的创建方法和装置 |
CN109151019A (zh) * | 2018-08-20 | 2019-01-04 | 彩讯科技股份有限公司 | 一种应用下载方法、装置、设备及存储介质 |
CN109542461A (zh) * | 2018-10-16 | 2019-03-29 | 深圳壹账通智能科技有限公司 | 应用安装包的发布方法、终端设备及介质 |
CN110795139A (zh) * | 2019-09-12 | 2020-02-14 | 深圳壹账通智能科技有限公司 | 客户端批量打包方法、装置、计算机设备和存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114253432A (zh) * | 2020-09-11 | 2022-03-29 | 腾讯科技(深圳)有限公司 | 应用渠道包的投放方法及系统 |
CN114253432B (zh) * | 2020-09-11 | 2023-09-08 | 腾讯科技(深圳)有限公司 | 应用渠道包的投放方法及系统 |
CN112799699A (zh) * | 2021-01-25 | 2021-05-14 | 广州心娱网络科技有限公司 | 一种服务器的更新方法及装置 |
CN112799699B (zh) * | 2021-01-25 | 2024-05-03 | 广州心娱网络科技有限公司 | 一种服务器的更新方法及装置 |
CN114500515A (zh) * | 2022-02-16 | 2022-05-13 | 厦门元屿安科技有限公司 | 基于cdn边缘计算网络的apk动态改写方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108038053B (zh) | 一种动态配置埋点的方法及设备 | |
CN111552484A (zh) | 一种应用程序包分发方法、装置、设备及存储介质 | |
CN111831548B (zh) | 一种依赖关系拓扑图的绘制方法和装置 | |
TWI493465B (zh) | 分配式應用程式堆疊與部署方法及系統 | |
CN108696399B (zh) | 业务服务的测试方法和装置 | |
CN109725912B (zh) | 应用程序配置方法、装置、终端、服务器及可读存储介质 | |
CN106817241A (zh) | 一种升级管理方法、升级方法及装置 | |
CN112052013A (zh) | 软件包的生成方法及装置、存储介质、电子装置 | |
CN107870771A (zh) | 应用程序构建与升级方法及系统 | |
CN110297776B (zh) | 检测报告生成、接收方法、装置、设备及存储介质 | |
CN112087327B (zh) | 信息状态获取方法和装置、存储介质和电子装置 | |
CN114036113A (zh) | 设备管理方法、装置、电子设备及存储介质 | |
WO2017124736A1 (zh) | 一种升级异常信息的传输方法、设备和系统 | |
CN112181822A (zh) | 一种测试方法和应用程序的启动耗时测试方法 | |
CN113420010B (zh) | 数据库的管理方法、装置、电子设备和存储介质 | |
CN113204558B (zh) | 数据表结构自动更新方法和装置 | |
CN113986276A (zh) | 一种软件升级方法及相关装置、存储介质 | |
CN113282308A (zh) | 一种镜像构建方法、装置、存储介质及电子装置 | |
CN113704120A (zh) | 数据传输方法、装置、设备及存储介质 | |
CN112988176A (zh) | 渠道包的生成方法和装置、存储介质及电子设备 | |
CN115729590A (zh) | 服务部署方法、装置、设备和计算机可读存储介质 | |
CN114090074A (zh) | 运行环境的配置方法和装置、存储介质及电子装置 | |
CN114416420A (zh) | 设备问题反馈方法和系统 | |
CN114500268A (zh) | chart资源的部署方法、装置、服务器及存储介质 | |
CN114466387A (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 |