基于纠错码的容错技术的研究——X码的设计与实现
摘 要
随着计算机网络技术的迅猛发展,办公自动化和企业信息化的不断普及,人们对数据存储的需求越来越高,容错技术是提高计算机系统可靠性的有效手段。目前,X码已经作为计算机网络中提高系统可靠性的一种容错编码技术,被广泛应用在存储系统中。本文主要分析了基于纠错码的容错技术,并从X码的编码算法和译码算法的关键技术出发,采用X码对文件信息进行编码,增加两列校验文件信息,预先知道出错文件位置情况下,通过X码译码算法能恢复任意两列文件信息,实现一个文件容错仿真模型,进一步证明了基于X码容错技术的可靠。
关键词: X码;编码算法;译码算法;容错技术;可靠性目录
1 引言 1
1.1 课题背景 1
1.2 容错技术的概念 1
1.3 容错技术的发展历史 1
1.4 基于纠错码的容错技术的研究方法 2
2 X码的设计与实现的理论知识 2
2.1 X码的编码模式 2
2.2 X码的译码算法 4
2.2.1 纠正2列信息块 4
2.2.2 纠正2列信息块的算法 5
3 基于X码的文件恢复模块分析与设计 7
3.1 基于X码的文件恢复的模块功能图 7
3.2 文件随机产生模块功能 9
3.3 文件分割产生模块功能 10
3.4 编码模块功能 10
3.5 译码模块功能 12
4 测试和测试结论 13
4.1 测试 13
4.2 测试结论: 17
结 论 17
参考文献 18
致 谢 19
声 明 20
1.1 课题背景
信息存储是人类社会永恒的需求,从古时文字印刷到电子磁盘、光盘,人类信息的存储技术突飞猛进。IDC估计全球网络存储市场将从1999年2亿美元增加到如今25亿美元。国内对网络存储的需求量正在迅速增长中,从目前的市场销售金额(60亿)和每年的市场销售增长(20%左右)可以看出中国存储市场显示出其巨大的市场潜力。随着网络飞速地发展,应用在人们生活中的存储设备的数目不断增多,产生了大量的数据。为满足日益复杂的各种信息存储需求,因此希望这些设备可以独立于数据进行重启、更换,或者设备遭受损坏,而不至于影响到数据的正常使用。今后这些设备的数据主要是放在网络上,用户可以随时随地存储和访问自己的数据,并进行共享和交流。于是开发一种信息容量大的存储模式,实现真正的“网络存储”,同时提高人们查询读取的速度,这已成为互联网信息存储领域的前沿方向。为了满足用户对高可靠性、易于访问的海量存储系统的需求,人们把纠错码冗余技术应用到分布式存储系统中,用于提高存储系统的可靠性。
1.2 容错技术的概念
容错(Fault-tolerance):容忍故障,考虑故障一旦发生时能够自动检测出来并使系统能够自动恢复正常运行。
当出现某些指定的硬件故障或软件错误时,系统仍能执行规定的一组程序,或者说程序不会因系统中的故障而中止或被修改,并且执行结果也不包含系统中故障所引起的差错。
l 即使采用了排错技术,一个计算机系统还是迟早会发生故障的。因此在设计计算机系统时应考虑一旦发生故障能自动检测出故障并使系统自动恢复正常运行。这样设计出来的计算机系统在发生故障后仍能正确运行。
l 容错技术是从系统结构方面来提高计算机系统的可靠性。
l 容错技术与排错技术并不是相互对立的,它们可以相互补充,构成高可信的计算机系统。
1.3 容错技术的发展历史
近年来制造业、能源、交通、教育等行业对IA服务器的需求量迅猛增长,他们不仅期望服务器能够提供7X24小时的不间断连续运行,同时还希望减少维护工作量,以控制TCO(总拥有成本)等等。从2003年起,以超过20%的市场占有率名列日本服务器市场第一位的NEC服务器进入中国市场,使国内用户真正开始接触到IA架构、Windows 2000平台的容错服务器。事实上,容错技术从问世到现在,已经拥有了20年的历史。
用“大器晚成”形容容错技术20年来不断完善、发展的历史,实不为过。早在20世纪80年代,第一代容错技术就开始进入商用领域。美国Stratus(容错公司)采用了Motorola M68000处理器,在Stratus独特的硬件级容错技术及VOS专有操作系统环境下,为满足金融业、证券业、电信业,交通业及博彩业的需求提供了可靠的保证。Stratus领先的硬件级容错体系结构确保了99.999%的连续可用性,在当时遥遥领先于其他技术。但由于此服务器采用专有处理器与操作系统的封闭式架构,所以给它的广泛推广与大规模应用造成了阻碍,而其相对较高的成本和复杂的维护工作量也使得其局限于少数应用。
21世纪以来,全球信息技术革命如火如荼,制造业、中小企业、能源、交通等领域对服务器特别是中低端IA服务器需求激增,而过去仅仅可以应用在RISC平台、HP-UX环境下的容错产品面临着新的挑战。另一方面,企业越来越依赖信息系统来完成关键业务的应用,对服务器系统的可用性、高安全性提出更高的要求,同时他们不可能配备更多的专业人员来进行专职维护,这是双机热备、集群服务器难以解决的问题,所以容错技术就成为解决这些问题的主流。
现如今,容错服务器对很多用户来说,早已不再陌生。建立在冗余技术基础之上的容错服务器,在解决单点故障、缩短故障恢复时间、降低人为错误、减少部件和软件版本不兼容等方面相对于集群服务器都显示出了其强大的优势,并逐渐成为服务器市场的新亮点。