系统韧性研究(4)| 系统韧性的技术分类

系统韧性技术是任何提高系统韧性的架构、设计或实现技术。这些技术(例如缓解措施,如冗余、保障措施和网络安全对策)或被动地抵御逆境或主动检测逆境,并对其做出反应,亦或者从它们造成的伤害中恢复过来。系统韧性技术是系统实现其韧性需求的手段。韧性技术也可以被视为架构、设计或实现模式或习惯用法。本文首先澄清韧性要求和韧性技术之间的关系。由于系统、软件和专业工程师有许多可以用于提高系统韧性的技术,因此本文还提出了一个用于对这些韧性技术进行分类的本体。

01

系统韧性-简要回顾

正如我在本系列的前3篇文章中所概述的——系统韧性很重要,因为没有人想要一个无法克服“不可避免的逆境”的脆弱系统。如果不利事件或条件导致系统无法正常运行,则可能会对有价值的资产造成各种形式的损害。

在本系列关于系统韧性的第一篇文章中,我通过提供以下更详细和微妙的定义来解决这些问题:系统的韧性达到了它快速有效地保护其关键能力免受不利事件和条件造成的伤害的程度。

第二篇文章确定了八个次要质量属性,对可能破坏关键系统的不利因素(即不利条件和事件)进行了分类。

第三篇文章介绍了系统韧性需求的工程,以及如何使用它们来推导下级质量属性的相关需求。

本文,亦即本系列的第四篇文章将要做的是,提供一种对系统韧性技术进行分类的方法,并展示它们与系统韧性需求的关系。

02

系统韧性技术

单个韧性技术通常可以保护任务关键能力免受多种类型的多重不利因素的影响。每个关键能力通常会被多种类型的大量逆境破坏。通常,在有限的项目资源(如人员配置、时间表和预算)内,会有更多的不利因素无法适当解决。因此,首先强调必须保护其免受破坏性损害的关键能力。然后,可以使用风险管理来识别、优先化和分析足够多的最重要的不利因素,以充分保护任务关键能力。

如下图所示,韧性要求并不直接推动韧性技术的选择。相反,这种选择是由衍生的韧性相关鲁棒性、被动安全性、主动安全性、防篡改、生存性、容量、寿命和互操作性需求中捕获的特定不利因素驱动的。下图显示了关键功能、实现它们的关键资产以及可能对它们造成的破坏性伤害如何推动韧性需求的工程。特定的不利因素用于导出下级韧性相关质量属性的需求(即鲁棒性、被动安全性、主动安全性、防篡改、生存性、容量、寿命和互操作性需求)。然后,架构师和专业工程师选择适当的韧性技术来直接实现这些特定于逆境的衍生需求,从而间接实现韧性需求。

除了韧性及其从属质量属性外,许多韧性技术还增加了多个质量属性。例如,冗余还可以提高可用性和可靠性,而模块化也可以提高可维护性。

韧性技术是抽象的,必须在系统中实现,以实现其预期效果。然而,如果技术选择不当或实现不当,结果可能与预期不同,甚至可能降低系统的韧性。因此,韧性技术并不总是“最佳实践”,因此添加更多的技术并不一定更好。需要大量的专业知识、分析和测试,以确保所实施的选定技术实现系统的韧性要求,而不会导致系统无法满足其他质量属性要求。

下图显示了对韧性技术进行分类的三种不同方法。从左到右,它们是:

  • 自治程度(紫色部分)。与手动韧性技术不同,自动韧性技术在无需人工干预的情况下自动执行。混合韧性技术部分自主,部分手动。
  • 执行韧性功能(黄色部分)。抵抗力技术被动地抵抗逆境。检测韧性技术主动检测逆境,而反应韧性技术主动对检测到的逆境做出反应,恢复韧性技术主动修复逆境造成的伤害。许多技术结合了这类技术中的两种或更多种。
  • 构成(蓝色部分)。子系统韧性技术由专用子系统(如火灾探测和灭火系统)实现。它们可以用硬件(如硬件联锁和冗余传感器)或软件(如各种投票方案)来实现。同理,数据韧性技术主要在数据中实现(如校验和),尽管它们通常需要软件来操作数据。

下图显示了如何将韧性技术映射到韧性需求,但又与韧性需求有所不同,韧性需求应该是内聚的,并且只指定单个独立于实现的需求,单个韧性技术通常执行多个功能。例如,火灾探测和灭火系统(FDSS)既可以检测不利因素(烟雾的存在),又可以通过抑制相关火灾来做出反应,以最大限度地减少额外的危害。

03

总结与预告

显而易见的是,有很多可以用于实现系统韧性需求的技术。这些技术可以以多种方式进行分类,其中最重要的两种是按韧性功能和实施方式分类。这种丰富的技术和类型的技术为系统架构师和专业工程师提供了很大的灵活性,以确保足够的韧性,特别是在使用多层“深度防御”方法时。另一方面,整合韧性技术增加了系统复杂性,因此,矛盾的是,会降低系统的韧性。选择正确的数量、类型和韧性技巧的平衡绝非易事。

在下一篇文章亦即本系列的第五篇文章中,我将探讨一个相对全面的韧性技术列表,并给出一个表单,根据它们执行的韧性功能和组成来对其进行组织。

敬请期待。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/141735.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ArcGIS实现矢量区域内所有要素的统计计算

1、任务需求:统计全球各国所有一级行政区相关属性的总和。 (1)有一个全球一级行政区的矢量图,包含以下属性(洪灾相关属性 province.shp) (2)需要按照国家来统计各个国家各属性的总值…

突然消失的桌面文件如何恢复?详细教程让你轻松解决问题!

桌面文件突然消失,对于很多人来说,可能是个令人头疼的问题。这些文件可能包含重要的信息,也可能是数日甚至数周的努力成果。那么,当这种情况发生时,我们如何恢复丢失的文件呢?本文将提供一些实用的建议。 1…

【ArcGIS Pro微课1000例】0031:las点云提取(根据范围裁剪点云)

本文讲解ArcGIS Pro3.0中,las点云数据的提取(根据范围裁剪点云)方法。 文章目录 一、加载数据二、工具介绍三、点云裁剪一、加载数据 打开ArcGIS Pro,新建地图,加载配套实验数据包中的0031.rar中的点云数据point.las与范围bound.shp,如下图所示: 二、工具介绍 名称:提…

一张图搞懂什么是BCD8421编码

如图所示 BCD8421编码的意义是 用四位二进制数表达一位的十进制数 因此十进制下的0~9在BCD8421编码下与其二进制表达是一样的 而多位的十进制数 比如说“10” 则需要将它拆分成两个单独的数“1”和“0” 分别用BCD8421编码表示这两个数 十进制“1” -> 0001 十进…

内衣洗衣机和手洗哪个干净?好用的内衣洗衣机推荐

在日常生活中,我们的衣服不可避免地会沾染上各种细菌、毛发和污渍,将它们与贴身衣物混合清洗,很容易发生交叉感染,而被感染后,贴身衣物也有可能导致我们人体引起皮肤病。这也是为什么大部分人都喜欢用手洗的原因&#…

@CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思

@CacheInvalidate 注解是 JetCache 框架提供的注解,它是由阿里巴巴开源的组织 Alibaba Group 开发和维护的。JetCache 是一款基于注解的缓存框架,提供了丰富的缓存功能和灵活的配置选项,可用于增强应用程序的性能和可扩展性。JetCache 支持多种缓存后端,包括内存缓存、Redi…

矩阵的除法

B/A 如果矩阵A可逆,那么 证明: A/AB 如果矩阵A和B都可逆,那么 证明:

基于回溯搜索算法优化概率神经网络PNN的分类预测 - 附代码

基于回溯搜索算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于回溯搜索算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于回溯搜索优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神…

优雅的Java编程:将接口对象作为方法参数

theme: smartblue 目录 概述 在Java编程中,方法的参数传递方式通常是通过基本类型、对象引用或者集合等方式。然而,一种更加优雅且灵活的设计模式是将接口对象作为方法的参数。这种方式为我们带来了许多好处,包括降低耦合性、实现多态性和可…

Jenkins 构建CICD

GitLab GitLab安装 https://gitlab.cn/install/?versionce CentOS 下安装 1. 安装和配置必须的依赖项 在 CentOS 7上,下面的命令也会在系统防火墙中打开 HTTP、HTTPS 和 SSH 访问。这是一个可选步骤,如果您打算仅从本地网络访问极狐GitLab&#xf…

【现场问题】datax中write部分为Oracle的时候插入clolb类型字段,插入的数据为string且长度过场问题

datax的Oraclewriter 报错显示查询报错展示查找datax中的数据插入模块 报错显示 occurred during batching: ORA-01704: string literal too long 查询报错展示 基本上查到的都是这样的,所以锁定是clob的字段类型的问题,而且是只有Oracle出问题&#…

觉非科技发布【轻地图高速NOA智驾方案】|地平线,觉非科技,MobileDrive超捷生态协作实现技术落地

11月10日,2023世界新汽车技术合作生态展期间,觉非科技正式发布了基于地平线征程系列以及MobileDrive超捷规控系统的【轻地图高速NOA智驾解决方案】。该方案首次实现了从芯片能力输出、到数据闭环建设、再到规控部署的产业生态链协作与打通,为…

微信小程序漏洞之accesskey泄露

更新时间:2023年09月08日09:42:52 1. Accesskey泄露漏洞 这篇文章里面都是以我个人的视角来进行的,因为一些原因,中间删了一些东西,肯定有很多不正确的地方,希望大家能理解,也能指正其中的错误。 在以前…

VCR库代码示例

1. 首先,我们需要在代码中添加对VCR库的引用: ruby require vcr require rest-client 2. 然后,我们需要创建一个VCR录制器,以便我们可以记录实际的HTTP请求和响应: ruby VCR.use_cassette(download_video, record:…

虚拟机CentOS 8 重启后不能上网

情况说明:原本虚拟机是可以上网的,然后嘚一下,重启后,连接不上网络,完了,上网查找一堆质料,我的连接方式是桥接模式(复制物理网络连接状态)。 好,有人说是vmn…

通配符SSL证书

通配符SSL证书是一种特殊的数字证书,用于在互联网上建立安全的连接,其特点是可以保护多个子域名,并且具有很高的兼容性和扩展性。本文将详细介绍通配符SSL证书的相关概念、优点和应用等。 首先,我们需要了解什么是SSL证书。 SSL证…

Spring 循环依赖

文章目录 内容总结循环依赖循环依赖的解决方案设计模拟循环依赖解决循环依赖的关键 缓存仍然存在问题 代理 解决代理问题的关键 提前AOP仍然存在问题 AOP全部提前与Bean创建流程设计严重不符 解决违背设计问题的关键 尽量提前而非全部提前仍然存在问题 多重循环 内容总结 循环…

MATLAB Simulink和SMART PLC水箱液位高度PID控制(联合仿真)

SMART PLC 向导PID的详细介绍请查看下面文章链接: S7-200 SMART PLC PID向导详细介绍(如何实现P、PD、PID控制器)-CSDN博客文章浏览阅读1k次。这篇博客主要介绍SMART PLC PID向导的使用,PID控制相关的其它内容请查看专栏系列文章,常用链接如下:SMART PLC PID负压控制(过程…

海外ASO优化之谷歌商店的评论优化

应用商店中的评分和评论,显示我们的应用程序的受欢迎程度以及用户对该应用程序的看法。评分和评论是以前或者是现在的用户分享的经验和公开的反馈。 1、提高应用评分评论。 高评分的应用可以从应用商店内的搜索流量中获得更多的点击量,通过推荐和推荐获…

SMART PLC 和S7-1200PLC MODBUSTCP通信速度测试

SMART PLC MODBUSTCP通信详细介绍请参看下面文章链接: S7-200SMART PLC ModbusTCP通信(多服务器多从站轮询)_matlab sumilink 多个modbustcp读写_RXXW_Dor的博客-CSDN博客文章浏览阅读6.4k次,点赞5次,收藏10次。MBUS_CLIENT作为MODBUS TCP客户端通过S7-200 SMART CPU上的…