一种基于区块链的电力供应链数据存储优化方法及系统与流程
未命名
07-23
阅读:171
评论:0
1.本发明公开涉及电力供应链技术领域,尤其涉及一种基于区块链的电力供应链数据存储优化方法及系统。
背景技术:
2.电力供应链是指购买煤炭及发电设备、发电、输电、配电一直到电能销售整个流程。电力供应链不但具备传统供应链的特点,而且它还具有其自身的特点:最终产品无法储存、必须完全“以需定产”,电力供应链变动会对整个社会造成巨大影响,因此,对于电力供应链的稳定性和安全性的要求就更加严格。然而,传统供应链体系中心化十分严重、数据易于被私自修改,数据的修改直接影响供应链的安全性和稳定性。研究人员为了解决这一问题在现有的供应链体系中加入了大数据、加密技术、云计算、物联网等许多技术,用以防范数据篡改的危险,但是由于中心化的管理方式没有发生改变,供应链的安全问题并未得到很好的解决,假造数据、数据篡改的情况经常发生,因此,急需解决供应链体系中的数据篡改问题。
3.区块链技术的出现,提供了一种解决电力供应链体系中的数据问题的有效思路。区块链本质是全民维护的公开透明的分布式记账系统,具有高度去中心化、不可修改、公开透明的特性,非常适用于解决供应链中数据篡改问题。许多研究显示,区块链虽然在数据安全方面十分出色,但是在性能方面不能满足需求,一方面,随着数据增多,区块链的存储空间会降低其性能;另一方面,在网络交易方面,区块链的处理能力还有所欠缺;到现在为止,国内外在供应链中使用区块链技术,最主要的目的是保护隐私数据、进行数据追溯,而对于使用区块链的效率方面考虑较少。
4.因此,为了在保证安全性的同时尽可能提高效率,提出一种基于区块链的电力供应链数据存储优化方法是非常有意义的。
技术实现要素:
5.鉴于此,本发明公开提供了一种基于区块链的电力供应链数据存储优化方法及系统,以解决电力供应链数据中心化、数据容易被篡改的问题。
6.本发明提供的技术方案,具体为,
7.一种基于区块链的电力供应链数据存储优化方法,其特征在于,包括:
8.s1:创建联盟链,以电力供应链参与组织为成员,指定所述联盟链的内部节点;
9.s2:以联盟链为基础构建区块链网络;
10.s3:通过智能合约控制联盟链成员访问及存储电力供应链数据;
11.s4:创建联盟链数据存储层,所述数据存储层包括双链结构和ipfs;其中双链结构负责链上存储,星际文件系统ipfs负责链下存储。
12.进一步地,所述智能合约包括:联盟链全局智能合约mdsc,mdsc中存储所有智能合约;
13.联盟链的全局合约dmsc;
14.数据访问智能合约dqsc,负责请求链上数据;
15.数据存储智能合约disc,负责向区块链内写入数据;
16.以及负责区块链和ipfs之间进行交互的智能合约。
17.进一步地,所述双链结构包括:金融信息联盟链fiac,用于负责保存金融关键数据fki,表示为f={f1,f2,...,fn};
18.文件关键信息联盟链diac,用于负责保存文件关键信息dki。
19.进一步地,所述金融关键数据fki包括的信息为:支付、授信、融资、企业负债、融信、企业信用;
20.所述文件关键信息dki包括的信息为:合同、ipfs
hash
、图片、发票,其中ipfs
hash
为文件元数据存入ipfs中后返回的哈希值,d={d1,d2,...,dn}。
21.进一步地,所述星际文件系统ipfs具体用于链下文件元数据存储,包括:存储电力供应链数据和访问电力供应链数据。
22.进一步地,所述存储电力供应链数据包括:
23.电力供应链数据存入区块链,初始化操作星际文件系统ipfs;
24.当联盟链节点请求存入数据时,节点将文件元数据存储至ipfs中,ipfs返回ipfshash作为数据的索引;
25.调用disc将文件数据写入区块并在链上发表;
26.在区块链网络中广播,经过验证、同步之后数据完成上链。
27.进一步地,所述访问电力供应链数据包括:
28.读取链上数据,节点从联盟链上获取文件的索引ipfshash;
29.通过索引ipfs
hash
访问ipfs下载文件;
30.验证文件是否符合要求,其中ipfs
hash
是通过遍历区块链的方式获取得到的,故时间复杂度为o(n),其中n为区块的数量。
31.本发明还提供了一种基于区块链的电力供应链数据存储优化系统,其特征在于,包括:
32.联盟链创建系统,用于以电力供应链参与组织为成员指定联盟链内部节点;
33.区块链网络构建构建系统,用于以联盟链为基础构建区块链网络;
34.智能合约控制联盟链系统,用于对电力供应链数据的访问和存储;及
35.链上双联盟链存储系统、链下文件元数据存储系统。
36.本发明提供了一种基于区块链的电力供应链数据存储优化方法及系统,不仅能够能够满足解决电力供应链数据中心化、数据容易被篡改的问题,而且能够满足效率要求。
37.具体地,本发明提供的优化方法首先使用介于公有链和私有链之间的联盟链,所述联盟链具有可控性强、部分去中心化、交易速度快的特点,通过联盟链指定参与记账的组织。然后,以联盟链为架构构建区块链网络,实现去中心化的要求;其次,设计智能合约,对访问和存储数据进行限制,增强系统安全性;最后,设计数据存储层,利用链上链下存储以及双联盟链结构保证数据不会轻易被篡改,同时采取链上链下存储对区块链存储空间进行扩展,实现了区块链性能的优化和对电力供应链数据安全稳定的要求。
38.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不
能限制本发明的公开。
附图说明
39.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
40.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1为本发明公开实施例提供的一种基于区块链的电力供应链数据存储优化方法的方法流程图;
42.图2为本发明公开实施例提供的不同大小文件的链上链下存储效率对比结果图;
43.图3为本发明公开实施例提供的不同大小文件的链上链下查询时间对比结果图;
44.图4为本发明公开实施例提供的基于区块链的电力供应链数据存储优化方法模型;
45.图5为本发明公开实施例提供的智能合约结构图。
具体实施方式
46.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的系统的例子。
47.供应链信息在企业合作时起着非常重要的作用,电力企业进行合作风险分析及企业获取融资都要依赖于供应链数据。为了解决现有供应链管理系统中心化、数据易于被篡改以及数据泄露问题,可以使用区块链进行数据保护和去中心化处理,而区块链性能方面不能够满足要求的问题。由此,本实施方案提出了一种基于区块链的电力供应链数据存储优化方法,如图1和4所示,包括:
48.s1:以电力供应链参与组织为成员指定联盟链内部节点;
49.上述联盟链是一种介于公有链和私有链之间的结构,只有指定的第三方组织和内部节点可以参与记账,例如可以指定电网、部分合作企业、相关监管部门等组织进行记账,其他节点只能进行交易,联盟链只需要联盟成员进行维护,通常通过选举制,容易进行权限控制,保证数据安全。
50.s2:以联盟链为基础构建区块链网络;
51.s3:通过设计智能合约控制联盟链成员访问及存储电力供应链数据;如图5;
52.上述智能合约包括联盟链全局智能合约mdsc,mdsc中存储所有智能合约;数据访问智能合约dqsc,负责请求链上数据;数据存储智能合约disc,负责向区块链内写入数据;以及负责区块链和ipfs之间进行交互的智能合约。
53.上述设计智能合约包括:联盟链的全局合约dmsc;请求数据的智能合约dqsc;
54.存入数据的智能合约disc;双链结构和ipfs进行交互的智能合约。
55.s4:创建联盟链数据存储层,所述数据存储层包括双链结构和ipfs;其中双链结构
负责链上存储,星际文件系统ipfs负责链下存储。
56.双链存储结构,即两条区块链fiac和diac,fiac存放供应链关键数据(fki),diac中存放文件关键信息数据(dki,包括ipfshash);
57.星际文件系统ipfs,文件存入ipfs之后返回哈希值,然后存储到区块链中。
58.其中数据存储层包括双链结构负责链上存储和ipfs负责链下存储。
59.链上存储部分:
60.双链结构包括金融信息联盟链fiac,负责保存金融关键数据fki(包括支付、授信、融资、企业负债、融信、企业信用等信息),表示为f={f1,f2,...,fn};文件关键信息联盟链diac,负责保存文件关键信息dki包括合同、ipfs
hash
、图片、发票等相关信息,其中ipfs
hash
为文件元数据存入ipfs中后返回的哈希值,d={d1,d2,...,dn}。
61.链下存储部分:
62.星际文件系统ipfs,负责保存文件元数据。
63.具体存储数据和访问数据的方法如下:
64.具体地,首先给出存储电力供应链数据方法,该方法将电力供应链数据存入区块链,供以后电力供应链风险分析和后续的数据验证,首先对ipfs进行初始化操作,当联盟链节点请求存入数据时,节点将文件元数据存储至ipfs中,然后ipfs返回ipfs
hash
作为数据的索引,然后调用disc将文件数据写入区块并在链上发表,而后在区块链网络中广播,经过验证、同步之后数据上链完成,下述步骤7)所使用的共识算法决定了该算法的时间复杂度。
65.具体地,电力供应链数据存储
66.输入:文件名、ipfs的ip地址和连接端口
67.输出:上链状态
68.步骤:
69.1)初始化ipfs;
70.2)连接至ipfs;
71.3)进行文件链下存储,存入ipfs中;
72.4)打包区块,准备发布至diac链;
73.5)打包区块,准备发布至fiac链;
74.6)调用智能合约,将区块发布到区块链;
75.7)区块链网络广播经过共识算法验证,同步数据;
76.8)数据写入fiac链;
77.9)返回上链状态。
78.上述访问电力供应链数据的方法,具体包括:当联盟链节点请求访问链上数据时,首先,读取链上数据,节点从联盟链上获取文件的索引ipfs
hash
,然后通过索引ipfs
hash
访问ipfs下载文件,然后验证文件是否符合要求,其中ipfs
hash
是通过遍历区块链的方式获取得到的,因此,时间复杂度为o(n),其中n为区块的数量。
79.更具体地,电力供应链数据访问
80.输入:文件id、交易数据
81.输出:电力供应链数据集
82.具体步骤:
83.1)调用dqsc,根据文件id从区块链上获取ipfs
hash
;
84.2)根据ipfs
hash
访问ipfs获取文件数据;
85.3)验证文件信息是否正确;
86.4)上传交易id到fiac链;
87.5)返回数据集。
88.为了验证本实施方案提供的方法的有效性,使用hyperledge fabric区块链实验平台部署联盟链进行实验,通过docker运行fabric网络,联盟链中包括多个组织,每个组织由1个peer节点、1个order节点和1个fabric-ca节点组成,使用couchdb存储区块交易,ipfs系统由docker容器搭建。
89.测试存储效率:使用6组实验数据,且存储数据成功率为100%,节点数分别为4、8、12、16、20、24的情况下,发起数据量为100、500、1000、2000、5000、10000条数据存储请求,实验重复5次以消除偶然性,实验结果以每秒处理事务数量(tps)衡量,结果如图1不同节点数的链上存储效率对比,节点越少,tps越大,性能越好,每秒处理事务数量达到了374。
90.测试ipfs对于整体存入数据效率的影响,使用1~32mb大小的文件,分别存储到区块链和ipfs中,对比两种存储的所消耗时间,结果如图2所示。
91.可以看出文件越大,存储所要消耗的时间越长,ipfs的存储效率明显高于区块链。ipfs不但扩展了区块链的空间,而且提高了整体存储的效率。
92.测试查询效率:
93.为测试本发明的查询效率,发起6组数据上链请求,模型的查询tps最大为每秒处理261个事务,无索引是tps最大为每秒处理186个事务。
94.测试ipfs对查询效率的影响,分别查询ipfs和区块链上大小为1、2、4、8、16、32mb大小的文件,结果如图3。可以看出文件越大,查询时间越长,效率越慢,而ipfs效率明显高于区块链查询效率,由此可以得出,ipfs不但扩展了区块链的存储空间,而且提高了整体的查询效率。
95.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本技术旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。
技术特征:
1.一种基于区块链的电力供应链数据存储优化方法,其特征在于,包括:s1:创建联盟链,以电力供应链参与组织为成员,指定所述联盟链的内部节点;s2:以联盟链为基础构建区块链网络;s3:通过智能合约控制联盟链成员访问及存储电力供应链数据;s4:创建联盟链数据存储层,所述数据存储层包括双链结构和ipfs;其中双链结构负责链上存储,星际文件系统ipfs负责链下存储。2.根据权利要求1所述的一种基于区块链的电力供应链数据存储优化方法,其特征在于,所述智能合约包括:联盟链全局智能合约mdsc,mdsc中存储所有智能合约;联盟链的全局合约dmsc;数据访问智能合约dqsc,负责请求链上数据;数据存储智能合约disc,负责向区块链内写入数据;以及负责区块链和ipfs之间进行交互的智能合约。3.根据权利要求1所述的一种基于区块链的电力供应链数据存储优化方法,其特征在于,所述双链结构包括:金融信息联盟链fiac,用于负责保存金融关键数据fki,表示为f={f1,f2,...,f
n
};文件关键信息联盟链diac,用于负责保存文件关键信息dki。4.根据权利要求3所述的一种基于区块链的电力供应链数据存储优化方法,其特征在于,所述金融关键数据fki包括的信息为:支付、授信、融资、企业负债、融信、企业信用;所述文件关键信息dki包括的信息为:合同、ipfs
hash
、图片、发票,其中ipfs
hash
为文件元数据存入ipfs中后返回的哈希值,d={d1,d2,...,d
n
}。5.根据权利要求1所述的一种基于区块链的电力供应链数据存储优化方法,其特征在于,所述星际文件系统ipfs具体用于链下文件元数据存储,包括:存储电力供应链数据和访问电力供应链数据。6.根据权利要求5所述的一种基于区块链的电力供应链数据存储优化方法,其特征在于,所述存储电力供应链数据包括:电力供应链数据存入区块链,初始化操作星际文件系统ipfs;当联盟链节点请求存入数据时,节点将文件元数据存储至ipfs中,ipfs返回ipfshash作为数据的索引;调用disc将文件数据写入区块并在链上发表;在区块链网络中广播,经过验证、同步之后数据完成上链。7.根据权利要求5所述的一种基于区块链的电力供应链数据存储优化方法,其特征在于,所述访问电力供应链数据包括:读取链上数据,节点从联盟链上获取文件的索引ipfshash;通过索引ipfs
hash
访问ipfs下载文件;验证文件是否符合要求,其中ipfs
hash
是通过遍历区块链的方式获取得到的,故时间复杂度为o(n),其中n为区块的数量。8.一种基于区块链的电力供应链数据存储优化系统,其特征在于,包括:联盟链创建系统,用于以电力供应链参与组织为成员指定联盟链内部节点;
区块链网络构建构建系统,用于以联盟链为基础构建区块链网络;智能合约控制联盟链系统,用于对电力供应链数据的访问和存储;及链上双联盟链存储系统、链下文件元数据存储系统。
技术总结
本发明公开了一种基于区块链的电力供应链数据存储优化方法,包括:S1:创建联盟链,以电力供应链参与组织为成员,指定所述联盟链的内部节点;S2:以联盟链为基础构建区块链网络;S3:通过智能合约控制联盟链成员访问及存储电力供应链数据;S4:创建联盟链数据存储层,所述数据存储层包括双链结构和IPFS;其中双链结构负责链上存储,星际文件系统IPFS负责链下存储。本发明提供的上述优化方法及系统,不仅能够能够满足解决电力供应链数据中心化、数据容易被篡改的问题,而且能够满足效率要求。而且能够满足效率要求。而且能够满足效率要求。
技术研发人员:郑善奇 刘景峰 黄笑伯 张宇时 孙威
受保护的技术使用者:国家电网有限公司
技术研发日:2022.12.13
技术公布日:2023/7/21
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
