CN114090096A - 一种网络虚拟文件系统实现方法、系统及存储介质 - Google Patents

一种网络虚拟文件系统实现方法、系统及存储介质 Download PDF

Info

Publication number
CN114090096A
CN114090096A CN202210072599.4A CN202210072599A CN114090096A CN 114090096 A CN114090096 A CN 114090096A CN 202210072599 A CN202210072599 A CN 202210072599A CN 114090096 A CN114090096 A CN 114090096A
Authority
CN
China
Prior art keywords
file
redirection process
operating system
file request
filter driver
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210072599.4A
Other languages
English (en)
Other versions
CN114090096B (zh
Inventor
谢卓伟
谢俊峰
周家劲
黄传波
钱禹航
冯威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Vinchin Science And Technology Co
Original Assignee
Chengdu Vinchin Science And Technology Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Vinchin Science And Technology Co filed Critical Chengdu Vinchin Science And Technology Co
Priority to CN202210072599.4A priority Critical patent/CN114090096B/zh
Publication of CN114090096A publication Critical patent/CN114090096A/zh
Application granted granted Critical
Publication of CN114090096B publication Critical patent/CN114090096B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种网络虚拟文件系统实现方法、系统及存储介质,属于计算机数据处理技术领域。所述方法包括:生成重定向进程,启动过滤驱动;建立传输文件映射关系;过滤驱动截获文件请求,并通知重定向进程;判断文件请求是否需要发送给第二操作系统;第二操作系统响应并处理文件请求;重定向进程接收并解析处理结果;完成操作。所述系统包括:创建模块,关系生成模块,截获通知模块,判断模块,处理发送模块,解析发送模块,完成操作模块。本发明无需新建新卷即可如访问本地文件系统一样访问远端文件系统,节约开销,整体兼容性佳;具有良好的随机读写性能和顺序读写性能,能够满足网络高吞吐量需求。

Description

一种网络虚拟文件系统实现方法、系统及存储介质
技术领域
本发明属于计算机数据处理技术领域,特别涉及一种网络虚拟文件系统实现方法、系统及存储介质。
背景技术
服务器操作系统一般指的是安装在大型计算机上的操作系统,比如Web服务器、应用服务器和数据库服务器等。服务器操作系统主要有Windows、Linux和Unix。而随着虚拟化平台技术的不断提升,跨至少两种不同操作系统实现数据交互的需求也变的越加广泛,如何实现不同操作系统之间的即时数据交互是一个新的热点问题。
目前,客户端普遍是基于Windows客户端进行运行操作,如果Windows下的虚拟化平台要与远端服务器第二操作系统的虚拟硬盘(如Linux下虚拟硬盘)实现数据交互,传统方式主要有两种。方式一是将远端的虚拟硬盘传输到windows客户端,再在客户端本地挂载使用,该方式操作简单、代码工作容易、维护难度低,但会造成开销大、使用效率低问题;方式二是利用SSH、NFS等协议,将远端的文件系统重定向到本地挂载为网络驱动器,文件系统为非NTFS格式,这样便可以以访问本地文件的方式访问远端文件,但是这种方式兼容性差、适配场景少,不能完成与远端虚拟硬盘的即时数据交互。
因此,如何及时高效地实现跨操作系统平台数据交互,成为当前急需解决的技术问题。
发明内容
本发明为了解决上述背景技术中的技术问题,本发明实施例提供了一种网络虚拟文件系统实现方法、系统及存储介质。所述技术方案如下:
第一个方面,提供了一种网络虚拟文件系统实现方法,所述方法包括步骤:
第一操作系统生成用户层重定向进程,启动内核层过滤驱动;
重定向进程与过滤驱动建立传输文件映射关系;
当下发文件请求时,过滤驱动截获所述文件请求,并通知所述重定向进程;
重定向进程判断所述文件请求是否需要发送给第二操作系统;
若否,则执行第一操作系统本地处理;
若是,则将截获的所述文件请求发送至第二操作系统;
第二操作系统响应并处理截获的所述文件请求,再将所述处理结果发送至所述重定向进程;
重定向进程接收并解析所述第二操作系统的处理结果,再将解析结果发送至所述过滤驱动;
过滤驱动执行完成操作,并发送完成指令至用户层。
在其中一个实施例中,所述重定向进程与过滤驱动建立传输文件映射关系步骤,包括:
重定向进程创建过滤目录和同步对象;
重定向进程将过滤目录和同步对象下发到过滤驱动;
在其中一个实施例中,所述当下发文件请求时,过滤驱动截获所述文件请求,并通知所述重定向进程步骤,包括:
过滤驱动通过所述过滤目录截获文件请求;
过滤驱动将截获的所述文件请求存至等待队列,并触发同步对象;
同步对象通知所述重定向进程所述文件请求到达。
在其中一个实施例中,所述重定向进程通过过滤路径表和文件对象表判断所述文件请求是否需要发送给第二操作系统。
在其中一个实施例中,所述第二操作系统响应并处理截获的所述文件请求,再将所述处理结果发送至所述重定向进程步骤,包括:
第二操作系统执行文件系统调用处理截获的所述文件请求;
第二操作系统将文件系统调用处理结果发送至所述重定向进程。
在其中一个实施例中,本发明的第一操作系统为Windows操作系统;本发明的第一操作系统为Linux操作系统或Unix操作系统。
第二个方面,还提供了一种网络虚拟文件系统实现系统,所述系统包括:
创建模块,用于第一操作系统生成用户层重定向进程,启动内核层过滤驱动;
关系生成模块,用于重定向进程与过滤驱动建立传输文件映射关系;
截获通知模块,用于当下发文件请求时,过滤驱动截获所述文件请求,并通知所述重定向进程;
判断模块,用于重定向进程判断所述文件请求是否需要发送给第二操作系统;
本地处理模块,用于若否,则执行第一操作系统本地处理;
文件请求发送模块,用于若是,则将截获的所述文件请求发送至第二操作系统;
处理发送模块,用于第二操作系统对截获的所述文件请求进行处理转化,并将所述处理转化结果发送至所述重定向进程;
解析发送模块,用于重定向进程接收并解析所述第二操作系统的处理转化结果,再将解析结果发送至所述过滤驱动;
完成操作模块,用于过滤驱动执行完成操作,并发送完成指令至用户层。
在其中一个实施例中,所述关系生成模块,包括:
第一创建单元,用于重定向进程创建过滤目录和同步对象;
下发单元,用于重定向进程将过滤目录和同步对象下发到过滤驱动。
在其中一个实施例中,所述截获通知模块,包括:
截获单元,用于过滤驱动通过所述过滤目录截获文件请求;
保存触发单元,用于过滤驱动将截获的所述文件请求存至等待队列,并触发同步对象;
通知单元,用于同步对象通知所述重定向进程所述文件请求到达。
在其中一个实施例中,所述处理发送模块,包括:
系统调用处理单元,用于第二操作系统执行文件系统调用处理截获的所述文件请求;
处理结果发送单元,用于第二操作系统将文件系统调用处理结果发送至所述重定向进程。
第三个方面,还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述网络虚拟文件系统实现方法。
本发明的有益效果是:
(1)本发明通过用户层重定向进程和内核层过滤驱动,可以避免资源调度所带来的大量控制开销,有效提高了信道接入的实时性,无需新建新卷即可如访问本地文件系统一样访问远端文件系统;
(2)本发明具有良好的随机读写性能和顺序读写性能,能够满足网络高吞吐量需求,为实现跨操作系统平台实时备份数据奠定基础;
(3)当第一操作系统和第二操作系统不同时,本发明通过用户层重定向进程、内核层过滤驱动和第二操作系统,能够对交互数据进行信息转换处理,实现交互信息格式的统一,整体兼容性好,适应场景多。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图1为本发明网络虚拟文件系统实现方法的流程示意图。
图2为本发明网络虚拟文件系统实现系统的设计框架图。
图3为本发明网络虚拟文件系统实现系统结构示意图。
图4为本发明关系生成模块结构示意图。
图5为本发明截获通知模块结构示意图。
图6为本发明处理发送模块结构示意图。
图7为本发明实施例三中的随机读写吞吐性能测试结果图。
图8为本发明实施例三中的混合随机读写吞吐性能测试结果图。
图9为本发明实施例三中的顺序读写吞吐性能测试结果图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一
在一个实施例中,结合图1和图2所示,提供一种网络虚拟文件系统实现方法,该方法包括:
S1.Windows客户端生成用户层重定向进程,启动内核层过滤驱动。
S2.重定向进程与过滤驱动建立传输文件映射关系。
可选的,所述步骤S2,包括:
S21.重定向进程创建过滤目录和同步对象;
S22.重定向进程将过滤目录和同步对象下发到过滤驱动。
可以理解的是,如图2所示,内核过滤驱动会包括过滤模块(VolFltDev)、控制模块(DriverCDO)和队列管理模块。过滤模块绑定文件系统卷,监视拦截用户层始发进程通过环境子系统下发的文件请求,将需要处理的I/O请求传递到队列管理模块。控制模块代表驱动本身,用以与用户层交互。
值得说明的是,重定向进程与过滤驱动配合实现文件I/O重定向接口,重定向进程设置过滤目录,过滤驱动实现对该过滤目录的过滤功能,即过滤对该过滤目录的文件请求,将过滤出的文件请求保存至专有队列中,重定向进程负责完成I/O请求,即实质上的文件数据的读写操作。
同时,重定向进程负责与远端服务器(第二操作系统)实现交互,即真实的数据存储在远端,重定向进程从远端通信获取真实的数据。获取远端的数据后,重定向进程执行数据格式的转化操作,将数据格式转换为适合第一操作系统的格式,并通过本地处理一些第二操作系统不支持的文件请求,从而完成跨平台交互数据的效果。
还值得说明的是,重定向进程处于用户层,使重定向进程与远端服务器通信更安全可靠,且代码易于维护。
为了便于理解,具体的,提供一个操作实例:设置D盘过滤目录,其具体值为D:\Filter Directory,并创建一个内核同步对象(包括但不限于信号量Semaphore、事件Event),在用户层打开内核过滤驱动控制设备(Driver CDO)获得句柄,通过系统调用将数据传递到Driver CDO上;Driver CDO将过滤目录以及同步对象的内核版本保存至内核过滤驱动维护的全局数据结构中。
S3.当始发进程的文件请求依次经环境子系统、I/0管理向文件系统向Windouws文件系统传递时,过滤驱动截获所述文件请求,并通知所述重定向进程。
为了便于理解,具体的,提供一个操作实例:过滤模块(VolFltDev)截获所述对过滤目录的文件请求时,将请求保存至队列管理模块,队列管理模块通知所述重定向进程。
可选的,所述步骤S3,包括:
S31.过滤驱动通过所述过滤目录截获文件请求;
S32.过滤驱动将截获的所述文件请求存至等待队列,并触发同步对象;
S33.同步对象通知所述重定向进程所述文件请求到达。
为了便于理解,具体的,提供一个操作实例:
卷过滤设备(VolFltDev)截获所有发送给D:\Filter Directory目录的文件IO请求,IRP类型包括但不限于IRP_MJ_CREATE、IRP_MJ_READ、IRP_MJ_WRITE、IRP_MJ_QUERY_INFORMAION、IRP_MJ_CLOSE。
VolFltDev截获IRP后将IRP插入到等待处理队列中,并保存相应的数据,使用set操作触发过滤目录对应的内核同步对象。当VolFltDev触发同步对象后,用户层进程发送IO请求到内核过滤驱动控制设备Driver CDO,从等待队列中提取一条IRP请求,使用用户层定义的统一接口完成IRP请求,并通过IO请求向完成结果发送到Driver CDO上。
S4.重定向进程判断所述文件请求是否需要发送给Linux服务器端。
S5.若否,则执行Windows客户端本地处理.
S6.若是,则将截获的所述文件请求发送至Linux服务器端。
可选的,所述步骤S4中,所述重定向进程通过过滤路径表和文件对象表判断所述文件请求是否需要发送给Linux服务器端。
通过比较文件对象名与过滤目录路径来判断是否需要重定向,能够有效减少性能损耗,因为文件对象在对象管理器中具有唯一性,只需比对文件对象指针即可判断。
具体的,处理文件打开请求时,过滤驱动查找过滤路径表,比较文件对象名与过滤目录路径来判断是否需要重定向。若文件成功打开,则在打开完成例程中将打开的文件对象保存至文件对象表,处理除打开请求的其他请求时通过比对文件对象来判断是否需要重定向。
S7.Linux服务器端响应并处理截获的所述文件请求,再将所述处理结果发送至所述重定向进程。
值得说明的是,过滤驱动和重定向程序负责提供远端文件的访问的接口即过滤目录,过滤驱动与重定向程序不可拆分;同时重定向程序还需与远端服务器通信,远端服务器存储数据并响应重定向程序的文件请求。
可选的,所述步骤S7,包括:
S71.Linux服务器端执行文件系统调用处理截获的所述文件请求;
S72.Linux服务器端将文件系统调用处理结果发送至所述重定向进程。
为了便于理解,具体的,提供一个操作实例:若服务器端目录\home\file与客户端过滤目录D:\Filter Directory建立映射,当客户端执行对D:\FilterDirector\test.txt文件的读请求时,Linux服务器端收到对\home\file\test.txt的读请求,执行本地系统调用比如read系统调用,读取出数据后将结果发送回客户端重定向进程。
需要理解的是,两个操作系统之间是通过报文的形式进行交互,例如Windows客户端将截获的所述文件请求发送至Linux服务器端时,所述文件请求是需要转化为请求报文再进行发送的;Linux服务器端中,请求报文经过服务端进程、用户层API和Linux服务器端文件系统进行处理,得到处理结果;之后Linux服务器端再将所述处理结果发送至重定向进程,所述处理结果也是需要转化为完成报文再进行发送的。
另外,在一些环境内,第二操作系统也可以采用直接读取块设备的方式处理文件请求。具体的,所述第二操作系统收到第一操作系统发送所述文件请求时,所述第二操作系统直接读取块设备获取数据,再将数据发送给所述重定向进程。
S8.重定向进程接收并解析所述Linux服务器端的处理结果,再将解析结果发送至所述过滤驱动。
S9.过滤驱动执行完成操作,并发送完成指令至用户层。
本实施例的技术方案,Windows客户端无需新建新卷即可如访问本地文件系统一样访问远端的Linux服务器文件系统,整体兼容性佳;还具有良好的随机读写性能和顺序读写性能,能够满足网络高吞吐量需求。
实施例二
在一个实施例中,提供一种网络虚拟文件系统实现方法,该方法包括:
S1.Windows客户端生成用户层重定向进程,启动内核层过滤驱动;
S2.重定向进程与过滤驱动建立传输文件映射关系;
S3.当下发文件请求时,过滤驱动截获所述文件请求,并通知所述重定向进程;
S4.重定向进程判断所述文件请求是否需要发送给Unix服务器端;
S5.若否,则执行Windows客户端本地处理;
S6.若是,则将截获的所述文件请求发送至Unix服务器端;
S7.Unix服务器端响应并处理截获的所述文件请求,再将所述处理结果发送至所述重定向进程;
S8.重定向进程接收并解析所述Unix服务器端的处理结果,再将解析结果发送至所述过滤驱动;
S9.过滤驱动执行完成操作,并发送完成指令至用户层。
本实施例的技术方案,Windows客户端无需新建新卷即可如访问本地文件系统一样访问远端的Unix服务器文件系统,整体兼容性佳;还具有良好的随机读写性能和顺序读写性能,能够满足网络高吞吐量需求。
实施例三
在一个实施例中,如图3所示,提供了一种网络虚拟文件系统实现系统,所述系统包括:
创建模块1001,用于Windows客户端生成用户层重定向进程,启动内核层过滤驱动;
关系生成模块1002,用于重定向进程与过滤驱动建立传输文件映射关系;
截获通知模块1003,用于当下发文件请求时,过滤驱动截获所述文件请求,并通知所述重定向进程;
判断模块1004,用于判断所述文件请求是否需要发送给Linux服务器端;
本地处理模块1005,用于若否,则执行Windows客户端本地处理;
文件请求发送模块1006,用于若是,则将截获的所述文件请求发送至Linux服务器端;
处理发送模块1007,用于Linux服务器端对截获的所述文件请求进行处理转化,并将所述处理转化结果发送至所述重定向进程;
解析发送模块1008,用于重定向进程接收并解析所述Linux服务器端的处理转化结果,再将解析结果发送至所述过滤驱动;
完成操作模块1009,用于过滤驱动执行完成操作,并发送完成指令至用户层。
可选的,如图4所示,所述关系生成模块1002,包括:
第一创建单元10021,用于重定向进程创建过滤目录和同步对象;
下发单元10022,用于重定向进程将过滤目录和同步对象下发到过滤驱动。
可选的,如图5所示,所述截获通知模块1003,包括:
截获单元10031,用于过滤驱动通过所述过滤目录截获文件请求;
保存触发单元10032,用于过滤驱动将截获的所述文件请求存至等待队列,并触发同步对象;
通知单元10033,用于同步对象通知所述重定向进程所述文件请求到达。
可选的,如图6所示,所述处理发送模块1007,包括:
系统调用处理单元10071,用于Linux服务器端执行文件系统调用处理截获的所述文件请求;
处理结果发送单元10072,用于Linux服务器端将文件系统调用处理结果发送至所述重定向进程。
下面,我们提供一些对比实验,以便于进一步阐述本实施例,具体如下:
所有的实验在Vmware ESXI管理的虚拟化环境下所开启的两台虚拟机上运行,其中一台作为客户端,另外一台作为服务器端。客户端版本为Windows server 2012,内部版本为6.2.9200,预留8GB内存;服务器端系统为CentOS 7,内核版本为Linux 3.10.0,预留2GB内存。使用iperf3测试客户端到服务端的上行带宽约150MB/s,下行带宽约100MB/s。表1为测试环境的具体参数。
表1 测试环境信息
Figure 809887DEST_PATH_IMAGE001
在该实验中,测试工具为标准测试工具FIO(Flexible I/O tester)。测试对象为:本实施例、对比例1、对比例2、对比例3和对比例4,其中,对比例1为 WinFsp+NFS-win;对比例2为WinFsp+SshFs-win;对比例3为Dokan+WinSshFs;对比例4为SftpDriver。测试项目为:8KB随机读写吞吐性能测试、8KB混合随机读写吞吐性能测试以及4MB顺序读写吞吐性能测试。
(1)随机读写吞吐性能测试
对本实施例、对比例1、对比例2、对比例3和对比例4进行8KB随机读写性能测试,测试结果如图7。
从图7可知,本实施例的随机读性能与对比例1接近,相对于对比例2约提升40%,接近对比例3的2倍,是对比例4的2.5倍以上。本实施例的随机写性能接近对比例3,是对比例1的7倍以上,对比例2的4倍以上,对比例4的1.5倍以上。
(2)混合随机读写吞吐性能测试
对本实施例、对比例1、对比例2、对比例3和对比例4进行读占70%、写占30%的8KB混合随机读写性能测试,测试结果如图8。
从图8可知,从8KB上混合随机读写的结果上可以看到本实施例的读写同时进行场景的性能优于对比例1、对比例2、对比例3和对比例4,分别约提升了180%、100%、70%和30%。
(3)顺序读写吞吐性能测试
对本实施例、对比例1、对比例2、对比例3和对比例4进行4MB的顺序读写性能测试,测试结果如图9。
从图9可知,在4MB的顺序读上,本实施例与对比例1的性能接近,明显优于对比例2与对比例4,是对比例2的3倍以上、对比例4的 35倍以上,其中,对比例3不支持大文件的顺序读。
从图9可知,在4MB的顺序写上,本实施例的性能相对于对比例1、对比例2、对比例3和对比例4,分别约提升了50%、500%、850%和1660%。
(1)与对比例1综合比较
对本实施例和对比例1分别进行8KB随机读写性能测试、8KB随机写性能测试、读占70%和写占30%的8KB混合随机读写性能测试、4MB顺序读性能测试和4MB顺序写性能测试,测试结果如表2。
表2 本实施例与对比例1综合比较
Figure 664711DEST_PATH_IMAGE002
从表2可知,本实施例与对比例1在几个测试场景的性能对比,可以发现除顺序读以外,其他测试项目下本实施例均较为优秀。说明了,本发明具有良好的随机读写性能和顺序读写性能,能够满足网络高吞吐量需求。
本实施例的技术方案,创建模块1001,用于Windows客户端生成用户层重定向进程,启动内核层过滤驱动;关系生成模块1002,用于重定向进程与过滤驱动建立传输文件映射关系;截获通知模块1003,用于当下发文件请求时,过滤驱动截获所述文件请求,并通知所述重定向进程;判断模块1004,用于判断所述文件请求是否需要发送给Linux服务器端,若否,则执行Windows客户端本地处理;若是,则将截获的所述文件请求发送至Linux服务器端;处理发送模块1007,用于Linux服务器端对截获的所述文件请求进行处理转化,并将所述处理转化结果发送至所述重定向进程;解析发送模块1008,用于重定向进程接收并解析所述Linux服务器端的处理转化结果,再将解析结果发送至所述过滤驱动;完成操作模块1009,用于将完成操作结果返回给用户层。解决了现有技术中Windows下利用SSH、NFS等协议将远端文件系统挂载为网络驱动器,造成资源开销大,访问效率低的技术问题,通过用户层重定向进程和内核层过滤驱动,可以避免资源调度所带来的大量控制开销,有效提高了信道接入的实时性,提高备份效率。
实施例四
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现实施例1所述网络虚拟文件系统实现方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种网络虚拟文件系统实现方法,其特征在于,所述方法包括步骤:
第一操作系统生成用户层重定向进程,启动内核层过滤驱动;
重定向进程与过滤驱动建立传输文件映射关系;
当下发文件请求时,过滤驱动截获所述文件请求,并通知所述重定向进程;
重定向进程判断所述文件请求是否需要发送给第二操作系统;
若否,则执行第一操作系统本地处理;
若是,则将截获的所述文件请求发送至第二操作系统;
第二操作系统响应并处理截获的所述文件请求,再将所述处理结果发送至所述重定向进程;
重定向进程接收并解析所述第二操作系统的处理结果,再将解析结果发送至所述过滤驱动;
过滤驱动执行完成操作,并发送完成指令至用户层。
2.根据权利要求1所述的网络虚拟文件系统实现方法,其特征在于,所述重定向进程与过滤驱动建立传输文件映射关系步骤,包括:
重定向进程创建过滤目录和同步对象;
重定向进程将过滤目录和同步对象下发到过滤驱动。
3.根据权利要求1所述的网络虚拟文件系统实现方法,其特征在于,所述当下发文件请求时,过滤驱动截获所述文件请求,并通知所述重定向进程步骤,包括:
过滤驱动通过所述过滤目录截获文件请求;
过滤驱动将截获的所述文件请求存至等待队列,并触发同步对象;
同步对象通知所述重定向进程所述文件请求到达。
4.根据权利要求1所述的网络虚拟文件系统实现方法,其特征在于,所述重定向进程通过过滤路径表和文件对象表判断所述文件请求是否需要发送给第二操作系统。
5.根据权利要求1所述的网络虚拟文件系统实现方法,其特征在于,所述第二操作系统响应并处理截获的所述文件请求,再将所述处理结果发送至所述重定向进程步骤,包括:
第二操作系统执行文件系统调用处理截获的所述文件请求;
第二操作系统将文件系统调用处理结果发送至所述重定向进程。
6.一种网络虚拟文件系统实现系统,其特征在于,所述系统包括:
创建模块,用于第一操作系统生成用户层重定向进程,启动内核层过滤驱动;
关系生成模块,用于重定向进程与过滤驱动建立传输文件映射关系;
截获通知模块,用于当下发文件请求时,过滤驱动截获所述文件请求,并通知所述重定向进程;
判断模块,用于重定向进程判断所述文件请求是否需要发送给第二操作系统;
本地处理模块,用于若否,则执行第一操作系统本地处理;
文件请求发送模块,用于若是,则将截获的所述文件请求发送至第二操作系统;
处理发送模块,用于第二操作系统对截获的所述文件请求进行处理转化,并将所述处理转化结果发送至所述重定向进程;
解析发送模块,用于重定向进程接收并解析所述第二操作系统的处理转化结果,再将解析结果发送至所述过滤驱动;
完成操作模块,用于过滤驱动执行完成操作,并发送完成指令至用户层。
7.根据权利要求6所述的网络虚拟文件系统实现系统,其特征在于,所述关系生成模块,包括:
第一创建单元,用于重定向进程创建过滤目录和同步对象;
下发单元,用于重定向进程将过滤目录和同步对象下发到过滤驱动。
8.根据权利要求6所述的网络虚拟文件系统实现系统,其特征在于,所述截获通知模块,包括:
截获单元,用于过滤驱动通过所述过滤目录截获文件请求;
保存触发单元,用于过滤驱动将截获的所述文件请求存至等待队列,并触发同步对象;
通知单元,用于同步对象通知所述重定向进程所述文件请求到达。
9.根据权利要求6所述的网络虚拟文件系统实现系统,其特征在于,所述处理发送模块,包括:
系统调用处理单元,用于第二操作系统执行文件系统调用处理截获的所述文件请求;
处理结果发送单元,用于第二操作系统将文件系统调用处理结果发送至所述重定向进程。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至5任一项所述网络虚拟文件系统实现方法。
CN202210072599.4A 2022-01-21 2022-01-21 一种网络虚拟文件系统实现方法、系统及存储介质 Active CN114090096B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210072599.4A CN114090096B (zh) 2022-01-21 2022-01-21 一种网络虚拟文件系统实现方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210072599.4A CN114090096B (zh) 2022-01-21 2022-01-21 一种网络虚拟文件系统实现方法、系统及存储介质

Publications (2)

Publication Number Publication Date
CN114090096A true CN114090096A (zh) 2022-02-25
CN114090096B CN114090096B (zh) 2022-04-15

Family

ID=80309069

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210072599.4A Active CN114090096B (zh) 2022-01-21 2022-01-21 一种网络虚拟文件系统实现方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN114090096B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115996150A (zh) * 2023-03-22 2023-04-21 成都云祺科技有限公司 虚拟演练室创建方法、系统、存储介质及数据验证方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1605217A (zh) * 2001-10-12 2005-04-06 麦提林克斯公司 全系统优化集成模型
CN102571912A (zh) * 2010-12-08 2012-07-11 中国科学院声学研究所 一种实现基于多核处理器和混合操作系统的卸载协议栈的方法
CN103077243A (zh) * 2013-01-16 2013-05-01 北京数码视讯科技股份有限公司 文件系统访问的处理方法及系统
US8521719B1 (en) * 2012-10-10 2013-08-27 Limelight Networks, Inc. Searchable and size-constrained local log repositories for tracking visitors' access to web content
CN103514007A (zh) * 2012-08-31 2014-01-15 Tcl集团股份有限公司 一种基于Android系统的移动终端的热启动的方法
CN104008330A (zh) * 2014-05-23 2014-08-27 武汉华工安鼎信息技术有限责任公司 基于文件集中存储及隔离技术的数据防泄漏系统及其方法
CN106569842A (zh) * 2015-10-09 2017-04-19 中兴通讯股份有限公司 操作系统的启动方法及装置
CN107122252A (zh) * 2017-04-21 2017-09-01 京东方科技集团股份有限公司 一种系统间交互方法和装置
CN107194245A (zh) * 2017-05-12 2017-09-22 南京大学 一种针对Linux内核页表隔离的功能调用改造方法
CN111124664A (zh) * 2019-11-22 2020-05-08 华为技术有限公司 第一操作系统访问第二操作系统资源的方法和装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1605217A (zh) * 2001-10-12 2005-04-06 麦提林克斯公司 全系统优化集成模型
CN102571912A (zh) * 2010-12-08 2012-07-11 中国科学院声学研究所 一种实现基于多核处理器和混合操作系统的卸载协议栈的方法
CN103514007A (zh) * 2012-08-31 2014-01-15 Tcl集团股份有限公司 一种基于Android系统的移动终端的热启动的方法
US8521719B1 (en) * 2012-10-10 2013-08-27 Limelight Networks, Inc. Searchable and size-constrained local log repositories for tracking visitors' access to web content
CN103077243A (zh) * 2013-01-16 2013-05-01 北京数码视讯科技股份有限公司 文件系统访问的处理方法及系统
CN104008330A (zh) * 2014-05-23 2014-08-27 武汉华工安鼎信息技术有限责任公司 基于文件集中存储及隔离技术的数据防泄漏系统及其方法
CN106569842A (zh) * 2015-10-09 2017-04-19 中兴通讯股份有限公司 操作系统的启动方法及装置
CN107122252A (zh) * 2017-04-21 2017-09-01 京东方科技集团股份有限公司 一种系统间交互方法和装置
CN107194245A (zh) * 2017-05-12 2017-09-22 南京大学 一种针对Linux内核页表隔离的功能调用改造方法
CN111124664A (zh) * 2019-11-22 2020-05-08 华为技术有限公司 第一操作系统访问第二操作系统资源的方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115996150A (zh) * 2023-03-22 2023-04-21 成都云祺科技有限公司 虚拟演练室创建方法、系统、存储介质及数据验证方法
CN115996150B (zh) * 2023-03-22 2023-05-23 成都云祺科技有限公司 虚拟演练室创建方法、系统、存储介质及数据验证方法

Also Published As

Publication number Publication date
CN114090096B (zh) 2022-04-15

Similar Documents

Publication Publication Date Title
EP3819757A1 (en) Edge application management method and system
US8887157B2 (en) System and method for managing virtual machine states by restoring previously saved states based on a virtual machine application's request active with the virtual machine
CN107682460B (zh) 一种分布式存储集群数据通信方法及系统
CN111221793B (zh) 数据挖掘方法、平台、计算机设备及存储介质
CN106095957B (zh) 分布式文件系统的跨域多副本文件同步方法及装置
CN114090096B (zh) 一种网络虚拟文件系统实现方法、系统及存储介质
US20160004548A1 (en) Notification conversion program and notification conversion method
EP3786802A1 (en) Method and device for failover in hbase system
CN111782318A (zh) 远程挂载本地磁盘到云桌面虚拟机中共享访问系统及方法
CN107688512A (zh) 一种优化虚拟机数据备份方法和系统
US20060167932A1 (en) Method for the acceleration of the transmission of logging data in a multi-computer environment and system using this method
CN102209115A (zh) 一种虚拟桌面系统中不同用户之间的协同方法
CN115576654A (zh) 一种请求处理方法、装置、设备及存储介质
CN113778714B (zh) 一种Linux兼容Android的共享剪切板方法及装置
WO2021254214A1 (zh) 安卓应用程序迁移的方法和装置
CN112765246A (zh) 任务处理方法、装置、电子设备和存储介质
CN112052076A (zh) 一种基于libvirt的dpdk vhostuser网卡管理方法及管理装置
WO2023035754A1 (zh) 权限同步方法、装置、电子设备与存储介质
CN111596864A (zh) 一种数据延时删除的方法、装置、服务器及存储介质
CN115981892A (zh) 日志读取方法、装置、电子设备及存储介质
CN108337285B (zh) 一种通信系统及通信方法
CN109462504A (zh) 一种通用Agent管控的系统
CN110442465A (zh) 一种多桌面环境剪切板共享架构及其方法
CN107330089B (zh) 跨网络结构化数据收集系统
CN112199329A (zh) 基于堡垒机的双机运维数据归档清理方法与设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant