在TSINGSEE青犀视频云边端架构产品中,我们经常会和大家强调配置文件即ini文件的重要性,很多程序的配置都可以直接通过配置文件进行修改,包括修改切片时间、修改密码错误限制次数等功能,因此配置文件不可缺失或者被损毁。

在某位用户的 EasyNVR 现场当中,EasyNVR的配置文件内容丢失了很大一部分,导致整个程序运行不正常。

根据配置文件分析,该文件内容应该是曾经被写入了空数据,然后用户再通过网页界面或者接口方式等写入了新的配置到配置文件中。因此查看代码,看是否会有此种现象存在。

保存数据代码如下:

func SaveToConf(section string, kvmap map[string]string) error {var _conf *ini.Filevar err errorif _conf, err = ini.InsensitiveLoad(ConfFile()); err != nil {if _conf, err = ini.LoadSources(ini.LoadOptions{Insensitive: true}, []byte("")); err != nil {return err}return err}sec := _conf.Section(section)for k, v := range kvmap {sec.Key(k).SetValue(v)}_conf.SaveTo(ConfFile())conf = _confreturn nil
}

该段代码,确实会生成一个空文件。当因为异常出错时,生成一个空内容的文件,然后进行下面的操作,就可能会导致该种现象的产生。

因此我们需要将对应的代码注释掉,直接返回错误,即可解决该问题。

func SaveToConf(section string, kvmap map[string]string) error {var _conf *ini.Filevar err errorif _conf, err = ini.InsensitiveLoad(ConfFile()); err != nil {/*if _conf, err = ini.LoadSources(ini.LoadOptions{Insensitive: true}, []byte("")); err != nil {return err}*/return err}sec := _conf.Section(section)for k, v := range kvmap {sec.Key(k).SetValue(v)}_conf.SaveTo(ConfFile())conf = _confreturn nil
}

如何应对项目现场EasyNVR视频平台内ini配置文件丢失的现象?相关推荐

  1. 旧版RTSP协议网页视频无插件直播EasyNVR视频平台为什么无法播放H264编码视频?

    RTSP协议视频平台EasyNVR经过了很多代的升级,目前已经支持H.265编码视频的播放,然而我们很多客户使用的还是旧版本的EasyNVR视频服务器软件(4.0.0之前的版本统称为旧版,均不支持H2 ...

  2. 如何查看Linux系统运行RTSP协议EasyNVR视频平台端口被占用的进程?

    很多用户在linux下启动EasyNVR视频平台都经历过启动失败,我就总结了一下,发现最常见的原因就是端口被占用了,具体报错就是在启动时,报了In Use错误,程序就停滞了. 使用EasyNVR的用户 ...

  3. RTSP/Onvif协议EasyNVR视频平台Linux版本云端录像下载异常的修复

    EasyNVR是我们基于RTSP/Onvif协议推出的视频能力平台,既有硬件设备,又有软件平台,是比较灵活的一项流媒体项目.EasyNVR可实现设备接入.实时直播.录像.检索与回放.存储.视频分发等视 ...

  4. 创业项目之一短视频平台创业学习手册

    第一.新手开始了解的内容 1.确认好自己是要做创业社群 恋爱社群或者是继续做自己目前所从事的行业产 品的推广或者是具体产品的代销 因为只有确认好自己以后的发展方向才能具体确 认推广内容 因为抖音的吸粉 ...

  5. 长短视频平台内卷自制剧,网剧制作商耐看娱乐能“耐看”吗?

    随着智能手机和移动互联网的普及,刷剧已成为大众普遍的娱乐方式之一,不少网友沉迷在刷剧的世界里.在微博话题#无数次熬夜的原因#中,最高赞的回答便是"再看一集就睡",足以见得剧集的魅力 ...

  6. rtsp协议的视频服务器,RTSP拉流协议视频平台EasyNVR能够接入多少路视频直播流?...

    EasyNVR视频平台能够进行多线程直播,新版更新的视频分屏功能也让多线程直播更加直观.经常有用户问我们最大能接入多少路视频流,其实这个是不固定的,具体还是要根据现场的网络和服务器来看.EasyNVR ...

  7. IP摄像机RTSP协议视频平台EasyNVR点击程序启动后闪退问题排查及解决

    前段时间,TSINGSEE青犀视频的研发团队的技术支持在给客户进行EasyNVR排错,这位客户的报错主要是EasyNVR.exe程序无法进行启动并且启动就会闪退,虽然使用服务方式启动都显示正常,但是服 ...

  8. 网络摄像头RTSP协议视频平台EasyNVR录像计划模块开发过程

    自从国标GB28181协议视频平台EasyGBS增加了录像计划模块之后,部分已经更新的用户都对此功能表示极为有用.鉴于EasyGBS的成功经验,我们对EasyNVR也开发了录像计划的功能. EasyN ...

  9. 【解决方案】EasyNVR视频边缘计算网关城市智慧交通解决方案

    智慧交通是在交通领域中充分运用物联网.云计算.人工智能.自动控制.移动互联网等现代电子信息技术面向交通运输的服务系统,具有高效.便捷.安全等优势,能够极大地提升交通系统运行效率和管理水平. 智慧交通作 ...

  10. 【解决方案】EasyNVR视频边缘计算网关如何实现智慧消防?

    一.方案背景 随着移动互联网.5G.人工智能.大数据.物联网等新兴技术的高速发展迭代及商业化普及,智慧消防已经从概念进入到线下场景的应用中. 当前消防行业的传统监控方式普遍具存在以下问题,亟需迭代升级 ...

最新文章

  1. 学习笔记--zabbix
  2. Swift2.0语言教程之函数的返回值与函数类型
  3. V3S代码整合中遇到的一个奇怪问题
  4. 养成一个SQL好习惯带来一笔大财富
  5. 从0搭建在线聊天室,只需4步!
  6. 复旦大学张奇组:对话摘要数据不足?对话数据、文档摘要数据,我全都要!...
  7. 前端js自动填写 点击_爬虫自动填写学生健康打卡表
  8. CF938G Shortest Path Queries(线性基,线段树分治,并查集)
  9. 纪中B组模拟赛总结(2020.2.1)
  10. Lucene –快速添加索引和搜索功能
  11. c语言开根号不用math,c语言sqrt求平方根 该函数头文件:math.h;
  12. 安装tomcat时出错:failed to install tomcat6 service问题的解决方法
  13. 使用网络调试助手时,踩坑
  14. pdffactory 打印字体_PDFFactory
  15. 组态王通过Modbus TCP与ESP32通讯
  16. JavaWeb HTTP状态 405 - 方法不允许
  17. Python学习之绕圈圈题
  18. python进阶必读汇总
  19. Android Studio 美化
  20. 收到一封钓鱼邮件……

热门文章

  1. C#实现模糊PID算法的代码
  2. itools 苹果录屏大师 java_itools录屏大师使用常见问题_itools苹果录屏大师无法连接解决办法...
  3. 新经济 DTC 转型,一个简单而强大的数据平台至关重要
  4. 人机工程学座椅设计_人体工程学_座椅设计说明
  5. 3dsMax7数据导出方法及存在问题
  6. 家用智能门锁常见的开锁方式,主要有哪些?
  7. 超好看的二次元个人主页源码
  8. 【深入理解JS核心技术】13. 什么是高阶函数
  9. qq机器人升级最新教程
  10. Android小游戏------猜数字