云操作系统分布式存储中文件存储方法

文档序号:7858685阅读:211来源:国知局
专利名称:云操作系统分布式存储中文件存储方法
技术领域
本发明涉及云计算存储技术领域,特别是云操作系统分布式存储中文件存储方法。
背景技术
云操作系统能对包括处理器、存储、网络在内的硬件资源进行统一管理。在当前的云操作系统应用部署中,数据存储主要有两种用途(I)用户接口存储,即提供给用户所使用的存储;(2)系统所需存储,例如虚拟机镜像存储。由于数据存储是关键性能点,通常会采用分布式存储架构。在云操作系统管理的分布式存储中,通常会将文件分成多个块,然后将每个分块生成多个副本,并分散存放在数据节点上。在定位到存储副本的数据节点时,通常会依赖元数据服务器进行分块布局的管理,即在元数据服务器产生并存储分块与该分块对应到的数 据节点的映射关系。当读写文件时,访问流程通常首先会访问元数据服务器,获取该文件的布局,然后再从相应的数据节点获取各分块,最后“组装”成整个文件。使用文件布局使文件读写效率低,文件读写都需要经过元数据服务器产生或获取文件布局;再根据文件布局,进行数据块的读写。

发明内容
本发明解决的技术问题在于克服文件布局的缺陷,使文件读写流程无需涉及文件布局的云操作系统分布式存储中文件存储方法。本发明解决上述技术问题的技术方案是包括以下步骤,对基础设施记性分层编号,基于一个典型的IDC机房,对存储基础设施进行分层次的编号设置;第一层是行,行与机房中一排机柜相对应,一行对应多个机柜,同时一个机房可有多行;第二层是行中的机柜,每个机柜在特定的行中进行编号;第三层是机柜中硬盘,每个硬盘都在特定的机柜中,硬盘编号的方式可采用顺序编号的方式;将文件分块;基于副本放置策略,形成文件块的副本放置规则;按照副本放置规则,对副本进行函数映射。读取函数映射的具体流程第I步,确定需要进行函数映射的分块,然后进行后续的分层次的函数映射;第2步,第一层进行行的映射,即确定分块将要存放到的行,在进行第一层函数映射时,可能遇到冲突,即映射到的行已经占满或失效,此时,需要进行重新映射以避免冲
关;第3步,第二层进行行中机柜的映射,即确定分块将要存放到的机柜号,在进行第二层函数映射时,可能遇到冲突,即映射到的机柜已经占满或失效,此时,需要进行重新映射以避免冲突;
第4步,第三层进行机柜中硬盘号的映射,即确定分块将要存放到的硬盘号。在进行函数映射时,可能遇到冲突,即映射到的硬盘已经占满或失效,此时,需要进行重新映射以避免冲关。本发明面向云操作系统的分布式存储,针对文件布局所引发的数据读写效率低的问题,提出一种用函数映射代替文件布局的方法;使文件读写流程无需涉及文件布局,可通过函数映射的方式直接获取数据分块的物理位置,从而提高文件读写效率。本发明有效解决了文件布局中数据读写流程过于复杂、读写效率低的问题。


图I是本发明分布式存储文件读取函数映射系统架构示意图;图2是本发明分布式存储文件读取函数映射流程示意图。
具体实施例方式如图I所示,本发明引入用函数映射代替文件布局的系统架构,通过对存储基础设施进行分层次的编号设置,利用函数映射来去掉文件布局的元数据,从而提升文件读写效率。分布式存储采用廉价硬盘进行搭建,基于一个典型的IDC机房,对存储基础设施进行分层次的编号设置。第一层是行,行与机房中一排机柜相对应,一行对应多个机柜,同时一个机房可有多行。第二层是行中的机柜,每个机柜在特定的行中进行编号,例如机柜22表示是第二行的第二个机柜。第三层是机柜中硬盘,每个硬盘都在特定的机柜中,硬盘编号的方式可采用顺序编号的方式。在将文件进行分块后,需要将各个分块的多个副本存储到硬盘中,如图2所示,执 行如下流程第I步,确定需要进行函数映射的分块,然后进行后续的分层次的函数映射;第2步,第一层进行行的映射,即确定分块将要存放到的行,在进行第一层函数映射时,可能遇到冲突,即映射到的行已经占满或失效,此时,需要进行重新映射以避免冲
关;第3步,第二层进行行中机柜的映射,即确定分块将要存放到的机柜号,在进行第二层函数映射时,可能遇到冲突,即映射到的机柜已经占满或失效,此时,需要进行重新映射以避免冲突;第4步,第三层进行机柜中硬盘号的映射,即确定分块将要存放到的硬盘号。在进行函数映射时,可能遇到冲突,即映射到的硬盘已经占满或失效,此时,需要进行重新映射以避免冲关。本发明是根据负载均衡原则制定副本放置规则,进而根据放置规则形成映射函数。一般而言,副本放置应使分块以及副本在层次设备的底层设备硬盘上尽量均匀分布,即使是刚插入的新硬盘,也应该在新老硬盘上将数据尽量均匀分布。定义选择η个类型为t的设备的映射函数select (n, t)如下procedure select (n, t)for i=l to nrepeat
根据映射函数确定第i个设备;until不出现冲突end forend procedure例如,如果要进行I个分块的3个副本的函数映射,可参照图2所示的函数映射流程图,进行如下步骤的文件分块的函数映射。第I步,确定副本放置规则,在此,提出副本放置规则在同一行中放置同一分块的所有副本能更快地读写;第2步,进行第一层函数映射,根据第I步中设定的副本放置规则,可确定调用映射函数select (1,行),确定副本待要放置的行号; 第3步,进行第二层函数映射,调用映射函数select (3,机柜),确定副本待要放置的3个机柜号;第4步,进行第三层函数映射,调用映射函数select (I,硬盘)3次,确定在副本将要放置的在每个机柜中的硬盘号。
权利要求
1.云操作系统分布式存储中文件存储方法,其特征在于包括以下步骤, 对基础设施记性分层编号,基于一个典型的IDC机房,对存储基础设施进行分层次的编号设置;第一层是行,行与机房中一排机柜相对应,一行对应多个机柜,同时一个机房可有多行;第二层是行中的机柜,每个机柜在特定的行中进行编号;第三层是机柜中硬盘,每个硬盘都在特定的机柜中,硬盘编号的方式可采用顺序编号的方式; 将文件分块;基于副本放置策略,形成文件块的副本放置规则; 按照副本放置规则,对副本进行函数映射。
2.根据权利要求I所述的方法,其特征在于读取函数映射的具体流程 第I步,确定需要进行函数映射的分块,然后进行后续的分层次的函数映射; 第2步,第一层进行行的映射,即确定分块将要存放到的行,在进行第一层函数映射时,可能遇到冲突,即映射到的行已经占满或失效,此时,需要进行重新映射以避免冲突; 第3步,第二层进行行中机柜的映射,即确定分块将要存放到的机柜号,在进行第二层函数映射时,可能遇到冲突,即映射到的机柜已经占满或失效,此时,需要进行重新映射以避免冲突; 第4步,第三层进行机柜中硬盘号的映射,即确定分块将要存放到的硬盘号。在进行函数映射时,可能遇到冲突,即映射到的硬盘已经占满或失效,此时,需要进行重新映射以避免冲突。
全文摘要
本发明涉及云计算存储技术领域,特别是云操作系统分布式存储中文件存储方法。本发明首先提出对存储基础设施进行分层次管理的系统架构,然后基于副本放置策略,形成副本放置规则,进而提出针对副本的函数映射的流程方法。通过本专利提出的函数映射方法,可简化读写流程,并提升文件读写效率。可应用于云操作系统分布式存储中。
文档编号H04L29/08GK102868725SQ201210303290
公开日2013年1月9日 申请日期2012年8月23日 优先权日2012年8月23日
发明者刘祥涛, 陈桂华, 岳强, 季统凯 申请人:广东电子工业研究院有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1