CN103370706B - 分布式文件系统 - Google Patents

分布式文件系统 Download PDF

Info

Publication number
CN103370706B
CN103370706B CN201180067651.7A CN201180067651A CN103370706B CN 103370706 B CN103370706 B CN 103370706B CN 201180067651 A CN201180067651 A CN 201180067651A CN 103370706 B CN103370706 B CN 103370706B
Authority
CN
China
Prior art keywords
data
identifier
stored
subdirectory
datagram
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.)
Expired - Fee Related
Application number
CN201180067651.7A
Other languages
English (en)
Other versions
CN103370706A (zh
Inventor
大卫·欧文
Original Assignee
MAIDSAFE NET Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MAIDSAFE NET Ltd filed Critical MAIDSAFE NET Ltd
Publication of CN103370706A publication Critical patent/CN103370706A/zh
Application granted granted Critical
Publication of CN103370706B publication Critical patent/CN103370706B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella

Abstract

一种提供分布式文件系统的方法,该分布式文件系统允许将包括以分级结构被布置的多个目录和文件的数据存储在密钥可寻址存储系统上,该存储系统可被多个用户访问,该方法包括以下步骤:将子目录的数据存储在存储系统上并且创建提供所存储数据的至少一个位置的数据图;将识别符分配给子目录和子目录的父目录;利用子目录识别符和父目录识别符二者来加密数据图;以及利用至少一部分的子目录识别符作为密钥来将加密的数据图存储在存储系统上。

Description

分布式文件系统
技术领域
本发明涉及分布式文件系统。具体地说,但是并不完全地,本发明涉及设置在点对点(peer to peer)、分散的或无服务器(server less)的网络中的分布式文件系统。
背景技术
分布式文件系统(DFS)允许网络上的多个节点共享对文件、打印机等的访问。通常地,DFS需要服务器或控制节点。这是由于以下多个原因,包括:验证用户访问和数据的常规安全,分配读出/写入权限,管理资源,确保数据的复制、文件锁定等。实际上,普遍认为所有这些问题表明集中的权利是必要的。
关于数据安全,服务器或控制节点自身扮演了攻击的目标。其也是潜在的故障点,如果服务器失效,则当前打开的文件会变得不可用。这种文件系统还需要索引机制(indexing mechanism)。
期望提供一种具有更好的数据安全性和/或不易于导致系统故障的改进的DFS。期望提供一种没有集中的控制或索引的分布式文件系统。
诸如服务器消息块(Server Message Block,SMB),也称为通用因特网文件系统(Common Internet File System,CIFS)的协议,作为应用层网络协议来操作,以提供对于文件共享的兼容性。SMB使用客户端-服务器方法(client-server approach)。然而,除了上面的问题之外,已获知这种协议还有许多缺点或局限。例如,SMB会造成网络上广播通信量的显著增加。并且随着网络规模的增加,这个问题也会加剧。DFS通常由并且限于组织的成员所使用,但是即便对于这种规模的网络,广播通信量仍会是个问题。另外,等待时间会对网络性能产生重要的影响。还存在对数据安全的担心,涉及SMB2的实现的最近的问题。
此外,在操作系统(或者甚至是操作系统的不同版本)间的文件系统中存在关于它们如何处理经由文件系统对数据的访问的差异。这些差异会使得文件共享更加成问题。随着网络规模的增加,操作系统的数量或操作系统的版本很有可能增加。
期望提供一种至少实现最少的一组特征的可以跨平台操作的更通用的文件系统。期望提供一种适合于大规模的、甚至是无限规模的网络的DFS。这种文件系统可在任意平台上将自身作为本地文件系统向用户表现,同样可利用低级别驱动器和随同使用它的任何应用一起要被安装的代码。期望提供一种允许大量的甚至是无限多级的目录结构的文件系统。
在本说明书中,关于DHT“密钥,值”对的密钥,使用术语“密钥”。密码私人密钥和密码公共密钥将分别称为Kpriv和Kpub。另外,将使用下面的记法:
H≡诸如SHA、MD5等的散列函数(哈希函数,Hash function);
XXXpriv,XXXpub≡分别是命名为XXX的密码密钥对的私人密钥和公共密钥;
SymEncPASS(Data)≡利用PASS的对称加密数据;
Sig[Kpriv](Data)≡利用Kpriv创建数据的非对称符号;
+≡级联;以及
Θ≡按位异或(XOR)
发明内容
根据本发明,提供了一种提供分布式文件系统的方法,该分布式文件系统允许将包括以分级结构布置的多个目录和文件的数据存储在密钥可寻址存储系统上,存储系统可被多个用户访问,该方法包括以下步骤:
将子目录的数据存储在存储系统上并且创建提供所存储数据的至少一个位置的数据图;
将识别符分配给子目录和子目录的父目录;
利用子目录识别符和父目录识别符二者来加密数据图;以及
利用至少一部分的子目录识别符作为密钥来将加密的数据图存储在存储系统上。
数据图可被认为是数据要素或数据要素的片(piece)的图,该数据图允许在密钥可寻址存储系统中取回这种要素。应该注意的是,数据图的解密以及由此访问至子目录的所存储数据需要子目录识别符和父目录识别符两者。然而,父目录识别符不能从数据图或所存储数据被导出。另外,仅仅使用子目录识别符和父目录识别符,父目录的所存储数据并不是可访问的。
利用子目录识别符和父目录识别符,子目录的所存储数据是可访问的。子目录的所存储数据可以包括利用子目录识别符和孙目录识别符是可访问的一个或多个孙目录。
该方法可以包括以下步骤:
创建第二数据图,第二数据图提供孙目录的所存储数据的至少一个位置;
将识别符分配给孙目录;
利用子目录识别符和孙目录识别符二者来加密数据图;以及
利用至少一部分的孙目录识别符作为密钥来将加密的数据图存储在存储系统上。
孙目录识别符可以从子目录数据导出。由此,用户可利用子目录识别符和父目录识别符来访问至少一个孙目录的数据。
对于在孙目录下的目录和分目录,该方法步骤是可重复的。可在每个目录级中创建数据图。由此,用户可利用子目录识别符和父目录识别符来访问子目录下的多级存储的目录和分目录以及相关数据。用户可向下钻取或向上钻取这些级,但是不能访问子目录以上的级。
存储系统可以包括无服务器的网络。该存储系统可以包括点对点网络。可选地,存储系统可以包括可读盘。
存储子目录的数据的步骤可以包括对要被存储的数据进行加密。应当注意的是,对于本发明,可以加密目录的内容或者可以加密目录的列表的内容(或者是这二者)。
该方法可以包括将要被存储的至少一个数据要素分成多个数据块的步骤。该方法可以包括将至少一个数据块存储在存储系统上的与其他数据块不同的位置。
存储系统可以包括网络的多个节点,并且该方法可以包括将至少一个数据块存储在与其他数据块不同的节点上。
该方法可以包括在存储在存储系统之前加密每个数据块。
该方法可以包括在存储在网络之前对子目录的数据进行模糊处理的步骤。该方法可以包括在存储在网络之前对子目录的数据图进行模糊处理的步骤。可以在加密之前执行对数据图进行模糊处理的步骤。
该方法可以包括与多个用户中的至少一个共享被存储在存储系统上的数据。该方法可以包括提供私人共享目录并且仅允许访问所选择的对等点。
共享数据的步骤可以包括创建替代识别符,并且用替代识别符来替代父目录识别符。
创建替代识别符的步骤可以包括创建用于共享数据的用户的密钥对。创建替代识别符的步骤可以包括创建用于共享数据的用户的用户识别符,从创建的密钥对导出用户识别符。
创建替代识别符的步骤可以包括创建第二密钥对并且根据创建的第二密钥对来创建共享识别符。替代识别符可对应于创建的第二公共密钥。替代识别符可对应于创建的第二公共密钥的散列。
该方法可以包括允许一个或多个所选择的用户来读取共享数据。该方法可以包括发送消息至每个所选用户。所发送的消息可以包括一个或多个或全部的共享名称、用于共享的识别符和公共密钥以及所生成的随机密钥。所发送的消息可以至少被签署或被加密。
该方法可以包括从网络取回被加密的数据图并且利用用于共享的公共密钥和随机密钥的散列来解密数据图。
该方法可以包括允许一个或多个所选择的用户来写入至共享数据。所发送的消息可以包括允许修改被加密的数据图的用于共享的私人密钥。
该方法可以包括向一个或多个所选用户提供对共享数据的管理者访问。发送的消息可以包括第一密钥对的私人密钥。
该方法可以包括提供公共的共享目录。该方法可以包括将公知的识别符分配给每个用户。该方法可以包括在公知识别符的散列控制下存储公共共享目录的数据图,使得公共共享目录的数据可利用公共识别符被读取。
该方法可以包括提供匿名的共享目录。
该方法可以包括提供分布式锁定以确保数据完整的步骤。
提供分布式锁定的步骤可以包括将锁定请求从希望写入至所存储数据的节点发送至一个或多个节点。锁定请求可被发送至最接近希望写入至所存储数据的节点的多个节点。通过希望写入至所存储数据的节点来签署锁定请求。
该方法可以包括,在接收锁定请求时配置一个或多个节点,以与其他节点协商或相互协商。该方法可以包括,在接收到涉及同一数据的两个或多个单独的锁定请求的情况下,拒绝该锁定请求。该方法可以包括如果两个或多个单独的锁定请求在任意时间段过去之后提出另一锁定请求之前被接收则将每个请求节点配置为暂停该任意时间段。该方法可以包括设定全系统范围锁定时间常量。
附图说明
现在将参考附图,仅通过示例来描述本发明的实施方式,在附图中:
图1是包括多个节点的网络的图示;以及
图2是分级文件结构的图示。
具体实施方式
图1示出了节点20的网络10,每个节点20与网络上的用户相关联。每个节点20可以不需要通过服务器或控制节点来路由而直接与网络10上的另一节点进行通信。因此,网络10是点对点的。
网络10,或者更确切地说全部的存储装置22或每个节点20的存储器,还提供了用于在网络10上存储数据的密钥可寻址存储系统。所存储的数据可以是如图2所示的各级目录、分目录(subdirectory)以及文件的典型分级结构30。分级结构30可以是任意规模。网络也可以是从组织内的几个节点20到包括能访问因特网的任意计算装置的任意规模。
如下面所解释的,用户可将数据存储在网络10上,使得该数据不能被网络10上的另一节点访问。然而,用户可以选择使某些或全部数据对于网络10上的特定的或所有其他用户/节点20是可访问的。众所周知,用户可共享一个目录,使得该目录下的所有分目录和文件是可访问的。然而,根据本发明实现这个的方法使用不同的途径。
在特定的节点20采取下面的步骤来创建父(parent)目录(父)32的子(child)目录(子)34。当然,这些步骤由节点装置进行,并且这些步骤对于节点20的用户并不是透明的。用户的体验与当在传统的系统中保存数据时的体验完全相同。
随机密钥(ChildKey)被生成,并且可以确认此密钥先前并未在网络10上被使用。子目录识别符(ChildID)(诸如,通过添加随机数)从ChildKey被导出并且被分配给子目录34。以类似的方式,父目录识别符被导出并且被分配给父目录32。
包括子目录识别符的新条目(entry)被创建并且被保存在父目录32的下面。该条目还可包含子目录34所需的所有元数据。
如下面所解释的,子目录34的数据被加密之后被存储在网络10上。所存储数据的数据图被创建。此数据图提供了所存储数据的位置,每个位置提及诸如文件名的实际数据(但不是数据本身)的细节。
然后利用子目录识别符和父目录识别符二者来加密该数据图。利用子目录识别符作为密钥将被加密的数据图存储在网络10上。从而,数据图的解密需要子目录识别符和父目录识别符二者。然而,根据数据图或所存储的数据无法导出父目录识别符。可利用特定节点20所知晓的子目录识别符和父目录识别符来访问子目录的所存储数据。
子目录34的所存储数据通常包括多个文件以及至少一个孙(grandchild)目录36。利用子目录识别符和创建的孙目录识别符,这些文件和孙目录36是完全可访问的。执行与上面类似的步骤,以将此数据存储在网络10上。
创建第二数据图,该第二数据图提供了孙目录36的所存储的数据的位置。将一个识别符分配给孙目录36。利用子目录识别符和孙目录识别符二者来加密第二数据图。利用孙目录识别符作为密钥将被加密的数据图存储在网络10上。
完全能从子目录数据导出孙目录识别符。因此,用户能利用子目录识别符和父目录识别符来访问孙目录36的数据。
对于分级结构30中的更低级的目录和分目录重复这些步骤,在每个目录级中创建数据图。因此,利用子目录识别符和父目录识别符,用户能访问父目录32以下(但不包括父目录)的所有级的所存储目录和分目录以及相关的数据。
因此,本发明提供了一种目录结构,其可从父目录32被向前反向并且具有回到那一点的高效实现,但是除非获得了该结构的新知识,否则不再回去。这具有的效果是:允许目录树自由地形成而不受到任何的根或基础级的约束。用户可以具有树形,但它是自由形成的树形而不是完全地分布式根目录(distributed overall root directory)。
对要被存储的数据进行加密的步骤可以如WO2008/065341中所描述的来执行,其通过引用被合并于此。
简而言之,此处理包括将子目录34的每个数据要素或文件分成多个数据块。给出了每个数据块的位置的子目录34的数据图(ChildDM)被创建。
子目录识别符和父目录识别符的散列H(ParentID+ChildID)被命名为Obf,并且通过重复地再散列Obf并且添加该结果(Obf+H(Obf)+H(H(Obf))+…)可以创建与ChildDM同样规模的数据块(ObfChunk)。每个数据块被模糊处理(ObfChunk),然后被加密。数据块然后被存储在网络10上的不同的位置,甚至在不同的节点20。对称加密口令(Pass=H(ParentID+ChildID))被创建。子目录34的数据图在加密(EncDM=SymEnc[Pass](ObfDM))之前也被模糊处理(ObfDM=ChildDMΘObfChunk),然后被存储在网络10上。
利用上面的方法,能被存储的分级结构30的级数不受限制。
本发明的方法还允许与其他用户共享网络10上所存储的数据。为了共享数据,所需要的是访问解密目录或与解密所需的密钥在一起的加密目录。此目录下的所有目录然后被自动地共享。
由于创建共享根目录的节点20不希望对等点获知该目录的父目录识别符,因此为了增加安全性,保密地共享目录结构的步骤可使用父目录识别符的替代识别符。
除了加密要素之外,如上所述地创建共享根目录。替代物被导出,并且如上所述地执行加密。按照如下来进行创建并存储父目录识别符的替代物。
针对共享该数据的用户创建第一密钥对(ShareOwnpriv和ShareOwnpub)。还创建从创建的密钥对导出的针对共享所有者的识别符(ShareOwnID=H(ShareOwnpub+Sig[ShareOwnpriv](ShareOwnpub))。此识别符被存储在网络10上。
尽管在此实施方式中使用了密钥对,但可以利用对称加密并且利用任意可行方法在用户之间传递密钥来执行本发明的方法。
创建用于共享的其他密钥对(Sharepriv和Sharepub)和识别符(ShareID=H(Sharepub+Sig[ShareOwnpriv](Sharepub)))。此识别符被存储在网络10上。
用于共享的公共密钥的散列(H(Sharepub))被用作替代识别符。
本发明的方法允许提供仅对经选择的对等节点(peer node)20的访问。通过如下方式来实现这个。
通常,存储私人非共享目录的加密数据图(EncDM)的节点20用仅自身知道的密码私人密钥(Kpriv)对存储请求和数据进行签署,无论单个的Kpriv是否在同一树中,它们可被用于所有的目录。
然而,在共享的目录的情况中,期望对等节点20能够做出一些修改,因此期望这些对等点能够用最初的私人密钥来签署被修改的数据图和请求。为了实现此目的,当存储共享目录的加密数据图时,使用用于共享的私人密钥。同样的密钥被用于共享根目录的所有分目录。然而,每一新的共享根目录具有唯一的私人密钥,以在“每个共享目录”基础上允许要被分配的对等点许可。
私人共享根目录的创建者将许可分配给所选择的对等节点20。在成功创建该目录之后向所选的每个对等点发送签署的所加密的消息。
所选择的所有对等点从消息接收共享名称(其是人可阅读的并且由创建者所选择的)以及用于共享的识别符和公共密钥和产生的随机密钥(ChildKey)。这允许从网络10取回在随机密钥控制下被存储的加密数据图。它还允许利用用于共享的公共密钥和随机密钥的散列来解密数据图。所选择的每个对等点从而读取访问该目录和其分目录。
对于被给予写入访问的对等节点20,该消息还包含用于共享的私人密钥,以使它们能够修改网络10中所保持的加密数据图。
对于被给予管理者访问的对等节点20,该消息还包含第一密钥对的私人密钥(ShareOwnpriv)以使它们能改变用于共享的识别符,移除用户并且从网络10彻底地删除该共享。
为了撤销对等节点的对共享目录的访问,管理者节点20创建用于共享的新识别符以及第一密钥对。然后,管理者锁定该共享的根目录,将该内容复制至新根目录并且生成新的随机密钥。如之前所述的,将消息发送至所有的授权对等点(但不是具有被撤销访问的对等节点20)。当授权对等点接收此消息时,从新的根目录重新读取共享。
管理者然后将所有现存的目录结构复制(依次锁定每一个)至新结构,递归地在新根目录开始并且删除失效(old)目录。
对等节点20将注意此动作,如果一个文件被打开,在当前目录被锁定的情况下等候新的目录(和数据图)变得可用,否则的话,在该递归“移动”还没有到达那点时,安全地存储该文件。
每个节点20还可以创建可被任意对等点访问(仅读取)的公共共享目录结构。对此的处理类似于如上面所描述的但是更简单,这是因为数据图不需被加密并且无需将消息发送至对等点组。
公共共享目录的创建者利用不同的密码私人密钥(MPIDpriv)来签署数据图和请求。无论所有公共共享目录是否在同一树中,此私人密钥并不对任意对等点公开并且能被用于所有公共共享目录。所有的对等点能读取数据,但是仅创建者能编辑它,因此不需要锁定。
为了允许对等节点20找到网络10上的公共共享目录,可向用户分配诸如与电子邮件地址类似的公知的识别符(PublicID)。根公共共享目录的数据图在此识别符的散列控制下(H(PublicID))被存储。
因此,网络10上的任意对等节点20可以仅仅利用公共识别符来读取公共共享目录中的数据。此数据可被自由地分发,并且可以提供浏览器附加软件(browser add-on),以允许更广泛地访问该数据。
也可以创建匿名共享目录结构。这些与公共共享目录类似,但是数据图在其控制下被存储的密钥和任意签署密钥被配置为:它们是不可追回到相关用户的。
在存在多个用户访问至特定数据时,本发明可利用分布式锁定机制,以确保数据完整。在分布式哈希表(Distributed Hash Table,DHT)中的文件锁定可能是有问题的,尤其是从失效的锁定恢复。本发明允许共享目录被容易地建立并维持。
为了写入数据,节点20请求来自负责维持该数据的节点的锁定。锁定请求被发送者签署,以允许K个接受者确认许可请求者。如果签名验证失败,则该请求被拒绝。
在接收到锁定时,节点20被配置为与其他节点协商;如果所有节点20接受该锁定,则该锁定是适当的。然而,如果针对锁定的两个单独的请求存在任何冲突,则两个请求都被拒绝。当这种情况出现时,请求节点20将暂停任意时间段,然后提出另一锁定请求。另外,全系统范围锁定持续常数被设置。这允许去除已失效的任意锁定。
在接收到锁定时,节点20再次读取该数据,以确认与已被更新版本相同的版本,然后更新该值。
本发明提供了一种以易于可寻址和可查找并且易升级的方式将数据存储在分布式网络中的方法。
尽管上面描述了本发明的特定实施方式,但应理解的是,偏离所描述的实施方式仍会落入本发明的范围内。

Claims (15)

1.一种提供分布式文件系统的方法,所述分布式文件系统允许将包括以分级结构被布置的多个目录和文件的数据存储在密钥可寻址存储系统上,所述存储系统可被多个用户访问,所述方法包括以下步骤:
将子目录的数据存储在所述存储系统上并且创建提供所存储数据的至少一个位置的数据图;
将子目录识别符分配给子目录和将父目录识别符分配给父目录;
利用子目录识别符和父目录识别符二者来加密所述数据图;以及
利用至少一部分的所述子目录识别符作为密钥来将加密的数据图存储在所述存储系统上,
从而提供没有集中的控制的分布式文件系统。
2.根据权利要求1所述的方法,其中,所述子目录的所存储数据包括利用所述子目录识别符和孙目录识别符可访问的一个或多个孙目录,所述方法还包括以下步骤:
创建第二数据图,所述第二数据图提供所述孙目录的所存储数据的至少一个位置;
将识别符分配给所述孙目录;
利用所述子目录识别符和孙目录识别符二者来加密所述第二数据图;以及
利用至少一部分的所述孙目录识别符作为密钥来将加密的数据图存储在所述存储系统上。
3.根据权利要求1或2所述的方法,包括将要被存储的至少一个数据要素分成多个数据块的步骤。
4.根据权利要求3所述的方法,包括将至少一个数据块存储在所述存储系统上的与其他数据块不同的位置。
5.根据权利要求4所述的方法,其中,所述存储系统包括网络的多个节点,并且所述方法包括将至少一个数据块存储在与其他数据块不同的节点上。
6.根据权利要求3所述的方法,包括在存储在所述存储系统之前加密每个数据块。
7.根据权利要求1所述的方法,还包括:
与所述多个用户中的至少一个来共享被存储在所述存储系统上的数据;以及
提供私人共享目录并且仅仅允许所选择的对等点的访问;
其中,共享数据的步骤包括创建替代识别符,并且利用所述替代识别符来替代所述父目录识别符;以及
其中允许访问包括将所述私人共享目录提供为解密目录或者与解密所需要的密钥一起提供为加密目录。
8.根据权利要求7所述的方法,其中,创建所述替代识别符的步骤包括:
创建共享所述数据的所述用户的密钥对;以及
创建共享所述数据的所述用户的用户识别符,所述用户识别符从创建的密钥对导出。
9.根据权利要求2所述的方法,还包括提供分布式锁定以确保数据完整的步骤,其中,提供分布式锁定的步骤包括将锁定请求从希望写入至所存储数据的节点发送至一个或更多个节点。
10.一种便于创建安全和分级数据结构的密钥可寻址存储系统,所述存储系统可被多个用户访问,所述系统包括多个直接通信的节点,每个节点具有:
配置为用于存储数据的存储器;以及
处理器,所述处理器配置为使数据存储在所述存储器中,
其中每个节点的相应存储器被布置为将数据共同地存储在包括多个目录和文件的分级结构中,
其中存储在任何给定的存储器中的数据存储在所述分级结构的子目录中;以及
其中所述处理器中的至少一个配置为,创建提供所存储数据的至少一个位置的数据图,将子目录标识符分配给子目录并且将父目录标识符分配给父目录,利用所述子目录标识符和所述父目录标识符二者来加密所述数据图;以及利用至少一部分的所述子目录标识符作为密钥来使所述加密的数据图存储在所述分级结构内。
11.如权利要求10所述的存储系统,其中所述子目录的所存储数据包括利用所述子目录标识符和孙目录标识符可访问的一个或更多个孙目录,以及
其中所述处理器中的至少一个还配置为,创建提供所述孙目录的所存储数据的至少一个位置的第二数据图,将标识符分配给所述孙目录,利用所述子目录标识符和所述孙目录标识符二者来加密所述第二数据图,以及利用至少一部分的所述孙目录标识符作为密钥来将加密的数据图存储在所述存储系统上。
12.如权利要求10或者11所述的存储系统,其中所述处理器中的至少一个还配置为,将要被存储的至少一个数据要素分成多个数据块,至少一个数据块存储在所述存储系统上的与其他数据块不同的位置处,所述不同的位置是在与所述其他数据块的位置不同的节点上。
13.如权利要求10或者11所述的存储系统,其中所述处理器中的至少一个还配置为,通过创建替代标识符并且利用所述替代标识符替代所述父目录标识符来将存储在所述存储系统上的数据与多个用户中的至少一个用户共享,以及提供私人共享目录,仅仅允许对所选择的对等点的访问,其中允许访问包括将所述私人共享目录提供为解密目录或者与解密所需要的密钥一起提供为加密目录。
14.如权利要求13所述的存储系统,其中所述处理器中的至少一个还配置为,通过创建共享数据的用户的密钥对来创建所述替代标识符;以及创建共享所述数据的所述用户的用户标识符,所述用户标识符从创建的密钥对导出。
15.如权利要求10或者11所述的存储系统,其中所述处理器中的至少一个还配置为,通过将锁定请求从希望写入至所存储数据的节点发送到一个或更多个节点来提供分布式锁定以确保数据完整。
CN201180067651.7A 2010-12-16 2011-12-16 分布式文件系统 Expired - Fee Related CN103370706B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1021312.2 2010-12-16
GB1021312.2A GB2486462B (en) 2010-12-16 2010-12-16 Distributed file system
PCT/GB2011/052495 WO2012080744A1 (en) 2010-12-16 2011-12-16 Distributed file systems

Publications (2)

Publication Number Publication Date
CN103370706A CN103370706A (zh) 2013-10-23
CN103370706B true CN103370706B (zh) 2016-10-12

Family

ID=43567275

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180067651.7A Expired - Fee Related CN103370706B (zh) 2010-12-16 2011-12-16 分布式文件系统

Country Status (5)

Country Link
US (1) US9135455B2 (zh)
EP (1) EP2652646B1 (zh)
CN (1) CN103370706B (zh)
GB (1) GB2486462B (zh)
WO (1) WO2012080744A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2486462B (en) 2010-12-16 2019-04-24 Maidsafe Found Distributed file system
CN102918509B (zh) * 2011-05-31 2014-06-04 华为技术有限公司 数据读写方法、装置和存储系统
US9052824B2 (en) * 2012-01-26 2015-06-09 Upthere, Inc. Content addressable stores based on sibling groups
US9323771B2 (en) * 2013-04-24 2016-04-26 Dell Products, Lp Efficient rename in a lock-coupled traversal of B+tree
US9442938B1 (en) * 2013-05-03 2016-09-13 Emc Corporation File system layer
US9223517B1 (en) * 2013-05-03 2015-12-29 Emc Corporation Scalable index store
US9558194B1 (en) * 2013-05-03 2017-01-31 EMC IP Holding Company LLC Scalable object store
EP3060734B1 (en) * 2013-10-24 2021-02-24 UTC Fire & Security Americas Corporation, Inc. Systems and methods for locking device management including time delay policies using random time delays
US10164774B2 (en) 2014-05-22 2018-12-25 Puccini World Limited Securing a directed acyclic graph
CN105095785A (zh) * 2014-05-22 2015-11-25 中兴通讯股份有限公司 分布式文件系统的文件访问处理、访问方法及装置
US20160275294A1 (en) * 2015-03-16 2016-09-22 The MaidSafe Foundation Data system and method
US10402372B2 (en) 2015-07-27 2019-09-03 Sas Institute Inc. Distributed data storage grouping
US10567460B2 (en) * 2016-06-09 2020-02-18 Apple Inc. Managing data using a time-based directory structure
CN107870734A (zh) * 2016-09-27 2018-04-03 苏宁云商集团股份有限公司 一种分布式文件系统的交互方法及装置
CN106874457B (zh) * 2017-02-14 2020-03-06 郑州云海信息技术有限公司 一种通过虚拟目录来提升元数据集群性能的方法
CA3169394C (en) * 2017-06-14 2024-01-09 Sas Institute Inc. Distributed data set encryption and decryption
CN108038004A (zh) * 2017-09-30 2018-05-15 用友金融信息技术股份有限公司 分布式锁生成方法、装置、计算机设备和可读存储介质
GB2572135B (en) * 2018-03-07 2023-01-25 The Maidsafe Found Data transaction system and method
US10733306B2 (en) * 2018-03-07 2020-08-04 International Business Machines Corporation Write-only limited-read filesystem
CN110990863B (zh) * 2019-11-27 2021-10-08 山东新潮信息技术有限公司 一种通过时间戳与加密算法实现文件访问控制的方法
CN111711788B (zh) * 2020-05-26 2024-03-15 视联动力信息技术股份有限公司 一种编码分配方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1379339A (zh) * 2001-03-26 2002-11-13 微软公司 无服务器的分布式文件系统
WO2008065342A1 (en) * 2006-12-01 2008-06-05 David Irvine Data maps
CN101692239A (zh) * 2009-10-19 2010-04-07 浙江大学 一种分布式文件系统元数据分配方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7191252B2 (en) * 2000-11-13 2007-03-13 Digital Doors, Inc. Data security system and method adjunct to e-mail, browser or telecom program
US7640582B2 (en) * 2003-04-16 2009-12-29 Silicon Graphics International Clustered filesystem for mix of trusted and untrusted nodes
GB2446170A (en) * 2006-12-01 2008-08-06 David Irvine Shared access to private files in a distributed network
US8885832B2 (en) * 2007-03-30 2014-11-11 Ricoh Company, Ltd. Secure peer-to-peer distribution of an updatable keyring
GB2486462B (en) 2010-12-16 2019-04-24 Maidsafe Found Distributed file system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1379339A (zh) * 2001-03-26 2002-11-13 微软公司 无服务器的分布式文件系统
WO2008065342A1 (en) * 2006-12-01 2008-06-05 David Irvine Data maps
CN101692239A (zh) * 2009-10-19 2010-04-07 浙江大学 一种分布式文件系统元数据分配方法

Also Published As

Publication number Publication date
WO2012080744A1 (en) 2012-06-21
CN103370706A (zh) 2013-10-23
US20130262865A1 (en) 2013-10-03
GB2486462A (en) 2012-06-20
GB2486462B (en) 2019-04-24
EP2652646B1 (en) 2019-03-27
US9135455B2 (en) 2015-09-15
EP2652646A1 (en) 2013-10-23
GB201021312D0 (en) 2011-01-26

Similar Documents

Publication Publication Date Title
CN103370706B (zh) 分布式文件系统
CN104331408B (zh) 分级内容可寻址存储系统中的块级客户端侧加密
US8015211B2 (en) Secure peer-to-peer object storage system
US7509492B2 (en) Distributed scalable cryptographic access control
US9031876B2 (en) Managing keys for encrypted shared documents
US20100332530A1 (en) Islands of data
TW202029694A (zh) 用於透過區塊鏈網路有效安全處理、存取及傳輸資料之系統與方法(二)
EP2176984B1 (en) Creating and validating cryptographically secured documents
CA2860120C (en) Method and system for handling of group sharing in a distributed or cloud data storage environment
CN113961535A (zh) 一种基于区块链的数据可信存储共享系统与方法
JP6573044B1 (ja) データ管理システム
JP2008257719A (ja) 局所超流通及び鍵交換によるセキュアな事前キャッシュ
CN102413159B (zh) 一种面向网络化操作系统的可信任在线存储系统
US9485090B2 (en) Managed authentication on a distributed network
CN107612910A (zh) 一种分布式文件数据访问方法及系统
Periasamy et al. Efficient hash function–based duplication detection algorithm for data Deduplication deduction and reduction
JP4997769B2 (ja) 暗号通信システム、鍵共有方法、鍵提供装置
Chowdhury et al. Secured blockchain based decentralised internet: a proposed new internet
Li et al. Automaton segmentation: A new approach to preserve privacy in XML information brokering
Li Secured cloud storage scheme based on blockchain
Auvolat Making federated networks more distributed
Amann et al. Cryptographically Enforced Permissions for Fully Decentralized File Systems
Chhabraa et al. An optimized data duplication strategy for cloud computing: Dedup with ABE and bloom filters
Kurokawa et al. Study on the distributed data sharing mechanism with a mutual authentication and meta database technology
Feldman et al. Privacy and Integrity are Possible in the Untrusted Cloud.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180307

Address after: El County, England

Patentee after: MAIDSAFE NET LTD.

Address before: El County, England

Patentee before: Maidsafe Net Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161012

Termination date: 20191216