基于区块链的共识方法、装置、主节点设备及从节点设备与流程

文档序号:22253844发布日期:2020-09-18 13:18阅读:79来源:国知局
基于区块链的共识方法、装置、主节点设备及从节点设备与流程

本申请属于区块链领域,尤其涉及一种基于区块链的共识方法、装置、主节点设备及从节点设备。



背景技术:

如今,在进行配置交易时,经常会用到区块链网络。在应用区块链网络时,需要通过共识算法进行共识,以保证区块链中每个节点的数据包能够充分同步。

通常可以使用基于主节点的共识算法进行共识。如通过共识算法,从多个节点中选出一个主节点,主节点用于在下一轮共识中进行区块打包。

现有技术中,在出现共识失败时,是通过切换主节点来解决共识失败的问题。但是,共识失败可能是由于网络性能导致的同步问题引起的。此时,仅仅切换主节点无法妥善解决共识失败的问题。



技术实现要素:

本申请实施例提供了基于区块链的共识方法、装置、主节点设备及从节点设备,可以解决由网络性能导致的共识失败的问题。

第一方面,本申请实施例提供了一种基于区块链的共识方法,应用于主节点,包括:根据客户端发送的配置交易请求生成配置交易区块。将配置交易区块发送给每个从节点。若在第一预设时段内,接收到每个从节点返回的投票结果数量小于预设阈值,则继续接收每个从节点返回的投票结果,直到第二预设时段结束,其中,投票结果用于指示从节点接受配置交易区块中的配置交易请求。若在第二预设时段内,接收到每个从节点返回的投票结果数量大于或等于预设阈值,则向从节点发送出块信息。响应客户端的配置交易请求,并在主节点上配置该配置交易。

本申请实施例与现有技术相比存在的有益效果是:通过在第一预设时段和第二预设时段内持续接收从节点发送的投票结果,使得当网络性能不佳时,可以有更多的时间接收投票结果。从而减少了因网络性能不佳,收集不到足够投票结果而导致的共识失败,提高了系统的稳定性。

第二方面,本申请实施例还提供了一种基于区块链的共识方法,应用于从节点,包括:接收主节点发送的配置交易区块,配置交易区块是主节点根据客户端发送的配置交易请求生成的。校验配置交易区块的合法性,若合法,则接受配置交易区块中的配置交易请求。向主节点发送投票结果,投票结果用于指示从节点接受配置交易区块中的配置交易请求。若接收到主节点发送的出块信息,则在从节点上配置该配置交易。

一些实施方式中,在向主节点发送投票结果之后,还包括:若在第三预设时段内,未接收到主节点发送的出块信息,则继续接收出块信息,直到第四预设时段结束。若在第四预设时段内,未接收到出块信息,则向除当前从节点外的每个从节点发送主节点切换请求。

一些实施方式中,该方法还包括:接收主节点切换请求。若接收到出块信息,则忽略主节点切换请求。若在第四预设时段内,未接收到出块信息,则根据主节点切换请求在多个从节点中确定一个从节点作为主节点。

第三方面,本申请实施例还提供了一种基于区块链的共识装置,应用于主节点,包括:生成模块,用于根据客户端发送的配置交易请求生成配置交易区块。第一发送模块,用于将配置交易区块发送给每个从节点。共识模块,用于若在第一预设时段内,接收到每个从节点返回的投票结果数量小于预设阈值,则继续接收每个从节点返回的投票结果,直到第二预设时段结束,其中,投票结果用于指示从节点接受配置交易区块中的配置交易请求。共识模块,还用于若在第二预设时段内,接收到每个从节点返回的投票结果数量大于或等于预设阈值,则向从节点发送出块信息。响应模块,用于响应客户端的配置交易请求,并在主节点上配置该配置交易。

第四方面,本申请实施例还提供了一种基于区块链的共识装置,应用于从节点,包括:接收模块,用于接收主节点发送的配置交易区块,配置交易区块是主节点根据客户端发送的配置交易请求生成的。校验模块,用于校验配置交易区块的合法性,若合法,则接受配置交易区块中的配置交易请求。第二发送模块,用于向主节点发送投票结果,投票结果用于指示从节点接受配置交易区块中的配置交易请求。接收模块,还用于若接收到主节点发送的出块信息,则在从节点上配置该配置交易。

一些实施方式中,接收模块,还用于若在第三预设时段内,未接收到主节点发送的出块信息,则继续接收出块信息,直到第四预设时段结束。第二发送模块,还用于若在第四预设时段内,未接收到出块信息,则向除当前从节点外的每个从节点发送主节点切换请求。

一些实施方式中,接收模块,还用于接收主节点切换请求。装置还包括切换模块,用于若接收到出块信息,则忽略主节点切换请求。切换模块,还用于若在第四预设时段内,未接收到出块信息,则根据主节点切换请求在多个从节点中确定一个从节点作为主节点。

第五方面,本申请实施例提供了一种主节点设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现第一方面提供的方法。

第六方面,本申请实施例提供了一种从节点设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现第二方面提供的方法。

第七方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现可实现上述第一方面提供的方法。

第八方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现可实现上述第二方面提供的方法。

第九方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面提供的方法。

第九方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第二方面提供的方法。

可以理解的是,上述第二方面至第十方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是基于区块链的共识方法的应用场景示意图;

图2是基于区块链的共识方法的信令示意图;

图3是本申请一实施例提供的共识方法的流程示意图;

图4是本申请另一实施例提供的共识方法的流程示意图;

图5是本申请一实施例提供的共识方法的信令示意图;

图6是本申请另一实施例提供的共识方法的流程示意图;

图7是本申请另一实施例提供的共识方法的流程示意图;

图8是本申请另一实施例提供的共识方法的信令示意图;

图9是本申请一实施例提供的基于区块链的共识装置的结构示意图;

图10是本申请一实施例提供的基于区块链的共识装置的结构示意图;

图11是本申请另一实施例提供的基于区块链的共识装置的结构示意图;

图12是本申请实施例提供的主节点设备的结构示意图;

图13是本申请实施例提供的从节点设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本申请说明书和所附权利要求书中所使用的那样,术语“若”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“若确定”可以依据上下文被解释为意指“一旦确定”或“响应于确定”。

另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。

图1是基于区块链的共识方法的应用场景示意图。

参考图1,该场景中包括:多个客户端11、一个主节点12、多个从节点13。其中,客户端11可以通过网络与主节点和/或从节点通信连接,每个节点分别与其他节点通信连接。其中,客户端11可以是终端设备、移动设备、服务器等。例如,可以是台式电脑、手机、云端服务器,在此不做限制。

在该场景中,通过用拜占庭容错系统(practicalbyzantinefaulttolerance,pbft)进行共识。参考图2,在该共识算法中,包括:

(1)客户端向主节点发送请求。

(2)在预准备阶段,主节点打包区块,广播区块并在全网共识。

(3)在准备阶段,主节点收集全网的投票信息。

(4)主节点收集投票结果,超过2f个相同结果后,确认区块可以出块,由主节点直接进行响应。

(5)主节点对客户端进行响应。

但是,在现有的流程中,当网络性能不佳时,主节点无法及时接收到投票结果,导致从节点因无法接收到区块而超时,触发切换主节点。然而,切换主节点并无法改善由于网络性能不佳而导致的超时,反而还会对系统造成压力。

为此,本申请提供了一种基于区块链的共识方法,以解决由网络性能导致的共识失败的问题。

图3示出了本申请提供的基于区块链的共识方法的示意性流程图,作为示例而非限定,该方法可以应用于上述主节点中。该方法包括:

s21、根据客户端发送的配置交易请求生成配置交易区块。

一些实施方式中,每个区块中的固定位置的交易时配置交易,当区块内有配置交易时,该区块即为配置交易区块。

优选的,可以将交易集中的第1个交易做为配置交易(索引为0)。在没有配置交易的时候,其中的交易信息是“null”。否则,就是{配置序列号(编号),多级时间阈值{t0、t1、t2、…},交易发起者,签名,交易时间}。其中,交易集中的索引用于指示交易的类型,例如,索引为0则表示该交易为配置交易,包含配置数据。索引不为0的,则为普通交易,包含交易数据。

配置数据可以如下表所示:

则配置交易的配置数据可以为:{11,{5、10、15},zhangsan,电子签名,20200316}。

需要说明的是,配置交易信息可以是客户端直接发送给主节点的,也可以是客户端先发送给从节点,然后从节点转发给主节点的,在此不做限制。

s22、将配置交易区块发送给每个从节点。

其中,将配置交易区块发送给每个从节点是为了向全网各节点广播共识请求。共识请求指请求全网各节点对接收到的区块进行共识,若共识投票结果符合预设阈值,则确认共识成功。

s23、若在第一预设时段内,接收到每个从节点返回的投票结果数量小于预设阈值,则继续接收每个从节点返回的投票结果,直到第二预设时段结束。

其中,投票结果用于指示从节点接受配置交易区块中的配置交易请求。

一些实施方式中,第一预设时段可以有多个。例如,若第一预设时段为5秒,第一预设时段的个数为3个,则可以使用3个计时器得到三个5秒的第一预设时段。如第一计时器计时5秒,第二计时器计时10秒,第三计时器计时15秒。在此不做限制。

一些实施方式中,第二预设时段可以与第一预设时段相同。第二预设时段也可以是使用计时器实现。例如,若第二预设时段也为5秒,则可以使用第四计时器,设置计时20秒。第四计时器在第一计时器开始计时的同时计时。

s24、若在第二预设时段内,接收到每个从节点返回的投票结果数量大于或等于预设阈值,则向从节点发送出块信息。

一些实施方式中,若接收到的投票结果数量大于或等于预设阈值,则确认全网共识成功,即所有节点均应接受该配置交易。

此时,可以充值s23中的计时器,然后向每个从节点发送出块信息,指示每个从节点配置该配置交易。

s25、响应客户端的配置交易请求,在主节点上配置对应的配置交易。

在本实施例中,通过在第一预设时段和第二预设时段内持续接收从节点发送的投票结果,使得当网络性能不佳时,可以有更多的时间接收投票结果。从而减少了因网络性能不佳,收集不到足够投票结果而导致的共识失败,提高了系统的稳定性。

相应的,图4示出了本申请提供的基于区块链的共识方法的示意性流程图,作为示例而非限定,该方法可以应用于上述从节点中。该方法包括:

s31、接收主节点发送的配置交易区块,配置交易区块是主节点根据客户端发送的配置交易请求生成的。

s32、校验配置交易区块的合法性,若合法,则接受配置交易区块中的配置交易请求。

一些实施方式中,接收到的配置交易区块为待共识的区块,参考s21,该区块中包括配置序列号和多级时间配置。若接收到的配置交易区块的配置序列号大于当前节点的配置序列号,且多级时间配置为递增,则确定该配置交易区块为合法。例如,接收到的配置信息为配置信息{11,{5、10},zhangsan,电子签名,20200316},其中配置序列号为11,多级时间配置为{5、10}。多级时间配置为递增,若当前系统的配置序列号为10,则确认该配置交易区块合法。

s33、向主节点发送投票结果,投票结果用于指示从节点接受配置交易区块中的配置交易请求。

其中,若配置交易区块合法,则从节点接受该配置交易请求。

s34、若接收到主节点发送的出块信息,则在从节点上配置该交易。

其中,配置交易请求包括更新从节点的多级时间配置,删除配置序列号小于该配置交易配置序列号的其他交易。

参考图5,图5示出了一种利用pbft进行共识时的信令图。其中,多级时间配置为{5、10}。

在图5中,由于网络拥堵,需要延长延迟以适应网络状态。图5中,共识的步骤包括:

(1)在共识确认阶段,主节点收集投票结果,并开启计时模块。

(2)此时,由于网络性能等原因造成全网多数从节点超时,大多从数节点进行下一个参数阈值10s的判断,即再等待5s。

(3)主节点若在第二个参数阈值10s内收到足够的共识信息,则确认区块可以出块,计时器停止计时。并由主节点直接进行响应。

(4)主节点响应客户端。

(5)所有从节点继续正常工作。

图6是本申请另一实施例提供的共识方法的流程示意图。

s41、若在第三预设时段内,未接收到主节点发送的出块信息,则继续接收出块信息,直到第四预设时段结束。

s42、若在第四预设时段内,未接收到出块信息,则向除当前从节点外的每个从节点发送主节点切换请求。

其中,s41中第三预设时段的设置方式与s23中第一预设时段相同。s41中第四预设时段的设置方式与s23中第二预设时段相同。在此不做赘述。

图7是本申请另一实施例提供的共识方法的流程示意图。

s43、接收主节点切换请求。

一些实施方式中,由于从节点有多个,每个从节点都可能接收到其他从节点发送的主节点切换请求。在接收到主节点切换请求时,存在两种可能,第一种是当前主节点出错,未能发送出块信息。或者,发送主节点切换请求的从节点出错,无法接收到出块信息。

s44、若接收到出块信息,则忽略主节点切换请求。

一些实施方式中,若接收到主节点切换请求时,当前从节点接收到出块信息,则表明主节点未出错,确定出错的为发送主节点切换请求的从节点。因此,忽略主节点切换请求。

s45、若在第四预设时段内,未接收到出块信息,则根据主节点切换请求在多个从节点中确定一个从节点作为主节点

一些实施方式中,若在第四预设时段内,未接收到出块信息,则表明主节点未能发出出块信息,主节点出错。此时,可以从多个从节点中重新确定一个主节点。

参考图8,图8示出了一种利用pbft进行共识时的信令图。其中,多级时间配置为{5、10}。

在图8中,主节点故障,导致无法发出出块信息,此时包括以下步骤:

(1)在共识确认阶段,主节点收集投票结果,确认区块出块。

(2)从节点开启计时模块,计时模块包含两个计时器,第一个计时器设置为5s超时,第二个计时器设置为10s超时。

(3)从节点在第一个计时器5s内,由于主节点故障将不会出块;超时后,进入下一个阈值进行判断。

(4)从节点在第二个计时器10s内,由于主节点故障,依然不会收到区块;超时后,从节点将所有计时器停止,并触发最终的超时信号。

(5)系统调用viewchange方法,切换主节点。

(6)由于全网多数节点都会切换主节点,所以必然会产生新的主节点,最后由新的主节点对客户端进行响应,客户端重发交易。

还有一种实施方式中,若从节点发生故障,则处理步骤包括。

(1)在共识确认阶段,主节点收集投票结果,确认区块出块。

(2)当前从节点开启计时模块,包含两个计时器,第一个计时器设置为5s超时,第二个计时器设置为10s超时。

(3)当前从节点在第一个计时器5s内,由于故障不会收到区块;超时后,进入下一个阀值进行判断。

(4)当前从节点在第二个计时器10s内,由于故障仍然不会收到区块;仍然超时,即全部计时器计时完成。

(5)当前从节点调用viewchange方法,切换主节点。

(6)由于全网其他节点正常工作,不会进行主节点切换,导致本节点切换主节点将失败,即可确定是当前节点本身故障。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

对应于上文实施例所述的应用于主节点的基于区块链的共识方法,图9示出了本申请实施例提供的应用于主节点的基于区块链的共识装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。参照图9,该装置包括:

生成模块61,用于根据客户端发送的配置交易请求生成配置交易区块。

第一发送模块62,用于将配置交易区块发送给每个从节点。共识模块,用于若在第一预设时段内,接收到每个从节点返回的投票结果数量小于预设阈值,则继续接收每个从节点返回的投票结果,直到第二预设时段结束,其中,投票结果用于指示从节点接受配置交易区块中的配置交易请求。

共识模块63,还用于若在第二预设时段内,接收到每个从节点返回的投票结果数量大于或等于预设阈值,则向从节点发送出块信息。

响应模块64,用于响应客户端的配置交易请求,并在主节点上配置该配置交易。

对应于上文实施例所述的应用于主节点的基于区块链的共识方法,图10示出了本申请实施例提供的应用于从节点的基于区块链的共识装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。参照图10,该装置包括:

接收模块71,用于接收主节点发送的配置交易区块,配置交易区块是主节点根据客户端发送的配置交易请求生成的。

校验模块72,用于校验配置交易区块的合法性,若合法,则接受配置交易区块中的配置交易请求。

第二发送模块73,用于向主节点发送投票结果,投票结果用于指示从节点接受配置交易区块中的配置交易请求。

接收模块71,还用于若接收到主节点发送的出块信息,则在从节点上配置该配置交易。

一些实施方式中,接收模块71,还用于若在第三预设时段内,未接收到主节点发送的出块信息,则继续接收出块信息,直到第四预设时段结束。第二发送模块73,还用于若在第四预设时段内,未接收到出块信息,则向除当前从节点外的每个从节点发送主节点切换请求。

一些实施方式中,接收模块71,还用于接收主节点切换请求。参考图11,该装置还包括切换模块74,用于若接收到出块信息,则忽略主节点切换请求。切换模块74,还用于若在第四预设时段内,未接收到出块信息,则根据主节点切换请求在多个从节点中确定一个从节点作为主节点。

需要说明的是,上述模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本申请实施例提供了一种主节点设备,包括存储器、处理器、摄像头以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述应用于主节点设备的基于区块链的共识方法。

图12是本申请实施例提供的主节点设备的结构示意图。如图12所示,该主节点设备8包括:至少一个处理器81(图12中仅示出一个)处理器、存储器82以及存储在存储器82中并可在至少一个处理器81上运行的计算机程序83,处理器81执行计算机程序83时实现上述应用于主节点设备的基于主节点设备的考勤方法的步骤。

主节点设备8可以是服务器、台式电脑、移动终端等能够运行区块链客户端的设备。主节点设备8可包括,但不仅限于,处理器81、存储器82。本领域技术人员可以理解,图12仅仅是主节点设备8的举例,并不构成对主节点设备8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。

所称处理器81可以是中央处理单元(centralprocessingunit,cpu),该处理器81还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器82在一些实施例中可以是主节点设备8的内部存储单元,例如主节点设备8的硬盘或内存。存储器82在另一些实施例中也可以是主节点设备8的外部存储设备,例如主节点设备8上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器82还可以既包括主节点设备8的内部存储单元也包括外部存储设备。存储器82用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如计算机程序的程序代码等。所述存储器82还可以用于暂时地存储已经输出或者将要输出的数据。

图13是本申请实施例提供的从节点设备的结构示意图。如图13所示,该从节点设备9包括:至少一个处理器91(图13中仅示出一个)处理器、存储器92以及存储在存储器92中并可在至少一个处理器91上运行的计算机程序93,处理器91执行计算机程序93时实现上述应用于从节点设备的基于区块链的共识方法的步骤。

从节点设备9可以是塔式从节点设备、云端从节点设备、虚拟从节点设备等从节点设备。从节点设备9可包括,但不仅限于,处理器91、存储器92。本领域技术人员可以理解,图13仅仅是从节点设备9的举例,并不构成对从节点设备9的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。

所称处理器91可以是中央处理单元(centralprocessingunit,cpu),该处理器91还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器92在一些实施例中可以是从节点设备9的内部存储单元,例如从节点设备9的硬盘或内存。存储器92在另一些实施例中也可以是从节点设备9的外部存储设备,例如从节点设备9上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器92还可以既包括从节点设备9的内部存储单元也包括外部存储设备。存储器92用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如计算机程序的程序代码等。所述存储器92还可以用于暂时地存储已经输出或者将要输出的数据。

本申请一实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述应用于主节点的共识方法。

本申请另一实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述应用于从节点的共识方法。

本申请一实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述用于主节点的共识方法。

本申请另一实施例还提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述应用于从节点的共识方法。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到主节点或从节点的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的方法、装置、主节点和从节点的实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1