CN116383197A - 智能合约处理方法、装置、设备及计算机可读存储介质 - Google Patents

智能合约处理方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN116383197A
CN116383197A CN202310205935.2A CN202310205935A CN116383197A CN 116383197 A CN116383197 A CN 116383197A CN 202310205935 A CN202310205935 A CN 202310205935A CN 116383197 A CN116383197 A CN 116383197A
Authority
CN
China
Prior art keywords
mpt
nodes
node
branch
reading
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
Application number
CN202310205935.2A
Other languages
English (en)
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.)
Zhongchao Credit Card Industry Development Co ltd
China Banknote Printing and Minting Group Co Ltd
Original Assignee
Zhongchao Credit Card Industry Development Co ltd
China Banknote Printing and Minting Group Co Ltd
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 Zhongchao Credit Card Industry Development Co ltd, China Banknote Printing and Minting Group Co Ltd filed Critical Zhongchao Credit Card Industry Development Co ltd
Priority to CN202310205935.2A priority Critical patent/CN116383197A/zh
Publication of CN116383197A publication Critical patent/CN116383197A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种智能合约处理方法、装置、设备及计算机可读存储介质。其中,该方法包括:接收预执行节点发送的目标交易信息和第一MPT读取记录,第一MPT读取记录为预执行节点基于目标交易信息读取第一MPT分支中多个第一MPT节点对应的键名的记录,第一MPT分支为与目标交易信息对应的MPT分支;基于目标交易信息,确定目标智能合约;从与目标智能合约对应的MPT中,确定与目标交易信息对应的第二MPT分支,第二MPT分支包括多个具有父子关系的第二MPT节点;在第一MPT分支与第二MPT分支相同的情况下,根据多个第一MPT节点对应的键名并行读取多个第二MPT节点对应的数据。根据本申请实施例,能够提高智能合约的执行速度,进而提升区块链的整体性能。

Description

智能合约处理方法、装置、设备及计算机可读存储介质
技术领域
本申请属于区块链技术领域,尤其涉及一种智能合约处理方法、装置、设备及计算机可读存储介质。
背景技术
通常,智能合约会控制一个存储区,存储区中保存了与该智能合约相关联的数据。目前,应用最广泛的存储区的数据结构基于默克尔帕特里夏树(Merkle Patricia Trie,MPT)。MPT提了诸多特性,包括易于检测数据变更、快速校验数据正确性、减轻存储开销等,使其在区块链中具有举足轻重的作用。
现有技术中,智能合约在运行过程中会从自身的存储区读取数据。由于智能合约的执行是串行的,因此,其对存储区的读取也是串行的。当存储区的数据结构采用MPT时,每次读取数据都需要从MPT的根节点开始,逐层读取树节点,直至找到对应的数据或者确定该数据不包含在MPT树中,这一过程也是串行的。
如此,智能合约每次运行都会串行地读取多次数据,每次读取数据都会串行地读取多个MPT节点,从而产生大量串行的硬盘读取操作。由于硬盘的读取速度大幅低于中央处理器、内存等硬件,因此,智能合约的执行速度较慢,进而影响区块链的整体性能。
发明内容
本申请实施例提供了一种智能合约处理方法、装置、设备、计算机可读存储介质及计算机程序产品,能够提高智能合约的执行速度,进而提升区块链的整体性能。
第一方面,本申请实施例提供了一种智能合约处理方法,应用于共识节点,该方法包括:
接收预执行节点发送的目标交易信息和第一默克尔帕特里夏树MPT读取记录,所述第一MPT读取记录为所述预执行节点基于所述目标交易信息读取第一MPT分支中多个第一MPT节点对应的键名的记录,其中,所述第一MPT分支为与所述目标交易信息对应的MPT分支;
基于所述目标交易信息,确定目标智能合约;
从与所述目标智能合约对应的MPT中,确定与所述目标交易信息对应的第二MPT分支,所述第二MPT分支包括多个具有父子关系的第二MPT节点;
在所述第一MPT分支与所述第二MPT分支相同的情况下,根据多个所述第一MPT节点对应的键名并行读取多个所述第二MPT节点对应的数据。
在一种可能的实现方式中,所述第一MPT节点包括第一MPT根节点,所述第二MPT节点包括第二MPT根节点;
所述在所述第一MPT分支与所述第二MPT分支相同的情况下,根据多个所述第一MPT节点对应的键名并行读取多个所述第二MPT节点对应的数据,包括:
获取所述第一MPT分支中的第一MPT根节点和所述第二MPT分支中的第二MPT根节点;
确定所述第一MPT根节点与所述第二MPT根节点是否相同;
在所述第一MPT根节点与所述第二MPT根节点相同的情况下,根据多个所述第一MPT节点对应的键名并行读取多个所述第二MPT节点对应的数据。
在一种可能的实现方式中,所述方法还包括:
在所述第一MPT根节点与所述第二MPT根节点不相同的情况下,读取所述第二MPT根节点对应的数据;
获取所述第一MPT根节点的第一MPT子节点和所述第二MPT根节点的第二MPT子节点;
确定所述第一MPT子节点与所述第二MPT子节点是否相同;
在所述第一MPT子节点与所述第二MPT子节点相同的情况下,根据多个所述第一MPT节点对应的键名并行读取多个目标第二MPT节点对应的数据,所述目标第二MPT节点为除所述第二MPT根节点之外的所述第二MPT节点。
在一种可能的实现方式中,所述方法还包括:
在所述第一MPT子节点与所述第二MPT子节点不相同的情况下,返回执行读取所述第二MPT子节点对应的数据,直至多个所述第二MPT节点对应的数据均读取完成。
第二方面,本申请实施例提供了一种智能合约处理方法,应用于预执行节点,该方法包括:
在接收到目标交易信息的情况下,基于所述目标交易信息,确定目标智能合约;
从与所述目标智能合约对应的默克尔帕特里夏树MPT中,确定与所述目标交易信息对应的第一MPT分支,所述第一MPT分支包括多个具有父子关系的第一MPT节点,所述第一MPT节点包括第一MPT根节点;
基于所述父子关系,以所述第一MPT根节点为起点,根据目标读取方向依次读取多个所述第一MPT节点对应的键名,所述目标读取方向包括由MPT父节点至MPT子节点的读取方向;
记录多个所述第一MPT节点对应的键名,得到第一MPT读取记录;
将所述第一MPT读取记录和所述目标交易信息发送至共识节点,以使所述共识节点基于所述第一MPT读取记录和所述目标交易信息并行读取多个所述第一MPT节点对应的数据。
第三方面,本申请实施例提供了一种智能合约处理装置,应用于共识节点,该装置包括:
接收模块,用于接收预执行节点发送的目标交易信息和第一默克尔帕特里夏树MPT读取记录,所述第一MPT读取记录为所述预执行节点基于所述目标交易信息读取第一MPT分支中多个第一MPT节点对应的键名的记录,其中,所述第一MPT分支为与所述目标交易信息对应的MPT分支;
第一确定模块,用于基于所述目标交易信息,确定目标智能合约;
第二确定模块,用于从与所述目标智能合约对应的MPT中,确定与所述目标交易信息对应的第二MPT分支,所述第二MPT分支包括多个具有父子关系的第二MPT节点;
第一读取模块,用于在所述第一MPT分支与所述第二MPT分支相同的情况下,根据多个所述第一MPT节点对应的键名并行读取多个所述第二MPT节点对应的数据。
第四方面,本申请实施例提供了一种智能合约处理装置,应用于预执行节点,该装置包括:
第三确定模块,用于在接收到目标交易信息的情况下,基于所述目标交易信息,确定目标智能合约;
第四确定模块,用于从与所述目标智能合约对应的默克尔帕特里夏树MPT中,确定与所述目标交易信息对应的第一MPT分支,所述第一MPT分支包括多个具有父子关系的第一MPT节点,所述第一MPT节点包括第一MPT根节点;
第二读取模块,用于基于所述父子关系,以所述第一MPT根节点为起点,根据目标读取方向依次读取多个所述第一MPT节点对应的键名,所述目标读取方向包括由MPT父节点至MPT子节点的读取方向;
第一记录模块,用于记录多个所述第一MPT节点对应的键名,得到第一MPT读取记录;
发送模块,用于将所述第一MPT读取记录和所述目标交易信息发送至共识节点,以使所述共识节点基于所述第一MPT读取记录和所述目标交易信息并行读取多个所述第一MPT节点对应的数据。
第五方面,本申请实施例提供了一种电子设备,该设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现上述第一方面或第二方面中任一种可能的实现方法中的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现上述第一方面或第二方面中任一种可能的实现方法中的方法。
第七方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行如上述第一方面或第二方面中任一种可能的实现方法中的方法。
本申请实施例的智能合约处理方法、装置、设备、计算机可读存储介质及计算机程序产品,通过接收包括多个第一MPT节点对应的键名的第一MPT读取记录,能够在第一MPT分支与第二MPT分支相同(即多个第一MPT节点与多个第二MPT节点均相同)的情况下,根据多个第一MPT节点对应的键名并行读取多个第二MPT节点对应的数据。如此,根据本申请实施例,能够提高读取多个第二MPT节点对应的数据的读取效率,即能够提高智能合约的执行速度,进而能够提升区块链的整体性能。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种应用于共识节点的智能合约处理方法的流程示意图;
图2是本申请实施例提供的一种简化的MPT的示意图;
图3是本申请实施例提供的一种预执行节点串行读取多个第一MPT节点对应的键名的流程示意图;
图4是本申请实施例提供的一种共识节点并行读取多个第二MPT节点对应的数据的流程示意图;
图5是本申请实施例提供的一种变更后的MPT的示意图;
图6是本申请实施例提供的一种共识节点读取多个第二MPT节点对应的键名的流程示意图;
图7是本申请实施例提供的一种应用于预执行节点的智能合约处理方法的流程示意图;
图8是本申请实施例提供的一种应用于共识节点的智能合约处理装置结构示意图;
图9是本申请实施例提供的一种应用于预执行节点的智能合约处理装置结构示意图;
图10是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
区块链是一种去中心化的、分布式的系统,是分布式账本技术的一种具体实现。记录在区块链中的信息与数据是共享的且无法被篡改,从而各参与方能够独立地进行验证与审计。区块链上的各参与方通过共识机制,就保存在区块链中的数据的变更达成一致。
智能合约是存储在区块链上的程序,会按照预先确定的规则,在所有区块链节点上复制和执行。智能合约通常作为一种遵循特定规则且强制执行的数字化协议来发挥作用。所有参与方都可以确定智能合约的运行结果,无需互相了解和信任。
通常,智能合约会控制一个存储区,存储区中保存了与该智能合约相关联的数据。目前,应用最广泛的存储区的数据结构基于默克尔帕特里夏树(Merkle Patricia Trie,MPT)。MPT提了诸多特性,包括易于检测数据变更、快速校验数据正确性、减轻存储开销等,使其在区块链中具有举足轻重的作用。
MPT本质上是一棵十六叉的字典树,父子节点之间通过哈希连接,即父节点中包含了子节点的哈希。MPT保存在数据库中时,每个树节点都以自身的哈希为键名。若要从MPT中读取数据,需首先获得MPT的根节点,然后根据数据对应的键名所指示的路径,逐层读取树节点,直至找到所需的数据,或者确认所需的数据不在MPT中。上述过程是串行的,因为只有获得了父节点,才能取得对应子节点的哈希,才能以此为键名从数据库中取出子节点。每一个智能合约均唯一对应一棵MPT,该合约的所有数据均保存在该MPT中。
如背景技术部分所述,为了解决现有技术问题,本申请实施例提供了一种智能合约处理方法、装置、设备、计算机可读存储介质及计算机程序产品。
下面对本申请实施例所提供的应用于共识节点的智能合约处理方法进行介绍。
图1示出了本申请实施例提供的一种应用于共识节点的智能合约处理方法的流程示意图。如图1所示,本申请实施例提供的应用于共识节点的智能合约处理方法包括以下步骤:
S110、接收预执行节点发送的目标交易信息和第一默克尔帕特里夏树MPT读取记录,第一MPT读取记录为预执行节点基于目标交易信息读取第一MPT分支中多个第一MPT节点对应的键名的记录,其中,第一MPT分支为与目标交易信息对应的MPT分支;
S120、基于目标交易信息,确定目标智能合约;
S130、从与目标智能合约对应的MPT中,确定与目标交易信息对应的第二MPT分支,第二MPT分支包括多个具有父子关系的第二MPT节点;
S140、在第一MPT分支与第二MPT分支相同的情况下,根据多个第一MPT节点对应的键名并行读取多个第二MPT节点对应的数据。
本申请实施例的智能合约处理方法通过接收包括多个第一MPT节点对应的键名的第一MPT读取记录,能够在第一MPT分支与第二MPT分支相同(即多个第一MPT节点与多个第二MPT节点均相同)的情况下,根据多个第一MPT节点对应的键名并行读取多个第二MPT节点对应的数据。如此,根据本申请实施例,能够提高读取多个第二MPT节点对应的数据的读取效率,即能够提高智能合约的执行速度,进而能够提升区块链的整体性能。
下面介绍上述各个步骤的具体实现方式。
在一些实施例中,在S110中,预执行节点可以是特殊的非共识节点。预执行节点在接收到目标交易信息之后,可以基于目标交易信息执行目标智能合约。在预执行节点执行目标智能合约的过程中,可以串行读取并记录多个第一MPT节点对应的键名,得到第一MPT读取记录。另外,在读取多个第一MPT节点对应的键名的过程中,也可以对应读取并记录多个第一MPT节点对应的数据,即第一MPT读取记录还可以包括多个第一MPT节点对应的数据。其中,第一MPT节点可以是第一MPT分支中的MPT节点。第一MPT分支可以是预执行节点从与目标智能合约对应的MPT中确定,且与目标交易信息对应的MPT分支。另外,节点对应的键名可以是节点对应的哈希值。
需要说明的是,虽然非共识节点可以读取到多个第一MPT节点对应的数据,但是基于区块链的特性,只有共识节点才可以对写入区块链的数据进行确认。
作为一种示例,简化的MPT示意图可以如图2所示。基于如图2所示的MPT示意图,第一MPT分支中可以包括ABCDEFGH、EFGH、EF、F等四个MPT节点,即第一MPT节点可以包括ABCDEFGH、EFGH、EF、F。第一MPT读取记录中可以包括ABCDEFGH、EFGH、EF、F等四个MPT节点分别对应的键名。
基于此,预执行节点串行读取多个第一MPT节点对应的键名的流程示意图可以如图3所示。
作为一种示例,在接收到第一MPT读取记录之后,共识节点可以对第一MPT读取记录进行初步校验,若校验失败,则可以丢弃该第一MPT读取记录。其中,校验例如可以为检查第一MPT分支对应的路径与数据的键名是否匹配。
作为另一种示例,在接收到目标交易信息之后,共识节点可以将目标交易信息打包为区块,并执行目标交易信息对应的目标智能合约。
在一些实施例中,在S120中,目标交易信息可以至少包括交易发起者、目标智能合约地址、交易数据等参数信息,基于上述参数信息,可以确定与目标交易信息对应的目标智能合约。具体的,结合目标交易信息和世界状态即可确定目标智能合约。
在一些实施例中,在S130中,目标智能合约可以对应一棵MPT,一棵MPT可以包括多个MPT分支。共识节点通过基于目标交易信息和目标智能合约可以确定与目标交易信息对应的第二MPT分支。
作为一种示例,基于如图2所示的MPT示意图,第二MPT分支中可以包括ABCDEFGH、EFGH、EF、F等四个MPT节点,即第二MPT节点可以包括ABCDEFGH、EFGH、EF、F。其中,ABCDEFGH可以是EFGH的父MPT节点,相应的,EFGH可以是ABCDEFGH的子MPT节点。其余第二MPT节点之间的父子关系不再赘述。
在一些实施例中,在S140中,第一MPT分支与第二MPT分支可以相同,也可以不相同。
作为一种示例,在预执行节点执行目标智能合约的过程中,若第一MPT节点未发生变化,则第二MPT分支与第一MPT分支相同。相反,若第一MPT节点发生变化,则第二MPT分支与第一MPT分支不同。
具体的,预执行节点和共识节点可以分别基于本地数据库执行目标智能合约。其中,预执行节点的数据库实质上可以是共识节点的数据库在某一个历史时间点上的状态,因此,两者可能存在差异。基于此,同一个智能合约对应的MPT树在预执行节点和共识节点上可能是不同的,即第一MPT分支与第二MPT分支可以不相同。
基于此,若第一MPT分支与第二MPT分支相同,即多个第一MPT节点与多个第二MPT节点均相同,则多个第一MPT节点对应的键值与多个第二MPT节点对应的键值均相同。如此,由于共识节点已获取到多个第一MPT节点对应的键名,因此,可以根据多个第一MPT节点对应的键名并行读取多个第二MPT节点对应的数据。其中,第二MPT节点对应的数据可以包括第二MPT节点对应的键名。
作为一种示例,共识节点根据多个第一MPT节点对应的键名并行读取多个第二MPT节点对应的数据的流程示意图可以如图4所示。
为了确定第一MPT分支与第二MPT分支是否相同,在一些实施例中,第一MPT节点可以包括第一MPT根节点,第二MPT节点可以包括第二MPT根节点,基于此,上述S140具体可以包括:
获取第一MPT分支中的第一MPT根节点和第二MPT分支中的第二MPT根节点;
确定第一MPT根节点与第二MPT根节点是否相同;
在第一MPT根节点与第二MPT根节点相同的情况下,根据多个第一MPT节点对应的键名并行读取多个第二MPT节点对应的数据。
这里,若第一MPT根节点的键名与第二MPT根节点的键名相同,即第一MPT根节点的哈希值与第二MPT根节点的哈希值相同,则可以确定第一MPT根节点与第二MPT根节点相同。如此,基于哈希值的特性与多个第二MPT节点的父子关系,若第一MPT根节点与第二MPT根节点相同,则可以确定多个第一MPT节点与多个第二MPT节点均相同,即第一MPT分支与第二MPT分支相同。
这样,通过确定第一MPT根节点与第二MPT根节点是否相同,可以确定第一MPT分支与第二MPT分支是否相同。
基于此,为了在第一MPT分支与第二MPT分支不完全相同的情况下,并行读取部分第二MPT节点对应的数据,提高读取效率,在一些实施例中,还可以包括:
在第一MPT根节点与第二MPT根节点不相同的情况下,读取第二MPT根节点对应的数据;
获取第一MPT根节点的第一MPT子节点和第二MPT根节点的第二MPT子节点;
确定第一MPT子节点与第二MPT子节点是否相同;
在第一MPT子节点与第二MPT子节点相同的情况下,根据多个第一MPT节点对应的键名并行读取多个目标第二MPT节点对应的数据,目标第二MPT节点为除第二MPT根节点之外的第二MPT节点。
这里,由于第一MPT根节点不同于第二MPT根节点,则不能根据第一MPT根节点对应的键名读取第二MPT根节点对应的数据。因此,可以单独读取第二MPT根节点对应的数据。若第一MPT子节点与第二MPT子节点相同,则可以根据多个第一MPT节点对应的键名并行读取其余第二MPT节点对应的数据。
作为一种示例,若第一MPT节点发生变化,则可以导致整个MPT发生变化。如图5所示,由于第一MPT节点D变为了第二MPT节点D’,则第一MPT根节点ABCDEFGH可以变为第二MPT根节点ABCD’EFGH。根据MPT的特性,变更前后的两棵MPT大部分节点仍是相同的。
基于此,以图3中的MPT分支为例,即共识节点尝试读取MPT节点F对应的数据。由于第一MPT节点D变为了第二MPT节点D’,则多个第二MPT节点可以为ABCD’EFGH,EFGH,EF和F,即除ABCDEFGH和ABCD’EFGH不同之外,其余MPT节点均相同。如此,共识节点读取多个第二MPT节点对应的键名的流程示意图可以如图6所示。即共识节点在从ABCD’EFGH节点中获取子MPT节点的键值后,发现该MPT节点的键值包含在第一MPT读取记录中,因此,可以并行读取其余第二MPT节点对应的数据。
这样,通过在第一MPT子节点与第二MPT子节点相同的情况下,根据多个第一MPT节点对应的键名并行读取多个目标第二MPT节点对应的数据,能够在第一MPT分支与第二MPT分支不完全相同的情况下,并行读取部分第二MPT节点对应的数据,提高读取效率。
基于此,为了提高数据的读取效率,在一些实施例中,还可以包括:
在第一MPT子节点与第二MPT子节点不相同的情况下,返回执行读取第二MPT子节点对应的数据,直至多个第二MPT节点对应的数据均读取完成。
这里,上述步骤的实现过程与上文相同,在此不再赘述。
另外,以图5为例,若共识节点尝试读取MPT节点D对应的数据。由于第一MPT节点D变为了第二MPT节点D’,则多个第二MPT节点可以为ABCD’EFGH,ABCD’,CD’和D’。即第二MPT节点与第一MPT节点均不相同。如此,即可串行读取多个第二MPT节点。
这样,通过在第一MPT分支与第二MPT中部分MPT节点相同的情况下,并行读取相同部分的MPT节点对应的数据,在第一MPT分支与第二MPT中MPT节点均不相同的情况下,串行读取MPT节点对应的数据,能够提高数据的读取效率。
需要说明的,上文中MPT节点对应的数据均可以从数据库中读取。
基于此,为了进一步提高数据的读取效率,在一些实施例中,上述S140具体还可以包括:
在第一MPT分支与第二MPT分支相同的情况下,根据多个第一MPT节点对应的键名,从第一MPT读取记录中并行读取多个第二MPT节点对应的数据。
这里,第一MPT读取记录中还可以记录多个第一MPT节点对应的数据。由于MPT分支中的树节点均可以通过哈希连接,根据哈希函数的特性,伪造MPT分支的难度极高,几乎是不可能的。因此,一般情况下,共识节点在校验MPT分支无误后,可直接信任该MPT分支。
这样,在第一MPT分支与第二MPT分支相同的情况下,通过从第一MPT读取记录中并行读取多个第二MPT节点对应的数据,能够进一步提高数据的读取效率。
基于此,为了进一步提升区块链的整体性能,在一些实施例中,还可以包括:
记录多个第二MPT节点的键名,得到第二MPT读取记录;
广播第二MPT读取记录至其余区块链节点,以使其余区块链节点基于第二MPT读取记录并行读取多个第二MPT节点对应的数据。
这里,共识节点在执行智能合约的过程中,可以记录多个第二MPT节点的键名,得到第二MPT读取记录,并将第二MPT读取记录随区块一同广播至其余区块链节点。其余区块链节点在接收到区块和第二MPT读取记录后,可以基于第二MPT读取记录执行区块中的交易,以及更新本地数据库。
这样,通过广播第二MPT读取记录至其余区块链节点,使其余区块链节点能够基于第二MPT读取记录并行读取多个第二MPT节点对应的数据,进一步提升区块链的整体性能。
下面对本申请实施例所提供的应用于预执行节点的智能合约处理方法进行介绍。
图7示出了本申请实施例提供的一种应用于预执行节点的智能合约处理方法的流程示意图。如图7所示,本申请实施例提供的应用于预执行节点的智能合约处理方法包括以下步骤:
S710、在接收到目标交易信息的情况下,基于目标交易信息,确定目标智能合约;
S720、从与目标智能合约对应的默克尔帕特里夏树MPT中,确定与目标交易信息对应的第一MPT分支,第一MPT分支包括多个具有父子关系的第一MPT节点,第一MPT节点包括第一MPT根节点;
S730、基于父子关系,以第一MPT根节点为起点,根据目标读取方向依次读取多个第一MPT节点对应的键名,目标读取方向包括由MPT父节点至MPT子节点的读取方向;
S740、记录多个第一MPT节点对应的键名,得到第一MPT读取记录;
S750、将第一MPT读取记录和目标交易信息发送至共识节点,以使共识节点基于第一MPT读取记录和目标交易信息并行读取多个第一MPT节点对应的数据。
这里,在接收到目标交易信息的情况下,基于目标交易信息,还可以确定数据的键名。基于此,从与目标智能合约对应的MPT中,根据数据的键名可以确定与目标交易信息对应的第一MPT分支。另外,在根据目标读取方向依次读取多个第一MPT节点对应的键名的过程中,还可以相应读取多个第一MPT节点对应的数据。如此,第一MPT读取记录中具体可以包括智能合约地址、数据的键名和第一MPT分支。其中,第一MPT分支中可以包括多个第一MPT节点对应的键名和数据。
另外,在预执行节点接收到多个目标交易信息的情况下,第一MPT读取记录可以有多个,多个目标交易信息和多个第一MPT读取记录可以作为预执行结果共同发送至共识节点。需要说明的是,一个目标交易信息可以对应多个第一MPT读取记录。
除此之外,本申请实施例中方法的上述步骤可参见上文所示实施例的相关描述,此处不做过多赘述。
由此,预执行节点通过预先执行目标智能合约,记录多个第一MPT节点对应的键名,得到第一MPT读取记录,以及将第一MPT读取记录发送至共识节点,使共识节点能够基于第一MPT读取记录确定多个第一MPT节点对应的键名,进而并行读取多个第一MPT节点对应的数据。如此,根据本申请实施例,能够提高共识节点读取多个第一MPT节点对应的数据的读取效率,即能够提高目标智能合约的执行速度,进而能够提升区块链的整体性能。
基于上述实施例提供的智能合约处理方法,相应地,本申请还提供了智能合约处理装置的具体实现方式。请参见以下实施例。
如图8所示,本申请实施例提供的应用于共识节点的智能合约处理装置800包括以下模块:
接收模块810,用于接收预执行节点发送的目标交易信息和第一默克尔帕特里夏树MPT读取记录,第一MPT读取记录为预执行节点基于目标交易信息读取第一MPT分支中多个第一MPT节点对应的键名的记录,其中,第一MPT分支为与目标交易信息对应的MPT分支;
第一确定模块820,用于基于目标交易信息,确定目标智能合约;
第二确定模块830,用于从与目标智能合约对应的MPT中,确定与目标交易信息对应的第二MPT分支,第二MPT分支包括多个具有父子关系的第二MPT节点;
第一读取模块840,用于在第一MPT分支与第二MPT分支相同的情况下,根据多个第一MPT节点对应的键名并行读取多个第二MPT节点对应的数据。
下面对上述智能合约处理装置800进行详细说明,具体如下所示:
在其中一些实施例中,第一MPT节点可以包括第一MPT根节点,第二MPT节点可以包括第二MPT根节点;
基于此,第一读取模块840具体可以包括:
第一获取子模块,用于获取第一MPT分支中的第一MPT根节点和第二MPT分支中的第二MPT根节点;
第一确定子模块,用于确定第一MPT根节点与第二MPT根节点是否相同;
第一读取子模块,用于在第一MPT根节点与第二MPT根节点相同的情况下,根据多个第一MPT节点对应的键名并行读取多个第二MPT节点对应的数据。
在其中一些实施例中,第一读取模块840具体还可以包括:
第二读取子模块,用于在第一MPT根节点与第二MPT根节点不相同的情况下,读取第二MPT根节点对应的数据;
第二获取子模块,用于获取第一MPT根节点的第一MPT子节点和第二MPT根节点的第二MPT子节点;
第二确定子模块,用于确定第一MPT子节点与第二MPT子节点是否相同;
第三读取子模块,用于在第一MPT子节点与第二MPT子节点相同的情况下,根据多个第一MPT节点对应的键名并行读取多个目标第二MPT节点对应的数据,目标第二MPT节点为除第二MPT根节点之外的第二MPT节点。
在其中一些实施例中,第一读取模块840具体还可以包括:
返回执行子模块,用于在第一MPT子节点与第二MPT子节点不相同的情况下,返回执行读取第二MPT子节点对应的数据,直至多个第二MPT节点对应的数据均读取完成。
在其中一些实施例中,第一读取模块840具体还可以包括:
第四读取子模块,用于在第一MPT分支与第二MPT分支相同的情况下,根据多个第一MPT节点对应的键名,从第一MPT读取记录中并行读取多个第二MPT节点对应的数据。
在其中一些实施例中,智能合约处理装置800还可以包括:
第二记录模块,用于记录多个第二MPT节点的键名,得到第二MPT读取记录;
广播模块,用于广播第二MPT读取记录至其余区块链节点,以使其余区块链节点基于第二MPT读取记录并行读取多个第二MPT节点对应的数据。
本申请实施例的智能合约处理装置通过接收包括多个第一MPT节点对应的键名的第一MPT读取记录,能够在第一MPT分支与第二MPT分支相同(即多个第一MPT节点与多个第二MPT节点均相同)的情况下,根据多个第一MPT节点对应的键名并行读取多个第二MPT节点对应的数据。如此,根据本申请实施例,能够提高读取多个第二MPT节点对应的数据的读取效率,即能够提高智能合约的执行速度,进而能够提升区块链的整体性能。
如图9所示,本申请实施例提供的应用于预执行节点的智能合约处理装置900包括以下模块:
第三确定模块910,用于在接收到目标交易信息的情况下,基于目标交易信息,确定目标智能合约;
第四确定模块920,用于从与目标智能合约对应的默克尔帕特里夏树MPT中,确定与目标交易信息对应的第一MPT分支,第一MPT分支包括多个具有父子关系的第一MPT节点,第一MPT节点包括第一MPT根节点;
第二读取模块930,用于基于父子关系,以第一MPT根节点为起点,根据目标读取方向依次读取多个第一MPT节点对应的键名,目标读取方向包括由MPT父节点至MPT子节点的读取方向;
第一记录模块940,用于记录多个第一MPT节点对应的键名,得到第一MPT读取记录;
发送模块950,用于将第一MPT读取记录和目标交易信息发送至共识节点,以使共识节点基于第一MPT读取记录和目标交易信息并行读取多个所述第一MPT节点对应的数据。
本申请实施例的智能合约处理装置通过预先执行目标智能合约,记录多个第一MPT节点对应的键名,得到第一MPT读取记录,以及将第一MPT读取记录发送至共识节点,使共识节点能够基于第一MPT读取记录确定多个第一MPT节点对应的键名,进而并行读取多个第一MPT节点对应的数据。如此,根据本申请实施例,能够提高共识节点读取多个第一MPT节点对应的数据的读取效率,即能够提高目标智能合约的执行速度,进而能够提升区块链的整体性能。
基于上述实施例提供的智能合约处理方法,本申请实施例还提供了电子设备的具体实施方式。图10示出了本申请实施例提供的电子设备1000示意图。
电子设备1000可以包括处理器1010以及存储有计算机程序指令的存储器1020。
具体地,上述处理器1010可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器1020可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器1020可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器1020可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器1020可在综合网关容灾设备的内部或外部。在特定实施例中,存储器1020是非易失性固态存储器。
存储器可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本申请的一方面的方法所描述的操作。
处理器1010通过读取并执行存储器1020中存储的计算机程序指令,以实现上述实施例中的任意一种智能合约处理方法。
在一个示例中,电子设备1000还可包括通信接口1030和总线1040。其中,如图10所示,处理器1010、存储器1020、通信接口1030通过总线1040连接并完成相互间的通信。
通信接口1030,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线1040包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线1040可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
示例性的,电子设备1000可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等。
该电子设备可以执行本申请实施例中的智能合约处理方法,从而实现结合图1、图7至图9描述的智能合约处理方法和装置。
另外,结合上述实施例中的智能合约处理方法,本申请实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种智能合约处理方法。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本申请的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。

Claims (10)

1.一种智能合约处理方法,应用于共识节点,其特征在于,包括:
接收预执行节点发送的目标交易信息和第一默克尔帕特里夏树MPT读取记录,所述第一MPT读取记录为所述预执行节点基于所述目标交易信息读取第一MPT分支中多个第一MPT节点对应的键名的记录,其中,所述第一MPT分支为与所述目标交易信息对应的MPT分支;
基于所述目标交易信息,确定目标智能合约;
从与所述目标智能合约对应的MPT中,确定与所述目标交易信息对应的第二MPT分支,所述第二MPT分支包括多个具有父子关系的第二MPT节点;
在所述第一MPT分支与所述第二MPT分支相同的情况下,根据多个所述第一MPT节点对应的键名并行读取多个所述第二MPT节点对应的数据。
2.根据权利要求1所述的方法,其特征在于,所述第一MPT节点包括第一MPT根节点,所述第二MPT节点包括第二MPT根节点;
所述在所述第一MPT分支与所述第二MPT分支相同的情况下,根据多个所述第一MPT节点对应的键名并行读取多个所述第二MPT节点对应的数据,包括:
获取所述第一MPT分支中的第一MPT根节点和所述第二MPT分支中的第二MPT根节点;
确定所述第一MPT根节点与所述第二MPT根节点是否相同;
在所述第一MPT根节点与所述第二MPT根节点相同的情况下,根据多个所述第一MPT节点对应的键名并行读取多个所述第二MPT节点对应的数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述第一MPT根节点与所述第二MPT根节点不相同的情况下,读取所述第二MPT根节点对应的数据;
获取所述第一MPT根节点的第一MPT子节点和所述第二MPT根节点的第二MPT子节点;
确定所述第一MPT子节点与所述第二MPT子节点是否相同;
在所述第一MPT子节点与所述第二MPT子节点相同的情况下,根据多个所述第一MPT节点对应的键名并行读取多个目标第二MPT节点对应的数据,所述目标第二MPT节点为除所述第二MPT根节点之外的所述第二MPT节点。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述第一MPT子节点与所述第二MPT子节点不相同的情况下,返回执行读取所述第二MPT子节点对应的数据,直至多个所述第二MPT节点对应的数据均读取完成。
5.一种智能合约处理方法,应用于预执行节点,其特征在于,包括:
在接收到目标交易信息的情况下,基于所述目标交易信息,确定目标智能合约;
从与所述目标智能合约对应的默克尔帕特里夏树MPT中,确定与所述目标交易信息对应的第一MPT分支,所述第一MPT分支包括多个具有父子关系的第一MPT节点,所述第一MPT节点包括第一MPT根节点;
基于所述父子关系,以所述第一MPT根节点为起点,根据目标读取方向依次读取多个所述第一MPT节点对应的键名,所述目标读取方向包括由MPT父节点至MPT子节点的读取方向;
记录多个所述第一MPT节点对应的键名,得到第一MPT读取记录;
将所述第一MPT读取记录和所述目标交易信息发送至共识节点,以使所述共识节点基于所述第一MPT读取记录和所述目标交易信息并行读取多个所述第一MPT节点对应的数据。
6.一种智能合约处理装置,应用于共识节点,其特征在于,所述装置包括:
接收模块,用于接收预执行节点发送的目标交易信息和第一默克尔帕特里夏树MPT读取记录,所述第一MPT读取记录为所述预执行节点基于所述目标交易信息读取第一MPT分支中多个第一MPT节点对应的键名的记录,其中,所述第一MPT分支为与所述目标交易信息对应的MPT分支;
第一确定模块,用于基于所述目标交易信息,确定目标智能合约;
第二确定模块,用于从与所述目标智能合约对应的MPT中,确定与所述目标交易信息对应的第二MPT分支,所述第二MPT分支包括多个具有父子关系的第二MPT节点;
第一读取模块,用于在所述第一MPT分支与所述第二MPT分支相同的情况下,根据多个所述第一MPT节点对应的键名并行读取多个所述第二MPT节点对应的数据。
7.一种智能合约处理装置,应用于预执行节点,其特征在于,所述装置包括:
第三确定模块,用于在接收到目标交易信息的情况下,基于所述目标交易信息,确定目标智能合约;
第四确定模块,用于从与所述目标智能合约对应的默克尔帕特里夏树MPT中,确定与所述目标交易信息对应的第一MPT分支,所述第一MPT分支包括多个具有父子关系的第一MPT节点,所述第一MPT节点包括第一MPT根节点;
第二读取模块,用于基于所述父子关系,以所述第一MPT根节点为起点,根据目标读取方向依次读取多个所述第一MPT节点对应的键名,所述目标读取方向包括由MPT父节点至MPT子节点的读取方向;
第一记录模块,用于记录多个所述第一MPT节点对应的键名,得到第一MPT读取记录;
发送模块,用于将所述第一MPT读取记录和所述目标交易信息发送至共识节点,以使所述共识节点基于所述第一MPT读取记录和所述目标交易信息并行读取多个所述第一MPT节点对应的数据。
8.一种电子设备,其特征在于,所述电子设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-4或5任意一项所述的智能合约处理方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-4或5任意一项所述的智能合约处理方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如权利要求1-4或5任意一项所述的智能合约处理方法。
CN202310205935.2A 2023-03-06 2023-03-06 智能合约处理方法、装置、设备及计算机可读存储介质 Pending CN116383197A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310205935.2A CN116383197A (zh) 2023-03-06 2023-03-06 智能合约处理方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310205935.2A CN116383197A (zh) 2023-03-06 2023-03-06 智能合约处理方法、装置、设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN116383197A true CN116383197A (zh) 2023-07-04

Family

ID=86964716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310205935.2A Pending CN116383197A (zh) 2023-03-06 2023-03-06 智能合约处理方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN116383197A (zh)

Similar Documents

Publication Publication Date Title
CN108985934B (zh) 区块链修改方法和装置
CN105740405B (zh) 存储数据的方法和装置
CN112182036A (zh) 数据的发送与写入方法、装置、电子设备及可读存储介质
CN111666289A (zh) 数据的存储与查询方法、装置、电子设备及可读存储介质
CN116383197A (zh) 智能合约处理方法、装置、设备及计算机可读存储介质
CN111897826A (zh) 参数信息更新方法、装置、电子设备及可读存储介质
CN116069751A (zh) 信息处理方法、装置、设备及计算机可读存储介质
CN114372072A (zh) 数据存储方法、装置、设备、计算机存储介质及程序产品
CN114238359A (zh) 报表数据管理方法、装置、设备、介质及计算机程序产品
CN110782238B (zh) 异常资源转移组合识别方法、装置、设备及介质
CN114238500A (zh) 区块链交易的存储方法、装置、电子设备及可读存储介质
CN112711584A (zh) 一种数据检查方法、检查装置、终端设备及可读存储介质
CN113162728B (zh) 极化Polar编码方法、装置、电子设备和存储介质
CN111914128A (zh) 关联用户的确定方法、装置、电子设备及可读存储介质
CN113568894A (zh) 数据库的数据冗余处理方法、装置、电子设备及存储介质
CN115938022B (zh) 车辆实体钥匙安全认证方法及系统
CN114710450B (zh) 流量控制方法、装置、设备及计算机存储介质
CN117435640A (zh) 一种用于定位相似实例的方法、装置和电子设备
CN117992452A (zh) 数据分析方法、装置、设备、介质及产品
CN116962276A (zh) 车辆路由配置方法、装置、设备及介质
CN112181943A (zh) 特征数据的采集方法、装置、电子设备及可读存储介质
CN115878674A (zh) 一种数据处理方法、装置、设备及计算机存储介质
CN116932537A (zh) 车辆信息的查询方法、装置、设备、存储介质及车辆
CN114153887A (zh) 话单信息重复判断方法及装置
CN116433374A (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