[发明专利]一种基于Redis的InfluxDB集群系统和方法在审
申请号: | 202111373452.0 | 申请日: | 2021-11-19 |
公开(公告)号: | CN114064214A | 公开(公告)日: | 2022-02-18 |
发明(设计)人: | 时永胜 | 申请(专利权)人: | 紫光云引擎科技(苏州)有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 南京乐羽知行专利代理事务所(普通合伙) 32326 | 代理人: | 李玉平 |
地址: | 100089 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 redis influxdb 集群 系统 方法 | ||
本发明公开一种基于Redis的InfluxDB的集群方法,将采集到的设备指标数据存储到InfluxDB时,对数据进行分片存储到不同的InfluxDB实例上,从而实现InfluxDB的集群,进而可以提升数据采集量及数据查询性能。
技术领域
本发明涉及一种InfluxDB集群系统和方法,具体是一种基于Redis的InfluxDB集群方法,该方法主要应用在工业互联网技术领域。
背景技术
在工业互联网领域,需要存储工业设备采集的指标数据,这些数据是一种符合时间序列的数据,这些数据具有数据量巨大(单台设备数百个指标)、采集频率快(在毫秒级别)等特性。
基于此种数据特性,当前领域内多用时序数据库来存储此类数据。目前对于时序型数据库,业界比较知名的有InfluxDB、OpenTSDB、TDengine等,并且从2016年开始InfluxDB一直占据时序数据库榜首的位置。同时InfluxDB具备安装便捷、无依赖,写入性能高(在中等配置的机器支持每秒40万+数据写入);调用方便(原生支持HTTP API(超文本传输协议接口)),易对接和扩展,提供各语言的SDK(Software Development Kit,软件开发工具包),类SQL(Structured Query Language,结构化查询语言)查询语言,以时间为中心的函数,学习成本更低,更易学习掌握和实施;查询响应快(100ms以内);支持联系查询和不同的存储策略,具有快速的采样和分级存储等特点和能力。但InfluxDB原生默认不支持分布式集群能力,导致InfluxDB在应对海量指标高性能读写需求时,无法支撑。
发明内容
发明目的:针对现有技术中存在的问题与不足,本发明提供一种基于Redis的InfluxDB集群系统和方法,实现将数据写入不同的InfluxDB实例上,同时查询时又可以准确的得到数据,解决对业务代码的过多侵入,业务代码只需要调用一个通用方法既可;利用Redis使得分布式部署的应用服务可以动态感知当前InfluxDB的数据库分步信息,同时解决当系统采集数据量激增时可以不停机对集群进行水平扩容。
技术方案:一种基于Redis的InfluxDB的集群系统,其特征在于,包括节点封装模块和代理封装模块;
所述节点封装模块:将InfluxDB数据库封装为一个节点,节点中包含了所述InfluxDB数据库的连接信息和该数据库元数据表信息;根据InfluxDB提供的SDK将对数据的操作封装成程序接口,所述程序接口的参数数据格式与SDK要求的一致;所述节点封装模块在应用程序启动时进行运行环境初始化,包括建立和InfluxDB的网络连接以及读取元数据表得到当前数据库存储表的信息,同时将当前数据库存储表的信息写入Redis;
所述代理封装模块:根据实际业务情况,把业务数据的操作封装成程序接口,所述程序接口参数的数据格式为业务系统中定义的格式,程序接口内部处理了业务系统数据格式和SDK数据格式的转换;代理封装模块内部存储当前InfluxDB集群节点信息,即多个节点信息;代理封装模块内部包含一个数据入库的阻塞队列用来实现入库数据的暂存,同时有一个线程用于一直消费阻塞队列数据进行入库;若业务系统使用分布式配置中心(统一管理各个应用配置信息的独立系统),所述代理封装模块可以动态感知InfluxDB集群的配置情况,动态添加InfluxDB数据库。
一种基于Redis的InfluxDB的集群方法,将采集到的设备指标数据存储到InfluxDB时,对数据进行分片存储到不同的InfluxDB实例上,从而实现InfluxDB的集群,进而可以提升数据采集量及数据查询性能。该方法包括:
(1)根据工业互联网领域设备指标数据特点,将一种设备模型的指标存储在一张数据表中。
(2)每个InfluxDB数据库有一张表,表中记录本数据库中存储的表的名称,后续简称“元数据表”。所述元数据表的表名为measurement_map。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于紫光云引擎科技(苏州)有限公司,未经紫光云引擎科技(苏州)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111373452.0/2.html,转载请声明来源钻瓜专利网。