CN114036560A - 一种基于区块链的充电桩补贴数据管理方法 - Google Patents
一种基于区块链的充电桩补贴数据管理方法 Download PDFInfo
- Publication number
- CN114036560A CN114036560A CN202111359322.1A CN202111359322A CN114036560A CN 114036560 A CN114036560 A CN 114036560A CN 202111359322 A CN202111359322 A CN 202111359322A CN 114036560 A CN114036560 A CN 114036560A
- Authority
- CN
- China
- Prior art keywords
- data
- charging pile
- subsidy
- ipfs
- private
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013523 data management Methods 0.000 title claims abstract description 40
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000007726 management method Methods 0.000 claims abstract description 53
- 230000004044 response Effects 0.000 claims abstract description 16
- 238000012360 testing method Methods 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 18
- 238000012795 verification Methods 0.000 claims description 16
- 230000003993 interaction Effects 0.000 claims description 14
- 230000007246 mechanism Effects 0.000 claims description 11
- 238000013500 data storage Methods 0.000 claims description 9
- 230000004048 modification Effects 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 6
- 238000011161 development Methods 0.000 claims description 5
- 238000013461 design Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 4
- 238000011084 recovery Methods 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 230000008520 organization Effects 0.000 claims description 2
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 238000007792 addition Methods 0.000 claims 1
- 238000012856 packing Methods 0.000 claims 1
- 238000012790 confirmation Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000002360 preparation method Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000007547 defect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于区块链的充电桩补贴数据管理方法,所述管理方法包含四个步骤:S1:利用JavaEE框架构建充电桩补贴数据管理模型,S2:从改善系统性能和响应时间角度对PBFT算法进行改进,S3:采用结合公私链的智能合约保护数据,S4:执行管理方法,本发明的管理方法,相比于充电桩补贴人工管理方式节约了大量管理成本,并采用区块链提升充电桩补贴数据可信度,系统性能高,响应时间短,有效的解决了现有技术中存在的充电桩补贴数据管理成本大和数据可信度低的问题,以及将现有的PBFT算法直接应用在基于区块链的充电桩补贴数据管理中,并不完全适用,存在网络开销大,时延高,性能有待改进的问题。
Description
技术领域
本发明涉及区块链的充电桩补贴管理领域,特别涉及一种基于区块链的充电桩补贴数据管理方法。
背景技术
充电桩补贴数据管理是财务管理的重要环节,然而,传统的充电桩人工补贴管理工作在耗费大量人力物力的同时,也给企业带来较大的管理成本,随着电子信息和计算机技术的高速发展,近年来充电桩补贴的管理工作逐渐由传统的人工操作转向计算机操作,充电桩补贴管理系统以其简捷、高效的特点而被广泛采用,但是,目前的充电桩补贴管理系统存在一些缺陷,例如,数据需要频繁备份以防止因数据保存疏漏造成的充电桩补贴信息缺失、甚至丢失等事故的发生,另外,信息技术在快速发展的同时也催生了利用技术手段窃取、篡改数据等不法行为的发生,对充电桩补贴数据的可信度和安全性造成了较大的威胁。
近年来,区块链作为一种新兴的数据安全保护技术,以其去中心化和无法篡改的安全特性,在数据可信度提升领域受到越来越多的重视,其中共识机制是区块链的重要组件,随着区块链技术的持续发展,PBFT引起了研究者的关注,PBFT 是Practical ByzantineFault Tolerance的缩写,是实用拜占庭容错算法,PBFT 算法可以有效降低资源消耗与提高效率,适合应用于规模较小的联盟链与私有链场景,但是直接将PBFT算法应用在区块链中仍然存在一些不足,PBFT算法并不完全适合于私有链的场景,PBFT算法的不足之处包括以下几点,首先,PBFT算法的工作模式为请求响应模式,客户端向主节点发出请求,待其它节点达成共识后再向客户端返回结果,显然该模式并不适用于区块链网络,其次,在达成共识的三阶段协议中多次进行全网广播,消耗了大量通信资源,降低了系统性能,最后,PBFT算法的检查点协议要求全部节点通过周期性定时协商来删除日志,网络开销较大,此外,该算法的故障容许度为1/3,相对主流共识算法1/2的故障容许度偏低。
现有技术中存在充电桩补贴数据管理成本大和数据可信度低的问题,以及将现有的PBFT算法直接应用在基于区块链的充电桩补贴数据管理中,并不完全适用,存在网络开销大,时延高,性能有待改进的问题。
因此本发明提供一种新的方案来解决此问题。
发明内容
针对现有技术存在的不足,本发明的目的是提供一种基于区块链的充电桩补贴数据管理方法,有效的解决了现有技术中存在的充电桩补贴数据管理成本大和数据可信度低的问题,以及将现有的PBFT算法直接应用在基于区块链的充电桩补贴数据管理中,并不完全适用,存在网络开销大,时延高,性能有待改进的问题。
其解决的技术方案是,一种基于区块链的充电桩补贴数据管理方法,所述管理方法包含四个步骤:
S1:利用JavaEE框架构建充电桩补贴数据管理模型;
S2:从改善系统性能和响应时间角度对PBFT算法进行改进;
S3:采用结合公私链的智能合约保护数据;
S4:执行管理方法;
所述JavaEE是J2EE的一个新的名称,J2EE是Java企业应用。
本发明所实现的有益效果:
本发明提出的基于区块链的充电桩补贴数据管理方法,相比于充电桩补贴人工管理方式节约了大量管理成本,并采用区块链提升充电桩补贴数据可信度,系统性能高,响应时间短,通过充电桩补贴管理人员填报充电桩补贴信息及上传必要的相关文件,经管理人员审核完成后将信息上传MySQL数据库实现充电桩补贴存储,充电桩补贴管理系统可实现充电桩补贴所有内容的电子化存取,包括文字信息和电子证明文件,为了保护数据安全,设计和实现了充电桩补贴数据保护模块,数据保护模块使用改进的PBFT算法作为区块链的共识算法,在已有PBFT 算法基础上进行改进,即IPBFT算法,减少了各节点之间反复确认发送消息导致网络开销大和时延高的现象,保证共识结果准确性的同时,有效节省算力,提高共识效率,缩短共识时延,同时提出公有链与私有链相结合的智能合约数据保护方案,保护本地数据库与磁盘的数据安全。
附图说明
图1为本发明的整体流程示意图。
图2为充电桩补贴管理模块示意图。
图3为数据保护模块示意图。
图4为数据存储方案示意图。
图5为PBFT算法流程示意图。
图6为IPBFT算法流程示意图。
图7为智能合约数据保护方案示意图。
图8为系统吞吐量测试示意图。
图9为PBFT算法和IPBFT算法共识时延对比示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合,为有关本发明的前述及其他技术内容、特点与功效,在以下配合参考附图1-9对实施例的详细说明中,将可清楚的呈现,以下实施例中所提到的结构内容,均是以说明书附图为参考。
以下将参照附图,通过实施方式详细的描述本发明提供的一种基于区块链的充电桩补贴数据管理方法。
一种基于区块链的充电桩补贴数据管理方法,所述管理方法包含四个步骤:
S1:利用JavaEE框架构建充电桩补贴数据管理模型;
S2:从改善系统性能和响应时间角度对PBFT算法进行改进;
S3:采用结合公私链的智能合约保护数据;
S4:执行管理方法;
所述JavaEE是J2EE的一个新的名称,J2EE是Java企业应用。
所述步骤S1:利用JavaEE框架构建充电桩补贴数据管理模型,具体包含2 部分内容,分别为构建充电桩补贴管理模块和构建基于区块链的数据保护模块;
所述JavaEE是J2EE的一个新的名称,J2EE是Java企业应用;
S1.1:所述构建充电桩补贴管理模块具体内容如下:
所述充电桩补贴管理模块采用三层逻辑架构,分别为用户界面层、业务逻辑层和数据交互层,实现充电桩补贴管理的基本逻辑功能,如附图2所示;
所述用户界面层为管理员和操作员提供了业务逻辑层的功能操作入口,管理员和操作员拥有不同的权限,其中管理员为系统维护人员,拥有系统的完整权限,操作员为充电桩补贴操作人员,只拥有充电桩补贴数据管理权限,无法进行除充电桩补贴数据管理以外的其他逻辑操作;
所述业务逻辑层即充电桩补贴管理模块的主体,设有三个子模块,分别为系统登陆、系统管理和补贴数据管理,除补贴数据管理子模块外,其余两者只面向管理员开放,系统登录子模块实现用户注册、密码修改和登录验证请求提交功能,系统管理子模块实现充电桩补贴数据备份和系统恢复功能,以及所有账户管理功能,补贴数据管理子模块实现充电桩补贴数据的档案创建、条目修改、档案验证、查询、删除和证明文件管理的功能,证明文件管理也即电子证明文件的上传、下载;
所述数据交互层根据业务逻辑层的请求,实现与本地磁盘、MySQL数据库的数据交互,并通过数据保护模块调用接口连接至区块链和IPFS,以实现数据保护功能,所述IPFS为InterPlanetary File System,分布式文件系统;
S1.2:所述构建基于区块链的数据保护模块的具体内容如下:
私有链的自身特性决定了其运行成本较低,而私有IPFS限制自身与外界数据交互的特点在一定程度上增强了其安全性能,因此本发明搭建的区块链和 IPFS均选用私有方案,此外,针对PBFT算法的不足,从数据安全性和系统时延角度出发,本发明提出了一种IPBFT算法,IPBFT算法是改进的PBFT算法,并采用智能合约数据保护方案实现系统优化;
所述基于区块链的数据保护模块的架构如附图3所示,系统应用层提供了业务逻辑层的具体应用,由充电桩补贴管理模块对业务逻辑层中的功能进行调用,业务逻辑层则设计了具体的操作流程,通过对数据交互层的存取操作完成应用层的请求,数据管理层封装了区块链与IPFS的存取操作供上一层级调取,数据保护模块由Java语言进行开发,在业务逻辑层一共设计了五种功能,分别是添加、修改、验证、恢复与删除功能,这些功能共同对私有区块链与私有IPFS网络中的数据进行维护,为了保护充电桩补贴数据和文件的安全,将数据与文件存储在私有IPFS网络中,数据与文件的哈希值和IPFS地址则存储在私有区块链中,私有区块链采用智能合约存储数据的方式,并且使用PoA共识机制达成共识;所述POA是Proof of Activity的简称,是一个区块链的共识算法。
所述步骤S2:从改善系统性能和响应时间角度对PBFT算法进行改进,包含2 部分内容,分别为建立数据存储方案和改进PBFT算法得到IPBFT算法;
S2.1:所述建立数据存储方案具体包含以下内容:
由于充电桩补贴数据管理系统一般运行在企业内部网络环境中,不直接接触外网,因此数据安全防范重点应放在通过系统入侵篡改数据或存储文件等行为上,为此,本发明的数据存储采用了私有链与私有IPFS网络相结合的方式,如附图 4所示,私有IPFS网络存储每条数据记录与相关的文件,私有区块链存储充电桩补贴数据的哈希值与IPFS地址以及文件的哈希值与IPFS地址,哈希值用于与服务器上的数据进行验证,IPFS地址用于从私有IPFS网络下载文件,使用PoA 共识机制后还可以控制区块打包速度,IPFS存取效率高且免费,解决了区块链存取效率低且成本高的问题;
本发明利用区块链数据防篡改性强的特性保证数据安全,Geth是一种客户端程序,用户可以通过该客户端进行创建账户、部署智能合约等多种操作,也可以根据使用需求自行配置,创建满足开发者要求的私有链,本模块采用PoA共识机制搭建私有链,首先通过Geth客户端创建节点账户,再产生创世文件(通过 puppeth,一种创建网络的向导工具),之后进行节点初始化,最后启动节点并创建私有链网络;
IPFS是全球互联的分布式文件系统,go-ipfs是IPFS官方组织开发的客户端程序,搭建本地私有网络的过程大概如下:首先开启私有模块,然后创建共享秘钥,之后移除默认的启动节点,最后添加IPFS私有集群中的其它节点;
S2.2:所述改进PBFT算法得到IPBFT算法的具体内容如下:
PBFT算法是可以用来设计区块链项目的共识算法,该算法要求去中心网络中所有节点之间两两通信,经过两次投票达成一致性,因此网络扩展性较差,多用于联盟链与私有链,典型共识算法比较如表1所示,PBFT算法相对现在的主流的工作量证明机制(PoW,Proofof Work)、权益证明机制(PoS,Proof of Stake) 与授权股份证明机制(DpoS,DelegatedProof of Stake),具有高吞吐量、效率高与能耗低的优点;
表1典型共识算法的比较
PBFT算法的一致性协议包含请求(request)、序号分配(pre-prepare)、交互(prepare)、序号确认(commit)和响应(reply)五个阶段,其中中间的三个阶段是主要阶段,PBFT算法流程如下:
A1:请求(request):客户端C向主节点0发送请求,启动该节点的服务;
A2:序号分配(pre-prepare):主节点0收到客户端C的请求后,主节点为该消息分配一个编号,然后向所有的从节点广播该消息;
A3:交互(prepare):从节点在收到序号分配阶段发来的消息时会对其进行校验,若校验通过,则进入序号确认阶段,否则,什么也不做,节点在进入准备阶段后向其他服务节点转发此消息,并将预准备消息和准备消息都写入消息日志,当侦听到2f个与预准备消息一致的准备消息时,该阶段完成;
A4:序号确认(commit):节点向所有节点发送确认消息,当节点已经收到了 2f个与预准备消息相同的确认消息时确认阶段完成;
A5:响应(reply):客户端对来自不同服务节点的响应消息进行统计,当收到f+1个不同节点发来的同样响应时确认请求执行成功,附图5展示了PBFT算法流程,其中C为客户端,0为主节点,1、2为从节点,3为失效节点;
PBFT算法广泛应用于分布式系统中,拥有效率高、吞吐量大与节能等优点,但也存在响应时延长与区块链环境不匹配的问题,就本发明采用的PBFT算法而言,存在的问题和解决方案如表2所示;
表2本发明直接采用PBFT算法存在的问题与解决方案
改进后的PBFT算法,即IPBFT算法流程如下:
B1:发起广播,由主节点收集一段时间内的请求,并发送至所有具有共识权限的从节点,即发起共识提议;
B2:提议验证,即参与共识的从节点验证主节点的共识提议,如果通过验证,则从节点将向主节点确认共识信息,否则更换视图;
B3:主节点和从节点达成共识后,主节点广播共识确认消息,主节点发布充电桩补贴数据到区块并加入区块,网络中共识达成的条件为主节点收到至少2f 个来自其它参与共识节点广播的相同共识消息,节点将区块加入到自身所维护的区块链后,根据检查点协议删除日志中的请求信息,开始下一轮共识。
所述步骤S3:采用结合公私链的智能合约保护数据具体包含以下内容:
完成私有链与私有IPFS网络后,即需要部署智能合约,所用语言采用 Solidity语言,开发工具为Remix在线开发工具,基于web浏览器,方便用户编写合约代码,本发明通过智能合约实现模块的数据添加、修改、验证和恢复功能,由于所提出的IPBFT算法的安全边界下降至1/3,为保障私有链上数据的真实性,公有链定期检查与存储私有链最新区块的高度与哈希值,智能合约数据保护方案如附图7所示;
为存储私有链区块的高度和哈希值等信息,实现私有链的保护,本发明在公有链的智能合约的基础之上运行私有链保护合约,实现数据保护,私有链保护合约用PCPC表示,为Private Chain Protection Contract的简称,每条记录的 id、编号、信息的数字指纹以及IPFS地址、文件的数字指纹与IPFS地址保存于信息存储合约ISC,ISC为InformationStorage Contract的简写,其中,数字指纹校验系统本地数据与链上数据的一致性,IPFS地址用于IPFS文件下载,采用自我保护合约SPC以一定周期连接到公有链上PCPC合约,实现数据交互,同时对合约的写入次数进行统计;所述SPC为Self Protection Contract的简写,表示自我保护合约;
充电桩补贴数据操作流程简述如下:
C1:当需要添加充电桩补贴数据时,从充电桩补贴管理模块中取得充电桩补贴数据,并将其存入IPFS模块对应的空间中,同步生成该充电桩补贴数据对应的IPFS地址,然后将IPFS模块生成的IPFS地址以及充电桩补贴数据的数字指纹(哈希值),存入ISC模块中预先写好的自我保护合约SPC,和私有链保护合约实现数据交互,将hash存入合约里;所述hash指的是哈希;
C2:当需要验证充电桩补贴数据时,从充电桩补贴管理模块中计算本地的充电桩补贴数据数字指纹(哈希值),并从ISC模块中查询相同充电桩补贴数据对应的数字指纹(哈希值),两者进行对比,即可得知本地充电桩补贴数据是否被篡改;
C3:当需要修改或恢复充电桩补贴数据时,从ISC模块获取待修改或恢复充电桩补贴数据的IPFS地址,根据地址找到待修改或恢复充电桩补贴数据存储的私有IPFS集群,将待修改或恢复充电桩补贴数据进行下载,之后按要求开展修改或恢复操作。
所述步骤S4:执行管理方法为对系统进行实验测试,具体内容如下:
从性能角度对系统进行测试,然后从故障容许度与时延对算法进行测试,以此验证IPBFT算法与充电桩补贴管理系统相结合的可用性,测试选择实验室中同一个局域网中6台配置相同的电脑作为测试环境,电脑配置为:处理器型号为 Intel(R)Corei77700kCPU,主频大小为4.2GHz,内存大小为8GB,操作系统为 windows10,JDK版本为1.8;
为验证系统对于大量突发数据请求的应对能力,使用ApacheJMeter压力测试工具对系统进行吞吐量测试,其中吞吐量是指每秒事务数,反映了系统处理事务的能力,测试方法为通过采用多线程同时请求来模拟许多用户同时登入系统的场景,进而得到吞吐量的测试值,根据实际应用场景,分别设置200、300和400 个虚拟用户对系统进行测试,循环次数为1,线程启动时间为1s,测试结果如附图8所示,在所有测试中,错误率均为0.00%;
故障容许度,指系统在部分节点失效或发生错误时,在不会严重影响系统性能的前提下仍可无异常运行的能力,是检验分布式系统稳定性的重要指标之一,本发明所设计的IPBFT算法最多允许1/3的失效节点,为对系统的故障容许度进行测试,令失效节点数依次增加,测试结果如表3所示;
表3故障容许度测试
结果显示,当失效节点数为2,即总节点数的1/3时,区块链网络运行正常,此后继续增加将导致运行异常,可得该网络最多容忍的失效节点数为总节点数的 1/3,证明IPBFT算法满足故障容许度要求;
由于PBFT算法的PoW共识机制运行过程中,存在宽带占用高、网络开销大的问题,在系统面临大量数据访问需求时会引起系统运行迟缓,本发明在已有 PBFT算法基础上进行改进,即IPBFT算法,首先设置一个主节点和若干从节点,并在从节点中选取部分节点作为共识节点,不同于PBFT算法中主节点将数据广播至所有节点,IPBFT算法中主节点仅将待共识请求数据广播至具有共识权限的节点,参与共识的节点依据本地区块信息完成待共识数据的验证,并仅将验证结果返回至主节点,而不同于PBFT算法中发送至每一个节点确认,这样大幅减少了各节点之间反复确认发送消息导致网络开销大和时延高的现象,保证共识结果准确性的同时,有效节省算力,提高共识效率,缩短共识时延,为测试缩短后的共识时延效果,本发明分别选取了不同的共识节点数,测试系统时延,为避免偶然性,所有测试均进行多次,将多次测试的结果取平均值,所得结果如附图9 所示,图9中,PBFT和IPBFT两种算法分别在4个节点共识时进行时延对比、5 个节点共识时进行时延对比,6个节点共识时进行时延对比,对比结果可知, IPBFT算法优于PBFT算法。
采用以上结合附图描述的本发明,在具体使用时,一种基于区块链的充电桩补贴数据管理方法,所述管理方法包含四个步骤:
S1:利用JavaEE框架构建充电桩补贴数据管理模型;
S2:从改善系统性能和响应时间角度对PBFT算法进行改进;
S3:采用结合公私链的智能合约保护数据;
S4:执行管理方法;
本发明所实现的有益效果:
1.本发明提出的基于区块链的充电桩补贴数据管理方法,相比于充电桩补贴人工管理方式节约了大量管理成本,并采用区块链提升充电桩补贴数据可信度,系统性能高,响应时间短;
2.通过充电桩补贴管理人员填报充电桩补贴信息及上传必要的相关文件,经管理人员审核完成后将信息上传MySQL数据库实现充电桩补贴存储,充电桩补贴管理系统可实现充电桩补贴所有内容的电子化存取,包括文字信息和电子证明文件;
3.为了保护数据安全,设计和实现了充电桩补贴数据保护模块,数据保护模块使用改进的PBFT算法作为区块链的共识算法,在已有PBFT算法基础上进行改进,即IPBFT算法,首先设置一个主节点和若干从节点,并在从节点中选取部分节点作为共识节点,不同于PBFT算法中主节点将数据广播至所有节点,IPBFT 算法中主节点仅将待共识请求数据广播至具有共识权限的节点,参与共识的节点依据本地区块信息完成待共识数据的验证,并仅将验证结果返回至主节点,而不同于PBFT算法中发送至每一个节点确认,这样大幅减少了各节点之间反复确认发送消息导致网络开销大和时延高的现象,保证共识结果准确性的同时,有效节省算力,提高共识效率,缩短共识时延;
4.提出公有链与私有链相结合的智能合约数据保护方案,保护本地数据库与磁盘的数据安全;
本发明提出的基于区块链的充电桩补贴数据管理方法有效的解决了现有技术中存在的充电桩补贴数据管理成本大和数据可信度低的问题,以及将现有的 PBFT算法直接应用在基于区块链的充电桩补贴数据管理中,并不完全适用,存在网络开销大,时延高,性能有待改进的问题。
Claims (5)
1.一种基于区块链的充电桩补贴数据管理方法,其特征在于,所述管理方法包含四个步骤:
S1:利用JavaEE框架构建充电桩补贴数据管理模型;
S2:从改善系统性能和响应时间角度对PBFT算法进行改进;
S3:采用结合公私链的智能合约保护数据;
S4:执行管理方法;
所述JavaEE是 J2EE的一个新的名称,J2EE是Java企业应用;
所述PBFT 是Practical Byzantine Fault Tolerance的缩写,是实用拜占庭容错算法。
2.如权利要求1所述的一种基于区块链的充电桩补贴数据管理方法,其特征在于,所述步骤S1:利用JavaEE框架构建充电桩补贴数据管理模型,具体包含2部分内容,分别为构建充电桩补贴管理模块和构建基于区块链的数据保护模块;
S1.1:所述构建充电桩补贴管理模块具体内容如下:
所述充电桩补贴管理模块采用三层逻辑架构,分别为用户界面层、业务逻辑层和数据交互层;
所述用户界面层为管理员和操作员提供了业务逻辑层的功能操作入口,管理员和操作员拥有不同的权限,其中管理员为系统维护人员,拥有系统的完整权限,操作员为充电桩补贴操作人员,只拥有充电桩补贴数据管理权限,无法进行除充电桩补贴数据管理以外的其他逻辑操作;
所述业务逻辑层即充电桩补贴管理模块的主体,设有三个子模块,分别为系统登陆、系统管理和补贴数据管理,除补贴数据管理子模块外,其余两者只面向管理员开放,系统登录子模块具备用户注册、密码修改和登录验证请求提交功能,系统管理子模块具备充电桩补贴数据备份和系统恢复功能,以及所有账户管理功能,补贴数据管理子模块具备充电桩补贴数据的档案创建、条目修改、档案验证、查询、删除和证明文件管理的功能,证明文件管理也即电子证明文件的上传、下载;
所述数据交互层根据业务逻辑层的请求,实现与本地磁盘、MySQL数据库的数据交互,并通过数据保护模块调用接口连接至区块链和IPFS,所述IPFS为InterPlanetary FileSystem,分布式文件系统;
S1.2:所述构建基于区块链的数据保护模块的具体内容如下:
所述基于区块链的数据保护模块的架构中,系统应用层提供业务逻辑层的具体应用,由充电桩补贴管理模块对业务逻辑层中的功能进行调用,业务逻辑层则设计具体的操作流程,通过对数据交互层的存取操作完成应用层的请求,数据管理层封装区块链与IPFS的存取操作供上一层级调取,数据保护模块由Java语言进行开发,在业务逻辑层一共设计五种功能,分别是添加、修改、验证、恢复与删除功能,这些功能共同对私有区块链与私有IPFS网络中的数据进行维护,将数据与文件存储在私有IPFS网络中,数据与文件的哈希值和IPFS地址则存储在私有区块链中,私有区块链采用智能合约存储数据的方式,并且使用PoA共识机制达成共识;所述POA是Proof of Activity的简称,是一个区块链的共识算法。
3.如权利要求1所述的一种基于区块链的充电桩补贴数据管理方法,其特征在于,所述步骤S2:从改善系统性能和响应时间角度对PBFT算法进行改进,包含2部分内容,分别为建立数据存储方案和改进PBFT算法得到IPBFT算法;
S2.1:所述建立数据存储方案具体包含以下内容:
所述数据存储方案采用私有链与私有IPFS网络相结合的方式,私有IPFS网络存储每条数据记录与相关的文件,私有区块链存储充电桩补贴数据的哈希值与IPFS地址以及文件的哈希值与IPFS地址,哈希值验证服务器上的数据,利用IPFS地址可从私有IPFS网络下载文件,使用PoA共识机制控制区块打包速度;
Geth是一种客户端程序,采用PoA共识机制搭建私有链,首先通过Geth客户端创建节点账户,再产生创世文件,之后进行节点初始化,最后启动节点并创建私有链网络;
IPFS是全球互联的分布式文件系统,go-ipfs是IPFS官方组织开发的客户端程序,搭建本地私有网络的过程如下:首先开启私有模块,然后创建共享秘钥,之后移除默认的启动节点,最后添加IPFS私有集群中的其它节点;
S2.2:所述改进PBFT算法得到IPBFT算法,IPBFT算法流程如下:
B1:发起广播,由主节点收集一段时间内的请求,并发送至所有具有共识权限的从节点,即发起共识提议;
B2:提议验证,即参与共识的从节点验证主节点的共识提议,如果通过验证,则从节点将向主节点确认共识信息,否则更换视图;
B3:主节点和从节点达成共识后,主节点发布充电桩补贴数据到区块并加入区块,网络中共识达成的条件为主节点收到至少2f个来自其它参与共识节点广播的相同共识消息,节点将区块加入到自身所维护的区块链后,根据检查点协议删除日志中的请求信息,开始下一轮共识。
4.如权利要求1所述的一种基于区块链的充电桩补贴数据管理方法,其特征在于,所述步骤S3:采用结合公私链的智能合约保护数据具体包含以下内容:
部署智能合约,所用语言采用Solidity语言,开发工具为Remix在线开发工具,基于web浏览器,利用智能合约进行数据添加、修改、验证和恢复;
在公有链的智能合约的基础之上运行私有链保护合约,私有链保护合约用PCPC表示,为Private Chain Protection Contract的简称,每条记录的id、编号、信息的数字指纹以及IPFS地址、文件的数字指纹与IPFS地址保存于信息存储合约ISC中,ISC为InformationStorage Contract的简写,其中,数字指纹校验系统本地数据与链上数据的一致性,利用IPFS地址下载IPFS文件,采用自我保护合约SPC以一定周期连接到公有链上PCPC合约,同时对合约的写入次数进行统计;所述SPC为Self Protection Contract的简写,表示自我保护合约;
充电桩补贴数据操作流程如下:
C1:当需要添加充电桩补贴数据时,从充电桩补贴管理模块中取得充电桩补贴数据,并将其存入IPFS模块对应的空间中,同步生成该充电桩补贴数据对应的IPFS地址,然后将IPFS模块生成的IPFS地址以及充电桩补贴数据的数字指纹,存入ISC模块中预先写好的自我保护合约SPC,和私有链保护合约进行数据交互,将hash存入合约里;所述hash指的是哈希;
C2:当需要验证充电桩补贴数据时,从充电桩补贴管理模块中计算本地的充电桩补贴数据数字指纹,并从ISC模块中查询相同充电桩补贴数据对应的数字指纹,两者进行对比,即可得知本地充电桩补贴数据是否被篡改;
C3:当需要修改或恢复充电桩补贴数据时,从ISC模块获取待修改或恢复充电桩补贴数据的IPFS地址,根据地址找到待修改或恢复充电桩补贴数据存储的私有IPFS集群,将待修改或恢复充电桩补贴数据进行下载,之后按要求开展修改或恢复操作。
5.如权利要求1所述的一种基于区块链的充电桩补贴数据管理方法,其特征在于,所述步骤S4:执行管理方法为对系统进行实验测试,测试选择实验室中同一个局域网中6台配置相同的电脑作为测试环境,进行故障容许度测试、进行系统吞吐量测试、进行PBFT算法以及IPBFT算法共识时延测试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111359322.1A CN114036560A (zh) | 2021-11-12 | 2021-11-12 | 一种基于区块链的充电桩补贴数据管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111359322.1A CN114036560A (zh) | 2021-11-12 | 2021-11-12 | 一种基于区块链的充电桩补贴数据管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114036560A true CN114036560A (zh) | 2022-02-11 |
Family
ID=80137900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111359322.1A Pending CN114036560A (zh) | 2021-11-12 | 2021-11-12 | 一种基于区块链的充电桩补贴数据管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114036560A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114648366A (zh) * | 2022-04-01 | 2022-06-21 | 中国银行股份有限公司 | 一种基于充电桩的数据处理方法及装置 |
CN114785803A (zh) * | 2022-04-20 | 2022-07-22 | 浙江工业大学 | 一种适用于充电桩管理的区块链pbft共识优化方法 |
-
2021
- 2021-11-12 CN CN202111359322.1A patent/CN114036560A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114648366A (zh) * | 2022-04-01 | 2022-06-21 | 中国银行股份有限公司 | 一种基于充电桩的数据处理方法及装置 |
CN114785803A (zh) * | 2022-04-20 | 2022-07-22 | 浙江工业大学 | 一种适用于充电桩管理的区块链pbft共识优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113169952B (zh) | 一种基于区块链技术的容器云管理系统 | |
US11770381B2 (en) | Managing security groups for data instances | |
WO2021073452A1 (zh) | 基于区块链网络的数据处理方法、装置、电子设备及存储介质 | |
US10984134B2 (en) | Blockchain system for leveraging member nodes to achieve consensus | |
US9191380B2 (en) | System and method for managing information technology models in an intelligent workload management system | |
CN113114498B (zh) | 一种可信区块链服务平台的架构系统及其构建方法 | |
US8667096B2 (en) | Automatically generating system restoration order for network recovery | |
CN110597832A (zh) | 基于区块链网络的政务信息处理方法、装置、电子设备及存储介质 | |
CN100586058C (zh) | 基于j2ee中间件规范的容忍入侵应用服务器及容忍入侵方法 | |
US20060155738A1 (en) | Monitoring method and system | |
CN111737104B (zh) | 区块链网络服务平台及其测试用例共享方法、存储介质 | |
CN114036560A (zh) | 一种基于区块链的充电桩补贴数据管理方法 | |
CN113259447B (zh) | 云平台部署方法、装置、电子设备及存储介质 | |
Bass et al. | Eliciting operations requirements for applications | |
US20220337602A1 (en) | Blockchain-Based Accountable Distributed Computing System | |
CN115114305A (zh) | 分布式数据库的锁管理方法、装置、设备及存储介质 | |
CN111311254A (zh) | 一种基于区块链的业务处理方法、装置和系统 | |
CN113722722A (zh) | 一种基于区块链的高安全等级访问控制方法及系统 | |
Quamara et al. | An in-depth security and performance investigation in hyperledger fabric-configured distributed computing systems | |
US20240137208A1 (en) | Asset transferring method and apparatus based on multiple blockchains, device, medium, and product | |
CN112565368B (zh) | 基于区块链的海上装备自组网系统、方法和介质 | |
CN112965900A (zh) | 基于区块链的数据审核方法、装置、服务器和存储介质 | |
CN113364592A (zh) | 一种基于信誉值联盟链的工程系统文件管理系统及方法 | |
Nugraha et al. | Official document management for government service in Indonesia using smart contract | |
CN112988334B (zh) | 对虚拟化环境下的多台主机进行管理的方法、可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |