精华内容
下载资源
问答
  • 时间如何安排的呢? 15:20 开始 15:35 写完摘要 16:00 写完第一页 16:40 写完第二页 17:15 写完第三页 17:20 交卷
  • 网络层容错及跨层协同优化设计是网络故障容错的重要研究内容, 主要对网络层容错技术研究进行了归纳和总结。网络层容错控制技术主要分为多路由传输、纠删编码/网络编码、数据重传机制、跨层协同优化与复合容错和仿生...
  • 除了传统的冗余机制,主动容错技术也被用来提高存储系统的可靠性。然而,当前对主动容错云存储系统可靠性的研究工作很少,而且都局限于硬盘故障服从指数分布的假设前提。针对主动容错磁盘冗余阵列RAID-5和RAID-6云...
  • 如果运行应用服务器的所有机器都发生故障,仍可以在客户端保存更新的资料,待应用程序服务器的机器恢复功能后,再自动把原先保存的资料更新回远程数据库服务器中,使得分布式多层应用系统的容错性能得到极大的提高。...
  • 摘要: 随着计算机技术的发展,计算机系统的可靠性越来越受到人们的重视,而容错技术是提高可靠性的一种有效方法。本文研究了计算机容错技术的各种方法,如硬件容错、信息容错、软件容错等,介绍了TMR(三模冗余)的...
  • SRAM型FPGA的SEU容错技术研究.pdf
  • #资源达人分享计划#
  • 容错技术

    千次阅读 2019-04-23 11:57:32
    容错技术是保证系统在某些组成部分出现故障或差错时仍能正常工作的技术。 容错技术:单机容错技术、双机热备份技术和服务器集群技术。 系统的故障可分为两类: 一类是“致命的”,不可能自行修复. 另一类是局部的...

    容错技术是保证系统在某些组成部分出现故障或差错时仍能正常工作的技术。

    容错技术:单机容错技术、双机热备份技术和服务器集群技术。
    系统的故障可分为两类:
        一类是“致命的”,不可能自行修复.
        另一类是局部的,可能被修复.

        单机容错技术中,提高系统工作可靠性的方法主要有自检技术和冗余技术。 硬件容错、软件容错、整机容错
        自检技术:自检指系统在发生非致命性故障时能自动发现故障和确定故障的性质、部位,并自动采
    取措施更换和隔离产生故障的部件。

        冗余技术:
        冗余可分为硬件冗余(增加硬件)、软件冗余(增加程序,如同时采用不同算法或不同
    人编制的程序)、时间冗余(如指令重复执行、程序重复执行)、信息冗余(如增加数据位)
    等。冗余技术中最常用的两种方法是重复线路和备份线路。

    双机热备份技术
    双机热备份技术是一种软硬件结合的较高容错应用方案。该方案是由两台服务器系统和一个外接共享磁盘阵列柜和相应的双机热备份软件组成。

    所谓“心跳”,指的是主、从系统之间相互按照一定的时间间隔发送通信信号,表明各自系统当前的运行状态。

    双机热备份方案中,根据两台服务器的工作方式可以有三种不同的工作模式,即:双机热备模式、双机互备模式和双机双工模式。

    双机热备模式即目前通常所说的 active/standby 方式, active 服务器处于工作状态;而
    standby 服务器处于监控准备状态,服务器数据包括数据库数据同时往两台或多台服务器写
    入(通常各服务器采用 RAID 磁盘阵列卡),保证数据的即时同步。

    服务器集群技术集群技术指一组相互独立的服务器在网络中组合成为单一的系统工作,并以单一系统的
    模式加以管理。

    展开全文
  • 通过主备形式的数据库部署进行软件容错;通过程序设计方面进行软件的容错与避错。以上措施对提高系统的可用性、安全性和可扩展性方面起到了很好的效果,满足了系统的性能需求,保证了系统的稳定运行,得到了用户的...

      声明:本文为本人在软考系统架构设计师备考期间的练手写作,不保证内容的原创性与正确性,仅供参考,请勿照抄和用于学术论文等正规场合,因不当使用产生后果一律自负。

    摘要

      2019年3月,我单位联合某高校研发了《程序在线评测比赛考试系统》。系统以程序代码在线提交自动评测功能为核心,分为题库模块、评测机模块、实验作业模块、考试模块、比赛模块、抄袭判定模块、用户管理模块等,支持对接教务平台。在项目中我担任系统架构师,负责架构设计工作。
      本文以该平台的评测功能、数据库功能、自动出卷功能为例,主要论述了软件容错技术和方法在项目中的具体应用。系统通过采用集群化的形式进行应用部署,通过主备形式的数据库部署进行软件容错,通过程序设计方面进行软件的容错与避错。以上措施对提高系统的可用性、安全性和可扩展性方面起到了很好的效果,满足了系统的性能需求,保证了系统的稳定运行,获得了用户的一致好评。

    正文

      笔者在一个专为高校建设计算机专业智能教学一体化平台的单位任职,过往成果有《计算机组成原理仿真实验系统》等。2019年3月,我单位联合某大学研发了《程序在线评测比赛考试系统》项目(以下简称为“OJ系统”),以取代原有传统的编程上机考试平台。
      系统以程序代码的在线提交自动评测功能为核心,主要分为题库模块、评测机模块、实验作业模块、考试模块、比赛模块、抄袭判定模块、用户管理模块等。题库模块主要负责试题和测试用例的管理,用户根据试题要求编写程序代码提交到系统,系统将测试用例与程序代码发送给评测机模块,由评测机自动编译、执行、判分,并将结果发送给其他相关模块进行统计;实验作业模块用于在线布置作业,从题库中选取试题,设置截止日期等要求;考试模块用于学生在线考试,按教师预先设置的参数自动从题库随机抽题生成试卷,以及向教务平台上传考试成绩;比赛模块主要用于ACM竞赛的培训;抄袭判定模块用于鉴定代码与他人代码雷同率;用户管理模块负责用户信息的管理。在这个项目中,我担任了系统架构师的职务,主要负责系统的架构设计相关工作。
      OJ平台以微服务架构作为基本架构风格,基于Spring Cloud框架,采用Java语言开发,将平台服务划分为三类,分别为核心服务、平台Web服务、平台保障服务。其中核心服务主要分为程序评测服务、试卷判分服务、比赛判分服务、代码相似度比对服务等。平台Web服务主要提供给用户使用的界面。平台保障服务主要包括WebAPI框架、平台报警服务、MQ消息中间件服务等。对于核心服务、平台Web相关的服务必须要能保证在考试、竞赛期间的稳定运行,对软件的可靠性要求非常高,所以在OJ平台中的这些核心服务就必须具备一定的容错能力,在某个服务运行时出错的情况下不能影响到整个系统的正常运行,这就要求在软件架构设计中必须考虑到软件容错技术的应用。
      提高软件系统可靠性的技术主要分为:容错技术、避错技术。容错技术主要通过冗余实现,分为结构冗余、时间冗余、信息冗余、冗余附加。结构冗余又分为静态冗余、动态冗余和混合冗余。软件避错技术主要有N版本程序设计、恢复块方法和防卫式程序设计。结合Web软件的性质,我主要采用了集群技术、数据库主从方式和程序设计方面来进行软件的容错与避错处理。下面就从以上三方面详细讨论我所采用的容错技术和方法。

    1. 集群技术

      平台中各服务如果在运行时部署在一台服务器上,那么当服务器故障,整个平台将不能再提供任何服务,所以一般规模的应用需要采取集群的部署方式。以OJ系统中的评测机模块为例,程序评测属于耗时操作,用户提交的程序需要统一存入MQ队列中排队,然后由评测机依次进行读取和判分。如果评测机只部署了单个应用,那么当评测机因执行用户提交的不安全代码导致宕机时,后续所有待评测程序都将被阻塞。通过多机同时部署相同功能的评测机集群,再结合服务管理中心的软负载均衡功能,在系统正常运转时,多个评测机并行工作,可提高评测效率,在部分评测机宕机时,评测工作交由其他正常评测机分担,以留出供故障评测机重置恢复的时间,防止了因单台评测机宕机致整个平台不可用的问题出现,保证了业务的连续性,提高了系统的可靠性。

    2. 数据库主从部署

      对于OJ平台来说,后端数据库存储的稳定性是极其重要的,所有的程序提交记录、考试答题记录、成绩统计记录都将存储到数据库中。如果数据库在运行过程中频繁宕机,那么带来的问题是不可容忍的。这里就要求数据库存储有非常高的可靠性,同时有很强的容错性,在这里主要采用主从式方法部署数据库结构,实现读写分离的架构。在不出问题的情况下,对于一些时效性要求不高的场合,从库可以分担一部分读流量,当主库发生读写问题时,可快速由其他的从库升级为主库,继续服务,达到容错的效果。此外,OJ系统还增加了数据库宕机报警的功能,防止宕机的数据库实例过多以至于并发高的情况下没有可用的从库可升级为主库,提高了平台的可靠性。数据库所依赖的硬件存储采用了基于RAID6的磁盘阵列,最高可容许两块硬盘同时发生故障,降低数据文件丢失的可能性。

    3. 程序设计方面

      根据以往的设计经验,系统的不可靠大部分是由于程序内部的设计、网络请求参数的配置或者连接池参数的配置不当所导致的。所以通过程序设计方面进行软件的容错是非常重要的。最普遍的就是防卫式程序设计,例如平台中的考试服务,需要根据预设的试卷规格,调用题库服务中的题目信息来自动生成试卷。当大量考生同时进入考试功能时,题目服务在被调用的一刻如果出现网络拥塞或者丢包,这时候考试服务必然会收到抛出的错误信息,如果没有通过恰当的容错处理,那么一定会给考生显示进入考试失败的错误。这里我采用了try-catch机制加10次重试的容错处理机制,就解决了进入考试时因网络原因导致进入考试失败的问题。

    总结

      通过采用了以上容错技术的方法和措施后,评测机模块达到了六余度,数据库达到了四余度,考试出卷功能等待时间控制在了5秒内,使整个系统达到了可靠性和实时性的要求。
      系统自2019年10月正式上线已运行一年有余,在学校的日常教学考试和竞赛培训中投入使用,截至目前已有3000以上的学生用户、评测了70000条以上的程序代码,获得了单位同事领导和学校教师们的一致好评。
      然而在使用过程中,系统还是出现了可靠性方面的故障。比如评测机虽然使用了集群部署,但由于提交作业的学生初次学习编程、对试题理解有误,短时间内提交了大量不安全代码,导致所有评测机实例全部宕机。我们对问题分析和试验后,将原部署在物理机上的评测机改为部署在虚拟化平台,结合心跳机制,自动回滚快照重置失效实例,省去了物理机系统重启的时间,将单个评测实例的恢复时间缩短到了10秒内。另外,我们使用了机器学习技术,对代码进行预判断,有宕机风险的代码将会被分流和延后处理。最终这个问题得到了解决。
      实践证明,OJ系统项目能够顺利上线,并且稳定运行,与系统的可靠性设计密不可分。经过这次软件容错技术的方法和实施的效果后,我也看到了自己身上的不足之处,在未来还会不断地更新知识,完善本系统在可靠性方面的设计,使整个系统能够更加好用,更有效地服务于高校师生。

    展开全文
  • 故障模型与容错技术

    2019-09-17 14:01:38
    通常根据不同的系统配置方法而采用相应容错技术:单机容错技术、双机热备份技术和服务器集群技术。 单机容错技术 在单机容错技术中,提高系统工作可靠性的方法主要有自检技术和冗余技术。容错又有多种形式,如...

    故障模型

    下面介绍几种常用的故障模型。

    1.逻辑级的故障模型

    固定型故障指电路中元器件的输入或输出等线的逻辑固定为 0 或固定为 1,如某线接地、电源短路或元件失效等都可能造成固定型故障。短路故障是指一个元件的输出线的逻辑值恒等于输入线的逻辑值;元件的开路故障是元件的输出线悬空,逻辑值可根据具体电路来决定。桥接故障指两条不应相连的线连接在一起而发生的故障。

    2.数据结构级的故障

    故障在数据结构上的表现称为差错。常见的差错如下。 独立差错:一个故障的影响表现为使一个二进制位发生改变。 算术差错:一个故障的影响表现为使一个数据的值增加或减少 2i(i=0,1,2,…)。 单向差错:一个故障的影响表现为使一个二进制向量中的某些位朝一个方向(0 或 1)改变。

    3.软件故障和软件差错

    软件故障是指软件设计过程造成的与设计说明的不一致的情况,软件故障在数据结构或程序输出中的表现称为软件差错。与硬件不同,软件不会因为环境压力而疲劳,也不会因为时间的推移而衰老。因此,软件故障只与设计有关。

    4.系统级的故障模型故障在系统级上的表现为功能错误,即系统输出与系统设计说明的不一致。

    容错技术是保证系统在某些组成部分出现故障或差错时仍能正常工作的技术。通常根据不同的系统配置方法而采用相应容错技术:单机容错技术、双机热备份技术和服务器集群技术。

    单机容错技术

    在单机容错技术中,提高系统工作可靠性的方法主要有自检技术和冗余技术。容错又有多种形式,如硬件容错、软件容错、整机容错等。

    1.自检技术 自检指系统在发生非致命性故障时能自动发现故障和确定故障的性质、部位,并自动采取措施更换和隔离产生故障的部件。

    2.冗余技术 冗余可分为硬件冗余(增加硬件)、软件冗余(增加程序,如同时采用不同算法或不同人编制的程序)、时间冗余(如指令重复执行、程序重复执行)、信息冗余(如增加数据位)等。冗余技术中最常用的两种方法是重复线路和备份线路。

    双机热备份技术

    双机热备份技术是一种软硬件结合的较高容错应用方案。该方案是由两台服务器系统和一个外接共享磁盘阵列柜和相应的双机热备份软件组成。

    双机热备份系统采用“心跳”方法保证主系统与备用系统的联系。所谓“心跳”,指的是主、从系统之间相互按照一定的时间间隔发送通信信号,表明各自系统当前的运行状态。

    服务器集群技术

    集群技术指一组相互独立的服务器在网络中组合成为单一的系统工作,并以单一系统的模式加以管理。 集群必须可以协调管理各分离的构件出现的错误和故障,并可透明地向集群中加入构件。

    展开全文
  • 随着大规模计算技术的发展,虚拟机技术已经成为云计算中的重要技术。为了提高云计算实验平台的运行效率,提出了一种虚拟机容错机制,并进行了研究,详细论述了...通过实验表明,该容错技术能有效的提高实验平台的性能。
  • 针对官方的Hadoop软件中提供的节点心跳超时容错机制对短作业并不合理,而且忽略了异构集群中各节点超期时间设置的公平性的问题,提出了公平心跳超时容错机制。首先根据每个节点的可靠性及计算性能构建节点故障误判...
  • 数据备份容错技术.pdf

    2021-10-04 21:44:59
    数据备份容错技术.pdf
  • Sentinel微服务高可用容错技术架构实践技术创新变革未来目录01030402Sentinel核心场景实践Sentinel 核心技术云原生时代的 高可用防护微服务可用性 的场景激增流量 打垮被其他服 务拖垮异常没处理4个9 - 52.6 分钟5个...
  • 实时系统要求高可靠性,实现高可靠性系统的基本方法是建立容错系统。介绍了一种基于Windows多线程思想设计的双机容错热备系统的实现,给出保持状态一致的三种方法,从串口和网络两方面论证了其实现思想。讨论了机群...
  • 优先级反转是实时系统中出现最多的问题。为了防止这种现象的发生,目前经常采用的...容错技术是提高系统可靠性的重要保障,利用容错技术对优先级继承进行扩展,可以更好地解决优先级的反转问题,保障了系统的实时性能。
  • 服务器容错技术

    2011-09-22 23:24:33
    服务器容错技术的硬件实现,软件实现原理 各种技术比较
  • 容错技术是保证系统在某些组成部分出现故障或差错时仍能正常工作的技术。通常根据不同的系统配置方法而采用相应容错技术:单机容错技术 、 双机热备份技术和服务器集群技术。 1 单机容错技术 容错技术是保证系统在...

    容错技术是保证系统在某些组成部分出现故障或差错时仍能正常工作的技术。通常根据不同的系统配置方法而采用相应容错技术:单机容错技术 、 双机热备份技术和服务器集群技术。

    1 单机容错技术

    容错技术是保证系统在某些组成部分出现故障或差错时仍能正常工作的技术。系统的故障可分为两类:一类是 “ 致命的 ” ,不可能自行修复,例如系统的主要部件全部损坏;另一类是局部的,可能被修复,例如部分元件失效 、 线路故障 、 偶然干扰引起的差错等。

    容错技术正是用于构造一种能够自动排除非致命性故障的系统,即容错系统。在单机容错技术中,提高系统工作可靠性的方法主要有自检技术和冗馀技术。容错又有多种形式,如硬件容错 、 软件容错 、 整机容错等。

    1.1 自检技术

    自检指系统在发生非致命性故障时能自动发现故障和确定故障的性质 、 部位,并自动采取措施更换和隔离产生故障的部件。自检需采用诊断技术,常用专门程序实现,属于程序设计的范围。容错系统的实现要求系统必须具有重复部件或备份部件,或具有不止一个完成某种功能的通道。因此自检技术常配合冗馀技术使用。计算机的容错系统一般都需要应用自检技术。

    1.2 冗余技术

    冗馀可分为硬件冗馀(增加硬件) 、 软件冗馀(增加程序,如同时采用不同算法或不同人编制的程序) 、 时间冗馀(如指令重复执行 、 程序重复执行) 、 信息冗馀(如增加数据位)等。

    冗馀技术中最常用的两种方法是重复线路和备份线路。重复线路指用多个相同品种和规格的元件或构件并联起来,当作一个元件或构件使用,只要有一个不出故障,系统就能够正常工作。在并联工作时每一个构件的可靠性概率是互相独立的。备份线路与重复线路的差别是参加备份的构件并不接入系统,只有在处于工作状态的构件发生故障后才把输入和输出接到备份构件上来,同时切断故障构件的输入 、 输出。容错技术已获得广泛应用,常用于对可靠性要求高的系统,特别是用于危及人身安全的关键部位。在这些部位大多采用双重冗馀,也有采用三重 、 四重甚至五重冗馀的。

    现代的大型复杂系统常常是容错能力很强的系统。容错技术在计算机中应用得最早 、 最广泛。

    2 双机热备份技术

    双机热备份技术是一种软硬件结合的较高容错应用方案。该方案是由两台服务器系统和一个外接共享磁盘阵列柜和相应的双机热备份软件组成。其中的外接共享磁盘阵列柜也可以没有,而是在各自的服务器中采取 RAID ( Redundant Arrayof Independent Disk ,独立冗馀磁盘阵列)卡。

    在这个容错方案中,操作系统和应用程序安装在两台服务器的本地系统盘上,整个网络系统的数据是通过磁盘阵列集中管理和数据备份的。数据集中管理是通过双机热备份系统,将所有站点的数据直接从中央存储设备读取和存储,并由专业人员进行管理,极大地保护了数据的安全性和保密性。用户的数据存放在外接共享磁盘阵列中,在一台服务器出现故障时,备机主动替代主机工作,保证网络服务不间断。

    双机热备份系统采用 “ 心跳 ” 方法保证主系统与备用系统的联系。所谓 “ 心跳 ” ,指的是主 、 从系统之间相互按照一定的时间间隔发送通信信号,表明各自系统当前的运行状态。一旦 “ 心跳 ” 信号表明主机系统发生故障,或者备用系统无法收到主机系统的 “ 心跳 ” 信号,则系统的高可用性管理软件认为主机系统发生故障,立即将系统资源转移到备用系统上,备用系统替代主机工作,以保证系统正常运行和网络服务不间断。

    双机热备份方案中,根据两台服务器的工作方式可以有三种不同的工作模式,即:双机热备模式 、 双机互备模式和双机双工模式。

    双机热备模式即目前通常所说的 active / standby 方式, active 服务器处于工作状态;而 standby 服务器处于监控准备状态,服务器数据包括数据库数据同时往两台或多台服务器写入(通常各服务器采用 RAID 磁盘阵列卡),保证数据的即时同步。当 active 服务器出现故障时,通过软件诊测或手工方式将 standby 机器激活,保证应用在短时间内完全恢复正常使用。典型应用有证券资金服务器或行情服务器。这是目前采用较多的一种模式,但由于另外一台服务器长期处于后备的状态,所以浪费了一部分计算资源。

    用户可以根据系统的重要性及终端用户对服务中断的容忍程度决定是否使用双机热备份。例如,网络中的用户最多能容忍多长时间恢复服务,如果服务不能很快恢复会造成什么样的后果作为是否采用双机热备份的根据。对于承担企业关键业务应用的服务器需要极高的稳定性和可用性,并需要提供每周7(天) ×24 (小时)不间断服务的应用,推荐使用双机热备份。

    双机互备模式,是两个相对独立的应用在两台机器同时运行,但彼此均设为备机,当某一台服务器出现故障时,另一台服务器可以在短时间内将故障服务器的应用接管过来,从而保证了应用的持续性,但对服务器的性能要求比较高。

    双机双工模式是集群的一种形式,两台服务器均处于活动状态,同时运行相同的应用,以保证整体系统的性能,也实现了负载均衡和互为备份,通常使用磁盘柜存储技术 。Web 服务器或 FTP 服务器等用此种方式比较多。

    3 服务器集群技术

    集群技术指一组相互独立的服务器在网络中组合成为单一的系统工作,并以单一系统的模式加以管理。此单一系统为客户工作站提供高可靠性的服务。大多数情况下,集群中所有的计算机拥有一个共同的名称,集群内任一系统上运行的服务可被所有的网络客户使用。集群必须可以协调管理各分离的构件出现的错误和故障,并可透明地向集群中加入构件。

    一个集群包含多台(至少二台)共享数据存储空间的服务器。其中任何一台服务器运行应用时,应用数据被存储在共享的数据空间内。每台服务器的操作系统和应用程序文件存储在其各自的本地储存空间上。

    集群内各节点服务器通过一个内部局域网相互通信,当一台节点服务器发生故障时,这台服务器上所运行的应用程序将在另一节点服务器上被自动接管。当一个应用服务发生故障时,应用服务将被重新启动或被另一台服务器接管。当以上的任一故障发生时,客户都将能很快连接到其他应用服务器上。


    展开全文
  • 容错技术是实时多任务并行计算系统设计中必须解决的一个关键难点。针对实时多任务并行计算系统的高可靠性和高效性的要求,介绍了计算机系统可靠性和容错技术的基本概念、基本方法和基本思想,在检查点技术和卷回技术...
  • 本文对过程控制中的容错技术进行了研究,介绍了容错过程控制的基本思想,从控制系统的硬件和软件两个方面,分析了利用容错技术提高控制系统的可靠性的措施和方法。最后,把容错技术应用于电力机车LCU设计。结果表明,容错...
  • 为提高软件的可靠性,将容错技术引入到模块化方法开发的测控系统软件中,根据测控系统自身的特点,从数据、操作、硬件及软件四个方面讨论了软件开发中的避错、容错方法。在我们所研制开发的驱动桥综合性能实验台软件...
  • FPGA的空间容错技术研究.pdf
  • 1、简述容错技术的四种主要手段,并解释。 答: 结构冗余:包括静态冗余、动态冗余和混合冗余。 信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。 时间冗余:指重复执行指令或程序来消除瞬时...
  • 为了提升电力飞机配电系统电压供应品质,本论文利用重构控制理论来设计...更进一步我们以容错控制的观念来设计主动式及被动式容错控制律,使得飞机配电系统在控制器发生故障或异常情况时,依然可以达到电压调节的目的。
  • gpu 容错技术

    2017-06-23 19:37:30
    gpu容错
  • 在煤矿井下,外界干扰对电子产品的影响是...矿用电子产品可靠性设计是一项系统工程,其软件系统的容错技术能起到抑制煤矿井下干扰的作用。在软件运行过程中,应能及时诊断出硬件运行故障并修复错误,从而确保程序正确运行。
  • 内存容错技术ECC&Chipkill&保护&镜像

    千次阅读 2020-03-09 11:30:28
    因此,即使整个内存芯片出了故障,每个ECC识别码也将最多出现一比特坏数据,而这种情况完全可以通过ECC逻辑修复,从而保证内存子系统的容错性,保证服务器在出现故障时,有强大的自我恢复能力。采用这种技术的内存...
  • 但是,生成正确的容错代码十分困难,而且几乎没有关于证明这些技术的正确性的研究。类型化汇编语言(TAL)是一种标准的程序安全性证明的方式。本文概述了一种面向瞬时故障的软硬结合的容错方法,以及对该方法的形式...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 118,088
精华内容 47,235
关键字:

容错技术