HappyAI 算法任务调度平台 - 接入
1. 应用侧(提供数据管理及下发控制)
1.1 概览(CPU 内存 系统信息)
1.2 相机管理(监控查看 启动任务 停止任务)
1.3 算法平台
1.4 算法管理
1.5 算法任务
1.6 媒体资源(上传mp4文件,生成url地址,供ai解析用)
1.7 系统配置(webrtc信息:从流媒体拉取AI视频流;告警回调URL:有更新时,同步通知所有的AI平台)
1.8 告警事件
1.9 系统日志
1.10 Swagger
向下对算法侧提供接口
api/third/clear_stream_status:清除相机取流状态
api/third/clear_task_status:清除相机任务状态
api/third/update_stream_status:更新相机取流状态
api/third/update_task_status:更新相机任务状态
api/third/update_task_result:更新相机任务结果
api/third/get_aiinfor_url:获取回调地址
api/third/get_task_normal:获取该相机算法侧上的所有任务(不包括手动停止的任务)
api/third/get_task_error:获取任务失败的相机
api/third/get_task_one:获取该相机编码上的任务
api/third/get_behavior_info:获取相机算法侧上的算法信息
向上接收算法侧信息接口(http post)
api/aiinfo { "platformcode": "AI01", "event": "INFO",}
platformcode: 算法平台编码
event: 事件类型 INFO:告警事件;ERROR:错误信息;HEART:心跳信息(定时5分钟更新)
2. 算法侧
向下对应用侧提供接口(http post)
启动任务 starttask { "cameracode": "IPC001" }
停止任务 stoptask { "cameracode": "IPC001" }
更新回调接口 updateaiinfourl { "newurl": "http://192.168.0.235:5500/api/aiinfo" }
向上为应用侧提供的资料有
平台编码:AI01,配置文件修改
算法参数:
behavior_param 算法参数 json
{"behavior":"ssd", "videoquality": 1, "checkinterval": 0, "alarminterval": 5000, "detection": "target", "param": "person;tv"}
{"behavior":"yolo", "videoquality": 2.5, "checkinterval": 1000, "alarminterval": 5000, "detection": "target", "param": "person;tv"}
behavior: 算法类型 (ssd/yolo)
videoquality: 推流图像质量(1:原始比例 值越大越模糊)
checkinterval: 检测间隔 (单位毫秒 0:不间隔,1000:1秒)
alarminterval: 告警间隔(单位毫秒 1000:1秒)
detection: 检测类型 (target(目标检测) / mediapipe(骨骼检测))
param: 检测参数(为空时全检测,不为空时检测是否包含项)
数据库文档
数据库名称happyai
camera相机表 |
||
字段名 |
类型 |
说明 |
id |
bigint |
主键、自增 |
camera_code |
varchar(50) |
相机编码 |
camera_name |
varchar(50) |
相机名称 |
rtsp_url |
varchar(100) |
rtsp地址 |
push_url |
varchar(100) |
推流地址 |
push_flg |
varchar(10) |
是否推流 ON:算法处理的视频不推流 OFF:算法处理的视频推流 |
stream_status |
varchar(10) |
取流状态 WAIT:等待 SUCCESS:成功 FAIL:失败 |
task_status |
varchar(10) |
任务状态 WAIT:等待 RUN:运行中 STOP:已停止 |
task_result |
varchar(10) |
任务结果 WAIT:等待 SUCCESS:成功 FAIL:失败 |
remark |
varchar(200) |
备注 |
platform 算法平台表(集群用) |
||
字段名 |
类型 |
说明 |
id |
bigint |
主键、自增 |
platform_code |
varchar(10) |
平台编码:算法侧提供(算法程序配置文件配置) AI01 |
platform_name |
varchar(10) |
平台名称 算法平台1 |
platform_api_url |
varchar(50) |
平台接口地址 |
update_time |
varchar(50) |
心跳时间(5分钟上传一次) |
remark |
varchar(200) |
备注 |
behavior 算法表 |
||
字段名 |
类型 |
说明 |
id |
bigint |
主键、自增 |
behavior_code |
varchar(50) |
算法编码:算法侧提供
|
platform_code |
varchar(100) |
平台编码 |
behavior_name |
varchar(10) |
算法名称 |
remark |
varchar(200) |
备注 |
task 算法任务表 |
||
字段名 |
类型 |
说明 |
id |
bigint |
主键、自增 |
camera_code |
varchar(100) |
相机Id |
platform_code |
varchar(100) |
平台编码 |
behavior_code |
varchar(100) |
算法编码 |
behavior_param |
varchar(100) |
算法参数:json格式 |
task_status |
varchar(10) |
任务状态 WAIT:等待 RUN:进行中 STOP:已停止 |
alarm_event 告警事件表 |
||
字段名 |
类型 |
说明 |
id |
bigint |
主键、自增 |
camera_code |
bigint |
相机编码 |
behavior_code |
bigint |
算法编码 |
behavior_time |
int |
算法耗时 |
alarm_content |
varchar(50) |
告警内容 |
alarm_image_url |
varchar(100) |
告警图片地址 |
event_time |
datetime |
告警时间 |
sys_log 系统日志表 |
||
字段名 |
类型 |
说明 |
id |
bigint |
主键、自增 |
log_content |
varchar(200) |
日志内容 |
log_time |
datetime |
日志时间 |
sys_config 系统配置表 |
||
字段名 |
类型 |
说明 |
id |
bigint |
主键、自增 |
ai_info_url |
varchar(200) |
Ai信息回调地址 |
server_ip |
varchar(200) |
服务端ip |
media_file 媒体资源表 |
||
字段名 |
类型 |
说明 |
id |
bigint |
主键、自增 |
media_name |
varchar(200) |
媒体文件名 |
media_url |
varchar(200) |
媒体url地址 |
file_path |
varchar(200) |
文件地址 |
remark |
varchar(200) |
备注 |