# 安播辅助服务程序说明 ## 程序运行流程 1. 从`超脑WebAPI` 取出基础信息,基础信息包括 - 算法信息 - 平台信息(摄像机信息) 2. 从总控WebAPI获取到相关的`处理规则` 3. 从超脑(也是Redis)获取到监测信息,信息包括 - 是否带口罩 - 人员计数等 4. 根据`处理规则`处理获取到的监测信息 5. 将处理过的信息写入到数据库中 ## 使用到的地址 1. 超脑基础信息API地址 [apifox](https://apifox.com/apidoc/shared-1f40509b-3aca-4c2c-9d8e-381b986b085a/api-183796683) 2. Redis地址 - IP:http://172.16.36.80:30000/vos/ - 端口:32222 - 密码:Ff1z@TOFr^iwd%Ra 3. 总控数据库 - SQL Server - 数据表:EQM_BJ - IP:192.1.3.105 - 用户名:sa - 密码:Qwer1234 - 达梦数据库 - 数据表:EQM - IP:192.1.2.44 - 密码:QWERT12345 - 数据库:EQM_BJ - WebApi - 地址:http://192.1.3.133:31000/v6/ - SQL_SERVER EQM_BJ SerID:4c2f9fc91c22dd98331e47af2e2964f4 ## 从行业超脑获取基础信息 1. 使用http从行业超脑获取到`算法列表`和`设备列表` 2. 这里使用一个线程单独读取,可能需要定时更新 3. `算法列表`和`设备列表`和`tAction`对应的值,`算法列表`好像只有这三个只有用,读取到后写入到EQM数据库 |算法列表|设备列表|EQM| |:--|:--|:--| |ability|ability|ActionId| |taskTypeId|taskTypeId|ActionTaskid| |muAiName|taskTypeName|ActionName| 4. `设备列表`获取的数据写入到EQM数据库的`tActionCamer`表格中,其对对应的关键字如下 |设备列表|tActionCamer| |:--|:--| |deviceId|CamerId| |deviceName|CamerName| |deviceSerial|CamerSerial| |deviceType|CamerType| |port|CamerPort| |userAccount|CamerUsr| |userPWD|CamerPwd| ## 从Redis获取数据 1. `Key`的组成:`%d : %s`, `DeviceID`, `算法ID` 2. `算法ID`通过获取摄像头算法列表获取到这个设备的算法编号,关键字是`ability`,存放在EQM数据库的tAction表格的ActionID 3. Redis获取到的是JSON格式的数据,写入`tAlarmInfo`表格,需要根据Redis数据去其他表格获取补充数据,组合好后写入`tAlarmInfo`表格。Redis数据格式如下: ```JSON { "actionDes": "", "actionResult": true, "alarmId": 73113, "beginTime": "2024-09-01T16:52:38.426", "channel": 1, "classifyId": 64, "classifyName": "培训教室-海康", "deviceSerial": "172.16.9.31", "endTime": "2024-09-01T16:53:38.426", "eventTime": "2024-09-01T16:53:08.426", "imageInfo": "http://webdav-read.default:80/webdav//GUI/1/PUMPING/2024/09/01//66d42b74e4b02066478c1ace.jpg", "isKeyPoint": 0, "personList": [], "picUrl": "66d42b74e4b02066478c1ace.jpg", "taskId": 452, "taskName": "夜晚001", "bBoxes": [ { "bbox": [ 1692, 369, 1791, 604 ], "colorFlag": 1, "conf": [ "0.03" ], "label": [ "未成年人" ], "match_id": "", "status": false } ] } ``` 4. 补充数据关键字和其对应的EQM库表格 |关键字|补充表格|所需的数据| |:--|:--|:--| |channel|tChannel|获取通道信息| |CamerId|tRoomCamer|获取到RoomId| |RoomId|tRoomInfo|获取到Room信息| ## EQM数据库表格说明 1. `tAction`是算法信息表,从超脑获取到的算法信息写入这个表格 2. `tWorkOnInfo`是人员在岗信息表,也包含人脸信息库 3. `tActionCamer`摄像机ID,和算法ID关联 4. `tFaceUser`用户信息表 ## 启动程序,可能需要从EQM获取的数据 1. `tCamerinfo`获取摄像机信息 2. `tAction`获取算法信息 3. `tPeriod`获取时段详细信息,这里是补充获取摄像机信息 4. `tRoomCamer`获取房间信息,这里是补充获取摄像机信息 5. `tRoomCamer`获取通道信息,这里是补充获取摄像机信息 ## 应用各算法的检测逻辑 1. 逻辑详情见[安播辅助提示系统需求文档](https://alidocs.dingtalk.com/i/nodes/20eMKjyp81pbx3nQUAEOAlnGJxAZB1Gv?utm_scene=person_space)