CN107079059A - 区块链存储方法、装置及节点设备 - Google Patents

区块链存储方法、装置及节点设备 Download PDF

Info

Publication number
CN107079059A
CN107079059A CN201680003223.0A CN201680003223A CN107079059A CN 107079059 A CN107079059 A CN 107079059A CN 201680003223 A CN201680003223 A CN 201680003223A CN 107079059 A CN107079059 A CN 107079059A
Authority
CN
China
Prior art keywords
block
node
stored
virtual cluster
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
Application number
CN201680003223.0A
Other languages
English (en)
Other versions
CN107079059B (zh
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.)
Cloudminds Shanghai Robotics Co Ltd
Original Assignee
Cloudminds Shenzhen Robotics Systems 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 Cloudminds Shenzhen Robotics Systems Co Ltd filed Critical Cloudminds Shenzhen Robotics Systems Co Ltd
Publication of CN107079059A publication Critical patent/CN107079059A/zh
Application granted granted Critical
Publication of CN107079059B publication Critical patent/CN107079059B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • 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/1044Group management mechanisms 
    • 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/1097Protocols 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]

Abstract

本发明公开了一种区块链存储方法、装置及节点设备,所述方法包括:通过接受集群组建邀请或发送集群组建邀请,加入一虚拟集群,所述虚拟集群中包括预设个数的节点;按照预设的第一区块分配规则,对区块链中的一个或多个区块进行存储,以使得所述虚拟集群中的节点所存储的区块可组成完整的区块链。本发明通过将区块链中的区块分别冗余存储到虚拟集群中的各节点中,减轻节点的存储量,且由于每个区块都被冗余存储,可保证存储的安全性;提高区块的同步速度,提高查询效率。

Description

区块链存储方法、装置及节点设备
技术领域
本发明涉及区块链技术领域,尤其涉及一种区块链存储方法、装置及节点设备。
背景技术
目前,区块链技术正在越来越广泛的被应用,不管是货币,虚拟物品,房产,股票等等都正在尝试用区块链来记录,使交易变得发明透明,去中心化。
区块链网络基于P2P(Peer to Peer,对等网络)网络,每个参与交易、区块存储、区块验证或转发的P2P网络节点都是一个区块链网络中的节点。节点之间的数据交换通过数字签名技术进行验证,无需互相信任,只要按照系统既定的规则进行,节点之间不能也无法欺骗其它节点。
由于区块链中存储了所有的交易,随着交易的增加,按照每十分钟产生一个区块的速度,区块链的数据量会越来越大。以比特币区块链为例,比特币区块链完整数据的大小,当前已经达到了几十GB,用户如果使用比特币核心(bitcoin core)客户端进行数据同步的话,可能几个昼夜都无法同步完成。并且,区块链的数据量还在不断地增加,这给比特币核心客户端的运行带来了很大的门槛,普通用户并不适合去使用bitcoin core客户端,这些,也就造成了运行比特币全节点(full nodes)的数量,不增反减,并且在过去的几年中全节点(即保存有完整的、最新的区块链拷贝,能独立自主地校验所有交易,而不需借由任何外部参照)的数量有明显的下降。
在目前的区块链网络中,全节点存储了第一区块(创世区块)一直到网络中最新的区块。正因为区块链的全节点保存了完整的区块链,区块链才成为了真正意义上的去中心化结构。但也因为这样,全节点保存数据所占用的空间十分巨大。随时间的推移,这样的矛盾会越发凸显。同时,一个新的全节点加入网络,需要与网络中的对等节点做数据同步,这样的同步会因为网络状况变得不稳定,同步时间不可预期,以及完成同步需消耗大量的网络带宽等问题。
发明内容
为克服相关技术中存在的问题,本发明提供一种区块链存储方法、装置及节点设备。
其中,第一方面,提供一种区块链存储方法,应用于区块链网络中的节点,包括:
通过接受集群组建邀请或发送集群组建邀请,加入一虚拟集群,所述虚拟集群中包括预设个数的节点;
按照预设的第一区块分配规则,对区块链中的一个或多个区块进行存储,以使得所述虚拟集群中的节点所存储的区块可组成完整的区块链。
第二方面,提供一种区块链存储装置,应用于区块链网络中的节点,包括:
虚拟集群加入模块,被配置为通过接受集群组建邀请或发送集群组建邀请,加入一虚拟集群,所述虚拟集群中包括预设个数的节点;
区块存储模块,被配置为按照预设的第一区块分配规则,对区块链中的一个或多个区块进行存储,以使得所述虚拟集群中的节点所存储的区块可组成完整的区块链。
第四方面,提供一种节点设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器,被配置为通过接受集群组建邀请或发送集群组建邀请,加入一虚拟集群,所述虚拟集群中包括预设个数的节点;按照预设的第一区块分配规则,对区块链中的一个或多个区块进行存储,以使得所述虚拟集群中的节点所存储的区块可组成完整的区块链。
第五方面,提供一种计算机程序产品,所述计算机程序产品包含能够由可编程的装置执行的计算机程序,所述计算机程序具有当由所述可编程的装置执行时用于执行上述的方法的代码部分。
第六方面,提供一种非临时性计算机可读存储介质,所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行上述的方法。
第七方面,提供一种节点设备,包括:上述的非临时性计算机可读存储介质;以及一个或者多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
本发明实施例通过将区块链中的区块分别冗余存储到虚拟集群中的各节点中,减轻节点的存储量,且由于每个区块都被冗余存储,可保证存储的安全性;提高区块的同步速度,提高查询效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是本发明一实施例的区块链网络的结构示意图;
图2是本发明一实施例的区块链存储方法的流程示意图;
图3是本发明一实施例的区块链网络中节点加入虚拟集群的流程示意图;
图4是本发明一实施例中根据区块分配规则对区块进行存储分配的示意图;
图5是本发明又一实施例中根据区块分配规则对区块进行存储分配的示意图;
图6是本发明再一实施例中根据区块分配规则对区块进行存储分配的示意图;
图7是本发明一实施例的虚拟集群中的节点通过维持心跳确认节点是否在线的示意图;
图8是本发明一实施例的虚拟集群中的新增节点的示意图;
图9是本发明一实施例的虚拟集群中的节点对新区块进行存储的示意图;
图10是本发明一实施例中虚拟集群中的节点进行交易查询时的示意图;
图11是本发明一实施例中虚拟集群中的节点执行合约的示意图;
图12是本发明一实施例提供的区块链存储装置的结构示意图;
图13是根据一示例性实施例示出的一种用于区块链存储方法的装置的框图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
为解决全节点的区块链存储数据量大的问题,本发明实施例通过分布式存储的方式,由多个节点协同进行区块链的存储处理,将整个区块链中区块分散的存储在各个节点上。
参见图1,为本发明一实施例的区块链网络的结构示意图。该区块链网络100包括:多个节点101。每个参与交易,区块存储,区块验证或转发等的P2P网络节点都可作为区块链中的节点。例如,节点101可为智能电话、平板电脑、服务器、具有嵌入式系统的电子设备、矿机(即可执行PoW(Proof Of Work,工作证明)共识竞争机制的设备)等。
区块链网络中100的所有节点根据预定规则,自组织成若干虚拟集群。区块链网络中的至少两个节点组建虚拟集群,虚拟集群中的节点,根据预设的区块分配规则,分别对区块链中的一个或多个区块进行存储,以使得至少两个节点存储的区块可组成完整的区块链。
如图1所示,虚线内部的节点组成一个虚拟集群,各个节点可完全独立参与区块链中的其它功能(例如,挖矿、钱包等)、但存储区块链采用分布式方式,即一个完整的区块链中的区块,被分别冗余存储到虚拟集群中的各个节点中。
由于,每个节点只存储区块链的部分区块,可减少存储量,提高节点同步区块链的速度;提高查询效率;且由于每个区块都被冗余存储,可保证存储的安全性。
参见图2,为本发明一实施例的区块链存储方法,应用于区块链网络中的节点,其包括以下步骤:
在步骤201中,通过接受集群组建邀请或发送集群组建邀请,加入一虚拟集群。
在步骤202中,按照预设的第一区块分配规则,对区块链中的一个或多个区块进行存储。由此,使得虚拟集群中的节点所存储的区块可组成完整的区块链。
虚拟集群的建立和加入
参见图3,为本发明实施例的区块链网络中节点加入虚拟集群的流程示意图。
区块链网络中的多个节点,在未加入到虚拟子网络(虚拟集群)中时,为孤立节点。
由于区块链网络是基于P2P网络协议的,一个节点A在区块链网络中上线且稳定一定时间后,会与多个节点产生连接。当节点A与第一预设个数的其它节点两两相连时,则节点A具备建立虚拟集群的条件,可进入节点发现状态,接受其它节点发送的集群组建邀请,也可以向相连接的其它节点发送集群组建邀请,组建虚拟集群。
在步骤301中,当节点A与第一预设个数的其它节点两两相连时,节点A向其它节点发送集群组建邀请。
在一个实施例中,当与节点A相连接的节点数超过一定阈值m时,节点A从这m个节点中,根据节点状况选择第一预设个数的节点,向其发送集群组建邀请。节点状况包括:是否产生过新区块、节点的网络状况等。由于是否产生过新区块可以衡量节点的可信性,因此,将是否产生过新区块作为考量节点的依据。一节点是否产生过新区块,可以通过查询区块链中的区块获得。节点的网络状况对节点间的交互产生影响,因此,将节点的网络状况也作为考量节点的依据。网络状况,可通过发送测试数据包(例如,空数据包或ping包)获取。
在一个实施例中,集群组建邀请可为包含特定信息的数据包,例如,包括发送邀请的节点的IP地址、产生过的新区块数量、算力等。
在步骤302中,当超过第二预设个数的节点回复确认信息时,则与回复信息的节点,组建成虚拟集群。组建成虚拟集群后,即各个节点加入到了该虚拟集群中。
在本发明的实施例中,一节点可能会接收到多个节点发送的集群组建邀请,其可根据集群组建邀请中的信息,确定要响应的节点,以及向确定的节点返回响应信息,确定加入虚拟集群。
在本发明的实施例中,由于虚拟集群中每个节点都是对等的,虚拟集群的规模也是有限的,当虚拟集群的节点个数达到第二预设个数时,将不再接受新的节点进入。这样做的原因是避免整个区块链网络会退化成一个虚拟集群。且为了保证区块存储的稳定性和安全性,虚拟集群中节点的个数满足一定的条件(即满足第二预设个数),且根据网络的状况、协议等,对第二预设个数进行调整(增加或减少)。
在本发明的一实施例中,多个节点组成了虚拟集群后,根据第一预设协商机制,确定虚拟集群的集群标号(ID)。集群标号用于对虚拟集群进行标识,在一个实施例中,集群标号可为字符串,其可包括集群中的节点数量、每个节点的IP地址、每个节点的节点状况等信息。集群标号是与时间相对应的,在预设时间后失效,且集群标识号在预设时间失效后,在虚拟集群中的节点恢复为普通节点(即孤立节点),可接受或发送集群组建邀请。
在一个实施例中,当有第二预设个数互联的节点建立虚拟集群后,虚拟集群中的各个节点标识自己进入虚拟集群状态,不再接受加入新的虚拟集群。即节点已加入到一个虚拟集群,则不再响应其它节点发送的集群组建请求。
在本发明的实施例中,根据第一预设协商机制,确定虚拟集群的集群标号(Id),可通过以下方式进行:
方式1:最先生成ID的节点,将ID广播给虚拟集群中的其它节点,各个节点对ID进行验证,验证通过,就确定该ID为虚拟集群的ID。
方式2:可将算力最强的节点产生的ID作为虚拟集群的ID,或根据IP地址,将IP地址最小的节点产生的ID作为虚拟集群的ID。
在本发明的一实施例中,为了便于实现区块的分配,虚拟集群中的节点,通过第二预设协商机制,确定每个节点的编号,由此,根据编号来确定节点需要存储的区块。
区块的存储分配
确定了每个节点的编号后,各个节点根据自己的编号和区块链中每一区块对应的哈希值,确定并存储所要存储的一个或多个区块。
参见图4,在一个实施例中,节点将每一区块对应的哈希值分别与预设个数的常数相除,并将相除所得的余数和自身的编号满足预设条件(例如,余数和自身编号相同)的哈希值对应的区块进行存储。其中,每一区块对应的哈希值至少包括以下其中之一:每一区块的区块头的哈希值、每一区块的区块头的哈希值加上固定值后的值、每一区块的区块头和区块主体的哈希值。
例如,可将一区块B的区块头的哈希值与第一常数、第二常数和第三常数相除,根据相除所得的余数m1、m2、m3,将该区块B分半存储到的编号为m1的节点、编号为m2的节点和编号为m3的节点。此外,还可将该区块B的区块头的哈希值加上一固定值后,与第四预设常数相除,然后根据余数m4,将该区块B存储到编号为m4的节点。
由此,每个区块被按照第一区块分配规则被冗余存储到多个节点上(例如,P个节点上,P<K,K为虚拟集群中的节点总数,P的取值可根据虚拟集群中的节点总数设定,例如,P为虚拟集群中节点总数K的三分之一),由此,当某个节点因为故障等原因下线时,反过来,在线的节点根据第一区块分配规则,可获知从哪些节点可获取到这个下线节点上曾存储的区块。
参见5,在本发明的一些实施例中,第一区块分配规则还可为,按照区块的数量和虚拟集群中节点的数量,进行平均分配,将区块链中的区块分配到各个节点进行存储。同时,为了确保区块存储的安全性,对区块进行冗余存储,即在一个节点上存储的区块,会在其它一个或多个节点上再进行存储。由此,当一个节点丢失区块时,可在其它节点上得到区块,而不会导致区块的缺失。如图5所示,区块1~3存储在编号为1、n+k……的节点中,区块4~6存储在编号为2、n+2k……的节点中,其中,n和k为正整数。
参见图6,在本发明的一些实施例中,第一区块分配规则还可为:根据节点所属的网段,确定其需要存储的区块。例如,每个区块都同时被存储到网段1~网段10的节点上。根据网段,确定节点需要存储的区块,是为了避免同一网段的节点同时出现网络问题时,区块链中的区块还可从其它网段的节点上获得。
此外,第一区块分配规则,还可根据节点之间的距离、算力等确定,以保证区块存储的安全性。
虚拟集群中的节点的维持
在本发明的实施例中,由于虚拟集群中的节点分别存储有区块链中的一部分区块,因此,节点是否处于正常工作状态,影响到区块存储的完整性和安全性,需要对虚拟集群中的节点的状态进行维护。
在本发明的一实施例中,虚拟集群中的节点通过维持心跳的方式,确定彼此是否在线。维持心跳可通过以下两种方式实现:
方式1:参见图7,虚拟集群中的一节点定时向其它节点发送在线确认信息;以及根据是否接收到其它节点的反馈信息,确定其它节点是否在线。
在线确认信息可为空数据包,或包括预设信息的数据包;反馈信息也可为空数据包,或包括预设信息的数据包。若预设时间内未收到反馈信息,则确定节点下线,需要重新对区块链中的区块进行分配存储和/或邀请其它的孤立节点加入到虚拟集群中。
方式2:虚拟集群中的一节点定时向与自己的编号邻近的节点(编号在前的节点和/或在后的节点)发送在线确认信息;以及根据是否接收到编号邻近的节点反馈的信息,确定编号邻近的节点是否在线。
应理解,节点间通过相互确认的方式,确定节点是否在线,这种相互确认,除了上面的“发送在线确认信息-接收反馈信息”的方式外,还可通过“接收在线确认信息”的方式进行,即虚拟集群中的节点C,定时向其它节点或编号相邻的节点发送在线确认信息,若其它节点或编号相邻的节点在定时时间到时未接收到节点C发送的在线确认信息,则确定该节点C下线。
节点下线后的区块分配及新节点补充
当虚拟集群中有节点下线时,仍在线的节点,可以根据区块的上述第一区块分配规则,获知该下线节点所存储的区块。从而,仍在线的节点可根据第一区块分配规则,从冗余存储的节点中获得下线节点所存储的区块。虚拟集群中的任一节点,可根据预设的第二区块分配规则,重新确定用于存储下线节点所存储的区块的节点,并将下线节点所存储的区块发送给确定的接收进行存储。
参见图8,当虚拟集群中有节点下线时,需要增加新的节点来“平衡网络”,保证区块的存储。在本发明的实施例中,新增节点可通过“主动邀请”或“接收加入请求”的方式。
“主动邀请”:即当虚拟集群中有节点下线时,虚拟集群中的节点主动向虚拟集群外的节点发送集群加入邀请,以邀请虚拟集群外的节点加入虚拟集群。发送的邀请中可包括虚拟集群的ID信息。
当接收到所述虚拟集群外的节点回复的确认信息时,则将该节点加入到虚拟集群中。在本发明的实施例中,虚拟集群中的节点均可发送集群加入邀请,当接收到多个节点的回复的确认信息时,可根据回复确认信息的时间先后顺序,确定可以加入到虚拟集群中的节点;或者根据回复确认信息的节点的算力、网络状况等确定可以加入到虚拟集群中的节点。
当虚拟集群中新增节点后,虚拟集群中的节点通过第三预设协商机制,重新确定每个节点的编号;以及根据自己的编号和预设的第三区块分配规则,确定要存储的区块。
此外,还可保持其它在线节点存储的区块不变,而由与新增节点的编号相邻的节点,根据区块的分配规则确定该新增节点需要存储的区块。
“接收加入请求”:即虚拟集群外的节点,主动向虚拟集群中的节点发送集群加入请求,集群加入请求中可包括:节点的地址信息、算力、网络状况等信息。虚拟集群中的任一节点若接收到集群加入请求,则向发送集群加入请求的节点发送集群加入邀请;当发送集群加入请求的节点回复确认信息时,即将该节点加入到虚拟集群中。
包含了新增节点后的虚拟集群中的节点通过第四预设协商机制,重新确定每个节点的编号;若新增节点的编号与自己的编号相邻,则根据预设的第四区块分配规则,确定新增节点需要存储的区块;以及将新增节点需要存储的区块发送给新增节点进行存储。
在一个实施例中,虚拟集群中有下线的节点后,在预设的时间内,即补充了新的节点来替代下线的节点。则在这种情况下,可不进行全部区块的重新分配,而仅将下线节点存储的区块存储到该新增节点中。可由与新增节点的编号相邻的节点从虚拟集群中其它节点中获取下线节点存储的区块,从而发送给新增节点进行存储。
应理解,也可由指定节点获取下线节点存储的区块并发送给新增节点。
在本发明的一实施例中,新增的节点数和下线的节点数相同。应理解,在一些实施例中,当对虚拟集群中可包括的节点数进行调整(例如,增大节点数)时,也可在原有虚拟集群的节点数的基础上,进行节点新增,或使得新增的节点数大于下线的节点数。
在本发明的实施例中,正因为虚拟集群节点的对等性与自修复性,无需担心区块链分布式存储的数据会因某些节点的损毁而消失。同时因为区块链自身的去中心化的特殊属性,虚拟集群的各个节点存储的区块都可以很容易的重建。
区块链中新区块的存储
参见图9,原区块链中的区块被分配到虚拟集群中的各个节点存储,当有新的区块被发现需要追加到区块链时,虚拟集群内任意一节点发现新区块,则发现新区块的节点按照预设的第五区块分配规则,确定用于存储新区块的节点。在一个实施例中,发现新区块的节点,将新区块发送给需进行存储的节点,由其进行保存。为了确保新区块的正确保存,新区块保存成功后,节点向虚拟集群中的其它节点广播成功保存区块的信息。
在一个实施例中,可由首先发现新区块的节点或指定的节点按照预设的第五区块分配规则,确定用于存储新区块的节点。
在另一些实施例中,由于虚拟集群中的节点都进行新区块发现,因此,发现新区块后,按照预设的第六区块分配规则,确定自己是否需要保存新区块,若需要存储新区块,则存储新区块,若不需要存储新区块,则不作处理。在一个实施例中,当节点成保存新区块后,向虚拟集群中的节点广播成功保存区块的信息,表明已经成功存储。若不需自己存储,则不保存新区块,并等待其它存储节点广播的成功存储的信息。
交易查询
参见图10,在本发明的一实施例中,区块分布式存储到虚拟集群中的各个节点后,当虚拟集群内任意节点收到查询端(例如,虚拟集群外的节点)发送的交易查询请求(例如,验证一个交易的hash)时,确定自己是否存储有与交易查询请求相对应的区块。若存储有与交易查询请求相对应的区块,则根据交易查询请求获取查询结果后返回给查询端。若未存储与交易查询请求相对应的区块,则将交易查询请求给虚拟集群中的其它节点;接收存储有与交易查询请求相关的区块的节点返回的交易查询结果;并将查询结果发送给查询端。
在本发明的实施例中,由于区块是冗余存储的,因此,查询到交易查询请求相对应的区块的节点至少为一个,可将最先返回查询结果的节点,返回的查询结果返回给查询端。
由此,本发明实施例可完成针对区块链的任何交易查询请求,例如,对任何交易进行验证。
执行合约
参见图11,在本发明的一实施例中,当虚拟集群中的一节点,需要执行一目标区块的合约时,确定是否存储有所述目标区块;若存储有所述目标区块,则执行所述目标区块的合约;若未存储有所述目标区块,则从存储所述目标区块的一节点中获取所述目标区块;以及根据获取的所述目标区块执行合约。
在一个实施例中,虚拟集群中的节点,删除一存储的区块后,存储目标区块,根据存储的目标区块执行合约。删除的区块可为任一未使用的区块。
应理解,本发明实施例中的上述第二预设协商机制、第三预设协商机制和第四预设协商机制可与第一预设协商机制相同,或为其它的协商机制,本发明实施例对此不作限制。第二区块分配规则、第三区块分配规则、第四区块分配规则、第五区块分配规则和第六区块分配规则可与第二区块分配规则相同,或为其它区块分配规则,本发明实施例对此不作限制。
本发明实施例的区块链存储方法,将区块链中的区块分别冗余存储到虚拟集群中的各节点中,减轻节点的存储量,且由于每个区块都被冗余存储,可保证存储的安全性;提高区块的同步速度,提高查询效率。
参见图12,为本发明一实施例提供的区块链存储装置的结构示意图,该装置120应用于区块链网络中的节点,包括:
虚拟集群加入模块1201,被配置为通过接受集群组建邀请或发送集群组建邀请,加入一虚拟集群,所述虚拟集群中包括预设个数的节点;
区块存储模块1202,被配置为按照预设的第一区块分配规则,对区块链中的一个或多个区块进行存储,以使得所述虚拟集群中的节点所存储的区块可组成完整的区块链。
在一个实施例中,所述虚拟集群加入模块1201包括:
邀请发送子模块,被配置为在所述节点与第一预设个数的其它节点两两相连时,则向其它节点发送集群组建邀请;
虚拟集群组建子模块,被配置为当超过第二预设个数的节点回复确认信息时,则与回复确认信息的节点,组建成所述虚拟集群。
在一个实施例中,所述虚拟集群加入模块1201包括:
接收及加入子模块,被配置为接收到其它节点发送的集群组建邀请时,回复确认信息,以加入到一虚拟集群中。
在一个实施例中,装置120还包括:
集群标号确定模块1203,被配置为与所述虚拟集群中的节点,通过第一预设协商机制,确定集群标号;其中,所述集群标识号在预设时间后失效,且所述集群标识号在预设时间失效后,在所述虚拟集群中的节点恢复为普通节点,可接受或发送集群组建邀请。
在一个实施例中,区块存储模块1202包括:
编号确定子模块,被配置为与所述虚拟集群中的节点,通过第二预设协商机制,确定每个节点的编号;
区块存储确定子模块,被配置为根据自己的编号和区块链中每一区块对应的哈希值,确定所要存储的所述一个或多个区块;
存储子模块,被配置为对所述一个或多个区块进行存储。
在一个实施例中,区块存储确定子模块,被配置为将每一区块对应的哈希值分别与预设个数的常数相除,并将相除所得的余数和自身的编号满足预设条件的哈希值对应的区块进行存储,其中,所述每一区块对应的哈希值至少包括以下其中之一:每一区块的区块头的哈希值、每一区块的区块头的哈希值加上固定值后的值、每一区块的区块头和区块主体的哈希值。
在一个实施例中,装置120还包括:
第一在线确认模块1204,被配置为定时向所述虚拟集群中的其它节点发送在线确认信息;以及根据是否接收到其它节点的反馈信息,确定所述虚拟集群中的其它节点是否在线。
在一个实施例中,装置120还包括:
第二在线确认模块1205,被配置为定时向与自己的编号邻近的节点发送在线确认信息;以及根据是否接收到所述编号邻近的节点反馈的信息,确定所述编号邻近的节点是否在线。
在一个实施例中,装置120还包括:
区块获取模块1206,被配置为当所述虚拟集群中有节点下线时,根据所述预设的第一区块分配规则,从相应的在线节点中获取所述下线节点所存储的区块;
第一区块存储确定模块1207,被配置为根据预设的第二区块分配规则,重新确定用于存储所述下线节点所存储的区块的节点;以及将所述下线节点所存储的区块发送给所确定的节点进行存储。
在一个实施例中,装置120还包括:
集群加入邀请发送模块1208,被配置为在所述虚拟集群中有节点下线时,向所述虚拟集群外的节点发送集群加入邀请,以邀请所述虚拟集群外的节点加入所述虚拟集群;
第一节点编号重新确定模块1209,被配置为当接收到所述虚拟集群外的节点回复的确认信息时,与加入新增节点后的虚拟集群中的节点通过第三预设协商机制,重新确定每个节点的编号;
第二区块存储确定模块1210,被配置为根据自己的编号和预设的第三区块分配规则,确定要存储的区块。
在一个实施例中,装置120还包括:
集群加入请求接收模块1211,被配置为在所述虚拟集群中有节点下线,且接收到所述虚拟集群外的节点发送的集群加入请求时,向所述发送集群加入请求的节点发送集群加入邀请;
第二节点编号重新确定模块1212,被配置为在所述发送集群加入请求的节点回复确认信息时,与加入新增节点后的虚拟集群中的节点通过第四预设协商机制,重新确定每个节点的编号;
第三区块存储确定模块1213,被配置为若所述新增节点的编号与自己的编号相邻,则根据预设的第四区块分配规则,确定所述新增节点需要存储的区块;以及将所述新增节点需要存储的区块发送给所述新增节点进行存储。
在一个实施例中,装置120还包括:
第四区块存储确定模块1214,被配置为在区块链网络中产生新区块时,根据预设的第五区块分配规则,确定用于存储所述新区块的节点;以及将所述新区块发送给确定的节点进行存储。
在一个实施例中,装置120还包括:
第五区块存储确定模块1215,被配置为在区块链网络中产生新区块时,按照预设的第六区块分配规则,确定是否需要存储所述新区块;若需要存储所述新区块,则存储所述新区块,若不需要存储所述新区块,则不作处理。
在一个实施例中,装置120还包括:
交易查询请求接收模块1216,被配置为在接收到查询端发送的交易查询请求时,确定是否存储有与所述交易查询请求相对应的区块;
查询结果获取模块1217,被配置为若存储有与所述交易查询请求相对应的区块,则根据所述交易查询请求获取查询结果;
交易查询请求发送模块1218,被配置为若未存储与所述交易查询请求相对应的区块,则将所述交易查询请求发送给虚拟集群中的其它节点;
交易查询结果接收模块1219,被配置为接收存储有与所述交易查询请求相关的区块的节点返回的交易查询结果;
查询结果发送模块1220,被配置为将查询结果发送给所述查询端。
在一个实施例中,装置120还包括:
目标区块确定模块1221,被配置为在需要执行一目标区块的合约时,确定是否存储有与所述目标区块;
第一执行模块1222,被配置为若存储有所述目标区块,则执行所述目标区块的合约;
目标区块获取模块1223,被配置为若未存储有所述目标区块,则从存储所述目标区块的一节点中获取所述目标区块;
第二执行模块1224,被配置为根据所述目标区块获取模块获取的所述目标区块执行合约。
在一个实施例中,第二执行模块1224包括:
区块删除子模块,被配置为删除一存储的区块后,存储所述目标区块;
执行子模块,被配置为根据存储的目标区块执行合约。
在一个实施例中,区块存储模块1202,被配置为根据自己所属的网段,确定需要存储的区块。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图13是根据一示例性实施例示出的一种用于区块链存储方法的装置130的框图,该装置130可以是区块链中的节点设备。如图13所示,该装置130可以包括:处理器1301,存储器1302,多媒体组件1303,输入/输出(I/O)接口1304,以及通信组件1305。
其中,处理器1301用于控制该装置130的整体操作,以完成上述的区块链存储方法中的全部或部分步骤。存储器1302用于存储操作系统,各种类型的数据以支持在该装置130的操作,这些数据的例如可以包括用于在该装置130上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器1302可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-OnlyMemory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
多媒体组件1303可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1302或通过通信组件1305发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口1304为处理器1301和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件1305用于该装置130与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件1305可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,装置130可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的区块链存储方法。
在另一示例性实施例中,还提供了一种计算机程序产品,所述计算机程序产品包含能够由可编程的装置执行的计算机程序,所述计算机程序具有当由所述可编程的装置执行时用于执行上述的区块链存储方法的代码部分。
在另一示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1302,上述指令可由装置130的处理器1301执行以完成上述的区块链存储方法。示例地,该非临时性计算机可读存储介质可以是ROM、随机存取存储器(Random Access Memory,简称RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
流程图中或在本发明的实施例中以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所述技术领域的技术人员所理解。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。

Claims (39)

1.一种区块链存储方法,应用于区块链网络中的节点,其特征在于,包括:
通过接受集群组建邀请或发送集群组建邀请,加入一虚拟集群,所述虚拟集群中包括预设个数的节点;
按照预设的第一区块分配规则,对区块链中的一个或多个区块进行存储,以使得所述虚拟集群中的节点所存储的区块可组成完整的区块链。
2.根据权利要求1所述的方法,其特征在于,通过接受集群组建邀请或发送集群组建邀请,加入一虚拟集群的步骤包括:
当所述节点与第一预设个数的其它节点两两相连时,则向其它节点发送集群组建邀请;
当超过第二预设个数的节点回复确认信息时,则与回复确认信息的节点,组建成所述虚拟集群。
3.根据权利要求1所述的方法,其特征在于,通过接受集群组建邀请或发送集群组建邀请,加入一虚拟集群的步骤包括:
接收到其它节点发送的集群组建邀请时,回复确认信息,以加入到一虚拟集群中。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
与所述虚拟集群中的节点,通过第一预设协商机制,确定集群标号;
其中,所述集群标识号在预设时间后失效,且所述集群标识号在预设时间失效后,在所述虚拟集群中的节点恢复为普通节点,可接受或发送集群组建邀请。
5.根据权利要求1所述的方法,其特征在于,所述按照预设的第一区块分配规则,对区块链中的一个或多个区块进行存储的步骤包括:
与所述虚拟集群中的节点,通过第二预设协商机制,确定每个节点的编号;
根据自己的编号和区块链中每一区块对应的哈希值,确定所要存储的所述一个或多个区块;
对所述一个或多个区块进行存储。
6.根据权利要求5所述的方法,其特征在于,所述根据自己的编号和区块链中每一区块对应的哈希值,确定所要存储的所述一个或多个区块的步骤包括:
将每一区块对应的哈希值分别与预设个数的常数相除,并将相除所得的余数和自身的编号满足预设条件的哈希值对应的区块进行存储,其中,所述每一区块对应的哈希值至少包括以下其中之一:每一区块的区块头的哈希值、每一区块的区块头的哈希值加上固定值后的值、每一区块的区块头和区块主体的哈希值。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
定时向所述虚拟集群中的其它节点发送在线确认信息;以及
根据是否接收到其它节点的反馈信息,确定所述虚拟集群中的其它节点是否在线。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:
定时向与自己的编号邻近的节点发送在线确认信息;以及
根据是否接收到所述编号邻近的节点反馈的信息,确定所述编号邻近的节点是否在线。
9.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:
当所述虚拟集群中有节点下线时,根据所述预设的第一区块分配规则,从相应的在线节点中获取所述下线节点所存储的区块;
根据预设的第二区块分配规则,重新确定用于存储所述下线节点所存储的区块的节点;以及
将所述下线节点所存储的区块发送给所确定的节点进行存储。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
当所述虚拟集群中有节点下线时,向所述虚拟集群外的节点发送集群加入邀请,以邀请所述虚拟集群外的节点加入所述虚拟集群;
当接收到所述虚拟集群外的节点回复的确认信息时,与加入新增节点后的虚拟集群中的节点通过第三预设协商机制,重新确定每个节点的编号;以及
根据自己的编号和预设的第三区块分配规则,确定要存储的区块。
11.根据权利要求9所述的方法,其特征在于,所述方法还包括:
当所述虚拟集群中有节点下线,且接收到所述虚拟集群外的节点发送的集群加入请求时,向所述发送集群加入请求的节点发送集群加入邀请;
当所述发送集群加入请求的节点回复确认信息时,与加入新增节点后的虚拟集群中的节点通过第四预设协商机制,重新确定每个节点的编号;
若所述新增节点的编号与自己的编号相邻,则根据预设的第四区块分配规则,确定所述新增节点需要存储的区块;以及
将所述新增节点需要存储的区块发送给所述新增节点进行存储。
12.根据权利要求11所述的方法,其特征在于,所述新增节点需要存储的区块为所述下线节点所存储的区块。
13.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当区块链网络中产生新区块时,根据预设的第五区块分配规则,确定用于存储所述新区块的节点;以及
将所述新区块发送给确定的节点进行存储。
14.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当区块链网络中产生新区块时,按照预设的第六区块分配规则,确定是否需要存储所述新区块;
若需要存储所述新区块,则存储所述新区块,若不需要存储所述新区块,则不作处理。
15.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到查询端发送的交易查询请求时,确定是否存储有与所述交易查询请求相对应的区块;
若存储有与所述交易查询请求相对应的区块,则根据所述交易查询请求获取查询结果;
若未存储与所述交易查询请求相对应的区块,则将所述交易查询请求发送给虚拟集群中的其它节点;
接收存储有与所述交易查询请求相关的区块的节点返回的交易查询结果;
将查询结果发送给所述查询端。
16.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当需要执行一目标区块的合约时,确定是否存储有与所述目标区块;
若存储有所述目标区块,则执行所述目标区块的合约;
若未存储有所述目标区块,则从存储所述目标区块的一节点中获取所述目标区块;以及
根据获取的所述目标区块执行合约。
17.根据权利要求16所述的方法,其特征在于,所述根据获取的所述目标区块执行合约的步骤包括:
删除一存储的区块后,存储所述目标区块;
根据存储的目标区块执行合约。
18.根据权利要求1所述的方法,其特征在于,所述按照预设的第一区块分配规则,对区块链中的一个或多个区块进行存储的步骤包括:
根据自己所属的网段,确定需要存储的区块。
19.一种区块链存储装置,应用于区块链网络中的节点,其特征在于,包括:
虚拟集群加入模块,被配置为通过接受集群组建邀请或发送集群组建邀请,加入一虚拟集群,所述虚拟集群中包括预设个数的节点;
区块存储模块,被配置为按照预设的第一区块分配规则,对区块链中的一个或多个区块进行存储,以使得所述虚拟集群中的节点所存储的区块可组成完整的区块链。
20.根据权利要求19所述的装置,其特征在于,所述虚拟集群加入模块包括:
邀请发送子模块,被配置为在所述节点与第一预设个数的其它节点两两相连时,则向其它节点发送集群组建邀请;
虚拟集群组建子模块,被配置为当超过第二预设个数的节点回复确认信息时,则与回复确认信息的节点,组建成所述虚拟集群。
21.根据权利要求19所述的装置,其特征在于,所述虚拟集群加入模块包括:
接收及加入子模块,被配置为接收到其它节点发送的集群组建邀请时,回复确认信息,以加入到一虚拟集群中。
22.根据权利要求19所述的装置,其特征在于,所述装置还包括:
集群标号确定模块,被配置为与所述虚拟集群中的节点,通过第一预设协商机制,确定集群标号;
其中,所述集群标识号在预设时间后失效,且所述集群标识号在预设时间失效后,在所述虚拟集群中的节点恢复为普通节点,可接受或发送集群组建邀请。
23.根据权利要求19所述的装置,其特征在于,所述区块存储模块包括:
编号确定子模块,被配置为与所述虚拟集群中的节点,通过第二预设协商机制,确定每个节点的编号;
区块存储确定子模块,被配置为根据自己的编号和区块链中每一区块对应的哈希值,确定所要存储的所述一个或多个区块;
存储子模块,被配置为对所述一个或多个区块进行存储。
24.根据权利要求23所述的装置,其特征在于,所述区块存储确定子模块,被配置为将每一区块对应的哈希值分别与预设个数的常数相除,并将相除所得的余数和自身的编号满足预设条件的哈希值对应的区块进行存储,其中,所述每一区块对应的哈希值至少包括以下其中之一:每一区块的区块头的哈希值、每一区块的区块头的哈希值加上固定值后的值、每一区块的区块头和区块主体的哈希值。
25.根据权利要求23所述的装置,其特征在于,所述装置还包括:
第一在线确认模块,被配置为定时向所述虚拟集群中的其它节点发送在线确认信息;以及根据是否接收到其它节点的反馈信息,确定所述虚拟集群中的其它节点是否在线。
26.根据权利要求23所述的装置,其特征在于,所述装置还包括:
第二在线确认模块,被配置为定时向与自己的编号邻近的节点发送在线确认信息;以及根据是否接收到所述编号邻近的节点反馈的信息,确定所述编号邻近的节点是否在线。
27.根据权利要求25或26所述的装置,其特征在于,所述装置还包括:
区块获取模块,被配置为当所述虚拟集群中有节点下线时,根据所述预设的第一区块分配规则,从相应的在线节点中获取所述下线节点所存储的区块;
第一区块存储确定模块,被配置为根据预设的第二区块分配规则,重新确定用于存储所述下线节点所存储的区块的节点;以及将所述下线节点所存储的区块发送给所确定的节点进行存储。
28.根据权利要求27所述的装置,其特征在于,所述装置还包括:
集群加入邀请发送模块,被配置为在所述虚拟集群中有节点下线时,向所述虚拟集群外的节点发送集群加入邀请,以邀请所述虚拟集群外的节点加入所述虚拟集群;
第一节点编号重新确定模块,被配置为当接收到所述虚拟集群外的节点回复的确认信息时,与加入新增节点后的虚拟集群中的节点通过第三预设协商机制,重新确定每个节点的编号;
第二区块存储确定模块,被配置为根据自己的编号和预设的第三区块分配规则,确定要存储的区块。
29.根据权利要求27所述的装置,其特征在于,所述装置还包括:
集群加入请求接收模块,被配置为在所述虚拟集群中有节点下线,且接收到所述虚拟集群外的节点发送的集群加入请求时,向所述发送集群加入请求的节点发送集群加入邀请;
第二节点编号重新确定模块,被配置为在所述发送集群加入请求的节点回复确认信息时,与加入新增节点后的虚拟集群中的节点通过第四预设协商机制,重新确定每个节点的编号;
第三区块存储确定模块,被配置为若所述新增节点的编号与自己的编号相邻,则根据预设的第四区块分配规则,确定所述新增节点需要存储的区块;以及将所述新增节点需要存储的区块发送给所述新增节点进行存储。
30.根据权利要求19所述的装置,其特征在于,所述装置还包括:
第四区块存储确定模块,被配置为在区块链网络中产生新区块时,根据预设的第五区块分配规则,确定用于存储所述新区块的节点;以及将所述新区块发送给确定的节点进行存储。
31.根据权利要求19所述的装置,其特征在于,所述装置还包括:
第五区块存储确定模块,被配置为在区块链网络中产生新区块时,按照预设的第六区块分配规则,确定是否需要存储所述新区块;若需要存储所述新区块,则存储所述新区块,若不需要存储所述新区块,则不作处理。
32.根据权利要求19所述的装置,其特征在于,所述装置还包括:
交易查询请求接收模块,被配置为在接收到查询端发送的交易查询请求时,确定是否存储有与所述交易查询请求相对应的区块;
查询结果获取模块,被配置为若存储有与所述交易查询请求相对应的区块,则根据所述交易查询请求获取查询结果;
交易查询请求发送模块,被配置为若未存储与所述交易查询请求相对应的区块,则将所述交易查询请求发送给虚拟集群中的其它节点;
交易查询结果接收模块,被配置为接收存储有与所述交易查询请求相关的区块的节点返回的交易查询结果;
查询结果发送模块,被配置为将查询结果发送给所述查询端。
33.根据权利要求19所述的装置,其特征在于,所述装置还包括:
目标区块确定模块,被配置为在需要执行一目标区块的合约时,确定是否存储有与所述目标区块;
第一执行模块,被配置为若存储有所述目标区块,则执行所述目标区块的合约;
目标区块获取模块,被配置为若未存储有所述目标区块,则从存储所述目标区块的一节点中获取所述目标区块;
第二执行模块,被配置为根据所述目标区块获取模块获取的所述目标区块执行合约。
34.根据权利要求33所述的装置,其特征在于,所述第二执行模块包括:
区块删除子模块,被配置为删除一存储的区块后,存储所述目标区块;
执行子模块,被配置为根据存储的目标区块执行合约。
35.根据权利要求19所述的装置,其特征在于,所述区块存储模块,被配置为根据自己所属的网段,确定需要存储的区块。
36.一种节点设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器,被配置为通过接受集群组建邀请或发送集群组建邀请,加入一虚拟集群,所述虚拟集群中包括预设个数的节点;按照预设的第一区块分配规则,对区块链中的一个或多个区块进行存储,以使得所述虚拟集群中的节点所存储的区块可组成完整的区块链。
37.一种计算机程序产品,其特征在于,所述计算机程序产品包含能够由可编程的装置执行的计算机程序,所述计算机程序具有当由所述可编程的装置执行时用于执行权利要求1至18中任一项所述的方法的代码部分。
38.一种非临时性计算机可读存储介质,其特征在于,所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行权利要求1至18中任一项所述的方法。
39.一种节点设备,其特征在于,包括:
权利要求38中所述的非临时性计算机可读存储介质;以及
一个或者多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
CN201680003223.0A 2016-12-21 2016-12-21 区块链存储方法、装置及节点设备 Active CN107079059B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/111360 WO2018112805A1 (zh) 2016-12-21 2016-12-21 区块链存储方法、装置及节点设备

Publications (2)

Publication Number Publication Date
CN107079059A true CN107079059A (zh) 2017-08-18
CN107079059B CN107079059B (zh) 2019-12-10

Family

ID=59624272

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680003223.0A Active CN107079059B (zh) 2016-12-21 2016-12-21 区块链存储方法、装置及节点设备

Country Status (2)

Country Link
CN (1) CN107079059B (zh)
WO (1) WO2018112805A1 (zh)

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107608826A (zh) * 2017-09-19 2018-01-19 郑州云海信息技术有限公司 一种存储集群的节点的故障恢复方法、装置及介质
CN107733855A (zh) * 2017-08-31 2018-02-23 中国科学院信息工程研究所 一种可同时支持公有链、联盟链及私有链的区块链系统及应用方法
CN107734021A (zh) * 2017-09-30 2018-02-23 上海壹账通金融科技有限公司 区块链数据上传方法、系统、计算机系统及存储介质
CN107819829A (zh) * 2017-10-17 2018-03-20 上海点融信息科技有限责任公司 访问区块链的方法、系统、区块链节点设备及用户终端
CN107947940A (zh) * 2017-11-29 2018-04-20 树根互联技术有限公司 一种数据交换的方法及装置
CN108200203A (zh) * 2018-02-06 2018-06-22 北京奇虎科技有限公司 基于双层网络的区块链系统
CN108307000A (zh) * 2018-02-06 2018-07-20 武汉康慧然信息技术咨询有限公司 基于时间调度的区块链生成方法
CN108632386A (zh) * 2018-05-15 2018-10-09 众安信息技术服务有限公司 一种区块链节点集群搭建方法及装置
CN108650333A (zh) * 2018-07-31 2018-10-12 泰链(厦门)科技有限公司 区块链系统的分散节点负荷方法、介质、装置和区块链系统
CN108769230A (zh) * 2018-06-06 2018-11-06 腾讯科技(深圳)有限公司 交易数据存储方法、装置、服务器及存储介质
CN108777710A (zh) * 2018-05-31 2018-11-09 中国联合网络通信集团有限公司 区块链节点间通信方法、装置及区块链节点
CN108900364A (zh) * 2018-08-22 2018-11-27 泰康保险集团股份有限公司 区块链网络的管理方法、装置、介质及电子设备
CN108924252A (zh) * 2018-07-31 2018-11-30 泰链(厦门)科技有限公司 区块链系统中减轻节点存储负荷的方法、介质及区块链系统
CN109005208A (zh) * 2018-06-11 2018-12-14 北京京东尚科信息技术有限公司 用于推送信息的方法和装置
CN109032803A (zh) * 2018-08-01 2018-12-18 阿里巴巴集团控股有限公司 数据处理方法和装置、客户端
CN109068149A (zh) * 2018-09-14 2018-12-21 深圳Tcl新技术有限公司 节目推荐方法、终端以及计算机可读存储介质
CN109104472A (zh) * 2018-07-26 2018-12-28 北京京东尚科信息技术有限公司 区块链网络组网方法、装置、设备及计算机可读存储介质
CN109145053A (zh) * 2018-08-01 2019-01-04 阿里巴巴集团控股有限公司 数据处理方法和装置、客户端、服务器
CN109213901A (zh) * 2018-09-18 2019-01-15 百度在线网络技术(北京)有限公司 一种区块链的数据同步方法、装置、设备及介质
CN109377364A (zh) * 2018-09-27 2019-02-22 中国联合网络通信集团有限公司 一种建组方法和装置、交易方法和系统
CN109522362A (zh) * 2018-10-17 2019-03-26 北京瑞卓喜投科技发展有限公司 基于区块链数据的非完全数据同步方法、系统及设备
CN109522462A (zh) * 2018-10-18 2019-03-26 上海达家迎信息科技有限公司 一种基于区块链的云查询方法、装置、设备及存储介质
CN109756566A (zh) * 2018-12-27 2019-05-14 重庆小雨点小额贷款有限公司 基于区块链的数据存储方法、相关设备及存储介质
CN109862135A (zh) * 2019-03-19 2019-06-07 全链通有限公司 基于域名区块链的群组通信方法、区块链节点及介质
CN109949160A (zh) * 2019-03-27 2019-06-28 上海优扬新媒信息技术有限公司 一种区块链的分片方法及装置
CN110009180A (zh) * 2019-01-23 2019-07-12 曲阜师范大学 一种区块链准时生产管理方法
CN110175178A (zh) * 2018-11-01 2019-08-27 华为终端有限公司 一种数据处理的方法、节点设备和系统
CN110224839A (zh) * 2019-06-17 2019-09-10 北京艾摩瑞策科技有限公司 应用于区块链上的验证方法及装置
CN110727391A (zh) * 2018-07-16 2020-01-24 北京京东尚科信息技术有限公司 交易数据存储方法及装置、区块链系统、介质和电子设备
CN110738472A (zh) * 2018-07-20 2020-01-31 北京航空航天大学 区块链的存储方法和区块链的节点
CN110851445A (zh) * 2019-11-07 2020-02-28 浪潮云信息技术有限公司 一种基于区块链技术的安全存储数据的方法
CN110989934A (zh) * 2019-12-05 2020-04-10 达闼科技成都有限公司 区块链节点数据存储方法、区块链系统及区块链节点
WO2020133962A1 (zh) * 2018-12-27 2020-07-02 重庆小雨点小额贷款有限公司 基于区块链的数据存储方法、相关设备及存储介质
CN111431728A (zh) * 2020-03-30 2020-07-17 腾讯科技(深圳)有限公司 一种分布式应用程序的用户群组管理方法
WO2020147673A1 (zh) * 2019-01-17 2020-07-23 华为技术有限公司 区块链账本的存储方法及装置
CN111683120A (zh) * 2020-05-22 2020-09-18 哈尔滨工程大学 一种支持验证节点动态变化的联盟节点存储方法
TWI706280B (zh) * 2018-12-20 2020-10-01 香港商阿里巴巴集團服務有限公司 資料讀寫方法及裝置、電子設備
CN112685420A (zh) * 2020-12-31 2021-04-20 北京存金所贵金属有限公司 一种区块链数据的扩容方法、装置、调度控制器及系统
CN113098907A (zh) * 2019-03-05 2021-07-09 深圳前海微众银行股份有限公司 一种区块链的群组划分方法与装置
CN113260188A (zh) * 2021-05-11 2021-08-13 赵超然 一种区块链数据监管存储机
CN113612810A (zh) * 2021-05-18 2021-11-05 中国信息通信研究院 基于dht的集群节点间性能优化方法、电子设备及存储介质
US11558179B2 (en) 2018-08-09 2023-01-17 Nokia Technologies Oy Distributed data storage

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111833189A (zh) * 2018-10-26 2020-10-27 创新先进技术有限公司 数据处理方法及装置
CN111767427B (zh) * 2019-04-02 2024-04-05 浙江宇视科技有限公司 视频信息存储方法及数据存储域
CN110221938A (zh) * 2019-05-06 2019-09-10 深圳壹账通智能科技有限公司 电子装置、区块链共识的方法及存储介质
CN110263035B (zh) * 2019-05-31 2023-10-27 创新先进技术有限公司 基于区块链的数据存储、查询方法及装置和电子设备
EP3794532B1 (en) * 2019-08-01 2021-11-03 Advanced New Technologies Co., Ltd. Shared blockchain data storage based on error correction code
CN110493060A (zh) * 2019-08-28 2019-11-22 北京浪潮数据技术有限公司 一种虚拟ip分配方法及相关装置
CN111339089B (zh) * 2020-02-21 2023-09-22 联动优势科技有限公司 一种应用于区块链的数据存储与获取方法及装置
CN111858520B (zh) * 2020-07-21 2024-03-22 杭州溪塔科技有限公司 一种区块链节点数据分离存储的方法和装置
CN112162698B (zh) * 2020-09-17 2024-02-13 北京浪潮数据技术有限公司 一种缓存分区重建方法、装置、设备及可读存储介质
CN113037497B (zh) * 2021-03-15 2023-08-01 中国工商银行股份有限公司 一种基于区块链的风险数据共享方法及系统
CN113111392B (zh) * 2021-04-12 2022-08-30 浙江永旗区块链科技有限公司 一种区块链数据同步系统及其控制方法
CN113590638A (zh) * 2021-07-20 2021-11-02 南京国准数据有限责任公司 一种基于区块链的分布式数据存储系统
CN114095240B (zh) * 2021-11-17 2023-12-01 东南大学 一种基于区块链的分布式节点协同方法
CN114416866A (zh) * 2021-12-17 2022-04-29 深圳先进技术研究院 一种分布式系统的分片方法、装置、电子设备及存储介质
CN117424912B (zh) * 2023-12-14 2024-04-05 湖北省楚天云有限公司 基于区块链的物联网节点集群数据存储方法、系统及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070189522A1 (en) * 2006-01-06 2007-08-16 Kartik Raju Apparatuses for encoding, decoding, and authenticating data in cipher block chaining messaging authentication code
CN104620218A (zh) * 2012-06-29 2015-05-13 诺基亚公司 任务链的方法与装置
CN105653315A (zh) * 2015-12-23 2016-06-08 北京工业大学 一种基于区块链技术的节点化操作系统下载方法
CN105976231A (zh) * 2016-06-24 2016-09-28 深圳前海微众银行股份有限公司 基于区块链智能合约的资产管理方法及节点

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209947B (zh) * 2015-05-07 2020-08-04 中兴通讯股份有限公司 一种去中心化自治组织的数据处理方法及系统
CN105790954B (zh) * 2016-03-02 2019-04-09 布比(北京)网络技术有限公司 一种构建电子证据的方法和系统
CN105912618B (zh) * 2016-04-07 2019-04-23 浙江万马新能源有限公司 基于区块链的充电桩充电交易通讯方法及装置
CN106100981B (zh) * 2016-08-22 2019-08-23 布比(北京)网络技术有限公司 社交网络数据交互方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070189522A1 (en) * 2006-01-06 2007-08-16 Kartik Raju Apparatuses for encoding, decoding, and authenticating data in cipher block chaining messaging authentication code
CN104620218A (zh) * 2012-06-29 2015-05-13 诺基亚公司 任务链的方法与装置
CN105653315A (zh) * 2015-12-23 2016-06-08 北京工业大学 一种基于区块链技术的节点化操作系统下载方法
CN105976231A (zh) * 2016-06-24 2016-09-28 深圳前海微众银行股份有限公司 基于区块链智能合约的资产管理方法及节点

Cited By (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107733855A (zh) * 2017-08-31 2018-02-23 中国科学院信息工程研究所 一种可同时支持公有链、联盟链及私有链的区块链系统及应用方法
CN107733855B (zh) * 2017-08-31 2019-11-05 中国科学院信息工程研究所 一种可同时支持公有链、联盟链及私有链的区块链系统及应用方法
CN107608826A (zh) * 2017-09-19 2018-01-19 郑州云海信息技术有限公司 一种存储集群的节点的故障恢复方法、装置及介质
US11146384B2 (en) 2017-09-30 2021-10-12 One Connect Smart Technology Co., Ltd. (Shenzhen) Method, system, computer system and storage medium of uploading blockchain data
CN107734021A (zh) * 2017-09-30 2018-02-23 上海壹账通金融科技有限公司 区块链数据上传方法、系统、计算机系统及存储介质
CN107734021B (zh) * 2017-09-30 2020-04-07 深圳壹账通智能科技有限公司 区块链数据上传方法、系统、计算机系统及存储介质
CN107819829A (zh) * 2017-10-17 2018-03-20 上海点融信息科技有限责任公司 访问区块链的方法、系统、区块链节点设备及用户终端
CN107819829B (zh) * 2017-10-17 2020-07-07 上海点融信息科技有限责任公司 访问区块链的方法、系统、区块链节点设备及用户终端
CN107947940A (zh) * 2017-11-29 2018-04-20 树根互联技术有限公司 一种数据交换的方法及装置
CN107947940B (zh) * 2017-11-29 2020-12-25 树根互联技术有限公司 一种数据交换的方法及装置
CN108200203A (zh) * 2018-02-06 2018-06-22 北京奇虎科技有限公司 基于双层网络的区块链系统
CN108307000A (zh) * 2018-02-06 2018-07-20 武汉康慧然信息技术咨询有限公司 基于时间调度的区块链生成方法
CN108632386A (zh) * 2018-05-15 2018-10-09 众安信息技术服务有限公司 一种区块链节点集群搭建方法及装置
CN108632386B (zh) * 2018-05-15 2021-06-08 众安信息技术服务有限公司 一种区块链节点集群搭建方法及装置
CN108777710A (zh) * 2018-05-31 2018-11-09 中国联合网络通信集团有限公司 区块链节点间通信方法、装置及区块链节点
CN108777710B (zh) * 2018-05-31 2021-06-08 中国联合网络通信集团有限公司 区块链节点间通信方法、装置及区块链节点
CN108769230A (zh) * 2018-06-06 2018-11-06 腾讯科技(深圳)有限公司 交易数据存储方法、装置、服务器及存储介质
CN109005208A (zh) * 2018-06-11 2018-12-14 北京京东尚科信息技术有限公司 用于推送信息的方法和装置
CN109005208B (zh) * 2018-06-11 2021-03-30 北京京东尚科信息技术有限公司 用于推送信息的方法和装置
CN110727391A (zh) * 2018-07-16 2020-01-24 北京京东尚科信息技术有限公司 交易数据存储方法及装置、区块链系统、介质和电子设备
CN110738472A (zh) * 2018-07-20 2020-01-31 北京航空航天大学 区块链的存储方法和区块链的节点
CN110738472B (zh) * 2018-07-20 2023-10-03 北京航空航天大学 区块链的存储方法和区块链的节点
CN109104472A (zh) * 2018-07-26 2018-12-28 北京京东尚科信息技术有限公司 区块链网络组网方法、装置、设备及计算机可读存储介质
CN109104472B (zh) * 2018-07-26 2021-06-29 北京京东尚科信息技术有限公司 区块链网络组网方法、装置、设备及计算机可读存储介质
CN108650333B (zh) * 2018-07-31 2021-02-02 泰链(厦门)科技有限公司 区块链系统的分散节点负荷方法、介质、装置和区块链系统
CN108924252B (zh) * 2018-07-31 2021-06-04 泰链(厦门)科技有限公司 区块链系统中减轻节点存储负荷的方法、介质及区块链系统
CN108650333A (zh) * 2018-07-31 2018-10-12 泰链(厦门)科技有限公司 区块链系统的分散节点负荷方法、介质、装置和区块链系统
CN108924252A (zh) * 2018-07-31 2018-11-30 泰链(厦门)科技有限公司 区块链系统中减轻节点存储负荷的方法、介质及区块链系统
CN109145053A (zh) * 2018-08-01 2019-01-04 阿里巴巴集团控股有限公司 数据处理方法和装置、客户端、服务器
CN109032803A (zh) * 2018-08-01 2018-12-18 阿里巴巴集团控股有限公司 数据处理方法和装置、客户端
US11233878B2 (en) 2018-08-01 2022-01-25 Advanced New Technologies Co., Ltd. Data processing method, apparatus, and client device
US11563805B2 (en) 2018-08-01 2023-01-24 Advanced New Technologies Co., Ltd. Method, apparatus, client terminal, and server for data processing
US11558179B2 (en) 2018-08-09 2023-01-17 Nokia Technologies Oy Distributed data storage
CN108900364B (zh) * 2018-08-22 2021-11-26 泰康保险集团股份有限公司 区块链网络的管理方法、装置、介质及电子设备
CN108900364A (zh) * 2018-08-22 2018-11-27 泰康保险集团股份有限公司 区块链网络的管理方法、装置、介质及电子设备
CN109068149B (zh) * 2018-09-14 2022-05-06 深圳Tcl新技术有限公司 节目推荐方法、终端以及计算机可读存储介质
CN109068149A (zh) * 2018-09-14 2018-12-21 深圳Tcl新技术有限公司 节目推荐方法、终端以及计算机可读存储介质
CN109213901A (zh) * 2018-09-18 2019-01-15 百度在线网络技术(北京)有限公司 一种区块链的数据同步方法、装置、设备及介质
CN109213901B (zh) * 2018-09-18 2020-12-01 百度在线网络技术(北京)有限公司 一种区块链的数据同步方法、装置、设备及介质
CN109377364A (zh) * 2018-09-27 2019-02-22 中国联合网络通信集团有限公司 一种建组方法和装置、交易方法和系统
CN109522362A (zh) * 2018-10-17 2019-03-26 北京瑞卓喜投科技发展有限公司 基于区块链数据的非完全数据同步方法、系统及设备
CN109522462A (zh) * 2018-10-18 2019-03-26 上海达家迎信息科技有限公司 一种基于区块链的云查询方法、装置、设备及存储介质
CN109522462B (zh) * 2018-10-18 2021-06-04 上海达家迎信息科技有限公司 一种基于区块链的云查询方法、装置、设备及存储介质
CN110175178B (zh) * 2018-11-01 2022-06-07 花瓣云科技有限公司 一种数据处理的方法、节点设备和系统
CN110175178A (zh) * 2018-11-01 2019-08-27 华为终端有限公司 一种数据处理的方法、节点设备和系统
US11200226B2 (en) 2018-12-20 2021-12-14 Advanced New Technologies Co., Ltd. Data read and write method and apparatus, and electronic device
TWI706280B (zh) * 2018-12-20 2020-10-01 香港商阿里巴巴集團服務有限公司 資料讀寫方法及裝置、電子設備
WO2020133962A1 (zh) * 2018-12-27 2020-07-02 重庆小雨点小额贷款有限公司 基于区块链的数据存储方法、相关设备及存储介质
CN109756566B (zh) * 2018-12-27 2020-01-03 重庆小雨点小额贷款有限公司 基于区块链的数据存储方法、相关设备及存储介质
CN109756566A (zh) * 2018-12-27 2019-05-14 重庆小雨点小额贷款有限公司 基于区块链的数据存储方法、相关设备及存储介质
WO2020147673A1 (zh) * 2019-01-17 2020-07-23 华为技术有限公司 区块链账本的存储方法及装置
CN111447055B (zh) * 2019-01-17 2022-02-25 华为技术有限公司 区块链账本的存储方法及装置
CN111447055A (zh) * 2019-01-17 2020-07-24 华为技术有限公司 区块链账本的存储方法及装置
CN110009180B (zh) * 2019-01-23 2020-12-22 曲阜师范大学 一种基于区块链的准时生产控制方法
CN110009180A (zh) * 2019-01-23 2019-07-12 曲阜师范大学 一种区块链准时生产管理方法
CN113098907A (zh) * 2019-03-05 2021-07-09 深圳前海微众银行股份有限公司 一种区块链的群组划分方法与装置
CN113098907B (zh) * 2019-03-05 2023-07-11 深圳前海微众银行股份有限公司 一种区块链的群组划分方法与装置
CN109862135A (zh) * 2019-03-19 2019-06-07 全链通有限公司 基于域名区块链的群组通信方法、区块链节点及介质
CN109949160A (zh) * 2019-03-27 2019-06-28 上海优扬新媒信息技术有限公司 一种区块链的分片方法及装置
CN110224839B (zh) * 2019-06-17 2020-10-30 北京瑞策科技有限公司 应用于区块链上的验证方法及装置
CN110224839A (zh) * 2019-06-17 2019-09-10 北京艾摩瑞策科技有限公司 应用于区块链上的验证方法及装置
CN110851445A (zh) * 2019-11-07 2020-02-28 浪潮云信息技术有限公司 一种基于区块链技术的安全存储数据的方法
CN110989934B (zh) * 2019-12-05 2023-08-25 达闼机器人股份有限公司 区块链节点数据存储方法、区块链系统及区块链节点
CN110989934A (zh) * 2019-12-05 2020-04-10 达闼科技成都有限公司 区块链节点数据存储方法、区块链系统及区块链节点
CN111431728A (zh) * 2020-03-30 2020-07-17 腾讯科技(深圳)有限公司 一种分布式应用程序的用户群组管理方法
CN111431728B (zh) * 2020-03-30 2024-02-09 腾讯科技(深圳)有限公司 一种分布式应用程序的用户群组管理方法
CN111683120A (zh) * 2020-05-22 2020-09-18 哈尔滨工程大学 一种支持验证节点动态变化的联盟节点存储方法
CN112685420A (zh) * 2020-12-31 2021-04-20 北京存金所贵金属有限公司 一种区块链数据的扩容方法、装置、调度控制器及系统
CN113260188A (zh) * 2021-05-11 2021-08-13 赵超然 一种区块链数据监管存储机
CN113612810A (zh) * 2021-05-18 2021-11-05 中国信息通信研究院 基于dht的集群节点间性能优化方法、电子设备及存储介质

Also Published As

Publication number Publication date
WO2018112805A1 (zh) 2018-06-28
CN107079059B (zh) 2019-12-10

Similar Documents

Publication Publication Date Title
CN107079059A (zh) 区块链存储方法、装置及节点设备
CN114401150B (zh) 区块链网络中加入节点的方法和区块链系统
CN101009516B (zh) 一种进行数据同步的方法、系统及装置
CN106293968A (zh) 一种基于Kafka消息中间件的双向通信系统及方法
JP6144279B2 (ja) データ配信の最適化
CN107317842A (zh) 基于ndn的区块链同步方法和装置
CN107332826A (zh) 区块链代理节点的通信方法及装置
EP2667519A1 (en) Bluetooth connection method
CN104836719A (zh) 一种即时通讯未读消息的同步方法和系统
CN101163117B (zh) 一种群组管理方法、群组资源共享方法及即时通讯装置
CN103109273B (zh) 用于管理数据的方法和装置
EP3477561A1 (en) System for goods delivery
CN111163148B (zh) 一种区块链系统的共识状态的同步方法及相关设备
JP6274680B1 (ja) 取引記録システムおよびプログラム
US11265182B2 (en) Messaging to enforce operation serialization for consistency of a distributed data structure
CN105264514A (zh) 为移动计算提供性能和能量优化的方法、装置和计算机程序产品
CN112417001B (zh) 基于区块链网络的数据处理方法及相关设备
CN112200681A (zh) 区块链网络的业务处理方法、信息处理方法及节点设备
CN111639080A (zh) 一种数据处理方法、装置、节点设备及存储介质
CN109714398B (zh) 数据存储方法和装置
CN111488610A (zh) 基于业务数据区块链的状态数据查询方法及装置
CN115334025B (zh) 去中心化的即时通信方法、装置、设备及存储介质
CN111488344A (zh) 基于业务数据区块链的用户操作数据上链方法及系统
CN111538865B (zh) 多方集合同步方法、装置和电子设备
TW201824014A (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
TR01 Transfer of patent right

Effective date of registration: 20210312

Address after: 201111 2nd floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai

Patentee after: Dalu Robot Co.,Ltd.

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Patentee before: Shenzhen Qianhaida Yunyun Intelligent Technology Co.,Ltd.

TR01 Transfer of patent right
CP03 Change of name, title or address

Address after: 201111 Building 8, No. 207, Zhongqing Road, Minhang District, Shanghai

Patentee after: Dayu robot Co.,Ltd.

Address before: 201111 2nd floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai

Patentee before: Dalu Robot Co.,Ltd.

CP03 Change of name, title or address