CN110442448B - 区块生成方法、设备和存储介质 - Google Patents

区块生成方法、设备和存储介质 Download PDF

Info

Publication number
CN110442448B
CN110442448B CN201910607499.5A CN201910607499A CN110442448B CN 110442448 B CN110442448 B CN 110442448B CN 201910607499 A CN201910607499 A CN 201910607499A CN 110442448 B CN110442448 B CN 110442448B
Authority
CN
China
Prior art keywords
transaction
block height
block
queue
specified
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.)
Active
Application number
CN201910607499.5A
Other languages
English (en)
Other versions
CN110442448A (zh
Inventor
吴思进
王志文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Fuzamei Technology Co Ltd
Original Assignee
Hangzhou Fuzamei Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Fuzamei Technology Co Ltd filed Critical Hangzhou Fuzamei Technology Co Ltd
Priority to CN201910607499.5A priority Critical patent/CN110442448B/zh
Publication of CN110442448A publication Critical patent/CN110442448A/zh
Application granted granted Critical
Publication of CN110442448B publication Critical patent/CN110442448B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种区块生成方法、设备和存储介质,该方法包括:根据第一交易的第一指定区块高度信息是否为空判断第一交易是在指定区块高度执行的第一类交易或不指定区块高度执行的第二类交易:若第一交易为第一类交易,则验证第一交易的正确性,根据第一指定区块高度信息将验证正确的第一交易加入所指定的第一区块高度的第一预处理交易队列;若第一交易为第二类交易,则验证第一交易的正确性,将验证正确的第一交易加入实时交易队列;根据第一区块高度的第二预处理交易队列中的各预处理交易、实时交易队列中的若干实时交易生成第一区块。本申请将交易的检查与区块的确认并行处理,提升CPU利用率,从而加快共识过程,提升交易吞吐量。

Description

区块生成方法、设备和存储介质
技术领域
本申请涉及区块链技术领域,具体涉及一种区块生成方法、设备和存储介质。
背景技术
目前节点的CPU大多是多核的,可以并发处理任务。但是当前大多数区块链对交易的检查和区块的确认都是串行的,不能有效的利用多核CPU的优势,造成共识过程慢,交易吞吐量低等问题。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种提升CPU利用率的区块生成方法、设备和存储介质。
第一方面,本发明提供一种区块生成方法,包括:
S12:根据第一交易的第一指定区块高度信息是否为空判断第一交易是在指定区块高度执行的第一类交易或不指定区块高度执行的第二类交易:
若第一交易为第一类交易,则执行步骤S13:验证第一交易的正确性,根据第一指定区块高度信息将验证正确的第一交易加入所指定的第一区块高度的第一预处理交易队列;
若第一交易为第二类交易,则执行步骤S14:验证第一交易的正确性,将验证正确的第一交易加入实时交易队列;
S15:根据第二区块高度的第二预处理交易队列中的各预处理交易、实时交易队列中的若干实时交易生成第一区块;
其中,步骤S12至S14与步骤S15并行处理。
第二方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的区块生成方法。
第三方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的区块生成方法。
本发明诸多实施例提供的区块生成方法、设备和存储介质通过根据第一交易的第一指定区块高度信息是否为空判断第一交易是在指定区块高度执行的第一类交易或不指定区块高度执行的第二类交易:若第一交易为第一类交易,则验证第一交易的正确性,根据第一指定区块高度信息将验证正确的第一交易加入所指定的第一区块高度的第一预处理交易队列;若第一交易为第二类交易,则验证第一交易的正确性,将验证正确的第一交易加入实时交易队列;根据第二区块高度的第二预处理交易队列中的各预处理交易、实时交易队列中的若干实时交易生成第一区块的方法,将交易的检查与区块的确认并行处理,提升CPU利用率,从而加快共识过程,提升交易吞吐量。
本发明一些实施例提供的区块生成方法、设备和存储介质进一步通过根据第二区块高度的第二预处理交易队列中的各预处理交易生成第一梅克尔根;将实时交易队列中的若干实时交易和第一梅克尔根打包生成第一区块的方法,加快共识过程。
本发明一些实施例提供的区块生成方法、设备和存储介质进一步通过第二类交易的手续费高于第一类交易的手续费的方法,激励用户尽可能通过用户端发送第一类交易,保证CPU的利用率。
本发明一些实施例提供的区块生成方法、设备和存储介质进一步通过验证第一交易的正确性,并根据第一指定区块高度信息判断所指定的第一区块高度与当前区块高度的差值是否不大于预配置的第三阈值:是,则将验证成功的第一交易加入第一预处理交易队列的方法,保证有足够的内存空间存储实时交易,以及所指定的第一区块高度与当前区块高度的差值在一定范围内的预处理交易,从而保证节点内存池不拥堵。
本发明一些实施例提供的区块生成方法、设备和存储介质进一步通过所指定的第一区块高度与当前区块高度的差值与第一类交易的手续费负相关的方法,激励用户尽可能通过用户端发送所指定的第一区块高度与当前区块高度的差值较为合理的第一类交易,从而保证节点内存池不拥堵。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例中区块生成场景的示例图。
图2为本发明一实施例提供的一种区块生成方法的流程图。
图3为图2所示方法的一种优选实施方式中步骤S13的流程图。
图4为图2所示方法的一种优选实施方式中步骤S15的流程图。
图5为图2所示方法的另一种优选实施方式中步骤S13的流程图。
图6为图2所示方法的另一种优选实施方式中步骤S13的流程图。
图7为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例中区块生成场景的示例图。如图1所示,在本实施例中,节点A收到5笔交易tx1180、tx2180、tx3200、tx4、tx5,节点A将所收到的交易分别加入不同的交易队列,并根据区块高度为100的预处理交易队列中的交易及实时交易队列中的若干交易生成block100。以下结合图2对本发明提供的区块生成方法进行具体说明。
图2为本发明一实施例提供的一种区块生成方法的流程图。如图2所示,在本实施例中,本发明提供一种区块生成方法,包括:
S12:根据第一交易的第一指定区块高度信息是否为空判断第一交易是在指定区块高度执行的第一类交易或不指定区块高度执行的第二类交易:
若第一交易为第一类交易,则执行步骤S13:验证第一交易的正确性,根据第一指定区块高度信息将验证正确的第一交易加入所指定的第一区块高度的第一预处理交易队列;
若第一交易为第二类交易,则执行步骤S14:验证第一交易的正确性,将验证正确的第一交易加入实时交易队列;
S15:根据第二区块高度的第二预处理交易队列中的各预处理交易、实时交易队列中的若干实时交易生成第一区块;
其中,步骤S12至S14与步骤S15并行处理。
具体地,以图1所示应用场景为例,假设第二区块高度的第二预处理交易队列(即区块高度为100的预处理交易队列)中的预处理交易为tx6100、tx7100,实时交易队列中的若干实时交易为tx8及tx9;tx5100、tx6100、tx8、tx9、tx1180、tx2180、tx3200、tx4、tx5均为验证正确的交易;
在步骤S12中,节点A根据第一交易的第一指定区块高度信息是否为空判断第一交易是在指定区块高度执行的第一类交易或不指定区块高度执行的第二类交易:
由于tx1180的第一指定区块高度信息不为空,则执行步骤S13:节点A验证tx1180的正确性,由于tx1180为验证正确的交易,节点A根据第一指定区块高度信息(即180)将第一交易tx1180加入区块高度为180的预处理交易队列;同理,节点A将tx2180加入区块高度为180的预处理交易队列,将tx3200加入区块高度为200的预处理交易队列;
由于tx4的第一指定区块高度信息为空,则执行步骤S14:节点A验证tx4的正确性,由于tx4为验证正确的交易,节点A将tx4加入实时交易队列;同理,节点A将tx5加入实时交易队列;
在步骤S15中,节点A根据区块高度为100的预处理交易队列中的各预处理交易(即tx6100、tx7100)、实时交易队列中的若干实时交易(即tx8、tx9)生成区块block100。
上述实施例以第二区块高度的第二预处理交易队列(即区块高度为100的预处理交易队列)中的交易为tx6100、tx7100,实时交易队列中的若干实时交易为tx8及tx9为例对本发明提供的区块生成方法进行了详细阐述;节点在生成区块时,拉取的实时交易队列中实时交易的数量取决于第二预处理交易队列中的预处理交易的数量,若第二预处理交易队列中的预处理交易的数量已达到单个区块所能打包交易数量的阈值,则该区块不包括实时交易。
上述实施例以tx5100、tx6100、tx8、tx9、tx1180、tx2180、tx3200、tx4、tx5均为验证正确的交易为例进行阐述,在更多实施例中,若存在验证不正确的交易,则将验证不正确的交易删除,例如,若tx1180验证不正确,则将tx1180删除。
上述实施例将交易的检查(S11至S14)与区块的确认(S15)并行处理,提升CPU利用率,从而加快共识过程,提升交易吞吐量。
图3为图2所示方法的一种优选实施方式中步骤S13的流程图。如图3所示,在一优选实施例中,步骤S13包括:
S132:验证第一交易的正确性,判断第一预处理交易队列中的预处理交易总量是否不小于预配置的第一阈值:
是,则执行步骤S133:从第一指定区块高度向后遍历查找预处理交易总量小于第一阈值的第三预处理交易队列;
S134:将验证正确的第一交易加入第三预处理交易队列。
具体地,假设预配置的第一阈值为50,节点A收到用户端发送或其它区块链的节点广播的txN180,txN180为验证正确的交易;区块高度为180的预处理交易队列中的预处理交易总量为50,区块高度为181的预处理交易队列中的预处理交易总量为45;
在步骤S132中,节点A验证txN180的正确性,判断第一预处理交易队列中的预处理交易总量是否不小于预配置的第一阈值:
由于区块高度为180的预处理交易队列中的预处理交易总量为50,不小于预配置的50,则执行步骤S133:从区块高度为180向后遍历查找预处理交易总量小于第一阈值的第三预处理交易队列;
在步骤S134中,由于区块高度为181的预处理交易队列中的预处理交易总量为45,小于50,且txN180为验证正确的交易,则将txN180加入区块高度为181的预处理交易队列中。
在更多实施例中,还可以根据实际需求将第一阈值配置为其它数值,例如配置为100,配置为200,可实现相同的技术效果。
图4为图2所示方法的一种优选实施方式中步骤S15的流程图。
如图4所示,在一优选实施例中,步骤S15包括:
S152:根据第二区块高度的第二预处理交易队列中的各预处理交易生成第一梅克尔根;
S153:将实时交易队列中的若干实时交易和第一梅克尔根打包生成第一区块。
具体地,在步骤S152中,节点A根据tx6100、tx7100生成第一梅克尔根;
在步骤S153中,节点A将tx8、tx9和第一梅克尔根生成block100。
block100的区块头中包含由所有交易(tx6100、tx7100及实时交易队列中的若干实时交易)生成的梅克尔根root,区块体中包含实时交易队列中的若干实时交易;
节点A广播block100时,同时将根据tx6100、tx7100生成的第一梅克尔根root1,根据tx6100、tx7100的交易哈希映射的第一位图广播给区块链的其它节点;区块链的其它节点(例如节点B)可通过接收到的第一位图、root1,以及本地的区块高度为100的预处理交易队列中的各预处理交易验证root1,若验证通过,则代表区块高度为100的预处理交易队列中的各预处理交易相同,若验证不通过,则通过对比第一位图从节点A获取未接收到的预处理交易,或向节点A发送节点A未接收到的预处理交易,具体的实现过程可参见本申请人先前提交的发明专利CN2017111012862。
上述实施例降低了区块链网络中传输数据的大小(将tx6100、tx710变更为第一位图及root1),从而加快共识过程。
在更多实施例中,上述方法还可以进一步配置为:
根据第二区块高度的第二预处理交易队列中的各预处理交易生成第一梅克尔根;
根据实时交易队列中的若干实时交易生成第二梅克尔根;
将第一梅克尔根和第二梅克尔根打包生成第一区块。
节点A广播block100时,同时将根据tx6100、tx7100生成的第一梅克尔根root1,根据tx6100、tx7100的交易哈希映射的第一位图,根据实时交易队列中的若干实时交易生成第二梅克尔根,根据实时交易队列中的若干实时交易的交易哈希映射的第二位图广播给区块链的其它节点,可实现相同的技术效果。
图5为图2所示方法的另一种优选实施方式中步骤S13的流程图。如图5所示,在另一优选实施例中,步骤S13包括:
S135:验证第一交易的正确性,并根据第一指定区块高度信息判断所指定的第一区块高度与当前区块高度之差是否小于预配置的第二阈值:
否,则执行步骤S136:将验证正确的第一交易加入第一预处理交易队列。
具体地,假设有如下应用场景,当前区块高度为180,而节点A收到txT181,txT181为验证正确的交易;
按照正常的流程,节点A将txT181加入所指定的第一区块高度的第一预处理交易队列(即区块高度为181的预处理交易队列);但是节点A在验证txT181时将耗费一定时长,在验证过程中,节点A可能已生成block181,此时即使txT181验证通过,也无法加入区块高度为181的预处理交易队列;
针对上述应用场景,可以通过步骤S135及步骤S136解决;
假设预配置的第二阈值为10,当前区块高度为180,第一交易为txP200,且txP200为验证正确的交易;
在步骤S135中,节点A验证txP200的正确性,并根据第一指定区块高度信息判断所指定的第一区块高度与当前区块高度之差是否小于预配置的第二阈值:
由于所指定的第一区块高度为200,当前区块高度为180,所指定区块高度与当前区块高度之差为20,不小于10,且txP200为验证正确的交易,则执行步骤S136:将txP200加入第一预处理交易队列(即区块高度为200的预处理交易队列)。
在更多实施例中,还可以根据实际需求将第二阈值配置为其它数值,例如配置为5,配置为20,可实现相同的技术效果。
在一优选实施例中,第二类交易的手续费高于第一类交易的手续费的方法,上述实施例激励用户尽可能通过用户端发送第一类交易,保证CPU的利用率。
图6为图2所示方法的另一种优选实施方式中步骤S13的流程图。如图6所示,在另一优选实施例中,步骤S13包括:
S137:验证第一交易的正确性,并根据第一指定区块高度信息判断所指定的第一区块高度与当前区块高度的差值是否不大于预配置的第三阈值:
是,则执行步骤S138:将验证正确的第一交易加入第一预处理交易队列。
具体地,假设有如下应用场景,当前区块高度为180,而节点A在区块高度为1000的预处理交易队列中有若干预处理交易,在区块高度为2000的预处理交易队列中有若干预处理交易,甚至在更多的区块高度的预处理队列中都有若干预处理交易,而这些预处理交易的存储会占用节点A的内存;在极端情况下,一些暂时无法处理的区块高度较高的预处理队列中的预处理交易较多,已将节点A的内存资源耗尽,节点A将无法正常接收及处理用户端发送的或其它节点广播的实时交易以及一些区块高度较低的预处理队列中的预处理交易。
针对上述应用场景,可以通过步骤S137及步骤S138解决;
假设预配置的第三阈值为100,当前区块高度为180,第一交易为txQ250,且txQ250为验证正确的交易;
在步骤S137中,节点A验证第一交易的正确性,并根据第一指定区块高度信息判断所指定的第一区块高度与当前区块高度的差值是否不大于预配置的第三阈值:
由于所指定的第一区块高度为250,当前区块高度为180,第一区块高度与当前区块高度的差值为70,小于预配置的100,且txQ250为验证正确的交易,则执行步骤S138:将txQ250加入第一预处理交易队列(即区块高度为250的预处理交易队列)。
上述实施例保证节点有足够的内存空间存储实时交易,以及所指定的第一区块高度与当前区块高度的差值在一定范围内的预处理交易,从而保证节点内存池不拥堵。
本发明一些实施例提供的区块生成方法、设备和存储介质进一步通过所指定的第一区块高度与当前区块高度的差值与第一类交易的手续费负相关的方法,激励用户尽可能通过用户端发送一定区块高度后的第一类交易,从而保证节点内存池不拥堵。
在一优选实施例中,所指定的第一区块高度与当前区块高度的差值与第一类交易的手续费负相关。
假设当前区块高度为200,节点A收到txR210、txS220;txR210所指定的第一区块高度为210,则节点A验证txR210的时间最多为生成10个区块的时间;txS220所指定的第一区块高度为220,则节点A验证txS220的时间最多为生成20个区块的时间;
由于节点需要合理的时间验证交易从而保证交易的检查与区块的确认并行处理,因此在所指定的第一区块高度与当前区块高度的差值在一定范围内时,将第一类交易的手续费配置为与所指定的第一区块高度与当前区块高度的差值负相关。
上述实施例激励用户尽可能通过用户端发送所指定的第一区块高度与当前区块高度的差值较为合理的第一类交易,从而保证节点内存池不拥堵。
图7为本发明一实施例提供的一种设备的结构示意图。
如图7所示,作为另一方面,本申请还提供了一种设备700,包括一个或多个中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM703中,还存储有设备700操作所需的各种程序和数据。CPU701、ROM702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本公开的实施例,上述任一实施例描述的区块生成方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行区块生成方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的区块生成方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (9)

1.一种区块生成方法,其特征在于,适用于区块链的节点,所述方法包括:
S12:根据第一交易的第一指定区块高度信息是否为空判断所述第一交易是在指定区块高度执行的第一类交易或不指定区块高度执行的第二类交易:
若所述第一交易为所述第一类交易,则执行步骤S13:验证所述第一交易的正确性,根据所述第一指定区块高度信息将验证正确的所述第一交易加入所指定的第一区块高度的第一预处理交易队列;
若所述第一交易为所述第二类交易,则执行步骤S14:验证所述第一交易的正确性,将验证正确的所述第一交易加入实时交易队列;
S15:根据第二区块高度的第二预处理交易队列中的各预处理交易、所述实时交易队列中的若干实时交易生成第一区块;
其中,步骤S12至S14与步骤S15并行处理。
2.根据权利要求1所述的方法,其特征在于,所述验证所述第一交易的正确性,根据所述第一指定区块高度信息将验证正确的所述第一交易加入所指定的第一区块高度的第一预处理交易队列包括:
验证所述第一交易的正确性,判断所述第一预处理交易队列中的预处理交易总量是否不小于预配置的第一阈值:
是,则从所述第一指定区块高度向后遍历查找预处理交易总量小于所述第一阈值的第三预处理交易队列;
将验证正确的所述第一交易加入所述第三预处理交易队列。
3.根据权利要求1所述的方法,其特征在于,所述根据第二区块高度的第二预处理交易队列中的各预处理交易、所述实时交易队列中的若干实时交易生成第一区块包括:
根据第二区块高度的第二预处理交易队列中的各预处理交易生成第一梅克尔根;
将所述实时交易队列中的若干实时交易和所述第一梅克尔根打包生成第一区块。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述验证所述第一交易的正确性,根据所述第一指定区块高度信息将验证正确的所述第一交易加入所指定的第一区块高度的第一预处理交易队列包括:
验证所述第一交易的正确性,并根据所述第一指定区块高度信息判断所指定的第一区块高度与当前区块高度之差是否小于预配置的第二阈值:
否,则将验证正确的所述第一交易加入所述第一预处理交易队列。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述第二类交易的手续费高于所述第一类交易的手续费。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述验证所述第一交易的正确性,根据所述第一指定区块高度信息将验证正确的所述第一交易加入所指定的第一区块高度的第一预处理交易队列包括:
验证所述第一交易的正确性,并根据所述第一指定区块高度信息判断所指定的第一区块高度与当前区块高度的差值是否不大于预配置的第三阈值:
是,则将验证正确的所述第一交易加入所述第一预处理交易队列。
7.根据权利要求6所述的方法,其特征在于,所指定的第一区块高度与当前区块高度的差值与所述第一类交易的手续费负相关。
8.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-7中任一项所述的方法。
9.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
CN201910607499.5A 2019-07-04 2019-07-04 区块生成方法、设备和存储介质 Active CN110442448B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910607499.5A CN110442448B (zh) 2019-07-04 2019-07-04 区块生成方法、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910607499.5A CN110442448B (zh) 2019-07-04 2019-07-04 区块生成方法、设备和存储介质

Publications (2)

Publication Number Publication Date
CN110442448A CN110442448A (zh) 2019-11-12
CN110442448B true CN110442448B (zh) 2021-10-01

Family

ID=68429616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910607499.5A Active CN110442448B (zh) 2019-07-04 2019-07-04 区块生成方法、设备和存储介质

Country Status (1)

Country Link
CN (1) CN110442448B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109242500A (zh) * 2018-09-20 2019-01-18 百度在线网络技术(北京)有限公司 区块链交易有效性验证方法、装置及存储介质
CN109583903A (zh) * 2018-11-28 2019-04-05 杭州复杂美科技有限公司 区块确认方法、设备和存储介质
CN109831514A (zh) * 2019-03-02 2019-05-31 杭州复杂美科技有限公司 平行链共识方法、数据异常处理方法、设备和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170132626A1 (en) * 2015-11-05 2017-05-11 Mastercard International Incorporated Method and system for processing of a blockchain transaction in a transaction processing network
US10601598B2 (en) * 2017-11-02 2020-03-24 Keir Finlow-Bates System and method for storing the location on a blockchain of a hash of a digital item within said digital item
CN108681900A (zh) * 2018-07-18 2018-10-19 众安信息技术服务有限公司 轻节点验证交易的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109242500A (zh) * 2018-09-20 2019-01-18 百度在线网络技术(北京)有限公司 区块链交易有效性验证方法、装置及存储介质
CN109583903A (zh) * 2018-11-28 2019-04-05 杭州复杂美科技有限公司 区块确认方法、设备和存储介质
CN109831514A (zh) * 2019-03-02 2019-05-31 杭州复杂美科技有限公司 平行链共识方法、数据异常处理方法、设备和存储介质

Also Published As

Publication number Publication date
CN110442448A (zh) 2019-11-12

Similar Documents

Publication Publication Date Title
US11902441B2 (en) Systems and methods for parallel verification of blockchain transactions
EP3540652A1 (en) Method, device, chip and system for training neural network model
CN109146490B (zh) 区块生成方法、装置和系统
US10621516B2 (en) Content delivery method, apparatus, and storage medium
CN113194146B (zh) 领导节点确定方法、计算机设备和存储介质
CN109873863B (zh) 服务的异步调用方法和装置
CN109325744B (zh) 支付处理方法、装置、介质及电子设备
CN110868276A (zh) 用于物联网设备间的数据传输方法、系统和电子设备
CN111800274B (zh) 一种基于区块链的可验证计算能耗优化方法
CN111211904A (zh) 共识方法、设备和存储介质
CN111008249B (zh) 平行链区块同步方法、设备和存储介质
CN110442448B (zh) 区块生成方法、设备和存储介质
CN111405037A (zh) 区块同步方法、设备和存储介质
CN112600905A (zh) 交易广播和区块生成方法、设备和存储介质
CN117314433A (zh) 银行网点的交易风险控制方法、装置、设备及存储介质
CN109246083B (zh) 一种dga域名的检测方法及装置
CN111367667A (zh) 调度装置及其执行的资源分配方法、及分布式处理系统
CN114327802B (zh) 区块链访问链外数据的方法、装置、设备和介质
CN114579187B (zh) 一种指令分配方法、装置、电子设备及可读存储介质
CN115146775A (zh) 边缘设备推理加速方法、装置和数据处理系统
CN114205160A (zh) 基于区块链的数据处理方法、装置及电子设备
CN111639939A (zh) 区块还原方法、设备和存储介质
CN112948388A (zh) 平行链仲裁共识方法、计算机设备和存储介质
CN114782182B (zh) 一种指定高度交易的区块共识方法、设备及存储介质
CN110727439A (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
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20191112

Assignee: Hangzhou Kulian Technology Co.,Ltd.

Assignor: HANGZHOU FUZAMEI TECHNOLOGY Co.,Ltd.

Contract record no.: X2022330000091

Denomination of invention: Block generation method, device and storage medium

Granted publication date: 20211001

License type: Common License

Record date: 20220516

Application publication date: 20191112

Assignee: Hangzhou left chain Technology Co.,Ltd.

Assignor: HANGZHOU FUZAMEI TECHNOLOGY Co.,Ltd.

Contract record no.: X2022330000092

Denomination of invention: Block generation method, device and storage medium

Granted publication date: 20211001

License type: Common License

Record date: 20220516

Application publication date: 20191112

Assignee: Hangzhou DUOLIAN Technology Co.,Ltd.

Assignor: HANGZHOU FUZAMEI TECHNOLOGY Co.,Ltd.

Contract record no.: X2022330000090

Denomination of invention: Block generation method, device and storage medium

Granted publication date: 20211001

License type: Common License

Record date: 20220516

EE01 Entry into force of recordation of patent licensing contract