精华内容
下载资源
问答
  • 在数组中查找近似给定值的元素,使其在指定的容错范围内,是一项常见任务。 这个非常简单的脚本会自动执行此任务,并按误差从最小到最大的顺序输出相关的元素索引,从而轻松地仅选择 n 个最接近的匹配项。 可以指定...
  • 针对一类执行器故障不确定离散重复过程, 提出一种有限频率范围的迭代学习容错控制算法. 通过定义故障系数矩阵和输出跟踪系统的等价二维模型, 沿故障系统的时间轴和批次轴设计迭代学习被动容错控制器, 以线性矩阵...
  • 纳米电子交叉开关架构上的容错逻辑映射的覆盖范围优化
  • 基于延迟范围的混合迭代学习多阶段批处理的容错保证成本控制
  • 移动无线传感器网络中基于容错的基于行的屏障覆盖范围的形成
  • Calendar日历容错与非容错模式 lenient模式时(默认使用),它的字段可以接收超过允许范围的值,当调用get(int field)方法获取某个字段值时,Calendar会重新计算所有字段的值,将字段标准化 non-lenient模式下时,...

    Calendar日历容错与非容错模式

    • lenient模式时(默认使用),它的字段可以接收超过允许范围的值,当调用get(int field)方法获取某个字段值时,Calendar会重新计算所有字段的值,将字段标准化
    • non-lenient模式下时,如果某个字段超出了它运行的范围值,程序将会抛出异常
    package com.sgl;
    
    import java.util.Calendar;
    
    public class Test {
        public static void main(String[] args){
            long startTime = System.currentTimeMillis(); //循环开始时的当前时间
    
            //获取表示当前时间的Calendar对象
            Calendar calendar = Calendar.getInstance();
            //设置指定日期,将MONTH设置为13
            calendar.set(Calendar.MONTH,13);
            System.out.println(calendar.getTime());
    
            //开启non-lenient模式
            calendar.setLenient(false);
            calendar.set(Calendar.MONTH,13);
            System.out.println(calendar.getTime());
            
            long endTime = System.currentTimeMillis();  //循环结束时的当前时间
            System.out.println("程序运行时间为:"+(endTime - startTime)+"毫秒");  //程序运行时间为:28毫秒   值不确定
        }
    
    }
    

    运行结果:

    在这里插入图片描述

    简述:

    Calendar类默认使用lenient模式,当调用Calendar的set()方法将MONTH值设置为13时,会发生进位,YEAR字段加1,然后MONTH字段变为1,第一个语句输出的结果为:2月2日。当代码调用Calendar的setLenient(false)方法开启non-lenient模式后,同样设置MONTH字段为13,会超出MONTH字段0~11的范围而抛出异常。

    Calendar的getTime()方法会返回一个表示Calendar时间值的Date对象,同样Calendar有一个setTime(Date date)方法,setTime()方法接收一个Date对象,将Date对象表示的值设置给Calendar对象,通过这两种方法就可以完成Date和Calendar对象之间的转换

    展开全文
  • 计算机是一个较为复杂的系统,为确保其运行稳定性和可靠性,应当在系统设计时,对容错技术进行合理运用。基于此点,文章从容错的常用方法分析入手,论述了容错技术在计算机系统中的具体应用。期望通过本文的研究能够...

    计算机是一个较为复杂的系统,为确保其运行稳定性和可靠性,应当在系统设计时,对容错技术进行合理运用。基于此点,文章从容错的常用方法分析入手,论述了容错技术在计算机系统中的具体应用。期望通过本文的研究能够对计算机系统性能的提升有所帮助。

    1容错的常用方法

    1.1冗余

    这是计算机系统容错最为基本的途径之一,通过冗余可以大幅度提升系统的容错性能。大体上可将冗余分为两类,一类是时间冗余,另一类是空间冗余。前者是指借助重复计算过程来实现系统容错;后者是指利用额外的资源来实现系统容错,按照使用的冗余资源,可将之细分为硬件冗余、软件冗余、信息冗余等等。

    1.2回滚恢复容错

    这是一种通过对计算状态进行周期性保存来达到容错目的的方法。计算机系统在运行的过程中,如果出现故障问题,通过回滚恢复,可以使应用程序回到之前保存的某个状态处,重新对程序进行执行。该容错方法是时间冗余与空间冗余的有机结合,最早出现在分布式系统当中,随着技术的逐步完善,其在并行计算领域中得到广泛应用。

    1.3TRM容错

    这是目前计算机系统中应用最为广泛的容错技术,一个基本的TRM系统由三个完全相同的模块和一个投票器组成,三个模块会同时对输入的数据进行接收,每个模块将生成的结果发送给投票器,并由投票器通过投票的方式进行表决,其输出的数据主要取决于三个输入中多数一方的结果。如果三个模块中的某一个发生故障,其它两个模块可以保持正常运行,并对故障模块的错误输出进行掩盖,这样一来,投票器的输出结果便可以保持正确。容错系统可靠运行的条件是至少有两个模块需要始终保持正常。

    1.4检查点技术

    这是一种通过保留与恢复来达到容错目的的方法,其基本的技术原理如下:定期将执行状态存储于稳定的介质当中,当系统发生故障后,可从该介质中对状态进行恢复。被保存的状态即检查点,含有检查点的磁盘为检查点文件。如果计算机系统中加入检查点技术,运行中发生故障时,那么系统则可从故障中快速恢复正常,由此可确保系统的稳定运行,减轻了相应的损失。在计算机系统中,检查点的类型有两种,一种是局部,也就是所谓的单进程,另一种是全局,即并行程序。通过相关协议的设计,检查点可实现程序的快速恢复。在实际应用中发现,检查点技术存在如下不足:很难对软错误进行检测、开销大、可扩展性差、容易出现存储失效的情况。为了解决上述问题,业内的专家学者经过不断研究,对检查点技术进行优化改进,开发出无盘和增量两种检查点技术,前者是通过对计算机系统的内存进行利用,达到减少记录检查点开销的目的;后者则是通过保存必须的程序来减少存储开销。

    2容错技术在计算机系统中的具体应用

    2.1容错的实现步骤

    在计算机系统中对容错技术进行应用的过程中,容错的具体实现步骤如下:

    2.1.1对系统故障问题进行自动检测

    由上文可知,计算机系统出现故障后,会导致错误,由此可能会引起失效。而部分失效会造成系统的逻辑故障。在对逻辑故障进行检测时,可以使用的方法较多,其中较具典型性和代表性的有奇偶校验、一致性校验等等。大体上可将故障检测分为两种类型,一类是脱机,另一类是联机。在脱机状态下,对系统故障问题进行检测时,计算机及相关设备无法正常执行任务,而在联机状态下对系统故障进行检测时,可确保任务与检测过程一并进行,这是联机检测的应用优势,具体可以利用冗余校验的方法进行联机检测(田丽娜,王海龙,计算机系统容错技术分析:科技展望,2016)。

    2.1.2故障限制与屏蔽

    通常情况下,计算机系统中的故障都会出现在某个部位,但由于系统本身是一个整体,所以局部故障可能会影响到其它的功能,为使故障的影响范围降至最低程度,需要对故障进行限制,这是容错技术在计算机系统中应用时较为重要的一个作用。通过故障限制,将故障的传播限定在一个特定的区域内,避免对其它的区域造成影响。故障屏蔽是掩盖失效的一种方法,从本质上讲,就是利用冗余解决错误信息,比较常见的故障屏蔽为多数表决。

    2.1.3重试与诊断

    计算机系统是一个较为复杂的系统,在对系统进行首次操作时,可能无法成功,但再次操作却可以成功。这种情况大多是因为瞬时故障引起,其通常不会造成物理破坏,所以只需要通过重试便可进行解决。容错技术中的诊断,则是在故障检测并未提供故障性质、发生位置等信息的情况下,对故障进行准确判断的做法。

    2.1.4重组与恢复

    当容错系统检测到计算机当中存在故障问题时,并判断该故障为永久性故障后,通过重组,可对失效的器件进行替代,并将其从系统中隔离出去。这一过程也可通过冗余系统来完成,由此可以使计算机系统的性能得到保障。经过重组之后,需要将计算机系统中的错误消除掉,此时系统会回到故障检测前的某个点上,并从该点重新开始操作。为确保系统在故障后能够快速恢复,既要有备份文件和检验点,还要有应用记录。

    2.1.5重启

    当计算机系统中出现的错误导致大量的信息被破坏,并且系统未设计恢复功能,这样系统无法通过自动恢复来消除错误的影响(刘娟,高可靠计算机系统的容错技术分析:计算机产品与流通,2018)。如果系统在出现错误时,并未遭到破坏,可以通过重新启动来恢复相关的操作。重启分为两种方式,一种是热重启,在这种重启方式下,不会对系统造成任何损失,另一种是冷启动,这种方式下,系统需要对相应的程序进行重新加载。

    2.1.6修复与重构

    通过诊断找到计算机系统中某个故障元件后,可用完好的元件进行替换,从而快速消除故障,使系统恢复正常运行。容错技术中的修复,既可以在脱机的状态下进行,也可在联机的情况下完成。当元件替换后,应当使修复的模块重新加入到系统当中,这个过程即为重构。

    2.2实现容错的方法

    计算机系统实现容错时,需要对如下技术方法进行运用:

    2.2.1自动检验

    当计算机系统中出现故障时,在恢复错误前,系统应当具备发现错误及其成因的能力,也就是说,容错离不开自动检验的支撑。所谓的自动检验是一种快速检测系统故障的方法,可以通过自动检验装置来实现。系统容错设计时,通过自动检验的运用,可使系统对错误进行及时处理(仇宇婕,计算机控制系统可靠性技术分析:山东工业技术,2018)。

    2.2.2自动备份

    通过自动备份,可以使容错系统及时对丢失或是损坏的数据进行恢复,从而保证计算机系统在遭受无法抵御的破坏时,重要数据信息不会丢失。

    2.2.3事务跟踪

    在计算机系统容错设计中,事务跟踪主要针对的是用户软件和数据库的运行而设计的,其能够确保系统损坏时,数据信息的一致性。

    3结论

    总而言之,计算机系统在人们日常工作、生活中的使用越来越广泛,保证系统的运行可靠性尤为重要。为实现这一目标,应当对容错技术进行合理运用。鉴于此,在未来一段时期,应加大对容错技术的研究力度,除对现有的技术和方法进行优化改进与完善之外,还应加快开发一些新的容错技术,从而使其能够更好地为计算机系统服务。

    作者:雷利香 单位:枣庄科技职业学院

    展开全文
  • checkpoint容错机制

    2020-12-17 15:31:14
    Checkpoint 在 Flink 中是一个非常重要的 Feature,Checkpoint 使 Flink 的状态具有良好的容错性,通过 Checkpoint 机制,Flink 可以对作业的状态和计算位置进行恢复。 Flink 的 Checkpoint 有以下先决条件: 需要...

    Checkpoint 在 Flink 中是一个非常重要的 Feature,Checkpoint 使 Flink 的状态具有良好的容错性,通过 Checkpoint 机制,Flink 可以对作业的状态和计算位置进行恢复。

    Flink 的 Checkpoint 有以下先决条件:

    • 需要具有持久性且支持重放一定时间范围内数据的数据源。例如:Kafka、RabbitMQ 等。这里为什么要求支持重放一定时间范围内的数据呢?因为 Flink 的容错机制决定了,当 Flink 任务失败后会自动从最近一次成功的 Checkpoint 处恢复任务,此时可能需要把任务失败前消费的部分数据再消费一遍,所以必须要求数据源支持重放。假如一个Flink 任务消费 Kafka 并将数据写入到 MySQL 中,任务从 Kafka 读取到数据,还未将数据输出到 MySQL 时任务突然失败了,此时如果 Kafka 不支持重放,就会造成这部分数据永远丢失了。支持重放数据的数据源可以保障任务消费失败后,能够重新消费来保障任务不丢数据。
    • 需要一个能保存状态的持久化存储介质,例如:HDFS、S3 等。当 Flink 任务失败后,自动从 Checkpoint 处恢复,但是如果 Checkpoint 时保存的状态信息快照全丢了,那就会影响 Flink 任务的正常恢复,当然我们重启任务的时候,需要将之前统计的pv、uv拿出来进行计算,也要用到状态。就好比我们看书时经常使用书签来记录当前看到的页码,当下次看书时找到书签的位置继续阅读即可,但是如果书签三天两头经常丢,那我们就无法通过书签来恢复阅读。

    对于checkpoints机制来说,需要如下配置:

    • Checkpoint 语义:EXACTLY ONCE 或 ATLEAST ONCE,EXACTLY ONCE 表示所有要消费的数据被恰好处理一次,即所有数据既不丢数据也不重复消费;ATLEAST ONCE 表示要消费的数据至少处理一次,可能会重复消费。

    • 作业可以容忍 Checkpoint 失败的次数:默认值为 0,表示不能接受 Checkpoint 失败。

    补充:
    at most once:至多一次,消息可能会丢,但不会重复
    at least once:至少一次,消息肯定不会丢失,但可能重复
    exactly once:有且只有一次,消息不丢失不重复,且只消费一次。

    展开全文
  • Dubbo容错机制

    2020-04-03 17:13:53
    容错指的是某种系统控制在一定范围内的一种允许或包容犯错情况的发生。 二、Dubbo提供的容错机制: Failover(默认机制):当调用某个provider失败的时候,会重试其他provider,用户可以通过retries=2,设置重试...

    一、什么是容错:

    容错指的是某种系统控制在一定范围内的一种允许或包容犯错情况的发生。

    二、Dubbo提供的容错机制:

    • Failover(默认机制):当调用某个provider失败的时候,会重试其他provider,用户可以通过retries=2,设置重试次数。
    • Failfast:快速失败,当调用某个provider失败的时候,不会重试其他provider,快速返回异常结果。通常使用在非幂等接口上。
    • Failback:请求失败后会自动会自动记录在失败队列中,并由一个定时线程重试。
    • Forking:同时调用多个provider,只要其中由一个返回,就立即返回。
    • Broadcast:广播调用所以provider,任意一个provider报错则报错。
    • Avaliable:直接遍历所有provider,只要又一个可用即可。
    • Merageable:可以把多个请求的结果合并。
    • Mock:用于测试。

    三、负载策略使用:

    (1)、Failover失败重试机制:

    创建接口:

    public interface HelloWorldService {
    
        String sayHello();
    }

    接口实现:在接口中调用sleep方法模仿接口返回超时。设置times记录访问次数

    @Service
    public class HelloWorldServiceImpl implements HelloWorldService {
    
        private Integer times = 0;
    
        @Override
        public String sayHello() {
    
            System.out.println("invoke times=" + ++times);
            try {
    //模仿超时设置
                Thread.sleep(5000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            return "hello";
        }
    }

    consumer端配置:设置超时时间为2秒,重试次数为2次。

    @Component("demoHelloWorldComponent")
    public class DemoHelloWorldComponent implements HelloWorldService {
    
    
        @Reference(cluster = "failover", retries = 2,timeout = 2000)
        private HelloWorldService helloWorldService;
    
        @Override
        public String sayHello() {
            return helloWorldService.sayHello();
        }
    }

    在consumer端发起接口调用,在provider控制台我们会发现,会打出三次调用日志。

    [03/04/20 15:47:45:666 CST] NettyServerWorker-3-1  INFO netty4.NettyServerHandler:  [DUBBO] The connection of /192.168.1.12:56497 -> /192.168.1.12:20880 is established., dubbo version: , current host: 192.168.1.12
    invoke times=1
    invoke times=2
    invoke times=3

    (2)、Failfast快速失败策略:

    修改consumer配置,修改cluster中的值为failfast

    @Component("demoHelloWorldComponent")
    public class DemoHelloWorldComponent implements HelloWorldService {
    
    
        @Reference(cluster = "failfast")
        private HelloWorldService helloWorldService;
    
        @Override
        public String sayHello() {
            return helloWorldService.sayHello();
        }
    }

    重新启动provider和consumer,查看日志。

    只有一次打印。

    其他配置可以自己去尝试

    展开全文
  • VB容错处理

    千次阅读 热门讨论 2017-09-17 10:00:52
    什么是容错处理? 容错处理是指软件运行时,能对由非正常因素引起的运行错误给出适当的处理或信息提示,使软件运行正常结束。 例如:数学计算的程序就不能输入字母来计算。这个时候,一个完善的程序应该考虑到使用...
  • 压缩容错网络编码

    2021-03-17 03:33:06
    由于许多信号在时域上是相关的,因此本文提出了一种压缩容错网络编码方案,以探索信号的时间相关性。 该方案通过将压缩感知理论注入网络编码中,克服了网络编码理论的弊端,即该方案具有良好的压缩增益。 同时,当...
  • 微服务架构服务容错设计分析

    多人点赞 热门讨论 2021-07-13 00:03:07
    在微服务体系架构中,由于...微服务容错机制正是这样一种稳定性解决方案,可以理解微微服务架构的保险丝,通过它可以对业务平台形成一种有效的保护机制。在发生平台异常时候,容错机制是平台稳定运行的最后一道屏障。
  • 九:对微服务限流容错的理解

    千次阅读 2018-08-01 14:39:07
    从以下几个方面理解微服务的限流容错 2. 为什么需要限流容错机制 3. 微服务的限流容错相关概念有哪些 3.1 雪崩效应 3.2 容错机制 3.3 限流机制 3.4 降级机制 4. 通过Hystrix来理解限流容错框架 4.1 Hystrix是什么 ...
  • 容错性测试

    千次阅读 2014-09-23 13:01:43
    容错性测试  (2009-01-30 14:30:41) 转载▼ 标签:  电脑   容错性   故障   数据库   数据恢复   it    容错性测试是检查软件在异常条件下自身...
  • 容错模式可以接收字段超过允许范围的值并且输出来,但是处于非容错模式的时候,一旦某个字段出现超过允许范围的值就会抛出异常 Java中,月份只有12个月,取值为0~11 setLenient(boolean lenient) 指定日期/时间解释...
  • 【RPC Dubbo】集群容错

    2021-08-23 19:57:04
    什么是集群容错2. 集群容错模式参考 1. 什么是集群容错 集群调用失败时,Dubbo 提供的容错方案 在集群调用失败时,Dubbo 提供了多种容错方案,缺省为 failover 重试。 各节点关系: 这里的 Invoker 是 Provider ...
  • 容错机制指的是系统在一定范围内允许或包容犯错情况的发生。举个简单例子,我们在电脑上运行一个程序,有时候会出现无响应的情况,然后系统会弹出一个提示框让我们选择,是立即结束还是继续等待,然后根据我们的...
  • 如果实时计算作业遇到了某个错误挂掉了,那么我们可以配置容错机制让它自动重启,同时继续之前的进度运行下去。这是通过checkpoint和wal机制完成的。可以给query配置一个checkpoint location,接着query会将所有的元...
  • 微服务架构之容灾容错
  • 重构电路,根据目标变化调整容错控制器,保证系统容错控制在一定范围内。依据轴承振动造成内环、外环、滚柱故障频率分析结果,对故障进行检测与诊断,获取故障信息,保证控制器结构不变,采用故障补偿技术实现故障...
  • dubbo理论之集群容错

    2018-08-20 22:18:33
    容错机制指的是某种系统控制在一定范围内的一种允许或包容犯错情况的发生。举个简单例子,我们在电脑上运行一个程序,有时候会出现无响应的情况,然后系统会弹出一个提示框让我们选择,是立即结束还是继续等待,...
  • 实用拜占庭容错算法

    千次阅读 2021-05-17 14:11:46
    实用拜占庭容错算法 作者:段玉龙2018201112 、朱江2018201116、卢薪丞2017201116 背景提出——拜占庭将军问题 拜占庭将军问题是由Leslie Lanport提出的分布式对等网络通信融资问题,那么它具体是什么呢,我们来...
  • 当系统在某些传感器或执行器故障的条件下,设计一鲁棒容错控制器,利用线性矩阵不等式方法分析了与区域极点指标相容的H∞指标和方差上界指标的取值范围,建立了容错控制中,类指标的相容性理论,并在相容指标约束下给出了...
  • 345 如果34出了 35除了 45 没出,,那就是错一个, 只要在允许范围内,345 也是要出的大底的一个号码如果你容错 0-1 34 出 35 出 45没出,,那么345 可是最后的结果,,如果34出,35没出 45没出,他是错2个,,不...
  • 本文转载自深入理解 Flink 容错机制 作为分布式系统,尤其是对延迟敏感的实时计算引擎,Apache Flink 需要有强大的容错机制,以确保在出现机器故障或网络分区等不可预知的问题时可以快速自动恢复并依旧能产生准确的...
  • 为了在出现硬件或软件的暂时或永久故障的情况下,保证关键任务仍能在规定的时限范围内完成运算,并输出正确的结果,提出一种双处理器实时嵌入式容错系统体系结构。该系统结构采用多处理器体系结构,实现计算机之间的...
  • 【总结】Spark容错机制

    万次阅读 多人点赞 2017-06-23 10:57:12
    容错方式 容错 指的是一个系统在部分模块出现故障时还能否持续的对外提供服务,一个高可用的系统应该具有很高的容错性;对于一个大的集群系统来说,机器故障、网络异常等都是很常见的,Spark这样的大型分布式计算...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 60,294
精华内容 24,117
关键字:

容错范围