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

一种适用于电力设备数据上链的异步并行共识方法与流程

2022-12-10 08:42:08 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,尤其是一种适用于电力设备数据上链的异步并行共识方法。


背景技术:

2.分布式能源数据的计量认证是能源互联网实现开放与公平的重要基础。传统电力数据的计量认证方案的关键步骤就是将电力设备的数据上传至中心化设施进行收集、统计和计算。这种传统方案给系统介入了单一权威与故障点,不能保证数据不被私自篡改,缺少一种透明、可追溯的技术手段,为电力能源计量数据提供认证保障服务,在保证数据安全可靠的同时,确保其数据的可信度和权威性。
3.区块链具有去中心化、透明化、不可篡改、可追溯性等特点,十分适用于对电力数据的计量认证及交换等需要第三方中心化组织及担保的场合。区块链通过共识机制能够实现可信任与自组织,对未来能源系统中的多方协作发展具有重要意义。
4.共识是区块链分布式计算的核心问题。常用的pbft共识算法可以在少数节点作恶的场景中达成共识,它采用签名验证与哈希等密码学算法确保消息传递过程中的防篡改性、防伪造性、不可抵赖性。然而,对于电力设备数据上链,其具有数据量庞大、数据上链周期短、上链频率高的特点,传统的pbft共识算法已不能满足性能上的要求。


技术实现要素:

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.图1为本发明方法的流程示意图;
31.图2为本发明实施例的方法流程示意图;
32.图3为本发明方法的节点回滚机制示例图;
33.图4为本发明方法的视图切换机制示意图。
具体实施方式
34.术语解释:
35.pbft共识算法:pbft是practical byzantine fault tolerance的缩写,即实用拜占庭容错算法。该算法其实就是给进来的消息进行共识,得到一个全局的序。在恶意节点不高于总数1/3的情况下,该算法能够同时保证安全性(safety)和活性(liveness)。
36.本发明实施例提供了一种适用于电力设备数据上链的异步并行共识方法,以解决现有技术中电力设备数据上链时共识延时较长、共识效率较低的技术问题。
37.为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的首选实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
38.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
39.共识是区块链分布式计算的核心问题。在区块链系统中,共识就是各个节点对交易执行结果与其顺序达成一致的过程。区块链的共识算法总体可以分为两类,一类是无信任节点之间的共识算法,另一类是受信任节点之间的共识算法。
40.常用的pbft共识算法可以在少数节点作恶的场景中达成共识,它采用签名验证与哈希等密码学算法确保消息传递过程中的防篡改性、防伪造性、不可抵赖性。pbft是一种确定性共识算法,其不会产生分叉,所有节点都在相同的配置下运行,且有一个领导节点,其他节点作为普通节点。领导节点负责对客户端的请求进行排序,按顺序发送给普通节点。
41.对于电力设备数据上链,其具有数据量庞大、数据上链周期短、上链频率高的特点,对共识算法的效率要求较高,已不能满足性能上的要求,因此,本发明将传统的pbft共识算法改进为异步并行共识算法,提升共识算法的效率,从而适用于电力设备数据的上链。
42.请参阅图1,本发明提供了一种适用于电力设备数据上链的异步并行共识方法的实施例,包括:
43.s100:能源终端节点发起一笔电力设备数据的新交易,将所述新交易提交至领导节点的交易池中;
44.s200:开始本轮共识流程,所述领导节点从所述交易池中提取交易集并进行交易集提案,向所有共识节点广播所述交易集,所述共识节点为区块链网络中除领导节点外的其他普通节点;
45.s300:各所述共识节点对所述交易集进行验证,将所述交易集中通过验证的交易转发给相邻的共识节点进行共识投票;
46.s400:在所述交易集达成共识后,所述共识节点执行所述新交易,在本地生成新区块并广播所述新区块;
47.s500:当广播出去的所述新区块正在进行区块共识流程时,下一轮共识流程的新
领导节点开始下一轮的共识流程,将通过共识的所述新区块上链。
48.本实施例在开始本轮共识流程之前还包括:根据预设规则选取区块链网络的领导节点,区块链网络中除领导节点外的其他普通节点为共识节点。
49.在步骤s200中,领导节点从交易池中提取交易集并进行交易集提案,向所有共识节点广播交易集。本实施例在交易收集阶段,如果领导节点的本地交易集为空,则领导节点无法提案交易集,领导节点会广播空区块,因此,领导节点从交易池中提取交易集之前还包括:领导节点判断交易池是否为空,若为空,则领导节点向所有共识节点广播广播空区块。
50.请参阅图4,图4为本发明涉及异步并行共识算法的视图切换机制。在交易收集阶段,如果领导节点的本地交易集为空,无法提案交易集,领导节点会广播空区块。其他普通共识节点的交易集中如果有交易,则在收到领导节点广播的空区块后就立刻发起视图切换。
51.在本发明涉及异步并行共识算法的视图切换机制下,普通节点不需要等待领导节点3秒钟超时再发起视图切换,也就是消除了普通节点对领导节点超时的等待时间,从而减少了系统恢复活性的等待时间,加快共识效率。
52.本实施例提供的异步并行共识方法,算法使用视图(view)记录每个节点的共识状态,相同视图节点维护相同的领导节点和普通共识节点列表。当领导节点出现故障,就会发生视图切换(view-change),根据新的视图选出新的领导节点,从而保证区块链网络的活性。
53.本实施例在保障系统活性的前提下,实现了交易的异步并行共识,有效提高共识效率;通过更改视图切换流程,让节点无需等待领导节点超时就可以发起视图切换流程,减少了共识延时。
54.本实施例在每轮异步并行共识的执行流程中,对于在每个共识节点的本地产生打包完成但没有通过共识的区块,这些区块必须在共识节点的本地交易集中进行缓存,直到它们通过共识。在通过共识后,这些区块将会从本地缓存中删除。也就是说,将通过共识的所述新区块写入区块链上之前还包括:将未通过共识的新区块缓存到共识节点的交易集中,直到未通过共识的新区块通过共识。
55.本实施例采用异步并行共识机制,每笔交易对应的区块不需要严格按照区块的打包时间验证上链,允许并发写入区块链,多个分布式的能源终端节点可以按照不同的节奏同时共识确认交易,同一时刻各共识节点上的账本可能不完全相同,但最终会是同步的。
56.本实施例中,在一轮共识流程未完成之时,就开始下一轮的共识流程,多轮共识流程可能同时进行,这样能达成异步并行共识的效果,提高共识效率。
57.本发明涉及的异步并行共识方法中,假如高度较高的区块完成了共识,它所有的父区块也将被视为通过了共识。例如,节点a本地缓存有有四个尚未通过确认的区块1、区块2、区块3、区块4,区块1至区块4的区块高度依次增加,即区块1、区块2、区块3、区块4依次是父子关系,区块4的区块高度最大。此时区块4在区块链网络上通过了共识,那么区块1、区块2、区块3也自动视为通过了共识。这是因为每一个区块都是基于其父区块的哈希而开始打包的,即最新的区块内容包含了其所有父区块的状态信息,所以,当最新区块的状态通过了验证,也就相当于其所有父区块的状态信息也通过了验证。
58.需要说明的是,创世区块是区块链上的第一个区块,创世区块的区块高度是0。区
块高度指的是区块在区块链中的位置,即区块的编号,是一个区块与创世区块之间的块数。
59.当共识节点缓存的未通过共识的区块与区块链上已通过共识的区块存在冲突时,共识节点触发节点回滚机制以保证区块链网络的活性。
60.本发明涉及的异步并行共识方法,具有节点回滚机制以保障活性,防止因前一轮共识失败而导致基于本轮区块进行的所有共识都失效。共识节点触发节点回滚机制包括:共识节点向来源节点索要每个通过共识的区块的共识验证;共识节点基于验证对区块完成验证后,在本地切换到已经通过共识的区块高度,并对后面的区块开始新的共识流程,完成节点回滚的流程。
61.请参阅图3,本实施例提供的异步并行共识方法的节点回滚机制,包括以下步骤:
62.步骤11:节点a本地缓存有四个尚未通过确认的区块1、区块2、区块3、区块4,区块链网络上有区块1、区块2、区块3_v通过了共识
63.步骤12:节点a收到广播,发现区块3_v与区块3不同。
64.步骤13:节点a本地的未确认区块与区块链网络上已共识通过的区块发生冲突,触发异步并行共识算法的节点回滚机制。
65.步骤14:触发节点回滚后,节点a将向广播来源节点(节点b)索要每个通过共识的区块的验证(validation)。
66.步骤5:节点a基于验证(validation)对区块完成验证后,将在本地切换到已经通过共识的区块高度,并基于区块3_v,开始对区块4的新的共识流程,完成节点回滚的流程。
67.针对电力设备数据上链场景的需求,本发明在传统pbft共识算法的基础上实现了交易的异步并行共识,有效提高共识效率。同时,本发明通过更改视图切换流程,让节点无需等待领导节点超时就可以发起视图切换流程,减少了共识延时,提高了共识效率。
68.本发明通过将能源终端节点的电力设备数据新交易提交至领导节点的交易池,共识节点无需等待领导节点超时就可以发起视图切换流程,减少了共识延时;具有节点回滚机制以保障系统的活性,防止因前一轮共识失败而导致基于本轮区块进行的所有共识都失效,从而减少了系统恢复活性的等待时间,加快共识效率;本发明在一轮共识流程未完成之时,就开始下一轮的共识流程,在保障系统活性的前提下实现了交易的异步并行共识,有效提高了共识效率,能满足电力设备数据上链的性能需求。
69.请参阅图2,本发明提供的一种适用于电力设备数据上链的异步并行共识方法的另一实施例,包括:
70.步骤1:客户端发起请求,提交交易到节点的交易池里;
71.步骤2:第一轮共识流程开始,领导节点进行交易集提案,向其他共识节点广播交易集;
72.步骤3:每个共识节点收到领导节点发出的交易集,对交易集进行校验后,转发给网络上与其相连的所有节点进行投票;
73.步骤4:节点对交易集达成共识之后,执行交易,在本地生成区块,并进行广播;
74.步骤5:当第一轮共识广播出去的区块正在进行区块共识流程时,第二轮共识的新领导节点即可开始进行交易集提案,开始新的一轮共识流程,将通过共识的区块上链。
75.针对电力设备数据上链场景的需求,本发明在传统pbft共识算法的基础上实现了交易的异步并行共识,有效提高共识效率。同时,本发明通过更改视图切换流程,让节点无
需等待领导节点超时就可以发起视图切换流程,减少了共识延时。
76.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
77.在本技术所提供的实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或电连接可以是通过一些接口,装置或单元的间接耦合或电连接,可以是电性,机械或其它的形式。
78.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
79.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
80.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
81.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献