【系统架构设计(26)】系统可靠性分析与设计详解:构建高可用软件系统的核心技术

文章目录

    • 一、本文知识覆盖范围
      • 1、概述
      • 2、知识体系概览
    • 二、系统可靠性基础概念
      • 1、可靠性与可用性的本质区别
      • 2、软件可靠性与硬件可靠性的深度对比
      • 3、核心可靠性指标的业务价值
    • 三、系统架构可靠性模型
      • 1、串联系统的可靠性挑战
      • 2、并联系统的高可靠性设计
      • 3、混合系统的复杂性管理
    • 四、可靠性建模与评估方法
      • 1、可靠性建模方法的分类与应用
      • 2、实用建模方法的深度应用
    • 五、影响软件可靠性的关键因素
      • 1、开发方法与环境的深度影响
      • 2、运行环境的复杂性挑战
      • 3、软件规模与复杂度的管理
    • 六、容错设计技术详解
      • 1、N版本程序设计的工程实践
      • 2、恢复块方法的动态容错
      • 3、防卫式程序设计的实用策略
    • 七、高可用系统架构设计
      • 1、双机容错系统的工程实现
      • 2、集群容错的扩展性设计
      • 3、冗余设计的系统化方法
    • 八、实际应用指导
      • 1、可靠性设计的分阶段实施策略
      • 2、可靠性技术选择指南
      • 3、常见可靠性问题及解决方案
      • 4、可靠性测试与验证方法
      • 5、可靠性运维最佳实践

系统可靠性分析与设计是构建高质量软件系统的核心技术能力,通过系统学习和实践这些技术,我们能够构建出既稳定可靠又高效运行的现代化软件系统。

  • 可靠性分析能力:掌握系统可靠性建模和量化评估方法
  • 容错设计能力:熟练运用各种容错技术,设计高可靠系统架构
  • 故障处理能力:具备快速故障定位、分析和恢复的实战能力
  • 预防性思维:建立从设计阶段就考虑可靠性的工程思维

一、本文知识覆盖范围

1、概述

系统可靠性分析与设计能够:

  1. 降低业务损失:通过可靠性设计,系统故障时间从小时级降低到分钟级,避免重大业务损失
  2. 提升用户体验:系统可用性从99%提升到99.99%,用户满意度显著提升
  3. 减少运维成本:通过容错设计,人工干预次数减少80%,运维效率大幅提升
  4. 保障企业声誉:避免因系统故障导致的品牌形象损害和客户流失

知识应用场景:

  • 金融交易系统(银行核心系统、支付平台、证券交易)
  • 电商平台(双11大促、订单处理、库存管理)
  • 工业控制系统(生产线控制、安全监控、设备管理)
  • 通信网络系统(电信基础设施、互联网服务、云计算平台)

 

2、知识体系概览

本文涵盖系统可靠性分析与设计的完整技术体系:

知识模块具体内容学习重点
可靠性基础概念可靠性定义、软硬件可靠性对比、关键指标理解可靠性与可用性区别,掌握MTBF、MTTR等核心指标
系统架构模型串联系统、并联系统、混合系统可靠性计算学会不同架构的可靠性评估和设计选择
可靠性建模方法数学模型、统计模型、结构分析模型掌握可靠性预测和评估的量化方法
影响因素分析开发方法、运行环境、软件规模等因素识别和控制影响可靠性的关键因素
容错设计技术N版本程序、恢复块、防卫式编程掌握主流容错技术的原理和应用场景
高可用架构双机热备、集群容错、冗余设计学会设计和实施高可用系统架构

 

二、系统可靠性基础概念

1、可靠性与可用性的本质区别

对比维度可靠性关注点可用性关注点实际业务影响
设计目标系统不出错、出错后能恢复系统大部分时间可用可靠性影响数据安全
可用性影响用户体验
衡量标准故障处理能力、错误率正常运行时间比例金融系统更重视可靠性
社交媒体更重视可用性
技术手段容错设计、冗余备份负载均衡、快速恢复容错技术成本高但安全
负载均衡成本低但复杂
故障影响数据丢失、功能异常服务暂时不可访问可靠性故障后果严重
可用性故障影响范围大

 

2、软件可靠性与硬件可靠性的深度对比

在这里插入图片描述

复杂性维度的深度分析

复杂性类型软件系统硬件系统实际影响
逻辑复杂度百万行代码、复杂算法逻辑电路逻辑相对固定软件缺陷数量级更高
交互复杂度模块间调用关系错综复杂硬件接口相对标准化软件集成测试更困难
状态复杂度系统状态空间巨大硬件状态相对有限软件状态测试覆盖困难
环境复杂度依赖操作系统、中间件等物理环境相对稳定软件兼容性问题更多

失效模式的本质差异

失效特征软件失效模式硬件失效模式应对策略差异
失效原因逻辑错误、设计缺陷物理磨损、环境影响软件需要逻辑验证
硬件需要物理防护
失效规律随机性强、难以预测遵循物理规律、可预测软件需要统计分析
硬件可用物理模型
修复方式软件补丁、版本升级硬件更换、维修软件修复快但影响大
硬件修复慢但局部
预防措施代码审查、测试验证冗余设计、定期维护软件重在开发阶段
硬件重在运行阶段

3、核心可靠性指标的业务价值

在这里插入图片描述

可靠性指标计算公式业务含义优化策略典型目标值
MTTF总正常运行时间/故障次数系统稳定性水平提升代码质量
加强测试验证
互联网服务:720小时
金融系统:8760小时
MTTR总修复时间/故障次数故障响应效率自动化监控
快速定位工具
互联网服务:30分钟
金融系统:15分钟
MTBFMTTF + MTTR整体可靠性水平平衡预防和响应互联网服务:750小时
金融系统:8775小时
可用性MTTF/(MTTF+MTTR)×100%用户服务体验同时优化MTTF和MTTR99.9%(8.76小时/年)
99.99%(52.6分钟/年)

不同行业的可靠性要求对比

行业领域可用性要求年停机时间MTBF目标MTTR目标业务影响
电商平台99.9%8.76小时720小时30分钟每分钟损失百万交易额
银行核心99.99%52.6分钟8760小时15分钟监管合规和客户信任
工业控制99.999%5.26分钟17520小时5分钟生产安全和设备损坏
航空航天99.9999%31.5秒87600小时1分钟人员安全和任务成功

 

三、系统架构可靠性模型

在这里插入图片描述

1、串联系统的可靠性挑战

串联系统的可靠性问题源于其"单点故障"特性:

  • 故障传播效应:任何一个组件的故障都会导致整个系统失效
  • 可靠性乘积效应:系统可靠性是各组件可靠性的乘积,必然低于最低的组件可靠性
  • 复杂度累积效应:组件数量增加时,系统整体可靠性呈指数级下降
  • 维护复杂性:需要确保所有组件都正常工作,维护成本高

串联系统可靠性计算的实际应用

组件数量单组件可靠性系统可靠性可用性影响实际案例
3个组件0.90.729年停机时间增加到75小时简单Web应用
(Web服务器+应用服务器+数据库)
5个组件0.90.590年停机时间增加到120小时传统企业应用
(负载均衡+Web+应用+缓存+数据库)
10个组件0.90.349年停机时间增加到190小时复杂分布式系统
(多层架构+中间件+存储)

串联系统的优化策略

优化方向具体措施效果预期实施难度成本影响
减少组件数量功能合并、架构简化可靠性提升50%中等开发成本增加
提升组件质量严格测试、代码审查单组件可靠性提升到0.95+质量保证成本增加
快速故障恢复自动重启、健康检查MTTR从小时级降到分钟级中等运维工具投入
监控告警实时监控、预警机制故障发现时间缩短90%监控系统成本

2、并联系统的高可靠性设计

并联系统的可靠性优势

并联系统通过冗余设计实现高可靠性,是关键业务系统的首选架构:

并联系统可靠性提升的数学原理

并联系统的可靠性计算公式:R = 1 - (1-R₁)×(1-R₂)×…×(1-Rₙ)

这个公式的核心思想是:只要有一个组件正常工作,系统就能正常运行。

并联系统可靠性提升效果分析

并联组件数单组件可靠性系统可靠性可靠性提升倍数典型应用场景
2个组件0.90.991.1倍双机热备系统
3个组件0.90.9991.11倍三副本存储系统
5个组件0.90.999991.11倍高可用集群系统
10个组件0.90.99999999991.11倍大规模分布式系统

并联系统的设计考虑因素

设计因素技术挑战解决方案业务价值
负载分配如何均匀分配负载负载均衡算法
动态权重调整
资源利用率提升30%
故障检测如何快速发现故障组件健康检查机制
心跳监控
故障发现时间<1分钟
自动切换如何实现无缝切换自动故障转移
会话保持
用户无感知切换
数据一致性如何保证数据同步主从复制
分布式一致性算法
数据一致性>99.9%

3、混合系统的复杂性管理

现实系统的架构复杂性

实际的企业级系统往往是串联和并联的复杂组合,需要综合考虑可靠性设计:
在这里插入图片描述

混合系统的可靠性分析方法

  1. 分层分析法:将复杂系统分解为多个子系统,分别分析每个子系统的可靠性
  2. 关键路径分析:识别影响整体可靠性的关键路径和瓶颈组件
  3. 故障模式分析:分析不同故障模式对系统整体的影响程度
  4. 蒙特卡洛仿真:通过随机模拟评估复杂系统的可靠性表现

典型混合系统架构分析

系统层次架构模式可靠性计算关键风险点优化重点
接入层并联(多个负载均衡器)R₁ = 1-(1-0.99)² = 0.9999负载均衡器故障增加节点数量
应用层并联(多个应用服务器)R₂ = 1-(1-0.95)³ = 0.999875应用程序缺陷提升代码质量
数据层串联(主从数据库)R₃ = 0.99×0.98 = 0.9702数据库主节点故障实现自动切换
整体系统串联组合R = R₁×R₂×R₃ = 0.9697数据层是瓶颈重点优化数据层

 

四、可靠性建模与评估方法

1、可靠性建模方法的分类与应用

不同建模方法的适用场景分析
在这里插入图片描述

建模方法核心原理适用场景优势局限性
种子法模型预设已知错误评估检测能力测试阶段可靠性评估操作简单、成本低依赖人工设置错误
失效率模型数学函数描述失效率变化软件生命周期管理理论基础扎实参数估计困难
曲线拟合模型统计回归分析变量关系历史数据丰富的系统基于实际数据需要大量历史数据
可靠性增长模型增长函数描述改进过程迭代开发过程动态反映改进效果假设条件较强
马尔可夫模型状态转移概率描述状态变化明确的系统数学模型严密状态空间复杂

2、实用建模方法的深度应用

马尔可夫过程模型的企业级应用

马尔可夫模型特别适合分析系统状态转换,在企业级系统可靠性分析中应用广泛:

系统状态定义与转移分析

系统状态状态描述转移条件业务影响恢复策略
正常运行所有功能正常λ(故障率)无影响预防性维护
部分故障部分功能异常μ₁(修复率)功能受限快速修复
系统故障系统完全不可用μ₂(恢复率)业务中断紧急恢复
维护状态计划维护中ν(维护完成率)计划停机计划内恢复

贝叶斯分析模型的动态优化

贝叶斯方法能够结合先验知识和实时数据,动态优化可靠性评估:

贝叶斯模型的实际应用价值

应用阶段先验信息来源观测数据类型后验结果应用业务价值
设计阶段类似系统经验设计评审结果设计方案优化降低设计风险
测试阶段设计阶段评估测试缺陷数据测试策略调整提升测试效率
运行阶段测试阶段数据运行故障数据维护计划制定降低运维成本
优化阶段运行历史数据改进效果数据持续改进方向持续价值提升

 

五、影响软件可靠性的关键因素

在这里插入图片描述

1、开发方法与环境的深度影响

开发方法论对可靠性的决定性作用

不同的开发方法论对软件可靠性有着根本性的影响,选择合适的开发方法是保障可靠性的第一步:

主流开发方法的可靠性对比分析

开发方法可靠性优势可靠性风险适用场景可靠性提升效果
瀑布模型需求明确、设计完整后期修改成本高需求稳定的关键系统设计阶段可靠性提升40%
敏捷开发快速响应变化、持续改进文档不足、架构演进风险需求变化频繁的系统缺陷修复速度提升300%
DevOps开发运维一体化快速发布可能引入问题互联网快速迭代系统故障恢复时间缩短80%
极限编程代码质量高、测试覆盖全过度工程化风险高质量要求的系统代码缺陷率降低60%

开发环境对可靠性的技术支撑

环境要素影响机制最佳实践可靠性提升
IDE工具代码提示、语法检查使用现代化IDE,启用所有检查编译期错误减少50%
版本控制代码历史、分支管理Git工作流、代码审查代码质量问题减少30%
自动化测试回归测试、持续验证单元测试、集成测试、端到端测试缺陷发现率提升70%
静态分析代码质量检查SonarQube、Checkstyle等工具潜在缺陷发现率提升40%

2、运行环境的复杂性挑战

硬件环境对可靠性的影响分析

硬件因素可靠性影响风险表现应对策略效果评估
CPU性能计算能力不足导致超时响应时间增长、请求堆积性能监控、动态扩容超时错误减少80%
内存容量内存不足导致系统崩溃OutOfMemory错误内存优化、垃圾回收调优内存相关故障减少90%
存储IO磁盘IO瓶颈影响性能数据库操作缓慢SSD升级、IO优化数据库性能提升5倍
网络带宽网络拥塞导致通信失败服务调用超时网络优化、限流控制网络错误减少60%

软件环境的兼容性管理

环境层次兼容性挑战测试策略风险控制
操作系统不同OS版本的API差异多OS环境测试容器化部署统一环境
运行时环境JVM、.NET版本差异多版本兼容性测试明确运行时版本要求
第三方依赖依赖库版本冲突依赖版本锁定测试依赖管理工具使用
配置管理配置参数错误配置验证测试配置模板化管理

3、软件规模与复杂度的管理

规模增长带来的可靠性挑战

软件规模的增长不是线性的可靠性问题,而是指数级的复杂度增长:

软件规模与缺陷密度关系分析

代码规模典型缺陷密度主要风险点管理策略质量目标
<1万行1-3个/千行逻辑错误、边界条件代码审查、单元测试缺陷密度<1个/千行
1-10万行3-8个/千行模块集成、接口错误架构设计、集成测试缺陷密度<3个/千行
10-100万行8-15个/千行系统集成、性能问题分层架构、系统测试缺陷密度<8个/千行
>100万行15-30个/千行架构腐化、维护困难微服务拆分、持续重构缺陷密度<15个/千行

复杂度控制的技术手段

复杂度类型控制方法技术实现效果评估
圈复杂度方法拆分、逻辑简化代码重构、设计模式圈复杂度<10
耦合复杂度接口设计、依赖注入分层架构、IoC容器模块耦合度<0.3
继承复杂度组合优于继承设计原则、重构技术继承深度<5层
数据复杂度数据建模、规范化数据库设计、ORM数据一致性>99%

 

六、容错设计技术详解

在这里插入图片描述

1、N版本程序设计的工程实践

N版本程序设计的核心价值与挑战

N版本程序设计通过多样性实现容错,是航空航天、核电等关键系统的标准做法:

为什么需要N版本程序设计?

传统的测试和调试方法无法完全消除软件缺陷,特别是在安全关键系统中,单一版本的软件存在系统性风险。N版本程序设计通过以下机制提升可靠性:

  • 缺陷独立性假设:不同团队开发的版本,缺陷出现的位置和类型相对独立
  • 多数表决机制:通过多个版本的输出比较,识别和屏蔽错误结果
  • 故障掩盖能力:即使部分版本出现错误,系统仍能输出正确结果
  • 持续改进机制:通过版本间的差异分析,持续改进软件质量

在这里插入图片描述

N版本程序设计的实施复杂度分析

实施阶段技术挑战解决方案成本影响效果评估
需求规范规范理解的一致性形式化规范、需求评审需求分析成本增加2倍需求缺陷减少80%
独立开发确保开发团队的独立性物理隔离、不同工具链开发成本增加N倍共性缺陷减少60%
同步执行版本间的时序同步统一调度、时钟同步系统复杂度增加50%时序错误减少90%
结果表决表决算法的设计多种表决策略、阈值设定表决开销增加10%错误检出率提升70%

表决算法的选择策略

表决算法适用场景优势局限性典型应用
全等表决精确计算场景严格一致性保证对精度要求极高数值计算系统
多数表决一般业务场景容忍度高、实用性强需要奇数个版本控制系统决策
加权表决版本可靠性已知充分利用版本差异权重设定困难专家系统
阈值表决模糊判断场景适应性强阈值设定需要经验模式识别系统

2、恢复块方法的动态容错

恢复块设计的时间效率优势

恢复块方法相比N版本程序设计,在资源利用和执行效率方面有显著优势:

在这里插入图片描述

恢复块方法的执行机制

恢复块方法采用"主备切换"的思想,正常情况下只运行主块,出现问题时才启用备份块:

执行阶段主要活动资源消耗时间开销可靠性贡献
主块执行运行主要算法逻辑1倍资源正常执行时间基础可靠性
验证测试检查执行结果正确性0.1倍资源10%额外时间错误检测能力
备块切换启动备份块执行1倍资源重新执行时间故障恢复能力
状态恢复恢复到检查点状态0.2倍资源5%恢复时间状态一致性

验证测试程序的设计要点

验证测试程序是恢复块方法的关键组件,其质量直接影响整个方法的有效性:

验证维度检查内容实现方法检查开销漏检风险
输出合理性结果是否在合理范围内边界检查、范围验证中等
不变式检查程序不变式是否满足断言检查、状态验证中等
一致性检查数据结构内部一致性完整性约束检查很低
性能检查执行时间是否异常超时检测、性能监控

3、防卫式程序设计的实用策略

防卫式编程的多层防护思想

防卫式程序设计通过在代码中加入大量的防护检查,实现"预防胜于治疗"的可靠性策略:

防卫式编程的实施层次
在这里插入图片描述

防护层次防护目标实现技术性能影响可靠性提升
输入验证防止无效输入参数检查、格式验证5-10%输入错误减少95%
状态检查确保对象状态有效前置条件、后置条件10-15%状态错误减少80%
资源保护防止资源泄露异常处理、资源管理3-5%资源错误减少90%
边界保护防止越界访问数组边界检查5-8%越界错误减少99%

异常处理的最佳实践模式

异常类型处理策略实现方式业务影响用户体验
业务异常优雅降级默认值、备选方案功能受限但可用用户可感知但可接受
系统异常快速失败异常抛出、错误日志功能不可用用户感知明显
资源异常重试机制指数退避、熔断器临时性影响用户可能无感知
网络异常超时处理超时设置、连接池响应延迟用户体验下降

 

七、高可用系统架构设计

1、双机容错系统的工程实现

双机系统的架构演进与选择

双机容错是高可用系统设计的基础,不同的双机模式适用于不同的业务场景:
在这里插入图片描述

双机热备模式的深度分析

双机热备是最常见的高可用架构,通过主备切换实现业务连续性:

组件类型主机角色备机角色切换触发条件切换时间业务影响
应用服务处理所有业务请求实时同步状态,待命主机心跳中断30-60秒短暂服务中断
数据库处理读写操作实时复制数据主库故障检测60-120秒数据可能短暂不一致
存储系统提供存储服务镜像同步数据存储设备故障10-30秒文件访问暂时中断
网络设备承载网络流量配置同步网络中断检测5-15秒网络连接短暂中断

双机互备模式的负载优化

双机互备模式通过相互备份,提高了资源利用率:

业务配置正常状态故障状态资源利用率性能影响适用场景
业务A+业务B各自运行在专用机器单机承担双业务100%性能下降50%业务独立性强
相同业务负载均衡分担单机承担全部负载100%性能下降50%业务负载可预测
主次业务主业务+次业务分离主业务优先保障90%次业务可能停止业务优先级明确

2、集群容错的扩展性设计

从双机到集群的架构演进

集群架构是双机模式的自然演进,通过多节点协作实现更高的可用性和性能:

集群架构的核心技术组件

技术组件功能作用实现方案技术难点业务价值
负载均衡流量分发、故障隔离硬件LB、软件LB、DNS轮询会话保持、健康检查性能线性扩展
服务发现节点注册、状态管理Consul、Eureka、Zookeeper网络分区、脑裂问题自动化运维
配置管理统一配置、动态更新Apollo、Nacos、Consul配置一致性、版本管理运维效率提升
监控告警状态监控、异常告警Prometheus、Grafana指标采集、告警策略故障快速响应

集群容错的可靠性计算

集群系统的可靠性计算比双机系统更复杂,需要考虑多种故障模式:

集群规模单节点可靠性最少存活节点系统可靠性可用性等级典型应用
3节点0.992个节点0.99970299.97%小型关键系统
5节点0.993个节点0.999999999.99999%中型企业系统
7节点0.994个节点0.99999999999.9999999%大型互联网系统

3、冗余设计的系统化方法

多维度冗余的协同设计

高可用系统需要在多个维度实现冗余,形成完整的容错体系:

结构冗余的设计策略

冗余类型冗余方式实现成本可靠性提升维护复杂度适用场景
硬件冗余多台服务器、存储设备高(2-5倍成本)显著中等关键业务系统
软件冗余多版本程序、多个实例中等(开发成本增加)显著安全关键系统
网络冗余多条网络链路、多个ISP中等(带宽成本增加)中等中等网络依赖系统
数据冗余多副本存储、异地备份中等(存储成本增加)数据密集型系统

信息冗余的错误检测与纠正

冗余技术检测能力纠正能力冗余开销应用场景
奇偶校验单bit错误12.5%内存保护
海明码双bit错误单bit错误25-50%存储系统
CRC校验突发错误无(检测后重传)1-8%网络通信
Reed-Solomon多bit错误多bit错误50-100%光盘存储

时间冗余的实现策略

时间冗余方式实现原理检错能力性能影响适用场景
重复执行同一操作执行多次瞬时错误性能降低2-3倍关键计算任务
交替执行不同时间片执行持续性错误性能降低50%实时控制系统
滚动备份定期保存系统状态状态错误存储开销增加事务处理系统
检查点机制关键点状态保存逻辑错误轻微性能影响长时间运行任务

 

八、实际应用指导

1、可靠性设计的分阶段实施策略

可靠性建设的渐进式路径

可靠性建设是一个系统工程,需要根据业务发展阶段和技术能力,制定分阶段的实施计划:

不同发展阶段的可靠性重点

发展阶段业务特点可靠性重点技术投入预期效果实施周期
初创期快速验证、资源有限基础监控、异常处理开发时间10%可用性达到99%2-4周
成长期用户增长、稳定性要求提升负载均衡、数据备份开发时间20%可用性达到99.9%1-2个月
扩张期大规模用户、业务关键集群部署、容错设计开发时间30%可用性达到99.99%3-6个月
成熟期业务稳定、精细化运营智能运维、预测性维护开发时间40%可用性达到99.999%6-12个月

2、可靠性技术选择指南

基于业务场景的技术选择矩阵

业务场景可靠性要求推荐技术方案实施重点成本预算
电商平台高可用、数据一致性微服务+数据库集群+缓存交易链路保护、库存一致性中高
金融系统极高可靠性、监管合规N版本程序+双机热备容错设计、审计追踪
内容平台高并发、用户体验CDN+负载均衡+缓存内容分发、访问加速中等
企业应用业务连续性、数据安全集群部署+数据备份业务流程保护、数据恢复中等

3、常见可靠性问题及解决方案

典型可靠性故障的预防与处理

故障类型故障表现根本原因预防措施应急处理
内存泄漏系统越来越慢,最终崩溃对象未正确释放代码审查、内存监控重启服务、内存分析
数据库死锁事务处理超时锁资源竞争锁顺序规范、超时设置事务回滚、锁检测
网络分区部分节点无法通信网络故障、配置错误网络冗余、心跳检测服务降级、手动切换
缓存雪崩大量请求直接打到数据库缓存同时失效缓存预热、过期时间随机化限流降级、缓存重建

4、可靠性测试与验证方法

可靠性验证的系统化方法

测试类型测试目标测试方法验收标准工具推荐
故障注入测试验证容错能力模拟各种故障场景故障恢复时间<目标值Chaos Monkey
压力测试验证系统极限逐步增加负载性能指标不降级JMeter、LoadRunner
可用性测试验证服务连续性长期运行监控可用性达到目标值Pingdom、监控系统
恢复测试验证恢复能力模拟灾难场景恢复时间<RTO目标灾备演练工具

5、可靠性运维最佳实践

可靠性运维的关键活动

运维活动执行频率关键指标自动化程度业务价值
健康检查实时响应时间、错误率完全自动化故障早期发现
性能监控实时CPU、内存、IO使用率完全自动化性能问题预警
日志分析每日错误日志数量、异常模式半自动化问题根因分析
容量规划每月资源使用趋势、增长预测半自动化资源优化配置
灾备演练每季度恢复时间、数据完整性部分自动化灾备能力验证

 

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

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

相关文章

4 C 语言数据结构实战:栈和队列完整实现(结构体 + 函数)+ 最小栈解决方案

栈和队列 1. 栈 栈&#xff1a;⼀种特殊的线性表&#xff0c;其只允许在固定的⼀端进⾏插⼊和删除元素操作。进⾏数据插⼊和删除操作 的⼀端称为栈顶&#xff0c;另⼀端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。 压栈&…

Milvus基于docker主机外挂实践

一、安装docker与我之前写的原博客&#xff1a;ubuntu安装milvus向量数据库&#xff0c;获取key不同&#xff0c;原博客获取key已经过时# 更新Ubuntu软件包列表和已安装软件的版本: sudo apt update# 安装Ubuntu系统的依赖包 sudo apt-get install ca-certificates curl gnupg …

使用python test测试http接口

使用python test测试http接口获取token和控制session&#xff0c;后面大多数接口要带上这些信息 import time import requestsfrom common.aes_algorithm import AES from config.config import Config from config.log import logclass Common:username "admin"pas…

平时只会CRUD,没有高质量项目经验,我该怎么办

我没有项目经验怎么办 首先&#xff0c;不管是应届生还是社招几年工作经验的朋友&#xff0c;除非特别厉害的人&#xff0c;大家都会遇到这个问题。 我们该怎么处理&#xff0c;关注hikktn&#xff01;为你解答这个问题。 问AI世面上那个大厂程序员项目推荐 为什么这么说呢&…

网编.hw.9.10

云盘下载#include <myhead.h> #define SER_IP "192.168.108.93" #define SER_PORT 69 #define addr "192.168.109.6" #define port 8888/******************主程序******************/ int main(int argc, const char *argv[]) {//1、创建一个用于通…

Java调用magic-api中post接口参数问题

Java调用magic-api中post接口参数问题magic官方文档中只提供了get写法解决方法magic官方文档中只提供了get写法 实测使用官方写法调用get接口可调通&#xff0c;参数正常获取&#xff0c;但更换为post写法后&#xff0c;magic脚本中body获取为空 Autowired MagicAPIService s…

《sklearn机器学习——管道和复合估计器》联合特征(FeatureUnion)

超详细解说 sklearn 中的联合特征&#xff08;FeatureUnion&#xff09; 1. FeatureUnion 简介 FeatureUnion 是 scikit-learn 中的一个工具&#xff0c;用于并行地组合多个特征提取器的输出。它允许你将不同的特征提取方法&#xff08;如文本向量化、数值特征缩放、自定义特征…

Eyeshot 2025.3 3D 图形工具包

Eyeshot 2025.3 现在支持 E57 格式Eyeshot 2025.3 现在支持 E57 格式&#xff0c;可直接从 3D 扫描系统导入点云、图像和元数据。Eyeshot 由 devDept 开发&#xff0c;是一款功能全面的 3D 图形工具包&#xff0c;专为构建工程和 CAD(计算机辅助设计)应用程序的 .NET 开发人员而…

OpenResty 配合 Lua 脚本的使用

OpenResty 配合 Lua 脚本的使用实践 在高并发互联网服务中&#xff0c;传统的 Web 服务器往往难以同时兼顾性能与灵活性。而 OpenResty 作为一个基于 Nginx LuaJIT 的高性能 Web 平台&#xff0c;能够让我们在保持 Nginx 高并发性能的同时&#xff0c;使用 Lua 脚本 动态扩展其…

香港券商櫃台系統發展分析與市場觀察

香港券商櫃台系統發展分析與市場觀察 一、市場環境與交易機制變革 2025年以來&#xff0c;香港證券市場表現活躍。港交所現貨市場平均每日成交金額達2,402億港元&#xff0c;同比增長118%。南向交易&#xff08;港股通&#xff09;日均成交額佔比提升至23%&#xff0c;單日淨…

AR技术:多行业数字化转型的加速引擎

在数字化浪潮的推动下&#xff0c;增强现实&#xff08;AR www.teamhelper.cn &#xff09;技术正突破传统娱乐和游戏领域的局限&#xff0c;成为各行业数字化转型的重要力量。从工业制造到医疗健康&#xff0c;从教育培训到零售购物&#xff0c;AR技术以其独特的虚实融合能力&…

第6篇、Kafka 高级实战:生产者路由与消费者管理

Kafka 高级实战&#xff1a;生产者路由与消费者管理&#xff08;Python 版&#xff09;从基础到进阶&#xff1a;深入理解 Kafka 的生产者消息路由、消费者 Offset 管理&#xff0c;以及 Exactly-Once 语义实现 实战导向&#xff1a;提供完整的可运行代码示例&#xff0c;涵盖自…

基于Python读取多个excel竖向拼接为一个excel

在Python中&#xff0c;可以使用pandas库结合glob模块来遍历读取多个Excel文件&#xff0c;并将它们竖向拼接为一个DataFrame对象。以下是完整的实现方法&#xff1a; 文章目录方法1&#xff1a;使用glob匹配文件 pd.concat()方法2&#xff1a;使用列表推导式&#xff08;更简…

Linux《进程信号(下)》

在之前的Linux《进程信号&#xff08;上&#xff09;》当中我们已经了解了进程信号的基本概念以及知道了信号产生的方式有哪些&#xff0c;还了解了信号是如何进行保存的&#xff0c;那么接下来在本篇当中就将继续之前的学习了解信号是如何处理的。除此之外还会了解到中断的概念…

android 性能优化—ANR

ANR产生原理ANR&#xff08;Application Not Responding&#xff09;是 Android 对 “应用主线程卡死” 的系统级保护机制&#xff1a; 当 输入事件、广播、服务 等在规定时间内未被处理完毕&#xff0c;SystemServer 会弹框并杀进程&#xff0c;防止整个系统跟着假死。计时起点…

stm32——单总线,DHT11

目录 一、单总线协议的原理和应用 单总线协议指的是只采用一根信道来进行数据传输&#xff0c;通信指的是双方&#xff08;MCU与传感器&#xff09;通过一根信道进行数据交互&#xff0c;所以按照数据的传输方向&#xff0c;只能采用半双工通信方式&#xff0c;比较典型的传感器…

css3之grid布局

容器&#xff1a;gird container开启grid布局的元素 项目&#xff1a;grid items容器里面的子元素&#xff0c;不包括后代元素 显式网格&#xff08;单元格&#xff09;&#xff1a;通过grid-template-columns和grid-template-rows指定的网格&#xff0c;注意项目不等于单元格,…

C++容器:list

一、list的介绍及使用 list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向其前一个元素和后一个元素…

STL库——map/set(类函数学习)

ʕ • ᴥ • ʔ づ♡ど &#x1f389; 欢迎点赞支持&#x1f389; 个人主页&#xff1a;励志不掉头发的内向程序员&#xff1b; 专栏主页&#xff1a;C语言&#xff1b; 文章目录 前言 一、序列式容器和关联式容器 二、set 系列的使用 2.1、set 和 multiset 参考文档 2.2、set…

计算机网络IP协议

1.TCP协议1.1 确认应答1.2 超时重传1.3 连接管理1.4 滑动窗口1.5 流量控制1.6 拥塞控制 1.7 延时应答1.8 稍带应答1.9 粘包问题1.10 异常情况2.IP协议 网络层2.1 NAT机制下的几种情况:同一个局域网中,内网ip访问 内网 ip,可以的不同局域网中,内网IP访问 内网IP,不行~~外网IP访…