一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种电站发电量预测方法、装置及区块链系统与流程

2022-04-25 02:20:08 来源:中国专利 TAG:


1.本发明涉及发电技术领域,更具体的,涉及一种电站发电量预测方法、装置及区块链系统。


背景技术:

2.电站在规划设计时,需要估算出新建电站所在地理位置的发电能力,进而确定电站设计规模、安装方式等等,使得新建电站在设计时就具备经济效用最大化的特点。
3.发电能力通常情况下可以用电站的年度发电量来表征,以光伏电站为例,光伏电站年发电量的传统计算方法是用光伏电站所在地理位置的太阳辐射量基于光电转换模型进而估算年发电量。传统方法依赖于专业的光资源评估软件和光伏电站发电量测算软件,成本较高,且计算结果较高程度上依赖于光资源特征,忽略了很多导致光伏电站在运行过程实发电量偏离理论发电量的种种因素,因此传统方法计算的结果准确率并不是很高。


技术实现要素:

4.有鉴于此,本发明提供了一种电站发电量预测方法、装置及区块链系统,根据多个参考电站组的发电量平均值估算目标电站的发电量,提高目标电站发电量的计算准确率,同时实现对参考电站的原始发电量数据的隐私保护。
5.为了实现上述发明目的,本发明提供的具体技术方案如下:
6.第一方面,本发明实施例提供了一种电站发电量预测方法,包括:
7.确定多个参考电站组,每个所述参考电站组包括两个或两个以上参考电站;
8.基于区块链系统分别获取多个所述参考电站组的发电量平均值,所述区块链系统不存储所述参考电站的原始发电量数据,所述参考电站组的发电量平均值为基于所述区块链系统采用安全多方计算方法计算得到的;
9.根据多个所述参考电站组的发电量平均值估算目标电站的发电量。
10.在一些实施例中,所述基于区块链系统分别获取多个所述参考电站组的发电量平均值,包括:
11.查询所述区块链系统中是否存储有多个所述参考电站组的发电量平均值;
12.若一个或一个以上所述参考电站组的发电量平均值未存储在所述区块链系统中,则在所述区块链系统中发起发电量平均值计算申请,使发电量平均值未存储在所述区块链系统中的所述参考电站组对应的节点通过所述区块链系统采用安全多方计算方法计算所述参考电站组的发电量平均值,并调用存证智能合约将所述参考电站组的发电量平均值存储到所述区块链系统中;
13.通过访问所述区块链系统分别获取多个所述参考电站组的发电量平均值;
14.若多个所述参考电站组的发电量平均值均存储在所述区块链系统中,则直接通过访问所述区块链系统分别获取多个所述参考电站组的发电量平均值。
15.在一些实施例中,当发电量平均值未存储在所述区块链系统中的所述参考电站组
包括第一参考电站和第二参考电站时,发电量平均值未存储在所述区块链系统中的所述参考电站组对应的节点通过所述区块链系统采用安全多方计算方法计算所述参考电站组的发电量平均值,包括:
16.第一电站节点和第二电站节点通过所述区块链系统中的点对点通信网络,基于密钥交换算法得到共享密钥,并将所述共享密钥作为随机数生成算法的种子,生成随机数,其中,所述第一电站节点为所述第一参考电站对应的节点,所述第二电站节点为所述第二参考电站对应的节点;
17.所述第一电站节点和所述第二电站节点调用同态加密智能合约,对各自预处理后的发电量数据与所述随机数的计算结果进行加密得到加密数据,并将加密数据传入本次同态加密智能合约地址;
18.本次同态加密智能合约中的解密方节点通过对加密数据进行同态计算并解密得到所述参考电站组的发电量平均值,所述解密方节点唯一拥有解密权限。
19.在一些实施例中,所述第一电站节点和所述第二电站节点调用同态加密智能合约,对各自预处理后的发电量数据与所述随机数的计算结果进行加密得到加密数据,并将加密数据传入本次同态加密智能合约地址,包括:
20.所述第一电站节点调用所述同态加密智能合约,所述同态加密智能合约执行构造函数生成所述本次同态加密智能合约地址;
21.所述第一电站节点调用所述本次同态加密智能合约地址中的加密函数对自身预处理后的发电量数据与所述随机数的和值进行加密,并将得到的加密数据与所述本次同态加密智能合约地址发送到所述第二电站节点,将所述本次同态加密智能合约地址发送到所述解密方节点;
22.所述第二电站节点调用所述本次同态加密智能合约地址中的加密函数对自身预处理后的发电量数据与所述随机数的差值进行加密,并将得到的加密数据与所述第一电站节点的加密数据传入所述本次同态加密智能合约地址。
23.在一些实施例中,当发电量平均值未存储在所述区块链系统中的所述参考电站组包括两个以上所述参考电站时,发电量平均值未存储在所述区块链系统中的所述参考电站组对应的节点通过所述区块链系统采用安全多方计算方法计算所述参考电站组的发电量平均值,包括:
24.所述参考电站组中的各个所述参考电站对应的节点调用有向闭环链路构造智能合约,确定由各个所述参考电站对应的节点构成的有向闭环链路的顺序;
25.按照所述有向闭环链路的顺序,第一个节点生成一个随机数,利用第二个节点的公钥对自身预处理后的发电量数据与所述随机数的计算结果进行加密,并将加密数据发送到第二个节点;
26.所述第二个节点利用私钥对接收到的加密数据进行解密,利用第三个节点的公钥对自身预处理后的发电量数据与解密数据的和值进行加密,并将加密数据发送到所述第三个节点;
27.以此类推,所述第一个节点接收到最后一个节点发送的加密数据之后,利用私钥对加密数据进行解密,对解密后的数据与所述随机数进行反向计算得到所述参考电站组的发电量和值,并计算所述参考电站组的发电量平均值。
28.在一些实施例中,所述根据多个所述参考电站组的发电量平均值估算目标电站的发电量,包括:
29.根据多个所述参考电站组的发电量平均值以及每个所述参考电站的地理位置,估算预设地理位置的所述目标电站的发电量,所述目标电站为待建电站。
30.在一些实施例中,所述根据多个所述参考电站组的发电量平均值以及每个所述参考电站的地理位置,估算预设地理位置的所述目标电站的发电量,包括:
31.分别根据每个所述参考电站组中每个所述参考电站的地理位置,确定每个所述参考电站组的中间位置;
32.根据每个所述参考电站组的中间位置以及发电量平均值,按照预设插值法估算预设地理位置的所述目标电站的发电量。
33.第二方面,本发明实施例提供了一种电站发电量预测装置,包括:
34.参考电站组确定单元,用于确定多个参考电站组,每个所述参考电站组包括两个或两个以上参考电站;
35.发电量平均值获取单元,用于基于区块链系统分别获取多个所述参考电站组的发电量平均值,所述区块链系统不存储所述参考电站的原始发电量数据,所述参考电站组的发电量平均值为基于所述区块链系统采用安全多方计算方法计算得到的;
36.发电量估算单元,用于根据多个所述参考电站组的发电量平均值估算目标电站的发电量。
37.在一些实施例中,所述发电量平均值获取单元,具体用于:
38.查询所述区块链系统中是否存储有多个所述参考电站组的发电量平均值;
39.若一个或一个以上所述参考电站组的发电量平均值未存储在所述区块链系统中,则在所述区块链系统中发起发电量平均值计算申请,使发电量平均值未存储在所述区块链系统中的所述参考电站组对应的节点通过所述区块链系统采用安全多方计算方法计算所述参考电站组的发电量平均值,并调用存证智能合约将所述参考电站组的发电量平均值存储到所述区块链系统中;
40.通过访问所述区块链系统分别获取多个所述参考电站组的发电量平均值;
41.若多个所述参考电站组的发电量平均值均存储在所述区块链系统中,则直接通过访问所述区块链系统分别获取多个所述参考电站组的发电量平均值。
42.在一些实施例中,所述发电量估算单元,具体用于:
43.根据多个所述参考电站组的发电量平均值以及每个所述参考电站的地理位置,估算预设地理位置的所述目标电站的发电量,所述目标电站为待建电站。
44.在一些实施例中,所述发电量估算单元,具体用于:
45.分别根据每个所述参考电站组中每个所述参考电站的地理位置,确定每个所述参考电站组的中间位置;
46.根据每个所述参考电站组的中间位置以及发电量平均值,按照预设插值法估算预设地理位置的所述目标电站的发电量。
47.第三方面,本发明实施例提供了一种区块链系统,包括:目标电站节点和已建电站节点;
48.在所述目标电站节点预测其发电量时,所述已建电站节点对应的已建电站可作为
参考电站;
49.所述目标电站节点,用于执行如第一方面中任一实现方式描述的电站发电量预测方法。
50.在一些实施例中,当发电量平均值未存储在所述区块链系统中的参考电站组包括第一参考电站和第二参考电站时,第一电站节点和第二电站节点用于通过所述区块链系统中的点对点通信网络,基于密钥交换算法得到共享密钥,并将所述共享密钥作为随机数生成算法的种子,生成随机数,其中,所述第一电站节点为所述第一参考电站对应的节点,所述第二电站节点为所述第二参考电站对应的节点;
51.所述第一电站节点和所述第二电站节点还用于调用同态加密智能合约,对各自预处理后的发电量数据与所述随机数的计算结果进行加密得到加密数据,并将加密数据传入本次同态加密智能合约地址;
52.本次同态加密智能合约中的解密方节点用于通过对加密数据进行同态计算并解密得到所述参考电站组的发电量平均值,所述解密方节点唯一拥有解密权限。
53.在一些实施例中,所述第一电站节点具体用于调用所述同态加密智能合约,所述同态加密智能合约执行构造函数生成所述本次同态加密智能合约地址,所述第一电站节点调用所述本次同态加密智能合约地址中的加密函数对自身预处理后的发电量数据与所述随机数的和值进行加密,并将得到的加密数据与所述本次同态加密智能合约地址发送到所述第二电站节点,将所述本次同态加密智能合约地址发送到所述解密方节点;
54.所述第二电站节点具体用于调用所述本次同态加密智能合约地址中的加密函数对自身预处理后的发电量数据与所述随机数的差值进行加密,并将得到的加密数据与所述第一电站节点的加密数据传入所述本次同态加密智能合约地址。
55.在一些实施例中,当发电量平均值未存储在所述区块链系统中的参考电站组包括两个以上所述参考电站时,所述参考电站组中的各个所述参考电站对应的节点用于调用有向闭环链路构造智能合约,确定由各个所述参考电站对应的节点构成的有向闭环链路的顺序;
56.按照所述有向闭环链路的顺序,第一个节点用于生成一个随机数,利用第二个节点的公钥对自身预处理后的发电量数据与所述随机数的计算结果进行加密,并将加密数据发送到第二个节点;
57.所述第二个节点用于利用私钥对接收到的加密数据进行解密,利用第三个节点的公钥对自身预处理后的发电量数据与解密数据的和值进行加密,并将加密数据发送到所述第三个节点;
58.以此类推,所述第一个节点接收到最后一个节点发送的加密数据之后,还用于利用私钥对加密数据进行解密,对解密后的数据与所述随机数进行反向计算得到所述参考电站组的发电量和值,并计算所述参考电站组的发电量平均值。
59.相对于现有技术,本发明的有益效果如下:
60.本发明公开的一种电站发电量预测方法、装置及区块链系统,根据多个参考电站组的发电量平均值估算目标电站的发电量,不需要依赖专业的光资源或风资源评估与电站发电量测算软件,降低了目标电站发电量的预测成本,避免由于仅考虑光资源或风资源特征导致预测结果偏离实际发电量的问题。同时,本发明不需要获取参考电站的原始发电量
数据,直接使用参考电站组的发电量平均值,参考电站组的发电量平均值为基于区块链系统采用安全多方计算方法计算得到的,参考电站的原始发电量数据不会泄露,实现对参考电站的原始发电量数据的隐私保护。
附图说明
61.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
62.图1为本发明实施例公开的一种电站发电量预测方法的流程示意图;
63.图2为本发明实施例公开的一种电站发电量预测方法的部分方法流程示意图;
64.图3为本发明实施例公开的一种电站发电量预测方法的部分方法流程示意图;
65.图4为本发明实施例公开的一种电站发电量预测方法的部分方法流程示意图;
66.图5为本发明实施例公开的一种电站发电量预测装置的结构示意图。
具体实施方式
67.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
68.发明人经过研究发现:以光伏电站为例,光伏电站年发电量的传统计算方法是用光伏电站所在地理位置的太阳辐射量基于光电转换模型进而估算年发电量。传统方法依赖于专业的光资源评估软件和光伏电站发电量测算软件,成本较高,且计算结果较高程度上依赖于光资源特征,忽略了很多导致光伏电站在运行过程实发电量偏离理论发电量的种种因素,因此传统方法计算的结果准确率并不是很高。随着光伏电站不断建设,可以通过待建光伏电站周围的光伏电站的历史发电量数据估算待建光伏电站所在地理位置的理论发电量,这种方法不依赖于专业的光资源评估与光伏电站发电量测算软件,但是历史发电量数据是光伏电站业主的隐私数据,不会直接对外提供,因此在通过待建光伏电站周围光伏电站的历史发电量数据来估算待建光伏电站所在地理位置的理论发电量的同时,需要保证周围光伏电站的历史发电量数据的隐私性。
69.为了解决上述技术问题,本发明提供了一种电站发电量预测方法、装置及区块链系统,可应用于光伏电站、风电场等电站的发电量预测,根据多个参考电站组的发电量平均值估算目标电站的发电量,目标电站不限于待建电站,不需要依赖专业的光资源或风资源评估与电站发电量测算软件,降低了目标电站发电量的预测成本,避免由于仅考虑光资源或风资源特征导致预测结果偏离实际发电量的问题。同时,本发明不需要获取参考电站的原始发电量数据,直接使用参考电站组的发电量平均值,参考电站组的发电量平均值为基于区块链系统采用安全多方计算方法计算得到的,参考电站的原始发电量数据不会泄露,实现对参考电站的原始发电量数据的隐私保护。
70.具体的,请参阅图1,本实施例公开的一种电站发电量预测方法应用于区块链系统
中的目标电站节点,包括以下步骤:
71.s101:确定多个参考电站组,每个参考电站组包括两个或两个以上参考电站。
72.本实施例可应用于光伏电站、风电场等电站的发电量预测,为了估算预设地理位置的目标电站的发电量,需要选择预设地理位置周围的已建电站作为参考,两个或两个以上作为参考的已建电站组成参考电站组。目标电站可以为待建电站,也可以为已建但还未投入使用的电站,也可以为刚投入使用的电站等,本发明不做具体限定。
73.需要说明的是,若目标电站为光伏电站,则参考电站也为光伏电站,若目标电站为风电站,则参考电站也为风电站。
74.可以理解的是,参考电站组的数量越多,参考电站组的地理位置与目标电站的地理位置越接近,最终估算得到的目标电站的发电量越准确。
75.s102:基于区块链系统分别获取多个参考电站组的发电量平均值,区块链系统不存储参考电站的原始发电量数据,参考电站组的发电量平均值为基于区块链系统采用安全多方计算方法计算得到的。
76.需要说明的是,区块链系统在运行过程中积累了一些参考电站组的发电量平均值,在目标电站需要预测其发电量时可以基于区块链系统中已存储的多个参考电站组的发电量平均值进行预测,若区块链系统中已存储的多个参考电站组的发电量平均值不能满足目标电站的发电量预测需要,还可以在区块链系统中发起发电量平均值计算申请。
77.在此基础上,请参阅图2,基于区块链系统分别获取多个参考电站组的发电量平均值的一种可选实施方式包括:
78.s201:查询区块链系统中是否存储有多个参考电站组的发电量平均值;
79.若一个或一个以上参考电站组的发电量平均值未存储在区块链系统中,执行s202:在区块链系统中发起发电量平均值计算申请,使发电量平均值未存储在区块链系统中的参考电站组对应的节点通过区块链系统采用安全多方计算方法计算参考电站组的发电量平均值,并调用存证智能合约将参考电站组的发电量平均值存储到区块链系统中;
80.s203:通过访问区块链系统分别获取多个参考电站组的发电量平均值;
81.若多个参考电站组的发电量平均值均存储在区块链系统中,则直接执行s203。
82.需要说明的是,区块链系统不存储参考电站的原始发电量数据,仅存储参考电站组的发电量平均值,可以理解的是,基于参考电站组的发电量平均值无法反推参考电站组中各个参考电站组的原始发电量数据。
83.参考电站组对应的节点通过区块链系统采用安全多方计算方法计算参考电站组的发电量平均值的过程中,参考电站节点间发电量数据是安全加密传输的,实现对参考电站的原始发电量数据的隐私保护。
84.s103:根据多个参考电站组的发电量平均值估算目标电站的发电量。
85.若参考电站组与目标电站的地理位置十分接近,可以根据多个参考电站组的发电量平均值估算目标电站的发电量。
86.为了提高估算结果的准确性,还可以根据多个参考电站组的发电量平均值以及每个参考电站的地理位置,估算预设地理位置的目标电站的发电量。
87.具体的,首先分别根据每个参考电站组中每个参考电站的地理位置,确定每个参考电站组的中间位置,具体实施方式可以为:计算参考电站组中每个参考电站的地理位置
中的经纬度平均值,将经纬度平均值作为参考电站组的中间位置。当然也可以采用其他确定参考电站组的中间位置的方式,本发明不做具体限定。
88.然后根据每个参考电站组的中间位置以及发电量平均值,按照预设插值法估算预设地理位置的目标电站的发电量。预设差值法包括但不限于拉格朗日插值法、牛顿插值法、分段线性插值法、三次样条插值法、b样条插值法、张力样条插值法、克里金插值法、hiemite插值法、网格插值法等。
89.针对参考电站组包括两个参考电站的情况,本实施例提供了一种基于密钥交换算法和同态加密智能合约的发电量平均值计算方法,为了便于描述,本实施例用第一参考电站和第二参考电站表示参考电站组中的两个参考电站,用第一电站节点表示第一参考电站对应的节点,用第二电站节点表示第二参考电站对应的节点,请参阅图3,该方法具体包括以下步骤:
90.s301:第一电站节点和第二电站节点通过区块链系统中的点对点通信网络,基于密钥交换算法得到共享密钥,并将共享密钥作为随机数生成算法的种子,生成随机数。
91.参考电站业主在区块链系统上注册了区块链身份,成为参考电站节点之后即得到了一组公私钥对。假设第一电站节点和第二电站节点分别为a和b,a和b互相交换公钥,通过密钥交换算法,双方都得到一个仅在双方共享的密钥sk,将该sk作为随机数生成算法的种子,于是在双方均得到了一相同的随机数mask。
92.密钥交换算法包括但不限于基于rsa的密钥交换算法、基于diffie

hellman的密钥交换算法、基于“椭圆曲线”的ecdh(elliptic curve diffie-hellman)算法等。
93.s302:第一电站节点和第二电站节点调用同态加密智能合约,对各自预处理后的发电量数据与随机数的计算结果进行加密得到加密数据,并将加密数据传入本次同态加密智能合约地址。
94.需要说明的是,由于参考电站的装机规模大多都是不相同的,为了便于后续计算,参考电站节点需要将历史发电量归一化得到单位装机容量下的电站发电量数据。
95.同时,不同的参考电站,其投运时间不一致,随着年份的推移,电站发电能力存在一定的衰减,为了提高后续估算发电量的准确性,需要填补这部分的发电衰减量,得到参考电站所在日历年的理论历史发电量数据。具体的,可以通过以下方式填补发电衰减量:
96.历史发电量/(1-年度衰减系数)
97.其中,不同使用年份的年度衰减系数不同。
98.参考电站日历年的理论历史发电量数据的时间颗粒度可以为年度,为提高数据的颗粒度,参考电站日历年的理论历史发电量数据的时间颗粒度可精细到月度,最终得到预处理后的发电量数据。
99.同态加密智能合约可以为基于paillier加法同态加密算法的智能合约,也可以为其他同态加密算法,本发明不做具体限制。以paillier加法同态加密算法为例,paillier加法同态加密算法的算法特性如下:记e(m)为同态加密,m为明文数据,d(s)为同态解密,s为密文数据,于是有m=d(e(m)),对于任意两个明文数据,有e(m1)
·
e(m2)=e(m1 m2)。paillier加法同态加密算法会生成一组公私钥对,e(m)即对明文数据用公钥进行加密,d(s)即对密文数据用私钥进行解密。
100.还以第一电站节点和第二电站节点分别为a和b为例,a将预处理后的发电量数据
均加上了s301中的mask值,同时调用同态加密智能合约,此时,同态加密智能合约会执行构造函数,生成同态加密算法的加密公钥和解密私钥,同时得到本次同态加密智能合约地址,记为address。然后a调用address中的加密函数,对发电量数据与mask的和值进行加密,得到e(pga mask)密文值并发送给b,其中pga代表a的发电量数据,同时a将address也发送给b和解密方节点,解密方节点为本次同态加密智能合约唯一拥有解密权限的角色方节点。可以理解的是,b基于e(pga mask)无法反推得到pga。
101.b接收到a发送过来的消息后,调用address中的加密函数,对发电量数据与mask的差值进行加密,得到e(pg
b-mask)密文值,并向address中传入e(pg
b-mask)密文值以及e(pga mask),其中pgb代表b的发电量数据。
102.当然,也可以为a调用address中的加密函数,对发电量数据与mask的差值进行加密,得到e(pg
a-mask)密文值并发送给b,b接收到a发送过来的消息后,调用address中的加密函数,对发电量数据与mask的和值进行加密,得到e(pgb mask)密文值,并向address中传入e(pgb mask)密文值以及e(pg
a-mask)。
103.s303:本次同态加密智能合约中的解密方节点通过对加密数据进行同态计算并解密得到参考电站组的发电量平均值,解密方节点唯一拥有解密权限。
104.本次同态加密智能合约中的解密方节点根据address中传入e(pg
b-mask)密文值以及e(pga mask)密文值,或者根据address中传入e(pgb mask)密文值以及e(pg
a-mask)密文值,进行同态计算并解密得到a和b的发电量平均值。记pg
ab
为a和b的发电量平均值,有
105.e(pga pgb)=e(pga mask pg
b-mask)=e(pga mask)
·
e(pg
b-mask)
[0106][0107]
可以理解的是,在这个过程中,b拿到的是a经过同态加密后的密文数据,无法解密出a的发电量明文数据,a的发电量隐私数据得到有效保护。同态加密智能合约中的解密方节点尽管其可以解密,但是由于a和b的发电量数据均引入了随机数mask,解密方节点无法得知mask值是多少,因此a和b的发电量数据均得到有效的隐私保护。
[0108]
假设某地区存在三个已建光伏电站,基础信息如下表所示:
[0109]
表1某地区三个已建光伏电站基础信息表
[0110][0111]
这三个已建光伏电站在2020年的历史月发电量见下表所示:
[0112]
表2 a、b、c三个已建光伏电站在2020年的历史月发电量
[0113][0114]
各个已建光伏电站的历史发电量数据进行数据预处理,得到单位装机容量下且填补光伏电站年度衰减电量后的发电量数据。这里单位装机容量设为1mw,于是数据预处理后的各个光伏电站的发电量数据如下表所示:
[0115]
表3 a、b、c三个已建光伏电站在2020年预处理后的历史月发电量
[0116][0117][0118]
基于密钥交换算法与同态加密智能合约的安全两方计算方法,计算任意两个已建
光伏电站的发电量数据的平均值,得到如下结果:
[0119]
表4:基于区块链和密钥交换算法与同态加密智能合约的安全两方计算方法处理结果
[0120][0121]
假设需要在地理坐标为116.3166e,38.11n的位置处建设光伏电站,于是选择某一或多种插值算法,根据以上任意两个已建光伏电站的发电量数据的平均值,即可得到在116.3166e,38.11n的位置处1mw的光伏电站理论发电量测算值如下:
[0122]
表5 116.3166e,38.11n的位置处1mw的光伏电站理论发电量测算值
[0123][0124]
针对参考电站包括两个以上参考电站的情况,本实施例提供了一种基于有向闭环链路构造智能合约的发电量平均值计算方法,请参阅图4,该方法具体包括以下步骤:
[0125]
s401:参考电站组中的各个参考电站对应的节点调用有向闭环链路构造智能合约,确定由各个参考电站对应的节点构成的有向闭环链路的顺序。
[0126]
s402:按照有向闭环链路的顺序,第一个节点生成一个随机数,利用第二个节点的公钥对自身预处理后的发电量数据与随机数的计算结果进行加密,并将加密数据发送到第二个节点。
[0127]
其中,第一个节点可以利用第二个节点的公钥对自身预处理后的发电量数据与随机数的和值进行加密,也可以利用第二个节点的公钥对自身预处理后的发电量数据与随机数的差值进行加密,还可以为对其他计算方法得到计算结果进行加密,本发明不做具体限定。
[0128]
s403:第二个节点利用私钥对接收到的加密数据进行解密,利用第三个节点的公钥对自身预处理后的发电量数据与解密数据的和值进行加密,并将加密数据发送到第三个节点。
[0129]
s404:以此类推,第一个节点接收到最后一个节点发送的加密数据之后,利用私钥对加密数据进行解密,对解密后的数据与随机数进行反向计算得到参考电站组的发电量和值,并计算参考电站组的发电量平均值。
[0130]
这里的反向计算为与s402计算结果对应的计算方向相反的计算方法,例如s402中第一个节点利用第二个节点的公钥对自身预处理后的发电量数据与随机数的和值进行加密,s404则为第一个节点接收到最后一个节点发送的加密数据之后,利用私钥对加密数据进行解密,将解密后的数据减去随机数,并计算参考电站组的发电量平均值。
[0131]
假设参考电站组包括五个参考电站,分别对应节点a、b、c、d、e,他们均在区块链系
统注册了区块链身份,拥有公私钥对,a、b、c、d、e分别对自身历史发电量数据进行预处理得到预处理后的发电量数据a、b、c、d、e,其中预处理方法与上述实施例原理一致,在此不再赘述,在此基础上计算参考电站组的发电量平均值过程如下:
[0132]
a、b、c、d、e调用有向闭环链路构造智能合约,确定由a、b、c、d、e构成的有向闭环链路的顺序,这里顺序的确定可以基于时间优先规则、电站地理位置偏差规则等,顺序确定后广播至区块链网络中。
[0133]
以有向闭环链路的顺序为a-》b-》c-》d-》e-》a为例,a在接收到有向闭环链路的顺序后,先生成一个随机数mask,然后将明文数据a与其相加得到a mask,然后用b的公钥加密,发给b。
[0134]
b获取密文后,用自己的私钥解密后,将明文数据b与a mask相加,然后用c的公钥加密,发给c。
[0135]
c获取密文后,用自己的私钥解密后,将明文数据c与a mask b相加,然后用d的公钥加密,发给d。
[0136]
d获取密文后,用自己的私钥解密后,将明文数据d与a mask b c相加,然后用e的公钥加密,发给e。
[0137]
e获取密文后,用自己的私钥解密后,将明文数据e与a mask b c d相加,然后用a的公钥加密,发给a。
[0138]
a拿到密文后,用自己的私钥解密后,将之前的mask减去,除以5即得a、b、c、d、e这些明文数据的平均值,即得到参考电站组的发电量平均值。
[0139]
于是,得到下表:
[0140]
表6 a、b、c、d、e光伏电站安全三方计算方法处理结果
[0141][0142]
可以理解的是,由于b、c、d、e接收到的都是前面节点的发电量与随机数的和值的加密数据,无法反推得到前面任意一个节点的发电量数据,a虽然知道随机数,但是接收到
的是所有节点的发电量与随机数的和值的加密数据,也无法反推得到b、c、d、e中任意一个节点的发电量数据,实现对参考电站的原始发电量数据的隐私保护。
[0143]
基于上述实施例公开的一种电站发电量预测方法,本实施例对应公开了一种电站发电量预测装置,请参阅图5,该装置包括:
[0144]
参考电站组确定单元501,用于确定多个参考电站组,每个所述参考电站组包括两个或两个以上参考电站;
[0145]
发电量平均值获取单元502,用于基于区块链系统分别获取多个所述参考电站组的发电量平均值,所述区块链系统不存储所述参考电站的原始发电量数据,所述参考电站组的发电量平均值为基于所述区块链系统采用安全多方计算方法计算得到的;
[0146]
发电量估算单元503,用于根据多个所述参考电站组的发电量平均值估算目标电站的发电量。
[0147]
在一些实施例中,所述发电量平均值获取单元502,具体用于:
[0148]
查询所述区块链系统中是否存储有多个所述参考电站组的发电量平均值;
[0149]
若一个或一个以上所述参考电站组的发电量平均值未存储在所述区块链系统中,则在所述区块链系统中发起发电量平均值计算申请,使发电量平均值未存储在所述区块链系统中的所述参考电站组对应的节点通过所述区块链系统采用安全多方计算方法计算所述参考电站组的发电量平均值,并调用存证智能合约将所述参考电站组的发电量平均值存储到所述区块链系统中;
[0150]
通过访问所述区块链系统分别获取多个所述参考电站组的发电量平均值;
[0151]
若多个所述参考电站组的发电量平均值均存储在所述区块链系统中,则直接通过访问所述区块链系统分别获取多个所述参考电站组的发电量平均值。
[0152]
在一些实施例中,所述发电量估算单元503,具体用于:
[0153]
根据多个所述参考电站组的发电量平均值以及每个所述参考电站的地理位置,估算预设地理位置的所述目标电站的发电量,所述目标电站为待建电站。
[0154]
在一些实施例中,所述发电量估算单元503,具体用于:
[0155]
分别根据每个所述参考电站组中每个所述参考电站的地理位置,确定每个所述参考电站组的中间位置;
[0156]
根据每个所述参考电站组的中间位置以及发电量平均值,按照预设插值法估算预设地理位置的所述目标电站的发电量。
[0157]
本实施例公开的一种电站发电量预测装置,根据多个参考电站组的发电量平均值估算目标电站的发电量,不需要依赖专业的光资源或风资源评估与电站发电量测算软件,降低了目标电站发电量的预测成本,避免由于仅考虑光资源或风资源特征导致预测结果偏离实际发电量的问题。同时,本装置不需要获取参考电站的原始发电量数据,直接使用参考电站组的发电量平均值,参考电站组的发电量平均值为基于区块链系统采用安全多方计算方法计算得到的,参考电站的原始发电量数据不会泄露,实现对参考电站的原始发电量数据的隐私保护。
[0158]
本实施例还公开了一种区块链系统,包括:目标电站节点和已建电站节点;
[0159]
在所述目标电站节点预测其发电量时,所述已建电站节点对应的已建电站可作为参考电站;
[0160]
所述目标电站节点,用于执行如上述实施例公开的电站发电量预测方法。
[0161]
在一些实施例中,当发电量平均值未存储在所述区块链系统中的参考电站组包括第一参考电站和第二参考电站时,第一电站节点和第二电站节点用于通过所述区块链系统中的点对点通信网络,基于密钥交换算法得到共享密钥,并将所述共享密钥作为随机数生成算法的种子,生成随机数,其中,所述第一电站节点为所述第一参考电站对应的节点,所述第二电站节点为所述第二参考电站对应的节点;
[0162]
所述第一电站节点和所述第二电站节点还用于调用同态加密智能合约,对各自预处理后的发电量数据与所述随机数的计算结果进行加密得到加密数据,并将加密数据传入本次同态加密智能合约地址;
[0163]
本次同态加密智能合约中的解密方节点用于通过对加密数据进行同态计算并解密得到所述参考电站组的发电量平均值,所述解密方节点唯一拥有解密权限。
[0164]
在一些实施例中,所述第一电站节点具体用于所述调用同态加密智能合约,所述同态加密智能合约执行构造函数生成所述本次同态加密智能合约地址,所述第一电站节点调用所述本次同态加密智能合约地址中的加密函数对自身预处理后的发电量数据与所述随机数的和值进行加密,并将得到的加密数据与所述本次同态加密智能合约地址发送到所述第二电站节点,将所述本次同态加密智能合约地址发送到所述解密方节点;
[0165]
所述第二电站节点具体用于调用所述本次同态加密智能合约地址中的加密函数对自身预处理后的发电量数据与所述随机数的差值进行加密,并将得到的加密数据与所述第一电站节点的加密数据传入所述本次同态加密智能合约地址。
[0166]
在一些实施例中,当发电量平均值未存储在所述区块链系统中的参考电站组包括两个以上所述参考电站时,所述参考电站组中的各个所述参考电站对应的节点用于调用有向闭环链路构造智能合约,确定由各个所述参考电站对应的节点构成的有向闭环链路的顺序;
[0167]
按照所述有向闭环链路的顺序,第一个节点用于生成一个随机数,利用第二个节点的公钥对自身预处理后的发电量数据与所述随机数的计算结果进行加密,并将加密数据发送到第二个节点;
[0168]
所述第二个节点用于利用私钥对接收到的加密数据进行解密,利用第三个节点的公钥对自身预处理后的发电量数据与解密数据的和值进行加密,并将加密数据发送到所述第三个节点;
[0169]
以此类推,所述第一个节点接收到最后一个节点发送的加密数据之后,还用于利用私钥对加密数据进行解密,对解密后的数据与所述随机数进行反向计算得到所述参考电站组的发电量和值,并计算所述参考电站组的发电量平均值。
[0170]
本实施例公开的一种区块链系统,为预测目标电站的发电量提供了一个可行平台,目标电站节点基于区块链系统根据多个参考电站组的发电量平均值估算待建电站的发电量,不需要依赖专业的光资源或风资源评估与电站发电量测算软件,降低了目标电站发电量的预测成本,避免由于仅考虑光资源或风资源特征导致预测结果偏离实际发电量的问题。同时,区块链系统不存储参考电站的原始发电量数据,仅存储参考电站组的发电量平均值,参考电站组的发电量平均值为基于区块链系统采用安全多方计算方法计算得到的,参考电站的原始发电量数据不会泄露,实现对参考电站的原始发电量数据的隐私保护。
[0171]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0172]
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0173]
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
[0174]
上述各个实施例之间可任意组合,对所公开的实施例的上述说明,本说明书中各实施例中记载的特征可以相互替换或者组合,使本领域专业技术人员能够实现或使用本技术。
[0175]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献