CN111506783A - 区块链中事务请求处理方法、装置、设备和介质 - Google Patents
区块链中事务请求处理方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN111506783A CN111506783A CN202010268452.3A CN202010268452A CN111506783A CN 111506783 A CN111506783 A CN 111506783A CN 202010268452 A CN202010268452 A CN 202010268452A CN 111506783 A CN111506783 A CN 111506783A
- Authority
- CN
- China
- Prior art keywords
- transaction request
- transaction
- request set
- requests
- determining
- 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
- 238000003672 processing method Methods 0.000 title description 4
- 238000000034 method Methods 0.000 claims abstract description 84
- 238000012545 processing Methods 0.000 claims abstract description 43
- 230000015654 memory Effects 0.000 claims description 20
- 230000007246 mechanism Effects 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 33
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000036963 noncompetitive effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
- 238000006467 substitution reaction 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
-
- 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0283—Price estimation or determination
-
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0613—Third-party assisted
-
- 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
- G06Q2220/00—Business processing using cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Marketing (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Technology Law (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请实施例公开了一种区块链中事务请求处理方法、装置、设备和介质,涉及区块链技术。其中,该方法包括:根据区块链网络中事务请求之间的依赖关系,确定至少一个事务请求集合;从至少一个事务请求集合中确定目标事务请求集合,以通过执行目标事务请求集合中的事务请求生成区块。本申请实施例可以提高区块生成过程中,区块链节点选择事务请求的合理性。
Description
技术领域
本申请实施例涉及计算机技术,具体涉及区块链技术,尤其涉及一种区块链中事务请求处理方法、装置、设备和介质。
背景技术
目前,在存在出块奖励机制的区块链网络中,出块节点通常按照大量交易的手续费高低,进行交易排序,从而选择出待处理的交易。
然而,出块节点处理的交易数量通常是有限的,按照手续费选择待处理交易,非常容易割裂交易之间依赖关系,导致后续交易处理出错。因此,如何在保障出块节点的奖励收益的基础上,同时保证各交易的顺利执行,仍是区块链领域中亟待解决的问题。
发明内容
本申请实施例公开一种区块链中事务请求处理方法、装置、设备和介质,以提高区块生成过程中,区块链节点选择事务请求的合理性。
第一方面,本申请实施例公开了一种区块链中事务请求处理方法,包括:
根据区块链网络中事务请求之间的依赖关系,确定至少一个事务请求集合;
从所述至少一个事务请求集合中确定目标事务请求集合,以通过执行所述目标事务请求集合中的事务请求生成区块。
第二方面,本申请实施例还公开了一种区块链中事务请求处理装置,包括:
集合确定模块,用于根据区块链网络中事务请求之间的依赖关系,确定至少一个事务请求集合;
集合选择模块,用于从所述至少一个事务请求集合中确定目标事务请求集合,以通过执行所述目标事务请求集合中的事务请求生成区块。
第三方面,本申请实施例还公开了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本申请实施例任一所述的区块链中事务请求处理方法。
第四方面,本申请实施例还公开了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如本申请实施例任一所述的区块链中事务请求处理方法。
根据本申请实施例的技术方案,区块链节点在区块生成过程中,通过按照事务请求之间的依赖关系,对各事务请求进行聚合分组,得到至少一个事务请求集合,以集合为单位,确定参与区块生成过程的事务请求,有效保障了事务请求处理过程中事务请求之间的依赖关系,提高了区块链节点选择事务请求的合理性。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例公开的一种区块链中事务请求处理方法的流程图;
图2是根据本申请实施例公开的多个事务请求之间的一种依赖关系的示意图;
图3是根据本申请实施例公开的另一种区块链中事务请求处理方法的流程图;
图4是根据本申请实施例公开的另一种区块链中事务请求处理方法的流程图;
图5是根据本申请实施例公开的另一种区块链中事务请求处理方法的流程图;
图6是根据本申请实施例中事务请求集合的重要因子构建最大堆的一种示意图;
图7是根据本申请实施例中事务请求集合的重要因子构建最大堆的另一种示意图;
图8是根据本申请实施例公开的一种区块链中事务请求处理装置的结构示意图;
图9是根据本申请实施例公开的一种电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本申请实施例公开的一种区块链中事务请求处理方法的流程图,本申请实施例可以适用于区块链节点在生成区块过程中,如何合理选择待处理的事务请求的情况。本申请实施例公开的方法可以由区块链中事务请求处理装置来执行,该装置可以采用软件和/或硬件实现,并可集成在区块链节点上,区块链节点可以部署在任意的具有计算能力的电子设备上。
如图1所示,本申请实施例公开的区块链中事务请求处理方法可以包括:
S101、根据区块链网络中事务请求之间的依赖关系,确定至少一个事务请求集合。
其中,事务请求之间的依赖关系是指在执行某个事务请求的过程中,需要依赖其他事务请求的处理结果,或者其他事务请求的执行过程需要依赖当前事务请求的处理结果的情况。根据区块链网络中事务请求之间依赖关系,将具有依赖关系的至少一个事务请求进行聚合,从而得到至少一个事务请求集合(或称为事务请求序列),即每个事务请求集合中的至少一个事务请求彼此间存在依赖关系。每个事务请求集合中包括的事务请求数量视情况而定。
图2作为示例,示出了多个事务请求之间的一种依赖关系的示意图,不应理解为对本申请实施例的具体限定。如图2所示,事务请求A依赖事务请求B,事务请求B依赖事务请求C,事务请求A、事务请求B和事务请求C可以构成一个事务请求集合1;事务请求D为独立事务请求,不依赖其他事务请求,事务请求D可以独自构成一个事务请求集合2;事务请求E依赖事务请求F,事务请求F依赖事务请求H,事务请求G也同样依赖事务请求H,因此,事务请求E、事务请求F、事务请求H和事务请求G,可以构成一个事务请求集合3。
S102、从至少一个事务请求集合中确定目标事务请求集合,以通过执行目标事务请求集合中的事务请求生成区块。
在目标事务请求集合的选择过程中,可以根据每个事务请求集合中包括的事务请求的数量、事务请求的支付凭证、事务请求的空间占用量(size)、事务请求的优先级等因素中的一种或多种,对每个事务请求集合进行综合评估,从而筛选出目标事务请求集合。其中,事务请求的支付凭证,或称为手续费,代表区块链节点执行该事务请求后可以获得的收益;事务请求的优先级可以根据事务请求涉及的业务类型、生成时间、重要性和业务价值等因素,由区块链***来确定,也可以由区块链节点自行指定,本申请实施例不作具体限定。
示例性的,可以将至少一个事务请求集合中,包括的事务请求的数量超过第一数量阈值的集合,确定为目标事务请求集合;或者,可以将至少一个事务请求集合中,事务请求的总支付凭证超过凭证阈值的集合,确定为目标事务请求集合;或者,可以将至少一个事务请求集合中,包括的优先级较高的事务请求的数量超过第二数量阈值的集合,确定为目标事务请求集合;或者,可以将至少一个事务请求集合中,事务请求的总空间占用量小于集合空间阈值的集合,确定为目标事务请求集合;或者,可以将至少一个事务请求集合中,事务请求的总支付凭证与事务请求的总空间占用量的比值大于比例阈值的集合,确定为目标事务请求集合。前述涉及的各个阈值的取值,可以根据需求进行灵活设置。目标事务请求集合的选择策略并不限于前述示例,本领域技术人员可以根据需求对前述示例进行灵活变更或调整,从而使得区块链节点可以合理选择出目标事务请求集合。
在部署有出块奖励机制的区块链网络中,区块链节点每执行一个事务请求均会收到相应的奖励(或称为收益),例如获取到一定数量的支付凭证。通常,当每个事务请求之间的支付凭证差异较小时,区块链节点处理的事务请求的数量越多,获取的奖励也越多;优先级较高的事务请求,可以设置较高的支付凭证,因此,区块链节点执行优先级较高的事务请求的数量越多,获取的奖励也越多。进一步的,考虑区块空间大小存在限制,也即区块链节点执行的事务请求的数量是有效的,按照事务请求的空间占用量,尽量选择处理较多的事务请求,或者按照事务请求集合中总支付凭证和总空间占用量的关系,对事务请求集合进行综合考虑,从而确定目标事务请求集合,也可以确保区块链节点的奖励。
区块链节点确定出目标事务请求集合后,便可以通过执行目标事务请求集合中的各事务请求,产生事务数据,基于事务数据生成区块。
根据本申请实施例的技术方案,区块链节点在区块生成过程中,通过按照事务请求之间的依赖关系,对各事务请求进行聚合分组,得到至少一个事务请求集合,以集合为单位,确定参与区块生成过程的事务请求,有效保障了事务请求处理过程中事务请求之间的依赖关系,解决了按照手续费逐个选择待处理的事务请求时,易割裂事务请求之间的依赖关系,导致事务请求处理过程出错概率较大的问题,在保证区块链节点存在一定的奖励收益的基础上,提高了区块链节点选择事务请求的合理性。
在上述技术方案的基础上,可选的,从至少一个事务请求集合中确定目标事务请求集合之后,本申请实施例公开的方法还可以包括:
如果确定的目标事务请求集合的空间占用量小于区块空间阈值,则根据剩余事务请求之间的依赖关系,确定至少一个新事务请求集合,并根据新事务请求集合执行新目标事务请求集合的确定操作;其中,剩余事务请求包括区块链网络中,除去目标事务请求集合中的事务请求之外的事务请求。区块空间阈值与区块链网络中区块的空间大小有关,可以用于反映区块的空间大小的上限,也即区块链节点最终累计选择出的目标事务请求集合的总空间占用量,需要处于区块空间能容纳的范围内。区块空间阈值的具体取值,可以合理性设置,本申请实施例不作具体限定。
如果截止当前确定的目标事务请求集合的空间占用量小于区块空间阈值,则可以继续基于区块链网络中剩余的事务请求,重复执行操作S101-操作S102,直至累计确定的目标事务请求集合的空间占用量等于区块空间阈值,即认为达到了区块大小的上限。
如果截止当前确定的目标事务请求集合的空间占用量等于区块空间阈值,则目标事务请求集合的确定操作可以结束,进而进入生成区块的阶段。
图3作为示例,示出了本申请实施例公开的另一种区块链中事务请求处理方法的流程图。如图3所示,在根据区块链网络中事务请求之间的依赖关系,生成至少一个事务请求集合之后,可以按照集合选择策略,从中确定目标事务请求集合,每确定一个目标事务请求集合,便可以记录在集合列表中,重复执行目标事务请求集合的确定操作,直至累计确定的目标事务请求集合的空间占用量达到区块空间阈值限制,便进入区块生成过程。
在本申请实施例中,通过按照区块空间阈值,对选择目标事务请求集合的操作循环次数进行控制,在保证区块链节点获取出块奖励的基础上,可以充分利用区块空间,将区块链节点的出块奖励收益尽量最大化。并且,如图3所示,在确定出多个目标事务请求集合后,还可以按照目标事务请求集合的总空间占用量,对多个目标事务请求集合进行组合调整,以使得累计的空间占用量不超过区块空间阈值,最大化利用区块空间,得到最终参与区块生成过程的目标事务请求集合。例如,假设图3中,前3个目标事务请求集合累计的空间占用量小于区块空间阈值,但若直接增加依次筛选出的第4个目标事务请求集合,则前4个目标事务请求集合累计的空间占用量大于区块空间阈值,此时,可以跳过第4个目标事务请求集合,通过增加依次确定的第5个或者第N个目标事务请求集合,以确保累计的空间占用量不超过区块空间阈值。
图4是根据本申请实施例公开的另一种区块链中事务请求处理方法的流程图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。如图4所示,该方法可以包括:
S201、根据区块链网络中事务请求之间的依赖关系,确定至少一个事务请求集合。
S202、根据事务请求的支付凭证和空间占用量,确定事务请求集合的重要因子。
其中,事务请求的支付凭证,代表区块链节点执行该事务请求后可以获得的收益;重要因子作为事务请求集合的一个评价指标,可以在确保区块链节点合理选择待处理的事务请求的同时,有效保证区块链节点可以得到较多的支付凭证,尽可能地使得区块链节点在生成区块过程中的收益最大化,进而使得区块链网络中存在一个更为有效、合理的激励计算模式,保障区块的正常、及时生成。
例如,如果区块链节点单纯按照手续费用的高低,选择当前待处理的事务请求,不仅事务请求之间的依赖关系得不到保障,而且当手续费较高的事务请求的空间占用量较大时,由于区块空间有限,区块链节点可以执行的事务请求的数量也是有限的,因此,虽然个别事务请求的手续费较高,但是区块链节点可以执行的事务请求数量较少,最终综合得到的支付凭证也并非最佳值,因而区块链节点对事务请求的选择,仍存在不合理之处,不能实现对区块链节点参与区块生成的有效激励作用。采用本申请实施例的技术方案,将事务请求的支付凭证和空间占用量进行综合考虑,则可以解决单纯依据手续费高低选择事务请求的不合理问题。
根据事务请求的支付凭证和空间占用量,可以利用区块链网络中预先设置的重要因子计算公式,计算每个事务请求集合的重要因子。在确保重要因子计算合理的基础上,本申请实施例对重要因子计算公式的具体形式不作限定。
示例性的,根据事务请求的支付凭证和空间占用量,确定事务请求集合的重要因子,包括:
计算事务请求集合中,各事务请求的总支付凭证,即各个事务请求的支付凭证之和;
计算事务请求集合中,各事务请求的总空间占用量,即各个事务请求的空间占用量之和(sum_size);
将总支付凭证与总空间占用量的商值,作为事务请求集合的重要因子。
进一步的,事务请求集合的重要因子,也可以称为该事务请求集合的性价比。
S203、根据事务请求集合的重要因子,从至少一个事务请求集合中确定目标事务请求集合。
示例性的,可以按照各个事务请求集合的重要因子,对各个事务请求集合进行排序,按照排序结果,确定目标事务请求集合,例如,将排序第一位的事务请求集合确定为目标事务请求集合,进一步的,还可以利用重要因子,构建最大堆,将最大堆的根节点对应的事务请求集合确定为目标事务请求集合;或者,可以按照各个事务请求集合的重要因子与因子阈值的关系,确定目标事务请求集合,例如,将超过因子阈值的事务请求集合,确定为目标事务请求集合,其中,因子阈值的取值可以合理性设置。
区块链节点确定出目标事务请求集合之后,可以通过执行目标事务请求集合中的事务请求生成区块。
根据本申请实施例的技术方案,区块链节点按照事务请求之间的依赖关系,得到至少一个事务请求集合之后,通过根据事务请求的支付凭证和空间占用量,计算可以用于综合评估事务请求集合的重要因子,进而根据该重要因子,选择参与区块生成过程的目标事务请求集合,在确保区块链节点合理化选择待处理的事务请求的同时,保证了区块链节点可以得到较多的支付凭证,并为区块链节点提供了一个更为有效、合理的奖励计算模式,实现了对区块链节点参与区块生成的有效激励,保障了区块的正常、及时生成。
需要说明的是,本申请实施例的技术方案可以适用于任意类型的区块链网络,包括但不限于联盟链网络、公开链网络等,优选的,可以适用于部署非竞争出块的共识机制的区块链网络中,例如,部署有按周期轮流出块的共识机制的区块链网络中。在部署非竞争出块的共识机制的区块链网络中,不同区块链节点之间不需要竞争记账权,因此,区块链节点可以在不考虑时间成本的基础上,利用较为充足的时间,通过执行本申请实施例的技术方案,选择待处理的事务请求。从而,为参与部署非竞争出块共识机制的区块链网络的节点,提供一种生成区块过程中更为合理的事务请求选择方式,对区块链节点参与区块生成进行有效的激励。
图5是根据本申请实施例公开的另一种区块链中事务请求处理方法的流程图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。如图5所示,该方法可以包括:
S301、根据区块链网络中事务请求之间的依赖关系,构建事务请求之间的有向无环图。
S302、利用有向无环图,确定至少一个事务请求集合。
具体的,每个事务请求可以作为有向无环图的一个节点,事务请求之间的依赖关系可以作为有向无环图的边。通过构建有向无环图,可以条理化管理各事务请求之间的依赖关系,并且,有向无环图具有较高的可扩展性,随着事务请求的增加或减少,均可以灵活改变。进一步的,在利用有向无环图确定的事务请求集合中,包括叶子事务请求,以及叶子事务请求依赖的各非叶子事务请求;且不同事务请求集合中的叶子事务请求不同。
示例性一,以图2所示的多个事务请求之间的依赖关系为例,可以确定3个事务请求集合,分别如下:
事务请求集合1:事务请求A→事务请求B→事务请求C;
事务请求集合2:事务请求D;
事务请求集合3:事务请求E→事务请求F→事务请求H,以及事务请求G→事务请求H。
其中,在事务请求集合1中,事务请求A为叶子事务请求,事务请求B和事务请求C为叶子事务请求依赖的非叶子事务请求;
在事务请求集合2:事务请求D为独立事务请求;
在事务请求集合3中,事务请求E和事务请求G为叶子事务请求,事务请求F和事务请求H为叶子事务请求E依赖的非叶子事务请求,事务请求H为叶子事务请求G依赖的非叶子事务请求。
示例性二,假设一个事务请求可以对应一个交易,多个交易之间存在如下依赖关系:交易2依赖于交易1,交易3依赖于交易2,交易4依赖于交易3,那么,事务请求集合或者交易序列可以表示如下:
交易序列1:交易1;
交易序列2:交易2→交易1;
交易序列3:交易3→交易2→交易1;
交易序列4:交易4→交易3→交易2→交易1;
其中,在交易序列1中,交易1为独立交易;
在交易序列2中,交易2为叶子交易,交易1为非叶子交易(或称为祖先交易);
在交易序列3中,交易3为叶子交易,交易2和交易1为非叶子交易;
在交易序列4中,交易4为叶子交易,交易3、交易2和交易1为非叶子交易。
并且,由上述示例也可以看出,当多个事务请求之间存在相同的依赖关系时,每个事务请求集合中均包括最初始的依赖事务请求(或称为最老的祖先事务请求)。例如上述示例中,交易序列2-交易序列4中,均包括最老的祖先交易:交易1。
S303、根据事务请求的支付凭证和空间占用量,确定事务请求集合的重要因子。
S304、将事务请求集合的重要因子作为节点,构建最大堆。
S305、将最大堆的根节点对应的事务请求集合,确定为目标事务请求集合。
最大堆是一种二叉树的形式,根节点(或称为堆顶)的值最大。图6作为示例,示出了构建最大堆的一种示意图。如图6所示,假设依赖区块链网络中事务请求之间的依赖关系,确定出7个事务请求集合,每个事务请求集合各自的重要因子分别为21、12、18、8、6、15、22,将该7个重要因子作为各节点的值,构建初始二叉树,如图6中第一个子图所示;然后由下至上,依次比较相邻节点之间的值,并将值较大的节点调换至上一层节点,如图6中第二个子图所示,第二个子图是通过将第一个子图中值为22的节点和值为18的节点进行位置调换后得到;由于当前还不满足最大堆要求,继续遍历节点,进行由下而上的节点位置调换,将第二个子图中值为22的节点和值为21的节点进行位置调换,得到图6中的第三个子图。此时,值为22的节点对应的事务请求集合,即重要因子为22的事务请求集合,为目标事务请求集合。
得益于最大堆的固有特性,通过利用最大堆选择目标事务请求集合,有效确保了目标事务请求集合确定的效率。
S306、确定累计的目标事务请求集合的空间占用量是否达到区块空间阈值。
区块空间阈值与区块链网络中区块的空间大小有关,可以用于反映区块的空间大小的上限。如果确定累计的目标事务请求集合的空间占用量小于区块空间阈值,则执行操作S307,基于区块链网络中的剩余事务请求,进入目标事务请求集合确定的下一个循环中。
如果确定累计的目标事务请求集合的空间占用量等于区块空间阈值,即认为达到了区块大小的上限,则执行操作S308,结束目标事务请求集合的确定操作,可以进行区块打包。
S307、确定区块链网络中的剩余事务请求。
其中,剩余事务请求包括区块链网络中,除去目标事务请求集合中的事务请求之外的事务请求。在初始阶段,可以为区块链网络中的事务请求建立一个待确认事务请求列表,用于记录区块链网络中当前未被确认是否参与区块生成过程的事务请求;每确定一个目标事务请求集合后,便将目标事务请求集合中包括的事务请求从待确认事务请求列表中移除,从而确定出区块链网络中剩余的事务请求。
当确定出区块链网络中的剩余事务请求后,可以继续执行操作S301,根据剩余事务请求之间的依赖关系,构建新的有向无环图;进而基于新的有向无环图,确定出至少一个新事务请求集合;确定每个新事务请求集合的重要因子,并构建新最大堆,利用新最大堆,确定新目标事务请求集合;如果累计确定的目标事务请求集合的空间占用量未达到区块空间阈值,则可以继续重复执行目标事务请求集合的确定操作,直至达到区块空间阈值,则可以结束循环。其中,需要说明的是,新事务请求集合是指在目标事务请求集合确定过程中,一个新的循环过程中确定的事务请求集合,而并非是限定区块链网络中新产生的事务请求。
S308、结束目标事务请求集合的确定操作。
为便于理解本申请实施例中最大堆的构建过程,图7示出了构建最大堆的另一种示意图,但不应理解为对本申请实施例的具体限定。如图7所示,假设当前循环过程中,目标事务请求集合的重要因子为22,其对应的根节点可以从当前最大堆中移除,即当前最大堆的根节点为空;进一步的,如果假设当前剩余的事务请求集合中不存在和目标事务请求集合中重复的事务请求,如图2所示的情况,则目标事务请求集合的确定不会对当前剩余事务请求集合产生影响,进而剩余事务请求集合的重要因子无需发生变化,在下一个循环过程中,可以将最末位的节点调整至根节点上;然后由下而上,依次比较相邻节点的值,并将值较大的节点调换至上一层节点,直至得到新的最大堆,如图7中第三个子图所示,值为21的根节点对应的事务请求集合为一个新目标事务请求集合。
当然,图7作为一种示例,对应一种较为简单的情况。在实际应用中,根据区块链网络中事务请求之间的依赖关系,确定的多个事务请求集合中,通常会存在重复的事务请求,例如事务请求集合1中包括:事务请求2→事务请求1,事务请求集合2中包括:事务请求3→事务请求2→事务请求1;当前循环中确定一个目标事务请求集合之后,为避免对重复事务请求的考虑,在下一循环中,利用剩余事务请求重新确定多个新事务请求集合,并确定每个新事务请求集合的重要因子,例如,当前目标事务请求集合中包括事务请求1和事务请求2,在新目标事务请求集合的确定过程中,便不需要重复考虑事务请求1和事务请求2。因此,基于当前最大堆构建新的最大堆的过程中,将会存在当前最大堆中部分节点失效(即事务请求集合中包括的事务请求发送变化),以及需要新增节点的情况。对于在不同循环过程中,事务请求集合中包括的事务请求未发生变化的情况,事务请求集合的重要因子也不会发生变化,因此,对应到最大堆中的节点也无需变化。
进而,在上述技术方案的基础上,可选的,在确定累计的目标事务请求集合的空间占用量小于区块空间阈值之后,根据区块链网络中剩余事务请求之间的依赖关系,确定至少一个新事务请求集合,并根据新事务请求集合执行新目标事务请求集合的确定操作包括:
将当前确定的至少一个事务请求集合中,与当前目标事务请求集合中存在重复事务请求的集合,确定为无效集合,并将无效集合的重要因子确定为无效节点;
将无效节点从当前最大堆中移除,并将当前根节点从当前最大堆中移除,得到剩余节点;
根据区块链网络中剩余事务请求之间的依赖关系,确定至少一个新事务请求集合,将至少一个新事务请求集合中与当前确定的至少一个事务请求集合不同的集合,确定为新增集合,并重新确定新增集合的重要因子;
将新增集合的重要因子作为新增节点;
利用前述确定的剩余节点和新增节点,重新构建新最大堆;
将新最大堆的根节点对应的事务请求集合,确定为新目标事务请求集合。
针对新增节点,可以添加在已有最大堆的任意节点上,如图6中第一个子图所示,最后一个值为22的节点可以看作一个新增节点,通过与相邻节点之间的比较,逐步调整至堆顶位置。
根据本申请实施例的技术方案,区块链节点在选择待处理事务请求的过程中,首先利用有向无环图确定至少一个事务请求集合,使得在多次的循环操作过程中,重新确定事务请求集合的计算代价可以降到最低;利用最大堆筛选目标事务请求集合,可以减少重要因子的比对次数,提高目标事务请求集合的确定效率;并且,本申请实施例通过综合考虑事务请求之间的依赖关系、事务请求的支付凭证和空间占用量,筛选参与区块打包的事务请求,在确保区块链节点合理化选择待处理的事务请求的同时,保证了区块链节点可以得到较多的支付凭证,实现了对区块链节点参与区块生成的有效激励。
图8是根据本申请实施例公开的一种区块链中事务请求处理装置的结构示意图。本申请实施例可以适用于区块链节点在生成区块过程中,如何合理选择待处理的事务请求的情况。本申请实施例公开的装置可以采用软件和/或硬件实现,并可集成在区块链节点上,区块链节点可以部署在任意的具有计算能力的电子设备上。
如图8所示,本申请实施例公开的区块链中事务请求处理装置800可以包括集合确定模块801和集合选择模块802,其中:
集合确定模块801,用于根据区块链网络中事务请求之间的依赖关系,确定至少一个事务请求集合;
集合选择模块802,用于从至少一个事务请求集合中确定目标事务请求集合,以通过执行目标事务请求集合中的事务请求生成区块。
可选的,本申请实施例公开的装置还包括:
循环执行模块,用于在集合选择模块802执行从至少一个事务请求集合中确定目标事务请求集合的操作之后,如果确定的目标事务请求集合的空间占用量小于区块空间阈值,则根据剩余事务请求之间的依赖关系,确定至少一个新事务请求集合,并根据新事务请求集合执行新目标事务请求集合的确定操作;
其中,剩余事务请求包括区块链网络中,除去目标事务请求集合中的事务请求之外的事务请求。
可选的,集合选择模块802包括:
重要因子确定单元,用于根据事务请求的支付凭证和空间占用量,确定事务请求集合的重要因子;
集合选择单元,用于根据事务请求集合的重要因子,从至少一个事务请求集合中确定目标事务请求集合。
可选的,集合选择单元包括:
最大堆构建子单元,用于将事务请求集合的重要因子作为节点,构建最大堆;
目标集合确定子单元,用于将最大堆的根节点对应的事务请求集合,确定为目标事务请求集合。
可选的,集合确定模块801包括:
有向无环图构建单元,用于根据区块链网络中事务请求之间的依赖关系,构建事务请求之间的有向无环图;
集合确定单元,用于利用有向无环图,确定至少一个事务请求集合。
可选的,事务请求集合包括叶子事务请求,以及叶子事务请求依赖的各非叶子事务请求;且不同事务请求集合中的叶子事务请求不同。
可选的,重要因子确定单元包括:
总支付凭证计算子单元,用于计算事务请求集合中,各事务请求的总支付凭证;
总空间占用量计算子单元,用于计算事务请求集合中,各事务请求的总空间占用量;
重要因子确定子单元,用于将总支付凭证与总空间占用量的商值,作为事务请求集合的重要因子。
可选的,区块链网络中部署非竞争出块的共识机制。
本申请实施例所公开的区块链中事务请求处理装置800可执行本申请实施例所公开的任意区块链中事务请求处理方法,具备执行方法相应的功能模块和有益效果。本申请装置实施例中未详尽描述的内容可以参考本申请任意方法实施例中的描述。
根据本申请的实施例,本申请实施例还提供了一种电子设备和一种可读存储介质。
如图9所示,图9是用于实现本申请实施例中区块链中事务请求处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请实施例的实现。
如图9所示,该电子设备包括:一个或多个处理器901、存储器902,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形用户界面(Graphical User Interface,GUI)的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作,例如,作为服务器阵列、一组刀片式服务器、或者多处理器***。图9中以一个处理器901为例。
存储器902即为本申请实施例所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请实施例所提供的区块链中事务请求处理方法。本申请实施例的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请实施例所提供的区块链中事务请求处理方法。
存储器902作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中区块链中事务请求处理方法对应的程序指令/模块,例如,附图8所示的集合确定模块801和集合选择模块802。处理器901通过运行存储在存储器902中的非瞬时软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例中的区块链中事务请求处理方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至用于实现本申请实施例中区块链中事务请求处理方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
用于实现本申请实施例中区块链中事务请求处理方法的电子设备还可以包括:输入装置903和输出装置904。处理器901、存储器902、输入装置903和输出装置904可以通过总线或者其他方式连接,图9中以通过总线连接为例。
输入装置903可接收输入的数字或字符信息,以及产生与用于实现本申请实施例中区块链中事务请求处理方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置904可以包括显示设备、辅助照明装置和触觉反馈装置等,其中,辅助照明装置例如发光二极管(Light Emitting Diode,LED);触觉反馈装置例如,振动电机等。该显示设备可以包括但不限于,液晶显示器(Liquid Crystal Display,LCD)、LED显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、专用集成电路(Application Specific Integrated Circuit,ASIC)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
这些计算程序,也称作程序、软件、软件应用、或者代码,包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置,例如,磁盘、光盘、存储器、可编程逻辑装置(Programmable Logic Device,PLD),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置,例如,阴极射线管(Cathode Ray Tube,CRT)或者LCD监视器;以及键盘和指向装置,例如,鼠标或者轨迹球,用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈,例如,视觉反馈、听觉反馈、或者触觉反馈;并且可以用任何形式,包括声输入、语音输入或者、触觉输入,来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***,例如,作为数据服务器,或者实施在包括中间件部件的计算***,例如,应用服务器,或者实施在包括前端部件的计算***,例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互,或者实施在包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信,例如通信网络,来将***的部件相互连接。通信网络的示例包括:局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、互联网和区块链网络。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,区块链节点在区块生成过程中,通过按照事务请求之间的依赖关系,对各事务请求进行聚合分组,得到至少一个事务请求集合,以集合为单位,确定参与区块生成过程的事务请求,有效保障了事务请求处理过程中事务请求之间的依赖关系,解决了按照手续费逐个选择待处理的事务请求时,易割裂事务请求之间的依赖关系,导致事务请求处理过程出错概率较大的问题,在保证区块链节点存在一定的奖励收益的基础上,提高了区块链节点选择事务请求的合理性。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (18)
1.一种区块链中事务请求处理方法,其特征在于,包括:
根据区块链网络中事务请求之间的依赖关系,确定至少一个事务请求集合;
从所述至少一个事务请求集合中确定目标事务请求集合,以通过执行所述目标事务请求集合中的事务请求生成区块。
2.根据权利要求1所述的方法,其特征在于,从所述至少一个事务请求集合中确定目标事务请求集合之后,所述方法还包括:
如果确定的目标事务请求集合的空间占用量小于区块空间阈值,则根据剩余事务请求之间的依赖关系,确定至少一个新事务请求集合,并根据所述新事务请求集合执行新目标事务请求集合的确定操作;
其中,所述剩余事务请求包括所述区块链网络中,除去所述目标事务请求集合中的事务请求之外的事务请求。
3.根据权利要求1或2所述的方法,其特征在于,从所述至少一个事务请求集合中确定目标事务请求集合,包括:
根据所述事务请求的支付凭证和空间占用量,确定所述事务请求集合的重要因子;
根据所述事务请求集合的重要因子,从所述至少一个事务请求集合中确定所述目标事务请求集合。
4.根据权利要求3所述的方法,其特征在于,根据所述事务请求集合的重要因子,从所述至少一个事务请求集合中确定所述目标事务请求集合,包括:
将所述事务请求集合的重要因子作为节点,构建最大堆;
将所述最大堆的根节点对应的事务请求集合,确定为所述目标事务请求集合。
5.根据权利要求1所述的方法,其特征在于,所述根据区块链网络中事务请求之间的依赖关系,确定至少一个事务请求集合,包括:
根据所述区块链网络中事务请求之间的依赖关系,构建所述事务请求之间的有向无环图;
利用所述有向无环图,确定所述至少一个事务请求集合。
6.根据权利要求5所述的方法,其特征在于,所述事务请求集合包括叶子事务请求,以及所述叶子事务请求依赖的各非叶子事务请求;且不同事务请求集合中的叶子事务请求不同。
7.根据权利要求3所述的方法,其特征在于,根据所述事务请求的支付凭证和空间占用量,确定所述事务请求集合的重要因子,包括:
计算所述事务请求集合中,各事务请求的总支付凭证;
计算所述事务请求集合中,各事务请求的总空间占用量;
将所述总支付凭证与所述总空间占用量的商值,作为所述事务请求集合的重要因子。
8.根据权利要求1所述的方法,其特征在于,所述区块链网络中部署非竞争出块的共识机制。
9.一种区块链中事务请求处理装置,其特征在于,包括:
集合确定模块,用于根据区块链网络中事务请求之间的依赖关系,确定至少一个事务请求集合;
集合选择模块,用于从所述至少一个事务请求集合中确定目标事务请求集合,以通过执行所述目标事务请求集合中的事务请求生成区块。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
循环执行模块,用于在所述集合选择模块执行从所述至少一个事务请求集合中确定目标事务请求集合的操作之后,如果确定的目标事务请求集合的空间占用量小于区块空间阈值,则根据剩余事务请求之间的依赖关系,确定至少一个新事务请求集合,并根据所述新事务请求集合执行新目标事务请求集合的确定操作;
其中,所述剩余事务请求包括所述区块链网络中,除去所述目标事务请求集合中的事务请求之外的事务请求。
11.根据权利要求9或10所述的装置,其特征在于,所述集合选择模块包括:
重要因子确定单元,用于根据所述事务请求的支付凭证和空间占用量,确定所述事务请求集合的重要因子;
集合选择单元,用于根据所述事务请求集合的重要因子,从所述至少一个事务请求集合中确定所述目标事务请求集合。
12.根据权利要求11所述的装置,其特征在于,所述集合选择单元包括:
最大堆构建子单元,用于将所述事务请求集合的重要因子作为节点,构建最大堆;
目标集合确定子单元,用于将所述最大堆的根节点对应的事务请求集合,确定为所述目标事务请求集合。
13.根据权利要求9所述的装置,其特征在于,所述集合确定模块包括:
有向无环图构建单元,用于根据所述区块链网络中事务请求之间的依赖关系,构建所述事务请求之间的有向无环图;
集合确定单元,用于利用所述有向无环图,确定所述至少一个事务请求集合。
14.根据权利要求13所述的装置,其特征在于,所述事务请求集合包括叶子事务请求,以及所述叶子事务请求依赖的各非叶子事务请求;且不同事务请求集合中的叶子事务请求不同。
15.根据权利要求11所述的装置,其特征在于,所述重要因子确定单元包括:
总支付凭证计算子单元,用于计算所述事务请求集合中,各事务请求的总支付凭证;
总空间占用量计算子单元,用于计算所述事务请求集合中,各事务请求的总空间占用量;
重要因子确定子单元,用于将所述总支付凭证与所述总空间占用量的商值,作为所述事务请求集合的重要因子。
16.根据权利要求9所述的装置,其特征在于,所述区块链网络中部署非竞争出块的共识机制。
17.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的区块链中事务请求处理方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-8中任一项所述的区块链中事务请求处理方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010268452.3A CN111506783B (zh) | 2020-04-08 | 2020-04-08 | 区块链中事务请求处理方法、装置、设备和介质 |
US16/952,173 US11334945B2 (en) | 2020-04-08 | 2020-11-19 | Method and device for processing transaction request in blockchain, electronic apparatus, and storage medium |
KR1020210006243A KR102647629B1 (ko) | 2020-04-08 | 2021-01-15 | 블록 체인에서의 업무 청구 처리 방법, 장치, 기기, 매체 및 프로그램 |
EP21164026.3A EP3816906A3 (en) | 2020-04-08 | 2021-03-22 | Method and device for processing transaction request in blockchain, electronic apparatus and storage medium |
JP2021047402A JP7266629B2 (ja) | 2020-04-08 | 2021-03-22 | ブロックチェーンにおけるトランザクション要求処理方法、装置、設備、記憶媒体、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010268452.3A CN111506783B (zh) | 2020-04-08 | 2020-04-08 | 区块链中事务请求处理方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111506783A true CN111506783A (zh) | 2020-08-07 |
CN111506783B CN111506783B (zh) | 2023-12-22 |
Family
ID=71874190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010268452.3A Active CN111506783B (zh) | 2020-04-08 | 2020-04-08 | 区块链中事务请求处理方法、装置、设备和介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11334945B2 (zh) |
EP (1) | EP3816906A3 (zh) |
JP (1) | JP7266629B2 (zh) |
KR (1) | KR102647629B1 (zh) |
CN (1) | CN111506783B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111640020A (zh) * | 2020-05-22 | 2020-09-08 | 百度在线网络技术(北京)有限公司 | 区块链中事务请求处理方法、装置、设备和介质 |
CN112150286A (zh) * | 2020-09-27 | 2020-12-29 | 深圳壹账通智能科技有限公司 | 基于区块链的交易处理方法、装置、电子设备及存储介质 |
CN113034142A (zh) * | 2021-01-29 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置以及计算机设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240110913A1 (en) | 2021-04-07 | 2024-04-04 | Cornell University | A multiplex assay for the diagnosis of brucella canis infection |
JPWO2022265014A1 (zh) | 2021-06-18 | 2022-12-22 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170212781A1 (en) * | 2016-01-26 | 2017-07-27 | International Business Machines Corporation | Parallel execution of blockchain transactions |
CN107992356A (zh) * | 2017-12-13 | 2018-05-04 | 上海壹账通金融科技有限公司 | 区块链事务区块处理方法、电子装置及可读存储介质 |
US20180158034A1 (en) * | 2016-12-07 | 2018-06-07 | International Business Machines Corporation | Dynamic reordering of blockchain transactions to optimize performance and scalability |
CN108537543A (zh) * | 2018-03-30 | 2018-09-14 | 百度在线网络技术(北京)有限公司 | 区块链数据的并行处理方法、装置、设备和存储介质 |
CN109951547A (zh) * | 2019-03-15 | 2019-06-28 | 百度在线网络技术(北京)有限公司 | 事务请求并行处理方法、装置、设备和介质 |
CN109951546A (zh) * | 2019-03-15 | 2019-06-28 | 百度在线网络技术(北京)有限公司 | 基于智能合约的事务请求处理方法、装置、设备和介质 |
US20190243820A1 (en) * | 2018-11-30 | 2019-08-08 | Alibaba Group Holding Limited | Utilizing nonce table to resolve concurrent blockchain transaction failure |
CN110535970A (zh) * | 2019-09-16 | 2019-12-03 | 百度在线网络技术(北京)有限公司 | 司法链的证据存证和处理方法、装置、设备和介质 |
CN110806923A (zh) * | 2019-10-29 | 2020-02-18 | 百度在线网络技术(北京)有限公司 | 一种区块链任务的并行处理方法、装置、电子设备和介质 |
CN110855688A (zh) * | 2019-11-18 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 一种区块链信息处理方法及相关设备 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7509370B1 (en) * | 2008-05-15 | 2009-03-24 | International Business Machines Corporation | Method for optimizing parallel processing of backend transactions by prioritizing related transactions |
CN111756550B (zh) * | 2017-03-28 | 2023-08-22 | 创新先进技术有限公司 | 一种区块链共识方法及装置 |
US10679210B2 (en) * | 2017-06-26 | 2020-06-09 | International Business Machines Corporation | Blockchain transaction commitment ordering |
WO2019005098A1 (en) * | 2017-06-30 | 2019-01-03 | Go Logic Decision Time, Llc | METHODS AND SYSTEMS FOR PROJECTIVE ASSERTION SIMULATION |
EP4312403A3 (en) | 2017-11-09 | 2024-02-21 | nChain Licensing AG | Arithmetic enhancement of c-like smart contracts for verifiable computation |
US10579424B2 (en) * | 2018-05-15 | 2020-03-03 | International Business Machines Corporation | Prioritization in a permissioned blockchain |
US11182379B2 (en) | 2018-08-24 | 2021-11-23 | Oracle International Corporation | DAG based methods and systems of transaction processing in a distributed ledger |
SG11201908294TA (en) | 2019-03-28 | 2019-10-30 | Alibaba Group Holding Ltd | System and method for parallel-processing blockchain transactions |
US11249985B2 (en) * | 2019-06-15 | 2022-02-15 | Facebook, Inc. | Scalable, secure, efficient, and adaptable distributed digital ledger transaction network |
US11336455B2 (en) * | 2019-09-25 | 2022-05-17 | International Business Machines Corporation | Consensus protocol for blockchain DAG structure |
-
2020
- 2020-04-08 CN CN202010268452.3A patent/CN111506783B/zh active Active
- 2020-11-19 US US16/952,173 patent/US11334945B2/en active Active
-
2021
- 2021-01-15 KR KR1020210006243A patent/KR102647629B1/ko active IP Right Grant
- 2021-03-22 EP EP21164026.3A patent/EP3816906A3/en not_active Ceased
- 2021-03-22 JP JP2021047402A patent/JP7266629B2/ja active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170212781A1 (en) * | 2016-01-26 | 2017-07-27 | International Business Machines Corporation | Parallel execution of blockchain transactions |
US20180158034A1 (en) * | 2016-12-07 | 2018-06-07 | International Business Machines Corporation | Dynamic reordering of blockchain transactions to optimize performance and scalability |
CN107992356A (zh) * | 2017-12-13 | 2018-05-04 | 上海壹账通金融科技有限公司 | 区块链事务区块处理方法、电子装置及可读存储介质 |
WO2019114128A1 (zh) * | 2017-12-13 | 2019-06-20 | 深圳壹账通智能科技有限公司 | 区块链事务区块处理方法、电子装置及可读存储介质 |
CN108537543A (zh) * | 2018-03-30 | 2018-09-14 | 百度在线网络技术(北京)有限公司 | 区块链数据的并行处理方法、装置、设备和存储介质 |
US20190243820A1 (en) * | 2018-11-30 | 2019-08-08 | Alibaba Group Holding Limited | Utilizing nonce table to resolve concurrent blockchain transaction failure |
CN109951547A (zh) * | 2019-03-15 | 2019-06-28 | 百度在线网络技术(北京)有限公司 | 事务请求并行处理方法、装置、设备和介质 |
CN109951546A (zh) * | 2019-03-15 | 2019-06-28 | 百度在线网络技术(北京)有限公司 | 基于智能合约的事务请求处理方法、装置、设备和介质 |
CN110535970A (zh) * | 2019-09-16 | 2019-12-03 | 百度在线网络技术(北京)有限公司 | 司法链的证据存证和处理方法、装置、设备和介质 |
CN110806923A (zh) * | 2019-10-29 | 2020-02-18 | 百度在线网络技术(北京)有限公司 | 一种区块链任务的并行处理方法、装置、电子设备和介质 |
CN110855688A (zh) * | 2019-11-18 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 一种区块链信息处理方法及相关设备 |
Non-Patent Citations (2)
Title |
---|
ANDREAS M. ANTONOPOULOS, O‘REILLY MEDIA, INC. * |
刘雄文;: "多区块链交易分发和事件处理的***方案", 计算机科学, vol. 2, no. 2, pages 218 - 239 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111640020A (zh) * | 2020-05-22 | 2020-09-08 | 百度在线网络技术(北京)有限公司 | 区块链中事务请求处理方法、装置、设备和介质 |
CN111640020B (zh) * | 2020-05-22 | 2023-09-19 | 百度在线网络技术(北京)有限公司 | 区块链中事务请求处理方法、装置、设备和介质 |
CN112150286A (zh) * | 2020-09-27 | 2020-12-29 | 深圳壹账通智能科技有限公司 | 基于区块链的交易处理方法、装置、电子设备及存储介质 |
CN113034142A (zh) * | 2021-01-29 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置以及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111506783B (zh) | 2023-12-22 |
JP2021101574A (ja) | 2021-07-08 |
KR20210125893A (ko) | 2021-10-19 |
US11334945B2 (en) | 2022-05-17 |
US20210319508A1 (en) | 2021-10-14 |
EP3816906A3 (en) | 2021-10-20 |
EP3816906A2 (en) | 2021-05-05 |
JP7266629B2 (ja) | 2023-04-28 |
KR102647629B1 (ko) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111506783A (zh) | 区块链中事务请求处理方法、装置、设备和介质 | |
US9727383B2 (en) | Predicting datacenter performance to improve provisioning | |
US11734060B2 (en) | Graph data based task scheduling method, apparatus and storage medium thereof | |
CN111640020B (zh) | 区块链中事务请求处理方法、装置、设备和介质 | |
US8495206B2 (en) | Method and system for job scheduling in distributed data processing system with identification of optimal network topology | |
US9218221B2 (en) | Token sharing mechanisms for burst-mode operations | |
JP6247388B2 (ja) | バーストモード制御 | |
US20140380324A1 (en) | Burst-mode admission control using token buckets | |
US20140379922A1 (en) | Equitable distribution of excess shared-resource throughput capacity | |
US20140376368A1 (en) | Compound token buckets for burst-mode admission control | |
Freeman et al. | Dynamic proportional sharing: A game-theoretic approach | |
JP2020123003A (ja) | 仮想化基盤および仮想化基盤のスケーリング管理方法 | |
JP5515889B2 (ja) | 仮想マシンシステム、自動マイグレーション方法および自動マイグレーションプログラム | |
WO2021074848A1 (en) | Computer-implemented method for reaching a distributed consensus in a blockchain network and node implementing the method | |
Karakostas et al. | Efficient state management in distributed ledgers | |
Huang | The value-of-information in matching with queues | |
JP6627475B2 (ja) | 処理リソース制御プログラム、処理リソース制御装置、および処理リソース制御方法 | |
JP4879528B2 (ja) | マルチラテラルネッティング決済方法、システム及びプログラム | |
CN110570310A (zh) | 区块链的转账方法和共识实现方法、装置、设备和介质 | |
JP7466047B1 (ja) | 情報処理方法及びプログラム | |
CN110766553B (zh) | 一种资源中转方法、装置、***、电子设备及介质 | |
CN111835863B (zh) | 电子资源处理方法、装置、设备及存储介质 | |
Xiao et al. | Blockchain Mining: Optimal Resource Allocation | |
Bienkowski | Dynamic page migration with stochastic requests | |
JP4060807B2 (ja) | コンテンツ流通管理システム、サービス管理装置、コンテンツ流通管理方法、およびプログラム |
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 |