架构师备考-背诵精华(架构开发方法)

news2024/11/25 8:22:23

软件架构风格

类型

子类型

说明

数据流风格

批处理

每个处理步骤是一个单独的程序,每一步必须在前一步结束后才能开始,而且数据必须是完整的,以整体的方式传递。

管道过滤器

把系统分解为几个序贯的处理步骤,这些步骤之间通过数据流连接,一个步骤的输出是另一个步骤的输入。

调用/返回风格

主程序/子程序

一般采用单线程控制,把问题划分为若干处理步骤,构件即为主程序和子程序。

面向对象风格

这种风格建立在数据抽象和面向对象的基础上,数据的表示方法和它们的相应操作封装在一个抽象数据类型或对象中。

层次结构风格

每一层为上层提供服务,并作为下层的客户。

客户端/服务器风格

二层C/S :二层C/S 体系结构由3各主要组成部分:数据库服务器、客户应用程序和网络;

三层C/S: 与3层C/S 架构相比,三层 C/S 架构增加了一个应用服务器。三层C/S 架构将应用系统分为表示层、功能层和数据层三个部分

独立构件风格

进程通信

构件之间通过独立的进程来实现消息传递;构件是独立的过程,连接件是消息传递。

事件驱动的系统

事件驱动系统风格是基于事件的隐式调用风格,构件不直接调用一个过程,而是触发或广播一个或多个事件。后续执行过程会被注册在一个或多个事件,当对应的事件被触发或广播时,系统会自动调用该事件中注册的过程,执行相应的模块功能。

虚拟机风格

解释器

一个解释器通常包括完成解释工作的解释引擎,一个包含将被解释的代码的存储区,一个记录解释引擎当前工作状态的数据结构,以及一个记录源代码被解释执行进度的数据结构。

基于规则的系统

基于规则的系统包括规则集、规则解释器、规则/数据选择器及工作内存

仓库风格

数据库系统

仓库是存储和维护数据的中心场所。在仓库风格中,有两种不同的构件:中央数据结构和一组对中央数据进行操作的独立构件。

黑板系统

黑板体系结构风格适用于解决复杂的非结构化的问题,能在求解过程中综合运用多种不同知识源,使得问题的表达、组织和求解变得比较容易。

闭环控制风格

适用于嵌入式系统,用于解决简单闭环控制问题

C2 风格

构件和连接件都有一个顶部和底部;构件的顶部要连接到连接件的底部,构件的底部要连接到连接件的顶部,构件之间不允许直连一个连接件可以和任意数目的其他构件和连接件连接。

轻量级架构

SSH

  • SSH : Struts2(前端控制器) + Spring (管理各层组件)+ Hibernate(负责持久化层)

SSM

  • SSM:SpringMVC(前端控制器)+ Spring(管理各层组件)+ Mybatis(负责持久化层)

所在分层

SSH

SSM

页面层(View)

JSP

JSP

控制器(Controller)

Struts2

SpringMVC

业务层(Service)

Java

Java

持久层(DAO)

Hibernate

MyBatis

数据库层(DB)

Mysql/Oracle

Mysql/Oracle

组件管理层(Bean)

spring

spring

轻量级架构分层

轻量级架构一般包括:表现层、业务逻辑层、持久层、数据库层

  • 表现层:用户界面的逻辑位于最顶层。表现层负责把用户要求的业务逻辑处理结果以可视化的有好的方式返回给用户,并提供接受用户命令的接口和表现层页面控制逻辑的代码。
  • 业务逻辑层:业务逻辑层负责处理问题领域的业务规则和根据用户需求进行的业务处理以满足用户的功能需求。通常情况下,业务逻辑层处理使用的实体对象由持久层提供。
  • 持久层:数据通过持久层进行持久化。所谓持久化,即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)
    • 持久层的设计屏蔽了数据库平台的变化对业务逻辑层的影响
    • 通过持久层的封装处理,可以在持久层实现支持多种数据库平台,而对业务逻辑层提供统一的接口
    • 代码可重用性高,能够完成所有的数据库访问操作
  • 数据库

面向服务的架构设计

定义

        面向服务的架构(Service-oriented achitecture,SOA)其实就是如何“基于服务”或“基于一堆服务”来实现的业务机构。面向服务是在面向对象的基础上发展起来的,但这里的服务与对象不同:

  • 对象主要是面向系统的而服务是面向业务的
  • 对象的粒度级别主要集中在类级而服务是粗粒度的
  • 类是以函数调用为基础来交互的,而服务是以网络请求为基础来交互的

实现方式

  • SOA的实现方式包括:服务注册表方式、ESB 企业服务总线方式
服务注册表

UDDI

统一描述、发现和集成,提供了一种服务发布、查找和定位的方法,是服务的信息注册规范

WSDL

Web 服务描述语言是对服务进行描述的语言

SOAP

简单对象访问协议定义了服务请求者和服务提供者之间的消息传输规范

REST

表述性状态转移REST,是一种设计风格:

  1. 资源:以资源为中心,一个资源可以对应多个URI(统一资源标识),一个URI 只能对应一种资源
  2. 表述:资源的状态,可以有HTML、JSON、XML、纯文本等
  3. 状态转移:应用状态保存在客户端,资源状态保存在服务端
  4. 超链接:在页面中嵌入连接和其他资源建立联系,包含在应用状态中,由客户端维护保存。
ESB 企业服务总线

        企业服务总线(Enterprise Service Bus,ESB)架构模式在于整合,可能是公司内部各团队的服务,也可能是公司之间的不同服务,组成一个整体,来向外提供服务。

  • ESB 的作用
  1. 是SOA 的一种实现方式,ESB 在面向服务的架构中起到的是总线作用,将各种服务进行连接与整合;
  2. 描述服务的元数据和服务注册管理
  3. 在服务请求者和提供者之间转递数据,以及对这些数据进行转换的能力,并支持由实践中总结出来的一些模式如同步模式、异步模式等;
  4. 发现、路由、匹配和选择的能力,以支持服务之间的动态交互,解耦服务请求者和服务提供者。
  5. 高级一些的能力,包括对安全的支持,服务质量保证、可管理性和负载平衡等。

SOA 设计的标准要求

        SOA 设计的标准要求包括:文档标准化、通信协议标准(XML Schema)、应用程序统一注册管理、保障服务质量

  • 文档标准化:自我描述的XML 文档
  • 通信协议标准:使用XML Schema定义服务间通信的消息
  • 应用程序统一登记与集成:应用程序在登记处寻找并调用某项服务
  • 服务质量(Qos):可靠性、安全性、策略、控制、管理

SOA 作用

        SOA 对应实现企业资源共享,打破“信息孤岛”。

SOA原则

无状态

避免服务请求者依赖于服务提供者的状态

单一实例

避免功能冗余

明确定义的接口

服务的接口由WSDL定义,WS-Policy 用于描述服务规约、XML Schema 用于定义所交换的消息格式

自包含和模块化

独立进行部署、版本控制、自我管理和恢复

粗粒度

服务数量不应该太大

服务之间的松耦合性

服务私有数据对服务使用者是不可见的

重用能力

服务应该是可以重用的

互操作性、兼容和策略声明

使用WS-Policy 策略声明确保服务期望和语义兼容性方面的完整和明确

SOA 实施过程

        SOA 实施过程包括:业务流程分析、建立服务模型、建立业务流程

  • 建立服务模型
    • 自顶向下分解法:从业务着手
    • 业务目标分析:从业务目标分解
    • 自底向上分析法:利用已有资产来实现服务
  • 建立业务流程
    • 建立业务对象:实体业务对象、过程业务对象、事件业务对象
    • 建立服务接口
    • 建立业务流程

微服务架构设计

定义

        微服务是一种架构风格,将单体应用划分成一组小的服务,服务之间相互协作,实现业务功能每个服务运行在独立的进程中,服务间采用轻量级的通信机制协作(通常是HTTP/JSON),每个服务围绕业务能力进行构建,并且能够通过自动化机制独立地部署。

微服务架构特征

        微服务架构特征包括:去中心化治理、基础设施自动化、具有自治性、容错性、弹性

  • 去中心化治理微服务架构倾向于去中心化的治理模式,每个服务团队可以自主选择技术栈、开发工具和部署流程。
  • 基础设施自动化:微服务架构要求高度的自动化,包括持续集成、持续部署、自动化测试和监控
  • 自治性:每个微服务都是独立的,拥有自己的数据库和数据模型,可以独立部署
  • 容错性:微服务架构设计上考虑了服务的故障隔离,一个服务的失败不会影响到其他服务的正常运行
  • 弹性:微服务可以根据需求独立扩展,只对需要更多资源的特定服务进行扩展

微服务架构的优势

        微服务架构的优势有:复杂应用解耦、独立开发与部署、技术栈多样性、故障隔离、服务易于拓展

  1. 复杂应用解耦。微服务架构将单一模块应用分解为多个微服务,同时总体功能保持不变
  2. 独立开发与部署:每个微服务都可以独立开发和部署,因而可以聚集在局部,提高了开发效率和灵活性
  3. 技术栈多样性:不同的微服务可以采用最适合其业务需求的技术栈,无需整个系统统一技术选型
  4. 故障隔离:单个微服务的故障不会影响到整个系统,提高了系统的稳定性和可用性
  5. 易于拓展:微服务架构支持水平拓展和垂直拓展,可以根据业务需求灵活调整资源分配

微服务架构的挑战

        微服务架构的挑战包括:运维复杂性、性能问题、数据一致性、分布式复杂性、运维复杂性

  1. 并非所有的系统都能转成微服务。
  2. 性能问题:由于微服务注重独立性,互相通信时只能通过标准接口,可能产生延迟或调用出错。
  3. 数据一致性问题:作为分布式部署的微服务,在保持数据一致性方面需要比传统架构更加困难。应对策略包括采用最终一致性模型、分布式事务或补偿事务等机制
  4. 分布式复杂性:微服务间的通信和依赖管理变得复杂。应对策略包括使用API 网关,服务发现机制和分布式事务解决方案
  5. 运维复杂性:系统由众多微服务搭建,每个微服务需要单独部署,从而增加部署的复杂度,同时增加了系统的运维复杂度。应对策略包括引入容器技术、DevOps 和 CI/CD 流程,实现自动化运维和监控。

微服务架构分类

  • 微服务架构类型可分为:聚合器微服务、代理微服务、分支微服务、链式微服务、数据共享微服务、异步消息传递微服务

与SOA 架构的对比

对比维度

SOA

微服务

服务粒度

服务通信

重量级,ESB

轻量级,HTTP Restful

服务交付

应用场景

企业级

互联网

云原生架构设计

定义

        云原生基金会(CNCF) 关于云原生的定义是:云原生的代表技术包括容器,微服务,服务网格,不可变基础设施和声明式API。

云原生架构关键组件

  1. 容器技术容器是一个标准的软件单元,它将代码及其所有依赖关系打包起来,使资源调度,微服务更容易,并具备强大的可移植性。
  2. 微服务架构微服务架构是一种架构模式,它提倡将单体应用划分成一组多个小服务,每个服务运行在其独立的进程中,服务与服务采用轻量级的通信机制互相沟通
  3. DevOps高效组织团队之间如何通过自动化的工具协作和沟通来完成软件的生命周期管理,从而更快,更频繁的交付更稳定的软件

云原生架构原则

        云原生架构原则包括:服务化原则、弹性原则、可观测原则、韧性原则、所有过程自动化原则、零信任原则、架构持续演进原则

  • 服务化原则
    • 拆分为微服务或小服务
    • 从架构层面抽象化业务模块之间的关系
  • 弹性原则
    • 系统规模随着业务量自动伸缩
  • 可观测原则
    • 多种手段观测系统运行状况
  • 韧性原则
    • 软件出现异常的抵御行为
  • 所有过程自动化原则
    • 自动化部署、测试、监控、故障恢复等
  • 零信任原则
    • 身份中心化
  • 架构持续演进原则
    • 架构设计和实施具备演化能力

云原生的价值

  • 从技术视角
    • 极致的弹性扩展能力,毫秒级弹性响应
    • 服务自治故障自愈能力
    • 大规模可复制能力,跨区域,平台快速复制
  • 从应用视角
    • 容器技术解决异构资源标准化
    • 变革研发运营的生产方式提升交付效率
    • 提升业务应用的迭代速度,赋能业务创新
  • 从产业效能方面
    • 云原生极大的释放了云的红利,最大程度发挥云的优势
    • 云原生成为驱动业务增长的重要引擎

云原生的技术范畴

  • 云原生核心六大技术
    • 容器
    • 容器编排技术
    • 云原生微服务架构
    • 云原生中间件
    • Serverless
    • DevOps
  • 云应用定义与开发流程
    1. 应用定义与镜像制作
    2. CI/CD 持续集成,持续交付
    3. 消息和Streaming (消息队列)
    4. 数据库
  • 云应用编排与管理
    1. 应用编排与调度
    2. 服务发现与治理
    3. 远程调用
    4. API网关
    5. ServiceMesh (服务网格) 解决应用的非功能性需求
  • 监控与可观测性
    1. 监控
    2. 日志
    3. Tracing (快速定位问题)
    4. 混沌工程 (验证应用的可用性和稳定性)
  • 云原生底层技术
    1. 容器运行池
    2. 云原生存储技术
    3. 云原生网络技术
  • 云原生工具集
    1. 流程自动化与配置管理
    2. 容器镜像仓库
    3. 云原生安全技术
    4. 云端密码管理
  • Serverless (无服务化,帮助用户管理基础设施)
    1. FaaS (基于函数)
    2. BaaS (基于后端)
    3. Serverless 计算

Serverless 无服务器技术

  • serverless技术特征:全托管的计算服务、通用性、自动弹性伸缩、按量计费
  • 技术关注点:计算资源弹性调度、负载均衡和流控、安全性
    • 计算资源弹性调度
      • 容错:多个实例部署在不同节点
      • 资源利用率:计算密集/IO 密集型由相同节点计算、动态迁移不同节点”碎片化“实例
      • 性能:复用实例与函数节点、利用缓存
      • 数据驱动:使用离线分析验证在线调动算法结果
    • 负载均衡和流控
      • 资源调度服务
      • 流量隔离控制
    • 安全性
      • 关注权限管理、网络安全、数据安全、运行时安全
      • 使用轻量安全容器

服务网格

        服务网格(service Mesh)是分布式应用在微服务架构之上发展起来的新技术,旨在将那些微服务间的连接、安全、流量控制和可观测等通用功能下沉为平台基础设施,实现应用与平台基础设施的解耦。

层次式架构设计

定义

        层次式体系结构设计是一种常见的架构设计方法,它将系统组成为一个层次结构,每一层为上层服务,并作为下层的客户。在一些层次系统中,除了一些精心挑选的输出函数外,内部的层接口只对相邻的层可见。层次式体系结构的每一层最多影响两层,同时只要给相邻层提供相同的接口,也允许每层用不同的方法实现,这种方式也为软件重用提供了强大的支持。

特征

        关注点分离:每层中的组件只负责本层的逻辑,组件的划分也很容易明确组件的角色和职责,比较容易开发、测试、管理和维护。

优缺点

  • 优点:
    • 开发人员可以只关注整个结构中的其中某一层
    • 可以很容易的用新的实现来代替原有层次的实现
    • 可以降低层与层之间的依赖
    • 有利于标准化
    • 利于各层逻辑的复用
    • 扩展性强。不同层负责不同的层面
    • 安全性高。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了
    • 项目结构更清楚,分工更明确,有利于后期的维护和升级
  • 缺点:
    • 严格的分层可能导致性能问题,具体取决于层数
    • 建立清晰的分层架构并不是很容易

注意事项

  • 容易成为污水池反模式:请求流简单地穿过几个层,每层里面基本没有做任何业务逻辑,或者做了很少的业务逻辑。
  • 分层架构可能会让应用变得庞大

表现层架构设计

MVC (Model-VIew-Controller)模式
  • MVC 模式组成:模型、视图、控制器
  • MVC 是一种软件设计模式。MVC 把一个应用的输入、处理、输出流程按照视图、控制、模型的方式进行分离,形成了控制器、模型、视图 3个核心模块。
    • 控制器(Controller):接受用户的输入,并调用模型和视图去完成用户的需求
    • 模型(Model):应用程序的主体部分,表示业务数据和业务逻辑
    • 视图(View):用户看到并与之交流的界面
  • 优点
    • 允许多种用户界面的拓展
    • 易于维护
    • 易于构建功能强大的用户界面
    • 增加应用的可拓展性、强壮性、灵活性
MVP (Model-View-Presenter)模式
  • MVP 模式组成:模型、视图、呈现器
  • 在MVP 模式中,Model 提供数据,VIew 负责显示,Controller/Presenter 负责逻辑的处理。MVP 不仅避免了View 和 Model 之间的耦合,还进一步降低了 Presenter 对 View 的依赖。
  • 优点
    • 模型与视图完全分离,可以修改视图而不影响模型
    • 所有的交互都发生在一个地方-Presenter 内部,因此可以更高效地使用模型
    • 可以将一个Presenter 用于多个视图,而不需要改变Presenter 的逻辑。因为视图的变化总是比模型的变化频繁。
    • 如果把逻辑放在Presenter 中,就可以脱离用户接口来测试这些逻辑(单元测试)
MVVM (Model-View-View Model) 模式
  • MVVM 模式组成:模型、视图、视图模型
  • MVVM 和MVC、MVP 类似,主要目的是为了实现视图和模型的分离。不同的是MVVM 中,View 与Model 的交互通过 ViewModel 来实现,也就是 View 和Model 不能直接通信,两者的通信只能通过VIewModel 来实现。ViewModel 是MVVM 的核心,通过DataBinding 实现View 与Model 之间的双向绑定,其内容包括数据状态处理、数据绑定及数据转换。

中间层架构设计

        业务逻辑层组件分为接口和实现两个部分。接口用于定义业务逻辑组件,定义业务逻辑组件必须实现的方法是整个系统运行的核心。通常按模块来设计业务逻辑组件,每个模块设计一个业务逻辑组件,并且每个业务逻辑组件以多个数据访问对象(Data Access Object,DAO)组件作为基础,从而实现对外提供系统的业务逻辑服务。

1. 业务逻辑层工作流设计

        工作流管理联盟(WFMC)将工作流定义为:业务流程的全部或部分自动化,在此过程中,文档、信息或任务按照一定的过程规则流转,实现组织成员间的协调工作以达到业务的整体目标。

2. 业务逻辑层实体设计

逻辑层实体提供对业务数据及相关功能的状态编程访问。业务逻辑层实体可以使用具有复杂架构的数据来构建,这种数据通常来自数据库中的多个相关表。业务逻辑层实体数据可以作为业务过程的部分I/O参数传递。业务逻辑层实体是可序列化的,以保持它们的当前状态。

3. 业务逻辑层框架

        业务逻辑层框架位于系统架构的中间层,是实现系统功能的核心组件。采用容器的形式,便于系统功能的开发、代码重用和管理。在业务容器中,业务逻辑是按照 Domain Model-Service-Control 思想来实现的。其中:

  1. Domain Model 是仅仅包含业务相关的属性的领域层业务对象。
  2. Service 是业务过程实现的组成部分,是应用程序的不同功能单元,通过在这些服务之间定义良好的接口和契约联系起来。
  3. Control 服务控制器,是服务之间的纽带,不同服务之间的切换就是通过它来实现的。

数据访问层设计

数据访问模式

        数据访问模式包括:在线访问、DAO、DTO、离线数据模式、对象/关系映射(ORM)

  1. 在线访问:最常用的方式。访问占用一个数据库连接,读取数据,每个数据库操作都会通过这个连接不断地与后台的数据源进行交互。
  2. Data Access Object :DAO 是标准J2EE 设计模式,这种方式将底层数据访问操作与高层业务逻辑分离开。一个典型的DAO 实现通常会有一个DAO 工厂类、一个DAO 接口、一个实现了DAO 接口的具体类、数据传输对象。
  3. Data Transfer Object:DTO 属于 EJB 设计模式之一。DTO 是一组对象或容器,需要跨越不同的进程或是网络的边界来传输数据。
  4. 离线数据模式:离线数据模式是以数据为中心,数据从数据源获取之后,将按照某种预定义的结构存放在系统中,成为应用的中心。这种方式对数据的各种操作独立于各种与后台数据源之间的连接或是事务。
  5. 对象/关系映射(ORM):这种方式利用工具或平台能够帮助将应用程序中的数据转换成关系型数据库中的记录:或是将关系数据库中的记录转换成应用程序中代码便于操作的对象。
工厂模式在数据访问层的应用

        工厂模式定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。这里可能会处理对多种数据库的操作,因此,需要首先定义一个操纵数据库的接口,然后根据数据库的不同,由类工厂决定实例化哪个类。

事务处理设计

        事务必须服从ISO/IEC 所制定的ACID 原则

  1. 原子性:表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。
  2. 一致性:表示当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行前的状态。
  3. 隔离性;表示在事务执行过程中对数据的修改,在事务提交之前对其他事务不可见。
  4. 持久性:表示已提交的数据在事务执行失败时,数据的状态都应该正确。

物联网层次式架构设计

        典型的物联网层次式架构分为三层,分别是:感知层、网络层、应用层

  1. 感知层:用于识别物体,采集信息。感知层包括二维码标签和识读器、RFID 标签和读写器、摄像头、GPS 、传感器、M2M 终端、传感器网管等,主要功能是识别对象、采集信息,与人体结构中皮肤和五官的作用类似。
  2. 网络层:用于传递信息和处理信息。网络层包括通信网与互联网的融合网络、网络管理中心、信息中心和智能处理中心等。网络层将感知层获取的信息进行传递和处理,类似于人体结构中的神经中枢和大脑。
  3. 应用层:实现广泛智能化。应用层是物联网与行业专业技术的深度融合,结合行业需求实现行业智能化,这类似于人们的社会分工。

通信系统架构设计

局域网网络架构

  • 局域网是单一机构专用计算机的网络。通常由计算机、交换机、路由器等设备组成。
  • 特点是覆盖地理范围小,数据传输速率高,低误码率,可靠性高,支持多种传输介质,支持实时应用。
  • 局域网可以有有线、无线两种类型。
  • 局域网的拓扑结构包括:星型、总线型、环形、树型
  • 局域网架构风格包括;单核心架构、双核心架构、环形架构、层次型架构

广域网网络架构

  • 广域网是将分布于相比局域网网络更广区域的计算机设备连接起来的网络。
  • 广域网架构类型包括:单核心广域网、双核心广域网、环形广域网、半/全冗余架构、对等子域广域网架构、层次子域广域网架构

存储网络架构

  • 存储网络设计磁盘存储访问方式包括:直连式存储(DAS)、网络连接的存储(NAS)、存储区域网络(SAN)
  1. 直连式存储(DAS):存储设备通过IDE/ATA/SCSI 接口或光纤通道直接连接到单台计算机,计算机通过I/O访问存储设备,存储设备可以是硬盘驱动器、RAID 阵列、CD、DVD、磁带驱动器。
  2. 网络连接的存储(NAS):存储设备通过标准的网络拓补结构连接到计算机群组,计算机通过IP 局域网或广域网TPC 或UDP 协议,通过RPC 接口访问NAS 存储设备
  3. 存储区域网络(SAN):一种采用网状通道技术专门为存储建立的独立于TCP/IP 网络之外的专用网络,通过网状通道交换机连接存储阵列和服务器。

DAS

NAS

SAN

架构类别

单机存储架构

网络存储架构

网络存储架构

访问方式

I/O 总线

网络

网络

资源利用

单机存储

共享存储

共享存储

访问媒介

总线

以太网

以太网/光纤通道

优势特点

易用易管理设备成本低

易用易管理可拓展性高,设备成本较低

高性能低延迟灵活性高

软件定义网络

        软件定义网络是通过对网络设备的控制面与数据面进行分离,控制面集中化管理,同时对外提供开放的可编程接口,为网络应用创新提供极佳的能力开放平台;而数据面则通用化、轻量化、高效转发,以提升网络的整体运行效能

  1. 数据平面由网络转发设备组成,网络转发设备之间通过由不同规则形成的SDN 数据通路连接起来;
  2. 控制面包含了逻辑上为中心的SDN 控制器,它掌握着网络全局信息,负责转发设备的各种转发规则的下发;应用平面包含各种基于SDN 的网络应用,应用无需关心网络底层细节就可以编程、部署新应用。
  3. SDN 中的接口具有开放性,以控制器为逻辑中心,南向接口(采用 OpenFlow 协议)负责与数据平面进行通信,北向接口负责与应用平面进行通信,东西向接口负责多控制器之间的通信

网络构建和设计方法

网络需求与设计
  • 网络需求分析主要从业务需求、用户需求、应用需求、计算机平台需求和网络需求来进行分析
  • 层次化网络模型设计。层次化设计优点是能降低成本,充分利用模块化设备/部件,网络变化或演化容易。层次化网络设计一般采用三层模型设计思路:接入层、汇聚层、核心层。
  • 层次化设计原则
    • 控制网络层次
    • 从接入层开始,向上分析规划
    • 尽量采用模块化设计
    • 严格控制网络结构
    • 严格控制层次化结构
网络安全控制技术

        网络安全控制技术主要包括:防火墙、虚拟专用网络技术、访问控制技术、网络安全隔离、网络安全协议、网络安全审计

  1. 防火墙
    1. 防火墙是网络间的安全屏障,可以保护本地网络资源。防火墙可以允许/拒绝/重定向数据流以及审计进出网络的访问或服务。防火墙的体系有:
      1. 硬件防火墙
      2. 软件防火墙
      3. 嵌入式防火墙
    2. 防火墙的种类包括
      1. 代理服务
      2. 应用层网关
      3. 包过滤
  2. 虚拟专用网络技术(VPN)
    1. 该技术利用公共网络建立私有专用网络,具有成本低,接入方便,可拓展性强,管理和控制方便等优点
  3. 访问控制技术
    1. 自主访问控制DAC
    2. 强制访问控制MAC
    3. 基于角色的访问控制 RBAC
    4. 基于任务的访问控制 TBAC
    5. 基于对象的访问控制 OBAC4.
  4. 网络安全隔离
    1. 网络安全隔离。将攻击隔离在网络外,保证网络内信息不外泄。
    2. 子网隔离
    3. 物理隔离
    4. VLAN 隔离
    5. 逻辑隔离
  5. 网络安全协议
    1. SSL 协议是介于应用层和TCP 层之间的安全通信协议,提供保密性通信、点对点身份认证、可靠性通信三种安全通信服务。其继任者为传输层安全协议 TLS
    2. PGP 是一种加密软件,应用了多种密码技术包括RSA、IDEA、完整性检测和数字签名算法,实现了一个比较完善的密码系统。广泛用于电子邮件安全
    3. IPSec 是工作在网络层的安全协议,主要优点是它的透明性,安全服务的提供不需要更改应用程序
    4. SET 安全电子交易协议,是基于信用卡在线支付的电子商务安全协议;主要用于解决用户、商家和银行之间通过信用卡支付的交易问题,保证支付信息的机密,支付过程的完整、商户和持卡人身份合法性及可操作性
    5. HTTPS 协议:是以安全为目标的HTTP 通道,在HTTP 的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础上加入SSL,HTTPS 的安全基础就是SSL,因此加密的详细内容就需要SSL
  6. 网络安全审计
    1. 用来测试,评估和分析网络脆弱性。

信息系统架构设计

定义

  • 信息系统架构(ISA):是指对某一特定内容里的信息进行统筹、规划、设计、安排等一系列有机处理的活动。
  • 软件或计算机系统的信息系统架构是该系统的一个(或多个)结构,而结构由软件元素、元素的外部可见属性以及它们之间的关系组成。
  • 信息系统架构为软件系统提供了一个结构、行为、和属性的高级抽象,由构成系统元素的描述、这些元素的相互作用、指导元素集成的模式及这些模式的约束组成。
  • 信息系统架构是指一个系统的基础知识,它具体体现在:系统的构件,构件之间,构件与环境之间的关系,以及指导其设计和演化的原则上。

信息系统常用架构

  • 单机应用模式
  • 分层架构
    • 典型的两层客户机/服务器架构
    • 三层C/S 与B/S 架构
    • 典型的多层客户机/服务器架构
    • MVC 架构的分层体系 (Mode-VIew -Contorller)
  • 多服务结构
  • 企业数据交换总线架构

企业信息系统的总体框架

企业信息系统包括:战略系统、业务系统、应用系统、信息基础设施

  • 战略系统
    • 两层含义
      • 信息系统对企业高层管理者的决策支持能力
      • 企业战略规划对信息系统建设的影响和要求
    • 两部分组成
      • 高层决策支持系统:以计算机为基础
      • 企业战略规划体系:
        • 长期规划:调整产品结构;
        • 短期规划:新产品类型。
  • 业务系统
    • 定义:企业中完成一定业务功能的各部分(物质、能量、信息和人)组成的系统。
    • 作用:建模、优化重组业务过程进行企业应用系统的开发和信息基础设施的建设。
  • 应用系统
    • 定义:应用软件
    • 组成:内部功能实现,外部界面
  • 企业信息基础设施
    • 定义:指根据企业当前业务和可预见的发展趋势,及对信息采集、处理、存储和流通的要求,构筑由信息设备、通信网络、数据库、系统软件和支持性软件等组成的环境。
    • 组成
      • 技术基础设施:计算机、网络、系统软件、支持性软件、数据交换协议
      • 信息资源设施:数据与信息本身、数据交换的形式与标准、信息处理方法
      • 管理基础设施:组织结构、人员的分工 、管理方法与规章制度

信息系统架构设计方法

TOGAF
  • TOGAF :开放式企业架构框架标准,为标准、方法论和企业架构专业人员之间的沟通提供一致性保障。
  • 核心思想:模块化架构、内容框架、拓展指南、架构风格
  • 九大组件:
    • 企业连续体和工具
      • 架构活动的输出和存储
    • 架构开发方法
      • ADM 方法
      • 核心
    • TOGAF 参考模型
      • 技术参考模型
      • 继承信息基础设施参考模型
    • ADM 指南和技术
      • 用于ADM 的指南和技术
    • 架构能力框架
      • 组织、流程、技能、角色和职责
    • 架构内容框架
      • 架构工件的结构化元模型
      • 可重用架构构建块
      • 架构可交付成果
ADM 架构开发方法

        ADM 架构开发方法是由一组按照架构领域的架构开发顺序而排列成一个环的多个阶段所构成。ADM 形成3个级别的迭代周期。

  • 基于ADM 整体的迭代:一个阶段结束直接进入随后的下一个阶段。
  • 多个开发阶段间的迭代:一个阶段结束重新回到上一个阶段。
  • 在一个阶段内部的迭代:一个阶段内部多个活动可以迭代

 ADM 阶段

ADM 阶段内的活动

准备阶段

为实施成功的企业架构项目做好准备,包括定义组织机构、特定的架构框架、架构原则和工具

需求管理

完成需求的识别、保管和交付,相关联的ADM 阶段则按优先级顺序对需求进行处理。TOGAF 项目的每个阶段,都是建立在业务需求之上并且需要对需求进行确认。

阶段A:架构愿景

设置TOGAF 项目的范围、约束和期望。创建架构愿景,包括:

定义利益相关者

确认业务上下文环境、

创建架构工作说明书

取得上级批准

阶段B:业务架构

阶段C:信息系统架构(应用& 数据)

阶段D:技术架构

从业务、信息系统和技术三个层面进行架构开发,在每一个层面分别完成以下活动:

开发基线架构描述

开发目标架构描述

执行差距分析

阶段E:机会和解决方案

进行初步实施规划,并确认在前面阶段中确定的各种构建块的交互物形式;

确定主要实施项目

对项目分组并纳入过渡架构

决定途径(制造、购买、重用、外包、商用、开源)

评估优先顺序

识别相依性

阶段F:迁移规划

对阶段E 确定的项目进行绩效分析和风险评估,制定一个详细的实施和迁移计划

阶段G:实施治理

定义实施项目的架构限制;

提供实施项目的架构监督

发布实施项目的架构合同

检测实施项目以确保符合架构要求

阶段H 架构变更管理

提供持续监测和变更管理的流程,以确保架构可以响应企业的需求并且将架构对于业务的价值最大化。

信息化特征

  1. 易用性
  2. 健壮性
  3. 平台化、灵活性、拓展性
  4. 安全性
  5. 门户化、整合性
  6. 移动性

信息化架构模式

  • 数据导向架构
    • 数据对象
    • 主数据管理
  • 流程导向架构
    • 端到端流程整合服务
    • SOA

信息化建设生命周期

        信息化建设的生命周期包括:系统规划、系统分析、系统设计、系统实施、系统运行与维护

  1. 系统规划
    1. 初步调查
    2. 新系统的需求与约束
    3. 可研报告
    4. 系统设计任务书
  2. 系统分析
    1. 详细调查
    2. 新系统的逻辑模型
    3. 系统说明书
  3. 系统设计
    1. 新系统的物理模型
    2. 概要设计
    3. 详细设计
    4. 系统设计说明书
  4. 系统实施
    1. 购置设备
    2. 代码编写
    3. 人员培训
    4. 数据转换
    5. 系统调试
  5. 系统运行与维护
    1. 维护
    2. 评价

信息系统工程总体规划的方法论

  1. 关键成功因素法(CSF)
    1. 识别关键成功因素
    2. 确定系统开发的优先次序
  2. 战略目标集转化法(SST)
    1. 使命、目标、战略
    2. 分层
    3. 结构化
  3. 企业系统规划法(BSP)
    1. 自上而下识别目标、过程、数据
    2. 自下而上设计系统

大数据架构设计

架构特征

  • 鲁棒性和容错性
  • 低延迟读取和更新能力
  • 横向扩容
  • 通用性
  • 延展性
  • 即席查询能力
  • 最少维护能力
  • 可调试性

Lambda 架构

        Lambda 架构是由 Nathan Marz 提出的一种大数据处理架构,它旨在提供一种可拓展、容错性强且能够处理大量数据的系统。Lambda 架构结合了批处理和流处理两种数据处理方式,以实现对大数据的实时和批量分析

  • 设计目的在于提供一个能满足大数据系统关键特性的架构
  • 用于同时处理离线和实时数据的分布式系统
  • 融合不可变性,读写分离和复杂性隔离等原则
  • 整合离线计算与实时计算
  • 高容错、低延迟、可拓展、强鲁棒性、持续更新
  • 可集成Hadoop 、Kafka、Spark、Storm 等各类大数据组件
  • 应用场景
    • 机器学习
      • 处理的各类数据为机器学习应用算法、检测模式提供数据
    • 物联网
      • 物联网感知层提供数据,作为架构输入
    • 流处理
      • 提供最新数据的低延迟实时视图
架构分层

        lambda 架构主要由三个层次组成:批处理层、加速层、服务层

  1. 批处理层(batch Layer)
    1. 存储数据集,预计算查询函数,构件批视图
    2. 离线处理,结果精确、全量,处理时延高
  2. 加速层(Speed Layer)
    1. 处理最近的增量数据流,不断更新实时视图
    2. 实时处理,结果可能不准,非全量,处理时延低
  3. 服务层(Serving Layer)
    1. 合并批处理和实时视图中的结果数据集到最终数据集
  4. 各层技术
    1. Hadoop(HDFS)用于存储主数据集;
    2. Spark(Storm)可构成速度层
    3. Hbase(或Cassandra)作为服务层,由Hive创建可查询的视图
架构优缺点
  • 优点:容错性好、查询灵活度高、易伸缩、易拓展
    • 容错性好:可以修复算法或从头开始重新计算视图进行容错
    • 查询灵活度高:批处理允许针对任何数据进行临时查询
    • 易伸缩:所有层都可以通过横向扩容轻松完成水平拓展
    • 易扩展:添加视图容易,只需给主数据集添加几个新函数
  • 缺点
    • 全场景覆盖带来的编码开销
    • 针对具体场景重新离线训练一遍益处不大
    • 重新部署和迁移成本高

Kappa 架构

架构分层

Kappa架构分为实时层、服务层

  • 实时层
    • 处理输入数据,生成实时视图
  • 服务层
    • 使用实时视图中的结果数据集响应用户请求
架构优缺点
  • 优点
    • 离线和实时处理代码统一
    • 方便维护
  • 缺点
    • 消息中间件有性能瓶颈
    • 数据关联时处理开销大
    • 抛弃了离线计算的可靠性

架构对比

对比内容

Lambda 架构

Kappa 架构

复杂度与开发维护成本

维护两套系统(引擎),复杂度高,成本高

维护一套系统,复杂度低,成本低

计算开销

周期性批处理计算,持续实时计算,计算开销大

必要时进行全量计算,计算开销小

实时性

满足实时性

满足实时性

历史数据处理能力

批量全量处理,吞吐量大

历史数据处理能力强

批视图与实时视图存在冲突可能

流式全量处理,吞吐量相对较低;历史数据处理能力相对较弱

设计考虑

Lambda 架构

Kappa 架构

业务需求与技术要求

依赖Hadoop、Spark、Storm 技术

依赖Flink 计算引擎,偏流式计算

复杂度

修改两套代码复杂度高

用一份代码进行数据处理复杂度低

开发维护成本

成本预算充足

成本预算有限

历史数据处理能力

频繁使用海量历史数据

仅使用小规模数据集

安全架构设计

安全模型

  • 状态机模型
  • Bell-LaPadula 模型
  • Biba 模型
  • Clark-Wilson 模型
  • Chinese Wall 模型

系统安全体系结构规划框架

WPDRRC 信息安全体系架构模型

  • 信息安全模型 WPDRRC 包括6个环节:预警、保护、检测、响应、恢复、反击
  • 三个要素:人员、策略、技术

信息安全体系架构设计

        系统安全保障体系由安全服务、协议层次和系统单元三个层面组成,每个层面都涵盖了安全管理的内容。

网络安全体系架构设计

  • 信息安全体系架构,具体可从以下5个方面展开安全体系的架构设计工作包括:物理安全、系统安全、网络安全、应用安全、安全管理
    • 物理安全(前提):包括环境安全、设备安全、媒体安全
    • 系统安全(基础):包括网络结构安全、操作系统安全、应用系统安全
    • 网络安全(关键):包括访问控制、通信保密、入侵检测、网络安全扫描、防病毒
    • 应用安全:包括资源共享、信息存储
    • 安全管理:包括健全的体制,管理平台,人员安全防范意识

OSI 安全体系架构:

        OSI 定义了分层多点的安全技术体系架构,又叫深度防御安全架构,它通过以下三种方式将防御能力分布至整个信息系统中:多点技术防御、分层防御技术、支撑性基础设施

  1. 多点技术防御:通过网络和基础设施,边界防御,计算环境等方式进行防御。
  2. 分层防御技术:外部和内部边界使用嵌套防火墙,配合入侵检测进行防御
  3. 支撑性基础设施:使用公钥基础设施以及检测和响应基础设施进行防御
认证框架

        认证又叫鉴别,其目的是防止其他实体占用和独立操作被鉴别实体的身份。

        鉴别的方式有:已知的(口令)、拥有的(IC卡,令牌等)、不可变特征(生物特征)、授信三方鉴别、环境(主机地址)

  • 鉴别的服务阶段分为:
    •  安装
    • 修改鉴权信息
    • 分发
    • 获取
    • 传送
    • 验证
    • 停活
    • 重新激活
    • 取消安装
访问控制框架

        当发起者请求对目标进行特殊访问时,访问控制管理设备AEF 就通知访问决策设备 ADF ,ADF 可以根据上下文信息(包括发起者的位置、访问时间或使用中的特殊通信路径)以及可能还有以前判决中保留下来的访问控制决策信息ADI 信息做出允许或禁止发起者试图对目标进行访问的判决。

机密性框架

        机密性服务目的是确保信息仅仅是对被授权者可用

机密性机制:

  • 通过禁止访问提供机密性
  • 通过加密提供机密性
完整性框架
  • 完整性服务的目的是组织威胁或探测威胁,保护数据及其相关属性的完整性。
  • 完整性服务分类有:未授权的数据创建、数据创建、数据删除、数据重放
  • 完整性机制类型分为组织媒体访问与探测非授权修改两种
抗抵赖框架
  • 抗抵赖服务的目的是提供特定事件或行为的证据。
  • 抗抵赖服务分为
    • 证据生成
    • 证据传输
    • 存储及回复
    • 证据验证
    • 解决纠纷

系统架构的脆弱性分析

MVC 架构

  • 复杂性脆弱性:如一个简单的界面,如果严格遵循MVC 方式,使得模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率
  • 视图与控制器连接紧密脆弱性:视图与控制器是相互分离但确是联系紧密的部件,如果没有控制器的存在,视图应用是有限的。反之亦然,这就妨碍了它们的独立重用
  • 视图对模型低效率访问脆弱性:依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问也将损害操作性能。

分层架构

  • 层间脆弱性:某个底层发生错误,整个程序将会无法正常运行
  • 层间通信脆弱性:在面向对象方法中,将会存在大量对象成员方法的调用(消息交互),这种层层传递,势必造成性能的下降。

CS 架构

  • 客户端脆弱性
  • 网络开放性脆弱性
  • 网络协议脆弱性

BS 架构

  • 如果使用HTTP 协议,会更容易被病毒入侵

事件驱动架构

  • 组件脆弱性
  • 组件间交换数据的脆弱性
  • 组件间逻辑关系的脆弱性
  • 事件驱动容易死循环
  • 高并发脆弱性
  • 固定流程脆弱性

微内核架构

  • 整体优化脆弱性:微内核系统的核心态只实现了最基本的系统操作,因此内核以外的外部程序之间的独立运行使得系统难以进行良好的整体优化。
  • 进程通信开销脆弱性:微内核系统的进程间通信开销也较单一内核系统要大得多
  • 通信损失脆弱性:微内核把系统分为各个小的功能块,从而降低了设计难度,系统的维护与修改也容易,但带来的问题是通信效率的损失。

微服务架构

  • 分布式结构复杂性脆弱性:开发人员需要处理分布式系统的复杂结构
  • 服务间通信脆弱性:开发人员要设计服务之间的通信机制,通过写代码来处理消息传递中速度过慢或者不可用等局部失效问题。
  • 服务管理复杂性脆弱性。在生产环境中要管理多个不同的服务实例,这意味着开发团队需要全局统筹。

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

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

相关文章

目标检测系统【环境详细配置过程】(CPU版本)

(如果你使用的是笔记本电脑,没有比较好的GPU,可以配置CPU运行环境) 链接:上百种【基于YOLOv8/v10/v11的目标检测系统】目录(pythonpyside6界面系统源码可训练的数据集也完成的训练模型) 1.安装…

leetcode热题100.编辑距离

题目 72. 编辑距离 - 力扣(LeetCode) 给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符删除一个字符替换一个字符 示例 1: 输…

Spring Web MVC快速入门:掌握Java Web开发基础

White graces:个人主页 🙉专栏推荐:Java入门知识🙉 🐹今日诗词:桃李春风一杯酒,江湖夜雨十年灯🐹 ⛳️点赞 ☀️收藏⭐️关注💬卑微小博主🙏 ⛳️点赞 ☀️收藏⭐️关注&#x1f4…

基于Arduino的红外遥控智能小车实现方法

一、简介 使用红外遥控器实现智能小车前进、后退、左转、右转、停止运动五种动作。 二、控制方法 使用红外遥控器遥控智能小车运行之前,需要使用红外线接收电路来读取红外线遥控器的按键代码,将获取的按键代码定义为控制智能小车前进、后退、左转、右…

Web Socket 使用详解

在信息爆炸的时代,用户对网页的期待早已超越了静态内容的展示。实时聊天、股票报价、协同编辑等功能的实现,都离不开服务器与客户端之间持续、高效的数据交互。传统的HTTP请求-响应模型难以满足这种需求,而WebSocket的出现,为构建…

个人健康系统|个人健康数据管理系统|基于小程序+java的个人健康数据管理系统设计与实现(源码+数据库+文档)

个人健康数据管理系统 目录 基于小程序java的个人健康数据管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师…

C语言刷题 LeetCode 删除单链表的重复节点 双指针法

题目要求 链表结构:题目中提到的是未排序的链表,链表是由一系列节点组成的,每个节点包含一个值(数据)和一个指向下一个节点的指针。去重:我们需要遍历链表,删除所有重复的节点,只保…

开源新生活,社区齐乐活:COSCon'24 社区合作和开源集市招募中,诚邀广大社区参与!...

一年一度的开源盛会,COSCon24第九届中国开源年会暨开源社10周年嘉年华,将于11月2-3日,在北京•中关村国家自主创新示范区展示中心召开!本次大会的主题是:「Open Source,Open Life | 开源新生活」&#xff0…

react antd redux 全局状态管理 解决修改菜单状态 同步刷新左侧菜单

npm i react-redux1.src新建两个文件 globalState.js 全局状态定义 store.js 全局存储定义 2.globalState.js import { createSlice } from "reduxjs/toolkit";export const globalState createSlice({name: "globalState",initialState: { data: {} },r…

Qt 学习第 天:QPainter类

一、先创建一个widget窗口 二、包含头文件 #include <QPainter> #include <QFont> 三、在widget.h中声明paintEvent函数 使用画家类在窗口中画图, 操作必须在paintEvent函数中完成 #ifndef WIDGET_H #define WIDGET_H#include <QWidget>namespace Ui { cla…

Spring Boot框架下的知识管理自动化

3系统分析 3.1可行性分析 通过对本知识管理系统实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本知识管理系统采用JAVA作为开发语言&#xff0c;Spring Boot框…

C语言题目练习3

这一篇博客也来看看和链表有关的题目~ 反转链表 反转链表&#xff1a; https://leetcode.cn/problems/reverse-linked-list/description/ 这个题目已经十分清晰了&#xff0c;那我们可以怎么做呢&#xff1f; 结合前面单链表的知识点&#xff0c;我们很容易可以想到第一个思路…

RTC -

RTC 目录 RTC 回顾 RTC 如何实现RTC制作一个时钟日历 代码编写 rtc.c完整代码 模块开发的步骤&#xff1a; 1、找文档 2、 在文档里面找通信方式&#xff0c;通信过程&#xff08;协议&#xff09; 3、代码> -- 前面学的是模块的开发&#xff0c;串口类&#xff0c;I…

决策树和集成学习的概念以及部分推导

一、决策树 1、概述 决策树是一种树形结构&#xff0c;树中每个内部节点表示一个特征上的判断&#xff0c;每个分支代表一个判断结果的输出&#xff0c;每个叶子节点代表一种分类结果 决策树的建立过程&#xff1a; 特征选择&#xff1a;选择有较强分类能力的特征决策树生成…

【论文阅读】SRCNN

学习资料 论文题目&#xff1a;Learning a Deep Convolutional Network for Image Super-Resolution&#xff08;学习深度卷积网络用于图像超分辨率&#xff09;论文地址&#xff1a;link.springer.com/content/pdf/10.1007/978-3-319-10593-2_13.pdf代码&#xff1a;作者提出的…

Java 一维数组作为函数参数

//一维数组的引用 #define SIZE 5 void input(int a[], int len); void output(int a[], int len);//函数的声明 int main(void) { int i 0; int arr[SIZE] { 86,85,85,896,45 };//同理五个数据只是偶然&#xff0c;可能会更多 //输入 input(arr, SIZE); …

目标检测系统操作说明【用户使用指南】(python+pyside6界面+系统源码+可训练的数据集+也完成的训练模型)

1.链接&#xff1a;上百种【基于YOLOv8/v10/v11的目标检测系统】目录&#xff08;pythonpyside6界面系统源码可训练的数据集也完成的训练模型&#xff09; 2.目标检测系统【环境搭建过程】&#xff08;GPU版本&#xff09; 3.目标检测系统【环境详细配置过程】&#xff08;CP…

241012-绿联UGOSPro-在仅无线WLAN网络条件下添加虚拟机网络

A. 新建NAT模式的虚拟子网 虚拟机-管理-网络管理-添加网络-如下设置 B. 虚拟机网络选择 C. 不同网络的对比 support.ugnas.com Virtio、e1000和rtl8139有什么区别&#xff0c;在创建虚拟机时&#xff0c;我应该如何选择&#xff1f; Virtio、e1000和rtl8139是三种不同的虚拟…

[论文阅读]SCOTT: Self-Consistent Chain-of-Thought Distillation

中文译名&#xff1a;SCOTT: 思维链一致性蒸馏 会议&#xff1a;Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers) 链接&#xff1a;SCOTT: Self-Consistent Chain-of-Thought Distillation - ACL Antholo…

MySQL【知识改变命运】05

1&#xff1a;where的基本用法练习&#xff08;比较运算符&#xff09; 基本操作&#xff1a;查询英语<60的同学 如果english为NULL&#xff0c;会自动过滤掉&#xff0c;NULL比较特殊 查询语⽂成绩⾼于英语成绩的同学 这个过程&#xff1a;先读取表中每行记录&#xf…