EasyCVR的级联功能是将我们上面的通道通过国标标准的sip协议推送到上级去的一种方式,但是不同的上级平台对接设置上都有各自的特点,我们在配置的时候还需要根据不同平台的属性进行调整。
EasyCVR在运行过程中当下级设备的ip发生变化时,我们发现上级EasyCVR平台界面却没有变化。针对这个问题我们来进行一个简单的排查和分析。
首先观察数据库数据,发现数据库下级设备表数据已经更新,但是主的设备表没有更新,所以应该是设备信息更新的时候没有更新主表的信息。
这可能是我们的更新机制不够完善,因此我们需要在更新子设备数据的时候,同步更新主设备信息。
添加如下代码,首先先查出在子设备表中的主表信息数据,然后再同步更新主表中的设备信息,达到同步的效果:
err := db.SQLite.Where("id = ?", serial).First(&gbdevice).Error
if err != nil {
bSendOK = false
log.Println("err", err.Error())
return
}
rad := db.SQLite.Model(cvrdo.DBChannelInfo{}).Where("id = ?", gbdevice.Index).Updates(map[string]interface{}{
"device_ip": c.Transport.RemoteIP,
}).RowsAffected
if rad == 0 {
bSendOK = false
return
}
更新过后,界面查看效果:
视频融合云平台EasyCVR是一个集视频联网共享、存储、流媒体转发、视频转码、视频上云、智能分析统一等多种功能为一体的流媒体视频服务融合性平台。视频相关解决方案均可访问TSINGSEE青犀视频,可以联系我们获取演示方案,直观感受,也可自行进行下载及测试,欢迎大家了解。
|