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

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

Info

Publication number
CN1667608B
CN1667608B CN2004100925776A CN200410092577A CN1667608B CN 1667608 B CN1667608 B CN 1667608B CN 2004100925776 A CN2004100925776 A CN 2004100925776A CN 200410092577 A CN200410092577 A CN 200410092577A CN 1667608 B CN1667608 B CN 1667608B
Authority
CN
China
Prior art keywords
file
handle
kernel
identified
identifier
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.)
Expired - Fee Related
Application number
CN2004100925776A
Other languages
English (en)
Other versions
CN1667608A (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
Lenovo Singapore Pte Ltd
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 Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
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)在内核内向操作系统的文件系统驱动程序发送一个与所标识的文件标识符相应的读请求分组。
在一个典型实施例中,获取句柄集包括:(a)向内核发布一个NtQuerySystemInformation(Nt查询系统信息),其中所述NtQuerySystemInforrnation请求有关句柄集内每个句柄的所有信息;以及(b)从内核获取对于在句柄集内每个句柄的一个SYSTEM_HANDLE_INFORMATION(系统句柄信息)数组,其中所述SYSTEM_HANDLE_INFORMATION包括一个FILE_OBJECT(文件对象),其中所述FILE_OBJECT包括文件标识符信息。
在一个典型实施例中,标识与目标文件相应的文件标识符包括标识与所标识的与目标文件相应的文件标识符相应的FILE_OBJECT。
在一个典型实施例中,发送读请求分组包括:(a)向内核传送所标识的FILE_OBJECT;以及(b)通过读请求分组向内核请求从与所标识的FILE_OBJECT相应的目标文件读取数据。
本发明还提供了一种用于可编程计算机的计算机程序产品,具有体现在一个具有在文件打开时实现文件锁定的操作系统的计算机系统内访问至少一个目标文件的可读程序代码。在一个典型实施例中,这种计算机程序产品包括:(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 (24)

1.一种在一个具有在文件打开时实现文件锁定的操作系统的计算机系统内访问至少一个目标文件的方法,所述方法包括下列步骤:
通过向内核发布“Nt查询系统信息”,以及从内核获取对于句柄集内每个句柄的一个“系统句柄信息”数组,来获取一个与在计算机系统内打开的所有文件的集合相应的句柄集;
在操作系统的内核内确定一个与句柄集相应的文件标识符集;
从文件标识符集中标识一个与目标文件相应的文件标识符,以标识与所标识的与目标文件相应的文件标识符相应的文件对象;
通过将所标识的文件对象传送给内核,以及通过读请求分组向内核请求从与所标识的文件对象相应的目标文件读取数据,来在内核内向操作系统的文件系统驱动程序发送一个与所标识的文件标识符相应的读请求分组;以及
通过在内核内从文件系统驱动程序接收来自与所标识的文件对象相应的目标文件的数据,以及从内核获取来自与所标识的文件对象相应的目标文件的数据,来从文件系统驱动程序接收与目标文件相应的数据,
其中所述“Nt查询系统信息”请求有关句柄集内每个句柄的所有信息,所述“系统句柄信息”包括一个指向一个文件对象的指针,其中所述文件对象包括文件标识符信息。
2.权利要求1的方法,其中所述确定步骤包括:
对于句柄集内每个句柄,向内核传送一个指向与所述每个句柄相应的文件对象的指针。
3.权利要求2的方法,其中所述确定步骤还包括:
对于句柄集内每个句柄,从内核内输出一个与所传送的文件对象相应的文件标识符。
4.权利要求3的方法,其中所述标识步骤包括:
标识与所标识的文件标识符相应的文件对象,所述所标识的文件标识符与目标文件相应。
5.权利要求4的方法,其中所述读请求分组包括一个中断请求分组。
6.权利要求1的方法,其中所述通过读请求分组向内核请求从与所标识的文件对象相应的目标文件读取数据包括:
在内核内以一定的偏置量和一定的长度产生一个与所标识的文件对象相应的中断请求分组;以及
向操作系统的文件系统驱动程序传送中断请求分组。
7.一种在一个具有在文件打开时实现文件锁定的操作系统的计算机系统内访问至少一个目标文件的系统,所述系统包括:
一个配置成获取一个与在计算机系统内打开的所有文件的集合相应的句柄集的获取模块,进一步包括一个配置成向内核发布“Nt查询系统信息”的发布模块,以及一个配置成从内核获取对于句柄集内每个句柄的一个“系统句柄信息”数组的获取模块;
一个配置成在操作系统的内核内确定一个与句柄集相应的文件标识符集的确定模块;
一个配置成从文件标识符集中标识一个与目标文件相应的文件标识符,以标识与所标识的与目标文件相应的文件标识符相应的文件对象的标识模块;
一个配置成在内核内向操作系统的文件系统驱动程序发送一个与所标识的文件标识符相应的读请求分组的发送模块,进一步包括一个配置成向内核传送所标识的文件对象的传送模块,以及一个配置成通过读请求分组向内核请求从与所标识的文件对象相应的目标文件读取数据的请求模块;以及
一个配置成从文件系统驱动程序接收与目标文件相应的数据的接收模块,进一步包括一个配置成在内核内从文件系统驱动程序接收来自与所标识的文件对象相应的目标文件的数据的接收模块,以及一个配置成从内核获取来自与所标识的文件对象相应的目标文件的数据的获取模块,
其中所述“Nt查询系统信息”请求有关句柄集内每个句柄的所有信息,所述“系统句柄信息”包括一个指向一个文件对象的指针,其中所述文件对象包括文件标识符信息。
8.权利要求7的系统,其中所述确定模块包括:
一个配置成对于句柄集内每个句柄,向内核传送一个指向与所述每个句柄相应的文件对象的指针的传送模块。
9.权利要求8的系统,其中所述确定模块还包括:
一个配置成对于句柄集内每个句柄从内核内输出一个与所传送的文件对象相应的文件标识符的输出模块。
10.权利要求9的系统,其中所述标识模块包括:
一个配置成标识与所标识的文件标识符相应的文件对象的标识模块,所述所标识的文件标识符与目标文件相应。
11.权利要求10的系统,其中所述读请求分组包括一个中断请求分组。
12.权利要求7的系统,其中所述请求模块包括:
一个配置成在内核内以一定的偏置量和一定长度产生一个与所标识的文件对象相应的中断请求分组的产生模块;以及
一个配置成向操作系统的文件系统驱动程序传送中断请求分组的传送模块。
13.一种在一个具有在文件打开时实现文件锁定的操作系统的计算机系统内访问至少一个目标文件的方法,所述方法包括下列步骤:
通过向内核发布“Nt查询系统信息”,以及从内核获取对于句柄集内每个句柄的一个“系统句柄信息”数组,来获取一个与在计算机系统内打开的所有文件的集合相应的句柄集;
在操作系统的内核内确定一个与句柄集相应的文件标识符集;
从文件标识符集中标识一个与目标文件相应的文件标识符,以标识与所标识的与目标文件相应的文件标识符相应的文件对象;以及
通过向内核传送所标识的文件对象,以及通过读请求分组向内核请求从与所标识的文件对象相应的目标文件读取数据,来在内核内向操作系统的文件系统驱动程序发送一个与所标识的文件标识符相应的读请求分组,
其中所述“Nt查询系统信息”请求有关句柄集内每个句柄的所有信息,其中所述“系统句柄信息”包括一个指向一个文件对象的指针,其中所述文件对象包括文件标识符信息。
14.权利要求13的方法,其中所述确定步骤包括:
对于句柄集内每个句柄,向内核传送一个指向与所述每个句柄相应的文件对象的指针。
15.权利要求14的方法,其中所述确定步骤还包括:
对于句柄集内每个句柄,从内核内输出一个与所传送的文件对象相应的文件标识符。
16.权利要求15的方法,其中所述标识步骤包括:
标识与所标识的文件标识符相应的文件对象,所述所标识的文件标识符与目标文件相应。
17.权利要求16的方法,其中所述读请求分组包括一个中断请求分组。
18.权利要求13的方法,其中所述通过读请求分组向内核请求从与所标识的文件对象相应的目标文件读取数据包括:
在内核内以一定的偏置量和一定长度产生一个与所标识的文件对象相应的中断请求分组;以及
向操作系统的文件系统驱动程序传送中断请求分组。
19.一种在一个具有在文件打开时实现文件锁定的操作系统的计算机系统内访问至少一个目标文件的系统,所述系统包括:
一个配置成获取一个与在计算机系统内打开的所有文件的集合相应的句柄集的获取模块,进一步包括一个配置成向内核发布“Nt查询系统信息”的发布模块,以及一个配置成从内核获取对于句柄集内每个句柄的一个“系统句柄信息”数组的获取模块;
一个配置成在操作系统的内核内确定一个与句柄集相应的文件标识符集的确定模块;
一个配置成从标识文件标识符集中标识一个与目标文件相应的文件标识符,以标识与所标识的与目标文件相应的文件标识符相应的文件对象的标识模块;以及
一个配置成在内核内向操作系统的文件系统驱动程序发送一个与所标识的文件标识符相应的读请求分组的发送模块,进一步包括一个配置成向内核传送所标识的文件对象的传送模块,以及一个配置成通过读请求分组向内核请求从与所标识的文件对象相应的目标文件读取数据的请求模块,
其中所述“Nt查询系统信息”请求有关在句柄集内每个句柄的所有信息,所述“系统句柄信息”包括一个指向一个文件对象的指针,其中所述文件对象包括文件标识符信息。
20.权利要求19的系统,其中所述确定模块包括:
一个配置成对于句柄集内每个句柄,向内核传送一个指向与所述每个句柄相应的文件对象的指针的传送模块。
21.权利要求20的系统,其中所述确定模块还包括:
一个配置成对于句柄集内每个句柄从内核内输出一个与所传送的文件对象相应的文件标识符的输出模块。
22.权利要求21的系统,其中所述标识模块包括:
一个配置成标识与所标识的文件标识符相应的文件对象的标识模块,所述所标识的文件标识符与目标文件相应。
23.权利要求22的系统,其中所述读请求分组包括一个中断请求分组。
24.权利要求19的系统,其中所述请求模块包括:
一个配置成在内核内以一定的偏置量和一定长度产生一个与所标识的文件对象相应的中断请求分组的产生模块;以及
一个配置成向操作系统的文件系统驱动程序传送中断请求分组的传送模块。
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 CN1667608A (zh) 2005-09-14
CN1667608B true 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)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080033902A1 (en) * 2006-08-04 2008-02-07 Platespin Ltd A Method for Providing Live File Transfer Between Machines
CA2555483A1 (en) * 2006-08-04 2008-02-04 Platespin Ltd A method for providing live file transfer between machines
US7752255B2 (en) * 2006-09-19 2010-07-06 The Invention Science Fund I, Inc Configuring software agent security remotely
US20080072032A1 (en) * 2006-09-19 2008-03-20 Searete Llc, A Limited Liability Corporation Of The State Of Delaware 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
CN104166721B (zh) * 2011-09-20 2018-03-27 北京奇虎科技有限公司 一种注册表文件整理方法及装置
CN102346769B (zh) * 2011-09-20 2014-10-22 奇智软件(北京)有限公司 一种注册表文件整理方法及装置
CN104516974B (zh) * 2014-12-26 2018-03-13 华为技术有限公司 一种文件系统目录项的管理方法及装置
US11080416B2 (en) 2018-10-08 2021-08-03 Microsoft Technology Licensing, Llc Protecting selected disks on a computer system
US11151273B2 (en) 2018-10-08 2021-10-19 Microsoft Technology Licensing, Llc Controlling installation of unauthorized drivers on a computer system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675725A (en) * 1993-07-19 1997-10-07 Cheyenne Advanced Technology Limited Computer backup system operable with open files

Family Cites Families (28)

* 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
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
WO1999042934A2 (en) * 1998-02-20 1999-08-26 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
US6847983B2 (en) * 2001-02-28 2005-01-25 Kiran Somalwar Application independent write monitoring method for fast backup and synchronization of open files
US6985915B2 (en) * 2001-02-28 2006-01-10 Kiran Somalwar Application independent write monitoring method for fast backup and synchronization of 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 ネットワークストレージ仮想化方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675725A (en) * 1993-07-19 1997-10-07 Cheyenne Advanced Technology Limited Computer backup system operable with open files

Also Published As

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

Similar Documents

Publication Publication Date Title
US9223975B2 (en) Data identification system
US6205466B1 (en) Infrastructure for an open digital services marketplace
US8074069B2 (en) Reading a locked windows NFTS EFS encrypted computer file
US5109413A (en) Manipulating rights-to-execute in connection with a software copy protection mechanism
US6249866B1 (en) Encrypting file system and method
US8191155B2 (en) Microprocessor
US8127150B2 (en) Data security
CN1667608B (zh) 在计算机系统内访问至少一个目标文件的方法和系统
EP0268139A2 (en) Manipulating rights-to-execute in connection with a software copy protection mechanism
US20100100565A1 (en) License management system and control method for the license management system
US10055475B2 (en) Authentication system, synchronization method, and authentication apparatus
CN108667917B (zh) 一种实现数据存储的方法、装置、计算机存储介质及终端
US20120005732A1 (en) Person authentication system and person authentication method
US11288212B2 (en) System, apparatus, and method for secure deduplication
US20150341371A1 (en) Systems and methods to provide secure storage
CN111176896A (zh) 文件备份方法、装置及终端设备
CN114079571B (zh) 一种数字证书验证方法及装置
CN110677388A (zh) 一种基于TrustZone的物联网终端进程完整性度量方法
CN107085900B (zh) 数据处理方法、装置、系统及pos终端
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
CN111159743B (zh) 电子书阅读器的文件加密方法、计算设备及存储介质
WO2007087316A2 (en) Binding a protected application program to shell code
WO2022105761A1 (zh) 文件操作方法及相关设备
JPH1074243A (ja) Icカード
KR100886338B1 (ko) 보안 데이터를 관리하는 장치 및 그 방법

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