一種安裝應(yīng)用程序的方法和裝置制造方法
【專利摘要】本發(fā)明實施例提供了一種安裝應(yīng)用程序的方法和裝置,所述方法包括:應(yīng)用程序部署引擎獲取第一應(yīng)用程序的文件部署描述信息;解析所述文件部署描述信息,獲得第一應(yīng)用程序的輔助部署信息;依據(jù)所述解析后的文件部署描述信息獲取到第一應(yīng)用程序的應(yīng)用程序部署文件;依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署。本發(fā)明實施例實現(xiàn)了應(yīng)用程序的安裝、更新、配置調(diào)整、回退等操作,通過輔助部署信息下載應(yīng)用程序部署文件,避免了下載整個安裝包,大大減少了下載耗時和貸款資源占用,進(jìn)而加快了應(yīng)用程序的分發(fā)速度和安裝速度,提高了安裝效率。
【專利說明】_種安裝應(yīng)用程序的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及應(yīng)用程序【技術(shù)領(lǐng)域】,特別是涉及一種安裝應(yīng)用程序的方法和一種安裝應(yīng)用程序的裝置。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,人們開發(fā)了各種功能豐富的應(yīng)用程序,例如,即時通訊工具、音頻播放器、視頻播放器、日歷工具等等,給人們的生活帶來許多便利。
[0003]要使用應(yīng)用程序,安裝是不可或缺的環(huán)節(jié)。當(dāng)在系統(tǒng)中新增應(yīng)用程序,或者,對應(yīng)用程序進(jìn)行版本更新時,需要花很長時間去安裝應(yīng)用程序。
[0004]在傳統(tǒng)的應(yīng)用程序的新增方式中,需要將安裝包整個下載到本地,每個安裝包有其自己的安裝部署方法,智能被動地安裝或者部署。
[0005]在傳統(tǒng)的應(yīng)用程序的更新方式中,大部分應(yīng)用程序需要下載整個新的安裝包覆蓋安裝原有文件,以達(dá)到覆蓋更新的目的。
[0006]對于新增應(yīng)用程序,由于應(yīng)用開發(fā)廠商的重點(diǎn)不在于下載應(yīng)用程序安裝包的速度而是注重應(yīng)用本身,這就直接導(dǎo)致如果某應(yīng)用程序體積很大(如某些專業(yè)的應(yīng)用程序能達(dá)到10G),而下載量巨大,導(dǎo)致下載速度慢,可能需要花費(fèi)數(shù)小時甚至數(shù)天時間下載,耗費(fèi)了大量的時間與帶寬資源。
[0007]對于更新應(yīng)用程序,很多應(yīng)用程序更新都是用戶手動下載整個安裝包重新安裝以達(dá)到獲取最新版本的效果,如果安裝包過大也會耗費(fèi)了大量的時間與帶寬資源,直接影響用戶體驗和新版應(yīng)用程序的分發(fā)速度。
【發(fā)明內(nèi)容】
[0008]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的一種應(yīng)用程序的安裝方法和相應(yīng)的一種應(yīng)用程序的安裝裝置。
[0009]依據(jù)本發(fā)明的一個方面,提供了一種安裝應(yīng)用程序的方法,包括:
[0010]應(yīng)用程序部署引擎獲取第一應(yīng)用程序的文件部署描述信息;
[0011]解析所述文件部署描述信息,獲得第一應(yīng)用程序的輔助部署信息;
[0012]依據(jù)所述解析后的文件部署描述信息獲取到第一應(yīng)用程序的應(yīng)用程序部署文件;
[0013]依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署。
[0014]可選地,所述第一應(yīng)用程序具有應(yīng)用程序標(biāo)識,所述應(yīng)用程序部署引擎獲取第一應(yīng)用程序的文件部署描述信息的步驟包括:
[0015]將第一應(yīng)用程序的應(yīng)用程序標(biāo)識發(fā)送至服務(wù)器;
[0016]接收所述服務(wù)器返回的,所述應(yīng)用程序標(biāo)識對應(yīng)的文件部署描述信息。
[0017]可選地,所述解析所述文件部署描述信息獲取到第一應(yīng)用程序的輔助部署信息的步驟包括:
[0018]獲取第一應(yīng)用程序的本地部署信息;
[0019]計算所述文件部署描述信息與所述本地部署信息之間差異,獲得輔助部署信息。
[0020]可選地,所述本地部署信息包括以下至少一種:
[0021]本地文件列表及目錄部署信息、本地卸載部署信息、本地快捷方式部署信息、本地注冊表部署信息;
[0022]所述文件部署描述信息包括以下至少一種:
[0023]特征文件列表及目錄部署信息、特征卸載部署信息、特征快捷方式部署信息、特征注冊表部署信息;
[0024]所述輔助部署信息包括以下至少一種:
[0025]文件列表及目錄輔助部署信息、卸載輔助部署信息、快捷方式輔助部署信息、注冊表輔助部署信息。
[0026]可選地,所述依據(jù)所述解析后的文件部署描述信息獲取到第一應(yīng)用程序的應(yīng)用程序部署文件的步驟包括:
[0027]從服務(wù)器中獲取所述文件部署描述信息對應(yīng)的應(yīng)用程序部署文件。
[0028]可選地,所述從服務(wù)器中獲取所述文件部署描述信息對應(yīng)的應(yīng)用程序部署文件的步驟包括:
[0029]通過多線程從一個或多個服務(wù)器中所述文件部署描述信息對應(yīng)的應(yīng)用程序部署文件。
[0030]可選地,所述依據(jù)所述解析后的文件部署描述信息獲取到第一應(yīng)用程序的應(yīng)用程序部署文件的步驟還包括:
[0031]對所述應(yīng)用程序部署文件進(jìn)行安全校驗和完整性校驗中的至少一種校驗。
[0032]可選地,所述依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署的步驟包括:
[0033]按照所述文件列表及目錄輔助部署信息獲取第一應(yīng)用程序在本地的指定目錄;
[0034]將所述應(yīng)用程序部署文件部署在指定目錄中。
[0035]可選地,所述依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署的步驟包括:
[0036]按照所述卸載輔助部署信息在本地部署第一應(yīng)用程序的卸載工具。
[0037]可選地,所述依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署的步驟包括:
[0038]按照所述快捷方式輔助部署信息在本地部署第一應(yīng)用程序的快捷方式。
[0039]可選地,所述依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署的步驟包括:
[0040]按照所述注冊表輔助部署信息在本地部署第一應(yīng)用程序的注冊表。
[0041]可選地,所述依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署的步驟還包括:
[0042]按照所述輔助部署信息刪除第一應(yīng)用程序在本地的指定文件和/或配置信息。
[0043]可選地,還包括:
[0044]對本地的已安裝的第二應(yīng)用程序配置類別標(biāo)識。
[0045]可選地,還包括:
[0046]監(jiān)測具有指定類別標(biāo)識的第二應(yīng)用程序的登錄操作、I/O讀寫操作。
[0047]可選地,還包括:
[0048]在檢測到第二應(yīng)用程序的啟動操作時,根據(jù)所述類別標(biāo)識對第二應(yīng)用程序所在的運(yùn)行環(huán)境進(jìn)行優(yōu)化處理。
[0049]可選地,所述第一應(yīng)用程序和所述第二應(yīng)用程序為安裝在移動設(shè)備中的應(yīng)用程序。
[0050]可選地,還包括:
[0051]使用同一登錄信息在所述第一應(yīng)用程序和所述第二應(yīng)用程序進(jìn)行登錄操作。
[0052]可選地,還包括:
[0053]當(dāng)檢測到關(guān)聯(lián)的第一應(yīng)用程序和第二應(yīng)用程序啟動時,建立所述第一應(yīng)用程序與所述第二應(yīng)用程序之間的進(jìn)程間通信。
[0054]根據(jù)本發(fā)明的另一方面,提供了一種安裝應(yīng)用程序的裝置,包括:
[0055]第一獲取模塊,適于應(yīng)用程序部署引擎獲取第一應(yīng)用程序的文件部署描述信息;
[0056]獲得模塊,適于解析所述文件部署描述信息,獲得第一應(yīng)用程序的輔助部署信息;
[0057]第二獲取模塊,適于依據(jù)所述解析后的文件部署描述信息獲取到第一應(yīng)用程序的應(yīng)用程序部署文件;
[0058]部署模塊,適于依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署。
[0059]可選地,所述第一應(yīng)用程序具有應(yīng)用程序標(biāo)識,所述第一獲取模塊還適于:
[0060]將第一應(yīng)用程序的應(yīng)用程序標(biāo)識發(fā)送至服務(wù)器;
[0061]接收所述服務(wù)器返回的,所述應(yīng)用程序標(biāo)識對應(yīng)的文件部署描述信息。
[0062]可選地,所述獲得模塊還適于:
[0063]獲取第一應(yīng)用程序的本地部署信息;
[0064]計算所述文件部署描述信息與所述本地部署信息之間差異,獲得輔助部署信息。
[0065]可選地,所述本地部署信息包括以下至少一種:
[0066]本地文件列表及目錄部署信息、本地卸載部署信息、本地快捷方式部署信息、本地注冊表部署信息;
[0067]所述文件部署描述信息包括以下至少一種:
[0068]特征文件列表及目錄部署信息、特征卸載部署信息、特征快捷方式部署信息、特征注冊表部署信息;
[0069]所述輔助部署信息包括以下至少一種:
[0070]文件列表及目錄輔助部署信息、卸載輔助部署信息、快捷方式輔助部署信息、注冊表輔助部署信息。
[0071]可選地,所述第二獲取模塊還適于:
[0072]從服務(wù)器中獲取所述文件部署描述信息對應(yīng)的應(yīng)用程序部署文件。
[0073]可選地,所述第二獲取模塊還適于:
[0074]通過多線程從一個或多個服務(wù)器中所述文件部署描述信息對應(yīng)的應(yīng)用程序部署文件。
[0075]可選地,所述第二獲取模塊還適于:
[0076]對所述應(yīng)用程序部署文件進(jìn)行安全校驗和完整性校驗中的至少一種校驗。
[0077]可選地,所述部署模塊還適于:
[0078]按照所述文件列表及目錄輔助部署信息獲取第一應(yīng)用程序在本地的指定目錄;
[0079]將所述應(yīng)用程序部署文件部署在指定目錄中。
[0080]可選地,所述部署模塊還適于:
[0081]按照所述卸載輔助部署信息在本地部署第一應(yīng)用程序的卸載工具。
[0082]可選地,所述部署模塊還適于:
[0083]按照所述快捷方式輔助部署信息在本地部署第一應(yīng)用程序的快捷方式。
[0084]可選地,所述部署模塊還適于:
[0085]按照所述注冊表輔助部署信息在本地部署第一應(yīng)用程序的注冊表。
[0086]可選地,所述部署模塊還適于:
[0087]按照所述輔助部署信息刪除第一應(yīng)用程序在本地的指定文件和/或配置信息。
[0088]可選地,還包括:
[0089]配置模塊,適于對本地的已安裝的第二應(yīng)用程序配置類別標(biāo)識。
[0090]可選地,還包括:
[0091]監(jiān)測模塊,適于監(jiān)測具有指定類別標(biāo)識的第二應(yīng)用程序的登錄操作、I/O讀寫操作。
[0092]可選地,還包括:
[0093]優(yōu)化模塊,適于在檢測到第二應(yīng)用程序的啟動操作時,根據(jù)所述類別標(biāo)識對第二應(yīng)用程序所在的運(yùn)行環(huán)境進(jìn)行優(yōu)化處理。
[0094]可選地,所述第一應(yīng)用程序和所述第二應(yīng)用程序為安裝在移動設(shè)備中的應(yīng)用程序。
[0095]可選地,還包括:
[0096]登錄模塊,適于使用同一登錄信息在所述第一應(yīng)用程序和所述第二應(yīng)用程序進(jìn)行登錄操作。
[0097]可選地,還包括:
[0098]通信模塊,適于在檢測到關(guān)聯(lián)的第一應(yīng)用程序和第二應(yīng)用程序啟動時,建立所述第一應(yīng)用程序與所述第二應(yīng)用程序之間的進(jìn)程間通信。
[0099]本發(fā)明實施例解析應(yīng)用程序部署引擎獲取的第一應(yīng)用程序的文件部署描述信息,獲得第一應(yīng)用程序的輔助部署信息,獲取到第一應(yīng)用程序的應(yīng)用程序部署文件,以及,依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署,實現(xiàn)了應(yīng)用程序的安裝、更新、配置調(diào)整、回退等操作,通過輔助部署信息下載應(yīng)用程序部署文件,避免了下載整個安裝包,大大減少了下載耗時和貸款資源占用,進(jìn)而加快了應(yīng)用程序的分發(fā)速度和安裝速度,提高了安裝效率。
[0100]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
【專利附圖】
【附圖說明】
[0101]通過閱讀下文優(yōu)選實施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0102]圖1示出了根據(jù)本發(fā)明一個實施例的一種安裝應(yīng)用程序的方法實施例1的步驟流程圖;
[0103]圖2示出了根據(jù)本發(fā)明一個實施例的一種安裝應(yīng)用程序的方法示例流程圖;
[0104]圖3示出了根據(jù)本發(fā)明一個實施例的一種安裝應(yīng)用程序的方法實施例2的步驟流程圖;
[0105]圖4示出了根據(jù)本發(fā)明一個實施例的一種安裝應(yīng)用程序的裝置實施例1的結(jié)構(gòu)框圖;以及
[0106]圖5示出了根據(jù)本發(fā)明一個實施例的一種安裝應(yīng)用程序的裝置實施例2的結(jié)構(gòu)框圖。
【具體實施方式】
[0107]下面將參照附圖更詳細(xì)地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0108]參照圖1,示出了根據(jù)本發(fā)明一個實施例的一種安裝應(yīng)用程序的方法實施例1的步驟流程圖,具體可以包括如下步驟:
[0109]步驟101,應(yīng)用程序部署引擎獲取第一應(yīng)用程序的文件部署描述信息;
[0110]需要說明的是,文件部署描述信息可以描述第一應(yīng)用程序在某個狀態(tài)下,其在終端(如電子計算機(jī)、手機(jī)、平板電腦等等)中如何部署的信息。
[0111]例如,該狀態(tài)可以為第一應(yīng)用程序為最新版本,或者為第一應(yīng)用程序為在先某個版本(如性能較為穩(wěn)定的版本,俗稱穩(wěn)定版)等等,本發(fā)明實施例對此不加以限制。
[0112]又例如,該狀態(tài)可以為調(diào)整第一應(yīng)用程序的配置,該配置可以為去除插件、增加組件(如文件皮膚)等,也可以為按照用戶習(xí)慣、終端等因素調(diào)整的配置參數(shù)(如安裝路徑、音量大小等)等等,本發(fā)明實施例對此不加以限制。在本發(fā)明的一種可選實施例中,所述第一應(yīng)用程序可以具有應(yīng)用程序標(biāo)識,則在本發(fā)明實施例中,步驟101可以包括如下子步驟:
[0113]子步驟S11,將第一應(yīng)用程序的應(yīng)用程序標(biāo)識發(fā)送至服務(wù)器;
[0114]子步驟S12,接收所述服務(wù)器返回的,所述應(yīng)用程序標(biāo)識對應(yīng)的文件部署描述信息。
[0115]應(yīng)用程序標(biāo)識可以是能夠代表一個唯一確定的應(yīng)用程序的信息,例如,名稱、Hash(哈希值)值等等。
[0116]應(yīng)用本發(fā)明實施例,服務(wù)器可以對應(yīng)用程序進(jìn)行分析,提取該應(yīng)用程序的應(yīng)用程序標(biāo)識以及文件部署描述信息,建立應(yīng)用程序標(biāo)識于文件部署描述信息的關(guān)聯(lián)關(guān)系,存儲在服務(wù)器的數(shù)據(jù)庫中,以供后續(xù)檢測使用。
[0117]在具體實現(xiàn)中,在應(yīng)用程序部署引擎中可以為一個或多個應(yīng)用程序提供安裝的入口,當(dāng)用戶點(diǎn)擊該入口時,應(yīng)用程序部署引擎可以提取該應(yīng)用程序的應(yīng)用程序標(biāo)識,發(fā)送至服務(wù)器。
[0118]當(dāng)然,應(yīng)用程序部署引擎也可以通過其他方式,如當(dāng)應(yīng)用程序自動安裝時,應(yīng)用程序部署引擎在后臺掃描該應(yīng)用程序的應(yīng)用程序標(biāo)識等等,本發(fā)明實施例對此不加以限制。
[0119]服務(wù)器接收應(yīng)用程序部署引擎發(fā)送的應(yīng)用程序標(biāo)識,則可以與預(yù)先采集的應(yīng)用程序標(biāo)識進(jìn)行匹配。
[0120]當(dāng)匹配成功時,則可以提取該應(yīng)用程序標(biāo)識對應(yīng)的文件部署描述信息,返回應(yīng)用程序部署引擎。
[0121]例如,如圖2所示,若用戶請求安裝某個軟件,則本地部署引擎200 (即應(yīng)用程序部署引擎)可以從服務(wù)器請求獲取某軟件文件部署描述201 (即文件部署描述信息),并將軟件文件部署描述206 (即文件部署描述信息)下載到本地。
[0122]步驟102,解析所述文件部署描述信息,獲得第一應(yīng)用程序的輔助部署信息;
[0123]在本發(fā)明實施例中,輔助部署信息可以為描述第一應(yīng)用程序在本地部署的基礎(chǔ)上,如何對第一應(yīng)用程序進(jìn)行部署,以獲得某個狀態(tài)下的部署狀態(tài)。
[0124]在本發(fā)明的一種可選實施例中,步驟102可以包括如下子步驟:
[0125]子步驟S21,獲取第一應(yīng)用程序的本地部署信息;
[0126]子步驟S22,計算所述文件部署描述信息與所述本地部署信息之間差異,獲得輔助部署信息。
[0127]在本發(fā)明實施例中,本地部署信息可以為描述第一應(yīng)用程序在本地如何部署的信息。
[0128]在具體實現(xiàn)中,所述本地部署信息可以包括以下至少一種:
[0129]本地文件列表及目錄部署信息、本地卸載部署信息、本地快捷方式部署信息、本地注冊表部署信息;
[0130]具體而言,本地文件列表及目錄部署信息可以為記錄第一應(yīng)用程序在本地如何部署文件、目錄的信息;
[0131]本地卸載部署信息可以為記錄第一應(yīng)用程序在本地如何部署卸載工具的信息;
[0132]本地快捷方式部署信息可以為記錄第一應(yīng)用程序在本地如何部署快捷方式的信息;
[0133]本地注冊表部署信息可以為記錄第一應(yīng)用程序在本地如何部署注冊表的信息。
[0134]相對應(yīng)地,所述文件部署描述信息可以包括以下至少一種:
[0135]特征文件列表及目錄部署信息、特征卸載部署信息、特征快捷方式部署信息、特征注冊表部署信息;
[0136]具體而言,特征文件列表及目錄部署信息可以為記錄第一應(yīng)用程序在某個狀態(tài)下如何部署文件、目錄的信息;
[0137]特征卸載部署信息可以為記錄第一應(yīng)用程序在某個狀態(tài)下如何部署卸載工具的信息;
[0138]特征快捷方式部署信息可以為記錄第一應(yīng)用程序在某個狀態(tài)下如何部署快捷方式的信息;
[0139]特征注冊表部署信息可以為記錄第一應(yīng)用程序在某個狀態(tài)下如何部署注冊表的信息。
[0140]例如,如2所示,在服務(wù)器中,對于某軟件部署文件描述201 (即文件部署描述信息),可以查找到對應(yīng)的注冊表部署信息202 (即特征注冊表部署信息)、快捷方式部署信息203 (即特征快捷方式部署信息)、卸載部署信息204 (即特征卸載部署信息)、文件列表及目錄部署信息205 (即特征文件列表及目錄部署信息)。
[0141]則在本示例中,所述輔助部署信息可以包括以下至少一種:
[0142]文件列表及目錄輔助部署信息、卸載輔助部署信息、快捷方式輔助部署信息、注冊表輔助部署信息。
[0143]具體而言,若計算本地文件列表及目錄部署信息與特征文件列表及目錄部署信息之間的差異,則可以獲得文件列表及目錄輔助部署信息;
[0144]若計算本地卸載部署信息與特征卸載部署信息之間的差異,則可以獲得卸載輔助部署信息;
[0145]若計算本地快捷方式部署信息與特征快捷方式部署信息之間的差異,則可以獲得快捷方式輔助部署信息;
[0146]若計算本地注冊表部署信息與特征注冊表部署信息之間的差異,則可以獲得注冊表輔助部署信息。
[0147]需要說明的是,差異,可能是文件部署描述信息比本地部署信息多部署了某些數(shù)據(jù)(如文件、配置參數(shù)等),也可能是少部署了某些數(shù)據(jù)(如文件、配置參數(shù)等),還可能是對某些數(shù)據(jù)(如文件、配置參數(shù)等)的部署有差別等等。
[0148]當(dāng)然,上述文件部署描述信息、本地部署信息輔助和部署信息只是作為示例,在實施本發(fā)明實施例時,可以根據(jù)實際情況設(shè)置其他文件部署描述信息與所述本地部署信息,本發(fā)明實施例對此不加以限制。另外,除了上述文件部署描述信息與所述本地部署信息外,本領(lǐng)域技術(shù)人員還可以根據(jù)實際需要采用其它文件部署描述信息與所述本地部署信息,本發(fā)明實施例對此也不加以限制。
[0149]步驟103,依據(jù)所述解析后的文件部署描述信息獲取到第一應(yīng)用程序的應(yīng)用程序部署文件;
[0150]在本發(fā)明實施例中,應(yīng)用程序部署文件可以為第一應(yīng)用程序在本地部署的基礎(chǔ)上進(jìn)行部署,以獲得某個狀態(tài)下的部署狀態(tài)所需的文件。
[0151]例如,若文件部署描述信息比本地部署信息少部署了某些文件,還可能是對某些文件的部署有差別等等,則可以獲取該文件。
[0152]在本發(fā)明的一種可選實施例中,步驟103可以包括如下子步驟:
[0153]子步驟S31,從服務(wù)器中獲取所述文件部署描述信息對應(yīng)的應(yīng)用程序部署文件;
[0154]在本發(fā)明實施例中,應(yīng)用程序部署文件可以部署在服務(wù)器中,應(yīng)用程序部署文件可以從服務(wù)器獲取所需的應(yīng)用程序部署文件。
[0155]在本發(fā)明實施例的一種優(yōu)選示例中,子步驟S31可以包括如下子步驟:
[0156]子步驟S311,通過多線程從一個或多個服務(wù)器中所述文件部署描述信息對應(yīng)的應(yīng)用程序部署文件。
[0157]在具體實現(xiàn)中,服務(wù)器可以為云服務(wù)器或服務(wù)器集群,該云服務(wù)器可以將要各個應(yīng)用程序部署文件分散的存儲在不同服務(wù)器甚至不同地域。
[0158]例如,某個地域中對某個應(yīng)用程序的應(yīng)用程序部署文件下載請求次數(shù)比較多,則可以在該地域中或者該地域附近的服務(wù)器部署該應(yīng)用程序的應(yīng)用程序部署文件。
[0159]因此,本發(fā)明實施例中可以利用多線程技術(shù)同時在不同的服務(wù)器中將所需的應(yīng)用程序部署文件同時下載到本地。
[0160]例如,如圖2所示,可以應(yīng)用云端集群存儲208的方式存儲應(yīng)用程序部署文件,如文件A云存儲、文件B云存儲、文件C云存儲、文件D云存儲、文件N云存儲等等。
[0161 ] 將所需的應(yīng)用程序部署文件同時下載到本地209,如文件A、文件B、文件C、文件D、
文件N等等。
[0162]在本發(fā)明實施例的一種優(yōu)選示例中,步驟103還可以包括如下子步驟:
[0163]子步驟S32,對所述應(yīng)用程序部署文件進(jìn)行安全校驗和完整性校驗中的至少一種校驗。
[0164]在本發(fā)明實施例中,可以對下載到的應(yīng)用程序部署文件進(jìn)行掃描,以驗證其安全性、完整性等,當(dāng)安全性、完整性有異常時,可以發(fā)出警報信息。
[0165]安全校驗,可以包括病毒檢測、木馬檢測、漏洞檢測等等,可以用于驗證應(yīng)用程序部署文件的安全性。
[0166]具體而言,當(dāng)檢測到應(yīng)用程序部署文件中存在病毒時,即可獲得關(guān)于病毒信息的安全檢測數(shù)據(jù),病毒信息具體可以包括病毒數(shù)量、病毒類型、病毒位置、病毒屬性等等。
[0167]當(dāng)檢測到應(yīng)用程序部署文件中存在木馬時,即可獲得關(guān)于木馬信息的安全檢測數(shù)據(jù),木馬信息具體可以包括木馬數(shù)量、木馬位置等等。
[0168]當(dāng)檢測到應(yīng)用程序部署文件中存在漏洞時,即可獲得關(guān)于漏洞信息的安全監(jiān)測數(shù)據(jù),該漏洞具體可以包括漏洞名稱、漏洞數(shù)量、漏洞描述、危險等級等等。
[0169]完整性校驗,可以包括數(shù)字簽名認(rèn)證等等,可以用于驗證應(yīng)用程序部署文件的完整性。
[0170]以下以對稱加密、非對稱加密的方式為例對數(shù)字簽名認(rèn)證進(jìn)行說明。
[0171]對稱加密可以為采用單鑰密碼系統(tǒng)的加密方法,同一個密鑰可以同時用作信息的加密和解密。
[0172]應(yīng)用程序部署引擎和服務(wù)器可以預(yù)先約定對屬性信息進(jìn)行加密和解密的密鑰、加密和解密的算法,如DES (Data Encrypt1n Standard,數(shù)據(jù)加密算法)算法、IDEA (Internat1nal Data Encrypt1n Algorithm,國際數(shù)據(jù)加密算法)算法、AES (Advanced Encrypt1n Standard,高級加密標(biāo)準(zhǔn))算法等等。
[0173]非對稱加密可以為加密和解密使用的是兩個不同密鑰的密碼系統(tǒng)的加密方法。
[0174]對數(shù)據(jù)或文件(例如,應(yīng)用程序部署文件)生成數(shù)字簽名,接收者(例如,應(yīng)用程序部署引擎)可以通過驗證數(shù)字簽名來驗證數(shù)據(jù)或文件是否完整準(zhǔn)確,確定數(shù)據(jù)或文件是由生成數(shù)字簽名方(例如,服務(wù)器)發(fā)送而不是第三方偽造的,且該數(shù)據(jù)或文件未被篡改過。
[0175]一套數(shù)字簽名通??梢园▋煞N互補(bǔ)的算法,其中一種算法可以用于生成數(shù)字簽名,另一種算法可以用于驗證數(shù)字簽名。
[0176]步驟104,依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署。
[0177]在具體實現(xiàn)中,若第一應(yīng)用程序在本地的版本比生成文件部署描述信息的應(yīng)用程序的版本低,則該安裝部署可以實現(xiàn)應(yīng)用程序的更新。
[0178]若第一應(yīng)用程序在本地的版本比生成文件部署描述信息的應(yīng)用程序的版本相同,則該安裝部署可以實現(xiàn)應(yīng)用程序的調(diào)整。
[0179]若第一應(yīng)用程序在本地的版本比生成文件部署描述信息的應(yīng)用程序的版本搞,則該安裝部署可以實現(xiàn)應(yīng)用程序的回調(diào)。
[0180]需要說明的是,第一應(yīng)用程序在本地可以為空,即該安裝部署可以實現(xiàn)新的應(yīng)用程序的安裝。
[0181]在本發(fā)明的一種可選實施例中,步驟104可以包括如下子步驟:
[0182]子步驟S41,按照所述文件列表及目錄輔助部署信息獲取第一應(yīng)用程序在本地的指定目錄;
[0183]在一種情況中,若本地具有該指定的目錄,則可以在本地查找該指定的目錄;
[0184]在另一種情況中,若本地不具有該指定的目錄,則可以在本地創(chuàng)建該指定的目錄
[0185]子步驟S42,將所述應(yīng)用程序部署文件部署在指定目錄中。
[0186]在本發(fā)明實施例中,可以將應(yīng)用程序部署文件部署在指定目錄中,以進(jìn)行第一應(yīng)用程序的安裝部署,模擬和安裝包安裝相同的效果。
[0187]在本發(fā)明的一種可選實施例中,步驟104可以包括如下子步驟:
[0188]子步驟S43,按照所述卸載輔助部署信息在本地部署第一應(yīng)用程序的卸載工具。
[0189]一般而言,應(yīng)用程序可以提供卸載工具,以從硬盤刪除程序文件和文件夾以及從注冊表刪除相關(guān)數(shù)據(jù)的操作,釋放原來占用的磁盤空間并使該應(yīng)用程序不再存在于操作系統(tǒng)中。
[0190]在本發(fā)明實施例中,可以按照卸載輔助部署信息在本地部署第一應(yīng)用程序的卸載工具,以進(jìn)行第一應(yīng)用程序的安裝部署,模擬和安裝包安裝相同的效果。
[0191]在本發(fā)明的一種可選實施例中,步驟104可以包括如下子步驟:
[0192]子步驟S44,按照所述快捷方式輔助部署信息在本地部署第一應(yīng)用程序的快捷方式。
[0193]一般而言,應(yīng)用程序可以提供快捷方式,該快捷方式可以是一種用于快速啟動程序的命令行。
[0194]在本發(fā)明實施例中,可以按照快捷方式輔助部署信息在本地部署第一應(yīng)用程序的快捷方式,如在桌面、快捷欄、開始欄等位置部署快捷方式,以進(jìn)行第一應(yīng)用程序的安裝部署,模擬和安裝包安裝相同的效果。
[0195]在本發(fā)明的一種可選實施例中,步驟104可以包括如下子步驟:
[0196]子步驟S45,按照所述注冊表輔助部署信息在本地部署第一應(yīng)用程序的注冊表。
[0197]注冊表(Registry,又稱登錄檔)是操作系統(tǒng)中的一個重要的數(shù)據(jù)庫,可以用于存儲系統(tǒng)和應(yīng)用程序的設(shè)置信息。
[0198]在本發(fā)明實施例中,可以按照注冊表輔助部署信息在本地部署第一應(yīng)用程序的注冊表,如設(shè)置key (鍵)、value entry (值項)等等,以進(jìn)行第一應(yīng)用程序的安裝部署,模擬和安裝包安裝相同的效果。
[0199]例如,如圖2所示,在客戶端中,可以在本地部署引擎200 (即應(yīng)用程序部署引擎)解析軟件文件部署描述206 (即文件部署描述信息),獲得輔助部署信息,按照該輔助部署信息,一方面,進(jìn)行注冊表、快捷方式、卸載等部署207,另一方面,對本地209中的應(yīng)用程序部署文件進(jìn)行具體文件部署210。
[0200]在本發(fā)明的一種可選實施例中,步驟104還可以包括如下子步驟:
[0201]子步驟S46,按照所述輔助部署信息刪除第一應(yīng)用程序在本地的指定文件和/或配置信息。
[0202]在實際應(yīng)用中,由于軟件在新發(fā)的版本等情況下可能會去掉某些文件,因此在本發(fā)明實施例中,可以按照輔助部署信息刪除掉某些指定的文件、在系統(tǒng)中的配置信息,以進(jìn)行第一應(yīng)用程序的安裝部署,模擬和安裝包安裝相同的效果。
[0203]例如,如圖2所示,本地部署引擎200可以在部署注冊表、快捷方式、卸載、文件等部署后,進(jìn)行部署完后續(xù)處理211,以刪除指定文件、配置信息等等。
[0204]當(dāng)然,上述安裝部署方式只是作為示例,在實施本發(fā)明實施例時,可以根據(jù)實際情況設(shè)置其他安裝部署方式,本發(fā)明實施例對此不加以限制。另外,除了上述安裝部署方式夕卜,本領(lǐng)域技術(shù)人員還可以根據(jù)實際需要采用其它安裝部署方式,本發(fā)明實施例對此也不加以限制。
[0205]本發(fā)明實施例解析應(yīng)用程序部署引擎獲取的第一應(yīng)用程序的文件部署描述信息,獲得第一應(yīng)用程序的輔助部署信息,獲取到第一應(yīng)用程序的應(yīng)用程序部署文件,以及,依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署,實現(xiàn)了應(yīng)用程序的安裝、更新、配置調(diào)整、回退等操作,通過輔助部署信息下載應(yīng)用程序部署文件,避免了下載整個安裝包,大大減少了下載耗時和貸款資源占用,進(jìn)而加快了應(yīng)用程序的分發(fā)速度和安裝速度,提高了安裝效率。
[0206]參照圖3,示出了根據(jù)本發(fā)明一個實施例的一種安裝應(yīng)用程序的方法實施例2的步驟流程圖,具體可以包括如下步驟:
[0207]步驟301,應(yīng)用程序部署引擎獲取第一應(yīng)用程序的文件部署描述信息;
[0208]步驟302,解析所述文件部署描述信息,獲得第一應(yīng)用程序的輔助部署信息;
[0209]步驟303,依據(jù)所述解析后的文件部署描述信息獲取到第一應(yīng)用程序的應(yīng)用程序部署文件;
[0210]步驟304,依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署。
[0211]步驟305,對本地的已安裝的第二應(yīng)用程序配置類別標(biāo)識。
[0212]在本發(fā)明實施例中,可以對本地的操作系統(tǒng)進(jìn)行掃描,獲取已安裝的第二應(yīng)用程序。
[0213]對掃描到的第二應(yīng)用程序進(jìn)行分類,如游戲類應(yīng)用、支付類應(yīng)用等等,并配置對應(yīng)的分類標(biāo)識。該分類標(biāo)識可以是能夠代表一個唯一確定的類別的信息,例如,分類ID(IDentity的縮寫,身份標(biāo)識號碼)等等。
[0214]在本發(fā)明實施例的一種可選示例中,第一應(yīng)用程序和第二應(yīng)用程序可以為安裝在移動設(shè)備中的應(yīng)用程序。
[0215]例如,若該移動設(shè)備為Android(安卓)操作系統(tǒng)的移動設(shè)備,則第一應(yīng)用程序和第二應(yīng)用程序可以為通過APK(AndroidPackage,安卓安裝包)安裝的應(yīng)用程序。
[0216]若該移動設(shè)備為1S操作系統(tǒng)的移動設(shè)備,則第一應(yīng)用程序和第二應(yīng)用程序可以為通過IPA(iPhoneApplicat1n)的安裝的應(yīng)用程序。
[0217]步驟306,監(jiān)測具有指定類別標(biāo)識的第二應(yīng)用程序的登錄操作、I/O讀寫操作。
[0218]本發(fā)明實施例中,可以對指定類別標(biāo)識的第二應(yīng)用程序進(jìn)行監(jiān)控,例如,游戲類應(yīng)用、支付類應(yīng)用等等,當(dāng)檢測到異常行為時,可以發(fā)出警告信息,或者,攔截異常行為,以保證第二應(yīng)用程序安全運(yùn)行。
[0219]步驟307,在檢測到第二應(yīng)用程序的啟動操作時,根據(jù)所述類別標(biāo)識對第二應(yīng)用程序所在的運(yùn)行環(huán)境進(jìn)行優(yōu)化處理。
[0220]本發(fā)明實施例中,可以根據(jù)類別標(biāo)識進(jìn)行優(yōu)化處理,例如,游戲類應(yīng)用在啟動時,可以啟動網(wǎng)絡(luò)優(yōu)化以及系統(tǒng)內(nèi)存的優(yōu)化處理。
[0221]步驟308,使用同一登錄信息在所述第一應(yīng)用程序和所述第二應(yīng)用程序進(jìn)行登錄操作。
[0222]在本發(fā)明實施例中,可以采用同一登錄信息,例如賬號、密碼等,對一應(yīng)用程序和第二應(yīng)用程序進(jìn)行登錄操作。
[0223]步驟309,當(dāng)檢測到關(guān)聯(lián)的第一應(yīng)用程序和第二應(yīng)用程序啟動時,建立所述第一應(yīng)用程序與所述第二應(yīng)用程序之間的進(jìn)程間通信。
[0224]在本發(fā)明實施例中,當(dāng)檢測到關(guān)聯(lián)的第一應(yīng)用程序和第二應(yīng)用程序啟動后可以使用進(jìn)程間通信(IPC,InterProcess Communicat1n),直接進(jìn)行應(yīng)用程序之間的通信。
[0225]例如,第一應(yīng)用程序為購物應(yīng)用,第二應(yīng)用程序為支付應(yīng)用,在購物應(yīng)用中可以調(diào)用支付應(yīng)用進(jìn)行支付操作,通過進(jìn)程間通信傳遞安全的支付數(shù)據(jù)(如金額、卡號等支付相關(guān)信息)。
[0226]對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明實施例并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明實施例,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作并不一定是本發(fā)明實施例所必須的。
[0227]參照圖4,示出了根據(jù)本發(fā)明一個實施例的一種安裝應(yīng)用程序的裝置實施例1的結(jié)構(gòu)框圖,具體可以包括如下模塊:
[0228]第一獲取模塊401,適于應(yīng)用程序部署引擎獲取第一應(yīng)用程序的文件部署描述信息;
[0229]獲得模塊402,適于解析所述文件部署描述信息,獲得第一應(yīng)用程序的輔助部署信息;
[0230]第二獲取模塊403,適于依據(jù)所述解析后的文件部署描述信息獲取到第一應(yīng)用程序的應(yīng)用程序部署文件;
[0231]部署模塊404,適于依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署。
[0232]在本發(fā)明的一種可選實施例中,所述第一應(yīng)用程序可以具有應(yīng)用程序標(biāo)識,所述第一獲取模塊401還可以適于:
[0233]將第一應(yīng)用程序的應(yīng)用程序標(biāo)識發(fā)送至服務(wù)器;
[0234]接收所述服務(wù)器返回的,所述應(yīng)用程序標(biāo)識對應(yīng)的文件部署描述信息。
[0235]在本發(fā)明的一種可選實施例中,所述獲得模塊402還可以適于:
[0236]獲取第一應(yīng)用程序的本地部署信息;
[0237]計算所述文件部署描述信息與所述本地部署信息之間差異,獲得輔助部署信息。
[0238]在具體實現(xiàn)中,所述本地部署信息可以包括以下至少一種:
[0239]本地文件列表及目錄部署信息、本地卸載部署信息、本地快捷方式部署信息、本地注冊表部署信息;
[0240]所述文件部署描述信息可以包括以下至少一種:
[0241]特征文件列表及目錄部署信息、特征卸載部署信息、特征快捷方式部署信息、特征注冊表部署信息;
[0242]所述輔助部署信息可以包括以下至少一種:
[0243]文件列表及目錄輔助部署信息、卸載輔助部署信息、快捷方式輔助部署信息、注冊表輔助部署信息。
[0244]在本發(fā)明的一種可選實施例中,所述第二獲取模塊403還可以適于:
[0245]從服務(wù)器中獲取所述文件部署描述信息對應(yīng)的應(yīng)用程序部署文件。
[0246]在本發(fā)明的一種可選實施例中,所述第二獲取模塊403還可以適于:
[0247]通過多線程從一個或多個服務(wù)器中所述文件部署描述信息對應(yīng)的應(yīng)用程序部署文件。
[0248]在本發(fā)明的一種可選實施例中,所述第二獲取模塊403還可以適于:
[0249]對所述應(yīng)用程序部署文件進(jìn)行安全校驗和完整性校驗中的至少一種校驗。
[0250]在本發(fā)明實施例的一種可選示例中,所述部署模塊404還可以適于:
[0251 ]按照所述文件列表及目錄輔助部署信息獲取第一應(yīng)用程序在本地的指定目錄;
[0252]將所述應(yīng)用程序部署文件部署在指定目錄中。
[0253]在本發(fā)明實施例的一種可選示例中,所述部署模塊404還可以適于:
[0254]按照所述卸載輔助部署信息在本地部署第一應(yīng)用程序的卸載工具。
[0255]在本發(fā)明實施例的一種可選示例中,所述部署模塊404還可以適于:
[0256]按照所述快捷方式輔助部署信息在本地部署第一應(yīng)用程序的快捷方式。
[0257]在本發(fā)明實施例的一種可選示例中,所述部署模塊404還可以適于:
[0258]按照所述注冊表輔助部署信息在本地部署第一應(yīng)用程序的注冊表。
[0259]在本發(fā)明實施例的一種可選示例中,所述部署模塊404還可以適于:
[0260]按照所述輔助部署信息刪除第一應(yīng)用程序在本地的指定文件和/或配置信息。
[0261]參照圖5,示出了根據(jù)本發(fā)明一個實施例的一種安裝應(yīng)用程序的裝置實施例2的結(jié)構(gòu)框圖,具體可以包括如下模塊:
[0262]第一獲取模塊501,適于應(yīng)用程序部署引擎獲取第一應(yīng)用程序的文件部署描述信息;
[0263]獲得模塊502,適于解析所述文件部署描述信息,獲得第一應(yīng)用程序的輔助部署信息;
[0264]第二獲取模塊503,適于依據(jù)所述解析后的文件部署描述信息獲取到第一應(yīng)用程序的應(yīng)用程序部署文件;
[0265]部署模塊504,適于依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署。
[0266]配置模塊505,適于對本地的已安裝的第二應(yīng)用程序配置類別標(biāo)識。
[0267]監(jiān)測模塊506,適于監(jiān)測具有指定類別標(biāo)識的第二應(yīng)用程序的登錄操作、I/O讀寫操作。
[0268]優(yōu)化模塊507,適于在檢測到第二應(yīng)用程序的啟動操作時,根據(jù)所述類別標(biāo)識對第二應(yīng)用程序所在的運(yùn)行環(huán)境進(jìn)行優(yōu)化處理。
[0269]登錄模塊508,適于使用同一登錄信息在所述第一應(yīng)用程序和所述第二應(yīng)用程序進(jìn)行登錄操作。
[0270]通信模塊509,適于在檢測到關(guān)聯(lián)的第一應(yīng)用程序和第二應(yīng)用程序啟動時,建立所述第一應(yīng)用程序與所述第二應(yīng)用程序之間的進(jìn)程間通信。
[0271]在本發(fā)明實施例的一種可選示例中,所述第一應(yīng)用程序和所述第二應(yīng)用程序為安裝在移動設(shè)備中的應(yīng)用程序。
[0272]對于裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
[0273]在此提供的算法和顯示不與任何特定計算機(jī)、虛擬系統(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ā)明的最佳實施方式。
[0274]在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細(xì)節(jié)的情況下實踐。在一些實例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
[0275]類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循【具體實施方式】的權(quán)利要求書由此明確地并入該【具體實施方式】,其中每個權(quán)利要求本身都作為本發(fā)明的單獨(dú)實施例。
[0276]本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個設(shè)備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
[0277]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實施例的任意之一都可以以任意的組合方式來使用。
[0278]本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運(yùn)行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的安裝應(yīng)用程序的設(shè)備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機(jī)程序和計算機(jī)程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機(jī)可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0279]應(yīng)該注意的是上述實施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機(jī)來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
[0280]本發(fā)明實施例公開了 Al、一種安裝應(yīng)用程序的方法,包括:
[0281]應(yīng)用程序部署引擎獲取第一應(yīng)用程序的文件部署描述信息;
[0282]解析所述文件部署描述信息,獲得第一應(yīng)用程序的輔助部署信息;
[0283]依據(jù)所述解析后的文件部署描述信息獲取到第一應(yīng)用程序的應(yīng)用程序部署文件;
[0284]依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署。
[0285]A2、如Al所述的方法,所述第一應(yīng)用程序具有應(yīng)用程序標(biāo)識,所述應(yīng)用程序部署引擎獲取第一應(yīng)用程序的文件部署描述信息的步驟包括:
[0286]將第一應(yīng)用程序的應(yīng)用程序標(biāo)識發(fā)送至服務(wù)器;
[0287]接收所述服務(wù)器返回的,所述應(yīng)用程序標(biāo)識對應(yīng)的文件部署描述信息。
[0288]A3、如Al或A2所述的方法,所述解析所述文件部署描述信息獲取到第一應(yīng)用程序的輔助部署信息的步驟包括:
[0289]獲取第一應(yīng)用程序的本地部署信息;
[0290]計算所述文件部署描述信息與所述本地部署信息之間差異,獲得輔助部署信息。
[0291]A4、如A3所述的方法,所述本地部署信息包括以下至少一種:
[0292]本地文件列表及目錄部署信息、本地卸載部署信息、本地快捷方式部署信息、本地注冊表部署信息;
[0293]所述文件部署描述信息包括以下至少一種:
[0294]特征文件列表及目錄部署信息、特征卸載部署信息、特征快捷方式部署信息、特征注冊表部署信息;
[0295]所述輔助部署信息包括以下至少一種:
[0296]文件列表及目錄輔助部署信息、卸載輔助部署信息、快捷方式輔助部署信息、注冊表輔助部署信息。
[0297]A5、如Al或A2或A4所述的方法,所述依據(jù)所述解析后的文件部署描述信息獲取到第一應(yīng)用程序的應(yīng)用程序部署文件的步驟包括:
[0298]從服務(wù)器中獲取所述文件部署描述信息對應(yīng)的應(yīng)用程序部署文件。
[0299]A6、如A5所述的方法,所述從服務(wù)器中獲取所述文件部署描述信息對應(yīng)的應(yīng)用程序部署文件的步驟包括:
[0300]通過多線程從一個或多個服務(wù)器中所述文件部署描述信息對應(yīng)的應(yīng)用程序部署文件。
[0301]A7、如A5所述的方法,所述依據(jù)所述解析后的文件部署描述信息獲取到第一應(yīng)用程序的應(yīng)用程序部署文件的步驟還包括:
[0302]對所述應(yīng)用程序部署文件進(jìn)行安全校驗和完整性校驗中的至少一種校驗。
[0303]AS、如A4所述的方法,所述依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署的步驟包括:
[0304]按照所述文件列表及目錄輔助部署信息獲取第一應(yīng)用程序在本地的指定目錄;
[0305]將所述應(yīng)用程序部署文件部署在指定目錄中。
[0306]A9、如A4所述的方法,所述依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署的步驟包括:
[0307]按照所述卸載輔助部署信息在本地部署第一應(yīng)用程序的卸載工具。
[0308]A10、如A4所述的方法,所述依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署的步驟包括:
[0309]按照所述快捷方式輔助部署信息在本地部署第一應(yīng)用程序的快捷方式。
[0310]All、如A4所述的方法,所述依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署的步驟包括:
[0311]按照所述注冊表輔助部署信息在本地部署第一應(yīng)用程序的注冊表。
[0312]A12、如Al或A8或A9或AlO或All所述的方法,所述依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署的步驟還包括:
[0313]按照所述輔助部署信息刪除第一應(yīng)用程序在本地的指定文件和/或配置信息。
[0314]A13、如Al所述的方法,還包括:
[0315]對本地的已安裝的第二應(yīng)用程序配置類別標(biāo)識。
[0316]A14、如A13所述的方法,還包括:
[0317]監(jiān)測具有指定類別標(biāo)識的第二應(yīng)用程序的登錄操作、I/O讀寫操作。
[0318]A15、如A13所述的方法,還包括:
[0319]在檢測到第二應(yīng)用程序的啟動操作時,根據(jù)所述類別標(biāo)識對第二應(yīng)用程序所在的運(yùn)行環(huán)境進(jìn)行優(yōu)化處理。
[0320]A16、如A13所述的方法,所述第一應(yīng)用程序和所述第二應(yīng)用程序為安裝在移動設(shè)備中的應(yīng)用程序。
[0321]A17、如A13所述的方法,還包括:
[0322]使用同一登錄信息在所述第一應(yīng)用程序和所述第二應(yīng)用程序進(jìn)行登錄操作。
[0323]A18、如A13所述的方法,還包括:
[0324]當(dāng)檢測到關(guān)聯(lián)的第一應(yīng)用程序和第二應(yīng)用程序啟動時,建立所述第一應(yīng)用程序與所述第二應(yīng)用程序之間的進(jìn)程間通信。
[0325]本發(fā)明實施例還公開了 B19、一種安裝應(yīng)用程序的裝置,包括:
[0326]第一獲取模塊,適于應(yīng)用程序部署引擎獲取第一應(yīng)用程序的文件部署描述信息;
[0327]獲得模塊,適于解析所述文件部署描述信息,獲得第一應(yīng)用程序的輔助部署信息;
[0328]第二獲取模塊,適于依據(jù)所述解析后的文件部署描述信息獲取到第一應(yīng)用程序的應(yīng)用程序部署文件;
[0329]部署模塊,適于依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署。
[0330]B20、如B19所述的裝置,所述第一應(yīng)用程序具有應(yīng)用程序標(biāo)識,所述第一獲取模塊還適于:
[0331]將第一應(yīng)用程序的應(yīng)用程序標(biāo)識發(fā)送至服務(wù)器;
[0332]接收所述服務(wù)器返回的,所述應(yīng)用程序標(biāo)識對應(yīng)的文件部署描述信息。
[0333]B21、如B19或B20所述的裝置,所述獲得模塊還適于:
[0334]獲取第一應(yīng)用程序的本地部署信息;
[0335]計算所述文件部署描述信息與所述本地部署信息之間差異,獲得輔助部署信息。
[0336]B22、如B21所述的方法,所述本地部署信息包括以下至少一種:
[0337]本地文件列表及目錄部署信息、本地卸載部署信息、本地快捷方式部署信息、本地注冊表部署信息;
[0338]所述文件部署描述信息包括以下至少一種:
[0339]特征文件列表及目錄部署信息、特征卸載部署信息、特征快捷方式部署信息、特征注冊表部署信息;
[0340]所述輔助部署信息包括以下至少一種:
[0341]文件列表及目錄輔助部署信息、卸載輔助部署信息、快捷方式輔助部署信息、注冊表輔助部署信息。
[0342]B23、如B19或B20或B22所述的裝置,所述第二獲取模塊還適于:
[0343]從服務(wù)器中獲取所述文件部署描述信息對應(yīng)的應(yīng)用程序部署文件。
[0344]B24、如B23所述的裝置,所述第二獲取模塊還適于:
[0345]通過多線程從一個或多個服務(wù)器中所述文件部署描述信息對應(yīng)的應(yīng)用程序部署文件。
[0346]B25、如B23所述的裝置,所述第二獲取模塊還適于:
[0347]對所述應(yīng)用程序部署文件進(jìn)行安全校驗和完整性校驗中的至少一種校驗。
[0348]B26、如B22所述的裝置,所述部署模塊還適于:
[0349]按照所述文件列表及目錄輔助部署信息獲取第一應(yīng)用程序在本地的指定目錄;
[0350]將所述應(yīng)用程序部署文件部署在指定目錄中。
[0351]B27、如B22所述的裝置,所述部署模塊還適于:
[0352]按照所述卸載輔助部署信息在本地部署第一應(yīng)用程序的卸載工具。
[0353]B28、如B22所述的裝置,所述部署模塊還適于:
[0354]按照所述快捷方式輔助部署信息在本地部署第一應(yīng)用程序的快捷方式。
[0355]B29、如B22所述的裝置,所述部署模塊還適于:
[0356]按照所述注冊表輔助部署信息在本地部署第一應(yīng)用程序的注冊表。
[0357]B30、如B19或B26或B27或B28或B29所述的裝置,所述部署模塊還適于:
[0358]按照所述輔助部署信息刪除第一應(yīng)用程序在本地的指定文件和/或配置信息。
[0359]B31、如B19所述的裝置,還包括:
[0360]配置模塊,適于對本地的已安裝的第二應(yīng)用程序配置類別標(biāo)識。
[0361]B32、如B31所述的裝置,還包括:
[0362]監(jiān)測模塊,適于監(jiān)測具有指定類別標(biāo)識的第二應(yīng)用程序的登錄操作、I/O讀寫操作。
[0363]B33、如B31所述的裝置,還包括:
[0364]優(yōu)化模塊,適于在檢測到第二應(yīng)用程序的啟動操作時,根據(jù)所述類別標(biāo)識對第二應(yīng)用程序所在的運(yùn)行環(huán)境進(jìn)行優(yōu)化處理。
[0365]B34、如B31所述的裝置,所述第一應(yīng)用程序和所述第二應(yīng)用程序為安裝在移動設(shè)備中的應(yīng)用程序。
[0366]B35、如B31所述的裝置,還包括:
[0367]登錄模塊,適于使用同一登錄信息在所述第一應(yīng)用程序和所述第二應(yīng)用程序進(jìn)行登錄操作。
[0368]B36、如B31所述的裝置,還包括:
[0369]通信模塊,適于在檢測到關(guān)聯(lián)的第一應(yīng)用程序和第二應(yīng)用程序啟動時,建立所述第一應(yīng)用程序與所述第二應(yīng)用程序之間的進(jìn)程間通信。
【權(quán)利要求】
1.一種安裝應(yīng)用程序的方法,包括: 應(yīng)用程序部署引擎獲取第一應(yīng)用程序的文件部署描述信息; 解析所述文件部署描述信息,獲得第一應(yīng)用程序的輔助部署信息; 依據(jù)所述解析后的文件部署描述信息獲取到第一應(yīng)用程序的應(yīng)用程序部署文件;依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署。
2.如權(quán)利要求1所述的方法,其特征在于,所述第一應(yīng)用程序具有應(yīng)用程序標(biāo)識,所述應(yīng)用程序部署引擎獲取第一應(yīng)用程序的文件部署描述信息的步驟包括: 將第一應(yīng)用程序的應(yīng)用程序標(biāo)識發(fā)送至服務(wù)器; 接收所述服務(wù)器返回的,所述應(yīng)用程序標(biāo)識對應(yīng)的文件部署描述信息。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述解析所述文件部署描述信息獲取到第一應(yīng)用程序的輔助部署信息的步驟包括: 獲取第一應(yīng)用程序的本地部署信息; 計算所述文件部署描述信息與所述本地部署信息之間差異,獲得輔助部署信息。
4.如權(quán)利要求3所述的方法,其特征在于, 所述本地部署信息包括以下至少一種: 本地文件列表及目錄部署信息、本地卸載部署信息、本地快捷方式部署信息、本地注冊表部署信息; 所述文件部署描述信息包括以下至少一種: 特征文件列表及目錄部署信息、特征卸載部署信息、特征快捷方式部署信息、特征注冊表部署信息; 所述輔助部署信息包括以下至少一種: 文件列表及目錄輔助部署信息、卸載輔助部署信息、快捷方式輔助部署信息、注冊表輔助部署信息。
5.如權(quán)利要求1或2或4所述的方法,其特征在于,所述依據(jù)所述解析后的文件部署描述信息獲取到第一應(yīng)用程序的應(yīng)用程序部署文件的步驟包括: 從服務(wù)器中獲取所述文件部署描述信息對應(yīng)的應(yīng)用程序部署文件。
6.如權(quán)利要求5所述的方法,其特征在于,所述從服務(wù)器中獲取所述文件部署描述信息對應(yīng)的應(yīng)用程序部署文件的步驟包括: 通過多線程從一個或多個服務(wù)器中所述文件部署描述信息對應(yīng)的應(yīng)用程序部署文件。
7.如權(quán)利要求5所述的方法,其特征在于,所述依據(jù)所述解析后的文件部署描述信息獲取到第一應(yīng)用程序的應(yīng)用程序部署文件的步驟還包括: 對所述應(yīng)用程序部署文件進(jìn)行安全校驗和完整性校驗中的至少一種校驗。
8.如權(quán)利要求4所述的方法,其特征在于,所述依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署的步驟包括: 按照所述文件列表及目錄輔助部署信息獲取第一應(yīng)用程序在本地的指定目錄; 將所述應(yīng)用程序部署文件部署在指定目錄中。
9.如權(quán)利要求4所述的方法,其特征在于,所述依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署的步驟包括: 按照所述卸載輔助部署信息在本地部署第一應(yīng)用程序的卸載工具。
10.一種安裝應(yīng)用程序的裝置,包括: 第一獲取模塊,適于應(yīng)用程序部署引擎獲取第一應(yīng)用程序的文件部署描述信息; 獲得模塊,適于解析所述文件部署描述信息,獲得第一應(yīng)用程序的輔助部署信息;第二獲取模塊,適于依據(jù)所述解析后的文件部署描述信息獲取到第一應(yīng)用程序的應(yīng)用程序部署文件; 部署模塊,適于依據(jù)第一應(yīng)用程序的應(yīng)用程序部署文件和輔助部署信息在應(yīng)用程序部署引擎?zhèn)冗M(jìn)行第一應(yīng)用程序的安裝部署。
【文檔編號】G06F9/445GK104484198SQ201410734340
【公開日】2015年4月1日 申請日期:2014年12月4日 優(yōu)先權(quán)日:2014年12月4日
【發(fā)明者】葛山, 張菊元 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司