随笔 - 936  文章 - 0  评论 - 3  阅读 - 30万

国标GB28181协议视频平台EasyGBS接入通道非按需控制台频繁打印sql语句解决

EasyGBS是TSINGSEE青犀视频支持国标GB28181协议的视频平台,提供用户管理及web可视化页面管理,及录像检索、回放,并且可根据项目自身的需求设定是否按需播放。

EasyGBS的项目现场中当开启sql日志打印并接入通道进行非按需播放的时候,控制台会频繁打印查询设备的sql语句,这个操作会占用数据库的资源,因此我们要找出这个问题的原因,减轻不必要程序对数据库的占用。

1
Select *  from t_devices  where (id=”***”) order  by t_device.id asc limit 1

 

 通过检查代码发现,当设备为非按需,且在流保活周期内,这个时候并不需要查询数据库中的设备列表数据,只有当设备为非按需状态且在保活周期外的时候,才需要调用数据库链接查询。

所以我们对代码进行修改,限制控制台对数据库的查询,修改代码如下:

_devInfo := &models.Device{}
db.SQLite.Where("id = ?", sipDev.DeviceID).First(_devInfo)
if !db.SQLite.NewRecord(_devInfo) {
       transport = _devInfo.MediaTransport
       stream_ip = _devInfo.StreamIp
       //transportMode = _devInfo.MediaTransportMode
}

再次测试,当设备为非按需状态时,程序控制台也没有去查询数据库。

 EasyGBS作为稳定可靠的视频智能分析平台,已经具备很高的可用性了,平台提供RTSP、RTMP、HTTP-FLV、HLS等多种协议流输出,并且对外提供服务器获取状态、信息。目前TSINGSEE青犀视频也推出了国标GB28181协议的视频推流工具EasyGBD,配合EasyGBS使用,在户外的国标协议推流当中可以起到重要作用,场景不限于外勤执法、异地直播等。

 

 

posted on   EasyGBS  阅读(68)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示