CN111291022B - 一种基于区块链的数据存储系统 - Google Patents
一种基于区块链的数据存储系统 Download PDFInfo
- Publication number
- CN111291022B CN111291022B CN202010085415.9A CN202010085415A CN111291022B CN 111291022 B CN111291022 B CN 111291022B CN 202010085415 A CN202010085415 A CN 202010085415A CN 111291022 B CN111291022 B CN 111291022B
- Authority
- CN
- China
- Prior art keywords
- data
- blockchain
- storage
- database
- memory database
- 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
- 238000013500 data storage Methods 0.000 title claims abstract description 13
- 238000001514 detection method Methods 0.000 claims description 12
- 238000000034 method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 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
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/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于区块链的数据存储系统,包括区块链节点、数据处理装置、内存数据库和磁盘数据库,当区块链节点获取到待存储的区块链数据时,数据处理装置将待存储的区块链数据存储至内存数据库,然后根据存储时长确定存储位置,当区块链节点读取某一个区块链数据时,数据处理装置根据存储时长从对应的数据库中进行读取。通过这种存储方式能够同时集内存数据库和磁盘数据库的性能之所长,提升数据读写的效率以及可靠性和安全性,避免数据丢失;在读取区块链数据时,根据存储时长确定所处的数据库,避免在错误的数据库中读取,提升读取效率以及速度,降低系统工作负担。
Description
技术领域
本发明涉及一种基于区块链的数据存储系统。
背景技术
区块链技术也称为分散式账本技术,是一种分散式网际网络资料库技术,其特点是去中心化、公开透明、不可篡改、可信任。具体而言,基于区块链技术构建的网络称为区块链网络,在该区块链网络中包含网络节点(也可以称为区块链节点)。目前,利用区块链技术进行数据存储的存储方式的应用越来越广泛,但是现有的利用区块链技术进行数据存储方式在进行数据存储时,数据的安全性较差,存在数据丢失的风险。
发明内容
本发明的目的在于提供一种基于区块链的数据存储系统,用以解决现有的利用区块链技术进行数据存储的方式的安全性较差的问题。
为了解决上述问题,本发明采用以下技术方案:
一种基于区块链的数据存储系统,包括:
区块链节点;
数据处理装置;
内存数据库;以及
磁盘数据库;
所述数据处理装置与所述区块链节点、内存数据库和磁盘数据库相连接,所述内存数据库和磁盘数据库相连接;
当所述区块链节点获取到待存储的区块链数据时,数据处理装置将所述待存储的区块链数据存储至所述内存数据库;
数据处理装置判定存储于所述内存数据库的各区块链数据的存储时长,将存储于所述内存数据库的存储时长大于预设存储时长的区块链数据由所述内存数据库转移至所述磁盘数据库;
当所述区块链节点读取某一个区块链数据时,数据处理装置判定该区块链数据的存储时长与所述预设存储时长的大小关系,若存储时长小于或者等于所述预设存储时长,则所述区块链节点从所述内存数据库中读取该区块链数据;若存储时长大于所述预设存储时长,则所述区块链节点从所述磁盘数据库中读取该区块链数据。
可选地,所述数据处理装置判定存储于所述内存数据库的各区块链数据的存储时长,将存储于所述内存数据库的存储时长大于预设存储时长的区块链数据由所述内存数据库转移至所述磁盘数据库,包括:
所述数据处理装置设置一个存储时长检测周期,每经过一次所述存储时长检测周期时,判定存储于所述内存数据库的各区块链数据的存储时长,将存储于所述内存数据库的存储时长大于预设存储时长的区块链数据由所述内存数据库转移至所述磁盘数据库。
可选地,所述数据处理装置内置有存储模块,用于存储各区块链数据的存储时长判定结果,并按照所述存储时长检测周期更新各区块链数据的存储时长判定结果;
所述当所述区块链节点读取某一个区块链数据时,数据处理装置判定该区块链数据的存储时长与所述预设存储时长的大小关系,包括:
当所述区块链节点读取所述某一个区块链数据时,数据处理装置根据所述存储模块获取该区块链数据的存储时长与所述预设存储时长的大小关系。
本发明的有益效果为:当区块链节点获取到待存储的区块链数据时,将待存储的区块链数据存储至内存数据库,由于内存数据库的读写性能较高,区块链节点将区块链数据存储至内存数据库,能够有效提高区块链数据的存储效率以及存储可靠性,保证数据不易丢失,而且,在读取内存数据库中的区块链数据时,能够提升读取效率以及读取可靠性;由于内存数据库的容量有限,为了最大程度实现内存数据库的读写性能,将存储于内存数据库的存储时长大于预设存储时长的区块链数据由内存数据库转移至磁盘数据库,存储时长过大的区块链数据,能够在一定程度上反映重要性比较低,那么,将其移动到读写性能较低,但是存储容量较大的磁盘数据库,能够最大程度实现磁盘数据库的性能,因此,通过这种存储方式能够同时集内存数据库和磁盘数据库的性能之所长,提升数据读写的效率以及可靠性和安全性,避免数据丢失;在读取区块链数据时,根据存储时长确定所处的数据库,提升读取效率以及速度,降低系统工作负担。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍:
图1是基于区块链的数据存储系统的整体结构示意图。
具体实施方式
本实施例提供一种基于区块链的数据存储系统,如图1所示,包括区块链节点、数据处理装置、内存数据库和磁盘数据库。数据处理装置与区块链节点、内存数据库和磁盘数据库相连接,内存数据库和磁盘数据库相连接。
其中,区块链节点的个数由实际需要进行确定,节点可以是被授权的终端,也可以是被授权的服务器。数据处理装置为该基于区块链的数据存储系统的数据处理核心,比如电脑主机。磁盘数据库需要频繁地访问磁盘来进行数据的操作,由于对磁盘读写数据的操作一方面要进行磁头的机械移动,另一方面受到系统调用(通常通过CPU中断完成,受到CPU时钟周期的制约)时间的影响,当数据量很大,操作频繁且复杂时,就会暴露出很多问题。而内存数据库是将数据放在内存中直接操作的数据库。相对于磁盘数据库,内存数据库的数据读写速度要高出几个数量级,将数据保存在内存数据库中相比从磁盘数据库上访问能够极大地提高应用的性能。
当区块链节点获取到待存储的区块链数据时,数据处理装置将待存储的区块链数据存储至内存数据库,本实施例中,通过内存数据库接口层将区块链数据写入至内存数据库。区块链数据的具体实现方式不做限定,比如:交易执行结果和交易日志,区块链节点在计算得到交易执行结果后,对交易执行结果和交易日志进行存储。
当区块链节点获取到待存储的区块链数据时,数据处理装置将待存储的区块链数据存储至内存数据库,那么,内存数据库中就可以存储有很多区块链数据,而且,每一个区块链数据均有一定的存储时长,即从存储开始时刻到之后的某一个时刻之间的时间段。那么,数据处理装置判定存储于内存数据库的各区块链数据的存储时长,即各区块链数据的从存储开始时刻到判定时刻之间的时间段。数据处理装置中设置一个预设存储时长,该预设存储时长用于实现后续判定,具体数值由实际需要进行设置。那么,随着时间的流动,内存数据库的各区块链数据就会被分成两类,分别是:存储于内存数据库的存储时长大于预设存储时长的区块链数据,以及存储于内存数据库的存储时长小于或者等于预设存储时长的区块链数据。数据处理装置将存储于内存数据库的存储时长大于预设存储时长的区块链数据由内存数据库转移至磁盘数据库,而存储于内存数据库的存储时长小于或者等于预设存储时长的区块链数据仍保留于内存数据库。通常情况下,数据处理装置按照一定的检测周期来判定存储于内存数据库的各区块链数据的存储时长,即数据处理装置中设置一个存储时长检测周期(比如10s),每经过一次该存储时长检测周期时,数据处理装置判定存储于内存数据库的各区块链数据的存储时长,并根据存储时长与预设存储时长的大小关系按照上述控制过程进行控制。因此,每经过一次存储时长检测周期,就将存储于内存数据库的存储时长大于预设存储时长的区块链数据转移至磁盘数据库,内存数据库中只保留存储时长小于或者等于预设存储时长的区块链数据。
为了便于区块链数据的读取,数据处理装置还内置有一个存储模块(比如存储芯片),该存储模块存储各区块链数据的存储时长判定结果,即各区块链数据的存储时长与预设存储时长的大小关系,并按照上述存储时长检测周期更新各区块链数据的存储时长判定结果,具体地:每经过一次存储时长检测周期时,数据处理装置获知各个区块链数据的存储时长与预设存储时长的大小关系,并将各个区块链数据的存储时长与预设存储时长的大小关系存储至存储模块中,以更新各区块链数据的存储时长判定结果。由于磁盘数据库中均存储的是存储时长大于预设存储时长的区块链数据,内存数据库中均存储的是存储时长小于或者等于预设存储时长的区块链数据,那么,只有当存储时长与预设存储时长的大小关系发生变化的区块链数据才会改变存储位置,因此,需要更新的区块链数据为发生变化的存储时长与预设存储时长的大小关系的区块链数据,只需对这些区块链数据的存储时长与预设存储时长的大小关系进行更新,即:当某一个区块链数据的存储时长与预设存储时长的大小关系发生变化时,将变化后的大小关系替换变化前的大小关系,实现更新该区块链数据的存储时长判定结果。
当区块链节点读取某一个区块链数据时,数据处理装置根据存储模块获取该区块链数据的存储时长与预设存储时长的大小关系,若该区块链数据的存储时长小于或者等于预设存储时长,表示该区块链数据存储在内存数据库中,则区块链节点从内存数据库中读取该区块链数据;若该区块链数据的存储时长大于预设存储时长,表示该区块链数据存储在磁盘数据库中,则区块链节点从磁盘数据库中读取该区块链数据。
当区块链节点获取到待存储的区块链数据时,将待存储的区块链数据存储至内存数据库,由于内存数据库的读写性能较高,区块链节点将区块链数据存储至内存数据库,能够有效提高区块链数据的存储效率以及存储可靠性,保证数据不易丢失,而且,在读取内存数据库中的区块链数据时,能够提升读取效率以及读取可靠性;由于内存数据库的容量有限,为了最大程度实现内存数据库的读写性能,将存储于内存数据库的存储时长大于预设存储时长的区块链数据由内存数据库转移至磁盘数据库,存储时长过大的区块链数据,能够在一定程度上反映重要性比较低,那么,将其移动到读写性能较低,但是存储容量较大的磁盘数据库,能够最大程度实现磁盘数据库的性能,因此,通过这种存储方式能够同时集内存数据库和磁盘数据库的性能之所长,提升数据读写的效率以及可靠性和安全性,避免数据丢失;在读取区块链数据时,根据存储时长确定所处的数据库,提升读取效率以及速度,降低系统工作负担。
上述实施例仅以一种具体的实施方式说明本发明的技术方案,任何对本发明进行的等同替换及不脱离本发明精神和范围的修改或局部替换,其均应涵盖在本发明权利要求保护的范围之内。
Claims (3)
1.一种基于区块链的数据存储系统,其特征在于,包括:
区块链节点;
数据处理装置;
内存数据库;以及
磁盘数据库;
所述数据处理装置与所述区块链节点、内存数据库和磁盘数据库相连接,所述内存数据库和磁盘数据库相连接;
当所述区块链节点获取到待存储的区块链数据时,数据处理装置将所述待存储的区块链数据存储至所述内存数据库;
数据处理装置判定存储于所述内存数据库的各区块链数据的存储时长,将存储于所述内存数据库的存储时长大于预设存储时长的区块链数据由所述内存数据库转移至所述磁盘数据库;
当所述区块链节点读取某一个区块链数据时,数据处理装置判定该区块链数据的存储时长与所述预设存储时长的大小关系,若存储时长小于或者等于所述预设存储时长,则所述区块链节点从所述内存数据库中读取该区块链数据;若存储时长大于所述预设存储时长,则所述区块链节点从所述磁盘数据库中读取该区块链数据。
2.根据权利要求1所述的基于区块链的数据存储系统,其特征在于,所述数据处理装置判定存储于所述内存数据库的各区块链数据的存储时长,将存储于所述内存数据库的存储时长大于预设存储时长的区块链数据由所述内存数据库转移至所述磁盘数据库,包括:
所述数据处理装置设置一个存储时长检测周期,每经过一次所述存储时长检测周期时,判定存储于所述内存数据库的各区块链数据的存储时长,将存储于所述内存数据库的存储时长大于预设存储时长的区块链数据由所述内存数据库转移至所述磁盘数据库。
3.根据权利要求2所述的基于区块链的数据存储系统,其特征在于,所述数据处理装置内置有存储模块,用于存储各区块链数据的存储时长判定结果,并按照所述存储时长检测周期更新各区块链数据的存储时长判定结果;
所述当所述区块链节点读取某一个区块链数据时,数据处理装置判定该区块链数据的存储时长与所述预设存储时长的大小关系,包括:
当所述区块链节点读取所述某一个区块链数据时,数据处理装置根据所述存储模块获取该区块链数据的存储时长与所述预设存储时长的大小关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010085415.9A CN111291022B (zh) | 2020-02-10 | 2020-02-10 | 一种基于区块链的数据存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010085415.9A CN111291022B (zh) | 2020-02-10 | 2020-02-10 | 一种基于区块链的数据存储系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111291022A CN111291022A (zh) | 2020-06-16 |
CN111291022B true CN111291022B (zh) | 2024-01-05 |
Family
ID=71018215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010085415.9A Active CN111291022B (zh) | 2020-02-10 | 2020-02-10 | 一种基于区块链的数据存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111291022B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112596682A (zh) * | 2020-12-28 | 2021-04-02 | 郝东东 | 一种区块链用存储装置及存储方法 |
CN112685420A (zh) * | 2020-12-31 | 2021-04-20 | 北京存金所贵金属有限公司 | 一种区块链数据的扩容方法、装置、调度控制器及系统 |
CN114676444B (zh) * | 2022-03-24 | 2023-10-10 | 苏州极岸科技有限公司 | 一种基于区块链的存储系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701190A (zh) * | 2016-01-07 | 2016-06-22 | 深圳市金证科技股份有限公司 | 一种数据同步的方法和装置 |
CN107704196A (zh) * | 2017-03-09 | 2018-02-16 | 上海亿账通区块链科技有限公司 | 区块链数据存储系统和方法 |
WO2019231954A1 (en) * | 2018-05-31 | 2019-12-05 | Alibaba Group Holding Limited | Blockchain-based data migration method and apparatus |
-
2020
- 2020-02-10 CN CN202010085415.9A patent/CN111291022B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701190A (zh) * | 2016-01-07 | 2016-06-22 | 深圳市金证科技股份有限公司 | 一种数据同步的方法和装置 |
CN107704196A (zh) * | 2017-03-09 | 2018-02-16 | 上海亿账通区块链科技有限公司 | 区块链数据存储系统和方法 |
WO2019231954A1 (en) * | 2018-05-31 | 2019-12-05 | Alibaba Group Holding Limited | Blockchain-based data migration method and apparatus |
Non-Patent Citations (1)
Title |
---|
王千阁 ; 何蒲 ; 聂铁铮 ; 申德荣 ; 于戈 ; .区块链系统的数据存储与查询技术综述.计算机科学.2018,(12),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111291022A (zh) | 2020-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110135985B (zh) | 一种区块链上交易的并行执行方法及系统 | |
CN111291022B (zh) | 一种基于区块链的数据存储系统 | |
CN1934568B (zh) | 将源数据迁移成目标数据的方法、系统和程序 | |
CN106021445B (zh) | 一种加载缓存数据的方法及装置 | |
CN106445398B (zh) | 一种基于新型存储器的嵌入式文件系统及其实现方法 | |
CN103218176B (zh) | 数据处理方法及装置 | |
US20040103242A1 (en) | Solid state disk on module with high speed data transmission | |
WO2021223468A1 (zh) | 一种基于ssd的日志数据保存方法、装置、设备和介质 | |
CN111291023A (zh) | 一种数据迁移的方法、系统、设备以及介质 | |
CN109542636B (zh) | 一种数据更新的方法及装置 | |
CN110941395A (zh) | 动态随机存取存储器、内存管理方法、系统及存储介质 | |
CN103150149A (zh) | 处理数据库重做数据的方法和装置 | |
CN103136215A (zh) | 存储系统的数据读写方法和装置 | |
CN115756556A (zh) | 一种基于图形处理器的bios更新方法 | |
JP4461089B2 (ja) | ストレージ制御装置およびストレージ制御方法 | |
CN109710547B (zh) | 一种工业物联网中的缓冲内存管理设计与实现方法 | |
CN109542860B (zh) | 基于hdfs的业务数据管理方法、终端设备 | |
CN116561091A (zh) | 一种日志存储方法、装置、设备及可读存储介质 | |
CN115639966A (zh) | 一种数据写入方法、装置、终端设备及存储介质 | |
CN115756322A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN109783032A (zh) | 一种基于异构计算的分布式存储加速方法及装置 | |
US20060277326A1 (en) | Data transfer system and method | |
US11360687B2 (en) | Method of processing a input-output request, an electronic device, and a computer program product | |
CN110490581A (zh) | 一种分布式系统临界数据资源更新方法及系统 | |
US7568121B2 (en) | Recovery from failure in data storage systems |
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 |