解除文件占用的方法和装置的制造方法

文档序号:9750830阅读:279来源:国知局
解除文件占用的方法和装置的制造方法
【技术领域】
[0001 ] 本发明实施例涉及计算机技术,尤其涉及一种解除文件占用的方法和装置。
【背景技术】
[0002]随着计算机技术的不断发展,越来越多的用户通过计算机完成日常的工作、学习和休闲娱乐。一般来说,用户主要通过操作计算机中的各种文件,来满足工作、学习和娱乐等需求。例如,用户通过操作Word或者Excel等办公类文件,满足日常的工作需求,或者,用户通过操作视频或者音频类文件,满足日常的娱乐需求等。
[0003]当用户在操作计算机系统中的各类文件时,经常会发生无法移动、修改或者删除文件等情况,而这类情况的产生主要是由于计算机系统中的其他进程占用了该文件造成的,为了解决上述问题,解除文件占用技术应运而生。解除文件占用是目前很多安全软件(例如,百度卫士)提供的一项功能。利用这一功能可以解除其他进程对文件的占用,使用该解除文件占用技术可以解决文件在进程中未关闭而造成的文件占用。
[0004]但是,技术的进步也使得人们对于解除文件占用技术的要求变得更高,传统的解除文件占用技术已经无法满足人们日益增长的对解除文件占用服务的需求。

【发明内容】

[0005]本发明提供一种解除文件占用的方法和装置,以优化现有的解除文件占用技术,满足人们日益增长的对解除文件占用服务的需求。
[0006]第一方面,本发明实施例提供了一种解除文件占用的方法,包括:
[0007]将第一参数和第二参数进行匹配,所述第一参数为系统进程确定的待匹配文件对象的属性参数,所述第二参数为待解除占用的参考文件的文件对象的属性参数;
[0008]如果匹配成功,按照设定解除策略,将所述待匹配文件对象进行处理,以解除对所述参考文件的占用。
[0009]第二方面,本发明实施例还提供了一种解除文件占用的装置,包括:
[0010]属性参数匹配单元,用于将第一参数和第二参数进行匹配,所述第一参数为系统进程确定的待匹配文件对象的属性参数,所述第二参数为待解除占用的参考文件的文件对象的属性参数;
[0011]解除占用处理单元,用于在匹配成功时,按照设定解除策略,将所述待匹配文件对象进行处理,以解除对所述参考文件的占用。
[0012]本发明实施例通过将第一参数和第二参数进行匹配,所述第一参数为系统进程确定的待匹配文件对象的属性参数,所述第二参数为待解除占用的参考文件的文件对象的属性参数;如果匹配成功,按照设定解除策略,将所述待匹配文件对象进行处理,以解除对所述参考文件的占用的技术手段,解决了现有的解决文件占用技术无法满足人们日益增强的对解除文件占用服务的需求的技术问题,优化了现有的解除文件占用技术,满足了人们日益增长的对解除文件占用服务的需求。
【附图说明】
[0013]图1是本发明第一实施例的一种解除文件占用的方法的流程图;
[0014]图2是本发明第二实施例的一种解除文件占用的方法的流程图;
[0015]图3是本发明第三实施例的一种解除文件占用的方法的流程图;
[0016]图4是本发明第四实施例的一种解除文件占用的方法的流程图;
[0017]图5是本发明第五实施例的一种解除文件占用的方法的流程图;
[0018]图6是本发明第六实施例的一种解除文件占用的装置的结构图。
【具体实施方式】
[0019]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0020]首先通过一个具体的例子将本发明各实施例的基本原理简述如下:在Windows操作系统中,在用户通过Office Word软件打开了一个Word文档,并进行相关的操作时,WINWORD, exe进程会首先打开该Word文档,并获取该Word文档的文件句柄;之后进程会建立该Word文档与进程的内存基址之间的文件映射关系(例如,通过CreateFileMapping函数建立),并获取相应的文件映射关系句柄(也称为Sect1n句柄);最后进程将该Word文档映射至相应的内存基址内以接收用户的相关操作,此时,进程的VAD (Virtual AddressDescriptor,虚拟地址描述符)中,会记录该Word文档的地址空间分配信息。
[0021]当用户关闭该Word文档后,如果WINWORD, exe进程的VAD中该Word文档与内存基址之间的对应关系未解除、文件映射关系句柄未关闭、或者文件句柄未关闭,均会造成该Word文档被占用。
[0022]在本发明各实施例中,针对不同的文件占用情况,给出了不同的解除文件占用方法。其中,第二实施例的方法主要用于解决文件映射关系句柄未关闭而造成的文件占用的问题;第三实施例的方法主要用于解决进程的VAD中,文件与内存基址之间的对应关系未解除而造成的文件占用;第四实施例的方法主要用于解决文件句柄未关闭而造成的文件占用的问题;第五实施例则可同时解决上述三种文件占用的问题。
[0023]第一实施例
[0024]图1为本发明第一实施例提供的一种解除文件占用的方法的流程图,本实施例的方法可以由解除文件占用的装置来执行,该装置可通过硬件和/或软件的方式实现,并一般可集成于软件管理类客户端(例如,百度卫士等)所在的基于Windows操作系统的终端设备(例如,台式机或者笔记本等)中,或作为软件管理类客户端的子程序。本实施例的方法具体包括如下操作:
[0025]110、将第一参数和第二参数进行匹配,所述第一参数为系统进程确定的待匹配文件对象的属性参数,所述第二参数为待解除占用的参考文件的文件对象的属性参数。
[0026]在本实施例中,客户端将系统进程确定的待匹配文件对象的属性参数与待解除占用的参考文件的文件对象的属性参数进行匹配。
[0027]其中,所述待解除占用的参考文件具体是指被其他系统进程占用(或者引用)的文件中,需要解除上述占用(或者引用)关系的文件。
[0028]举例而言,在用户删除一个Word文档的过程中,如果该文档被WINWORD, exe进程所占用,则必须首先解除WINWORD, exe进程对该Word文档的占用后,用户才能删除该Word文档。在本实施例中,该待删除Word文档,即为所述待解除占用的参考文件。
[0029]其中,所述系统进程确定的待匹配文件对象具体是指系统进程直接或者间接占用的文件。
[0030]所谓进程,是指系统中正在执行中的程序。当一个进程被初始化后,操作系统就会为该进程分配一个句柄表。句柄表是Windows对象管理器用来管理句柄的结构。句柄是一种特殊的智能指针。当一个进程要占用(或者引用)其他文件的对象信息时,就要使用句柄。如前所述,当一个进程打开一个文件时,会在句柄表中产生相应的文件对象,以及该文件对象的句柄;当一个进程建立一个文件与内存基址之间的文件映射关系时,会在句柄表中产生相应的文件映射关系对象(也称为Sect1n对象),以及该Sect1n对象的句柄,其中,该Sect1n对象中具有指向该文件的指针;同时,一个进程的VAD中会存储文件的地址空间分配信息。如前所述,当一个进程将一个文件映射到一段内存基址后,该进程的VAD表中会记录文件与内存基址的映射关系。
[0031]在本实施例中,为了解除不同形式的文件占用,所述待匹配对象可以为系统进程的句柄表中的Sect1n对象的指针所指向的文件对象,也可以为系统进程的VAD中记录的文件对象,也可以为系统进程的句柄表中的文件对象,还可以为上述三者的组合,本实施例对此并不进行限制。
[0032]在本实施例中,所述文件对象的属性参数具体是指可以唯一确定该文件对象的参数值。
[0033]其中,所述文件对象的属性参数可以具体包括:文件对象的状态信息(FSContext)参数,也可以包括文件对象的内存区对象指针(Sect1n Object Pointer)参数,或者上述参数的组合,本实施例对此并不进行限制。
[0034]举例而言,一个待匹配文件对象的FSContext与参考文件的文件对象的FSContext对应相等,则可确定该待匹配文件对象与参考文件的文件对象匹配成功。
[0035]在本实施例中,通过将第一参数和第二参数进行匹配,所述第一参数为系统进程确定的待匹配文件对象的属性参数,所述第二参数为待解除占用的参考文件的文件对象的属性参数,可以在系统进程中查找到被占用的参考文件,进而可以按照设定的解除策略,解除对该参考文件的占用。
[0036]120、如果匹配成功,按照设定解除策略,将所述待匹配文件对象进行处理,以解除对所述参考文件的占用。
[0037]在本实施例中,如果匹配成功,客户端按照设定解除策略,将所述待匹配文件
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1