專利名稱:系統(tǒng)管理方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)軟件開發(fā)領(lǐng)域,特別涉及一種系統(tǒng)管理方法和裝置。
背景技術(shù):
Window系統(tǒng)從XP版本開始支持允許同一個(gè)程序集(Assembly)的不同版本共存于同一系統(tǒng)中的機(jī)制,如SxS (Side-by-Side,并行)機(jī)制。由于高版本的程序集通常是在低版本程序集的基礎(chǔ)上開發(fā)得到的,不同版本的程序集共存時(shí),會(huì)出現(xiàn)數(shù)據(jù)重復(fù)的問題等,為提高資源利用率,需要對(duì)系統(tǒng)進(jìn)行精簡,或稱之為系統(tǒng)瘦身。已有的ー種系統(tǒng)瘦身方案中利用文件大小及文件哈希值,遍歷磁盤上的每個(gè)文件,找出磁盤上內(nèi)容完全相同的重復(fù)文件,刪除冗余文件,相同的文件只保留ー份,從而減 少磁盤占用,另ー種方案中針對(duì)特定應(yīng)用場(chǎng)景對(duì)系統(tǒng)組件進(jìn)行裁剪,將系統(tǒng)在特定應(yīng)用場(chǎng)景下所不需要的組件進(jìn)行卸載,從而精簡操作系統(tǒng)的規(guī)?!,F(xiàn)有方案至少存在如下缺陷現(xiàn)有方案要么需要對(duì)磁盤上的每個(gè)文件逐個(gè)計(jì)算文件哈希值,分別比對(duì)各個(gè)文件,從而導(dǎo)致計(jì)算量較大、精簡效率較低,要么僅適用于特定應(yīng)用場(chǎng)景,適用范圍較窄,亟待ー種不局限于特定應(yīng)用場(chǎng)景、高效的系統(tǒng)精簡方案。
發(fā)明內(nèi)容
鑒于上述問題,提出了本發(fā)明以便提供ー種克服上述問題或者至少部分地解決上述問題的系統(tǒng)管理方法和裝置。依據(jù)本發(fā)明的ー個(gè)方面,提供了一種系統(tǒng)管理方法,包括在存在不同版本的程序集的情況下,將第一版本程序集重定向到第二版本程序集,其中,第一版本程序集和第二版本程序集為同一種程序集的不同版本;刪除第一版本程序集中的動(dòng)態(tài)鏈接庫文件;在刪除的動(dòng)態(tài)鏈接庫文件的位置,為該刪除的動(dòng)態(tài)鏈接庫文件建立指向與該刪除的動(dòng)態(tài)鏈接庫文件對(duì)應(yīng)的第二版本程序集中的動(dòng)態(tài)鏈接庫文件的關(guān)聯(lián)??蛇x地,上述將第一版本程序集重定向到第二版本程序集包括通過修改第一版本程序集的策略配置文件,將第一版本程序集重定向到第二版本程序集??蛇x地,在刪除的動(dòng)態(tài)鏈接庫文件的位置,為該刪除的動(dòng)態(tài)鏈接庫文件建立指向與該刪除的動(dòng)態(tài)鏈接庫文件對(duì)應(yīng)的第二版本程序集中的動(dòng)態(tài)鏈接庫文件的關(guān)聯(lián)的同時(shí)或之后,上述方法還包括將第一版本程序集的描述文件中刪除的動(dòng)態(tài)鏈接庫文件的文件哈希值,修改為該刪除的動(dòng)態(tài)鏈接庫文件對(duì)應(yīng)的第二版本程序集中動(dòng)態(tài)鏈接庫文件的文件哈希值。可選地,在將第一版本程序集重定向到第二版本程序集之前,上述方法還包括
通過下列方式,確定第一版本程序集和第二版本程序集在每種具有不同版本的程序集中選取兩個(gè)程序集,將兩個(gè)程序集中版本級(jí)別高的程序集作為第二版本程序集,將兩個(gè)程序集中版本級(jí)別低的程序集作為第一版本程序集;或者,在每種具有不同版本的程序集中,將版本級(jí)別最高的程序集作為第二版本程序集,并將版本級(jí)別小于該第二版本程序集的所有程序集都作為第一版本程序集??蛇x地,在確定上述第一版本程序集和第二版本程序集之前,上述方法還包括通過下列方式,獲知每種具有不同版本的程序集掃描操作系統(tǒng)的安裝程序集的目錄下的所有程序集,查找是否存在同名的程序集;
如果存在同名的程序集,則確認(rèn)存在具有不同版本的程序集,且同名的程序集為同一種程序集的不同版本;如果不存在同名的程序集,則確認(rèn)不存在具有不同版本的程序集??蛇x地,上述通過修改第一版本程序集的策略配置文件,將第一版本程序集重定向到第二版本程序集包括將第一版本程序集的策略配置文件中的綁定重定向節(jié)點(diǎn)中的新版本信息,修改為第二版本程序集的版本號(hào)。根據(jù)本發(fā)明的另一方面,提供了一種系統(tǒng)管理裝置,包括重定向單元,適于在存在不同版本的程序集的情況下,將第一版本程序集重定向到第二版本程序集,其中,第一版本程序集和第二版本程序集為同一種程序集的不同版本;刪減單元,適于刪除第一版本程序集中的動(dòng)態(tài)鏈接庫文件,并在刪除的動(dòng)態(tài)鏈接庫文件的位置,為該刪除的動(dòng)態(tài)鏈接庫文件建立指向與該刪除的動(dòng)態(tài)鏈接庫文件對(duì)應(yīng)的第ニ版本程序集中的動(dòng)態(tài)鏈接庫文件的關(guān)聯(lián)??蛇x地,上述重定向單元,適于通過修改第一版本程序集的策略配置文件,將第一版本程序集重定向到第二版本程序集??蛇x地,上述刪減單元,適于在刪除的動(dòng)態(tài)鏈接庫文件的位置,為該刪除的動(dòng)態(tài)鏈接庫文件建立指向與該刪除的動(dòng)態(tài)鏈接庫文件對(duì)應(yīng)的第二版本程序集中的動(dòng)態(tài)鏈接庫文件的關(guān)聯(lián)的同時(shí)或之后,將第一版本程序集的描述文件中刪除的動(dòng)態(tài)鏈接庫文件的文件哈希值,修改為該刪除的動(dòng)態(tài)鏈接庫文件對(duì)應(yīng)的第二版本程序集中動(dòng)態(tài)鏈接庫文件的文件哈希值??蛇x地,上述裝置還包括程序集選取單元,上述程序集選取單元,適于通過下列方式,確定第一版本程序集和第二版本程序集在每種具有不同版本的程序集中選取兩個(gè)程序集,將兩個(gè)程序集中版本級(jí)別高的程序集作為第二版本程序集,將兩個(gè)程序集中版本級(jí)別低的程序集作為第一版本程序集;或者,在每種具有不同版本的程序集中,將版本級(jí)別最高的程序集作為第二版本程序集,并將版本級(jí)別小于該第二版本程序集的所有程序集都作為第一版本程序集??蛇x地,上述裝置還包括程序集獲知單元,上述程序集獲知單元,適于通過下列方式,獲知每種具有不同版本的程序集掃描操作系統(tǒng)的安裝程序集的目錄下的所有程序集,查找是否存在同名的程序集,如果存在同名的程序集,則確認(rèn)存在具有不同版本的程序集,且同名的程序集為同一種程序集的不同版本;如果不存在同名的程序集,則確認(rèn)不存在具有不同版本的程序集。可選地,上述重定向單元,適于將第一版本程序集的策略配置文件中的綁定重定向節(jié)點(diǎn)中的新版本信息,修改為第二版本程序集的版本標(biāo)識(shí)。由上所述,本發(fā)明實(shí)施例通過刪除第一版本程序集中的動(dòng)態(tài)鏈接庫文件的技術(shù)特征,能夠在程序集層次進(jìn)行文件的刪除,一次刪除操作即可刪除程序集下的多個(gè)動(dòng)態(tài)鏈接庫文件,避免了現(xiàn)有方案中逐個(gè)計(jì)算各文件的文件哈希值并分別比對(duì)而導(dǎo)致的精簡效率較低的問題,能夠顯著減少精簡系統(tǒng)時(shí)需要的計(jì)算量,提高精簡系統(tǒng)的效率;并且,本發(fā)明實(shí)施例通過將第一版本程序集重定向到第二版本程序集、以及為該刪除的動(dòng)態(tài)鏈接庫文件建立指向與其對(duì)應(yīng)的第二版本程序集中的動(dòng)態(tài)鏈接庫文件的關(guān)聯(lián)的技術(shù)特征,當(dāng)需要運(yùn)行已刪除的動(dòng)態(tài)鏈接庫文件時(shí),能夠自動(dòng)調(diào)用關(guān)聯(lián)的第二版本程序集中的動(dòng)態(tài)鏈接庫文件,保證了精簡后的系統(tǒng)的正常運(yùn)行。 再次,本發(fā)明實(shí)施例適用于所有存在不同版本的程序集的情況下的各種應(yīng)用場(chǎng)景,解決了現(xiàn)有方案針對(duì)特定應(yīng)用場(chǎng)景,適用范圍較窄的問題,因而本發(fā)明實(shí)施例提供了一種適用范圍廣的、高效的精簡系統(tǒng)的實(shí)現(xiàn)方案。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式
。
通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中圖I示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的系統(tǒng)管理方法流程圖;圖2示出了根據(jù)本發(fā)明又一個(gè)實(shí)施例的系統(tǒng)管理方法流程圖;以及圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的系統(tǒng)管理裝置的結(jié)構(gòu)示意圖;圖4示出了根據(jù)本發(fā)明又一個(gè)實(shí)施例的系統(tǒng)管理裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。在本發(fā)明的一個(gè)實(shí)施例中,提供了一種系統(tǒng)管理方法,參見圖1,包括SlOO :在存在不同版本的程序集的情況下,將第一版本程序集重定向到第二版本程序集,其中,第一版本程序集和第二版本程序集為同一種程序集的不同版本;S102 :刪除第一版本程序集中的動(dòng)態(tài)鏈接庫文件,并在刪除的動(dòng)態(tài)鏈接庫文件的位置,為該刪除的動(dòng)態(tài)鏈接庫文件建立指向與該刪除的動(dòng)態(tài)鏈接庫文件對(duì)應(yīng)的第二版本程序集中的動(dòng)態(tài)鏈接庫文件的關(guān)聯(lián)。程序集通常是ー組動(dòng)態(tài)鏈接庫(Dynamic Link Library, DLL)文件的組合,ー個(gè)程序集中包括多個(gè)動(dòng)態(tài)鏈接庫文件,動(dòng)態(tài)鏈接庫文件主要包括以dll為擴(kuò)展名的文件,也包括以其他(如so)為擴(kuò)展名的文件等。多數(shù)情況下,第一版本程序集的版本級(jí)別高于第二版本程序集的版本級(jí)別。通過上述步驟SlOO和S102,利用上述的重定向操作和建立的關(guān)聯(lián),在需要加載運(yùn)行第一版本程序集時(shí),利用為刪除的動(dòng)態(tài)鏈接庫文件建立指向與其對(duì)應(yīng)的第ニ版本程序集中的動(dòng)態(tài)鏈接庫文件的關(guān)聯(lián),能夠自動(dòng)加載運(yùn)行第二版本程序集中的動(dòng)態(tài)鏈接庫文件,從而在刪除第一版本程序集以精簡系統(tǒng)的同時(shí),保證了系統(tǒng)的正常運(yùn)行。由上所述,本發(fā)明實(shí)施例通過刪除第一版本程序集中的動(dòng)態(tài)鏈接庫文件的技術(shù)特征,能夠在程序集層次進(jìn)行文件的刪除,一次刪除操作即可刪除程序集下的多個(gè)動(dòng)態(tài)鏈接庫文件,避免了現(xiàn)有方案中逐個(gè)計(jì)算各文件的文件哈希值并分別比對(duì)而導(dǎo)致的精簡效率較 低的問題,能夠顯著減少精簡系統(tǒng)時(shí)需要的計(jì)算量,提高精簡系統(tǒng)的效率;并且,本發(fā)明實(shí)施例通過將第一版本程序集重定向到第二版本程序集、以及為該刪除的動(dòng)態(tài)鏈接庫文件建立指向與其對(duì)應(yīng)的第二版本程序集中的動(dòng)態(tài)鏈接庫文件的關(guān)聯(lián)的技術(shù)特征,當(dāng)需要運(yùn)行已刪除的動(dòng)態(tài)鏈接庫文件時(shí),能夠自動(dòng)調(diào)用關(guān)聯(lián)的第二版本程序集中的動(dòng)態(tài)鏈接庫文件,保證了精簡后的系統(tǒng)的正常運(yùn)行。再次,本發(fā)明實(shí)施例適用于所有存在不同版本的程序集的情況下的各種應(yīng)用場(chǎng)景,解決了現(xiàn)有方案針對(duì)特定應(yīng)用場(chǎng)景,適用范圍較窄的問題,因而本發(fā)明實(shí)施例提供了一種適用范圍廣的、高效的精簡系統(tǒng)的實(shí)現(xiàn)方案。在本發(fā)明又一個(gè)實(shí)施例中,以在采用SxS機(jī)制下存在多個(gè)不同版本的程序集的系統(tǒng)為例,來對(duì)本方案提供的一種系統(tǒng)管理方法進(jìn)行說明??梢岳斫?,本方案并不局限于SxS機(jī)制,還可以適用于其他存在不同版本的程序集的情況。參見圖2,本實(shí)施例提供的系統(tǒng)管理方法,包括如下處理對(duì)存在多個(gè)不同版本的程序集的系統(tǒng),首先獲知系統(tǒng)下每種具有不同版本的程序集,然后確定第一版本程序集和第二版本程序集,第一版本程序集為需要?jiǎng)h減的程序集,通常為低版本的程序集,第二版本程序集通常為高版本的程序集,這是由于高版本程序集通常是向下兼容的,能夠包含運(yùn)行第一版本程序集所需要的所有資源,從而能夠在第一版本程序集中的動(dòng)態(tài)鏈接庫文件刪除后,提供系統(tǒng)運(yùn)行所需的資源,則通過修改第一版本程序集的策略配置文件,將第一版本程序集重定向到第二版本程序集,從而保證了當(dāng)精簡后的系統(tǒng)需要運(yùn)行已刪除的第一版本程序集中的動(dòng)態(tài)鏈接庫文件時(shí),能夠加載并運(yùn)行第二版本程序集中關(guān)聯(lián)的動(dòng)態(tài)鏈接庫文件。再次,刪除第一版本程序集中的動(dòng)態(tài)鏈接庫文件,以對(duì)系統(tǒng)進(jìn)行精筒,并且,在刪除的動(dòng)態(tài)鏈接庫文件的位置為該刪除的動(dòng)態(tài)鏈接庫文件建立指向與該刪除的動(dòng)態(tài)鏈接庫文件對(duì)應(yīng)的第二版本程序集中的動(dòng)態(tài)鏈接庫文件的關(guān)聯(lián)。建立這ー關(guān)聯(lián)的目的主要在于當(dāng)需要運(yùn)行已刪除的動(dòng)態(tài)鏈接庫文件時(shí),能夠自動(dòng)調(diào)用關(guān)聯(lián)的第二版本程序集中的動(dòng)態(tài)鏈接庫文件,保證了精簡后的系統(tǒng)的正常運(yùn)行。并且,本實(shí)施例還將第一版本程序集的描述文件中刪除的動(dòng)態(tài)鏈接庫文件的文件哈希值,修改為刪除的動(dòng)態(tài)鏈接庫文件所對(duì)應(yīng)的第二版本程序集中動(dòng)態(tài)鏈接庫文件的文件哈希值。這種修改避免了精簡后的系統(tǒng)在加載第一版本程序集吋,因?yàn)槊枋鑫募械奈募V邓甘镜膭?dòng)態(tài)鏈接庫文件與實(shí)際加載的第二版本程序集中的動(dòng)態(tài)鏈接庫文件不一致而導(dǎo)致的加載失敗的問題,進(jìn)ー步保證了重定向的第一版本程序集能夠被成功加載和運(yùn)行。上述處理的具體描述如下S200 :獲知每種具有不同版本的程序集。掃描操作系統(tǒng)的安裝程序集的目錄下的所有程序集,查找是否存在同名的程序集;如果存在同名的程序集,則確認(rèn)存在具有不同版本的程序集,且所述同名的程序集為同一種程序集的不同版本;如果不存在同名的程序集,則確認(rèn)不存在具有不同版本的程序集。由于在SxS機(jī)制下,通常將不同版本的程序集安裝*“%windir%\winsxs”目錄下,所以掃描“ %windir%\WinSXS”目錄下的所有程序集,通過各程序集的描述文件得到程序集的名稱、版本號(hào)和程序集中包含的全部動(dòng)態(tài)鏈接庫文件。上述程序集的描述文件是ー種記載了程序集的描述信息的文件,這些描述信息包括程序集的名稱、版本號(hào)和程序集中包含 的全部動(dòng)態(tài)鏈接庫文件等。上述“掃描程序集的描述文件”的ー種方式為解析描述文件中所包括的各項(xiàng)信息,獲取所關(guān)注信息內(nèi)容,如解析描述文件中包含程序集名稱的信息時(shí),可以得到該程序集的名稱。在下文中對(duì)描述文件的具體內(nèi)容進(jìn)行說明。上述描述文件可以為聲明(manifests)文件,例如,以WinXP操作系統(tǒng)下的VC++8CRT應(yīng)用系統(tǒng)為例,該VC++8 CRT應(yīng)用系統(tǒng)安裝了程序集“Microsoft. VC80. CRT”,通過掃描%windir%\winsxs\manifests目錄下的聲明文件,得知該程序集在系統(tǒng)中存在下列版本號(hào)的三個(gè)不同的版本版本I :8. 0. 50727. 3079版本2 :8. 0. 50727. 42版本3 :8. 0. 50727. 762將上述版本號(hào)中的各位數(shù)字進(jìn)行比較,獲知各個(gè)版本的版本級(jí)別的高低,在上面的例子中,版本級(jí)別的從高到低的順序?yàn)榘姹?>版本3>版本2。上述三個(gè)版本程序集的動(dòng)態(tài)鏈接庫文件所在的目錄可以如下所示版本I :%windir%\winsxs\x86_Microsoft. VC80. CRT_lfc8b3b9alel8e3b_8. 0. 50727. 3079_x~ww_b8Ila94e版本2:%windir%\winsxs\x86_Microsoft. VC80. CRT_lfc8b3b9alel8e3b_8. 0. 50727. 42_x-ww_0de06acd版本3 %windir%\winsxs\x86_Microsoft. VC80. CRT_lfc8b3b9alel8e3b_8. 0. 50727. 762_x-ww_6bl28700程序集“Microsoft. VC80. CRT”的版本I的程序集的描述文件的示例為x86_Microsoft. VC80. CRT_lfc8b3b9alel8e3b_8. 0. 50727. 3079_x_ww_b811a94e. manifest,其
具體內(nèi)容可以如下く xml Versmn^nIJf encodingsnUTF-Snsimdahne^nVestt > *//XML M其表明版本(vers km ノ 為 1.0,猶-錯(cuò)才 H (encoding / 為 I rTF-S 等.
<assemhix xmhn一 tfiirn:schemas-m!crosoff-com:asm.vIM manifes!I ersion =■ ff1.0r,>
<m)Imeriiabie></nomheriMhle> <msembhiIckmiiiy iype、i*iwJ2料name.= fiMicmsofLICSftCR.Tn version=rr8.0.5O727.3079!!pmcessorArchitecture^ ftx86ffpublicKeyToken^ ftlfc8b3b9alel8e3bH></ass€mblyIdemhy> ^//MM個(gè)KM 中表(name) llMiamoft FOft CRTf% 程序奚的版參號(hào)(version ) ^8,0J072730 r f
<JHe mme ''msrcrmUll^ hash IfiI.b93e4H16ma2d249m4m4620f4782d5dm”hmha/g uSHAI > <mmv2:hask xmlm:mmr2 ffi{rn:schemas^micmsoft-com:asm.v2rrxmlmxhig ffhiip://wmr, w3,of^/2'000/0Wxmklsig-- !i><cisig: Tramfmm><dsig:TmmformAlgorithm = ffMm:schemm~micmsqft~com :Hmh Transforms, Meniiiy <Msig: Tmnsjbrm> <Ms.ig: Tmmforms><dsig: DigesiMeihad
Algmfihm= sliiip://m\M\\\'3M^/2iM}0/09xmkkigrshai^></dsig:l)igesiMeilmd><Jsig:I)igestlhlne>pPeMTm(IKiJseVzp(J3lsRvHmikl4 <Aisig;l)igesiIhlae></asmv2:hash> <(file> ^//fiM-R's4 中表 # 7-M 0-— 動(dòng)態(tài)懿接摩文件各項(xiàng)信息,包括動(dòng)態(tài)鏈摟庫的名0(flk name) msmr&l—、.文件哈希値(kmh )方 7/21h93e4 / 2 / 60 7a2d2498940h4620f4 782cf5cka 等
く file name= 'llmsvcp80,dir hmh^96eh66c2659b4hba2€a4c.9722e8ff9d.2a3a.e2e20mhashaig----- ii^hAI > <asmrJhash xmlns:mmr2 ----- i( ii:schemas-microsolt-com:asm,i*2xmlmxhigw3j)i^/2000:W ixmidsig:: :><dsig:<dsig: Transform
Aigorithwr= num:sckemas-microsoft-com .Hash Transforms. Idemhy "> </dsig: Transform > < /dsig: Trcmsforms><dsig: Digest Mei hod
Algorithm = ffhiip://wnm w.3. org/2000/09/xmldsig#shal w> <Msig:DigesiMeihod> <dsi.g:Digesi Vahw > ('!SI a Yf¥cNopra68/oimVGlJ12R230.....<u/sig;i)iges7rahie^< asmv2;hash-></0le> V/riMJm fAVJ / ###i也#破き##!超名#(//‘/emwieji mswpHOxIll, X(hash J
96eh66c2659h4hha2cn4c9 722eSjPAi2a3ac2e20 等
<fite name..... 'msrcwiSOxil/** hash..... !!6aa5(k!61tj24d4514Jd2h7c3dSacc5c162d493e9slhmhalg':. mSHAI n> <mmv2:hmh xmlm:mmv2 9fam:schemm-mi€rm0-com:mmtv2 m
xmInsuLsig- uInip: Mini: w3.oi%- 200(109, xmlc/sigr "> <dsig: Transforms> <dsig: IhmsJhnn
AlgorUhm titim:schemits-mkmsqft-com:Hmh lhmsfomsJtfeniiiy t!> < d\ig: lnmsfoFwi> <Msig: ]ramforms>
<dsig:i)igesiXfeilmJ
Alpmthm "/ "/>: wmr. u*i.20(H) 09 xmkisig卜-、In“ n></dsit*;I)igesi\feihod> くdsig:f )igesiIulMe>Hah(rf^S/jBh()I'.V9(iuN ^ 11 YiPi6Aw^ < i )^csi I atue- - - ~ iismr2:ihislf--- ../>/‘ * 4'~fi /t' ^ 中 A す/ :,ブ ニデ %的.一.ト功態(tài)級(jí)扠泠文姝的‘項(xiàng) H<fyfile rnrmc)為 mswmHiUll, C ” 分(hush
為 6aa.50e6lef24d.4SI4fd2b JcSdSaccScJ62d493ir9く :msemNr>上述XML (Extensible Markup Language,可擴(kuò)展標(biāo)記語言)格式的描述文件描述了程序集的名稱為Microsoft. VC80. CRT,版本號(hào)為8. 0. 50727. 307。該程序集包括的動(dòng)態(tài)鏈接庫文件有msvcr80. dll、msvcp80. dll和msvcm80. dll該動(dòng)態(tài)鏈接庫文件的文件哈希值分別為 IfSlbgSeAWieOTaSc^AgsgAObAeSOfATSSdSdca'qeebeecSesgbAbbaScaAcgTSSeSff9d2a3ac2e20〃 和 〃6aa50e61ef24d4514fd2b7c3d8acc5cl62d493e9〃。程序集“Microsoft. VC80. CRT”的版本2的程序集的描述文件的示例為x86—Microsoft. VC80. CRT—Ifc8b3b9alel8e3b—8. 0. 50727. 42_x-ww_0de06acd. manifest,其具
體內(nèi)容可以如下
7Xml wrsjon ffIJJsfiiIsiiimiahme f:mO V/XMi-描述文 f 的聲明,莫表_徽
(version J 珍 / JJ,(encodhig / 117'F-H 等<-asscmhh xmim iiWit:schemas~micmsoft~com:min. v /f* manifesi 1-erskMf itI Jff>
<m}Inherliahle> </nahiherikihle>
<msemhlyldentliy type.. tfwm32tf name.. "Microsoft, FC '80.C 'Rl'ff verskm.. ff8, ft 50727,420pmcessorAivhitecmre i$xH6f!pnhlicKeyToken nIfc8h3h9aIeJSeJh"></assemhiyideMi!y>ズ4 ナ-^€
明了程序集名稱(imme ) ^nMicmsoJl IXW.(Il Jm. ##襲#美つ本# fvem—m J ^S8JU0727A2!!-f <Jile /h-礙 llimrcrmhlir hash ff2ii(kl79 JaScSeac76e54e9M7(MM2e0938e6!4h45"
kmkalg= tfSHAl w> <mmv2:kmh mnl.m:mmw2=. h籠:s€h€mm-m.i€.rm_i-€mn:mwL v2n
.xm!m:d.Mg; n.fmp:ffwwm w3,^Fg/2000/09/xmUsig#H><dsig:Tmmfimmxdsig:Transform
權(quán)利要求
1.一種系統(tǒng)管理方法,包括 在存在不同版本的程序集的情況下,將第一版本程序集重定向到第二版本程序集,其中,所述第一版本程序集和第二版本程序集為同一種程序集的不同版本; 刪除所述第一版本程序集中的動(dòng)態(tài)鏈接庫文件; 在刪除的動(dòng)態(tài)鏈接庫文件的位置,為該刪除的動(dòng)態(tài)鏈接庫文件建立指向與該刪除的動(dòng)態(tài)鏈接庫文件對(duì)應(yīng)的第二版本程序集中的動(dòng)態(tài)鏈接庫文件的關(guān)聯(lián)。
2.根據(jù)權(quán)利要求I所述的方法,其中,所述將第一版本程序集重定向到第二版本程序集包括 通過修改第一版本程序集的策略配置文件,將第一版本程序集重定向到第二版本程序集。
3.根據(jù)權(quán)利要求2所述的方法,其中,在刪除的動(dòng)態(tài)鏈接庫文件的位置,為該刪除的動(dòng)態(tài)鏈接庫文件建立指向與該刪除的動(dòng)態(tài)鏈接庫文件對(duì)應(yīng)的第二版本程序集中的動(dòng)態(tài)鏈接庫文件的關(guān)聯(lián)的同時(shí)或之后,所述方法還包括 將第一版本程序集的描述文件中刪除的動(dòng)態(tài)鏈接庫文件的文件哈希值,修改為該刪除的動(dòng)態(tài)鏈接庫文件對(duì)應(yīng)的第二版本程序集中動(dòng)態(tài)鏈接庫文件的文件哈希值。
4.根據(jù)權(quán)利要求3所述的方法,其中,在將第一版本程序集重定向到第二版本程序集之前,所述方法還包括 通過下列方式,確定所述第一版本程序集和第二版本程序集 在每種具有不同版本的程序集中選取兩個(gè)程序集,將兩個(gè)程序集中版本級(jí)別高的程序集作為所述第二版本程序集,將兩個(gè)程序集中版本級(jí)別低的程序集作為所述第一版本程序集;或者, 在每種具有不同版本的程序集中,將版本級(jí)別最高的程序集作為所述第二版本程序集,并將版本級(jí)別小于該第二版本程序集的所有程序集都作為第一版本程序集。
5.根據(jù)權(quán)利要求4所述的方法,其中,在確定所述第一版本程序集和第二版本程序集之前,所述方法還包括 通過下列方式,獲知每種具有不同版本的程序集 掃描操作系統(tǒng)的安裝程序集的目錄下的所有程序集,查找是否存在同名的程序集; 如果存在同名的程序集,則確認(rèn)存在具有不同版本的程序集,且所述同名的程序集為同一種程序集的不同版本; 如果不存在同名的程序集,則確認(rèn)不存在具有不同版本的程序集。
6.根據(jù)權(quán)利要求2至5任一項(xiàng)所述的方法,其中,所述通過修改第一版本程序集的策略配置文件,將第一版本程序集重定向到第二版本程序集包括 將第一版本程序集的策略配置文件中的綁定重定向節(jié)點(diǎn)中的新版本信息,修改為第二版本程序集的版本號(hào)。
7.一種系統(tǒng)管理裝置,包括 重定向單元,適于在存在不同版本的程序集的情況下,將第一版本程序集重定向到第二版本程序集,其中,所述第一版本程序集和第二版本程序集為同一種程序集的不同版本; 刪減單元,適于刪除所述第一版本程序集中的動(dòng)態(tài)鏈接庫文件,并在刪除的動(dòng)態(tài)鏈接庫文件的位置,為該刪除的動(dòng)態(tài)鏈接庫文件建立指向與該刪除的動(dòng)態(tài)鏈接庫文件對(duì)應(yīng)的第二版本程序集中的動(dòng)態(tài)鏈接庫文件的關(guān)聯(lián)。
8.根據(jù)權(quán)利要求7所述的裝置,其中, 所述重定向單元,適于通過修改第一版本程序集的策略配置文件,將第一版本程序集重定向到第二版本程序集。
9.根據(jù)權(quán)利要求8所述的裝置,其中, 所述刪減單元,適于在刪除的動(dòng)態(tài)鏈接庫文件的位置,為該刪除的動(dòng)態(tài)鏈接庫文件建立指向與該刪除的動(dòng)態(tài)鏈接庫文件對(duì)應(yīng)的第二版本程序集中的動(dòng)態(tài)鏈接庫文件的關(guān)聯(lián)的同時(shí)或之后,將第一版本程序集的描述文件中刪除的動(dòng)態(tài)鏈接庫文件的文件哈希值,修改為該刪除的動(dòng)態(tài)鏈接庫文件對(duì)應(yīng)的第二版本程序集中動(dòng)態(tài)鏈接庫文件的文件哈希值。
10.根據(jù)權(quán)利要求9所述的裝置,其中,所述裝置還包括程序集選取單元, 所述程序集選取單元,適于通過下列方式,確定所述第一版本程序集和第二版本程序集在每種具有不同版本的程序集中選取兩個(gè)程序集,將兩個(gè)程序集中版本級(jí)別高的程序集作為所述第二版本程序集,將兩個(gè)程序集中版本級(jí)別低的程序集作為所述第一版本程序集;或者,在每種具有不同版本的程序集中,將版本級(jí)別最高的程序集作為所述第二版本程序集,并將版本級(jí)別小于該第二版本程序集的所有程序集都作為第一版本程序集。
11.根據(jù)權(quán)利要求10所述的裝置,其中,所述裝置還包括程序集獲知單元, 所述程序集獲知單元,適于通過下列方式,獲知每種具有不同版本的程序集掃描操作系統(tǒng)的安裝程序集的目錄下的所有程序集,查找是否存在同名的程序集,如果存在同名的程序集,則確認(rèn)存在具有不同版本的程序集,且所述同名的程序集為同一種程序集的不同版本;如果不存在同名的程序集,則確認(rèn)不存在具有不同版本的程序集。
12.根據(jù)權(quán)利要求8至11任一項(xiàng)所述的裝置,其中,所述重定向單元,適于將第一版本程序集的策略配置文件中的綁定重定向節(jié)點(diǎn)中的新版本信息,修改為第二版本程序集的版本標(biāo)識(shí)。
全文摘要
本發(fā)明公開了一種系統(tǒng)管理方法和裝置,涉及計(jì)算機(jī)軟件開發(fā)領(lǐng)域,解決了現(xiàn)有方案系統(tǒng)精簡的效率較低以及適用范圍較窄的問題。本發(fā)明實(shí)施例提供的一種系統(tǒng)管理方法,包括在存在不同版本的程序集的情況下,將第一版本程序集重定向到第二版本程序集,其中,第一版本程序集和第二版本程序集為同一種程序集的不同版本;刪除第一版本程序集中的動(dòng)態(tài)鏈接庫文件;在刪除的動(dòng)態(tài)鏈接庫文件的位置,為該刪除的動(dòng)態(tài)鏈接庫文件建立指向與該刪除的動(dòng)態(tài)鏈接庫文件對(duì)應(yīng)的第二版本程序集中的動(dòng)態(tài)鏈接庫文件的關(guān)聯(lián)。本發(fā)明實(shí)現(xiàn)了一種適用范圍廣的、高效的精簡系統(tǒng)的方案,提高了系統(tǒng)資源的利用率。
文檔編號(hào)G06F17/30GK102867061SQ201210353549
公開日2013年1月9日 申請(qǐng)日期2012年9月20日 優(yōu)先權(quán)日2012年9月20日
發(fā)明者張波 申請(qǐng)人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司