2024年思维导图|系统集成项目管理工程师第4-6章

  • 重点考点|系统集成项目管理工程师第4-6章
    • 信息系统体系架构总体参考框架
      • 战略系统
        • 战略系统处在第一层,其功能与战略管理层次的功能相似,一方面向业务系统提出创新、重构与再造的要求,另一方面向应用系统提出集成的要求。
        • 战略系统是指组织中与战略制定、高层决策有关的管理活动和计算机辅助系统。通常组织战略规划分成长期规划和短期规划两种,长期规划相对来说比较稳定;短期规划一般是根据长期规划的目的而制订,相对来说,容易根据环境、组织运作情况而改变。
      • 业务系统
        • 业务系统和应用系统同在第二层,属于战术管理层,业务系统在业务处理流程的优化上对组织进行管理控制和业务控制,应用系统则为这种控制提供有效利用信息和数据实现的手段,并提高组织的运行效率。
        • (1)业务系统是指组织中完成一定业务功能的各部分(物质、能量、信息和人)组成的系统。
        • (2)业务系统在ISA中的作用是:对组织现有业务系统、业务过程和业务活动进行建模,并在组织战略的指导下,采用业务流程重组(BPR)的原理和方法进行业务过程优化重组,并对重组后的业务领域、业务过程和业务活动进行建模,从而确定出相对稳定的数据,以此相对稳定的数据为基础,进行组织应用系统的开发和信息基础设施的建设。
      • 应用系统
        • (1)应用系统即应用软件系统,指信息系统中的应用软件部分。
        • (2)无论哪个层次上的应用系统,从架构的角度来看,都包含两个基本组成部分:内部功能实现部分和外部界面部分。界面部分是应用系统中相对变化较多的部分,主要由用户对界面形式要求的变化引起。在功能实现部分中,相对来说,处理的数据变化较小,而程序的算法和控制结构的变化较多,主要由用户对应用系统功能需求的变化和对界面形式要求的变化引起。
      • 信息基础设施
        • 信息基础设施处在第三层,是组织实现信息化、数字化的基础部分,相当于运行管理层,它为应用系统和战略系统提供计算、传输、数据等支持。同时也为组织的业务系统实现重组提供一个有效的、灵活响应的技术与管理支持平台。
        • 可以将组织信息基础设施分成三部分:技术基础设施、信息资源设施和管理基础设施。
        • (1)技术基础设施:由计算机设备、网络、系统软件、支持性软件、数据交换协议等组成。
        • (2)信息资源设施:由数据与信息本身、数据交换的形式与标准、信息处理方法等组成
        • (3)管理基础设施:指组织中信息系统部门的组织架构、信息资源设施管理人员的分工、组织信息基础设施的管理方法与规章制度等
    • 信息系统架构
      • 物理架构
        • 集中式架构
          • (1)集中式架构是指物理资源在空间上集中配置。早期的单机系统是最典型的集中式架构,它将软件、数据与主要外部设备集中在一套计算机系统之中。由分布在不同地点的多个用户通过终端共享资源组成的多用户系统,也属于集中式架构。
          • (2)集中式架构的优点是资源集中,便于管理,资源利用率较高。但是随着系统规模的扩大,以及系统的日趋复杂,集中式架构的维护与管理越来越困难,常常也不利于调动用户在信息系统建设过程中的积极性、主动性和参与感。此外,资源过于集中会造成系统的脆弱,一旦核心资源出现异常,容易使整个系统瘫痪。
        • 分布式架构
          • (1)分布式系统是指通过计算机网络把不同地点的计算机硬件、软件、数据等资源联系在一起,实现不同地点的资源共享。各地的计算机系统既可以在网络系统的统一管理下工作,也可以脱离网络环境利用本地资源独立运作。
          • (2)分布式架构的主要特征是:可以根据应用需求来配置资源,提高信息系统对用户需求与外部环境变化的应变能力,系统扩展方便,安全性好,某个节点所出现的故障不会导致整个系统停止运作。然而由于资源分散,且又分属于各个子系统,系统管理的标准不易统一,协调困难,不利于对整个资源的规划与管理。
          • (3)分布式架构又可分为一般分布式与客户端/服务器模式。一般分布式系统中的服务器只提供软件、计算与数据等服务,各计算机系统根据规定的权限存取服务器上的数据与程序文件。客户端/服务器架构中,网络上的计算机分为客户端与服务器两大类。用户通过客户端向服务器提出服务请求,服务器根据请求向用户提供经过加工的信息。
      • 逻辑架构
        • 信息系统的逻辑架构是其功能综合体和概念性框架。由于信息系统种类繁多,规模不一,功能上存在较大差异,其逻辑架构也不尽相同。
    • 系统融合
      • 横向融合
        • 是指将同一层次的各种职能与需求融合在一起
      • 纵向融合
        • 是指把某种职能和需求的各个层次的业务组织在一起,这种融合沟通了上下级之间的联系。
      • 纵横融合
        • 是指主要是从信息模型和处理模型两个方面来进行综合,做到信息集中共享,程序尽量模块化,注意提取通用部分,建立系统公用数据体系和一体化的信息处理系统。
    • 常用架构模型
      • 服务化架构

      • Mesh化架构

      • Serverless

      • 存储计算分离

      • 分布式事务

      • 可观测

      • 事件驱动

    • 集成架构演进
      • 以应用功能为主线架构
        • 对于中小型工业企业或者处于信息化、数字化发展初级阶段的工业企业来说,企业发展在该阶段重点关注的是组织职能的细化分工以及行业最佳实践的导入。因此组织的信息化建设往往以部门或职能为单元,核心关注点是信息系统的软件功能。
      • 以平台能力为主线架构
        • 随着工业企业发展,其组织规模和数字化转型能力成熟度往往会得到持续提升,企业会逐步从直接获取行业最佳实践,逐步进入自主知识沉淀和自主创新的发展时期。这种情况下,以成套软件标准功能为基础的应用主线架构,往往无法满足企业的需求,大多数企业开始加强以平台化为基础,应用功能灵活可快速定制的新型系统集成架构。
      • 以互联网为主线架构
        • (1)当企业发展到产业链或生态链阶段或者成为复杂多元的集团化企业,以平台能力为主线的架构往往也无法满足企业需求,企业开始寻求向以互联网为主线的系统集成架构方向转移或过渡。以互联网为主线的系统集成架构,强调将各信息系统功能最大限度地App化(微服务),如把采购管理中的编码管理作为一项App存在。通过App的编排与组合,生成可以适用各类成熟度的企业应用。面向具体工业企业场景,其App的组合模式与方法,可以借助面向不同组织的能力成熟度控制来定义实施(可具体到能力项的成熟度)。因为所有组织的相关管理处于同一个信息系统中,数据的互通和共享等,也可以基于成熟度等级控制来进行。
        • (2)以互联网为主线的系统集成架构,整合应用了更多的新一代信息技术及其应用创新,比如区块链与App编排的融合应用、数字化能力封装与成熟度发展过程的融合应用、边缘计算与人工智能的融合应用、广域物联网技术应用、云原生技术的应用等。
    • 价值模型核心特征
      • 价值期望值
        • 表示对某一特定功能的需求,包括内容(功能)满意度(质量)和不同级别质量的实用性。
      • 反作用力
        • 系统部署实际环境中,实现某种价值期望值的难度,通常期望越高难度越大,即反作用力。
      • 变革催化剂
        • 表示环境中导致价值期望值发生变化的某种事件或者是导致不同结果的限制因素。
    • 常用的应用架构规划与技术的基本原则
      • 业务适配性原则
        • 应用架构应服务和提升业务能力,能够支撑组织的业务或技术发展战略目标,同时应用架构要具备一定的灵活性和可扩展性,以适应未来业务架构发展所带来的变化
      • 应用聚合化原则
        • 基于现有系统功能,通过整合部门级应用,解决应用系统多、功能分散、重叠界限不清晰等问题,推动组织集中的"组织级”应用系统建设。
      • 功能专业化原则
        • 按照业务功能聚合性进行应用规划,建设与应用组件对应的应用系统,满足不同业务条线的需求,实现专业化发展
      • 风险最小化原则
        • 降低系统间的耦合度,提高单个应用系统的独立性,减少应用系统间的相互依赖,保持系统层级、系统群组之间的松耦合,规避单点风险,降低系统运行风险,保证应用系统的安全稳定。
      • 资产复用化原则
        • 鼓励和推行架构资产的提炼和重用,满足快速开发和降低开发与维护成本的要求。规划组织级共享应用成为基础服务,建立标准化体系,在组织内复用共享同时,通过复用服务或者组合服务,使架构具有足够的弹性以满足不同业务条线的差异化业务需求,支持组织业务持续发展
    • 数据架构时代
      • 单体应用架构时代
        • 信息化初步建设,信息系统以单体应用为主数据架构比较简单,主要就是数据模型、数据库设计,满足系统业务使用即可
      • 数据仓库时代
        • 与传统关系数据库不同,数据仓库系统的主要应用是OLAP,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。这个阶段,数据架构不仅关注数据模型,还关注数据的分布和流向
      • 大数据时代
        • 在大数据应用需求的驱动下,各类大数据架构也在不断发展和演进着,从批处理到流处理,从大集中到分布式,从批流一体到全量实时
    • 数据架构设计原则
      • 数据分层原则
        • 组织数据按照生命周期就是分层次的,因此数据分层原则更多应该解决的是层次定位合理性的问题。
      • 数据处理效率原则
        • 合理的数据架构需要解决数据处理效率的问题。所谓的数据处理效率并不是追求高效率,而是追求合理,因为所有的数据存储和处理都是有代价的。换句话讲:数据处理效率的问题也可以说是解决满足数据处理效率要求的成本合理化的问题。数据处理的代价主要就是数据存储与数据变迁的成本,在实践中,真正影响数据处理效率的是大规模的原始数据的存储与处理。
      • 数据一致性原则
        • 合理的数据架构能够有效地支持数据管控体系,很多的数据不一致性是因为数据架构不合理所导致的。其中,最大的原因就是数据在不同层次分布中的冗余存储以及按照不同业务逻辑的重复加工。如何在数据架构中减少数据重复加工和冗余存储,是保障数据一致性的关键所在。
      • 数据架构可扩展性原则
        • 数据架构设计的可扩展性原则可以从以下角度来保障:
        • (1)基于分层定位的合理性原则之上。
        • (2)架构的可扩展性需要对数据存储模型和数据存储技术也进行考虑
      • 服务于业务原则
        • 合理的数据架构、数据模型、数据存储策略,最终目标都是服务于业务。
    • 技术架构基本原则
      • 成熟度控制原则
        • 优先使用成熟度较高但还处在活跃期的信息技术
      • 技术一致性原则
        • 应尽量减少技术异构,充分发挥技术及其组合的一致性。在运用技术一致性原则时,也包括同一类型技术的版本控制问题,只用相同的技术版本。
      • 局部可替换原则
        • 在迭代更新信息技术架构时,需要考虑既有技术的使用、重用或再创新等情况。
      • 人才技能覆盖原则
        • 组织在开展信息技术架构设计时,关注组织可用信息技术人才对各类技术的驾驭能力,尤其是需要利用相关技术进行应用创新的领域。
      • 创新驱动原则
        • 要充分挖掘技术的创新价值,重点是对组织发展(包括治理、管理、业务等)能够形成促进乃至引领作用的技术,要将这些技术作为技术架构的关键纽带或骨架,完善周边技术或技术组合等
    • 网络架构基本原则
      • 高可靠性
        • 网络作为底层资源调度和服务传输的枢纽和通道,
        • 其对高可靠性的要求自然不言
        • 而喻
      • 高安全性
        • 信息系统的安全性不能仅靠应用级的安全保障,网络也必须能够提供基础的安全防护,底层的身份鉴别、访问控制、入侵检测能力等需要能够为应用提供重要的安全保障
      • 高性能
        • 网络不仅仅是服务传递的通道,更是提供服务所需资源调度的枢纽,因此网络性能和效率是提供更优服务质量的保证
      • 可管理学
        • 不仅是指网络自身管理,更指基于业务部署策略的网络快速调整和管控。
      • 平台性和架构性
        • 作为底层基础资源的网络需要以开阔的视野,适应未来应用架构的变化,网络自身能够更加弹性,做到按需扩展,以适应未来不同业务规模的变化和发展。
    • 局域网架构
      • 单核心架构
        • 单核心局域网通常由一台核心二层或三层交换设备充当网络的核心设备,通过若干台接入交换设备将用户设备(如用户计算机、智能设备等)连接到网络中
      • 双核心架构
        • 双核心架构通常是指核心交换设备采用三层及以上交换机。核心交换设备和接入设备之间可采用100M/GE/10GE等以太网连接
      • 环形架构
        • 环形局域网是由多台核心交换设备连接成双RPR动态弹性分组环,构建网络的核心。核心交换设备通常采用三层或以上交换机提供业务转发功能
      • 层次局域网架构
        • 层次局域网(或多层局域网)由核心层交换设备、汇聚层交换设备和接入层交换设备以及用户设备等组成
    • 广域网架构
      • 单核心广域网
        • 单核心广域网通常由一台核心路由设备和各局域网组成。核心路由设备采用三层及以上交换机。网络内各局域网之间访问需要通过核心路由设备。
      • 双核心广域网
        • 双核心广域网通常由两台核心路由设备和各局域网组成
      • 环形广域网
        • 环形广域网通常是采用三台以上核心路由器设备构成路由环路,用以连接各局域网,实现广域网业务互访
      • 半冗余广域网
        • 半冗余广域网是由多台核心路由设备连接各局域网而形成的。其中,任意核心路由设备至少存在两条以上连接至其他路由设备的链路。如果任何两个核心路由设备之间均存在链接,则属于半冗余广域网特例,即全冗余广域网
      • 对等子广域网
        • 对等子域网络是通过将广域网的路由设备划分成两个独立的子域,每个子域路由设备采用半冗余方式互连。两个子域之间通过一条或多条链路互连,对等子域中任何路由设备都可接入局域网络
      • 层次子域广域网
        • 层次子域广域网结构是将大型广域网路由设备划分成多个较为独立的子域,每个子域内路由设备采用半冗余方式互连,多个子域之间存在层次关系,高层次子域连接多个低层次子域。层次子域中任何路由设备都可以接入局域网
    • 威胁
      • 物理安全危险
        • 指对系统所用设备的威胁,如自然灾害、电源故障、操作系统引导失败或数据库信息丢失、设备被盗/被毁造成数据丢失或信息泄露
      • 通信链路安全威胁
        • 指在传输线路上安装窃听装置或对通信链路进行干扰
      • 网络安全威胁
        • 指由于互联网的开放性、国际化的特点,人们很容易通过技术手段窃取互联网信息,对网络形成严重的安全威胁
      • 操作系统安全危险
        • 指对系统平台中的软件或硬件芯片中植入威胁,如“木马"和"陷阱门"、 BIOS的万能密码
      • 应用系统安全危险
        • 指对于网络服务或用户业务系统安全的威胁,也受到“木马和“陷阱门”的威胁
      • 管理系统安全危险
        • 指由于人员管理上疏忽而引发人为的安全漏洞,如通过人为地拷贝、拍照、抄录等手段盗取计算机信息
    • 安全性
      • 系统安全架构
        • 系统安全架构的目标是如何在不依赖外部防御系统的情况下,从源头打造自身的安全。
      • 安全技术体系架构
        • 安全技术体系架构指构建安全技术体系的主要组成部分以及它们之间的关系。安全技术体系架构的任务是构建通用的安全技术基础设施,包括安全基础设施、安全工具和技术、安全组件与支持系统等,系统性地增强各部分的安全防御能力。
      • 审计架构
        • 审计架构指独立的审计部门或其所能提供的风险发现能力,审计的范围主要包括安全风险在内的所有风险。
    • WPDRRC模型
      • 六个环节
        • 预警(W):主要是指利用远程安全评估系统提供的模拟攻击技术,来检查系统可能存在的被利用的薄弱环节,收集和测试网络与信息的安全风险所在,并以直观的方式进行报告,提供解决方案的建议。在经过分析后,分解网络与信息的风险变化趋势和严重风险点,从而有效降低网络与信息的总体风险,保护关键业务和数据
        • 防护(P):通常是通过采用成熟的信息安全技术及方法,来实现网络与信息的安全。主要内容有加密机制、数字签名机制、访问控制机制、认证机制、信息隐藏和防火墙技术等
        • 检测(D):是通过检测和监控网络以及系统,来发现新的威胁和弱点,强制执行安全策略。在这个过程中采用入侵检测、恶意代码过滤等技术,形成动态检测的制度、奖励报告协调机制,提高检测的实时性。主要内容有入侵检测、系统脆弱性检测、数据完整性检测和攻击性检测等
        • 响应(R):是指在检测到安全漏洞和安全事件之后必须及时做出正确的响应,从而把系统调整到安全状态。为此需要相应的报警、跟踪和处理系统,其中处理包括了封堵、隔离、报告等能力。主要内容有应急策略、应急机制、应急手段、入侵过程分析和安全状态评估等。
        • 恢复(R):是指当前网络、数据、服务受到黑客攻击并遭到破坏或影响后,通过必要技术手段,在尽可能短的时间内使系统恢复正常。主要内容有容错、冗余、备份、替换、修复和恢复等。
        • 反击(C):是指采用一切可能的高新技术手段,侦察、提取计算机犯罪分子的作案线索与犯罪证据,形成强有力的取证能力和依法打击手段。
      • 三大要素
        • 人员是核心
        • 策略是桥梁
        • 技术是保证
    • 信息安全体系架构
      • 物理安全
        • 保证计算机信息系统各种设备的物理安全是保障整个网络系统安全的前提。物理安全是保护计算机网络设备、设施以及其他媒体免受地震、水灾、火灾等环境事故以及人为操作失误或错误及各种计算机犯罪行为导致的破坏过程。物理安全主要包括:环境安全、设备安全、媒体安全等
      • 系统安全
        • 系统安全主要是指对信息系统组成中各个部件的安全要求。系统究安星系应莆策究安龄基业,齐丰要包括网络结构安全、操作系
      • 网络安全
        • 网络安全是整个安全解决方案的关键。它主要包括访问控制、通信保密、入侵检测、网络安全扫描和防病毒等。
      • 应用安全
        • 应用安全主要是指多个用户使用网络系统时,对共享资源和信息存储操作所带来的安全问题。它主要包括资源共享和信息存储两个方面
      • 安全管理
        • 安全管理主要体现在三个方面:制定健全的安全管理体制,构建安全管理平台,增强人员的安全防范意识。
    • 抗抵赖的4个阶段
      • 证据生成
        • 证据生成请求者请求证据生成者为事件或行为生成证据。卷入事件或行为中的实体称为证据实体,其卷入关系由证据建立。根据抗抵赖服务的类型,证据可由证据实体,或与可信第三方的服务一起生成,或者单独由可信第三方生成
      • 证据传输、存储及恢复
        • 证据在实体间传输或从存储器取出来或传到存储器
      • 证据验证
        • 证据在证据使用者的请求下被证据验证者验证。本阶段的目的是在出现纠纷的事件中,让证据使用者确信被提供的证据确实是充分的。可信第三方服务也可参与,以提供验证该证据的信息
      • 解决纠纷
        • 仲裁者有解决双方纠纷的责任
    • 数据库完整性设计原则
      • (1)根据数据库完整性约束的类型确定其实现的系统层次和方式,并提前考虑对系统性能的影响。一般情况下,静态约束应尽量包含在数据库模式中,而动态约束由应用程序实现。
      • (2)实体完整性约束和引用完整性约束是关系数据库最重要的完整性约束,在不影响系统关键性能的前提下需尽量应用。用一定时间和空间来换取系统的易用性是值得的。
      • (3)要慎用目前主流DBMS都支持的触发器功能,一方面由于触发器的性能开销较大;另一方面,触发器的多级触发难以控制,容易产生错误,非用不可时,最好使用Before型语句级触发器。
      • (4)在需求分析阶段就必须制定完整性约束的命名规范,尽量使用有意义的英文单词、缩写词、表名、列名及下画线等组合,使其易于识别和记忆。如果使用CASE工具,一般有默认的规则,可在此基础上修改使用。
      • (5)要根据业务规则对数据库完整性进行细致的测试,以尽早排除隐含的完整性约束间的冲突和对性能的影响。
      • (6)要有专职的数据库设计小组,自始至终负责数据库的分析、设计、测试、实施及早期维护。数据库设计人员不仅负责基于DBMS的数据库完整性约束的设计实现,还要负责对应用软件实现的数据库完整性约束进行审核。
      • (7)应采用合适的CASE工具来降低数据库设计各阶段的工作量。好的CASE工具能够支持整个数据库的生命周期,这将使数据库设计人员的工作效率得到很大提高,同时也容易与用户沟通。
    • 数据库完整性设计阶段
      • 需求分析阶段
        • 经过系统分析员、数据库分析员和用户的共同努力,确定系统模型中应该包含的对象,以及各种业务规则
      • 概念结构设计阶段
        • 是将依据需求分析的结果转换成一个独立于具体DBMS的概念模型,即实体关系图(ERD)
      • 逻辑结构设计阶段
        • 是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化,包括对关系模型的规范化等。此时,依据DBMS提供的完整性约束机制,对尚未加入逻辑结构中的完整性约束列表,逐条选择合适的方式加以实现。
    • 云原生的代码
      • 业务代码
        • "业务代码”指实现业务逻辑的代码
      • 三方软件
        • "三方软件"是业务代码中依赖的所有三方库,包括业务库和基础库
      • 处理非功能特性的代码
        • 指实现高可用、安全、可观测性等非功能性能力的代码。三部分中只有业务代码是核心,是给业务真正带来价值的,另外两个部分都只算附属物
    • 云原生架构常见的原则
      • 服务化原则
        • 当代码规模超出小团队的合作范围时,就有必要进行服务化拆分了,包括拆分为微服务架构、小服务架构等,通过服务化架构把不同生命周期的模块分离出来,分别进行业务迭代,避免迭代频繁模块被慢速模块拖慢,从而加快整体的进度和提升系统稳定性
      • 弹性原则
        • 弹性原则是指系统的部署规模可以随着业务量的变化而自动伸缩,无须根据事先的容量规划准备固定的硬件和软件资源
      • 可观性原则
        • 可观测性是在云这样的分布式系统中,主动通过日志、链路跟踪和度量等手段,使得一次点击背后的多次服务调用的耗时、返回值和参数都清晰可见,甚至可以下钻到每次三方软件调用、SQL请求、节点拓扑、网络响应等,这样的能力可以使运维、开发和业务人员实时掌握软件运行情况,并结合多个维度的数据指标,获得关联分析能力,不断对业务健康度和用户体验进行数字化衡量和持续优化。
      • 韧性原则
        • 韧性代表了当软件所依赖的软硬件组件出现各种异常时,软件表现出来的抵御能力。
      • 所有过程自动化原则
        • 一方面标准化组织内部的软件交付过程,另一方面在标准化的基础上进行自动化,通过配置数据自描述和面向终态的交付过程,让自动化工具理解交付目标和环境差异,实现整个软件交付和运维的自动化。
      • 零信任原则
        • 其核心思想是,默认情况下不应该信任网络内部和外部的任何人/设备/系统,需要基于认证和授权重构访问控制的信任基础,如IP地址、主机、地理位置、所处网络等均不能作为可信的凭证。零信任对访问控制进行了范式上的颠覆,引导安全体系架构从“网络中心化"走向"身份中心化",其本质诉求是以身份为中心进行访问控制。
      • 架构持续演进原则
        • 云原生架构本身也必须是一个具备持续演进能力的架构,而不是一个封闭式架构。
    • 云原生架构模式
      • 服务化架构模式
        • 服务化架构是新时代构建云原生应用的标准架构模式。服务化架构的典型模式是微服务和小服务模式。通过服务化架构,把代码模块关系和部署关系进行分离,每个接口可以部署不同数量的实例,单独扩缩容,从而使得整体的部署更经济
      • Mesh化架构模式
        • Mesh(网格)化架构是把中间件框架(如RPC、缓存、异步消息等)从业务进程中分离,让中间件的软件开发工具包(SDK)与业务代码进一步解,从而使得中间件升级对业务进程没有影响,甚至迁移到另外一个平台的中间件也对业务透明
      • Serverless模式
        • Serverless(无服务器)将"部署"这个动作从运维中"收走",使开发者不用关心应用运行地点、操作系统、网络配置、CPU性能等。从架构抽象上看,当业务流量到来/业务事件发生时,云会启动或调度一个已启动的业务进程进行处理,处理完成后云自动会关闭/调度业务进程,等待下一次触发,也就是把应用的整个运行都委托给云。
      • 存储计算分离模式
        • 分布式环境中的CAP困难主要是针对有状态应用,因为无状态应用不存在C(一致性)这个维度,因此可以获得很好的A(可用性)和P(分区容错性),因而获得更好的弹性
      • 分布式事务模式
        • 微服务模式提倡每个服务使用私有的数据源,而不是像单体这样共享数据源,但往往大颗粒度的业务需要访问多个微服务,必然带来分布式事务问题,否则数据就会出现不一致。架构师需要根据不同的场景选择合适的分布式事务模式
      • 可观测架构
        • 可观测架构包括Logging、Tracing、Metrics三个方面,Logging提供多个级别的详细信息跟踪,由应用开发者主动提供;Tracing提供一个请求从前端到后端的完整调用链路跟踪,对于分布式场景尤其有用;Metrics则提供对系统量化的多维度度量
      • 事件驱动架构
        • 事件驱动架构(EDA)本质上是一种应用/组件间的集成架构模式。事件和传统的消息不同,事件具有Schema,所以可以校验Event的有效性,同时EDA具备QoS保障机制,也能够对事件处理失败进行响应。
    • 软件需求层次
      • (1)业务需求是指反映组织机构或用户对系统、产品高层次的目标要求。
      • (2)用户需求描述的是用户的具体目标,或用户要求系统必须能完成的任务和想要达到的结果,这构成了用户原始需求文档的内容。
      • (3)系统需求是从系统的角度来说明软件的需求,包括功能需求、非功能需求和约束等。
        • 功能需求也称为行为需求,它规定了开发人员必须在系统中实现的软件功能,用户利用这些功能来完成任务,满足业务需要。功能需求通常是通过系统特性的描述表现出来的。
        • 非功能需求描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和合约,是指系统必须具备的属性或品质,又可细分为软件质量属性(例如易用性、可维护性、效率等)和其他非功能需求。
        • 约束是指对开发人员在软件产品设计和构造上的限制,常见的有设计约束和过程约束。
    • 质量功能部署
      • (1)常规需求。用户认为系统应该做到的功能或性能,实现得越多,用户会越满意。
      • (2)期望需求。用户想当然认为系统应具备的功能或性能,但并不能正确描述自己想要得到的这些功能或性能需求。如果期望需求没有得到实现,会让用户感到不满意。
      • (3)意外需求。意外需求也称为兴奋需求,是用户要求范围外的功能或性能(但通常是软件开发人员很乐意赋予系统的技术特性),实现这些需求用户会更高兴,但不实现也不影响其购买的决策。
    • 3个层次的模型
      • (1)数据模型
        • 一般使用实体关系图(E-R图)表示数据模型
        • E-R图主要描述实体、属性,以及实体之间的关系;
      • (2)功能模型
        • 用数据流图(DFD)表示功能模型
        • DFD从数据传递和加工的角度,利用图形符号通过逐层细分描述系统内各个部件的功能和数据在它们之间传递的情况,来说明系统所完成的功能
      • (3)行为模型(也称为状态模型)
      • 用状态转换图(STD)表示行为模型
      • STD通过描述系统的状态和引起系统状态转换的事件,来表示系统的行为,指出作为特定事件的结果将执行哪些动作(例如处理数据等)
    • 面向对象的分析OOA的基本原则
      • 抽象
        • 是从许多事物中舍弃个别的、非本质的特征,抽取共同的、本质性的特征。抽象是形成概念的必要手段。抽象原则包括过程抽象和数据抽象两个方面。过程抽象是指任何一个完成确定功能的操作序列,其使用者都可以把它看作一个单一的实体,尽管实际上它可能是由一系列更低级的操作完成的。数据抽象是根据施加于数据之上的操作来定义数据类型,并限定数据的值只能由这些操作来修改和观察。数据抽象是OOA的核心原则,它强调把数据(属性)和操作(服务)结合为一个不可分的系统单位(对象),对象的外部只需要知道它做什么,而不必知道它如何做
      • 封装
        • 把对象的属性和服务结合为一个不可分的系统单位,并尽可能隐蔽对象的内部细节。这个概念也经常用于从外部隐藏程序单元的内部表示
      • 继承
        • 特殊类的对象拥有其对应的一般类的全部属性与服务,称作特殊类对一般类的继承。在OOA中运用继承原则,在特殊类中不再重复地定义一般类中已定义的内容。继承原则的好处是能够使系统模型比较简练、清晰。
      • 分类
        • 把具有相同属性和服务的对象划分为一类,用类作为这些对象的抽象描述。分类原则实际上是抽象原则运用于对象描述时的一种表现形式
      • 聚合
        • 又称组装,其原则是把一个复杂的事物看成若干比较简单的事物的组装体,从而简化对复杂事物的描述。
      • 关联
        • 关联是人类思考问题时经常运用的思想方法,即通过一个事物联想到另外的事物。能使人发生联想的原因是事物之间确实存在着某些联系。
      • 消息通信
        • 这一原则要求对象之间只能通过消息进行通信,而不允许在对象之外直接地存取对象内部的属性。通过消息进行通信是由于封装原则而引起的。在OOA中要求用消息连接表示出对象之间的动态联系。
      • 粒度控制
        • 人在面对一个复杂的问题域时,不可能在同一时刻既能纵观全局,又能洞察秋毫。因此需要控制自己的视野,即考虑全局时,注意其大的组成部分,暂时不考虑具体的细节,考虑某部分的细节时则暂时撒开其余的部分。这就是粒度控制原则。
      • 行为分析
        • 现实世界中事物的行为是复杂的,由大量的事物所构成的问题域中,各种行为往往相互依赖、相互交织。
    • 结构化设计
      • 概要设计又称为总体结构设计,其主要任务是确定软件系统的结构,将系统的功能需求进行模块划分,确定每个模块的功能、接口和模块之间的调用关系,形成软件的模块结构图,即系统结构图,在概要设计中,将系统开发的总任务分解成许多个基本的、具体的任务,而为每个具体任务选择适当的技术手段和处理方法的过程称为详细设计
      • 详细设计的主要任务是为每个模块设计实现的细节,根据任务的不同,详细设计又可分为多种,例如,输入/输出设计、处理流程设计、数据存储设计、用户界面设计、安全性和可靠性设计等。
    • 耦合
      • 非直接耦合
        • 两个模块之间没有直接关系,它们之间的联系完全是通过上级模块的控制和调用来实现的
      • 数据耦合
        • 一组模块借助参数表传递简单数据
      • 标记耦合
        • 一组模块通过参数表传递记录等复杂信息(数据结构)
      • 控制耦合
        • 模块之间传递的信息中包含用于控制模块内部逻辑的信息
      • 通信耦合
        • 组模块共用了一组输入信息,或者它们的输出需要整合,以形成完整数据,即共享了输入或输出
      • 公共耦合
        • 多个模块都访问同一个公共数据环境,公共的数据环境可以是全局数据结构、享的通信区、内存的公共覆盖区等
      • 内容耦合
        • 一个模块直接访问另一个模块的内部数据;一个模块不通过正常入口转到另一个模块的内部;两个模块有一部分程序代码重叠;一个块有多个入口等
    • 内聚
      • 功能内聚
        • 完成一个单一功能,各个部分协同工作,缺一不可
      • 顺序内聚
        • 处理元素相关,而且必须顺序执行
      • 通信内聚
        • 所有处理元素集中在一个数据结构的区域上
      • 过程内聚
        • 处理元素相关,而且必须按特定的次序执行
      • 时间内聚
        • 所包含的任务必须在同一时间间隔内执行
      • 逻辑内聚
        • 完成逻辑上相关的一组任务
      • 偶然内聚
        • 完成一组没有关系或松散关系的任务
    • 详细设计的表示工具
      • 图形工具
        • 业务流程图:是一种描述管理系统内各单位、人员之间的业务关系、作业顺序和管理信息流向的图表。业务流程图的绘制是按照业务的实际处理步骤和过程进行的,它用一些规定的符号及连线表示某个具体业务的处理过程,帮助分析人员找出业务流中的不合理流向。
        • 程序流程图:又称为程序框图,它用方框表示一个处理步骤,用萎形表示一个逻辑条件,用箭头表示控制流向。其优点是结构清晰,易于理解,易于修改;缺点是只能描述执行过程而不能描述有关的数据。
        • NS流程图:也称为盒图或方框图,是一种强制使用结构化构造的图示工具。其具有以下特点:功能域明确,不可能任意转移控制,很容易确定局部和全局数据的作用域,很容易表示嵌套关系及模板的层次关系,
        • PAD图:是一种改进的图形描述方式,可以用来取代程序流程图,比程序流程图更直观,结构更清晰。最大的优点是能够反映和描述自顶向下的历史和过程。PAD提供了5种基本控制结构的图示,并允许递归使用
      • 表格工具
        • 可以用一张表来描述过程的细节,在这张表中列出了各种可能的操作和相应的条件。
      • 语言工具
        • 用某种高级语言来描述过程的细节,例如伪码或PDL等。PDL也可称为伪码或结构化语言,它用于描述模块内部的具体算法,以便开发人员之间比较精确地进行交流。
    • 常用的OOD原则
      • 单职原则
        • 一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分
      • 开闭原则
        • 对扩展开放,对修改封闭。当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。
      • 里氏替换原则
        • 子类可以替换父类,即子类可以扩展父类的功能,但不能改变父类原有的功能
      • 依赖倒置原则
        • 要依赖于抽象,而不是具体实现;要针对接口编程,不要针对实现编程
      • 接口隔离原则
        • 使用多个专门的接口比使用单一的总接口要好
      • 组合重用原则
        • 要尽量使用组合,而不是继承关系达到重用目的
      • 迪米特原则(最少知识法则)
        • 一个对象应当对其他对象有尽可能少的了解。其目的是降低类之间的耦合度,提高模块的相对独立性
      • 实体类
        • 实体类映射需求中的每个实体,是指实体类保存需要存储在永久存储体中的信息
      • 控制类
        • 控制类是用于控制用例工作的类
      • 边界类
        • 边界类用于封装在用例内、外流动的信息或数据流。边界类用于系统接口与系统外部进行交互,边界对象将系统与其外部环境的变更分隔开,使这些变更不会对系统的其他部分造成影响。
    • UML的结构
      • 构造块
        • UML有3种基本的构造块,分别是事物、关系和图。事物是UML的重要组成部分,关系把事物紧密联系在一起,图是多个相互关联的事物的集合
      • 规则
        • 规则是构造块如何放在一起的规定,包括:为构造块命名;给一个名字以特定含义的语境,即范围;怎样使用或看见名字,即可见性;事物如何正确、一致地相互联系,即完整性;运行或模拟动态模型的含义是什么,即执行
      • 公共机制
        • 公共机制是指达到特定目标的公共UML方法,主要包括规格说明(详细说明)修饰、公共分类(通用划分)和扩展机制4种
    • UML中的事物也称为建模元素
      • 结构事物
        • 结构事物在模型中属于最静态的部分,代表概念上或物理上的元素UML有7种结构事物,分别是类、接口、协作、用例、活动类、构件和节点
      • 行为事物
        • 行为事物是UML模型中的动态部分,代表时间和空间上的动作。UML有两种主要的行为事物:第一种是交互(内部活动),交互是由一组对象之间在特定上下文中,为达到特定目的而进行的一系列消息交换而组成的动作,交互中组成动作的对象的每个操作都要详细列出,包括消息、动作次序(消息产生的动作)、连接(对象之间的连接);第二种是状态机,状态机由一系列对象的状态组成
      • 分组事物
        • 分组事物是 UML模型中的组织部分,可以把它们看成盒子,型可以在其中进行分解UML只有一种分组事物,称为包。包是一种将有组织的元素分组的机制。与构件不同的是,包纯粹是一种概念上的事物,只存在于开发阶段,而构件可以存在于系统运行阶段
      • 注释事物
        • 注释事物是 UML 模型的解释部分
    • UML的关系

    • UML2.0包括14种图

    • UML5个视图

    • 设计模式

    • 程序的质量
      • (1)程序设计语言。编码的目的是实现人和计算机的通信,指挥计算机按人的意志正确I作。程序设计语言是人和计算机通信的最基本工具,程序设计语言的特性不可避免地会影响人的思维和解决问题的方式,会影响人和计算机通信的方式和质量,也会影响他人阅读和理解程序的难易程度。因此,编码之前的一项重要工作就是选择一种恰当的程序设计语言。
      • (2)程序设计风格。在软件生存期内,开发者经常要阅读程序。特别是在软件测试阶段和维护阶段,编写程序的人员与参与测试、维护的人员要阅读程序。因此,阅读程序是软件开发和维护过程中的一个重要组成部分,而且读程序的时间比写程序的时间还要多。这就要求编写的程序不仅自己看得懂,而且也要让别人能看懂。20世纪 70年代初,有人提出在编写程序时,应使程序具有良好的风格。程序设计风格包括4个方面:源程序文档化、数据说明、语句结构和输入/输出方法。应尽量从编码原则的角度提高程序的可读性,改善程序的质量。
      • (3)程序复杂性度量。经过详细设计后每个模块的内容都已非常具体,因此可以使用软件设计的基本原理和概念仔细衡量它们的质量。但是,这种衡量毕竟只能是定性的,人们希望能进一步定量度量软件的性质。定量度量程序复杂程度的方法很有价值,把程序的复杂度乘以适当的常数即可估算出软件中故障的数量及软件开发时的工作量。定量度量的结构可以用于比较两个不同设计或两种不同算法的优劣,程序定量的复杂程度可以作为模块规模的精确限度。
      • (4)编码效率。主要包括:
        • ● 程序效率:程序的效率是指程序的执行速度及程序所需占用的内存空间。一般来说,任何对效率无重要改善,且对程序的简单性、可读性和正确性不利的程序设计方法都是不可取的。
        • ● 算法效率:源程序的效率与详细设计阶段确定的算法的效率直接相关。在详细设计翻译转换成源程序代码后,算法效率反映为程序的执行速度和对存储容量的要求。
        • ● 存储效率:存储容量对软件设计和编码的制约很大。因此要选择可生成较短目标代码且存储压缩性能优良的编译程序,有时需要采用汇编程序,通过程序员富有创造性的努力,提高软件的时间与空间效率。提高存储效率的关键是程序的简单化。
        • ●I/O效率:输入/输出可分为两种类型,一种是面向人(操作员)的输入/输出,另一种是面向设备的输入/输出。如果操作员能够十分方便、简单地输入数据,或者能够十分直观、一目了然地了解输出信息,则可以说面向人的输入/输出是高效的。至于面向设备的输入/输出,主要考虑设备本身的性能特性。
    • 软件测试
      • 静态测试
        • 静态测试是指被测试程序不在机器上运行,只依靠分析或检查源程序的语句、结构、过程等来检查程序是否有错误,即通过对软件的需求规格说明书、设计说明书以及源程序做结构分析和流程图分析,从而找出错误。
        • 静态测试包括对文档的静态测试和对代码的静态测试。对文档的静态测试主要以检查单的形式进行,而对代码的静态测试一般采用桌前检查(Desk Checking)、代码走查和代码审查的方式。经验表明,使用这种方法能够有效地发现30%-70%的逻辑设计和编码错误
      • 动态测试
        • 动态测试是指在计算机上实际运行程序进行软件测试,对得到的运行结果与预期的结果进行比较分析,同时分析运行效率和健壮性能等。一般采用白盒测试和黑盒测试方法。
          • 白盒测试也称为结构测试,主要用于软件单元测试中。它的主要思想是,将程序看作一个透明的白盒,测试人员完全清楚程序的结构和处理算法,按照程序内部逻辑结构设计测试用例,检测程序中的主要执行通路是否都能按设计规格说明书的设定进行。白盒测试方法是从程序结构方面出发对测试用例进行设计,主要用于检查各个逻辑结构是否合理,对应的模块独立路径是否正常,以及内部结构是否有效,包括控制流测试、数据流测试和程序变异测试等。另外,使用静态测试的方法也可以实现白盒测试。例如,使用人工检查代码的方法来检查代码的逻辑问题,也属于白盒测试的范畴。白盒测试方法中,最常用的技术是逻辑覆盖,即使用测试数据运行被测程序,考查对程序逻辑的覆盖程度,主要的覆盖标准有语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖、条件组合覆盖、修正的条件/判定覆盖和路径覆盖等。
          • 黑盒测试也称为功能测试,它是通过测试来检测每个功能能否正常使用。黑盒测试将程序看作一个不透明的黑盒,完全不考虑(或不了解)程序的内部结构和处理算法,根据需求规格说明书设计测试实例,并检查程序的功能是否能够按照规范说明准确无误地运行。对于黑盒测试行为必须加以量化才能够有效地保证软件的质量。黑盒测试根据 SRS所规定的功能来设计测试用例,一般包括等价类划分、边界值分析、判定表、因果图、状态图、随机测试、猜错法和正交试验法等。
    • 软件测试

    • OO系统3个特征
      • 封装性
        • 封装性决定了 OO系统的测试必须考虑到信息隐蔽原则对测试的影响,以及对象状态与类的测试序列
      • 继承性
        • 继承性决定了 OO系统的测试必须考虑到继承对测试充分性的影响,以及误用引起的错误
      • 多态性
        • 多态性决定了 OO系统的测试必须考虑到动态绑定对测试充分性的影响,抽象类的测试及误用对测试的影响。
    • 软件部署模式
      • (1)软件部署存在着风险,这是由以下原因造成的:应用软件越来越复杂,包括许多构件、版本和变种;应用发展很快,相继两个版本的间隔很短(可能只有几个月);环境的不确定性;构件来源的多样性等。
      • (2)软件部署过程的主要特征有:过程覆盖度、过程可变更性、过程间协调和模型抽象。已经提出一些抽象的软件部署模型,用于有效地指导部署过程,包括应用模型、组织模型、站点模型、产品模型、策略模型和部署模型。
      • (3)软件部署过程中需要关注的问题有:安装和系统运行的变更管理,构件之间的相依、协调,内容发放,管理异构平台,部署过程的可变更性,与互联网的集成和安全性。
      • (4)软件部署的目的是支持软件运行,满足用户需求,使得软件系统能够被直接使用并保障软件系统的正常运行和功能实现,简化部署的操作过程,提高执行效率,同时还必须满足软件用户在功能和非功能属性方面的个性化需求。
      • (5)软件部署模式分为面向单机软件的部署模式、集中式服务器应用部署和基于微服务的分布式部署。面向单机软件的部署模式主要适用于运行在操作系统之上的单机类型的软件,如软件的安装、配置和卸载;集中式服务器应用部署主要适用于用户访问量小(500人以下)、硬件环境要求不高的情况,诸如中小组织、高校在线学习、实训平台等;基于微服务的分布式部署主要适用于用户访问量大、并发性要求高的云原生应用,通常需要借助容器和 DevOps技术进行持续部署与集成。
    • 持续部署
      • 持续部署方案
        • 优点主要有:
        • ● 容器技术上手简单,轻量级架构,体积很小;
        • ● 容器技术的集合性更好,能更容易对环境和软件进行打包复制和发布。
      • 部署原则
        • 在持续部署管理的时候,需要遵循一定的原则,主要包括:
        • ● 部署包全部来自统一的存储库;
        • ● 所有的环境使用相同的部署方式;
        • ●所有的环境使用相同的部署脚本;
        • ● 部署流程编排阶梯式晋级,即在部署过程中需要设置多个检查点,一旦发生问题可以有序地进行回滚操作;
        • ● 整体部署由运维人员执行;
        • ● 仅通过流水线改变生产环境,防止配置漂移;
        • ● 不可变服务器;
        • ● 部署方式采用蓝绿部署或金丝雀部署。
      • 部署层次
        • 完整的镜像部署包括3个环节:Build-Ship-Run。
        • ● Build:跟传统的编译类似,将软件编译形成RPM包或者Jar包;
        • ● Ship:将所需的第三方依赖和第三方插件安装到环境中;
        • ● Run:就是在不同的地方启动整套环境。
      • 不可变服务器
        • 不可变服务器是技术逐步演化的结果
      • 蓝绿部署和金丝雀部署
        • 蓝绿部署是指在部署的时候准备新旧两个部署版本,通过域名解析切换的方式将用户使用环境切换到新版本中,当出现问题的时候,可以快速地将用户环境切回旧版本,并对新版本进行修复和调整。
        • 金丝雀部署是指当有新版本发布的时候,先让少量的用户使用新版本,并且观察新版本是否存在问题,如果出现问题,就及时处理并重新发布,如果一切正常,就稳步地将新版本适配给所有的用户。
    • 软件质量保证的任务
      • SQA审计与评审
        • SQA审计包括对软件工作产品、软件工具和设备的审计,评价这几项内容是否符合组织规定的标准。SQA评审的主要任务是保证软件工作组的活动与预定的软件过程一致,确保软件过程在软件产品的生产中得到遵循。
      • SQA报告
        • SQA人员应记录工作的结果,并写入报告之中,发布给相关的人员。SQA报告的发布应遵循3条原则:SQA和高级管理者之间应有直接沟通的渠道;SQA报告必须发布给软件工程组,但不必发布给项目管理人员;在可能的情况下向关心软件质量的人发布SQA报告
      • 处理不合格问题
        • 这是SQA的一个重要的任务,SQA人员要对工作过程中发现的问题进行处理,及时向有关人员及高级管理者反映。
    • 软件过程能力成熟度模型

      • CSMM模型由4个能力域、20个能力子域、161个能力要求组成。
        • (1)治理:包括战略与治理、目标管理能力子域,确定组织的战略、产品的方向、组织的业务目标,并确保目标的实现。
        • (2)开发与交付:包括需求、设计、开发、测试、部署、服务、开源应用能力子域,这些能力子域确保通过软件工程过程交付满足需求的软件,为顾客与利益相关方增加价值。
        • (3)管理与支持:包括项目策划、项目监控、项目结项、质量保证、风险管理、配置管理、供应商管理能力子域,这些能力子域覆盖了软件开发项目的全过程,以确保软件项目能够按照既定的成本、进度和质量交付,能够满足顾客与利益相关方的要求。
        • (4)组织管理:包括过程管理、人员能力管理、组织资源管理、过程能力管理能力子域,对软件组织能力进行综合管理。
    • CSMM5个等级

    • 数据类型
      • 结构化数据
        • 结构化数据是以关系型数据库表管理的数据;
      • 半结构化数据
        • 半结构化数据是指非关系模型的、有基本固定结构模式的数据,例如日志文件、XML文档、E-mail等
      • 非结构化数据
        • 非结构化数据是指没有固定模式的数据,如所有格式的办公文档、文本、图片、HTML、各类报表、图像和音频/视频信息等
    • 数据采集方法
      • 传感器采集
        • 是通过传感器感知相应的信息,并将这些信息按一定规律变换成电信号或其他所需的信息输出,从而获取相关数据
      • 系统日志采集
        • 是通过平台系统读取、收集日志文件变化。系统日志记录系统中硬件、软件和系统运行情况及问题的信息。系统日志一般为流式数据,数据量非常庞大,常用的采集工具有Logstash、 Filebeat、 Flume、 Fluentd、 Logagent、rsyslog、syslog-ng等
      • 网络采集
        • 是指通过互联网公开采集接口或者网络爬虫等方式从互联网或特定网络上获取大量数据信息的方式,是实现互联网数据或特定网络采集的主要方式。数据采集接口一般通过应用程序接口(API)的方式进行采集。网络爬虫是根据一定的规则来提取所需要信息的程序。根据系统结构和实现技术,网络爬虫可分为通用网络爬虫、聚焦网络爬虫、增量式网络爬虫、深层网络爬虫等类型,
    • 数据预处理
      • 数据分析
        • 是指从数据中发现控制数据的一般规则,比如字段域、业务规则等。通过对数据的分析,定义出数据清理的规则,并选择合适的算法。
      • 数据检测
        • 是指根据预定义的清理规则及相关数据清理算法,检测数据是否正确,比如是否满足字段域业务规则等,或检测记录是否重复。
      • 数据修正
        • 是指手工或自动地修正检测到的错误数据或重复的记录等。
    • 数据处理方法
      • 缺失数据的预处理
        • 删除缺失值:是最常见的、简单有效的方法,当样本数很多的时候,并且出现缺失值的样本占整个样本的比例相对较小时,可以将有缺失值的样本直接丢弃
        • 均值填补法:是根据缺失值的属性相关系数最大的那个属性把数据分成几个组,再分别计算每个组的均值,用均值代替缺失数值
        • 热卡填补法:通过在数据库中找到一个与包含缺失值变量最相似的对象,然后采用相似对象的值进行数据填充
        • 其他:还有最近距离决定填补法、回归填补法、多重填补法、K-最近邻法、有序最近邻法基于贝叶斯的方法等
      • 异常数据的预处理
        • 分箱法:通过考察数据的"近邻"(即周围的值)来平滑处理有序的数据值,这些有序的值被分布到一些“桶“或“箱“中,进行局部光滑。一般而言,宽度越大,数据预处理的效果越好。
        • 回归法:用一个函数拟合数据来光滑数据,消除噪声。线性回归涉及找出拟合两个属性(或变量)的“最佳”直线,使得一个属性能够预测另一个。多线性回归是线性回归的扩展,它涉及多于两个属性,并且数据拟合到一个多维面。
      • 不一致数据的预处理
        • 不一致数据是指具有逻辑错误或者数据类型不一致的数据。这一类数据的清洗可以使用人工修改,也可以借助工具来找到违反限制的数据,如知道数据的函数依赖关系,可以通过函数关系修改属性值,但是大部分的不一致情况都需要进行数据变换,即定义一系列的变换纠正数据,有一些商业工具可以提供数据变换的功能,例如数据迁移工具和ETL工具等。
      • 重复数据的预处理
        • 数据本身存在的或数据清洗后可能会产生的重复值,去除重复值的操作一般最后进行,可以使用Excel、VBA(Visual Basic宏语言)、Python等工具处理。
      • 格式不符数据的预处理
        • 一般人工收集或者应用系统用户填写的数据,容易存在格式问题。一般需要将不同类型的数据内容清洗成统一类型的文件和统一格式。
    • 存储介质
      • 磁带
        • 磁带是存储成本低、容量大的存储介质,主要包括磁带机、自动加载磁带机和磁带库。其主要的缺点就是速度比较慢
      • 光盘
        • 光盘的全称是高密度盘,常见的格式有VCD和DVD两种。光盘具有3个显著特点:一是光盘上的数据具有只读性;二是不受电磁的影响;三是光盘容易大量复制。这些特点使得光盘特别适合用来对数据进行永久性归档备份
      • 磁盘
        • 利用磁盘存储数据时,一般采用独立冗余磁盘阵列RAID。RAID将数个单独的磁盘以不同的组合方式形成一个逻辑磁盘,不仅提高了磁盘读取的性能也增强了数据的安全性
      • 内存
        • 内存是计算机用于存放CPU中的运算数据,与硬盘等外部存储器交换数据的硬件。内存的性能决定了计算机运行的稳定性、反应速率。通常来说,内存数据会在断电后丢失所有数据
      • 闪存
        • 闪存是一种固态技术,使用闪存芯片来写入和存储数据,具有集内存的访问速度和存储持久性于一体的特点,常作为磁盘的替代品
      • 云存储
        • 存储提供了一种可扩展的替代方案,将数据存储在异地位置,可通过公共互联网或者专用私有网络进行访问
    • 存储形式
      • 文件存储
        • 文件存储也称为文件级或基于文件的存储,是一种用于组织和存储数据的分层存储方法。换言之,数据存储在文件中,文件被组织在文件夹中,文件夹则被组织在目录和子目录的层次结构下
      • 块存储
        • 块存储有时也称为块级存储,是一种用于将数据存储成块的技术。这些块随后作为单独的部分存储,每个部分都有唯一的标识符。对于需要快速、高效和可靠地进行数据传输的计算场景,开发人员一般倾向于使用块存储
      • 对象存储
        • 对象存储通常称为基于对象的存储,是一种用于处理大量非结构化数据的数据存储架构。这些数据无法轻易组织到具有行和列的传统关系数据库中,或不符合其要求,如电子邮件、视频、照片、网页、音频文件、传感器数据以及其他类型的媒体和Web内容(文本或非文本)
    • 存储管理内容
      • 资源调度管理
        • 资源调度管理的功能主要是添加或删除存储节点,编辑存储节点的信息,设定某类型存储资源属于某个节点,或者设定这些资源比较均衡地存储到节点上。它包含存储控制、拓扑配置以及各种网络设备如集线酷、交换机、路由器和网桥等的故障隔离
      • 存储资源管理
        • 存储资源管理是一类应用程序,它们管理和监控物理和逻辑层次上的存储资源,从而简化资源管理,提高数据的可用性。被管理的资源包括存储硬件如RAID、磁带以及光盘库。存储资源管理不仅包括监控存储系统的状况、可用性、性能以及配置情况,还包括容量和配置管理以及事件报警等,从而提供优化策略
      • 负载均衡管理
        • 负载均衡是为了避免存储资源由于资源类型、服务器访问频率和时间不均衡造成浪费或形成系统瓶颈而平衡负载的技术
      • 安全管理
        • 存储系统的安全主要是防止恶意用户攻击系统或窃取数据。系统攻击大致分为两类:一类以扰乱服务器正常工作为目的,如拒绝服务攻击DoS等:另一类以入侵或破坏服务器为目的,如窃取数据、修改网页等
    • 数据归档
      数据归档是将不活跃的"冷"数据从可立即访问的存储介质迁移到查询性能较低、低成本、大容量的存储介质中,这一过程是可逆的,即归档的数据可以恢复到原存储介质中。数据归档策略需要与业务策略、分区策略保持一致,以确保最需要数据的可用性和系统的高性能。
      • (1)数据归档一般只在业务低峰期执行。因为数据归档过程需要不断地读写生产数据库,这个过程将会大量使用网络会对线上业务造成压力。
      • (2)数据归档之后,将会删除生产数据库的数据,将会造成数据空洞,即表空间并未及时释放,若长时间没有新的数据填充,会造成空间浪费的情况。
      • (3)如果数据归档影响了线上业务,一定要及时止损,结束数据归档,进行问题复盘,及时找到问题和解决方案。
    • 数据备份
      • 备份结构
        • (1)DAS备份结构:最简单的备份结构就是将备份设备(RAID或磁带库)直接连接到备份服务器上。DAS备份结构往往适合数据量不大、操作系统类型单一、服务器数量有限的情况
        • (2)基于LAN的备份结构:基于LAN的备份结构是一种C/S模型,多个服务器或客户端通过局域网共享备份系统。这种结构在小型的网络环境中较为常见,用户通过备份服务器将数据备份到RAID或磁带机上。与DAS备份结构相比,这种结构最主要的优点是用户可以通过LAN共享备份设备,并且可以对备份工作进行集中管理。缺点是备份数据流通过LAN到达备份服务器,这样就和业务数据流混合在一起,会占用网络资源
        • (3)LAN-FREE备份结构:为了克服基于LAN备份结构的缺点,该结构将备份数据流和业务数据流分开,业务数据流主要通过业务网络进行传输,而备份数据流通过SAN进行传输。其主要缺点是由于备份数据流要经过应用服务器,因此会影响应用服务器提供正常的服务
        • (4)SERVER-FREE备份结构:SERVER-FREE备份结构是LAN-FREE备份结构的改进,它不依赖应用服务器,而是通过第三方备份代理直接将数据从应用服务器的存储设备传送到备份设备上。第三方备份代理是一种软、硬结合的智能设备,使用网络数据管理协议发送命令,从需要备份的应用服务器上获得需要备份数据的信息,然后通过SAN直接从应用服务器的存储设备将需要备份的数据读出,再存储到备份设备上
      • 备份策略
        • (1)完全备份(Full Backup):每次都对需要进行备份的数据进行全备份。当数据丢失时,用完全备份下来的数据进行恢复即可。这种备份主要有两个缺点:一是由于每次都对数据进行全备份,会占用较多的服务器、网络等资源;二是在备份数据中有大量的数据是重复的,对备份介质资源的消耗往往也较大。
        • (2)差分备份(Differential Backup):每次所备份的数据只是相对上一次完全备份之后发生变化的数据。与完全备份相比,差分备份所需时间短,而且节省了存储空间。另外,差分备份的数据恢复很方便,管理员只需两份备份数据,如星期日的完全备份数据和故障发生前一天的差分备份数据,就能对系统数据进行恢复。
        • (3)增量备份(incremental Backup):每次所备份的数据只是相对于上一次备份后改变的数据。这种备份策略没有重复的备份数据,节省了备份数据存储空间,缩短了备份的时间,但是当进行数据恢复时就会比较复杂。如果其中有一个增量备份数据出现问题,那么后面的数据也就无法恢复了。因此增量备份的可靠性没有完全备份和差分备份高。
    • 容灾系统
      • 两个主要指标
        • RPO(恢复点目标):代表了当灾难发生时允许丢失的数据量
        • RTO(恢复时间目标):代表了系统恢复的时间
      • 关键技术
        • (1)远程镜像技术。远程镜像技术是在主数据中心和备份中心之间进行数据备份时用到的远程复制技术。镜像是在两个或多个磁盘子系统上产生同一个数据镜像视图的数据存储过程,一个称为主镜像;另一个称为从镜像。按主从镜像所处的位置分为本地镜像和远程镜像。本地镜像的主从镜像处于同一个RAID中,而远程镜像的主从镜像通常分布在城域网或广域网中。由于远程镜像在远程维护数据的镜像,因此在灾难发生时,存储在异地的数据不会受到影响。
        • (2)快照技术。所谓快照,就是关于指定数据集合的一个完全可用的复制,该复制是相应数据在某个时间点(复制开始的时间点)的映像。快照的作用有两个:①能够进行在线数据恢复,可以将数据恢复成快照产生时间点时的状态;②为用户提供另外一个数据访问通道,比如在原数据在线运行时,利用快照数据进行其他系统的测试、应用开发验证、数据分析、数据模型训练等。
    • 数据标准化阶段

    • 数据质量

    • 数据模型
      • 概念模型

      • 逻辑模型

      • 物理模型

    • 数据建模过程
      • (1)数据需求分析。数据需求分析就是分析用户对数据的需要和要求。数据需求分析是数据建模的起点,数据需求掌握的准确程度将直接影响后续阶段数据模型的质量。数据需求分析通常不是单独进行的,而是融合在整个系统需求分析的过程之中。开展需求分析时,首先要调查清楚用户的实际要求,与用户充分沟通,形成共识,然后再分析和表达这些要求与共识,最后将需求表达的结果反馈给用户,并得到用户的确认。数据需求分析采用数据流图作为工具,描述系统中数据的流动和数据变化,强调数据流和处理过程。
      • (2)概念模型设计。经过需求分析阶段的充分调查,得到了用户数据应用需求,但是这些应用需求还是现实世界的具体需求,应该首先把它们抽象为信息世界的结构,下一步才能更好地、更准确地用某个 DBMS 来实现用户的这些需求。将需求分析得到的结果抽象为概念模型的过程就是概念模型设计,其任务是确定实体和数据及其关联
      • (3)逻辑模型设计。概念模型独立于机器,更抽象,从而更加稳定,但是为了能够在具体的 DBMS上实现用户的需求,还必须在概念模型的基础上进行逻辑模型的设计。由于现在的DBMS 普遍采用关系模型结构,因此逻辑模型设计主要指关系模型结构的设计。关系模型由一组关系模式组成,一个关系模式就是一张二维表,逻辑模型设计的任务就是将概念模型中的实体、属性和关联转换为关系模型结构中的关系模式。
      • (4)物理模型设计。经过概念模型设计和逻辑模型设计,数据模型设计的核心工作基本完成,如果要将数据模型转换为真正的数据库结构,还需要针对具体的DBMS进行物理模型设计,使数据模型走向数据存储应用环节。物理模型考虑的主要问题包括命名、确定字段类型和编写必要的存储过程与触发器等。
    • 数据仓库

    • 主题库
      • 主题库建设可采用多层级体系结构,即数据源层、构件层、主题库层。
        • (1)数据源层。数据源层存放数据管理信息的各种管理表和数据的各类数据表。
        • (2)构件层。构件层包括基础构件和组合构件。基础构件包括用户交互相关的查询数据、展现数据和存储数据构件,以及数据维护相关的采集数据、载入数据和更新数据构件。组合构件由基础构件组装而成,能够完成相对独立的复杂功能。
        • (3)主题库层。按业务需求通过构建组合,形成具有统一访问接口的主题库。
    • 数据资产管理
      数据资产管理(Data Asset Management,DAM)是指对数据资产进行规划、控制和提供的一组活动职能,包括开发、执行和监督有关数据的计划、政策、方案、项目、流程、方法和程序,从而控制、保护、交付和提高数据资产的价值。
      • 在数字时代,数据是一种重要的生产要素,把数据转化成可流通的数据要素,重点包含数据资源化、数据资产化两个环节。
        • (1)数字资源化。通过将原始数据转变为数据资源,使数据具备一定的潜在价值,是数据资产化的必要前提。数据资源化以数据治理为工作重点,以提升数据质量、保障数据安全为目标,确保数据的准确性、一致性、时效性和完整性,推动数据内外部流通。
        • (2)数据资产化。通过将数据资源转变为数据资产,使数据资源的潜在价值得以充分释放。数据资产化以扩大数据资产的应用范围、显性化数据资产的成本与效益为工作重点,并使数据供给端与数据消费端之间形成良性反馈闭环。
    • 数据资源目录的概念模型
      • 数据资源目录

      • 信息项

      • 数据资源库
        • 数据资源库是存储各类数据资源的物理数据库,常分为专题数据资源库、主题数据资源库和基础数据资源库。
      • 标准规范
        • 数据资源目录体系标准规范包括数据资源元数据规范、编码规范、分类标准等相关标准。元数据规范描述数据资源所必须具备的特征要素;编码规范规定了数据资源目录相关编码的表示形式、结构和维护规则;分类标准规范了数据资源分类的原则和方法。
    • 数据集成常用方法
      • 模式集成
        • 也叫虚拟视图方法,是人们最早采用的图6-5 数据集成系统模型数据集成方法,也是其他数据集成方法的基础。

        • 其基本思想是:在构建集成系统时,将各数据源共享的视图集成为全局模式(GlobalSchema),供用户透明地访问各数据源的数据。全局模式描述了数据源共享数据的结构、语义和操作等,用户可直接向集成系统提交请求,集成系统再将这些请求处理并转换,使之能够在数据源的本地视图上被执行。
      • 复制集成
        • 将数据源中的数据复制到相关的其他数据源上,并对数据源的整体一致性进行维护,从而提高数据的共享和利用效率。数据复制可以是整个数据源的复制,也可以是仅对变化数据的传播与复制。数据复制的方法可减少用户使用数据集成系统时对异构数据源的访问量,提高系统的性能。
      • 混合集成
        • 该方法为了提高中间件系统的性能,保留虚拟数据模式视图为用户所用,同时提供数据复制的方法。对于简单的访问请求,通过数据复制方式,在本地或单一数据源上实现访问请求;而对数据复制方式无法实现的复杂的用户请求,则用模式集成方法。
    • 典型的数据集成系统模型包括如下
      • 数据集成方法
        常用方法有模式集成、复制集成和混合集成
      • 数据访问接口
        有ODBC、JDBC、OLE DB 和ADO
        • 常用的数据访问接口
          • ODBC

          • JDBC

          • OLE DB

          • ADO

      • Web Services技术

        • WSDL
          • WSDL是一种基于XML格式的关于Web服务的描述语言,主要目的在于WebServices的提供者将自己的Web服务的所有相关内容(如所提供的服务的传输方式、服务方法接口、接口参数、服务路径等)生成相应的文档,发布给使用者
        • SOAP
          • SOAP是消息传递的协议,它规定了Web Services之间是怎样传递信息的。
        • UDDI
          • UDDI是一种创建注册服务的规范。简单地说,UDDI用于集中存放和查找WSDL描述文件,起着目录服务器的作用,以便服务提供者注册发布Web Services,供使用者查找
      • 数据网格技术
        • 分布透明性
          • 用户感觉不到数据是分布在不同的地方的
        • 异构透明性
          • 用户感觉不到数据的异构性,感觉不到数据存储方式的不同、数据格式的不同、数据管理系统的不同等
        • 数据位置透明性
          • 用户不用知道数据源的具体位置,也没有必要了解数据源的具体位置
        • 数据访问方式透明性
          • 不同系统的数据访问方式不同,但访问结果相同
    • 数据挖掘与传统数据分析
      • (1)两者分析对象的数据量有差异。数据挖掘所需的数据量比传统数据分析所需的数据量大。数据量越大,数据挖掘的效果越好。
      • (2)两者运用的分析方法有差异。传统数据分析主要运用统计学的方法手段对数据进行分析;而数据挖掘综合运用数据统计、人工智能、可视化等技术对数据进行分析。
      • (3)两者分析侧重有差异。传统数据分析通常是回顾型和验证型的,通常分析已经发生了什么;而数据挖掘通常是预测型和发现型的,预测未来的情况,解释发生的原因。
      • (4)两者成熟度不同。传统数据分析由于研究较早,其分析方法相当成熟;而数据挖掘除基于统计学等方法外,部分方法仍处于发展阶段。
    • 数据挖掘的任务
      • 数据总结
        • 数据总结的目的是对数据进行浓缩,给出它的总体综合描述。
      • 关联分析
        • 关联分析就是找出数据库中隐藏的关联网,描述一组数据项的密切度或关系。
      • 分类和预测
        • 使用一个分类函数或分类模型(也常称作分类器),根据数据的属性将数据分派到不同的组中即分析数据的各种属性,并找出数据的属性模型,确定哪些数据属于哪些组,这样就可以利用该模来分析已有数据,并预测新数据将属于哪个组
      • 聚类分析
        • 聚类分析是按照某种相近程度度量方法,将数据分成一系列有意义的子集合,每一个集合中的数据性质相近,不同集合之间的数据性质相差较大。
      • 孤立点分析
        • 孤立点分析(或称为离群点分析)就是从数据库中检测出偏差。
    • 数据挖掘流程

    • 数据服务
      • 数据目录服务
        • 数据目录服务是用来快捷地发现和定位所需数据资源的一种检索服务,是实现数据共享的重要基础功能服务之一。
      • 数据查询与浏览器及下载服务
        • 数据查询、浏览和下载是网上数据共享服务的重要方式,用户使用数据的方式有查询数据和下载数据两种。数据查询与浏览服务一般通过关键字检索来进行。数据下载服务是指用户提出数据下载要求,在获得准许的情况下,直接通过网络获得数据的过程
      • 数据分发服务
        • 数据分发是指数据的生产者通过各种方式将数据传送到用户的过程。通过分发,能够形成数据从采集、存储、加工、传播向使用流动,实现数据的价值。数据分发服务的核心内容包括数据发布、数据发现、数据评价等。数据发布是指数据生产者可以将已生产和标准化的数据传送到一个数据分发体系中,为用户发现、评价做好基础的准备工作。数据发布的内容包括元数据、数据本身、用于数据评价的信息及其他相关信息。数据发现是指用户通过分发服务系统搜索到所需数据相关信息的过程,可通过数据目录服务来实现。数据评价指用户对数据的内容进行判断和评定,以此判断数据是否符合自己的要求。
    • 数据可视化

    • 数据脱敏原则

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值