CN109828975A - 一种基于区块链的大规模快速账本存取系统 - Google Patents
一种基于区块链的大规模快速账本存取系统 Download PDFInfo
- Publication number
- CN109828975A CN109828975A CN201910156665.4A CN201910156665A CN109828975A CN 109828975 A CN109828975 A CN 109828975A CN 201910156665 A CN201910156665 A CN 201910156665A CN 109828975 A CN109828975 A CN 109828975A
- Authority
- CN
- China
- Prior art keywords
- module
- lsm
- tree
- data
- account book
- 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
- 238000003860 storage Methods 0.000 claims abstract description 28
- 241000422846 Sequoiadendron giganteum Species 0.000 claims abstract description 12
- 230000007246 mechanism Effects 0.000 claims abstract description 3
- 230000007727 signaling mechanism Effects 0.000 claims description 14
- 238000000034 method Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 6
- 238000002360 preparation method Methods 0.000 claims description 4
- 238000013461 design Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 3
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013341 scale-up Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013517 stratification Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于区块链的大规模快速账本存取系统,包括多CPU环境单元、flush写入模块、磁盘、MySQL、关系型窗体和报表模块、LSM树存储引擎、LSM有序小树、merge操作模块、数据大树、查询模块和RocksDB模块,该发明,区块链采用RocksDB+Mysql多数据库架构,通过创新的跨库跨表分层及读写分离机制,突破了传统单库结构的性能及存储瓶颈;使得系统支持无限制交易并发、高频热点分表、账本实时结算等特点;通过这种分库分表化的结构设计,使得多笔交易可以在多个库表上并行执行,通过横向和纵向扩展分布式账本网络,使得TPS可达到百万级以上,并在交易性能大幅提升的同时保证数据的可靠性、安全性、一致性、不可纂改性。
Description
技术领域
本发明涉及区块链技术领域,具体为一种基于区块链的大规模快速账本存取系统。
背景技术
近年来,基于分布式账本技术的落地应用逐渐实施,然而颠覆性的应用还尚未出现。有些核心的技术不成熟,主要体现在系统每秒钟能够处理的业务数量,也即TPS,通俗的定义,就是“系统的吞吐量”,在区块链的世界里,则被定义为每秒钟新产生的交易记录,TPS高能映射出网络交易速度的提升,是衡量一个区块链项目性能指标之一;TPS不足是基于区块链的分布式账本技术发展和大规模应用的最大障碍;目前主流的比特币的TPS为7,以太坊的TPS是10到20左右,而传统金融机构每秒的交易量往往多达几千笔,一家大银行的日均交易量往往超过1亿笔;若想满足大规模商用的需求,交易处理速度的提升是必要的前提条件,因此,设计一种基于区块链的大规模快速账本存取系统是很有必要的。
发明内容
本发明的目的在于提供一种基于区块链的大规模快速账本存取系统,以解决上述背景技术中提出的问题。
为了解决上述技术问题,本发明提供如下技术方案:一种基于区块链的大规模快速账本存取系统,包括多CPU环境单元、flush写入模块、磁盘、MySQL、关系型窗体和报表模块、LSM树存储引擎、LSM有序小树、merge操作模块、数据大树、查询模块和RocksDB模块,所述多CPU环境单元通过信号机制与LSM树存储引擎进行通信连接,且RocksDB模块同时通过信号机制与LSM树存储引擎进行通信连接,所述LSM树存储引擎利用信号机制建立LSM有序小树,所述LSM有序小树达到一定阈值时通过flush写入模块写入到磁盘上,所述LSM有序小树定期通过merge操作模块构建数据,且数据不断合并成数据大树,所述LSM有序小树在通过merge操作模块构建数据的同时通过MySQL生成各种数据对象,并利用MySQL存储的数据快速建立关系型窗体和报表模块,所述查询模块通过信号机制与关系型窗体和报表模块进行通信连接。
根据上述技术方案,所述多CPU环境单元采用多线程多任务的方式运行。
根据上述技术方案,所述MySQL为一种开放源代码的关系型数据库管理系统,使用结构化查询语言进行数据库管理。
根据上述技术方案,所述LSM树存储引擎的代表数据库有nessDB、leveldb和hbase。
根据上述技术方案,所述LSM有序小树达到一定阈值时通过flush写入模块写入到磁盘上。
根据上述技术方案,所述merge操作模块的merge过程只是移动数据而不存在多路归并的数据整理。
根据上述技术方案,所述数据大树通过信号机制与MySQL进行通信连接。
根据上述技术方案,所述RocksDB模块为LevelDB基础上用C++写的Key-Value存储引擎。
与现有技术相比,本发明所达到的有益效果是:该基于区块链的大规模快速账本存取系统,区块链采用RocksDB+Mysql多数据库架构,通过创新的跨库跨表分层及读写分离机制,突破了传统单库结构的性能及存储瓶颈;使得系统支持无限制交易并发、高频热点分表、账本实时结算等特点;通过这种分库分表化的结构设计,使得多笔交易可以在多个库表上并行执行,通过横向和纵向扩展分布式账本网络,使得TPS可达到百万级以上,并在交易性能大幅提升的同时保证数据的可靠性、安全性、一致性、不可纂改性。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明的系统流程图;
图中:1、多CPU环境单元;2、flush写入模块;3、磁盘;4、MySQL;5、关系型窗体和报表模块;6、LSM树存储引擎;7、LSM有序小树;8、merge操作模块;9、数据大树;10、查询模块;11、RocksDB模块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供一种技术方案:一种基于区块链的大规模快速账本存取系统,包括多CPU环境单元1、flush写入模块2、磁盘3、MySQL4、关系型窗体和报表模块5、LSM树存储引擎6、LSM有序小树7、merge操作模块8、数据大树9、查询模块10和RocksDB模块11,多CPU环境单元1通过信号机制与LSM树存储引擎6进行通信连接,且RocksDB模块11同时通过信号机制与LSM树存储引擎6进行通信连接,LSM树存储引擎6利用信号机制建立LSM有序小树7,LSM有序小树7达到一定阈值时通过flush写入模块2写入到磁盘3上,LSM有序小树7定期通过merge操作模块8构建数据,且数据不断合并成数据大树9,LSM有序小树7在通过merge操作模块8构建数据的同时通过MySQL4生成各种数据对象,并利用MySQL4存储的数据快速建立关系型窗体和报表模块5,查询模块10通过信号机制与关系型窗体和报表模块5进行通信连接。
根据上述技术方案,多CPU环境单元1采用多线程多任务的方式运行。
根据上述技术方案,MySQL4为一种开放源代码的关系型数据库管理系统,使用结构化查询语言进行数据库管理。
根据上述技术方案,LSM树存储引擎6的代表数据库有nessDB、leveldb和hbase。
根据上述技术方案,LSM有序小树7达到一定阈值时通过flush写入模块2写入到磁盘3上,以减少对磁盘3频繁写入的吞吐压力,防止写放大问题而耗尽disk磁盘3的IO资源。
根据上述技术方案,merge操作模块8的merge过程只是移动数据而不存在多路归并的数据整理,这样能大大消除写放大问题,并且可以优化读性能。
根据上述技术方案,数据大树9通过信号机制与MySQL4进行通信连接。
根据上述技术方案,RocksDB模块11为LevelDB基础上用C++写的Key-Value存储引擎,是为快速而又低延迟的存储设备(例如闪存或者高速硬盘)而特殊优化处理,将最大限度的发挥闪存和RAM的高速率读写性能。
基于上述,本发明的优点在于,为支持对区块链大规模应用过程中的快速账本写入,通过采用高性能的RocksDB模块11并优化其处理过程来实现对海量数据的高效并发写入操作,具体策略为通过多CPU环境单元1,使用多线程多任务的方式,将数据随机写入到内存,通过LSM树存储引擎6实现在服务器负载下快速存储(特别是闪存存储)的数据的能力并保证写吞吐最大化,同时因为内存没有寻道速度的问题,使得随机写的性能得到大幅提升,然后在内存中将数据排好序并构建一颗LSM有序小树7,随着LSM有序小树7越来越大,达到一定阈值时再将LSM有序小树7通过flush写入模块2写入到磁盘3上;数据进入到磁盘3中后,LSM有序小树7定期通过merge操作模块8操作,最终将这些数据合并成一棵数据大树9;因为区块链账本是不能纂改,不能删减的,随着时间的推移,账本会不断增加而变得非常的庞大,用户如果要在一个庞杂的数据大树9里面查找或读取一些内容时相对会耗费更多的时间和成本,基于用户对账本的查询大部分是基于关系模型基础上的数据,因此使用主流的MySQL4数据库来实现用户对关系型数据的查询读取操作,具体策略为:当数据被写入内存后,LSM有序小树7在进行merge操作模块8操作的同时,也通过MySQL4生成各种数据对象,并利用存储的数据快速建立关系型窗体和报表模块5,将最新数据、重点数据基于不同关系做不同分表分类和层次化处理,让表尽量简单化,数据小型化,用户查询时就只需要通过查询模块10对小型化的、已分类分表后的MySQL4实现快速的数据读取和查询操作。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于区块链的大规模快速账本存取系统,包括多CPU环境单元(1)、flush写入模块(2)、磁盘(3)、MySQL(4)、关系型窗体和报表模块(5)、LSM树存储引擎(6)、LSM有序小树(7)、merge操作模块(8)、数据大树(9)、查询模块(10)和RocksDB模块(11),其特征在于:所述多CPU环境单元(1)通过信号机制与LSM树存储引擎(6)进行通信连接,且RocksDB模块(11)同时通过信号机制与LSM树存储引擎(6)进行通信连接,所述LSM树存储引擎(6)利用信号机制建立LSM有序小树(7),所述LSM有序小树(7)达到一定阈值时通过flush写入模块(2)写入到磁盘(3)上,所述LSM有序小树(7)定期通过merge操作模块(8)构建数据,且数据不断合并成数据大树(9),所述LSM有序小树(7)在通过merge操作模块(8)构建数据的同时通过MySQL(4)生成各种数据对象,并利用MySQL(4)存储的数据快速建立关系型窗体和报表模块(5),所述查询模块(10)通过信号机制与关系型窗体和报表模块(5)进行通信连接。
2.根据权利要求1所述的一种基于区块链的大规模快速账本存取系统,其特征在于:所述多CPU环境单元(1)采用多线程多任务的方式运行。
3.根据权利要求1所述的一种基于区块链的大规模快速账本存取系统,其特征在于:所述MySQL(4)为一种开放源代码的关系型数据库管理系统,使用结构化查询语言进行数据库管理。
4.根据权利要求1所述的一种基于区块链的大规模快速账本存取系统,其特征在于:所述LSM树存储引擎(6)的代表数据库有nessDB、leveldb和hbase。
5.根据权利要求1所述的一种基于区块链的大规模快速账本存取系统,其特征在于:所述LSM有序小树(7)达到一定阈值时通过flush写入模块(2)写入到磁盘(3)上。
6.根据权利要求1所述的一种基于区块链的大规模快速账本存取系统,其特征在于:所述merge操作模块(8)的merge过程只是移动数据而不存在多路归并的数据整理。
7.根据权利要求1所述的一种基于区块链的大规模快速账本存取系统,其特征在于:所述数据大树(9)通过信号机制与MySQL(4)进行通信连接。
8.根据权利要求1所述的一种基于区块链的大规模快速账本存取系统,其特征在于:所述RocksDB模块(11)为LevelDB基础上用C++写的Key-Value存储引擎。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910156665.4A CN109828975A (zh) | 2019-03-01 | 2019-03-01 | 一种基于区块链的大规模快速账本存取系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910156665.4A CN109828975A (zh) | 2019-03-01 | 2019-03-01 | 一种基于区块链的大规模快速账本存取系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109828975A true CN109828975A (zh) | 2019-05-31 |
Family
ID=66865089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910156665.4A Pending CN109828975A (zh) | 2019-03-01 | 2019-03-01 | 一种基于区块链的大规模快速账本存取系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109828975A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110188108A (zh) * | 2019-06-10 | 2019-08-30 | 北京平凯星辰科技发展有限公司 | 数据存储方法、装置、系统、计算机设备及存储介质 |
CN110716923A (zh) * | 2019-12-12 | 2020-01-21 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、节点设备及存储介质 |
CN112699092A (zh) * | 2021-01-13 | 2021-04-23 | 浪潮云信息技术股份公司 | 一种RocksDB存储大值数据的方法 |
CN113672046A (zh) * | 2020-05-13 | 2021-11-19 | 胡敏 | 一种基于区块链的大规模快速账本存取系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407427A (zh) * | 2016-09-27 | 2017-02-15 | 上海携程商务有限公司 | key‑value引擎接口方法及系统 |
CN108446376A (zh) * | 2018-03-16 | 2018-08-24 | 众安信息技术服务有限公司 | 数据存储方法与装置 |
CN108647361A (zh) * | 2018-05-21 | 2018-10-12 | 中国工商银行股份有限公司 | 一种基于区块链的数据存储方法、装置及系统 |
US20180322170A1 (en) * | 2017-05-05 | 2018-11-08 | Mediasift Limited | Event processing system |
-
2019
- 2019-03-01 CN CN201910156665.4A patent/CN109828975A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407427A (zh) * | 2016-09-27 | 2017-02-15 | 上海携程商务有限公司 | key‑value引擎接口方法及系统 |
US20180322170A1 (en) * | 2017-05-05 | 2018-11-08 | Mediasift Limited | Event processing system |
CN108446376A (zh) * | 2018-03-16 | 2018-08-24 | 众安信息技术服务有限公司 | 数据存储方法与装置 |
CN108647361A (zh) * | 2018-05-21 | 2018-10-12 | 中国工商银行股份有限公司 | 一种基于区块链的数据存储方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
EAGLE992018: "rocks引擎简析", 《HTTPS://BLOG.CSDN.NET/EAGLE992018/ARTICLE/DETAILS/82880599》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110188108A (zh) * | 2019-06-10 | 2019-08-30 | 北京平凯星辰科技发展有限公司 | 数据存储方法、装置、系统、计算机设备及存储介质 |
CN110188108B (zh) * | 2019-06-10 | 2021-03-02 | 北京平凯星辰科技发展有限公司 | 数据存储方法、装置、系统、计算机设备及存储介质 |
CN110716923A (zh) * | 2019-12-12 | 2020-01-21 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、节点设备及存储介质 |
CN113672046A (zh) * | 2020-05-13 | 2021-11-19 | 胡敏 | 一种基于区块链的大规模快速账本存取系统 |
CN112699092A (zh) * | 2021-01-13 | 2021-04-23 | 浪潮云信息技术股份公司 | 一种RocksDB存储大值数据的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109828975A (zh) | 一种基于区块链的大规模快速账本存取系统 | |
Han et al. | Survey on NoSQL database | |
Liao et al. | Multi-dimensional index on hadoop distributed file system | |
CN108600321A (zh) | 一种基于分布式内存云的图数据存储方法和系统 | |
CN109521959A (zh) | 一种基于ssd-smr磁盘混合键值存储系统数据组织方法 | |
CN100468402C (zh) | 一种数据存储及查询方法 | |
CN105912687B (zh) | 海量分布式数据库存储单元 | |
US8229916B2 (en) | Method for massively parallel multi-core text indexing | |
CN102214176B (zh) | 超大维表的切分与表连接方法 | |
CN103473276B (zh) | 超大型数据存储方法、分布式数据库系统及其检索方法 | |
CN103246749A (zh) | 面向分布式计算的矩阵数据库系统及其查询方法 | |
CN101986649B (zh) | 应用于电信行业计费系统的共享数据中心 | |
WO2021254240A1 (zh) | 数据处理方法及装置 | |
US20210109912A1 (en) | Multi-layered key-value storage | |
CN101963993B (zh) | 一种数据库单表记录快速查找的方法 | |
CN105516313A (zh) | 一种用于大数据的分布式存储系统 | |
CN114281989A (zh) | 基于文本相似度的数据去重方法、装置及存储介质和服务器 | |
CN115114294A (zh) | 数据库存储模式的自适应方法、装置、计算机设备 | |
CN101763390A (zh) | 基于Berkeley DB的数据库存储系统及方法 | |
WO2022121274A1 (zh) | 一种存储系统中元数据管理方法、装置及存储系统 | |
Qian et al. | An evaluation of Lucene for keywords search in large-scale short text storage | |
CN113568572A (zh) | 一种基于固态硬盘的数据库并行排序连接系统 | |
CN107273443B (zh) | 一种基于大数据模型元数据的混合索引方法 | |
CN103902693A (zh) | 一种读优化的内存数据库t树索引结构的方法 | |
Cai et al. | The Embedded IoT Time Series Database for Hybrid Solid‐State Storage System |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190531 |
|
RJ01 | Rejection of invention patent application after publication |