一种区块链网络中节点状态的更新方法、装置、计算机设备及存储介质与流程

文档序号:23720133发布日期:2021-01-24 07:38阅读:104来源:国知局
一种区块链网络中节点状态的更新方法、装置、计算机设备及存储介质与流程

[0001]
本发明涉及区块链技术领域,特别涉及一种区块链网络中节点状态的更新方法、装置、计算机设备及存储介质。


背景技术:

[0002]
自2009年比特币系统推出以来,它带来了众多计算机科学和电子现金方面的创新,以比特币及其衍生竞争币为代表的去中心化加密货币受到了广泛关注。该货币类系统的特点是基于区块链构建分布式共享总账,从而保证系统运行的安全、可靠、去中心化特性。对于区块链来说,如何防止账本被篡改,如何保证节点间的数据一致性都是区块链在建立“去中心化”交易时需要解决的问题,由此产生了共识机制。
[0003]
目前共识机制对区块链各节点管理还是要依靠管理员进行维护,管理员具有较强控制权。这种方式对各节点的用户来说存在有失公平的问题,任何一个节点的用户往往都认为自己的节点为整个区块链网络提供了较大的贡献,应当得到更高的权限,例如更多的记账权等等,但无论是管理员的认定或者是节点用户的判断,往往都是考虑自认为较合理、较科学的条件和理由,如何能够公平的进行判断后满足所有节点的用户对区块链网络管理的要求,成为了本领域技术人员亟待解决的技术问题和始终研究的重点。


技术实现要素:

[0004]
基于此,有必要针对如何能够公平的进行判断后满足所有节点的用户对区块链网络管理要求的问题,提供一种区块链网络中节点状态的更新方法、装置、计算机设备及存储介质。
[0005]
一种区块链网络中节点状态的更新方法,所述区块链网络中节点状态的更新方法包括:对当前区块链网络中的各个节点进行投票,生成各个节点的投票结果;将所述各个节点的投票结果进行预处理,生成各个节点处理后的投票结果;基于所述各个节点处理后的投票结果计算所述各个节点的综合得分;基于所述各个节点的综合得分生成节点评级结果;根据所述节点评级结果对当前区块链网络中的各个节点状态进行更新。
[0006]
在其中一个实施例中,所述根据所述节点评级结果对当前区块链网络中的各个节点状态进行更新,包括:获取所述节点评级结果中各个节点的优先级,根据所述优先级的高低顺序从所述节点评级结果中选取第一数量的主节点以及第二数量的副节点;其中,所述第一数量的主节点以及第二数量的副节点之和为所述节点评级结果中的总节点数量,所述第一数量的主节点对应的优先级大于所述第二数量的副节点对应的优先级;实时收集所述第二数量的副节点的反馈数据;将所述第二数量的副节点的反馈数据实时累加计算生成计算结果;当所述计算结果大于预设阈值时,不更新当前区块链网络中的各个节点状态并继续执行所述对当前区块链中的各个节点进行投票,生成各个节点的投票结果的步骤;或者当所述计算结果小于等于预设阈值时,将所述第一数量的主节点更新为管理状态的节点以
及将所述第二数量的副节点更新为被管理状态的节点,并启动试运行计时;当计时到达预设时间后,继续执行所述实时收集所述第二数量的副节点的反馈数据的步骤。
[0007]
在其中一个实施例中,所述获取所述节点评级结果中各个节点的优先级,包括:获取所述节点评级结果中各个节点指示的位置下标;基于所述各个节点指示的位置下标确定所述各个节点的优先级。
[0008]
在其中一个实施例中,所述针对当前区块链网络中的各个节点进行投票,生成各个节点的投票结果,包括:从当前区块链网络中的各个节点中确定待投票节点;向所述当前区块链网络中除所述待投票节点外的其他节点发送投票邀请进行投票,生成待投票节点的投票结果;判断所述当前区块链网络中的各个节点是否具有各自的投票结果;若是,生成各个节点的投票结果;若否,继续执行所述从当前区块链网络中的各个节点中确定待投票节点的步骤。
[0009]
在其中一个实施例中,所述基于所述各个节点的综合得分生成节点评级结果,包括:根据所述各个节点的综合得分将所述各个节点进行降序排列,生成排序结果;将所述排序结果确定为节点评级结果。
[0010]
在其中一个实施例中,所述根据所述各个节点的综合得分将所述各个节点进行降序排列,包括:将所述各个节点的综合得分进行降序排列,生成第一排序结果;当所述第一排序结果中至少有两个综合得分相同的节点时,获取所述综合得分相同的节点对应的投票结果;计算所述综合得分相同的节点对应的投票结果的均匀度,并将所述均匀度较小的节点和所述均匀度较大的节点进行位置互换后生成第二排序结果;将所述第二排序结果确定为节点评级结果。
[0011]
在其中一个实施例中,所述将所述排序结果确定为节点评级结果之后,还包括:将所述节点评级结果存储在当前区块链网络中任一存储区块内。
[0012]
一种区块链网络中节点状态的更新装置,所述装置包括:第一投票结果生成模块,用于对当前区块链网络中的各个节点进行投票,生成各个节点的投票结果;第二投票结果生成模块,用于将所述各个节点的投票结果进行预处理,生成各个节点处理后的投票结果;综合得分计算模块,用于基于所述各个节点处理后的投票结果计算所述各个节点的综合得分;评级结果生成模块,用于基于所述各个节点的综合得分生成节点评级结果;节点状态更新模块,用于根据所述节点评级结果对当前区块链网络中的各个节点状态进行更新。
[0013]
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述区块链网络中节点状态的更新方法的步骤。
[0014]
一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述区块链网络中节点状态的更新方法的步骤。
[0015]
上述所述区块链网络中节点状态的更新方法、装置、计算机设备和存储介质,区块链网络中节点状态的更新装置首先对当前区块链网络中的各个节点进行投票,生成各个节点的投票结果,然后将各个节点的投票结果进行预处理,生成各个节点处理后的投票结果,再基于各个节点处理后的投票结果计算各个节点的综合得分,然后基于各个节点的综合得分生成节点评级结果,最后根据节点评级结果对当前区块链网络中的各个节点状态进行更
新。由于本申请通过基于各节点给出的投票结果综合判断出分别为每个节点赋予合适的状态,从而达到公平且合理地进行节点状态的更新,实现对区块链网络的客观化、去中心化管理,从而保障了区块链网络中各节点状态的公平更新,进一步提高了区块链网络的可信度。
附图说明
[0016]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0017]
图1为本申请一个实施例中提供的区块链网络中节点状态的更新方法的实施环境图;
[0018]
图2为本申请一个实施例中计算机设备的内部结构示意图;
[0019]
图3为本申请一个实施例中提供的一种区块链网络中节点状态的更新方法的方法示意图;
[0020]
图4为本申请一个实施例中提供的区块链网络中节点状态示意图;
[0021]
图5为本申请一个实施例中提供的另一种区块链网络中节点状态的更新方法的方法示意图;
[0022]
图6是本申请实施例提供的一种区块链网络中节点状态的更新装置的装置示意图;
具体实施方式
[0023]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0024]
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
[0025]
图1为一个实施例中提供的区块链网络中节点状态的更新方法的实施环境图,如图1所示,在该实施环境中,包括服务端110以及区块链120。
[0026]
服务端110为服务端设备,例如为区块链网络中节点状态的更新的服务器设备,服务端110上安装有区块链网络中节点状态的更新工具。区块链120上具有多个通过对等网络连接形成的节点,用于分别存储包括记录数据的区块,并链接区块而形成区块链,当需要对区块链网络中节点状态的更新时,服务端110首先对当前区块链网络中的各个节点进行投票,生成各个节点的投票结果,服务端110再将各个节点的投票结果进行预处理,生成各个节点处理后的投票结果,服务端110然后基于各个节点处理后的投票结果计算各个节点的综合得分,服务端110再基于各个节点的综合得分生成节点评级结果,服务器110最后根据节点评级结果对当前区块链网络中的各个节点状态进行更新。
[0027]
需要说明的是,服务端110可为智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。服务端110以及区块链120可以通过蓝牙、usb(universal serial bus,通用串行总线)或者其他通讯连接方式进行连接,本发明在此不做限制。
[0028]
图2为一个实施例中计算机设备的内部结构示意图。如图2所示,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设
备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种区块链网络中节点状态的更新方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种区块链网络中节点状态的更新方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0029]
下面将结合附图3-附图5,对本申请实施例提供的区块链网络中节点状态的更新方法进行详细介绍。该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的区块链网络中节点状态的更新装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。
[0030]
请参见图3,为本申请实施例提供了一种区块链网络中节点状态的更新方法的流程示意图。如图3所示,本申请实施例的方法可以包括以下步骤:
[0031]
s101,对当前区块链网络中的各个节点进行投票,生成各个节点的投票结果;
[0032]
其中,区块链是是一个共享数据库,存储于其中的数据或信息,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。
[0033]
在本申请实施例中,通过区块链网络中节点状态的更新装置进行更新时,该装置首先从当前区块链网络中的各个节点中确定待投票节点,再向当前区块链网络中除待投票节点外的其他节点发送投票邀请进行投票,生成待投票节点的投票结果,然后判断当前区块链网络中的各个节点是否具有各自的投票结果,当具有各自的投票结果时,生成各个节点的投票结果,当没有各自的投票结果时,继续从当前区块链网络中的各个节点中确定待投票节点并邀请其他节点为该节点进行投票。
[0034]
具体的,在从当前的区块链网络中的各节点中确定待投票节点时,首先获取区块链网络中各个节点的优先级高低顺序,节点加入的时间距离当前时刻越长,优先级越高,在确定出各个节点的优先级高低顺序后,获取距离当前时刻最长的节点,将该节点确定为待投票节点。
[0035]
在一种可能的实现方式中,通过区块链网络中节点状态的更新装置通过区块链网络中节点状态的更新装置进行更新时,该装置首先向当前区块链中的各个节点进行广播,以发出除自身节点外的其他节点进行投票的邀请,进而使各个节点分别对区块链中其他节点开始投票得到当前区块链网络中各个区块对应的投票结果。其中,投票的规则包括但不限于当前节点获取的待投票节点的交易次数、加入网络时间、节点交易金额、获取记账权的次数等等,例如交易次数达到10次加一分,加入当前区块链满一年加一分等;当然,本申请一些实施例还可根据如上投票规则进行减分,例如一年内没有运输区块减一分。
[0036]
本实施例中,投票具体可采用记分制,例如1,2,
……
10分,即1-10分;即当前节点qi可为其他节点n-1个节点分别进行投票,n为节点总数;对于任一个节点来说,都能够得到至多n-1个投票结果,例如可以是
[0037]
{1,6,5,8,3,2,5,1,6,8,4
……
},这些投票结果体现了各节点在本节点外其他节
点看来的综合实力水平,包括对其整体性能、为区块链网络做出的贡献、信用等。
[0038]
在另一种可能的实现方式中,按照无序依次选择的方式从当前区块链网络中选择任一节点向外发出广播,以告知各个节点(包括通知自己-本节点)可开始对其他节点进行投票,通过这种方式生成当前区块链网络中各个节点对应的多个投票结果。
[0039]
进一步地,各个节点均设计有自动投票模块,该自动投票模块能够根据可与其他节点的通信关系、了解程度等因素自动进行投票。投票的依据可以包括但不限于:了解到的其他节点参与交易的次数、加入当前区块链网络的时间、节点交易金额、具有的可分配的存储空间、运输区块的数量、获取记账权的次数等等,本发明一些实施例可采用判断式0、1计分的方式,在某个依据满足条件是+1分、不满足条件时为0分,例如加入区块链网络的时间达到一年的加一分,否则不加分。为避免数据溢出问题,本发明一些实施例在投票依据超过10项时可统一采用小数值计分方式,例如满足条件+0.3分。
[0040]
s102,将各个节点的投票结果进行预处理,生成各个节点处理后的投票结果;
[0041]
其中,预处理为滤除投票结果数据中可能存在的不科学、不合理的因素生成的投票结果,例如投票结果为13,0.5,-1等结果。预处理过程还可以包括根据当前节点为待投票节点的历史投票数据,并可采用均值计算或者均方差等计算方式判断本次投票与历史投票数据之间的差距是否满足设定的范围,如果否,则忽略当前节点为待投票节点的本次投票或可将上一次的投票结果默认作为本次投票结果。
[0042]
通常,通过预处理能够实现对投票结果数据的清洗,使清洗后得到的预处理结果满足后续处理的要求的同时更关键在于保证投票的合理性,避免无意义投票问题的发生。
[0043]
在一种可能的实现方式中,通过区块链网络中节点状态的更新装置在对各个节点的投票结果进行预处理时,首先要收集各个节点对应的多个投票结果,在进行收集操作时,将投票结果直接地或间接地发送到本节点上,对不与本节点有直接连接关系的节点,可通过间接的方式通过其他一个或多个节点转发到本节点上完成投票结果收集,收集结束后查找投票结果中为不合理的投票结果进行删除操作,删除完成后生成各个节点处理后的投票结果。
[0044]
例如,对于任一个节点的投票结果数据,可过滤掉第一比例的最高值数据和过滤掉第二比例的最低值数据,第一比例和第二比例可相等,例如5%,即删除投票结果数据中5%的最高分结果和5%的最低分结果,以将剩余的中间大小的数据作为预处理后的结果,该方式能够进一步提高合理性和公平性,有效避免了一些有可能存在恶意的节点对其他节点的过低评价或者一些节点主观地对其他节点的过高评价,进而维护了区块链网络节点投票结果的公平合理性。
[0045]
进一步地,在待投票节点对外进行广播时即同时发出了公开密钥数据,该公开密钥数据用于间接发送投票结果数据的节点对投票结果数据进行加密后发送,以避免投票结果数据在间接发送至本节点的过程中被篡改的风险,只有具有私有密钥的本节点才能对加密后的投票结果数据进行有效地解密,以得到投票结果,实现对真实的投票结果数据的收集。
[0046]
s103,基于各个节点处理后的投票结果计算各个节点的综合得分;
[0047]
通常,由于各个节点的预处理结果与各个节点的综合得分一一对应,因此通过合理的投票结果数据合理地确定各个节点综合得分。
[0048]
在一种可能的实现方式中,可通过均值计算或者平方和计算等方式最终确定各个节点的综合得分。该综合得分体现出区块链网络中其他的节点对当前节点qi的统一评价结果,由于是处理后的综合性评价,所以该统一评价结果可使各节点的用户具有足够的信赖度以及信服度,数据结果较可靠。
[0049]
例如可以通过均值计算预处理结果中的各元素的方式而得到各节点的综合得分,为克服预处理过程中可能出现的数据溢出情况等问题,本发明的较佳的实现方式是计算各元素绝对值后的平均值的结果,本发明一些实施例中的计算方式例如可以是:(|a|+|b|+
……
+|x|)/x,x表示元素的个数,a,b,
……
x可表示各元素。
[0050]
s104,基于各个节点的综合得分生成节点评级结果;
[0051]
通常,节点评级结果生成的过程可以包括但不限于:根据综合得分将所有节点进行排序,排序的方式例如可以是高分数节点在前、低分数节点在后。然后根据排序的结果生成一个节点列表,列表中排序的方式也可按由高到低或由低到高分数的顺序,该节点列表数据可随机存放在某一个存储区块内,该存储路径对所有节点来说都是隐私的、无法获取的,例如该存储区块可以是始终在节点间进行传输的区块。
[0052]
在一种可能的实现方式中,在基于各个节点的综合得分生成节点评级结果时,首先将各个节点的综合得分进行降序排列,生成第一排序结果,再当第一排序结果中至少有两个综合得分相同的节点时,获取综合得分相同的节点对应的投票结果,然后计算综合得分相同的节点对应的投票结果的均匀度,并将均匀度较小的节点和均匀度较大的节点进行位置互换后生成第二排序结果,最后将第二排序结果确定为节点评级结果,并将节点评级结果存储在当前区块链网络中任一存储区块内。
[0053]
其中,本发明一些实施例的均匀度的计算包括但不限于样本标准差计算、两两数值的差值的平方和计算等等;例如,一些实施例中的{1,3,5
……
}形式的投票结果的均匀度大于{3,3,3
……
}形式的投票结果的均匀度。
[0054]
s105,根据节点评级结果对当前区块链网络中的各个节点状态进行更新。
[0055]
通常,本申请实施例从节点评级结果中选取排名在前的第一数量的节点,成立用于管理剩余其他第二数量的节点的管理委员会,以使第一数量的节点成为委员会成员节点以及标记有委员会成员状态,并使剩余的第二数量的节点成为一般成员节点以及标记有一般成员状态,即本实施例中的节点状态可包括但不限于委员会成员状态和一般成员状态;其中,第一数量+第二数量=x,x可表示预处理后的评价结果数量。
[0056]
在一种可能的实现方式中,根据节点评级结果对当前区块链网络中的各个节点状态进行更新时,首先获取节点评级结果中各个节点的优先级,根据优先级的高低顺序从节点评级结果中选取第一数量的主节点以及第二数量的副节点,其中第一数量的主节点以及第二数量的副节点之和为节点评级结果中的总节点数量,第一数量的主节点对应的优先级大于第二数量的副节点对应的优先级,再实时收集第二数量的副节点的反馈数据,然后将第二数量的副节点的反馈数据实时累加计算生成计算结果,当计算结果大于预设阈值时,不更新当前区块链网络中的各个节点状态并返回步骤s101继续执行;或者当计算结果小于等于预设阈值时,将第一数量的主节点更新为管理状态的节点以及将第二数量的副节点更新为被管理状态的节点例如图4所示,并启动试运行计时,最后当计时到达预设时间后,继续执行实时收集第二数量的副节点的反馈数据进行判断。
[0057]
进一步地,在实时收集第二数量的副节点的反馈数据时,反馈数据包括0和1,0表示同意当前管理委员会成员节点继续对本区块链网络进行管理,1表示反对当前管理委员会成员节点继续对本区块链网络进行管理,然后可以通过累加计算的方式判断结果是否大于阈值:如果大于阈值则返回步骤s101进行新一轮的投票和判断,如果不大于阈值则在设定时长后(例如七天或一个月)重新继续执行实时收集第二数量的副节点的反馈数据进行判断,再次询问各节点对当前各委员会节点管理结果的评价。
[0058]
在本申请实施例中,区块链网络中节点状态的更新装置首先对当前区块链网络中的各个节点进行投票,生成各个节点的投票结果,然后将各个节点的投票结果进行预处理,生成各个节点处理后的投票结果,再基于各个节点处理后的投票结果计算各个节点的综合得分,然后基于各个节点的综合得分生成节点评级结果,最后根据节点评级结果对当前区块链网络中的各个节点状态进行更新。由于本申请通过基于各节点给出的投票结果综合判断出分别为每个节点赋予合适的状态,从而达到公平且合理地进行节点状态的更新,实现对区块链网络的客观化、去中心化管理,从而保障了区块链网络中各节点状态的公平更新,进一步提高了区块链网络的可信度。
[0059]
请参见图5,图5是本申请实施例提供的另一种区块链网络中节点状态的更新方法的流程示意图。如图5所示,本申请实施例的方法可以包括以下步骤:
[0060]
s201,从当前区块链网络中的各个节点中确定待投票节点;
[0061]
s202,向当前区块链网络中除待投票节点外的其他节点发送投票邀请进行投票,生成待投票节点的投票结果;
[0062]
s203,当当前区块链网络中的各个节点具有各自的投票结果时,生成各个节点的投票结果,否则返回步骤s101继续执行;
[0063]
s204,将各个节点的投票结果进行预处理,生成各个节点处理后的投票结果;
[0064]
s205,基于各个节点处理后的投票结果计算各个节点的综合得分;
[0065]
s206,基于各个节点的综合得分生成节点评级结果;
[0066]
s207,获取节点评级结果中各个节点的优先级,根据优先级的高低顺序从节点评级结果中选取第一数量的主节点以及第二数量的副节点;其中,第一数量的主节点以及第二数量的副节点之和为节点评级结果中的总节点数量,第一数量的主节点对应的优先级大于第二数量的副节点对应的优先级;
[0067]
s208,实时收集第二数量的副节点的反馈数据;
[0068]
s209,将第二数量的副节点的反馈数据实时累加计算生成计算结果;
[0069]
s210,当计算结果大于预设阈值时,不更新当前区块链网络中的各个节点状态,否则返回步骤s101继续执行;
[0070]
s211,当计算结果小于等于预设阈值时,将第一数量的主节点更新为管理状态的节点以及将第二数量的副节点更新为被管理状态的节点,并启动试运行计时;
[0071]
s212,当计时到达预设时间后,返回步骤s208继续执行。
[0072]
在本申请实施例中,区块链网络中节点状态的更新装置首先对当前区块链网络中的各个节点进行投票,生成各个节点的投票结果,然后将各个节点的投票结果进行预处理,生成各个节点处理后的投票结果,再基于各个节点处理后的投票结果计算各个节点的综合得分,然后基于各个节点的综合得分生成节点评级结果,最后根据节点评级结果对当前区
块链网络中的各个节点状态进行更新。由于本申请通过基于各节点给出的投票结果综合判断出分别为每个节点赋予合适的状态,从而达到公平且合理地进行节点状态的更新,实现对区块链网络的客观化、去中心化管理,从而保障了区块链网络中各节点状态的公平更新,进一步提高了区块链网络的可信度。
[0073]
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
[0074]
请参见图6,其示出了本发明一个示例性实施例提供的区块链网络中节点状态的更新装置的结构示意图,应用于服务端。该区块链网络中节点状态的更新系统可以通过软件、硬件或者两者的结合实现成为计算机设备的全部或一部分。该装置1包括第一投票结果生成模块10、第二投票结果生成模块20、综合得分计算模块30、评级结果生成模块40、节点状态更新模块50。
[0075]
第一投票结果生成模块10,用于对当前区块链网络中的各个节点进行投票,生成各个节点的投票结果;
[0076]
第二投票结果生成模块20,用于将各个节点的投票结果进行预处理,生成各个节点处理后的投票结果;
[0077]
综合得分计算模块30,用于基于各个节点处理后的投票结果计算各个节点的综合得分;
[0078]
评级结果生成模块40,用于基于各个节点的综合得分生成节点评级结果;
[0079]
节点状态更新模块50,用于根据节点评级结果对当前区块链网络中的各个节点状态进行更新。
[0080]
需要说明的是,上述实施例提供的区块链网络中节点状态的更新系统在执行区块链网络中节点状态的更新方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的区块链网络中节点状态的更新系统与区块链网络中节点状态的更新方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
[0081]
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
[0082]
在本申请实施例中,区块链网络中节点状态的更新装置首先对当前区块链网络中的各个节点进行投票,生成各个节点的投票结果,然后将各个节点的投票结果进行预处理,生成各个节点处理后的投票结果,再基于各个节点处理后的投票结果计算各个节点的综合得分,然后基于各个节点的综合得分生成节点评级结果,最后根据节点评级结果对当前区块链网络中的各个节点状态进行更新。由于本申请通过基于各节点给出的投票结果综合判断出分别为每个节点赋予合适的状态,从而达到公平且合理地进行节点状态的更新,实现对区块链网络的客观化、去中心化管理,从而保障了区块链网络中各节点状态的公平更新,进一步提高了区块链网络的可信度。
[0083]
在一个实施例中,提出了一种计算机设备,计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:对当前区块链网络中的各个节点进行投票,生成各个节点的投票结果;将各个节点的投票结果进行预处理,生成各个节点处理后的投票结果;基于各个节点处理后的投票结果计算
各个节点的综合得分;基于各个节点的综合得分生成节点评级结果;根据节点评级结果对当前区块链网络中的各个节点状态进行更新。
[0084]
在一个实施例中,处理器在执行根据节点评级结果对当前区块链网络中的各个节点状态进行更新时,具体执行以下步骤:获取节点评级结果中各个节点的优先级,根据优先级的高低顺序从节点评级结果中选取第一数量的主节点以及第二数量的副节点;其中,第一数量的主节点以及第二数量的副节点之和为节点评级结果中的总节点数量,第一数量的主节点对应的优先级大于第二数量的副节点对应的优先级;实时收集第二数量的副节点的反馈数据;将第二数量的副节点的反馈数据实时累加计算生成计算结果;当计算结果大于预设阈值时,不更新当前区块链网络中的各个节点状态并继续执行对当前区块链中的各个节点进行投票,生成各个节点的投票结果的步骤;或者当计算结果小于等于预设阈值时,将第一数量的主节点更新为管理状态的节点以及将第二数量的副节点更新为被管理状态的节点,并启动试运行计时;当计时到达预设时间后,继续执行实时收集第二数量的副节点的反馈数据的步骤。
[0085]
在一个实施例中,处理器在执行获取节点评级结果中各个节点的优先级时,具体执行以下步骤:获取节点评级结果中各个节点指示的位置下标;基于各个节点指示的位置下标确定各个节点的优先级。
[0086]
在一个实施例中,处理器在执行针对当前区块链网络中的各个节点进行投票,生成各个节点的投票结果时,具体执行以下步骤:从当前区块链网络中的各个节点中确定待投票节点;向当前区块链网络中除待投票节点外的其他节点发送投票邀请进行投票,生成待投票节点的投票结果;判断当前区块链网络中的各个节点是否具有各自的投票结果;若是,生成各个节点的投票结果;若否,继续执行从当前区块链网络中的各个节点中确定待投票节点的步骤。
[0087]
在一个实施例中,处理器在执行基于各个节点的综合得分生成节点评级结果时,具体执行以下步骤:根据各个节点的综合得分将各个节点进行降序排列,生成排序结果;将排序结果确定为节点评级结果。
[0088]
在一个实施例中,处理器在执行将排序结果确定为节点评级结果之后时,还执行以下步骤:将节点评级结果存储在当前区块链网络中任一存储区块内。在一个实施例中,提出了一种存储有计算机可读指令的存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:对当前区块链网络中的各个节点进行投票,生成各个节点的投票结果;将各个节点的投票结果进行预处理,生成各个节点处理后的投票结果;基于各个节点处理后的投票结果计算各个节点的综合得分;基于各个节点的综合得分生成节点评级结果;根据节点评级结果对当前区块链网络中的各个节点状态进行更新。
[0089]
在一个实施例中,处理器在执行根据节点评级结果对当前区块链网络中的各个节点状态进行更新时,具体执行以下步骤:获取节点评级结果中各个节点的优先级,根据优先级的高低顺序从节点评级结果中选取第一数量的主节点以及第二数量的副节点;其中,第一数量的主节点以及第二数量的副节点之和为节点评级结果中的总节点数量,第一数量的主节点对应的优先级大于第二数量的副节点对应的优先级;实时收集第二数量的副节点的反馈数据;将第二数量的副节点的反馈数据实时累加计算生成计算结果;当计算结果大于预设阈值时,不更新当前区块链网络中的各个节点状态并继续执行对当前区块链中的各个
节点进行投票,生成各个节点的投票结果的步骤;或者当计算结果小于等于预设阈值时,将第一数量的主节点更新为管理状态的节点以及将第二数量的副节点更新为被管理状态的节点,并启动试运行计时;当计时到达预设时间后,继续执行实时收集第二数量的副节点的反馈数据的步骤。
[0090]
处理器在执行获取节点评级结果中各个节点的优先级时,具体执行以下步骤:获取节点评级结果中各个节点指示的位置下标;基于各个节点指示的位置下标确定各个节点的优先级。
[0091]
在一个实施例中,处理器在执行针对当前区块链网络中的各个节点进行投票,生成各个节点的投票结果时,具体执行以下步骤:从当前区块链网络中的各个节点中确定待投票节点;向当前区块链网络中除待投票节点外的其他节点发送投票邀请进行投票,生成待投票节点的投票结果;判断当前区块链网络中的各个节点是否具有各自的投票结果;若是,生成各个节点的投票结果;若否,继续执行从当前区块链网络中的各个节点中确定待投票节点的步骤。
[0092]
在一个实施例中,处理器在执行基于各个节点的综合得分生成节点评级结果时,具体执行以下步骤:根据各个节点的综合得分将各个节点进行降序排列,生成排序结果;将排序结果确定为节点评级结果。
[0093]
在一个实施例中,处理器在执行将排序结果确定为节点评级结果之后时,还执行以下步骤:将节点评级结果存储在当前区块链网络中任一存储区块内。
[0094]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)等非易失性存储介质,或随机存储记忆体(random access memory,ram)等。
[0095]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0096]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1