CN117911028A - 基于多分区的区块链数据管理优化方法及系统 - Google Patents
基于多分区的区块链数据管理优化方法及系统 Download PDFInfo
- Publication number
- CN117911028A CN117911028A CN202311689049.8A CN202311689049A CN117911028A CN 117911028 A CN117911028 A CN 117911028A CN 202311689049 A CN202311689049 A CN 202311689049A CN 117911028 A CN117911028 A CN 117911028A
- Authority
- CN
- China
- Prior art keywords
- transaction
- spent
- output data
- frequency
- probability
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3827—Use of message hashing
-
- 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)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于多分区的区块链数据管理优化方法及系统,该方法包括如下步骤:获取多个所述交易区块中使用所述UTXO数据集进行交易的目标交易地址;读取所述目标交易地址的交易时间戳和交易频率;在所述区块链系统中创建用于存放所述UTXO数据集中UXTO数据的UTXO缓存区;结合所述交易时间戳和所述交易频率,预测所有所述UTXO数据在所述区块链系统的新交易区块的预测使用概率;根据所述预测使用概率将所有所述UTXO数据分别保存至所述本地内存、所述辅助磁盘内存和所述UTXO缓存区。本发明具有降低交易数据集数据管理成本的同时可以提升区块验证效率的效果。
Description
技术领域
本发明属于区块链技术领域,具体是涉及到一种基于多分区的区块链数据管理优化方法及系统。
背景技术
区块链技术的持续发展离不开它所特有的去中心化、可溯源、高隐私等特性,区块链技术能灵活运用于其他行业的各种应用场景。区块链的节点可以分为轻节点和全节点。轻节点负责处理和验证一部分交易和区块,不需要存储完整的区块链数据。全节点需要保存完整区块链数据以维护系统运行。特别的,一部分竞争记账权的全节点被称为记帐节点。区块链系统数据的分布式存储让各节点都能够在不通过第三方的情况下进行点对点沟通,但沟通便利实际上是以牺牲的全节点的存储空间作为交换的,全节点需要下载全部数据才能完成独立验证。相应的,随着区块链系统广受欢迎,其系统和全节点存储的数据注定会持续增长。区块链系统包含一个庞大的分布式账本,记帐节点不断记录账本上的数据。所有节点共同构建区块链,用户提出交易后上传到链上进行广播,接收到交易的交易者会对该交易进行交易验证,只有验证通过的交易才会被交易者存放在自己的内存池Mempool中。
未花费交易输出(Unspent Transaction Output,UTXO)是交易数据集的一部分。未花费交易输出的数据管理能力、存储方式和占用空间将极大地影响区块链系统的运行效率和验证性能。特别是随着区块链技术的普及,相关的未花费交易输出数据集不断增长,所有存储的数据几乎不能再完整地存储在本地内存中。此时的未花费交易输出交易数据应该如何存储和管理,是区块链系统有待解决的问题。全节点为了保证验证性能,需要加载完整的未花费交易输出集到自己的本地内存中,这将占用了大量的内存空间。目前,随着未花费交易输出集的急剧增加,将整个未花费交易输出集完全存储在内存中的成本很高,所以有时会将部分未花费交易输出存储在低速硬盘中。但由于磁盘访问延迟比本地内存访问长几个数量级,所以需要花费100倍的时间来进行交易验证。
区块验证包括版本验证、简单输入验证、签名验证、锁定时间验证等,其中未花费交易输出集访问,ECC(Elliptic Curves Cryptography)解密和SHA-2哈希是最耗时间的三个步骤。评估了这些操作在通用PC上的消耗时间得出,如果整个未花费交易输出集都在本地内存中,验证速度将以ECC解密时间为主,大约是105us,吞吐量可达到10000TPS。但是,如果我们从磁盘读取未花费交易输出数据库,则访问时间将增加到10毫秒,从而导致验证速度仅为100TPS。两者之间的较大差距影响着区块链节点的高效验证和数据管理。
发明内容
本发明提供一种基于多分区的区块链数据管理优化方法及系统,以解决降低交易数据集数据管理成本的同时会降低区块验证效率的问题。
第一方面,本发明提供一种基于多分区的区块链数据管理优化方法,应用于区块链节点设备,所述节点设备具有本地内存和辅助磁盘内存,所述节点设备用于搭载基于交易的区块链系统,所述区块链系统包含多个交易区块和未花费交易输出数据集,所述方法包括如下步骤:
获取多个所述交易区块中使用所述未花费交易输出数据集进行交易的目标交易地址;
读取所述目标交易地址的交易时间戳和交易频率;
在所述区块链系统中创建用于存放所述未花费交易输出数据集中未花费交易输出数据的未花费交易输出缓存区;
结合所述交易时间戳和所述交易频率,预测所有所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率;
根据所述预测使用概率将所有所述未花费交易输出数据分别保存至所述本地内存、所述辅助磁盘内存和所述未花费交易输出缓存区。
可选的,所述结合所述交易时间戳和所述交易频率,预测所有所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率包括如下步骤:
基于所述交易时间戳计算每两个交易时间之间的交易时间间隔;
结合所述交易时间间隔和所述交易频率,并通过统计分析法计算得到交易时间间隔阈值和最优交易频率;
根据所述交易时间间隔或所述交易频率将所有所述未花费交易输出数据进行排序;
结合所述交易时间间隔阈值和所述最优交易频率,按照排序顺序逐个预测所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率。
可选的,所述结合所述交易时间间隔和所述交易频率,并通过统计分析法计算得到交易时间间隔阈值和最优交易频率包括如下步骤:
按照所述交易时间间隔的大小将所有所述交易时间间隔进行排序;
利用多个预设的分位数对排序后的所有所述交易时间间隔进行分组,得到多种分组方式,每种所述分组方式中均将所述交易时间间隔分为两个数据组;
通过统计分析法计算各个所述分组方式中数据量最小的预选数据组所对应的未花费交易输出数据使用分布;
结合所述未花费交易输出数据使用分布和对应的所述交易频率,判断各个所述预选数据组中是否存在所述未花费交易输出数据的使用频率与所述交易频率之间的关联关系;
若存在所述未花费交易输出数据的使用频率与所述交易频率之间的关联关系,则将对应的预选数据组作为目标数据组,并将所述目标数据组对应的所述分位数作为交易时间间隔阈值;
测试各个所述交易频率的数据命中率,并将所述数据命中率最高的所述交易频率作为最优交易频率。
可选的,所述结合所述交易时间间隔阈值和所述最优交易频率,按照排序顺序逐个预测所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率包括如下步骤:
按照排序顺序逐个判断所述未花费交易输出数据的所述交易频率是否为所述最优交易频率,且所述未花费交易输出数据的所述交易时间间隔是否小于所述交易时间间隔阈值;
若所述交易频率为所述最优交易频率,且所述未花费交易输出数据的所述交易时间间隔小于所述交易时间间隔阈值,则判断所述未花费交易输出数据的数据缓存长度是否小于所述未花费交易输出缓存区的缓存空间;
若所述未花费交易输出数据的数据缓存长度小于所述未花费交易输出缓存区的缓存空间,则预测对应的所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率为第一预测使用概率;
若所述未花费交易输出数据的数据缓存长度大于等于所述未花费交易输出缓存区的缓存空间,则预测对应的所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率为第二预测使用概率,所述第一预测使用概率大于所述第二预测使用概率;
若所述交易频率大于预设的频率阈值,且所述未花费交易输出数据的所述交易时间间隔大于等于所述交易时间间隔阈值,则判断所述未花费交易输出数据的磁盘储存长度是否小于所述辅助磁盘内存的内存空间,所述频率阈值大于所述最优交易频率;
若所述未花费交易输出数据的磁盘储存长度小于所述辅助磁盘内存的内存空间,则预测对应的所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率为第三预测使用概率,所述第三预测使用概率小于所述第二预测使用概率;
若所述未花费交易输出数据的磁盘储存长度大于等于所述辅助磁盘内存的内存空间,则预测对应的所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率为所述第二预测使用概率;
若所述交易频率小于所述频率阈值且不为所述最优交易频率,
或,
若所述交易频率为所述最优交易频率,且所述未花费交易输出数据的所述交易时间间隔大于等于所述交易时间间隔阈值,则预测对应的所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率为所述第二预测使用概率。
可选的,所述根据所述预测使用概率将所有所述未花费交易输出数据分别保存至所述本地内存、所述辅助磁盘内存和所述未花费交易输出缓存区包括如下步骤:
判断所述未花费交易输出数据的所述预测使用概率为所述第一预测使用概率、所述第二预测使用概率或所述第三预测使用概率;
若所述未花费交易输出数据为所述第一预测使用概率,则将所述未花费交易输出数据保存至所述未花费交易输出缓存区;
若所述未花费交易输出数据为所述第二预测使用概率,则将所述未花费交易输出数据保存至所述本地内存;
若所述未花费交易输出数据为所述第三预测使用概率,则将所述未花费交易输出数据保存至所述辅助磁盘内存。
第二方面,本发明提供一种基于多分区的区块链数据管理优化系统,搭载于区块链节点设备,所述节点设备具有本地内存和辅助磁盘内存,所述节点设备用于搭载基于交易的区块链系统,所述区块链系统包含多个交易区块和未花费交易输出数据集,所述系统包括:
地址获取子系统,用于获取多个所述交易区块中使用所述未花费交易输出数据集进行交易的目标交易地址;
地址读取子系统,用于读取所述目标交易地址的交易时间戳和交易频率;
缓存创建子系统,用于在所述区块链系统中创建用于存放所述未花费交易输出数据集中未花费交易输出数据的未花费交易输出缓存区;
概率预测子系统,用于结合所述交易时间戳和所述交易频率,预测所有所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率;
分区管理子系统,用于根据所述预测使用概率将所有所述未花费交易输出数据分别保存至所述本地内存、所述辅助磁盘内存和所述未花费交易输出缓存区。
可选的,所述概率预测子系统包括:
间隔计算模块,用于基于所述交易时间戳计算每两个交易时间之间的交易时间间隔;
频率计算模块,用于结合所述交易时间间隔和所述交易频率,并通过统计分析法计算得到交易时间间隔阈值和最优交易频率;
数据排序模块,用于根据所述交易时间间隔或所述交易频率将所有所述未花费交易输出数据进行排序;
概率预测模块,用于结合所述交易时间间隔阈值和所述最优交易频率,按照排序顺序逐个预测所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率。
可选的,所述频率计算模块包括:
数据排序单元,用于按照所述交易时间间隔的大小将所有所述交易时间间隔进行排序;
数据分组单元,用于利用多个预设的分位数对排序后的所有所述交易时间间隔进行分组,得到多种分组方式,每种所述分组方式中均将所述交易时间间隔分为两个数据组;
数据计算单元,用于通过统计分析法计算各个所述分组方式中数据量最小的预选数据组所对应的未花费交易输出数据使用分布;
关联判断单元,用于结合所述未花费交易输出数据使用分布和对应的所述交易频率,判断各个所述预选数据组中是否存在所述未花费交易输出数据的使用频率与所述交易频率之间的关联关系;
间隔阈值确认单元,当所述关联判断单元的判断结果为存在所述未花费交易输出数据的使用频率与所述交易频率之间的关联关系时,用于将对应的预选数据组作为目标数据组,并将所述目标数据组对应的所述分位数作为交易时间间隔阈值;
最优频率确认单元,用于测试各个所述交易频率的数据命中率,并将所述数据命中率最高的所述交易频率作为最优交易频率。
可选的,所述概率预测模块包括:
第一条件判断单元,用于按照排序顺序逐个判断所述未花费交易输出数据的所述交易频率是否为所述最优交易频率,且所述未花费交易输出数据的所述交易时间间隔是否小于所述交易时间间隔阈值;
缓存判断单元,当所述第一条件判断单元的判断结果为所述交易频率为所述最优交易频率,且所述未花费交易输出数据的所述交易时间间隔小于所述交易时间间隔阈值时,用于判断所述未花费交易输出数据的数据缓存长度是否小于所述未花费交易输出缓存区的缓存空间;
第一概率预测单元,当所述缓存判断单元的判断结果为所述未花费交易输出数据的数据缓存长度小于所述未花费交易输出缓存区的缓存空间时,用于预测对应的所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率为第一预测使用概率;
第二概率预测单元,当所述缓存判断单元的判断结果为所述未花费交易输出数据的数据缓存长度大于等于所述未花费交易输出缓存区的缓存空间时,用于预测对应的所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率为第二预测使用概率,所述第一预测使用概率大于所述第二预测使用概率;
第二条件判断单元,当所述第一条件判断单元的判断结果为所述交易频率大于预设的频率阈值,且所述未花费交易输出数据的所述交易时间间隔大于等于所述交易时间间隔阈值时,用于判断所述未花费交易输出数据的磁盘储存长度是否小于所述辅助磁盘内存的内存空间,所述频率阈值大于所述最优交易频率;
第三概率预测单元,当所述第二条件判断单元的判断结果为所述未花费交易输出数据的磁盘储存长度小于所述辅助磁盘内存的内存空间时,用于预测对应的所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率为第三预测使用概率,所述第三预测使用概率小于所述第二预测使用概率;
当所述第二条件判断单元的判断结果为所述未花费交易输出数据的磁盘储存长度大于等于所述辅助磁盘内存的内存空间时,
或,
当所述第一条件判断单元的判断结果为所述交易频率小于所述频率阈值且不为所述最优交易频率时,
或,
当所述第一条件判断单元的判断结果为所述交易频率为所述最优交易频率,且所述未花费交易输出数据的所述交易时间间隔大于等于所述交易时间间隔阈值时,所述第二概率预测单元用于预测对应的所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率为所述第二预测使用概率。
可选的,所述分区管理子系统包括:
概率判断模块,用于判断所述未花费交易输出数据的所述预测使用概率为所述第一预测使用概率、所述第二预测使用概率或所述第三预测使用概率;
第一分配模块,当所述概率判断模块的判断结果为所述未花费交易输出数据为所述第一预测使用概率时,用于将所述未花费交易输出数据保存至所述未花费交易输出缓存区;
第二分配模块,当所述概率判断模块的判断结果为所述未花费交易输出数据为所述第二预测使用概率时,用于将所述未花费交易输出数据保存至所述本地内存;
第三分配模块,当所述概率判断模块的判断结果为所述未花费交易输出数据为所述第三预测使用概率时,用于将所述未花费交易输出数据保存至所述辅助磁盘内存。
本发明的有益效果是:
本发明利用同一地址下的历史交易的交易间隔时间和交易次数来预测地址相关未花费交易输出数据会作为交易输出出现在下一个交易区块中的概率,并将概率大的未花费交易输出数据保存在缓存中,用于加速验证这些交易;将概率小的未花费交易输出数据存放在磁盘,用于减少内存占用量。通过这种方式,全节点就不需要频繁访问磁盘中的未花费交易输出数据,能够在减少内存占用量。同时利用一个小的未花费交易输出缓存,以达到加速区块验证时间并实现数据高效管理。
附图说明
图1为本发明中区块链系统的应用场景示意图。
图2为本发明中基于多分区的区块链数据管理优化方法的流程示意图。
图3为本发明中采用统计分析方法分析使用频率与交易频率之间关联关系的分析示意图。
图4为本发明中数据命中率的测试结果示意图。
图5为本发明中实验所采用的未花费交易输出数据年龄分布图。
图6为本发明中输入未花费交易输出相关地址的交易频率分布图。
图7为本发明中输出未花费交易输出相关地址的交易频率分布图。
具体实施方式
本发明公开一种基于多分区的区块链数据管理优化方法。该方法应用于区块链节点设备,节点设备具有本地内存和辅助磁盘内存,节点设备用于搭载基于交易的区块链系统,区块链系统包含多个交易区块和未花费交易输出(Unspent Transaction Output,UTXO)数据集。未花费交易输出数据集的数据管理能力、存储方式和占用空间将极大地影响区块链系统的运行效率和验证性能。
参照图1,图1为区块链系统的应用场景图,区块链的节点可以分为轻节点和全节点。轻节点负责处理和验证一部分交易和区块,不需要存储完整的区块链数据。全节点需要保存完整区块链数据以维护系统运行。特别的,一部分竞争记账权的全节点被称为记帐节点。区块链系统数据的分布式存储让各节点都能够在不通过第三方的情况下进行点对点沟通,但沟通便利实际上是以牺牲的全节点的存储空间作为交换的,全节点需要下载全部数据才能完成独立验证。
参照图2,本发明所公开的基于多分区的区块链数据管理优化方法具体包括如下步骤:
S101.获取多个交易区块中使用未花费交易输出数据集进行交易的目标交易地址。
其中,未花费交易输出数据广泛应用于基于交易的区块链系统,它和基于账户的交易模型不同。在基于交易的交易模型中,它的一笔交易可以是一个或者多个输入,也可以是一个或者多个输出。每当发起一笔新的交易时,交易提出者需要选择一些之前的未花费交易输出数据作为输入,并使用它们为收款人创建出新的未花费交易输出数据。每个未花费交易输出数据可能属于不同的所有者,未花费交易输出数据可以在后续交易中作为输入继续使用。在传统的基于账户的系统中,系统直接记录每个账户的余额。但是,基于交易的模型获取特定账户余额的方法与此不同。它需要聚合所有与该账户关联的未花费交易输出数据并将它们累加(使用数字钱包等)以此获取总余额。为了后续方便进行数据集分析,可以下载区块链中最新生成的交易区块,并收集该交易区块所包含的地址的最近五次交易记录。
S102.读取目标交易地址的交易时间戳和交易频率。
其中,在收集到交易区块所包含的地址的最近五次交易记录后,可以读取这些目标交易地址的交易时间戳及该地址的交易频率。进而可以分析未花费交易输出相关地址的交易频率、时间间隔之间的关系。
S103.在区块链系统中创建用于存放未花费交易输出数据集中未花费交易输出数据的未花费交易输出缓存区。
其中,区块链系统包含一个庞大的分布式账本,记帐节点不断记录账本上的数据。所有节点共同构建区块链。用户提出交易后上传到链上进行广播,接收到交易的交易者会对该交易进行交易验证,只有验证通过的交易才会被交易者存放在自己的内存池Mempool(Mempool是未打包交易的临时存储空间)中。同时交易者也在争夺下一个区块的记账权,获胜的交易者将获得创建新区块并打包交易的权利。交易者为了节省时间,通常会直接在Mempool中选择需要打包的交易,毕竟里面的交易已经完成过交易验证。同时,交易者可以从新建的区块中获得交易费和奖励。之后,获胜的交易者将向区块链网络广播新区块。当其他节点收到关于新区块的区块头时,它们将验证并存储这个区块。之后,交易者们将在验证区块的基础上继续进行新一轮的交易。
其中,区块验证包括版本验证、简单输入验证、签名验证、锁定时间验证等[20],其中未花费交易输出集访问,ECC(Elliptic Curves Cryptography)解密和SHA-2哈希是最耗时间的三个步骤。评估了这些操作在通用PC上的消耗时间得出,如果整个未花费交易输出集都在本地内存中,验证速度将以ECC解密时间为主,大约是105us,吞吐量可达到10000TPS。但是,如果我们从辅助磁盘读取未花费交易输出数据库,则访问时间将增加到10毫秒,从而导致验证速度仅为100TPS。因此,可以通过创建未花费交易输出缓存区,将少部分极有可能会被使用的未花费交易输出数据预存至未花费交易输出缓存区,从而加速区块验证的速度。
S104.结合交易时间戳和交易频率,预测所有未花费交易输出数据在区块链系统的新交易区块的预测使用概率。
其中,由于未花费交易输出缓存区容量较小,因此只能存放少量的未花费交易输出数据,所以需要结合交易时间戳和交易频率,准确预测所有未花费交易输出数据在区块链系统的新交易区块的预测使用概率,将预测使用概率最高的一部分未花费交易输出数据存放在未花费交易输出缓存区。
S105.根据预测使用概率将所有未花费交易输出数据分别保存至本地内存、辅助磁盘内存和未花费交易输出缓存区。
其中,可以将预测使用概率最高的一部分未花费交易输出数据存放在未花费交易输出缓存区,将预测使用概率次高的一部分未花费交易输出数据存放在本地内存,而剩下的数据则存放在辅助磁盘内存中,通过以上数据分区管理的方法可以加速区块验证时间并实现数据高效管理。
本实施方式的实施原理为:
本发明利用同一地址下的历史交易的交易间隔时间和交易次数来预测地址相关未花费交易输出数据会作为交易输出出现在下一个交易区块中的概率,并将概率大的未花费交易输出数据保存在缓存中,用于加速验证这些交易;将概率小的未花费交易输出数据存放在磁盘,用于减少内存占用量。通过这种方式,全节点就不需要频繁访问磁盘中的未花费交易输出数据,能够在减少内存占用量。同时利用一个小的未花费交易输出缓存,以达到加速区块验证时间并实现数据高效管理。
在其中一种实施方式中,步骤S104具体包括如下步骤:
基于交易时间戳计算每两个交易时间之间的交易时间间隔;
结合交易时间间隔和交易频率,并通过统计分析法计算得到交易时间间隔阈值和最优交易频率;
根据交易时间间隔或交易频率将所有未花费交易输出数据进行排序;
结合交易时间间隔阈值和最优交易频率,按照排序顺序逐个预测未花费交易输出数据在区块链系统的新交易区块的预测使用概率。
在本实施方式中,结合交易时间间隔和交易频率,并通过统计分析法计算得到交易时间间隔阈值和最优交易频率这一步骤具体包括如下步骤:
按照交易时间间隔的大小将所有交易时间间隔进行排序;
利用多个预设的分位数对排序后的所有交易时间间隔进行分组,得到多种分组方式,每种分组方式中均将交易时间间隔分为两个数据组;
通过统计分析法计算各个分组方式中数据量最小的预选数据组所对应的未花费交易输出数据使用分布;
结合未花费交易输出数据使用分布和对应的交易频率,判断各个预选数据组中是否存在未花费交易输出数据的使用频率与交易频率之间的关联关系;
若存在未花费交易输出数据的使用频率与交易频率之间的关联关系,则将对应的预选数据组作为目标数据组,并将目标数据组对应的分位数作为交易时间间隔阈值;
测试各个交易频率的数据命中率,并将数据命中率最高的交易频率作为最优交易频率。
在本实施方式中,假设最新生成的区块高度为801213的交易区块,收集该区块所包含的地址的目标交易地址最近五次交易的时间戳及该地址的交易频率。按照交易时间间隔的大小将所有交易时间间隔进行排序,利用多个预设的分位数对排序后的所有交易时间间隔进行分组,得到多种分组方式,每种分组方式中均将交易时间间隔分为两个数据组。通过统计分析法计算各个分组方式中数据量最小的预选数据组所对应的未花费交易输出数据使用分布。结合未花费交易输出数据使用分布和对应的交易频率,判断各个预选数据组中是否存在未花费交易输出数据的使用频率与交易频率之间的关联关系。
参照图3,图3所示为其中一种分组方式,左侧饼图所展示的时间间隔分布即为两个不同的预选数据组。可以发现最近两笔交易之间时间间隔小于72小时的输入地址占大多数,时间间隔大于72小时的输入地址只占一小部分。从图3的右侧所示可以发现,当时间间隔大于72小时,未花费交易输出数据的使用频率与交易频率之间的关联关系。如果地址交易频率较低就意味着产生新交易的可能性较高,反之亦然。因此,可以将对应的预选数据组作为目标数据组,并将目标数据组对应的分位数作为交易时间间隔阈值。
参照图4,考虑到未花费交易输出缓存区的容量大小相对较小,应该提高数据命中率。假设目前有6个区块的未花费交易输出数据,若这些未花费交易输出都遵循一定的地址交易频率分布。在本实施方式中,为测试缓存命中率,使用4种不同交易频率进行4个简单测试。图4说明若将交易频率为1的地址相关未花费交易输出从内存复制到缓存会更有助于提高缓存命中率。
在其中一种实施方式中,结合交易时间间隔阈值和最优交易频率,按照排序顺序逐个预测未花费交易输出数据在区块链系统的新交易区块的预测使用概率这一步骤具体包括如下步骤:
按照排序顺序逐个判断未花费交易输出数据的交易频率是否为最优交易频率,且未花费交易输出数据的交易时间间隔是否小于交易时间间隔阈值;
若交易频率为最优交易频率,且未花费交易输出数据的交易时间间隔小于交易时间间隔阈值,则判断未花费交易输出数据的数据缓存长度是否小于未花费交易输出缓存区的缓存空间;
若未花费交易输出数据的数据缓存长度小于未花费交易输出缓存区的缓存空间,则预测对应的未花费交易输出数据在区块链系统的新交易区块的预测使用概率为第一预测使用概率;
若未花费交易输出数据的数据缓存长度大于等于未花费交易输出缓存区的缓存空间,则预测对应的未花费交易输出数据在区块链系统的新交易区块的预测使用概率为第二预测使用概率,第一预测使用概率大于第二预测使用概率;
若交易频率大于预设的频率阈值,且未花费交易输出数据的交易时间间隔大于等于交易时间间隔阈值,则判断未花费交易输出数据的磁盘储存长度是否小于辅助磁盘内存的内存空间,频率阈值大于最优交易频率;
若未花费交易输出数据的磁盘储存长度小于辅助磁盘内存的内存空间,则预测对应的未花费交易输出数据在区块链系统的新交易区块的预测使用概率为第三预测使用概率,第三预测使用概率小于第二预测使用概率;
若未花费交易输出数据的磁盘储存长度大于等于辅助磁盘内存的内存空间,则预测对应的未花费交易输出数据在区块链系统的新交易区块的预测使用概率为第二预测使用概率;
若交易频率小于频率阈值且不为最优交易频率,
或,
若交易频率为最优交易频率,且未花费交易输出数据的交易时间间隔大于等于交易时间间隔阈值,则预测对应的未花费交易输出数据在区块链系统的新交易区块的预测使用概率为第二预测使用概率。
在本实施方式中,步骤S105具体包括如下步骤:
判断未花费交易输出数据的预测使用概率为第一预测使用概率、第二预测使用概率或第三预测使用概率;
若未花费交易输出数据为第一预测使用概率,则将未花费交易输出数据保存至未花费交易输出缓存区;
若未花费交易输出数据为第二预测使用概率,则将未花费交易输出数据保存至本地内存;
若未花费交易输出数据为第三预测使用概率,则将未花费交易输出数据保存至辅助磁盘内存。
在本实施方式中,假设最优交易频率为1,未花费交易输出缓存区为cache,本地内存为memory,辅助磁盘内存为disk,交易频率为count,交易时间间隔为time,交易时间间隔阈值为τtime,预设的频率阈值为τcount,结合上述“结合交易时间间隔阈值和最优交易频率,按照排序顺序逐个预测未花费交易输出数据在区块链系统的新交易区块的预测使用概率”这一步骤的具体实施方式,以及上述步骤S105的具体实施步骤,可以得到以下数据管理优化算法:
节点执行区块验证时的主要成本是交易验证。对于交易验证,它的主要时间花费在脚本验证和未花费交易输出访问。假设在一个新的区块中有N个交易输入,区块验证的时间是TBV,那么有以下公式:
TBV=TSV+TA+Tothers
其中TSV为脚本验证的总时间,TA为未花费交易输出数据访问的总时间。另一个时间Tothers,包含验证工作证明、Merkle树等的时间,可以忽略不计。设新区块中有PM的概率分布在本地内存,则分布在本地内存中的未花费交易输出个数为NM′,且NM′=N*PM′,PM′为优化前的PM。同样的,有PD′=1-PM′的概率分布在辅助磁盘内存,那么分布在辅助磁盘内存的未花费交易输出个数为ND′=N*PD′=N*(1-PM′)。此时,新区块访问未花费交易输出所需时间为:
其中,tAMi为第i个未花费交易输出访问本地内存所花费的时间,tADi为第i个未花费交易输出访问辅助磁盘内存所花费的时间。且有N=NM′+ND′。那我们能够得出含N个交易输入的新区块所花费的区块验证时间TSV′为:
其中tSVi是新块中第i个未花费交易输出的脚本验证时间。
基于以上一轮,设新区块中在缓存的未花费交易输出的概率为Pcache,则其个数Ncache=N*Pcache,设分布在本地内存中的未花费交易输出个数为NM,设有PM的概率分布在本地内存,则分布在本地内存中的未花费交易输出个数为:NM=N*PM,有PD=1-PM-Pcache的概率分布在辅助磁盘内存,那么分布在辅助磁盘内存的未花费交易输出个数为ND=N*PD=N*(1-PM-Pcache)。故而针对使用分区优化机制之后的TA,对于任意未花费交易输出,访问时间有以下公式:
其中tAcachei为访问未花费交易输出缓存中第i个未花费交易输出的所花费的时间。且ΔNM=NM′-NM,ΔND=ND′-ND,然后可以得到优化时间差:
可以看出,如果优化机制能够进行合理优化的话,是能够快速缩短区块验证中访问未花费交易输出所花费的时间的。
在其中一种实施方式中,通过设计实验证明本发明中所采用的方法的效果。在设计的实验中,初始化了100000个未花费交易输出数据构成原始未花费交易输出数据集。使用不同的数据管理方法作用于相同的未花费交易输出数据集:随机实验是将未花费交易输出随机分配到内存和磁盘中,不配置缓存;LRU/MRU实验是通过LRU/MRU将未花费交易输出存储到磁盘/缓存中;LFU/MFU实验是通过LFU/MFU将未花费交易输出存储到磁盘/缓存中;最后一个Opt实验是通过本文所提出的机制将未花费交易输出存储到磁盘和缓存中。从原始数据集中选择1000个未花费交易输出来生成新的区块。此外,我们设置缓存中存储N个未花费交易输出的数据,同时占用x%的内存空间,tAMi的时间为16μs,tADi为10120μs。同时,在下节实验中的访问时间也会以此设置,并将访问缓存的时间设置为1μs。
参照图5,从浏览器中下载相关未花费交易输出年龄分布数据,绝大部分未花费交易输出年龄已超过1周,甚至超过整体未花费交易输出数据集的99%。为更好控制整体数据集大小,在模拟实验生成未花费交易输出数据集时,将生成90%的年龄超过72小时的未花费交易输出和10%的年龄未超过72小时的未花费交易输出。
对于整个区块而言,交易输入和交易输出传达的意义并不一样,交易输入的打包规则更能契合生成新区块的规律,而交易输出的生成规则就更能清楚反馈未花费交易输出数据集内数据的生成情况。参照图6,以区块高度为801213的区块为例,交易输入未花费交易输出的相关地址交易次数为2的占据整个区块近乎一半的数据。在生成新区块时,根据输入未花费交易输出相关地址的交易次数分类打包交易,将未花费交易输出的地址交易次数为1、2-10、11-100、101以上分别打包未花费交易输出集的55%、15%、15%、15%。参照图7,在该区块,输出未花费交易输出相关地址的交易次数在101及以上的占据多半,而相关地址的交易次数为1的输出未花费交易输出占据不超1/5。可以从图6和图7看出新区块生成未花费交易输出的规律。
对新生成的区块中进行了缓存命中率测试和未花费交易输出访问时间评估实验。对于每个数据管理方法,实验都有四种内存设置:实验使用70%、60%、50%和40%的内存空间,满内存空间可存储100000个未花费交易输出。为了研究交易数据管理,测试的缓存大小从300到600不等。在缓存命中率测试中,缓存命中率越高,磁盘访问次数越低,表示交易数据集管理越好。实验结果显示,尽管LRU/MRU和LFU/MFU均能取得较好的性能,但本发明所提出的方法在数据集管理方面仍优于上述方法。
实验结果还显示,无论在不同的缓存大小和内存使用设置下,本发明所提出的方法在未花费交易输出访问时间方面都能获得更好的性能。结果表明,与LRU&MRU或LRU&MRU相比,本发明所提出的方法可以更好地让未花费交易输出数据集存储在不同的分区。当内存使用率为70%~40%时,本发明提出的方法的未花费交易输出访问时间约为0.12~0.58秒,而使用LRU&MRU和LFU&MRU的未花费交易输出访问时间分别为0.69~1.44秒和0.67~1.40秒。基于以上实验评估与分析,本发明提出的方法实现了高效的数据管理,减少了区块验证所需的未花费交易输出访问时间。
本发明还公开一种基于多分区的区块链数据管理优化系统,搭载于区块链节点设备,节点设备具有本地内存和辅助磁盘内存,节点设备用于搭载基于交易的区块链系统,区块链系统包含多个交易区块和未花费交易输出(Unspent Transaction Output,UTXO)数据集,系统包括:
地址获取子系统,用于获取多个交易区块中使用未花费交易输出数据集进行交易的目标交易地址;
地址读取子系统,用于读取目标交易地址的交易时间戳和交易频率;
缓存创建子系统,用于在区块链系统中创建用于存放未花费交易输出数据集中未花费交易输出数据的未花费交易输出缓存区;
概率预测子系统,用于结合交易时间戳和交易频率,预测所有未花费交易输出数据在区块链系统的新交易区块的预测使用概率;
分区管理子系统,用于根据预测使用概率将所有未花费交易输出数据分别保存至本地内存、辅助磁盘内存和未花费交易输出缓存区。
本实施方式的实施原理为:
通过程序的调取,上述子系统共同执行前述实施方式中所公开的基于多分区的区块链数据管理优化方法,以实现以下效果:利用同一地址下的历史交易的交易间隔时间和交易次数来预测地址相关未花费交易输出数据会作为交易输出出现在下一个交易区块中的概率,并将概率大的未花费交易输出数据保存在缓存中,用于加速验证这些交易;将概率小的未花费交易输出数据存放在磁盘,用于减少内存占用量。通过这种方式,全节点就不需要频繁访问磁盘中的未花费交易输出数据,能够在减少内存占用量。同时利用一个小的未花费交易输出缓存,以达到加速区块验证时间并实现数据高效管理。
在其中一种实施方式中,概率预测子系统包括:
间隔计算模块,用于基于交易时间戳计算每两个交易时间之间的交易时间间隔;
频率计算模块,用于结合交易时间间隔和交易频率,并通过统计分析法计算得到交易时间间隔阈值和最优交易频率;
数据排序模块,用于根据交易时间间隔或交易频率将所有未花费交易输出数据进行排序;
概率预测模块,用于结合交易时间间隔阈值和最优交易频率,按照排序顺序逐个预测未花费交易输出数据在区块链系统的新交易区块的预测使用概率。
在其中一种实施方式中,频率计算模块包括:
数据排序单元,用于按照交易时间间隔的大小将所有交易时间间隔进行排序;
数据分组单元,用于利用多个预设的分位数对排序后的所有交易时间间隔进行分组,得到多种分组方式,每种分组方式中均将交易时间间隔分为两个数据组;
数据计算单元,用于通过统计分析法计算各个分组方式中数据量最小的预选数据组所对应的未花费交易输出数据使用分布;
关联判断单元,用于结合未花费交易输出数据使用分布和对应的交易频率,判断各个预选数据组中是否存在未花费交易输出数据的使用频率与交易频率之间的关联关系;
间隔阈值确认单元,当关联判断单元的判断结果为存在未花费交易输出数据的使用频率与交易频率之间的关联关系时,用于将对应的预选数据组作为目标数据组,并将目标数据组对应的分位数作为交易时间间隔阈值;
最优频率确认单元,用于测试各个交易频率的数据命中率,并将数据命中率最高的交易频率作为最优交易频率。
在其中一种实施方式中,概率预测模块包括:
第一条件判断单元,用于按照排序顺序逐个判断未花费交易输出数据的交易频率是否为最优交易频率,且未花费交易输出数据的交易时间间隔是否小于交易时间间隔阈值;
缓存判断单元,当第一条件判断单元的判断结果为交易频率为最优交易频率,且未花费交易输出数据的交易时间间隔小于交易时间间隔阈值时,用于判断未花费交易输出数据的数据缓存长度是否小于未花费交易输出缓存区的缓存空间;
第一概率预测单元,当缓存判断单元的判断结果为未花费交易输出数据的数据缓存长度小于未花费交易输出缓存区的缓存空间时,用于预测对应的未花费交易输出数据在区块链系统的新交易区块的预测使用概率为第一预测使用概率;
第二概率预测单元,当缓存判断单元的判断结果为未花费交易输出数据的数据缓存长度大于等于未花费交易输出缓存区的缓存空间时,用于预测对应的未花费交易输出数据在区块链系统的新交易区块的预测使用概率为第二预测使用概率,第一预测使用概率大于第二预测使用概率;
第二条件判断单元,当第一条件判断单元的判断结果为交易频率大于预设的频率阈值,且未花费交易输出数据的交易时间间隔大于等于交易时间间隔阈值时,用于判断未花费交易输出数据的磁盘储存长度是否小于辅助磁盘内存的内存空间,频率阈值大于最优交易频率;
第三概率预测单元,当第二条件判断单元的判断结果为未花费交易输出数据的磁盘储存长度小于辅助磁盘内存的内存空间时,用于预测对应的未花费交易输出数据在区块链系统的新交易区块的预测使用概率为第三预测使用概率,第三预测使用概率小于第二预测使用概率;
当第二条件判断单元的判断结果为未花费交易输出数据的磁盘储存长度大于等于辅助磁盘内存的内存空间时,
或,
当第一条件判断单元的判断结果为交易频率小于频率阈值且不为最优交易频率时,
或,
当第一条件判断单元的判断结果为交易频率为最优交易频率,且未花费交易输出数据的交易时间间隔大于等于交易时间间隔阈值时,第二概率预测单元用于预测对应的未花费交易输出数据在区块链系统的新交易区块的预测使用概率为第二预测使用概率。
在其中一种实施方式中,分区管理子系统包括:
概率判断模块,用于判断未花费交易输出数据的预测使用概率为第一预测使用概率、第二预测使用概率或第三预测使用概率;
第一分配模块,当概率判断模块的判断结果为未花费交易输出数据为第一预测使用概率时,用于将未花费交易输出数据保存至未花费交易输出缓存区;
第二分配模块,当概率判断模块的判断结果为未花费交易输出数据为第二预测使用概率时,用于将未花费交易输出数据保存至本地内存;
第三分配模块,当概率判断模块的判断结果为未花费交易输出数据为第三预测使用概率时,用于将未花费交易输出数据保存至辅助磁盘内存。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的保护范围限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上的本申请中一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
本申请中一个或多个实施例旨在涵盖落入本申请的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请中一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于多分区的区块链数据管理优化方法,其特征在于,应用于区块链节点设备,所述节点设备具有本地内存和辅助磁盘内存,所述节点设备用于搭载基于交易的区块链系统,所述区块链系统包含多个交易区块和未花费交易输出数据集,所述方法包括如下步骤:
获取多个所述交易区块中使用所述未花费交易输出数据集进行交易的目标交易地址;
读取所述目标交易地址的交易时间戳和交易频率;
在所述区块链系统中创建用于存放所述未花费交易输出数据集中未花费交易输出数据的未花费交易输出缓存区;
结合所述交易时间戳和所述交易频率,预测所有所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率;
根据所述预测使用概率将所有所述未花费交易输出数据分别保存至所述本地内存、所述辅助磁盘内存和所述未花费交易输出缓存区。
2.根据权利要求1所述的基于多分区的区块链数据管理优化方法,其特征在于,所述结合所述交易时间戳和所述交易频率,预测所有所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率包括如下步骤:
基于所述交易时间戳计算每两个交易时间之间的交易时间间隔;
结合所述交易时间间隔和所述交易频率,并通过统计分析法计算得到交易时间间隔阈值和最优交易频率;
根据所述交易时间间隔或所述交易频率将所有所述未花费交易输出数据进行排序;
结合所述交易时间间隔阈值和所述最优交易频率,按照排序顺序逐个预测所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率。
3.根据权利要求2所述的基于多分区的区块链数据管理优化方法,其特征在于,所述结合所述交易时间间隔和所述交易频率,并通过统计分析法计算得到交易时间间隔阈值和最优交易频率包括如下步骤:
按照所述交易时间间隔的大小将所有所述交易时间间隔进行排序;
利用多个预设的分位数对排序后的所有所述交易时间间隔进行分组,得到多种分组方式,每种所述分组方式中均将所述交易时间间隔分为两个数据组;
通过统计分析法计算各个所述分组方式中数据量最小的预选数据组所对应的未花费交易输出数据使用分布;
结合所述未花费交易输出数据使用分布和对应的所述交易频率,判断各个所述预选数据组中是否存在所述未花费交易输出数据的使用频率与所述交易频率之间的关联关系;
若存在所述未花费交易输出数据的使用频率与所述交易频率之间的关联关系,则将对应的预选数据组作为目标数据组,并将所述目标数据组对应的所述分位数作为交易时间间隔阈值;
测试各个所述交易频率的数据命中率,并将所述数据命中率最高的所述交易频率作为最优交易频率。
4.根据权利要求2所述的基于多分区的区块链数据管理优化方法,其特征在于,所述结合所述交易时间间隔阈值和所述最优交易频率,按照排序顺序逐个预测所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率包括如下步骤:
按照排序顺序逐个判断所述未花费交易输出数据的所述交易频率是否为所述最优交易频率,且所述未花费交易输出数据的所述交易时间间隔是否小于所述交易时间间隔阈值;
若所述交易频率为所述最优交易频率,且所述未花费交易输出数据的所述交易时间间隔小于所述交易时间间隔阈值,则判断所述未花费交易输出数据的数据缓存长度是否小于所述未花费交易输出缓存区的缓存空间;
若所述未花费交易输出数据的数据缓存长度小于所述未花费交易输出缓存区的缓存空间,则预测对应的所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率为第一预测使用概率;
若所述未花费交易输出数据的数据缓存长度大于等于所述未花费交易输出缓存区的缓存空间,则预测对应的所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率为第二预测使用概率,所述第一预测使用概率大于所述第二预测使用概率;
若所述交易频率大于预设的频率阈值,且所述未花费交易输出数据的所述交易时间间隔大于等于所述交易时间间隔阈值,则判断所述未花费交易输出数据的磁盘储存长度是否小于所述辅助磁盘内存的内存空间,所述频率阈值大于所述最优交易频率;
若所述未花费交易输出数据的磁盘储存长度小于所述辅助磁盘内存的内存空间,则预测对应的所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率为第三预测使用概率,所述第三预测使用概率小于所述第二预测使用概率;
若所述未花费交易输出数据的磁盘储存长度大于等于所述辅助磁盘内存的内存空间,则预测对应的所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率为所述第二预测使用概率;
若所述交易频率小于所述频率阈值且不为所述最优交易频率,
或,
若所述交易频率为所述最优交易频率,且所述未花费交易输出数据的所述交易时间间隔大于等于所述交易时间间隔阈值,则预测对应的所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率为所述第二预测使用概率。
5.根据权利要求4所述的基于多分区的区块链数据管理优化方法,其特征在于,所述根据所述预测使用概率将所有所述未花费交易输出数据分别保存至所述本地内存、所述辅助磁盘内存和所述未花费交易输出缓存区包括如下步骤:
判断所述未花费交易输出数据的所述预测使用概率为所述第一预测使用概率、所述第二预测使用概率或所述第三预测使用概率;
若所述未花费交易输出数据为所述第一预测使用概率,则将所述未花费交易输出数据保存至所述未花费交易输出缓存区;
若所述未花费交易输出数据为所述第二预测使用概率,则将所述未花费交易输出数据保存至所述本地内存;
若所述未花费交易输出数据为所述第三预测使用概率,则将所述未花费交易输出数据保存至所述辅助磁盘内存。
6.一种基于多分区的区块链数据管理优化系统,其特征在于,搭载于区块链节点设备,所述节点设备具有本地内存和辅助磁盘内存,所述节点设备用于搭载基于交易的区块链系统,所述区块链系统包含多个交易区块和未花费交易输出数据集,所述系统包括:
地址获取子系统,用于获取多个所述交易区块中使用所述未花费交易输出数据集进行交易的目标交易地址;
地址读取子系统,用于读取所述目标交易地址的交易时间戳和交易频率;
缓存创建子系统,用于在所述区块链系统中创建用于存放所述未花费交易输出数据集中未花费交易输出数据的未花费交易输出缓存区;
概率预测子系统,用于结合所述交易时间戳和所述交易频率,预测所有所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率;
分区管理子系统,用于根据所述预测使用概率将所有所述未花费交易输出数据分别保存至所述本地内存、所述辅助磁盘内存和所述未花费交易输出缓存区。
7.根据权利要求6所述的基于多分区的区块链数据管理优化系统,其特征在于,所述概率预测子系统包括:
间隔计算模块,用于基于所述交易时间戳计算每两个交易时间之间的交易时间间隔;
频率计算模块,用于结合所述交易时间间隔和所述交易频率,并通过统计分析法计算得到交易时间间隔阈值和最优交易频率;
数据排序模块,用于根据所述交易时间间隔或所述交易频率将所有所述未花费交易输出数据进行排序;
概率预测模块,用于结合所述交易时间间隔阈值和所述最优交易频率,按照排序顺序逐个预测所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率。
8.根据权利要求7所述的基于多分区的区块链数据管理优化系统,其特征在于,所述频率计算模块包括:
数据排序单元,用于按照所述交易时间间隔的大小将所有所述交易时间间隔进行排序;
数据分组单元,用于利用多个预设的分位数对排序后的所有所述交易时间间隔进行分组,得到多种分组方式,每种所述分组方式中均将所述交易时间间隔分为两个数据组;
数据计算单元,用于通过统计分析法计算各个所述分组方式中数据量最小的预选数据组所对应的未花费交易输出数据使用分布;
关联判断单元,用于结合所述未花费交易输出数据使用分布和对应的所述交易频率,判断各个所述预选数据组中是否存在所述未花费交易输出数据的使用频率与所述交易频率之间的关联关系;
间隔阈值确认单元,当所述关联判断单元的判断结果为存在所述未花费交易输出数据的使用频率与所述交易频率之间的关联关系时,用于将对应的预选数据组作为目标数据组,并将所述目标数据组对应的所述分位数作为交易时间间隔阈值;
最优频率确认单元,用于测试各个所述交易频率的数据命中率,并将所述数据命中率最高的所述交易频率作为最优交易频率。
9.根据权利要求7所述的基于多分区的区块链数据管理优化系统,其特征在于,所述概率预测模块包括:
第一条件判断单元,用于按照排序顺序逐个判断所述未花费交易输出数据的所述交易频率是否为所述最优交易频率,且所述未花费交易输出数据的所述交易时间间隔是否小于所述交易时间间隔阈值;
缓存判断单元,当所述第一条件判断单元的判断结果为所述交易频率为所述最优交易频率,且所述未花费交易输出数据的所述交易时间间隔小于所述交易时间间隔阈值时,用于判断所述未花费交易输出数据的数据缓存长度是否小于所述未花费交易输出缓存区的缓存空间;
第一概率预测单元,当所述缓存判断单元的判断结果为所述未花费交易输出数据的数据缓存长度小于所述未花费交易输出缓存区的缓存空间时,用于预测对应的所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率为第一预测使用概率;
第二概率预测单元,当所述缓存判断单元的判断结果为所述未花费交易输出数据的数据缓存长度大于等于所述未花费交易输出缓存区的缓存空间时,用于预测对应的所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率为第二预测使用概率,所述第一预测使用概率大于所述第二预测使用概率;
第二条件判断单元,当所述第一条件判断单元的判断结果为所述交易频率大于预设的频率阈值,且所述未花费交易输出数据的所述交易时间间隔大于等于所述交易时间间隔阈值时,用于判断所述未花费交易输出数据的磁盘储存长度是否小于所述辅助磁盘内存的内存空间,所述频率阈值大于所述最优交易频率;
第三概率预测单元,当所述第二条件判断单元的判断结果为所述未花费交易输出数据的磁盘储存长度小于所述辅助磁盘内存的内存空间时,用于预测对应的所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率为第三预测使用概率,所述第三预测使用概率小于所述第二预测使用概率;
当所述第二条件判断单元的判断结果为所述未花费交易输出数据的磁盘储存长度大于等于所述辅助磁盘内存的内存空间时,
或,
当所述第一条件判断单元的判断结果为所述交易频率小于所述频率阈值且不为所述最优交易频率时,
或,
当所述第一条件判断单元的判断结果为所述交易频率为所述最优交易频率,且所述未花费交易输出数据的所述交易时间间隔大于等于所述交易时间间隔阈值时,所述第二概率预测单元用于预测对应的所述未花费交易输出数据在所述区块链系统的新交易区块的预测使用概率为所述第二预测使用概率。
10.根据权利要求9所述的基于多分区的区块链数据管理优化系统,其特征在于,所述分区管理子系统包括:
概率判断模块,用于判断所述未花费交易输出数据的所述预测使用概率为所述第一预测使用概率、所述第二预测使用概率或所述第三预测使用概率;
第一分配模块,当所述概率判断模块的判断结果为所述未花费交易输出数据为所述第一预测使用概率时,用于将所述未花费交易输出数据保存至所述未花费交易输出缓存区;
第二分配模块,当所述概率判断模块的判断结果为所述未花费交易输出数据为所述第二预测使用概率时,用于将所述未花费交易输出数据保存至所述本地内存;
第三分配模块,当所述概率判断模块的判断结果为所述未花费交易输出数据为所述第三预测使用概率时,用于将所述未花费交易输出数据保存至所述辅助磁盘内存。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311689049.8A CN117911028B (zh) | 2023-12-08 | 2023-12-08 | 基于多分区的区块链数据管理优化方法及系统 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311689049.8A CN117911028B (zh) | 2023-12-08 | 2023-12-08 | 基于多分区的区块链数据管理优化方法及系统 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN117911028A true CN117911028A (zh) | 2024-04-19 |
| CN117911028B CN117911028B (zh) | 2026-08-07 |
Family
ID=90684354
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202311689049.8A Active CN117911028B (zh) | 2023-12-08 | 2023-12-08 | 基于多分区的区块链数据管理优化方法及系统 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN117911028B (zh) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113962810A (zh) * | 2021-10-26 | 2022-01-21 | 北京市科学技术情报研究所 | 一种基于区块链的数据资产配置交易方法及装置 |
| US20220067738A1 (en) * | 2020-08-28 | 2022-03-03 | Anchain.ai Inc. | System and Method for Blockchain Automatic Tracing of Money Flow Using Artificial Intelligence |
| CN114881340A (zh) * | 2022-05-19 | 2022-08-09 | 中国工商银行股份有限公司 | 一种商户分析方法及相关装置 |
| CN115550039A (zh) * | 2022-09-30 | 2022-12-30 | 桂林电子科技大学 | 一种多地址的时间型区块链隐蔽通信方法 |
| WO2023228195A1 (en) * | 2022-05-26 | 2023-11-30 | One Zero Digital Bank Ltd | Transaction based insights and recommendations |
-
2023
- 2023-12-08 CN CN202311689049.8A patent/CN117911028B/zh active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220067738A1 (en) * | 2020-08-28 | 2022-03-03 | Anchain.ai Inc. | System and Method for Blockchain Automatic Tracing of Money Flow Using Artificial Intelligence |
| CN113962810A (zh) * | 2021-10-26 | 2022-01-21 | 北京市科学技术情报研究所 | 一种基于区块链的数据资产配置交易方法及装置 |
| CN114881340A (zh) * | 2022-05-19 | 2022-08-09 | 中国工商银行股份有限公司 | 一种商户分析方法及相关装置 |
| WO2023228195A1 (en) * | 2022-05-26 | 2023-11-30 | One Zero Digital Bank Ltd | Transaction based insights and recommendations |
| CN115550039A (zh) * | 2022-09-30 | 2022-12-30 | 桂林电子科技大学 | 一种多地址的时间型区块链隐蔽通信方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN117911028B (zh) | 2026-08-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12158792B2 (en) | Methods and apparatus for characterizing memory devices | |
| CN110166282B (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
| US20220171826A1 (en) | Methods and apparatus for checking the results of characterized memory searches | |
| US10957416B2 (en) | Methods and apparatus for maintaining characterized memory devices | |
| CN114968588B (zh) | 一种面向多并发深度学习训练任务的数据缓存方法和装置 | |
| CN109800558B (zh) | 密码服务板卡以及密码服务装置 | |
| CN112684987B (zh) | 基于双芯智能电表的数据分类存储方法和装置 | |
| CN111324303B (zh) | Ssd垃圾回收方法、装置、计算机设备及存储介质 | |
| CN111913913B (zh) | 访问请求的处理方法和装置 | |
| Zhang et al. | DBUP: Dynamic blockchain UTXO processing for storage efficiency optimization | |
| Zhu et al. | Mnemosyne: Dynamic Workload-Aware BF Tuning via Accurate Statistics in LSM trees | |
| CN102169464B (zh) | 一种用于非易失性存储器的缓存方法、装置及智能卡 | |
| CN113409140A (zh) | 区块链数据处理方法、装置、计算机设备和存储介质 | |
| Olanrewaju et al. | A study on performance evaluation of conventional cache replacement algorithms: A review | |
| Lange et al. | Offline and online algorithms for ssd management | |
| CN111045959A (zh) | 一种基于存储优化的复杂算法变量映射方法 | |
| Chen et al. | Write locality and optimization for persistent memory | |
| CN106202374A (zh) | 一种数据处理方法及装置 | |
| CN118276775A (zh) | 基于多类型分区固态盘的键值存储优化方法及相关装置 | |
| CN117614955A (zh) | 物联网海量数据详单处理方法、装置、物联网平台及介质 | |
| Xanthakis et al. | vLSM: Low tail latency and I/O amplification in LSM-based KV stores | |
| CN121301029B (zh) | 一种计算型内存ham的资源调度与计算控制系统 | |
| CN119065986B (zh) | 用于验证存储电路的方法和计算机程序产品及计算设备 | |
| CN120508261B (zh) | 一种数据读写方法、装置、设备及介质 | |
| CN119151683B (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 |