CN105760183A - 文件处理方法、装置及通信系统 - Google Patents
文件处理方法、装置及通信系统 Download PDFInfo
- Publication number
- CN105760183A CN105760183A CN201410776948.6A CN201410776948A CN105760183A CN 105760183 A CN105760183 A CN 105760183A CN 201410776948 A CN201410776948 A CN 201410776948A CN 105760183 A CN105760183 A CN 105760183A
- Authority
- CN
- China
- Prior art keywords
- data
- difference
- package
- software
- upgraded
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 15
- 238000004891 communication Methods 0.000 title claims abstract description 13
- 238000009434 installation Methods 0.000 claims abstract description 193
- 230000006835 compression Effects 0.000 claims abstract description 71
- 238000007906 compression Methods 0.000 claims abstract description 71
- 238000012545 processing Methods 0.000 claims abstract description 65
- 238000000034 method Methods 0.000 claims abstract description 61
- 230000006837 decompression Effects 0.000 claims description 34
- 238000000605 extraction Methods 0.000 claims description 18
- 239000007787 solid Substances 0.000 claims description 10
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000012856 packing Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明是关于一种文件处理方法、装置及通信系统。其中,所述方法包括:获取待升级软件的原安装包及所述待升级软件对应的升级包;提取所述升级包中的元数据;将所述原安装包与所述升级包进行比对,提取差异信息;对所述元数据和所述差异信息进行压缩处理,得到差量升级包。本发明实施例提供的技术方案通过比对原安装包与升级包,以找到与所述原安装包存在有差异的差异数据,对所述差异数据进行压缩处理,得到差量升级包,该差量升级包中只包含有升级包与原安装包有差异那一部分数据,其比升级包要小,显然,用户下载该差量升级包比下载原升级包所耗的流量要小,为用户节省了数据下载流量,减少了占用的带宽资源,且大大的加快了版本升级的过程。
Description
技术领域
本发明涉及一种计算机领域,特别是涉及一种文件处理方法、装置及通信系统。
背景技术
随着科技的发展,现有智能终端,如智能手机,pad等,的应用越来越广泛。为了迎合用户的使用需求,应用市场上出现了多种多样的应用软件供用户下载并安装使用。用户可从应用市场中下载自己喜欢的应用。用户除了会下载全新的应用安装包外,还会在本地已安装应用有新的版本时,下载升级包对已有应用进行升级。通过版本升级可以对操作系统或应用软件进行漏洞完善,或者添加新的应用功能,使操作系统或应用软件的功能更加完善好用。
终端在针对本地已有的旧版本应用进行版本升级时,需要从服务端设备获取新版本的升级包。升级包不仅包含有新增的数据和/或修改的数据,还包含有与原有安装包中重复的数据,致使升级包可能比原包还要大。现有技术中,用户需要将升级包全部下载下来,才能完成版本的升级,进而增加了用户的数据下载流量,同时还存在下载速度慢等问题。
发明内容
鉴于上述问题,提出了本发明以便于提供一种克服上述问题或者至少部分地解决上述问题的文件处理方法、装置及通信系统。
依据本发明的第一个方面,提供了一种文件处理方法,包括:
获取待升级软件的原安装包及所述待升级软件对应的升级包;
提取所述升级包中的元数据;
将所述原安装包与所述升级包进行比对,提取差异信息;
对所述元数据和所述差异信息进行压缩处理,得到差量升级包。
依据本发明的第二个方面,提供了一种文件处理方法,包括:
从服务端设备下载待升级软件对应的差量升级包,所述差量升级包是由所述服务端设备通过将待升级软件的原安装包及所述待升级软件对应的升级包进行比对,提取差异信息,并对从所述升级包中提取出的元数据和所述差异数据进行压缩处理后得到的;
获取所述待升级软件的原安装包;
根据所述待升级软件的原安装包和所述差量升级包,得到所述待升级软件的升级包;
根据所述升级包,对所述待升级软件进行升级。
依据本发明的第三个方面,提供了一种服务端设备,包括:
获取模块,用于获取待升级软件的原安装包及所述待升级软件对应的升级包;
第一提取模块,用于提取所述升级包中的元数据;
第二提取模块,用于将所述原安装包与所述升级包进行比对,提取差异数据;
处理模块,用于对所述元数据和所述差异信息进行压缩处理,得到差量升级包。
依据本发明的第四个方面,提供了一种移动设备,包括:
下载模块,用于从服务端设备下载待升级软件对应的差量升级包,所述差量升级包是由所述服务端设备通过将待升级软件的原安装包及所述待升级软件对应的升级包进行比对,提取差异信息,并对从所述升级包中提取出的元数据和所述差异数据进行压缩处理后得到的;
获取模块,用于获取所述待升级软件的原安装包;
处理模块,用于根据所述待升级软件的原安装包和所述差量升级包,得到所述待升级软件的升级包;
升级模块,用于根据所述升级包,对所述待升级软件进行升级。
依据本发明的第五个方面,提供了一种通信系统,包括:服务端设备和移动设备;其中,
所述服务端设备,用于:
获取待升级软件的原安装包及所述待升级软件对应的升级包;
提取所述升级包中的元数据;
将所述原安装包与所述升级包进行比对,提取差异信息;
对所述元数据和所述差异信息进行压缩处理,得到差量升级包。
所述移动设备,用于:
从服务端设备下载待升级软件对应的差量升级包,所述差量升级包是由所述服务端设备通过将待升级软件的原安装包及所述待升级软件对应的升级包进行比对,提取差异信息,并对从所述升级包中提取出的元数据和所述差异数据进行压缩处理后得到的;
获取所述待升级软件的原安装包;
根据所述待升级软件的原安装包和所述差量升级包,得到所述待升级软件的升级包;
根据所述升级包,对所述待升级软件进行升级。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明实施例提供的技术方案通过比对原安装包与升级包,以找到与所述原安装包存在有差异的差异数据,对所述差异数据进行压缩处理,得到差量升级包,该差量升级包中只包含有升级包与原安装包有差异那一部分数据,其比升级包要小,显然,用户下载该差量升级包比下载原升级包所耗的流量要小。由此可知,本发明实施例提供的技术方案,降低了升级包的大小,为用户节省了数据下载流量,减少了占用的带宽资源,且大大的加快了版本升级的过程。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例一提供的文件处理方法的流程示意图;
图2示出了本发明实施例二提供的文件处理方法的流程示意图
图3示出了本发明实施例三提供的服务端设备的结构示意图;
图4示出了本发明实施例四提供的移动设备的结构示意图;
图5示出了本发明实施例五提供的通信系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例一提供的一种文件处理方法的流程示意图。本实施例提供的所述方法的执行主体可以是服务端设备。本实施例提供的所述方法可适用于软件升级场景,采用本实施例提供的所述方法对升级包进行压缩处理后,可有效的降低下载升级包的大小,进而为用户节省了下载升级包所需的流量,缩短下载等待时间,提高升级效率。具体的,本实施例提供的所述方法包括:
步骤101、获取待升级软件的原安装包及所述待升级软件对应的升级包。
具体的,获取原安装包与升级包可采用如下方法实现:
首先,接收用户终端发送的升级请求,所述升级请求携带有所述待升级软件的软件标识和版本信息。
然后,根据所述软件标识和版本信息,获取所述待升级软件的原安装包。
最后,根据所述软件标识和版本信息,获取具有所述软件标识,且版本信息高于所述待升级软件的版本信息的所述升级包。
本实施例中,用户终端可以在获知服务端设备上的升级包的相关信息后,向服务端设备发送下载该升级包的请求;也可以在不知道服务端设备上是否存在升级包的情况下,向服务端设备发送下载请求。其中,该请求中包含该待升级软件的软件标识和版本信息。
具体的,用户终端需进行软件升级时,该用户终端向软件更新服务端设备发送该升级软件的软件标识和版本信息。其中,用户终端的操作系统可以是安卓操作系统,对应的软件安装包和升级包即为安卓安装包(AndroidPackage,简称APK)。该软件更新服务端设备存储有软件开发者或开发商上传的对应该软件的不同版本的APK,则该软件更新服务端设备根据该软件的软件标识在不同版本的APK中选定升级包,该升级包可以是该软件更新服务端设备中对应该软件的版本最高的APK。
例如,该软件的标识信息为该软件的名称:A,该软件更新服务端设备中存储有对应该软件的多个不同版本的安装包,例如,A1.0.APK、A2.0.APK和A3.0.APK,则该软件更新服务端设备在接收道该终端设备发送的该软件的软件标识A(软件标识可以是软件的名称,也可以是其他能标识软件的信息,本举例中就以软件的名称作为软件标识了)时,根据该软件的软件标识A确定对应该软件的安装包:A1.0.APK、A2.0.APK和A3.0.APK;并根据用户终端上传的版本信息,从中选定一个比用户终端上传的版本信息高的安装包作为升级包。
102、提取所述升级包中的元数据。
其中,所述元数据包括:升级包的目录信息(cde)和文件头信息。升级包本身就是一个压缩文件,元数据(meta)中保存有用于恢复该压缩文件的相关信息。因为升级包和原安装包,两个文件的压缩率和压缩方法不一定相同,因此需提取升级包中的元数据,以为后续根据元数据、差异信息和原安装包,恢复升级包时使用。
步骤103、将所述原安装包与所述升级包进行比对,提取差异信息。
其中,所述差异信息包含了所述升级包与所述原安装包之间存在差异的所有差异数据。在实际应用中,对比两个包中的数据可能有以下四种情况:
第一种情况,存在于升级包中的数据A,不存在于原安装包中,则说明升级包中增加了数据A。
第二种情况,存在于原安装包中的数据B,不存在于升级包中,则说明升级包中删除了数据B。
第三种情况,升级包和原安装包中都有数据C,但升级包中的数据C的信息与原安装包中数据C不完全相同或全不相同,则说明升级包修改了数据C。
第四种情况,升级包和原安装包中都有数据D,且升级包中的数据D的信息与原安装包中数据D完全相同,则说明升级包中数据D保持不变。
这样,上述第一种情况中新增的数据A即为升级包与原安装包存在差异的差异数据;上述第三情况中修改的数据C同样也为升级包与原安装包存在差异的差异数据;上述第二情况中升级包删除的数据B也应为升级包与原安装包存在差异,因此为了表征该差异,可通过记录所述数据C被删除的操作信息来体现该差异,这样该数据C被删除的操作信息标记即为所述差异数据。
基于上述的内容可知,本步骤可具体采用如下方法实现:
首先,对所述原安装包进行解压缩处理,得到第一解压缩数据。
然后,对所述升级包进行解压缩处理,得到第二解压缩数据。
最后,将所述第一解压缩数据和所述第二解压缩数据进行比对;
若通过比对所述第二解压缩数据中包含有所述第一解压缩数据中没有的数据A,则将所述数据A作为所述差异数据并进行提取;
若通过比对所述第二解压缩数据中包含的数据B的信息与所述第一解压缩数据中的数据B的信息不同,则将所述第二解压缩数据中包含的数据B作为所述差异数据并进行提取;
若通过比对所述第二解压缩数据中不包含所述第一解压缩数据中的数据C,则将所述数据C被删除的操作记录保存到差异配置信息中,该所述差异配置信息作为差异数据并进行提取。
其中,所述差异信息包含有至少一个所述差异数据。
这里需要说明的是,为了能够进行比对,本实施例在比对原安装包和升级包之前,需分别对原安装包和升级包进行解压缩处理。在实际应用中,原安装包和升级包可能只包含一级压缩包,也可能包含多级压缩包。因此,上述对所述原安装包进行解压缩处理,得到第一解压缩数据,可具体为:
对所述原安装包进行解压缩处理;判断解压缩处理后的所述原安装包是否还包含有压缩文件,若有,则对所述压缩文件进行解压缩处理,并继续对解压缩处理后的所述压缩文件进行判断,直至所述第一解压缩数据中不包含有压缩文件为止。
同样的,上述对所述升级包进行解压缩处理,得到第二解压缩数据,可具体为:
对所述升级包进行解压缩处理;判断解压缩处理后的所述升级包是否还包含有压缩文件,若有,则对所述压缩文件进行解压缩处理,并继续对解压缩处理后的所述压缩文件进行判断,直至所述第二解压缩数据中不包含有压缩文件为止。
步骤104、对所述元数据和所述差异信息进行压缩处理,得到差量升级包。
具体的,可采用固实压缩算法对所述元数据和所述差异数据进行压缩处理,得到差量升级包。固实压缩文件是一种压缩方式,它把压缩文件中的全部文件都当成一个连续数据流来看待。本实施例所涉及的固实压缩不支持rar和7z格式的压缩文件,是一种自定义的固实压缩格式。本实施例所提到的固实压缩可增加压缩性能,特别是添加大量的小文件的时候。固实数据就是将所有文件中相同的部分统一压缩,这样能使压缩后文件就变很小。
或者,本步骤对所述元数据和所述差异信息进行压缩处理,得到差量升级包,还可采用如下方法进行压缩处理,得到差量升级包,具体的,包括:
首先,识别所述元数据和所述差异信息中包含的所有差异数据的的内容格式。
在实际应用中,内容格式的识别可通过识别文件扩展名和识别文件头,这两种方式来实现。采用识别文件扩展名的方式识别速度快,但准确度要低于采用识别文件头的方式。例如,扩展名是.zip和.jar都是zip格式。文件头是PK开头,表示是zip格式。所有格式都可采用lzma2/lzma作为压缩算法。
然后,将内容格式相同的数据合并为一个压缩单元,所述数据包括元数据和/或差异数据。
例如,应用安装包中包含两种内容格式的解压数据,一种是zip格式;另一种是PNG(PortableNetworkGraphic,可移植网络图形)格式。由此,通过本步骤可将所有zip格式的解压数据合并为第一待压缩单元;将所有PNG格式的解压数据合并为第二待压缩单元。其中,元数据可能和某些差异数据具有相同的内容格式,此时就可将元数据和这些差异数据组成一组,一同进行压缩。或者,也可将元数据单独进行压缩。
随后,根据各所述压缩单元包含的差异数据的内容格式,为各压缩单元选定对应的压缩算法。
再后,分别采用各压缩单元对应的压缩算法,对各压缩单元进行压缩处理。
最后,将压缩处理后的各压缩单元进行打包处理,得到所述差量升级包。
在实际应用中,安装包中包含的数据大多具有相同的内容格式,因此,本步骤直接将所有解出的解压数据合并成一整块数据也是可以的。
这里需要说明的是:不管所述差量升级包是通过固实压缩获得的,还是根据数据的内容格式采用不同压缩算法获得的,均可获取差量升级包在压缩时压缩函数,并将所述压缩参数保存到所述元数据中,以便于后续根据所述元数据中的所述压缩参数对所述差量升级包进行解压缩。
采用现有解压缩算法,压缩数据可能绝大部分能被完整的解出(即内容完全一样),但还是有些部分不太可能恢复的与原包一模一样。虽然,从运行结构来看,并不存在任何影响,但还是有出错的可能。为了保证压缩数据解出的解压数据与原包(即第一应用安装包)完全一样,且保证不出错,本发明实施例即采用上述过程将所述差量升级包在压缩时的压缩参数记录下来并保存到元数据中。元数据为差量升级包中的内容恢复至与升级包中的对应内容保持不变提供了数据支持。
本实施例提供的技术方案通过比对原安装包与升级包,以找到与所述原安装包存在有差异的差异数据,对所述差异数据进行压缩处理,得到差量升级包,该差量升级包中只包含有升级包与原安装包有差异那一部分数据,其比升级包要小,显然,用户下载该差量升级包比下载原升级包所耗的流量要小。由此可知,本实施例提供的技术方案,降低了升级包的大小,为用户节省了数据下载流量,减少了占用的带宽资源,且大大的加快了版本升级的过程。
进一步的,这里需要补充的是:由于采用本实施例提供的所述方法为用户提供的升级包为差量升级包,因此,该用户终端在下载该差量升级包后,需要将该用户终端中用于安装该软件的原安装包与下载的差量升级包合并生成一个新的安装包。即,若下载的差量升级包中包含的差异数据为升级包中新增的信息(即上述第一种情况),则将该差异数据插入到原安装包中;若下载的差量升级包中包含的差异数据为替换信息(即上述第三种情况),则将原安装包中的对应信息替换为差量升级包中的差异数据;若下载的差量升级包中包含的差异数据为某一数据被删除的操作信息(即上述第二种情况),则将原安装包中的相应数据进行删除操作。
如图2所示,本发明实施例二提供的文件处理方法的流程示意图。本实施例提供的所述方法的执行主体可以是移动设备,该移动设备上可安装有能够实现本实施例提供的所述方法的客户端应用软件,如“360手机助手”等。本实施例提供的所述方法可适用于软件升级场景,采用本实施例提供的所述方法对升级包进行压缩处理后,可有效的降低下载升级包的大小,进而为用户节省了下载升级包所需的流量,缩短下载等待时间,提高升级效率。具体的,本实施例提供的所述方法包括:
步骤201、从服务端设备下载待升级软件对应的差量升级包。
其中,所述差量升级包是由所述服务端设备通过将待升级软件的原安装包及所述待升级软件对应的升级包进行比对,提取差异信息,并对从所述升级包中提取出的元数据和所述差异数据进行压缩处理后得到的。
步骤202、获取所述待升级软件的原安装包。
步骤203、根据所述待升级软件的原安装包和所述差量升级包,得到所述待升级软件的升级包。
本步骤可采用如下方法实现:
首先,对所述差量升级包进行解压处理,得到元数据及差量信息。
然后,根据所述元数据和所述差量信息,对所述原安装包进行处理得到所述待升级软件的升级包。
具体的,根据所述元数据和所述差量信息,对所述原安装包进行处理得到所述待升级软件的升级包,的实现过程如下:
若所述差量信息中包含有所述原安装包中没有的数据A,则将所述数据A添加到所述原安装包中;
若所述差量信息中包含有文件名相同,但文件中包含的数据信息不同的数据B,则将所述原安装包中的数据B替换为所述差量信息中的数据B;
若所述差量信息中包含有差量配置信息,则根据所述差量配置信息中记录的将数据C被删除的操作,将所述原安装包中的数据C删除;
将所述元数据添加到所述原安装包中的元数据中,得到所述待升级软件的升级包。
通过上述各过程对所述原安装包进行处理后,即得到所述待升级软件的升级包。得到的所述待升级软件的升级包与原升级包的内容一致,但待升级软件的升级包恢复后的内容格式可以与原升级包恢复后的内容格式可以完全一致,也可不完全一致。
步骤204、根据所述升级包,对所述待升级软件进行升级。
本实施例提供的技术方案通过比对原安装包与升级包,以找到与所述原安装包存在有差异的差异数据,对所述差异数据进行压缩处理,得到差量升级包,该差量升级包中只包含有升级包与原安装包有差异那一部分数据,其比升级包要小,显然,用户下载该差量升级包比下载原升级包所耗的流量要小。由此可知,本实施例提供的技术方案,降低了升级包的大小,为用户节省了数据下载流量,减少了占用的带宽资源,且大大的加快了版本升级的过程。
需要说明的是:对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的
如图3所示,本发明实施例二提供的服务端设备的结构示意图。本实施例提供的所述服务端设备可实现上述实施例一提供的所述方法。本实施例提供的所述服务端设备,也可云端设备。具体的,本实施提供的所述文件处理装置包括:获取模块1、第一提取模块2、第三提取模块3和处理模块4。其中,所述获取模块1,用于获取待升级软件的原安装包及所述待升级软件对应的升级包。所述第一提取模块2,用于提取所述升级包中的元数据。所述第二提取模块3,用于将所述原安装包与所述升级包进行比对,提取差异数据。所述处理模块4,用于对对所述元数据和所述差异信息进行压缩处理,得到差量升级包。
本实施例提供的技术方案通过比对原安装包与升级包,以找到与所述原安装包存在有差异的差异数据,对所述差异数据进行压缩处理,得到差量升级包,该差量升级包中只包含有升级包与原安装包有差异那一部分数据,其比升级包要小,显然,用户下载该差量升级包比下载原升级包所耗的流量要小。由此可知,本实施例提供的技术方案,降低了升级包的大小,为用户节省了数据下载流量,减少了占用的带宽资源,且大大的加快了版本升级的过程。
进一步的,上述实施例中的所述差异提取模块可采用如下方法实现。具体的,所述第二提取模块,包括:第一解压单元、第二解压单元和差异提取单元。其中,所述第一解压单元,用于对所述原安装包进行解压缩处理,得到第一解压缩数据。所述第二解压单元,用于对所述升级包进行解压缩处理,得到第二解压缩数据。所述差异提取单元,用于将所述第一解压缩数据和所述第二解压缩数据进行比对;
若通过比对所述第二解压缩数据中包含有所述第一解压缩数据中没有的数据A,则将所述数据A作为差异数据并进行提取;
若通过比对所述第二解压缩数据中包含的数据B的信息与所述第一解压缩数据中的数据B的信息不同,则将所述第二解压缩数据中包含的数据B作为差异数据并进行提取;
若通过比对所述第二解压缩数据中不包含所述第一解压缩数据中的数据C,则将所述数据C被删除的操作记录保存到差异配置信息中,该所述差异配置信息作为差异数据并进行提取。
其中,所述差异信息包含有至少一个所述差异数据。
进一步的,上述实施例中所述的第一解压单元,具体用于:
对所述原安装包进行解压缩处理;判断解压缩处理后的所述原安装包是否还包含有压缩文件,若有,则对所述压缩文件进行解压缩处理,并继续对解压缩处理后的所述压缩文件进行判断,直至所述第一解压缩数据中不包含有压缩文件为止。
进一步的,上述实施例中所述的第二解压单元,具体用于:
对所述升级包进行解压缩处理;判断解压缩处理后的所述升级包是否还包含有压缩文件,若有,则对所述压缩文件进行解压缩处理,并继续对解压缩处理后的所述压缩文件进行判断,直至所述第二解压缩数据中不包含有压缩文件为止。
进一步的,上述实施例中所述的处理模块具体用于:采用固实压缩算法对所述元数据和所述差异数据进行压缩处理,得到差量升级包。
或者,所述处理装置还可采用如下结构实现。具体的,所述处理模块包括:识别单元、合并单元、选定单元、压缩单元和打包单元。其中,所述识别单元,用于识别所述元数据和所述差异信息中包含的所有差异数据的的内容格式。所述合并单元,用于将内容格式相同的数据合并为一个压缩单元,所述数据包括元数据和/或差异数据。所述选定单元,用于根据各所述压缩单元包含的差异数据的内容格式,为各压缩单元选定对应的压缩算法。所述压缩单元,用于分别采用各压缩单元对应的压缩算法,对各压缩单元进行压缩处理。所述打包单元,将压缩处理后的各压缩单元进行打包处理,得到所述差量升级包。
进一步的,上述实施例中的所述获取模块可采用如下结构实现。具体的,所述获取模块包括:接收单元、第一获取单元和第二获取单元。其中,所述接收单元,用于接收用户终端发送的升级请求,所述升级请求携带有所述待升级软件的软件标识和版本信息。所述第一获取单元,用于根据所述软件标识和版本信息,获取所述待升级软件的原安装包。所述第二获取单元,用于根据所述软件标识和版本信息,获取具有所述软件标识,且版本信息高于所述待升级软件的版本信息的所述升级包。
如图4所示,本发明实施例四提供的移动设备的结构示意图。本实施例提供的所述移动设备可实现上述实施例二提供的所述方法。本实施例所述的移动设备可以是手机、平板电脑等等。具体的所述移动设备包括:下载模块5、获取模块6、处理模块7和升级模块8。其中,下载模块5,用于从服务端设备下载待升级软件对应的差量升级包,所述差量升级包是由所述服务端设备通过将待升级软件的原安装包及所述待升级软件对应的升级包进行比对,提取差异信息,并对从所述升级包中提取出的元数据和所述差异数据进行压缩处理后得到的。获取模块6,用于获取所述待升级软件的原安装包。处理模块7,用于根据所述待升级软件的原安装包和所述差量升级包,得到所述待升级软件的升级包。升级模块8,用于根据所述升级包,对所述待升级软件进行升级。
本实施例提供的技术方案通过比对原安装包与升级包,以找到与所述原安装包存在有差异的差异数据,对所述差异数据进行压缩处理,得到差量升级包,该差量升级包中只包含有升级包与原安装包有差异那一部分数据,其比升级包要小,显然,用户下载该差量升级包比下载原升级包所耗的流量要小。由此可知,本实施例提供的技术方案,降低了升级包的大小,为用户节省了数据下载流量,减少了占用的带宽资源,且大大的加快了版本升级的过程。
进一步的,所述处理模块可采用如下结构实现。具体的,所述处理模块,包括:解压单元和处理单元。其中,解压单元,用于对所述差量升级包进行解压处理,得到元数据及差量信息。所述处理单元,用于根据所述元数据和所述差量信息,对所述原安装包进行处理得到所述待升级软件的升级包。
更进一步的,所述处理单元,具体用于:
当所述差量信息中包含有所述原安装包中没有的数据A时,将所述数据A添加到所述原安装包中;
当所述差量信息中包含有文件名相同,但文件中包含的数据信息不同的数据B时,将所述原安装包中的数据B替换为所述差量信息中的数据B;
当所述差量信息中包含有差量配置信息时,根据所述差量配置信息中记录的将数据C被删除的操作,将所述原安装包中的数据C删除;
将所述元数据添加到所述原安装包中的元数据中,得到所述待升级软件的升级包。
如图5所示,本发明实施例五提供的通信系统的结构示意图。如图所示,本实施例提供的所述通信系统包括:服务端设备100和移动设备200。其中,所述服务端设备100,用于:
获取待升级软件的原安装包及所述待升级软件对应的升级包;
提取所述升级包中的元数据;
将所述原安装包与所述升级包进行比对,提取差异信息;
对所述元数据和所述差异信息进行压缩处理,得到差量升级包。
所述移动设备200,用于:
从服务端设备下载待升级软件对应的差量升级包,所述差量升级包是由所述服务端设备通过将待升级软件的原安装包及所述待升级软件对应的升级包进行比对,提取差异信息,并对从所述升级包中提取出的元数据和所述差异数据进行压缩处理后得到的;
获取所述待升级软件的原安装包;
根据所述待升级软件的原安装包和所述差量升级包,得到所述待升级软件的升级包;
根据所述升级包,对所述待升级软件进行升级。
这里需要说明的是:上述实施例提供的所述服务端设备可具体采用上述实施例三提供的设备,所述移动设备可具体采用上述实施例四提供的设备,具体的实现结构和实现原理可参见上述实施例中相应的内容,此次不再赘述。
下面依照本发明所述的方案,提供本发明的一个应用软件更新升级系统的具体实施例。
具体实现中,移动设备可以通过启动移动数据或者无线(如无线网路通信技术WiFi)等形式连接到服务端设备,服务端设备通过监控程序监控移动设备与服务端设备的连通情况。其中,所述移动设备是一种可以在移动中使用的计算设备,如手机。
在本发明所述系统实施例中,移动设备安装有与服务端设备进行交互的客户端程序(如360手机助手),可以通过所述客户端程序读取移动设备上安装的一个或多个应用的安装包信息,所述安装包信息可以包括安装包标识、安装包版本号等,其中,所述安装包标识可以用于判断该安装包是属于哪一款应用;所述安装包版本号用于标识移动设备当前安装的应用是属于哪个版本;
具体应用中,所述移动设备的客户端程序的配置文件中设置有开关状态字段0和1(0标识开关关闭,1表示开关打开),当所述客户端程序启动时,可以首先读取该开关状态字段的值,判断该开关是否是打开状态,若开关为打开状态,则开启对移动设备应用的自动升级功能,此时,客户端程序可以自动读取移动设备中的应用的安装包信息。所述服务端设备保存有目前市面上能在移动设备中安装的最新版本的应用,具体的,服务端设备可以不定期或周期性地到论坛或其他下载站点抓取最新版本的应用软件安装包,将所述最新版本的应用软件安装包保存在服务端设备的数据库,从而可以保持服务端设备数据库中保存的应用软件安装包是市面上最新的;同时服务端设备将最新版本应用软件安装包分别与服务端设备数据库中之前保存的该应用软件相应的各个版本的旧安装包,按照本发明实施例一提供的所述方法生成相应的差量升级包,以供移动设备应用的下载更新。
相应的移动设备中有供用户选择的升级应用列表,所述升级应用列表可以包括需要升级的应用的安装包标识(或应用标识)或应用的常用图标(对于常用应用,使用常用图标和应用标识的形式进行列表提示,对于一般的应用,用应用标识的形式进行列表提示)、安装包版本号、最新安装包版本号、应用描述等信息的一种或多种。针对每个应用有对应的选定框供用户选择是否对该应用进行更新,用户可以在升级应用列表中选定一个或多个应用进行升级。下载选中的应用所对应的差量升级包,与相应的原安装包采用本发明二提供的所述方法得到相应的应用升级包,重新安装应用升级包,实现相应应用的更新升级。
针对上述应用软件更新升级系统,以“360手机助手”为例作进一步说明。
手机上安装有“360手机助手”,手机连接WiFi或开启移动数据连接,当手机助手打开时,开启应用自动升级功能,具体过程为:
1.手机助手读取手机A的所有应用的安装包信息,生成手机A的应用安装包信息的应用列表1;
2.手机助手将手机A的应用列表1的各个安装包信息提取出来,提取其中的安装包标识和安装包版本号发送至服务端设备,并接收所述服务端设备返回的升级安装包信息,所述升级安装包信息包括升级安装包版本号;
3.手机助手将所述升级安装包版本号与所述安装包版本号进行比较,若所述安装包版本号小于所述升级安装包版本号,则判定对应的应用为需要升级的应用,并在升级应用列表中显示可更新的提示;
4.所述升级应用列表显示检测到的所有需要更新的应用,所述升级应用列表包括应用软件大小、应用描述、应用的常用图标等信息。用户可以通过点击“更新”按钮、“卸载”按钮或“忽略更新”按钮选择是否更新升级或直接卸载相应应用;
5.手机助手接收用户选定的“更新”指令,从服务端下载选定应用的相应差量升级包到手机,同时显示一个应用下载进度条,在下载完成的瞬间提示用户是否确认安装;
6.手机助手接收用户选定的“确认”安装指令,将差量升级包与原安装包依照本发明实施例二提供的方法进行合并得到升级包,并完成安装升级。
当然,上述应用升级过程仅作为本发明的一种示例,并不能解释为对本发明的限制。本发明所述方案适用于任何zip结构的应用软件,不受系统平台限制。
目前的智能手机市场中,手机应用的竞争日趋激烈,为了能够持续得到用户青睐,手机应用开发商加紧了自家应用的更新升级频率。而手机用户更新应用难免会需要高额的流量,并且一定数量的应用一同升级时的等待时间也较长,因此,诸如“应用宝”、“安卓市场”、“360手机助手”等应用商店纷纷推出了“省流量”更新软件功能。采用本发明所述方案可以实现“省流量”更新软件功能。
这里需要说明的是:服务端设备可采用本发明实施例提供的方法对同一升级包生成多种压缩比的差量升级包。服务端设备还可根据移动设备上传的硬件参数(内存大小),为移动设备提供不同压缩比的差量升级包。若移动设备的硬件条件好,如内存大,可为其提供具有高压缩比的差量升级包;若移动设备的硬件条件差,如内存小,可为其提供具有低压缩比的差量升级包。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及交换机中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例提供的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种文件处理方法,包括:
获取待升级软件的原安装包及所述待升级软件对应的升级包;
提取所述升级包中的元数据;
将所述原安装包与所述升级包进行比对,提取差异信息;
对所述元数据和所述差异信息进行压缩处理,得到差量升级包。
A2、如A1所述的方法,其中,所述将所述原安装包与所述升级包进行比对,提取差异信息,包括:
对所述原安装包进行解压缩处理,得到第一解压缩数据;
对所述升级包进行解压缩处理,得到第二解压缩数据;
将所述第一解压缩数据和所述第二解压缩数据进行比对;
若通过比对所述第二解压缩数据中包含有所述第一解压缩数据中没有的数据A,则将所述数据A作为差异数据并进行提取;
若通过比对所述第二解压缩数据中包含的数据B的信息与所述第一解压缩数据中的数据B的信息不同,则将所述第二解压缩数据中包含的数据B作为差异数据并进行提取;
若通过比对所述第二解压缩数据中不包含所述第一解压缩数据中的数据C,则将所述数据C被删除的操作记录保存到差异配置信息中,该所述差异配置信息作为差异数据并进行提取;
所述差异信息包含有至少一个所述差异数据。
A3、如A2所述的方法,其中,所述对所述原安装包进行解压缩处理,得到第一解压缩数据,包括:
对所述原安装包进行解压缩处理;
判断解压缩处理后的所述原安装包是否还包含有压缩文件,若有,则对所述压缩文件进行解压缩处理,并继续对解压缩处理后的所述压缩文件进行判断,直至所述第一解压缩数据中不包含有压缩文件为止。
A4、如A2所述的方法,其中,所述对所述升级包进行解压缩处理,得到第二解压缩数据,包括:
对所述升级包进行解压缩处理;
判断解压缩处理后的所述升级包是否还包含有压缩文件,若有,则对所述压缩文件进行解压缩处理,并继续对解压缩处理后的所述压缩文件进行判断,直至所述第二解压缩数据中不包含有压缩文件为止。
A5、如A1~A4中任一项所述的方法,其中,所述对所述元数据和所述差异信息进行压缩处理,得到差量升级包,具体为;
采用固实压缩算法对所述元数据和所述差异数据进行压缩处理,得到差量升级包。
A6、如A1或A2所述的方法,其中,对所述元数据和所述差异信息进行压缩处理,得到差量升级包,包括:
识别所述元数据和所述差异信息中包含的所有差异数据的的内容格式;
将内容格式相同的数据合并为一个压缩单元,所述数据包括元数据和/或差异数据;
根据各所述压缩单元包含的数据的内容格式,为各压缩单元选定对应的压缩算法;
分别采用各压缩单元对应的压缩算法,对各压缩单元进行压缩处理;
将压缩处理后的各压缩单元进行打包处理,得到所述差量升级包。
A7、如A1所述的方法,所述获取待升级软件的原安装包及所述待升级软件对应的升级包,包括:
接收用户终端发送的升级请求,所述升级请求携带有所述待升级软件的软件标识和版本信息;
根据所述软件标识和版本信息,获取所述待升级软件的原安装包;
根据所述软件标识和版本信息,获取具有所述软件标识,且版本信息高于所述待升级软件的版本信息的所述升级包。
本发明还公开了B8、一种文件处理方法,包括:
从服务端设备下载待升级软件对应的差量升级包,所述差量升级包是由所述服务端设备通过将待升级软件的原安装包及所述待升级软件对应的升级包进行比对,提取差异信息,并对从所述升级包中提取出的元数据和所述差异数据进行压缩处理后得到的;
获取所述待升级软件的原安装包;
根据所述待升级软件的原安装包和所述差量升级包,得到所述待升级软件的升级包;
根据所述升级包,对所述待升级软件进行升级。
B9、如B8所述的方法,其中,所述根据所述待升级软件的原安装包和所述差量升级包,得到所述待升级软件的升级包,包括:
对所述差量升级包进行解压处理,得到元数据及差量信息;
根据所述元数据和所述差量信息,对所述原安装包进行处理得到所述待升级软件的升级包。
B10、如B9所述的方法,其中,所述根据所述元数据和所述差量信息,对所述原安装包进行处理得到所述待升级软件的升级包,包括:
若所述差量信息中包含有所述原安装包中没有的数据A,则将所述数据A添加到所述原安装包中;
若所述差量信息中包含有文件名相同,但文件中包含的数据信息不同的数据B,则将所述原安装包中的数据B替换为所述差量信息中的数据B;
若所述差量信息中包含有差量配置信息,则根据所述差量配置信息中记录的将数据C被删除的操作,将所述原安装包中的数据C删除;
将所述元数据添加到所述原安装包中的元数据中,得到所述待升级软件的升级包。
本发明还公开了C11、一种服务端设备,包括:
获取模块,用于获取待升级软件的原安装包及所述待升级软件对应的升级包;
第一提取模块,用于提取所述升级包中的元数据;
第二提取模块,用于将所述原安装包与所述升级包进行比对,提取差异数据;
处理模块,用于对所述元数据和所述差异信息进行压缩处理,得到差量升级包。
C12、如C11所述的服务端设备,所述第二提取模块,包括:
第一解压单元,用于对所述原安装包进行解压缩处理,得到第一解压缩数据;
第二解压单元,用于对所述升级包进行解压缩处理,得到第二解压缩数据;
差异提取单元,用于将所述第一解压缩数据和所述第二解压缩数据进行比对;
若通过比对所述第二解压缩数据中包含有所述第一解压缩数据中没有的数据A,则将所述数据A作为差异数据并进行提取;
若通过比对所述第二解压缩数据中包含的数据B的信息与所述第一解压缩数据中的数据B的信息不同,则将所述第二解压缩数据中包含的数据B作为差异数据并进行提取;
若通过比对所述第二解压缩数据中不包含所述第一解压缩数据中的数据C,则将所述数据C被删除的操作记录保存到差异配置信息中,该所述差异配置信息作为差异数据并进行提取;
所述差异信息包含有至少一个所述差异数据。
C13、如C12所述的服务端设备,其中,所述第一解压单元,具体用于:
对所述原安装包进行解压缩处理;
判断解压缩处理后的所述原安装包是否还包含有压缩文件,若有,则对所述压缩文件进行解压缩处理,并继续对解压缩处理后的所述压缩文件进行判断,直至所述第一解压缩数据中不包含有压缩文件为止。
C14、如C12所述的服务端设备,其中,所述第二解压单元,具体用于:
对所述升级包进行解压缩处理;
判断解压缩处理后的所述升级包是否还包含有压缩文件,若有,则对所述压缩文件进行解压缩处理,并继续对解压缩处理后的所述压缩文件进行判断,直至所述第二解压缩数据中不包含有压缩文件为止。
C15、如C11~C14中任一项所述的服务端设备,其中,所述处理模块,具体用于;
采用固实压缩算法对所述元数据和所述差异数据进行压缩处理,得到差量升级包。
C16、如C11或C12所述的服务端设备,其中,所述处理模块,包括:
识别单元,用于识别所述元数据和所述差异信息中包含的所有差异数据的内容格式;
合并单元,用于将内容格式相同的数据合并为一个压缩单元,所述数据包括元数据和/或差异数据;
选定单元,用于根据各所述压缩单元包含的差异数据的内容格式,为各压缩单元选定对应的压缩算法;
压缩单元,用于分别采用各压缩单元对应的压缩算法,对各压缩单元进行压缩处理;
打包单元,将压缩处理后的各压缩单元进行打包处理,得到所述差量升级包。
C17、如C11所述的服务端设备,其中,所述获取模块,包括:
接收单元,用于接收用户终端发送的升级请求,所述升级请求携带有所述待升级软件的软件标识和版本信息;
第一获取单元,用于根据所述软件标识和版本信息,获取所述待升级软件的原安装包;
第二获取单元,用于根据所述软件标识和版本信息,获取具有所述软件标识,且版本信息高于所述待升级软件的版本信息的所述升级包。
本发明还公开了D18、一种移动设备,包括:
下载模块,用于从服务端设备下载待升级软件对应的差量升级包,所述差量升级包是由所述服务端设备通过将待升级软件的原安装包及所述待升级软件对应的升级包进行比对,提取差异信息,并对从所述升级包中提取出的元数据和所述差异数据进行压缩处理后得到的;
获取模块,用于获取所述待升级软件的原安装包;
处理模块,用于根据所述待升级软件的原安装包和所述差量升级包,得到所述待升级软件的升级包;
升级模块,用于根据所述升级包,对所述待升级软件进行升级。
D19、如D18所述的移动设备,其中,所述处理模块,包括:
解压单元,用于对所述差量升级包进行解压处理,得到元数据及差量信息;
处理单元,用于根据所述元数据和所述差量信息,对所述原安装包进行处理得到所述待升级软件的升级包。
D20、如D19所述的移动设备,其中,所述处理单元,具体用于:
当所述差量信息中包含有所述原安装包中没有的数据A时,将所述数据A添加到所述原安装包中;
当所述差量信息中包含有文件名相同,但文件中包含的数据信息不同的数据B时,将所述原安装包中的数据B替换为所述差量信息中的数据B;
当所述差量信息中包含有差量配置信息时,根据所述差量配置信息中记录的将数据C被删除的操作,将所述原安装包中的数据C删除;
将所述元数据添加到所述原安装包中的元数据中,得到所述待升级软件的升级包。
本发明还公开了E21、一种通信系统,包括:
上述的C11~C17中任一项所述的服务端设备;以及
上述的D18~D20中任一项所述的移动设备。
Claims (10)
1.一种文件处理方法,其特征在于,包括:
获取待升级软件的原安装包及所述待升级软件对应的升级包;
提取所述升级包中的元数据;
将所述原安装包与所述升级包进行比对,提取差异信息;
对所述元数据和所述差异信息进行压缩处理,得到差量升级包。
2.根据权利要求1所述的方法,其特征在于,所述将所述原安装包与所述升级包进行比对,提取差异信息,包括:
对所述原安装包进行解压缩处理,得到第一解压缩数据;
对所述升级包进行解压缩处理,得到第二解压缩数据;
将所述第一解压缩数据和所述第二解压缩数据进行比对;
若通过比对所述第二解压缩数据中包含有所述第一解压缩数据中没有的数据A,则将所述数据A作为差异数据并进行提取;
若通过比对所述第二解压缩数据中包含的数据B的信息与所述第一解压缩数据中的数据B的信息不同,则将所述第二解压缩数据中包含的数据B作为差异数据并进行提取;
若通过比对所述第二解压缩数据中不包含所述第一解压缩数据中的数据C,则将所述数据C被删除的操作记录保存到差异配置信息中,该所述差异配置信息作为差异数据并进行提取;
所述差异信息包含有至少一个所述差异数据。
3.根据权利要求1或2所述的方法,其特征在于,所述对所述元数据和所述差异信息进行压缩处理,得到差量升级包,具体为;
采用固实压缩算法对所述元数据和所述差异数据进行压缩处理,得到差量升级包。
4.一种文件处理方法,其特征在于,包括:
从服务端设备下载待升级软件对应的差量升级包,所述差量升级包是由所述服务端设备通过将待升级软件的原安装包及所述待升级软件对应的升级包进行比对,提取差异信息,并对从所述升级包中提取出的元数据和所述差异数据进行压缩处理后得到的;
获取所述待升级软件的原安装包;
根据所述待升级软件的原安装包和所述差量升级包,得到所述待升级软件的升级包;
根据所述升级包,对所述待升级软件进行升级。
5.根据权利要求4所述的方法,其特征在于,所述根据所述待升级软件的原安装包和所述差量升级包,得到所述待升级软件的升级包,包括:
对所述差量升级包进行解压处理,得到元数据及差量信息;
根据所述元数据和所述差量信息,对所述原安装包进行处理得到所述待升级软件的升级包;
其中,所述根据所述元数据和所述差量信息,对所述原安装包进行处理得到所述待升级软件的升级包,包括:
若所述差量信息中包含有所述原安装包中没有的数据A,则将所述数据A添加到所述原安装包中;
若所述差量信息中包含有文件名相同,但文件中包含的数据信息不同的数据B,则将所述原安装包中的数据B替换为所述差量信息中的数据B;
若所述差量信息中包含有差量配置信息,则根据所述差量配置信息中记录的将数据C被删除的操作,将所述原安装包中的数据C删除;
将所述元数据添加到所述原安装包中的元数据中,得到所述待升级软件的升级包。
6.一种服务端设备,其特征在于,包括:
获取模块,用于获取待升级软件的原安装包及所述待升级软件对应的升级包;
第一提取模块,用于提取所述升级包中的元数据;
第二提取模块,用于将所述原安装包与所述升级包进行比对,提取差异数据;
处理模块,用于对所述元数据和所述差异信息进行压缩处理,得到差量升级包。
7.根据权利要求6所述的服务端设备,其特征在于,所述第二提取模块,包括:
第一解压单元,用于对所述原安装包进行解压缩处理,得到第一解压缩数据;
第二解压单元,用于对所述升级包进行解压缩处理,得到第二解压缩数据;
差异提取单元,用于将所述第一解压缩数据和所述第二解压缩数据进行比对;
若通过比对所述第二解压缩数据中包含有所述第一解压缩数据中没有的数据A,则将所述数据A作为差异数据并进行提取;
若通过比对所述第二解压缩数据中包含的数据B的信息与所述第一解压缩数据中的数据B的信息不同,则将所述第二解压缩数据中包含的数据B作为差异数据并进行提取;
若通过比对所述第二解压缩数据中不包含所述第一解压缩数据中的数据C,则将所述数据C被删除的操作记录保存到差异配置信息中,该所述差异配置信息作为差异数据并进行提取;
所述差异信息包含有至少一个所述差异数据。
8.一种移动设备,其特征在于,包括:
下载模块,用于从服务端设备下载待升级软件对应的差量升级包,所述差量升级包是由所述服务端设备通过将待升级软件的原安装包及所述待升级软件对应的升级包进行比对,提取差异信息,并对从所述升级包中提取出的元数据和所述差异数据进行压缩处理后得到的;
获取模块,用于获取所述待升级软件的原安装包;
处理模块,用于根据所述待升级软件的原安装包和所述差量升级包,得到所述待升级软件的升级包;
升级模块,用于根据所述升级包,对所述待升级软件进行升级。
9.根据权利要求8所述的移动设备,其特征在于,所述处理模块,包括:
解压单元,用于对所述差量升级包进行解压处理,得到元数据及差量信息;
处理单元,用于根据所述元数据和所述差量信息,对所述原安装包进行处理得到所述待升级软件的升级包。
10.一种通信系统,其特征在于,包括:
上述权利要求6或7中任一项所述的服务端设备;以及
上述权利要求8或9中任一项所述的移动设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410776948.6A CN105760183A (zh) | 2014-12-15 | 2014-12-15 | 文件处理方法、装置及通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410776948.6A CN105760183A (zh) | 2014-12-15 | 2014-12-15 | 文件处理方法、装置及通信系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105760183A true CN105760183A (zh) | 2016-07-13 |
Family
ID=56336854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410776948.6A Pending CN105760183A (zh) | 2014-12-15 | 2014-12-15 | 文件处理方法、装置及通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105760183A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250148A (zh) * | 2016-08-01 | 2016-12-21 | 浪潮软件集团有限公司 | 一种基于ant的项目差量升级方法 |
CN107547239A (zh) * | 2016-10-27 | 2018-01-05 | 腾讯科技(深圳)有限公司 | 配置对象的更新方法及装置 |
CN109672534A (zh) * | 2017-10-16 | 2019-04-23 | 腾讯科技(深圳)有限公司 | 网络资源的处理方法、装置、存储介质和电子装置 |
CN109886015A (zh) * | 2019-02-27 | 2019-06-14 | 广州华多网络科技有限公司 | 应用程序的安装包的检测方法及装置 |
CN111258621A (zh) * | 2019-11-19 | 2020-06-09 | 浙江瑞银电子有限公司 | 一种固件差异化升级方法 |
CN112424747A (zh) * | 2018-05-29 | 2021-02-26 | 北欧半导体公司 | 具有反向数据的增量文件 |
CN117407031A (zh) * | 2023-11-27 | 2024-01-16 | 深圳麦风科技有限公司 | 补丁包升级文件生成方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102684705A (zh) * | 2012-05-30 | 2012-09-19 | 奇智软件(北京)有限公司 | 数据压缩方法及装置 |
CN102761339A (zh) * | 2012-05-30 | 2012-10-31 | 北京奇虎科技有限公司 | 数据压缩方法及装置 |
CN103647816A (zh) * | 2013-12-03 | 2014-03-19 | 北京奇虎科技有限公司 | 一种应用软件升级的方法及装置 |
CN103699408A (zh) * | 2013-12-12 | 2014-04-02 | 乐视网信息技术(北京)股份有限公司 | 一种软件升级的方法和设备 |
CN103713928A (zh) * | 2013-12-31 | 2014-04-09 | 优视科技有限公司 | 增量文件生成方法、应用程序安装文件更新方法及装置 |
-
2014
- 2014-12-15 CN CN201410776948.6A patent/CN105760183A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102684705A (zh) * | 2012-05-30 | 2012-09-19 | 奇智软件(北京)有限公司 | 数据压缩方法及装置 |
CN102761339A (zh) * | 2012-05-30 | 2012-10-31 | 北京奇虎科技有限公司 | 数据压缩方法及装置 |
CN103647816A (zh) * | 2013-12-03 | 2014-03-19 | 北京奇虎科技有限公司 | 一种应用软件升级的方法及装置 |
CN103699408A (zh) * | 2013-12-12 | 2014-04-02 | 乐视网信息技术(北京)股份有限公司 | 一种软件升级的方法和设备 |
CN103713928A (zh) * | 2013-12-31 | 2014-04-09 | 优视科技有限公司 | 增量文件生成方法、应用程序安装文件更新方法及装置 |
Non-Patent Citations (1)
Title |
---|
中国电脑教育报社编: "《中国电脑教育报2006年合订本》", 7 August 2006 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250148A (zh) * | 2016-08-01 | 2016-12-21 | 浪潮软件集团有限公司 | 一种基于ant的项目差量升级方法 |
CN107547239A (zh) * | 2016-10-27 | 2018-01-05 | 腾讯科技(深圳)有限公司 | 配置对象的更新方法及装置 |
CN109672534A (zh) * | 2017-10-16 | 2019-04-23 | 腾讯科技(深圳)有限公司 | 网络资源的处理方法、装置、存储介质和电子装置 |
CN109672534B (zh) * | 2017-10-16 | 2021-08-20 | 腾讯科技(深圳)有限公司 | 网络资源的处理方法、装置、存储介质和电子装置 |
CN112424747A (zh) * | 2018-05-29 | 2021-02-26 | 北欧半导体公司 | 具有反向数据的增量文件 |
CN109886015A (zh) * | 2019-02-27 | 2019-06-14 | 广州华多网络科技有限公司 | 应用程序的安装包的检测方法及装置 |
CN111258621A (zh) * | 2019-11-19 | 2020-06-09 | 浙江瑞银电子有限公司 | 一种固件差异化升级方法 |
CN111258621B (zh) * | 2019-11-19 | 2022-08-02 | 浙江瑞银电子有限公司 | 一种固件差异化升级方法 |
CN117407031A (zh) * | 2023-11-27 | 2024-01-16 | 深圳麦风科技有限公司 | 补丁包升级文件生成方法、装置、设备及存储介质 |
CN117407031B (zh) * | 2023-11-27 | 2024-04-26 | 深圳麦风科技有限公司 | 补丁包升级文件生成方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105760183A (zh) | 文件处理方法、装置及通信系统 | |
CN106815370B (zh) | 更新资源文件的方法、装置和系统 | |
CN102523268B (zh) | 一种客户端升级方法和系统 | |
CN105867947B (zh) | 预置应用程序升级后的数据处理方法及装置 | |
CN102129378B (zh) | 一种软件菜单更新方法和装置 | |
JP5658283B2 (ja) | アプリケーションの稼働方法、装置及びシステム | |
KR102281052B1 (ko) | 이동 단말 애플리케이션 업데이트 방법 및 장치 | |
CN106598673B (zh) | 一种应用程序升级方法及系统 | |
US9792623B2 (en) | Advertisement processing method and apparatus | |
CN105302587B (zh) | 数据更新方法及装置 | |
CN108650287B (zh) | 物联网中的终端设备的升级方法、设备及计算机可读介质 | |
CN107305553B (zh) | 一种基于Hybrid App中动态跳转Hybrid页面的方法及系统 | |
CN103123588A (zh) | 一种获取差分升级补丁的方法及系统 | |
US20140109066A1 (en) | Testing framework for applications | |
CN107798064B (zh) | 页面处理方法、电子设备及计算机可读存储介质 | |
CN106897052B (zh) | Apk文件压缩方法及装置 | |
CN112149035A (zh) | 网站静态资源处理方法及装置 | |
CN105740298A (zh) | 文件处理方法、装置及服务端设备 | |
US10938773B2 (en) | Method and apparatus for synchronizing contact information and medium | |
US10922064B2 (en) | Method, device and user terminal for software installation | |
CN111176706A (zh) | 终端升级方法、装置、电子设备及存储介质 | |
CN104572212A (zh) | 一种终端更新系统及其更新方法 | |
CN111556127B (zh) | 一种可穿戴设备升级方法及相关设备 | |
CN102377793A (zh) | 基于移动通讯设备终端的Flash交互方法及装置 | |
CN108459861B (zh) | 一种软件安装方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160713 |
|
RJ01 | Rejection of invention patent application after publication |