專利名稱:誤裝軟件提示系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,具體涉及一種誤裝軟件提示系統(tǒng)。
背景技術(shù):
當(dāng)前軟件廠家為了一定的利益,經(jīng)常會在軟件安裝過程中通過捆綁安裝其他軟件的方式來達到軟件推廣以及提高用戶數(shù)量的目的。對于廣大的普通用戶來說,在安裝過程中通常并不會去仔細(xì)閱讀理解被勾選選項的內(nèi)容,這樣,當(dāng)用戶因需要某款軟件而進行安裝之后,往往會發(fā)現(xiàn),待軟件安裝完成后,除了該款用戶需要的軟件之外,還多了一些其他的新安裝的軟件,這些其他的新安裝的軟件是用戶并不需要也不想安裝的,因此,稱為誤裝軟件。對于這類誤裝軟件,部分用戶會尋找不同的方法進行卸載,但更多的用戶是置若罔聞。無論用戶如何處理,這些誤裝軟件都會給用戶帶來很多困擾當(dāng)用戶尋找不同的方法進行卸載時,勢必會浪費用戶的時間和精力;當(dāng)用戶置若罔聞時,用戶的計算機由于安裝了誤裝軟件,日積月累,誤裝軟件的數(shù)量越來越多,會占用大量的資源,導(dǎo)致用戶的計算機響應(yīng)緩慢,性能下降,由此為用戶帶來更加深遠的影響。目前,還沒有非常有效的方法能夠避免這類誤裝軟件的安裝。雖然目前的計算機可以通過清理不常用軟件的方法最終實現(xiàn)清除誤裝軟件的目的,但是,由于判定不常用軟件需要有個時間段的統(tǒng)計,在該時間段內(nèi)誤裝軟件依然會一直占用計算機的資源,因此,清理不常用軟件的方式無法及時地杜絕誤裝軟件對于用戶的影響。另外,一鍵安裝的方法雖然可以在軟件安裝過程中直接阻止捆綁軟件的安裝,但是,要想實現(xiàn)一鍵安裝就必須對軟件進行一鍵安裝配置,這樣,用戶在安裝過程中就無法根據(jù)需要自定義安裝的具體細(xì)節(jié),這樣對于數(shù)以萬計的軟件來說,局限性太大,無法迎合不同的用戶的需求。由此可見,目前還沒有一種行之有效的方式,既能夠滿足用戶自定義安裝軟件的需求,又能夠及時識別出誤裝軟件,以避免誤裝軟件對用戶計算機資源的占用。
發(fā)明內(nèi)容
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的誤裝軟件提示系統(tǒng)。依據(jù)本發(fā)明,提供了一種誤裝軟件提示系統(tǒng),其包括客戶端以及為該客戶端提供服務(wù)的服務(wù)器;其中,所述客戶端包括安裝檢測單元,適于在檢測到軟件對應(yīng)的安裝程序退出時,確定軟件安裝完成;數(shù)量檢測單元,適于檢測軟件數(shù)量的增加量,當(dāng)檢測到軟件數(shù)量的增加量不小于兩款時,確定增加的軟件的數(shù)量和名稱;查找匹配單元,適于查找預(yù)先存儲的捆綁軟件庫,當(dāng)確定增加的軟件的數(shù)量和名稱與捆綁軟件庫中存儲的捆綁軟件列表中的一項或多項匹配時,彈出誤裝軟件提示;其中,捆綁軟件列表中存儲有捆綁安裝的軟件的數(shù)量和名稱??蛇x地,安裝檢測單元進一步適于預(yù)先創(chuàng)建軟件對應(yīng)的安裝程序的監(jiān)測進程;當(dāng)監(jiān)測進程監(jiān)測到安裝程序退出時,確定軟件安裝完成??蛇x地,數(shù)量檢測單元進一步適于確定軟件安裝后的注冊表與軟件安裝前的注冊表相比,增加的鍵值的數(shù)量和名稱;通過鍵值與軟件名稱的對應(yīng)關(guān)系,由增加的鍵值的數(shù)量和名稱確定對應(yīng)增加的軟件的數(shù)量和名稱。可選地,查找匹配單元查找預(yù)先存儲的捆綁軟件庫,確定增加的軟件的數(shù)量和名稱與捆綁軟件庫不匹配時,進一步適于確定退出的安裝程序的數(shù)量和名稱是否與增加的軟件的數(shù)量和名稱匹配,當(dāng)確定不匹配時,彈出誤裝軟件提示??蛇x地,該客戶端進一步包括存儲單元,適于存儲捆綁軟件庫;或者,捆綁軟件庫存儲在為客戶端提供服務(wù)的服務(wù)器上??蛇x地,捆綁軟件庫存儲在服務(wù)器上且定期更新,則客戶端進一步包括更新存儲單元,適于下載并存儲服務(wù)器上存儲的捆綁軟件庫,當(dāng)客戶端連網(wǎng)時,更新存儲單元還適于根據(jù)服務(wù)器上的捆綁軟件庫的更新情況,對下載并存儲的捆綁軟件庫進行更新;其中,當(dāng)客戶端連網(wǎng)時,查找匹配單元查找服務(wù)器上存儲的捆綁軟件庫;當(dāng)客戶端斷網(wǎng)時,查找匹配單元查找更新存儲單元上存儲的捆綁軟件庫。根據(jù)本發(fā)明的誤裝軟件提示系統(tǒng),通過預(yù)先設(shè)置捆綁軟件庫,在該捆綁軟件庫中存儲常見的捆綁安裝的軟件的數(shù)量和名稱,然后在軟件安裝完成后檢測增加的軟件的數(shù)量和名稱是否與捆綁軟件庫中存儲的內(nèi)容匹配,由此可以對誤裝軟件進行識別并提示給用戶,從而解決了誤裝軟件長期占用計算機資源的問題,實現(xiàn)了既可以滿足用戶自定義安裝軟件的需求,又能夠在軟件安裝完成后及時發(fā)現(xiàn)誤裝軟件,以避免誤裝軟件長期占用資源的有益效果。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式
。
通過閱讀下文優(yōu)選實施方式的詳細(xì)描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中圖1示出了根據(jù)本發(fā)明一個實施例的提示誤裝軟件的方法流程圖;圖2示出了根據(jù)本發(fā)明一個實施例中彈出誤裝軟件提示時的界面示意圖;圖3示出了根據(jù)本發(fā)明一個實施例的提示誤裝軟件的客戶端的結(jié)構(gòu)示意圖;以及圖4示出了根據(jù)本發(fā)明一個實施例的誤裝軟件提示系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施例方式下面將參照附圖更詳細(xì)地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。圖1示出了本發(fā)明實施例提供的提示誤裝軟件的方法流程圖,如圖1所示,該方法始于步驟SI 10,在步驟SI 10中,檢測到軟件對應(yīng)的安裝程序退出時,確定軟件安裝完成。在步驟SllO中,為了檢測軟件安裝是否完成,是通過檢測軟件對應(yīng)的安裝程序是否退出實現(xiàn)的,例如,可以預(yù)先創(chuàng)建軟件對應(yīng)的安裝程序的監(jiān)測進程,由該監(jiān)測進程對軟件對應(yīng)的安裝程序的安裝進度進行監(jiān)測;當(dāng)該監(jiān)測進程監(jiān)測到安裝程序退出時,確定軟件安裝完成?;蛘?,也可以在安裝軟件時為軟件對應(yīng)的安裝程序創(chuàng)建一個安裝進程,將該安裝進程添加到一個job作業(yè)中,這樣,通過檢測該job作業(yè)中的進程個數(shù)就可以判斷出軟件對應(yīng)的安裝程序是否運行結(jié)束,當(dāng)檢測到安裝程序運行結(jié)束的時候,確定軟件安裝完成。步驟S 110的主要作用在于,判斷軟件安裝是否完成,以便于在軟件安裝完成后執(zhí)行后續(xù)的步驟來達到提示誤裝軟件的效果。因此,步驟SllO除了上述描述的方式之外,還可以靈活采取其他的方式實現(xiàn),只要能夠達到確定軟件安裝完成的目的即可。確定軟件安裝完成后,在步驟S120中,檢測軟件數(shù)量的增加量,當(dāng)檢測到軟件數(shù)量的增加量不小于兩款時,確定增加的軟件的數(shù)量和名稱。為了便于理解本發(fā)明,下面先介紹一下在步驟S120中為何需要檢測軟件數(shù)量的增加量。通常情況下,誤裝軟件是由于軟件廠商在某一軟件安裝程序的安裝包中捆綁了其他的軟件安裝程序,這些其他的軟件安裝程序?qū)?yīng)的軟件叫做捆綁軟件。也就是說,用戶明明只下載了一個安裝程序的安裝包,這一安裝程序的安裝包通常是以用戶想要安裝的軟件名稱來命名的,例如,用戶想要安裝XX聊天軟件對應(yīng)的安裝包,該安裝包的名稱為XX聊天2012. exe,用戶雙擊這一可執(zhí)行文件之后,本以為計算機將只對XX聊天軟件進行安裝。但是實際上,在該安裝包中還通過例如文件捆綁、文件隱藏等技術(shù)捆綁了其他的一些軟件,例如,XX音樂、XX游戲等。這樣,在用戶安裝時,通常會有一些默認(rèn)選擇同時安裝XX音樂、XX游戲等的選項,如果用戶沒有仔細(xì)辨別,就很容易在安裝XX聊天軟件的同時安裝了 XX音樂、XX游戲等軟件。由于XX音樂、XX游戲是用戶原本不想安裝的,因此,稱為誤裝軟件。另一方面,由于XX音樂、XX游戲這類誤裝軟件通常以文件捆綁技術(shù)捆綁在用戶想要安裝的軟件(如XX聊天軟件)的安裝包中,因此,在上述情況中,XX音樂、XX游戲這類誤裝軟件也稱為XX聊天軟件的捆綁軟件。由于捆綁軟件數(shù)量眾多、形式多樣,各類軟件安裝包中都可能捆綁有或多或少的捆綁軟件,而用戶即使不想安裝這些捆綁文件,卻也往往會由于疏忽而將其誤裝。由此可見,產(chǎn)生誤裝軟件的絕大多數(shù)情況都是因為捆綁軟件造成的,因此,本發(fā)明實施例的主要目的就是對因為捆綁軟件形成的誤裝軟件進行識別,以減少由于用戶在自定義安裝階段沒有仔細(xì)閱讀安裝提示而導(dǎo)致捆綁軟件在用戶不需要的情況下被誤裝的情況。通常情況下,用戶在安裝軟件時,每次都只安裝一個軟件,因此軟件安裝完成后,通常軟件數(shù)量的增加量應(yīng)該為一款,但由于捆綁軟件能夠在安裝其他軟件時被捆綁安裝的特性,當(dāng)捆綁軟件由于用戶疏忽而被誤裝時,最明顯的特征就是當(dāng)軟件安裝完成后,軟件數(shù)量的增加量不止一款(即不小于兩款)。因此,在步驟S120中需要檢測軟件數(shù)量的增加量,當(dāng)軟件數(shù)量的增加量僅為一款時,說明不存在捆綁軟件;當(dāng)軟件數(shù)量的增加量多于一款,即不小于兩款時,說明有可能存在著捆綁軟件,這時,需要進一步確定增加的軟件的數(shù)量和名稱。為了確定增加的軟件的數(shù)量和名稱,可以首先確定軟件安裝后的注冊表與軟件安裝前的注冊表相比,增加的鍵值的數(shù)量和名稱;然后通過鍵值與軟件名稱的對應(yīng)關(guān)系,由增加的鍵值的數(shù)量和名稱來確定對應(yīng)增加的軟件的數(shù)量和名稱。具體地,可以在步驟SllO中確定出軟件安裝完成后,通過掃描系統(tǒng)中的注冊表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 和HKEY_CURRENT_USER\SOFTWARE\Microsoft\ffindows\CurrentVersion\Uninstall 中的鍵值,確定軟件安裝后的注冊表與軟件安裝前的注冊表相比,增加的鍵值的數(shù)量和名稱。由于鍵值與軟件名稱之間存在著對應(yīng)關(guān)系,因此,根據(jù)增加的鍵值的數(shù)量和名稱就可以確定出對應(yīng)增加的軟件的數(shù)量和名稱。具體實現(xiàn)時,可以定期對系統(tǒng)注冊表中的信息進行保存,例如,可以在每次確定出軟件安裝完成后,對當(dāng)前的系統(tǒng)注冊表中的鍵值信息進行保存,這樣,就可以比較出軟件安裝前后的系統(tǒng)注冊表的變化情況?;蛘?,也可以每隔設(shè)定的時間間隔對系統(tǒng)注冊表中的鍵值信息進行保存,以便于后續(xù)過程中的比較。另外,在確定增加的軟件的數(shù)量和名稱時,也可以通過其他方式實現(xiàn),例如,通過控制面板的“添加/刪除程序”列表中的內(nèi)容進行判斷,只要能夠?qū)崿F(xiàn)確定軟件增加的數(shù)量和名稱的目的即可。確定出增加的軟件的數(shù)量和名稱之后,在步驟S130中,查找預(yù)先存儲的捆綁軟件庫,當(dāng)確定增加的軟件的數(shù)量和名稱與捆綁軟件庫中存儲的捆綁軟件列表中的一項或多項匹配時,彈出誤裝軟件提示,以達到提示用戶的目的。其中,捆綁軟件列表中存儲有捆綁安裝的軟件的數(shù)量和名稱。其中,擁綁軟件庫是預(yù)先設(shè)直并存儲的,在擁綁軟件庫中存儲有擁綁軟件列表。擁綁軟件列表中包含有多項內(nèi)容,每一項內(nèi)容對應(yīng)一種常見的捆綁軟件的組合方式。例如,上面提到過,在安裝XX聊天軟件時,往往會捆綁安裝XX音樂和XX游戲的軟件,因此,針對這種常見的捆綁軟件組合方式,可以在捆綁軟件列表中存儲一項與之對應(yīng)的內(nèi)容,該項內(nèi)容包含三款軟件,名稱分別為“XX聊天軟件”、“XX音樂軟件”以及“XX游戲軟件”。。通過捆綁軟件庫,就可以基本上把常見的捆綁軟件的組合方式都羅列在捆綁軟件列表里。這樣,在確定出增加的軟件的數(shù)量和名稱之后,將增加的軟件的數(shù)量和名稱與捆綁軟件列表中的內(nèi)容進行比較,當(dāng)確定增加的軟件的數(shù)量和名稱與捆綁軟件列表中一項或多項內(nèi)容匹配時,就可以確定在增加的軟件中存在著捆綁軟件,而該捆綁軟件很可能是用戶由于疏忽而誤裝的,因此,需要向用戶彈出誤裝軟件提示,以便提示用戶。圖2示出了本發(fā)明一個實施例中彈出誤裝軟件提示時的界面示意圖。根據(jù)圖2可以看出,步驟S120中增加的軟件的數(shù)量為三款,分別為“XX聊天軟件”、“XX音樂軟件”和“XX游戲軟件”,而且,捆綁軟件列表中存儲的一項內(nèi)容包括“XX聊天軟件”、“XX音樂軟件”和“XX游戲軟件”這三款軟件。因此,在步驟S130中,發(fā)現(xiàn)增加的軟件的數(shù)量和名稱與捆綁軟件列表中的內(nèi)容匹配,因此,彈出了圖2所示的誤裝軟件提示框,該提示框可通過小助手進程SoftupNotify來實現(xiàn)。在提示框中列出了所有增加的軟件的名稱,并在每款軟件后面還可以進一步設(shè)置“立即卸載”的按鈕,如果用戶發(fā)現(xiàn)其中的一款或多款軟件屬于誤裝的捆綁軟件,則可以直接通過“立即卸載”按鈕進行卸載,從而可以在軟件安裝完成后,第一時間內(nèi)卸載掉不需要的誤裝軟件,及時避免誤裝軟件對計算機資源的占用。通過捆綁軟件庫可以方便地識別出捆綁軟件,從而提示給用戶。但是,有時由于捆綁軟件庫中存儲的信息不全或更新不及時等原因,一些捆綁軟件可能沒有及時添加到捆綁軟件庫中,造成捆綁軟件被漏判的情況?;蛘撸行r候,由于軟件故障等多種原因,也可能產(chǎn)生其他類型的誤裝軟件。對此,為了進一步甄別出這樣的誤裝軟件,在步驟S130中查找預(yù)先存儲的捆綁軟件庫之后,該方法還可以進一步包括以下步驟當(dāng)確定增加的軟件的數(shù)量和名稱與捆綁軟件庫不匹配時,確定退出的安裝程序的數(shù)量和名稱是否與增加的軟件的數(shù)量和名稱匹配,當(dāng)確定不匹配時,彈出誤裝軟件提示。其中,不匹配的一種常見情況是退出的安裝程序的數(shù)量少于增加的軟件的數(shù)量,這種情況很可能是由于出現(xiàn)了捆綁軟件庫中沒有存儲的捆綁軟件而造成的。當(dāng)然,不匹配的情況還有很多,例如,退出的安裝程序的名稱與增加的軟件名稱不匹配等。通過該步驟,即使增加的軟件的數(shù)量和名稱在捆綁軟件庫中沒有記載,還可以進一步通過安裝程序來識別誤裝軟件。例如,在上面提到的例子中,軟件廠商常常會在XX聊天軟件對應(yīng)的安裝程序中捆綁XX音樂和XX游戲等安裝程序,假設(shè)這種捆綁方式?jīng)]有及時存儲到捆綁軟件庫里,導(dǎo)致在步驟S130中,發(fā)現(xiàn)增加的軟件的數(shù)量和名稱與捆綁軟件庫不匹配,因而沒有向用戶彈出誤裝提示。但是,通過識別安裝程序的步驟依然可以發(fā)現(xiàn)這些捆綁軟件因為捆綁的這些安裝程序往往通過文件隱藏技術(shù)隱藏在XX聊天軟件對應(yīng)的安裝程序中,因此,用戶其實只運行了 XX聊天軟件對應(yīng)的這一個安裝程序,所以在安裝完成后,退出的安裝程序的數(shù)量應(yīng)該為一,名稱為XX聊天安裝程序,但是,增加的軟件的數(shù)量卻是三個,分別為XX聊天軟件、XX音樂和XX游戲。由此可見,在這種情況中,退出的安裝程序的數(shù)量和名稱與增加的軟件的數(shù)量和名稱不匹配,這時,通過執(zhí)行“確定退出的安裝程序的數(shù)量和名稱是否與增加的軟件的數(shù)量和名稱匹配,當(dāng)確定不匹配時,彈出誤裝軟件提示”的步驟,就可以避免捆綁軟件的漏判,從而更加有效地識別出潛在的誤裝軟件。上述的通過安裝程序來判定誤裝軟件的方式還適用于增加的軟件僅為一款的情況。也就是說,如果在步驟S120中確定出增加的軟件僅為一款,這時雖然可以確定出增加的軟件不屬于捆綁軟件,因而無需在后續(xù)步驟中與捆綁軟件庫進行匹配,但是,由于存在著安裝程序命名錯誤等多種情況,依然有可能導(dǎo)致用戶安裝完成的軟件并不是用戶真正想要安裝的,因此也屬于誤裝軟件。為了對這種情況下的誤裝軟件進行判斷,當(dāng)在步驟S 120中確定出增加的軟件僅為一款時,該方法還包括以下步驟確定退出的安裝程序的數(shù)量和名稱是否與增加的軟件的數(shù)量和名稱匹配,當(dāng)確定不匹配時,彈出誤裝軟件提示。通過這樣的方式,如果用戶下載的軟件安裝包的名稱與實際安裝的軟件的名稱不匹配(例如有時安裝包命名錯誤),則可以幫助用戶識別出這一誤裝軟件,以便于用戶及時處理。另外,為了更進一步地減少對于捆綁軟件的漏判,最好的方式就是及時更新捆綁軟件庫,使捆綁軟件庫中包含的常見的捆綁方式更為全面。下面介紹一下捆綁軟件庫是如何存儲并更新的。首先,需要收集網(wǎng)上的熱門軟件及其捆綁軟件的信息,將其存入捆綁軟件列表中,作為捆綁軟件庫。具體收集時,可以由專門的人員對網(wǎng)上的熱門軟件進行人工查找,并嘗試安裝,以確定出是否存在捆綁軟件?;蛘?,也可以編寫一些預(yù)定功能的程序,由該程序代替人工查找,以確定出是否存在捆綁軟件。通過上面的方式就可以篩選出常見的捆綁方式,并將對應(yīng)的捆綁軟件信息存入捆綁軟件列表中。存儲了捆綁軟件庫之后,為了更好的減少漏判,還需要對其進行更新。具體更新時,也可以采取上面介紹的收集捆綁軟件的方式進行更新。例如,通過人工查找的方式來發(fā)現(xiàn)新的捆綁軟件并相應(yīng)更新捆綁軟件庫?;蛘撸ㄟ^執(zhí)行上述預(yù)定功能的程序來發(fā)現(xiàn)新的捆綁軟件并相應(yīng)更新捆綁軟件庫。在上述方式中,可以根據(jù)具體情況設(shè)置一個更新頻率,例如,每天更新一次或每星期更新一次。除了上面介紹的更新方式之外,還可以采取用戶主動上報的方式進行更新。在這種方式中,每當(dāng)查找完預(yù)先存儲的捆綁軟件庫之后,當(dāng)確定增加的軟件的數(shù)量和名稱與捆綁軟件庫不匹配時,向用戶彈出一個提示框,提示“用戶有可能安裝了捆綁軟件,是否對該捆綁軟件信息進行上報? ”;或者,每當(dāng)確定增加的軟件的數(shù)量和名稱與捆綁軟件庫不匹配,并確定退出的安裝程序的數(shù)量和名稱與增加的軟件的數(shù)量和名稱也不匹配時,提示“用戶有可能安裝了捆綁軟件,是否對該捆綁軟件信息進行上報? ”。服務(wù)器對用戶上報的捆綁軟件信息進行存儲,當(dāng)某種捆綁軟件信息被用戶上報的次數(shù)超過設(shè)定閾值時,服務(wù)器將會把這種捆綁軟件信息添加到捆綁軟件庫中,以便輔助完成捆綁軟件庫的更新,其中,服務(wù)器設(shè)定閾值的主要目的是為了防止用戶誤報的情況。這種更新方式的原理在于當(dāng)步驟SllO和S120已經(jīng)確定在軟件安裝完成后,軟件數(shù)量的增加量不小于兩款,說明這時有可能安裝了捆綁軟件,但是在步驟S130中查找預(yù)先存儲的捆綁軟件庫時,卻發(fā)現(xiàn)增加的軟件的數(shù)量和名稱與捆綁軟件庫不匹配,說明捆綁軟件庫中并沒有存儲對應(yīng)的捆綁方式。但是在這種情況下,不一定說明增加的軟件一定不屬于捆綁軟件,有可能是因為捆綁軟件庫的信息不夠全面或更新不夠及時造成的。因此,為了更有效地發(fā)現(xiàn)潛在的捆綁軟件,在這種情況下,可以將上述情況提示給用戶,由用戶來進一步判定增加的軟件是否為捆綁軟件,另外,出于對用戶隱私的保護,即使用戶判定出該增加的軟件是捆綁軟件時,也并不強制要求用戶上報,而是由用戶根據(jù)情況自主選擇是否上報,這樣,一方面保護了用戶的隱私,另一方面,也可以在用戶自愿的情況下為捆綁軟件庫的更新貢獻力量。介紹完捆綁軟件庫的更新之后,下面再介紹一下捆綁軟件庫的存儲位置。為了便于存儲和更新,可以將捆綁軟件庫存儲在服務(wù)器端,這樣,每當(dāng)發(fā)現(xiàn)新的捆綁軟件時,服務(wù)器都可以第一時間完成捆綁軟件庫的更新。另外,為了使客戶端查找捆綁軟件庫時更為方便,還可以由客戶端在處于連網(wǎng)狀態(tài)時將服務(wù)器端的捆綁軟件庫下載到本地的客戶端上。另外,由于服務(wù)器端的捆綁軟件庫可能會定期更新,因此,客戶端也可以定期向服務(wù)器請求更新后的捆綁軟件庫,或者,也可以由服務(wù)器在每次更新后主動將更新后的捆綁軟件庫發(fā)送給客戶端。而且,為了減少對客戶端資源的占用,還可以在客戶端處于空閑狀態(tài)或運行程序不多的狀態(tài)下向服務(wù)器請求下載或更新捆綁軟件庫。在客戶端上也存儲有捆綁軟件庫的情況下,當(dāng)客戶端連網(wǎng)時,在步驟S130中查找預(yù)先存儲的捆綁軟件庫是指查找服務(wù)器上存儲的捆綁軟件庫;而當(dāng)客戶端斷網(wǎng)時,在步驟S130中查找預(yù)先存儲的捆綁軟件庫是指查找客戶端上存儲的捆綁軟件庫。通過這樣的方式,既可以在客戶端連網(wǎng)時避免因客戶端更新不及時而導(dǎo)致的漏判,也可以在客戶端斷網(wǎng)時,能夠根據(jù)本地保存的捆綁軟件庫進行捆綁軟件的判定。在上面描述的實現(xiàn)方式中,主要是在軟件安裝后進行誤裝軟件的判定,另外,還可以在軟件安裝前進行誤裝軟件的判定,從而阻止用戶誤裝軟件,但由于軟件安裝程序的特異性,在軟件安裝前進行判定的方式會出現(xiàn)很多失效的情況,因此,本發(fā)明優(yōu)選采用軟件安裝后判定的方式。通過本發(fā)明實施例提供的方法,就可以實現(xiàn)提示誤裝軟件的目的,避免誤裝軟件對用戶帶來的影響(例如,用戶對誤裝軟件長期不會維護,會導(dǎo)致很多問題,比如開機啟動項多,軟件長期不更新所存有的漏單安全問題)。通過該方法,可以為用戶降低誤裝軟件的概率,并及時提醒用戶卸載誤裝軟件,釋放因誤裝軟件而占用的資源,從而提高了系統(tǒng)的運行效率和安全性。圖3示出了本發(fā)明一個實施例提供的提示誤裝軟件的客戶端的結(jié)構(gòu)示意圖,如圖3所示,該客戶端300包括安裝檢測單元310、數(shù)量檢測單元320、以及查找匹配單元330。其中,安裝檢測單元310在檢測到軟件對應(yīng)的安裝程序退出時,確定軟件安裝完成。為了檢測軟件安裝是否完成,安裝檢測單元310是通過檢測軟件對應(yīng)的安裝程序是否退出實現(xiàn)的,例如,可以預(yù)先創(chuàng)建軟件對應(yīng)的安裝程序的監(jiān)測進程,由該監(jiān)測進程對軟件對應(yīng)的安裝程序的安裝進度進行監(jiān)測;當(dāng)該監(jiān)測進程監(jiān)測到安裝程序退出時,確定軟件安裝完成?;蛘?,也可以在安裝軟件時為軟件對應(yīng)的安裝程序創(chuàng)建一個安裝進程,將該安裝進程添加到一個job作業(yè)中,這樣,通過檢測該job作業(yè)中的進程個數(shù)就可以判斷出軟件對應(yīng)的安裝程序是否運行結(jié)束,當(dāng)檢測到安裝程序運行結(jié)束的時候,確定軟件安裝完成。安裝檢測單元310的主要作用在于,判斷軟件安裝是否完成,以便于在軟件安裝完成后由數(shù)量檢測單元320和查找匹配單元330來達到提示誤裝軟件的效果。數(shù)量檢測單元320檢測軟件數(shù)量的增加量,當(dāng)檢測到軟件數(shù)量的增加量不小于兩款時,確定增加的軟件的數(shù)量和名稱。為了確定增加的軟件的數(shù)量和名稱,數(shù)量檢測單元320可以首先確定軟件安裝后的注冊表與軟件安裝前的注冊表相比,增加的鍵值的數(shù)量和名稱;然后通過鍵值與軟件名稱的對應(yīng)關(guān)系,由增加的鍵值的數(shù)量和名稱來確定對應(yīng)增加的軟件的數(shù)量和名稱。數(shù)量檢測單元320的具體作用和工作過程可參照方法實施例的步驟S120中的描述進行,此處不再贅述。查找匹配單元330查找預(yù)先存儲的捆綁軟件庫,當(dāng)確定增加的軟件的數(shù)量和名稱與捆綁軟件庫中存儲的捆綁軟件列表中的一項或多項匹配時,彈出誤裝軟件提示;其中,捆綁軟件列表中存儲有捆綁安裝的軟件的數(shù)量和名稱。另外,為了防止對誤裝軟件的漏判,查找匹配單元330查找預(yù)先存儲的捆綁軟件庫,確定增加的軟件的數(shù)量和名稱與捆綁軟件庫不匹配時,進一步確定退出的安裝程序的數(shù)量和名稱是否與增加的軟件的數(shù)量和名稱匹配,當(dāng)確定不匹配時,彈出誤裝軟件提示。具體地,查找匹配單元330如何查找捆綁軟件庫并彈出誤裝軟件提示的具體過程可參照方法實施例中步驟S130中的描述,此處不再贅述。可選地,該提示誤裝軟件的客戶端還可以進一步包括存儲單元340,用來存儲捆綁軟件庫?;蛘?,該捆綁軟件庫也可以存儲在為該客戶端提供服務(wù)的服務(wù)器上。關(guān)于捆綁軟件庫的具體存儲及更新方式可參照方法實施例中相應(yīng)部分的描述。圖4示出了本發(fā)明一個實施例提供的誤裝軟件提示系統(tǒng)的結(jié)構(gòu)示意圖,如圖4所示,該系統(tǒng)包括客戶端300以及為該客戶端300提供服務(wù)的服務(wù)器200。其中,客戶端300的數(shù)量可為一個或多個,客戶端300與服務(wù)器200之間可以通過各種無線/有線網(wǎng)絡(luò)連接。該客戶端300包括安裝檢測單元、數(shù)量檢測單元、以及查找匹配單元。關(guān)于各單元的具體工作方式可參照上一實施例中的描述,此處不再贅述。另外,捆綁軟件庫可以存儲在服務(wù)器200上且定期更新,則客戶端300進一步包括更新存儲單元,適于下載并存儲服務(wù)器上存儲的捆綁軟件庫,當(dāng)客戶端300連網(wǎng)時,更新存儲單元還適于根據(jù)服務(wù)器上的捆綁軟件庫的更新情況,對下載并存儲的捆綁軟件庫進行更新;其中,當(dāng)客戶端300連網(wǎng)時,查找匹配單元查找服務(wù)器上存儲的捆綁軟件庫;當(dāng)客戶端300斷網(wǎng)時,查找匹配單元查找更新存儲單元上存儲的捆綁軟件庫。關(guān)于捆綁軟件庫的具體存儲及更新方式可參照方法實施例中相應(yīng)部分的描述。根據(jù)本發(fā)明的誤裝軟件提示系統(tǒng),通過預(yù)先設(shè)置捆綁軟件庫,在該捆綁軟件庫中存儲常見的捆綁安裝的軟件的數(shù)量和名稱,然后在軟件安裝完成后檢測增加的軟件的數(shù)量和名稱是否與捆綁軟件庫中存儲的內(nèi)容匹配,由此可以對誤裝軟件進行識別并提示給用戶,從而解決了誤裝軟件長期占用計算機資源的問題,實現(xiàn)了既可以滿足用戶自定義安裝軟件的需求,又能夠在軟件安裝完成后及時發(fā)現(xiàn)誤裝軟件,以避免誤裝軟件長期占用資源的有益效果。在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細(xì)節(jié)的情況下實踐。在一些實例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖即所要求保護的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式
的權(quán)利要求書由此明確地并入該具體實施方式
,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個設(shè)備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的系統(tǒng)中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。應(yīng)該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
權(quán)利要求
1.一種誤裝軟件提示系統(tǒng),包括客戶端以及為所述客戶端提供服務(wù)的服務(wù)器;其中,所述客戶端包括安裝檢測單元,適于在檢測到軟件對應(yīng)的安裝程序退出時,確定所述軟件安裝完成;數(shù)量檢測單元,適于檢測軟件數(shù)量的增加量,當(dāng)檢測到軟件數(shù)量的增加量不小于兩款時,確定增加的軟件的數(shù)量和名稱;查找匹配單元,適于查找預(yù)先存儲的捆綁軟件庫,當(dāng)確定所述增加的軟件的數(shù)量和名稱與所述捆綁軟件庫中存儲的捆綁軟件列表中的一項或多項匹配時,彈出誤裝軟件提示;其中,所述捆綁軟件列表中存儲有捆綁安裝的軟件的數(shù)量和名稱。
2.如權(quán)利要求1所述的系統(tǒng),所述安裝檢測單元進一步適于預(yù)先創(chuàng)建所述軟件對應(yīng)的安裝程序的監(jiān)測進程;當(dāng)所述監(jiān)測進程監(jiān)測到所述安裝程序退出時,確定所述軟件安裝完成。
3.如權(quán)利要求1-2中任一個所述的系統(tǒng),所述數(shù)量檢測單元進一步適于確定軟件安裝后的注冊表與軟件安裝前的注冊表相比,增加的鍵值的數(shù)量和名稱;通過鍵值與軟件名稱的對應(yīng)關(guān)系,由所述增加的鍵值的數(shù)量和名稱確定對應(yīng)增加的軟件的數(shù)量和名稱。
4.如權(quán)利要求1-3中任一個所述的系統(tǒng),所述查找匹配單元查找預(yù)先存儲的捆綁軟件庫,確定所述增加的軟件的數(shù)量和名稱與所述捆綁軟件庫不匹配時,進一步適于確定退出的所述安裝程序的數(shù)量和名稱是否與所述增加的軟件的數(shù)量和名稱匹配,當(dāng)確定不匹配時,彈出誤裝軟件提示。
5.如權(quán)利要求1-4中任一個所述的系統(tǒng),其中,所述客戶端進一步包括存儲單元,適于存儲所述捆綁軟件庫;或者,所述捆綁軟件庫存儲在為所述客戶端提供服務(wù)的服務(wù)器上。
6.如權(quán)利要求1-5中任一項所述的系統(tǒng),所述捆綁軟件庫存儲在所述服務(wù)器上且定期更新,則所述客戶端進一步包括更新存儲單元,適于下載并存儲所述服務(wù)器上存儲的捆綁軟件庫,當(dāng)所述客戶端連網(wǎng)時,所述更新存儲單元還適于根據(jù)服務(wù)器上的捆綁軟件庫的更新情況,對下載并存儲的捆綁軟件庫進行更新;其中,當(dāng)所述客戶端連網(wǎng)時,所述查找匹配單元查找服務(wù)器上存儲的捆綁軟件庫;當(dāng)所述客戶端斷網(wǎng)時,所述查找匹配單元查找所述更新存儲單元上存儲的捆綁軟件庫。
全文摘要
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,其公開了一種誤裝軟件提示系統(tǒng),該系統(tǒng)包括包括客戶端和為該客戶端提供服務(wù)的服務(wù)器;所述客戶端包括安裝檢測單元,適于在檢測到軟件對應(yīng)的安裝程序退出時,確定所述軟件安裝完成;數(shù)量檢測單元,適于檢測軟件數(shù)量的增加量,當(dāng)檢測到軟件數(shù)量的增加量不小于兩款時,確定增加的軟件的數(shù)量和名稱;查找匹配單元,適于查找預(yù)先存儲的捆綁軟件庫,當(dāng)確定所述增加的軟件的數(shù)量和名稱與所述捆綁軟件庫中存儲的捆綁軟件列表中的一項或多項匹配時,彈出誤裝軟件提示。采用本發(fā)明的技術(shù)方案既可以滿足用戶自定義安裝軟件的需求,又能夠在軟件安裝完成后及時發(fā)現(xiàn)誤裝軟件,以避免誤裝軟件長期占用資源的有益效果。
文檔編號G06F9/445GK103034803SQ20121049973
公開日2013年4月10日 申請日期2012年11月29日 優(yōu)先權(quán)日2012年11月29日
發(fā)明者鄧鵬 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司