一种能源scada海量数据分布式处理系统及其方法_3

文档序号:9396637阅读:来源:国知局
,根据存储时的哈希算法计算出目标主机,然后根据路由表把查询信息路由到目标主机,根据查询的时间,可以分为三种情况:
[0064]I)如果查询的是同一天的数据,则查询进程会先在目的主机中的内存中查找,当内存中没有请求的数据时,再到硬盘中的tagName (点名)和月份文件夹下找到对应的二进制文件,然后根据具体的时间计算出偏移量,定位到文件中的某一行或者某几行,然后读取;
[0065]2)如果查询的是同月份的不同N天的数据,则开启N个线程分别读取,具体方法同I);
[0066]3)如果查询的是不同月份的数据,则分别到对应的主机中的二进制文件中读取数据,具体方法同I)。
[0067]这样,当读取一个月的数据时,数据量还不是很大,磁盘1不会成为瓶颈;当查询半年以上甚至一年的数据时,可以从多个主机中同时并行读取数据,再进行合并,有效地避免了数据集中存储在一个主机中的磁盘1问题,大大提高了查询效率。
[0068]以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
【主权项】
1.一种能源SCADA海量数据分布式处理系统,其特征在于:包括客户端(I)、实时通信节点(2)、管理服务器(3)和分布式数据服务器(4),所述客户端(I)通过互联网与实时通信节点(2)相连接,所述实时通信节点(2)与管理服务器(3)连接,所述管理服务器(3)通过以太网与分布式数据服务器(4)相连接;所述实时通信节点(2)包括实时库(21)和配置库(22),所述管理服务器(3)包括主管理服务器(31)和备管理服务器(32),所述分布式数据服务器(4)包括多个主存储节点(41)和多个备存储节点(42)。2.如权利要求1所述的一种能源SCADA海量数据分布式处理方法,其特征在于,包括以下步骤: 51、客户端(I)首先通过配置工具配置所有的1点及属性信息,将配置信息存储到配置库(22)中,配置数据是通过关系数据库来管理,并生成xml文件,即配置文件; 52、实时库(21)产生的数据包括模拟量、数字量、字符和报警信息,模拟量暂时存储到本地的缓存中,数字量是在发生变化时主动发动给管理服务器(3),报警信息是在发生报警时主动发送给管理服务器(3); 53、管理服务器(3)中启动了三个线程去采集或接收实时库中产生的数据信息,这三个线程分别是analog线程、digital线程和alarm线程,analog线程按照配置的频率去实时库(21)中采集模拟量数据,digital线程和alarm时刻监听着各自的端口,如果监听到消息则立即接收; 54、管理服务器(3)将接收到的数据先进行报文解析,根据配置文件进行过滤,丢弃配置文件中不需要保存的1点,对需要保存的1点进行检查,若非本月首次存储,则存储到本月其他数据已分配的主机中,否则,按照一定的分配策略重新分配到不同的分布式数据服务器(4)的各个存储节点中,将存储文件的路径和时间信息存放在管理服务器(3)中; 55、每一个存储服务器都会在管理服务器中(3)进行注册,注册完成后,管理服务器(3)中会生成主机名到IP的映射表,一个主机名映射两个IP,分别是主存储节点(41)和备存储节点(42)的IP,主存储节点(41)的IP会被优先访问;当主存储节点(41)出现故障时,管理服务器(3)检测到后会将备存储节点(42)的IP置为优先级最高,同时,备存储节点(42)立即替代故障的节点工作;其中,任一组存储节点包括η个存储服务器,分别存储一部分历史数据; 56、当有1点数据需要存储时,管理服务器(3)就会根据已注册的所有主机名来分配数据,并根据路由表将要存储的数据路由到目的主机,这些工作由RRM进程(Register andRouter Manager,注册和路由管理)来完成; 57、数据被传输到分布式数据服务器(4)后,先暂时存储在内存中,然后每隔一段时间把内存中的数据转移到硬盘中,在硬盘中以二进制文件的形式进行存储,存储路径是固定的,存储路径采用“tagName/attribute/具体的月份”三层文件夹的格式,如果某个文件夹不存在,就新建一个对应名字的文件夹。3.如权利要求2所述的一种能源SCADA海量数据分布式处理系统及其方法,其特征在于,所述步骤S6中RRM进程的执行过程为:客户端(I)不需要知道要访问的数据存放的位置,只需将请求提交给RRM进程,RRM进程知道目标数据在哪个主机,然后将请求转发给目标服务进程,目标服务进程读取数据后直接传输给客户端进程。4.如权利要求2所述的一种能源SCADA海量数据分布式处理系统及其方法,其特征在于,所述步骤S4的分配策略为:分配策略采用一致性哈希方法和固定分配相结合的方式,同一个月的数据被固定分配到同一个存储节点上;当月份发生改变时,再采用一致性哈希方法计算出要被分配的下一个节点编号;当需要查询某个点的某一段时间的数据时,根据月份直接定位到数据所在的存储节点。5.如权利要求4所述的一种能源SCADA海量数据分布式处理系统及其方法,其特征在于,所述采用的一致性哈希方法过程如下: 使用哈希函数H(m) = m MOD n,其中η = 232 ;其哈希值空间为O-(232-1),每个空间可以看做一个桶,将编号为0-(232-1)的桶头尾相连,形成一个虚拟环; 把月份m通过步骤I)中使用的哈希函数计算出对应的key值,然后散列到虚拟环上; 把存储节点的主机名作为输入值通过同步骤I) 一样的哈希函数也映射到虚拟环中,然后以顺时针的方向计算,将所有月份m存储到离自己最近的机器中。6.如权利要求2所述的一种能源SCADA海量数据分布式处理系统及其方法,其特征在于,所述步骤S7中数据文件存储在月份文件夹下,二进制文件以一天来分割进行存储,即不同一天的数据存储在不同的二进制文件中;如果是模拟量,则二进制文件以具体的日期和采样频率的组合来命名,采样频率可以在配置库中进行配置;如果是数字量,二进制文件以具体的日期命名,二进制文件中每一条都要存储具体时间,而数据信息只用存储第一条数据,以后只用存储相对于第一条数据的偏移量;如果是字符,则二进制文件以具体的日期命名,而且全部存储;当超过设置的最大值时,自动删除存储时间最早的文件。7.如权利要求2所述的一种能源SCADA海量数据分布式处理系统及其方法,其特征在于,所述步骤S5中对某个1点的某一段时间的数据进行访问时,客户端(I)会将查询请求先提交给管理服务器(3),管理服务器(3)进行报文解析,根据存储时的哈希算法计算出目标主机,然后根据路由表把查询信息路由到目标主机。8.如权利要求7所述的一种能源SCADA海量数据分布式处理系统及其方法,其特征在于,所述查询信息路由到目标主机分三种情况: 1)如果查询的是同一天的数据,则查询进程会先在目的主机中的内存中查找,当内存中没有请求的数据时,再到硬盘中的tagName (点名)和月份文件夹下找到对应的二进制文件,然后根据具体的时间计算出偏移量,定位到文件中的某一行或者某几行,然后读取; 2)如果查询的是同月份的不同N天的数据,则开启N个线程分别读取,具体方法同步骤I); 3)如果查询的是不同月份的数据,则分别到对应的主机中的二进制文件中读取数据,具体方法同步骤I)。
【专利摘要】本发明公开了一种能源SCADA海量数据分布式处理系统及其方法,包括依次相连的客户端、实时通信节点、管理服务器和分布式数据服务器,实时通信节点包括实时库和配置库,管理服务器包括主管理服务器和备管理服务器,分布式数据服务器包括多个主存储节点和多个备存储节点。其将海量历史数据的存储文件的路径、时间等属性信息和数据本身分开存储,文件的属性信息存储在管理服务器上,数据信息存储在数据服务器节点上,并将数据分片以二进制文件形式存储在多个不同的服务器上,由于数据信息存储在多个服务器上,它们会并行对外传输数据,数据服务器的数量越多时,访问的效率越高,解决了当前SCADA海量历史信息的存储和访问问题。
【IPC分类】G06F17/30, G06F3/06
【公开号】CN105117171
【申请号】CN201510541792
【发明人】白忠贺, 金舒, 戴宏斌, 董胜刚, 张迎
【申请人】南京国电南自美卓控制系统有限公司
【公开日】2015年12月2日
【申请日】2015年8月28日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1