CN111782722B - 一种数据管理方法、装置、电子设备及存储介质 - Google Patents
一种数据管理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111782722B CN111782722B CN202010491189.4A CN202010491189A CN111782722B CN 111782722 B CN111782722 B CN 111782722B CN 202010491189 A CN202010491189 A CN 202010491189A CN 111782722 B CN111782722 B CN 111782722B
- Authority
- CN
- China
- Prior art keywords
- ipfs
- data
- managed
- block chain
- 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.)
- Active
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
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据管理方法、装置、电子设备及存储介质。所述方法,包括:接收针对区块链中待管理数据的管理操作指令,所述待管理数据的目标存储区域是集成在所述区块链内部的IPFS;根据所述管理操作指令,在所述区块链中对所述待管理数据进行基于IPFS的管理操作,并利用由所述IPFS返回的所述待管理数据对应的IPFS索引信息,进行基于区块链的管理操作;其中,通过把所述区块链与所述IPFS交互的逻辑写入所述区块链的智能合约中,以将所述IPFS集成到所述区块链中。通过将IPFS的操作集成智能合约嵌入到区块链网络中。使得在操作区块链网络存储大文件时候,可以避免使用第三方存储带来不确定的安全性。
Description
技术领域
本发明涉及信息管理技术领域,尤其涉及一种数据管理方法、装置、电子设备及存储介质。
背景技术
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证不可篡改和不可伪造的分布式账本。但是,区块链基于文件存储,现在只能存储一些简单key-value(关键字-值)数据,内部无法存储大文件数据,只能借助于一些第三方的存储服务器或者云存储。所以大文件的存储也就成为了区块链存储应用的弊端。
传统的存储一般采用云存储和中心化的文件服务器存储两种方式。不管使用哪种方式都需要严格维护,成本高昂,而且会有延迟。在区块链应用中,如果使用上述存储方式,就会受到第三方的影响,产生不安全的因素,这与区块链本身的观念背道而驰。
发明内容
本发明实施例提供一种数据管理方法、装置、电子设备及存储介质,以解决现有的数据管理方式容易受到第三方的影响,产生不安全的因素的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种数据管理方法,包括:
接收针对区块链中待管理数据的管理操作指令,所述待管理数据的目标存储区域是集成在所述区块链内部的IPFS;
根据所述管理操作指令,在所述区块链中对所述待管理数据进行基于IPFS的管理操作,并利用由所述IPFS返回的所述待管理数据对应的IPFS索引信息,进行基于区块链的管理操作;
其中,通过把所述区块链与所述IPFS交互的逻辑写入所述区块链的智能合约中,以将所述IPFS集成到所述区块链中。
可选地,所述管理操作包括:上链操作、查询操作中的至少一种;
所述在所述区块链中对所述待管理数据进行基于IPFS的管理操作,并利用由所述IPFS返回的所述待管理数据对应的IPFS索引信息,进行基于区块链的管理操作的步骤,包括:
当所述管理操作为上链操作时,将所述待管理数据存储到所述IPFS,并将所述待管理数据的IPFS索引信息和数据信息存储到所述区块链,所述IPFS索引信息由所述IPFS生成并返回;
当所述管理操作为查询操作时,通过调用所述区块链中的权限智能合约,进行用户授权,授权成功后查询所述区块链中的所述待管理数据的IPFS索引信息,并基于所述IPFS索引信息,获取存储在所述IPFS中的所述待管理数据。
可选地,所述将所述待管理数据存储到所述IPFS,并将所述待管理数据的IPFS索引信息和数据信息存储到所述区块链的步骤,包括:
通过调用所述区块链中的IPFS智能合约,将所述待管理数据存储到所述IPFS;
接收所述IPFS返回的所述待管理数据的IPFS索引信息,并通过调用所述区块链中的权限智能合约,进行文件授权操作;
授权成功后将所述待管理数据的IPFS索引信息和数据信息存储到所述区块链。
可选地,在所述通过调用所述区块链中的IPFS智能合约,将所述待管理数据存储到所述IPFS的步骤之后,还包括:
基于所述IPFS的pin指令,将所述待管理数据长期保存在所述IPFS的本地。
可选地,所述基于所述IPFS索引信息,获取存储在所述IPFS中的所述待管理数据的步骤,包括:
基于所述IPFS索引信息,通过调用所述区块链中的IPFS智能合约,获取存储在所述IPFS中的所述待管理数据。
可选地,在所述接收针对区块链中待管理数据的管理操作指令,所述待管理数据的目标存储区域是集成在所述区块链内部的IPFS的步骤之前,还包括:
搭建区块链的节点网络,以及所述IPFS的存储节点网络;
把所述区块链与所述IPFS交互的逻辑写入所述区块链的智能合约中,以将所述IPFS通过可拔插机制集成到所述区块链中,并针对所述区块链创建进行管理操作的至少一个接口。
可选地,所述IPFS索引信息包括所述待管理数据的哈希值,所述区块链为联盟链。
第二方面,本发明实施例提供了一种数据管理装置,包括:
指令接收模块,用于接收针对区块链中待管理数据的管理操作指令,所述待管理数据的目标存储区域是集成在所述区块链内部的IPFS;
管理操作模块,用于根据所述管理操作指令,在所述区块链中对所述待管理数据进行基于IPFS的管理操作,并利用由所述IPFS返回的所述待管理数据对应的IPFS索引信息,进行基于区块链的管理操作;
其中,通过把所述区块链与所述IPFS交互的逻辑写入所述区块链的智能合约中,以将所述IPFS集成到所述区块链中。
可选地,所述管理操作包括:上链操作、查询操作中的至少一种;
所述管理操作模块,包括:
上链操作子模块,用于当所述管理操作为上链操作时,将所述待管理数据存储到所述IPFS,并将所述待管理数据的IPFS索引信息和数据信息存储到所述区块链,所述IPFS索引信息由所述IPFS生成并返回;
查询操作子模块,用于当所述管理操作为查询操作时,通过调用所述区块链中的权限智能合约,进行用户授权,授权成功后查询所述区块链中的所述待管理数据的IPFS索引信息,并基于所述IPFS索引信息,获取存储在所述IPFS中的所述待管理数据。
可选地,所述上链操作子模块,具体用于:
通过调用所述区块链中的IPFS智能合约,将所述待管理数据存储到所述IPFS;
接收所述IPFS返回的所述待管理数据的IPFS索引信息,并通过调用所述区块链中的权限智能合约,进行文件授权操作;
授权成功后将所述待管理数据的IPFS索引信息和数据信息存储到所述区块链。
可选地,所述上链操作子模块,具体还用于:
基于所述IPFS的pin指令,将所述待管理数据长期保存在所述IPFS的本地。
可选地,所述查询操作子模块,具体用于:
基于所述IPFS索引信息,通过调用所述区块链中的IPFS智能合约,获取存储在所述IPFS中的所述待管理数据。
可选地,所述装置还包括:
网络搭建模块,用于搭建区块链的节点网络,以及所述IPFS的存储节点网络;
网络集成模块,用于把所述区块链与所述IPFS交互的逻辑写入所述区块链的智能合约中,以将所述IPFS通过可拔插机制集成到所述区块链中,并针对所述区块链创建进行管理操作的至少一个接口。
可选地,所述IPFS索引信息包括所述待管理数据的哈希值,所述区块链为联盟链。
第三方面,本发明实施例另外提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的数据管理方法的步骤。
第四方面,本发明实施例另外提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的数据管理方法的步骤。
在本发明实施例中,通过对区块链进行改造,将IPFS的操作集成智能合约嵌入到区块链网络中。使得在操作区块链网络存储大文件时候,可以避免使用第三方存储带来不确定的安全性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中的一种数据管理方法的步骤流程图;
图2是本发明实施例中的另一种数据管理方法的步骤流程图;
图3是本发明实施例中的一种数据管理装置的结构示意图;
图4是本发明实施例中的另一种数据管理装置的结构示意图;
图5是本发明实施例中的一种电子设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,示出了本发明实施例中一种数据管理方法的步骤流程图。
步骤110,接收针对区块链中待管理数据的管理操作指令,所述待管理数据的目标存储区域是集成在所述区块链内部的IPFS;其中,通过把所述区块链与所述IPFS交互的逻辑写入所述区块链的智能合约中,以将所述IPFS集成到所述区块链中。
步骤120,根据所述管理操作指令,在所述区块链中对所述待管理数据进行基于IPFS的管理操作,并利用由所述IPFS返回的所述待管理数据对应的IPFS索引信息,进行基于区块链的管理操作。
如上述,现有技术主要采用中心化文件服务器或者云存储。这些都是第三方使用的,可能会出现一些人为的操作,即使文件访问地址已经登记上链,也仅能保证地址不可篡改,不能确保文件是否被篡改。因此,大文件保存在第三方存储机构的方式,不能完全解决在区块链应用中大文件的存储。
因此,在本发明实施例中,为了解决上述使用第三方的分布式存储带来的安全隐患。通过集成IPFS(InterPlanetary File System,星际文件系统)到区块链中,再通过智能合约,权限管理等方式,对储存在区块链中的大文件进行存储与管理,以保证文件存储的安全性。具体地,可以通过把区块链与IPFS交互的逻辑写入区块链的智能合约中,从而将相应的IPFS集成到相应区块链中,然后就可以使用智能合约的功能,获得相应的能力。其中,区块链与IPFS交互的逻辑可以根据需求以及具体的应用场景进行自定义设置,对此本发明实施例不加以限定。例如,区块链与IPFS交互的逻辑可以包括区块链如何将数据存储至IPFS,IPFS如何将生成的IPFS索引信息返回至区块链,区块链将数据存储至IPFS的交互条件,IPFS将生成的IPFS索引信息返回至区块链的交互条件,等等。
而且,可以利用可插拔特性把IPFS集成到区块链中,具体地可以通过将IPFS智能合约设置为可以单独维护,使得IPFS智能合约的修改和升级都很方便,即实现IPFS可拔插地集成到区块链。而且,还可以通过权限智能合约来对存储在IPFS网络中的文件数据进行权限控制。
那么在接收针对集成在区块链中的IPFS中的待管理数据的管理操作指令之后,则可以根据所述管理操作指令,在所述区块链中对所述待管理数据进行基于IPFS的管理操作,并利用由所述IPFS返回的所述待管理数据对应的IPFS索引信息,进行基于区块链的管理操作
其中,根据管理操作指令的不同,待管理数据可以为需要添加至区块链中的数据,此时待管理数据的目标存储区域可以理解为即将添加相应待管理数据的存储区域;也可以为需要从区块链中查询的数据,此时待管理数据的目标存储区域可以理解为用以查询相应待管理数据的存储区域,也即已存储有相应待管理数据的存储区域。
本发明实施例中,对于不同类型数据可以施行不同的存储方式,一般而言的存储原则为:将占用空间较少的数据存储在区块链中:将占用空间较多的数据存储到区块链中的IPFS中,同时还在区块链中存储这些区块链中对应的IPFS索引信息,也可以将其它不太重要的信息存储到数据库中。此时,待管理数据则可以为上述的存储到区块链中的IPFS中的占用空间较多的数据,也即大文件数据。当然,在实际应用中,也可以根据需求将其他数据存储在区块链中的IPFS中,那么待管理数据则可以为任一可以存储在区块链中的IPFS中的数据,对此本发明实施例不加以限定。
另外,管理操作可以为任意一种可以针对数据执行的操作,例如添加操作,也即上链操作,查询操作,修改操作,等等。具体的管理操作可以由当前用户通过触发的管理操作指令进行相应设置,对此本发明实施例不加以限定。
而且,在接收到管理操作指令之后,执行管理操作之前,为了提高数据安全性,还可以验证管理操作指令对应的用户是否具备针对待管理数据的管理操作权限,而且在本发明实施例中,可以通过任何可用方式进行管理操作权限的验证,对此本发明实施例不加以限定。
例如,可以通过调用区块链中的权限智能合约,验证管理操作指令对应的用户是否具备针对待管理数据的管理操作权限,等等。
其次,如上述区块链中可以存储一些相对简单的数据,例如简单的key-value数据。而且,IPFS索引信息用于表征待管理数据在IPFS中的身份标识,可以用于在IPFS中查找待管理数据,例如IPFS索引信息可以为待管理数据的哈希(hash)值、文件访问地址,等等。由此可见,IPFS索引信息相对简单,可以存储在区块链中,而不是在区块链中的IPFS中。因此,在针对待管理数据进行管理操作时,可以在所述区块链中对所述待管理数据进行基于IPFS的管理操作(例如将待管理数据添加至IPFS、从IPFS中查询待管理数据等),并利用由所述IPFS返回的所述待管理数据对应的IPFS索引信息,进行基于区块链的管理操作(例如将IPFS索引信息添加至区块链、从区块链中查询IPFS索引信息等)。
在本发明实施例中,可以通过任何可用方式接收针对区块链中待管理数据的管理操作指令,对此本发明实施例不加以限定。例如,可以设置集成有IPFS的区块链作为信息管理平台,那么则可以通过信息管理平台连接的客户端接收管理操作指令,等等。
而且,本发明实施例中,信息管理平台至少需要提供以下功能:注册功能、登录功能、管理功能。其中,信息管理平台提供用户注册功能,用户需要注册成为信息管理平台的平台用户,然后以平台用户的身份在信息管理平台上实施对信息的管理操作。例如,信息管理平台可以提供用户注册界面,用户在用户注册界面输入注册信息触发用户注册请求,信息管理平台接收用户注册请求,根据用户注册请求中携带的用户输入的注册信息,为用户创建平台账户,从而实现用户注册。
本发明中,由于部分待管理数据需要被存储到区块链中,涉及到存储到区块链中的信息的管理操作需要利用区块链账户实现,因此,每个用户还可以创建一区块链账户。
因此,用户注册到信息管理平台时,除了为用户创建平台账户外,还需要进一步为用户创建区块链账户,以便于用户利用自己的区块链账户(这里的区块链账户也即用户在区块链上的私钥)对存储在区块链上的数据进行管理。
信息管理平台提供用户登录功能,用户需要使用自己的平台账户登录到信息管理平台,然后就可以在信息管理平台上实施对数据的管理操作。
具体实现中,信息管理平台可以提供用户登录界面,用户在用户登录界面输入自己的平台帐户信息(包括用户名/ID、密码等)触发用户登录请求,信息管理平台接收用户登录请求,对用户登录请求携带的平台账户信息验证,验证成功后允许用户登录。
用户登录到信息管理平台后,信息管理平台还可以进一步解锁用户的区块链账户,之后用户就可以利用自己的区块链账户对存储在区块链(包括区块链以及区块链中的IPFS)上的数据进行管理。这里,在信息管理平台上创建用户的区块链账户,实际上也即是创建用户在区块链上的私钥,此私钥可以被存储在一个加密文件中,此时,解锁区块链账户实际上也就是解密此加密文件,获取加密文件中的用户在区块链上的私钥。解锁用户的区块链账户之后,在调用区块链客户端实现对其区块链账户对应的智能合约的调用时,可以将此私钥作为参数输入,对其进行签名。使得用户在区块链上做出的所有管理操作都被看做该用户所作的交易,也因此,用户的任何操作都会被记录,可以有效避免信息被恶意篡改。
本发明实施例中,对于待管理数据,如果待管理数据的目标存储区域是区块链,则可以利用用户的区块链账户对待管理数据进行基于区块链的管理操作:如果待管理数据的目标存储区域是IPFS,则可以对待管理数据进行基于IPFS的管理操作,并利用用户的区块链账户对IPFS返回的待管理数据对应的IPFS索引信息进行基于区块链的管理操作。
可选地,在本发明实施例中,所述管理操作可以包括但不限于上链操作(又称添加操作)、查询操作中的至少一种。
根据待管理数据的目标存储区域的不同,每种管理操作的具体实现过程也不相同。其中,对于目标存储区域为区块链本身的情况,管理操作的具体实现过程即为区块链中的常用过程,在此不加以赘述。
例如,待管理数据的目标存储区域是区块链时,添加操作的具体实现方法可以是:利用用户的区块链账户调用部署在区块链上的智能合约,将该待管理数据存储到区块链;待管理数据的目标存储区域是区块链时,查询操作的具体实现方法可以是:利用用户的区块链账户调用部署在区块链上的智能合约查询存储在区块链中的该待管理数据;等等。
但是,对于待管理数据的目标存储区域是集成在所述区块链内部的IPFS的情况,对上述两种管理操作的具体实现可以包括以下内容,也即步骤120进一步可以包括:
步骤121,当所述管理操作为上链操作时,将所述待管理数据存储到所述IPFS,并将所述待管理数据的IPFS索引信息和数据信息存储到所述区块链,所述IPFS索引信息由所述IPFS生成并返回;
步骤122,当所述管理操作为查询操作时,通过调用所述区块链中的权限智能合约,进行用户授权,授权成功后查询所述区块链中的所述待管理数据的IPFS索引信息,并基于所述IPFS索引信息,获取存储在所述IPFS中的所述待管理数据。
待管理数据的目标存储区域是IPFS时,添加操作的具体实现方法可以是:先将待管理数据存储到区块链中的IPFS中,并接收相应IPFS返回的待管理数据的IPFS索引信息,再可以利用用户的区块链账户调用部署在区块链上的智能合约等任何可用方式,将该待管理数据的IPFS索引信息以及数据信息存储到区块链本身中。
待管理数据的目标存储区域是IPFS时,查询操作的具体实现方法可以是:先利用用户的区块链账户调用部署在区块链上的智能合约等任何可用方式,查询区块链中的该待管理数据对应的IPFS索引信息,再基于该IPFS索引信息获取存储在区块链中的IPFS中的待管理数据。或者,也可以为:先利用用户的区块链账户调用部署在区块链上的智能合约等任何可用方式,查询区块链中的该待管理数据对应的IPFS索引信息,基于该IPFS索引信息生成下载该待管理数据的链接,当用户点击该链接时,基于该IPFS索引信息从区块链中的IPFS中获取该待管理数据;等等。
而且,在查询待管理数据的IPFS索引信息之前,可以通过调用所述区块链中的权限智能合约,针对当前用户进行用户授权,授权成功后查询所述区块链中的所述待管理数据的IPFS索引信息,而如果未授权成功,则无法查询所述区块链中的所述待管理数据的IPFS索引信息。同时,为了及时告知用户授权失败,还可以发出授权失败提示至相应用户。其中的权限智能合约即为进行权限验证、权限授权的智能合约,在本发明实施例中的智能合约均可以预先布置在区块链中,对此本发明实施例不加以限定。
其中的数据信息可以为与待管理数据相关的任何信息,例如可以包括但不限于待管理数据的文件名、文件大小、存储时间、文件描述等信息。而且,在本发明实施例中,IPFS可以通过任何可用方式生成IPFS索引信息,对此本发明实施例不加以限定。例如,在IPFS索引信息为哈希值的情况下,则可以根据需求以及具体的应用场景中预先设置用以生成哈希值的哈希算法,等等。
另外,在实际应用中,根据需求对区块链中数据的管理操作也可以包括修改操作。
例如,待管理数据的目标存储区域是区块链时,修改操作的具体实现方法可以是:利用用户的区块链账户调用部署在区块链上的智能合约将区块链中的原有待管理数据更新为该待管理数据。
而待管理数据的目标存储区域是IPFS时,修改操作的具体实现方法可以是:先将该待管理数据作为原有待管理数据的更新信息存储到区块链中的IPFS中,接收IPFS返回的该待管理数据的IPFS索引信息,再利用用户的区块链账户调用部署在区块链上的智能合约,将该待管理数据对应的IPFS索引信息作为原有待管理数据对应的IPFS索引信息的更新值存储到区块链。这里的原有待管理数据是指需要被修改的数据。当待管理数据作为原有待管理数据的更新信息存储到区块链中的IPFS中之后,再次查询该信息时,返回的是该更新信息,而非原有待管理数据。
这里需要说明的是,基于区块链和IPFS的存储特性,需要修改待管理数据时,无论是修改区块链上的待管理数据,还是修改IPFS上的待管理数据,实际上均是以新增的方式将待管理数据存储到区块链或IPFS中,此过程中,相应的原有待管理数据并不会删除或覆盖,这样才可以保证区块链和IPFS中的信息的修改过程可以被完整保存下来,使得当发生对信息的恶意篡改时,可以被人们察觉,而且还可以保证即使发生信息篡改的情况,也能够查询得到被篡改前的信息。
从上面的内容可以看出,对待管理数据进行基于区块链的管理时,可以利用用户的区块链账户调用部署在区块链上的智能合约,其中的区块链账户可以根据需求进行自定义设置,对此本发明实施例不加以限定。
可选地,在本发明实施例中,所述步骤121进一步可以包括:
步骤1211,通过调用所述区块链中的IPFS智能合约,将所述待管理数据存储到所述IPFS。
步骤1212,接收所述IPFS返回的所述待管理数据的IPFS索引信息,并通过调用所述区块链中的权限智能合约,进行文件授权操作。
步骤1213,授权成功后将所述待管理数据的IPFS索引信息和数据信息存储到所述区块链。
在本发明实施例中,在区块链中布置智能合约时,可以根据需求设置多种不同的智能合约,分别对应于不同的作用。例如,针对区块链中的IPFS布置的智能合约可以称为IPFS智能合约,针对权限验证布置的智能合约可以称为权限智能合约,等等。
那么在进行上链操作时,可以通过调用所述区块链中的IPFS智能合约,将所述待管理数据存储到所述IPFS;进而接收所述IPFS返回的所述待管理数据的IPFS索引信息,并通过调用所述区块链中的权限智能合约,进行文件授权操作;而且在授权成功后即可以将所述待管理数据的IPFS索引信息和数据信息存储到所述区块链。也可以在授权成功将待管理数据的IPFS索引信息和数据信息写入IPFS智能合约的ledger(分布式账本)中。
而且,在将所述待管理数据的IPFS索引信息和数据信息存储到所述区块链时,也可以通过调用区块链中具有将待管理数据的IPFS索引信息和数据信息存储到区块链中的功能的智能合约,以将待管理数据的IPFS索引信息和数据信息存储到区块链中。
可选地,在本发明实施例中,所述步骤121进一步还可以包括:
步骤1214,基于所述IPFS的pin指令,将所述待管理数据长期保存在所述IPFS的本地。
在本发明实施例中,为了进一步提高存储至IPFS中数据的安全性,还可以对所述IPFS中的数据进行自动备份。而且,在本发明实施例中,可以通过任何可用方式进行备份,而且备份的数量也可以根据需求进行自定义设置,对此本发明实施例不加以限定。
另外,在实际应用中,IPFS具有回收机制,会把不常用的文件进行回收处理掉,那么在本发明实施例中,为了保证存储至IPFS中的待管理数据不被回收删除,可以通过IPFS的pin指令来“钉住”待管理数据,也即将所述待管理数据长期保存在所述IPFS的本地。其中,pin在英文中是大头针、钉住的意思。在IPFS中,pin指令用于实现将文件长期保存在本地,不被垃圾回收。
具体地,IPFS可以为一个存储节点网络,且用户在存储待管理数据时,可以将待管理数据存储至用户对应的IPFS存储节点本地,进一步为了避免已存储的待管理数据被回收删除,则可以在相应IPFS存储节点中,利用IPFS的pin指令将相应待管理数据长期保存在相应IPFS存储节点本地。当然,在本发明实施例中,可以针对IPFS中的部分存储节点设置通过pin指令来“钉住”待管理数据,而针对另一部分存储节点则不设置通过pin指令来“钉住”待管理数据,具体的可以根据需求进行自定义设置,对此本发明实施例不加以限定。
需要说明的是,在本发明实施例中,步骤1214可以在步骤1211之后,以及步骤1211之后的任一步骤之后执行,对此本发明实施例不加以限定。
可选地,在本发明实施例中,所述步骤122进一步可以包括:基于所述IPFS索引信息,通过调用所述区块链中的IPFS智能合约,获取存储在所述IPFS中的所述待管理数据。
参照图2,在本发明实施例中,所述方法还可以包括:
步骤S1,搭建区块链的节点网络,以及所述IPFS的存储节点网络。
步骤S2,把所述区块链与所述IPFS交互的逻辑写入所述区块链的智能合约中,以将所述IPFS通过可拔插机制集成到所述区块链中,并针对所述区块链创建进行管理操作的至少一个接口。
在本发明实施例中,为了将IPFS集成至区块链中,构建包含IPFS的区块链,可以分别搭建区块链的节点网络,以及IPFS的存储节点网络。进而则可以把所述区块链与所述IPFS交互的逻辑写入所述区块链的智能合约中,也即区块链的节点网络的智能合约中,以将所述IPFS的存储节点网络通过可拔插机制集成到所述区块链的节点网络中,使得IPFS的存储节点网络成为区块链的节点网络中的一部分,从而得到包含IPFS的区块链。而且,在本发明实施例中,可以通过任何可用方式搭建区块链的节点网络,以及IPFS的存储节点网络,对此本发明实施例不加以限定。
而且,用以写入区块链与IPFS交互的逻辑的智能合约可以为上述的IPFS智能合约,此时可以单独维护IPFS智能合约,修改和升级都很方便。还可以通过权限智能合约来对存储在IPFS网络中的文件数据进行权限控制。同时,上述过程中不用修改区块链的原始模块,利用可插拔的机制,把IPFS网络集成到区块链网络中。这样,不仅可以把数据的哈希值等IPFS索引信息存储到区块链的分布式账本中,同时也可以把该数据存储到区块链中的IPFS存储节点网络中,并且也可以实现数据状态监控。
另外,为了对区块链中数据进行管理操作,还可以针对所述区块链创建进行管理操作的至少一个接口。具体可以通过任何可用方式创建接口,而且接口类型、接口数量、接口作用等都可以根据需求进行自定义设置,对此本发明实施例不加以限定。
例如,如果区块链为Fabric区块链,则可以使用Fabric sdk去开发一组接口,如上链接口,查询接口,让客户端可以通过相应接口调用IPFS智能合约,和内嵌有IPFS存储节点网络的fabric区块链中的数据进行交互。实现应用存储,使用区块链中大文件功能,等等。
可选地,在本发明实施例中,所述IPFS索引信息包括所述待管理数据的哈希值,所述区块链为联盟链。
目前来说,根据不同的应用场景以及用户需求,区块链大致可以分为公有链(Public Blockchain)、私有链(Private Blockchain)以及联盟链(ConsortiumBlockchain)三大类。
其中去中心化程度最高的是公有链。这种以比特币以及以太坊为代表的公有区块链,不受第三方机构控制,世界上所有的人都可读取链上的数据记录、参与交易以及竞争新区块的记账权等。程序开发者无权干涉用户,各参与者(即节点)可自由加入以及退出网络,并按照意愿进行相关操作。
私有区块链则完全相反,该网络的写入权限由某个组织或者机构全权控制,数据读取权限受组织规定,要么对外开放、要么具有一定程度的访问限制。简单来说,可以将其理解为一个弱中心化或者多中心化的系统。由于参与节点具有严格限制且少;与公有链相比,私有链达成共识的时间相对较短、交易速度更快、效率更高、成本更低。不过这种类型的区块链更适合于特定机构内部使用。
而联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。链上各个节点通常有与之相对应的实体机构或者组织;参与者通过授权加入网络并组成利益相关联盟,共同维护区块链运行。从某种程度上来说,联盟链也属于私有链的范畴,只是私有化程度有所不同而已。为此其同样具有成本较低、效率较高的特点。
在本发明实施例中,优选地可以设置区块链为联盟链中的任意一种,例如上述的Fabric区块链,等等。
在本发明实施例中,通过对区块链进行改造,将IPFS的操作集成智能合约嵌入到区块链网络中。使得在操作区块链网络存储大文件时候,可以避免使用第三方存储带来不确定的安全性。
参照图3,示出了本发明实施例中一种数据管理装置的结构示意图。
本发明实施例的数据管理装置包括:指令接收模块210和管理操作模块220。
下面分别详细介绍各模块的功能以及各模块之间的交互关系。
指令接收模块210,用于接收针对区块链中待管理数据的管理操作指令,所述待管理数据的目标存储区域是集成在所述区块链内部的IPFS;
管理操作模块220,用于根据所述管理操作指令,在所述区块链中对所述待管理数据进行基于IPFS的管理操作,并利用由所述IPFS返回的所述待管理数据对应的IPFS索引信息,进行基于区块链的管理操作;
其中,通过把所述区块链与所述IPFS交互的逻辑写入所述区块链的智能合约中,以将所述IPFS集成到所述区块链中。
参照图4,在本发明实施例中,所述管理操作包括:上链操作、查询操作中的至少一种;
所述管理操作模块220,进一步可以包括:
上链操作子模块221,用于当所述管理操作为上链操作时,将所述待管理数据存储到所述IPFS,并将所述待管理数据的IPFS索引信息和数据信息存储到所述区块链,所述IPFS索引信息由所述IPFS生成并返回;
查询操作子模块222,用于当所述管理操作为查询操作时,通过调用所述区块链中的权限智能合约,进行用户授权,授权成功后查询所述区块链中的所述待管理数据的IPFS索引信息,并基于所述IPFS索引信息,获取存储在所述IPFS中的所述待管理数据。
可选地,在本发明实施例中,所述上链操作子模块221,具体用于:
通过调用所述区块链中的IPFS智能合约,将所述待管理数据存储到所述IPFS;
接收所述IPFS返回的所述待管理数据的IPFS索引信息,并通过调用所述区块链中的权限智能合约,进行文件授权操作;
授权成功后将所述待管理数据的IPFS索引信息和数据信息存储到所述区块链。
可选地,在本发明实施例中,所述上链操作子模块221,具体还用于:
基于所述IPFS的pin指令,将所述待管理数据长期保存在所述IPFS的本地。
可选地,在本发明实施例中,所述查询操作子模块222,具体用于:
基于所述IPFS索引信息,通过调用所述区块链中的IPFS智能合约,获取存储在所述IPFS中的所述待管理数据。
参照图4,在本发明实施例中,所述装置还可以包括:
网络搭建模块230,用于搭建区块链的节点网络,以及所述IPFS的存储节点网络;
网络集成模块240,用于把所述区块链与所述IPFS交互的逻辑写入所述区块链的智能合约中,以将所述IPFS通过可拔插机制集成到所述区块链中,并针对所述区块链创建进行管理操作的至少一个接口。
可选地,在本发明实施例中,所述IPFS索引信息包括所述待管理数据的哈希值,所述区块链为联盟链。
本发明实施例提供的数据管理装置能够实现图1至图2的方法实施例中实现的各个过程,为避免重复,这里不再赘述。
优选的,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述数据管理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述数据管理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
图5为实现本发明各个实施例的一种电子设备的硬件结构示意图。
该电子设备500包括但不限于:射频单元501、网络模块502、音频输出单元503、输入单元504、传感器505、显示单元506、用户输入单元507、接口单元508、存储器509、处理器510、以及电源511等部件。本领域技术人员可以理解,图5中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
应理解的是,本发明实施例中,射频单元501可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器510处理;另外,将上行的数据发送给基站。通常,射频单元501包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元501还可以通过无线通信系统与网络和其他设备通信。
电子设备通过网络模块502为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元503可以将射频单元501或网络模块502接收的或者在存储器509中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元503还可以提供与电子设备500执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元503包括扬声器、蜂鸣器以及受话器等。
输入单元504用于接收音频或视频信号。输入单元504可以包括图形处理器(Graphics Processing Unit,GPU)5041和麦克风5042,图形处理器5041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元506上。经图形处理器5041处理后的图像帧可以存储在存储器509(或其它存储介质)中或者经由射频单元501或网络模块502进行发送。麦克风5042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元501发送到移动通信基站的格式输出。
电子设备500还包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板5061的亮度,接近传感器可在电子设备500移动到耳边时,关闭显示面板5061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器505还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元506用于显示由用户输入的信息或提供给用户的信息。显示单元506可包括显示面板5061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板5061。
用户输入单元507可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元507包括触控面板5071以及其他输入设备5072。触控面板5071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板5071上或在触控面板5071附近的操作)。触控面板5071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器510,接收处理器510发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板5071。除了触控面板5071,用户输入单元507还可以包括其他输入设备5072。具体地,其他输入设备5072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板5071可覆盖在显示面板5061上,当触控面板5071检测到在其上或附近的触摸操作后,传送给处理器510以确定触摸事件的类型,随后处理器510根据触摸事件的类型在显示面板5061上提供相应的视觉输出。虽然在图5中,触控面板5071与显示面板5061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板5071与显示面板5061集成而实现电子设备的输入和输出功能,具体此处不做限定。
接口单元508为外部装置与电子设备500连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元508可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备500内的一个或多个元件或者可以用于在电子设备500和外部装置之间传输数据。
存储器509可用于存储软件程序以及各种数据。存储器509可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器509可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器510是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器509内的软件程序和/或模块,以及调用存储在存储器509内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器510可包括一个或多个处理单元;优选的,处理器510可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器510中。
电子设备500还可以包括给各个部件供电的电源511(比如电池),优选的,电源511可以通过电源管理系统与处理器510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,电子设备500包括一些未示出的功能模块,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
本申请公开了A1、一种数据管理方法,包括:
接收针对区块链中待管理数据的管理操作指令,所述待管理数据的目标存储区域是集成在所述区块链内部的IPFS;
根据所述管理操作指令,在所述区块链中对所述待管理数据进行基于IPFS的管理操作,并利用由所述IPFS返回的所述待管理数据对应的IPFS索引信息,进行基于区块链的管理操作;
其中,通过把所述区块链与所述IPFS交互的逻辑写入所述区块链的智能合约中,以将所述IPFS集成到所述区块链中。
A2、如A1所述的方法,所述管理操作包括:上链操作、查询操作中的至少一种;
所述在所述区块链中对所述待管理数据进行基于IPFS的管理操作,并利用由所述IPFS返回的所述待管理数据对应的IPFS索引信息,进行基于区块链的管理操作的步骤,包括:
当所述管理操作为上链操作时,将所述待管理数据存储到所述IPFS,并将所述待管理数据的IPFS索引信息和数据信息存储到所述区块链,所述IPFS索引信息由所述IPFS生成并返回;
当所述管理操作为查询操作时,通过调用所述区块链中的权限智能合约,进行用户授权,授权成功后查询所述区块链中的所述待管理数据的IPFS索引信息,并基于所述IPFS索引信息,获取存储在所述IPFS中的所述待管理数据。
A3、如A2所述的方法,所述将所述待管理数据存储到所述IPFS,并将所述待管理数据的IPFS索引信息和数据信息存储到所述区块链的步骤,包括:
通过调用所述区块链中的IPFS智能合约,将所述待管理数据存储到所述IPFS;
接收所述IPFS返回的所述待管理数据的IPFS索引信息,并通过调用所述区块链中的权限智能合约,进行文件授权操作;
授权成功后将所述待管理数据的IPFS索引信息和数据信息存储到所述区块链。
A4、如A3所述的方法,在所述通过调用所述区块链中的IPFS智能合约,将所述待管理数据存储到所述IPFS的步骤之后,还包括:
基于所述IPFS的pin指令,将所述待管理数据长期保存在所述IPFS的本地。
A5、如A2-A4中任一项所述的方法,所述基于所述IPFS索引信息,获取存储在所述IPFS中的所述待管理数据的步骤,包括:
基于所述IPFS索引信息,通过调用所述区块链中的IPFS智能合约,获取存储在所述IPFS中的所述待管理数据。
A6、如A1所述的方法,在所述接收针对区块链中待管理数据的管理操作指令,所述待管理数据的目标存储区域是集成在所述区块链内部的IPFS的步骤之前,还包括:
搭建区块链的节点网络,以及所述IPFS的存储节点网络;
把所述区块链与所述IPFS交互的逻辑写入所述区块链的智能合约中,以将所述IPFS通过可拔插机制集成到所述区块链中,并针对所述区块链创建进行管理操作的至少一个接口。
A7、如A1所述的方法,所述IPFS索引信息包括所述待管理数据的哈希值,所述区块链为联盟链。
本申请还公开了B8、一种数据管理装置,包括:
指令接收模块,用于接收针对区块链中待管理数据的管理操作指令,所述待管理数据的目标存储区域是集成在所述区块链内部的IPFS;
管理操作模块,用于根据所述管理操作指令,在所述区块链中对所述待管理数据进行基于IPFS的管理操作,并利用由所述IPFS返回的所述待管理数据对应的IPFS索引信息,进行基于区块链的管理操作;
其中,通过把所述区块链与所述IPFS交互的逻辑写入所述区块链的智能合约中,以将所述IPFS集成到所述区块链中。
B9、如B8所述的装置,所述管理操作包括:上链操作、查询操作中的至少一种;
所述管理操作模块,包括:
上链操作子模块,用于当所述管理操作为上链操作时,将所述待管理数据存储到所述IPFS,并将所述待管理数据的IPFS索引信息和数据信息存储到所述区块链,所述IPFS索引信息由所述IPFS生成并返回;
查询操作子模块,用于当所述管理操作为查询操作时,通过调用所述区块链中的权限智能合约,进行用户授权,授权成功后查询所述区块链中的所述待管理数据的IPFS索引信息,并基于所述IPFS索引信息,获取存储在所述IPFS中的所述待管理数据。
B10、如B9所述的装置,所述上链操作子模块,具体用于:
通过调用所述区块链中的IPFS智能合约,将所述待管理数据存储到所述IPFS;
接收所述IPFS返回的所述待管理数据的IPFS索引信息,并通过调用所述区块链中的权限智能合约,进行文件授权操作;
授权成功后将所述待管理数据的IPFS索引信息和数据信息存储到所述区块链。
B11、如B10所述的装置,所述上链操作子模块,具体还用于:
基于所述IPFS的pin指令,将所述待管理数据长期保存在所述IPFS的本地。
B12、如B9-B11中任一项所述的装置,所述查询操作子模块,具体用于:
基于所述IPFS索引信息,通过调用所述区块链中的IPFS智能合约,获取存储在所述IPFS中的所述待管理数据。
B13、如B8所述的装置,所述装置还包括:
网络搭建模块,用于搭建区块链的节点网络,以及所述IPFS的存储节点网络;
网络集成模块,用于把所述区块链与所述IPFS交互的逻辑写入所述区块链的智能合约中,以将所述IPFS通过可拔插机制集成到所述区块链中,并针对所述区块链创建进行管理操作的至少一个接口。
B14、如B8所述的装置,所述IPFS索引信息包括所述待管理数据的哈希值,所述区块链为联盟链。
本申请还公开了C15、一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如A1至A7中任一项所述的数据管理方法的步骤。
本申请还公开了D16、一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如A1至A7中任一项所述的数据管理方法的步骤。
Claims (16)
1.一种数据管理方法,其特征在于,包括:
接收针对区块链中待管理数据的管理操作指令,所述待管理数据的目标存储区域是集成在所述区块链内部的IPFS;
根据所述管理操作指令,在所述区块链中对所述待管理数据进行基于IPFS的管理操作,并利用由所述IPFS返回的所述待管理数据对应的IPFS索引信息,进行基于区块链的管理操作;
其中,通过把所述区块链与所述IPFS交互的逻辑写入所述区块链的智能合约中,以将所述IPFS通过可拔插机制集成到所述区块链中,所述待管理数据包括大文件数据,所述区块链包括Fabric区块链,所述IPFS索引信息包括所述待管理数据的文件访问地址。
2.根据权利要求1所述的方法,其特征在于,所述管理操作包括:上链操作、查询操作中的至少一种;
所述在所述区块链中对所述待管理数据进行基于IPFS的管理操作,并利用由所述IPFS返回的所述待管理数据对应的IPFS索引信息,进行基于区块链的管理操作的步骤,包括:
当所述管理操作为上链操作时,将所述待管理数据存储到所述IPFS,并将所述待管理数据的IPFS索引信息和数据信息存储到所述区块链,所述IPFS索引信息由所述IPFS生成并返回;
当所述管理操作为查询操作时,通过调用所述区块链中的权限智能合约,进行用户授权,授权成功后查询所述区块链中的所述待管理数据的IPFS索引信息,并基于所述IPFS索引信息,获取存储在所述IPFS中的所述待管理数据。
3.根据权利要求2所述的方法,其特征在于,所述将所述待管理数据存储到所述IPFS,并将所述待管理数据的IPFS索引信息和数据信息存储到所述区块链的步骤,包括:
通过调用所述区块链中的IPFS智能合约,将所述待管理数据存储到所述IPFS;
接收所述IPFS返回的所述待管理数据的IPFS索引信息,并通过调用所述区块链中的权限智能合约,进行文件授权操作;
授权成功后将所述待管理数据的IPFS索引信息和数据信息存储到所述区块链。
4.根据权利要求3所述的方法,其特征在于,在所述通过调用所述区块链中的IPFS智能合约,将所述待管理数据存储到所述IPFS的步骤之后,还包括:
基于所述IPFS的pin指令,将所述待管理数据长期保存在所述IPFS的本地。
5.根据权利要求2-4中任一项所述的方法,其特征在于,所述基于所述IPFS索引信息,获取存储在所述IPFS中的所述待管理数据的步骤,包括:
基于所述IPFS索引信息,通过调用所述区块链中的IPFS智能合约,获取存储在所述IPFS中的所述待管理数据。
6.根据权利要求1所述的方法,其特征在于,在所述接收针对区块链中待管理数据的管理操作指令,所述待管理数据的目标存储区域是集成在所述区块链内部的IPFS的步骤之前,还包括:
搭建区块链的节点网络,以及所述IPFS的存储节点网络;
把所述区块链与所述IPFS交互的逻辑写入所述区块链的智能合约中,以将所述IPFS通过可拔插机制集成到所述区块链中,并针对所述区块链创建进行管理操作的至少一个接口。
7.根据权利要求1所述的方法,其特征在于,所述IPFS索引信息包括所述待管理数据的哈希值,所述区块链为联盟链。
8.一种数据管理装置,其特征在于,包括:
指令接收模块,用于接收针对区块链中待管理数据的管理操作指令,所述待管理数据的目标存储区域是集成在所述区块链内部的IPFS;
管理操作模块,用于根据所述管理操作指令,在所述区块链中对所述待管理数据进行基于IPFS的管理操作,并利用由所述IPFS返回的所述待管理数据对应的IPFS索引信息,进行基于区块链的管理操作;
其中,通过把所述区块链与所述IPFS交互的逻辑写入所述区块链的智能合约中,以将所述IPFS通过可拔插机制集成到所述区块链中,所述待管理数据包括大文件数据,所述区块链包括Fabric区块链,所述IPFS索引信息包括所述待管理数据的文件访问地址。
9.根据权利要求8所述的装置,其特征在于,所述管理操作包括:上链操作、查询操作中的至少一种;
所述管理操作模块,包括:
上链操作子模块,用于当所述管理操作为上链操作时,将所述待管理数据存储到所述IPFS,并将所述待管理数据的IPFS索引信息和数据信息存储到所述区块链,所述IPFS索引信息由所述IPFS生成并返回;
查询操作子模块,用于当所述管理操作为查询操作时,通过调用所述区块链中的权限智能合约,进行用户授权,授权成功后查询所述区块链中的所述待管理数据的IPFS索引信息,并基于所述IPFS索引信息,获取存储在所述IPFS中的所述待管理数据。
10.根据权利要求9所述的装置,其特征在于,所述上链操作子模块,具体用于:
通过调用所述区块链中的IPFS智能合约,将所述待管理数据存储到所述IPFS;
接收所述IPFS返回的所述待管理数据的IPFS索引信息,并通过调用所述区块链中的权限智能合约,进行文件授权操作;
授权成功后将所述待管理数据的IPFS索引信息和数据信息存储到所述区块链。
11.根据权利要求10所述的装置,其特征在于,所述上链操作子模块,具体还用于:
基于所述IPFS的pin指令,将所述待管理数据长期保存在所述IPFS的本地。
12.根据权利要求9-11中任一项所述的装置,其特征在于,所述查询操作子模块,具体用于:
基于所述IPFS索引信息,通过调用所述区块链中的IPFS智能合约,获取存储在所述IPFS中的所述待管理数据。
13.根据权利要求8所述的装置,其特征在于,所述装置还包括:
网络搭建模块,用于搭建区块链的节点网络,以及所述IPFS的存储节点网络;
网络集成模块,用于把所述区块链与所述IPFS交互的逻辑写入所述区块链的智能合约中,以将所述IPFS通过可拔插机制集成到所述区块链中,并针对所述区块链创建进行管理操作的至少一个接口。
14.根据权利要求8所述的装置,其特征在于,所述IPFS索引信息包括所述待管理数据的哈希值,所述区块链为联盟链。
15.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据管理方法的步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的数据管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010491189.4A CN111782722B (zh) | 2020-06-02 | 2020-06-02 | 一种数据管理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010491189.4A CN111782722B (zh) | 2020-06-02 | 2020-06-02 | 一种数据管理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111782722A CN111782722A (zh) | 2020-10-16 |
CN111782722B true CN111782722B (zh) | 2021-05-18 |
Family
ID=72753318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010491189.4A Active CN111782722B (zh) | 2020-06-02 | 2020-06-02 | 一种数据管理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782722B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112818038A (zh) * | 2021-02-02 | 2021-05-18 | 山东伏羲智库互联网研究院 | 基于区块链和ipfs组合的数据管理方法及相关设备 |
CN112965859A (zh) * | 2021-03-09 | 2021-06-15 | 上海焜耀网络科技有限公司 | 一种基于ipfs集群的数据灾备方法与设备 |
CN113656824B (zh) * | 2021-10-21 | 2021-12-28 | 成都理工大学 | 基于区块链和ipfs技术的物联网智能终端信息安全交互方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165205A (zh) * | 2018-08-21 | 2019-01-08 | 甲骨文科技时代(深圳)有限公司 | 一种基于区块链的数据存储方法及装置 |
CN109493017A (zh) * | 2018-11-05 | 2019-03-19 | 江苏大学 | 基于区块链的可信外包存储方法 |
CN109889522A (zh) * | 2019-02-25 | 2019-06-14 | 重庆邮电大学 | 一种基于区块链的物联网信息安全保护方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3637673B1 (en) * | 2018-10-10 | 2022-02-02 | Sap Se | Secure data sharing |
CN109902075B (zh) * | 2019-01-24 | 2022-02-11 | 深圳市步云科技有限公司 | 一种基于ipfs和区块链的分布式云存储管理平台系统 |
CN111104386B (zh) * | 2019-11-04 | 2023-09-01 | 京东科技信息技术有限公司 | 一种文件存储方法、终端及存储介质 |
-
2020
- 2020-06-02 CN CN202010491189.4A patent/CN111782722B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165205A (zh) * | 2018-08-21 | 2019-01-08 | 甲骨文科技时代(深圳)有限公司 | 一种基于区块链的数据存储方法及装置 |
CN109493017A (zh) * | 2018-11-05 | 2019-03-19 | 江苏大学 | 基于区块链的可信外包存储方法 |
CN109889522A (zh) * | 2019-02-25 | 2019-06-14 | 重庆邮电大学 | 一种基于区块链的物联网信息安全保护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111782722A (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111782722B (zh) | 一种数据管理方法、装置、电子设备及存储介质 | |
CN111475841B (zh) | 一种访问控制的方法、相关装置、设备、系统及存储介质 | |
CN108595946B (zh) | 一种保护隐私的方法及终端 | |
CN111355732B (zh) | 链接检测方法、装置、电子设备及存储介质 | |
CN104901805B (zh) | 一种身份鉴权方法、装置和系统 | |
CN111598573B (zh) | 一种设备指纹验证方法及装置 | |
CN110457888B (zh) | 一种验证码输入方法、装置、电子设备及存储介质 | |
CN109257336A (zh) | 一种基于区块链的密码信息处理方法、终端设备 | |
CN110008234B (zh) | 一种业务数据搜索方法、装置及电子设备 | |
CN111475832B (zh) | 一种数据管理的方法以及相关装置 | |
US20220075998A1 (en) | Secure face image transmission method, apparatuses, and electronic device | |
CN113238868A (zh) | 任务处理方法、装置、服务器、设备、系统及存储介质 | |
CN108346031B (zh) | 一种数据交互方法及系统 | |
CN114697007B (zh) | 一种密钥管理的方法、相应装置及系统 | |
CN113221150A (zh) | 一种数据防护方法及装置 | |
CN106874795B (zh) | 一种移动终端的防拆机方法、装置及移动终端 | |
CN110532324B (zh) | 基于区块链的公告信息展示方法、装置、设备及存储介质 | |
CN109451011B (zh) | 一种基于区块链的信息存储方法及移动终端 | |
CN110533800B (zh) | 智能门锁控制方法、装置、电子设备以及存储介质 | |
CN107491685B (zh) | 一种人脸识别方法和移动终端 | |
CN111159738A (zh) | 权限配置方法、应用登录方法及装置 | |
CN110032861B (zh) | 一种设置密码的方法及终端设备 | |
CN109284119B (zh) | 一种应用功能控制参数处理方法、装置及设备 | |
CN107818247B (zh) | 一种移动终端解锁方法和移动终端 | |
CN110298184A (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 |