本發(fā)明涉及信息共享技術(shù)領(lǐng)域,特別是涉及一種基于應(yīng)用程序進(jìn)行信息共享的方法及裝置。
背景技術(shù):
隨著移動(dòng)互聯(lián)網(wǎng)的日漸壯大,越來越多的手機(jī)應(yīng)用程序(App,Application)出現(xiàn)在各個(gè)推廣渠道上,如應(yīng)用商店、網(wǎng)頁廣告入口、手機(jī)預(yù)裝等都是常見的推廣渠道。
現(xiàn)有技術(shù)中,App開發(fā)商為了更好的區(qū)分這些發(fā)布于不同渠道的App,在App發(fā)布前,在打包過程中將渠道標(biāo)識(shí)一并打進(jìn)應(yīng)用程序包中。渠道標(biāo)識(shí)能夠區(qū)分應(yīng)用程序安裝包的發(fā)布渠道。
同一個(gè)應(yīng)用程序,在不同的渠道發(fā)行會(huì)有不同的安裝包,這樣隨著推廣渠道越來越多,即使是一個(gè)應(yīng)用程序,其安裝包也會(huì)有很多個(gè)。這樣App開發(fā)商維護(hù)起來會(huì)很復(fù)雜,例如如果出現(xiàn)某個(gè)應(yīng)用程序的升級(jí),App開發(fā)商必須針對(duì)不同渠道安裝的App開發(fā)不同的升級(jí)包,這樣導(dǎo)致維護(hù)成本很大。同時(shí)由于管理多個(gè)發(fā)行渠道的App發(fā)行平臺(tái)會(huì)存儲(chǔ)很多個(gè)同一App的多個(gè)帶渠道標(biāo)記的安裝包,也會(huì)導(dǎo)致消耗很多的存儲(chǔ)空間,造成很大的空間壓力。例如,請(qǐng)參見圖1,App1在渠道1和渠道2兩個(gè)渠道同時(shí)發(fā)行,需要為這兩個(gè)渠道生成2個(gè)應(yīng)用程序包,分別包含渠道1和渠道2信息;依次類推,隨著渠道越來越多,App1的應(yīng)用程序包的數(shù)量也會(huì)越來越多,管理多個(gè)發(fā)行渠道的App發(fā)行平臺(tái)占用的存儲(chǔ)空間也會(huì)越來越多。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明主要解決的技術(shù)問題是提供一種信息共享的方法及裝置,能 夠節(jié)省App發(fā)行平臺(tái)的存儲(chǔ)空間,并使應(yīng)用程序的開發(fā)商方便管理與維護(hù)應(yīng)用程序。
為解決上述技術(shù)問題,本發(fā)明采用的一個(gè)技術(shù)方案是:提供一種信息共享的方法,包括:向終端設(shè)備的共享存儲(chǔ)區(qū)中寫入包含應(yīng)用程序的安裝包來源的共享信息;下載應(yīng)用程序安裝包,安裝所述應(yīng)用程序;在所述終端設(shè)備共享區(qū)域中讀取所述共享信息;將所述共享信息寫入終端設(shè)備為所述應(yīng)用程序分配的私有存儲(chǔ)空間中。
其中,所述方法還包括:加密所述共享信息。
其中,所述方法還包括:按照預(yù)設(shè)協(xié)議生成所述共享信息;在所述終端設(shè)備共享存儲(chǔ)區(qū)中讀取所述共享信息后,按照所述預(yù)設(shè)協(xié)議解析所述共享信息;將所述解析后的共享信息寫入終端設(shè)備為所述應(yīng)用程序分配的私有存儲(chǔ)空間中。
其中,所述方法還包括:在所述終端設(shè)備的內(nèi)置或外置安全數(shù)字SD卡上創(chuàng)建所述共享存儲(chǔ)區(qū)。
其中,所述方法還包括:在向所述終端設(shè)備的共享存儲(chǔ)區(qū)中寫入包含所述應(yīng)用程序的安裝包來源的共享信息時(shí),生成寫入鎖文件;當(dāng)向所述終端設(shè)備的共享存儲(chǔ)區(qū)中寫入包含所述應(yīng)用程序的安裝包來源的共享信息完成后,刪除所述寫入鎖文件。
其中,所述預(yù)定協(xié)議包括數(shù)據(jù)格式協(xié)議和加密協(xié)議。
為解決上述技術(shù)問題,本發(fā)明采用的另一個(gè)技術(shù)方案是:提供一種信息共享的裝置,所述裝置包括:第一寫入模塊,用于向終端設(shè)備的共享存儲(chǔ)區(qū)中寫入包含應(yīng)用程序的安裝包來源的共享信息;下載安裝模塊,用于下載應(yīng)用程序安裝包,安裝所述應(yīng)用程序;讀取模塊,用于在所述終端設(shè)備共享區(qū)域中讀取所述共享信息;第二寫入模塊,用于將所述共享信息寫入終端設(shè)備為所述應(yīng)用程序分配的私有存儲(chǔ)空間中。
其中,所述裝置還包括:加密模塊,用于加密所述共享信息。
其中,所述裝置還包括:生成模塊,用于按照預(yù)設(shè)協(xié)議生成所述共享信息;解析模塊,用于在所述終端設(shè)備共享存儲(chǔ)區(qū)中讀取所述共享信息后,按照所述預(yù)設(shè)協(xié)議解析所述共享信息;所述第二寫入模塊還用于 將所述解析后的共享信息寫入終端設(shè)備為所述應(yīng)用程序分配的私有存儲(chǔ)空間中。
其中,所述裝置還包括:創(chuàng)建模塊,用于在所述終端設(shè)備的內(nèi)置或外置安全數(shù)字SD卡上創(chuàng)建所述共享存儲(chǔ)區(qū)。
其中,所述裝置還包括:生成模塊,用于在向所述終端設(shè)備的共享存儲(chǔ)區(qū)中寫入包含所述應(yīng)用程序的安裝包來源的共享信息時(shí),生成寫入鎖文件;刪除模塊,用于當(dāng)向所述終端設(shè)備的共享存儲(chǔ)區(qū)中寫入包含所述應(yīng)用程序的安裝包來源的共享信息完成后,刪除所述寫入鎖文件。
其中,所述預(yù)定協(xié)議包括數(shù)據(jù)格式協(xié)議和加密協(xié)議。
本發(fā)明的有益效果是:區(qū)別于現(xiàn)有技術(shù)的情況,本發(fā)明向終端設(shè)備的共享存儲(chǔ)區(qū)中寫入包含應(yīng)用程序的安裝包來源的共享信息;下載應(yīng)用程序安裝包,安裝所述應(yīng)用程序;在所述終端設(shè)備共享區(qū)域中讀取所述共享信息;將所述共享信息寫入終端設(shè)備為所述應(yīng)用程序分配的私有存儲(chǔ)空間中。由于在終端設(shè)備的共享存儲(chǔ)區(qū)中寫入包含App的安裝包來源的共享信息,使得App在打包App包時(shí)不需要將不同安裝包來源打包進(jìn)去,一個(gè)App只需要一個(gè)App包,共享信息能夠在終端設(shè)備讀取,通過這種方式,能夠節(jié)省App發(fā)行平臺(tái)的存儲(chǔ)空間,并使App的開發(fā)商方便管理與維護(hù)App。
附圖說明
圖1是現(xiàn)有技術(shù)中不同的應(yīng)用程序在不同的推廣渠道中進(jìn)行推廣時(shí)的示意圖;
圖2是本發(fā)明信息共享的方法一實(shí)施方式的流程圖;
圖3是本發(fā)明信息共享的方法另一實(shí)施方式的流程圖;
圖4是本發(fā)明信息共享的方法在實(shí)際應(yīng)用中的一具體實(shí)施方式的流程示意圖;
圖5是本發(fā)明信息共享的方法在實(shí)際應(yīng)用中的另一具體實(shí)施方式的示意圖;
圖6是本發(fā)明信息共享的裝置一實(shí)施方式的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施方式對(duì)本發(fā)明進(jìn)行詳細(xì)說明。
本發(fā)明的信息共享的方法及裝置,向終端設(shè)備的共享存儲(chǔ)區(qū)中寫入包含應(yīng)用程序的安裝包來源的共享信息;下載應(yīng)用程序安裝包,安裝所述應(yīng)用程序;在所述終端設(shè)備共享區(qū)域中讀取所述共享信息;將所述共享信息寫入終端設(shè)備為所述應(yīng)用程序分配的私有存儲(chǔ)空間中。由于在終端設(shè)備的共享存儲(chǔ)區(qū)中寫入包含App的安裝包來源的共享信息,使得App在打包App包時(shí)不需要將不同安裝包來源打包進(jìn)去,一個(gè)App只需要一個(gè)App包,共享信息能夠在終端設(shè)備讀取,通過這種方式,能夠節(jié)省App發(fā)行平臺(tái)的存儲(chǔ)空間,并使App的開發(fā)商方便管理與維護(hù)App。
參閱圖2,圖2是本發(fā)明信息共享的方法一實(shí)施方式的流程圖,包括:
步驟S101:向終端設(shè)備的共享存儲(chǔ)區(qū)中寫入包含應(yīng)用程序的安裝包來源的共享信息。
共享存儲(chǔ)區(qū)是在終端設(shè)備(例如,手機(jī),平板電腦等)上專門創(chuàng)建的用來存儲(chǔ)共享信息的區(qū)域。應(yīng)用程序的安裝包來源是指該應(yīng)用程序是從哪里下載來的,或者是應(yīng)用程序安裝包的推廣渠道信息。例如,應(yīng)用程序的安裝包來源是應(yīng)用商店、網(wǎng)頁廣告入口、手機(jī)預(yù)裝等等。
步驟S102:下載應(yīng)用程序安裝包,安裝應(yīng)用程序。
步驟S103:在終端設(shè)備共享存儲(chǔ)區(qū)中讀取共享信息。
在應(yīng)用程序安裝完成后,可以去終端設(shè)備共享存儲(chǔ)區(qū)中讀取共享信息。
步驟S104:將共享信息寫入終端設(shè)備為應(yīng)用程序分配的私有存儲(chǔ)空間中。
當(dāng)應(yīng)用程序安裝后,一般終端設(shè)備都有為該應(yīng)用程序分配的私有存儲(chǔ)空間(在個(gè)人計(jì)算機(jī)上可以是應(yīng)用程序的安裝目錄,在移動(dòng)終端上可以是分配給應(yīng)用程序的存儲(chǔ)空間),用于存放相關(guān)的文件。將共享信息寫入私有存儲(chǔ)空間,也不需要重新占用新的存儲(chǔ)空間。
例如:應(yīng)用商店應(yīng)用程序可以將渠道信息(即應(yīng)用商店)作為共享信息存儲(chǔ)在終端設(shè)備的共享存儲(chǔ)區(qū)中。用戶從應(yīng)用商店上下載其它任何應(yīng)用程序并安裝應(yīng)用程序后,從終端設(shè)備共享存儲(chǔ)區(qū)中讀取渠道信息(即應(yīng)用商店),然后將渠道信息(即應(yīng)用商店)寫入終端設(shè)備為該應(yīng)用程序分配的私有存儲(chǔ)空間中。因此,在應(yīng)用商店上發(fā)布的任何應(yīng)用程序安裝包均不需要攜帶渠道信息,在手機(jī)上安裝后,可以直接到共享存儲(chǔ)區(qū)讀取渠道信息,然后寫入私有存儲(chǔ)空間,該應(yīng)用程序也就有了渠道信息。
又例如:假設(shè)推廣渠道有應(yīng)用商店1、應(yīng)用商店2、應(yīng)用商店3,應(yīng)用程序1和應(yīng)用程序2的安裝包都保存在公共App服務(wù)器上,應(yīng)用商店1、應(yīng)用商店2、應(yīng)用商店3均發(fā)布了應(yīng)用程序1和應(yīng)用程序2的安裝信息。
當(dāng)用戶從應(yīng)用商店1下載應(yīng)用程序1時(shí),應(yīng)用商店1將下載地址轉(zhuǎn)到公共App服務(wù)器上,讓用戶從公共App服務(wù)器上下載應(yīng)用程序1的安裝包,同時(shí)應(yīng)用商店1將渠道信息(即應(yīng)用商店1)寫入共享存儲(chǔ)區(qū)中(如:應(yīng)用程序1-應(yīng)用商店1),從共享存儲(chǔ)區(qū)中即可讀取應(yīng)用程序1的渠道信息為應(yīng)用商店1。
當(dāng)用戶從應(yīng)用商店2下載應(yīng)用程序2時(shí),應(yīng)用商店2將下載地址轉(zhuǎn)到公共App服務(wù)器上,讓用戶從公共App服務(wù)器上下載應(yīng)用程序2的安裝包,同時(shí)應(yīng)用商店2將渠道信息(即應(yīng)用商店2)寫入共享存儲(chǔ)區(qū)中(如:應(yīng)用程序2-應(yīng)用商店2),從共享存儲(chǔ)區(qū)中即可讀取應(yīng)用程序2的渠道信息為應(yīng)用商店2。
當(dāng)用戶從應(yīng)用商店2下載應(yīng)用程序1,準(zhǔn)備安裝時(shí),應(yīng)用商店2將下載地址轉(zhuǎn)到公共App服務(wù)器上,讓用戶從公共App服務(wù)器上下載應(yīng)用程序1的安裝包,同時(shí)應(yīng)用商店2將渠道信息(即應(yīng)用商店2)寫入共享存儲(chǔ)區(qū)中時(shí),發(fā)現(xiàn)存在應(yīng)用程序1-應(yīng)用商店1,此時(shí),可以將應(yīng)用程序1-應(yīng)用商店1替換為應(yīng)用程序1-應(yīng)用商店2,以保證從共享存儲(chǔ)區(qū)中即可讀取應(yīng)用程序1當(dāng)前的渠道信息為應(yīng)用商店2;或者設(shè)置應(yīng)用程序1的渠道信息的優(yōu)先級(jí)按照時(shí)間先后順序,最近的時(shí)間優(yōu)先級(jí)最高,應(yīng) 用商店2將渠道信息(即應(yīng)用商店2)寫入共享存儲(chǔ)區(qū)中(如:應(yīng)用程序1-應(yīng)用商店2),當(dāng)從共享存儲(chǔ)區(qū)中讀取應(yīng)用文件1的渠道信息時(shí),根據(jù)優(yōu)先級(jí)確定應(yīng)用文件1的渠道信息為應(yīng)用商店2;或者還可以采用其他方式。
不管是上述哪種應(yīng)用場(chǎng)景,應(yīng)用文件的安裝包中不再攜帶渠道信息,一個(gè)應(yīng)用程序在公共App服務(wù)器中當(dāng)前只有一個(gè)安裝包,通過這種方式,一個(gè)應(yīng)用程序的安裝包只需要存儲(chǔ)在公共App服務(wù)器上,渠道服務(wù)器上可以不存儲(chǔ)應(yīng)用程序的安裝包,當(dāng)一個(gè)應(yīng)用程序通過多種渠道進(jìn)行分發(fā)時(shí),App的開發(fā)商就不需要為每個(gè)渠道制定一個(gè)新的App安裝包,能夠使得App開發(fā)商方便的管理和維護(hù)App,同時(shí)當(dāng)有多個(gè)發(fā)行渠道的App發(fā)布平臺(tái)能夠公用一個(gè)公共App服務(wù)器,能夠節(jié)省App發(fā)布平臺(tái)的存儲(chǔ)空間。
本發(fā)明實(shí)施方式向終端設(shè)備的共享存儲(chǔ)區(qū)中寫入包含應(yīng)用程序的安裝包來源的共享信息;下載應(yīng)用程序安裝包,安裝所述應(yīng)用程序;在所述終端設(shè)備共享區(qū)域中讀取所述共享信息;將所述共享信息寫入終端設(shè)備為所述應(yīng)用程序分配的私有存儲(chǔ)空間中。由于在終端設(shè)備的共享存儲(chǔ)區(qū)中寫入包含App的安裝包來源的共享信息,使得App在打包App包時(shí)不需要將不同安裝包來源打包進(jìn)去,一個(gè)App只需要一個(gè)App包,共享信息能夠在終端設(shè)備讀取,通過這種方式,能夠節(jié)省App發(fā)行平臺(tái)的存儲(chǔ)空間,并使App的開發(fā)商方便管理與維護(hù)App。
其中,在步驟S101之前,該方法還可以包括:加密共享信息。對(duì)共享信息加密,可以保證共享信息的安全性。
其中,在步驟S101之前,該方法還可以包括:按照預(yù)設(shè)協(xié)議生成共享信息;此時(shí),步驟S103在終端設(shè)備共享存儲(chǔ)區(qū)中讀取共享信息后,需要按照預(yù)設(shè)協(xié)議解析共享信息;步驟S104具體可以是:將解析后的共享信息寫入終端設(shè)備為應(yīng)用程序分配的私有存儲(chǔ)空間中。
其中,在步驟S101之前,該方法還包括:在終端設(shè)備的內(nèi)置或外置安全數(shù)字SD卡上創(chuàng)建共享存儲(chǔ)區(qū)。共享存儲(chǔ)區(qū)創(chuàng)建在終端設(shè)備的內(nèi)置或外置SD卡上,能夠直接方便地獲得共享信息,且可以避免占用終 端設(shè)備的內(nèi)存。
其中,參見圖3,該方法還包括:
步驟S201:在向終端設(shè)備的共享存儲(chǔ)區(qū)中寫入包含應(yīng)用程序的安裝包來源的共享信息時(shí),生成寫入鎖文件。通過這種方式,可以便于在寫入共享信息完成之前,避免讀取共享信息。即避免出現(xiàn)讀寫問題,從而實(shí)現(xiàn)信息的順利共享。
步驟S202:當(dāng)向終端設(shè)備的共享存儲(chǔ)區(qū)中寫入包含應(yīng)用程序的安裝包來源的共享信息完成后,刪除寫入鎖文件。通過這種方式,可以便于在寫入共享信息完成之后,能夠讀取共享信息。
為了避免多個(gè)同時(shí)寫入和讀取操作,導(dǎo)致數(shù)據(jù)失真,可以生成一個(gè)“寫入鎖文件”,在讀取共享信息時(shí),如果發(fā)現(xiàn)有該“寫入鎖文件”,則說明在寫入,則等待其寫入完成后再讀取。
其中,預(yù)定協(xié)議包括數(shù)據(jù)格式協(xié)議和加密協(xié)議。例如,為保證共享信息的安全和保密,可以使用循環(huán)冗余校驗(yàn)碼(CRC,Cyclic Redundancy Check)做完整性校驗(yàn),使用M9或其他加密算法做共享信息的加密。數(shù)據(jù)格式采用讀寫操作方便的JavaScript對(duì)象表示法(JSON,JavaScript Object Notation)結(jié)構(gòu),寫入的共享信息在共享存儲(chǔ)區(qū)中用鍵值對(duì)的方式進(jìn)行存儲(chǔ),考慮數(shù)據(jù)的多樣性和復(fù)雜性,可以按業(yè)務(wù)區(qū)分鍵值,如:
下面以共享信息為渠道信息,默認(rèn)信息為默認(rèn)渠道信息為例來說明 本發(fā)明信息共享的方法。
發(fā)行渠道應(yīng)用商店提供App1的發(fā)行信息,App1安裝包保存在App公共服務(wù)器(圖未示)中,且App1安裝包不攜帶渠道信息,只攜帶一個(gè)默認(rèn)渠道信息,發(fā)行渠道應(yīng)用商店App將自己的渠道信息1作為共享信息寫入手機(jī)的共享存儲(chǔ)區(qū)中,當(dāng)用戶從發(fā)行渠道應(yīng)用商店點(diǎn)擊下載App1安裝包時(shí),應(yīng)用商店將下載地址轉(zhuǎn)到App公共服務(wù)器,使用戶從App公共服務(wù)器下載App1安裝包,當(dāng)攜帶有默認(rèn)渠道信息的App1安裝包在下載安裝(例如:下載后安裝在私有存儲(chǔ)區(qū))后,App1去共享存儲(chǔ)區(qū)中讀取共享信息,獲得渠道信息1,并將該渠道信息1寫入手機(jī)為該App1分配的私有存儲(chǔ)空間中,從而完成信息共享的目的。
上述發(fā)行渠道應(yīng)用商店App共享渠道信息的流程可以參見圖4。需要說明的是,圖4中的步驟和步驟之間的順序僅僅只是一個(gè)具體的實(shí)施方式,在實(shí)際應(yīng)用中,根據(jù)具體情況可以增減步驟或調(diào)整步驟的順序,在此不作限制。
第一步:手機(jī)在發(fā)行渠道中下載App1安裝包,發(fā)行渠道將下載地址轉(zhuǎn)到App公共服務(wù)器上,在App公共服務(wù)器上,該App1安裝包沒有攜帶渠道信息,只是攜帶默認(rèn)渠道信息。
第二步:下載安裝完成。
第三步:發(fā)行渠道App將渠道信息加密作為共享信息寫入手機(jī)的共享存儲(chǔ)區(qū)中。
第四步:App1從共享存儲(chǔ)區(qū)中讀取并解密渠道信息,如果成功解密,進(jìn)入第五步,如果解密沒有成功,進(jìn)入第六步。
第五步:在讀取并解密成功后,App1從共享存儲(chǔ)區(qū)獲取渠道信息,并將共享信息寫入終端設(shè)備為App1分配的私有存儲(chǔ)空間中。
第六步:在讀取并解密失敗后,App1讀取自身攜帶的默認(rèn)渠道信息。
通過上述方式,由于App公共服務(wù)器上的App不攜帶渠道信息,不管有多少個(gè)發(fā)行渠道,只需要打一個(gè)App安裝包即可,當(dāng)從不同的發(fā)行渠道下載App安裝包時(shí),均轉(zhuǎn)到App公共服務(wù)器上進(jìn)行下載,這一方面 能夠節(jié)省App發(fā)行平臺(tái)的存儲(chǔ)空間,另一方面使App的開發(fā)商方便管理與維護(hù)App。
在實(shí)際應(yīng)用中,當(dāng)有多個(gè)發(fā)行渠道時(shí),一般有兩種情況,一種是:從不同的發(fā)行渠道下載不同的App;另一種情況是:從不同的發(fā)行渠道下載相同的App,這兩種發(fā)行渠道App共享渠道信息的流程。請(qǐng)參見圖5,其中,發(fā)行渠道包括活動(dòng)頁面渠道和應(yīng)用商店渠道,App1和App2保存在App公共服務(wù)器中,在App公共服務(wù)器上,該App1安裝包和App2安裝包沒有攜帶渠道信息,只是攜帶默認(rèn)渠道信息,假設(shè)App下載后均安裝在手機(jī)為App分配的私有存儲(chǔ)區(qū)中。
用戶通過活動(dòng)頁面渠道下載App1安裝包,具體內(nèi)容包括:
(1)用戶通過活動(dòng)頁面渠道下載App1安裝包時(shí),活動(dòng)頁面渠道將下載地址轉(zhuǎn)到App公共服務(wù)器中,使用戶實(shí)際上從App公共服務(wù)器下載。
(2)下載完成并安裝App1。
(3)活動(dòng)頁面渠道App將渠道信息寫入終端設(shè)備的共享存儲(chǔ)區(qū)中(例如:App1-活動(dòng)頁面)。
(4)App1從共享存儲(chǔ)區(qū)中讀取渠道信息為活動(dòng)頁面。
(5)App1將活動(dòng)頁面渠道寫入終端設(shè)備為App1分配的私有存儲(chǔ)空間中。
用戶通過應(yīng)用商店渠道下載App2安裝包,具體內(nèi)容包括:
(a)用戶通過應(yīng)用商店渠道下載App2安裝包時(shí),應(yīng)用商店渠道將下載地址轉(zhuǎn)到App公共服務(wù)器中,使用戶實(shí)際上從App公共服務(wù)器下載。
(b)下載完成并安裝App2。
(c)應(yīng)用商店渠道App將渠道信息寫入終端設(shè)備的共享存儲(chǔ)區(qū)中(例如:App2-應(yīng)用商店)。
(d)App2從共享存儲(chǔ)區(qū)中讀取渠道信息為應(yīng)用商店。
(e)App2將應(yīng)用商店寫入終端設(shè)備為App2分配的私有存儲(chǔ)空間中。
用戶通過應(yīng)用商店渠道下載App1安裝包,且用戶通過活動(dòng)頁面渠道已經(jīng)下載并安裝過App1安裝包,具體內(nèi)容包括:
(A)用戶通過應(yīng)用商店渠道下載App1安裝包時(shí),應(yīng)用商店渠道將下載地址轉(zhuǎn)到App公共服務(wù)器中,使用戶實(shí)際上從App公共服務(wù)器下載。
(B)下載完成并安裝App1,同時(shí)替換之前已經(jīng)下載且安裝的App1。
(C)應(yīng)用商店渠道App將渠道信息寫入終端設(shè)備的共享存儲(chǔ)區(qū)中時(shí),發(fā)現(xiàn)共享存儲(chǔ)區(qū)存在共享信息App1-活動(dòng)頁面,然后按照預(yù)先設(shè)置的優(yōu)先級(jí),確定時(shí)間最接近的渠道信息寫入共享存儲(chǔ)區(qū)中,因此將共享信息App1-活動(dòng)頁面替換掉,寫入App1-應(yīng)用商店。
(D)App1從共享存儲(chǔ)區(qū)中讀取渠道信息為應(yīng)用商店。
(E)App1將應(yīng)用商店渠道寫入終端設(shè)備為App1分配的私有存儲(chǔ)空間中。
在實(shí)際應(yīng)用中,對(duì)于多個(gè)發(fā)行渠道在共享信息時(shí),當(dāng)發(fā)行渠道App寫入時(shí),可以進(jìn)行優(yōu)先級(jí)別的判斷,優(yōu)先級(jí)可以根據(jù)實(shí)際情況需要預(yù)先設(shè)定,優(yōu)先級(jí)別高的發(fā)行渠道的渠道信息優(yōu)先寫入共享存儲(chǔ)區(qū)中,從而可以確保正確的共享信息寫入共享存儲(chǔ)區(qū)中。
通過上述方式,由于App公共服務(wù)器上的App不攜帶渠道信息,不管有多少個(gè)發(fā)行渠道,只需要打一個(gè)App安裝包即可,當(dāng)從不同的發(fā)行渠道下載App安裝包時(shí),均轉(zhuǎn)到App公共服務(wù)器上進(jìn)行下載,這一方面能夠節(jié)省App發(fā)行平臺(tái)的存儲(chǔ)空間,另一方面使App的開發(fā)商方便管理與維護(hù)App。
另外,以一個(gè)具體的例子說明本發(fā)明的優(yōu)點(diǎn)及價(jià)值:
在使用本發(fā)明方案以前,假設(shè)有100個(gè)不同的App,分別在門戶網(wǎng)站入口、活動(dòng)頁面入口、其它應(yīng)用市場(chǎng)等300個(gè)發(fā)行渠道進(jìn)行發(fā)行,使用本發(fā)明之前的現(xiàn)有技術(shù)的方案,需要打30000(100×300)個(gè)對(duì)應(yīng)的包含發(fā)行渠道信息的安裝包。使用本發(fā)明方案優(yōu)化后,約60%左右的發(fā)行渠道已經(jīng)支持渠道信息共享的方案,還剩下約40%左右的發(fā)行渠道還沒完全采用本發(fā)明方案,這40%的發(fā)行渠道(即120個(gè)發(fā)行渠道)需要按本發(fā)明之前的現(xiàn)有技術(shù)的方案進(jìn)行打包,需要打12100個(gè)左右(即100+120×100)對(duì)應(yīng)的包含發(fā)行渠道信息的安裝包,來發(fā)行這這些App,很明顯,在60%左右的發(fā)行渠道已經(jīng)支持渠道信息共享的方案的情況下, 從App安裝包數(shù)量、App發(fā)行平臺(tái)占用空間和App的開發(fā)商維護(hù)成本看,均節(jié)約了60%,本發(fā)明信息共享方案的效果是相當(dāng)明顯的。
參閱圖6,圖6是本發(fā)明信息共享的裝置一實(shí)施方式的結(jié)構(gòu)示意圖,該裝置在實(shí)際應(yīng)用中可以是手機(jī)、平板電腦等,該裝置可以執(zhí)行上述的方法流程。該裝置包括:第一寫入模塊101、下載安裝模塊102、讀取模塊103以及第二寫入模塊104。
第一寫入模塊101用于向終端設(shè)備的共享存儲(chǔ)區(qū)中寫入包含應(yīng)用程序的安裝包來源的共享信息。
共享存儲(chǔ)區(qū)是在終端設(shè)備(例如,手機(jī),平板電腦等)上專門創(chuàng)建的用來存儲(chǔ)共享信息的區(qū)域。應(yīng)用程序的安裝包來源是指該應(yīng)用程序是從哪里下載來的,或者是應(yīng)用程序安裝包的推廣渠道信息。例如,應(yīng)用程序的安裝包來源是應(yīng)用商店、網(wǎng)頁廣告入口、手機(jī)預(yù)裝等等。
下載安裝模塊102用于下載應(yīng)用程序安裝包,安裝應(yīng)用程序。
讀取模塊103用于在終端設(shè)備共享區(qū)域中讀取共享信息。
在應(yīng)用程序安裝完成后,可以去終端設(shè)備共享存儲(chǔ)區(qū)中讀取共享信息。
第二寫入模塊104用于將共享信息寫入終端設(shè)備為應(yīng)用程序分配的私有存儲(chǔ)空間中。
當(dāng)應(yīng)用程序安裝后,一般終端設(shè)備都有為該應(yīng)用程序分配的私有存儲(chǔ)空間(在個(gè)人計(jì)算機(jī)上可以是應(yīng)用程序的安裝目錄,在移動(dòng)終端上可以是分配給應(yīng)用程序的存儲(chǔ)空間),用于存放相關(guān)的文件。將共享信息寫入私有存儲(chǔ)空間,也不需要重新占用新的存儲(chǔ)空間。
本發(fā)明實(shí)施方式向終端設(shè)備的共享存儲(chǔ)區(qū)中寫入包含應(yīng)用程序的安裝包來源的共享信息;下載應(yīng)用程序安裝包,安裝所述應(yīng)用程序;在所述終端設(shè)備共享區(qū)域中讀取所述共享信息;將所述共享信息寫入終端設(shè)備為所述應(yīng)用程序分配的私有存儲(chǔ)空間中。由于在終端設(shè)備的共享存儲(chǔ)區(qū)中寫入包含App的安裝包來源的共享信息,使得App在打包App包時(shí)不需要將不同安裝包來源打包進(jìn)去,一個(gè)App只需要一個(gè)App包,共享信息能夠在終端設(shè)備讀取,通過這種方式,能夠節(jié)省App發(fā)行平臺(tái) 的存儲(chǔ)空間,并使App的開發(fā)商方便管理與維護(hù)App。
其中,該裝置還包括:加密模塊。
加密模塊用于加密共享信息。對(duì)共享信息加密,可以保證共享信息的安全性。
其中,該裝置還包括:生成模塊和解析模塊。
生成模塊用于按照預(yù)設(shè)協(xié)議生成共享信息。
解析模塊用于在終端設(shè)備共享存儲(chǔ)區(qū)中讀取共享信息后,按照預(yù)設(shè)協(xié)議解析共享信息。
此時(shí),第二寫入模塊104還用于將解析后的共享信息寫入終端設(shè)備為應(yīng)用程序分配的私有存儲(chǔ)空間中。
其中,該裝置還包括:創(chuàng)建模塊。
創(chuàng)建模塊用于在終端設(shè)備的內(nèi)置或外置安全數(shù)字SD卡上創(chuàng)建共享存儲(chǔ)區(qū)。共享存儲(chǔ)區(qū)創(chuàng)建在終端設(shè)備的內(nèi)置或外置SD卡上,能夠直接方便地獲得共享信息,且可以避免占用終端設(shè)備的內(nèi)存。
其中,該裝置還包括:生成模塊和刪除模塊。
生成模塊用于在向終端設(shè)備的共享存儲(chǔ)區(qū)中寫入包含應(yīng)用程序的安裝包來源的共享信息時(shí),生成寫入鎖文件。通過這種方式,可以便于在寫入共享信息完成之前,避免讀取共享信息。即避免出現(xiàn)讀寫問題,從而實(shí)現(xiàn)信息的順利共享。
刪除模塊用于當(dāng)向終端設(shè)備的共享存儲(chǔ)區(qū)中寫入包含應(yīng)用程序的安裝包來源的共享信息完成后,刪除寫入鎖文件。通過這種方式,可以便于在寫入共享信息完成之后,能夠讀取共享信息。
為了避免多個(gè)同時(shí)寫入和讀取操作,導(dǎo)致數(shù)據(jù)失真,可以生成一個(gè)“寫入鎖文件”,在讀取共享信息時(shí),如果發(fā)現(xiàn)有該“寫入鎖文件”,則說明在寫入,則等待其寫入完成后再讀取。
其中,預(yù)定協(xié)議包括數(shù)據(jù)格式協(xié)議和加密協(xié)議。
為保證共享信息的安全和保密,可以使用CRC做完整性校驗(yàn),使用M9或其他加密算法做共享信息的加密。數(shù)據(jù)格式采用讀寫操作方便的JSON結(jié)構(gòu),寫入的共享信息在共享存儲(chǔ)區(qū)中用鍵值對(duì)的方式進(jìn)行存 儲(chǔ),考慮數(shù)據(jù)的多樣性和復(fù)雜性,可以按業(yè)務(wù)區(qū)分鍵值。
以上所述僅為本發(fā)明的實(shí)施方式,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。