InfluxDb中写入重复数据问题解决方案
2024-10-16 06:58:36
1.InfluxDb版本
0.10.3
2.Measurement
TodayChargeTimeReport
只有time和Field列,没有Tag列
3.现象:通过定时任务向上面的表中写入数据:
var point = new Point();
point.Measurement = "TodayChargeTimeReport";
point.Precision = InfluxDB.Net.Enums.TimeUnit.Milliseconds;
point.Timestamp = time;
point.Fields = new Dictionary<string, object>() {
{"Sucess", Convert.ToInt32(value[])},
{"Faild", Convert.ToInt32(value[])},
{"FailureRate",Convert.ToDouble(value[])}
}; point.Tags = new Dictionary<string, object>(); points.Add(point);
定时任务5分钟执行一次,定时任务的内容是查询SQL,查询出凌晨至今的数据,10分钟一个间隔,写入influxdb,发现influxdb中偶尔会出现重复数据:
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
发现重复时间:// ::
对应的grafana也出现错乱现象:
4.诡异的地方
4.1 Influxdb中只有time和Field列,如果时间相同,应该写不进去,但是实际却写进去了
4.2 如果grafana中按group by time(10m),然后对值取Max,理论上应该能过滤掉重复值,但是实际过滤后,还有一大段空值
5.解决方案
因为influxdb不支持删除操作,通过如下操作暂时解决该问题:
5.1 通过程序,将“TodayChargeTimeReport”表中的数据读出来,进行去重操作后,写入“TodayChargeTimeReport1”
5.2 drop measurement "TodayChargeTimeReport"(谨慎!可能会影响influxdb10分钟左右不能访问)
5.3 通过程序,将“TodayChargeTimeReport1”表中的数据读出来,写入“TodayChargeTimeReport”
5.4 定时任务,写入influxdb时的时间精度,由“Milliseconds”改为“Minutes”
问题暂时解决,初步怀疑是时间精度导致的,后续继续观察是否还有重复数据。
最新文章
- MySQL中的两种临时表
- PHP对自己I/O流访问的封装(转)
- centos虚拟机,环境配置
- vb.net 动态调用api
- CI框架3.0关于session的设置改动及存数据库的使用方法
- python 捕获 shell/bash 脚本的输出结果
- 《C和指针》读书笔记——第五章 操作符和表达式
- poj3414--Pots(bfs,记录路径)
- foreach,foreachelse
- asp.net mvc上传图片案例
- Jquery轻量级幻灯插件-OWL Carousel--支持触屏的移动浏览器
- 用Visual Studio 2015 编写第一个UMDF驱动遇到的问题!!
- 如何用九条命令在一分钟内检查Linux服务器性能?
- [转]【C#】分享一个弹出浮动层,像右键菜单那样召即来挥则去
- linux 删除命令
- 分布式系列九: kafka
- python学习1---列表、矩阵、数组
- 搭建私有仓库Harbor
- Gym 100247B	Similar Strings(哈希+思维)
- Mysql 函数使用记录(二)——ELT()、FIELD()、IFNULL()