CN110618859B - 支持按顺序打包的交易池设计方法、电子设备 - Google Patents

支持按顺序打包的交易池设计方法、电子设备 Download PDF

Info

Publication number
CN110618859B
CN110618859B CN201910854494.2A CN201910854494A CN110618859B CN 110618859 B CN110618859 B CN 110618859B CN 201910854494 A CN201910854494 A CN 201910854494A CN 110618859 B CN110618859 B CN 110618859B
Authority
CN
China
Prior art keywords
transaction
packaging
pool
transactions
queues
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
CN201910854494.2A
Other languages
English (en)
Other versions
CN110618859A (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 Rivtower Technology Co Ltd
Original Assignee
Cryptape 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 Cryptape Co ltd filed Critical Cryptape Co ltd
Priority to CN201910854494.2A priority Critical patent/CN110618859B/zh
Publication of CN110618859A publication Critical patent/CN110618859A/zh
Application granted granted Critical
Publication of CN110618859B publication Critical patent/CN110618859B/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/48Indexing scheme relating to G06F9/48
    • G06F2209/486Scheduler internals

Landscapes

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

Abstract

本发明公开了一种支持按顺序打包的交易池设计方法、电子设备和计算机可读存储介质。其中方法包括:对于每一个添加到交易池的交易,先进行验证签名,如果验证签名不通过则舍弃该交易,验证签名通过之后将交易与一个表示是否已经被删除的第一标识组装成一个包装交易;整个交易池包含两个队列,第二标识和哈希映射,其中所述两个队列用于存储包装交易,两个队列互为备份;所述第二标识用于标识现在正在使用的队列;所述哈希映射的键是交易的哈希,值是包装交易;交易池包括三种操作:插入新交易,打包交易,删除指定交易。本发明用于采用两个互补的队列实现支持按顺序打包的交易池设计。

Description

支持按顺序打包的交易池设计方法、电子设备
技术领域
本发明属于区块链技术领域,具体涉及一种支持按顺序打包的交易池设计方法、电子设备和计算机可读存储介质。
背景技术
交易池部分是区块链系统中最性能要求很高的一个部分。在现有的交易池设计技术中往往不支持按顺序打包交易,因为现有的交易池结构中一般只有一个队列,在打包的过程中,需要将交易从队列中弹出。如果弹出的交易有部分未被打包,这部分交易应该回退到交易池中。但如果在回退之前又有新的交易插入到队尾,则打乱了原有的交易顺序,使得无法按顺序打包交易。
发明内容
鉴于以上存在的技术问题,本发明用于提供一种支持按顺序打包的交易池设计方法、电子设备和计算机可读存储介质,用于采用两个互补的队列实现支持按顺序打包的交易池设计。
为解决上述技术问题,本发明采用如下的技术方案:
第一方面,本申请实施例提供一种支持按顺序打包的交易池设计方法,包括:
对于每一个添加到交易池的交易,先进行验证签名,如果验证签名不通过则舍弃该交易,验证签名通过之后将交易与一个表示是否已经被删除的第一标识组装成一个包装交易;
整个交易池包含两个队列,第二标识和哈希映射,其中所述两个队列用于存储包装交易,两个队列互为备份;所述第二标识用于标识现在正在使用的队列;所述哈希映射的键是交易的哈希,值是包装交易;交易池包括三种操作:插入新交易,打包交易,删除指定交易。
第一方面的一种可能设计中,插入新交易为:包装交易插入到当前轮值的队列的尾部。
第一方面的一种可能设计中,打包交易为:交易池收到共识的打包交易的请求时,打包过程如下,从当前轮值的队列的头部开始弹出交易,把有删除标记的交易直接抛弃,没有删除标记的交易都按照弹出顺序插入到当前替补的队列中,当轮值队列的包装交易全部弹出后,交换两个队列的身份。
第一方面的一种可能设计中,删除指定交易为:交易池收到删除指定的交易的请求时,通过哈希映射找到交易对应的包装交易,将里面的删除标识设为已删除。
第二方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器是上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行上述的支持按顺序打包的交易池设计方法。
第三方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行实现上述支持按顺序打包的交易池设计方法。
采用本发明具有如下的有益效果:使用两个队列互为替补的方式能够解决按顺序打包交易的问题。当交易被打包时,把所有交易从当前队列弹出,删除带有删除标识的之后插入到另一个队列中,并更换两个队列的角色就可以时刻保持队列中交易的顺序性,实现支持按顺序打包的交易池设计。
附图说明
图1为本发明实施例的支持按顺序打包的交易池设计方法的步骤流程图;
图2为本发明实施例的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,本发明公开了一种支持按顺序打包的交易池设计方法,包括:
S10,对于每一个添加到交易池的交易,先进行验证签名,如果验证签名不通过则舍弃该交易,验证签名通过之后将交易与一个表示是否已经被删除的第一标识组装成一个包装交易;
S20,整个交易池包含两个队列,第二标识和哈希映射,其中两个队列用于存储包装交易,两个队列互为备份;第二标识用于标识现在正在使用的队列;哈希映射的键是交易的哈希,值是包装交易;交易池包括三种操作:插入新交易,打包交易,删除指定交易。
具体的,插入新交易为,交易池处理后的包装交易插入到当前轮值的队列的尾部。
具体的,打包交易为:交易池收到共识的打包交易的请求时,打包过程如下,从当前轮值的队列的头部开始弹出交易,把有删除标记的交易直接抛弃,没有删除标记的交易都按照弹出顺序插入到当前替补的队列中,当轮值队列的包装交易全部弹出后,交换两个队列的身份。
具体的,删除指定交易为:交易池收到删除指定的交易的请求时,通过哈希映射找到交易对应的包装交易,将里面的删除标识设为已删除。
通过插入新交易,打包交易和删除指定交易,相当于配合一次共识的过程,首先产生新的交易,产生之后就插进去,然后共识打包,共识结束之后把已经共识的给删掉。通过以上交易池设计方法,使用两个队列互为替补的方式能够解决按顺序打包交易的问题。当交易被打包时,把所有交易从当前队列弹出,删除带有删除标识的之后插入到另一个队列中,并更换两个队列的角色就可以时刻保持队列中交易的顺序性,实现支持按顺序打包的交易池设计。下面参照图2详细介绍本发明实施例的电子设备。在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口和存储器。其中,存储器可能包含能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(Non-VolatileMemory,NVM),例如至少一个磁盘存储器等。当然,该电子设备还可以包括其他业务所需的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外设部件互联标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,EISA)总线等。其中总线可以分为地址总线、数据总线和控制总线等。为了便于表示,图2中仅用一个双箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序,具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令,存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成内容推荐装置。处理器,执行存储器所存放的程序,并具体用于执行前文所述服务器作为执行主体时所执行的方法操作。
上述如本发明实施例支持按顺序打包的交易池设计方法可以应用于处理器中,或者由处理器实现。处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各个步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等,还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
当然,除了软件实现方式之外,本说明书实施例的电子设备并不排除其他实现方式,比如逻辑器件或软硬结合的方式等,即以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作,使得交易池支持按顺序打包:
对于每一个添加到交易池的交易,先进行验证签名,如果验证签名不通过则舍弃该交易,验证签名通过之后将交易与一个表示是否已经被删除的第一标识组装成一个包装交易;
整个交易池包含两个队列,第二标识和哈希映射,其中两个队列用于存储包装交易,两个队列互为备份;第二标识用于标识现在正在使用的队列;哈希映射的键是交易的哈希,值是包装交易;交易池包括三种操作:插入新交易,打包交易,删除指定交易。
具体的,插入新交易为,交易池处理后的包装交易插入到当前轮值的队列的尾部。
具体的,打包交易为:交易池收到共识的打包交易的请求时,打包过程如下,从当前轮值的队列的头部开始弹出交易,把有删除标记的交易直接抛弃,没有删除标记的交易都按照弹出顺序插入到当前替补的队列中,当轮值队列的包装交易全部弹出后,交换两个队列的身份。
具体的,删除指定交易为:交易池收到删除指定的交易的请求时,通过哈希映射找到交易对应的包装交易,将里面的删除标识设为已删除。
通过插入新交易,打包交易和删除指定交易,相当于配合一次共识的过程,首先产生新的交易,产生之后就插进去,然后共识打包,共识结束之后把已经共识的给删掉。通过以上交易池设计方法,使用两个队列互为替补的方式能够解决按顺序打包交易的问题。当交易被打包时,把所有交易从当前队列弹出,删除带有删除标识的之后插入到另一个队列中,并更换两个队列的角色就可以时刻保持队列中交易的顺序性,实现支持按顺序打包的交易池设计。
其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
应当理解,本文所述的示例性实施例是说明性的而非限制性的。尽管结合附图描述了本发明的一个或多个实施例,本领域普通技术人员应当理解,在不脱离通过所附权利要求所限定的本发明的精神和范围的情况下,可以做出各种形式和细节的改变。

Claims (4)

1.一种支持按顺序打包的交易池设计方法,其特征在于,包括:
对于每一个添加到交易池的交易,先进行验证签名,如果验证签名不通过则舍弃该交易,验证签名通过之后将交易与一个表示是否已经被删除的第一标识组装成一个包装交易;
整个交易池包含两个队列,第二标识和哈希映射,其中所述两个队列用于存储包装交易,两个队列互为备份;所述第二标识用于标识现在正在使用的队列;所述哈希映射的键是交易的哈希,值是包装交易;交易池包括三种操作:插入新交易,打包交易,删除指定交易,
其中插入新交易为:包装交易插入到当前轮值的队列的尾部;
打包交易为:交易池收到共识的打包交易的请求时,打包过程如下,从当前轮值的队列的头部开始弹出交易,把有删除标记的交易直接抛弃,没有删除标记的交易都按照弹出顺序插入到当前替补的队列中,当轮值队列的包装交易全部弹出后,交换两个队列的身份。
2.如权利要求1所述的支持按顺序打包的交易池设计方法,其特征在于,删除指定交易为:交易池收到删除指定的交易的请求时,通过哈希映射找到交易对应的包装交易,将里面的删除标识设为已删除。
3.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行权利要求1或2所述的支持按顺序打包的交易池设计方法。
4.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行实现权利要求1或2所述的支持按顺序打包的交易池设计方法。
CN201910854494.2A 2019-09-10 2019-09-10 支持按顺序打包的交易池设计方法、电子设备 Active CN110618859B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910854494.2A CN110618859B (zh) 2019-09-10 2019-09-10 支持按顺序打包的交易池设计方法、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910854494.2A CN110618859B (zh) 2019-09-10 2019-09-10 支持按顺序打包的交易池设计方法、电子设备

Publications (2)

Publication Number Publication Date
CN110618859A CN110618859A (zh) 2019-12-27
CN110618859B true CN110618859B (zh) 2021-11-16

Family

ID=68922706

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910854494.2A Active CN110618859B (zh) 2019-09-10 2019-09-10 支持按顺序打包的交易池设计方法、电子设备

Country Status (1)

Country Link
CN (1) CN110618859B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111882322A (zh) * 2020-07-20 2020-11-03 杭州溪塔科技有限公司 一种按顺序打包交易的方法、装置及电子设备
CN113592639B (zh) * 2021-05-21 2023-10-13 上海简苏网络科技有限公司 一种区块链交易删除方法及系统
CN117994038A (zh) * 2024-04-03 2024-05-07 湖南天河国云科技有限公司 基于区块链的交易处理方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101848149A (zh) * 2010-04-22 2010-09-29 北京航空航天大学 分组网络中分级队列调度的方法和装置
CN104915886A (zh) * 2015-01-04 2015-09-16 杭州时代银通软件有限公司 一种外汇牌价处理系统及方法
CN108512775A (zh) * 2018-04-16 2018-09-07 杭州秘猿科技有限公司 一种排序交易队列的方法及装置
CN109784921A (zh) * 2018-12-29 2019-05-21 广州蓝石信息技术有限公司 基于去中心化网关的通用跨链通信机制

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170236120A1 (en) * 2016-02-11 2017-08-17 Oracle International Corporation Accountability and Trust in Distributed Ledger Systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101848149A (zh) * 2010-04-22 2010-09-29 北京航空航天大学 分组网络中分级队列调度的方法和装置
CN104915886A (zh) * 2015-01-04 2015-09-16 杭州时代银通软件有限公司 一种外汇牌价处理系统及方法
CN108512775A (zh) * 2018-04-16 2018-09-07 杭州秘猿科技有限公司 一种排序交易队列的方法及装置
CN109784921A (zh) * 2018-12-29 2019-05-21 广州蓝石信息技术有限公司 基于去中心化网关的通用跨链通信机制

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Dynamically Reconfigurable Queue Scheduler;Christoforos Kachris等;《2006 International Conference on Field Programmable Logic and Applications》;20070416;第1-4页 *
并行离散事件仿真中的事件及事件队列建模;张耀程等;《系统仿真学报》;20070505;第19卷(第9期);第1949-1953页 *

Also Published As

Publication number Publication date
CN110618859A (zh) 2019-12-27

Similar Documents

Publication Publication Date Title
EP3678346B1 (en) Blockchain smart contract verification method and apparatus, and storage medium
CN110618859B (zh) 支持按顺序打包的交易池设计方法、电子设备
US10721326B2 (en) Method, apparatus, and electronic device for processing consensus requests in a blockchain consensus network
CN109447810B (zh) 并行区块链共识方法、系统、电子设备和计算机可读存储介质
CN109409889B (zh) 一种区块链中的区块确定方法、装置及电子设备
US9298593B2 (en) Testing a software interface for a streaming hardware device
CN110569110B (zh) 支持可交互的多虚拟机的区块链方法、电子设备
WO2016183951A1 (zh) 一种系统升级方法及终端
CN113595788A (zh) 一种基于插件的api网关管理方法及装置
CN111882322A (zh) 一种按顺序打包交易的方法、装置及电子设备
CN110570171B (zh) 交易池节点同步方法、电子设备和计算机可读存储介质
CN115409507A (zh) 区块处理方法、区块处理装置、计算机设备及存储介质
CN110648125B (zh) 一种打包交易方法、装置、电子设备及存储介质
CN110647463B (zh) 一种恢复测试断点的方法、装置、电子设备
CN110209347B (zh) 一种可追溯的数据存储方法
CN111897833A (zh) 数据处理方法及装置
CN110599139B (zh) 一种区块链共识算法中的出块方法和装置
CN113706146A (zh) 一种基于区块链执行批量交易的处理方法、装置和系统
CN112035890B (zh) 一种数据完整性验证方法及装置
CN108829732B (zh) 一种数据处理方法和装置
CN113129146A (zh) 智能合约事务处理方法、设备及存储介质
CN117714553A (zh) 一种数据传输方法、装置、设备及介质
WO2018001226A1 (zh) 数据传输方法及装置
CN115326086A (zh) 高精地图渲染方法、装置及电子设备、存储介质
CN115859318A (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: 20191227

Assignee: Hangzhou Xita Technology Co.,Ltd.

Assignor: CRYPTAPE Co.,Ltd.

Contract record no.: X2021980015760

Denomination of invention: Transaction pool design method and electronic equipment supporting sequential packaging

Granted publication date: 20211116

License type: Common License

Record date: 20211229

EE01 Entry into force of recordation of patent licensing contract
TR01 Transfer of patent right

Effective date of registration: 20231212

Address after: 10/F, Guotou Building, No. 398 Shaoxing Road, Gongshu District, Hangzhou City, Zhejiang Province, 310000

Patentee after: Hangzhou Xita Technology Co.,Ltd.

Address before: 310000 No. 1301 and 1302, 13 / F, tower a, Huaxing Times Plaza, No. 478, Wensan Road, Xihu District, Hangzhou City, Zhejiang Province

Patentee before: CRYPTAPE Co.,Ltd.

TR01 Transfer of patent right