本申請(qǐng)涉及電數(shù)字?jǐn)?shù)據(jù)處理領(lǐng)域,尤其涉及服務(wù)器和終端之間的應(yīng)用分發(fā)安裝方法及裝置。
背景技術(shù):
隨著移動(dòng)設(shè)備的飛速發(fā)展,智能手機(jī)、平板電腦等移動(dòng)設(shè)備在企業(yè)中的使用也越來越廣泛。如何對(duì)移動(dòng)設(shè)備進(jìn)行集中管理和控制,是目前企業(yè)管理諸多問題中比較關(guān)鍵的一個(gè)問題。EMM(企業(yè)移動(dòng)管理)系統(tǒng)的產(chǎn)生,很好地解決了企業(yè)的這個(gè)難題,其可完成對(duì)企業(yè)應(yīng)用的部署、管控。
目前移動(dòng)終端安裝應(yīng)用的方式一般是用戶自己通過在線或者線下自行下載安裝包,然后安裝。這種情況對(duì)于一個(gè)用戶安裝一個(gè)或者幾個(gè)應(yīng)用可以這么做,但是如果幾百臺(tái)、上千臺(tái)或者更多的終端設(shè)備安裝多個(gè)指定應(yīng)用時(shí),前面提到的方法不僅費(fèi)時(shí)、費(fèi)力,而且容易出錯(cuò)。
EMM系統(tǒng)很大程度上解決了EMM客戶端應(yīng)用程序的分發(fā)問題,但是對(duì)于EMM客戶端不同的操作系統(tǒng)和操作系統(tǒng)版本,特別是EMM客戶端存在雙系統(tǒng)或者多系統(tǒng)的情況,應(yīng)用的統(tǒng)一分發(fā)會(huì)面臨不小的麻煩。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有技術(shù)中存在的不足,本發(fā)明要解決的技術(shù)問題是提供一種服務(wù)器和終端之間的應(yīng)用分發(fā)安裝方法及裝置,其在終端具有雙系統(tǒng)或者多系統(tǒng)的情況下,只需要把使用的終端設(shè)備注冊(cè)到EMM系統(tǒng)中,所有的應(yīng)用分發(fā)工作均可自動(dòng)完成,解決了多系統(tǒng)、多版本應(yīng)用自動(dòng)批量的問題,提高了應(yīng)用的分發(fā)效率,同時(shí)節(jié)約了人力和物力。
為解決上述技術(shù)問題,本發(fā)明的服務(wù)器和終端之間的應(yīng)用分發(fā)安裝方法,包括:
所述終端接收來自所述服務(wù)器的分發(fā)應(yīng)用信息,其中所述分發(fā)應(yīng)用信息包括至少一個(gè)應(yīng)用安裝包的唯一標(biāo)識(shí)信息、安裝包版本、安裝包適用的操作系統(tǒng)及其版本和/或安裝包下載地址;
分析所述分發(fā)應(yīng)用信息,確定是否需要下載安裝包;
響應(yīng)于需要下載安裝包,分別下載對(duì)應(yīng)的安裝包;
分別調(diào)用所下載安裝包對(duì)應(yīng)的操作系統(tǒng)的API(應(yīng)用編程接口)觸發(fā)安裝流程。
作為本發(fā)明所述方法的改進(jìn),所述分析所述分發(fā)應(yīng)用信息,確定是否需要下載安裝包的步驟包括:確定所述終端是否安裝有所述分發(fā)應(yīng)用信息包含的一個(gè)或多個(gè)操作系統(tǒng);響應(yīng)于所述終端安裝有所述分發(fā)應(yīng)用信息包含的一個(gè)或多個(gè)操作系統(tǒng),確定所述終端安裝的相應(yīng)操作系統(tǒng)的版本與所述分發(fā)應(yīng)用信息包含的操作系統(tǒng)版本是否匹配;響應(yīng)于所述終端安裝的相應(yīng)操作系統(tǒng)的版本與所述分發(fā)應(yīng)用信息包含的操作系統(tǒng)版本匹配,根據(jù)所述唯一標(biāo)識(shí)信息和安裝包版本確定對(duì)應(yīng)的安裝包是否已經(jīng)安裝在所述終端上;響應(yīng)于對(duì)應(yīng)的安裝包尚未安裝在所述終端上,確定需要下載安裝包。
作為本發(fā)明所述方法的另一種改進(jìn),所述方法還包括:所述終端接收來自所述服務(wù)器的公鑰證書;使用所述公鑰證書對(duì)接收到的分發(fā)應(yīng)用信息進(jìn)行驗(yàn)簽。
作為本發(fā)明所述方法的又一種改進(jìn),所述方法還包括:在所下載安裝包安裝完成之后將安裝結(jié)果反饋給所述服務(wù)器。
作為本發(fā)明所述方法的再一種改進(jìn),所述分發(fā)應(yīng)用信息還包括是否允許卸載的標(biāo)志。
作為本發(fā)明所述方法的進(jìn)一步改進(jìn),所述方法還包括:響應(yīng)于所述是否允許卸載的標(biāo)志的值,分別調(diào)用對(duì)應(yīng)的操作系統(tǒng)的API設(shè)置所述標(biāo)志。
為解決上述技術(shù)問題,本發(fā)明的服務(wù)器和終端之間的應(yīng)用分發(fā)安裝裝置,包括:
接收模塊,用于使所述終端接收來自所述服務(wù)器的分發(fā)應(yīng)用信息,其中所述分發(fā)應(yīng)用信息包括至少一個(gè)應(yīng)用安裝包的唯一標(biāo)識(shí)信息、安裝包版本、安裝包適用的操作系統(tǒng)及其版本和/或安裝包下載地址;
分析模塊,用于分析所述分發(fā)應(yīng)用信息,確定是否需要下載安裝包;
下載模塊,用于響應(yīng)于需要下載安裝包,分別下載對(duì)應(yīng)的安裝包;
安裝模塊,用于分別調(diào)用所下載安裝包對(duì)應(yīng)的操作系統(tǒng)的API觸發(fā)安裝流程。
為解決上述技術(shù)問題,本發(fā)明的有形計(jì)算機(jī)可讀介質(zhì),包括用于執(zhí)行的計(jì)算機(jī)程序代碼,所述計(jì)算機(jī)程序代碼包括用于使所述終端接收來自所述服務(wù)器的分發(fā)應(yīng)用信息的可執(zhí)行代碼,其中所述分發(fā)應(yīng)用信息包括至少一個(gè)應(yīng)用安裝包的唯一標(biāo)識(shí)信息、安裝包版本、安裝包適用的操作系統(tǒng)及其版本和/或安裝包下載地址;用于分析所述分發(fā)應(yīng)用信息,確定是否需要下載安裝包的可執(zhí)行代碼;用于響應(yīng)于需要下載安裝包,分別下載對(duì)應(yīng)的安裝包的可執(zhí)行代碼;用于分別調(diào)用所下載安裝包對(duì)應(yīng)的操作系統(tǒng)的API觸發(fā)安裝流程的可執(zhí)行代碼。
為解決上述技術(shù)問題,本發(fā)明提供一種裝置,包括至少一個(gè)處理器;及至少一個(gè)存儲(chǔ)器,含有計(jì)算機(jī)程序代碼,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被配置為利用所述至少一個(gè)處理器使得所述裝置執(zhí)行本發(fā)明的服務(wù)器和終端之間的應(yīng)用分發(fā)安裝方法至少部分步驟。
按照本發(fā)明,對(duì)于雙系統(tǒng)或者多系統(tǒng)的移動(dòng)終端,可以自適應(yīng)安裝應(yīng)用,具有很大的自適應(yīng)性和操作簡(jiǎn)便性。不需要根據(jù)操作系統(tǒng)單獨(dú)配置和分發(fā)應(yīng)用。整個(gè)分發(fā)安裝的過程,僅服務(wù)器管理員一個(gè)人需要操作,其他步驟都是自動(dòng)化完成,不需要移動(dòng)終端的用戶干預(yù)和操作,給用戶提供了極大的方便。
結(jié)合附圖閱讀本發(fā)明實(shí)施方式的詳細(xì)描述后,本發(fā)明的其它特點(diǎn)和優(yōu)點(diǎn)將變得更加清楚。
附圖說明
圖1為根據(jù)本發(fā)明方法的一實(shí)施例的流程圖。
圖2為根據(jù)本發(fā)明方法的另一實(shí)施例的流程圖。
圖3為根據(jù)本發(fā)明系統(tǒng)的一實(shí)施例的結(jié)構(gòu)示意圖。
圖4為根據(jù)本發(fā)明系統(tǒng)的另一實(shí)施例的結(jié)構(gòu)示意圖。
為清晰起見,這些附圖均為示意性及簡(jiǎn)化的圖,它們只給出了對(duì)于理解本發(fā)明所必要的細(xì)節(jié),而省略其他細(xì)節(jié)。
具體實(shí)施方式
下面參照附圖對(duì)本發(fā)明的實(shí)施方式和實(shí)施例進(jìn)行詳細(xì)說明。
通過下面給出的詳細(xì)描述,本發(fā)明的適用范圍將顯而易見。然而,應(yīng)當(dāng)理解,在詳細(xì)描述和具體例子表明本發(fā)明優(yōu)選實(shí)施例的同時(shí),它們僅為說明目的給出。
在此以EMM服務(wù)器和終端的EMM客戶端為例進(jìn)行說明。本發(fā)明也可應(yīng)用于其它服務(wù)器和終端。為了實(shí)施本發(fā)明,EMM客戶端與EMM服務(wù)器之間的網(wǎng)絡(luò)是聯(lián)通的,EMM客戶端需要注冊(cè)到EMM服務(wù)器,完成EMM服務(wù)器對(duì)EMM客戶端的設(shè)備信息和用戶信息的認(rèn)證,以及EMM客戶端對(duì)EMM服務(wù)器的認(rèn)證。這是EMM領(lǐng)域的常規(guī)操作,在此不再贅述。
管理員通過管理平臺(tái)上傳待分發(fā)的應(yīng)用安裝包到EMM服務(wù)器。上傳過程中需要解析或者生成對(duì)應(yīng)安裝包的信息,包括適用的OS(操作系統(tǒng))、OS版本、唯一標(biāo)識(shí)信息appid、version等。適用的OS是指應(yīng)用安裝包安裝在哪個(gè)操作系統(tǒng)。version是指應(yīng)用安裝包的版本。OS版本是指安裝該version的應(yīng)用對(duì)于操作系統(tǒng)的版本要求。Appid是標(biāo)示應(yīng)用安裝包的一串字符,比如Android系統(tǒng)中的應(yīng)用安裝包的package名稱。
之后,管理員選擇下發(fā)應(yīng)用的組。這里的組可以被看作一個(gè)集合,這個(gè)集合可以是一個(gè)部門,比如研發(fā)部等,這個(gè)組被選擇后,應(yīng)用安裝包會(huì)分發(fā)到該組的所有終端設(shè)備。
接著,EMM服務(wù)器向所選組的終端設(shè)備分發(fā)應(yīng)用信息及證書。分發(fā)方式可以通過是EMM服務(wù)器推送的方式,或者EMM客戶端主動(dòng)請(qǐng)求的方式。應(yīng)用信息可采取應(yīng)用列表的形式,例如如示例性的表1所示。應(yīng)用列表內(nèi)容可包括:1)應(yīng)用總數(shù):此次分發(fā)的應(yīng)用安裝包總數(shù),可以選擇是否包括對(duì)于不同系統(tǒng)的應(yīng)用總數(shù);如OS1,2個(gè)應(yīng)用;OS2,5個(gè)應(yīng)用;2)應(yīng)用安裝包的信息:適用的OS、appid、version、OS版本、是否允許用戶卸載等;其中是否允許用戶卸載,一般用0表示不允許用戶卸載,1表示允許用戶卸載;3)下載應(yīng)用的地址:該地址可以提前約定,也可以與分發(fā)應(yīng)用列表一起發(fā)送到服務(wù)器。
為應(yīng)用列表傳輸?shù)陌踩院屯暾缘仍颍蛇M(jìn)行數(shù)字簽名。數(shù)字簽名使用EMM服務(wù)器的私鑰。包含公鑰的服務(wù)器證書需要發(fā)送到移動(dòng)終端。該證書不一定與分發(fā)應(yīng)用列表一起發(fā)送。
表1
上面的表僅作為示例,表頭只是為了表述清楚,實(shí)際上只要服務(wù)器與客戶端協(xié)商好協(xié)議順序和字段,可以沒有表頭。
圖1示出了根據(jù)本發(fā)明的服務(wù)器和終端之間的應(yīng)用分發(fā)安裝方法的一實(shí)施例的流程圖。在此以EMM服務(wù)器和具有EMM客戶端的終端為例。
現(xiàn)結(jié)合圖1所示流程圖對(duì)服務(wù)器和終端之間的應(yīng)用分發(fā)安裝方法的各步驟進(jìn)行具體說明。
在步驟S102中,EMM客戶端接收來自EMM服務(wù)器的分發(fā)應(yīng)用信息和EMM服務(wù)器的公鑰證書,其中分發(fā)應(yīng)用信息已用EMM服務(wù)器的私鑰進(jìn)行數(shù)字簽名,及分發(fā)應(yīng)用信息包括至少一個(gè)應(yīng)用安裝包的唯一標(biāo)識(shí)信息、安裝包版本、安裝包適用的操作系統(tǒng)及其版本和/或安裝包下載地址。以上面的表1為例,分發(fā)應(yīng)用信息采用應(yīng)用列表的形式,包括三個(gè)安裝包的appid、version、適用的OS、OS版本、下載地址。分發(fā)應(yīng)用信息和公鑰證書可同步接收,也可分步接收。
在步驟S104中,使用接收到的公鑰證書對(duì)接收到的應(yīng)用列表進(jìn)行驗(yàn)簽。如果驗(yàn)簽通過,則處理進(jìn)行到步驟S106;否則,處理進(jìn)行到步驟150,處理結(jié)束。
在步驟S106中,對(duì)于合法的應(yīng)用列表進(jìn)行分析,判斷是否需要下載對(duì)應(yīng)的安裝包。如果判斷結(jié)果表明需要下載對(duì)應(yīng)的安裝包,則處理進(jìn)行到步驟S108;否則,處理進(jìn)行到步驟S150,處理結(jié)束。
在步驟S108中,根據(jù)步驟S106分析的結(jié)果,對(duì)于需要安裝的應(yīng)用分別下載安裝包,下載地址根據(jù)應(yīng)用列表中的url字段。例如,如果在步驟S106中確定需要下載適用OS1的安裝包c(diǎn)om.test.app1和適用OS2的安裝包c(diǎn)om.test.app6,則分別從下載地址url1和url3進(jìn)行下載。
在步驟S110中,對(duì)于不同OS的應(yīng)用安裝包,分別調(diào)用不同OS的API觸發(fā)安裝流程。比如,appid為com.test.app1的安裝包需要調(diào)用OS1系統(tǒng)的API接口觸發(fā)安裝流程;appid為com.test.app6的安裝包需要調(diào)用OS2系統(tǒng)的API接口觸發(fā)安裝流程。
本發(fā)明的分發(fā)安裝方法,在安裝應(yīng)用的終端不需要終端用戶參與和干涉,所有處理均自動(dòng)完成。對(duì)于雙系統(tǒng)或者多系統(tǒng)的應(yīng)用安裝包,可以自適應(yīng)安裝,不需要根據(jù)操作系統(tǒng)進(jìn)行單獨(dú)配置和分發(fā)安裝。
根據(jù)本發(fā)明的一種實(shí)施方式,所述對(duì)于合法的應(yīng)用列表進(jìn)行分析,判斷是否需要下載對(duì)應(yīng)的安裝包的步驟包括:確定所述終端是否安裝有所述應(yīng)用列表包含的一個(gè)或多個(gè)操作系統(tǒng);響應(yīng)于所述終端安裝有所述應(yīng)用列表包含的一個(gè)或多個(gè)操作系統(tǒng),確定所述終端安裝的相應(yīng)操作系統(tǒng)的版本與所述應(yīng)用列表包含的操作系統(tǒng)版本是否匹配;響應(yīng)于所述終端安裝的相應(yīng)操作系統(tǒng)的版本與所述應(yīng)用列表包含的操作系統(tǒng)版本匹配,根據(jù)appid和version確定對(duì)應(yīng)的安裝包是否已經(jīng)安裝在所述終端上;響應(yīng)于對(duì)應(yīng)的安裝包尚未安裝在所述終端上,確定需要下載安裝包。
圖2示出了根據(jù)本發(fā)明方法的另一實(shí)施例的流程圖,該實(shí)施例與圖1所示實(shí)施例類似,但其中應(yīng)用列表還包括是否允許卸載的標(biāo)志,所述方法還包括:
在步驟S202中,響應(yīng)于所述是否允許卸載的標(biāo)志的值,分別調(diào)用對(duì)應(yīng)的操作系統(tǒng)的API設(shè)置所述是否允許卸載的標(biāo)志。該標(biāo)志的作用在于控制服務(wù)器分發(fā)的應(yīng)用程序是否允許用戶刪除。例如,在上面的實(shí)施例中,appid為com.test.app1的應(yīng)用不允許卸載,則在其安裝過程中調(diào)用OS1的API設(shè)置不允許卸載的標(biāo)志,以使得該應(yīng)用安裝后不能被用戶卸載。
在步驟S204中,根據(jù)應(yīng)用列表,完成安裝后,將安裝的結(jié)果反饋給EMM服務(wù)器,使得EMM服務(wù)器知道分發(fā)的應(yīng)用是否被安裝、以及是否之前已經(jīng)安裝等狀態(tài)。
圖3示出了根據(jù)本發(fā)明的服務(wù)器和終端之間的應(yīng)用分發(fā)安裝裝置的一實(shí)施例的結(jié)構(gòu)示意圖,該裝置包括:證書接收模塊310,用于使所述終端接收來自所述服務(wù)器的公鑰證書;接收模塊320,用于使所述終端接收來自所述服務(wù)器的分發(fā)應(yīng)用信息,其中所述分發(fā)應(yīng)用信息包括至少一個(gè)應(yīng)用安裝包的唯一標(biāo)識(shí)信息、安裝包版本、安裝包適用的操作系統(tǒng)及其版本和/或安裝包下載地址;驗(yàn)簽?zāi)K330,用于使用所述公鑰證書對(duì)接收到的分發(fā)應(yīng)用信息進(jìn)行驗(yàn)簽;分析模塊340,用于分析所述分發(fā)應(yīng)用信息,確定是否需要下載安裝包;下載模塊350,用于響應(yīng)于需要下載安裝包,分別下載對(duì)應(yīng)的安裝包;安裝模塊360,用于分別調(diào)用所下載安裝包對(duì)應(yīng)的操作系統(tǒng)的API觸發(fā)安裝流程。
根據(jù)本發(fā)明所述裝置的一種實(shí)施方式,所述分析模塊340包括:操作系統(tǒng)確定子模塊,用于確定所述終端是否安裝有所述分發(fā)應(yīng)用信息包含的一個(gè)或多個(gè)操作系統(tǒng);操作系統(tǒng)版本確定子模塊,用于響應(yīng)于所述終端安裝有所述分發(fā)應(yīng)用信息包含的一個(gè)或多個(gè)操作系統(tǒng),確定所述終端安裝的相應(yīng)操作系統(tǒng)的版本與所述分發(fā)應(yīng)用信息包含的操作系統(tǒng)版本是否匹配;安裝狀態(tài)確定模塊,用于響應(yīng)于所述終端安裝的相應(yīng)操作系統(tǒng)的版本與所述分發(fā)應(yīng)用信息包含的操作系統(tǒng)版本匹配,根據(jù)所述唯一標(biāo)識(shí)信息和安裝包版本確定對(duì)應(yīng)的安裝包是否已經(jīng)安裝在所述終端上;確定子模塊,用于響應(yīng)于對(duì)應(yīng)的安裝包尚未安裝在所述終端上,確定需要下載安裝包。
圖4示出了根據(jù)本發(fā)明的裝置的另一實(shí)施例的結(jié)構(gòu)示意圖,該實(shí)施例與圖3所示實(shí)施例類似,但另外包括:設(shè)置模塊410,用于響應(yīng)于所述是否允許卸載的標(biāo)志的值,分別調(diào)用對(duì)應(yīng)的操作系統(tǒng)的API設(shè)置所述標(biāo)志;反饋模塊420,用于在所下載安裝包安裝完成之后將安裝結(jié)果反饋給所述服務(wù)器。
在此所述的多個(gè)不同實(shí)施例或者其特定特征、結(jié)構(gòu)或特性可在本發(fā)明的一個(gè)或多個(gè)實(shí)施方式中適當(dāng)組合。另外,在某些情形下,只要適當(dāng),流程圖中和/或流水處理描述的步驟順序可修改,并不必須精確按照所描述的順序執(zhí)行。另外,本發(fā)明的多個(gè)不同方面可使用軟件、硬件、固件或者其組合和/或執(zhí)行所述功能的其它計(jì)算機(jī)實(shí)施的模塊或裝置進(jìn)行實(shí)施。本發(fā)明的軟件實(shí)施可包括保存在計(jì)算機(jī)可讀介質(zhì)中并由一個(gè)或多個(gè)處理器執(zhí)行的可執(zhí)行代碼。計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)硬盤驅(qū)動(dòng)器、ROM、RAM、閃存、便攜計(jì)算機(jī)存儲(chǔ)介質(zhì)如CD-ROM、DVD-ROM、閃盤驅(qū)動(dòng)器和/或例如具有通用串行總線(USB)接口的其它裝置,和/或任何其它適當(dāng)?shù)挠行位蚍嵌虝河?jì)算機(jī)可讀介質(zhì)或可執(zhí)行代碼可保存于其上并由處理器執(zhí)行的計(jì)算機(jī)存儲(chǔ)器。本發(fā)明可結(jié)合任何適當(dāng)?shù)牟僮飨到y(tǒng)使用。
除非明確指出,在此所用的單數(shù)形式“一”、“該”均包括復(fù)數(shù)含義(即具有“至少一”的意思)。應(yīng)當(dāng)進(jìn)一步理解,說明書中使用的術(shù)語(yǔ)“具有”、“包括”和/或“包含”表明存在所述的特征、步驟、操作、元件和/或部件,但不排除存在或增加一個(gè)或多個(gè)其他特征、步驟、操作、元件、部件和/或其組合。如在此所用的術(shù)語(yǔ)“和/或”包括一個(gè)或多個(gè)列舉的相關(guān)項(xiàng)目的任何及所有組合。
前面說明了本發(fā)明的一些優(yōu)選實(shí)施例,但是應(yīng)當(dāng)強(qiáng)調(diào)的是,本發(fā)明不局限于這些實(shí)施例,而是可以本發(fā)明主題范圍內(nèi)的其它方式實(shí)現(xiàn)。本領(lǐng)域技術(shù)人員可以在本發(fā)明技術(shù)構(gòu)思的啟發(fā)和不脫離本發(fā)明內(nèi)容的基礎(chǔ)上對(duì)本發(fā)明作出各種變形和修改,這些變形或修改仍落入本發(fā)明的保護(hù)范圍之內(nèi)。