CN109800210A - 一种即时文件处理方法及系统 - Google Patents

一种即时文件处理方法及系统 Download PDF

Info

Publication number
CN109800210A
CN109800210A CN201811612858.8A CN201811612858A CN109800210A CN 109800210 A CN109800210 A CN 109800210A CN 201811612858 A CN201811612858 A CN 201811612858A CN 109800210 A CN109800210 A CN 109800210A
Authority
CN
China
Prior art keywords
file
directory
documentor
user
temporary
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
CN201811612858.8A
Other languages
English (en)
Other versions
CN109800210B (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.)
Wuhan University of Technology WUT
Original Assignee
Wuhan University of Technology WUT
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 Wuhan University of Technology WUT filed Critical Wuhan University of Technology WUT
Priority to CN201811612858.8A priority Critical patent/CN109800210B/zh
Publication of CN109800210A publication Critical patent/CN109800210A/zh
Application granted granted Critical
Publication of CN109800210B publication Critical patent/CN109800210B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

发明为即时文件处理方法:文件管理程序将用户选择打开的文件复制到用户计算机文件系统的一个临时文件目录中,或者通过文件I/O中介系统将用户选择打开的文件复制到用户计算机文件系统的一个临时文件目录中;文件管理程序启动的文件处理程序通过文件中介文件系统对保存在临时文件目录中的文件进行文件I/O操作;文件I/O中介系统通过调用用户计算机的文件系统的对应功能,针对临时文件目录中被打开的文件进行对应的文件I/O操作;文件I/O中介系统将文件处理程序对文件的文件I/O操作事件及信息通知文件管理程序;若需要,文件I/O中介系统在进行文件I/O操作时对文件数据和/或文件信息进行相应的转换操作。

Description

一种即时文件处理方法及系统
技术领域
本发明属于桌面软件开发技术领域,特别是一种对针对用户即时打开的文件所进行的文件I/O操作进行即时监测的方法及系统。
背景技术
很多人都使用过WinZip、WinRAR之类的文件压缩软件。使用WinZip、WinRAR压缩软件可以对单个或一组文件(包括一个文件目录下的所有文件)进行压缩,生成一个压缩文件(以.zip、.rar结尾的文件)。使用被WinZip、WinRAR压缩的文件有两种方式:
一是,将压缩文件解压缩后使用;
二是,直接即时使用,即用户通过WinZip、WinRAR软件提供的人机交互界面,查看压缩文件;压缩文件中可能会有多个文件甚至会有文件目录结构;用户通过人机交互界面选择并双击要使用的文件,这时,用户可以看到文件对应的文件处理程序打开了用户选择的文件,比如,若用户选择打开的是一个Word文档,则Word程序被启动、并将用户选择的Word文件打开;而用户通过文件对应的文件处理程序可以对选择、打开的文件进行操作处理,比如,查看文件内容,修改、更新文件内容;而当用户关闭文件处理程序时,若文件在打开后曾被用户进行了修改,那么,WinZip、WinRAR会提示用户是否要用修改后的文件更新压缩文件中的对应文件。
这种文件即时打开、处理方式背后的技术原理是这样的:当用户通过WinZip、WinRAR软件提供的人机交互界面,选择并双击要打开的文件时,WinZip、WinRAR程序将用户选择打开的文件先解压缩,然后将解压缩的文件复制到用户计算机的一个临时文件目录中,然后启动用户要打开的文件所对应的文件处理程序,并将临时文件目录中被复制的文件的文件路径传递给文件处理程序;文件处理程序打开临时文件中的被复制的文件供用户操作使用;在用户通过文件处理程序对文件进行操作处理的过程中,WinZip、WinRAR程序会通过向计算机的文件系统注册文件I/O操作监测事件,监测文件处理程序对文件的文件I/O操作,包括更新文件数据、文件关闭等;当WinZip、WinRAR程序通过注册的文件I/O操作监测事件,监测到临时文件目录中的文件被关闭、且关闭之前数据被更新了后,会提示用户是否要用修改后的文件更新压缩文件中的对应文件,若用户选择“是”,则WinZip、WinRAR程序将临时文件目录中的更新了的文件重新压缩后,将压缩文件中的对应文件更新。
很多人也使用过网络文件存储系统,比如文件云存储系统。用户使用网络文件存储系统中的文件也常常有两种方式:
一是,通过网络文件系统的客户端程序将文件从网络下载到本地后使用;
二是,直接即时使用,即用户通过网络文件系统的客户端程序提供的人机交互界面,查看存储在网络服务器上的文件;若用户通过人机交互界面选择并双击要使用的文件,这时,用户可以看到文件对应的文件处理程序打开了用户选择的网上文件,比如,若用户选择打开的是一个Word文档,则Word程序被启动、并打开了用户选择的Word文件;用户通过文件对应的处理程序可以对选择、打开的文件处理,比如,查看文件,修改、更新文件;若用户通过文件处理程序对打开的文件进行了修改、保存操作,则用户会看到网上的文件被即时同步更新,或者当用户关闭文件处理程序时,网络文件系统的客户端程序的人机交互界面会提示用户是否要用修改后的文件更新网络上的对应文件。
对于后一种文件即时使用方式,除了不对用户即时打开的文件进行解压缩、以及压缩处理外,网络文件系统的客户端程序对用户选择打开的文件的处理,在技术上与WinZip、WinRAR是类似的;若网络上存储的文件是加密的文件,则网络文件系统的客户端程序在将网上的文件下载、复制到用户计算机本地的临时文件目录前,会先对文件进行解密处理,而在将临时文件目录中被修改、更新的文件同步到网络文件存储服务器上前,网络文件系统的客户端程序会先对要上传的、更新的文件进行加密。
在以上例子中,WinZip、WinRAR以及网络文件系统的客户端程序需要监测文件处理程序针对临时文件目录中用户选择打开的文件(被复制的文件)所进行的文件I/O操作的事件,编写过类似程序的技术人员都知道,这种文件I/O操作监测实现起来并非像描述的那么简单,因为,不同的操作系统的监测方案会有所不同,而且要监测的文件I/O操作事件有时会由于某些原因会捕捉不到(会漏掉)。本发明针对此问题给出一种有效的解决方案,能有效地避免文件I/O操作事件监测的漏检问题。
在本发明中,WinZip、WinRAR、网络文件系统的客户端程序之类的程序称为文件管理程序,用户通过WinZip、WinRAR以及网络文件系统的客户端程序等的人机交互界面选择并双击打开的文件称为即时文件。
发明内容
本发明的目的是针对文件管理程序对即时打开的文件的文件I/O操作处理的事件监测需求,提出一种有效、可靠的技术方案,包括方法及相应的系统,避免文件I/O操作事件的漏监测问题。
本发明的方法具体如下。
当用户通过一个文件管理程序的界面选择打开(比如通过鼠标双击打开)一个通过文件管理程序管理的文件时,文件管理程序通过调用用户计算机系统的文件I/O功能将用户选择打开的文件直接复制到用户计算机系统的一个临时文件目录中,或者调用用户计算机系统的文件I/O功能通过一个文件I/O中介系统将用户选择打开的文件复制到用户计算机系统的一个临时文件目录中,之后文件管理程序启动用户选择打开的文件所对应的文件处理程序(比如,对于Word文件,启动Word程序),由文件处理程序调用计算机系统的文件I/O功能,通过文件I/O中介系统打开保存在临时文件目录中的被复制的文件;
在用户通过文件处理程序对打开的文件进行操作的过程中,若文件处理程序需要对保存在临时文件目录中的文件进行文件I/O操作(有可能针对的是被复制的文件进行文件I/O操作,有可能是针对与被复制的文件关联的临时创建的文件进行文件I/O操作),则文件处理程序调用用户计算机系统的文件I/O功能,通过文件I/O中介系统对临时文件目录中的被打开的文件进行文件I/O操作(如写文件数据、关闭文件等);
对于文件处理程序通过调用计算机系统的文件I/O功能提交给文件I/O中介系统的文件I/O操作请求,文件I/O中介系统通过调用用户计算机系统的文件I/O功能,针对临时文件目录中被打开的文件进行对应的文件I/O操作(即与文件处理程序调用的文件I/O功能相对应的文件I/O操作);文件I/O中介系统将对文件进行操作的文件I/O操作事件及信息通知文件管理程序;
所述文件管理程序是一个对存储在本地文件容器或网络文件存储系统中的文件进行管理的程序;所述文件容器是一个存储文件的数据结构或系统;
所述文件I/O中介系统是一个提供文件I/O操作处理功能的软件系统;所述文件I/O中介系统在用户计算机系统的整个文件系统中作为一个新增的文件系统(相对于用户计算机系统原本或原有的文件系统,是一种新增类型的文件系统或定制开发的文件系统;一个计算机系统的文件系统可以包含一个多个不同类型的文件系统,除了原本自带的文件系统外,可以增加新类型的文件系统或定制开发的文件系统);所述文件I/O中介系统在用户计算机系统的文件系统中对应或映射为一个文件目录或文件盘;
所述文件I/O操作事件及信息包括所进行的文件I/O操作的类型(如读、写、修改文件长度、关闭文件)以及与文件I/O操作相关的信息(包括操作参数以及文件信息,比如,更新后的文件长度、文件分配长度等)。
在以上所述方法中,若将用户选择打开的文件复制到用户计算机系统的一个临时文件目录中的操作,是由文件管理程序(通过调用用户计算机系统的文件I/O功能)直接将用户选择打开的文件复制到临时文件目录中来完成的,则:
文件管理程序启动用户选择打开的文件所对应的文件处理程序时,传递给文件处理程序的文件路径,是一个指向文件I/O中介系统所对应或映射的文件目录或文件盘中的文件的文件路径,且传递给文件处理程序的文件路径中包含或编码了临时文件目录中的被复制的文件在用户计算机原有文件系统中的文件路径;文件处理程序依此接收到的文件路径调用用户计算机系统的文件I/O功能打开文件;所述用户计算机原有文件系统指不包含文件I/O中介系统时用户计算机系统的文件系统;
当接收到文件处理程序通过调用用户计算机系统的文件I/O功能提交的打开或创建文件的文件I/O请求后,文件I/O中介系统从文件打开或创建请求中的文件路径中分离出或获得临时文件目录中的被复制的文件在用户计算机原有文件系统中的文件路径,然后利用分离出或获得的文件路径、调用用户计算机系统的文件I/O功能打开或创建临时文件目录中的文件。
进一步地,若将用户选择打开的文件复制到用户计算机系统的一个临时文件目录中的操作,是由文件管理程序(通过调用用户计算机系统的文件I/O功能)直接将用户选择打开的文件复制到临时文件目录中来完成的,且文件管理程序启动文件处理程序时传递给文件处理程序的文件路径中包含或编码的临时文件目录中的被复制的文件的文件路径是文件相对于临时文件目录的相对路径,则所述文件I/O中介系统根据预先的设置获得临时文件目录在用户计算机原有文件系统中的目录路径,从文件处理程序的打开或创建文件的文件I/O请求中的文件路径中分离出出或获得临时文件目录中的被复制的文件相对于临时文件目录的相对路径,然后在此基础上构造出临时文件目录中的被复制的文件在用户计算机原有文件系统中的完整文件路径;
若将用户选择打开的文件复制到用户计算机系统的一个临时文件目录中的操作,是由文件管理程序(通过调用用户计算机系统的文件I/O功能)直接将用户选择打开的文件复制到临时文件目录中来完成的,且文件管理程序启动文件处理程序时传递给文件处理程序的文件路径中包含或编码的临时文件目录中的被复制的文件的文件路径是相对于根目录的完整路径,则所述文件I/O中介系统从文件处理程序的打开或创建文件的文件I/O请求中的文件路径中,分离出或获得临时文件目录中的被复制的文件在用户计算机原有文件系统中的完整文件路径。
对于以上所述方法,若将用户选择打开的文件复制到用户计算机文件系统的一个临时文件目录中的操作是由文件管理程序调用用户计算机系统的文件I/O功能通过文件I/O中介系统来完成的,则文件管理程序调用用户计算机系统的文件I/O功能通过文件I/O中介系统将用户选择打开的文件复制到用户计算机文件系统的一个临时文件目录中的方式包括:
文件管理程序调用用户计算机系统的文件I/O功能直接将要复制的文件复制到文件I/O中介系统对应或映射的文件目录或文件盘中,而文件I/O中介系统将要复制的文件复制到临时文件目录;
或者,文件管理程序调用用户计算机系统的文件I/O功能将要复制的文件复制到一个文件目录软链接,而文件目录软链接指向文件I/O中介系统对应或映射的文件目录或文件盘,用户计算机系统的文件I/O系统通过文件目录软链接将文件管理程序要复制的文件复制到文件I/O中介系统对应或映射的文件目录或文件盘中,而文件I/O中介系统将要复制的文件复制到临时文件目录(实际情况是,对于在文件目录软链接中打开或创建文件的文件I/O请求,都被用户计算机系统的文件I/O系统转化为在文件I/O中介系统对应或映射的文件目录或文件盘中打开或创建文件的文件I/O请求,之后所有的文件I/O操作请求都是针对文件I/O中介系统对应或映射的文件目录或文件盘中被打开或创建的文件);
在前种文件复制方式下,文件管理程序启动用户选择打开的文件所对应的文件处理程序后,向文件处理程序传递的文件路径是文件管理程序直接将文件复制到文件I/O中介系统对应或映射的文件目录或文件盘中时的文件路径,而文件处理程序依此接收到的文件路径调用用户计算机系统的文件I/O功能打开文件;
在后种文件复制方式下,文件管理程序启动用户要打开的文件所对应的文件处理程序后,向文件处理程序传递的文件路径是文件管理程序将文件复制到文件目录软链接时的文件路径,而文件处理程序依此接收到的文件路径调用用户计算机系统的文件I/O功能打开文件;
无论是前种还是后种文件复制方式,对于文件管理程序向文件I/O中介系统对应或映射的文件目录或文件盘中复制文件所产生的文件I/O操作请求(并非单个文件I/O操作请求,通常是一组文件I/O操作请求),文件I/O中介系统通过调用用户计算机系统的文件I/O功能,将其转化为向临时文件目录进行复制文件的文件I/O操作(同样地,非单个文件I/O操作请求,而是对应一组文件I/O操作请求)。
进一步地,若将用户选择打开的文件复制到用户计算机系统的一个临时文件目录中的操作,是由文件管理程序调用计算机系统的文件I/O功能直接通过文件I/O中介系统将用户选择打开的文件复制到临时文件目录中来完成的,或者是由文件管理程序调用计算机系统的文件I/O功能经一个文件目录软链接,然后通过文件I/O中介系统将用户选择打开的文件复制到临时文件目录中来完成的,则:
在文件管理程序通过文件I/O中介系统进行文件复制时,或者文件管理程序启动文件处理程序后,文件处理程序通过文件I/O中介系统对临时文件目录中的文件进行文件I/O操作时,文件管理程序和文件处理程序传递给文件I/O中介系统的文件I/O操作请求中的文件路径(这个文件路径实际上是个虚拟的文件路径)中包含或编码了临时文件目录在用户计算机原有文件系统中的目录路径信息(临时文件目录的完整路径或相对路径),而文件I/O中介系统从文件I/O操作请求中的文件路径中分离出或获得临时文件目录的目录路径信息,并构造出文件I/O操作所针对的文件在用户计算机原有文件系统中的包含临时文件目录的(目录路径的)完整路径(此操作只需在打开或创建文件时进行);若传递给文件I/O中介系统的文件I/O操作请求中的文件路径中包含或编码的临时文件目录在用户计算机原有文件系统中的目录路径信息是相对路径,则文件I/O中介系统通过预先设置的信息构造出临时文件目录在用户计算机原有文件系统中的完整目录路径;
或者,在文件管理程序通过文件I/O中介系统进行文件复制时,或者文件管理程序启动文件处理程序通过文件I/O中介系统对临时文件目录中的文件进行文件I/O操作时,文件I/O中介系统根据预先设置的映射关系,将传递给文件I/O中介系统的文件I/O操作请求中的文件路径映射为文件在用户计算机原有文件系统中的包含临时文件目录的(目录路径的)完整路径。
对于以上所述方法,在文件处理程序调用计算机系统的文件I/O功能对临时文件目录中的文件进行文件I/O操作的过程中,若需要对文件数据和/或文件信息进行转换操作(如对文件数据加密、解密处理,或压缩、解压缩处理,或者进行文件长度、文件分配长度、文件属性变换等),则文件I/O中介系统在对临时文件目录中的文件进行文件I/O操作时,对文件数据和/或文件信息进行转换操作。
针对以上所述方法的文件I/O中介系统如下:
所述文件I/O中介系统包括文件系统驱动;所述文件I/O中介系统通过文件系统驱动(向各种程序)提供文件I/O操作处理功能;
所述文件I/O中介系统在用户计算机系统的文件系统中对应或映射为一个文件目录或文件盘,并通过文件系统驱动接收向其对应或映射的文件目录或文件盘发出的文件I/O操作请求;对于针对文件I/O中介系统所对应或映射的文件目录或文件盘发出的文件I/O操作请求,文件I/O中介系统通过调用用户计算机系统的文件I/O功能,针对用户计算机系统的文件系统中的一个临时文件目录中的文件进行文件I/O操作;
当用户通过文件管理程序选择打开一个文件时,所述文件I/O中介系统按前述即时文件处理方法,对用户选择打开的文件进行文件I/O操作处理。
以上所述文件I/O中介系统通过操作系统内核空间(内核层)与用户空间(用户层)之间的通信机制,由文件系统驱动将文件I/O操作事件及信息通知文件管理程序,或者所述文件I/O中介系统还包括一个用户空间(用户层)的程序,文件I/O中介系统由其用户空间的程序,通过进程之间的通信机制,将文件I/O操作事件及信息通知文件管理程序。
进一步地,若以上所述文件I/O中介系统是一个基于用户空间文件系统(FileSystem in User Space,FUSE)技术开发的系统,则:
对于针对用户打开的文件的文件I/O操作请求,所述文件I/O中介系统由其用户空间程序调用用户计算机系统的文件I/O操作功能,针对临时文件目录中的文件完成对应的文件I/O操作,并在需要进行文件数据和/或文件信息转换操作时,由其用户空间程序完成转换操作。
若所述文件I/O中介系统是一个基于用户空间文件系统技术开发的系统,且文件管理程序也属于所述文件I/O中介系统的用户空间程序(的一部分),则所述文件I/O中介系统的用户空间程序中进行文件I/O操作处理的程序代码,通过进程内部的通信机制,将文件I/O操作事件及信息传递给文件I/O中介系统的用户空间程序中的进行文件管理的程序代码(对应前面所述文件管理程序的代码部分)。
从以上描述可以看到,基于本发明的方案,由于文件处理程序针对临时文件目录中的即时文件的文件I/O操作都是通过文件I/O中介系统进行的,因此,文件I/O中介系统知道文件处理程序的所有文件I/O操作事件,并可及时将文件管理程序关心的文件I/O操作事件及相关信息通知文件管理程序,不会出现文件I/O操作事件的漏监测的问题;进一步地,基于本发明的方案,文件I/O中介系统能在文件处理程序对即时文件进行I/O操作过程中能自动对文件数据进行转化处理,比如,进行加密、解密,压缩、解压缩处理等,这在有些情况下是非常有用的,比如,当用于对网络文件系统中存储的加密文件进行即时操作时就非常有用,因为网络文件系统的客户端程序通常不关心文件是否是加密文件,通常没有自动对文件进行加密、解密处理的功能,而由文件I/O中介系统提供此功能使得网络文件系统的客户端程序无需关心文件加密、解密功能,无需为了实现文件的加密、解密而对网络文件系统进行修改。
附图说明
图1本发明的方法及系统示意图
图2本发明在文件I/O中介系统为用户空间文件系统时的示意图
具体实施方式
下面对本发明的具体实施进行描述。以下实例不代表所有的实施方式,不作为对发明的限定。
实施例1
在第一个实施例中,当用户通过一个文件管理程序的界面选择打开一个文件时,文件管理程序直接将用户选择打开的文件复制到用户计算机文件系统的一个临时文件目录中,然后启动用户选择打开的文件所对应的文件处理程序,文件处理程序调用计算机系统的文件I/O功能,通过文件中介文件系统打开保存在临时文件目录中的文件;
在用户通过文件处理程序对打开的文件进行操作的过程中,若文件处理程序需要对打开的文件进行文件I/O操作,则文件处理程序调用用户计算系统的文件I/O功能通过中介文件系统对打开的、保存在临时文件目录中的文件进行文件I/O操作(如写文件数据、关闭文件等);
对于文件处理程序的文件I/O操作请求,文件I/O中介系统通过调用用户计算机系统的对应文件I/O功能,针对临时文件目录中被打开的文件进行对应的文件I/O操作;文件I/O中介系统将文件处理程序对文件的文件I/O操作事件及信息通知文件管理程序。
在此实施例中,文件管理程序启动用户选择打开的文件所对应的文件处理程序时,传递给文件处理程序的文件路径,是一个指向文件I/O中介系统所对应或映射的文件目录或文件盘中的文件的文件路径,且传递给文件处理程序的文件路径中包含或编码了临时文件目录中的被复制的文件在用户计算机原有文件系统中的文件路径。
此实施例中,文件I/O中介系统获得临时文件目录中的文件在用户计算机原有文件系统中的完整文件路径的方式又包括两种情形:
若文件管理程序传递给文件处理程序的文件路径中包含或编码的临时文件目录中的被复制的文件的文件路径是文件相对于临时文件目录的相对路径,文件I/O中介系统通过配置文件或硬编码知道临时文件目录在用户计算机原有文件系统的完整目录路径,并从文件处理程序的打开文件的文件I/O请求中的文件路径中,分离出或获得临时文件目录中的被复制的文件相对临时文件目录的相对路径,然后在此基础上构造出临时文件目录中的被复制的文件在用户计算机原有文件系统中的完整文件路径;
若文件管理程序传递给文件处理程序的文件路径中包含或编码的临时文件目录中的被复制的文件的文件路径是文件在用户计算机原有文件系统中相对于根目录的完整文件路径,则文件I/O中介系统从文件处理程序的打开或创建文件的文件I/O请求中的文件路径中,分离出或获得临时文件目录中的被复制的文件在用户计算机原有文件系统中的完整文件路径。
实施例2
在第二个实施例中,当用户通过一个文件管理程序的界面选择打开一个文件时,文件管理程序调用用户计算机系统的文件I/O功能通过文件I/O中介系统直接将用户选择打开的文件复制到用户计算机文件系统的一个临时文件目录中,然后启动用户选择打开的文件对应的文件处理程序,由文件处理程序通过文件中介文件系统打开保存在临时文件目录中的文件;
在用户通过文件处理程序对打开的文件进行操作的过程中,若文件处理程序需要对打开的文件进行文件I/O操作,文件处理程序调用用户计算系统的文件I/O功能对通过中介文件系统打开的、保存在临时文件目录中的文件进行文件I/O操作(如写文件数据、关闭文件等);
对于文件处理程序的文件I/O操作请求,文件I/O中介系统通过调用用户计算机系统的对应文件I/O功能,针对临时文件目录中被打开的文件进行对应的文件I/O操作;文件I/O中介系统将文件处理程序对文件的文件I/O操作事件及信息通知文件管理程序。
在此实施例中,文件管理程序启动用户选择打开的文件所对应的文件处理程序时,传递给文件处理程序的文件路径是文件管理程序直接将文件复制到文件I/O中介系统对应或映射的文件目录或文件盘中时的文件路径。
此实施例中,文件I/O中介系统获得临时文件目录中的文件在用户计算机原有文件系统中的完整文件路径的方式又包括两种情形:
在文件管理程序通过文件I/O中介系统进行文件复制时,或者文件管理程序启动文件处理程序,之后文件处理程序通过文件I/O中介系统对临时文件目录中的文件进行文件I/O操作时,传递给文件I/O中介系统的文件I/O操作请求中的文件路径(这个文件路径实际上是个虚拟的文件路径)中包含或编码了临时文件目录在用户计算机原有文件系统中的目录路径信息(临时文件目录的完整路径或相对路径),而文件I/O中介系统从文件I/O操作请求中的文件路径中分离出或获得临时文件目录的目录路径信息,并构造出文件I/O操作所针对的文件在用户计算机原有文件系统中的包含临时文件目录的(目录路径的)完整路径(此操作只需在打开或创建目标文件时进行);若传递给文件I/O中介系统的文件I/O操作请求中的文件路径中包含或编码的临时文件目录在用户计算机原有文件系统中的目录路径信息是相对路径,则文件I/O中介系统通过预先的配置或设置信息构造出临时文件目录在用户计算机原有文件系统中的完整目录路径;
或者,在文件管理程序通过文件I/O中介系统进行文件复制时,或者文件管理程序启动文件处理程序通过文件I/O中介系统对临时文件目录中的文件进行文件I/O操作时,文件I/O中介系统根据预先设置的映射关系,将传递给文件I/O中介系统的文件I/O操作请求中的文件路径映射为文件在用户计算机原有文件系统中的包含临时文件目录的(目录路径)完整路径。
实施例3
在第三个实施例中,当用户通过一个文件管理程序的界面选择打开一个文件时,文件管理程序调用用户计算机系统的文件I/O功能将要复制的文件复制到一个文件目录软链接,而文件目录软链接指向文件I/O中介系统对应或映射的文件目录或文件盘,用户计算机系统的文件I/O系统通过文件目录软链接将文件管理程序要复制的文件复制到文件I/O中介系统对应或映射的文件目录或文件盘中,然后再由文件I/O中介系统将要复制的文件复制到临时文件目录;
之后,文件管理程序启动用户选择打开的文件对应的文件处理程序,由文件处理程序经一个文件目录软链接并通过文件中介文件系统打开保存在临时文件目录中的文件;
在用户通过文件处理程序对打开的文件进行操作的过程中,若文件处理程序需要对打开的文件进行文件I/O操作,文件处理程序调用用户计算系统的文件I/O功能对经文件目录软链接并通过中介文件系统打开的、保存在临时文件目录中的文件进行文件I/O操作(如写文件数据、关闭文件等);
对于文件处理程序的文件I/O操作请求,文件I/O中介系统通过调用用户计算机系统的对应文件I/O功能,针对临时文件目录中被打开的文件进行对应的文件I/O操作;文件I/O中介系统将文件处理程序对文件的文件I/O操作事件及信息通知文件管理程序。
在此实施例中,文件管理程序启动用户要打开的文件所对应的文件处理程序后,向文件处理程序传递的文件路径是文件管理程序将文件复制到文件目录软链接时的文件路径。
此实施例中,文件I/O中介系统获得临时文件目录中的文件在用户计算机原有文件系统中的完整文件路径的方式又包括两种情形:
在文件管理程序通过文件I/O中介系统进行文件复制时,或者文件管理程序启动文件处理程序,之后文件处理程序通过文件I/O中介系统对临时文件目录中的文件进行文件I/O操作时,传递给文件I/O中介系统的文件I/O操作请求中的文件路径(这个文件路径实际上是个虚拟的文件路径)中包含或编码了临时文件目录在用户计算机原有文件系统中的目录路径信息(临时文件目录的完整路径或相对路径),而文件I/O中介系统从文件I/O操作请求中的文件路径中分离出或获得临时文件目录的目录路径信息,并构造出文件I/O操作所针对的文件在用户计算机原有文件系统中的包含临时文件目录的(目录路径的)完整路径(此操作只需在打开或创建目标文件时进行);若传递给文件I/O中介系统的文件I/O操作请求中的文件路径中包含或编码的临时文件目录在用户计算机原有文件系统中的目录路径信息是相对路径,则文件I/O中介系统通过预先的配置或设置信息构造出临时文件目录在用户计算机原有文件系统中的完整目录路径;
或者,在文件管理程序通过文件I/O中介系统进行文件复制时,或者文件管理程序启动文件处理程序通过文件I/O中介系统对临时文件目录中的文件进行文件I/O操作时,文件I/O中介系统根据预先设置的映射关系,将传递给文件I/O中介系统的文件I/O操作请求中的文件路径映射为文件在用户计算机原有文件系统中的包含临时文件目录的(目录路径的)完整路径。
关于在传递给文件I/O中介系统的文件路径中包含或编码临时文件目录中的文件的相对文件路径或在用户计算机原有文件系统中的完整文件路径的方式,实施人员可以自己设计方案(并非一件难事)。
本发明的文件I/O中介系统,从文件I/O功能调用程序的角度是一个定制开发或新增类型的文件系统(但它不进行文件管理);开发实施一个定制的或新增类型的文件系统已是成熟的技术,而在定制或新增类型的文件系统开发技术的基础上,开发一个文件系统并实施本发明的文件I/O中介系统的功能不是一件困难的事,在此不再赘述。
要在用户空间文件系统(FUSE)技术的基础上实施本发明的文件I/O中介系统,也不是一件困难的事,因为目前已有许多的用户空间文件系统(FUSE)技术框架可使用。
其他未说明的具体技术实施,对于相关领域的技术人员而言是众所周知,不言自明的。

Claims (10)

1.一种即时文件处理方法,其特征是:
当用户通过一个文件管理程序的界面选择打开一个通过文件管理程序管理的文件时,文件管理程序通过调用用户计算机系统的文件I/O功能将用户选择打开的文件直接复制到用户计算机系统的一个临时文件目录中,或者调用用户计算机系统的文件I/O功能通过一个文件I/O中介系统将用户选择打开的文件复制到用户计算机系统的一个临时文件目录中,之后文件管理程序启动用户选择打开的文件所对应的文件处理程序,由文件处理程序调用计算机系统的文件I/O功能,通过文件I/O中介系统打开保存在临时文件目录中的被复制的文件;
在用户通过文件处理程序对打开的文件进行操作的过程中,若文件处理程序需要对保存在临时文件目录中的文件进行文件I/O操作,则文件处理程序调用用户计算机系统的文件I/O功能,通过文件I/O中介系统对临时文件目录中的被打开的文件进行文件I/O操作;
对于文件处理程序通过调用计算机系统的文件I/O功能提交给文件I/O中介系统的文件I/O操作请求,文件I/O中介系统通过调用用户计算机系统的文件I/O功能,针对临时文件目录中被打开的文件进行对应的文件I/O操作;文件I/O中介系统将对文件进行操作的文件I/O操作事件及信息通知文件管理程序;
所述文件管理程序是一个对存储在本地文件容器或网络文件存储系统中的文件进行管理的程序;所述文件容器是一个存储文件的数据结构或系统;
所述文件I/O中介系统是一个提供文件I/O操作处理功能的软件系统;所述文件I/O中介系统在用户计算机系统的整个文件系统中作为一个新增的文件系统;所述文件I/O中介系统在用户计算机系统的文件系统中对应或映射为一个文件目录或文件盘;
所述文件I/O操作事件及信息包括所进行的文件I/O操作的类型以及与文件I/O操作相关的信息。
2.根据权利要求1所述的即时文件处理方法,其特征是:
若将用户选择打开的文件复制到用户计算机系统的一个临时文件目录中的操作,是由文件管理程序直接将用户选择打开的文件复制到临时文件目录中来完成的,则:
文件管理程序启动用户选择打开的文件所对应的文件处理程序时,传递给文件处理程序的文件路径,是一个指向文件I/O中介系统所对应或映射的文件目录或文件盘中的文件的文件路径,且传递给文件处理程序的文件路径中包含或编码了临时文件目录中的被复制的文件在用户计算机原有文件系统中的文件路径;文件处理程序依此接收到的文件路径调用用户计算机系统的文件I/O功能打开文件;所述用户计算机原有文件系统指不包含文件I/O中介系统时用户计算机系统的文件系统;
当接收到文件处理程序通过调用用户计算机系统的文件I/O功能提交的打开或创建文件的文件I/O请求后,文件I/O中介系统从文件打开或创建请求中的文件路径中分离出或获得临时文件目录中的被复制的文件在用户计算机原有文件系统中的文件路径,然后利用分离出或获得的文件路径、调用用户计算机系统的文件I/O功能打开或创建临时文件目录中的文件。
3.根据权利要求2所述的即时文件处理方法,其特征是:
若将用户选择打开的文件复制到用户计算机系统的一个临时文件目录中的操作,是由文件管理程序直接将用户选择打开的文件复制到临时文件目录中来完成的,且文件管理程序启动文件处理程序时传递给文件处理程序的文件路径中包含或编码的临时文件目录中的被复制的文件的文件路径是文件相对于临时文件目录的相对路径,则所述文件I/O中介系统根据预先的设置获得临时文件目录在用户计算机原有文件系统中的目录路径,从文件处理程序的打开或创建文件的文件I/O请求中的文件路径中分离出出或获得临时文件目录中的被复制的文件相对于临时文件目录的相对路径,然后在此基础上构造出临时文件目录中的被复制的文件在用户计算机原有文件系统中的完整文件路径;
若将用户选择打开的文件复制到用户计算机系统的一个临时文件目录中的操作,是由文件管理程序直接将用户选择打开的文件复制到临时文件目录中来完成的,且文件管理程序启动文件处理程序时传递给文件处理程序的文件路径中包含或编码的临时文件目录中的被复制的文件的文件路径是相对于根目录的完整路径,则所述文件I/O中介系统从文件处理程序的打开或创建文件的文件I/O请求中的文件路径中,分离出或获得临时文件目录中的被复制的文件在用户计算机原有文件系统中的完整文件路径。
4.根据权利要求1所述的即时文件处理方法,其特征是:
所述文件管理程序调用用户计算机系统的文件I/O功能通过文件I/O中介系统将用户选择打开的文件复制到用户计算机文件系统的一个临时文件目录中的方式包括:
文件管理程序调用用户计算机系统的文件I/O功能直接将要复制的文件复制到文件I/O中介系统对应或映射的文件目录或文件盘中,而文件I/O中介系统将要复制的文件复制到临时文件目录;
或者,文件管理程序调用用户计算机系统的文件I/O功能将要复制的文件复制到一个文件目录软链接,而文件目录软链接指向文件I/O中介系统对应或映射的文件目录或文件盘,用户计算机系统的文件I/O系统通过文件目录软链接将文件管理程序要复制的文件复制到文件I/O中介系统对应或映射的文件目录或文件盘中,而文件I/O中介系统将要复制的文件复制到临时文件目录;
在前种文件复制方式下,文件管理程序启动用户选择打开的文件所对应的文件处理程序后,向文件处理程序传递的文件路径是文件管理程序直接将文件复制到文件I/O中介系统对应或映射的文件目录或文件盘中时的文件路径,而文件处理程序依此接收到的文件路径调用用户计算机系统的文件I/O功能打开文件;
在后种文件复制方式下,文件管理程序启动用户要打开的文件所对应的文件处理程序后,向文件处理程序传递的文件路径是文件管理程序将文件复制到文件目录软链接时的文件路径,而文件处理程序依此接收到的文件路径调用用户计算机系统的文件I/O功能打开文件;
无论是前种还是后种文件复制方式,对于文件管理程序向文件I/O中介系统对应或映射的文件目录或文件盘中复制文件所产生的文件I/O操作请求,文件I/O中介系统通过调用用户计算机系统的文件I/O功能,将其转化为向临时文件目录进行复制文件的文件I/O操作。
5.根据权利要求4所述的即时文件处理方法,其特征是:
若将用户选择打开的文件复制到用户计算机系统的一个临时文件目录中的操作,是由文件管理程序调用计算机系统的文件I/O功能直接通过文件I/O中介系统将用户选择打开的文件复制到临时文件目录中来完成的,或者是由文件管理程序调用计算机系统的文件I/O功能经一个文件目录软链接,然后通过文件I/O中介系统将用户选择打开的文件复制到临时文件目录中来完成的,则:
在文件管理程序通过文件I/O中介系统进行文件复制时,或者文件管理程序启动文件处理程序后,文件处理程序通过文件I/O中介系统对临时文件目录中的文件进行文件I/O操作时,文件管理程序和文件处理程序传递给文件I/O中介系统的文件I/O操作请求中的文件路径中包含或编码了临时文件目录在用户计算机原有文件系统中的目录路径信息,而文件I/O中介系统从文件I/O操作请求中的文件路径中分离出或获得临时文件目录的目录路径信息,并构造出文件I/O操作所针对的文件在用户计算机原有文件系统中的包含临时文件目录的完整路径;若传递给文件I/O中介系统的文件I/O操作请求中的文件路径中包含或编码的临时文件目录在用户计算机原有文件系统中的目录路径信息是相对路径,则文件I/O中介系统通过预先设置的信息构造出临时文件目录在用户计算机原有文件系统中的完整目录路径;
或者,在文件管理程序通过文件I/O中介系统进行文件复制时,或者文件管理程序启动文件处理程序通过文件I/O中介系统对临时文件目录中的文件进行文件I/O操作时,文件I/O中介系统根据预先设置的映射关系,将传递给文件I/O中介系统的文件I/O操作请求中的文件路径映射为文件在用户计算机原有文件系统中的包含临时文件目录的完整路径。
6.根据权利要求1所述的即时文件处理方法,其特征是:
在文件处理程序调用计算机系统的文件I/O功能对临时文件目录中的文件进行文件I/O操作的过程中,若需要对文件数据和/或文件信息进行转换操作,则文件I/O中介系统在对临时文件目录中的文件进行文件I/O操作时,对文件数据和/或文件信息进行转换操作。
7.一种基于权利要求1-6中任一项的文件I/O中介系统,其特征是:
所述文件I/O中介系统包括文件系统驱动;所述文件I/O中介系统通过文件系统驱动提供文件I/O操作处理功能;
所述文件I/O中介系统在用户计算机系统的文件系统中对应或映射为一个文件目录或文件盘,并通过文件系统驱动接收向其对应或映射的文件目录或文件盘发出的文件I/O操作请求;对于针对文件I/O中介系统所对应或映射的文件目录或文件盘发出的文件I/O操作请求,文件I/O中介系统通过调用用户计算机系统的文件I/O功能,针对用户计算机系统的文件系统中的一个临时文件目录中的文件进行文件I/O操作;
当用户通过文件管理程序选择打开一个文件时,所述文件I/O中介系统按前述即时文件处理方法,对用户选择打开的文件进行文件I/O操作处理。
8.根据权利要求7所述的文件I/O中介系统,其特征是:
所述文件I/O中介系统通过操作系统内核空间与用户空间之间的通信机制,由文件系统驱动将文件I/O操作事件及信息通知文件管理程序,或者所述文件I/O中介系统还包括一个用户空间的程序,文件I/O中介系统由其用户空间的程序,通过进程之间的通信机制,将文件I/O操作事件及信息通知文件管理程序。
9.根据权利要求8所述的文件I/O中介系统,其特征是:
若所述文件I/O中介系统是一个基于用户空间文件系统技术开发的系统,则:
对于针对用户打开的文件的文件I/O操作请求,所述文件I/O中介系统由其用户空间程序调用用户计算机系统的文件I/O操作功能,针对临时文件目录中的文件完成对应的文件I/O操作,并在需要进行文件数据和/或文件信息转换操作时,由其用户空间程序完成转换操作。
10.根据权利要求9所述的文件I/O中介系统,其特征是:
若所述文件I/O中介系统是一个基于用户空间文件系统技术开发的系统,且文件管理程序也属于所述文件I/O中介系统的用户空间程序,则所述文件I/O中介系统的用户空间程序中进行文件I/O操作处理的程序代码,通过进程内部的通信机制,将文件I/O操作事件及信息传递给文件I/O中介系统的用户空间程序中的进行文件管理的程序代码。
CN201811612858.8A 2018-12-27 2018-12-27 一种即时文件处理方法及系统 Active CN109800210B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811612858.8A CN109800210B (zh) 2018-12-27 2018-12-27 一种即时文件处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811612858.8A CN109800210B (zh) 2018-12-27 2018-12-27 一种即时文件处理方法及系统

Publications (2)

Publication Number Publication Date
CN109800210A true CN109800210A (zh) 2019-05-24
CN109800210B CN109800210B (zh) 2022-11-25

Family

ID=66557799

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811612858.8A Active CN109800210B (zh) 2018-12-27 2018-12-27 一种即时文件处理方法及系统

Country Status (1)

Country Link
CN (1) CN109800210B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020143795A1 (en) * 2001-04-03 2002-10-03 Fletcher Thomas O.P. Improved method and system of computer file management
CN103488954A (zh) * 2013-10-16 2014-01-01 武汉理工大学 一种文件加密系统
CN103745162A (zh) * 2014-01-10 2014-04-23 武汉理工大学 一种安全网络文件存储系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020143795A1 (en) * 2001-04-03 2002-10-03 Fletcher Thomas O.P. Improved method and system of computer file management
CN103488954A (zh) * 2013-10-16 2014-01-01 武汉理工大学 一种文件加密系统
CN103745162A (zh) * 2014-01-10 2014-04-23 武汉理工大学 一种安全网络文件存储系统

Also Published As

Publication number Publication date
CN109800210B (zh) 2022-11-25

Similar Documents

Publication Publication Date Title
US11356509B2 (en) Service and APIs for remote volume-based block storage
JP7113016B2 (ja) ファイルシステムデータ階層のクラウド移行
US20240211487A1 (en) System and method for duplicating an application state
US20210216583A1 (en) Edge-computing-oriented construction method for container mirror image
JP5591938B2 (ja) 仮想データベースシステム
KR101658964B1 (ko) 가상 데이터베이스를 사용하는 데이터센터 작업흐름 자동화 시나리오를 위한 시스템 및 방법
CN110178127A (zh) 用于恢复在基于对象的存储处存档的数据容器的方法和系统
US20010042073A1 (en) Method and system for automatically updating the version of a set of files stored on content servers
US8812683B2 (en) Service scripting framework
US11206316B2 (en) Multiple model injection for a deployment cluster
CN107710215A (zh) 在测试设施中的移动计算装置安全的方法和设备
JP2020500359A (ja) 制限されないデータセットを伴う制限されたデータセットのクラウド・ネットワークへの格納およびクラウド・ネットワークからの取得のためのコンピュータ・プログラム、コンピュータ・システム、および方法
CN108037937A (zh) 一种动态更新资源的方法
US8793371B1 (en) Common configuration warehouse for a storage system
CN103942281A (zh) 一种对持久化存储的对象进行操作的方法及装置
WO2011117958A1 (ja) 仮想マシン管理装置、仮想マシン管理方法、及びプログラム
US11728928B2 (en) Securely sharing public and private blockchain data
US7107272B1 (en) Independent distributed metadata system and method
CN109800210A (zh) 一种即时文件处理方法及系统
US11449629B2 (en) Data transfer management system and data transfer management method
US10600008B2 (en) System implementing electronic case versioning
US9596292B1 (en) Client-side scripts in a service-oriented API environment
JP5403446B2 (ja) 仮想マシン管理装置、仮想マシン管理システム、仮想マシン管理方法、及びプログラム
US20240036946A1 (en) Event provisioning for high-level programing language platform
EP3566125B1 (en) Compression and secure, end-to-end encrypted, zfs cloud storage

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