一种分布式光伏数据分层存储方法和系统
技术领域
本发明涉及云计算的数据处理技术领域,特别是一种基于云端协同计算架构的弹性分布式光伏数据分层存储方法和系统。
背景技术
随着国家对光伏发电的鼓励和光伏发电技术的迅速发展,近年来光伏电站迅速增多,光伏装机容量在电网中占有的比例越来越高。在光伏电站运行过程中,数据采集系统采集电站的运行参数,监控、记录电站的运行状态,是分析光伏电站是否稳定运行中不可缺少的部分。研究系统记录的数据不仅可以分析、掌握光伏电站的运行状态,也可以优化光伏电站的设计。各类传感器采集光伏电站的运行参数包括:光伏组件输出的电压和电流,并网电压和电流,太阳辐照度、风速、环境温度和组件温度。
20世纪70年代以来,世界开始流行利用太阳能发电,许多发达国家相继建立太阳能发电厂,到2005年全世界已累计安装使用电量达到142万kW,美国在1997年提出百万太阳能屋顶计划,到2010年达到总容量302.5万kW。我国太阳能丰富且范围广,在2010-2020年普及光伏发电并且每年安装100MW光伏发电系统。随着我国新能源行业的蓬勃发展,光伏发电所占比重越来越大。而光伏电站大多建在交通闭塞、人烟稀少的地区,并且网络环境极其不稳定,传统的光伏电站早期的监控采用有线采集,延时高,不稳定,无法做到实时监控。随着光伏产业的发展,数据监控系统也由原来的有线改成无线,数据存储变成云存储,云计算技术虽然为大数据处理提供了高效的计算平台,但是同样由于带宽和延迟两大瓶颈,面对工业场景下复杂的网络环境,对光伏电站的运行维护很难有突破性提升。
名词解释
MapReduce,是一种编程模型,用于大规模数据集(大于1TB)的并行运算。MapReduce期间,Map会将数据按照同属性或其他规则分类分片,对每各种类别的数据同时进行处理,Reduce阶段则基于每种类别的处理结果进一步处理。
发明内容
本发明的目的是提供一种分布式光伏数据分层存储方法和系统,能够实现在不同网络环境、不同终端计算能力等应用环境下,光伏数据的存储和处理过程优化,为及时准确地分析光伏电站的安全稳定运行状态提供基础。本发明采用的技术方案如下。
一方面,本发明提供一种分布式光伏数据分层存储方法,由边缘端服务器执行,包括:
接收各分布式光伏电站的智能终端上传的光伏数据;按照预设的异常数据识别规则,对接收到的光伏数据进行异常数据识别,并获取异常数据识别结果;
将所接收的光伏数据以及获取的异常数据识别结果,同步至云端服务器;
接收云端服务器对数据进行分层存储处理后发出的存储数据同步信息,以将云端服务器的云端数据库同步至边缘端数据库。
可选的,方法还包括:将异常数据识别结果反馈至异常数据对应的智能终端,使得智能终端响应于接收到异常数据识别结果,输出报警信息或执行异常数据对应的调控操作。
可选的,所述预设的异常数据识别规则为,利用基于相关系数的k-means聚类算法识别异常数据,包括步骤:
a1)计算数据集中任意不同数据之间的相关系数以及平均相关系数:
相关系数计算公式为:
式中,x
i、x
j∈D,D为光伏数据集,r
ij是x
i和x
j之间的相关系数,
为数据x
i的中心,
为数据x
j的中心,m为光伏数据集中各数据的维数,x
il、x
jl分别为数据x
i、x
j的第l维数据;
平均相关系数计算公式为:
式中,n为数据集D的维数,
为x
i与D中其它数据之间相关系数的平均值;
b1)按照平均相关系数的大小对数据集中的数据进行排序,选择前k个平均系数较大的数据作为k-means聚类的聚类中心,进行聚类;
c1)计算各聚类中心对应的聚类簇的密度:
式中,ρt为第t个聚类簇的密度,Qt为第t个聚类簇中数据个数,V为以平均相关系数为半径的聚集簇包围球的体积;
d1)将聚类密度小于设定密度阈值的聚类簇中的数据记做异常数据。
可选的,所述设定密度阈值为0.00032。也即若ρt<0.00032,则相应聚类簇中的数据为异常数据。
第二方面,本发明提供一种分布式光伏数据分层存储方法,由云端服务器执行,包括:
接收边缘端服务器同步的光伏数据以及异常数据识别结果;
对接收到的数据进行分层存储处理,得到分层存储后的云端数据库;
向边缘端服务器发出存储数据同步信息,以使得边缘端服务器响应于接收到所述存储数据同步信息,将云端服务器的云端数据库同步至边缘端数据库。
可选的,所述对接收到的数据进行分层存储处理,得到分层存储后的云端数据库,包括:
对接收到的数据进行分析得到能够并行处理的数据,将能够并行处理的数据分为同一类别;
对云端存储节点进行扩展;
将各单个类别的数据存储至扩展后的单个存储节点;
将数据存储节点信息写入云端数据库。云端数据库存储各类别数据在服务器集群中的存储位置以及存储位置对应的服务器信息,云端服务器可以在用户访问时直接调取相应服务器上存储的数据。
可选的,分析得到能够并行处理的数据包括:利用预先训练的基于监督学习算法的朴素贝叶斯分类模型对数据进行分类,将属于同一分类的数据作为能够并行处理的数据;
所述朴素贝叶斯分类模型的输入变量为待分类的光伏数据,输出变量为光伏数据的类别,训练样本为类别已知的多个多维样本数据。
可选的,基于监督学习算法的朴素贝叶斯分类模型对数据进行分类的过程包括:
a2)对于待分类数据集中的任一数据项x,分别计算数据项距离其正例集聚类中心和反例集聚类中心的距离
和
b2)对于任一类别a
m,计算
与
的差值,若
且
则x∈a
m;若
或
则
其中ε
m为对应类别a
m预设的距离差值阈值;若存在数据项满足
或者对于所有类别皆满足
则转至步骤c2;
c2)利用以下公式计算数据项属于各类别的概率,然后转至步骤d2:
式中,Bi为a1,a2,...,aM中的一个类别,n为数据项x的维数,Xj为数据项x的第j维数据;
d2)将概率计算结果最大值对应的类别作为数据项的类别。至此,则所有数据项能够被分类至预设的类别a1,a2,...,aM中的一个类别。数据类别数量m的取值通过样本训练得到。
可选的,所述对云端存储节点进行扩展包括:
a3)确定存储节点数量:将整个光伏系统以变电站为单位划分为二维逻辑网格,网格数量即为存储节点数量,第i个网格的标号定义为:
x
i为第i个网格的地理坐标,d为网格边长;
b3)确定存储节点的层次:按照节点标号IDE从小到大的顺序,选择2
N个存储节点作为第一层存储节点,将第一层存储节点的存储级别设置为N
L 1=1,第一层之后第i层的存储节点数量为
存储级别为N
L i=N
L i-1+1;
c3)确定各层次中各存储节点的存储量阈值:各层次中,按照节点标号IDE从小到大的顺序,存储节点的存储量阈值依次增大,且均小于存储节点的最大存储容量;
且对于存储节点i存在以下关系:
式中,Ti+1为一个存储层次中第i+1个存储节点的存储量阈值,Tn为一个存储层次中最后一个存储节点的存储量阈值,S为存储节点的最大存储容量。
以上方案能够实现存储节点的动态扩展,进而实现数据在服务器集群中各服务器的均匀存储。
本发明中,数据的分类、存储节点的动态扩展以及数据分层存储可通过MapReduce平台来实现。
第三方面,本发明提供一种数据分层存储系统,包括智能终端、云端服务器和边缘端服务器;
智能终端采集分布式光伏数据,传输至边缘端服务器;
边缘端服务器接收和存储所述分布式光伏数据,按照预设的异常数据识别规则,进行异常数据识别,并存储异常数据识别结果;
边缘端服务器将所存储的光伏数据以及异常数据识别结果,同步至云端服务器;
云端服务器对边缘端服务器同步的数据进行分层存储处理,得到分层处理后的云端数据库,然后将云端数据库同步至边缘端数据库。
可选的,边缘端服务器包括数据存储模块、数据处理模块和边缘端数据库,云端服务器包括数据存储模块、数据处理模块和云端数据库;
边缘端服务器将接收到的分布式光伏数据存储至边缘端数据存储模块;边缘端数据处理模块被配置用于执行异常数据识别,并将异常数据识别结果存储至边缘端数据存储模块;
云端服务器通过云端数据存储模块接收边缘端服务器同步的数据;云端数据处理模块被配置用于对数据存储模块中接收到的数据进行分层存储处理,并将数据存储节点信息记录至云端数据库,然后将云端数据库的数据同步至边缘端服务器的边缘端数据库中。
以上方案中,云端数据存储模块实际位于云端服务器集群中的各服务器。此外,边缘端服务器还包括决策模块,可用于根据异常识别结果进行智能终端的控制策略分析,进而向智能终端发送控制数据,使得智能终端执行相应的控制操作。
有益效果
本发明利用了云端协同计算技术,提出了一种云端协同弹性分布式光伏数据分层存储技术,通过边缘端服务器与云端服务器的协同,能够解决在不同网络环境、不同终端计算能力等应用环境下云端协同弹性计算的光伏数据分层存储优化策略,能够保证光伏电站的稳定运行,提高光伏数据的高效存储与实时查询,能够满足光伏电站中存在的实时控制响应快、数据计算处理快的需求,将本发明的方法和系统用到分布式光伏数据存储系统中具有实际意义。
附图说明
图1所示为本发明分布式光伏数据分层存储方法的一种实施方式流程示意图;
图2所示为本发明数据分层存储系统的一种实施方式架构示意图;
图3所示为本发明数据分层存储系统的协同工作实施方式流程示意图。
具体实施方式
以下结合附图和具体实施例进一步描述。
实施例1
本实施例介绍一种分布式光伏数据分层存储系统,利用云端协同技术实现分布式光伏数据的分层存储,以解决在不同网络环境、不同终端计算能力等应用环境下的光伏数据分层存储优化,以保证光伏电站的稳定运行,提高光伏数据的高效存储与实时查询。
如图2所示,本实施例的数据分层存储系统,包括智能终端、云端服务器和边缘端服务器;
智能终端采集分布式光伏数据,传输至边缘端服务器;
边缘端服务器接收和存储所述分布式光伏数据,按照预设的异常数据识别规则,进行异常数据识别,并存储异常数据识别结果;
边缘端服务器将所存储的光伏数据以及异常数据识别结果,同步至云端服务器;
云端服务器对边缘端服务器同步的数据进行分层存储处理,得到分层处理后的云端数据库,然后将云端数据库同步至边缘端数据库。
具体的,图2中,边缘端服务器包括数据存储模块、数据处理模块、边缘端数据库和决策模块,云端服务器包括数据存储模块、数据处理模块和云端数据库;
边缘端服务器通过决策模块与智能终端之间交互,以接收分布式光伏数据,存储至边缘端数据存储模块;边缘端数据处理模块执行异常数据识别,并将异常数据识别结果存储至边缘端数据存储模块;边缘端服务器通过决策模块与云端服务器交互,以将边缘端数据存储模块存储的数据同步至云端服务器的云端数据存储模块;
云端服务器通过数据处理模块对数据存储模块中接收到的数据进行分层存储处理,并将数据存储节点信息记录至云端数据库,然后将云端数据库的数据同步至边缘端服务器的边缘端数据库中。
云端服务器在进行数据的分类、存储节点的动态扩展以及数据分层存储时,可通过MapReduce平台来实现。
在通信网络不稳定造成云端光伏电站数据存储压力大、存储效率低的情况下,本实施例能够通过现有的处理系统对光伏电站数据实时处理保证光伏电站的安全稳定运行,同时通过数据分类分层能够高效率的存储光伏电站的数据,便于管理者对光伏数据的查询分析。
实施例2
本实施例介绍一种适用于图2所示由智能终端、云端服务器和边缘端服务器构成的分布式光伏数据存储处理架构的分布式光伏数据分层存储方法。
参考图1,本实施例的方法由边缘端服务器执行,包括:
接收各分布式光伏电站的智能终端上传的光伏数据;按照预设的异常数据识别规则,对接收到的光伏数据进行异常数据识别,并获取异常数据识别结果;
将所接收的光伏数据以及获取的异常数据识别结果,同步至云端服务器;
接收云端服务器对数据进行分层存储处理后发出的存储数据同步信息,以将云端服务器的云端数据库同步至边缘端数据库。
此外,边缘端服务器还可执行:将异常数据识别结果反馈至异常数据对应的智能终端,使得智能终端响应于接收到异常数据识别结果,输出报警信息或执行异常数据对应的调控操作。
边缘端服务器进行异常数据识别的异常数据识别规则为,利用基于相关系数的k-means聚类算法识别异常数据,包括步骤:
a1)计算数据集中任意不同数据之间的相关系数以及平均相关系数:
相关系数计算公式为:
式中,x
i、x
j∈D,D为光伏数据集,r
ij是x
i和x
j之间的相关系数,
为数据x
i的中心,
为数据x
j的中心,m为光伏数据集中各数据的维数,x
il、x
jl分别为数据x
i、x
j的第l维数据;
平均相关系数计算公式为:
式中,n为数据集D的维数,
为x
i与D中其它数据之间相关系数的平均值;
b1)按照平均相关系数的大小对数据集中的数据进行排序,选择前k个平均系数较大的数据作为k-means聚类的聚类中心,进行聚类;
c1)计算各聚类中心对应的聚类簇的密度:
式中,ρt为第t个聚类簇的密度,Qt为第t个聚类簇中数据个数,V为以平均相关系数为半径的聚集簇包围球的体积;
d1)将聚类密度小于设定密度阈值的聚类簇中的数据记做异常数据。
以上所述设定密度阈值为0.00032。也即若ρt<0.00032,则相应聚类簇中的数据为异常数据。
实施例1中边缘端服务器可采用本实施例实现。
实施例3
与实施例1和2基于相同的发明构思,本实施例介绍与实施例1和2中边缘端服务器协同工作的云端服务器执行的分布式光伏数据分层存储方法,包括:
接收边缘端服务器同步的光伏数据以及异常数据识别结果;
对接收到的数据进行分层存储处理,得到分层存储后的云端数据库;
向边缘端服务器发出存储数据同步信息,以使得边缘端服务器响应于接收到所述存储数据同步信息,将云端服务器的云端数据库同步至边缘端数据库。
云端服务器对接收到的数据进行分层存储处理,得到分层存储后的云端数据库,包括:
对接收到的数据进行分析得到能够并行处理的数据,将能够并行处理的数据分为同一类别;
对云端存储节点进行扩展;
将各单个类别的数据存储至扩展后的单个存储节点;
将数据存储节点信息写入云端数据库。
云端数据库存储各类别数据在服务器集群中的存储位置以及存储位置对应的服务器信息,云端服务器可以在用户访问时直接调取相应服务器上存储的数据。
云端服务器分析得到能够并行处理的数据包括:利用预先训练的基于监督学习算法的朴素贝叶斯分类模型对数据进行分类,将属于同一分类的数据作为能够并行处理的数据;
所述朴素贝叶斯分类模型的输入变量为待分类的光伏数据,输出变量为光伏数据的类别,训练样本为类别已知的多个多维样本数据。
以上所述基于监督学习算法的朴素贝叶斯分类模型对数据进行分类的过程包括:
a2)对于待分类数据集中的任一数据项x,分别计算数据项距离其正例集聚类中心和反例集聚类中心的距离
和
b2)对于任一类别a
m,计算
与
的差值,若
且
则x∈a
m;若
或
则
其中ε
m为对应类别a
m预设的距离差值阈值;若存在数据项满足
或者对于所有类别皆满足
则转至步骤c2;
c2)利用以下公式计算数据项属于各类别的概率,然后转至步骤d2:
式中,Bi为a1,a2,...,aM中的一个类别,n为数据项x的维数,Xj为数据项x的第j维数据;
d2)将概率计算结果最大值对应的类别作为数据项的类别。至此,则所有数据项能够被分类至预设的类别a1,a2,...,aM中的一个类别。数据类别数量m的取值通过样本训练得到。
以上所述对云端存储节点进行扩展包括:
a3)确定存储节点数量:将整个光伏系统以变电站为单位划分为二维逻辑网格,网格数量即为存储节点数量,第i个网格的标号定义为:
x
i为第i个网格的地理坐标,d为网格边长;
b3)确定存储节点的层次:按照节点标号IDE从小到大的顺序,选择2
N个存储节点作为第一层存储节点,将第一层存储节点的存储级别设置为N
L 1=1,第一层之后第i层的存储节点数量为
存储级别为N
L i=N
L i-1+1;
c3)确定各层次中各存储节点的存储量阈值:各层次中,按照节点标号IDE从小到大的顺序,存储节点的存储量阈值依次增大,且均小于存储节点的最大存储容量;
且对于存储节点i存在以下关系:
式中,Ti+1为一个存储层次中第i+1个存储节点的存储量阈值,Tn为一个存储层次中最后一个存储节点的存储量阈值,S为存储节点的最大存储容量。
以上方案能够实现存储节点的动态扩展,进而实现数据在服务器集群中各服务器的均匀存储。数据的分类、存储节点的动态扩展以及数据分层存储可通过MapReduce平台来实现。
实施例4
参考图3所示,本实施例结合实施例1-3介绍一种云端服务器与边缘端服务器协同计算,实现对智能终端上传的分布式光伏数据进行分层存储的过程,主要涉及以下内容。
(1)智能终端设备将采集到的光伏数据发送到边缘端数据存储模块;
(2)数据处理模块对读取的数据进行异常数据识别,此处可采用基于相关系数k-means算法,参考实施例2中的相关算法,得到异常数据后进行存储;此时边缘端服务器的数据处理模块可根据用户通过访问接口输入的数据访问请求,从边缘端数据存储模块中读取相应的数据;边缘端服务器还可通过决策模块根据异常结果进行针对智能终端的控制策略决策,并反馈到智能终端执行相应的控制,如,若检测到异常数据则智能终端执行报警响应;
(3)边缘端服务器将存储的数据同步到云端数据存储模块中;此时云端数据处理模块可根据用户要求从云端数据存储模块中读取相应的数据;
(4)云端数据处理模块读取云端数据存储模块中的数据,并用基于监督学习算法的朴素贝叶斯分类模型找到能够并行的点,利用云计算集群对数据并行处理;
(5)完成基于监督学习的朴素贝叶斯光伏数据分类,找到可并行的点,将分类的数据存储的云端数据存储模块:
在进行分类存储时,本发明采用分层扩展存储机制,动态扩展并行存储节点,该机制通过扩展哈希编码方法对存储节点进行动态扩展,增加存储节点,同时本发明引入多阈值级别方法将数据均匀分布到各个存储节点实现对光伏数据分层存储;
完成节点的动态扩展后,利用MapReduce平台,将数据均匀存储在各个节点;
(6)将分类分层存储后的光伏数据存储节点信息写入到云端数据库中;
(7)云端服务器与边缘端服务器进行交互,以将边缘端数据库与云端数据库进行同步处理,此后可在云端和边缘端查询存储数据。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。