大数据设计为何要分层,行业常规设计会有几层数据

大数据设计通常采用分层结构的原因是为了提高数据管理的效率、降低系统复杂度、增强数据质量和可维护性。这种分层结构能够将数据按照不同的处理和应用需求进行分类和管理,从而更好地满足不同层次的数据处理和分析需求。行业常规设计中,数据通常按照以下几个层次进行划分:

ODS(Operational Data Store)操作型数据存储
DWD(Data Warehouse Detail)数据仓库明细层
DIM(Dimensional Data Mart)维度数据集市
DWS(Data Warehouse Summary)数据仓库汇总层
TDM(Temporary Data Mart)临时数据集市
ADS(Application Data Store)应用数据存储
TMP(Temporary Storage)临时存储层
在这里插入图片描述

1.ODS(Operational Data Store)操作型数据存储:ODS层主要用于存储原始的、经过简单处理的业务数据,通常是从各个业务系统中提取的数据,保留了数据的原始状态和结构,是数据仓库中的第一层。ODS层的数据主要用于日常业务的操作和处理。

当设计大数据架构时,操作型数据存储是整个数据处理流程中的第一步。ODS的主要目的是在保持数据的原始状态的同时,提供一个中间层,用于将来自各个业务系统的数据整合、清洗和标准化,以支持后续的数据分析、报表生成和业务应用等需求。

ODS的概念

  1. 原始数据存储:ODS作为大数据架构中的第一层,主要负责存储来自不同业务系统的原始数据。这些数据通常是实时或近实时地从业务系统中抽取而来,保留了数据的原始格式和结构。
  2. 简单处理:尽管ODS层存储了原始数据,但通常也会进行一些简单的处理,例如去除重复记录、填充缺失值、解析数据等,以保证数据的一致性和可用性。
  3. 提供数据服务:除了存储和处理数据外,ODS还可以作为数据服务的提供者,为其他系统和业务流程提供数据访问接口,使其能够实时获取到最新的业务数据。

ODS的设计思路

  1. 数据集成:ODS的设计需要考虑如何有效地集成来自不同业务系统的数据。这可能涉及到数据抽取、转换和加载(ETL)过程,以确保数据能够被正确地捕获、整合和存储。
  2. 数据质量保证:在数据进入ODS之前,需要进行一定程度的数据质量检查和修复,以确保数据的准确性、完整性和一致性。这包括检测并处理重复数据、缺失值、错误格式等问题。
  3. 数据标准化:为了支持后续的数据分析和应用,ODS中的数据通常需要进行标准化,以确保不同来源的数据能够在语义上一致。这可能涉及到数据格式的统一、命名规范的制定等方面。
  4. 实时性需求:根据业务需求,ODS可能需要实现实时数据处理和更新,以确保业务系统能够及时获取到最新的数据。因此,需要考虑如何实现高效的数据抽取和加载机制,以及实时处理的技术方案。
  5. 扩展性和性能:随着业务的发展和数据量的增长,ODS需要具备良好的扩展性和性能,以应对不断增长的数据存储和处理需求。因此,在设计ODS时需要考虑到数据分区、索引优化、集群部署等方面。
  6. 安全性:由于ODS层存储了原始的业务数据,因此需要采取必要的安全措施,保护数据的机密性和完整性,防止数据泄露和不当使用。
  7. 数据访问接口:ODS需要提供适当的数据访问接口,以便其他系统和应用程序能够方便地访问和使用其中的数据。这可能包括API接口、数据库连接等方式。

DWD(Data Warehouse Detail)数据仓库明细层
DWD层用于存储经过清洗、转换、集成等处理后的详细数据,通常包括事实表和维度表,是数据仓库中的核心层。DWD层的数据通常被用于复杂的数据分析、报表生成等任务。

DWD的概念

  1. 数据清洗与转换:DWD层接收来自ODS层的数据,并对其进行清洗和转换。这包括去除错误、重复、不完整或不一致的数据,以及将数据转换成适合分析和报表生成的格式。

  2. 数据集成与统一:DWD层负责将来自不同业务系统的数据进行集成和统一,以确保数据在整个数据仓库中的一致性和可比性。这可能涉及到数据合并、标准化、规范化等操作。

  3. 建模与标记:在DWD层中,数据通常会按照维度建模的方式进行组织和标记。这包括将数据划分为事实表(包含业务事实数据)和维度表(包含描述性维度数据),以支持多维分析。

  4. 历史数据管理:DWD层也负责管理历史数据,包括记录数据的变化历史、跟踪数据的版本信息等,以支持时间序列分析和趋势分析。

  5. 数据质量保证:在DWD层,还需要实施一系列数据质量控制措施,以确保数据的准确性、完整性和一致性。这可能包括数据验证、异常检测、数据修复等操作。

DWD的设计思路

  1. 业务需求分析:在设计DWD层时,首先需要深入了解业务需求,明确需要分析的业务指标和报表需求,以便确定数据模型和转换规则。
  2. 数据建模:基于业务需求,设计合适的数据模型,包括事实表和维度表的定义,以及它们之间的关联关系。这需要考虑业务过程、数据粒度、数据关系等因素。
  3. 数据清洗与转换:实施数据清洗和转换操作,包括去重、填充缺失值、数据格式转换、计算衍生指标等,以保证数据的质量和一致性。
  4. 数据集成与统一:将来自不同来源的数据进行集成和统一,确保数据的一致性和可比性。这可能涉及到数据合并、标准化、规范化等操作。
  5. 数据质量管理:实施数据质量管理措施,包括数据验证、异常检测、数据修复等操作,以确保数据的准确性和完整性。
  6. 性能优化:针对DWD层的性能优化,可以采取一系列措施,包括数据分区、索引优化、查询优化等,以提高数据处理和查询的效率。
  7. 历史数据管理:对于需要保留历史数据的业务需求,需要设计合适的历史数据管理策略,包括数据的版本控制、变化跟踪等操作。
  8. 安全性管理:在设计DWD层时,也需要考虑数据的安全性管理,包括数据权限控制、数据加密、访问审计等方面。

DIM(Dimensional Data Mart)维度数据集市
DIM层是在DWD层基础上构建的,用于存储维度化的数据,通常包括各种维度表。维度数据集市主要用于支持多维分析、OLAP(联机分析处理)等业务需求。

DIM的概念:

  1. 维度化数据存储:维度数据集市主要用于存储与业务相关的维度数据,例如时间、地域、产品、客户等。这些维度数据通常是具有层级结构的,并且对于分析和报表生成非常重要。
  2. 支持多维分析:维度数据集市是支持多维分析(OLAP)的关键组成部分。通过将事实数据与各种维度数据关联起来,可以进行复杂的多维度分析,发现数据间的关联和趋势。
  3. 提供一致的维度视图:维度数据集市提供了一致的维度视图,以便不同部门和用户可以使用相同的维度定义和标准化的数据。这有助于确保数据分析的一致性和可比性。
  4. 支持业务智能应用:维度数据集市是许多业务智能应用的基础,包括报表、仪表盘、数据挖掘等。通过将维度数据与事实数据关联起来,可以为用户提供丰富的分析和可视化功能。

DIM的设计思路:

  1. 确定维度:首先需要确定需要存储的维度数据。这可能涉及到与业务部门的沟通,了解业务需求和关键维度,例如时间、地域、产品、客户等。
  2. 设计维度模型:基于确定的维度,设计相应的维度模型。维度模型通常由维度表和事实表组成,其中维度表包含维度数据,而事实表包含度量数据。
  3. 建立维度表:根据维度模型设计维度表,包括定义维度的属性、层级关系等。维度表的设计需要考虑到数据的完整性、一致性和易用性。
  4. 填充维度数据:将维度数据填充到维度表中。这可能涉及到从不同数据源中抽取、转换和加载维度数据的过程,确保数据的准确性和完整性。
  5. 维护维度数据:维度数据可能会随着时间的推移而发生变化,因此需要建立相应的维度数据维护机制,包括更新、插入、删除等操作,以保持数据的最新和一致。
  6. 建立维度关系:将维度表与事实表进行关联,建立维度关系。这有助于进行多维分析,发现数据间的关联和趋势。
  7. 性能优化:为了提高维度数据集市的查询性能,可以采取一系列性能优化措施,包括索引优化、分区管理、数据压缩等。
  8. 安全性管理:在设计维度数据集市时,也需要考虑数据的安全性管理,包括数据权限控制、数据加密、访问审计等方面。

DWS(Data Warehouse Summary)数据仓库汇总层
DWS层用于存储经过聚合、汇总等处理后的数据,通常包括汇总后的事实表。DWS层的数据通常被用于生成汇总报表、支持决策分析等任务。

DWS的概念:

  1. 数据聚合与汇总:DWS层主要用于存储经过聚合、汇总等处理后的数据,以提供高层次的数据视图和分析能力。这些汇总数据通常是从DWD层中的详细数据中计算而来,可以是按时间、地域、产品等维度进行汇总的。
  2. 提供决策支持:DWS层为决策者和管理人员提供了更高层次的数据视图,帮助他们更好地理解业务趋势、做出决策。通过预先计算和汇总数据,可以加速查询和分析过程,提高决策效率。
  3. 支持报表和仪表盘:DWS层提供了汇总的数据视图,可以用于生成各种报表、仪表盘和可视化图表,为用户提供直观的数据分析和监控能力。
  4. 优化查询性能:通过事先计算和汇总数据,可以减少查询时的计算量,提高查询性能。这对于大规模数据和复杂查询场景尤为重要。
  5. 支持复杂分析需求:DWS层提供了高层次的数据聚合和汇总,支持复杂的数据分析需求,包括趋势分析、比较分析、排名分析等。

DWS的设计思路:

  1. 确定汇总需求:首先需要明确业务需求,确定需要汇总的指标和维度。这可能涉及与业务部门的沟通,了解他们的分析和决策需求。
  2. 设计汇总模型:基于确定的汇总需求,设计相应的汇总模型。这包括定义需要汇总的指标、选择适当的汇总级别和维度等。
  3. 选择汇总方法:根据汇总模型选择合适的汇总方法,包括求和、计数、平均值等。同时,还需要考虑如何处理不同维度之间的关系,以及如何处理空值和异常值。
  4. 建立汇总表:根据汇总模型设计汇总表,包括定义表结构、选择合适的数据类型、确定索引等。这有助于提高查询性能和数据的访问效率。
  5. 填充汇总数据:将从DWD层中抽取的详细数据进行汇总,并填充到汇总表中。这可能涉及到定期的数据抽取、转换和加载过程,确保汇总数据的准确性和完整性。
  6. 维护汇总数据:汇总数据可能随着时间的推移而发生变化,因此需要建立相应的数据维护机制,包括更新、插入、删除等操作,以保持数据的最新和一致。
  7. 性能优化:为了提高汇总数据集市的查询性能,可以采取一系列性能优化措施,包括索引优化、分区管理、数据压缩等。
  8. 安全性管理:在设计DWS层时,也需要考虑数据的安全性管理,包括数据权限控制、数据加密、访问审计等方面。

TDM(Temporary Data Mart)临时数据集市
TDM层是临时性的数据存储层,用于存储临时性的数据,通常是一些中间计算结果或者临时性的数据文件。

TDM的概念:

  1. 临时数据存储:TDM层主要用于存储在数据处理过程中产生的临时数据,例如中间计算结果、临时数据文件等。这些数据通常是在数据清洗、转换、计算等阶段产生的,是数据处理过程中的中间产物。
  2. 支持数据流程:TDM层为数据处理流程提供了临时的数据存储功能,帮助管理数据处理过程中的中间结果。这有助于确保数据处理流程的连续性和可靠性。
  3. 减少重复计算:通过将中间计算结果存储在临时数据集市中,可以避免重复计算相同的数据,提高数据处理效率。
  4. 支持数据调试和分析:TDM层存储了数据处理过程中的中间结果,可以帮助开发人员进行数据调试和分析,发现数据处理中的问题和异常。

TDM的设计思路:

  1. 确定临时数据需求:首先需要明确数据处理流程中产生的临时数据的类型和需求。这可能涉及到与数据工程师、分析师等相关人员的沟通,了解数据处理流程和中间数据的特点。
  2. 设计临时数据模型:根据确定的临时数据需求,设计相应的临时数据模型。这包括定义临时数据的结构、格式、存储方式等。
  3. 选择存储技术:根据临时数据的特点和需求,选择合适的存储技术。这可能涉及到文件系统、数据库、内存数据库等不同的存储方式。
  4. 建立临时数据存储:根据设计的临时数据模型和选择的存储技术建立临时数据存储。这可能涉及到建立临时数据表、设置存储参数、优化存储性能等操作。
  5. 填充临时数据:将数据处理过程中产生的临时数据填充到临时数据存储中。这通常是在数据处理流程的中间阶段完成的,确保中间数据的可用性和一致性。
  6. 数据清理和维护:定期清理和维护临时数据存储,删除不再需要的临时数据,释放存储空间,确保系统的稳定性和性能。
  7. 安全性管理:在设计TDM层时,也需要考虑数据的安全性管理,包括数据权限控制、数据加密、访问审计等方面。

ADS(Application Data Store)应用数据存储
ADS层用于存储与特定应用程序相关的数据,通常包括应用程序的配置信息、日志数据等。

ADS的概念

  1. 与应用程序相关的数据存储:ADS层主要用于存储与特定应用程序相关的数据,例如应用程序的配置信息、用户会话数据、日志数据等。
  2. 提供给应用程序访问的数据接口:ADS提供了数据访问接口,供应用程序读写数据。这样,应用程序可以将数据存储在ADS中,或者从ADS中检索数据。
  3. 与业务逻辑紧密相关:ADS中存储的数据通常与应用程序的业务逻辑密切相关。这些数据可能包括用户信息、商品信息、订单信息等,用于支持应用程序的正常运行和业务功能实现。

ADS的设计思路

  1. 确定存储需求:首先需要明确应用程序的存储需求,确定需要存储哪些类型的数据。这可能涉及到与应用程序开发团队的沟通,了解应用程序的功能和数据存储需求。
  2. 设计数据模型:根据确定的存储需求,设计相应的数据模型。这包括定义存储的数据结构、字段、关系等。
  3. 选择存储技术:根据数据模型和性能要求选择合适的存储技术。这可能涉及到关系型数据库、NoSQL数据库、内存数据库等不同的存储方式。
  4. 建立数据存储:根据设计的数据模型和选择的存储技术建立数据存储。这可能涉及到创建数据库表、设置索引、优化性能等操作。
  5. 数据填充和初始化:在应用程序启动或初始化阶段,将必要的数据填充到数据存储中。这可能包括初始化配置信息、创建用户账户、加载基础数据等。
  6. 数据访问接口设计:设计数据访问接口,供应用程序读写数据。这可能涉及到API接口设计、数据库连接配置等。
  7. 安全性管理:在设计ADS层时,也需要考虑数据的安全性管理,包括数据权限控制、数据加密、访问审计等方面。
  8. 性能优化:为了提高ADS层的性能,可以采取一系列性能优化措施,包括索引优化、缓存机制、数据分区等。

TMP(Temporary Storage)临时存储层
TMP层用于存储临时性的数据,通常是一些处理过程中的临时文件或者缓存数据。

TMP的概念:

  1. 临时性存储:TMP层主要用于临时存储在数据处理过程中产生的数据,例如中间计算结果、临时文件、缓存数据等。这些数据通常是在数据处理过程中需要暂时存储或传递的,而不是长期存储的。
  2. 支持数据处理流程:TMP层为数据处理流程提供了临时的数据存储功能,帮助管理数据处理过程中的中间结果。这有助于确保数据处理流程的连续性和可靠性。
  3. 临时性数据传递:TMP层也可以用于临时性数据传递,例如在不同数据处理任务之间传递数据,或者在不同节点之间传递数据。这有助于提高数据处理的效率和灵活性。

TMP的设计思路

  1. 确定临时存储需求:首先需要明确数据处理过程中产生的临时数据的类型和需求。这可能涉及到与数据工程师、分析师等相关人员的沟通,了解数据处理流程和中间数据的特点。
  2. 选择临时存储技术:根据临时存储需求选择合适的临时存储技术。这可能涉及到文件系统、数据库、内存数据库等不同的存储方式。
  3. 建立临时存储空间:根据选择的临时存储技术建立临时存储空间。这可能涉及到创建临时文件夹、设置存储参数、优化存储性能等操作。
  4. 填充临时数据:将数据处理过程中产生的临时数据填充到临时存储空间中。这通常是在数据处理流程的中间阶段完成的,确保中间数据的可用性和一致性。
  5. 临时数据传递:如果需要在不同数据处理任务之间传递数据,或者在不同节点之间传递数据,可以利用临时存储空间进行临时性数据传递。
  6. 数据清理和维护:定期清理和维护临时存储空间,删除不再需要的临时数据,释放存储空间,确保系统的稳定性和性能。
  7. 安全性管理:在设计TMP层时,也需要考虑数据的安全性管理,包括数据权限控制、数据加密、访问审计等方面。

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

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

相关文章

暴力破解pdf文档密码

首先安装pdfcrack工具包 apt install pdfcrack 默认密码字典存储在/usr/share/wordlists里,是gz文件,将它解压并copy到pdf目录 然后使用pdfcrack破解 密码在最后一行user-password的单引号里

Python面对对象 - 类的反射机制

Python面对对象类的反射机制是面向对象编程语言中比较重要的功能,可以动态获取对象信息以及动态调用对象。通过字符串形式的类名或属性来访问对应类或属性。 一、对象的反射 1. getattr 获取指定字符串名称的对象属性、方法: 当访问的属性不存在时&#…

【四】【单片机】蜂鸣器,蜂鸣器模块化编程 1000HZ 鸣响 ms 毫秒,利用定时器让蜂鸣器以特定频率响 ms 毫秒

蜂鸣器模块化编程 1000HZ 鸣响 ms 毫秒 //Buzzer.h #ifndef __BUZZER_H__ #define __BUZZER_H__void Buzzer_Time(unsigned int ms);#endifBuzzer.h文件中只含有一个Buzzer_Time函数&#xff0c;这个函数用来让蜂鸣器以1000HZ固定频率发声ms毫秒。 //Buzzer.c #include <REG…

Python学习(二)

数据容器 数据容器根据特点的不同&#xff0c;如&#xff1a; 是否支持重复元素是否可以修改是否有序&#xff0c;等 分为5类&#xff0c;分别是&#xff1a; 列表&#xff08;list&#xff09;、元组&#xff08;tuple&#xff09;、字符串&#xff08;str&#xff09;、集…

09_Web组件

文章目录 Web组件Listener监听器ServletContextListener执行过程 Filter过滤器Filter与Servlet的执行 案例&#xff08;登录案例&#xff09; 小结Web组件 Web组件 JavaEE的Web组件&#xff08;三大Web组件&#xff09;&#xff1a; Servlet → 处理请求对应的业务Listener →…

Linux利用Jenkins部署SpringBoot项目保姆级教程

在当今快速发展的软件开发领域&#xff0c;持续集成和持续部署&#xff08;CI/CD&#xff09;已经成为提升开发效率、缩短产品上市时间的关键实践。Linux系统以其稳定性和开源友好性&#xff0c;成为众多开发者和企业的首选平台。而Spring Boot&#xff0c;作为一个轻量级的Jav…

飞天使-k8s知识点28-kubernetes散装知识点5-helm安装ingress

文章目录 安装helm添加仓库下载包配置创建命名空间安装 安装helm https://get.helm.sh/helm-v3.2.3-linux-amd64.tar.gztar -xf helm-v3.2.3-linux-amd64.tar.gzcd linux-amd64mv helm /usr/local/bin修改/etc/profile 文件&#xff0c;修改里面内容,然后重新启用export PATH$P…

深入理解 Hadoop 上的 Hive 查询执行流程

在 Hadoop 生态系统中&#xff0c;Hive 是一个重要的分支&#xff0c;它构建在 Hadoop 之上&#xff0c;提供了一个开源的数据仓库系统。它的主要功能是查询和分析存储在 Hadoop 文件中的大型数据集&#xff0c;包括结构化和半结构化数据。Hive 在数据查询、分析和汇总方面发挥…

如何使用 Python 本地客户端操作读写云服务器 Redis 缓存数据库详细教程(更新中)

Redis 基本概述 Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的使用 ANSI C 语言编写的、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库&#xff0c;并提供多种语言的 API。它通常被称为数据结构服务器&#xff0c;因为值&#xff08;value…

本地虚拟机服务器修改站点根目录并使用域名访问的简单示例

说明&#xff1a;本文提及效果是使用vmware虚拟机&#xff0c;镜像文件是Rocky8.6 一、配置文件路径 1. /etc/httpd/conf/httpd.conf #主配置文件 2. /etc/httpd/conf.d/*.conf #调用配置文件 调用配置文件的使用&#xff1a; vim /etc/httpd/conf.d/webpage.conf 因为在主配…

5个免费的3D钣金CAD软件

如果你正在设计简单的折叠钣金零件&#xff0c;则只需设计一些具有圆角半径的法兰&#xff1a;一个简单的钣金模块。 首先&#xff0c;你可以采用老式方式绘图并以 2D 方式完成所有操作。 许多传统制造商仍在使用 2D DWG 和 DXF 图纸。 因此&#xff0c;你很有可能只需快速起草…

【MySQL】DQL-聚合函数介绍&常见聚合函数&语法&注意事项&可cv例题语句

前言 大家好吖&#xff0c;欢迎来到 YY 滴MySQL系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C Linux的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的…

java Web 疫苗预约管理系统用eclipse定制开发mysql数据库BS模式java编程jdbc

一、源码特点 JSP 疫苗预约管理系统是一套完善的web设计系统&#xff0c;对理解JSP java 编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,eclipse开发&#xff0c;数据库为Mysql5.0&#xff0c;使…

使用1panel部署Ollama WebUI(dcoekr版)浅谈

文章目录 说明配置镜像加速Ollama WebUI容器部署Ollama WebUI使用问题解决&#xff1a;访问页面空白 说明 1Panel简化了docker的部署&#xff0c;提供了可视化的操作&#xff0c;但是我在尝试创建Ollama WebUI容器时&#xff0c;遇到了从github拉取镜像网速很慢的问题&#xf…

公司官网怎么才会被百度收录

在互联网时代&#xff0c;公司官网是企业展示自身形象、产品与服务的重要窗口。然而&#xff0c;即使拥有精美的官网&#xff0c;如果不被搜索引擎收录&#xff0c;就无法被用户发现。本文将介绍公司官网如何被百度收录的一些方法和步骤。 1. 创建和提交网站地图 创建网站地图…

Matlab|孤岛划分|弹性配网故障划分模型

目录 1 主要内容 1.1 DistFlow 模型 1.2 虚拟潮流 1.3 目标函数 2 部分代码 3 程序结果 4 下载链接 1 主要内容 程序主要复现《A New Model for Resilient Distribution Systems by Microgrids Formation》&#xff0c;建立灾害情况下配网优化孤岛划分方案&#xff0c;通…

【Linux】POSIX信号量{基于环形队列的PC模型/理解信号量的出现/参考代码}

文章目录 1.POSIX信号量1.1介绍1.2接口 2.基于环形队列的PC模型2.1环形队列常用计算2.2如何设计&#xff1f;2.3如何实现&#xff1f; 3.细节处理3.1空间资源和数据资源3.2push/pop3.3理解信号量的出现1.回顾基于阻塞队列的PC模型中条件变量的使用2.如何理解信号量的投入使用&a…

P8681 [蓝桥杯 2019 省 AB] 完全二叉树的权值

题目描述 给定一棵包含 &#xfffd;N 个节点的完全二叉树&#xff0c;树上每个节点都有一个权值&#xff0c;按从上到下、从左到右的顺序依次是 &#xfffd;1,&#xfffd;2,⋯&#xfffd;&#xfffd;A1​,A2​,⋯AN​&#xff0c;如下图所示&#xff1a; 现在小明要把相同…

9.动态规划——1.从递归到动态规划

例题——N阶楼梯上楼问题 分析 大事化小&#xff1a;爬N层有F(N)种可能&#xff0c;有 F ( N ) F ( N − 1 ) F ( N − 2 ) F(N)F(N-1)F(N-2) F(N)F(N−1)F(N−2)小事化了&#xff1a; F ( 1 ) 1 &#xff0c; F ( 2 ) 2 F(1)1&#xff0c;F(2)2 F(1)1&#xff0c;F(2)2 …

IDE/VS2015和VS2017帮助文档MSDN安装和使用

文章目录 概述VS2015MSDN离线安装离线MSDN的下载离线MSDN安装 MSDN使用方法从VS内F1启动直接启动帮助程序跳转到了Qt的帮助网页 VS2017在线安装MSDN有些函数在本地MSDN没有帮助&#xff1f;切换中英文在线帮助文档 概述 本文主要介绍了VS集成开发环境中&#xff0c;帮助文档MS…