一种数据更新方法、装置及系统的制作方法

文档序号:8339417阅读:183来源:国知局
一种数据更新方法、装置及系统的制作方法
【技术领域】
[0001]本发明涉及计算机数据更新技术领域,尤其涉及一种数据更新方法、装置及系统。
【背景技术】
[0002]在实际应用开发中,Hybrid App (混合应用)是一种介于Native App (本地应用)与Web App (网络应用)之间的一种App (应用),更容易被开发者接受。它从外观看起来和Native App无异,但它兼有Native App和Web App的优点,总体特性更接近Native App,而和Web App区别较大。虽然它的核心只有一个Web容器,但是通过这个容器加载的Web页面能够借助这个容器和本地进行信息交互,从而调用底层的功能实现复杂的功能,弥补了 WebApp能力上的缺陷。
[0003]Hybrid App通过Web容器加载的Web页面有更高的灵活性,对于版本的更新控制也更加简便。但是由于Hybrid App存在离线使用的需求,大部分Hybrid App会把这些Web端的文件存放在本地,而通过一个渠道来获取新版本的文件,将新版本的文件存放到本地完成更新的过程。通过资源包的方式来进行版本的更新就是其中的一种。
[0004]在目前的资源包更新过程中,需要更新的文件所对应的新版本资源包可以放在Q)N (Content Delivery Network,内容分发网络)上,App可以通过下载的方式下载得到新版本资源包,解压后得到新版本文件覆盖本地的原文件即可完成文件更新。
[0005]现有技术中,App需要下载包括新版本文件的所有内容的资源包,这会占用更新端当前较多的网络带宽,并且会消耗较多的时间来完成下载。

【发明内容】

[0006]本发明实施例提供一种数据更新方法、装置及系统,可在对带宽要求较低的情况下较快地完成数据更新。
[0007]为了解决上述问题,本发明实施例提供了一种数据更新方法,包括:
[0008]当接收到新版本资源包后,根据差分算法计算新版本资源包与存储的各历史版本资源包的差分部分,将差分部分作为各历史版本资源包的增量差分包;
[0009]存储各增量差分包,并记录各历史版本资源包的包标识与对应增量差分包存储地址的映射关系;
[0010]若接收到携带待更新版本资源包标识的更新请求,确定与所述待更新版本资源包标识的标识值相同的历史版本资源包的包标识;
[0011]根据确定的包标识查找增量差分包存储地址,并响应所述更新请求返回查找到的增量差分包存储地址。
[0012]相应地,本发明实施例还提供了另一种数据更新方法,包括:
[0013]在检测到对本端的待更新文件进行更新时,生成该待更新文件的待更新版本资源包标识;
[0014]向服务端发送更新请求,所述更新请求中携带待更新文件的版本信息和待更新版本资源包标识;
[0015]接收所述服务端根据所述更新请求中的版本信息和包标识返回的资源包存储地址,根据该资源包存储地址发起下载请求以获取资源包,并根据获取的资源包更新所述待更新文件;
[0016]其中,接收到的资源包存储地址包括增量差分包存储地址或新版本资源包存储地址,所述增量差分包是所述服务端根据差分算法计算服务端中所述待更新文件对应的新版本资源包与存储的各历史版本资源包的差分部分。
[0017]相应地,本发明实施例还提供了一种数据更新装置,包括:
[0018]计算模块,用于当接收到新版本资源包后,根据差分算法计算新版本资源包与存储的各历史版本资源包的差分部分,将差分部分作为各历史版本资源包的增量差分包;
[0019]存储模块,用于存储各增量差分包,并记录各历史版本资源包的包标识与对应增量差分包存储地址的映射关系;
[0020]处理模块,用于若接收到携带待更新版本资源包标识的更新请求,确定与所述待更新版本资源包标识的标识值相同的历史版本资源包的包标识;根据确定的包标识查找增量差分包存储地址,并响应所述更新请求返回查找到的增量差分包存储地址。
[0021]相应地,本发明实施例还提供了另一种数据更新装置,包括:
[0022]生成模块,用于在检测到对本端的待更新文件进行更新时,生成该待更新文件的待更新版本资源包标识;
[0023]请求模块,用于向服务端发送更新请求,所述更新请求中携带待更新文件的版本信息和待更新版本资源包标识;
[0024]处理模块,用于接收所述服务端根据所述更新请求中的版本信息和包标识返回的资源包存储地址,根据该资源包存储地址发起下载请求以获取资源包;
[0025]更新模块,用于根据获取的资源包更新所述待更新文件;
[0026]其中,接收到的资源包存储地址包括增量差分包存储地址或新版本资源包存储地址,所述增量差分包是所述服务端根据差分算法计算服务端中所述待更新文件对应的新版本资源包与存储的各历史版本资源包的差分部分。
[0027]相应地,本发明实施例还提供了一种数据处理系统,包括:服务端和更新端,其中,
[0028]所述服务端,用于当接收到新版本资源包后,根据差分算法计算新版本资源包与存储的各历史版本资源包的差分部分,将差分部分作为各历史版本资源包的增量差分包;存储各增量差分包,并记录各历史版本资源包的包标识与对应增量差分包存储地址的映射关系;
[0029]所述更新端,用于向所述服务端发送更新请求,所述更新请求中包括待更新版本资源包标识;
[0030]所述服务端,还用于若接收到携带待更新版本资源包标识的更新请求,确定与所述待更新版本资源包标识的标识值相同的历史版本资源包的包标识;根据确定的包标识查找增量差分包存储地址,并响应所述更新请求返回查找到的增量差分包存储地址;
[0031]所述更新端,还用于根据所说返回的增量差分包存储地址发出下载请求下载增量差分包,以对待更新文件的资源包进行更新。
[0032]本发明实施例可以在发布对目标应用相应文件进行更新的新版本资源包时,能够得到新版本与各历史版本的差分部分的增量差分包,并根据映射存储的方式实现在用户需要对相应文件进行更新时,能够仅将其中不同的部分给更新端,减少了更新所需的数据量,有利于快速下载,节省带宽资源以及能耗,节约了用户的下载时间。
【附图说明】
[0033]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0034]图1是本发明实施例的一种数据更新方法的流程示意图;
[0035]图2是本发明实施例的另一种数据更新方法的流程示意图;
[0036]图3是本发明实施例的再一种数据更新方法的流程示意图;
[0037]图4是本发明实施例的又一种数据更新方法的流程示意图;
[0038]图5是本发明实施例的一种数据更新系统的结构示意图;
[0039]图6是本发明实施例的一种数据更新装置的结构示意图;
[0040]图7是本发明实施例的另一种数据处理装置的结构示意图;
[0041]图8是图7中的存储模块的其中一种具体结构示意图;
[0042]图9是图7中的处理模块的其中一种具体结构示意图;
[0043]图10是本发明实施例的再一种数据更新装置的结构示意图;
[0044]图11是本发明实施例的又一种数据更新装置的结构示意图;
[0045]图12是图11中的更新模块的其中一种具体结构示意图。
【具体实施方式】
[0046]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0047]请参见图1,是本发明实施例的一种数据更新方法的流程示意图,本发明实施例的所述方法可应用在服务器端,例如各类可提供数据更新服务应用服务器或者数据服务器中,实现对诸如用户终端或者其他服务器的更新端中相关数据的更新,具体的,所述方法包括:
[0048]SlOl:当接收到新版本资源包后,根据差分算法计算新版本资源包与存储的各历史版本资源包的差分部分,将差分部分作为各历史版本资源包的增量差分包。
[0049]当应用开发者对原应用有更新时,可通过服务端发布新版本资源包的形式实现对更新端中的相关数据的更新。所述的新版本资源包包括对新版本中各个文件数据进行压缩后得到的一个压缩包,例如:将新版本文件中的HTML (Hypertext Markup Language,超文本标记语言)对应数据、JS (JavaScript,一种原型化继承的面向对象的动态类型的客户端脚本语言)对应数据、CSS (Cascading Style Sheet,级联样式表)对应数据、Image (图片)对应数据等压缩后得到的压缩包。
[0050]在本发明实施例中,服务端在接收到开发者上传的新版本资源包或者其他方式接收到的新版本资源包后,根据预置的差分算法(如二进制差分算法)对新版本资源包与本地存储的各个历史版本资源包进行计算处理,将计算得到的各历史版本资源包的差分部分作为各历史版本资源包相对于新版本资源包的增量差分包。所述增量差分包中包括了历史版本资源包与新版本资源包中不同的部分,其数据量会明显小于新版本资源包的数据量。具体的,二进制差分算法为对两个文件的二进制进行对比,将其差分的部分提取出来进行压缩,成为一个差分包的算法,具体实现可参考开源组件bsdiff (Bina
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1