不做大哥好多年 不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • Langchain
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核

逍遥子

不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • Langchain
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核
  • 项目

    • 01.分布式调度系统
    • 02.GPU调度
    • 03.车端构建系统
    • 04.资源管理平台
      • 01.项目说明
        • 1、项目介绍
        • 2、项目说明
        • 1. 项目背景与目标
        • 2. 系统整体架构
        • 3. 测试闭环体系与资源管理
        • 4. 资源管理模块
        • 5. 任务管理模块
        • 6. HIL(Hardware-in-the-Loop)支持
        • 7. 路测支持
        • 8. 虚拟上位机管理
        • 9. 车辆管理模块
        • 10. 车云链路日志上报
        • 11. 总结
      • 02.项目整理
        • 1、项目需求说明
        • 2、整体通用设计
        • 3、资源管理
    • 05.CICD
    • 06.Mage平台
    • 10.发布系统使用
    • 11.自动驾驶业务
目录

04.资源管理平台

# 01.项目说明

# 1、项目介绍

项目:台架与测试车辆管理平台

  • 项目描述:
    • 为了统一管理台架与测试车辆,开发了一个资源管理平台,通过系统化的管理方式提升调度效率和资源利用率
    • 平台提供了接口和数据基础,支持上层调度平台实现多种测试手段的高效组合
  • 主要职责:
    • 设计并实现了车辆和台架的资源管理模块,支持生命周期管理、静态信息管理和状态监控
    • 开发了多种任务管理功能,支持更加合理的资源调度,实现全局感知整体测试资源的使用情况、分布与统计
    • 完成了对HIL(Hardware-in-the-Loop)测试中资源使用情况的定量统计,优化资源分配以降低成本
    • 开发了路测车的实时监控和数据上报功能,帮助追溯与排查问题,同时统计了路测车辆的利用率
    • 实现了虚拟上位机的管理功能,包括公钥私钥的生成与分发、基于K8s的Pod管理和远程命令执行,支持用户调度任务到台架
    • 参与了『车辆管理/软件安装信息』和『车辆管理/软件配置管理』模块的开发,确保车云之间通信的安全可靠,保证车辆软件的保活与更新
    • 实现了车云链路日志的上报功能,采用gRPC流和Filebeat技术,将车端软件日志从外网收集到云端内网,确保数据安全传输
  • 技术栈:
    • 编程语言:Golang
    • 平台与工具:Kubernetes, Docker, gRPC, Filebeat, CA, SSH
    • 数据库:MySQL, Redis
  • 项目成果:
    • 提高了资源管理和调度的效率,降低了测试成本
    • 通过系统化管理,减少了资源浪费,实现了高效的多测试手段组合
    • 确保了车辆与台架管理的高安全性与可靠性

# 2、项目说明

# 1. 项目背景与目标

  • 随着自动驾驶和智能网联技术的快速发展,测试与验证过程中的资源管理需求日益增加
  • 为了解决测试资源(如台架和测试车辆)管理中的效率低下和资源浪费问题,本项目旨在开发一个统一的车辆与台架管理平台
  • 该平台通过系统化的管理手段,提升资源管理效率,改进调度方式,并为上层调度平台提供接口和数据基础

# 2. 系统整体架构

平台架构设计基于以下几个核心模块:

  • 资源管理模块:管理台架与测试车辆的生命周期、静态信息及状态监控
  • 任务管理模块:支持资源与任务的合理调度,并提供全局资源点用、分布和统计信息
  • 数据与接口支持模块:为上层调度平台提供必要的接口和数据支持,确保测试手段的多样化组合

# 3. 测试闭环体系与资源管理

测试闭环体系的核心在于多个测试手段与测试阶段的整合,包括仿真任务、实车路测任务等每个阶段都依赖不同的测试资源和任务体系,本平台通过统一的资源管理框架来提升整体效率和资源利用率

  • 目标
    • 提升测试效率,降低测试成本,确保高质量交付
    • 支持多测试手段的组合,以实现更为灵活高效的测试策略

# 4. 资源管理模块

资源管理模块是平台的核心组件,主要负责台架与测试车辆的管理具体功能包括:

  • 生命周期管理:记录资源的整个生命周期,从投入使用到维护、升级、退役的全流程管理
  • 静态信息管理:存储资源的基础信息,如台架类型、车辆型号、配置等
  • 状态监控:实时监控台架和车辆的使用状态,包括运行状态、健康状况、资源占用情况等

# 5. 任务管理模块

任务管理模块支持更为合理的资源调度,并为调度平台提供必要的数据基础,主要功能如下:

  • 资源调度支持:为任务分配最适合的资源,优化资源利用率
  • 全局感知与统计:提供全局视角的资源点用和分布情况,并生成统计报表,辅助决策

# 6. HIL(Hardware-in-the-Loop)支持

HIL系统用于模拟测试环境中的硬件设备,通过本平台的资源管理与任务调度功能,实现对HIL资源的优化管理

  • 挑战
    • 缺少对具体使用情况的定量统计
    • 灵活的资源调度能力不足
  • 解决方案
    • 通过平台的资源监控与统计功能,提供对HIL资源使用的深入分析,以实现降本增效的目标

# 7. 路测支持

针对实车路测任务,平台提供了全面的资源管理与数据支持功能:

  • 路测车辆利用率统计:记录车辆的实际运行情况,生成利用率报表,优化车辆调度
  • 实时监控与上报:提供车辆实时状态监控和数据上报功能,帮助问题追溯与排查
  • 远程数据部署:支持远程更新路测车辆上的测试数据,减少人工干预,提高测试效率

# 8. 虚拟上位机管理

虚拟上位机通过自建CA实现安全管理,并通过Kubernetes(K8s)集成,为台架操作提供便利

  • 公钥私钥管理:通过自建CA生成公钥私钥,将公钥通过SSH放入台架中,私钥写入虚拟上位机,实现免密登录
  • K8s集成:虚拟上位机以K8s Pod形式启动,通过注册的SSH命令在虚拟上位机中远程调用台架执行命令
  • 用户任务调度:启动用户agent后,用户可以通过调度任务到台架,实现自动化测试流程

# 9. 车辆管理模块

车辆管理模块涵盖了车辆的软件安装信息和配置管理,确保车云之间的通信安全可靠

  • 车云通信链路安全:车辆端部署agent生成公钥私钥,并通过云端审批生效,确保数据传输的安全性
  • 软件保活与更新:管理车辆上已安装软件的版本控制和更新流程,确保软件的持续可用性
  • 数据上云:支持将车辆生成的数据安全上传至云端,实现远程数据监控与分析

# 10. 车云链路日志上报

平台提供了一套高效、安全的日志上报机制,将车端软件日志从外网传输到云端内网,便于数据收集和分析

  • 技术架构
    • gRPC Stream:使用Golang实现gRPC流机制,确保日志数据的实时传输
    • Filebeat集成:在客户端集成Filebeat,通过解析配置文件生成相应的配置,并在客户端启动或停止Filebeat,实现日志的自动化采集和传输
  • 应用场景
    • 用于收集和分析车辆的运行日志,帮助快速定位问题和优化系统性能

# 11. 总结

本平台通过对台架与测试车辆的统一管理,优化了资源利用率,降低了测试成本,并为调度平台提供了高效的数据支持通过系统化、标准化的管理方式,平台能够适应多种测试需求,并为未来的扩展和优化奠定了坚实基础

# 02.项目整理

# 1、项目需求说明

注意这里提供的是车辆,台架管理平台,不负责调度能力,给调度平台提供接口和数据基础的

  • 为了统一管理台架与测试车辆,使用系统化方式进一步提升资源管理效率,改进调度方式,提升资源利用率

  • 完整的测试闭环体系包含了多种测试手段与各个测试阶段,各个环节依赖不同的测试资源(台架,车辆等)以及不同的任务体系(仿真任务,实车路测任务等)

  • 但总体的核心目标都是保证高质量交付条件下,提升测试效率,降低测试成本;

  • 期望多测试手段组合提升效率,降低成本;

  • 本文档的思路是从测试手段的底层依赖-资源上着手,通过建立统一的资源管理,以相对统一的管理方式进行资源管理

  • 不仅支持台架,也可以支持测试车辆,在资源管理上支持生命周期/静态信息管理,状态监控

  • 从任务管理上支持更加合理的资源调度,继而可以从全局感知整体测试资源点用,分布与统计

  • HIL:

    • 缺少对具体使用情况的定量统计与灵活资源调度,实现降本增效的目的
  • 路测:

    • 路测车实际运行情况统计,期望统计路测车辆的利用率;
    • 路测车的实时监控,实时上报,帮助问题追溯与排查;
    • 路测车的远程数据部署;
  • 虚拟上位机机

    • 自建CA生成公钥私钥,将公钥ssh放入台架中
    • K8s pod启动作为虚拟上位机,虚拟上位机写入私钥实现免密
    • 将ssh命令注册到pod系统中,使用 s1 xxx在虚拟上位机中远程调用台架执行命令
    • 虚拟上位机启动后会启动用户agent,这样就可以实现用户调度任务到台架上
  • 『车辆管理/软件安装信息』和『车辆管理/软件配置管理』模块

    • 建立车云之间安全可靠的通信链路
    • 车辆数据上云
    • 车辆已安装软件保活与更新
    • 链路安全:车端部署agent 生成公钥私钥,公钥上传到云端,审批后生效,车端使用私钥加密,云端使用公钥解密
  • 车云链路日志上报

    • 需求是将车端软件日志从车端收集到云端,车端在外网,云端在内网
    • 使用golang grpc stream
    • 云端grpc server
    • 车端
      • grpc client
      • 在client中集成filebeat,解析配置文件生成filebeat配置文件
      • 在client中启动,停止filebeat

# 2、整体通用设计

# 3、资源管理

上次更新: 2024/12/19 17:28:11
03.车端构建系统
05.CICD

← 03.车端构建系统 05.CICD→

最近更新
01
06.Mage平台
05-30
02
16.区块链交易所
05-28
03
01.常识梳理
05-28
更多文章>
Theme by Vdoing | Copyright © 2019-2025 逍遥子 技术博客 京ICP备2021005373号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式