Research of Fault Tolerance Technology based on Error Correcting Code ——The Design and Implementation of X Codes Abstract With the rapid expansion of the Internet and the increasingly wide of information technology, the demand for data storage becomes higher and higher. Fault-tolerant technology is an effective method to improve the reliability of computer systems. X codes are already a reliable fault-tolerant technology in the computer network and is widely used in storage systems. This dissertation systematically investigates fault tolerance technology based on error correcting code in storage system. And the file information is encoding by X codes, two columns of parity file information are added. Two columns of files’ losses can be recovered up to by decoding algorithm of X codes if error positions are known in advance. A File fault tolerance model is implemented by analyzing encoding and decoding algorithm of X codes. The reliability of X codes is further proven by experimentations. Key words: X code; encoding algorithm; decoding algorithm; Fault-tolerant technology; Reliabilityhttp://www.16sheji8.cn/ 目录 论文总页数:20页 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 测试和测试结论 13http://www.16sheji8.cn/ 4.1 测试 13 4.2 测试结论: 17 结 论 17 参考文献 18 致 谢 19 声 明 20 1 引言 1.1 课题背景 信息存储是人类社会永恒的需求,从古时文字印刷到电子磁盘、光盘,人类信息的存储技术突飞猛进。IDC估计全球网络存储市场将从1999年2亿美元增加到如今25亿美元。国内对网络存储的需求量正在迅速增长中,从目前的市场销售金额(60亿)和每年的市场销售增长(20%左右)可以看出中国存储市场显示出其巨大的市场潜力。随着网络飞速地发展,应用在人们生活中的存储设备的数目不断增多,产生了大量的数据。为满足日益复杂的各种信息存储需求,因此希望这些设备可以独立于数据进行重启、更换,或者设备遭受损坏,而不至于影响到数据的正常使用。今后这些设备的数据主要是放在网络上,用户可以随时随地存储和访问自己的数据,并进行共享和交流。于是开发一种信息容量大的存储模式,实现真正的“网络存储”,同时提高人们查询读取的速度,这已成为互联网信息存储领域的前沿方向。为了满足用户对高可靠性、易于访问的海量存储系统的需求,人们把纠错码冗余技术应用到分布式存储系统中,用于提高存储系统的可靠性。 http://www.16sheji8.cn/ 1.2 容错技术的概念 容错(Fault-tolerance):容忍故障,考虑故障一旦发生时能够自动检测出来并使系统能够自动恢复正常运行。 当出现某些指定的硬件故障或软件错误时,系统仍能执行规定的一组程序,或者说程序不会因系统中的故障而中止或被修改,并且执行结果也不包含系统中故障所引起的差错。 即使采用了排错技术,一个计算机系统还是迟早会发生故障的。因此在设计计算机系统时应考虑一旦发生故障能自动检测出故障并使系统自动恢复正常运行。这样设计出来的计算机系统在发生故障后仍能正确运行。 容错技术是从系统结构方面来提高计算机系统的可靠性。 容错技术与排错技术并不是相互对立的,它们可以相互补充,构成高可信的计算机系统。 1.3 容错技术的发展历史 近年来制造业、能源、交通、教育等行业对IA服务器的需求量迅猛增长,他们不仅期望服务器能够提供7X24小时的不间断连续运行,同时还希望减少维护工作量,以控制TCO(总拥有成本)等等。从2003年起,以超过20%的市场占有率名列日本服务器市场第一位的NEC服务器进入中国市场,使国内用户真正开始接触到IA架构、Windows 2000平台的容错服务器。事实上,容错技术从问世到现在,已经拥有了20年的历史。http://www.16sheji8.cn/ 用“大器晚成”形容容错技术20年来不断完善、发展的历史,实不为过。早在20世纪80年代,第一代容错技术就开始进入商用领域。美国Stratus(容错公司)采用了Motorola M68000处理器,在Stratus独特的硬件级容错技术及VOS专有操作系统环境下,为满足金融业、证券业、电信业,交通业及博彩业的需求提供了可靠的保证。Stratus领先的硬件级容错体系结构确保了99.999%的连续可用性,在当时遥遥领先于其他技术。但由于此服务器采用专有处理器与操作系统的封闭式架构,所以给它的广泛推广与大规模应用造成了阻碍,而其相对较高的成本和复杂的维护工作量也使得其局限于少数应用。 21世纪以来,全球信息技术革命如火如荼,制造业、中小企业、能源、交通等领域对服务器特别是中低端IA服务器需求激增,而过去仅仅可以应用在RISC平台、HP-UX环境下的容错产品面临着新的挑战。另一方面,企业越来越依赖信息系统来完成关键业务的应用,对服务器系统的可用性、高安全性提出更高的要求,同时他们不可能配备更多的专业人员来进行专职维护,这是双机热备、集群服务器难以解决的问题,所以容错技术就成为解决这些问题的主流。 现如今,容错服务器对很多用户来说,早已不再陌生。建立在冗余技术基础之上的容错服务器,在解决单点故障、缩短故障恢复时间、降低人为错误、减少部件和软件版本不兼容等方面相对于集群服务器都显示出了其强大的优势,并逐渐成为服务器市场的新亮点。http://www.16sheji8.cn/