【真题笔记】21年系统架构设计师案例理论点总结
- 从机器学习定义的灵活性和学习算法的可扩展性,对解释器+管道过滤器+隐式调用进行对比分析!
- 面向对象方法开发软件,建立对象模型+动态模型+功能模型,三者关联关系!
- 数据架构的设计过程包括:数据定义、数据分布、数据管理,三者具体内涵 !
- 常见反规范化技术!
- 针对反规范化数据不一致问题,解决方案!
- 解决Redis和MySQL数据实时同步问题常见方案!
- 基于家庭网关的传统智能家居管理系统+基于云平台的智能家居管理系统在网关管理、数据处理和系统性能等方面的特点!
- TCP+UDP对比分析!
从机器学习定义的灵活性和学习算法的可扩展性,对解释器+管道过滤器+隐式调用进行对比分析!
- 解释器:机器学习流程定义的灵活性高, 学习算法的可扩展性强。因为解释器风格可以通过自定义流程规则及配套流程解释引擎开发,做到用户层面的流程完全定义,而不需要修改代码,所以无论是修改已有的业务流程,还是要扩展不同的角色,创建新角色的流程都非常便利。解释器按照输入输出格式将学习算法封装为组件,通过解释器机制动态增加或删除算法组件,并支持动态调用,学习算法的可扩展性强。
- 管道过滤器: 机器学习流程定义的灵活性低, 学习算法的可扩展性弱。 因为管道过滤器是把数据处理职能做成过滤器,把数据传递做成管道,此时如果流程不发生变化,是可以通过这种方式实现的,但一旦流程变化,或是扩展功能,需要对过滤器进行修改调整,或是流程在程序层面重建,此时必须修改代码完成任务。管道过滤器按照输入输出格式将学习算法封装为组件,如果需要增加或删除组件,需要停止平台并进行重新部署, 学习算法的可扩展性弱。
- 隐式调用:机器学习流程定义的灵活性一般, 学习算法的可扩展性一般。 隐式调用强调的是通过间接方式进行调用,如采用事件机制,要完成某个动作时先触发事件,事件与相关动作关联,以提升灵活度。这种做法比管道过滤器强,但弱于完全自定义的解释器。 隐式调用按照输入输出格式将学习算法封装为处理函数,支持动态增加和删除函数,学习算法的可扩展性 一般。
面向对象方法开发软件,建立对象模型+动态模型+功能模型,三者关联关系!
对象模型用于描述系统数据结构;动态模型用于描述系统控制结构;功能模型用于描述系统功能。
这3种模型都涉及数据、控制和操作等共同的概念,但侧重点不同,从不同侧面反映了系统的实质性内容。综合起来全面地反映了对目标系统的需求。
功能模型指明了系统应该“做什么”;动态模型明确规定了什么时候做;对象模型则定义了做事情的实体。且对象模型、动态模型和功能模型均可用于软件的需求分析。
数据架构的设计过程包括:数据定义、数据分布、数据管理,三者具体内涵 !
- 数据定义:数据定义确保数据架构全面、一致、完整,反映业务本质,划分系统边界,明确数据引用和集成接口。数据模型涵盖概念、逻辑、物理模型及标准。
- 数据分布:数据分布基于业务需求,包括业务、分析和存储。分析数据在业务各环节和系统间的关系,选择合适的数据存储模式。
- 数据管理:数据管理是要制定贯穿数据生命周期的各项管理制度。涉及数据型、分布、质量和安全等制度,确保数据生命周期内的有效管理。同时,需确定数据管理组织或岗位,确保数据管理的专业性和高效性。
常见反规范化技术!
- 增加冗余列:增加冗余列是指在多个表中具有相同的列,它常用来在查询时避免连接操作。
- 增加派生列:增加派生列指增加的列可以通过表中其他数据计算生成。它的作用是在查询时减少计算量,从而加快查询速度。
- 重新组表:重新组表指如果许多用户需要查看两个表连接出来的结果数据,则把这两个表重新组成一个表来减少连接而提高性能。
- 分割表:有时对表做分割可以提高性能。
针对反规范化数据不一致问题,解决方案!
- 触发器数据同步
- 应用程序数据同步
- 批处理同步
ps:批式数据处理是一种离线数据处理技术,针对一段时间内的数据进行处理和计算,所以要实时同步,这种不能用,用其他2种。
解决Redis和MySQL数据实时同步问题常见方案!
- 实时同步方案,先查缓存,查不到再从DB查询,并保存到缓存;更新缓存时先更新数据库,再将缓存设置过期。
- 异步队列方式同步,可采用消息中间件处理。
- 通过数据库插件完成数据同步。
- 利用触发器进行缓存同步。
基于家庭网关的传统智能家居管理系统+基于云平台的智能家居管理系统在网关管理、数据处理和系统性能等方面的特点!
- 网关管理:云平台更强,可以实现远程网关管理,可以对不同地点的多种设备进行统一管理,管理能力更强。
- 数据处理:云平台的海量存储空间、高计算性能和灵活的拓展功能,为基于用户数据的智能预测和决策方法提供了更好的支持。 而家庭网关将数据的存储及处理交付网关,由于网关硬件性能的限制, 可能存在家居设备海量数据存储及智能应用需求得不到有效的支持等问题。
- 系统性能:数据存在云上数据库中,通信效率更高,同时云也有更强的数据处理能力,所以会更高效。 家庭网关的独立管理,一旦网关被售出,后期便难以进行系统的升级和拓展。
TCP+UDP对比分析!
- TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP之所以可靠,是因为建立连接时有3次握手,通信时有回应机制,所以丢了包,能重传以保障通信可靠性。
- UDP是一种面向无连接的传输层通信协议,丢了包不会重传,所以不能保障通信可靠性。