CN111611285B - 交易缓存方法、设备和存储介质 - Google Patents

交易缓存方法、设备和存储介质 Download PDF

Info

Publication number
CN111611285B
CN111611285B CN202010510993.2A CN202010510993A CN111611285B CN 111611285 B CN111611285 B CN 111611285B CN 202010510993 A CN202010510993 A CN 202010510993A CN 111611285 B CN111611285 B CN 111611285B
Authority
CN
China
Prior art keywords
transaction
sequence number
cache
local
loaded
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
CN202010510993.2A
Other languages
English (en)
Other versions
CN111611285A (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 CN202010510993.2A priority Critical patent/CN111611285B/zh
Publication of CN111611285A publication Critical patent/CN111611285A/zh
Application granted granted Critical
Publication of CN111611285B publication Critical patent/CN111611285B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Computing Systems (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种交易缓存方法、设备和存储介质,该方法包括:响应于在本地交易池存满时收到第一交易,判断第一交易是否通过交易池存储检查:是,则读取本地数据库中的交易缓存最新序号;以及,根据交易缓存最新序号为第一交易分配第一缓存序号;将第一缓存序号和第一交易缓存至本地数据库中;将交易缓存最新序号的值更新为第一缓存序号。响应于第一区块打包成功并删除本地交易池中所对应的各交易,读取本地数据库中的交易已加载序号;以及,根据交易已加载序号将本地数据库中缓存的若干交易加载至本地交易池中;根据最新加载的第二交易的第二缓存序号更新交易已加载序号。本发明保障了用户在区块链系统高负载的情况下无需反复发送交易。

Description

交易缓存方法、设备和存储介质
技术领域
本申请涉及互联网技术领域,具体涉及一种交易缓存方法、设备和存储介质。
背景技术
在现有的区块链系统中,节点收到交易后,在本地交易池未存满时将交易缓存到交易池内,当本地交易池存满时,将交易丢弃,或,替换交易池中排序末尾的交易。当区块链系统处于高负载的情况下,会导致许多区块链业务堵塞,导致用户在区块链系统高负载的情况下可能需要反复发送被丢弃的交易。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种保障用户在区块链系统高负载的情况下无需反复发送交易的交易缓存方法、设备和存储介质,并进一步期望保障交易池资源不被热门合约完全抢占。
第一方面,本发明提供一种交易缓存方法,包括:
响应于在本地交易池存满时收到第一交易,判断第一交易是否通过交易池存储检查:
是,则读取本地数据库中的交易缓存最新序号;以及,
根据交易缓存最新序号为第一交易分配第一缓存序号;
将第一缓存序号和第一交易缓存至本地数据库中;
将交易缓存最新序号的值更新为第一缓存序号;
响应于第一区块打包成功并删除本地交易池中所对应的各交易,读取本地数据库中的交易已加载序号;以及,
根据交易已加载序号将本地数据库中缓存的若干交易加载至本地交易池中;
根据最新加载的第二交易的第二缓存序号更新交易已加载序号。
第二方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的交易缓存方法。
第三方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的交易缓存方法。
本发明诸多实施例提供的交易缓存方法、设备和存储介质通过在本地交易池存满时将通过交易池存储检查的新交易有序缓存到本地数据库中,并在区块打包成功后将缓存在本地数据库中的交易有序加载到本地交易池中,保障了无法进入交易池的新交易不会被丢弃,从而保障了用户在区块链系统高负载的情况下无需反复发送交易;
本发明一些实施例提供的交易缓存方法、设备和存储介质进一步通过将缓存在本地数据库中的新交易按合约分类,并根据各合约的交易费历史贡献占比值以及各合约在本地交易池中的交易总量判断各合约是否在本地交易池中占据了过多的存储资源,从而优先加载各个没有占据过多存储资源的合约的交易,并暂不加载占据过多存储资源的合约的交易,实现了让每个合约可以在交易池中占据合理份额的存储资源,保障了交易池资源不会被热门合约完全抢占。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种交易缓存方法的流程图。
图2为图1所示方法的一种优选实施方式的流程图。
图3为图2所示方法的一种优选实施方式中步骤S231的流程图。
图4为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的一种交易缓存方法的流程图。
如图1所示,在本实施例中,本发明提供一种交易缓存方法,包括:
S11:响应于在本地交易池存满时收到第一交易,判断第一交易是否通过交易池存储检查:
是,则执行步骤S13:读取本地数据库中的交易缓存最新序号;以及,
S15:根据交易缓存最新序号为第一交易分配第一缓存序号;
S17:将第一缓存序号和第一交易缓存至本地数据库中;
S19:将交易缓存最新序号的值更新为第一缓存序号;
S21:响应于第一区块打包成功并删除本地交易池中所对应的各交易,读取本地数据库中的交易已加载序号;以及,
S23:根据交易已加载序号将本地数据库中缓存的若干交易加载至本地交易池中;
S25:根据最新加载的第二交易的第二缓存序号更新交易已加载序号。
以下以节点A在本地交易池存满时收到tx1、tx2、tx3为例,对上述方法进行示例性的阐述。
在步骤S11中,当节点A在本地交易池存满时收到tx1、tx2、tx3时,分别对tx1、tx2、tx3进行交易池存储检查。
其中,S11中的交易池存储检查包括交易费检查、交易查重等本领域常用的检查,与现有的各项检查的区别在于,在进行交易查重时,不仅要进行现有的交易查重,还要检查tx1(或tx2/tx3)是否与本地数据库中所缓存的各交易相同。
例如,tx1未通过交易费检查,则节点A丢弃tx1;tx2与本地数据库中所缓存的tx0重复,则节点A丢弃tx2;tx3通过了各项交易池存储检查,则节点A继续对tx3执行步骤S13-S19。
在步骤S13中,节点A读取本地数据库中的交易缓存最新序号3143(在本实施例中,交易缓存至本地数据库时不分组,交易缓存最新序号即最新一笔缓存到本地数据库的交易的序号);
在步骤S15中,节点A根据交易缓存最新序号3143为tx3分配第一缓存序号3144;
在步骤S17中,节点A将(3144,tx3)缓存至本地数据库中;
在步骤S19中,节点A将交易缓存最新序号的值更新为3144。
此时区块block1打包成功,节点A删除本地交易池中block1所打包的各交易,并执行步骤S21,节点A读取本地数据库中的交易已加载序号1203;
在步骤S23中,节点A根据交易已加载序号1203将本地数据库中缓存的若干交易加载至本地交易池中。
具体地,若区块block1打包的交易不少于1941笔,则节点A可以将本地数据库中所缓存的序号为1204-3144的各笔交易全部加载至本地交易池中;
若区块block1打包的交易少于1941笔,例如1500笔,则节点A可以将本地数据库中所缓存的序号为1204-2703的各笔交易加载至本地交易池中。
在步骤S25中,节点A根据最新加载的交易的缓存序号更新交易已加载序号(例如,3144,或,2703)。
优选地,步骤S17包括:将第一缓存序号配置为第一kv对的key值,将第一交易的数据配置为第一kv对的value值,将第一kv对缓存至本地数据库中。在更多实施例中,本领域技术人员可以理解,还可以根据实际需求将步骤S17配置为采用本领域常用的其它关系型数据库。
上述实施例通过在本地交易池存满时将通过交易池存储检查的新交易有序缓存到本地数据库中,并在区块打包成功后将缓存在本地数据库中的交易有序加载到本地交易池中,保障了无法进入交易池的新交易不会被丢弃,从而保障了用户在区块链系统高负载的情况下无需反复发送交易。
图2为图1所示方法的一种优选实施方式的流程图。如图2所示,在一优选实施例中,S13包括:
S131:根据第一交易所对应的第一合约读取本地数据库中的第一合约交易缓存最新序号;
S15包括:
S151:根据第一合约交易缓存最新序号为第一交易分配第一缓存序号;
S19包括:
将第一合约交易缓存最新序号的值更新为第一缓存序号;
S21包括:
S211:读取本地数据库中各合约的交易已加载序号;
S23包括:
S231:根据各合约的交易已加载序号将本地数据库中缓存的若干交易加载至本地交易池中;
S25包括:
S251:根据最新加载的各合约的交易的缓存序号更新各合约的交易已加载序号。
具体地,图2所示方法与图1所示方法的区别在于,对新交易在本地数据库中的缓存,以及,从本地数据库至本地交易池的加载,均以合约为单位进行分类,从而为进一步的优化提供了基础。
图3为图2所示方法的一种优选实施方式中步骤S231的流程图。如图3所示,在一优选实施例中,步骤S231包括:
S2311:查询区块链上记录的各合约的交易费历史贡献占比值;其中,区块链上记录有定期结算更新的每个合约的交易费历史贡献占比值;交易费历史贡献占比值根据所结算的历史区块高度区间中所对应合约所执行的各交易的第一手续费总和与全部交易的第二手续费总和计算生成;
S2313:根据各交易费历史贡献占比值和本地交易池的总容量计算各合约的交易池容量阈值;
S2315:分别判断各合约在本地交易池中的交易总量是否小于对应的交易池容量阈值:
是,则执行步骤S2317:根据对应的交易已加载序号将本地数据库中缓存的若干交易加载至本地交易池中。
具体地,在本实施例中,区块链系统中每隔10000个区块结算一次每个合约的交易费历史贡献占比值。
例如,当区块高度达到10000后,区块链网络收到一笔触发结算各合约的交易费历史贡献占比值的结算交易,根据区块高度【1,10000】中,合约a执行的各交易的手续费总和total_fee_contract_a_10000、合约b执行的各交易的手续费总和total_fee_contract_b_10000、……、合约n执行的各交易的手续费总和total_fee_contract_n_10000,等等,可以计算出区块高度【1,10000】中全部交易的手续费总和:
total_fee_10000=total_fee_contract_a_10000+total_fee_contract_b_10000+……+total_fee_contract_n_10000+……;
从而可以计算出区块高度【1,10000】中每个合约的交易费历史贡献占比值并记录到区块链上:
occupy_contract_a=total_fee_contract_a_10000/total_fee_10000;
occupy_contract_b=total_fee_contract_b_10000/total_fee_10000;
……
occupy_contract_n=total_fee_contract_n_10000/total_fee_10000;
……
当区块高度达到20000后,区块链网络再次收到结算交易,根据区块高度【1,20000】中,合约a执行的各交易的手续费总和total_fee_contract_a_20000、合约b执行的各交易的手续费总和total_fee_contract_b_20000、……、合约n执行的各交易的手续费总和total_fee_contract_n_20000,等等,计算出区块高度【1,20000】中全部交易的手续费总和total_fee_20000;
重新计算出每个合约的交易费历史贡献占比值并记录到区块链上:
occupy_contract_a=total_fee_contract_a_20000/total_fee_20000;
occupy_contract_b=total_fee_contract_b_20000/total_fee_20000;
……
occupy_contract_n=total_fee_contract_n_20000/total_fee_20000;
……
例如,当区块高度为20100的区块block2打包成功时,节点A删除本地交易池中block2所打包的各交易,并执行步骤S211,读取本地数据库中各合约的交易已加载序号;
在步骤S2311中,节点A查询区块链上记录的各合约的交易费历史贡献占比值occupy_contract_a、occupy_contract_b、……;
在步骤S2313中,节点A根据各交易费历史贡献占比值(occupy_contract_a、occupy_contract_b、……)和本地交易池的总容量Capacity_Tx_Pool_A计算各合约的交易池容量阈值(occupy_contract_a*Capacity_Tx_Pool_A、occupy_contract_b*Capacity_Tx_Pool_A、……);
在步骤S2315中,节点A分别判断各合约在本地交易池中的交易总量是否小于对应的交易池容量阈值。
例如,合约a在本地交易池中的交易总量total_tx_a大于occupy_contract_a*Capacity_Tx_Pool_A,则此时不加载本地数据库中所缓存的合约a的交易;
合约b在本地交易池中的交易总量total_tx_b小于occupy_contract_b*Capacity_Tx_Pool_A,则执行步骤S2317:
计算出n=occupy_contract_b*Capacity_Tx_Pool_A-total_tx_b,即合约b本次可加载的交易数量;
判断本地数据库中缓存的合约b的交易数量是否大于n:
否,则全部加载至本地交易池中,并更新合约b的交易已加载序号;
是,则根据合约b的交易已加载序号加载n笔交易至本地交易池中,并更新合约b的交易已加载序号。
上述示例以区块链系统每隔10000个区块结算更新每个合约的交易费历史贡献占比值、交易费历史贡献占比值的计算方式配置为取所结算的历史区块高度区间中所对应合约所执行的各交易的第一手续费总和与全部交易的第二手续费总和的比值为例进行了示例性的阐述;在更多实施例中,还可以根据实际需求配置不同的结算周期、不同的计算方式。
上述实施例进一步通过将缓存在本地数据库中的新交易按合约分类,并根据各合约的交易费历史贡献占比值以及各合约在本地交易池中的交易总量判断各合约是否在本地交易池中占据了过多的存储资源,从而优先加载各个没有占据过多存储资源的合约的交易,并暂不加载占据过多存储资源的合约的交易,实现了让每个合约可以在交易池中占据合理份额的存储资源,保障了交易池资源不会被热门合约完全抢占。
图4为本发明一实施例提供的一种设备的结构示意图。
如图4所示,作为另一方面,本申请还提供了一种设备400,包括一个或多个中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM403中,还存储有设备400操作所需的各种程序和数据。CPU401、ROM402以及RAM403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本公开的实施例,上述任一实施例描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行上述任一方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请提供的方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (6)

1.一种交易缓存方法,其特征在于,包括:
响应于在本地交易池存满时收到第一交易,判断所述第一交易是否通过交易池存储检查:
是,则读取本地数据库中的交易缓存最新序号;以及,
根据所述交易缓存最新序号为所述第一交易分配第一缓存序号;
将所述第一缓存序号和所述第一交易缓存至本地数据库中;
将所述交易缓存最新序号的值更新为所述第一缓存序号;
响应于第一区块打包成功并删除本地交易池中所对应的各交易,读取本地数据库中的交易已加载序号;以及,
根据所述交易已加载序号将本地数据库中缓存的若干交易加载至本地交易池中;
根据最新加载的第二交易的第二缓存序号更新所述交易已加载序号。
2.根据权利要求1所述的方法,其特征在于,所述读取本地数据库中的交易缓存最新序号包括:
根据所述第一交易所对应的第一合约读取本地数据库中的第一合约交易缓存最新序号;
所述根据所述交易缓存最新序号为所述第一交易分配第一缓存序号包括:
根据所述第一合约交易缓存最新序号为所述第一交易分配第一缓存序号;
所述将所述交易缓存最新序号的值更新为所述第一缓存序号包括:
将所述第一合约交易缓存最新序号的值更新为所述第一缓存序号;
所述读取本地数据库中的交易已加载序号包括:
读取本地数据库中各合约的交易已加载序号;
所述根据所述交易已加载序号将本地数据库中缓存的若干交易加载至本地交易池中包括:
根据各合约的交易已加载序号将本地数据库中缓存的若干交易加载至本地交易池中;
所述根据最新加载的第二交易的第二缓存序号更新所述交易已加载序号包括:
根据最新加载的各合约的交易的缓存序号更新各合约的交易已加载序号。
3.根据权利要求2所述的方法,其特征在于,所述根据各合约的交易已加载序号将本地数据库中缓存的若干交易加载至本地交易池中包括:
查询区块链上记录的各合约的交易费历史贡献占比值;其中,区块链上记录有定期结算更新的每个合约的交易费历史贡献占比值;所述交易费历史贡献占比值根据所结算的历史区块高度区间中所对应合约所执行的各交易的第一手续费总和与全部交易的第二手续费总和计算生成;
根据各所述交易费历史贡献占比值和本地交易池的总容量计算各合约的交易池容量阈值;
分别判断各合约在本地交易池中的交易总量是否小于对应的交易池容量阈值:
是,则根据对应的交易已加载序号将本地数据库中缓存的若干交易加载至本地交易池中。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述将所述第一缓存序号和所述第一交易缓存至本地数据库中包括:
将所述第一缓存序号配置为第一kv对的key值,将所述第一交易的数据配置为所述第一kv对的value值,将所述第一kv对缓存至本地数据库中。
5.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-4中任一项所述的方法。
6.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一项所述的方法。
CN202010510993.2A 2020-06-08 2020-06-08 交易缓存方法、设备和存储介质 Active CN111611285B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010510993.2A CN111611285B (zh) 2020-06-08 2020-06-08 交易缓存方法、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010510993.2A CN111611285B (zh) 2020-06-08 2020-06-08 交易缓存方法、设备和存储介质

Publications (2)

Publication Number Publication Date
CN111611285A CN111611285A (zh) 2020-09-01
CN111611285B true CN111611285B (zh) 2023-04-07

Family

ID=72197362

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010510993.2A Active CN111611285B (zh) 2020-06-08 2020-06-08 交易缓存方法、设备和存储介质

Country Status (1)

Country Link
CN (1) CN111611285B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109669789A (zh) * 2018-12-10 2019-04-23 杭州复杂美科技有限公司 交易排队方法、交易池存储方法、设备和存储介质
CN111090627A (zh) * 2019-12-12 2020-05-01 深圳前海环融联易信息科技服务有限公司 基于池化的日志存储方法、装置、计算机设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7908268B2 (en) * 2007-02-06 2011-03-15 International Business Machines Corporation Predictive database pool preparation
US11677542B2 (en) * 2018-05-17 2023-06-13 International Business Machines Corporation Ad-hoc smart contract generation in a blockchain
US20200160326A1 (en) * 2018-11-15 2020-05-21 Paypal, Inc. System and method for optimizing data writing to a blockchain

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109669789A (zh) * 2018-12-10 2019-04-23 杭州复杂美科技有限公司 交易排队方法、交易池存储方法、设备和存储介质
CN111090627A (zh) * 2019-12-12 2020-05-01 深圳前海环融联易信息科技服务有限公司 基于池化的日志存储方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN111611285A (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
US8458425B2 (en) Computer program, apparatus, and method for managing data
US8943029B2 (en) On-line transaction processing (OLTP) compression and re-compression of database data
US10929341B2 (en) Iterative object scanning for information lifecycle management
EP0644494B1 (en) Computer method and system for b-tree optimization
US6961865B1 (en) Techniques for resuming a transaction after an error
US8775479B2 (en) Method and system for state maintenance of a large object
US20080208861A1 (en) Data Sorting Method And System
US20100030994A1 (en) Methods, systems, and computer readable media for memory allocation and deallocation
CN109101580A (zh) 一种基于Redis的热点数据缓存方法和装置
CN103077197A (zh) 一种数据存储方法装置
CN110287196B (zh) 区块存储方法、平行链交易获取方法、设备和存储介质
CN110442580B (zh) 一种区块链状态数据存储方法、设备和存储介质
US7644232B2 (en) Cache method and cache system for storing file's data in memory blocks divided from cache memory
CN106529917A (zh) 一种工作流处理方法和装置
CN108073472A (zh) 一种基于热度感知的内存纠删码分布方法
CN111611285B (zh) 交易缓存方法、设备和存储介质
CN106649530A (zh) 云详单查询管理系统及方法
JP6699676B2 (ja) サーバ装置、情報収集システム、およびプログラム
US7509461B1 (en) Method and apparatus for intelligent buffer cache pre-emption
CN115688906A (zh) 一种面向超参训练的数据自动编排加载方法和系统
CN115993932A (zh) 数据处理方法、装置、存储介质以及电子设备
CN116542668A (zh) 一种基于区块链的数据处理方法、设备及可读存储介质
CN115220907A (zh) 资源调度方法、装置、电子设备及存储介质
CN110007869B (zh) 一种内存数据拷贝方法、装置、设备及计算机存储介质
CN110362769A (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