基于节点分片的事务数据处理方法、系统、设备和介质与流程

文档序号:24190508发布日期:2021-03-09 14:57阅读:102来源:国知局
基于节点分片的事务数据处理方法、系统、设备和介质与流程

1.本申请一般涉及区块链网络技术领域,具体涉及一种基于节点分片的事务数据处理方法、系统、设备和介质。


背景技术:

2.区块链网络是一种去中心化(即不依赖第三方)的分布式互联网数据存储系统,可以通过分布式节点进行事务数据的验证、传递和存储。
3.在区块链网络中,由于事务数据的处理过程需要每个节点参与,随着区块链网络中节点的不断增多,导致事务数据的吞吐量下降,事务数据的处理过程效率低下。
4.相关技术中,为了解决该问题,将区块链网络中的节点进行了分链处理,每个分链包括至少一个节点,每个分链可以并行处理事务数据,但是,由于每个分链是独立的平行链,需要增加跨分链通信机制,将该多个分链连接,增加了区块链网络的开发和维护难度,现有的区块链网络虽然具有较高的数据吞吐量,但是网络开发和维护难度大。


技术实现要素:

5.鉴于现有技术中的上述缺陷或不足,期望提供一种可以提高数据吞吐量并降低区块链网络的维护成本的基于节点分片的事务数据处理方法、系统、设备和介质。
6.第一方面,本申请提供了一种基于节点分片的事务数据处理方法,包括:
7.网关分片接收至少一个客户端发送的事务数据,事务数据包括账户地址;
8.网关分片按照预设周期向每个事务处理分片发送对应的事务数据包,事务数据包包括至少一个事务数据;
9.每个事务处理分片处理至少一个有效事务数据得到与事务处理分片对应的账户变量值集;
10.每个事务处理分片发送账户变量值集至委员会分片;
11.委员会分片基于有效账户变量值集更新委员会分片、网关分片和每个事务处理分片中与至少一个账户地址对应的账户数据;
12.第二方面,本申请提供了一种基于节点分片的事务数据处理装置,包括:
13.接收模块,被配置为网关分片接收至少一个客户端发送的事务数据,事务数据包括账户地址;
14.第一发送模块,被配置为网关分片按照预设周期向每个事务处理分片发送对应的事务数据包,事务数据包包括至少一个事务数据;
15.处理模块,被配置为每个事务处理分片处理至少一个有效事务数据得到与事务处理分片对应的账户变量值集;
16.第二发送模块,被配置为每个事务处理分片发送账户变量值集至委员会分片;
17.更新模块,被配置为委员会分片基于有效账户变量值集更新委员会分片、网关分片和每个事务处理分片中与至少一个账户地址对应的账户数据;
18.第三方面,本申请提供了一种计算机设备,计算机设备包括:
19.处理器;
20.用于存储处理器的可执行指令的存储器;
21.其中,处理器被配置为执行如第一方面的基于节点分片的事务数据处理方法;
22.第四方面,本申请提供了一种计算机可读介质,计算机可读介质中存储有计算机程序,当计算机程序被处理器执行时,实现如第一方面的基于节点分片的事务数据处理方法。
23.本申请的实施例提供的技术方案可以包括以下有益效果:
24.本申请实施例提供的基于节点分片的事务数据处理方法、系统、设备和介质,可以网关分片接收至少一个客户端发送的事务数据,事务数据包括账户地址;网关分片按照预设周期向每个事务处理分片发送对应的事务数据包;每个事务处理分片处理至少一个有效事务数据得到与事务处理分片对应的账户变量值集;每个事务处理分片发送账户变量值集至委员会分片;委员会分片基于有效账户变量值集更新委员会分片、网关分片和每个事务处理分片中与至少一个账户地址对应的账户数据。可以提高数据吞吐量,提高事务数据处理效率,系统开发难度小,维护成本低,可扩展性强。
附图说明
25.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
26.图1为本申请实施例提供的一种基于节点分片的事务数据处理系统的结构示意图;
27.图2为本申请实施例提供的一种基于节点分片的事务数据处理方法的流程示意图;
28.图3为本申请实施例提供的另一种基于节点分片的事务数据处理方法的流程示意图;
29.图4为本申请实施例提供的一种基于节点分片的事务数据处理装置的结构示意图;
30.图5为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
31.下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
32.需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
33.图1是本申请实施例提供的一种基于节点分片的事务数据处理系统的结构示意图。如图1所示,该系统包括:网关分片110、至少一个事务处理分片120、委员会分片130和客户端140,其中,客户端140和网关分片110连接,网关分片110与每个事务处理分片120连接,每个事务处理分片120与委员会分片130连接,网关分片110也与委员会分片130连接,其中,
该连接方式可以是有线通信连接或者无线通信连接。其中,网关分片110包括至少一个网关节点111,每个事务处理分片120包括至少一个事务处理节点121,委员会分片130包括至少一个委员会节点131。
34.请继续参考图1,在该系统中,该网关分片110用于接收至少一个客户端140发送的至少一个事务数据,并基于事务数据中的账户地址,确定与每个事务数据对应的事务处理分片120,按照预设周期将与每个事务处理分片120对应的至少一个事务数据打包,得到事务数据包,并发送事务数据包给对应的事务处理分片120中的每个事务处理节点121。其中,预设周期可以基于实际需要确定,本申请实施例对此不做限定。可以理解的是,网关分片110中的任一个网关节点111均可以执行该过程。
35.每个事务处理分片120用于接收网关分片110发送的事务数据包,事务处理分片120中的事务处理节点121可以对接收到的事物数据包中的至少一个事务数据进行验证,若对任一事务数据验证失败,向网关分片110发送验证失败结果消息,网关分片110向与该事务数据对应事务请求发起客户端140发送事务处理失败通知;若对任一事务数据验证成功,确定该事务数据为有效事务数据,获取至少一个有效事物数据,并处理每个有效事务数据得到账户变量值集;并在该账户变量值集共识成功后,将该账户变量值集发送给至委员会分片130中的每个委员会节点131,否则,事务处理分片120缓存该至少一个有效事务数据,等待下一轮的共识过程,将该至少一个有效事务数据在下一轮的共识过程中进行共识,直至共识成功。
36.委员会分片130用于接收每个事物处理分片120发送的账户变量值集,委员会分片130中的委员会节点131可以对接收到的每个账户变量值集进行验证,若对任一账户变量值集验证失败,向发送该账户变量值集的事务处理分片120发送验证失败结果消息;若对账户变量值集验证成功,确定该账户变量值集为有效变量值集,且确定接收到的每个事务处理分片120发送的每个账户变量值集均为有效账户变量值集,则基于该与每个事务处理分片对应的有效账户变量值集更新委员会分片140、网关分片110和每个事务处理分片130与至少一个账户地址对应的账户数据。
37.需要说明的是,本申请实施例提供的基于节点分片的事务数据处理系统中,节点的节点设备可以是具备数据处理能力的终端设备,例如计算机或者服务器等。节点所属的分片是基于节点设备的配置文件中的节点配置信息确定的,该节点配置信息至少包括节点设备的节点类型,如网关节点、事务处理节点或委员会节点,对于事务处理节点,该节点信息中还包括该事务处理节点对应的事务处理分片的分片标识。可以理解的是,在该系统搭建完成后,该系统中的每个节点可以向其他节点同步每个节点的节点配置信息。
38.本申请实施例提供一种基于节点分片的事务数据处理方法,该方法应用于如图1所示的基于节点分片的事务数据处理系统中,如图2所示,该方法包括:
39.步骤201、网关分片接收至少一个客户端发送的事务数据。
40.在本步骤中,网关分片中的任一网关节点可以接收至少一个客户端发送的事务数据,该事务数据包括与账户地址,该账户地址包括与事务数据对应的事务请求的账户地址。
41.步骤202、网关分片按照预设周期向每个事务处理分片发送对应的事务数据包。
42.在本申请实施例中,网关分片中的网关节点通常会在短时间内接收到多个事务数据,如果将该事务数据逐一发送至与事务数据对应的事务处理分片中,会增加网络消耗,通
常情况下每个网关节点会周期性的向事务处理分片发送每个周期内获取的多个事务数据,降低网络消耗,防止网络堵塞。
43.在本步骤中,网关分片按照预设周期向每个事务处理分片发送对应的事务数据包的过程可以包括:确定与每个事物数据对应的事务处理分片,按照预设周期将每个周期时长内的与每个事务处理分片对应的至少一个事务数据打包,得到与事务处理分片对应的事务数据包;将该事务数据包签名后发送至与该事务数据包对应的事务处理分片。例如,预设周期的每个周期时长可以为500毫秒(ms)。
44.可以理解的是,在本申请实施例中,每个事务数据中的账户地址包括事务请求的发起账户地址,则确定与每个事物数据对应的事务处理分片的过程可以是:基于节点配置信息得到事务处理分片的分片数量;对每个事务数据,确定与事务数据对应的发起账户地址与分片数量比值的余数;确定余数与标准值的和为目标分片标识;确定与目标分片标识对应的事务处理分片为与事物数据对应的事务处理分片。其中,标准值为数值1。优选的,可以基于账户地址后4位确定与每个事物数据对应的事务处理分片,减少数据处理量。
45.步骤203、每个事务处理分片处理至少一个有效事务数据得到与事务处理分片对应的账户变量值集。
46.在本申请实施例中,每个事务处理分片在接收到事务数据包后,首先需要对该事务数据包进行验证,该验证过程可以包括签名验证和有效性验证,其中,签名性验证的目的是用于确定事务数据包是否为网关节点发送,签名验证的过程可以是:获取事务数据包中的签名公钥,利用该签名公钥验证签名事务数据包,若可以验证成功,签名验证通过,获取事务数据包;有效性验证的目的是用于确定与事务数据对应的事务请求是否合理且可以执行,例如,对于与某一转账事务请求对应的事务数据,需要确定与事务请求的发起账户地址对应的账户余额是否大于或等于转账金额,若是,则确定该事务数据为有效事务数据。
47.其中,对事务数据包进行验证的过程中,首先进行签名验证,若签名验证失败,向对应的事务处理分片发送验证失败结果消息;若签名验证成功,再进行有效性验证,该有效性验证通常需要对每个事务数据逐一进行,当对事务数据对应的有效性验证成功后,确定该事务数据为有效事务数据。
48.可以理解的是,在本申请实施例中,每个事务数据中的账户地址还包括事务请求的目标账户地址,在本步骤中,每个事务处理分片处理至少一个有效事务数据得到与事务处理分片对应的账户变量值集的过程是:对于每个有效事务数据,确定与有效事务数据对应的发起账户地址关联的账户变量值;确定与有效事务数据对应的目标账户地址关联的账户变量值;将与每个发起账户地址关联的账户变量值和每个目标账户地址关联的账户变量值的集合,确定为与事务处理分片对应的账户变量值集。
49.示例的,假设事务处理分片1接收到两个有效事务数据,其中,第一个有效事务数据对应的事务请求为:账户地址a发出一个转账事务给账户地址b,转账金额x,第二个有效事务数据对应的事务请求为:账户地址b发出一个转账事务给账户地址c,转账金额y,由于与账户地址a和账户地址b对应的事务处理分片为事务处理分片1,则确定的与事务处理分片1对应的账户变量值集由账户变化值

1a
=-x,

1b
=x,

1b
=-y,

1c
=y组成。
50.可以理解的是,在本申请实施例中,每个事务处理分片中的每个事务处理节点需要将与该事务处理分片对应的账户变量值集进行共识,并在共识成功后,获取与账户变量
值集对应的第一共识证明,该第一共识证明包括事务处理分片中每个正常事务处理节点对共识结果的签名。并执行步骤204,否则,缓存该账户变量值集,等待下一轮的共识过程,在下一轮共识过程中对该账户变量值集进行共识。其中,该共识过程中采用的算法可以是实用拜占庭容错(practical byzantine fault tolerance,pbft)共识算法。由于可以通过多个事务处理分片处理事务数据,可以提高区块链网络的数据吞吐量和处理效率,提高区块链网络的性能。
51.步骤204、每个事务处理分片发送账户变量值集至委员会分片。
52.在本申请实施例中,为了降低事务处理分片中的事务处理节点将账户变量值集发送至委员会分片过程中的数据传输量,防止网络堵塞,可以对每个事务处理分片中的事务处理节点进行分组,得到至少两个第一事务处理节点组,同时,将委员会分片中的委员会节点分成与事务处理节点组数量相同的第一委员会节点组,建立至少两个第一事务处理节点组和至少两个第一委员会节点组之间的一一对应关系,使每个第一事务处理节点组中的事务处理节点发送合法账户变量值集至对应的第一委员会节点组中的每个委员会节点。
53.在本步骤中,每个事务处理分片发送账户变量值集至委员会分片的过程可以是:对于每个事务处理分片,基于事务处理分片中的事务处理节点数量确定第一事务处理节点组数量和与每个第一事务处理节点组对应的事务处理节点数量;为每个第一事务处理节点组分配与事务处理节点数量对应的事务处理节点;确定与每个第一事务处理节点组对应的第一委员会节点组;每个第一事务处理节点组中的每个事务处理节点发送合法账户变量值集至与第一事务处理节点组对应的第一委员会节点组中的每个委员会节点。可以理解的是,每个事务处理节点发送合法账户变量值集至与事务处理节点组对应的每个委员会节点的过程中,同时发送了与该合法账户变量值集对应的第一共识证明。
54.需要说明的是,在本申请实施例中,基于事务处理分片中的事务处理节点数量确定第一事务处理节点组数量和与每个第一事务处理节点组对应的事务处理节点数量的过程,可以基于对账户变量值集进行共识过程中采用的共识算法确定,若本申请实施例中的账户变量值集是采用pbft共识算法进行共识的,由于pbft共识算法需要保证该事务处理分片中的正常事务处理节点的数量为容错节点数为则第一事务处理节点组数量为
[0055][0056]
表示n与3的比值无余数时,第一事务处理节点组数量为3,n与3的比值有余数时,第一事务处理节点组数量为2,该每个第一事务处理节点组中的事务处理节点数量为其中n为事务处理节点的数量,表示对数值向下取整,表示对数值向上取整。可以理解的是,当n为3时,可以将事务处理节点分为两个第一事务处理节点组,其中,一个第一事务处理节点组包括一个事务处理节点,另一个第一事务处理节点组包括两个事务处理节点。
[0057]
其中,为每个第一事务处理节点组分配与事务处理节点数量对应的事务处理节点的过程可以是:对于每个第一事务处理节点组,从至少一个事务处理节点中随机选择与事
务处理节点数量对应的至少一个事物处理节点,将该至少一个事物处理节点确定为与第一事务处理节点组对应的事物处理节点。可以理解的是,在本申请实施例中,每个第一事务处理节点组中的事务处理节点不相同。
[0058]
其中,确定与每个第一事务处理节点组对应的第一委员会节点组的过程可以是:基于节点配置信息确定委员会节点的数量,确定委员会节点的数量与事务处理节点组数量的比值,得到与每个第一委员会节点组对应的第一委员会节点数量,从多个委员会节点中为每个第一委员会节点组选取与第一委员会节点数量对应的委员会节点,建立第一委员会节点组与每个事务处理节点组的匹配关系。可以理解的是,在本申请实施例中,每个第一委员会节点组中的委员会节点不同。
[0059]
可选的,建立每个第一委员会节点组与每个第一事务处理节点组的匹配关系的过程可以是:为每个第一事务处理节点组分配节点组标识,为每个第一委员会节点组分配节点组标识,建立节点组标识相同的第一事务处理节点组与第一委员会节点组之间的匹配关系,得到第一委员会节点组与每个事务处理节点组的匹配关系。
[0060]
步骤205、委员会分片基于有效账户变量值集更新委员会分片、网关分片和每个事务处理分片中与至少一个账户地址对应的账户数据。
[0061]
在本申请实施例中,委员会分片接收到每个事务处理分片发送的账户变量值集后,对该账户变量值集进行验证,该验证过程包括基于第一共识证明的签名验证和对账户变量值集中的账户变量值的有效性验证,验证成功后,确定接收到的每个事务处理分片发送的每个账户变量值集是否均为有效账户变量值集,若是,基于有效账户变量值集更新委员会分片、网关分片和每个事务处理分片中与至少一个账户地址对应的账户数据,否则,缓存该已获取的有效账户变量值集,并继续接收到每个事务处理分片发送的账户变量值集,直至确定接收到的每个事务处理分片发送的每个账户变量值集是否均为有效账户变量值集时,基于该有效账户变量值集和已经获取的有效账户变量值集更新委员会分片、网关分片和每个事务处理分片中与至少一个账户地址对应的账户数据。
[0062]
在本步骤中,如图3所示,该委员会分片基于至少一个有效账户变量值集更新委员会分片、网关分片和每个事务处理分片中,与合法账户地址对应的账户数据的过程可以包括:
[0063]
步骤2051、遍历每个有效账户变量值集得到至少一个账户数据变化量,以及与每个账户数据变化量对应的账户地址。
[0064]
步骤2052、基于与每个账户地址对应的至少一个账户数据变化量,确定与每个账户地址对应的合并账户变量值。
[0065]
步骤2053、基于与每个账户地址对应的合并账户变量值,更新委员会分片中与每个账户地址对应的账户数据。
[0066]
在本步骤中,基于与每个账户地址对应的合并账户变量值,更新委员会分片中与每个账户地址对应的账户数据的过程包括:获取与每个账户地址对应的原始账户数据,确定原始账户数据与该账户地址对应的合并账户变量值之和,将该和值确定为与该账户地址对应的更新后的账户数据。
[0067]
示例的,假设遍历每个有效账户变量值集得到与账户地址d对应的账户数据变化量包括:账户变化量

1d
、账户变化量

2d
和账户变化量

5d
,合并该三个账户变化量,得到
与账户地址对应的合并账户变量值

d


1d
+

2d
+

5d
。获取与账户地址d对应的原始账户数据

5d’,原始账户数据

5d’与合并账户变量值

d
的和值v
d
为与账户地址d对应的更新后的账户数据。
[0068]
可以理解的是,在本申请实施例中,委员会分片中的委员会节点需要对与每个账户地址对应的更新后的账户数据进行共识,并在共识成功后,获取与账户地址对应的第二共识证明,该第二共识证明包括每个正常委员会节点对共识结果的签名。其中,该共识过程中采用的算法可以是pbft共识算法。
[0069]
步骤2054、发送与至少一个账户地址对应的合并账户变量值至网关分片和每个事务处理分片,以使网关分片和每个事务处理分片更新与至少一个账户地址对应的账户数据。
[0070]
在本步骤中,委员会分片发送与至少一个账户地址对应的合并账户变量值至网关分片和每个事务处理分片的过程可以包括:基于委员会节点的数量确定第二委员会节点组数量和与第二每个委员会节点组对应的委员会节点数量;为每个第二委员会节点组分配与委员会节点数量对应的委员会节点。
[0071]
对于网关分片,确定与每个第二委员会节点组对应的网关节点组;每个第二委员会节点组中的每个委员会节点发送合并账户变量值至与第二委员会节点组对应的网关节点组中的每个网关节点;
[0072]
或者,对于每个事务处理分片,确定与每个第二委员会节点组对应的第二事务处理节点组;每个第二委员会节点组中的每个委员会节点发送合并账户变量值至与第二委员会节点组对应的第二事务处理节点组中的每个事务处理节点。
[0073]
需要说明的是,在本申请实施例中,基于委员会节点的数量确定第二委员会节点组数量和与第二每个委员会节点组对应的委员会节点数量的过程,可以参考上述实施例中基于事务处理分片中的事务处理节点数量确定第一事务处理节点组数量和与每个第一事务处理节点组对应的事务处理节点数量的过程,本申请实施例对此不做赘述。
[0074]
为每个第二委员会节点组分配与委员会节点数量对应的委员会节点的过程,可以参考上述实施例中为每个第一事务处理节点组分配与事务处理节点数量对应的事务处理节点的过程,本申请实施例对此不做赘述。
[0075]
确定与每个第二委员会节点组对应的网关节点组,或者确定与每个第二委员会节点组对应的第二事务处理节点组的过程,可以参考上述实施例中确定与每个第一事务处理节点组对应的第一委员会节点组的过程,本申请实施例对此不做赘述。
[0076]
在本步骤中,网关分片和每个事务处理分片更新与至少一个账户地址对应的账户数据的过程可以是:对于网关分片或者每个事务处理分片,接收到委员会分片中的委员会节点发送的与至少一个账户地址对应的合并账户变量值后,对该合并账户变量值进行验证,该验证过程包括对于第二共识证明的签名验证和对合并账户变量值的有效性验证,验证成功后,基于上述步骤2053的方法更新网关分片或者每个事务处理分片中与至少一个账户地址对应的账户数据;若验证失败,则丢弃接收到的数据。
[0077]
可选的,在本申请实施例中,在委员会分片基于至少一个有效账户变量值集更新委员会分片、网关分片和每个事务处理分片中至少一个账户地址对应的账户数据之后,网关分片向与每个账户地址对应的客户端发送事务成功处理结果。如转账成功提示。
[0078]
综上所述,本申请实施例提供的基于节点分片的事务数据处理方法,网关分片接收至少一个客户端发送的事务数据,事务数据包括账户地址;网关分片按照预设周期向每个事务处理分片发送对应的事务数据包;每个事务处理分片处理至少一个有效事务数据得到与事务处理分片对应的账户变量值集;每个事务处理分片发送账户变量值集至委员会分片;委员会分片基于有效账户变量值集更新委员会分片、网关分片和每个事务处理分片中与至少一个账户地址对应的账户数据。可以提高数据吞吐量,提高事务数据处理效率,系统开发难度小,维护成本低,可扩展性强。
[0079]
本申请实施例提供一种基于节点分片的事务数据处理装置,如图4所示,该装置30包括:
[0080]
接收模块301,被配置为网关分片接收至少一个客户端发送的事务数据,事务数据包括账户地址;
[0081]
第一发送模块302,被配置为网关分片按照预设周期向每个事务处理分片发送对应的事务数据包,事务数据包包括至少一个事务数据;
[0082]
处理模块303,被配置为每个事务处理分片处理至少一个有效事务数据得到与事务处理分片对应的账户变量值集;
[0083]
第二发送模块304,被配置为每个事务处理分片发送账户变量值集至委员会分片;
[0084]
更新模块305,被配置为委员会分片基于有效账户变量值集更新委员会分片、网关分片和每个事务处理分片中与至少一个账户地址对应的账户数据。
[0085]
可选的,第一发送模块302,被配置为:
[0086]
确定与每个事物数据对应的事务处理分片;
[0087]
按照预设周期将与每个事务处理分片对应的至少一个事务数据打包,得到与事务处理分片对应的事务数据包;
[0088]
发送事务数据包至与事务数据包对应的事务处理分片。
[0089]
可选的,第一发送模块302,被配置为:
[0090]
确定事务处理分片的分片数量;
[0091]
对每个事务数据,确定与事务数据对应的发起账户地址与分片数量比值的余数;
[0092]
确定余数与标准值的和为目标分片标识;
[0093]
确定与目标分片标识对应的事务处理分片为与事物数据对应的事务处理分片。
[0094]
可选的,处理模块303,被配置为:
[0095]
对于每个有效事务数据,确定与有效事务数据对应的发起账户地址关联的账户变量值;
[0096]
确定与有效事务数据对应的目标账户地址关联的账户变量值;
[0097]
将与每个发起账户地址关联的账户变量值和每个目标账户地址关联的账户变量值的集合,确定为与事务处理分片对应的账户变量值集。
[0098]
可选的,第二发送模块304,被配置为:
[0099]
对于每个事务处理分片,基于事务处理分片中的事务处理节点数量确定第一事务处理节点组数量和与每个第一事务处理节点组对应的事务处理节点数量;
[0100]
为每个第一事务处理节点组分配与事务处理节点数量对应的事务处理节点;
[0101]
确定与每个第一事务处理节点组对应的第一委员会节点组;
[0102]
每个第一事务处理节点组中的每个事务处理节点发送合法账户变量值集至与第一事务处理节点组对应的第一委员会节点组中的每个委员会节点。
[0103]
可选的,更新模块305,被配置为:
[0104]
遍历每个有效账户变量值集得到至少一个账户数据变化量,以及与每个账户数据变化量对应的账户地址;
[0105]
基于与每个账户地址对应的至少一个账户数据变化量,确定与每个账户地址对应的合并账户变量值;
[0106]
基于与每个账户地址对应的合并账户变量值,更新委员会分片中与每个账户地址对应的账户数据;
[0107]
发送与至少一个账户地址对应的合并账户变量值至网关分片和每个事务处理分片,以使网关分片和每个事务处理分片更新与至少一个账户地址对应的账户数据。
[0108]
可选的,更新模块305,被配置为:
[0109]
基于委员会节点的数量确定第二委员会节点组数量和与第二每个委员会节点组对应的委员会节点数量;
[0110]
为每个第二委员会节点组分配与委员会节点数量对应的委员会节点;
[0111]
对于网关分片,确定与每个第二委员会节点组对应的网关节点组;
[0112]
每个第二委员会节点组中的每个委员会节点发送合并账户变量值至与第二委员会节点组对应的网关节点组中的每个网关节点;
[0113]
或者,对于每个事务处理分片,确定与每个第二委员会节点组对应的第二事务处理节点组;
[0114]
每个第二委员会节点组中的每个委员会节点发送合并账户变量值至与第二委员会节点组对应的第二事务处理节点组中的每个事务处理节点。
[0115]
综上所述,本申请实施例提供的基于节点分片的事务数据处理装置,网关分片接收至少一个客户端发送的事务数据,事务数据包括账户地址;网关分片按照预设周期向每个事务处理分片发送对应的事务数据包;每个事务处理分片处理至少一个有效事务数据得到与事务处理分片对应的账户变量值集;每个事务处理分片发送账户变量值集至委员会分片;委员会分片基于有效账户变量值集更新委员会分片、网关分片和每个事务处理分片中与至少一个账户地址对应的账户数据。可以提高数据吞吐量,提高事务数据处理效率,系统开发难度小,维护成本低,可扩展性强。
[0116]
图5是根据一示例性实施例示出的一种计算机设备,该计算机设备包括中央处理单元(cpu)401,其可以根据存储在只读存储器(rom)402中的程序或者从存储部分加载到随机访问存储器(ram)403中的程序而执行各种适当的动作和处理。在ram403中,还存储有系统操作所需的各种程序和数据。cpu401、rom402以及ram403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。
[0117]
以下部件连接至i/o接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分;包括硬盘等的存储部分408;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至i/o接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算
机程序根据需要被安装入存储部分408。
[0118]
特别地,根据本申请的实施例,上文图2至图3描述的过程可以被实现为计算机软件程序。例如,本申请的各个实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(cpu)401执行时,执行本申请的系统中限定的上述功能。
[0119]
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0120]
附图中的流程图和框图,图示了按照本申请各种实施例的方法、装置和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0121]
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括接收模块、第一发送模块、处理模块、处理模块和更新模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,接收模块还可以被描述为“用于网关分片接收至少一个客户端发送的事务数据的接收模块”。
[0122]
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中描述的基于节点分片的事务数据处理方法。
[0123]
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1