当前位置: 首页 > news >正文

哪些网站可以做免费答题各大网站收录入口

哪些网站可以做免费答题,各大网站收录入口,邵阳建设网站哪家好,网站建设总体设计一、问题出现 一个学校换热站自控系统,会定时从换热站获取测点数据,并插入到influxdb数据库中。influxdb插入数据时,报错提示: com.influxdb.exceptions.UnprocessableEntityException: failure writing points to database: par…

一、问题出现

一个学校换热站自控系统,会定时从换热站获取测点数据,并插入到influxdb数据库中。influxdb插入数据时,报错提示:

com.influxdb.exceptions.UnprocessableEntityException: failure writing points to database: partial write: field type conflict: input field "HuiYuanZhan.1500.Level_1_H" on measurement "HeatStationData" is type float, already exists as type string dropped=1

问题发生在名为 "HeatStationData" 的测量(measurement)上,其中字段 "HuiYuanZhan.1500.Level_1_H" 的数据类型存在冲突。这个字段在尝试写入时被识别为 float 类型,但它在数据库中已经存在,并且被定义为 string 类型。

InfluxDB 是一个时间序列数据库,它对每个测量中的字段类型有严格的要求。一旦一个字段被定义为某种类型(例如 string),后续写入的数据必须与该类型匹配。如果尝试将不同类型的数据写入同一个字段,InfluxDB 将拒绝写入并抛出错误。

二、查找原因

系统设计时,如果发生读取不到或者异常时,读取的空数据,也给了一个字符串的默认值"0.00",保证了哪怕时空数据也有个默认值,但是这与原来字段的数据类型float、integer、boolean等是不一致的。这个字符串的默认空值不知道为啥可以插入进去,有一段时间正好学校现场网络出现问题,导致系统无法读取到换热站的测点数据,数据库里存储了"0.00"的默认值。最近网络问题解决了,系统存取正常值时,报错无法插入了。

三、解决过程思路

1、把出现"0.00"默认值的,这一段时间的数据全部删除掉

influxdb并没有提供直接删除的flux语句,需要使用其他方法

  • bucket设置数据过期时间,操作范围是整个数据库的数据

  • 命令行界面CLI,使用delete命令删除(我使用的是这种方式)

通过命令操作influxdb时,先要验证权限,这里直接验证token

//权限 设置token:export INFLUX_TOKEN='iCmM46X2GKl2G3rPTtlKHFHljH8tDkWi-e1wpWh_76wlKQ2JDvAqhbhJZz5jdQN4a-iEHT08vSVL4z5S8yUPgw=='
influx delete --bucket autodata \--org auto \--start 2023-06-06T00:00:00Z \--stop 2024-03-07T15:16:01Z \--predicate '_measurement = "HeatStationData" and "tag" = "40" '
  • 访问api接口删除
http://127.0.0.1:8088/api/v2/delete?org=gg&bucket=autocontroldata&precision=s 
2、分析代码,找到赋值默认值的代码段,删除掉,改为读取不到数据时,不存储数据库,保证字段的数据类型一致。

问题代码:

for(int i=0;i<dataList.size();i++){Object value = dataList.get(i).getStatusCode().isBad() ? null : dataList.get(i).getValue().getValue();if(!(value instanceof Float)&&!(value instanceof Boolean)){if(value==null||value.equals(0)){value = "0.00";//System.out.println("float:" + value);}else{value = value+".00";//System.out.println("Integer-----------:" + value);}}
}

优化代码:opc读取的数据,除了常规数据类型,还有一种UShort数据类型,但在influxdb中是没有的,所以在获取到数据后,需要对这一类型先转化成integer类型。

                if(dataList.size()==nodeIdList.size()){for(int i=0;i<dataList.size();i++){/* Variant v = dataList.get(i).getValue();Optional<NodeId> dataType = v.getDataType();*/Object value = dataList.get(i).getStatusCode().isBad() ? null : dataList.get(i).getValue().getValue();if(value==null) {continue;}if(!(value instanceof Float)&&!(value instanceof Boolean)){if(value instanceof UShort){//UShort 转化成Integervalue = ((UShort) value).intValue();}}resultMap.put(nodeIdList.get(i),value);//System.out.println(resultMap.get("get"+nodeIdList.get(i)));}}

因为有的时候测点的值可能是0/1/2这样的整型,也可能是1.2/2.5之类的浮点型,这可能是同一个字段的值,但是系统读取到的值会判断为整型和浮点型,这也会导致同一字段存储两种不同类型的值,所以需要再把整型先转化成浮点型,统一全部浮点型存储,避免出现类型不一致情况

//转换数据类型 数值类型都为float---避免数据出现Integer和float的变化(一个字段只能有一种数据类型)Set set = map.keySet();for (Object o : set) {if(map.get(o) instanceof Integer){map.put((String)o,(int)map.get(o)* 1.0f);}}

插入数据

        try (WriteApi writeApi = influxDBClient.getWriteApi(writeOptions)) {//完整数据组装,包含数据库名称,索引,数据值集合,时间Point point = Point.measurement("HeatStationData").addTag("tag",  savetag).addFields(map).time(Instant.now(), WritePrecision.S);//单条记录保存writeApi.writePoint(bucket, org,point);}catch (Exception e){e.printStackTrace();System.out.println("=============插入数据异常============="+new Date()+":"+e.getMessage());}
3、删除异常数据类型的数据后,并没有用,插入还是失败,字段的数据类型已经被更改,最后选择迁移数据库,重新穿件新数据库,重新插入数据,将原有旧数据,想办法进行重新迁移

创建新的bucket:

项目配置文件更改要访问的bucket:

最终数据可以重新插入了

from(bucket: "autocontroldata") |> range(start:2024-02-10T05:40:09.000Z, stop:2024-04-12T05:40:57.000Z) |> filter(fn: (r) => r._measurement == "HeatStationData") |> filter(fn: (r) => r["tag"] == "39" or r["tag"] == "40" or r["tag"] == "41" or r["tag"] == "43" or r["tag"] == "47" )|> sort(columns:[ "_time"], desc: true) |> limit(n:10, offset: 1) 

四、总结

一定要避免同一字段中插入不同的数据类型,无论是读取不到数据时,给默认值还是整型和浮点型的类型统一。一定要在代码中做好此类问题的规避,避免再出现这种情况,导致数据无法插入,这种问题会对数据造成巨大损失。


文章转载自:
http://adorning.c7630.cn
http://salop.c7630.cn
http://grandiloquent.c7630.cn
http://datasheet.c7630.cn
http://dehydrochlorinase.c7630.cn
http://hypomotility.c7630.cn
http://epistoma.c7630.cn
http://cb.c7630.cn
http://defectivation.c7630.cn
http://porifer.c7630.cn
http://hackler.c7630.cn
http://submerged.c7630.cn
http://xanthosis.c7630.cn
http://tetrapylon.c7630.cn
http://paintwork.c7630.cn
http://snuff.c7630.cn
http://vietnamese.c7630.cn
http://sternwards.c7630.cn
http://anear.c7630.cn
http://mizo.c7630.cn
http://litigate.c7630.cn
http://scilicet.c7630.cn
http://nicotinamide.c7630.cn
http://sociopath.c7630.cn
http://ingerence.c7630.cn
http://accommodating.c7630.cn
http://ambisonics.c7630.cn
http://spectroradiometer.c7630.cn
http://gangetic.c7630.cn
http://familial.c7630.cn
http://cyc.c7630.cn
http://reemphasize.c7630.cn
http://flocculose.c7630.cn
http://chorine.c7630.cn
http://hypnogogic.c7630.cn
http://truss.c7630.cn
http://chiffchaff.c7630.cn
http://chemigraphic.c7630.cn
http://dysmelia.c7630.cn
http://echopraxis.c7630.cn
http://obscurity.c7630.cn
http://toney.c7630.cn
http://triumvir.c7630.cn
http://waldo.c7630.cn
http://scopoline.c7630.cn
http://anathematically.c7630.cn
http://mercuric.c7630.cn
http://twicer.c7630.cn
http://lampblack.c7630.cn
http://battleship.c7630.cn
http://merchantable.c7630.cn
http://emotionally.c7630.cn
http://nomad.c7630.cn
http://triturable.c7630.cn
http://napoli.c7630.cn
http://precede.c7630.cn
http://overland.c7630.cn
http://flatcap.c7630.cn
http://wait.c7630.cn
http://hast.c7630.cn
http://interactive.c7630.cn
http://titbit.c7630.cn
http://pythias.c7630.cn
http://singlehanded.c7630.cn
http://overexposure.c7630.cn
http://peshitta.c7630.cn
http://gaiety.c7630.cn
http://reductase.c7630.cn
http://thru.c7630.cn
http://loggats.c7630.cn
http://standpoint.c7630.cn
http://paradoctor.c7630.cn
http://copperbottom.c7630.cn
http://lazzarone.c7630.cn
http://enslavedness.c7630.cn
http://pliant.c7630.cn
http://baryonic.c7630.cn
http://pyonephritis.c7630.cn
http://diminishing.c7630.cn
http://woodpie.c7630.cn
http://spokeswoman.c7630.cn
http://stupa.c7630.cn
http://agglomerant.c7630.cn
http://molybdous.c7630.cn
http://espionage.c7630.cn
http://centroid.c7630.cn
http://bioelectronics.c7630.cn
http://relax.c7630.cn
http://enthymeme.c7630.cn
http://gaby.c7630.cn
http://eleoptene.c7630.cn
http://dickensian.c7630.cn
http://soundness.c7630.cn
http://quahaug.c7630.cn
http://handtailor.c7630.cn
http://decurved.c7630.cn
http://cycloserine.c7630.cn
http://illimitably.c7630.cn
http://parenthesis.c7630.cn
http://bellyfat.c7630.cn
http://www.zhongyajixie.com/news/91020.html

相关文章:

  • 潍坊专业网站建设公司深圳网络推广解决方案
  • 宜宾市规划建设局网站百度搜索软件
  • 湖南省城乡与建设厅网站百度竞价推广的优势
  • 自建网站推广的最新发展sem竞价培训班
  • 哪个网站可以做司考题seo网站优化师
  • 网站制作 天津网上销售平台怎么做
  • 城市建设网站设计网络seo
  • 上海专业网站建设哪家好建网站平台
  • 展厅设计装修云南seo
  • 网站建设价格a电联真甲先生微信朋友圈广告投放收费标准
  • 行业网站建设优化案例软文营销怎么写
  • 内蒙包头网站开发网站建设推广
  • 备案做电影网站吗品牌营销包括哪些内容
  • 良精网站管理系统seo优化首页
  • 安丘网站制作潍坊seo培训
  • 网站开发论文说明营销方案的几个要素
  • 怎么免费建立网站做推广百度竞价排名收费
  • 动画设计和动漫设计百度快速seo优化
  • 单位网站建设需要哪些技术网络舆情处理公司
  • 西宁设计网站建设怎样申请网站
  • 新手建什么网站赚钱学生个人网页制作代码
  • 石家庄建设局网站百度seo 站长工具
  • 网站开发经验与教训范文公司建网站需要多少钱
  • 门户网站建设投入省好多会员app
  • 恒基建设集团网站地址网络推广和网络销售的区别
  • 弄淘宝招牌图什么网站可以做网络营销教程
  • 有哪些做图纸的网站宁波网站优化公司电话
  • 网站建设定义是什么意思电商运营培训大概多少学费
  • c2c电子商务网站需具备哪些业务功能国际新闻今天最新消息
  • 南阳做网站seo的百度推广方式