CN111400269B - 一种ipfs文件处理方法、节点、介质和设备 - Google Patents
一种ipfs文件处理方法、节点、介质和设备 Download PDFInfo
- Publication number
- CN111400269B CN111400269B CN201910001296.1A CN201910001296A CN111400269B CN 111400269 B CN111400269 B CN 111400269B CN 201910001296 A CN201910001296 A CN 201910001296A CN 111400269 B CN111400269 B CN 111400269B
- Authority
- CN
- China
- Prior art keywords
- file
- ipfs
- access
- node
- module
- 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
- 238000003672 processing method Methods 0.000 title description 15
- 238000003860 storage Methods 0.000 claims abstract description 114
- 238000000034 method Methods 0.000 claims abstract description 80
- 238000012545 processing Methods 0.000 claims abstract description 46
- 230000008569 process Effects 0.000 claims abstract description 35
- 239000002131 composite material Substances 0.000 claims description 66
- 230000005540 biological transmission Effects 0.000 claims description 39
- 238000012546 transfer Methods 0.000 claims description 17
- 230000015654 memory Effects 0.000 claims description 14
- 230000008520 organization Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 102100037009 Filaggrin-2 Human genes 0.000 description 1
- 101000878281 Homo sapiens Filaggrin-2 Proteins 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及互联网技术领域,特别涉及一种星际文件系统(IPFS)文件处理方法、节点、介质和设备。根据本发明实施例提供的方案,每个IPFS文件可以对应一个访问策略信息。获取IPFS文件时,通过确定IPFS文件对应的访问策略信息,即可以确定IPFS分布式存储网络中每个节点对该IPFS文件的访问权限,每个节点可以根据自身对IPFS文件的访问权限,对IPFS文件进行处理。从而可以通过提供访问策略信息的方式,实现IPFS文件权限管理。实现IPFS文件共享的同时,降低IPFS文件被非授权访问的风险。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种星际文件系统(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文件的访问权限,对所述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文件的访问权限;
根据对应的IPFS节点对所述IPFS文件的访问权限,对所述IPFS文件进行处理。
根据本发明实施例提供的方案,每个IPFS文件可以对应一个访问策略信息。获取IPFS文件时,通过确定IPFS文件对应的访问策略信息,即可以确定IPFS分布式存储网络中每个节点对该IPFS文件的访问权限,每个节点可以根据自身对IPFS文件的访问权限,对IPFS文件进行处理。从而可以通过提供访问策略信息的方式,实现IPFS文件权限管理。实现IPFS文件共享的同时,降低IPFS文件被非授权访问的风险。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的IPFS文件处理方法的流程示意图;
图2(a)为现有技术提供的生成文件指纹的示意图;
图2(b)为本发明实施例一提供的生成文件指纹的示意图;
图3为本发明实施例二提供的IPFS节点的结构示意图;
图4为本发明实施例三提供的IPFS节点的结构示意图;
图5为本发明实施例四提供的IPFS文件处理方法的流程示意图;
图6为本发明实施例五提供的IPFS文件处理方法的流程示意图;
图7为本发明实施例六提供的IPFS文件处理方法的流程示意图;
图8为本发明实施例七提供的IPFS文件处理方法的流程示意图;
图9为本发明实施例八提供的IPFS文件处理方法的流程示意图;
图10为本发明实施例九提供的IPFS文件处理方法的流程示意图;
图11为本发明实施例十提供的IPFS文件处理设备的结构示意图。
具体实施方式
根据本发明实施例提供的方案,在IPFS技术构建的分布式存储网络中,发布文件的节点可以对自己发布的单个文件进行文件权限管理,实现在文件共享时,文件发布节点可以对独立的文件进行灵活的、细粒度的访问权限控制,满足分布式文件共享的权限管理需求。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
本发明实施例一提供一种IPFS文件处理方法,该方法的步骤流程可以如图1所示,包括:
步骤101、确定访问策略信息。
在本步骤中,IPFS节点可以在获取IPFS文件时,确定所述IPFS文件对应的访问策略信息,所述访问策略信息包括IPFS分布式存储网络中每个节点对所述IPFS文件的访问权限。
具体的,IPFS节点确定所述IPFS文件对应的访问策略信息,可以但不限于确定自身保存的所述IPFS文件对应的访问策略信息,也可以但不限于为确定与所述IPFS文件对应的文件指纹所对应的合成文件中的访问策略信息,所述合成文件包括所述IPFS文件和所述IPFS文件对应的访问策略信息。
可以理解为IPFS文件对应的访问策略信息保存在本地时,IPFS节点可以在获取IPFS文件时,从本地获取IPFS文件对应的访问策略信息。而如果将IPFS文件以及对应的访问策略信息共同生成了文件指纹,发布在IPFS分布式存储网络中,IPFS节点在从文件指纹对应的合成文件中获取IPFS文件时,可以从文件指纹对应的合成文件中获取IPFS文件对应的访问策略信息。
可以理解为现有技术提供的方案中,文件指纹的生成仅针对IPFS文件,生成文件指纹的示意图可以如图2(a)所示,在现有技术方案中,可以针对IPFS文件内容(图2(a)中标记为文件内容),进行分片和哈希运算,得到文件指纹。在本发明各实施例提供的方案中,文件指纹的生成仅针对IPFS文件和其对应的访问策略信息,生成文件指纹的示意图可以如图2(b)所示,在本发明各实施例提供的方案中,可以针对IPFS文件内容(图2(b)中标记为文件内容)和对应的访问策略信息(图2(b)中标记为文件策略信息)形成的合成文件,进行分片和哈希运算,得到文件指纹。
需要说明的是,在原始IPFS文件中如何添加访问策略信息,可以有多种实现方式,本实施例不做特别要求,只要该访问策略信息添加后可被准确识别并提取即可。例如,可以但不限于直接添加在IPFS文件头部或尾部,也可以以某种标志,整块或分片地插入IPFS文件中。
所述访问策略信息可以采取任何可以限定IPFS分布式存储网络中每个节点对所述IPFS文件的访问权限的形式,在本实施例中不限定访问策略信息的形式和语义语法,可以根据需要对访问策略信息进行定义。
例如,所述访问策略信息可以但不限于包括IPFS分布式存储网络中节点的节点标识,以及对应的每个节点包括的访问权限。具体的,所述访问策略信息可以但不限于采取下表1所示方式。表1中节点标识1对应的访问权限为缺省时,可以但不限于根据设定,理解为节点标识1对应的节点对表1所示的访问策略信息对应的IPFS文件无任何访问权限,又或者根据设定,理解为节点标识1对应的节点对表1所示的访问策略信息对应的IPFS文件具有所有访问权限,可以对该IPFS文件进行任意访问:
表1
节点标识1 | 缺省 |
节点标识2 | 可发布 |
…… | …… |
节点标识n | 可访问、可读 |
又如,所述访问策略信息可以但不限于包括IPFS分布式存储网络中节点的节点标识,以及对应的每个节点不包括的访问权限。具体的,所述访问策略信息可以但不限于采取下表2所示方式。表2中节点标识1对应的访问权限为缺省时,可以但不限于根据设定,理解为节点标识1对应的节点对表2所示的访问策略信息对应的IPFS文件无任何访问权限,又或者根据设定,理解为节点标识1对应的节点对表1所示的访问策略信息对应的IPFS文件具有所有访问权限,可以对该IPFS文件进行任意访问:
表2
节点标识1 | 缺省 |
节点标识2 | 禁止发布 |
…… | …… |
节点标识n | 禁止访问 |
又如,可以IPFS分布式存储网络中的节点进行分组,针对每个分组描述访问权限。所述访问策略信息可以但不限于包括IPFS分布式存储网络中的组织访问方式信息(组织访问方式信息可以用于访问节点分组信息,确定各分组包括的节点,组织访问方式信息可以但不限于为统一资源定位符(URL)),以及对应的每个分组不包括的访问权限(当然,也可以为对应的每个分组包括的访问权限)。具体的,所述访问策略信息可以但不限于采取下表3所示方式。表3中组织1URL对应的访问权限为缺省时,可以但不限于根据设定,理解组织1中的节点对表3所示的访问策略信息对应的IPFS文件无任何访问权限,又或者根据设定,理解为组织1中的节点对表3所示的访问策略信息对应的IPFS文件具有所有访问权限,可以对该IPFS文件进行任意访问:
表3
组织1URL | 缺省 |
组织2URL | 禁止发布 |
…… | …… |
组织m URL | 禁止访问 |
如表3所示,每个分组可以具有统一的访问权限,可以针对每个分组,进行访问权限描述。当然,一个分组中的各个节点也可以具有不同的访问权限,此时,所述访问策略信息可以进一步对分组中的各节点的访问权限进行描述。具体的,所述访问策略信息还可以但不限于采取下表4所示方式。
表4
组织1URL | 节点标识1-1 | 可发布 |
组织1URL | 节点标识1-2 | 可访问 |
组织2URL | 缺省 | 可读 |
…… | …… | …… |
组织mURL | 节点标识m-1 | 缺省 |
所述访问策略信息中一个分组对应的节点标识为缺省时,可以但不限于根据设定,理解为该分组中的每个节点均具有该分组对应描述的访问权限,或者根据设定,也可以理解为该分组中的每个节点均不具有对应描述的访问权限。
所述访问策略信息中,针对一个分组,访问权限可以对该分组中的每个节点进行描述,也可以仅对部分节点进行描述。未进行访问权限描述的节点可以但不限于根据设定,理解为对表4所示的访问策略信息对应的IPFS文件具有所有访问权限,可以对该IPFS文件进行任意访问,或者根据设定,也可以理解为对表4所示的访问策略信息对应的IPFS文件无任何访问权限。
需要说明的是,对IPFS分布式存储网络中的节点进行分组时,可以设定每个分组中的节点可以存在重复,也可以设定每个分组中的节点不可以存在重复。且同一个节点对应的节点标识在每个分组中可以相同,也可以不相同。本实施例不做具体限定。
步骤102、确定访问权限。
在本步骤中,IPFS节点可以根据确定出的访问策略信息,确定自身对所述IPFS文件的访问权限。具体的,可以根据访问策略信息的具体形式,对其进行解析,从而确定自身对所述IPFS文件的访问权限。
以所述访问策略信息为表1或表2所示方式为例,IPFS节点只需确定自身对应的节点标识,即可以确定自身对所述IPFS文件的访问权限。
以所述访问策略信息为表3所示方式为例,IPFS节点只需根据组织访问方式信息,查找节点分组信息,确定自身所在分组,即可以确定自身对所述IPFS文件的访问权限。
需要说明的是,一个分组(如,组织2)对应的节点分组信息可以但不限于采用表5所示方式。节点分组信息可以但不限于独立于IPFS分布式存储网络中的各IPFS节点,保存在服务器中。该服务器可以位于IPFS分布式存储网络中,也可以位于IPFS分布式存储网络之外。
表5
组织2 | 节点标识3 |
节点标识4 | |
…… | |
节点标识k |
以所述访问策略信息为表4所示方式为例,在设定同一个节点对应的节点标识在每个分组中可以不相同时,还可以通过节点标识信息描述一个节点在每个分组中的节点标识,以便于节点确定自身对应的访问权限。一个节点(如,节点1)对应的节点标识信息可以但不限于采用表6所示方式。每个节点对应的节点标识信息可以保存在对应的IPFS节点中,以便于该IPFS节点确定自身在每个分组中的节点标识。
表6
组织2 | 节点标识a |
组织6 | 节点标识b |
…… | …… |
组织k | 节点标识j |
当然,一个节点对应的节点标识信息可以为空,即IPFS节点中可以不保存节点标识信息,此时,根据设定,可以但不限于理解为该节点不属于任何分组,且根据设定,可以但不限于理解为该节点仅可以访问对应的访问策略信息为任何节点都可以访问的IPFS文件。
当然,如表4所示,一个分组对应的节点标识可以为缺省时,一个节点还可以根据访问策略信息,结合节点分组信息和节点标识信息,来确定自身对IPFS文件的访问权限。此时,一个节点(如,节点1)对应的节点标识信息可以但不限于采用表7所示方式。从而可以根据节点标识信息来查找节点分组信息,确定每个组织对应的节点。
表7
组织1URL | 节点标识a |
组织2URL | 节点标识b |
…… | …… |
组织m URL | 节点标识j |
步骤103、对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节点可以在自身对所述IPFS文件的访问权限包括可读时,显示所述IPFS文件,并记录所述IPFS文件对应的文件句柄和所述访问策略信息,否则,提示所述IPFS文件不可读。
又如,进一步的,在显示所述IPFS文件,并记录所述IPFS文件对应的文件句柄和所述访问策略信息之后,在需要对IPFS文件进行写操作时,IPFS节点可以在自身对所述IPFS文件的访问权限包括可写时,对所述IPFS文件进行写操作,并保存写操作后得到的IPFS文件和所述访问策略信息,否则,提示所述IPFS文件不可写。
又如,进一步的,在对IPFS文件进行读写操作后,需要关闭IPFS文件时,IPFS节点可以删除所述IPFS文件对应的文件句柄和所述访问策略信息的记录。
实施例一提供的方案涉及IPFS系统在分布式存储应用领域的改造。根据本发明实施例一提供的方案,在改进后的系统中,文件指纹不是直接由IPFS文件内容计算得出。在向IPFS网络发布文件时,由发布者定义好发布文件的访问策略后,由策略管理模块自动生成访问策略,合并至IFPS文件内容中,由文件原始内容和访问策略共同生成IPFS网络中的文件指纹。在从IPFS网络中下载文件时,下载完数据后,首先提取文件访问策略,根据策略选择是否在本地保存下载的文件。经IPFS系统发布或下载的文件,均以访问策略和文件原始内容的方式保存,在对文件进行操作时,如打开、修改或再次发布时,首先检验文件访问策略,确保文件使用者有权限对文件进行操作,对系统内不是来自IPFS网络中的文件,可以不做处理。
本实施例提供的方案与现有技术方案对比,可以在IPFS搭建的分布式存储网络中实现文件级别的共享访问控制,一个IPFS网络中的节点可以属于多个组,在多个组内分享的文件中,不同组的节点用户可以有不同的访问权限,由文件的发布者自行定义。
现有技术中采取对IPFS系统中节点进行分组的访问控制的方式时,某个节点只可以属于一个IPFS私有网络,在私有网络内可以访问所有的共享文件,无法访问其他IPFS网络内的共享文件。本实施例提供的方案与之相比,控制的对象不同,控制的粒度不同,可以实施粒度更细的文件访问控制,而且可以通过制定灵活的访问策略,实现跨组的复杂多样的访问控制策略。
与实施例一基于同一发明构思,提供以下的装置。
实施例二
本发明实施例二提供一种IPFS节点,该节点的结构可以如图3所示,包括:
信息确定模块01用于所在节点获取IPFS文件时,确定所述IPFS文件对应的访问策略信息,所述访问策略信息包括IPFS分布式存储网络中每个节点对所述IPFS文件的访问权限;
匹配模块02用于根据所述访问策略信息,确定所在节点对所述IPFS文件的访问权限;
处理模块03用于根据所在节点对所述IPFS文件的访问权限,对所述IPFS文件进行处理。
在一种可能的实现方式中,所述信息确定模块01确定所述IPFS文件对应的访问策略信息,包括:
确定所在节点保存的所述IPFS文件对应的访问策略信息;或者,
确定与所述IPFS文件对应的文件指纹所对应的合成文件中的访问策略信息,所述合成文件包括所述IPFS文件和所述IPFS文件对应的访问策略信息。
在一种可能的实现方式中,所述信息确定模块01确定出所述访问策略信息为空时,所述处理模块03根据所在节点对所述IPFS文件的访问权限,对所述IPFS文件进行处理,包括:
接收设置的所述IPFS文件对应的访问策略信息;
利用接收到的访问策略信息和所述IPFS文件生成文件指纹,并将所述文件指纹发布到所述IPFS分布式存储网络。
在一种可能的实现方式中,所述处理模块03根据所在节点对所述IPFS文件的访问权限,对所述IPFS文件进行处理,包括:
在所在节点对所述IPFS文件的访问权限包括可发布时,利用所述IPFS文件和所述访问策略信息生成文件指纹,并将该文件指纹发布到IPFS分布式存储网络,否则,提示发布失败。
在一种可能的实现方式中,所述处理模块03根据所在节点对所述IPFS文件的访问权限,对所述IPFS文件进行处理,包括:
在所在节点对所述IPFS文件的访问权限包括可访问时,保存所述IPFS文件和所述IPFS文件对应的访问策略信息,否则,删除所述IPFS文件和所述IPFS文件对应的访问策略信息。
在一种可能的实现方式中,所述处理模块03根据所在节点对所述IPFS文件的访问权限,对所述IPFS文件进行处理,包括:
在所在节点对所述IPFS文件的访问权限包括可读时,显示所述IPFS文件,并记录所述IPFS文件对应的文件句柄和所述访问策略信息,否则,提示所述IPFS文件不可读。
在一种可能的实现方式中,所述处理模块03显示所述IPFS文件,并记录所述IPFS文件对应的文件句柄和所述访问策略信息之后,还包括:
在所在节点对所述IPFS文件的访问权限包括可写时,对所述IPFS文件进行写操作,并保存写操作后得到的IPFS文件和所述访问策略信息,否则,提示所述IPFS文件不可写。
在一种可能的实现方式中,所述处理模块03还用于删除所述IPFS文件对应的文件句柄和所述访问策略信息的记录。
在一种可能的实现方式中,实施例二提供的节点可以采用实施例三提供的节点的结构来实现。实施例三提供的节点中的各模块不限于与实施例二提供的节点中的各模块存在一一对应关系。
实施例三
本发明实施例三提供一种IPFS节点,该节点的结构可以如图4所示,包括策略管理模块11、分布式文件传输模块12以及文件存储模块13,其中:
所述分布式文件传输模块12用于从IPFS分布式存储网络中读取IPFS文件对应的文件指纹所对应的合成文件,所述合成文件包括所述IPFS文件和所述IPFS文件对应的访问策略信息;
所述文件存储模块13用于存储所述IPFS文件,或者存储所述IPFS文件和所述IPFS文件对应的访问策略信息对应的合成文件,所述访问策略信息包括IPFS分布式存储网络中每个节点对所述IPFS文件的访问权限;
所述策略管理模块11用于从所述分布式文件传输模块读取的合成文件中,确定所述IPFS文件对应的访问策略信息,或者,从所述文件存储模块中获取所述IPFS文件,并确定所述IPFS文件对应的访问策略信息为空,或者,从所述文件存储模块保存的合成文件中,确定所述IPFS文件对应的访问策略信息;
所述策略管理模块11还用于根据所述访问策略信息,确定所在节点对所述IPFS文件的访问权限,根据所在节点对所述IPFS文件的访问权限,对所述IPFS文件进行处理。
所述节点还可以进一步包括文件共享应用模块14:
所述文件共享应用模块14用于向所述策略管理模块提出首次发布所述IPFS文件请求;
所述策略管理模块11从所述文件存储模块中获取所述IPFS文件,并确定所述IPFS文件对应的访问策略信息为空之后,根据所在节点对所述IPFS文件的访问权限,对所述IPFS文件进行处理,包括:
确定所述IPFS文件对应的访问策略信息,将确定出的访问策略信息添加到所述IPFS文件中,形成合成文件,将所述合成文件发送给所述分布式文件传输模块;
所述分布式文件传输模块12还用于将根据所述合成文件生成的文件指纹,发布到所述IPFS分布式存储网络。
此外,所述分布式文件传输模块12还可以用于将所述合成文件写入所述文件存储模块,实现合成文件在节点本地的存储。
所述文件共享应用模块14还可以用于向所述分布式文件传输模块提出再次发布所述IPFS文件请求;
所述策略管理模块11从所述分布式文件传输模块读取的合成文件中,确定所述IPFS文件对应的访问策略信息之后,根据自身对所述IPFS文件的访问权限,对所述IPFS文件进行处理,包括:
在所在节点对所述IPFS文件的访问权限包括可发布时,向所述分布式文件传输模块发送允许发布消息,并可以将所述访问策略信息添加到所述IPFS文件中,形成合成文件(当然,如果此时IPFS文件经过了修改,则可以理解为将所述访问策略信息添加到修改后的IPFS文件中,形成合成文件),将所述合成文件发送给所述分布式文件传输模块,否则,向所述分布式文件传输模块发送发布失败消息;
所述分布式文件传输模块13还用于在接收到合成文件时,将根据所述合成文件生成的文件指纹,发布到所述IPFS分布式存储网络并可以进一步提示所述文件共享应用模块发布成功,或者根据所述发布失败消息,提示所述文件共享应用模块发布失败。
所述文件共享应用模块14还可以用于向所述分布式文件传输模块提出下载所述IPFS文件请求;
所述策略管理模块11从所述分布式文件传输模块读取的合成文件中,确定所述IPFS文件对应的访问策略信息之后,根据自身对所述IPFS文件的访问权限,对所述IPFS文件进行处理,包括:
在所在节点对所述IPFS文件的访问权限包括可访问时,向所述分布式文件传输模块发送允许访问消息,否则,向所述分布式文件传输模块发送禁止访问消息;
所述分布式文件传输模块12还用于在接收到允许访问消息时,保存所述合成文件至所述文件存储模块,或者,在接收到禁止访问消息时,删除读取的合成文件。
所述节点还可以进一步包括文件编辑应用模块16:
所述文件编辑应用模块16用于通过所述文件系统Hook模块对所述文件存储模块中所述IPFS文件对应的合成文件执行读操作;
所述文件系统Hook模块15用于截获所述文件编辑应用模块的所述读操作,将所述合成文件发送至所述策略管理模块;
所述策略管理模块11根据所在节点对所述IPFS文件的访问权限,对所述IPFS文件进行处理,包括:
在所在节点对所述IPFS文件的访问权限包括可读时,通过文件系统Hook模块向所述文件编辑应用模块显示所述IPFS文件,并记录所述IPFS文件对应的文件句柄和所述访问策略信息,否则,通过文件系统Hook模块向所述文件编辑应用模块提示所述IPFS文件不可读。
所述文件编辑应用模块16还可以用于通过所述文件系统Hook模块对所述文件存储模块中的所述IPFS文件执行写操作;
所述文件系统Hook模块15还用于截获所述文件编辑应用模块的所述写操作,将所述IPFS文件和所述IPFS文件对应的文件句柄发送至所述策略管理模块;
所述策略管理模块11还用于根据所述IPFS文件对应的文件句柄,确定所述IPFS文件对应的访问策略信息;
所述策略管理模块11根据所在节点对所述IPFS文件的访问权限,对所述IPFS文件进行处理,还包括:
在所在节点对所述IPFS文件的访问权限包括可写时,允许所述文件编辑应用模块对所述IPFS文件进行写操作,并将所述访问策略信息添加到写操作执行后的IPFS文件中,形成合成文件,将所述合成文件发送给所述文件系统Hook模块,否则,向所述文件系统Hook模块发送写失败消息;
所述文件系统Hook模块15还用于在接收到合成文件时,将接收到的合成文件写入所述文件存储模块,或者,在接收到写失败消息时,向所述文件编辑应用模块返回写失败消息。
所述文件编辑应用模块16还用于通过所述文件系统Hook模块对所述文件存储模块中的所述IPFS文件执行关闭操作;
所述文件系统Hook模块15还用于截获所述文件编辑应用模块的所述关闭操作,将所述IPFS文件对应的文件句柄发送至所述策略管理模块;
所述策略管理模块11还用于删除记录的所述文件句柄和所述文件句柄对应的所述访问策略信息。
需要说明的是,所述IPFS节点中还可以利用节点标识信息表维护自身对应的节点标识信息,服务器中的节点分组信息也可以利用节点分组信息表进行维护,节点分组信息表可以是一个软件实体,部署在服务器上。策略管理模块11可以通过所述IPFS节点中的节点标识信息表以及所述IPFS节点之外的服务器中的节点分组信息表,来根据访问策略信息,确定自身所在IPFS节点对应的对获取到的IPFS文件的访问权限。
在本实施例中,策略管理模块是文件访问策略管理的核心模块,负责生成和分析文件访问策略,合并、提取、分离文件访问策略和原始文件内容,通过访问节点分组信息表和节点标识信息表,检查文件访问策略和节点的匹配关系,确定节点对文件的访问权限。
分布式文件传输模块为IPFS分布式存储网络中原有实现的改进,负责向IPFS分布式存储网络中发布和下载文件。在原有实现的基础上,在文件发布和下载的过程中,调用策略管理模块,实施对文件进行访问策略的添加和访问权限核查。
文件共享应用模块可以提供用户界面(UI),供文件发布者和使用者在IPFS分布式存储网络中发布文件,下载文件,制定发布文件的访问权限等。
文件系统Hook模块通过Hook文件系统的文件读、写、关闭等操作,结合策略管理模块,对经IPFS分布式存储网络发布和下载的文件,先进行操作权限检查,再决定是否允许用户操作。
本实施例提供的方案内容没有对IPFS分布式存储网络中原有的操作,如节点加入、退出IPFS分布式存储网络,节点发布文件,文件版本管理,文件寻址下载,文件哈希(Hash)计算等具体流程进行过多描述,主要针对在原有系统上为了进行权限控制而进行的修改进行了阐述。
下面结合实施例三提供的IPFS节点,通过几个具体的例子对本发明实施例一、二提供的方案进行说明。
实施例四
本发明实施例四提供一种IPFS文件处理方法,本实施例以对发布在IPFS分布式存储网络中的IPFS文件进行再次发布时,IPFS文件的处理过程为例进行说明,该方法的步骤流程可以如图5所示,包括:
步骤201、文件共享应用模块提出再次发布IPFS文件请求。
在本步骤中,文件共享应用模块可以向分布式文件传输模块提出再次发布所述IPFS文件请求,所述请求中可以携带所述IPFS文件对应的文件指纹。
步骤202、分布式文件传输模块读取文件指纹对应的合成文件并发送。
在本步骤中,分布式文件传输模块可以根据再次发布所述IPFS文件请求,从IPFS分布式存储网络中读取文件指纹对应的合成文件,并可以将读取的合成文件发送给策略管理模块。
步骤203、策略管理模块确定访问策略信息。
在本步骤中,策略管理模块可以从所述合成文件中,确定所述IPFS文件对应的访问策略信息。
步骤204、策略管理模块确定IPFS节点对所述IPFS文件的访问权限。
在本步骤中,策略管理模块可以根据确定出的访问策略信息,确定所在IPFS节点对所述IPFS文件的访问权限,
以所述访问策略信息如实施例一中表4的形式为例,则策略管理模块需要结合节点标识信息表和节点分组信息表,来确定所在节点对所述IPFS文件的访问权限。
若策略管理模块确定所在节点对所述IPFS文件的访问权限包括可发布时,执行步骤2051,否则,执行步骤2061。
步骤2051、策略管理模块向分布式文件传输模块发送允许发布消息。步骤2052、策略管理模块形成合成文件并发送。
以再次发布的IPFS文件未经过修改为例,在本步骤中,策略管理模块可以将所述访问策略信息添加到未经修改的IPFS文件中,形成合成文件,将所述合成文件发送给所述分布式文件传输模块。
以再次发布的IPFS文件经过修改为例,在本步骤中,策略管理模块可以将所述访问策略信息添加到修改后的IPFS文件中,形成合成文件,将所述合成文件发送给所述分布式文件传输模块。
步骤2053、分布式文件传输模块生成文件指纹并发布。
在本步骤中,分布式文件传输模块可以在接收到合成文件时,将根据所述合成文件生成的文件指纹,发布到所述IPFS分布式存储网络,并可以提示所述文件共享应用模块发布成功,本流程结束。
步骤2061、策略管理模块向分布式文件传输模块发送发布失败消息。
步骤2062、分布式文件传输模块提示发布失败。
分布式文件传输模块可以根据接收到的发布失败消息,提示所述文件共享应用模块发布失败,本流程结束。
实施例五
本发明实施例五提供一种IPFS文件处理方法,本实施例以首次发布IPFS文件时,IPFS文件的处理过程为例进行说明,该方法的步骤流程可以如图6所示,包括:
步骤301、文件共享应用模块提出首次发布IPFS文件请求。
在本步骤中,文件共享应用模块可以向所述策略管理模块提出首次发布IPFS文件请求。
步骤302、策略管理模块获取IPFS文件。
在本步骤中,策略管理模块可以从文件存储模块中获取所述IPFS文件。由于所述IPFS文件尚未发布过,因此,所述IPFS文件对应的访问策略信息为空。
步骤303、策略管理模块获取节点标识信息。
在本步骤中,策略管理模块可以查找节点标识信息表,获取节点标识信息,在本实施例中,以节点标识信息如实施例一中表7所示为例进行说明。
步骤304、策略管理模块获取节点分组信息。
在本步骤中,策略管理模块可以根据节点标识信息中每个组织对应的组织访问方式信息,查找节点分组信息表,确定节点分组信息。
步骤305、策略管理模块向文件共享应用模块返回节点分组信息。
在本步骤中,策略管理模块可以将获取的节点分组信息,提供给文件共享应用模块,供用户设置每个节点对IPFS文件的访问权限,以便形成IPFS文件对应的访问策略信息。
在本实施例中,假设对IPFS分布式存储网络中的节点进行分组管理为例进行说明,如果不对IPFS分布式存储网络中的节点进行分组,则在本实施例中,可以直接向文件共享应用模块提供IPFS分布式存储网络中每个节点的节点标识,供用户设置每个节点对IPFS文件的访问权限,以便形成IPFS文件对应的访问策略信息。
步骤306、策略管理模块确定访问策略信息,生成合成文件。
在本步骤中,策略管理模块可以接收文件共享应用模块返回的用户设置的每个节点对IPFS文件的访问权限,确定出IPFS文件对应的访问策略信息。
进一步的,策略管理模块可以将确定出的访问策略信息添加到IPFS文件中,形成合成文件。
步骤307、策略管理模块发送合成文件。
在本步骤中,策略管理模块可以将合成文件发送给分布式文件传输模块。
步骤308、分布式文件传输模块生成文件指纹发布。
在本步骤中,分布式文件传输模块可以将合成文件写入文件存储模块,并可以将根据合成文件生成的文件指纹,发布到IPFS分布式存储网络,实现IPFS文件的首次发布。进一步的,分布式文件传输模块还可以提示所述文件共享应用模块发布成功。
实施例六
本发明实施例六提供一种IPFS文件处理方法,本实施例以从IPFS分布式存储网络中下载IPFS文件时,IPFS文件的处理过程为例进行说明,该方法的步骤流程可以如图7所示,包括:
步骤401、文件共享应用模块提出下载IPFS文件请求。
在本步骤中,文件共享应用模块可以向分布式文件传输模块提出下载IPFS文件请求,所述下载IPFS文件请求中可以携带所述IPFS文件对应的文件指纹。
步骤402、分布式文件传输模块获取合成文件。
由于发布在IPFS分布式存储网络中的文件指纹对应的是包括IPFS文件和其对应的访问策略信息的合成文件,因此,在本步骤中,分布式文件传输模块可以根据所述IPFS文件对应的文件指纹,从IPFS分布式存储网络中获取对应的合成文件。
步骤403、分布式文件传输模块发送合成文件。
在本步骤中,分布式文件传输模块可以将获取的合成文件发送给策略管理模块。
步骤404、策略管理模块提取访问策略信息。
在本步骤中,策略管理模块可以从接收到的合成文件中,确定出访问策略信息。
步骤405、策略管理模块确定访问权限。
在本步骤中,策略管理模块可以根据确定出的访问策略信息,确定自身所在节点对应的访问权限。并可以在所在节点对所述IPFS文件的访问权限包括可访问时,继续执行步骤4061。否则,可以执行步骤4071。
步骤4061、策略管理模块发送允许访问消息。
在本步骤中,策略管理模块可以向分布式文件传输模块发送允许访问消息。
步骤4062、分布式文件传输模块保存合成文件。
在本步骤中,分布式文件传输模块可以保存所述IPFS文件和所述IPFS文件对应的访问策略信息所形成的合成文件至文件存储模块,完成IPFS文件下载。
步骤4063、分布式文件传输模块通知下载成功。
在本步骤中,分布式文件传输模块可以向文件共享应用模块发送下载成功消息,通知文件共享应用模块文件下载成功,并可以结束本流程。
步骤4071、策略管理模块发送禁止访问消息。
在本步骤中,策略管理模块可以向分布式文件传输模块发送禁止访问消息。
步骤4072、分布式文件传输模块删除IPFS文件。
在本步骤中,分布式文件传输模块可以删除获取的合成文件。
步骤4073、分布式文件传输模块通知下载失败。
在本步骤中,分布式文件传输模块可以向文件共享应用模块发送下载失败消息,通知文件共享应用模块文件下载失败,并可以结束本流程。
实施例七
本发明实施例七提供一种IPFS文件处理方法,本实施例以对IPFS文件进行读操作时,IPFS文件的处理过程为例进行说明,该方法的步骤流程可以如图8所示,包括:
步骤501、文件编辑应用模块发送读指令。
在本步骤中,文件编辑应用模块在需要读取IPFS文件时,可以通过文件系统Hook模块向文件存储模块中的所述IPFS文件发送读指令。
当然,如果文件存储模块中保存的是IPFS文件和其对应的访问策略信息对应的合成文件,本步骤可以理解为文件编辑应用模块向所述合成文件发送读指令。
步骤502、文件系统Hook模块截获读指令。
在本步骤中,文件系统Hook模块可以截获所述读指令,对所述文件存储模块中的所述IPFS文件,或者所述IPFS文件对应的合成文件执行读操作,读取所述IPFS文件(或者所述IPFS文件对应的合成文件),并可以将所述IPFS文件(或者所述IPFS文件对应的合成文件)发送至所述策略管理模块。
步骤503、策略管理模块确定是否包括访问策略信息。
如果接收到的文件中不包括访问策略信息,则,可以执行步骤5041。
如果接收到的文件中包括访问策略信息,则,可以执行步骤5051。
步骤5041、策略管理模块返回文件内容给文件系统Hook模块。
策略管理模块可以直接返回文件内容给文件系统Hook模块。
步骤5042、文件系统Hook模块返回文件内容给文件编辑应用模块。
在本步骤中,文件系统Hook模块可以继续返回文件内容给文件编辑应用模块,以供其进行读操作,本流程结束。
步骤5051、策略管理模块提取访问策略信息。
在本步骤中,策略管理模块可以提取合成文件中的访问策略信息。
步骤5052、策略管理模块确定访问权限。
在本步骤中,策略管理模块可以根据提取出的访问策略信息,确定所在节点对应的访问权限。
在所在节点对所述IPFS文件的访问权限包括可读时,可以执行步骤50531,否则,可以执行步骤50541。
步骤50531、策略管理模块返回IPFS文件内容给文件系统Hook模块。
在本步骤中,策略管理模块可以去除合成文件中的访问策略信息,仅将IPFS文件内容返回给文件系统Hook模块。并可以记录所述IPFS文件对应的文件句柄和所述访问策略信息。
步骤50532、文件系统Hook模块返回文件内容给文件编辑应用模块。
在本步骤中,文件系统Hook模块可以继续返回文件内容给文件编辑应用模块,以供其进行读操作,本流程结束。
步骤50541、策略管理模块向文件系统Hook模块返回读取失败消息。
在所在节点对所述IPFS文件的访问权限不包括可读时,策略管理模块可以向文件系统Hook模块返回读取失败消息。
步骤50542、文件系统Hook模块提示文件编辑应用模块读取失败。
在本步骤中,文件系统Hook模块可以关闭合成文件,并可以继续向文件编辑应用模块发送读取失败消息,提示文件编辑应用模块读取失败。
实施例八
本发明实施例八提供一种IPFS文件处理方法,本实施例以对IPFS文件进行写操作时,IPFS文件的处理过程为例进行说明,需要说明的是,对IPFS文件进行写操作可以理解为对IPFS文件进行读操作之后的操作,该方法的步骤流程可以如图9所示,包括:
步骤601、文件编辑应用模块发送写指令。
在本步骤中,文件编辑应用模块在需要对IPFS文件进行写操作时,可以通过文件系统Hook模块向文件存储模块中的所述IPFS文件发送写指令。
当然,如果文件存储模块中保存的是IPFS文件和其对应的访问策略信息对应的合成文件,本步骤可以理解为文件编辑应用模块向所述合成文件发送写指令。
步骤602、文件系统Hook模块截获写指令。
在本步骤中,文件系统Hook模块可以截获所述写指令,读取所述IPFS文件和所述IPFS文件对应的文件句柄,并可以将所述IPFS文件和所述IPFS文件对应的文件句柄发送至所述策略管理模块。
步骤603、策略管理模块查找访问策略信息。
在本步骤中,策略管理模块可以根据接收到的文件句柄,查找接收到的IPFS文件对应的访问策略信息。
如果找不到对应的访问策略信息,则,可以执行步骤6041。
如果找到对应的访问策略信息,则,可以执行步骤6051。
步骤6041、策略管理模块返回文件内容给文件系统Hook模块。
策略管理模块可以直接返回IPFS文件内容给文件系统Hook模块。
步骤6042、文件系统Hook模块返回文件内容给文件编辑应用模块。
在本步骤中,文件系统Hook模块可以继续返回IPFS文件内容给文件编辑应用模块,以供其进行写操作,本流程结束。
步骤6051、策略管理模块确定访问权限。
在本步骤中,策略管理模块可以根据找到的访问策略信息,确定所在节点对应的访问权限。
在所在节点对所述IPFS文件的访问权限包括可写时,可以执行步骤60521,否则,可以执行步骤60531。
步骤60521、策略管理模块返回合成文件给文件系统Hook模块。
在本步骤中,策略管理模块可以允许所述文件编辑应用模块对所述IPFS文件进行进行写操作,并将所述访问策略信息添加到写操作执行后的IPFS文件中,形成合成文件,将所述合成文件发送给所述文件系统Hook模块。
步骤60522、文件系统Hook模块将合成文件写入文件存储模块。
在本步骤中,文件系统Hook模块可以在接收到合成文件时,将接收到的合成文件写入所述文件存储模块,并可以向文件编辑应用模块发送写成功消息,本流程结束。
步骤60531、策略管理模块向文件系统Hook模块返回写失败消息。
在所在节点对所述IPFS文件的访问权限不包括可写时,策略管理模块可以向文件系统Hook模块返回写失败消息。
步骤60532、文件系统Hook模块提示文件编辑应用模块写失败。
在本步骤中,文件系统Hook模块可以继续向文件编辑应用模块发送写失败消息,提示文件编辑应用模块写失败。
实施例九
本发明实施例九提供一种IPFS文件处理方法,本实施例以对IPFS文件进行关闭操作时,IPFS文件的处理过程为例进行说明,需要说明的是,对IPFS文件进行关闭操作可以理解为对IPFS文件进行读操作或写操作之后的操作,该方法的步骤流程可以如图10所示,包括:
步骤701、文件编辑应用模块发送关闭指令。
在本步骤中,文件编辑应用模块在需要对IPFS文件进行关闭操作时,可以通过文件系统Hook模块向文件存储模块中的所述IPFS文件发送关闭指令。
步骤702、文件系统Hook模块截获关闭指令,发送文件句柄。
在本步骤中,文件系统Hook模块可以截获所述关闭指令,读取所述IPFS文件对应的文件句柄,并可以将所述IPFS文件对应的文件句柄发送至所述策略管理模块。
步骤703、策略管理模块删除记录。
在本步骤中,策略管理模块可以根据接收到的文件句柄,删除记录的所述文件句柄和所述文件句柄对应的所述访问策略信息,实现对IPFS文件的关闭操作。
实施例七~九提供的方案涉及节点内的普通文件编译应用进行文件操作的流程。在进行文件操作的过程中,文件系统Hook模块首先通过进程信息判断该操作是否为系统内部的分布式文件传输模块自身进行的文件操作,若为分布式文件传输模块自身进行的文件操作,文件系统Hook模块直接读写设备存储在硬件中的文件内容,不进行额外的操作。
基于同一发明构思,本发明实施例提供以下的设备和介质。
实施例十
本发明实施例十提供一种IPFS文件处理设备,该设备的结构可以如图11所示,包括存储器21、处理器22及存储在存储器上的计算机程序,所述处理器22执行所述程序时实现本发明实施例一所述方法的步骤。
可选的,所述处理器22具体可以包括中央处理器(CPU)、特定应用集成电路(ASIC,application specific integrated circuit),可以是一个或多个用于控制程序执行的集成电路,可以是使用现场可编程门阵列(FPGA,field programmable gate array)开发的硬件电路,可以是基带处理器。
可选的,所述处理器22可以包括至少一个处理核心。
可选的,所述存储器21可以包括只读存储器(ROM,read only memory)、随机存取存储器(RAM,random access memory)和磁盘存储器。存储器21用于存储至少一个处理器22运行时所需的数据。存储器21的数量可以为一个或多个。
本发明实施例十一提供一种非易失性计算机存储介质,所述计算机存储介质存储有可执行程序,当可执行程序被处理器执行时,实现本发明实施例一提供的方法。
在具体的实施过程中,计算机存储介质可以包括:通用串行总线闪存盘(USB,Universal Serial Bus flash drive)、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的存储介质。
在本发明实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性或其它的形式。
在本发明实施例中的各功能单元可以集成在一个处理单元中,或者各个单元也可以均是独立的物理模块。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备,例如可以是个人计算机,服务器,或者网络设备等,或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:通用串行总线闪存盘(universal serial bus flash drive)、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (19)
1.一种星际文件系统IPFS文件处理方法,其特征在于,所述方法包括:
IPFS节点获取IPFS文件时,确定所述IPFS文件对应的访问策略信息,所述访问策略信息包括IPFS分布式存储网络中每个节点对所述IPFS文件的访问权限;
IPFS节点根据所述访问策略信息,确定自身对所述IPFS文件的访问权限;
IPFS节点根据自身对所述IPFS文件的访问权限,对所述IPFS文件进行处理;
其中,IPFS节点确定所述IPFS文件对应的访问策略信息,包括:
从IPFS分布式存储网络中读取IPFS文件对应的文件指纹所对应的合成文件;其中,所述合成文件包括所述IPFS文件和所述IPFS文件对应的访问策略信息;
从所述合成文件中获取所述IPFS文件对应的访问策略信息。
2.如权利要求1所述的方法,其特征在于,IPFS节点确定所述IPFS文件对应的访问策略信息,包括:
确定自身保存的所述IPFS文件对应的访问策略信息。
3.如权利要求1或2所述的方法,其特征在于,IPFS节点确定出所述访问策略信息为空时,根据自身对所述IPFS文件的访问权限,对所述IPFS文件进行处理,包括:
接收设置的所述IPFS文件对应的访问策略信息;
利用接收到的访问策略信息和所述IPFS文件生成文件指纹,并将所述文件指纹发布到所述IPFS分布式存储网络。
4.如权利要求1或2所述的方法,其特征在于,IPFS节点根据自身对所述IPFS文件的访问权限,对所述IPFS文件进行处理,包括:
在自身对所述IPFS文件的访问权限包括可发布时,利用所述IPFS文件和所述访问策略信息生成文件指纹,并将该文件指纹发布到IPFS分布式存储网络,否则,提示发布失败。
5.如权利要求1或2所述的方法,其特征在于,IPFS节点根据自身对所述IPFS文件的访问权限,对所述IPFS文件进行处理,包括:
在自身对所述IPFS文件的访问权限包括可访问时,保存所述IPFS文件和所述IPFS文件对应的访问策略信息,否则,删除所述IPFS文件和所述IPFS文件对应的访问策略信息。
6.如权利要求1所述的方法,其特征在于,IPFS节点根据自身对所述IPFS文件的访问权限,对所述IPFS文件进行处理,包括:
在自身对所述IPFS文件的访问权限包括可读时,显示所述IPFS文件,并记录所述IPFS文件对应的文件句柄和所述访问策略信息,否则,提示所述IPFS文件不可读。
7.如权利要求6所述的方法,其特征在于,IPFS节点显示所述IPFS文件,并记录所述IPFS文件对应的文件句柄和所述访问策略信息之后,所述方法还包括:
在自身对所述IPFS文件的访问权限包括可写时,对所述IPFS文件进行写操作,并保存写操作后得到的IPFS文件和所述访问策略信息,否则,提示所述IPFS文件不可写。
8.如权利要求6或7所述的方法,其特征在于,所述方法还包括:
IPFS节点删除所述IPFS文件对应的文件句柄和所述访问策略信息的记录。
9.一种星际文件系统IPFS节点,其特征在于,所述节点包括:
信息确定模块,用于所在节点获取IPFS文件时,确定所述IPFS文件对应的访问策略信息,所述访问策略信息包括IPFS分布式存储网络中每个节点对所述IPFS文件的访问权限;
匹配模块,用于根据所述访问策略信息,确定所在节点对所述IPFS文件的访问权限;
处理模块,用于根据所在节点对所述IPFS文件的访问权限,对所述IPFS文件进行处理;
其中,所述信息确定模块,确定所述IPFS文件对应的访问策略信息,包括:从IPFS分布式存储网络中读取IPFS文件对应的文件指纹所对应的合成文件;其中,所述合成文件包括所述IPFS文件和所述IPFS文件对应的访问策略信息;从所述合成文件中获取所述IPFS文件对应的访问策略信息。
10.如权利要求9所述的节点,其特征在于,所述信息确定模块,确定所述IPFS文件对应的访问策略信息,包括:
确定所在节点保存的所述IPFS文件对应的访问策略信息。
11.如权利要求9或10所述的节点,其特征在于,所述信息确定模块,确定出所述访问策略信息为空时,所述处理模块,根据所在节点对所述IPFS文件的访问权限,对所述IPFS文件进行处理,包括:
接收设置的所述IPFS文件对应的访问策略信息;
利用接收到的访问策略信息和所述IPFS文件生成文件指纹,并将所述文件指纹发布到所述IPFS分布式存储网络。
12.如权利要求9或10所述的节点,其特征在于,所述处理模块,根据所在节点对所述IPFS文件的访问权限,对所述IPFS文件进行处理,包括:
在所在节点对所述IPFS文件的访问权限包括可发布时,利用所述IPFS文件和所述访问策略信息生成文件指纹,并将该文件指纹发布到IPFS分布式存储网络,否则,提示发布失败。
13.如权利要求9或10所述的节点,其特征在于,所述处理模块,根据所在节点对所述IPFS文件的访问权限,对所述IPFS文件进行处理,包括:
在所在节点对所述IPFS文件的访问权限包括可访问时,保存所述IPFS文件和所述IPFS文件对应的访问策略信息,否则,删除所述IPFS文件和所述IPFS文件对应的访问策略信息。
14.如权利要求9所述的节点,其特征在于,所述处理模块,根据所在节点对所述IPFS文件的访问权限,对所述IPFS文件进行处理,包括:
在所在节点对所述IPFS文件的访问权限包括可读时,显示所述IPFS文件,并记录所述IPFS文件对应的文件句柄和所述访问策略信息,否则,提示所述IPFS文件不可读。
15.如权利要求14所述的节点,其特征在于,所述处理模块,显示所述IPFS文件,并记录所述IPFS文件对应的文件句柄和所述访问策略信息之后,还包括:
在所在节点对所述IPFS文件的访问权限包括可写时,对所述IPFS文件进行写操作,并保存写操作后得到的IPFS文件和所述访问策略信息,否则,提示所述IPFS文件不可写。
16.如权利要求14或15所述的节点,其特征在于,所述处理模块,还用于删除所述IPFS文件对应的文件句柄和所述访问策略信息的记录。
17.一种星际文件系统IPFS节点,其特征在于,所述节点包括策略管理模块、分布式文件传输模块以及文件存储模块,其中:
所述分布式文件传输模块,用于从IPFS分布式存储网络中读取IPFS文件对应的文件指纹所对应的合成文件,所述合成文件包括所述IPFS文件和所述IPFS文件对应的访问策略信息,从所述合成文件中获取所述IPFS文件对应的访问策略信息;
所述文件存储模块,用于存储所述IPFS文件,或者存储所述IPFS文件和所述IPFS文件对应的访问策略信息对应的合成文件,所述访问策略信息包括IPFS分布式存储网络中每个节点对所述IPFS文件的访问权限;
所述策略管理模块,用于从所述分布式文件传输模块读取的合成文件中,确定所述IPFS文件对应的访问策略信息,或者,从所述文件存储模块中获取所述IPFS文件,并确定所述IPFS文件对应的访问策略信息为空,或者,从所述文件存储模块保存的合成文件中,确定所述IPFS文件对应的访问策略信息;
所述策略管理模块,还用于根据所述访问策略信息,确定所在节点对所述IPFS文件的访问权限,根据所在节点对所述IPFS文件的访问权限,对所述IPFS文件进行处理。
18.一种非易失性计算机存储介质,其特征在于,所述计算机存储介质存储有可执行程序,该可执行程序被处理器执行实现权利要求1~8任一所述方法的步骤。
19.一种星际文件系统IPFS文件处理设备,其特征在于,包括存储器、处理器、收发器以及总线接口;所述处理器,用于读取存储器中的程序,执行:
获取IPFS文件时,确定所述IPFS文件对应的访问策略信息,所述访问策略信息包括IPFS分布式存储网络中每个节点对所述IPFS文件的访问权限;
根据所述访问策略信息,确定对应的IPFS节点对所述IPFS文件的访问权限;
根据对应的IPFS节点对所述IPFS文件的访问权限,对所述IPFS文件进行处理;
其中,确定所述IPFS文件对应的访问策略信息,包括:从IPFS分布式存储网络中读取IPFS文件对应的文件指纹所对应的合成文件;其中,所述合成文件包括所述IPFS文件和所述IPFS文件对应的访问策略信息;从所述合成文件中获取所述IPFS文件对应的访问策略信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910001296.1A CN111400269B (zh) | 2019-01-02 | 2019-01-02 | 一种ipfs文件处理方法、节点、介质和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910001296.1A CN111400269B (zh) | 2019-01-02 | 2019-01-02 | 一种ipfs文件处理方法、节点、介质和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111400269A CN111400269A (zh) | 2020-07-10 |
CN111400269B true CN111400269B (zh) | 2024-04-19 |
Family
ID=71433861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910001296.1A Active CN111400269B (zh) | 2019-01-02 | 2019-01-02 | 一种ipfs文件处理方法、节点、介质和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111400269B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113343294A (zh) * | 2021-06-03 | 2021-09-03 | 上海和数软件有限公司 | 一种实现安全数据存储的方法、系统及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007328400A (ja) * | 2006-06-06 | 2007-12-20 | Ntt Data Corp | ポリシー管理装置、ポリシー管理方法、及び、コンピュータプログラム |
CN108108633A (zh) * | 2017-12-20 | 2018-06-01 | 中国科学院深圳先进技术研究院 | 一种数据文件及其访问方法、装置及设备 |
CN108768948A (zh) * | 2018-04-28 | 2018-11-06 | 努比亚技术有限公司 | 一种访问权限管理方法、服务器及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6533771B2 (ja) * | 2016-11-15 | 2019-06-19 | 富士通株式会社 | 通信方法、装置、及びプログラム |
-
2019
- 2019-01-02 CN CN201910001296.1A patent/CN111400269B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007328400A (ja) * | 2006-06-06 | 2007-12-20 | Ntt Data Corp | ポリシー管理装置、ポリシー管理方法、及び、コンピュータプログラム |
CN108108633A (zh) * | 2017-12-20 | 2018-06-01 | 中国科学院深圳先进技术研究院 | 一种数据文件及其访问方法、装置及设备 |
CN108768948A (zh) * | 2018-04-28 | 2018-11-06 | 努比亚技术有限公司 | 一种访问权限管理方法、服务器及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
赵跃龙 ; 谢晓玲 ; 蔡咏才 ; 王国华 ; 刘霖 ; .一种性能优化的小文件存储访问策略的研究.计算机研究与发展.2012,(07),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111400269A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109034809B (zh) | 区块链的生成方法、装置、区块链节点及存储介质 | |
EP3678346A1 (en) | Blockchain smart contract verification method and apparatus, and storage medium | |
CN108734028B (zh) | 基于区块链的数据管理方法、区块链节点及存储介质 | |
CN107911249B (zh) | 一种网络设备的命令行发送方法、装置和设备 | |
CN109255056B (zh) | 区块链的数据引用处理方法、装置、设备及存储介质 | |
EP3321819A1 (en) | Device, method and program for securely reducing an amount of records in a database | |
CN107015853A (zh) | 多阶段任务的实现方法和装置 | |
CN106101113A (zh) | 一种云计算数据安全标记管理方法及系统 | |
CN103368765A (zh) | 一种管理系统权限添加方法和装置 | |
CN107943878B (zh) | 一种业务规则引擎实现方法和系统 | |
CN101751452A (zh) | 信息处理装置和信息处理方法 | |
CN113157315A (zh) | 一种软件不同版本的差异信息识别方法、装置、设备及介质 | |
CN101840471A (zh) | 文档权限控制方法和装置 | |
CN111177257A (zh) | 一种区块链的数据存储及访问方法、装置以及设备 | |
CN110213290A (zh) | 数据获取方法、api网关以及存储介质 | |
CN112732949A (zh) | 一种业务数据的标注方法、装置、计算机设备和存储介质 | |
CN112015806A (zh) | 区块链存储数据的方法及装置 | |
CN105991282B (zh) | 口令生成方法及装置 | |
CN107291486A (zh) | 一种操作系统的安装方法和装置 | |
CN111400269B (zh) | 一种ipfs文件处理方法、节点、介质和设备 | |
CN105183799B (zh) | 一种权限管理的方法及客户端 | |
CN109145621A (zh) | 文档管理方法及装置 | |
JP7106000B2 (ja) | 追跡識別子を用いたオブジェクト管理方法、装置、コンピュータプログラムおよびその記録媒体 | |
CN110059081A (zh) | 基于数据展示的数据输出方法、装置及计算机设备 | |
CN115495620A (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 |