MoreRSS

site iconRunye | 算法花园修改

滴滴、飞猪。分享算法,竞赛性编程,阅读等主题内容。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

Runye | 算法花园的 RSS 预览

流水线

2026-01-31 17:10:16

最大吞吐率计算 #card

  • 每一级的执行时间分别是:取指令 2Δt、分析指令 1Δt、取操作数 3Δt、运算 1Δt、写回结果 2Δt
    流水线周期 取决于耗时最长的一级,即取操作数(3Δt)。
    最大吞吐率 = 1 / 流水线周期 = 1 / 3Δt

加速比计算 #card

  • 不使用流水线的执行时间(顺序执行10条指令):

    • 每条指令耗时 = 2Δt + 1Δt + 3Δt + 1Δt + 2Δt = 9Δt

总时间 = 10 × 9Δt = 90Δt

  • 使用流水线的执行时间(n条指令公式):

    • T = 第一条指令的总时间 + (n - 1) × 流水线周期

= 9Δt + (10 - 1) × 3Δt
= 9Δt + 27Δt
= 36Δt

  • 加速比 = 90Δt / 36Δt = 5 : 2

系统架构评估方法

2026-01-31 17:10:16

[[SAAM]] 关注于可修改性,使用 场景技术 ,但不使用效用树。

  • 是ATAM的前身,主要用于 架构比较和场景分析
    B选项[[ATAM]]:#card
  • 采用效用树,关注性能、可用性、安全性、可修改性等质量属性,适用于开发前评估,是本题正确答案。

C选项CBAM:#card

  • 注重经济价值和ROI评估,虽与质量属性有关,但不直接使用效用树,而是建立在ATAM结果基础上,通过定量分析辅助投资决策。

D选项SAEM:#card

  • 属于更通用的[[软件架构评估]]方法,涵盖产品属性和过程属性,但不强调使用效用树。

在架构评估中,基于度量的方法强调通过客观的量化数据对系统进行评价。其核心步骤包括: #card #incremental #depth-1

  • 建立映射关系 #card

    • 明确系统的质量属性(如性能、可维护性、可靠性等)与具体度量指标之间的映射原则;
  • 提取度量信息 #card

    • 从架构设计文档、代码结构等资料中提取可度量的信息;
  • 推导质量属性水平 #card

    • 通过已建立的映射规则,利用采集到的数据推断系统在各个质量属性上的表现水平。

结构化软件设计阶段

2026-01-31 17:10:16

四个阶段 #card #incremental

  • 数据设计

  • 软件结构设计

  • 人机界面设计

  • 过程设计

软件设计包括了四个既独立又相互联系的活动:

  • 高质量的 数据设计 将改善程序结构和模块划分,降低过程复杂性
  • 软件结构设计 的主要目标 :-> 是开发一个模块化的程序结构,并表示出模块间的控制关系
  • 人机界面设计 描述了软件与用户之间的交互关系。

数据分区

2026-01-31 17:10:16

数据分区的底层逻辑是 :-> 将一张表的数据按某种规则(如范围、哈希或复合条件)划分为多个逻辑子集,称为分区。
分区的好处

  • 查询性能角度 :-> 按特定规则分区,查询时仅访问相关分区数据,减少 I/O 操作,加快查询速度

  • 管理角度 :-> 把大表拆分为小且易管理的块,方便数据的维护、备份、恢复等操作

  • 数据隔离角度 :-> 可将不同类型或不同时间范围的数据分隔,简化数据管理流程,也利于权限控制等
    数据分区算法

  • 范围分区

    • 原理 :-> 根据数据在某个维度上的连续范 围, 如日期、 数字大小等划分,每 个分区存储特定范围的数据
    • 场景 :-> 时间序列数据(如按日期存储的日志、交易记录), 有明显数据范围区间(如按年龄区间存储的用户信 息),方便进行范围查询的数据场景
  • 列表分区

    • 原理 :-> 按照离散值列表进行分区, 将具有 特定离散值的数据划分到同一分区
    • 场景 :-> 数据值可枚举且有限的场景,如按地区(固定几个地 区选项)、性别(男/女)等维度进行分区的数据
  • 哈希分区

    • 原理 :-> 通过哈希函数计算数据的哈希值, 依据哈希值将数据分配到不同分 区,能让数据较为均匀分布
    • 场景 :-> 数据分布需要尽量均匀, 对负载均衡要求较高的场 景;不太需要范围查询,更注重随机读写性能的场景, 如大规模用户数据的存储,可按用户 ID 哈希分区
  • 复合分区

    • 原理 :-> 组合使用多种分区类型, 先按一种 规则进行粗粒度分区, 再在每个分 区内按另一种规则细分
    • 场景 :-> 数据量极大且具有多种特征维度的复杂场景,如既需 要按时间范围(范围分区)又需要按业务类型(列表 分区)进行管理的数据

安全攸关系统

2026-01-31 17:10:16

安全性需求的核心目标是 :-> 防止系统在运行中出现危及人员安全、设备安全或环境安全的情况

数据库转储方式

2026-01-31 17:10:16

动态全局转储 :<-> 在转储期间允许用户事务并发运行,并对整个数据库进行转储,能够满足在有运行事务的情况下完成全部数据库备份的需求。
项静态增量转储 :<-> 同样在转储期间禁止访问数据库,并且只保存部分变化数据
动态增量转储 :<-> 允许转储和事务并发执行,但只转储自上次转储以来发生变化的数据
静态全局转储 :<-> 在转储期间不允许对数据库进行任何存取或修改操作,必须等待所有事务完成后才能进行