CN111640020A - 区块链中事务请求处理方法、装置、设备和介质 - Google Patents
区块链中事务请求处理方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN111640020A CN111640020A CN202010443579.4A CN202010443579A CN111640020A CN 111640020 A CN111640020 A CN 111640020A CN 202010443579 A CN202010443579 A CN 202010443579A CN 111640020 A CN111640020 A CN 111640020A
- Authority
- CN
- China
- Prior art keywords
- transaction request
- request set
- current
- candidate
- transaction
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/102—Bill distribution or payments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- 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
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time 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
- 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/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
-
- 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
-
- 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/3821—Electronic credentials
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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
-
- 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
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Software Systems (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Pure & Applied Mathematics (AREA)
- Quality & Reliability (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Tourism & Hospitality (AREA)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- Technology Law (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Bioinformatics & Computational Biology (AREA)
- Educational Administration (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
Abstract
本申请实施例公开了一种区块链中事务请求选择方法、装置、设备和介质,涉及区块链技术。其中,该方法包括:将区块链网络中具有依赖关系的待选择事务请求进行聚合,得到至少一个事务请求集合;确定事务请求集合所属的候选因子区间,其中,因子区间用于衡量事务请求集合参与区块生成过程的概率;从候选因子区间中选择当前目标因子区间,并从当前目标因子区间对应的候选事务请求集合中,选择参与区块生成过程的当前目标事务请求集合。本申请实施例可以提高区块生成过程中区块链节点选择事务请求的合理性和选择效率,并提高出块效率。
Description
技术领域
本申请实施例涉及计算机技术,具体涉及区块链技术,尤其涉及一种区块链中事务请求选择方法、装置、设备和介质。
背景技术
目前,在存在出块奖励机制的区块链网络中,出块节点通常按照大量交易的手续费高低,进行交易排序,从而选择出待处理的交易。
然而,出块节点处理的交易数量通常是有限的,按照手续费选择待处理交易,非常容易割裂交易之间依赖关系,导致后续交易处理出错。因此,如何在保障出块节点的奖励收益的基础上,同时保证各交易的顺利执行,仍是区块链领域中亟待解决的问题。并且,对出块节点而言,如何提高出块效率,也是不可忽视的问题。
发明内容
本申请实施例公开一种区块链中事务请求处理方法、装置、设备和介质,以提高区块生成过程中区块链节点选择事务请求的合理性和选择效率,并提高出块效率。
第一方面,本申请实施例公开了一种区块链中事务请求处理方法,包括:
将区块链网络中具有依赖关系的待选择事务请求进行聚合,得到至少一个事务请求集合;
确定所述事务请求集合所属的候选因子区间,其中,因子区间用于衡量所述事务请求集合参与区块生成过程的概率;
从所述候选因子区间中选择当前目标因子区间,并从所述当前目标因子区间对应的候选事务请求集合中,选择参与区块生成过程的当前目标事务请求集合。
第二方面,本申请实施例还公开了一种区块链中事务请求处理装置,包括:
事务请求集合确定模块,用于将区块链网络中具有依赖关系的待选择事务请求进行聚合,得到至少一个事务请求集合;
候选因子区间确定模块,用于确定所述事务请求集合所属的候选因子区间,其中,因子区间用于衡量所述事务请求集合参与区块生成过程的概率;
事务请求集合选择模块,用于从所述候选因子区间中选择当前目标因子区间,并从所述当前目标因子区间对应的候选事务请求集合中,选择参与区块生成过程的当前目标事务请求集合。
第三方面,本申请实施例还公开了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本申请实施例任一所述的区块链中事务请求处理方法。
第四方面,本申请实施例还公开了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如本申请实施例任一所述的区块链中事务请求处理方法。
根据本申请实施例的技术方案,通过按照选择当前目标因子区间以及从当前目标因子区间对应的候选事务请求集合中选择当前目标事务请求集合的循环逻辑,经过至少一次循环选择,累计确定出参与区块生成过程的目标事务请求集合,最终通过执行累计确定的目标事务请求集合中的事务请求生成区块,其中,目标事务请求集合中的事务请求之间存在依赖关系,提高了区块生成过程中区块链节点选择事务请求的合理性和选择效率,并提高了出块效率。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例公开的一种区块链中事务请求处理方法的流程图;
图2是根据本申请实施例公开的多个事务请求之间的一种依赖关系的示意图;
图3是根据本申请实施例公开的另一种区块链中事务请求处理方法的流程图;
图4是根据本申请实施例公开的一种性价比有序图和候选事务请求集合有序图的示意图;
图5是根据本申请实施例公开的一种区块链中事务请求处理的架构示意图;
图6是根据本申请实施例公开的另一种区块链中事务请求处理方法的流程图;
图7是根据本申请实施例公开的一种区块链中事务请求处理装置的结构示意图;
图8是根据本申请实施例公开的一种电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图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、确定事务请求集合所属的候选因子区间,其中,因子区间用于衡量事务请求集合参与区块生成过程的概率。
在本申请实施例中,可以预先设置多个候选因子区间,例如可以表示为(0,N]、(N,2N]、…、(x·N,(x+1)·N],x和N的取值可以根据实际情况进行设置。各个候选因子区间之间上限或者下限不存在重叠,并且,区间上限或者下限的值越大则说明处于该区间内的事务请求集合被选中以参与区块生成过程的概率越大。然后,根据每个事务请求集合的属性,确定每个事务请求集合所属的候选因子区间。事务请求集合的属性可以是任意的能够用于衡量事务请求集合是否被选择以参与区块生成过程的特征信息,例如,事务请求集合的属性可以包括集合中包含的事务请求的数量、事务请求的支付凭证、事务请求的空间占用量(size)和事务请求的优先级等因素中的一种或多种。示例性的,可以根据事务请求集合的属性,确定各事务请求集合的激励因子,即对事务请求集合的评估值,然后根据该激励因子,确定各事务请求集合所属的候选因子区间。
以单一考虑因素为例,事务请求集合中包含的事务请求的数量处于预设阈值区间内时,则可以认为事务请求集合的激励因子较大,即被区块链节点选择以参与区块生成过程的概率越大,其中,该阈值区间可以根据区块链节点执行每个事务请求的时间成本与打包生成一个区块的时间成本而定,这样可以使得区块链节点在生成区块过程中能够实现综合评估执行所选择的各事务请求的时间成本是否合理;如果在事务请求集合中,支付凭证超过凭证阈值的事务请求的数量与第一数量阈值的差值越大,则可以认为该事务请求集合的激励因子越大,其中,事务请求的支付凭证或称为手续费,代表区块链节点执行该事务请求后可以获得的奖励或收益,因此,从获利角度而言,事务请求集合中包括的支付凭证较高的事务请求越多,则该事务请求集合被区块链节点选择以参与区块生成过程的概率越大;如果在事务请求集合中,属于高优先级的事务请求的数量与第二数量阈值的差值越大,则可以认为该事务请求集合的激励因子越大,其中,事务请求的优先级可以根据事务请求涉及的业务类型、生成时间、重要性和业务价值等因素,由区块链系统来确定,也可以由区块链节点自行指定,本申请实施例不作具体限定。前述涉及的各类阈值,均可以在实际应用中进行适应性设置,本申请实施例不作具体限定。
基于前述解释,进一步地,可以基于至少两种考虑因素,综合确定事务请求集合的激励因子。示例性的,可以根据事务请求集合中,支付凭证超过凭证阈值的事务请求的数量与第一数量阈值的差值,以及属于高优先级的事务请求的数量与第二数量阈值的差值,确定事务请求集合的激励因子。事务请求集合中包括的支付凭证较高的事务请求越多,且包括的属于高优先级的事务请求越多,则该事情请求集合的激励因子越大。通常,属于高优先级的事务请求对应的支付凭证也较高。
或者,示例性的,根据事务请求集合中事务请求的支付凭证和空间占用量,确定事务请求集合的激励因子,例如可以包括:计算事务请求集合中,各事务请求的总支付凭证,即各个事务请求的支付凭证之和;计算事务请求集合中,各事务请求的总空间占用量,即各个事务请求的空间占用量之和(sum_size);将总支付凭证与总空间占用量的商值,作为事务请求集合的激励因子。此时,该激励因子也可以称为事务请求集合的性价比,可以使得区块链节点根据选择的各事务请求的空间占用量以及执行这些事务请求可以获得的收益进行权衡,确保即可以充分利用区块空间又可以获取合理化收益,尽量实现收益最大化,这样对于区块链节点积极争取记账权也是一项有效的激励策略,进而使得区块链网络中存在一个更为有效、合理的激励计算模式,保障区块的正常、及时生成。
当区块链节点单纯按照手续费用的高低,选择参与区块生成过程的事务请求,不仅事务请求之间的依赖关系得不到保障,而且当手续费较高的事务请求的空间占用量较大时,由于区块空间有限,区块链节点可以执行的事务请求的数量也是有限的,因此,虽然个别事务请求的手续费较高,但是区块链节点可以执行的事务请求数量较少,最终综合得到的奖励或收益可能也并非最佳值,因而区块链节点对事务请求的选择,仍存在不合理之处,即从收益的角度而言,不能实现对区块链节点参与区块生成的有效激励作用。通过将事务请求的支付凭证和空间占用量进行综合考虑,则可以解决单纯依据手续费高低选择事务请求的不合理问题。
进一步的,在上述技术方案的基础上,确定事务请求集合所属的候选因子区间,包括:
基于事务请求集合的激励因子,通过遍历已创建因子区间的上限和下限,匹配事务请求集合所属的候选因子区间;其中,该激励因子可以用于表征区块链节点执行事务请求集合中的事务请求获取的奖励,或者还可以用于表征事务请求集合参与区块生成过程的概率;
如果未匹配到,则新建事务请求集合所属的候选因子区间。即候选因子区间根据事务请求集合的产生,可以处于动态变化之中。
S103、从候选因子区间中选择当前目标因子区间,并从当前目标因子区间对应的候选事务请求集合中,选择参与区块生成过程的当前目标事务请求集合。
当确定事务请求集合所属的候选因子区间后,可以根据预先制定的区间选择策略,首先从多个候选因子区间中选择当前目标因子区间,例如优先选择区间上限值或者区间下限值最大的候选因子区间;然后在当前目标因子区间对应的多个候选事务请求集合中,根据集合选择策略,选择当前目标事务请求集合,例如优先选择多个候选事务请求集合中事务请求空间占用量最大的集合作为当前目标事务请求集合。其中,集合选择策略可以根据业务处理过程中对事务请求集合属性的具体需求而定,即候选事务请求集合中包含的事务请求的数量、事务请求的支付凭证、事务请求的空间占用量和事务请求的优先级等因素中的任一项,均可以根据当前业务需求而作为当前目标事务请求集合的选择因素。
进一步的,在选择参与区块生成过程的当前目标事务请求集合之后,本申请实施例公开的方法还可以包括:
计算当前目标事务请求集合、以及当前区块生成周期中已选择的目标事务请求集合的总空间占用量;
如果得到的总空间占用量小于区块空间阈值,则根据剩余的待选择事务请求之间的依赖关系,确定至少一个新事务请求集合,并根据新事务请求集合执行新的当前目标事务请求集合的确定操作,即重复执行操作S101-S103;
其中,区块空间阈值与区块链网络中区块的空间大小有关,可以用于反映区块的空间大小的上限;剩余的待选择事务请求包括区块链网络中,除去当前目标事务请求集合、以及当前区块生成周期中已选择的目标事务请求集合中的事务请求之外的事务请求。
当经过目标事务请求集合的至少一次循环选择,最终累计确定的事务请求满足区块生成条件时,区块链节点可以执行选择的各个事务请求,生成当前区块,并添加至区块链上。
根据本申请实施例的技术方案,在目标事务请求集合的每次循环选择过程中,首先按照待选择事务请求之间的依赖关系,得到多个事务请求集合,并按照事务请求集合所属的候选因子区间将事务请求集合进行归类,然后从多个候选因子区间中选择出当前目标因子区间,并从当前目标因子区间对应候选事务请求集合中选择出当前目标事务请求集合,以参与区块生成,解决了现有方案中由于割裂事务请求之间的依赖关系导致区块链节点选择参与区块生成过程的事务请求不合理,进而影响区块生成效率的问题,提高了区块生成过程中区块链节点选择事务请求的合理性以及选择效率,并且提高了出块效率。
在上述技术方案的基础上,可选的,将区块链网络中具有依赖关系的待选择事务请求进行聚合,得到至少一个事务请求集合,包括:
根据区块链网络中待选择事务请求之间的依赖关系,构建待选择事务请求之间的有向无环图;
利用有向无环图,将具有依赖关系的待选择事务请求进行聚合,得到至少一个事务请求集合。
具体的,每个待选择事务请求可以作为有向无环图的一个节点,待选择事务请求之间的依赖关系可以作为有向无环图的边。通过构建有向无环图,可以条理化管理各待选择事务请求之间的依赖关系,并且,有向无环图具有较高的可扩展性,随着待选择事务请求的增加或减少,均可以灵活改变。进一步的,事务请求集合包括叶子事务请求,以及叶子事务请求依赖的各非叶子事务请求;且不同事务请求集合中的叶子事务请求不同。
示例性一,以图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。
当前目标事务请求集合的一个选择循环结束后,可以将当前目标事务请求集合中包括的事务请求从当前区块链网络中的待选择事务请求中去除,得到剩余的待选择事务请求,然后基于剩余的待选择事务请求之间的依赖关系,重新构建有向无环图,以用于确定新的当前目标事务请求集合。
图3是根据本申请实施例公开的另一种区块链中事务请求处理方法的流程图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。如图3所示,该方法可以包括:
S301、将区块链网络中具有依赖关系的待选择事务请求进行聚合,得到至少一个事务请求集合。
S302、确定事务请求集合所属的候选因子区间,其中,因子区间用于衡量事务请求集合参与区块生成过程的概率。
其中,可以根据事务请求集合中事务请求的支付凭证和空间占用量,确定事务请求集合的激励因子,此时,该激励因子也可以称为事务请求集合的性价比,用于表征区块链节点执行事务请求集合中的事务请求获取的奖励。然后,基于事务请求集合的激励因子,通过遍历已创建因子区间的上限和下限,匹配事务请求集合所属的候选因子区间;如果未匹配到,则新建事务请求集合所属的候选因子区间。即候选因子区间根据事务请求集合的产生,可以处于动态变化之中。
S303、按照候选因子区间的区间值,选择当前因子区间。
例如,可以优先选择区间上限值或者区间下限值最大的候选因子区间作为当前因子区间。
S304、根据当前因子区间对应的候选事务请求集合的空间占用量,从当前因子区间对应的候选事务请求集合中选择当前事务请求集合。
具体的,在当前因子区间对应的候选事务请求集合中,可以通过对候选事务请求集合的空间占用量进行排序,根据排序结果确定当前事务请求集合,例如按照候选事务请求集合的空间占用量进行由大到小排序,优选将排在首位的候选事务请求作为当前事务请求集合。或者,在当前因子区间对应的候选事务请求集合中,将空间占用量大于空间占用阈值的候选事务请求集合确定为当前事务请求集合,其中,空间占用阈值可以灵活设置,例如,可以根据空间占用阈值,选择空间占用量最大的候选事务请求集合作为当前事务请求集合。
在区块链上每个区间的空间大小相对而言是固定的,按照候选事务请求集合的空间占用量选择当前事务请求集合,可以实现对空间占用量较大的候选事务请求集合的优先选择,在实现对区块空间充分利用的基础上,还可以一定程度上减少对参与区块生成过程的事务请求的选择次数,进而节省区块链节点选择事务请求的时间成本(算力),从而平衡节点收益和算力消耗,针对部署竞争出块的共识机制的区块链网络,可以使得区块链节点有充足的算力去争夺记账权,不至于因为选择事务请求耗费较多算力而未竞争得到记账权。并且,事务请求集合的选择数量减少,相对而言,累计选择的事务请求的总数量也可以减少,进而使得区块链节点生成区块时所需消耗的算力也较少。
S305、根据当前事务请求集合和当前区块生成周期中已选择的目标事务请求集合,对当前事务请求集合进行验证。
S306、根据验证结果确定当前目标因子区间以及当前目标事务请求集合。
具体的,可以根据预先设定的验证策略,例如截止当前,区块链节点累计选择的事务请求集合的数量或者累计选择的事务请求的数量是否超过对应的数量阈值,或者区块链节点累计选择的事务请求集合的总空间占用量是否超过区块空间阈值等,对当前事务请求集合进行验证。其中,区块空间阈值与区块链网络中区块的空间大小有关,可以用于反映区块的空间大小的上限。
示例性的,根据当前事务请求集合和当前区块生成周期中已选择的目标事务请求集合,对当前事务请求集合进行验证,包括:
计算当前事务请求集合和当前区块生成周期中已选择的目标事务请求集合的总空间占用量;
根据总空间占用量和区块空间阈值的关系,对当前事务请求集合进行验证。
如果截止当前,区块链节点累计选择的事务请求集合的数量或者累计选择的事务请求的数量未超过对应的数量阈值,或者区块链节点累计选择的事务请求集合的总空间占用量未超过区块空间阈值等,则认为验证通过,可以将当前因子区间作为当前目标因子区间,并可以将当前事务请求集合作为当前目标事务请求集合。如果验证失败,则需要基于当前因子区间对应的剩余候选事务请求集合或者剩余候选因子区间,重新执行当前目标因子区间以及当前目标事务请求集合的确定操作,直至满足区块生成条件。其中,当前因子区间对应的剩余候选事务请求集合包括当前因子区间对应的除去验证失败的事务请求集合之外的事务请求集合,剩余候选因子区间包括除去当前因子区间之外的候选因子区间。
根据本申请实施例的技术方案,在目标事务请求集合的每次循环选择过程中,当按照事务请求集合所属的候选因子区间的区间值,选择当前因子区间,并根据当前因子区间对应的候选事务请求集合的空间占用量,从当前因子区间对应的候选事务请求集合中选择当前事务请求集合之后,通过基于截止当前累计选择的事务请求集合对当前事务请求集合进行验证,根据验证结果确定当前目标因子区间以及当前目标事务请求集合,不仅解决了现有方案中由于割裂事务请求之间的依赖关系导致区块链节点选择参与区块生成过程的事务请求不合理,进而影响区块生成效率的问题,提高了区块生成过程中区块链节点选择事务请求的选择效率,而且确保了每次循环选择过程中对目标事务请求集合选择的合理性。尤其是,通过首先根据事务请求集合中事务请求的支付凭证和空间占用量确定事务请求集合所属的候选因子区间,然后根据区块链节点截止当前累计选择的事务请求集合的总空间占用量是否超过区块空间阈值,对当前选择的事务请求集合进行验证,实现了充分考虑区块链节点的收益以及充分利用区块空间的效果。
在上述技术方案的基础上,可选的,根据验证结果确定当前目标因子区间以及当前目标事务请求集合,包括:
如果对当前事务请求集合验证失败,则将当前因子区间作为当前目标因子区间,并基于当前因子区间对应的剩余候选事务请求集合,执行当前目标事务请求集合的确定操作;其中,剩余候选事务请求集合包括当前因子区间对应的除去验证失败的事务请求集合之外的事务请求集合;示例性的,剩余候选事务请求集合可以按照事务请求集合的空间占用量,由大到小,依次进行考虑。
进一步的,根据验证结果确定当前目标因子区间以及当前目标事务请求集合,还包括:
如果从当前因子区间对应的剩余候选事务请求集合中无法确定当前目标事务请求集合,则基于剩余候选因子区间,执行当前目标因子区间的确定操作,以及基于新确定的当前目标因子区间对应的候选事务请求集合,执行当前目标事务请求集合的确定操作;其中,剩余候选因子区间包括除去当前因子区间之外的候选因子区间;示例性的的,剩余候选因子区间可以按照区间上限值或区间下限值依次减小的顺序进行考虑。
即在目标事务请求集合的循环确定过程中,优选在当前目标因子区间对应的候选事务请求集合中,经过多次选择与验证,确定出当前目标事务请求集合;其次,考虑在剩余候选因子区间对应的候选事务请求集合中确定当前目标事务请求集合,这有助于区块链节点即使需要经历多次选择确定出当前目标事务请求集合,也可以保持较高的选择效率。并且,以事务请求集合的激励因子可以用于表征区块链节点执行事务请求集合中的事务请求获取的奖励为例,区间上限值或者区间下限值最大的候选因子区间对应的候选事务请求集合,给区块链节点带来的收益也相对较大,依次按照当前目标因子区间、剩余候选因子区间这样的先后顺序,选择当前目标事务请求集合,可以确保区块链节点的合理收益最大化,并最大程度地减少收益损失。
基于上述技术方案,当根据事务请求集合中事务请求的支付凭证和空间占用量,确定事务请求集合的激励因子时,该激励因子可以称为事务请求集合的性价比,因此,图4作为示例,示出了一种性价比有序图和候选事务请求集合有序图的示意图,不应理解为对本申请实施例的具体限定。其中,性价比有序图即指事务请求集合的候选因子区间按照区间值,例如上限值或者下限值,进行排序后得到区间排序图,例如可以包括候选因子区间1,2,……N或者性价比区间1,2,……N,N为整数。候选因子区间和对应的候选事务请求集合可以按照键值对(key-value)的关系进行存储,例如将候选因子区间作为键,将区间对应的候选事务请求集合作为键值。进一步的,每个候选因子区间N或者性价比区间N对应的多个候选事务请求集合,可以按照各个候选事务请求集合的空间占用量,进行由大到小排序,得到候选事务请求集合有序图N。每个候选事务请求集合有序图同样可以按照键值对的形式进行存储,例如将同一候选因子区间中,每个候选事务请求集合的集合序列或编号作为键,将候选事务请求集合的空间占用量作为键值。每新建一个候选因子区间或者性价比区间,或者区间内的候选事务请求集合发生变化,便会对该区间当前对应的候选事务请求集合,按照集合空间占用量进行排序,得到候选事务请求集合有序图。
通过综合利用性价比有序图和候选事务请求集合有序图,可以实现在目标事务请求集合选择过程中对待选择事务请求的有效管理,并为目标事务请求集合的高效选择奠定基础。
图5是根据本申请实施例公开的一种区块链中事务请求处理的架构示意图。如图5所示,在当前区块生成周期内,区块链网络中的待选择事务请求可以待选择事务请求列表的形式进行存储,根据待选择事务请求集合之间的依赖关系构建有向无环图,确定至少一个事务请求集合;然后根据事务请求集合的激励因子确定其所属的候选因子区间;进而利用构建的性价比有序图确定当前目标因子区间,利用候选事务请求集合有序图确定当前目标事务请求集合,从而提高区块链节点选择参与区块生成过程的事务请求集合的效率。并且,随着当前目标事务请求集合的确定,有向无环图、性价比有序图和候选事务请求集合有序图,可以根据区块链网络中剩余的待选择事务请求而适应性变更。
图6是根据本申请实施例公开的另一种区块链中事务请求处理方法的流程图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。具体的,图6以有限次循环的执行过程为例,对本申请实施例中当前目标事务请求集合的选择过程进行示例性说明,不应理解为对本申请实施例的具体限定。如图6所示,该方法可以包括:
S601、选择当前最高性价比区间对应的候选事务请求集合有序图。
S602、选择候选事务请求集合有序图中空间占用量最大的候选事务请求集合。
需要说明的是,在当前最高性价比区间对应的候选事务请求集合有序图中,首先优选空间占用量最大的候选事务请求集合作为当前目标事务请求集合,是为了减少区块链节点选择事务请求的时间成本,平衡收益与时间成本(算力),确保自己的记账权。因为如果在同一价比区区间中,每次都按照性价比最大的候选事务请求集合的来选择,虽然可以保证收益最大,但是存在处理成本高的风险,例如区块链节点处理100个空间占用量很小的交易,总收益是100,而处理一个空间占用量最大的交易,总收益为99,但是处理该空间占用量最大的交易,所花费的时间成本只有前者的百分之一。对竞争出块的场景来说,如果区块链节点把时间成本都花费在寻找收益最大的最优交易上,可能会造成抢不到记账权,因此,需要在收益和时间成本之间进行平衡,达到兼顾两者的效果。
S603、判断累计的空间占用量是否会导致超出区块空间阈值。
如果是,则执行操作S604;如果否,则执行操作S607。
S604、确定当前候选事务请求集合有序图中,是否有空间占用量较小的候选事务请求集合可选择。
如果是,则执行操作S606;如果否,则执行操作S605。
S605、选择次高性价比区间对应的候选事务请求集合有序图。
S606、选择当前候选事务请求集合有序图中空间占用量较小的候选事务请求集合。
具体的,可以选择当前最高性价比区间对应的候选事务请求集合有序图中,空间占用量次最大的候选事务请求集合,返回操作S603,再次判断累计的空间占用量是否会导致超出区块空间阈值,循环执行,直至选择出一个可参与区块生成过程的候选事务请求集合,使得累计选择的集合空间占用量不会导致超出区块空间阈值。
S607、确定空间占用量最大的候选事务请求集合可添加至区块中,删除该候选事务请求集合,并且若相应的候选事务请求集合有序图为空,则删除该相应的候选事务请求集合有序图及对应的性价比区间。
当经过多次循环选择,累计选择的目标事务请求集合满足区块生成条件时,例如,截止当前,累计选择的目标事务请求集合的总空间占用量达到区块空间阈值,即认为可以充分利用区块空间,则可以执行累计选择的事务请求,以生成区块。
根据本申请实施例的技术方案,在选择目标事务请求集合过程中,通过综合利用性价比有序图和候选事务请求集合有序图,不仅实现了对待选择事务请求的有效管理,而且提高了区块生成过程中区块链节点选择事务请求的合理性以及选择效率,提高了出块效率;同时,从获取收益的角度,有效保障了具有记账权的区块链节点的收益,对于区块链节点积极争取记账权也是一项有效的激励策略。
图7是根据本申请实施例公开的一种区块链中事务请求处理装置的结构示意图,本申请实施例可以适用于区块链节点在生成区块过程中,如何合理、高效地选择待处理的事务请求的情况。本申请实施例公开的装置可以采用软件和/或硬件实现,并可集成在区块链节点上,区块链节点可以部署在任意的具有计算能力的电子设备上。
如图7所示,本申请实施例公开的区块链中事务请求处理装置700可以包括事务请求集合确定模块701、候选因子区间确定模块702和事务请求集合选择模块703,其中:
事务请求集合确定模块701,用于将区块链网络中具有依赖关系的待选择事务请求进行聚合,得到至少一个事务请求集合;
候选因子区间确定模块702,用于确定事务请求集合所属的候选因子区间,其中,因子区间用于衡量事务请求集合参与区块生成过程的概率;
事务请求集合选择模块703,用于从候选因子区间中选择当前目标因子区间,并从当前目标因子区间对应的候选事务请求集合中,选择参与区块生成过程的当前目标事务请求集合。
可选的,候选因子区间确定模块702包括:
匹配单元,用于基于事务请求集合的激励因子,通过遍历已创建因子区间的上限和下限,匹配事务请求集合所属的候选因子区间,其中,激励因子用于表征区块链节点执行事务请求集合中的事务请求获取的奖励;
新建单元,用于如果未匹配到,则新建事务请求集合所属的候选因子区间。
可选的,事务请求集合选择模块703包括:
区间选择单元,用于按照候选因子区间的区间值,选择当前因子区间;
集合选择单元,用于根据当前因子区间对应的候选事务请求集合的空间占用量,从当前因子区间对应的候选事务请求集合中选择当前事务请求集合;
验证单元,用于根据当前事务请求集合和当前区块生成周期中已选择的目标事务请求集合,对当前事务请求集合进行验证;
确定单元,用于根据验证结果确定当前目标因子区间以及当前目标事务请求集合。
可选的,验证单元包括:
计算子单元,用于计算当前事务请求集合和当前区块生成周期中已选择的目标事务请求集合的总空间占用量;
验证子单元,用于根据总空间占用量和区块空间阈值的关系,对当前事务请求集合进行验证。
可选的,确定单元包括:
第一确定子单元,用于如果对当前事务请求集合验证失败,则将当前因子区间作为当前目标因子区间,并基于当前因子区间对应的剩余候选事务请求集合,执行当前目标事务请求集合的确定操作;
其中,剩余候选事务请求集合包括当前因子区间对应的除去验证失败的事务请求集合之外的事务请求集合;
第一确定子单元,还用于如果对当前事务请求集合验证通过,则将当前因子区间作为当前目标因子区间,将当前事务请求集合作为当前目标事务请求集合。
可选的,确定单元还包括:
第二确定子单元,用于如果从当前因子区间对应的剩余候选事务请求集合中无法确定当前目标事务请求集合,则基于剩余候选因子区间,执行当前目标因子区间的确定操作,以及基于新确定的当前目标因子区间对应的候选事务请求集合,执行当前目标事务请求集合的确定操作;
其中,剩余候选因子区间包括除去当前因子区间之外的候选因子区间。
可选的,集合选择单元具体用于:
在当前因子区间对应的候选事务请求集合中,通过对候选事务请求集合的空间占用量进行排序,根据排序结果确定当前事务请求集合;或者,在当前因子区间对应的候选事务请求集合中,将空间占用量大于空间占用阈值的候选事务请求集合确定为当前事务请求集合。
可选的,本申请实施例公开的装置还包括:
激励因子确定模块,用于在候选因子区间确定模块702执行确定事务请求集合所属的候选因子区间的操作之前,根据事务请求集合中事务请求的支付凭证和空间占用量,确定事务请求集合的激励因子。
可选的,事务请求集合确定模块701包括:
有向无环图构建单元,用于根据区块链网络中待选择事务请求之间的依赖关系,构建待选择事务请求之间的有向无环图;
事务请求集合确定单元,用于利用有向无环图,将具有依赖关系的待选择事务请求进行聚合,得到至少一个事务请求集合。
可选的,事务请求集合包括叶子事务请求,以及叶子事务请求依赖的各非叶子事务请求;且不同事务请求集合中的叶子事务请求不同。
可选的,区块链网络中部署竞争出块的共识机制。
本申请实施例所公开的区块链中事务请求处理装置700可执行本申请实施例所公开的任意区块链中事务请求处理方法,具备执行方法相应的功能模块和有益效果。本申请装置实施例中未详尽描述的内容可以参考本申请任意方法实施例中的描述。
根据本申请的实施例,本申请实施例还提供了一种电子设备和一种可读存储介质。
如图8所示,图8是用于实现本申请实施例中区块链中事务请求处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请实施例的实现。
如图8所示,该电子设备包括:一个或多个处理器801、存储器802,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形用户界面(Graphical User Interface,GUI)的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作,例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统。图8中以一个处理器801为例。
存储器802即为本申请实施例所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请实施例所提供的区块链中事务请求处理方法。本申请实施例的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请实施例所提供的区块链中事务请求处理方法。
存储器802作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中区块链中事务请求处理方法对应的程序指令/模块,例如,附图7所示的事务请求集合确定模块701、候选因子区间确定模块702和事务请求集合选择模块703。处理器801通过运行存储在存储器802中的非瞬时软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例中的区块链中事务请求处理方法。
存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至用于实现本申请实施例中区块链中事务请求处理方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
用于实现本申请实施例中区块链中事务请求处理方法的电子设备还可以包括:输入装置803和输出装置804。处理器801、存储器802、输入装置803和输出装置804可以通过总线或者其他方式连接,图8中以通过总线连接为例。
输入装置803可接收输入的数字或字符信息,以及产生与用于实现本申请实施例中区块链中事务请求处理方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置804可以包括显示设备、辅助照明装置和触觉反馈装置等,其中,辅助照明装置例如发光二极管(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 (13)
1.一种区块链中事务请求处理方法,其特征在于,包括:
将区块链网络中具有依赖关系的待选择事务请求进行聚合,得到至少一个事务请求集合;
确定所述事务请求集合所属的候选因子区间,其中,因子区间用于衡量所述事务请求集合参与区块生成过程的概率;
从所述候选因子区间中选择当前目标因子区间,并从所述当前目标因子区间对应的候选事务请求集合中,选择参与区块生成过程的当前目标事务请求集合。
2.根据权利要求1所述的方法,其特征在于,确定所述事务请求集合所属的候选因子区间,包括:
基于所述事务请求集合的激励因子,通过遍历已创建因子区间的上限和下限,匹配所述事务请求集合所属的候选因子区间,其中,所述激励因子用于表征区块链节点执行所述事务请求集合中的事务请求获取的奖励;
如果未匹配到,则新建所述事务请求集合所属的候选因子区间。
3.根据权利要求1所述的方法,其特征在于,从所述候选因子区间中选择当前目标因子区间,并从所述当前目标因子区间对应的候选事务请求集合中,选择参与区块生成过程的当前目标事务请求集合,包括:
按照所述候选因子区间的区间值,选择当前因子区间;
根据所述当前因子区间对应的候选事务请求集合的空间占用量,从所述当前因子区间对应的候选事务请求集合中选择当前事务请求集合;
根据所述当前事务请求集合和当前区块生成周期中已选择的目标事务请求集合,对所述当前事务请求集合进行验证;
根据验证结果确定所述当前目标因子区间以及所述当前目标事务请求集合。
4.根据权利要求3所述的方法,其特征在于,根据所述当前事务请求集合和当前区块生成周期中已选择的目标事务请求集合,对所述当前事务请求集合进行验证,包括:
计算所述当前事务请求集合和所述当前区块生成周期中已选择的目标事务请求集合的总空间占用量;
根据所述总空间占用量和区块空间阈值的关系,对所述当前事务请求集合进行验证。
5.根据权利要求3或4所述的方法,其特征在于,所述根据验证结果确定所述当前目标因子区间以及所述当前目标事务请求集合,包括:
如果对所述当前事务请求集合验证失败,则将所述当前因子区间作为所述当前目标因子区间,并基于所述当前因子区间对应的剩余候选事务请求集合,执行所述当前目标事务请求集合的确定操作;
其中,所述剩余候选事务请求集合包括所述当前因子区间对应的除去验证失败的事务请求集合之外的事务请求集合。
6.根据权利要求5所述的方法,其特征在于,所述根据验证结果确定所述当前目标因子区间以及所述当前目标事务请求集合,还包括:
如果从所述当前因子区间对应的剩余候选事务请求集合中无法确定所述当前目标事务请求集合,则基于剩余候选因子区间,执行所述当前目标因子区间的确定操作,以及基于新确定的当前目标因子区间对应的候选事务请求集合,执行所述当前目标事务请求集合的确定操作;
其中,所述剩余候选因子区间包括除去所述当前因子区间之外的候选因子区间。
7.根据权利要求3所述的方法,其特征在于,根据所述当前因子区间对应的候选事务请求集合的空间占用量,从所述当前因子区间对应的候选事务请求集合中选择当前事务请求集合,包括:
在所述当前因子区间对应的候选事务请求集合中,通过对所述候选事务请求集合的空间占用量进行排序,根据排序结果确定所述当前事务请求集合;或者,
在所述当前因子区间对应的候选事务请求集合中,将空间占用量大于空间占用阈值的候选事务请求集合确定为所述当前事务请求集合。
8.根据权利要求2所述的方法,其特征在于,在确定所述事务请求集合所属的候选因子区间之前,所述方法还包括:
根据所述事务请求集合中事务请求的支付凭证和空间占用量,确定所述事务请求集合的激励因子。
9.根据权利要求1所述的方法,其特征在于,所述将区块链网络中具有依赖关系的待选择事务请求进行聚合,得到至少一个事务请求集合,包括:
根据所述区块链网络中待选择事务请求之间的依赖关系,构建所述待选择事务请求之间的有向无环图;
利用所述有向无环图,将具有依赖关系的待选择事务请求进行聚合,得到所述至少一个事务请求集合。
10.根据权利要求1所述的方法,其特征在于,所述区块链网络中部署竞争出块的共识机制。
11.一种区块链中事务请求处理装置,其特征在于,包括:
事务请求集合确定模块,用于将区块链网络中具有依赖关系的待选择事务请求进行聚合,得到至少一个事务请求集合;
候选因子区间确定模块,用于确定所述事务请求集合所属的候选因子区间,其中,因子区间用于衡量所述事务请求集合参与区块生成过程的概率;
事务请求集合选择模块,用于从所述候选因子区间中选择当前目标因子区间,并从所述当前目标因子区间对应的候选事务请求集合中,选择参与区块生成过程的当前目标事务请求集合。
12.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的区块链中事务请求处理方法。
13.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-10中任一项所述的区块链中事务请求处理方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010443579.4A CN111640020B (zh) | 2020-05-22 | 2020-05-22 | 区块链中事务请求处理方法、装置、设备和介质 |
US17/211,472 US11769125B2 (en) | 2020-05-22 | 2021-03-24 | Method and apparatus for processing transaction requests in blockchain, device and medium |
JP2021049434A JP7158522B2 (ja) | 2020-05-22 | 2021-03-24 | ブロックチェーン内のトランザクション要求処理方法、装置、デバイス、媒体、及びプログラム |
EP21164653.4A EP3832574A3 (en) | 2020-05-22 | 2021-03-24 | Method and apparatus for processing transaction requests in blockchain, device and medium |
KR1020210037792A KR102620191B1 (ko) | 2020-05-22 | 2021-03-24 | 블록체인에서의 업무 요청 처리방법, 장치, 기기, 매체 및 프로그램 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010443579.4A CN111640020B (zh) | 2020-05-22 | 2020-05-22 | 区块链中事务请求处理方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111640020A true CN111640020A (zh) | 2020-09-08 |
CN111640020B CN111640020B (zh) | 2023-09-19 |
Family
ID=72331530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010443579.4A Active CN111640020B (zh) | 2020-05-22 | 2020-05-22 | 区块链中事务请求处理方法、装置、设备和介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11769125B2 (zh) |
EP (1) | EP3832574A3 (zh) |
JP (1) | JP7158522B2 (zh) |
KR (1) | KR102620191B1 (zh) |
CN (1) | CN111640020B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434264A (zh) * | 2021-07-14 | 2021-09-24 | 上海浦东发展银行股份有限公司 | 一种任务组件的智能处理方法、装置、设备和存储介质 |
JP2022109880A (ja) * | 2021-01-15 | 2022-07-28 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | トランザクション要求の構築方法、処理方法、装置、機器および記憶媒体 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115617806B (zh) * | 2022-10-31 | 2023-07-04 | 哈尔滨工业大学(深圳) | 一种区块打包方法、装置、电子设备及存储介质 |
CN115604354B (zh) * | 2022-12-09 | 2023-03-28 | 北京百度网讯科技有限公司 | 基于区块链的事务处理方法、装置、设备及存储介质 |
CN115952237B (zh) * | 2023-01-28 | 2023-06-09 | 北京星途探索科技有限公司 | 一种多端数据融合系统 |
Citations (6)
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 |
CN109166037A (zh) * | 2018-07-25 | 2019-01-08 | 上海魅联信息技术有限公司 | 区块链的共识方法 |
CN109492566A (zh) * | 2018-10-31 | 2019-03-19 | 奇瑞汽车股份有限公司 | 车道位置信息获取方法、装置及存储介质 |
CN110806923A (zh) * | 2019-10-29 | 2020-02-18 | 百度在线网络技术(北京)有限公司 | 一种区块链任务的并行处理方法、装置、电子设备和介质 |
CN111147242A (zh) * | 2019-12-31 | 2020-05-12 | 百度在线网络技术(北京)有限公司 | 区块生成方法、装置、电子设备和存储介质 |
CN111506783A (zh) * | 2020-04-08 | 2020-08-07 | 百度在线网络技术(北京)有限公司 | 区块链中事务请求处理方法、装置、设备和介质 |
Family Cites Families (15)
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 |
US10291627B2 (en) * | 2016-10-17 | 2019-05-14 | Arm Ltd. | Blockchain mining using trusted nodes |
US20180158034A1 (en) * | 2016-12-07 | 2018-06-07 | International Business Machines Corporation | Dynamic reordering of blockchain transactions to optimize performance and scalability |
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 |
CN107688999B (zh) | 2017-08-11 | 2020-11-13 | 杭州溪塔科技有限公司 | 一种基于区块链的并行交易执行方法 |
US10873625B2 (en) * | 2018-02-26 | 2020-12-22 | International Business Machines Corpora ! Ion | Service management for the infrastructure of blockchain networks |
CN109214795A (zh) | 2018-09-18 | 2019-01-15 | 北京物链互联科技有限公司 | 一种基于dag算法的区块链混合共识方法 |
CN109472566B (zh) * | 2018-09-26 | 2023-09-29 | 平安科技(深圳)有限公司 | 区块动态生成方法、装置、计算机设备和存储介质 |
EP3571653A4 (en) * | 2018-12-28 | 2020-04-08 | Alibaba Group Holding Limited | EXECUTING PARALLEL TRANSACTIONS IN A BLOCK CHAIN NETWORK |
WO2020142906A1 (zh) | 2019-01-08 | 2020-07-16 | 张季恒 | 基于结构化有向无环图的交易分配方法和装置 |
CA3055108C (en) * | 2019-03-28 | 2021-10-05 | Alibaba Group Holding Limited | 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 |
CN110619582B (zh) | 2019-09-18 | 2023-07-14 | 深圳前海微众银行股份有限公司 | 区块链交易方法、装置、设备及计算机存储介质 |
CN111597077B (zh) * | 2020-05-13 | 2022-04-29 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备以及存储介质 |
-
2020
- 2020-05-22 CN CN202010443579.4A patent/CN111640020B/zh active Active
-
2021
- 2021-03-24 US US17/211,472 patent/US11769125B2/en active Active
- 2021-03-24 EP EP21164653.4A patent/EP3832574A3/en not_active Ceased
- 2021-03-24 KR KR1020210037792A patent/KR102620191B1/ko active IP Right Grant
- 2021-03-24 JP JP2021049434A patent/JP7158522B2/ja active Active
Patent Citations (6)
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 |
CN109166037A (zh) * | 2018-07-25 | 2019-01-08 | 上海魅联信息技术有限公司 | 区块链的共识方法 |
CN109492566A (zh) * | 2018-10-31 | 2019-03-19 | 奇瑞汽车股份有限公司 | 车道位置信息获取方法、装置及存储介质 |
CN110806923A (zh) * | 2019-10-29 | 2020-02-18 | 百度在线网络技术(北京)有限公司 | 一种区块链任务的并行处理方法、装置、电子设备和介质 |
CN111147242A (zh) * | 2019-12-31 | 2020-05-12 | 百度在线网络技术(北京)有限公司 | 区块生成方法、装置、电子设备和存储介质 |
CN111506783A (zh) * | 2020-04-08 | 2020-08-07 | 百度在线网络技术(北京)有限公司 | 区块链中事务请求处理方法、装置、设备和介质 |
Non-Patent Citations (1)
Title |
---|
ANDREAS M. ANTONOPOULOS, pages: 27 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022109880A (ja) * | 2021-01-15 | 2022-07-28 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | トランザクション要求の構築方法、処理方法、装置、機器および記憶媒体 |
CN113434264A (zh) * | 2021-07-14 | 2021-09-24 | 上海浦东发展银行股份有限公司 | 一种任务组件的智能处理方法、装置、设备和存储介质 |
CN113434264B (zh) * | 2021-07-14 | 2022-08-05 | 上海浦东发展银行股份有限公司 | 一种任务组件的智能处理方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111640020B (zh) | 2023-09-19 |
JP2021103559A (ja) | 2021-07-15 |
KR102620191B1 (ko) | 2024-01-03 |
KR20210040299A (ko) | 2021-04-13 |
US20210209567A1 (en) | 2021-07-08 |
US11769125B2 (en) | 2023-09-26 |
EP3832574A3 (en) | 2021-09-15 |
JP7158522B2 (ja) | 2022-10-21 |
EP3832574A2 (en) | 2021-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111640020A (zh) | 区块链中事务请求处理方法、装置、设备和介质 | |
KR102482122B1 (ko) | 태스크 병렬 처리 구현 방법, 장치, 기기 및 매체 | |
CN111866085B (zh) | 基于区块链的数据存储方法、系统和装置 | |
CN111352705B (zh) | 一种区块链的事务处理方法、装置、设备和介质 | |
JP7254120B2 (ja) | ブロックチェーンの決済処理方法、装置、機器及び媒体 | |
CN111506783B (zh) | 区块链中事务请求处理方法、装置、设备和介质 | |
CN111695886B (zh) | 虚拟货币的记账方法、装置、电子设备及可读存储介质 | |
CN105359057A (zh) | 设置计算机参数使得电源工作在基于电源的功率效率峰值的范围内 | |
CN111240836A (zh) | 算力资源管理方法、装置、电子设备及存储介质 | |
CN111738446A (zh) | 深度学习推理引擎的调度方法、装置、设备和介质 | |
Sonmez et al. | Activity uncrashing heuristic with noncritical activity rescheduling method for the discrete time-cost trade-off problem | |
Nguyen et al. | Blockchain as a service for multi-access edge computing: A deep reinforcement learning approach | |
CN111598571A (zh) | 区块链的事务处理方法、装置、设备和存储介质 | |
KR102590112B1 (ko) | 사물인터넷 환경에서 분산 머신 러닝 학습을 위한 코딩 및 인센티브 기반 메커니즘 | |
CN110570310B (zh) | 区块链的转账方法和共识实现方法、装置、设备和介质 | |
US10991045B2 (en) | Blockchain-based settlement method, apparatus, and electronic device | |
Wen et al. | CRP: context-based reputation propagation in services composition | |
Kadhim et al. | Deadline and Cost Aware Dynamic Task Scheduling in Cloud Computing Based on Stackelberg Game. | |
CN111325465A (zh) | 基于区块链的电力调控方法、装置、设备和介质 | |
CN113837593B (zh) | 虚拟数据分配方法、装置、设备以及存储介质 | |
CN109509090A (zh) | 一种转换挖取虚拟数字货币种类的方法及装置 | |
Abdelkader et al. | Commodity resource pricing in dynamic computational grids | |
Klein et al. | A probabilistic approach for long-term B2B service compositions | |
Ramesh et al. | Design of a transaction recovery instance based on bi-directional ring election algorithm for crashed coordinator in distributed database systems | |
CN117934167A (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 |