亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

應(yīng)用程序的升級(jí)方法、升級(jí)裝置和終端與流程

文檔序號(hào):12270986閱讀:264來源:國知局
應(yīng)用程序的升級(jí)方法、升級(jí)裝置和終端與流程

本發(fā)明涉及終端技術(shù)領(lǐng)域,具體而言,涉及一種應(yīng)用程序的升級(jí)方法、一種應(yīng)用程序的升級(jí)裝置和一種終端。



背景技術(shù):

目前,可以在終端上同時(shí)安裝有雙開應(yīng)用程序,例如,在終端上安裝有微信和分身微信。具體地,通過開辟兩個(gè)獨(dú)立的系統(tǒng)空間,在兩個(gè)系統(tǒng)空間中有相同的應(yīng)用程序,這樣就被當(dāng)作是兩個(gè)應(yīng)用程序來運(yùn)行,例如,在每個(gè)系統(tǒng)空間中都有微信,這樣就相當(dāng)于在終端中安裝有多個(gè)微信。但是,在對(duì)應(yīng)用程序進(jìn)行升級(jí)時(shí),各個(gè)系統(tǒng)空間中的應(yīng)用程序需要經(jīng)過下載、校驗(yàn)和安裝的過程,相當(dāng)于同樣的動(dòng)作重復(fù)執(zhí)行了一次。這樣不僅消耗了不必要的系統(tǒng)資源(例如流量和電量),浪費(fèi)了功耗,還有可能會(huì)提示用戶多次是否升級(jí)應(yīng)用程序,造成不好的用戶體驗(yàn)。

因此,如何對(duì)兩個(gè)相互獨(dú)立的系統(tǒng)空間中的應(yīng)用程序進(jìn)行升級(jí),以避免消耗不必要的系統(tǒng)資源成為亟待解決的技術(shù)問題。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明正是基于上述問題,提出了一種新的技術(shù)方案,在對(duì)兩個(gè)相互獨(dú)立的系統(tǒng)空間中的應(yīng)用程序進(jìn)行升級(jí)時(shí),可以避免消耗不必要的系統(tǒng)資源。

有鑒于此,本發(fā)明的第一方面提出了一種應(yīng)用程序的升級(jí)方法,在相互獨(dú)立的兩個(gè)系統(tǒng)空間中安裝有相同的兩個(gè)應(yīng)用程序,所述兩個(gè)系統(tǒng)空間與所述兩個(gè)應(yīng)用程序一一對(duì)應(yīng),所述應(yīng)用程序的升級(jí)方法包括:在為所述兩個(gè)應(yīng)用程序中的任一應(yīng)用程序下載升級(jí)數(shù)據(jù)包進(jìn)行升級(jí)時(shí),獲取所述升級(jí)數(shù)據(jù)包的版本和所述兩個(gè)應(yīng)用程序中的其他應(yīng)用程序的當(dāng)前版本;若所述升級(jí)數(shù)據(jù)包的版本比所述其他應(yīng)用程序的當(dāng)前版本新,則將所述升級(jí)數(shù)據(jù)包發(fā)送到所述其他應(yīng)用程序所在的系統(tǒng)空間中,以使用所述升級(jí)數(shù)據(jù)包對(duì)所述其他應(yīng)用程序進(jìn)行升級(jí)。

在該技術(shù)方案中,通過將相同的兩個(gè)應(yīng)用程序分別安裝在相互獨(dú)立的系統(tǒng)空間中,以實(shí)現(xiàn)在同一個(gè)終端上安裝雙開或多開應(yīng)用程序。當(dāng)該兩個(gè)應(yīng)用程序中的任一應(yīng)用程序下載升級(jí)數(shù)據(jù)包進(jìn)行升級(jí)時(shí),若其他應(yīng)用程序未升級(jí),則可以直接使用任一應(yīng)用程序下載的升級(jí)數(shù)據(jù)包進(jìn)行升級(jí),不僅及時(shí)地對(duì)未升級(jí)的應(yīng)用程序進(jìn)行了升級(jí),還避免了未升級(jí)的應(yīng)用程序重新下載升級(jí)數(shù)據(jù)包,從而避免了浪費(fèi)不必要的系統(tǒng)資源。特別是在終端使用流量下載升級(jí)數(shù)據(jù)包進(jìn)行升級(jí)時(shí),最大程度上避免消耗不必要的流量。另外,也避免了多次提示用戶對(duì)應(yīng)用程序進(jìn)行升級(jí),從而提升用戶的使用體驗(yàn)。

在上述技術(shù)方案中,優(yōu)選地,還包括:在接收到設(shè)置信號(hào)時(shí),設(shè)置所述其他應(yīng)用程序的自動(dòng)升級(jí)權(quán)限。

在該技術(shù)方案中,通過設(shè)置其他應(yīng)用程序的自動(dòng)升級(jí)權(quán)限,從而保證其他應(yīng)用程序能夠順利進(jìn)行升級(jí)。

在上述任一技術(shù)方案中,優(yōu)選地,所述在接收到設(shè)置信號(hào)時(shí),設(shè)置所述其他應(yīng)用程序的自動(dòng)升級(jí)權(quán)限的步驟,具體包括:若所述設(shè)置信號(hào)為在獲取所述其他應(yīng)用程序的當(dāng)前版本時(shí)觸發(fā)的信號(hào),則設(shè)置所述其他應(yīng)用程序不具有自動(dòng)升級(jí)的權(quán)限;或者若所述設(shè)置信號(hào)為所述其他應(yīng)用程序使用所述升級(jí)數(shù)據(jù)包升級(jí)完成時(shí)觸發(fā)的信號(hào)、或者所述其他應(yīng)用程序的當(dāng)前版本比所述升級(jí)數(shù)據(jù)包的版本新時(shí)觸發(fā)的信號(hào),或者所述其他應(yīng)用程序的當(dāng)前版本與所述升級(jí)數(shù)據(jù)包的版本相同時(shí)觸發(fā)的信號(hào),則設(shè)置所述其他應(yīng)用程序具有自動(dòng)升級(jí)的權(quán)限。

在該技術(shù)方案中,在獲取其他應(yīng)用程序的當(dāng)前版本時(shí)觸發(fā)的信號(hào)時(shí),設(shè)置其他應(yīng)用程序不具有自動(dòng)升級(jí)的權(quán)限,可以防止其他應(yīng)用程序重復(fù)升級(jí)。另外,若升級(jí)數(shù)據(jù)包的版本沒有其他應(yīng)用程序的版本新,則設(shè)置其他應(yīng)用程序具有自動(dòng)升級(jí)的權(quán)限,以在發(fā)布新版本時(shí)保證其他應(yīng)用程序能夠自動(dòng)升級(jí)。

在上述任一技術(shù)方案中,優(yōu)選地,通過修改所述其他應(yīng)用程序的自動(dòng)升級(jí)標(biāo)識(shí),來設(shè)置所述其他應(yīng)用程序的自動(dòng)升級(jí)權(quán)限。

在該技術(shù)方案中,通過修改其他應(yīng)用程序的自動(dòng)升級(jí)標(biāo)識(shí),來實(shí)現(xiàn)其他應(yīng)用程序的自動(dòng)升級(jí)權(quán)限的設(shè)置,從而保證了其他應(yīng)用程序的運(yùn)行可靠性。

在上述任一技術(shù)方案中,優(yōu)選地,所述兩個(gè)系統(tǒng)空間中的任兩個(gè)系統(tǒng)空間之間通過socket套接字進(jìn)行通信。

在該技術(shù)方案中,相互獨(dú)立的兩個(gè)系統(tǒng)空間之間通過socket進(jìn)行通信,即通過socket將升級(jí)數(shù)據(jù)包從一個(gè)系統(tǒng)空間發(fā)送給另一個(gè)與之獨(dú)立的系統(tǒng)空間,從而保證了相互獨(dú)立的兩個(gè)系統(tǒng)空間之間通信的可靠性。

本發(fā)明的第二方面提出了一種應(yīng)用程序的升級(jí)裝置,在相互獨(dú)立的兩個(gè)系統(tǒng)空間中安裝有相同的兩個(gè)應(yīng)用程序,所述兩個(gè)系統(tǒng)空間與所述兩個(gè)應(yīng)用程序一一對(duì)應(yīng),所述應(yīng)用程序的升級(jí)裝置包括:獲取單元,用于在為所述兩個(gè)應(yīng)用程序中的任一應(yīng)用程序下載升級(jí)數(shù)據(jù)包進(jìn)行升級(jí)時(shí),獲取所述升級(jí)數(shù)據(jù)包的版本和所述兩個(gè)應(yīng)用程序中的其他應(yīng)用程序的當(dāng)前版本;升級(jí)單元,用于若所述升級(jí)數(shù)據(jù)包的版本比所述其他應(yīng)用程序的當(dāng)前版本新,則將所述升級(jí)數(shù)據(jù)包發(fā)送到所述其他應(yīng)用程序所在的系統(tǒng)空間中,以使用所述升級(jí)數(shù)據(jù)包對(duì)所述其他應(yīng)用程序進(jìn)行升級(jí)。

在該技術(shù)方案中,通過將相同的兩個(gè)應(yīng)用程序分別安裝在相互獨(dú)立的系統(tǒng)空間中,以實(shí)現(xiàn)在同一個(gè)終端上安裝雙開或多開應(yīng)用程序。當(dāng)該兩個(gè)應(yīng)用程序中的任一應(yīng)用程序下載升級(jí)數(shù)據(jù)包進(jìn)行升級(jí)時(shí),若其他應(yīng)用程序未升級(jí),則可以直接使用任一應(yīng)用程序下載的升級(jí)數(shù)據(jù)包進(jìn)行升級(jí),不僅及時(shí)地對(duì)未升級(jí)的應(yīng)用程序進(jìn)行了升級(jí),還避免了未升級(jí)的應(yīng)用程序重新下載升級(jí)數(shù)據(jù)包,從而避免了浪費(fèi)不必要的系統(tǒng)資源。特別是在終端使用流量下載升級(jí)數(shù)據(jù)包進(jìn)行升級(jí)時(shí),最大程度上避免消耗不必要的流量。另外,也避免了多次提示用戶對(duì)應(yīng)用程序進(jìn)行升級(jí),從而提升用戶的使用體驗(yàn)。

在上述技術(shù)方案中,優(yōu)選地,還包括:設(shè)置單元,用于在接收到設(shè)置信號(hào)時(shí),設(shè)置所述其他應(yīng)用程序的自動(dòng)升級(jí)權(quán)限。

在該技術(shù)方案中,通過設(shè)置其他應(yīng)用程序的自動(dòng)升級(jí)權(quán)限,從而保證其他應(yīng)用程序能夠順利進(jìn)行升級(jí)。

在上述任一技術(shù)方案中,優(yōu)選地,所述設(shè)置單元具體用于,若所述設(shè)置信號(hào)為在獲取所述其他應(yīng)用程序的當(dāng)前版本時(shí)觸發(fā)的信號(hào),則設(shè)置所述其他應(yīng)用程序不具有自動(dòng)升級(jí)的權(quán)限,或者若所述設(shè)置信號(hào)為所述其他應(yīng)用程序使用所述升級(jí)數(shù)據(jù)包升級(jí)完成時(shí)觸發(fā)的信號(hào)、或者所述其他應(yīng)用程序的當(dāng)前版本比所述升級(jí)數(shù)據(jù)包的版本新時(shí)觸發(fā)的信號(hào),或者所述其他應(yīng)用程序的當(dāng)前版本與所述升級(jí)數(shù)據(jù)包的版本相同時(shí)觸發(fā)的信號(hào),則設(shè)置所述其他應(yīng)用程序具有自動(dòng)升級(jí)的權(quán)限。

在該技術(shù)方案中,在獲取其他應(yīng)用程序的當(dāng)前版本時(shí)觸發(fā)的信號(hào)時(shí),設(shè)置其他應(yīng)用程序不具有自動(dòng)升級(jí)的權(quán)限,可以防止其他應(yīng)用程序重復(fù)升級(jí)。另外,若升級(jí)數(shù)據(jù)包的版本沒有其他應(yīng)用程序的版本新,則設(shè)置其他應(yīng)用程序具有自動(dòng)升級(jí)的權(quán)限,以在發(fā)布新版本時(shí)保證其他應(yīng)用程序能夠自動(dòng)升級(jí)。

在上述任一技術(shù)方案中,優(yōu)選地,所述設(shè)置單元具體用于,通過修改所述其他應(yīng)用程序的自動(dòng)升級(jí)標(biāo)識(shí),來設(shè)置所述其他應(yīng)用程序的自動(dòng)升級(jí)權(quán)限。

在該技術(shù)方案中,通過修改其他應(yīng)用程序的自動(dòng)升級(jí)標(biāo)識(shí),來實(shí)現(xiàn)其他應(yīng)用程序的自動(dòng)升級(jí)權(quán)限的設(shè)置,從而保證了其他應(yīng)用程序的運(yùn)行可靠性。

在上述任一技術(shù)方案中,優(yōu)選地,所述兩個(gè)系統(tǒng)空間之間通過socket套接字進(jìn)行通信。

在該技術(shù)方案中,相互獨(dú)立的兩個(gè)系統(tǒng)空間之間通過socket進(jìn)行通信,即通過socket將升級(jí)數(shù)據(jù)包從一個(gè)系統(tǒng)空間發(fā)送給另一個(gè)與之獨(dú)立的系統(tǒng)空間,從而保證了相互獨(dú)立的兩個(gè)系統(tǒng)空間之間通信的可靠性。

本發(fā)明的第三方面提出了一種終端,包括上述技術(shù)方案中任一項(xiàng)所述的應(yīng)用程序的升級(jí)裝置,因此,該終端具有和上述技術(shù)方案中任一項(xiàng)所述的應(yīng)用程序的升級(jí)裝置相同的技術(shù)效果,在此不再贅述。

通過本發(fā)明的技術(shù)方案,在對(duì)兩個(gè)相互獨(dú)立的系統(tǒng)空間中的應(yīng)用程序進(jìn)行升級(jí)時(shí),可以避免消耗不必要的系統(tǒng)資源。

附圖說明

圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的應(yīng)用程序的升級(jí)方法的流程示意圖;

圖2示出了根據(jù)本發(fā)明的另一個(gè)實(shí)施例的應(yīng)用程序的升級(jí)方法的流程示意圖;

圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的應(yīng)用程序的升級(jí)裝置的結(jié)構(gòu)示意圖;

圖4示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的終端的結(jié)構(gòu)示意圖;

圖5示出了根據(jù)本發(fā)明的另一個(gè)實(shí)施例的終端的結(jié)構(gòu)示意圖;

圖6示出了根據(jù)本發(fā)明的又一個(gè)實(shí)施例的終端的結(jié)構(gòu)示意圖。

具體實(shí)施方式

為了可以更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說明的是,在不沖突的情況下,本申請(qǐng)的實(shí)施例及實(shí)施例中的特征可以相互組合。

在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實(shí)施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實(shí)施例的限制。

圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的應(yīng)用程序的升級(jí)方法的流程示意圖。

如圖1所示,根據(jù)本發(fā)明的一個(gè)實(shí)施例的應(yīng)用程序的升級(jí)方法,在相互獨(dú)立的兩個(gè)系統(tǒng)空間中安裝有相同的兩個(gè)應(yīng)用程序,所述兩個(gè)系統(tǒng)空間與所述兩個(gè)應(yīng)用程序一一對(duì)應(yīng),所述應(yīng)用程序的升級(jí)方法包括:

步驟102,在為所述兩個(gè)應(yīng)用程序中的任一應(yīng)用程序下載升級(jí)數(shù)據(jù)包進(jìn)行升級(jí)時(shí),獲取所述升級(jí)數(shù)據(jù)包的版本和所述兩個(gè)應(yīng)用程序中的其他應(yīng)用程序的當(dāng)前版本。

步驟104,若所述升級(jí)數(shù)據(jù)包的版本比所述其他應(yīng)用程序的當(dāng)前版本新,則將所述升級(jí)數(shù)據(jù)包發(fā)送到所述其他應(yīng)用程序所在的系統(tǒng)空間中,以使用所述升級(jí)數(shù)據(jù)包對(duì)所述其他應(yīng)用程序進(jìn)行升級(jí)。

可以通過升級(jí)數(shù)據(jù)包的版本號(hào)和其他應(yīng)用程序的當(dāng)前版本號(hào),確定升級(jí)數(shù)據(jù)包的版本是否比其他應(yīng)用程序的當(dāng)前版本新。

在該技術(shù)方案中,通過將相同的兩個(gè)應(yīng)用程序分別安裝在相互獨(dú)立的系統(tǒng)空間中,以實(shí)現(xiàn)在同一個(gè)終端上安裝雙開或多開應(yīng)用程序。當(dāng)該兩個(gè)應(yīng)用程序中的任一應(yīng)用程序下載升級(jí)數(shù)據(jù)包進(jìn)行升級(jí)時(shí),若其他應(yīng)用程序未升級(jí),則可以直接使用任一應(yīng)用程序下載的升級(jí)數(shù)據(jù)包進(jìn)行升級(jí),不僅及時(shí)地對(duì)未升級(jí)的應(yīng)用程序進(jìn)行了升級(jí),還避免了未升級(jí)的應(yīng)用程序重新下載升級(jí)數(shù)據(jù)包,從而避免了浪費(fèi)不必要的系統(tǒng)資源。特別是在終端使用流量下載升級(jí)數(shù)據(jù)包進(jìn)行升級(jí)時(shí),最大程度上避免消耗不必要的流量。另外,也避免了多次提示用戶對(duì)應(yīng)用程序進(jìn)行升級(jí),從而提升用戶的使用體驗(yàn)。

以上方案是對(duì)兩個(gè)相互獨(dú)立的系統(tǒng)空間中的應(yīng)用程序進(jìn)行升級(jí),若存在三個(gè)或三個(gè)以上的相互獨(dú)立的系統(tǒng)空間,則對(duì)三個(gè)或三個(gè)以上的系統(tǒng)空間中的應(yīng)用程序升級(jí)的方案與以上方案相同,在此不再重復(fù)贅述。

在上述技術(shù)方案中,優(yōu)選地,還包括:在接收到設(shè)置信號(hào)時(shí),設(shè)置所述其他應(yīng)用程序的自動(dòng)升級(jí)權(quán)限。

在該技術(shù)方案中,通過設(shè)置其他應(yīng)用程序的自動(dòng)升級(jí)權(quán)限,從而保證其他應(yīng)用程序能夠順利進(jìn)行升級(jí)。

在上述任一技術(shù)方案中,優(yōu)選地,所述在接收到設(shè)置信號(hào)時(shí),設(shè)置所述其他應(yīng)用程序的自動(dòng)升級(jí)權(quán)限的步驟,具體包括:若所述設(shè)置信號(hào)為在獲取所述其他應(yīng)用程序的當(dāng)前版本時(shí)觸發(fā)的信號(hào),則設(shè)置所述其他應(yīng)用程序不具有自動(dòng)升級(jí)的權(quán)限;或者若所述設(shè)置信號(hào)為所述其他應(yīng)用程序使用所述升級(jí)數(shù)據(jù)包升級(jí)完成時(shí)觸發(fā)的信號(hào)、或者所述其他應(yīng)用程序的當(dāng)前版本比所述升級(jí)數(shù)據(jù)包的版本新時(shí)觸發(fā)的信號(hào),或者所述其他應(yīng)用程序的當(dāng)前版本與所述升級(jí)數(shù)據(jù)包的版本相同時(shí)觸發(fā)的信號(hào),則設(shè)置所述其他應(yīng)用程序具有自動(dòng)升級(jí)的權(quán)限。

在該技術(shù)方案中,在獲取其他應(yīng)用程序的當(dāng)前版本時(shí)觸發(fā)的信號(hào)時(shí),設(shè)置其他應(yīng)用程序不具有自動(dòng)升級(jí)的權(quán)限,可以防止其他應(yīng)用程序重復(fù)升級(jí)。另外,若升級(jí)數(shù)據(jù)包的版本沒有其他應(yīng)用程序的版本新,則設(shè)置其他應(yīng)用程序具有自動(dòng)升級(jí)的權(quán)限,以在發(fā)布新版本時(shí)保證其他應(yīng)用程序能夠自動(dòng)升級(jí)。

自動(dòng)升級(jí)指的是,應(yīng)用程序下載升級(jí)數(shù)據(jù)包,該應(yīng)用程序根據(jù)其自身下載的升級(jí)數(shù)據(jù)包進(jìn)行升級(jí),并不是使用其分身應(yīng)用程序或其主應(yīng)用程序下載的升級(jí)數(shù)據(jù)進(jìn)行升級(jí)。

在上述任一技術(shù)方案中,優(yōu)選地,通過修改所述其他應(yīng)用程序的自動(dòng)升級(jí)標(biāo)識(shí),來設(shè)置所述其他應(yīng)用程序的自動(dòng)升級(jí)權(quán)限。

在該技術(shù)方案中,通過修改其他應(yīng)用程序的自動(dòng)升級(jí)標(biāo)識(shí),來實(shí)現(xiàn)其他應(yīng)用程序的自動(dòng)升級(jí)權(quán)限的設(shè)置,從而保證了其他應(yīng)用程序的運(yùn)行可靠性。

在上述任一技術(shù)方案中,優(yōu)選地,所述兩個(gè)系統(tǒng)空間之間通過socket套接字進(jìn)行通信。

在該技術(shù)方案中,相互獨(dú)立的兩個(gè)系統(tǒng)空間之間通過socket進(jìn)行通信,即通過socket將升級(jí)數(shù)據(jù)包從一個(gè)系統(tǒng)空間發(fā)送給另一個(gè)與之獨(dú)立的系統(tǒng)空間,從而保證了相互獨(dú)立的兩個(gè)系統(tǒng)空間之間通信的可靠性。

下面對(duì)socket進(jìn)行解釋:網(wǎng)絡(luò)上的兩個(gè)程序通過一個(gè)雙向的通信連接實(shí)現(xiàn)數(shù)據(jù)的交換,這個(gè)連接的一端稱為一個(gè)socket,socket用于描述IP地址和端口,是一個(gè)通信鏈的句柄,可以用來實(shí)現(xiàn)不同虛擬機(jī)或不同計(jì)算機(jī)之間的通信。在Internet上的主機(jī)一般運(yùn)行了多個(gè)服務(wù)軟件,同時(shí)提供幾種服務(wù),每種服務(wù)都打開一個(gè)socket,并綁定到一個(gè)端口上,不同的端口對(duì)應(yīng)于不同的服務(wù)。

圖2示出了根據(jù)本發(fā)明的另一個(gè)實(shí)施例的應(yīng)用程序的升級(jí)方法的流程示意圖。

如圖2所示,根據(jù)本發(fā)明的另一個(gè)實(shí)施例的應(yīng)用程序的升級(jí)方法,包括:

步驟202,檢測(cè)到對(duì)主應(yīng)用程序進(jìn)行升級(jí)。

步驟204,下載升級(jí)數(shù)據(jù)包,并對(duì)主應(yīng)用程序進(jìn)行升級(jí)。

步驟206,主應(yīng)用程序是否有分身應(yīng)用程序,若主應(yīng)用程序有分身應(yīng)用程序,則執(zhí)行步驟208,若主應(yīng)用程序沒有分身應(yīng)用程序,則結(jié)束本次流程。

步驟208,發(fā)送GET_VER數(shù)據(jù)給分身應(yīng)用程序,以使分身應(yīng)用程序獲取自身的版本響應(yīng)給主應(yīng)用程序,并且分身應(yīng)用程序?qū)⑵鋋uto_update標(biāo)志設(shè)置為0,即設(shè)置分身應(yīng)用程序不具有自動(dòng)升級(jí)的權(quán)限。

步驟210,判斷分身應(yīng)用程序的版本是否較低,具體判斷分身應(yīng)用程序的版本是否比升級(jí)數(shù)據(jù)包的版本低,在判定分身應(yīng)用程序的版本較低時(shí),執(zhí)行步驟212,在判定分身應(yīng)用程序的版本不低時(shí),結(jié)束本次流程。

步驟212,發(fā)送UPDATE數(shù)據(jù)包給分身應(yīng)用程序所在的系統(tǒng)空間,以使分身應(yīng)用程序去除UPDATE數(shù)據(jù)包中的DATA中的數(shù)據(jù)進(jìn)行升級(jí)。

步驟214,分身應(yīng)用程序升級(jí)完成后將其auto_update標(biāo)志設(shè)置為1,即設(shè)置分身應(yīng)用程序具有自動(dòng)升級(jí)的權(quán)限。

圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的應(yīng)用程序的升級(jí)裝置的結(jié)構(gòu)示意圖。

如圖3所示,根據(jù)本發(fā)明的一個(gè)實(shí)施例的應(yīng)用程序的升級(jí)裝置300,在相互獨(dú)立的兩個(gè)系統(tǒng)空間中安裝有相同的兩個(gè)應(yīng)用程序,所述兩個(gè)系統(tǒng)空間與所述兩個(gè)應(yīng)用程序一一對(duì)應(yīng),所述應(yīng)用程序的升級(jí)裝置300包括:獲取單元302和升級(jí)單元304。

獲取單元302,用于在為所述兩個(gè)應(yīng)用程序中的任一應(yīng)用程序下載升級(jí)數(shù)據(jù)包進(jìn)行升級(jí)時(shí),獲取所述升級(jí)數(shù)據(jù)包的版本和所述兩個(gè)應(yīng)用程序中的其他應(yīng)用程序的當(dāng)前版本;升級(jí)單元304,用于若所述升級(jí)數(shù)據(jù)包的版本比所述其他應(yīng)用程序的當(dāng)前版本新,則將所述升級(jí)數(shù)據(jù)包發(fā)送到所述其他應(yīng)用程序所在的系統(tǒng)空間中,以使用所述升級(jí)數(shù)據(jù)包對(duì)所述其他應(yīng)用程序進(jìn)行升級(jí)。

在該技術(shù)方案中,通過將相同的兩個(gè)應(yīng)用程序分別安裝在相互獨(dú)立的系統(tǒng)空間中,以實(shí)現(xiàn)在同一個(gè)終端上安裝雙開或多開應(yīng)用程序。當(dāng)該兩個(gè)應(yīng)用程序中的任一應(yīng)用程序下載升級(jí)數(shù)據(jù)包進(jìn)行升級(jí)時(shí),若其他應(yīng)用程序未升級(jí),則可以直接使用任一應(yīng)用程序下載的升級(jí)數(shù)據(jù)包進(jìn)行升級(jí),不僅及時(shí)地對(duì)未升級(jí)的應(yīng)用程序進(jìn)行了升級(jí),還避免了未升級(jí)的應(yīng)用程序重新下載升級(jí)數(shù)據(jù)包,從而避免了浪費(fèi)不必要的系統(tǒng)資源。特別是在終端使用流量下載升級(jí)數(shù)據(jù)包進(jìn)行升級(jí)時(shí),最大程度上避免消耗不必要的流量。另外,也避免了多次提示用戶對(duì)應(yīng)用程序進(jìn)行升級(jí),從而提升用戶的使用體驗(yàn)。

在上述技術(shù)方案中,優(yōu)選地,還包括:設(shè)置單元306,用于在接收到設(shè)置信號(hào)時(shí),設(shè)置所述其他應(yīng)用程序的自動(dòng)升級(jí)權(quán)限。

在該技術(shù)方案中,通過設(shè)置其他應(yīng)用程序的自動(dòng)升級(jí)權(quán)限,從而保證其他應(yīng)用程序能夠順利進(jìn)行升級(jí)。

在上述任一技術(shù)方案中,優(yōu)選地,所述設(shè)置單元306具體用于,若所述設(shè)置信號(hào)為在獲取所述其他應(yīng)用程序的當(dāng)前版本時(shí)觸發(fā)的信號(hào),則設(shè)置所述其他應(yīng)用程序不具有自動(dòng)升級(jí)的權(quán)限,或者若所述設(shè)置信號(hào)為所述其他應(yīng)用程序使用所述升級(jí)數(shù)據(jù)包升級(jí)完成時(shí)觸發(fā)的信號(hào)、或者所述其他應(yīng)用程序的當(dāng)前版本比所述升級(jí)數(shù)據(jù)包的版本新時(shí)觸發(fā)的信號(hào),或者所述其他應(yīng)用程序的當(dāng)前版本與所述升級(jí)數(shù)據(jù)包的版本相同時(shí)觸發(fā)的信號(hào),則設(shè)置所述其他應(yīng)用程序具有自動(dòng)升級(jí)的權(quán)限。

在該技術(shù)方案中,在獲取其他應(yīng)用程序的當(dāng)前版本時(shí)觸發(fā)的信號(hào)時(shí),設(shè)置其他應(yīng)用程序不具有自動(dòng)升級(jí)的權(quán)限,可以防止其他應(yīng)用程序重復(fù)升級(jí)。另外,若升級(jí)數(shù)據(jù)包的版本沒有其他應(yīng)用程序的版本新,則設(shè)置其他應(yīng)用程序具有自動(dòng)升級(jí)的權(quán)限,以在發(fā)布新版本時(shí)保證其他應(yīng)用程序能夠自動(dòng)升級(jí)。

在上述任一技術(shù)方案中,優(yōu)選地,所述設(shè)置單元306具體用于,通過修改所述其他應(yīng)用程序的自動(dòng)升級(jí)標(biāo)識(shí),來設(shè)置所述其他應(yīng)用程序的自動(dòng)升級(jí)權(quán)限。

在該技術(shù)方案中,通過修改其他應(yīng)用程序的自動(dòng)升級(jí)標(biāo)識(shí),來實(shí)現(xiàn)其他應(yīng)用程序的自動(dòng)升級(jí)權(quán)限的設(shè)置,從而保證了其他應(yīng)用程序的運(yùn)行可靠性。

在上述任一技術(shù)方案中,優(yōu)選地,所述兩個(gè)系統(tǒng)空間之間通過socket套接字進(jìn)行通信。

在該技術(shù)方案中,相互獨(dú)立的兩個(gè)系統(tǒng)空間之間通過socket進(jìn)行通信,即通過socket將升級(jí)數(shù)據(jù)包從一個(gè)系統(tǒng)空間發(fā)送給另一個(gè)與之獨(dú)立的系統(tǒng)空間,從而保證了相互獨(dú)立的兩個(gè)系統(tǒng)空間之間通信的可靠性。

圖4示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的終端的結(jié)構(gòu)示意圖。

如圖4所示,根據(jù)本發(fā)明的一個(gè)實(shí)施例的終端400,包括上述技術(shù)方案中任一項(xiàng)所述的應(yīng)用程序的升級(jí)裝置300,因此,該終端400具有和上述技術(shù)方案中任一項(xiàng)所述的應(yīng)用程序的升級(jí)裝置300相同的技術(shù)效果,在此不再贅述。

圖5示出了根據(jù)本發(fā)明的另一個(gè)實(shí)施例的終端的結(jié)構(gòu)示意圖。

如圖5所示,根據(jù)本發(fā)明的另一個(gè)實(shí)施例的終端500,在該終端500上設(shè)有兩個(gè)相互獨(dú)立的系統(tǒng)空間,其中一個(gè)系統(tǒng)空間中安裝有主應(yīng)用程序,另一個(gè)系統(tǒng)空間中安裝有主應(yīng)用程序的分身應(yīng)用程序。這樣系統(tǒng)底層就會(huì)將主應(yīng)用程序和分身應(yīng)用程序視為兩個(gè)不同的應(yīng)用程序,實(shí)現(xiàn)應(yīng)用分身的目的。在實(shí)現(xiàn)雙開應(yīng)用程序時(shí),會(huì)有一個(gè)標(biāo)識(shí)符來標(biāo)識(shí)是否被分身過,例如使用變量mDuplicate標(biāo)識(shí),當(dāng)對(duì)某個(gè)應(yīng)用程序進(jìn)行分身時(shí),將此標(biāo)識(shí)符設(shè)置為1。兩個(gè)相互獨(dú)立的系統(tǒng)空間通過socket套接字連接,用來在兩個(gè)系統(tǒng)空間中傳輸數(shù)據(jù)。采用請(qǐng)求/響應(yīng)的模式來傳輸數(shù)據(jù)。數(shù)據(jù)的形式可定義為{command,data}的形式,command字段表示命令,即表示需要執(zhí)行的操作,data字段表示數(shù)據(jù),即執(zhí)行操作時(shí)攜帶的數(shù)據(jù)。例如當(dāng)command為GET_VER時(shí),執(zhí)行的操作為獲取版本號(hào)。則被請(qǐng)求方在接收到這個(gè)請(qǐng)求后,根據(jù)command字段要求獲取到自身的版本號(hào),通過響應(yīng)的方式將自己的版本號(hào)響應(yīng)給請(qǐng)求方,這樣就完成了兩個(gè)系統(tǒng)空間的交互。當(dāng)command字段為UPDATA時(shí),表示要進(jìn)行升級(jí)操作,data中攜帶的數(shù)據(jù)即為應(yīng)用升級(jí)數(shù)據(jù),被請(qǐng)求方在收到UPDATE命令后,就會(huì)將data字段中的數(shù)據(jù)放入程序數(shù)據(jù)區(qū)中的對(duì)應(yīng)的目錄,完成升級(jí)。其中,升級(jí)的具體步驟如下。

主應(yīng)用程序和其分身應(yīng)用程序中的其一應(yīng)用程序的升級(jí)檢測(cè)模塊檢測(cè)到其下載升級(jí)數(shù)據(jù)包進(jìn)行升級(jí)時(shí),這個(gè)應(yīng)用程序首先檢查mDuplicate標(biāo)識(shí)符是否為1,如果為1表示此應(yīng)用程序具有分身應(yīng)用程序或其本身為分身應(yīng)用程序,需要進(jìn)行后續(xù)的升級(jí)判斷和升級(jí)操作。如果此標(biāo)識(shí)符為0,則表示此應(yīng)用程序未被分身,只升級(jí)本身應(yīng)用程序,不進(jìn)行后期的分身應(yīng)用程序升級(jí)相關(guān)的操作。

當(dāng)某個(gè)應(yīng)用程序例如主應(yīng)用程序的升級(jí)檢測(cè)模塊檢測(cè)到進(jìn)行升級(jí)且分身標(biāo)識(shí)符mDuplicate為1時(shí),則發(fā)送一個(gè){GET_VER,null}的數(shù)據(jù)給分身應(yīng)用程序,分身應(yīng)用程序在接收到此數(shù)據(jù)后,判斷command為GET_VER,即主應(yīng)用程序響應(yīng)獲取自己的當(dāng)前版本號(hào),做升級(jí)前準(zhǔn)備,此時(shí)分身應(yīng)用程序需要做以下兩個(gè)步驟:

一、獲取自己當(dāng)前的版本號(hào),例如V1,通過{GET_VER,V1}的響應(yīng)形式回復(fù)給主應(yīng)用程序。

二、將自己的自動(dòng)升級(jí)標(biāo)志(auto_update)設(shè)置為不自動(dòng)升級(jí),即將auto_update設(shè)置為0,以防止分身應(yīng)用程序重復(fù)升級(jí)。

主應(yīng)用程序需要做以下三個(gè)步驟:

一、升級(jí)自身應(yīng)用程序,將升級(jí)數(shù)據(jù)包中的文件放到程序數(shù)據(jù)區(qū)中的相對(duì)應(yīng)的目錄。

二、在收到分身應(yīng)用程序發(fā)送的{GET_VER,V1}的響應(yīng)后,將分身應(yīng)用程序的當(dāng)前版本號(hào)和升級(jí)數(shù)據(jù)包的版本號(hào)進(jìn)行對(duì)比,如果升級(jí)數(shù)據(jù)包的版本號(hào)比分身應(yīng)用程序的當(dāng)前版本號(hào)新,則進(jìn)行步驟三中的升級(jí)操作,否則主應(yīng)用程序以{UPDATE,NULL}的形式將數(shù)據(jù)發(fā)送給分身應(yīng)用程序,分身應(yīng)用程序收到此數(shù)據(jù)時(shí),判斷command為UPDATE,data為NULL,根據(jù)data為NULL確定其不需要進(jìn)行升級(jí),分身應(yīng)用程序?qū)⑵渥詣?dòng)更新標(biāo)識(shí)符(auto_update)重新置為可自動(dòng)升級(jí),即將auto_update設(shè)置為1,不影響分身應(yīng)用程序后期的自動(dòng)更新。

三、根據(jù)步驟二中的判斷,當(dāng)升級(jí)數(shù)據(jù)包的版本號(hào)比分身應(yīng)用程序的當(dāng)前版本號(hào)新時(shí),將升級(jí)數(shù)據(jù)包以{UPDATE,DATA}的形式發(fā)送給分身應(yīng)用程序,分身應(yīng)用程序收到這個(gè)數(shù)據(jù)包時(shí),檢測(cè)到command為UPDATE,且data不為空,表示自己需要升級(jí),將DATA數(shù)據(jù)存放到其程序數(shù)據(jù)區(qū)中的對(duì)應(yīng)目錄中完成升級(jí)操作。在完成升級(jí)操作后,同樣將分身應(yīng)用程序的自動(dòng)升級(jí)標(biāo)志(auto_update)置為可自動(dòng)升級(jí),即將auto_update設(shè)置為1,不影響后期分身應(yīng)用程序的升級(jí)。

上述操作的好處還在于不局限于主應(yīng)用程序去升級(jí)分身應(yīng)用程序,當(dāng)分身應(yīng)用程序先檢測(cè)到使用升級(jí)數(shù)據(jù)包進(jìn)行升級(jí)時(shí),同樣可以去升級(jí)主應(yīng)用程序,做到了雙向升級(jí),靈活度高。

本提案中涉及到兩個(gè)標(biāo)識(shí)符,分別為mDuplicate和auto_update,這兩個(gè)標(biāo)識(shí)的相關(guān)信息如表1所示:

表1

本方案中涉及到的數(shù)據(jù)結(jié)構(gòu)如下:

圖6示出了根據(jù)本發(fā)明的又一個(gè)實(shí)施例的終端的結(jié)構(gòu)示意圖。

如圖6所示,根據(jù)本發(fā)明的又一個(gè)實(shí)施例的終端600,包括:處理器602、存儲(chǔ)器604和通信總線606。通信總線606用于實(shí)現(xiàn)處理器602和存儲(chǔ)器604之間的連接通信。存儲(chǔ)器604可以是高速RAM(Random Access Memory,隨機(jī)存儲(chǔ)器),也可以是非易失性存儲(chǔ)器(non-volatile memory),例如至少一個(gè)磁盤存儲(chǔ)器。處理器602包括CPU(Central Processing Unit,中央處理器)。其中,通過調(diào)用存儲(chǔ)器604中存儲(chǔ)的指令,來使處理器602執(zhí)行如下步驟:在為兩個(gè)應(yīng)用程序中的任一應(yīng)用程序下載升級(jí)數(shù)據(jù)包進(jìn)行升級(jí)時(shí),獲取所述升級(jí)數(shù)據(jù)包的版本和所述兩個(gè)應(yīng)用程序中的其他應(yīng)用程序的當(dāng)前版本;若所述升級(jí)數(shù)據(jù)包的版本比所述其他應(yīng)用程序的當(dāng)前版本新,則將所述升級(jí)數(shù)據(jù)包發(fā)送到所述其他應(yīng)用程序所在的系統(tǒng)空間中,以使用所述升級(jí)數(shù)據(jù)包對(duì)所述其他應(yīng)用程序進(jìn)行升級(jí)。

優(yōu)選地,處理器602還用于,在接收到設(shè)置信號(hào)時(shí),設(shè)置所述其他應(yīng)用程序的自動(dòng)升級(jí)權(quán)限。

優(yōu)選地,處理器602具體用于,若所述設(shè)置信號(hào)為在獲取所述其他應(yīng)用程序的當(dāng)前版本時(shí)觸發(fā)的信號(hào),則設(shè)置所述其他應(yīng)用程序不具有自動(dòng)升級(jí)的權(quán)限;或者若所述設(shè)置信號(hào)為所述其他應(yīng)用程序使用所述升級(jí)數(shù)據(jù)包升級(jí)完成時(shí)觸發(fā)的信號(hào)、或者所述其他應(yīng)用程序的當(dāng)前版本比所述升級(jí)數(shù)據(jù)包的版本新時(shí)觸發(fā)的信號(hào),或者所述其他應(yīng)用程序的當(dāng)前版本與所述升級(jí)數(shù)據(jù)包的版本號(hào)相同時(shí)觸發(fā)的信號(hào),則設(shè)置所述其他應(yīng)用程序具有自動(dòng)升級(jí)的權(quán)限。

優(yōu)選地,處理器602具體用于,通過修改所述其他應(yīng)用程序的自動(dòng)升級(jí)標(biāo)識(shí),來設(shè)置所述其他應(yīng)用程序的自動(dòng)升級(jí)權(quán)限。

優(yōu)選地,所述兩個(gè)系統(tǒng)空間之間通過socket套接字進(jìn)行通信。

以上結(jié)合附圖詳細(xì)說明了本發(fā)明的技術(shù)方案,通過本發(fā)明的技術(shù)方案,在對(duì)兩個(gè)相互獨(dú)立的系統(tǒng)空間中的應(yīng)用程序進(jìn)行升級(jí)時(shí),可以避免消耗不必要的系統(tǒng)資源。

以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1