CN102867061A - 系统管理方法和装置 - Google Patents
系统管理方法和装置 Download PDFInfo
- Publication number
- CN102867061A CN102867061A CN201210353549XA CN201210353549A CN102867061A CN 102867061 A CN102867061 A CN 102867061A CN 201210353549X A CN201210353549X A CN 201210353549XA CN 201210353549 A CN201210353549 A CN 201210353549A CN 102867061 A CN102867061 A CN 102867061A
- Authority
- CN
- China
- Prior art keywords
- version
- program set
- dynamic link
- program
- link library
- 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
Links
- 238000007726 management method Methods 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 claims description 23
- 230000007246 mechanism Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种系统管理方法和装置,涉及计算机软件开发领域,解决了现有方案系统精简的效率较低以及适用范围较窄的问题。本发明实施例提供的一种系统管理方法,包括:在存在不同版本的程序集的情况下,将第一版本程序集重定向到第二版本程序集,其中,第一版本程序集和第二版本程序集为同一种程序集的不同版本;删除第一版本程序集中的动态链接库文件;在删除的动态链接库文件的位置,为该删除的动态链接库文件建立指向与该删除的动态链接库文件对应的第二版本程序集中的动态链接库文件的关联。本发明实现了一种适用范围广的、高效的精简系统的方案,提高了系统资源的利用率。
Description
技术领域
本发明涉及计算机软件开发领域,特别涉及一种系统管理方法和装置。
背景技术
Window系统从XP版本开始支持允许同一个程序集(Assembly)的不同版本共存于同一系统中的机制,如SxS(Side-by-Side,并行)机制。
由于高版本的程序集通常是在低版本程序集的基础上开发得到的,不同版本的程序集共存时,会出现数据重复的问题等,为提高资源利用率,需要对系统进行精简,或称之为系统瘦身。
已有的一种系统瘦身方案中利用文件大小及文件哈希值,遍历磁盘上的每个文件,找出磁盘上内容完全相同的重复文件,删除冗余文件,相同的文件只保留一份,从而减少磁盘占用,另一种方案中针对特定应用场景对系统组件进行裁剪,将系统在特定应用场景下所不需要的组件进行卸载,从而精简操作系统的规模。
现有方案至少存在如下缺陷:
现有方案要么需要对磁盘上的每个文件逐个计算文件哈希值,分别比对各个文件,从而导致计算量较大、精简效率较低,要么仅适用于特定应用场景,适用范围较窄,亟待一种不局限于特定应用场景、高效的系统精简方案。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的系统管理方法和装置。
依据本发明的一个方面,提供了一种系统管理方法,包括:
在存在不同版本的程序集的情况下,将第一版本程序集重定向到第二版本程序集,其中,第一版本程序集和第二版本程序集为同一种程序集的不同版本;
删除第一版本程序集中的动态链接库文件;
在删除的动态链接库文件的位置,为该删除的动态链接库文件建立指向与该删除的动态链接库文件对应的第二版本程序集中的动态链接库文件的关联。
可选地,上述将第一版本程序集重定向到第二版本程序集包括:
通过修改第一版本程序集的策略配置文件,将第一版本程序集重定向到第二版本程序集。
可选地,在删除的动态链接库文件的位置,为该删除的动态链接库文件建立指向与该删除的动态链接库文件对应的第二版本程序集中的动态链接库文件的关联的同时或之后,上述方法还包括:
将第一版本程序集的描述文件中删除的动态链接库文件的文件哈希值,修改为该删除的动态链接库文件对应的第二版本程序集中动态链接库文件的文件哈希值。
可选地,在将第一版本程序集重定向到第二版本程序集之前,上述方法还包括:
通过下列方式,确定第一版本程序集和第二版本程序集:
在每种具有不同版本的程序集中选取两个程序集,将两个程序集中版本级别高的程序集作为第二版本程序集,将两个程序集中版本级别低的程序集作为第一版本程序集;或者,
在每种具有不同版本的程序集中,将版本级别最高的程序集作为第二版本程序集,并将版本级别小于该第二版本程序集的所有程序集都作为第一版本程序集。
可选地,在确定上述第一版本程序集和第二版本程序集之前,上述方法还包括:
通过下列方式,获知每种具有不同版本的程序集:
扫描操作系统的安装程序集的目录下的所有程序集,查找是否存在同名的程序集;
如果存在同名的程序集,则确认存在具有不同版本的程序集,且同名的程序集为同一种程序集的不同版本;
如果不存在同名的程序集,则确认不存在具有不同版本的程序集。
可选地,上述通过修改第一版本程序集的策略配置文件,将第一版本程序集重定向到第二版本程序集包括:
将第一版本程序集的策略配置文件中的绑定重定向节点中的新版本信息,修改为第二版本程序集的版本号。
根据本发明的另一方面,提供了一种系统管理装置,包括:
重定向单元,适于在存在不同版本的程序集的情况下,将第一版本程序集重定向到第二版本程序集,其中,第一版本程序集和第二版本程序集为同一种程序集的不同版本;
删减单元,适于删除第一版本程序集中的动态链接库文件,并在删除的动态链接库文件的位置,为该删除的动态链接库文件建立指向与该删除的动态链接库文件对应的第二版本程序集中的动态链接库文件的关联。
可选地,上述重定向单元,适于通过修改第一版本程序集的策略配置文件,将第一版本程序集重定向到第二版本程序集。
可选地,上述删减单元,适于在删除的动态链接库文件的位置,为该删除的动态链接库文件建立指向与该删除的动态链接库文件对应的第二版本程序集中的动态链接库文件的关联的同时或之后,将第一版本程序集的描述文件中删除的动态链接库文件的文件哈希值,修改为该删除的动态链接库文件对应的第二版本程序集中动态链接库文件的文件哈希值。
可选地,上述装置还包括程序集选取单元,
上述程序集选取单元,适于通过下列方式,确定第一版本程序集和第二版本程序集:在每种具有不同版本的程序集中选取两个程序集,将两个程序集中版本级别高的程序集作为第二版本程序集,将两个程序集中版本级别低的程序集作为第一版本程序集;或者,在每种具有不同版本的程序集中,将版本级别最高的程序集作为第二版本程序集,并将版本级别小于该第二版本程序集的所有程序集都作为第一版本程序集。
可选地,上述装置还包括程序集获知单元,
上述程序集获知单元,适于通过下列方式,获知每种具有不同版本的程序集:扫描操作系统的安装程序集的目录下的所有程序集,查找是否存在同名的程序集,如果存在同名的程序集,则确认存在具有不同版本的程序集,且同名的程序集为同一种程序集的不同版本;如果不存在同名的程序集,则确认不存在具有不同版本的程序集。
可选地,上述重定向单元,适于将第一版本程序集的策略配置文件中的绑定重定向节点中的新版本信息,修改为第二版本程序集的版本标识。
由上所述,本发明实施例通过删除第一版本程序集中的动态链接库文件的技术特征,能够在程序集层次进行文件的删除,一次删除操作即可删除程序集下的多个动态链接库文件,避免了现有方案中逐个计算各文件的文件哈希值并分别比对而导致的精简效率较低的问题,能够显著减少精简系统时需要的计算量,提高精简系统的效率;
并且,本发明实施例通过将第一版本程序集重定向到第二版本程序集、以及为该删除的动态链接库文件建立指向与其对应的第二版本程序集中的动态链接库文件的关联的技术特征,当需要运行已删除的动态链接库文件时,能够自动调用关联的第二版本程序集中的动态链接库文件,保证了精简后的系统的正常运行。
再次,本发明实施例适用于所有存在不同版本的程序集的情况下的各种应用场景,解决了现有方案针对特定应用场景,适用范围较窄的问题,因而本发明实施例提供了一种适用范围广的、高效的精简系统的实现方案。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的系统管理方法流程图;
图2示出了根据本发明又一个实施例的系统管理方法流程图;以及
图3示出了根据本发明一个实施例的系统管理装置的结构示意图;
图4示出了根据本发明又一个实施例的系统管理装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在本发明的一个实施例中,提供了一种系统管理方法,参见图1,包括:
S100:在存在不同版本的程序集的情况下,将第一版本程序集重定向到第二版本程序集,其中,第一版本程序集和第二版本程序集为同一种程序集的不同版本;
S102:删除第一版本程序集中的动态链接库文件,并在删除的动态链接库文件的位置,为该删除的动态链接库文件建立指向与该删除的动态链接库文件对应的第二版本程序集中的动态链接库文件的关联。
程序集通常是一组动态链接库(Dynamic Link Library,DLL)文件的组合,一个程序集中包括多个动态链接库文件,动态链接库文件主要包括以dll为扩展名的文件,也包括以其他(如so)为扩展名的文件等。多数情况下,第一版本程序集的版本级别高于第二版本程序集的版本级别。通过上述步骤S100和S102,利用上述的重定向操作和建立的关联,在需要加载运行第一版本程序集时,利用为删除的动态链接库文件建立指向与其对应的第二版本程序集中的动态链接库文件的关联,能够自动加载运行第二版本程序集中的动态链接库文件,从而在删除第一版本程序集以精简系统的同时,保证了系统的正常运行。
由上所述,本发明实施例通过删除第一版本程序集中的动态链接库文件的技术特征,能够在程序集层次进行文件的删除,一次删除操作即可删除程序集下的多个动态链接库文件,避免了现有方案中逐个计算各文件的文件哈希值并分别比对而导致的精简效率较低的问题,能够显著减少精简系统时需要的计算量,提高精简系统的效率;
并且,本发明实施例通过将第一版本程序集重定向到第二版本程序集、以及为该删除的动态链接库文件建立指向与其对应的第二版本程序集中的动态链接库文件的关联的技术特征,当需要运行已删除的动态链接库文件时,能够自动调用关联的第二版本程序集中的动态链接库文件,保证了精简后的系统的正常运行。
再次,本发明实施例适用于所有存在不同版本的程序集的情况下的各种应用场景,解决了现有方案针对特定应用场景,适用范围较窄的问题,因而本发明实施例提供了一种适用范围广的、高效的精简系统的实现方案。
在本发明又一个实施例中,以在采用SxS机制下存在多个不同版本的程序集的系统为例,来对本方案提供的一种系统管理方法进行说明。可以理解,本方案并不局限于SxS机制,还可以适用于其他存在不同版本的程序集的情况。
参见图2,本实施例提供的系统管理方法,包括如下处理:对存在多个不同版本的程序集的系统,首先获知系统下每种具有不同版本的程序集,然后确定第一版本程序集和第二版本程序集,第一版本程序集为需要删减的程序集,通常为低版本的程序集,第二版本程序集通常为高版本的程序集,这是由于高版本程序集通常是向下兼容的,能够包含运行第一版本程序集所需要的所有资源,从而能够在第一版本程序集中的动态链接库文件删除后,提供系统运行所需的资源,则通过修改第一版本程序集的策略配置文件,将第一版本程序集重定向到第二版本程序集,从而保证了当精简后的系统需要运行已删除的第一版本程序集中的动态链接库文件时,能够加载并运行第二版本程序集中关联的动态链接库文件。
再次,删除第一版本程序集中的动态链接库文件,以对系统进行精简,并且,在删除的动态链接库文件的位置为该删除的动态链接库文件建立指向与该删除的动态链接库文件对应的第二版本程序集中的动态链接库文件的关联。建立这一关联的目的主要在于当需要运行已删除的动态链接库文件时,能够自动调用关联的第二版本程序集中的动态链接库文件,保证了精简后的系统的正常运行。
并且,本实施例还将第一版本程序集的描述文件中删除的动态链接库文件的文件哈希值,修改为删除的动态链接库文件所对应的第二版本程序集中动态链接库文件的文件哈希值。这种修改避免了精简后的系统在加载第一版本程序集时,因为描述文件中的文件哈希值所指示的动态链接库文件与实际加载的第二版本程序集中的动态链接库文件不一致而导致的加载失败的问题,进一步保证了重定向的第一版本程序集能够被成功加载和运行。
上述处理的具体描述如下:
S200:获知每种具有不同版本的程序集。
扫描操作系统的安装程序集的目录下的所有程序集,查找是否存在同名的程序集;如果存在同名的程序集,则确认存在具有不同版本的程序集,且所述同名的程序集为同一种程序集的不同版本;如果不存在同名的程序集,则确认不存在具有不同版本的程序集。
由于在SxS机制下,通常将不同版本的程序集安装在“%windir%\winsxs”目录下,所以扫描“%windir%\winsxs”目录下的所有程序集,通过各程序集的描述文件得到程序集的名称、版本号和程序集中包含的全部动态链接库文件。上述程序集的描述文件是一种记载了程序集的描述信息的文件,这些描述信息包括程序集的名称、版本号和程序集中包含的全部动态链接库文件等。
上述“扫描程序集的描述文件”的一种方式为解析描述文件中所包括的各项信息,获取所关注信息内容,如解析描述文件中包含程序集名称的信息时,可以得到该程序集的名称。在下文中对描述文件的具体内容进行说明。
上述描述文件可以为声明(manifests)文件,例如,以WinXP操作系统下的VC++8 CRT应用系统为例,该VC++8 CRT应用系统安装了程序集“Microsoft.VC80.CRT”,通过扫描%windir%\winsxs\manifests目录下的声明文件,得知该程序集在系统中存在下列版本号的三个不同的版本:
版本1:8.0.50727.3079
版本2:8.0.50727.42
版本3:8.0.50727.762
将上述版本号中的各位数字进行比较,获知各个版本的版本级别的高低,在上面的例子中,版本级别的从高到低的顺序为:版本1>版本3>版本2。
上述三个版本程序集的动态链接库文件所在的目录可以如下所示:
版本1:
%windir%\winsxs\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.3079_x-ww_b811a94e
版本2:
%windir%\winsxs\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd
版本3:
%windir%\winsxs\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_6b128700
程序集“Microsoft.VC80.CRT”的版本1的程序集的描述文件的示例为x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.3079_x-ww_b811a94e.manifest,其具体内容可以如下:
上述XML(Extensible Markup Language,可扩展标记语言)格式的描述文件描述了程序集的名称为Microsoft.VC80.CRT,版本号为8.0.50727.307。该程序集包括的动态链接库文件有msvcr80.dll、msvcp80.dll和msvcm80.dll该动态链接库文件的文件哈希值分别为"7f21b93e4121607a2d2498940b4620f4782d5dca"、"96eb66c2659b4bba2ca4c9722e8ff9d2a3ac2e20"和"6aa50e61ef24d4514fd2b7c3d8acc5c162d493e9"。
程序集“Microsoft.VC80.CRT”的版本2的程序集的描述文件的示例为x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd.manifest,其具体内容可以如下:
上述XML格式的描述文件描述了程序集的名称为Microsoft.VC80.CRT,版本号为8.0.50727.42。该程序集包括的动态链接库文件有msvcr80.dll、msvcp80.dll和msvcm80.dll。该动态链接库文件的文件哈希值分别为"2a0d797a8c5eac76e54e98db9682e0938c614b45"、"cc4ca55fb6aa6b7bb8577ab4b649ab77e42f8f91"和"55e8e87bbde00d1d96cc119ccd94e0c02c9a2768"。
程序集“Microsoft.VC80.CRT”的版本3的程序集的描述文件的示例为x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_6b128700.manifest,其具体内容可以如下:
上述XML格式的描述文件描述了程序集的名称为Microsoft.VC80.CRT,版本号为8.0.50727.762。该程序集包括的动态链接库文件有msvcr80.dll、msvcp80.dll和msvcm80.dll。该动态链接库文件的文件哈希值分别为"10f4cb2831f1e9288a73387a8734a8b604e5beaa"、″b2082dfd3009365c5b287448dcb3b4e2158a6d26"和"542490d0fcf8615c46d0ca487033ccaeb3941f0b"。
S202:确定第一版本程序集和第二版本程序集。
由于高版本程序集通常向下兼容低版本的程序集,高版本程序集中的动态链接库文件能够支持低版本程序集的运行,所以本实施例中第一版本程序集通常为版本级别较低的低版本程序集,第二版本程序集中为版本级别较高的高版本程序集,然而,本方案并不局限于此,一些场景中,第一版本程序集可以为高版本程序集,第二版本程序集可以为低版本程序集。
通过下列方式,确定第一版本程序集和第二版本程序集:
一种可选的方式为:在每种具有不同版本的程序集中选取两个程序集,将两个程序集中版本级别高的程序集作为第二版本程序集,将两个程序集中版本级别低的程序集作为第一版本程序集;仍以上述示例说明,对程序集“Microsoft.VC80.CRT”,选取版本1的程序集和版本2的程序集,将版本2的程序集作为第一版本程序集,将版本1的程序集作为第二版本程序集。若对于除了这两个版本之外的其他不同版本也需要进行精简处理的话,按照上述相同的处理方式处理即可,即在具有不同版本的程序集中,每次选取两个程序集,将两个程序集中版本级别低的程序集作为第一版本程序集,将两个程序集中版本级别高的程序集作为第二版本程序集,对选取的两个程序集进行系统精简操作之后,若还存在三个以上不同版本程序集,则在剩余的程序集中再选取两个程序集,重复上述操作,直至剩下两个不同版本的程序集。
又一种可选的方式为:在每种具有不同版本的程序集中,将版本级别最高的程序集作为第二版本程序集,并将版本级别小于该第二版本程序集的所有程序集都作为第一版本程序集。仍以上述示例说明,对程序集“Microsoft.VC80.CRT”,将版本1的程序集作为第二版本程序集,将剩余的程序集(包括版本2的程序集和版本3的程序集)都作为第一版本程序集。
S204:通过修改第一版本程序集的策略配置文件,将第一版本程序集重定向到第二版本程序集。
操作系统中的策略(policy)配置文件是一种规定了程序在加载以及运行动态链接库时需要遵照的策略的文件。该文件通常保存在%windir%\winsxs\policies目录下(对于Vista及其以上的操作系统不存在这个目录,需要从注册表中获取策略配置文件)。策略配置文件通过绑定重定向节点<bindingRedirect>节点指定了低版本向高版本的重定向策略,该重定向策略指示当应用程序要加载低版本的动态链接库文件时,系统将低版本的动态链接库文件重定向到高版本的动态链接库文件从而加载高版本的动态链接库文件,即当某个应用程序要加载低版本的动态链接库文件时,系统根据此处策略配置文件中配置的策略,可以将其重定向到高版本的动态链接库文件从而加载高版本的动态链接库文件。
“Microsoft.VC80.CRT”的版本2的程序集的策略配置文件的一个示例为8.0.50727.42.policy,具体内容可以如下:
“Microsoft.VC80.CRT”的版本3的程序集的策略配置文件的一个示例为8.0.50727.762.policy,具体内容可以如下:
“Microsoft.VC80.CRT”的版本3的程序集的策略配置文件的一个示例为8.0.50727.3079.policy,具体内容可以如下:
本实施例中,当将版本2的程序集作为第一版本程序集,将版本1的程序集作为第二版本程序集时,需要将版本2的程序集的策略配置文件中的<bindingRedirect>节点中的新版本信息(newVersion)修改为版本1的程序集的版本号。对于将版本2的程序集和版本3的程序集都作为第一版本程序集的情况,采用上述相同的修改操作,同时对版本2的程序集的策略配置文件和版本3的程序集的策略配置文件进行修改。
S206:删除第一版本程序集中的动态链接库文件,并在删除的动态链接库文件的位置为该删除的动态链接库文件建立指向与该删除的动态链接库文件对应的第二版本程序集中的动态链接库文件的关联。
在删除的动态链接库文件的位置,即在删除的动态链接库文件原来所在的目录下,建立上述关联,这种关联可以包括与删除的动态链接库文件对应的第二版本程序集中的动态链接库文件的地址或者指向该地址的信息等。
本实施例中上述关联可以由符号链接文件实现,该符号链接文件中具有与该删除的动态链接库文件对应的第二版本程序集中的动态链接库文件的关联,例如该符号链接文件中具有与该删除的动态链接库文件对应的第二版本程序集中的动态链接库文件的地址。
S208:将第一版本程序集的描述文件中删除的动态链接库文件的文件哈希值,修改为删除的动态链接库文件所对应的第二版本程序集中动态链接库文件的文件哈希值。
本实施例不对各个步骤执行的具体次序进行严格限定,如步骤S206和S208可以同时执行,或者步骤S208可以在步骤S206之后执行。
例如,对将“Microsoft.VC80.CRT”的版本1的程序集作为第二版本程序集,将版本2的程序集作为第一版本程序集的情况,将版本2的程序集的XML描述文件中各动态链接库文件的文件哈希值分别修改为版本1的程序集的XML描述文件的各动态链接库文件的文件哈希值。这种修改进一步保证了重定向的第一版本程序集能够被成功加载和运行。
通过上述步骤S200至S208的操作,本实施例能够对具有不同版本程序集的操作系统以及各种应用进行精简,该精简操作删除了第一版本程序集中的动态链接库文件,减少了磁盘占用,达到系统瘦身的目的;且上述方法操作简单,系统性能开销小。
本发明一个实施例还提供了一种系统管理装置,参见图3,包括:
重定向单元300,适于在存在不同版本的程序集的情况下,将第一版本程序集重定向到第二版本程序集,其中,该第一版本程序集和第二版本程序集为同一种程序集的不同版本;
删减单元302,适于删除第一版本程序集中的动态链接库文件,并在删除的动态链接库文件的位置,为该删除的动态链接库文件建立指向与该删除的动态链接库文件对应的第二版本程序集中的动态链接库文件的关联。
多数情况下,第一版本程序集的版本级别高于第二版本程序集的版本级别。通过上述重定向单元300和删减单元302,利用重定向操作和建立的关联,在需要加载运行第一版本程序集时,利用为删除的动态链接库文件建立指向与其对应的第二版本程序集中的动态链接库文件的关联,能够自动加载运行第二版本程序集中的动态链接库文件,从而在删除第一版本程序集以精简系统的同时,保证了系统的正常运行。
本发明装置实施例中各单元的具体工作方式可以参见本发明的方法实施例,在此不再赘述。
本发明的又一个实施例提供的一种系统管理装置,参见图4,包括:
重定向单元300,适于在存在不同版本的程序集的情况下,将第一版本程序集重定向到第二版本程序集,其中,该第一版本程序集和第二版本程序集为同一种程序集的不同版本;
删减单元302,适于删除第一版本程序集中的动态链接库文件,并在删除的动态链接库文件的位置,为该删除的动态链接库文件建立指向与该删除的动态链接库文件对应的第二版本程序集中的动态链接库文件的关联。
其中,重定向单元300,适于通过修改第一版本程序集的策略配置文件,将第一版本程序集重定向到第二版本程序集。例如,重定向单元300,具体适于将第一版本程序集的策略配置文件中的绑定重定向节点中的新版本信息,修改为第二版本程序集的版本标识。
上述删减单元302,适于在删除的动态链接库文件的位置,为该删除的动态链接库文件建立指向与该删除的动态链接库文件对应的第二版本程序集中的动态链接库文件的关联的同时或之后,将第一版本程序集的描述文件中删除的动态链接库文件的文件哈希值,修改为该删除的动态链接库文件对应的第二版本程序集中动态链接库文件的文件哈希值。
可选的,上述装置还包括程序集选取单元402,适于通过下列方式,确定第一版本程序集和第二版本程序集:在每种具有不同版本的程序集中选取两个程序集,将两个程序集中版本级别高的程序集作为第二版本程序集,将两个程序集中版本级别低的程序集作为第一版本程序集;或者,在每种具有不同版本的程序集中,将版本级别最高的程序集作为第二版本程序集,并将版本级别小于该第二版本程序集的所有程序集都作为第一版本程序集。
可选的,上述装置还包括程序集获知单元400,适于通过下列方式,获知每种具有不同版本的程序集:扫描操作系统的安装程序集的目录下的所有程序集,查找是否存在同名的程序集,如果存在同名的程序集,则确认存在具有不同版本的程序集,且同名的程序集为同一种程序集的不同版本;如果不存在同名的程序集,则确认不存在具有不同版本的程序集。
本发明装置实施例中各单元的具体工作方式可以参见本发明的方法实施例,在此不再赘述。
由上所述,本发明实施例通过删除第一版本程序集中的动态链接库文件的技术特征,能够在程序集层次进行文件的删除,一次删除操作即可删除程序集下的多个动态链接库文件,避免了现有方案中逐个计算各文件的文件哈希值并分别比对而导致的精简效率较低的问题,能够显著减少精简系统时需要的计算量,提高精简系统的效率;
并且,本发明实施例通过将第一版本程序集重定向到第二版本程序集、以及为该删除的动态链接库文件建立指向与其对应的第二版本程序集中的动态链接库文件的关联的技术特征,当需要运行已删除的动态链接库文件时,能够自动调用关联的第二版本程序集中的动态链接库文件,保证了精简后的系统的正常运行。
再次,本发明实施例适用于所有存在不同版本的程序集的情况下的各种应用场景,解决了现有方案针对特定应用场景,适用范围较窄的问题,因而本发明实施例提供了一种适用范围广的、高效的精简系统的实现方案。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的系统管理装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (12)
1.一种系统管理方法,包括:
在存在不同版本的程序集的情况下,将第一版本程序集重定向到第二版本程序集,其中,所述第一版本程序集和第二版本程序集为同一种程序集的不同版本;
删除所述第一版本程序集中的动态链接库文件;
在删除的动态链接库文件的位置,为该删除的动态链接库文件建立指向与该删除的动态链接库文件对应的第二版本程序集中的动态链接库文件的关联。
2.根据权利要求1所述的方法,其中,所述将第一版本程序集重定向到第二版本程序集包括:
通过修改第一版本程序集的策略配置文件,将第一版本程序集重定向到第二版本程序集。
3.根据权利要求2所述的方法,其中,在删除的动态链接库文件的位置,为该删除的动态链接库文件建立指向与该删除的动态链接库文件对应的第二版本程序集中的动态链接库文件的关联的同时或之后,所述方法还包括:
将第一版本程序集的描述文件中删除的动态链接库文件的文件哈希值,修改为该删除的动态链接库文件对应的第二版本程序集中动态链接库文件的文件哈希值。
4.根据权利要求3所述的方法,其中,在将第一版本程序集重定向到第二版本程序集之前,所述方法还包括:
通过下列方式,确定所述第一版本程序集和第二版本程序集:
在每种具有不同版本的程序集中选取两个程序集,将两个程序集中版本级别高的程序集作为所述第二版本程序集,将两个程序集中版本级别低的程序集作为所述第一版本程序集;或者,
在每种具有不同版本的程序集中,将版本级别最高的程序集作为所述第二版本程序集,并将版本级别小于该第二版本程序集的所有程序集都作为第一版本程序集。
5.根据权利要求4所述的方法,其中,在确定所述第一版本程序集和第二版本程序集之前,所述方法还包括:
通过下列方式,获知每种具有不同版本的程序集:
扫描操作系统的安装程序集的目录下的所有程序集,查找是否存在同名的程序集;
如果存在同名的程序集,则确认存在具有不同版本的程序集,且所述同名的程序集为同一种程序集的不同版本;
如果不存在同名的程序集,则确认不存在具有不同版本的程序集。
6.根据权利要求2至5任一项所述的方法,其中,所述通过修改第一版本程序集的策略配置文件,将第一版本程序集重定向到第二版本程序集包括:
将第一版本程序集的策略配置文件中的绑定重定向节点中的新版本信息,修改为第二版本程序集的版本号。
7.一种系统管理装置,包括:
重定向单元,适于在存在不同版本的程序集的情况下,将第一版本程序集重定向到第二版本程序集,其中,所述第一版本程序集和第二版本程序集为同一种程序集的不同版本;
删减单元,适于删除所述第一版本程序集中的动态链接库文件,并在删除的动态链接库文件的位置,为该删除的动态链接库文件建立指向与该删除的动态链接库文件对应的第二版本程序集中的动态链接库文件的关联。
8.根据权利要求7所述的装置,其中,
所述重定向单元,适于通过修改第一版本程序集的策略配置文件,将第一版本程序集重定向到第二版本程序集。
9.根据权利要求8所述的装置,其中,
所述删减单元,适于在删除的动态链接库文件的位置,为该删除的动态链接库文件建立指向与该删除的动态链接库文件对应的第二版本程序集中的动态链接库文件的关联的同时或之后,将第一版本程序集的描述文件中删除的动态链接库文件的文件哈希值,修改为该删除的动态链接库文件对应的第二版本程序集中动态链接库文件的文件哈希值。
10.根据权利要求9所述的装置,其中,所述装置还包括程序集选取单元,
所述程序集选取单元,适于通过下列方式,确定所述第一版本程序集和第二版本程序集:在每种具有不同版本的程序集中选取两个程序集,将两个程序集中版本级别高的程序集作为所述第二版本程序集,将两个程序集中版本级别低的程序集作为所述第一版本程序集;或者,在每种具有不同版本的程序集中,将版本级别最高的程序集作为所述第二版本程序集,并将版本级别小于该第二版本程序集的所有程序集都作为第一版本程序集。
11.根据权利要求10所述的装置,其中,所述装置还包括程序集获知单元,
所述程序集获知单元,适于通过下列方式,获知每种具有不同版本的程序集:扫描操作系统的安装程序集的目录下的所有程序集,查找是否存在同名的程序集,如果存在同名的程序集,则确认存在具有不同版本的程序集,且所述同名的程序集为同一种程序集的不同版本;如果不存在同名的程序集,则确认不存在具有不同版本的程序集。
12.根据权利要求8至11任一项所述的装置,其中,所述重定向单元,适于将第一版本程序集的策略配置文件中的绑定重定向节点中的新版本信息,修改为第二版本程序集的版本标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210353549.XA CN102867061B (zh) | 2012-09-20 | 2012-09-20 | 系统管理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210353549.XA CN102867061B (zh) | 2012-09-20 | 2012-09-20 | 系统管理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102867061A true CN102867061A (zh) | 2013-01-09 |
CN102867061B CN102867061B (zh) | 2015-08-19 |
Family
ID=47445930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210353549.XA Active CN102867061B (zh) | 2012-09-20 | 2012-09-20 | 系统管理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102867061B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104049984A (zh) * | 2013-03-12 | 2014-09-17 | 中国移动通信集团公司 | 一种Android终端的中间件、终端及其应用方法 |
CN106055372A (zh) * | 2016-06-30 | 2016-10-26 | 乐视控股(北京)有限公司 | 一种卸载应用程序的方法和装置 |
CN106844431A (zh) * | 2016-12-12 | 2017-06-13 | 北京猎豹移动科技有限公司 | 文件存储方法、装置及其电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1535417A (zh) * | 2000-06-28 | 2004-10-06 | 通过散列的绑定 | |
US20060168588A1 (en) * | 2004-12-03 | 2006-07-27 | Microsoft Corporation | Enabling inter-subsystem resource sharing |
CN101645745A (zh) * | 2009-08-19 | 2010-02-10 | 厦门敏讯信息技术股份有限公司 | 综测仪控制设备及测试方法 |
CN102081516A (zh) * | 2009-11-30 | 2011-06-01 | 英业达股份有限公司 | 依据储存资源提供相应数据存取的系统及其方法 |
-
2012
- 2012-09-20 CN CN201210353549.XA patent/CN102867061B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1535417A (zh) * | 2000-06-28 | 2004-10-06 | 通过散列的绑定 | |
US20060168588A1 (en) * | 2004-12-03 | 2006-07-27 | Microsoft Corporation | Enabling inter-subsystem resource sharing |
CN101645745A (zh) * | 2009-08-19 | 2010-02-10 | 厦门敏讯信息技术股份有限公司 | 综测仪控制设备及测试方法 |
CN102081516A (zh) * | 2009-11-30 | 2011-06-01 | 英业达股份有限公司 | 依据储存资源提供相应数据存取的系统及其方法 |
Non-Patent Citations (1)
Title |
---|
SUN: "《Windows 下也能创建硬链接和软链接(符号链接)》", 《HTTP://WWW.BLOGJAVA.NET/UNMI/ARCHIVE/2007/11/26/163055.HTML》, 12 July 2009 (2009-07-12), pages 1 - 3 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104049984A (zh) * | 2013-03-12 | 2014-09-17 | 中国移动通信集团公司 | 一种Android终端的中间件、终端及其应用方法 |
CN106055372A (zh) * | 2016-06-30 | 2016-10-26 | 乐视控股(北京)有限公司 | 一种卸载应用程序的方法和装置 |
CN106844431A (zh) * | 2016-12-12 | 2017-06-13 | 北京猎豹移动科技有限公司 | 文件存储方法、装置及其电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102867061B (zh) | 2015-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105867947B (zh) | 预置应用程序升级后的数据处理方法及装置 | |
EP2916243B1 (en) | Method, apparatus, server and system for implementing web application | |
US9977665B2 (en) | Satisfying application dependencies | |
CN104049986B (zh) | 插件加载方法及装置 | |
JP6073372B2 (ja) | スクリプト・ファイル依存性およびロード時間の管理 | |
CN108845816A (zh) | 应用程序更新方法、系统、计算机设备及存储介质 | |
US8112745B2 (en) | Apparatus and method for capabilities verification and restriction of managed applications in an execution environment | |
US20180364999A1 (en) | Method and Device for Identifying File | |
JP2009087358A (ja) | コンフィギュレーションマネージャのロールバック機能とセキュリティ機能を使用してモバイルコンピューティングデバイスにソフトウェアをインストールする方法、システム、コンピュータプログラム | |
US20130227085A1 (en) | Terminal and method for using cloud services | |
US20100313197A1 (en) | System and method for operating domain profile using database in core framework for sdr mobile terminals | |
US20140129706A1 (en) | Identifying compatible web service policies | |
CN113391826B (zh) | 一种定制镜像中软件包依赖的解决方法 | |
CN110941779B (zh) | 加载页面的方法、装置、存储介质及电子设备 | |
CN102867061B (zh) | 系统管理方法和装置 | |
CN111857765A (zh) | 用于药物设计系统的插件系统及其生成方法和更新方法 | |
WO2019056797A1 (zh) | 网络图片的爬取方法、程序及应用服务器 | |
US20170270031A1 (en) | Information processing apparatus, test execution method, and computer-readable recording medium | |
CN105550573A (zh) | 拦截捆绑软件的方法和装置 | |
US8689200B1 (en) | Method and system for optimizing an executable program by generating special operations for identical program entities | |
US8725765B2 (en) | Hierarchical registry federation | |
CN109144595B (zh) | 基于插件框架启动组件的方法及装置 | |
KR100554521B1 (ko) | 에스시에이 기반 시스템의 디스크립터 파일을 저장한 기록 매체 및 그의 파일 파싱 방법 | |
CN112689199B (zh) | 一种电视主页的插件加载方法、装置、电视及存储介质 | |
CN109976897B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220711 Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Patentee before: Qizhi software (Beijing) Co., Ltd |