CN112837163A - 基于区块链的批量交易上链方法及系统 - Google Patents
基于区块链的批量交易上链方法及系统 Download PDFInfo
- Publication number
- CN112837163A CN112837163A CN202110300436.2A CN202110300436A CN112837163A CN 112837163 A CN112837163 A CN 112837163A CN 202110300436 A CN202110300436 A CN 202110300436A CN 112837163 A CN112837163 A CN 112837163A
- Authority
- CN
- China
- Prior art keywords
- transaction
- batch
- directed acyclic
- acyclic graph
- read
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 239000012634 fragment Substances 0.000 claims abstract description 76
- 238000004806 packaging method and process Methods 0.000 claims abstract description 13
- 238000012795 verification Methods 0.000 claims description 38
- 238000012163 sequencing technique Methods 0.000 claims description 23
- 238000013467 fragmentation Methods 0.000 claims description 18
- 238000006062 fragmentation reaction Methods 0.000 claims description 18
- 238000004088 simulation Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 description 34
- 230000006870 function Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 8
- 238000011068 loading method Methods 0.000 description 6
- 239000000872 buffer Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000026676 system process Effects 0.000 description 2
- 125000002015 acyclic group Chemical group 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
技术领域
本申请涉及区块链技术领域,也可用于金融领域,尤其涉及一种基于区块链的批量交易上链方法及系统。
背景技术
在区块链的实际应用中,除了传统的联机交易,还存在批量交易的需求。针对批量交易上链的场景,主流的处理方式包括:批量转联机和数据文件上链的方式。
批量转联机的方式将交易文件对应的批量交易逐条发起请求来实现交易文件的处理,该方式一方面需要发起大量请求,对网络资源消耗大,另一方面对于基于读写集的区块链系统,只能处理存证类交易,对于账户类交易由于存在读写集冲突导致交易失败的问题,需要经过多次重发以保证所有交易成功执行,导致系统整体性能不高以及资源的浪费。
而数据文件上链的方式将文件或者文件哈希上链,并通过外部系统对文件进行处理,该方式仅能对文件的完整性进行确认,无法应对文件被篡改以及丢失的问题,同时由于无法利用区块链系统处理文件中的具体内容,只能通过外部系统对文件进行解析处理,导致处理流程的安全度及可信度有所欠缺。
发明内容
针对现有技术中的至少一个问题,本申请提出了一种基于区块链的批量交易上链方法及系统,能够避免读写集冲突导致交易上链失败,进而能够提高交易上链的可靠性。
为了解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种基于区块链的批量交易上链方法,包括:
获取目标交易文件,根据该目标交易文件构建有向无环图,该有向无环图中的节点用于表示交易,两个节点之间具有方向的边用于表示交易之间的依赖关系;
根据所述有向无环图,模拟执行批量交易并生成分片读写集;
对分片读写集进行背书签名,得到背书签名结果;
将所述分片读写集和背书签名结果打包为区块,将所述区块广播到区块链网络中的各个记账节点,以完成批量交易上链。
进一步地,所述获取目标交易文件,根据该目标交易文件构建有向无环图,包括:
接收背书请求;
从分布式文件系统中获取所述背书请求对应的目标交易文件;
根据所述目标交易文件构建有向无环图。
进一步地,所述目标交易文件包含有批量交易数据,各交易数据对应的交易不同,每个交易数据包括:交易时间戳、第一交易状态和第二交易状态;
相对应的,所述根据该目标交易文件构建有向无环图,包括:
将目标交易文件对应的各个交易分别作为节点;
在符合依赖条件的节点之间建立边,该依赖条件包括:交易的第一交易状态相同,第二交易状态相同以及第一交易状态和第二交易状态相同中的至少一个;
根据交易时间戳的先后顺序,确定各边的方向;
将各节点和具有方向的边组成所述有向无环图。
进一步地,所述根据所述有向无环图,模拟执行批量交易并生成分片读写集,包括:
执行分片步骤,该分片步骤包括:从当前的有向无环图中,获取入度为0的节点作为起始节点;并发模拟执行所述起始节点对应的交易,若所述起始节点的个数小于等于分片个数阈值,则在模拟执行完成后,将所述起始节点对应的交易作为一个分片并生成该分片对应的分片读写集;从当前的有向无环图中删除所述起始节点以及与该起始节点连接的边;
返回执行所述分片步骤,直至所述有向无环图为空。
进一步地,所述根据该目标交易文件构建有向无环图,包括:
验证所述背书请求中的文件哈希值与所述分布式文件系统中的目标交易文件的哈希值是否一致,若是,则根据所述目标交易文件构建有向无环图。
进一步地,所述将所述区块广播到区块链网络中的各个记账节点,以完成批量交易上链,包括:
若所述区块中的分片读写集和背书签名结果均验证成功,则根据所述区块更新各个记账节点中的账本。
进一步地,所述将所述区块广播到区块链网络中的各个记账节点,以完成批量交易上链,还包括:
若所述区块对应的交易中存在分片读写集和/或背书签名结果验证失败的交易,则根据所述有向无环图,确定所述验证失败的交易的后序交易;
根据所述验证失败的交易及其后序交易,重建有向无环图并重发所述验证失败的交易及其后序交易。
第二方面,本申请提供一种基于区块链的批量交易上链系统,包括:记账节点和排序节点;
所述记账节点,用于获取目标交易文件,根据该目标交易文件构建有向无环图,该有向无环图中的节点用于表示交易,两个节点之间具有方向的边用于表示交易之间的依赖关系;根据所述有向无环图,模拟执行批量交易并生成分片读写集;对分片读写集进行背书签名,得到背书签名结果;
所述排序节点,用于将所述分片读写集和背书签名结果打包为区块,将所述区块广播到区块链网络中的各个记账节点,以完成批量交易上链。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的基于区块链的批量交易上链方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现所述的基于区块链的批量交易上链方法。
由上述技术方案可知,本申请提供一种基于区块链的批量交易上链方法及系统。其中,该方法包括:获取目标交易文件,根据该目标交易文件构建有向无环图,该有向无环图中的节点用于表示交易,两个节点之间具有方向的边用于表示交易之间的依赖关系;根据所述有向无环图,模拟执行批量交易并生成分片读写集;对分片读写集进行背书签名,得到背书签名结果;将所述分片读写集和背书签名结果打包为区块,将所述区块广播到区块链网络中的各个记账节点,以完成批量交易上链,能够避免读写集冲突导致交易上链失败,进而能够提高交易上链的可靠性;具体地,能够减少客户端分发目标交易文件的数据传输开销;能够在保证交易文件的完整性的同时,避免交易文件被篡改和丢失;能够在保证交易按照依赖关系顺序执行的同时,还最大程度的保证交易执行的并发性;能够避免处理大批量交易时长时间的对系统资源的独占,避免系统在处理批量交易时无法响应其他联机交易;能够保证交易验证失败时,重发交易量最小化,提升处理批量交易时系统的整体效率和资源利用率;能够减少读写集在传输与验证过程中的资源消耗,同时也可以避免不同分片读写集在验证时产生冲突。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中基于区块链的批量交易上链方法的流程示意图;
图2是本申请实施例中基于区块链的批量交易上链方法的步骤301至步骤304的流程示意图;
图3是本申请实施例中基于区块链的批量交易上链方法的步骤401和步骤402的流程示意图;
图4是本申请一种举例中包含有分片过程的逻辑示意图;
图5是本申请应用实例中基于区块链的批量交易上链系统的结构示意图;
图6是本申请应用实例中基于区块链的批量交易上链方法的流程示意图;
图7为本申请实施例的电子设备的系统构成示意框图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
为了方便理解本申请,在描述本申请的方法之前,首先在此对本申请技术方案的相关内容进行说明。
区块链,是由区块从后向前有序链接起来的数据结构,每个区块都指向前一个区块。它可以被存储为一种包含非相对关系记录的文件,或是存储在一个简单的数据库中。
区块,是一个被包含在区块链中的聚合了数据的容器数据结构,它由一个包含元数据的区块头和紧跟其后的构成区块主体的一长串交易组成。区块具体包括:区块大小字段,通常为4个字节;区块头字段,通常为80个字节;交易计数器字段,一般为1-9个字节,记录交易数量;交易字段,通常为可变长度,记录交易详情。
数据上链,是指数据通过共识机制打包在一个区块成为一个新的区块,并且链接到前面的区块,成为链上不可篡改的数据。
基于读写集模型的区块链系统,如Hyperledger Fabric 1.X以上版本,包含有:客户端、记账节点集群以及排序节点集群。客户端向区块链网络中的若干记账节点发起背书请求,接收到请求的节点基于当前账本的快照模拟执行交易,生成包含读写集在内的交易执行结果,并对交易执行结果进行背书签名,最后将交易执行结果与背书签名结果作为返回结果返回给客户端。客户端接收到所有背书请求的返回结果后,将结果封装成交易并发送给排序节点进行排序出块,并将区块同步给所有记账节点,当节点接收到区块后,会对区块中的交易进行验证,可以包括:背书签名、背书策略的验证以及读写集的验证,当验证通过后才会将读写集的内容正式写入账本。
读写集是指一笔交易在一个账本快照上模拟执行,得到的一个账本状态值的变化读写情况。由于在基于读写集模型的区块链系统中,一个完整的交易流程需要包含背书、排序、验证一系列的步骤之后才会最终写入账本,因此所述模拟执行并生成读写集的过程并不会真正修改账本的状态,而只是记录账本状态的变化。
读写集的结构包含读集和写集,所述读集包含若干读取账本的具体状态以及该状态的版本号,所述写集包含若干模拟写入账本的状态键值对。假定一个交易场景为账户A向账户B转100元,当执行该笔交易时,首先需要读取账本中状态A和状态B的值,同时在该状态值的基础上,将A的值减去100,将B的值加上100,最后将改变后的值模拟写入账本中。假设账本快照中状态A和状态B的值均为200,版本号均为1,在上述交易模拟执行的过程中,首先会产生两个读集,即<read A,1>和<read B,1>,然后会产生两个写集,即<write A,100>和<write B,300>,这些数据即构成了该笔交易模拟执行的读写集。当交易经过背书、排序最后进入到验证的流程时,需要进行读写集验证。
目前区块链交易主要分为存证类交易和账户类交易,其中存证类交易对于区块链账本的操作主要以新增状态为主,每笔交易之间的关联性不大。在基于读写集模型的区块链系统的处理流程中,通常不存在读写集冲突的情况,可以实现高性能并发处理。而账户类交易对于区块链账本而言,状态的数量通常很少发生变化,主要以状态值的修改为主,意味着账户类交易对于交易的顺序有很强的关联性,在一批账户类交易中,不同的交易顺序往往会得到不同的执行结果。而在基于读写集模型的区块链系统中,由于交易确认的异步性,当两笔操作相同账户的交易同时发起时,必然会导致其中一笔交易的验证失败。
需要说明的是,本申请公开的基于区块链的批量交易上链方法及系统可用于金融技术领域,也可用于除金融技术领域之外的任意领域,本申请公开的基于区块链的批量交易上链方法及系统的应用领域不做限定。
具体通过下述各个实施例进行说明。
为了避免读写集冲突导致交易上链失败,进而提高交易上链的可靠性,本实施例提供一种基于区块链的批量交易上链方法,如图1所示,该方法具体包含有如下内容:
步骤101:获取目标交易文件,根据该目标交易文件构建有向无环图,该有向无环图中的节点用于表示交易,两个节点之间具有方向的边用于表示交易之间的依赖关系。
具体地,记账节点可以从分布式文件系统中获取目标交易文件,根据该目标交易文件构建有向无环图;所述交易文件中可以包含有批量交易对应的批量交易数据;交易可以是转账交易。
步骤102:根据所述有向无环图,模拟执行批量交易并生成分片读写集。
步骤103:对分片读写集进行背书签名,得到背书签名结果。
具体地,记账节点可以对分片读写集进行背书签名,得到背书签名结果,并将分片读写集和背书签名结果发送给客户端,客户端在接收到分片读写集和背书签名结果后,对分片读写集和背书签名结果进行封装,将封装后的分片读写集和背书签名结果发送给排序节点。
步骤104:将所述分片读写集和背书签名结果打包为区块,将所述区块广播到区块链网络中的各个记账节点,以完成批量交易上链。
具体地,排序节点可以将所述分片读写集和背书签名结果打包为区块,并将所述区块广播到区块链网络中的各个记账节点,以完成批量交易上链。
在现在技术中,账户类交易由于存在读写集冲突导致交易失败的问题,通常通过外部系统对文件进行处理,这种方式仅能对文件的完整性进行确认,无法应对文件被篡改以及丢失的问题;由上述描述可知,通过本实施例提供的基于区块链的批量交易上链方法,能够解决读写集冲突导致交易失败的问题,进而能够利用区块链网络处理文件对应的批量交易上链,能够提高处理流程的安全度及可信度。
为了在客户端与记账节点集群之间传输目标交易文件,减少客户端分发目标交易文件的数据传输开销,在本申请一个实施例中,步骤101包含有:
步骤201:接收背书请求。
具体地,记账节点可以接收客户端发送的背书请求;所述背书请求包含有背书提案,该背书提案包含有:文件路径、文件标识以及文件哈希值。
步骤202:从分布式文件系统中获取所述背书请求对应的目标交易文件。
具体地,记账节点可以从分布式文件系统中获取所述背书请求对应的目标交易文件;所述分布式文件系统可以是服务器集群。
步骤203:根据所述目标交易文件构建有向无环图。
由上述描述可知,本实施例提供的批量交易上链方法,通过引入分布式文件系统,在客户端与记账节点集群之间传输目标交易文件,能够减少客户端分发目标交易文件的数据传输开销。
为了解决在基于读写集的区块链系统中批量执行账户类交易所导致的读写集冲突问题,提高交易的可靠性,进而提高系统整体性能并降低资源浪费,在本申请一个实施例中,所述目标交易文件包含有批量交易数据,各交易数据对应的交易不同,每个交易数据包括:交易时间戳、第一交易状态和第二交易状态;相对应的,参见图2,步骤101中所述的根据该目标交易文件构建有向无环图,包括:
步骤301:将目标交易文件对应的各个交易分别作为节点。
步骤302:在符合依赖条件的节点之间建立边,该依赖条件包括:交易的第一交易状态相同,第二交易状态相同以及第一交易状态和第二交易状态相同中的至少一个。
步骤303:根据交易时间戳的先后顺序,确定各边的方向。
步骤304:将各节点和具有方向的边组成所述有向无环图。
为了解决账户类交易并发处理的问题,所述交易数据可以包含有:交易编号、交易状态1、交易状态2、状态值转移量和交易时间戳,其中,交易编号是交易的唯一编号,用于定位和追溯具体的交易,而交易状态1表示数值减少的状态,交易状态2表示数值增加的状态,在一种举例中,本实施例中的状态可以指账户名称或账户编号等,能够区分不同的账户,状态值转移量表示具体的状态改变量,交易时间戳则表示交易具体的发生时间,同时也用于描述交易之间的先后顺序。所述有向无环图中的每个边的两端可以分别连接起始节点和终止节点,并从起始节点指向终止节点,其中,起始节点的交易时间戳在终止节点的交易时间戳之前。
举例来说,交易1的交易数据(No10,A,B,10,20210117231713123)表示从账户A向账户B转账10元,以及该交易的编号和发生时间,能够从交易参数中就能直观的看出交易的先后顺序,以及交易之间的依赖性。比如从交易2的交易数据(No45,B,C,10,20210117231718456)可以看出,其发生时间晚于交易1,并且与交易1存在共同操作的交易账户B,因此交易2必须在交易1确认之后执行才能保证结果的正确性。而从交易3的交易数据(No35,D,E,10,20210117231713456)可以看出,其与交易1不存在共同操作的交易账户,无需等待交易1确认,可以与交易1并行执行。
在一种举例中,为了描述批量交易间的依赖关系,可以借助有向无环图来实现,构建有向无环图的流程如下:
首先将交易按交易时间戳进行排序,完成排序后按照交易的时间先后顺序,对每一笔交易做如下处理,直到所有交易处理完:1、解析交易数据中的冲突域,所述冲突域即交易所操作的账本状态;2、将交易作为有向无环图的节点,并与有向无环图中所有存在相同冲突域的节点建立边;完成上述步骤后,即可构建出用于描述批量交易间依赖关系的有向无环图;其中,存在相同的冲突域可以是指交易的交易状态1相同,交易状态2相同,以及交易状态1和交易状态2相同中的至少一种情况。
由上述描述可知,本实施例提供的批量交易上链方法,通过为批量交易构建用于描述批量交易之间的依赖关系的有向无环图,能够在保证接下来批量交易按照依赖关系顺序执行的同时,最大程度的保证交易执行的并发性。
当交易文件对应的交易数量非常大的时候,交易处理的时间会非常耗时。一方面在验证读写集时会长时间挤占系统资源,导致系统无法响应其他联机交易;另一方面,若其中读写集中某个状态验证失败时,整个批量交易会全部失败,造成系统资源浪费;基于此,为了在保证批量交易按照依赖关系顺序执行的同时,最大程度的保证交易执行的并发性,参见图3,在本申请一个实施例中,步骤102包含有:
步骤401:执行分片步骤,该分片步骤包括:从当前的有向无环图中,获取入度为0的节点作为起始节点;并发模拟执行所述起始节点对应的交易,若所述起始节点的个数小于等于分片个数阈值,则在模拟执行完成后,将所述起始节点对应的交易作为一个分片并生成该分片对应的分片读写集;从当前的有向无环图中删除所述起始节点以及与该起始节点连接的边。
具体地,入度为0是指有向图中的节点不作为任何边的终点,分片个数阈值表示一个分片能够包含的最多节点个数;记账节点可以将所述有向无环图中入度为0的节点(交易)加入并发执行队列,等待空闲处理线程从队列中获取并执行;当交易执行完成后,从有向无环图中删除该节点以及与该节点连接的边;重复上述步骤直到所有交易执行完毕。
可以理解的是,所述有向无环图包含有一个或多个入度为0的节点,入度为0的节点(交易)表示对其他交易没有依赖,相互之间可以并行执行,入度非0的节点(交易)则需要等待前序交易执行完成后才能执行。
进一步地,若所述起始节点的个数大于分片个数阈值,则可以将所述起始节点划分为n个分片,其中,n-1个分片中的节点数均等于分片个数阈值,1个分片中的节点数小于等于分片个数阈值。
其中,所述在模拟执行完成后,将所述起始节点对应的交易作为一个分片并生成该分片对应的分片读写集,可以包括:在模拟执行完成后,根据当前的账本快照生成各个起始节点各自对应的交易读写集,各个交易读写集组成当前分片的分片读写集,根据该分片读写集更新账本快照。
步骤402:返回执行所述分片步骤,直至所述有向无环图为空。
可以理解的是,所述有向无环图为空可以表示所述有向无环图对应的批量交易全部完成分片步骤。
由于在基于读写集的区块链系统中,读写集是由记账节点基于当前区块链账本快照模拟执行得到的,并且只有在交易排序出块并完成验证后才会最终更新至账本,导致在读写集生成到最终写入账本的过程中,若出现其他交易涉及相同状态操作,即与之前的交易发生读写集冲突时,只有第一笔交易会成功写入账本,后续冲突的读写集会写入失败,进而导致这些冲突的交易最终未能落块。读写集冲突的原因主要在于多个交易基于相同的账本快照生成读写集导致,为了解决批量交易中读写集冲突的问题,需要对读写集的生成方式进行调整。
基于此,对于同一批次的相同分片,采用交易读写集组合的方式将所述起始节点对应的交易作为一个分片并生成该分片对应的分片读写集。例如,假设当前分片执行前账本快照中状态A、B、C和D的值均为100,版本号均为1,当模拟执行交易(A,B,50)、(C,D,40)后,得到一个分片读写集,该分片读写集包括:<read A,1>、<read B,1>、<read C,1>、<readD,1>以及<write,A,50>、<write,B,150>、<write,C,60>、<write,D,140>。
对于同一批次的不同分片,采用更新账本快照的方式生成读写集,当前一个分片执行完成后,会根据执行结果更新账本快照的状态,后续分片将会基于更新后的账本快照模拟执行交易。例如,基于上述示例,当该分片执行完成后,会将账本快照的状态A、B、C、D的值分别更改为50、150、60、140,版本号均为2,后续的分片将会基于这个新的账本快照模拟执行交易,而不是基于最初始的账本快照。
具体地,当批量文件的交易数量非常大的时候,交易处理的时间会非常耗时。一方面在验证读写集时会长时间挤占系统资源,导致系统无法响应其他联机交易。另一方面,若其中读写集中某个状态验证失败时,整个批量交易会全部失败,造成系统资源浪费,因此需要对批量文件进行分片处理。
分片的大小遵循两个原则,并取其最小值:
1、定义批量分片参数即上述分片个数阈值s,表示批量交易中最多由s个交易形成一个分片,分片读写集的生成以及验证会以分片为单位,即每个分片执行完后拥有一个分片读写集。
2、分片内不能存在有相互依赖的交易,当下一笔交易的读写集与待分片交易存在冲突时,从该下一笔交易之后开始下一个分片。
当验证区块时,若出现分片读写集验证失败的情况,只需找到该分片读写集所属分片下的交易,以及这些交易在有向无环图中所有的后续交易,并重发这些交易即可,无需全盘推到重做。
如图4所示,在本申请一个举例中,可根据批量交易的交易数据生成有向无环图,将该有向无环图中入度为0且小于等于分片个数阈值的节点(A,B)、(D,E)和(G,H)一组并行执行队列即一个分片;删除有向无环图中的节点(A,B)、(D,E)和(G,H);从删除后的有向无环图中再次获取入度为0且小于等于分片个数阈值的节点(A,C)和(B,F)作为一组并行执行队列;删除有向无环图中的节点(A,C)和(B,F);从删除后的有向无环图中再次获取入度为0且小于等于分片个数阈值的节点(F,A)、(C,E)作为一组并行执行队列;删除有向无环图中的节点(F,A)、(C,E);从删除后的有向无环图中再次获取入度为0且小于等于分片个数阈值的节点(C,H)作为一组并行执行队列,完成分片过程。图4中的(A,B)、(A,C)、(D,E)、(B,F)、(F,A)、(C,E)、(G,H)、(C,H)用于依次表示按交易时间戳先后排序的批量交易,A至H均表示交易状态。另外,在区块验证过程中,若确定交易(B,F)的背书签名结果和/或分片读写集验证失败,则可以从根据批量交易的交易数据的生成有向无环图中截取以(B,F)为根节点的子图,即由节点(B,F)与(F,A)所构成的子图,作为一个新的待执行的有向无环图,并根据上述规则重新执行交易。
为了保证交易文件的完整性,进而提高有向无环图的可靠性,在本申请一个实施例中,步骤101包含有:
验证所述背书请求中的文件哈希值与所述分布式文件系统中的目标交易文件的哈希值是否一致,若是,则根据所述目标交易文件构建有向无环图。
具体地,若验证得到所述背书请求中的文件哈希值与目标交易文件的哈希值不一致,则结束当前操作。
为了进一步提高区块的上链处理的可靠性,在本申请一个实施例中,步骤104包括:
若所述区块中的各分片读写集及对应的背书签名结果均验证成功,则根据所述区块更新各个记账节点中的账本。
具体地,读写集验证可以包含有:从真正的账本中读取状态A和状态B,查看它们的版本号是否与读集中的版本号一致,若一致则验证通过,并最终会按照写集中的内容更新账本状态。否则读写集校验失败,最终不会更新账本状态。
为了进一步提高区块的上链处理的可靠性,在本申请一个实施例中,步骤104还包括:
步骤041:若所述区块对应的交易中存在分片读写集和/或背书签名结果验证失败的交易,则根据所述有向无环图,确定所述验证失败的交易的后序交易。
可以理解的是,所述区块可以对应多个分片,每个分片可以对应多个交易,每个分片包含有:一个背书签名结果和一组分片读写集,因此,每个背书签名结果可以对应多个交易,一组分片读写集可以对应多个交易。
步骤042:根据所述验证失败的交易及其后序交易,重建有向无环图并重发所述验证失败的交易及其后序交易。
具体地,重建后的有向无环图中的节点可以表示所述验证失败的节点或后序节点。
从软件层面来说,为了避免读写集冲突导致交易上链失败,进而提高交易上链的可靠性,本申请提供一种用于实现所述批量交易上链方法中全部或部分内容的基于区块链的批量交易上链系统的实施例,所述基于区块链的批量交易上链系统具体包含有:
记账节点和排序节点;所述记账节点,用于获取目标交易文件,根据该目标交易文件构建有向无环图,该有向无环图中的节点用于表示交易,两个节点之间具有方向的边用于表示交易之间的依赖关系;根据所述有向无环图,模拟执行批量交易并生成分片读写集;对分片读写集进行背书签名,得到背书签名结果;所述排序节点,用于将所述分片读写集和背书签名结果打包为区块,将所述区块广播到区块链网络中的各个记账节点,以完成批量交易上链。
其中,所述记账节点和排序节点均可以为服务器,并且相互之间通信连接。
本说明书提供的基于区块链的批量交易上链系统的实施例具体可以用于执行上述批量交易上链方法的实施例的处理流程,其功能在此不再赘述,可以参照上述批量交易上链方法实施例的详细描述。
为了进一步说明本方案,本申请提供一种基于区块链的批量交易上链系统的应用实例,在本应用实例中,参见图5,该系统包含有:客户端、记账节点集群、排序节点集群以及分布式文件系统,具体描述如下:
所述客户端,用于对应用方提供区块链系统的交易接口,在系统侧用于向记账节点发起背书请求并获取背书结果,以及将背书结果封装成交易后发送给排序节点进行打包排序出块。
所述排序节点集群包含有多个排序节点,用于接收从客户端上送的交易,根据预设的排序条件,将接收到的交易排序打包成区块,并在集群内进行共识,最后同步给所有记账节点,所述预设的排序条件可以为交易的交易数量、大小和一定的时间间隔中的一种。
所述分布式文件系统,用于临时存储目标交易文件,用于客户端与记账节点集群之间的文件传输,能够减少客户端的数据传输量。
所述记账节点集群包含有多个排序节点,参见图5,每个排序节点包含有:通讯模块、安全模块、存储模块、验证模块、文件处理模块、合约模块以及背书模块。其中,所述通讯模块用于提供节点外部通讯功能,包括与区块链客户端、记账节点集群、排序节点集群以及分布式文件系统的通讯;所述安全模块用于提供节点身份认证、权限管理、加解密以及签名验签等功能;所述存储模块用于提供区块链账本存储以及相关缓存功能,其中区块链账本包括存储于文件系统的区块链,以及存储于KV数据库的状态键值对;所述验证模块用于验证区块中交易的背书签名以及交易的读写集;所述文件处理模块提供目标交易文件的解析、有向无环图的构建以及交易重发处理。所述合约模块提供基于容器的智能合约的管理功能,通过智能合约可以实现在当前区块链账本快照的基础上进行交易的模拟执行,生成交易的读写集。所述背书模块用于对交易执行结果进行背书签名,保证背书签名结果的有效性和不可抵赖性。
由上述描述可知,本应用实例提供的基于区块链的批量交易上链系统,能够实现账户类批量交易上链,并且在保证交易性能的同时,减少处理大批量交易时,长时间对系统资源的独占,确保批量处理的过程中不影响期间的联机交易。
结合上述基于区块链的批量交易上链系统,本申请提供一种基于区块链的批量交易上链方法的应用实例,参见图6,该方法包含有:
步骤S11:从应用接收交易文件;即应用方调用客户端上送交易文件并发起批量交易。
步骤S12:生成批量ID;即客户端根据交易文件的哈希以及当前系统时间戳生成批量ID。
步骤S13:上传交易文件,保存文件并返回文件路径及标识;即客户端将交易文件上传至分布式文件系统,并保存该文件在分布式文件系统的存储路径及文件标识。
步骤S14:向记账节点集群发起背书请求;即客户端将步骤S13中的存储路径、文件标识以及文件的哈希作为背书提案的内容,向记账节点集群发起背书请求。
步骤S15:根据请求内容从分布式文件系统中获取交易文件,根据请求中的文件哈希验证文件的完整性;即记账节点接收到客户端发起的背书请求后,根据背书请求中的存储路径及文件标识从分布式文件系统中获取交易文件,并验证文件的哈希值是否与背书请求中的哈希值一致,验证通过则将交易文件交给文件处理模块进行处理,验证失败则交易结束。
步骤S16:根据交易文件构建有向无环图;根据有向无环图并行执行交易;当满足分片要求时,生成分片读写集,并更新账本快照,开始执行下一分片,直到所有交易处理完成;根据失败交易重建有向无环图并重放交易;即文件处理模块根据交易文件中每笔交易所涉及的账户构建有向无环图,并将批量交易根据有向无环图的执行流程提交给合约模块模拟执行,并生成交易读写集。当完成执行的交易满足分片要求时,合并该分片的读写集,同时根据分片读写集更新账本快照,开始执行下一分片的交易,直到所有交易处理完成。在模拟执行期间,若出现当前批次的交易区块验证失败的情况,会根据区块中所包含的失败交易,在有向无环图中查找到该失败交易的后续依赖的交易,并重发失败交易及其后续依赖的交易。
步骤S17:对结果进行背书签名,并返回客户端;即背书模块对已完成的分片读写集进行背书签名,并将背书签名以及读写集返回给客户端。
步骤S18:接收足够的背书结果,封装成交易发送给排序节点;即客户端接收记账节点集群返回的背书结果,假设记账节点集群有n个记账节点,当客户端接收到n个同一分片序号的背书结果,并且背书结果全部一致时,可以将背书结果与背书提案组装成分区交易,分区交易即背书结果与背书提案组装后得到的结果,发给排序节点。
步骤S19:打包排序出块;即排序节点将接收到的分区交易进行排序并打包成区块,并在其他排序节点间进行共识,最后通过广播同步给所有记账节点。
步骤S110:同步区块数据,并验证区块,更新账本状态;即记账节点接收到区块后,验证其中每个分区交易的读写集与背书签名,若验证通过则更新账本状态并完成记账,若验证失败则不更新账本状态,并按照步骤S16进行交易重发。
步骤S111:当所有批量交易出块并验证通过,向客户端返回批量执行成功;即当接收背书请求的记账节点检测到某个批次号的批量交易已全部出块确认,向客户端返回该批次号全部执行完成的消息。
步骤S112:向应用返回批量完成信息;即客户端接收到批量执行完成消息后,向应用方返回批量执行成功的消息。
由上述描述可知,本申请提供的基于区块链的批量交易上链方法及系统,具体包含有如下有益效果:
1、通过引入分布式文件系统,用于在客户端与记账节点集群之间传输批量文件,减少客户端分发批量文件的数据传输开销。同时通过批量文件的哈希值来保证文件的完整性。
2、为了解决在基于读写集的区块链系统中批量执行账户类交易所导致的读写集冲突问题,通过为批量交易构建有向无环图,用于描述批量交易之间的依赖关系,指导交易在保证能够按照依赖关系顺序执行的同时,还能最大程度的保证交易执行的并发性。
3、通过对批量交易进行分片处理,减少系统处理大批量交易时的长时间的对系统资源的独占,避免系统在处理批量交易时无法响应其他联机交易。同时当批量交易中的某些交易验证失败,需要重发交易时,通过分片技术与有向无环图结合还找出失败交易的所有后序交易,将重发交易量最小化,提升系统在处理批量交易时的整体效率和资源的利用率。
4、通过优化读写集的生成方式,对于同一分片的交易采用批量组合的方法生成分片读写集,对于不同分片采用更新账本快照的方式生成分片读写集。该方式既可以减少读写集在传输与验证过程中的资源消耗,同时也可以避免不同分片读写集在验证时产生冲突。
从硬件层面来说,为了避免读写集冲突导致交易失败,进而提高交易的可靠性,本申请提供一种用于实现所述基于区块链的批量交易上链方法中的全部或部分内容的电子设备的实施例所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现所述基于区块链的批量交易上链系统以及用户终端等相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例用于实现所述基于区块链的批量交易上链方法的实施例及用于实现所述基于区块链的批量交易上链系统的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图7为本申请实施例的电子设备9600的系统构成的示意框图。如图7所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图7是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
在本申请一个或多个实施例中,基于区块链的批量交易上链功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
步骤101:获取目标交易文件,根据该目标交易文件构建有向无环图,该有向无环图中的节点用于表示交易,两个节点之间具有方向的边用于表示交易之间的依赖关系;
步骤102:根据所述有向无环图,模拟执行批量交易并生成分片读写集;
步骤103:对分片读写集进行背书签名,得到背书签名结果;
步骤104:将所述分片读写集和背书签名结果打包为区块,将所述区块广播到区块链网络中的各个记账节点,以完成批量交易上链。
从上述描述可知,本申请的实施例提供的电子设备,能够避免读写集冲突导致交易失败,进而能够提高交易的可靠性。
在另一个实施方式中,基于区块链的批量交易上链系统可以与中央处理器9100分开配置,例如可以将基于区块链的批量交易上链系统配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现基于区块链的批量交易上链功能。
如图7所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图7中所示的所有部件;此外,电子设备9600还可以包括图7中没有示出的部件,可以参考现有技术。
如图7所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
上述描述可知,本申请的实施例提供的电子设备,能够避免读写集冲突导致交易失败,进而能够提高交易的可靠性。
本申请的实施例还提供能够实现上述实施例中的基于区块链的批量交易上链方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的基于区块链的批量交易上链方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤101:获取目标交易文件,根据该目标交易文件构建有向无环图,该有向无环图中的节点用于表示交易,两个节点之间具有方向的边用于表示交易之间的依赖关系;
步骤102:根据所述有向无环图,模拟执行批量交易并生成分片读写集;
步骤103:对分片读写集进行背书签名,得到背书签名结果;
步骤104:将所述分片读写集和背书签名结果打包为区块,将所述区块广播到区块链网络中的各个记账节点,以完成批量交易上链。
从上述描述可知,本申请实施例提供的计算机可读存储介质,能够避免读写集冲突导致交易失败,进而能够提高交易的可靠性。
本申请中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参见方法实施例的部分说明即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本申请中应用了具体实施例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种基于区块链的批量交易上链方法,其特征在于,包括:
获取目标交易文件,根据该目标交易文件构建有向无环图,该有向无环图中的节点用于表示交易,两个节点之间具有方向的边用于表示交易之间的依赖关系;
根据所述有向无环图,模拟执行批量交易并生成分片读写集;
对分片读写集进行背书签名,得到背书签名结果;
将所述分片读写集和背书签名结果打包为区块,将所述区块广播到区块链网络中的各个记账节点,以完成批量交易上链。
2.根据权利要求1所述的基于区块链的批量交易上链方法,其特征在于,所述获取目标交易文件,根据该目标交易文件构建有向无环图,包括:
接收背书请求;
从分布式文件系统中获取所述背书请求对应的目标交易文件;
根据所述目标交易文件构建有向无环图。
3.根据权利要求1所述的基于区块链的批量交易上链方法,其特征在于,所述目标交易文件包含有批量交易数据,各交易数据对应的交易不同,每个交易数据包括:交易时间戳、第一交易状态和第二交易状态;
相对应的,所述根据该目标交易文件构建有向无环图,包括:
将目标交易文件对应的各个交易分别作为节点;
在符合依赖条件的节点之间建立边,该依赖条件包括:交易的第一交易状态相同,第二交易状态相同以及第一交易状态和第二交易状态相同中的至少一个;
根据交易时间戳的先后顺序,确定各边的方向;
将各节点和具有方向的边组成所述有向无环图。
4.根据权利要求1所述的基于区块链的批量交易上链方法,其特征在于,所述根据所述有向无环图,模拟执行批量交易并生成分片读写集,包括:
执行分片步骤,该分片步骤包括:从当前的有向无环图中,获取入度为0的节点作为起始节点;并发模拟执行所述起始节点对应的交易,若所述起始节点的个数小于等于分片个数阈值,则在模拟执行完成后,将所述起始节点对应的交易作为一个分片并生成该分片对应的分片读写集;从当前的有向无环图中删除所述起始节点以及与该起始节点连接的边;
返回执行所述分片步骤,直至所述有向无环图为空。
5.根据权利要求2所述的基于区块链的批量交易上链方法,其特征在于,所述根据该目标交易文件构建有向无环图,包括:
验证所述背书请求中的文件哈希值与所述分布式文件系统中的目标交易文件的哈希值是否一致,若是,则根据所述目标交易文件构建有向无环图。
6.根据权利要求1所述的基于区块链的批量交易上链方法,其特征在于,所述将所述区块广播到区块链网络中的各个记账节点,以完成批量交易上链,包括:
若所述区块中的分片读写集和背书签名结果均验证成功,则根据所述区块更新各个记账节点中的账本。
7.根据权利要求1所述的基于区块链的批量交易上链方法,其特征在于,所述将所述区块广播到区块链网络中的各个记账节点,以完成批量交易上链,还包括:
若所述区块对应的交易中存在分片读写集和/或背书签名结果验证失败的交易,则根据所述有向无环图,确定所述验证失败的交易的后序交易;
根据所述验证失败的交易及其后序交易,重建有向无环图并重发所述验证失败的交易及其后序交易。
8.一种基于区块链的批量交易上链系统,其特征在于,包括:记账节点和排序节点;
所述记账节点,用于获取目标交易文件,根据该目标交易文件构建有向无环图,该有向无环图中的节点用于表示交易,两个节点之间具有方向的边用于表示交易之间的依赖关系;根据所述有向无环图,模拟执行批量交易并生成分片读写集;对分片读写集进行背书签名,得到背书签名结果;
所述排序节点,用于将所述分片读写集和背书签名结果打包为区块,将所述区块广播到区块链网络中的各个记账节点,以完成批量交易上链。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述的基于区块链的批量交易上链方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被执行时实现权利要求1至7任一项所述的基于区块链的批量交易上链方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110300436.2A CN112837163A (zh) | 2021-03-22 | 2021-03-22 | 基于区块链的批量交易上链方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110300436.2A CN112837163A (zh) | 2021-03-22 | 2021-03-22 | 基于区块链的批量交易上链方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112837163A true CN112837163A (zh) | 2021-05-25 |
Family
ID=75930430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110300436.2A Pending CN112837163A (zh) | 2021-03-22 | 2021-03-22 | 基于区块链的批量交易上链方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112837163A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113421095A (zh) * | 2021-07-07 | 2021-09-21 | 中国电子科技网络信息安全有限公司 | 一种区块链交易并行执行加速方法 |
CN113468574A (zh) * | 2021-07-21 | 2021-10-01 | 招商华软信息有限公司 | 一种区块链数据上链方法和装置 |
CN113656507A (zh) * | 2021-08-26 | 2021-11-16 | 支付宝(杭州)信息技术有限公司 | 区块链系统中执行交易的方法及装置 |
CN114257429A (zh) * | 2021-12-07 | 2022-03-29 | 中信银行股份有限公司 | 一种基于联盟链的聚合交易验签存证方法及系统 |
CN115796874A (zh) * | 2023-01-09 | 2023-03-14 | 杭州安节科技有限公司 | 一种操作级别的区块链交易并发执行方法 |
CN115865645A (zh) * | 2022-12-22 | 2023-03-28 | 中移动信息技术有限公司 | 链路确定方法、装置、设备、介质及产品 |
CN116743771A (zh) * | 2023-08-11 | 2023-09-12 | 杭州趣链科技有限公司 | 区块链共识方法、装置、电子设备及计算机可读存储介质 |
CN118069748A (zh) * | 2024-03-01 | 2024-05-24 | 中路高科交通检测检验认证有限公司 | 冷链物流中基于有向无环图的区块链分片方法、系统、设备及储存介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108985732A (zh) * | 2018-06-08 | 2018-12-11 | 中国地质大学(武汉) | 基于无区块的dag技术的共识和账本数据组织方法及系统 |
CN111711607A (zh) * | 2020-05-20 | 2020-09-25 | 西安理工大学 | 一种基于区块链的流式微服务可信加载与验证方法 |
CN112000993A (zh) * | 2020-07-30 | 2020-11-27 | 杭州趣链科技有限公司 | 一种基于区块链的数据存储验证方法、设备和存储介质 |
-
2021
- 2021-03-22 CN CN202110300436.2A patent/CN112837163A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108985732A (zh) * | 2018-06-08 | 2018-12-11 | 中国地质大学(武汉) | 基于无区块的dag技术的共识和账本数据组织方法及系统 |
CN111711607A (zh) * | 2020-05-20 | 2020-09-25 | 西安理工大学 | 一种基于区块链的流式微服务可信加载与验证方法 |
CN112000993A (zh) * | 2020-07-30 | 2020-11-27 | 杭州趣链科技有限公司 | 一种基于区块链的数据存储验证方法、设备和存储介质 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113421095A (zh) * | 2021-07-07 | 2021-09-21 | 中国电子科技网络信息安全有限公司 | 一种区块链交易并行执行加速方法 |
CN113468574A (zh) * | 2021-07-21 | 2021-10-01 | 招商华软信息有限公司 | 一种区块链数据上链方法和装置 |
CN113468574B (zh) * | 2021-07-21 | 2024-05-24 | 招商华软信息有限公司 | 一种区块链数据上链方法和装置 |
CN113656507A (zh) * | 2021-08-26 | 2021-11-16 | 支付宝(杭州)信息技术有限公司 | 区块链系统中执行交易的方法及装置 |
CN113656507B (zh) * | 2021-08-26 | 2024-03-08 | 支付宝(杭州)信息技术有限公司 | 区块链系统中执行交易的方法及装置 |
CN114257429A (zh) * | 2021-12-07 | 2022-03-29 | 中信银行股份有限公司 | 一种基于联盟链的聚合交易验签存证方法及系统 |
CN114257429B (zh) * | 2021-12-07 | 2024-01-30 | 中信银行股份有限公司 | 一种基于联盟链的聚合交易验签存证方法及系统 |
CN115865645A (zh) * | 2022-12-22 | 2023-03-28 | 中移动信息技术有限公司 | 链路确定方法、装置、设备、介质及产品 |
CN115796874A (zh) * | 2023-01-09 | 2023-03-14 | 杭州安节科技有限公司 | 一种操作级别的区块链交易并发执行方法 |
CN116743771A (zh) * | 2023-08-11 | 2023-09-12 | 杭州趣链科技有限公司 | 区块链共识方法、装置、电子设备及计算机可读存储介质 |
CN116743771B (zh) * | 2023-08-11 | 2023-11-03 | 武汉趣链数字科技有限公司 | 区块链共识方法、装置、电子设备及计算机可读存储介质 |
CN118069748A (zh) * | 2024-03-01 | 2024-05-24 | 中路高科交通检测检验认证有限公司 | 冷链物流中基于有向无环图的区块链分片方法、系统、设备及储存介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112837163A (zh) | 基于区块链的批量交易上链方法及系统 | |
US11973869B2 (en) | Maintaining blocks of a blockchain in a partitioned blockchain network | |
CN109379397B (zh) | 基于区块链的交易共识处理方法及装置、电子设备 | |
CN111629039B (zh) | 一种区块链共识方法及客户端、背书节点、排序节点 | |
CN109361740B (zh) | 一种区块链的区块生成方法、装置、设备和介质 | |
CN110399424B (zh) | 区块生成方法、装置、区块链节点及存储介质 | |
WO2020043047A1 (zh) | 一种平行链共识方法、设备和存储介质 | |
CN109493223B (zh) | 一种记账方法及装置 | |
CN111901350A (zh) | 区块链系统、数据处理方法、计算机设备及存储介质 | |
CN112685796A (zh) | 一种基于区块链的区块共识方法以及相关设备 | |
CN108876384B (zh) | 一种交易数据的处理方法及装置 | |
CN111445333A (zh) | 区块生成方法、装置、计算机设备以及存储介质 | |
CN111915301B (zh) | 基于区块链的数据处理方法、装置、电子设备及可读介质 | |
CN109840769B (zh) | 基于区块链的存证方法及装置、系统与存储介质 | |
CN113938269A (zh) | 一种文件分片上传校验方法和系统 | |
CN110599175A (zh) | 一种区块处理方法及相关设备 | |
CN112328565A (zh) | 一种基于区块链的资源共享的方法及装置 | |
CN112785408A (zh) | 基于哈希的对账方法及装置 | |
KR20220074971A (ko) | 블록체인 기반 데이터 프로세싱 방법, 장치 및 디바이스, 그리고 판독가능 저장 매체 | |
CN110989934B (zh) | 区块链节点数据存储方法、区块链系统及区块链节点 | |
CN115037472B (zh) | 基于双层dag共识机制的交易处理方法及系统、服务设备 | |
CN114491656A (zh) | 区块链网络中的方法和设备 | |
CN110442601A (zh) | 一种Openstack镜像数据并行加速的方法和装置 | |
CN113610527A (zh) | 联盟链的交易方法、装置、系统、终端设备及存储介质 | |
CN115409507A (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 |