基于区块链的调度通信数据分布式存储方法
文献发布时间:2023-06-19 09:55:50
技术领域
本发明涉及信息管理方法,尤其涉及一种基于区块链的调度通信数据分布式存储方法。
背景技术
发电企业利用水力、火力、风力、太阳能等资源产生电力,通过电网公司将电力资源传输到企业和家庭。电网公司为了保证电网的安全,需要控制电力生产和电力消费的平衡。
电网公司调度承担着电力生产控制职责,电网公司调度通过调度控制系统会提前将发电计划曲线下发到发电企业,发电企业会根据发电曲线进行发电,但是涉及到的一些关键操作,需要与电网公司调度进行确认。
目前电网公司调度对发电企业的设备控制有如下两种方式:
1)直接控制,即电网调度直接发送机组启停、负荷调整等指令,各发电企业只安排运行人员现场监盘;
2)间接控制,即电网调下发发电计划曲线给各发电企业,各单位根据发电计划曲线控制发电设备的运行情况。
电网公司调度建设了电力调度系统,各发电企业涉及到机组启停等关键操作,需要通过电力调度系统与电网公司调度进行确认,电力调度系统会记录发电企业与电网调度确认的全部信息,用来规范各发电企业的操作,同时当出现实际发电与计划不一致时,用来确定双方的责任。
现有的数据集中保存在电网公司,虽然通过多种技术手段对数据的安全进行了保障,集中式的数据存储不能从底层上解决数据可被篡改的问题。
发明内容
针对上述内容中描述中的不足处,本发明利用区块链技术去中心化存储的能力,结合区块链联盟链的特性,提出一种电网公司和发电企业之间互信的调度通信数据存储方法。
一种基于区块链的调度通信数据分布式存储方法,包括联盟链建立、基于联盟链的数据写入,包括语音文件数据和文本文件数据的写入,基于联盟链的数据查询;该方法适用于电网公司。
电力调度联盟链的建立,电力调度联盟链由电网公司节点和发电企业节点组成,利用联盟链本身受邀请节点才能加入的特性,电网公司构建区块链的核心节点,邀请特定的发电企业加入到区块链,每个加入节点均获取一个唯一标识码,电网公司节点和发电企业节点共同组成区块链联盟链。发电企业生成特定的密钥,并将密钥发送给电网公司,电网公司与发电企业每次完成调度通信后,电网公司将涉及的调度通信数据打包,并经由参与的发电企业确认。
数据写入,由电网节点发起,将关键的信息写入到联盟链,包括语音文件和文本文件的写入,需要将完整的数据,经过加密并写入到联盟链。
数据查询包括联盟链根据查询条件,返回符合的记录。数据查询可以由任意一个节点发起,需要传递发电企业在该联联盟链的唯一标识和查询的时间段,区块链根据输入的查询条件返回相应的数据。
作为一种优选,所述的语音文件写入包括将整个通话过程中的语音信息存储至联盟链。
作为一种优选,所述的文本文件写入包括将本次聊天记录进行加密后保存至联盟链。
作为一种优选,所述的每个加入联盟链的发电企业生成用于信息加密和解密的密钥。为了保证数据的隐私,电网节点会为每个加入的发电企业节点分配一个密钥,负责数据的解密。所述的发电企业自行保存密钥,电网公司按参与联盟链的发电企业的唯一标识与对应的密钥关联。
作为一种优选,所述的关键信息包括发电企业、时间和调度通信的全部信息,使用语音文件需要包含文件名、存储路径和哈希值,其中语音文件名、存储路径和哈希值使用密钥加密保存,使用文本需要包含全过程的全部信息,使用密钥加密保存。
作为一种优选,针对文本文件数据,直接将文本文件数据写入到区块链,针对语音文件,计算该语音文件的哈希值和文件路径,将对应的哈希值和文件路径写入到区块链。
作为一种优选,为了保护各发电企业的隐私,电网公司写入数据前需要使用密钥对数据块进行加密,该密钥由电网公司和对应的发电企业持有,实现对数据的加密和解决。
作为一种优选,数据查询可以由任意一个节点发起,传递发电企业唯一标识和查询时间段,区块链会根据返回符合条件的数据。
作为一种优选,提取查询返回的数据的区块体的数据,并使用密钥对数据进行解密。
作为一种优选,块体保存的数据是语音文件,使用区块链中保存的文件名和路径提取语音文件,并计算提取文件的哈希值与区块中保存的值比对,区块体保存的数据是文本文件,直接提取区块体的内容。
本发明的优点在于,提供了一种基于区块链互信任的调度通信数据存储方法,利用区块链技术的“去中心化、分布式存储”的特性,能够实现数据的全程留痕、可以追溯、公开透明、不易篡改,支撑数据的永久存储:
1.充分利用区块链的分布存储的机制,能够在电网公司和发电企业间构建一种信任的数据存储的方法,能够弥补中心数据存储中存在的相互信任度不足的情况。
2.本方法通用性强,能够全面支持企业间交互数据的存储。
附图说明
图1为本发明联盟链网络结构示意图;
图2为本发明数据写入的流程;
图3为本发明的语音文件区块结构示意图;
图4为本发明文本文件区块结构示意图。
图5为本发明数据查询的流程。
具体实施方式
为了使本技术领域的人员更好的理解方案,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。
本申请实施方法提供一种基于区块链的调度通信数据分布式存储方法。图1示出了区块链联盟链的网络拓普图。以电网公司为核心节点的区块链联盟链的构建方法,其中核心节点由多个电网公司节点组成,其中任意一个电网公司节点均可以邀请发电企业节点加入,发电企业加入到联盟链后生成数据加密的密钥,并将该密钥发送给电网公司保存,数据的存储由所有的节点完成。
非邀请的节点不允许加入到联盟链参与数据的存储。电网公司作为联盟链的核心节点掌握所有节点名称和唯一标识,发电企业只掌握电网公司节点的唯一标识和自己的唯一标识。各发电企业并不知道其它发电企业的标识,能够很好的保护发电企业的隐私。
在上述的运行环境下,本申请提供了图2所示的调度通信数据写入流程图。该方法运行于图1所示的区块链联盟链。该方法包括:
步骤201:电网公司和发电企业完成调度通信后,电网公司提取整个调度通信完整数据,提交给参与的发电企业确认;
步骤202:发电企业对电网公司提交的调度通信数据进行确认,针对确认无误的数据;
步骤203:发电企业使用密钥对区块中的数据区进行加密;
步骤204:发电企业将加密后的完成数据通过自身的节点写入至联盟链。
在本实施例中通过将调度通信技术与区块链通信鬼地方相结合,从而实现数据的存储,在该步骤中,通过作为公共数据库的联盟,由调度发起数据的写入请求,并由发电企业对数据进行确认,经过确认后对数据块进行加密,然后将加密后的数据写入到联盟链。
其中联盟链是区块链的一种,相较于普通区块链,任意一台计算机都可以加入,联盟链是允许受邀请的节点加入,能够很好保护数据的安全,同时也具备普通区块链数据不可篡改的特性。
本实施例中区块链具备以下节点:电网公司节点和发电企业节点,其中所有的节点都参与到数据的存储,电网公司邀请发电企业参加入到联盟链,并为每个加入到联盟链的节点分配唯一标识。
针对调度通信中涉及文本文件和语音文件格式的信息,分别使用不同的格式进行保存,具体的描述如下:
1)语音文件格式见图3,分为区块头和区块体,区块头中包含参与双方的唯一标识,用来识别参与到通信的双方,时间戳用来标识数据保存时间,区块体保存归档语音文件的文件名、存储路径和文件对应的哈希值。将数据写入至区块前,区块体的内容使用专用密钥进行加密。
2)文本文件格式见图4,分为区块头和头块体,区块头中包含参与通信双方的唯一标识,用来识别参与到通信的双方,时间戳用来标识数据保存时间,区块体保存通信的完整日志信息。将数据写入至区块间,区块体的内容使用专用密钥进行加密。
如上针对不同格式的内容,通过任意一个节点写入至联盟链,利用区块链分布式存储的技术,数据会被超过半数的节点保存,实现了不可篡改的可信任的数据存储,同时因为各发电企业只掌握自己的唯一标识,即使各发电企业能够读取到区块数据,也无法定位到参与的通信的发电企业,同时密钥由各单位自行保存,其它单位也无法实现对数据内容的解密查看。
在上述的运行环境下,本申请提供了图5所示的调度通数据查询流程图。该方法包括:
步骤301:电网公司或发电企业提交对应的唯一标识和查询时间段;
步骤302:根据传递的查询条件,联盟链查询对应的区块数据,并返匹配的区块数据;
步骤303:电网公司或发电企业按格式提取区块体数据,并使用密钥对数据进行解密;
步骤304:区块体保存的数据是语音文件,使用区块链中保存的文件名和路径提取语音文件,并计算提取文件的哈希值与区块中保存的值比对。区块体保存的是文本文件,直接提取区块体的内容。
在本实施例中,联盟链中任意一个节点都可以发起数据查询,进行数据查询传递必要的参数,通过返回的数据块的信息的解密,实现通信数据的还原。针对语音文件的哈希值的比对,能够确定语音是否有过修改。通过这样能够还原真实的信息。涉及到有争议时,能够通过还原原始的信息,区分双方的责任。有效的解决了因为系统集中存储,可能出现的对于数据是否存在被修改过的争议。
本发明采用的关键技术有:
区块链联盟链,是一种在多个组织间部署的区块链,只有被邀请的组织才能加入,区别于传统的公有链,能够更好数据安全性;
哈希是一种不可逆,针对电子文件生成的固定长度的字符串,用于标志电子文件的完整性、一致性。
密钥是一种用来加密数据的文件,根据密钥是否相同,非为对称密钥和非对称密钥,其中对称密钥即加密和解密都使用同一个密钥,非称密钥为分为公钥和私钥,其中公钥用来加密数据,私钥匙用来解密数据,公钥可以对外公开,私钥由用户保管,经过公钥加密的数据,只能由用户的私钥解密,极大的保证了数据的安全性。
总结,以上具体的实施方式用于描述本发明的技术方案而且非限制,参考实施方工对本发明进行了详细说明,本领域的普通技术人员应该当理解,可以对本发明的技术方案进行修改或者替换,而且不脱离本发明技术方案的范围,其增多就涵盖在本发明的权利要求范围中。
- 基于区块链的调度通信数据分布式存储方法
- 基于区块链的数据分布式存储以及数据获取方法、装置