CN116366706A - 跨链交互方法和区块链节点 - Google Patents
跨链交互方法和区块链节点 Download PDFInfo
- Publication number
- CN116366706A CN116366706A CN202310342725.8A CN202310342725A CN116366706A CN 116366706 A CN116366706 A CN 116366706A CN 202310342725 A CN202310342725 A CN 202310342725A CN 116366706 A CN116366706 A CN 116366706A
- Authority
- CN
- China
- Prior art keywords
- cross
- chain
- blockchain
- events
- link
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种跨链交互方法和区块链节点,该方法可以由第一区块链节点中的跨链服务执行,第一区块链节点属于第一区块链***。该跨链服务可以从第一区块链***最新生成的若干区块中获取若干第一跨链事件;然后从若干第一跨链事件中确定出将要发送至第二区块链***的若干第二跨链事件;接着根据若干第二跨链事件生成第一跨链请求,并向第二区块链***发送该第一跨链请求。
Description
技术领域
本说明书实施例属于区块链领域,尤其涉及一种跨链交互方法和区块链节点。
背景技术
区块链技术构建在传输网络(例如点对点网络)之上。区块链***中的区块链节点利用链式数据结构来验证与存储数据,并采用分布式节点共识算法来生成和更新数据。可组建不同的区块链***来存证不同类型的业务数据。在该技术场景下,不同的区块链***之间存在交互的需求,从而通过跨链交互来实现一些复杂的业务。
发明内容
本发明的目的在于提供一种跨链交互方法和区块链节点。
第一方面,提供了一种跨链交互方法,由第一区块链节点中的跨链服务执行,所述第一区块链节点属于第一区块链***。所述方法包括:从所述第一区块链***最新生成的若干区块中获取若干第一跨链事件;从所述若干第一跨链事件中确定出将要发送至第二区块链***的若干第二跨链事件;根据所述若干第二跨链事件生成第一跨链请求;向所述第二区块链***发送所述第一跨链请求。
第二方面,提供了一种第一区块链节点,所述第一区块链节点是属于第一区块链***的区块链节点,所述第一区块链节点包括跨链服务。所述跨链服务包括:事件获取单元,配置为从所述第一区块链***最新生成的若干区块中获取若干第一跨链事件;事件确定单元,配置为从所述若干第一跨链事件中确定出将要发送至第二区块链***的若干第二跨链事件;请求生成单元,配置为根据所述若干第二跨链事件生成第一跨链请求;通信处理单元,配置为向所述第二区块链***发送所述第一跨链请求。
第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序/指令,当所述计算机程序/指令在计算设备中执行时,计算设备执行第一方面中所述的方法。
第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码/指令,所述处理器执行所述可执行代码/指令时,实现第一方面中所述的方法。
在本说明书实施例的方案中,属于第一区块链***的第一区块链节点包括跨链服务,其可以从第一区块链***最新生成的若干区块中获取若干第一跨链事件,然后从若干第一跨链事件中确定出将要发送至第二区块链***的若干第二跨链事件,根据若干第二跨链事件生成第一跨链请求,并向第二区块链***发送第一跨链请求。通过跨链服务从第一区块链***最新生成的若干区块中,主动获取将要发送到第二区块链***的若干跨链事件,并将该若干第二跨链事件封装为第一跨链请求,可以降低第一区块链***和第二区块链***进行信息交互的频次,有利于降低区块链节点中计算资源和网络资源的消耗,从而提高区块链***的性能。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例中提供的一种区块链***的架构图;
图2为本说明书实施例中提供的一种跨链交互方法的流程图;
图3为示例性提供的一种基于区块链主网组建区块链子网的示意图;
图4为示例性提供的一种跨链请求的结构示意图;
图5为本说明书实施例中提供的一种区块链节点的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
图1为本说明书实施例中示例性提供的一种区块链***的架构图。在图1所示的区块链***的架构图中,区块链***100中例如可以包括N个区块链节点,其中图1中示例性的示出了节点1-节点8等8个区块链节点。节点之间的连线示意性的表示P2P(Peer to Peer,点对点)连接,前述连接例如可以为传输控制协议(transmission control trotocol,TCP)连接。
区块链***中的交易可以指在区块链***中执行并记录在区块链***中的任务单元。交易中通常包括发送字段(From)、接收字段(To)和数据字段(Data)。其中,在交易为转账交易的情况中,From字段表示发起该交易(即发起对另一个账户的转账任务)的账户地址,To字段表示接收该交易(即接收转账)的账户地址,Data字段中包括转账金额。
区块链***中可提供智能合约的功能。区块链***上的智能合约是在区块链***上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。在区块链***中调用智能合约,是发起一笔指向智能合约地址的交易,使得区块链***中的节点分布式地运行智能合约代码。
在部署合约的场景中,例如,Bob将一个包含创建智能合约信息(即部署合约)的交易发送到如图1所示的区块链中,该交易的data字段包括待创建的合约的代码(如字节码或者机器码),交易的to字段为空,以表示该交易用于部署合约。节点间通过共识机制达成相同后,确定合约的合约地址“0x6f8ae93…”,各个节点在状态数据库中添加与该智能合约的合约地址对应的合约账户,分配与该合约账户对应的状态存储,并存储合约代码,将合约代码的哈希值保存在该合约的状态存储中,从而合约创建成功。
在调用合约的场景中,例如,Bob将一个用于调用智能合约的交易发送到如图1所示的区块链中,该交易的from字段是交易发起方(即Bob)的账户的地址,to字段例如为上述“0x6f8ae93…”,即被调用的智能合约的地址,交易的data字段包括调用智能合约的方法和参数。在区块链中对该交易进行共识之后,区块链中的各个节点可分别执行该交易,从而分别执行该合约,基于该合约的执行更新状态数据库。
需要说明的是,除了可以由用户创建智能合约外,还可以在创世块中由***设置智能合约。这类合约一般称为创世合约。一般的,创世合约中可以设置一些区块链***的数据结构、参数、属性和方法。此外,具有***管理员权限的账户可以创建***级的合约,或者修改***级的合约(简称为***合约)。另外除了以太坊中的EVM外,不同的区块链网络还可能采用各种的虚拟机,这里并不限定。
区块链***中的区块链节点在完成执行用于调用智能合约的交易后,会生成相应的收据(receipt),以用于记录与执行该智能合约相关的信息。区块链节点可以通过查询交易的收据来获得合约执行结果的相关信息。合约执行结果可以表现为收据中的事件(event),可以通过消息机制来实现对收据中的事件进行消息传递,触发区块链节点基于收据中的事件来执行相应的处理。其中除用于调用智能合约的交易以外,其它交易例如转账交易也可能产生收据。
单个收据中可以包括一个或多个事件。单个事件可以包括主题(topic)和数据(data)等多个字段。区块链节点可以通过监听事件的topic,从而在监听到预定义的topic的情况下,执行预设处理,或者从相应事件的data字段读取相关内容并基于读取的内容执行预设处理。
两个不同的区块链***之间可能存在进行跨链交互的需求。比如,第一区块链***在执行业务时,需要使用第二区块链***维护的业务数据;那么第一区块链***作为源区块链***,第二区块链***作为目的区块链***,可以由第一区块链***向第二区块链***发起跨链请求,以从第二区块链***取相关业务数据来完成相关业务的执行。
举例来说,部署于第一区块链***中的对应业务层的智能合约C用于为用户注册相关业务的业务账户,注册业务账户需要使用到用户的身份信息,而用户的身份信息存证于第二区块链***中;用户可向第一区块链***发起用于调用智能合约C的跨链交易TxA1,跨链交易TxA1中包含智能合约C的合约地址和第二区块链***的标识等信息,第一区块链***中的区块链节点可以根据跨链交易TxA1执行智能合约C,获得跨链交易TxA1的收据,进而通过监听跨链事件对应的topic来实现从收据中获得跨链事件event AB,跨链事件eventAB的data字段可以包括但不限于如下示例的各个子字段:
biz_id:业务id;
request_id:请求id/事件标识;
src_id:源区块链***的标识,即产生跨链事件的第一区块链***的标识;
dest_id:目的区块链***的标识,即用于接收跨链事件的第二区块链***的标识;
method:目的区块链***中请求调用的方法;
args:调用的参数;
timestamp:时间戳。
第一区块链***中的区块链节点,在通过交易执行服务完成执行单个跨链交易例如前述跨链交易TxA1后,该交易执行服务可以直接触发跨链服务,使得跨链服务根据该跨链交易所对应收据中的跨链事件,生成跨链请求并发送至相应的第二区块链***。该方案中,每个跨链事件均需要独立封装跨链请求,如果涉及第一区块链***和第二区块链***的跨链交易数量较多,则可能导致第一区块链***和第二区块链***间需要高频次的进行信息交互,需要占用较多的计算资源和网络资源,进而影响区块链***的性能。而且,由于跨链服务是从交易执行服务被动接收跨链事件,导致跨链事件在交易执行服务和跨链服务之间传递的过程中发生丢失时,跨链服务因对丢失跨链事件的情况无感知而无法正常的处理跨链事件。
本说明书实施例中至少提供了一种跨链交互方法和区块链节点。属于第一区块链***的第一区块链节点包括跨链服务,该跨链服务可以从第一区块链***最新生成的若干区块中获取若干第一跨链事件,从若干第一跨链事件中确定出将要发送至第二区块链***的若干第二跨链事件,根据若干第二跨链事件生成第一跨链请求,并向第二区块链***发送第一跨链请求。通过跨链服务从第一区块链***最新生成的若干区块中,主动获取将要发送到第二区块链***的若干跨链事件,并将该若干第二跨链事件封装为第一跨链请求,可以降低第一区块链***和第二区块链***进行信息交互的频次,有利于降低区块链节点中计算资源和网络资源的消耗,从而提高区块链***的性能。而且,跨链服务通过从区块管理服务最新生成的若干区块中,主动获取跨链事件,可以确保跨链事件不会因发生丢失而导致其无法被正常处理。
图2为本说明书实施例中提供的一种跨链交互方法的流程图。该方法示例性描述了第一区块链***与第二区块链***进行跨链交互的过程,该方法可以由第一区块链节点中的跨链服务执行,该第一区块链节点是属于第一区块链***的区块链节点,该第一区块链节点例如是第一区块链***中的主节点或者基于其它策略确定的区块链节点。
参见图2所示,该方法可以包括但不限于如下步骤S201~步骤S215中的部分或全部。
首先,在步骤S201,从第一区块链***最新生成的若干区块中获取若干第一跨链事件。
可以通过设置定时任务来触发跨链服务执行前述步骤S201,或者也可以在第一区块链***中每生成预定数量的区块后,触发跨链服务执行前述步骤S201。
单个区块中包括区块头和区块体,区块体中包括按顺序排列的多个交易以及该多个交易各自对应的收据。对于跨链交易而言,其收据中可能包括一个或多个跨链事件;跨链服务可以根据跨链事件的topic解析该若干区块中的全部收据,进而获得该若干第一跨链事件。
不同的第一跨链事件可能期望被发送到不同的第二区块链***。对于该若干第一跨链事件涉及的每个第二区块链***,均可以执行如下步骤S203以及其后续的各个方法步骤。
具体地,在步骤S203,从若干第一跨链事件中确定出将要发送至第二区块链***的若干第二跨链事件。
参照前文示例性描述的跨链事件event AB的数据结构。跨链事件可以包括dest_id字段(即第一标识字段),其字段值包括用于接收该跨链事件的第二区块链***的标识。对于需要发送到不同的第二区块链***的第一跨链事件而言,其dest_id字段的字段值不同。由此,可以按照dest_id字段的字段值将前述若干第一跨链事件划分成一个或多个第一分组。其中,对于划分到相同的第一分组中的第一跨链事件,其dest_id字段具有相同的字段值;对于划分到不同的第一分组中的第一跨链事件,其dest_id字段具有不同的字段值。如此,不同的第一分组对应不同的第二区块链***;其中为了方便描述,将单个第二区块链***所对应的第一分组中的全部第一跨链事件,表述为该第二区块链***对应的若干第三跨链事件。进而,可以从单个第二区块链***所对应的第一分组中,即从单个第二区块链***所对应的若干第三跨链事件中,选择出将要发送到该第二区块链***的若干第二跨链事件。
第二区块链***对应的若干第三跨链事件的数量不大于预设数量时,可以将该若干第三跨链事件全部作为将要发送到第二区块链***的若干第二跨链事件,进而执行如下步骤S205以及其后续的各个方法步骤。
第二区块链***对应的若干第三跨链事件的数量大于预设数量时,可以从跨链事件所包括的若干业务字段中选择若干第一字段,该若干业务字段例如包括前述示例的biz_id、method、args等字段。然后根据该若干第一字段将该若干第三跨链事件划分成多个第二分组。对于划分到相同的第二分组中的第三跨链事件,其对应在相同的第一字段下的字段值相同;如此则位于相同的第二分组中的全部第三跨链事件,组成从对应的若干第三跨链事件中选择出的并且将要发送至第二区块链***的若干第二跨链事件。可以理解,当第二区块链***对应的若干第三跨链事件被划分为多个第二分组的情况下,可以对该多个第二分组分别包括的将要发送至第二区块链***的若干第二跨链事件,均执行如下步骤S205以及其后续的各个方法步骤。
具体地,在步骤S205,根据若干第二跨链事件生成第一跨链请求。
可以按字段对若干第二跨链事件进行聚合以获得聚合结果,并生成包含该聚合结果的第一跨链请求。对于第二跨链事件中任意的第二字段,在该若干第二跨链事件中对应在第二字段下的字段值均为相同的第一字段值时,聚合结果中仅包括一个对应在第二字段下的第一字段值。如此可以尽可能的降低第一跨链请求的数据量,提高通信效率。在一种可能的实施方式中,第一区块链节点还可以生成聚合结果的签名,并将签名封装到第一跨链请求中。
接着,在步骤S207,向第二区块链***发送第一跨链请求。
当第一区块链***和第二区块链***满足强信任关系时,并不需要关注第一区块链***和第二区块链***中的区块链节点是否作恶,仅需要关注第一区块链***和第二区块链***中的区块链节点是否发生故障。在此基础上,跨链服务可以向第二区块链***中的至少F+1个区块链节点发送跨链请求,F是第二区块链***允许的最大故障节点数。如此,即可确保第二区块链***中,存在一个或多个未发生故障的第二区块链节点能够准确接收到来自第一区块链***的第一跨链请求。
典型的满足强信任关系的技术场景例如,第一区块链***和第二区块链***均是基于第三区块链***的区块链子网。第一区块链***中的第一区块链节点与第三区块链***中的第三区块链节点部署于相同的节点设备中,第二区块链***中的第二区块链节点与第三区块链***中的第四区块链节点部署于相同的节点设备中。其中,前述的第三区块链***例如可以是涉及多个参与方/节点成员的联盟链。
参见图3所示,第三区块链***(也称为区块链主网)例如是subnet0,该subnet0包含的区块链节点为nodeA、nodeB、nodeC、nodeD和nodeE等。假定分别对应nodeA、nodeB、nodeC和nodeD的节点成员希望组建区块链子网subnet1,分别对应nodeA、nodeB、nodeC和nodeE的节点成员希望组建区块链子网subnet2。如果nodeA为管理员且仅允许管理员发起组建区块链子网的交易,那么可由nodeA向subnet0发起组建区块链子网subnet1、subnet2的两个组网交易,subnet0可以通过执行组网交易来触发相应的节点设备创建区块链子网subnet1和subnet2。例如,创建包括nodeA1、nodeB1、nodeC1、nodeD1等区块链节点的subnet1,以及创建包括nodeA2、nodeB2、nodeC2、nodeE2等区块链节点的subnet2。
在组建区块链子网时,并非由属于subnet0的区块链节点直接参与组建区块链子网,而是需要由用于部署属于subnet0的区块链节点的节点设备生成属于区块链子网的区块链节点,并由属于区块链子网的区块链节点参与组建区块链子网。其中,属于区块链子网的区块链节点和某个属于subnet0的区块链节点对应于相同的节点成员,比如在联盟链场景下对应于相同的联盟链成员,使得该节点成员可以分别参与到subnet0和区块链子网的交易中;除此之外,由于subnet0和区块链子网属于相互独立的两个区块链***,使得属于subnet0的区块链节点生成的区块与属于区块链子网的区块链节点各自生成的区块分别存入所属节点设备上的不同存储(采用的存储譬如可以为数据库),实现了属于subnet0的区块链节点与属于区块链子网的区块链节点分别使用的存储之间的相互隔离,因而区块链子网所产生的数据仅会在区块链子网中的各个区块链节点之间同步,使得仅参与了区块链主网的节点成员无法获得区块链子网上产生的数据,实现了区块链主网与区块链子网之间的数据隔离,满足部分节点成员(即参与区块链子网的节点成员)之间的交易需求。由此,subnet1和subnet2可以对应为前述的第一区块链***和第二区块链***;subnet1中的区块链节点和subnet2中的区块链节点各自所属的节点成员/节点设备,均是区块链主网subnet0中的区块链节点所属的节点成员/节点设备,因此subnet1和subnet2满足强信任关系,subnet1和subnet2跨链交互的过程中无需关注subnet1和subnet2中是否存在恶意节点,只需要关注subnet1和subnet2中是否存在故障节点即可。
下面示例性描述subnet1获得第一跨链请求,并向subnet2发送该第一跨链请求的过程。
参见图4所示,跨链服务可以通过消息聚合组件,按字段对若干第二跨链事件进行聚合以获得聚合结果。对于聚合结果中的src_id以及dest_id等两个标识字段,若干第二跨链事件对应在src_id的字段值均为subnet1的标识,若干第二跨链事件对应在dest_id的字段值均为subnet2的标识,因此src_id下的字段值包括一个subnet1的标识即可,dest_id下的字段值包括一个subnet2的标识即可。对于聚合结果中的biz_id、method和args等业务字段,如果某个业务字段被选择为第一字段,则若干第二跨链事件对应在该第一业务字段下的字段值均为相同的第一字段值,因此该第一字段下的值包括一个第一字段值即可。对于聚合结果中未被选择为第一业务字段的字段,例如request_id、timestamp以及未被选择为第一字段的业务字段,单个字段下的字段值可以包括若干第二跨链事件中各自对应在该字段下的字段值。
跨链服务可以在Signature Message层(消息签名层)通过调用AM消息组件对聚合结果进行签名,以认证第一区块链节点的身份。其中,node_id字段用于存放第一区块链节点的节点标识,msg字段用于存放或指示聚合结果,sign字段用于存放第一区块链节点采用自身的节点私钥对msg字段存放的聚合结果的签名数据。
跨链服务可以在Envelope Message层(消息信封层),通过调用Envelope消息组件来对Signature Message层得到的数据采用数字信封的方式进行加密。具体而言,跨链服务可随机生成自身使用的对称密钥K,然后采用对称密钥K对上述node_id字段、msg字段和sign字段的内容进行加密后存放至encry_data字段。与此同时,在区块链主网subnet0部署的Subnet***合约中,维护有各个区块链子网内区块链节点的节点公钥。因此,跨链服务可通过subnet2的标识查询Subnet***合约中维护的subnet2内至少F+1个区块链节点的节点公钥,然后分别采用至少F+1个节点公钥加密自身使用的对称密钥K,得到至少F+1个密文形式的对称密钥en_key1、en_key2、en_key3等等,并存放于encryped_key字段中。
跨链服务可以在P2P Message层(通讯层),通过调用P2P消息组件将EnvelopeMessage层得到的数据封装成第一跨链请求。具体而言,将encryped_key字段和encry_data字段的内容存放至data字段中。同时,第一跨链请求还包含以下字段:
src_id:subnet1的标识;
dest_id:subnet2的标识;
msg_type:第一跨链请求的请求类型标识。
与此同时,在区块链主网subnet0部署的Subnet***合约中,维护有各个区块链子网内子网节点的IP地址、端口号等地址信息。因此,第一区块链节点可通过subnet2的标识查询Subnet***合约中维护的subnet2内的前述至少F+1个区块链节点的地址信息,在生成第一跨链请求后,根据地址信息向subnet2内的前述至少F+1个区块链节点发送第一跨链请求。
当一些实施例中,无论第一区块链***和第二区块链***是否满足强信任关系,跨链服务均可向第二区块链***中的至少2F个第二区块链节点发送第一跨链请求,F表征第二区块链***允许的恶意节点和故障节点的最大节点数。以便第一区块链节点能够从该至少2F个第二区块链节点准确获取若干第二跨链事件的事件处理结果。
对于第二区块链***中接收到第一跨链请求的任意第二区块链节点Node j,其会对第一跨链请求进行响应。举例来说,subnet2内的Node j同样依次在上述各层对接收到的跨链请求进行处理。其中Node j采用自身的节点私钥分别对encryped_key字段存放的各个密文形式的对称密钥进行解密,可对采用Node j的节点公钥加密的对称密钥成功解密,然后再通过解密成功的对称密钥对encry_data字段存放的数据进行解密,得到node_id字段、msg字段和sign字段的相关内容。此时,可校验第一区块链节点的有效性和签名的有效性。比如,可根据跨链请求的src_id查询Subnet***合约中维护的subnet1内各区块链节点的节点标识和节点公钥。然后,判断查询到的节点标识是否包含node_id字段存放的节点标识,当查询到的节点标识包含node_id字段存放的节点标识时,判定第一区块链节点的有效性校验通过。然后,采用与node_id字段存放的节点标识对应的节点公钥对sign字段存放的签名进行验签,以在验签通过的情况下判定第一区块链节点的签名校验通过。在校验第一区块链节点的有效性和签名的有效性通过之后,可读取msg字段存放的聚合结果。进而,Node j可以从聚合结果中解析出若干第二跨链事件并对其进行处理。单个第二跨链事件,Node j可以可以提取参数字段args和方法字段method所包括的相关信息,基于参数字段args字段包括的信息对应的执行方法字段method所指示的方法,进而获得与第二跨链事件对应的事件处理结果,该事件处理结果例如包括期望查询的并且用于支持第一区块链***执行相关业务的业务数据。
Node j完成处理不同的第二跨链事件的时刻可能并不相同,Node j可能因各种可能存在的问题而无法正确处理一个或多个第二跨链事件,此外部分第二跨链事件的事件处理结果所对应的数据量可能相对较大。基于前述示例的各种情况,Node j可以基于某些决策来实现向第一区块链节点返回与第一跨链请求对应的若干第一跨链响应,单个第一跨链响应中包括若干第四跨链事件所对应的若干事件处理结果,若干第四跨链事件属于若干第二跨链事件。
举例来说,对于若干第二跨链事件中的m1个第二跨链事件,Node j可能在较短的时间内完成处理该m1个第二跨链事件,因此其可以在获得该m1个第二跨链事件的事件处理结果后,立即向第一区块链节点返回一个第一跨链响应,该第一跨链响应中包括该m1个第二跨链事件的事件处理结果。对于若干第二跨链事件中的m2个第二跨链事件,Node j可以在获得该m2个第二跨链事件的事件处理结果后,向第一区块链节点返回另一个第一跨链响应,该第一跨链响应中包括该m2个第二跨链事件的事件处理结果。
其中Node j向第一区块链节点返回单个第一响应结果的过程,相似于前文示例性描述的由第一区块链节点向Node j发送第一跨链请求的过程,在此不再赘述。
与之相应的是,跨链服务可以对应的执行步骤S209,从第二区块链***中的第二区块链节点接收若干第一跨链响应,单个第一跨链响应中包括若干第四跨链事件所对应的若干事件处理结果,若干第四跨链事件属于若干第二跨链事件。
事件处理结果中除用于支持第一区块链***执行相关业务的业务数据外,还可以包括其它辅助信息,例如包括其对应的第二跨链事件中的部分或全部信息。此外参照前文,单个第一跨链响应中还可能包括,第二区块链节点对位于该第一跨链响应中的若干事件处理结果的签名,第一区块链节点可以在该签名通过验证的情况下,才继续使用位于该第一跨链响应中的事件处理结果执行相关业务。
第二区块链节点可能因故无法成功处理若干第二跨链事件中的部分跨链事件,导致跨链服务无法获得该部分跨链事件的事件处理结果。基于此,跨链服务还可以在其发出第一跨链请求后的时间达到预定时长后,接着执行步骤S211,根据已接收的若干第一跨链响应,确定若干第二跨链事件中是否存在异常事件。
对于若干第二跨链事件中任意的第五跨链事件,如果跨链服务已接收的若干第一跨链响应中,并未包含该第二跨链事件的事件处理结果,该第五跨链事件即为异常事件。
如果存在异常事件,则继续执行步骤S213,根据各个异常事件生成第二跨链请求。
以及,在步骤S215,向第二区块链***发送第二跨链请求。
第一区块链***和第二区块链***联合处理异常事件的过程,相似于前述步骤S205~步骤S211中联合处理若干第二跨链事件的过程,因此不再赘述。
对于单个第二跨链事件的事件处理结果,跨链服务还可以根据该第二跨链事件的事件处理结果,生成与该第二跨链事件对应的回调交易,回调交易用于调用部署在第一区块链***中的智能合约。第一区块链***可以通过执行该回调交易完成相应的业务。
参照前述图2所示的过程,跨链服务对第一跨链事件的处理过程可以划分为依次排列的多个处理环节。例如单个方法步骤可以对应一个处理环节、连续的多个方法步骤对应一个处理环节,或者单个方法步骤也可能对应连续的多个处理环节等等。第一区块链节点还可以在其处理第一跨链事件的过程中,记录第一跨链事件的处理进度,包括该第一跨链事件当前所处的处理环节以及来自前一个处理环节的中间结果。如此,可以支持用户按需查询单个第一跨链事件的处理进度,并且可以在某个环节发生对第一跨链事件处理异常时,从发生异常的处理环节开始,重新使用来自前一个处理环节的中间结果继续处理该第一跨链事件。
与前述方法实施例基于相同的构思,本说明书实施例中还提供了一种第一区块链节点,所述第一区块链节点是属于第一区块链***的区块链节点50,所述第一区块链节点包括跨链服务500。参见图5所示,所述跨链服务500包括:事件获取单元501,配置为从所述第一区块链***最新生成的若干区块中获取若干第一跨链事件;事件确定单元503,配置为从所述若干第一跨链事件中确定出将要发送至第二区块链***的若干第二跨链事件;请求生成单元505,配置为根据所述若干第二跨链事件生成第一跨链请求;通信处理单元507,配置为向所述第二区块链***发送所述第一跨链请求。
在一种可能的实施方式中,所述第一跨链事件中包括第一标识字段;其中,所述事件确定单元503,配置为从所述若干第一跨链事件中确定出若干第三跨链事件,所述若干第三跨链事件中第一标识字段的字段值均为所述第二区块链***的标识;以及,从所述若干第三跨链事件中选择若干第二跨链事件。
在一种可能的实施方式中,所述第一跨链事件中还包括若干业务字段;其中,所述事件确定单元503,具体配置为在所述若干第三跨链事件的数量大于预设数量的情况下,从所述若干业务字段中选择第一字段;以及,根据所述第一字段从所述若干第三跨链事件中选择若干第二跨链事件,所述若干第二跨链事件的第一字段包括相同的字段值。
在一种可能的实施方式中,所述请求生成单元505,配置为按字段对所述若干第二跨链事件进行聚合以获得聚合结果,并生成包含所述聚合结果的第一跨链请求;对于所述第二跨链事件中任意的第二字段,当所述若干第二跨链请求中对应在所述第二字段下的字段值为相同的第一字段值时,所述聚合结果中包括一个对应在所述第二字段下的所述第一字段值。
在一种可能的实施方式中,所述跨链服务500还包括:签名处理单元509,配置为生成所述聚合结果的签名;其中所述第一跨链请求中还包括所述签名。
在一种可能的实施方式中,所述通信处理单元507,还配置为从所述第二区块链***中的第二区块链节点接收若干第一跨链响应,单个所述第一跨链响应中包括若干第四跨链事件所对应的若干事件处理结果,所述若干第四跨链事件属于所述若干第二跨链事件。
在一种可能的实施方式中,所述跨链服务500还包括:异常处理单元511,配置为根据所述若干第一跨链响应,确定所述若干第二跨链事件中是否存在异常事件;所述请求生成单元505,还配置为根据所述异常事件生成第二跨链请求;所述通信处理单元507,还配置为向所述第二区块链***发送所述第二跨链请求。
在一种可能的实施方式中,所述第一区块链***和所述第二区块链***是基于第三区块链***的子网,所述第一区块链节点与所述第三区块链***中的第三区块链节点部署于相同的节点设备中,所述第二区块链***中的第二区块链节点与所述第三区块链***中的第四区块链节点部署于相同的节点设备中。
本说明书实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序/指令,当所述计算机程序/指令在计算机中执行时,令计算机执行前述方法实施例中由第一区块链节点执行的跨链交互方法。
本说明书实施例中还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码/指令,所述处理器执行所述可执行代码/指令时,实现前述方法实施例中由第一区块链节点执行的跨链交互方法。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为服务器***。当然,本申请不排除随着未来计算机技术的发展,实现上述实施例功能的计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本说明书一个或多个实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环节)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。例如若使用到第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
为了描述的方便,描述以上装置/区块链节点时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本发明是参照根据本发明实施例的方法、装置(区块链节点)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储、石墨烯存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、***或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。
Claims (18)
1.一种跨链交互方法,由第一区块链节点中的跨链服务执行,所述第一区块链节点属于第一区块链***,所述方法包括:
从所述第一区块链***最新生成的若干区块中获取若干第一跨链事件;
从所述若干第一跨链事件中确定出将要发送至第二区块链***的若干第二跨链事件;
根据所述若干第二跨链事件生成第一跨链请求;
向所述第二区块链***发送所述第一跨链请求。
2.根据权利要求1所述的方法,所述第一跨链事件中包括第一标识字段;其中,所述从所述若干第一跨链事件中确定出将要发送至第二区块链***的若干第二跨链事件,包括:
从所述若干第一跨链事件中确定出若干第三跨链事件,所述若干第三跨链事件中第一标识字段的字段值均为所述第二区块链***的标识;
从所述若干第三跨链事件中选择若干第二跨链事件。
3.根据权利要求2所述的方法,所述第一跨链事件中还包括若干业务字段;其中,所述从所述若干第三跨链事件中选择若干第二跨链事件,包括:
在所述若干第三跨链事件的数量大于预设数量的情况下,从所述若干业务字段中选择第一字段;
根据所述第一字段从所述若干第三跨链事件中选择若干第二跨链事件,所述若干第二跨链事件的第一字段包括相同的字段值。
4.根据权利要求1所述的方法,所述根据所述若干第二跨链事件生成第一跨链请求,包括:按字段对所述若干第二跨链事件进行聚合以获得聚合结果,并生成包含所述聚合结果的第一跨链请求;其中,对于所述第二跨链事件中任意的第二字段,当所述若干第二跨链请求中对应在所述第二字段下的字段值为相同的第一字段值时,所述聚合结果中包括一个对应在所述第二字段下的所述第一字段值。
5.根据权利要求4所述的方法,所述方法还包括:生成所述聚合结果的签名;其中所述第一跨链请求中还包括所述签名。
6.根据权利要求1所述的方法,所述方法还包括:从所述第二区块链***中的第二区块链节点接收若干第一跨链响应,单个所述第一跨链响应中包括若干第四跨链事件所对应的若干事件处理结果,所述若干第四跨链事件属于所述若干第二跨链事件。
7.根据权利要求6所述的方法,所述方法还包括:
根据所述若干第一跨链响应,确定所述若干第二跨链事件中是否存在异常事件;
如果是,根据所述异常事件生成第二跨链请求;
向所述第二区块链***发送所述第二跨链请求。
8.根据权利要求1-7中任一项所述的方法,所述第一区块链***和所述第二区块链***是基于第三区块链***的子网,所述第一区块链节点与所述第三区块链***中的第三区块链节点部署于相同的节点设备中,所述第二区块链***中的第二区块链节点与所述第三区块链***中的第四区块链节点部署于相同的节点设备中。
9.一种第一区块链节点,所述第一区块链节点是属于第一区块链***的区块链节点,所述第一区块链节点包括跨链服务,所述跨链服务包括:
事件获取单元,配置为从所述第一区块链***最新生成的若干区块中获取若干第一跨链事件;
事件确定单元,配置为从所述若干第一跨链事件中确定出将要发送至第二区块链***的若干第二跨链事件;
请求生成单元,配置为根据所述若干第二跨链事件生成第一跨链请求;
通信处理单元,配置为向所述第二区块链***发送所述第一跨链请求。
10.根据权利要求9所述的区块链节点,所述第一跨链事件中包括第一标识字段;
其中,所述事件确定单元,配置为从所述若干第一跨链事件中确定出若干第三跨链事件,所述若干第三跨链事件中第一标识字段的字段值均为所述第二区块链***的标识;以及,从所述若干第三跨链事件中选择若干第二跨链事件。
11.根据权利要求10所述的区块链节点,所述第一跨链事件中还包括若干业务字段;
其中,所述事件确定单元,具体配置为在所述若干第三跨链事件的数量大于预设数量的情况下,从所述若干业务字段中选择第一字段;以及,根据所述第一字段从所述若干第三跨链事件中选择若干第二跨链事件,所述若干第二跨链事件的第一字段包括相同的字段值。
12.根据权利要求9所述的区块链节点,所述请求生成单元,配置为按字段对所述若干第二跨链事件进行聚合以获得聚合结果,并生成包含所述聚合结果的第一跨链请求;对于所述第二跨链事件中任意的第二字段,当所述若干第二跨链请求中对应在所述第二字段下的字段值为相同的第一字段值时,所述聚合结果中包括一个对应在所述第二字段下的所述第一字段值。
13.根据权利要求12所述的区块链节点,所述跨链服务还包括:签名处理单元,配置为生成所述聚合结果的签名;其中所述第一跨链请求中还包括所述签名。
14.根据权利要求9所述的区块链节点,所述通信处理单元,还配置为从所述第二区块链***中的第二区块链节点接收若干第一跨链响应,单个所述第一跨链响应中包括若干第四跨链事件所对应的若干事件处理结果,所述若干第四跨链事件属于所述若干第二跨链事件。
15.根据权利要求14所述的区块链节点,所述跨链服务还包括:
异常处理单元,配置为根据所述若干第一跨链响应,确定所述若干第二跨链事件中是否存在异常事件;
所述请求生成单元,还配置为根据所述异常事件生成第二跨链请求;
所述通信处理单元,还配置为向所述第二区块链***发送所述第二跨链请求。
16.根据权利要求9-15中任一项所述的区块链节点,所述第一区块链***和所述第二区块链***是基于第三区块链***的子网,所述第一区块链节点与所述第三区块链***中的第三区块链节点部署于相同的节点设备中,所述第二区块链***中的第二区块链节点与所述第三区块链***中的第四区块链节点部署于相同的节点设备中。
17.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算设备中执行时,计算设备执行权利要求1-8中任一项所述的方法。
18.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310342725.8A CN116366706A (zh) | 2023-03-31 | 2023-03-31 | 跨链交互方法和区块链节点 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310342725.8A CN116366706A (zh) | 2023-03-31 | 2023-03-31 | 跨链交互方法和区块链节点 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116366706A true CN116366706A (zh) | 2023-06-30 |
Family
ID=86931175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310342725.8A Pending CN116366706A (zh) | 2023-03-31 | 2023-03-31 | 跨链交互方法和区块链节点 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116366706A (zh) |
-
2023
- 2023-03-31 CN CN202310342725.8A patent/CN116366706A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11444783B2 (en) | Methods and apparatuses for processing transactions based on blockchain integrated station | |
US11336660B2 (en) | Methods and apparatuses for identifying replay transaction based on blockchain integrated station | |
US11463553B2 (en) | Methods and apparatuses for identifying to-be-filtered transaction based on blockchain integrated station | |
US11783339B2 (en) | Methods and apparatuses for transferring transaction based on blockchain integrated station | |
CN113259460B (zh) | 跨链交互方法及装置 | |
CN114679457B (zh) | 一种区块链中的节点分组方法及区块链节点 | |
CN113067897B (zh) | 跨链交互方法及装置 | |
WO2024001022A1 (zh) | 跨子网调用 | |
CN113259453B (zh) | 跨链交互方法及装置 | |
CN114374699B (zh) | 跨链交互方法和跨链交互的审计方法 | |
CN109167819A (zh) | 数据同步***、方法、装置及存储介质 | |
CN113259461B (zh) | 跨链交互方法和区块链*** | |
CN114679274A (zh) | 跨子网交互的权限控制方法及装置、电子设备、存储介质 | |
CN113935737A (zh) | 基于区块链的随机数生成方法及装置 | |
CN114785800B (zh) | 跨链通信方法、装置、存储介质及计算设备 | |
CN115118486B (zh) | 物联网***、基于区块链获取数据的方法和装置、存储介质以及计算设备 | |
CN114363335B (zh) | 跨链交互方法及装置 | |
CN114095507B (zh) | 跨链交互方法和区块链*** | |
CN113067838B (zh) | 跨链交互方法及装置 | |
CN116366706A (zh) | 跨链交互方法和区块链节点 | |
CN113259462B (zh) | 区块链消息的分发方法及装置 | |
CN116319943A (zh) | 跨链交互方法和区块链节点 | |
EP3534588A1 (en) | Network policy exchanging method and system | |
CN115022305B (zh) | 数据传输***、方法、装置、设备及介质 | |
CN115037746B (zh) | 数据传输***、方法、装置、电子设备和可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |