CN115098281A - 区块链跨链任务处理方法、装置、服务器及介质 - Google Patents
区块链跨链任务处理方法、装置、服务器及介质 Download PDFInfo
- Publication number
- CN115098281A CN115098281A CN202210757844.5A CN202210757844A CN115098281A CN 115098281 A CN115098281 A CN 115098281A CN 202210757844 A CN202210757844 A CN 202210757844A CN 115098281 A CN115098281 A CN 115098281A
- Authority
- CN
- China
- Prior art keywords
- task
- chain
- executed
- cross
- execution
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
Abstract
本申请适用于计算机技术领域,提供了区块链跨链任务处理方法、装置、服务器及介质,其中,方法包括:接收来源链发送的跨链任务请求;在跨链任务请求指示由多个待执行链执行待执行任务时,根据跨链任务请求,分别生成各个待执行链所需执行的子任务的任务执行信息,其中,任务执行信息用于指示待执行链执行对应的子任务;分别向各个待执行链发送对应的任务执行信息,以及接收各个待执行链针对对应的任务执行信息返回的子任务执行结果;在所接收的各个子任务执行结果指示执行成功的情况下,确定对待执行任务处理成功。本申请可以实现一对多场景下的跨链任务并行执行,有助于提高跨链任务的处理效率。
Description
技术领域
本申请属于计算机技术领域,尤其涉及一种区块链跨链任务处理方法、装置、服务器及介质。
背景技术
区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。随着区块链技术的发展,区块链之间需要进行跨链交互。实践中,区块链之间进行跨链交互时,通常需要保证不同链之间跨链交易在来源链与目的链要么都执行成功,要么都恢复到未执行的状态(原子性);还需要保证在执行跨链交易前与执行后,来源链与目的链的状态是一致的(一致性);还需要在跨链交易执行结束后,保证来源链与目的链不会再因为该跨链交易而更改状态(持久性)。
相关技术中,区块链之间通常只一对一进行跨链交互,也即是一个区块链只与另一个区块链进行跨链交互,交互效率较低。
发明内容
本申请实施例提供了区块链跨链任务处理方法、装置、服务器及介质,旨在解决相关技术中区块链之间通常只一对一进行跨链交互,交互效率较低的问题。
第一方面,本申请实施例提供了一种区块链跨链任务处理方法,该方法包括:
接收来源链发送的跨链任务请求;
在跨链任务请求指示由多个待执行链执行待执行任务时,根据跨链任务请求,分别生成各个待执行链所需执行的子任务的任务执行信息,其中,任务执行信息用于指示待执行链执行对应的子任务;
分别向各个待执行链发送对应的任务执行信息,以及接收各个待执行链针对对应的任务执行信息返回的子任务执行结果;
在所接收的各个子任务执行结果指示执行成功的情况下,确定对待执行任务处理成功。
在一些实施例中,在接收各个待执行链针对对应的任务执行信息返回的子任务执行结果之后,还包括:
将预先创建的任务状态表中各待执行链对应的子任务的任务执行状态,调整为与相应待执行链对应的子任务执行结果相适配;
其中,任务状态表用于记录各个子任务的任务执行状态,任务执行状态包括初始状态、执行失败状态、执行成功状态、回滚状态。
在一些实施例中,在所接收的各个子任务执行结果指示执行成功的情况下,确定对待执行任务处理成功,包括:
在当前计时值小于预设时长阈值,且任务状态表中各子任务的任务执行状态为执行成功状态时,确定对待执行任务处理成功;
其中,当前计时值的计时起点包括:任务状态表中各子任务的任务执行状态被设置为初始状态的时间点、任务状态表中各子任务的任务执行状态变更为回滚状态的时间点。
在一些实施例中,方法还包括:在对待执行任务处理失败的情况下,向各个待执行链发送回滚通知,以及将任务状态表中各待执行链对应的子任务的任务执行状态,变更为回滚状态,其中,回滚通知用于通知各待执行链重新执行对应的子任务。
在一些实施例中,在分别生成各个待执行链所需执行的子任务的任务执行信息之后,还包括:
根据各个子任务的任务执行信息,创建任务状态表。
在一些实施例中,方法还包括:在跨链任务请求指示由一个待执行链执行待执行任务时,将跨链任务请求向待执行链发送;
接收待执行链针对跨链任务请求返回的全局任务执行结果,以及在全局任务执行结果指示执行成功的情况下,确定对待执行任务处理成功。
在一些实施例中,在接收来源链发送的跨链任务请求之后,方法还包括:根据跨链任务请求确定待执行任务的任务类型,以及在待执行任务的任务类型为跨链转账任务时,确定来源链属于待执行链;
其中,任务类型包括跨链转账任务、跨链转发任务、跨链智能合约调用任务中的至少一个。
第二方面,本申请实施例提供了一种区块链跨链任务处理装置,该装置包括:
请求接收单元,用于接收来源链发送的跨链任务请求;
任务生成单元,用于在跨链任务请求指示由多个待执行链执行待执行任务时,根据跨链任务请求,分别生成各个待执行链所需执行的子任务的任务执行信息,其中,任务执行信息用于指示待执行链执行对应的子任务;
结果接收单元,用于分别向各个待执行链发送对应的任务执行信息,以及接收各个待执行链针对对应的任务执行信息返回的子任务执行结果;
结果确定单元,用于在所接收的各个子任务执行结果指示执行成功的情况下,确定对待执行任务处理成功。
在一些实施例中,结果接收单元,具体用于:将预先创建的任务状态表中各待执行链对应的子任务的任务执行状态,调整为与相应待执行链对应的子任务执行结果相适配;
其中,任务状态表用于记录各个子任务的任务执行状态,任务执行状态包括初始状态、执行失败状态、执行成功状态、回滚状态。
在一些实施例中,结果确定单元,具体用于:在当前计时值小于预设时长阈值,且任务状态表中各子任务的任务执行状态为执行成功状态时,确定对待执行任务处理成功;
其中,当前计时值的计时起点包括:任务状态表中各子任务的任务执行状态被设置为初始状态的时间点、任务状态表中各子任务的任务执行状态变更为回滚状态的时间点。
在一些实施例中,装置还包括状态回滚单元。其中,状态回滚单元,用于在对待执行任务处理失败的情况下,向各个待执行链发送回滚通知,以及将任务状态表中各待执行链对应的子任务的任务执行状态,变更为回滚状态,其中,回滚通知用于通知各待执行链重新执行对应的子任务。
在一些实施例中,任务生成单元,还用于根据各个子任务的任务执行信息,创建任务状态表。
在一些实施例中,装置还包括请求发送单元和结果生成单元。
请求发送单元,用于在跨链任务请求指示由一个待执行链执行待执行任务时,将跨链任务请求向待执行链发送;
结果生成单元,用于接收待执行链针对跨链任务请求返回的全局任务执行结果,以及在全局任务执行结果指示执行成功的情况下,确定对待执行任务处理成功。
在一些实施例中,装置还包括目的确定单元。其中,目的确定单元,用于根据跨链任务请求确定待执行任务的任务类型,以及在待执行任务的任务类型为跨链转账任务时,确定来源链属于待执行链;
其中,任务类型包括跨链转账任务、跨链转发任务、跨链智能合约调用任务中的至少一个。
第三方面,本申请实施例提供了一种服务器,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一项区块链跨链任务处理方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现上述任一项区块链跨链任务处理方法的步骤。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在服务器上运行时,使得服务器执行上述任一项区块链跨链任务处理方法。
本申请实施例与相关技术相比存在的有益效果是:一个来源链可以与多个待执行链进行跨链交互,由于目的链属于待执行链,也即是,一个来源链可以同时与多个目的链进行跨链交互,可以实现一对多场景下的跨链任务并行执行,可以提高跨链任务处理效率,从而有助于提高跨链交互效率。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的区块链跨链任务处理方法的流程示意图;
图2是本申请另一实施例提供的区块链跨链任务处理方法的流程示意图;
图3是本申请一实施例提供的区块链跨链任务处理系统的结构示意图;
图4是本申请一实施例提供的区块链跨链任务处理装置的结构示意图;
图5是本申请一实施例提供的服务器的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
为了说明本申请的技术方案,下面通过以下实施例来进行说明。
继续参阅图1,本申请实施例提供一种区块链跨链任务处理方法,包括:
步骤101,接收来源链发送的跨链任务请求。
其中,上述跨链任务请求通常是用于请求处理跨链的待执行任务的信息。上述待执行任务可以是需要跨链处理的各种任务。实践中,上述待执行任务的任务类型可以包括跨链转账任务、跨链转发任务、跨链智能合约调用任务。举例来说,上述待执行任务可以是由区块链A向区块链B和区块链C各转账10元的任务,也可以是将区块链A的文件1同时发送给区块链B和区块链C的任务,还可以是区块链A调用区块链B和区块链C的智能合约的任务。
实践中,上述跨链任务请求通常遵循跨链传输协议(InterBlockchain TransferProtocol,IBTP)。其中,IBTP协议支持异构区块链之间的跨链交易和可信验证。IBTP协议数据中通常包括来源链标识字段(From字段)、目的链标识字段(To字段)、协议版本号字段(Version字段)、跨链交易索引字段(Index字段)、跨链调用内容编码字段(Payload字段)、跨链事件发生的时间戳字段(Timestamp字段)、跨链交易证明字段(Proof字段)、自定义字段(Extra字段)等。
上述来源链通常是发起跨链任务请求的区块链。上述目的链通常是被发起跨链任务请求的区块链。
在本实施例中,上述区块链跨链任务处理方法的执行主体通常为来源链与目的链之间的中继链,具体可以为中继链对应的服务器。
实践中,来源链可以在接收到用户端发送的、用于请求对待执行任务进行处理的任务处理请求时,向中继链发送跨链任务请求。实际应用中,与来源链通信连接的用户端,可以向来源链发送任务处理请求,该任务处理请求用于请求对待执行任务进行处理。作为一个示例,任务处理请求可以为“请帮忙将文件1分别转发至区块链B和区块链C”。来源链在接收到上述任务处理请求时,可以采用任务处理请求中的部分或全部信息,生成遵循IBTP协议的跨链任务请求,也即是,该跨链任务请求为IBTP协议数据。然后,通过网络将该跨链任务请求向中继链发送。这样,中继链可以接收到该跨链任务请求。
实际应用中,来源链A在接收到任务处理请求,且任务处理请求为“请帮忙将文件1分别转发至区块链B、区块链C和区块链D”时,来源链可以生成遵循IBTP协议的跨链任务请求。该跨链任务请求中,From字段的内容为A,To字段的内容可以为B,以及Group字段的内容可以为C和D。其中,Group字段为自定义的用于扩展写入目的链标识的字段。
另外,在任务处理请求为“请帮忙将文件1转发至区块链B”时,来源链所生成的遵循IBTP协议的跨链任务请求中,From字段的内容为A,To字段的内容为B,以及Group字段的内容通常为空。
步骤102,在跨链任务请求指示由多个待执行链执行待执行任务时,根据跨链任务请求,分别生成各个待执行链所需执行的子任务的任务执行信息。
其中,任务执行信息用于指示待执行链执行对应的子任务。上述待执行链通常是参与执行至少部分待执行任务的区块链。实践中,目的链属于待执行链。且目的链可以有一个也可以有多个。
实际应用中,中继链在接收到跨链任务请求时,可以对该跨链任务请求进行解析,得到其中各字段的内容,通过分析各字段的内容,确定目的链。举例来说,若跨链任务请求中Group字段的内容为空,且To字段的内容为B,则指示存在一个目的链,且目的链为区块链B。若跨链任务请求中Group字段的内容为C和D,且To字段的内容为B,则指示存在3个目的链,且目的链为区块链B、区块链C和区块链D。
一般情况下,目的链即为待执行链。在跨链任务请求中指示由多个待执行链执行上述待执行任务时,中继链可以结合跨链任务请求中携带的信息,给每个待执行链生成子任务及对应的任务执行信息。
需要指出的是,在跨链任务请求携带有用于指示待执行任务的任务类型的信息的应用场景下,中继链还可以结合待执行任务的任务类型,确定待执行链,此时,在一些任务类型下,待执行链可以同时包括目的链和来源链,在另一些任务类型下,待执行链仅包括目的链。
作为一个示例,若跨链任务请求中指示待执行任务为:将区块链A中的文件1同时发送给区块链B和区块链C。此时,任务类型为跨链转发任务,待执行链仅包括目的链,也即是,待执行链可以为区块链B和区块链C。中继链可以针对区块链B生成任务执行信息1,指示的子任务1为:区块链B接收以及存储区块链A中的文件1。针对区块链C可以生成任务执行信息2,指示的子任务2为:区块链C接收以及存储区块链A中的文件1。
作为另一个示例,若跨链任务请求中指示待执行任务为:由区块链A向区块链B和区块链C各转账10元。此时,任务类型为跨链转账任务,待执行任务包括目的链和来源链,也即是,待执行链可以为区块链A、区块链B和区块链C。中继链可以针对区块链B生成任务执行信息1,指示的子任务1为:区块链B将账户额度增加10元。针对区块链C生成任务执行信息2,指示的子任务2为:区块链C将账户额度增加10元。针对区块链A生成任务执行信息3,指示的子任务3为:区块链A将账户额度减少20元。
步骤103,分别向各个待执行链发送对应的任务执行信息,以及接收各个待执行链针对对应的任务执行信息返回的子任务执行结果。
这里,针对每个待执行链,中继链可以将针对该待执行链的任务执行信息发送至该待执行链。这样,该待执行链可以接收到任务执行信息,以及可以基于任务执行信息执行对应的子任务,在该待执行链执行完对应的子任务之后,可以将所得到的子任务执行结果向中继链发送。
举例来说,若待执行链B接收到的任务执行信息,指示区块链B将账户额度增加10元。则区块链B在执行完任务执行信息对应的子任务时,可以得到用于指示执行成功或执行失败的子任务执行结果。之后,区块链B可以将子任务执行结果返回至中继链。
需要指出的是,中继链也可以主动向待执行链发送用于查询子任务执行结果的查询请求,从而得到待执行链的子任务执行结果。本实施例对中继链获得待执行链的子任务执行结果的具体方式不做限定。
步骤104,在所接收的各个子任务执行结果指示执行成功的情况下,确定对待执行任务处理成功。
这里,中继链可以接收到每个待执行链返回的子任务执行结果。在所接收到的所有的子任务执行结果都指示执行成功的情况下,中继链可以确定对待执行任务处理成功。
实践中,在存在指示执行失败的子任务执行结果的情况下,中继链可以确定对待执行任务处理失败。这样,可以保障跨链交互的一致性。
可选地,上述在所接收的各个子任务执行结果指示执行成功的情况下,确定对待执行任务处理成功,可以包括:在当前计时值小于预设时长阈值,且所接收的各个子任务执行结果指示执行成功的情况下,确定对待执行任务处理成功。
其中,上述时长阈值通常是预先设定的指示时长的数值。实践中,上述预设时长阈值通常较小,比如,可以为8秒、10秒等。上述当前计时值的计时起点可以包括开始向各待执行链发送任务执行信息的时间点。当前计时值通常是指从计时起点至当前时刻的时间差。举例来说,若计时起点为8点10分12秒,当前时刻为8点10分20秒,则当前计时值为8秒。
这里,只有在当前计时值小于预设时长阈值,且所接收到的所有的子任务执行结果都指示执行成功的情况下,中继链才认为对待执行任务处理成功。否则,中继链认为对待执行任务处理失败。举例来说,若存在4个待执行链,在预设时长阈值到达之时,若中继链接收到3个子任务执行结果,且这3个子任务执行结果都指示执行成功,此时,中继链可以确定对待执行任务处理失败。
需要指出的是,由于预设时长阈值通常取值较小,针对一次任务执行,至多等待上述预设时长阈值对应的时长,可以减少每一次的跨链交互时长,从而进一步提高跨链交互效率。
本实施例提供的方法,一个来源链可以与多个待执行链进行跨链交互,由于目的链属于待执行链,也即是,一个来源链可以同时与多个目的链进行跨链交互,可以实现一对多场景下的跨链任务并行执行,可以提高跨链任务处理效率,从而有助于提高跨链交互效率。
可选地,上述区块链跨链任务处理方法,还可以包括在对待执行任务处理成功时,向来源链发送用于指示对待执行任务处理成功的信息。这样,来源链可以准确获知整个待执行任务的处理情况。
在本申请的各个实施例的可选的实现方式中,在接收各个待执行链针对对应的任务执行信息返回的子任务执行结果之后,还可以包括:将预先创建的任务状态表中各待执行链对应的子任务的任务执行状态,调整为与相应待执行链对应的子任务执行结果相适配。
其中,任务状态表用于记录各个子任务的任务执行状态,任务执行状态可以包括初始状态、执行失败状态、执行成功状态、回滚状态。任务状态表中记录着每个子任务的任务执行状态。实践中,任务状态表中可以包括多条记录,每条记录为相对应的子任务的任务标识和子任务的任务执行状态。
实践中,任务状态表通常与待执行任务的任务标识相对应。举例来说,任务状态表中可以同时记录上述待执行任务的任务执行状态。任务状态表与待执行任务的任务标识相对应,有助于实现对与同一待执行任务相关的信息进行统一管理,有助于进一步提高跨链交互效率。
这里,针对每个待执行链,在接收到该待执行链返回的子任务执行结果之后,中继链可以将任务状态表中的、该待执行链对应的子任务的任务执行状态,调整为与该待执行链的子任务执行结果相适配。举例来说,针对待执行链B,中继链在接收到待执行链B返回的子任务执行结果之后,若子任务执行结果指示执行失败,则中继链可以将任务状态表中的、待执行链B对应的子任务的任务执行状态更新为执行失败状态。
这里,通过任务状态表可以实现对各个子任务对应的任务执行状态进行准确有序存储,可以实现灵活高效地对子任务的任务执行状态进行更新,有助于进一步提高跨链交互效率。
在一些可选的实现方式中,在分别生成各个待执行链所需执行的子任务的任务执行信息之后,中继链可以根据各个子任务的任务执行信息,创建任务状态表。
这里,在得到每个待执行链所需执行的子任务的任务执行信息之后,中继链可以采用所有的任务执行信息,生成任务状态表。具体地,针对每个子任务,可以采用该子任务对应的任务执行信息的属性信息,生成该子任务的任务标识,以及可以将初始状态确定为该子任务的任务执行状态。其中,上述任务执行信息的属性信息,可以包括任务执行信息本身和/或任务执行信息的信息标识。
在一些可选的实现方式中,上述步骤104中,在所接收的各个子任务执行结果指示执行成功的情况下,确定对待执行任务处理成功,可以包括:在任务状态表中各子任务的任务执行状态为执行成功状态时,确定对待执行任务处理成功。
这里,由于任务状态表中记录有每个子任务的任务执行状态,因此,中继链可以通过对任务状态表中各个子任务对应的任务执行状态进行分析,来确定是否已对待执行任务处理成功。
具体地,在任务状态表中每个子任务对应的任务执行状态为执行成功状态时,中继链可以认为对待执行任务处理成功。在任务状态表中存在子任务对应的任务执行状态为执行失败状态时,中继链可以认为对待执行任务处理失败。
在一些可选的实现方式中,上述步骤104中,在所接收的各个子任务执行结果指示执行成功的情况下,确定对待执行任务处理成功,也可以包括:在当前计时值小于预设时长阈值,且任务状态表中各子任务的任务执行状态为执行成功状态时,确定对待执行任务处理成功。
其中,当前计时值的计时起点可以包括:任务状态表中各子任务的任务执行状态被设置为初始状态的时间点、任务状态表中各子任务的任务执行状态变更为回滚状态的时间点。当前计时值通常是从计时起点至当前时刻的时间差。
其中,上述时长阈值通常是预先设定的指示时长的数值。实践中,上述预设时长阈值通常较小,比如,可以为8秒、10秒等。
这里,只有在当前计时值小于预设时长阈值,且任务状态表中每个子任务对应的任务执行状态为执行成功状态的情况下,中继链才认为对待执行任务处理成功。否则,中继链认为对待执行任务处理失败。举例来说,若存在4个待执行链,在预设时长阈值到达之时,若任务状态表中存在3个子任务对应的任务执行状态为执行成功状态,1个子任务对应的任务执行状态不为执行成功状态,比如,为初始状态或者是执行失败状态,则中继链可以确定对待执行任务处理失败。
实践中,由于预设时长阈值通常取值较小,针对一次任务执行,至多等待上述预设时长阈值对应的时长,可以减少每一次的跨链交互时长,从而进一步提高跨链交互效率。
在一些可选的实现方式中,上述区块链跨链任务处理方法可以包括:在对待执行任务处理失败的情况下,向各个待执行链发送回滚通知。其中,回滚通知用于通知各待执行链重新执行对应的子任务。
这里,在对待执行任务处理失败的情况下,中继链可以向每个待执行链发送回滚通知。这样,每个待执行链可以重新执行对应的子任务,以及将重新执行子任务后得到的子任务执行结果返回至中继链中。这样,中继链可以基于新一轮接收到的所有待执行链返回的子任务执行结果,确定对待执行任务的处理结果。可以保障跨链交互涉及的来源链和待执行链要么都执行成功,要么都恢复到未执行的状态或者重新执行,有助于保障跨链交互的原子性。
在一些可选的实现方式中,上述区块链跨链任务处理方法也可以包括:在对待执行任务处理失败的情况下,向各个待执行链发送回滚通知,以及将任务状态表中各待执行链对应的子任务的任务执行状态,变更为回滚状态。其中,回滚通知用于通知各待执行链重新执行对应的子任务。
这里,在对待执行任务处理失败的情况下,中继链可以向每个待执行链发送回滚通知,可以保障跨链交互涉及的来源链和目的链要么都执行成功,要么都恢复到未执行的状态或者重新执行,有助于保障跨链交互的原子性。
另外,在对待执行任务处理失败的情况下,中继链及时将任务状态表中的每个待执行链对应的子任务的任务执行状态,变更为回滚状态,可以实现对任务状态表中各子任务的任务执行状态进行快速准确更新,有助于进一步提高跨链交互效率。
在本实施例的一些可选的实现方式中,上述区块链跨链任务处理方法,还可以包括如下步骤一和步骤二。
步骤一,在跨链任务请求指示由一个待执行链执行待执行任务时,将跨链任务请求向待执行链发送。
这里,在跨链任务请求中指示由一个待执行链执行上述待执行任务时,中继链可以直接将跨链任务请求向待执行链发送。举例来说,若跨链任务请求中指示待执行任务为:将区块链A中的文件1发送给区块链B。此时,待执行链为区块链B,只有一个待执行链。中继链可以将跨链任务请求向待执行链发送,实现由区块链B接收以及存储区块链A中的文件1,也即是由区块链B执行待执行任务。
步骤二,接收待执行链针对跨链任务请求返回的全局任务执行结果,以及在全局任务执行结果指示执行成功的情况下,确定对待执行任务处理成功。
其中,上述全局任务执行结果为待执行链对待执行任务的执行结果。
这里,待执行链可以执行待执行任务,以及将所得到的全局任务执行结果发送至中继链。这样,中继链可以接收到全局任务执行结果,以及在全局任务执行结果指示执行成功时,确定对待执行任务处理成功。若全局任务执行结果指示执行失败时,则可以确定对待执行任务处理失败。
在本申请的各个实施例的可选的实现方式中,在接收来源链发送的跨链任务请求之后,上述区块链跨链任务处理方法还可以包括:根据跨链任务请求确定待执行任务的任务类型,以及在待执行任务的任务类型为跨链转账任务时,确定来源链属于待执行链。
其中,任务类型包括跨链转账任务、跨链转发任务、跨链智能合约调用任务中的至少一个。
这里,中继链可以结合跨链任务请求中携带的信息,确定待执行任务的任务类型。在待执行任务的任务类型为跨链转账任务时,中继链可以认为来源链属于待执行链,此时,待执行链包括目的链和来源链。
继续参考图2,为本申请实施例提供的一种区块链跨链任务处理方法的流程示意图。如图2所示的区块链跨链任务处理方法,可以包括如下步骤201至步骤206。
步骤201,来源链向中继链发送跨链任务请求。
步骤202,中继链确定每个待执行链的子任务,以及创建状态记录表。
这里,中继链可以在跨链任务请求指示由多个待执行链执行待执行任务时,根据跨链任务请求,分别生成各个待执行链所需执行的子任务的任务执行信息。之后,中继链可以根据各个子任务的任务执行信息,创建任务状态表。
如图2所示,待执行任务的任务类型为跨链转账任务,来源链属于待执行链,此时,待执行链包括目的链和来源链,也即是,待执行链包括目的链1、目的链2和来源链。图2中,创建得到的状态记录表中,可以包括3条记录,每条记录中包括相对应的子任务标识和子任务的任务执行状态,具体地,“事务1”为目的链1对应的子任务1的子任务标识,“事务2”为目的链2对应的子任务2的子任务标识,“事务3”为来源链对应的子任务3的子任务标识,初始得到的状态记录表中,各个子任务的任务执行状态为“BEGIN”,也即是初始状态。图2中,“FAILURE”指示执行失败状态,“SUCCESS”指示执行成功状态,“ROLLBACK”指示回滚状态。
图2中,针对每条记录具有一个超时块高。其中,上述超时块高可以是预先设定的出块个数,也可以是预先设定的时间长度。上述出块个数通常是指生成区块的个数。结合图2,在到达上述超时块高时,若任务状态表中存在对应任务执行状态不为“SUCCESS”的记录,则中继链可以认为对待执行任务处理失败。
实际应用中,上述超时块高的计算起点,可以包括以下至少一者:任务状态表中各子任务的任务执行状态被设置为初始状态的时间点,任务状态表中各子任务的任务执行状态变更为回滚状态的时间点。
需要指出的是,在上述超时块高为预先设定的时间长度时,超时块高与前述预设时长阈值的概念和用法基本相同。
步骤203,中继链向各个待执行链发送对应的任务执行信息。
其中,任务执行信息用于指示待执行链执行对应的子任务。
这里,在待执行任务的任务类型为跨链转账任务时,来源链属于待执行链。此时,中继链同时向来源链和目的链发送任务执行信息。
步骤204,待执行链执行对应的子任务。
图2中,目的链1执行子任务1,目的链2执行子任务2,以及来源链执行子任务3。
步骤205,待执行链向中继链返回子任务执行结果。
这里,每个待执行链在执行子任务之后,可以将所得到的子任务执行结果向中继链返回。
步骤206,中继链确定对待执行任务的处理结果。
这里,由于各个待执行链返回子任务执行结果存在先后顺序,因此,针对每个待执行链,中继链可以在接收到该待执行链的子任务执行结果时,将状态记录表中该待执行链对应的子任务的任务执行状态,调整为与该待执行链对应的子任务执行结果相适配。比如,若该待执行链对应的子任务执行结果指示执行成功,则将状态记录表中该待执行链对应的子任务的任务执行状态调整为执行成功状态。
在得到所有待执行链的子任务执行结果之时,或者是到达上述超时块高时之时,中继链可以确定对待执行任务的处理结果。举例来说,若在到达上述超时块高之前,得到所有待执行链的子任务执行结果,且状态记录表中每个待执行链对应的子任务的任务执行状态为“SUCCESS”,则可以确定为对待执行任务处理成功。
实践中,在对待执行任务处理成功的情况下,中继链可以向来源链发送用于指示对待执行任务处理成功的信息。在对待执行任务处理失败的情况下,中继链可以向每个待执行链发送回滚通知,以及将任务状态表中每个待执行链对应的子任务的任务执行状态,变更为“ROLLBACK”。其中,回滚通知用于通知各待执行链重新执行对应的子任务。
继续参考图3,为本申请实施例提供的一种区块链跨链任务处理系统的结构示意图。如图3所示,区块链跨链任务处理系统可以包括来源链301、中继链302和至少一个目的链303。
来源链301,用于发送跨链任务请求。
中继链302,用于接收跨链任务请求;在跨链任务请求指示由多个待执行链执行待执行任务时,根据跨链任务请求,分别生成各个待执行链所需执行的子任务的任务执行信息,其中,任务执行信息用于指示待执行链执行对应的子任务;分别向各个待执行链发送对应的任务执行信息。
一般情况下,目的链即为待执行链。在跨链任务请求中指示由多个待执行链执行上述待执行任务时,中继链可以结合跨链任务请求中携带的信息,给每个待执行链生成子任务及对应的任务执行信息。
需要指出的是,在跨链任务请求携带有用于指示待执行任务的任务类型的信息的应用场景下,中继链还可以结合待执行任务的任务类型,确定待执行链,此时,在一些任务类型下,待执行链可以同时包括目的链和来源链,在另一些任务类型下,待执行链仅包括目的链。
目的链303或者来源链301,用于接收任务执行信息,执行任务执行信息指示的子任务,以及向中继链返回子任务执行结果;
中继链302,还用于接收各个待执行链针对对应的任务执行信息返回的子任务执行结果;在所接收的各个子任务执行结果指示执行成功的情况下,确定对待执行任务处理成功。
本实施例提供的区块链跨链任务处理系统,一个来源链可以与多个待执行链进行跨链交互,由于目的链属于待执行链,也即是,一个来源链可以同时与多个目的链进行跨链交互,可以实现一对多场景下的跨链任务并行执行,可以提高跨链任务处理效率,从而有助于提高跨链交互效率。
需要说明的是,上述来源链、中继链、目的链之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
对应于上文实施例一的区块链跨链任务处理方法,图4示出了本申请实施例提供的区块链跨链任务处理装置400的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图4,该装置包括:
请求接收单元401,用于接收来源链发送的跨链任务请求;
任务生成单元402,用于在跨链任务请求指示由多个待执行链执行待执行任务时,根据跨链任务请求,分别生成各个待执行链所需执行的子任务的任务执行信息,其中,任务执行信息用于指示待执行链执行对应的子任务;
结果接收单元403,用于分别向各个待执行链发送对应的任务执行信息,以及接收各个待执行链针对对应的任务执行信息返回的子任务执行结果;
结果确定单元404,用于在所接收的各个子任务执行结果指示执行成功的情况下,确定对待执行任务处理成功。
在一些实施例中,结果接收单元403,具体用于:将预先创建的任务状态表中各待执行链对应的子任务的任务执行状态,调整为与相应待执行链对应的子任务执行结果相适配。其中,任务状态表用于记录各个子任务的任务执行状态,任务执行状态包括初始状态、执行失败状态、执行成功状态、回滚状态。
在一些实施例中,结果确定单元404,具体用于:在当前计时值小于预设时长阈值,且任务状态表中各子任务的任务执行状态为执行成功状态时,确定对待执行任务处理成功。其中,当前计时值的计时起点包括:任务状态表中各子任务的任务执行状态被设置为初始状态的时间点、任务状态表中各子任务的任务执行状态变更为回滚状态的时间点。
在一些实施例中,装置还包括状态回滚单元。其中,状态回滚单元,用于在对待执行任务处理失败的情况下,向各个待执行链发送回滚通知,以及将任务状态表中各待执行链对应的子任务的任务执行状态,变更为回滚状态,其中,回滚通知用于通知各待执行链重新执行对应的子任务。
在一些实施例中,任务生成单元402,还用于根据各个子任务的任务执行信息,创建任务状态表。
在一些实施例中,装置还包括请求发送单元和结果生成单元。请求发送单元,用于在跨链任务请求指示由一个待执行链执行待执行任务时,将跨链任务请求向待执行链发送。结果生成单元,用于接收待执行链针对跨链任务请求返回的全局任务执行结果,以及在全局任务执行结果指示执行成功的情况下,确定对待执行任务处理成功。
在一些实施例中,装置还包括目的确定单元。其中,目的确定单元,用于根据跨链任务请求确定待执行任务的任务类型,以及在待执行任务的任务类型为跨链转账任务时,确定来源链属于待执行链。其中,任务类型包括跨链转账任务、跨链转发任务、跨链智能合约调用任务中的至少一个。
本实施例提供的装置,一个来源链可以与多个待执行链进行跨链交互,由于目的链属于待执行链,也即是,一个来源链可以同时与多个目的链进行跨链交互,可以实现一对多场景下的跨链任务并行执行,可以提高跨链任务处理效率,从而有助于提高跨链交互效率。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例一基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图5为本申请一实施例提供的服务器500的结构示意图。如图5所示,该实施例的服务器500包括:至少一个处理器501(图5中仅示出一个处理器)、存储器502以及存储在存储器502中并可在至少一个处理器501上运行的计算机程序503,例如数据处理程序。处理器501执行计算机程序503时实现上述任意各个方法实施例中的步骤。处理器501执行计算机程序503时实现上述各个区块链跨链任务处理方法的实施例中的步骤。处理器501执行计算机程序503时实现上述各装置实施例中各模块/单元的功能,例如图4所示请求接收单元401至结果确定单元404的功能。
示例性的,计算机程序503可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器502中,并由处理器501执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序503在服务器500中的执行过程。例如,计算机程序503可以被分割成请求接收单元,任务生成单元,结果接收单元,结果确定单元,各单元具体功能在上述实施例中已有描述,此处不再赘述。
服务器500可以是服务器、台式电脑、平板电脑、云端服务器和移动终端等计算设备。服务器500可包括,但不仅限于,处理器501,存储器502。本领域技术人员可以理解,图5仅仅是服务器500的示例,并不构成对服务器500的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如服务器还可以包括输入输出设备、网络接入设备、总线等。
所称处理器501可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器502可以是服务器500的内部存储单元,例如服务器500的硬盘或内存。存储器502也可以是服务器500的外部存储设备,例如服务器500上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器502还可以既包括服务器500的内部存储单元也包括外部存储设备。存储器502用于存储计算机程序以及服务器所需的其他程序和数据。存储器502还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/服务器和方法,可以通过其它的方式实现。例如,以上所描述的装置/服务器实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种区块链跨链任务处理方法,其特征在于,所述方法包括:
接收来源链发送的跨链任务请求;
在所述跨链任务请求指示由多个待执行链执行待执行任务时,根据所述跨链任务请求,分别生成各个待执行链所需执行的子任务的任务执行信息,其中,所述任务执行信息用于指示待执行链执行对应的子任务;
分别向各个待执行链发送对应的任务执行信息,以及接收各个待执行链针对对应的任务执行信息返回的子任务执行结果;
在所接收的各个子任务执行结果指示执行成功的情况下,确定对所述待执行任务处理成功。
2.根据权利要求1所述的区块链跨链任务处理方法,其特征在于,在所述接收各个待执行链针对对应的任务执行信息返回的子任务执行结果之后,还包括:
将预先创建的任务状态表中各待执行链对应的子任务的任务执行状态,调整为与相应待执行链对应的子任务执行结果相适配;
其中,所述任务状态表用于记录各个子任务的任务执行状态,所述任务执行状态包括初始状态、执行失败状态、执行成功状态、回滚状态。
3.根据权利要求2所述的区块链跨链任务处理方法,其特征在于,所述在所接收的各个子任务执行结果指示执行成功的情况下,确定对所述待执行任务处理成功,包括:
在当前计时值小于预设时长阈值,且所述任务状态表中各子任务的任务执行状态为执行成功状态时,确定对所述待执行任务处理成功;
其中,所述当前计时值的计时起点包括:所述任务状态表中各子任务的任务执行状态被设置为初始状态的时间点、所述任务状态表中各子任务的任务执行状态变更为回滚状态的时间点。
4.根据权利要求2所述的区块链跨链任务处理方法,其特征在于,所述方法还包括:
在对所述待执行任务处理失败的情况下,向各个待执行链发送回滚通知,以及将所述任务状态表中各待执行链对应的子任务的任务执行状态,变更为回滚状态,其中,所述回滚通知用于通知各待执行链重新执行对应的子任务。
5.根据权利要求2所述的区块链跨链任务处理方法,其特征在于,在所述分别生成各个待执行链所需执行的子任务的任务执行信息之后,还包括:根据各个子任务的任务执行信息,创建所述任务状态表。
6.根据权利要求1所述的区块链跨链任务处理方法,其特征在于,所述方法还包括:
在所述跨链任务请求指示由一个待执行链执行所述待执行任务时,将所述跨链任务请求向所述待执行链发送;
接收所述待执行链针对所述跨链任务请求返回的全局任务执行结果,以及在所述全局任务执行结果指示执行成功的情况下,确定对所述待执行任务处理成功。
7.根据权利要求1-6中任一项所述的区块链跨链任务处理方法,其特征在于,在所述接收来源链发送的跨链任务请求之后,所述方法还包括:
根据所述跨链任务请求确定所述待执行任务的任务类型,以及在所述待执行任务的任务类型为跨链转账任务时,确定所述来源链属于待执行链;
其中,任务类型包括跨链转账任务、跨链转发任务、跨链智能合约调用任务中的至少一个。
8.一种区块链跨链任务处理装置,其特征在于,所述装置包括:
请求接收单元,用于接收来源链发送的跨链任务请求;
任务生成单元,用于在所述跨链任务请求指示由多个待执行链执行待执行任务时,根据所述跨链任务请求,分别生成各个待执行链所需执行的子任务的任务执行信息,其中,所述任务执行信息用于指示待执行链执行对应的子任务;
结果接收单元,用于分别向各个待执行链发送对应的任务执行信息,以及接收各个待执行链针对对应的任务执行信息返回的子任务执行结果;
结果确定单元,用于在所接收的各个子任务执行结果指示执行成功的情况下,确定对所述待执行任务处理成功。
9.一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210757844.5A CN115098281A (zh) | 2022-06-30 | 2022-06-30 | 区块链跨链任务处理方法、装置、服务器及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210757844.5A CN115098281A (zh) | 2022-06-30 | 2022-06-30 | 区块链跨链任务处理方法、装置、服务器及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115098281A true CN115098281A (zh) | 2022-09-23 |
Family
ID=83294051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210757844.5A Pending CN115098281A (zh) | 2022-06-30 | 2022-06-30 | 区块链跨链任务处理方法、装置、服务器及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115098281A (zh) |
-
2022
- 2022-06-30 CN CN202210757844.5A patent/CN115098281A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107729139B (zh) | 一种并发获取资源的方法和装置 | |
CN110741342A (zh) | 区块链交易提交排序 | |
CN110750341B (zh) | 任务调度方法、装置、系统、终端设备及存储介质 | |
CN111277639B (zh) | 一种保持数据一致性的方法和装置 | |
CN107016029B (zh) | 一种业务数据的处理方法、装置及系统 | |
CN110471746B (zh) | 一种分布式事务回调方法、装置及系统 | |
CN110019496B (zh) | 数据读写方法和系统 | |
CN110363663B (zh) | 基于区块链的数据批量处理方法、装置、设备及存储介质 | |
US20170085653A1 (en) | Method, device and system for message distribution | |
CN108415758B (zh) | 分布式事务协调方法及装置 | |
CN111784329A (zh) | 业务数据的处理方法和装置、存储介质、电子装置 | |
CN111338834B (zh) | 数据存储方法和装置 | |
CN112202834A (zh) | 一种数据处理方法、数据处理装置及节点服务器 | |
CN111125168B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN112667270A (zh) | 语音处理资源的更新方法、计算机设备及存储装置 | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
CN109308219B (zh) | 任务处理方法、装置及分布式计算机系统 | |
CN110827001A (zh) | 一种会计事件记账方法、系统、设备和存储介质 | |
CN115098281A (zh) | 区块链跨链任务处理方法、装置、服务器及介质 | |
CN112114938A (zh) | 事务处理方法、装置及服务器 | |
CN115170152A (zh) | 一种数据分发方法、装置、设备和存储介质 | |
CN111061576B (zh) | 一种实体对象的创建方法及系统 | |
CN112416980B (zh) | 数据业务处理方法、装置及设备 | |
CN109901933B (zh) | 业务系统的操作方法及装置、存储介质、电子装置 | |
CN108959405B (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 |