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

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

01

系统韧性-简要回顾

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

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

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

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

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

02

系统韧性技术

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

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

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

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

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

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

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

03

总结与预告

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

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

敬请期待。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Makefile的简单语法学习

通配符 假如一个目标文件所依赖的依赖文件很多,那样岂不是我们要写很多规则,这显然是不合乎常理的,我们可以使用通配符,来解决这些问题。 我们对上节程序进行修改,代码如下: test : a.o b.ogcc -o test $…

腾讯云服务器多少钱一年?2023年腾讯云优惠云服务器推荐

作为一名程序员,技术的突飞猛进是从拥有第一台云服务器开始的。那时,我开始尝试使用Linux系统,并成功上线了自己的第一个小程序。自此之后,我和我的同事们都开始拥有自己的云服务器,用来搭建各种小项目或者好玩的东西。…

ubuntu操作系统的docker更换存储目录

前言 要将Docker的存储目录更改为/home/docker,你需要进行以下步骤: 目录 前言1、停止Docker服务2、创建新的存储目录3、编辑Docker配置文件4、启动Docker服务5、验证更改 1、停止Docker服务 首先停止Docker守护进程,可以使用以下命令&…

多语言TTS:Multilingual speech synthesis

文章目录 [Learning to Speak Fluently in a Foreign Language:Multilingual Speech Synthesis and Cross-Language Voice Cloning](https://arxiv.org/abs/1907.04448)[2019interspeech][google][Improving Cross-lingual Speech Synthesis with Triplet Training Scheme](htt…

107.am40刷机折腾记3-firefly镜像的烧写

1. 平台: rk3399 am40 4g32g 2. 内核:firefly的内核(整体镜像) 3. 交叉编译工具 :暂时不编译 4. 宿主机:ubuntu18.04 5. 需要的素材和资料:boot-am40-20231113.img(自编译) 准备的情况&a…

四点定球-克拉默法则

一、原理 使用克拉默法则进行四点定球 - 知乎 二、代码实现 c /// <summary> /// 四个不共面的点 用克拉默法则 计算球心和半径 /// </summary> /// <param name"p1"></param> /// <param name"p2"></param> /// &l…

考前须知-2024年上半年系统集成项目管理工程师

可以看看23年下半年软考集成考试的难度 一、考试时间安排&#xff1a; 集成考试一年会考2次&#xff0c;上半年一次、下半年一次。考试时间4h&#xff0c;分批进行 系统集成项目管理工程师教材共655页&#xff0c;分为23章。其中,前3章为信息化与系统集成基础知识的内容,第4章…

阿里回应多款应用崩了

在11月12日晚间&#xff0c;一场突如其来的故障席卷了阿里云&#xff0c;导致包括淘宝、钉钉、阿里云盘在内的多款应用无法正常使用。这场故障引起了用户和业界的广泛关注&#xff0c;许多用户纷纷在社交媒体上表达了对此的不满和担忧。据用户反馈&#xff0c;当晚突然发现包括…

python中的字符串转字节码

res int.from_bytes(hello.encode(), byteorderlittle)res的结果为478560413032&#xff0c;这个结果怎么计算得到的呢&#xff1f; 将hello的每个字母的ascii码从右往左排列&#xff0c;拼接起来转成十进制就是res的结果。 拼接的结果为&#xff1a;011011110110110001101100…

【Unity插件】2D模拟绳子的插件——Rope 2D Editor

文章目录 前言资源unity商店地址&#xff1a;我这里有一个比较老旧的版本&#xff1a; 使用创建绳子场景使用时效果 参考完结 前言 最近发现一个很有意思的插件Rope 2D Editor&#xff0c;这是一个简单而强大的 2d 绳索编辑器。这是我为我的游戏&#xff08;Dabdob&#xff09…

[WSL] 安装hive3.1.2成功后, 使用datagrip连接失败

org.apache.hadoop.ipc.RemoteException:User: xxx is not allowed to impersonate anonymous 下载driver-hive-jdbc-3.1.2-standalone 解决 修改hadoop 配置文件 etc/hadoop/core-site.xml,加入如下配置项 <property><name>hadoop.proxyuser.你的用户名.hosts…

Postgresql数据类型-数组类型

PostgreSQL支持一维数组和多维数组&#xff0c;常用的数组类型为数字类型数组和字符型数组&#xff0c;也支持枚举类型、复合类型数组。 数组类型定义 先来看看数组类型的定义&#xff0c;创建表时在字段数据类型后面加方括号“[]”即可定义数组数据类型&#xff0c;如下所示…

全志R128平台SPI与DBI点屏性能大对比

SPI 与 DBI 性能对比 R128 平台的 SPI 接口参数如下 全双工同步串行接口Master/Slave模式可配置支持最大96MHz时钟频率支持SPI Mode0/1/2/3片选和时钟的极性和相位可配置5个时钟源支持中断或DMA传输支持多片选支持Standard Single/Dual/Quad SPI&#xff0c;FIFO深度64B支持B…

Qt高级--(1)自定义导航栏

好久没有水博客&#xff0c;参考别人的写一个自定义的导航栏吧。用处挺多的&#xff0c;可以用来切换到不同的信息显示界面。 功能点 1.默认情况下&#xff0c;文字居中显示&#xff0c;不显示图标&#xff0c;不显示三角。 2.可设置文字左侧、顶部、右侧、底部边距&#xff…

功率放大器在微流控测试中的应用有哪些

微流控技术是一种在纳米或微米尺度上操作和控制流体的技术&#xff0c;它在生物医学、化学分析和材料科学等领域具有广泛的应用前景。然而&#xff0c;由于微流控系统中涉及到的流体操作和流动过程往往需要较高的电压和电流&#xff0c;因此在微流控测试中常常需要使用功率放大…

网络问题导致pycharm无法提交代码到代码仓库

现象 ssh: Could not resolve hostname github.com: Name or service not known fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 原因及解决办法 可能不是自己权限有问题&#xff0c;而是…

伦敦银为什么降价

作为贵金属家族中的一员&#xff0c;白银具有一定的金融属性&#xff0c;但它同时也是一种工业金属&#xff0c;在太阳能、汽车、电子工业上有着广泛的用途&#xff0c;所以其价格会受到诸多因素的影响。伦敦银作为紧密跟着国际现货白银价格走势的品种&#xff0c;其降价的原因…

Python高级语法----高级Python函数式编程

文章目录 1. 函数式编程概念2. 使用functools模块3. 深入理解lambda, map, filter, reduce函数a. lambda 函数b. map 函数c. filter 函数d. reduce 函数1. 函数式编程概念 函数式编程是一种编程范式,它将计算视为函数的评估,并避免使用程序状态及可变数据。在Python中,函数…

git 命令行回退版本

git 命令行回退版本 git 命令行回退版本命令: 1.切换到需要回退的分支 git checkout branch-v2.0.02.更新远程分支 git fetch3.找到需要回退版本的版本号git revert a6914da55ff40a09e67ac2426b86f1212e6580eb4.清除工作区缓存git clean -df5.强制提交git push -f

软件外包开发的需求对接

软件外包开发的成功与否很大程度上取决于需求对接的有效性。以下是一些建议&#xff0c;可帮助您在软件外包开发中进行需求对接&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.明确业务目标和需求&…