一种区块链系统的业务处理方法、装置及系统与流程

文档序号:25889053发布日期:2021-07-16 19:34阅读:107来源:国知局
一种区块链系统的业务处理方法、装置及系统与流程

1.本发明涉及金融科技(fintech)技术领域,尤其涉及一种区块链系统的业务处理方法、装置及系统。


背景技术:

2.随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(fintech)转变,区块链技术也不例外,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。在区块链系统中,为了保证交易执行的准确性,通常需要使用多个节点对区块进行共识,若对区块达成共识的节点数量超过预设数量,则说明区块链系统中大多数的节点处理交易所得到的区块是一致的;如此,该区块可以成功出块,且节点也可以根据该区块更新内部的交易数据库。
3.然而,在区块链系统中可能包含多个区块链,那么每个区块链在记录自身区块链的交易信息时,就需要分别与其它区块链中进行数据交互,以获得其它区块链发送的共识信息,然后根据共识信息确定最终的共识结果,当区块链的数量较多时,就可能使得每个区块链的负荷较大,导致业务处理效率较低。所以,目前亟需一种区块链系统的业务处理方法,用以解决多链系统中业务处理效率低的技术问题。


技术实现要素:

4.本申请实施例提供一种区块链系统的业务处理方法、装置及系统,用于解决多链系统中业务处理效率低的技术问题。
5.第一方面,提供一种区块链系统的业务处理方法,所述方法适用于区块链系统,所述区块链系统包括多个区块链以及分别与所述多个区块链通信的至少一个全节点,所述方法包括:
6.所述区块链系统中的其中一个全节点接收第一业务,所述第一业务包括所述第一业务的标识信息;
7.根据所述第一业务的标识信息,将所述第一业务划分为多个子业务,每个子业务对应所述多个区块链中的其中一个区块链;
8.将所述多个子任务分别发送给对应的区块链;
9.根据接收到的由所述多个区块链发送的至少一个第一处理结果,得到与所述至少一个第一处理结果对应的至少一个第二处理结果;
10.将所述至少一个第二处理结果下发至每个区块链,以使所述每个区块链保存所述至少一个第二处理结果。
11.在一种可能的设计中,根据接收到的由所述多个区块链发送的至少一个第一处理结果,得到与所述至少一个第一处理结果对应的至少一个第二处理结果,包括:
12.接收所述多个区块链每个区块链发送的至少一个验证信息,其中,每个验证信息是通过所述每个区块链对所述至少一个第一处理结果中的其中一个处理结果进行验证得
到的,所述每个验证信息为验证通过或者验证失败;
13.根据所述至少一个验证信息及所述至少一个第一处理结果,得到所述至少一个第二处理结果。
14.在一种可能的设计中,根据所述至少一个验证信息及所述至少一个第一处理结果,得到所述至少一个第二处理结果,包括:
15.确定所述多个验证信息中验证通过的验证信息的数量大于预设数量,则将所述第一处理结果确定为所述第二处理结果;
16.确定所述多个验证信息中验证通过的验证信息的数量小于或等于所述预设数量,则将与所述第一处理结果相反的处理结果确定为所述第二处理结果。
17.第二方面,提供一种区块链系统的业务处理方法,所述方法适用于区块链系统,所述区块链系统包括多个区块链以及分别与所述多个区块链通信的至少一个全节点,所述方法包括:
18.所述多个区块链中的每个区块链接收所述至少一个全节点中的其中一个全节点发送的子业务,所述子任务是所述全节点根据接收的第一业务的标识信息,将所述第一业务划分为多个子业务后的其中一个子业务;
19.在处理完所述子业务后,将与所述子业务对应的第一处理结果发送给所述全节点,以使所述全节点根据从所述多个区块链接收的与所述多个子业务对应的至少一个第一处理结果,得到与所述至少一个第一处理结果对应的至少一个第二处理结果;
20.接收并保存所述至少一个第二处理结果。
21.在一种可能的设计中,所述方法还包括:
22.从所述多个区块链中的其它区块链接收至少一个第三处理结果,每个第三处理结果为所述其它区块链中的一个区块链所处理的子业务对应的处理结果;
23.对所述至少一个第三处理结果进行验证,得到至少一个验证信息,所述验证信息为验证通过或者验证失败;
24.将所述至少一个验证消息发送给所述全节点,以使所述全节点根据所述至少一个第一处理结果以及所述至少一个验证信息得到所述至少一个第二处理结果。
25.在一种可能的设计中,保存所述至少一个第二处理结果,包括:
26.以一个主状态和至少一个副状态的形式保存所述至少一个第二处理结果,所述主状态为与所述区块链对应的处理结果,所述副状态为其他区块链对应的处理结果。
27.第三方面,提供一种区块链系统的业务处理装置,所述装置包括:
28.接收模块,用于接收第一业务,所述第一业务包括所述第一业务的标识信息;
29.划分模块,用于根据所述第一业务的标识信息,将所述第一业务划分为多个子业务,每个子业务对应所述多个区块链中的其中一个区块链;
30.第一发送模块,用于将所述多个子任务分别发送给对应的区块链;
31.获得模块,用于根据接收到的由所述多个区块链发送的至少一个第一处理结果,得到与所述至少一个第一处理结果对应的至少一个第二处理结果;
32.第二发送模块,用于将所述至少一个第二处理结果下发至每个区块链,以使所述每个区块链保存所述至少一个第二处理结果。
33.在一种可能的设计中,所述接收模块,用于:
34.接收所述多个区块链每个区块链发送的至少一个验证信息,其中,每个验证信息是通过所述每个区块链对所述至少一个第一处理结果中的其中一个处理结果进行验证得到的,所述每个验证信息为验证通过或者验证失败;
35.所述获得模块用于:根据所述至少一个验证信息及所述至少一个第一处理结果,得到所述至少一个第二处理结果。
36.在一种可能的设计中,所述获得模块还用于:
37.确定所述多个验证信息中验证通过的验证信息的数量大于预设数量,则将所述第一处理结果确定为所述第二处理结果;
38.确定所述多个验证信息中验证通过的验证信息的数量小于或等于所述预设数量,则将与所述第一处理结果相反的处理结果确定为所述第二处理结果。
39.第四方面,提供一种区块链系统的业务处理装置,所述装置包括:
40.接收模块,用于接收所述至少一个全节点中的其中一个全节点发送的子业务,所述子任务是所述全节点根据接收的第一业务的标识信息,将所述第一业务划分为多个子业务后的其中一个子业务;
41.发送模块,用于在处理完所述子业务后,将与所述子业务对应的第一处理结果发送给所述全节点,以使所述全节点根据从所述多个区块链接收的与所述多个子业务对应的至少一个第一处理结果,得到与所述至少一个第一处理结果对应的至少一个第二处理结果;
42.保存模块,用于接收并保存所述至少一个第二处理结果。
43.在一种可能的设计中,所述接收模块还用于:
44.从所述多个区块链中的其它区块链接收至少一个第三处理结果,每个第三处理结果为所述其它区块链中的一个区块链所处理的子业务对应的处理结果;
45.对所述至少一个第三处理结果进行验证,得到至少一个验证信息,所述验证信息为验证通过或者验证失败;
46.所述发送模块还用于:将所述至少一个验证消息发送给所述全节点,以使所述全节点根据所述至少一个第一处理结果以及所述至少一个验证信息得到所述至少一个第二处理结果。
47.在一种可能的设计中,所述保存模块,用于:
48.以一个主状态和至少一个副状态的形式保存所述至少一个第二处理结果,所述主状态为与所述区块链对应的处理结果,所述副状态为其他区块链对应的处理结果。
49.第五方面,提供一种区块链系统,所述系统包括如第三方面或第四方面任一可能的实施例中所述的装置。
50.第六方面,提供一种计算设备,所述计算设备包括:
51.至少一个处理器,以及
52.与所述至少一个处理器通信连接的存储器;
53.其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如第一方面或第二方面及任一可能的实施例中所述的方法。
54.第七方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算
机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第一方面或第二方面及任一可能的实施例中所述的方法。
55.第八方面,提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行上述各种可能的实现方式中所描述的区块链系统的业务处理方法。
56.在本申请实施例中,全节点在接收到第一业务之后,可以将第一业务划分为多个子业务,然后分发给对应的区块链处理这多个子业务,每个子业务对应的区块链会有一个对应的账本,所以,可以实现通过同一个全节点处理多个账本对应的业务,提高了区块链系统的业务处理效率。而且,该全节点可以根据多个区块链上报的验证信息对业务处理结果的进行共识,并将共识后的最终结果下发至使每个区块链,使每个区块链保存自身标记的业务状态时,还可以将其它区块链的业务状态保存在自身区块链中,这样,在需要查看某笔交易的相关信息时,可以仅访问一个区块链就能获得该笔交易的多个状态信息,提高了查看效率。
57.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
58.为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
59.图1为本申请实施例提供的应用场景的示意图;
60.图2为本申请实施例提供的区块链系统的业务处理方法的流程示意图;
61.图3为本申请实施例提供的区块链系统的业务处理装置的结构框图;
62.图4为本申请实施例提供的区块链系统的业务处理装置的另一结构框图;
63.图5为本申请实施例提供的计算设备的结构示意图。
具体实施方式
64.为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
65.本申请的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些
过程、方法、产品或设备固有的其它步骤或单元。本申请中的“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本申请实施例不做限制。
66.另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
67.金融科技(fintech)技术领域通常涉及到多种交易,比如,银行的交易可以包括售卡交易、存款交易、贷款交易、保险交易、理财交易等,银行每天的交易量可以达到数千笔甚至数万笔。随着区块链技术的逐步发展,金融科技领域也可以使用区块链技术来处理交易,举例来说,若多家银行之间涉及到相关交易,则可以通过设置联盟链来同步处理相关交易,或者还可以将法院、客户等同时上链,共同维护联盟链的安全和稳定。
68.区块链系统可以是由多个节点组成的点对点(peer to peer,p2p)网络。p2p是一种运行在传输控制协议(transmission control protocol,tcp)协议之上的应用层协议,在区块链系统中的节点可以彼此对等,系统中不存在中心节点,因此每个节点都可以随机地连接其它节点。在区块链系统中,每个节点内部都可以设置有预设数据库,各个节点通过预设数据库共同维护区块链系统中的公共账本,节点内部的预设数据库可以存储区块链系统中的区块数据;其中,区块数据包括区块头和区块体,区块头包括上一区块的哈希值、本区块的哈希值、本区块的块高、时间戳等信息,区块体包括交易数据,比如区块链系统中的节点对该区块进行共识的过程中待处理的交易数据以及处理待处理的交易数据得到的交易结果。
69.区块链系统中的节点可以具有多种功能,比如,路由功能、交易功能、区块链功能和共识功能等。具体地说,区块链系统中的节点可以把其他节点传送过来的交易数据等信息传送给更多的节点以实现节点之间的通信;或者,区块链系统中的节点可以用于支持用户进行交易;或者,区块链系统中的节点可以用于记录历史上的所有交易(例如可以把这种节点称为是全节点);或者,区块链系统中的节点可以通过验证和记录交易生成区块链中的新区块。
70.在通过区块链处理财税业务的相关技术中,每个区块链会对应一个具体的业务类型,每个业务类型也会对应一个账本。在某个节点发起交易时,与该笔交易相关联的全节点就会接收到对应的请求,并进行相应的状态转换处理。举例来说,当前由某一节点发起了一笔交易,是用户a向用户b支付了10个比特币,且该笔交易是需要纳税的,然后该区块链中处理资金结算链的全节点,就会基于这笔交易处理相应的资金结算状态转换,该区块链中处理纳税交易的全节点,也就会根据纳税的相关处理规则处理相应这笔交易的纳税业务。
71.也就是说,通过对应于各种业务的全节点处理每笔交易相关的业务。需要说明的是,每个区块链会对应有多个处理业务的全节点,这些全节点只能处理对应区块链的状态转换,也就是说,每一个全节点只能对应处理一个区块链的业务状态转换。且,每个区块链中的全节点对应于一个共识模块以及一个业务处理模块,当某一链路的状态发生转换时,每个全节点都是通过该自身的同一个业务处理模块实现状态转换的,在进行共识的时候,也是通过该自身的同一个共识模块进行共识确认的。这样,每个全节点只能处理自身的业务状态转换,使得区块链系统的业务处理效率较低。
72.鉴于此,本申请实施例提供一种区块链系统的业务处理方法,通过该方法可以使
得全节点在接收到业务之后,将该业务划分为多个子业务,然后由对应的区块链处理多个子业务,而且,可以通过该全节点对业务处理结果的进行共识,并可以将共识结果下发至使每个区块链,使每个区块链保存自身标记的业务状态之后,还可以将其它区块链的业务状态保存在自身区块链中,提高了区块链系统的业务处理效率,在需要查看某笔交易的相关信息时,可以仅访问一个区块链就能获得该笔交易的多个状态信息,提高了查看效率。
73.为便于理解本申请实施例提供的技术方案,下面对本申请实施例提供的技术方案使用的应用场景做一些简单的介绍,需要说明的是,以下介绍的应用场景仅用于说明本发明实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
74.请参见图1所示,图1为本申请实施例的技术方案能够适用的一种应用场景。在图1所示的应用场景中,区块链系统中可以包括多个区块链和多个全节点,每个区块链可以包含有一个或多个节点,图1中以多个全节点为2个,多个区块链为2个,以及每个区块链有4个节点为例,4个节点分别为节点1、节点2、节点3和节点4,需要说明的是,每个区块链包括的节点可能是全节点,也可能是轻节点,所以节点1~节点4中的任一节点可能是全节点,也可能是轻节点,在此不做限制。每个区块链中的节点1~节点4中的任意两个节点可以通信连接,从而共同维护区块链系统。当发生交易的时候,全节点就会接收到该笔交易,然后根据该笔交易包含的业务处理类型将该笔交易划分为不同的子任务,然后把子任务分发给对应的区块链进行对应处理,各区块链处理完后会向该全节点上报相应的处理结果。需要说明的是,区块链系统中的一个节点可以在一台物理机(服务器)上,且一个节点具体可以是指服务器中运行的一个进程或者一系列进程。
75.如图1所示,该应用场景中还可以包括客户端设备,客户端设备可以通过接入区块链网络与区块链系统中的任一全节点连接。具体实施中,客户端设备可以将交易发送给区块链系统中的任一全节点,区块链系统中的某一全节点在接收到交易后,可以将交易同步给区块链系统中的其它节点,以执行相应的任务。
76.在图1所示的应用场景中,每一个区块链都对应一个业务账本,而该区块链系统中的全节点分别与两个区块链连接,也就是说,每个全节点可以同时处理两个业务账本,所以对应于每一个全节点的共识模块和业务处理模块可能是多个的情况。其中,共识模块用于实现不同节点之间账本状态转换的一致性,业务处理模块用于进行各个账本的状态转换。
77.下面结合说明书附图介绍本申请实施例提供的技术方案。
78.请参见图2所示,图2为本申请实施例提供的一种区块链系统的业务处理方法的流程图。下面以该方法应用在如图1所示的应用场景中为例进行说明。
79.该流程图的描述如下:
80.步骤201:区块链系统中的其中一个全节点接收第一业务,第一业务包括第一业务的标识信息。
81.在一种可能的实施例中,区块链系统中可能包多个全节点,而在接收业务的时候,可以是所有全节点中的任意一个全节点进行接收,具体由哪一个全节点接收可以根据实际情况而定,例如可以是与该业务距离最近的全节点接收,或者由当前负荷最小的全节点接收,等等,在此不做限制。如图1所示的应用场景中,例如是由全节点1接收当前业务,该业务即可以理解为是第一业务,第一业务中包括该业务的标识信息,该标识信息是用于指示该
业务包括的属性信息,属性信息例如可以是该笔交易是否需要纳税,或者该笔交易是否需要开发票,等等,在此也不做限制。
82.示例性的,该标识信息可以是以数字编码的形式存在的,例如,由第一位数字来确定该笔业务是否需要纳税,将第一位为“0”确定为该笔交易不需要纳税,将第一位为“1”确定为该笔交易是需要纳税的,那么全节点接收到该笔业务后,就可以根据其中的标识信息的第一位数据编码确定该笔业务是否需要纳税,假设确定出第一业务的第一位数据编码为“1”,那就确定该笔交易是需要进行纳税的。
83.步骤202:全节点根据接收的第一业务的标识信息,将第一业务划分为多个子业务,每个子业务对应多个区块链中的其中一个区块链。
84.在一种可能的实施方式中,全节点接收到第一业务后,就可以根据标识信息确定出该笔交易的具体业务情况,然后将其划分为多个子业务。例如根据第一业务的标识信息确定出该业务中包含有资金结算、纳税两个属性信息,那么就可以将该第一业务划分为对应的资金结算、纳税、两个子业务,这两个子业务分别对应一个区块链,也就是说,资金结算业务对应资金结算区块链,纳税业务对应纳税交易区块链。在具体的实施过程中,子业务的数量可以是更多个的情况,本申请实施例不做限制。
85.举例来说,以前述图1的应用场景为例,加上区块链1对应的是资金结算链,区块链2对应的是纳税交易链,假设当前有一笔交易:a要向b支付100个比特币,且,该笔交易需要进行纳税。在a发起向b支付100个比特币的请求后,全节点1和全节点2中的任意一个全节点就会接收到该笔交易,假设由全节点1接收并将该笔交易划分为两个子任务,分别为资金结算任务和纳税交易任务,然后全节点就会把资金结算任务发送给对应的资金结算链(即区块链1),把纳税交易任务发送给对应的纳税交易链(即区块链2),区块链1和区块链2在接收到全节点下发的任务之后,就可以处理相应的业务内容。
86.步骤203:全节点将多个子业务分别发送给对应的区块链。
87.在将第一业务划分为多个子业务之后,全节点就可以将多个子业务分别发送给对应的区块链,让对应的区块链处理自己的相关业务,例如将资金结算子业务发送给资金结算链,以是资金结算链处理该业务。需要说明的,全节点在下发子业务给区块链的时候,可能是同时下发的,也可能是按顺序分别下发的,本申请实施例不做限制。
88.步骤204:区块链系统的多个区块链中的每个区块链接收至少一个全节点中的其中一个全节点发送的子业务。
89.在具体的实施方式中,全节点将划分好的子业务分别发送给对应的区块链后,每个区块链就会接收到对应于自身的子业务,然后执行相应的处理,例如纳税交易区块链接收到全节点发送的第一业务中包含的纳税处理业务,然后执行相应的纳税处理。
90.步骤205:区块链在处理完接收到的子业务后,将与子业务对应的第一处理结果发送给全节点。
91.每个区块链在处理完全节点下发的子业务后,会向全节点上报自己的处理结果,为了便于区分,例如将该处理结果成为是第一处理结果。
92.在一种可能的实施方式中,全节点在下发子业务给区块链后,由于每个区块链处理业务的内容是不同的,处理的速度也就可能不同,所以当某一区块链向全节点上报自身的第一处理结果时,其它区块链可能还没有处理完对应的子业务,所以全节点可能只是先
接收到其中一个区块链的第一处理结果,然后再接收到其它区块链的第一处理结果,或者,也可能是所有区块链一起处理完自身的子业务,然后同时向全节点上报第一处理结果的,那么,此时全节点就可能同时接收到所有处理子业务的区块链上报的第一处理结果,或者,当子业务数量超过两个时,也可能是现同时接收到两个区块链的第一处理结果,然后再接收到其它的区块链的第一处理结果,对于全节点接收区块链上的第一处理结果的接收时间和接收顺序,本申请实施例不做限制。
93.举例来说,例如当前由两个子业务,资金结算业务和纳税处理业务,假设资金结算链可能先处理完,然后就将处理结果上报给全节点,那么全节点就先接收到资金结算链的第一处理结果,然后再接收纳税交易链的第一处理结果,或者,资金计算链和纳税交易链同时向全节点上报自身的第一处理结果,那么全接待你也就同时接收到了两个第一处理结果。
94.步骤206:全节点接收到由多个区块链发送的至少一个第一处理结果,得到与至少一个第一处理结果对应的至少一个第二处理结果。
95.在一种可能的实施方式中,全节点在接收到各个子业务对应的区块链上报的第一处理结果后,还需要接收各个区块链对各个第一处理结果的验证信息,然后通过验证信息确定接收到的第一处理结果是否是正确的,该过程即可以理解为是共识的过程,即需要根据所有区块链的验证信息对某一子任务的处理结果达成共识。每个验证信息是通过每个区块链对其它区块链的第一处理结果进行验证得到的,每个验证信息可以是验证通过或者验证失败,如果验证信息为验证通过,那么就可以表明区块链确定当前进行验证的第一处理结果是正确的,对应的,如果验证信息为验证失败,那么就可以表明区块链确定当前进行验证的第一处理结果是错误的。
96.在具体的实施过程中,处理子任务的某一区块链在处理完子任务后,会向全节点上报第一处理结果,同时,也会向其它区块链发送自己的第一处理结果,以使其它区块链对自己的第一处理结果进行验证,那么相应的,每个区块链就会接收到其它区块链给自己发送的对应于其它区块链的处理结果,为了便于区分,例如可以将区块链接收到其它区块链发送的处理结果称为是第三处理结果。每个区块链可能同时接收到多个其它区块链发送的第三处理结果,也可能是先后接收到的,在此不做限制。
97.某一区块链接收到其它区块链发送的第三处理结果之后,就会对第三处理结果进行验证,然后将验证结果上报给全节点。需要说明的是,对于同一个第三处理结果,不同的区块链对其进行验证的时候,一般是需要通过同一种共识算法进行验证的,这样,才能确保验证结果的一致性与有效性。
98.需要说明的是,在具体的验证过程中,每个区块链可以不发送自身对应的第一处理结果的验证信息。举例来说,例如,当前处理子业务的区块链有三个,分别为区块链1、区块链2、区块链3和区块链4,那么区块链1上报第一处理结果后,全节点需要接收区块链2、区块链3和区块链4对区块链1的第一处理结果的验证信息,然后判断区块链1的第一处理结果是否是正确的。假设区块链2和区块链3发送的针对区块链1的第一处理结果的验证信息是验证通过,那么就表明区块链2和区块链3认为区块链1的第一处理结果是正确的,如果区块链4发送的针对区块链1的第一处理结果的验证信息是验证失败,那么就表明区块链4认为区块链1的第一处理结果是错误的。
99.在一种可能的实施方式中,全节点在接收到针对某一个第一处理结果的多个验证信息之后,就会对这多个验证信息进行判断,以确定出该第一处理结果是否是正确的,进而得到对应于第一处理结果的第二处理结果,该第二处理结果即为验证第一处理结果之后的验证结果,当第一处理结果正确时,对应的第二处理结果即为第一处理结果,当第一处理结果错误时,第二处理结果即为与第一处理结果相反的处理结果。
100.在一种可能的实施方式中,接收第一业务的全节点可能包含有多个业务处理模块和多个共识模块,每个子业务对应一个业务处理模块。可以通过业务处理模块将不同的子业务分别发送给对应的区块链,然后通过某一个共识模块接收针对某一个第一处理结果的验证信息,并对验证信息进行共识处理。业务处理模块的数量与共识模块的数量可以是不相等的。每个子业务通过哪一个共识模块进行共识,可以根据实际情况确定,例如可以是子业务中指定好了该业务需要使用哪一个共识模块,或者也可以预先设置各个业务处理模块与共识模块的对应关系,然后通过各个业务处理模块将对应的子业务发送给相应的区块链。
101.例如是业务处理模块1将子业务1发送给区块链1,业务处理模块2将子业务2发送给区块链2,然后预先设置的与业务处理模块1对应的是共识模块1,与业务处理模块2对应的是共识模块2,那么对于区块链1上报的第一处理结果,就使用共识模块1接收其它区块链发送的验证信息,并由共识模块1得到对应的第二处理结果,即,通过共识模块1进行区块链1的第一处理结果的共识,对于区块链2上报的第一处理结果,就使用共识模块2接收其它区块链发送的验证信息,并由共识模块2得到对应的第二处理结果,即,通过共识模块2进行区块链2的第一处理结果的共识;或者,也可以是业务处理模块1和业务处理模块2都与共识模块1对应,那区块链1和区块链2上报的第一处理结果都通过共识模块1进行共识。
102.在具体的实施过程中,全节点可以分别计算这多个验证信息中有多少个是验证通过的验证信息,如果在多个验证信息中为验证通过的验证信息的数量大于预设数量,那么就可以认为该第一处理结果是正确的,对应的,当验证通过的验证信息数量小于或者等于预设数量时,就表明该第一处理结果时错误的。需要说明的是,该预设数量可以是根据实际的业务情况预先设定好的数量值,对于预设数量的数值设定,本申请实施例不做限制。
103.举例来说,例如当前有十个区块链处理子业务,针对纳税交易链上报的第一处理结果为已纳税,那么全节点就会接收到其它9个区块链对该第一处理结果的验证信息,假设预设数量为5,并且这9个区块链中有6个区块链针对纳税交易链的第一处理结果的验证信息为验证通过,已经超过预设数量5,那么就可以认为该第一处理结果是正确的,即已进行纳税,那么对应于该第一处理结果的第二处理结果也就为已纳税,或者这9个区块链中有3个区块链针对纳税交易链的第一处理结果的验证信息为验证通过,未超过预设数量5,那就可以认为该第一处理结果是错误的,即当前交易未纳税,那么此时对应于该第一处理结果的第二处理即为未纳税。
104.步骤207:全节点将至少一个第二处理结果下发至每个区块链。
105.全节点在根据每个第一处理结果获得对应的第二处理结果之后,就会把得到的第二处理结果下发至每个区块链,以使每个区块链保存第二处理处理结果。因为第二处理结果是全节点根据区块链网络中的区块链反馈的验证信息得到的,所以,第二处理结果就可以理解为是达到的共识结果,这样,可以有效确保所有节点记录的交易信息是相同的。
106.步骤208:区块链接收并保存至少一个第二处理结果。
107.在一种可能的实施方式中,每个区块链在接收到全节点下发的至少一个第二处理结果后,可以以一个主状态和至少一个副状态的形式对第二处理结果进行保存,主状态可以理解为是与区块链对应的处理结果,副状态可以理解为是区块链接收到的其它区块链的处理结果。需要说明的是,每个区块链对应处理一个子业务,所以每个区块链只有一个主状态,但是可能有多个副状态。或者,主状态可以理解为是该链对应的账本标记的对象发生了变化,副状态转换则可以理解为是该链的属性发生了变化。
108.举例来说,如果有一笔需要进行纳税的资金交易,对于资金结算链来说,它记录的是所有者各自的资金额度,那么资金额度就是该链标记的对象,当资金额度发送变化的时候,资金结算链的主状态就发生了变化,对应的变化就成为是资金结算链的主状态转换。同时,资金结算链还可以记录该笔交易的纳税状态,该纳税状态即可以理解为是资金结算链的属性,该属性可以包括两种不同的状态,分别为已纳税和未纳税,当这笔交易刚发生时,可能还没进行纳税处理,也就是说,资金纳税链的纳税状态属性为未纳税,当纳税交易链处理完该笔交易的纳税业务后,资金结算链就会将纳税状态属性转变为已纳税,这种情况就可以理解为副状态转换。
109.也就是说,每个区块链都可以记录与自身区块链相关联的其它区块链的处理结果,在用户获取某笔交易对应于某一区块链的相关状态信息时,可以同步获取到与该区块链相关联的其它区块链的状态信息。相对于相关技术中,用户在需要获取某一笔交易在资金结算链路和纳税交易链路的状态信息,需要分别访问资金结算链路和纳税交易链路的状态信息,以获取资金结算的相关状态信息和纳税的相关状态信息的获取方式,本申请实施例提供的业务处理方法,可以实现访问资金结算链路获取到该笔交易是否支付的资金结算信息时,还可以获取到该笔交易是否已纳税的纳税状态信息,提高了获取效率。
110.在本申请实施例中,全节点在接收到第一业务之后,可以将第一业务划分为多个子业务,然后分发给对应的区块链处理这多个子业务,每个子业务对应的区块链会有一个对应的账本,所以,可以实现通过同一个全节点处理多个账本对应的业务,提高了区块链系统的业务处理效率。而且,该全节点可以根据多个区块链上报的验证信息对业务处理结果的进行共识,并将共识后的最终结果下发至使每个区块链,使每个区块链保存自身标记的业务状态时,还可以将其它区块链的业务状态保存在自身区块链中,这样,在需要查看某笔交易的相关信息时,可以仅访问一个区块链就能获得该笔交易的多个状态信息,提高了查看效率。
111.基于同一发明构思,本申请实施例提供了一种区块链系统的业务处理装置。该区块链系统的业务处理装置可以是硬件结构、软件模块、或者硬件结构加软件模块。该区块链系统的业务处理装置可以由芯片系统实现,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。请参见图3所示,该区块链系统的业务处理装置包括接收模块301、划分模块302、第一发送模块303、获得模块304和第二发送模块305。其中:
112.接收模块301,用于接收第一业务,第一业务包括第一业务的标识信息;
113.划分模块302,用于根据第一业务的标识信息,将第一业务划分为多个子业务,每个子业务对应多个区块链中的其中一个区块链;
114.第一发送模块303,用于将多个子任务分别发送给对应的区块链;
115.获得模块304,用于根据接收到的由多个区块链发送的至少一个第一处理结果,得到与至少一个第一处理结果对应的至少一个第二处理结果;
116.第二发送模块305,用于将至少一个第二处理结果下发至每个区块链,以使每个区块链保存至少一个第二处理结果。
117.在一种可能的实施方式中,接收模块301,用于:
118.接收多个区块链每个区块链发送的至少一个验证信息,其中,每个验证信息是通过每个区块链对至少一个第一处理结果中的其中一个处理结果进行验证得到的,每个验证信息为验证通过或者验证失败;
119.获得模块304用于:根据至少一个验证信息及至少一个第一处理结果,得到至少一个第二处理结果。
120.在一种可能的实施方式中,获得模块304还用于:
121.确定多个验证信息中验证通过的验证信息的数量大于预设数量,则将第一处理结果确定为第二处理结果;
122.确定多个验证信息中验证通过的验证信息的数量小于或等于预设数量,则将与第一处理结果相反的处理结果确定为第二处理结果。
123.前述的区块链系统的业务处理方法的各步骤的所有相关内容均可以援引到本申请施例中的区块链系统的业务处理装置所对应的功能模块的功能描述,在此不再赘述。
124.基于同一发明构思,本申请实施例提供了一种区块链系统的业务处理装置。该区块链系统的业务处理装置可以是硬件结构、软件模块、或者硬件结构加软件模块。该区块链系统的业务处理装置可以由芯片系统实现,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。请参见图4所示,该区块链系统的业务处理装置包括接收模块401、发送模块402和保存模块403。其中:
125.接收模块401,用于接收至少一个全节点中的其中一个全节点发送的子业务,子任务是全节点根据接收的第一业务的标识信息,将第一业务划分为多个子业务后的其中一个子业务;
126.发送模块402,用于在处理完子业务后,将与子业务对应的第一处理结果发送给全节点,以使全节点根据从多个区块链接收的与多个子业务对应的至少一个第一处理结果,得到与至少一个第一处理结果对应的至少一个第二处理结果;
127.保存模块403,用于接收并保存至少一个第二处理结果。
128.在一种可能的实施方式中,接收模块401还用于:
129.从多个区块链中的其它区块链接收至少一个第三处理结果,每个第三处理结果为其它区块链中的一个区块链所处理的子业务对应的处理结果;
130.对至少一个第三处理结果进行验证,得到至少一个验证信息,验证信息为验证通过或者验证失败;
131.发送模块402还用于:将至少一个验证消息发送给全节点,以使全节点根据至少一个第一处理结果以及至少一个验证信息得到至少一个第二处理结果。
132.在一种可能的实施方式中,保存模块403,用于:
133.以一个主状态和至少一个副状态的形式保存至少一个第二处理结果,主状态为与区块链对应的处理结果,副状态为其他区块链对应的处理结果。
134.前述的区块链系统的业务处理方法的实施例涉及的各步骤的所有相关内容均可援引到本申请施例中的区块链系统的业务处理装置所对应的功能模块的功能描述,在此不再赘述。
135.基于同一发明构思,本申请实施例提供了一种区块链系统,前述图3和图4中的区块链系统的业务处理装置的所有相关模块均可援引到本申请实施例中的区块链系统中,对于区块链系统的具体实现可参见前述区块链系统的业务处理装置所对应的功能模块的功能描述,在此不再赘述。
136.本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
137.基于同一发明构思,本申请实施例提供一种计算设备,请参见图5所示,该计算设备包括至少一个处理器501,以及与至少一个处理器连接的存储器502,本申请实施例中不限定处理器501与存储器502之间的具体连接介质,图5中是以处理器501和存储器502之间通过总线500连接为例,总线500在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线500可以分为地址总线、数据总线、控制总线等,为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
138.本申请实施例中的计算设备还可以包括通信接口503,该通信接口503例如是网口,计算设备可以通过该通信接口503接收数据或者发送数据。
139.在本申请实施例中,存储器502存储有可被至少一个处理器501执行的指令,至少一个处理器501通过执行存储器502存储的指令,可以执行前述的区块链系统的业务处理方法中所包括的步骤。
140.其中,处理器501是计算设备的控制中心,可以利用各种接口和线路连接整个设备的各个部分,通过运行或执行存储在存储器502内的指令以及调用存储在存储器502内的数据,计算设备的各种功能和处理数据,从而对计算设备进行整体监控。可选的,处理器501可包括一个或多个处理单元,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。在一些实施例中,处理器501和存储器502可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
141.处理器501可以是通用处理器,例如中央处理器(cpu)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的区块链系统的业务处理方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
142.存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器502可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(random access memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存
储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性存储器、磁盘、光盘等等。存储器502是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
143.通过对处理器501进行设计编程,可以将前述实施例中介绍的区块链系统的业务处理方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行前述的区块链系统的业务处理方法的步骤,如何对处理器501进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
144.基于同一发明构思,本申请实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行如前述的区块链系统的业务处理方法的步骤。
145.在一些可能的实施方式中,本申请提供的区块链系统的业务处理方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在主控设备上运行时,程序代码用于使智能设备执行本说明书上述描述的根据本申请各种示例性实施方式的区块链系统的业务处理方法中的步骤。
146.本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
147.本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
148.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
149.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
150.显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1