CN112860712B - 一种基于区块链的交易数据库构建方法、系统及电子设备 - Google Patents
一种基于区块链的交易数据库构建方法、系统及电子设备 Download PDFInfo
- Publication number
- CN112860712B CN112860712B CN202110422545.1A CN202110422545A CN112860712B CN 112860712 B CN112860712 B CN 112860712B CN 202110422545 A CN202110422545 A CN 202110422545A CN 112860712 B CN112860712 B CN 112860712B
- Authority
- CN
- China
- Prior art keywords
- transaction
- level cache
- hash
- writing
- transaction data
- 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
Links
- 238000010276 construction Methods 0.000 title claims abstract description 31
- 230000006835 compression Effects 0.000 claims description 18
- 238000007906 compression Methods 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 13
- 238000000034 method Methods 0.000 claims description 10
- 238000003780 insertion Methods 0.000 claims description 9
- 230000037431 insertion Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims description 5
- 238000012795 verification Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000012544 monitoring process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于区块链的交易数据库构建方法、系统和电子设备,包括提取交易数据的哈希值,生成对应的索引,将交易数据写入第一级缓存中;当第一级缓存写入达到上限时,将原有的第一级缓存内的交易数据写入至第二级缓存;及当第二级缓存写入达到上限时,将原有的第二级缓存内的交易数据写入至磁盘。通过以上三级缓存技术,在硬件资源有限的情况下,能有效提升缓存的命中率及查询的实时性,为实时监测所需的溯源查询提供高效的查询手段,利用了区块链交易的读写特征,在硬件资源有限的情况下,能有效提升缓存的命中率及查询的实时性,查询效率更高。
Description
技术领域
本发明涉及区块链的交易数据库构建领域,尤其涉及一种基于区块链的交易数据库构建方法、系统及电子设备。
背景技术
区块链上层应用的查询性能取决于其底层数据库的性能。当前区块链的底层数据库普遍采用写入快、读取慢的结构设计。然而,海量交易数据的查询、溯源依赖的高效的索引技术,无法被现有的系统与分析工具满足,现有的区块链交易数据库的结构海量溯源效率低。当需要遍历整个区块链交易数据获取交易前后关联时,由于没有全局索引交易,磁盘索引的效率低下, 导致溯源查询效率较低。
发明内容
本发明提供了一种基于区块链的交易数据库构建方法、系统及电子设备,旨在解决现有的区块链交易数据库溯源查询效率低的问题。
根据本申请实施例,提供了一种基于区块链的交易数据库构建方法,包括以下步骤:步骤S1:提取交易数据的哈希值,生成对应的索引,将交易数据写入第一级缓存中;步骤S2:当第一级缓存写入达到上限时,将原有的第一级缓存内的交易数据写入至第二级缓存;及步骤S3:当第二级缓存写入达到上限时,将原有的第二级缓存内的交易数据写入至磁盘。
优选地,上述步骤S1具体包括:步骤S11:获取交易数据的哈希值和交易内容,将对应的哈希值和交易内容进行无损压缩,并获取哈希值的二进制形式的前k位;步骤S12:基于所述前k位,到前缀哈希表中尝试获取,判断值是否存在,若是,则进入步骤S13,若否,则进入步骤S14;步骤S13:将交易内容和哈希值的键值对插入完整哈希表;步骤S14:将交易内容和哈希值的前k位的键值对插入前缀哈希表;及步骤S15:更新完整哈希表和前缀哈希表后,生成交易数据的索引,并写入第一级缓存中。
优选地,上述步骤S11具体包括:步骤S111:获取交易数据的哈希值和交易内容,将对应的哈希值和交易内容进行十六进制变换,获取哈希值和交易内容的十六进制数;步骤S112:将十六进制数形式的哈希值和交易内容转换为二进制数;及步骤S113:获取哈希值的二进制形式的前k位。
优选地,所述第一级缓存和所述第二级缓存均为基于内存型的缓存结构。
优选地,所述第一级缓存、第二级缓存及磁盘依次顺序进行数据写入和查询步骤。
本发明还提供一种基于区块链的交易数据库构建系统,包括:第一级缓存单元,用于提取交易数据的哈希值,生成对应的索引,将交易数据写入第一级缓存中;第二级缓存单元,用于当第一级缓存写入达到上限时,将原有的第一级缓存内的交易数据写入至第二级缓存;及磁盘写入单元,用于当第二级缓存写入达到上限时,将原有的第二级缓存内的交易数据写入至磁盘。优选地,所述第一级缓存单元还包括:无损压缩单元,用于获取交易数据的哈希值和交易内容,将对应的哈希值和交易内容进行无损压缩,并获取哈希值的二进制形式的前k 位;哈希验证单元,用于基于所述前k位,到前缀哈希表中尝试获取,判断值是否存在;完整哈希插入单元,用于当前k位存在于前缀哈希表中时,将交易内容和哈希值的键值对插入完整哈希表;前缀哈希插入单元,用于当前k位不存在于前缀哈希表中时,将交易内容和哈希值的前k位的键值对插入前缀哈希表;及索引单元,用于更新完整哈希表和前缀哈希表后, 生成交易数据的索引,并写入第一级缓存中。
优选地,所述无损压缩单元还包括:第一转换单元,用于获取交易数据的哈希值和交易内容,将对应的哈希值和交易内容进行十六进制变换,获取哈希值和交易内容的十六进制数;第二转换单元,用于将十六进制数形式的哈希值和交易内容转换为二进制数;及字符获取单元,用于获取哈希值的二进制形式的前k位。
本发明还提供一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被设置为运行时执行上述任一项中所述基于区块链的交易数据库构建方法;所述处理器被设置为通过所述计算机程序执行上述任一项中所述基于区块链的交易数据库构建方法。
本发明提供的一种基于区块链的交易数据库构建方法、系统及电子设备具有以下有益效果:
1、在区块链中,每一笔交易分为输入与输出脚本,当验证交易时,需要对后一笔交易的输入脚本与前一笔交易的输出脚本进行联合执行。因此,在对交易进行溯源查询分析时,需要查询后一笔交易的前置交易,才能够得到完整的交易执行数据,从而进行进一步的分析。而在本实施例中,由于区块链交易、账户的溯源查询中,新产生的账户、交易ID往往比旧产生的ID更有可能被查询到,故根据该种规则,本发明的实施例方法提供了上述的三个优先级的存储顺序,通过以上三级缓存技术,在硬件资源有限的情况下,能有效提升缓存的命中率及查询的实时性,为实时监测所需的溯源查询提供高效的查询手段,利用了区块链交易的读写特征,在硬件资源有限的情况下,能有效提升缓存的命中率及查询的实时性,查询效率更高。
2、本发明中阐述的基于交易内容无损压缩的内存型数据库对交易进行了无损压缩,包括内容和哈希值文本,实际内存利用率高,相同交易数量下相比已有技术的内存占用小。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的一种基于区块链的交易数据库构建方法的流程图。
图2是本发明第一实施例提供的一种基于区块链的交易数据库构建方法中步骤S1的流程图。
图3是本发明第一实施例提供的一种基于区块链的交易数据库构建方法中步骤S11的流程图。
图4是本发明第二实施例提供的一种基于区块链的交易数据库构建系统的模块图。
图5是本发明第二实施例提供的一种基于区块链的交易数据库构建系统中第一级缓存单元的模块图。
图6是本发明第二实施例提供的一种基于区块链的交易数据库构建系统中无损压缩单元的模块图。
图7是本发明第三实施例提供的一种电子设备的模块图。
标号说明:
1、第一级缓存单元;2、第二级缓存单元;3、磁盘写入单元;
11、无损压缩单元;12、哈希验证单元;13、完整哈希插入单元;14、前缀哈希插入单元;15、索引单元;111、第一转换单元;112、第二转换单元;113、字符获取单元;
10、存储器;20、处理器。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,本发明公开了一种基于区块链的交易数据库构建方法,包括以下步骤 :步骤S1 :提取交易数据的哈希值,生成对应的索引,将交易数据写入第一级缓存中。
步骤S2:当第一级缓存写入达到上限时,将原有的第一级缓存内的交易数据写入至第二级缓存。及
步骤S3:当第二级缓存写入达到上限时,将原有的第二级缓存内的交易数据写入至磁盘 。
可以理解,在步骤S1中,根据每一个交易数据提取指定的哈希值,并生成对应的索引,使得后续的查询中可基于哈希值和索引进行查询。
可以理解,在步骤S2中,第一级缓存的写入优先级大于第二级缓存,而第一级缓存的写入量达到其自身上限时,将第一级缓存内当前的存储数据转移至第二级缓存中,以便于将第一级缓存清空后继续将新的交易数据写入。
可以理解,在步骤S3中,基于第二个优先级的第二级缓存的写入量达到最大值后,
将第二级缓存内的数据转移至第三优先级的磁盘内,作为归档永久保存。
可选地,作为一种实施例,步骤S1和步骤S2中也可以增加1个、2个或者多个相同的缓存空间,以形成多级缓存结构,多个缓存结构基于顺序优先级排序。
可以理解,所述第一级缓存和所述第二级缓存为内存型数据缓存结构,在存储数据时,按照第一级缓存、第二级缓存和磁盘的依次顺序进行写入和查询步骤。
可以理解,本发明实施例提供的基于区块链的交易数据库,其在区块链中,每一笔交易分为输入与输出脚本,当验证交易时,需要对后一笔交易的输入脚本与前一笔交易的输出脚本进行联合执行。因此,在对交易进行溯源查询分析时,需要查询后一笔交易的前置交易,才能够得到完整的交易执行数据,从而进行进一步的分析。而在本实施例中,由于区块链交易、账户的溯源查询中,新产生的账户、交易ID往往比旧产生的ID更有可能被查询到,故根据该种规则,本发明的实施例方法提供了上述的三个优先级的存储顺序, 通过以上三级缓存技术,在硬件资源有限的情况下,能有效提升缓存的命中率及查询的实时性,为实时监测所需的溯源查询提供高效的查询手段。同时,利用了区块链交易的读写特征,在硬件资源有限的情况下,能有效提升缓存的命中率及查询的实时性,查询效率更高, 其特别适用于现有的具有较小内存的小型分析机器中,也可以基于本方面的实施例方法实现较高效率的数据查询操作。
可以理解,第一级缓存和第二级缓存中的写入量大小可根据机器的内存大小和区块链交易数据实际内容的平均长度调试决定。
可以理解,在本发明提供的方法实施例中,用户在数据库中查询时,也基于多级缓存的优先级进入到对应的缓存区域内进行查询搜索,而在本实施例中,用户则首先进入第一级缓存查询,若无则进入到第二级缓存中查询,以此类推。
请参阅图2,上述步骤S1具体包括:
步骤S11:获取交易数据的哈希值和交易内容,将对应的哈希值和交易内容进行无损 压 缩 ,并 获 取 哈 希 值 的 二 进 制 形 式 的 前 k 位 ;
步骤S12:基于所述前k位,到前缀哈希表中尝试获取,判断值是否存在,若是,则进入步骤S13,若否,则进入步骤S14;
步骤S13:将交易内容和哈希值的键值对插入完整哈希表;
步骤S14:将交易内容和哈希值的前k位的键值对插入前缀哈希表;及
步骤S15:更新完整哈希表和前缀哈希表后,生成交易数据的索引,并写入第一级缓存中 。
可以理解,在步骤S11中,将哈希值进行二进制转换,获取哈希值的二进制形式的前k位,便于在后续查询过程中只需要查询哈希值字符串中的前面k个数字,所述前k位的数量可以根据需要进行调整,位数越少查询越快,而查询准确度交底,反之也适用。
可以理解,在步骤S12中,基于哈希值的二进制形式的前k位,在区块链的前缀哈希表中进行寻找,查看是否已经在哈希表中存在相应内容。
步骤S12中,得到的值到前缀哈希表中进行尝试获取,判断值是否存在,如以下公式所示:
PrefixExists=(TxHash_bink in PrefixHashMap)
如果PrefixExists为真,则进行步骤S13。
如果Pref ixExists为假,则进行步骤S14 ,也即将交易按照<TxHash_ bink ,TxContent_bin>的键值对插入该哈希表,写入完成。
可以理解,在步骤S13中,当可查询到对应的前缀哈希值时,可以将完整的哈希值写入到完整哈希表中,而在步骤S14中,若在前缀哈希表中无法查询到,则说明当前交易数据不存在,需要建立新的存档,故将当前哈希值的前k位的键值对插入前缀哈希表。
在步骤13中,将交易按照<TxHash_bin,TxContent>的键值对插入该哈希表,写入完成。
可以理解,在步骤S15中,经过步骤S13和步骤S14的插入哈希表操作后,形成前缀哈希表和完整哈希表,对每一个交易数据形成对应的索引后,进行第一级缓存的写入操作。
可以理解,所述前缀哈希表为一个内存中的映射,key为交易哈希值的前k位,value为交易内容,完整哈希表同样为一个内存中的映射,二者均为存储在内存中的交易集合。
可以理解,步骤S11~S12仅为该实施例的一种实施方式,其实施方式并不限定于步骤S11~S12。
请参阅图3,上述步骤S11具体包括:
步骤S111:获取交易数据的哈希值和交易内容,将对应的哈希值和交易内容进行十六进制变换,获取哈希值和交易内容的十六进制数;
步骤S112:将十六进制数形式的哈希值和交易内容转换为二进制数;及步骤S113:获取哈希值的二进制形式的前k位。
可以理解,在步骤S111中,原始交易数据中哈希值与交易内容均为十六进制的字符串,其自带了很多不必要的编码长度,首先可将十六进制的字符串转换为十六进制数。
可以理解,在步骤S112中,继续将十六进制数的哈希值和交易内容转换为对应的二进制数,以便于获得哈希值的二进制形式。
可以理解,步骤S111和步骤S112可基于如下公式进行:
TxHash_bin=hex2bin(str2hex(TxHash))TxContent_bin
=hex2bin(str2hex(TxContent))
其中,str2hex( )为负责将字符串转换为十六进制的转换函数,hex2bin( )是负责
将十六进制转换为二进制的转换函数。
可以理解,在步骤S113中,按照以下公式获取交易哈希值的二进制形式的前k位:
TxHash_bink=TxHash_bin[0:k]
以上公式中获取到的TxHash_bink称为该交易的k前缀哈希。
可以理解,通过将交易数据的哈希值和交易内容进行十六进制数的转换,再进行二进制数的转换,既可以实现对哈希值和交易内容的无损变换,也避免了现有的区块链数据处理中直接将十六进制字符串直接转换为二进制数带来的冗余,浪费操作占用较大内存空间的问题,节省了内存占用。
可以理解,在上述步骤S1和步骤S2中的所述第一级缓存和第二级缓存具有相同结构,也即第一级缓存基于上述步骤S11~步骤S15、S111~S113的数据库构建方式和第二级缓存的数据库构建方式相同。
可以理解,本发明方法实施例中构建的交易数据库,在用户进入区块链的其中一个缓存区域(例如第一级缓存)进行交易数据的查询时,可首先将需要查询交易的哈希值同样进行上述的十六进制和二进制变换后,首先到完整哈希表中查询,若查询到对应的值,则返回对应的交易数据,若无法查询到,则进入到前缀哈希表中再次读取查询,若有责返回,若无,则提示无此交易数据。
可以理解,步骤S111~S113仅为该实施例的一种实施方式,其实施方式并不限定于步骤S111~S113。
请参阅图4,本发明第二实施例提高一种基于区块链的交易数据库构建系统,其采用上述第一实施例提供的基于区块链的交易数据库构建方法,其包括:
第一级缓存单元1,用于提取交易数据的哈希值,生成对应的索引,将交易数据写入第一级缓存中;
第二级缓存单元2,用于当第一级缓存写入达到上限时,将原有的第一级缓存内的交易数据写入至第二级缓存;及
磁盘写入单元3,用于当第二级缓存写入达到上限时,将原有的第二级缓存内的交易数据写入至磁盘。
请参阅图5,上述所述第一级缓存单元1还包括:
无损压缩单元11,用于获取交易数据的哈希值和交易内容,将对应的哈希值和交易内容进行无损压缩,并获取哈希值的二进制形式的前k位;
哈希验证单元12,用于基于所述前k位,到前缀哈希表中尝试获取,判断值是否存在;
完整哈希插入单元13,用于当前k位存在于前缀哈希表中时,将交易内容和哈希值的键值对插入完整哈希表;
前缀哈希插入单元14,用于当前k位不存在于前缀哈希表中时,将交易内容和哈希值的前k位的键值对插入前缀哈希表;及
索引单元15,用于更新完整哈希表和前缀哈希表后,生成交易数据的索引,并写入第一级缓存中。
请参阅图6,所述无损压缩单元11还包括:
第一转换单元111,用于获取交易数据的哈希值和交易内容,将对应的哈希值和交易内容进行十六进制变换,获取哈希值和交易内容的十六进制数;
第二转换单元112,用于将十六进制数形式的哈希值和交易内容转换为二进制数;及
字符获取单元113,用于获取哈希值的二进制形式的前k位。
请参阅图7,本发明第三实施例提供一种电子设备,所述电子设备包括存储器10和处理器20,所述存储器10中存储有运算机程序,所述运算机程序被设置为运行时执行上述任一项基于区块链的交易数据库构建方法实施例中的步骤。所述处理器20被设置为通过所述运算机程序执行上述任一项基于区块链的交易数据库构建方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于运算机网络的多个网络设备中的至少一个网络设备。
本发明提供的一种基于区块链的交易数据库构建方法、系统及电子设备具有以下有益效果:
1、在区块链中,每一笔交易分为输入与输出脚本,当验证交易时,需要对后一笔交易的输入脚本与前一笔交易的输出脚本进行联合执行。因此,在对交易进行溯源查询分析时,需要查询后一笔交易的前置交易,才能够得到完整的交易执行数据,从而进行进一步的分析。而在本实施例中,由于区块链交易、账户的溯源查询中,新产生的账户、交易
ID往往比旧产生的ID更有可能被查询到,故根据该种规则,本发明的实施例方法提供了上述的三个优先级的存储顺序,通过以上三级缓存技术,在硬件资源有限的情况下,能有效提升缓存的命中率及查询的实时性,为实时监测所需的溯源查询提供高效的查询手段,利用了区块链交易的读写特征,在硬件资源有限的情况下,能有效提升缓存的命中率及查询的实时性,查询效率更高。
2、本发明中阐述的基于交易内容无损压缩的内存型数据库对交易进行了无损压缩,包括内容和哈希值文本,实际内存利用率高,相同交易数量下相比已有技术的内存占用小。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (5)
1.一种基于区块链的交易数据库构建方法,其特征在于:包括以下步骤:
步骤S1:提取交易数据的哈希值,生成对应的索引,将交易数据写入第一级缓存中; 步骤S2:当第一级缓存写入达到上限时,将原有的第一级缓存内的交易数据写入至第二级缓存;及
步骤S3:当第二级缓存写入达到上限时,将原有的第二级缓存内的交易数据写入至磁盘;
上述步骤S1 具体包括:
步骤S11:获取交易数据的哈希值和交易内容,将对应的哈希值和交易内容进行无损压缩,并获取哈希值的二进制形式的前k位;
步骤S12:基于所述前k位,到前缀哈希表中尝试获取,判断值是否存在,若是,则进入步骤S13,若否,则进入步骤S14;
步骤S13:将交易内容和哈希值的键值对插入完整哈希表;
步骤S14:将交易内容和哈希值的前k位的键值对插入前缀哈希表;及
步骤S15:更新完整哈希表和前缀哈希表后,生成交易数据的索引,并写入第一级缓存中;
上述步骤S11具体包括:
步骤S111:获取交易数据的哈希值和交易内容,将对应的哈希值和交易内容进行十六进制变换,获取哈希值和交易内容的十六进制数;
步骤S112:将十六进制数形式的哈希值和交易内容转换为二进制数;及步骤S113:获取哈希值的二进制形式的前k位。
2.根据权利要求1所述的基于区块链的交易数据库构建方法,其特征在于:所述第一级缓存和所述第二级缓存均为基于内存型的缓存结构。
3.根据权利要求2所述的基于区块链的交易数据库构建方法,其特征在于:所述第一级缓存、第二级缓存及磁盘依次顺序进行数据写入和查询步骤。
4.一种基于区块链的交易数据库构建系统,其特征在于:包括:
第一级缓存单元,用于提取交易数据的哈希值,生成对应的索引,将交易数据写入第一级缓存中;
第二级缓存单元,用于当第一级缓存写入达到上限时,将原有的第一级缓存内的交易数据写入至第二级缓存;及
磁盘写入单元,用于当第二级缓存写入达到上限时,将原有的第二级缓存内的交易数据写入至磁盘;
所述第一级缓存单元还包括:
无损压缩单元,用于获取交易数据的哈希值和交易内容,将对应的哈希值和交易内容进行无损压缩,并获取哈希值的二进制形式的前k位;
哈希验证单元,用于基于所述前k位,到前缀哈希表中尝试获取,判断值是否存在;
完整哈希插入单元,用于当前k位存在于前缀哈希表中时,将交易内容和哈希值的键值对插入完整哈希表;
前缀哈希插入单元,用于当前k位不存在于前缀哈希表中时,将交易内容和哈希值的前k位的键值对插入前缀哈希表;及索引单元,用于更新完整哈希表和前缀哈希表后,生成交易数据的索引,并写入第一级缓存中;
所述无损压缩单元还包括:
第一转换单元,用于获取交易数据的哈希值和交易内容,将对应的哈希值和交易内容进行十六进制变换,获取哈希值和交易内容的十六进制数;
第二转换单元,用于将十六进制数形式的哈希值和交易内容转换为二进制数;及字符获取单元,用于获取哈希值的二进制形式的前k位。
5.一种电子设备,包括存储器和处理器,其特征在于:所述存储器中存储有计算机程序,所述计算机程序被设置为运行时执行所述权利要求1至3任一项中所述基于区块链的交易数据库构建方法;
所述处理器被设置为通过所述计算机程序执行所述权利要求1至3任一项中所述基于区块链的交易数据库构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110422545.1A CN112860712B (zh) | 2021-04-13 | 2021-04-13 | 一种基于区块链的交易数据库构建方法、系统及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110422545.1A CN112860712B (zh) | 2021-04-13 | 2021-04-13 | 一种基于区块链的交易数据库构建方法、系统及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112860712A CN112860712A (zh) | 2021-05-28 |
CN112860712B true CN112860712B (zh) | 2024-02-09 |
Family
ID=75992654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110422545.1A Active CN112860712B (zh) | 2021-04-13 | 2021-04-13 | 一种基于区块链的交易数据库构建方法、系统及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860712B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118296083B (zh) * | 2024-06-03 | 2024-08-23 | 中国科学院合肥物质科学研究院 | 一种分布式账本数据三级读写扩展区块链存储方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050043035A (ko) * | 2003-11-04 | 2005-05-11 | 임혜숙 | 복수의 해슁 함수를 이용한 ip 어드레스 검색 방법 및하드웨어 구조 |
CN110264361A (zh) * | 2019-06-24 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 一种区块链的数据解析方法及装置 |
JP2020086553A (ja) * | 2018-11-16 | 2020-06-04 | 株式会社エヌ・ティ・ティ・データ | 情報処理装置、情報処理方法およびプログラム |
CN111708825A (zh) * | 2020-06-11 | 2020-09-25 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN111858586A (zh) * | 2020-07-06 | 2020-10-30 | 北京天空卫士网络安全技术有限公司 | 一种数据处理的方法和装置 |
CN111897498A (zh) * | 2018-07-27 | 2020-11-06 | 创新先进技术有限公司 | 区块链数据的多级存储方法和装置 |
CN112380149A (zh) * | 2021-01-18 | 2021-02-19 | 腾讯科技(深圳)有限公司 | 基于节点内存的数据处理方法、装置、设备以及介质 |
CN112541825A (zh) * | 2020-12-09 | 2021-03-23 | 网易(杭州)网络有限公司 | 基于区块链的交易处理方法及装置、电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7809701B2 (en) * | 2007-10-15 | 2010-10-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for performing exact match searches using multiple hash tables |
US11411743B2 (en) * | 2019-10-01 | 2022-08-09 | Tyson York Winarski | Birthday attack prevention system based on multiple hash digests to avoid collisions |
-
2021
- 2021-04-13 CN CN202110422545.1A patent/CN112860712B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050043035A (ko) * | 2003-11-04 | 2005-05-11 | 임혜숙 | 복수의 해슁 함수를 이용한 ip 어드레스 검색 방법 및하드웨어 구조 |
CN111897498A (zh) * | 2018-07-27 | 2020-11-06 | 创新先进技术有限公司 | 区块链数据的多级存储方法和装置 |
JP2020086553A (ja) * | 2018-11-16 | 2020-06-04 | 株式会社エヌ・ティ・ティ・データ | 情報処理装置、情報処理方法およびプログラム |
CN110264361A (zh) * | 2019-06-24 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 一种区块链的数据解析方法及装置 |
CN111708825A (zh) * | 2020-06-11 | 2020-09-25 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN111858586A (zh) * | 2020-07-06 | 2020-10-30 | 北京天空卫士网络安全技术有限公司 | 一种数据处理的方法和装置 |
CN112541825A (zh) * | 2020-12-09 | 2021-03-23 | 网易(杭州)网络有限公司 | 基于区块链的交易处理方法及装置、电子设备 |
CN112380149A (zh) * | 2021-01-18 | 2021-02-19 | 腾讯科技(深圳)有限公司 | 基于节点内存的数据处理方法、装置、设备以及介质 |
Non-Patent Citations (7)
Title |
---|
A study on the optimization of blockchain hashing algorithm based on PRCA;Fu J 等;Security and Communication Networks;1-12 * |
区块链数据存储与管理的研究与实现;王行行;中国优秀硕士学位论文全文数据库信息科技辑(第08期);I138-251 * |
基于Hash和二叉树的路由表查找算法;刘尉悦;王永纲;张万生;王砚方;;中国科学技术大学学报(第03期);59-62 * |
基于区块链的精准扶贫数据保护方案;张利华 等;应用科学学报;第39卷(第01期);135-150 * |
基于区块链的视频版权存储架构;付杨;王景中;杨洵;王宝成;;计算机系统应用(第08期);62-70 * |
基于哈希表的最长前缀匹配算法改进;刘舱强;邓昌胜;余谅;;微计算机信息(第30期);149-151 * |
融合量子密钥的即时通信加密策略选择模型;温婉琳;李宁;郑小博;;北京信息科技大学学报(自然科学版)(第04期);30-34+48 * |
Also Published As
Publication number | Publication date |
---|---|
CN112860712A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Surf: Practical range query filtering with fast succinct tries | |
JP2957703B2 (ja) | データを記憶し検索する方法及びメモリ構成体 | |
CN107729371B (zh) | 区块链的数据索引及查询方法、装置、设备及存储介质 | |
US8190591B2 (en) | Bit string searching apparatus, searching method, and program | |
US8661022B2 (en) | Database management method and system | |
CN104769586A (zh) | 采用位置信息剖析数据 | |
CN113901279B (zh) | 一种图数据库的检索方法和装置 | |
US20220358178A1 (en) | Data query method, electronic device, and storage medium | |
CN109597829B (zh) | 一种实现可搜索加密关系型数据库缓存的中间件方法 | |
CN109753306A (zh) | 一种预编译函数缓存引擎的大数据处理方法 | |
CN112860712B (zh) | 一种基于区块链的交易数据库构建方法、系统及电子设备 | |
CN114238334A (zh) | 异构数据编码、解码方法和装置、计算机设备和存储介质 | |
Alam et al. | Performance of point and range queries for in-memory databases using radix trees on GPUs | |
CN110825747B (zh) | 一种信息存取方法、装置和介质 | |
CN116126997B (zh) | 一种文献去重存储方法、系统、设备及存储介质 | |
CN112486988A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN113495901B (zh) | 一种面向可变长数据块的快速检索方法 | |
US10235432B1 (en) | Document retrieval using multiple sort orders | |
CN115114289A (zh) | 一种数据查询方法、装置及电子设备 | |
CN114416741A (zh) | 基于多级索引的kv数据写入读取方法、装置及存储介质 | |
CN112015791A (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
CN118132520B (zh) | 存储系统文件处理方法、电子设备、存储介质及程序产品 | |
CN115576488A (zh) | 文件存储方法、装置及电子设备 | |
CN114357274A (zh) | 一种ip信息查询方法及装置 | |
Markovskyi et al. | Hash search organization in e-dictionaries using block ciphers |
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 |