一、系统架构设计
采用分层架构设计,包括用户界面层、业务逻辑层、数据访问层等。各层之间通过接口进行通信,实现高内聚、低耦合的设计目标。
1、技术选型
前端:采用Vue、Element-UI、Echart等前端技术。
Agent:采用psutil、pynvml、syncio等技术。
Manage: 采用asyncio、influxdb、Mysql等技术。
Web服务端:使用Nginx做负载均衡,使用Python语言开发,搭配轻便的Flask web框架,任务系统使用Celery框架,运维部分使用Ansible框架。
数据库:采用InfluxDB、MySQL、Redis等数据库。
2、概要设计
运维管理系统采用B/S构架,agent客户端主要用来采集系统性能指标并发送到服务端。监控服务端负责实时收集、统计和分析数据。web前后端用来实现整体系统功能,核心功能主要是设备管理以及配置管理、OTA等。数据库用作整体数据的存储。
3、整体架构流程
三、详细设计
1、核心业务流程图
2、功能模块介绍
2.1设备管理
针对整体项目多个路口、路段下的多种类型设备的在线监控管理。监控的设备类型目前支持雷达、MEC、RSU、雷视一体机、激光雷达、枪机、鱼眼共7种类型。支持对设备组的管理、设备基础连接信息的维护以及设备状态的在线监控,实现了新增、编辑、删除、批量新增、批量删除、查询设备、设备连通性测试、下载模板等相关功能。
(1)设备组管理
设备管理页面左侧设备树,分为位置和类型两种。可根据位置和类型筛选出具体位置或者设备类型的相关设备列表数据。
新增:设备树下面的新增按钮,可新增一级设备组
设备组添加:可在设备组下面添加相应的子设备组
设备组编辑:可编辑设备组名称以及描述
设备组删除:可删除设备组,设备组下面如挂载设备不可删除
(2)新增设备
选择具体的设备组,只支撑选择叶子节点的设备组,填写相应设备连接信息,选择设备组,进行设备新增
字段说明:
设备类型(必填):雷达、MEC、RSU、雷视一体机、激光雷达、枪机、鱼眼共7种类型
主从(必填):同一叶子节点设备组下的设备有相应的主从之分
朝向(非必填):设备安装的朝向
序号(非必填):从0开始,除了MEC和雷视一体机类型的设备才有序号,比如0,3,6,9
IP地址(必填):设备的ip地址
用户名(必填):设备连接的用户名
密码(必填):设备连接的密码
端口号(必填):设备连接的端口号
设备测试:
测试按钮可以在填写完设备连接信息之后做一下连通性测试用来手动验证一下自己填写的设备信息是否正确
(3)编辑设备
选择具体的设备,进行编辑,回显现有设备的相关信息。字段信息和新增设备的一样。
(4)删除
单个设备删除:
选择具体的设备,点击删除按钮,删除此设备,导入配置管理的话,在设备管理中不可删除
批量删除:
选择多个设备,点击删除按钮,批量删除设备,导入配置管理的话,在设备管理中不可删除
(5)下载模板
下载设备新增的模板
(6)批量新增
导入设备新增模板,可添加单个设备也可添加多个设备,如果设备已经存在则直接更新设备内容,如果设备不存在则直接新增相应设备。
(7)测试
可对选择的设备做设备连通性测试。
2.2配置管理
2.2.1配置包管理
2.2.1.1功能介绍
针对整体项目多个路口、路段下的MEC和雷视一体机做配置管理。实现了服务包的部署、配置文件的相关管理、配置路径的修改、配置引擎的修改、查看证书、查看地图、文件拷贝、绘制围栏、启动RSS、启动推流、设置自启动等相关功能。
2.2.1.2业务流程图
2.2.1.3详细介绍
(1)导入设备
可从设备管理列表种选择相应的设备导入到配置管理列表中进行配置管理,主要是导入相应的MEC和雷视一体机类型的设备。
(2)批处理
(1)服务包批处理:
分为全量包的安装卸载和配置替换以及增量包的安装。
服务包安装:
设备全量包的安装部署,包含mec和雷视一体机两种类型
字段说明:
设备类型:目前是包含MEC、雷视一体机两种类型
包类型:包含全量包和增量包两种
包名称:根据设备类型以及包类型去服务包管理中去筛选相应的服务包列表
服务包卸载:
设备全量包的卸载,直接卸载选中机器上面的服务包。配置参数替换的具体字段信息如下截图。
服务包配置替换:
设备全量包初始化安装完成之后,需要替换rss中的初始配置参数。
(2)配置文件上传
新增配置文件:
单个文件:指定服务器中的一个目录,上传单个文件,上传至服务器的文件名称是自己填写的名称。
字段说明:
文件名称:上传至服务器的文件想要修改成的名称
文件目录:文件上传服务器上的指定目录结构下
配置文件:需要上传的配置文件,单个文件
单个目录:将本地多个配置文件放入一个文件夹打成一个zip包,将这个zip包里面所有文件都上传到服务器的一个指定文件夹中
字段说明:
文件目录:文件上传服务器上的指定目录结构下
配置文件:需要上传的配置文件,zip压缩包
多个目录:将本地多个配置文件放入多个文件夹打成一个zip包,然后上传的时候会自动根据文件夹的名称将文件夹下面的所有文件上传到服务器的指定文件夹中。
字段说明:
文件目录:文件上传服务器上的指定目录结构下
配置文件:需要上传的配置文件,zip压缩包
修改配置文件名称:
选择一个或者多个设备,修改其对应的配置文件名称。
更新配置文件内容:
选择一个或者多个设备,修改其对应的配置文件中具体某个值。
删除配置文件:
选择一个或者多个设备,删除其中某个文件目录中的某个配置文件。
修改配置文件内容:
选择一个或者多个设备,批量替换对应的配置文件中指定的内容。
(3)路径配置:
修改设备进行配置扫描的配置路径。
(4)配置引擎:
修改设备中的引擎。
字段说明:
版本名称:可指定上传的引擎的自定义版本名称做引擎版本的管理
引擎文件:需要更新的对应引擎文件
(3)启动Rss
选择对应的设备,启动部署到设备对应的rss程序,如果没有rss程序则直接启动,如果已有rss程序,则杀掉程序后重新启动rss程序。
(4)关闭Rss
选择对应的设备,杀掉rss程序。
(5)启动推流
选择对应的设备,启动部署到设备对应的推流程序,只有雷视一体机类型的设备有相应的推流,如果没有推流程序则直接启动,如果已有推流程序,则杀掉程序后重新启动推流程序。
(6)配置扫描
扫描对应机器上面的配置路径下面的所有的配置文件,包含对应配置文件的编辑、删除、查询、配置文件版本名称编辑、配置文件历史版本删除、配置文件下载、配置文件查看、对比更新等操作
(1)配置文件查询:
对所有扫描出来的配置文件做查询操作,在所有配置文件中查询出来包含关键字的所有文件列表。
(2)配置文件编辑:
可编辑服务器上面配置文件的名称以及指定文件目录。
(3)配置文件删除:
可直接删除服务器上面相应的配置文件,可删除单个配置文件或者批量删除多个配置文件
(4)配置文件版本编辑
可对管理的配置文件版本做版本名称的编辑,这个是修改的存入到数据库中的数据
(5)配置文件版本删除
可对管理的配置文件的历史版本做删除,这个删除的存入到数据库中的数据,超过30天的历史版本也会自行做清理删除。以及不可删除最新版本的配置文件
(6)配置文件版本下载
可对相应的配置文件版本进行下载,以文件的方式下载到本地
(7)配置文件内容对比
可选择其中一个版本显示对应的版本,右侧的话可直接编辑最新的版本内容,对比显示的版本和最新编辑的内容的不同,然后显示出不同的内容信息
(8)配置文件内容更新
可直接编辑最新的配置文件版本内容上传到服务器上面,以及更新相应的配置文件管理,如果配置文件内容无变化,直接在最新的版本上更新对应的版本内容以及更新时间。如果有变化则直接在版本管理上创建一个新的版本
(9)新建配置文件
新增配置文件:
单个文件:指定服务器中的一个目录,上传单个文件,上传至服务器的文件名称是自己填写的名称。
字段说明:
文件名称:上传至服务器的文件想要修改成的名称
文件目录:文件上传服务器上的指定目录结构下
配置文件:需要上传的配置文件,单个文件
单个目录:将本地多个配置文件放入一个文件夹打成一个zip包,将这个zip包里面所有文件都上传到服务器的一个指定文件夹中
字段说明:
文件目录:文件上传服务器上的指定目录结构下
配置文件:需要上传的配置文件,zip压缩包
多个目录:将本地多个配置文件放入多个文件夹打成一个zip包,然后上传的时候会自动根据文件夹的名称将文件夹下面的所有文件上传到服务器的指定文件夹中。
字段说明:
文件目录:文件上传服务器上的指定目录结构下
配置文件:需要上传的配置文件,zip压缩包
(10)替换参数
替换不同相机中的locationer中的几个5个参数,如果模板中填写的对应参数为空,则不进行替换,否则替换对应的参数值。
替换基础配置
替换不同相机中对应的安装部署的配置信息。主要包括经纬度以及航向角信息。
(11)更新引擎
可更新指定的引擎。
(7)绘制围栏
支撑直接从服务器上拉取点位图片和本地上传点位图片进行围栏绘制两种。点击像素点进行围栏绘制,如果画错可进行撤销或者清除绘制。绘制完成点击绘制闭合按钮生成封闭的围栏区域。选择下拉选择上传围栏的名称或者直接新增一个自定义的围栏名称,点击进行上传,则可直接把绘制好的围栏文件上传到服务器的相应目录文件下面。也支持将绘制好的围栏进行导出,生成围栏文件导出到本地。支撑放大或者缩小相应的绘制围栏的区域。
(8)查看日志
支撑查看设备部署时候的安装、卸载、替换参数日志,rss对应的启动日志、推流日志以及设置了自启动设备相应的日志详情信息。
(9)查看证书
支撑查看设备中rss程序的相关证书列表。
(10)查看地图
支撑查看设备中rss程序的相关地图列表。
(11)更新路径
支撑更新设备上的rss程序上的配置文件的扫描路径。
(12)更新引擎
支撑更新设备上的rss程序上的引擎文件。
(13)拷贝文件
从主设备机器拷贝相关的配置文件至相同叶子节点下的选择的从机器上。
2.2.2部署包管理
2.2.2.1功能介绍
针对rss服务包的管理,主要是包含MEC和雷视一体机的全量包和增量包的部署包的管理。包含新增、编辑、删除、详情、下载、查询等相关功能。
2.2.2.2业务流程图
2.2.2.3详细介绍
(1)新增包
可新增mec或者雷视一体机的全量包或者增量包,进行包版本的管理
(2)编辑包
可编辑mec或者雷视一体机的全量包或者增量包,进行包版本的管理
(3)包详情
可编辑mec或者雷视一体机的全量包或者增量包,进行包版本的管理
(4)包下载
可将部署包下载到本地
(5)包删除
删除管理的部署包,可选择一个包或者多个包进行删除。
(6)包查询
查询管理的相应的部署包。
2.2.3操作记录
2.2.3.1功能介绍
主要记录了部署包相关的安装、卸载操作记录以及配置文件相应的操作记录。
2.2.3.2业务流程图
2.2.3.3详细介绍
(1)部署包记录
记录了设备部署rss程序的整体的记录,包含字段信息有设备IP、设备类型、包名称、包类型、包版本、操作类型、操作结果、详情、操作时间。
查询记录:可根据相应的筛选条件对部署包操作记录进行筛选。
(2)配置文件记录
记录了配置文件整体的相关操作记录,包含字段信息有设备IP、配置文件名称、配置文件版本、操作类型、操作结果、详情、操作时间。
查询记录:可根据筛选条件对配置文件记录进行相应的筛选。
2.3工具管理
2.3.1功能介绍
对整体的离线工具进行管理。支撑对于不同的离线工具进行分类管理,以及支撑创建、编辑、删除不同的分类。支撑对工具的新增、更新、删除、下载工具、下载操作手册的相关功能。
2.3.2业务流程图
2.3.3详细介绍
(1)工具分类管理
新增分类:新增相应的工具分类,新增对应的tab页面
编辑分类:编辑相应的工具分类的名称
删除分类:删除相应的工具分类
(2)工具管理
新增工具:选择相应的工具分类tab页,在此分类下面新增工具
更新工具:选择相应的工具,更新相应的工具名称、工具以及操作手册
删除工具:选择相应的工具,删除工具
下载离线工具:选择相应的工具,下载到本地
下载操作手册:选择相应的工具,下载相应的操作手册至本地
2.4用户管理
2.4.1功能介绍
对整个系统菜单权限进行角色管理,以及对系统用户进行用户管理。
2.4.2业务流程图
2.4.3详细介绍
(1)角色管理
新增角色:新增角色,给不同的角色分配不同的菜单权限
编辑角色:编辑角色,给不同角色分配不同的菜单权限
删除角色:删除选中的角色
角色详情:查看对应角色下分配的菜单权限
查询角色:根据角色名称筛选指定的角色
(2)账号管理
新增账号:新增用户,并给用户指定相应的角色,分配相应角色的菜单权限
编辑账号:编辑账号,编辑用户的个人信息,以及关联的角色信息
删除账号:删除选中的账号
账号详情:查看对应用户的个人信息详情
重置密码:可以为用户重置登录密码
查询用户:可根据用户信息筛选对应的用户列表
2.5实时小屏
2.5.1功能介绍
可直接接入路侧的rss软件,实时同步查看对应的感知效果,配合进行相应的调试工作。
2.5.2业务流程图
2.5.3详细介绍
主要分为三部分:
第一部分:上面是具体实时的时间戳
第二部分:
右侧是当前mec或者雷视一体机在同叶子节点下面的类型为枪机和鱼眼类型的所有摄像头的实时视频画面,默认进入是不开启实时视频流的接入的。视频中间有个暂停按钮的界面。只有点击了按钮才能进行视频流的接入开启。多个视频有垂直滚动条进行多个展示。左侧有一个折叠按钮,点击折叠按钮进行视频折叠且关闭视频流的接入。展开的话则还是非接入状态,然后在点击开启按钮进行视频流的开启。视频流的接入路径、用户名、密码都在设备管理模块进行统一的管理。
第三部分:
左侧按钮功能。目前有两个按钮,一个显示图层,一个录制按钮。
点击图层按钮,显示上面的展示,目前有uuid、车牌、类型三种。可以通过按钮形式的确定在车辆信息是是否展示对应这几个信息。
点击录制按钮,录制按钮变成红色,然后开始进行这台机器的日志录制以及整体屏幕的录制,再次点击这个录制按钮,按钮颜色恢复之前颜色,然后在机器上生成对应的”trackrecord_时间戳”的日志文件夹,以及生成录制屏幕的视频,这个录制完的屏幕视频可以直接放到”trackrecord_时间戳”的日志文件夹中,然后在通过日志下载的那个功能做统一下载。
淘宝购买链接:https://h5.m.taobao.com/awp/core/detail.htm?ft=t&id=773257274863