基于区块链的电力数据管理架构研究

2021-12-06 12:04龙玉江钟掖甘润东
电力大数据 2021年8期
关键词:公钥数据管理区块

龙玉江,钟掖,甘润东

(贵州电网有限责任公司信息中心,贵州 贵阳 550002)

智能化电网将信息与通信网络技术整合,通过先进的传感网络实现对数据的实时采集和对电网运行的实时监控,根据电力数据对电网进行动态的调整。在智能化配电站中,电网需要实时地、稳定地对电网数据监控,并及时找出和排除电网中出现的故障问题,从而避免大规模的电力事故发生[1]。由于区块链具有数据的透明性和可靠性,其应用也从单一的货币向不同类型的资产进行延伸,试图通过以创建资产价值的形式记录每次资产的交易,从而实现更宏观地对整个市场的去中心化。

当前电力企业中主要以大数据技术对电力数据进行管理,大数据作为能源系统互联互动以及高度智能的优势,虽然大数据思维将各类数据信息资源由简单的处理对象转变为了生产的基本要素,实现了对电力数据的细粒度采集和存储,但同时也产生了“数据灾难”的问题。以云计算作为电力数据管理的核心存在着数据管理成本高、管理效率低和第三方数据隐私泄露风险高等问题[2]。同时电力企业当前的电力数据无法用社会资源进行实时的共享,从客观角度看,电力数据成为独立的一座孤岛,进而影响电力数据价值的下降以及软硬件设备、资源的浪费。而区块链技术具有一定的去中心化、自治性、防泄漏性和公开性等优势,在运行方式、安全防护等方面与电力数据管理的需要相适应,可以与电力数据形成互补,更能够满足电力数据管理的安全可信需求。因此,本文基于区块链技术的优势开展对电力数据管理架构的研究。

1 基于区块链的电力数据管理架构研究

区块链是由区块有序链接起来形成的一种数据结构,其中区块是指数据的集合,相关信息和记录都包括在里面,是形成区块链的基本单元。为了保证区块链的可追溯性,每个区块都会带有时间戳,作为独特的标记。具体地,区块由两部分组成:(1)区块头,链接到前面的区块,并为区块链提供完整性;(2)区块主体,记录了网络中更新的数据信息。

1.1 基于区块链的电力数据管理架构整体设计

基于区块链技术将电力数据信息记录在区块链当中,可以实现对电力数据的实时记录,基于区块链的电力数据管理架构整体设计如图1所示。

图1 基于区块链的电力数据管理架构整体设计图Fig.1 Overall design of power data management architecture based on block chain

由图1可以看出,区块链的基本结构是由区块头和区块体构成,每个区块中区块头都与上一个区块通过电力数据信息链相连接,形成电力数据信息的链式结构。区块作为电力数据信息的集合,记录这一段时间范围内每条电力数据的信息或交易内容[3]。区块头用于记录在电力数据信息链链接的上一个区块的散列函数值,保证电力数据的连续性,同时为了保证电力数据管理具有可追溯性,在区块头上还记录每一个区块中的时间戳。区块体用于记录在一定时间范围内所有的电力数据信息以及交易信息,在区块链中的每一个节点都可以对电力数据进行管理和监督。

电力数据是电网企业内部的数据资产,因此具备严格的权限审查机制,无法与公共区块链链接并对其进行管理。因此,为了实现对电力数据的共享,需要建立与区块链链接的共识机制。首先,在初始化区块节点上,对区块链上所有[4]的节点进行考核评估,评估内容包括对电力数据的采集积极程度、数据的查漏率以及电网的运营情况等,根据评估结果对各个节点排序,选择其中前99个节点作为电力数据记录节点。为了对选出的99个节点区块进行二次的验证,保证电力数据的真实性和可靠性,再选择99个节点之后的30个节点作为对电力数据的监督节点,其余区块节点作为电力数据管理候选节点[5]。在对电力数据管理的过程中,通过区块节点的工作运行情况对其信用积分进行实时的更改,定期通过对各个区块节点所具有的信用积分进行排序,从而完成对新一轮节点的选取。

1.2 电力数据记录

为解决传统电力数据管理中信息无法顺畅传递,导致在传递过程中出现数据失真的问题,本文采用扁平的分布式数据管理架构对电力数据进行记录。通过本文上述区块链的电力数据管理架构模式和共识机制,使得电力数据记录的整个过程受到区块链结构中所有节点的共同监督。为保证电力数据记录的准确性以及时效性,还需要电力数据记录仪辅助完成。选用型号为RTU1560-CN55的电力数据记录仪,记录仪中含有Modbus RTU移动通信协议,可进行RS573半双工通信,数据读取功能号为0x08,数据写功能号为0x16,采用32为CRC校验,在记录仪当中仪表对于校验过程中存在错误的数据不进行返回操作。RTU1560-CN55型号电力数据记录仪数据帧格式为:起始位为1;数据位为8;停止位为1;无校验位。该信号电力数据记录仪中所有RS573半双工通信回路均遵守主/从方式。在这样的方式中,电力数据与信息在单个主站和最多个送站之间形成传递关系,但在对电力数据进行传输过程需要注意,电力数据不可从一个从站开始通信,只能由主站传输。所有RS573半双工通信电路当中的通信方式都是以打包的形式完成的,一个电力数据包可看作是一个简单的字符串,每个字符串当中共有8位数字,但一个电力数据包当中可同时容纳最多128个字节。由字节和字符串构成的电力数据包应当形成标准的异步串行数据,并按照8为数据位,1位停止位进行传递。由主站发送请求,有从站做出响应。

具体的电力数据记录流程为:

第一步:区块节点采集本地区域内电网中的电力数据,并将自身的公钥作为标识,向电力数据记录节点提交上传请求;

第二步:当值的电力数据记录节点对该节点中的公钥进行校验,并确定该节点上是否具备对电力数据上传的权限,并回复、接收上一节点的上传请求;

第三步:区块节点利用自身私钥对电力数据的摘要进行数字化签名,并利用当值的电力数据记录节点的公钥对数据进行加密处理;

第四步:通过当值的电力数据记录节点私钥对加密后的电力数据进行解密处理,并利用电力数据上传节点的公钥对数据解锁并数字化签名,将解锁后的摘要与原始电力数据的散列函数值比对[6]。确认电力数据由该节点负责上传,将电力数据的摘要部分存储在区块链中,加密数据存储在分布式数据库中;

第五步:每隔十分钟,通过当值的电力数据记录节点对区块中的电力数据信息进行非对称加密计算,并将记录节点中的公钥标注在区块头当中,随机选择多个数据监督节点对区块头中的数据进行校验;

第六步:重新生成区块链,并将当值数据记录节点连接在区块链当中,对下一组电力数据管理。

在一个区块中,每个电力数据均包含三个基本元素,分别为公钥、电力数据摘要和元数据信息。公钥主要用于对上传的电力数据身份及访问权限进行识别;电力数据摘要主要用于对电力数据进行非对称加密计算,用于验证电力数据存储是否完整;元数据信息中存储着电力数据的描述性信息,例如电力数据的生成日期、生成种类等。最后对电力数据包进行功能码编制,每个电力数据包中的功能码长度为一个字节,主要用于通知各个从站应当执行的何种操作,并通过相应电力数据包中对应的主站要求,完成相同功能码字节的操作。功能码编制可参照如下方式:功能码0x0300的含有未读取寄存器,主要功能是读取一个或多个当前寄存器中的电力数值;功能码0x0600的含义为写单寄存器,主要功能是将指定的电力数据数值写入到对应的单个内部寄存器当中;功能码0x0900的含义为写多寄存器,主要功能是将指定的电力数据数值写入到对应的多个内部寄存器当中。方便在后续的管理中根据不同的类别对电力数据查询,提高对电力数据的搜索速度。

1.3 电力数据共享

电力企业当前阶段的电力数据传输以及交互通常采用传输控制协议以及网络之间互连的协议数据网络实现,通过传输控制协议以及可编程Web编程程序协议进行对数据的传输和交互。由于电力数据的共享双方共同制定了可扩展标记语言的数据传输规约,因此在电力数据共享的过程中双方均需要参照可扩展标记语言数据传输规约完成对电力数据的生成以及解析,从而实现对电力数据的交互与共享。同时当前数据加密技术十分成熟,并且能够有效保障共享的电力数据在传输以及交换的过程中的安全条件,为共享双方提供准确、及时的电力数据信息。因此,本文基于区块链的电力数据管理采用非对称加密技术对电力数据资源共享,将电力数据共享建立在区块链中,不增加第三方的介入直接对电力数据共享,图2为电力数据共享的基本流程示意图。

图2 电力数据共享基本流程示意图

在电力数据交易过程中,发送方首先用接收方特定的公钥对电力数据进行加密处理,从而形成电力数据密文,密钥由发送方和接收方共同持有[7],且不向第三方透露,保证信息在共享过程中的安全性。同时电力数据通过散列函数计算得到电力数据的摘要,并利用发送方的私钥对摘要进行签名。由发送方将电力数据的密文和签名共同发送到接收方,当接收方收到后,利用发送方的公钥对签名和密文进行解密处理,并通过散列函数计算得到电力数据摘要,并将获取的两份数据摘要对比,得到完整的电力数据,完成对电力数据的共享。共享数据通过数据记录的方式在共识机制中得到区块链所有节点的认可后,存储在区块链中进行管理。

区块链中的每一条电力数据的记录都是通过公钥完成确权工作,电力数据中的上传信息、归属信息存储在哪个区块节点上都可通过公钥验证得出[8]。基于区块链技术的去中心化优势,在保证不通过第三方的情况下,可完成对电力数据的溯源,通过区块链查询可找出电力数据的数据源、生成日期等信息。当数据存储和共享被记录在区块链中时,无法对其进行篡改,保证数据的完整性和唯一性,防止出现在电力数据共享过程中出现违法造假行为。

在实际应用过程中,某些电力数据的共享为特征数据共享,而非数据公开,而电力数据共享双方通过签订协议约定的方式限制电力数据的使用权限以及使用范围,虽然本文上述共享方式可以保证电力数据的安全性,但当使用人员有意或无意地公开电力数据源时,则会对源数据的所有者造成严重的利益威胁,因此在实际电力数据共享过程中还需要结合电力数据追踪技术,为电力数据共享提供保障条件[9]。

1.4 电力数据安全管理保障

电力数据的分布面十分广泛、数据采集节点更多、数据的种类更多且数据间业务关联性更加复杂,数据的使用方式更加广泛,因此对于电力企业的电力生产、营销等带来便利的同时,也对电网大数据的安全带来了更多的风险隐患。本文提出的基于区块链的电力数据管理体系还需要增加电力数据安全管理系统[10]。根据电力数据管理的基本模式,提出电力数据安全管理的保障体系,如图3所示。

图3 电力数据安全管理保障体系

利用非对称加密算法,将电力数据中发送方的公钥加密存放在数据库中,当有人非法入侵数据库后,盗取到加密存储的密文,若没有该数据的私钥则无法对密文进行解密处理,防止电力数据的丢失[11]。在区块链子中,每一条电力数据都有备份,并存储在各个不同的区域中管理,当非法入侵者对单一的数据库攻击或破坏不会影响整个数据库的正常使用和管理。同时基于区块链的存储结构,以及分布式的管理结构,当电力数据在共享或传输的过程中被写入到区块链中,则任何的改动都会对之后的所有电力数据产生影响,但在区块链的各个节点上都包含一份完整的区块链信息,能够快速找出被改动的数据的改动记录,因此,在对区块链中单独的区块改动时,无法对整个区块链篡改,保证电力数据的安全管理。

在电力数据传输过程中,数据的发送方通过接收方提供的公钥,首先对数据进行加密处理,只有通过接收方和发送方共有的私钥才能对加密文件解密[12]。同时在传输过程中共享的数据文件是加密文件,并非电力数据本身,因此原始电力数据不会在公共网络环境中传播,保证在电力数据传输过程中的安全性。

电力数据安全管理保障除上述操作外,还需要额外增加对电力数据保护的解析装置,从而识别在电力数据传输过程中的异常操作行为。在基于区块链的电力数据管理架构中,必须捕获每个网格当中的全部电力数据。通常情况下,攻击者为了能够对控制器的网络视图进行修改,会利用所有数据链路层当中的OpenFlow网络通信协议,对电力数据的消息子集进行控制[13]。消息子集当中主要包含的内容为:特征性应答消息、非特征性应答消息、电力流量模式消息、数据包输入消息等。为了保证配置端点位置得到有效接收,受信人的控制器装置会使用特征性应答消息指导设备完成对电力数据的转发。基于此,为了有效提高重要电力数据的安全性,利用数据包解析装置对具优势上述特征输入的电力数据包进行实时、动态监视,提高电力数据管理的安全性传输[14-15]。

2 实验论证分析

2.1 实验准备

选择某电力企业近5年的电力数据信息,并将其引入仿真实验软件中,构建虚拟电力数据库。选用两台Windows 10,内存容量为16GB的计算机,模拟电力数据的发送方和接收方。再选用另有一台Windows 10,内存容量为32GB的计算机,模拟电力数据的传输环境[16-22]。利用本文设计的基于区块链的电力数据管理架构方法建立电力数据管理平台,再利用传统电力数据管理架构方法建立传统电力数据管理平台。随机选择1000条电力数据信息,其中500条电力数据信息利用本文管理平台传输,并将其设为实验组,另500条电力数据信息利用传统管理平台传输,并将其设为对照组。比较实验组与对照组在电力数据传输过程中的延迟时间。

2.2 实验结果及分析

根据上述实验准备完成对比实验,并将实验过程中产生的数据信息进行记录,本文对比实验主要对比内容为本文管理平台传输与传统管理方法在对电力数据进行管理过程中传输的延时时间指标,因此根据对比实验目的需要,将实验组与对照组完成传输后的延迟时间进行对比,并绘制成如图4所示的实验结果对比图。

图4 实验组与对照组实验结果对比图

图4中,显示了实验组与对照组两组电力数据传输的响应延迟时间,由图3中的数据可以看出,当电力数据量增加时,实验组延迟时间在8~60ms范围内,对照组的延迟时间在40~150ms范围内。其主要原因是实验组区块链提供的服务响应时间与对照组相比较低。因此,通过对比实验证明,本文提出的基于区块链的电力数据管理架构方法可以有效缩短电力数据在传输过程中的延迟时间,提高了管理效率,更进一步降低了对电力数据管理的成本,满足高效性和安全性的电力数据管理应用,符合现阶段电力企业管理的经济需求,具有更高的应用价值。此外,在基于区块链的电力数据管理体系结构方法中,还涉及了区块链、密钥等技术。该架构方法的主要目的是使电力企业各项数据存储和管理的可用性更高,实现实时的数据交互,并保证数据管理的高可扩展性。为进一步促进电力企业各项电力数据管理及电力业务的服务提供条件,与传统电力数据管理方法相比,其管理结构能够有效减少电力企业电网设备的使用,增加设备的利用率。实验结果表明,与传统集中式云存储的电力数据管理基础设施相比,基于区块链的电力数据管理体系结构能够更有效地将电力企业的全业务数据迁移到云存储环境中,从而提供更高效的解决方案,同时由于传统体系结构的效率和有效性,能够有效地避免网络和存储资源开销。

3 结束语

区块链技术作为一种新的数据库技术,因其去中心化、公开、透明等特性与电力数据管理的理念相符,在未来电力数据管理中具有广泛的应用的潜力。本文从区块链技术本身出发,剖析了区块链技术的特点及其对电力数据管理的体现;然后介绍了若干区块链技术在电网数据管理中已有的实践;并从功能维度、对象维度和属性维度等对区块链在电力数据管理中的潜在应用进行了归纳总结。总结了未来区块链技术在电力数据管理中可能遇到的挑战。现阶段区块链技术在电力数据管理应用方兴未艾,希望本文能够为电力数据管理研究者对区块链技术及其应用的研究提供参考。

猜你喜欢
公钥数据管理区块
企业级BOM数据管理概要
定制化汽车制造的数据管理分析
航发叶片工艺文件数据管理技术研究
《红楼梦》的数字化述评——兼及区块链的启示
区块链助跑财资管理
神奇的公钥密码
一场区块链引发的全民狂欢
区块链助力企业创新
数据挖掘在学生成绩数据管理中的应用研究
数据挖掘在学生成绩数据管理中的应用研究