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

DP读书:鲲鹏处理器 架构与编程(九)鲲鹏920处理器片上系统

鲲鹏920片上系统

  • 鲲鹏920处理器片上系统的组织与管理
    • 鲲鹏920片上系统的配置
    • 鲲鹏处理器多芯片系统
      • 鲲鹏2P多芯片系统
      • 鲲鹏4P多芯片系统
      • 鲲鹏920处理器片上系统和I/O桥组成的多芯片系统
    • 鲲鹏920处理器的管理和安全架构
    • 鲲鹏920片上系统的PMU
  • 鲲鹏920处理器片上系统的输入与输出
    • 鲲鹏920处理器片上系统的输入与输出概述
    • 鲲鹏920处理器片上系统的PCI Express控制器
    • 鲲鹏920处理器片上系统的平台设备
    • 鲲鹏920处理器片上系统的附加设备
  • 鲲鹏920处理器片上系统基于鲲鹏920片上系统的Taishan服务器
    • Taishan 200 服务器的组成与逻辑结构
    • Taishan 200 服务器的RAS
    • Taishan 200 服务器的鲲鹏加速引擎

停更了两天,我做了一个本专业相关的孤岛问题的论文复现,可并没有什么太大进展,就像当初最开始跑Aspen一样,我要面对的是一个相当复杂的多参系统,这种情况下只能啃着技术文档一步一步的去调。

再次返回我的鲲鹏920处理器,无疑是舒服的所以我只能尽我所能的在做全我的小白笔记文档的基础上,至于孤岛问题有空再花些时间再接着做吧。

鲲鹏920处理器片上系统的组织与管理

鲲鹏920片上系统的配置

鲲鹏920片上系统(Kunpeng 920 SoC) 是一款由华为自主研发的ARM处理器,基于7nm工艺打造。其主要配置包括:

  • 支持64个内核,主频可达2.6GHz。
  • 集成8通道DDR4内存控制器。
  • 集成100G RoCE以太网卡。
  • 支持PCIe 4.0及CCIX接口,可提供640Gbps总带宽。

鲲鹏处理器多芯片系统

鲲鹏处理器多芯片系统(Kunpeng multi-chip system) 是一种基于鲲鹏处理器的多芯片协同的系统解决方案,可以用于高性能计算、服务器、数据中心等应用场景。该系统包含了多个鲲鹏处理器,这些处理器通过高速互联技术进行连接,以实现更高的计算性能和更好的能效。

具体来说,鲲鹏处理器多芯片系统通过使用高速缓存一致性互联、高带宽低延迟内存和存储系统、高性能I/O接口等技术,实现了多个处理器之间的协同工作,从而提高了系统的整体性能和可靠性。

此外,该系统还支持多种操作系统和编程模型,可以满足不同应用场景的需求。同时,鲲鹏处理器多芯片系统也具有灵活的可扩展性,可以根据需要增加或减少处理器数量,以适应不同规模的计算需求。

鲲鹏2P多芯片系统

以下是鲲鹏2P多芯片系统的架构概述:

主处理器(鲲鹏处理器):系统核心,基于ARM架构的64位处理器,采用10纳米工艺技术,具有高性能和低功耗的特点。

高速缓存一致性互连(CCI)芯片:负责处理器之间的通信和数据交换,提供高速缓存一致性互连协议。

内存控制器芯片:承担管理内存读写操作的任务,确保数据的可靠存储和访问。

双倍数据率内存(DDR)接口芯片:连接处理器和内存,实现高速、可靠的数据传输。

鲲鹏2P多芯片系统的设计目标是实现高可靠性、高性能、低延迟和低功耗。通过将多个芯片组合成一个系统,该系统能够提供更强大的计算能力,更快的存储器速度以及更低的延迟。此外,系统还专注于节能设计,以减少能源消耗并提高能效比。

链接
主处理器
高速缓存一致性互连
内存控制器芯片
双倍数据率内存

鲲鹏4P多芯片系统

鲲鹏4P多芯片系统是一种基于鲲鹏处理器的多芯片系统,旨在实现更高的性能、更低的功耗和更高的可靠性。该系统由四个鲲鹏处理器一个高速缓存一致性互连(CCI)芯片两个内存控制器芯片和一个双倍数据率内存(DDR)接口芯片组成。

与鲲鹏2P多芯片系统相比,鲲鹏4P多芯片系统增加了两个处理器和一个CCI芯片,这使得系统的计算能力、存储器和通信能力得到进一步提升。同时,该系统也采用了低功耗设计,以减少能源消耗并提高能效比。

该系统的核心是鲲鹏处理器,它是一种基于ARM架构的64位处理器。该处理器采用先进的7纳米工艺技术,拥有高性能、低功耗和安全可靠的特性。CCI芯片提供高速缓存一致性互连协议,用于实现处理器之间的通信。内存控制器芯片用于管理内存的读写操作,而DDR接口芯片用于实现内存与处理器之间的数据传输。

鲲鹏4P多芯片系统
鲲鹏处理器1
鲲鹏处理器2
鲲鹏处理器3
鲲鹏处理器4
高速缓存一致性互连芯片
内存控制器芯片1
内存控制器芯片2
双倍数据率内存接口芯片

鲲鹏920处理器片上系统和I/O桥组成的多芯片系统

鲲鹏920处理器片上系统和I/O桥组成的多芯片系统是一种基于鲲鹏920处理器的多芯片系统,旨在实现更高的性能、更低的功耗和更高的可靠性。该系统由多个鲲鹏920处理器、一个高速缓存一致性互连(CCI)芯片、两个内存控制器芯片和一个双倍数据率内存(DDR)接口芯片组成,同时还包括一个I/O桥芯片,用于连接处理器和其他外部设备。

鲲鹏920处理器片上系统和I/O桥组成的多芯片系统是一种高性能、低功耗、安全可靠的计算机系统,适用于高性能计算、人工智能和大数据分析等领域。

鲲鹏920处理器的管理和安全架构

鲲鹏920处理器的管理和安全架构主要由以下几个部分组成:

  1. 管理架构:鲲鹏920处理器采用硬件和软件相结合的方式进行管理。硬件管理主要通过集成管理器(Management Processor,MP) 来实现,它负责管理处理器的电源、温度、故障等硬件资源。软件管理则通过运行在Linux操作系统上的华为管理软件(Huawei Management Software,HMS) 来实现,它可以提供系统状态监控、配置管理、故障诊断等功能。
  2. 安全架构:鲲鹏920处理器遵循可信执行技术(Trusted Execution Technology,TXT) 规范,通过使用硬件加密、软件防护等技术来确保系统的安全性和稳定性。具体来说,鲲鹏920支持硬件级安全加密,包括可信平台模块(TPM)、安全启动(Secure Boot)、固件验证(Firmware attestation) 等安全特性。
  3. 扩展接口:鲲鹏920处理器拥有丰富的扩展接口,包括PCIe、CCIX、10GbE、25GbE、40GbE和100GbE等多种高速网络接口,以及多通道DDRx4和PCIE4.0扩展接口,以满足不同应用场景的需求。

综上所述,鲲鹏920处理器的管理和安全架构采用了硬件和软件相结合的方式,通过集成管理器、华为管理软件、硬件加密、软件防护等技术和扩展接口,确保系统的稳定性和安全性。

鲲鹏920处理器
硬件管理
软件管理
安全架构
扩展接口

鲲鹏920片上系统的PMU

鲲鹏920片上系统的PMU(Power Management Unit)是负责电源管理的硬件模块,它与系统中的其他组件协同工作,以确保系统的稳定运行和能源的有效利用。

下面是用文本描述的方式展示PMU(Power Management Unit)负责电源管理的流程:

  1. 初始化:当系统启动时,PMU进行初始化操作,准备电源管理功能。

  2. 电源监测:PMU实时监测系统的电源状态,包括电压、电流、温度等参数。它可以通过传感器或与主板上其他组件的通信来获取这些信息。

  3. 电源控制:根据电源监测的结果和系统需求,PMU采取相应的控制策略来调整电源的工作状态。例如,当系统负载较重时,PMU可以增加电源供应的电压和电流,以确保系统的稳定性和性能。

  4. 节能管理:PMU还负责节能管理,通过优化电源的使用来降低功耗,延长电池寿命或降低系统在待机状态下的能耗。它可以根据系统负载、用户设置或事先设定的策略来动态调整电源供应的能量输出。

  5. 故障检测和保护:PMU监测电源供应的稳定性和安全性,如果检测到异常情况(如过电流、过温等),则会触发保护机制,例如关闭电源、降低电压等,以避免对系统和设备的损害。

PMU作为负责电源管理的硬件模块,通过监测电源状态、控制电源输出、节能管理以及故障检测和保护等功能,确保系统的稳定性、性能优化和能耗管理。
具体来说,PMU负责监控系统的电源状态、电压和温度等参数,并根据系统负载和运行状态进行动态调整。它还负责管理系统的功耗预算,以确保系统在满足应用需求的同时,不会超过电源限制。

此外,PMU还提供了一些可编程的电源管理接口,以便系统管理员根据应用需求进行精细的电源管理。例如,通过设置电源状态配置文件,可以控制处理器在不同负载下的电源状态,以实现更好的能效管理。

系统启动
PMU初始化
电源监测
根据监测结果和需求进行电源控制
节能管理
故障检测和保护
结束

鲲鹏920处理器片上系统的输入与输出

鲲鹏920处理器片上系统的输入与输出概述

鲲鹏920处理器片上系统的输入/输出(I/O) 能力非常强大,支持多种高速接口和协议,包括PCIe 4.0、CCIX、100G RoCE、SAS/SATA 3.0等,可以满足不同应用场景的需求。

具体来说,鲲鹏920处理器片上系统支持以下输入/输出接口:

  1. PCIe 4.0:鲲鹏920处理器支持4个PCIe 4.0通道,可以用于连接高速设备,如GPU、FPGA等。
  2. CCIX:支持CCIX接口,可以与CCIX设备进行通信,实现更高的带宽和更低的延迟。
  3. 100G RoCE:支持100G RoCE以太网接口,可以提供高速的数据传输和网络连接。
  4. SAS/SATA 3.0:支持SAS/SATA 3.0接口,可以连接串行ATA硬盘和串行Attached SCSI硬盘,提供高速存储访问。
graph LR
A[鲲鹏920处理器] --> B[PCIe 4.0]
A --> C[CCIX]
A --> D[100G RoCE]
A --> E[SAS/SATA 3.0]
B --> F[连接高速设备(如GPU、FPGA)]
C --> G[与CCIX设备通信]
D --> H[提供高速数据传输和网络连接]
E --> I[连接串行ATA硬盘和串行Attached SCSI硬盘]

此外,鲲鹏920处理器片上系统还支持多种操作系统和编程模型,可以满足不同应用场景的需求。同时,鲲鹏920处理器片上系统也具有灵活的可扩展性,可以根据需要增加或减少输入/输出接口数量,以适应不同规模的计算需求。

鲲鹏920处理器片上系统的PCI Express控制器

鲲鹏920处理器片上系统的PCI Express(PCIe)控制器 是负责管理计算机系统内部各个组件之间的高速数据传输的硬件模块。

PCIe控制器的主要功能是提供一组高速串行数据传输通道,支持多个设备之间的数据传输。在鲲鹏920处理器中,PCIe控制器采用PCIe 4.0 版本,可以提供更高的数据传输速率和更低的延迟。

此外,鲲鹏920处理器的PCIe控制器还支持多种扩展连接接口,如CCIX和100G RoCE 等,可以提供更高效的数据传输和网络连接。这些接口可以满足不同应用场景的需求,如高性能计算、数据中心、云计算等。

总之,鲲鹏920处理器片上系统的PCIe控制器是实现高效数据传输和网络连接的关键模块之一,可以满足不同应用场景的需求。

鲲鹏920处理器片上系统的平台设备

鲲鹏920处理器片上系统是一个完整的平台设备,包括处理器、内存、I/O接口和其他扩展设备。以下是鲲鹏920处理器片上系统的平台设备的主要部分:

  1. 处理器:鲲鹏920处理器是华为自主研发和设计的ARM架构处理器,采用7nm工艺制造,可以支持32/48/64个内核,主频可达2.6GHz
  2. 内存:鲲鹏920处理器片上系统支持8通道DDR4内存,可以提供更快的内存访问速度和更大的内存容量。
  3. I/O接口:鲲鹏920处理器片上系统支持多种高速I/O接口,包括PCIe 4.0、CCIX、100G RoCE网络等,可以满足不同应用场景的需求。
  4. 扩展设备:鲲鹏920处理器片上系统还支持多种扩展设备,如GPU、FPGA等,可以用于加速特定应用的计算。

鲲鹏920处理器片上系统的附加设备

鲲鹏920处理器片上系统的附加设备是指那些在处理器核心之外,但与处理器紧密相关的设备或组件。这些设备或组件通常通过I/O接口与处理器连接,并支持特定的功能或应用。以下是一些常见的鲲鹏920处理器片上系统的附加设备:

  1. 显卡:鲲鹏920处理器片上系统支持与GPU等图形处理设备的连接,以提供更高的图形处理性能,适用于需要大量图形处理能力的工作负载。
  2. 存储设备:鲲鹏920处理器片上系统支持与多种存储设备的连接,如SAS/SATA 3.0硬盘、PCIe SSD等,可以提供大容量、高速度的存储能力。
  3. 网络设备:鲲鹏920处理器片上系统支持与多种网络设备的连接,如以太网交换机、路由器等,可以提供高速、可靠的网络连接能力。
  4. 加密设备:鲲鹏920处理器片上系统支持与加密设备的连接,如加密卡、安全模块等,可以提供数据加密、解密和安全认证等功能,确保数据的安全性。

鲲鹏920处理器片上系统基于鲲鹏920片上系统的Taishan服务器

Taishan 200 服务器的组成与逻辑结构

Taishan 200服务器主要由以下部分组成:

  1. 处理器:服务器搭载了两个华为自研的鲲鹏920 5220处理器,每个处理器包含8个DDR4内存条,总计16个DDR4内存条。
  2. 总线:两个处理器之间通过1组Hydra总线互连单lane最高传输速率为30GBps。
  3. 网络接口:服务器配备了以太网灵活插卡,支持3种插卡,包括100GE、4GE和2*25GE,通过CPU本身自带高速SerDes接口完成。
  4. 存储接口:Raid标卡通过PCIE总线与CPU1连接,Raid卡出SAS信号线缆与硬盘背板连接,而不同的硬盘背板可以支持多种本地存储规格。
服务器的逻辑结构如下:1. 以太网接口:通过CPU本身自带高速SerDes接口完成。
2. Raid卡:通过PCIE总线连接到CPU1。
3. SAS信号线缆:从Raid卡出来后连接到硬盘背板。

通过以上组件,Taishan 200服务器构成了一个稳定、高效的计算环境,能支持多种本地存储规格,并且通过高速网络接口和处理器,实现了高数据传输速率和大容量内存,满足各种高计算需求。

Taishan 200 服务器的RAS

Taishan 200服务器的RAS(Reliability,Availability,Serviceability,可靠性、可用性、可维护性) 功能主要包括以下几个方面:

  1. ECC(Error Checking and Correction,错误检查和纠正):该功能通过对服务器内存进行错误检查和纠正,保障内存数据的准确性。当检测到内存错误时,ECC技术可以自动进行数据修复,减小数据损坏的风险。
  2. SDEC(Single Device Error Correction,单设备错误纠正):SDEC功能可以对单设备错误进行检测和纠正,提高服务器的稳定性。
  3. 内存RAS能力:Taishan 200服务器支持内存的RAS能力,包括支持内存镜像、内存热备份、内存隔离等,以增强服务器的可靠性和可用性。
  4. PCIe RAS能力:服务器支持PCIe RAS能力,包括支持PCIe热插拔、PCIe设备替换等,以提高服务器的可靠性和可维护性。
  5. 网络RAS能力:Taishan 200服务器支持网络RAS能力,包括支持网络冗余、网络负载均衡等,以提高服务器的可靠性和可用性。

Taishan 200 服务器的鲲鹏加速引擎

Taishan 200服务器的鲲鹏加速引擎是基于鲲鹏920处理器的硬件加速模块,包含了对称加密、非对称加密和摘要、压缩解压缩等算法,用于加速SSL/TLS应用和数据压缩,可以显著提升所支持算法的运算效率,节省CPU资源。

该加速引擎对应用层屏蔽了其内部实现细节,用户通过OpenSSL、zlib标准接口即可实现对鲲鹏加速引擎的调用。目前,鲲鹏加速引擎主要支持以下算法:

* 摘要算法sm3/md5,支持同步异步模式。
* 对称加密算法sm4,支持同步异步模式,支持ctr/xts/cbc/ofb/ecb分组模式(xts模式仅支持内核态应用);aes,支持同步异步模式,支持ecb/cbc/ctr/xts分组模式。
* 非对称加密算法rsa,支持同步异步模式,支持key sizes 1024/2048/3072/4096* 密钥协商算法dh,支持同步异步模式。

此外,鲲鹏加速引擎还具有以下特点:

* 加速SSL/TLS应用和数据压缩,显著提升所支持算法的运算效率,节省CPU资源。
* 对应用层屏蔽内部实现细节,用户通过OpenSSL、zlib标准接口即可实现对鲲鹏加速引擎的调用。
* 提供硬件安全保护,确保数据和指令的安全。

OpenSSL是一个开源的软件库,提供了一系列的加密和安全功能。它可以用于开发安全的网络通信、数据传输和身份验证等应用。

以下是一些OpenSSL的主要特点和功能:

  1. 加密和解密:OpenSSL支持多种加密算法,包括对称加密(如AES、DES)、非对称加密(如RSA、ECC)和哈希函数(如SHA-256)。它可以用于对数据进行加密和解密操作。

  2. SSL/TLS协议:OpenSSL实现了SSL和TLS协议,用于建立安全的网络连接。它可以用于开发安全的Web服务器、邮件服务器和其他网络应用。

  3. 数字证书:OpenSSL支持生成、验证和管理数字证书。它可以用于创建自签名证书、生成证书签名请求(CSR)以及与证书颁发机构(CA)交互。

  4. 安全套接字层:OpenSSL提供了对安全套接字层(SSL)的支持,可以对网络通信进行加密和身份验证。它可以用于保护敏感数据在网络中的传输。

  5. 随机数生成:OpenSSL提供了随机数生成器,用于生成加密强度的随机数。这对于密码学操作和安全应用非常重要。

  6. 密码学工具:OpenSSL还提供了一些常用的密码学工具,如生成密钥对、进行数字签名和验证、计算消息摘要等。

OpenSSL是一个功能强大的加密和安全库,广泛应用于网络通信、数据保护和安全应用开发中。它被许多软件和系统所使用,并得到了广泛的社区支持和贡献。

openssl.org官方链接

zlib是一个广泛使用的开源数据压缩库,它提供了一组标准接口,用于对数据进行压缩和解压缩操作。以下是zlib的一些主要标准接口:

  1. 压缩接口

    • deflateInit():初始化压缩环境。
    • deflate():将输入数据压缩为输出数据。
    • deflateEnd():释放压缩环境。
  2. 解压接口

    • inflateInit():初始化解压环境。
    • inflate():将压缩数据解压为原始数据。
    • inflateEnd():释放解压环境。
  3. 错误处理接口

    • zlib_version():获取zlib的版本信息。
    • zError():获取错误信息。
  4. 参数设置接口

    • deflateParams():设置压缩参数,如压缩级别和压缩策略。
    • inflateSetDictionary():设置解压字典,用于提高解压性能。

除了上述标准接口外,zlib还提供了其他一些附加功能和接口,如压缩级别调整、内存管理、数据校验和多文件压缩等。这些功能可以根据具体需求选择使用。

使用zlib标准接口进行数据压缩和解压缩的示例代码如下:

#include <stdio.h>
#include <zlib.h>#define CHUNK_SIZE 1024int main() {// 输入数据const char* input = "Hello, World!";uLong inputLength = strlen(input);// 压缩缓冲区Bytef compressed[CHUNK_SIZE];// 待解压缩缓冲区Bytef decompressed[CHUNK_SIZE];// 压缩数据z_stream strm;strm.zalloc = Z_NULL;strm.zfree = Z_NULL;strm.opaque = Z_NULL;deflateInit(&strm, Z_DEFAULT_COMPRESSION);strm.avail_in = inputLength;strm.next_in = (Bytef*)input;strm.avail_out = CHUNK_SIZE;strm.next_out = compressed;deflate(&strm, Z_FINISH);deflateEnd(&strm);uLong compressedLength = CHUNK_SIZE - strm.avail_out;// 解压数据strm.zalloc = Z_NULL;strm.zfree = Z_NULL;strm.opaque = Z_NULL;inflateInit(&strm);strm.avail_in = compressedLength;strm.next_in = compressed;strm.avail_out = CHUNK_SIZE;strm.next_out = decompressed;inflate(&strm, Z_FINISH);inflateEnd(&strm);// 输出结果printf("Compressed data: %s\n", compressed);printf("Decompressed data: %s\n", decompressed);return 0;
}

以上为调用方法。
zlib.net官方链接

终于整完了,感谢大家关于鲲鹏920片上系统的关注,也希望您能在该基础上对片上系统有更深入到理解。

相关文章:

DP读书:鲲鹏处理器 架构与编程(九)鲲鹏920处理器片上系统

鲲鹏920片上系统 鲲鹏920处理器片上系统的组织与管理鲲鹏920片上系统的配置鲲鹏处理器多芯片系统鲲鹏2P多芯片系统鲲鹏4P多芯片系统鲲鹏920处理器片上系统和I/O桥组成的多芯片系统 鲲鹏920处理器的管理和安全架构鲲鹏920片上系统的PMU 鲲鹏920处理器片上系统的输入与输出鲲鹏92…...

【HBZ分享】java中的BitSet 与 Redis中的BitMap 与 布隆过滤器

BitMap的存储原理 bitMap他会标识出某个整数是否存在&#xff0c;存在即为1&#xff0c;不存在对应位即为0bitMap是存储int类型的&#xff0c;int 4byte&#xff0c; 1byte 8bit&#xff0c;因此bitMap数组中的每个下标可以标识出32个数字是否存在bitMap相当于一个个小格子&…...

《Linux从练气到飞升》No.16 Linux 进程地址空间

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的…...

【算法题】7004. 判别首字母缩略词

题目&#xff1a; 给你一个字符串数组 words 和一个字符串 s &#xff0c;请你判断 s 是不是 words 的 首字母缩略词 。 如果可以按顺序串联 words 中每个字符串的第一个字符形成字符串 s &#xff0c;则认为 s 是 words 的首字母缩略词。例如&#xff0c;“ab” 可以由 [“a…...

ClickHouse(二十一):Clickhouse SQL DDL操作-临时表及视图

进入正文前&#xff0c;感谢宝子们订阅专题、点赞、评论、收藏&#xff01;关注IT贫道&#xff0c;获取高质量博客内容&#xff01; &#x1f3e1;个人主页&#xff1a;含各种IT体系技术&#xff0c;IT贫道_Apache Doris,大数据OLAP体系技术栈,Kerberos安全认证-CSDN博客 &…...

redis乐观锁+启用事务解决超卖

乐观锁用于监视库存&#xff08;watch&#xff09;&#xff0c;然后接下来就启用事务。 启用事务&#xff0c;将减库存、下单这两个步骤&#xff0c;放到一个事务当中即可解决秒杀问题、防止超卖。 但是&#xff01;&#xff01;&#xff01;乐观锁&#xff0c;会带来" …...

智能画笔:如何利用AI绘画API打造独特的创作风格

在当今数字化时代&#xff0c;人工智能的迅猛发展正深刻地影响着各个领域&#xff0c;艺术创作也不例外。AI绘画 API 作为一种创新的工具&#xff0c;为艺术家提供了独特的机会&#xff0c;使他们能够在创作过程中借助人工智能技术&#xff0c;打造出独具个性的创作风格。本文将…...

ElasticSearchConfig

1. 添加配置 <dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId></dependency>2. es 配置信息 import org.apache.http.HttpHost; import org.apache.http.auth.Au…...

解决vant组件 van-dialog造成的页面闪动问题

解决方案&#xff1a;该问题是因为van-dialog默认是scale&#xff0c;将这个属性改为fade即可...

SpringBoot内嵌Tomcat连接池分析

文章目录 1 Tomcat连接池1.1 简介1.2 架构图1.2.1 JDK线程池架构图1.2.2 Tomcat线程架构 1.3 核心参数1.3.1 AcceptCount1.3.2 MaxConnections1.3.3 MinSpareThread/MaxThread1.3.4 MaxKeepAliveRequests1.3.5 ConnectionTimeout1.3.6 KeepAliveTimeout 1.4 核心内部线程1.4.1 …...

分布式协调服务中的几个常见算法

分布式协调服务中的几个常见算法包括: 1. 选主算法 用于从多个节点中选举出一个节点作为主节点或者领导者,常见的算法有Bully算法、Ring算法等。 2. 原子广播算法 用于向分布式系统中的所有节点广播消息,保证所有节点都可以收到消息,典型的两阶段提交协议实现了原子广播。…...

易服客工作室:Houzez主题 - 超级房地产WordPress主题/网站

Houzez主题是全球流行的房地产经纪人和公司的WordPress主题。 Houzez Theme是专业设计师创造一流设计的超级灵活起点。它具有您的客户&#xff08;房地产经纪人或公司&#xff09;甚至可能做梦也想不到的功能。 网址&#xff1a;Houzez主题 - 超级房地产WordPress主题/网站 - …...

mysql通过binlog日志恢复误删数据

1、先查看binlog功能是否开启 show variables like %log_bin%;log_bin为ON说明可以使用binlog恢复&#xff0c;如果为OFF说明没有开启binlog。 2、删除部分数据做测试 3、查找binlog文件位置 show variables like %datadir%;cd /var/lib/mysqlls -l删除数据时间是在文件154与…...

Istio入门体验系列——基于Istio的灰度发布实践

导言&#xff1a;灰度发布是指在项目迭代的过程中用平滑过渡的方式进行发布。灰度发布可以保证整体系统的稳定性&#xff0c;在初始发布的时候就可以发现、调整问题&#xff0c;以保证其影响度。作为Istio体验系列的第一站&#xff0c;本文基于Istio的流量治理机制&#xff0c;…...

CSS行内,内部,外部以及优先级

1.内联样式表&#xff1a; 将样式编写到style标签里 <style>.context {color: red;} </style> 2. 行内样式&#xff1a; 在 HTML 标签中使用 style 属性设置 CSS 样式 <div style"font-size: 18px;">行内样式</div> 3.外联样式&#xff1…...

LCA——最近公共祖先

LCA问题是指在一棵树中找到两个节点的最近公共祖先。最近公共祖先是指两个节点在树中的最近的共同祖先节点。例如&#xff0c;在下面这棵树中&#xff0c;节点 6 6 6和节点7的最近公共祖先是节点 3 3 3。 1/ \2 3/ \ / \4 5 6 7解决LCA问题的方法有很多种&#xff…...

游戏开发与硬件结合,开启全新游戏体验!

游戏与硬件的结合可以通过多种方式实现&#xff0c;从改善游戏体验到创造全新的游戏玩法。以下是一些常见的游戏与硬件结合的方式&#xff1a; 虚拟现实&#xff08;VR&#xff09;和增强现实&#xff08;AR&#xff09;技术&#xff1a;VR和AR技术使玩家能够沉浸式地体验游戏…...

测试框架pytest教程(4)运行测试

运行测试文件 $ pytest -q test_example.py 会运行该文件内test_开头的测试方法 该-q/--quiet标志使输出保持简短 测试类 pytest的测试用例可以不写在类中&#xff0c;但如果写在类中&#xff0c;类名需要是Test开头&#xff0c;非Test开头的类下的test_方法不会被搜集为用…...

Linux 上 离线部署GeoScene Server Py3 运行时环境

默认安装ArcGIS Pro的时候&#xff0c;会自动部署上Python3环境&#xff0c;所以在windows上不需要考虑这个问题&#xff0c;但是linux默认并不部署Py3&#xff0c;因此需要单独部署&#xff0c;具体部署可以参考Linux 上 ArcGIS Server 的 Python 3 运行时—ArcGIS Server | A…...

Python+request+unittest实现接口测试框架集成实例

这篇文章主要介绍了Pythonrequestunittest实现接口测试框架集成实例&#xff0c;小编觉得挺不错的&#xff0c;现在分享给大家&#xff0c;也给大家做个参考。一起跟随小编过来看看吧 1、为什么要写代码实现接口自动化 大家知道很多接口测试工具可以实现对接口的测试&#xf…...

django/flask+python+vue汽车租赁管理系统_1ma2x

开发语言&#xff1a;Python 框架&#xff1a;django/flask Python版本&#xff1a;python3.7.7 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat 开发软件&#xff1a;PyCharm . 课题主要分为三大模块&#xff1a;即管理员模块、用户模块和普通管理员模块&#xff0…...

胜者打仗,就像高山上决开积水,势不可挡

胜者打仗&#xff0c;就像高山上决开积水&#xff0c;势不可挡 【安志强趣讲《孙子兵法》16讲】 【原文】 是故胜兵先胜而后求战&#xff0c;败兵先战而后求胜。善用兵者&#xff0c;修道而保法&#xff0c;故能为胜败之政。 【注释】 修道&#xff1a;指从各方面修治“先立于不…...

stm32的命令规则

stm32型号的说明&#xff1a;以STM32F103RBT6这个型号的芯片为例&#xff0c;该型号的组成为7个部分&#xff0c;其命名规则如下&#xff1a;...

1. HBase中文学习手册之揭开Hbase的神秘面纱

揭开Hbase的神秘面纱 1.1 欢迎使用 Apache Hbase1.1.1 什么是 Hbase?1.1.2 Hbase的前世今生1.1.3 HBase的技术选型&#xff1f;1.1.3.1 不适合使用 HBase的场景1.1.3.2 适合使用 HBase的场景 1.1.4 HBase的特点1.1.4.1 HBase的优点1.1.4.2 HBase的缺点 1.1.5 HBase设计架构 1.…...

[线程/C++]线程同(异)步和原子变量

文章目录 1.线程的使用1.1 函数构造1.2 公共成员函数1.2.1 get_id()1.2.2 join()2.2.3 detach()2.2.5 joinable()2.2.6 operator 1.3 静态函数1.4 call_once 2. this_thread 命名空间2.1 get_id()2.2 sleep_for()2.3 sleep_until()2.4 yield() 3. 线程同步之互斥锁3.1 std:mute…...

全球网络加速器GA和内容分发网络CDN,哪个更适合您的组织使用?

对互联网用户来说&#xff0c;提供最佳的用户体验至关重要&#xff1a;网页加载时间过长、视频播放断断续续以及服务忽然中断等问题都足以在瞬间失去客户。因此可以帮助提高您的网站或APP提高加载性能的解决方案就至关重要&#xff1a;全球网络加速器和CDN就是其中的两种解决方…...

蓝凌OA custom.jsp 任意文件读取

​曾子曰&#xff1a;“慎终追远&#xff0c;民德归厚矣。” 漏洞复现 访问漏洞url&#xff1a; 出现漏洞的文件为 custom.jsp&#xff0c;构造payload&#xff1a; /sys/ui/extend/varkind/custom.jsp var{"body":{"file":"file:///etc/passwd&q…...

(二)结构型模式:7、享元模式(Flyweight Pattern)(C++实例)

目录 1、享元模式&#xff08;Flyweight Pattern&#xff09;含义 2、享元模式的UML图学习 3、享元模式的应用场景 4、享元模式的优缺点 5、C实现享元模式的简单实例 1、享元模式&#xff08;Flyweight Pattern&#xff09;含义 享元模式&#xff08;Flyweight&#xff09…...

laravel 多次查询请求,下次请求清除上次请求的where 条件

在Laravel中&#xff0c;可以使用where方法来添加查询条件&#xff0c;但是每次添加where条件时&#xff0c;都会在查询构造器中持久化这些条件&#xff0c;直到你手动重置它们。所以&#xff0c;如果你想在下一次查询中清除上次查询的where条件&#xff0c;有以下几种选择&…...

C++根据如下使用类MyDate的程序,写出类MyDate的定义,MyDate中有三个数据成员:年year,月month,日day完成以下要求

题目&#xff1a; 根据如下使用类MyDate的程序&#xff0c;写出类MyDate的定义&#xff0c;MyDate中有三个数据成员&#xff1a; 年year&#xff0c;月month&#xff0c;日day int year,month,day; void main() { MyDate d1, d2; d1.set(2015, 12, 31); d2.set(d1); d1.…...

微盟集团中报增长稳健 重点发力智慧零售AI赛道

零售数字化进程已从渠道构建走向了用户的深度运营。粗放式用户运营体系无法适应“基于用户增长所需配套的精细化运营能力”,所以需要有个体、群体、个性化、自动化运营——即在对的时候、以对的方式、把对的内容推给用户。 出品|产业家 2023年已经过半&#xff0c;经济复苏成为…...

设计模式(7)模板方法模式

一、定义&#xff1a; 定义一个操作中的算法骨架&#xff0c;而将算法的一些步骤延迟到子类中&#xff0c;使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。它是一种类行为型模式。 //模板方法抽象类 public abstract class AbstractClass {//模板方法publ…...

2308C++协程流程9

参考 #include <协程> #include "简异中.cpp" //用来中文定义的.元<类 T>构 P;元<类 T>构 任务{用 承诺型P<T>;任务()默认;动 符号 协待()常 无异{构 等待器{极 直接协()常 无异{中 p.是准备好();}协柄 挂起协(协柄<>o)常 无异{p.连续…...

基于学习交流社区的自动化测试实现

一 项目介绍 项目名称 项目名称&#xff1a; 学习交流社区 项目介绍 项目介绍&#xff1a; 学习交流社区是一个基于Spring的前后端分离的在线论坛系统。使用了MySQL数据库来存储相关信息&#xff0c;项目完成后使用Xshell将其部署到云服务器上。 前端页面&#xff1a; 前端共由…...

2023-08-21力扣每日一题

链接&#xff1a; 2337. 移动片段得到字符串 题意&#xff1a; L可以和左边的_交换&#xff0c;R可以和右边的_交换&#xff0c;求判断A是否能通过交换&#xff08;不限次数&#xff09;变成B 解&#xff1a; 观察可知&#xff0c;如果存在RL,一定不能交换出LR&#xff0c…...

对象存储服务-MinIO基本集成

是什么 MinIO 是一个高性能的分布式对象存储服务&#xff0c;适合存储非结构化数据&#xff0c;如图片&#xff0c;音频&#xff0c;视频&#xff0c;日志等。对象文件最大可以达到5TB。 安装启动 mkdir -p /usr/local/minio cd /usr/local/minio# 下载安装包 wget https:/…...

Yarn介绍及快速安装 - Debian/Ubuntu Linux

1.Yarn介绍 Yarn 是一个用于管理 JavaScript 包的快速、可靠和安全的包管理器。它是由 Facebook、Google、Exponent 和 Tilde 团队共同开发的&#xff0c;旨在提供比 npm 更快速、可靠的包管理体验。 以下是 Yarn 的一些主要特点和优势&#xff1a; 快速安装&#xff1a;Yarn…...

【新日语(2)】第10課 中国の生活に慣れるかどうか少し心配です

第10課 中国の生活に慣れるかどうか少し心配です 注释&#xff1a; &#xff5e;かどうか&#xff1a;“是否”。 练习A 一、例句 田中さんは鈴木さんに、30分ぐらい遅れると言いました。 田中先生告诉铃木先生&#xff0c;他会迟到大约30分钟。 注释&#xff1a; &…...

Python 网页解析初级篇:BeautifulSoup库的入门使用

在Python的网络爬虫中&#xff0c;网页解析是一项重要的技术。而在众多的网页解析库中&#xff0c;BeautifulSoup库凭借其简单易用而广受欢迎。在本篇文章中&#xff0c;我们将学习BeautifulSoup库的基本用法。 一、BeautifulSoup的安装与基本使用 首先&#xff0c;我们需要使…...

Spring Schedular 定时任务

大家好 , 我是苏麟 , 今天带来定时任务的实现 . Spring网站 : 入门 |计划任务 (spring.io) 什么是定时任务 通过时间表达式来进行调度和执行的一类任务被称为定时任务 定时任务实现 1.Spring Schedule (Spring boot 默认整合了) 2.Quartz(独立于Spring 存在的定时任务框架…...

营业额统计

营业额统计 # 题目描述 Tiger 最近被公司升任为营业部经理&#xff0c;他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。 Tiger 拿出了公司的账本&#xff0c;账本上记录了公司成立以来每天的营业额。分析营业情况是一项相当复杂的工作。由于节假日&…...

使用lodash的throttle函数会触发两次

当使用lodash的throttle函数时会触发两次&#xff0c;分别在最开始和最后。 严格来说不算是bug&#xff0c;因为官方文档写的很清楚。throttle函数其实有三个参数&#xff1a; _.throttle(func, [wait0], [options]) func: 要节流的函数 wait: 等待时间 options: 选项 op…...

如何使用CSS实现一个瀑布流布局?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用CSS实现瀑布流布局⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚…...

dfs之有重复字符串的排列组合

https://leetcode.cn/problems/permutation-ii-lcci/description/ ■ 题目描述 考古问题&#xff0c;假设以前的石碑被打碎成了很多块&#xff0c;每块上面都有一个或若干个字符&#xff0c;请你写个程序来把之前石碑上文字可能的组合全部写出来&#xff0c;按升序进行排列。…...

Java之抽象类

Java之抽象类 抽象类概念抽象类如何使用抽象类的特性 作者简介&#xff1a; zoro-1&#xff0c;目前大一&#xff0c;正在学习Java&#xff0c;数据结构等 作者主页&#xff1a;zoro-1的主页 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f49…...

“无Internet连接但是可以上网” 解决全流程

先说我的最后解决方法&#xff1a; 修改注册表下\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet下 的 EnableActiveProbing 项&#xff1a;将 1 改成 0 为什么要解决“无Internet连接但是可以上网”这个问题&#xff1f; 因为虽然可以上百…...

VS2022 CMake报错解决小结

目录 一、问题背景 二、问题分析 三、问题解决 一、问题背景 VS2022中能够跨平台的工程类型就是CMake项目&#xff0c;一套代码能跨windows/Linux/Mac多种操作系统。而实际使用时&#xff0c;发现相关资料比较少&#xff0c;需要摸索一下。 碰到的问题简述&#xff1a; 1、C…...

java之webservice_aegis.xml学习

开门见山,直奔主题,让我们先来看一个接口: public interface UserInfo {public Collection findRoleInfosByUserID(String userUniqueID);public User findUserInfosByUserID(String userUniqueID);public String test();} 观察此接口,首先我们看findRoleInfosByUserID方法…...

总结 TCP 协议的相关特性

TCP协议段格式: 如图, 端口号: 是其中一个重要的部分,知道端口号才能确认数据交给哪个应用程序(端口号属于传输层的概念). 4位首部长度:4bit表示的范围是0->15,在此处,单位是"4字节",因此,将这里的数值 * 4&#xff0c;才是真正的报头长度,即TCP 报头最大长度,60…...

不负众望~历时4年修炼,这本册子终于成书了(文末赠书)

名字&#xff1a;阿玥的小东东 学习&#xff1a;Python、C/C 主页链接&#xff1a;阿玥的小东东的博客_CSDN博客-python&&c高级知识,过年必备,C/C知识讲解领域博主 目录 精进Spring Boot首选读物 “小册”变“大书”&#xff0c;彻底弄懂Spring Boot 全方位配套资源…...