基于 AUTOSAR 的域控产品软件开发:从 CP 到 AP 的跨越

基于 AUTOSAR 的域控产品软件开发:从 CP 到 AP 的跨越

一、AUTOSAR AP 架构解析:面向智能汽车的自适应框架

(一)引言

随着汽车智能化向 L3+ 演进,传统 AUTOSAR CP(经典平台)在实时性、动态性和算力需求上的局限性日益凸显。AUTOSAR AP(自适应平台)应运而生,其核心定位是支持高性能计算、服务导向架构(SOA)及动态运行时环境,适用于自动驾驶域控、车载中央计算机等复杂场景。

(二)CP 与 AP 的核心差异对比

特性AUTOSAR CPAUTOSAR APSEO 关键词
设计目标传统 ECU(硬实时控制,如底盘、车身控制)智能域控(软实时计算,如自动驾驶、车联网)CP 设计目标,AP 设计目标
编程语言C 语言为主C++ 为主,支持面向对象设计CP 编程语言,AP 编程语言
运行时环境静态配置,启动后不可修改动态运行时(ARA),支持在线重配置CP 运行时,AP 运行时
通信模型基于信号(Signal-Based)的静态通信基于服务(Service-Oriented)的动态发现与调用CP 通信模型,AP 通信模型
内存管理静态内存分区动态内存分配,支持 POSIX 标准CP 内存管理,AP 内存管理
典型硬件单核/双核微控制器(如英飞凌 TC3xx)多核异构 SoC(如恩智浦 S32G、英飞凌 AURIXTM)CP 硬件,AP 硬件

(三)AP 分层架构与核心组件

在这里插入图片描述

此图展示了 AUTOSAR AP 的分层结构,包括应用层、ARA 和基础软件层)

  • 应用层 :由自适应应用(Adaptive Application)组成,基于 C++ 类实现服务接口,支持动态加载与卸载。

    • 示例 :自动驾驶算法模块作为独立服务,通过 ARA 提供感知、规划等功能接口。
  • 自适应运行时环境(ARA)

    • 服务发现(Service Discovery) :支持服务的动态注册与发现,如通过 DDS(数据分发服务)实现跨组件通信。
    • 通信管理(Communication Management) :支持以太网服务通信(如 SOME/IP)和传统总线(CAN/LIN)的桥接。
    • 健康管理(Health Management) :监控组件状态,支持故障冗余切换。
  • 基础软件层(BSW AP)

    • 执行管理(Execution Management) :动态任务调度,支持多核 CPU 的负载均衡。
    • 存储管理(Storage Management) :支持文件系统(如 POSIX 文件接口)和非易失性存储的动态访问。
    • 安全服务(Security Services) :集成加密加速(如 AES/TLS)和安全启动(Secure Boot)机制。

AUTOSAR AP 架构是智能汽车软件开发的关键。其分层设计涵盖了应用层、ARA 和基础软件层,满足了高性能计算和动态运行时环境的需求。通过服务发现、通信管理和健康管理等功能,AP 为自动驾驶域控和车载中央计算机等复杂场景提供了强大的支持。

二、AUTOSAR AP 在域控开发中的关键实践

(一)基于 SOA 的自动驾驶域控开发

场景 :实现传感器融合与路径规划的分布式服务协作。

  1. 服务定义

    • // 感知服务接口(C++ 抽象类)
      class PerceptionService {
      public:virtual PointCloud getLidarData() = 0;virtual Image getCameraImage() = 0;
      };// 规划服务接口
      class PlanningService {
      public:virtual Trajectory generateTrajectory(PointCloud& pc, Image& img) = 0;
      };
      
  2. 服务集成与通信 :通过 ARA 的服务发现机制,感知服务(Lidar/Camera 节点)与规划服务节点动态建立连接,使用 SOME/IP 协议传输数据。

    • // 服务客户端调用示例
      PerceptionService* perception = Ara::ServiceDiscovery::locate<PerceptionService>("PerceptionService");
      PlanningService* planning = Ara::ServiceDiscovery::locate<PlanningService>("PlanningService");PointCloud pc = perception->getLidarData();
      Image img = perception->getCameraImage();
      Trajectory traj = planning->generateTrajectory(pc, img);
      

基于 SOA 的自动驾驶域控开发是 AUTOSAR AP 的重要应用场景。通过服务定义和服务集成与通信,可以实现传感器融合与路径规划的分布式服务协作,提高系统的灵活性和可扩展性。

(二)多核异构 SoC 的资源调度优化

挑战 :域控芯片(如恩智浦 S32G)包含 CPU 核、GPU、NPU 等异构单元,需实现任务与硬件资源的动态匹配。

  • 解决方案

    • 使用 AP 的执行管理模块(Execution Manager)根据任务特性(如计算密集型、IO 密集型)分配至特定核心。
    • 示例:神经网络推理任务分配至 NPU 核,通信任务分配至 CPU 核,通过共享内存(Shared Memory)实现数据交换。

在多核异构 SoC 的资源调度优化中,AUTOSAR AP 的执行管理模块发挥了关键作用。通过合理分配任务,可以充分发挥硬件资源的优势,提高系统的整体性能。

(三)功能安全与信息安全的融合方案

  • 功能安全 :AP 支持 ISO 26262 ASIL-D 级别的安全机制,如通过冗余任务调度实现故障检测与恢复。
  • 信息安全
    • 基于 TLS 1.3 的通信加密:

      • // 使用 AP 安全服务创建加密通道
        Security::TlsContext* tlsContext = Security::Tls::createContext("AutosarTlsContext");
        tlsContext->setCertificate("server.crt");
        tlsContext->setPrivateKey("server.key");
        tlsContext->establishSecureChannel(remoteAddress);
        
    • 安全启动流程:通过 AP 的 Bootloader 验证固件签名,防止恶意代码注入。

功能安全与信息安全的融合是 AUTOSAR AP 的重要特性。通过支持 ISO 26262 ASIL-D 级别的安全机制和基于 TLS 1.3 的通信加密,AP 为智能汽车的软件开发提供了可靠的安全保障。

三、工具链升级:从 CP 到 AP 的开发范式转变

工具链CP 场景AP 场景SEO 关键词
开发环境DaVinci Developer(图形化配置)VS Code + CMake(代码驱动开发)CP 开发环境,AP 开发环境
通信配置CANoe(静态信号矩阵)Fast DDS(动态服务发现)CP 通信配置,AP 通信配置
测试工具CANoe Test Automation(自动化测试)Google Test + ASAM MCD-1(功能/性能测试)CP 测试工具,AP 测试工具
持续集成手动编译部署Jenkins + Docker(容器化持续集成)CP 持续集成,AP 持续集成

案例 :使用 EBAutoCore AP 工具链开发自动驾驶域控软件:

  1. 通过 EBAutoCore Designer 定义服务接口与通信拓扑;
  2. 使用 EBAutoCore Builder 生成 C++ 代码框架;
  3. 借助 EBAutoCore Debugger 进行多核调试与性能分析。

从 CP 到 AP 的开发范式转变需要工具链的全面升级。通过使用 VS Code + CMake、Fast DDS、Google Test + ASAM MCD-1 和 Jenkins + Docker 等工具,可以更好地支持 AUTOSAR AP 的开发和测试。

四、未来趋势:CP 与 AP 的混合部署架构

在复杂域控系统中,常采用 CP+AP 混合架构

  • CP 负责 :硬实时控制任务(如电机控制、安全关键逻辑);
  • AP 负责 :软实时计算任务(如 AI 算法、车联网服务);
  • 桥接机制 :通过 Gateway 模块实现 CP 信号与 AP 服务的转换,如使用 AUTOSAR 的 COM 模块转发信号至 SOME/IP 服务。

在这里插入图片描述
CP 和 AP 在混合架构中的分工与桥接方式

CP 与 AP 的混合部署架构是未来智能汽车软件开发的趋势。通过合理分工和桥接机制,可以充分发挥 CP 和 AP 的各自优势,满足复杂域控系统的需求。

五、实战案例

(一)案例一:某新势力车企自动驾驶域控——基于 AP 的 SOA 传感器融合

背景 :L3 级自动驾驶域控制器需集成 8 路摄像头、5 颗毫米波雷达、1 颗激光雷达,传统 CP 架构难以支撑动态传感器接入与算力调度。

技术方案

  1. AP 架构设计

    • 采用 NXP S32G2 多核 SoC (4x Arm Cortex-A53 + 2x Cortex-M7),AP 运行于 A53 核(POSIX 系统),CP 处理硬实时任务(M7 核)。

    • 定义 感知服务(Perception Service) :封装激光雷达点云处理、摄像头语义分割算法,通过 ARA 服务发现 动态注册(如 LidarService_v1.0CameraService_v2.0)。

      • // 激光雷达服务接口(C++)
        class LidarService : public Ara::Service {
        public:virtual PointCloud getLidarData() = 0;  // 实时点云数据virtual HealthStatus checkHealth() = 0; // 传感器健康状态
        };
        
  2. 动态通信优化

    • 传感器数据通过 SOME/IP over Ethernet 传输,带宽利用率从 CP 的 70% 降至 45%(动态压缩策略)。
    • 引入 DDS(数据分发服务) 实现事件驱动:当激光雷达检测到障碍物时,主动触发路径规划服务(PlanningService:: 紧急制动)。
  3. 健康管理与冗余

    • AP 的 健康管理(PHM) 模块实时监控传感器状态,当单颗雷达失效时,自动切换至冗余雷达并通知诊断服务记录故障码(DTC)。

成效

  • 软件迭代周期从 12 周缩短至 6 周(服务独立升级,无需全量编译);
  • 算力利用率提升 30%(动态任务调度至 NPU 协处理器)。

在某新势力车企的自动驾驶域控案例中,基于 AP 的 SOA 传感器融合方案有效解决了传统 CP 架构在动态传感器接入与算力调度方面的难题,显著提升了系统的性能和可靠性。

(二)案例二:大众集团中央计算单元(CCU)——AP+CP 混合架构跨域协同

背景 :传统分布式 ECU 无法支撑 OTA 升级与跨域功能(如 “下车自动关窗 + 锁车 + 上传行车数据”)。

技术方案

  1. 混合架构设计

    • AP 层 :运行智能座舱、车联网服务(基于 Linux POSIX),通过 服务桥接(Signal2Service) 将 CP 的车身控制信号(如门锁状态)转换为 RESTful API。
    • CP 层 :保留车身控制硬实时逻辑(如车窗防夹),通过 COM 模块 与 AP 通信。
服务桥接
通过COM模块转发信号
通过SOME/IP服务
使用Linux POSIX系统
保留传统ECU逻辑
支持OTA升级功能
提供基础硬件资源
运行智能服务
处理实时控制任务
实现信号与服务转换
集成多种通信协议
保持稳定性和可靠性
实现复杂计算和处理
支持传统功能运行
动态分配任务
执行实时任务调度
确保数据交互高效
AP层
CP层
智能座舱服务
车联网服务
硬实时车身控制逻辑
Gateway模块
服务桥接
车身控制逻辑
OTA服务
智能服务
实时任务处理
信号转换
通信协议
系统稳定性
复杂计算
传统功能
任务分配
实时调度
数据交互

注:

  • 上述架构图展示了大众集团 CCU 的 AP 和 CP 层之间通过网关模块进行通信和桥接的逻辑结构,体现了两者的分工与协作,以及如何实现跨域功能。
  • 该架构设计实现了硬件资源共享和数据实时共享,使 CCU 能够将车辆控制、自动驾驶、智能座舱等多域功能融合在一起。
  1. 场景化服务编排

    • 定义 “下车场景”组合服务

      • 车主携带钥匙离开 AP CP 车窗服务 TBOX 用户 APP 触发蓝牙离开事件 查询门锁状态(通过 COM 信号) 门锁未锁(0x01) 发送关窗指令(SOA 调用) 上传行车数据(TLS 加密) 推送“已锁车”通知 车主携带钥匙离开 AP CP 车窗服务 TBOX 用户 APP
  2. OTA 安全升级

    • 利用 AP 的 UCM(更新与配置管理) 模块,支持服务级差分升级:仅下载座舱界面更新包(20MB),而非全量镜像(1.2GB),升级时间从 45 分钟降至 8 分钟。

成效

  • 跨域功能开发效率提升 40%(可视化服务编排工具);
  • OTA 故障率下降 75%(原子化升级 + 回滚机制)。

大众集团 CCU 的 AP+CP 混合架构跨域协同案例展示了如何通过混合架构设计和场景化服务编排,实现复杂功能并提升 OTA 升级的安全性和效率。

(三)案例三:博世智能驾驶域控——AP 多核异构调度与安全

背景 :L4 级自动驾驶需支持 200TOPS 算力,同时满足 ISO 26262 ASIL-D 功能安全与 ISO/SAE 21434 信息安全。

技术方案

  1. 硬件适配与调度

    • 基于 英飞凌 AURIXTM TC4x + Mobileye EyeQ6 异构架构,AP 管理 EyeQ6 的 AI 算力(运行感知算法),CP 处理底盘控制(TC4x 内核)。
    • 通过 AP 的 执行管理(EM) 模块,动态分配任务:高速路段将感知任务优先级提升 2 级(抢占式调度),泊车场景降低至背景优先级。
  2. 安全机制落地

    • 功能安全 :AP 的健康监控(SHM)模块每 10ms 检测 AI 算法输出一致性,异常时触发冗余控制器接管(0.5ms 切换延迟)。

    • 信息安全 :传感器数据传输采用 TLS 1.3 + 硬件加密引擎(SE) ,密钥通过 AP 的安全启动(Secure Boot)动态注入。

      • // 安全通信初始化(AP 代码)
        Security::Tls::init("tls_config.arxml");  // 加载证书与密钥
        SensorService* radar = ServiceDiscovery::locate<SensorService>("Radar_Secure");
        radar->setEncryption(Security::AES_256_GCM);  // 强制加密
        

成效

  • 算力利用率达 85%(行业平均 60%),功耗降低 22%(动态调频调压);
  • 通过 ISO 26262 ASIL-D 认证,成为首个符合欧盟 UN R152 安全法规的域控方案。

博世智能驾驶域控案例体现了 AP 在多核异构调度与安全方面的强大能力。通过硬件适配与调度以及安全机制的落地,满足了 L4 级自动驾驶的高性能和高安全要求。

(四)案例四:比亚迪车云协同——AP 支持的 V2X 实时交互

背景 :实现车与充电桩、交通灯的实时通信(V2G/V2I),传统架构难以支持动态协议升级。

技术方案

  1. 服务化 V2X 接口

    • AP 定义 V2XService 标准接口,封装 802.11p、C-V2X 协议,支持动态加载新协议插件(如未来的 5G NR-V2X)。

      • <!-- ARXML 服务定义 -->
        <SWC_INTERFACE name="V2XService"><METHOD name="sendTrafficLightData"><PARAMETER name="lightState" type="uint8"/>  <!-- 红/绿/黄 --></METHOD>
        </SWC_INTERFACE>
        
  2. 边缘计算协同

    • 车辆进入路口时,AP 通过 服务发现 自动连接交通灯边缘节点(Edge Server),获取实时相位信息,优化车速(如 “绿波通行”)。
    • 数据存储使用 AP 的 存储管理(SM) 模块,支持本地缓存 + 云端同步(差分同步减少流量 90%)。

成效

  • 路口通行效率提升 18%,平均停车次数减少 2 次 /10km;
  • 协议升级成本降低 60%(插件化更新,无需返厂)。

比亚迪车云协同案例展示了 AP 在支持 V2X 实时交互方面的优势。通过服务化 V2X 接口和边缘计算协同,实现了车与充电桩、交通灯的高效通信,并降低了协议升级成本。

六、案例总结:AP 落地的核心价值

维度传统 CP 方案AP 方案(案例平均)
开发效率单功能迭代 8-12 周服务级迭代 2-4 周(↑66%)
算力利用率50-60%75-85%(↑33%)
跨域协同成本跨 ECU 开发成本占比 40%服务编排成本占比 15%(↓62%)
OTA 支持仅支持部分模块,成功率 82%全服务支持,成功率 98%(↑19%)
硬件适配周期新芯片适配 6-12 个月标准化 API,适配周期 2-3 个月(↓75%)

通过以上案例总结,可以看出 AUTOSAR AP 在开发效率、算力利用率、跨域协同成本、OTA 支持和硬件适配周期等方面相比传统 CP 方案具有显著优势。这些优势使得 AP 成为智能汽车软件开发的重要选择。

结尾 :通过融合 AUTOSAR CP 的稳定性与 AP 的灵活性,域控产品可同时满足实时控制与智能计算的双重需求,为下一代智能汽车的软件定义架构奠定基础。未来,随着 AP 与车云协同、AI 算法的深度融合,汽车电子将迎来更灵活、更智能的进化。

graph LRsubgraph CP_AP_Hybrid[CP+AP 混合架构]direction TB       subgraph CP_Platform[CP 平台]direction TBCP_Title[经典平台 Classic Platform 硬件:单核/多核 MCU]:::cpTitlesubgraph CP_Tasks[硬实时控制任务]Motor[电机控制]:::cpTaskBrake[制动控制]:::cpTaskSteering[转向控制]:::cpTaskSafety[安全关键逻辑]:::cpTaskendendsubgraph AP_Platform[AP 平台]direction TBAP_Title[自适应平台 Adaptive Platform硬件:多核 SoC]:::apTitlesubgraph AP_Tasks[软实时计算任务]AI[AI 算法]:::apTaskV2X[车联网服务]:::apTaskInfotainment[智能座舱]:::apTaskFusion[传感器融合]:::apTaskendendsubgraph Bridge[桥接机制]direction LRGateway[网关模块 Gateway]:::bridgeCompCOM[AUTOSAR COM 模块]:::bridgeCompSOMEIP[SOME/IP 服务转换]:::bridgeCompSignal2Service[信号→服务转换]:::bridgeCompGateway --> COMCOM --> Signal2ServiceSignal2Service --> SOMEIPendCP_Tasks -->|CAN/LIN 信号| BridgeBridge -->|SOME/IP 服务| AP_TasksAP_Tasks -->|服务请求| BridgeBridge -->|控制指令| CP_Tasksend

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

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

相关文章

Nacos 配置管理案例:nacos-spring-cloud-config-example详解

一、结构说明&#xff1a;基于Spring Cloud Alibaba的微服务示例 nacos-spring-cloud-config-example : 服务提供者 二、技术栈&#xff1a;Spring BootSpring CloudSpring Cloud Alibaba Nacos Actuator&#xff08;可选&#xff1a;监控&#xff09; 三、使用环境 安装…

BUUCTF[ACTF2020 新生赛]Include 1题解

BUUCTF[ACTF2020 新生赛]Include 1题解 题目分析&#xff1a;知识准备&#xff1a;php://filter 过滤器参数说明常用过滤器功能对照表 开始解题&#xff1a;原理解析构造payload 总结 题目分析&#xff1a; 生成靶机&#xff0c;打开网址&#xff0c;查看源码&#xff0c;抓包…

vscode + cmake + ninja+ gcc 搭建MCU开发环境

vscode cmake ninja gcc 搭建MCU开发环境 文章目录 vscode cmake ninja gcc 搭建MCU开发环境1. 前言2. 工具安装及介绍2.1 gcc2.1.1 gcc 介绍2.1.2 gcc 下载及安装 2.2 ninja2.2.1 ninja 介绍2.2 ninja 安装 2.3 cmake2.3.1 cmake 介绍2.3.2 cmake 安装 2.4 VScode 3. 上手…

九(1). 引用作为函数参数的使用

引用作为参数使用 在 C 中&#xff0c;引用作为函数参数是一种高效且灵活的参数传递方式&#xff0c;它避免了拷贝开销&#xff0c;同时允许函数直接操作原始数据。 以下是关于引用作为参数的详细使用指南和最佳实践&#xff1a; 1. 引用作为参数的基本用法 (1) 普通引用&…

Linux多路TTS混音播放:让多个语音同时清晰可听

Linux多路TTS混音播放:让多个语音同时清晰可听 为什么需要多路混音播放?技术原理概述第一步:配置ALSA dmix混音插件为什么需要dmix?具体配置步骤第二步:生成TTS语音文件为什么需要格式转换?Python生成脚本第三步:实现多路同时播放播放器设计原理Python实现代码多路同时播…

Spring AI 1.0 GA 深度解析:构建企业级AI应用的全栈实践指南

目录 Spring AI 1.0 核心架构解析统一接口与多模型支持检索增强生成(RAG)全流程实战对话记忆与工具调用进阶模型评估与可观测性体系企业级应用案例与最佳实践未来演进与技术展望1. Spring AI 1.0 核心架构解析 1.1 技术架构演进 #mermaid-svg-ymTZMAaxOwd4OAMu {font-family…

Docker 安装 Redis 容器

系列文章目录 文章目录 系列文章目录前言1 获取redis镜像2 创建和部署redis容器3 查看redis是否启动成功4 使用Redis客户端验证连接总结 前言 搭建环境&#xff1a; ubuntu22.04.05 docker redis: 7.0.10 测试环境&#xff1a; windows: win11 Redis测试客户端&#xff1a;Ti…

学习vue3阶段性复习(插槽,Pinia,生命周期)

目录 插槽(匿名插槽&#xff0c;具名插槽) 插槽概述 匿名插槽 具名插槽 Pinia(统一管理&#xff0c;共享数据&#xff09; pinia概述 安装和使用Pinia 1 使用命令下载Pinia 2 再main.js中导入&#xff0c;注册到vue框架中 3使用pinia 持久化存储插件 1 第一步&…

嵌入式Linux 期末复习指南(上)

鉴于互联网上针对本科目相关复习视频及资料过少&#xff0c; 撰写本篇期末复习指南用作期末复习知识点扫盲&#xff0c;以应对本科期末考试及格之用。 由于任课老师并透露考试范围或任何有关试卷的相关信息&#xff0c;本篇指南基于教材、上机实验报告及作者经验编写&#xff0…

VScode ios 模拟器安装cocoapods

使用 Homebrew 安装&#xff08;推荐&#xff09; 如果你有 Homebrew&#xff0c;直接用它安装更稳定&#xff1a; brew install cocoapods

Python趣学篇:用Pygame打造绚烂流星雨动画

名人说&#xff1a;路漫漫其修远兮&#xff0c;吾将上下而求索。—— 屈原《离骚》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 专栏介绍&#xff1a;《Python星球日记》 目录 一、项目简介与效果展示二、技术栈与核…

可视化大屏通用模板Axure原型设计案例

本文将介绍一款基于Axure设计的可视化大屏通用模板&#xff0c;适用于城市、网络安全、园区、交通、社区、工业、医疗、能源等多个领域。 模板概述 这款Axure可视化大屏通用模板集成了多种数据展示模块和组件&#xff0c;旨在为用户提供一个灵活、可定制的数据展示平台。无论…

20250530-C#知识:万物之父Object

C#知识&#xff1a;万物之父Object Object类&#xff08;即object&#xff09;是所有类的基类&#xff0c;这里面的方法还是需要好好了解一下。 1、Object类 是顶级父类&#xff0c;其他类默认都是Object类的子类&#xff08;自定义类也会默认继承Object类&#xff09;可以用O…

苹果应用开发详细教程(2025最新版)

苹果应用开发详细教程(2025最新版) 第一阶段:开发环境搭建 硬件准备 Mac电脑(macOS Monterey 12或更高版本)iPhone/iPad(真机调试建议iOS 16+)软件安装 # 通过App Store安装Xcode xcode-select --installXcode 15+(包含Swift 5.9编译器)安装CocoaPods(依赖管理工具)…

flutter项目迁移空安全

重中之重 备份好项目文件&#xff0c;甚至连已经加载好的flutter库也可以备份。环境包升级 2.1 不要直接换成flutter:3.0以上的版本&#xff0c;这样做既有基本的库兼容问题&#xff0c;又有空安全下的语法问题(整个项目中需要增加 late、?、!的语法错误&#xff0c;一片报错的…

架构师面试题整理

以下是从提供的HTML代码中提取的所有class"title-txt"的文本内容&#xff0c;已排除重复项并按顺序整理&#xff1a; 缓存专题 实战解决大规模缓存击穿导致线上数据库压力暴增面试常问的缓存穿透是怎么回事基于DCL机制解决突发性热点缓存并发重建问题实战Redis分布…

pytest 中 fixture 与类继承交互导致的问题

文章目录 问题分析将属性绑定到 **类** 上使用 scopefunction 解决方法为什么有两个不同的对象核心原因&#xff1a;fixture 的执行上下文scopefunction 的情况scopeclass 的情况 为什么 pytest 要这样做&#xff1f;这是 pytest 的设计局限 总结 本文探讨 Pytest 中 fixture 作…

uniapp+ts模拟popup弹出框(下拉框)

效果图&#xff08;未展开的样子&#xff09;&#xff1a; 效果图&#xff08;展开的样子&#xff09;&#xff1a; 子组件代码&#xff1a; <!--* Date: 2024-04-26 14:30:00* LastEditTime: 2025-05-29 09:01:06* Description: 技术服务 --> <template><view …

中小型企业大数据平台全栈搭建:Hive+HDFS+YARN+Hue+ZooKeeper+MySQL+Sqoop+Azkaban 保姆级配置指南

目录 背景‌一、环境规划与依赖准备‌1. 服务器规划(3节点集群)2. 系统与依赖‌3. Hadoop生态组件版本与下载路径4. 架构图二、Hadoop(HDFS+YARN)安装与配置‌1. 下载与解压(所有节点)2. HDFS高可用配置3. YARN资源配置‌4. 启动Hadoop集群三、MySQL安装与Hive元数据配置…

谷粒商城-分布式微服务项目-高级篇[三]

十五、商城业务-支付 15.1 支付宝支付 15.1.1 进入“蚂蚁金服开放平台” 支付宝开放 平台地址&#xff1a; 支付宝开放平台 15.1.2 下载支付宝官方 demo&#xff0c;进行配置和测试 开发者文档&#xff1a;支付宝开放平台文档中心 电脑网站支付文档&#xff1a;小程序文…