发明内容
本发明提供一种注册表文件整理方法及装置,能够减少注册表文件中的碎片,从而提高系统性能。
本发明提供了如下方案:
一种注册表文件整理方法,包括:
当需要对注册表文件进行整理时,获取目标文件;
将原注册表文件中的有效数据保存到所述目标文件中,生成新的注册表文件;
通知操作系统将所述新的注册表文件作为注册表文件。
其中:所述当需要对注册表文件进行整理时,获取目标文件包括:
当需要对注册表文件进行整理时,新建文件,将所述新建的文件作为所述目标文件。
其中:
所述当需要对注册表文件进行整理时,新建文件包括:
当需要对注册表文件进行整理时,查找原注册表文件中的注册表项及其对应的HIVE文件,并为各注册表项分别新建一文件;
所述将原注册表文件中的有效数据保存到所述目标文件中,生成新的注册表文件包括:
对于各注册表项,将原HIVE文件中的有效数据存放到对应各注册表项新建的文件中,综合各注册表项对应的新建文件,生成新的注册表文件。
优选地,查找到原注册表文件中的注册表项及其对应的HIVE文件之后还包括:
根据每个注册表项的HIVE文件实际占用的空间以及HIVE文件中的有效数据所占用的空间,确定每个注册表项在整理后所占的空间,以及整理后优化的比例;
将每个注册表项在整理前后所占的空间,以及整理后优化的比例展现给用户。
优选地,还包括:
将原注册表文件中被分散保存到磁盘不同位置的同一注册表信息的数据连续存放。
其中,所述当需要对注册表文件进行整理时包括:
检测用户是否发出整理注册表文件的请求,如果是,则需要对注册表文件进行整理;
或者,
检测原注册表文件占用的空间是否达到预置的阈值,如果是,则需要对注册表文件进行整理。
一种注册表文件整理装置,包括:
目标文件获取单元,用于当需要对注册表文件进行整理时,获取目标文件;
新注册表文件生成单元,用于将原注册表文件中的有效数据保存到所述目标文件中,生成新的注册表文件;
通知单元,用于通知操作系统将所述新的注册表文件作为注册表文件。
其中,所述目标文件获取单元包括:
新建文件单元,用于当需要对注册表文件进行整理时,新建文件,将所述新建的文件作为所述目标文件。
其中:
所述新建文件单元具体用于:
当需要对注册表文件进行整理时,查找原注册表文件中的注册表项及其对应的HIVE文件,并为各注册表项分别新建一文件;
所述新注册表生成单元具体用于:
对于各注册表项,将原HIVE文件中的有效数据存放到对应各注册表项新建的文件中,综合各注册表项对应的新建文件,生成新的注册表文件。
优选地,还包括:
确定单元,用于查找到原注册表文件中的注册表项及其对应的HIVE文件之后,根据每个注册表项的HIVE文件实际占用的空间以及HIVE文件中的有效数据所占用的空间,确定每个注册表项在整理后所占的空间,以及整理后优化的比例;
展现单元,用于将每个注册表项在整理前后所占的空间,以及整理后优化的比例展现给用户。
优选地,还包括:
连续存放单元,用于将原注册表文件中被分散保存到磁盘不同位置的同一注册表信息的数据连续存放。
其中,所述目标文件获取单元包括:
第一检测子单元,用于检测用户是否发出整理注册表文件的请求,如果是,则需要对注册表文件进行整理,获取目标文件;
或者,
第二检测子单元,用于检测原注册表文件占用的空间是否达到预置的阈值,如果是,则需要对注册表文件进行整理,获取目标文件。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明实施例中,如果需要对注册表文件进行整理,则会获取目标文件,然后将原注册表文件中的有效数据保存到该目标文件中,这样,就可以生成新的注册表文件,然后将其作为注册表文件。在这一过程中,由于仅将有效数据保存到新的文件中,这样,就可以使得新的注册表文件中不再存在无效数据,因此,相当于对注册表碎片进行了整理,有利于提高系统性能。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,本发明实施例提供的注册表文件整理方法包括以下步骤:
S101:当需要对注册表文件进行整理时,获取目标文件;
在实际应用中,为了确定是否需要对注册表文件进行整理,可以为用户提供启动入口,当用户通过该入口发出整理注册表文件的请求时,就将其作为需要对注册表文件进行整理的指令,然后启动注册表文件整理的流程。或者,也可以设置自动监控的程序,例如,可以对注册表文件占用的空间进行监控,当注册表文件所占用的空间达到预置的阈值时,就可以启动对注册表文件进行整理的流程。当然,还可以将两者相结合,例如,可以在监控到注册表文件占用的空间达到预置的阈值时,向用户弹出提示,告知用户其注册表文件占用的空间过大,并询问用户是否需要进行注册表文件整理,如果用户选择需要,再启动整理注册表文件的流程。一旦确定需要整理注册表文件,就可以首先获取目标文件,为后续的整理做准备。
其中,具体在获取目标文件时,可以是新创建空的文件,将该空的文件作为目标文件(当然,该空的文件可以是预先创建好的,也可以是在需要对注册表文件进行整理时创建的)。或者,在实际应用中,目标文件还可以是预先获取的一保存有基本配置信息的文件,基本配置信息是指针对用户计算机的一些基本配置,这种基本配置可以是与用户计算机上安装的操作系统的版本号(例如Windows XP SP3等等)相对应的,也就是说,对于安装了某版本操作系统的计算机而言,注册表中的一些基本配置通常是相同的,因此,就可以针对各个不同的操作系统版本号分别预先设置标准文件,在需要对注册表文件进行整理时,就可以将这种标准文件作为目标文件。具体实现时,该标准文件可以是预先保存在用户计算机本地的,也可以是在需要对注册表文件进行整理时,根据计算机的系统版本号,到服务器侧下载相应的标准文件,再将其作为目标文件。
S102:将原注册表文件中的有效数据保存到所述目标文件中,生成新的注册表文件;
由于获取到的目标文件,因此,具体在对注册表文件进行整理时,就可以将原注册表文件中的有效数据转移到目标文件中并保存。值得注意的是,原注册表文件中既存在有效数据,还存在一些无效数据(当某应用程序被卸载之后,之前被写入到注册表中的关于该应用程序的数据可能并没有被删除,此时,由于应用程序已经被卸载了,因此这种数据就成为无效数据,也可以称为碎片),在向目标文件中转移数据时,仅将有效数据转移到目标文件中,因此,新生成的注册表文件就将不再包含无效数据。换言之,对于原注册表文件中的数据,首先判断出是有效数据还是无效数据(具体的,可以根据数据是否带有删除标记来进行判断,或者,由于被置为已删除的数据通常不具有显示特性,因此,用注册表编辑器打开对应的HIVE文件,能够看到的数据都是有效的,在这种情况下,由于本发明的目的也是仅将有效数据保存到目标文件中,因此也就没有必要再去识别出其中的已经无效的数据),如果是有效数据,则保存到目标文件中,因此,相当于将碎片进行了清除,避免影响到系统性能。
需要说明的是,如果目标文件是新建的空文件,则直接将原注册表文件中的所有有效数据都转移到目标文件中保存即可。而如果目标文件是前文所述保存有基本配置信息的文件,则可以仅将基本配置信息以外的其他有效信息转移保存到该基本配置文件中即可,因此,有利于提高文件整理的效率,节省时间及系统资源。
另外需要说明的是,关于本发明实施例所述的有效数据,还可以是根据用户的系统版本号以及安装的应用程序等特征进行分析之后,获得的关于当前系统的一些优化配置的数据,因此,在对注册表文件进行整理的同时,除了可以将原注册表文件中的有效数据保存到目标文件中,还可以将这些优化配置数据保存到目标文件中,使得新的注册表文件在得到整理的同时,优化了系统配置,进一步提高系统性能。
S103:通知操作系统将所述新的注册表文件作为注册表文件。
在生成新的注册表文件之后,就可以通知操作系统将该文件作为注册表文件。具体实现时,在生成新的注册表文件之后,还可以重新启动计算机(或者提示用户重新启动),重新启动之后,就会以新的注册表文件运行。当然,对于原注册表文件,由于已经不再有存在的价值,因此可以将其删除。至于原注册表文件的删除时机,则可以在生成新的注册表文件之后即删除,也可以等到重启计算机之后,再进行删除。
可见,在本发明实施例提供的注册表文件整理方法中,如果需要对注册表文件进行整理,则会获取目标文件,然后将原注册表文件中的有效数据保存到目标文件中,这样,就可以生成新的注册表文件,然后将其作为注册表文件。在这一过程中,由于仅将有效数据保存到新的文件中,这样,就可以使得新的注册表文件中不再存在无效数据,因此,相当于对注册表碎片进行了整理,有利于提高系统性能。
在实际应用中,由于注册表文件通常是由多个HIVE文件组成的,其中每个注册表项对应着一个HIVE文件,一个注册表项通常对应着一个群组,例如群组名为“\REGISTRY\MACHINE\SOFTWARE”的HIVE文件,相当于应用程序对应的注册表项,当新装某应用程序时,产生的注册表信息就写入到该HIVE文件中。或者,群组名为“\REGISTRY\MACHINE\SYSTEM”的HIVE文件,相当于系统对应的注册表项,当系统中的硬件等配置发生变化时,产生的注册表信息就写入到该HIVE文件中。也就是说,在注册表文件中,实际上对不同的注册表信息是进行了分类保存的,同一类的注册表信息对应的一个HIVE文件,并且每个HIVE文件中包含多个注册表信息,随着应用程序的新装与卸载、系统配置的更改等操作,会使得每个HIVE文件中都可能产生无效的数据。
因此,在本发明实施例中,如果将新建的文件作为目标文件,则在新建文件之前,还可以首先查找原注册表文件中的注册表项及其对应的HIVE文件,然后针对各个注册表项,分别新建一文件。具体对注册表文件进行整理时,就可以分别针对各个注册表项进行。其中,针对各个注册表项,就可以将原HIVE文件中的有效数据存放到对应该注册表项新建的文件中。这样,最终针对各个注册表项就可以分别得到一个新建的文件,并且新建的文件中仅保存有效的数据,此时,再将这些新建的文件综合到一起,就可以生成新的注册表文件。
需要说明的是,在实际应用中,还可能存在以下现象:在写注册表时,计算机会优先在HIVE文件中找足够大的一个连续可用空间上存储该信息。如果不存在足够大的连续可用空间,则通常会从可用存储空间中选择若干块,来存储该数据。这就会造成同一注册表信息在物理存储空间上的不连续,而由于这种在物理存储空间上的不连续,使得注册表信息被分散保存到不同地方,这也会造成系统读取数据变慢。
考虑到上述现象,本发明实施例在对注册表文件进行整理时,除了将无效数据清除掉以外,还可以判断原注册表文件中是否存在同一注册表信息在物理空间的上的不连续存储的现象,如果存在,在向新建的文件中转移有效数据的过程中,还可以将将原注册表文件中被分散保存到磁盘不同位置的同一注册表信息的数据连续存放。这样,可以进一步地提高系统的性能。
另外,在由用户手动启动注册表文件整理的情况下,为了给用户提供是否进行注册表文件整理的参考,还可以在进行整理之前,首先对注册表文件进行分析,根据每个注册表项的HIVE文件实际占用的空间以及HIVE文件中的有效数据所占用的空间,确定每个注册表项在整理后所占的空间(也即有效数据所占用的空间),以及整理后优化的比例(相当于是无效数据所占的空间与原文件占用的总空间之间的比值),并将每个注册表项在整理前后所占的空间,以及整理后优化的比例展现给用户。也就是说,用户根据这些信息,可以直观地了解到,如果对注册表文件进行整理,则可以得到多大的优化,进而决定是否要对注册表文件进行整理。
例如,首先可以从Windows系统中找到所有的HIVE文件,并一一列举出来,如图2所示,其中“群组名”就代表各个注册表项对应的HIVE文件的名称,“当前大小”就代表各个HIVE文件当前占用的空间的大小(其中包含了无效数据占用的空间)。当用户点击右上角的“分析注册表”之后,就可以对各个HIVE文件进行分析,计算出各个HIVE文件整理后的大小和能够优化的比率,并展现给用户,如图3所示。接下来,如果用户点击“立即优化”按钮,可以在界面中给出需要重新启动计算机的提示,如图4所示。如果用户点击“是”, 则相当于用户发出了整理注册表文件的请求,此时,就可以执行步骤S101至S103,重新组合其物理存储结构,将无法利用的小块存储区彻底释放掉,然后重新启动系统,注册表碎片整理完成。
与本发明实施例提供的注册表文件整理方法相对应,本发明实施例还提供了一种注册表文件整理装置,参见图5,该装置包括:
目标文件获取单元501,用于当需要对注册表文件进行整理时,获取目标文件;
新注册表文件生成单元502,用于将原注册表文件中的有效数据保存到所述目标文件中,生成新的注册表文件;
通知单元503,用于通知操作系统将所述新的注册表文件作为注册表文件。
具体实现时,目标文件获取单元501具体可以包括:
新建文件单元,用于当需要对注册表文件进行整理时,新建文件,将所述新建的文件作为所述目标文件。
由于注册表信息通常是进行分类保存的,因此,可以分别针对不同的注册表项,分别新建一文件,此时,新建文件单元具体可以用于:
当需要对注册表文件进行整理时,查找原注册表文件中的注册表项及其对应的HIVE文件,并为各注册表项分别新建一文件;
相应的,新注册表生成单元502具体可以用于:
对于各注册表项,将原HIVE文件中的有效数据存放到新建的文件中,综合各注册表项对应的新建文件,生成新的注册表文件。
为了在用户决定是否需要对注册表文件进行整理之前,给用户提供参考,该装置还可以包括:
确定单元,用于查找到原注册表文件中的注册表项及其对应的HIVE文件之后,根据每个注册表项的HIVE文件实际占用的空间以及HIVE文件中的有效数据所占用的空间,确定每个注册表项在整理后所占的空间,以及整理后优化的比例;
展现单元,用于将每个注册表项在整理前后所占的空间,以及整理后优化的比例展现给用户。
为了进一步提高系统性能,该装置还可以包括:
连续存放单元,用于将原注册表文件中被分散保存到磁盘不同位置的同一注册表信息的数据连续存放。
此外,该装置还可以包括:
删除单元,用于将原注册表文件删除。
在实际应用中,可以通过多种方式来确定是否需要对注册表文件进行整理,具体的,目标文件获取单元501可以包括:
第一检测子单元,用于检测用户是否发出整理注册表文件的请求,如果是,则需要对注册表文件进行整理,获取目标文件;
或者,
第二检测子单元,用于检测原注册表文件占用的空间是否达到预置的阈值,如果是,则需要对注册表文件进行整理,获取目标文件。
总之,通过本发明实施例提供的注册表文件整理装置,如果需要对注册表文件进行整理,则会获取目标文件,然后将原注册表文件中的有效数据保存到目标文件中,这样,就可以生成新的注册表文件,然后将其作为注册表文件。在这一过程中,由于仅将有效数据保存到新的文件中,这样,就可以使得新的注册表文件中不再存在无效数据,因此,相当于对注册表碎片进行了整理,有利于提高系统性能。
需要说明的是,本发明实施例所述的装置是与前述方法实施例相对应的,因此,装置实施例中的未详述部分可以参见方法实施例中的介绍,这里不再赘述。
以上对本发明所提供的一种注册表文件整理方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。