[发明专利]一种高速对象并行存储系统目录复制方法无效
申请号: | 201110310368.4 | 申请日: | 2011-10-13 |
公开(公告)号: | CN102360382A | 公开(公告)日: | 2012-02-22 |
发明(设计)人: | 陈海涛;卢宇彤;肖婧;周恩强;张伟;张晓明;宋飞;田宝华 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 国防科技大学专利服务中心 43202 | 代理人: | 郭敏 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种高速对象并行存储系统目录复制方法,目的是解决对象并行存储系统的目录复制集中在客户结点实施,串行化过程导致时间开销大,数据复制过程需经过客户结点中转导致客户结点成为通信瓶颈等问题。技术方案为:构建目录复制系统,将目录复制任务分解为多个文件的复制任务,然后将文件复制任务分发到多个对象存储服务器并行执行,文件直接从源对象存储服务器复制到目的对象存储服务器,无需客户结点中转。采用本发明可大幅度减少复制时间,无需通过客户结点中转,避免了客户结点成为通信瓶颈,在复制过程中确保源文件和目标文件不在同一个对象存储服务器,避免了单点失效。 | ||
搜索关键词: | 一种 高速 对象 并行 存储系统 目录 复制 方法 | ||
【主权项】:
一种高速对象并行存储系统目录复制方法,其特征在于包括以下步骤:第一步,构建目录复制系统,目录复制系统是部署在对象存储系统上的目录复制软件,由目录复制任务管理模块、负载分配模块、文件复制执行模块组成;目录复制任务管理模块和负载分配模块部署在客户结点上,文件复制执行模块部署在所有的对象存储服务器上;目录复制任务管理模块负责接收目录复制命令,递归解析目录复制命令为普通目录复制命令,创建目标目录,向负载分配模块下达普通目录复制命令;负载分配模块负责接收普通目录复制命令,根据普通目录复制命令生成文件复制命令,检索源文件所在的对象存储服务器,将文件复制命令下达给源文件所在的对象存储服务器上的文件复制执行模块;文件复制执行模块接收文件复制命令,确定目标文件所在的对象存储服务器,执行文件复制操作;目录复制命令为操作系统提供的基本文件操作命令,将源目录下的所有文件和子目录均复制到目标目录,命令格式为cp srcdirA destdirB;一个文件目录包括文件和子目录,子目录下也可以包含文件和下级子目录;普通目录复制命令是文件操作命令,仅将源目录A下的所有文件复制到目标目录B,不复制源目录A下的子目录,命令格式为localcp srcdirA srcdirB;srcdirA和srcdirB均为绝对路径,绝对路径指文件系统中访问目录或者文件的完整路径;第二步,目录复制任务管理模块部署在客户结点,接收用户提交的目录复制命令cp srcdirA destdirB,设定输入参数为srcdirA和srcdirB,调用目录复制过程DirCopy进行目录复制;目录复制过程DirCopy为一个递归调用过程,输入参数为SRCDIR和DESTDIR,其中SRCDIR为源目录,DESTDIR为目标目录,目录复制过程DirCopy的流程如下:2.1、如果目标目录不存在,则创建目标目录DESTDIR;2.2、向负载分配模块下达普通目录复制命令localcp SRCDIR DESTDIR;2.3、读取源目录SRCDIR下的所有子目录名,每个子目录名为一个字符串,存入dirlist队列中,dirlist队列中每个单元为一个子目录名称的字符串;2.4、如果dirlist队列为空,则停止DirCopy的递归调用,转2.6步;2.5、从dirlist队列头开始逐个读取队列中的每个字符串,对每个字符串做以下处理:将该字符串赋值给workdir;构造源目录的绝对路径字符串Asrcdir,绝对路径字符串为SRCDIR、目录间隔符号“/”以及workdir三个字符串的合并,即Asrcdir=SRCDIR+“/”+workdir;构造目标目录的绝对路径字符串Adestdir,绝对路径字符串为DESTDIR、目录间隔符号“/”以及workdir三个字符串的合并,即Adestdir=DESTDIR+“/”+workdir;向元数据服务器MDS检索绝对路径为Adestdir的目标目录是否存在。如果目标目录Adestdir不存在,则向MDS申请创建目标目录Adestdir;递归调用目录复制过程DirCopy(Asrcdir,Adestdir);2.6、目录复制过程DirCopy结束;第三步,部署在客户结点上的负载分配模块接收目录复制任务管理模块下达的普通目录复制命令localcp SRCDIR DESTDIR,将普通目录复制命令分解为多个文件复制命令,并向源文件所在的对象存储服务器上的文件复制执行模块下达文件复制命令,执行步骤如下:3.1、读取源目录SRCDIR下的所有文件名,每个文件名作为一个字符串,存入filelist队列中,filerlist队列中每个单元为一个文件名称的字符串;3.2、如果filelist队列为空,则转第四步;3.3、从filelist队列头开始逐个读取队列中的每个字符串,对每个字符串做以下处理:将该字符串赋值给workfile;构造源文件的绝对路径字符串Asrcfile,绝对路径为SRCDIR、目录间隔符号“/”以及workfile三个字符串的合并,即Asrcfile=SRCDIR+“/”+workfile;构造目标文件的绝对路径字符串Adestfile,绝对路径为DESTDIR、目录间隔符号“/”以及workfile三个字符串的合并,即Adestfile=DESTDIR+“/”+workfile;向MDS检索绝对路径为Asrcfile的源文件所在的对象存储服务器,记为srcOST;向srcOST上的文件复制执行模块下达文件复制命令filecp Asrcfile Adestfile;第四步,文件复制执行模块接收负载分配模块下达的文件复制命令filecp Asrcfile Adestfile,多个文件复制执行模块并行执行文件复制操作。文件复制操作执行步骤如下:4.1、向MDS申请创建目标文件Adestfile,根据文件属性读取目标文件所在的destOST;4.2、如果destOST为文件复制执行模块所在的OST,则删除destfile,转4.1步;4.3、执行文件复制操作,将文件Asrcfile从本地OST复制到destOST。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201110310368.4/,转载请声明来源钻瓜专利网。
- 上一篇:一种梭形线圈绕制方法
- 下一篇:用于浸没单元调节的3-PSR-V并联机构