文件服务器恢复测试,基于文件传输中文件损坏检测和恢复办法.doc

基于文件传输中文件损坏检测和恢复办法

基于文件传输中文件损坏检测和恢复办法

摘 要:在网络上文件传输是一种常见的应用,讨论在文件传输完成后检测错误和恢复数据的办法。

关键词:文件传输;文件校验;恢复

中图分类号;TP3 文献标识码:A 文章编号:1671―7597(2010)1020180―01

1前言

在网络应用中,文件传输是一种常见的网络应用。网络用尸可以方便地通过文件传输分享计算机的文件。常见的文件传输协议有FTP,Bit Torrent和Edonkey等等。但是由于网络传输的不稳定性,文件在传输当中经常容易出现错误。而且由于计算机资源大多为二进制资源,只要一个字节出现问题就有可能导致整个资源完全不能使用。随着网络带宽的不断增加和高清视频文件的出现,网络上出现一些容量高达数G甚至数十G的大文件,由于这些文件太大,文件在传输中出错的概率也大大的增加,如果传完才发现文件损坏且无法使用,这样势必会大大的浪费了时间和网络资源。本文讨论了在文件传输完成后检测错误和恢复数据的办法,提出了对传输完成的文件检测其完整性的办法,同时通过一些专用的软件工具和方法,增加传输数据的冗余度,以便在文件破损的情况下对文件进行修复。

2文件检测方法

网络文件在传输过程中容易出现损坏,也有可能在传输中被恶意修改,造成客户端下载的文件与服务器端的文件不一致。为了解决这些问题,需要对服务器端的文件和客户端的软件进行一致性检查,常用的的办法有以下几种。

2.1 MD5文件检测

MD5是message―digest algorithm 5(信息一摘要算法)的缩写,它通过一定的算法,根据源数据的每一位bit最终产生一个128bit(22位十六进制数)的校验值。它被广泛用于加密和解密技术上,它可以说是文件的“数字指纹”。任何一个文件,无论是可执行程序、图像文件、临时文件或者其他任何类型的文件,也不管它体积多大,都有且只有一个独一无二的MD5信息值,并且如果这个文件被修改过,它的MD5值也将随之改变。因此,我们可以通过对比同一文件的MD5值,来校验这个文件是否被“篡改”过。

在文件传输过程中,先在服务器端放入需要共享的文件和文件所生成的MD5值,客户端下载到文件后,通过软件计算出MD5值,通过对比服务器端和本地客户端文件的MD5值是否一致来验证文件在传输当中是否被破坏或被修改。

常见的MD5校验工具有WinMD511 MD5sum等等。

2.2 SFV文件检测

SFV是Simple File Verification(简单文件校验)的简写,SFV文件是一个简单的文本文件,它利用CRC32算法来完成简易的文件检测功能,对每个文件计算出一个数值并写入一个,SFV文本文件中。一般下载后会使用SFV工具对下载得到的文件进行计算,并将结果和文件中的结果进行比对,如果不同则表明下载的文件有误,需要重新下载。并用一个程序来计算指定一个或一批文件的校验、大小、日期等,并保存下来。SFV最常用在RAR、MP3、ISO等档案格式。

常见的sfv工具有QuickSFV、flashsfv。

3错误传输文件的恢复

文件传输完成后如果发现下载的文件在传输中已经改变,则说明文件在传输中间已经被破坏或被修改,通常的解决办法是重新下载,而实际上被破坏的文件与原文件不相符的部分只有很少的部分,这里介绍一些专用的软件工具和方法对下载的文件进行恢复。

3.1使用tar软件进行数据恢复

网络的传输的软件很多都是使用了压缩软件进行了压缩,WinRAR就是一款常见的压缩软件。WinRAR本身有一定的数据恢复功能。一般情况下,如果压缩包中损坏的数据是连续的,并且损坏的文件大小不超过压缩包设定的恢复用冗余数据的大小,那么WinRAR就可以自己完成数据恢复的工作,不过这需要在winRAR中进行设置,打开WinRAR,在“General”菜单下选中“Put Recovery Record”,然后在“Advented”菜单下选择中“Recovery Record”,选择恢复文件占原文件大小的比率,一般选l%一2%即可。这样,以后制作的压缩包就有自动恢复功能了,如果下载的文件有小的损坏,WinRAR直接就可以帮助你恢复数据,而不用重新下载。

3.2 Quickpar错误数据恢复

Quickpar软件是使用Reed Solomon算法进行文件校验,用以检测文件在传输当中是否被破坏,同时也可以使用文件生成的Par2校验文件对破损文进行一定程度上的恢复。

在文件提供下载的时候,在服务器端同时提供源文件和其通过quickpar生成的par2校验文件。文件下载完成后

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值