发明内容
本发明要解决的技术问题是提供一种数据下载方法和装置,可以减少从云端服务器下载数据的下载时间,提高下载效率。
为解决上述技术问题,本发明的实施例提供一种数据下载方法,包括:
获取终端设备当前安装的第一对象的系统信息;
根据所述系统信息从云端服务器获取一与所述第一对象对应的服务器端系统文件列表;
将所述第一对象的本地系统文件列表中的文件与所述服务器端系统文件列表所包括的文件进行对比验证,产生一验证结果;
获取所述第一对象的下载优化信息,并根据所述下载优化信息及所述验证结果,获得一优化下载文件列表;
根据所述优化下载文件列表,从所述云端服务器获取所需的文件。
其中,所述下载优化信息为:所述第一对象的补丁信息;
根据所述下载优化信息及所述验证结果,获得一优化下载文件列表的步骤包括:
若所述验证结果表明:所述本地系统文件列表中的第一文件与所述服务器端系统文件列表中相应的第二文件不同,则在本地保留所述补丁信息,并将所述第一文件从下载文件列表中删除,得到优化下载文件列表;其中,所述第一文件是:根据所述补丁信息将所述第二文件修改后得到的文件。
其中,所述下载优化信息为:所述第一对象的补丁信息;
根据所述下载优化信息及所述验证结果,获得一优化下载文件列表的步骤包括:
若所述验证结果表明:所述本地系统文件列表中有N1个第三文件与所述服务器端系统文件列表中相应的第四文件不同,且有N2个第五文件与所述服务器端系统文件列表中相应的第六文件相同,若N2大于N1,则删除所述补丁信息,将所述N2个第五文件从下载文件列表中删除,得到优化下载文件列表;其中,所述第三文件是:根据所述补丁信息将所述第四文件修改后得到的文件,且N1,N2均为大于0的整数。
其中,所述下载优化信息为:修复确认信息;
根据所述下载优化信息及所述验证结果,获得一优化下载文件列表的步骤包括:
若所述验证结果表明:所述本地系统文件列表中的第七文件与所述服务器端系统文件列表中相应的第八文件不同,且所述修复确认信息表明所述第七文件已得到修复,则将所述第七文件从下载列表中删除,得到优化下载文件列表。
其中,所述下载优化信息为:小文件打包信息;
根据所述下载优化信息及所述验证结果,获得一优化下载文件列表的步骤包括:
若所述验证结果表明:所述本地系统文件列表中的第九文件与所述服务器端系统文件列表中相应的第十文件不同,且所述小文件打包信息表明:对N3个所述第九文件进行打包,则将第九文件添加至下载文件列表中,得到优化下载文件列表,其中,N3为大于0的整数。
其中,所述第一对象为:操作系统或者应用软件。
本发明的实施例还提供一种数据下载装置,包括:
第一获取模块,用于获取终端设备当前安装的第一对象的系统信息;
第二获取模块,用于根据所述系统信息从云端服务器获取一与所述第一对象对应的服务器端系统文件列表;
第一处理模块,用于将所述第一对象的本地系统文件列表中的文件与所述服务器端系统文件列表所包括的文件进行对比验证,产生一验证结果;
第二处理模块,用于获取所述第一对象的下载优化信息,并根据所述下载优化信息及所述验证结果,获得一优化下载文件列表;
下载模块,用于根据所述优化下载文件列表,从所述云端服务器获取所需的文件。
其中,所述下载优化信息为:所述第一对象的补丁信息;
若所述验证结果表明:所述本地系统文件列表中的第一文件与所述服务器端系统文件列表中相应的第二文件不同,则所述第二处理模块在本地保留所述补丁信息,并将所述第一文件从下载文件列表中删除,得到优化下载文件列表;其中,所述第一文件是:根据所述补丁信息将所述第二文件修改后得到的文件。
其中,所述下载优化信息为:所述第一对象的补丁信息;
若所述验证结果表明:所述本地系统文件列表中有N1个第三文件与所述服务器端系统文件列表中相应的第四文件不同,且有N2个第五文件与所述服务器端系统文件列表中相应的第六文件相同,若N2大于N1,则所述第二处理模块删除所述补丁信息,将所述N2个第五文件从下载文件列表中删除,得到优化下载文件列表;其中,所述第三文件是:根据所述补丁信息将所述第四文件修改后得到的文件,且N1,N2均为大于0的整数。
其中,所述下载优化信息为:修复确认信息;
若所述验证结果表明:所述本地系统文件列表中的第七文件与所述服务器端系统文件列表中相应的第八文件不同,且所述修复确认信息表明所述第七文件已得到修复,则所述第二处理模块将所述第七文件从下载列表中删除,得到优化下载文件列表。
其中,所述下载优化信息为:小文件打包信息;
若所述验证结果表明:所述本地系统文件列表中的第九文件与所述服务器端系统文件列表中相应的第十文件不同,且所述小文件打包信息表明:对N3个所述第九文件进行打包,则所述第二处理模块将第九文件添加至下载文件列表中,得到优化下载文件列表,其中,N3为大于0的整数。
本发明的上述技术方案的有益效果如下:
上述方案中通过将终端设备的第一对象的本地系统文件列表中的文件与服务器端系统文件列表所包括的文件进行对比验证,产生一验证结果;并根据下载优化信息及验证结果,获得一优化下载文件列表,该优化下载文件列表中的文件下载时需要的时间少于传统的文件下载的下载时间;并根据该优化下载文件列表,从云端服务器获取所需的文件,这样可以减少从云端服务器下载数据的下载时间,提高下载效率。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有技术中,数据下载量大,下载时间长的问题,本发明的实施例提供一种数据下载方法和装置,可以减少从云端服务器下载数据的下载时间,提高下载效率。
实施例1:
如图1所示,本发明的数据下载方法,包括:
步骤11,获取终端设备当前安装的第一对象的系统信息;
步骤12,根据上述系统信息从云端服务器获取一与第一对象对应的服务器端系统文件列表;其中,服务器端系统文件列表对应的文件保存于云端服务器,且该对应的文件组成与上述第一对象匹配的第二对象;
步骤13,将第一对象的本地系统文件列表中的文件与服务器端系统文件列表所包括的文件进行对比验证,产生一验证结果;
步骤14,获取第一对象的下载优化信息,并根据下载优化信息及上述验证结果,获得一优化下载文件列表;
步骤15,根据优化下载文件列表,从云端服务器获取所需的文件。
本发明的上述实施例通过将终端设备的第一对象的本地系统文件列表中的文件与服务器端系统文件列表所包括的文件进行对比验证,产生一验证结果;并根据下载优化信息及验证结果,获得一优化下载文件列表,该优化下载文件列表中的文件下载时需要的时间少于传统的文件下载的下载时间;并根据该优化下载文件列表,从云端服务器获取所需的文件,这样可以减少从云端服务器下载数据的下载时间,提高下载效率。
实施例2:
在上述图1所示实施例的基础上,其中下载优化信息为:第一对象的补丁信息;第一对象的补丁信息的作用是:将第二文件修改为第一文件;则上述步骤14具体包括:
若验证结果表明本地系统文件列表中的第一文件(如下面具体例子中的文件a1)与服务器端系统文件列表中相应的第二文件(如下面具体例子中的文件a)不同,则在本地保留补丁信息,并将第一文件从下载文件列表中删除,得到优化下载文件列表;其中,第一文件是根据补丁信息将第二文件修改后得到的文件。
以第一对象为终端设备当前安装的操作系统为例,该补丁信息是该操作系统的补丁信息,当然,若第一对象也可以为终端设备中安装的其它应用软件(如Office办公软件或者驱动程序等),第一对象的补丁信息相应的也应当是这些应用软件的补丁信息,如.net framework补丁等,当第一对象为应用软件时,该第一对象的系统信息如可以是该应用软件的安装信息(比如IE,.netframework以及文件版本信息等);
检测上述补丁信息,根据该补丁信息将第一对象的本地系统文件列表中的文件与服务器端系统文件列表所包括的文件进行对比验证,产生一验证结果;
比如用户的终端设备安装了补丁为KB-a,该补丁KB-a的作用是将本地系统文件列表中的文件a修改为文件a1,则文件a1虽然和服务器端系统文件列表中的文件a不一致,但是a1文件也可以不用下载,只要在新系统中保留补丁KB-a的安装信息即可,而传统的方法是需要下载文件a1,所以本发明的方法减少了文件数据下载量,减小了下载时间。
实施例3:
在上述图1所示实施例的基础上,其中下载优化信息为:第一对象的补丁信息;则上述步骤14具体包括:
若验证结果表明本地系统文件列表中有N1个第三文件(如下面例子中的本地文件b1)与服务器端系统文件列表中相应的第四文件(如下面例子中的文件b)不同,且有N2个第五文件(如下面例子中的文件c,d)与服务器端系统文件列表中相应的第六文件(如下面例子中的文件c,d)相同,若N2大于N1,则删除补丁信息,将N2个第五文件从下载文件列表中删除,得到优化下载文件列表;其中,第三文件(如文件b1)是:根据补丁信息将第四文件(如文件b)修改后得到的文件,且N1,N2均为大于0的整数。
以第一对象为终端设备当前安装的操作系统为例,该补丁信息是该操作系统的补丁信息,当然,若第一对象为终端设备中安装的其它应用软件(如Office办公软件或者驱动程序等),第一对象的补丁信息相应的也应当是这些应用软件的补丁信息,如.net framework补丁等,当第一对象为应用软件时,该第一对象的系统信息如可以是该应用软件的安装信息(比如IE,.net framework以及文件版本信息等);
如用户的终端设备安装了补丁KB-b,该补丁KB-b会将服务器端系统文件列表中的文件b,c,d修改为b1,c1,d1,但是在用户的终端设备进行扫描的时候发现本地文件列表中的文件为b1,c,d,则如果考虑补丁KB-b的话,会需要下载c1,d1文件,如果排除补丁的话,则只需要下载文件b,所以为了减小下载量,本方案中需要将这个补丁KB-b移除。
除了补丁的因素,还可以有其它用户端软件、用户端软件补丁等各种因素,只需要根据用户端的这些信息进行动态规划,计算出最优的下载方案。
实施例4:
在上述图1所示实施例的基础上,其中下载优化信息为:修复确认信息;则上述步骤14具体包括:
若验证结果表明:本地系统文件列表中的第七文件与服务器端系统文件列表中相应的第八文件不同,且修复确认信息表明第七文件已得到修复,则将第七文件从下载列表中删除,得到优化下载文件列表。
如一个用户文件当被判断为需要下载的时候,如果这个文件很大,比如文件a,对应用于服务端的系统文件是aok,则扫描文件a,如果a文件被感染了,则通过感染型文件修复的方式(如采用一些杀毒软件)进行修复,如果修复失败,则查询服务器该文件a->aok是否有相关的diff文件,如果有的话,则下载diff文件,如果修复成功,则不再下载a文件,这样也可以减少文件数据的下载时间。
另外,如在优化单文件下载时,对一些文件利用增量方式进行下载,也可以减小下载时间。
实施例5:
在上述图1所示实施例的基础上,其中下载优化信息为:小文件打包信息;
则上述步骤14具体包括:
若验证结果表明本地系统文件列表中的第九文件与服务器端系统文件列表中相应的第十文件不同,且小文件打包信息表明对N3个第九文件进行打包,则将第九文件添加至下载文件列表中,得到优化下载文件列表,其中,N3为大于0的整数。
如根据实际数据,下载过程中有很多小文件(如上述的第九文件)需要下载,对于这些小文件可以在开始下载前,将这些小文件的信息汇报给云端服务器,由云端服务器根据小文件列表信息,找出最匹配的下载包,如果有匹配的下载包,则使用找到的匹配的下载包,否则自动生成上述小文件形成的新的下载包,供客户端的终端设备下载,并且存储这个新下载包,供后续使用,这样也可以减小下载时间。
另外,对于云端服务器,还可以进行数据的统计,对下载数据量过大的用户终端设备的第一对象的系统信息进行统计,根据这些系统信息在服务器端设置新的服务器端文件列表,以及布置新的补丁,软件等数据,在这些终端设备重新下载时,也可以节省下载时间。
最后需要说明的是:上述第一对象并不限于是上述操作系统和应用软件,还可以是其它特定文件数据,只要涉及大数据量下载的应用场合,本发明的方案均适用;上述实施例中,终端设备如可以是计算机设备,PDA等智能终端设备。
与上述方法相应的,本发明的方案还提供一种减少数据下载量的装置,包括:
第一获取模块,用于获取终端设备当前安装的第一对象的系统信息;
第二获取模块,用于根据系统信息从云端服务器获取一与第一对象对应的服务器端系统文件列表;
第一处理模块,用于将第一对象的本地系统文件列表中的文件与服务器端系统文件列表所包括的文件进行对比验证,产生一验证结果;
第二处理模块,用于获取第一对象的下载优化信息,并根据下载优化信息及验证结果,获得一优化下载文件列表;
下载模块,用于根据优化下载文件列表,从云端服务器获取所需的文件。
该装置同样通过将终端设备的第一对象的本地系统文件列表中的文件与服务器端系统文件列表所包括的文件进行对比验证,产生一验证结果;并根据下载优化信息及验证结果,获得一优化下载文件列表,该优化下载文件列表中的文件下载时需要的时间少于传统的文件下载时的下载时间;并根据该优化下载文件列表,从云端服务器获取所需的文件,这样可以减少从云端服务器下载数据的下载时间,提高下载效率。
其中,下载优化信息为:第一对象的补丁信息;
如验证结果表明:本地系统文件列表中的第一文件与服务器端系统文件列表中相应的第二文件不同,则所述第二处理模块在本地保留所述补丁信息,并将所述第一文件从下载文件列表中删除,得到优化下载文件列表;其中,所述第一文件是:根据所述补丁信息将所述第二文件修改后得到的文件。
另外,下载优化信息为:第一对象的补丁信息;
若验证结果表明:本地系统文件列表中有N1个第三文件与服务器端系统文件列表中相应的第四文件不同,且有N2个第五文件与服务器端系统文件列表中相应的第六文件相同,若N2大于N1,则第二处理模块删除补丁信息,将N2个第五文件从下载文件列表中删除,得到优化下载文件列表;其中,第三文件是:根据补丁信息将第四文件修改后得到的文件,且N1,N2均为大于0的整数。
其中,下载优化信息为:修复确认信息;
若验证结果表明:本地系统文件列表中的第七文件与服务器端系统文件列表中相应的第八文件不同,且修复确认信息表明第七文件已得到修复,则第二处理模块将第七文件从下载列表中删除,得到优化下载文件列表。
其中,下载优化信息为:小文件打包信息;
若验证结果表明:本地系统文件列表中的第九文件与服务器端系统文件列表中相应的第十文件不同,且小文件打包信息表明:对N3个第九文件进行打包,则第二处理模块将第九文件添加至下载文件列表中,得到优化下载文件列表,其中,N3为大于0的整数。
上述第一对象可以是终端设备的操作系统和应用软件,还可以是其它特定文件数据,只要涉及大数据量下载的应用场合,本发明的方案均适用;上述实施例中,终端设备如可以是计算机设备,PDA等智能终端设备,本发明的数据下载装置方案应用于终端设备中。
需要说明的是:上述方法的所有实现方式均适用于该装置的实施例中,并能达到相同的技术效果,在此不再赘述。
以上是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。