系统韧性研究(3)| 工程系统韧性要求

news2025/2/26 9:53:10

从最基本的层面上说,系统韧性指的是系统在逆境中继续执行其任务的程度。虽然对操作连续性至关重要,但系统的服务(能力)只是系统继续执行其任务所必须保护的一些资产。该系统必须检测不利因素,对其作出反应,并从它们对关键资产造成的损害中恢复过来。因此,更深层次的系统韧性是指系统快速有效地保护自身及其连续性相关资产免受不利事件和条件造成的损害的程度。

正如我在本系列的第一篇文章中提到的,系统韧性可以分解为两个子类型:主动韧性和被动韧性。主动系统韧性要求系统检测不利事件和条件,相应地做出反应,以防止或最大限度地减少任何由此产生的中断,并从这种中断中恢复。另一方面,如果系统被过度设计以被动避免中断(例如,通过具有足够的容量,过度负载不会导致性能损失或降级),则可以实现被动系统韧性。如本系列第一篇文章的初始图所示,系统韧性可以是被动的,也可以是主动的,即被动韧性被动地抵御逆境,而主动韧性主动地检测、应对逆境并从逆境中恢复。这种区别可以用于对规定阻力、检测、反应和恢复的韧性要求进行分类。

在本系列的第二篇文章中,我探索了系统韧性如何与其他质量属性密切相关,特别是鲁棒性、安全性、网络安全性、防篡改性、生存性、容量、寿命和互操作性。在第三篇文章中,我将阐述系统韧性需求,这些需求推动选择架构、设计和实现功能(例如,保障、安全控制和韧性相关的模式和习惯用法),以实现所需类型和级别的韧性。

01

系统韧性和次要质量属性要求

系统韧性要求规定了系统通过检测、响应和响应不利事件和条件,在面对不利情况时继续提供系统能力的程度。如下表所示,韧性系统必须克服的逆境类型根据其相关的从属质量属性进行分类。

鉴于系统韧性和上述从属质量属性之间的密切关系,一个自然的问题是,系统韧性要求与其他相关质量属性要求(如鲁棒性、安全性、网络安全和类似要求)有何不同?例如,以下是韧性要求还是鲁棒性(容错)要求:

当子系统Y中发生故障(不良事件)时,系统应继续提供服务X,可能处于降级模式。

以下是系统韧性要求还是安全要求:

汽车应检测到黑冰(即公路冰层,代指危险-不利条件),并通过修改牵引力控制来做出反应,以保持足够的牵引力,防止失去转向控制(服务)和由此产生的交通事故(对关键资产的伤害)。

同理,以下是韧性要求还是网络安全要求:

当威胁参与者在系统外部防火墙之外实现未经授权的访问(不良事件)时,系统应继续提供功能X。

关于与防篡改(例如,试图远程访问关键程序信息)、生存能力(例如,检测敌方雷达或导弹锁定等威胁)、容量(例如,系统接近或超过其最大容量)和寿命(例如,接近或超过设计寿命的系统组件)相关的不利因素,可以指定类似的要求。

02

都有哪些类型的要求?

关于韧性要求与其他质量属性要求的重叠,有三种学派:

方法1:无重叠

下图说明了系统韧性需求的MITRE方法。如果需求规定系统在面临特定逆境时应保持特定能力的特定水平,则该需求是系统韧性需求(由灰色框指示)。这些特定的逆境包括与质量属性相关的逆境:鲁棒性、安全性、网络安全等。系统韧性要求包括防止(也称为避免)逆境、被动抵抗逆境以及主动检测逆境的存在、对检测到的逆境做出反应以及从逆境造成的伤害中恢复的要求。系统韧性需求不包括与在逆境中维护特定能力无关的次要质量属性的需求(即下图的底行)。

方法1-系统韧性和次级需求之间没有重叠

第一种方法基本上表明,一些鲁棒性要求实际上是韧性要求,而不是鲁棒性要求,一些安全要求实际上是依赖性要求,而非安全要求,等等。除了造成混淆外,这种方法还使专业(如可靠性、安全性和安防)工程师更难找到与他们相关的所有需求,这些需求都放在需求规范的相关质量属性特定部分中。它还包括预防(也称为避免),这在逻辑上不属于恢复力的范围。

方法2:双重需求类型

第二种方法是使需求同时既是韧性需求又是从属质量属性需求。下图通过灰色框来说明这一点,灰色框表示韧性和次要质量属性需求。具体来说,由灰色框表示的每个阻力、检测、反应和恢复要求同时是系统韧性要求和从属质量属性(例如鲁棒性、安全性或网络安全)要求。

方法2-同时韧性和次要质量属性要求

这种重叠的方法可能会导致混淆。它还存在冗余规范的问题,这使得确保需求具有唯一的需求ID和将需求跟踪到测试(例如容量、鲁棒性、安全性、安全和互操作性测试)变得更加困难。然而,如果每个需求在需求数据库中仅存储一次,每个需求都用相关的质量属性进行注释,并且专业工程师可以根据其专业知识和职责领域过滤需求,则可以在一定程度上克服此问题。

方法3:衍生需求

下图说明了第三种方法,其中高级系统韧性需求(灰色框)与较低级别、衍生的次要质量属性需求(白色框)分开。这种需求分离将系统韧性需求保持在非常高的抽象级别,以至于它们忽略了质量属性特定的不利因素。例如,以下是这种系统韧性要求的示例:

系统应继续为任务关键能力C提供关键性能参数KPP,概率至少为P,尽管存在所有已识别的潜在不利因素。

一旦需求工程师指定了高级韧性需求,他们就会从这些韧性需求中衍生出多个次要质量属性需求。它们根据与鲁棒性、安全性、网络安全等相关的特定不良事件和条件来规定这些衍生要求。

方法3-衍生次要质量属性需求

第三种方法清楚地将韧性需求与其次要质量属性需求区分开来,将韧性需求保持在利益相关者关注的级别,并支持较低级别质量需求的衍生。请注意,与将性能需求分配给多个架构(architecture)组件一样,韧性KPP级别必须分解并分配给相关的派生次要质量属性需求。

03

需求工程(Engineering)过程

我建议使用以下过程(基于上述第三种方法),首先制定高水平的韧性要求,然后推导相应的低水平、特定于逆境的质量属性要求:

1.识别风险资产。在不利条件或事件发生时,哪些关键系统功能(即服务)必须继续提供?如果系统架构已知,则需要哪些关键系统组件(如子系统、硬件和软件)来提供这些功能和服务?类似地,在可用性、机密性和完整性方面必须保护哪些关键系统数据?系统服务是否依赖于任何系统外部资产,系统是否负责这些资产?

2.确定潜在危害。逆境会对这些关键资产造成何种危害,从而导致关键系统功能或服务的损失或降级?

3.确定最大可接受危害。逆境可能对维护关键能力和服务所需的资产造成的最大可接受伤害量是多少?对于功能和服务,请考虑设置以下类型的限制:

对服务/能力相关资产的最大可接受危害:

  • 服务/功能降级的最大可接受水平·在逆境期间和恢复之前,服务/能力的最低可接受可用性
  • 在逆境中和恢复之前,服务/能力的最低可接受可靠性
  • 交付服务/能力所需的对资产的最大可接受损害

服务/能力相关资产的最大可接受损害持续时间(见下图):

  • 可接受的最长不利条件/事件检测时间(检测逆境所需)
  • 最大可接受反应开始时间(检测和反应之间的时间,以防止进一步伤害)
  • 最大可接受反应持续时间(完成反应以阻止进一步伤害所需的时间)
  • 最大可接受恢复持续时间(反应完成到恢复完成之间的时间)
  • 服务/能力损失/降级的最大可接受持续时间

能力和服务降级可以根据性能下降来衡量,并可能取决于操作模式(例如操作、培训、演习、维护和更新)。

4.优先考虑资产和危害。在所有可信的情况下,很少有足够的资源来确保足够的复原力。因此,必须根据资产和相关损害的优先顺序来限制分析。

5.制定相关的韧性要求。基于对关键资产的最大可接受危害,开发高级别系统韧性需求。高水平韧性要求的示例模板(括号中包含可选条款)包括:

顶级韧性要求:

  • 「当处于模式M」时,系统应在不利条件持续期间,以至少P的概率,继续提供可用性为a的能力C「最大降级为D」。
  • 「当处于模式M」时,系统应在不良事件发生后,以至少P的概率继续提供可用性为a的能力C「最大降级为D」。
  • 「当处于模式M」时,系统应在不利条件下以至少P的概率继续提供可靠性为R的能力C「最大降级为D」。

检测韧性要求:

  • 「当处于模式M」时,系统应在S秒/毫秒内检测到不良事件和条件的P%。
  • 「在模式M」下,系统应在S秒/毫秒内检测能力C的丢失/降级。

反应韧性要求:

  • 在检测到不利条件「在模式M」时,系统应在S秒/毫秒内限制容量C的进一步损失或降级。

恢复韧性要求:

  • 「当处于模式M」时,系统应在检测不良事件和条件的S秒/毫秒内恢复能力C,概率至少为P。

6.确定相关的不利因素。哪些类型的不利条件和事件会导致不可接受的关键服务和能力丢失或显著降级?对于每个次要质量属性,考虑可能损害韧性相关关键资产的不良事件和条件的相关类型。

7.优先考虑可信的逆境。由于在所有可信的情况下,很少有足够的资源来确保足够的韧性,因此,需求分析必须基于造成危害的逆境的优先顺序进行限制。

8.衍生相关的质量属性需求。使用优先化的逆境,从韧性要求中导出特定于逆境的下属质量属性要求,以达到适当的质量属性。

04

衍生需求

顶级系统韧性需求可用于导出组件级和数据级韧性需求,以及导出次要质量属性需求。以下是韧性要求和相关衍生要求的示例:

系统韧性要求:

  • 检测要求:系统应在5秒内检测能力C的重大中断(即,超过30%的总损失或退化)。
  • 反应要求:在检测到性能C下降超过15%时,系统应采取足够的步骤,确保性能C的下降不超过30%。
  • 恢复要求:在检测到能力C的重大中断时,系统应在2分钟内自动恢复全部能力,概率为99.5%。

组件X韧性要求:

  • 检测要求:系统应在500毫秒内检测子系统X的故障,该故障需要提供能力Y。
  • 反应要求:在检测到子系统X的故障时,该故障会中断性能Y,系统应采取足够的步骤,以确保该故障不会使性能Y降低30%以上。
  • 恢复要求:系统应在检测到导致性能Y严重中断的故障后1分钟内自主恢复子系统X。

次要质量要求:

  • 反应能力要求:在检测到将事务T的吞吐量降低到每秒20000以下的过度负载时,系统应增加服务器数量,以确保吞吐量不低于每秒18000。

许多不同的可信不良事件和条件可能会破坏相同的关键系统能力。其中一些逆境彼此独立,概率很低,以至于人们可以合理地忽略这些逆境同时发生的可能性。另一方面,其他不利因素可能有共同的原因,或者有足够高的概率必须考虑同时发生。

05

总结与预告

本文阐述了不同类型的系统韧性需求,以及它们如何与派生的次要质量属性需求相关,并提供了一个通用过程,即系统韧性如何与其他密切相关的质量属性相关。下一篇亦即本系列的第四篇文章将介绍支持不良事件和条件的检测、反应和恢复的韧性功能(例如鲁棒性模式、保障和安全控制)。

敬请期待。

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

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

相关文章

java入门,程序=数据结构+算法

一、前言 在学习java的时候,我印象最深的一句话是:程序数据结构算法,对于写java程序来说,这就是java的入门。 二、java基本数据结构与算法 1、数据类型 java中的数据类型8种基本数据类型: 整型 byte 、short 、int…

【C++模板】template的使用

普通函数的模板 #include <iostream> #include <array> using namespace std;typedef int* pInt; //重命名整形指针 template<typename FormatOutput> //模板 void fo(_In_ const FormatOutput& obj, bool EndFlag false) { //格式化输出&#xf…

海上风电应急救援vr模拟安全培训提高企业风险防范能力

相比传统的发电厂&#xff0c;海上风电作业积累的经验少&#xff0c;风险高&#xff0c;因此为了规范施工人员的行为和操作&#xff0c;保障生产安全进行&#xff0c;开展海上风电VR安全培训具有重要意义。 有助于提高员工的安全意识 通过模拟真实的海上风电作业环境&#xff0…

hadoop hdfs的API调用,在mall商城代码中添加api的调用

在网上下载了现成的商城代码的源码 本次旨在熟悉hdfs的api调用&#xff0c;不关注前后端代码的编写&#xff0c;所以直接下载现成的代码&#xff0c;代码下载地址。我下载的是前后端在一起的代码&#xff0c;这样测试起来方便 GitHub - newbee-ltd/newbee-mall: &#x1f525; …

VulnHub DC-2

一、信息收集 1.nmap扫描 扫描开放端口&#xff0c;发现只开启了80、7744端口 ┌──(root&#x1f480;kali)-[~/桌面] └─# nmap --scriptvuln -p80,7744 192.168.103.190--scriptvuln 可以检查目标主机或网段是否存在常见的漏洞 2.添加hosts 浏览器访问http://192.168.…

ipad协议

逆向工程是一种强大的工具&#xff0c;可以帮助我们理解协议、识别漏洞&#xff0c;并开发兼容的应用程序或扩展。它使我们能够更深入地了解复杂系统并创建创新的解决方案。iPad协议是苹果生态系统不可或缺的一部分&#xff0c;它允许iPad和其他设备之间实现无缝通信。为了理解…

[PyTorch][chapter 58][强化学习-2-有模型学习]

前言&#xff1a; 在已知模型的环境里面学习,称为有模型学习&#xff08;model-based learning&#xff09;. 此刻,下列参数是已知的&#xff1a; : 在状态x 下面,执行动作a ,转移到状态 的概率 : 在状态x 下面,执行动作a ,转移到 的奖赏 有模型强化学习的应用案例 …

App渗透测试有哪些测试方法?可进行移动app测试的公司推荐

App渗透测试是当前互联网时代中不可或缺的重要环节。随着智能手机的普及和App应用的广泛使用&#xff0c;App渗透测试帮助企业保障其移动应用的安全性和可靠性&#xff0c;确保用户的隐私和敏感信息不会被黑客窃取。那么&#xff0c;什么是App渗透测试呢?它有哪些测试方法?接…

java实现pdf文件添加水印,下载到浏览器

java实现pdf文件添加水印&#xff0c;下载到浏览器 添加itextpdf依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.8</version> </dependency>文件下载到浏览器和指定路径 …

第四章 数据结构与算法——树与二叉树

一、树的定义 ①&#xff1a;树是一种 非线性 的数据结构&#xff0c;它是由 n &#xff08; n>0 &#xff09;个有限结点组成一个具有层次关系的集合。 ②&#xff1a; 把它叫做树是因 为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的 。 …

BetterDisplay Pro v1.4.15(显示器管理管理软件)

BetterDisplay Pro是一款屏幕显示优化工具&#xff0c;可用于Windows和Mac操作系统。它可以帮助用户调整屏幕的亮度、对比度、色彩等参数&#xff0c;以获得更好的视觉体验。此外&#xff0c;BetterDisplay Pro还提供了一些额外的功能&#xff0c;如屏幕分割、窗口管理、快捷键…

变量的作用域

在javascript中&#xff0c;var定义的变量实际是有作用域的。 1 假设在函数体内声明&#xff0c;但在函数体外不可以使用 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </…

HBase理论与实践-基操与实践

基操 启动&#xff1a; ./bin/start-hbase.sh 连接 ./bin/hbase shell help命令 输入 help 然后 <RETURN> 可以看到一列shell命令。这里的帮助很详细&#xff0c;要注意的是表名&#xff0c;行和列需要加引号。 建表&#xff0c;查看表&#xff0c;插入数据&#…

怎么检测开关电源质量的好坏?测试的方法是什么?

开关电源的工作原理 开关电源(简称SMPS)是常见的一种电源供应器&#xff0c;是高频化的电能转换装置&#xff0c;可以将电压透过不同形式的架构转换为用户端所需求的电压或电流。具有体积小、功耗小、效率高、高可靠性的特点&#xff0c;被广泛应用在工业、军工设备、科研设备、…

SHCTF 未出题目复盘

crypto week1 立正 逆序得到 :V Qook at you~ this is flag: EmxhE8tERKAfYAZ6S636dIWuEK46ZK4yRBdNdK4uRKd4 decode it 中间那串像b64 解码解不出什么 猜测还要rotate Emxh 和 flag编码后的前几位比较接近 考虑大写字母需要继续偏移 对大写字母处理完后得到 :Q Look at you…

当贝PadGO闺蜜机?多的是你不知道的玩法

一、当贝PadGO性能强在哪? 1、金属机身 当贝PadGO独有CD型底盘更有设计风格、后扶手设计更稳,且采用全金属的材质更有质感。并且在配色上还有熊猫白和唱片黑两种可以选择。屏幕采用AG磨砂类纸屏,自带纸张柔和效果,防眩光。并且拥有德国莱茵低蓝光、无频闪双重护眼认证,还可以…

食堂系统登录报错

因为数据库没有任何用户数据&#xff0c;所以会报错&#xff0c;需要添加admin用户 D:\env\jdk1.8.0_341\bin\java.exe -XX:TieredStopAtLevel1 -noverify -Dspring.output.ansi.enabledalways -Dcom.sun.management.jmxremote -Dspring.jmx.enabledtrue -Dspring.liveBeansVie…

“知了杯”网络安全竞赛(南充赛区)圆满落幕

为积极响应网络空间安全人才战略&#xff0c;加快攻防兼备网络创新人才培养步伐&#xff0c;实现以赛促学、以赛促教、以赛促用&#xff0c;推动网络空间安全人才培养和产学研用生态发展&#xff0c;成都知了汇智科技有限公司作为产教融合服务型平台机构&#xff0c;在四川省工…

LeetCode----84. 柱状图中最大的矩形

题目 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例 1: 输入:heights = [2,1,5,6,2,3] 输出:10 解释:最大的矩形为图中红色区域,面积为 10 示例 2: 输入: heights =…

中期科技:智慧公厕打造智能化城市设施,提升公共厕所管理与服务体验

智慧公厕是利用先进的技术和创新的解决方案来改进公厕的设施和管理。借助物联网、互联网、5G/4G通信、人工智能、大数据、云计算等新兴技术的集成&#xff0c;智慧公厕具备了一系列令人惊叹的应用功能。从监测公厕内部人体活动状态、人体存在状态&#xff0c;到空气质量情况、环…