tencent cloud

文档反馈

数据转发到时序数据库

最后更新时间:2021-09-08 14:26:59

    概述

    规则引擎支持用户配置规则将符合条件的设备上报数据转发到 时序数据库 CTSDB (以下简称 CTSDB ),用户的应用服务器,再从 CTSDB 中读取数据内容进行处理。以此利用 CTSDB 海量数据高存储压缩率、数据聚合展示能力,能有效满足日常设备数据存储、分析、可视化展示的需求。

    规则引擎将数据转发给 CTSDB 的整个过程,如下图所示:

    配置步骤

    1. 登录 物联网通信控制台,选择左侧菜单【规则引擎】。
    2. 进入规则详情页面,单击【添加行为操作】。
      说明:

      第一次使用时会提示用户授权访问 CTSDB,用户需单击【授权访问】才能继续创建。
      avatar

    3. 在弹出的“添加规则”窗口,选择行为【数据转发到时序数据库(CTSDB)】,依次选择 CTSDB 地域和实例,并填写基本信息和需要配置的转发字段,单击【保存】即可。
      avatar

    完成以上配置后,物联网通信平台会将符合规则条件的设备上报数据,转发至用户配置的 CTSDB 实例。用户可参考 CTSDB 开发指南 在自己的应用服务器上读取数据进行处理,或者在 CTSDB 控制台 对数据进行聚合检索查询。

    配置参数说明

    • 实例登录账户:用户创建 CTSDB 实例时候输入的账户名,需要在配置规则引擎之前创建实例。
    • 登录密码:用户创建 CTSDB 实例时候输入的账户密码,需要在配置规则引擎之前创建实例。
    • metric : 配置数据转发到 CTSDB 的哪个 metric 下,如果配置规则引擎之时没有该 metric ,物联平台会自行创建。
    • timestamp : 数据写入 CTSDB 时候的时间戳,当前支持4种配置:
      • 通过${}引用原始消息的字段值。
      • 系统函数。
      • timestamp() :命中规则引擎的该消息当前时间,插入当前的系统时间。
      • 常量:需要是以秒为单位的 UNIX 时间戳;不填写,则默认为命中规则引擎的该消息当前时间。
        注意:

        如果在规则创建后,用户修改该 CTSDB metric 的 timestamp 为非秒级的单位(如毫秒级),可能导致后续数据写入失败。

    • 数据字段 : 类型可选择 CTSDB 里面的 tag 类型或者 field 类型,字段名称输入限制,请参见 CTSDB 限制,值有3种配置方式:通过 ${} 引用原始消息的字段值;常量;固定值。

    高级配置说明

    高级配置项,适用于设备上报数据字段是动态扩展的,无法预先配置的情况。例如,设备底下有若干传感器需要传输数据,但是不同的设备规格、配置不一样,传感器的数目也不固定,但需要使用规则引擎配置,将设备底下所有传感器的数据都存入 CTSDB,以下为您提供高级配置的方案存储:

    说明:

    • 默认存储类型:动态扩展存储的字段,在 CTSDB 中的存储类型,默认是 tag 类型
    • key:需要遍历扩展存储的 json 键,物联通信平台会遍历此 key 下的 json 键值嵌套,以'_'为连接符,最后存储到时序数据库,通过规则引擎配置 SQL SELECT 检索得到的 json 结果与配置(支持配置子 key,支持配置多个),到实际存储进 CTSDB 的数据,如下样例所示:

    重发机制

    重发机制用于在消息转发过程中发生失败的情况下,进行再次重发以达到接受消息的目的,具体说明如下:

    • 若消息转发失败,系统则会进行转发重试,重试按照1s、3s、10s的时间间隔依次进行,若三次重试均失败,则将消息丢弃掉。
    • 若用户配置了“转发错误行为操作”,在三次重试失败后,将按“转发错误行为操作”的配置,再进行一次消息转发,如果仍失败,则将消息丢弃掉。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持