发明内容
本公开实施例至少提供一种应用下载方法、终端、服务器、计算机设备以及存储介质。
第一方面,本公开实施例提供了一种应用下载方法,所述方法包括:
响应于针对目标应用的文件下载触发事件,从下载配置服务器处获取与所述目标应用的至少两个应用文件包对应的文件配置信息;
基于所述文件配置信息、所述终端设备中存储的所述目标应用对应的共享文件,从所述至少两个应用文件包中确定出待下载的目标文件包;
从文件资源服务器处下载所述目标文件包;
其中,所述至少两个应用文件包是按照预设聚类条件对所述目标应用的多个应用文件进行文件聚类后得到的。
在一种可选的实施方式中,在所述基于所述文件配置信息、所述终端设备中存储的所述目标应用对应的共享文件,从所述至少两个应用文件包中确定出待下载的目标文件包之前,所述方法还包括:
从所述终端设备确定出所述目标应用所关联的至少一个本地应用,其中,所述本地应用是与所述目标应用共同具有至少一个文件的应用;
确定出所述目标应用在所述终端设备中的共享文件存储位置和所述至少一个本地应用在所述终端设备中的第二文件存储位置;
将所述共享文件存储位置和所述第二文件存储位置中的本地文件、以及所述共享文件存储位置和所述第二文件存储位置中的本地文件包,分别作为所述目标应用对应的共享文件。
在一种可选的实施方式中,所述文件配置信息包括所述至少两个应用文件包中每个应用文件包的唯一性信息;所述基于所述文件配置信息、所述终端设备中存储的所述目标应用对应的共享文件,从所述至少两个应用文件包中确定出待下载的目标文件包,包括:
针对所述至少两个应用文件包中每个应用文件包,从所述文件配置信息中确定出该应用文件包的唯一性信息;
在基于该应用文件包的唯一性信息和每个所述本地文件包的唯一性信息,确定出所述终端设备中不存在与该应用文件包匹配的本地文件包时,将该应用文件包确定为待下载的目标文件包。
在一种可选的实施方式中,所述文件配置信息包括所述至少两个应用文件包中每个应用文件包的各应用文件的唯一性信息;所述基于所述文件配置信息、所述终端设备中存储的所述目标应用对应的共享文件,从所述至少两个应用文件包中确定出待下载的目标文件包,包括:
针对所述至少两个应用文件包中每个应用文件包,从所述文件配置信息中确定出该应用文件包中每个应用文件的唯一性信息;
针对该应用文件包中的任一应用文件,在基于该应用文件的唯一性信息、每个所述本地文件的唯一性信息以及每个所述本地文件包中各本地文件的唯一性信息,确定出所述终端设备中不存在与该应用文件匹配的本地文件时,将该应用文件包确定为待下载的目标文件包。
在一种可选的实施方式中,在所述从文件资源服务器处下载所述目标文件包之后,所述方法还包括:
重新生成所述目标文件包的唯一性信息;
在确定所述目标文件包的重新生成的唯一性信息与所述文件配置信息中所述目标文件包对应的唯一性信息不匹配时,重新从所述文件资源服务器处下载所述目标文件包。
在一种可选的实施方式中,在所述从文件资源服务器处下载所述目标文件包之后,所述方法还包括:
在确定所述目标文件包需要解压时,解压出所述目标文件包所包含的应用文件,并在解压完成后删除所述目标文件包。
第二方面,本公开实施例提供了一种应用下载方法,应用于下载配置服务器,所述方法包括:
获取目标应用的多个应用文件,按照预设聚类条件对所述多个应用文件进行文件聚类;
将同一类别的所述应用文件打包成一个应用文件包,得到至少两个应用文件包;
确定出所述至少两个应用文件包对应的文件配置信息,并将所述至少两个应用文件包上传到文件资源服务器,以便终端设备获取到所述文件配置信息后,基于所述文件配置信息、所述终端设备中存储的所述目标应用对应的本地文件,从所述至少两个应用文件包中确定出待下载的目标文件包。
在一种可选的实施方式中,所述按照预设聚类条件对所述多个应用文件进行文件聚类,包括:
基于所述多个应用文件中每个应用文件对应的通用属性,对所述多个应用文件进行文件聚类;
将所述通用属性相同的应用文件确定为同一类别的应用文件,其中,所述通用属性用于指示应用文件是否为所述目标应用以及所述目标应用所关联的至少一个本地应用所共同具有的文件。
在一种可选的实施方式中,所述确定出所述至少两个应用文件包对应的文件配置信息,包括:
生成所述至少两个应用文件包中每个应用文件包的唯一性信息、以及每个应用文件包中各应用文件的唯一性信息;
确定出包括每个应用文件包的唯一性信息以及每个应用文件包中各应用文件的唯一性信息的文件配置信息。
第三方面,本公开实施例提供了一种终端设备,所述终端设备包括:
信息获取模块,用于响应于针对目标应用的文件下载触发事件,从下载配置服务器处获取与所述目标应用的至少两个应用文件包对应的文件配置信息;
目标确定模块,用于基于所述文件配置信息、所述终端设备中存储的所述目标应用对应的共享文件,从所述至少两个应用文件包中确定出待下载的目标文件包;
文件下载模块,用于从文件资源服务器处下载所述目标文件包;
其中,所述至少两个应用文件包是按照预设聚类条件对所述目标应用的多个应用文件进行文件聚类后得到的。
在一种可选的实施方式中,所述终端设备还包括文件确定模块,所述文件确定模块用于:
从所述终端设备确定出所述目标应用所关联的至少一个本地应用,其中,所述本地应用是与所述目标应用共同具有至少一个文件的应用;
确定出所述目标应用在所述终端设备中的共享文件存储位置和所述至少一个本地应用在所述终端设备中的第二文件存储位置;
将所述共享文件存储位置和所述第二文件存储位置中的本地文件、以及所述共享文件存储位置和所述第二文件存储位置中的本地文件包,分别作为所述目标应用对应的共享文件。
在一种可选的实施方式中,所述文件配置信息包括所述至少两个应用文件包中每个应用文件包的唯一性信息;所述目标确定模块在用于基于所述文件配置信息、所述终端设备中存储的所述目标应用对应的共享文件,从所述至少两个应用文件包中确定出待下载的目标文件包时,具体用于:
针对所述至少两个应用文件包中每个应用文件包,从所述文件配置信息中确定出该应用文件包的唯一性信息;
在基于该应用文件包的唯一性信息和每个所述本地文件包的唯一性信息,确定出所述终端设备中不存在与该应用文件包匹配的本地文件包时,将该应用文件包确定为待下载的目标文件包。
在一种可选的实施方式中,所述文件配置信息包括所述至少两个应用文件包中每个应用文件包的各应用文件的唯一性信息;所述目标确定模块在用于基于所述文件配置信息、所述终端设备中存储的所述目标应用对应的共享文件,从所述至少两个应用文件包中确定出待下载的目标文件包时,具体用于:
针对所述至少两个应用文件包中每个应用文件包,从所述文件配置信息中确定出该应用文件包中每个应用文件的唯一性信息;
针对该应用文件包中的任一应用文件,在基于该应用文件的唯一性信息、每个所述本地文件的唯一性信息以及每个所述本地文件包中各本地文件的唯一性信息,确定出所述终端设备中不存在与该应用文件匹配的本地文件时,将该应用文件包确定为待下载的目标文件包。
在一种可选的实施方式中,所述终端设备还包括文件校验模块,所述文件校验模块用于:
重新生成所述目标文件包的唯一性信息;
在确定所述目标文件包的重新生成的唯一性信息与所述文件配置信息中所述目标文件包对应的唯一性信息不匹配时,重新从所述文件资源服务器处下载所述目标文件包。
在一种可选的实施方式中,所述终端设备还包括文件解压模块,所述文件解压模块用于:
在确定所述目标文件包需要解压时,解压出所述目标文件包所包含的应用文件,并在解压完成后删除所述目标文件包。
第四方面,本公开实施例提供了一种下载配置服务器,所述下载配置服务器包括:
文件聚类模块,用于获取目标应用的多个应用文件,按照预设聚类条件对所述多个应用文件进行文件聚类;
文件打包模块,用于将同一类别的所述应用文件打包成一个应用文件包,得到至少两个应用文件包;
信息确定模块,用于确定出所述至少两个应用文件包对应的文件配置信息,并将所述至少两个应用文件包上传到文件资源服务器,以便终端设备获取到所述文件配置信息后,基于所述文件配置信息、所述终端设备中存储的所述目标应用对应的本地文件,从所述至少两个应用文件包中确定出待下载的目标文件包。
在一种可选的实施方式中,所述文件聚类模块在用于按照预设聚类条件对所述多个应用文件进行文件聚类时,具体用于:
基于所述多个应用文件中每个应用文件对应的通用属性,对所述多个应用文件进行文件聚类;
将所述通用属性相同的应用文件确定为同一类别的应用文件,其中,所述通用属性用于指示应用文件是否为所述目标应用以及所述目标应用所关联的至少一个本地应用所共同具有的文件。
在一种可选的实施方式中,所述信息确定模块在用于确定出所述至少两个应用文件包对应的文件配置信息时具体用于:
生成所述至少两个应用文件包中每个应用文件包的唯一性信息、以及每个应用文件包中各应用文件的唯一性信息;
确定出包括每个应用文件包的唯一性信息以及每个应用文件包中各应用文件的唯一性信息的文件配置信息。
第五方面,本公开实施例提供了一种计算机设备,计算机设备包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器运行时执行第一方面提供的任一所述的应用下载方法的步骤,或者第一方面提供的任一项所述的应用下载方法的步骤。
第六方面,本公开实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一方面提供的任一所述的应用下载方法的步骤,或者第一方面提供的任一项所述的应用下载方法的步骤。
本公开实施例提供的应用下载方法、终端、服务器、计算机设备以及存储介质,在下载应用的应用文件之前,可以通过应用的文件配置信息和终端设备所存储的文件情况来确定应用的需要下载的目标应用文件包和不需要下载的目标应用文件包,从而可以直接跳过目标应用文件包的下载过程,仅针对目标应用文件包进行下载。上述的应用文件下载方式可以有效地降低设备下载到重复文件的概率,既可以提高下载速度、节约下载流量,又有效地避免设备的存储空间的被重复的资源占用,有助于提高设备的运行速度。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
经研究发现,安装包是一个应用的可自行解压缩文件的集合,其中包括应用安装的所有文件,下载并运行安装包可以将对应的应用所有文件释放到硬盘上,以完成应用的安装过程。
现有技术在下载一个应用的安装包时,通常将完整的安装包下载到设备中。在一些情况下,设备在下载新的安装包之前已预先存储有应用的部分文件,因此下载完整的安装包会导致文件重复,造成资源浪费。
基于上述研究,本公开提供了一种应用下载方法,在下载应用的应用文件之前,可以通过应用的文件配置信息和终端设备所存储的文件情况来确定应用的需要下载的目标应用文件包和不需要下载的目标应用文件包,从而可以直接跳过目标应用文件包的下载过程,仅针对目标应用文件包进行下载。上述的应用文件下载方式可以有效地降低设备下载到重复文件的概率,既可以提高下载速度、节约下载流量,又有效地避免设备的存储空间的被重复的资源占用,有助于提高设备的运行速度。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种应用下载方法进行详细介绍,本公开实施例所提供的应用下载方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括终端设备、设备、服务器或其它处理设备。终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端设备、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该应用下载方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
本公开实施例提供的应用下载方法可以应用在应用下载系统,参见图1所示,为本公开实施例提供的一种应用下载系统的架构图,应用下载系统包括终端设备、下载配置服务器和文件资源服务器。其中,下载配置服务器可以将目标应用的多个应用文件进行聚类和打包,以得到目标应用的至少两个应用文件包,进而确定出至少两个应用文件包对应的文件配置信息,并将至少两个应用文件包上传到文件资源服务器。终端设备可以响应于针对目标应用的文件下载触发事件,从下载配置服务器处获取文件配置信息,进而确定出待下载的目标文件包,并从文件资源服务器处下载目标文件包。
下面以执行主体为终端设备为例,对本公开实施例提供的应用下载方法加以说明。参见图2所示,为本公开实施例提供的一种应用下载方法的流程图,方法包括步骤S210~S230,其中:
S210:响应于针对目标应用的文件下载触发事件,从下载配置服务器处获取与目标应用的至少两个应用文件包对应的文件配置信息。
目标应用可以是独立运行的应用程序,也可以是基于宿主应用运行的应用程序(如小程序)。具体来说,目标应用可以是游戏应用、购物应用、视频应用和聊天应用等,但不限于此。用户可以在诸如应用商店、浏览器或宿主应用等中能够提供下载功能的应用中搜索到期望下载的目标应用,当然,这些能够提供下载功能的应用的也可以主动推荐目标应用,以引导用户进行下载。
文件下载触发事件包括接收到用户针对目标应用的文件下载操作,即终端设备在接收到用户针对目标应用的文件下载操作时,可以向下载配置服务器发送针对目标应用对应的文件配置信息的获取请求,下载配置服务器根据获取请求向终端设备发送与目标应用的至少两个应用文件包对应的文件配置信息。
对于基于宿主应用运行的目标应用,文件下载触发事件可以包括用户在宿主应用中针对目标应用的启动操作,即终端设备在运行宿主应用的过程中,接收到用户在宿主应用中针对目标应用的启动操作时,可以向下载配置服务器发送针对目标应用对应的文件配置信息的获取请求,下载配置服务器根据获取请求向终端设备发送与目标应用的至少两个应用文件包对应的文件配置信息。
在本公开实施例中,目标应用的应用文件是以应用文件包的形式存在的,终端可以以应用文件包为单位对目标应用的应用文件对进行下载,例如,上述至少两个应用文件包可以是按照预设聚类条件对目标应用的多个应用文件进行文件聚类后得到的,文件配置信息可以包括能够指示目标应用的每个应用文件包的特征的信息。
S220:基于文件配置信息、终端设备中存储的目标应用对应的共享文件,从至少两个应用文件包中确定出待下载的目标文件包。
如前文所述,文件配置信息可以包括能够指示目标应用的每个应用文件包的特征的信息,目标应用对应的共享文件可以包括目标应用所关联的本地应用的文件、以及目标应用本身的文件(例如,已被下载过的前一个版本的目标应用的文件)之中的至少一项。可以基于文件配置信息,确定目标应用的每个应用文件包或者应用文件包中的应用文件是否与某一个共享文件相同,从而确定出待下载的目标文件包。
可以理解,当应用文件包与某一个共享文件相同时,是可以无需再下载该应用文件包的。当应用文件包与各个共享文件均不相同时,可以认为该应用文件包需要下载,当然,也可以根据该应用文件包中的每个应用文件与各共享文件的匹配情况,来确定该应用文件是否需要下载。在本公开实施例中,将确定出的需要被下载的应用文件包定义为待下载的目标文件包。
在本公开实施例中,文件配置信息可以包括至少两个应用文件包中每个应用文件包的唯一性信息。终端设备可以针对至少两个应用文件包中每个应用文件包,从文件配置信息中确定出该应用文件包的唯一性信息;在基于该应用文件包的唯一性信息和每个本地文件包的唯一性信息,确定出终端设备中不存在与该应用文件包匹配的本地文件包时,将该应用文件包确定为待下载的目标文件包。
具体来说,当应用文件包的唯一性信息和某一个本地文件包的唯一性信息相同时,可以确定终端设备中存在与该应用文件包匹配的本地文件包,该应用文件包可以不需要下载;当应用文件包的唯一性信息和各个本地文件包的唯一性信息均不相同时,即可确定终端设备中不存在与该应用文件包匹配的本地文件包。
在本公开实施例中,文件配置信息可以包括至少两个应用文件包中每个应用文件包的各应用文件的唯一性信息。终端设备可以针对至少两个应用文件包中每个应用文件包,从文件配置信息中确定出该应用文件包中每个应用文件的唯一性信息;针对该应用文件包中的任一应用文件,在基于该应用文件的唯一性信息、每个本地文件的唯一性信息以及每个本地文件包中各本地文件的唯一性信息,确定出终端设备中不存在与该应用文件匹配的本地文件时,可以将该应用文件包确定为待下载的目标文件包。
具体来说,当应用文件的唯一性信息和某一个本地文件的唯一性信息相同时,可以确定终端设备中存在与该应用文件匹配的本地文件。若应用文件包中每个应用文件均与终端设备中对应的本地文件匹配,则该应用文件包可以不需要下载;若应用文件包中任一应用文件与终端设备各个本地文件均不匹配,则可以确定该应用文件包确定为待下载的目标文件包。
S230:从文件资源服务器处下载目标文件包。
终端设备在确定出待下载的目标文件包之后,可以向文件资源服务器发送针对目标文件包的下载请求,文件资源服务器可以基于下载请求向终端设备发送目标文件包,以便终端设备获取到目标文件包。
参见图3所示,为本公开实施例提供的另一种应用下载方法的流程图,方法包括步骤S310~S370,其中:
S310:响应于针对目标应用的文件下载触发事件,从下载配置服务器处获取与目标应用的至少两个应用文件包对应的文件配置信息。
步骤S310的描述可以参考步骤S210的描述,并且可以达到相同的技术效果,在此不再赘述。
S320:从终端设备确定出目标应用所关联的至少一个本地应用。
这里,本地应用是与目标应用共同具有至少一个文件的应用。例如,多个游戏应用可以基于同一个宿主应用运行,这多个游戏应用可以具有相同的文件,该相同的文件可以作为多个游戏应用的通用文件。目标应用可以是上述多个游戏应用中的其中一个目标游戏应用,本地应用可以是多个游戏应用中除了目标游戏应用外的游戏应用。
S330:确定出目标应用在终端设备中的共享文件存储位置和至少一个本地应用在终端设备中的第二文件存储位置,将共享文件存储位置和第二文件存储位置中的本地文件、以及共享文件存储位置和第二文件存储位置中的本地文件包,分别作为目标应用对应的共享文件。
共享文件存储位置是指终端设备中用于存储目标应用的应用文件的位置,例如,共享文件存储位置存储有已被下载过的前一个版本的目标应用的应用文件;第二文件存储位置是指终端设备中用于存储本地应用的文件的位置。
在共享文件存储位置和第二文件存储位置中,文件可以独立存在,文件也可以以文件包的形式存在,为了便于描述,可以将独立存在的文件称为本地文件,将包括多个文件的文件包称为本地文件包。在确定出共享文件存储位置和第二文件存储位置之后,可以将共享文件存储位置和第二文件存储位置中的本地文件和本地文件包,作为目标应用对应的共享文件。
S340:基于文件配置信息、终端设备中存储的目标应用对应的共享文件,从至少两个应用文件包中确定出待下载的目标文件包。
步骤S340的描述可以参考步骤S220的描述,并且可以达到相同的技术效果,在此不再赘述。
S350:从文件资源服务器处下载目标文件包。
步骤S350的描述可以参考步骤S230的描述,并且可以达到相同的技术效果,在此不再赘述。在步骤S350之后,可以执行步骤S360和步骤S370之中的至少一个。
S360:重新生成目标文件包的唯一性信息,在确定目标文件包的重新生成的唯一性信息与文件配置信息中目标文件包对应的唯一性信息不匹配时,重新从文件资源服务器处下载目标文件包。
为了确保下载的目标文件包的完整性,终端设备重新生成目标文件包的唯一性信息,之后比较目标文件包的重新生成的唯一性信息与文件配置信息中目标文件包对应的唯一性信息是否匹配;若匹配,则表示下载得到的目标文件包是完整的;若匹配,则表示下载得到的目标文件包不完整,此时可以重新下载目标文件包。
S370:在确定目标文件包需要解压时,解压出目标文件包所包含的应用文件,并在解压完成后删除目标文件包。
可选地,目标应用的一部分应用文件包是需要解压使用的,目标应用的另一部分应用文件包是不需要解压,文件配置信息可以指示目标应用的每个应用文件包是否需要解压。终端设备在下载得到目标文件包之后,可以根据文件配置信息确定目标文件包是否需要解压,若需要解压,则可以解压出目标文件包所包含的应用文件,并在解压完成后删除目标文件包。
下面以执行主体为终端设备为例,对本公开实施例提供的应用下载方法加以说明。参见图4所示,为本公开实施例提供的一种应用下载方法的流程图,方法包括步骤S410~S430,其中:
S410:获取目标应用的多个应用文件,按照预设聚类条件对多个应用文件进行文件聚类。
可选地,下载配置服务器可以基于多个应用文件中每个应用文件对应的通用属性,对多个应用文件进行文件聚类,将通用属性相同的应用文件确定为同一类别的应用文件。
通用属性用于指示应用文件是否为目标应用以及目标应用所关联的至少一个本地应用所共同具有的文件。可以理解,当应用文件是目标应用以及至少一个本地应用所共同具有的文件时,该应用文件可以作为目标应用和所述至少一个本地应用的通用文件。
在对多个应用文件进行文件聚类时,可以将能够作为通用文件的应用文件确定为同一类别的应用文件,将不能作为通用文件的应用文件确定为同一类别的应用文件。
S420:将同一类别的应用文件打包成一个应用文件包,得到至少两个应用文件包。
可选地,可以将能够作为通用文件的应用文件打包成一个应用文件包,将不能作为通用文件的应用文件打包成一个应用文件包。
S430:确定出至少两个应用文件包对应的文件配置信息,并将至少两个应用文件包上传到文件资源服务器。
文件配置信息可以包括每个应用文件包的唯一性信息、以及每个应用文件包中各应用文件的唯一性信息。在该步骤中,下载配置服务器可以生成至少两个应用文件包中每个应用文件包的唯一性信息、以及每个应用文件包中各应用文件的唯一性信息,之后确定出包括每个应用文件包的唯一性信息以及每个应用文件包中各应用文件的唯一性信息的文件配置信息。
在步骤S430之后,终端设备可以在下载配置服务器中获取到文件配置信息,基于文件配置信息、终端设备中存储的目标应用对应的本地文件,从至少两个应用文件包中确定出待下载的目标文件包,并在文件资源服务器处下载目标文件包。
参照图5和图6示,图5公开实施例提供的一种终端设备的示意图之一,图6公开实施例提供的一种终端设备的示意图之二。如图5所示,终端设备包括信息获取模块510、目标确定模块520和文件下载模块530。
信息获取模块510用于响应于针对目标应用的文件下载触发事件,从下载配置服务器处获取与目标应用的至少两个应用文件包对应的文件配置信息。
目标确定模块520用于基于文件配置信息、终端设备中存储的目标应用对应的共享文件,从至少两个应用文件包中确定出待下载的目标文件包。
文件下载模块530,用于从文件资源服务器处下载目标文件包。
其中,至少两个应用文件包是按照预设聚类条件对目标应用的多个应用文件进行文件聚类后得到的。
在一种可选的实施方式中,如图6所示,终端设备还包括文件确定模块540,文件确定模块540用于:
从终端设备确定出目标应用所关联的至少一个本地应用,其中,本地应用是与目标应用共同具有至少一个文件的应用;
确定出目标应用在终端设备中的共享文件存储位置和至少一个本地应用在终端设备中的第二文件存储位置;
将共享文件存储位置和第二文件存储位置中的本地文件、以及共享文件存储位置和第二文件存储位置中的本地文件包,分别作为目标应用对应的共享文件。
在一种可选的实施方式中,文件配置信息包括至少两个应用文件包中每个应用文件包的唯一性信息;目标确定模块520在用于基于文件配置信息、终端设备中存储的目标应用对应的共享文件,从至少两个应用文件包中确定出待下载的目标文件包时,具体用于:
针对至少两个应用文件包中每个应用文件包,从文件配置信息中确定出该应用文件包的唯一性信息;
在基于该应用文件包的唯一性信息和每个本地文件包的唯一性信息,确定出终端设备中不存在与该应用文件包匹配的本地文件包时,将该应用文件包确定为待下载的目标文件包。
在一种可选的实施方式中,文件配置信息包括至少两个应用文件包中每个应用文件包的各应用文件的唯一性信息;目标确定模块520在用于基于文件配置信息、终端设备中存储的目标应用对应的共享文件,从至少两个应用文件包中确定出待下载的目标文件包时,具体用于:
针对至少两个应用文件包中每个应用文件包,从文件配置信息中确定出该应用文件包中每个应用文件的唯一性信息;
针对该应用文件包中的任一应用文件,在基于该应用文件的唯一性信息、每个本地文件的唯一性信息以及每个本地文件包中各本地文件的唯一性信息,确定出终端设备中不存在与该应用文件匹配的本地文件时,将该应用文件包确定为待下载的目标文件包。
在一种可选的实施方式中,如图6示,终端设备还包括文件校验模块550,文件校验模块550用于:
重新生成目标文件包的唯一性信息;
在确定目标文件包的重新生成的唯一性信息与文件配置信息中目标文件包对应的唯一性信息不匹配时,重新从文件资源服务器处下载目标文件包。
在一种可选的实施方式中,终端设备还包括文件解压模块560,文件解压模块560用于:
在确定目标文件包需要解压时,解压出目标文件包所包含的应用文件,并在解压完成后删除目标文件包。
关于终端设备中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
参照图7示,图7开实施例提供的一种下载配置服务器的示意图,下载配置服务器包括文件聚类模块710、文件打包模块720和信息确定模块730。
文件聚类模块710,用于获取目标应用的多个应用文件,按照预设聚类条件对多个应用文件进行文件聚类。
文件打包模块720,用于将同一类别的应用文件打包成一个应用文件包,得到至少两个应用文件包。
信息确定模块730,用于确定出至少两个应用文件包对应的文件配置信息,并将至少两个应用文件包上传到文件资源服务器,以便终端设备获取到文件配置信息后,基于文件配置信息、终端设备中存储的目标应用对应的本地文件,从至少两个应用文件包中确定出待下载的目标文件包。
在一种可选的实施方式中,文件聚类模块710在用于按照预设聚类条件对多个应用文件进行文件聚类时,具体用于:
基于多个应用文件中每个应用文件对应的通用属性,对多个应用文件进行文件聚类;
将通用属性相同的应用文件确定为同一类别的应用文件,其中,通用属性用于指示应用文件是否为目标应用以及目标应用所关联的至少一个本地应用所共同具有的文件。
在一种可选的实施方式中,信息确定模块730在用于确定出至少两个应用文件包对应的文件配置信息时具体用于:
生成至少两个应用文件包中每个应用文件包的唯一性信息、以及每个应用文件包中各应用文件的唯一性信息;
确定出包括每个应用文件包的唯一性信息以及每个应用文件包中各应用文件的唯一性信息的文件配置信息。
关于第一应用中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例还提供了一种计算机设备800,如图8所示,为本公开实施例提供的计算机设备的结构示意图,计算机设备800包括处理器810、存储器820和总线830。存储器820用于存储执行指令,包括内存821和外部存储器822。这里的内存821也称内存储器,用于暂时存放处理器810中的运算数据,以及与硬盘等外部存储器822交换的数据,处理器810通过内存821与外部存储器822进行数据交换。
当计算机设备800运行时,处理器810与存储器820之间通过总线830通信,使得处理器810执行以下指令:
响应于针对目标应用的文件下载触发事件,从下载配置服务器处获取与目标应用的至少两个应用文件包对应的文件配置信息;
基于文件配置信息、终端设备中存储的目标应用对应的共享文件,从至少两个应用文件包中确定出待下载的目标文件包;
从文件资源服务器处下载目标文件包;其中,至少两个应用文件包是按照预设聚类条件对目标应用的多个应用文件进行文件聚类后得到的。
或者,当计算机设备800运行时,处理器810与存储器820之间通过总线830通信,使得处理器810执行以下指令:
获取目标应用的多个应用文件,按照预设聚类条件对多个应用文件进行文件聚类;
将同一类别的应用文件打包成一个应用文件包,得到至少两个应用文件包;
确定出至少两个应用文件包对应的文件配置信息,并将至少两个应用文件包上传到文件资源服务器,以便终端设备获取到文件配置信息后,基于文件配置信息、终端设备中存储的目标应用对应的本地文件,从至少两个应用文件包中确定出待下载的目标文件包。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的应用下载方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的应用下载方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。