一种对象存储设备上的放置组的统一管理方法

文档序号:8339338阅读:357来源:国知局
一种对象存储设备上的放置组的统一管理方法
【技术领域】
[0001]本发明涉及一种对象存储设备技术领域,具体地说是一种对象存储设备上的放置组的统一管理方法。
【背景技术】
[0002]为了降低对象存储系统的整体运算量,提高系统性能。在建立存储对象与对象存储设备之间映射关系的过程中,引入了一个存储对象与对象存储设备之间的中间层,称之为放置组。放置组是一个逻辑概念,同属于一个放置组的存储对象将采用同样的放置规则,即分布到相同的对象存储设备上。
[0003]对象存储设备(Object-Based Storage Device,OSD)是一个用来存储对象的智能设备,具有独立的存储介质、处理器、内存以及网卡等,可以独立管理其自身的安全、存储和网络通信。通常认为一个对象存储设备就是一台完整的对象存储设备或存储服务器。
[0004]在基于两级哈希的对象存储系统中,采用哈希和一致性哈希两次哈希算法实现对象的定位。即对于给定的对象,通过其对象名称的哈希结果先确定所在的放置组,然后再对放置组使用一致性哈希确定放置组所在的0SD。这种方法能够降低对象定位过程中的运算量,特别是在存储节点发生宕机时,只需要重新计算放置组的一致性哈希结果即可找到所在的OSD。
[0005]综上所述,对象存储系统中OSD上的存储对象分别归属于OSD上的不同的放置组。以放置组为单位对OSD上的存储对象进行处理,可以高效地实现OSD上对象的处理。OSD上放置组的管理效率与正确性,很容易成为系统的瓶颈、甚至影响系统的部分功能。

【发明内容】

[0006]本发明的技术任务是提供一种对象存储设备上的放置组的统一管理方法;使用带有时间戳的放置组集合,来实现对象存储设备上的放置组的正确有效地管理。
[0007]本发明的技术任务是按以下方式实现的,一种对象存储设备上的放置组的统一管理方法,使用带有时间戳的放置组集合的方法实现对对象存储设备上的放置组进行正确有效地管理;在OSD启动时,将归属于该OSD上的放置组依次打上时间戳插入到集合中;需要将OSD上存储的对象进行处理时,按照时间顺序依次遍历集合中的放置组;取出一个放置组,处理完成后从集合中擦除,然后打上新的时间戳重新插入到集合中;放置组的增加或者减少,分别调用放置组注册和注销方法实现动态的插入或者擦除。
[0008]放置组注册:0SD初始化或者新增放置组时,需要将放置组按照时间戳插入到集合中;放置组注销:已经处理完成的放置组从集合中擦除;放置组迭代:按照时间戳的顺序依次处理集合中的放置组,处理完成的放置组需要从集合中擦除,然后打上新的时间戳之后,重新插入到集合中。
[0009](I)、结构体和集合的代码如下: struct Flusher{; utime_t flush_reg_stamp; // 注册时间戳;
}flusher ;
set< pair〈时间,放置组〉> last_flush_pg ;
(2)、放置组注册方法,伪代码实现如下:
void reg_last_pg_flush(spg_t pgid, utime_t t) {;last_flush_pg.1nsert(pair<utime_t, spg_t>(t, pgid));
};
(3)、放置组注销方法,伪代码实现如下:
void unreg_last_pg_flush(spg_t pgid, utime_t t) {;pair<utime_t, spg_t> p(t, pgid);
set〈pair〈utime_t, spg_t> >::1terator it = last_flush_pg.find(p);last_flush_pg.erase(it);
}o
[0010]本发明的一种对象存储设备上的放置组的统一管理方法,有益效果为:实现对象存储设备上放置组的统一管理,可以高效地实现OSD上对象的处理。
【附图说明】
[0011]下面结合附图对本发明进一步说明。
[0012]附图1为一种对象存储设备上的放置组的统一管理方法的放置组遍历示意图。
【具体实施方式】
[0013]参照说明书附图和具体实施例对本发明的一种对象存储设备上的放置组的统一管理方法作以下详细地说明。
[0014]实施例1:
本发明的一种对象存储设备上的放置组的统一管理方法,使用带有时间戳的放置组集合的方法实现对对象存储设备上的放置组进行正确有效地管理;在OSD启动时,将归属于该OSD上的放置组依次打上时间戳插入到集合中;需要将OSD上存储的对象进行处理时,按照时间顺序依次遍历集合中的放置组;取出一个放置组,处理完成后从集合中擦除,然后打上新的时间戳重新插入到集合中;放置组的增加或者减少,分别调用放置组注册和注销方法实现动态的插入或者擦除。
[0015]实施例2:
本发明的一种对象存储设备上的放置组的统一管理方法,使用带有时间戳的放置组集合的方法实现对对象存储设备上的放置组进行正确有效地管理;在OSD启动时,将归属于该OSD上的放置组依次打上时间戳插入到集合中;需要将OSD上存储的对象进行处理时,按照时间顺序依次遍历集合中的放置组;取出一个放置组,处理完成后从集合中擦除,然后打上新的时间戳重新插入到集合中;放置组的增加或者减少,分别调用放置组注册和注销方法实现动态的插入或者擦除。
[0016]放置组注册:0SD初始化或者新增放置组时,需要将放置组按照时间戳插入到集合中;放置组注销:已经处理完成的放置组从集合中擦除;放置组迭代:按照时间戳的顺序依次处理集合中的放置组,处理完成的放置组需要从集合中擦除,然后打上新的时间戳之后,重新插入到集合中。
[0017](I)、结构体和集合的代码如下: struct Flusher{;
utime—t flush—reg—stamp; // 注册时间戳;
}flusher ;
set< pair〈时间,放置组〉> last—flush—pg ;
(2)、放置组注册方法,伪代码实现如下:
void reg—last—pg—flush (spg—t pgid, utime_t t) {;last_f lush—pg.1nsert (pair〈utime_t,spg—t> (t,pgid));
};
(3)、放置组注销方法,伪代码实现如下:
void unreg—last—pg—flush (spg—t pgid, utime_t t) {;pair〈utime_t,spg—1> p(t,pgid);
set〈pair〈utime_t,spg—1> >::1terator it = last_flush—pg.find(p);last_f lush—pg.erase (it);
}o
[0018]通过上面【具体实施方式】,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的【具体实施方式】。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
【主权项】
1.一种对象存储设备上的放置组的统一管理方法,其特征在于使用带有时间戳的放置组集合的方法实现对对象存储设备上的放置组进行正确有效地管理;在OSD启动时,将归属于该OSD上的放置组依次打上时间戳插入到集合中;需要将OSD上存储的对象进行处理时,按照时间顺序依次遍历集合中的放置组;取出一个放置组,处理完成后从集合中擦除,然后打上新的时间戳重新插入到集合中;放置组的增加或者减少,分别调用放置组注册和注销方法实现动态的插入或者擦除。
2.根据权利要求1所述的一种对象存储设备上的放置组的统一管理方法,其特征在于放置组注册:0SD初始化或者新增放置组时,需要将放置组按照时间戳插入到集合中;放置组注销:已经处理完成的放置组从集合中擦除;放置组迭代:按照时间戳的顺序依次处理集合中的放置组,处理完成的放置组需要从集合中擦除,然后打上新的时间戳之后,重新插入到集合中。
3.根据权利要求1所述的一种对象存储设备上的放置组的统一管理方法,其特征在于(I)、结构体和集合的代码如下:struct Flusher{; utime_t flush_reg_stamp; // 注册时间戳;}flusher ; set< pair〈时间,放置组〉> last_flush_pg ; (2)、放置组注册方法,伪代码实现如下:void reg_last_pg_flush(spg_t pgid, utime_t t) {;last_flush_pg.1nsert(pair<utime_t, spg_t>(t, pgid));}; (3)、放置组注销方法,伪代码实现如下:void unreg_last_pg_flush(spg_t pgid, utime_t t) {;pair<utime_t, spg_t> p(t, pgid);set〈pair〈utime_t, spg_t> >::1terator it = last_flush_pg.find(p);last_flush_pg.erase(it); }o
【专利摘要】本发明公开了一种对象存储设备上的放置组的统一管理方法,属于对象存储设备技术领域,技术方案为:使用带有时间戳的放置组集合的方法实现对对象存储设备上的放置组进行正确有效地管理;在OSD启动时,将归属于该OSD上的放置组依次打上时间戳插入到集合中;需要将OSD上存储的对象进行处理时,按照时间顺序依次遍历集合中的放置组;取出一个放置组,处理完成后从集合中擦除,然后打上新的时间戳重新插入到集合中;放置组的增加或者减少,分别调用放置组注册和注销方法实现动态的插入或者擦除。本发明使用带有时间戳的放置组集合,来实现对象存储设备上的放置组的正确有效地管理。
【IPC分类】G06F3-06, G06F9-44
【公开号】CN104657089
【申请号】CN201510109078
【发明人】于涛, 魏盟
【申请人】浪潮集团有限公司
【公开日】2015年5月27日
【申请日】2015年3月13日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1