分布式实时数据库的存储系统的制作方法

文档序号:11177191阅读:319来源:国知局
分布式实时数据库的存储系统的制造方法与工艺

本发明涉及分布式实时数据库,具体地,涉及分布式实时数据库的存储系统的架构。本发明能够广泛应用于工业大数据存储。



背景技术:

伴随着工业4.0的持续推进,工业设备的智能化以及企业的信息化改造将快速推进,由此也带来了数据的爆发式增长,对传统的实时数据库在点数规模、数据分布、可靠性、扩展性等多个方面提出了巨大挑战。对比研究目前国际领先的实时数据库产品pi、phd,发现这些产品在面对工业大数据时都具有如下的局限性:

(1)数据存储服务未能实现分布式架构,当单机服务异常时将导致服务不可用,无法提供检索和存储功能;

(2)数据存储无副本机制,数据的安全性需要用户自己备份,无法保证在磁盘损坏时所有的数据拥有可靠的备份;

(3)缺乏灵活的动态扩展能力,当存储性能或者存储容量达到瓶颈时难以做到动态的水平扩展;

(4)数据检索能力有限,仅仅支持按照时间戳的检索条件,对于按值范围或者模糊检索不支持;

(5)计算能力有限,仅仅能够根据其提供的有限的计算方法进行计算,无法有效地利大数据分布式计算技术实现对海量数据的计算分析

经检索,发现如下相关检索结果。

相关检索结果1:

申请号:cn201410144241.3名称:一种适用于电力系统的分布式实时数据库管理系统及实现方法

摘要:该专利文献公开了一种适用于电力系统的实时数据库管理系统及实现方法,属于数据库技术领域。本发明的实时数据库管理系统包括服务端、实时数据库端和客户端,并利用文件映射、实例id、版本号、客户端缓存等机制来实现实时数据库的分布式管理。本发明实现了多个数据库实例的透明化,让客户对多个数据库实例的访问视同为对单个实例的访问。本发明有利于数据库全省集中式部署,同时便于全省统一数据规划、数据模型和数据标准,还能满足现有及未来数据接入需求。

技术要点比较:该专利文献给出了利用hash算法实现数据的分布式存储,但是对于数据的一致性、可靠性、安全性和扩展性没有给出具体的技术方案。本发明不仅给出了高扩展性的分布式架构,而且解决了高可用、数据安全和整体系统的弹性扩展问题,该专利文献只是本发明分布式存储服务数据分片存储的一个子集。

相关检索结果2:

申请号:201110286149.7名称:分布式实时数据库数据层次索引方法

摘要:该专利文献属于分布式实时数据库领域,提供了一种分布式环境下的实时数据库层次索引方法,该方法在实现实时数据库分布式的条件下,将数据存储服务器对应哈希键值,并首尾相连构成环形哈希空间,并建立数据层次索引方法,保证了实时数据库数据的高效存储和检索。

技术要点比较:该专利文献给出了分布式实时数据库的检索技术方案,但并未给出在分布式环境下索引数据本身的安全可靠的分布式存储方案,未能彻底解决分布式实时数据库面临的数据一致性和安全性挑战。

相关检索结果3:

科技论文:名称:基于云技术的分布式实时数据库高性能数据存储检索机制的研究,钱益舟,2012年《浙江大学》

摘要:随着大型流程工业迅速发展,企业生产信息化要求不断提高。实时数据库系统作为工业信息化基础数据平台,对点数规模、数据分布、可靠性、扩展性的要求不断提高。系统现有架构存在规模相对固定、性能难以扩展、灵活性不足的缺点,难以满足海量存储、分布式冗余备份、规模动态调整等需求。当前云计算技术以其海量数据存储、规模动态扩展、系统可用性可靠性高等特点得到了广泛的运用。因此本文对系统架构做出大胆变革,将云计算核心技术引入到实时系统中来,在分布式架构下设计实现实时数据存储检索机制。本文通过研究现有实时数据存储检索技术与云计算核心技术之一的高性能分布式存储技术,结合实时数据特点与动态扩展要求,基于分布式通讯服务平台,提出一种具有分布式应用特点的实时数据存储检索机制,实现海量数据实时写入、分布式存储、多重冗余备份、数据检索准确高效并支持系统规模动态扩展。本文以云计算技术为背景,基于分布式通讯服务平台,结合应用需求将分布式实时数据库数据存储检索机制的研究要点划分为数据存储、数据组织与数据检索三部分。通过利用分布式哈希表(dht)技术,将分布式数据存储机制简化为本地数据存储,在机制框架内最大程度地利用集中式数据存储技术;数据组织机制以数据点、记录单元设计为基础,实现数据“版本化”管理和数据页序列管理,并设计数据迁移、副本同步、一致性修复等机制;数据检索机制结合系统数据组织与数据分布特性进行检索任务的分割与分发,针对“版本化”数据进行查询算法与流程设计,并通过缓存设计进一步提高检索性能。本文最后搭建测试平台、设计测试用例,对数据存储性能、数据检索性能进行功能、性能测试。结果表明系统能够实现海量数据实时写入、数据分布式冗余存储、数据检索准确高效并支持系统规模动态扩展,达到设计需求。

技术要点比较:该科技论文从理论上阐述了分布式实时数据库高性能数据存储与检索机制并给出了对应的算法,但未能具体给出行之有效可扩展的架构设计,整个架构设计过于笼统,对于数据传输的可靠性保证、实时流数据处理和分布式索引机制以及对于未来的分布式计算的支撑并未能给出明确的设计方案。



技术实现要素:

针对现有技术中的缺陷,本发明的目的是提供一种分布式实时数据库的存储系统。本发明要解决的技术问题是如何基于当前流行的开源的大数据处理技术,实现分布式的实时数据库系统,使其具有高可靠、高可用、高性能和动态扩展的特性,满足工业大数据的存储要求,弥补传统的实时数据库的不足。

根据本发明提供的一种分布式实时数据库的存储系统,包括:

分布式数据网关模块:用于数据的接收与查询代理;

分布式消息队列模块:用于通过分布式消息队列实现数据的发布与订阅;

分布式实时流计算服务模块:用于基于storm实时流计算框架,实现消息订阅服务、内存快照存储服务以及持久化存储服务;

分布式缓存服务模块:用于通过分布式缓存存储数据快照;

分布式存储服务模块:通过nosql数据库hbase进行分布式存储服务,通过分布式搜索引擎solr实现数据的检索。

优选地,在数据存储过程中:

分布式数据网关模块在分布式消息队列模块中创建数据存储话题和数据变化订阅话题,通过数据存储话题实现数据的上传,通过数据变化订阅话题接收数据变化,从而在数据变化时通知分布式实时数据库的客户端;

第三方客户端调用分布式实时数据库的客户端传输数据;

分布式数据网关模块的负载均衡服务器接收到数据,将数据发送到负荷较小的数据网关,数据网关将数据发送到分布式消息队列中的数据存储话题;

分布式实时流计算服务模块从数据存储话题中接收到订阅消息,传送给消息订阅服务;

消息订阅服务在数据发生变化以及该数据被分布式实时数据库订阅时,将该数据通过数据变化订阅话题发布出去,并将数据路由到内存快照存储服务;

内存快照存储服务将数据发送到分布式缓存服务模块进行快照的存储,并将数据路由到持久化存储服务;

持久化存储将数据发送到分布式存储服务模块进行数据的持久化存储;

分布式存储服务模块接收数据,一方面将数据传输到分布式搜索引擎solr进行数据的异步索引,另一方面将数据序列化存储到hadoop的分布式文件系统中。

优选地,在数据检索过程中:

第三方客户端通过分布式实时数据库的客户端提交数据查询命令到分布式数据网关模块;

分布式数据网关模块根据查询类型进行分类查询,具体的:对于内存快照查询,直接查询分布式缓存服务模块;对于时间查询,直接通过hbase的行键查询;对于按值查询,直接提交给solr查询;

分布式数据网关模块返回查询结果。

优选地,分布式数据网关模块中的分布式数据网关采用haproxy和多个数据节点的分布式部署方式,分布式消息队列基于分布式消息队列kafka;数据传输的安全性由kafka消息序列化机制和副本机制保证,数据处理的安全性由storm分布式框架的容错机制和数据被处理且仅被处理一次的机制保证,数据存储的安全性则由hbase的数据存储副本机制保证;采用hbase的行键索引和solr索引相结合;分布式数据网关采用netty的纯异步rpc通信框架,采用分布式的部署方式。

优选地,在数据存储过程中:分布式缓存服务模块存储标签tag点对应的数据项;分布式存储服务模块将不同的标签tag点数据放在同一行,通过时间作为主键。

与现有技术相比,本发明具有如下的有益效果:

本发明给出了一种纯分布式实时数据库的存储系统,可有效的解决传统的实时数据库在应对工业大数据在可靠性、扩展性、检索和其上的计算支撑能力的不足,有效地提升企业的智能化和信息化水平,并利用大数据技术挖掘潜在的数据价值,为企业的转型发展提供坚实的数据基础。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为分布式实时数据库架构图。

图2为分布式数据缓存服务数据存储格式图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

根据本发明提供的一种分布式实时数据库的存储系统,包括:

分布式数据网关模块:用于数据的接收与查询代理;

分布式消息队列模块:用于通过分布式消息队列实现数据的发布与订阅;

分布式实时流计算服务模块:用于基于storm实时流计算框架,实现消息订阅服务、内存快照存储服务以及持久化存储服务;

分布式缓存服务模块:用于通过分布式缓存存储数据快照;

分布式存储服务模块:通过nosql数据库hbase进行分布式存储服务,通过分布式搜索引擎solr实现数据的检索。

优选地,在数据存储过程中:

分布式数据网关模块在分布式消息队列模块中创建数据存储话题和数据变化订阅话题,通过数据存储话题实现数据的上传,通过数据变化订阅话题接收数据变化,从而在数据变化时通知分布式实时数据库的客户端;

第三方客户端调用分布式实时数据库的客户端传输数据;

分布式数据网关模块的负载均衡服务器接收到数据,将数据发送到负荷较小的数据网关,数据网关将数据发送到分布式消息队列中的数据存储话题;

分布式实时流计算服务模块从数据存储话题中接收到订阅消息,传送给消息订阅服务;

消息订阅服务在数据发生变化以及该数据被分布式实时数据库订阅时,将该数据通过数据变化订阅话题发布出去,并将数据路由到内存快照存储服务;

内存快照存储服务将数据发送到分布式缓存服务模块进行快照的存储,并将数据路由到持久化存储服务;

持久化存储将数据发送到分布式存储服务模块进行数据的持久化存储;

分布式存储服务模块接收数据,一方面将数据传输到分布式搜索引擎solr进行数据的异步索引,另一方面将数据序列化存储到hadoop的分布式文件系统中。

优选地,在数据检索过程中:

第三方客户端通过分布式实时数据库的客户端提交数据查询命令到分布式数据网关模块;

分布式数据网关模块根据查询类型进行分类查询,具体的:对于内存快照查询,直接查询分布式缓存服务模块;对于时间查询,直接通过hbase的行键查询;对于按值查询,直接提交给solr查询;

分布式数据网关模块返回查询结果。

优选地,分布式数据网关模块中的分布式数据网关采用haproxy和多个数据节点的分布式部署方式,分布式消息队列基于分布式消息队列kafka;数据传输的安全性由kafka消息序列化机制和副本机制保证,数据处理的安全性由storm分布式框架的容错机制和数据被处理且仅被处理一次的机制保证,数据存储的安全性则由hbase的数据存储副本机制保证;采用hbase的行键索引和solr索引相结合;分布式数据网关采用netty的纯异步rpc通信框架,采用分布式的部署方式。

优选地,在数据存储过程中:分布式缓存服务模块存储标签tag点对应的数据项;分布式存储服务模块将不同的标签tag点数据放在同一行,通过时间作为主键。

下面对本发明进行更为详细的说明。

分布式实时数据库的存储系统的架构见图1,主要由如下几个模块组成:

分布式数据网关模块:分布式数据网关模块主要由负载均衡服务(lb)模块和多个数据网关构成(gw),通过分布式的数据网关实现数据的接收与查询代理,该数据网关完全采用无状态设计模式,从而任何一台网关的异常都不会导致整个系统的异常;

分布式消息队列模块:分布式消息队列模块采用开源的kafka消息队列,由多个broker节点组成,通过分布式消息队列实现数据的发布与订阅功能,该消息队列必须满足高吞吐量、高可靠性和持久化能力,从而实现数据的可靠传输;

分布式实时流计算服务模块:基于分布式实时流处理框架storm,实现了消息订阅(notifybolt)、内存快照存储(memstorebolt)和持久化存储(persistentbolt)三个服务,通过实时流计算服务,对于上传的数据进行计算、变化订阅通知、内存快照存储与持久化存储,该框架必须满足动态可扩展,高可用和实时性,任何一台节点的宕机不会影响数据的处理,确保数据可以被流式框架中的所有数据处理任务执行,同时可以动态的在流计算服务中新增任务,满足对实时流处理的动态需求;

分布式缓存服务模块:基于nosql数据库redis进行设计,通过分布式缓存存储数据快照,也就是数据的最新值,确保数据的实时检索性能;

分布式存储服务模块:分布式存储服务是通过nosql数据库hbase进行存储,通过分布式搜索引擎solr实现数据的检索,分布式存储服务是用来做工业数据的持久化存储,其必须满足大容量、高可靠、高性能、数据副本安全、动态扩展和对基于其上的分布式计算框架的支持,是整个分布式实时数据库的核心。

分布式实时数据库的存储系统的存储流程如下:

1)系统初始化,分布式数据网关模块在分布式消息队列模块中创建数据存储topic和数据变化订阅topic,通过数据存储topic实现数据的上传,通过数据变化订阅topic接收数据变化,从而实现数据变化通知客户端的功能;

2)第三方数据采集客户端调用分布式实时数据库客户端sdk传输数据;

3)分布式数据网关的lb服务器接收到数据,将数据发送到负荷较小的数据网关节点,数据网关节点将数据发送到分布式消息队列中的数据存储topic;

4)分布式流式计算服务spout从数据存储topic中接收到订阅消息,传送给notifybolt;

5)notifybolt判断数据是否变化以及该数据是否被客户端订阅,如果满足变化和被订阅的条件,将该数据通过数据变化订阅topic发布出去,并同时将数据路由到memstorebolt;

6)分布式流式计算服务memstorebolt将数据发送到分布式缓存服务进行快照的存储,并同时将数据路由到persistentbolt;

7)分布式流式计算服务persistentbolt将数据发送到分布式存储服务进行数据的持久化存储;

8)分布式存储服务接收数据,一方面通过hbase的sep处理器将数据传输到分布式搜索引擎solr进行数据的异步索引,另一方面通过其hbase自身机制将数据序列化存储到hadoop的hdfs系统中。

分布式实时数据库的存储系统的数据检索流程如下

1)第三方服务通过sdk提交数据查询命令到分布式数据网关;

2)分布式数据网关根据查询类型进行分类查询,具体如下:

对于内存快照查询,其直接查询分布式缓存服务;

对于时间查询,直接通过hbase的行键查询;

对于按值查询,直接提交给solr查询

3)分布式网关返回查询结果。

分布式实时数据库的存储系统的存储流程特性分析:

高可靠性与动态扩展:整个系统采用纯分布式架构无单点故障,分布式数据网关采用haproxy加多个数据节点的分布式部署方式,分布式消息队列基于分布式消息队列kafka,分布式流式计算框架采用storm,分布式存储采用hbase,对应的数据索引采用solr分布式搜索引擎,采用这种分布式架构系统可方便的进行节点动态扩展;

数据安全性:数据传输的安全性由kafka消息序列化机制和副本机制保证,数据处理的安全性由storm分布式框架的容错机制和数据被处理且仅被处理一次的机制保证,数据存储的安全性则由hbase的数据存储副本机制保证,整个系统从数据的传输、处理到最后存储均安全可靠;

多维度查询:采用hbase的行键索引和solr索引相结合,可实现对于数值的多种复杂条件组合查询,例如正则表达式查询;

分布式计算的支持:对于实时计算我们采用了storm流式计算框架,仅仅需要在storm中增加对应的数据计算bolt即可,对于并行分布式计算,由于我们采用了hbase+hdfs的存储方式,可方便的采用spark分布式计算框架对历史数据进行计算分析;

高性能:分布式数据网关采用netty的纯异步rpc通信框架,采用分布式的部署方式,可实现性能的任意扩展,所采用的消息队列服务、流式计算服务、分布式内存服务和分布式存储服务均具有高性能和弹性扩展的能力,整个系统的性能可通过增加节点数得到快速的提升;

分布式实时数据库的存储系统的存储结构设计:

工业数据主要是时序数据,数据通常是由点名tag、值、时间戳、数据质量四个部分组成,其在分布式缓存服务和分布式存储服务中存储结构分别如图2所示。

分布式缓存服务采用redis的hmset数据结构,存储tag点对应的数据项;

分布式存储服务采用hbase的无模式稀疏设计,将不同的tag点数据放在同一行,通过时间作为主键。

在一个优选的具体实施方式中,本发明采用:

四台x86服务器(命名为a、b、c、d),且内存配置不低于64g,cpu推荐最低e2650。

部署分布式网关服务模块,lb服务器部署在a,网关服务器部署在b、c、d。

部署分布式消息队列服务模块,将kafka同时部署在a、b、c、d四台机器并完成集群的配置。

部署分布式流式计算服务模块,将stormnimbus部署在节点a,b、c、d分别部署supervisor节点并完成集群的配置。

部署分布式缓存服务模块,将redis分别部署在节点a,b、c、d并完成集群的配置。

部署分布式存储服务模块,将hbase的master部署在节点a,节点b、c、d分别部署regionserver,同时完成hadoop环境的配置,将hadoop的namenode部署在节点a,节点b、c、d分别部署datanode并完成集群的配置。

在一个能源云能耗数据存储平台的应用中:

(1)配置能源云数据采集网关,配置需要采集的点

(2)能源云数据采集网关从智能设备采集到数据,通过分布式实时数据库存储客户端sdk发送数据到分布式数据网关

(3)分布式数据网关将数据发送到分布式消息队列

(4)分布式流式数据处理服务从分布式消息队列里消费数据,依次通过notifybolt、memstorebolt和persistentbolt完成数据的变化通知、快照存储和持久化存储。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1