一种对注册表文件进行整理的方法及装置的制作方法

文档序号:6434135阅读:303来源:国知局
专利名称:一种对注册表文件进行整理的方法及装置的制作方法
技术领域
本发明涉及计算机技术领域,特别是涉及一种对注册表文件进行整理的方法及装置。
背景技术
注册表是Windows操作系统中所有32位硬件/驱动和32位应用程序的数据文件,是一个系统信息的数据库。注册表文件也被称为HIVE文件,它是注册表信息的物理存储形式。人们看到的注册表结构是经过注册表编辑器读取之后呈现给出来的,是由一组称被为HIVE(基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL (Structured Query Language,结构化查询语言)查询功能)的文件组成。HIVE中文名为“储巢”,每个HIVE文件可以被理解为一棵单独的注册表树。注册表信息是由按照一定格式存储在硬盘上的若干文件组成。修改某个注册表项目,本质上是修改对应的文件。当用户进行安装新的硬件、安装/卸载软件、修改系统设置等操作时,都会涉及到对注册表的读、写、增、删操作。其中,删注册表信息项时,会将对应的物理存储空间置上删除标记。因此,注册表文件中会有很多这样被置为删除标记的空间。写注册表时,计算机会在HIVE文件中找到足够大的一个连续可用空间上存储该信息。否则, 系统通常会从可用存储空间中选择若干块,来存储该数据。由于在物理位置上的不连续存储,注册表信息被分散保存到不同地方,这会造成系统读取数据变慢。因此,迫切需要本领域技术人员解决的技术问题就在于,如何对注册表文件进行有效地整理,减少由于注册表造成的系统性能下降。

发明内容
本发明提供一种对注册表文件进行整理的方法及装置,能够对注册表文件进行有效地整理,减少由于注册表造成的系统性能下降。本发明提供了如下方案
一种对注册表文件进行整理的方法,包括 当需要对注册表文件进行整理时,获取目标文件;
将原注册表文件中被分散保存到不同空间的同一注册表信息的数据存放到所述目标文件中同一连续可用的空间,生成新的注册表文件;
通知操作系统将所述新的注册表文件作为注册表文件。优选地,还包括
将原注册表文件中未被分散保存到不同空间的注册表信息的数据也存放到所述目标文件中连续可用的空间。优选地,还包括 将原注册表文件删除。其中,所述当需要对注册表文件进行整理时,获取目标文件包括当需要对注册表文件进行整理时,新建文件,将所述新建的文件作为所述目标文件。其中
所述当需要对注册表文件进行整理时,新建文件包括
当需要对注册表文件进行整理时,查找原注册表文件中的注册表项及其对应的HIVE 文件,并为各注册表项分别新建一文件;
所述将原注册表文件中被分散保存到不同空间的同一注册表信息的数据存放到所述目标文件中同一连续可用的空间,生成新的注册表文件包括
对于各注册表项,将原HIVE文件中被分散保存到不同空间的同一注册表信息的数据存放到新建的文件中同一连续可用的空间,综合各注册表项对应的新建文件,生成新的注册表文件。其中所述当需要对注册表文件进行整理时包括
检测用户是否发出整理注册表文件的请求,如果是,则需要对注册表文件进行整理; 或者,
检测原注册表文件占用的空间是否达到预置的阈值,如果是,则需要对注册表文件进行整理。一种对注册表文件进行整理的装置,包括
目标文件获取单元,用于当需要对注册表文件进行整理时,获取目标文件; 新注册表文件生成单元,用于将原注册表文件中被分散保存到不同空间的同一注册表信息的数据存放到所述目标文件中同一连续可用的位置,生成新的注册表文件; 通知单元,用于通知操作系统将所述新的注册表文件作为注册表文件。优选地,还包括
存放单元,用于将原注册表文件中未被分散保存到不同空间的注册表信息的数据也存放到所述目标文件中连续可用的空间。优选地,还包括
删除单元,用于将原注册表文件删除。其中,所述目标文件获取单元包括
新建子单元,用于当需要对注册表文件进行整理时,新建文件,将所述新建的文件作为所述目标文件。其中
所述新建子单元具体用于
当需要对注册表文件进行整理时,查找原注册表文件中的注册表项及其对应的HIVE 文件,并为各注册表项分别新建一文件; 所述新注册表文件生成单元具体用于
对于各注册表项,将原HIVE文件中被分散保存到不同空间的同一注册表信息的数据存放到新建的文件中同一连续可用的空间,综合各注册表项对应的新建文件,生成新的注册表文件。其中,所述目标文件获取单元包括
第一检测子单元,用于检测用户是否发出整理注册表文件的请求,如果是,则需要对注册表文件进行整理,获取目标文件;或者,
第二检测子单元,用于检测原注册表文件占用的空间是否达到预置的阈值,如果是,则需要对注册表文件进行整理,获取目标文件。根据本发明提供的具体实施例,本发明公开了以下技术效果
在本发明中,如果需要对注册表文件进行整理,则会获取目标文件,然后将原注册表文件中被分散保存到不同空间的同一注册表信息的数据连续存放到目标文件中同一连续可用的空间,这样,就可以生成新的注册表文件,然后将其作为注册表文件。因此,能够提高对同一注册表信息的读取效率,进而有利于提高系统性能。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的方法的流程图; 图2是本发明实施例提供的装置的示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。参见图1,本发明实施例提供的对注册表文件进行整理的方法包括以下步骤 SlOl 当需要对注册表文件进行整理时,获取目标文件;
在实际应用中,为了确定是否需要对注册表文件进行整理,可以为用户提供启动入口, 当用户通过该入口发出整理注册表文件的请求时,就将其作为需要对注册表文件进行整理的指令,然后启动注册表文件整理的流程。或者,也可以设置自动监控的程序,例如,可以对注册表文件占用的空间进行监控,当注册表文件所占用的空间达到预置的阈值时,就可以启动对注册表文件进行整理的流程。当然,还可以将两者相结合,例如,可以在监控到注册表文件占用的空间达到预置的阈值时,向用户弹出提示,告知用户其注册表文件占用的空间过大,并询问用户是否需要进行注册表文件整理,如果用户选择需要,再启动整理注册表文件的流程。一旦确定需要整理注册表文件,就可以首先获取目标文件,为后续的整理做准备。其中,具体在获取目标文件时,可以是新创建空的文件,将该空的文件作为目标文件(当然,该空的文件可以是预先创建好的,也可以是在需要对注册表文件进行整理时创建的)。或者,在实际应用中,目标文件还可以是预先获取的一保存有基本配置信息的文件,基本配置信息是指针对用户计算机的一些基本配置,这种基本配置可以是与用户计算机上安装的操作系统的版本号(例如Windows XP SP3等等)相对应的,也就是说,对于安装了某版本操作系统的计算机而言,注册表中的一些基本配置通常是相同的,因此,就可以针对各个不同的操作系统版本号分别预先设置标准文件,在需要对注册表文件进行整理时,就可以将这种标准文件作为目标文件。具体实现时,该标准文件可以是预先保存在用户计算机本地的,也可以是在需要对注册表文件进行整理时,根据计算机的系统版本号,到服务器侧下载相应的标准文件,再将其作为目标文件。S102:将原注册表文件中被分散保存到不同空间的同一注册表信息的数据连续存放到所述目标文件中同一连续可用的空间,生成新的注册表文件;
在本发明实施例中同一注册表信息是指在针对同一安装或者修改配置文件等操作产的注册表信息,例如,当安装某新的软件在计算机中时,就会产生一些注册表信息,例如这些信息总共占200个字节,在将这200个字节保存到注册表中时,如果未能找到足够大的一个连续可用空间上存储该200个字节的信息,则这些信息就会被分散保存到HIVE文件中的不同空间。其中,如果同一注册表信息被分散保存到HIVE文件中的不同空间,每一部分信息具体保存在HIVE文件中的什么位置,是由系统自动进行分配的,本发明实施例中也并不需要关心每一部分具体保存在HIVE文件的什么位置,只需要利用系统中的API函数进行数据的提取,并指示将同一注册表信息的不同部分进行连续保存即可。需要说明的是,由于原注册表文件中既存在有效数据,还存在一些无效数据(当某应用程序被卸载之后,之前被写入到注册表中的关于该应用程序的数据可能并没有被删除,此时,由于应用程序已经被卸载了,因此这种数据就成为无效数据,也可以称为碎片), 因此,在向目标文件中转移数据时,还可以考虑数据是否为有效数据的因素,可以仅将有效数据转移到目标文件中。这样,新生成的注册表文件就将不再包含无效数据,并且之前被分散保存到不同磁盘空间中的同一注册表信息,也实现了连续存放。相当于在实现连续存放的同时,将注册表文件中的碎片进行了清除,从而进一步降低了对系统性能的影响。另外需要说明的是,关于本发明实施例所述的有效数据,还可以是根据用户的系统版本号以及安装的应用程序等特征进行分析之后,获得的关于当前系统的一些优化配置的数据,因此,在对注册表文件进行整理的同时,除了可以将原注册表文件中的有效数据保存到目标文件中,还可以将这些优化配置数据保存到目标文件中,使得新的注册表文件在得到整理的同时,优化了系统配置,进一步提高系统性能。S103 通知操作系统将所述新的注册表文件作为注册表文件。在生成新的注册表文件之后,就可以通知操作系统将该文件作为注册表文件。具体实现时,在生成新的注册表文件之后,还可以重新启动计算机(或者提示用户重新启动), 重新启动之后,就会以新的注册表文件运行。当然,原注册表文件中还存在并没有被分散保存的注册表信息,这些信息也可以保存到目标文件中,这样,对于原注册表文件,由于已经不再有存在的价值,因此可以将其删除。至于原注册表文件的删除时机,则可以在生成新的注册表文件之后即删除,也可以等到重启计算机之后,再进行删除。可见,在本发明实施例提供的对注册表文件进行整理的方法中,如果需要对注册表文件进行整理,则会获取目标文件,然后将原注册表文件中被分散保存到不同空间的同一注册表信息的数据存放到目标文件中同一连续可用的空间,这样,就可以生成新的注册表文件,然后将其作为注册表文件。因此,能够提高对同一注册表信息的读取效率,有利于提高系统性能。
在实际应用中,由于注册表文件通常是由多个HIVE文件组成的,其中每个注册表项对应着一个HIVE文件,一个注册表项通常对应着一个群组,例如群组名为“\REGISTRY\ MACHINE\SOFTWARE”的HIVE文件,相当于应用程序对应的注册表项,当新装某应用程序时, 产生的注册表信息就写入到该HIVE文件中。或者,群组名为“\REGISTRY\MACHINE\SYSTEM” 的HIVE文件,相当于系统对应的注册表项,当系统中的硬件等配置发生变化时,产生的注册表信息就写入到该HIVE文件中。也就是说,在注册表文件中,实际上对不同的注册表信息是进行了分类保存的,同一类的注册表信息对应的一个HIVE文件,并且每个HIVE文件中包含多个注册表信息,随着应用程序的新装与卸载、系统配置的更改等操作,会使得每个 HIVE文件中都可能产生被分散保存到磁盘不同空间的同一注册表信息的数据。因此,在本发明实施例中,如果将新建的文件作为目标文件,则在新建文件之前, 还可以首先查找原注册表文件中的注册表项及其对应的HIVE文件,然后针对各个注册表项,分别新建一文件。具体对注册表文件进行整理时,就可以分别针对各个注册表项进行。 其中,针对各个注册表项,就可以将原HIVE文件中被分散保存到HIVE文件不同空间的同一注册表信息的数据存放到对应该注册表项新建的文件中同一连续可用的空间。这样,最终针对各个注册表项就可以分别得到一个新建的文件,并且新建的文件中同一注册表信息的数据被存放到同一连续的空间,此时,再将这些新建的文件综合到一起,就可以生成新的注册表文件。与本发明实施例提供的对注册表文件进行整理的方法相对应,本发明实施例还提供了一种对注册表文件进行整理的装置,参见图2,该装置包括
目标文件获取单元201,用于当需要对注册表文件进行整理时,获取目标文件; 新注册表文件生成单元202,用于将原注册表文件中被分散保存到不同空间的同一注册表信息的数据存放到所述目标文件中同一连续可用的空间,生成新的注册表文件; 通知单元203,用于通知操作系统将所述新的注册表文件作为注册表文件。具体实现时,该装置还可以包括
存放单元,用于将原注册表文件中未被分散保存到不同空间的注册表信息的数据也存放到所述目标文件中连续可用的空间。在包括该存放单元的情况下,该装置还可以包括 删除单元,用于将原注册表文件删除。具体实现时,目标文件获取单元201具体可以包括
新建子单元,用于当需要对注册表文件进行整理时,新建文件,将所述新建的文件作为所述目标文件。更为具体地
所述新建子单元具体用于
当需要对注册表文件进行整理时,查找原注册表文件中的注册表项及其对应的HIVE 文件,并为各注册表项分别新建一文件;
相应的,新注册表文件生成单元202具体用于
对于各注册表项,将原HIVE文件中被分散保存到不同空间的同一注册表信息的数据存放到新建的文件中同一连续可用的空间,综合各注册表项对应的新建文件,生成新的注册表文件。
目标文件获取单元201具体可以包括
第一检测子单元,用于检测用户是否发出整理注册表文件的请求,如果是,则需要对注册表文件进行整理,获取目标文件; 或者,
第二检测子单元,用于检测原注册表文件占用的空间是否达到预置的阈值,如果是,则需要对注册表文件进行整理,获取目标文件。可见,在本发明实施例提供的对注册表文件进行整理的装置中,如果需要对注册表文件进行整理,则会获取目标文件,然后将原被分散保存到HIVE文件不同位置的同一注册表信息的数据连续存放到目标文件中,这样,就可以生成新的注册表文件,然后将其作为注册表文件。因此,能够提高对同一注册表信息的读取效率,有利于提高系统性能。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上对本发明所提供的对注册表文件进行整理的方法及装置,进行了详细介绍, 本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种对注册表文件进行整理的方法,其特征在于,包括 当需要对注册表文件进行整理时,获取目标文件;将原注册表文件中被分散保存到不同空间的同一注册表信息的数据存放到所述目标文件中同一连续可用的空间,生成新的注册表文件;通知操作系统将所述新的注册表文件作为注册表文件。
2.根据权利要求1所述的方法,其特征在于,还包括将原注册表文件中未被分散保存到不同空间的注册表信息的数据也存放到所述目标文件中连续可用的空间。
3.根据权利要求2所述的方法,其特征在于,还包括 将原注册表文件删除。
4.根据权利要求1所述的方法,其特征在于,所述当需要对注册表文件进行整理时,获取目标文件包括当需要对注册表文件进行整理时,新建文件,将所述新建的文件作为所述目标文件。
5.根据权利要求4所述的方法,其特征在于所述当需要对注册表文件进行整理时,新建文件包括当需要对注册表文件进行整理时,查找原注册表文件中的注册表项及其对应的HIVE 文件,并为各注册表项分别新建一文件;所述将原注册表文件中被分散保存到不同空间的同一注册表信息的数据存放到所述目标文件中同一连续可用的空间,生成新的注册表文件包括对于各注册表项,将原HIVE文件中被分散保存到不同空间的同一注册表信息的数据存放到新建的文件中同一连续可用的空间,综合各注册表项对应的新建文件,生成新的注册表文件。
6.根据权利要求1所述的方法,其特征在于,所述当需要对注册表文件进行整理时包括检测用户是否发出整理注册表文件的请求,如果是,则需要对注册表文件进行整理; 或者,检测原注册表文件占用的空间是否达到预置的阈值,如果是,则需要对注册表文件进行整理。
7.一种对注册表文件进行整理的装置,其特征在于,包括目标文件获取单元,用于当需要对注册表文件进行整理时,获取目标文件; 新注册表文件生成单元,用于将原注册表文件中被分散保存到不同空间的同一注册表信息的数据存放到所述目标文件中同一连续可用的位置,生成新的注册表文件; 通知单元,用于通知操作系统将所述新的注册表文件作为注册表文件。
8.根据权利要求7所述的方法,其特征在于,还包括存放单元,用于将原注册表文件中未被分散保存到不同空间的注册表信息的数据也存放到所述目标文件中连续可用的空间。
9.根据权利要求8所述的方法,其特征在于,还包括 删除单元,用于将原注册表文件删除。
10.根据权利要求6所述的方法,其特征在于,所述目标文件获取单元包括新建子单元,用于当需要对注册表文件进行整理时,新建文件,将所述新建的文件作为所述目标文件。
11.根据权利要求10所述的方法,其特征在于所述新建子单元具体用于当需要对注册表文件进行整理时,查找原注册表文件中的注册表项及其对应的HIVE 文件,并为各注册表项分别新建一文件;所述新注册表文件生成单元具体用于对于各注册表项,将原HIVE文件中被分散保存到不同空间的同一注册表信息的数据存放到新建的文件中同一连续可用的空间,综合各注册表项对应的新建文件,生成新的注册表文件。
12.根据权利要求6所述的方法,其特征在于,所述目标文件获取单元包括第一检测子单元,用于检测用户是否发出整理注册表文件的请求,如果是,则需要对注册表文件进行整理,获取目标文件;或者,第二检测子单元,用于检测原注册表文件占用的空间是否达到预置的阈值,如果是,则需要对注册表文件进行整理,获取目标文件。
全文摘要
本发明公开了一种对注册表文件进行整理的方法及装置,其中,所述方法包括当需要对注册表文件进行整理时,获取目标文件;将原注册表文件中被分散保存到不同空间的同一注册表信息的数据存放到所述目标文件中同一连续可用的空间,生成新的注册表文件;通知操作系统将所述新的注册表文件作为注册表文件。通过本发明,能够对注册表文件进行有效地整理,减少由于注册表造成的系统性能下降。
文档编号G06F17/30GK102346776SQ201110288200
公开日2012年2月8日 申请日期2011年9月26日 优先权日2011年9月26日
发明者于天佐, 刘科, 唐智, 陆坡, 陈佃晓, 陈耀攀 申请人:奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1