跨区块链平台的业务处理系统的制作方法

文档序号:22188320发布日期:2020-09-11 21:58阅读:154来源:国知局
跨区块链平台的业务处理系统的制作方法

本发明涉及区块链技术领域,尤其涉及一种跨区块链平台的业务处理系统。



背景技术:

随着区块链技术的发展,各大机构纷纷推出各自的区块链平台,这些平台在架构和技术上存在着诸多不同。随着实际应用场景的拓展,各机构积极推广使用各自的区块链平台的同时,也加强互联互通,合作交流。但目前大多数区块链应用场景都是针对同构区块链系统而建立,交易链路清晰,交易流程相对简单。面对复杂多链路的交易流程,需要多个机构在统一互通的区块链系统中共同合作完成,已有的系统很难快速移植应用分析复杂交易链路流程及实现异构区块链的直接交互和数据共享,目前跨链技术只针对同构技术下的多条链的数据交互,无法解决异构平台间的交易流转和数据共享的问题。这些复杂场景和异构因素成为了应用方在传统业务转型合作的障碍,不同区块链平台技术从原理、架构到实现都成为了互连合作的技术壁垒,极大程度的限制了完整业务流程的区块链化。

因此,基于上述问题,目前缺乏一种安全高效的跨区块链平台的业务处理系统。



技术实现要素:

本发明实施例提出一种跨区块链平台的业务处理系统,用以解决跨区块链平台的业务处理问题,安全性好,效率高,该系统包括:

至少一个区块链平台、与每个区块链平台对应的消息中心模块、智能合约模块和业务流程分析模块,其中,

业务流程分析模块,用于确定业务流程的链路信息,所述链路信息包括处理业务流程中业务的多个区块链平台;将链路信息和业务流程中业务的终点区块链平台的预设原像对应的哈希值发送至起点区块链平台对应的消息中心模块;

消息中心模块,用于在接收到上游区块链平台对应的消息中心模块发送的哈希值、上游业务信息和链路信息时,通过查询业务流程分析模块中存储的链路信息,对接收的链路信息进行验证,所述上游业务信息包括上游区块链平台的锁定的业务处理结果,在验证结果为通过时,向对应的区块链平台发送业务处理命令、上游业务信息,并接收对应的区块链平台反馈的锁定的业务处理结果,在对应的区块链平台不是终点区块链平台时,向下游区块链平台对应的消息中心模块发送哈希值、更新的业务信息和链路信息,所述更新的业务信息包括对应的区块链平台反馈的锁定的业务处理结果,在对应的区块链平台是终点区块链平台时,基于接收的哈希值调用智能合约模块判断终点区块链平台的业务处理是否成功,在业务处理判断结果为对应的区块链平台的业务处理成功时,向上游区块链平台对应的消息中心模块发送预设原像;在接收到预设原像后,调用智能合约模块判断对应的区块链平台的业务处理是否成功;

区块链平台,用于接收对应的消息中心模块发送的业务处理命令、上游业务信息,根据上游业务信息执行业务处理逻辑,锁定业务处理结果;向对应的消息中心模块反馈锁定的业务处理结果;

智能合约模块,用于在区块链平台对应的消息中心模块向下游区块链平台对应的消息中心模块发送哈希值、上游业务信息和链路信息后,启动时间锁,在区块链平台对应的消息中心模块在预设时长内接收到预设原像后,解锁业务处理结果,确定区块链平台业务处理成功,否则确定区块链平台的业务处理失败,所述预设时长为启动时间锁的时刻至接收到预设原像的时刻之间的时长;在区块链平台为终点区块链平台时,若终点区块链平台的预设原像与接收的哈希值一致时,确定业务处理成功,否则确定业务处理失败。

在本发明实施例中,通过业务流程分析模块确定业务流程的链路信息,再通过消息中心模块进行对应的区块链平台的上游业务信息的发送和接收,可实现跨平台的业务处理,解决了现有技术中跨平台异构平台间的交易流转和数据共享的问题,效率高,通过智能合约模块给出业务处理成功判断过程,该业务处理是否成功的判断采用了预设原像和对应的哈希值,以及时间锁,提高了业务处理的安全性。

附图说明

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

图1为本发明实施例中跨区块链平台的业务处理系统的示意图;

图2为本发明实施例中多个区块链平台进行在业务处理前的前期准备的示意图;

图3为本发明实施例中业务处理流程的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。

在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本申请的实施,其中的步骤顺序不作限定,可根据需要作适当调整。

发明人发现,现有的联盟链应用场景是针对同一底层架构的同链或跨链应用,业务信息流转在相同技术架构之上,适用于协作多方同属于一条链上的情况。已有的跨链技术研究大多也是针对同一技术平台的多条链之间的通信。但随着区块链技术应用领域的扩大,各研究机构也纷纷推出各具特色的区块链应用平台,对于涉及多方的复杂业务流程,将各协作方绑定在同一链上逐渐不再具有可操作性,这导致区块链业务应用领域受限,不利于业务流程中的各环节相互合作,且基于多链的小范围业务流程内的数据的垂直划分,也导致了数据视图的不统一,需要花费较高成本在数据维护上。

因此,本发明实施例提出了一种跨区块链平台的业务处理系统,这是一种兼容多类型区块链平台互联互通的可控业务流程的处理系统,利用可靠的消息中心模块及智能合约模块(智能合约模块采用了改进的哈希时间锁合约机制),保证异构多平台共同完成业务信息流转,保证处理的时效性、安全性和原子性,为传统领域内涉及多方上下游的复杂业务流程转型到区块链平台上提供可行的合作方案。

图1为本发明实施例中跨区块链平台的业务处理系统的示意图,如图1所示,该系统包括:

至少一个区块链平台101、与每个区块链平台对应的消息中心模块102、智能合约模块103和业务流程分析模块104,其中,

业务流程分析模块104,用于确定业务流程的链路信息,所述链路信息包括处理业务流程中业务的多个区块链平台;将链路信息和业务流程中业务的终点区块链平台的预设原像对应的哈希值发送至起点区块链平台对应的消息中心模块;

消息中心模块102,用于在接收到上游区块链平台对应的消息中心模块发送的哈希值、上游业务信息和链路信息时,通过查询业务流程分析模块中存储的链路信息,对接收的链路信息进行验证,所述上游业务信息包括上游区块链平台的锁定的业务处理结果,在验证结果为通过时,向对应的区块链平台发送业务处理命令、上游业务信息,并接收对应的区块链平台反馈的锁定的业务处理结果,在对应的区块链平台不是终点区块链平台时,向下游区块链平台对应的消息中心模块发送哈希值、更新的业务信息和链路信息,所述更新的业务信息包括对应的区块链平台反馈的锁定的业务处理结果,在对应的区块链平台是终点区块链平台时,基于接收的哈希值调用智能合约模块判断终点区块链平台的业务处理是否成功,在业务处理判断结果为对应的区块链平台的业务处理成功时,向上游区块链平台对应的消息中心模块发送预设原像;在接收到预设原像后,调用智能合约模块判断对应的区块链平台的业务处理是否成功;

区块链平台101,用于接收对应的消息中心模块发送的业务处理命令、上游业务信息,根据上游业务信息执行业务处理逻辑,锁定业务处理结果;向对应的消息中心模块反馈锁定的业务处理结果;

智能合约模块103,用于在区块链平台对应的消息中心模块向下游区块链平台对应的消息中心模块发送哈希值、上游业务信息和链路信息后,启动时间锁,在区块链平台对应的消息中心模块在预设时长内接收到预设原像后,解锁业务处理结果,确定区块链平台业务处理成功,否则确定区块链平台的业务处理失败,所述预设时长为启动时间锁的时刻至接收到预设原像的时刻之间的时长;在区块链平台为终点区块链平台时,若终点区块链平台的预设原像与接收的哈希值一致时,确定业务处理成功,否则确定业务处理失败。

在上述系统中,通过业务流程分析模块确定业务流程的链路信息,再通过消息中心模块进行对应的区块链平台的上游业务信息的发送和接收,可实现跨平台的业务处理,解决了现有技术中跨平台异构平台间的交易流转和数据共享的问题,效率高,通过智能合约模块给出业务处理成功判断过程,该业务处理是否成功的判断采用了预设原像和对应的哈希值,以及时间锁,提高了业务处理的安全性。

由图1可知,区块链平台与消息中心模块一一对应,区块链平台指参与全业务流程各环节的区块链平台,这些平台可能隶属于不同组织或不同机构,也可能采用不同底层实现技术,每个区块链平台所实现的联盟链也可能包含多个参与合作方或子系统,是子业务流程实现的主体,提供数据存储、交易同步等区块链底层功能。本发明实施例中的业务处理可以是进行交易处理、业务查询等多类银行业务。

消息中心模块用来与其他区块链平台相对接。业务流程分析模块的功能主要进行前期准备,图2为本发明实施例中多个区块链平台进行在业务处理前的前期准备的示意图,如图2所示,该示例给出了3个区块链平台,各个区块链平台之间的消息通道即通过本发明实施例中消息中心模块来实现,其中链路信息即业务流程分析模块确定的业务流程的链路信息,例如,图2中,业务流程中业务的终点区块链平台为区块链平台b,起点区块链平台为区块链平台a,则链路信息即a-c-b,该链路信息确定后,由业务流程分析模块发送至区块链平台a对应的消息中心模块。业务流程分析模块确定链路信息后,可以将链路信息形成业务转发路由表,便于后续查询使用。

在一实施例中,消息中心模块还用于:

基于业务流程分析模块中存储的链路信息,进行签名共识。

在上述实施例中,消息中心模块相当于在前期准备时,查询业务流程分析模块中存储的链路信息,对链路信息进行签名共识,从而保证业务处理在各区块链平台的安全性和可靠性。

另外,在前期准备时,业务流程分析模块还确定了终点区块链平台的预设原像r,然后将预设原像r对应的哈希值发送至起点区块链平台对应的消息中心模块,该哈希值用来保证整个链路流转的正确性。

除此之外,前期准备时,消息中心模块还用于向对应的区块链平台的上游区块链平台对应的消息中心模块,以及向对应的区块链平台的下游区块链平台对应的消息中心模块发送对应的区块链平台的身份证书,实现各个平台身份证书的交换,便于后续身份认证模块105进行身份验证。

在本发明实施例中,消息中心模块在接收到上游区块链平台对应的消息中心模块发送的哈希值、上游业务信息和链路信息时,通过查询业务流程分析模块中存储的链路信息,对接收的链路信息进行验证,而在一实施例中,消息中心模块具体用于:

对接收的链路信息进行验证时,执行以下步骤:

判断接收的链路信息中的下游区块链平台是否为所述消息中心模块对应的区块链平台,获得第一判断结果;

查询业务流程分析模块中存储的链路信息中的下游区块链平台是否为所述消息中心模块对应的区块链平台,获得第二判断结果;

在第一判断结果和第二判断结果均为是时,确定验证结果为验证通过,否则确定验证结果为验证不通过。

在上述实施例中,消息中心模块对链路信息进行了双重验证,第一重验证即对接收的上游区块链平台对应的消息中心模块发送的链路信息进行验证,该链路信息中指出了下游区块链平台,这时判断这个下游区块链平台是否为本消息中心模块对应的区块链平台,具体验证时,可以采用区块链平台的身份证书或标识进行验证,身份证书是前期准备时已经在各个区块链平台进行交换过的。第二重验证即在业务流程分析模块中也存储了链路信息,这时要验证此链路信息中的下游区块链平台是否为所述消息中心模块对应的区块链平台,只有在两次验证均通过时,才能说验证结果为验证通过。

在一实施例中,消息中心模块还用于:

在验证结果为不通过时,确定对应的区块链平台的业务处理失败。

在上述实施例中,消息中心模块给出了业务处理失败的结果,这时还可以向上游区块链平台对应的消息中心模块反馈业务处理失败信息。例如,图2中,若在c区块链平台验证失败,而区块链平台c对应的消息中心模块会向区块链平台a对应的消息中心模块反馈业务处理失败信息。

在一实施例中,所述上游业务信息包括上游区块链平台的标识;

消息中心模块还用于:在接收到上游区块链平台对应的消息中心模块发送的哈希值、上游业务信息和链路信息时,判断业务流程分析模块中存储的链路信息的上游区块链平台的标识是否与上游业务信息中的上游区块链平台的标识一致,在判断结果为一致且验证结果为通过时,向对应的区块链平台发送业务处理命令、上游业务信息,在判断结果为不一致且验证结果为通过时,向下游区块链平台对应的消息中心模块发送哈希值、上游业务信息和链路信息。

在上述实施例中,所述标识可以是区块链平台的id或token等标识。除了标识外,还可以判断区块链平台的身份证书,来验证是否一致。除了标识和身份证书外,还可以制定其他的规则,相关变化例均应落入本发明的保护范围,判断结果为不一致时,区块链平台可拒绝接受或转发该笔交易(处理该业务)。

在一实施例中,业务流程分析模块还用于:

分析业务的区块链平台内的业务处理节点和处理顺序。

在上述实施例中,若确定了需要区块链平台进行业务处理,而该区块链平台包括多个业务处理节点,那么就要确定在每个业务处理节点的处理顺序,从而保证业务正常处理。

在一实施例中,区块链平台还用于:

根据业务处理节点和处理顺序,以及上游业务信息执行业务处理逻辑。

在上述实施例中,以图2中示例中的账户扣款业务举例,区块链平台a执行账户扣款的所有业务处理逻辑,包括完成账户查询、余额检查、扣款条件检查等,最后一步即执行扣款动作,但此时区块链平台a锁定业务处理结果,即不执行最后扣款动作,反馈的锁定的业务处理结果,只有在预设时长内收到区块链平台c的预设原像r后,才解锁业务处理结果,即执行扣款动作。上述主要利用了智能合约模块的改进的哈希时间锁原理,保证了业务处理的原子性和安全性。

在一实施例中,消息中心模块还用于:

对所述消息中心模块对应的区块链平台应用负载均衡策略,允许一个业务处理节点执行业务处理逻辑时启动多个实例。

在上述实施例中,负载均衡策略可以通过开源框架实现,允许一个业务处理节点执行业务处理逻辑时启动多个实例,即实现了业务处理的并发,保证了系统的高可用性和稳定性。

在一实施例中,所述系统还包括身份认证模块105,用于:

基于预先配置的权限验证规则和区块链平台的身份证书,验证区块链平台是否有权限处理业务;

消息中心模块还用于:

在向对应的区块链平台发送业务处理命令、上游业务信息前,调用身份认证模块验证对应的区块链平台是否有权限处理业务,获得权限验证结果;

在权限验证结果为具有权限时,向对应的区块链平台发送业务处理命令、上游业务信息。

在上述实施例中,在进行所有业务处理前,先对区块链平台是否有权限处理业务,只有在有权限时,才进行业务处理,进一步提高了业务处理的安全性。

在一实施例中,智能合约模块还用于:

对锁定的业务处理结果进行加密;

消息中心模块还用于:在接收对应的区块链平台反馈的锁定的业务处理结果后,调用智能合约模块对锁定的业务处理结果进行加密。

在上述实施例中,通过加密处理,使得非相关人员不会看到锁定的业务处理结果,防止数据被窃密、篡改和伪造,例如投资者网上证券交易的委托数据、通讯安全等保证信息在互联网上进行安全传输,加密传输的方法主要是使用加密技术、数字签名技术、时间戳、数字凭证技术等,最常用的技术为安全会接层协议(ssl)。而进行加密时,可以分区块链平台进行,即有需要的区块链平台可以进行加密,而有的区块链平台可以不加密,灵活性高。

在一实施例中,消息中心模块还用于:

在确定业务处理失败后,向对应的区块链平台发送业务回退命令;

区块链平台还用于:在接收到业务回退命令后,回退业务。

在上述实施例中,为了保证业务的安全性,要对处理失败的业务进行回退。

基于上述实施例,本发明给出如下一个实施例来说明业务处理的详细流程。图3为本发明实施例中业务处理流程的示意图,对于业务是交易处理来说,上游业务信息即图3中的交易信息,首先,业务流程分析模块确定链路信息是a-c-b这条链路,并将链路信息和区块链平台b的预设原像r对应哈希值h发送至消息中心模块a,分析业务的每个区块链平台内的业务处理节点和处理顺序,区块链平台a对应消息中心模块a,区块链平台b对应消息中心模块b,区块链平台c对应消息中心模块c,三个消息中心模块基于业务流程分析模块中存储的链路信息,进行签名共识,具体的业务流程可分为两种情况:

情况一:区块链平台c处理业务

区块链平台a执行业务处理逻辑,锁定业务处理结果a;向消息中心模块a反馈锁定的业务处理结果a,消息中心模块a调用智能合约模块对锁定的业务处理结果a进行加密;消息中心模块a向消息中心模块b发送哈希值、上游业务信息和链路信息,上游业务信息包括业务处理结果a;智能合约模块启动时间锁;

消息中心模块b接收到消息中心模块a发来的信息后,调用身份认证模块验证区块链平台b是否有权限处理业务,获得权限验证结果,在权限验证结果为具有权限时,对接收的链路信息进行验证,验证结果为不通过时,回退业务,之后判断业务流程分析模块中存储的链路信息的区块链平台a的标识是否与上游业务信息中的区块链平台a的标识一致,在判断结果为一致且验证结果为通过时,向区块链平台b发送业务处理命令、上游业务信息,区块链平台b根据上游业务信息执行业务处理逻辑,锁定业务处理结果b;向对应的消息中心模块反馈锁定的业务处理结果b;消息中心模块b调用智能合约模块对锁定的业务处理结果b进行加密;消息中心模块b向消息中心模块c发送哈希值、上游业务信息和链路信息,上游业务信息包括业务处理结果b;智能合约模块启动时间锁;

消息中心模块c接收到消息中心模块b发来的信息后,调用身份认证模块验证区块链平台c是否有权限处理业务,获得权限验证结果,在权限验证结果为具有权限时,对接收的链路信息进行验证,验证结果为不通过时,回退业务,之后判断业务流程分析模块中存储的链路信息的区块链平台b的标识是否与上游业务信息中的区块链平台b的标识一致,在判断结果为一致且验证结果为通过时,向区块链平台c发送业务处理命令、上游业务信息,区块链平台c根据上游业务信息执行业务处理逻辑,锁定业务处理结果c;向对应的消息中心模块反馈锁定的业务处理结果c;消息中心模块c调用智能合约模块对锁定的业务处理结果c进行加密。

消息中心模块b向消息中心模块c提供预设原像r,智能合约模块判断是否在预设时长内接受到预设原像r,若是,解锁业务处理结果c,确定区块链平台c业务处理成功,否则确定业务处理失败,进行业务回退;

消息中心模块c向消息中心模块a提供预设原像r,智能合约模块判断是否在预设时长内接受到预设原像r,若是,解锁业务处理结果a,确定区块链平台a业务处理成功,否则确定业务处理失败,进行业务回退。

情况二:区块链平台c作为中转站,进行信息转发,不处理业务

情况二与情况一的区别体现在区块链平台c上,消息中心模块c在判断结果为不一致且验证结果为通过时,说明区块链平台c只是中转站,进行信息转发,而不处理业务,则向消息中心模块c发送哈希值、上游业务信息和链路信息,其他与情况一相同,这里不再赘述。

综上所述,在本发明实施例提出的系统中,通过业务流程分析模块确定业务流程的链路信息,再通过消息中心模块进行对应的区块链平台的上游业务信息的发送和接收,可实现跨平台的业务处理,解决了现有技术中跨平台异构平台间的交易流转和数据共享的问题,效率高,通过智能合约模块给出业务处理成功判断过程,该业务处理是否成功的判断采用了预设原像和对应的哈希值,以及时间锁,提高了业务处理的安全性。另外,本系统还包括身份认证模块,通过各区块链平台的权限认证,进一步提高了业务处理的安全性。智能合约模块还用于对锁定的业务处理结果进行加密,使得非相关人员不会看到锁定的业务处理结果,防止数据被窃密、篡改和伪造,而进行加密时,可以分区块链平台进行,即有需要的区块链平台可以进行加密,而有的区块链平台可以不加密,灵活性高。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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