CN111177257A - 一种区块链的数据存储及访问方法、装置以及设备 - Google Patents
一种区块链的数据存储及访问方法、装置以及设备 Download PDFInfo
- Publication number
- CN111177257A CN111177257A CN201911282240.4A CN201911282240A CN111177257A CN 111177257 A CN111177257 A CN 111177257A CN 201911282240 A CN201911282240 A CN 201911282240A CN 111177257 A CN111177257 A CN 111177257A
- Authority
- CN
- China
- Prior art keywords
- data
- stored
- node
- transaction record
- blockchain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开一种区块链的数据存储方法及访问方法、装置以及设备,所述方法应用于区块链上的任一节点,所述数据存储方法包括:当接收到预设大数据类型的待存储数据时,将所述待存储数据存储于本地;获取所述待存储数据的存储地址;基于所述待存储数据的存储地址和数据标识生成交易记录,以便由出块节点将所述交易记录在所述区块链上进行分发。申请能够实现对大数据类型的数据的存储。
Description
技术领域
本申请涉及数据处理领域,具体涉及一种区块链的数据存储及访问方法、装置以及设备。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。它基于链式结构进行数据存储,有去中心化、不可篡改、可追溯等优良的技术特性。
区块链作为一项基础性技术,正在与各行各业进行创新融合。目前,区块链技术的应用不断从数字货币以及金融资产领域向非金融领域扩展,例如版权保护、供应链管理、溯源追踪等领域,未来可能会扩展到更多的其他非金融应用中。随着区块链应用领域的扩展,要求区块链具有存储各种类型数据的能力,例如,对于视频、音频、图片、PDF文件等占存储空间较大的大数据类型。
由于区块链的现有数据存储方式是将所有数据以交易记录的形式存储在区块中,显然交易记录的大小不能超过区块大小,如果利用该方式对上述大数据类型的数据进行存储,则由于大数据类型的数据占存储空间较大,如果将其以交易记录的形式存储于区块中,很大几率会超出区块大小,因此,区块链中现有的数据存储方式不适用于对上述大数据类型的数据进行存储。
发明内容
有鉴于此,本申请提供了一种区块链的数据存储方法、装置及设备,能够实现对占存储空间较大的数据的存储。
第一方面,为实现上述发明目的,本申请提供了一种区块链的数据存储方法,所述方法应用于区块链上的任一节点,所述方法包括:
当接收到预设大数据类型的待存储数据时,将所述待存储数据存储于本地;
获取所述待存储数据的存储地址;
基于所述待存储数据的存储地址和数据标识生成交易记录,以便由出块节点将所述交易记录在所述区块链上进行分发。
一种可选的实施方式中,所述基于所述待存储数据的存储地址和数据标识生成交易记录之前,还包括:
从所述区块链上为所述待存储数据确定副本节点,并将所述待存储数据发送至所述副本节点;
获取所述副本节点的网络地址信息;
相应的,所述基于所述待存储数据的存储地址和数据标识生成交易记录,以便由出块节点将所述交易记录在所述区块链上进行分发,具体为:
基于所述待存储数据的存储地址、数据标识和所述副本节点的网络地址信息生成交易记录,以便由出块节点将所述交易记录在所述区块链上进行分发。
一种可选的实施方式中,所述基于所述待存储数据的存储地址和数据标识生成交易记录之前,还包括:
提取所述待存储数据的完整性验证信息;
相应的,所述基于所述待存储数据的存储地址和数据标识生成交易记录,以便由出块节点将所述交易记录在所述区块链上进行分发,具体为:
基于所述待存储数据的存储地址、数据标识、所述完整性验证信息和所述副本节点的网络地址信息生成交易记录,以便由出块节点将所述交易记录在所述区块链上进行分发。
第二方面,本申请还提供了一种区块链的数据访问方法,基于利用上述任一项所述的区块链的数据存储方法存储的数据,所述数据访问方法应用于所述区块链上的任一节点,所述方法包括:
当接收到对预设大数据类型的数据的访问请求时,从交易记录中获取所述数据的存储地址;
如果确定所述数据的存储地址属于本地,则基于所述存储地址从本地获取所述数据;
返回包含所述数据的访问响应。
一种可选的实施方式中,所述返回包含所述数据的访问响应之前,还包括:
如果确定所述数据的存储地址不属于本地,则从所述交易记录中获取所述数据的副本节点信息;
基于所述副本节点信息,从任一副本节点中导入所述数据。
一种可选的实施方式中,所述返回包含所述数据的访问响应之前,还包括:
从所述交易记录中获取所述数据的完整性验证信息;
基于所述完整性验证信息,对所述数据进行完整性验证;
相应的,所述返回包含所述数据的访问响应,具体为:
在确定所述数据通过完整性验证后,返回包含所述数据的访问响应。
第三方面,本申请还提供了一种区块链的数据存储装置,所述装置应用于区块链上的任一节点,所述装置包括:
存储模块,用于当接收到预设大数据类型的待存储数据时,将所述待存储数据存储于本地;
第一获取模块,用于获取所述待存储数据的存储地址;
生成模型,用于基于所述待存储数据的存储地址和数据标识生成交易记录,以便由出块节点将所述交易记录在所述区块链上进行分发。
第四方面,本申请还提供了一种区块链的数据访问装置,基于上述的区块链的数据存储装置,所述数据访问装置应用于所述区块链上的任一节点,所述装置包括:
第二获取模块,用于当接收到对预设大数据类型的数据的访问请求时,从交易记录中获取所述数据的存储地址;
第三获取模块,用于在确定所述数据的存储地址属于本地时,基于所述存储地址从本地获取所述数据;
返回模块,用于返回包含所述数据的访问响应。
第五方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如上述任一项所述的方法。
第六方面,本申请还提供了一种设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述任一项所述的方法。
本申请提供的区块链的数据存储方法中,对于区块链上的任一节点,在接收到预设大数据类型的待存储数据时,将待存储数据存储于本地,并基于待存储数据的存储地址和数据标识生成交易记录,最终由出块节点将交易记录在区块链上进行分发。本申请实施例不需要将占存储空间较大的大数据类型的数据以交易记录的形式存储在区块中,而是在交易记录中记录数据的存储地址,因此不存在因数据过大超出区块大小的情况,所以,本申请能够实现对大数据类型的数据的存储。
另外,本申请实施例提供的区块链的数据存储方法,由于不需要将数据同步于各个节点,因此,减少了区块链中各个节点所需的存储空间,同时降低了区块链的网络传输压力,从而提升了区块链的整体性能。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种区块链的数据存储方法的流程图;
图2为本申请实施例提供的另一种区块链的数据存储方法的流程图;
图3为本申请实施例提供的一种区块链的数据访问方法的流程图;
图4为本申请实施例提供的一种区块链的数据存储装置的结构示意图;
图5为本申请实施例提供的一种区块链的数据访问装置的结构示意图;
图6为本申请实施例提供的一种区块链的数据存储设备的结构示意图;
图7为本申请实施例提供的一种区块链的数据访问设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
由于将占存储空间较大的大数据类型的数据以交易记录的形式存储在区块中,很大几率会超出区块大小,因此,区块链目前的数据存储方式不适用于对大数据类型的数据的存储。
基于此,本申请提供了一种区块链的数据存储方法,对于区块链上的任一节点,在接收到预设大数据类型的待存储数据时,将待存储数据存储于本地,并基于待存储数据的存储地址和数据标识生成交易记录,最终由出块节点将交易记录在区块链上进行分发。可见,本申请不需要将占存储空间较大的大数据类型的数据以交易记录的形式存储在区块中,而是在交易记录中记录数据的存储地址,因此不存在因数据过大超出区块大小的情况,所以,本申请能够实现对大数据类型的数据的存储。
以下为本申请实施例提供的一种区块链的数据存储方法,参考图1,为本申请实施例提供的一种区块链的数据存储方法的流程图,所述方法应用于区块链上的任一节点,该方法包括:
S101:当接收到预设大数据类型的待存储数据时,将所述待存储数据存储于本地。
本申请实施例中,预设大数据类型的数据是指占用存储空间较大的数据,包括但不限于视频、音频、图片、PDF文件等数据。
由于预设大数据类型的数据占用存储空间较大,即使其未超出区块大小,如果采用区块链目前的数据存储方法对其进行存储,也会存在一些问题,例如,由于区块链目前采用P2P网络技术对交易记录进行分发,如果采用该方式对预设大数据类型的数据进行分发,则会导致网络传输压力过大的问题。再例如,由于区块链目前的数据存储方式需要在每个节点同步存储同一数据,如果采用该方式对预设大数据类型的数据进行存储,则对于整个区块链网路而言被占用的存储空间巨大。
基于上述各种问题,本申请实施例中,在区块链上的节点接收到预设大数据类型的待存储数据时,不采用区块链目前的数据存储方法,而是将该待存储数据以文件的形式存储于本地,而非交易记录中。由于存储于本地的待存储数据不需要基于P2P网络技术进行分发,因此,不会导致网络传输压力过大的问题。另外,由于待存储数据不需要在区块链的每个节点进行同步存储,因此对于整个区块链网络而言,因其而被占用的存储空间有限。
S102:获取所述待存储数据的存储地址。
本申请实施例中,在将待存储数据存储于本地后,获取该待存储数据的存储地址。具体的,该存储地址可以为本地的任一指定路径。
S103:基于所述待存储数据的存储地址和数据标识生成交易记录,以便由出块节点将所述交易记录在所述区块链上进行分发。
实际应用中,区块链中的节点在完成本次交易后,生成本次交易的交易记录。本申请实施例中,对于预设大数据类型的待存储数据,节点基于该待存储数据的存储地址和数据标识生成交易记录,而非待存储数据本身,因此,由出块节点在区块链上进行分发的该交易记录中不包括待存储数据本身。
其中,数据标识用于唯一标识待存储数据,可以为以文件形式存储于本地的待存储数据的文件ID等。
本申请实施例提供的区块链的数据存储方法中,对于区块链上的任一节点,在接收到预设大数据类型的待存储数据时,将待存储数据存储于本地,并基于待存储数据的存储地址和数据标识生成交易记录,最终由出块节点将交易记录在区块链上进行分发。本申请实施例不需要将占存储空间较大的大数据类型的数据以交易记录的形式存储在区块中,而是在交易记录中记录数据的存储地址,因此不存在因数据过大超出区块大小的情况,所以,本申请能够实现对大数据类型的数据的存储。
另外,本申请实施例提供的区块链的数据存储方法,由于不需要将数据同步于各个节点,因此,减少了区块链中各个节点所需的存储空间,同时降低了区块链的网络传输压力,从而提升了区块链的整体性能。
由于仅利用区块链上的单一节点对预设大数据类型的数据进行存储存在风险,包括篡改风险和单点故障风险等。因此,本申请通过设置副本节点的方式,将同一份大数据类型的数据同时存储于本地和副本节点中,以避免上述篡改风险和单点故障风险等可能造成的影响。
基于此,本申请实施例还提供了一种区块链的数据存储方法,参考图2,为本申请实施例提供的另一种区块链的数据存储方法的流程图。该方法包括:
S201:当接收到预设大数据类型的待存储数据时,将所述待存储数据存储于本地。
S202:获取所述待存储数据的存储地址。
对于S201和S202,可参照上述实施例中的S101和S102进行理解,在此不再赘述。
S203:从所述区块链上为所述待存储数据确定副本节点,并将所述待存储数据发送至所述副本节点。
对于预设大数据类型的待存储数据,本申请实施例不仅将其存储于本地,同时从区块链上为该待存储数据确定副本节点,并将该待存储数据发送至副本节点中,作为该待存储数据的备份数据。
由于将副本节点确定为区块链上的特定节点,则可能对数据的安全性存在一定的威胁,因此,本申请实施例可以采用随机算法确定副本节点,以将副本的确定等概率的分散到区块链的各个节点上。
一种可选的实施方式中,可以随机从该区块链上的各个节点中选取预设个数的节点作为该待存储数据的副本节点。具体的,假设区块链上的节点数量为n,为待存储数据确定的副本节点的数量为m,则将区块链上的各个节点编码为{1~n},采用任一种随机函数从{1~n}中选取m个随机数,映射到对应的节点上,作为该待存储数据的副本节点。
S204:获取所述副本节点的网络地址信息。
本申请实施例中,在为待存储数据确定副本节点之后,获取副本节点的网络地址信息。具体的,副本节点的网络地址信息可以为副本节点的URL地址。
S205:基于所述待存储数据的存储地址、数据标识和所述副本节点的网络地址信息生成交易记录,以便由出块节点将所述交易记录在所述区块链上进行分发。
本申请实施例中,对于预设大数据类型的待存储数据,节点可以基于待存储数据的存储地址、数据标识和所述副本节点的网络地址信息生成交易记录,也就是说,交易记录中不仅包括待存储数据的存储地址和数据标识,还包括副本节点的网络地址信息。由出块节点在区块链上对该交易记录进行分发,使得其他节点基于交易记录中的信息能够访问该待存储数据。
另外,为了进一步的丰富交易记录中的副本节点的信息,本申请实施例还可以将副本节点的个数存储于交易记录中。
另一种可选的实施方式中,为了保证数据完整性,本申请实施例还可以在接收到预设大数据类型的待存储数据时,提取该待存储数据的完整性验证信息,具体的,完整性验证信息可以包括数字摘要等。具体的,节点基于待存储数据的存储地址、数据标识、完整性验证信息和副本节点的网络地址信息生成交易记录,以便由出块节点将该交易记录在区块链上进行分发。其中,将待存储数据的完整性验证信息存储于交易记录中,能够用于对该待存储数据的完整性进行验证。
实际应用中,预设大数据类型的数据通常为非结构化数据,而对于非结构化数据,本申请实施例可以以二进制文件的形式对其进行存储。相应的,在交易记录中可以以二进制大对象Blob类型,对以二进制文件形式存储的待存储数据的存储地址、数据标识、完整性验证信息和副本节点的网络地址信息等进行存储。
具体的,在创建交易记录时将某个字段指定为Blob类型,在该字段中存储大数据类型的数据对应的二进制文件的数据标识(如文件ID)、存储地址(如$Path/$ID形式)、副本节点的个数、副本节点的网络地址信息、数字摘要、以及文件名称等信息。一种可选的实施方式中,Blob类型对应的字段在交易记录中的信息结构可以如下所示:
{“ID”,“$filename””,“数字摘要”,“$Path/$ID”,“副本数量”,“节点1url”,“节点2url”,…};
其中,“ID”用于存储待存储数据的数据标识;“$filename”用于存储待存储数据的文件名称;“数字摘要”用于存储待存储数据的数字摘要;“副本数量”用于存储待存储数据的副本节点的个数;“节点1url”和“节点2url”分别用于存储待存储数据的各个副本节点的URL地址。
基于本申请提供的区块链的数据存储方法,将预设大数据类型的数据存储于区块链之后,相应的,对于存储于区块链上的大数据类型的数据,本申请还提供了一种区块链的数据访问方法,参考图3,为本申请实施例提供的一种区块链的数据访问方法的流程图,该数据访问方法可以应用于区块链上的任一节点,所述方法包括:
S301:当接收到对预设大数据类型的数据的访问请求时,从交易记录中获取所述数据的存储地址。
本申请实施例中,当区块链上的任一节点接收到对预设大数据类型的数据的访问请求时,首先从交易记录中获取该数据的存储地址,以判断本地是否存储有该数据。
S302:如果确定所述数据的存储地址属于本地,则基于所述存储地址从本地获取所述数据。
本申请实施例中,节点在从交易记录中获取该数据的存储地址之后,进一步确定该存储地址是否属于本地,即确定本地是否存储有该数据,如果本地存储有该数据,则基于该存储地址从本地直接获取该数据即可。
一种可选的实施方式中,交易记录中还可以存储有该数据的副本节点的个数和副本节点的网络地址信息等,具体的,如果节点确定数据的存储地址不属于本地,即本地未存储该数据,则可以从交易记录中获取该数据的副本节点的个数,以确定该数据是否具有副本节点。
另外,如果该数据具有副本节点,则可以从交易记录中获取副本节点的网络地址信息,并基于各个副本节点的网络地址信息随机选择一个副本节点,并从该副本节点中导入该数据。具体的,基于该副本节点的网路地址信息与该副本节点建立P2P网络通信,从该副本节点中获取该数据。
S303:返回包含所述数据的访问响应。
本申请实施例中,为了保证返回的数据的完整性,在将该数据返回之前,可以对该数据的完整性进行验证。具体的,从交易记录中获取该数据的完整性验证信息,并基于该完整性验证信息对该数据的进行完整性验证。在确定该数据通过完整性验证后,返回包含该数据的访问响应,完成对数据的访问。
一种可选的实施方式中,完整性验证信息可以为数字摘要,具体的,通过提取该数据的数字摘要,并将其与交易记录中存储的数字摘要进行匹配,如果匹配成功,则说明该数据通过完整性验证。如果匹配失败,则可以返回错误提醒,以提示该副本节点可能被篡改。对于该副本节点可以通过隔离等方式进行处理,本申请对此不作限制。
本申请实施例提供的区块链的数据访问方法,对于存储于区块链上的大数据类型的数据,能够实现对其的访问功能。
另外,由于本申请提供的区块链的数据存储方法能够提升区块链的整体性能,降低区块链的各方面压力,因此本申请实施例对于以上述数据存储方式存储的数据进行的访问,也能够提高数据访问的处理效率。
与上述实施例中的区块链的数据存储方法相对应的,本申请还提供了一种区块链的数据存储装置,所述装置应用于区块链上的任一节点,参考图4,为本申请实施例提供的一种区块链的数据存储装置的结构示意图,所述装置包括:
存储模块401,用于当接收到预设大数据类型的待存储数据时,将所述待存储数据存储于本地;
第一获取模块402,用于获取所述待存储数据的存储地址;
生成模块403,用于基于所述待存储数据的存储地址和数据标识生成交易记录,以便由出块节点将所述交易记录在所述区块链上进行分发。
一种可选的实施方式中,所述装置还包括:
发送模块,用于从所述区块链上为所述待存储数据确定副本节点,并将所述待存储数据发送至所述副本节点;
获取模块,用于获取所述副本节点的网络地址信息;
相应的,所述生成模块,具体用于:
基于所述待存储数据的存储地址、数据标识和所述副本节点的网络地址信息生成交易记录,以便由出块节点将所述交易记录在所述区块链上进行分发。
一种可选的实施方式中,所述装置还包括:
提取模块,用于提取所述待存储数据的完整性验证信息;
相应的,所述生成模块,具体用于:
基于所述待存储数据的存储地址、数据标识、所述完整性验证信息和所述副本节点的网络地址信息生成交易记录,以便由出块节点将所述交易记录在所述区块链上进行分发。
基于上述实施例中的区块链的数据存储方法、装置以及区块链的数据访问方法相,本申请还提供了一种区块链的数据访问装置,具体的,该装置基于利用上述区块链的数据存储装置存储的数据实现对数据访问的功能,所述数据访问装置应用于所述区块链上的任一节点,参考图5,为本申请实施例提供的一种区块链的数据访问装置的结构示意图,所述装置包括:
第二获取模块501,用于当接收到对预设大数据类型的数据的访问请求时,从交易记录中获取所述数据的存储地址;
第三获取模块502,用于在确定所述数据的存储地址属于本地时,基于所述存储地址从本地获取所述数据;
返回模块503,用于返回包含所述数据的访问响应。
一种可选的实施方式中,所述装置还包括:
第四获取模块,用于如果确定所述数据的存储地址不属于本地,则从所述交易记录中获取所述数据的副本节点信息;
导入模块,用于基于所述副本节点信息,从任一副本节点中导入所述数据。
一种可选的实施方式中,所述装置还包括:
第五获取模块,用于从所述交易记录中获取所述数据的完整性验证信息;
验证模块,用于基于所述完整性验证信息,对所述数据进行完整性验证;
相应的,所述返回模块,具体用于:
在确定所述数据通过完整性验证后,返回包含所述数据的访问响应。
本申请实施例提供的区块链的数据存储装置和区块链的数据访问装置,能够分别实现对预设大数据类型的数据进行存储和访问的功能。由于不需要将数据同步于各个节点,因此,减少了区块链中各个节点所需的存储空间,同时降低了区块链的网络传输压力,从而提升了区块链的整体性能,保证了区块链上数据访问的处理效率。
另外,本申请实施例还提供了一种区块链的数据存储设备,参见图6所示,可以包括:
处理器601、存储器602、输入装置603和输出装置604。区块链的数据存储设备中的处理器601的数量可以一个或多个,图6中以一个处理器为例。在本发明的一些实施例中,处理器601、存储器602、输入装置603和输出装置604可通过总线或其它方式连接,其中,图6中以通过总线连接为例。
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行区块链的数据存储设备的各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置603可用于接收输入的数字或字符信息,以及产生与区块链的数据存储设备的用户设置以及功能控制有关的信号输入。
具体在本实施例中,处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现上述区块链的数据存储方法中的各种功能。
另外,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的区块链的数据存储方法。
另外,本申请实施例还提供了一种区块链的数据访问设备,参见图7所示,可以包括:
处理器701、存储器702、输入装置703和输出装置704。区块链的数据访问设备中的处理器701的数量可以一个或多个,图7中以一个处理器为例。在本发明的一些实施例中,处理器701、存储器702、输入装置703和输出装置704可通过总线或其它方式连接,其中,图7中以通过总线连接为例。
存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行区块链的数据访问设备的各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置703可用于接收输入的数字或字符信息,以及产生与区块链的数据访问设备的用户设置以及功能控制有关的信号输入。
具体在本实施例中,处理器701会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,从而实现上述区块链的数据访问方法中的各种功能。
另外,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的区块链的数据访问方法。
可以理解的是,对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请实施例所提供的一种区块链的数据存储及访问方法、装置以及设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种区块链的数据存储方法,其特征在于,所述方法应用于区块链上的任一节点,所述方法包括:
当接收到预设大数据类型的待存储数据时,将所述待存储数据存储于本地;
获取所述待存储数据的存储地址;
基于所述待存储数据的存储地址和数据标识生成交易记录,以便由出块节点将所述交易记录在所述区块链上进行分发。
2.根据权利要求1所述的方法,其特征在于,所述基于所述待存储数据的存储地址和数据标识生成交易记录之前,还包括:
从所述区块链上为所述待存储数据确定副本节点,并将所述待存储数据发送至所述副本节点;
获取所述副本节点的网络地址信息;
相应的,所述基于所述待存储数据的存储地址和数据标识生成交易记录,以便由出块节点将所述交易记录在所述区块链上进行分发,具体为:
基于所述待存储数据的存储地址、数据标识和所述副本节点的网络地址信息生成交易记录,以便由出块节点将所述交易记录在所述区块链上进行分发。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述待存储数据的存储地址和数据标识生成交易记录之前,还包括:
提取所述待存储数据的完整性验证信息;
相应的,所述基于所述待存储数据的存储地址和数据标识生成交易记录,以便由出块节点将所述交易记录在所述区块链上进行分发,具体为:
基于所述待存储数据的存储地址、数据标识、所述完整性验证信息和所述副本节点的网络地址信息生成交易记录,以便由出块节点将所述交易记录在所述区块链上进行分发。
4.一种区块链的数据访问方法,其特征在于,基于利用上述权利要求1-3任一项所述的区块链的数据存储方法存储的数据,所述数据访问方法应用于所述区块链上的任一节点,所述方法包括:
当接收到对预设大数据类型的数据的访问请求时,从交易记录中获取所述数据的存储地址;
如果确定所述数据的存储地址属于本地,则基于所述存储地址从本地获取所述数据;
返回包含所述数据的访问响应。
5.根据权利要求4所述的方法,其特征在于,所述返回包含所述数据的访问响应之前,还包括:
如果确定所述数据的存储地址不属于本地,则从所述交易记录中获取所述数据的副本节点信息;
基于所述副本节点信息,从任一副本节点中导入所述数据。
6.根据权利要求4或5所述的方法,其特征在于,所述返回包含所述数据的访问响应之前,还包括:
从所述交易记录中获取所述数据的完整性验证信息;
基于所述完整性验证信息,对所述数据进行完整性验证;
相应的,所述返回包含所述数据的访问响应,具体为:
在确定所述数据通过完整性验证后,返回包含所述数据的访问响应。
7.一种区块链的数据存储装置,其特征在于,所述装置应用于区块链上的任一节点,所述装置包括:
存储模块,用于当接收到预设大数据类型的待存储数据时,将所述待存储数据存储于本地;
第一获取模块,用于获取所述待存储数据的存储地址;
生成模型,用于基于所述待存储数据的存储地址和数据标识生成交易记录,以便由出块节点将所述交易记录在所述区块链上进行分发。
8.一种区块链的数据访问装置,其特征在于,基于上述权利要求7所述的区块链的数据存储装置,所述数据访问装置应用于所述区块链上的任一节点,所述装置包括:
第二获取模块,用于当接收到对预设大数据类型的数据的访问请求时,从交易记录中获取所述数据的存储地址;
第三获取模块,用于在确定所述数据的存储地址属于本地时,基于所述存储地址从本地获取所述数据;
返回模块,用于返回包含所述数据的访问响应。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1-6任一项所述的方法。
10.一种设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911282240.4A CN111177257A (zh) | 2019-12-13 | 2019-12-13 | 一种区块链的数据存储及访问方法、装置以及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911282240.4A CN111177257A (zh) | 2019-12-13 | 2019-12-13 | 一种区块链的数据存储及访问方法、装置以及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111177257A true CN111177257A (zh) | 2020-05-19 |
Family
ID=70650358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911282240.4A Pending CN111177257A (zh) | 2019-12-13 | 2019-12-13 | 一种区块链的数据存储及访问方法、装置以及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111177257A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651521A (zh) * | 2020-05-27 | 2020-09-11 | 山大地纬软件股份有限公司 | 一种电子合同区块链结构、电子合同签署装置及方法 |
CN112988667A (zh) * | 2021-05-12 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的数据存储方法及装置 |
CN113269649A (zh) * | 2021-06-16 | 2021-08-17 | 上海势炎信息科技有限公司 | 一种数字货币追踪的***和方法 |
CN113761585A (zh) * | 2020-06-17 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种数据处理方法、装置和*** |
CN117891820A (zh) * | 2024-03-15 | 2024-04-16 | 北京电科智芯科技有限公司 | 多源异构数据存储方法、装置、设备、芯片及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299336A (zh) * | 2018-09-30 | 2019-02-01 | 腾讯科技(深圳)有限公司 | 数据备份方法、装置、存储介质及计算设备 |
CN109635163A (zh) * | 2018-10-31 | 2019-04-16 | 优信数享(北京)信息技术有限公司 | 一种基于区块链的物品数据管理方法及*** |
CN110351362A (zh) * | 2019-07-12 | 2019-10-18 | 全链通有限公司 | 数据验证方法、设备及计算机可读存储介质 |
US20190324958A1 (en) * | 2018-04-24 | 2019-10-24 | Duvon Corporation | Autonomous exchange via entrusted ledger immutable distributed database |
-
2019
- 2019-12-13 CN CN201911282240.4A patent/CN111177257A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190324958A1 (en) * | 2018-04-24 | 2019-10-24 | Duvon Corporation | Autonomous exchange via entrusted ledger immutable distributed database |
CN109299336A (zh) * | 2018-09-30 | 2019-02-01 | 腾讯科技(深圳)有限公司 | 数据备份方法、装置、存储介质及计算设备 |
CN109635163A (zh) * | 2018-10-31 | 2019-04-16 | 优信数享(北京)信息技术有限公司 | 一种基于区块链的物品数据管理方法及*** |
CN110351362A (zh) * | 2019-07-12 | 2019-10-18 | 全链通有限公司 | 数据验证方法、设备及计算机可读存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651521A (zh) * | 2020-05-27 | 2020-09-11 | 山大地纬软件股份有限公司 | 一种电子合同区块链结构、电子合同签署装置及方法 |
CN111651521B (zh) * | 2020-05-27 | 2023-10-17 | 山大地纬软件股份有限公司 | 一种电子合同区块链结构、电子合同签署装置及方法 |
CN113761585A (zh) * | 2020-06-17 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种数据处理方法、装置和*** |
CN112988667A (zh) * | 2021-05-12 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的数据存储方法及装置 |
WO2022237497A1 (zh) * | 2021-05-12 | 2022-11-17 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的数据存储方法及装置 |
CN113269649A (zh) * | 2021-06-16 | 2021-08-17 | 上海势炎信息科技有限公司 | 一种数字货币追踪的***和方法 |
CN117891820A (zh) * | 2024-03-15 | 2024-04-16 | 北京电科智芯科技有限公司 | 多源异构数据存储方法、装置、设备、芯片及存储介质 |
CN117891820B (zh) * | 2024-03-15 | 2024-05-14 | 北京电科智芯科技有限公司 | 多源异构数据存储方法、装置、设备、芯片及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111177257A (zh) | 一种区块链的数据存储及访问方法、装置以及设备 | |
CN108446407B (zh) | 基于区块链的数据库审计方法和装置 | |
CN109831487B (zh) | 分片文件验证方法及终端设备 | |
CN108734028B (zh) | 基于区块链的数据管理方法、区块链节点及存储介质 | |
CN111416808A (zh) | 跨区块链的数据互存方法、装置、设备及存储介质 | |
CN110674140B (zh) | 基于区块链的内容处理方法、装置、设备及存储介质 | |
CN109255056B (zh) | 区块链的数据引用处理方法、装置、设备及存储介质 | |
CN109981279B (zh) | 一种区块链***、通信方法、装置、设备及介质 | |
CN111262822B (zh) | 文件存储方法、装置、区块链节点和*** | |
CN110597918A (zh) | 一种账户管理方法、装置及计算机可读存储介质 | |
CN112087497B (zh) | 数据同步方法、装置、电子设备及可读存储介质 | |
CN113570479B (zh) | 一种房产交易数据的区块链传输方法、***及存储介质 | |
CN111899019A (zh) | 一种黑名单多方交叉验证和共享的方法及*** | |
JP7101231B2 (ja) | データ分散保存方法および装置 | |
CN111597567A (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN110597922A (zh) | 数据处理方法、装置、终端及存储介质 | |
CN111339551B (zh) | 数据的验证方法及相关装置、设备 | |
CN110619022B (zh) | 基于区块链网络的节点检测方法、装置、设备及存储介质 | |
CN104965835A (zh) | 一种分布式文件***的文件读写方法及装置 | |
CN105550230A (zh) | 分布式存储***节点故障的侦测方法和装置 | |
CN111125115A (zh) | 一种基于区块链的数据存储方法、设备及介质 | |
CN112866302B (zh) | 对集群数据完整性检查的方法、设备、介质及程序产品 | |
CN115935414A (zh) | 基于区块链的数据校验方法、装置、电子设备和存储介质 | |
CN109766313A (zh) | 地质项目数据处理方法、装置及计算机设备 | |
KR20190068886A (ko) | 블록체인 기반 오픈 소스 소프트웨어 라이선스 컴플라이언스 지원 시스템 및 그 방법 |
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 |