CN111611319A - 分布式数据存储方法、设备和存储介质 - Google Patents

分布式数据存储方法、设备和存储介质 Download PDF

Info

Publication number
CN111611319A
CN111611319A CN202010511010.7A CN202010511010A CN111611319A CN 111611319 A CN111611319 A CN 111611319A CN 202010511010 A CN202010511010 A CN 202010511010A CN 111611319 A CN111611319 A CN 111611319A
Authority
CN
China
Prior art keywords
data
nodes
node
stored
data set
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
Application number
CN202010511010.7A
Other languages
English (en)
Inventor
袁新强
王志文
吴思进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Fuzamei Technology Co Ltd
Original Assignee
Hangzhou Fuzamei Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Fuzamei Technology Co Ltd filed Critical Hangzhou Fuzamei Technology Co Ltd
Priority to CN202010511010.7A priority Critical patent/CN111611319A/zh
Publication of CN111611319A publication Critical patent/CN111611319A/zh
Priority to PCT/CN2020/138887 priority patent/WO2021248876A1/zh
Priority to EP20929671.4A priority patent/EP3951612A4/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1076Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种分布式数据存储方法、设备和存储介质,该方法包括:根据待存储的第一数量个连续区块生成第一数据;计算当前节点的节点ID与第一数据之间的第一距离,并分别计算所持有的路由表中的各节点的节点ID与第一数据之间的各第二距离;判断是否存在任一第二距离小于第一距离:否,则根据待存储的第一数量个连续区块生成第一归档数据,并存储第一归档数据;以及,根据第一数据、第一归档数据生成第一数据集合;以及,根据预配置的节点选取方法从所持有的路由表中选取第二数量个节点,并向所选取的各节点发送第一数据集合以供根据第一数据集合存储第一归档数据。本申请保证分布式存储的区块数据不会丢失。

Description

分布式数据存储方法、设备和存储介质
技术领域
本申请涉及分布式存储和区块链技术领域,具体涉及一种分布式数据存储方法、设备和存储介质。
背景技术
在现有技术中,假设每个节点都存有block(1)~block(10999),回滚深度为10000;在当前节点生成block(11000)时,向其它区块链节点广播block(11000),具体的广播、共识机制在此不做赘述;当block(11000)执行成功时即认为block(1)~block(1000)不会被改变了;当前节点根据block(1)~block(1000)计算第一数据chunkhash,节点与chunkhash的距离的计算方法为:xor(节点id,chunkhash);当前节点通过迭代查询的方式最终找到D1为全局最近节点(即xor(节点id(D1),chunkhash)最小),当前节点向D1发送数据集合{chunkhash、chunk},chunk为block(1)~block(1000)的归档数据(归档数据可以为block(1)~block(1000)本身,也可以配置为block(1)~block(1000)的对称加密数据、block(1)~block(1000)的压缩数据等可以还原出block(1)~block(1000)的数据,也可以配置为区块高度区间[1,1000]),D1收到数据集合时,在本地P2P模块存储chunk(当归档数据为区块高度区间[1,1000],D1根据[1,1000]生成chunk,在本地P2P模块存储所生成的chunk);在一段时间后,区块链中所有节点的blockchain模块都会删除block(1)~block(1000);
在上述机制中,当前节点寻找D1的过程需要经过较长时间,若在此期间当前节点宕机,则可能造成D1没有收到chunkhash,D1就不会在P2P模块额外打包一份block(1)~block(1000),在一段时间后,区块链中所有节点的blockchain模块都会删除block(1)~block(1000),整个区块链网络中没有地方可以查询到block(1)~block(1000)的区块数据。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种不会丢失区块数据的分布式数据存储方法、设备和存储介质。
第一方面,本发明提供一种适用于区块链节点的分布式数据存储方法,上述方法包括:
根据待存储的第一数量个连续区块生成第一数据;
计算当前节点的节点ID与第一数据之间的第一距离,并分别计算所持有的路由表中的各节点的节点ID与第一数据之间的各第二距离;
判断是否存在任一第二距离小于第一距离:
否,则根据待存储的第一数量个连续区块生成第一归档数据,并存储第一归档数据;以及,
根据第一数据、第一归档数据生成第一数据集合;以及,
根据预配置的节点选取方法从所持有的路由表中选取第二数量个节点,并向所选取的各节点发送第一数据集合以供根据第一数据集合存储第一归档数据。
第二方面,本发明提供一种适用于区块链节点的分布式数据存储方法,上述方法包括:
接收第一区块链节点发送的第一数据集合;
根据第一数据集合存储第一归档数据。
第三方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的分布式数据存储方法。
第四方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的分布式数据存储方法。
本发明诸多实施例提供的分布式数据存储方法、设备和存储介质通过根据待存储的第一数量个连续区块生成第一数据;计算当前节点的节点ID与第一数据之间的第一距离,并分别计算所持有的路由表中的各节点的节点ID与第一数据之间的各第二距离;判断是否存在任一第二距离小于第一距离:否,则根据待存储的第一数量个连续区块生成第一归档数据,并存储第一归档数据;以及,根据第一数据、第一归档数据生成第一数据集合;以及,根据预配置的节点选取方法从所持有的路由表中选取第二数量个节点,并向所选取的各节点发送第一数据集合以供根据第一数据集合存储第一归档数据的方法,保证区块数据被分布式存储。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种分布式数据存储方法的流程图。
图2为图1所示方法的一种优选实施方式的流程图。
图3为本发明一实施例提供的另一种分布式数据存储方法的流程图。
图4为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的一种分布式数据存储方法的流程图。如图1所示,在本实施例中,本发明提供一种适用于区块链节点的分布式数据存储方法,上述方法包括:
S12:根据待存储的第一数量个连续区块生成第一数据;
S14:计算当前节点的节点ID与第一数据之间的第一距离,并分别计算所持有的路由表中的各节点的节点ID与第一数据之间的各第二距离;
S162:判断是否存在任一第二距离小于第一距离:
否,则执行步骤S164:根据待存储的第一数量个连续区块生成第一归档数据,并存储第一归档数据;以及,
S166:根据所述第一数据、所述第一归档数据生成第一数据集合;以及,
S168:根据预配置的节点选取方法从所持有的路由表中选取第二数量个节点,并向所选取的各节点发送第一数据集合以供根据第一数据集合存储第一归档数据。
具体地,以将“根据预配置的节点选取方法从所持有的路由表中选取第二数量个节点”配置为“根据第二距离从小到大的顺序从所持有的路由表中选取第二数量个节点”;将“根据待存储的第一数量个连续区块生成第一数据”配置为“根据待存储的第一数量个连续区块的区块哈希生成第一数据”;第一数量为1000,第二数量为10;第一数据集合包括第一数据和待存储的第一数量个连续区块;生成的归档数据为第一数量个连续区块本身为例;假设待存储的第一数量个连续区块为block(1)~block(1000);节点N0、M0、P0、Q0为第一距离不小于任一第二距离的节点;
假设当前节点为节点N0:
N0执行步骤S12,根据blockhash(1)~blockhash(1000)生成第一数据chunkhash;
N0执行步骤S14,计算当前节点的节点ID与第一数据之间的第一距离,并分别计算所持有的路由表中的各节点的节点ID与第一数据之间的各第二距离;
N0执行步骤S162,判断是否存在任一第二距离小于第一距离:
由于第一距离不小于任一第二距离,则执行步骤S164,根据待存储的block(1)~block(1000)生成归档数据chunk,在本地P2P模块存储chunk;以及,
N0执行步骤S166,根据chunkhash生成第一数据集合{chunkhash,chunk};以及,
N0执行步骤S168,根据第二距离从小到大的顺序从所持有的路由表中选取10个节点(假设为N1~N10),并向N1~N10发送{chunkhash,chunk)};
N1~N10根据{chunkhash,chunk}在本地P2P模块存储chunk。
同理,M0、P0、Q0执行步骤S12-S168,假设M0所选取的10个节点为M1~M10;P0所选取的10个节点为P1~P10;Q0所选取的10个节点为Q1~Q10;则在区块链网络中,在本地P2P模块存储有chunk的节点为:N0~N10、M0~M10、P0~P10、Q0~Q10。
在一段时间(假设为12h)后,区块链网络中的所有节点将删除blockchain模块中的block(1)~block(1000),即最终区块链网络中只有N0~N10、M0~M10、P0~P10、Q0~Q10的本地P2P模块存储有block(1)~block(1000)。
用户的用户端或其它区块链节点可以从N0~N10、M0~M10、P0~P10、Q0~Q10处获取chunk,在获取到chunk后,在本地的blockchain模块还原出block(1)~block(1000)以获得block(1)~block(1000)的区块数据。
在更多实施例中,“根据预配置的节点选取方法从所持有的路由表中选取第二数量个节点”还可以根据实际需求进行配置,例如配置为:根据物理距离从小到大的的顺序从所持有的路由表中选取第二数量个节点;可实现相同的技术效果。
在更多实施例中,“根据待存储的第一数量个连续区块生成第一数据”还可以根据实际需求进行配置,例如配置为:根据待存储的第一数量个连续区块的区块父哈希生成第一数据;可实现相同的技术效果。
在更多实施例中,第一数量,第二数量均可根据实际需求进行配置,可实现相同的技术效果。
在更多实施例中,第一归档数据还可以根据实际需求进行配置,例如配置为:block(1)~block(1000)的压缩数据,可实现相同的技术效果。
上述实施例不会丢失区块数据。
优选地,根据预配置的节点选取方法从所持有的路由表中选取第二数量个节点包括:
根据第二距离从小到大的顺序从所持有的路由表中选取第二数量个节点。
上述实施例的分布式数据存储原理可参考图1所示的方法,此处不再赘述。
优选地,根据待存储的第一数量个连续区块生成第一数据包括:
根据待存储的第一数量个连续区块的区块哈希生成第一数据。
上述实施例的分布式数据存储原理可参考图1所示的方法,此处不再赘述。
优选地,待存储的第一数量个连续区块由当前区块高度和区块回滚深度决定。
图2为图1所示方法的一种优选实施方式的流程图。如图2所示,在一优选实施例中,区块链网络为kad网络,所存储的第一归档数据配置有过期时刻,上述方法还包括:
S17:接收其它区块链节点发送的第二数据集合;其中,第二数据集合为其它区块链节点根据第二数据、第一归档数据所生成,第二数据为其它区块链节点根据所存储的第一归档数据所生成;
S18:根据接收第二数据集合的时刻更新过期时刻;
S191:判断当前时刻是否为预配置的时刻:
是,则执行步骤S192:检查当前时刻是否超过过期时刻:
是,则执行步骤S1921:删除所存储的第一归档数据;
否,则执行步骤S1922:返回根据预配置的节点选取方法从所持有的路由表中选取第二数量个节点。
在现有的kad网络中配置有动态平衡策略,具体为:全局最优节点(假设为图1所示实施例中的N0)向N1~N10发送第一数据集合{chunkhash,chunk},N1~N10在本地P2P模块存储chunk;以当前节点为N1为例,假设N1收到{chunkhash,chunk}时为2020年5月1日的2:00:00;N1将chunk的过期时刻更新为2020年5月2日的2:00:00;假设预配置的时刻为收到{chunkhash,chunk}时的每隔10小时,在5月1日的2:00:00至5月2日的07:59:59,N1一直未收到其它区块链节点广播的{chunkhash,chunk};N1在5月2日的08:00:00,检测到当前时刻已超过更新的过期时刻,则删除所存储的chunk;假设N1在5月2日的4:00:00又接收到{chunkhash,chunk},N1将过期时刻更新为5月3日的4:00:00;由于kad网络中的k桶机制,N0~N10都大概率在彼此所持有的路由表中,N1将{chunkhash,chunk}发送给N0、N2~N10,以供更新所存储的chunk的过期时刻。
由于节点存在宕机的可能,在极端情况下,N0~N10全部宕机,则区块链网络中也会失去blockhash(1)~blockhash(1000);配置动态平衡策略在于,假设N1突然宕机,N0也会从所持有的路由表中选出10个第二距离最小的节点发送第一数据集合,使得区块链网络中一定有11个节点持有chunk以供还原出blockhash(1)~blockhash(1000)。
本申请的区块链网络为kad网络,配置有同样的动态平衡策略,步骤如S17~S1922,此处不再赘述。
上述实施例减少了区块链网络中分布式数据的备份数量。
图3为本发明一实施例提供的另一种分布式数据存储方法的流程图。如图3所示,在本实施例中,本发明提供一种适用于区块链节点的分布式数据存储方法,上述方法包括:
S22:接收第一区块链节点发送的第一数据集合;其中,第一数据集合包括第一数据和第一归档数据,第一数据由第一区块链节点根据待存储的第一数量个连续区块所生成,第一数据集合由第一区块链节点在判断第一距离不小于任一第二距离时所生成,第一距离根据第一区块链节点的节点id与第一数据计算得到,各第二距离根据第一区块链节点所持有的路由表的各节点的节点ID与第一数据计算得到,第一归档数据由第一区块链节点根据待存储的第一数量个连续区块所生成,第一区块链节点还用于将第一数据集合发送至根据预配置的节点选取方法从所持有的路由表中选取的第二数量个节点;
根据第一数据集合存储第一归档数据。
上述实施例的分布式数据存储原理可参考图1所示的方法,此处不再赘述。
优选地,将第一数据集合发送至根据预配置的节点选取方法从所持有的路由表中选取的第二数量个节点包括:
将第一数据集合发送至根据第二距离从小到大的顺序从所持有的路由表中选取的第二数量个节点。
上述实施例的分布式数据存储原理可参考图1所示的方法,此处不再赘述。
优选地,第一数据由第一区块链节点根据待存储的第一数量个连续区块的区块哈希所生成。
上述实施例的分布式数据存储原理可参考图1所示的方法,此处不再赘述。
优选地,待存储的第一数量个连续区块由当前区块高度和区块回滚深度决定。
优选地,区块链网络为kad网络,所存储的第一数量个连续区块配置有相应的过期时刻,方法还包括:
区块链网络为kad网络,所存储的第一归档数据配置有过期时刻,方法还包括:
接收第一数据集合或其它区块链节点发送的第二数据集合;其中,第二数据集合为其它区块链节点根据第二数据、第二归档数据所生成,第二数据和第二数据集合为其它区块链节点根据所存储的第一归档数据所生成;
根据接收第一数据集合或第二数据集合的时刻更新过期时刻;
判断当前时刻是否为预配置的时刻:
是,则检查当前时刻是否超过过期时刻:
是,则删除所存储的第一归档数据;
否,则根据所存储的第一归档数据生成第三数据,并根据第三数据、第一归档数据生成第三数据集合;以及,
根据预配置的节点选取方法从所持有的路由表中选取第二数量个节点;以及,
向所选取的各节点发送第三数据集合。
上述实施例的分布式数据存储原理可参考图2所示的方法,此处不再赘述。
图4为本发明一实施例提供的一种设备的结构示意图。
如图4所示,作为另一方面,本申请还提供了一种设备500,包括一个或多个中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM503中,还存储有设备500操作所需的各种程序和数据。CPU501、ROM502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,上述任一实施例描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上述任一方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请提供的方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种分布式数据存储方法,其特征在于,适用于区块链节点,所述方法包括:
根据待存储的第一数量个连续区块生成第一数据;
计算当前节点的节点ID与所述第一数据之间的第一距离,并分别计算所持有的路由表中的各节点的节点ID与所述第一数据之间的各第二距离;
判断是否存在任一所述第二距离小于所述第一距离:
否,则根据所述待存储的第一数量个连续区块生成第一归档数据,并存储所述第一归档数据;以及,
根据所述第一数据、所述第一归档数据生成第一数据集合;以及,
根据预配置的节点选取方法从所持有的路由表中选取第二数量个节点,并向所选取的各节点发送所述第一数据集合以供根据所述第一数据集合存储所述第一归档数据。
2.根据权利要求1所述的方法,其特征在于,所述根据预配置的节点选取方法从所持有的路由表中选取第二数量个节点包括:
根据所述第二距离从小到大的顺序从所持有的路由表中选取第二数量个节点。
3.根据权利要求1所述的方法,其特征在于,所述根据待存储的第一数量个连续区块生成第一数据包括:
根据待存储的第一数量个连续区块的区块哈希生成第一数据。
4.根据权利要求1-3任一项所述的方法,其特征在于,区块链网络为kad网络,所存储的第一归档数据配置有过期时刻,所述方法还包括:
接收其它区块链节点发送的第二数据集合;其中,所述第二数据集合为其它区块链节点根据第二数据、所述第一归档数据所生成,所述第二数据为其它区块链节点根据所存储的所述第一归档数据所生成;
根据接收所述第二数据集合的时刻更新所述过期时刻;
判断当前时刻是否为预配置的时刻:
是,则检查当前时刻是否超过所述过期时刻:
是,则删除所存储的所述第一归档数据;
否,则返回所述根据预配置的节点选取方法从所持有的路由表中选取第二数量个节点。
5.一种分布式数据存储方法,其特征在于,适用于区块链节点,所述方法包括:
接收第一区块链节点发送的第一数据集合;其中,所述第一数据集合包括第一数据和第一归档数据,所述第一数据由所述第一区块链节点根据待存储的第一数量个连续区块所生成,所述第一数据集合由所述第一区块链节点在判断第一距离不小于任一第二距离时所生成,所述第一距离根据所述第一区块链节点的节点id与所述第一数据计算得到,各所述第二距离根据所述第一区块链节点所持有的路由表的各节点的节点ID与所述第一数据计算得到,所述第一归档数据由所述第一区块链节点根据待存储的第一数量个连续区块所生成,所述第一区块链节点还用于将所述第一数据集合发送至根据预配置的节点选取方法从所持有的路由表中选取的第二数量个节点;
根据所述第一数据集合存储所述第一归档数据。
6.根据权利要求5所述的方法,其特征在于,所述将所述第一数据集合发送至根据预配置的节点选取方法从所持有的路由表中选取的第二数量个节点包括:
将所述第一数据集合发送至根据所述第二距离从小到大的顺序从所持有的路由表中选取的第二数量个节点。
7.根据权利要求5所述的方法,其特征在于,所述第一数据由所述第一区块链节点根据待存储的第一数量个连续区块的区块哈希所生成。
8.根据权利要求5-7任一项所述的方法,其特征在于,区块链网络为kad网络,所存储的所述第一归档数据配置有过期时刻,所述方法还包括:
接收所述第一数据集合或其它区块链节点发送的第二数据集合;其中,所述第二数据集合为其它区块链节点根据第二数据、第二归档数据所生成,所述第二数据和第二数据集合为其它区块链节点根据所存储的所述第一归档数据所生成;
根据接收所述第一数据集合或所述第二数据集合的时刻更新所述过期时刻;
判断当前时刻是否为预配置的时刻:
是,则检查当前时刻是否超过所述过期时刻:
是,则删除所存储的所述第一归档数据;
否,则根据所存储的所述第一归档数据生成第三数据,并根据所述第三数据、所述第一归档数据生成第三数据集合;以及,
根据预配置的节点选取方法从所持有的路由表中选取第二数量个节点;以及,
向所选取的各节点发送所述第三数据集合。
9.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-8中任一项所述的方法。
10.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一项所述的方法。
CN202010511010.7A 2020-06-08 2020-06-08 分布式数据存储方法、设备和存储介质 Pending CN111611319A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010511010.7A CN111611319A (zh) 2020-06-08 2020-06-08 分布式数据存储方法、设备和存储介质
PCT/CN2020/138887 WO2021248876A1 (zh) 2020-06-08 2020-12-24 分布式数据存储方法、设备和存储介质
EP20929671.4A EP3951612A4 (en) 2020-06-08 2020-12-24 DISTRIBUTED DATA RECORDING METHOD, RECORDING DEVICE AND MEDIUM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010511010.7A CN111611319A (zh) 2020-06-08 2020-06-08 分布式数据存储方法、设备和存储介质

Publications (1)

Publication Number Publication Date
CN111611319A true CN111611319A (zh) 2020-09-01

Family

ID=72201024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010511010.7A Pending CN111611319A (zh) 2020-06-08 2020-06-08 分布式数据存储方法、设备和存储介质

Country Status (3)

Country Link
EP (1) EP3951612A4 (zh)
CN (1) CN111611319A (zh)
WO (1) WO2021248876A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112182029A (zh) * 2020-09-30 2021-01-05 杭州复杂美科技有限公司 数据查询方法、设备和存储介质
CN112364209A (zh) * 2020-12-09 2021-02-12 杭州复杂美科技有限公司 分布式数据存储方法、数据查询方法、设备和存储介质
WO2021248876A1 (zh) * 2020-06-08 2021-12-16 江苏复杂美科技有限公司 分布式数据存储方法、设备和存储介质
CN114928622A (zh) * 2022-05-07 2022-08-19 杭州复杂美科技有限公司 多子网区块链网络及其数据存储方法、设备和存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107423426A (zh) * 2017-08-02 2017-12-01 众安信息技术服务有限公司 一种区块链块数据的数据归档方法及电子设备
WO2019024780A1 (zh) * 2017-08-03 2019-02-07 中国移动通信有限公司研究院 区块链轻量化处理方法、区块链节点及存储介质
CN109656873A (zh) * 2018-11-02 2019-04-19 平安科技(深圳)有限公司 基于区块链的数据归档方法、装置及终端设备
CN110011788A (zh) * 2019-04-10 2019-07-12 深圳市网心科技有限公司 一种基于区块链的数据处理方法、系统及相关设备
CN110413621A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 基于区块链的离线归档系统及方法
CN110442577A (zh) * 2019-07-15 2019-11-12 杭州复杂美科技有限公司 一种状态数据存储、查询和管理方法、设备及存储介质
CN110442644A (zh) * 2019-07-08 2019-11-12 深圳壹账通智能科技有限公司 区块链数据归档存储方法、装置、计算机设备和存储介质
CN110597887A (zh) * 2019-09-27 2019-12-20 腾讯科技(深圳)有限公司 一种基于区块链网络的数据管理方法、装置及存储介质
CN110958303A (zh) * 2019-11-14 2020-04-03 杭州复杂美科技有限公司 一种区块存储和查询方法、设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104809129B (zh) * 2014-01-26 2018-07-20 华为技术有限公司 一种分布式数据存储方法、装置和系统
CN110213368B (zh) * 2019-05-31 2021-07-16 联想(北京)有限公司 数据处理方法、数据处理装置和计算机系统
CN110442773B (zh) * 2019-08-13 2023-07-18 深圳市网心科技有限公司 分布式系统中节点缓存方法、系统、装置及计算机介质
CN111324633A (zh) * 2020-02-18 2020-06-23 杭州复杂美科技有限公司 一种区块链交易分布式缓存方法和系统、设备及存储介质
CN111639140A (zh) * 2020-06-08 2020-09-08 杭州复杂美科技有限公司 分布式数据存储方法、设备和存储介质
CN111611319A (zh) * 2020-06-08 2020-09-01 杭州复杂美科技有限公司 分布式数据存储方法、设备和存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107423426A (zh) * 2017-08-02 2017-12-01 众安信息技术服务有限公司 一种区块链块数据的数据归档方法及电子设备
WO2019024780A1 (zh) * 2017-08-03 2019-02-07 中国移动通信有限公司研究院 区块链轻量化处理方法、区块链节点及存储介质
CN109656873A (zh) * 2018-11-02 2019-04-19 平安科技(深圳)有限公司 基于区块链的数据归档方法、装置及终端设备
CN110011788A (zh) * 2019-04-10 2019-07-12 深圳市网心科技有限公司 一种基于区块链的数据处理方法、系统及相关设备
CN110442644A (zh) * 2019-07-08 2019-11-12 深圳壹账通智能科技有限公司 区块链数据归档存储方法、装置、计算机设备和存储介质
CN110442577A (zh) * 2019-07-15 2019-11-12 杭州复杂美科技有限公司 一种状态数据存储、查询和管理方法、设备及存储介质
CN110413621A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 基于区块链的离线归档系统及方法
CN110597887A (zh) * 2019-09-27 2019-12-20 腾讯科技(深圳)有限公司 一种基于区块链网络的数据管理方法、装置及存储介质
CN110958303A (zh) * 2019-11-14 2020-04-03 杭州复杂美科技有限公司 一种区块存储和查询方法、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PETAR MAYMOUNKOV 等: "Kademlia: A Peer-to-Peer Information System Based on the XOR Metric", 《 HTTPS:https://WWW.RESEARCHGATE.NET/PUBLICATION/2492563》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021248876A1 (zh) * 2020-06-08 2021-12-16 江苏复杂美科技有限公司 分布式数据存储方法、设备和存储介质
CN112182029A (zh) * 2020-09-30 2021-01-05 杭州复杂美科技有限公司 数据查询方法、设备和存储介质
CN112182029B (zh) * 2020-09-30 2022-09-16 杭州复杂美科技有限公司 数据查询方法、设备和存储介质
CN112364209A (zh) * 2020-12-09 2021-02-12 杭州复杂美科技有限公司 分布式数据存储方法、数据查询方法、设备和存储介质
CN112364209B (zh) * 2020-12-09 2023-11-28 杭州复杂美科技有限公司 分布式数据存储方法、数据查询方法、设备和存储介质
CN114928622A (zh) * 2022-05-07 2022-08-19 杭州复杂美科技有限公司 多子网区块链网络及其数据存储方法、设备和存储介质

Also Published As

Publication number Publication date
EP3951612A4 (en) 2022-06-22
EP3951612A1 (en) 2022-02-09
WO2021248876A1 (zh) 2021-12-16

Similar Documents

Publication Publication Date Title
CN111611319A (zh) 分布式数据存储方法、设备和存储介质
CN112364209B (zh) 分布式数据存储方法、数据查询方法、设备和存储介质
CN107423426B (zh) 一种区块链块数据的数据归档方法及电子设备
CN110958303B (zh) 一种区块存储和查询方法、设备及存储介质
CN109687953B (zh) 交易分类方法、设备和存储介质
CN112583811B (zh) 钱包找回方法、设备和存储介质
US11561939B2 (en) Iterative data processing
CN111258620A (zh) 差分升级包的生成方法、装置和设备
CN112182029B (zh) 数据查询方法、设备和存储介质
CN111639140A (zh) 分布式数据存储方法、设备和存储介质
CN111858771A (zh) 分布式数据存储方法、设备和存储介质
CN110445843B (zh) 平行链区块推送方法、设备和存储介质
CN112055067A (zh) 节点连接方法、设备和存储介质
CN110516006B (zh) 平行链区块生成方法、设备和存储介质
CN112055077B (zh) 区块链接入方法、设备和存储介质
CN109388335B (zh) 一种数据存储方法及系统
CN112417054B (zh) 分布式数据存储方法、数据查询方法、设备和存储介质
CN112019386B (zh) 一种基于云平台的分布式集群告警方法、装置及设备
CN110322350B (zh) 裁剪共识网络中空区块的方法、装置、设备和存储介质
CN109741180B (zh) 区块链连续交易序号生成方法及装置、区块链网络节点
CN111405037A (zh) 区块同步方法、设备和存储介质
CN112929432B (zh) 一种基于重复广播历史的广播方法、设备及储存介质
CN113645309B (zh) 多客户端数据差异化二次缓存及同步的处理方法及系统
CN110795288B (zh) 数据获取方法、设备和存储介质
CN111309731A (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200901