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

跨链交易发送方法、装置、设备和存储介质与流程

2022-03-26 13:47:08 来源:中国专利 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.图1是本技术实施例提供的一种区块链系统的结构示意图;
64.图2是本技术实施例提供的一种区块链的示意图;
65.图3是本技术实施例提供的一种区块链网络的示意图;
66.图4是本技术实施例提供的一种单层级区块链网络的示意图;
67.图5是本技术实施例提供的一种多层级区块链网络的示意图;
68.图6是本技术实施例提供的一种跨链交易发送方法的流程图;
69.图7是本技术实施例提供的另一种跨链交易发送方法的流程图;
70.图8是本技术实施例提供的一种跨链交易发送装置的结构示意图;
71.图9是本技术实施例提供的另一种跨链交易发送装置的结构示意图;
72.图10为本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
73.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
74.应当理解的是,本技术提及的“多个”是指两个或两个以上。在本技术的描述中,除非另有说明,“/”表示或的意思,比如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,比如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,为了便于清楚描述本技术的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
75.在对本技术实施例进行解释说明之前,先对区块链的相关内容予以说明。
76.图1是本技术实施例提供的一种区块链系统的结构示意图。
77.参见图1,区块链系统100是指用于进行节点与节点之间数据共享的系统,区块链系统100中可以包括多个节点101。每个节点101在进行正常工作时可以接收到输入信息,并基于接收到的输入信息维护区块链系统100内的共享数据。为了保证区块链系统100内的信息互通,区块链系统100中的每个节点101之间可以存在信息连接,节点101之间可以通过该信息连接进行信息传输。比如,当区块链系统100中的任意节点101接收到输入信息时,区块链系统100中的其他节点101便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得区块链系统100中全部节点101上存储的数据一致。
78.区块链系统100中的每个节点101均存储一条相同的区块链。下面以图2为例来对区块链的一种可能的结构进行说明,当然,实际应用中,根据不同的场景,区块链的结构也可以有所不同,本技术实施例对此不作限定。
79.参见图2,区块链由多个区块组成,创始块中包括区块头和区块主体。作为一种示
例,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
80.区块链系统100具有分布式数据存储、点对点传输、共识机制、加密算法等计算机技术。区块链系统100是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。这些特点保证了区块链的共享开放、真实完整和安全可靠。
81.在对本技术实施例提供的跨链交易发送方法进行详细地解释说明之前,先对本技术实施例涉及的名词予以说明。
82.应用链系统:应用链系统是负责具体业务应用的区块链系统,可以执行跨链交易。
83.中继链系统:中继链系统是一种区块链系统。中继链系统可以接入应用链系统,以实现跨链交易的验证。
84.跨链网关:跨链网关担任应用链系统和中继链系统之间收集和传播交易的角色。跨链网关可以捕获应用链系统产生的跨链交易,提交跨链交易到中继链系统;或者,跨链网关可以接收中继链系统验证通过的跨链交易,提交跨链交易到应用链系统。
85.跨链交易:跨链交易是两个应用链系统之间的交易,可以包含来源应用链标识、目的应用链标识、跨链交易序号、调用信息等数据。跨链交易中的来源应用链标识用于标识跨链交易的来源应用链系统。跨链交易中的目的应用链标识用于标识跨链交易的目的应用链系统。应用链标识可以是其所标识的应用链系统的mac(media access control,介质访问控制)地址、ip(internet protocol,互联网协议)地址等,本技术实施例对此不作唯一限定。跨链交易中的跨链交易序号用于唯一标识跨链交易,根据跨链交易序号可以确定跨链交易之前是否提交过,如此可以防止重放攻击。跨链交易中的调用信息可以指定需要转账的代币(token)数量,或者指定需要调用的函数以及调用参数,或者指定合约的二进制代码。
86.下面对本技术实施例涉及的区块链网络予以说明。
87.图3是本技术实施例提供的一种区块链网络的示意图。参见图3,该区块链网络可以包括:应用链系统301、跨链网关302、中继链系统303。
88.跨链网关302是与应用链系统301对接的跨链网关。跨链网关302可以通过有线连接或无线连接与应用链系统301进行通信,跨链网关302也可以通过有线连接或无线连接与中继链系统303进行通信。
89.应用链系统301和中继链系统303均是区块链系统,该区块链系统可以是如上文图1-图2实施例所述的区块链系统100。
90.应用链系统301与其他应用链系统之间具有跨链交易。
91.对于该跨链交易,应用链系统301可以是来源应用链系统,其他应用链系统可以是目的应用链系统。也即,该跨链交易可以是由应用链系统301的用户发起的、需要发送到其他应用链系统的交易。这种情况下,应用链系统301可以通过跨链网关302将该跨链交易发送给中继链系统303,由中继链系统303对该跨链交易进行验证,在验证通过后,将该跨链交
易发送给其他应用链系统。具体来讲,用户设备可以调用部署在应用链系统301上的跨链合约来向应用链系统301发起跨链交易。应用链系统301接收到该跨链交易后,执行该跨链交易以将该跨链交易存储至应用链系统301配置的区块链。之后,应用链系统301抛出一个跨链事件,此跨链事件包括该跨链交易。应用链插件轮询或订阅该跨链事件,然后将该跨链事件发送到跨链网关302。如此,跨链网关302就可以获取到应用链系统301所请求的跨链交易,然后可以将该跨链交易发送给中继链系统303,由中继链系统303对该跨链交易进行验证,在验证通过后,将该跨链交易发送给其他应用链系统。
92.或者,对于该跨链交易,应用链系统301可以是目的应用链系统,其他应用链系统可以是来源应用链系统。也即,该跨链交易可以是由其他应用链系统的用户发起的、需要发送到应用链系统301的交易。这种情况下,其他应用链系统可以将该跨链交易发送给中继链系统303,由中继链系统303对该跨链交易进行验证,在验证通过后,将该跨链交易通过跨链网关302发送给应用链系统301。
93.上述情况下,跨链网关302可以执行下文图6实施例或图7实施例所述的跨链交易发送方法,来实现应用链系统301与中继链系统303之间的跨链交易的转发。
94.图4是本技术实施例提供的一种单层级区块链网络的示意图。参见图4,该单层级区块链网络可以包括:第一应用链系统401、第一跨链网关402、中继链系统403、第二跨链网关404、第二应用链系统405。
95.第一跨链网关402是与第一应用链系统401对接的跨链网关,第一跨链网关402可以通过有线连接或无线连接与第一应用链系统401进行通信。第二跨链网关404是与第二应用链系统405对接的跨链网关,第二跨链网关404可以通过有线连接或无线连接与第二应用链系统405进行通信。
96.中继链系统403位于第一跨链网关402与第二跨链网关404之间。中继链系统403可以通过有线连接或无线连接与第一跨链网关402进行通信,也可以通过有线连接或无线连接与第二跨链网关404进行通信。
97.第一应用链系统401、第二应用链系统405和中继链系统403均是区块链系统,该区块链系统可以是如上文图1-图2实施例所述的区块链系统100。
98.第一应用链系统401与第二应用链系统405之间具有跨链交易。
99.对于该跨链交易,第一应用链系统401可以是来源应用链系统,第二应用链系统405可以是目的应用链系统。也即,该跨链交易可以是由第一应用链系统401的用户发起的、需要发送到第二应用链系统405的交易。这种情况下,第一应用链系统401可以通过第一跨链网关402将该跨链交易发送给中继链系统403,由中继链系统403对该跨链交易进行验证,在验证通过后,将该跨链交易通过第二跨链网关404发送给第二应用链系统405。
100.或者,对于该跨链交易,第一应用链系统401可以是目的应用链系统,第二应用链系统405可以是来源应用链系统。也即,该跨链交易可以是由第二应用链系统405的用户发起的、需要发送到第一应用链系统401的交易。这种情况下,第二应用链系统405可以通过第二跨链网关404将该跨链交易发送给中继链系统403,由中继链系统403对该跨链交易进行验证,在验证通过后,将该跨链交易通过第一跨链网关402发送给第一应用链系统401。
101.上述情况下,第一跨链网关402可以执行下文图6实施例或图7实施例所述的跨链交易发送方法,来实现第一应用链系统401与中继链系统403之间的跨链交易的转发。第二
跨链网关404也可以执行下文图6实施例或图7实施例所述的跨链交易发送方法,来实现第二应用链系统405与中继链系统403之间的跨链交易的转发。
102.上述单层级区块链网络是由一个中继链系统形成。在一些实施例中,还可以由多个中继链系统来形成多层级区块链网络,下面对多层级区块链网络进行说明。
103.图5是本技术实施例提供的一种多层级区块链网络的示意图。对于多个中继链系统形成的多层级区块链网络,不同中继链系统之间通过跨链路由器通信。具体地,参见图5,该多层级区块链网络可以包括:第一应用链系统501、第一跨链网关502、第一中继链系统503、第二跨链网关504、第二应用链系统505、跨链路由器506、第二中继链系统507、第三跨链网关508、第三应用链系统509。
104.第一跨链网关502是与第一应用链系统501对接的跨链网关,第一跨链网关502可以通过有线连接或无线连接与第一应用链系统501进行通信。第二跨链网关504是与第二应用链系统505对接的跨链网关,第二跨链网关504可以通过有线连接或无线连接与第二应用链系统505进行通信。第三跨链网关508是与第三应用链系统509对接的跨链网关,第三跨链网关508可以通过有线连接或无线连接与第三应用链系统509进行通信。
105.第一中继链系统503位于第一跨链网关502与第二跨链网关504之间。第一中继链系统503可以通过有线连接或无线连接与第一跨链网关502进行通信,也可以通过有线连接或无线连接与第二跨链网关504进行通信。第二中继链系统507可以通过有线连接或无线连接与第三跨链网关508进行通信。
106.跨链路由器506位于第一中继链系统503与第二中继链系统507之间,跨链路由器506可以通过有线连接或无线连接与第一中继链系统503进行通信,也可以通过有线连接或无线连接与第二中继链系统507进行通信。
107.第一应用链系统501、第二应用链系统505、第三应用链系统509、第一中继链系统503、第二中继链系统507均是区块链系统,该区块链系统可以是如上文图1-图2实施例所述的区块链系统100。
108.第一应用链系统501、第二应用链系统505、第三应用链系统509中的任意两个应用链系统之间均可以具有跨链交易。
109.对于第一应用链系统501与第二应用链系统505之间的跨链交易,第一应用链系统501可以是来源应用链系统,第二应用链系统505可以是目的应用链系统。也即,该跨链交易可以是由第一应用链系统501的用户发起的、需要发送到第二应用链系统505的交易。这种情况下,第一应用链系统501可以通过第一跨链网关502将该跨链交易发送给第一中继链系统503,由第一中继链系统503对该跨链交易进行验证,在验证通过后,将该跨链交易通过第二跨链网关504发送给第二应用链系统505。
110.或者,对于第一应用链系统501与第二应用链系统505之间的跨链交易,第一应用链系统501可以是目的应用链系统,第二应用链系统505可以是来源应用链系统。也即,该跨链交易可以是由第二应用链系统505的用户发起的、需要发送到第一应用链系统501的交易。这种情况下,第二应用链系统505可以通过第二跨链网关504将该跨链交易发送给第一中继链系统503,由第一中继链系统503对该跨链交易进行验证,在验证通过后,将该跨链交易通过第一跨链网关502发送给第一应用链系统501。
111.上述情况下,第一跨链网关502可以执行下文图6实施例或图7实施例所述的跨链
交易发送方法,来实现第一应用链系统501与第一中继链系统503之间的跨链交易的转发。第二跨链网关504可以执行下文图6实施例或图7实施例所述的跨链交易发送方法,来实现第二应用链系统505与第一中继链系统503之间的跨链交易的转发。
112.对于第一应用链系统501(或第二应用链系统505)与第三应用链系统509之间的跨链交易,第一应用链系统501(或第二应用链系统505)可以是来源应用链系统,第三应用链系统509可以是目的应用链系统。也即,该跨链交易可以是由第一应用链系统501(或第二应用链系统505)的用户发起的、需要发送到第三应用链系统509的交易。这种情况下,第一应用链系统501(或第二应用链系统505)可以通过第一跨链网关502(或第二跨链网关504)将该跨链交易发送给第一中继链系统503,由第一中继链系统303对该跨链交易进行验证,在验证通过后,将该跨链交易通过跨链路由器506发送给第二中继链系统507。第二中继链系统507将该跨链交易通过第三跨链网关508发送给第三应用链系统509。
113.或者,对于第一应用链系统501(或第二应用链系统505)与第三应用链系统509之间的跨链交易,第一应用链系统501(或第二应用链系统505)可以是目的应用链系统,第三应用链系统509可以是来源应用链系统。也即,该跨链交易可以是由第三应用链系统509的用户发起的、需要发送到第一应用链系统501(或第二应用链系统505)的交易。这种情况下,第三应用链系统509可以通过第三跨链网关508将该跨链交易发送给第二中继链系统507,由第二中继链系统507对该跨链交易进行验证,在验证通过后,将该跨链交易通过跨链路由器506发送给第一中继链系统503。第一中继链系统503将该跨链交易通过第一跨链网关502(或第二跨链网关504)发送给第一应用链系统501(或第二应用链系统505)。
114.上述情况下,第一跨链网关502(或第二跨链网关504)可以执行下文图6实施例或图7实施例所述的跨链交易发送方法,来实现第一应用链系统501(或第二应用链系统505)与第一中继链系统503之间的跨链交易的转发。第三跨链网关508可以执行下文图6实施例或图7实施例所述的跨链交易发送方法,来实现第三应用链系统509与第二中继链系统507之间的跨链交易的转发。
115.下面对本技术实施例提供的跨链交易发送方法进行详细地解释说明。
116.图6是本技术实施例提供的一种跨链交易发送方法的流程图。参见图6,该方法包括以下步骤。
117.步骤601:跨链网关获取第一跨链交易序号和第二跨链交易序号。
118.该跨链网关位于应用链系统与中继链系统之间,用于实现该应用链系统与该中继链系统之间的跨链交易的转发。应用链系统在生成跨链交易时,一般会带有序号,且每新生成一个跨链交易,序号会递增。
119.第一跨链交易序号是该应用链系统最新请求的跨链交易的序号。该应用链系统所请求的跨链交易,是以该应用链系统为来源应用链系统的跨链交易,也即,是该应用链系统生成的需要发送给其他应用链系统的跨链交易。该应用链系统最新请求的跨链交易即是该应用链系统最新生成的需要发送给其他应用链系统的跨链交易。该跨链网关可以从该应用链系统获取第一跨链交易序号。
120.第二跨链交易序号是该中继链系统最新接收的来自该应用链系统的跨链交易的序号。该中继链系统接收的来自该应用链系统的跨链交易,是以该应用链系统为来源应用链系统的跨链交易,也即,是该应用链系统生成的需要发送给其他应用链系统的跨链交易。
该跨链网关可以从该中继链系统获取第二跨链交易序号。
121.步骤602:该跨链网关根据第一跨链交易序号和第二跨链交易序号确定第三跨链交易序号。
122.第三跨链交易序号是该应用链系统已请求的跨链交易中尚未被转发至该中继链系统的跨链交易的序号。由于第一跨链交易序号是该应用链系统最新请求的跨链交易的序号,第二跨链交易序号是该中继链系统最新接收的来自该应用链系统的跨链交易的序号,所以该跨链网关可以根据第一跨链交易序号和第二跨链交易序号,确定该应用链系统已请求的跨链交易中,有哪些跨链交易已被自身转发至该中继链系统,有哪些跨链交易尚未被自身转发至该中继链系统,也即,可以确定该应用链系统已请求的跨链交易中尚未被自身转发至该中继链系统的跨链交易的序号,即第三跨链交易序号。
123.具体地,若第一跨链交易序号大于第二跨链交易序号,说明该应用链系统已请求的跨链交易中存在尚未被转发至该中继链系统的跨链交易,具体是序号在第二跨链交易序号(不含第二跨链交易序号)与第一跨链交易序号(含第一跨链交易序号)之间的跨链交易尚未被转发至该中继链系统。因而该跨链网关可以将大于第二跨链交易序号且小于或等于第一跨链交易序号的每个跨链交易序号均确定为第三跨链交易序号。
124.若第一跨链交易序号等于第二跨链交易序号,说明该应用链系统已请求的跨链交易全部被转发至该中继链系统,则该跨链网关无需确定第三跨链交易序号,直接结束操作即可。
125.步骤603:该跨链网关从该应用链系统中获取序号为第三跨链交易序号的跨链交易作为第一目标跨链交易。
126.由于第三跨链交易序号是该应用链系统已请求的跨链交易中尚未被转发至该中继链系统的跨链交易的序号,所以为了保证跨链交易的正常执行,该跨链网关需要从该应用链系统中获取序号为第三跨链交易序号的跨链交易,并在后续将其转发给该中继链系统,以便该中继链系统可以对该跨链交易进行验证,并在验证通过后将该跨链交易发送给其他应用链系统,供其他应用链系统执行。
127.步骤604:该跨链网关将第一目标跨链交易转发至该中继链系统。
128.值得注意一点是,本技术实施例提供的跨链交易发送方法可以是该跨链网关在开机时执行,或者,每隔预设时长执行,或者,每向该中继链系统转发一个跨链交易后执行。也即,该跨链网关可以在开机时,或者,每隔预设时长,或者,每向该中继链系统转发一个跨链交易后,就执行上述步骤601-步骤604,来确定该应用链系统已请求的跨链交易是否均已被转发至该中继链系统,从而保证该应用链系统与该中继链系统之间的跨链交易的正常转发。
129.值得注意的另一点是,本技术实施例提供的跨链网关中无需记录跨链交易状态,即该跨链网关是无状态跨链网关。该跨链网关通过采集并分析应用链系统和中继链系统中的跨链交易序号,可以准确判断跨链交易的转发情况,从而可以保证跨链交易在应用链系统与中继链系统之间的高效同步,进而可以保证跨链交易的正常执行。这种情况下,当需要部署多个跨链网关时,每个跨链网关只需要采集并分析应用链系统和中继链系统的跨链交易情况,便能实现跨链交易的准确执行,不必担心状态不一致的情况,因而可扩展性强。并且,当需要部署新的跨链网关时,不用进行数据同步操作,便可快速实现跨链交易的转发情
况的自动判断,因而可迁移性强。也就是说,由于无状态跨链网关不涉及自身数据和状态同步,所以在需要重新部署跨链网关的情况下或在多个跨链网关并行工作的情况下,可以实现跨链网关的快速上线和高效运行。无状态跨链网关的通用性强,可以满足跨链系统的建设要求。
130.在本技术实施例中,跨链网关获取应用链系统最新请求的跨链交易的序号作为第一跨链交易序号,以及获取中继链系统最新接收的来自该应用链系统的跨链交易的序号作为第二跨链交易序号。之后,该跨链网关根据第一跨链交易序号和第二跨链交易序号确定该应用链系统已请求的跨链交易中尚未被转发至该中继链系统的跨链交易的序号,即确定第三跨链交易序号。该跨链网关从该应用链系统中获取序号为第三跨链交易序号的跨链交易作为第一目标跨链交易,将第一目标跨链交易转发至该中继链系统,以实现该中继链系统与该应用链系统中的跨链交易的同步。本技术实施例中的跨链网关无需记录跨链交易状态,仅需要采集并分析应用链系统和中继链系统中的跨链交易序号,就可以准确判断跨链交易的转发情况,从而可以保证跨链交易在应用链系统与中继链系统之间的高效同步,进而可以保证跨链交易的正常执行。该跨链网关的可扩展性和可迁移性强。
131.图7是本技术实施例提供的一种跨链交易发送方法的流程图。参见图7,该方法包括以下步骤。
132.步骤701:跨链网关获取第四跨链交易序号和第五跨链交易序号。
133.该跨链网关位于应用链系统与中继链系统之间,用于实现该应用链系统与该中继链系统之间的跨链交易的转发。应用链系统在生成跨链交易时,一般会带有序号,且每新生成一个跨链交易,序号会递增。
134.第四跨链交易序号是该中继链系统最新接收的调用该应用链系统的跨链交易的序号。调用该应用链系统的跨链交易,是以该应用链系统为目的应用链系统的跨链交易,也即,是其他应用链系统生成的需要发送给该应用链系统的跨链交易。该中继链系统最新接收的调用该应用链系统的跨链交易即是该中继链系统最新接收的需要发送给该应用链系统的跨链交易。该跨链网关可以从该中继链系统获取第四跨链交易序号。
135.第五跨链交易序号是该应用链系统最新接收的跨链交易的序号。该应用链系统接收的跨链交易,是以该应用链系统为目的应用链系统的跨链交易,也即,是其他应用链系统生成的发送给该应用链系统的跨链交易。该跨链网关可以从该应用链系统获取第五跨链交易序号。
136.步骤702:该跨链网关根据第四跨链交易序号和第五跨链交易序号确定第六跨链交易序号。
137.第六跨链交易序号是该中继链系统已接收的调用该应用链系统的跨链交易中尚未被转发至该应用链系统的跨链交易的序号。由于第四跨链交易序号是该中继链系统最新接收的调用该应用链系统的跨链交易的序号,第五跨链交易序号是该应用链系统最新接收的跨链交易的序号,所以该跨链网关可以根据第四跨链交易序号和第五跨链交易序号,确定该中继链系统已接收的调用该应用链系统的跨链交易中,有哪些跨链交易已被自身转发至该应用链系统,有哪些跨链交易尚未被自身转发至该应用链系统,也即,可以确定该中继链系统已接收的调用该应用链系统的跨链交易中尚未被自身转发至该应用链系统的跨链交易的序号,即第六跨链交易序号。
138.具体地,若第四跨链交易序号大于第五跨链交易序号,说明该中继链系统已接收的调用该应用链系统的跨链交易中存在尚未被转发至该应用链系统的跨链交易,具体是序号在第五跨链交易序号(不含第五跨链交易序号)与第四跨链交易序号(含第四跨链交易序号)之间的跨链交易尚未被转发至该应用链系统。因而该跨链网关可以将大于第五跨链交易序号且小于或等于第四跨链交易序号的每个跨链交易序号均确定为第六跨链交易序号。
139.若第四跨链交易序号等于第五跨链交易序号,说明该中继链系统已接收的调用该应用链系统的跨链交易全部被转发至该应用链系统,则该跨链网关无需确定第六跨链交易序号,直接结束操作即可。
140.步骤703:该跨链网关从该中继链系统中获取序号为第六跨链交易序号的跨链交易作为第二目标跨链交易。
141.由于第六跨链交易序号是该中继链系统已接收的调用该应用链系统的跨链交易中尚未被转发至该应用链系统的跨链交易的序号,所以为了保证跨链交易的正常执行,该跨链网关需要从该中继链系统中获取序号为第六跨链交易序号的跨链交易,并在后续将其转发给该应用链系统,以供该应用链系统执行。
142.步骤704:该跨链网关将第二目标跨链交易转发至该应用链系统。
143.值得注意一点是,本技术实施例提供的跨链交易发送方法可以是该跨链网关在开机时执行,或者,每隔预设时长执行,或者,每向该应用链系统转发一个跨链交易后执行。也即,该跨链网关可以在开机时,或者,每隔预设时长,或者,每向该应用链系统转发一个跨链交易后,就执行上述步骤701-步骤704,来确定该中继链系统已接收的调用该应用链系统的跨链交易是否均已被转发至该应用链系统,从而保证该应用链系统与该中继链系统之间的跨链交易的正常转发。
144.值得注意的另一点是,本技术实施例提供的跨链网关中无需记录跨链交易状态,即该跨链网关是无状态跨链网关。该跨链网关通过采集并分析应用链系统和中继链系统中的跨链交易序号,可以准确判断跨链交易的转发情况,从而可以保证跨链交易在应用链系统与中继链系统之间的高效同步,进而可以保证跨链交易的正常执行。这种情况下,当需要部署多个跨链网关时,每个跨链网关只需要采集并分析应用链系统和中继链系统的跨链交易情况,便能实现跨链交易的准确执行,不必担心状态不一致的情况,因而可扩展性强。并且,当需要部署新的跨链网关时,不用进行数据同步操作,便可快速实现跨链交易的转发情况的自动判断,因而可迁移性强。也就是说,由于无状态跨链网关不涉及自身数据和状态同步,所以在需要重新部署跨链网关的情况下或在多个跨链网关并行工作的情况下,可以实现跨链网关的快速上线和高效运行。无状态跨链网关的通用性强,可以满足跨链系统的建设要求。
145.在本技术实施例中,跨链网关获取中继链系统最新接收的调用应用链系统的跨链交易的序号作为第四跨链交易序号,以及获取该应用链系统最新接收的跨链交易的序号作为第五跨链交易序号。之后,该跨链网关根据第四跨链交易序号和第五跨链交易序号确定该中继链系统已接收的调用该应用链系统的跨链交易中尚未被转发至该应用链系统的跨链交易的序号,即确定第六跨链交易序号。该跨链网关从该中继链系统中获取序号为第六跨链交易序号的跨链交易作为第二目标跨链交易,将第二目标跨链交易转发至该应用链系统,以实现该中继链系统与该应用链系统中的跨链交易的同步。本技术实施例中的跨链网
关无需记录跨链交易状态,仅需要采集并分析应用链系统和中继链系统中的跨链交易序号,就可以准确判断跨链交易的转发情况,从而可以保证跨链交易在应用链系统与中继链系统之间的高效同步,进而可以保证跨链交易的正常执行。该跨链网关的可扩展性和可迁移性强。
146.为了便于理解,下面结合图3所示的区块链网络来对上文图6实施例和图7实施例提供的跨链交易发送方法进行举例说明。
147.参见图3,跨链网关302在运行时,接入应用链系统301。跨链网关302负责将应用链系统301请求的跨链交易转发给中继链系统303,以及将中继链系统303接收的调用应用链系统301的跨链交易转发给应用链系统301。同时,跨链网关302可以查询应用链系统301和中继链系统303上的跨链交易。
148.示例地,跨链网关302可以通过如下步骤(1)-步骤(4)实现应用链系统301与中继链系统303之间的跨链交易的转发。
149.(1)跨链网关302从应用链系统301获取应用链系统301最新请求的跨链交易的序号a,以及从中继链系统303获取中继链系统303最新接收的来自应用链系统301的跨链交易的序号b。
150.(2)若a大于b,则跨链网关302从应用链系统301获取序号在b 1至a的跨链交易并转发至中继链系统303,以供中继链系统303验证。若a等于b,则跨链网关302结束操作。
151.(3)跨链网关302获取中继链系统303最新接收的调用应用链系统301的跨链交易的序号c,以及获取应用链系统301最新接收的跨链交易的序号d。
152.(4)若c大于d,则跨链网关302从中继链系统303获取序号在d 1至c的跨链交易并转发至应用链系统301,以供应用链系统301执行。
153.下面结合图4所示的单层级区块链网络来对上文图6实施例和图7实施例提供的跨链交易发送方法进行举例说明。
154.参见图4,对于通过一个中继链系统实现跨链交易的单层级区块链网络,第一应用链系统401和第二应用链系统405分别发起调用对方的跨链交易,第一跨链网关402和第二跨链网关404的工作过程如下:
155.(1)第一应用链系统401发起跨链交易ct1。第二应用链系统405发起跨链交易ct2。
156.(2)第一跨链网关402从第一应用链系统401获取第一应用链系统401最新请求的跨链交易的序号a1,以及从中继链系统403获取中继链系统403最新接收的来自第一应用链系统401的跨链交易的序号b1。
157.(3)若a1大于b1,假设a1-b1=1,则第一跨链网关402从第一应用链系统401获取ct1并转发至中继链系统403。
158.中继链系统403对ct1进行验证,在验证通过后,将ct1通过第二跨链网关404转发至第二应用链系统405。
159.(4)第二跨链网关404获取中继链系统403最新接收的调用第二应用链系统405的跨链交易的序号c1,以及获取第二应用链系统405最新接收的跨链交易的序号d1。
160.(5)若c1大于d1,假设c1-d1=1,则第二跨链网关404从中继链系统403获取ct1并转发至第二应用链系统405,以供第二应用链系统405执行。
161.(6)第二跨链网关404从第二应用链系统405获取第二应用链系统405最新请求的
跨链交易的序号a2,以及从中继链系统403获取中继链系统403最新接收的来自第二应用链系统405的跨链交易的序号b2。
162.(7)若a2大于b2,假设a2-b2=1,则第二跨链网关404从第二应用链系统405获取ct2并转发至中继链系统403。
163.中继链系统403对ct2进行验证,在验证通过后,将ct2通过第一跨链网关402转发至第一应用链系统401。
164.(8)第一跨链网关402获取中继链系统403最新接收的调用第一应用链系统401的跨链交易的序号c2,以及获取第一应用链系统401最新接收的跨链交易的序号d2。
165.(9)若c2大于d2,假设c2-d2=1,则第一跨链网关402从中继链系统403获取ct2并转发至第一应用链系统401,以供第一应用链系统401执行。
166.下面结合图5所示的多层级区块链网络来对上文图6实施例和图7实施例提供的跨链交易发送方法进行举例说明。
167.参见图5,对于通过多个中继链系统形成的多层级区块链网络,不同中继链系统之间通过跨链路由器通信。此时,第一应用链系统501和第三应用链系统509分别发起调用对方的跨链交易,第一跨链网关502和第三跨链网关508的工作过程如下:
168.(1)第一应用链系统501发起跨链交易ct1。第三应用链系统509发起跨链交易ct3。
169.(2)第一跨链网关502从第一应用链系统501获取第一应用链系统501最新请求的跨链交易的序号a1,以及从第一中继链系统503获取第一中继链系统503最新接收的来自第一应用链系统501的跨链交易的序号b1。
170.(3)若a1大于b1,假设a1-b1=1,则第一跨链网关502从第一应用链系统501获取ct1并转发至第一中继链系统503。
171.第一中继链系统503对ct1进行验证,在验证通过后,将ct1通过跨链路由器506发送给第二中继链系统507。第二中继链系统507将ct1通过第三跨链网关508转发至第三应用链系统509。
172.(4)第三跨链网关508获取第二中继链系统507最新接收的调用第三应用链系统509的跨链交易的序号c3,以及获取第三应用链系统509最新接收的跨链交易的序号d3。
173.(5)若c3大于d3,假设c3-d3=1,则第三跨链网关508从第二中继链系统507获取ct1并转发至第三应用链系统509,以供第三应用链系统509执行。
174.(6)第三跨链网关508从第三应用链系统509获取第三应用链系统509最新请求的跨链交易的序号a3,以及从第二中继链系统507获取第二中继链系统507最新接收的来自第三应用链系统509的跨链交易的序号b3。
175.(7)若a3大于b3,假设a3-b3=1,则第三跨链网关508从第三应用链系统509获取ct3并转发至第二中继链系统507。
176.第二中继链系统507对ct3进行验证,在验证通过后,将ct3通过跨链路由器506发送给第一中继链系统503。第一中继链系统503将ct3通过第一跨链网关502转发至第一应用链系统501。
177.(8)第一跨链网关502获取第一中继链系统503最新接收的调用第一应用链系统501的跨链交易的序号c2,以及获取第一应用链系统501最新接收的跨链交易的序号d2。
178.(9)若c2大于d2,假设c2-d2=1,则第一跨链网关502从第一中继链系统503获取
ct3并转发至第一应用链系统501,以供第一应用链系统501执行。
179.图8是本技术实施例提供的一种跨链交易发送装置的结构示意图。该装置可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部,该计算机设备可以为下文图10所示的计算机设备,该计算机设备可以是跨链网关。参见图8,该装置包括:第一获取模块801、第一确定模块802、第二获取模块803、第一发送模块804。
180.第一获取模块801,用于获取第一跨链交易序号和第二跨链交易序号,第一跨链交易序号是应用链系统最新请求的跨链交易的序号,第二跨链交易序号是中继链系统最新接收的来自应用链系统的跨链交易的序号;
181.第一确定模块802,用于根据第一跨链交易序号和第二跨链交易序号确定第三跨链交易序号,第三跨链交易序号是应用链系统已请求的跨链交易中尚未被转发至中继链系统的跨链交易的序号;
182.第二获取模块803,用于从应用链系统中获取序号为第三跨链交易序号的跨链交易作为第一目标跨链交易;
183.第一发送模块804,用于将第一目标跨链交易转发至中继链系统。
184.可选地,第一确定模块802用于:
185.若第一跨链交易序号大于第二跨链交易序号,则将大于第二跨链交易序号且小于或等于第一跨链交易序号的每个跨链交易序号均确定为第三跨链交易序号。
186.可选地,第一获取模块801用于:
187.在开机时,或者,每隔预设时长,或者,每向中继链系统转发一个跨链交易后,获取第一跨链交易序号和第二跨链交易序号。
188.可选地,该装置还包括:
189.第三获取模块,用于获取第四跨链交易序号和第五跨链交易序号,第四跨链交易序号是中继链系统最新接收的调用应用链系统的跨链交易的序号,第五跨链交易序号是应用链系统最新接收的跨链交易的序号;
190.第二确定模块,用于根据第四跨链交易序号和第五跨链交易序号确定第六跨链交易序号,第六跨链交易序号是中继链系统已接收的调用应用链系统的跨链交易中尚未被转发至应用链系统的跨链交易的序号;
191.第四获取模块,用于从中继链系统中获取跨链交易序号为第六跨链交易序号的跨链交易作为第二目标跨链交易;
192.第二发送模块,用于将第二目标跨链交易转发至应用链系统。
193.可选地,第二确定模块用于:
194.若第五跨链交易序号大于第六跨链交易序号,则将大于第六跨链交易序号且小于或等于第五跨链交易序号的每个跨链交易序号均确定为第六跨链交易序号。
195.可选地,第三获取模块用于:
196.在开机时,或者,每隔预设时长,或者,每向应用链系统转发一个跨链交易后,获取第四跨链交易序号和第五跨链交易序号。
197.在本技术实施例中,跨链网关获取应用链系统最新请求的跨链交易的序号作为第一跨链交易序号,以及获取中继链系统最新接收的来自该应用链系统的跨链交易的序号作为第二跨链交易序号。之后,该跨链网关根据第一跨链交易序号和第二跨链交易序号确定
该应用链系统已请求的跨链交易中尚未被转发至该中继链系统的跨链交易的序号,即确定第三跨链交易序号。该跨链网关从该应用链系统中获取序号为第三跨链交易序号的跨链交易作为第一目标跨链交易,将第一目标跨链交易转发至该中继链系统,以实现该中继链系统与该应用链系统中的跨链交易的同步。本技术实施例中的跨链网关无需记录跨链交易状态,仅需要采集并分析应用链系统和中继链系统中的跨链交易序号,就可以准确判断跨链交易的转发情况,从而可以保证跨链交易在应用链系统与中继链系统之间的高效同步,进而可以保证跨链交易的正常执行。该跨链网关的可扩展性和可迁移性强。
198.图9是本技术实施例提供的一种跨链交易发送装置的结构示意图。该装置可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部,该计算机设备可以为下文图10所示的计算机设备,该计算机设备可以是跨链网关。参见图9,该装置包括:第一获取模块901、确定模块902、第二获取模块903、发送模块904。
199.第一获取模块901,用于获取第四跨链交易序号和第五跨链交易序号,第四跨链交易序号是中继链系统最新接收的调用应用链系统的跨链交易的序号,第五跨链交易序号是应用链系统最新接收的跨链交易的序号;
200.确定模块902,用于根据第四跨链交易序号和第五跨链交易序号确定第六跨链交易序号,第六跨链交易序号是中继链系统已接收的调用应用链系统的跨链交易中尚未被转发至应用链系统的跨链交易的序号;
201.第二获取模块903,用于从中继链系统中获取跨链交易序号为第六跨链交易序号的跨链交易作为第二目标跨链交易;
202.发送模块904,用于将第二目标跨链交易转发至应用链系统。
203.在本技术实施例中,跨链网关获取中继链系统最新接收的调用应用链系统的跨链交易的序号作为第四跨链交易序号,以及获取该应用链系统最新接收的跨链交易的序号作为第五跨链交易序号。之后,该跨链网关根据第四跨链交易序号和第五跨链交易序号确定该中继链系统已接收的调用该应用链系统的跨链交易中尚未被转发至该应用链系统的跨链交易的序号,即确定第六跨链交易序号。该跨链网关从该中继链系统中获取序号为第六跨链交易序号的跨链交易作为第二目标跨链交易,将第二目标跨链交易转发至该应用链系统,以实现该中继链系统与该应用链系统中的跨链交易的同步。本技术实施例中的跨链网关无需记录跨链交易状态,仅需要采集并分析应用链系统和中继链系统中的跨链交易序号,就可以准确判断跨链交易的转发情况,从而可以保证跨链交易在应用链系统与中继链系统之间的高效同步,进而可以保证跨链交易的正常执行。该跨链网关的可扩展性和可迁移性强。
204.需要说明的是:上述实施例提供的跨链交易发送装置在发送跨链交易时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
205.上述实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术实施例的保护范围。
206.上述实施例提供的跨链交易发送装置与跨链交易发送方法实施例属于同一构思,上述实施例中单元、模块的具体工作过程及带来的技术效果,可参见方法实施例部分,此处不再赘述。
207.图10为本技术实施例提供的一种计算机设备的结构示意图。如图10所示,计算机设备10包括:处理器100、存储器101以及存储在存储器101中并可在处理器100上运行的计算机程序102,处理器100执行计算机程序102时实现上述实施例中的跨链交易发送方法中的步骤。
208.计算机设备10可以是跨链网关。本领域技术人员可以理解,图10仅仅是计算机设备10的举例,并不构成对计算机设备10的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,比如还可以包括输入输出设备、网络接入设备等。
209.处理器100可以是中央处理单元(central processing unit,cpu),处理器100还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者也可以是任何常规的处理器。
210.存储器101在一些实施例中可以是计算机设备10的内部存储单元,比如计算机设备10的硬盘或内存。存储器101在另一些实施例中也可以是计算机设备10的外部存储设备,比如计算机设备10上配备的插接式硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。进一步地,存储器101还可以既包括计算机设备10的内部存储单元也包括外部存储设备。存储器101用于存储操作系统、应用程序、引导装载程序(boot loader)、数据以及其他程序等。存储器101还可以用于暂时地存储已经输出或者将要输出的数据。
211.本技术实施例还提供了一种计算机设备,该计算机设备包括:至少一个处理器、存储器以及存储在该存储器中并可在该至少一个处理器上运行的计算机程序,该处理器执行该计算机程序时实现上述任意各个方法实施例中的步骤。
212.本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
213.本技术实施例提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述各个方法实施例中的步骤。
214.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述方法实施例中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,该计算机程序包括计算机程序代码,该计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。该计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、rom(read-only memory,只读存储器)、ram(random access memory,随机存取存储器)、cd-rom(compact disc read-only memory,只读光盘)、磁带、软盘和光数据存储设备等。本技术提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存
储介质。
215.应当理解的是,实现上述实施例的全部或部分步骤可以通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。该计算机指令可以存储在上述计算机可读存储介质中。
216.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
217.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
218.在本技术所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
219.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
220.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

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

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

相关文献