CN113961562A - 基于海量数据的物联网数据存储处理分析系统 - Google Patents
基于海量数据的物联网数据存储处理分析系统 Download PDFInfo
- Publication number
- CN113961562A CN113961562A CN202111242760.XA CN202111242760A CN113961562A CN 113961562 A CN113961562 A CN 113961562A CN 202111242760 A CN202111242760 A CN 202111242760A CN 113961562 A CN113961562 A CN 113961562A
- Authority
- CN
- China
- Prior art keywords
- data
- cluster
- internet
- processing
- things
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2219—Large Object storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于海量数据的物联网数据存储处理分析系统,涉及数据处理技术领域,包括集群搭建模块、数据处理模块以及数据分析模块;集群搭建模块用于搭建InfluxDB集群;数据处理模块用于利用Spark处理物联网数据,首先客户端利用InfluxDB集群读取物联网数据,转为Spark所需的数据结构,然后进行预处理;数据分析模块用于利用Spark Streaming将分析处理后的数据不断的送入Spark ML中训练,不断地迭代模型;本发明通过利用InfluxDB集群存储时序数据,Spark处理和分析数据,从而充分利用集群能力提高处理速度,大大减少了和硬盘交换的次数,减少了任务完成所需的时间。
Description
技术领域
本发明涉及数据处理技术领域,具体是基于海量数据的物联网数据存储处理分析系统。
背景技术
随着物联网的不断发展,海量的物联网数据被收集存储,但单机的存储容量有限,对数据的处理分析能力不足,单机或简单的分布式方案已经不能满足需求。
以Hadoop生态为代表的大数据技术,为不断增长的海量数据提供了数据存储的道路。HDFS是Hadoop生态的重要组成,实现了在普通硬件集群的水平扩展存储数据。但利用Hadoop处理分析数据存在较大的困难,如MapReduce编程困难,对于不同的场景需要编写不同的批处理。且Hadoop主要利用硬盘存储计算的中间结果,需要不停从内存中换入换出数据,速度受限,不能充分利用大容量的内存。且HDFS一般用于处理非结构化数据,对于物联网数据的存储较为困难。此外传统的Hadoop难以高效的实时处理数据,无法充分挖掘出数据中存在的短时有效的信息。
发明内容
为了解决上述方案存在的问题,本发明提供了基于海量数据的物联网数据存储处理分析系统。本发明可容易的水平扩展,解决了单机存储容量有限和处理能力不足的问题,通过利用InfluxDB集群存储时序数据,Spark处理和分析数据,从而充分利用集群的能力对海量的物联网数据进行存储,处理和分析。
本发明的目的可以通过以下技术方案实现:
基于海量数据的物联网数据存储处理分析系统,包括集群搭建模块、InfluxDB集群数据库、服务器、数据处理模块以及数据分析模块;
集群搭建模块:用于搭建InfluxDB集群,其中InfluxDB集群的分布式扩展需要设计分区容错一致性模型,针对InfluxDB中不同模块的特点设计不同的模型;并利用一致性哈希算法保证分集群数目的可扩展性;
InfluxDB集群数据库:用于存储物联网设备产生的数据;数据处理模块:用于利用Spark处理物联网数据,首先客户端利用InfluxDB集群读取物联网数据,转为Spark所需的数据结构,然后进行预处理;
数据分析模块:用于利用Spark Streaming对数据处理模块处理完成后的数据进行分析,然后将分析处理后的数据不断的送入Spark ML中训练,不断地迭代模型。
进一步地,所述分区容错一致性模型包括一致性、可用性和分区容错性三个特性指标;其中一致性表现为:不同集群节点读取数据内容相同或失败;可用性表现为:客户端访问集群得到相应内容但不保证内容最新;分区容错性表现为:节点间通信的消息丢失时,集群仍然正常工作。
进一步地,所述InfluxDB集群由META节点和DATA节点组成,所述META节点用于保存系统运行的关键信息,满足一致性特性指标;所述关键信息包括数据库名、表名、保留策略信息;所述DATA节点用于保存具体的物联网数据,满足可用性特性指标。
进一步地,其中META节点和DATA节点均满足分区容错性特性指标。
进一步地,所述数据处理模块的具体处理流程如下:
首先客户端建立和InfluxDB集群数据库的连接,此时InfluxDB集群的代理节点会与客户端建立Session,等待客户端发送命令;
所述客户端根据任务发送查询数据的命令,所述InfluxDB集群的代理节点根据查询的内容将查询任务分派到不同的节点,每个节点根据命令,查找相应的数据并返回;
客户端接收到InfluxDB集群返回的数据,并转为Spark所需的数据类型,Spark将数据保存在内存中;
所述客户端按照编写好的代码对内存中的数据进行预处理,所述预处理包括:筛选符合条件的数据、数据类型的转化以及正则化。
进一步地,所述数据处理模块还用于将预处理后的数据存储在HDFS中,供其他版本的程序或模型使用;其中预处理后的数据是非结构化数据。
进一步地,所述数据分析模块的具体分析步骤如下:
首先将服务器接收的数据存入消息队列中,然后再存入InfluxDB集群数据库中;消息队列不断的将数据输入到Spark Streaming中;
Spark不断的接收实时的输入数据流,并根据预定的时间间隔拆分成若干批数据,然后通过Spark Engine处理这些数据,最终得到处理后的若干批结果数据,然后将处理后的若干批结果数据不断的送入Spark ML中训练,不断地迭代模型。
进一步地,所述数据分析模块还用于使用ML Pipeline构建机器学习应用,不间断的对数据处理并送入Spark ML中训练,不断地迭代模型。
与现有技术相比,本发明的有益效果是:
1、本发明采用InfluxDB集群数据库存储物联网设备产生的数据,与传统的关系型数据库相比,对写多读少的场景做出了优化,可提高读写的效率,并且可以保证时间的顺序性。
2、设计InfluxDB集群可解决单机数据容量有限和处理能力不足的问题,通过集群还可提供容灾备份,保证数据的安全性,通过分布式的拓展使存储的容量提高,读取时可从多个机器同时读取,减少了数据分析时读取数据的时间。
3、本发明利用Spark处理和分析数据,提高了处理速度,简化了批量处理任务的编程,相比传统的Hadoop的MapReduce可用性有了极大的提高,同时通过利用内存存储中间结果,大大减少了和硬盘交换的次数,减少了任务完成所需的时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的系统框图。
图2为本发明中搭建InfluxDB集群示意图。
图3为本发明中利用Spark处理、分析物联网数据的流程示意图。
图4为本发明中利用Spark Streaming实时分析数据的流程示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1至图4所示,基于海量数据的物联网数据存储处理分析系统,包括集群搭建模块、InfluxDB集群数据库、数据处理模块以及数据分析模块;
集群搭建模块用于搭建InfluxDB集群,其中InfluxDB集群的分布式扩展需要设计分区容错一致性模型,对于InfluxDB中不同的模块的特点设计不同的模型;具体包括:
分布式系统的设计需要考虑系统的一致性、可用性和分区容错性等三个指标,但三者不能同时存在。一致性需要保证不同集群节点读取数据内容相同或失败。可用性需要保证客户端访问集群可以得到相应内容但不保证内容最新。分区容错性保证节点间通信的消息丢失时,集群仍然可以服务。
集群存在多个节点间的通信,因此需要必须保证分区容错性。故InfluxDB的不同模块的设计需要从一致性和可用性中取舍。InfluxDB的分布式系统主要由META节点和DATA节点组成;META节点保存系统运行的关键信息,如数据库名,表名,保留策略信息等。所以必须保证数据的一致性,否则会影响系统的运行,造成某些模块由于META信息不一致导致写入数据失败。
对于DATA节点,它主要保存具体的物联网数据,可容忍数据的部分不一致性,故选择保证DATA节点的可用性。同时可用性降低了DATA节点水平扩展的难度。
当单集群的性能出现瓶颈时,可利用分集群突破单集群的性能,通过利用一致性哈希算法保证分集群数目的可扩展性。一致性哈希算法在集群数目增加时可减少数据的重新映射,降低了数据迁移的成本。相比较传统的代理和哈希算法,保证了各集群节点的负载均衡,减少了业务入侵程度。
InfluxDB集群数据库用于存储物联网设备产生的数据;数据处理模块用于利用Spark处理物联网数据,具体处理流程如下:
首先客户端建立和InfluxDB集群数据库的连接,此时InfluxDB集群的代理节点会与客户端建立Session,等待客户端发送命令;
客户端根据任务发送查询数据的命令,InfluxDB集群的代理节点根据查询的内容将查询任务分派到不同的节点,每个节点根据命令,查找相应的数据并返回;
客户端接收到InfluxDB集群返回的数据,并转为Spark可高效利用的数据类型,Spark会将数据一直保存在内存中,从而提高接下来步骤的处理速度;
客户端按照编写好的代码处理内存中的数据,具体处理内容包括:筛选符合条件的数据,数据类型的转化,正则化等步骤;
数据处理完成后,可以对数据进行分析,如利用SparkML对数据进行聚类寻找数据之间存在的关系,并将结果可视化显示等。还可利用SparkML训练模型,如根据收集的电源设备的状态信息训练模型,从而评估电源设备的状态和预测是否会发生故障等;
数据分析模块用于利用Spark Streaming对数据处理模块处理完成后的数据进行分析,具体步骤如下:
首先将服务器接收的数据存入消息队列中,然后再存入InfluxDB集群数据库中;
消息队列不断的将数据输入到Spark Streaming中,Spark即可不断的接收实时的输入数据流,并根据预定的时间间隔拆分成若干批数据,然后通过Spark Engine处理这些数据,最终得到处理后的若干批结果数据,然后将处理后的若干批结果数据不断的送入Spark ML中训练,不断地迭代模型;
此外,处理完成的数据是非结构化数据,且与时间关系降低,可存储在HDFS中,供其他版本的程序或模型使用,如Python构建的模型,前端界面的展示等,与直接读取并处理,可提高速度;
此外还可利用Spark ML Pipline提高效率,降低编码的难度。Spark ML Pipeline基于DataFrame构建了一套High-level API,我们可以使用ML Pipeline构建机器学习应用,它能够将一个机器学习应用的多个处理过程组织起来,通过在代码实现的级别管理好每一个处理步骤之间的先后运行关系,极大地简化了开发机器学习应用的难度。
本发明的工作原理:
基于海量数据的物联网数据存储处理分析系统,在工作时,首先集群搭建模块用于搭建InfluxDB集群,其中InfluxDB集群的分布式扩展需要设计分区容错一致性模型,对于InfluxDB中不同的模块的特点设计不同的模型;然后数据处理模块用于利用Spark处理物联网数据,首先客户端利用InfluxDB集群读取数据,转为Spark所需的数据结构,进行预处理,如数据类型转化,缺失值填,正则化等,由于读取的数据全部存储在内存中,可大大加快数据的处理速度;数据处理模块用于将处理完成的数据存入HDFS中,供其他用途使用,如数据展示,数据分析等;
数据分析模块用于利用Spark Streaming对数据处理模块处理完成后的数据进行分析,利用Spark ML进行数据的分析如聚类,回归,还可构建机器学习系统,不间断的对数据处理并送入模型训练,根据收集到物联网数据不断的迭代训模型等,提高了数据处理的速度,简化了批量处理任务的编程,相比传统的Hadoop的MapReduce可用性有了极大的提高,同时通过利用内存存储中间结果,大大减少了和硬盘交换的次数,减少了任务完成所需的时间。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (8)
1.基于海量数据的物联网数据存储处理分析系统,其特征在于,包括集群搭建模块、InfluxDB集群数据库、服务器、数据处理模块以及数据分析模块;
集群搭建模块:用于搭建InfluxDB集群,其中InfluxDB集群的分布式扩展需要设计分区容错一致性模型,针对InfluxDB中不同模块的特点设计不同的模型;并利用一致性哈希算法保证分集群数目的可扩展性;
InfluxDB集群数据库:用于存储物联网设备产生的数据;数据处理模块:用于利用Spark处理物联网数据,首先客户端利用InfluxDB集群读取物联网数据,转为Spark所需的数据结构,然后进行预处理;
数据分析模块:用于利用Spark Streaming对数据处理模块处理完成后的数据进行分析,然后将分析处理后的数据不断的送入Spark ML中训练,不断地迭代模型。
2.根据权利要求1所述的基于海量数据的物联网数据存储处理分析系统,其特征在于,所述分区容错一致性模型包括一致性、可用性和分区容错性三个特性指标;其中一致性表现为:不同集群节点读取数据内容相同或失败;可用性表现为:客户端访问集群得到相应内容但不保证内容最新;分区容错性表现为:节点间通信的消息丢失时,集群仍然正常工作。
3.根据权利要求2所述的基于海量数据的物联网数据存储处理分析系统,其特征在于,所述InfluxDB集群由META节点和DATA节点组成,所述META节点用于保存系统运行的关键信息,满足一致性特性指标;所述关键信息包括数据库名、表名、保留策略信息;所述DATA节点用于保存具体的物联网数据,满足可用性特性指标。
4.根据权利要求3所述的基于海量数据的物联网数据存储处理分析系统,其特征在于,其中META节点和DATA节点均满足分区容错性特性指标。
5.根据权利要求1所述的基于海量数据的物联网数据存储处理分析系统,其特征在于,所述数据处理模块的具体处理流程如下:
首先客户端建立和InfluxDB集群数据库的连接,此时InfluxDB集群的代理节点会与客户端建立Session,等待客户端发送命令;
所述客户端根据任务发送查询数据的命令,所述InfluxDB集群的代理节点根据查询的内容将查询任务分派到不同的节点,每个节点根据命令,查找相应的数据并返回;
客户端接收到InfluxDB集群返回的数据,并转为Spark所需的数据类型,Spark将数据保存在内存中;
所述客户端按照编写好的代码对内存中的数据进行预处理,所述预处理包括:筛选符合条件的数据、数据类型的转化以及正则化。
6.根据权利要求5所述的基于海量数据的物联网数据存储处理分析系统,其特征在于,所述数据处理模块还用于将预处理后的数据存储在HDFS中,供其他版本的程序或模型使用;其中预处理后的数据是非结构化数据。
7.根据权利要求1所述的基于海量数据的物联网数据存储处理分析系统,其特征在于,所述数据分析模块的具体分析步骤如下:
首先将服务器接收的数据存入消息队列中,然后再存入InfluxDB集群数据库中;消息队列不断的将数据输入到Spark Streaming中;
Spark不断的接收实时的输入数据流,并根据预定的时间间隔拆分成若干批数据,然后通过Spark Engine处理这些数据,最终得到处理后的若干批结果数据,然后将处理后的若干批结果数据不断的送入Spark ML中训练,不断地迭代模型。
8.根据权利要求7所述的基于海量数据的物联网数据存储处理分析系统,其特征在于,所述数据分析模块还用于使用ML Pipeline构建机器学习应用,不间断的对数据处理并送入Spark ML中训练,不断地迭代模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111242760.XA CN113961562A (zh) | 2021-10-25 | 2021-10-25 | 基于海量数据的物联网数据存储处理分析系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111242760.XA CN113961562A (zh) | 2021-10-25 | 2021-10-25 | 基于海量数据的物联网数据存储处理分析系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113961562A true CN113961562A (zh) | 2022-01-21 |
Family
ID=79466828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111242760.XA Pending CN113961562A (zh) | 2021-10-25 | 2021-10-25 | 基于海量数据的物联网数据存储处理分析系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113961562A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117556288A (zh) * | 2023-12-28 | 2024-02-13 | 深圳微盐红创设计院有限公司 | 一种基于物联网的物理空间管理系统及方法 |
-
2021
- 2021-10-25 CN CN202111242760.XA patent/CN113961562A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117556288A (zh) * | 2023-12-28 | 2024-02-13 | 深圳微盐红创设计院有限公司 | 一种基于物联网的物理空间管理系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111966684B (zh) | 用于分布式数据集索引的装置、方法和计算机程序产品 | |
US10331490B2 (en) | Scalable cloud-based time series analysis | |
CN109241161B (zh) | 一种气象数据管理方法 | |
US20190034833A1 (en) | Model Training Method and Apparatus | |
CN111586091B (zh) | 一种实现算力组配的边缘计算网关系统 | |
CN106547882A (zh) | 一种智能电网中营销大数据的实时处理方法及系统 | |
CN111339192A (zh) | 一种分布式边缘计算数据存储系统 | |
CN104036029B (zh) | 大数据一致性对比方法和系统 | |
CN106033476A (zh) | 一种云计算环境中分布式计算模式下的增量式图计算方法 | |
CN104820708A (zh) | 一种基于云计算平台的大数据聚类方法和装置 | |
CN104809244A (zh) | 一种大数据环境下的数据挖掘方法和装置 | |
CN110018997B (zh) | 一种基于hdfs的海量小文件存储优化方法 | |
CN113961562A (zh) | 基于海量数据的物联网数据存储处理分析系统 | |
CN116760661A (zh) | 数据存储方法、装置、计算机设备、存储介质和程序产品 | |
CN112988884B (zh) | 大数据平台数据存储方法及装置 | |
CN115858498A (zh) | 五维时空分布式数据库构建方法及装置 | |
CN113360319B (zh) | 一种数据备份方法和装置 | |
CN115238006A (zh) | 检索数据同步方法、装置、设备及计算机存储介质 | |
CN108491167B (zh) | 一种工业过程工况数据快速随机分布存储方法 | |
CN111147575B (zh) | 一种基于区块链的数据存储系统 | |
CN113051091A (zh) | 一种进程级缓存数据同步方法和装置 | |
CN110928839A (zh) | 国际运价数据的存储方法和系统 | |
CN115221134B (zh) | 一种车联网数据的分布式实时压缩方法、装置及存储介质 | |
US12013825B2 (en) | Predictive value engine for logical map generation and injection | |
CN111753010B (zh) | 铁路接触网的数据采集网络架构及实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |