一种手机客户端软件的资源加密更新方法与流程

文档序号:12597735阅读:516来源:国知局

本发明涉及数据更新技术领域,尤其是一种手机客户端软件的资源加密更新方法。



背景技术:

随着手机硬件技术的发展,智能手机中运行的软件越来越复杂。智能手机中的软件需要进行不断的更新。中国发明专利CN 102054045 B公开了一种电子装置的资源更新系统及方法,可以高效更新电子装置中的资源文件,减少服务器的负载。但是,这种软件更新方法在运行时,软件无法正常运行,必须等待更新完成后才能重新开始运行,使用起来不方便。



技术实现要素:

本发明要解决的技术问题是提供一种手机客户端软件的资源加密更新方法,能够解决现有技术的不足,降低了软件更新对于软件正常使用的影响。

为解决上述技术问题,本发明所采取的技术方案如下。

一种手机客户端软件的资源加密更新方法,包括以下步骤:

A、服务器端将需要更新数据压缩至一个压缩文件中,同时编制出压缩文件内容的索引文件和MD5码;

B、手机客户端运行软件,与服务器端进行通讯连接,获取压缩文件的MD5码,与手机客户端内相应的资源文件的MD5码进行比对,若MD5码相同,则结束更新步骤,若MD5码不相同,则进行下述步骤;

C、手机客户端获取索引文件,确定需要更新的文件列表;

D、手机客户端在运行软件的同时,根据文件列表从服务器端进行文件的下载,手机客户端将下载的文件分为两类,将需要对手机客户端软件内相应原文件进行替换的下载文件标记为一类文件,将需要添加至手机客户端软件中的下载文件标记为二类文件;

E、将二类文件直接添加至手机客户端软件的相应位置;在手机客户端内设置一个缓冲区用于一类文件的替换,对于未被软件调用的与一类文件对应的原文件,将其存入缓冲区,然后使用与其对应的一类文件将其替换,对于正在被软件调用的与一类文件对应的原文件,建立若干个一类文件与原文件之间的映射关系,不同的映射关系之间为串联关系,相邻的两个映射关系之间设置有中间文件,从与原文件最接近的中间文件开始,依次使用中间文件依次对原文件位置上的文件进行替换,将替换下来的文件存入缓冲区;

F、当文件替换过程中出现错误,使用缓冲区的文件进行文件的还原;

G、对更新后的文件重新计算MD5码,若更新后的MD5码与服务器端发送的MD5码相同,结束更新过程,若不同,则从步骤C开始重新循环 执行。

作为优选,步骤A中,索引文件包括若干个文件特征关键字和文件地址指针,不同文件特征关键字所代表的文件块之间设置有文件地址指针。

作为优选,文件特征关键字包括文件块范围标记和校验模块,手机客户端下载文件时,通过文件块范围标记直接确定下载区间,下载结束后通过校验模块对文件完整性进行检验。

作为优选,所述文件地址指针为双向映射关系,选取文件特征关键字之间最短路径作为文件地址指针的映射主方向,不同下载区间之间跳转首选映射主方向。

作为优选,步骤D中,手机客户端优先下载软件正在调用部分的更新文件。

作为优选,所述缓冲区为堆栈结构,在使用缓冲区的文件进行还原时,同时使用堆栈结构顶部的至少两个文件进行还原操作。

采用上述技术方案所带来的有益效果在于:本发明提高了更新资源的保密性,便于动态进行资源的更新,更新效率高,对于CPU的占用率较小。本发明通过改进资源文件的更新步骤,实现了软件运行和软件更新的同步进行,并且更新过程效率高,不会给CPU的多线程运算带来较大的压力。

具体实施方式

一种手机客户端软件的资源加密更新方法,其特征在于包括以下步骤:

A、服务器端将需要更新数据压缩至一个压缩文件中,同时编制出压缩文件内容的索引文件和MD5码;索引文件包括若干个文件特征关键字和文件地址指针,不同文件特征关键字所代表的文件块之间设置有文件地址指针,文件特征关键字包括文件块范围标记和校验模块,手机客户端下载文件时,通过文件块范围标记直接确定下载区间,下载结束后通过校验模块对文件完整性进行检验,所述文件地址指针为双向映射关系,选取文件特征关键字之间最短路径作为文件地址指针的映射主方向,不同下载区间之间跳转首选映射主方向;

B、手机客户端运行软件,与服务器端进行通讯连接,获取压缩文件的MD5码,与手机客户端内相应的资源文件的MD5码进行比对,若MD5码相同,则结束更新步骤,若MD5码不相同,则进行下述步骤;

C、手机客户端获取索引文件,确定需要更新的文件列表;

D、手机客户端在运行软件的同时,根据文件列表从服务器端进行文件的下载,手机客户端将下载的文件分为两类,将需要对手机客户端软件内相应原文件进行替换的下载文件标记为一类文件,将需要添加至手机客户端软件中的下载文件标记为二类文件;手机客户端优先下载软件 正在调用部分的更新文件;

E、将二类文件直接添加至手机客户端软件的相应位置;在手机客户端内设置一个缓冲区用于一类文件的替换,所述缓冲区为堆栈结构,对于未被软件调用的与一类文件对应的原文件,将其存入缓冲区,然后使用与其对应的一类文件将其替换,对于正在被软件调用的与一类文件对应的原文件,建立若干个一类文件与原文件之间的映射关系,不同的映射关系之间为串联关系,相邻的两个映射关系之间设置有中间文件,从与原文件最接近的中间文件开始,依次使用中间文件依次对原文件位置上的文件进行替换,将替换下来的文件存入缓冲区;替换时,在手机客户端运行内存中建立一个镜像区,在镜像区内建立一个替换前的运行程序镜像,将中间文件逐个读入运行内存中,实现调用文件的替换,在运行内存中,中间文件的运行优先级高于镜像区的程序文件;

F、当文件替换过程中出现错误,使用缓冲区的文件进行文件的还原,在使用缓冲区的文件进行还原时,同时使用堆栈结构顶部的至少两个文件进行还原操作;

G、对更新后的文件重新计算MD5码,若更新后的MD5码与服务器端发送的MD5码相同,结束更新过程,若不同,则从步骤C开始重新循环执行。

本发明与现有技术相比,可以减少80%~90%的程序更新时间,更新过 程中对于CPU的占用率平均降低20%以上,更新过程安全性高,更新结果准确性高。

以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1