CN106104514A - 对利用文件存储系统实施的对象存储库中的对象的加速访问 - Google Patents
对利用文件存储系统实施的对象存储库中的对象的加速访问 Download PDFInfo
- Publication number
- CN106104514A CN106104514A CN201580012914.2A CN201580012914A CN106104514A CN 106104514 A CN106104514 A CN 106104514A CN 201580012914 A CN201580012914 A CN 201580012914A CN 106104514 A CN106104514 A CN 106104514A
- Authority
- CN
- China
- Prior art keywords
- index node
- repository
- described object
- processor
- creating
- 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
Links
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
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)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
在一个实施例中,一种用于创建对象的方法包括:在利用文件系统的对象存储库中创建对象;获得与对象相关联的索引节点(inode)的索引节点标识符(ID);创建所述对象的对象ID,其中所述对象ID不同于对象存储库中的任何其他对象ID;把对象ID与索引节点ID合并;以及修改索引节点以至少包括对象ID。在另一个实施例中,一种系统包括处理器以及与处理器集成在一起并且/或者可由处理器执行的逻辑,所述逻辑被配置成:在利用文件系统的对象存储库中创建对象;获得与对象相关联的索引节点的索引节点ID;创建所述对象的对象ID,所述对象ID包括索引节点ID;以及修改索引节点以至少包括对象ID。
Description
技术领域
本发明总体上涉及访问对象存储库中的对象,更具体来说涉及对已被存储在利用文件存储系统实施的对象存储库中的对象的加速访问。
背景技术
对象存储库是在许多不同的存储系统中都有用的存储技术,其中特别包括云存储,在云存储中对象存储库是所使用的最重要的存储。对象存储主要意图应对非结构数据的指数增长。与网络附属存储(NAS)中的文件或者存储区域网(SAN)中的块的传统存储不同,对象存储库使用数据对象。每一个对象被指派唯一的对象标识符(ID),并且每一个对象包含其自身的元数据(其中的一部分是用户定义的元数据,比如与对象相关联的标签)连同实际数据,从而不再需要集中式索引。用户定义的元数据(或标签)是基于对象存储库的存储技术的强区分因素,并且在整个对象存储库中被广泛使用。因此,其在保持合理成本的同时实现了巨大的可伸缩性以及存储位置的地理独立性。
对象存储库的重要元素是“对象”和“容器”。对象存储库中的对象和容器利用对象ID来标识。对象ID是为特定对象存储库中的特定对象或容器给出的全局唯一ID(UUID)。对象ID的关键用途和目的是允许很容易地检索对象和容器。
取决于对象存储库的具体实现方式,对象ID可以被称作对象名、对象关键字或者某种其他名称,但是将始终被称作对象ID。通过在请求对象/容器时仅仅提供对象ID,使得访问这些对象/容器变得容易。这样就对于末端用户隐藏了实现方式细节,并且使得对象的管理得到简化。对象存储库的大多数实现方式使用文件系统来存储对象和容器。在文件系统语义中,提供到文件和/或目录的完全路径以便访问特定文件或目录。因此,在文件系统语义中,取决于文件系统中的位置,各个对象和/或容器将具有不同的路径名。当对象关联从一个容器移动到另一个容器时可以很容易地观察到这一点,于是相同的对象得到不同的路径,从而使其难以管理。因此,使用对象ID是用于访问对象/容器的优选机制。
基于云的对象存储库中的其中一项最大的需求是改进总体性能。这就要求优化对象存储库系统。优化对象存储库系统的一种方式是优化对象检索处理,从而可以使得性能提高。具体来说,在例如基于云数据管理接口(CDMI)、OpenStack Swift等等的对象存储库实现方式中,对象被存储在文件系统上,其中每一个对象映射到文件并且每一个容器映射到目录。在文件系统内部不存在对象,并且所有内容都作为文件被访问/操作。对于外部世界,对象被允许并且优选地被称作对象ID。这些对象ID是唯一的,并且对象和容器二者都可以利用对象ID来访问。
当尝试利用对象ID来访问对象/容器时,在(对请求作出响应的)对象存储库服务器处,需要有从对象ID到文件路径名的映射可用,于是路径名可以被用于进一步处理。考虑到有大量对象被存储在云环境中,从对象ID到文件路径名的映射变得耗时,并且是与数据检索有关的对象存储库性能方面的其中一个约束因素。
解决这一问题所遵循的一种一般性方法是保持该映射的存储器内拷贝。当存储数量非常巨大的此类记录时,这是一种不切实际的解决方案。另一种机制将是创建保持该映射信息的数据库,其中保持对象ID作为主关键字。第二种方法使用较少的存储器,但是更加计算密集。可能需要搜索对象ID的巨大列表以便找到所请求的一个对象,并且随后检索相关联的文件名。
因此,更加智能的对象ID生成和映射将有益于帮助在性能和存储器方面优化所述系统。
发明内容
在一个实施例中,一种用于创建对象的方法包括:在利用文件系统的对象存储库中创建对象;获得与对象相关联的索引节点(inode)的索引节点标识符(ID);创建所述对象的对象ID,其中所述对象ID不同于对象存储库中的任何其他对象ID;把对象ID与索引节点ID合并;以及修改索引节点以至少包括对象ID。
在另一个实施例中,一种用于访问对象的计算机程序产品包括随之具体实现有程序代码的计算机可读存储介质,所述程序代码可由处理器读取和/或执行以使得所述处理器:由处理器从与存储在利用文件系统的对象存储库中的对象相关联的对象ID中提取索引节点ID;由处理器访问与索引节点ID相关联的索引节点并且确定存储在其中的对象ID;由处理器确定来自索引节点的对象ID是否匹配从中提取出索引节点ID的与对象相关联的对象ID;以及由处理器对所述对象实施操作。
在另一个实施例中,一种系统包括处理器以及与处理器集成在一起并且/或者可由处理器执行的逻辑,所述逻辑被配置成:在利用文件系统的对象存储库中创建对象;获得与对象相关联的索引节点的索引节点ID;创建所述对象的对象ID,所述对象ID包括索引节点ID,其中所述对象ID不同于对象存储库中的任何其他对象ID;以及修改索引节点以至少包括所述对象ID。
通过后面的详细描述本发明的其他方面和实施例将变得显而易见,在结合附图阅读时后面的详细描述通过举例的方式说明本发明的原理。
附图说明
现在将仅通过示例的方式并且参照下面的附图来描述本发明的优选实施例:
图1示出了根据一个实施例的网络架构。
图2示出了根据一个实施例的可以与图1的服务器和/或客户端相关联的代表性硬件环境。
图3示出了根据一个实施例的分层数据存储系统。
图4示出了根据一个实施例的索引节点(inode)结构的实例。
图5是根据一个实施例的用于创建对象的方法的流程图。
图6是根据一个实施例的用于访问对象的方法的流程图。
具体实施方式
后面的描述是出于说明本发明的一般原理的目的,而不意图限制这里所要求保护的发明性概念。此外,这里所描述的特定特征可以在每一种不同的可能组合和排列中与其他所描述的特征组合使用。
除非在这里明确地另行定义,否则应当为所有术语给出其最宽泛的可能解释,其中包括说明书所蕴含的含义以及本领域技术人员所理解的和/或如在字典、协议等等中所定义的含义。
还必须提到的是,除非另行表明,否则在说明书和所附权利要求书中所使用的单数形式“一”、“一个”和“所述”也包括复数的所指对象。还应当理解的是,在本说明书中使用的术语“包括”表明所述特征、整数、步骤、操作、单元和/或组件的存在,而不排除一个或多个其他特征、整数、步骤、操作、单元、组件和/或其群组的存在或添加。
后面的描述公开了用于增强文件系统元数据层从而认识到驻留在文件系统之上的对象存储库以及与属于所述对象存储库的对象相关联的对象标识符(ID)的系统、方法和计算机程序产品的几个优选实施例。所述技术帮助改进对象存储库的对象查找/检索的性能。
在一个一般性实施例中,一种用于创建对象的方法包括:在利用文件系统的对象存储库中创建对象;获得与对象相关联的索引节点(inode)的索引节点标识符(ID);创建所述对象的对象ID,其中所述对象ID不同于对象存储库中的任何其他对象ID;把对象ID与索引节点ID合并;以及修改索引节点以至少包括对象ID。
在另一个一般性实施例中,一种用于访问对象的计算机程序产品包括随之具体实现有程序代码的计算机可读存储介质,所述程序代码可由处理器读取和/或执行以使得所述处理器:由处理器从与存储在利用文件系统的对象存储库中的对象相关联的对象ID中提取索引节点ID;由处理器访问与索引节点ID相关联的索引节点并且确定存储在其中的对象ID;由处理器确定来自索引节点的对象ID是否匹配从中提取出索引节点ID的与对象相关联的对象ID;以及由处理器对所述对象实施操作。
在再一个一般性实施例中,一种系统包括处理器以及与处理器集成在一起并且/或者可由处理器执行的逻辑,所述逻辑被配置成:在利用文件系统的对象存储库中创建对象;获得与对象相关联的索引节点的索引节点ID;创建所述对象的对象ID,所述对象ID包括索引节点ID,其中所述对象ID不同于对象存储库中的任何其他对象ID;以及修改索引节点以至少包括对象ID。
图1示出了根据一个实施例的架构100。如图1中所示,提供多个远程网络102,其中包括第一远程网络104和第二远程网络106。网关101可以耦合在远程网络102与邻近网络108之间。在这一网络架构100的情境中,网络104、106可以分别采取任何形式,其中包括但不限于LAN、诸如因特网的WAN、公共交换电话网(PSTN)、内部电话网等等。
在使用中,网关101充当从远程网络102到邻近网络108的进入点。因此,网关101可以充当能够引导到达该网关101处的给定数据分组的路由器,以及对于给定分组布置进入和离开该网关101的实际路径的交换机。
此外还包括耦合到邻近网络108的至少一台数据服务器114,其可以从远程网络102经由网关101访问。应当提到的是,(多台)数据服务器114可以包括任何类型的计算设备/群件。每一台数据服务器114耦合有多个用户设备116。这样的用户设备116可以包括台式计算机、膝上型计算机、手持式计算机、打印机或者任何其他类型的逻辑。应当提到的是,在一个实施例中,用户设备111还可以直接耦合到任何网络。
一个外设120或一系列外设120可以耦合到其中一个或多个网络104、106、108,所述外设比如是传真机、打印机、联网的和/或本地的存储单元或系统等等。应当提到的是,数据库和/或附加的组件可以与耦合到网络104、106、108的任何类型的网络单元一同被利用或者被集成到其中。在本发明的描述的情境中,网络单元可以指代网络的任何组件。
根据某些方法,这里所描述的方法和系统可以利用虚拟系统和/或仿真一个或多个其他系统的系统来实施以及/或者被实施在其上,仿真一个或多个其他系统的系统比如有仿真IBM z/OS(IBM和z/OS是国际商业机器公司的注册商标)环境的UNIX(UNIX是TheOpen Group(开放群组)在美国和其他国家的注册商标)系统、虚拟托管MICROSOFT WINDOWS(Microsoft和Windows是微软公司在美国、其他国家或者同时在美国和其他国家的商标)环境的UNIX系统、仿真IBMz/OS环境的MICROSOFT WINDOWS系统等等。在一些实施例中,通过使用VMWARE软件可以增强这一虚拟化和/或仿真。
在更多方法中,一个或多个网络104、106、108可以代表被共同称为“云”的系统集群。在云计算中,通过按需关系为云中的任何系统提供例如处理能力、外设、软件、数据、服务器等共享资源,从而允许在许多计算系统之间访问和分配服务。云计算通常涉及在云中操作的系统之间的因特网连接,但是也可以使用连接系统的其他技术。
图2示出了根据一个实施例的与图1的用户设备116和/或服务器114相关联的代表性硬件环境。该图示出了工作站的典型硬件配置,其具有中央处理单元(CPU)210(比如微处理器)以及经由系统总线212互连的若干其他单元。
图2中所示出的工作站包括随机存取存储器(RAM)214,只读存储器(ROM)216,用于把例如盘存储单元220之类的外围设备连接到总线212的I/O适配器218,用于把键盘224、鼠标226、扬声器228、麦克风232和/或例如触摸屏和数字摄影机(未示出)之类的其他用户接口设备连接到总线212的用户接口适配器222,用于把所述工作站连接到通信网络235(例如数据处理网络)的通信适配器234,以及用于把总线212连接到显示设备238的显示适配器236。
所述工作站上可以驻留有操作系统,比如Microsoft操作系统(OS)、MAC OS、UNIX OS等等。应当认识到,优选实施例还可以被实施在除了所提到的之外的其他平台和操作系统上。优选实施例可以利用JAVA(Java以及所有基于Java的商标和标识是Oracle和/或其附属企业的商标或注册商标)、XML、C和/或C++语言或者其他编程语言连同面向对象的编程方法来编写。可以使用越来越多地被用来开发复杂应用的面向对象的编程(OOP)。
现在参照图3,其中示出了根据一个实施例的存储系统300。应当提到的是,根据各个实施例,图3中示出的其中一些单元可以被实施成硬件和/或软件。存储系统300可以包括用于与较高存储层302和较低存储层306上的多个介质进行通信的存储系统管理器312。较高存储层302优选地可以包括一个或多个随机存取和/或直接存取介质304,比如硬盘驱动器(HDD)中的硬盘、非易失性存储器(NVM)、固态驱动器(SDD)中的固态存储器等等以及/或者这里所提到的其他介质。较低存储层306可以优选地包括一个或多个顺序访问介质308,比如带驱动器中的磁带、光学介质等等以及/或者这里所提到的其他介质。附加的存储层316可以包括存储装置存储器介质的任意组合。如图3中所示,存储系统管理器312可以通过网络310(比如存储区域网(SAN))与较高和较低存储层302、306上的存储介质304、308进行通信。存储系统管理器312还可以通过托管接口314与一个或多个托管系统(未示出)进行通信,所述托管接口可以是或者可以不是存储系统管理器312的一部分。存储系统管理器312和/或存储系统300的任何其他组件可以用硬件和/或软件来实施,并且可以利用处理器(未示出)来执行本领域内已知的类型的命令,比如中央处理单元(CPU)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)等等。当然,本领域技术人员在阅读本发明的描述之后将认识到,可以使用存储系统的任何安排。
在更多实施例中,存储系统300可以包括任意数目的数据存储层,并且在每一个存储层内可以包括相同或不同的存储装置存储器介质。举例来说,每一个数据存储层可以包括相同类型的存储装置存储器介质,比如HDD、SSD、顺序存取介质(带驱动器中的带、光盘驱动器中的光盘等等)、直接存取介质(CD-ROM、DVD-ROM等等)或者介质存储类型的任意组合。在一种这样的配置中,较高存储层302可以包括大部分SSD存储介质以用于在更高性能的存储环境中存储数据,并且其余的存储层(包括较低存储层306和附加的存储层316)可以包括SSD、HDD、带驱动器等等的任意组合以用于在较低性能的存储环境中存储数据。通过这种方式,更加频繁地访问的数据、具有较高优先权的数据、需要被更加快速地访问的数据等等可以被存储到较高存储层302,而不具有这些属性当中的一项的数据则可以被存储到附加的存储层316(包括较低存储层306)。当然,根据这里给出的实施例,本领域技术人员在阅读本发明的描述之后可以设想到将要实施到不同存储方案中的存储介质类型的许多其他组合。
根据一些实施例,所述存储系统(比如300)可以包括适于接收针对打开数据集合的请求的逻辑,适于确定所请求的数据集合是否在多个相关联的部分中被存储到分层数据存储系统300的较低存储层306的逻辑,适于把所请求的数据集合的每一个相关联的部分移动到分层数据存储系统300的较高存储层302的逻辑,以及适于在分层数据存储系统300的较高存储层302上从各个相关联的部分组装所请求的数据集合的逻辑。
当然,根据各个实施例,该逻辑可以被实施成任何设备和/或系统上的方法或者被实施成计算机程序产品。
为了在对象存储库环境中实施增强的对象ID,根据各个实施例描述了一些结构和/或格式。所述结构和/或格式包括对象ID格式、保持各个对象的底层文件系统索引节点表以及对象创建处理。这些结构和/或格式被集成在提供改进的对象检索性能的文件系统上的对象存储库实现方式中。
为了减少把对象ID映射到文件、数据集合、目录等等的当前方法中的资源利用,提出一种如下面所描述的方法。首先,增强对象ID以包括附加的索引节点标识符(比如唯一地标识索引节点的数字、字母数字串等等)。所述标识符可以是唯一地标识索引节点的任何数字、字母数字串、散列等等。取决于所使用的文件系统,在这里所描述的实施例的情境中可以利用其他文件索引结构以替代索引节点。举例来说,本领域技术人员将会理解的是,基于UNIX的系统可以利用索引节点,但是MICROSOFT操作系统则可以依赖于与索引节点起到类似作用的不同的索引结构,并且该不同的索引结构被利用在这里所描述的实施例的情境中。但是为了简单起见,所有索引结构都将被称作索引节点,其中假设可以使用任何索引结构。
索引节点代表关于对象存储库中的对象(或者文件系统语义中的文件)的元数据。现在参照图4,所述元数据可以包括以下信息当中的一些或全部:文件的尺寸,文件被存储在其中的设备ID,与文件相关联的用户ID,与文件相关联的群组ID,所有者、群组以及可能还有其他人的文件模式信息和访问特权,一个或多个文件保护标志,文件创建的时间戳、文件修改的时间戳、文件访问的时间戳等等,用以确定与文件相关联的硬链接的数目的链接计数器,与存储文件的内容的块相关联的一个或多个指针,诸如只能附加(append only)、不可改变(包括根用户在内的任何人都不可以删除文件)等扩展属性,或者本领域内已知的任何其他信息。
在一个实施例中,索引节点可以被修改以便在扩展属性字段内包括对象的唯一ID以及对象的路径名,连同希望被存储在扩展属性字段中的任何其他信息。
大多数对象存储库实现方式利用包括至少被包括在其中的全局唯一标识符(UUID)的对象ID。因此,在一种方法中,取决于所使用的文件系统,对象ID可以被增强以存储索引节点编号以及已经被存储在其中和/或对于其他标识目的可能是有用的任何其他信息。通过这种方式,可以通过添加与特定对象/容器有关的索引节点标识符(或者取决于所使用的文件系统的索引结构的某种其他标识符)来增强对象ID的实现方式。任何对象/容器的创建现在都将导致还创建在对象ID中包括索引节点标识符的增强对象ID。
再次参照图4,所使用的特定文件系统的索引节点402还可以被修改以存储该增强对象ID 426(或者至少包括在其中的UUID)以及对象/容器的显式路径名428。
随后,每当通过对象ID访问对象时,并且当访问所述对象的服务器或系统从该对象ID中提取索引节点标识符时,服务器随后将访问允许识别索引节点的存在于索引节点寄存器(比如索引节点表)中的对应的索引节点信息,其可以包括关于对象/容器的信息。
索引节点402比如在扩展属性字段中可以包括与对象/容器相关联的对象ID 426。还可以包括其他信息,比如类型404、所有者406、尺寸408、群组410、许可412、上一次访问时间414、上一次修改时间416、创建时间418、链接数目420、扩展属性字段422、指向数据块的指针424等等。在一个实施例中,对象ID 426和/或对象/容器的显式路径名428可以被存储在索引节点402的扩展属性字段422中,连同希望被存储在扩展属性字段422中的任何其他属性430。
接下来,可以由末端用户/应用传递/请求对象ID,并且将把存储在索引节点中的对象ID与之匹配。当确认对象ID之间的匹配时,确保所提及的索引节点属于所请求的对象。随后将从索引节点读取文件名,并且所获得的路径将被用于检索对象/容器的进一步处理。通过对象ID和索引节点的映射和集成实现的这一与对象的直接低层级索引节点关系导致通过与之相关联的对象ID更快地检索对象。
由于访问任何索引节点是O(1)操作,因此保证了这种访问对象/容器的方法比任何当前使用的方法都更快。由于不需要在存储器内或者在HDD或其他直接存取存储设备(DASD)上保持映射表/数据库,因此使用根据各个实施例的这里所描述的方法和结构所消耗的资源更少。
对于后面的描述,假设在使用文件系统的对象存储库实现方式中,对象被存储为文件,并且容器被存储为目录。在文件系统语义中,文件和目录在LINUX/UNIX操作系统中都被存储为文件。与文件/目录有关的信息被称作元数据,其可以被存储在索引节点中。
为了访问文件系统上的任何文件/目录,访问索引节点,并且从中读取相关的信息。此时还可以实施任何另外的任务。因此,在任何情况下,对于Linux/Unix中的任何文件/目录/设备的访问都通过索引节点的访问发生。
为了实施根据各个实施例的这里所描述的方法,可以在索引节点的结构方面作出一些改变。在一个实施例中,对象ID和去到对象(比如文件或目录)的路径可以被存储在索引节点的扩展属性中。当对象存储库考虑在容器对象上设定的许可时,使用到对象的路径。
在另一个实施例中,可以在对象创建处理期间作出一些改变。作为对象/容器创建处理的一部分,在传统上由对象存储库服务器生成对象ID。这一对象ID创建确保了整个对象存储库上的唯一性。
但是根据一个实施例,现有的对象ID被修改以在其中包括索引节点标识符。索引节点标识符还可以被附加到所创建的对象ID。这一经过修改的对象ID和(到在文件系统上保持对象ID的文件的)路径名可以被添加到该文件的扩展属性。
现在参照图5,其中示出了根据一个实施例的用于创建对象的方法500的流程图。方法500可以在任何所期望的环境中执行,其中特别包括在图1-4中示出的那些环境。此外,在方法500中可以包括比在图5中具体描述的更多或更少的操作。
在一个实施例中,操作502和518可以由客户端应用、设备、系统等实施,以便尝试在对象存储库上创建对象。在该实施例中,操作504-516可以在对象存储库服务器、文件系统或者连接到对象存储库的某种其他系统、应用或设备上实施。
在操作502中,从设备、系统、应用等等向对象存储库和/或实施对象存储库的文件系统发送针对创建对象的请求。该请求可以由客户端、系统、应用或者本领域内已知的任何其他系统、设备、应用等发送。正如本领域技术人员将理解的那样,所述请求可以包括对于创建对象和/或容器将有用的任何信息。
在操作504中,由对象存储库和/或实施对象存储库的文件系统接收针对创建对象的请求,并且识别其中的任何有用的信息。
在操作506中,在文件系统上创建对象。所述对象可以是本领域内已知的任何类型,比如文件、数据集合、目录、容器等等。
在操作508中,对于所创建的对象获得索引节点ID,比如索引节点编号。可以使用本领域内已知的获得索引节点ID的任何处理,比如通过与文件系统的用户接口请求索引节点ID。在一个这样的实施例中,用户可以输入命令以便检索与文件/目录相关联的索引节点。
下面示出了一次示例性的命令和响应交换:
>>#1s-i test
>>21733378 test
在该示例性交换中,21733378是响应于用于测试的请求索引节点编号的命令而返回的索引节点编号。
在操作510中,对于所述对象创建唯一对象ID。本领域技术人员在阅读本发明的描述之后将理解的是,所述唯一对象ID可以包括UUID。此外,对象ID可以采取本领域内已知的任何形式,比如数字、字母数字串、散列等等。
在操作512中,将对象ID与索引节点ID合并。在一个实施例中,索引节点ID可以被附加到所创建的对象ID(附加在其开头处、结尾处或者按照系统所知的某种其他方式被包括以对其进行提取),从而确保可以在任何给定时间从对象ID调回对象与索引节点之间的关联。
在操作514中,索引节点被修改以便把对象ID以及可能还有对象的文件路径作为元数据包括到索引节点。在一个实施例中,这些值可以被存储到索引节点的扩展属性。通过存储这些文件存储搜索参数允许实施对对象的搜索,而不需要咨询索引或其他相关结构来确定索引节点外部的对象位置。此外,由于索引节点ID被提供在对象ID中,因此已经知道在哪里找到用以在文件系统中定位对象的信息。
在操作516中,将对象ID发送(返回)到客户端、系统、应用或者发送所述请求的其他设备。
在操作518中,接收对象ID。一旦客户端、系统、应用或者请求创建对象的其他设备接收到对象ID,针对该对象的任何未来的访问请求(读取、写入等等)可以通过对象ID发出,从而加快访问与对象ID相关联的对象的处理的速度。
此外,在一种方法中,可以针对对象访问方法作出一些改变。客户端应用、设备、系统等等可以把对象ID(其可以在创建对象时由对象存储库服务器提供)传递到对象存储库服务器,以用于读取、修改、删除等操作。所述服务器被配置成读取对象ID。所述服务器被配置成从该对象ID提取索引节点ID(其被附加到和/或包括在对象ID中)。随后,所述服务器被配置成访问索引节点以及随之存储的(比如其扩展属性中的)任何信息。
接下来,把所存储的对象ID与所接收到的对象ID进行比较。当所述两个对象ID匹配时,允许意定的操作,否则生成表明对象没有找到和/或无效的应答。
当对象存储库实现方式在容器(文件系统语义中的目录)上强制许可时,则可以使用存储在对象ID中(比如存储在扩展属性中)的路径名来检查许可。未经修改的对象存储库不具有容器对象上的许可的概念。
通过这种方式,在利用对象存储库时,可以把第二元数据与每一个对象ID合并从而提供对象存储搜索参数,以便更加高效地访问对象存储库中的对象。
现在参照图6,其中示出了根据一个实施例的用于访问对象的方法600的流程图。方法600可以在任何所期望的环境中执行,其中特别包括在图1-4中示出的那些环境。此外,在方法600中可以包括比在图6中具体描述的更多或更少的操作。
在一个实施例中,操作602和618可以由客户端应用、设备、系统等实施,以便尝试在对象存储库上创建对象。在该实施例中,操作604-616可以在对象存储库服务器、文件系统或者连接到对象存储库的某种其他系统、应用或设备上实施。
在操作602中,从设备、系统、应用等等向对象存储库和/或实施对象存储库的文件系统发送针对访问对象的请求。该请求可以由本领域内已知的任何客户端系统、设备、应用等发送。正如本领域技术人员将理解的那样,所述请求可以包括对于访问对象和/或容器将有用的任何信息。在一个实施例中,所述请求包括与将被访问的对象相关联的对象ID。在另一个实施例中,将对对象实施的操作也被包括在请求中(也就是读取/写入/修改等等)。
在操作604中,针对访问对象的请求由对象存储库和/或实施对象存储库的文件系统接收,并且识别其中的任何有用的信息,包括将被访问的对象的对象ID。
在操作606中,从对象ID中提取索引节点ID,比如索引节点编号。
在操作608中,访问与索引节点ID相关联的索引节点,并且确定存储在其中的对象ID。这可以通过读取与索引节点ID相关联的索引节点来实现。
在操作610中,确定包括在请求中的对象ID是否匹配包括在与索引节点ID相关联的索引节点中的对象ID。当所述对象ID匹配时,方法600继续到可选操作612;否则,方法600继续到操作616。
在操作612中,如果对于对象的进一步处理需要路径名,则确定存储在索引节点中的路径名。当对于对象的进一步处理不需要路径名时,不实施操作612。
在操作614中,对对象实施包括在请求中的操作,比如读取对象的一部分或全部,覆写对象的一部分或全部,向对象附加信息,修改对象,删除对象等等。
在操作616中,比如把访问的结果发送回到最初发送请求的客户端系统、设备、应用等等。当所述对象ID不匹配时,结果表明对象不存在或者不可访问,并且/或者操作失败。对于任何其他操作,向发出请求的实体表明读取/写入/修改的结果。
在操作618中,比如由发送请求的客户端、系统、应用或其他设备接收访问的结果。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
举例来说,在一个实施例中,一种用于访问对象的计算机程序产品可以包括随之具体实现有程序代码的计算机可读存储介质,所述程序代码可由处理器读取和/或执行以使得所述处理器:由处理器从与存储在利用文件系统的对象存储库中的对象相关联的对象ID中提取索引节点(inode)标识符(ID);由处理器访问与索引节点ID相关联的索引节点并且确定存储在其中的对象ID;由处理器确定来自索引节点的对象ID是否匹配从中提取出索引节点ID的与对象相关联的对象ID;以及由处理器对所述对象实施操作。
在各个实施例中,可由处理器读取和/或执行的程序代码还可以使得所述处理器:从远程系统接收针对访问存储在对象存储库中的对象的请求,并且把对对象实施操作之后访问对象的结果发送到远程系统,其中所述请求包括与将被访问的对象相关联的对象ID以及将对对象实施的操作。在另一个实施例中,将对对象实施的操作可以包括读取、写入和修改的至少其中之一。根据另一个实施例,当对于对象的进一步处理需要路径名时,可由处理器读取和/或执行的程序代码还可以使得所述处理器从索引节点确定路径名。
在另一个实例中,一种系统可以包括处理器以及与处理器集成在一起并且/或者可由处理器执行的逻辑,所述逻辑被配置成:在利用文件系统的对象存储库中创建对象;获得与对象相关联的索引节点的索引节点ID;创建所述对象的对象ID,所述对象ID包括索引节点ID,其中所述对象ID不同于对象存储库中的任何其他对象ID;以及修改索引节点以至少包括对象ID。
在各个实施例中,所述逻辑还可以被配置成:在创建对象之前从远程系统接收针对在对象存储库中创建对象的请求,并且在创建对象之后把所述对象的对象ID发送到远程系统。在另一个实施例中,所述逻辑还可以被配置成修改索引节点以包括用于对象的路径名,其中索引节点的扩展属性可以被修改以包括对象的对象ID和路径名。
在另一个实施例中,对象ID可以具有附加到其的索引节点ID,比如附加到其起始处或末尾处。在其他实施例中,所述逻辑还可以被配置成:从与存储在对象存储库中的对象相关联的对象ID中提取索引节点ID;访问与索引节点ID相关联的索引节点并且确定存储在其中的对象ID;确定来自索引节点的对象ID是否匹配从中提取出索引节点ID的与对象相关联的对象ID;以及对所述对象实施操作。
在某些方法中,所述逻辑还可以被配置成:从远程系统接收针对访问存储在对象存储库中的对象的请求,并且把对对象实施操作之后访问对象的结果发送到远程系统。
此外,以下各项当中的任一项是可能的:所述请求包括与将被访问的对象相关联的对象ID以及将对对象实施的操作;将对对象实施的操作包括读取、写入和修改的至少其中之一;并且所述逻辑还可以被配置成在对于对象的进一步处理需要路径名时从索引节点确定路径名。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是--但不限于--电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Java、Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
此外,根据各个实施例的系统可以包括处理器以及与处理器集成在一起并且/或者可由处理器执行的逻辑,所述逻辑被配置成实施这里所引述的其中一个或多个处理步骤。“集成”的意思是,处理器具有作为硬件逻辑与之嵌入在一起的逻辑,比如专用集成电路(ASIC)、现场可编程门阵列(FPGA)等等。“可由处理器执行”的意思是,所述逻辑是硬件逻辑,诸如固件、操作系统等的软件逻辑,或者硬件和软件逻辑的某种组合,其可以由处理器访问并且被配置成在由处理器执行时使得处理器实施某种功能。软件逻辑可以被存储在本领域内已知的任何存储器类型的本地和/或远程存储器上。可以使用本领域内已知的任何处理器,比如软件处理器模块和/或诸如ASIC、FPGA、中央处理单元(CPU)、集成电路(IC)等的硬件处理器。
应当清楚的是,可以按照任何方式组合前述系统和/或方法的各项特征,从而根据前面给出的描述产生多种组合。
还应当认识到,可以通过代表顾客部署的服务的形式来提供本发明的实施例,以便按需提供服务。
虽然前面描述了各个实施例,但是应当理解的是,所述实施例仅仅是作为举例而非限制给出的。因此,优选实施例的宽度和范围不应当受到任何前面描述的示例性实施例的限制,而是应当仅仅根据所附权利要求书及其等效表述来限定。
Claims (23)
1.一种用于创建对象的方法,所述方法包括:
在利用文件系统的对象存储库中创建对象;
获得与所述对象相关联的索引节点(inode)的索引节点标识符(ID);
创建所述对象的对象ID,其中所述对象ID不同于所述对象存储库中的任何其他对象ID;以及
修改所述索引节点以至少包括所述对象ID。
2.如权利要求1所述的方法,还包括:把所述对象ID与所述索引节点ID合并。
3.如权利要求1或权利要求2所述的方法,还包括:
在创建所述对象之前从远程系统接收在所述对象存储库中创建所述对象的请求;以及
在创建所述对象之后把所述对象的对象ID发送到所述远程系统。
4.如任一在前权利要求所述的方法,还包括修改所述索引节点以包括用于所述对象的路径名,以便提供用于所述对象的搜索参数。
5.如权利要求4所述的方法,其中,所述索引节点的扩展属性被修改以包括用于所述对象的所述对象ID和所述路径名。
6.如任一在前权利要求所述的方法,其中,所述对象ID具有附加到其的所述索引节点ID。
7.一种用于访问对象的方法,所述方法包括:
从与存储在利用文件系统的对象存储库中的对象相关联的对象标识符(ID)中提取索引节点(inode)ID;
访问与所述索引节点ID相关联的索引节点并且确定存储在其中的对象ID;
确定来自所述索引节点的所述对象ID是否匹配从中提取出所述索引节点ID的与所述对象相关联的所述对象ID;以及
当来自所述索引节点的所述对象ID匹配从中提取出所述索引节点ID的与所述对象相关联的所述对象ID时,对所述对象实施操作。
8.如权利要求7所述的方法,还包括:
从远程系统接收访问存储在所述对象存储库中的所述对象的请求;以及
把对所述对象实施所述操作之后访问所述对象的结果发送到所述远程系统。
9.如权利要求8所述的方法,其中,所述请求包括与将被访问的所述对象相关联的所述对象ID以及将对所述对象实施的所述操作。
10.如权利要求7到9中任一所述的方法,其中,所述实施步骤还包括读取、写入和修改的至少其中之一。
11.如权利要求7到10中任一所述的方法,还包括:当对于对象的进一步处理需要路径名时,从所述索引节点确定所述路径名。
12.一种包括处理器以及与处理器集成在一起并且/或者可由处理器执行的逻辑的系统,所述逻辑被配置成:
在利用文件系统的对象存储库中创建对象;
获得与所述对象相关联的索引节点(inode)的索引节点标识符(ID);
创建所述对象的对象ID,所述对象ID包括所述索引节点ID,其中所述对象ID不同于所述对象存储库中的任何其他对象ID;以及
修改所述索引节点以至少包括所述对象ID。
13.如权利要求12所述的系统,其中,所述逻辑还被配置成:把所述对象ID与所述索引节点ID合并。
14.如权利要求12或权利要求13所述的系统,其中,所述逻辑还被配置成:
在创建所述对象之前从远程系统接收在所述对象存储库中创建所述对象的请求;以及
在创建所述对象之后把所述对象的所述对象ID发送到所述远程系统。
15.如权利要求12到14中任一所述的系统,其中,所述逻辑还被配置成修改所述索引节点以包括用于所述对象的路径名。
16.如权利要求15所述的系统,其中,所述索引节点的扩展属性被修改以包括用于所述对象的所述对象ID和所述路径名。
17.如权利要求12到16中任一所述的系统,其中,所述对象ID具有附加到其的所述索引节点ID。
18.一种包括处理器以及与处理器集成在一起并且/或者可由处理器执行的逻辑的系统,所述逻辑被配置成:
从与存储在对象存储库中的对象相关联的对象ID中提取索引节点ID;
访问与所述索引节点ID相关联的索引节点并且确定存储在其中的对象ID;
确定来自所述索引节点的所述对象ID是否匹配从中提取出所述索引节点ID的与所述对象相关联的所述对象ID;以及
当来自所述索引节点的所述对象ID匹配从中提取出所述索引节点ID的与所述对象相关联的所述对象ID时,对所述对象实施操作。
19.如权利要求18所述的系统,其中,所述逻辑还被配置成:
从远程系统接收访问存储在所述对象存储库中的所述对象的请求;以及
把对所述对象实施所述操作之后访问所述对象的结果发送到所述远程系统。
20.如权利要求19所述的系统,其中,所述请求包括与将被访问的所述对象相关联的所述对象ID以及将对所述对象实施的所述操作。
21.如权利要求18到20中任一所述的系统,其中,将对所述对象实施的所述操作包括读取、写入和修改的至少其中之一。
22.如权利要求18到21中任一所述的系统,其中,所述逻辑还被配置成在对于所述对象的进一步处理需要路径名时从所述索引节点确定所述路径名。
23.一种包括存储在计算机可读介质上的计算机程序代码的计算机程序,所述计算机程序在被加载到计算机系统中并且在其上执行时使得所述计算机系统实施根据权利要求1到11中的任一项所述的方法的所有步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/220,921 | 2014-03-20 | ||
US14/220,921 US10210191B2 (en) | 2014-03-20 | 2014-03-20 | Accelerated access to objects in an object store implemented utilizing a file storage system |
PCT/IB2015/051978 WO2015140728A1 (en) | 2014-03-20 | 2015-03-18 | Accelerated access to objects in an object store implemented utilizing a file storage system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106104514A true CN106104514A (zh) | 2016-11-09 |
CN106104514B CN106104514B (zh) | 2019-03-01 |
Family
ID=54142312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580012914.2A Active CN106104514B (zh) | 2014-03-20 | 2015-03-18 | 加速访问对象存储库中的对象的方法、系统及介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10210191B2 (zh) |
CN (1) | CN106104514B (zh) |
WO (1) | WO2015140728A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357929A (zh) * | 2017-07-27 | 2017-11-17 | 广东欧珀移动通信有限公司 | 文件读取方法、移动终端及可读存储介质 |
CN107704548A (zh) * | 2017-09-26 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种存储介质和对象数据的存储方法、装置及设备 |
CN110866152A (zh) * | 2019-11-22 | 2020-03-06 | 深圳市元征科技股份有限公司 | 一种故障码检索方法、装置和电子设备及可读存储介质 |
CN110990338A (zh) * | 2018-10-03 | 2020-04-10 | 慧与发展有限责任合伙企业 | 文件系统的初始基线 |
CN113569508A (zh) * | 2021-09-18 | 2021-10-29 | 芯行纪科技有限公司 | 基于id进行数据索引与访问的数据库模型构建方法及设备 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10380364B2 (en) | 2016-03-30 | 2019-08-13 | International Business Machines Corporation | Unified file and object storage architecture for clustered file systems |
US11249968B2 (en) * | 2016-05-09 | 2022-02-15 | Sap Se | Large object containers with size criteria for storing mid-sized large objects |
WO2018042222A1 (en) * | 2016-08-30 | 2018-03-08 | Pratik Sharma | Object based communication |
US11860819B1 (en) * | 2017-06-29 | 2024-01-02 | Amazon Technologies, Inc. | Auto-generation of partition key |
US10949569B2 (en) * | 2018-10-17 | 2021-03-16 | International Business Machines Corporation | Adaptive on-device storage management across multiple applications |
US11178229B2 (en) * | 2019-07-26 | 2021-11-16 | Vmware, Inc. | Method and apparatus for automated determination between proxied and bypassed proxy connections |
RU2718233C1 (ru) * | 2019-10-01 | 2020-03-31 | Общество с ограниченной ответственностью «ПИРФ» (ООО «ПИРФ») | Способ построения файловой системы на базе иерархии узлов |
US11593020B2 (en) | 2020-09-02 | 2023-02-28 | EMC IP Holding Company LLC | Consistent entity tags with multiple protocol data access |
US11941104B2 (en) | 2020-12-03 | 2024-03-26 | Red Hat, Inc. | Utilizing extended file attributes for working directory |
WO2022159291A1 (en) * | 2021-01-22 | 2022-07-28 | Scality, S.A. | Fast and efficient storage system implemented with multiple cloud services |
EP4195068B1 (en) | 2021-12-08 | 2023-11-15 | Axis AB | Storing and retrieving media recordings in an object store |
US11989094B2 (en) * | 2022-08-29 | 2024-05-21 | International Business Machines Corporation | Minimizing data transfer and storage utilization on cloud object storage systems |
CN115757438B (zh) * | 2023-01-06 | 2023-05-12 | 本原数据(北京)信息技术有限公司 | 数据库的索引节点处理方法和装置、计算机设备及介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5745888A (en) * | 1995-10-27 | 1998-04-28 | Ncr Corporation | Advanced file server apparatus and method |
US6145088A (en) * | 1996-06-18 | 2000-11-07 | Ontrack Data International, Inc. | Apparatus and method for remote data recovery |
US20020116408A1 (en) * | 2001-02-16 | 2002-08-22 | Green Paul A. | Implementing standards-based file operations in proprietary operating systems |
US20070055703A1 (en) * | 2005-09-07 | 2007-03-08 | Eyal Zimran | Namespace server using referral protocols |
US7228299B1 (en) * | 2003-05-02 | 2007-06-05 | Veritas Operating Corporation | System and method for performing file lookups based on tags |
US20080077590A1 (en) * | 2006-09-22 | 2008-03-27 | Honeywell International Inc. | Efficient journaling and recovery mechanism for embedded flash file systems |
CN102693286A (zh) * | 2012-05-10 | 2012-09-26 | 华中科技大学 | 一种对文件内容与元数据进行组织管理的方法 |
US20120290629A1 (en) * | 2011-05-13 | 2012-11-15 | Simplivt Corporation | Reference count propagation |
US20130110891A1 (en) * | 2011-10-28 | 2013-05-02 | Hitachi, Ltd. | Storage system and object management method |
CN103229173A (zh) * | 2012-12-26 | 2013-07-31 | 华为技术有限公司 | 元数据管理方法及系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1307580C (zh) | 2001-09-26 | 2007-03-28 | Emc公司 | 大文件的有效管理 |
US7275063B2 (en) | 2002-07-16 | 2007-09-25 | Horn Bruce L | Computer system for automatic organization, indexing and viewing of information from multiple sources |
US7434057B2 (en) * | 2005-01-27 | 2008-10-07 | Hitachi, Ltd. | System and method for watermarking in accessed data in a storage system |
US8229985B2 (en) | 2005-02-07 | 2012-07-24 | Cisco Technology, Inc. | Arrangement for a distributed file system having data objects mapped independent of any data object attribute |
JP5296960B2 (ja) * | 2005-06-17 | 2013-09-25 | 日本電気株式会社 | ファイルバージョン管理装置 |
US7739318B2 (en) * | 2005-06-20 | 2010-06-15 | Netapp, Inc. | System and method for maintaining mappings from data containers to their parent directories |
US20070038697A1 (en) * | 2005-08-03 | 2007-02-15 | Eyal Zimran | Multi-protocol namespace server |
US7617216B2 (en) * | 2005-09-07 | 2009-11-10 | Emc Corporation | Metadata offload for a file server cluster |
US20070088702A1 (en) * | 2005-10-03 | 2007-04-19 | Fridella Stephen A | Intelligent network client for multi-protocol namespace redirection |
US7651593B2 (en) * | 2005-12-19 | 2010-01-26 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US9088591B2 (en) | 2008-04-28 | 2015-07-21 | Vmware, Inc. | Computer file system with path lookup tables |
US9307025B1 (en) * | 2011-03-29 | 2016-04-05 | Riverbed Technology, Inc. | Optimized file creation in WAN-optimized storage |
US8549108B2 (en) * | 2011-09-29 | 2013-10-01 | Riverbed Technology, Inc. | Optimized prefetching of compound data |
-
2014
- 2014-03-20 US US14/220,921 patent/US10210191B2/en active Active
-
2015
- 2015-03-18 CN CN201580012914.2A patent/CN106104514B/zh active Active
- 2015-03-18 WO PCT/IB2015/051978 patent/WO2015140728A1/en active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5745888A (en) * | 1995-10-27 | 1998-04-28 | Ncr Corporation | Advanced file server apparatus and method |
US6145088A (en) * | 1996-06-18 | 2000-11-07 | Ontrack Data International, Inc. | Apparatus and method for remote data recovery |
US20020116408A1 (en) * | 2001-02-16 | 2002-08-22 | Green Paul A. | Implementing standards-based file operations in proprietary operating systems |
US7228299B1 (en) * | 2003-05-02 | 2007-06-05 | Veritas Operating Corporation | System and method for performing file lookups based on tags |
US20070055703A1 (en) * | 2005-09-07 | 2007-03-08 | Eyal Zimran | Namespace server using referral protocols |
US20080077590A1 (en) * | 2006-09-22 | 2008-03-27 | Honeywell International Inc. | Efficient journaling and recovery mechanism for embedded flash file systems |
US20120290629A1 (en) * | 2011-05-13 | 2012-11-15 | Simplivt Corporation | Reference count propagation |
US20130110891A1 (en) * | 2011-10-28 | 2013-05-02 | Hitachi, Ltd. | Storage system and object management method |
CN102693286A (zh) * | 2012-05-10 | 2012-09-26 | 华中科技大学 | 一种对文件内容与元数据进行组织管理的方法 |
CN103229173A (zh) * | 2012-12-26 | 2013-07-31 | 华为技术有限公司 | 元数据管理方法及系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357929A (zh) * | 2017-07-27 | 2017-11-17 | 广东欧珀移动通信有限公司 | 文件读取方法、移动终端及可读存储介质 |
CN107704548A (zh) * | 2017-09-26 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种存储介质和对象数据的存储方法、装置及设备 |
CN110990338A (zh) * | 2018-10-03 | 2020-04-10 | 慧与发展有限责任合伙企业 | 文件系统的初始基线 |
US11734232B2 (en) | 2018-10-03 | 2023-08-22 | Hewlett Packard Enterprise Development Lp | Initial baselines of file systems |
CN110990338B (zh) * | 2018-10-03 | 2024-04-12 | 慧与发展有限责任合伙企业 | 文件系统的初始基线 |
CN110866152A (zh) * | 2019-11-22 | 2020-03-06 | 深圳市元征科技股份有限公司 | 一种故障码检索方法、装置和电子设备及可读存储介质 |
CN113569508A (zh) * | 2021-09-18 | 2021-10-29 | 芯行纪科技有限公司 | 基于id进行数据索引与访问的数据库模型构建方法及设备 |
CN113569508B (zh) * | 2021-09-18 | 2021-12-10 | 芯行纪科技有限公司 | 基于id进行数据索引与访问的数据库模型构建方法及设备 |
US11500828B1 (en) | 2021-09-18 | 2022-11-15 | X-Times Design Automation Co., LTD | Method and device for constructing database model with ID-based data indexing-enabled data accessing |
Also Published As
Publication number | Publication date |
---|---|
US20150269203A1 (en) | 2015-09-24 |
US10210191B2 (en) | 2019-02-19 |
WO2015140728A1 (en) | 2015-09-24 |
CN106104514B (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106104514A (zh) | 对利用文件存储系统实施的对象存储库中的对象的加速访问 | |
CN111259006B (zh) | 一种通用的分布式异构数据一体化物理汇聚、组织、发布与服务方法及系统 | |
CN111801661B (zh) | 多主机分布式数据管理系统中的事务操作 | |
US9996549B2 (en) | Method to construct a file system based on aggregated metadata from disparate sources | |
US11036690B2 (en) | Global namespace in a heterogeneous storage system environment | |
US11995047B2 (en) | Dynamic schema based multitenancy | |
US8868502B2 (en) | Organizing versioning according to permissions | |
CN103400579B (zh) | 一种语音识别系统和构建方法 | |
CN107526777A (zh) | 一种基于版本号对文件进行处理的方法及设备 | |
CN106605221A (zh) | 具有用于即时索引的方法的多用户搜索系统 | |
US20140337327A1 (en) | Supporting enhanced content searches in an online content-management system | |
CN105518673B (zh) | 管理数据摄取 | |
CN105302920A (zh) | 一种云存储数据的优化管理方法和系统 | |
CN103064637A (zh) | 一种网盘的缓存同步方法及系统 | |
US9454592B2 (en) | Managing, importing, and exporting teamspace templates and teamspaces in content repositories | |
US10956499B2 (en) | Efficient property graph storage for streaming/multi-versioning graphs | |
CN109906597A (zh) | 向和从云网络中存储和取回受限制的数据集和非受限制的数据集 | |
CN111684437B (zh) | 按时间顺序排序的错位更新键-值存储系统 | |
US10019185B2 (en) | System and method for copying directory structures | |
US20130179414A1 (en) | Mechanisms for connecting files between applications | |
CN106371931B (zh) | 一种基于Web框架的高性能地学计算服务系统 | |
CN107113231A (zh) | 将基于图形的计算卸载到后端设备 | |
CN111913926A (zh) | 一种基于Hadoop的云平台存储方法 | |
Schroer et al. | A context metadata collection and management tool for computational photography projects | |
US11693878B2 (en) | Generation of a dataset in the format of a machine learning framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |