本发明专利技术公开一种虚拟文件系统及其实现方法。该虚拟文件系统包括:应用程序权限数据库,用于存储应用程序的文件权限信息;系统植入模块,用于实现与操作系统内核的文件系统的对接;文件系统流转引擎根据所述应用程序权限数据库存储的应用程序的文件权限信息拒绝或者允许应用程序的文件操作,当允许应用程序的文件操作时,通过文件流转引擎拦截或转发文件操作。通过在文件系统和应用程序之间引入虚拟层,在应用程序尝试获取文件系统中数据时,需要经过本发明专利技术中的虚拟层模块,根据其应用程序所拥有的权限,通过对文件系统请求进行转发、重定向、在给定权限中执行等操作。
【技术实现步骤摘要】
一种虚拟文件系统及其实现方法
本专利技术涉及系统虚拟化技术,尤其涉及一种虚拟文件系统及其实现方法。
技术介绍
文件系统的诞生是和计算机发展路线相辅相成的。早期,采用通过具体操作硬件接口直接读取存储媒介的办法,不同应用、不同硬件采用不同的存储办法。后来引入了简单文件系统如FAT(FileAllocationTable,文件分配表)分区等,实现了简单的文件管理。再往后,操作系统中集合了文件系统功能,并将文件系统管理功能形成了现在通用的结构。但是,文件系统的基本功能目标从诞生之初就没有变化,即仅仅是一个文件信息的索引存储,难以适应现代化的业务需求。Linux中提供了VFS(VirtualFileSystem,虚拟文件系统)功能,能够让操作系统在同一的API(ApplicationProgrammingInterface,应用程序编程接口)接口下,实现对不同文件存储媒介的访问,如磁盘、磁带、Flash存储等,也可以实现对同一媒介中不同磁盘分区的访问,如NTFS(NewTechnologyFileSystem,新技术文件系统)、EXT2、Yaffs、NFS(NetworkFileSystem,网络文件系统)等,较传统操作系统有进步,但是还是无法实现更迅速的业务变更和业务支撑能力。当前的文件系统中,应用程序通过API可以直接访问目录结构和文件信息,对于应用程序的内容访问控制、安全权限访问控制功能则有局限,无法精确控制应用程序所能访问的资源。在当前的嵌入式开发中,开源代码的应用越来越广泛,但是不同开源代码架设的系统环境不尽相同,为移植带来了困扰,也带来了安全隐患。专利技术内容本专利技术要解决的一个技术问题是提供一种虚拟文件系统,可以提高系统安全性。本专利技术提供一种虚拟文件系统,包括:应用程序权限数据库,用于存储应用程序的文件权限信息;系统植入模块,用于实现与操作系统内核的文件系统的对接,实现用户接口同原操作系统的用户系统匹配、对操作系统内核的文件系统的文件操作进行封装;文件系统流转引擎,用于接收来自应用程序的文件操作请求,根据所述应用程序权限数据库存储的应用程序的文件权限信息拒绝或者允许应用程序的所述文件操作,当允许应用程序的所述文件操作时,通过所述系统植入模块实现所述文件操作。根据本专利技术的虚拟文件系统的一个实施例,文件系统流转引擎还根据应用程序的文件权限信息对文件内容执行过滤文件操作。根据本专利技术的虚拟文件系统的一个实施例,还包括文件映射数据库,用于存储应用程序的文件映射位置;所述文件系统流转引擎还用于根据所述文件映射数据库存储的应用程序的文件映射位置进行转发文件操作。根据本专利技术的虚拟文件系统的一个实施例,还包括兼容数据库,用于存储不同操作系统之间文件系统环境的差别和兼容性方式;所述文件系统流转引擎根据所述兼容数据库存储的信息实现所述应用程序的文件操作对不同操作系统的兼容。根据本专利技术的虚拟文件系统的一个实施例,虚拟文件系统基于中间件虚拟机实现,或者在嵌入式LINUX系统中通过扩展VFS实现,也能其他操作系统(ucOS、vxworks等)的文件系统中扩展实现。本专利技术的虚拟文件系统,由文件系统流转引擎基于应用程序权利数据库存储的应用程序的文件权限信息对应用程序的文件操作请求进行权限控制,提高了对应用程序的文件操作的安全性。本专利技术要解决的一个技术问题是提供一种虚拟文件系统的实现方法,可以提高系统安全性。本专利技术提供一种虚拟文件系统的实现方法,包括:接收来自应用程序的文件操作请求;根据存储的应用程序的文件权限信息拒绝或者允许应用程序的所述文件操作;当允许应用程序的所述文件操作时,通过文件流转引擎拦截或转发所述文件操作。本专利技术提供一种虚拟文件系统的实现方法的一个实施例,还包括:根据应用程序的文件权限信息对文件内容执行过滤文件操作。本专利技术提供一种虚拟文件系统的实现方法的一个实施例,还包括:根据文件映射数据库存储的应用程序的文件映射位置进行转发文件操作。本专利技术提供一种虚拟文件系统的实现方法的一个实施例,还包括:通过兼容数据库存储不同操作系统之间文件系统环境的差别和兼容性方式;根据所述兼容数据库存储的信息实现拦截所述应用程序的文件操作,改写其面向的文件目录视图,实现对不同操作系统的兼容。本专利技术提供一种虚拟文件系统的实现方法的一个实施例,虚拟文件系统基于中间件虚拟机实现,或者在LINUX系统中通过扩展VFS实现。本专利技术提供的虚拟文件系统的实现方法,基于应用程序的文件权限信息对应用程序的文件操作进行控制,提高了应用程序的文件操作的安全性。附图说明图1示出本专利技术的虚拟文件系统的一个实施例的结构图;图2示出本专利技术的虚拟文件系统的一个实施例在系统中位置图示;图3示出本专利技术的虚拟文件系统的一个实施例的层次逻辑图;图4示出本专利技术的虚拟文件系统的实现方法的一个实施例的流程图;图5示出本专利技术的虚拟文件系统的实现方法的另一个实施例的流程图。具体实施方式下面参照附图对本专利技术进行更全面的描述,其中说明本专利技术的示例性实施例。图1示出本专利技术的虚拟文件系统的一个实施例的结构图。如图1所示,该虚拟文件系统包括文件系统流转引擎11、系统植入模块12和应用程序权限数据库13。其中,应用程序权限数据库13存储应用程序的文件权限信息;权限信息既可以分组保存,也可以为每个应用程序进行单独保存。系统植入模块12用于实现与操作系统内核的文件系统的对接,实现用户接口同原操作系统的用户系统匹配、对操作系统内核的文件系统的文件操作进行封装;文件系统流转引擎11接收来自应用程序的文件操作请求,根据应用程序权限数据库13存储的应用程序的文件权限信息拒绝或者允许应用程序的文件操作,当允许应用程序的文件操作时,通过调用系统植入模块12相关接口实现具体文件操作。文件系统流转引擎还可以根据应用程序的文件权限信息对文件内容执行过滤文件操作。上述实施例中,文件系统流转引擎基于应用程序权利数据库存储的应用程序的文件权限信息对应用程序的文件操作请求进行权限控制,提高了对应用程序的文件操作的安全性。可选地,虚拟文件系统还包括文件映射数据库14和/或应用程序兼容数据库15。文件映射数据库14存储应用程序的文件映射位置;例如将/System/etc下的文件映射到/etc目录下,保证应用程序在试图访问某一目录时,实际将访问另外一目录中,保证整个系统的安全。文件系统流转引擎11还根据文件映射数据库14存储的应用程序的文件映射位置进行转发文件操作。兼容数据库15存储不同操作系统之间文件系统环境的差别和兼容性方式;例如Android系统和常见的Linux之间的文件系统差异性较大,通过兼容数据库实现针对Android下的程序,将原有Linux下的文件系统内容映射到Android的目录结构中,以实现跨操作系统之间的应用程序兼容性。文件系统流转引擎11根据兼容数据库存储的信息实现应用程序的文件操作对不同操作系统的兼容。系统植入模块负责完成同原操作系统之间的对接,包括保证用户接口同原有操作系统的用户系统匹配、将下层操作系统的实际文件操作封装后,供内部或者上层调用。文件系统流转引擎是本系统的核心组件,负责完成将来自应用程序的请求通过底层数据库的资料进行分析之后,转到相应的执行结果。执行结果包括转发文件操作、拒绝文件操作、过本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种虚拟文件系统,其特征在于,包括:应用程序权限数据库,用于存储应用程序的文件权限信息;系统植入模块,用于实现与操作系统内核的文件系统的对接,实现用户接口同原操作系统的用户系统匹配、对操作系统内核的文件系统的文件操作进行封装;文件映射数据库,用于存储应用程序的文件映射位置;兼容数据库,用于存储不同操作系统之间文件系统环境的差别和兼容性方式;文件系统流转引擎,用于接收来自应用程序的文件操作请求,根据所述应用程序权限数据库存储的应用程序的文件权限信息拒绝或者允许应用程序的所述文件操作,当允许应用程序的所述文件操作时,通过所述系统植入模块实现所述文件操作;根据所述文件映射数据库存储的应用程序的文件映射位置进行转发文件操作;根据所述兼容数据库存储的信息实现所述应用程序的文件操作对不同操作系统的兼容。2.根据权利要求1所述的虚拟文件系统,其特征在于,所述文件系统流转引擎还根据应用程序的文件权限信息对文件内容执行过滤文件操作。3.根据权利要求1所述的虚拟文件系统,其特征在于,在系统启动阶段,所述虚拟文件系统通过所述系统植入模块,加载进Linux的虚拟文件系统模块中...
【专利技术属性】
技术研发人员:陈龙,广小明,郑燕冰,邓建伟,
申请(专利权)人:中国电信股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。