首页| 论坛| 消息

标题:Qt编写气体安全管理系统17-记录清理
作者:liudianwu
日期:2019-11-25 09:15
内容:

一、前言
记录清理功能,在数据量很小的情况下,用不上,如果数据量大了的话,长年累月存储的,那就显得极其重要了,好比视频监控中的NVR存储的视频一样,一般来说存储个60天,那超过60天怎办呢,擦除早期的数据用来存储最近的数据即可。在这个气体安全管理系统中,数据量长年累月也是很大的,一般来说一个节点默认每分钟存储一个数据,如果100个节点(这个应该是保守的数量,据说应用的好多个现场有500个左右的节点,至于如何突破的modbus255个节点的限制,后面的文章会单独讲解),一天下来就是100*60*24=144000,100天都1440万条数据了,千万级别,这个如果不做早期数据的清理的话,慢慢下去各种性能影响会越来越突出,要么加大存储间隔,要么设定只保存最近的多少条记录,这几个参数都是可以调节的,存储间隔在探测器设置中进行设置,每个探测器节点都可以设置不同的存储间隔;保留最大的记录数在系统设置中设置,默认100W条,超过的会定时清理早期数据。
为此特定封装了一个类DbCleanThread专门用来清理数据和文件夹,为什么还有个清理文件夹的功能呢,这也是现实中需求来的,比如有时候存储一些图片和视频文件等,如果存储器容量不够大,尤其是嵌入式linux,板子上一般存储器不会很大,目前8G居多,随着时间的推移,文件数量会越来越多,本身存储的剩余容量会越来越小,这也需要定期清理早期的文件,保证在现有容量允许的情况下,循环存储文件,编写这个类尽量做成了通用的类,考虑了很多个参数,比如可以设定条件字段、排序字段、清理的间隔、文件夹路径、最大大小等。
皮肤开源:[https://gitee.com/feiyangqingyun/QWidgetDemo](https://gitee.com/feiyangqingyun/QWidgetDemo) [https://github.com/feiyangqingyun/QWidgetDemo](https://github.com/feiyangqingyun/QWidgetDemo)
文件名称:styledemo
体验地址:[https://gitee.com/feiyangqingyun/QWidgetExe](https://gitee.com/feiyangqingyun/QWidgetExe) [https://github.com/feiyangqingyun/QWidgetExe](https://github.com/feiyangqingyun/QWidgetExe)
文件名称:bin_sams.zip
二、功能特点
1. 采集数据端口,支持串口端口+网络端口,串口支持自由设置串口号+波特率,网络支持自由设置IP地址+通讯端口,每个端口支持采集周期,默认1秒钟一个地址,支持设置通讯超时次数,默认3次,支持最大重连时间, ..

回复 发表
主题 版块