(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210555363.6
(22)申请日 2022.05.20
(71)申请人 杭州指令集智能科技有限公司
地址 310000 浙江省杭州市西湖区文一西
路1号益展商务大厦A座5 01室
(72)发明人 钱克成 秦钢 宋杨 陈波
叶运生 周垤飞
(74)专利代理 机构 杭州品众专利代理事务所
(特殊普通 合伙) 33459
专利代理师 蔡陈祥
(51)Int.Cl.
G06F 16/2455(2019.01)
G06F 16/25(2019.01)
(54)发明名称
海量设备 数据实时存 储和查询系统
(57)摘要
本发明公开了一种海量设备数据实时存储
和查询系统, 内置有数据库, 包括: 数据写入模
块, 与外部设备和数据库通信连接, 用于在设备
数据上报时, 通过配置好定时定量的规则, 向数
据库发起一次数据存储; 数据查询模块, 与数据
库通信连接, 用于提供API接口, 同时根据时间范
围或设备ID字段提供分页查询, 同时根据聚合函
数和聚合周 期进行聚合查询; 数据库切换模块,
设置有API接口, 用于通过API接口实时切换
influxdb、 clickhouse和tdengine数据库。 本发
明的海量设备数据实时存储和查询系统, 支持不
同数据库的设备数据接入, 并高效存储, 同时保
证查询便利。
权利要求书1页 说明书4页 附图6页
CN 114817334 A
2022.07.29
CN 114817334 A
1.一种海量设备 数据实时存 储和查询系统, 内置有数据库, 其特 征在于: 包括:
数据写入模块, 与外部设备和数据库通信连接, 用于在 设备数据 上报时, 通过配置好定
时定量的规则, 向数据库发起 一次数据存 储;
数据查询模块, 与数据库通信连接, 用于提供API接口, 同时根据 时间范围或设备ID字
段提供分页查询, 同时根据聚合 函数和聚合周期进行聚合 查询;
数据库切换模块, 设置有API接口, 用于通过API接口实时切换influxdb、 clickhouse和
tdengine数据库。
2.根据权利要求1所述的海量设备数据实时存储和查询系统, 其特征在于: 所述定时定
量的规则为: 定时为根据预设的时长触发一次写入, 定量为根据内存中记录的数据列判断
是否超过配置的数量, 若超过则不执 行写入动作, 若不超过则执 行写入动作。
3.根据权利要求1或2所述的海量设备数据实时存储和查询系统, 其特征在于: 所述分
页查询的方式为根据数据库提供的分页方式, 将传参中的当前页数current,分页大小size
放入对应的s ql中, 聚合查询的方式为将聚合函数类型,根据不同的数据库转换成对应的函
数名, 再生成对应的sql。
4.根据权利要求3所述的海量设备数据实时存储和查询系统, 其特征在于: 所述数据写
入模块写入数据的具体步骤如下:
步骤一, 设备数据 上报时, 经过设备业务处理过后, 会将设备数据转化为历史数据后输
入到写入 模块;
步骤二, 数据写入模块将接收的历史数据存放到kafka中, 再由isc ‑metadata ‑service
从kafka中获取设备历史数据, 存放到内存队列中;
步骤三, 通过定时定量的规则进行判别, 并在判别通过时, 进入数据存储步骤, 并在存
储时根据已配置的数据库类型, 决定存放到具体哪个数据库。
5.根据权利要求4所述的海量设备数据实时存储和查询系统, 其特征在于: 所述步骤三
中还包括数据库切换步骤:
步骤三一, 数据库切换模块读取配置 中的目标数据库 连接信息, 并尝试连接, 若连接成
功, 则成功切换; 否则切换回上一次配置, 并提 示连接该目标 数据库异常。
6.根据权利要求1或2所述的海量设备数据实时存储和查询系统, 其特征在于: 所述数
据查询模块 查询读取 数据的具体步骤如下:
步骤1, 数据查询模块接收到用户查询后, 根据传入条件, 通过已配置的数据库类型找
到对应的实例;
步骤2, 根据对应的数据库sql语法, 生成对应sql交由数据库执 行;
步骤3, 数据库执 行完毕后, 再将返回的结果封装成统一结构, 并返回给用户。
7.根据权利要求2所述的海量设备数据实时存储和查询系统, 其特征在于: 所述定时定
量的规则的具体判定步骤如下:
步骤三二, 在 设备数据输入到 内存队列内后, 判断 队列数量是否大于配置数, 若不大于
配置数, 则直接结束, 若 大于配置数则进 行存储后结束; 同时定时器定时检测内存队列内是
否有数据, 若 有数据则进行存 储后结束, 若没有数据则直接结束。权 利 要 求 书 1/1 页
2
CN 114817334 A
2海量设备数据实时存 储和查询系统
技术领域
[0001]本发明涉及 一种数据系统, 更具体的说是涉及一种海量设备数据实时存储和查询
系统。
背景技术
[0002]随着物联网技术的逐步发展, 越来越多的设备接入到物联网平台内, 因此形成了
海量接入设备的物联网平台, 而目前物联网平台一般都设置数据库用于实时存储设备数据
和实现设备数据查询, 然而目前物联网平台采用的都是直接接 收和直接查询的方式, 因此
便会存在以下问题:
[0003]海量设备数据实时存储问题: 当大量的设备接入物联网平台,并且上报频率较高
时,对于数据库的存 储能力会有比较大的压力;
[0004]海量设备数据查询问题; 对于海量设备数据 存储入数据库,需要根据时间, 设备id
等多维度条件进行 快速高效查询;
[0005]不同数据库问题: 不同客户可能在自己的服务器上有各自的数据库以及对应的业
务处理, 客户希望能将设备历史数据写入他们的数据库。
发明内容
[0006]针对现有技术存在的不足, 本发明的目的在于提供一种能够有效的提供海量设备
数据的存 储以及数据查询同时能够写入历史数据的海量设备 数据实时存 储和查询系统。
[0007]为实现上述目的, 本发明提供了如下技术方案: 一种海量设备数据实时存储和查
询系统, 内置有数据库, 包括:
[0008]数据写入模块, 与外部设备和数据库通信连接, 用于在设备数据上报时, 通过配置
好定时定量的规则, 向数据库发起 一次数据存 储;
[0009]数据查询模块, 与数据库通信连接, 用于提供API接口, 同时根据时间范围或设备
ID字段提供分页查询, 同时根据聚合 函数和聚合周期进行聚合 查询;
[0010]数据库切换模块, 设置有API接口, 用于通过API接口实时切换influxdb、
clickhouse和tdengi ne数据库。
[0011]作为本发明的进一步改进, 所述定时定量的规则为: 定时为根据预设的时长触发
一次写入, 定量为根据内存中记录的数据列判断是否超过配置的数量, 若超过则不执行写
入动作, 若不超过则执 行写入动作。
[0012]作为本发明的进一步改进, 所述分页查询的方式为根据数据库提供的分页方式,
将传参中的当前页数current,分页大小size放入对应的sql中, 聚合查询的方式为将聚合
函数类型,根据不同的数据库转换成对应的函数名, 再生成对应的sql。
[0013]作为本发明的进一 步改进, 所述数据写入 模块写入数据的具体步骤如下:
[0014]步骤一, 设备数据上报时, 经过设备业务 处理过后, 会将设备数据转化为历史数据
后输入到写入 模块;说 明 书 1/4 页
3
CN 114817334 A
3
专利 海量设备数据实时存储和查询系统
文档预览
中文文档
12 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共12页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 00:15:58上传分享