[发明专利]一种对象数据处理方法及装置有效
申请号: | 201010623560.4 | 申请日: | 2010-12-30 |
公开(公告)号: | CN102567427A | 公开(公告)日: | 2012-07-11 |
发明(设计)人: | 王娟;罗治国;孙少陵;韩金宇 | 申请(专利权)人: | 中国移动通信集团公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京鑫媛睿博知识产权代理有限公司 11297 | 代理人: | 龚家骅 |
地址: | 100032 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 对象 数据处理 方法 装置 | ||
技术领域
本发明涉及计算机数据处理技术领域,尤其涉及一种可应用于基于对象的数据存储设备或系统的对象数据处理方法及装置。
背景技术
在对象存储系统中,对象存储设备(Object-based Storage Device,OSD)用来永久存储系统中的对象数据,以及提供对象数据读写功能。对象数据在客户端和OSD之间传输,OSD的性能对整个系统有着直接而显著的影响。
在OSD内,当前的对象组织和管理方式有以下几种:(1)根据对象负载特性设计全新的对象文件系统(OBFS),即提出一种全新的类似于现在文件系统的对象数据组织和管理方式;(2)利用现有的文件系统,将对象数据封装为传统的文件格式。由于方式(1)的开发周期过长、难度过大,因此大部分系统采用方式(2)。在方式(2)中,常将每个对象当做一个文件存储在OSD的本地文件系统上,这种方法简单直接,目前大部分系统采用了该方式。
在对象存储标准OSD-2中规定,在一个OSD上,对象标识符OID由(Partition_ID,User_Object_ID)组成,它是对象的唯一标识,这也是客户端访问对象的接口。在方式(2)中,若将对象标识符作为文件的路径名,在OSD上只能为对象建立平坦的目录结构。由于单个OSD上的对象数量巨大,一般至少有上百万个,根据传统文件系统(如ext3)的目录文件组织结构及其查找方法,对于包含大量文件的目录,它无法有效的管理(当单个目录下文件超过一定数目时,在该目录下的文件查找效率就会急剧下降)。
为了有效管理大量的对象,最简单的方法就是将平坦的目录结构转换为树型的目录层次结构,以适应于传统文件系统的目录管理策略和方法。采用这种方式的系统有PVFS、HOSS等。这种方式的优点是:解决了平坦名字空间的问题,使得定位对象的时间有所减少。
在传统文件系统中,要读取文件数据时,需要以下几个步骤:(1)需要先从目录数据中查找文件名,获得该文件名对应的索引号;(2)根据索引号查找该文件元数据(inode),获得文件数据所在的磁盘位置;(3)从磁盘上获取文件数据。
将每个对象当做一个文件存放在OSD内的同一个目录内的方案中,由于同一目录下的文件数量巨大导致目录数据很多,在上述步骤(1)中需要上10次随机磁盘IO操作(IO操作次数与该目录下的文件数量相关)才能获得文件名对应的索引号,步骤(2)需要一次磁盘IO操作,步骤(3)需要的磁盘IO操作数则与对象数据量有关。可见,为了读取对象数据需要太多次磁盘IO操作,严重降低了OSD的性能。
虽然,将每个对象当做一个文件存放在OSD内,并将平坦的目录结构转换为树型的目录层次结构的方案中,减少了上一方案步骤(1)中的磁盘IO数。步骤(1)需要的磁盘IO操作次数与该文件所在目录层次结构的深度和它父目录包含的文件数有关,但是由于系统中的文件总数并没有改变,因此其需要的磁盘IO操作次数仍然很多。
发明人在实现本发明的过程中,发现利用现有的文件系统,将对象数据封装为传统的文件格式进行对象组织和管理的现有技术至少存在以下问题:
由于传统文件系统中能够保持的文件总数有限,将每个对象当做一个文件存储会受限于系统能够保存的文件总数;另外,将每个对象当做一个文件存储,每个文件都要求一个inode(几百个字节),内存使用效率不高,而且对象的访问总是需要多次磁盘IO操作,小对象的元数据访问会成为性能瓶颈,严重影响了OSD的性能。
发明内容
本发明的目的在于提供一种对象数据处理方法及系统,以提高对象数据处理性能,为此,本发明实施例采用以下技术方案:
一种对象数据处理方法,包括:
接收到写对象的命令后,在对象数据文件中写入该对象的对象块,并在与所述对象数据文件对应的元数据文件中写入该对象的元数据;
其中,在不超过所述对象数据文件的配额空间的情况下,所述对象数据文件能够存储多个对象。
一种对象数据处理装置,包括:
接口模块,用于接收写对象的命令;
写处理模块,用于在对象数据文件中写入该对象的对象块,并在与所述对象数据文件对应的元数据文件中写入该对象的元数据;
其中,在不超过所述对象数据文件的配额空间的情况下,所述对象数据文件能够存储多个对象。
采用本发明的上述实施例,通过将多个对象绑定为单个对象数据文件,减少了OSD内部的文件总数,一定程度上避免了文件数量众多以及平坦的目录结构导致的文件查找效率低、需要多次磁盘IO操作才能访问到对象的问题。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团公司,未经中国移动通信集团公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010623560.4/2.html,转载请声明来源钻瓜专利网。