一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于异构链的数据处理方法及装置与流程

2022-03-19 21:10:44 来源:中国专利 TAG:


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.获取所述第二区块链节点所在的区块链;
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.存储器,用于存储程序;
60.处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时, 所述处理器用于执行如上第一方面以及第一方面各种可能的设计中任一所述 的方法。
61.第四方面,本技术实施例提供一种计算机可读存储介质,包括指令,当 其在计算机上运行时,使得计算机执行如上第一方面以及第一方面各种可能 的设计中任一所述的方法。
62.第五方面,本技术实施例提供一种计算机程序产品,所述程序产品包括: 计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个 处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器 执行所述计算机程序使得电子设备执行如上第一方面以及第一方面各种可能 的设计中任一所述的方法。
63.本技术实施例提供一种基于异构链的数据处理方法及装置,该方法包 括:接收第一区块链节点发送的第一交易信息。确定第一交易信息对应的第 二区块链节点,第一区块链节点和第二区块链节点位于不同的区块链。获取 第二区块链节点对应的验证规则。通过验证规则对第一交易信息进行规则转 换处理,得到第二交易信息。向第二区块链节点发送第二交易信息。在本申 请所提方案中,通过验证规则对第一交易信息进行规则转换处理,将第一交 易信息转换为符合第二区块链规则的第二交易信息,将第二交易信息发送至 第二区块链节点这提高了异构链跨链交易的数据处理效率。
附图说明
64.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下 面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在 不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
65.图1为本技术实施例提供的一种区块链跨链网关的系统架构的示意图;
66.图2为本技术实施例提供的一种应用场景的示意图;
67.图3为本技术实施例提供的一种异构链管理的示意图;
68.图4为本技术实施例提供的验证规则部署、注册和审核的时序图;
69.图5为本技术实施例提供的基于异构链的数据处理方法的流程图一;
70.图6为本技术实施例提供的基于异构链的数据处理方法的流程图二;
71.图7为本技术实施例提供的基于异构链的数据处理装置的结构示意图;
72.图8为本技术实施例提供的基于异构链的数据处理设备的硬件结构示意 图。
具体实施方式
73.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本申 请实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述, 显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于 本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获 得的所有其他实施例,都属于本技术保护的范围。
74.为了便于理解本技术的技术方案,首先对本技术所涉及的相关概念进行 介绍:
75.区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机 技术的新型应用模式。区块链本质上是一个去中心化的数据库,同时作为比 特币的底层技术,是一串使用密码学方法相关联产生的数据块即区块。其中, 每个区块中包含了一批次交易数据处理信息,用于验证其信息的有效性防伪 和生成下一个区块。
76.区块链由多个区块链接而成。其中,用于存储数据信息的载体称为区块。 从技术上来讲,区块是一种记录交易的数据结构,反映了一笔交易的资金流 向。区块按时间顺序排列,每一个区块记录着它在被创建期间发生的交易信 息,所有区块有序链接起来以汇聚成一本“总账”,而每个区块可作为总账中 的一页。每个区块均包含的要素:本区块的身份标识(identification,id)、 若干交易单以及前一个区块的id。
77.单一的区块链网络是一个相对封闭的体系,不会主动与本区块链之外的 区块链进行交互,每条区块链的资产是一个独立的价值体系而存在。
78.根据准入机制不同,可以将区块链分为公有链、联盟链以及私有链。换 句话说,区块链账本的公开程度决定了它是公有链、联盟链以及私有链。
79.接下来,对公有链、联盟链以及私有链这三种区块链进行详细的介绍。
80.公有链是任何人都能参与读取、交易、写入的区块链,完全去中心化, 账本信息公开透明,不受任何机构控制。公有链存在交易延时高、成本高和 效率低等缺点。公有链的典型代表有以太坊、eos等。
[0081][0082]
私有链是指记账权由单独的个人或机构掌握的区块链项目。其特点有记 账中心
化、效率高、无记账成本、隐私性极好等特点。使用场景为机构内部 的审计。
[0083]
联盟链,是指参与节点事先确定好的区块链,只对联盟内部成员开放全 部或部分功能。其特点介于公有链和私有链之间,账本半公开化、交易确认 速度较快,记账成本低,数据有一定的隐私性。其典型代表是hyperledger的 超级账本。
[0084]
跨链交易,狭义上来说是两个相对独立的区块链账本间进行资产互操作 的过程;广义上来说是两个独立的账本间进行资产、数据互操作的过程。
[0085]
异构跨链是指架构不同的区块链之间进行跨链。异构链的跨链交互实现 相对复杂,直接跨链交互机制不易设计,异构链之间的跨链交互一般需要第 三方辅助服务辅助跨链交互。
[0086]
下面,对本技术所涉及的现有技术、现有技术的技术问题,以及本技术 的技术构思进行介绍:
[0087]
随着区块链技术的不断发展,区块链的之间的互通性问题限制了区块 链的应用空间。作为区块链向外拓展和连接的桥梁,跨链技术将原本不同 不同的、独立的区块链上的信息、价值进行交换和流通。
[0088]
在相关技术中,公证人机制是跨链技术中易于维护和扩展的一种,通 常由单一指定的第三方机构或者独立节点充当公证人,它同时承担了数据 收集、交易确认、验证规则的任务,从而实现跨链交易处理。
[0089]
然而,在公证人机制中任何的跨链交易均需要第三方机构或节点的参 与,一旦第三方机构或节点出现问题,则会导致跨链交易处理效率较低。
[0090]
基于上述存在的问题,本技术提出了如下的技术构思:要实现异构跨 链数据处理,即例如将区块链1上的交易数据放在与区块链1异构的区块 链2上进交易数据处理。考虑到,在区块链交易处理中需要根据验证规则 对区块链交易进行存在性验证和有效性验证。由于每个链的异构性导致每 个链的验证规则不一样,异构链上的规则验证无法为异构跨链交易提供统 一的规则验证。为了实现异构跨链交易在异构链上能够得到有效的规则验 证,因此通过在两个异构链之间部署一个跨链网关,来实现两异构链的互 通。其中,可以在跨链网关中对区块链进行验证规则部署、注册等操作, 来实现对异构跨链交易的规则验证、转换,将异构跨链交易的规则转换为 区块链2所支持的规则,因此转换规则后的异构跨链交易可以在区块链2 上进行处理,从而实现对异构跨链交易的数据处理,这提升了异构跨链交 易的数据处理效率。
[0091]
下面,结合图1,介绍本技术实施例的区块链跨链网关的系统架构, 图1为本技术实施例提供的一种区块链跨链网关的系统架构的示意图。
[0092]
跨链网关用于对接具体类型区块链以及转发跨链消息。请参见图1, 区块链跨链网关采取分层架构,主要包括以下六部分,分别为:代理网 关、接口网关、交易处理组件、区块链统一监控、异构链组件以及基础 组件。
[0093]
接下来,对各个部分进行详细介绍。
[0094]
代理网关,又称代理服务器(nginx):主要负责互联网协议(internetprotocol,ip)路由绑定、心跳检测等功能,确保区块链节点与外链节点保 持通信。
[0095]
接口网关:对外提供统一的google远程过程调用(google remoteprocedure call,grpc)接口和表现层状态转移(representational statetransfer,restful)接口。
业务系统可通过此接口进行交易报文的上、下链。 其中,交易报文是指在转账交易的过程中需通过银行等系统中发送的信 息文件。其中,信息文件中包括传输金额、业务类型、客户唯一编码等 资料。
[0096]
交易处理组件包括:报文转换、证书中心、交易验证与规则引擎四 个模块。其中,报文转换模块用于将交易报文按照预设格式进行报文转 换处理,以使从报文转换处理得到的报文内容中提取有用信息。
[0097]
规则引擎用于对跨链交易进行区块链交易数据处理。
[0098]
区块链统一监控,主要用于对跨链网关的多区块链节点进行区块、 合约、通道、性能、上链实务编号等区块链通用特征进行监控,并且兼 具异构链管理功能。例如,可以统一监控以下内容:心跳检测、节点统 计、链统计、交易统计、合约统计以及异构链管理。
[0099]
异构链组件,根据不同区块链底层技术、共识算法与行内容器平台 进行适配对接,实现区块链节点和智能合约的自动部署、弹性扩容。例 如,包括民生银行区块链、utxo、以太坊、fabric。其中,民生银行 区块链属于一种银行业自主研发联盟链技术;以太坊属于一种公有链技 术;fabric属于一种开源联盟链技术;utxo属于一种具备账户记账的 模型,是一个用于存储未花费的交易输出模型的公有链技术。
[0100]
基础组件包括kubernetes(k8s)集群、容器(docker)以及镜像。 其中,kubernetes用于管理区块链跨链网关中多个主机(服务器)上的 容器化的应用。
[0101]
下面,结合图2,介绍本技术实施例的一种应用场景,图2为本申 请实施例提供的一种应用场景的示意图。
[0102]
请参见图2,包括第一区块链、跨链网关以及第二区块链。其中, 跨链网关用于对接具体类型区块链、对跨链交易进行规则转换并将规则 转换后的跨链交易发送至目标区块链中。第一区块链包括多个第一区块 连接点。例如第一区块链包括第一区块链节点1、第一区块链节点2、 第一区块链节点3以及第一区块链节点4等等。同样的,第二区块链包 括多个第二区块连接点。例如第二区块链包括第二区块链节点1、第二 区块链节点2、第二区块链节点3以及第二区块链节点4等等。
[0103]
例如,第一区块链中第一区块链节点2发送第一交易的目标区块链 节点为第二区块链上的第二区块链节点3。具体的,第一区块链中第一 区块链节点2发送第一交易至跨链网关。经跨链网关处理后将第一交易 转换为第二交易,跨链网关将第二交易路由至第二区块链上的第二区块 链节点3,从而实现了第一交易的跨链数据处理。其中,第一交易的规 则与第一区块链的规则一致。跨链网关将第一交易的规则转换为与第二 区块链的规则一致的规则,得到转换规则后的第一交易,即第二交易。 跨链网关通过路由模块将第二交易转发至第二区块链中的第二区块链 节点3上的进行处理,即完成了异构跨链数据处理。
[0104]
为了便于理解本方案,在详细介绍本技术所提出的基于异构链的数 据处理方法之前,先对区块链跨链网关中异构链管理和验证规则的注册、 更新等处理进行介绍:
[0105]
下面,结合图3,介绍本技术实施例的一种异构链管理方法,图3 为本技术实施例提供的一种异构链管理的示意图。
[0106]
异构链管理是实现异构链跨链的辅助服务,跨链网关对异构链的管 理主要包括异构链的注册、更新、审核和注销四个操作。如图3所示, 在异构链管理过程中包括异构链管理员和跨链网关管理员。统一监控模 块对异构管理员和跨链网关管理员交互操作的全
过程进行监控,并且兼 具异构链管理功能。
[0107]
异构链管理员:异构链内各联盟机构指定的运维管理员,负责异构 链在跨链网关上的注册、更新操作,同时维护跨链网关。加入跨链网关 之前,异构链管理员为跨链网关生成一个公私钥对,并在注册时携带公 钥信息。
[0108]
跨链网关管理员:参与链级别的权限管理工作,包括系统和内置合 约升级、异构链的审核和注销,验证规则的审核和注销等操作。
[0109]
下面,结合图3,对在跨链网关上进行异构链注册的过程进行说明。
[0110]
异构链管理员在跨链网关上进行异构链注册时,需要给统一监控模 块提供以下信息包括但不限于:验证者信息、共识算法类型、链类型、 链名称、链描述以及跨链网关公钥信息。
[0111]
其中,验证者信息包括但不限于多个验证者的私钥签名的加密签名、 验证者的数量。交易验证模块中的验证引擎用于根据跨链交易是否有一 定数量的验证者签名来确定跨链交易的存在性。需要说明的是,若区块 链为fabric联盟链技术,那么验证信息除了包括验证者信息外,还需要 相关的背书策略。
[0112]
共识算法类型包括但不限于raft协议、pbft协议等。其中,不 同共识算法判断一个跨链交易是否存在的判断条件是不一样的。
[0113]
链类型,记录异构链的链类型。如果异构链在跨链网关上未注册验 证规则,那么会根据异构链所属的链类型使用该链类型对应默认的验证 规则去验证跨链交易。
[0114]
链名字、链描述:为异构链管理员给异构链取的名字和具体描述信 息。
[0115]
跨链网关公钥信息,用于不同跨链网关之间进行密钥协商来保护跨 链数据的隐私性。
[0116]
通过统一监控模块将异构链的信息发送给跨链网关管理员进行审 核,跨链网关管理员审核通过后向统一监控模块发送信息以告知统一监 控模块审核已通过。
[0117]
异构链注册后在跨链网关上还未审核通过时,不允许更新异构链信 息,而且发送的跨链交易与发送给它的跨链交易都会被视为无效交易。 异构链注册时所用身份信息(一开始生成的公私钥对)会被作为识别跨 链交易的唯一标示,所以跨链网关发送跨链交易的时候也需要使用这一 个公私钥对。
[0118]
下面,对跨链网关管理员对异构链注册信息的审核过程进行说明。
[0119]
跨链网关管理员对异构链注册信息进行核对,特别是验证者信息与 公钥信息。当审核不通过时,跨链网关管理员需要提供审核建议,以供 异构管理员查看注册不成功的原因。
[0120]
对于异构链的更新和注销操作与注册的操作流程类似,此处不再赘 述。需要注意的是,异构链验证节点更换或者共识算法更换时,可以由 异构链管理员进行异构链更新操作。在异构链更新过程中,跨链网关不 接受该异构链相关的跨链交易。其中,验证节点可以为共识节点。
[0121]
下面,结合图4,对验证规则进行管理的内容进行说明,图4为本 申请实施例提供的验证规则部署、注册和审核的时序图。
[0122]
验证规则是供验证引擎对跨链交易验证存在性和有效性所用的。验 证规则可以看作为区块链里面的智能合约。其中,验证规则和智能合约 一样,有一定的生命周期。考虑
到每个区块链的异构性导致每条区块链 的验证规则也不一样,跨链网关无法为所有区块链提供统一的验证规则, 因此当异构链加入跨链网关时,需要由异构链管理员针对各个异构链进 行相应验证规则的部署、注册、审核以及更新等操作。
[0123]
需要理解的是,异构链开发人员需要根据区块链的特点进行验证规 则的开发,比如在fabric联盟链技术中,验证规则需要根据区块链注册 时提供的验证者信息和背书策略实现跨链交易存在性验证逻辑,来保证 跨链交易确实是从该fabric联盟链中发出的。除此之外,在有回调的跨 链请求中,验证规则还需要负责调用有效性的验证。
[0124]
验证规则开发完之后,参见图4,由异构链管理员会在规则引擎容 器中部署验证规则,验证规则成功后规则引擎容器会返回一个验证规则 合约地址。部署成功的验证规则只是一个记录在跨链网关上能由规则引 擎容器进行执行的逻辑代码,此时还不能用于跨链交易的验证。
[0125]
接下来,异构链管理员需要进行验证规则注册,这一步主要的目的 是将验证规则地址和异构链进行绑定。只有绑定了验证规则的异构链, 在验证跨链交易的时候,验证引擎才知道选用哪个验证规则来对跨链交 易进行验证。
[0126]
跨链网关管理员同步到验证规则注册请求后,会从规则引擎容器中 获取相关的验证规则代码进行检查和审核。
[0127]
另外,当异构链验证节点信息新增、更换时,或者验证策略变动时, 需要由异构链管理员进行验证规则的更新。验证规则更新操作和前面的 步骤类似,先进行验证规则的部署操作再进行更新操作,此处不再赘述。
[0128]
基于上述介绍的技术构思,下面结合图5和一个具体的实施例对本技术 所提供的基于异构链的数据处理方法进行详细介绍,图5为本技术实施例提 供的基于异构链的数据处理方法的流程图一。
[0129]
如图5所示,该方法包括:
[0130]
s501、接收第一区块链节点发送的第一交易信息。
[0131]
本技术实施例的执行主体可以为跨链网关,也可以为设置在跨链网关的 数据处理装置。其中,跨链网关的数据处理装置可以通过软件和/或硬件的结 合来实现。
[0132]
第一区块链节点为第一区块链上的一个区块链节点。其中,区块链节点 是指在区块链分布式网络中参与数据共识计算的服务器及其搭载其上的应用 软件与账本信息。
[0133]
又例如,第一交易信息包括以下至少一项:第一区块链合约id1,第二 区块链合约id2,跨链交易索引,第一区块链节点信息,第二区块链区信息, 跨链交易证明,自定义字段。
[0134]
s502、确定第一交易信息对应的第二区块链节点,第一区块链节点和第 二区块链节点位于不同的区块链。
[0135]
基于上述步骤s501,接收到第一区块链节点发送的第一交易信息,从第 一交易信息中可以获取第二区块链节点信息。
[0136]
下面,对确定第二区块链节点的一种可能的实现方法进行示例性说明。
[0137]
在一种可能的实现方式中,从第一交易信息中获取第二区块链节点地址, 将第二区块链节点地址对应的区块链节点确定为第二区块链节点。
[0138]
s503、获取第二区块链节点对应的验证规则。
[0139]
验证规则是用于验证跨链交易存在性和有效性的规则。例如,区块链里 面的智能合约。基于每个区块链的异构性,造成每个区块链的验证规则也是 不一样的。因此,要使跨链网关对跨链交易完成跨链到对应的第二区块链上, 择需要在跨链网关上对第二区块链对应的验证规则进行注册、部署等操作。
[0140]
下面,对第二区块链节点对应的验证规则的一种可能的实现方式进行示 例性的说明。
[0141]
在一种可能的实现方式中,根据第一交易信息中第二区块链节点地址, 确定第二区块链节点地址所在的区块链、将第二区块链节点地址所在的区块 链确定为第一交易信息对应的第二区块链并确定第二区块链标识。根据跨链 网关所记录的内容和第二区块链标识,依次判断该第二区块链是否在跨链网 关中注册、是否被冻结、是否成功部署验证规则等。若确定该第二区块链在 跨链网关中已注册、未被冻结、已成功部署验证规则,则通过在跨链网关中 验证规则管理合约中获取该第二区块链对应的验证规则地址。根据该第二区 块链对应的验证规则地址,获取第二区块链对应的验证规则,即第二区块链 节点对应的验证规则。
[0142]
其中,部署在跨链网关上的验证规则是可由规则引擎容器件进行执行的 逻辑代码。
[0143]
需要强调说明的一点,每条区块链上的多个区块链节点具有统一的验证 规则。
[0144]
s504、通过验证规则对第一交易信息进行规则转换处理,得到第二交易 信息。
[0145]
基于上述步骤s503获取到第二区块链节点对应的验证规则,接下来,通 过验证规则对第一交易信息进行规则转换处理,得到第二交易信息的一种可 能的实现方式进行示例性的说明。
[0146]
在一种可能的实现方式中,首先对第一交易信息进行报文转换处理。报 文转换处理后,得到第一交易信息对应的交易基本字段。
[0147]
对交易基本字段进行合法性检查,获得第一交易信息对应的合法性检查 结果。其中,交易基本字段包括但不限于时间戳、nonce和from地址等字段。 若确定第一交易信息对应的合法性检查结果为合格,则在获取第二区块链节 点对应的验证者信息。其中,将第二区块链对应的验证者信息确定为第二区 块链节点对应的验证者信息。将第二区块链节点对应的验证者信息和交易基 本字段作为参数,输入到验证规则中并运行验证规则,得到验证结果。若验 证结果为成功,则表示第一交易信息已通过验证规则完成了规则转换处理, 第一交易信息规则转换处理后得到第二交易信息。
[0148]
s505、向第二区块链节点发送第二交易信息。
[0149]
基于上述步骤s504,对第一交易信息完成了规则转换处理,得到第二交 易信息。接下来,将第二交易信息转发至第二区块链节点中。
[0150]
下面,对向第二区块链节点发送第二交易信息的一种可能的实现方法进 行示例性的说明。
[0151]
在一种可能的实现方式中,将第二交易信息转发至路由模块,由路由模 块将第二交易信息转发至第二区块链节点所在的地址,即完成将第二交易信 息转发至第二区块链节点。
[0152]
本技术实施例提供的基于异构链的数据处理方法,包括:接收第一区 块链节点发
送的第一交易信息。确定第一交易信息对应的第二区块链节点, 第一区块链节点和第二区块链节点位于不同的区块链。获取第二区块链节点 对应的验证规则。通过验证规则对第一交易信息进行规则转换处理,得到第 二交易信息。向第二区块链节点发送第二交易信息。在本技术所提方案中, 通过验证规则对第一交易信息进行规则转换处理,将第一交易信息转换为符 合第二区块链规则的第二交易信息,将第二交易信息发送至第二区块链节点 这提高了异构链跨链交易的数据处理效率。
[0153]
在上述实施例的基础上,下面结合一个具体的实施例对本技术提供的基 于异构链的数据处理方法进行进一步的介绍,结合图6进行介绍,图6为本 申请实施例提供的基于异构链的数据处理方法的流程图二。
[0154]
如图6所示,该方法包括:
[0155]
s601、接收业务系统发送的第三交易信息。
[0156]
业务系统是指能够进行业务处理并产生交易信息的处理系统。例如,可 以为贸易金融业务系统,供应链金融业务系统等。
[0157]
第三交易为业务系统所产生的交易。第三交易信息包括但不限于交易金 额、转出方、收入方、交易时间等。
[0158]
在一种可能的实现方式中,根据业务系统所支持的协议,在跨链网关上 选择合适的接口网关对业务系统所产生的交易数据进行接入。例如协议包括 但不限于grpc协议、restful协议。在跨链网关上,根据所支持的协议不同, 接口网关包括但不限于grpc接口、restful接口。例如,若业务系统所支持 的协议为grpc协议,那么选择通过跨链网关上的grpc接口来对业务系统 进行对接,从而将业务系统所产生的多个第三交易信息输入至跨链网关中。
[0159]
s602、对第三交易信息进行合法性验证,并在确定合法性验证成功时, 向第一区块链节点发送第三交易信息,以使第一区块链节点对第三交易信息 进行共识处理得到第一交易信息。
[0160]
基于上述步骤s601,通过跨链网关上的接口网关接收业务系统所产生的 第三交易信息。
[0161]
下面,对第三交易信息进行合法性验证的一种可能的实现方式进行示例 性的说明。
[0162]
在一种可能的实现方式中,在通过跨链网关上的接口网关接收业务系统 所产生的第三交易信息后,对第三交易信息进行报文转换进行交易基本字段 检查,包括时间戳、nonce和from地址等字段的合法性验证,以确定第三 交易信息对应的合法性验证结果。若确定第三交易信息对应的合法性验证结 果为成功时,则跨链网关向第一区块链节点发送第三交易信息。需要说明的 是,在第一区块链节点收到第三交易信息后,第一区块链节点将第三交易信 息存储至第一区块链节点中的交易池中,随后交易池中的交易会被定时打包 成一个交易列表并进行共识处理。第一区块链节点对第三交易信息进行共识 处理后,得到第一交易信息。
[0163]
s603、接收第一区块链节点发送的第一交易信息。
[0164]
其中,步骤s603与步骤s501的具体实现方式类似,对此不再赘述。
[0165]
s604、确定第一交易信息对应的第二区块链节点,第一区块链节点和第 二区块链
节点位于不同的区块链。
[0166]
其中,步骤s604与步骤s502的具体实现方式类似,对此不再赘述。
[0167]
s605、判断第二区块链节点所在的区块链是否具有异构链权限、以及判 断跨链网关是否已注册第二区块链节点对应的验证规则,异构链权限用于指 示第二区块链节点所在的区块链具有处理来自其它区块链的交易信息的权限。
[0168]
在本实施例中,基于上述步骤s603根据第一交易信息获得到第二区块链 节点所在的区块链。接下来,对判断第二区块链节点所在的区块链是否具有 处理来自其它区块链的交易信息的权限,以及判断在跨链网关中是否已注册 第二区块链节点对应的验证规则的一种可能的实现方式进行示例性说明。
[0169]
在一种可能的实现方式中,通过判断第二区块链节点所在的区块链是否 在跨链网关已注册。若在跨链网关中的已注册区块链列表中可以找到第二区 块链节点所在的区块链,则可以确定第二区块链节点所在的区块链在跨链网 关已注册。进一步的,判断在跨链网关中是否包括第二区块链节点所在区块 链的公钥证书。若在跨链网关中包括第二区块链节点所在区块链的公钥证书, 则可以确定第二区块链所在的区块链具有异构链权限。当确定第二区块链节 点所在的区块链具有异构链权限后,判断第二区块链节点所在的区块链是是 否在跨链网关中注册、部署了验证规则。若在跨链网关中可以查到第二区块 链节点所在区块链对应的验证规则,则表明跨链网关已注册第二区块链节点 对应的验证规则。
[0170]
s606、获取第一交易信息对应的交易标识的连续性。
[0171]
交易标识例如可以为交易对应的序号。
[0172]
需要强调的说明的是,进行异构链跨链数据处理的交易可以至少分为以 下两种:第一种,是由业务系统发出的交易。针对这种交易,需要检查业务 系统发出交易对应的交易标识的连续性。第二种,是由第二区块链节点所在 的区块链返回的包含跨链数据处理结果的交易。针对这种交易,需要检查保 证第二区块链节点所在区块链返回交易对应的交易标识的连续性。
[0173]
下面,对获取第一交易信息对应的交易标识的连续性的一种可能的实现 方式进行示例性说明。
[0174]
在一种可能的实现方式中,获取第一交易信息对应的交易标识。根据比 对跨链网关历史收到的交易的序号以及第一交易信息对应的交易标识,确定 第一交易信息对应交易标识的连续性。具体的,以交易标识为交易对应的序 号、第一交易为业务系统发送的交易为例,进行说明。获取第一交易信息对 应的序号。假定,业务系统先后发送的交易对应的序号依次增大。若第一交 易信息对应的序号均大于跨链网关历史收到的交易的序号,则表明第一交易 信息对应的序号有序排列,即具有连续性。
[0175]
在本实施中,只是对业务系统发送交易对应的交易标识的特点进行示例 性的说明,并不是做以限制,这个可以根据实际情况进行确定,只要根据交 易对应的交易标识,可以判断各交易标识的连续性即可。
[0176]
s607、若第二区块链节点所在的区块链具有异构链权限,跨链网关已注 册第二区块链节点对应的验证规则,以及第一交易信息对应的交易标识与上 一个交易信息的标识连续,则确定验证结果为验证通过。
[0177]
s608、在确定验证结果为验证通过时,获取第二区块链节点所在的区块 链。
[0178]
s609、获取第二区块链节点所在的区块链对应的规则地址。
[0179]
接下来,将步骤s607-s609放在一起进行说明。
[0180]
在本实施例中,当确定验证结果为验证通过,且根据第一交易信息中第 二区块链节点的地址确定出第二区块链节点所在的区块链后,在跨链网关中, 获取第二区块链节点所在的区块链对应的规则地址。
[0181]
s610、根据规则地址,获取第二区块链节点对应的验证规则。
[0182]
基于上述步骤s609,获取了第二区块链节点所在的区块链对应的规则地 址后,在跨链网关中按照第二区块链节点所在的区块链对应的规则地址,获 取第二区块链节点对应的验证规则。
[0183]
s611、对第一交易信息进行解析处理,得到第一交易信息中的证明数据。
[0184]
解析处理,例如可以为报文转换处理。
[0185]
证明数据为用于证明第一交易存在性和有效性的数据,例如可以为区块 链进行共识处理时所需的数据。
[0186]
下面,对第一交易信息进行解析处理的一种可能的实现方式进行示例性 的说明。
[0187]
在一种可能的实现方式中,对第一交易信息进行处理报文转换处理,得 到报文处理后第一交易信息对应的交易基本字段。根据报文协议和第一交易 信息对应的交易基本字段中,获取第一交易信息中的证明数据。
[0188]
例如,在对第一交易信息进行报文处理后,得到的第一交易信息对应的 交易基本字段为:12000,0101233,aaa,bc1。若报文协议中确定的最后一 个字段为用于共识的数据,那么第一交易信息中的证明数据为:bc1。
[0189]
s612、获取第一交易信息对应的多个验证者信息。
[0190]
验证者信息包括但不限于多个验证者的私钥签名的加密签名、验证 者的数量。
[0191]
下面,对获取第一交易信息对应的多个验证者信息的一种可能的实现方 式进行示例性说明。
[0192]
在一种可能实现方式中,在跨链网关中获取第二区块链节点所在区块链 对应的验证者信息,将该验证者信息确定为第一交易信息对应的多个验证者 信息,即获取到第一交易信息对应的多个验证者信息。
[0193]
s613、将多个验证者信息和证明数据确定为验证规则的输入参数,并执 行验证规则,得到第二交易数据。
[0194]
其中,部署在跨链网关上的验证规则是可由规则引擎容器件进行执行的 逻辑代码。
[0195]
基于上述步骤s611以及步骤s612,获取到多个验证者信息和证明数据, 接下来,对将第一交易信息转换为符合第二区块链节点所在区块链的规则的 第二交易数据的一种可能的实现方法进行示例性说明。
[0196]
在一种可能的实现方式中,将第一交易信息对应的多个验证者信息和证 明数据确定为验证规则的输入参数,并运行验证规则,得到的运行结果即为 第二交易数据。
[0197]
s614、向第二区块链节点发送第二交易信息。
[0198]
其中,步骤s614与步骤s505的具体实现方式类似,对此不再赘述。
[0199]
本技术实施例提供的基于异构链的数据处理方法,包括:接收业务系统 发送的第三交易信息。对第三交易信息进行合法性验证,并在确定合法性验 证成功时,向第一区块链节点发送第三交易信息,以使第一区块链节点对第 三交易信息进行共识处理得到第一交易信息。接收第一区块链节点发送的第 一交易信息。确定第一交易信息对应的第二区块链节点,第一区块链节点和 第二区块链节点位于不同的区块链。判断第二区块链节点所在的区块链是否 具有异构链权限、以及判断跨链网关是否已注册第二区块链节点对应的验证 规则,异构链权限用于指示第二区块链节点所在的区块链具有处理来自其它 区块链的交易信息的权限。获取第一交易信息对应的交易标识的连续性。若 第二区块链节点所在的区块链具有异构链权限,跨链网关已注册第二区块链 节点对应的验证规则,以及第一交易信息对应的交易标识与上一个交易信息 的标识连续,则确定验证结果为验证通过。在确定验证结果为验证通过时, 获取第二区块链节点所在的区块链。获取第二区块链节点所在的区块链对应 的规则地址。根据规则地址,获取第二区块链节点对应的验证规则。对第一 交易信息进行解析处理,得到第一交易信息中的证明数据。获取第一交易信 息对应的多个验证者信息将多个验证者信息和证明数据确定为验证规则的输 入参数,并执行验证规则,得到第二交易数据。向第二区块链节点发送第二 交易信息。
[0200]
图7为本技术实施例提供的基于异构链的数据处理装置的结构示意图。 如图7所示,该装置700包括:接收模块701、确定模块702、获取模块703、 处理模块704以及发送模块705。
[0201]
接收模块701,用于接收第一区块链节点发送的第一交易信息;
[0202]
确定模块702,用于确定所述第一交易信息对应的第二区块链节点,所 述第一区块链节点和所述第二区块链节点位于不同的区块链;
[0203]
获取模块703,用于获取所述第二区块链节点对应的验证规则;
[0204]
处理模块704,用于通过所述验证规则对所述第一交易信息进行规则转 换处理,得到第二交易信息;
[0205]
发送模块705,用于向所述第二区块链节点发送所述第二交易信息。
[0206]
在一种可能的设计中,所述处理模块704具体用于:
[0207]
对所述第一交易信息进行解析处理,得到所述第一交易信息中的证明数 据;
[0208]
通过所述验证规则对所述证明数据进行规则转换处理,得到所述第二交 易数据。
[0209]
在一种可能的设计中,所述处理模块704具体用于:
[0210]
获取所述第一交易信息对应的多个验证者信息;
[0211]
将所述多个验证者信息和所述证明数据确定为所述验证规则的输入参数, 并执行所述验证规则,得到所述第二交易数据。
[0212]
在一种可能的设计中,所述获取模块703具体用于:
[0213]
对所述第二区块链节点所在的区块链、以及所述第一交易信息进行验证, 得到验证结果;
[0214]
在确定所述验证结果为验证通过时,获取所述第二区块链节点对应的验 证规则。
[0215]
在一种可能的设计中,所述获取模块703具体用于:
[0216]
判断所述第二区块链节点所在的区块链是否具有异构链权限、以及判断 所述跨链网关是否已注册所述第二区块链节点对应的验证规则,所述异构链 权限用于指示所述
第二区块链节点所在的区块链具有处理来自其它区块链的 交易信息的权限;
[0217]
获取所述第一交易信息对应的交易标识的连续性;
[0218]
若所述第二区块链节点所在的区块链具有异构链权限,所述跨链网关已 注册所述第二区块链节点对应的验证规则,以及所述第一交易信息对应的交 易标识与上一个交易信息的标识连续,则确定所述验证结果为验证通过。
[0219]
在一种可能的设计中,所述获取模块703具体用于:
[0220]
获取所述第二区块链节点所在的区块链;
[0221]
根据所述第二区块链节点所在的区块链对应的规则地址;
[0222]
根据所述规则地址,获取所述第二区块链节点对应的验证规则。
[0223]
在一种可能的设计中,所述装置还包括接收模块701和第二处理模块704:
[0224]
所述接收模块701,用于接收业务系统发送的第三交易信息;
[0225]
所述第二处理模块704,用于对所述第三交易信息进行合法性验证,并 在确定合法性验证成功时,向所述第一区块链节点发送所述第三交易信息, 以使所述第一区块链节点对所述第三交易信息进行共识处理得到所述第一交 易信息。
[0226]
本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现 原理和技术效果类似,本实施例此处不再赘述。
[0227]
图8为本技术实施例提供的基于异构链的数据处理设备的硬件结构示意 图,如图8所示,本实施例的基于异构链的数据处理设备800包括:处理器 801以及存储器802;其中
[0228]
存储器802,用于存储计算机执行指令;
[0229]
处理器801,用于执行存储器存储的计算机执行指令,以实现上述实施 例中基于异构链的数据处理方法所执行的各个步骤。具体可以参见前述方法 实施例中的相关描述。
[0230]
可选地,存储器802既可以是独立的,也可以跟处理器801集成在一起。
[0231]
当存储器802独立设置时,该基于异构链的数据处理设备还包括总线803, 用于连接所述存储器802和处理器801。
[0232]
本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质 中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上 基于异构链的数据处理设备所执行的基于异构链的数据处理方法。
[0233]
本技术实施例还提供一种计算机程序产品,程序产品包括:计算机程序, 计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读 存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执 行上述任一实施例提供的方案。
[0234]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法, 可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的, 例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外 的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特 征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦 合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可 以是电性,机械或其它的形式。
[0235]
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机 可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指 令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等) 或处理器(英文:processor)执行本
申请各个实施例所述方法的部分步骤。
[0236]
应理解,上述处理器可以是中央处理单元(英文:central processing unit, 简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以 是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件 处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0237]
存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm, 例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或 光盘等。
[0238]
总线可以是工业标准体系结构(industry standard architecture,isa)总 线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结 构(extended industry standard architecture,eisa)总线等。总线可以分为地 址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限 定仅有一根总线或一种类型的总线。
[0239]
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们 的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器 (eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器 (prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存 储介质可以是通用或专用计算机能够存取的任何可用介质。
[0240]
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步 骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可 读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而 前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码 的介质。
[0241]
最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对 其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通 技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并 不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献