本发明涉及计算机,尤其涉及一种软件下载方法、装置及电子设备。
背景技术:
1、随着科技的迅速发展,软件的发展速度也越来越快,基于此,设备的软件下载需求,以及软件更新需求也越来越多。
2、目前,通过差量更新软件的方法,可以在原软件基础上下载该原软件对应的新版本升级包,以完成软件更新需求。然而,首次下载软件时,仍需要对软件进行全量下载,造成了流量浪费。
技术实现思路
1、本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种软件下载方法,只需下载目标差分包,无论是首次下载软件,或者是软件更新,均无需下载目标软件完整的安装包,从而降低下载的数据量,提高下载的速度,并减少流量损失。
2、本发明还提出一种软件下载装置。
3、本发明还提出一种电子设备。
4、本发明还提出一种非暂态计算机可读存储介质。
5、本发明还提出一种计算机程序产品。
6、根据本发明第一方面实施例的软件下载方法,应用于第一终端,所述方法包括:
7、确定用于标识目标软件的第一标识信息,并获取所述第一终端的至少一个已有软件包,所述目标软件为待下载的软件;
8、基于所述第一标识信息和所述至少一个已有软件包,确定用于标识目标差分包的第二标识信息,并从所述至少一个已有软件包中确定出所述目标差分包对应的目标软件包;
9、基于所述第二标识信息,获取第二终端发送的所述目标差分包;
10、将所述目标差分包与所述目标软件包进行合并处理,得到所述目标软件对应的安装包。
11、根据本发明实施例的软件下载方法,确定目标软件与其中一个已有软件对应的目标差分包,并从第二终端中下载该目标差分包,从而将目标差分包与该已有软件对应的目标软件包进行合并处理,即可得到目标软件的安装包,无论是首次下载软件,或者是软件更新,均无需下载目标软件完整的安装包,从而降低下载的数据量,提高下载的速度,并减少流量损失。
12、根据本发明的一个实施例,所述基于所述第一标识信息和所述至少一个已有软件包,确定用于标识目标差分包的第二标识信息,包括:
13、基于所述第一标识信息生成下载请求指令,并将所述下载请求指令发送至第二终端;
14、接收所述第二终端发送的差分包下载信息,并基于所述差分包下载信息确定标识信息集,所述标识信息集中任一标识信息用于标识一个差分包;
15、基于所述标识信息集和所述至少一个已有软件包,确定用于标识目标差分包的第二标识信息。
16、根据本发明的一个实施例,所述标识信息集是按照差分包的数据量大小进行排序的,所述基于所述标识信息集和所述至少一个已有软件包,确定用于标识目标差分包的第二标识信息,包括:
17、基于数据量从小到大的顺序,从所述标识信息集中确定在当前对比轮次下的待对比标识信息;
18、确定所述待对比标识信息对应的待对比软件包;
19、确定所述至少一个已有软件包中存在所述待对比软件包,将所述待对比标识信息确定为所述第二标识信息;
20、确定所述至少一个已有软件包中不存在所述待对比软件包,将下一对比轮次作为所述当前对比轮次,直至所述当前对比轮次为最后一个对比轮次。
21、根据本发明的一个实施例,所述将所述目标差分包与所述目标软件包进行合并处理,得到所述目标软件对应的安装包,之前还包括:
22、接收第二终端发送的目标差分包;
23、从所述至少一个已有软件包中确定出所述目标差分包对应的目标软件包。
24、根据本发明的一个实施例,所述至少一个已有软件包包括基础软件包;
25、所述基础软件包包括公共数据,所述公共数据为所述第一终端所能下载的多个软件的相同数据。
26、根据本发明第二方面实施例的软件下载方法,应用于第二终端,所述方法包括:
27、确定第一终端所需下载的待下载软件,并确定所述第一终端所能下载的至少一个软件;
28、基于所述待下载软件与所述至少一个软件,获取对应的至少一个待存储差分包,所述至少一个待存储差分包中任一差分包表征所述待下载软件与所述至少一个软件中一软件的差异数据;
29、对所述至少一个待存储差分包进行存储。
30、根据本发明实施例的软件下载方法,在第二终端上,生成待下载软件与至少一个软件的差分包,以供第一终端从第二终端中下载目标差分包,从而使第一终端可以将目标差分包与已有软件对应的目标软件包进行合并处理,即可得到目标软件的安装包,无论是首次下载软件,或者是软件更新,第一终端均无需下载目标软件完整的安装包,从而降低下载的数据量,提高下载的速度,并减少流量损失。
31、根据本发明的一个实施例,所述对所述至少一个待存储差分包进行存储,之后还包括:
32、接收所述第一终端发送的下载请求指令;
33、基于所述下载请求指令,确定用于标识目标软件的第一标识信息,所述目标软件为所述第一终端当前待下载的软件;
34、基于所述第一标识信息,确定对应的至少一个待下载差分包;
35、基于所述至少一个待下载差分包,生成用于下载所述至少一个待下载差分包的差分包下载信息,并将所述差分包下载信息发送至所述第一终端。
36、根据本发明的一个实施例,所述基于所述至少一个待下载差分包,生成用于下载所述至少一个待下载差分包的差分包下载信息,包括:
37、对所述至少一个待下载差分包按照数据量大小进行排序;
38、基于排序后的至少一个待下载差分包,生成排序后的所述差分包下载信息,所述排序后的差分包下载信息是按照差分包的数据量大小进行排序的。
39、根据本发明的一个实施例,所述对所述至少一个待存储差分包进行存储,之后还包括:
40、确定用于标识目标软件的第一标识信息,所述目标软件为所述第一终端当前待下载的软件;
41、确定用于标识软件包的至少一个第三标识信息,所述至少一个第三标识信息中任一标识信息用于标识一个所述第一终端的已有软件包;
42、基于所述第一标识信息和所述至少一个第三标识信息,确定待下载的目标差分包;
43、将所述目标差分包发送至所述第一终端。
44、根据本发明的一个实施例,所述基于所述第一标识信息和所述至少一个第三标识信息,确定待下载的目标差分包,包括:
45、基于所述第一标识信息,确定所述目标软件对应的第一差分包集;
46、基于所述至少一个第三标识信息,从所述第一差分包集中确定出第二差分包集;
47、将所述第二差分包集中数据量最小的差分包确定为待下载的目标差分包。
48、根据本发明第三方面实施例的软件下载装置,部署于第一终端,所述装置包括:
49、第一获取模块,用于确定用于标识目标软件的第一标识信息,并获取所述第一终端的至少一个已有软件包,所述目标软件为待下载的软件;
50、第一确定模块,用于基于所述第一标识信息和所述至少一个已有软件包,确定用于标识目标差分包的第二标识信息,并从所述至少一个已有软件包中确定出所述目标差分包对应的目标软件包;
51、第二获取模块,用于基于所述第二标识信息,获取第二终端发送的所述目标差分包;
52、合并模块,用于将所述目标差分包与所述目标软件包进行合并处理,得到所述目标软件对应的安装包。
53、根据本发明第四方面实施例的软件下载装置,部署于第二终端,所述装置包括:
54、第二确定模块,用于确定第一终端所需下载的待下载软件,并确定所述第一终端所能下载的至少一个软件;
55、第三获取模块,用于基于所述待下载软件与所述至少一个软件,获取对应的至少一个待存储差分包,所述至少一个待存储差分包中任一差分包表征所述待下载软件与所述至少一个软件中一软件的差异数据;
56、存储模块,用于对所述至少一个待存储差分包进行存储。
57、根据本发明第五方面实施例的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述软件下载方法。
58、根据本发明第六方面实施例的非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述软件下载方法。
59、根据本发明第七方面实施例的计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述软件下载方法。
60、本发明实施例中的上述一个或多个技术方案,至少具有如下技术效果之一:
61、确定目标软件与其中一个已有软件对应的目标差分包,并从第二终端中下载该目标差分包,从而将目标差分包与该已有软件对应的目标软件包进行合并处理,即可得到目标软件的安装包,无论是首次下载软件,或者是软件更新,均无需下载目标软件完整的安装包,从而降低下载的数据量,提高下载的速度,并减少流量损失。
62、在第二终端上,生成待下载软件与至少一个软件的差分包,以供第一终端从第二终端中下载目标差分包,从而使第一终端可以将目标差分包与已有软件对应的目标软件包进行合并处理,即可得到目标软件的安装包,无论是首次下载软件,或者是软件更新,第一终端均无需下载目标软件完整的安装包,从而降低下载的数据量,提高下载的速度,并减少流量损失。
63、本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。