一种区块数据的处理方法、装置、计算设备和存储介质与流程

文档序号:15560231发布日期:2018-09-29 02:04阅读:156来源:国知局

本发明实施例涉及区块链技术领域,尤其涉及一种区块数据的处理方法、装置、计算设备和存储介质。



背景技术:

区块链是分布式数据存储、点对点传输、共识机制和加密算法等计算机技术的新型应用模式。

区块链技术的一个主要应用场景就是交易记账,主要解决的是交易的信任和安全问题,其中一个显著特点是分布式账本。具体是,在区块链系统中的记账节点,将一定时间内的交易请求或者一定数量的交易请求,进行处理后形成账本数据,将账本数据打包形成区块数据;记账节点将区块数据发送给区块链系统中的其他节点,其他节点同样进行账本数据处理过程,以验证处理结果是否与区块数据中的账本数据一致,若一致则认可该区块并存储,否则不认可该区块并丢弃。

不同于传统的中心化记账方案,区块链系统中没有任何一个节点可以单独记录账目,从而避免了单一记账人被控制或者被贿赂而记假账的可能性。但是,这种区块验证方式的验证处理过程较慢,使得确认当前区块生效的延时较长。



技术实现要素:

本发明实施例提供一种区块数据的处理方法、装置、计算设备和存储介质,减少了确认区块生效的时间,提高区块链的工作效率。

第一方面,本发明实施例提供了一种区块数据的处理方法,应用于区块链系统中的区块生成节点,包括:

对逻辑处理请求进行数据处理,形成事务数据,其中,所述事务数据用于添加至当前区块中;

在处理后续逻辑处理请求的过程中,将已处理完的事务数据在区块链系统中发送,以供区块记录节点根据接收到的事务数据进行事务数据验证;

完成当前区块生成操作时,将所述区块的区块信息在区块链系统中发送,以供区块记录节点根据接收到的所述区块信息进行区块验证。

第二方面,本发明实施例还提供了一种区块数据的处理方法,应用于区块链系统中的区块记录节点,包括:

接收区块生成节点逐一发送的事务数据,并对各事务数据进行验证处理;

接收区块生成节点发送的区块信息,并对区块信息进行验证处理,其中,所述事务数据归属于区块信息对应的当前区块;

根据所述事务数据的验证结果和所述区块信息的验证结果确认所述当前区块是否生效。

第三方面,本发明实施例还提供了一种区块数据的处理装置,配置于计算设备中,包括:

事务数据生成模块,用于对逻辑处理请求进行数据处理,其中,所述事务数据用于添加至当前区块中;

事务数据发送模块,用于在处理后续逻辑处理请求的过程中,将已处理完的事务数据在区块链系统中发送,以供区块记录节点根据接收到的事务数据进行事务数据验证;

区块信息发送模块,用于完成当前区块生成操作时,将所述区块的区块信息在区块链系统中发送,以供区块记录节点根据接收到的所述区块信息进行区块验证。

第四方面,本发明实施例还提供了一种区块数据的处理装置,配置于计算设备中,包括:

事务数据验证模块,用于接收区块生成节点逐一发送的事务数据,并对各事务数据进行验证处理;

区块信息验证模块,用于接收区块生成节点发送的区块信息,并对区块信息进行验证处理,其中,所述事务数据归属于区块信息对应的当前区块;

区块生效确认模块,用于根据所述事务数据的验证结果和所述区块信息的验证结果确认所述当前区块是否生效。

第五方面,本发明实施例还提供了一种计算设备,所述计算设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例中应用于区块链系统中的区块生成节点的所述的区块数据的处理方法。

第六方面,本发明实施例还提供了一种计算设备,所述计算设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例中所述的应用于区块链系统中的区块记录节点的区块数据的处理方法。

第七方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明第一方面所提供的应用于区块链系统中的区块生成节点的区块数据的处理方法。

第八方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明第二方面所提供的应用于区块链系统中的区块记录节点的区块数据的处理方法。

本发明实施例通过区块生成节点在处理后续逻辑处理请求的过程中,将已处理完的事务数据在区块链系统中发送,以供区块记录节点根据接收到的事务数据进行事务数据验证,实现了区块记录节点对区块的验证过程可以跟区块生成节点处理后续逻辑处理请求的过程同步进行。当其他节点接收到区块生成节点最后同步的区块信息时,对事务数据的验证也已经或接近完成了,可以继续进行区块信息的验证,根据区块信息的验证结果和事务数据的验证结果确定区块是否生效,从而节省了区块确认的时间。

附图说明

图1是本发明实施例一中的一种区块数据的处理方法的流程图。

图2是本发明实施例二中的一种区块数据的处理方法的流程图。

图3是本发明实施例三中的一种区块数据的处理方法的流程图。

图4是本发明实施例四中的一种区块数据的处理装置的结构示意图。

图5是本发明实施例五中的一种区块数据的处理装置的结构示意图。

图6是本发明实施例六中的一种计算设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

区块链的分布式处理过程,一般是由一个竞争获得区块生成权的节点进行事务(transaction)处理生成区块,而后提供给其他区块记录节点进行区块验证,而后共同认可该区块中的事务数据。鉴于区块链技术的一个常用场景是交易记账,所以区块生成节点又称为记账节点,区块记录节点又称为非记账节点,区块生成权相当于记账权限,事务数据相当于账单数据。本发明实施例将以账单数据的记账过程为例进行说明,但本领域技术人员可以理解,区块链处理的事务数据不限于是账单数据,也可以是其他需要经过区块链技术处理并存储的数据。

但是,区块记录节点的验证处理过程通常跟区块生成节点对事务数据的处理过程基本一致,所以需要与区块生成过程耗费同样的时间。即区块的确认时间,至少包括区块生成节点的区块生成时间与区块记录节点的验证时间的累加。在部分区块链技术中,某个区块验证通过后,并不会立即就认可该区块使事务数据生效,而是会等待后续几个区块完成后再认可,避免由于网络通讯故障或节点故障等很多原因导致当前区块的回滚,由此导致的区块生效时间就会更长。本发明实施例所提供的技术方案,针对这一问题,提出了流式事务数据处理的方案,能够优化区块确认速度,挺高区块链系统的工作效率。

实施例一

图1为本发明实施例一提供的一种区块数据的处理方法的流程图,本实施例可适用于区块数据的处理情况,该方法可以由区块数据的处理装置来执行,该装置可以由软件和/或硬件的方式实现,并可配置于区块链系统中的区块生成节点中,区块生成节点是区块链系统中当前承担区块生成功能的节点,可以是任意节点或有区块生成权限的节点。所述方法具体包括:

s110、对逻辑处理请求进行数据处理,形成事务数据,其中,所述事务数据用于添加至当前区块中。

其中,所述逻辑处理请求可以是用户终端发起用于完成一个或多个事务处理需求的请求。示例性的,所述逻辑处理请求可以是用户终端发起的用于数据交易的交易请求,如资产消费类型的请求或资产转移类型的请求等。具体的,比如用户终端中的应用程序如淘宝,微信、支付宝、银行客户端等应用或银行自助机等设备发起的数据交易。逻辑处理请求中的信息可以包括处理相应的事务所需要的原始数据。事务数据,可以是节点对逻辑处理请求携带的原始数据进行数据处理后的数据结果。以交易请求为例,交易请求中的信息可以包括相应的交易数据,交易数据可以是不同的形式的需要记录的数据,比如交易记录,转账记录等有价值的信息数据。相应的,事务数据即为与交易请求对应的账单数据,账单数据是记账节点通过对交易请求中携带的交易数据进行记账处理后形成的。示例性的,记账节点对交易请求进行记账处理,包括:对交易请求中的信息进行信息转换、格式调整、和/或代码运行等处理,最后形成账单数据。其中,账单数据包括原始交易数据和处理后新增加的数据。将原始交易数据和处理后新增加的数据均发送给其他节点后,可以避免在记账节点发送账单数据之前,一些非记账节点原来由于网络或其他故障等原因没有接收到原始的交易数据,不能进行账单数据的验证。

一般情况下,区块链中需要节点竞争记账权,比如每10分钟竞争一次,而后拥有记账权的节点,对这10分钟内产生的逻辑处理请求进行数据处理,比如交易请求进行记账处理。当节点基于共识机制争取到记账权时,区块链系统会将一定时间内的交易请求或者一定数量的交易请求,交付给当前具有记账权的节点,即记账节点进行处理。在其他场景下,区块生成节点可以通过其他共识机制获得生成区块的权力。

在开始生成区块时,区块生成节点创建当前区块,区块包括区块头和区块体两部分。其中,区块头中一般包括区块生成节点标识、区块创建时间、上一个区块的哈希值,本区块体的哈希值,身份识别验证信息以及时间戳等,本发明实施例对此并不限制。区块体存储着这个区块的详细数据,可以是交易信息,也可以是其他某种信息等。事务数据用于陆续添加至区块中。本发明实施例可适用于采用各种方式进行事务数据的生成过程。

可选的,区块头中除了包括块头基本信息,还可以包括梅克尔树的根。其中,梅克尔树的根是各事务数据的哈希值呈树形产生的,可以是在各事务数据添加完成后最终计算出来,并添加到区块头中的。区块体中可以包括梅克尔树。

s120、在处理后续逻辑处理请求的过程中,将已处理完的事务数据在区块链系统中发送,以供区块记录节点根据接收到的事务数据进行事务数据验证。

其中,区块生成节点一旦完成对某个或某些逻辑处理请求的数据处理,便将已经完成的事务数据在区块链系统中发送,比如通过广播发送,区块记录节点可以根据接收到的事务数据进行事务数据验证。示例性的,以交易请求为例,当记账节点处理完第一个交易请求,形成账单后,并在进行第二个交易请求的处理过程中,可以将第一个交易请求的账单数据广播发送。事务数据验证的具体方式不限,可以是区块记录节点对事务数据采用与区块生成节点同样的数据处理方式后得到的处理结果,将此处理结果与接收到的事务数据验证是否一致,以验证接收到的该事务数据是否正确。区块生成节点具体可以将已处理完的事务数据逐一、呈流式陆续传输给区块记录节点。

s130、完成当前区块生成操作时,将所述区块的区块信息在区块链系统中发送,以供区块记录节点根据接收到的所述区块信息进行区块验证。

区块验证可以是区块记录节点采用与区块生成节点同样的区块生成算法计算处理后得到的处理结果,将此处理结果与接收到的区块信息比较是否一致,以确认区块。由于事务数据已经提前进行了验证,所以对区块的验证可以仅对少量区块信息进行验证,而不必把区块中的事务数据逐一再验证。

本实施例的技术方案,随着区块生成节点对逻辑处理请求进行数据处理,形成事务数据,并添加至区块的过程,可以陆续将已处理的事务数据发送至其他节点,其他节点在当前区块还未形成之前已经可以同步开始验证事务数据。而现有技术中,区块的验证是在整个区块生成并传输给其他节点后才开始的,且需要对区块中的事务数据逐一验证。区块的确认至少包括了区块生成和区块验证两个时段之和,导致确认时间长。而本发明实施例中区块的验证过程可以跟区块生成节点处理后续逻辑处理请求的过程同步进行。当其他节点接收到区块生成节点最后同步的区块信息时,对事务数据的验证也已经完成或至少完成一部分了,可以继续进行区块信息的验证,根据区块信息的验证结果和事务数据的验证结果确定区块是否生效,从而节省了区块确认的时间。

在上述技术方案中,可选的是区块生成节点发送事务数据之前先通知区块记录节点区块生成处理开始,从而使得区块记录节点能够在接收到账单数据之后即启动验证。

具体是,所述将已处理完的事务数据在区块链系统中发送之前或发送第一个已处理完的事务数据之时,还包括:在区块链系统中发送区块生成起始消息。该区块生成起始消息优选是广播发送给其他节点。

其中,所述区块生成起始消息可以是消息体内容为空的消息,消息头中包括区块头信息或起始标志。该实现方式中,区块生成起始消息可以是区块头发送消息,此时区块体的数据尚未形成,所以区块体内容为空。

或,所述区块生成起始消息是第一个已处理完的事务数据消息,且所述事务数据消息中包括起始标志。即,在第一个已处理完的事务数据消息中增设节点之间约定好的起始标志,其他区块记录节点识别到该起始标志,就已知区块生成处理开始。以交易请求为例,可以是在第一个已处理完的账单数据消息中增设节点之间约定好的起始标志,其他区块记录节点识别到该起始标志,就已知记账处理开始。

其中,所述起始标志可以用于识别区块数据中的区块生成处理的起始点,可以包括区块生成节点的标识以及区块生成的起始的时间等。区块生成起始消息可以用于提示区块记录节点当前区块生成节点开始生成区块,并需要对随后接收到的事务数据和区块信息进行验证。

再或者,区块生成起始消息可以是任意能够通知其他节点区块生成开始的消息即可。

实施例二

图2是本发明实施例二提供的一种区块数据的处理方法的流程图,在上述实施例的基础上,可选的,所述完成当前区块生成操作时,将所述区块的区块信息在区块链系统中发送包括:在当前区块生成权限结束时,根据已处理完的事务数据生成梅克尔树,并将梅克尔树的根添加至区块头中;将所述区块头中的块头基本信息和梅克尔树的根作为区块信息在区块链系统中发送。如图2所示,该方法具体包括:

s210、对逻辑处理请求进行数据处理,形成事务数据,其中,所述事务数据用于添加至当前区块中。

s220、在处理后续逻辑处理请求的过程中,将已处理完的事务数据在区块链系统中发送,以供区块记录节点根据接收到的事务数据进行事务数据验证。

s230、在当前区块生成权限结束时,根据已处理完的事务数据生成梅克尔树,并将梅克尔树的根添加至区块头中;

一般情况下,由于共识机制或节点本身的计算能力条件等,每个节点拥有的区块生成权是设定在一段时间内的,或者设定的处理定量的逻辑处理请求的时间段内。当超出时间或是超出逻辑处理请求的处理数量后,当前节点的区块生成权便会结束。区块生成权限是当前区块生成节点拥有的权限,可以通过时间控制,也可以通过处理设定数量的逻辑处理请求来控制权限。

s240、将所述区块头中的块头基本信息和梅克尔树的根作为区块信息在区块链系统中发送。

块头基本信息如前所述,包括区块编号、区块生成节点标识等。在区块中的事务数据处理完成时,可以生成梅克尔树的根,添加至区块头中。梅克尔树的根可以直接作为区块生成的结束标志,通知区块记录节点,可以在结束消息中设置特定字段以表明该消息中发送的是梅克尔树的根。或者,可以额外增加结束标志,是区块链系统中各节点之间约定好的标志,例如是一段字符串。该段字符串可以是固定的,也可以是基于设定算法动态更新的,例如基于节点系统时间生成的,或者还可以是区块生成节点的身份验证标识,如密钥等。

区块信息优选是广播发送给其他节点。区块信息的发送相当于发送了区块生成结束消息。区块生成结束消息的发送,相当于通知区块记录节点根据接收到的所述区块信息进行区块验证。区块记录节点可以采用与区块生成节点同样的算法计算区块标识,与接收到的区块标识进行比较,以对区块进行验证。

或者,区块生成节点还可以进一步根据块头基本信息、梅克尔树的根和结束标志,按照设定算法计算出区块标识(id),也作为区块信息发送。则区块生成节点可以根据上述信息,采用预设算法计算区块标识。示例性的,该区块标识(id)可以根据块头基本信息、梅克尔树的根和结束标志计算哈希值(hash)而获得。该区块标识与当前区块一一对应。

可选的,所述将已处理完的事务数据在区块链系统中发送包括:将已处理完的事务数据进行加密后在区块链系统中发送。

其中,利用密码技术对事务数据进行加密,得到密文,实现事务数据的隐蔽。数据加密之后,接收方需要对数据解密才能得到事务数据真正的内容。一般区块生成节点可以利用预设的公钥和非对称加密算法对事务数据进行加密,区块记录节点利用对应的私钥和非对称加密算法对密文进行解密,得到加密之前的事务数据。传输的过程中经过加密的数据即使被第三方窃取到也因为没有密钥不能解密,可以实现对数据的安全保护。

可选的,所述将已处理完的事务数据在区块链系统中发送包括:将已处理完的事务数据进行签名后在区块链系统中发送。其中,区块生成节点还可以利用预设的私钥对传输的事务数据和区块信息进行数字签名。这样,区块记录节点可以利用对应的公钥先对签名进行验证,即验签。如果验签通过,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性,也可以确认发送数据的区块生成节点的身份。同时借助分布式系统各节点的工作量证明等共识算法形成的强大算力来抵御外部攻击、保证区块链数据不可篡改和不可伪造,因而具有较高的安全性。

本实施例的技术方案,在发送区块信息时,可以发送区块标识或梅克尔树的根等少量信息即完成区块生成结束的通知,以及区块验证。

实施例三

图3为本发明实施例三提供的一种区块数据的处理方法的流程图,本实施例可适用于区块数据的处理情况,该方法可以由区块数据的处理装置来执行,该装置可以由软件和/或硬件的方式实现,并可配置于区块链系统中的区块记录节点。本实施例涉及到的一些参数及解释可以参见上述实施例,此处不在赘述。如图3所示,所述方法具体包括:

s310、接收区块生成节点逐一发送的事务数据,并对各事务数据进行验证处理。

其中,区块记录节点可以对事务数据中的原始数据进行与区块生成节点同样的数据处理,得到处理结果,并比较此处理结果与接收到的来自区块生成节点的事务数据是否一致。

可选的,区块记录节点对接收到的各事务数据进行验证处理之前,需要验证当前区块生成节点是否拥有区块生成权,如果有区块生成权,则可以继续对各事务数据进行验证处理;如果没有区块生成权,则可以直接拒绝对接收到的事务数据的验证,并丢弃接收到的事务数据。

s320、接收区块生成节点发送的区块信息,并对区块信息进行验证处理,其中,所述事务数据归属于区块信息对应的当前区块。

其中,区块记录节点可以根据事务数据,采用与区块生成节点相同的算法生成区块信息,从而与接收到的区块信息进行比较验证。

s330、根据所述事务数据的验证结果和所述区块信息的验证结果确认所述当前区块是否生效。

具体的,各所述事务数据的验证结果和所述区块信息的验证结果一般都为一致或不一致。如果所述事务数据的验证结果和所述区块信息的验证结果都为一致,则可以确认所述当前区块生效。

可选的,所述接收区块生成节点逐一发送的事务数据,并对各事务数据进行验证处理包括:

接收区块生成节点逐一发送的事务数据;

根据预设的处理顺序规则对所述事务数据进行验证;

其中,所述处理顺序规则为逻辑处理请求发生顺序。

其中,所述处理顺序规则为逻辑处理请求发生顺序,逻辑处理请求的处理顺序或逻辑处理请求发起的时间。示例性的,逻辑处理请求处理顺序可以为区块生成节点对事务数据处理的顺序,可以与区块生成节点发送事务数据的顺序一致。区块记录节点可以根据接收到的各事务数据的连续性标识或时间来确定顺序。具体的,区块记录节点可以根据接收到的各事务数据的连续性标识或时间查询逻辑处理请求的处理顺序,同时可以将当前已完成验证的事务数据的下一个的事务数据作为验证目标,进行验证。以交易请求为例,交易请求处理顺序可以为交易发生的顺序,可以是记账节点对账单数据处理的顺序,可以与记账节点发送账单数据的顺序一致。具体的,非记账节点可以根据接收到的各账单数据的连续性标识或时间查询交易处理顺序,同时可以将当前已完成验证的账单数据的下一个的账单数据作为验证目标,进行验证。

受限于网络的传输性能,若区块记录节点接收到的事务数据顺序与逻辑处理请求发生顺序不一致,则可以采用滑动时间窗技术。具体是:区块记录节点接收并缓存一个或多个事务数据,缓存的数量由滑动时间窗限定;而后从已缓存的事务数据中按照逻辑处理请求发生顺序选择性进行处理。滑动时间窗的大小可以根据事务数据的接收和处理情况进行动态调整。

可选的,所述对各事务数据进行验证处理之前,还包括:

接收区块生成节点发送的区块生成起始消息;其中,

所述区块生成起始消息是消息体内容为空的消息,消息头中包括区块头信息或起始标志;或,

所述区块生成起始消息是第一个已处理完的事务数据消息,且所述事务数据消息中包括起始标志。

如前所述,起始标志是区块链系统中节点约定的标志,可以是字符串或代码段,可以是静态的也可以是动态变化的。

可选的,所述接收区块生成节点发送的区块信息,并对区块信息进行验证处理包括:

接收区块生成节点发送的区块头中的块头基本信息和梅克尔树的根;

根据各所述事务数据计算梅克尔树的根;

对所述块头基本信息和梅克尔树的根进行验证处理。

其中,区块记录节点可以采用与区块生成节点相同的算法,依据本地的事务数据计算梅克尔树的根,从而进行验证。

此外,如前所述,还可以进一步验证区块标识,将按照相同算法计算得到的区块标识与接收到的区块标识进行比较,以验证区块信息。示例性的,如果区块生成节点是根据块头基本信息、梅克尔树的根和结束标志利用hash算法得hash值作为区块id,则区块记录节点也可以计算区块id,利用区块id进行比较,由于hash值与块头基本信息、梅克尔树的根和结束标志等信息相比而言,hash值更简短,可以更快速准确的确认区块信息是否一致,同时hash值可以对信息进行标识和隐匿,避免非法节点的读取。

可选的,所述对各事务数据进行验证处理之后,还包括:

若事务数据验证结果为无效,则停止同步存储后续接收到的事务数据,确定当前区块的验证结果为失效。

具体的,可以是区块记录节点对接收到的事务数据中的原始数据进行与区块生成节点同样的数据处理之后,如果得到的处理结果与接收到的事务数据不一致,则可以视为事务数据验证结果为无效,则后续区块显然也无法确认,此时可直接停止同步存储后续接收到的事务数据,同时确认当前区块是无效的。能够避免发生后续的数据处理。

本实施例的技术方案,通过接收区块生成节点逐一发送的事务数据,并对各事务数据进行验证处理,不需要等待区块生成节点对所有待处理的逻辑处理请求处理完成生成区块后才可以进行区块的验证,而是随着区块生成节点对逻辑处理请求进行数据处理,形成事务数据,并添加至区块的过程中,可以陆续对已处理的事务数据进行验证。即区块的验证过程可以跟区块生成节点处理后续逻辑处理请求的过程同步进行。当其他节点接收到区块生成节点最后同步的区块信息时,对事务数据的验证也已经完成了。可以继续进行区块信息的验证,根据区块信息的验证结果和事务数据的验证结果确定区块是否生效,从而节省了区块确认的时间,提供区块链的工作效率。

实施例四

图4所示为本发明实施例四提供的一种区块数据的处理装置的结构示意图,本实施例可适用于区块数据的处理情况,该区块数据的处理装置可配置于计算设备中,如图4所示,该装置具体包括:

事务数据生成模块410,用于对逻辑处理请求进行数据处理,形成事务数据,其中,所述事务数据用于添加至当前区块中;

事务数据发送模块420,用于在处理后续逻辑处理请求的过程中,将已处理完的事务数据在区块链系统中发送,以供区块记录节点根据接收到的事务数据进行事务数据验证;

区块信息发送模块430,用于完成当前区块生成操作时,将所述区块的区块信息在区块链系统中发送,以供区块记录节点根据接收到的所述区块信息进行区块验证。

可选的,所述装置还包括起始信息发送模块,用于在所述将已处理完的事务数据在区块链系统中发送之前或发送第一个已处理完的事务数据之时,在区块链系统中发送区块生成起始消息;其中,所述区块生成起始消息是消息体内容为空的消息,消息头中包括区块头信息或起始标志;或,

所述区块生成起始消息是第一个已处理完的事务数据消息,且所述事务数据消息中包括起始标志。

可选的,所述区块信息发送模块430包括:

区块头信息添加单元,用于在当前区块生成权限结束时,根据已处理完的事务数据生成梅克尔树,并将梅克尔树的根添加至区块头中;

结束消息发送单元,用于将所述区块头中的块头基本信息和梅克尔树的根作为区块信息在区块链系统中发送。

可选的,所述事务数据发送模块420包括数据加密单元,用于将已处理完的事务数据进行加密后在区块链系统中发送。

通过本发明实施例四的一种区块数据的处理装置,解决了区块链系统中确认区块生效的时间过长的问题,缩短了区块确认生效的时间,提高了区块链的工作效率。

本发明实施例所提供的区块数据的处理装置,可执行本发明任意实施例所提供的应用于区块链系统中的区块生成节点的区块数据的处理方法,具备执行方法相应的功能模块和有益效果。

实施例五

图5为本发明实施例五提供的区块数据的处理装置的结构示意图,本实施例可适用于区块数据的处理情况,该区块数据的处理装置可配置于计算设备中,如图5所示,该装置具体包括:

事务数据验证模块510,用于接收区块生成节点逐一发送的事务数据,并对各事务数据进行验证处理;

区块信息验证模块520,用于接收区块生成节点发送的区块信息,并对区块信息进行验证处理,其中,所述事务数据归属于区块信息对应的当前区块;

区块生效确认模块530,用于根据所述事务数据的验证结果和所述区块信息的验证结果确认所述当前区块是否生效。

可选的,所述事务数据验证模块510包括:

事务数据接收单元,用于接收区块生成节点逐一发送的事务数据;

事务数据验证单元,用于根据预设的处理顺序规则对所述事务数据进行验证;

其中,所述处理顺序规则为逻辑处理请求发生顺序。

可选的,所述装置还包括:起始信息接收模块,用于对各事务数据进行验证处理之前,接收区块生成节点发送的区块生成起始消息;

其中,所述区块生成起始消息是消息体内容为空的消息,消息头中包括区块头信息或起始标志;或,

所述区块生成起始消息是第一个已处理完的事务数据消息,且所述事务数据消息中包括起始标志。

可选的,所述区块信息验证模块520包括:

区块信息接收单元,用于接收区块生成节点发送的区块头中的块头基本信息和梅克尔树的根;

梅克尔树的根的计算单元,用于根据各所述事务数据计算梅克尔树的根;

区块标识验证单元,用于对所述块头基本信息和梅克尔树的根进行验证处理。

可选的,所述事务数据验证模块510具体用于,在所述对各事务数据进行验证处理之后,若事务数据验证结果为无效,则停止同步存储后续接收到的事务数据,确定当前区块的验证结果为失效。

通过本发明实施例五的一种区块数据的处理装置,解决了区块链系统中确认区块生效的时间过长的问题,缩短了区块确认生效的时间,提高了区块链的工作效率。

本发明实施例所提供的区块数据的处理装置,可执行本发明任意实施例所提供的应用于区块链系统中的区块记录节点的区块数据的处理方法,具备执行方法相应的功能模块和有益效果。

实施例六

参见图6,本实施例提供了一种计算设备600,其包括:一个或多个处理器620;存储装置610,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器620执行,使得所述一个或多个处理器620实现本发明实施例所提供的应用于区块链系统中的区块生成节点的区块数据的处理方法。该计算设备600可以作为区块链系统中的区块生成节点。该方法可包括:

对逻辑处理请求进行数据处理,形成事务数据,其中,所述事务数据用于添加至当前区块中;

在处理后续逻辑处理请求的过程中,将已处理完的事务数据在区块链系统中发送,以供区块记录节点根据接收到的事务数据进行事务数据验证;

完成当前区块生成操作时,将所述区块的区块信息在区块链系统中发送,以供区块记录节点根据接收到的所述区块信息进行区块验证。

当然,本领域技术人员可以理解,处理器620还可以实现本发明任意实施例所提供的应用于区块链系统中的区块生成节点的区块数据的处理方法的技术方案。

图6显示的计算设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图6所示,计算设备600以通用计算设备的形式表现。计算设备600的组件可以包括但不限于:一个或者多个处理器620,存储装置610,连接不同系统组件(包括存储装置610和处理器620)的总线650。

总线650表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。

计算设备600典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算设备600访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储装置610可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)611和/或高速缓存存储器612。计算设备600可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统613可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线650相连。存储装置610可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块615的程序/实用工具614,可以存储在例如存储装置610中,这样的程序模块615包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块615通常执行本发明所描述的任意实施例中的功能和/或方法。

计算设备600也可以与一个或多个外部设备660(例如键盘、指向设备、显示器670等)通信,还可与一个或者多个使得用户能与该计算设备600交互的设备通信,和/或与使得该计算设备600能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口630进行。并且,计算设备600还可以通过网络适配器640与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图6所示,网络适配器640通过总线650与计算设备600的其它模块通信。应当明白,尽管图中未示出,可以结合计算设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

处理器620通过运行存储在存储装置610中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的应用于区块链系统中的监督节点的区块链数据的处理方法。

实施例七

本发明实施例七还提供了另一种计算设备,结构可参考实施例六的内容。该计算设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所提供的应用于区块链系统中的区块记录节点的区块数据的处理方法。该计算设备可作为区块链系统中的区块记录节点。该方法主要包括:

接收区块生成节点逐一发送的事务数据,并对各事务数据进行验证处理;

接收区块生成节点发送的区块信息,并对区块信息进行验证处理,其中,所述事务数据归属于区块信息对应的当前区块;

根据所述事务数据的验证结果和所述区块信息的验证结果确认所述当前区块是否生效。

当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供的应用于区块链系统中的区块记录节点的区块数据的处理方法的技术方案。该计算设备的硬件结构以及功能可参见实施例六的内容解释,此处不再赘述。

实施例八

本实施例提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种应用于区块链系统中的区块生成节点的区块数据的处理方法,该方法包括:

对逻辑处理请求进行数据处理,形成事务数据,其中,所述事务数据用于添加至当前区块中;

在处理后续逻辑处理请求的过程中,将已处理完的事务数据在区块链系统中发送,以供区块记录节点根据接收到的事务数据进行事务数据验证;

完成当前区块生成操作时,将所述区块的区块信息在区块链系统中发送,以供区块记录节点根据接收到的所述区块信息进行区块验证。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的应用于区块链系统中的区块生成节点的区块数据的处理方法中的相关操作。

本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

本发明实施例还提供了另一种计算机可读存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种应用于区块链系统中的区块记录节点的区块数据的处理方法,该方法包括:

接收区块生成节点逐一发送的事务数据,并对各事务数据进行验证处理;

接收区块生成节点发送的区块信息,并对区块信息进行验证处理,其中,所述事务数据归属于区块信息对应的当前区块;

根据所述事务数据的验证结果和所述区块信息的验证结果确认所述当前区块是否生效。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的应用于区块链系统中的区块记录节点的区块数据的处理方法中的相关操作。对存储介质的介绍可参见实施例八中的内容解释。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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