一种远程打包文件修复的方法及系统.pdf

上传人:zhu****69 文档编号:5776568 上传时间:2019-03-18 格式:PDF 页数:11 大小:1.10MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310327880.9

申请日:

2013.07.31

公开号:

CN103399804A

公开日:

2013.11.20

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):G06F 11/10申请公布日:20131120|||实质审查的生效IPC(主分类):G06F 11/10申请日:20130731|||公开

IPC分类号:

G06F11/10

主分类号:

G06F11/10

申请人:

珠海金山网络游戏科技有限公司; 成都西山居互动娱乐科技有限公司

发明人:

刘畅; 梁波; 谭贤亮

地址:

519000 广东省珠海市吉大景山路莲山巷8号金山软件大厦

优先权:

专利代理机构:

广州嘉权专利商标事务所有限公司 44205

代理人:

陈国荣

PDF下载: PDF下载
内容摘要

本发明公开了一种远程打包文件修复的方法及系统,当从服务端下载的本地打包文件损坏时,通过校验数据检测出本地打包文件中损坏的数据段,再根据修正数据从服务端的原始打包文件中下载与本地打包文件中损坏的数据段相对应的原数据段,并将此原数据段覆盖写入至本地打包文件中,完成对本地打包文件的修复。修复过程避免了重新对原始打包文件的下载,减少了流量从而节省时间,并避免了重新下载过程可能产生的数据传输错误及下载后的再次解压错误。

权利要求书

权利要求书
1.  一种远程打包文件修复的方法,所述打包文件为从服务端获取的本地打包文件,其特征在于,包括:
校验步骤,从服务端下载校验数据,通过校验数据检测本地打包文件是否正确;
修正步骤,当通过校验数据检测出本地打包文件错误时,从服务端下载修正数据,并根据修正数据对本地打包文件进行修复。

2.  根据权利要求1所述的一种远程打包文件修复的方法,其特征在于,还包括校验数据和修正数据生成的步骤,对服务端的原始打包文件中的数据段进行扫描生成校验数据和修正数据,所述原始打包文件为服务端存储的与本地打包文件相对应的原始文件。

3.  根据权利要求2所述的一种远程打包文件修复的方法,其特征在于,所述服务端的原始打包文件发生变化时,重新生成原始打包文件的校验数据和修正数据。

4.  根据权利要求2所述的一种远程打包文件修复的方法,其特征在于,所述对服务端的原始打包文件中的数据段进行扫描生成的校验数据包括服务端原始打包文件的数据段校验码、数据段大小及数据段偏移值,所述数据段大小及数据段偏移值用于定位本地打包文件中的数据段从而生成本地打包文件的数据段校验码,所述原始打包文件的数据段校验码用于与生成的本地打包文件的数据段校验码进行对比,以判断本地打包文件中的数据段是否正确,从而确定本地打包文件是否正确。

5.  根据权利要求4所述的一种远程打包文件修复的方法,其特征在于,所述修正步骤中从服务端下载修正数据时,仅下载判断出的本地打包文件中错误数据段所对应的修正数据。

6.  根据权利要求2所述的一种远程打包文件修复的方法,其特征在于,所述对服务端的原始打包文件中的数据段进行扫描生成的修正数据包括服务端原始打包文件中的数据段地址及对应的数据段偏移值,根据修正数据中服务端原始打包文件中的数据段地址及对应的数据段偏移值,从服务端的原始打包文件中下载所述错误数据段所对应的原数据段,并将此原数据段覆盖写入至本地打包文件中发生错误的数据段的位置实现对打包文件的修复。

7.  根据权利要求6所述的一种远程打包文件修复的方法,其特征在于,所述修正数据所包括的服务端原始打包文件中的数据段地址为相对地址。

8.  一种远程打包文件修复的系统,所述打包文件为从服务端获取的本地打包文件,其特征在于,包括:
校验模块,用于从服务端下载校验数据,通过校验数据检测本地打包文件是否正确;
修正模块,用于当通过校验数据检测出本地打包文件错误时,从服务端下载修正数据,并根据修正数据对本地打包文件进行修复。

9.  根据权利要求8所述的一种远程打包文件修复的系统,其特征在于,还包括数据生成模块,用于对服务端的原始打包文件中的数据段进行扫描生成校验数据和修正数据,所述原始打包文件为服务端存储的与本地打包文件相对应的原始文件。

10.  根据权利要求9所述的一种远程打包文件修复的系统,其特征在于,所述服务端的原始打包文件发生变化时,重新生成原始打包文件的校验数据和修正数据。

11.  根据权利要求9所述的一种远程打包文件修复的系统,其特征在于,所述对服务端的原始打包文件中的数据段进行扫描生成的校验数据包括服务端原始打包文件的数据段校验码、数据段大小及数据段偏移值,所述数据段大小及数据段偏移值用于定位本地打包文件中的数据段从而生成本地打包文件的数据段校验码,所述原始打包文件的数据段校验码用于与生成的本地打包文件的数据段校验码进行对比,以判断本地打包文件中的数据段是否正确,从而确定本地打包文件是否正确。

12.  根据权利要求11所述的一种远程打包文件修复的系统,其特征在于,所述修正模块从服务端下载修正数据时,仅下载判断出的本地打包文件中错误数据段所对应的修正数据。

13.  根据权利要求9所述的一种远程打包文件修复的系统,其特征在于,所述对服务端的原始打包文件中的数据段进行扫描生成的修正数据包括服务端原始打包文件中的数据段地址及对应的数据段偏移值,根据修正数据中服务端原始打包文件中的数据段地址及对应的数据段偏移值,从服务端的原始打包文件中下载所述错误数据段所对应的原数据段,并将此原数据段覆盖写入至本地打包文件中发生错误的数据段的位置实现对打包文件的修复。

14.  根据权利要求13所述的一种远程打包文件修复的系统,其特征在于,所述修正数据所包括的服务端原始打包文件中的数据段地址为相对地址。

说明书

说明书一种远程打包文件修复的方法及系统
技术领域
本发明涉及打包文件的修复,特别是一种远程打包文件修复的方法及系统。
背景技术
在文件的传输、下载、存储等过程中,经常会遇到打包文件。由于打包文件减少了原文件的大小,通过服务端下载相关的打包文件时,就节省了时间,提高了效率,在对打包文件加密后,也可以保证文件的安全,并且打包文件被下载或存储后,相应地节省了存储空间。
打包文件在带来方便的同时,也有一些相应的缺点。服务端一般以打包的形式存储客户端打包文件,客户端打包文件被用户接收后,在对客户端打包文件解压时,通常会发生无法打开、解压错误等问题,这些问题可能是由于磁盘读写时断电、传输或解压错误等导致的,一旦这些问题发生,相应的客户端打包文件就无法使用,如果原打包文件可以重新从服务端重新下载,则可以避免文件的丢失或损坏,但重新下载费时并占用网络流量,且无法避免重复性的传输及解压错误。 
发明内容
为解决上述问题,本发明的目的在于提供一种远程打包文件修复方法及系统,通过下载校验、修正数据对打包文件进行修复,避免从服务端重新下载原打包文件,节省时间,减少流量,且防止了重复性的传输及解压错误。
本发明解决其问题所采用的技术方案是:
一种远程打包文件修复的方法,所述打包文件为从服务端获取的本地打包文件,包括:
校验步骤,从服务端下载校验数据,通过校验数据检测本地打包文件是否正确;
修正步骤,当通过校验数据检测出本地打包文件错误时,从服务端下载修正数据,并根据修正数据对本地打包文件进行修复。
所述方法还包括校验数据和修正数据生成的步骤,对服务端的原始打包文件中的数据段进行扫描生成校验数据和修正数据,所述原始打包文件为服务端存储的与本地打包文件相对应的原始文件。
所述服务端的原始打包文件发生变化时,重新生成原始打包文件的校验数据和修正数据。
所述对服务端的原始打包文件中的数据段进行扫描生成的校验数据包括服务端原始打包文件的数据段校验码、数据段大小及数据段偏移值,所述数据段大小及数据段偏移值用于定位本地打包文件中的数据段从而生成本地打包文件的数据段校验码,所述原始打包文件的数据段校验码用于与生成的本地打包文件的数据段校验码进行对比,以判断本地打包文件中的数据段是否正确,从而确定本地打包文件是否正确。
所述从服务端下载修正数据时,仅下载判断出的本地打包文件中错误数据段所对应的修正数据。
所述对服务端的原始打包文件中的数据段进行扫描生成的修正数据包括服务端原始打包文件中的数据段地址及对应的数据段偏移值,根据修正数据中服务端原始打包文件中的数据段地址及对应的数据段偏移值,从服务端的原始打包文件中下载所述错误数据段所对应的原数据段,并将此原数据段覆盖写入至本地打包文件中发生错误的数据段的位置实现对打包文件的修复。
所述修正数据所包括的服务端原始打包文件中的数据段地址为相对地址。
一种远程打包文件修复的系统,所述打包文件为从服务端获取的本地打包文件,包括:
校验模块,用于从服务端下载校验数据,通过校验数据检测本地打包文件是否正确;
修正模块,用于当通过校验数据检测出本地打包文件错误时,从服务端下载修正数据,并根据修正数据对本地打包文件进行修复。
所述系统还包括数据生成模块,用于对服务端的原始打包文件中的数据段进行扫描生成校验数据和修正数据,所述原始打包文件为服务端存储的与本地打包文件相对应的原始文件。
所述服务端的原始打包文件发生变化时,重新生成原始打包文件的校验数据和修正数据。
所述对服务端的原始打包文件中的数据段进行扫描生成的校验数据包括服务端原始打包文件的数据段校验码、数据段大小及数据段偏移值,所述数据段大小及数据段偏移值用于定位本地打包文件中的数据段从而生成本地打包文件的数据段校验码,所述原始打包文件的数据段校验码用于与生成的本地打包文件的数据段校验码进行对比,以判断本地打包文件中的数据段是否正确,从而确定本地打包文件是否正确。
所述从服务端下载修正数据时,仅下载判断出的本地打包文件中错误数据段所对应的修正数据。
所述对服务端的原始打包文件中的数据段进行扫描生成的修正数据包括服务端原始打包文件中的数据段地址及对应的数据段偏移值,根据修正数据中服务端原始打包文件中的数据段地址及对应的数据段偏移值,从服务端的原始打包文件中下载所述错误数据段所对应的原数据段,并将此原数据段覆盖写入至本地打包文件中发生错误的数据段的位置实现对打包文件的修复。
所述修正数据所包括的服务端原始打包文件中的数据段地址为相对地址。
本发明的有益效果是:
本发明采用一种远程打包文件修复的方法及系统,当打包文件解压错误时,直接从服务端下载校验数据对打包文件进行校验,从而检测出相应的错误数据段,再下载修正数据,对错误的数据段进行修正,无须重新下载原打包文件,节省时间和流量,同时避免了重复下载时的数据传输错误及下载后的再次解压错误。
附图说明
下面结合附图和实例对本发明作进一步说明。
图1是本发明所述方法流程图;
图2是本发明所述客户端打包文件存储时的数据示意图;
图3是本发明所述服务端存储的原打包文件、校验数据及修正数据示意图;
图4是本图3中所述校验数据放大图;
图5是本图3中所述修正数据放大图;
图6是本发明所述系统的结构图。
具体实施方式
用户在下载打包文件时,对应的,在服务端保存有用户需要下载的文件,此文件即为原始打包文件(或基准文件),当用户将此文件下载到客户端机器后,理论上,对应的客户端机器存储有与基准文件一致的本地打包文件,但此本地打包文件在解压时,经常会产生解压错误,通过本发明所述方法,可以对此本地打包文件进行修复,使此本地打包文件与基准文件保持一致。
所述服务端具有校验数据与修正数据,所述校验数据与修正数据由服务端的修复数据生成器生成,所述修复数据生成器为服务端中用于对基准文件扫描并记录扫描信息的程序。修复数据生成器在接收基准文件后,以基准文件为参数,对基准文件进行扫描生成对应的校验数据与修正数据。基准文件一般以数据段的方式存储,修复数据生成器以数据段为单位从低地址到高地址依次扫描基准文件中的第一个数据段,扫描的过程中,修复数据生成器会计算并记录每个数据段的校验码信息,并将记录的数据段校验码、数据段大小、数据段偏移值写入至校验数据,同时将记录的基准文件中数据段的地址、数据段偏移值写入至修正数据。需要说明的是,当基准文件发生变化时,修复数据生成器根据基准文件会重新生成校验数据与修正数据。
当本地打包文件出现解压错误时,此本地打包文件的客户端修复器会与服务端建立连接,对本地打包文件进行修复,所述客户端修复器是客户端用于对本地打包文件进行修复的程序。参见图1所示的流程图,客户端修复器在连接服务端后,会下载服务端的校验数据。参照图2所示用户下载后的本地打包文件数据示意图,同时参照图3所示对应的服务端存储的基准文件、校验数据与修正数据示意图,基准文件与本地打包文件以相同的数据段进行存储。客户端修复器下载校验数据后,会对本地打包文件进行扫描,参照图4所示的校验数据,校验数据包括数据段校验码、数据段大小及数据段偏移值,客户端修复器根据校验数据提供的数据段大小及数据段偏移值对本地打包文件进行扫描,计算出本地打包文件中每一数据段的校验码,并将计算出的每一数据段的校验码与校验数据中的数据段校验码进行对比,若某一数据段的校验码对比错误时,则说明此数据段已经损坏,若经对比,所有的校验码相同,则说明本地打包文件没有损坏。
当发现数据段有损坏时,客户端修复器重新连接服务端,从服务端下载修正数据,参照图5所示的修正数据,修正数据包含基准文件中的数据段地址及对应的数据段偏移值,为了减少修正数据的空间,所述数据段地址为相对地址。客户修复器根据修正数据,计算检测出的错误数据段在基准文件中的位置及偏移值,下载基准文件中检测出的错误数据段所对应的原数据段,并将下载的原数据段覆盖写入本地打包文件中的对应位置,完成对本地打包文件的的修复。客户端修复器从服务端下载修正数据时,可以仅下载检测出的错误数据段所对应的修正数据,并不需要下载全部的修正数据,以减少下载流量从而节省时间。
通过对本发明所述方法,在本地打包文件损坏时,不需要重新下载,减少流量并节省时间,同时也避免了重新下载时的传输错误及下载后的再次解压错误。
本发明公开了一种远程打包文件修复的系统,参照6所示,包括数据生成模块、校验模块及修正模块。所述数据生成模块用于通过服务端的数据修复生成器对服务端的基准文件中的数据段进行扫描生成校验数据和修正数据,所述数据修复生成器是服务端中用于对基准文件中的数据段扫描并记录扫描信息的程序,所述基准文件为服务端存储的与本地打包文件相对应的下载文件。数据修复生成器对基准文件的每个数据段进行扫描,生成对应的校验数据与修正数据,所述校验数据包含基准文件中每个数据段的数据段校验码、数据段大小及数据段偏移值,修正数据包含基准文件中每个数据段的地址及偏移值。若基准文件发生变化时,数据修复生成器会根据基准文件重新生成对应的校验数据与修正数据。所述校验模块从服务端下载校验数据后,根据校验数据中包含的基准文件的数据段大小及数据段偏移值定位本地打包文件的数据段,并生成与本地打包文件相对应的数据段校验码,之后,校验模块将基准文件的数据段校验码与生成的本地打包文件的数据段校验码进行对比,以判断本地打包文件中的数据段是否正确,从而确定本地打包文件是否正确。若本地打包文件中的数据段错误时,则说明本地打包文件损坏,修正模块则从服务端下载修正数据,修正模块可以仅下载本地打包文件中错误数据段所对应的修正数据,以减少流量从而节省时间,之后,修正模块根据修正数据所包含的服务端基准文件中的数据段地址及对应的数据段偏移值,从服务端的基准文件中下载所述本地文件中的错误数据段所对应的原数据段,并将此原数据段覆盖写入至本地打包文件中发生错误的数据段的位置,以完成对打包文件的修复。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。

一种远程打包文件修复的方法及系统.pdf_第1页
第1页 / 共11页
一种远程打包文件修复的方法及系统.pdf_第2页
第2页 / 共11页
一种远程打包文件修复的方法及系统.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《一种远程打包文件修复的方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种远程打包文件修复的方法及系统.pdf(11页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103399804 A (43)申请公布日 2013.11.20 CN 103399804 A *CN103399804A* (21)申请号 201310327880.9 (22)申请日 2013.07.31 G06F 11/10(2006.01) (71)申请人 珠海金山网络游戏科技有限公司 地址 519000 广东省珠海市吉大景山路莲山 巷 8 号金山软件大厦 申请人 成都西山居互动娱乐科技有限公司 (72)发明人 刘畅 梁波 谭贤亮 (74)专利代理机构 广州嘉权专利商标事务所有 限公司 44205 代理人 陈国荣 (54) 发明名称 一种远程打包文件修复的方法。

2、及系统 (57) 摘要 本发明公开了一种远程打包文件修复的方法 及系统, 当从服务端下载的本地打包文件损坏时, 通过校验数据检测出本地打包文件中损坏的数据 段, 再根据修正数据从服务端的原始打包文件中 下载与本地打包文件中损坏的数据段相对应的原 数据段, 并将此原数据段覆盖写入至本地打包文 件中, 完成对本地打包文件的修复。 修复过程避免 了重新对原始打包文件的下载, 减少了流量从而 节省时间, 并避免了重新下载过程可能产生的数 据传输错误及下载后的再次解压错误。 (51)Int.Cl. 权利要求书 2 页 说明书 4 页 附图 4 页 (19)中华人民共和国国家知识产权局 (12)发明专利申。

3、请 权利要求书2页 说明书4页 附图4页 (10)申请公布号 CN 103399804 A CN 103399804 A *CN103399804A* 1/2 页 2 1. 一种远程打包文件修复的方法, 所述打包文件为从服务端获取的本地打包文件, 其 特征在于, 包括 : 校验步骤, 从服务端下载校验数据, 通过校验数据检测本地打包文件是否正确 ; 修正步骤, 当通过校验数据检测出本地打包文件错误时, 从服务端下载修正数据, 并根 据修正数据对本地打包文件进行修复。 2. 根据权利要求 1 所述的一种远程打包文件修复的方法, 其特征在于, 还包括校验数 据和修正数据生成的步骤, 对服务端的原始。

4、打包文件中的数据段进行扫描生成校验数据和 修正数据, 所述原始打包文件为服务端存储的与本地打包文件相对应的原始文件。 3. 根据权利要求 2 所述的一种远程打包文件修复的方法, 其特征在于, 所述服务端的 原始打包文件发生变化时, 重新生成原始打包文件的校验数据和修正数据。 4. 根据权利要求 2 所述的一种远程打包文件修复的方法, 其特征在于, 所述对服务端 的原始打包文件中的数据段进行扫描生成的校验数据包括服务端原始打包文件的数据段 校验码、 数据段大小及数据段偏移值, 所述数据段大小及数据段偏移值用于定位本地打包 文件中的数据段从而生成本地打包文件的数据段校验码, 所述原始打包文件的数据。

5、段校验 码用于与生成的本地打包文件的数据段校验码进行对比, 以判断本地打包文件中的数据段 是否正确, 从而确定本地打包文件是否正确。 5. 根据权利要求 4 所述的一种远程打包文件修复的方法, 其特征在于, 所述修正步骤 中从服务端下载修正数据时, 仅下载判断出的本地打包文件中错误数据段所对应的修正数 据。 6. 根据权利要求 2 所述的一种远程打包文件修复的方法, 其特征在于, 所述对服务端 的原始打包文件中的数据段进行扫描生成的修正数据包括服务端原始打包文件中的数据 段地址及对应的数据段偏移值, 根据修正数据中服务端原始打包文件中的数据段地址及对 应的数据段偏移值, 从服务端的原始打包文件。

6、中下载所述错误数据段所对应的原数据段, 并将此原数据段覆盖写入至本地打包文件中发生错误的数据段的位置实现对打包文件的 修复。 7. 根据权利要求 6 所述的一种远程打包文件修复的方法, 其特征在于, 所述修正数据 所包括的服务端原始打包文件中的数据段地址为相对地址。 8. 一种远程打包文件修复的系统, 所述打包文件为从服务端获取的本地打包文件, 其 特征在于, 包括 : 校验模块, 用于从服务端下载校验数据, 通过校验数据检测本地打包文件是否正确 ; 修正模块, 用于当通过校验数据检测出本地打包文件错误时, 从服务端下载修正数据, 并根据修正数据对本地打包文件进行修复。 9. 根据权利要求 8。

7、 所述的一种远程打包文件修复的系统, 其特征在于, 还包括数据生 成模块, 用于对服务端的原始打包文件中的数据段进行扫描生成校验数据和修正数据, 所 述原始打包文件为服务端存储的与本地打包文件相对应的原始文件。 10. 根据权利要求 9 所述的一种远程打包文件修复的系统, 其特征在于, 所述服务端的 原始打包文件发生变化时, 重新生成原始打包文件的校验数据和修正数据。 11. 根据权利要求 9 所述的一种远程打包文件修复的系统, 其特征在于, 所述对服务端 的原始打包文件中的数据段进行扫描生成的校验数据包括服务端原始打包文件的数据段 权 利 要 求 书 CN 103399804 A 2 2/2。

8、 页 3 校验码、 数据段大小及数据段偏移值, 所述数据段大小及数据段偏移值用于定位本地打包 文件中的数据段从而生成本地打包文件的数据段校验码, 所述原始打包文件的数据段校验 码用于与生成的本地打包文件的数据段校验码进行对比, 以判断本地打包文件中的数据段 是否正确, 从而确定本地打包文件是否正确。 12. 根据权利要求 11 所述的一种远程打包文件修复的系统, 其特征在于, 所述修正模 块从服务端下载修正数据时, 仅下载判断出的本地打包文件中错误数据段所对应的修正数 据。 13. 根据权利要求 9 所述的一种远程打包文件修复的系统, 其特征在于, 所述对服务端 的原始打包文件中的数据段进行扫。

9、描生成的修正数据包括服务端原始打包文件中的数据 段地址及对应的数据段偏移值, 根据修正数据中服务端原始打包文件中的数据段地址及对 应的数据段偏移值, 从服务端的原始打包文件中下载所述错误数据段所对应的原数据段, 并将此原数据段覆盖写入至本地打包文件中发生错误的数据段的位置实现对打包文件的 修复。 14. 根据权利要求 13 所述的一种远程打包文件修复的系统, 其特征在于, 所述修正数 据所包括的服务端原始打包文件中的数据段地址为相对地址。 权 利 要 求 书 CN 103399804 A 3 1/4 页 4 一种远程打包文件修复的方法及系统 技术领域 0001 本发明涉及打包文件的修复, 特别。

10、是一种远程打包文件修复的方法及系统。 背景技术 0002 在文件的传输、 下载、 存储等过程中, 经常会遇到打包文件。由于打包文件减少了 原文件的大小, 通过服务端下载相关的打包文件时, 就节省了时间, 提高了效率, 在对打包 文件加密后, 也可以保证文件的安全, 并且打包文件被下载或存储后, 相应地节省了存储空 间。 0003 打包文件在带来方便的同时, 也有一些相应的缺点。服务端一般以打包的形式存 储客户端打包文件, 客户端打包文件被用户接收后, 在对客户端打包文件解压时, 通常会发 生无法打开、 解压错误等问题, 这些问题可能是由于磁盘读写时断电、 传输或解压错误等导 致的, 一旦这些问。

11、题发生, 相应的客户端打包文件就无法使用, 如果原打包文件可以重新从 服务端重新下载, 则可以避免文件的丢失或损坏, 但重新下载费时并占用网络流量, 且无法 避免重复性的传输及解压错误。 发明内容 0004 为解决上述问题, 本发明的目的在于提供一种远程打包文件修复方法及系统, 通 过下载校验、 修正数据对打包文件进行修复, 避免从服务端重新下载原打包文件, 节省时 间, 减少流量, 且防止了重复性的传输及解压错误。 0005 本发明解决其问题所采用的技术方案是 : 一种远程打包文件修复的方法, 所述打包文件为从服务端获取的本地打包文件, 包 括 : 校验步骤, 从服务端下载校验数据, 通过校。

12、验数据检测本地打包文件是否正确 ; 修正步骤, 当通过校验数据检测出本地打包文件错误时, 从服务端下载修正数据, 并根 据修正数据对本地打包文件进行修复。 0006 所述方法还包括校验数据和修正数据生成的步骤, 对服务端的原始打包文件中的 数据段进行扫描生成校验数据和修正数据, 所述原始打包文件为服务端存储的与本地打包 文件相对应的原始文件。 0007 所述服务端的原始打包文件发生变化时, 重新生成原始打包文件的校验数据和修 正数据。 0008 所述对服务端的原始打包文件中的数据段进行扫描生成的校验数据包括服务端 原始打包文件的数据段校验码、 数据段大小及数据段偏移值, 所述数据段大小及数据段。

13、偏 移值用于定位本地打包文件中的数据段从而生成本地打包文件的数据段校验码, 所述原始 打包文件的数据段校验码用于与生成的本地打包文件的数据段校验码进行对比, 以判断本 地打包文件中的数据段是否正确, 从而确定本地打包文件是否正确。 0009 所述从服务端下载修正数据时, 仅下载判断出的本地打包文件中错误数据段所对 说 明 书 CN 103399804 A 4 2/4 页 5 应的修正数据。 0010 所述对服务端的原始打包文件中的数据段进行扫描生成的修正数据包括服务端 原始打包文件中的数据段地址及对应的数据段偏移值, 根据修正数据中服务端原始打包文 件中的数据段地址及对应的数据段偏移值, 从服。

14、务端的原始打包文件中下载所述错误数据 段所对应的原数据段, 并将此原数据段覆盖写入至本地打包文件中发生错误的数据段的位 置实现对打包文件的修复。 0011 所述修正数据所包括的服务端原始打包文件中的数据段地址为相对地址。 0012 一种远程打包文件修复的系统, 所述打包文件为从服务端获取的本地打包文件, 包括 : 校验模块, 用于从服务端下载校验数据, 通过校验数据检测本地打包文件是否正确 ; 修正模块, 用于当通过校验数据检测出本地打包文件错误时, 从服务端下载修正数据, 并根据修正数据对本地打包文件进行修复。 0013 所述系统还包括数据生成模块, 用于对服务端的原始打包文件中的数据段进行。

15、扫 描生成校验数据和修正数据, 所述原始打包文件为服务端存储的与本地打包文件相对应的 原始文件。 0014 所述服务端的原始打包文件发生变化时, 重新生成原始打包文件的校验数据和修 正数据。 0015 所述对服务端的原始打包文件中的数据段进行扫描生成的校验数据包括服务端 原始打包文件的数据段校验码、 数据段大小及数据段偏移值, 所述数据段大小及数据段偏 移值用于定位本地打包文件中的数据段从而生成本地打包文件的数据段校验码, 所述原始 打包文件的数据段校验码用于与生成的本地打包文件的数据段校验码进行对比, 以判断本 地打包文件中的数据段是否正确, 从而确定本地打包文件是否正确。 0016 所述从。

16、服务端下载修正数据时, 仅下载判断出的本地打包文件中错误数据段所对 应的修正数据。 0017 所述对服务端的原始打包文件中的数据段进行扫描生成的修正数据包括服务端 原始打包文件中的数据段地址及对应的数据段偏移值, 根据修正数据中服务端原始打包文 件中的数据段地址及对应的数据段偏移值, 从服务端的原始打包文件中下载所述错误数据 段所对应的原数据段, 并将此原数据段覆盖写入至本地打包文件中发生错误的数据段的位 置实现对打包文件的修复。 0018 所述修正数据所包括的服务端原始打包文件中的数据段地址为相对地址。 0019 本发明的有益效果是 : 本发明采用一种远程打包文件修复的方法及系统, 当打包文。

17、件解压错误时, 直接从服 务端下载校验数据对打包文件进行校验, 从而检测出相应的错误数据段, 再下载修正数据, 对错误的数据段进行修正, 无须重新下载原打包文件, 节省时间和流量, 同时避免了重复下 载时的数据传输错误及下载后的再次解压错误。 附图说明 0020 下面结合附图和实例对本发明作进一步说明。 0021 图 1 是本发明所述方法流程图 ; 说 明 书 CN 103399804 A 5 3/4 页 6 图 2 是本发明所述客户端打包文件存储时的数据示意图 ; 图 3 是本发明所述服务端存储的原打包文件、 校验数据及修正数据示意图 ; 图 4 是本图 3 中所述校验数据放大图 ; 图 5。

18、 是本图 3 中所述修正数据放大图 ; 图 6 是本发明所述系统的结构图。 具体实施方式 0022 用户在下载打包文件时, 对应的, 在服务端保存有用户需要下载的文件, 此文件即 为原始打包文件 (或基准文件) , 当用户将此文件下载到客户端机器后, 理论上, 对应的客户 端机器存储有与基准文件一致的本地打包文件, 但此本地打包文件在解压时, 经常会产生 解压错误, 通过本发明所述方法, 可以对此本地打包文件进行修复, 使此本地打包文件与基 准文件保持一致。 0023 所述服务端具有校验数据与修正数据, 所述校验数据与修正数据由服务端的修复 数据生成器生成, 所述修复数据生成器为服务端中用于对。

19、基准文件扫描并记录扫描信息的 程序。 修复数据生成器在接收基准文件后, 以基准文件为参数, 对基准文件进行扫描生成对 应的校验数据与修正数据。基准文件一般以数据段的方式存储, 修复数据生成器以数据段 为单位从低地址到高地址依次扫描基准文件中的第一个数据段, 扫描的过程中, 修复数据 生成器会计算并记录每个数据段的校验码信息, 并将记录的数据段校验码、 数据段大小、 数 据段偏移值写入至校验数据, 同时将记录的基准文件中数据段的地址、 数据段偏移值写入 至修正数据。 需要说明的是, 当基准文件发生变化时, 修复数据生成器根据基准文件会重新 生成校验数据与修正数据。 0024 当本地打包文件出现解。

20、压错误时, 此本地打包文件的客户端修复器会与服务端建 立连接, 对本地打包文件进行修复, 所述客户端修复器是客户端用于对本地打包文件进行 修复的程序。参见图 1 所示的流程图, 客户端修复器在连接服务端后, 会下载服务端的校验 数据。参照图 2 所示用户下载后的本地打包文件数据示意图, 同时参照图 3 所示对应的服 务端存储的基准文件、 校验数据与修正数据示意图, 基准文件与本地打包文件以相同的数 据段进行存储。客户端修复器下载校验数据后, 会对本地打包文件进行扫描, 参照图 4 所示 的校验数据, 校验数据包括数据段校验码、 数据段大小及数据段偏移值, 客户端修复器根据 校验数据提供的数据段。

21、大小及数据段偏移值对本地打包文件进行扫描, 计算出本地打包文 件中每一数据段的校验码, 并将计算出的每一数据段的校验码与校验数据中的数据段校验 码进行对比, 若某一数据段的校验码对比错误时, 则说明此数据段已经损坏, 若经对比, 所 有的校验码相同, 则说明本地打包文件没有损坏。 0025 当发现数据段有损坏时, 客户端修复器重新连接服务端, 从服务端下载修正数据, 参照图 5 所示的修正数据, 修正数据包含基准文件中的数据段地址及对应的数据段偏移 值, 为了减少修正数据的空间, 所述数据段地址为相对地址。客户修复器根据修正数据, 计 算检测出的错误数据段在基准文件中的位置及偏移值, 下载基准。

22、文件中检测出的错误数据 段所对应的原数据段, 并将下载的原数据段覆盖写入本地打包文件中的对应位置, 完成对 本地打包文件的的修复。客户端修复器从服务端下载修正数据时, 可以仅下载检测出的错 误数据段所对应的修正数据, 并不需要下载全部的修正数据, 以减少下载流量从而节省时 说 明 书 CN 103399804 A 6 4/4 页 7 间。 0026 通过对本发明所述方法, 在本地打包文件损坏时, 不需要重新下载, 减少流量并节 省时间, 同时也避免了重新下载时的传输错误及下载后的再次解压错误。 0027 本发明公开了一种远程打包文件修复的系统, 参照 6 所示, 包括数据生成模块、 校 验模块。

23、及修正模块。 所述数据生成模块用于通过服务端的数据修复生成器对服务端的基准 文件中的数据段进行扫描生成校验数据和修正数据, 所述数据修复生成器是服务端中用于 对基准文件中的数据段扫描并记录扫描信息的程序, 所述基准文件为服务端存储的与本地 打包文件相对应的下载文件。数据修复生成器对基准文件的每个数据段进行扫描, 生成对 应的校验数据与修正数据, 所述校验数据包含基准文件中每个数据段的数据段校验码、 数 据段大小及数据段偏移值, 修正数据包含基准文件中每个数据段的地址及偏移值。若基准 文件发生变化时, 数据修复生成器会根据基准文件重新生成对应的校验数据与修正数据。 所述校验模块从服务端下载校验数。

24、据后, 根据校验数据中包含的基准文件的数据段大小及 数据段偏移值定位本地打包文件的数据段, 并生成与本地打包文件相对应的数据段校验 码, 之后, 校验模块将基准文件的数据段校验码与生成的本地打包文件的数据段校验码进 行对比, 以判断本地打包文件中的数据段是否正确, 从而确定本地打包文件是否正确。 若本 地打包文件中的数据段错误时, 则说明本地打包文件损坏, 修正模块则从服务端下载修正 数据, 修正模块可以仅下载本地打包文件中错误数据段所对应的修正数据, 以减少流量从 而节省时间, 之后, 修正模块根据修正数据所包含的服务端基准文件中的数据段地址及对 应的数据段偏移值, 从服务端的基准文件中下载。

25、所述本地文件中的错误数据段所对应的原 数据段, 并将此原数据段覆盖写入至本地打包文件中发生错误的数据段的位置, 以完成对 打包文件的修复。 0028 以上所述, 只是本发明的较佳实施例而已, 本发明并不局限于上述实施方式, 只要 其以相同的手段达到本发明的技术效果, 都应属于本发明的保护范围。 说 明 书 CN 103399804 A 7 1/4 页 8 图 1 说 明 书 附 图 CN 103399804 A 8 2/4 页 9 图 2 图 3 说 明 书 附 图 CN 103399804 A 9 3/4 页 10 图 4 图 5 说 明 书 附 图 CN 103399804 A 10 4/4 页 11 图 6 说 明 书 附 图 CN 103399804 A 11 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1