本發(fā)明涉及共享游戲數(shù)據(jù)的技術(shù)領(lǐng)域,尤其涉及一種同步單機(jī)游戲的方法、裝置和終端。
背景技術(shù):
當(dāng)前人們的日常生活中,各種游戲?qū)映霾桓F。其中單機(jī)游戲由于不需要接入互聯(lián)網(wǎng)即可正常運(yùn)行,運(yùn)行時(shí)也不需要專門的服務(wù)器支撐而廣受歡迎。隨著移動(dòng)終端設(shè)備越來越豐富,同一款單機(jī)游戲可能安裝在一個(gè)用戶所擁有的不同移動(dòng)終端設(shè)備上。但遺憾的是,如果遇到用戶更換了一臺(tái)移動(dòng)終端設(shè)備,那么該用戶重新安裝了該款單機(jī)游戲后,還是需要重新開始游戲;如果用戶在該款單機(jī)游戲某個(gè)游戲關(guān)卡打不過去,每次運(yùn)行該款單機(jī)游戲就只能接續(xù)從前的進(jìn)度,而不能同步其他移動(dòng)終端設(shè)備的游戲進(jìn)度。
針對單機(jī)游戲無法在不同的移動(dòng)終端上同步游戲進(jìn)度的問題,常見的方法是將一臺(tái)終端上與該游戲應(yīng)用程序相關(guān)的所有文件進(jìn)行備份,另一臺(tái)終端上將備份的文件進(jìn)行還原,但這種方法往往因?yàn)橐苿?dòng)終端操作系統(tǒng)對文件訪問權(quán)限的限制,導(dǎo)致即使將與游戲應(yīng)用程序相關(guān)的文件進(jìn)行還原,該游戲還是不能正常運(yùn)行,無法實(shí)現(xiàn)游戲的同步。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種同步單機(jī)游戲的方法、裝置和終端,能夠在不同的移動(dòng)終端之間同步單機(jī)游戲。
第一方面,提供了一種同步單機(jī)游戲的方法,包括:查找待同步單機(jī)游戲的應(yīng)用程序的存儲(chǔ)路徑;從該應(yīng)用程序的存儲(chǔ)路徑下獲取單機(jī)游戲的同步數(shù)據(jù);將同步數(shù)據(jù)發(fā)送到指定的位置;其中,同步數(shù)據(jù)包含存儲(chǔ)路徑下的程序文件和程序文件的權(quán)限信息。
第二方面,提供了一種同步單機(jī)游戲的方法,包括:接收單機(jī)游戲的同步數(shù)據(jù),所述同步數(shù)據(jù)包含程序文件和所述程序文件的權(quán)限信息;獲取單機(jī)游戲在待同步終端中的應(yīng)用程序目錄以及應(yīng)用程序目錄的用戶信息;根據(jù)程序文件更新應(yīng)用程序目錄中的當(dāng)前文件;根據(jù)應(yīng)用程序目錄的用戶信息和程序文件的權(quán)限信息,更新應(yīng)用程序目錄中的文件的用戶信息和權(quán)限信息。
第三方面,提供了一種同步單機(jī)游戲的裝置,包括:第一目錄信息獲取單元,被配置為查找待同步單機(jī)游戲的應(yīng)用程序目錄所在的存儲(chǔ)路徑;同步數(shù)據(jù)獲取單元,被配置為從應(yīng)用程序的存儲(chǔ)路徑下獲取單機(jī)游戲的同步數(shù)據(jù),同步數(shù)據(jù)包含存儲(chǔ)路徑下的程序文件和程序文件的權(quán)限信息;數(shù)據(jù)發(fā)送單元,被配置為將同步數(shù)據(jù)獲取單元獲取的同步數(shù)據(jù)傳送到指定的位置。
第四方面,提供了一種同步單機(jī)游戲的裝置,包括:同步數(shù)據(jù)接收單元,被配置為接收單機(jī)游戲的同步數(shù)據(jù),同步數(shù)據(jù)包含程序文件和程序文件的權(quán)限信息;第二目錄信息獲取單元,被配置為獲取單機(jī)游戲在待同步終端的應(yīng)用程序目錄以及應(yīng)用程序目錄的用戶信息;文件同步單元,被配置為根據(jù)同步數(shù)據(jù)接收單元接收的程序文件更新應(yīng)用程序目錄中的文件;以及文件屬性更新單元,被配置為根據(jù)第二目錄信息獲取單元獲取的應(yīng)用程序目錄的用戶信息和同步數(shù)據(jù)接收單元接收的程序文件的權(quán)限信息,更新應(yīng)用程序目錄中的文件的用戶信息和權(quán)限信息。
第五方面,提供了一種同步單機(jī)游戲的終端,包括:存儲(chǔ)器,被配置為存儲(chǔ)程序代碼;處理器,被配置為根據(jù)存儲(chǔ)器中存儲(chǔ)的程序代碼中的指令,執(zhí)行以下步驟:查找待同步單機(jī)游戲的應(yīng)用程序所在的存儲(chǔ)路徑;從應(yīng)用程序的存儲(chǔ)路徑下獲取單機(jī)游戲的同步數(shù)據(jù),同步數(shù)據(jù)包含存儲(chǔ)路徑下的程序文件和程序文件的權(quán)限信息;發(fā)送單元,被配置為將同步數(shù)據(jù)發(fā)送到指定的位置。
第六方面,提供了一種同步單機(jī)游戲的終端,包括:存儲(chǔ)器,被配置為存儲(chǔ)程序代碼;接收單元,被配置為接收單機(jī)游戲的同步數(shù)據(jù),同步數(shù)據(jù)包含程序文件和程序文件的權(quán)限信息;處理器,被配置為根據(jù)存儲(chǔ)器中存儲(chǔ)的程序代碼中的指令,執(zhí)行以下步驟:獲取單機(jī)游戲在待同步終端中的應(yīng)用程序目錄以及應(yīng)用程序目錄的用戶信息;根據(jù)程序文件更新應(yīng)用程序目錄中的當(dāng)前文件;根據(jù)應(yīng)用程序目錄的用戶信息和程序文件的權(quán)限信息,更新應(yīng)用程序目錄中的文件的用戶信息和權(quán)限信息。
根據(jù)本發(fā)明實(shí)施例提供的同步單機(jī)游戲的方法、裝置和終端,在一臺(tái)終端上獲取單機(jī)游戲應(yīng)用程序的程序文件和程序文件的權(quán)限信息作為同步數(shù)據(jù),在另一臺(tái)終端上結(jié)合該同步數(shù)據(jù)進(jìn)行程序文件和程序文件屬性的更新,從而實(shí)現(xiàn)不同終端間單機(jī)游戲的同步。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對本發(fā)明實(shí)施例中所需要使用的附圖作簡單地介紹,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1示出了本發(fā)明一實(shí)施例提供的同步單機(jī)游戲的方法的流程圖。
圖2示出了本發(fā)明另一實(shí)施例的同步單機(jī)游戲的方法的流程圖。
圖3是圖1中查找待同步單機(jī)游戲應(yīng)用程序的存儲(chǔ)路徑的詳細(xì)的流程圖。
圖4示出了本發(fā)明再一實(shí)施例的同步單機(jī)游戲的方法的流程圖。
圖5是圖4中保存程序文件的權(quán)限信息為指定文件格式的詳細(xì)的流程圖。
圖6示出了本發(fā)明一實(shí)施例提供的同步單機(jī)游戲的方法的流程圖。
圖7示出了本發(fā)明另一實(shí)施例提供的同步單機(jī)游戲的方法的流程圖。
圖8是圖6中獲取單機(jī)游戲應(yīng)用程序目錄的詳細(xì)的流程圖。
圖9是圖6中更新應(yīng)用程序目錄中文件的用戶信息和權(quán)限信息的詳細(xì)流程圖。
圖10示出了本發(fā)明一實(shí)施例提供的同步單機(jī)游戲的裝置的結(jié)構(gòu)示意圖。
圖11示出了本發(fā)明另一實(shí)施例提供的同步單機(jī)游戲的裝置的結(jié)構(gòu)示意圖。
圖12示出了本發(fā)明再一實(shí)施例提供的同步單機(jī)游戲的裝置的結(jié)構(gòu)示意圖。
圖13示出了本發(fā)明又一實(shí)施例提供的同步單機(jī)游戲的裝置的結(jié)構(gòu)示意圖。
圖14示出了本發(fā)明一實(shí)施例提供的同步單機(jī)游戲的終端的硬件架構(gòu)示意圖。
圖15示出了本發(fā)明另一實(shí)施例提供的同步單機(jī)游戲的終端的硬件架構(gòu)示意圖。
具體實(shí)施方式
下面將詳細(xì)描述本發(fā)明的各個(gè)方面的特征和示例性實(shí)施例,為了使本專利的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)描述。應(yīng)理解,此處所描述的具體實(shí)施例僅用于解釋本發(fā)明,并不用于限定本發(fā)明。對于本領(lǐng)域技術(shù)人員來說,本發(fā)明可以在不需要這些具體細(xì)節(jié)中的一些細(xì)節(jié)的情況下實(shí)施。下面對實(shí)施例的描述僅僅是為了通過示出本發(fā)明的示例來提供對本發(fā)明更好的理解。
在本發(fā)明的實(shí)施例中,單機(jī)游戲是指可以在移動(dòng)終端上獨(dú)立運(yùn)行,具有運(yùn)行進(jìn)度的游戲。單機(jī)游戲的運(yùn)行終端涉及Android系統(tǒng),但不局限于該操作系統(tǒng),本領(lǐng)域技術(shù)人員可以合理預(yù)見,可適應(yīng)本發(fā)明構(gòu)思的操作系統(tǒng)均可。
下面結(jié)合附圖,以Android系統(tǒng)為例,詳細(xì)描述根據(jù)本發(fā)明實(shí)施例的同步單機(jī)游戲的方法。
圖1是示出了本發(fā)明一實(shí)施例的同步單機(jī)游戲的方法的流程圖。如圖1所示,本實(shí)施例中同步單機(jī)游戲的方法100包括以下步驟:步驟S120,查找待同步單機(jī)游戲的應(yīng)用程序的存儲(chǔ)路徑;步驟S130,從該應(yīng)用程序的存儲(chǔ)路徑下獲取單機(jī)游戲的同步數(shù)據(jù);步驟S160,將同步數(shù)據(jù)發(fā)送到指定的位置;其中,同步數(shù)據(jù)包含存儲(chǔ)路徑下的程序文件和程序文件的權(quán)限信息。
如圖2所示,作為一個(gè)可選實(shí)施例,同步單機(jī)游戲的方法200與同步單機(jī)游戲的方法100相比,區(qū)別在于,在步驟S120,查找待同步單機(jī)游戲的應(yīng)用程序的存儲(chǔ)路徑之前,還可以包括:步驟S110,獲取待同步單機(jī)游戲運(yùn)行終端的超級用戶權(quán)限。
應(yīng)理解,超級用戶權(quán)限是系統(tǒng)權(quán)限的一種,在Linux、Unix和Android等操作系統(tǒng)中可以理解為root權(quán)限,在Windows操作系統(tǒng)中可以理解為Administrators權(quán)限。
通常情況下,以Android系統(tǒng)為例,在Android系統(tǒng)中,每個(gè)應(yīng)用或用戶默認(rèn)只擁有訪問它自身工作需要使用的資源的權(quán)限,而不能對系統(tǒng)文件、其他應(yīng)用或用戶的文件進(jìn)行訪問。根據(jù)本發(fā)明實(shí)施例提供的同步單機(jī)游戲的方法,在涉及到對系統(tǒng)文件、其他應(yīng)用或用戶的文件進(jìn)行訪問時(shí),需要基于Android系統(tǒng)的Root權(quán)限。
在一個(gè)示例中,用戶可以先獲取終端的Root權(quán)限,再進(jìn)行單機(jī)游戲同步數(shù)據(jù)的獲取;在另一個(gè)示例中,用戶也可以通過Android移動(dòng)終端廠商定制的已經(jīng)獲取Root權(quán)限的系統(tǒng)應(yīng)用來實(shí)現(xiàn)單機(jī)游戲的同步,而不需要再單獨(dú)進(jìn)行Root權(quán)限的獲取,降低了用戶自己獲取Root權(quán)限的難度,提高了單機(jī)游戲同步方法的易用性。
如圖3所示,作為一個(gè)可選實(shí)施例,步驟S120,查找待同步單機(jī)游戲的應(yīng)用程序的存儲(chǔ)路徑,可以包括以下子步驟:
步驟S121,獲取應(yīng)用程序的標(biāo)識(shí)信息。
應(yīng)注意,標(biāo)識(shí)信息是可以唯一標(biāo)識(shí)應(yīng)用程序的信息,例如,標(biāo)識(shí)信息為游戲應(yīng)用程序的包名。Android系統(tǒng)要求每個(gè)應(yīng)用程序都聲明一個(gè)唯一的包名,作為一個(gè)示例,如某個(gè)應(yīng)用程序的包名為com.qihoo360.mobilemusic。
步驟S122,在該應(yīng)用程序運(yùn)行終端的指定系統(tǒng)路徑下,使用標(biāo)識(shí)信息搜索以該標(biāo)識(shí)信息命名的目錄,將以該標(biāo)識(shí)信息命名的目錄所在的存儲(chǔ)路徑作為該應(yīng)用程序的存儲(chǔ)路徑。
具體地,可以將Android系統(tǒng)的內(nèi)部存儲(chǔ)路徑“/data/data”作為指定系統(tǒng)路徑,使用單機(jī)游戲的應(yīng)用程序的包名在“/data/data/”路徑下進(jìn)行搜索,得到以該包名命名的目錄所在的存儲(chǔ)路徑作為該應(yīng)用程序的存儲(chǔ)路徑。
作為一個(gè)示例,在Android系統(tǒng)的內(nèi)部存儲(chǔ)路徑“/data/data”下,使用應(yīng)用程序的包名進(jìn)行檢索,可以得到應(yīng)用程序的存儲(chǔ)路徑為“/data/data/包名”,在當(dāng)前“包名”目錄中通??梢园韵伦幽夸洠鹤幽夸沝atabases,可以用于存放該應(yīng)用程序的數(shù)據(jù)庫信息;子目錄cache,可以用于存放該應(yīng)用程序的緩存數(shù)據(jù);子目錄files,可以用于存放該應(yīng)用程序自己控制的文件;子目錄shared_prefs,通常可以用于存放該應(yīng)用程序的一些簡單的配置信息。這些子目錄和各子目錄下的文件共同形成了該應(yīng)用程序的程序文件。
應(yīng)理解,由于在不同的Android系統(tǒng)中,數(shù)據(jù)存儲(chǔ)管理方式的可以會(huì)有所差異,因此,在查詢單機(jī)游戲的應(yīng)用程序所在的存儲(chǔ)路徑時(shí),指定的用于進(jìn)行查詢的系統(tǒng)路徑也會(huì)有所差別,具體需要根據(jù)單機(jī)游戲運(yùn)行終端所在當(dāng)前Android系統(tǒng)的存儲(chǔ)管理方式而確定。
根據(jù)本發(fā)明實(shí)施例提供的同步單機(jī)游戲的方法,不是在整個(gè)系統(tǒng)的存儲(chǔ)空間中盲目的搜索和應(yīng)用程序相關(guān)的文件,而是在指定的系統(tǒng)路徑下搜索應(yīng)用程序的存儲(chǔ)路徑,這樣的處理使同步數(shù)據(jù)的獲取更有針對性和準(zhǔn)確性,同時(shí)能夠提高搜索的速度。
在步驟S130中,從單機(jī)游戲的應(yīng)用程序的存儲(chǔ)路徑下獲取該單機(jī)游戲的同步數(shù)據(jù),其中,同步數(shù)據(jù)包含單機(jī)游戲的應(yīng)用程序的存儲(chǔ)路徑下的程序文件和程序文件的權(quán)限信息。
具體地,同步數(shù)據(jù)中的程序文件可以是“/data/data/包名”路徑下的全部文件;作為另一個(gè)示例,由于子目錄cache中存放的是當(dāng)前應(yīng)用程序運(yùn)行過程中的緩存文件,對單機(jī)游戲的同步并沒有太大影響,因此同步數(shù)據(jù)中的程序文件可以不包含cache子目錄中的文件,而是將“/data/data/包名”路徑下除cache子目錄中的文件之外的程序文件作為同步數(shù)據(jù)中的程序文件。
應(yīng)注意,基于Root權(quán)限對程序文件進(jìn)行打包處理后生成的文件例如“包名.zip”的所有者是root,并且打包后的文件會(huì)喪失其原本文件的用戶信息和權(quán)限信息。因此同步數(shù)據(jù)不僅包括程序文件,還包括程序文件權(quán)限信息。具體地,程序文件的權(quán)限信息,包含對每一個(gè)程序文件的讀、寫以及執(zhí)行的文件操作權(quán)限。
作為一個(gè)可選實(shí)施例,圖4示出了本發(fā)明再一實(shí)施例中的同步單機(jī)游戲的方法300。如圖4所示,本實(shí)施例的同步單機(jī)游戲的方法基本相同于同步單機(jī)游戲的方法100,不同之處在于,在S130,獲取單機(jī)游戲的同步數(shù)據(jù)的步驟之后,以及S160,將同步數(shù)據(jù)發(fā)送到指定的位置的步驟之前,還可以包括以下步驟:
步驟S140,將程序文件進(jìn)行打包,得到經(jīng)過打包的程序文件。
作為一個(gè)示例,遍歷需要進(jìn)行打包處理的每個(gè)程序文件,采用指定的壓縮程序?qū)γ總€(gè)要進(jìn)行打包處理的程序文件逐一進(jìn)行壓縮,并將經(jīng)過壓縮后的程序文件添加到該壓縮程序生成的文件中,指定的壓縮程序可以是zip或tar。做為一個(gè)具體的示例,將“/data/data/包名”路徑下的程序文件進(jìn)行打包,得到打包后的程序文件“包名.zip”。
由于同步數(shù)據(jù)中包含的程序文件數(shù)量眾多,可以對這些程序文件進(jìn)行打包處理,即對同步數(shù)據(jù)中的每個(gè)程序文件進(jìn)行壓縮,并整合成一個(gè)文件,使得同步數(shù)據(jù)以一個(gè)整體的方式進(jìn)行存儲(chǔ)和傳輸,能有效保證數(shù)據(jù)傳輸?shù)耐暾裕苊馕募膩G失,同時(shí)提高了傳輸?shù)乃俣群桶踩浴?/p>
步驟S150,將程序文件的權(quán)限信息保存為指定文件格式。
請參閱圖5,作為一個(gè)可選的實(shí)施例,步驟S150,將程序文件的權(quán)限信息保存為指定的文件格式,還可以包括以下子步驟:
步驟S151,遍歷該應(yīng)用程序的存儲(chǔ)路徑下的目錄。
步驟S152,依次獲取各目錄中的程序文件的權(quán)限信息。
具體地,文件的權(quán)限信息包括為文件進(jìn)行讀、寫、執(zhí)行的操作權(quán)限。
步驟S153,將遍歷得到的每個(gè)程序文件的權(quán)限信息依次記錄在指定文件格式的文件中。
具體地,指定的文件格式可以是文本文件TXT格式、可擴(kuò)展標(biāo)記語言XML格式或者JSON數(shù)據(jù)交換格式。作為一個(gè)示例,由于XML格式統(tǒng)一,容易與其他系統(tǒng)進(jìn)行遠(yuǎn)程交互,數(shù)據(jù)共享比較方便,因此將程序文件的權(quán)限信息保存成XML格式的文件,命名為“包名.XML”。
根據(jù)上述實(shí)施例提供的方法,將獲取的文件權(quán)限信息保存為指定的文件格式,使文件權(quán)限信息在不同平臺(tái)中可以兼容,并易于解析,從而使同步數(shù)據(jù)在不同的終端間能更好的交互。
在步驟S160中,將同步數(shù)據(jù)發(fā)送到指定的位置。
作為一個(gè)示例,同步數(shù)據(jù)被發(fā)送的指定位置可以是待同步的終端。在該示例中,可以先建立要進(jìn)行游戲同步的兩個(gè)終端之間的連接,通過建立的連接將同步數(shù)據(jù)發(fā)送到待同步的終端設(shè)備。連接的方式不做具體限定,可以是例如藍(lán)牙、移動(dòng)數(shù)據(jù)網(wǎng)絡(luò)、wifi、數(shù)據(jù)線連接等,只要能將同步數(shù)據(jù)發(fā)送到待同步的終端設(shè)備即可。
作為另一個(gè)示例,要進(jìn)行游戲同步的兩個(gè)終端之間并沒有建立之間的連接,因此,同步數(shù)據(jù)被發(fā)送的指定位置可以是移動(dòng)存儲(chǔ)介質(zhì)或網(wǎng)絡(luò)存儲(chǔ)空間。
用戶可以將同步數(shù)據(jù)復(fù)制到移動(dòng)存儲(chǔ)介質(zhì)例如U盤,移動(dòng)硬盤中,待同步的終端從該移動(dòng)存儲(chǔ)介質(zhì)中獲取同步數(shù)據(jù)以進(jìn)行游戲的同步;也可以將同步數(shù)據(jù)上傳到網(wǎng)絡(luò)存儲(chǔ)空間例如在線網(wǎng)盤,待同步的終端從該網(wǎng)絡(luò)存儲(chǔ)空間下載同步數(shù)據(jù),以進(jìn)行游戲的同步。
根據(jù)本發(fā)明實(shí)施例提供的方法,使用更靈活的方式將同步數(shù)據(jù)在不同的終端進(jìn)行傳輸,用戶可以根據(jù)實(shí)際應(yīng)用場景靈活選擇同步數(shù)據(jù)傳輸?shù)姆绞健?/p>
通過上述實(shí)施例中提供的同步單機(jī)游戲的方法,在單機(jī)游戲運(yùn)行終端獲取同步數(shù)據(jù),并將該同步數(shù)據(jù)傳送到指定的位置。其中,該游戲的同步數(shù)據(jù)不僅包括該游戲的程序文件,還包括程序文件的權(quán)限信息。通過獲取更全面的同步數(shù)據(jù),為待同步終端同步單機(jī)游戲提供了完備的數(shù)據(jù)基礎(chǔ)。
請參閱圖6,示出了本發(fā)明另一實(shí)施例提供的同步單機(jī)游戲的方法400的流程圖。如圖6所示,本實(shí)施例的同步單機(jī)游戲的方法400包括以下步驟:步驟S410,接收單機(jī)游戲的同步數(shù)據(jù),該同步數(shù)據(jù)包含程序文件和程序文件的權(quán)限信息;步驟S430,獲取單機(jī)游戲在待同步終端中的應(yīng)用程序目錄以及該應(yīng)用程序目錄的用戶信息;步驟S440,根據(jù)同步數(shù)據(jù)中的程序文件更新當(dāng)前應(yīng)用程序目錄中的當(dāng)前文件;步驟S450,根據(jù)當(dāng)前應(yīng)用程序目錄的用戶信息和程序文件的權(quán)限信息,更新該應(yīng)用程序目錄中的文件的用戶信息和權(quán)限信息。
作為一個(gè)可選的實(shí)施例,待同步終端接收單機(jī)游戲的同步數(shù)據(jù)后,需要基于Root權(quán)限進(jìn)行數(shù)據(jù)的同步處理。
請參閱圖7,作為一個(gè)可選的實(shí)施例,示出了本發(fā)明另一實(shí)施例提供的同步單機(jī)游戲的方法500的流程圖。本實(shí)施例提供的同步單機(jī)游戲的方法基本相同于圖6所示的同步單機(jī)游戲的方法400。不同之處在于,在步驟S430,獲取單機(jī)游戲在待同步終端中的應(yīng)用程序目錄以及該應(yīng)用程序目錄的用戶信息之前,可以包括:步驟S420,獲取待同步終端的超級用戶權(quán)限。
關(guān)于Root權(quán)限的獲取在上述實(shí)施例中已經(jīng)進(jìn)行了詳細(xì)的描述,在此將不再贅述。
請參閱圖8,示出了獲取單機(jī)游戲應(yīng)用程序目錄的詳細(xì)的流程圖。作為一個(gè)可選實(shí)施例,如圖8所示,在S430,獲取單機(jī)游戲在待同步終端的應(yīng)用程序目錄以及應(yīng)用程序目錄的用戶信息的步驟中,獲取該應(yīng)用程序目錄具體可以包括以下子步驟:
步驟S431,獲取單機(jī)游戲的應(yīng)用程序的標(biāo)識(shí)信息。
步驟S432,使用該標(biāo)識(shí)信息從待同步終端的指定系統(tǒng)路徑下進(jìn)行搜索,得到以該標(biāo)識(shí)信息命名的應(yīng)用程序目錄。
關(guān)于待同步終端應(yīng)用程序目錄的獲取的具體細(xì)節(jié)在上述實(shí)施例相同或相應(yīng)的步驟用已經(jīng)進(jìn)行了詳細(xì)的描述,在此將不再贅述。
作為一個(gè)示例,在待同步終端的指定的“/data”路徑下搜索需要進(jìn)行同步的游戲的包名,得到“/data/data”下以該包名命名應(yīng)用程序目錄。
需要說明的是,在步驟S430中,還需要獲取待同步終端單機(jī)游戲的應(yīng)用程序目錄的用戶信息。
具體地,應(yīng)用程序目錄的用戶信息,包括該應(yīng)用程序目錄的所有者名稱和組信息。
在步驟S440中,根據(jù)同步數(shù)據(jù)中的程序文件更新當(dāng)前應(yīng)用程序目錄中的當(dāng)前文件。
具體地,如果該同步數(shù)據(jù)中的程序文件是經(jīng)過打包的文件,則在獲取程序文件后,先進(jìn)行文件的解包操作,再對當(dāng)前應(yīng)用程序目錄中的當(dāng)前文件進(jìn)行更新。作為一個(gè)示例,將接收到的程序文件“包名.zip”先進(jìn)行解壓操作,將解壓后的應(yīng)用程序文件復(fù)制到該應(yīng)用程序目錄下,以實(shí)現(xiàn)對該應(yīng)用程序目錄下的文件進(jìn)行更新。
請參閱圖9,是圖6中更新應(yīng)用程序目錄中文件的用戶信息和權(quán)限信息的具體步驟的詳細(xì)的流程圖。作為一個(gè)可選實(shí)施例,如圖9所示,步驟S450,根據(jù)當(dāng)前應(yīng)用程序目錄的用戶信息和程序文件的權(quán)限信息,更新該應(yīng)用程序目錄中的文件的用戶信息和權(quán)限信息,可以包括以下子步驟:
步驟S451,獲取應(yīng)用程序目錄中的文件的屬性信息,其中文件的屬性信息包括文件的用戶信息和權(quán)限信息。
其中,文件的用戶信息包括文件的所有者或用戶組,權(quán)限信息是指對文件的讀、寫、執(zhí)行等。
步驟S452,根據(jù)應(yīng)用程序目錄的用戶信息,更新該應(yīng)用程序目錄中的文件的用戶信息。
在Android系統(tǒng)中,應(yīng)用程序目錄、該目錄下的每一個(gè)文件擁有相對獨(dú)立的用戶信息和權(quán)限信息?;赗oot權(quán)限,使用同步數(shù)據(jù)中的程序文件對應(yīng)用程序目錄下的當(dāng)前文件進(jìn)行更新后,應(yīng)用程序目錄下經(jīng)過更新的文件的所有者為root,因此,需要將這些經(jīng)過更新的文件的用戶信息修改為該應(yīng)用程序目錄的用戶信息,使該應(yīng)用程序目錄成為該目錄下所有程序文件的所有者,以獲取對該應(yīng)用程序目錄下的文件的訪問權(quán)限。
步驟S453,根據(jù)同步數(shù)據(jù)中程序文件的權(quán)限信息,更新應(yīng)用程序目錄中的文件的權(quán)限信息。
在步驟S453中,作為一個(gè)示例,根據(jù)當(dāng)前終端接收到的程序文件的權(quán)限信息例如“包名.xml”,對該格式的權(quán)限信息進(jìn)行解析,根據(jù)解析出的每一個(gè)程序文件的權(quán)限信息,依次對當(dāng)前應(yīng)用程序目錄中的文件重新賦予權(quán)限信息。
通過本發(fā)明實(shí)施例的同步單機(jī)游戲的方法,待同步終端根據(jù)接收到的程序文件在待同步終端進(jìn)行程序文件的更新,并結(jié)合應(yīng)用程序目錄的用戶信息和程序文件的權(quán)限信息,對所有經(jīng)更新的文件的用戶信息和權(quán)限信息進(jìn)行修改,從而完成待同步單機(jī)游戲的同步。
請參閱圖10,示出了本發(fā)明一實(shí)施例提供的同步單機(jī)游戲的裝置1000的結(jié)構(gòu)示意圖。如圖10所示,同步單機(jī)游戲的裝置包括:
第一目錄信息獲取單元1020,被配置為查找待同步單機(jī)游戲的應(yīng)用程序目錄所在的存儲(chǔ)路徑。
同步數(shù)據(jù)獲取單元1030,被配置為從待同步單機(jī)游戲的應(yīng)用程序的存儲(chǔ)路徑下獲取單機(jī)游戲的同步數(shù)據(jù),同步數(shù)據(jù)包含該存儲(chǔ)路徑下的程序文件和程序文件的權(quán)限信息。
數(shù)據(jù)發(fā)送單元1060,被配置為將同步數(shù)據(jù)獲取單元獲取的同步數(shù)據(jù)傳送到指定的位置。
請參閱圖11,圖11示出了本發(fā)明另一實(shí)施例提供的同步單機(jī)游戲的裝置1100的結(jié)構(gòu)示意圖,圖11與圖10中相同的單元或模塊使用相同的編號(hào)。如圖11所示,同步單機(jī)游戲的裝置1100包括:第一權(quán)限獲取單元1010、第一目錄信息獲取單元1020、同步數(shù)據(jù)獲取單元1030、程序文件打包單元1040、文件權(quán)限格式化單元1050以及數(shù)據(jù)發(fā)送單元1060。但本發(fā)明并不局限于以上描述的,以及在圖11中示出的特定的單元或模塊,在一些實(shí)施例中,同步單機(jī)游戲的裝置1100可以只包含其中的部分單元,即同步單機(jī)游戲的裝置1100包含更靈活的配置,下面結(jié)合具體的實(shí)施例進(jìn)行說明。
在一個(gè)可選的實(shí)施例中,同步單機(jī)游戲的裝置1000還可以包括:第一權(quán)限獲取單元1010,被配置為獲取待同步單機(jī)游戲運(yùn)行終端的超級用戶權(quán)限。
具體地,第一目錄信息獲取單元1020還可以包括:第一標(biāo)識(shí)信息獲取單元1021,被配置為獲取應(yīng)用程序的標(biāo)識(shí)信息。其中,第一目錄信息獲取單元1020在應(yīng)用程序運(yùn)行終端的指定系統(tǒng)路徑下,使用第一標(biāo)識(shí)信息獲取單元1021獲取的標(biāo)識(shí)信息搜索以標(biāo)識(shí)信息命名的目錄,將以該標(biāo)識(shí)信息命名的目錄所在的存儲(chǔ)路徑作為該應(yīng)用程序的存儲(chǔ)路徑。
在一些實(shí)施例中,同步單機(jī)游戲的裝置1000還可以包括:程序文件打包單元1040,被配置為將同步數(shù)據(jù)獲取單元1030中獲取的同步數(shù)據(jù)中的程序文件進(jìn)行打包;文件權(quán)限格式化單元1050,被配置為將同步數(shù)據(jù)獲取單元1030中獲取的程序文件的權(quán)限信息保存為指定文件格式。
通過本發(fā)明實(shí)施例的同步單機(jī)游戲的裝置,在單機(jī)游戲運(yùn)行終端獲取同步數(shù)據(jù),并將該同步數(shù)據(jù)傳送到指定的位置。其中,該游戲的同步數(shù)據(jù)不僅包括該游戲的程序文件,還包括程序文件的權(quán)限信息。同步數(shù)據(jù)信息的完整,為待同步終端對單機(jī)游戲進(jìn)行同步提供了完備的數(shù)據(jù)基礎(chǔ),更有利于同步游戲的實(shí)現(xiàn)。
請參閱圖12,示出了本發(fā)明再一實(shí)施例提供的同步單機(jī)游戲的裝置1200的結(jié)構(gòu)示意圖。如圖12所示,同步單機(jī)游戲的裝置1200可以包括:同步數(shù)據(jù)接收單元1220,被配置為接收單機(jī)游戲的同步數(shù)據(jù),該同步數(shù)據(jù)包含程序文件和程序文件的權(quán)限信息;第二目錄信息獲取單元1230,被配置為獲取單機(jī)游戲在待同步終端的應(yīng)用程序目錄以及該應(yīng)用程序目錄的用戶信息;文件同步單元1240,被配置為根據(jù)同步數(shù)據(jù)接收單元接收的程序文件更新該應(yīng)用程序目錄中的文件;以及文件屬性更新單元1250,被配置為根據(jù)第二目錄信息獲取單元1230獲取的應(yīng)用程序目錄的用戶信息和同步數(shù)據(jù)接收單元1220接收的程序文件的權(quán)限信息,更新應(yīng)用程序目錄中的文件的用戶信息和權(quán)限信息。
請參閱圖13,示出了本發(fā)明又一實(shí)施例提供的同步單機(jī)游戲的裝置的結(jié)構(gòu)示意圖。應(yīng)理解,在一些實(shí)施例中,同步單機(jī)游戲的裝置1300可以只包含其中的部分單元,即同步單機(jī)游戲的裝置1300包含更靈活的配置,下面結(jié)合具體的實(shí)施例進(jìn)行說明。
如圖13所示,在一些實(shí)施例中,同步單機(jī)游戲的裝置1200還可以包括:第二權(quán)限獲取單元1210,被配置為獲取待同步終端的超級用戶權(quán)限。
作為一個(gè)可選實(shí)施例,第二目錄信息獲取單元1230還可以包括:第二標(biāo)識(shí)信息獲取單元1231,被配置為獲取單機(jī)游戲的應(yīng)用程序的標(biāo)識(shí)信息;其中,第二目錄信息獲取單元1230通過使用第二標(biāo)識(shí)信息獲取單元獲取1231的標(biāo)識(shí)信息從待同步終端的指定系統(tǒng)路徑下進(jìn)行搜索,得到以該標(biāo)識(shí)信息命名的應(yīng)用程序目錄。
作為一個(gè)可選實(shí)施例,文件同步單元1240還可以包括:
文件屬性獲取單元1241,被配置為獲取單機(jī)游戲應(yīng)用程序目錄中的文件的用戶信息和權(quán)限信息。
文件用戶更新單元1242,被配置為根據(jù)第二目錄信息獲取單元1230獲取的同步數(shù)據(jù)中的應(yīng)用程序目錄的用戶信息,更新當(dāng)前應(yīng)用程序目錄中的文件的用戶信息。
文件權(quán)限更新單元1243,被配置為根據(jù)同步數(shù)據(jù)接收單元1220接收到的同步數(shù)據(jù)的程序文件的權(quán)限信息,更新當(dāng)前應(yīng)用程序目錄中的文件的權(quán)限信息。
通過本實(shí)施例的同步單機(jī)游戲的裝置,待同步終端根據(jù)接收到的程序文件在待同步終端進(jìn)行程序文件的更新,并結(jié)合應(yīng)用程序目錄的用戶信息和程序文件的權(quán)限信息,對所有經(jīng)更新的文件的用戶信息和權(quán)限信息進(jìn)行修改,從而完成待同步單機(jī)游戲的同步。
結(jié)合圖1到圖13描述的根據(jù)本發(fā)明實(shí)施例的同步單機(jī)游戲的方法和裝置可以由同步單機(jī)游戲的終端設(shè)備實(shí)現(xiàn)。圖14是示出了根據(jù)本發(fā)明實(shí)施例的同步單機(jī)游戲的終端1400的硬件架構(gòu)示意圖。如圖14所示,同步單機(jī)游戲的終端1400包括:接收單元1401、處理器1403、存儲(chǔ)器1405以及發(fā)送單元1407。其中,接收單元1401、處理器1403、存儲(chǔ)器1405以及發(fā)送單元1407通過總線1410相互連接。具體地,接收單元1401接收來自外部的輸入信息,并將輸入信息傳送到處理器1403;處理器1403基于存儲(chǔ)器1405中存儲(chǔ)的程序代碼對輸入信息進(jìn)行處理以生成輸出信息,將輸出信息臨時(shí)或者永久地存儲(chǔ)在存儲(chǔ)器1405中,然后通過發(fā)送單元1407將輸出信息輸出到同步單機(jī)游戲的終端1400的外部供用戶使用。
在一個(gè)實(shí)施例中,圖14所示的同步單機(jī)游戲的終端1400可以被實(shí)現(xiàn)為包括:存儲(chǔ)器1405,被配置為存儲(chǔ)程序代碼;處理器1403,被配置為根據(jù)存儲(chǔ)器中存儲(chǔ)的程序代碼中的指令,執(zhí)行以下步驟:查找待同步單機(jī)游戲的應(yīng)用程序所在的存儲(chǔ)路徑;從該應(yīng)用程序的存儲(chǔ)路徑下獲取單機(jī)游戲的同步數(shù)據(jù),其中,同步數(shù)據(jù)包含該應(yīng)用程序存儲(chǔ)路徑下的程序文件和程序文件的權(quán)限信息;發(fā)送單元1407,被配置為將同步數(shù)據(jù)發(fā)送到指定的位置。
通過本發(fā)明實(shí)施例的同步單機(jī)游戲的終端,可以獲取同步數(shù)據(jù),并將該同步數(shù)據(jù)傳送到指定的位置。其中,該游戲的同步數(shù)據(jù)不僅包括該游戲的程序文件,還包括程序文件的權(quán)限信息,為待同步終端對單機(jī)游戲進(jìn)行同步提供了完備的數(shù)據(jù)基礎(chǔ),更有利于同步游戲的實(shí)現(xiàn)。
請參閱圖15,示出了本發(fā)明另一實(shí)施例的同步單機(jī)游戲的終端1500的硬件架構(gòu)示意圖。如圖15所示,同步單機(jī)游戲的終端1500包括:接收單元1401、處理器1503、存儲(chǔ)器1505以及發(fā)送單元1507。其中,接收單元1501、處理器1503、存儲(chǔ)器1505以及發(fā)送單元1507通過總線1510相互連接。具體地,接收單元1501接收來自外部的輸入信息,并將輸入信息傳送到處理器1503;處理器1503基于存儲(chǔ)器1505中存儲(chǔ)的程序代碼對輸入信息進(jìn)行處理以生成輸出信息,將輸出信息臨時(shí)或者永久地存儲(chǔ)在存儲(chǔ)器1505中,然后通過發(fā)送單元1507將輸出信息輸出到同步單機(jī)游戲的終端1500的外部供用戶使用。
圖15與圖14所描述的硬件架構(gòu)以及各組件之間的工作原理基本相同,不同之處在于,在另一個(gè)實(shí)施例中,圖15所示的同步單機(jī)游戲的終端1500還可以被實(shí)現(xiàn)為包括:接收單元1501,被配置為接收單機(jī)游戲的同步數(shù)據(jù),其中,同步數(shù)據(jù)包含程序文件和程序文件的權(quán)限信息;存儲(chǔ)器1505,被配置為存儲(chǔ)程序代碼;處理器1503,被配置為根據(jù)存儲(chǔ)器中存儲(chǔ)的程序代碼中的指令,執(zhí)行以下步驟:獲取單機(jī)游戲在待同步終端中的應(yīng)用程序目錄以及應(yīng)用程序目錄的用戶信息;根據(jù)程序文件更新應(yīng)用程序目錄中的當(dāng)前文件;根據(jù)應(yīng)用程序目錄的用戶信息和程序文件的權(quán)限信息,更新應(yīng)用程序目錄中的文件的用戶信息和權(quán)限信息。
通過本實(shí)施例的同步單機(jī)游戲的終端,可以根據(jù)接收到的程序文件在待同步終端進(jìn)行程序文件的更新,并結(jié)合應(yīng)用程序目錄的用戶信息和程序文件的權(quán)限信息,對所有經(jīng)更新的文件的用戶信息和權(quán)限信息進(jìn)行修改,從而完成待同步單機(jī)游戲的同步。
本技術(shù)領(lǐng)域技術(shù)人員應(yīng)理解,本發(fā)明包括涉及用于執(zhí)行本發(fā)明中所述方法和步驟中的一項(xiàng)或多項(xiàng)的設(shè)備。這些設(shè)備可以為所需的目的而專門設(shè)計(jì)和制造,或者也可以包括通用移動(dòng)終端中的已知設(shè)備。這些設(shè)備例如存儲(chǔ)器,具有存儲(chǔ)在其內(nèi)的程序代碼,這些程序代碼選擇性地激活或重構(gòu)。這樣的程序代碼可以被存儲(chǔ)在設(shè)備存儲(chǔ)器的可讀介質(zhì)中或者存儲(chǔ)在適于存儲(chǔ)電子指令并分別耦聯(lián)到總線的任何類型的介質(zhì)中,所述可讀介質(zhì)包括但不限于任何類型的ROM(Read-Only Memory,只讀存儲(chǔ)器)、RAM(Random Access Memory,隨即存儲(chǔ)器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦寫可編程只讀存儲(chǔ)器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,電可擦可編程只讀存儲(chǔ)器)、閃存、磁性卡片或光線卡片。也就是,可讀介質(zhì)包括由終端以能夠讀的形式存儲(chǔ)或傳輸信息的任何介質(zhì)。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,可以用存儲(chǔ)器中存儲(chǔ)的程序代碼中的指令來實(shí)現(xiàn)這些結(jié)構(gòu)圖和/或框圖和/或流圖中的每個(gè)框以及這些結(jié)構(gòu)圖和/或框圖和/或流圖中的框的組合??梢詫⑦@些程序代碼中的指令提供給通用計(jì)算機(jī)、專業(yè)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理方法的處理器來實(shí)現(xiàn),從而通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理方法的處理器來執(zhí)行本發(fā)明公開的結(jié)構(gòu)圖和/或框圖和/或流圖的框或多個(gè)框中指定的方案。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以是兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到各種等效的修改或替換,這些修改或替換都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。