CN110908992A - 一种基于大数据平台的区块链核心存储算法的设计方法 - Google Patents

一种基于大数据平台的区块链核心存储算法的设计方法 Download PDF

Info

Publication number
CN110908992A
CN110908992A CN201810985336.6A CN201810985336A CN110908992A CN 110908992 A CN110908992 A CN 110908992A CN 201810985336 A CN201810985336 A CN 201810985336A CN 110908992 A CN110908992 A CN 110908992A
Authority
CN
China
Prior art keywords
block
data storage
transaction
big
account
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.)
Pending
Application number
CN201810985336.6A
Other languages
English (en)
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.)
Zeu Crypto Networks Inc
Original Assignee
Zeu Crypto Networks Inc
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 Zeu Crypto Networks Inc filed Critical Zeu Crypto Networks Inc
Priority to CN201810985336.6A priority Critical patent/CN110908992A/zh
Publication of CN110908992A publication Critical patent/CN110908992A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于大数据平台的区块链核心存储算法的设计方法,包括以下步骤:S1、大数据存储层采用NOSQL数据库做为区块链数据的存储方式;S2、大数据存储层对接收到的原始交易信息存入交易区块链表;S3、大数据存储层对接收到的原始交易信息进行实时分账后存入账户区块链表;S4、大数据存储层建立交易二级索引表;S5、大数据存储层建立账户二级索引表。本发明的有益效果在于,提供了一种高性能、可扩展的区块链数据的存储方法。

Description

一种基于大数据平台的区块链核心存储算法的设计方法
技术领域
本发明涉及一种区块链数据存储的技术领域,尤其涉及一种基于大数据平台的NOSQL数据库对区块链数据进行存储的设计方法。
背景技术
在区块链***中,所有全量节点都需要存储区块链的所有区块记录。目前像比特币、以太币等存储区块链数据的方式仍然是基于单机存储***,且区块链数据均已超过100GB。伴随着区块链规模的发展,各种区块链***存储的数据量也会日渐增加,所以单机存储区块链数据的缺点也日益突现,特别是在数据安全性、实时性、可扩展性、吞吐率等问题上尤为明显。
发明内容
为了克服上述现有技术的不足,本发明提供了一种基于大数据平台的区块链核心存储算法的设计方法。
本发明提供了一种基于大数据平台的区块链核心存储算法的设计方法,包括以下步骤:
S1、大数据存储层采用NOSQL数据库做为区块链数据的存储方式;
S2、大数据存储层对接收到的原始交易信息存入交易区块链表;
S3、大数据存储层对接收到的原始交易信息进行实时分账后存入账户区块链表;
S4、大数据存储层建立交易二级索引表;
S5、大数据存储层建立账户二级索引表。
所述步骤S1中对大数据存储层采用NOSQL数据库做为区块链数据的存储方式,具体包括以下4张NOSQL数据库表:
S11: 交易区块链表(Trading Blockchain ,TBC);
S12: 账户区块链表(Account Blockchain ,ABC);
S13: 交易二级索引表(Index Transaction ,ITX);
S14: 账户二级索引表(Index Account ,IACT)。
所述步骤S2中大数据存储层对接收到的原始交易信息存入交易区块链表的步骤为:通过将区块链共识后的原始交易信息存进交易区块链表(TBC表),该表以区块的ID进行哈希散列后作为行的关键值RowKey,以该区块的块头属性和区块内发生的所有交易ID作为列名。
所述步骤S3中大数据存储层对接收到的原始交易信息进行实时分账后存入账户区块链表的步骤为:由账户区块链表(ABC表)来对交易进行记账,该表以区块的ID进行哈希散列后作为行的关键值RowKey,以区块的块头属性和区块内发生交易的所有账户以及平台账户为列,对区块内发生的所有交易按账户进行分组、合并后,进行分别存储。
所述步骤S4中大数据存储层建立交易二级索引表的步骤为:该表以交易ID进行散列后存储,列为交易区块链表的RowKey。
所述步骤S5中大数据存储层建立账户二级索引表的步骤为:该表以账户ID进行散列后作为RowKey存储,列信息包括3个部分:非量化信息、量化信息和区块标志位信息。
本发明具有以下优点和有益效果:本发明提供了一种基于大数据平台的区块链核心存储算法的设计方法,这种区块链数据存储方法可以提升区块链数据存储的安全性、实时性、可扩展性以及对区块链数据读写的吞吐率。
附图说明
图1为本发明提供的一种基于大数据平台的区块链核心存储算法流程图。
图2为本发明选取代表性基于大数据平台的分布式数据库HBASE为典型实施例1提供的一种基于大数据平台的区块链核心存储算法的存储结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要说明的是,除非另有说明,“多个”的含义是两个或两个以上;术语“上”、“下”、“左”、“右”、“内”、“外”、“前端”、“后端”、“头部”、“尾部”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是硬连接,也可以是软连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可视具体情况理解上述术语在本发明中的具体含义。
下面结合附图1和附图2对本发明的实施例1进一步说明。
如附图1所示:本发明选取代表性基于大数据平台的分布式数据库HBASE为典型实施例1提供的一种基于大数据平台的区块链核心存储算法的设计方法包括以下步骤:
S1、大数据存储层采用HBASE数据库做为区块链数据的存储方式;
S2、HBASE对接收到的原始交易信息存入交易区块链表;
S3、HBASE对接收到的原始交易信息进行实时分账后存入账户区块链表;
S4、在HBASE中建立交易二级索引表;
S5、在HBASE中建立账户二级索引表。
所述步骤S1中以HBASE数据库做为区块链数据的存储方式,具体包括以下4张HBASE数据库表:
S11: 交易区块链表(Trading Blockchain ,TBC);
S12: 账户区块链表(Account Blockchain ,ABC);
S13: 交易二级索引表(Index Transaction ,ITX);
S14: 账户二级索引表(Index Account ,IACT)。
所述步骤S2中HBASE对接收到的原始交易信息存入交易区块链表的步骤为:通过将区块链共识后的原始交易信息存进交易区块链表(TBC),请参考附图2中的TBC表,该HBASE表以区块的ID进行哈希散列后作为行的关键值RowKey,以该区块的块头属性和区块内发生的所有交易ID作为列名,块头属性包括:前块Hash、建块时间、默克尔树、块交易数量、当前区块Hash、投票结果。
所述步骤S3中HBASE对接收到的原始交易信息进行实时分账后存入账户区块链表的步骤为:由账户区块链表(ABC)来对交易进行记账,请参考附图2中的ABC表,该HBASE表以区块的ID进行哈希散列后作为行的关键值RowKey,以区块的块头属性和区块内发生交易的所有账户以及平台账户为列,对区块内发生的所有交易按账户进行分组、合并后,进行分别存储。账户区块链表中的块头属性包括:前块Hash、建块时间、默克尔树、块交易数量、当前区块Hash。
所述步骤S4在HBASE中建立交易二级索引表的步骤为:该表以交易ID进行散列后存储,列为交易区块链表的RowKey,请参考附图2中的ITX表。
所述步骤S5在HBASE中建立账户二级索引表的步骤为:该表以账户ID进行散列后作为RowKey存储,列信息包括3个部分:非量化信息、量化信息和区块标志位信息,请参考附图2中的IACT表。其中非量化信息用于处理文本类记录,量化信息用于处理可计量类记录,同时需要有区块链标示位已用于快速定位检索账户数据。
作为上述实施例的优选实施方式中的大数据存储层采用HBASE数据库做为区块链数据的存储方式,所述步骤S2,S3,S4,S5中区块链的数据表名、列名的名称不局限于某一种具体命名,列的数量也不局限于某一指定数量,所述步骤的算法适用于区块链***中的区块链数据存储,而不局限于某一种具体区块链共识算法和某一种具体大数据平台上的NOSQL数据库。
最后说明的是:以上所述的实施例仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种基于大数据平台的区块链核心存储算法的设计方法,其特征在于:
S1、大数据存储层采用NOSQL数据库做为区块链数据的存储方式;
S2、大数据存储层对接收到的原始交易信息存入交易区块链表;
S3、大数据存储层对接收到的原始交易信息进行实时分账后存入账户区块链表;
S4、大数据存储层建立交易二级索引表;
S5、大数据存储层建立账户二级索引表。
2.根据权利要求1所述的基于大数据平台的区块链数据存储算法,其特征在于:大数据存储层采用NOSQL数据库做为区块链数据的存储方式,而不局限于某一种具体大数据平台上的指定NOSQL数据库。
3.根据权利要求1所述的基于大数据平台的区块链数据存储算法,其特征在于:所述步骤S1中对大数据存储层采用NOSQL数据库做为区块链数据的存储方式,具体包括以下4张NOSQL数据库表:
S11: 交易区块链表(Trading Blockchain ,TBC);
S12: 账户区块链表(Account Blockchain ,ABC);
S13: 交易二级索引表(Index Transaction ,ITX);
S14: 账户二级索引表(Index Account ,IACT)。
4.根据权利要求1所述的基于大数据平台的区块链数据存储算法,其特征在于:所述步骤S2中大数据存储层对接收到的原始交易信息存入交易区块链表的步骤为:通过将区块链共识后的原始交易信息存进交易区块链表(TBC表),该表以区块的ID进行哈希散列后作为行的关键值RowKey,以该区块的块头属性和区块内发生的所有交易ID作为列名。
5.根据权利要求1所述的基于大数据平台的区块链数据存储算法,其特征在于:所述步骤S3中大数据存储层对接收到的原始交易信息进行实时分账后存入账户区块链表的步骤为:由账户区块链表(ABC表)来对交易进行记账,该表以区块的ID进行哈希散列后作为行的关键值RowKey,以区块的块头属性和区块内发生交易的所有账户以及平台账户为列,对区块内发生的所有交易按账户进行分组、合并后,进行分别存储。
6.根据权利要求1所述的基于大数据平台的区块链数据存储算法,其特征在于:所述步骤S4中大数据存储层建立交易二级索引表的步骤为:该表以交易ID进行散列后存储,列为交易区块链表的RowKey。
7.根据权利要求1所述的基于大数据平台的区块链数据存储算法,其特征在于:所述步骤S5中大数据存储层建立账户二级索引表的步骤为:该表以账户ID进行散列后作为RowKey存储,列信息包括3个部分:非量化信息、量化信息和区块标志位信息。
8.根据权利要求1所述的基于大数据平台的区块链数据存储算法,其特征在于:所述步骤S2,S3,S4,S5中区块链的数据表名、列名的名称不局限于某一种具体命名,列的数量也不局限于某一指定数量。
9.根据权利要求1所述的基于大数据平台的区块链数据存储算法,其特征在于:所述步骤的算法适用于区块链***中的区块链数据存储,而不局限于某一种具体区块链共识算法。
CN201810985336.6A 2018-08-28 2018-08-28 一种基于大数据平台的区块链核心存储算法的设计方法 Pending CN110908992A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810985336.6A CN110908992A (zh) 2018-08-28 2018-08-28 一种基于大数据平台的区块链核心存储算法的设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810985336.6A CN110908992A (zh) 2018-08-28 2018-08-28 一种基于大数据平台的区块链核心存储算法的设计方法

Publications (1)

Publication Number Publication Date
CN110908992A true CN110908992A (zh) 2020-03-24

Family

ID=69812187

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810985336.6A Pending CN110908992A (zh) 2018-08-28 2018-08-28 一种基于大数据平台的区块链核心存储算法的设计方法

Country Status (1)

Country Link
CN (1) CN110908992A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111488358A (zh) * 2020-04-08 2020-08-04 北京瑞策科技有限公司 基于业务数据区块链的数据查询方法及装置
CN111488347A (zh) * 2020-04-08 2020-08-04 北京瑞策科技有限公司 基于业务数据区块链的数据查询方法及装置
CN112988841A (zh) * 2021-03-21 2021-06-18 贵州大学 一种基于分组账户交易链的区块链索引结构

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160012465A1 (en) * 2014-02-08 2016-01-14 Jeffrey A. Sharp System and method for distributing, receiving, and using funds or credits and apparatus thereof
CN108027867A (zh) * 2015-07-14 2018-05-11 Fmr有限责任公司 计算高效的转账处理、审计以及搜索装置、方法和***
CN108108964A (zh) * 2017-12-27 2018-06-01 上海唯链信息科技有限公司 一种基于区块链技术的第三方支付互联互通方法
WO2018144302A1 (en) * 2017-01-31 2018-08-09 Rush Thomas Jay Blockchain data-processing engine

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160012465A1 (en) * 2014-02-08 2016-01-14 Jeffrey A. Sharp System and method for distributing, receiving, and using funds or credits and apparatus thereof
CN108027867A (zh) * 2015-07-14 2018-05-11 Fmr有限责任公司 计算高效的转账处理、审计以及搜索装置、方法和***
WO2018144302A1 (en) * 2017-01-31 2018-08-09 Rush Thomas Jay Blockchain data-processing engine
CN108108964A (zh) * 2017-12-27 2018-06-01 上海唯链信息科技有限公司 一种基于区块链技术的第三方支付互联互通方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
蔡维德 等: "面向大数据的区块链在清算***中的应用", 大数据, no. 1, pages 22 - 35 *
贾引狮: "基于区块链技术的网络版权交易问题研究", 科技与出版, no. 07, pages 90 - 98 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111488358A (zh) * 2020-04-08 2020-08-04 北京瑞策科技有限公司 基于业务数据区块链的数据查询方法及装置
CN111488347A (zh) * 2020-04-08 2020-08-04 北京瑞策科技有限公司 基于业务数据区块链的数据查询方法及装置
CN112988841A (zh) * 2021-03-21 2021-06-18 贵州大学 一种基于分组账户交易链的区块链索引结构

Similar Documents

Publication Publication Date Title
US11182366B2 (en) Comparing data stores using hash sums on disparate parallel systems
CN105373541B (zh) 数据库的数据操作请求的处理方法和***
WO2015106711A1 (zh) 一种为半结构化数据构建NoSQL数据库索引的方法及装置
CN110908992A (zh) 一种基于大数据平台的区块链核心存储算法的设计方法
US9069818B2 (en) Textual search for numerical properties
US8676863B1 (en) Maintaining a relational database and its schema in response to a stream of XML messages based on one or more arbitrary and evolving XML schemas
US20120158793A1 (en) Automatic Elimination Of Functional Dependencies Between Columns
US20170357710A1 (en) Clustering log messages using probabilistic data structures
EP4006740A1 (en) Method for indexing data in storage engines, and related device
US20140095549A1 (en) Method and Apparatus for Generating Schema of Non-Relational Database
US20100223231A1 (en) Merging Records From Different Databases
US20050216497A1 (en) Uniform financial reporting system interface utilizing staging tables having a standardized structure
US10445370B2 (en) Compound indexes for graph databases
CN102117318A (zh) 一种企业信息化***的数据处理方法
WO2020119143A1 (zh) 一种数据库删除记录的恢复方法及***
CN106446300A (zh) 一种基于共享存储池的事务处理方法及***
US20180121531A1 (en) Data Updating Method, Device, and Related System
CN107609151A (zh) 基于Redis实现XBRL实例文档缓存的方法
US10235422B2 (en) Lock-free parallel dictionary encoding
KR101588375B1 (ko) 데이터베이스 관리 방법 및 데이터베이스 관리 시스템
CN111950267B (zh) 文本三元组的抽取方法及装置、电子设备及存储介质
US9092338B1 (en) Multi-level caching event lookup
US10511563B2 (en) Hashes of email text
CN114218277A (zh) 一种关系数据库的高效查询方法和装置
CN108920452A (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