CN112069169A - 区块数据存储方法、装置、电子设备及可读存储介质 - Google Patents
区块数据存储方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN112069169A CN112069169A CN202010754833.2A CN202010754833A CN112069169A CN 112069169 A CN112069169 A CN 112069169A CN 202010754833 A CN202010754833 A CN 202010754833A CN 112069169 A CN112069169 A CN 112069169A
- Authority
- CN
- China
- Prior art keywords
- data
- block
- block data
- value
- distance
- 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/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
- G06F16/2365—Ensuring data consistency and integrity
-
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Strategic Management (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种当前区块数据存储方法、装置、电子设备及可读存储介质,方法包括:获得当前区块数据,并计算当前区块数据的区块哈希值,将区块哈希值映射到预先构建的哈希环上,以确定当前区块数据在哈希环上对应的第一位置,确定第一位置与第二位置之间的距离,其中,第二位置为将区块链节点的公钥值映射到哈希环上确定的、且为区块链节点在哈希环上对应的位置,若第一位置与第二位置之间的距离小于等于预设阈值,则存储当前区块数据,其中,预设阈值为根据期望比例和哈希环的周长确定的,期望比例为期望区块链网络中的每个节点上存储的区块数据占区块链上的所有区块数据的比例,在一定程度上降低了区块链节点的数据存储压力。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种区块数据存储方法、装置、电子设备及可读存储介质。
背景技术
区块链是一种按照时间顺序将当前区块数据以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。区块链存储模式是基于区块链的去中心化存储,区块链网络中的每个节点都包含区块链上的区块链数据。由于随着时间的推移,区块链上的交易日益增多,导致区块链上的当前区块数据不断增多,单台节点变得越来越难以承载区块链数据。
而在虚拟货币的生态圈中,大多数为普通用户,普通用户的终端设备如果也需要存储区块链数据,则面临存储压力过大的问题,因此,简单支付验证(SPV,SimplifiedPayment Verification)节点应运而生,SPV节点未存储区块链数据中的区块体数据(区块体数据中包括交易信息),只存储当前区块数据中的区块头数据。区块链网络中虽然增加了SPV节点,但是仍然存在全节点,因此,全节点仍旧面临较大的数据存储压力。
发明内容
本发明实施例的目的在于提供一种区块数据存储方法、装置、电子设备及可读存储介质,以解决区块链网络中的全节点的数据存储压力大的问题。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种当前区块数据存储方法,执行于区块链节点,包括:
获得当前区块数据,并计算所述当前区块数据的区块哈希值;
将所述区块哈希值映射到预先构建的哈希环上,以确定所述当前区块数据在所述哈希环上对应的第一位置;
确定所述第一位置与第二位置之间的距离,其中,所述第二位置为将所述区块链节点的公钥值映射到所述哈希环上确定的、且为所述区块链节点在所述哈希环上对应的位置;
若所述第一位置与所述第二位置之间的距离小于等于预设阈值,则存储所述当前区块数据,其中,所述预设阈值为根据期望比例和所述哈希环的周长确定的,所述期望比例为期望区块链网络中的每个节点上存储的区块数据占区块链上的所有区块数据的比例。
在本发明实施的第二方面,还提供了一种区块数据存储装置,设置于区块链节点,包括:
获得模块,用于获得当前区块数据,并计算所述当前区块数据的区块哈希值;
映射模块,用于将所述区块哈希值映射到预先构建的哈希环上,以确定所述当前区块数据在所述哈希环上对应的第一位置;
距离确定模块,用于确定所述第一位置与第二位置之间的距离,其中,所述第二位置为将所述区块链节点的公钥值映射到所述哈希环上确定的、且为所述区块链节点在所述哈希环上对应的位置;
存储模块,用于若所述第一位置与所述第二位置之间的距离小于等于预设阈值,则存储所述当前区块数据,其中,所述预设阈值为根据期望比例和所述哈希环的周长确定的,所述期望比例为期望区块链网络中的每个节点上存储的区块数据占区块链上的所有区块数据的比例。
在本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述所述的方法步骤。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所述的方法。
本实施例提供的当前区块数据存储方法,通过获得当前区块数据,并计算当前区块数据的区块哈希值,将区块哈希值映射到预先构建的哈希环上,以确定当前区块数据在哈希环上对应的第一位置,确定第一位置与第二位置之间的距离,其中,第二位置为将区块链节点的公钥值映射到哈希环上确定的、且为区块链节点在哈希环上对应的位置,若第一位置与第二位置之间的距离小于等于预设阈值,则存储当前区块数据,其中,预设阈值为根据期望比例和哈希环的周长确定的,期望比例为期望区块链网络中的每个节点上存储的区块数据占区块链上的所有区块数据的比例。由于本实施例中在第一位置与第二位置之间的距离小于等于预设阈值的情况下,存储当前区块数据,并且由于预设阈值是根据期望比例和哈希环的周长确定的,期望比例为期望区块链网络中的每个节点上存储的区块数据占区块链上的所有区块数据的比例,从而在一定程度上实现每个区块链节点存储所有区块数据中的部分区块数据,该部分区块数据近似等于期望比例的所有区块数据,也即避免每个区块链节点存储所有区块数据,从而避免全节点的存在,在一定程度上降低了区块链节点的数据存储压力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例中提供的一种区块数据存储方法的步骤流程图;
图2为本发明实施例中提供的一种哈希环示意图;
图3为本发明实施例中提供的另一种区块数据存储方法的步骤流程图;
图4为本发明实施例中提供的另一种哈希环示意图;
图5为本发明实施例提供的一种区块数据存储装置的结构示意图;
图6为本发明实施例提供的另一种区块数据存储装置的结构示意图;
图7为本发明实施例提供的又一种区块数据存储装置的结构示意图;
图8为本发明实施例中提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
参照图1,图1为本发明实施例中提供的一种区块数据存储方法的步骤流程图。该方法可以由区块链节点执行,区块链节点包括计算机、服务器等电子设备。该方法包括如下步骤:
步骤101、获得当前区块数据,并计算当前区块数据的区块哈希值。
由于每个区块数据都包括区块头数据和区块体数据,区块头数据包括区块头通常包括区块版本号、该当前区块数据的上一个当前区块数据的区块哈希值、该当前区块数据的默克尔树的根节点哈希值、时间戳、该当前区块数据的当前难度目标哈希值、随机数等数据。区块体数据主要包含交易信息。根据区块体数据可以计算该区块数据的默克尔(Merkle)树的根节点哈希值,将该区块数据的区块头数据进行哈希运算,获得该区块数据的区块哈希值。因此,在获得当前区块数据后,可以计算当前区块数据的区块哈希值。
需要说明的是,当区块链网络中的某个区块链节点(挖矿节点)挖到区块数据后,会广播区块数据,与该区块链节点相连接的其他区块链节点接收到区块数据后,可以计算区块数据的区块哈希值,接收到的该区块数据即为当前区块数据。
步骤102、将区块哈希值映射到预先构建的哈希环上,以确定当前区块数据在哈希环上对应的第一位置。
可以通过一致性哈希算法,其哈希函数的整个哈希值空间组织成一个虚拟的圆环(即哈希环),比如某哈希函数的整个哈希值空间为0至2n-1(即哈希值是一个n比特位的无符号整形,例如n=10时,整个哈希值空间为0至1023),那么整个哈希环可以参照图2所示,图2为本发明实施例中提供的一种哈希环示意图。整个空间按顺时针方向组织成一个圆环,圆环的正上方的A点代表0(即时钟12点位置为0),0点右侧的第一个点代表1(如图2所示的B点),A点右侧的第二个点代表2,以此类推,3、4、5、6……直到2n-1,也就是说0点左侧的第一个点代表2n-1(如图2所示的C点),我们把这个由2n个点组成的圆环称为哈希环。
将区块哈希值映射到哈希环上,即可以在哈希环上确定一个位置(第一位置),该位置即为当前区块数据在哈希环上对应的位置,本发明实施例称为第一位置。例如,如图2所示,如果区块哈希值等于1,则图2中的B点对应的位置即为第一位置。
步骤103、确定第一位置与第二位置之间的距离,其中,第二位置为将区块链节点的公钥值映射到哈希环上确定的、且为区块链节点在哈希环上对应的位置。
区块链上的每个区块链节点都有一个公私钥对,该公私钥对包括一个公钥值和一个私钥值。某个区块链节点的公钥值对于区块链中的其他区块链节点是公开的,该区块链节点的私钥值只有该区块链节点才拥有。将区块链节点的公钥值映射到哈希环上,以确定该区块链节点在哈希环上对应的第二位置。
确定第一位置和第二位置后,即可以确定哈希环上的第一位置和第二位置之间的距离。
步骤104、若第一位置与第二位置之间的距离小于等于预设阈值,则存储当前区块数据。
其中,预设阈值为根据期望比例和哈希环的周长确定的 期望比例为期望区块链网络中的每个节点上存储的区块数据占区块链上的所有区块数据的比例,此处的节点指区块链网络中的区块链节点。例如,以哈希环的周长L=2n为例,如果期望区块链网络中的每个节点上存储的区块数据占区块链上的所有区块数据的比例为则期望比例等于预设阈值为如果期望区块链网络中的每个节点上存储的区块数据占区块链上的所有区块数据的比例为则期望比例为预设阈值为
若第一位置与第二位置之间的距离小于等于预设阈值,则存储当前区块数据,即存储当前区块数据的区块头数据以及区块体数据。若第一位置与第二位置之间的距离小于等于预设阈值,说明当前区块数据在接收到当前区块数据的区块链节点的覆盖范围内,该区块链节点应该存储此当前区块数据,从而实现达到期望的目标,即该区块链节点存储期望比例的区块数据。
需要说明的是,现有技术中存在全节点的情况下,仍然无法降低全节点的数据存储压力,全节点指的是拥有完整区块链账本的节点,全节点需要占用内存同步所有的当前区块数据,能够独立校验区块链上的所有交易并实时更新数据的节点。而本实施例中在第一位置与第二位置之间的距离小于等于预设阈值的情况下,存储当前区块数据,并非如现有技术中的全节点需存储区块链上的所有区块数据。
本实施例提供的当前区块数据存储方法,通过获得当前区块数据,并计算当前区块数据的区块哈希值,将区块哈希值映射到预先构建的哈希环上,以确定当前区块数据在哈希环上对应的第一位置,确定第一位置与第二位置之间的距离,其中,第二位置为将区块链节点的公钥值映射到哈希环上确定的、且为区块链节点在哈希环上对应的位置,若第一位置与第二位置之间的距离小于等于预设阈值,则存储当前区块数据,其中,预设阈值为根据期望比例和哈希环的周长确定的,期望比例为期望区块链网络中的每个节点上存储的区块数据占区块链上的所有区块数据的比例。由于本实施例中在第一位置与第二位置之间的距离小于等于预设阈值的情况下,存储当前区块数据,并且由于预设阈值是根据期望比例和哈希环的周长确定的,期望比例为期望区块链网络中的每个节点上存储的区块数据占区块链上的所有区块数据的比例,从而在一定程度上实现每个区块链节点存储所有区块数据中的部分区块数据,该部分区块数据近似等于期望比例的所有区块数据,也即避免每个区块链节点存储所有区块数据,从而避免全节点的存在,在一定程度上降低了区块链节点的数据存储压力。
参照图3,图3为本发明实施例中提供的另一种当前区块数据存储方法的步骤流程图,该方法包括如下步骤:
步骤301、获得当前区块数据,并计算当前区块数据的区块哈希值。
步骤302、将区块哈希值映射到预先构建的哈希环上,以确定当前区块数据在哈希环上对应的第一位置。
步骤303、根据公钥值、区块哈希值、以及哈希环的周长,确定第一位置与第二位置之间的距离。
其中,根据公钥值、区块哈希值、以及哈希环的周长,确定第一位置与第二位置之间的距离可以通过如下两种方式实现:
实现方式一可以包括如下步骤:
计算区块哈希值与公钥值之间的第一差值;
将第一差值对哈希环的周长进行取模运算,获得第一取模运算结果;
若第一取模运算结果小于等于周长的二分之一,则将第一取模运算结果作为第一位置与第二位置之间的距离。
若第一取模运算结果大于周长的二分之一,则计算周长与第一取模运算结果的第二差值,并将第二差值对周长进行取模运算,获得第二取模运算结果,并将第二取模运算结果作为第一位置与第二位置之间的距离。
参照图4,图4为本发明实施例中提供的另一种哈希环示意图。图4所示的哈希环的周长L=2n=24=16为例进行介绍,正上方的A点对应的数值等于0,正下方的B点对应的数值等于8,如果区块链节点的公钥值映射到哈希环上的第二位置为哈希环上的数值15对应的位置P(即公钥值等于15),获得的当前区块数据1的区块哈希值映射到哈希环上的第一位置为哈希环上的数值13对应的位置A1(即当前区块数据1的区块哈希值等于13),A1和P之间的黑圆点表示数值等于14对应的位置。若要计算位置A1和位置P之间的距离1,可以先计算第一差值1等于13-15=-2,-2对周长16进行取模运算后的第一取模运算结果为14(例如a对b进行取模运算后的取模运算结果等于a-c×b,其中,c等于a除以b得到的整数,当a为负数时,c向负无穷远处取整数),由于14大于周长的二分之一(周长的二分之一等于8),则计算周长与14的第二差值等于2,并将第二差值2对周长16进行取模运算,获得的第二取模运算结果等于2,则位置A1与位置P之间的距离1等于2。
如果区块链节点的公钥值映射到位置P(即公钥值等于15),获得的当前区块数据2的区块哈希值映射到哈希环上的第一位置为哈希环上的数值1对应的位置A2(即当前区块数据2的区块哈希值等于1),若要计算位置A2和位置P之间的距离2,可以先计算第一差值2等于1-15=-14,-14对周长16进行取模运算后的第一取模运算结果为2,由于2小于周长的二分之一(周长的二分之一等于8),则直接将2作为位置A2与位置P之间的距离2。
如果区块链节点的公钥值映射到位置P(即公钥值等于15),获得的当前区块数据3的区块哈希值映射到哈希环上的第一位置为哈希环上的数值5对应的位置A3(即当前区块数据3的区块哈希值等于5),若要计算位置A3和位置P之间的距离3,可以先计算第一差值3等于5-15=-10,-10对周长16进行取模运算后的第一取模运算结果为6,由于6小于周长的二分之一(周长的二分之一等于8),则直接将6作为位置A2与位置P之间的距离3。
根据上述实现方式一,可以计算出区块链节点在哈希环上对应的第二位置和当前区块数据在哈希环对应的第一位置之间的距离,鉴于篇幅限制,在此不再一一举例介绍。
实现方式二可以包括如下步骤:
计算区块哈希值与公钥值之间的差值的绝对值;
若绝对值小于等于周长的二分之一,则将绝对值对周长进行取模运算,获得第三取模运算结果,并将第三取模运算结果作为第一位置与第二位置之间的距离;
若绝对值大于周长的二分之一,则计算周长与绝对值的第三差值,并将第三差值对周长进行取模运算,获得第四取模运算结果,并将第四取模运算结果作为第一位置与第二位置之间的距离。
根据实现方式二也可以计算出位置A1与位置P之间的距离,结合上述举例说明,当区块哈希值与公钥值之间的差值等于-2,该差值的绝对值等于2,2小于周长的二分之一,则将绝对值2对周长进行取模运算,获得第三取模运算结果2,并将2作为位置A1和位置P之间的距离1。同样可以计算位置A2和位置P之间的距离2,位置A3和位置P之间的距离3。
步骤304、若第一位置与第二位置之间的距离小于等于预设阈值,则存储当前区块数据。
结合上述举例进行介绍,哈希环的周长L=2n=24=16,以预设阈值等于为例,则距离1等于2小于预设阈值4,接收到区块数据1的区块链节点则存储当前区块数据1。距离2等于2小于预设阈值4,接收到当前区块数据2的区块链节点则存储区块数据2。
若第一位置与第二位置之间的距离大于预设阈值,则删除当前区块数据中的区块体数据,并存储当前区块数据中的区块头数据。若第一位置与第二位置之间的距离大于预设阈值,说明当前区块数据不在接收到当前区块数据的区块链节点的覆盖范围内,则该区块链节点删除当前区块数据中的区块体数据,只存储当前区块数据中的区块头数据。例如,距离3大于预设阈值4,则删除当前区块数据3中的区块体数据,并存储当前区块数据3中的区块头数据。具体的,若第一位置与第二位置之间的距离大于预设阈值,则删除当前区块数据中的区块体数据,并存储当前区块数据中的区块头数据可以通过如下步骤305至步骤307实现。
步骤305、若第一位置与第二位置之间的距离大于预设阈值,则判断当前区块数据是否有效。
结合上述举例介绍,由于距离3等于6大于预设阈值4,则接着判断当前区块数据3是否有效。判断当前区块数据3是否有效可以依据现有技术提供的方法进行判断。可以依据一个规则列表对当前区块数据进行验证,如果不符合任一要求,当前区块数据将被拒绝。这些规则列表主要包括如下内容:当前区块数据结构的语法正确、区块哈希值比目标难度小(确保满足工作量证明要求)、当前区块数据的时间戳早于未来2小时(允许时间错误)、当前区块数据的大小在允许范围内、当前区块数据中的第一个交易(只有第一个)是一个铸币交易、当前区块数据中的所有交易有效。
步骤306、若确定当前区块数据有效,则将当前区块数据广播给与区块链节点相连接的区块链节点。
例如,如果当前区块数据3满足规则列表中的所有条件,则可以确定当前区块数据3有效,则区块链节点1可以将区块数据广播给与该区块链节点1相连接的其他区块链节点2,其他区块链节点2接收到当前区块数据3后,可以采用步骤301至步骤303计算自身在哈希环上对应的位置与当前区块数据3在哈希环上对应的位置之间的距离,并在该距离小于等于预设阈值的情况下,存储当前区块数据3;在该距离大于预设阈值的情况下,判断当前区块数据3是否有效,在当前区块数据3有效的情况下,则将当前区块数据3广播给与区块链节点2相连接的区块链节点。
步骤307、若第一位置与第二位置之间的距离大于预设阈值、且计时时长大于或等于预设时长,则删除当前区块数据中的区块体数据,并存储当前区块数据中的区块头数据。
其中,计时时长为确定当前区块数据有效时至当前时刻之间的时长。即在确定数据有效后开始计时,在计时时长大于或等于预设时长后,删除当前区块数据中的区块体数据,从而可以保证当前区块数据能够全部广播出去,保证与区块链节点相连接的其他区块链节点接收到当前区块数据。
需要说明的是,按照本发明实施例提供的区块数据存储方法,可以在在一定程度上避免区块链节点存储所有区块数据,即避免全节点的出现,实现每个区块链节点存储所有区块数据中的部分区块数据。在此种情况下,为了保证用户的查询需求,可选的,本实施例中还提供了如下方案:在步骤307之后或者在步骤304之后,当某个区块链节点需要某个区块数据,而自身未存储该区块数据的情况下,可以通过伙伴对伙伴(P2P,peer-to-peer)网络,利用gossip协议(Gossip是一种去中心化、容错并保证最终一致性的协议)咨询与该区块链节点相连接的其他区块链节点是否存储了该区块数据。具体的可以参照如下步骤:
接收查询请求,其中,所述查询请求包括目标区块数据标识;
响应于查询请求,判断区块链节点中是否存储目标区块数据标识对应的目标区块数据;
若区块链节点中未存储目标区块数据,则向与区块链节点相连接的目标节点发送数据获取请求,其中,数据获取请求中包括目标区块数据标识;
接收目标节点发送的与目标区块数据标识对应的目标区块数据;
计算目标区块数据对应的默克尔树的第一根哈希值,并判断第一根哈希值与第二根哈希值是否一致,其中,第二根哈希值为区块链节点存储的目标区块头数据中的根哈希值,目标区块头数据为目标区块数据中的区块头数据;
若第一根哈希值与第二根哈希值一致,则根据目标区块数据,获取与查询请求对应的查询结果。
例如,用户需要查询某个时间段内的交易信息,该时间段对应的交易信息对应有交易标识,查询请求中包括交易标识和目标区块数据标识,区块链节点1接收到查询请求,并响应于查询请求,判断区块链节点1中是否存储目标区块数据标识对应的目标区块数据(区块链节点1可以通过不同的标识区分存储了哪些区块数据,以及仅存储了哪些区块数据中的区块头数据),如果存储了目标区块数据,则可以从目标区块数据中获取到交易标识对应的交易信息。如果未存储目标区块数据,则向区块链节点1相连接的目标节点发送数据获取请求,以从目标节点获取目标区块数据。以区块链节点1中当前存储了区块数据1、区块数据2、区块数据3的区块头数据3为例,目标区块数据标识为区块数据3,如果区块链节点1相连接的区块链节点包括区块链节点2和区块链节点3,则区块链节点1可以先将区块链节点2和区块链节点3中的一个节点作为目标节点,例如将区块链节点3作为目标节点,并向区块链节点3发送数据获取请求,如果区块链节点2存储了区块数据3,而区块链节点3中未存储区块数据3,则区块链节点1无法从区块链节点3获取区块数据3。区块链节点1再将区块链节点2作为目标节点,并向区块链节点2发送数据获取请求,区块链节点2向区块链节点1发送区块数据3(需要说明的是,如果区块链节点2也未存储区块数据3,则区块链节点2向区块链节点2的相连接的其他节点发送数据获取请求,以从区块链节点2的相连接的节点获取到区块数据3,其他节点指与区块链节点2相连接且除区块链节点1之外的节点),相应的,区块链节点1可以接收到区块链节点2发送的区块数据3(区块数据3为目标区块数据)。区块链节点1可以计算区块数据3的Merkle树的根哈希值,并将计算得到的区块数据3的Merkle树的第一根哈希值和自己保存的区块头数据3中的Merkle树的第二根哈希值比对,如果计算得到的区块数据3的Merkle树的第一根哈希值和自己保存的区块头数据3中的Merkle树的第二根哈希值一致,则可以确定区块数据3为合法的区块数据,则可以根据目标区块数据(即区块数据3),获取与查询请求对应的查询结果,也即遍历区块数据3获取用户查询的该时间段内的交易信息,也即获取到与交易标识对应的交易信息。
需要说明的是,现有技术中的SPV节点只存储区块数据中的区块头数据,从而在SPV节点侧的用户需要查询交易信息时,SPV节点需要向全节点获取所有区块数据,而全节点的个数比较少,当同时有较多数目的SPV节点向全节点获取区块数据时,会造成全节点的通信压力过大的问题。而本实施例中由于在在一定程度上保障区块链节点存储部分区块数据,因此,当区块链节点上未存储某区块数据时,可以向该区块链节点相连接的其他区块链节点获取区块数据,解决现有技术中的全节点通信压力过大的问题。
参照图5,图5为本发明实施例提供的一种区块数据存储装置的结构示意图,该装置500设置于区块链节点,包括:
获得模块501,用于获得当前区块数据,并计算所述当前区块数据的区块哈希值;
映射模块502,用于将所述区块哈希值映射到预先构建的哈希环上,以确定所述当前区块数据在所述哈希环上对应的第一位置;
距离确定模块503,用于确定所述第一位置与第二位置之间的距离,其中,所述第二位置为将所述区块链节点的公钥值映射到所述哈希环上确定的、且为所述区块链节点在所述哈希环上对应的位置;
存储模块504,用于若所述第一位置与所述第二位置之间的距离小于等于预设阈值,则存储所述当前区块数据,其中,所述预设阈值为根据期望比例和所述哈希环的周长确定的,所述期望比例为期望区块链网络中的每个节点上存储的区块数据占区块链上的所有区块数据的比例。
本发明实施例提供的当前区块数据存储装置,通过获得当前区块数据,并计算所述当前区块数据的区块哈希值,将所述区块哈希值映射到预先构建的哈希环上,以确定当前区块数据在所述哈希环上对应的第一位置,确定所述第一位置与第二位置之间的距离,其中,所述第二位置为将所述区块链节点的公钥值映射到所述哈希环上确定的、且为所述区块链节点在所述哈希环上对应的位置,若所述第一位置与所述第二位置之间的距离小于等于预设阈值,则存储所述当前区块数据,其中,所述预设阈值为根据期望比例和所述哈希环的周长确定的,所述期望比例为期望区块链网络中的每个节点上存储的区块数据占区块链上的所有区块数据的比例。由于本实施例中在第一位置与所述第二位置之间的距离小于等于预设阈值的情况下,存储当前区块数据,并且由于预设阈值是根据期望比例和所述哈希环的周长确定的,所述期望比例为期望区块链网络中的每个节点上存储的区块数据占区块链上的所有区块数据的比例,从而在一定程度上实现每个区块链节点存储所有区块数据中的部分区块数据,该部分区块数据近似等于期望比例的所有区块数据,也即避免每个区块链节点存储所有区块数据,从而避免全节点的存在,在一定程度上降低了区块链节点的数据存储压力。
可选的,参照图6,图6为本发明实施例提供的另一种区块数据存储装置的结构示意图,该装置600还可以包括:
删除模块601,用于若所述第一位置与所述第二位置之间的距离大于所述预设阈值,则删除所述当前区块数据中的区块体数据,并存储所述当前区块数据中的区块头数据。
可选的,所述距离确定模块503,具体用于根据所述公钥值、所述区块哈希值、以及所述哈希环的周长,确定所述第一位置与所述第二位置之间的距离。
可选的,所述距离确定模块503,包括:
第一计算单元5031,用于计算所述区块哈希值与所述公钥值之间的第一差值;
第一获得单元5032,用于将所述第一差值对所述哈希环的周长进行取模运算,获得第一取模运算结果;
第一确定单元5033,用于若所述第一取模运算结果小于等于所述周长的二分之一,则将所述第一取模运算结果作为所述第一位置与所述第二位置之间的距离。
可选的,所述第一确定单元5033,还用于若所述第一取模运算结果大于所述周长的二分之一,则计算所述周长与所述第一取模运算结果的第二差值,并将所述第二差值对所述周长进行取模运算,获得第二取模运算结果,并将所述第二取模运算结果作为所述第一位置与所述第二位置之间的距离。
可选的,参照图7,图7为本发明实施例提供的又一种区块数据存储装置的结构示意图,该装置700中的距离确定模块503,包括:
第二计算单元701,用于计算所述区块哈希值与所述公钥值之间的差值的绝对值;
第二获得单元702,用于若所述绝对值小于等于所述周长的二分之一,则将所述绝对值对所述周长进行取模运算,获得第三取模运算结果,并将所述第三取模运算结果作为所述第一位置与所述第二位置之间的距离;
第二确定单元703,用于若所述绝对值大于所述周长的二分之一,则计算所述周长与所述绝对值的第三差值,并将所述第三差值对所述周长进行取模运算,获得第四取模运算结果,并将所述第四取模运算结果作为所述第一位置与所述第二位置之间的距离。
可选的,参照图6,装置600还可以包括:
第一判断模块602,用于判断所述当前区块数据是否有效;
广播模块603,用于若确定所述当前区块数据有效,则将所述当前区块数据广播给与所述区块链节点相连接的区块链节点。
可选的,所述删除模块601,具体用于若所述第一位置与所述第二位置之间的距离大于所述预设阈值、且计时时长大于或等于预设时长,则删除所述当前区块数据中的区块体数据,并存储所述当前区块数据中的区块头数据,其中,所述计时时长为确定所述当前区块数据有效时至当前时刻之间的时长。
可选的,参照图7,装置700还可以包括:
接收模块704,用于接收查询请求,其中,所述查询请求包括目标区块数据标识;
标识确定模块705,用于响应于所述查询请求,判断所述区块链节点中是否存储目标区块数据标识对应的目标区块数据;
发送模块706,用于若区块链节点中未存储目标区块数据,则向与所述区块链节点相连接的目标节点发送数据获取请求,其中,所述数据获取请求中包括所述目标区块数据标识;
所述接收模块704,还用于接收所述目标节点发送的与所述目标区块数据标识对应的目标区块数据;
第二判断模块707,用于计算所述目标区块数据对应的默克尔树的第一根哈希值,并判断所述第一根哈希值与第二根哈希值是否一致,其中,第二根哈希值为区块链节点存储的目标区块头数据中的根哈希值,目标区块头数据为目标区块数据中的区块头数据;若所述第一根哈希值与第二根哈希值一致,则根据所述目标区块数据,获取与所述查询请求对应的查询结果。
本发明实施例还提供了一种电子设备,如图8所示,图8为本发明实施例中提供的一种电子设备的结构示意图。包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
存储器803,用于存放计算机程序;
处理器801,用于执行存储器803上所存放的程序时,实现如下步骤:
获得当前区块数据,并计算所述当前区块数据的区块哈希值;
将所述区块哈希值映射到预先构建的哈希环上,以确定所述当前区块数据在所述哈希环上对应的第一位置;
确定所述第一位置与第二位置之间的距离,其中,所述第二位置为将所述区块链节点的公钥值映射到所述哈希环上确定的、且为所述区块链节点在所述哈希环上对应的位置;
若所述第一位置与所述第二位置之间的距离小于等于预设阈值,则存储所述当前区块数据,其中,所述预设阈值为根据期望比例和所述哈希环的周长确定的,所述期望比例为期望区块链网络中的每个节点上存储的区块数据占区块链上的所有区块数据的比例。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(RandomAccess Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的当前区块数据存储方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的当前区块数据存储方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (13)
1.一种区块数据存储方法,其特征在于,执行于区块链节点,包括:
获得当前区块数据,并计算所述当前区块数据的区块哈希值;
将所述区块哈希值映射到预先构建的哈希环上,以确定所述当前区块数据在所述哈希环上对应的第一位置;
确定所述第一位置与第二位置之间的距离,其中,所述第二位置为将所述区块链节点的公钥值映射到所述哈希环上确定的、且为所述区块链节点在所述哈希环上对应的位置;
若所述第一位置与所述第二位置之间的距离小于等于预设阈值,则存储所述当前区块数据,其中,所述预设阈值为根据期望比例和所述哈希环的周长确定的,所述期望比例为期望区块链网络中的每个节点上存储的区块数据占区块链上的所有区块数据的比例。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述第一位置与所述第二位置之间的距离大于所述预设阈值,则删除所述当前区块数据中的区块体数据,并存储所述当前区块数据中的区块头数据。
3.根据权利要求1或2所述的方法,其特征在于,所述确定所述第一位置与第二位置之间的距离,包括:
根据所述公钥值、所述区块哈希值、以及所述哈希环的周长,确定所述第一位置与所述第二位置之间的距离。
4.根据权利要求3所述的方法,其特征在于,所述根据所述公钥值、所述区块哈希值、以及所述哈希环的周长,确定所述第一位置与所述第二位置之间的距离,包括:
计算所述区块哈希值与所述公钥值之间的第一差值;
将所述第一差值对所述哈希环的周长进行取模运算,获得第一取模运算结果;
若所述第一取模运算结果小于等于所述周长的二分之一,则将所述第一取模运算结果作为所述第一位置与所述第二位置之间的距离。
5.根据权利要求4所述的方法,其特征在于,还包括:
若所述第一取模运算结果大于所述周长的二分之一,则计算所述周长与所述第一取模运算结果的第二差值,并将所述第二差值对所述周长进行取模运算,获得第二取模运算结果,并将所述第二取模运算结果作为所述第一位置与所述第二位置之间的距离。
6.根据权利要求3所述的方法,其特征在于,所述根据所述公钥值、所述区块哈希值、以及所述哈希环的周长,确定所述第一位置与所述第二位置之间的距离,包括:
计算所述区块哈希值与所述公钥值之间的差值的绝对值;
若所述绝对值小于等于所述周长的二分之一,则将所述绝对值对所述周长进行取模运算,获得第三取模运算结果,并将所述第三取模运算结果作为所述第一位置与所述第二位置之间的距离;
若所述绝对值大于所述周长的二分之一,则计算所述周长与所述绝对值的第三差值,并将所述第三差值对所述周长进行取模运算,获得第四取模运算结果,并将所述第四取模运算结果作为所述第一位置与所述第二位置之间的距离。
7.根据权利要求2所述的方法,其特征在于,在所述删除所述当前区块数据中的区块体数据,并存储所述当前区块数据中的区块头数据之前,还包括:
判断所述当前区块数据是否有效;
若确定所述当前区块数据有效,则将所述当前区块数据广播给与所述区块链节点相连接的区块链节点。
8.根据权利要求2或7所述的方法,其特征在于,所述若所述第一位置与所述第二位置之间的距离大于所述预设阈值,则删除所述当前区块数据中的区块体数据,并存储所述当前区块数据中的区块头数据,包括:
若所述第一位置与所述第二位置之间的距离大于所述预设阈值、且计时时长大于或等于预设时长,则删除所述当前区块数据中的区块体数据,并存储所述当前区块数据中的区块头数据,其中,所述计时时长为确定所述当前区块数据有效时至当前时刻之间的时长。
9.根据权利要求1所述的方法,其特征在于,还包括:
接收查询请求,其中,所述查询请求包括目标区块数据标识;
响应于所述查询请求,判断所述区块链节点中是否存储所述目标区块数据标识对应的目标区块数据;
若所述区块链节点中未存储所述目标区块数据,则向与所述区块链节点相连接的目标节点发送数据获取请求,其中,所述数据获取请求中包括所述目标区块数据标识;
接收所述目标节点发送的与所述目标区块数据标识对应的目标区块数据;
计算所述目标区块数据对应的默克尔树的第一根哈希值,并判断所述第一根哈希值与第二根哈希值是否一致,其中,所述第二根根哈希值为所述区块链节点存储的目标区块头数据中的根哈希值,所述目标区块头数据为所述目标区块数据中的区块头数据;
若所述第一根哈希值与所述第二根哈希值一致,则根据所述所述目标区块数据,获取与所述查询请求对应的查询结果。
10.一种区块数据存储装置,其特征在于,设置于区块链节点,包括:
获得模块,用于获得当前区块数据,并计算所述当前区块数据的区块哈希值;
映射模块,用于将所述区块哈希值映射到预先构建的哈希环上,以确定所述当前区块数据在所述哈希环上对应的第一位置;
距离确定模块,用于确定所述第一位置与第二位置之间的距离,其中,所述第二位置为将所述区块链节点的公钥值映射到所述哈希环上确定的、且为所述区块链节点在所述哈希环上对应的位置;
存储模块,用于若所述第一位置与所述第二位置之间的距离小于等于预设阈值,则存储所述当前区块数据,其中,所述预设阈值为根据期望比例和所述哈希环的周长确定的,所述期望比例为期望区块链网络中的每个节点上存储的区块数据占区块链上的所有区块数据的比例。
11.根据权利要求10所述的装置,其特征在于,还包括:
删除模块,用于若所述第一位置与所述第二位置之间的距离大于所述预设阈值,则删除所述当前区块数据中的区块体数据,并存储所述当前区块数据中的区块头数据。
12.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-9任一所述的方法步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010754833.2A CN112069169B (zh) | 2020-07-30 | 2020-07-30 | 区块数据存储方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010754833.2A CN112069169B (zh) | 2020-07-30 | 2020-07-30 | 区块数据存储方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112069169A true CN112069169A (zh) | 2020-12-11 |
CN112069169B CN112069169B (zh) | 2023-08-15 |
Family
ID=73656783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010754833.2A Active CN112069169B (zh) | 2020-07-30 | 2020-07-30 | 区块数据存储方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112069169B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113592656A (zh) * | 2021-09-27 | 2021-11-02 | 杭州宇链科技有限公司 | 联盟链交易同步优化方法、计算机可读介质和电子设备 |
CN113610529A (zh) * | 2021-08-24 | 2021-11-05 | 上海点融信息科技有限责任公司 | 联盟链的区块存储、获取方法、装置、节点和存储介质 |
CN113627937A (zh) * | 2021-08-24 | 2021-11-09 | 上海点融信息科技有限责任公司 | 一种区块存储方法、装置、设备和存储介质 |
WO2023279970A1 (zh) * | 2021-07-07 | 2023-01-12 | 支付宝(杭州)信息技术有限公司 | 基于区块链的数据同步的方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653629A (zh) * | 2015-12-28 | 2016-06-08 | 湖南蚁坊软件有限公司 | 一种基于哈希环的分布式数据过滤方法 |
CN108737375A (zh) * | 2018-04-13 | 2018-11-02 | 中山大学 | 一种区块链共识方法及系统 |
US20180323962A1 (en) * | 2017-05-03 | 2018-11-08 | International Business Machines Corporation | Reduction in storage usage in blockchain |
CN109842606A (zh) * | 2018-02-24 | 2019-06-04 | 中国科学院计算技术研究所 | 基于一致性哈希算法的区块链共识算法和系统 |
KR20190130933A (ko) * | 2018-05-15 | 2019-11-25 | 바이노드 피티이. 엘티디. | 블록체인 기반의 데이터 구성 방법 및 장치 |
CN111311414A (zh) * | 2020-02-27 | 2020-06-19 | 杭州云象网络技术有限公司 | 一种基于一致性哈希算法的区块链多方共识方法 |
CN111324633A (zh) * | 2020-02-18 | 2020-06-23 | 杭州复杂美科技有限公司 | 一种区块链交易分布式缓存方法和系统、设备及存储介质 |
CN111447069A (zh) * | 2020-03-23 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 一种基于区块链的低频访问数据处理方法 |
-
2020
- 2020-07-30 CN CN202010754833.2A patent/CN112069169B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653629A (zh) * | 2015-12-28 | 2016-06-08 | 湖南蚁坊软件有限公司 | 一种基于哈希环的分布式数据过滤方法 |
US20180323962A1 (en) * | 2017-05-03 | 2018-11-08 | International Business Machines Corporation | Reduction in storage usage in blockchain |
CN109842606A (zh) * | 2018-02-24 | 2019-06-04 | 中国科学院计算技术研究所 | 基于一致性哈希算法的区块链共识算法和系统 |
CN108737375A (zh) * | 2018-04-13 | 2018-11-02 | 中山大学 | 一种区块链共识方法及系统 |
KR20190130933A (ko) * | 2018-05-15 | 2019-11-25 | 바이노드 피티이. 엘티디. | 블록체인 기반의 데이터 구성 방법 및 장치 |
CN111324633A (zh) * | 2020-02-18 | 2020-06-23 | 杭州复杂美科技有限公司 | 一种区块链交易分布式缓存方法和系统、设备及存储介质 |
CN111311414A (zh) * | 2020-02-27 | 2020-06-19 | 杭州云象网络技术有限公司 | 一种基于一致性哈希算法的区块链多方共识方法 |
CN111447069A (zh) * | 2020-03-23 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 一种基于区块链的低频访问数据处理方法 |
Non-Patent Citations (1)
Title |
---|
刘榴: "分布式存储系统容错机制的研究与实现", 《中国优秀硕士学位论文全文数据库》, no. 1 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023279970A1 (zh) * | 2021-07-07 | 2023-01-12 | 支付宝(杭州)信息技术有限公司 | 基于区块链的数据同步的方法和装置 |
CN113610529A (zh) * | 2021-08-24 | 2021-11-05 | 上海点融信息科技有限责任公司 | 联盟链的区块存储、获取方法、装置、节点和存储介质 |
CN113627937A (zh) * | 2021-08-24 | 2021-11-09 | 上海点融信息科技有限责任公司 | 一种区块存储方法、装置、设备和存储介质 |
CN113592656A (zh) * | 2021-09-27 | 2021-11-02 | 杭州宇链科技有限公司 | 联盟链交易同步优化方法、计算机可读介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112069169B (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112446785B (zh) | 跨链交易方法、系统、装置、设备和存储介质 | |
CN110263035B (zh) | 基于区块链的数据存储、查询方法及装置和电子设备 | |
US11501533B2 (en) | Media authentication using distributed ledger | |
CN112069169A (zh) | 区块数据存储方法、装置、电子设备及可读存储介质 | |
CN109831487B (zh) | 分片文件验证方法及终端设备 | |
CN108923932B (zh) | 一种去中心化协同验证系统及验证方法 | |
CN111163182B (zh) | 基于区块链的设备注册方法、装置、电子设备和存储介质 | |
CN109656873B (zh) | 基于区块链的数据归档方法、装置及终端设备 | |
CN108710681B (zh) | 文件获取方法、装置、设备及存储介质 | |
CN110543448A (zh) | 数据同步方法、装置、设备及计算机可读存储介质 | |
TWI712972B (zh) | 聯盟鏈的可信度驗證方法、系統、裝置及設備 | |
EP3817333B1 (en) | Method and system for processing requests in a consortium blockchain | |
CN111460458B (zh) | 一种数据处理方法、相关装置及计算机可存储介质 | |
CN110597918A (zh) | 一种账户管理方法、装置及计算机可读存储介质 | |
CN111447069B (zh) | 一种基于区块链的低频访问数据处理方法 | |
CN112184436B (zh) | 数据同步方法、电子设备及可读存储介质 | |
CN111367923A (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN113010872A (zh) | 一种身份认证方法、装置、计算机设备及存储介质 | |
CN111026711A (zh) | 基于区块链数据存储方法、装置、计算机设备及存储介质 | |
CN111327680B (zh) | 认证数据同步方法、装置、系统、计算机设备和存储介质 | |
CN113824755A (zh) | 区块链数据处理的方法、系统及相关装置 | |
CN112436962A (zh) | 区块链共识网络动态扩展方法、电子设备、系统及介质 | |
CN107395772B (zh) | 一种重复数据的管理方法及管理系统 | |
CN117057799B (zh) | 资产数据处理方法、装置、设备及存储介质 | |
CN117194348B (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 |