Widget更新方法、系统、Widget客户端及Widget服务器技术方案

技术编号:5138312 阅读:338 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种Widget更新方法、系统、Widget客户端及Widget服务器。该方法包括:Widget客户端向Widget服务器发送更新请求;所述Widget服务器接收所述更新请求后,提取所述Widget客户端的当前版本应用包与最新版本应用包,并进行比较;所述Widget服务器构造响应体并发送给所述Widget客户端,所述响应体包括根据比较结果及预置的更新策略构造的更新文档;所述Widget客户端接收所述响应体,并根据所述更新文档进行更新。本发明专利技术可以实现部分更新,提高更新效率。

【技术实现步骤摘要】

本专利技术涉及通信技术,尤其涉及一种移动终端的Widget技术。
技术介绍
Widget (微技)是一种小型的Web应用程序,与普通网页一样使用现有的标准 Web 技术开发,包括 HTML(HyperText Mark-up Language,超文本标记语言)、CSS(cading Style Sheet,级联样式表,是一组格式设置规则)、JavaScript ( 一种客户端脚本语言)、 XML (Extensible Markup Language,可扩展标记语言)禾口 Ajax (Asynchronous JavaScript and XML,异步JavaScript和XML)等。与普通网页的最显著区别就是,它不依赖于浏览器 显示框架,且被设计为具有特定的功能,如股票、天气预报、时钟、游戏等。由于Widget具备小巧轻便、功能完整、个性化形式多样等优势,因此已被应用到 移动终端领域,增强用户体验,提供高性价比的服务。而且Widget应用具有另一个特点—— 可更新性。即使Widget应用已经发布,也允许开发者不断地完善Widget应用,修复之前版 本的缺陷,或添加更多的功能。用户则可以下载最新的Widget应用,得到最新的、更合理的 体验。发布Widget应用时,是将该应用的所有本地文件,如javascript脚本或图片,遵 从zip ( —种文件格式)标准,使用deflate算法(一种计算机文件的压缩算法)或存储方 法打包整合起来,形成一个zip压缩文件,通常以.wgt为后缀名,如图1所示。符合Widget标准定义的Widget应用zip包由三部分组成文件数据区、文件目录 区和文件目录结束区。文件数据区表示压缩包内的文件数据,有多少个文件和目录就有多 少个文件数据区,这也是zip压缩包的主体部分,包含了所有文件的数据;每个文件数据区 都对应一个文件目录区,该部分只是记录了目录名或文件名,以及对应的文件数据区起始 位置在整个Zip文件中的偏移;文件目录结束区是zip压缩包的最后一部分,包含了压缩包 内目录、文件的数量,以及文件目录区的尺寸。根据zip格式内部的关系,当文件数据区发 生了变化,则文件目录区和文件目录结束区也会变化,但后两个区的信息量小,其尺寸占整 个zip包的比例非常小,有时可能都不到1%.以图1为例,现有名为weekdays的Widget 应用压缩包包含4个文件数据区,分别为index, html、config. xml、scripts、scripts/ dayfinder. js,同样包含4个文件目录区和1个文件目录结束区。当Widget应用包中只有少数文件发生修改时,则只有相应几个文件数据区发生 变化,其余大部分内容并未改变。此时,如果按照传统的Widget更新方式,将Widget应用 包数据全部下载。这样比较浪费网络资源,甚至产生额外的流量费用,并且数据交互过多又 会增加更新失败的风险。
技术实现思路
本专利技术要解决的技术问题是提供一种Widget更新方法、系统、Widget客户端及 Widget服务器,以提高更新效率。5为解决以上技术问题,本专利技术提供了一种微技(Widget)更新方法,该方法包括Widget客户端向Widget服务器发送更新请求;所述Widget服务器接收所述更新请求后,提取所述Widget客户端的当前版本应 用包与最新版本应用包,并进行比较;所述Widget服务器构造响应体并发送给所述Widget客户端,所述响应体包括根 据比较结果及预置的更新策略构造的更新文档;所述Widget客户端接收所述响应体,并根据所述更新文档进行更新。进一步地,所述Widget客户端发送的更新请求中携带Widget当前版本号,所述 Widget服务器根据所述Widget当前版本号获取所述当前版本应用包。进一步地,所述Widget服务器发送所述响应体时,更新所述Widget客户端和 Widget版本号的对应关系,所述Widget服务器接收所述更新请求时,根据所述widget客户 端及其对应关系获取所述当前版本应用包。进一步地,所述更新策略为根据发生变化的文件和信息构造所述更新文档;或,判断发生变化的文件的数量和/或大小是否超过预设阈值,如果超过,则将最新 版本的全部文件作为更新文档,否则根据发生变化的文件和信息构造所述更新文档。进一步地,所述Widget应用包包括文件数据区、文件目录区和文件目录结束区, 将所述Widget客户端的当前版本应用包与最新版本应用包进行比较包括解析当前版本应用包和最新版本应用包;将当前版本和最新版本分别生成一个数据区序列,其中每个文件数据区内容 (Data)及其对应的文件/目录名(ID)作为数据区序列的一个节点;将最新版本的每个节点与当前版本的每个节点逐一进行比较,如果ID相同,Data 不同,则标记为更新,如果当前版本没有相应的ID,则标记为新增,如果最新版本没有相应 的ID,则标记为删除;所述更新文档包括更新的文件数据区信息、新增的文件数据区信息、删除的文件 数据区信息以及最新版本文件目录区和文件目录结束区。进一步地,所述更新的文件数据区信息包括ID以及Data,所述新增的文件数据 区信息包括ID,所处当前版本应用包中的位置以及Data,所述删除的文件数据区信息包括 ID。进一步地,所述响应体还包括更新文档类型指示,用于指示该更新文档为全部更 新文档或部分更新文档;所述Widget客户端根据所述更新文档类型指示判断更新文档类 型;更新文档为全部更新文档时,所述Widget客户端将更新文档替代当前Widget应用包; 更新文档为部分更新文档时,所述Widget客户端根据更新文档对当前Widget应用包对应 部分进行更新。进一步地,所述Widget客户端根据所述更新文档进行更新包括解析所述更新文档,提取其中的Data和对应的ID,且按更新、删除、新增标记进行 分类表示管理,同时提取文件目录区和文件目录结束区内容。解析当前版本应用包包,按顺序识别出每个文件数据区,及其对应的ID,形成压缩 包数据区管理序列(OrigSeq);6将所述更新文档中标记为删除的文件数据区从OrigSeq序列中删除;将所述更新 文档中标记为更新的文件数据区替换OrigSeq序列中对应的文件数据区;将所述更新文档 中标记为新增的文件数据区按照指定位置插入到OrigSeq序列中;将新版本的文件目录区 和文件目录结束区替换OrigSeq序列的相应区域,形成一个新版本的压缩包数据区管理序 列(NewSeq)。为解决以上技术问题,本专利技术还提供了一种微技(Widget)服务器,所述Widget服 务器包括网络交互单元,用于接收Widget客户端发送的更新请求,以及向所述Widget客户 端发送响应体,所述响应体包括更新文档;Widget应用包数据库,用于存储各版本Widget应用包;版本比较单元,用于将所述Widget客户端的当前版本应用包与最新版本应用包 进行比较;响应体构造单元,用于根据比较结果及预置的更新策略,构造所述更新文档,以及 构造响应体。为解决以上技术问题,本专利技术还提供了一种微技(Widget)客户端,所述Widget客 户端包括网络交互单元,用于向Widget服务器发送更本文档来自技高网
...

【技术保护点】

【技术特征摘要】
一种微技(Widget)更新方法,其特征在于,该方法包括Widget客户端向Widget服务器发送更新请求;所述Widget服务器接收所述更新请求后,提取所述Widget客户端的当前版本应用包与最新版本应用包,并进行比较;所述Widget服务器构造响应体并发送给所述Widget客户端,所述响应体包括根据比较结果及预置的更新策略构造的更新文档;所述Widget客户端接收所述响应体,并根据所述更新文档进行更新。2.如权利要求1所述的方法,其特征在于所述Widget客户端发送的更新请求中携带 Widget当前版本号,所述Widget服务器根据所述Widget当前版本号获取所述当前版本应 用包。3.如权利要求1所述的方法,其特征在于所述Widget服务器发送所述响应体时,更 新所述Widget客户端和Widget版本号的对应关系,所述Widget服务器接收所述更新请求 时,根据所述widget客户端及其对应关系获取所述当前版本应用包。4.如权利要求1所述的方法,其特征在于,所述更新策略为根据发生变化的文件和信息构造所述更新文档;或,判断发生变化的文件的数量和/或大小是否超过预设阈值,如果超过,则将最新版本 的全部文件作为更新文档,否则根据发生变化的文件和信息构造所述更新文档。5.如权利要求1所述的方法,所述Widget应用包包括文件数据区、文件目录区和文件 目录结束区,其特征在于将所述Widget客户端的当前版本应用包与最新版本应用包进行 比较包括解析当前版本应用包和最新版本应用包;将当前版本和最新版本分别生成一个数据区序列,其中每个文件数据区内容(Data) 及其对应的文件/目录名(ID)作为数据区序列的一个节点;将最新版本的每个节点与当前版本的每个节点逐一进行比较,如果ID相同,Data不 同,则标记为更新,如果当前版本没有相应的ID,则标记为新增,如果最新版本没有相应的 ID,则标记为删除;所述更新文档包括更新的文件数据区信息、新增的文件数据区信息、删除的文件数据 区信息以及最新版本文件目录区和文件目录结束区。6.如权利要求5所述的方法,其特征在于所述更新的文件数据区信息包括ID以及 Data,所述新增的文件数据区信息包括ID,所处当前版本应用包中的位置以及Data,所述 删除的文件数据区信息包括ID。7.如权利要求1所述的方法,其特征在于,所述响应体还包括更新文档类型指示,用于 指示该更新文档为全部更新文档或部分更新文档;所述Widget客户端根据所述更新文档 类型指示判断更新文档类型;更新文档为全部更新文档时,所述Widget客户端将更新文档 替代当前Widget应用包;更新文档为部分更新文档时,所述Widget客户端根据更新文档对 当前Widget应用包对应部分进行更新。8.如权利要求1或7所述的方法,其特征在于所述Widget客户端根据所述更新文档 进行更新包括解析所述更新文档,提取其中的Data和对应的ID,且按更新、删除、新增标记进行分类表示管理,同时提取文件目录区和文件目录结束区内容;解析当前版本应用包包,按顺序识别出每个Data,及其对应的ID,形成压缩包数据区 管理序列(OrigSeq);将所述更新文档中标记为删除的文件数据区从OrigSeq序列中删除;将所述更新文 档中标记为更新的文件数据区替换OrigSeq序列中对应的文件数据区;将所述更新文档中 标记为新增的文件数据区按照指定位置插入到OrigSeq序列中;将新版本的文件目录区和 文件目录结束区替换OrigSeq序列的相应区域,形成一个新版本的压缩包数据区管理序列 (NewSeq) 09.一种微技(Widget)服务器,其特征在于,所述...

【专利技术属性】
技术研发人员:张锐利
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1