区块链数据的并行处理方法、装置、设备和存储介质与流程

文档序号:15448711发布日期:2018-09-14 23:41阅读:170来源:国知局

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



背景技术:

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

区块链主要解决的交易的信任和安全问题,所以其中一个显著特点是分布式账本。具体是,在区块链系统中的节点,将一定时间内的交易请求或者一定数量的交易请求,交付给当前具有记账权的节点;记账节点对交易请求进行诸如信息转换、格式调整、或代码运行等处理,形成账本,也就是区块数据;记账节点将区块数据发送给区块链系统中的其他节点,其他节点进行同样的处理过程,以验证处理结果得到的区块数据是否与区块数据一致,若一致则认可该区块数据并存储,否则不认可该区块数据并丢弃。

现有技术中,节点对大量交易请求进行处理时,会存在部分交易请求之间存在依赖关系的情况,若存在依赖关系的交易请求被同时处理或处理顺序错误,则可能导致最终产生的区块数据错误。

现有技术为了避免因依赖关系而导致的处理中止或错误,可采用按交易信息的接收顺序、时间顺序等对交易信息逐一进行串行处理。显然,该方案串行处理所需时间长,若节点具有多核处理器时也无法发挥出处理能力的优势,会浪费资源。若采用并行处理方式,则难以解决交易请求的依赖问题。



技术实现要素:

本发明实施例提供一种区块链数据的并行处理方法、装置、设备和存储介质,以实现对区块链数据的并行处理,且兼顾交易请求的依赖关系。

第一方面,本发明实施例提供了一种区块链数据的并行处理方法,该方法包括:

对待处理交易请求进行依赖关系识别,以构建包括至少一颗依赖树的有向无环图,其中,所述依赖树有向无环图用于记录各交易请求之间的依赖关系;

根据所述有向无环图,对无依赖关系的至少两个交易请求进行并行处理。

第二方面,本发明实施例还提供了一种区块链数据的并行处理装置,该装置包括:

构建模块,用于对待处理交易请求进行依赖关系识别,以构建包括至少一颗依赖树的有向无环图,其中,所述依赖树图用于记录各交易请求之间的依赖关系;

并行处理模块,用于根据所述有向无环图,对无依赖关系的至少两个交易请求进行并行处理。

第三方面,本发明实施例还提供了一种设备,该设备包括:

一个或多个处理器;

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

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现第一方面中任意所述的区块链数据的并行处理方法。

第四方面,本发明实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任意所述的区块链数据的并行处理方法。

本发明实施例提供的区块链数据的并行处理方法、装置、设备及存储介质,依据待处理交易请求之间的依赖关系建立包含至少一颗依赖树的有向无环图;根据该有向无环图可以对交易请求进行并行处理,避免了现有的技术中避免因依赖关系而导致的处理中止或错误,实现了对区块链数据的并行处理,且兼顾交易请求的依赖关系。

附图说明

图1a是本发明实施例一中提供的一种区块链数据的并行处理方法的流程图;

图1b和1c为本发明实施例一中涉及的两种依赖树的示意图;

图2是本发明实施例二中提供的一种区块链数据的并行处理方法的流程图;

图3是本发明实施例三中提供的一种区块链数据的并行处理方法的流程图;

图4是本发明实施例四中提供的一种区块链数据的并行处理方法的流程图;

图5是本发明实施例五中提供的一种区块链数据的并行处理方法的流程图;

图6是本发明实施例六中提供的一种区块链数据的并行处理方法的流程图

图7是本发明实施例七中提供的一种区块链数据的并行处理装置的结构示意图;

图8是本发明实施例八中提供的一种设备的结构示意图。

具体实施方式

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

实施例一

图1a为本发明实施例一提供的一种区块链数据的并行处理方法的流程图,图1b和1c为本发明实施例一中所涉及的两种依赖树的示意图。本实施例基于有向无环图(directedacyclicgraph,dag)来实现分支预测,进而能够实现并行处理交易请求。该方法可以由本发明实施例提供的区块链数据的并行处理装置来执行,该装置可采用软件和/或硬件的方式实现。参见图1a,该方法具体包括:

s110,对待处理交易请求进行依赖关系识别,以构建包括至少一颗依赖树的有向无环图,其中,依赖树用于记录各交易请求之间的依赖关系。

其中,待处理的交易请求为区块链系统中的一段时间内待处理的交易请求;依赖关系是指交易请求之间相互依赖,不能同时进行处理的关系,实际上也可以称为冲突关系。

有向无环图是指任意一条边有方向且不存在环路的图;依赖树是指各交易请求依据依赖关系所组成的具有一定方向的树,所有待处理交易请求可构建一个有向无环图,有向无环图中包括一个或多个依赖树,各依赖树之间没有依赖关系。具体的,如图1b和1c所示,1b对应的树1和1c对应的树2是两颗独立的依赖树,两者共同组成了有向无环图;图中每个点即为一个交易请求,交易请求之间有方向的箭头表示交易请求之间的依赖关系。例如,树1中的,点b和点a之间存在依赖关系,而点b和点c之间没有连接表示无依赖关系。

目前,按照交易请求的数据展现方式和记账处理方式,可分为比特币形式或以太坊方式。可以通过对交易请求数据本身的分析来确定交易请求之间的依赖关系,也可以识别或估测交易请求的特点,从而估测交易请求之间的依赖性关系。本发明实施例对确定交易请求之间依赖关系的具体方式不限,只要能构建表征交易请求依赖关系的有向无环图即可。

以比特币形式为例进行说明。比特币形式以其独特的字段记录形式,以比特币的流入和流出体现每笔交易请求,字段内容的可读性比较强,可根据每笔交易请求的数据字段和内容识别出各交易请求之间的依赖关系,例如通过流出账户字段来识别。

s120,根据有向无环图,对无依赖关系的至少两个交易请求进行并行处理。

其中,无依赖关系与有依赖关系相对,是指交易请求之间相互独立,能同时进行处理的。

在依据待处理交易请求的依赖关系建立包含至少一颗依赖树的有向无环图后,从中获取无依赖关系的交易请求的方式有多种。依赖树彼此之间是独立的,即一个依赖树中所有交易请求与另一个依赖树中所有交易请求之间是无依赖关系的。多个依赖树中位于同一树中层级的交易请求之间也是无依赖关系的,可利用这些特性进行交易请求的并行处理。示例性的,可将依赖树作为一个单位进行交易请求的并行处理,直至所有依赖树处理完成为止,具体的,将多个依赖树一对一的分配给该区块链数据并行处理装置或设备中可进行交易处理的每个装置,如处理器,然后控制每个可进行交易处理的装置按照分配的依赖树依据一定的处理流程执行并行处理;或者,也可以是将多个依赖树中处于相同层级的交易请求进行并行处理,直至所有层级处理完成为止。

本发明实施例提供的区块链数据的并行处理方法,依据待处理交易请求之间的依赖关系建立包含至少一颗依赖树的有向无环图;根据该有向无环图按照一定交易处理顺序进行交易请求的并行处理,避免了现有技术中因依赖关系而导致的处理中止或错误,实现了对区块链数据的并行处理,且兼顾交易请求的依赖关系。

实施例二

图2为本发明实施例二提供的一种区块链数据的并行处理方法流程图。该区块链数据的并行处理方法以上述实施例为基础,进一步的对待处理交易请求进行依赖关系识别,以构建包括至少一颗依赖树的有向无环图进行解释说明。具体的,参见图2该方法可以包括:

s210,从各待处理交易请求中识别设定字段内容。

具体的,交易请求的形式不同对应的设定字段内容可以不同;只要字段内容的可读性较强、便于快速识别的交易请求形式均可。

以比特币形式为例进行说明。其中,比特币形式,即以比特币的流入和流出来体现每笔交易请求;而每笔交易请求记录在比特币的字段内容中,比特币的字段内容可以包括流入账户地址、比特币数额、流出账户地址及交易时间;而设定字段内容可以是比特币的字段内容中的任意一个,优选的,设定字段内容为流出账户地址。

s220,根据各设定字段内容确定交易请求之间的依赖关系,以构建包括至少一颗依赖树的有向无环图。

具体的,当获取到各待处理交易请求对应的各设定字段内容后,为了便于快速确定各交易请求之间的依赖关系,可根据各设定字段内容建立一个对应表,依据该对应表来确定各交易请求之间的依赖关系。

示例性的,设定字段内容可以是流出账户地址。相应地,根据各设定字段内容确定交易请求之间的依赖关系,以构建包括至少一颗依赖树的有向无环图可以包括:将流出账户地址相同的至少两个交易请求确定为存在依赖关系;将存在依赖关系的各交易请求,按设定顺序添加至有向无环图中,作为一个分支。

示例性的,可以依据交易请求接收的时间来确定有依赖关系的交易请求之间的依赖顺序。理论上,因流出账户地址相同而存在依赖关系的交易请求只要能够串行执行即可。

具体的,若有3个交易请求a、b和c的流出账户地址相同,则证明这3个交易请求之间是彼此相互依赖的即存在依赖关系,此时,可依据这3个交易请求的接收时间或交易时间将三者进行串行连接即可。以图1b和1c所示的组成的包含两个依赖树的有向无环图为例,树1中的点a、b和d具有相同的流出账户地址,且交易请求接收时间先后顺序分别是a>b>d,所以建立树1所示的依赖树的一个分支。

示例性的,当某个交易请求的流出账户地址有多个时,则可能会存在多重依赖关系,即该交易请求与多个交易请求之间都有依赖关系。具体的,如图1c中的树2,点l有两个流出账户地址,分别为与点k相同的流出账户地址和与点j相同的流出账户地址,所以点l存在多重依赖关系。

s230,根据有向无环图,对无依赖关系的至少两个交易请求进行并行处理。

本发明实施例提供的区块链数据的并行处理方法,对于比特币形式的交易请求通过扫描交易请求中的设定字段内容,从而确定各交易请求之间的依赖关系,并依据该依赖关系即可建立包括至少一颗依赖树的有向无环图;根据该有向无环图按照一定交易处理顺序进行交易请求的并行处理,即可实现对区块链数据的并行处理,且兼顾交易请求的依赖关系。

实施例三

图3为本发明实施例三提供的一种区块链数据的并行处理方法流程图,该区块链数据的并行处理方法以上述实施例为基础,提供了一种对根据有向无环图,对无依赖关系的至少两个交易请求进行并行处理的方法。具体的,参见图3该方法可以包括:

s310,对待处理交易请求进行依赖关系识别,以构建包括至少一颗依赖树的有向无环图,其中,依赖树用于记录各交易请求之间的依赖关系。

s320,从各依赖树中,按照依赖度从小到大的顺序,查找依赖度相同的交易请求进行并行处理,直到依赖度最大的交易请求处理完毕。

其中,依赖度是根据交易请求所依赖的层级进行确定的。可选的,当一个交易请求的依赖度不唯一时,将依赖度最大的值作为该交易请求的依赖度。例如,图1c中树2,由于点g和点k不依赖其他交易请求,所以依赖度是0,而点i和点h均依赖点g,依赖度是1;点j依赖点h,而点h又依赖点g,可见点j有两个层级的依赖关系,所以点j的依赖度是2;对应的,由于点l即依赖点j,又依赖点k,其依赖度可以是3,也可以是1,因此可将最大值3作为点l的依赖度。

对应的,可知,图1b中树1中的点a、点b、点c、点d、点e及点f的依赖度分别为0、1、1、2、2和3。

需要说明的是,本发明实施例中的区块链数据并行处理装置或设备中配置有多个处理器,可用于执行交易请求的并行处理。本实施例为了充分利用多个处理器的进行数据处理的能力,避免资源浪费,按照依赖度从小到大的顺序,查找依赖度相同的交易请求,让每个处理器提取一个交易请求进行处理;在当前依赖度对应的所有交易请求处理完毕后,查找当前依赖度加1后得到的交易请求进行处理,直至该区块链中所有的交易请求处理全部处理完毕为止。每个依赖树中的交易请求可选的是作为一个有顺序的待处理队列,以供按顺序将交易请求调度给处理器进行处理。

以图1b和1c所示组成的包含两个依赖树的有向无环图为例,按照依赖度从小到大的顺序进行排列,可知,依赖度最小为0,最大为3。整个并行处理操作过程如下:先获取依赖度为0的交易请求点a、点g和点k,并同时进行处理;当所有依赖度为0的交易请求处理完毕后,查找当前依赖度加1的交易请求即依赖度为1的所有交易请求并进行并行处理;依照上述流程,逐步对依赖度加1后得到的交易请求进行并行处理,直到依赖度最大即3的交易请求处理完毕后结束此次交易请求处理操作。

本发明实施例提供的区块链数据的并行处理方法,依据待处理交易请求之间的依赖关系建立包含至少一颗依赖树的有向无环图,并依据该有向无环图中各依赖树的依赖度,按照依赖度从小到大的顺序,查找依赖度相同的交易请求进行并行处理,即以依赖度为单位执行交易请求,直至该区块链中所有的交易请求全部处理完毕为止,实现了对区块链数据的并行处理,且兼顾交易请求的依赖关系。同时,也充分利用了多处理器进行数据处理的能力,避免资源浪费,提升了处理效率。

实施例四

图4为本发明实施例四提供的一种区块链数据的并行处理方法流程图,该区块链数据的并行处理方法以上述本发明实施例为基础,又提供了一种对根据有向无环图,对无依赖关系的至少两个交易请求进行并行处理的方法。具体的,参见图4,该方法可以包括:

s410,对待处理交易请求进行依赖关系识别,以构建包括至少一颗依赖树的有向无环图,其中,依赖树用于记录各交易请求之间的依赖关系。

s420,为每个可用处理装置分配一个依赖树。

其中,可用处理装置为可进行交易请求处理的装置,如处理器,配置于本发明实施例中的区块链数据并行处理装置或设备中。

示例性的,可依据可用处理装置的个数、处理性能以及有向无环图中依赖树的个数动态的为每个可用处理器分配依赖树。如,当依赖树的个数大于可用处理装置的个数时,可先为每个可用处理装置分配一个依赖树,然后依据各可用处理器进行交易处理的效率进行随后的分配。

s430,控制可用处理装置,按照分配的依赖树中的依赖度顺序处理交易请求。

该区块链数据并行处理装置或设备中设置有控制模块,可以是单片机、电容等多个芯片集成的电路,可用于监测整个交易处理过程,以及每个可用处理装置的处理进程等。

当为每个可用处理装置分配了依赖树后,控制模块就会同时控制每个可用处理装置进行交易请求的处理。以图1b和1c所示组成的包含两个依赖树的有向无环图为例,可以将两个依赖树分配给不同的处理器处理。实际区块链系统中,依赖树的数量一般会很多。当某个处理器处理完当前依赖树中的交易请求后,再分配新的依赖树进行处理。

此外,需要说明的是,如果树1在处理过程中被中止或出现错误,也不会影响到树2的交易处理。

s440,如果可用处理装置所分配的依赖树中的交易请求处理完毕,则查找未分配的依赖树继续处理,直至所有依赖树处理完毕。

若有向无环图中包含的依赖树的个数大于可用处理装置,可依据可用处理装置进行交易处理的效率分配剩余依赖树,直至所有依赖处理完成。

本发明实施例提供的区块链数据的并行处理方法,依据待处理交易请求之间的依赖关系建立包含至少一颗依赖树的有向无环图;为每个可用处理装置分配一个依赖树,控制各可用处理装置按照其分配到的依赖树中的依赖度顺序执行交易处理,即以依赖树为单位进行逐个分配直至该区块链中所有的依赖树全部处理完毕为止,实现了对区块链数据的并行处理,且兼顾交易请求的依赖关系。同时,也充分利用了多处理器进行数据处理的能力,避免资源浪费,提升了处理效率。

实施例五

图5为本发明实施例五提供的一种区块链数据的并行处理方法流程图,该区块链数据的并行处理方法以上述本发明实施例为基础,又提供了一种对根据有向无环图,对无依赖关系的至少两个交易请求进行并行处理的方法。具体的,参见图5,该方法可以包括:

s510,对待处理交易请求进行依赖关系识别,以构建包括至少一颗依赖树的有向无环图,其中,依赖树用于记录各交易请求之间的依赖关系。

s520,在每个依赖树中,按照交易请求的依赖关系查找无依赖的当前能处理的交易请求,进行并行处理,且在并行处理的过程中,同步执行当前能处理交易请求的查找操作。

本实施例的方案相当于根据当前处理状态中的交易请求,遍历有向无环图中所有无依赖关系的交易请求,进行并行处理。

具体的,以图1b和1c所示组成的包含两个依赖树的有向无环图为例,两个依赖树同时执行,若此时树1中正执行依赖度为1的交易请求,而树2已执行完依赖度为2的交易请求,由于树1和树2是两个独立的依赖树,所以当前能处理的交易请求可以是树2中依赖度为3对应的交易请求。此外为了提高处理速度,在进行并行处理的过程中,可同时进行当前能处理交易请求的查找操作,即查找与树2中依赖度为3对应的交易请求无依赖关系的交易请求,并作为当前能处理的交易请求,按照此流程并行进行处理,直至没有查找到当前能处理的交易请求为止,即可完成所有交易请求的处理。

随着交易请求陆续被处理完,可再返回至有向无环图中查看是否有新的可处理交易请求。

本发明实施例提供的区块链数据的并行处理方法,依据待处理交易请求之间的依赖关系建立包含至少一颗依赖树的有向无环图;依据每个依赖树中的依赖关系查找无依赖的当前能处理的交易请求进行并行处理,同时进行当前能处理交易请求的查找操作,直至没有查找到当前能处理的交易请求为止,实现了对区块链数据的并行处理,且兼顾交易请求的依赖关系。同时,也充分利用了多处理器进行数据处理的能力,避免资源浪费,提升了处理效率。

实施例六

图6为本发明实施例六提供的一种区块链数据的并行处理方法的流程图,该方法在上述实施例的基础上,对并行处理结果进行验证。具体的,参见图6,该方法可以包括:

s610,对待处理交易请求进行依赖关系识别,以构建包括至少一颗依赖树的有向无环图,其中,依赖树用于记录各交易请求之间的依赖关系。

s620,根据有向无环图,对无依赖关系的至少两个交易请求进行并行处理。

s630,若监测到数据处理错误,则对已处理的交易请求进行回滚处理。

其中,数据处理错误可以是由于对各交易请求之间的依赖关系识别错误所至,也可能是进行某一交易请求处理时,数据出现异常所至。回滚操作可以是全部交易请求完成重新执行,且串行处理,以避免依赖。也可以是局部回滚。

示例性的,若监测到数据处理错误,则对已处理的交易请求进行回滚处理可以包括:若监测到当前处理状态中的至少两个交易请求存在依赖关系,则将存在依赖关系的至少两个交易请求进行串行处理;对未处理状态的交易请求返回执行构建有向无环图的操作。

具体的,当监测到数据处理错误时,存在已完成处理的交易请求、正在进行处理的交易请求以及未进行处理的交易请求三个状态。对已经完成处理的交易请求可不做处理;若正在进行处理的至少两个交易请求存在依赖关系,则说明所建立的依赖树或有向无环图出错,或者调度出错,将本不该同时处理的交易请求同时处理了。此时,需将具有依赖关系的交易请求按照依赖关系和接收交易请求时间进行串行处理。以图1b和1c所示组成的包含两个依赖树的有向无环图为例,若当前处理状态中的两个交易请求b和c存在依赖关系,则可以依据交易时间或其他顺序,将点b和点c串行处理。交易请求的依赖关系可以包括直接依赖或间接依赖关系。若同时处理的交易请求a、b和c,若b依赖a,c依赖b,则c对a有间接依赖关系,都需要串行处理。而对于处于未处理状态的交易请求则返回执行构建有向无环图的操作,之后再按照交易流程执行并行处理。

此外,需要说明的是,本实施例中的步骤s620和步骤s630可同时执行,上述只是给出了一种情况。

本发明实施例提供的区块链数据的并行处理方法,依据待处理交易请求之间的依赖关系建立包含至少一颗依赖树的有向无环图;根据该有向无环图按照一定交易处理顺序进行交易处理同时之后,为了保障数据处理的正确性,对交易处理结果进行了验证。

实施例7

图7为本发明实施例七提供的一种区块链数据的并行处理装置的结构框图,该装置可执行本发明任意实施例所提供的区块链数据的并行处理方法,具备执行方法相应的功能模块和有益效果。如图7所示,该装置可以包括:

构建模块710,用于对待处理交易请求进行依赖关系识别,以构建包括至少一颗依赖树的有向无环图,其中,依赖树用于记录各交易请求之间的依赖关系;

并行处理模块720,用于根据有向无环图,对无依赖关系的至少两个交易请求进行并行处理。

本发明实施例提供的区块链数据的并行处理装置,依据待处理交易请求之间的依赖关系建立包含至少一颗依赖树的有向无环图;根据该有向无环图按照一定交易处理顺序进行交易请求的并行处理,避免了现有技术中因依赖关系而导致的处理中止或错误,实现了对区块链数据的并行处理,且兼顾交易请求的依赖关系。

示例性的,构建模块710包括:

字段内容识别单元,用于从各待处理交易请求中识别设定字段内容;

构建单元,根据各设定字段内容确定交易请求之间的依赖关系,以构建包括至少一颗依赖树的有向无环图。

可选的,设定字段内容为流出账户地址,相应的,构建单元具体用于:

将流出账户地址相同的至少两个交易请求确定为存在依赖关系;

将存在依赖关系的各交易请求,按设定顺序添加至有向无环图中,作为一个分支。

示例性的,并行处理模块720可以用于:

从各依赖树中,按照依赖度从小到大的顺序,查找依赖度相同的交易请求进行并行处理,直至依赖度最大的交易请求处理完毕。

可选的,并行处理模块720还可以用于:

为每个可用处理装置分配一个依赖树;

控制可用处理装置,按照分配的依赖树中的依赖度顺序处理交易请求;

如果可用处理装置所分配的依赖树中的交易请求处理完毕,则查找未分配的依赖树继续处理,直至所有有向无环图处理完毕。

可选的,并行处理模块720还可以用于:

在每个依赖树中,按照交易请求的依赖关系查找无依赖的当前能处理的交易请求,进行并行处理,并且在并行处理的过程中,同步执行当前能处理交易请求的查找操作。

示例性的,上述装置还可以包括:

回滚处理模块,用于若监测到数据处理错误,则对已处理的交易请求进行回滚处理。

可选的,回滚处理模块具体可用于:

若监测到当前处理状态中的至少两个交易请求存在依赖关系,则将存在依赖关系的至少两个交易请求进行串行处理;

对未处理状态的交易请求返回执行构建有向无环图的操作。

实施例八

图8为本发明实施例七提供的一种设备的结构示意图。8示出了适于用来实现本发明实施方式的示例性设备12的框图。图8显示的设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图8所示,该设备12以通用计算设备的形式表现,可以是区块链系统中的节点。该设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。

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

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

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

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

设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该设备交互的设备通信,和/或与使得该设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,设备12还可以通过网络适配器20与一个或者多个网络(例如局域网

(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与设备12的其它模块通信。应当明白,尽管图中未示出,可以结合设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的区块链数据的并行处理方法。

实施例九

本发明实施例九还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可实现上述实施例中任意的区块链数据的并行处理方法。

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

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

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

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

上述实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间的相同或相似的部分互相参见即可。

以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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