專利名稱:一種在計算機系統(tǒng)中使用的軟件升級方法
技術領域:
本發(fā)明涉及一種在計算機系統(tǒng)中使用的軟件升級方法。
背景技術:
目前安裝在用戶計算機中的很多應用軟件需要經常通過網絡進行升級,通過更新升級文件與升級服務器保持同步以實現軟件在功能上的改進和提升,這方面的應用軟件比較典型的例子有殺毒軟件、網絡游戲軟件等。目前常用的網絡升級方式有用戶手動進行升級、定時自動升級、軟件開始運行時首先升級等,這些升級方式大都是通過這樣的過程實現的比較用戶計算機中的本地文件信息與升級服務器中的最新升級文件信息,并判斷二者是否不同從而確定是否需要升級,如果需要升級則下載最新升級文件并采取升級措施。有些軟件尤其是殺毒軟件往往需要頻繁升級,幾天甚至幾個小時就需要更新文件進行升級。目前多數殺毒軟件具有按固定時間間隔自動連接升級服務器的功能,但是存在下面的缺點一方面如果用戶計算機中設置的自動連接升級服務器的固定時間間隔較短,客戶端程序就會頻繁連接升級服務器,不僅會浪費用戶系統(tǒng)資源,還會造成網絡擁擠甚至堵塞并加重升級服務器的負擔;另一方面如果用戶計算機中設置的自動連接升級服務器的固定時間間隔較長,則不能保證客戶端程序的及時更新,造成對某些關鍵升級的延誤甚至可能導致用戶計算機系統(tǒng)出現意想不到的故障,比如當某個惡性病毒爆發(fā)后軟件升級服務提供商正在進行病毒分析處理且尚未制作完成升級文件時,升級服務器上就不存在升級文件,用戶此時連接升級服務器就不會得到升級信息,直到所述固定時間間隔后下次連接升級服務器時才能進行升級,這期間由于病毒的爆發(fā)用戶計算機就可能由于未及時升級而導致中毒,給用戶帶來麻煩。
發(fā)明內容
本發(fā)明所要解決的技術問題是克服現有技術上的不足,提供一種在計算機系統(tǒng)中使用的軟件升級方法,所述方法可以在盡量少占用用戶系統(tǒng)資源與升級服務器資源的情況下,使用戶客戶端程序能夠在盡可能短的時間內獲得最新升級數據以與升級服務器保持同步。
本發(fā)明所采用的技術方案是本發(fā)明提供一種在計算機系統(tǒng)中使用的軟件升級方法,所述計算機系統(tǒng)包括版本服務器、文件升級服務器、客戶機,所述版本服務器、所述文件升級服務器、所述客戶機互相連接,所述版本服務器設置有軟件的最新版本信息數據,所述文件升級服務器設置有軟件升級數據,所述客戶機設置有用于升級的客戶端程序,所述方法包括以下步驟設置步驟、連接步驟、比較步驟、升級步驟、判斷步驟,即設置步驟,設置所述客戶端程序自動連接所述版本服務器的預設固定時間間隔為初始值N,設置所述版本服務器中的軟件最新版本信息數據及所述文件升級服務器中的軟件升級數據;連接步驟,每隔一段所述時間間隔N使所述客戶端程序自動與所述版本服務器連接一次,獲得所述版本服務器上的軟件最新版本信息;比較步驟,用于比較所述客戶端程序的當前版本信息與所述版本服務器上的軟件最新版本信息,若所述版本服務器上的軟件最新版本信息比所述客戶端程序當前的版本信息新,則執(zhí)行所述升級步驟,然后執(zhí)行所述判斷步驟,否則執(zhí)行所述判斷步驟;升級步驟,所述客戶端程序連接所述文件升級服務器,下載軟件升級數據;判斷步驟,用于判斷所述版本服務器上是否存在應急預警升級信息,如果所述版本服務器上存在應急預警升級信息,則對客戶端上所述的預設固定時間間隔N值進行調整,然后執(zhí)行所述連接步驟、所述比較步驟,否則按預設固定時間間隔的初始值N執(zhí)行所述連接步驟、所述比較步驟。
本發(fā)明的有益效果是由于本發(fā)明所述方法以每隔一段時間N使所述客戶端程序自動與所述版本服務器連接一次,獲得所述版本服務器上的軟件最新版本信息,并通過比較確定所述版本服務器上的軟件最新版本信息是否比所述客戶端程序當前的版本信息新,在需要更新時進行升級步驟,故本發(fā)明通過調整客戶端程序自動連接版本服務器的預設固定時間間隔N為一適當的值,在正常定時查詢升級狀態(tài)下可以盡量少占用用戶系統(tǒng)資源與升級服務器資源;又由于本發(fā)明所述方法在緊急情況下,需要所述客戶端程序盡快獲得升級且軟件最新的升級數據尚未準備好時在所述版本服務器中設置應急預警升級信息,在所述客戶端程序與所述版本服務器連接時客戶端調整程序自動連接版本服務器的預設固定時間間隔N為一比初始值還小的值,以加快所述客戶端程序與所述版本服務器連接的頻率,確保在軟件最新的升級數據準備完畢后客戶端可立即獲得最新的升級數據,故本發(fā)明通過在版本服務器中設置應急預警升級信息,在應急預警升級狀態(tài)下所述客戶端程序可以盡快獲得軟件最新的升級數據,以保證客戶端程序的及時更新。
圖1是本發(fā)明客戶端程序的升級流程示意圖。
具體實施例方式
本發(fā)明所述計算機系統(tǒng)包括版本服務器、文件升級服務器、客戶機,所述版本服務器、所述文件升級服務器、所述客戶機互相連接,所述版本服務器設置有軟件的最新版本信息數據,所述文件升級服務器設置有軟件升級數據,所述客戶機設置有用于升級的客戶端程序。在緊急情況下,需要所述客戶端程序盡快獲得升級且軟件最新的升級數據尚未準備好時,所述版本服務器還臨時設置有軟件的應急預警升級信息,且在所述緊急情況下軟件最新的升級數據準備完畢并設置于所述文件升級服務器后,取消所述應急預警升級信息,所述應急預警升級信息包括應急標志位,所述版本信息包括版本號。
本實施例所述客戶端程序連接所述版本服務器后,請求獲得所述版本服務器上的軟件的最新版本信息;所述版本服務器獲知請求后首先驗證客戶端程序是否具有合法的授權版本信息,如果客戶端程序合法則向客戶端程序返回軟件的最新版本信息,若在應急狀態(tài)下所述版本服務器上還設置有軟件的應急預警升級信息,則將所述的應急預警升級信息一并返回給所述客戶端程序,如果客戶端程序不合法則拒絕所述客戶端程序的請求并返回出錯提示信息給所述客戶端程序,以督促所述客戶端使用合法的程序;如果所述版本服務器上返回的軟件最新版本信息比所述客戶端程序當前的版本信息新,比如所述版本服務器上返回的軟件最新版本號比所述客戶端程序當前的版本號高,則所述客戶端程序與所述文件升級服務器相連接,請求獲得軟件的最新升級數據,所述文件升級服務器獲知此請求后返回最新升級文件數據給所述客戶端程序。
本實施例包括在正常定時查詢升級狀態(tài)下的升級,此時,軟件升級服務提供商設置升級數據的例行流程包括以下步驟首先,啟動所述版本服務器和所述文件升級服務器;然后,將最新的軟件升級數據文件設置于所述文件升級服務器中;最后,將軟件的最新版本信息數據設置于所述版本服務器中,更新所述版本服務器中的軟件版本號。
本實施例還包括在應急預警升級狀態(tài)下的升級,比如當某個惡性病毒爆發(fā)后殺毒軟件升級服務提供商正在進行病毒分析處理且尚未制作完成升級文件時,便可啟動此應急預警升級狀態(tài),在此應急預警升級狀態(tài)下,軟件升級服務提供商設置升級數據的流程包括以下步驟首先,啟動所述版本服務器;其次,將軟件的應急預警升級信息設置于所述版本服務器中,即在所述版本服務器中設置一個應急標志位,使所述版本服務器進入應急預警升級狀態(tài);然后,準備最新的軟件升級數據;再次,在最新的軟件升級數據準備完成后,將所述升級數據設置于所述文件升級服務器中;然后,將軟件的最新版本信息數據設置于所述版本服務器中,更新所述版本服務器中的軟件版本號;最后,取消設置于所述版本服務器中的軟件的應急預警升級信息,使所述版本服務器返回正常定時查詢升級狀態(tài)。
如圖1所示,本實施例客戶端程序的升級流程包括以下步驟設置步驟、連接步驟、比較步驟、升級步驟、判斷步驟,分別敘述如下設置步驟,設置所述客戶端程序自動連接所述版本服務器的預設固定時間間隔為初始值N=n,以保證客戶端在最長N時間單位內與所述文件升級服務器同步,所述初始值n用戶可以自行確定,也可以根據軟件開發(fā)商的推薦值確定,以保證所述客戶端程序自動連接所述版本服務器的預設固定時間間隔既可以較快的獲得軟件的最新升級信息又不造成用戶系統(tǒng)資源與升級服務器資源的緊張;連接步驟,以每隔一段所述時間N使所述客戶端程序自動與所述版本服務器連接一次,以獲得所述版本服務器上的軟件最新版本信息;比較步驟,比較所述客戶端程序的當前版本信息與所述版本服務器上的軟件最新版本信息,若所述版本服務器上的軟件最新版本信息比所述客戶端程序當前的版本信息新,則執(zhí)行所述升級步驟,然后執(zhí)行所述判斷步驟,否則執(zhí)行所述判斷步驟;升級步驟,所述客戶端程序連接所述文件升級服務器,下載軟件最新升級數據進行升級;判斷步驟,用于判斷所述版本服務器上是否存在應急預警升級信息,即應急標志位是否打開,如果所述版本服務器上應急標志位打開,存在應急預警升級信息,則客戶端將所述的預設固定時間間隔N值調整為N=m,m<n,然后執(zhí)行所述連接步驟、所述比較步驟,否則,檢測當前的N值與所述設置步驟設置的所述預設固定時間間隔初始值n的大小,如果N≠n,則將當前的N值自動調整為初始值n的大小N=n,然后執(zhí)行所述連接步驟、所述比較步驟,其中,m值根據應急狀態(tài)的緊急程度、升級數據的預計準備時間而確定,一般情況下,如果應急狀態(tài)的緊急程度高和/或升級數據的預計準備時間短,則m值設置為較小的值。
本發(fā)明所述版本服務器與所述文件升級服務器是邏輯上分離的,在實際實現中可以實現在同一臺物理計算機中。
本發(fā)明可廣泛應用于具有多個用戶的分布式應用軟件系統(tǒng),比如殺毒軟件與網絡游戲。
在不脫離本發(fā)明思想的情況下,凡應用本發(fā)明說明書及附圖內容及所做的各種等效變化,均理同包含于本發(fā)明的權利要求范圍內。
權利要求
1.一種在計算機系統(tǒng)中使用的軟件升級方法,所述計算機系統(tǒng)包括版本服務器、文件升級服務器、客戶機,所述版本服務器、所述文件升級服務器、所述客戶機互相連接,所述版本服務器設置有軟件的最新版本信息數據,所述文件升級服務器設置有軟件升級數據,所述客戶機設置有用于升級的客戶端程序,其特征在于所述方法包括以下步驟設置步驟、連接步驟、比較步驟、升級步驟、判斷步驟,即設置步驟,設置所述客戶端程序自動連接所述版本服務器的預設固定時間間隔為初始值N,設置所述版本服務器中的軟件最新版本信息數據及所述文件升級服務器中的軟件升級數據;連接步驟,每隔一段所述時間間隔N使所述客戶端程序自動與所述版本服務器連接一次,獲得所述版本服務器上的軟件最新版本信息;比較步驟,用于比較所述客戶端程序的當前版本信息與所述版本服務器上的軟件最新版本信息,若所述版本服務器上的軟件最新版本信息比所述客戶端程序當前的版本信息新,則執(zhí)行所述升級步驟,然后執(zhí)行所述判斷步驟,否則執(zhí)行所述判斷步驟;升級步驟,所述客戶端程序連接所述文件升級服務器,下載軟件升級數據;判斷步驟,用于判斷所述版本服務器上是否存在應急預警升級信息,如果所述版本服務器上存在應急預警升級信息,則對客戶端上所述的預設固定時間間隔N值進行調整,然后執(zhí)行所述連接步驟、所述比較步驟,否則按預設固定時間間隔的初始值N執(zhí)行所述連接步驟、所述比較步驟。
全文摘要
本發(fā)明公開了一種在計算機系統(tǒng)中使用的軟件升級方法,所述方法可以在盡量少占用用戶系統(tǒng)資源與升級服務器資源的情況下,使用戶客戶端程序能夠在盡可能短的時間內獲得最新升級數據以與升級服務器保持同步。所述方法既可以在正常情況下對軟件的客戶端程序進行定時查詢升級,又可以在緊急情況下通過在服務器設置軟件的應急預警升級信息,并縮短客戶端程序對服務器的訪問時間以盡快獲得升級軟件所需的最新升級數據。本發(fā)明可廣泛應用于具有多個用戶的分布式應用軟件系統(tǒng)。
文檔編號G06F9/445GK1700173SQ20051003430
公開日2005年11月23日 申請日期2005年4月22日 優(yōu)先權日2005年4月22日
發(fā)明者孟檳榔, 陳睿, 劉桂峰, 張周, 韓祝鵬, 孫國軍, 陳飛舟 申請人:珠海金山軟件股份有限公司