奇偶校验

HCIA-Storage:第七章存储可靠性

匿名 (未验证) 提交于 2019-12-02 23:40:02
1.为什么要引入RAID? 在传统的计算机存储系统中,存储工作通常是由计算机内置的磁盘来完成的,这种设计方式性能和容量都很容易遇到瓶颈。 内置存储存在诸多问题(重点): 1.由于机箱空间有限,硬盘数量的扩展受到限制了,单台服务器上存储容量自然也会受到限制; 2.不便于扩容,机箱满载的情况下需要扩展容量,只能通过添购服务器的方式实现,投资成本高,而且数据分散存储在不同的服务器上,不利于共享和备份; 3.可靠性低,机箱内部的硬盘相互独立,没有相关数据保护措施,坏盘情况下数据丢失的风险大; 4.存储空间利用率低,一台主机内置一块或几块容量较大的硬盘,而自身业务只需极小部分存储空间的情况下,其他主机也无法利用这些闲置的空间,总体而言造成了存储资源的浪费; 5.内置存储直接通过总线与内存相连,占用总线资源,影响主机性能。 随着大型计算、海量数据存储的发展,各类应用对计算能力、数据存储资源方面都有更高的要求,计算机内置存储已经很难满足各类信息化应用的需求。为了克服传统内置存储存在的问题,扩展磁盘数量,人们把磁盘从机箱里面挪到了机箱外面,通过SCSI总线将主机与外置的磁盘联系起来,进而通过扩展磁盘数量获得足够大的存储容量(引入RAID)。 重点:RAID技术的初衷,是将多个小容量的磁盘组合成一个大的逻辑磁盘,以获得更大的存储容量给大型计算机使用。随着磁盘技术不断发展,单个磁盘容量不断增大

java的io流基础篇乱码的原因

匿名 (未验证) 提交于 2019-12-02 21:53:52
1.编码的产生:我们的存储的基本单元是一个byte字节,然而人类的语言太多,无法用一个基本单元来表示,然而为了拆分或者一些相应的翻译工作,导致了编码的产生 2.常见的编码格式 ASCll :用一个字节的低7位共128个来表示,0-31表示控制字符,32-126表示打印字符, ASCll的二进制第一位也就是最高位,目的是用来做奇偶检验的,所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位添1;看到这是似乎对奇偶检验还是较为模糊,不大明白,例如字母A的ASCII码为1000001,若使用偶校验的结果是:01000001,奇检验的结果是11000001;奇偶检验是事先设定好了的,当CPU读取存储的数据时,它会再次把前8位中存储的数据相加,计算结果是否与校验位相一致。从而一定程度上能检测出内存错误,奇偶校验只能检测出错误而无法对其进行修正,同时虽然双位同时发生错误的概率相当低,但奇偶校验却无法检测出双位错,检验到错误的时候,接收数据方就会要求发送方重新传数据 范例: 串行数据在传输过程中,由于干扰,可能使位变为1,(为什么不变0?脉冲)这种情况,称为出现了"误码"。传输中的错误,叫"检错"

使用RAID与LVM磁盘阵列技术

江枫思渺然 提交于 2019-12-01 04:58:43
RAID磁盘冗余阵列   RAID技术通过把多个硬盘设备组合成一个容量更大、安全性更好的磁盘阵列,并把数据切割成多个区段后分别存放在各个不同的物理硬盘设备上,然后利用分散读写技术来提升磁盘阵列整体的性能,同时把多个重要数据的副本同步到不同的物理硬盘设备上,从而起到了非常好的数据冗余备份效果。   任何事物都有它的两面性。RAID技术确实具有非常好的数据冗余备份功能,但是它也相应地提高了成本支出。就像原本我们只有一个电话本,但是为了避免遗失,我们将联系人号码信息写成了两份,自然要为此多买一个电话本,这也就相应地提升了成本支出。RAID技术的设计初衷是减少因为采购硬盘设备带来的费用支出,但是与数据本身的价值相比较,现代企业更看重的则是RAID技术所具备的冗余备份机制以及带来的硬盘吞吐量的提升。也就是说,RAID不仅降低了硬盘设备损坏后丢失数据的几率,还提升了硬盘设备的读写速度,所以它在绝大多数运营商或大中型企业中得以广泛部署和应用。 出于成本和技术方面的考虑,需要针对不同的需求在数据可靠性及读写性能上作出权衡,制定出满足各自需求的不同方案。目前已有的RAID磁盘阵列的方案至少有十几种,而刘遄老师接下来会详细讲解RAID 0、RAID 1、RAID 5与RAID 10这4种最常见的方案 RAID 0    RAID 0技术把多块物理硬盘设备(至少两块)通过硬件或软件的方式串联在一起

RAID技术详解

青春壹個敷衍的年華 提交于 2019-11-30 23:00:45
RAID,为Redundant Arrays of Independent Disks的简称,中文为廉价冗余磁盘阵列。在1987年由美国柏克莱大学提出RAID(Redundant Arrayof Inexpensive Disks)理论,作为高性能的存储系统,巳经得到了越来越广泛的应用。RAID阵列技术允许将一系列磁盘分组,以实现为数据保护而必需的数据冗余,以及为提高读写性能而形成的数据条带分布。RAID最初用于高端服务器市场,不过随着计算机技术的快速发展,RAID技术已经渗透到计算机遍布的各个领域。如今,在家用电脑主板中,RAID控制芯片也随处可见。 RAID的级别从RAID概念的提出到现在,巳经发展了多个级别,有明确标准级别分别是0、1、2、3、4、5等。但是最常用的是0、1、3、5四个级别。其他还有6、7、10、30、50等。RAID为使用者降低了成本、增加了执行效率,并提供了系统运行的稳定性。 标准的RAID写操作,包括如:RAID4或RAID5中所必需的校验计算,需包括以下几个步骤: (1)以校验盘中读取数据 (2)以目标数据盘中读取数据 (3)以旧校验数据,新数据及已存在数据,生成新的校验数据 (4)将新校验数据写入校验盘 (5)将新数据写入目标数据盘 当主机将一个待写入阵列RAID组中的数据发送到阵列时

linux下磁盘rRAID介绍

我的梦境 提交于 2019-11-30 18:09:01
Raid0描述:最大能力保证速度 Raid0又称为stripe(条带化)或striping(条带模式),他在所有RAID级别中具有最高的存储性能 Raid0提高存储性能的原理是把连续的数据分散到多个磁盘上存取。这样,系统有数据读写请求就可以再多个磁盘并行的执行,每个磁盘读写属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。 要制作raid0要求至少1块物理磁盘,一般用来做RAID的不同磁盘大小最好一样(可以充分发挥并行优势);而数据分散存储于不同的磁盘上,再读写的时候可以实现并发,所以,raid0读写性能最好,但是没有容错功能,即任何一个磁盘的损坏会导致整个raid的全部数据丢失;生产中使用单盘,要做成raid0,否则无法使用。 Raid0的缺点是不具备数据冗余,因此一旦用户数据损坏,损坏的数据将无法的到恢复,raid0具有的特点:使其特别使用户对性能要求较高,而对数据安全不太在乎的领域。 生产场景: 1、 负载浚航集群下面的多个相同的RS节点服务器 2、 分布式文件存储下面的主节点或CHUNK SERVER 3、 Mysql主从复制的多个slave服务器 4、 对性能要求很高,对冗余要求很低的相关业务。 关注点 描述 容量 是四块盘加起来的容量,再raid级别中具备最该的存储性能,原理是把连续的数据分散到多个磁盘上存取 性能

TMS320F28377学习笔记——SCI串行通信接口

淺唱寂寞╮ 提交于 2019-11-29 23:43:40
本章介绍串行通信接口(SCI)模块的功能和操作。 SCI是一种双线异步串行端口,通常称为UART。 SCI模块支持CPU和使用标准非归零(NRZ)格式的其他异步外设之间的数字通信。 SCI接收器和发送器每个都有一个16级深FIFO,用于减少服务开销,每个都有自己独立的使能和中断位。 两者都可以独立操作以进行半双工通信,或同时进行全双工通信。 为了指定数据完整性,SCI检查接收到的数据是否存在中断检测,奇偶校验,溢出和帧错误。 比特率可通过16位波特选择寄存器编程为不同的速度。 SCI模块的功能包括: •两个外部引脚: SCITXD:SCI发送输出引脚 SCIRXD:SCI接收输入引脚 如果不用于SCI,则两个引脚都可以用作GPIO。 •波特率可编程为64K不同速率 •数据字格式 一个开始位 数据字长度可编程为1至8位 可选偶数/奇数/无奇偶校验位 一个或两个停止位 •四个错误检测标志:奇偶校验,溢出,成帧和​​中断检测 •两种唤醒多处理器模式:空闲线和地址位 •半双工或全双工操作 •双缓冲接收和发送功能 •发送器和接收器操作可以通过具有状态标志的中断驱动或轮询算法来完成。 •发送器和接收器中断的独立使能位(BRKDT除外) •NRZ(不归零)格式 •13个SCI模块控制寄存器位于控制寄存器帧中,从地址7050h开始 该模块中的所有寄存器都是8位寄存器,连接到外设帧2.当访问寄存器时

modbus通讯协议详解

荒凉一梦 提交于 2019-11-29 11:35:53
一、Modbus 协议简介     Modbus协议是一种已广泛应用于当今工业控制领域的通用通讯协议。通过此协议,控制器相互之间、或控制器经由网络(如以太网)可以和其它设备之间进行通信。Modbus协议使用的是主从通讯技术,即由主设备主动查询和操作从设备。一般将主控设备方所使用的协议称为Modbus Master,从设备方使用的协议称为Modbus Slave。典型的主设备包括工控机和工业控制器等;典型的从设备如PLC可编程控制器等。Modbus通讯物理接口可以选用串口(包括RS232和RS485),也可以选择以太网口。其通信遵循以下的过程:   ● 主设备向从设备发送请求   ● 从设备分析并处理主设备的请求,然后向主设备发送结果   ● 如果出现任何差错,从设备将返回一个异常功能码   此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。   当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构

详解RS232、RS485、RS422、串口和握手

牧云@^-^@ 提交于 2019-11-29 04:54:05
详解RS232、RS485、RS422、串口和握手 2019年08月06日 16:20:08 不脱发的程序猿 阅读数 1423更多 分类专栏: 技术分享 程序人生 通信 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/m0_38106923/article/details/98615747 目录 1、RS232基础 1.1、电气特性 1.2、连接器的机械特性 1.3、传输电缆 1.4、链路层 1.5、传输控制 1.6、RS-232标准的不足 2、RS485基础 2.1、RS-485 的电气特性 2.2、传输速率与传输距离 2.3、网络拓扑 2.4、连接器 3、RS422基础知识 4、串口与握手基础知识 4.1、串口基础知识 4.1.1、波特率 4.1.2、数据位 4.1.3、停止位 4.1.4、奇偶校验位 4.2、握手基础知识 4.2.1、软件握手 4.2.2、硬件握手 4.2.3、XModem握手 1、RS232基础 计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。 在串行通讯时,要求通讯双方都采用一个标准接口

RAID磁盘整列之RAID5

穿精又带淫゛_ 提交于 2019-11-28 09:46:47
概述 RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 RAID 5可以理解为是RAID 0和RAID 1的折中方案。RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低,是目前运用较多的一种解决方案。 RAID5和RAID4一样,数据以块为单位分布到各个硬盘上。RAID 5不对数据进行备份,而是把数据和与其相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。 RAID5磁盘阵列配置 对四块硬盘进行分区 分区完成,看一下硬盘状态 创建RAID 5卷 查看 格式化挂载之后就可以使用,具体细节可看之前博客 来源: https://blog.51cto.com/14449536/2432166

CRC(循环冗余校验)

与世无争的帅哥 提交于 2019-11-28 05:57:32
在线计算: http://www.ip33.com/crc.html 原文链接:https://blog.csdn.net/liyuanbhu/article/details/7882789 写给嵌入式程序员的循环冗余校验(CRC)算法入门引导 前言 CRC校验(循环冗余校验)是数据通讯中最常采用的校验方式。在嵌入式软件开发中,经常要用到CRC 算法对各种数据进行校验。因此,掌握基本的CRC算法应是嵌入式程序员的基本技能。可是,我认识的嵌入式程序员中能真正掌握CRC算法的人却很少,平常在项目中见到的CRC的代码多数都是那种效率非常低下的实现方式。 其实,在网上有一篇介绍CRC 算法的非常好的文章,作者是Ross Williams,题目叫:“A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS”。我常将这篇文章推荐给向我询问CRC算法的朋友,但不少朋友向我抱怨原文太长了,而且是英文的。希望我能写篇短点的文章,因此就有了本文。不过,我的水平比不了Ross Williams,我的文章肯定也没Ross Williams的写的好。因此,阅读英文没有障碍的朋友还是去读Ross Williams的原文吧。 本文的读者群设定为软件开发人员,尤其是从事嵌入式软件开发的程序员,而不是专业从事数学或通讯领域研究的学者(我也没有这个水平写的这么高深)。因此