可靠可用性基本知识

news2025/5/23 23:28:22

可靠可用性基本知识

  • 1. 基本概念
    • 1.1 可靠性
    • 1.2 可用性
  • 2. 可靠和可用性指标
  • 3. 可靠性工程实践相关概念
  • 4. FEMA相关知识
    • 4.1 基本概念
    • 4.2 FEMA分析流程
  • 5. 产品开发流程中可靠可用性测试如何开展
    • 5.1 测试可靠可用性输入\输出
    • 5.2 可靠可用性开展流程
    • 5.3 测试设计
    • 5.4 测试执行
      • 5.4.1 执行前准备
      • 5.4.2 故障注入方法
      • 5.4.3 故障现象\结果记录
    • 5.5 测试评估

1. 基本概念

1.1 可靠性

  • 举例1:
    例如我想用一个锤子捶钉子,这个锤子捶钉子的功能正常,能达到我想捶钉子的目的,说明是可靠的,如果捶钉子功能异常,说明可靠性差。可靠性更多从功能的角度出发,能否达到用户的目的。
  • 举例2
    如果锤子坏的频次比较高,说明可靠性差,锤子坏的频次低,说明可靠性高,可靠性有频率属性。
  • 举例3
    如果锤子被弄坏了左边的锤头,虽然左边坏了,用的时候右边能很快顶上,照常能用,说明锤子是可靠的。说明可靠性具备一定的冗余,能抗部分风险

关键字:功能相关、频率属性、有抗一定风险的措施。

1.2 可用性

  • 举例1
    例如我想用一个锤子捶钉子的时候,这个锤子是处于正常可用状态的,说明是可用的,如果正在处于维修状态、故障状态,那锤子就是不可用的。可用性更多关注使用某项功能时,功能是否处于可用状态,具有时间属性。
  • 举例2
    如果锤子一年的时间,半年都是坏的,说明可用性差,如果锤子一年只有1min是坏的,说明可用性高。
  • 举例3
    如果锤子坏了,短时间就能恢复,可维修性高,说明可用性高。

关键字:可用状态、时间属性、恢复

2. 可靠和可用性指标

  • MTBF: mean time between failure
  • MTTR: mean time to recovery
  • SLA: Service Level Agreement
  • 失效率:λ = 1/MTBF
  • 返修率:λt,t的单位是h,t=36524时值为年返修率。
  • 返修率:失效数/发货数
  • 修复率:μ = 1/MTTR
  • 可用度:A(availability) = MTBF/(MTTR+MTBF)
  • 危害性分析CA(Criticality Analysis):可以用Risk Priority Number(RPN)来表示 RPN = SPD,解释:S-严酷度参考值:40(I)\20(II)\5(III)\1(IV),P-出现的概率FITs,D-客户发现的概率参考值5(esay)\1(hard)\0.2(not))
  • 故障模式和失效分析和危害性分析:FMECA = FMEA+CA
  • 故障树分析:详情见链接。

例如:
1、网易云音乐网站可用度要达4个9
2、5G服务一般要达5个9

3. 可靠性工程实践相关概念

  • 流程: 可靠性需求分析-可靠性目标\指标-故障建模-FAT\FMEA-故障执行-可靠性评估。
  • 可靠性评估:测试能力评估+产品可靠性评估。
  • 故障处理流程:检测-隔离(故障只影响本故障域)-诊断and定位-恢复or修复(尝试恢复的操作影响应该由小到大,线程-进程-应用-系统(DC重启-AC重启))。
  • 故障隔离:ITU-T有介绍
  • 业务过载处理:检测、限流、降级、熔断or扩容。
  • 冗余(锦上添花):冷热备份。
  • 灾备(另起炉灶):贵州内蒙数据中心灾备。业务灾备>应用灾备>数据灾备
  • 故障预测方式:基于故障机理的故障预测,基于数据驱动的故障预测
  • 故障注入工程技术:混沌工程

4. FEMA相关知识

4.1 基本概念

  • FMEA: Failure Mode and Effects Analysis
  • 分为设计FMEA和过程FMEA
  • 设计FMEA与产品的本省有关,是对产品的组成可能出现的故障模式和故障后可能带来的影响进行分析,并把影响可以分级,从而对影响较高的部分采取防范措施,提升产品啊可靠性。
  • 过程FMEA与流程相关,例如加工流程中可能出现故障,分析其影响,提出改进措施。
  • 对单板来说:FMEA分析是分层的,可分为器件级、信号级、系统级,器件级主要针对单板上的各种芯片、mos管、核心器件等,信号级主要针对信号类型,例如IIC\SPI\JTAG等,系统级主要是指主从系统,灾备系统等。

4.2 FEMA分析流程

这里拿单板的FMEA分析进行举例。

功能或失效器件bom编码器件或功能描述故障模式故障原因故障发生的可能性对单元的影响对系统的影响故障等级检测方式故障应对措施
电源芯片U12345将24V转化成12V芯片使能管脚失效使能管脚失效导致芯片不能正常工作供电单元失效单板下电致命电源灯不亮多路电源供电
  • 功能或失效器件:单板的电子元器件。
  • 故障模式:导致功能或器件失效的模式:芯片电压脚电压偏低\偏高\时钟频率异常\使能管脚与其它管脚连锡。
  • 故障发生可能性:与失效率相关.
  • 故障等级:致命、严重、一般、提示。
  • 检测方式:通过何种手段观察到故障现象。

5. 产品开发流程中可靠可用性测试如何开展

5.1 测试可靠可用性输入\输出

输入1:通过反复实验、或者加压等措施增大故障发生的可能性。
输入2:通过外部直接注入故障,代替生产或者实际使用过程中去触发。
输出1:观察系统的检测\定位故障、承受\控制故障、恢复故障是否符合预期的能力。
输出2:故障注入时,通过对系统内部指标监控,通过积累指标的形成的数据经验模型,可以预估故障,帮助用户或者开发人员预防故障。

  • 定义:通过故障注入措施,给被测系统注入故障,观察系统检测\定位故障、承受\控制故障、恢复故障的能力进行评估,判断是否满足设计预期,推动减少产品失效率。

5.2 可靠可用性开展流程

  • 开发流程
概念计划开发测试发布
需求与计划测试方案设计用例设计&迭代验收&①&②③&发布测试版本产品测试关闭

① SDV:(System design Verify)系统设计验证
② SIT:(System Integration Testing) 系统集成测试,也叫做集成测试
③ SVT:(System Verification Test)系统确认测试(系统模拟测试)

链接1:专业名词参考
链接2:IPD流程参考

  • 测试活动
设计执行评估
分析需求测试执行方法评估指标
分析测试对象测试观察点确定评估
结合测试模式库分析测试工具利用
  • 测试输出
设计输出执行输出评估输出
测试方案&测试用例执行结果&指标数据测试报告

5.3 测试设计

  • 分析被测对象,分析可以是多个角度,开发视角(从系统架构角度)、部署视图角度(组网)、用例视角(操作)等,即可得到被测对象。

开发视角:系统与外部接口、系统组件、组件间接口。
部署视角:物理连线图、部署节点拓扑。
用例视角:登录、登出、购买、退货、开机、关机等。

  • 依赖测试模式库:测试模式库设计是一门学问,来源包括网上问题、历史模式库、新特性分析产品的故障模式、还有发散性思维得出来的故障模式;故障模式一般是开发中不能或者不好解决的故障,或者需要一定冗余和容错能力才能解决的故障,如果可以在开发中可以解决,就直接落到开发流程,例如PCB链路开路导致温度检测功能失效,PCB链路开路就是难以在开发中解决的问题,就可以提取出开路的故障模式;模式库有编号、名称、来源、测试方法(目的\环境搭建\步骤)、预期结果(defense-detect-sustain-expect)。
  • 测试对象和测试模式库分析匹配,等到测试对象关联的故障模式,结合具体产品,即可得到可靠性测试用例集。

5.4 测试执行

5.4.1 执行前准备

  • 包括:物料准备、固件准备、网络准备、部署准备、配置准备、工具准备、用例准备等。

5.4.2 故障注入方法

  1. 故障注入测试:
  • 手工注入、自动化注入
  • 工具注入、命令行注入
  • 硬件注入(上电前注入故障+运行中注入故障)、软件注入(寄存器注入、冷补丁注入)
  1. 压力测试:负载测试、CPU\内存\高并发测试,观察系统检测、承受\响应,恢复的能力。
  2. 长稳测试:通过冷启动反复上下点、通过热启动反复上下电,观测时间可以是7*24小时

5.4.3 故障现象\结果记录

  • 观察点:linux日志、管理系统日志、查询状态回显、灯态、告警、黑匣子、网络日志、系统工作状态(正常、降级、挂死)等。
    在这里插入图片描述

①:故障注入时间点
②:故障暴露时间点
③:业务恢复时间点
④:故障恢复时间点
⑤:智能分析总结or备份时间点
②-①:检测时长:不考虑成本,检测时长越短越好。
③-最小SLA\access时间点:业务中断时长。
③-①:业务恢复时长。
④-①:故障恢复时长。
⑤-④:总结时间or备份时长。

5.5 测试评估

  • 可靠性完整性,需求覆盖度。
  • 可靠性策略完整完备情况,测试对象覆盖度。
  • 可靠性策略有效性,TOP问题缺陷覆盖度。
  • 可靠性设计完整性:模式覆盖度
  • 可靠性用例覆盖度
  • 可靠性用例执行率
  • 可靠性用例通过率
NA测试需求测试策略测试设计测试执行测试评估
可追溯全部需求都有对应设计①全部设计都有对应用例、②测试对象都有测试设计①测试用例有执行记录、②问题单关联用例评估模型明确、无疑义
完备性测试策略目的明确、范围明确、主次分明测试对象涉及的模式库都有覆盖评估维度齐全
有效性关键问题全覆盖评估模型科学

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

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

相关文章

chatgpt赋能python:Numpy读音:是“num-pie”还是“num-pee”?

Numpy读音:是“num-pie”还是“num-pee”? 你是否曾经在想,“numpy”这个词怎么念?很多人都有不同的看法。有些人说“num-pie”,而另一些人则说“num-pee”。那么,谁是正确的呢?在这篇文章中&a…

ad18学习笔记三:关于测量点对点

如何测量? 方法有很多种,比如 1、 点击 ‘放置’–》‘尺寸’–》‘线性尺寸’ 2、 快捷工具栏 3、 快捷键 AD如何使用测量命令?-凡亿课堂 AD中的三种测量距离的方式 清除测量标线? 这个简单,在显示测量结果的…

【论文阅读】GNN在推荐系统中的应用

【论文阅读】GNN在推荐系统中的应用 参考Graph Neural Networks for Recommender Systems: Challenges, Methods, and Directions 文章目录 【论文阅读】GNN在推荐系统中的应用1、本文结构2、推荐系统的目的,发展和基于GNN模型的挑战3、推荐系统相应背景&#xff0…

GPT-4 插件和插件化的思考

一、前言 最近 ChatGPT 的 Plus 用户在 GPT-4 中新增了插件功能, GPT 在插件的加持下如虎添翼。 那么我常用的插件是哪些?插件化是什么?插件化有什么好处?插件化和我们日常开发中哪些设计模式思想一致?GPT 的插件还存…

竟然还可以这样计算圆周率π?你被惊艳到吗(50)

小朋友们好,大朋友们好! 我是猫妹,一名爱上Python编程的小学生。 和猫妹学Python,一起趣味学编程。 今日主题 什么是圆周率π? 如何用蒙特卡洛法来计算圆周率? 圆周率π 圆周率用希腊字母π&#xf…

TatukGIS Developer Kernel 11.78 for .NETCore Crack

Tatuk GIS Developer Kernel for .NET 是一个变体,它是受控代码和 .NET GIS SDK,用于为用户 Windows 操作系统创建 GIS 专业软件的过程。它被认为是一个完全用于 Win Forms 的 .NET CIL,WPF 的框架是为 C# 以及 VB.NET、VC、oxygen 以及最终与…

chatgpt赋能python:Python个人数据合并:简单优雅地整合您的个人数据

Python个人数据合并:简单优雅地整合您的个人数据 在信息时代,我们收集了大量的个人数据,包括社交媒体、电子邮件、日历事件和其他各种来源。但是,如何以整洁的方式将这些数据整合到同一地方?Python提供了一种简单而优…

chatgpt赋能python:介绍:Python中的jieba.cut

介绍:Python 中的 jieba.cut Jieba 是一个用于中文分词的 Python 库,被广泛应用于自然语言处理、文本分析等领域。其中的 jieba.cut 方法是该库的核心功能之一,对于各类中文文本的分词操作起到至关重要的作用。本文将从以下四个方面对 jieba…

springboot--请求

1. 请求 在本章节呢,我们主要讲解,如何接收页面传递过来的请求数据。 1.1 Postman 当下最为主流的开发模式:前后端分离 在这种模式下,前端技术人员基于"接口文档",开发前端程序;后端技术人员也…

1.3. 数据类型与变量

数据类型 在Java中,数据类型决定着一个数据的取值范围和操作。Java中的数据类型主要分为两类:基本数据类型和引用数据类型。 基本数据类型 Java中的基本数据类型包括整型、浮点型、字符型和布尔型。 整型:byte、short、int、long。对应的…

【嵌入式烧录/刷写文件】-3.3-Bin文件转换为S19/Hex文件

案例背景(共8页精讲): 该篇将告诉您:如何使用Vector HexView工具,j将一个bin文件转换为Intel Hex或Motorola S-record(S19/SREC/mot/SX)文件。 目录 1 Intel Hex,Motorola S-record(S19/SREC/mot/SX),Bin文件之间的…

Flutter 笔记 | Flutter 自定义组件

Flutter 自定义组件的几种方式 当Flutter提供的现有组件无法满足我们的需求,或者我们为了共享代码需要封装一些通用组件,这时我们就需要自定义组件。在Flutter中自定义组件有三种方式:通过组合其他组件、自绘和实现RenderObject。 1. 组合多…

RT1170如何在SRAM/SDRAM运行程序

一般Flash为non-XIP时,我们需要在RAM上运行程序。还有一种情况,就是我们不想每次调试都要将程序写入Flash,然后由BootROM进行代码的拷贝和跳转,这样可以减少Flash的烧写次数。本篇文章就来讨论一下如何实现这两种情形的RAM代码运行…

总结882

每周小结: 暴力英语:一边背单词,一边背文章,背了两篇文章 高等数学:进行了二重积分和矩阵第二讲专题的纠错,刷了微分方程上的相关题目。 每日必复习(5分钟) 就复习了昨天的一道题…

chatgpt赋能python:Python中的NaN:了解使用方法

Python中的NaN: 了解使用方法 在Python中,NaN代表“Not a Number”,它是一种特殊的数据类型,用于表示一些无法表示为数字的值。 在本文中,我们将深入探讨Python中的NaN以及如何在代码中使用它。 什么是NaN? NaN通常用于表示不…

chatgpt赋能python:Python中的num模块和使用方式

Python中的num模块和使用方式 Python是一种高级的编程语言,它被广泛地应用于各种领域,例如Web开发、数据处理、人工智能等等。在Python中,为了进行各种数字计算,我们会使用num模块。本文将介绍Python中num模块和使用方式&#xf…

LeetCode高频算法刷题记录12

文章目录 1. 不同路径【中等】1.1 题目描述1.2 解题思路1.3 代码实现 2. 打家劫舍【中等】2.1 题目描述2.2 解题思路2.3 代码实现 3. 单词拆分【中等】3.1 题目描述3.2 解题思路3.3 代码实现 4. 乘积最大子数组【中等】4.1 题目描述4.2 解题思路4.3 代码实现 5. 二叉树的序列化…

RHEL7-NAT模式连接外部网络

通过VMware成功安装RHEL7服务器后,除了使用Bridge桥接模式连接外部网络外,还可以使用NAT模式连接外部网络 前提: 建议关闭防火墙及selinux。 具体做法参考:https://blog.csdn.net/z19861216/article/details/130839470 1.配置…

二叉树与堆的解析

数的概念与结构 线性表:是一种具有n个相同特性的数据元素的有限序列。线性表逻辑上是线性结构,也就是连成的一条直线,但一条直线上的数据元素并不是一定要物理结构连续的。 讲到二叉树之前,我们要先了解一下什么是树,首…

感谢十二年的陪伴——分享回归,不忘初心(Eastmount博客总结及未来规划)

曾记否,2021年4月28日,为了更好地从事科研和学习,当时给所有读者群发了我在CSDN唯一的私信,感谢大家十年的陪伴,短暂消失,不负青春。当时也收到了很多博友的鼓励与祝福,感恩。 是啊&#xff01…