複製鏈接
請複製以下鏈接發送給好友

熱補丁

鎖定
熱補丁(hotfix),又被稱之為patch,意指能夠修復軟件漏洞的一些代碼,是一種快速、低成本修復產品軟件版本缺陷的方式。通過電子郵件或者其他途徑來通知用户有關熱補丁的消息,一般在軟件供應商的網站上可以免費下載補丁程序。和升級軟件版本相比,熱補丁的主要優勢是不會使設備當前正在運行的業務中斷,即在不重啓設備的情況下,可以對設備當前軟件版本的缺陷進行修復。
中文名
熱補丁
外文名
hotfix
別    名
patch

熱補丁補丁表現形式

補丁(又被稱為補丁單元)是用來修復某個缺陷的程序包,通常以補丁文件的形式發佈,一個補丁文件可能包含一個或多個補丁,不同的補丁具有不同的功能。有時軟件公司會把一系列熱補丁打包提供下載,稱這些代碼為聯合補丁或者service pack。當補丁文件被用户從存儲介質加載到內存補丁區中時,補丁文件中的補丁將被分配一個在此內存補丁區中唯一的單元序號,用於標誌、管理、操作各補丁,補丁的單元序號從1開始順序編號,如某補丁文件中有3個補丁單元,那合法的補丁單元號為1、2和3。

熱補丁增量補丁

補丁文件中的補丁均為增量補丁。所謂增量補丁,是指各補丁單元對於在其前面的補丁單元有依賴性。也就是説,如果補丁文件中有3個補丁單元,則3號補丁必須在1號和2號補丁生效之後才能運行,而不能直接單獨運行3號補丁。

熱補丁補丁分類

補丁分為正式補丁和臨時補丁兩種:
l 正式補丁(Common patches)是通過版本發佈流程發佈的補丁。
l 臨時補丁(Temporary patches)是未通過版本發佈流程發佈,用於臨時解決緊急問題和需求的補丁。
正式補丁總會包含前面臨時補丁的功能,從而替代前面的臨時補丁。補丁的類型只對補丁加載(Load)過程產生影響——系統在加載正式補丁之前會先將系統中所有臨時補丁刪除。

熱補丁補丁狀態

每個補丁都有自身的狀態,只有在用户命令行的干預下才能發生切換。補丁狀態切換與命令操作關係,其中IDLE、DEACTIVE、ACTIVE和RUNNING表示補丁的不同狀態,加載、臨時運行、確認運行、停止運行、刪除、安裝、卸載表示補丁操作,分別對應命令patch loadpatch activepatch runpatch deactivepatch deletepatch installundo patch install箭頭方向表示狀態的轉變方向,比如對DEACTIVE狀態的補丁執行patch active操作,補丁的狀態就會變為ACTIVE。

熱補丁初始狀態

表示尚未加載補丁,無法進行安裝、運行等補丁操作,如圖1所示(假設系統補丁區中最多可以加載8個補丁)。
系統重啓後,所有處於IDLE狀態的補丁仍為IDLE狀態。
圖 1 補丁未加載
圖1 圖1

熱補丁未激活狀態

表示補丁已經被加載到內存補丁區,但尚未運行。假設用户將加載的補丁文件包含7個補丁,則這7個補丁將在經過版本校驗及CRC校驗之後被加載到內存補丁區,加載成功的補丁處於DEACTIVE狀態,此時系統中補丁狀態如圖2所示。
系統重啓後,所有處於DEACTIVE狀態的補丁仍為DEACTIVE狀態。
圖2 補丁文件被加載
圖2 圖2

熱補丁激活狀態

表示補丁已經被臨時運行,即該補丁在設備重啓之後不再生效。對於圖2中7個處於DEACTIVE狀態的補丁,用户如果激活前5個補丁,則前5個補丁的狀態將由DEACTIVE狀態變成ACTIVE狀態,此時系統中補丁狀態如圖3所示。
系統重啓後,所有處於ACTIVE狀態的補丁將變成DEACTIVE狀態。
圖3補丁被激活
圖3 圖3

熱補丁確認運行狀態

表示補丁已經被永久運行,即該補丁在設備重啓之後會繼續生效。對於圖3中5個處於ACTIVE狀態的補丁,用户確認運行前3個補丁後,前3個補丁的狀態將由ACTIVE狀態變成RUNNING狀態,此時系統中補丁狀態如圖4所示。
圖4 補丁被確認運行
圖4 圖4
系統重啓後,所有處於RUNNING狀態的補丁將保持為RUNNING狀態。