CN115309515B - 一种基于区块链的跨链事务处理方法、装置及设备 - Google Patents

一种基于区块链的跨链事务处理方法、装置及设备 Download PDF

Info

Publication number
CN115309515B
CN115309515B CN202211232072.XA CN202211232072A CN115309515B CN 115309515 B CN115309515 B CN 115309515B CN 202211232072 A CN202211232072 A CN 202211232072A CN 115309515 B CN115309515 B CN 115309515B
Authority
CN
China
Prior art keywords
cross
chain transaction
chain
target data
messages
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.)
Active
Application number
CN202211232072.XA
Other languages
English (en)
Other versions
CN115309515A (zh
Inventor
文明
孙福辉
成雨蓉
王晓燕
张志威
袁野
王国仁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
People's Court Information Technology Service Center
Beijing Institute of Technology BIT
Original Assignee
People's Court Information Technology Service Center
Beijing Institute of Technology BIT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by People's Court Information Technology Service Center, Beijing Institute of Technology BIT filed Critical People's Court Information Technology Service Center
Priority to CN202211232072.XA priority Critical patent/CN115309515B/zh
Publication of CN115309515A publication Critical patent/CN115309515A/zh
Application granted granted Critical
Publication of CN115309515B publication Critical patent/CN115309515B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services; Handling legal documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Technology Law (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本文涉及区块链技术领域,尤其涉及一种基于区块链的跨链事务处理方法、装置及设备。包括,中继链将发起链发送的跨链事务请求转换为跨链事务消息,对跨链事务消息进行依赖检测,将存在同一个依赖关系的多个跨链事务消息划分到第一跨链事务集中,并根据依赖关系对第一跨链事务集中的多个跨链事务消息进行排序,将与任意一个跨链事务消息都不存在依赖关系的跨链事务消息划分到第二跨链事务集,对第一跨链事务集和第二跨链事务集中的跨链事务消息进行冲突检测,根据冲突检测结果将跨链事务消息发给接收链。通过本文实施例,实现了法检司区块链跨链的冲突检测和依赖检测,保证了法检司跨链在并发事务场景下以及多级事务场景下的数据隔离性和一致性。

Description

一种基于区块链的跨链事务处理方法、装置及设备
技术领域
本文涉及区块链技术领域,尤其涉及一种基于区块链的跨链事务处理方法、装置及设备。
背景技术
在司法场景中,法律专业人员的最重要的一部分工作是为专业人员提供可靠和高质量的法律咨询服务,然而,由于法律专业人员的数量不足,确保非专业人员能够获得充足且高质量的咨询服务是本领域内密切关注的问题。
在现有法检司司法场景中,法院系统、检察院系统和司法行政系统均建立有自己的区块链系统,用于存储各方的数据,当法院系统、检察院系统或司法行政系统之间需要互相开展跨链协同事务并对各方数据进行读写操作时,需要采用区块链的跨链技术实现不同区块链系统之间的数据共享和操作,如何保证跨链数据共享时数据没有冲突是目前技术领域密切关注的问题。
目前,为了在不同区块链系统之间进行跨链数据协同时进行冲突检测,一种现有的方法是将区块链与数据库管理系统集成在一起,例如以太坊利用LevelDB这一基于Key-Value 结构的数据库存取数据,而部分区块链则选择利用文件系统或关系型数据库进行存储,通过第三方数据库来完成跨链数据的协同,在数据库中通过数据库管理系统进行冲突检测,但这种方法直接将所有数据存储在区块链上,会导致区块链上的数据存储量增加,降低了跨链数据协同的效率,并极大地浪费了区块链的计算资源。此外,往往中心化的数据库都是由第三方服务者提供,因此返回的跨链协同消息有可能被篡改,中心化的数据库汇难以保证数据协同的安全性,因此,采用数据库进行跨链数据协同的方法难以保证数据的可信性,因此不能使用基于第三方数据库的冲突检测方法。
现在亟需一种基于区块链的跨链事务处理方法,从而解决现有技术中无法满足的跨链数据冲突检测难题。
发明内容
为解决现有技术中无法满足的跨链数据冲突检测难题,本文实施例提供了一种基于区块链的跨链事务处理方法、装置及设备,实现了法检司区块链跨链的冲突检测和依赖检测,保证了法检司跨链在并发事务场景下以及多级事务场景下的数据隔离性和一致性。
为了解决上述技术问题,本文的具体技术方案如下:
一方面,本文实施例提供了一种基于区块链的跨链事务处理方法,
根据跨链事务请求中的多个目标数据以及每个目标数据的操作类型生成每个目标数据的跨链事务消息,所述跨链事务请求是发起链发送的;
在对多个跨链事务消息的共识验证的结果为通过的情况下,分析多个跨链事务消息之间的依赖关系,所述依赖关系表示在接收链中操作一个跨链事务消息中的目标数据后,将影响到其他跨链事务消息中的目标数据的操作结果;
将属于同一个依赖关系的多个跨链事务消息划分到一个第一跨链事务集中,并根据所述依赖关系对所述第一跨链事务集中的跨链事务消息进行排序;
将与任意一个跨链事务消息都不存在依赖关系的跨链事务消息划分到第二跨链事务集中;
根据缓存的运行事务分别对所述第一跨链事务集中的跨链事务消息和所述第二跨链事务集中的跨链事务消息进行冲突检测,所述缓存的运行事务包括一个或多个正在执行的跨链事务消息;
根据所述第一跨链事务集对应的冲突检测结果以及排序的结果将该第一跨链事务集中的多个跨链事务消息分别发送到所述接收链,根据所述第二跨链事务集对应的冲突检测结果将所述第二跨链事务集中的多个跨链事务消息分别发到所述接收链,以使所述接收链按照接收到的所述跨链事务消息的顺序,分别根据所述跨链事务消息对应的操作类型对该跨链事务消息对应的目标数据进行操作,并将操作结果发送给所述中继链;
根据接收到的多个操作结果生成所述跨链事务请求的请求结果,并将所述请求结果发送给所述发起链。
进一步地,分析多个跨链事务消息之间的依赖关系进一步包括,
根据所述接收链的数据结构确定多个跨链事务消息对应的目标数据之间是否存在关联关系;
根据存在关联关系的多个目标数据的操作类型确定所述多个存在关联关系的多个目标数据对应的多个跨链事务消息之间的依赖关系。
进一步地,所述操作类型包括读数据和写数据;
根据存在关联关系的多个目标数据的操作类型确多个存在关联关系的多个目标数据对应的多个跨链事务消息之间的依赖关系进一步包括,
若所述存在关联关系的多个目标数据中,至少一个目标数据的操作类型为写数据,则该多个目标数据对应的多个跨链事务消息之间存在依赖关系;
若所述存在关联关系的多个目标数据的操作类型均为读数据,则该多个目标数据对应的多个跨链事务消息之间不存在依赖关系。
进一步地,根据所述依赖关系对所述第一跨链事务集中的跨链事务消息进行排序进一步包括,
根据所述关联关系确定所述第一跨链事务集中跨链事务消息对应的目标数据的操作顺序;
按照所述操作顺序对所述第一跨链事务集中的跨链事务消息进行排序。
进一步地,根据缓存的运行事务分别对所述第一跨链事务集中的跨链事务消息和所述第二跨链事务集中的跨链事务消息进行冲突检测进一步包括,
确定所述第一跨链事务集或第二跨链事务集中跨链事务消息对应的目标数据是否与所述运行事务中正在执行的跨链事务消息对应的操作数据相同;
若不相同,则该目标数据对应的跨链事务消息不存在冲突;
若相同,则确定所述目标数据的操作类型与所述操作数据的操作类型是否均为读数据;
若均为读数据,则该目标数据对应的跨链事务消息不存在冲突;
若并非均为读数据,则该目标数据对应的跨链事务消息存在冲突。
进一步地,根据所述第一跨链事务集对应的冲突检测结果以及排序的结果将该第一跨链事务集中的多个跨链事务消息分别发送到所述接收链进一步包括,
将与所述第一跨链事务集中的跨链事务消息对应的目标数据存在冲突的所述操作数据作为目标冲突数据;
待所述目标冲突数据对应的正在执行的跨链事务消息执行完毕后,按照所述排序的结果,将所述跨链事务消息依次发送给所述接收链,其中,当接收到所述接收链发送的针对排名在前的所述跨链事务消息的操作结果后,将排名在后的所述跨链事务消息发送给所述接收链。
进一步地,根据所述第二跨链事务集对应的冲突检测结果将所述第二跨链事务集中的多个跨链事务消息分别发到所述接收链进一步包括,
将所述第二跨链事务集中不存在冲突的跨链事务消息发送给所述接收链;
将与所述第二跨链事务集中的跨链事务消息对应的目标数据存在冲突的所述操作数据作为目标冲突数据,并记录所述目标冲突数据与所述目标数据的对应关系,并将该目标数据对应的所述跨链事务消息添加到待发送队列中;
待所述目标冲突数据对应的正在执行的跨链事务消息执行完毕后,将所述待发送队列中与该目标冲突数据对应的目标数据的跨链事务消息发送给所述接收链。
另一方面,本文实施例还提供了一种基于区块链的跨链事务处理装置,包括,
跨链事务消息生成单元,用于根据跨链事务请求中的多个目标数据以及每个目标数据的操作类型生成每个目标数据的跨链事务消息,所述跨链事务请求是发起链发送的;
依赖关系分析单元,用于在对多个跨链事务消息的共识验证的结果为通过的情况下,分析多个跨链事务消息之间的依赖关系,所述依赖关系表示在接收链中操作一个跨链事务消息中的目标数据后,将影响到其他跨链事务消息中的目标数据的操作结果;
第一跨链事务集划分单元,用于将属于同一个依赖关系的多个跨链事务消息划分到一个第一跨链事务集中,并根据所述依赖关系对所述第一跨链事务集中的跨链事务消息进行排序;
第二跨链事务集划分单元,用于将与任意一个跨链事务消息都不存在依赖关系的跨链事务消息划分到第二跨链事务集中;
冲突检测单元,用于根据缓存的运行事务分别对所述第一跨链事务集中的跨链事务消息和所述第二跨链事务集中的跨链事务消息进行冲突检测,所述缓存的运行事务包括一个或多个正在执行的跨链事务消息;
跨链事务消息发送单元,用于根据所述第一跨链事务集对应的冲突检测结果以及排序的结果将该第一跨链事务集中的多个跨链事务消息分别发送到所述接收链,根据所述第二跨链事务集对应的冲突检测结果将所述第二跨链事务集中的多个跨链事务消息分别发到所述接收链,以使所述接收链按照接收到的所述跨链事务消息的顺序,分别根据所述跨链事务消息对应的操作类型对该跨链事务消息对应的目标数据进行操作,并将操作结果发送给中继链;
请求结果生成单元,用于根据接收到的多个操作结果生成所述跨链事务请求的请求结果,并将所述请求结果发送给所述发起链。
另一方面,本文实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在存储器上的计算机程序,处理器执行所述计算机程序时实现上述的方法。
最后,本文实施例还提供了一种计算机存储介质,其上存储有计算机程序,计算机程序被计算机设备的处理器运行时,执行上述的方法。
本文实施例所述的发起链或接收链可以分别对应法院部门、检察院部门和司法行政部门,利用本文实施例,当发起链需要向接收链发出跨链事务时,首先发起链将跨链事务请求发送给中继链,中继链将跨链事务请求转换为与每个目标数据对应的跨链事务消息,然后中继链在对跨链事务消息的共识验证的结果为通过的情况下,分析跨链事务消息之间的依赖关系,将属于同一个依赖关系的多个跨链事务消息划分到第一跨链事务集中,然后根据依赖关系对第一跨链事务集中的跨链事务消息进行排序,从而保证在按照排序将跨链事务消息发送给接收链,接收链对每个跨链事务消息进行处理后,各跨链事务消息的处理结果之间不会产生影响;将不存在依赖关系的跨链事务消息划分到第二跨链事务集中;为了避免接收链当前正在执行的跨链事务消息的执行结果会影响到此次跨链事务消息的执行结果,因此对第一跨链事务集中的跨链事务消息和第二跨链事务集中的跨链事务消息进行冲突检测,根据冲突检测的结果将跨链事务消息发送给接收链,从而避免接收链当前正在执行的跨链事务消息的执行结果对此次跨链事务消息的影响,实现了法检司区块链跨链的冲突检测和依赖检测,保证了法检司跨链在并发事务场景下以及多级事务场景下的数据隔离性和一致性,解决了现有技术中无法满足的跨链数据冲突检测难题。
附图说明
为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1所示为本文实施例一种基于区块链的跨链事务处理方法的实施系统示意图;
图2所示为本文实施例一种基于区块链的跨链事务处理方法的流程图;
图3所示为本文实施例分析多个跨链事务消息之间的依赖关系的流程图;
图4所示为本文实施例冲突检测的流程图;
图5所示为本文实施例一种基于区块链的跨链事务处理装置的结构示意图;
图6所示为本文实施例计算机设备的结构示意图。
【附图标记说明】:
101、发起链;
102、中继链;
103、接收链;
501、跨链事务消息生成单元;
502、依赖关系分析单元;
503、第一跨链事务集划分单元;
504、第二跨链事务集划分单元;
505、冲突检测单元;
506、跨链事务消息发送单元;
507、请求结果生成单元;
602、计算机设备;
604、处理器;
606、存储器;
608、驱动机构;
610、输入/输出模块;
612、输入设备;
614、输出设备;
616、呈现设备;
618、图形用户接口;
620、网络接口;
622、通信链路;
624、通信总线。
具体实施方式
下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。
需要说明的是,本文的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本文的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
如图1所示为本文实施例一种基于区块链的跨链事务处理方法的实施系统示意图,可以包括:发起链101、中继链102和接收链103,发起链101、接收链103与中继链102之间通过网络进行通信,网络可以包括局域网(Local Area Network,简称为LAN)、广域网(WideArea Network,简称为WAN)、因特网或其组合,并连接至网站、用户设备(例如计算设备)和后端系统。发起链101或接收链103可以分别对应法院链、检察院链或司法行政链。中继链102负责发起链101和接收链103之间跨链数据传输。其中,发起链101或接收链103可以通过一个或多个服务器处理业务,服务器上部署有面向司法数据的数据处理系统。可选地,服务器可以是云计算系统的节点(图中未显示),或者每个服务器可以是单独的云计算系统,包括由网络互连并作为分布式处理系统工作的多台计算机。服务器可以运行任何适当的计算系统,使其能够作为发起链101或接收链103的区块链网络中的节点。
此外,需要说明的是,图1所示的仅仅是本公开提供的一种应用环境,在实际应用中,还可以包括其他应用环境,例如对多个系统(例如交通管理系统、车辆管理系统、交警管理系统)的跨链事务处理也可以在图1所示的发起链101、中继链102和接收链103上实现,还可以多个发起链101向多个接收链103发起跨链事务,由中继链102进行跨链事务的依赖检测和冲突检测,本说明书不做限制。
具体地,本文实施例提供了一种基于区块链的跨链事务处理方法,实现了法检司区块链跨链的冲突检测和依赖检测,保证了法检司跨链在并发事务场景下以及多级事务场景下的数据隔离性和一致性。图2所示为本文实施例一种基于区块链的跨链事务处理方法的流程图。在本图中描述了基于区块链构建协同问答模型的过程,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。具体的如图2所示,由中继链执行,所述方法可以包括:
步骤201:根据跨链事务请求中的多个目标数据以及每个目标数据的操作类型生成每个目标数据的跨链事务消息;
在本步骤中,所述跨链事务请求是发起链发送的。
步骤202:在对多个跨链事务消息的共识验证的结果为通过的情况下,分析多个跨链事务消息之间的依赖关系;
在本步骤中,所述依赖关系表示在接收链中操作一个跨链事务消息中的目标数据后,将影响到其他跨链事务消息中的目标数据的操作结果。
步骤203:将属于同一个依赖关系的多个跨链事务消息划分到一个第一跨链事务集中,并根据所述依赖关系对所述第一跨链事务集中的跨链事务消息进行排序;
步骤204:将与任意一个跨链事务消息都不存在依赖关系的跨链事务消息划分到第二跨链事务集中;
步骤205:根据缓存的运行事务分别对所述第一跨链事务集中的跨链事务消息和所述第二跨链事务集中的跨链事务消息进行冲突检测,所述缓存的运行事务包括一个或多个正在执行的跨链事务消息;
步骤206:根据所述第一跨链事务集对应的冲突检测结果以及排序的结果将该第一跨链事务集中的多个跨链事务消息分别发送到所述接收链,根据所述第二跨链事务集对应的冲突检测结果将所述第二跨链事务集中的多个跨链事务消息分别发到所述接收链;
在本步骤之后,所述接收链按照接收到的所述跨链事务消息的顺序,分别根据所述跨链事务消息对应的操作类型对该跨链事务消息对应的目标数据进行操作,并将操作结果发送给所述中继链;
步骤207:根据接收到的多个操作结果生成所述跨链事务请求的请求结果,并将所述请求结果发送给所述发起链。
本文实施例所述的发起链或接收链可以分别对应法院部门、检察院部门和司法行政部门,利用本文实施例,当发起链需要向接收链发出跨链事务时,首先发起链将跨链事务请求发送给中继链,中继链将跨链事务请求转换为与每个目标数据对应的跨链事务消息,然后中继链在对跨链事务消息的共识验证的结果为通过的情况下,分析跨链事务消息之间的依赖关系,将属于同一个依赖关系的多个跨链事务消息划分到第一跨链事务集中,然后根据依赖关系对第一跨链事务集中的跨链事务消息进行排序,从而保证在按照排序将跨链事务消息发送给接收链,接收链对每个跨链事务消息进行处理后,各跨链事务消息的处理结果之间不会产生影响;将不存在依赖关系的跨链事务消息划分到第二跨链事务集中;为了避免接收链当前正在执行的跨链事务消息的执行结果会影响到此次跨链事务消息的执行结果,因此对第一跨链事务集中的跨链事务消息和第二跨链事务集中的跨链事务消息进行冲突检测,根据冲突检测的结果将跨链事务消息发送给接收链,从而避免接收链当前正在执行的跨链事务消息的执行结果对此次跨链事务消息的影响,实现了法检司区块链跨链的冲突检测和依赖检测,保证了法检司跨链在并发事务场景下以及多级事务场景下的数据隔离性和一致性,解决了现有技术中无法满足的跨链数据冲突检测难题。
在本文实施例中,发起链可以一次性将针对接收链上的多个目标数据的跨链事务组合成一条跨链事务请求,然后将跨链事务请求发送给中继链,由于发起链和接收链的数据结构可能不同(即异构链),因此中继链需要将发起链发送的跨链事务请求转换为接收链能够处理的跨链事务消息,即中继链将发起链针对的多个目标数据分别转换为一条跨链事务消息。
为了避免接收链对一条跨链事务消息中的目标数据的执行结果影响到其他跨链事务消息的目标数据的执行结果,因此,中继链需要对跨链事务消息进行依赖检测,根据依赖检测的结果调整跨链事务消息的发送顺序,从而避免跨链事务消息的执行结果之间相互影响。例如,跨链事务请求中包括目标数据1和目标数据2,中继链对跨链事务请求转换为跨链事务消息1和跨链事务消息2,其中跨链事务消息1针对目标数据1,跨链事务消息2针对目标数据2,若接收链对跨链事务消息2中的目标数据2的操作结果影响到目标数据1的操作结果,先将跨链事务消息1发送给接收链,接收链处理后返回跨链事务消息1的操作结果,再将跨链事务消息2发送给接收链,接收链再对跨链事务消息2进行处理后,将会改变目标数据1的值,则之前已经返回的跨链事务消息1的操作结果将收到影响。因此,需要调整跨链事务消息1和跨链事务消息2的发送顺序。
但并非跨链事务消息之间均存在依赖,为了提高跨链事务的处理效率,将属于一个依赖关系的多个跨链事务消息划分到一个第一跨链事务集中,若依赖关系为多个,则第一跨链事务集的数量也为多个。将与任意一个跨链事务消息都不存在依赖关系的跨链事务消息划分到第二跨链事务集中,并行对多个第一跨链事务集中的跨链事务消息和第二跨链事务集中的跨链事务消息进行处理,从而提高跨链事务的处理效率。
在本文实施例中,跨链事务消息对应的目标数据可能正在被之前的跨链事务消息所执行,因此需要对跨链事务消息进行冲突检测,即中继链根据缓存的运行事务分别对第一跨链事务集中的跨链事务消息和第二跨链事务集中的跨链事务消息进行冲突检测,若存在冲突,则需要等待冲突的目标数据对应的之前的跨链事务消息执行完毕后,方能执行本次的跨链事务消息。
最后根据第一跨链事务集对应的冲突检测结果以及排序的结果将该第一跨链事务集中的多个跨链事务消息分别发送到接收链,根据第二跨链事务集对应的冲突检测结果将第二跨链事务集中的多个跨链事务消息分别发到接收链,以使接收链按照接收到的跨链事务消息的顺序,分别根据跨链事务消息对应的操作类型对该跨链事务消息对应的目标数据进行操作,并将操作结果发送给中继链,中继链再对操作结果进行格式转换,得到发起链能够识别的请求结果后,将请求结果发送给接收链。
在本文实施例中,跨链事务的依赖关系可以通过现有技术中的有向无环图法确定,具体地,首先由中继链遍历的所有的跨链事务消息,取出所有跨链事务消息中的跨链协同事务依赖关系数据,以邻接表的结构代表跨链事务消息之间的依赖关系,中继链使用深度优先搜索算法(DFS,Depth-First-Search)遍历检测所有上述跨链事务消息和依赖关系是否为有向无环图(DAG)。但由于有向无环图法的计算量较大,因此,为了减小计算量,根据本文的一个实施例,可以根据接收链的数据结构确定多个目标数据之间的依赖关系。接收链的数据结构可以存储在中继链上。具体地,如图3所示,分析多个跨链事务消息之间的依赖关系进一步包括,
步骤301:根据所述接收链的数据结构确定多个跨链事务消息对应的目标数据之间是否存在关联关系;
步骤302:根据存在关联关系的多个目标数据的操作类型确定所述多个存在关联关系的多个目标数据对应的多个跨链事务消息之间的依赖关系。
在本文实施例中,接收链的数据结构可以为树型数据结构,各目标数据可以为树型数据结构中的叶子节点或父节点,当对叶子节点的数据进行操作后,将会影响其对应的父节点的值。因此,可以根据树型数据结构确定目标数据之间是否存在关联关系,即目标数据之间是否存在子节点、父节点关系。进一步地,子节点和父节点对应的目标数据的操作类型与可能不会让二者之间产生依赖(例如均为读数据),因此,可以根据存在关联关系的多个目标数据的操作类型确定多个存在关联关系的多个目标数据对应的跨链事务消息之间的依赖关系。例如,判断多个目标数据的操作类型是否为预设值,若是,则存在依赖关系。
进一步地,所述操作类型包括读数据和写数据;
根据存在关联关系的多个目标数据的操作类型确定所述多个存在关联关系的多个目标数据对应的多个跨链事务消息之间的依赖关系进一步包括,
若所述存在关联关系的多个目标数据中,至少一个目标数据的操作类型为写数据,则该多个目标数据对应的多个跨链事务消息之间存在依赖关系;
若所述存在关联关系的多个目标数据的操作类型均为读数据,则该多个目标数据对应的多个跨链事务消息之间不存在依赖关系。
在本文实施例中,操作类型为读数据时,不会改变目标数据的值,因此,即便多个目标数据之间存在关联关系,但只要这些目标数据对应的操作类型均为读数据,也不会影响这些目标数据的操作结果,即在这种情况下,跨链事务之间不存在依赖关系。若多个目标数据中存在至少一个目标数据的操作类型为写数据,则该操作类型为写数据的目标数据执行后,将会改变其他目标数据的值,即在这种情况下,跨链事务之间存在依赖关系。
可以理解为,通过分析跨链事务消息对应的目标数据之间的关联关系,并根据目标数据的操作类型即可确定跨链事务消息之间的依赖关系,相比于使用DFS算法遍历检测所有跨链事务消息和依赖关系是否为DAG的方法,能够一定程度地减小计算量。
根据本文的一个实施例,根据所述依赖关系对所述第一跨链事务集中的跨链事务消息进行排序进一步包括,
根据所述关联关系确定所述第一跨链事务集中跨链事务消息对应的目标数据的操作顺序;
按照所述操作顺序对所述第一跨链事务集中的跨链事务消息进行排序。
在本文实施例中,目标数据之间的关联关系是根据接收链的数据结构确定的,关联关系可以表示树型数据结构中的子节点和父节点的对应关系,若子节点对应的目标数据的操作类型为写数据,则会影响父节点对应的目标数据的读操作的操作结果,因此可以根据关联关系确定目标数据的操作顺序,例如需要先进行子节点对应的目标数据的写操作,然后再进行父节点对应的目标数据的读操作。然后按照操作顺序对这些存在关联关系的跨链事务消息进行排序,以便于按照排序的结果将存在关联关系的跨链事务发送给接收链,以使接收链按照接收到的跨链事务消息的操作顺序对跨链事务消息进行操作,从而避免跨链事务消息的执行结果相互影响。
在本文实施例中,可以通过现有技术中的拉宾-卡普算法进行冲突检测,具体地,将缓存的正在执行的跨链事务消息对应的操作数据text进行哈希并保存,作为拉宾-卡普算法的文本串hash_text,然后对第一跨链事务集中的事务消息对应的目标数据以及第二跨链事务集中的事务消息对应的目标数据进行哈希,作为拉宾-卡普算法的模式串hash_key,然后匹配模式串hash_key和文本串hash_text,若匹配成功,则确定模式串hash_key对应的跨链事务消息存在冲突。但现有技术中的拉宾-卡普算法仅仅是比较模式串hash_key和文本串hash_text是否匹配,并没有比较操作类型。但由于某些相同的操作类型可能并不会造成冲突,若误判为冲突,则只能等待对应的正在执行的跨链事务消息对应的操作数据执行完毕后,方能将该冲突对应的跨链事务消息发送给接收链,降低了跨链事务的处理效率。针对上述情况,根据本文的一个实施例,如图4所示,根据缓存的运行事务分别对所述第一跨链事务集中的跨链事务消息和所述第二跨链事务集中的跨链事务消息进行冲突检测进一步包括,
步骤401:确定所述第一跨链事务集或第二跨链事务集中跨链事务消息对应的目标数据是否与所述运行事务中正在执行的跨链事务消息对应的操作数据相同;
步骤402:若不相同,则该目标数据对应的跨链事务消息不存在冲突;
步骤403:若相同,则确定所述目标数据的操作类型与所述操作数据的操作类型是否均为读数据;
步骤404:若均为读数据,则该目标数据对应的跨链事务消息不存在冲突;
步骤405:若并非均为读数据,则该目标数据对应的跨链事务消息存在冲突。
在本文实施例中,若第一跨链事务集中的跨链事务消息对应的目标数据或第二跨链事务集中跨链事务消息对应的目标数据与所述运行事务中正在执行的跨链事务消息对应的操作数据不相同,则说明该第一跨链事务集中的跨链事务消息对应的目标数据或第二跨链事务集中跨链事务消息对应的目标数据不存在冲突。若相同,则进一步对操作类型进行判断;确定目标数据的操作类型与操作数据的操作类型是否均为读数据,若均为读数据,因为两个读数据的操作并不会改变目标数据的值,因此,该第一跨链事务集中的跨链事务消息对应的目标数据或第二跨链事务集中跨链事务消息对应的目标数据不存在冲突,若并非均为读数据(例如目标数据的操作类型为写、操作数据的操作类型为读;或目标数据的操作类型为读、操作数据的操作类型为写;或目标数据的操作类型为写、操作数据的操作类型也为写),则说明二者不能同时对该数据进行操作,该第一跨链事务集中的跨链事务消息对应的目标数据或第二跨链事务集中跨链事务消息对应的目标数据存在冲突。
可以理解为,通过图4所示的方法,在比较第一跨链事务集中的跨链事务消息对应的目标数据或第二跨链事务集中跨链事务消息对应的目标数据与所述运行事务中正在执行的跨链事务消息对应的操作数据是否相同的基础上,进一步地加入了对操作类型的判断,若二者的操作类型均为读数据,则说明二者之间不存在冲突,可以立即将该第一跨链事务集中的跨链事务消息或第二跨链事务集中跨链事务消息发送给接收链进行处理,从而提高跨链事务的处理效率。
根据本文的一个实施例,根据所述第一跨链事务集对应的冲突检测结果以及排序的结果将该第一跨链事务集中的多个跨链事务消息分别发送到所述接收链进一步包括,
将与所述第一跨链事务集中的跨链事务消息对应的目标数据存在冲突的所述操作数据作为目标冲突数据;
待所述目标冲突数据对应的正在执行的跨链事务消息执行完毕后,按照所述排序的结果,将所述跨链事务消息依次发送给所述接收链,其中,当接收到所述接收链发送的针对排名在前的所述跨链事务消息的操作结果后,将排名在后的所述跨链事务消息发送给所述接收链。
在本文实施例中,第一跨链事务集中的跨链事务消息之间存在依赖关系,需要按照确定的排序的结果将第一跨链事务集中的多个跨链事务消息分别发送给接收链,接收链按照接收顺序依次进行处理,从而避免跨链事务消息的操作结果相互影响。但当第一跨链事务集中的某个或某些跨链事务消息存在冲突时,不能将冲突的跨链事务消息发送给接收链,因此,将与第一跨链事务集中的跨链事务消息对应的目标数据存在冲突的操作数据作为目标冲突数据,并持续判断该目标冲突数据对应的正在执行的跨链事务消息是否执行完毕,若是,则按照确定的排序的结果,将第一跨链事务集中的多个跨链事务消息分别发送给接收链。从而在避免事务冲突的对跨链事务消息的处理结果产生影响的同时,避免跨链事务消息的执行结果相互影响。
在本文实施例中,因为第二跨链事务集中的跨链事务消息之间不存在依赖关系,即不需要按照预定的顺序将第二跨链事务集中的跨链事务消息发送给接收链,因此,若第二跨链事务集中的某个或某些跨链事务消息存在冲突时,根据本文的一个实施例,根据所述第二跨链事务集对应的冲突检测结果将所述第二跨链事务集中的多个跨链事务消息分别发到所述接收链进一步包括,
将所述第二跨链事务集中不存在冲突的跨链事务消息发送给所述接收链;
将与所述第二跨链事务集中的跨链事务消息对应的目标数据存在冲突的所述操作数据作为目标冲突数据,并记录所述目标冲突数据与所述目标数据的对应关系,并将该目标数据对应的所述跨链事务消息添加到待发送队列中;
待所述目标冲突数据对应的正在执行的跨链事务消息执行完毕后,将所述待发送队列中与该目标冲突数据对应的目标数据的跨链事务消息发送给所述接收链。
在本文实施例中,首先将不存在冲突的跨链事务消息发送给接收链,以使接收链优先处理不存在冲突的跨链事务消息,然后将与第二跨链事务集中的跨链事务消息对应的目标数据存在冲突的操作数据作为目标冲突数据,并记录目标冲突数据与目标数据的对应关系,并将该目标数据对应的跨链事务消息添加到待发送队列中,然后持续判断该目标冲突数据对应的正在执行的跨链事务消息是否执行完毕,若是,则将待发送队列中与该目标冲突数据对应的目标数据的跨链事务消息发送给接收链,从而降低事务冲突对跨链事务处理效率的影响。
基于同一发明构思,本文实施例还提供了一种基于区块链的跨链事务处理装置,可以应用于中继链中。具体地,如图5所示,包括,
跨链事务消息生成单元501,用于根据跨链事务请求中的多个目标数据以及每个目标数据的操作类型生成每个目标数据的跨链事务消息,所述跨链事务请求是发起链发送的;
依赖关系分析单元502,用于在对多个跨链事务消息的共识验证的结果为通过的情况下,分析多个跨链事务消息之间的依赖关系,所述依赖关系表示在接收链中操作一个跨链事务消息中的目标数据后,将影响到其他跨链事务消息中的目标数据的操作结果;
第一跨链事务集划分单元503,用于将属于同一个依赖关系的多个跨链事务消息划分到一个第一跨链事务集中,并根据所述依赖关系对所述第一跨链事务集中的跨链事务消息进行排序;
第二跨链事务集划分单元504,用于将与任意一个跨链事务消息都不存在依赖关系的跨链事务消息划分到第二跨链事务集中;
冲突检测单元505,用于根据缓存的运行事务分别对所述第一跨链事务集中的跨链事务消息和所述第二跨链事务集中的跨链事务消息进行冲突检测,所述缓存的运行事务包括一个或多个正在执行的跨链事务消息;
跨链事务消息发送单元506,用于根据所述第一跨链事务集对应的冲突检测结果以及排序的结果将该第一跨链事务集中的多个跨链事务消息分别发送到所述接收链,根据所述第二跨链事务集对应的冲突检测结果将所述第二跨链事务集中的多个跨链事务消息分别发到所述接收链,以使所述接收链按照接收到的所述跨链事务消息的顺序,分别根据所述跨链事务消息对应的操作类型对该跨链事务消息对应的目标数据进行操作,并将操作结果发送给所述中继链;
请求结果生成单元507,用于根据接收到的多个操作结果生成所述跨链事务请求的请求结果,并将所述请求结果发送给所述发起链。
如图6所示,为本发明实施例提供的一种计算机设备,本文中的装置可以为本实施例中的计算机设备,执行上述本文的方法,所述计算机设备602可以包括一个或多个处理器604,诸如一个或多个中央处理单元(CPU),每个处理单元可以实现一个或多个硬件线程。计算机设备602还可以包括任何存储器606,其用于存储诸如代码、设置、数据等之类的任何种类的信息。非限制性的,比如,存储器606可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备602的固定或可移除部件。在一种情况下,当处理器604执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备602可以执行相关联指令的任一操作。计算机设备602还包括用于与任何存储器交互的一个或多个驱动机构608,诸如硬盘驱动机构、光盘驱动机构等。
计算机设备602还可以包括输入/输出模块610(I/O),其用于接收各种输入(经由输入设备612)和用于提供各种输出(经由输出设备614)。一个具体输出机构可以包括呈现设备616和相关联的图形用户接口(GUI)618。在其他实施例中,还可以不包括输入/输出模块610(I/O)、输入设备612以及输出设备614,仅作为网络中的一台计算机设备。计算机设备602还可以包括一个或多个网络接口620,其用于经由一个或多个通信链路622与其他设备交换数据。一个或多个通信总线624将上文所描述的部件耦合在一起。
通信链路622可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路622可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
需要说明的是,当本文实施例的发起链、中继链或接收链的各链上节点为本实施例所述的计算机设备602实现本说明书实施例所述的方法时,也可以不包括呈现设备616和相关联的图形用户接口(GUI)618等。例如仅包括处理器604、存储器606和网络接口620组成的计算机最小系统。
对应于图2-图4中的方法,本文实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述步骤。
本文实施例还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行如图2-图4所示的方法。
应理解,在本文的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本文实施例的实施过程构成任何限定。
还应理解,在本文实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本文的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本文所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本文实施例方案的目的。
另外,在本文各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本文的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本文各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本文中应用了具体实施例对本文的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本文的方法及其核心思想;同时,对于本领域的一般技术人员,依据本文的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本文的限制。

Claims (8)

1.一种基于区块链的跨链事务处理方法,其特征在于,由中继链执行,所述方法包括:
根据跨链事务请求中的多个目标数据以及每个目标数据的操作类型生成每个目标数据的跨链事务消息,所述跨链事务请求是发起链发送的;
在对多个跨链事务消息的共识验证的结果为通过的情况下,分析多个跨链事务消息之间的依赖关系,所述依赖关系表示在接收链中操作一个跨链事务消息中的目标数据后,将影响到其他跨链事务消息中的目标数据的操作结果;
将属于同一个依赖关系的多个跨链事务消息划分到一个第一跨链事务集中,并根据所述依赖关系对所述第一跨链事务集中的跨链事务消息进行排序;
将与任意一个跨链事务消息都不存在依赖关系的跨链事务消息划分到第二跨链事务集中;
根据缓存的运行事务分别对所述第一跨链事务集中的跨链事务消息和所述第二跨链事务集中的跨链事务消息进行冲突检测,所述缓存的运行事务包括一个或多个正在执行的跨链事务消息;
根据所述第一跨链事务集对应的冲突检测结果以及排序的结果将该第一跨链事务集中的多个跨链事务消息分别发送到所述接收链,根据所述第二跨链事务集对应的冲突检测结果将所述第二跨链事务集中的多个跨链事务消息分别发到所述接收链,以使所述接收链按照接收到的所述跨链事务消息的顺序,分别根据所述跨链事务消息对应的操作类型对该跨链事务消息对应的目标数据进行操作,并将操作结果发送给所述中继链;
根据接收到的多个操作结果生成所述跨链事务请求的请求结果,并将所述请求结果发送给所述发起链;
分析多个跨链事务消息之间的依赖关系进一步包括:
根据所述接收链的数据结构确定多个跨链事务消息对应的目标数据之间是否存在关联关系;
根据存在关联关系的多个目标数据的操作类型确定多个存在关联关系的多个目标数据对应的多个跨链事务消息之间的依赖关系;
所述操作类型包括读数据和写数据;
根据存在关联关系的多个目标数据的操作类型确定所述多个存在关联关系的多个目标数据对应的多个跨链事务消息之间的依赖关系进一步包括:
若所述存在关联关系的多个目标数据中,至少一个目标数据的操作类型为写数据,则该多个目标数据对应的多个跨链事务消息之间存在依赖关系;
若所述存在关联关系的多个目标数据的操作类型均为读数据,则该多个目标数据对应的多个跨链事务消息之间不存在依赖关系。
2.根据权利要求1所述的方法,其特征在于,根据所述依赖关系对所述第一跨链事务集中的跨链事务消息进行排序进一步包括:
根据所述关联关系确定所述第一跨链事务集中跨链事务消息对应的目标数据的操作顺序;
按照所述操作顺序对所述第一跨链事务集中的跨链事务消息进行排序。
3.根据权利要求1所述的方法,其特征在于,根据缓存的运行事务分别对所述第一跨链事务集中的跨链事务消息和所述第二跨链事务集中的跨链事务消息进行冲突检测进一步包括:
确定所述第一跨链事务集或第二跨链事务集中跨链事务消息对应的目标数据是否与所述运行事务中正在执行的跨链事务消息对应的操作数据相同;
若不相同,则该目标数据对应的跨链事务消息不存在冲突;
若相同,则确定所述目标数据的操作类型与所述操作数据的操作类型是否均为读数据;
若均为读数据,则该目标数据对应的跨链事务消息不存在冲突;
若并非均为读数据,则该目标数据对应的跨链事务消息存在冲突。
4.根据权利要求3所述的方法,其特征在于,根据所述第一跨链事务集对应的冲突检测结果以及排序的结果将该第一跨链事务集中的多个跨链事务消息分别发送到所述接收链进一步包括:
将与所述第一跨链事务集中的跨链事务消息对应的目标数据存在冲突的所述操作数据作为目标冲突数据;
待所述目标冲突数据对应的正在执行的跨链事务消息执行完毕后,按照所述排序的结果,将所述跨链事务消息依次发送给所述接收链,其中,当接收到所述接收链发送的针对排名在前的所述跨链事务消息的操作结果后,将排名在后的所述跨链事务消息发送给所述接收链。
5.根据权利要求3所述的方法,其特征在于,根据所述第二跨链事务集对应的冲突检测结果将所述第二跨链事务集中的多个跨链事务消息分别发到所述接收链进一步包括:
将所述第二跨链事务集中不存在冲突的跨链事务消息发送给所述接收链;
将与所述第二跨链事务集中的跨链事务消息对应的目标数据存在冲突的所述操作数据作为目标冲突数据,并记录所述目标冲突数据与所述目标数据的对应关系,并将该目标数据对应的所述跨链事务消息添加到待发送队列中;
待所述目标冲突数据对应的正在执行的跨链事务消息执行完毕后,将所述待发送队列中与该目标冲突数据对应的目标数据的跨链事务消息发送给所述接收链。
6.一种基于区块链的跨链事务处理装置,其特征在于,包括:
跨链事务消息生成单元,用于根据跨链事务请求中的多个目标数据以及每个目标数据的操作类型生成每个目标数据的跨链事务消息,所述跨链事务请求是发起链发送的;
依赖关系分析单元,用于在对多个跨链事务消息的共识验证的结果为通过的情况下,分析多个跨链事务消息之间的依赖关系,所述依赖关系表示在接收链中操作一个跨链事务消息中的目标数据后,将影响到其他跨链事务消息中的目标数据的操作结果;
第一跨链事务集划分单元,用于将属于同一个依赖关系的多个跨链事务消息划分到一个第一跨链事务集中,并根据所述依赖关系对所述第一跨链事务集中的跨链事务消息进行排序;
第二跨链事务集划分单元,用于将与任意一个跨链事务消息都不存在依赖关系的跨链事务消息划分到第二跨链事务集中;
冲突检测单元,用于根据缓存的运行事务分别对所述第一跨链事务集中的跨链事务消息和所述第二跨链事务集中的跨链事务消息进行冲突检测,所述缓存的运行事务包括一个或多个正在执行的跨链事务消息;
跨链事务消息发送单元,用于根据所述第一跨链事务集对应的冲突检测结果以及排序的结果将该第一跨链事务集中的多个跨链事务消息分别发送到所述接收链,根据所述第二跨链事务集对应的冲突检测结果将所述第二跨链事务集中的多个跨链事务消息分别发到所述接收链,以使所述接收链按照接收到的所述跨链事务消息的顺序,分别根据所述跨链事务消息对应的操作类型对该跨链事务消息对应的目标数据进行操作,并将操作结果发送给中继链;
请求结果生成单元,用于根据接收到的多个操作结果生成所述跨链事务请求的请求结果,并将所述请求结果发送给所述发起链;
所述依赖关系分析单元进一步用于根据所述接收链的数据结构确定多个跨链事务消息对应的目标数据之间是否存在关联关系;根据存在关联关系的多个目标数据的操作类型确定多个存在关联关系的多个目标数据对应的多个跨链事务消息之间的依赖关系;所述操作类型包括读数据和写数据;若所述存在关联关系的多个目标数据中,至少一个目标数据的操作类型为写数据,则该多个目标数据对应的多个跨链事务消息之间存在依赖关系;若所述存在关联关系的多个目标数据的操作类型均为读数据,则该多个目标数据对应的多个跨链事务消息之间不存在依赖关系。
7.一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现权利要求1-5任意一项所述的方法。
8.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被计算机设备的处理器运行时,执行权利要求1-5任意一项所述的方法。
CN202211232072.XA 2022-10-10 2022-10-10 一种基于区块链的跨链事务处理方法、装置及设备 Active CN115309515B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211232072.XA CN115309515B (zh) 2022-10-10 2022-10-10 一种基于区块链的跨链事务处理方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211232072.XA CN115309515B (zh) 2022-10-10 2022-10-10 一种基于区块链的跨链事务处理方法、装置及设备

Publications (2)

Publication Number Publication Date
CN115309515A CN115309515A (zh) 2022-11-08
CN115309515B true CN115309515B (zh) 2023-01-31

Family

ID=83868313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211232072.XA Active CN115309515B (zh) 2022-10-10 2022-10-10 一种基于区块链的跨链事务处理方法、装置及设备

Country Status (1)

Country Link
CN (1) CN115309515B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115629822B (zh) * 2022-11-09 2023-07-25 深圳计算科学研究院 一种基于多核处理器的并发事务处理方法及其系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110070445A (zh) * 2019-04-28 2019-07-30 深圳前海微众银行股份有限公司 一种基于区块链系统的交易处理方法及装置
CN112650764A (zh) * 2020-12-30 2021-04-13 北京百度网讯科技有限公司 跨链数据处理方法、装置、设备和存储介质
CN113489671A (zh) * 2021-05-11 2021-10-08 深圳前海移联科技有限公司 一种跨联盟链通讯方法、装置、计算机设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108491266B (zh) * 2018-03-09 2021-11-16 联想(北京)有限公司 基于区块链的数据处理方法、装置及电子设备
CN111680311B (zh) * 2020-05-28 2022-12-20 北京理工大学 一种基于区块链的数据交换系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110070445A (zh) * 2019-04-28 2019-07-30 深圳前海微众银行股份有限公司 一种基于区块链系统的交易处理方法及装置
CN112650764A (zh) * 2020-12-30 2021-04-13 北京百度网讯科技有限公司 跨链数据处理方法、装置、设备和存储介质
CN113489671A (zh) * 2021-05-11 2021-10-08 深圳前海移联科技有限公司 一种跨联盟链通讯方法、装置、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于区块链的大规模跨境供应链系统构建;乐格君;《中国优秀硕士论文电子期刊网》;20210915;全文 *

Also Published As

Publication number Publication date
CN115309515A (zh) 2022-11-08

Similar Documents

Publication Publication Date Title
US11099842B2 (en) Source code similarity detection using digital fingerprints
EP2871574A1 (en) Analytics for application programming interfaces
CN110795257A (zh) 处理多集群作业记录的方法、装置、设备及存储介质
US20220156367A1 (en) System and method for detection of anomalous controller area network (can) messages
KR102058697B1 (ko) 뉴럴네트워크를 이용한 자동학습 기반의 딥러닝 학습 모델을 위한 이상징후 탐지 시스템
US10884805B2 (en) Dynamically configurable operation information collection
CN115309515B (zh) 一种基于区块链的跨链事务处理方法、装置及设备
CN110716868A (zh) 异常程序行为检测方法、装置
CN113392426A (zh) 用于增强工业系统或电功率系统的数据隐私的方法及系统
CN112559489A (zh) 基于跨链的区块链监管方法、设备及存储介质
CA2734207C (en) Electronic file comparator
CN112532625B (zh) 网络态势感知评估数据更新方法、装置及可读存储介质
CN115829731A (zh) 一种交易信息处理方法及装置
WO2021071696A1 (en) Automatic triaging of network data loss prevention incident events
CN117171757A (zh) 一种软件漏洞挖掘的模型构建方法和软件漏洞挖掘方法
CN109800775B (zh) 文件聚类方法、装置、设备及可读介质
CN116739605A (zh) 交易数据检测方法、装置、设备及存储介质
CN111752819A (zh) 一种异常监控方法、装置、系统、设备和存储介质
CN109688009B (zh) 一种基于业务流量空间图的网络异常数据挖掘方法
CN114846767A (zh) 用于解决矛盾的设备分析数据的技术
CN113032774A (zh) 异常检测模型的训练方法、装置、设备及计算机存储介质
US20240089277A1 (en) Anomaly detection and mitigation using device subpopulation partitioning
CN111651753A (zh) 用户行为分析系统及方法
CN113485901B (zh) 基于日志和指标的系统评价方法、装置、设备和介质
EP4303730A1 (en) Computer-implemented method for automatically detecting anomalies in a cloud infrastructure comprising microservices

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
GR01 Patent grant
GR01 Patent grant