本申請(qǐng)涉及通信領(lǐng)域,特別涉及一種數(shù)據(jù)遷移方法及系統(tǒng)。
背景技術(shù):
隨著移動(dòng)互聯(lián)網(wǎng)井噴式發(fā)展,移動(dòng)網(wǎng)民數(shù)量呈現(xiàn)爆發(fā)趨勢(shì),為了能獲取更好的移動(dòng)終端使用體驗(yàn),移動(dòng)終端廠商在持續(xù)研發(fā)更先進(jìn)的終端。
得利于移動(dòng)廠商的研發(fā)成果,終端用戶使用最新的終端產(chǎn)品可以獲得更好的使用體驗(yàn),但用戶在更換終端后也會(huì)遇到一些問題,如應(yīng)用程序和應(yīng)用程序運(yùn)行過程中產(chǎn)生的數(shù)據(jù)的遷移問題(即用戶需要將舊終端上的應(yīng)用程序和應(yīng)用程序運(yùn)行過程中產(chǎn)生的數(shù)據(jù)遷移到新終端上)。但,如何進(jìn)行應(yīng)用程序和應(yīng)用程序運(yùn)行過程中產(chǎn)生的數(shù)據(jù)的遷移成為問題。
技術(shù)實(shí)現(xiàn)要素:
為解決上述技術(shù)問題,本申請(qǐng)實(shí)施例提供一種數(shù)據(jù)遷移方法及系統(tǒng),以達(dá)到實(shí)現(xiàn)將歷史終端的應(yīng)用程序和應(yīng)用程序運(yùn)行過程中產(chǎn)生的數(shù)據(jù)遷移到當(dāng)前終端上的目的,技術(shù)方案如下:
一種數(shù)據(jù)遷移方法,包括:
歷史終端加載android安裝包,并解析所述android安裝包,得到可執(zhí)行應(yīng)用程序;
所述歷史終端將所述可執(zhí)行應(yīng)用程序?qū)懭氇?dú)立于所述歷史終端的操作系統(tǒng)的默認(rèn)安裝區(qū)域的第一私有應(yīng)用程序存儲(chǔ)區(qū);
所述歷史終端從所述第一私有應(yīng)用程序存儲(chǔ)區(qū)中加載所述可執(zhí)行應(yīng)用程序,并運(yùn)行所述可執(zhí)行應(yīng)用程序;
所述歷史終端截獲所述可執(zhí)行應(yīng)用程序運(yùn)行過程中的操作請(qǐng)求,并響應(yīng)所述操作請(qǐng)求,將響應(yīng)所述操作請(qǐng)求產(chǎn)生的數(shù)據(jù)存儲(chǔ)至第一私有數(shù)據(jù)存儲(chǔ)區(qū);
所述歷史終端將所述第一私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序和所述第一私有數(shù)據(jù)存儲(chǔ)區(qū)中的數(shù)據(jù)備份至中轉(zhuǎn)存儲(chǔ)區(qū);
當(dāng)前終端從所述中轉(zhuǎn)存儲(chǔ)區(qū)中讀取并存儲(chǔ)所述第一私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序至獨(dú)立于所述當(dāng)前終端的操作系統(tǒng)的默認(rèn)安裝區(qū)域的第二私有應(yīng)用程序存儲(chǔ)區(qū),并從所述中轉(zhuǎn)存儲(chǔ)區(qū)中讀取并存儲(chǔ)所述第一私有數(shù)據(jù)存儲(chǔ)區(qū)中的數(shù)據(jù)至第二私有數(shù)據(jù)存儲(chǔ)區(qū)。
優(yōu)選的,還包括:
所述當(dāng)前終端從所述第二私有應(yīng)用程序存儲(chǔ)區(qū)中加載所述可執(zhí)行應(yīng)用程序,并運(yùn)行所述可執(zhí)行應(yīng)用程序;
所述當(dāng)前終端截獲所述可執(zhí)行應(yīng)用程序運(yùn)行過程中的操作請(qǐng)求,并響應(yīng)所述操作請(qǐng)求,將響應(yīng)所述操作請(qǐng)求產(chǎn)生的數(shù)據(jù)存儲(chǔ)至第二私有數(shù)據(jù)存儲(chǔ)區(qū)。
優(yōu)選的,還包括:
若所述歷史終端與所述當(dāng)前終端為不同的終端且所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中的數(shù)據(jù)中存在與所述歷史終端的硬件信息有關(guān)的數(shù)據(jù),所述當(dāng)前終端獲取所述歷史終端的硬件信息,并將獲取到的所述歷史終端的硬件信息發(fā)送至所述當(dāng)前終端的第二私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序,以使所述當(dāng)前終端的第二私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序利用所述歷史終端的硬件信息解析所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中與所述歷史終端的硬件信息有關(guān)的數(shù)據(jù)。
優(yōu)選的,還包括:
若利用所述歷史終端的硬件信息解析所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中與所述歷史終端的硬件信息有關(guān)的數(shù)據(jù)失敗,所述當(dāng)前終端不恢復(fù)所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中與所述歷史終端的硬件信息有關(guān)的數(shù)據(jù),只恢復(fù)所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中與所述歷史終端的硬件信息有關(guān)的應(yīng)用程序。
一種數(shù)據(jù)遷移系統(tǒng),包括:歷史終端和當(dāng)前終端,所述歷史終端包括:第一應(yīng)用程序安裝代理模塊、第一應(yīng)用程序運(yùn)行代理模塊和備份模塊,所述當(dāng)前終端包括:第一數(shù)據(jù)恢復(fù)模塊;
所述第一應(yīng)用程序安裝代理模塊,用于加載android安裝包,并解析所述android安裝包,得到可執(zhí)行應(yīng)用程序,并將所述可執(zhí)行應(yīng)用程序?qū)懭氇?dú)立于所述歷史終端的操作系統(tǒng)的默認(rèn)安裝區(qū)域的第一私有應(yīng)用程序存儲(chǔ)區(qū);
所述第一應(yīng)用程序運(yùn)行代理模塊,用于從所述第一私有應(yīng)用程序存儲(chǔ)區(qū)中加載所述可執(zhí)行應(yīng)用程序,并運(yùn)行所述可執(zhí)行應(yīng)用程序,并截獲所述可執(zhí)行應(yīng)用程序運(yùn)行過程中的操作請(qǐng)求,并響應(yīng)所述操作請(qǐng)求,將響應(yīng)所述操作請(qǐng)求產(chǎn)生的數(shù)據(jù)存儲(chǔ)至第一私有數(shù)據(jù)存儲(chǔ)區(qū);
所述備份模塊,用于將所述第一私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序和所述第一私有數(shù)據(jù)存儲(chǔ)區(qū)中的數(shù)據(jù)備份至中轉(zhuǎn)存儲(chǔ)區(qū);
所述第一數(shù)據(jù)恢復(fù)模塊,用于從所述中轉(zhuǎn)存儲(chǔ)區(qū)中讀取并存儲(chǔ)所述第一私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序至獨(dú)立于所述當(dāng)前終端的操作系統(tǒng)的默認(rèn)安裝區(qū)域的第二私有應(yīng)用程序存儲(chǔ)區(qū),并從所述中轉(zhuǎn)存儲(chǔ)區(qū)中讀取并存儲(chǔ)所述第一私有數(shù)據(jù)存儲(chǔ)區(qū)中的數(shù)據(jù)至第二私有數(shù)據(jù)存儲(chǔ)區(qū)。
優(yōu)選的,所述當(dāng)前終端還包括:
第二應(yīng)用程序運(yùn)行代理模塊,用于從所述第二私有應(yīng)用程序存儲(chǔ)區(qū)中加載所述可執(zhí)行應(yīng)用程序,并運(yùn)行所述可執(zhí)行應(yīng)用程序,并截獲所述可執(zhí)行應(yīng)用程序運(yùn)行過程中的操作請(qǐng)求,并響應(yīng)所述操作請(qǐng)求,將響應(yīng)所述操作請(qǐng)求產(chǎn)生的數(shù)據(jù)存儲(chǔ)至第二私有數(shù)據(jù)存儲(chǔ)區(qū)。
優(yōu)選的,所述當(dāng)前終端還包括:
獲取模塊,用于若所述歷史終端與所述當(dāng)前終端為不同的終端且所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中的數(shù)據(jù)中存在與所述歷史終端的硬件信息有關(guān)的數(shù)據(jù),獲取所述歷史終端的硬件信息;
發(fā)送模塊,用于將獲取到的所述歷史終端的硬件信息發(fā)送至所述當(dāng)前終端的第二私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序,以使所述當(dāng)前終端的第二私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序利用所述歷史終端的硬件信息解析所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中與所述歷史終端的硬件信息有關(guān)的數(shù)據(jù)。
優(yōu)選的,所述當(dāng)前終端還包括:
第二數(shù)據(jù)恢復(fù)模塊,用于若利用所述歷史終端的硬件信息解析所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中與所述歷史終端的硬件信息有關(guān)的數(shù)據(jù)失敗,不恢復(fù)所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中與所述歷史終端的硬件信息有關(guān)的數(shù)據(jù),只恢復(fù)所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中與所述歷史終端的硬件信息有關(guān)的應(yīng)用程序。
與現(xiàn)有技術(shù)相比,本申請(qǐng)的有益效果為:
在本申請(qǐng)中,通過歷史終端加載android安裝包,并解析所述android安裝包,得到可執(zhí)行應(yīng)用程序;所述歷史終端將所述可執(zhí)行應(yīng)用程序?qū)懭氇?dú)立于所述歷史終端的操作系統(tǒng)的默認(rèn)安裝區(qū)域的第一私有應(yīng)用程序存儲(chǔ)區(qū);所述歷史終端從所述第一私有應(yīng)用程序存儲(chǔ)區(qū)中加載所述可執(zhí)行應(yīng)用程序,并運(yùn)行所述可執(zhí)行應(yīng)用程序;所述歷史終端截獲所述可執(zhí)行應(yīng)用程序運(yùn)行過程中的操作請(qǐng)求,并響應(yīng)所述操作請(qǐng)求,將響應(yīng)所述操作請(qǐng)求產(chǎn)生的數(shù)據(jù)存儲(chǔ)至第一私有數(shù)據(jù)存儲(chǔ)區(qū);所述歷史終端將所述第一私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序和所述第一私有數(shù)據(jù)存儲(chǔ)區(qū)中的數(shù)據(jù)備份至中轉(zhuǎn)存儲(chǔ)區(qū);當(dāng)前終端從所述中轉(zhuǎn)存儲(chǔ)區(qū)中讀取并存儲(chǔ)所述第一私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序至獨(dú)立于所述當(dāng)前終端的操作系統(tǒng)的默認(rèn)安裝區(qū)域的第二私有應(yīng)用程序存儲(chǔ)區(qū),并從所述中轉(zhuǎn)存儲(chǔ)區(qū)中讀取并存儲(chǔ)所述第一私有數(shù)據(jù)存儲(chǔ)區(qū)中的數(shù)據(jù)至第二私有數(shù)據(jù)存儲(chǔ)區(qū),實(shí)現(xiàn)了將歷史終端的應(yīng)用程序和應(yīng)用程序運(yùn)行過程中產(chǎn)生的數(shù)據(jù)遷移到當(dāng)前終端上。
并且,將歷史終端的應(yīng)用程序和應(yīng)用程序運(yùn)行過程中產(chǎn)生的數(shù)據(jù)遷移到當(dāng)前終端的過程中,不需要持續(xù)依賴網(wǎng)絡(luò)連接,提高了遷移方案的通用性。
附圖說明
為了更清楚地說明本申請(qǐng)實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本申請(qǐng)?zhí)峁┑臄?shù)據(jù)遷移方法的一種流程圖;
圖2是本申請(qǐng)?zhí)峁┑臄?shù)據(jù)遷移方法的一種流程框圖;
圖3是本申請(qǐng)?zhí)峁┑臄?shù)據(jù)遷移方法的另一種流程框圖;
圖4是本申請(qǐng)?zhí)峁┑臄?shù)據(jù)遷移方法的再一種流程框圖;
圖5是本申請(qǐng)?zhí)峁┑臄?shù)據(jù)遷移方法的另一種流程圖;
圖6是本申請(qǐng)?zhí)峁┑臄?shù)據(jù)遷移方法的再一種流程圖;
圖7是本申請(qǐng)?zhí)峁┑臄?shù)據(jù)遷移方法的再一種流程圖;
圖8是本申請(qǐng)?zhí)峁┑臄?shù)據(jù)遷移系統(tǒng)的一種邏輯結(jié)構(gòu)示意圖;
圖9是本申請(qǐng)?zhí)峁┑臄?shù)據(jù)遷移系統(tǒng)的另一種邏輯結(jié)構(gòu)示意圖;
圖10是本申請(qǐng)?zhí)峁┑臄?shù)據(jù)遷移系統(tǒng)的再一種邏輯結(jié)構(gòu)示意圖;
圖11是本申請(qǐng)?zhí)峁┑臄?shù)據(jù)遷移系統(tǒng)的再一種邏輯結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
實(shí)施例一
請(qǐng)參見圖1,其示出了本申請(qǐng)?zhí)峁┑臄?shù)據(jù)遷移方法的一種流程圖,可以包括以下步驟:
步驟s11:歷史終端加載android安裝包,并解析所述android安裝包,得到可執(zhí)行應(yīng)用程序。
在本實(shí)施例中,歷史終端新增獨(dú)立于歷史終端操作系統(tǒng)的默認(rèn)安裝模塊的應(yīng)用程序安裝代理模塊和獨(dú)立于歷史終端操作系統(tǒng)的默認(rèn)運(yùn)行模塊的應(yīng)用程序運(yùn)行代理模塊。具體的,歷史終端中的應(yīng)用程序安裝代理模塊加載android安裝包,并解析所述android安裝包,得到可執(zhí)行應(yīng)用程序。更具體的,歷史終端中的應(yīng)用程序安裝代理模塊可以從本地或網(wǎng)絡(luò)上加載android安裝包。
步驟s12:所述歷史終端將所述可執(zhí)行應(yīng)用程序?qū)懭氇?dú)立于所述歷史終端的操作系統(tǒng)的默認(rèn)安裝區(qū)域的第一私有應(yīng)用程序存儲(chǔ)區(qū)。
具體的,歷史終端中的應(yīng)用程序安裝代理模塊將所述可執(zhí)行應(yīng)用程序?qū)懭氇?dú)立于所述歷史終端的操作系統(tǒng)的默認(rèn)安裝區(qū)域的第一私有應(yīng)用程序存儲(chǔ)區(qū)。
步驟s13:所述歷史終端從所述第一私有應(yīng)用程序存儲(chǔ)區(qū)中加載所述可執(zhí)行應(yīng)用程序,并運(yùn)行所述可執(zhí)行應(yīng)用程序。
具體的,由歷史終端中的應(yīng)用程序運(yùn)行代理模塊中的應(yīng)用程序虛擬運(yùn)行模塊從所述第一私有應(yīng)用程序存儲(chǔ)區(qū)中加載所述可執(zhí)行應(yīng)用程序,并運(yùn)行所述可執(zhí)行應(yīng)用程序。
步驟s14:所述歷史終端截獲所述可執(zhí)行應(yīng)用程序運(yùn)行過程中的操作請(qǐng)求,并響應(yīng)所述操作請(qǐng)求,將響應(yīng)所述操作請(qǐng)求產(chǎn)生的數(shù)據(jù)存儲(chǔ)至第一私有數(shù)據(jù)存儲(chǔ)區(qū)。
在運(yùn)行所述可執(zhí)行應(yīng)用程序之后,具體的,由歷史終端中的應(yīng)用程序運(yùn)行代理模塊中的虛擬文件系統(tǒng)模塊監(jiān)控可執(zhí)行應(yīng)用程序運(yùn)行過程中的操作請(qǐng)求,在監(jiān)控到可執(zhí)行應(yīng)用程序運(yùn)行過程中的操作請(qǐng)求時(shí),截獲所述可執(zhí)行應(yīng)用程序運(yùn)行過程中的操作請(qǐng)求,并代替可執(zhí)行應(yīng)用程序響應(yīng)所述操作請(qǐng)求,實(shí)現(xiàn)了對(duì)可執(zhí)行應(yīng)用程序運(yùn)行過程中產(chǎn)生的數(shù)據(jù)的存儲(chǔ)路徑的重定向,將響應(yīng)所述操作請(qǐng)求產(chǎn)生的數(shù)據(jù)存儲(chǔ)至指定的區(qū)域即第一私有數(shù)據(jù)存儲(chǔ)區(qū)。
其中,可執(zhí)行應(yīng)用程序運(yùn)行過程中的操作請(qǐng)求是由用戶在使用可執(zhí)行應(yīng)用程序過程中觸發(fā)的。
在本實(shí)施例中,第一私有應(yīng)用程序存儲(chǔ)區(qū)和第一私有數(shù)據(jù)存儲(chǔ)區(qū)并不局限為歷史終端的本地存儲(chǔ)介質(zhì),如果網(wǎng)絡(luò)滿足要求也可以將云盤作為存儲(chǔ)介質(zhì),存儲(chǔ)區(qū)具體形式可以是目錄,也可以是私有的鏡像文件格式。
步驟s15:所述歷史終端將所述第一私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序和所述第一私有數(shù)據(jù)存儲(chǔ)區(qū)中的數(shù)據(jù)備份至中轉(zhuǎn)存儲(chǔ)區(qū)。
在本實(shí)施例中,中轉(zhuǎn)存儲(chǔ)區(qū)可以但不局限于為云存儲(chǔ)區(qū)。
步驟s16:當(dāng)前終端從所述中轉(zhuǎn)存儲(chǔ)區(qū)中讀取并存儲(chǔ)所述第一私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序至獨(dú)立于所述當(dāng)前終端的操作系統(tǒng)的默認(rèn)安裝區(qū)域的第二私有應(yīng)用程序存儲(chǔ)區(qū),并從所述中轉(zhuǎn)存儲(chǔ)區(qū)中讀取并存儲(chǔ)所述第一私有數(shù)據(jù)存儲(chǔ)區(qū)中的數(shù)據(jù)至第二私有數(shù)據(jù)存儲(chǔ)區(qū)。
在本實(shí)施例中,當(dāng)前終端同樣新增獨(dú)立于當(dāng)前終端操作系統(tǒng)的默認(rèn)安裝模塊的應(yīng)用程序安裝代理模塊和獨(dú)立于當(dāng)前終端操作系統(tǒng)的默認(rèn)運(yùn)行模塊的應(yīng)用程序運(yùn)行代理模塊。
當(dāng)前終端新增的獨(dú)立于當(dāng)前終端操作系統(tǒng)的默認(rèn)安裝模塊的應(yīng)用程序安裝代理模塊與上述歷史終端新增的獨(dú)立于歷史終端操作系統(tǒng)的默認(rèn)安裝模塊的應(yīng)用程序安裝代理模塊的功能相同;以及,當(dāng)前終端新增的獨(dú)立于當(dāng)前終端操作系統(tǒng)的默認(rèn)運(yùn)行模塊的應(yīng)用程序運(yùn)行代理模塊與上述歷史終端新增的獨(dú)立于歷史終端操作系統(tǒng)的默認(rèn)運(yùn)行模塊的應(yīng)用程序運(yùn)行代理模塊的功能相同。
在本實(shí)施例中,第二私有應(yīng)用程序存儲(chǔ)區(qū)和第二私有數(shù)據(jù)存儲(chǔ)區(qū)并不局限為當(dāng)前終端的本地存儲(chǔ)介質(zhì),如果網(wǎng)絡(luò)滿足要求也可以將云盤作為存儲(chǔ)介質(zhì),存儲(chǔ)區(qū)具體形式可以是目錄,也可以是私有的鏡像文件格式。
歷史終端和當(dāng)前終端之間可能存在多個(gè)應(yīng)用程序和對(duì)應(yīng)的數(shù)據(jù)需要遷移,每個(gè)應(yīng)用程序和對(duì)應(yīng)的數(shù)據(jù)的遷移過程均相同,即圖1示出的數(shù)據(jù)遷移方法的過程。
在本申請(qǐng)中,通過歷史終端加載android安裝包,并解析所述android安裝包,得到可執(zhí)行應(yīng)用程序;所述歷史終端將所述可執(zhí)行應(yīng)用程序?qū)懭氇?dú)立于所述歷史終端的操作系統(tǒng)的默認(rèn)安裝區(qū)域的第一私有應(yīng)用程序存儲(chǔ)區(qū);所述歷史終端從所述第一私有應(yīng)用程序存儲(chǔ)區(qū)中加載所述可執(zhí)行應(yīng)用程序,并運(yùn)行所述可執(zhí)行應(yīng)用程序;所述歷史終端截獲所述可執(zhí)行應(yīng)用程序運(yùn)行過程中的操作請(qǐng)求,并響應(yīng)所述操作請(qǐng)求,將響應(yīng)所述操作請(qǐng)求產(chǎn)生的數(shù)據(jù)存儲(chǔ)至第一私有數(shù)據(jù)存儲(chǔ)區(qū);所述歷史終端將所述第一私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序和所述第一私有數(shù)據(jù)存儲(chǔ)區(qū)中的數(shù)據(jù)備份至中轉(zhuǎn)存儲(chǔ)區(qū);當(dāng)前終端從所述中轉(zhuǎn)存儲(chǔ)區(qū)中讀取并存儲(chǔ)所述第一私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序至獨(dú)立于所述當(dāng)前終端的操作系統(tǒng)的默認(rèn)安裝區(qū)域的第二私有應(yīng)用程序存儲(chǔ)區(qū),并從所述中轉(zhuǎn)存儲(chǔ)區(qū)中讀取并存儲(chǔ)所述第一私有數(shù)據(jù)存儲(chǔ)區(qū)中的數(shù)據(jù)至第二私有數(shù)據(jù)存儲(chǔ)區(qū),實(shí)現(xiàn)了將歷史終端的應(yīng)用程序和應(yīng)用程序運(yùn)行過程中產(chǎn)生的數(shù)據(jù)遷移到當(dāng)前終端上。
并且,將歷史終端的應(yīng)用程序和應(yīng)用程序運(yùn)行過程中產(chǎn)生的數(shù)據(jù)遷移到當(dāng)前終端的過程中,不需要持續(xù)依賴網(wǎng)絡(luò)連接,提高了遷移方案的通用性。
進(jìn)一步的,由于將歷史終端上的可執(zhí)行應(yīng)用程序運(yùn)行過程中產(chǎn)生的數(shù)據(jù)存儲(chǔ)到了指定的存儲(chǔ)區(qū)域即第一私有數(shù)據(jù)存儲(chǔ)區(qū),在進(jìn)行數(shù)據(jù)遷移時(shí),歷史終端上的可執(zhí)行應(yīng)用程序運(yùn)行過程中產(chǎn)生的數(shù)據(jù)全部備份到了中轉(zhuǎn)存儲(chǔ)區(qū),同時(shí)當(dāng)前終端同樣設(shè)置有單獨(dú)的第二私有數(shù)據(jù)存儲(chǔ)區(qū),保證歷史終端上的可執(zhí)行應(yīng)用程序運(yùn)行過程中產(chǎn)生的數(shù)據(jù)全部遷移到當(dāng)前終端的第二私有數(shù)據(jù)存儲(chǔ)區(qū),進(jìn)而保證了數(shù)據(jù)遷移的完整性。
為了更直觀的體現(xiàn)圖1示出的數(shù)據(jù)遷移方法的執(zhí)行過程,在本實(shí)施例中提供流程框圖,請(qǐng)參見圖2至圖4。
如圖2所示,apk是androidpackage的縮寫,即android安裝包。
圖4中的android舊終端即上述歷史終端,android新終端即上述當(dāng)前終端。
在本實(shí)施例中,在圖1示出的數(shù)據(jù)遷移方法的基礎(chǔ)上擴(kuò)展出另外一種數(shù)據(jù)遷移方法,請(qǐng)參見圖5,在圖1示出的數(shù)據(jù)遷移方法的基礎(chǔ)上還包括以下步驟:
步驟s17:所述當(dāng)前終端從所述第二私有應(yīng)用程序存儲(chǔ)區(qū)中加載所述可執(zhí)行應(yīng)用程序,并運(yùn)行所述可執(zhí)行應(yīng)用程序。
在本實(shí)施例中,歷史終端上的可執(zhí)行應(yīng)用程序和可執(zhí)行應(yīng)用程序運(yùn)行過程中產(chǎn)生的數(shù)據(jù)遷移到當(dāng)前終端上后,由于當(dāng)前終端的第二私有應(yīng)用程序存儲(chǔ)區(qū)中存儲(chǔ)的是可執(zhí)行應(yīng)用程序,因此當(dāng)前終端可以直接從第二私有應(yīng)用程序存儲(chǔ)區(qū)中加載可執(zhí)行應(yīng)用程序,并運(yùn)行所述可執(zhí)行應(yīng)用程序,不需要將遷移過來的可執(zhí)行應(yīng)用程序重新安裝。
且歷史終端和當(dāng)前終端上的各個(gè)可執(zhí)行應(yīng)用程序自己不需要具備云存儲(chǔ)功能。
步驟s18:所述當(dāng)前終端截獲所述可執(zhí)行應(yīng)用程序運(yùn)行過程中的操作請(qǐng)求,并響應(yīng)所述操作請(qǐng)求,將響應(yīng)所述操作請(qǐng)求產(chǎn)生的數(shù)據(jù)存儲(chǔ)至第二私有數(shù)據(jù)存儲(chǔ)區(qū)。
當(dāng)前終端的第二私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序和第二私有數(shù)據(jù)存儲(chǔ)區(qū)的數(shù)據(jù)遷移到其他終端的過程可以參見圖1示出的數(shù)據(jù)遷移方法的過程,在此不再贅述。只是,當(dāng)前終端的第二私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序和第二私有數(shù)據(jù)存儲(chǔ)區(qū)的數(shù)據(jù)遷移到其他終端時(shí),當(dāng)前終端的角色轉(zhuǎn)換為了歷史終端。
在本實(shí)施例中,歷史終端上某些可執(zhí)行應(yīng)用程序運(yùn)行過程中產(chǎn)生的數(shù)據(jù)與終端硬件信息(如硬件id)有關(guān),如可執(zhí)行應(yīng)用程序使用終端硬件id對(duì)數(shù)據(jù)加密存儲(chǔ),此類情況可執(zhí)行應(yīng)用程序運(yùn)行過程中產(chǎn)生的數(shù)據(jù)從歷史終端遷移到當(dāng)前終端后,遷移到當(dāng)前終端上的可執(zhí)行應(yīng)用程序無法識(shí)別這些數(shù)據(jù),為了使解決這個(gè)問題,可以在以下兩種場(chǎng)景中分別進(jìn)行不同的處理,具體為:
場(chǎng)景一:同一終端恢復(fù)出廠后數(shù)據(jù)恢復(fù)
同一終端因?yàn)橛布畔]有改變,所以可執(zhí)行應(yīng)用程序和可執(zhí)行應(yīng)用程序運(yùn)行過程中產(chǎn)生的數(shù)據(jù)恢復(fù)后都可以正常使用。
場(chǎng)景二:跨終端數(shù)據(jù)恢復(fù)
跨終端數(shù)據(jù)恢復(fù),因?yàn)閮膳_(tái)終端硬件信息不一致,所以對(duì)硬件信息有依賴的可執(zhí)行應(yīng)用程序解析遷移過來的數(shù)據(jù)會(huì)失敗,針對(duì)此類情況本專利有相應(yīng)的處理方法,具體請(qǐng)參見圖6,在圖5示出的數(shù)據(jù)遷移方法的基礎(chǔ)上還包括以下步驟:
步驟s19:若所述歷史終端與所述當(dāng)前終端為不同的終端且所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中的數(shù)據(jù)中存在與所述歷史終端的硬件信息有關(guān)的數(shù)據(jù),所述當(dāng)前終端獲取所述歷史終端的硬件信息,并將獲取到的所述歷史終端的硬件信息發(fā)送至所述當(dāng)前終端的第二私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序,以使所述當(dāng)前終端的第二私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序利用所述歷史終端的硬件信息解析所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中與所述歷史終端的硬件信息有關(guān)的數(shù)據(jù)。
在本實(shí)施例中,當(dāng)前終端新增虛擬硬件模塊,由虛擬硬件模塊獲取所述歷史終端的硬件信息,并將獲取到的所述歷史終端的硬件信息發(fā)送至所述當(dāng)前終端的第二私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序。
在本實(shí)施例中,在圖6示出的數(shù)據(jù)遷移方法的基礎(chǔ)上擴(kuò)展出另外一種數(shù)據(jù)遷移方法,請(qǐng)參見圖7,在圖6示出的數(shù)據(jù)遷移方法的基礎(chǔ)上還包括以下步驟:
步驟s110:若利用所述歷史終端的硬件信息解析所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中與所述歷史終端的硬件信息有關(guān)的數(shù)據(jù)失敗,所述當(dāng)前終端不恢復(fù)所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中與所述歷史終端的硬件信息有關(guān)的數(shù)據(jù),只恢復(fù)所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中與所述歷史終端的硬件信息有關(guān)的應(yīng)用程序。
在本實(shí)施例中,可以預(yù)先配置當(dāng)前終端的執(zhí)行過程,使當(dāng)前終端自動(dòng)執(zhí)行以下過程:若利用所述歷史終端的硬件信息解析所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中與所述歷史終端的硬件信息有關(guān)的數(shù)據(jù)失敗,當(dāng)前終端不恢復(fù)所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中與所述歷史終端的硬件信息有關(guān)的數(shù)據(jù),只恢復(fù)所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中與所述歷史終端的硬件信息有關(guān)的應(yīng)用程序,以達(dá)到不遷移特定應(yīng)用的數(shù)據(jù),只遷移可執(zhí)行應(yīng)用程序本身的目的。
或者,可以預(yù)先配置當(dāng)前終端的執(zhí)行過程,使當(dāng)前終端自動(dòng)執(zhí)行以下過程:若利用所述歷史終端的硬件信息解析所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中與所述歷史終端的硬件信息有關(guān)的數(shù)據(jù)失敗,所述當(dāng)前終端刪除所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中的所有數(shù)據(jù)。
當(dāng)前終端在刪除所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中的所有數(shù)據(jù)后,可以重新導(dǎo)入相應(yīng)的數(shù)據(jù)至第二私有數(shù)據(jù)存儲(chǔ)區(qū),以完成數(shù)據(jù)的遷移。
實(shí)施例二
與上述方法實(shí)施例相對(duì)應(yīng),本實(shí)施例提供了一種數(shù)據(jù)遷移系統(tǒng),請(qǐng)參見圖8,數(shù)據(jù)遷移系統(tǒng)包括:歷史終端1和當(dāng)前終端2,其中,歷史終端1包括:第一應(yīng)用程序安裝代理模塊11、第一應(yīng)用程序運(yùn)行代理模塊12和備份模塊13;當(dāng)前終端2包括:第一數(shù)據(jù)恢復(fù)模塊21。
所述第一應(yīng)用程序安裝代理模塊11,用于加載android安裝包,并解析所述android安裝包,得到可執(zhí)行應(yīng)用程序,并將所述可執(zhí)行應(yīng)用程序?qū)懭氇?dú)立于所述歷史終端1的操作系統(tǒng)的默認(rèn)安裝區(qū)域的第一私有應(yīng)用程序存儲(chǔ)區(qū)。
所述第一應(yīng)用程序運(yùn)行代理模塊12,用于從所述第一私有應(yīng)用程序存儲(chǔ)區(qū)中加載所述可執(zhí)行應(yīng)用程序,并運(yùn)行所述可執(zhí)行應(yīng)用程序,并截獲所述可執(zhí)行應(yīng)用程序運(yùn)行過程中的操作請(qǐng)求,并響應(yīng)所述操作請(qǐng)求,將響應(yīng)所述操作請(qǐng)求產(chǎn)生的數(shù)據(jù)存儲(chǔ)至第一私有數(shù)據(jù)存儲(chǔ)區(qū)。
所述備份模塊13,用于將所述第一私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序和所述第一私有數(shù)據(jù)存儲(chǔ)區(qū)中的數(shù)據(jù)備份至中轉(zhuǎn)存儲(chǔ)區(qū)。
所述第一數(shù)據(jù)恢復(fù)模塊21,用于從所述中轉(zhuǎn)存儲(chǔ)區(qū)中讀取并存儲(chǔ)所述第一私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序至獨(dú)立于所述當(dāng)前終端2的操作系統(tǒng)的默認(rèn)安裝區(qū)域的第二私有應(yīng)用程序存儲(chǔ)區(qū),并從所述中轉(zhuǎn)存儲(chǔ)區(qū)中讀取并存儲(chǔ)所述第一私有數(shù)據(jù)存儲(chǔ)區(qū)中的數(shù)據(jù)至第二私有數(shù)據(jù)存儲(chǔ)區(qū)。
在本實(shí)施例中,上述當(dāng)前終端2還可以包括:第二應(yīng)用程序運(yùn)行代理模塊22,如圖9所示。
第二應(yīng)用程序運(yùn)行代理模塊22,用于從所述第二私有應(yīng)用程序存儲(chǔ)區(qū)中加載所述可執(zhí)行應(yīng)用程序,并運(yùn)行所述可執(zhí)行應(yīng)用程序,并截獲所述可執(zhí)行應(yīng)用程序運(yùn)行過程中的操作請(qǐng)求,并響應(yīng)所述操作請(qǐng)求,將響應(yīng)所述操作請(qǐng)求產(chǎn)生的數(shù)據(jù)存儲(chǔ)至第二私有數(shù)據(jù)存儲(chǔ)區(qū)。
在本實(shí)施例中,圖9所示的當(dāng)前終端2還可以包括:獲取模塊23和發(fā)送模塊24,如圖10所示。
獲取模塊23,用于若所述歷史終端1與所述當(dāng)前終端2為不同的終端且所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中的數(shù)據(jù)中存在與所述歷史終端1的硬件信息有關(guān)的數(shù)據(jù),獲取所述歷史終端1的硬件信息;
發(fā)送模塊24,用于將獲取到的所述歷史終端1的硬件信息發(fā)送至所述當(dāng)前終端2的第二私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序,以使所述當(dāng)前終端2的第二私有應(yīng)用程序存儲(chǔ)區(qū)中的可執(zhí)行應(yīng)用程序利用所述歷史終端1的硬件信息解析所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中與所述歷史終端1的硬件信息有關(guān)的數(shù)據(jù)。
在本實(shí)施例中,圖10所示的當(dāng)前終端2還可以包括:第二數(shù)據(jù)恢復(fù)模塊25,如圖11所示。
第二數(shù)據(jù)恢復(fù)模塊25,用于若利用所述歷史終端1的硬件信息解析所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中與所述歷史終端的硬件信息有關(guān)的數(shù)據(jù)失敗,不恢復(fù)所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中與所述歷史終端1的硬件信息有關(guān)的數(shù)據(jù),只恢復(fù)所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中與所述歷史終端1的硬件信息有關(guān)的應(yīng)用程序。
或者,第二數(shù)據(jù)恢復(fù)模塊25,用于若利用所述歷史終端1的硬件信息解析所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中與所述歷史終端1的硬件信息有關(guān)的數(shù)據(jù)失敗,刪除所述第二私有數(shù)據(jù)存儲(chǔ)區(qū)中的所有數(shù)據(jù)。
需要說明的是,本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。對(duì)于裝置類實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上對(duì)本申請(qǐng)所提供的一種數(shù)據(jù)遷移方法及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本申請(qǐng)的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)的限制。