一种数据操作方法、设备及元数据存储设备的制造方法

文档序号:8430787阅读:446来源:国知局
一种数据操作方法、设备及元数据存储设备的制造方法
【技术领域】
[0001]本发明涉及数据存储技术领域,尤其涉及一种数据操作方法、设备及元数据存储设备。
【背景技术】
[0002]对象存储系统通常由对象存储设备(Object-based Storage Device, OSD)、文件系统和元数据服务器(Meta Data Server, MDS)等部分组成。具有高速直接访问和数据共享等优势,提供了高可靠性、跨平台性以及安全的数据共享的存储体系结构。
[0003]在对象存储系统中,对象以主/从副本的形式存储在OSD中,元数据存储在MDS中,元数据中保存有对象在OSD中的位置信息。读写流程是客户端(Client)、MDS、0SD三者之间的交互过程。读取数据时,Client先从MDS中读取元数据,获取对象的各个副本的位置信息,然后任意选择一个副本,根据该副本的位置信息,到相应的OSD中读取对象。写数据时,Client先从MDS中读取元数据,获取对象的主副本的位置信息,向主副本进行写数据操作,然后由主副本同步到从副本。当某个对象缺失或新增副本时,副本的位置信息发生变化,元数据也要做相应的修改。主从副本切换、节点或磁盘失效等等都需要修改元数据中的副本位置信息。
[0004]元数据的存储和组织方式直接影响到数据读写的效率,特别是数据读取的效率。
[0005]现有的一种元数据存储和组织方式为,建立唯一的关于副本位置信息的元数据表。相应的,元数据的存储多采用分布式数据库,在分布式数据库中建立唯一的关于副本位置信息的Locat1n元数据表。该Locat1n元数据表分块存储在分布式数据库中。该方案的优势是提升了元数据的可靠性,但是在元数据表过大的情况下,元数据的查找效率不理想,在元数据表中检索和定位信息需要的时间较长,从而限制了对象数据的读写。
[0006]现有的另一种元数据存储和组织方式为,对元数据表建立缓存。所缓存的元数据一般为读写次数较多的热点数据,也会存储过去一段时间内访问过的元数据。为元数据建立缓存的方法能提高元数据访问效率,缺陷是会占用大量内存,并且元数据的可靠性很难保证。

【发明内容】

[0007]本发明的目的是提供一种数据操作方法、设备及元数据存储设备,以解决现有的元数据存储和组织方式无法兼顾元数据的可靠性以及读写效率的问题。
[0008]本发明的目的是通过以下技术方案实现的:
[0009]一种数据操作方法,包括:
[0010]从元数据存储设备中保存的一组对象存储设备存储的副本的位置信息中,获取第一目标对象的副本的位置信息;
[0011]根据获取的第一目标对象的副本的位置信息,读取第一目标对象的数据。
[0012]其中,元数据存储设备的硬盘中分别保存对象存储系统中每组对象存储设备存储的副本的位置信息。
[0013]由于每组对象存储设备存储的副本的位置信息分别保存,从一组对象存储设备存储的位置信息中查找第一目标对象的副本的位置信息,其效率远远高于从全部副本的位置信息中查找第一目标对象的副本的位置信息。另外,由于元数据保存在元数据存储设备的硬盘中,而非缓存元数据,从而保证了元数据存储的可靠性。
[0014]较佳地,每组对象存储设备存储的副本的位置信息分别以一个元数据表的形式保存在元数据存储设备的硬盘中。
[0015]较佳地,还可以从上述元数据存储设备的硬盘中保存的一组位置信息中,获取第二目标对象的副本的位置信息,这一组位置信息为上述对象存储系统中所有副本的位置信息;根据获取的第二目标对象的副本的位置信息,对第二目标对象的副本进行写操作或修改操作。
[0016]较佳地,对象存储系统中所有副本的位置信息以一个元数据表的形式保存在元数据存储设备的硬盘中。
[0017]因为对象存储设备OSD被分成若干个组之后,会有基于组所做的操作,例如以组为单位将对象存储设备重启、同组的OSD连接在同一个交换机上。这些场景下,如果出现多个OSD失效,那很有可能是以组为单位的,也就是一组OSD都失效了。为了保证一组OSD停服务时,对象至少有一个副本是可用的,基于上述任意方法实施例,较佳地,一个对象的所有副本存储在不同组的对象存储设备中。其中,只要保证不是所有的副本存放在相同的对象存储设备中即可。优选的,各个副本分别存放在不同的对象存储设备中。
[0018]基于上述任意方法实施例,较佳地,相同逻辑机架号的对象存储设备被划分为一组。
[0019]基于与方法同样的发明构思,本发明实施例还提供一种数据操作设备,包括:
[0020]位置信息读取单元,用于从元数据存储设备中保存的一组对象存储设备存储的副本的位置信息中,获取第一目标对象的副本的位置信息,元数据存储设备的硬盘中分别保存对象存储系统中每组对象存储设备存储的副本的位置信息;
[0021]数据操作单元,用于根据获取的第一目标对象的副本的位置信息,读取第一目标对象的数据。
[0022]由于每组对象存储设备存储的副本的位置信息分别保存,从一组对象存储设备存储的位置信息中查找第一目标对象的副本的位置信息,其效率远远高于从全部副本的位置信息中查找第一目标对象的副本的位置信息。另外,由于元数据保存在元数据存储设备的硬盘中,而非缓存元数据,从而保证了元数据存储的和可靠性。
[0023]较佳地,每组对象存储设备存储的副本的位置信息分别以一个元数据表的形式保存在元数据存储设备的硬盘中。
[0024]较佳地,位置信息读取单元还用于:从元数据存储设备的硬盘中保存的一组位置信息中,获取第二目标对象的副本的位置信息,这一组位置信息为对象存储系统中所有副本的位置信息;数据操作单元还用于:根据获取的第二目标对象的副本的位置信息,对第二目标对象的副本进行写操作或修改操作。
[0025]较佳地,对象存储系统中所有副本的位置信息以一个元数据表的形式保存在元数据存储设备的硬盘中。
[0026]较佳地,一个对象的所有副本存储在不同组的对象存储设备中。其中,只要保证不是所有的副本存放在相同的对象存储设备中即可。优选的,各个副本分别存放在不同的对象存储设备中。
[0027]较佳地,相同逻辑机架号的对象存储设备被划分为一组。
[0028]本发明实施例还提供一种元数据存储设备,包括:
[0029]第一硬盘存储单元,用于以保存对象存储系统中所有副本的位置信息;
[0030]第二硬盘存储单元,用于分别保存对象存储系统中每组对象存储设备存储的副本的位置信息。
[0031]由于每组对象存储设备存储的副本的位置信息分别保存。在读取过程中,从一组对象存储设备存储的位置信息中查找第一目标对象的副本的位置信息,其效率远远高于从全部副本的位置信息中查找第一目标对象的副本的位置信息。另外,由于元数据保存在元数据存储设备的硬盘中,而非缓存元数据,从而保证了元数据存储的和可靠性。
[0032]较佳地,对象存储系统中所有副本的位置信息以一个元数据表的形式保存在述第一硬盘存储单元中;每组对象存储设备存储的副本的位置信息分别以一个元数据表的形式保存在第二硬盘存储单元中。
[0033]较佳地,一个对象的所有副本存储在不同组的对象存储设备中。其中,只要保证不是所有的副本存放在相同的对象存储设备中即可。优选的,各个副本分别存放在不同的对象存储设备中。
[0034]基于上述任意元数据存储设备实施例,较佳地,相同逻辑机架号的对象存储设备被划分为一组。
【附图说明】
[0035]图1为本发明实施例提供的OSD分组架构及元数据存储方式示意图;
[0036]图2为本发明实施例提供的方法流程图;
[0037]图3为本发明实施例提供的数据操作设备示意图;
[0038]图4为本发明实施例提供的元数据存储设备示意图。
【具体实施方式】
[0039]下面结合附图,对本发明实施例提供的技术方案进行详细说明。
[0040]本发明实施例提供的方案基于对OSD进行分组
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1