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

2023-11-20

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

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

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

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

中图分类号;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校验文件。文件下载完成后

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 环境配置--解决torch.cuda.is_available()返回:False

    在网上很多都说是因为pytorch版本和CUDA不匹配造成的 但对于我的情况并不是 而是因为在官网默认下载到了的pytorch是cpu版本 真坑 另外在pycharm默认下载到的pytorch 1 9 0也是cpu版本 用不了cuda 1
  • 计算机设计大赛答辩提问,电子设计大赛答辩常见问题合集

    电子设计大赛答辩常见问题合集 由会员分享 可在线阅读 更多相关 电子设计大赛答辩常见问题合集 2页珍藏版 请在人人文库网上搜索 1 答辩常见问题合集1 本课题的选课背景 意义等等 这个论文中有的 也都是一些套话 我就不答了 我整理的都是技术
  • PLSQL创建新用户并导入导出.dmp文件

    一 登录管理员账号 用户名 密码 登录身份 说明 system manager SYSDBA 或 NORMAL 不能以 SYSOPER 登录 可作为默认的系统管理员 sys change on install SYSDBA 或 SYSOPE
  • 电路设计相关

    本人才疏学浅 孤陋寡闻 下文若有不当之处 还请赐教 1 一些概念 施密特触发器 施密特触发器采用电位触发方式 其状态由输入信号电位维持 对于负向递减和正向递增两种不同变化方向的输入信号 施密特触发器有不同的阈值电压 对于标准施密特触发器 当
  • 天眼使用指南--分析平台

    天眼分析平台 提供全面的溯源分析能力 涵盖图中模块 负责存储日志 分为三类 告警日志 告警日志 来自探针和沙箱的告警 探针的告警可以记录双向完整对话 如果网络流量中没有恶意信息 就会储存一些关键信息 如http请求部分状态码 tcp上下前一
  • 用python批量插入clickhouse

    用python批量插入clickhouse 以下是一个示例代码 演示了如何使用clickhouse driver模块实现批量插入和分布式查询 import clickhouse driver import random connect to
  • C语言函数调用过程

    文 读书笔记 C语言函数调用过程 c legendmohe 2015年07月12日发布 推荐 0 推荐 收藏 0 收藏 392 浏览 本文是 老码识途 第一章的读书笔记 函数调用 例子代码如下所示 int Add int x int y i
  • 什么是参数模型(LR)与非参数模型(SVM)

    什么是参数模型 LR 与非参数模型 SVM 在统计学中 参数模型通常假设总体 随机变量 服从某一个分布 该分布由一些参数确定 比如正太分布由均值和方差确定 在此基础上构建的模型称为参数模型 非参数模型对于总体的分布不做任何假设 只是知道总体
  • jQuery Validate验证框架详解

    jQuery校验官网地址 http bassistance de jquery plugins jquery plugin validation 一 导入js库 注 返回web项目的根路径 二 默认校验规则 1 required true
  • 测试大姐趁我下班点又提了个bug!前端你咋多个options请求?

    测试大姐提了个bug 为什么你多了个options请求 1 下班前的寂静 刚准备下班呢 测试大姐又给我提个bug 你看我这就操作了一次 network里咋有两个请求 我心一惊 不可能啊 我代码明明就调用一次后端接口 咋可能两个请求 打开她的
  • floor(),ceil()函数

    地板 天花板函数 均包含在math h中 意思分别为 返回不大于形参的最小整数和不小于形参的最大整数 include
  • Git冲突导致的Please commit your changes or stash them before you merge

    Git冲突导致的Please commit your changes or stash them before you merge 用git pull来更新代码的时候 遇到了下面的问题 error Your local changes to
  • js检查数据类型的方法

    1 typeof 这是最常用的基本数据类型检测的方法 console log typeof string console log typeof 1 number console log typeof true boolean console
  • spring boot最新教程(五):404错误500错误统一处理

    Spring Boot默认使用嵌入式Tomcat 默认没有页面来处理404等常见错误 因此 为了给用户最佳的使用体验 404 500等常见错误需要我们自定义页面来处理 我们需要用org springframework boot contex
  • 威动服务器如何添加文件夹,威动服务器如何设置

    威动服务器如何设置 内容精选 换一换 华为云提供两种连接方式通过SQL Server客户端连接实例 非SSL连接和SSL连接 其中 SSL连接实现了数据加密功能 具有更高的安全性 安装SQL Server客户端请参见如何安装SQL Serv
  • 如何使用 Docker 部署 Caddy Web 服务器

    Caddy是一种流行的现代 Web 服务器 专为高性能和内存安全而设计 它是用 Go 编写的 运行时没有依赖关系 内置支持使用 Markdown 进行静态站点渲染 并提供自动 HTTPS Caddy 专注于提供简单的服务器管理体验 默认情况
  • Vue + Element UI 前端篇(十一):第三方图标库

    Vue Element UI 实现权限管理系统 前端篇 十一 第三方图标库 使用第三方图标库 用过Elment的同鞋都知道 Element UI提供的字体图符少之又少 实在是不够用啊 幸好现在有不少丰富的第三方图标库可用 引入也不会很麻烦
  • HDFS常用命令

    1 hdfs dfs与hadoop fs 命令的形式 hdfs dfs linux命令 这与linux中命令操作是一样的 hadoop fs等同于hdfs dfs 2 Hadoop命令 hadoop classpath 打印当前hadoop
  • 程序员的自我修养(九)虚拟内存空间

    进程的虚拟地址 每个程序被运行起来以后 它将拥有自己独立的虚拟地址空间 这个虚拟地址空间的大小由计算机的硬件平台决定 具体的说是由CPU的位数决定 对于Linux系统来说 它的进程虚拟空间的划分 1GB 操作系统 3GB 进程 对于Wind

随机推荐

  • derby mysql 性能_derby的三大缺陷

    derby数据库的嵌入式特性让人很流口水 但是 我刚打算将其用进我的项目中 却发现它没有好的分页查询方式 每次都返回所有符合条件的记录 oracle有rownum mysql有limit sqlserver好歹也有个top 汗啊汗 看来不爽
  • 【ROS入门学习01

    ROS命令行工具的使用 可以配合古月居的ROS入门教程来学习实践 文章目录 ROS命令行工具的使用 一 roscore 二 rosrun 三 rqt graph 四 rosnode 五 rostopic 六 rosmsg 七 rosserv
  • 客观面试题--35.Mybatis和hibernate的优缺点?

    Hibernate Hibernate 是当前最流行的ORM框架 对数据库结构提供了较为完整的封装 Mybatis Mybatis同样也是非常流行的ORM框架 主要着力点在于POJO 与SQL之间的映射关系 其次具体从几个方面说一下两者的区
  • 自己动手部署以太坊联盟链

    一个区块链学习项目 GitHub https github com xianfeng92 Love Ethereum 假设已经在Ubunbu 14 04 LTS上安装好了以太坊客户端Geth 使用Geth部署以太坊联盟链 以太坊Geth客户
  • java jvm dump文件_干货分享丨jvm系列:dump文件深度分析

    摘要 java内存dump是jvm运行时内存的一份快照 利用它可以分析是否存在内存浪费 可以检查内存管理是否合理 当发生OOM的时候 可以找出问题的原因 那么dump文件的内容是什么样的呢 JVM dump java内存dump是jvm运行
  • 45_SDIO基础知识

    目录 SDIO协议简介 SDIO设备分类 SD卡物理结构 SD卡寄存器列表 SDIO总线拓扑 SDIO总线 SDIO总线协议 SDIO命令 命令格式 命令类型 响应 SD卡的操作模式 卡识别模式 数据传输模式 STM32 SDIO功能框图
  • vue中element 的 el-table数据量大时,出现卡顿情况解决办法

    一 安装 npm install umy ui 二 引入js和css import umy ui lib theme chalk index css 引入样式 import UTable UTableColumn from umy ui V
  • 时间戳问题汇总

    大家好 我刚接触流媒体不久 现在遇到一个非常奇怪的问题 向各位大侠请假 请你们指点 问题是这样的 用一个 VLC 流媒体客户端 去请求流媒体服务器上的数据 但是获得的数据播放速度明显快于1倍速 大概是 timestamp 不对 不知道是服务
  • 关于Qos中常用的CIR、PIR、CBS、PBS、EBS的解释以及用法关系

    CIR Committed Information Rate 承诺信息速率 每秒可通过的速率 计量单位为Kbps 以bit 位为单位 如设置为500Kbps 每8bit位 1Byte 1Kbps 1024bit PIR Peak Infor
  • ERROR: Could not find a version that satisfies the requirement XXX解决方法

    出现问题 ERROR Could not find a version that satisfies the requirement XXX解决方法 找了很久终于找到能解决这种报错的方法了 直接选用pip源并且信任它的来源就可以解决这种问题
  • No grammar constraints (DTD or XML schema) detected for the document

    No grammar constraints DTD or XML schema detected for the document
  • ESP8266与手机App通信(STM32)

    认识模块 ESP8266是一种低成本的Wi Fi模块 可用于连接物联网设备 控制器和传感器等 它具有小巧 高度集成和低功耗的特点 因此在物联网应用中被广泛使用 ESP8266模块由Espressif Systems开发 具有单芯片的封装和多
  • case when 作为条件_sqlserver条件分支case when使用教程

    在sqlserver的条件分支case when有两种写法 1 case 字段 when 值 then 返回值 when 值2 then 返回值2 end 2 case when 条件1 then 返回值1 when 条件2 then 返回
  • 【翻译】 zswap 压缩交换缓存

    您知道吗 LWN net 是一份由订阅者支持的出版物 我们依靠订阅者来维持整个运作 请通过订阅来帮助我们 让 LWN 继续在网络上运行 2013年2月12日 本文由 Seth Jennings 投稿 交换是性能的最大威胁之一 即使在快速固态
  • mysql中的default_详解MySQL中default的使用

    详解MySQL中default的使用 发布时间 2020 10 03 17 50 29 来源 脚本之家 阅读 60 作者 子不语 wj NULL 和 NOT NULL 修饰符 DEFAULT 修饰符 AUTO INCREMENT 修饰符 N
  • unity的LOD组件

    本文转载自http blog csdn net huutu article details 52106468 LOD是Level Of Detais 的简称 多细节层次 在游戏场景中 根据摄像机与模型的距离 来决定显示哪一个模型 一般距离近
  • 电脑开机时按F几重装系统

    常使用电脑的朋友都清楚 电脑系统有时候会出现故障 如果是出现不能开机的情况就需重我们装系统 那么如果 重装系统f几进入呢 下面小编现在来为大家详细的介绍一下电脑重装系统开机按F几 一起往下看 工具 原料 系统版本 win7系统 品牌型号 联
  • linux内核学习(7)粗略走走kbuild Makefile编译流程

    今天看Makefile文件 我头大了 此Makefile非彼Makefile 里面多了很多内置命令 比如origin patsubst等等啦 这些都没听说过 更可恶的是 连网上都没有 可见 这是一件多么伤人的事情 分析这样的 真是让人折寿啊
  • Toad常用快捷键和缩写替换

    Toad常用快捷键 F8 调出以前执行的sql命令 F9 执行全部sql Ctrl T 补全table name 或者显示字段 alt 箭头上下 看sql history Ctrl Enter 直接执行当前选中的sql Ctrl Shift
  • 文件服务器恢复测试,基于文件传输中文件损坏检测和恢复办法.doc

    基于文件传输中文件损坏检测和恢复办法 基于文件传输中文件损坏检测和恢复办法 摘 要 在网络上文件传输是一种常见的应用 讨论在文件传输完成后检测错误和恢复数据的办法 关键词 文件传输 文件校验 恢复 中图分类号 TP3 文献标识码 A 文章编