專利名稱:軟件版本搜集方法、管理系統(tǒng)及軟件升級檢測方法和系統(tǒng)的制作方法
軟件版本搜集方法、管理系統(tǒng)及軟件升級檢測方法和系統(tǒng)
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機技術(shù),特別是涉及一種軟件升級檢測方法和系統(tǒng)。
背景技術(shù):
隨著計算機技術(shù)的發(fā)展,個人電腦、個人數(shù)字助理(PDA)、智能手機、互聯(lián)網(wǎng)電視等 電子設(shè)備上安裝使用的軟件越來越廣泛,遍及即時通信、音視頻播放、資源下載、網(wǎng)頁瀏覽、 輸入法、系統(tǒng)輔助等各個門類。隨著互聯(lián)網(wǎng)的普及,普通用戶使用的軟件已經(jīng)從十年前通過 光盤分發(fā)為主的方式,轉(zhuǎn)變成通過網(wǎng)絡(luò)下載為主的方式,這大大方便了用戶獲取軟件。同 時,軟件的版本升級速度也從十年前的半年或者一年一次,變成了現(xiàn)如今的每月一次甚至 幾天一次。軟件版本的更新會增加新功能,并解決舊版本中的缺陷和漏洞,用戶使用最新版 本可以體驗最新功能,并避免軟件的已知漏洞對電腦帶來的安全威脅。因此,目前有管理軟 件管理用戶已安裝的軟件,可以讓用戶獲取已安裝軟件的版本,并檢測已安裝軟件是否有 升級版本。 傳統(tǒng)的管理軟件檢測是否有升級的方法,是通過在管理軟件的服務(wù)端上存儲各種 軟件的最新版本及相關(guān)的描述信息,管理軟件的運營人員從各種軟件的官方網(wǎng)站或軟件下 載站獲得軟件的最新版本,當(dāng)一款軟件有升級時,運營人員就會將該款軟件的最新版本及 相關(guān)描述信息填入管理軟件服務(wù)端的軟件升級配置系統(tǒng)中。這樣,管理軟件客戶端就能檢 測獲知各種軟件的最新版本。 這種軟件升級檢測方法有個兩個大弊端, 一是需要很高的運營成本,管理軟件服 務(wù)端上需要維護(hù)的軟件有成千上萬,需要很多運營人員手工地搜集軟件的升級版本;二是 及時性差,因為運營人員獲取軟件升級版本是一個手動的過程。
發(fā)明內(nèi)容
基于此,有必要提供一種快速獲得軟件升級版本的軟件版本搜集方法。 —種軟件版本搜集方法,包括以下步驟獲取客戶端的軟件列表中軟件的客戶端
版本號;發(fā)送所述客戶端版本號到服務(wù)端。 優(yōu)選地,所述客戶端版本號通過注冊表中軟件卸載節(jié)點中的DisplayVersion鍵
值、主程序?qū)?yīng)的可執(zhí)行資源或軟件安裝目錄下的配置文件中獲取。 優(yōu)選地,還包括獲取所述客戶端的軟件列表的步驟。 優(yōu)選地,所述客戶端的軟件列表通過注冊表的軟件卸載列表、桌面快捷方式、 Windows開始菜單中的應(yīng)用程序列表、Windows快速啟動欄中的快捷方式獲取。
此外,還有必要提供一種快速獲得軟件升級版本的軟件版本管理系統(tǒng)。
—種軟件版本管理系統(tǒng),包括 版本號獲取單元,獲取客戶端的軟件列表中軟件的客戶端版本號; 客戶端收發(fā)單元,與所述版本號獲取單元相連發(fā)送所述客戶端版本號到服務(wù)端。 優(yōu)選地,所述版本號獲取單元通過注冊表中軟件卸載節(jié)點中的DisplayVersion鍵值、主程序?qū)?yīng)的可執(zhí)行資源或軟件安裝目錄下的配置文件中獲取所述客戶端版本號。
優(yōu)選地,還包括與所述版本號獲取單元相連的獲取所述客戶端的軟件列表的軟件 列表獲取單元。 優(yōu)選地,所述軟件列表獲取單元通過注冊表的軟件卸載列表、桌面快捷方式、 Windows開始菜單中的應(yīng)用程序列表、Windows快速啟動欄中的快捷方式獲取所述客戶端 的軟件列表。 優(yōu)選地,還包括判斷單元和升級單元,所述客戶端收發(fā)單元還用于接收服務(wù)端版 本號,所述判斷單元與所述客戶端收發(fā)單元相連判斷所述服務(wù)端版本號是否新于客戶端版 本號,所述升級單元與所述判斷單元相連在所述判斷單元判斷為是時提示用戶并根據(jù)用戶 指令升級或自動升級。 另外,還有必要提供一種快速獲得軟件升級版本的軟件升級檢測方法。 —種軟件升級檢測方法,包括以下步驟接收客戶端的軟件列表中軟件的客戶端
版本號;判斷所述客戶端版本號是否新于與所述客戶端版本號相應(yīng)的服務(wù)端版本號;如果
所述客戶端版本號新于所述服務(wù)端版本號,則更新所述服務(wù)端版本號。 優(yōu)選地,所述判斷所述客戶端版本號是否新于與所述客戶端版本號相應(yīng)的服務(wù)端
版本號的步驟具體為統(tǒng)計各客戶端的所述客戶端版本號,將數(shù)量大于閾值且高于服務(wù)端 版本號的客戶端版本號作為新于所述服務(wù)端版本號的客戶端版本號。 優(yōu)選地,還包括推送服務(wù)端版本號到客戶端的步驟。 優(yōu)選地,還包括判斷所述服務(wù)端版本號是否新于接收的所述客戶端版本號的步 驟,如果是則將新于所述客戶端版本號的服務(wù)端版本號發(fā)送至所述客戶端。
另外,還有必要提供一種快速獲得軟件升級版本的軟件升級檢測系統(tǒng)。
—種軟件升級檢測系統(tǒng),包括 服務(wù)端收發(fā)單元,接收客戶端的軟件列表中軟件的客戶端版本號;
存儲單元,存儲服務(wù)端版本號; 處理單元,與所述服務(wù)端收發(fā)單元及存儲單元相連,判斷所述客戶端版本號是否 新于與所述客戶端版本號相應(yīng)的服務(wù)端版本號,如果所述客戶端版本號新于所述服務(wù)端版 本號,則更新所述存儲單元中的所述服務(wù)端版本號。 優(yōu)選地,所述處理單元統(tǒng)計各客戶端的所述客戶端版本號,將數(shù)量大于閾值且高
于服務(wù)端版本號的客戶端版本號作為新于所述服務(wù)端版本號的客戶端版本號。 優(yōu)選地,所述處理單元還判斷所述服務(wù)端版本號是否新于接收的所述客戶端版本
號,如果是則將新于所述客戶端版本號的服務(wù)端版本號通過所述服務(wù)端收發(fā)單元發(fā)送至所
述客戶端。 上述軟件版本搜集方法、管理系統(tǒng)及軟件升級檢測方法和系統(tǒng)通過客戶端上報客 戶端版本號或接收客戶端上報的客戶端版本號來判斷是否有新版本,不需要人工搜集錄 入,大大提高了獲取軟件升級版本的速度。 通過注冊表中軟件卸載節(jié)點中的DisplayVersion鍵值、主程序?qū)?yīng)的exe資源或 軟件安裝目錄下的配置文件中獲取客戶端版本號,簡單快捷。 通過判斷服務(wù)端版本號是否新于客戶端版本號,在服務(wù)端版本號新于客戶端版本 號時提示用戶并根據(jù)用戶指令升級或自動升級,使升級過程根據(jù)用戶需要進(jìn)行或者在后臺自動升級,極大的方便了用戶。 通過統(tǒng)計,只有在高于服務(wù)端版本號的客戶端版本號數(shù)量大于閾值才認(rèn)定為新版 本,避免錯誤的版本號或者不穩(wěn)定的測試版本也成為新的版本,提高了用戶使用軟件的穩(wěn) 定性。
圖1為客戶端的軟件版本搜集方法流程圖;
圖2為軟件升級檢測方法的流程圖;
圖3為客戶端的工作過程流程圖; 圖4為軟件版本管理系統(tǒng)和軟件升級檢測系統(tǒng)模塊圖。
具體實施方式
為了解決手動搜集軟件導(dǎo)致耗時費力的問題,利用軟件發(fā)行商發(fā)行新的軟件版本 后,總有一些用戶會先行下載并升級,或者部分用戶的軟件設(shè)置為自動升級的模式,此時, 網(wǎng)絡(luò)中即存在一些新版本的軟件,通過搜集這些軟件的版本號,即可發(fā)現(xiàn)某一款軟件的新 版本,此時管理軟件的服務(wù)端可將該新版本通知管理軟件的客戶端,由管理軟件的客戶端 提示用戶升級,整個過程由計算機自動完成,無需人工干預(yù),因此,大大提高了獲取軟件升 級版本的速度。 如圖1所示,其為客戶端的軟件版本搜集方法流程圖。包括如下步驟 步驟S110,獲取客戶端的軟件列表。客戶端的軟件列表可以通過注冊表的軟件
卸載列表、桌面快捷方式、Windows開始菜單中的應(yīng)用程序列表、Windows快速啟動欄中的
快捷方式獲取。例如,注冊表路徑為服EY LOCALMACHINE\SOFTWARE\Microsoft\Windows\
CurrentVersiorAUninstall。當(dāng)然,如果在管理軟件的客戶端中預(yù)設(shè)了哪些軟件需要上報軟
件版本號的情況下,該步驟也可以省略。軟件列表中包含的軟件可以是時通信軟件、音視頻
播放軟件、資源下載軟件、網(wǎng)頁瀏覽軟件、輸入法軟件等軟件中的任意幾種。獲取客戶端軟
件列表時機可以是間隔預(yù)定時間進(jìn)行,也可以是每次開機時進(jìn)行,還可以是客戶端管理軟
件啟動時進(jìn)行。 步驟S120,獲取客戶端的軟件列表中軟件的客戶端版本號??蛻舳税姹咎柨梢酝?過注冊表中軟件卸載節(jié)點中的Display Version鍵值、主程序?qū)?yīng)的exe資源(可執(zhí)行資 源)或軟件安裝目錄下的配置文件中獲取。在Windows系統(tǒng)的注冊表中,軟件卸載節(jié)點中 的Display Version鍵值記錄有該軟件的版本號;主程序?qū)?yīng)的exe資源的屬性的版本標(biāo) 簽中,也記載有該軟件的版本號;在該軟件安裝目錄下的配置文件中通常也會記載有該軟 件的版本號。 步驟S130,發(fā)送客戶端版本號到服務(wù)端。在收集到客戶端版本號后,各種軟件的客 戶端版本號與其軟件名稱或者代碼一起通過網(wǎng)絡(luò)發(fā)送到服務(wù)端??梢允强蛻舳嗽谑占娇?戶端版本號后立即上傳,也可以是在預(yù)設(shè)的時間進(jìn)行上傳,還可以是根據(jù)網(wǎng)絡(luò)狀況(例如 在網(wǎng)絡(luò)空閑的時候)進(jìn)行上傳。 通過客戶端上報客戶端版本號,不需要人工搜集錄入,大大提高了獲取軟件升級 版本的速度。進(jìn)一步地,在接收到大量的客戶端上報的客戶端版本號后,通過大量的客戶端
6版本號可以判斷是否有新版本,因為軟件發(fā)行商發(fā)行新的軟件版本后,總有一些用戶會先 行下載并升級,或者部分用戶的軟件設(shè)置為自動升級的模式,此時,網(wǎng)絡(luò)中即存在一些新版 本的軟件,通過搜集這些軟件的版本號,即可發(fā)現(xiàn)某一款軟件的新版本。如圖2所示,其為 服務(wù)端的軟件升級檢測方法的流程圖。 步驟S210,接收客戶端的軟件列表中軟件的客戶端版本號。通過網(wǎng)絡(luò)接收客戶端 版本號及與該客戶端版本號對應(yīng)的軟件名稱或者代碼。 步驟S220,判斷所述客戶端版本號是否新于與所述客戶端版本號相應(yīng)的服務(wù)端版 本號??梢詫⑹盏降目蛻舳税姹咎柵c其對應(yīng)的服務(wù)端版本號一一單獨進(jìn)行對比,如果客戶 端版本號高于服務(wù)端版本號,則判定為客戶端版本號新于所述服務(wù)端版本號。在進(jìn)一步改 進(jìn)的實施方式中,可以通過統(tǒng)計各客戶端的客戶端版本號,將數(shù)量大于閾值且高于服務(wù)端 版本號的客戶端版本號作為新于所述服務(wù)端版本號的客戶端版本號。通過統(tǒng)計,只有在高
于服務(wù)端版本號的客戶端版本號數(shù)量大于閾值才認(rèn)定為新版本,避免錯誤的版本號或者不 穩(wěn)定的測試版本也成為新的版本,提高了用戶使用軟件的穩(wěn)定性。例如,某款軟件的實際最 新版本號為5.0,共收到該款軟件的客戶端版本號數(shù)據(jù)100萬份,其中有IO個客戶端版本 號是6. 0 (產(chǎn)生的原因可能為軟件發(fā)行商的非正式測試版),因為10份數(shù)據(jù)比例很小,所以 可以通過閾值法進(jìn)行剔除,如將閾值設(shè)定為128,只有在客戶端版本號是6. 0超過128的時 候,才會將6.0認(rèn)為是新版本。上述例子中以常見格式的版本號(阿拉伯?dāng)?shù)字加小數(shù)點的 格式)進(jìn)行了說明,在其他的例子中,版本號也可以采用字母甚至符號的形式表示。
步驟S230,如果所述客戶端版本號新于所述服務(wù)端版本號,則更新所述服務(wù)端版 本號。通過更新,將管理軟件服務(wù)端的服務(wù)端版本號修改為新的版本號,使服務(wù)端的狀態(tài)處 于較新的狀態(tài)。 步驟S240,推送服務(wù)端版本號到客戶端。將軟件的服務(wù)端版本號與其軟件名稱 或者代碼一起通過網(wǎng)絡(luò)發(fā)送到客戶端,由于服務(wù)端版本號通過上述步驟使其處于較新的狀 態(tài),推送到客戶端,便于客戶端升級和同步。在其他實施方式中,本步驟可以省略,在客戶端 發(fā)出查詢請求時,才響應(yīng)該請求并回復(fù)服務(wù)端版本號。另外,在替代的實施方式中,本步驟 可以替換為判斷服務(wù)端版本號是否新于步驟S210接收的客戶端版本號,如果是則將新于 客戶端版本號的服務(wù)端版本號發(fā)送至客戶端,通過本實施方式,在軟件的種類繁多并且客 戶端量非常龐大的情況下,既可以避免大量數(shù)據(jù)的推送,又可以保證在客戶端沒有查詢的 情況下主動告知客戶端哪些軟件版本有升級。 在服務(wù)端主動推送服務(wù)端版本號或者客戶端發(fā)出查詢請求、服務(wù)端響應(yīng)該請求并 回復(fù)服務(wù)端版本號時,客戶端的工作過程如圖3所示
步驟S310,接收服務(wù)端版本號。 步驟S320,判斷是否有新版本。客戶端判斷服務(wù)端版本號是否新于客戶端版本號, 如果是,則進(jìn)入步驟S330,否則流程結(jié)束。 步驟S330,提示用戶或自動升級。例如,彈出提示框提示用戶有新版本可以,是否
升級,在用戶選擇升級時根據(jù)用戶指令升級。另外,也可以不提示用戶自動升級。 通過判斷服務(wù)端版本號是否新于客戶端版本號,在服務(wù)端版本號新于客戶端版本
號時提示用戶并根據(jù)用戶指令升級或自動升級,使升級過程根據(jù)用戶需要進(jìn)行或者在后臺
自動升級,極大的方便了用戶。
7
另外,如圖4所示,還提供了一種客戶端的軟件版本管理系統(tǒng)和服務(wù)端的軟件升 級檢測系統(tǒng)。 軟件版本管理系統(tǒng)包括軟件列表獲取單元、版本號獲取單元、客戶端收發(fā)單元、判 斷單元和升級單元。 軟件列表獲取單元獲取客戶端的軟件列表。軟件列表獲取單元通過注冊表的軟件 卸載列表、桌面快捷方式、Windows開始菜單中的應(yīng)用程序列表、Windows快速啟動欄中的 快捷方式獲取所述客戶端的軟件列表。 版本號獲取單元與軟件列表獲取單元相連獲取客戶端的軟件列表中軟件的客戶
端版本號。版本號獲取單元通過注冊表中軟件卸載節(jié)點中的Display Version鍵值、主程
序?qū)?yīng)的exe資源或軟件安裝目錄下的配置文件中獲取所述客戶端版本號。 客戶端收發(fā)單元與所述版本號獲取單元相連發(fā)送所述客戶端版本號到服務(wù)端。 客戶端收發(fā)單元還用于接收服務(wù)端版本號,判斷單元與客戶端收發(fā)單元相連判斷
服務(wù)端版本號是否新于客戶端版本號,升級單元與判斷單元相連在判斷單元判斷為是時提
示用戶并根據(jù)用戶指令升級或自動升級。 軟件升級檢測系統(tǒng)包括服務(wù)端收發(fā)單元、存儲單元和處理單元。
服務(wù)端收發(fā)單元用于接收客戶端的軟件列表中軟件的客戶端版本號。
存儲單元用于存儲服務(wù)端版本號。 處理單元與服務(wù)端收發(fā)單元及存儲單元相連,判斷客戶端版本號是否新于與客戶 端版本號相應(yīng)的服務(wù)端版本號,如果客戶端版本號新于服務(wù)端版本號,則更新存儲單元中 的服務(wù)端版本號。在優(yōu)選的實施方式中,處理單元統(tǒng)計各客戶端的客戶端版本號,將數(shù)量大 于閾值且高于服務(wù)端版本號的客戶端版本號作為新于服務(wù)端版本號的客戶端版本號。進(jìn)一 步地,處理單元還判斷服務(wù)端版本號是否新于接收的客戶端版本號,如果是則將新于客戶 端版本號的服務(wù)端版本號通過服務(wù)端收發(fā)單元發(fā)送至所述客戶端。 以上所述實施例僅表達(dá)了本發(fā)明的幾種實施方式,其描述較為具體和詳細(xì),但并 不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員 來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保 護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
8
權(quán)利要求
一種軟件版本搜集方法,其特征在于,包括以下步驟獲取客戶端的軟件列表中軟件的客戶端版本號;發(fā)送所述客戶端版本號到服務(wù)端。
2. 根據(jù)權(quán)利要求1所述的軟件版本搜集方法,其特征在于,所述客戶端版本號通過注冊表中軟件卸載節(jié)點中的DisplayVersion鍵值、主程序?qū)?yīng)的可執(zhí)行資源或軟件安裝目錄下的配置文件中獲取。
3. 根據(jù)權(quán)利要求1或2所述的軟件版本搜集方法,其特征在于,還包括獲取所述客戶端的軟件列表的步驟。
4. 根據(jù)權(quán)利要求3所述的軟件版本搜集方法,其特征在于,所述客戶端的軟件列表通過注冊表的軟件卸載列表、桌面快捷方式、Windows開始菜單中的應(yīng)用程序列表、Windows快速啟動欄中的快捷方式獲取。
5. —種軟件版本管理系統(tǒng),其特征在于,包括版本號獲取單元,獲取客戶端的軟件列表中軟件的客戶端版本號;客戶端收發(fā)單元,與所述版本號獲取單元相連發(fā)送所述客戶端版本號到服務(wù)端。
6. 根據(jù)權(quán)利要求5所述的軟件版本管理系統(tǒng),其特征在于,所述版本號獲取單元通過注冊表中軟件卸載節(jié)點中的DisplayVersion鍵值、主程序?qū)?yīng)的可執(zhí)行資源或軟件安裝目錄下的配置文件中獲取所述客戶端版本號。
7. 根據(jù)權(quán)利要求5或6所述的軟件版本管理系統(tǒng),其特征在于,還包括與所述版本號獲取單元相連的獲取所述客戶端的軟件列表的軟件列表獲取單元。
8. 根據(jù)權(quán)利要求7所述的軟件版本管理系統(tǒng),其特征在于,所述軟件列表獲取單元通過注冊表的軟件卸載列表、桌面快捷方式、Windows開始菜單中的應(yīng)用程序列表、Windows快速啟動欄中的快捷方式獲取所述客戶端的軟件列表。
9. 根據(jù)權(quán)利要求5所述的軟件版本管理系統(tǒng),其特征在于,還包括判斷單元和升級單元,所述客戶端收發(fā)單元還用于接收服務(wù)端版本號,所述判斷單元與所述客戶端收發(fā)單元相連判斷所述服務(wù)端版本號是否新于客戶端版本號,所述升級單元與所述判斷單元相連在所述判斷單元判斷為是時提示用戶并根據(jù)用戶指令升級或自動升級。
10. —種軟件升級檢測方法,其特征在于,包括以下步驟接收客戶端的軟件列表中軟件的客戶端版本號;判斷所述客戶端版本號是否新于與所述客戶端版本號相應(yīng)的服務(wù)端版本號;如果所述客戶端版本號新于所述服務(wù)端版本號,則更新所述服務(wù)端版本號。
11. 根據(jù)權(quán)利要求io所述的軟件升級檢測方法,其特征在于,所述判斷所述客戶端版本號是否新于與所述客戶端版本號相應(yīng)的服務(wù)端版本號的步驟具體為統(tǒng)計各客戶端的所述客戶端版本號,將數(shù)量大于閾值且高于服務(wù)端版本號的客戶端版本號作為新于所述服務(wù)端版本號的客戶端版本號。
12. 根據(jù)權(quán)利要求10或11所述的軟件升級檢測方法,其特征在于,還包括推送服務(wù)端版本號到客戶端的步驟。
13. 根據(jù)權(quán)利要求10或11所述的軟件升級檢測方法,其特征在于,還包括判斷所述服務(wù)端版本號是否新于接收的所述客戶端版本號的步驟,如果是則將新于所述客戶端版本號的服務(wù)端版本號發(fā)送至所述客戶端。
14. 一種軟件升級檢測系統(tǒng),其特征在于,包括服務(wù)端收發(fā)單元,接收客戶端的軟件列表中軟件的客戶端版本號;存儲單元,存儲服務(wù)端版本號;處理單元,與所述服務(wù)端收發(fā)單元及存儲單元相連,判斷所述客戶端版本號是否新于與所述客戶端版本號相應(yīng)的服務(wù)端版本號,如果所述客戶端版本號新于所述服務(wù)端版本號,則更新所述存儲單元中的所述服務(wù)端版本號。
15. 根據(jù)權(quán)利要求14所述的軟件升級檢測系統(tǒng),其特征在于,所述處理單元統(tǒng)計各客戶端的所述客戶端版本號,將數(shù)量大于閾值且高于服務(wù)端版本號的客戶端版本號作為新于所述服務(wù)端版本號的客戶端版本號。
16. 根據(jù)權(quán)利要求14或15所述的軟件升級檢測系統(tǒng),其特征在于,所述處理單元還判 斷所述服務(wù)端版本號是否新于接收的所述客戶端版本號,如果是則將新于所述客戶端版本號的服務(wù)端版本號通過所述服務(wù)端收發(fā)單元發(fā)送至所述客戶端。
全文摘要
一種軟件升級檢測方法,包括以下步驟接收客戶端的軟件列表中軟件的客戶端版本號;判斷所述客戶端版本號是否新于與所述客戶端版本號相應(yīng)的服務(wù)端版本號;如果所述客戶端版本號新于所述服務(wù)端版本號,則更新所述服務(wù)端版本號。通過客戶端上報客戶端版本號或接收客戶端上報的客戶端版本號來判斷是否有新版本,不需要人工搜集錄入,大大提高了獲取軟件升級版本的速度。此外,還提供了一種軟件版本搜集方法、管理系統(tǒng)及軟件升級檢測系統(tǒng)。
文檔編號G06F9/44GK101794222SQ20101004281
公開日2010年8月4日 申請日期2010年1月13日 優(yōu)先權(quán)日2010年1月13日
發(fā)明者李世平 申請人:騰訊科技(深圳)有限公司