CN112488836A - 交易发送方法、装置、电子设备及可读存储介质 - Google Patents
交易发送方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN112488836A CN112488836A CN202011379893.7A CN202011379893A CN112488836A CN 112488836 A CN112488836 A CN 112488836A CN 202011379893 A CN202011379893 A CN 202011379893A CN 112488836 A CN112488836 A CN 112488836A
- Authority
- CN
- China
- Prior art keywords
- transaction
- transactions
- blockchain network
- node
- type
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种交易发送方法、装置、电子设备及可读存储介质,旨在提高跨链信息交互的稳定性。其中,所述交易发送方法应用于第一区块链网络的任一节点,所述方法包括:获得第一区块链网络内的多个第一交易,每个第一交易具有顺序标识,每个第一交易的顺序标识表征该第一交易在第一区块链网络内的执行顺序;针对每个第一交易,判断该第一交易的交易类型是否为预设交易类型,在该第一交易是预设交易类型的情况下,根据该第一交易的交易类型,生成对应交易类型的第二交易;根据多个第二交易各自对应的第一交易的顺序标识,将多个第二交易逐个发送给第二区块链网络执行。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种交易发送方法、装置、电子设备及可读存储介质。
背景技术
区块链技术实现于区块链网络之上,区块链网络中的分布式节点设备(以下简称为节点)通过运行区块链程序,从而实现区块数据的生成和共识,最终实现了数据的防篡改机制,为业务开展提供了安全可信的技术新思路。
区块链技术可应用至多种业务场景,例如金融领域、电子商务领域、商品或原材料溯源领域、电子存证领域等,由于区块链技术实现了数据防篡改机制,因此利用区块链技术开展业务,能解决业务参与各方之间的信任危机。
相关技术中,随着区块链技术的发展和业务需求的不断丰富,产生了两个区块链网络之间进行跨链信息交互的需求。例如,第一区块链网络将自身已经执行的交易发送给第二区块链网络,使得第二区块链网络通过执行该交易,从而同步第一区块链网络的数据。或者使得第二区块链网络通过执行该交易,从而调整第二区块链网络内的数据状态。然而相关技术中,两个区块链网络之间进行跨链信息交互时,第二区块链网络经常会发生交易执行失败的情况,导致跨链信息交互的稳定性较差。
发明内容
本发明实施例的目的在于提供一种交易发送方法、装置、电子设备及可读存储介质,旨在提高跨链信息交互的稳定性。具体技术方案如下:
在本发明实施例的第一方面,提供一种交易发送方法,应用于第一区块链网络的任一节点,所述方法包括:
获得第一区块链网络内的多个第一交易,每个第一交易具有顺序标识,每个第一交易的顺序标识表征该第一交易在第一区块链网络内的执行顺序;
针对每个第一交易,判断该第一交易的交易类型是否为预设交易类型,在该第一交易是预设交易类型的情况下,根据该第一交易的交易类型,生成对应交易类型的第二交易;
根据多个第二交易各自对应的第一交易的顺序标识,将多个第二交易逐个发送给第二区块链网络执行。
在本发明实施例的第二方面,提供一种交易发送装置,应用于第一区块链网络的任一节点,所述装置包括:
第一交易获得模块,用于获得第一区块链网络内的多个第一交易,每个第一交易具有顺序标识,每个第一交易的顺序标识表征该第一交易在第一区块链网络内的执行顺序;
第二交易生成模块,用于针对每个第一交易,判断该第一交易的交易类型是否为预设交易类型,在该第一交易是预设交易类型的情况下,根据该第一交易的交易类型,生成对应交易类型的第二交易;
第二交易发送模块,用于根据多个第二交易各自对应的第一交易的顺序标识,将多个第二交易逐个发送给第二区块链网络执行。
在本发明实施例的第三方面,提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于在执行存储器上所存放的程序时,实现本发明任一实施例所提供的交易发送方法。
在本发明实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任一实施例所提供的交易发送方法。
本发明中,仅针对预设交易类型的第一交易生成相应的第二交易,再将生成的第二交易发送给第二区块链网络执行,而不是针对所有第一交易均会生成第二交易并发送给第二区块链网络执行。如此,使得第一区块链网络和第二区块链网络两者之间维持了各自的独特性。
本发明中,并不是直接将第一交易发送给第二区块链网络执行,而是根据第一交易的交易类型,生成相应交易类型的第二交易。相比于第一交易,由于第二交易是专门为第二区块链网络生成的,可以更适应第二区块链网络的交易执行环境,因此本发明有利于提升第二区块链网络对交易的执行成功率,从而提高跨链信息交互的稳定性。
此外本发明中,在将第二交易发送给第二区块链网络执行时,会根据多个第二交易各自对应的第一交易的顺序标识,依次将多个第二交易逐个发送给第二区块链网络执行。如此,使得多个第二交易在第二区块链网络内的执行顺序,等于相应多个第一交易在第一区块链网络内的执行顺序。因此本发明可以防止多个第二交易的执行顺序发生错乱,从而避免因交易执行顺序不符合业务逻辑而导致的交易执行失败。进而,本发明可以提高跨链信息交互的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,以下描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1(a)是本发明一实施例提出的交易发送方法的第一阶段的示意图;
图1(b)是本发明一实施例提出的交易发送方法的第二阶段的示意图;
图1(c)是本发明一实施例提出的交易发送方法的第三阶段的示意图;
图2是本发明一实施例提出的交易发送方法的流程图;
图3是本发明一实施例提出的交易发送装置的示意图;
图4是本发明一实施例提出的电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,随着区块链技术的发展和业务需求的不断丰富,产生了两个区块链网络之间进行跨链信息交互的需求。例如,第一区块链网络将自身已经执行的交易发送给第二区块链网络,使得第二区块链网络通过执行该交易,从而同步第一区块链网络的数据。或者使得第二区块链网络通过执行该交易,从而调整第二区块链网络内的数据状态。然而相关技术中,两个区块链网络之间进行跨链信息交互时,第二区块链网络经常会发生交易执行失败的情况,导致跨链信息交互的稳定性较差。
有鉴于此,本发明通过以下实施例提出交易发送方法、装置、电子设备及可读存储介质,旨在提高跨链信息交互的稳定性。
参考图1(a),图1(a)是本发明一实施例提出的交易发送方法的第一阶段的示意图,该交易发送方法应用于整个第一区块链网络。如图1(a)所示,第一区块链网络包括多个节点,多个节点中具有一个排序节点。该排序节点可以是预先指定的,或者也可以是定期从多个节点中自动选举出的。
需要提前说明的是,为简化附图,凡是每个节点均需要参与的步骤,在图1中仅示意性地示出了一个或几个节点参与该步骤,而没有完整地示出所有节点均参与该步骤。
如图1(a)所示,当第一区块链网络内的任一节点从第一区块链网络之外接收到交易后,会将接收的交易提交给第一区块链网络的排序节点。
其中,交易可能来自于用户端,也可能来自于用户端与第一区块链网络之间的中间件系统,还可能来自于其他区块链网络。本发明对于节点具体从何处接收到交易,不做限定。
其中,每个交易具有交易ID。可选地,在一些具体实施方式中,交易ID的前N位是根据交易的生成时间而确定的,交易ID的剩余M位是根据交易体而确定的。为便于理解,示例地,假设某一交易的生成时间为2020年11月25日10点52分07秒,通过对该生成时间进行hash计算,得到该生成时间的hash值,然后取出该hash值的前16位,作为该交易的交易ID的前16位。接着再对该交易的交易体进行hash计算,得到该交易体的hash值,然后取该hash值的前24位,作为该交易的交易ID的剩余24位。如此,组成总长度等于40位的交易ID。
如图1(a)所示,排序节点对一段时间内其他节点提交的交易进行排序和打包,从而生成交易包,该交易包中包括经过排序后的一个或多个交易。此外,排序节点还为交易包赋予一个高度值。当各节点后续针对该交易包生成对应的区块后,该区块的区块高度被设置为该交易包的高度值。
可选地,在一些具体实施方式中,排序节点针对一段时间内接收的多个交易进行排序时,具体按照以下方式进行排序:针对一段时间内接收到的多个交易,根据这些交易各自的交易ID,按照交易ID从小到大的顺序,依次排列这些交易。
为便于理解,示例地,假设排序节点每隔10秒钟,会对过去10秒钟以内接收的交易进行排序和打包。又假设排序节点在当前时刻恰好需要对过去10秒钟内接收到的交易进行排序和打包,而过去10秒钟接收到三个交易,这三个交易的交易ID依次为:00000176fa…3f850、0000017507…a86e1以及0000017c3a…d17c7。在排序时,由于这三个交易ID的前七位均为“0000017”,因此继续从第八位接着进行比较。由于这三个交易ID的第八位分别为“6”、“5”以及“c”,各自对应的ASCII码分别为54、53以及99,因此各交易ID从小到大的顺序为:0000017507…a86e1、00000176fa…3f850以及0000017c3a…d17c7。排序节点按照上述从小到大的顺序,对上述三个交易进行排序,从而生成包含上述三个交易的交易包。
对于排序节点连续生成的多个交易包,多个交易包各自被赋予的高度值是连续的。为便于理解,示例地,假设排序节点在第一时刻生成了一个交易包,该交易包被赋予的高度值等于1008,则该交易包将来被各节点处理以生成相应区块后,区块的区块高度应该被节点设置为1008。排序节点在第二时刻生成了另一个交易包,该交易包被赋予的高度值应该等于1009,则该交易包将来被各节点处理以生成相应区块后,区块的区块高度应该被节点设置为1009。
以此类推,对于排序节点连续生成的多个交易包,多个交易包各自被赋予的高度值是连续的。且一个交易包被赋予的高度值,等于各节点将来为该交易包生成的区块的区块高度。可见,为了确保区块链的各个区块的区块高度是连续的,第一区块链网络的各节点在处理交易包时,会根据交易包的高度值,从低到高依次处理各个交易包。
如图1(a)所示,排序节点在每生成一个交易包后,会将该交易包分发给区块链网络内的每个节点(包括排序节点自身)。
如图1(a)所示,每个节点接收到排序节点分发的交易包之后,一方面可以对接收到的交易包进行存储。另一方面,从存储的若干交易包(也即陆续接收到的多个交易包)中获取高度值最小的交易包,并处理该交易包。
参考图1(b),图1(b)是本发明一实施例提出的交易发送方法的第二阶段的示意图。如图1(b)所示,第一区块链网络的任一节点在处理交易包时,会按照交易包中各个交易的顺序,逐个从交易包中读取交易。节点针对读取到的交易,会执行该交易,并将该交易和该交易的执行结果作为正在生成的区块的区块数据,从而写入账本数据库。
为便于理解,示例地,假设节点当前处理的交易包的高度值等于1008,节点从该交易包中读取出一个交易后,执行该交易。然后节点将该交易和该交易的执行结果作为正在生成的区块的区块数据,从而写入账本数据库。其中,所述正在生成的区块的区块高度等于1008。
如图1(b)所示,节点针对读取出的交易执行成功后,会判断该交易的交易类型是否属于预设交易类型。如果该交易的交易类型属于预设交易类型,则节点会根据该交易的交易类型,生成对应交易类型的新交易。
具体实现时,示例地,节点中预设有若干个交易类型转换关系,每个交易类型转换关系中包含:预设交易类型、该预设交易需要转换成的目标交易类型、以及目标交易类型的交易格式。当节点针对读取出的交易执行成功后,节点从该交易中读取该交易携带的交易类型标识,并根据该交易类型标识确定该交易的交易类型。如果该交易的交易类型属于某种预设交易类型,则节点根据该种预设交易类型对应的交易类型转换关系,生成属于目标交易类型的新交易。
在一些实际应用场景中,示例地,第一区块链网络可以是一个专属网络,其内部可执行一些对外保密的交易。与第一区块链网络进行跨链信息交互的第二区块链网络可以是一个联盟链网络,第二区块链网络可以对第一区块链网络实施管控。假设第一区块链网络的节点成功执行某一交易后,检测到该交易的交易类型为set_chain交易(区块链设置交易),而该交易的交易类型属于预设交易类型。则节点根据相应的交易类型转换关系,生成set_pn交易(专属网络设置交易)。其中,第一区块链网络通过执行set_chain交易,从而对第一区块链网络进行系统级设置(例如切换共识策略、调整背书节点等)。而第二区块链网络需要通过执行set_pn交易,从而对第一区块链网络的系统级设置进行记录和跟进。
此外,节点在根据交易生成新交易之后,还可以通过以下方式为新交易生成交易ID,并将生成的交易ID填充至新交易的预设字段处。具体地,节点从交易的交易ID中提取前N位,作为新交易的交易ID的前N位。然后节点对新交易的交易体进行hash计算,得到该交易体的hash值,然后取该hash值的前M位,作为新交易的交易ID的剩余M位。如此,节点为新交易生成了总长度等于N+M的交易ID。
如图1(b)所示,节点在生成新交易之后,将新交易写入非账本数据库。在非账本数据库中,每个新交易与相应的高度值关联。其中,高度值作为关键字key,新交易作为值value。具体实现时,如图1(b)所示,可以将同一高度值下的多个新交易的json数据总体作为值value。
为便于理解,示例地,假设节点当前处理的交易包的高度值等于1008,节点针对该交易包中的一个交易生成新交易后,则在非账本数据库中关键字key等于1008的条目下,写入该新交易。然后将该新交易的状态初始化为wait状态,表示该新交易等待被发送给第二区块链网络。当该交易包处理完后,非账本数据库中关键字key等于1008的条目下,可能会具有多个新交易。
本发明中,通过利用非账本数据库存储新交易,其有益效果在于:这些新交易是需要发送给第二区块链网络执行的交易,如下文所述,为了按照一定的顺序将这些新交易发送给第二区块链网络,在发送期间,可能需要对这些新交易的状态进行变更,在发送完成且确定第二区块链网络已经执行完新交易后,还可能删除这些新交易。因此为了更方便地变更新交易的状态和删除新交易,选用非账本数据库对这些新交易进行临时性的存储。
考虑到第一区块链网络的每个节点均会执行上文所述的各步骤,因此第一区块链网络内的每个节点均在其非账本数据库中记录了多个新交易。为了不重复地将新交易发送给第二区块链网络,第一区块链网络的每个节点可以周期性地判断自身是否为指定节点,如果自身是指定节点,则节点才将记录的新交易发送给第二区块链网络执行。如果自身不是指定节点,则节点不会将记录的新交易发送给第二区块链网络执行。
其中,指定节点具有高可用性。具体地,指定节点是从第一区块链网络的多个节点中选举出的节点,并且当指定节点发生故障后,第一区块链网络会重新选举新的指定节点。
可选地,在一些具体实施方式中,可以通过以下方式选举指定节点:第一区块链网络内的任一节点会周期性地(例如每隔60秒)检测第一区块链网络中是否存在指定节点。如果不存在,或者现有指定节点因发生故障而下线,则该节点参与指定节点选举,从而生成竞选提议(以下简称为proposal),该proposal中包含该节点的节点ID。该节点将生成的proposal广播至第一区块链网络中,并在预设时间长度(例如5秒)内,收集其他节点各自广播的proposal。该节点根据每个proposal中包含的节点ID,判断自身的节点ID是否为所有proposal包含的节点ID中最小的节点ID。如果该节点的节点ID是所有proposal包含的节点ID中最小的节点ID,则该节点生成指定节点宣言(以下简称为declaration),并周期性地(例如每隔5秒)将该declaration广播至第一区块链网络,以声明自己为新的指定节点,该declaration中包括该节点的节点ID。此外,如果该节点接收到其他节点广播的declaration,且其他节点广播的declaration中的节点ID小于该节点的节点ID,则该节点自动放弃指定节点身份。
需要说明的是,本发明在具体实现时,对于如何选举指定节点,并不限定于上述具体实施方式。除上述具体实施方式以外,本领域技术人员也可采用其熟知的其他技术方案。
参考图1(c),图1(c)是本发明一实施例提出的交易发送方法的第三阶段的示意图。如图1(c)所示,当某一节点在某一周期,确定其自身为指定节点后。该节点遍历其非账本数据库中记录的各个高度值,从各个高度值中确定最小高度值。然后节点遍历最小高度值条目下的各个新交易,从而根据各个新交易的交易ID,将交易ID最小的新交易率先发送给第二区块链网络。当节点将交易ID最小的新交易发送给第二区块链网络之后,节点将该新交易的状态标记为sent状态,表示该新交易已经被发送给第二区块链网络。
此外,如图1(c)所示,节点还不断地同步第二区块链网络生成的区块。第二区块链网络生成的区块中记录有第二区块链网络已经执行过的交易,其中包括第一区块链网络的指定节点预先发送给第二区块链网络的新交易。节点从同步到的区块中读取交易,并针对读取到的每个交易,判断该交易的交易ID是否等于非账本数据库中状态为sent的新交易的交易ID。若是,则节点确定第二区块链网络已经执行完该新交易,接着节点将该新交易删除。
节点在删除新交易之后,再次遍历其非账本数据库中记录的各个高度值,从各个高度值中确定最小高度值。然后节点遍历最小高度值条目下的各个新交易,从而根据各个新交易的交易ID,将交易ID最小的新交易率先发送给第二区块链网络。当节点将交易ID最小的新交易发送给第二区块链网络之后,节点将该新交易的状态标记为sent状态,表示该新交易已经被发送给第二区块链网络。
需要说明的是,本发明中,节点根据交易ID对新交易进行排序的逻辑(也即根据交易ID确定先将哪个新交易发送给第二区块链网络的逻辑),应当与排序节点根据交易ID对交易进行排序的逻辑一致。如此,使得节点向第二区块链网络发送新交易的顺序,与第一区块链网络执行相应交易的顺序一致。
还需要说明的是,当某一高度值条目下的各个新交易被陆续删除完后,节点会将该高度值的关键字key删除。如此,节点后续不会再遍历到该高度值。
本发明中,由于高度值越小,该高度值对应的交易包中的交易越先被第一区块链网络执行。而同一个交易包的多个交易中,交易ID越小的交易相比于其他交易更先被第一区块链网络执行。因此每次发送新交易时,首先确定最小高度值,然后从最小高度值的条目下将交易ID最小的新交易发送给第二区块链网络。如此,使得新交易的发送顺序与对应交易在第一区块链网络内的执行顺序一致。可以防止多个新交易的执行顺序发生错乱,从而避免因新交易执行顺序不符合业务逻辑而导致第二区块链网络对新交易执行失败,进而能提高跨链信息交互的稳定性。
本发明中,首先从多个高度值中确定最小高度值,从而缩小遍历范围,然后再在最小高度值的条目下,小范围地遍历各个新交易。如此,可以提高新交易的发送效率。
本发明中,节点在确定sent状态的新交易已经被第二区块链网络执行后,才会将下一个新交易发送给第二区块链网络执行。如此,强制确保了多个新交易按照顺序被第二区块链网络执行,可以杜绝因新交易执行顺序不符合业务逻辑而导致第二区块链网络对新交易执行失败,进而能提高跨链信息交互的稳定性。
此外,节点在删除新交易之后,还可以向第一区块链网络的各节点发送提示信息,该提示信息中包含已经删除的新交易的交易ID,从而向各节点提示该新交易已经被第二区块链网络执行。每个节点接收到该提示信息后,从提示信息中读取交易ID,然后以提取出的交易ID为索引,从非账本数据库中查找该交易ID对应的新交易,最终将查找出的新交易删除。
需要说明的是,如前所述,由于第一区块链网络的每个节点在为新交易生成节点ID时,首先从原始交易的交易ID中提取前N位,作为新交易的交易ID的前N位,因此每个节点为新交易生成的交易ID的前N位相同。又由于每个节点根据原始交易会生成相同的新交易,且每个节点对新交易的交易体进行hash计算,得到交易体的hash值,并取该hash值的前M位作为新交易的交易ID的其余M位,因此每个节点为新交易生成的交易ID的其余M位也相同。如此,每个节点针对同一个新交易会生成相同的交易ID。进而,每个节点在接收到指定节点发送的提示信息后,可以以提示信息中包含的交易ID,准确查找到相应的新交易,并删除。
还需要说明的是,指定节点在删除一个新交易后,通过向各节点发送提示信息,以使得各节点同步删除该新交易。当第一区块链网络重新选举新的指定节点后,新指定节点不会将旧指定节点已经发送且删除的新交易再次发送给第二区块链网络。如此,可以防止新交易的重复发送。
本发明中,节点仅针对预设交易类型的交易生成相应的新交易,再将生成的新交易发送给第二区块链网络执行。如此,使得第一区块链网络和第二区块链网络两者之间维持了各自的独特性。
本发明中,并不是直接将第一交易发送给第二区块链网络执行,而是根据第一交易的交易类型,生成相应交易类型的第二交易。相比于第一交易,由于第二交易是专门为第二区块链网络生成的,可以更适应第二区块链网络的交易执行环境,因此本发明有利于提升第二区块链网络对交易的执行成功率,从而提高跨链信息交互的稳定性。
以上,本发明通过较佳实施例提出了一些交易发送方法。以下,本发明通过另一些实施例提出另一些交易发送方法。需要说明的是,以下实施例可以与以上实施例相互参照。
参考图2,图2是本发明一实施例提出的交易发送方法的流程图,该交易发送方法应用于第一区块链网络的任一节点。如图2所示,该交易发送方法包括以下步骤:
步骤S21:获得第一区块链网络内的多个第一交易,每个第一交易具有顺序标识,每个第一交易的顺序标识表征该第一交易在第一区块链网络内的执行顺序。
步骤S22:针对每个第一交易,判断该第一交易的交易类型是否为预设交易类型,在该第一交易是预设交易类型的情况下,根据该第一交易的交易类型,生成对应交易类型的第二交易。
步骤S23:根据多个第二交易各自对应的第一交易的顺序标识,将多个第二交易逐个发送给第二区块链网络执行。
本发明中,仅针对预设交易类型的第一交易生成相应的第二交易,再将生成的第二交易发送给第二区块链网络执行。如此,使得第一区块链网络和第二区块链网络两者之间维持了各自的独特性。
本发明中,并不是直接将第一交易发送给第二区块链网络执行,而是根据第一交易的交易类型,生成相应交易类型的第二交易。相比于第一交易,由于第二交易是专门为第二区块链网络生成的,可以更适应第二区块链网络的交易执行环境,因此本发明有利于提升第二区块链网络对交易的执行成功率,从而提高跨链信息交互的稳定性。
此外本发明中,在将第二交易发送给第二区块链网络执行时,会根据多个第二交易各自对应的第一交易的顺序标识,依次将多个第二交易逐个发送给第二区块链网络执行。如此,使得多个第二交易在第二区块链网络内的执行顺序,等于相应多个第一交易在第一区块链网络内的执行顺序。因此本发明可以防止多个第二交易的执行顺序发生错乱,从而避免因交易执行顺序不符合业务逻辑而导致的交易执行失败。进而,本发明可以提高跨链信息交互的稳定性。
可选地,在一些具体实施方式中,第一交易对应于上述较佳实施例中的交易,第二交易对应于上述较佳实施例中的新交易。
可选地,在一些具体实施方式中,上述步骤S23具体可以包括以下子步骤:
子步骤S23-1:针对每个第二交易,根据该第二交易对应的第一交易的顺序标识,生成该第二交易的顺序标识,并将生成的顺序标识填充至该第二交易。
子步骤S23-2:遍历多个第二交易,根据多个第二交易各自的顺序标识,将多个第二交易逐个发送给第二区块链网络执行。
参考前述较佳实施例,其中,第一交易的顺序标识具体可以是第一交易的交易ID,以下将第一交易的交易ID简称为第一交易ID。第一交易的第一交易ID越小,则该第一交易越先被执行。
在上述子步骤23-1中,为了为每个第二交易生成相应的顺序标识,参考前述较佳实施例,可以针对每个第二交易,将该第二交易对应的第一交易的第一交易ID的前N位,作为该第二交易的交易ID的前N位;根据该第二交易的交易体,生成该第二交易的交易ID的其余M位,从而为该第二交易生成交易ID。然后将第二交易的交易ID作为该第二交易的顺序标识,并填充至该第二交易。以下将第二交易的交易ID简称为第二交易ID。
需要说明的是,由于第二交易ID的前N位等于相应第一交易ID的前N位,且第一交易ID越小的第一交易越先被第一区块链网络执行。因此在上述子步骤S23-2中,为了根据多个第二交易各自的顺序标识,将多个第二交易逐个发送给第二区块链网络执行,参考前述较佳实施例,可以遍历多个第二交易各自的第二交易ID,从多个第二交易ID中确定最小的第二交易ID,并将最小的第二交易ID对应的第二交易率先发送给第二区块链网络执行。如此,多个第二交易在第二区块链网络内的执行顺序,与相应多个第一交易在第一区块链网络内的执行顺序一致。
本发明中,通过以交易ID兼作为顺序标识,可以减小交易的数据长度,从而可以降低交易传输期间对网络带宽的消耗。
可选地,在另一些具体实施方式中,第一交易中可以包含专门的顺序标识,该顺序标识可以形如“47564”,是一个表示交易执行顺序的数字。排序节点在对第一交易进行排序时,为每个第一交易分别生成一个顺序标识,并将生成的顺序标识填充至第一交易中。节点在根据第一交易生成第二交易后,可以将第一交易的顺序标识直接赋予第二交易。当节点在执行上述步骤S23时,可以遍历每个第二交易的顺序标识,并将顺序标识最小的第二交易率先发送给第二区块链网络执行。
如前所述,由于第一区块链网络的每个节点均会执行步骤S21和步骤S22,因此第一区块链网络的每个节点均会生成多个第二交易。为了避免多个节点重复地将第二交易发送给第二区块链网络执行,可选地,在一些具体实施方式中,上述步骤S23具体可以包括以下子步骤:
子步骤S23-A:周期性地判断节点自身是否为指定节点。
子步骤S23-B:在节点自身是指定节点的情况下,根据多个第二交易各自对应的第一交易的顺序标识,将多个第二交易逐个发送给第二区块链网络执行。
本发明中,通过限定仅指定节点才能将第二交易发送给第二区块链网络执行,可以避免多个节点针对同一个第二交易重复发送。
如前所述,指定节点具有高可用性。具体地,指定节点是从第一区块链网络的多个节点中选举出的节点,并且当指定节点发生故障后,第一区块链网络会重新选举新的指定节点。如此,可以确保第一区块链网络内总是存在可用的指定节点,从而避免因不存在可用的指定节点而导致第二交易无法发送至第二区块链网络的情况发生。
可选地,在一些具体实施方式中,指定节点在执行上述子步骤S23-B时,具体地,当指定节点接收到第二区块链网络返回的交易执行记录后,确定该交易执行记录所记录的第二交易;针对确定出的第二交易将该第二交易的下一个第二交易发送给第二区块链网络执行。
具体实现时,每个节点会不断地同步第二区块链网络生成的区块,第二区块链网络生成的区块中具有多条交易执行记录。每条交易执行记录中记录有第二区块链网络已经执行过的一个交易和该交易的执行结果。节点针对同步到的区块,从区块中逐条读取交易执行记录。节点针对读取到的每条交易执行记录,判断该条交易执行记录中记录的交易的交易ID,是否为节点预先生成的一个第二交易的交易ID。若是,则节点将该第二交易删除,并将该第二交易的下一个第二交易发送给区块链网络执行。
可选地,在一些具体实施方式中,如前所述,节点在确定出交易执行记录中记录的第二交易后,向第一区块链网络的各节点发送提示信息,以向各节点提示该第二交易已经被第二区块链网络执行。如此,使得各节点将本地存储的相应第二交易删除。
可选地,在一些具体实施方式中,节点在执行上述步骤S21时,具体地,如前所述,节点接收第一区块链网络的排序节点发送的交易包,并从该交易包中读取第一交易,从而陆续获得多个第一交易。其中,该交易包具有高度值,针对该交易包生成的区块的区块高度等于该交易包的高度值。
节点在根据第一交易的交易类型生成对应交易类型的第二交易后,将该第二交易与该第一交易所属的交易包的高度值关联。具体实现时,可参考前述较佳实施例,节点在非账本数据库中相应高度值条目下,添加该第二交易。
节点在执行上述步骤S23时,具体地,可以针对多个第二交易,确定关联的高度值最小的一组第二交易,然后遍历该组第二交易中的每个第二交易,根据每个第二交易对应的第一交易的顺序标识,将该组第二交易中的每个第二交易逐个发送给第二区块链网络执行。其中,高度值最小的一组第二交易,也即是最小高度值条目下的一个或多个第二交易。
可选地,在一些具体实施方式中,参考前述较佳实施例,在针对每个第一交易,判断该第一交易的交易类型是否为预设交易类型之前,节点会首先执行该第一交易。
节点在针对每个第一交易,判断该第一交易的交易类型是否为预设交易类型时,会首先判断该第一交易是否执行成功,在该第一交易执行成功的情况下,才会判断该第一交易的交易类型是否为预设交易类型。如此,在第一交易执行失败的情况下,节点可以及时终止后续流程,从而不会无意义地生成第二交易,再将第二交易无意义地发送给第二区块链执行。
基于同一发明构思,本发明实施例还提供一种交易发送装置。参考图3,图3是本发明一实施例提出的交易发送装置的示意图,该交易发送装置应用于第一区块链网络的任一节点。如图3所示,该交易发送装置包括:
第一交易获得模块31,用于获得第一区块链网络内的多个第一交易,每个第一交易具有顺序标识,每个第一交易的顺序标识表征该第一交易在第一区块链网络内的执行顺序;
第二交易生成模块32,用于针对每个第一交易,判断该第一交易的交易类型是否为预设交易类型,在该第一交易是预设交易类型的情况下,根据该第一交易的交易类型,生成对应交易类型的第二交易;
第二交易发送模块33,用于根据多个第二交易各自对应的第一交易的顺序标识,将多个第二交易逐个发送给第二区块链网络执行。
可选地,在一些具体实施方式中,所述第二交易发送模块包括:
顺序标识生成单元,用于针对每个第二交易,根据该第二交易对应的第一交易的顺序标识,生成该第二交易的顺序标识,并将生成的顺序标识填充至该第二交易;
第二交易发送单元,用于遍历多个第二交易,根据多个第二交易各自的顺序标识,将多个第二交易逐个发送给第二区块链网络执行。
可选地,在一些具体实施方式中,每个第一交易的顺序标识为该第一交易的第一交易ID,第一交易的第一交易ID越小,则该第一交易越先被执行;
所述顺序标识生成单元具体用于:针对每个第二交易,将该第二交易对应的第一交易的第一交易ID的前N位,作为该第二交易的第二交易ID的前N位;根据该第二交易的交易体,生成该第二交易的第二交易ID的其余M位,从而为该第二交易生成第二交易ID;将该第二交易ID作为该第二交易的顺序标识,并填充至该第二交易。
可选地,在一些具体实施方式中,所述第二交易发送模块包括:
判断单元,用于周期性地判断节点自身是否为指定节点;
第二交易发送单元,用于在节点自身是指定节点的情况下,根据多个第二交易各自对应的第一交易的顺序标识,将多个第二交易逐个发送给第二区块链网络执行。
可选地,在一些具体实施方式中,所述第二交易发送单元具体用于:在节点自身是指定节点的情况下,当接收到第二区块链网络返回的交易执行记录后,确定该交易执行记录所记录的第二交易;针对确定出的第二交易,将该第二交易的下一个第二交易发送给第二区块链网络执行;
所述第二交易发送模块还包括:
第二交易删除单元,用于删除确定出的第二交易;
提示信息发送单元,用于针对确定出的第二交易,向第一区块链网络的各节点发送提示信息,以向各节点提示该第二交易已经被第二区块链网络执行,使得各节点删除该第二交易。
可选地,在一些具体实施方式中,所述第一交易获得模块具体用于:接收所述第一区块链网络的排序节点发送的交易包,并从该交易包中读取第一交易;其中,该交易包具有高度值,针对该交易包生成的区块的区块高度等于该交易包的高度值;
所述装置还包括:高度值关联模块,用于将该第二交易与该第一交易所属的交易包的高度值关联;
所述第二交易发送模块具体用于:针对多个第二交易,确定关联的高度值最小的一组第二交易;遍历该组第二交易中的每个第二交易,根据每个第二交易对应的第一交易的顺序标识,将该组第二交易中的每个第二交易逐个发送给第二区块链网络执行。
可选地,在一些具体实施方式中,所述装置还包括:第一交易执行模块,用于在针对每个第一交易,判断该第一交易的交易类型是否为预设交易类型之前,针对每个第一交易,执行该第一交易;
所述第二交易生成模块具体用于:针对每个第一交易,在该第一交易执行成功的情况下,判断该第一交易的交易类型是否为预设交易类型。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
基于同一发明构思,本发明实施例还提供了一种电子设备,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。
所述存储器403,用于存放计算机程序;
所述处理器401,用于在执行存储器403上所存放的程序时,实现如下步骤:
获得第一区块链网络内的多个第一交易,每个第一交易具有顺序标识,每个第一交易的顺序标识表征该第一交易在第一区块链网络内的执行顺序;
针对每个第一交易,判断该第一交易的交易类型是否为预设交易类型,在该第一交易是预设交易类型的情况下,根据该第一交易的交易类型,生成对应交易类型的第二交易;
根据多个第二交易各自对应的第一交易的顺序标识,将多个第二交易逐个发送给第二区块链网络执行。
或者,处理器401用于在执行存储器403上所存放的程序时,实现本发明以上其他方法实施例所提供的交易发送方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的交易发送方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种交易发送方法,其特征在于,应用于第一区块链网络的任一节点,所述方法包括:
获得第一区块链网络内的多个第一交易,每个第一交易具有顺序标识,每个第一交易的顺序标识表征该第一交易在第一区块链网络内的执行顺序;
针对每个第一交易,判断该第一交易的交易类型是否为预设交易类型,在该第一交易是预设交易类型的情况下,根据该第一交易的交易类型,生成对应交易类型的第二交易;
根据多个第二交易各自对应的第一交易的顺序标识,将多个第二交易逐个发送给第二区块链网络执行。
2.根据权利要求1所述的方法,其特征在于,所述根据多个第二交易各自对应的第一交易的顺序标识,将多个第二交易逐个发送给第二区块链网络执行,包括:
针对每个第二交易,根据该第二交易对应的第一交易的顺序标识,生成该第二交易的顺序标识,并将生成的顺序标识填充至该第二交易;
遍历多个第二交易,根据多个第二交易各自的顺序标识,将多个第二交易逐个发送给第二区块链网络执行。
3.根据权利要求2所述的方法,其特征在于,每个第一交易的顺序标识为该第一交易的第一交易ID,第一交易的第一交易ID越小,则该第一交易越先被执行;所述针对每个第二交易,根据该第二交易对应的第一交易的顺序标识,生成该第二交易的顺序标识,并将生成的顺序标识填充至该第二交易,包括:
针对每个第二交易,将该第二交易对应的第一交易的第一交易ID的前N位,作为该第二交易的第二交易ID的前N位;根据该第二交易的交易体,生成该第二交易的第二交易ID的其余M位,从而为该第二交易生成第二交易ID;将该第二交易ID作为该第二交易的顺序标识,并填充至该第二交易。
4.根据权利要求1所述的方法,其特征在于,所述根据多个第二交易各自对应的第一交易的顺序标识,将多个第二交易逐个发送给第二区块链网络执行,包括:
周期性地判断节点自身是否为指定节点;
在节点自身是指定节点的情况下,根据多个第二交易各自对应的第一交易的顺序标识,将多个第二交易逐个发送给第二区块链网络执行。
5.根据权利要求4所述的方法,其特征在于,所述在节点自身是指定节点的情况下,根据多个第二交易各自对应的第一交易的顺序标识,将多个第二交易逐个发送给第二区块链网络执行,包括:
在节点自身是指定节点的情况下,当接收到第二区块链网络返回的交易执行记录后,确定该交易执行记录所记录的第二交易;
针对确定出的第二交易,将该第二交易的下一个第二交易发送给第二区块链网络执行;
所述方法还包括:
删除确定出的第二交易;
针对确定出的第二交易,向第一区块链网络的各节点发送提示信息,以向各节点提示该第二交易已经被第二区块链网络执行,使得各节点删除该第二交易。
6.根据权利要求1所述的方法,其特征在于,所述获得第一区块链网络内的多个第一交易,包括:接收所述第一区块链网络的排序节点发送的交易包,并从该交易包中读取第一交易;其中,该交易包具有高度值,针对该交易包生成的区块的区块高度等于该交易包的高度值;
在根据该第一交易的交易类型,生成对应交易类型的第二交易之后,所述方法还包括:将该第二交易与该第一交易所属的交易包的高度值关联;
所述根据多个第二交易各自对应的第一交易的顺序标识,将多个第二交易逐个发送给第二区块链网络执行,包括:针对多个第二交易,确定关联的高度值最小的一组第二交易;遍历该组第二交易中的每个第二交易,根据每个第二交易对应的第一交易的顺序标识,将该组第二交易中的每个第二交易逐个发送给第二区块链网络执行。
7.根据权利要求1至6任一所述的方法,其特征在于,在针对每个第一交易,判断该第一交易的交易类型是否为预设交易类型之前,所述还包括:针对每个第一交易,执行该第一交易;
所述针对每个第一交易,判断该第一交易的交易类型是否为预设交易类型,包括:针对每个第一交易,在该第一交易执行成功的情况下,判断该第一交易的交易类型是否为预设交易类型。
8.一种交易发送装置,其特征在于,应用于第一区块链网络的任一节点,所述装置包括:
第一交易获得模块,用于获得第一区块链网络内的多个第一交易,每个第一交易具有顺序标识,每个第一交易的顺序标识表征该第一交易在第一区块链网络内的执行顺序;
第二交易生成模块,用于针对每个第一交易,判断该第一交易的交易类型是否为预设交易类型,在该第一交易是预设交易类型的情况下,根据该第一交易的交易类型,生成对应交易类型的第二交易;
第二交易发送模块,用于根据多个第二交易各自对应的第一交易的顺序标识,将多个第二交易逐个发送给第二区块链网络执行。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于在执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现权利要求1-7任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011379893.7A CN112488836B (zh) | 2020-11-30 | 2020-11-30 | 交易发送方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011379893.7A CN112488836B (zh) | 2020-11-30 | 2020-11-30 | 交易发送方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112488836A true CN112488836A (zh) | 2021-03-12 |
CN112488836B CN112488836B (zh) | 2023-06-02 |
Family
ID=74938450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011379893.7A Active CN112488836B (zh) | 2020-11-30 | 2020-11-30 | 交易发送方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112488836B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108734574A (zh) * | 2017-04-19 | 2018-11-02 | 中思博安科技(北京)有限公司 | 一种区块链的跨链操作方法及区块链管理系统 |
CN108830599A (zh) * | 2018-06-19 | 2018-11-16 | 众安信息技术服务有限公司 | 处理区块链中的交易的方法、系统及装置 |
US20190034465A1 (en) * | 2017-07-28 | 2019-01-31 | Hitachi, Ltd. | Blockchain logging of data from multiple systems |
US20190236598A1 (en) * | 2018-01-31 | 2019-08-01 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing machine learning models for smart contracts using distributed ledger technologies in a cloud based computing environment |
CN110135985A (zh) * | 2019-04-04 | 2019-08-16 | 杭州抖音科技有限公司 | 一种区块链上交易的并行执行方法及系统 |
CN110264192A (zh) * | 2019-05-20 | 2019-09-20 | 阿里巴巴集团控股有限公司 | 基于交易类型的收据存储方法和节点 |
CN110582793A (zh) * | 2017-04-18 | 2019-12-17 | 电信区块链联盟软件公司 | 分布式交易共识网络上数字财产交易的匿名性和可追踪性 |
CN110992178A (zh) * | 2019-10-30 | 2020-04-10 | 链农(深圳)信息科技有限公司 | 区块链节点的验证方法、装置、计算机设备及存储介质 |
CN111464633A (zh) * | 2020-03-31 | 2020-07-28 | 成都质数斯达克科技有限公司 | 用于区块链的交易信息的共识方法及系统 |
CN111694852A (zh) * | 2020-05-28 | 2020-09-22 | 平安科技(深圳)有限公司 | 基于分布式事务的数据处理方法、装置、终端及存储介质 |
CN111861754A (zh) * | 2020-07-30 | 2020-10-30 | 杭州复杂美科技有限公司 | 交易打包方法、设备和存储介质 |
CN111858773A (zh) * | 2020-07-30 | 2020-10-30 | 杭州复杂美科技有限公司 | 交易打包方法、设备和存储介质 |
-
2020
- 2020-11-30 CN CN202011379893.7A patent/CN112488836B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110582793A (zh) * | 2017-04-18 | 2019-12-17 | 电信区块链联盟软件公司 | 分布式交易共识网络上数字财产交易的匿名性和可追踪性 |
CN108734574A (zh) * | 2017-04-19 | 2018-11-02 | 中思博安科技(北京)有限公司 | 一种区块链的跨链操作方法及区块链管理系统 |
US20190034465A1 (en) * | 2017-07-28 | 2019-01-31 | Hitachi, Ltd. | Blockchain logging of data from multiple systems |
US20190236598A1 (en) * | 2018-01-31 | 2019-08-01 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing machine learning models for smart contracts using distributed ledger technologies in a cloud based computing environment |
CN108830599A (zh) * | 2018-06-19 | 2018-11-16 | 众安信息技术服务有限公司 | 处理区块链中的交易的方法、系统及装置 |
CN110135985A (zh) * | 2019-04-04 | 2019-08-16 | 杭州抖音科技有限公司 | 一种区块链上交易的并行执行方法及系统 |
CN110264192A (zh) * | 2019-05-20 | 2019-09-20 | 阿里巴巴集团控股有限公司 | 基于交易类型的收据存储方法和节点 |
CN110992178A (zh) * | 2019-10-30 | 2020-04-10 | 链农(深圳)信息科技有限公司 | 区块链节点的验证方法、装置、计算机设备及存储介质 |
CN111464633A (zh) * | 2020-03-31 | 2020-07-28 | 成都质数斯达克科技有限公司 | 用于区块链的交易信息的共识方法及系统 |
CN111694852A (zh) * | 2020-05-28 | 2020-09-22 | 平安科技(深圳)有限公司 | 基于分布式事务的数据处理方法、装置、终端及存储介质 |
CN111861754A (zh) * | 2020-07-30 | 2020-10-30 | 杭州复杂美科技有限公司 | 交易打包方法、设备和存储介质 |
CN111858773A (zh) * | 2020-07-30 | 2020-10-30 | 杭州复杂美科技有限公司 | 交易打包方法、设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
王健;周念成;王强钢;王鹏;: "基于区块链和连续双向拍卖机制的微电网直接交易模式及策略", 中国电机工程学报 * |
Also Published As
Publication number | Publication date |
---|---|
CN112488836B (zh) | 2023-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107332876B (zh) | 区块链状态的同步方法及装置 | |
JP6716727B2 (ja) | ストリーミングデータ分散処理方法及び装置 | |
US7627611B2 (en) | Conflict resolution in database replication through autonomous node qualified folding | |
CN111291000B (zh) | 基于区块链的文件获取方法、设备及存储介质 | |
CN111522874B (zh) | 区块链共识方法、装置、计算机设备和存储介质 | |
CN112671908B (zh) | 网络管理方法、装置、电子设备及可读存储介质 | |
CN109492049B (zh) | 用于区块链网络的数据处理、区块生成及同步方法 | |
CN110505084B (zh) | 一种区块链打包节点共识推举方法 | |
CN112671881A (zh) | 节点组织管理方法、装置、电子设备及可读存储介质 | |
WO2017008658A1 (zh) | 一种文本数据的存储校验方法和系统 | |
CN111526165B (zh) | 联盟链中的共识方法和系统 | |
CN108509296B (zh) | 一种处理设备故障的方法和系统 | |
CN115988001A (zh) | 区块链系统的共识投票处理方法、装置、设备以及介质 | |
CN111343212B (zh) | 消息处理方法、装置、设备以及存储介质 | |
CN111865983A (zh) | 一种基于区块链的数据安全追溯方法 | |
CN109769027B (zh) | 一种消息推送方法、装置及设备 | |
CN112258184B (zh) | 冻结区块链网络的方法、装置、电子设备及可读存储介质 | |
CN112488836A (zh) | 交易发送方法、装置、电子设备及可读存储介质 | |
CN112184436B (zh) | 数据同步方法、电子设备及可读存储介质 | |
CN114866428A (zh) | 一种基于区块链的大数据存储装置及方法 | |
CN116107801A (zh) | 交易处理方法及相关产品 | |
CN116542668A (zh) | 一种基于区块链的数据处理方法、设备及可读存储介质 | |
CN113253924A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN112202581A (zh) | 群组加入方法、装置以及电子设备 | |
CN111884932A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |