CN102016852A - 内容可寻址存储系统和方法 - Google Patents

内容可寻址存储系统和方法 Download PDF

Info

Publication number
CN102016852A
CN102016852A CN2008801284821A CN200880128482A CN102016852A CN 102016852 A CN102016852 A CN 102016852A CN 2008801284821 A CN2008801284821 A CN 2008801284821A CN 200880128482 A CN200880128482 A CN 200880128482A CN 102016852 A CN102016852 A CN 102016852A
Authority
CN
China
Prior art keywords
metadata
data
storage
server
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2008801284821A
Other languages
English (en)
Other versions
CN102016852B (zh
Inventor
B·阿特金
G·卡尔科夫斯基
C·昂古里努
C·杜布尼基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Patent Wave Private Ltd
Original Assignee
NEC Laboratories America Inc
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 NEC Laboratories America Inc filed Critical NEC Laboratories America Inc
Publication of CN102016852A publication Critical patent/CN102016852A/zh
Application granted granted Critical
Publication of CN102016852B publication Critical patent/CN102016852B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

将诸如从客户端接收的文件等的信息存储在诸如内容可寻址存储系统的存储系统中。文件服务器从客户端接收数据并将数据组块为数据块。文件服务器还生成用于形成数据结构的元数据。数据块被存储在块存储中并且在文件服务器中本地缓存元数据和数据块的副本。提交服务器取元数据。在至少一个实施例中,从文件服务器和提交服务器之间共享的更新日志获取元数据。提交服务器基于获取的元数据生成数据结构的版本。然后将数据结构存储在块存储中。

Description

内容可寻址存储系统和方法
背景技术
本发明总体上涉及内容可寻址存储,并且更具体地涉及对内容可寻址存储系统中数据的改进的访问。
对大量数据进行存储对商业是至关重要的。除了其它商业应用之外,必须备份文件系统,必须保持大量记录以满足管理需求,并且必须存储庞大的数据集合。这种重要数据必须以对于硬件故障可复原的方式来存储。解决这些数据集合中每一个的具体需求的各种系统被使用。
以前,内容可寻址存储(CAS)已用于构建大容量存储系统。CAS系统通过混杂数据块内容而为数据块生成地址。这允许数据块的两个副本能容易地被识别,从而CAS系统仅需要存储数据块的一个副本。存储需求的降低使得CAS系统对大容量存储器是有用的。
然而,由于CAS通常存储不变的对象,因此它们只允许写入组织为有向非循环图(DAG)的数据。即,一旦父块指向子块(例如,包括子块的地址),子块就不可能指向父块。忽视其中子块被多个父块指向的共享情况,这些DAG可以非正式地被称为“树”。使用CAS来实现允许修改存储数据(例如,允许重写文件)的存储系统提出了两个重大挑战-(1)如何有效地使用存储(例如,使父块的使用最小化以指向一组改变中的数据/叶子/子块),以及(2)如何允许对树的不同部分的同时修改(例如,避免过度锁定)以便提供更好的性能。因此,需要一种在内容可寻址存储系统中存储和获取数据的改进系统和方法。
发明内容
本发明总体上提供使用基础的内容可寻址存储来有效地存储信息的系统和方法。在诸如内容可寻址存储系统的存储系统中存储诸如从客户端接收的文件等的信息。文件服务器从客户端接收数据(例如,将数据添加到文件)和/或元数据操作,诸如创建或移除文件。将数据分组为数据块,所述数据块存储在块存储的数据块存储中。因为数据写操作引起文件系统元数据修改,所以提交服务器(commit server)用于写入反映新的元数据的新树。在至少一个实施例中,文件服务器将必须由提交服务器执行的操作记入更新日志。更新日志由提交服务器获得并且其中所述的操作应用于它的文件系统的当前镜像,产生被写入到数据块存储的新的元数据块(例如,包括新的文件系统版本)。来自更新日志的每个操作与时间戳关联,所述时间戳用于向提交服务器指示操作必须被应用的顺序,并允许文件服务器通过清洁(clean)进程清洁其缓存的数据。
在至少一个实施例中,最近版本的树用于更新本地数据和在文件服务器缓存的元数据。文件服务器获取树的根块(例如,超级块),所述根块具有指示对树的最近更新的关联时间戳(例如,来自所应用的更新日志的最后操作)。根据最近版本的存储树的根块的时间戳,元数据缓存器中过时版本的元数据对象被丢弃,并在一些实施例中,被来自块存储中树的更新版本来取代。
对于本领域技术人员而言,通过参考如下详细描述和相应附图,本发明的这些和其它优点将变得明显。
附图说明
图1是根据本发明实施例的存储系统的示意图;
图2是根据本发明实施例的文件系统的示意图;
图3描述了在存储系统中存储信息的方法的流程图;
图4描述了根据本发明实施例的示例性元数据树;以及
图5描述了在文件服务器中维护元数据的流程图。
具体实施方式
常规的内容可寻址存储系统(CAS)与文件系统前端(例如,数据输入)的结合允许大型文件的高吞吐量读取和写入,所述大型文件的数据被有效地且可复原地存储。图1描述了这种结合的实施例。使用基础的CAS作为块存储106来构建存储系统100。存储系统100具有诸如文件服务器102的接口,该接口允许数据的接收、创建和/或修改(例如,写入文件)或元数据操作(例如,在目录中插入新文件,改变文件的许可等)。来自文件服务器102的数据被写入到块存储106。提交服务器112用于应用从文件服务器接收的操作,以及与文件服务器102接口分离地且不考虑文件服务器102接口地将表示文件系统元数据的数据块写入块存储106。这样,异步地执行由文件服务器102将数据写入存储以及由提交服务器112将元数据写入存储,有助于大型文件的高效高吞吐量读取和写入。
图1是根据本发明实施例的存储系统100的示意图。存储系统100包括文件服务器102,所述文件服务器102用于从客户端104接收数据操作(例如,文件写和文件读等)和元数据操作(例如,文件移除等)并将所接收的数据组块为要存储在块存储106中的数据块,并将要应用于元数据的操作列表发送给提交服务器112。块存储106存储数据块,所述数据块中一些可能指向其它数据块,并且所述数据块可以组织在文件系统108中,在下面参考图2进一步详细描述。块存储106进一步包括存储日志的更新日志110,所存储的日志包括为了创建文件系统108而必须由提交服务器112应用的操作。元数据是非文件内容的任何数据。例如,元数据可以是关于客户端可浏览的一个或多个文件的信息,诸如文件或目录名、文件创建时间、文件大小、文件许可等,和/或关于客户端不可浏览的一个或多个文件和/或文件系统的信息,诸如索引结构等。当然,可以使用其它合适的元数据(例如,关于数据、一个或多个文件、一个或多个数据块、一个或多个数据结构、一个或多个文件系统、位图等的信息)。更新日志110可以包括描述必须由提交服务器应用的操作的记录。如所知,这些信息是文件系统108操作所必需的临时信息。例如,在文件服务器112将数据块写入块存储106之后,其向更新日志110发送数据块的内容地址以及描述数据作为其一部分的文件和数据位于哪段偏移的信息,以及时间戳,在下文进一步详细描述。
文件服务器102是任何计算机或耦合到客户端104并被配置成提供用于数据(例如,信息、文档和文件等)临时存储的位置的其它设备。因此,文件服务器102具有包括块缓冲器114和元数据缓冲器116的存储装置和/或存储器,所述块缓冲器114用于缓存数据块存储106中存储的数据块,元数据缓冲器116用于缓存元数据信息(例如,最近创建的文件名)。元数据缓冲器116的突出部件是未提交块表118,其用于存储文件服务器102最近写入的数据块的内容地址。
此外,文件服务器102将从客户端104接收的数据组块为数据块(例如,生成数据块)并将数据块写入块缓冲器114。即,文件服务器102从客户端数据生成数据块和/或否则以允许在CAS中进行存储的方式来分组数据并将这些数据块写入块存储106。块存储106可以把这些数据块组织为先前已见(例如,已知、已存储等)的数据块并返回其内容地址,或可以将数据块组织为新块,为其生成内容地址,并返回内容地址。文件服务器102在其处理文件操作(例如,来自客户端104的写操作)时将修改应用于其在元数据缓冲器116中缓存的元数据。所生成的数据块被尽可能快地写入数据块存储106,因为只有写入完成之后才能将数据块从块缓冲器114中逐出。可以与写入已经完成的确认一同接收的内容地址能用于再取从块缓冲器114逐出的数据块。写入操作与包含写入数据的所有数据块的内容地址以及与操作的时间戳一同被添加到更新日志110。在未提交块表118中保持数据块的内容地址,直到文件服务器102从提交服务器112接收时间戳等于或大于该时间戳的超级块(下文参考图2来讨论)。未提交块表118存储数据块存储106中存储的、但还未在文件系统108的版本中表示的数据块的内容地址(例如,如下文参考方法300所述,数据块的地址信息还未被提交服务器112写入到文件系统108)。在文件系统108的新版本通过处理包含其内容地址的更新日志记录被创建之前,在使用文件系统108的旧版本的文件服务器102上数据块是不可访问的。通过使用未提交块表,可以容易地找到数据块的内容地址并且如果客户端104请求的话则可以取数据块。一旦包含数据块的元数据的文件系统108的版本被写入到块存储106,并且文件服务器102接收到通知,对应的内容地址就可以从未提交块表118中移除。
块存储106可以是CAS系统或其它合适的存储器和/或存储系统。在至少一个实施例中,块存储106是如在2008年1月31日提交的申请号为12/023133和在2008年1月31日提交的申请号为12/023141的美国专利申请中所述的基于集群的内容可寻址块存储系统,每一件申请在此通过引用而并入。当然,可以使用其它基于地址的存储系统。
块存储106包含能组织为文件系统108的数据块。文件系统108是模仿树结构的数据结构并在下文中参考图2做更详细的描述。块存储106也可以包括更新日志以帮助将元数据写入文件系统108,这将在下文中参考图3和方法300进一步详细地描述。
提交服务器112可以与文件服务器102具有类似结构,但可以用于更新文件系统108的元数据。提交服务器112处理从文件服务器102接收的操作(例如,特定目录中具有特定名称的文件的创建、将对应于写入的内容地址插入位于特定偏移的特定文件等)。来自更新日志110的所有操作都与时间戳相关联;提交服务器112以单调非减的顺序应用操作。提交服务器112包括用于在生成文件系统108的新版本之前存储元数据的提交元数据缓冲器120。类似于元数据缓冲器116,提交元数据缓冲器120存储元数据和/或诸如数据块存储106中存储的数据块的内容地址的数据块信息。周期地(例如,按照预定间隔,当提交元数据缓冲器120达到一定使用级时等等),批量元数据和/或数据块信息用于生成文件系统108的新版本。然后,提交服务器112在块存储106存储文件系统108的新版本并清洁提交元数据缓冲器120。
文件服务器102和提交服务器112通过交换日志记录(例如,描述在特定目录中创建具有特定名字的文件的操作等)和其他控制消息来通信。在一些实施例中,可以在文件服务器102和提交服务器112之间直接传输日志记录。在相同或替代实施例中,日志记录可以被写入更新日志110和/或从更新日志110获取,所述更新日志110可以被存储在块存储106中或其它位置。提交服务器112运行使得总是有文件系统108的当前版本。即,提交服务器112确定性地处理日志记录(例如,来自更新日志110)以生成文件系统108的新版本。
存储系统100可以具有处理器(未示出),该处理器通过执行定义存储系统100的整体操作的计算机程序指令而控制存储系统100的整体操作。当期望执行计算机程序指令时,计算机程序指令可以被存储在存储设备(例如,磁盘,数据库等)中和/或被加载到存储器中。因此,用于执行这里所述的方法步骤和方法300和500中诸如数据存储、数据块生成、文件读和/或写操作等的存储系统100的相关功能的应用程序,由存储器中存储的计算机程序指令来定义并由执行该计算机程序指令的处理器来控制。存储系统100可以包括一个或多个中央处理单元、只读存储器(ROM)设备和/或随机访问存储器(RAM)设备。本领域技术人员将认识到,实际的内容可寻址存储系统的实现也能包括其他组件,以及图1的存储系统100是出于解释目的的这类存储系统的一些组件的高级表示。
根据本发明的一些实施例,程序(例如,控制器软件)的指令能被读入到文件服务器102、块存储106和/或提交服务器112,诸如从ROM设备到RAM设备或从LAN适配器到RAM设备。程序中指令序列的执行会导致存储系统100执行这里所述的方法步骤中的一个或多个,诸如上文参考方法300和500所述的那些步骤。在替代实施例中,硬连线电路或集成电路可以用于取代软件指令或与软件指令结合来实现本发明的处理。因此,本发明的实施例不限于硬件、固件和/或软件的任何特定组合。块存储106可以为存储系统100存储软件,存储系统100能适于执行软件程序并从而根据本发明以及尤其根据上文详细描述的方法进行操作。然而,本领域普通技术人员能理解的是,能够使用许多编程技术以及通用硬件子系统或专用控制器以许多不同的方式来实施这里所述的发明。
可以以压缩的、未编译的、和/或加密的格式来存储这类程序。这些程序可以进一步包括可以是通用的程序单元,诸如操作系统、数据库管理系统和允许控制器与计算机外围设备接口的设备驱动器,以及其它设备/组件。合适的通用程序单元对于本领域技术人员而言是公知的且不需要在这里被详加描述。
图2描述了根据本发明实施例的文件系统108。文件系统108与图1存储系统100的块存储106结合使用和/或作为其一部分。文件系统108是包含在存储器中模仿树结构的数据结构。在至少一个实施例中,文件系统108具有存储树,该存储树以允许信息(例如,元数据、地址、内容地址等)的高效插入、获取和移除的方式来表示数据。在至少一个实施例中,文件系统108使用对于imap和每个i节点(inode)的组织而言公知的B+树,尽管可以使用任何合适的树或其它数据结构。
在相同或替代实施例中,文件系统108具有类Unix结构,其中通过i节点204表示文件、目录和/或符号链接,诸如数据块202(例如,如上所述从文件服务器102接收的数据块)和/或相关信息。i节点204本身是类Unix结构中的数据结构,其存储关于数据、文件、其它数据结构等的基本信息(例如,元数据、内容地址等)的。i节点204是i节点树206的根块。i节点树206可以是B+树并使用数据块202的地址来提供到数据块202的映射。这样容纳来自客户端104的具有可变大小数据块202的大型文件。
转而,在作为imap树210的一部分的imap块208中通过单个i节点号索引i节点204中的每一个。imap树210本身是数据结构,诸如B+树,根块是imap212。因为i节点号和数据块202的地址之间没有自动映射,imap 212帮助其间的转化。这可以类似于日志结构的文件系统或其它合适的文件系统。imap 212包括imap树210并且是有效i节点号和i节点204的地址的阵列,被分割为固定大小的imap块208并由imap树210索引。作为i节点204的映射的imap 212记住使用中的i节点号和相应的i节点204的内容地址。随着i节点数目的增加,额外的i节点块208被添加到imap 212以存储它们的内容地址。可以使用重用i节点号以避免创建太大的数据结构的任何策略,诸如其它类Unix文件系统中出现的。
将imap树210的根(imap 212)存储在超级块214中。超级块214是包含指向imap 212的指针、文件系统108的参数和文件系统108的版本号的块。如下文将更详细地描述的一样,每当写入新的超级块时创建文件系统108的新版本,因此文件系统108包括多个超级块214。即,文件系统108具有由存储系统110的提交服务器112写入的用于文件系统108的每个版本的超级块214。最新的超级块214可以用于获取最新的信息。其他超级块214可以用于获取过去存在的文件系统的“快照”。
操作中,类似于基于盘的文件系统,存储系统110异步地处理文件写入(例如,在块存储106中存储数据块)和元数据更新(例如,在块存储106中存储文件系统108的版本)。存储系统110允许文件服务器102立即利用来自块缓冲器114和/或元数据缓冲器116的信息并在稍后将新的文件系统108写入到块存储106中,而不是每次存储数据块时都写入新的文件系统108版本。这样做,存储系统110可以将文件系统108的多次更新成批为由提交服务器112进行的单次文件系统108写入。除了减少服务来自客户端104的单个读和/或写操作所需时间,这样还摊销了更新文件系统108的成本。因为写入文件系统108的新版本除了需要更新超级块214之外还需要更新i节点树204中的每个块以及因此更新imap树210,这样的成批更新减少了需要重写树的上层的次数。此外,这样允许文件系统108的每个版本能被标上时间戳或以其它方式标注以创建和/或更新时间。这样的时间戳允许客户端104和/或存储系统100获取文件系统108的先前版本并因此访问数据块存储106中的数据块的先前版本。可以单调地增加时间戳。在一些实施例中,时间戳是单调增加的并不是基于实际时间。
图3描述了在存储系统100中存储信息的方法300的流程图。方法300的方法步骤可以由存储系统100执行。该方法开始于步骤302。
在步骤304,在文件服务器102从客户端104接收数据。在步骤306,由文件服务器102从块存储106获取数据和元数据。数据可以是响应于文件系统的过去操作在数据块存储106中存储的一个或多个数据块。可以从块存储106取数据块,因此它们可以用于生成反映客户端104所需操作(例如,重写部分文件)的新块。元数据包括使用目录、文件大小信息、文件所有权信息等将文件名映射到i节点。此外,元数据可以是来自文件系统108的信息,诸如客户端104不可见的数据块内容地址。
在步骤308,生成一个或多个数据块。这里,由文件服务器102将步骤304接收的来自客户端104的数据组块为数据块。文件服务器102使用常规方法生成数据块。即,根据来自客户端102的输入数据,由文件服务器102创建离散数据量的块。此外,每个数据块的内容的地址和其它关联元数据由文件服务器102与写完成确认一起获得。
文件服务器102在与文件系统108的i节点204相关联的缓冲器(未示出)中积累步骤304中从客户端104接收的数据。当客户端104在其打开文件而提供到文件的路径时,文件服务器102使用该路径查找i节点204并保留它作为客户端104对文件的后续操作的上下文。通过检查从客户端102接收的数据的内容以找到断点,从而找到块之间的边界,所述断点增加写入相同数据将产生相同块的可能性。当发现数据块边界时,缓冲器中直到该点所存储的数据用于生成新的数据块。保留在缓冲器中的数据用作后续数据块的一部分或全部。在一些实施例中,使用所缓存数据的量的全局限制以限制存储器消耗并避免i节点缓冲器无限制地增长。
文件服务器102在块缓冲器114中保留数据块直到块存储106通过返回块的内容地址而确认块写入。一旦接收到内容地址,则可以从块缓冲器114中逐出所述块,因为其可以通过使用内容地址被再取。
在步骤310,数据块被写入到块存储106并元数据操作生成。如上所述,文件服务器102将生成的数据块发送到块存储106。将与作为写入结果而需修改的数据块相关的任何元数据操作(例如,数据块的内容地址等)存储在元数据缓冲器116中。由文件服务器102将所有元数据操作记入更新日志110。元数据操作是与要在块存储106和/或在文件系统108执行的动作相关的指令。例如,如果数据块要被删除,元数据操作是对提交服务器112的删除数据块(例如,图2中数据块202之一等)的指令。当然,任何要从文件服务器102发送到提交服务器112和/或块存储106的合适指令或操作都可以被认为是元数据操作。
块存储106确认(多个)数据块的存储,且指示数据块的内容地址和时间戳、i节点号和对应新存储的数据块的字节范围一起被添加到未提交块表118。然后将块缓冲器114中存储的数据块的副本标记为“clean(干净的)”。即,该副本将被标记为可用于从块缓冲器114逐出(例如,清除)。
在步骤312,提交服务器112从更新日志110获取元数据操作。在一些实施例中,将更新日志110存储在块存储106中。在其它实施例中,提交服务器112直接从文件服务器102获取元数据操作。
在提交服务器112已获取一批元数据操作和/或内容地址之后,在步骤314,提交服务器生成文件系统108的版本。即,提交服务器112可以在提交元数据缓冲器120中存储指示多个数据块的元数据,直到存储预定量的元数据。然后,提交服务器112可以成批处理提交元数据缓冲器120中存储的所有元数据操作,并生成文件系统108的新版本。这样,提交服务器112减少必须生成文件系统108的新版本的次数。
提交服务器可以通过首先在i节点206的i节点树204中存储关于数据块202的信息,然后通过imap 212中imap树210的i节点块208沿着该路径前进到根(例如超级块214),从而自下向上生成文件系统108的新版本。最后,生成根块-超级块214的新版本-以及指示对该版本的文件系统108有贡献的最后日志记录的时间戳。这样,每批中并且因而每次生成的文件系统108的版本中的元数据是已知的,并且可以由客户端104和/或存储系统100适当地调回。
在步骤316,在块存储106中存储文件系统108的新生成版本。文件系统108的新版本取代之前版本作为当前相关版本,但不必重写文件系统108的之前版本。这样,可以根据它们各自的时间戳访问文件系统108的之前版本。因此,也可以获取旧数据块的地址信息。
在步骤318,文件服务器102访问文件系统108以确定文件系统108的版本和时间戳。然后文件服务器102可以使用时间戳将元数据缓冲器116中“dirty(脏的)”元数据标记为“clean(干净的)”。该信息与下文参考图5所述的元数据清洁方法500结合使用。
在步骤320方法300结束。应当理解,方法300的一些方法步骤能基本同时地执行。例如,在步骤304文件服务器104从客户端104接收数据可以与在步骤308其它数据用于产生数据块基本同时。类似,在步骤310在块存储106中存储数据块可以与提交服务器112生成并在块存储106存储文件系统108的新版本基本同时。这样,存储系统100可以更快速高效地更新存储和地址信息。
图4描述了在元数据缓冲器116中存储的示例性元数据树400。元数据树400反映并是结构上类似块存储106中文件系统108的数据结构。换而言之,元数据树400是对本申请所讨论的文件系统的数据结构进行描述的替代形式。元数据树400中包含的信息是在方法300的步骤306获取的文件系统108中的元数据的副本。图4中元数据对象402-416中每一个具有关联时间戳。即,每个元数据对象具有为单调计数器的关联相对年限。指定的最高计数器数值与最近指定(例如,最新)的信息相一致。这样,认为具有较高计数器数值的元数据对象比具有较低计数器数值的元数据对象更新或更近,所述具有较低计数器数值的元数据对象被认为更老或更不新近。
元数据树400包括超级块402。对超级块402指定版本号和对应于版本的关联时间戳和/或以上参考图2讨论的块存储106中文件系统108相应版本的时间戳。在示例性元数据树400中,超级块402具有版本号37和关联时间戳779。
类似于文件系统108,元数据树400具有一个或多个imap块404、406。imap块404、406具有各自的关联时间戳797和805。即,分别通过时间戳797和805指示从imap块404和406延伸的树的分枝中的最新信息。当然,超级块402能具有从属于它的任意数量的imap块。
imap块404和406中的每一个可以映射到一个或多个i节点。例如,imap块404可以映射到i节点408和410,每个具有各自的时间戳787和792。同样,imap块406可以映射到i节点412和414,每个具有各自的时间戳805和794。当然,可以使用任意数量的imap块和/或i节点。元数据树400中每个对象(i节点、imap块、超级块等)具有至少和从属于它的任何对象的最新时间戳一样新的时间戳。
可以通过诸如超级块416的超级块的新版本更新元数据树400。对超级块416指定版本号和对应于版本的时间戳和/或以上参考图2讨论的块存储106中文件系统108相应版本的时间戳。在图4的示例性实施例中,超级块416具有版本号38和关联时间戳802。因此,可以认为超级块416比超级块402新。
元数据树400仅仅是示例并且是与存储系统100结合使用的数据结构的简化版本。在描述方法500的方法步骤时,为了简化将元数据树400表示为直接分支的树。
图5描述了在文件服务器102中维护元数据的方法500的流程图。在文件服务器102中维护元数据包括在元数据缓冲器116中维护元数据树,诸如图4的元数据树400。方法500可以被认为是元数据缓冲器116的“清洁”或更新。
元数据对象(例如元数据对象402-416)被指定为干净、脏或旧。干净对象是在上述方法300的方法步骤306中从文件系统108获取的、没有经过修改的、并能在任何时间从元数据缓冲器116中丢弃的对象。脏对象是具有比最近超级块的时间戳更大的时间戳的元数据对象。脏对象不可以被丢弃。脏对象的父对象(脏对象所从属的对象)必须为脏。旧对象是具有比最近超级块的时间戳更小的时间戳的元数据对象。旧对象可以在任何时间被丢弃。旧对象可以包含一些当前内容地址,然而如果文件服务器要使用块中存储的内容地址之一,文件服务器必须从块存储106再取旧块。旧块的新和更新版本可以具有不同的内容地址,所述内容地址由提交服务器112在写入更新块的子块时产生。旧对象的父对象可以为旧或脏并可以具有其它脏子块。
方法500开始于步骤502。
在步骤504,在元数据缓冲器116接收元数据操作。这类元数据操作可以包括超级块的新版本,诸如图4的超级块416。超级块的新版本基于提交服务器112自下而上进行的文件系统108的写入。提交服务器112根据时间戳顺序成批处理该元数据。提交服务器112为该批生成超级块(例如,根块)时间戳,其为该批中最新的元数据部分的时间戳。提交服务器112根据上述的文件系统108的树从下至上地将修改块写入文件系统108。文件系统108的超级块必然是最后写入的块并在合适时间(例如,被取时)传递到元数据缓冲器116。
在步骤506,适时地基于所接收的超级块的时间戳将元数据对象指定为旧。即,时间戳旧于所接收的超级块的时间戳的任何脏元数据对象都被指定为旧。
在图4的示例性实施例中,imap块404和406以及i节点408414最初都为脏,因为它们的时间戳比最初超级块402的时间戳更新(例如,更大)。因此,当接收具有时间戳802的超级块416时,将imap块404指定为旧,因为它具有比超级块416更老(例如,更小)的时间戳(797)。同样,i节点408、410和414也被指定为旧,因为它们的时间戳也老于超级块416的时间戳。
在步骤508,丢弃旧元数据对象。根据元数据树(例如,元数据树400)自上而下地丢弃旧元数据对象。从上而下地丢弃旧元数据对象确保所丢弃的对象不会被使用来自其旧的父块的过时的内容地址而从文件系统108再取。结果,在没有首先丢弃其父块时不能丢弃旧的子块。因此,根据树的从属性的链丢弃元数据对象。在示例性元数据树400中,首先丢弃超级块402,接着是imap块404和406,最后是i节点408-414。
在图4的示例性实施例中,imap块404和其子i节点408和410为旧并被丢弃。I节点414在步骤506也被确定为旧,但因为它的父块imap块406不为旧,所以不能被丢弃。
在一些实施例中,取代丢弃的元数据对象。该取代是可选的。例如,在从目录中移除文件之后,对该目录不执行进一步的操作。因此,不需要继续存储该目录。用来自文件系统108的版本取代所丢弃的元数据对象。在图4的示例性实施例中,从文件系统108获取对应于超级块406的imap块404和i节点408和410的新版本并将其存储在元数据缓冲器116中。
方法500结束于步骤510。
上述的具体实施方式应被理解为解释性和示例性的,但不是限制性的,这里公开的本发明的范围并不是由具体实施方式所确定,而是由根据专利法允许的最大范围解释的权利要求来确定。应该理解,这里所示和所述的实施例仅仅解释本发明的原理,本领域技术人员可以在不背离本发明的范围和精神的情况下实施各种修改。本领域技术人员可以在不偏离本发明的范围和精神下实施各种其他的特征组合。

Claims (9)

1.一种在存储系统中存储信息的方法,包括:
使用文件服务器将数据组块为一个或多个数据块;
使用文件服务器生成文件系统的元数据操作;
在块存储中存储所述一个或多个数据块;
使用提交服务器获取所述元数据操作;
使用提交服务器基于所述元数据操作和所述一个或多个数据块生成数据结构;以及
在所述块存储中存储所述数据结构。
2.根据权利要求1所述的方法进一步包括:
在更新日志中存储所述元数据操作;以及
其中使用提交服务器获取所述元数据操作包括从更新日志获取所述元数据操作。
3.根据权利要求1所述的方法,其中在块存储中存储所述一个或多个数据块与在所述块存储中存储所述数据结构基本同时发生。
4.根据权利要求1所述的方法进一步包括:
在所述文件服务器从客户端接收数据;以及
其中使用文件服务器将数据组块为一个或多个数据块包括将从客户端接收的数据分离为一个或多个数据块。
5.根据权利要求2所述的方法,其中使用文件服务器将数据组块为一个或多个数据块以及使用文件服务器生成元数据操作进一步包括将时间戳和所生成的元数据操作相关联并包括:
在所述文件服务器存储所生成的元数据操作;以及
至少部分地基于与所获取的元数据操作相关联的一个或多个时间戳而使用存储为数据结构的版本的元数据清洁在文件服务器存储的元数据。
6.根据权利要求2所述的方法,其中使用提交服务器生成包括元数据的数据结构包括:
获取与所获取的元数据操作相关联的一个或多个时间戳;
基于所获取的元数据操作修改元数据缓冲器中的元数据;
使元数据操作成批;以及
至少部分地基于与所获取的元数据相关联的一个或多个时间戳存储元数据作为数据结构的版本。
7.一种存储数据的系统,包括:
文件服务器,被配置成将数据组块为数据块并生成元数据操作;
存储器,被配置成存储数据块;
提交服务器,被配置成获取元数据操作,生成指示元数据操作的数据结构,并在所述存储器中存储该数据结构。
8.根据权利要求7所述的系统,进一步包括:
更新日志,被配置成从文件服务器接收元数据操作并将元数据操作传递到提交服务器。
9.一种在文件服务器维护元数据结构的方法,包括具有关联时间戳的第一超级块和一个或多个元数据对象,所述一个或多个元数据对象中的每一个具有关联时间戳,该方法包括:
接收具有关联时间戳的第二超级块,所述第二超级块的关联时间戳具有比第一超级块的计数器数值更高的计数器数值;
基于第二超级块的时间戳和所述一个或多个从属元数据对象的时间戳而指定所述一个或多个元数据对象中的至少一个为旧;以及
丢弃指定为旧的所述一个或多个元数据对象。
CN2008801284821A 2008-03-05 2008-03-17 内容可寻址存储系统和方法 Active CN102016852B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US12/042,777 2008-03-05
US12/042777 2008-03-05
US12/042,777 US7747663B2 (en) 2008-03-05 2008-03-05 System and method for content addressable storage
PCT/US2008/057191 WO2009110912A1 (en) 2008-03-05 2008-03-17 System and method for content addressable storage

Publications (2)

Publication Number Publication Date
CN102016852A true CN102016852A (zh) 2011-04-13
CN102016852B CN102016852B (zh) 2013-03-27

Family

ID=41054700

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008801284821A Active CN102016852B (zh) 2008-03-05 2008-03-17 内容可寻址存储系统和方法

Country Status (6)

Country Link
US (1) US7747663B2 (zh)
EP (1) EP2252950A4 (zh)
JP (1) JP2011513853A (zh)
CN (1) CN102016852B (zh)
CA (1) CA2717068C (zh)
WO (1) WO2009110912A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049539A (zh) * 2012-12-25 2013-04-17 华为技术有限公司 一种文件系统中文件数据的存储方法及其装置
CN103294675A (zh) * 2012-02-23 2013-09-11 上海盛霄云计算技术有限公司 一种分布式存储系统中的数据更新方法及装置
CN104156326A (zh) * 2014-08-04 2014-11-19 浪潮(北京)电子信息产业有限公司 一种实现数据一致性的方法
CN104778192A (zh) * 2013-11-21 2015-07-15 阿普赛尔有限公司 表示可内容寻址存储系统的目录结构
CN106155846A (zh) * 2015-04-15 2016-11-23 伊姆西公司 对块对象执行批量故障回复的方法和装置
CN108021338A (zh) * 2016-10-31 2018-05-11 甲骨文国际公司 用于实现两层提交协议的系统和方法
CN110100240A (zh) * 2017-01-06 2019-08-06 甲骨文国际公司 用于zfs快照生成和存储的云网关
CN111427966A (zh) * 2020-06-10 2020-07-17 腾讯科技(深圳)有限公司 数据库事务处理方法、装置及服务器
CN113742310A (zh) * 2015-10-05 2021-12-03 维卡艾欧有限公司 用于操作存储系统的方法和机器可读存储器
CN114942963A (zh) * 2022-04-24 2022-08-26 阿里巴巴(中国)有限公司 数据存储方法、装置、设备和存储介质

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9767120B2 (en) * 2008-01-16 2017-09-19 Hitachi Data Systems Engineering UK Limited Multi-way checkpoints in a data storage system
US8959199B2 (en) * 2008-03-18 2015-02-17 Reduxio Systems Ltd. Network storage system for a download intensive environment
US8234317B1 (en) * 2008-08-06 2012-07-31 Netapp, Inc. Auto-committing files to immutable status based on a change log of file system activity
US9176963B2 (en) * 2008-10-30 2015-11-03 Hewlett-Packard Development Company, L.P. Managing counters in a distributed file system
US9807468B2 (en) * 2009-06-16 2017-10-31 Microsoft Technology Licensing, Llc Byte range caching
EP2433227B1 (en) 2009-06-26 2015-09-16 Simplivity Corporation Scalable indexing in a non-uniform access memory
US8478799B2 (en) 2009-06-26 2013-07-02 Simplivity Corporation Namespace file system accessing an object store
US9235350B2 (en) * 2009-08-27 2016-01-12 International Business Machines Corporation Dispersed storage unit and methods with metadata separation for use in a dispersed storage system
US9449007B1 (en) * 2010-06-29 2016-09-20 Emc Corporation Controlling access to XAM metadata
WO2012030358A1 (en) * 2010-09-02 2012-03-08 Nec Laboratories America, Inc. Content addressable storage with reduced latency
US8375164B2 (en) 2010-10-15 2013-02-12 Nec Laboratories America, Inc. Content addressable storage with reduced latency
US20120078966A1 (en) * 2010-09-29 2012-03-29 International Business Machines Corporation File System With Content Identifiers
US9792104B2 (en) 2010-11-05 2017-10-17 FedEx Supply Chain Logistics & Electronics, Inc. System and method for flashing a wireless device
US9465702B2 (en) * 2010-11-05 2016-10-11 Atc Logistics & Electronics, Inc. System and method for auditing removal of customer personal information on electronic devices
KR101585146B1 (ko) * 2010-12-24 2016-01-14 주식회사 케이티 오브젝트를 복수 개의 데이터 노드들의 위치에 기반하여 분산 저장하는 분산 저장 시스템 및 그 위치 기반 분산 저장 방법 및 컴퓨터에 의하여 독출 가능한 저장 매체
JP5626034B2 (ja) * 2011-03-07 2014-11-19 日本電気株式会社 ファイルシステム
US9436748B2 (en) 2011-06-23 2016-09-06 Simplivity Corporation Method and apparatus for distributed configuration management
US8930330B1 (en) 2011-06-27 2015-01-06 Amazon Technologies, Inc. Validation of log formats
US9052824B2 (en) 2012-01-26 2015-06-09 Upthere, Inc. Content addressable stores based on sibling groups
US9183212B2 (en) * 2012-01-26 2015-11-10 Upthere, Inc. Representing directory structure in content-addressable storage systems
US9032183B2 (en) 2012-02-24 2015-05-12 Simplivity Corp. Method and apparatus for content derived data placement in memory
US8868520B1 (en) * 2012-03-01 2014-10-21 Netapp, Inc. System and method for removing overlapping ranges from a flat sorted data structure
US9489827B2 (en) 2012-03-12 2016-11-08 Cisco Technology, Inc. System and method for distributing content in a video surveillance network
US9049349B2 (en) * 2012-05-16 2015-06-02 Cisco Technology, Inc. System and method for video recording and retention in a network
US9104560B2 (en) 2012-06-13 2015-08-11 Caringo, Inc. Two level addressing in storage clusters
US8762353B2 (en) 2012-06-13 2014-06-24 Caringo, Inc. Elimination of duplicate objects in storage clusters
US8799746B2 (en) 2012-06-13 2014-08-05 Caringo, Inc. Erasure coding and replication in storage clusters
US9031912B1 (en) * 2012-06-25 2015-05-12 Kip Cr P1 Lp System, method and computer program product for controlling file migration in archiving systems
US9514007B2 (en) 2013-03-15 2016-12-06 Amazon Technologies, Inc. Database system with database engine and separate distributed storage service
US9501501B2 (en) 2013-03-15 2016-11-22 Amazon Technologies, Inc. Log record management
US11030055B2 (en) 2013-03-15 2021-06-08 Amazon Technologies, Inc. Fast crash recovery for distributed database systems
US9672237B2 (en) 2013-03-15 2017-06-06 Amazon Technologies, Inc. System-wide checkpoint avoidance for distributed database systems
US10180951B2 (en) * 2013-03-15 2019-01-15 Amazon Technologies, Inc. Place snapshots
US10747746B2 (en) 2013-04-30 2020-08-18 Amazon Technologies, Inc. Efficient read replicas
US9317213B1 (en) * 2013-05-10 2016-04-19 Amazon Technologies, Inc. Efficient storage of variably-sized data objects in a data store
US9760596B2 (en) 2013-05-13 2017-09-12 Amazon Technologies, Inc. Transaction ordering
US9208032B1 (en) 2013-05-15 2015-12-08 Amazon Technologies, Inc. Managing contingency capacity of pooled resources in multiple availability zones
US10303564B1 (en) 2013-05-23 2019-05-28 Amazon Technologies, Inc. Reduced transaction I/O for log-structured storage systems
US9305056B1 (en) 2013-05-24 2016-04-05 Amazon Technologies, Inc. Results cache invalidation
US9047189B1 (en) 2013-05-28 2015-06-02 Amazon Technologies, Inc. Self-describing data blocks of a minimum atomic write size for a data store
US9400819B2 (en) * 2013-06-07 2016-07-26 Dell Products, Lp Updating object attributes in a lock-coupled namespace traversal
US9043576B2 (en) 2013-08-21 2015-05-26 Simplivity Corporation System and method for virtual machine conversion
US9519664B1 (en) 2013-09-20 2016-12-13 Amazon Technologies, Inc. Index structure navigation using page versions for read-only nodes
US9280591B1 (en) 2013-09-20 2016-03-08 Amazon Technologies, Inc. Efficient replication of system transactions for read-only nodes of a distributed database
US9460008B1 (en) 2013-09-20 2016-10-04 Amazon Technologies, Inc. Efficient garbage collection for a log-structured data store
US9507843B1 (en) 2013-09-20 2016-11-29 Amazon Technologies, Inc. Efficient replication of distributed storage changes for read-only nodes of a distributed database
US10216949B1 (en) 2013-09-20 2019-02-26 Amazon Technologies, Inc. Dynamic quorum membership changes
US10223184B1 (en) 2013-09-25 2019-03-05 Amazon Technologies, Inc. Individual write quorums for a log-structured distributed storage system
US9552242B1 (en) 2013-09-25 2017-01-24 Amazon Technologies, Inc. Log-structured distributed storage using a single log sequence number space
US9699017B1 (en) 2013-09-25 2017-07-04 Amazon Technologies, Inc. Dynamic utilization of bandwidth for a quorum-based distributed storage system
US9760480B1 (en) 2013-11-01 2017-09-12 Amazon Technologies, Inc. Enhanced logging using non-volatile system memory
US10387399B1 (en) 2013-11-01 2019-08-20 Amazon Technologies, Inc. Efficient database journaling using non-volatile system memory
US9880933B1 (en) 2013-11-20 2018-01-30 Amazon Technologies, Inc. Distributed in-memory buffer cache system using buffer cache nodes
US9223843B1 (en) 2013-12-02 2015-12-29 Amazon Technologies, Inc. Optimized log storage for asynchronous log updates
US9495373B2 (en) * 2013-12-06 2016-11-15 International Business Machines Corporation File versions within content addressable storage
US9483481B2 (en) 2013-12-06 2016-11-01 International Business Machines Corporation Files having unallocated portions within content addressable storage
US10452484B2 (en) * 2014-05-15 2019-10-22 Carbonite, Inc. Systems and methods for time-based folder restore
WO2015178944A1 (en) * 2014-05-23 2015-11-26 Hewlett-Packard Development Company, L.P. Using location addressed storage as content addressed storage
US10303663B1 (en) 2014-06-12 2019-05-28 Amazon Technologies, Inc. Remote durable logging for journaling file systems
US9501487B1 (en) * 2014-06-30 2016-11-22 Emc Corporation Change tree incremental backup
JP5991699B2 (ja) 2014-08-08 2016-09-14 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報処理装置、情報処理システム、バックアップ方法、およびプログラム
US10050832B2 (en) * 2014-09-19 2018-08-14 Sybase 365, Inc. Server clustering in mobile computing environment
US10496313B2 (en) 2014-09-22 2019-12-03 Hewlett Packard Enterprise Development Lp Identification of content-defined chunk boundaries
CN107077456B (zh) 2014-09-25 2020-06-26 慧与发展有限责任合伙企业 用于存储数据的装置、方法和存储介质
JP6398693B2 (ja) * 2014-12-19 2018-10-03 富士通株式会社 ファイルシステム、ファイルシステムの制御方法、および、ファイルシステムの制御プログラム
WO2016115219A1 (en) 2015-01-13 2016-07-21 Simplivity Corporation Systems and methods for oprtimized signature comparisons and data replication
US9645755B2 (en) 2015-05-21 2017-05-09 Dell Products, L.P. System and method for copying directory structures
US10560544B2 (en) * 2015-08-25 2020-02-11 Box, Inc. Data caching in a collaborative file sharing system
JP6648596B2 (ja) * 2016-03-28 2020-02-14 日本電気株式会社 ファイルシステム制御装置、ストレージシステム、ファイルシステム制御方法、及び、プログラム
US10476752B2 (en) * 2016-04-04 2019-11-12 Nec Corporation Blue print graphs for fusing of heterogeneous alerts
US10303458B2 (en) 2016-09-29 2019-05-28 Hewlett Packard Enterprise Development Lp Multi-platform installer
US10528440B2 (en) * 2016-11-28 2020-01-07 Sap Se Metadata cataloging framework
US10417202B2 (en) 2016-12-21 2019-09-17 Hewlett Packard Enterprise Development Lp Storage system deduplication
US10887176B2 (en) 2017-03-30 2021-01-05 Hewlett Packard Enterprise Development Lp Predicting resource demand in computing environments
CN108733507B (zh) * 2017-04-17 2021-10-08 伊姆西Ip控股有限责任公司 文件备份和恢复的方法和设备
US11010300B2 (en) 2017-05-04 2021-05-18 Hewlett Packard Enterprise Development Lp Optimized record lookups
CN107229427B (zh) * 2017-06-22 2019-10-18 上海七牛信息技术有限公司 一种文件存储方法、系统及计算机存储介质
US10700711B1 (en) 2017-11-03 2020-06-30 Caringo Inc. Multi-part upload and editing of erasure-coded objects
US11914571B1 (en) 2017-11-22 2024-02-27 Amazon Technologies, Inc. Optimistic concurrency for a multi-writer database
US10866963B2 (en) 2017-12-28 2020-12-15 Dropbox, Inc. File system authentication
US10587454B2 (en) 2018-01-30 2020-03-10 Hewlett Packard Enterprise Development Lp Object counts persistence for object stores
US10860738B2 (en) 2018-01-30 2020-12-08 Hewlett Packard Enterprise Development Lp Augmented metadata and signatures for objects in object stores
US11126755B2 (en) 2018-01-30 2021-09-21 Hewlett Packard Enterprise Development Lp Object signatures in object stores
US10997153B2 (en) 2018-04-20 2021-05-04 Hewlett Packard Enterprise Development Lp Transaction encoding and transaction persistence according to type of persistent storage
US11243703B2 (en) 2018-04-27 2022-02-08 Hewlett Packard Enterprise Development Lp Expandable index with pages to store object records
CN110990338B (zh) * 2018-10-03 2024-04-12 慧与发展有限责任合伙企业 文件系统的初始基线
US11341163B1 (en) 2020-03-30 2022-05-24 Amazon Technologies, Inc. Multi-level replication filtering for a distributed database

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5897661A (en) * 1997-02-25 1999-04-27 International Business Machines Corporation Logical volume manager and method having enhanced update capability with dynamic allocation of storage and minimal storage of metadata information
US6807632B1 (en) * 1999-01-21 2004-10-19 Emc Corporation Content addressable information encapsulation, representation, and transfer
US6917949B1 (en) * 2000-08-30 2005-07-12 International Business Machines Corporation Temporary lobs directory management
US7010721B2 (en) * 2003-09-29 2006-03-07 International Business Machines Corporation File system journal management
US7133963B2 (en) * 2003-12-03 2006-11-07 International Business Machines Corporation Content addressable data storage and compression for semi-persistent computer memory
US20060053159A1 (en) * 2004-09-07 2006-03-09 International Business Machines Corporation Exploiting metadata for performing structure-oriented operations on content-specific data representations
CA2587055A1 (en) * 2004-11-05 2006-05-18 Commvault Systems, Inc. Method and system of pooling storage devices
JP4722944B2 (ja) * 2005-01-07 2011-07-13 トムソン ルーターズ グローバル リソーシーズ データベースの分散ロードのためのシステム、方法およびソフトウェア
BRPI0603676B1 (pt) * 2005-08-31 2019-01-15 Sony Corp dispositivo de processamento de informação para realizar reprodução de vídeo em alta velocidade, meio de gravação de informação não transitório, estrutura de dados, dispositivo de fabricação de meio de gravação de informação, método de processamento de informação, método para fabricar meio de gravação de informação, e, mídia legível por computador
US7840618B2 (en) * 2006-01-03 2010-11-23 Nec Laboratories America, Inc. Wide area networked file system
JP2007200029A (ja) * 2006-01-26 2007-08-09 Mitsubishi Electric Corp ファイル複製システム
US7653832B2 (en) * 2006-05-08 2010-01-26 Emc Corporation Storage array virtualization using a storage block mapping protocol client and server
US7676514B2 (en) * 2006-05-08 2010-03-09 Emc Corporation Distributed maintenance of snapshot copies by a primary processor managing metadata and a secondary processor providing read-write access to a production dataset

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294675A (zh) * 2012-02-23 2013-09-11 上海盛霄云计算技术有限公司 一种分布式存储系统中的数据更新方法及装置
CN103049539A (zh) * 2012-12-25 2013-04-17 华为技术有限公司 一种文件系统中文件数据的存储方法及其装置
CN104778192A (zh) * 2013-11-21 2015-07-15 阿普赛尔有限公司 表示可内容寻址存储系统的目录结构
CN104156326A (zh) * 2014-08-04 2014-11-19 浪潮(北京)电子信息产业有限公司 一种实现数据一致性的方法
CN106155846B (zh) * 2015-04-15 2019-06-28 伊姆西公司 对块对象执行批量故障回复的方法和装置
CN106155846A (zh) * 2015-04-15 2016-11-23 伊姆西公司 对块对象执行批量故障回复的方法和装置
CN113742310A (zh) * 2015-10-05 2021-12-03 维卡艾欧有限公司 用于操作存储系统的方法和机器可读存储器
CN108021338A (zh) * 2016-10-31 2018-05-11 甲骨文国际公司 用于实现两层提交协议的系统和方法
CN108021338B (zh) * 2016-10-31 2023-12-19 甲骨文国际公司 用于实现两层提交协议的系统和方法
CN110100240A (zh) * 2017-01-06 2019-08-06 甲骨文国际公司 用于zfs快照生成和存储的云网关
US11714784B2 (en) 2017-01-06 2023-08-01 Oracle International Corporation Low-latency direct cloud access with file system hierarchies and semantics
US11755535B2 (en) 2017-01-06 2023-09-12 Oracle International Corporation Consistent file system semantics with cloud object storage
CN110100240B (zh) * 2017-01-06 2023-12-12 甲骨文国际公司 用于zfs快照生成和存储的云网关
CN111427966A (zh) * 2020-06-10 2020-07-17 腾讯科技(深圳)有限公司 数据库事务处理方法、装置及服务器
CN114942963A (zh) * 2022-04-24 2022-08-26 阿里巴巴(中国)有限公司 数据存储方法、装置、设备和存储介质

Also Published As

Publication number Publication date
US7747663B2 (en) 2010-06-29
US20090228511A1 (en) 2009-09-10
WO2009110912A1 (en) 2009-09-11
EP2252950A4 (en) 2012-07-25
EP2252950A1 (en) 2010-11-24
CA2717068C (en) 2014-12-16
CA2717068A1 (en) 2009-09-11
CN102016852B (zh) 2013-03-27
JP2011513853A (ja) 2011-04-28

Similar Documents

Publication Publication Date Title
CN102016852B (zh) 内容可寻址存储系统和方法
US11531484B1 (en) Distributed dataset modification, retention, and replication
CN101743546B (zh) 用于提供快照的文件系统的分层存储管理
CN1311358C (zh) 对迁移和清除候选者的有效查找
US7917494B2 (en) System and method for a log-based data storage
CN100412862C (zh) 具备文件管理功能的文件系统及文件管理方法
US8620884B2 (en) Scalable blob storage integrated with scalable structured storage
JP4859605B2 (ja) 情報処理システム
CN102142024B (zh) 在分布式数据库中使用递增捕捉来进行逻辑数据备份和回退
CN101061467B (zh) 远程存储数据副本
KR100556594B1 (ko) 데이터베이스에 관한 방법
CN110062925A (zh) 用于云集成的快照元数据布置
US20040024973A1 (en) Storage system and method for providing consistent data modification information
US7440979B2 (en) Snapshots for instant backup in a database management system
US8572045B1 (en) System and method for efficiently restoring a plurality of deleted files to a file system volume
CN101535964B (zh) 备份文件
WO2013121456A1 (en) Management apparatus and management method for hierarchical storage system
CN104040481A (zh) 用于融合、存储和检索增量式备份数据的方法和系统
CN103765393A (zh) 存储系统
US20210149902A1 (en) Distributed computer system for delivering data
US11809385B1 (en) Efficient data backup in a distributed storage system
US10430341B2 (en) Log-structured storage method and server
JP2008033527A (ja) ストレージ装置、ディスク装置及びデータ復元方法
JP5291166B2 (ja) 記憶装置システム及びデータ回復方法
US20110320507A1 (en) System and Methods for Digest-Based Storage

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
ASS Succession or assignment of patent right

Owner name: NEC CORP.

Free format text: FORMER OWNER: NEC LAB AMERICA INC.

Effective date: 20130319

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20130319

Address after: Tokyo, Japan

Patentee after: NEC Corp.

Address before: New jersey, USA

Patentee before: NEC LABORATORIES AMERICA, Inc.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230605

Address after: 80 Mingdi Miaya Road, Singapore

Patentee after: NEC Asia Pacific Private Ltd.

Address before: Tokyo, Japan

Patentee before: NEC Corp.

TR01 Transfer of patent right

Effective date of registration: 20240206

Address after: 20 Goryeo Pier, Singapore

Patentee after: Patent Wave Private Ltd.

Country or region after: Singapore

Address before: 80 Mingdi Mia Road, Singapore

Patentee before: NEC Asia Pacific Private Ltd.

Country or region before: Singapore

TR01 Transfer of patent right