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”

问题暂时解决,初步怀疑是时间精度导致的,后续继续观察是否还有重复数据。

InfluxDb中写入重复数据问题解决方案的更多相关文章

  1. Oracle、SQLServer 删除表中的重复数据,只保留一条记录

    原文地址: https://blog.csdn.net/yangwenxue_admin/article/details/51742426 https://www.cnblogs.com/spring ...

  2. Oracle删除表中的重复数据

    Oracle数据库删除表中的重复数据,只保留其中的一条,以两个字段为例,提供两种方法 ①.直接delete重复的数据 delete from table_name t1 where (t1.col1, ...

  3. Java 实现word 中写入文字图片的解决方案

    JAVA生成WORD文件的方法目前有以下两种方式: 一种是jacob 但是局限于windows平台 往往许多JAVA程序运行于其他操作系统 在此不讨论该方案; 一种是poi但是他的excel处理很程序 ...

  4. Excel中如何在两个工作表中查找重复数据

    有时我们可能会在两种工作表中查找重复记录,当数据记录很多时,就必须通过简单的方法来实现.下面小编就与大家一起分享一下查看重复记录数据的方法,希望对大家有所帮助. 方法/步骤   为了讲解的需要,小编特 ...

  5. oracle学习----去除表中的重复数据

    重复的数据可能有这样两种情况,第一种:表中只有某些字段一样,第二种:两行记录完全一样.第一.对于部分字段重复数据的删除        先来谈谈如何查询重复的数据吧.        下面语句可以查询出那 ...

  6. 删除一个表中的重复数据同时保留第一次插入那一条以及sql优化

    业务:一个表中有很多数据(id为自增主键),在这些数据中有个别数据出现了重复的数据. 目标:需要把这些重复数据删除同时保留第一次插入的那一条数据,还要保持其它的数据不受影响. 解题过程: 第一步:查出 ...

  7. SQLServer 删除表中的重复数据

    create table Student(        ID varchar(10) not null,        Name varchar(10) not null, ); insert in ...

  8. .NetCore 中使用AppMetrics向InfluxDB中添加监控数据并通过Grafana图像分析

    考虑到分布式部署监控环境是所有的请求情况,所以这一块一般在网关GateWay里面加比较省事,聚合在一起的,如果放在api服务中,如果只有1个还好,一旦部署Node多是很痛苦的事情 这天需要添加的Nug ...

  9. postgresql数据库中对重复数据的处理

    我们在使用postgresql数据库的时候,如果一张数据表在未做任何约束的情况下,很可能会出现几条完全一样的数据,即重复数据.如下图所示: 那么如果我们要删除其中的2条该怎么办呢?第一种我们可以清空表 ...

随机推荐

  1. API设计相关

    来自HeroKu的HTTP API 设计指南 http://get.jobdeer.com/343.get https://github.com/interagent/http-api-design ...

  2. SpringMVC 表单验证

    SpringMVC 表单验证 本章节内容很丰富,主要有基本的表单操作,数据的格式化,数据的校验,以及提示信息的国际化等实用技能. 首先看效果图 项目结构图 接下来用代码重点学习SpringMVC的表单 ...

  3. 一个Win32API Trace Tool的设计与实现

    用VC编程也有不短的时间了,对kernel32.advapi32.user32.gdi32等动态库里的API多数都已经很熟悉了.API是操作系统提供给应用程序的一组服务,很久以前就想要做个小工具,用来 ...

  4. opencv摄像头捕获图像

    #include <iostream> #include <opencv2/opencv.hpp> using namespace cv; using namespace st ...

  5. Unity20172.0 Android平台打包

    Android SDK及Jdk百度网盘下载链接:https://pan.baidu.com/s/1dFbEmdz 密码:pt7b Unity20172.0 Android平台打包 简介说明: 第一步: ...

  6. Servlet,JSP 中的中文乱码问题以及解决方案

    问题描述: 在Servlet,JSP 传递数据中,英文无影响,而中文有时候就会出现乱码. 解决方案: 相同的编码: 同一个项目中的每个文件应当设置和保存相同的编码方式,如: html中 <met ...

  7. leecode -- 3sum Closet

    Given an array S of n integers, find three integers in S such that the sum is closest to a given num ...

  8. epoll 惊群处理

    #include <sys/types.h> #include <sys/socket.h> #include <sys/epoll.h> #include < ...

  9. uva 471 - Magic Numbers

    题意:给出一个数n,问有多少组数满足是s1/ s2 =n,要求组成s1和s2的数字没有重复的. 分析:枚举,然后二进制判断各位数字是否相同. #include<iostream> #inc ...

  10. 运行时动态库:not found 及介绍-linux的-Wl,-rpath命令

    ---此文章同步自我的CSDN博客--- 一.运行时动态库:not found   今天在使用linux编写c/c++程序时,需要用到第三方的动态库文件.刚开始编译完后,运行提示找不到动态库文件.我就 ...