加速访问对象存储库中的对象的方法、系统及介质技术方案

技术编号:14278882 阅读:44 留言:0更新日期:2016-12-24 23:03
在一个实施例中,一种用于创建对象的方法包括:在利用文件系统的对象存储库中创建对象;获得与对象相关联的索引节点(inode)的索引节点标识符(ID);创建所述对象的对象ID,其中所述对象ID不同于对象存储库中的任何其他对象ID;把对象ID与索引节点ID合并;以及修改索引节点以至少包括对象ID。在另一个实施例中,一种系统包括处理器以及与处理器集成在一起并且/或者可由处理器执行的逻辑,所述逻辑被配置成:在利用文件系统的对象存储库中创建对象;获得与对象相关联的索引节点的索引节点ID;创建所述对象的对象ID,所述对象ID包括索引节点ID;以及修改索引节点以至少包括对象ID。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术总体上涉及访问对象存储库中的对象,更具体来说涉及对已被存储在利用文件存储系统实施的对象存储库中的对象的加速访问。
技术介绍
对象存储库是在许多不同的存储系统中都有用的存储技术,其中特别包括云存储,在云存储中对象存储库是所使用的最重要的存储。对象存储主要意图应对非结构数据的指数增长。与网络附属存储(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;以及由处理器对所述对象本文档来自技高网
...

【技术保护点】
一种用于创建对象的方法,所述方法包括:在利用文件系统的对象存储库中创建对象;获得与所述对象相关联的索引节点(inode)的索引节点标识符(ID);创建所述对象的对象ID,其中所述对象ID不同于所述对象存储库中的任何其他对象ID;以及修改所述索引节点以至少包括所述对象ID。

【技术特征摘要】
【国外来华专利技术】2014.03.20 US 14/220,9211.一种用于创建对象的方法,所述方法包括:在利用文件系统的对象存储库中创建对象;获得与所述对象相关联的索引节点(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.一种包括处理器以及与处理器集成在一起并且/或者可由处理器执行的逻辑的系统,所述逻辑被配置成:在利用文件系统的对象存储库中创建对象;获得与所述对象相关联的索引...

【专利技术属性】
技术研发人员:J·T·奥尔森D·M·巴尔德温S·C·潘纳迪卡S·R·派迪尔
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1