CN111858599A - 一种区块链数据存储装置及其快速存储方法 - Google Patents
一种区块链数据存储装置及其快速存储方法 Download PDFInfo
- Publication number
- CN111858599A CN111858599A CN202010712925.4A CN202010712925A CN111858599A CN 111858599 A CN111858599 A CN 111858599A CN 202010712925 A CN202010712925 A CN 202010712925A CN 111858599 A CN111858599 A CN 111858599A
- Authority
- CN
- China
- Prior art keywords
- storage
- data
- module
- node
- logic
- 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
Images
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的区块链数据存储装置及其快速存储方法包括,区块,区块连接有认证模块,认证模块连接有逻辑存储管理模块,还包括若干逻辑存储模块,逻辑存储模块由区块链系统的各节点存储空间中虚拟出来;系统中所有的逻辑存储管理模块都能够与每个逻辑存储模块交互数据。本发明的区块链数据快速存储方法,处理步骤包括:S1 区块链数据存储装置的初始化,并生成逻辑存储模块;S2 逻辑存储模块的动态管理;S3 业务数据的存储处理;S4 业务数据的读取处理。本发明装置及方法能够在确保数据安全和可靠性的前提下,压缩传统区块链系统对于存储资源的占用,提高业务数据确认效率,进而大大提高时效性,推动区块链技术在局域网络或物联网络等非常态稳定的环境中得到广泛应用。
Description
本发明为申请号为“一种区块链数据存储装置及其快速存储方法”,申请号为“2020101179512”的发明专利的分案申请。
技术领域
本发明涉及计算机和数据处理领域,尤其涉及一种区块链数据存储装置及其快速存储方法。
背景技术
随着区块链技术的发展,在金融、政务、民用消费领域都有了广泛的应用,传统区块链技术随着节点数量的增加,区块链需要占用大量存储空间,随之带来巨大的存储压力。并且当需要对新业务流程进行检验时,每个节点都需要对历史区块进行大量访问;这就使得区块链技术在注重现场和实时性的场景应用中受到极大阻碍。
发明内容
本发明提出了一种区块链数据存储装置及其快速存储方法,以解决现有区块链技术存储压力大,数据确认效率低、时效性差等问题,通过压缩传统区块链系统对于存储资源的占用,能够提高业务数据确认效率,进而大大提高时效性。
为实现上述目的,本发明采取的技术方案为:
一种区块链数据存储装置,包括:
区块,设置于区块链系统各节点中,所述区块用于存储区块链信息数据以及业务数据或交易数据存储地址指针;
认证模块,与所述区块通过数据连接方式连接;
逻辑存储管理模块,与所述认证模块通过数据连接方式连接;
逻辑存储模块,用于存储区块链系统中的业务数据或交易数据;
所述区块链系统中所有的逻辑存储管理模块都能够通过数据连接方式与每个逻辑存储模块交互数据;
所述认证模块用于验证所述逻辑存储模块的信息;
所述区块中存储的业务数据或交易数据存储地址指针包括:本区块相关业务数据或交易数据所在逻辑存储模块的IP地址、数据地址以及逻辑存储模块的数据内容Hash值;
所述逻辑存储管理模块用于对区块链系统节点中产生或消除逻辑存储的过程以及数据存储过程进行管理。
进一步的,所述逻辑存储模块由区块链系统各节点的存储空间中虚拟出来。
一种区块链数据存储装置的快速存储方法,包括以下步骤:
S1区块链数据存储装置的初始化,并生成逻辑存储模块;
S2逻辑存储管理模块在区块链系统运行过程中对逻辑存储模块进行动态管理;
S3业务数据的存储处理;
S4业务数据的读取处理。
进一步的,所述步骤S1的处理过程包括以下步骤:
S101所述区块链数据存储装置随着区块链系统的部署进行初始化,初始化主要包括:在每个节点上划设确保区块、认证模块以及逻辑存储管理模块30正常运行的存储空间;
S102生成初始化逻辑存储模块;
经步骤S101的初始化处理后,区块链系统中m个节点的逻辑存储管理模块从各自节点的物理存储中划设出独立的物理存储记为,初始化时的逻辑存储模块的分块同物理存储。
进一步的,所述步骤S2中所述逻辑存储管理模块对逻辑存储模块的动态管理采用业务繁忙的节点少参与存储、存储空间竞争开放的原则,具体处理过程包括以下步骤:
记所述区块链系统中m个节点对应的初始化逻辑存储为,每个节点的逻辑存储管理模块对本节点在一次存储周期中发起存储请求的次数进行统计,每当系统中发生一次业务数据或交易数据存储请求,所有节点的逻辑存储管理模块都将本节点请求的业务数据或交易数据存储次数广播给所述区块链系统中其它的逻辑存储管理模块,当前发起请求的节点的逻辑存储管理模块按照本次存储周期中各节点请求的业务数据或交易数据存储次数由少到多进行排序得到顺序,取排名前)的节点作为逻辑存储模块其中c表示排名前的节点总数;当前发起请求的节点的逻辑存储管理模块将选定的逻辑存储模块广播给系统中其它逻辑存储管理模块,所述区块链系统将作为当前的节点业务数据的逻辑存储模块,供业务数据或交易数据存储使用;然后进入下一存储周期的逻辑存储模块的动态管理过程;
所述存储周期是指从有节点发起业务数据或交易数据存储请求开始,到下一次有节点发起业务数据存储请求结束的时间段。
进一步的,所述步骤S3的处理过程包括以下步骤:
当节点j发起数据存储请求时,节点j的逻辑存储管理模块根据S2步骤筛选出符合条件的逻辑存储模块,构成存储所述节点j的业务或交易数据的预选存储模块集合,并将所述符合条件的逻辑存储模块的IP地址、数据地址以及逻辑存储模块中的数据内容Hash值发送给认证模块,认证模块一方面根据接收到的逻辑存储模块4中的数据内容Hash值对所述预选存储模块集合的信息进行验证,并将通过验证的逻辑存储模块的IP地址、数据地址以及数据内容的Hash值发送给区块,区块将接收到的数据存储模块的IP地址、数据地址以及数据内容的Hash值保存到区块中成为业务数据或交易数据存储地址的指针,并将所述业务数据或交易数据存储地址的指针信息广播到区块链系统中的所有节点的区块中保存;另一方面将通过验证的逻辑存储模块的信息发送给逻辑存储管理模块,逻辑存储管理模块将业务或交易数据保存到所有通过验证的逻辑存储模块中,令区块链系统中c个逻辑存储模块中每个逻辑存储模块都有一份节点j请求存储的业务数据,从而完成一次业务数据的存储。
进一步的,所述步骤S4的处理过程包括以下步骤:
当区块链系统的节点w发起数据读取请求时,所请求读取的数据称为目标数据,节点w首先将目标数据读取请求广播到区块链系统所有的区块,所有区块查询自身业务数据或交易数据存储地址指针记录表,并将查询到的业务数据或交易数据存储地址指针记录经过共识机制判断后,得到目标数据的共识存储地址指针;所述节点w将共识存储地址指针发送给节点w的认证模块,节点w的认证模块接收到共识存储地址指针后,从历史记录中确认是否有所述共识存储地址指针的记录,若历史记录中没有查询到共识存储地址指针的记录,则视为认证未通过,本次数据读取请求流程终止;若认证通过,则将共识存储地址指针信息转发给所述逻辑存储管理模块,所述逻辑存储管理模块根据地址指针从所有通过认证的逻辑存储模块中读取业务和交易信息数据,并将读取到的数据发送至所述认证模块,所述认证模块对接收到的数据进行共识判断,将共识结果数据发送给发起请求的节点w。
与现有技术相比,本发明实施例至少具有以下有益效果:
1、本发明所述的装置及方法能够在确保数据安全和可靠性的前提下,大大压缩传统区块链系统对于存储资源的占用,提高业务数据确认效率,进而大大提高时效性,推动区块链技术在局域网络或物联网络等常态非稳定性的环境中得到广泛应用。
2、本发明的区块链系统中的区块,用于存放区块链信息数据以及业务数据或交易数据存储地址指针,该区块通过不直接存储业务数据或交易数据,而是替换为存储业务数据或交易数据存储地址指针,因而大大降低了冗余的数据记录对于区块链系统存储资源的占用,降低了区块链系统存储压力。
3、本发明采用了预选存储模块集合和认证模块对预选存储模块进行验证两重机制,确保了数据在确保安全的前提下,存储到整个区块链系统中的优质节点、大大降低通信时延损耗;更重要的是在共同记账过程中,记录的是业务或交易数据存储地址的指针,极大增加区块链系统的存储效率。
说明书附图
图1本发明所述一种区块链数据存储装置结构图;
图2本发明所述一种区块链数据存储装置的区块数据结构与现有技术的对比;
图3本发明所述区块链数据存储装置的存储方法流程图。
具体实施方式
为了更好的说明本发明,下面将结合附图和具体实施例来做详细说明。
参照图1,本发明所述的一种区块链数据存储装置,包括以下部分:
区块10、认证模块20、逻辑存储管理模块30和逻辑存储模块40。
区块链系统中有n个节点,每个节点中有一个或多个区块10,每个区块10通过数据连接方式连接有一个认证模块20,每个认证模块20通过数据连接方式连接有一个逻辑存储管理模块30;本发明所述的区块链数据存储装置中还具有若干个逻辑存储模块40,逻辑存储模块40由区块链系统的各节点存储空间中虚拟出来;系统中所有的逻辑存储管理模块30都可以通过数据连接方式与每个逻辑存储模块40交互数据。
所述区块10,用于存放区块链信息数据以及业务数据或交易数据存储地址指针。参照图2(a),现有技术区块需要存放区块链信息数据以及业务数据或交易数据记录,区别于现有技术区块,参照图2(b),本发明所述的区块10中不直接存储业务数据或交易数据,而是替换为存储业务数据或交易数据存储地址指针,因而大大降低了冗余的数据记录对于系统存储资源的占用。
所述区块10中存储的区块链信息数据包括:前一区块的Hash指针、区块相关时间戳、目标区块的Hash指针、其它区块头信息。所述区块10中存储的业务数据或交易数据存储地址指针包括:本区块相关业务数据所在逻辑存储模块40的IP地址、数据地址以及逻辑存储模块40的数据内容Hash值。所述Hash值的计算方法包括但不限于MD5、SHA1、SHA2、SHA3等Hash算法。
所述区块10与认证模块20具有数据连接,可以交互数据。
所述认证模块20,用于验证逻辑存储模块40的信息。认证模块20与逻辑存储管理模块30之间具有数据连接,可以交互数据。
所述逻辑存储管理模块30,用于对区块链系统节点中产生或消除逻辑存储的过程以及数据存储过程进行管理。逻辑存储管理模块30通过数据连接,连接有逻辑存储模块40;所述逻辑存储模块40,用于存储区块链系统中的业务或交易数据。
基于所述区块链数据存储装置,本发明还提出了一种快速存储方法,参照图3,具体处理步骤包括:
S1区块链数据存储装置的初始化,并生成逻辑存储模块;
S101本发明所述区块链数据存储装置随着区块链系统的部署进行初始化,初始化主要完成以下内容:
在每个节点上划设确保区块10、认证模块20以及逻辑存储管理模块30正常运行的存储空间。所述划设存储空间的方式可以是等容量划分也可以是非等容量划分。这样可确保每个节点的存储空间能够得到最佳利用,既能保证自身正常运行,又能在局域应用场景中确保区块链系统的高效数据存储。
作为本发明的一个实施例,每个节点统一划设出1M的存储空间,用于本节点的区块10、认证模块20以及逻辑存储管理模块30的正常运行。
S102生成初始化逻辑存储模块;
经S101步骤的初始化处理后,记区块链系统有m个节点,m个节点的逻辑存储管理模块30从各自节点的物理存储中划设出独立的物理存储记为{D1,D2...,Dm},初始化时的逻辑存储模块40的分块同物理存储{D1,D2...,Dm}。
S2逻辑存储模块的动态管理;
逻辑存储管理模块30在系统运行过程中对逻辑存储模块40进行动态管理,管理采用业务繁忙的节点少参与存储、存储空间竞争开放的原则,具体处理过程如下:
记所述区块链系统中m个节点{N1,N2,...,Nm}对应的初始化逻辑存储为{D1,D2...,Dm},每个节点的逻辑存储管理模块30对本节点在一次存储周期中发起存储请求的次数进行统计,每当系统中发生一次业务数据或交易数据存储请求,所有节点的逻辑存储管理模块30都将本节点请求的业务数据或交易数据存储次数广播给所述区块链系统中其它的逻辑存储管理模块30,当前发起请求的节点的逻辑存储管理模块30按照本次存储周期中各节点请求的业务数据或交易数据存储次数由少到多进行排序得到顺序{N′1,N′2...N′m},取排名前δ(0<δ<1)的节点作为逻辑存储模块{D′1,D′2...D′c}其中c表示排名前δ的节点总数;当前发起请求的节点的逻辑存储管理模块30将选定的逻辑存储模块{D′1,D′2...D′c}广播给系统中其它逻辑存储管理模块30,所述区块链系统将{D′1,D′2...D′c}作为当前的节点业务数据的逻辑存储模块40,供业务数据或交易数据存储使用;然后进入下一存储周期的逻辑存储模块40的动态管理过程;存储周期是指从有节点发起业务数据或交易数据存储请求开始,到下一次有节点发起业务数据存储请求结束的时间段。这样对于业务波动性较大的区块链系统,也能够确保数据吞吐顺畅,极大改善系统的场景适应能力和响应能力。
作为本发明的一个实施例,对于区块链系统中有m个节点{N1,N2,...,Nm}的情况,根据S1步骤,初始化逻辑存储模块集合为{D1,D2...Dm};每个节点的逻辑存储管理模块30对本节点在一次存储周期中发起存储请求的次数进行统计,在本实施例中,节点i的逻辑存储管理模块30设置一个计数器Counti,Counti对当前存储周期节点i发起的业务数据存储请求次数进行统计,记m个节点{N1,N2,...,Nm}对应的统计次数为{T1,T2...Tm},按次数升序对节点排序后得到序列{N1′,N2′...N′m},取排名前60%(即δ=60%)的节点,得到与节点对应的逻辑存储模块{D1′,D2′...Dc′},即取c=60%×m(向上取整数)或60%×m(向下取整数),c为排名前60%的节点总数,则{D1′,D2′...Dc′}就是系统当前存储周期中参与存储的逻辑存储模块集合。确定当前参与存储的逻辑存储模块集合后,各节点的逻辑存储管理模块30中的计数器Counti清零,重新开始下一存储周期的计数。
S3业务数据的存储处理。
当节点j发起数据存储请求时,节点j的逻辑存储管理模块30根据S2步骤筛选出符合条件的逻辑存储模块40,构成存储所述节点j的业务或交易数据的预选存储模块集合{D1′,D2′...Dc′},并将所述符合条件的逻辑存储模块40的IP地址、数据地址以及逻辑存储模块40中的数据内容Hash值发送给认证模块20,认证模块20一方面根据接收到的逻辑存储模块40中的数据内容Hash值对所述预选存储模块集合的信息进行验证,并将通过验证的逻辑存储模块40的IP地址、数据地址以及数据内容的Hash值发送给区块10,区块10将接收到的数据存储模块40的IP地址、数据地址以及数据内容的Hash值保存到区块10中成为业务数据或交易数据存储地址的指针,并将所述业务数据或交易数据存储地址的指针信息广播到区块链系统中的所有节点的区块10中保存;另一方面将通过验证的逻辑存储模块40的信息发送给逻辑存储管理模块30,逻辑存储管理模块30将业务或交易数据保存到所有通过验证的逻辑存储模块{D1′,D2′...Dc′}中,令区块链系统中c个逻辑存储模块40中每个逻辑存储模块40都有一份节点j请求存储的业务数据,从而完成一次业务数据的存储。
采用了预选存储模块集合和认证模块20对预选存储模块进行验证两重机制,确保了数据在确保安全的前提下,存储到整个区块链系统中的优质节点、大大降低通信时延损耗。更重要的是在共同记账过程中,记录的是业务数据或交易数据存储地址的指针,极大增加区块链系统的存储效率。
S4业务数据的读取处理。
当区块链系统的节点w发起数据读取请求时,所请求读取的数据称为目标数据,节点w首先将目标数据读取请求广播到区块链系统所有的区块10,所有区块10查询自身业务数据或交易数据存储地址指针记录表,并将查询到的业务数据或交易数据存储地址指针记录经过共识机制判断后,得到目标数据的共识存储地址指针;所述节点w将共识存储地址指针发送给节点w的认证模块20,节点w的认证模块20接收到共识存储地址指针后,从历史记录中确认是否有所述共识存储地址指针的记录,若历史记录中没有查询到共识存储地址指针的记录,则视为认证未通过,本次数据读取请求流程终止;若认证通过,则将共识存储地址指针信息转发给所述逻辑存储管理模块30,所述逻辑存储管理模块30根据地址指针从所有通过认证的逻辑存储模块40中读取业务和交易信息数据,并将读取到的数据发送至所述认证模块20,所述认证模块20对接收到的数据进行共识判断,将共识结果数据发送给发起请求的节点w。共识过程中增加了共识存储地址指针经过共识后,还要再经认证模块20的认证,进一步增强数据安全性。
本发明所述的区块链数据存储装置及其快速存储方法的工作原理如下:
首先在区块链的每个节点中都划设一个存储空间,这样就得到一个物理上相互独立、逻辑上可共同管理和支配的逻辑存储空间。所述逻辑存储管理模块30按照本发明所述的快速存储方法将逻辑存储空间分为多个动态变化的逻辑存储模块40,并对逻辑存储模块40进行动态管理,每个节点中的逻辑存储模块30都会实时检测本节点到所有逻辑存储模块40的状态,以便将本节点中的区块相关的信息储存到符合条件的逻辑存储模块40中,或从符合条件的逻辑存储模块40中读取相关业务或交易数据。
当某一节点产生了新的业务或交易数据时,所述节点的逻辑存储管理模块30将按本发明所述的快速存储方法筛选出符合条件的逻辑存储模块40,构成存储所述节点的业务或交易数据的预选存储模块集合,并将所述符合条件的逻辑存储模块40的IP地址、数据地址以及逻辑存储模块40中的数据内容Hash值发送给认证模块20,认证模块20一方面根据本发明所述的快速存储方法对所述预选存储模块集合的信息进行验证,并将通过验证的逻辑存储模块40的IP地址、数据地址以及数据内容的Hash值发送给区块10,区块10将接收到的数据存储模块40的IP地址、数据地址以及数据内容的Hash值保存到区块中成为业务或交易数据存储地址的指针,并将所述业务或交易数据存储地址的指针信息广播到区块链系统中的所有区块10中保存;另一方面将通过验证的逻辑存储模块40的信息发送给逻辑存储管理模块30,逻辑存储管理模块30将业务或交易数据保存到所有通过验证的逻辑存储模块40中,这样便完成了一次数据存储。
当区块链系统的某一节点发起数据读取请求时,所述节点首先将数据读取请求广播到区块链系统所有的区块10,所有区块10经过共识机制判断后,得到目标数据的存储地址指针,所述共识机制判断为现有技术,在此不做过多阐述。所述发起数据读取请求的节点将共识存储地址指针发送给认证模块20,认证模块20接收到共识存储地址指针后,从历史记录中确认是否有所述共识存储地址指针的记录,认证后将共识存储地址指针信息转发给逻辑存储管理模块30,逻辑存储管理模块30根据地址从所有通过认证的逻辑存储模块40中读取业务和交易信息数据,并将读取到的数据发送至认证模块20,认证模块20对接收到的数据进行共识判断,将共识结果数据发送给发起请求的节点。
作为本发明的一个实施例,假设整个区块链系统共有n个节点,当区块链系统的节点A发起数据读取请求时,节点A先将数据读取请求广播到其它(n-1)个区块中,这样整个区块链系统中n个节点都得到了节点A需要读取业务数据的消息。所有节点都从自身的区块中找到目标业务数据的存储地址指针,然后进过共识机制判断,作为示例,本发明采用51%原则,即n个节点对目标业务数据的存储地址指针进行表决,当有超过51%×n个节点中的目标业务数据存储地址指针一致,则认为所述目标业务数据存储地址指针为最终的目标数据存储地址指针,记为Adr*。节点A将Adr*发送给节点A中的认证模块20,认证模块20首先从自身的历史记录中查找是否有Adr*的记录,若没有Adr*的记录,则本次数据读取请求被终止;若确认有Adr*的记录,则该记录通过认证,认证模块20将Adr*发送给逻辑存储管理模块30,逻辑存储管理模块30根据地址从所有通过认证的逻辑存储模块40中读取业务和交易信息数据,若通过认证的逻辑存储模块40的个数为m,则逻辑存储管理模块30就将读取到m个业务和交易信息数据,并将这m个数据发送至认证模块20,认证模块20对所述m个数据进行共识确认,作为示例,在此仍用51%原则,即当51%×m个数据一致,则认为取得一致的数据即为共识业务和交易信息数据,认证模块20将共识业务和交易信息数据发送给发起请求的节点,这样发起请求的节点便可获得所请求的数据。
综上,便实现了本发明所述的区块链数据存储装置及其快速存储方法,本发明所述的装置及方法能够在确保数据安全和可靠性的前提下,大大压缩传统区块链系统对于存储资源的占用,提高业务数据确认效率,进而大大提高时效性,推动区块链技术在局域网络或物联网络等非常态稳定的环境中得到广泛应用。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (2)
1.一种区块链数据存储装置的快速存储方法,其特征在于,其中区块链数据存储装置,包括:
区块(10),设置于区块链系统各节点中,所述区块(10)用于存储区块链信息数据以及业务数据或交易数据存储地址指针;
认证模块(20),与所述区块(10)通过数据连接方式连接;
逻辑存储管理模块(30),与所述认证模块(20)通过数据连接方式连接;逻辑存储模块(40),用于存储区块链系统中的业务数据或交易数据;
所述区块链系统中所有的逻辑存储管理模块(30)都能够通过数据连接方式与每个逻辑存储模块(40)交互数据;
其中,所述认证模块(20)用于验证所述逻辑存储模块(40)的信息,所述逻辑存储模块(40)由区块链系统各节点的存储空间中虚拟出来;
基于上述区块链数据存储装置的快速存储方法,包括以下步骤:
S1区块链数据存储装置的初始化,并生成逻辑存储模块(40),处理过程包括以下步骤:
S101所述区块链数据存储装置随着区块链系统的部署进行初始化,初始化主要包括:在每个节点上划设确保区块(10)、认证模块(20)以及逻辑存储管理模块(30)正常运行的存储空间;
S102生成初始化逻辑存储模块;
经步骤S101的初始化处理后,区块链系统中m个节点的逻辑存储管理模块(30)从各自节点的物理存储中划设出独立的物理存储记为{D1,D2...,Dm},初始化时的逻辑存储模块(40)的分块同物理存储{D1,D2...,Dm};
S2逻辑存储管理模块(30)在区块链系统运行过程中对逻辑存储模块(40)进行动态管理;步骤S2中所述逻辑存储管理模块(30)对逻辑存储模块(40)的动态管理采用业务繁忙的节点少参与存储、存储空间竞争开放的原则,具体处理过程包括以下步骤:
记所述区块链系统中m个节点{N1,N2,...,Nm}对应的初始化逻辑存储为{D1,D2,...,Dm},每个节点的逻辑存储管理模块(30)对本节点在一次存储周期中发起存储请求的次数进行统计,每当系统中发生一次业务数据或交易数据存储请求,所有节点的逻辑存储管理模块(30)都将本节点请求的业务数据或交易数据存储次数广播给所述区块链系统中其它的逻辑存储管理模块(30),当前发起请求的节点的逻辑存储管理模块(30)按照本次存储周期中各节点请求的业务数据或交易数据存储次数由少到多进行排序得到顺序{N′1,N′2,...,N′m},取排名前δ(0<δ<1)的节点作为逻辑存储模块{D′1,D′2,...,D′c}其中c表示排名前δ的节点总数;当前发起请求的节点的逻辑存储管理模块(30)将选定的逻辑存储模块{D′1,D′2,...,D′c}广播给系统中其它逻辑存储管理模块(30),所述区块链系统将{D′1,D′2,...,D′c}作为当前的节点业务数据的逻辑存储模块(40),供业务数据或交易数据存储使用;然后进入下一存储周期的逻辑存储模块(40)的动态管理过程;
所述存储周期是指从有节点发起业务数据或交易数据存储请求开始,到下一次有节点发起业务数据存储请求结束的时间段;
S3业务数据的存储处理,处理过程包括以下步骤:
当节点j发起数据存储请求时,节点j的逻辑存储管理模块(30)根据S2步骤筛选出符合条件的逻辑存储模块(40),构成存储所述节点j的业务或交易数据的预选存储模块集合{D′1,D′2,...,D′c},并将所述符合条件的逻辑存储模块(40)的IP地址、数据地址以及逻辑存储模块(40)中的数据内容Hash值发送给认证模块(20),认证模块(20)一方面根据接收到的逻辑存储模块40)中的数据内容Hash值对所述预选存储模块集合的信息进行验证,并将通过验证的逻辑存储模块(40)的IP地址、数据地址以及数据内容的Hash值发送给区块(10),区块(10)将接收到的数据存储模块(40)的IP地址、数据地址以及数据内容的Hash值保存到区块(10)中成为业务数据或交易数据存储地址的指针,并将所述业务数据或交易数据存储地址的指针信息广播到区块链系统中的所有节点的区块(10)中保存;另一方面将通过验证的逻辑存储模块(40)的信息发送给逻辑存储管理模块(30),逻辑存储管理模块(30)将业务或交易数据保存到所有通过验证的逻辑存储模块{D′1,D′2,...,D′c}中,令区块链系统中c个逻辑存储模块(40)中每个逻辑存储模块(40)都有一份节点j请求存储的业务数据,从而完成一次业务数据的存储;
S4业务数据的读取处理;
步骤S4的处理过程包括以下步骤:
当区块链系统的节点w发起数据读取请求时,所请求读取的数据称为目标数据,节点w首先将目标数据读取请求广播到区块链系统所有的区块(10),所有区块(10)查询自身业务数据或交易数据存储地址指针记录表,并将查询到的业务数据或交易数据存储地址指针记录经过共识机制判断后,得到目标数据的共识存储地址指针;所述节点w将共识存储地址指针发送给节点w的认证模块(20),节点w的认证模块(20)接收到共识存储地址指针后,从历史记录中确认是否有所述共识存储地址指针的记录,若历史记录中没有查询到共识存储地址指针的记录,则视为认证未通过,本次数据读取请求流程终止;若认证通过,则将共识存储地址指针信息转发给所述逻辑存储管理模块(30),所述逻辑存储管理模块(30)根据地址指针从所有通过认证的逻辑存储模块(40)中读取业务和交易信息数据,并将读取到的数据发送至所述认证模块(20),所述认证模块(20)对接收到的数据进行共识判断,将共识结果数据发送给发起请求的节点w;
所述区块(10)中存储的业务数据或交易数据存储地址指针包括:本区块相关业务数据或交易数据所在所述逻辑存储模块(40)中的IP地址、数据地址以及所述逻辑存储模块(40)的数据内容Hash值。
2.根据权利要求1所述的区块链数据存储装置的快速存储方法,其特征在于,所述逻辑存储管理模块(30)用于对区块链系统节点中产生或消除逻辑存储的过程以及数据存储过程进行管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010712925.4A CN111858599A (zh) | 2020-02-26 | 2020-02-26 | 一种区块链数据存储装置及其快速存储方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010712925.4A CN111858599A (zh) | 2020-02-26 | 2020-02-26 | 一种区块链数据存储装置及其快速存储方法 |
CN202010117951.2A CN110990413B (zh) | 2020-02-26 | 2020-02-26 | 一种区块链数据存储装置及其快速存储方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010117951.2A Division CN110990413B (zh) | 2020-02-26 | 2020-02-26 | 一种区块链数据存储装置及其快速存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111858599A true CN111858599A (zh) | 2020-10-30 |
Family
ID=70081415
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010117951.2A Active CN110990413B (zh) | 2020-02-26 | 2020-02-26 | 一种区块链数据存储装置及其快速存储方法 |
CN202010712925.4A Pending CN111858599A (zh) | 2020-02-26 | 2020-02-26 | 一种区块链数据存储装置及其快速存储方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010117951.2A Active CN110990413B (zh) | 2020-02-26 | 2020-02-26 | 一种区块链数据存储装置及其快速存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN110990413B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112904734A (zh) * | 2020-12-23 | 2021-06-04 | 上海上实龙创智能科技股份有限公司 | 一种物联网和区块链双网关的智能家电控制系统和方法 |
CN115237997A (zh) * | 2021-04-23 | 2022-10-25 | 华为技术有限公司 | 区块链数据管理方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10958417B2 (en) * | 2017-12-18 | 2021-03-23 | International Business Machines Corporation | Protecting sensitive data in a distributed ledger system using blockchain hierarchies |
CN108462568B (zh) * | 2018-02-11 | 2021-08-06 | 西安电子科技大学 | 一种基于区块链的安全文件存储和共享方法、云存储系统 |
CN110062034B (zh) * | 2019-04-01 | 2021-11-12 | 中科天御(苏州)科技有限公司 | 一种区块链大文件安全存储方法及系统 |
CN110365766A (zh) * | 2019-07-12 | 2019-10-22 | 全链通有限公司 | 基于区块链的云存储方法、设备及计算机可读存储介质 |
-
2020
- 2020-02-26 CN CN202010117951.2A patent/CN110990413B/zh active Active
- 2020-02-26 CN CN202010712925.4A patent/CN111858599A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN110990413B (zh) | 2020-08-18 |
CN110990413A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7743208B2 (en) | Storage apparatus and area allocation method | |
US5920703A (en) | Systems and methods for managing the processing of relatively large data objects in a communications stack | |
CN1093660C (zh) | 多媒体系统中高效传送数据流的系统方法和设备 | |
CN110990413B (zh) | 一种区块链数据存储装置及其快速存储方法 | |
CN102209087A (zh) | 在具有存储网络的数据中心进行MapReduce数据传输的方法和系统 | |
CN101588287B (zh) | 对等网络数据调度和下载的方法、装置和系统 | |
CN112346871A (zh) | 一种请求处理方法及微服务系统 | |
WO2021139571A1 (zh) | 存储系统中的数据存储方法、数据读取方法、装置及系统 | |
CN108206839A (zh) | 一种基于多数派数据存储方法、装置及系统 | |
CN113064553B (zh) | 数据存储方法、装置、设备及介质 | |
US20020112030A1 (en) | Guaranteed data access speed of a storage system | |
CN117370460A (zh) | 基于双链存储的区块链存储优化方法及装置 | |
CN110071966B (zh) | 基于云平台的区块链组网及数据处理方法 | |
CN112398934B (zh) | 基于区块链的信赖广播方法 | |
CN114461730A (zh) | 基于余数系统的自适应区块数据压缩方法 | |
CN116846888A (zh) | 区块链网络的共识处理方法、装置、设备及存储介质 | |
CN112104521A (zh) | 请求超时监控方法、装置、计算机设备和存储介质 | |
CN117376352B (zh) | 基于区块链的物联网系统 | |
CN115801787B (zh) | 路端数据传输方法、装置及电子设备、存储介质 | |
WO2024066974A1 (zh) | 基于区块链的数据处理方法、设备以及可读存储介质 | |
CN114244855B (zh) | 指纹文件的存储方法、装置、设备及可读存储介质 | |
CN113596182B (zh) | 一种分布式多端服务方法及装置 | |
RU2794969C1 (ru) | Способ, устройство и электронное устройство для обработки задач | |
Song et al. | Replica striping for multi-resolution video servers | |
CN116546033A (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 |