專利名稱:一種實現(xiàn)補丁修正的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本申請涉及計算機技術(shù)領(lǐng)域,特別是涉及一種實現(xiàn)補丁修正的方法及裝置。
背景技術(shù):
在目前計算機的各種應(yīng)用過程中,常常會發(fā)現(xiàn)各種操作系統(tǒng)、應(yīng)用軟件等存在問 題或漏洞,也可稱為BUG,而這些漏洞會使用戶在使用操作系統(tǒng)或軟件時出現(xiàn)干擾,或者導(dǎo) 致軟件的安全性能降低,因此可以通過寫出一些可插入源程序的程序語言,對這些漏洞進 行修復(fù),上述用于修復(fù)漏洞的程序語言就稱為補丁?,F(xiàn)有技術(shù)中,一些操作系統(tǒng)或應(yīng)用軟件的專門網(wǎng)站會定期發(fā)布一段時間內(nèi)的補 丁,以針對這些操作系統(tǒng)或應(yīng)用軟件進行漏洞修復(fù);然而,發(fā)明人在對現(xiàn)有技術(shù)的研究過程 中發(fā)現(xiàn),現(xiàn)有技術(shù)中專門網(wǎng)站經(jīng)常會出現(xiàn)在補丁發(fā)布之后又針對該補丁的發(fā)不了補丁撤銷 頁面,以通知用戶卸載該已發(fā)布的補丁,而無法及時對上述應(yīng)撤銷補丁進行移除,則很有可 能對計算機系統(tǒng)或應(yīng)用程序構(gòu)成嚴重的威脅。
發(fā)明內(nèi)容
本申請實施例提供了一種實現(xiàn)補丁修正的方法及裝置,以解決現(xiàn)有沒有及時對應(yīng) 撤銷補丁進行移除所導(dǎo)致的問題。為了解決上述技術(shù)問題,本申請實施例公開了如下技術(shù)方案一種實現(xiàn)補丁修正的方法,包括獲取應(yīng)撤銷補丁信息;利用所述應(yīng)撤銷補丁信息移除該已安裝的補丁。優(yōu)選的,采用如下方式實現(xiàn)應(yīng)撤銷補丁信息的獲取利用第三方工具定期刷新補丁發(fā)布頁面;當(dāng)所述補丁發(fā)布頁面存在更新信息時,判斷該更新消息是否包含補丁撤銷建議; 如果是,則自動訪問更新鏈接,并抓取應(yīng)撤銷補丁信息。優(yōu)選的,所述應(yīng)撤銷補丁信息至少包括下述信息中的任意一種補丁名稱信息、補 丁類型信息、補丁等級信息、補丁發(fā)布日期信息、補丁公告URL信息、補丁的大小信息、補丁 運行參數(shù)信息、補丁的版本信息、補丁描述信息。優(yōu)選的,在所述移除操作前還包括根據(jù)所述應(yīng)撤銷補丁信息組成撤銷指示包,再利用所述撤銷指示包中包含的所述 應(yīng)撤銷補丁信息執(zhí)行移除操作。優(yōu)選的,在所述移除操作前還包括判斷所述應(yīng)撤銷補丁是否已安裝;如果是,則執(zhí)行移除操作。優(yōu)選的,所述判斷步驟包括利用注冊表中的鍵值信息判斷所述應(yīng)撤銷補丁是否已安裝。
4
優(yōu)選的,所述判斷步驟包括利用已獲取的應(yīng)撤銷補丁信息判斷所述應(yīng)撤銷補丁是否已安裝。優(yōu)選的,所述移除操作可通過以下步驟實現(xiàn)查找已安裝的應(yīng)撤銷補丁對應(yīng)的安裝GUID,調(diào)用系統(tǒng)MSI接口執(zhí)行卸載補丁命 令。優(yōu)選的,所述移除操作可通過以下步驟實現(xiàn)查找所述應(yīng)撤銷補丁安裝前備份的源文件;利用所述備份的源文件覆蓋當(dāng)前已安裝的應(yīng)撤銷補丁文件;在注冊表中刪除所述應(yīng)撤銷補丁對應(yīng)的鍵值。優(yōu)選的,所述移除操作包括以下幾種方式中的一種卸載、刪除、更新、覆蓋。一種實現(xiàn)補丁修正的裝置,包括獲取單元,用于獲取應(yīng)撤銷補丁信息;移除單元,用于利用所述應(yīng)撤銷補丁信息移除該已安裝的補丁。優(yōu)選的,所述獲取單元包括刷新模塊,用于利用第三方工具定期刷新補丁發(fā)布頁面;第一判斷模塊,用于當(dāng)所述補丁發(fā)布頁面存在更新信息時,判斷該更新消息是否 包含補丁撤銷建議,并將判斷結(jié)果通知抓取模塊;抓取模塊,用于當(dāng)所述補丁發(fā)布頁面的更新消息中包含補丁撤銷建議時,自動訪 問該更新鏈接,并抓取應(yīng)撤銷補丁信息。優(yōu)選的,所述裝置還包括組包單元,用于根據(jù)所述獲取單元獲取的應(yīng)撤銷補丁信息組成撤銷指示包,再將 該所述撤銷指示包發(fā)送給所述移除單元,用以指示所述移除單元利用所述撤銷指示包中包 含的所述應(yīng)撤銷補丁信息執(zhí)行移除操作。優(yōu)選的,所述裝置還包括判斷單元,用于判斷所述應(yīng)撤銷補丁是否已安裝,如果是,則通知所述移除單元執(zhí) 行移除操作。優(yōu)選的,所述判斷單元包括利用注冊表中的鍵值信息判斷所述應(yīng)撤銷補丁是否已安裝的第一處理模塊;和/ 或,利用已獲取的應(yīng)撤銷補丁信息判斷所述應(yīng)撤銷補丁是否已安裝的第二處理模塊。優(yōu)選的,所述移除單元包括第一查找模塊,用于查找已安裝的應(yīng)撤銷補丁對應(yīng)的安裝⑶ID ;調(diào)用模塊,用于調(diào)用系統(tǒng)MSI接口執(zhí)行卸載補丁命令。優(yōu)選的,所述移除單元包括第二查找模塊,用于查找所述應(yīng)撤銷補丁安裝前備份的源文件;覆蓋模塊,用于所述第二查找模塊查找到的所述備份的源文件覆蓋當(dāng)前已安裝的 應(yīng)撤銷補丁文件;刪除模塊,用于在注冊表中刪除所述應(yīng)撤銷補丁對應(yīng)的鍵值。由上述實施例可以看出,本申請實施例中,通過獲取應(yīng)撤銷補丁的信息,利用該補 丁信息對已安裝的應(yīng)撤銷補丁執(zhí)行移除操作,從而解決了現(xiàn)有技術(shù)由于沒有及時對應(yīng)撤銷補丁進行移除所導(dǎo)致的問題,有效的保證了用戶的系統(tǒng)安全和穩(wěn)定,提升了用戶體驗。
為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,對于本領(lǐng)域普通技術(shù)人員而 言,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本申請實現(xiàn)補丁修正的方法的第一實施例流程示意圖;圖2為本申請第一實施例中獲取應(yīng)撤銷補丁信息的流程示意圖;圖3為本申請實現(xiàn)補丁修正的方法的第二實施例流程示意圖;圖4為本申請實現(xiàn)補丁修正的方法的第三實施例流程示意圖;圖5為本申請實現(xiàn)補丁修正的方法的第四實施例流程示意圖;圖6為本申請實現(xiàn)補丁修正的方法的第五實施例流程示意7為本申請實現(xiàn)補丁修正的裝置的實施例框圖。
具體實施例方式本發(fā)明的基本思想在于當(dāng)專門網(wǎng)站出現(xiàn)了撤銷補丁頁面后,通過獲取該應(yīng)撤銷補 丁信息,利用補丁修正模塊對應(yīng)撤銷補丁進行移除,從而有效的保證了用戶的系統(tǒng)安全和穩(wěn)定。本發(fā)明如下實施例提供了一種實現(xiàn)補丁修正的方法及裝置。為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實施例中的技術(shù)方案,并使本發(fā)明實 施例的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明實施例中技術(shù)方 案作進一步詳細的說明。參見圖1,為本申請實現(xiàn)補丁修正方法的第一實施例流程圖步驟101 獲取應(yīng)撤銷補丁信息;具體的,在實際操作中可采用多種獲取應(yīng)撤銷補丁信息的方式如人工方式和非 人工方式等;下面舉例具體說明如何獲取應(yīng)撤銷補丁信息,但并不局限于此,如圖2所示SlOll 采用第三方工具定期刷新補丁發(fā)布頁面;例如,采用刷屏軟件程序定期刷新微軟的補丁發(fā)布頁面;也可設(shè)置為在補丁發(fā)布 之后一段時間內(nèi)刷新所述補丁發(fā)布頁面;S1012:當(dāng)所述補丁發(fā)布頁面存在更新信息時,判斷該更新消息是否包含補丁撤銷 建議;如果是,則執(zhí)行步驟S1013,否則返回執(zhí)行步驟SlOll ;具體的判斷過程采用現(xiàn)有技術(shù)中頁面關(guān)鍵字的判斷技術(shù)實現(xiàn)例如分析當(dāng)前頁面 的源代碼信息,其中如果包含了關(guān)鍵字“撤銷”等,即可確認當(dāng)前頁面包含了補丁撤銷建議; 具體內(nèi)容本文不再贅述;S1013 自動訪問更新鏈接,并抓取應(yīng)撤銷補丁信息;其中,所述應(yīng)撤銷補丁信息 至少包括下述信息中的任意一種補丁名稱信息、補丁類型信息、補丁等級信息、補丁發(fā)布 日期信息、補丁公告URL (Universal Resource Locator,統(tǒng)一資源定位符)信息、補丁的大 小信息、補丁運行參數(shù)信息、補丁的版本信息、補丁描述信息等。步驟102 利用所述應(yīng)撤銷補丁信息移除該已安裝的補丁 ;
其中,本實施例中補丁的移除方式包括但不限于卸載、刪除、更新、覆蓋等方式; 還可以采用其他方式,例如如果應(yīng)撤銷補丁信息中包含了對應(yīng)撤銷補丁的更新補丁下載 URL,則終端會根據(jù)所述更新補丁下載URL訪問并下載該更新補丁,再運行該更新補丁的安 裝程序,以此來完成應(yīng)撤銷補丁的移除操作;再例如當(dāng)獲取到應(yīng)撤銷補丁信息后,第三方 軟件可以利用所述應(yīng)撤銷補丁信息來執(zhí)行所述應(yīng)撤銷補丁的移除操作;還可例如執(zhí)行應(yīng) 撤銷補丁或系統(tǒng)預(yù)設(shè)的移除程序,當(dāng)獲取到應(yīng)撤銷補丁信息后,利用所述應(yīng)撤銷補丁信息 來執(zhí)行相應(yīng)補丁的移除操作;當(dāng)然,本領(lǐng)域普通技術(shù)人員很容易了解,所述移除操作還可以 存在多種方式,本文在此不再贅述。優(yōu)選的,在所述移除操作前還可包括但不限于以下操作判斷所述應(yīng)撤銷補丁是 否已安裝;如果否,則結(jié)束操作;否則,執(zhí)行移除操作;具體的判斷方式可采用如下兩種方式中的任意一種,但不局限于此A 利用注冊表中的鍵值信息判斷所述應(yīng)撤銷補丁是否已安裝;例如若要判斷補丁 KB979099是否已安裝,首先在注冊表的以下項目中查詢是否 有包含KB979099的鍵值HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ffindows\CurrentVersion\ Component Based Servicing\Packages\如果已安裝了所述補丁,則上述注冊表的項目中必然存在類似I^aCkage_f or_ KB979099_RTM 31bf3856ad364e;35 x86 6. 1. 1. 0的注冊鍵存在,此鍵中為所述補丁 的安裝信息;以此即可判斷當(dāng)前應(yīng)撤銷補丁是否已安裝。B 利用已獲取的應(yīng)撤銷補丁信息判斷所述應(yīng)撤銷補丁是否已安裝;具體的,可利用所述應(yīng)撤銷補丁信息中的文件版本號或文件名等來進行判斷,但 不局限于此例如應(yīng)撤銷補丁為更新補丁,其作用是使其對應(yīng)的應(yīng)用程序更新至版本為 10. 1. 102. 64 ;若要判斷該應(yīng)撤銷補丁是否已安裝,即需要在該應(yīng)用程序所在盤符目錄下查 詢版本為10. 1. 102. 64的文件是否存在,如果文件存在,則可確認所述應(yīng)撤銷補丁已安裝。此外,值得注意的是,在所述移除操作前還可包括但不限于以下操作當(dāng)獲取到所 述應(yīng)撤銷補丁信息后,利用該應(yīng)撤銷補丁信息組成撤銷指示包,然后再利用該撤銷指示包 中包含的所述應(yīng)撤銷補丁信息來執(zhí)行后續(xù)的移除操作。下面結(jié)合幾種實際應(yīng)用實例對本申請補丁包信息的輸出方法的實施例進行描述。參見圖3,為本申請實現(xiàn)補丁修正方法的第二實施例步驟301 獲取應(yīng)撤銷補丁信息;具體的,可采用如下方式何獲取應(yīng)撤銷補丁信息,但并不局限于此S3011 采用第三方工具定期刷新補丁發(fā)布頁面;S3012:當(dāng)所述補丁發(fā)布頁面存在更新信息時,判斷該更新消息是否包含補丁撤銷 建議;如果是,執(zhí)行步驟S3013 ;否則,結(jié)束操作;S3013 則自動訪問更新鏈接,并抓取應(yīng)撤銷補丁信息;其中,所述應(yīng)撤銷補丁信 息至少包括下述信息中的任意一種補丁名稱信息、補丁類型信息、補丁等級信息、補丁發(fā) 布日期信息、補丁公告URL (Universal Resource Locator,統(tǒng)一資源定位符)信息、補丁的 大小信息、補丁運行參數(shù)信息、補丁的版本信息、補丁描述信息等。步驟302 利用注冊表中的鍵值信息判斷所述應(yīng)撤銷補丁是否已安裝;如果是,則執(zhí)行步驟303 ;如果否,則結(jié)束操作。例如若要判斷補丁 KB979099是否已安裝,首先在注冊表的以下項目中查詢是否 有包含KB979099的鍵值HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ffindows\CurrentVersion\ Component Based Servicing\Packages\如果已安裝了所述補丁,則上述注冊表的項目中必然存在類似I^aCkage_f or_ KB979099_RTM 31bf3856ad364e;35 x86 6. 1. 1. 0的注冊鍵存在,此鍵中為所述補丁 的安裝信息;以此即可判斷當(dāng)前應(yīng)撤銷補丁是否已安裝。步驟303 找到補丁對應(yīng)的安裝⑶ID,調(diào)用系統(tǒng)MSI接口執(zhí)行卸載補丁命令;其 中,調(diào)用系統(tǒng)MSI接口執(zhí)行的具體的卸載命令如下所示;msiexec. exe/quiet/package {901 20000-0011-0000-0000-0000000FFlCE}/uninstall{7961E819-93A5-40A8-8469-4BE2FBBF ACEF}。參見圖4,為本申請實現(xiàn)補丁修正方法的第三實施例步驟401 獲取應(yīng)撤銷補丁信息;具體的,可采用如下方式何獲取應(yīng)撤銷補丁信息,但并不局限于此S4011 采用第三方工具定期刷新補丁發(fā)布頁面;S4012:當(dāng)所述補丁發(fā)布頁面存在更新信息時,判斷該更新消息是否包含補丁撤銷 建議;如果是,執(zhí)行步驟S3013 ;否則,結(jié)束操作;S4013 則自動訪問更新鏈接,并抓取應(yīng)撤銷補丁信息;其中,所述應(yīng)撤銷補丁信 息至少包括下述信息中的任意一種補丁名稱信息、補丁類型信息、補丁等級信息、補丁發(fā) 布日期信息、補丁公告URL (Universal Resource Locator,統(tǒng)一資源定位符)信息、補丁的 大小信息、補丁運行參數(shù)信息、補丁的版本信息、補丁描述信息等。步驟402 利用已獲取的應(yīng)撤銷補丁信息判斷所述應(yīng)撤銷補丁是否已安裝;如果 是,則執(zhí)行步驟403 ;如果否,則結(jié)束操作。具體的,可利用所述應(yīng)撤銷補丁信息中的文件版本號或文件名等來進行判斷,但 不局限于此例如應(yīng)撤銷補丁為更新補丁,其作用是使其對應(yīng)的應(yīng)用程序更新至版本為 10. 1. 102. 64 ;若要判斷該應(yīng)撤銷補丁是否已安裝,即需要在該應(yīng)用程序所在盤符目錄下查 詢版本為10. 1. 102. 64的文件是否存在,如果文件存在,則可確認所述應(yīng)撤銷補丁已安裝。步驟403 找到所述應(yīng)撤銷補丁安裝前備份的源文件,利用將所述備份的源文件 覆蓋當(dāng)前已安裝的應(yīng)撤銷補丁文件,并在注冊表中刪除所述應(yīng)撤銷補丁對應(yīng)的鍵值,完成 補丁的移除。參見圖5,為本申請實現(xiàn)補丁修正方法的第四實施例步驟501 獲取應(yīng)撤銷補丁信息;具體的,可采用如下方式何獲取應(yīng)撤銷補丁信息,但并不局限于此S5011 采用第三方工具定期刷新補丁發(fā)布頁面;S5012:當(dāng)所述補丁發(fā)布頁面存在更新信息時,判斷該更新消息是否包含補丁撤銷 建議;如果是,執(zhí)行步驟S3013 ;否則,結(jié)束操作;S5013 則自動訪問更新鏈接,并抓取應(yīng)撤銷補丁信息;其中,所述應(yīng)撤銷補丁信 息至少包括下述信息中的任意一種補丁名稱信息、補丁類型信息、補丁等級信息、補丁發(fā)布日期信息、補丁公告URL (Universal Resource Locator,統(tǒng)一資源定位符)信息、補丁的 大小信息、補丁運行參數(shù)信息、補丁的版本信息、補丁描述信息等。步驟502 利用注冊表中的鍵值信息判斷所述應(yīng)撤銷補丁是否已安裝;如果是,則 執(zhí)行步驟503 ;如果否,則結(jié)束操作。例如若要判斷補丁 KB979099是否已安裝,首先在注冊表的以下項目中查詢是否 有包含KB979099的鍵值HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ffindows\CurrentVersion\ Component Based Servicing\Packages\如果已安裝了所述補丁,則上述注冊表的項目中必然存在類似I^ackage_f or_ KB979099_RTM 31bf3856ad364e;35 x86 6. 1. 1. 0的注冊鍵存在,此鍵中為所述補丁 的安裝信息;以此即可判斷當(dāng)前應(yīng)撤銷補丁是否已安裝。步驟503 找到所述應(yīng)撤銷補丁安裝前備份的源文件,利用將所述備份的源文件 覆蓋當(dāng)前已安裝的應(yīng)撤銷補丁文件,并在注冊表中刪除所述應(yīng)撤銷補丁對應(yīng)的鍵值,完成 補丁的移除。參見圖6,為本申請實現(xiàn)補丁修正方法的第五實施例步驟601 獲取應(yīng)撤銷補丁信息;具體的,可采用如下方式何獲取應(yīng)撤銷補丁信息,但并不局限于此S6011 采用第三方工具定期刷新補丁發(fā)布頁面;S6012:當(dāng)所述補丁發(fā)布頁面存在更新信息時,判斷該更新消息是否包含補丁撤銷 建議;如果是,執(zhí)行步驟S3013 ;否則,結(jié)束操作;S6013 則自動訪問更新鏈接,并抓取應(yīng)撤銷補丁信息;其中,所述應(yīng)撤銷補丁信 息至少包括下述信息中的任意一種補丁名稱信息、補丁類型信息、補丁等級信息、補丁發(fā) 布日期信息、補丁公告URL (Universal Resource Locator,統(tǒng)一資源定位符)信息、補丁的 大小信息、補丁運行參數(shù)信息補丁的版本信息、補丁描述信息等。步驟602 利用已獲取的應(yīng)撤銷補丁信息判斷所述應(yīng)撤銷補丁是否已安裝;如果 是,則執(zhí)行步驟603 ;如果否,則結(jié)束操作。具體的,可利用所述應(yīng)撤銷補丁信息中的文件版本號或文件名等來進行判斷,但 不局限于此例如應(yīng)撤銷補丁為更新補丁,其作用是使其對應(yīng)的應(yīng)用程序更新至版本為 10. 1. 102. 64 ;若要判斷該應(yīng)撤銷補丁是否已安裝,即需要在該應(yīng)用程序所在盤符目錄下查 詢版本為10. 1. 102. 64的文件是否存在,如果文件存在,則可確認所述應(yīng)撤銷補丁已安裝。步驟603 找到補丁對應(yīng)的安裝GUID,調(diào)用系統(tǒng)MSI接口執(zhí)行卸載補丁命令;其 中,調(diào)用系統(tǒng)MSI接口執(zhí)行的具體的卸載命令如下所示;msiexec. exe/quiet/package {901 20000-001l-0000-0000-0000000FFlCE}/uninstall{7961E819-93A5-40A8-8469-4BE2FBBF ACEF}??梢钥闯觯捎帽景l(fā)明上述實施例的方法,通過獲取應(yīng)撤銷補丁的信息,利用該補 丁信息對已安裝的應(yīng)撤銷補丁執(zhí)行移除操作,從而解決了現(xiàn)有技術(shù)由于沒有及時對應(yīng)撤銷 補丁進行移除所導(dǎo)致的問題,有效的保證了用戶的系統(tǒng)安全和穩(wěn)定,提升了用戶體驗。與本申請實現(xiàn)補丁修正的方法的實施例相對應(yīng),本申請還提供了實現(xiàn)該方法的裝 置的實施例。
參見圖7、為本申請實現(xiàn)補丁修正的裝置的實施例框圖該裝置包括獲取單元710和移除單元720。其中,所述獲取單元710,用于獲取應(yīng)撤銷補丁信息;所述移除單元720,用于利用所述應(yīng)撤銷補丁信息移除該已安裝的補丁。進一步的,所述獲取單元710還可包括(圖7中未示出)刷新模塊,用于利用第三方工具定期刷新補丁發(fā)布頁面;第一判斷模塊,用于當(dāng)所述補丁發(fā)布頁面存在更新信息時,判斷該更新消息是否 包含補丁撤銷建議,并將判斷結(jié)果通知抓取模塊;抓取模塊,用于當(dāng)所述補丁發(fā)布頁面的更新消息中包含補丁撤銷建議時,自動訪 問該更新鏈接,并抓取應(yīng)撤銷補丁信息。優(yōu)選的,本實施例的實現(xiàn)補丁修正的裝置還包括組包單元(圖7中未示出),用于根據(jù)所述獲取單元710獲取的應(yīng)撤銷補丁信息 組成撤銷指示包,再將該所述撤銷指示包發(fā)送給所述移除單元720,用以指示所述移除單元 720利用所述撤銷指示包中包含的所述應(yīng)撤銷補丁信息執(zhí)行移除操作。優(yōu)選的,本實施例的實現(xiàn)補丁修正的裝置還可包括判斷單元(圖7中未示出),用于判斷所述應(yīng)撤銷補丁是否已安裝,如果是,則通知 所述移除單元720執(zhí)行移除操作。進一步的,所述判斷單元包括利用注冊表中的鍵值信息判斷所述應(yīng)撤銷補丁是 否已安裝的第一處理模塊;和/或,利用已獲取的應(yīng)撤銷補丁信息判斷所述應(yīng)撤銷補丁是 否已安裝的第二處理模塊;值得注意的是,所述判斷單元包括的這兩個模塊可以同時存在 于判斷單元中,當(dāng)然也可以只存在一個,具體視系統(tǒng)需求而定,本文在此不再贅述。優(yōu)選的,所述移除單元720包括(圖7中未示出)第一查找模塊,用于查找已安裝的應(yīng)撤銷補丁對應(yīng)的安裝⑶ID ;調(diào)用模塊,用于調(diào)用系統(tǒng)MSI接口執(zhí)行卸載補丁命令。此外,所述移除單元還可包括第二查找模塊,用于查找所述應(yīng)撤銷補丁安裝前備份的源文件;覆蓋模塊,用于所述第二查找模塊查找到的所述備份的源文件覆蓋當(dāng)前已安裝的 應(yīng)撤銷補丁文件;刪除模塊,用于在注冊表中刪除所述應(yīng)撤銷補丁對應(yīng)的鍵值。本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明實施例中的技術(shù)可借助軟件加必需 的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā)明實施例中的技術(shù)方案本質(zhì)上或者 說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存 儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以 是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例或者實施例的某些部分 所述的方法。本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部 分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實 施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例 的部分說明即可。
以上所述的本發(fā)明實施方式,并不構(gòu)成對本發(fā)明保護范圍的限定。任何在本發(fā)明 的精神和原則之內(nèi)所作的修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種實現(xiàn)補丁修正的方法,其特征在于,包括 獲取應(yīng)撤銷補丁信息;利用所述應(yīng)撤銷補丁信息移除該已安裝的補丁。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,采用如下方式實現(xiàn)應(yīng)撤銷補丁信息的獲取利用第三方工具定期刷新補丁發(fā)布頁面;當(dāng)所述補丁發(fā)布頁面存在更新信息時,判斷該更新消息是否包含補丁撤銷建議;如果 是,則自動訪問更新鏈接,并抓取應(yīng)撤銷補丁信息。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述應(yīng)撤銷補丁信息至少包括下述信息 中的任意一種補丁名稱信息、補丁類型信息、補丁等級信息、補丁發(fā)布日期信息、補丁公告 URL信息、補丁的大小信息、補丁運行參數(shù)信息、補丁的版本信息、補丁描述信息。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述移除操作前還包括根據(jù)所述應(yīng)撤銷補丁信息組成撤銷指示包,再利用所述撤銷指示包中包含的所述應(yīng)撤 銷補丁信息執(zhí)行移除操作。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述移除操作前還包括 判斷所述應(yīng)撤銷補丁是否已安裝;如果是,則執(zhí)行移除操作。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述判斷步驟包括 利用注冊表中的鍵值信息判斷所述應(yīng)撤銷補丁是否已安裝。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述判斷步驟包括 利用已獲取的應(yīng)撤銷補丁信息判斷所述應(yīng)撤銷補丁是否已安裝。
8.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述移除操作可通過以下步驟實現(xiàn) 查找已安裝的應(yīng)撤銷補丁對應(yīng)的安裝GUID,調(diào)用系統(tǒng)MSI接口執(zhí)行卸載補丁命令。
9.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述移除操作可通過以下步驟實現(xiàn) 查找所述應(yīng)撤銷補丁安裝前備份的源文件;利用所述備份的源文件覆蓋當(dāng)前已安裝的應(yīng)撤銷補丁文件; 在注冊表中刪除所述應(yīng)撤銷補丁對應(yīng)的鍵值。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述移除操作包括以下幾種方式中的一 種卸載、刪除、更新、覆蓋。
11.一種實現(xiàn)補丁修正的裝置,其特征在于,包括 獲取單元,用于獲取應(yīng)撤銷補丁信息;移除單元,用于利用所述應(yīng)撤銷補丁信息移除該已安裝的補丁。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述獲取單元包括 刷新模塊,用于利用第三方工具定期刷新補丁發(fā)布頁面;第一判斷模塊,用于當(dāng)所述補丁發(fā)布頁面存在更新信息時,判斷該更新消息是否包含 補丁撤銷建議,并將判斷結(jié)果通知抓取模塊;抓取模塊,用于當(dāng)所述補丁發(fā)布頁面的更新消息中包含補丁撤銷建議時,自動訪問該 更新鏈接,并抓取應(yīng)撤銷補丁信息。
13.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述裝置還包括組包單元,用于根據(jù)所述獲取單元獲取的應(yīng)撤銷補丁信息組成撤銷指示包,再將該所 述撤銷指示包發(fā)送給所述移除單元,用以指示所述移除單元利用所述撤銷指示包中包含的 所述應(yīng)撤銷補丁信息執(zhí)行移除操作。
14.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述裝置還包括判斷單元,用于判斷所述應(yīng)撤銷補丁是否已安裝,如果是,則通知所述移除單元執(zhí)行移 除操作。
15.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述判斷單元包括利用注冊表中的鍵值信息判斷所述應(yīng)撤銷補丁是否已安裝的第一處理模塊;和/或, 利用已獲取的應(yīng)撤銷補丁信息判斷所述應(yīng)撤銷補丁是否已安裝的第二處理模塊。
16.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述移除單元包括 第一查找模塊,用于查找已安裝的應(yīng)撤銷補丁對應(yīng)的安裝GUID ; 調(diào)用模塊,用于調(diào)用系統(tǒng)MSI接口執(zhí)行卸載補丁命令。
17.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述移除單元包括 第二查找模塊,用于查找所述應(yīng)撤銷補丁安裝前備份的源文件;覆蓋模塊,用于所述第二查找模塊查找到的所述備份的源文件覆蓋當(dāng)前已安裝的應(yīng)撤 銷補丁文件;刪除模塊,用于在注冊表中刪除所述應(yīng)撤銷補丁對應(yīng)的鍵值。
全文摘要
本申請實施例公開了一種實現(xiàn)補丁修正的方法和裝置;其中,所述方法包括獲取應(yīng)撤銷補丁信息;利用所述應(yīng)撤銷補丁信息移除該已安裝的補丁。采用本發(fā)明實施例提供的方法和裝置,通過獲取應(yīng)撤銷補丁的信息,利用該補丁信息對已安裝的應(yīng)撤銷補丁執(zhí)行移除操作,從而解決了現(xiàn)有技術(shù)由于沒有及時對應(yīng)撤銷補丁進行移除所導(dǎo)致的問題,有效的保證了用戶的系統(tǒng)安全和穩(wěn)定,提升了用戶體驗。
文檔編號G06F21/00GK102110212SQ20111004314
公開日2011年6月29日 申請日期2011年2月21日 優(yōu)先權(quán)日2011年2月21日
發(fā)明者李濤, 浦欣 申請人:北京奇虎科技有限公司