在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视频平台提供了丰富的二次开发接口,用户可以自由选择不同的接口调用并集成到自己的平台上,操作简单方便,欢迎了解。
博客介绍了在TSINGSEE青犀视频平台的EasyGBS中,发现告警删除后未同步删除录像和快照的问题。为解决这个问题,添加了代码段来实现在前端删除告警记录时,同时删除对应的磁盘资源,确保硬盘空间不被占用。此外,EasyGBS提供丰富的二次开发接口,允许用户集成到自己的平台获取设备报警信息。
205

被折叠的 条评论
为什么被折叠?



