基于分布式并行数据库的实时数据存储方法和系统技术方案

技术编号:20944273 阅读:26 留言:0更新日期:2019-04-24 02:18
本发明专利技术公开了一种基于分布式并行数据库的实时数据存储方法和系统,方法包括了终端数据的写入和查询方法、测点数据写入、数据冗余备份的一致性处理方法和数据异常处理方法,系统包括了若干个相互之间建立数据连接的管理节点、调度节点、数据节点和连接到调度节点上的应用终端和测点。本发明专利技术针对工业实时数据处理,将分布式数据系统和实时数据系统结合起来,既提高了的数据容量和处理能力,又有效提升了分布式架构下并行处理效率,达到了工业数据的实时性处理要求,还解决系统数据一致性、数据冗余备份、数据出错后快速恢复的能力,提高了数据的可靠性和系统的稳定性,可以较好地应用于大规模数据的实时处理中去。

Real-time Data Storage Method and System Based on Distributed Parallel Database

The invention discloses a real-time data storage method and system based on distributed parallel database. The method includes writing and querying method of terminal data, writing of measuring point data, consistency processing method of data redundancy backup and data exception processing method. The system includes several management nodes, scheduling nodes, data nodes and connection nodes which establish data connection with each other. To the application terminal and measurement point on the dispatching node. Aiming at industrial real-time data processing, the invention combines distributed data system with real-time data system, which not only improves data capacity and processing ability, but also effectively improves parallel processing efficiency under distributed architecture, meets the real-time processing requirements of industrial data, and solves the ability of data consistency, data redundancy backup and fast recovery after data errors. It improves the reliability of the data and the stability of the system, and can be applied to the real-time processing of large-scale data.

【技术实现步骤摘要】
基于分布式并行数据库的实时数据存储方法和系统
本专利技术涉及一种实时数据存储方法和系统,特别是涉及一种基于分布式并行数据库的实时数据存储方法和系统。
技术介绍
随着网络技术迅速发展,各种应用于工业的实时数据系统(例如电厂实时监控系统、节能环保系统、煤炭石化等流程生产企业的自动化、信息化系统)产生的数据量呈指数级增长,现有的单机数据库无论从容量还是从处理能力来讲已不能完全适应当前需求。另外,这种应用于工业的实时数据系统除了要求数据容量大之外,还对系统的实时性和稳定性要求很高。目前业界用做实时数据存取的数据库基本仍使用单核心集中部署,这种系统存在着数据存储容量不大、处理能力不强的缺点,目前的分布式数据库系统又存在着实时性不好的缺点,难以应用到对实时性要求高的工业数据系统中去,如何设计一个既满足事务应用处理时效性又满足事务吞吐率的需求的分布式并行实时数据库是一个难点。
技术实现思路
专利技术目的:本专利技术要解决的技术问题是提供一种基于分布式并行数据库的实时数据存储方法和系统,针对工业实时海量数据的特性,既解决了传统单核心数据库容量有限、处理能力弱的问题,又解决了现有分布式数据库系统实时性不强的问题,满足了工业实时海量数据处理中数据量大和实时性高的要求。技术方案:本专利技术提供一种基于分布式并行数据库的实时数据存储方法,系统中包括若干个管理节点、调度节点、数据节点和连接到调度节点上的应用终端与测点,系统中包含由管理节点依据输入参数确定的分布规则,所述的应用终端向调度节点发出数据写请求,调度节点收到数据写请求后根据分布规则和请求中包含的测点信息,将数据发送到相应的数据主节点,数据主节点在存储过程中将数据转发给对应的备份节点。进一步的,所述的分布规则包括自定义的HASH函数和分片映射表,分片映射表内包含数据分片号和数据节点ID号,数据分片号由测点名和时间段通过所述HASH函数运算得到,由此将测点的数据分布到具体数据节点上。进一步的,所述的HASH函数为:slice_id=(w1×[hash_str(point_name)/b1]+w2×[day_time(time)/b2])%Hash_Bucket,其中,slice_id为数据分片号,hash_str(point_name)为输入是测点名、输出是该字符串的hash函数,day_time(time)为输入是包含有年月日的日期、输出为整数的量化函数,b1和b2为正整数,用来控制测点或相邻时间段内的数据分散程度,[]为取整符号,系数w1和w2在0至1之间,且w1+w2=1,Hash_Bucket为hash桶,%为取模符号。进一步的,还包括测点的写请求方法:调度节点收到测点写请求后,检测测点合法性和唯一性,如果检测通过则存储测点信息,并向其余所有调度节点同步测点信息,若低于1/2的调度节点同步失败,管理节点将失败的调度节点做异常标记,等待后续同步恢复,若超过1/2的调度节点同步失败,则撤销已成功调度节点的同步操作,若撤销失败,同样将撤销失败调度节点做异常标记,等待后续同步恢复。进一步的,还包括数据的读请求方法:所述的应用终端向调度节点发出数据读请求,调度节点通过分布规则筛选数据节点,拆分并重新组织多个读取子请求并分配到多个数据节点,在多个数据节点并行读取数据,完成后将结果返回调度节点,调度节点待所有已分配的读取子请求返回结果后做聚集处理.将结果反馈到发出读请求的应用终端。进一步的,所述的数据读请求中,调度节点通过判断数据主节点和备份节点的繁忙程度来选择读取节点,每个数据读请求只可能被发送到一个数据主节点或者备份节点,如果出现读取异常调度节点则向另一个节点读取数据。进一步的,所述繁忙程度从数据节点的CPU平均使用率、平均网络使用率、当前磁盘使用率、当前内存占用率综合度量。进一步的,还包括数据冗余备份的一致性处理方法,包括下列3个子方法:(1)管理节点的数据一致性处理:采取corosync或zookeeper架构搭建管理节点;(2)调度节点的数据一致性处理:将调度节点上的数据划分为区块,管理节点检查各调度节点上的区块和区块顺序是否一致,若不一致则标注异常,并对异常的调度节点进行同步恢复操作;(3)数据节点的数据一致性处理:管理节点监控数据节点的状态,调度节点通过管理节点获取数据节点的状态,进行数据写入和读取,同时实时地将数据节点的异常状态反馈给管理节点,数据写入时调度节点将数据直接写入数据主节点,由主节点将数据向备份节点做自动转发同步;上述3个子方法可以单独执行也可以同时执行。进一步的,还包括数据异常处理方法,当检测到数据主节点发生异常后,采取以下步骤处理:(1)管理节点检测到数据主节点发生异常后指派对应的备份节点升级为主节点;(2)管理节点启动一致性检测,通过分析数据主节点和备份节点的数据分片版本号以及分片内文件组的版本号不一致的情况,确定需要同步的索引和数据文件块并进行数据同步,对不同版本号文件组直接做替换操作,数据同步过程中主节点进行数据写入操作,数据写入以日志方式记录,并在同步完成后解析日志和更新数据,解析过程中的数据修改仍然追加到日志末尾,直到所有日志解析完毕;(3)消除异常后管理节点消除原发生异常的主节点的异常状态,并作为备份节点继续运行。本专利技术还提供了一种基于分布式并行数据库实时数据存储方法的系统,管理节点用于存储节点元信息并确定分布规则;调度节点用于存储所有测点信息,定时向管理节点汇报当前活动状态并从管理节点同步所有数据节点状态,将数据发送到相应的数据节点;数据节点包括数据主节点和对应的备份节点,用于存储测点产生的数据。有益效果:本专利技术与现有技术相比,针对工业实时数据处理将分布式数据系统和实时数据系统结合起来,既提高了的数据容量和处理能力,又有效提升了分布式架构下并行处理效率,达到了工业数据的实时性处理要求,还解决系统数据一致性、数据冗余备份、数据出错后快速恢复的能力,提高了数据的可靠性和系统的稳定性,可以较好地应用于大规模数据的实时处理中去。附图说明图1是本专利技术系统的部署架构图;图2是依照分布规则的数据映射示意图;图3是数据节点的存储结构图;图4是数据写请求方法示意图;图5是数据读请求方法示意图。具体实施方式如图1所示,在系统的部署架构中,管理节点是整个分布式并行实时库的管理者,主要存储系统元数据信息,包括数据分布方式、各节点状态、主备节点一致性状态等关键信息。调度节点属于分布式访问层,统一的访问接口使得应用能够将分布式并行实时库视为一个完整的逻辑整体进行访问,同时调度节点也属于分布式定位层,是数据的分布和收集者,主要负责数据的分发,查询结果的收集汇总以及任务调度。调度节点存储包含了所有测点信息的测点信息表,如表1所示,测点信息表以测点名为关键字,一条记录包含一个测点的配置信息,如测点描述、压缩算法等。用户可从此测点信息库中查询测点的基本信息。数据节点属于分布式存储层,每一个数据节点运行和管理一个数据库实例,数据节点负责整个数据库系统数据的实际存储,接收来自调度节点的数据,执行经分解的查询任务,执行结果通过调度节点返回给应用程序。所述的数据节点和调度节点定时向管理节点汇报当前活动状态以及繁忙程度,调度节点定时从管理节点同步所有数据节点状态系统。所有数据节点都存本文档来自技高网...

【技术保护点】
1.一种基于分布式并行数据库的实时数据存储方法,系统中包括若干个管理节点、调度节点、数据节点和连接到调度节点上的应用终端与测点,其特征在于:系统中包含由管理节点依据输入参数确定的分布规则,所述的应用终端向调度节点发出数据写请求,调度节点收到数据写请求后根据分布规则和请求中包含的测点信息,将数据发送到相应的数据主节点,数据主节点在存储过程中将数据转发给对应的备份节点。

【技术特征摘要】
1.一种基于分布式并行数据库的实时数据存储方法,系统中包括若干个管理节点、调度节点、数据节点和连接到调度节点上的应用终端与测点,其特征在于:系统中包含由管理节点依据输入参数确定的分布规则,所述的应用终端向调度节点发出数据写请求,调度节点收到数据写请求后根据分布规则和请求中包含的测点信息,将数据发送到相应的数据主节点,数据主节点在存储过程中将数据转发给对应的备份节点。2.根据权利要求1所述的基于分布式并行数据库的实时数据存储方法,其特征在于:所述的分布规则包括自定义的HASH函数和分片映射表,分片映射表内包含数据分片号和数据节点ID号,数据分片号由测点名和时间段通过所述HASH函数运算得到,由此将测点的数据分布到具体数据节点上。3.根据权利要求2所述的基于分布式并行数据库的实时数据存储方法,其特征在于所述的HASH函数为:slice_id=(w1×[hash_str(point_name)/b1]+w2×[day_time(time)/b2])%Hash_Bucket,其中,slice_id为数据分片号,hash_str(point_name)为输入是测点名、输出是该字符串的hash函数,day_time(time)为输入是包含有年月日的日期、输出为整数的量化函数,b1和b2为正整数,用来控制测点或相邻时间段内的数据分散程度,[]为取整符号,系数w1和w2在0至1之间,且w1+w2=1,Hash_Bucket为hash桶,%为取模符号。4.根据权利要求1所述的基于分布式并行数据库的实时数据存储方法,其特征在于还包括测点的写请求方法:调度节点收到测点写请求后,检测测点合法性和唯一性,如果检测通过则存储测点信息,并向其余所有调度节点同步测点信息,若低于1/2的调度节点同步失败,管理节点将失败的调度节点做异常标记,等待后续同步恢复,若超过1/2的调度节点同步失败,则撤销已成功调度节点的同步操作,若撤销失败,同样将撤销失败调度节点做异常标记,等待后续同步恢复。5.根据权利要求1所述的基于分布式并行数据库的实时数据存储方法,其特征在于还包括数据的读请求方法:所述的应用终端向调度节点发出数据读请求,调度节点通过分布规则筛选数据节点,拆分并重新组织多个读取子请求并分配到多个数据节点,在多个数据节点并行读取数据,完成后将结果返回调度节点,调度节点待所有已分配的读取子请求返回结果后做聚集处理.将结果反馈到发出读请求的应用终端。6.根据...

【专利技术属性】
技术研发人员:周淳粟勇
申请(专利权)人:江苏瑞中数据股份有限公司南瑞集团有限公司国家电网有限公司国网江苏省电力有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1