CN114338652B - 安装包的分发方法、下载方法及相关产品 - Google Patents
安装包的分发方法、下载方法及相关产品 Download PDFInfo
- Publication number
- CN114338652B CN114338652B CN202111646129.6A CN202111646129A CN114338652B CN 114338652 B CN114338652 B CN 114338652B CN 202111646129 A CN202111646129 A CN 202111646129A CN 114338652 B CN114338652 B CN 114338652B
- Authority
- CN
- China
- Prior art keywords
- application program
- service
- file block
- application
- electronic equipment
- 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.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本申请实施例涉及软件技术领域,公开了安装包的分发方法、下载方法及相关产品,该分发方法应用于服务器,包括:确定第一应用程序提供的第一服务;以及,在第一应用程序的安装包中确定出必要文件块,必要文件块是支持第一应用程序正常安装启动并执行第一服务的最小文件块;以及,响应于电子设备发送的下载请求,将必要文件块发送给电子设备,以使得电子设备根据必要文件块安装第一应用程序,下载请求是电子设备在检测到第二应用程序发起的调用第一服务的调用请求,且电子设备中未安装第一应用程序时发送的。实施本申请实施例,能够在提高应用程序的使用效率。
Description
技术领域
本申请涉及软件技术领域,具体涉及一种安装包的分发方法、下载方法及相关产品。
背景技术
随着应用程序开发技术的快速发展,如今不同的应用程序之间可以相互关联,以提高应用程序的使用效率,例如A应用程序在执行购物任务时,可以启动关联的B应用程序进行付款任务,从而快速完成购物任务。
在实践中发现,相关技术中如果电子设备没有安装B应用程序,则A应用程序无法启动关联的B应用程序,从而降低了应用程序的使用效率。
发明内容
本申请实施例公开了一种安装包的分发方法、下载方法及相关产品,能够在提高应用程序的使用效率。
本申请实施例第一方面公开一种安装包的分发方法,应用于服务器,所述方法包括:
确定第一应用程序提供的第一服务;
在所述第一应用程序的安装包中确定出必要文件块,所述必要文件块是支持所述第一应用程序正常安装启动并执行所述第一服务的最小文件块;
响应于电子设备发送的下载请求,将所述必要文件块发送给所述电子设备,以使得所述电子设备根据所述必要文件块安装所述第一应用程序,所述下载请求是所述电子设备在检测到所述第二应用程序发起的调用所述第一服务的调用请求,且所述电子设备中未安装所述第一应用程序时发送的。
本申请实施例第二方面公开一种安装包的下载方法,应用于电子设备,所述方法包括:
在运行第二应用程序的过程中,若检测到所述第二应用程序发起的调用第一应用程序提供的第一服务的调用请求,且所述电子设备未安装所述第一应用程序,则向服务器发送针对所述第一服务的下载请求;
接收所述服务器发送的必要文件块,并对所述必要文件块进行安装,所述必要文件块是支持所述第一应用程序正常安装启动并执行所述第一服务的最小文件块。
本申请实施例第三方面公开一种安装包的分发装置,应用于服务器,所述装置包括:
第一确定单元,用于确定第一应用程序提供的第一服务;
第二确定单元,用于在所述第一应用程序的安装包中确定出必要文件块,所述必要文件块是支持所述第一应用程序正常安装启动并执行所述第一服务的最小文件块;
第一发送单元,用于响应于电子设备发送的下载请求,将所述必要文件块发送给所述电子设备,以使得所述电子设备根据所述必要文件块安装所述第一应用程序,所述下载请求是所述电子设备在检测到所述第二应用程序发起的调用所述第一服务的调用请求,且所述电子设备中未安装所述第一应用程序时发送的。
本申请实施例第四方面公开一种安装包的下载装置,应用于电子设备,所述装置包括:
第二发送单元,用于在运行第二应用程序的过程中,若检测到所述第二应用程序发起的调用第一应用程序提供的第一服务的调用请求,且所述电子设备未安装所述第一应用程序,则向服务器发送针对所述第一服务的下载请求;
安装单元,用于接收所述服务器发送的必要文件块,并对所述必要文件块进行安装,所述必要文件块是支持所述第一应用程序正常安装启动并执行所述第一服务的最小文件块。
本申请实施例第五方面公开一种电子设备,包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本申请实施例第一方面公开的安装包的分发方法或者第二方面公开的安装包的下载方法。
本申请实施例第六方面公开一种计算机可读存储介质,其存储计算机程序,其中,所述计算机程序使得计算机执行本申请实施例第一方面公开的安装包的分发方法或者第二方面公开的安装包的下载方法。
与相关技术相比,本申请实施例具有以下有益效果:
通过本申请实施例,服务器能够先确定出第一应用程序提供的第一服务,并在第一应用程序的安装包中确定出必要文件块;进而电子设备在运行第二应用程序的过程中,若检测到第二应用程序发起的调用第一服务的调用请求,但是电子设备中未安装第一应用程序时,可以向服务器发送下载请求;进而服务器可以响应于下载请求将必要文件块发送给电子设备,以使得电子设备根据接收到的必要文件块安装第一应用程序,其中,必要文件块仅是支持第一应用程序正常安装启动并执行第一服务的最小文件块,所以必要文件块的数据量远小于第一应用程序整个安装包的数据量,从而提高了电子设备下载和安装第一应用程序的速度,进而使得电子设备可以在未安装第一应用程序的情况下,快速地调用第一应用程序提供的第一服务配合第二应用程序使用,提高了应用程序的使用效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例公开的一种应用场景的示意图;
图2是本申请实施例公开的一种时序示意图;
图3是本申请实施例公开的一种安装包的分发方法的流程示意图;
图4是本申请实施例公开的另一种安装包的分发方法的流程示意图;
图5是本申请实施例公开的又一种安装包的分发方法的流程示意图;
图6是本申请实施例公开的一种安装包的下载方法的流程示意图;
图7是本申请实施例公开的一种安装包的分发装置的结构示意图;
图8是本申请实施例公开的一种安装包的下载装置的结构示意图;
图9是本申请实施例公开的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同的对象,而不是用于描述特定顺序。本申请实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例公开了一种安装包的分发方法、下载方法及相关产品,能够在提高应用程序的使用效率。
下面将结合具体实施例对本申请技术方案进行详细说明。
为了更加清楚地说明本申请实施例公开的一种安装包的分发方法,首先介绍一种适用于该分发方法的应用场景。可选的,该分发方法可以应用各种服务器向电子设备分发安装包的过程中,其中,服务器可以包括但不限于云端服务器、本地服务器以及服务器集群;电子设备可以包括但不限于手机、平板电脑等便携式设备,智能手表、智能手环等可穿戴设备。
请进一步参阅图1,图1是本申请实施例公开的一种应用场景的示意图。其中,服务器110可以与电子设备120之间建立有传输链路,该传输链路可以用于传输安装包数据或者通信信息,在此不作限定。在一种实施例中,服务器110可以确定第一应用程序提供的第一服务(其中,第一服务可以是第一应用程序通过其携带的功能实现的服务;例如,支付类型的应用程序可以通过其携带的电子支付功能实现支付服务,导航类型的应用程序可以通过其携带的地图功能实现导航服务);进而服务器110可以在第一应用程序的安装包中确定出必要文件块;其中,必要文件块是支持第一应用程序正常安装启动并执行第一服务的最小文件块,也就是说后续电子设备仅需下载和安装必要文件块,就可以执行第一应用程序提供的第一服务。
需要说明的是,上述的服务器110、电子设备120以及本申请实施例公开的其他设备可以是支持增量文件系统的设备,增量文件系统是可以将一个完整的文件分割成多个文件块,并支持设备分段写入或读取文件块的系统,从而上述设备可以从安装包从分割出必要文件块,并对必要文件块进行单独的写入和读取。
进一步地,电子设备120在运行第二应用程序的过程中,若检测到第二应用程序发起的调用第一服务的调用请求,但是电子设备中未安装第一应用程序时,则可以通过传输链路向服务器发送下载请求;响应于下载请求,服务器110可以通过传输链路向电子设备120发送必要文件块,以使得电子设备120根据必要文件块安装第一应用程序,并快速调用第一应用程序执行第一服务。
在实践中发现,相关技术中若电子设备未安装第一应用程序,则在检测到第二应用程序调用第一应用程序的调用请求时,电子设备是无法执行调用的,只能通过用户手动去下载安装第一应用程序之后,电子设备才能正常调用第一应用程序。但是实施本申请实施例中,电子设备可以在检测到第二应用程序调用第一应用程序的调用请求,且电子设备中未安装第一应用程序时,可以仅从服务器下载支持第一应用程序正常安装启动并执行第一服务的必要文件块,而由于必要文件块的数据量远小于第一应用程序整个安装包的数据量,从而提高了电子设备下载和安装第一应用程序的速度,进而使得电子设备可以在未安装第一应用程序的情况下,快速地调用第一应用程序提供的第一服务配合第二应用程序使用,提高了应用程序的使用效率。
请进一步参阅图2,图2是本申请实施例公开的一种时序示意图。其中,步骤1:开发商130可以将第一应用程序的安装包上传至服务器110;步骤2:服务器110可以确定第一应用程序提供的第一服务;步骤3:服务器110可以在第一应用程序的安装包中确定出必要文件块;步骤4:电子设备120在检测到第二应用程序发起的调用第一服务的调用请求,且电子设备120中未安装第一应用程序时,向服务器110发送下载请求;步骤5:服务器110响应于下载请求,将必要文件块发送给电子设备120。
基于此,以下内容对本申请实施例公开的安装包的分发方法进行介绍。
请参阅图3,图3是本申请实施例公开的一种安装包的分发方法的流程示意图。该方法可以应用于上述的服务器或者其他执行主体,在此不作限定。
该方法可以包括以下步骤:
302、确定第一应用程序提供的第一服务。
本申请实施例中,服务器或者与服务器关联的存储设备可以存储有一个或多个对应不同应用程序的安装包;其中,安装包是包括各种安装文件的压缩文件包,包括但不限于APK(Android application package,安卓应用程序包)、Debian应用程序包等应用程序安装包。可选的,第一应用程序可以是上述一个或多个安装包中任一个安装包对应的应用程序。
可选的,服务器可以获取第一应用程序的介绍信息,进而通过第一应用程序的介绍信息确定第一应用程序提供的第一服务,其中,介绍信息包括对第一应用程序的功能进行介绍的信息。
在另一种实施例中,服务器可以从第一应用程序的安装包中获取第一应用程序对应的清单信息,进而根据清单信息确定第一应用程序提供的第一服务。其中,清单信息可以是指应用清单文件(AndroidManifest.xml),应用清单文件用于记录应用程序提供的各种组件,从而服务器可以根据应用清单文件用于记录的各种组件确定应用程序提供的服务。
在一种实施例中,服务器可以在第一应用程序的安装包被上传至服务器或者服务器关联的存储设备时,自动确定第一应用程序提供的第一服务。可选的,每个第一应用程序提供的第一服务可以有一个或多个(包括两个及两个以上),在此不作限定。
304、在第一应用程序的安装包中确定出必要文件块,必要文件块是支持第一应用程序正常安装启动并执行第一服务的最小文件块。
如上所述,本申请实施例中公开的服务器可以支持增量文件系统,从而服务器可以将第一应用程序的安装包拆分成多个文件块;其中,各个文件块可以具有相同目标数据量。例如,安装包可以被划分为多个5K大小的文件块,或者安装包可以被划分为多个6K大小的文件块,在此不作限定。在另一种实施例中,各个文件块可以是按照功能进行划分的,各个文件块是支持一个应用功能的最小文件块。例如,一个文件块可以是支持安装功能的最小文件块,另一个文件块可以是支持支付功能的最小文件块,在此不作限定。
基于此,服务器可以在多个文件块中确定支持第一应用程序正常安装启动,及执行第一服务的各个文件块作为必要文件块。
可选的,在各个文件块是支持一个功能的最小文件块的情况下,服务器可以确定各个文件块对应的功能,进而在多个文件块中确定出支持第一应用程序安装、第一应用程序启动和第一应用程序执行第一服务的文件块作为必要文件块。
306、响应于电子设备发送的下载请求,将必要文件块发送给电子设备,以使得电子设备根据必要文件块安装第一应用程序,下载请求是电子设备在检测到第二应用程序发起的调用第一服务的调用请求,且电子设备中未安装第一应用程序时发送的。
本申请实施例中,电子设备在运行第二应用程序的过程中,若检测到第二应用程序发起的调用第一应用程序提供的第一服务的调用请求时,可以确定电子设备是否已经安装第一应用程序;若电子设备已经安装第一应用程序,则电子设备可以直接调用第一应用程序;若电子设备未安装第一应用程序,则电子设备可以向服务器发送下载请求,以下载安装第一应用程序。
其中,第二应用程序可以是不同于第一应用程序的其他应用程序,第二应用程序可以与第一应用程序提供的部分或全部第一服务建立有调用关系,例如,假设第二应用程序是网购类型的应用程序,第一应用程序是支付类型的应用程序,则第二应用程序可以与第一应用程序的支付服务建立有调用关系,进而第二应用程序在网购的过程中,可以调用第一应用程序进行付款,从而快速完成购物任务。
区别于正常情况下,服务器在接收到电子设备发送的下载请求后,会将整个第一应用程序的安装包发送给电子设备。本申请实施例中,服务器可以仅将支持第一应用程序安装启动并执行第一服务的必要文件块发送给电子设备,由于必要文件块的数据量远小于整个安装包的数据量,所以电子设备可以更加快速地接收必要文件块,以更加快速地安装启动第一应用程序并执行第一服务。
实施上述各实施例公开的方法,服务器能够先确定出第一应用程序提供的第一服务,并在第一应用程序的安装包中确定出必要文件块;进而电子设备在运行第二应用程序的过程中,若检测到第二应用程序发起的调用第一服务的调用请求,但是电子设备中未安装第一应用程序时,可以向服务器发送下载请求;进而服务器可以响应于下载请求将必要文件块发送给电子设备,以使得电子设备根据接收到的必要文件块安装第一应用程序,其中,必要文件块仅是支持第一应用程序正常安装启动并执行第一服务的最小文件块,所以必要文件块的数据量远小于第一应用程序整个安装包的数据量,从而提高了电子设备下载和安装第一应用程序的速度,进而使得电子设备可以在未安装第一应用程序的情况下,快速地调用第一应用程序提供的第一服务配合第二应用程序使用,提高了应用程序的使用效率。
请参阅图4,图4是本申请实施例公开的另一种安装包的分发方法的流程示意图。该方法可以应用于上述的服务器或者其他执行主体,在此不作限定。该方法可以包括以下步骤:
402、确定第一应用程序提供的第一服务。
在一种实施例中,服务器可以对第一应用程序的安装包进行解析,以得到第一应用程序对应的清单信息,进而根据清单信息确定第一应用程序支持的各个第二服务;其中,第二服务包括允许被其他应用程序调用的服务和不允许被其他应用程序调用的服务。
举例来说,支付类型的应用程序中,支付服务是允许被其他应用程序调用的服务,而会员服务、系统设置服务等不允许被其他应用程序调用。
进而服务器可以在各个第二服务中,确定出允许被其他应用程序调用的第二服务作为第一应用程序提供的第一服务。可选的,各个第二服务具有对应的调用标记,调用标记用于表示对应的第二服务是否允许被调用,包括允许调用标记和不允许调用标记。对应的,允许被调用的第二服务设置有允许调用标记,不允许被调用的第二服务设置有不允许调用标记。
进而服务器可以在各个第二服务中,确定出设置有允许调用标记的第二服务作为第一服务。
在另一种实施例中,服务器在各个第二服务中确定出允许被其他应用程序调用的第二服务之后,可以将允许被其他应用程序调用的第二服务中的至少一个作为第一服务。
可选的,服务器可以在允许被其他应用程序调用的第二服务中,确定出存在关联关系的至少两个第二服务作为第一服务;其中,存在关联关系的至少两个第二服务的服务内容可以是相关联的。举例来说,导航服务要执行导航服务,必须基于地图服务提供的地图,则可以将导航服务和地图服务作为存在关联关系的第二服务。
可选的,服务器还可以在允许被其他应用程序调用的第二服务中,确定出一个第二服务作为第一服务。
实施上述方法,服务器可以仅将第一应用程序中,允许被其他应用程序调用的第二服务作为第一应用程序提供的第一服务,从而后续可以仅确定允许被其他应用程序调用的第二服务对应的最小文件块,从而减少了服务器的工作量。
404、将第一应用程序的安装包拆分为多个文件块。
406、多次模拟运行第一应用程序提供的各个第一服务,并根据多次模拟运行的结果在多个文件块中确定出必要文件块,必要文件块是支持第一应用程序正常安装启动并执行第一服务的最小文件块。
本申请实施例中,服务器可以多次(例如:3次、5次等)模拟运行第一应用程序提供的各个第一服务。其中,模拟运行是在安装包正式安装之前,服务器模拟电子设备实际运行第一应用程序提供的各个第一服务的过程,从而服务器可以确定各个文件块在模拟运行过程中被使用的使用顺序(模拟运行的结果包括使用顺序),进而将支持第一应用程序执行第一服务的目标文件块,以及在使用顺序中排列在目标文件块之前的文件块作为必要文件块。
举例来说,假设第一应用程序的安装包被划分为“文件块1”、“文件块2”、“文件块3”和“文件块4”4个文件块。若在一次模拟运行的过程中,4个文件块被使用的顺序依次为:“文件块2”、“文件块3”、“文件块1”、“文件块4”,则服务器可以确定4个文件在此次模拟运行中对应的使用顺序为:“文件块2”、“文件块3”、“文件块1”、“文件块4”。
假设执行第一服务的目标文件是:“文件块1”,可以理解的是,第一应用程序想加载“文件块1”,就需要先加载“文件块2”和“文件块3”,对此服务器可以将“文件块2”、“文件块3”和“文件块1”作为必要文件块。
可以理解的是,由于在不同的模拟运行的过程中,文件块被使用的顺序可能不同,对此多次模拟运行的结果可能是不同的。对此服务器可以对多次模拟运行的结果进行总结归纳,以确定出目标运行结果,进而根据目标运行结果确定出必要文件块。相比较于仅采用任意一次模拟运行的结果来确定必要文件块,可以避免存在偶然性的情况,导致确定出的必要文件块不准确,进而导致后续电子设备无法正常安装启动并执行第一服务。
实施上述方法,服务器可以通过多次的模拟运行来确定各个文件块在实际运行中被使用的顺序,进而可以通过各个文件块在实际运行中被使用的顺序准确地确定出必要文件块,以使得后续电子设备可以根据必要文件块安装第一应用程序,并正常执行第一服务。
在另一种实施例中,服务器在将第一应用程序的安装包拆分为多个文件块之后,可以多次模拟运行第一应用程序提供的各个第一服务,以确定各个文件块在每次模拟运行过程中对应的使用顺序;进而根据各个文件块在每次模拟运行过程中对应的使用顺序,确定各个文件块在第一应用程序正式安装启动及执行第一服务时的加载顺序。
可选的,服务器可以根据各个文件块在多次模拟运行分别对应的使用顺序中的排列位置,确定各个文件块对应的权重;其中,文件块在模拟运行对应的使用顺序中的排列位置越前,则对应的权重越大。
进而服务器可以将各个文件块在各个使用顺序中分别对应权重相加,以得到各个文件块对应的目标权重;进而服务器可以按照目标权重从大到小的顺序确定各个文件块的目标排列顺序,并将目标排列顺序作为各个文件块在第一应用程序正式安装启动及执行第一服务时的加载顺序。
举例来说,假设第一应用程序的安装包被划分为“文件块1”、“文件块2”、“文件块3”和“文件块4”4个文件块。假设服务器进行了3次模拟运行,第一次模拟运行对应的使用顺序为:“文件块2”、“文件块3”、“文件块1”、“文件块4”;第二次模拟运行对应的使用顺序为“文件块2”、“文件块1”、“文件块3”、“文件块4”;第三次模拟运行对应的使用顺序为“文件块2”、“文件块3”、“文件块1”、“文件块4”。
假设4个文件块在使用顺序中的排列位置是第一,则对应的权重为4;排列位置为第二,则对应的权重为3;排列位置为第三,则对应的权重为2;排列位置为第四,则对应的权重为1。则由于“文件块2”在3次模拟运行对应的使用顺序都中排列第一,则“文件块2”对应的目标权重为“4+4+4=12”;同理地,“文件块3”对应的目标权重为“3+2+3=8”;“文件块1”对应的目标权重为“2+3+2=7”;“文件块4”对应的目标权重为“1+1+1=3”。进而服务器可以按照目标权重从大到小的顺序确定各个文件块的目标排列顺序为:“文件块2”、“文件块3”、“文件块1”、“文件块4”。
进一步地,服务器可以根据加载顺序在多个文件块中确定出必要文件块。
可选的,服务器可以确定在加载顺序中排列在前N个的文件块作为必要文件块,N为正整数,N可以由开发人员根据大量的开发经验确定,也可以由服务器根据大量的开发数据确定,在此不作限定。
在另一种实施例中,服务器可以将支持第一应用程序执行第一服务的目标文件块,及在加载顺序中排列在目标文件块之前的文件块作为必要文件块。
实施上述方法,可以通过多次模拟运行对应的结果来确定必要文件块,避免了存在偶然性的情况导致确定出的必要文件块不准确,进而导致后续电子设备无法正常安装启动并执行第一服务。
408、响应于电子设备发送的下载请求,将必要文件块发送给电子设备,以使得电子设备根据必要文件块安装第一应用程序,下载请求是电子设备在检测到第二应用程序发起的调用第一服务的调用请求,且电子设备中未安装第一应用程序时发送的。
在一种实施例中,必要文件块可以包括安装文件块和服务文件块;其中,安装文件块是支持第一应用程序正常安装启动的最小文件块,服务文件块是支持第一应用程序执行所述第一服务的最小文件块。
可选的,服务器可以将先将安装文件块发送给电子设备,并在确定安装文件块发送完毕时,再将服务文件块发送给电子设备,以使得电子设备可以先对安装文件块进行安装,以启动第一应用程序,以及在确定第一应用程序处于启动状态时,再对服务文件块进行安装。
实施上述方法,可以使得电子设备优先对安装文件块进行安装,以使得电子设备可以更加快速地启动第一应用程序,从而可以在电子设备的界面优先显示第一应用程序的界面给予用户反馈,避免用户由于等待太久而降低了使用体验度。
在另一种实施例中,服务器可以获取各个文件块在第一应用程序正式安装启动及执行第一服务时的加载顺序,并按照各个必要文件块在加载顺序中的排列位置从前往后逐个发送给电子设备。
实施上述方法,使得电子设备可以按照加载顺序对文件块进行安装,从而实现了第一应用程序边运行,边加载的效果,使得电子设备可以更加快速地启动第一应用程序。
实施上述各实施例公开的方法,可以提高电子设备下载和安装第一应用程序的速度,进而使得电子设备可以在未安装第一应用程序的情况下,快速地调用第一应用程序提供的第一服务配合第二应用程序使用,提高了应用程序的使用效率;以及,可以仅将第一应用程序中,允许被其他应用程序调用的第二服务作为第一应用程序提供的第一服务,从而后续可以仅确定允许被其他应用程序调用的第二服务对应的最小文件块,从而减少了服务器的工作量;以及,可以通过多次模拟运行对应的结果来确定必要文件块,避免了存在偶然性的情况导致确定出的必要文件块不准确,进而导致后续电子设备无法正常安装启动并执行第一服务;以及,可以使得电子设备优先对安装文件块进行安装,以使得电子设备可以更加快速地启动第一应用程序,从而可以在电子设备的界面优先显示第一应用程序的界面给予用户反馈,避免用户由于等待太久而降低了使用体验度。
请参阅图5,图5是本申请实施例公开的又一种安装包的分发方法的流程示意图。该方法可以应用于上述的服务器或者其他执行主体,在此不作限定。该方法可以包括以下步骤:
502、确定第一应用程序提供的第一服务。
在一种实施例中,服务器在确定第一应用程序提供的第一服务之后,可以确定各个第一服务的第一触发条件,该第一触发条件用于表示第二应用程序中,触发调用第一服务的应用步骤。举例来说,假设网购类应用程序运行到结账步骤时,将触发调用支付类应用程序的支付服务的调用指令,则支付服务对应的触发条件为网购类应用程序的结账步骤。
进而电子设备在检测到第一触发条件时,可以生成调用第一应用程序提供的第一服务的调用请求。
可以理解的是,服务器在确定出第一应用程序提供的第一服务之后,通常是不知道这些第一服务具体的使用方法。对此可选的,服务器可以输出第一服务的指导请求,以请求第一应用程序的开发商对第一服务的使用方法进行说明。在另一种实施例中,服务器在接收到第一服务的使用方法之后,可以根据第一服务的使用方法确定第一服务的第一触发条件。
504、将多个第一应用程序分别提供的第一服务存储于索引平台中。
本申请实施例中,第一应用程序可以有多个,第一应用程序可以是指包括允许被其他应用程序调用的服务的应用程序。例如:支付类的应用程序包括允许被其他应用程序调用的支付服务,导航类的应用程序包括允许被其他应用程序调用的导航服务。可选的,每个第一应用程序可以包括一个或多个第一服务。
进一步地,服务器在确定各个第一应用程序提供的第一服务之后,可以将各个第一应用程序分别提供的第一服务存储于索引平台中,从而方便服务器对各个第一应用程序提供的第一服务进行管理。
506、在第一应用程序的安装包中确定出必要文件块,必要文件块是支持第一应用程序正常安装启动并执行第一服务的最小文件块。
可选的,各个第一服务可以分别对应不同的必要文件块。其中,各个第一服务对应的必要文件块可以是支持第一应用程序正常安装启动并执行对应的第一服务的最小文件块。
举例来说,导航类应用程序包括导航服务和定位服务,则导航服务对应的必要文件块可以是支持第一应用程序正常安装启动并执行导航服务的最小文件块,定位服务对应的必要文件块可以是支持第一应用程序正常安装启动并执行定位服务的最小文件块。
在另一种实施例中,必要文件块还可以时支持第一应用正常安装启动并执行M个第一服务的最小文件块,M为大于等于2的整数。可选的,上述的M个第一服务属于同一个第一应用程序。
举例来说,第二应用程序同时需要调用第一应用程序的导航服务和定位服务,则服务器可以将支持第一应用正常安装启动并执行导航服务和定位服务的文件块确定为必要文件块。
实施上述方法,服务器可以将第一应用程序包括的多种服务对应的文件块一起打包,后续可以将打包的文件块一起发送给电子设备,以使得电子设备不需多次下载不同服务对应的文件块,从而提高了下载的效率,也提高了电子设备执行多种不同服务的速度。
508、响应于电子设备发送的下载请求,在索引平台存储的多个第一服务中确定出与下载请求对应的第一服务作为目标第一服务,并将目标第一服务对应的必要文件块发送给电子设备。
可选的,索引平台中存储的各个第一服务可以对应有第一索引标识,电子设备发送的下载请求可以携带有第二索引标识,进而服务器可以在多个第一服务器对应的第一索引标识中确定出与第二索引标识相匹配的第一索引标识,并将相匹配的第一索引标识对应的第一服务作为目标第一服务。
实施上述方法,服务器可以将各个第一应用程序提供的第一服务存储于索引平台中,从而方便服务器对各个第一应用程序提供的第一服务进行管理;此外服务器可以根据电子设备发送的下载请求确定出对应的第一服务,并将对应的第一服务的必要文件块发送给电子设备,以使得电子设备后续可以执行对应的第一服务,确保第二应用程序可以及时调用对应的第一服务。
在一种实施例中,为了避免应用程序的开发商滥用关联服务,从而影响用户的正常使用,对此应用程序的开发商在关联其他应用程序的服务时,需要先通过服务器的审核。
可选的,服务器在接收到第二应用程序的开发商发送的关联目标第一服务的关联请求时,若确定目标第一服务属于敏感服务,则可以对开发商的信息(包括开发商的注册信息、历史开发记录、主要开发人员信息等,在此不作限定)进行审核;其中,目标第一服务可以是第一应用程序提供的服务,敏感服务是指涉及用户隐私、安全或者财产的服务。
进一步地,若开发商的信息通过审核,则服务器可以为第二应用程序配置关联目标第一服务的关联权限,关联权限用于允许服务器响应于电子设备发送的下载目标第一服务对应的必要文件块的下载请求,将目标第一服务对应的必要文件块发送给电子设备。
在另一种实施例中,服务器在接收到第二应用程序的开发商发送的关联目标第一服务的关联请求时,若确定目标第一服务属于敏感服务,则可以对开发商的信息以及关联请求的关联动机;
若开发商的信息和关联动机通过审核,则服务器可以为第二应用程序配置关联目标第一服务的关联权限,关联权限用于允许服务器响应于电子设备发送的下载目标第一服务对应的必要文件块的下载请求,将目标第一服务对应的必要文件块发送给电子设备;
若开发商的信息或者关联动机未通过审核,则服务器可以不为第二应用程序配置关联目标第一服务的关联权限。
实施上述方法,服务器可以对应用程序之间的关联行为进行审核,以避免应用程序的开发商滥用关联服务,从而影响用户的正常使用和用户的隐私财产安全。
在另一种实施例中,服务器在将必要文件块发送给电子设备之后,还可以将第一应用程序的安装包中除必要文件块之外的其他文件块发送给电子设备,以使得电子设备后可以对其他文件块进行安装,以完善已安装的第一应用程序的功能。
实施上述各实施例公开的方法,可以提高电子设备下载和安装第一应用程序的速度,进而使得电子设备可以在未安装第一应用程序的情况下,快速地调用第一应用程序提供的第一服务配合第二应用程序使用,提高了应用程序的使用效率;以及,服务器可以将各个第一应用程序提供的第一服务存储于索引平台中,从而方便服务器对各个第一应用程序提供的第一服务进行管理;此外服务器可以根据电子设备发送的下载请求确定出对应的第一服务,并将对应的第一服务的必要文件块发送给电子设备,以使得电子设备后续可以执行对应的第一服务,确保第二应用程序可以及时调用对应的第一服务;以及,服务器可以对应用程序之间的关联行为进行审核,以避免应用程序的开发商滥用关联服务,从而影响用户的正常使用和用户的隐私财产安全。
请参阅图6,图6是本申请实施例公开的一种安装包的下载方法的流程示意图。该方法可以应用于上述的电子设备或者其他执行主体,在此不作限定。该方法可以包括以下步骤:
602、在运行第二应用程序的过程中,若检测到第二应用程序发起的调用第一应用程序提供的第一服务的调用请求,且电子设备未安装第一应用程序,则向服务器发送针对第一服务的下载请求。
604、接收服务器发送的必要文件块,并对必要文件块进行安装,必要文件块是支持第一应用程序正常安装启动并执行第一服务的最小文件块。
在一种实施例中,必要文件块可以包括安装文件块和服务文件块,安装文件块是支持第一应用程序正常安装启动的最小文件块,服务文件块是支持第一应用程序执行第一服务的最小文件块。
在另一种实施例中,电子设备可以对安装文件块进行安装,并在检测到第一应用程序处于启动状态时,对服务文件块进行安装。
实施上述方法,可以使得电子设备优先对安装文件块进行安装,以使得电子设备可以更加快速地启动第一应用程序,从而可以再电子设备的界面优先显示第一应用程序的界面给予用户反馈,避免用户由于等待太久的而降低体验度。
在又一种实施例中,电子设备在对必要文件块进行安装之后,若检测到第二应用程序从电子设备中卸载,则电子设备可以将第一应用程序也从电子设备中卸载。
可以理解的是,电子设备中本来是没有安装第一应用程序的,是为被第二应用程序调用,电子设备才下载的第一应用程序。也就是说,第一应用程序是与第二应用程序关联的,对此若第二应用程序从电子设备中卸载,则就没有继续留下第一应用程序的必要,进一步地,为了节省电子设备的存储空间,则可以将第一应用程序也从电子设备中卸载。
在又一种实施例中,电子设备在运行第一应用程序的过程中,若确定支持第一应用程序执行目标流程的缺失文件块未下载,则电子设备可以优先向服务器请求下载缺失文件块。
实施上述方法,可以对运行过程中缺失的文件块进行优先下载,从而避免了第一应用程序无法顺利运行的情况,以保证第二应用程序可以顺利地调用第一应用程序提供的第一服务。
实施上述各实施例公开的方法,电子设备在运行第二应用程序的过程中,若检测到第二应用程序发起的调用第一服务的调用请求,但是电子设备中未安装第一应用程序时,可以向服务器发送下载请求,以从服务器中下载必要文件块,其中,必要文件块仅是支持第一应用程序正常安装启动并执行第一服务的最小文件块,所以必要文件块的数据量远小于第一应用程序整个安装包的数据量,从而提高了电子设备下载和安装第一应用程序的速度,进而使得电子设备可以在未安装第一应用程序的情况下,快速地调用第一应用程序提供的第一服务配合第二应用程序使用,提高了应用程序的使用效率。
请参阅图7,图7是本申请实施例公开的一种安装包的分发装置的结构示意图。该装置可以应用于上述的服务器或者其他执行主体,在此不作限定。该装置可以包括第一确定单元701、第二确定单元702和第一发送单元703,其中:
第一确定单元701,用于确定第一应用程序提供的第一服务;
第二确定单元702,用于在第一应用程序的安装包中确定出必要文件块,必要文件块是支持第一应用程序正常安装启动并执行第一服务的最小文件块;
第一发送单元703,用于响应于电子设备发送的下载请求,将必要文件块发送给电子设备,以使得电子设备根据必要文件块安装第一应用程序,下载请求是电子设备在检测到第二应用程序发起的调用第一服务的调用请求,且电子设备中未安装第一应用程序时发送的。
实施上述装置,服务器能够先确定出第一应用程序提供的第一服务,并在第一应用程序的安装包中确定出必要文件块;进而电子设备在运行第二应用程序的过程中,若检测到第二应用程序发起的调用第一服务的调用请求,但是电子设备中未安装第一应用程序时,可以向服务器发送下载请求;进而服务器可以响应于下载请求将必要文件块发送给电子设备,以使得电子设备根据接收到的必要文件块安装第一应用程序,其中,必要文件块仅是支持第一应用程序正常安装启动并执行第一服务的最小文件块,所以必要文件块的数据量远小于第一应用程序整个安装包的数据量,从而提高了电子设备下载和安装第一应用程序的速度,进而使得电子设备可以在未安装第一应用程序的情况下,快速地调用第一应用程序提供的第一服务配合第二应用程序使用,提高了应用程序的使用效率。
作为一种可选的实施方式,第一确定单元701,还用于根据第一应用程序的安装包中包括的清单信息,确定第一应用程序支持的各个第二服务;以及,在各个第二服务中,确定出允许被其他应用程序调用的第二服务作为第一服务。
实施上述装置,服务器可以仅将第一应用程序中,允许被其他应用程序调用的第二服务作为第一应用程序提供的第一服务,从而后续可以仅确定允许被其他应用程序调用的第二服务对应的最小文件块,从而减少了服务器的工作量。
作为一种可选的实施方式,第二确定单元702,还用于将第一应用程序的安装包拆分为多个文件块;以及,多次模拟运行第一应用程序提供的各个第一服务,并根据多次模拟运行的结果在多个文件块中确定出必要文件块。
实施上述装置,可以通过多次模拟运行对应的结果来确定必要文件块,避免了存在偶然性的情况导致确定出的必要文件块不准确,进而导致后续电子设备无法正常安装启动并执行第一服务。
作为一种可选的实施方式,第二确定单元702,还用于多次模拟运行第一应用程序提供的各个第一服务,以确定各个文件块在每次模拟运行过程中对应的使用顺序;以及,根据各个文件块在每次模拟运行过程中对应的使用顺序,确定各个文件块在第一应用程序正式安装启动及执行第一服务时的加载顺序;以及,根据加载顺序在多个文件块中确定出必要文件块。
实施上述装置,可以通过多次模拟运行对应的结果来确定必要文件块,避免了存在偶然性的情况导致确定出的必要文件块不准确,进而导致后续电子设备无法正常安装启动并执行第一服务。
作为一种可选的实施方式,必要文件块包括安装文件块和服务文件块,安装文件块是支持第一应用程序正常安装启动的最小文件块,服务文件块是支持第一应用程序执行第一服务的最小文件块。
作为一种可选的实施方式,第一应用程序有多个,各个第一应用程序分别对应的第一服务对应不同的必要文件块;以及,图7所示的装置还包括未图示的存储单元,其中:
存储单元,用于在确定第一应用程序提供的第一服务之后,将多个第一应用程序分别提供的第一服务存储于索引平台中;
以及,第一发送单元703,还用于响应于电子设备发送的下载请求,在索引平台存储的多个第一服务中确定出与下载请求对应的第一服务作为目标第一服务;以及,将目标第一服务对应的必要文件块发送给电子设备。
实施上述装置,服务器可以将各个第一应用程序提供的第一服务存储于索引平台中,从而方便服务器对各个第一应用程序提供的第一服务进行管理;此外服务器可以根据电子设备发送的下载请求确定出对应的第一服务,并将对应的第一服务的必要文件块发送给电子设备,以使得电子设备后续可以执行对应的第一服务,确保第二应用程序可以及时调用对应的第一服务。
作为一种可选的实施方式,图7所示的装置还包括未图示的审核单元和设置单元,其中:
审核单元,用于在将目标第一服务对应的必要文件块发送给电子设备之前,在接收到第二应用程序的开发商发送的关联目标第一服务的关联请求时,若确定目标第一服务属于敏感服务,则对开发商的信息进行审核,敏感服务是指涉及用户隐私、安全或者财产的服务;
设置单元,用于若开发商的信息通过审核,则为第二应用程序配置关联目标第一服务的关联权限,关联权限用于允许服务器响应于电子设备发送的下载请求,将目标第一服务对应的必要文件块发送给电子设备。
实施上述装置,服务器可以对应用程序之间的关联行为进行审核,以避免应用程序的开发商滥用关联服务,从而影响用户的正常使用和用户的隐私财产安全。
请参阅图8,图8是本申请实施例公开的一种安装包的下载装置的结构示意图。该装置可以应用于上述的电子设备或者其他执行主体,在此不作限定。该装置可以包括第二发送单元801和安装单元802,其中:
第二发送单元801,用于在运行第二应用程序的过程中,若检测到第二应用程序发起的调用第一应用程序提供的第一服务的调用请求,且电子设备未安装第一应用程序,则向服务器发送针对第一服务的下载请求;
安装单元802,用于接收服务器发送的必要文件块,并对必要文件块进行安装,必要文件块是支持第一应用程序正常安装启动并执行第一服务的最小文件块。
实施上述装置,电子设备在运行第二应用程序的过程中,若检测到第二应用程序发起的调用第一服务的调用请求,但是电子设备中未安装第一应用程序时,可以向服务器发送下载请求,以从服务器中下载必要文件块,其中,必要文件块仅是支持第一应用程序正常安装启动并执行第一服务的最小文件块,所以必要文件块的数据量远小于第一应用程序整个安装包的数据量,从而提高了电子设备下载和安装第一应用程序的速度,进而使得电子设备可以在未安装第一应用程序的情况下,快速地调用第一应用程序提供的第一服务配合第二应用程序使用,提高了应用程序的使用效率。
作为一种可选的实施方式,必要文件块包括安装文件块和服务文件块,安装文件块是支持第一应用程序正常安装启动的最小文件块,服务文件块是支持第一应用程序执行第一服务的最小文件块。
作为一种可选的实施方式,安装单元802,还用于对安装文件块进行安装,并在检测到第一应用程序处于启动状态时,对服务文件块进行安装。
实施上述装置,可以使得电子设备优先对安装文件块进行安装,以使得电子设备可以更加快速地启动第一应用程序,从而可以在电子设备的界面优先显示第一应用程序的界面给予用户反馈,避免用户由于等待太久的而降低体验度。
作为一种可选的实施方式,图8所示的装置还包括未图示的卸载单元,其中:
卸载单元,用于在对必要文件块进行安装之后,若检测到第二应用程序从电子设备中卸载,则将第一应用程序从电子设备中卸载。
实施上述装置,可以对运行过程中缺失的文件块进行优先下载,从而避免了第一应用程序无法顺利运行的情况,以保证第二应用程序可以顺利地调用第一应用程序提供的第一服务。
请参阅图9,图9是本申请实施例公开的一种电子设备的结构示意图。
如图9所示,该电子设备可以包括:
存储有可执行程序代码的存储器901;
与存储器901耦合的处理器902;
其中,处理器902调用存储器901中存储的可执行程序代码,执行上述各实施例公开的安装包的分发方法或者安装包的下载方法。
本申请实施例公开一种计算机可读存储介质,其存储计算机程序,其中,该计算机程序使得计算机执行上述各实施例公开的安装包的分发方法或者安装包的下载方法。
本申请实施例还公开一种应用发布平台,其中,应用发布平台用于发布计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行如以上各方法实施例中的方法的部分或全部步骤。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定特征、结构或特性可以以任意适合的方式结合在一个或多个实施例中。本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的必然先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物单元,即可位于一个地方,或者也可以分布到多个网络单元上。可根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可获取的存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或者部分,可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干请求用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本申请的各个实施例上述方法的部分或全部步骤。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
以上对本申请实施例公开的一种安装包的分发方法、下载方法及相关产品进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (14)
1.一种安装包的分发方法,其特征在于,应用于服务器,所述方法包括:
确定第一应用程序提供的第一服务;
将所述第一应用程序的安装包拆分为多个文件块;
多次模拟运行所述第一应用程序提供的各个第一服务,并根据所述多次模拟运行的结果在所述多个文件块中确定出必要文件块,所述必要文件块是支持所述第一应用程序正常安装启动并执行所述第一服务的最小文件块;
响应于电子设备发送的下载请求,将所述必要文件块发送给所述电子设备,以使得所述电子设备根据所述必要文件块安装所述第一应用程序,所述下载请求是所述电子设备在检测到第二应用程序发起的调用所述第一服务的调用请求,且所述电子设备中未安装所述第一应用程序时发送的。
2.根据权利要求1所述的方法,其特征在于,所述确定第一应用程序提供的第一服务,包括:
根据第一应用程序的安装包中包括的清单信息,确定所述第一应用程序支持的各个第二服务;
在所述各个第二服务中确定出允许被其他应用程序调用的第二服务,并将所述允许被其他应用程序调用的第二服务中的至少一个作为第一服务。
3.根据权利要求1所述的方法,其特征在于,所述多次模拟运行所述第一应用程序提供的各个第一服务,并根据所述多次模拟运行的结果在所述多个文件块中确定出必要文件块,包括:
多次模拟运行所述第一应用程序提供的各个第一服务,以确定各个所述文件块在每次模拟运行过程中对应的使用顺序;
根据各个所述文件块在所述每次模拟运行过程中对应的使用顺序,确定各个所述文件块在所述第一应用程序正式安装启动及执行所述第一服务时的加载顺序;
根据所述加载顺序在所述多个文件块中确定出必要文件块。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述必要文件块包括安装文件块和服务文件块,所述安装文件块是支持所述第一应用程序正常安装启动的最小文件块,所述服务文件块是支持所述第一应用程序执行所述第一服务的最小文件块。
5.根据权利要求1所述的方法,其特征在于,所述第一应用程序有多个,各个所述第一应用程序分别对应的第一服务对应不同的必要文件块;在所述确定第一应用程序提供的第一服务之后,所述方法还包括:
将多个所述第一应用程序分别提供的第一服务存储于索引平台中;
以及,所述响应于电子设备发送的下载请求,将所述必要文件块发送给所述电子设备,包括:
响应于电子设备发送的下载请求,在所述索引平台存储的多个第一服务中确定出与所述下载请求对应的第一服务作为目标第一服务;
将所述目标第一服务对应的必要文件块发送给所述电子设备。
6.根据权利要求5所述的方法,其特征在于,在所述将所述目标第一服务对应的必要文件块发送给所述电子设备之前,所述方法还包括:
在接收到第二应用程序的开发商发送的关联目标第一服务的关联请求时,若确定所述目标第一服务属于敏感服务,则对所述开发商的信息进行审核,所述敏感服务是指涉及用户隐私、安全或者财产的服务;
若所述开发商的信息通过审核,则为所述第二应用程序配置关联所述目标第一服务的关联权限,所述关联权限用于允许所述服务器响应于电子设备发送的所述下载请求,将所述目标第一服务对应的必要文件块发送给所述电子设备。
7.一种安装包的下载方法,其特征在于,应用于电子设备,所述方法包括:
在运行第二应用程序的过程中,若检测到所述第二应用程序发起的调用第一应用程序提供的第一服务的调用请求,且所述电子设备未安装所述第一应用程序,则向服务器发送针对所述第一服务的下载请求;
接收所述服务器发送的必要文件块,并对所述必要文件块进行安装,所述必要文件块是支持所述第一应用程序正常安装启动并执行所述第一服务的最小文件块,所述必要文件块是所述服务器多次模拟运行所述第一应用程序提供的各个第一服务,并根据所述多次模拟运行的结果在所述第一应用程序的安装包,包括的多个文件块中确定的。
8.根据权利要求7所述的方法,其特征在于,所述必要文件块包括安装文件块和服务文件块,所述安装文件块是支持所述第一应用程序正常安装启动的最小文件块,所述服务文件块是支持所述第一应用程序执行所述第一服务的最小文件块。
9.根据权利要求8所述的方法,其特征在于,所述对所述必要文件块进行安装,包括:
对所述安装文件块进行安装,并在检测到所述第一应用程序处于启动状态时,对所述服务文件块进行安装。
10.根据权利要求7~9任一项所述的方法,其特征在于,在所述对所述必要文件块进行安装之后,所述方法还包括:
若检测到所述第二应用程序从所述电子设备中卸载,则将所述第一应用程序从所述电子设备中卸载。
11.一种安装包的分发装置,其特征在于,应用于服务器,所述装置包括:
第一确定单元,用于确定第一应用程序提供的第一服务;
第二确定单元,用于在将所述第一应用程序的安装包拆分为多个文件块;以及,多次模拟运行所述第一应用程序提供的各个第一服务,并根据所述多次模拟运行的结果在所述多个文件块中确定出必要文件块,所述必要文件块是支持所述第一应用程序正常安装启动并执行所述第一服务的最小文件块;
第一发送单元,用于响应于电子设备发送的下载请求,将所述必要文件块发送给所述电子设备,以使得所述电子设备根据所述必要文件块安装所述第一应用程序,所述下载请求是所述电子设备在检测到第二应用程序发起的调用所述第一服务的调用请求,且所述电子设备中未安装所述第一应用程序时发送的。
12.一种安装包的下载装置,其特征在于,应用于电子设备,所述装置包括:
第二发送单元,用于在运行第二应用程序的过程中,若检测到所述第二应用程序发起的调用第一应用程序提供的第一服务的调用请求,且所述电子设备未安装所述第一应用程序,则向服务器发送针对所述第一服务的下载请求;
安装单元,用于接收所述服务器发送的必要文件块,并对所述必要文件块进行安装,所述必要文件块是支持所述第一应用程序正常安装启动并执行所述第一服务的最小文件块,所述必要文件块是所述服务器多次模拟运行所述第一应用程序提供的各个第一服务,并根据所述多次模拟运行的结果在所述第一应用程序的安装包,包括的多个文件块中确定的。
13.一种电子设备,其特征在于,包括存储有可执行程序代码的存储器,以及与所述存储器耦合的处理器;其中,所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1~6或7~10任一项所述的方法。
14.一种计算机可读存储介质,其存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1~6或7~10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111646129.6A CN114338652B (zh) | 2021-12-30 | 2021-12-30 | 安装包的分发方法、下载方法及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111646129.6A CN114338652B (zh) | 2021-12-30 | 2021-12-30 | 安装包的分发方法、下载方法及相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114338652A CN114338652A (zh) | 2022-04-12 |
CN114338652B true CN114338652B (zh) | 2023-10-20 |
Family
ID=81017556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111646129.6A Active CN114338652B (zh) | 2021-12-30 | 2021-12-30 | 安装包的分发方法、下载方法及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114338652B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068819A (zh) * | 2015-09-10 | 2015-11-18 | 北京金山安全软件有限公司 | 一种应用程序的调用方法、装置及终端 |
CN111767069A (zh) * | 2020-06-30 | 2020-10-13 | 北京百度网讯科技有限公司 | 小程序处理方法、服务器、设备及存储介质 |
CN112162795A (zh) * | 2020-10-09 | 2021-01-01 | 广州博冠信息科技有限公司 | 一种插件启动方法、装置、计算机设备和存储介质 |
CN113448650A (zh) * | 2021-07-07 | 2021-09-28 | 广州方硅信息技术有限公司 | 直播功能插件加载方法、装置、设备及存储介质 |
CN113741911A (zh) * | 2020-05-29 | 2021-12-03 | 华为技术有限公司 | 功能包的加载方法、装置、服务器和电子设备 |
CN113849199A (zh) * | 2021-12-01 | 2021-12-28 | 北京鲸鲮信息系统技术有限公司 | 跨系统安装应用的方法、装置、电子设备及存储介质 |
-
2021
- 2021-12-30 CN CN202111646129.6A patent/CN114338652B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068819A (zh) * | 2015-09-10 | 2015-11-18 | 北京金山安全软件有限公司 | 一种应用程序的调用方法、装置及终端 |
CN113741911A (zh) * | 2020-05-29 | 2021-12-03 | 华为技术有限公司 | 功能包的加载方法、装置、服务器和电子设备 |
CN111767069A (zh) * | 2020-06-30 | 2020-10-13 | 北京百度网讯科技有限公司 | 小程序处理方法、服务器、设备及存储介质 |
CN112162795A (zh) * | 2020-10-09 | 2021-01-01 | 广州博冠信息科技有限公司 | 一种插件启动方法、装置、计算机设备和存储介质 |
CN113448650A (zh) * | 2021-07-07 | 2021-09-28 | 广州方硅信息技术有限公司 | 直播功能插件加载方法、装置、设备及存储介质 |
CN113849199A (zh) * | 2021-12-01 | 2021-12-28 | 北京鲸鲮信息系统技术有限公司 | 跨系统安装应用的方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114338652A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210240489A1 (en) | Firmware update patch | |
CN106569859B (zh) | 一种目标文件的加载方法及装置 | |
US11200157B1 (en) | Automated execution reporting for container builds | |
CN110096424B (zh) | 测试的处理方法、装置、电子设备及存储介质 | |
US9417860B2 (en) | Automatic provisioning of a software platform to a device ecosystem | |
CN111596928B (zh) | 一种应用控制方法、装置及电子设备 | |
CN110113391B (zh) | 一种客户端上线方法、装置及一种客户端运行方法、装置 | |
CN107220074B (zh) | 对支撑层软件功能的访问、升级方法及装置 | |
WO2020057253A1 (en) | Method and system for game updating, terminal and computer readable storage medium | |
CN111880987A (zh) | 应用程序的动态监测方法、装置、存储介质以及电子装置 | |
CN110597564A (zh) | 一种安装包构建和业务组件加载方法、装置、终端设备 | |
CN112015448A (zh) | 一种基于空中下载技术的系统升级方法及装置 | |
CN112214405A (zh) | 一种软件测试方法、装置、电子设备和可读存储介质 | |
CN110806935B (zh) | 应用程序构建方法、装置和系统 | |
CN110399151A (zh) | 一种固件更新方法、装置、设备及介质 | |
JP2017142792A (ja) | ファイル保護方法 | |
CN114338652B (zh) | 安装包的分发方法、下载方法及相关产品 | |
CN113282303A (zh) | 基于双芯智能电表的应用管理方法、装置和计算机设备 | |
CN110502251B (zh) | 应用安装方法及装置 | |
CN111679842B (zh) | 应用程序热更新处理方法、装置及系统 | |
CN115617668A (zh) | 一种兼容性测试方法、装置及设备 | |
CN114356346A (zh) | 应用程序部署方法、装置、存储介质以及电子设备 | |
CN111309551A (zh) | 一种确定事件监控sdk集成正确的方法及装置 | |
CN111736863A (zh) | 一种软件升级方法、装置及电子设备 | |
CN117591247B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |