[发明专利]基于应用级代理的对象并行存储系统磁盘满异常容错方法有效
| 申请号: | 201310096834.2 | 申请日: | 2013-03-25 |
| 公开(公告)号: | CN103150225A | 公开(公告)日: | 2013-06-12 |
| 发明(设计)人: | 周恩强;张伟;卢宇彤;董勇;陈海涛;谢旻;曹宏嘉;蒋艳凰 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
| 主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F3/06 |
| 代理公司: | 湖南兆弘专利事务所 43008 | 代理人: | 赵洪;谭武艺 |
| 地址: | 410073 湖南省长沙市砚瓦池正*** | 国省代码: | 湖南;43 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 应用 代理 对象 并行 存储系统 磁盘 异常 容错 方法 | ||
1.一种基于应用级代理的对象并行存储系统磁盘满异常容错方法,其特征在于实施步骤如下:
1)在客户端的顶层应用和用于访问对象并行存储系统的文件系统客户端之间建立应用级代理层,用于代理顶层应用访问对象并行存储系统的操作;在所述应用级代理层中构造用于存储操作文件信息的代理层文件描述符,所述代理层文件描述符包括文件的描述符、打开方式、路径、文件名、“磁盘满”标志和补充文件描述符列表,所述“磁盘满”标志默认为假,所述补充文件描述符列表用于记录文件的所有补充文件的描述符列表;
2)在客户端的顶层应用发出文件操作请求时,所述应用级代理层接收顶层应用的文件操作请求并判断是否为写请求,如果是写请求则跳转执行步骤3),否则跳转执行步骤4);
3)判断写请求对应操作文件的“磁盘满”标志是否为真,如果非真则所述应用级代理层直接将写请求通过文件系统客户端发送给对象并行存储系统执行对操作文件的写操作,否则所述应用级代理层通过文件系统客户端获取操作文件及其补充文件,通过文件系统客户端对操作文件及其补充文件进行写操作;所述应用级代理层接收对象并行存储系统返回的写操作结果,如果写操作结果返回“磁盘满”错误则将操作文件的“磁盘满”标志设置为真,通过文件系统客户端为操作文件新建补充文件,将新建的补充文件加入操作文件的补充文件描述符列表,然后通过文件系统客户端获取操作文件及其补充文件,通过文件系统客户端对操作文件及其补充文件进行写操作,如果写操作结果未返回“磁盘满”错误则将写操作结果返回给顶层应用;
4)判断操作请求对应操作文件的“磁盘满”标志是否为真,如果非真则所述应用级代理层直接将操作请求通过文件系统客户端发送给对象并行存储系统执行对操作文件的操作,否则所述应用级代理层通过文件系统客户端获取操作文件及其补充文件,通过文件系统客户端对操作文件及其补充文件进行操作;所述应用级代理层接收到对象并行存储系统返回的操作结果后判断操作文件的“磁盘满”标志,如果操作文件的“磁盘满”标志为真,则根据操作文件及其补充文件的操作结果合并生成操作文件的操作结果并返回给顶层应用,否则直接将操作文件的操作结果返回给顶层应用。
2.根据权利要求1所述的基于应用级代理的对象并行存储系统磁盘满异常容错方法,其特征在于,所述步骤3)中通过文件系统客户端对操作文件及其补充文件进行写操作的详细步骤如下:
3.1)通过文件系统客户端将写操作的数据写入操作文件最后新建的补充文件;
3.2)将写操作的数据按照对象并行存储系统的底层数据块大小的整数倍拆分为多个子写请求,将所述多个子写请求针对操作文件和除最后新建的补充文件以外的其它补充文件进行写操作将所述操作文件和其它补充文件中的过时数据进行写操作覆盖。
3.根据权利要求2所述的基于应用级代理的对象并行存储系统磁盘满异常容错方法,其特征在于,所述步骤4)的详细步骤如下:
4.1)判断文件操作请求的类型,如果操作请求为创建文件请求,则跳转执行步骤4.2);如果操作请求为打开文件请求,则跳转执行步骤4.3);如果操作请求为读文件请求,则跳转执行步骤4.4);如果操作请求为关闭文件请求,则跳转执行步骤4.5);如果操作请求为删除文件请求,则跳转执行步骤4.6);如果操作请求为修改文件名请求,则跳转执行步骤4.7);如果操作请求为读取文件属性请求,则跳转执行步骤4.8);
4.2)代理执行创建文件请求:所述应用级代理层通过文件系统客户端将创建文件请求直接转发给对象并行存储系统,对象并行存储系统选择磁盘利用率较低的数据服务器创建文件,并向应用级代理层返回操作结果,所述应用级代理层通过代理层文件描述符记录返回的创建文件信息,设置操作文件的“磁盘满”标志为假,并将操作结果返回给顶层应用;
4.3)代理执行打开文件请求:所述应用级代理层通过文件系统客户端将打开文件请求转发给对象并行存储系统,并通过代理层文件描述符记录对象并行存储系统返回的操作结果;同时根据预设的补充文件保存策略通过文件系统客户端查找操作文件是否有补充文件判断操作文件的“磁盘满”标志,如果操作文件有补充文件,则依次打开这些补充文件、设置操作文件的“磁盘满”标志为真,将返回补充文件的描述符加入操作文件的补充文件描述符列表;如果操作文件没有补充文件,则设置操作文件的“磁盘满”标志为假;最终所述应用级代理层将操作结果返回给顶层应用;
4.4)代理执行读文件请求:所述应用级代理层判断操作文件的“磁盘满”标志是否为真,如果“磁盘满”标志为真,则所述应用级代理层通过文件系统客户端读取操作文件及其补充文件描述符列表中记录的所有补充文件,然后将读取的操作文件数据和补充文件数据进行位或操作并返回给顶层应用;如果“磁盘满”标志为假,则所述应用级代理层直接通过文件系统客户端读取操作文件数据并返回给顶层应用;
4.5)代理执行关闭文件请求:所述应用级代理层判断操作文件的“磁盘满”标志是否为真,如果“磁盘满”标志为真,则关闭操作文件及其补充文件描述符列表中记录的所有补充文件,否则仅关闭操作文件;最终所述应用级代理层将操作结果返回给顶层应用;
4.6)代理执行删除文件请求:所述应用级代理层判断操作文件的“磁盘满”标志是否为真,如果“磁盘满”标志为真,则所述应用级代理层直接通过文件系统客户端删除操作文件及其补充文件描述符列表中记录的所有补充文件,否则仅删除操作文件;最终所述应用级代理层将操作结果返回给顶层应用;
4.7)代理执行修改文件名请求:所述应用级代理层判断操作文件的“磁盘满”标志是否为真,如果“磁盘满”标志为真,则所述应用级代理层通过文件系统客户端修改操作文件的文件名及其补充文件描述符列表中记录的所有补充文件的文件名,否则仅修改操作文件的文件名;最终所述应用级代理层将操作结果返回给顶层应用;
4.8)代理执行读取文件属性请求:所述应用级代理层判断操作文件的“磁盘满”标志是否为真,如果“磁盘满”标志为真,则所述应用级代理层通过文件系统客户端读取操作文件的文件属性,通过文件系统客户端获取操作文件及其补充文件描述符列表中记录所有补充文件中的文件大小的最大值修改所述文件属性中的文件大小,通过文件系统客户端获取操作文件及其补充文件描述符列表中记录所有补充文件占据磁盘空间的块数总和修改所述文件属性中的占据磁盘空间块数,最终所述应用级代理层将修改后的文件属性作为操作结果返回给顶层应用;如果“磁盘满”标志为假,则所述应用级代理层通过文件系统客户端读取操作文件的文件属性作为返回的操作结果,并将操作结果返回给顶层应用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310096834.2/1.html,转载请声明来源钻瓜专利网。





