CN1667608A - 在计算机系统内访问至少一个目标文件的方法和系统 - Google Patents

在计算机系统内访问至少一个目标文件的方法和系统 Download PDF

Info

Publication number
CN1667608A
CN1667608A CNA2004100925776A CN200410092577A CN1667608A CN 1667608 A CN1667608 A CN 1667608A CN A2004100925776 A CNA2004100925776 A CN A2004100925776A CN 200410092577 A CN200410092577 A CN 200410092577A CN 1667608 A CN1667608 A CN 1667608A
Authority
CN
China
Prior art keywords
file
handle
kernel
collection
identified
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
CNA2004100925776A
Other languages
English (en)
Other versions
CN1667608B (zh
Inventor
本杰明·C·里德
马克·A·斯密斯
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.)
Lenovo Singapore Pte Ltd
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1667608A publication Critical patent/CN1667608A/zh
Application granted granted Critical
Publication of CN1667608B publication Critical patent/CN1667608B/zh
Expired - Fee Related 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
    • 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • 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/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • G06F16/1774Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files

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)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种在一个具有在文件打开时实现文件锁定的操作系统的计算机系统内访问至少一个目标文件的方法和系统。在一个典型实施例中,这种方法和系统包括:(1)获取一个与在计算机系统内打开的所有文件的集合相应的句柄集;(2)在操作系统的内核内确定一个与句柄集相应的文件标识符集;(3)从文件标识符集中标识一个与目标文件相应的文件标识符;(4)在内核内向操作系统的文件系统驱动程序发送一个与所标识的文件标识符相应的读请求分组;以及(5)从文件系统驱动程序接收与目标文件相应的数据。

Description

在计算机系统内访问至少 一个目标文件的方法和系统
相关申请
本申请涉及2003年12月15日递交的共同待审、共同拥有、共同转让的美国专利申请No.(序号未定),代理人案号为No.ARC9-2003-0089。
技术领域
本发明与操作系统有关,特别是涉及在一个具有在文件打开时实现文件锁定的操作系统的计算机系统内访问至少一个目标文件的方法和系统。
背景技术
Microsoft Windows(以下简称为“Windows”)内核和Windows程序具有防止文件被其他过程打开和读取的能力。这是通过打开一个文件和不给其他过程特有权限(诸如读取之类)来实现的。只要这个过程保持将文件打开,其他过程就服从这个过程所允许的权限。其他过程要打开这样的文件的尝试将导致Windows“共享违例(sharingviolation)”,而不能读取这个文件内的数据。
访问打开的文件的需要
然而,在这些文件内的数据可能对于许多应用,特别是备份应用,是极为重要的。例如,对于备份应用(backup application)来说重要的是能读取和备份一个计算机内的每个文件。此外,这些受保护文件中有一些是含有Windows注册表信息的文件,因此是正确操作一个所恢复的备份映像所必需的。
现有技术系统
当前,备份应用采取两个途径中的一个途径来规避这个问题。
扇区式拷贝(sector-wise copy)
在第一现有技术途径中,如现有技术的图1A所示,应用将:(1)对驱动器(drive)上的数据进行扇区式拷贝,如步骤112所示;然后(2)产生盘的整个映像(image),如步骤114所示。不幸的是,这种方法产生驱动器的一个巨大拷贝。此外,这种技术产生一个盘映像,很难对一个文件的扇区定位。这使从此映像进行“单个文件恢复”非常困难。
关机和预引导
应用使用的第二个现有技术途径,如现有技术的图1B所示,是:(1)使计算机关机,如步骤122所示,然后(2)将计算机引入一个“预引导(preboot)”环境,如步骤124所示,(3)在预引导环境内执行文件拷贝,如步骤126所示。计算机或者重新引导,或者完成对Windows的引导。这种方法由于需要重新引导才能拷贝这些文件,因此并不好。此外,在计算机正在运行的同时进行备份是不可能的。
因此,需要有一种方法和系统,其能够在一个具有在文件打开时实现文件锁定的操作系统的计算机系统内访问至少一个目标文件。
发明内容
本发明提供了一种在一个具有在文件打开时实现文件锁定的操作系统的计算机系统内访问至少一个目标文件的方法和系统。在一个典型实施例中,这种方法和系统包括:(1)获取一个与在计算机系统内打开的所有文件的集合相应的句柄集;(2)在操作系统的内核内确定一个与句柄集相应的文件标识集;(3)从文件标识符集中标识一个与目标文件相应的文件标识符;(4)在内核内向操作系统的文件系统驱动程序(file system driver)发送一个与所标识的文件标识符相应的读请求分组;以及(5)从文件系统驱动程序接收与目标文件相应的数据。
在一个典型实施例中,获取句柄集包括:(a)向内核发布一个NtQuerySystemInformation(Nt查询系统信息),其中所述NtQuerySystemInforrnation请求有关句柄集内每个句柄的所有信息;以及(b)从内核获取对于在句柄集内每个句柄的一个SYSTEM_HANDLE_INFORMATION(系统句柄信息)数组,其中所述SYSTEM_HANDLE_INFORMATION包括一个FILE_OBJECT(文件对象),其中所述FILE_OBJECT包括文件标识符信息。
在一个典型实施例中,确定与句柄集相应的文件标识符集包括对于句柄集内每个句柄向内核传送一个指向与这个句柄相应的FILE_OBJECT的指针。在一个进一步的实施例中,确定包括对于句柄集内每个句柄从内核内输出一个与所传送的FILE_OBJECT相应的文件标识符。
在一个典型实施例中,标识与目标文件相应的文件标识符包括标识与所标识的与目标文件相应的文件标识符相应的FILE_OBJECT。
在一个典型实施例中,发送读请求分组包括:(a)向内核传送所标识的FILE_OBJECT;以及(b)通过读请求分组向内核请求从与所标识的FILE_OBJECT相应的目标文件读取数据,其中所述读请求分组包括一个中断请求分组(IRP)。在一个进一步的实施例中,请求读取数据包括:(i)在内核内以一定的偏置量和一定长度产生一个与所标识的FILE_OBJECT相应的IRP;以及(ii)向操作系统的文件系统驱动程序传送IRP。
在一个典型实施例中,接收与目标文件相应的数据包括:(a)在内核内从文件系统驱动程序接收来自与所标识的FILE_OBJECT相应的目标文件的数据;以及(b)从内核获取来自与所标识的FILE_OBJECT相应的目标文件的数据。
在一个典型实施例中,这种方法和系统包括:(1)获取一个与在计算机系统内打开的所有文件的集合相应的句柄集;(2)在操作系统的内核内确定一个与句柄集相应的文件标识符集;(3)从文件标识符集中标识一个与目标文件相应的文件标识符;以及(4)在内核内向操作系统的文件系统驱动程序发送一个与所标识的文件标识符相应的读请求分组。
本发明还提供了一种用于可编程计算机的计算机程序产品,具有体现在一个具有在文件打开时实现文件锁定的操作系统的计算机系统内访问至少一个目标文件的可读程序代码。在一个典型实施例中,这种计算机程序产品包括:(1)获取一个与在计算机系统内打开的所有文件的集合相应的句柄集的计算机可读代码;(2)在操作系统的内核内确定一个与句柄集相应的文件标识符集的计算机可读代码;(3)从文件标识符集中标识一个与目标文件相应的文件标识符的计算机可读代码;(4)在内核内向操作系统的文件系统驱动程序发送一个与所标识的文件标识符相应的读请求分组的计算机可读代码;以及(5)从文件系统驱动程序接收与目标文件相应的数据的计算机可读代码。
在一个典型实施例中,这种计算机程序产品包括:(1)获取一个与在计算机系统内打开的所有文件的集合相应的句柄集的计算机可读代码;(2)在操作系统的内核内确定一个与句柄集相应的文件标识符集的计算机可读代码;(3)从文件标识符集中标识一个与目标文件相应的文件标识符的计算机可读代码;以及(4)在内核内向操作系统的文件系统驱动程序发送一个与所标识的文件标识符相应的读请求分组的计算机可读代码。
附图说明
图1A为一种现有技术的流程图。
图1B为另一种现有技术的流程图。
图2为按照本发明的一个典型实施例设计的流程图。
图3为按照本发明的一个典型实施例设计的获取步骤的流程图。
图4A为按照本发明的一个典型实施例设计的确定步骤的流程图。
图4B为按照本发明的另一个典型实施例设计的确定步骤的流程图。
图5为按照本发明的一个典型实施例设计的标识步骤的流程图。
图6A为按照本发明的一个典型实施例设计的发送步骤的流程图。
图6B为按照本发明的另一个典型实施例设计的发送步骤的流程图。
图7为按照本发明的一个典型实施例设计的接收步骤的流程图。
具体实施方式
本发明提供了一种在一个具有在文件打开时实现文件锁定的操作系统的计算机系统内访问至少一个目标文件的方法和系统。在一个典型实施例中,本发明提供了一种在Windows保持运行的同时读取受保护的Windows文件的内容的方法和系统。本发明提供了一种在具有在文件打开时实现文件锁定的操作系统的计算机系统内访问至少一个目标文件的方法和系统。在一个典型实施例中,这种方法和系统包括:(1)获取一个与在计算机系统内打开的所有文件的集合相应的句柄集;(2)在操作系统的内核内确定一个与句柄集相应的文件标识符集;(3)从文件标识符集中标识一个与目标文件相应的文件标识符;(4)在内核内向操作系统的文件系统驱动程序发送一个与所标识的文件标识符相应的读请求分组;以及(5)从文件系统驱动程序接收与目标文件相应的数据。
参见图2,在一个典型实施例中,本发明包括:(1)获取一个与在计算机系统内打开的所有文件的集合相应的句柄集的步骤210;(2)在操作系统的内核内确定一个与句柄集相应的文件标识符集的步骤212;从文件标识符集中标识一个与目标文件相应的文件标识符的步骤214;在内核内向操作系统的文件系统驱动程序发送一个与所标识的文件标识符相应的读请求分组的步骤216;以及从文件系统驱动程序接收与目标文件相应的数据的步骤218。
概述
本发明通过两个相互配合工作在它们之间来回发送数据的程序来读取受保护的Windows文件。在高层,这两个程序中的一个程序(例如wam.sys)在内核内运行,完成实际读取,而另一个程序(例如bam.exe)在用户空间内运行,推导出有关文件的信息,将这信息传送给内核程序,以便给内核程序足够的信息,使它知道从哪里进行读取。然后,内核程序将读出数据返回给用户级程序。
获取句柄集
具体地说,用户级程序向内核发布一个NtQuerySystemlnformation,请求有关打开的文件句柄的所有信息。内核返回在内核内每个打开的句柄的SYSTEM_HANDLE_INFORMATION的数组(array)。
参见图3,在一个典型实施例中,获取步骤210包括:向内核发布一个NtQuerySystemInformation的步骤310,其中所述NtQuerySystemInformation请求有关在句柄集内每个句柄的所有信息;以及(b)从内核获取对于句柄集内每个句柄的一个SYSTEM_HANDLE_INFORMATION数组的步骤312,其中所述SYSTEM_HANDLE_INFORMATION包括一个指向一个FILE_OBJECT的指针,其中所述FILE_OBJECT包括文件标识符信息。
确定与句柄集相应的文件标识符集
然而,仍然需要各文件句柄与名之间的对应关系。仍然需要找出哪个句柄是目标文件的句柄。在SYSTEM_HANDLE_INFORMATION内的一段信息是一个指向一个FILE_OBJECT的指针。FILE_OBJECT含有文件名信息。然而,存储FILE_OBJECT的存储器只能在内核内使用。
因此,用户级程序将一个指向这个存储器的指针传入内核级程序。然后,内核级程序传回这个FILE_OBJECT描述的文件名。
参见图4A,在一个典型实施例中,确定步骤212包括对于句柄集内每个句柄向内核传送一个指向与所述每个句柄相应的FILE_OBJECT的指针的步骤412。在一个进一步的实施例中,如图4B所示,确定步骤212还包括对于句柄集内每个句柄从内核内输出一个与所传送的FILE_OBJECT相应的文件标识符的步骤422。
标识与目标文件相应的文件标识符
用户级程序继续这样执行,直到从内核返回了它所寻找的文件名。它现在就有一个至受保护文件(希望读取的目标文件)的句柄。实质上,已经执行了文件打开。
参见图5,在一个典型实施例中,标识步骤214包括标识与所标识的与目标文件相应的文件标识符相应的FILE_OBJECT的步骤512。
发送读请求分组
在用户空间内用句柄应该能直接进行读取。然而,这句柄仍然受原来保护过程所加的权限的限制,因此尝试读取这个句柄会产生共享违例。
因此,内核级程序将这个FILE_OBJECT传回给内核程序,请求它以一定的偏置量(offset)和PAGE_SIZE(通常为4096个字节)长度从由FILE_OBJECT描述的文件读取数据。简单地从内核发布ZwReadFile也会由于上述原因出现共享违例而失败。
在内核内通过产生一个中断请求分组(IRP)从这个文件提取数据,将它一直传送到这个FILE_OBJECT驻留的基层文件系统(NTFS,FAT32等)。
参见图6A,在一个典型实施例中,发送步骤216包括向内核传送所标识的FILE_OBJECT的步骤612和通过读请求分组向内核请求从与所标识的FILE_OBJECT相应的目标文件读取数据的步骤614,其中所述读请求分组包括一个中断请求分组(IRP)。在一个进一步的实施例中,如图6B所示,请求步骤614包括在内核内以一定的偏置量和一定的长度产生一个与所标识的FILE_OBJECT相应的IRP的步骤622和向操作系统的文件系统驱动程序传送IRP的步骤624。
接收与目标文件相应的数据
文件系统用所请求的数据进行响应,内核程序将这数据传回到用户空间。这样,对一个受保护文件执行了一次读取。以不同的偏置量重复这些读取,直到到达这个文件的末尾,从而得到盘上这个文件的数据的一个理想拷贝。
参见图7,在一个典型实施例中,接收步骤218包括在内核内从文件系统驱动程序接收来自与所标识的FILE_OBJECT相应的目标文件的数据的步骤712和从内核获取来自与所标识的FILE_OBJECT相应的目标文件的数据的步骤714。
总结
从以上对本发明的一个优选实施例和各个备选方案的充分说明中熟悉该技术领域的人员可以看到,按照在这里给出的原理,存在不背离本发明的许多备选方案和等效方案。因此,本发明的专利保护范围不是由以上说明而是由所附权利要求书给出。

Claims (32)

1.一种在一个具有在文件打开时实现文件锁定的操作系统的计算机系统内访问至少一个目标文件的方法,所述方法包括下列步骤:
获取一个与在计算机系统内打开的所有文件的集合相应的句柄集;
在操作系统的内核内确定一个与句柄集相应的文件标识符集;
从文件标识符集中标识一个与目标文件相应的文件标识符;
在内核内向操作系统的文件系统驱动程序发送一个与所标识的文件标识符相应的读请求分组;以及
从文件系统驱动程序接收与目标文件相应的数据。
2.权利要求1的方法,其中所述获取步骤包括:
向内核发布一个NtQuerySystemInformation,其中所述NtQuerySystemInformation请求有关句柄集内每个句柄的所有信息;以及
从内核获取对于句柄集内每个句柄的一个SYSTEM_HANDLE_INFORMATION数组,其中所述SYSTEM_HANDLE_INFORMATION包括一个指向一个FILE_OBJECT的指针,其中所述FILE_OBJECT包括文件标识符信息。
3.权利要求2的方法,其中所述确定步骤包括:
对于句柄集内每个句柄,向内核传送一个指向与所述每个句柄相应的FILE_OBJECT的指针。
4.权利要求3的方法,其中所述确定步骤还包括:
对于句柄集内每个句柄,从内核内输出一个与所传送的FILE_OBJECT相应的文件标识符。
5.权利要求4的方法,其中所述标识步骤包括:
标识与所标识的文件标识符相应的FILE_OBJECT,所述所标识的文件标识符与目标文件相应。
6.权利要求5的方法,其中所述发送步骤包括:
将所标识的FILE_OBJECT传送给内核;以及
通过读请求分组向内核请求从与所标识的FILE_OBJECT相应的目标文件读取数据,其中所述读请求分组包括一个中断请求分组(IRP)。
7.权利要求6的方法,其中所述请求步骤包括:
在内核内以一定的偏置量和一定的长度产生一个与所标识的FILE_OBJECT相应的IRP;以及
向操作系统的文件系统驱动程序传送IRP。
8.权利要求7的方法,其中所述接收步骤包括:
在内核内从文件系统驱动程序接收来自与所标识的FILE_OBJECT相应的目标文件的数据;以及
从内核获取来自与所标识的FILE_OBJECT相应的目标文件的数据。
9.一种在一个具有在文件打开时实现文件锁定的操作系统的计算机系统内访问至少一个目标文件的系统,所述系统包括:
一个配置成获取一个与在计算机系统内打开的所有文件的集合相应的句柄集的获取模块;
一个配置成在操作系统的内核内确定一个与句柄集相应的文件标识符集的确定模块;
一个配置成从文件标识符集中标识一个与目标文件相应的文件标识符的标识模块;
一个配置成在内核内向操作系统的文件系统驱动程序发送一个与所标识的文件标识符相应的读请求分组的发送模块;以及
一个配置成从文件系统驱动程序接收与目标文件相应的数据的接收模块。
10.权利要求9的系统,其中所述获取模块包括:
一个配置成向内核发布一个NtQuerySystemInformation的发布模块,其中所述NtQuerySystemInformation请求有关句柄集内每个句柄的所有信息;以及
一个配置成从内核获取对于句柄集内每个句柄的一个SYSTEM_HANDLE_INFORMATION数组的获取模块,其中所述SYSTEM_HANDLE_INFORMATION包括一个指向一个FILE_OBJECT的指针,其中所述FILE_OBJECT包括文件标识符信息。
11.权利要求10的系统,其中所述确定模块包括:
一个配置成对于句柄集内每个句柄向内核传送一个指向与这个句柄相应的FILE_OBJECT的指针的传送模块。
12.权利要求11的系统,其中所述确定模块还包括:
一个配置成对于句柄集内每个句柄从内核内输出一个与所传送的FILE_OBJECT相应的文件标识符的输出模块。
13.权利要求12的系统,其中所述标识模块包括:
一个配置成标识与所标识的文件标识符相应的FILE_OBJECT的标识模块,所述标识的文件标识符与目标文件相应。
14.权利要求13的系统,其中所述发送模块包括:
一个配置成向内核传送所标识的FILE_OBJECT的传送模块;以及
一个配置成通过读请求分组向内核请求从与所标识的FILE_OBJECT相应的目标文件读取数据的请求模块,其中所述读请求分组包括一个中断请求分组(IRP)。
15.权利要求14的系统,其中所述请求模块包括:
一个配置成在内核内以一定的偏置量和一定长度产生一个与所标识的FILE_OBJECT相应的IRP的产生模块;以及
一个配置成向操作系统的文件系统驱动程序传送IRP的传送模块。
16.权利要求15的系统,其中所述接收模块包括:
一个配置成在内核内从文件系统驱动程序接收来自与所标识的FILE_OBJECT相应的目标文件的数据的接收模块;以及
一个配置成从内核获取来自与所标识的FILE_OBJECT相应的目标文件的数据的获取模块。
17.一种在一个具有在文件打开时实现文件锁定的操作系统的计算机系统内访问至少一个目标文件的方法,所述方法包括下列步骤:
获取一个与在计算机系统内打开的所有文件的集合相应的句柄集;
在操作系统的内核内确定一个与句柄集相应的文件标识符集;
从文件标识符集中标识一个与目标文件相应的文件标识符;以及
在内核内向操作系统的文件系统驱动程序发送一个与所标识的文件标识符相应的读请求分组。
18.权利要求17的方法,其中所述获取步骤包括:
向内核发布一个NtQuerySystemInformation,其中所述NtQuerySystemInformation请求有关句柄集内每个句柄的所有信息;以及
从内核获取对于句柄集内每个句柄的一个SYSTEM_HANDLE_INFORMATION数组,其中所述SYSTEM_HANDLE_INFORMATION包括一个指向一个FILE_OBJECT的指针,其中所述FILE_OBJECT包括文件标识符信息。
19.权利要求18的方法,其中所述确定步骤包括:
对于句柄集内每个句柄,向内核传送一个指向与这个句柄相应的FILE_OBJECT的指针。
20.权利要求19的方法,其中所述确定步骤还包括:
对于句柄集内每个句柄,从内核内输出一个与所传送的FILE_OBJECT相应的文件标识符。
21.权利要求20的方法,其中所述标识步骤包括:
标识与所标识的文件标识符相应的FILE_OBJECT,所述标识的文件标识符与目标文件相应。
22.权利要求21的方法,其中所述发送步骤包括:
向内核传送所标识的FILE_OBJECT;以及
通过读请求分组向内核请求从与所标识的FILE_OBJECT相应的目标文件读取数据,其中所述读请求分组包括一个中断请求分组(IRP)。
23.权利要求22的方法,其中所述请求步骤包括:
在内核内以一定的偏置量和一定长度产生一个与所标识的FILE_OBJECT相应的IRP;以及
向操作系统的文件系统驱动程序传送IRP。
24.一种在一个具有在文件打开时实现文件锁定的操作系统的计算机系统内访问至少一个目标文件的系统,所述系统包括:
一个配置成获取一个与在计算机系统内打开的所有文件的集合相应的句柄集的获取模块;
一个配置成在操作系统的内核内确定一个与句柄集相应的文件标识符集的确定模块;
一个配置成从标识文件标识符集中标识一个与目标文件相应的文件标识符的标识模块;以及
一个配置成在内核内向操作系统的文件系统驱动程序发送一个与所标识的文件标识符相应的读请求分组的发送模块。
25.权利要求24的系统,其中所述获取模块包括:
一个配置成向内核发布一个NtQuerySystemInformation的发布模块,其中所述NtQuerySystemInformation请求有关在句柄集内每个句柄的所有信息;以及
一个配置成从内核获取对于句柄集内每个句柄的一个SYSTEM_HANDLE_INFORMATION数组的获取模块,其中所述SYSTEM_HANDLE_INFORMATION包括一个指向一个FILE_OBJECT的指针,其中所述FILE_OBJECT包括文件标识符信息。
26.权利要求25的系统,其中所述确定模块包括:
一个配置成对于句柄集内每个句柄向内核传送一个指向与这个句柄相应的FILE_OBJECT的指针的传送模块。
27.权利要求26的系统,其中所述确定模块还包括:
一个配置成对于句柄集内每个句柄从内核内输出一个与所传送的FILE_OBJECT相应的文件标识符的输出模块。
28.权利要求27的系统,其中所述标识模块包括:
一个配置成标识与所标识的文件标识符相应的FILE_OBJECT的标识模块,所述标识的文件标识符与目标文件相应。
29.权利要求28的系统,其中所述发送模块包括:
一个配置成向内核传送所标识的FILE_OBJECT的传送模块;以及
一个配置成通过读请求分组向内核请求从与所标识的FILE_OBJECT相应的目标文件读取数据的请求模块,其中所述读请求分组包括一个中断请求分组(IRP)。
30.权利要求29的系统,其中所述请求模块包括:
一个配置成在内核内以一定的偏置量和一定长度产生一个与所标识的FILE_OBJECT相应的IRP的产生模块;以及
一个配置成向操作系统的文件系统驱动程序传送IRP的传送模块。
31.一种用于可编程计算机的计算机程序产品,具有在一个具有在文件打开时实现文件锁定的操作系统的计算机系统内访问至少一个目标文件的可读程序代码,所述计算机程序产品包括:
获取一个与在计算机系统内打开的所有文件的集合相应的句柄集的计算机可读代码;
在操作系统的内核内确定一个与句柄集相应的文件标识符集的计算机可读代码;
从文件标识符集中标识一个与目标文件相应的文件标识符的计算机可读代码;
在内核内向操作系统的文件系统驱动程序发送一个与所标识的文件标识符相应的读请求分组的计算机可读代码;以及
从文件系统驱动程序接收与目标文件相应的数据的计算机可读代码。
32.一种用于可编程计算机的计算机程序产品,具有在一个具有在文件打开时实现文件锁定的操作系统的计算机系统内访问至少一个目标文件的可读程序代码,所述计算机程序产品包括:
获取一个与在计算机系统内打开的所有文件的集合相应的句柄集的计算机可读代码;
在操作系统的内核内确定一个与句柄集相应的文件标识符集的计算机可读代码;
从文件标识符集中标识一个与目标文件相应的文件标识符的计算机可读代码;以及
在内核内向操作系统的文件系统驱动程序发送一个与所标识的文件标识符相应的读请求分组的计算机可读代码。
CN2004100925776A 2003-12-15 2004-11-15 在计算机系统内访问至少一个目标文件的方法和系统 Expired - Fee Related CN1667608B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/737,581 2003-12-15
US10/737,581 US20050131960A1 (en) 2003-12-15 2003-12-15 Method and system of accessing at least one target file in a computer system with an operating system with file locking implemented at file-open time

Publications (2)

Publication Number Publication Date
CN1667608A true CN1667608A (zh) 2005-09-14
CN1667608B CN1667608B (zh) 2010-04-28

Family

ID=34523151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004100925776A Expired - Fee Related CN1667608B (zh) 2003-12-15 2004-11-15 在计算机系统内访问至少一个目标文件的方法和系统

Country Status (6)

Country Link
US (1) US20050131960A1 (zh)
EP (1) EP1544735A3 (zh)
JP (1) JP4149434B2 (zh)
KR (1) KR100695188B1 (zh)
CN (1) CN1667608B (zh)
WO (1) WO2005059673A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102346769A (zh) * 2011-09-20 2012-02-08 奇智软件(北京)有限公司 一种注册表文件整理方法及装置
CN104166721A (zh) * 2011-09-20 2014-11-26 北京奇虎科技有限公司 一种注册表文件整理方法及装置
CN104516974A (zh) * 2014-12-26 2015-04-15 华为技术有限公司 一种文件系统目录项的管理方法及装置
CN112805700A (zh) * 2018-10-08 2021-05-14 微软技术许可有限责任公司 控制计算机系统上的未授权驱动程序的安装
US12105820B2 (en) 2018-10-08 2024-10-01 Microsoft Technology Licensing, Llc Protecting selected disks on a computer system

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2555483A1 (en) * 2006-08-04 2008-02-04 Platespin Ltd A method for providing live file transfer between machines
US20080033902A1 (en) * 2006-08-04 2008-02-07 Platespin Ltd A Method for Providing Live File Transfer Between Machines
US20080072032A1 (en) * 2006-09-19 2008-03-20 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Configuring software agent security remotely
US7752255B2 (en) * 2006-09-19 2010-07-06 The Invention Science Fund I, Inc Configuring software agent security remotely
US8407757B2 (en) * 2008-01-04 2013-03-26 International Business Machines Corporation Specifying and enforcing run-time policies for application processes being executed on a computer
WO2011117921A1 (en) * 2010-03-25 2011-09-29 Hitachi, Ltd. Method for concurrency control in a file versioning system

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4918653A (en) * 1988-01-28 1990-04-17 International Business Machines Corporation Trusted path mechanism for an operating system
US5371885A (en) * 1989-08-29 1994-12-06 Microsoft Corporation High performance file system
AU649455B2 (en) * 1990-07-11 1994-05-26 American Telephone And Telegraph Company Distributed computing system
EP0569605A1 (de) * 1992-05-06 1993-11-18 International Business Machines Corporation Verfahren zur Zugriffsverwaltung und -steuerung mehrerer Rechner auf gemeinsame Daten
JPH05342070A (ja) * 1992-06-09 1993-12-24 Mitsubishi Electric Corp ファイル情報管理方法
JPH0659959A (ja) * 1992-08-04 1994-03-04 Mutoh Ind Ltd ファイル保護方式
US5689706A (en) * 1993-06-18 1997-11-18 Lucent Technologies Inc. Distributed systems with replicated files
US5675725A (en) * 1993-07-19 1997-10-07 Cheyenne Advanced Technology Limited Computer backup system operable with open files
KR0171290B1 (ko) * 1995-12-29 1999-03-30 구자홍 공유 파일 시스템
JPH11120057A (ja) * 1997-10-17 1999-04-30 Hitachi Ltd ファイルバックアップ方法
US6026402A (en) * 1998-01-07 2000-02-15 Hewlett-Packard Company Process restriction within file system hierarchies
AU3304699A (en) * 1998-02-20 1999-09-06 Storm Systems Llc File system performance enhancement
US6161111A (en) * 1998-03-31 2000-12-12 Emc Corporation System and method for performing file-handling operations in a digital data processing system using an operating system-independent file map
CA2244626A1 (en) * 1998-07-31 2000-01-31 Kom Inc. A hardware and software system
US6356863B1 (en) * 1998-09-08 2002-03-12 Metaphorics Llc Virtual network file server
US6401093B1 (en) * 1999-03-31 2002-06-04 International Business Machines Corporation Cross file system caching and synchronization
US7281168B1 (en) * 2000-03-03 2007-10-09 Intel Corporation Failover architecture for local devices that access remote storage
US6651123B1 (en) * 2000-03-30 2003-11-18 International Business Machines Corporation File system locking
US6510499B1 (en) * 2000-06-22 2003-01-21 International Business Machines Corporation Method, apparatus, and article of manufacture for providing access to data stored in compressed files
US6931450B2 (en) * 2000-12-18 2005-08-16 Sun Microsystems, Inc. Direct access from client to storage device
US7730213B2 (en) * 2000-12-18 2010-06-01 Oracle America, Inc. Object-based storage device with improved reliability and fast crash recovery
US6985915B2 (en) * 2001-02-28 2006-01-10 Kiran Somalwar Application independent write monitoring method for fast backup and synchronization of files
US6847983B2 (en) * 2001-02-28 2005-01-25 Kiran Somalwar Application independent write monitoring method for fast backup and synchronization of open files
US7219157B2 (en) * 2001-03-23 2007-05-15 Lucent Technologies Inc. Application programming interface for network applications
US7185013B2 (en) * 2001-04-12 2007-02-27 International Business Machines Corporation Method for constructing and caching a chain of file identifiers and enabling inheritance of resource properties in file systems
US6643654B1 (en) * 2001-06-25 2003-11-04 Network Appliance, Inc. System and method for representing named data streams within an on-disk structure of a file system
US7239411B2 (en) * 2001-09-18 2007-07-03 International Business Machines Corporation Method and apparatus for controlling printing of electronic applications
US7219096B2 (en) * 2002-06-06 2007-05-15 International Business Machines Corporation Method for migrating open files on a busy file system
JP2004054721A (ja) * 2002-07-23 2004-02-19 Hitachi Ltd ネットワークストレージ仮想化方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102346769A (zh) * 2011-09-20 2012-02-08 奇智软件(北京)有限公司 一种注册表文件整理方法及装置
CN102346769B (zh) * 2011-09-20 2014-10-22 奇智软件(北京)有限公司 一种注册表文件整理方法及装置
CN104166721A (zh) * 2011-09-20 2014-11-26 北京奇虎科技有限公司 一种注册表文件整理方法及装置
CN104516974A (zh) * 2014-12-26 2015-04-15 华为技术有限公司 一种文件系统目录项的管理方法及装置
CN112805700A (zh) * 2018-10-08 2021-05-14 微软技术许可有限责任公司 控制计算机系统上的未授权驱动程序的安装
US12079364B2 (en) 2018-10-08 2024-09-03 Microsoft Technology Licensing, Llc Controlling installation of unauthorized drivers on a computer system
US12105820B2 (en) 2018-10-08 2024-10-01 Microsoft Technology Licensing, Llc Protecting selected disks on a computer system

Also Published As

Publication number Publication date
EP1544735A3 (en) 2009-07-22
WO2005059673A2 (en) 2005-06-30
EP1544735A2 (en) 2005-06-22
KR20050059989A (ko) 2005-06-21
JP2005182800A (ja) 2005-07-07
CN1667608B (zh) 2010-04-28
KR100695188B1 (ko) 2007-03-19
US20050131960A1 (en) 2005-06-16
JP4149434B2 (ja) 2008-09-10

Similar Documents

Publication Publication Date Title
US9223975B2 (en) Data identification system
CN106843756B (zh) 基于页面分类的内存页面回收方法及系统
US9043555B1 (en) Single instance buffer cache method and system
US8069317B2 (en) Providing and utilizing high performance block storage metadata
JP3526452B2 (ja) ディスクアレイ装置及びデータバックアップ方法
CN109697016B (zh) 用于改进容器的存储性能的方法和装置
US20020174102A1 (en) Filter driver for identifying disk files by analysis of content
CN1667608A (zh) 在计算机系统内访问至少一个目标文件的方法和系统
WO2002095588B1 (en) Decentralized virus scanning for stored data
US20210224236A1 (en) Primary storage with deduplication
CN1866224A (zh) 一种移动存储装置及存取移动存储装置中加密数据的方法
AU2014212170A1 (en) Reduced redundancy in stored data
US20080282355A1 (en) Document container data structure and methods thereof
US20060190502A1 (en) Backing up at least one encrypted computer file
CN1808326A (zh) 使用部分映像散列确认可执行文件完整性的系统和方法
CN1749967A (zh) 数据处理系统
CN100351767C (zh) 适配器读取和写入系统存储器的方法和系统
US10091213B2 (en) Systems and methods to provide secure storage
CN1869855A (zh) 一种usb海量存储设备上应用程序与usb海量存储设备进行命令交互和双向数据传输的方法
CN111176896A (zh) 文件备份方法、装置及终端设备
CN1877594A (zh) 一种电子文件的自动保护方法及系统
CN110677388B (zh) 一种基于TrustZone的物联网终端进程完整性度量方法
CN112380174A (zh) 含删除文件的xfs文件系统解析方法、终端设备及存储介质
US7380246B2 (en) Method and system of accessing at least one target file in a computer system with an operating system with file locking implemented with byte-range locking
CN118733341A (zh) 页面传输方法、页面操作方法、装置、设备及介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: LIAN XIANG(SINGAPORE)PRIVATE LTD.

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINE CORP.

Effective date: 20061027

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20061027

Address after: Singapore Changi

Applicant after: Lenovo (Singapore) Pte. Ltd.

Address before: New York, USA

Applicant before: International Business Machines Corp.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100428

Termination date: 20201115