用户空间文件系统的文件操作方法及用户空间文件系统技术方案

技术编号:33251318 阅读:29 留言:0更新日期:2022-04-27 18:14
本发明专利技术公开了一种用户空间文件系统的文件操作方法及用户空间文件系统,方法包括:虚拟文件系统接收应用程序发送的对用户空间文件系统中的目标文件的文件操作请求,并将文件操作请求发送至用户空间文件系统对应的目标驱动模块;目标驱动模块开启扩展过滤器,以调用与文件操作请求相对应的插桩函数来对底层文件系统执行相应的文件操作,并根据操作结果对内核中的共享数据区域进行数据更新;以及用户空间守护进程从共享数据区域获取数据更新结果,并将数据更新结果发送至应用程序。根据本发明专利技术的技术方案,能够有效降低用户空间与内核之间的数据交互频次,有利于降低系统开销。有利于降低系统开销。有利于降低系统开销。

【技术实现步骤摘要】
用户空间文件系统的文件操作方法及用户空间文件系统


[0001]本专利技术涉及文件系统
,尤其涉及一种用户空间文件系统的文件操作方法、用户空间文件系统及计算设备。

技术介绍

[0002]FUSE(Filesystem in Userspace,用户空间文件系统)是一个实现在用户空间的文件系统框架,其中包括FUSE内核模块、用户空间库Libfuse以及用户程序模块。基于FUSE内核模块的支持,开发者只需要根据FUSE提供的接口实现具体的文件操作就可以实现一个文件系统。
[0003]由于FUSE的主要实现代码位于用户空间,不需要重新编译内核,从而给开发者带来了众多便利。但,FUSE在性能上的开销较大。同样的文件操作(例如文件查找、打开、读取、写入等操作)在本地系统的开销和延时度远远小于FUSE文件系统,这是由于FUSE本身的机制决定的。
[0004]根据现有技术中的FUSE文件系统的实现方案,在FUSE文件系统中内核更多是作为一个中转的角色,其接收用户操作的类型、文件名、设备编号,然后将这些参数发送给Fuse Daemon继续执本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种用户空间文件系统的文件操作方法,在计算设备中执行,所述计算设备的操作系统包括内核、布置在内核之上的用户空间,所述用户空间运行有应用程序、用户空间守护进程,所述内核中布置有虚拟文件系统以及用户空间文件系统对应的目标驱动模块,所述方法包括步骤:虚拟文件系统接收所述应用程序发送的对用户空间文件系统中的目标文件的文件操作请求,并将文件操作请求发送至所述目标驱动模块;目标驱动模块开启扩展过滤器,以调用与所述文件操作请求相对应的插桩函数来对底层文件系统执行相应的文件操作,并根据操作结果对内核中的共享数据区域进行数据更新;以及用户空间守护进程从所述共享数据区域获取数据更新结果,并将所述数据更新结果发送至所述应用程序。2.如权利要求1所述的方法,其中,在调用与所述文件操作请求相对应的插桩函数之前,包括步骤:通过用户空间守护进程实现相应的文件操作函数结构体,并对所述文件操作函数结构体进行解析以得到相应的一个或多个插桩函数;基于所述插桩函数在内核中进行插桩,其中,每个插桩函数对应一种文件操作。3.如权利要求2所述的方法,其中,对所述文件操作函数结构体进行解析以得到相应的一个或多个插桩函数之后,还包括步骤:为每个插桩函数分配一个函数编号;在内核中建立插桩函数与函数编号之间的映射关系,生成函数映射表。4.如权利要求1

3中任一项所述的方法,其中,所述共享数据区域与用户空间守护进程进行了绑定。5.如权利要求1

3中任一项所述的方法,其中,在通过目标驱动模块开启扩展过滤器之后,还包括步骤:在内核中创建共享数据区域,经由用户空间库将所述共享数据区域与用户空间守护进程进行绑定。6.如权利要求1

3中任一项所述的方法,其中,所述共享数据区域采用Map数据结构来建立和存储每个文件的文件描述符与文件属性信息的映射关系。7.如权利要求1

3中任一项所述的方法,其中,用户空间守护进程从共享数据区域获取数据更新结果的步骤包括:用户空间守护进程轮询共享数据区域以检测所述共享数据区域的数据是否更...

【专利技术属性】
技术研发人员:刘欢
申请(专利权)人:广东统信软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1