文件增量升级方法及系统的制作方法_2

文档序号:9453074阅读:来源:国知局
头信息;
[0047]S220:根据所读取的ZIP数据头信息,判断该APK文件是否满足文件过滤条件,如果满足进入步骤S230,否则进入步骤S240。
[0048]具体地,如何判断APK文件是否满足文件过滤条件已在上述第一流程中详细说明,在此不再赘述。
[0049]S230:对整个APK文件进行MD5计算,以得到该APK文件的APK特征值,然后进入S250o
[0050]S240:利用ZIP数据头信息进行MD5计算得到APK文件的APK特征值。即只对ZIP数据头信息进行MD5计算以得到APK文件的APK特征值。
[0051]S250:根据APK特征值选择与其对应的APK base文件进行增量升级。
[0052]通过图1和图2所示的流程可以看出,本发明提供的文件增量升级方法,通过对所读取的APK文件的ZIP数据信息进行计算获取APK文件的APK特征值,然后再根据所获取的APK特征值对与该APK特征值对应的APK base文件进行增量升级,能够在降低获取APK特征值计算量的同时,提高增量升级的效率。
[0053]下述以示例的方式说明本发明提供的文件增量升级方法所带来的有益效果。
[0054]示例 I
[0055]现有三个APK文件,其版本分别为9.7.0,9.7.1和8.9,那么在读取这三个APK文件的ZIP数据信息之后,可以根据读取的ZIP数据信息明确过滤掉8.9版本,这是因为8.9版本与9.7.0和9.7.1版本很明显不一样。
[0056]再假设9.7.0版本增加不同的发行渠道后变为9.7.0-1——9.7.0-100 ;而9.7.1版本增加不同的发行渠道后变为9.7.1-1—9.7.1-100,而这些版本都需要升级到9.8.0。根据传统的方法在做增量升级时就需要计算202个APK特征值,进而与其对应的APK base文件也就有202个,需要针对不同的base文件生成增量差异的文件就有202个,这对于后台维护的工作量是巨大的。
[0057]而采用本发明所提供的文件增量升级方法就只需计算2个APK文件(即版本9.7.0和版本9.7.1)的APK特征值,那么其对应的APK base文件也就只有2个,那么针对不同的base文件生成增量差异的文件也就只有2个。
[0058]在实际应用中根据对浏览器的经验调查可知,APK文件的发行渠道数量接近I万,也就是如果有两个版本需要做增量升级时,则需要生成2万多个差异文件。采用本发明提供的文件增量升级方法以后,一个版本对应一个差异文件,其不再和渠道发行数量有关。因而如果有两个版本需要做增量升级时,只需要生成2个差异文件即可,如此能够在降低获取APK特征值计算量的同时,提高增量升级的效率。
[0059]示例2
[0060]以Android推广发行为例,如果使用传统方法对整个APK文件计算特征值,那么在一个版本有上百个渠道包时,如果要做增量升级,必须维护几百个增量的原文件,因而增量升级的后台维护的工作量是巨大的。
[0061]假设现有近3000个APK文件,同版本的渠道推广包和官网基础包只有4个文件是不一样的,因而将这4个文件的文件名就作为过滤条件。使用了本发明中描述的方法,排除固定的4个差异文件,各个渠道包和官网基础包的特征值计算出来都是一样的,增量升级时只需要维护一个增量原文件,差异的4个文件固定的当新增的文件做增量处理就能解决这个问题。
[0062]通过本发明提供的文件增量升级方法能够使增量升级的覆盖率从原来的不足10%左右提升到现在的接近70%。从效率方面来考虑,对整个文件求特征值计算的数据量在13M左右,对ZIP数据头信息求特征值计算数据量在300K左右,可以很大的提升特征值的计算效率。如果对一个50M的APK文件的所有数据做一次MD5计算,在中档的手机上需要2秒左右,而采用本发明提供的方法则大概在0.8秒左右,这无疑也能提高APK特征值的计算效率,进而提高增量升级的效率。
[0063]与上述方法相对应,本发明还提供一种文件增量升级系统。其中图3示出了根据本发明实施例的文件增量升级系统的第一逻辑结构。
[0064]如图3所示,本发明提供的文件增量升级系统300包括信息读取单元310、特征值获取单元320和增量升级单元330。
[0065]其中,信息读取单元310用于读取APK文件的ZIP数据信息,ZIP数据信息为ZIP数据头或者ZIP目录表。
[0066]具体地,由于ZIP数据头和ZIP目录表中都存储了类似的APK文件的原始信息,因此不管利用ZIP数据头还是利用ZIP目录表都能够准确计算出表示整个APK文件特性的特征值,因此在实际应用中,选择其一即可。
[0067]特征值获取单元320用于根据信息读取单元310所读取的ZIP数据信息获取APK文件的APK特征值。
[0068]另外,在根据所读取的ZIP数据信息获取APK文件的APK特征值之前,需要对上述APK文件进行判断,以确定其是否满足文件过滤条件。即本发明提供的文件增量升级系统还包括过滤单元340。图4示出了根据本发明实施例的文件增量升级系统的第二逻辑结构。如图4所示,本发明所提供的文件增量升级系统300进一步包括:过滤单元340用于根据信息读取单元310所读取的ZIP数据信息,对APK文件进行过滤以获取过滤的APK文件,根据过滤的APK文件的ZIP数据信息获取过滤的APK文件的APK特征值。其中,特征值获取单元320在根据信息读取单元所读取的ZIP数据信息获取APK文件的APK特征值的过程中,通过MD5或者SHA-1算法对信息读取单元310所读取的ZIP数据信息进行计算获取APK文件的APK特征值。
[0069]也就是说,在获取APK文件的APK特征值之前,需要对上述APK文件进行判断,以确定其是否满足文件过滤条件。即根据所读取的ZIP数据信息对上述APK文件进行过滤获取过滤的APK文件。其中,过滤单元340在对APK文件进行过滤以获取过滤的APK文件的过程中,如果未获取到过滤的APK文件,则通过MD5或者SHA-1算法对整个APK文件进行计算获取APK文件的APK特征值。
[0070]即:如果该APK文件满足文件过滤条件,则采用传统的方法对整个APK文件进行MD5或者SHA-1计算以得到该APK文件的APK特征值;如果该APK文件不满足文件过滤条件,则对所读取的ZIP数据信息进行MD5或者SHA-1计算以获取该APK文件的APK特征值,其中,不满足文件过滤条件的APK文件即为过滤的APK文件。
[0071 ] 其中,过滤单元340在对APK文件进行过滤获取过滤的APK文件的过程中,根据信息读取单元310所读取的ZIP数据信息所包含的文件名对APK文件进行过滤获取过滤的APK文件。
[0072]增量升级单元330用于根据特征值获取单元所获取的APK特征值对与APK特征值对应的APK base文件进行增量升级。
[0073]如上参照附图以示例的方式描述了根据本发明的文件增量升级方法及系统。但是,本领域技术人员应当理解,对于上述本发明所提出的文件增量升级方法及系统,还可以在不脱离本
【发明内容】
的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。
【主权项】
1.一种文件增量升级方法,包括: 读取APK文件的ZIP数据信息,其中,所述ZIP数据信息为ZIP数据头或者ZIP目录表; 根据所读取的ZIP数据信息获取所述APK文件的APK特征值; 根据所述APK特征值对与所述APK特征值对应的APK base文件进行增量升级。2.如权利要求1所述的文件增量升级方法,其中,所述根据所读取的ZIP数据信息获取所述APK文件的APK特征值的步骤包括: 根据所读取的ZIP数据信息,对所述APK文件进行过滤以获取过滤的APK文件; 根据所述过滤的APK文件的ZIP数据信息获取所述过滤的APK文件的APK特征值。3.如权利要求2所述的文件增量升级方法,其中,在对所述APK文件进行过滤获取过滤的APK文件的过程中, 根据所读取的ZIP数据信息所包含的文件名对所述APK文件进行过滤获取过滤的APK文件。4.如权利要求2所述的文件增量升级方法,其中,在对所述APK文件进行过滤以获取过滤的APK文件的过程中, 如果未获取到过滤的APK文件,则通过MD5或者SHA-1算法对整个APK文件进行计算获取所述APK文件的APK特征值。5.如权利要求1所述的文件增量升级方法,其中,在根据所读取的ZIP数据信息获取所述APK文件的APK特征值的过程中, 通过MD5或者SHA-1算法对所读取的ZIP数据信息进行计算获取所述APK文件的APK特征值。6.一种文件增量升级系统,包括: 信息读取单元,用于读取APK文件的ZIP数据信息,其中,所述ZIP数据信息为ZIP数据头或者ZIP目录表; 特征值获取单元,用于根据所述信息读取单元所读取的ZIP数据信息获取所述APK文件的APK特征值; 增量升级单元,用于根据所述特征值获取单元所获取的APK特征值对与所述APK特征值对应的APK base文件进行增量升级。7.如权利要求6所述的文件增量升级系统,还包括, 过滤单元,用于根据所述信息读取单元所读取的ZIP数据信息,对所述APK文件进行过滤以获取过滤的APK文件,根据所述过滤的APK文件的ZIP数据信息获取所述过滤的APK文件的APK特征值。8.如权利要求7所述的文件增量升级系统,其中,所述过滤单元在对所述APK文件进行过滤获取过滤的APK文件的过程中, 根据所述信息读取单元所读取的ZIP数据信息所包含的文件名对所述APK文件进行过滤获取过滤的APK文件。9.如权利要求7所述的文件增量升级系统,其中, 所述过滤单元在对所述APK文件进行过滤获取过滤的APK文件的过程中, 如果所述过滤单元未获取到过滤的APK文件,则通过MD5或者SHA-1算法对整个APK文件进行计算获取所述APK文件的APK特征值。10.如权利要求6所述的文件增量升级系统,其中,所述特征值获取单元在根据所述信息读取单元所读取的ZIP数据信息获取所述APK文件的APK特征值的过程中, 通过MD5或者SHA-1算法对所述信息读取单元所读取的ZIP数据信息进行计算获取所述APK文件的APK特征值。
【专利摘要】本发明提供一种文件增量升级方法及系统,其中的方法包括:读取APK文件的ZIP数据信息,其中,该ZIP数据信息为ZIP数据头或者ZIP目录表;根据所读取的ZIP数据信息获取APK文件的APK特征值;根据APK特征值对与APK特征值对应的APK?base文件进行增量升级。通过本发明能够在降低获取APK特征值计算量的同时,提高增量升级的效率。
【IPC分类】G06F17/30
【公开号】CN105205074
【申请号】CN201410291429
【发明人】孙晓治
【申请人】优视科技有限公司
【公开日】2015年12月30日
【申请日】2014年6月25日
【公告号】WO2015196623A1
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1