信息领域热词分析的-质量属性战术-可用性战术
Posted heiyang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了信息领域热词分析的-质量属性战术-可用性战术相关的知识,希望对你有一定的参考价值。
可用性战术
一.错误检测
1.命令/响应:这个在ajax中有所应用,ajax有专门的success方法和error方法来对发出的请求做出响应。
$.ajax({ type: "POST", url: "/SentAlink", contentType: "application/json; charset=utf-8", data: JSON, /*传给后端的数据格式json*/ dataType: "json", /*后端返回的数据格式json*/ success: function(data){ console.log(data); }, error: function (message) { console.log("初始化失败"); } });
2.心跳(计时器):这个在这个工程中没有涉及,但是在之前制作的APP中,有一个定时器,用于设定闹钟,提醒用户,每分钟对时间进行获取,用来检测是否到了提醒时间。
3.异常:这个最常见的就是try{}catch{}finally{}以及if语句进行判断。
Connection conn = null; try { conn = dbcp.getConnection(); } catch (SQLException e) { e.printStackTrace(); } thread.set(conn); return conn;
二.错误恢复
1.表决:当表决者接收到多个处理器发过来的数值不同时,需要对结果产生自己的判断,表决算法可以使“多数规则”,“首选组件”或者是其他算法,用于纠正算法的错误操作或者处理器的操作,在项目中我也没有使用过。
2.主动冗余(热启动):所有的冗余组件都可以并行的对事件作出相应,仅使用第一个响应的组件,所以当有错误发生的时候,即使正常状态下第一个响应的组件挂掉了,其他的组件也会很快进行响应,停机事件通常为几毫秒。这个老师也讲过实例,在航空飞机上采用主动冗余,最后因为内存溢出导致机毁人亡,而第二个备用因为进行了同样的操作,在启用不久后也内存溢出,最后酿成悲剧。
3.被动冗余(暖启动/双冗余/三冗余):这个相较于主动冗余,不需要备用组件进行同步的相应,只需要及时更新即可,所以停机事件有几秒。
4.备件:组件出现故障时,对组件重新启动为适当的软件设置,并对其状态进行初始化。此类战术包括:shadow模式,状态再同步,检查点/回滚。
三.错误预防
1.从服务中删除:从操作中删除系统的一个组件,以执行某些活动来预防预期发生的故障。比如说在连接数据库,进行完操作之后,需要对连接组件进行关闭,防止重复开启发生故障。
try { Connection conn = thread.get(); if (conn != null) { /* * 通过连接池获取的Connection * 的close()方法实际上并没有将 * 连接关闭,而是将该链接归还。 */ conn.close(); thread.remove(); } } catch (Exception e) { e.printStackTrace(); }
2.事务:对进程中发生错误的步骤及时发现并撤销,防止数据收到影响。这个在开启和数据库的连接和关闭的时候需要注意,进行操作前,需要判断连接是否打开或关闭。
try { if(conn != null) { pstmt = conn.prepareStatement(sql); pstmt.executeUpdate(); } }catch(SQLException e) { e.printStackTrace(); } return pstmt;
3.进程监视器: 一旦检测到进程中产生错误,监视进程就会删除非执行进程,并为该进程创建一个新的实例。我们在windows系统中常见,比如用word打开一个pdf文件卡住的时候,可以打开任务管理器,强制关闭这个进程,然后重新打开。
以上是关于信息领域热词分析的-质量属性战术-可用性战术的主要内容,如果未能解决你的问题,请参考以下文章