[发明专利]Windows用户文件系统开发框架搭建方法、系统及其应用有效
申请号: | 202210072604.1 | 申请日: | 2022-01-21 |
公开(公告)号: | CN114090072B | 公开(公告)日: | 2022-04-26 |
发明(设计)人: | 谢俊峰;黄传波;周家劲;钱禹航;冯威;谢卓伟 | 申请(专利权)人: | 成都云祺科技有限公司 |
主分类号: | G06F8/73 | 分类号: | G06F8/73;G06F8/30;G06F16/16 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 610041 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | windows 用户 文件系统 开发 框架 搭建 方法 系统 及其 应用 | ||
本发明涉及一种Windows用户文件系统开发框架搭建方法、系统及其应用。所述方法包括:在用户层创建编有动态链接库的后台服务进程,动态链接库提供编程接口;将内核驱动与内核态文件系统绑定;在内核驱动创建过滤单元、队列管理单元和控制单元;控制单元设置I/O请求处理反馈例程,设置内核态文件系统控制例程,并通过ioctl控制码与编程接口进行编码交互。所述系统包括:第一创建模块;绑定模块;第二创建模块;控制单元设置模块;过滤分类模块;队列保存模块;I/O请求提取传递模块。本发明通过内核层过滤驱动和运行环境库支持,对外暴露开发编程接口,将内核态文件系统的实现部分放在用户层处理,降低了Windows用户文件系统的开发难度。
技术领域
本发明属于软件开发技术领域,尤其涉及一种Windows用户文件系统开发框架搭建方法、系统及其应用。
背景技术
文件系统即存储设备或分区上的文件的方法和数据结构,Windows系统下常用的文件系统有NTFS、FAT32、exFat等,Linux/Unix下常用的文件系统有XFS、EXT4等。随着信息产业的不断变革,对数据的重视程度与日俱增,在Windows使用一个适配特定业务环境的文件系统用于组织数据是一个热门问题。
目前,Linux系统平台下开发特定业务使用场景的文件系统的常用方式是使用第三方开源软件Fuse搭建用户态文件系统,受限于Windows未开源环境的限制,Fuse在Windows平台的适配性不强,Windows开发用户态文件系统较为不易;另外由于Windows内核源码的未开源,开发一个适配Windows环境的内核文件系统较为困难,学习成本高。
因此,如何在Windows平台较为高效便捷的开发一个特定业务场景的文件系统是亟需解决的技术问题。
发明内容
本发明为了解决上述背景技术中的技术问题,本发明提供一种Windows用户文件系统开发框架搭建方法、系统及其应用。所述技术方案如下:
第一个方面,提供了一种Windows用户文件系统开发框架搭建方法,所述方法包括步骤:
在用户层创建编有动态链接库的后台服务进程,所述动态链接库提供封装ioctl操作对应函数的编程接口;
将内核驱动与内核态文件系统绑定;
在内核驱动创建过滤单元、队列管理单元和控制单元;
所述控制单元设置I/O请求处理反馈例程,设置内核态文件系统控制例程,并通过ioctl控制码与所述编程接口进行编码交互;
当下发I/O请求时,所述过滤单元拦截所述I/O请求,并对所述I/O请求进行分类;
所述队列管理单元保存经所述过滤单元分类后的I/O请求;
所述控制单元从所述队列管理单元中提取保存的I/O请求进行处理和管理,并通过所述I/O请求处理反馈例程将处理结果传递给用户层。
进一步,所述将内核驱动与内核态文件系统绑定步骤,包括:
所述内核驱动创建卷控制设备对象、卷过滤设备对象和注册设备对象;
所述控制过滤设备对象绑定内核态文件系统的驱动控制设备;
所述卷过滤设备对象绑定内核态文件系统的驱动卷设备;
所述注册设备对象在内核态文件系统设备管理器中注册并赋名。
进一步,所述控制单元通过ioctl控制码与所述编程接口进行编码交互步骤,包括:
所述控制单元设置ioctl控制码;
所述控制单元将所述ioctl控制码引入头文件,共享用户层编码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都云祺科技有限公司,未经成都云祺科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210072604.1/2.html,转载请声明来源钻瓜专利网。