CN110908992A - 一种基于大数据平台的区块链核心存储算法的设计方法 - Google Patents
一种基于大数据平台的区块链核心存储算法的设计方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 13
- 238000013461 design Methods 0.000 title claims abstract description 9
- 238000013500 data storage Methods 0.000 claims abstract description 41
- 238000013139 quantization Methods 0.000 claims description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000007547 defect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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所述的基于大数据平台的区块链数据存储算法,其特征在于:所述步骤的算法适用于区块链系统中的区块链数据存储,而不局限于某一种具体区块链共识算法。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111488347A (zh) * | 2020-04-08 | 2020-08-04 | 北京瑞策科技有限公司 | 基于业务数据区块链的数据查询方法及装置 |
CN111488358A (zh) * | 2020-04-08 | 2020-08-04 | 北京瑞策科技有限公司 | 基于业务数据区块链的数据查询方法及装置 |
CN112988841A (zh) * | 2021-03-21 | 2021-06-18 | 贵州大学 | 一种基于分组账户交易链的区块链索引结构 |
Citations (4)
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 |
-
2018
- 2018-08-28 CN CN201810985336.6A patent/CN110908992A/zh active Pending
Patent Citations (4)
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)
Title |
---|
蔡维德 等: "面向大数据的区块链在清算系统中的应用", 大数据, no. 1, pages 22 - 35 * |
贾引狮: "基于区块链技术的网络版权交易问题研究", 科技与出版, no. 07, pages 90 - 98 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111488347A (zh) * | 2020-04-08 | 2020-08-04 | 北京瑞策科技有限公司 | 基于业务数据区块链的数据查询方法及装置 |
CN111488358A (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 | |
CN106682148A (zh) | 一种基于Solr数据搜索的方法及装置 | |
US20140095549A1 (en) | Method and Apparatus for Generating Schema of Non-Relational Database | |
US20100223231A1 (en) | Merging Records From Different Databases | |
US20180121531A1 (en) | Data Updating Method, Device, and Related System | |
US10445370B2 (en) | Compound indexes for graph databases | |
CN107609151A (zh) | 基于Redis实现XBRL实例文档缓存的方法 | |
CN102117318A (zh) | 一种企业信息化系统的数据处理方法 | |
CN106446300A (zh) | 一种基于共享存储池的事务处理方法及系统 | |
US10235422B2 (en) | Lock-free parallel dictionary encoding | |
KR101588375B1 (ko) | 데이터베이스 관리 방법 및 데이터베이스 관리 시스템 | |
WO2021000828A1 (zh) | 数据聚合方法、装置、计算机设备及存储介质 | |
US10511563B2 (en) | Hashes of email text | |
CN114218277A (zh) | 一种关系数据库的高效查询方法和装置 | |
US20210011929A1 (en) | Method for creatig relational database table(s) for a form | |
CN107506189A (zh) | 一种基于工厂模式实现的iOS数据持久化方法 | |
CN110807037B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200324 |
|
WD01 | Invention patent application deemed withdrawn after publication |