[发明专利]一种集群文件系统优化对文件描述符使用效率的方法有效

专利信息
申请号: 201910216988.8 申请日: 2019-03-21
公开(公告)号: CN109947732B 公开(公告)日: 2022-10-11
发明(设计)人: 陈国平;吕康东;童晖;朱明胜;李迪;孙昊;戎军飞 申请(专利权)人: 昆山九华电子设备厂
主分类号: G06F16/182 分类号: G06F16/182;G06F16/185
代理公司: 北京科亿知识产权代理事务所(普通合伙) 11350 代理人: 汤东凤
地址: 215000 江苏*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 集群 文件系统 优化 文件 描述 使用 效率 方法
【权利要求书】:

1.一种集群文件系统优化对文件描述符使用效率的方法,包括分布式集群文件系统,其特征在于:所述分布式集群文件系统包括堆栈式架构和多层功能层,所述堆栈式架构连接顶端连接有客户端以及连接底端连接有服务器磁盘,多层所述功能层包括应用程序、open文件描述符优化层和存储介质,所述集群文件系统优化文件描述符使用效率的方法步骤如下:

S101、对于第一种操作命令:开始,应用程序下发open文件操作,该操作直接到达集群文件系统中的open文件描述符优化层,open文件描述符优化层收到open命令,并不真正的直接去存储介质上对该文件执行open操作获取文件描述符,检查对应inode是否已经存在打开文件;

S102、如果该文件尚未被打开,则集群文件系统文件描述符优化层保存文件相关信息,并将其信息保存到描述该文件信息相关的结构体struct ob_fd_t中,操作成功返回给应用程序;

S103、当检查对应inode已经存在打开文件时,对于后一种write、read操作命令以及被打开文件再次执行open操作,open文件描述符优化层收到open命令,当命令下发到集群文件系统中时,将下发的操作命令及相关信息创建成一个任务,然后下发open操作去存储介质上获取fd相关延迟打开结构体ob;

S104、若获取fd相关延迟打开结构体ob信息失败,则直接执行解析任务;若获取文件描述符fd相关延迟打开结构体ob信息成功,则判断ob是否执行open失败过;

S105、若ob执行open失败过,则销毁任务,对调用命令返回错误码表示对应fd操作失败,然后结束;若ob执行open没有失败过,则将任务加入到struct ob_fd_t结构体的任务链表中,并且注册回调函数ob_wake_cbk,使用ob结构体重的参数下发open命令,然后结束;

S106、使用ob结构体重的参数下发open命令后,异步回调,取出fd对应结构体ob中的任务链表,判断open是否执行成功;

S107、若open执行成功,则销毁ob,然后遍历任务链表;若open执行失败,则将错误码记录在ob中,然后遍历取出的对应文件描述符fd的任务链表,获取链表中对应任务后下发对该文件的write、read操作;

S108、遍历任务链表后,从链表中去除当前节点,判断open是否执行成功,若成功,则解析该节点任务并执行,遍历结束,则直接操作返回结果给应用程序;若失败,则对该节点任务返回错误码表示对应fd操作失败,然后重新遍历任务链表,当write、read文件操作完成后,遍历结束,则直接操作返回结果给应用程序。

2.根据权利要求1所述的一种集群文件系统优化对文件描述符使用效率的方法,其特征在于:所述堆栈式架构用于将多层功能层一一堆叠起来的,每一层功能层都只实现一个单一的功能,且每一层功能层接受上一层功能层传来的数据。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于昆山九华电子设备厂,未经昆山九华电子设备厂许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910216988.8/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top