CN114064663A - 一种基于分布式索引的区块链存储方法及系统 - Google Patents
一种基于分布式索引的区块链存储方法及系统 Download PDFInfo
- Publication number
- CN114064663A CN114064663A CN202210045970.8A CN202210045970A CN114064663A CN 114064663 A CN114064663 A CN 114064663A CN 202210045970 A CN202210045970 A CN 202210045970A CN 114064663 A CN114064663 A CN 114064663A
- Authority
- CN
- China
- Prior art keywords
- node
- block chain
- index
- determining
- cluster
- 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.)
- Granted
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/2246—Trees, e.g. B+trees
-
- 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/23—Updating
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于分布式索引的区块链存储方法及系统,其方法包括:根据目标区块链的共识协议确定不可篡改的最小区块数和区块产生间隔,并根据其确定每轮分叉验证周期;在每轮分叉验证周期内,基于分簇算法将区块链上的多个节点动态划分为多个簇,并根据迪杰斯特拉算法在每个簇内的各个节点上建立路由索引;目标区块链中的每个节点根据其路由索引和哈希索引,读取或写入区块链中的数据。本发明通过分叉的产生和分簇算法,确定了区块链存储索引的更新时间和更新方式,再根据区块链中节点的不同角色分别建立分布式索引,从而提高了区块链的读写效率和索引的时效性。
Description
技术领域
本发明属于区块链存储技术领域,具体涉及一种基于分布式索引的区块链存储方法及系统。
背景技术
区块链本质上是一个由系统所有参与者共享的公共分布式账本。在区块链网络中,有成千上万的节点,每个节点都保存着整个网络全部的区块和交易数据。节点一旦加入到网络中,就会不断地接收和验证区块,不断地消耗算力资源和存储资源。
有研究对当前区块链发展的现状,提出了目前区块链发展的四个瓶颈,分别是存储空间不足、交易处理慢、带宽限制和无尽账本问题。而这四个瓶颈也理解为CAP定理在区块链中的表现,即无法找到同时解决上述问题的方法。
现有区块链的存储系统主要有元文件和KV(Key-Value)数据库组成,其中尤其以levelDB应用最为广泛。而levelDB是非关系数据库,因而无法有效处理复杂的数据之间的关系操作,即导致数据的读取速度和时效性无法满足区块链的分布式账本规模的日益增长的需求。
发明内容
为提高区块链的存储系统读写效率和索引的时效性的问题,缓解无尽账本的问题,在本发明的第一方面提供了一种基于分布式索引的区块链存储方法,包括:根据目标区块链的共识协议确定不可篡改的最小区块数和区块产生间隔,并根据其确定每轮分叉验证周期;在每轮分叉验证周期内,基于分簇算法将区块链上的多个节点动态划分为多个簇,并根据迪杰斯特拉算法在每个簇内的各个节点上建立路由索引;目标区块链中的每个节点根据其路由索引和哈希索引,读取或写入区块链中的数据。
在本发明的一些实施例中,所述在每轮分叉验证周期内,基于分簇算法将区块链上的多个节点动态划分为多个簇包括:根据前一轮分叉验证周期中节点交易频次、类型和网络距离,确定每个簇的簇首节点;每个簇的簇首节点根据分簇算法确定该簇的普通节点。
进一步的,所述根据迪杰斯特拉算法在每个簇内的各个节点上建立路由索引包括:基于希尔伯特R树,每个簇首节点建立目标区块链所有簇首节点的路由索引;根据迪杰斯特拉算法,建立每个普通节点到达其簇的其余节点的路由索引。
在本发明的一些实施例中,所述基于希尔伯特R树,每个簇首节点建立目标区块链所有簇首节点的路由索引包括:在每个簇首节点的内存中构建目标区块链所有簇首节点的路由索引,将簇首节点的更新数据插入到内存中;当更新数据超过阈值时,将更新数据写入到簇首节点的磁盘中。
在本发明的一些实施例中,所述目标区块链中的每个节点根据其路由索引和哈希索引,读取或写入区块链中的数据包括:目标区块链中的每个节点根据其存储的账本信息中的哈希索引,确定读取或写入的一个或多个关联节点;根据每个节点的路由索引确定所述每个关联节点的历经的所有簇首节点。
在上述的实施例中,所述根据目标区块链的共识协议确定不可篡改的最小区块数和区块产生间隔,并根据其确定每轮分叉验证周期包括:根据目标区块链的共识协议确定不可篡改的最小区块数和区块平均产生间隔确定区块的最小验证时间;根据所述区块的最小验证时间,以及目标区块链的共识协议产生分叉的最小区块数,确定每轮分叉验证周期。
本发明的第二方面,提供了一种基于分布式索引的区块链存储系统,包括:确定模块,用于根据目标区块链的共识协议确定不可篡改的最小区块数和区块产生间隔,并根据其确定每轮分叉验证周期;建立模块,用于在每轮分叉验证周期内,基于分簇算法将区块链上的多个节点动态划分为多个簇,并根据迪杰斯特拉算法在每个簇内的各个节点上建立路由索引;读写模块,用于目标区块链中的每个节点根据其路由索引和哈希索引,读取或写入区块链中的数据。
进一步的,所述建立模块包括第一确定单元和第二确定单元,所述第一确定单元,用于根据前一轮分叉验证周期中节点交易频次、类型和网络距离,确定每个簇的簇首节点;所述第二确定单元,用于每个簇的簇首节点根据分簇算法确定该簇的普通节点。
本发明的第三方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明在第一方面提供的基于分布式索引的区块链存储方法。
本发明的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现本发明在第一方面提供的基于分布式索引的区块链存储方法。
本发明的有益效果是:
1.本发明通过分叉的产生和分簇算法,确定了区块链存储索引的更新时间和更新方式,保证了路由索引的实效性,也减少了索引的存储空间;
2.根据区块链中节点的不同角色分别建立分布式索引,从而提高了区块链的读写效率和索引的时效性;
3.由于簇首节点采用基于希尔伯特R树构建路由索引,普通节点采用迪杰斯特拉算法从而加快节点之间的访问速度。
附图说明
图1为本发明的一些实施例中的基于分布式索引的区块链存储方法的基本流程示意图;
图2为本发明的一些实施例中的基于分布式索引的区块链存储方法法的具体流程示意图;
图3为本发明的一些实施例中的簇首节点通过希尔伯特R树的建立路由索引的过程示意图;
图4为本发明的一些实施例中的节点通过路由索引和哈希索引读写区块链中的数据原理示意图;
图5为本发明的一些实施例中的基于分布式索引的区块链存储系统的结构示意图;
图6为本发明的一些实施例中的电子设备的结构示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
参考图1,在本发明的第一方面,提供了一种基于分布式索引的区块链存储方法,包括:S100.根据目标区块链的共识协议确定不可篡改的最小区块数和区块产生间隔,并根据其确定每轮分叉验证周期;S200.在每轮分叉验证周期内,基于分簇算法将区块链上的多个节点动态划分为多个簇,并根据迪杰斯特拉算法在每个簇内的各个节点上建立路由索引;S300.目标区块链中的每个节点根据其路由索引和哈希索引,读取或写入区块链中的数据。
为了提高区块链的读写速度,需要在不同的节点上建立索引,而索引的建立也会给区块链上的每个节点引入新的存储需求和通信需求,即对区块链的节点索引提出了实时性、动态更新和分布式的要求。有鉴于此,在本发明的一些实施例的步骤S200中,所述在每轮分叉验证周期内,基于分簇算法将区块链上的多个节点动态划分为多个簇包括:S201.根据前一轮分叉验证周期中节点交易频次、类型和网络距离,确定每个簇的簇首节点;S202.每个簇的簇首节点根据分簇算法确定该簇的普通节点。
参考图2,具体地,在步骤S201中,区块链上的每个节点所承担的角色不同,分为轻节点和全节点,轻节点(普通节点)只需要存储区块头(Block Header),而不存储全量的交易列表等信息,而全节点则存储全量的交易列表。从前一轮分叉验证周期中获取交易频次最高、连接节点数最多、平均跳数最低的前N个节点,作为簇首。另一方面,也可根据上述交易频次、类型和网络距离,利用KNN算法对上述数据进行聚类,确定M个中心,按照正态分布的3西格玛或帕累托原则,将离每个中心距离最近的i个节点作为簇首。
分簇算法是由Wireless Sensor Network(WSN无线传感网)发展或演变而来,其分簇的依据是网络传播过程中的能量损失;而在区块链的读写过程中,数据经网络传输过程中的能量损失可理解为误码率或传播时延,固定网络的误码率低,因此将传播时延作为分簇的依据。因此在步骤S201中,分簇算法包括LEACH算法、PEGASIS算法和TEEN算法。
具体地,包括:S2021.簇首节点向周围节点广播自己是簇头的消息I;S2022.网络中其他节点接收到发布消息I,就回复请求成为该簇成员的请求消息R;S2023.各个簇头节点对接收到的请求消息R回复确认消息S,并根据收到的请求消息数量得到当前该簇内成员的数量,一旦数量达到阈值m,就回复满员消息H;S2024.普通节点如果收到确认消息S就将自己进行簇标记C,如果收到满员消息H就放弃一个簇请求。该节点回复另外一个簇头节点的发布消息,重新进行簇请求;S2025.一直持续下去,直到全网所有节点都有了簇标记C;S2026.当全网稳定运行一段时间后,网络重新进入初始化阶段,节点重新进行下一轮簇的划分,如此不断循环;S2027.当一个新节点要加入到网络时,根据其邻居节点的多数的所属簇,就决定自己加入到哪个簇中。
参考图4,进一步的,所述根据迪杰斯特拉算法在每个簇内的各个节点上建立路由索引包括:S203.基于希尔伯特R树,每个簇首节点建立目标区块链所有簇首节点的路由索引;S204.根据迪杰斯特拉算法,建立每个普通节点到达其簇的其余节点的路由索引。
参考图3,在本发明的一些实施例的步骤S203中,所述基于希尔伯特R树,每个簇首节点建立目标区块链所有簇首节点的路由索引包括:S2031.在每个簇首节点的内存中构建目标区块链所有簇首节点的路由索引,将簇首节点的更新数据插入到内存中;S2032.当更新数据超过阈值时,将更新数据写入到簇首节点的磁盘中。
示意性地,图中的每个三角形代表希尔伯特R树,其自上而下的不同形状代表希尔伯特R树随时间和大小变化,分成不层级(C1-Cn)。在外存索引中,主要面向的是查询任务,静态希尔伯特R树可以提供更高效的空间查询效率和更大的空间使用率,对C1层希尔伯特R树采用静态希尔伯特R 树的构建方式,实现节点的全充满。当内存中空间数据量达到限制后,需要将空间数据存放在磁盘中。根据希尔伯特R树的特点,数据在插入时按照希尔伯特值进行排序,因此空间数据在希尔伯特树中的存放是已基于希尔伯特值排序的。在序列化内存空间数据时,根据其排序方式,将内存中的动态希尔伯特 R 树重新构造静态希尔伯特R树,并持久化在磁盘的C1中。
参考图4,在本发明的一些实施例的步骤S300中,所述目标区块链中的每个节点根据其路由索引和哈希索引,读取或写入区块链中的数据包括:S301.目标区块链中的每个节点根据其存储的账本信息中的哈希索引,确定读取或写入的一个或多个关联节点;S302.根据每个节点的路由索引确定所述每个关联节点的历经的所有簇首节点。
可以理解,通过上述簇首节点和普通节点的不同索引方式在降低存储需求的同时,使得索引具备实时性、动态更新和分布式,从而在缓解了无尽账本的同时,提高了区块链的读写效率。
示意性地,图4示出了节点根据路由索引和哈希索引,读取或写入区块链中的数据的一般步骤,其中虚线代表路由索引记载的普通节点到簇首节点的路由;实线代表存在于每个区块体上的哈希索引(参考图2)或由希尔伯特R树得出的簇首节点到邻近的簇首节点传输路径。
在上述的实施例中,所述根据目标区块链的共识协议确定不可篡改的最小区块数和区块产生间隔,并根据其确定每轮分叉验证周期包括:根据目标区块链的共识协议确定不可篡改的最小区块数和区块平均产生间隔确定区块的最小验证时间;根据所述区块的最小验证时间,以及目标区块链的共识协议产生分叉的最小区块数,确定每轮分叉验证周期。
具体地,共识协议通常包括POS(Proof of Stake,股权证明)、POW(Proof ofWork,工作量证明)、DPOS(Delegated Proof of Stake,授权股权证明)、PBFT(PracticalByzantine Fault Tolerance,实用拜占庭容错算法)、POI(Proof of Importance,重要性证明)或POP(Proof of Participation,参与度证明)等。区块链系统的共识机制规定,为了保持全局一致性,系统最终只会承认最长链上的交易,其他分支 链上用于存储交易信息的区块成为系统弃块,不再具有意义。在区块链实际运行过程中,一个区块接有6个区块之后,认为该区块达到稳定状态,也即是不可篡改状态。
在目前的比特币交易系统中,6个区块之后交易被认为不篡改,平均10min生成一个区块,那么交易被最终确认的时间大约为60min。区块链在平均60个区块出现一次分支情况,系统确认60个区块,考虑分叉的产生系统中将会有至少1个至多59个分支区块,这些区块全部视为被淘汰的孤块。
实施例2
参考图5,本发明的第二方面,提供了一种基于分布式索引的区块链存储系统1,包括:确定模块11,用于根据目标区块链的共识协议确定不可篡改的最小区块数和区块产生间隔,并根据其确定每轮分叉验证周期;建立模块12,用于在每轮分叉验证周期内,基于分簇算法将区块链上的多个节点动态划分为多个簇,并根据迪杰斯特拉算法在每个簇内的各个节点上建立路由索引;读写模块13,用于目标区块链中的每个节点根据其路由索引和哈希索引,读取或写入区块链中的数据。
进一步的,所述建立模块12包括第一确定单元和第二确定单元,所述第一确定单元,用于根据前一轮分叉验证周期中节点交易频次、类型和网络距离,确定每个簇的簇首节点;所述第二确定单元,用于每个簇的簇首节点根据分簇算法确定该簇的普通节点。
实施例3
参考图6,本发明的第三方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明在第一方面的方法。
电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图6中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本公开的实施例的方法中限定的上述功能。需要说明的是,本公开的实施例所描述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个计算机程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++、Python,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于分布式索引的区块链存储方法,其特征在于,包括:
根据目标区块链的共识协议确定不可篡改的最小区块数和区块产生间隔,并根据其确定每轮分叉验证周期;
在每轮分叉验证周期内,基于分簇算法将区块链上的多个节点动态划分为多个簇,并根据迪杰斯特拉算法在每个簇内的各个节点上建立路由索引;
目标区块链中的每个节点根据其路由索引和哈希索引,读取或写入区块链中的数据。
2.根据权利要求1所述的基于并行分布式索引的区块链存储方法,其特征在于,所述在每轮分叉验证周期内,基于分簇算法将区块链上的多个节点动态划分为多个簇包括:
根据前一轮分叉验证周期中节点交易频次、类型和网络距离,确定每个簇的簇首节点;
每个簇的簇首节点根据分簇算法确定该簇的普通节点。
3.根据权利要求2所述的基于并行分布式索引的区块链存储方法,其特征在于,所述根据迪杰斯特拉算法在每个簇内的各个节点上建立路由索引包括:
基于希尔伯特R树,每个簇首节点建立目标区块链所有簇首节点的路由索引;
根据迪杰斯特拉算法,建立每个普通节点到达其簇的其余节点的路由索引。
4.根据权利要求1所述的基于并行分布式索引的区块链存储方法,其特征在于,所述基于希尔伯特R树,每个簇首节点建立目标区块链所有簇首节点的路由索引包括:
在每个簇首节点的内存中构建目标区块链所有簇首节点的路由索引,将簇首节点的更新数据插入到内存中;
当更新数据超过阈值时,将更新数据写入到簇首节点的磁盘中。
5.根据权利要求1所述的基于并行分布式索引的区块链存储方法,其特征在于,所述目标区块链中的每个节点根据其路由索引和哈希索引,读取或写入区块链中的数据包括:
目标区块链中的每个节点根据其存储的账本信息中的哈希索引,确定读取或写入的一个或多个关联节点;
根据每个节点的路由索引确定所述每个关联节点的历经的所有簇首节点。
6.根据权利要求1至5任一项所述的基于并行分布式索引的区块链存储方法,其特征在于,所述根据目标区块链的共识协议确定不可篡改的最小区块数和区块产生间隔,并根据其确定每轮分叉验证周期包括:
根据目标区块链的共识协议确定不可篡改的最小区块数和区块平均产生间隔确定区块的最小验证时间;
根据所述区块的最小验证时间,以及目标区块链的共识协议产生分叉的最小区块数,确定每轮分叉验证周期。
7.一种基于分布式索引的区块链存储系统,其特征在于,包括:
确定模块,用于根据目标区块链的共识协议确定不可篡改的最小区块数和区块产生间隔,并根据其确定每轮分叉验证周期;
建立模块,用于在每轮分叉验证周期内,基于分簇算法将区块链上的多个节点动态划分为多个簇,并根据迪杰斯特拉算法在每个簇内的各个节点上建立路由索引;
读写模块,用于目标区块链中的每个节点根据其路由索引和哈希索引,读取或写入区块链中的数据。
8.根据权利要求7所述的基于分布式索引的区块链存储系统,其特征在于,所述建立模块包括第一确定单元和第二确定单元,
所述第一确定单元,用于根据前一轮分叉验证周期中节点交易频次、类型和网络距离,确定每个簇的簇首节点;
所述第二确定单元,用于每个簇的簇首节点根据分簇算法确定该簇的普通节点。
9.一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至6任一项所述的基于分布式索引的区块链存储方法。
10.一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的基于分布式索引的区块链存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210045970.8A CN114064663B (zh) | 2022-01-17 | 2022-01-17 | 一种基于分布式索引的区块链存储方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210045970.8A CN114064663B (zh) | 2022-01-17 | 2022-01-17 | 一种基于分布式索引的区块链存储方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114064663A true CN114064663A (zh) | 2022-02-18 |
CN114064663B CN114064663B (zh) | 2022-04-19 |
Family
ID=80230913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210045970.8A Active CN114064663B (zh) | 2022-01-17 | 2022-01-17 | 一种基于分布式索引的区块链存储方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114064663B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117687578A (zh) * | 2024-02-01 | 2024-03-12 | 南京信息工程大学 | 区块链中基于动态分簇的区块协同存储方法、介质及设备 |
CN118394282A (zh) * | 2024-06-27 | 2024-07-26 | 之江实验室 | 一种数据存储方法、装置、存储介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180315145A1 (en) * | 2017-05-01 | 2018-11-01 | International Business Machines Corporation | Managing school systems on a blockchain |
US20190042620A1 (en) * | 2017-08-01 | 2019-02-07 | International Business Machines Corporation | Optimizing queries and other retrieve operations in a blockchain |
CN111770017A (zh) * | 2020-06-22 | 2020-10-13 | 国网冀北电力有限公司电力科学研究院 | 基于可信区块链的配电物联网分簇管理系统及方法 |
CN112235379A (zh) * | 2020-09-30 | 2021-01-15 | 电子科技大学 | 一种区块链底层共享存储方法 |
CN112488734A (zh) * | 2020-12-07 | 2021-03-12 | 崔艳兰 | 一种基于区块链的食品药品溯源方法及系统 |
-
2022
- 2022-01-17 CN CN202210045970.8A patent/CN114064663B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180315145A1 (en) * | 2017-05-01 | 2018-11-01 | International Business Machines Corporation | Managing school systems on a blockchain |
US20190042620A1 (en) * | 2017-08-01 | 2019-02-07 | International Business Machines Corporation | Optimizing queries and other retrieve operations in a blockchain |
CN111770017A (zh) * | 2020-06-22 | 2020-10-13 | 国网冀北电力有限公司电力科学研究院 | 基于可信区块链的配电物联网分簇管理系统及方法 |
CN112235379A (zh) * | 2020-09-30 | 2021-01-15 | 电子科技大学 | 一种区块链底层共享存储方法 |
CN112488734A (zh) * | 2020-12-07 | 2021-03-12 | 崔艳兰 | 一种基于区块链的食品药品溯源方法及系统 |
Non-Patent Citations (3)
Title |
---|
于雷等: "区块链全局账本数据的拆分技术研究", 《高技术通讯》 * |
尚新等: "一种基于层次化聚类学习的区块链共识方法", 《信息技术与信息化》 * |
王锡亮等: "区块链综述:技术与挑战", 《无线电通信技术》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117687578A (zh) * | 2024-02-01 | 2024-03-12 | 南京信息工程大学 | 区块链中基于动态分簇的区块协同存储方法、介质及设备 |
CN117687578B (zh) * | 2024-02-01 | 2024-04-16 | 南京信息工程大学 | 区块链中基于动态分簇的区块协同存储方法、介质及设备 |
CN118394282A (zh) * | 2024-06-27 | 2024-07-26 | 之江实验室 | 一种数据存储方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114064663B (zh) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114064663B (zh) | 一种基于分布式索引的区块链存储方法及系统 | |
JP7422856B2 (ja) | ノードデータ同期方法及び装置、システム、電子機器、記憶媒体並びにコンピュータプログラム | |
CN113114790B (zh) | 一种基于区块链与边缘计算的负载均衡方法与系统 | |
CN112236760B (zh) | 一种图数据的更新方法、系统、计算机可读存储介质及设备 | |
CN109886693B (zh) | 区块链系统的共识实现方法、装置、设备和介质 | |
EP3771993B1 (en) | Machine learning systems and methods for data placement in distributed storage | |
CN114675964A (zh) | 基于联邦决策树模型训练的分布式调度方法、系统及介质 | |
CN111597035B (zh) | 基于多线程的仿真引擎时间推进方法及系统 | |
CN110673959A (zh) | 用于处理任务的系统、方法和装置 | |
CN109298948A (zh) | 分布式计算方法和系统 | |
CN111464352A (zh) | 调用链路数据处理方法及装置 | |
Safa'a et al. | iFogRep: An intelligent consistent approach for replication and placement of IoT based on fog computing | |
CN107992358A (zh) | 一种适用于核外图处理系统的异步io执行方法及系统 | |
CN116433388A (zh) | 数据存储资源划分方法、装置、电子设备和计算机介质 | |
WO2023098698A1 (zh) | 物流配送网络的确定方法、装置、终端设备及存储介质 | |
CN115879543A (zh) | 一种模型训练方法、装置、设备、介质及系统 | |
CN111241052A (zh) | 一种基于凸优化方法的分布式文件系统数据放置方法 | |
CN103780426A (zh) | 云存储数据的一致性维护方法及云存储系统 | |
CN114564292A (zh) | 一种数据的分布式网格化处理方法、装置、设备及介质 | |
CN110543362B (zh) | 一种图形处理器管理方法、装置及服务器 | |
CN115879562A (zh) | 一种量子程序初始映射的确定方法、装置及量子计算机 | |
CN115470377B (zh) | 流式图数据处理方法及系统 | |
KR20190143115A (ko) | 블록체인 기반 데이터 관리 방법 | |
Tran et al. | Analysis of Job Completion Time in Vehicular Cloud Under Concurrent Task Execution | |
CN113791908B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |