EasyGBS删除告警信息后无法同步删除告警录像和快照的优化方案

在TSINGSEE青犀视频平台中,EasyGBS和EasyCVR结构化智能分析平台都是支持告警上报功能的,当EasyGBS在底层数据收集上来后,在对原始数据解析,增加了告警计算后将告警信息持久化,当监测有异常情况时,系统就会自动截取快照并记录时间。

EasyGBS在客户现场运行时,出现了一个关于告警的问题,即告警删除没有同步删除告警录像和快照,导致视频和图片文件依然占用磁盘空间。

我们对录像文件进行检查,能够查看到当数据库记录删除的时候,没有去删除对应的资源文件,导致硬盘空间占用。

添加如下代码,当前端删除告警记录的时候,去数据库查找对应的记录然后从中获取到快照路径和录像路径,然后删除磁盘上对应的文件。

var alarmList []models.Alarm

dbclient.Table(models.Alarm{}.TableName()).Find(&alarmList, `id in (?)`, alarmid_arr)

for _, v := range alarmList {

alarmRecordDir := filepath.Join(utils.DataDir(), v.AlarmRecord)

os.RemoveAll(alarmRecordDir)

}

再次查询记录成功删除。

当然了,EasyGBS并不是一个封闭的系统平台,假如用户有其他的平台,想要调取我们的设备报警信息,也可以通过接口来获取,EasyGBS视频平台提供了丰富的二次开发接口,用户可以自由选择不同的接口调用并集成到自己的平台上,操作简单方便,欢迎了解。

posted on 2021-09-28 16:23  EasyGBS  阅读(60)  评论(0)    收藏  举报