系统韧性研究(2)|系统韧性如何关联其他质量属性?

news2024/11/17 12:35:23

对大多数人来说,如果一个系统在逆境中继续执行它的任务,那么它会被认为具有韧性。换句话说,尽管过度的压力或多或少都会导致系统中断,但如果系统依然能够正常运行并提供所需的能力,则可认为该系统具备韧性。

系统韧性不是一个孤立的质量属性。鉴于本文是关于系统韧性及其细节的系列文章中的第二篇,所以它更多的是与鲁棒性、安全性、网络安全、防篡改、生存性、容量、寿命和互操作性直接相关,而与适应性、可用性、性能、可靠性和可修复性的关系不大。

01

系统韧性-简要回顾

系统韧性显然是很重要的,因为没有人想要一个无法克服逆境的脆弱系统。如果不利事件或不利条件导致系统无法正常运行,则可能会对有价值的资产造成多样化的损害。

此前,针对系统韧性的定义有着很大的模糊性,并且没有解决特定的问题。包括哪些类型的逆境和中断?继续执行其任务意味着什么?当系统无法正常运行时,会发生什么危害?在本系列关于系统韧性的第一篇文章中,我通过提供以下更详细和微妙的定义来解决这些问题:

系统具有一定的韧性,能够快速有效地保护其关键能力免受不利事件和不利条件造成的伤害。

然后,我将该定义澄清如下:

  • 「保护」包括检测不利事件和条件,通过限制它们对关键资产造成的伤害来应对这些不利情况,并在事后从这种伤害中恢复。逆境的预防不在系统韧性的范围内,因为韧性假设逆境将发生,并与关键服务在面对这些逆境时的连续性有关。
  • 「资产」是系统功能、组件和数据,以及必须保护其免受不利事件和条件造成的伤害的系统外部资产,因为它们实现了系统的关键功能。

这些资产中的每一项都会受到许多不同类型的特定于资产的损害,例如服务的损失或降级、关键系统组件的损坏或破坏、关键数据的机密性和完整性的损失,以及持续运营所需的外部系统或对象的损坏或毁坏。

尽管我在第一篇文章中已经就系统韧性的各种解释进行了论述,但在本文接下来的篇幅中,我会探索系统韧性如何关联其他质量属性。

02

下级质量属性的韧性

如下表所示,系统非常有韧性的不利事件和条件可以根据其相关质量属性进行分类:鲁棒性、安全性、网络安全性、防篡改性、生存性、容量、寿命和互操作性。

尽管生存能力有时被用作韧性的同义词,但本文使用了生存能力的军事定义:系统在单次交战后保持任务能力的能力。生存能力的特征通常是系统避免被敌人检测的能力(即低可检测性)、其避免被武器击中的能力(例如低易感性)、其承受打击的能力(如低易损性)以及其从被击中中恢复的能力(即高可恢复性)。

03

基于质量属性特征的韧性

系统韧性是通过结合一组适当的体系结构、设计和实现功能(例如保障、安全控制、体系结构和设计模式以及实现习惯用法)来实现的。如下图所示,韧性特征可以通过两种方式进行分类:

韧性功能支持上表中列出的系统韧性的八个从属质量属性(如鲁棒性、安全性和网络安全性)中的一个或多个。相同的韧性特征通常可以改善这些质量属性中的多个,因此不应将它们视为相互独立实现的不相关质量属性。相反,应该在系统韧性的标题下对其整体看待。这些韧性特征将是本系列第四篇文章的主题。

韧性功能将支持韧性的三个保护子功能之一:检测、反应和恢复。系统韧性涉及在不利事件发生或不利条件存在后确保运营的连续性,因此,即使在这些次要质量属性的范围内,逆境预防也不在系统韧性的范围内。

04

容差韧性

另一种看待系统韧性的方法是,系统的韧性达到了它对各种类型的不良事件和条件的容忍程度。换句话说,系统的韧性达到其展示以下类型容差的程度(按下级质量属性进行组织):

  • 鲁棒性:

-环境容差是系统处理不利环境事件或条件的能力。例如,自动陆地车辆包含多种类型的冗余传感器(如相机、激光雷达、雷达和超声波传感器)的一个原因是,传感器融合和人工智能软件可以在不利的天气条件下(如夜间、雾天、雨天和雪天)安全、准确地识别和分类道路对象。

-容错是“系统或组件在存在错误输入的情况下继续正常运行的能力。”容错包括系统检测、响应或从人类和外部系统的错误输入中恢复的能力。

-容错是“尽管存在……故障,系统、产品或组件仍按预期运行的程度”。容错包括系统防止、检测、响应或从故障中恢复的能力。故障被定义为:(1)“系统中的缺陷或系统的表示,如果执行/激活,可能会导致错误”;(2)“硬件设备或组件中的缺陷”;(3)“计算机程序中的错误步骤、过程或数据定义”。

-容错是系统检测、响应全部或部分故障或从中恢复的能力。故障是指系统执行所需功能的能力终止或无法在先前规定的限制内执行;与系统规范的外部可见偏差。

  • 安全性:

-事故容限是指系统检测、响应事故以及对资产造成的任何意外伤害并从中恢复的能力。

-危害容限是系统检测和响应危害存在的能力(如避免事故或限制事故造成的危害)。

  • 网络安全:

-网络攻击容忍度是系统保护其关键功能免受网络攻击伤害的能力。

-威胁容忍是系统检测和响应网络安全威胁和漏洞存在的能力(如通过降低成功攻击的可能性)。

  • 防篡改:

-篡改容差(反篡改)是指系统保护其关键能力免受篡改(即反向工程)危害的能力,篡改旨在导致关键程序信息(CPI)的泄露或修改,以及篡改漏洞。

  • 生存能力:

-物理攻击容忍度是系统保护其关键功能免受物理攻击伤害的能力。

-威胁容忍度是系统检测和响应威胁的能力(如飞机检测到导弹锁定和抛弹)。

  • 容量:

-过度负载容差是指系统保护其关键功能免受过度负载(如事务、命令和消息)损害的能力。

  • 长寿:

-随着系统物理部件的寿命达到或超过其设计极限,其故障概率增加。需要长运行寿命而无需维护的系统可以通过合并寿命控制来避免中断。例如,航天器可以包括抗辐射硬件,并通过选择性地关闭未使用的子系统来实现子系统休眠。

-过度老化容限是指系统检测、响应或恢复超过其设计限制的物理部件老化以及对资产造成的任何损害的能力。

  • 互操作性:

-故障通信容差是指系统保护其关键功能免受与外部系统通信丢失或降级损害的能力。

05

其他质量属性的韧性

系统韧性作为一种质量属性,受到其他质量属性的影响。除了上面讨论的次要质量属性外,韧性还受到以下因素的影响:

  • 适应性。可以使自身适应(例如通过重组、重新配置、负载平衡和旋转额外的虚拟机或容器)不断变化的条件的系统可能能够响应不利事件和条件以及它们可能造成的任何伤害,并从中恢复。
  • 可用性。具有高可用性的系统通常能够从不良事件中快速恢复。在不利条件下,尽管发生了不利事件,韧性系统仍需要保持其关键能力/服务的可用性。
  • 可维护性。如果系统支持纠正性维护,则系统在可恢复性方面具有更强的韧性。如果一个系统能够自我修复,而不是依赖于人工维护,则该系统被认为更具韧性。
  • 性能。检测方面的高韧性会降低吞吐量和响应时间方面的性能,这对于硬实时网络物理系统可能是不可接受的。
  • 可靠性。低水平的可靠性会导致大量故障和失效,这就需要与故障和容错相关的更高级别的恢复能力(检测、响应和恢复)。在不利条件下,尽管发生了不利事件,韧性系统仍需要保持其关键能力/服务的可靠性。
  • 可修复性。可以自我修复的系统(例如,通过自动更换某些子系统或线路可更换单元)可以在不良事件后更好地恢复。

06

总结与预告

本文阐明了系统韧性如何关联其他密切相关的质量属性。下一篇(第三篇)文章将介绍系统韧性需求,包括其子类型和示例;第四篇文章将涵盖支持不良事件和条件的检测、反应和恢复的韧性特征。

敬请期待。

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

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

相关文章

显示杂谈(二)winscope的使用

WinScope 提供了用于在窗口转换期间和转换后记录和分析 WindowManager 状态和 SurfaceFlinger 状态的基础架构和工具。WinScope 将所有相关的系统服务状态记录在一个跟踪文件中,您可以使用该文件重现并逐步查看转换。 抓winscope相关文件: 通过快捷设置记录跟踪情…

git初学者使用教程(包含Android studio中git使用)

文章目录 1、登录 / 注册git账号2、创建git仓库3、设置git的用户名和邮箱4、创建git仓库5、已有仓库推送代码到远程仓库6、进阶使用,命令行和Android studio软件使用1. 克隆(Clone)源码仓库2. 查看仓库状态(Status)3. …

JAVA获取30天或某段范围日期的方法

JAVA获取30天或某段范围日期的方法,在项目使用中比较频繁。 public class Main {public static void main(String[] args) {DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");LocalDate now = LocalDate.now();List<String> dateLi…

在云上使用 OpenText 实现业务关键型应用程序的现代化

通过在云中进行信息管理建立持久的竞争优势 创新在云中发生的速度比以往任何时候都快 企业面临着数字经济快速转型的挑战&#xff0c;充分释放业务信息的能力对于建立持久的竞争优势至关重要。为分散的员工扩大安全可靠的协作范围将是生产力和创新的关键驱动力。 如今大多数企…

发电机组负载测试的工作原理

发电机组负载箱是用于连接发电机组和负载设备的设备&#xff0c;其通过电源输入端与发电机组连接&#xff0c;接收发电机组输出的电能&#xff0c;发电机组负载箱内部设有多个电路分支&#xff0c;根据负载需求和优先级&#xff0c;将电能分配给不同的负载设备&#xff0c;这些…

性能评测 | GreatDB VIP PLUGIN方案 VS MySQL InnoDB Cluster高可用方案

前言 最近&#xff0c;我们与许多数据库用户进行了沟通和调研&#xff0c;了解到&#xff0c;目前仍有相当一部分投产的MySQL高可用或故障转移方案&#xff0c;用到了读写分离功能或业务接入VIP&#xff08;Virtual IP Address&#xff09;的方式&#xff0c;来屏蔽后端数据库架…

Crypto(4)NewStarCTF 2023 week2 Crypto Rotate Xor

题目代码: # 导入所需的库和从secret模块加载"flag" from secret import flag from os import urandom from pwn import xor from Cryptodome.Util.number import *# 生成两个随机的 64 位素数&#xff0c;分别存储在变量 k1 和 k2 中 k1 getPrime(64) k2 getPrim…

科普丨语音芯片烧录流程概述

语音芯片的烧录是将特定的固件或软件加载到芯片中&#xff0c;以使其能够执行特定的语音处理功能。以下是一般的语音芯片烧录过程&#xff1a; 1. 准备固件或软件&#xff1a;开发人员需要编写或获取特定的固件或软件&#xff0c;这些固件或软件包含了语音处理算法和功能的代码…

Lake Formation 和 IAM 之间的区别与联系

IAM 和 Lake Formation 都是 AWS 上的权限管理服务,且默认都是自动开启并生效的,只是如果你没有特别配置过它们,可能感觉不到它们的存在,特别是Lake Formation(后文简写为 LF),通常情况下都是“透明”的,虽然但它确实在每次请求时进行了权限检查。本文会详细介绍一下两…

22款奔驰S400L升级原厂360全景影像 倒车更加的安全

您是否经历过这种场面呢&#xff1f; 停车位&#xff0c;狭窄障碍停车困难 避免盲区&#xff0c;倒车盲区危及生命安全 狭窄路段&#xff0c;无法判断是否安全通过 视角盲区&#xff0c;小孩站在视野盲区看不到&#xff0c;Xjh15863 360度无缝3D全车可见&#xff0c;解决各…

手撸大文件上传:实现切片上传,断点上传和文件秒传的功能。

一、前提说明 此文章主要讲述后端服务代码和前后端实现思路部分&#xff0c;不涉及前端代码。 二、应用场景 上传视频等大文件的时候&#xff0c;调用服务器的上传接口&#xff0c;可能出现因为文件过大&#xff0c;连接时间超时导致的上传失败&#xff0c;如果文件太大了&…

如何修复Python中的缩进错误?

目录 缩进的概念和规则 缩进错误的类型 &#xff08;1&#xff09;缩进量错误 &#xff08;2&#xff09;缩进范围错误 修复缩进错误的方法 &#xff08;1&#xff09;检查代码块的层次结构 &#xff08;2&#xff09;统一使用空格或制表符 &#xff08;3&#xff09;使…

java三层架构/表现层-业务层-持久层

三层架构 什么是 Java 三层架构 三层架构是指&#xff1a;视图层view&#xff08;表现层&#xff09;&#xff0c;服务层service&#xff08;业务逻辑层&#xff09;&#xff0c;持久层Dao&#xff08;数据访问层&#xff09;&#xff0c; Java的三层架构是指将Java程序分为三…

公众号留言功能卖多少钱?报价多少?

为什么公众号没有留言功能&#xff1f;2018年2月12日之后直到现在&#xff0c;新注册公众号的运营者会发现一个问题&#xff1a;无论是个人还是企业的公众号&#xff0c;在后台都找不到留言功能了。这对公众号来说绝对是一个极差的体验&#xff0c;少了一个这么重要的功能&…

Vue2基础知识(二) 计算属性/侦听器/生命周期

&#x1f48c; 所属专栏&#xff1a;【Vue2】&#x1f600; 作 者&#xff1a;长安不及十里&#x1f4bb;工作&#xff1a;目前从事电力行业开发&#x1f308;目标&#xff1a;全栈开发&#x1f680; 个人简介&#xff1a;一个正在努力学技术的Java工程师&#xff0c;专注基础和…

vue记住密码

<div class"checkbox-login"><input type"checkbox" id"defaults" v-model"loginForm.rememberMe" /><label class"label" for"defaults">记住密码</label></div> .checkbox-logi…

RPA的尽头是超自动化?

超自动化在经过数年的发酵期后&#xff0c;已从一个科技概念崛起为市值近千亿元的新赛道&#xff0c;包括各大互联网巨头、科技公司都纷纷围绕超自动化进行战略布局。 一方面&#xff0c;是行业巨头选择纷纷跻身超自动化新赛道&#xff0c;另一方面&#xff0c;RPA行业的领军企…

邯郸学院软件学院软件工程专业教师参加“火焰杯”软件测试颁奖典礼

近日&#xff0c;全国第三届“火焰杯”软件测试河北赛区颁奖典礼在河北工程技术学院举行。我院软件工程教研室主任张颖、教师王金如受邀参与此次颁奖典礼。王金如老师获得大赛优秀指导教师二等奖&#xff0c;软件学院荣获优秀组织单位奖。 赛事开始之际&#xff0c;学院就积极…

如何安装nvm管理node版本

如果已经有node可以先卸载&#xff08;也可以不卸载&#xff0c;安装nvm的时候会有提示&#xff0c;可以管理现有的node&#xff09; 一、在控制面板卸载程序中卸载现有的node 二、下载nvm并进行安装 nvm官网地址&#xff1a;nvm文档手册 - nvm是一个nodejs版本管理工具 - nvm…

JMH:让你的Java程序性能翻倍的神器

大家好&#xff01;今天我要向大家详细介绍JMH&#xff08;Java Microbenchmark Harness&#xff09;&#xff0c;这个被誉为Java性能测试的利器。无论你是想优化现有的Java代码还是开发新的项目&#xff0c;JMH都能够帮助你准确、可靠地测量和分析代码的性能&#xff0c;让我们…