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

修水县城乡建设局官方网站网络小说网站建设

修水县城乡建设局官方网站,网络小说网站建设,未备案网站 怎么处理,wordpress js加载位置IoTDB时序库是当前越来越流行以及基于其优势各大厂商越来越易接受的国产开源时序数据库,针对IoTDB的内容不做过多介绍,在使用该时序库时,往往有一定入门门槛,不同于关系型数据库或文档型数据库那般方便维护和接入开发,…

        IoTDB时序库是当前越来越流行以及基于其优势各大厂商越来越易接受的国产开源时序数据库,针对IoTDB的内容不做过多介绍,在使用该时序库时,往往有一定入门门槛,不同于关系型数据库或文档型数据库那般方便维护和接入开发,iotdb时序库虽然有官方文档的支持,以及一套SQL方案,但基于语言特性或者我们开发习惯,我们往往需要单独写一套方案来做接入支持。

        这里介绍了一套完整的Springboot(Spring Cloud)应用接入iotdb的方案支持,能够想关系型数据库一样,将对象作为一个时序模板,管理时序库数据。当然不尽完美,但应对简单的增删查改,基本满足使用要求。下面直接介绍开源内容。

        线上效果说明:当前 单设备 时序元数据量(可以简单理解为表对象的行数据)达到了千万级,亿级测点累计,近七千设备量,总数据量近1TB,查询耗时依旧是毫秒响应返回。

github地址:

GitHub - endcy/fcwenergy-iotdb-mybatis: IoTDB结合Mybatis使用示例

    架构说明

    • 使用iotdb官方包的iotdb-session完成数据的新增,因为使用sql插入,性能太差了,使用官方session包实测每秒基础服单机配置可插入近五万条时序模板数据(开发机配置i5/16G/SSD);
    • 数据查询参考官方sql方式,支持面向对象方式的传入查询条件
    • 数据update即使用原有时序时间戳,修改实体数据后重新插入,覆盖原有时序;
    • 使用官方支持的delete删除数据;
    • 自定义注解类型处理器,实现ORM的优势。

    工程特性

    • IoTDB接入Mybatis,定义时序对象、ORM配置后即可使用,低学习成本,易用易拓展;
    • 不需要过于复杂的JDBC/ORM-XML的编码即可执行自定义数据对象的读写操作;
    • 支持官方工具包JDBC操作,补充ORM难于实现的更新操作,支持高效api批量插入;
    • 动态管理设备时序属性,无需先新增属性再执行入库操作,直接操作数据;
    • 方便工程拓展,使用装饰器实现需要的其他备选库持久化操作,如MYSQL等;
    • 针对不便处理的时序路径、数据类型等,使用工程自定义的执行器完成相关逻辑;
    • 注解简化处理字符串参数类型查询匹配
    • iotdb异步数据备份,历史数据DTS服务
    • 接口集成测试,方便快速测试

    工程结构

    • iotdb-mybatis-core 核心工程模块,包含session的时序插入和mybatis集成的查询DML操作
    • common-domain 领域模型,包含时序数据实体及其他公共参数相关实体
    • iotdb-history-dts 历史数据DTS服务
    • application-demo 示例应用工程,包含时序数据实体查询新增触发等操作,集成测试接口验证等

    部署准备

    • iotdb部署
      • 支持docker或jar运行部署
      • 推荐官方文档集群部署方案
    • 加入iotdb-mybatis-coreiotdb-mybatis-core工程
      • 工程作为module嵌入到目标应用工程
      • 根据#开发流程自定义需要的时序数据逻辑

    测试验证(示例)

    • 完善数据库连接和应用配置,运行Application

    • 接口http://localhost:8060/logKw/random/add?equipmentId=1001 新增时序实体数据

    • 接口http://localhost:8060/logKw/list/days?equipmentId=1001&days=7 查询数据

    • 接口http://localhost:8060/logKw/dts/logKw?equipmentId=1001&days=7 dts历史数据同步

      测试验证示例

    配置信息

    • 配置中增加多数据源依赖
      • #iotdb配置,根据配置和实际部署,自定义参数
        • spring.datasource.iotdb.username = 用户名
        • spring.datasource.iotdb.password = 密码
        • spring.datasource.iotdb.host = ip
        • spring.datasource.iotdb.port = 6667(或设定的端口)
        • spring.datasource.iotdb.driver-class-name = org.apache.iotdb.jdbc.IoTDBDriver
        • spring.datasource.iotdb.jdbc-url = jdbc:iotdb://${spring.datasource.iotdb.host}:${spring.datasource.iotdb.port}/
        • spring.datasource.iotdb.initial-size = 5
        • spring.datasource.iotdb.min-idle = 10
        • spring.datasource.iotdb.max-active = 50
        • spring.datasource.iotdb.max-wait = 60000
        • spring.datasource.iotdb.remove-abandoned = true
        • spring.datasource.iotdb.remove-abandoned-timeout = 30
        • spring.datasource.iotdb.time-between-eviction-runs-millis = 60000
        • spring.datasource.iotdb.min-evictable-idle-time-millis = 300000
        • spring.datasource.iotdb.test-while-idle = false
        • spring.datasource.iotdb.test-on-borrow = false
        • spring.datasource.iotdb.test-on-return = false
        • spring.datasource.iotdb.druid.pool-prepared-statements = true

    开发流程

    copy工程后注意变更点

    按需在[iotdb-mybatis-core]模块中的Modules包中新增所需时序数据实体操作;

      1. 新增枚举类型DataCategoryEnum,定义数据在iotdb中的设备时序前缀(库);
      1. 定义持久化信息实体,在需要入库的属性上加上@DataField注解;
        • 标识时序属性和数据类型
        • 实体必须包含createTime/createDate/acquisitionTime属性之一,用于框架记录时序时间
      1. 定义ORM相关Mapper类和xml文件,用于对象关系映射查询操作
      • Mapper类需继承IotDbBaseMapper<T, Q>
      • 最少包含queryPage、queryCount、queryCountList、delete基础方法实现
      1. 定义业务调用接口和Service实现类
      • Service实现类需继承AbstractIotDbUpdateService
      • 按需实现insert、queryAll、update、delete、insertBatch及自定义业务方法

    功能拓展说明

            当然,基于此方案结合半ORM框架,理论上能够实现非常多的功能支持,本文暂不提供其他内容说明及高级应用示例,请接和IOTDB官方文档sql部分,自行实现。

    工程开源参考:

    GitHub - endcy/fcwenergy-iotdb-mybatis: IoTDB结合Mybatis使用示例

    http://www.yayakq.cn/news/440146/

    相关文章:

  • 免费网站建设apkwordpress 评论过滤
  • 呼和浩特电子商务网站建设网页制作基础教程步骤
  • 用html制作个人网站源代码陕西网站备案 多久
  • 中国建设银行积分兑换网站萝岗做网站
  • 电子商务毕业设计设计网站建设wordpress 删除作者信息
  • 南江红鱼洞水库建设管理局网站深圳网站建设黄浦网络
  • 烟台专业做网站公司哪家好济南自助建站软件
  • 反恶意镜像网站长春建设信息网站
  • 免费网站源码...国内如何做国外网站的兼职项目
  • 移动应用还是网站开发汕头怎么进行关键词优化
  • 嵊州市住房和建设局网站莱芜最新招工招聘启事
  • 网站开发终止协议书长沙工商注册流程
  • 免费网站代码下载有没有专业帮忙做ppt的网站
  • discuz做门户网站专业做网站app的公司
  • 百度站长平台验证网站厦门SEO_厦门网站建设
  • 怎样做网站关键词优化饮品店网站模板
  • 门户网站建设谈判郴州是几线城市
  • 做旅游网站的目的寓意好的公司名字大全免费
  • 一个网站的建设流程有哪些资料徐州网站建设 网站制作
  • HTML5移动端手机网站开发seo免费系统
  • 重庆网站策划wordpress 加盟 主题
  • 欧卡乐网站建设仿v电影 wordpress
  • 聊城网站建设哪个好些电子商务网站建设卷子
  • 宁波网站建设平台分析关于电子商务的论文
  • 做网站项目需求分析是什么2023小规模超过30万怎么交税呢
  • wordpress换站wordpress 加统计代码
  • 服装网站项目的设计方案做网站可以不用框架吗
  • 免费发布广告信息的网站代理注册公司一般多少钱
  • 网站群建设路径中国空间站
  • 快速域名网站备案上海旅游网站建设情况