【技术实现步骤摘要】
本专利技术涉及计算机
,尤其涉及一种客户端程序增量更新的方法及系统。
技术介绍
随着智能客户端的发展,各种适用于客户端的程序应运而生。一般的程序都具备自动更新功能,通常是一个更新版本对应一个服务器上的更新包,程序更新时客户端将该更新包下载下来,然后进行覆盖替换,完成更新。但是如果这个版本更新的内容较多,则对应的更新包就会比较大,需要耗费大量的时间来下载更新包,用户体验感较差。公开号为CN104899057A的中国专利提出了一种软件模块的更新方法,包括:加载的软件模块的多个访问请求进行序列化处理,得到序列化后的请求队列,其中,所述多个访问请求包括用于指示对所述软件模块进行更新的更新请求;由单一的线程依次从所述序列化后的请求队列中读取访问请求;当读取的访问请求是所述更新请求时,由所述单一的线程卸载所述软件模块,并重新加载更新后的所述软件模块。该方案通过对软件进行模块化更新,从而提高软件的更新速度,但是该方案对各个模块的更新仍是使用现有的支架下载全部更新包的方式,因此,当更新内容较多时,各模块的更新包仍比较大,下载时间较长。
技术实现思路
本专利技术所要解决的技术问题是:提供一种客户端程序增量更新的方法及系统,能够快速更新程序的各个模块。为了解决上述技术问题,本专利技术采用的技术方案为:一种客户端程序增量更新的方法,包括:将客户端的程序拆分成两个以上的模块;服务端计算新旧版本的模块的文件包的差异,生成包括更新操作列表和对应更新文件的增量更新包;客户端依据模块的名称获取服务端上的模块的最新版本号;若所述最新版本号与客户端的模块的版本号不同,则客户端依据所述名称 ...
【技术保护点】
一种客户端程序增量更新的方法,其特征在于,包括:将客户端的程序拆分成两个以上的模块;服务端计算新旧版本的模块的文件包的差异,生成包括更新操作列表和对应更新文件的增量更新包;客户端依据模块的名称获取服务端上的模块的最新版本号;若所述最新版本号与客户端的模块的版本号不同,则客户端依据所述名称和最新版本号获取所述模块所需的增量更新包;解压所述增量更新包,得到更新文件和更新操作列表;若所述更新操作列表中的操作类型是增量更新,则将所述更新文件与所述模块的原文件进行差异计算,生成新的更新文件,并将新的更新文件保存至客户端预设的临时目录下;将所述临时目录文件覆盖到客户端的程序目录中。
【技术特征摘要】
1.一种客户端程序增量更新的方法,其特征在于,包括:将客户端的程序拆分成两个以上的模块;服务端计算新旧版本的模块的文件包的差异,生成包括更新操作列表和对应更新文件的增量更新包;客户端依据模块的名称获取服务端上的模块的最新版本号;若所述最新版本号与客户端的模块的版本号不同,则客户端依据所述名称和最新版本号获取所述模块所需的增量更新包;解压所述增量更新包,得到更新文件和更新操作列表;若所述更新操作列表中的操作类型是增量更新,则将所述更新文件与所述模块的原文件进行差异计算,生成新的更新文件,并将新的更新文件保存至客户端预设的临时目录下;将所述临时目录文件覆盖到客户端的程序目录中。2.根据权利要求1所述的客户端程序增量更新的方法,其特征在于,服务端生成增量更新包后,依据所述更新操作列表和对应更新文件生成最新版本的完整文件,并将所述完整文件保存至服务端预设的修复目录下。3.根据权利要求2所述的客户端程序增量更新的方法,其特征在于,所述更新操作列表包括对应更新文件的哈希值;生成新的更新文件之后,将新的更新文件保存至临时目录下之前,进一步包括:客户端判断新的更新文件的哈希值与更新操作列表的哈希值是否相同;若相同,则将所述新的更新文件保存至客户端的临时目录下;若不同,则从所述修复目录中获取所述完整文件,将所述完整文件作为新的更新文件保存至所述临时目录下。4.根据权利要求2所述的客户端程序增量更新的方法,其特征在于,服务端将所述完整文件保存至修复目录下之后,生成所述模块的更新检测地址、更新下载地址以及修复下载地址,所述更新检测地址用于指向所述模块的最新版本号,所述更新下载地址用于指向所述增量更新包,所述修复下载地址用于指向所述完整文件。5.根据权利要求4所述的客户端程序增量更新的方法,其特征在于,客户端以所述模块的名称和当前版本号为参数,通过所述更新检测地址从服务端获取最新版本号,通过所述更新下载地址从服务端获取增量更新包,通过所述修复下载地址从服务端获取完整文件。6.根据权利要求1所述的客户端程序增量更新的方法,其特征在于,服务端计算新旧版本的模块的文件包的差异,生成包括更新操作列表和对应更新文件的增量更新包,具体为:服务端遍历比较新旧版本的模块的文件包;若新版本的模块的文件包新增了文件,则设置更新操作列表中的操作类型为新增文件,将新增的文件作为更新文件,生成包括所述更新操作列表和更新文件的增量更新包;若新版本的模块的文件包删除了文件,则设置更新操作列表中的操作类型为删除文件,生成包括所述更新操作列表的增量更新包;若新版本的模块的文件包和旧版本的模块的文件包中的文件同名但文件内容不同,则设置更新操作列表中的操作类型为增量更新,对所述文件内容进行差异计算,生成增量更新文件,将增量更新文件作为更新文件,生成包括所述更新操作列表和更新文件的增量更新包。7.根据权利要求6所述的客户...
【专利技术属性】
技术研发人员:刘德建,胡彬,方振华,郭玉湖,
申请(专利权)人:福建天泉教育科技有限公司,
类型:发明
国别省市:福建;35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。