当前位置: 首页 > news >正文

【云计算】云数据中心网络(一):VPC

云数据中心网络(一):VPC

  • 1.什么是 VPC
  • 2.VPC 的组成
    • 2.1 虚拟交换机
    • 2.2 虚拟路由器
  • 3.VPC 网络规划
    • 3.1 VPC 数量规划
    • 3.2 交换机数量规划
    • 3.3 地址空间规划
    • 3.4 不同规模企业地址空间规划实践
  • 4.VPC 网络高可靠设计
    • 4.1 单地域单可用区部署
    • 4.2 单地域多可用区部署
    • 4.3 多地域多可用区部署
  • 5.VPC 网络安全设计
    • 5.1 网络 ACL
    • 5.2 安全组
    • 5.3 流量加密
    • 5.4 流量镜像
  • 6.VPC 的运维管理
    • 6.1 共享 VPC
    • 6.2 流日志

在这里插入图片描述

推荐阅读:《虚拟私有云 VPC》

1.什么是 VPC

VPC 是用户在云上可自己掌控的 私有网络环境,例如 选择 IP 地址范围配置路由表和网关构建混合云 等。用户还可以在自己定义的 VPC 中使用如 云服务器云数据库负载均衡 等产品。

VPC 初期主要解决两个核心问题:一是 多租户网络隔离问题,二是随之带来的 用户从 VPC 内访问众多云服务的问题。随着越来越多的企业用户上云,企业级网络的需求越来越多,VPC 要解决的问题也包括 帮助企业更平滑地上云,让企业在线下 IDC(Internet Data Center,互联网数据中心)里的网络架构、运维管理体系能平滑地迁移到云上。

VPC 的核心是 为每个租户都提供一个类似于线下 IDC 那样的完全隔离的、可自定义的网络环境。在 VPC 中,有和线下 IDC 对应的 虚拟路由器虚拟交换机虚拟防火墙。这些虚拟路由器、虚拟交换机、虚拟防火墙对于大多数场景是免费的,用户还可以自定义各种配置,如下图所示。
在这里插入图片描述

2.VPC 的组成

云网络颠覆了传统数据中心的组网方式。VPC 让用户感知不到线下数据中心各种复杂的物理网络设备和物理连线。用户在 VPC 中看到的是 虚拟交换机虚拟路由器

2.1 虚拟交换机

在一个 VPC 内部一般有多个不同的子网。一个虚拟交换机(vSwitch)对应一个子网。每个子网都可以对应不同的功能、业务,或业务部门,如下图所示。
在这里插入图片描述
网络是为上层应用和业务服务的,对应于不同的应用和业务架构有不同的子网。对于中大型企业,每个业务部门都有不同的业务和应用,子网划分会变得更加复杂,原则如下。

  • 不同功能区划分不同子网。最直观的例子就是把网络划分为公有子网和私有子网。公有子网对应线下 IDC 的 DMZ 区,和互联网直接交互。私有子网对应线下 IDC 的应用服务器区,不直接和互联网交互,而是和 DMZ 的前置机交互。
  • 不同应用划分不同子网。如果企业内部有多个不同的部门,或者有多个相对独立的不同应用,那么可以把不同部门或不同应用划分到对应的子网,对不同子网内的资源进行相对独立的管理,还可以在子网边界上通过网络 ACL 设置相应的安全策略和访问控制。

2.2 虚拟路由器

虚拟路由器(vRouter)是 VPC 的枢纽。作为 VPC 中重要的功能组件,它可以连接 VPC 内的各个交换机,同时是连接 VPC 和其他网络的网关设备。每个 VPC 创建成功后,系统都会自动创建一个路由器,每个路由器都关联一张路由表。在云网络中,大部分路由都是默认添加好了的,如果用户没有特殊需求,不需要额外配置,但用户在自定义网关和代理、混合云、多 VPC 互联等场景下需要在虚拟路由器上自定义路由的配置。

  • 主路由表:每个 VPC 都只有一个主路由表。主路由表里有 VPC 网段的本地路由,还有云服务的系统路由。用户在主路由表里可以配置自定义路由,自定义路由的下一跳为 ECS 实例、弹性网卡、VPC Peering、虚拟边界路由器等。
  • 子网路由表:主路由表是 VPC 粒度 的,子网路由是 子网 / 交换机粒度 的。如果交换机关联了子网路由,那么会优先查子网路由表里的路由。通过子网路由,用户的网络将具备一些高级的功能,如在 VPC 中部署集中式防火墙,或者后端应用子网只关联私网路由表,前端 DMZ 子网关联公网路由表。

3.VPC 网络规划

对一个网络来讲,网络规划是最基础的,也是第一步。对于云上网络规划,我们要考虑的常见问题包括:

  • 需要使用多少个 VPC;
  • 需要使用多少个交换机;
  • 选择什么地址段;
  • 每个地址段规划多大;
  • 未来业务会如何发展;
  • 云上 VPC 和云下 IDC 构建混合云,怎么规划地址空间;
  • 如何避免地址冲突。

在创建 VPC 和交换机前,需要结合业务的具体情况来规划 VPC 和交换机的数量及网段等。

3.1 VPC 数量规划

如果用户没有多地域部署系统的要求,各系统之间也不需要通过 VPC 隔离,那么可以考虑使用一个 VPC。反之,如果用户有在多地域部署系统的需求,或者在一个地域的不同业务系统间需要隔离,则需要使用多个 VPC。例如,生产环境和测试环境的隔离,如下图所示。
在这里插入图片描述
另外,集团企业不同于子公司的业务系统往往也要求进行业务隔离,此时,可以考虑为每个子公司配置一个 VPC,但对有通信需求的子公司 VPC,可以加入云企业网,通过路由等策略进行进一步的通信控制。

3.2 交换机数量规划

即使只使用一个 VPC,也尽量使用至少两个交换机,并且将两个交换机布置在不同可用区,这样可以实现跨可用区容灾。

同一地域不同可用区之间的网络通信时延很小,但也需要经过业务系统的适配和验证。系统调用复杂、应用层处理时间长、跨可用区多次调用等原因,可能产生期望之外的网络时延,需要进行系统优化和适配,在高可用和低时延之间找到平衡。

使用多少个交换机还和系统规模、系统规划有关。如果前端系统可以被公网访问并且有主动访问公网的需求,考虑到容灾的需要,可以将不同的前端系统部署在不同的交换机下,将后端系统部署在另外的交换机下。

3.3 地址空间规划

对于 VPC 网段的选择,用户可以使用 192.168.0.0/16172.16.0.0/1210.0.0.0/8 这三个私网网段及其子网作为 VPC 的私网地址范围。在规划 VPC 网段时,请注意:

  • 如果云上只有一个 VPC 并且不需要和云下数据中心互通,那么可以选择上述私网网段中的任何一个网段或其子网。
  • 如果有多个 VPC,或者有 VPC 和云下数据中心构建混合云的需求,那么建议使用上面这些标准网段的子网作为 VPC 的网段,掩码建议不超过 16 位。

对于交换机网段的选择,首先,交换机的网段必须是其所属 VPC 网段的子集。例如,VPC 的网段是 192.168.0.0/16,那么该 VPC 下的交换机的网段可以是 192.168.0.0/17,一直到 192.168.0.0/29。其次,在规划交换机网段时,请注意:

  • 交换机的网段大小在 16 16 16 位网络掩码与 29 29 29 位网络掩码之间,可提供 8 − 65536 8 - 65536 865536 个地址。 16 16 16 位掩码能支持 65532 65532 65532 个 ECS 实例,对于绝大多数用户来说都是够用的。而对于小于 29 29 29 位掩码的,容纳的实例数量太少,没有意义。
  • 每个交换机的第一个和最后三个 IP 地址为系统保留地址。以 192.168.1.0/24 为例,192.168.1.0192.168.1.253192.168.1.254192.168.1.255 是系统保留地址。

对于多 VPC 互通或者构建混合云的场景,确保 VPC 的网段和要互通的网络的网段都不冲突,建议遵循以下网段规划原则:

  • 尽可能做到不同 VPC 的网段不同,不同 VPC 可以使用标准网段的子网来增加 VPC 可用的网段数。
  • 如果不能做到不同 VPC 的网段不同,则尽量保证不同 VPC 的交换机网段不同。
  • 如果也不能做到交换机网段不同,则保证要通信的交换机网段不同。

有的云服务商提供了私网 NAT 产品来解决地址冲突又需要通信的问题,我们建议在规划时就避免这个问题。

地址空间规划中一个需要重点考虑的问题是 VPC 或者交换机能容纳的实例数量,也就是业务规模。对于大部分用户来说,这可能不是问题,但对于部分企业级大用户,尤其是采用云原生技术架构的用户来说,单 VPC 可能需要容纳几万,甚至更多的实例。

3.4 不同规模企业地址空间规划实践

拥有 50 台左右服务器的中小企业,没有多地域部署和混合云需求,在大部分情况下,一个 VPC 就够用了,选择系统默认的 10.0.0.0/8172.16.0.0/12192.168.0.0/16 三个网络地址段之一即可。它们都是 RFC1918 定义的私网地址段,网络地址掩码不同,每个网段容纳的主机数量也不同。但不管哪个地址段,对于中小企业来说都是够用的。所以,根据历史习惯,选择对应的网段即可。

对于交换机,默认建议至少使用两台交换机,并且这两台交换机分布在不同可用区。当然,分布在不同可用区,时延可能会稍微增加,用户可以根据自己的业务系统对时延的要求做出选择。

中大型企业,出于高可用和提升用户体验的目的,往往在不同地域部署业务系统,这些业务系统有内网通信需求。为了做到跨可用区容灾,每个地域还需要把业务系统部署在多个可用区。此外,还涉及和线下 IDC 互通、生产和测试系统严格隔离等需求。此时,VPC 的地址空间规划就会稍微复杂一些。整体原则是保持可扩展性,避免地址冲突。

多地域部署业务系统,必然需要使用多个 VPC,而默认的 VPC 地址段有三个,为了避免地址冲突,除上述提到的用不同网段的地址空间外,还可以把一个类型的网段的网络掩码变长一些。比如 10.0.0.0/8 的地址空间可以被拆成 10.1.0.0/1610.2.0.0/16 …… 10.255.0.0/16,共 256 个子地址空间。我们可以把 VPC 的地址空间规划成 /16 掩码的,这样每个 VPC 的地址空间都是独立和互不冲突的。同时,需要保证线下 IDC 的地址空间不发生冲突。对于生产环境和测试环境的严格隔离,只需要把生产系统和测试系统分别部署到不同 VPC 即可,但考虑到未来可能的通信需求,也建议在规划时考虑地址冲突问题。因为需要跨可用区容灾,所以在每个 VPC 内至少要使用两台交换机。

为了满足多地域和混合云内网通信需求,必然要使用 云企业网。和 VPC 是地域级别的网络不同,云企业网是一个 全球网络,绝大多数用户使用一个云企业网即可。云企业网提供了强大的路由控制能力以实现云企业网内不同的实例之间精细的访问控制。

4.VPC 网络高可靠设计

网络设计中十分关键的一环就是高可靠设计。网络可靠性涉及网络部署、网络链路等层面。从 VPC 角度看,主要是业务部署的可靠性。多可用区多地域 的网络部署可以让网络的可靠性级别呈数量级的提升。业务部署主要从 单地域单可用区单地域多可用区多地域多可用区 这三层次来考虑可靠性。

4.1 单地域单可用区部署

单地域单可用区部署指只在某一个地域的某一个可用区部署业务系统,这样的业务部署可以获得最低的网络时延,但如果业务部署所在的可用区出现故障(概率低),或者某个可用区的业务系统本身出现故障,那么整个业务系统将不可用。从可靠性角度来说,这是不推荐的业务部署方式。

4.2 单地域多可用区部署

单地域多可用区部署指在某一个地域的多个可用区部署业务系统。即使用一个 VPC,且 VPC 内至少使用两台分布在不同可用区的交换机,如下图所示。在业务系统支持的情况下,单地域多可用区部署业务系统可以避免单个可用区故障导致的系统不可用。单地域部署不能避免的是整个地域不可用导致的系统不可用,当然发生这种情况的概率极低。将子网分布在不同可用区,在不同可用区同时部署业务,可以支持 同城双活同城多可用区 高可靠解决方案的构建,云网络是天然支持这种部署方式的。

需要注意的是,阿里云的子网只能归属到一个可用区。构建同城双活、同城多可用区高可靠方案,需创建多个对应的子网。
在这里插入图片描述

4.3 多地域多可用区部署

多地域多可用区部署指在多个地域,且在每个地域的多个可用区部署业务系统。这是最可靠的业务部署方式。对于一些大企业用户,单地域多可用区的高可靠方案,仍然无法满足其高可靠需求,此时需要使用多地域多可用区的高可靠方案,如银行的 两地三中心 方案。这种多地域业务部署的网络互联方案可以通过云网络产品构建。云企业网可以把多个地域的不同 VPC 连接起来,让用户方便地部署多地域多可用区的网络架构,如下图所示。
在这里插入图片描述

5.VPC 网络安全设计

网络安全是关键一环,涉及面非常广,包括租户安全隔离、通信安全、安全防护等。这里仅从 VPC 角度出发介绍相关的网络安全设计,包括网络层面的访问控制、网络流量的加解密,以及为了实现更高级别的应用层安全所需要的流量镜像等。

5.1 网络 ACL

网络 ACLNetwork Access Control List)是 VPC 中的网络访问控制功能。用户可以自定义设置网络 ACL 规则,并将网络 ACL 与交换机绑定,实现对交换机中云服务器 ECS 实例的流量访问控制。

子网间网络访问控制策略:网络安全设计中很重要的一点是划分网络安全边界。在把不同业务或不同部门划分到 VPC 的不同子网后,可以通过网络 ACL,在不同的子网边界部署安全访问控制策略,以实现网络的安全访问控制。

网络 ACL 的规则是无状态的,在设置入方向规则的允许请求后,需要同时设置相应的出方向规则,否则可能导致请求无法响应。

VPC 边界的网络访问控制策略:VPC 存在和外部网络互联的边界,将网络 ACL 应用到对应的子网 / 交换机可以实现对互联网流量的网络访问控制,如下图所示。
在这里插入图片描述
比较典型的应用场景包括:

  • 黑白名单:明确拒绝或接受一些公网 IP 地址的流量。
  • 主动安全防护:仅放行一些特定协议和端口的流量到后端。

5.2 安全组

网络 ACL 是对应 子网粒度 的访问控制策略,而对应 主机粒度 的访问控制策略,是 安全组

安全组是一种虚拟防火墙,具备状态检测和数据包过滤的功能,用于在云端划分安全域。通过配置安全组规则,可以控制安全组内 ECS 实例的入流量和出流量。

安全组是有状态的。例如,在会话期内,如果连接的数据包在入方向是被允许的,则在出方向也是被允许的。

5.3 流量加密

VPN 产品访问云上的数据通过 IPSec 和 SSL VPN 方式进行加密,负载均衡产品访问云上的数据通过 HTTPS 方式进行加密。一些对安全性要求较高的行业,对于 VPC 内私网数据也有加密的需求。

5.4 流量镜像

在一些场景下,用户需要对流量做深层次的分析,例如详细的流量内容审计或者深入的安全趋势分析就用到了流量镜像。

流量镜像将用户想要分析的流量镜像发送到一个目的地址,此时发送的流量包含报文头和流量负载内容,如下图所示。
在这里插入图片描述

6.VPC 的运维管理

企业级云网络对运维和管理的要求较高,包括分权分域维护、流日志管理等。

6.1 共享 VPC

中大型企业用户的 IT 架构一般比较复杂,对网络的运维能力要求也比较高,很多大企业的网络运维团队和业务运维团队是分开的,对资源的分权分域要求也比较高,因此,阿里云推出了共享 VPC(Shared VPC)功能,如下图所示。
在这里插入图片描述
共享 VPC 的核心是支持网络架构由网络管理员统一构建、设计和管理,可以做到业务运维团队感知不到底层的网络架构,专注于服务器、数据库等应用资源的管理和维护。网络管理员在部署完成整个云网络架构后,可以通过共享 VPC 把不同的子网 / 交换机共享(分配)给不同的业务团队使用,业务团队只需要在子网中部署应用系统,无须关注 VPC 间的互联方案、防火墙、安全、公网等较复杂的网络配置。

6.2 流日志

VPC 提供流日志(Flowlog)功能, 可以记录 VPC 中弹性网卡(Elastic Network InterfaceENI)传入和传出的流量信息,帮助用户检查访问控制规则、监控网络流量和排查网络故障。

用户可以捕获指定弹性网卡、指定 VPC 或交换机的流量。如果选择为 VPC 或交换机创建流日志,则会捕获 VPC 和交换机中所有弹性网卡的流量,包括在开启流日志功能后新建的弹性网卡。

流日志功能的流量信息会以流日志记录的方式写入日志服务中。每条流日志记录会捕获特定捕获窗口中的特定五元组网络流。捕获窗口大约为 10 分钟,流日志服务在这段时间内会先聚合数据,再发布流日志记录。

相关文章:

【云计算】云数据中心网络(一):VPC

云数据中心网络(一):VPC 1.什么是 VPC2.VPC 的组成2.1 虚拟交换机2.2 虚拟路由器 3.VPC 网络规划3.1 VPC 数量规划3.2 交换机数量规划3.3 地址空间规划3.4 不同规模企业地址空间规划实践 4.VPC 网络高可靠设计4.1 单地域单可用区部署4.2 单地…...

自动驾驶中的多目标跟踪_第一篇

自动驾驶中的多目标跟踪:第一篇 多目标跟踪(multi-object/multi-target tracking)的任务包括估计场景中目标的数目、位置(状态)或其他属性,最关键的是需要在一段时间内持续地进行估计。 附赠自动驾驶学习资料和量产经验:链接 应…...

AI爆款文案 巧用AI大模型让文案变现插上翅膀

💂 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】🤟 一站式轻松构建小程序、Web网站、移动应用:👉注册地址🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交…...

Python入门的60个基础练习(一)

01-Hello World python的语法逻辑完全靠缩进,建议缩进4个空格。如果是顶级代码,那么必须顶格书写,哪怕只有一个空格也会有语法错误。下面示例中,满足if条件要输出两行内容,这两行内容必须都缩进,而且具有相…...

微软云学习环境

微软公有云 - Microsoft Azure 本文介绍通过微软学习中心Microsoft Learn来免费试用Azure上的服务,也不需要绑定信用卡。不过每天只有几个小时的时间。 官网 https://docs.microsoft.com/zh-cn/learn/ 实践 比如创建虚拟机,看到自己的账号下多了Learn的…...

大厂面试:找出数组中第k大的数的最佳算法

一.前置条件 假如数组为a,大小为n,要找到数组a中第k大的数。 二.解决方案 1.使用任意一种排序算法(例如快速排序)将数组a进行从大到小的排序,则第n-k个数即为答案。 2.构造一个长度为k的数组,将前k个数复制过来并降序…...

爬取高校专业信息的Python爬虫简介与实践

1. 介绍 在当前高校专业信息繁多的情况下,选择适合自己的专业成为了许多学生面临的挑战。为了帮助学生更好地了解各高校专业情况,我们开发了一个Python爬虫程序,用于爬取高校专业信息并保存到Excel文件中。本文将详细介绍该爬虫的实现过程以…...

redis 集群模式(redis cluster)介绍

目录 一 redis cluster 相关定义 1, redis cluster 是什么 2,redis 集群的组成 3,集群的作用 4,集群架构图 二 Redis集群的数据分片 1,哈希槽是什么 2,哈希槽如何排布 3,Redis集…...

python实现网络爬虫

网络爬虫是一个自动从互联网上抓取数据的程序。Python有很多库可以帮助我们实现网络爬虫,其中最常用的是requests(用于发送HTTP请求)和BeautifulSoup(用于解析HTML或XML文档)。 以下是一个简单的Python网络爬虫示例&a…...

LeetCode 836. 矩形重叠

解题思路 相关代码 class Solution {public boolean isRectangleOverlap(int[] rec1, int[] rec2) {int x1 rec1[0];int y1 rec1[1];int x2 rec1[2];int y2 rec1[3];int a1 rec2[0];int b1 rec2[1];int a2 rec2[2];int b2 rec2[3];return Math.min(y2,b2)>Math.max…...

为说阿拉伯语的国家进行游戏本地化

阿拉伯语是由超过4亿人使用的语言,并且是二十多个国家的官方语言。进入这些国家的市场并非易事——虽然他们共享一种通用语言,但每个国家都有自己独特的文化,有自己的禁忌和对审查的处理方式。这就是为什么视频游戏公司长期以来都远离阿拉伯语…...

【Python系列】读取 Excel 第一列数据并赋值到指定列

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

二叉树——存储结构

二叉树的存储结构 二叉树一般可以使用两种结构存储,一种是顺序结构,另一种是链式结构。 一、顺序存储 二叉树的顺序存储是指用一组连续的存储单元依次自上而下、自左至右存储完全二叉树上的结点元素,即将完全二叉树上编号为i的结点元素存储…...

LangChain - OpenGPTs

文章目录 MessageGraph 消息图认知架构AssistantsRAGChatBot 持久化配置新模型新工具astream_events总结 关键链接: OpenGPT GitHub 存储库YouTube 上的 OpenGPT 演练LangGraph:Python、JS 两个多月前,在 OpenAI 开发日之后,我们…...

pe格式从入门到图形化显示(四)-节表

文章目录 前言一、什么是Windows PE格式节表?二、解析节表并显示1.节表数据结构以及字段描述2.节表的属性3.解析4.显示 前言 通过分析和解析Windows PE格式,并使用qt进行图形化显示 一、什么是Windows PE格式节表? PE格式的节表&#xff08…...

路由策略与路由控制之双点双向重发布(OSPF-ISIS)实验

双点双向重发布在路由协议中,特别是在OSPF(开放式最短路径优先)与IS-IS(中间系统到中间系统)等协议之间,指的是在两个协议间或者两个进程间进行路由信息共享的机制。这种机制涉及到在两个不同的协议区域使用…...

9proxy—数据采集工具全面测评

9Proxy数据采集工具Unlock the web with 9Proxy, the top residential proxy provider. Get unlimited bandwidth, affordable prices, and secure HTTPS and Socks5 configurations.https://9proxy.com/?utm_sourceblog&utm_mediumcsdn&utm_campaignyan 前言 在当今数…...

上海晶珩树莓派工业智能机械臂,亮相2024年embedded world博览会!

上海晶珩树莓派工业智能机械臂,亮相2024年embedded world博览会! 工业智能机械臂是上海晶珩(EDATEC)团队基于树莓派工业相机ED-AIC2000和树莓派工业触摸屏ED-HMI2320开发的创新应用案例。 工业智能机械臂具备卓越的定位能力&…...

蓝桥杯——求和

题目 给定 n 个整数 a1, a2,…,an,求它们两两相乘再相加的和即: Sa1a2a1a3a1ana2a3 a(n-2)*an...a(n-1)*an 输入格式 输入的第一行包含一个整数 n。 第二行包含 几 个整数 a1,a2,,an。 输出格式 输出一个整数 S,表示所…...

设计模式:责任链模式示例

责任链模式可以应用于多种场景,下面是几个不同场景的例子,每个例子都包括完整的代码。 示例1:日志处理系统 在日志处理系统中,日志消息可以根据其严重性(错误、警告、信息)被不同级别的日志处理器处理。 …...

SpringBoot快速入门笔记(4)

文章目录 一、Vue框架1、前端环境准备2、简介3、快速开始4、事件绑定 二、Vue组件化开发1、NPM2、Vue Cli3、组件化开发4、SayHello自定义组件5、Movie自定义组件 一、Vue框架 1、前端环境准备 编码工具:VSCode 依赖管理:NPM 项目构建:VueCl…...

GoPro相机使用的文件格式和频率

打开GoPro相机(以11为例),里面是一个DCIM文件夹。 DCIM是digital camera in memory 的简写,即存照片的文件夹,常见于数码相机、手机存储卡中的文件夹名字。 正常手机拍照和视频都是保存在此文件夹的。正常建议不用删,因为只要拍照…...

Redis Stack 安装部署

参考:Run Redis Stack on Docker | Redis Redis-stack 初体验_redis stack-CSDN博客 【docker】运行redis_docker run redis-stack-server requirepass-CSDN博客 Redis Stack 是一组软件套件,它主要由三部分组成。 一个是 Redis Stack Server&#x…...

【经典算法】LeetCode 5: 最长回文子串(Java/C/Python3实现含注释说明,Medium)

目录 题目描述思路及实现方式一:动态规划法思路代码实现Java版本C语言版本Python3版本 复杂度分析 方式二:中心扩展法思路代码实现Java版本C语言版本Python3版本 复杂度分析 总结相似题目 标签(题目类型):回文串、动态规划 题目描述 给定一…...

39.Python从入门到精通—parseString 方法 Python 解析XML实例 使用xml.dom解析xml

39.Python从入门到精通—parseString 方法 Python 解析XML实例 使用xml.dom解析xml parseString 方法Python 解析XML实例使用xml.dom解析xml parseString 方法 parseString 方法是 Python 标准库中 xml.dom.minidom 模块中的一个函数,用于解析 XML 字符串并构建 DO…...

【蓝桥杯第九场小白赛】(部分)

最近写的零零散散的&#xff0c;感觉这两天遇到的题对于短时间提升意义已经不大了&#xff0c;还是做简单题保持手感吧哎 盖印章 #include <iostream> using namespace std; using LLlong long; int main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);LL n,m…...

【Linux】Supervisor 基础

要在Linux上启动Supervisor&#xff0c;你可以按照以下步骤进行操作&#xff1a; 确保你已经安装了Supervisor。使用适合你的Linux发行版的包管理器进行安装。例如&#xff0c;对于Ubuntu&#xff0c;可以运行以下命令安装Supervisor&#xff1a; sudo apt-get update sudo apt…...

48 全连接卷积神经网络 FCN【动手学深度学习v2】

全连接卷积神经网络&#xff1a;神经网络处理语义分割问题的奠基性工作&#xff0c;目前已不太常用。 了解一下全卷积网络模型最基本的设计。 如 下图所示&#xff0c;全卷积网络先使用卷积神经网络抽取图像特征&#xff0c;然后通过11卷积层将通道数变换为类别个数&#xff0…...

pytorch中的nn.MSELoss()均方误差损失函数

一、nn.MSELoss()是PyTorch中的一个损失函数&#xff0c;用于计算均方误差损失。 均方误差损失函数通常用于回归问题中&#xff0c;它的作用是计算目标值和模型预测值之间的平方差的平均值。 具体来说&#xff0c;nn.MSELoss()函数的输入是两个张量&#xff0c;即模型的真实值…...

三国游戏(贪心 排序)

三国游戏 利用贪心、排序、前缀和的计算方法&#xff0c;特别注意不要数据溢出了&#xff0c;sum 加long long s[i] x[i]-y[i]-z[i]输入: 3 1 2 2 2 3 2 1 0 7输出: 2#include <bits/stdc.h> using namespace std;const int N 1e5100;typedef long long ll;bool cm…...