文件同步的方法和使用該方法的電子設備的制作方法
【專利摘要】本發明提供了一種文件同步的方法和電子設備。所述文件同步的方法應用于一電子設備中,在該電子設備上安裝有應用,用于該應用的多個文件存儲在電子設備的本地存儲器中,所述多個文件包括第一狀態的第一文件,所述電子設備與一網絡存儲器通信耦接,所述方法包括:接收第一指令;根據所述第一指令運行所述應用,所述第一文件在所述應用的運行過程中從第一狀態轉換為第二狀態;利用第一文件系統將處于第二狀態的第一文件寫入到所述網絡存儲器,以便在另一電子設備上安裝的所述應用能夠基于網絡存儲器中的所述第一文件來運行。在本發明的各個實施例的技術方案中,能夠在無需用戶參于的情況下方便地進行應用進度的共享和同步,從而提升用戶的使用體驗。
【專利說明】文件同步的方法和使用該方法的電子設備
【技術領域】
[0001]本發明涉及電子【技術領域】,更具體地,涉及一種文件同步的方法和使用該文件同步的方法的電子設備。
【背景技術】
[0002]隨著移動互聯網和終端類的電子設備的快速發展,用戶通常同時擁有多個電子設備。例如:用戶可同時擁有移動通信終端、平板計算機和筆記本計算機等多個便攜式電子設備。此外,用戶通常在辦公地點使用臺式計算機工作,而在出差時會使用便攜式計算機工作。
[0003]用戶在各個電子設備上安裝其所喜歡或需要的應用,從而在不同的環境中使用不同的電子設備。作為示例,用戶在移動通信終端和平板計算機上安裝相同的游戲應用(例如憤怒的小鳥),在便攜式計算機和位于辦公地點的臺式計算機中安裝相同的工作應用。因此,用戶需要在不同的電子設備中運行同一個游戲應用或工作應用,而不受限于特定的電子設備。
[0004]目前很多游戲或應用都在電子設備的本地存儲器中保存其進度。作為示例,用戶在移動通信終端上玩游戲“憤怒的小鳥”,需要逐關攻克之后方能解開后續被鎖關卡并繼續進階,與游戲進度相關的數據均保存在電子設備的本地存儲器中。由于在電子設備間缺乏有效的數據共享機制,游戲進度往往不能實現多個設備之間的共享和同步。這導致用戶可能在其移動通信終端中通過的關卡需要在平板電腦中重新逐關通過才能繼續其所希望的游戲進度,這極大地降低了在各電子設備間切換的用戶體驗。在不同電子設備的工作應用之間也存在類似的問題。
[0005]因此,期望一種無需用戶參與的應用進度同步的方案,從而能夠方便地進行在不同電子設備之間的應用進度同步。
【發明內容】
[0006]本發明實施例提供了 一種文件同步的方法和使用該文件同步的方法的電子設備,其能夠在無需用戶參于的情況下方便地進行應用進度的共享和同步,從而提升用戶的使用體驗。
[0007]—方面,提供了一種文件同步的方法,該方法應用于一電子設備中,在該電子設備上安裝有應用,用于該應用的多個文件存儲在電子設備的本地存儲器中,所述多個文件包括第一狀態的第一文件,所述電子設備與一網絡存儲器通信耦接,所述方法包括:接收第一指令;根據所述第一指令運行所述應用,所述第一文件在所述應用的運行過程中從所述應用運行之前的第一狀態轉換為第二狀態;在所述第一文件從所述第一狀態轉換到所述第二狀態之后,利用第一文件系統將處于第二狀態的第一文件寫入到所述網絡存儲器,以便在另一電子設備上安裝的所述應用能夠基于網絡存儲器中的所述處于第二狀態的第一文件來運行。[0008]在所述文件同步的方法中,在所述第一文件從所述第一狀態轉換到所述第二狀態之后,可利用第二文件系統將所述處于第二狀態的第一文件存儲到本地存儲器中。
[0009]在所述文件同步的方法中,所述利用該第一文件系統將處于第二狀態的第一文件寫入到所述網絡存儲器包括:從所述多個文件之中選擇所述第一文件;以及將處于第二狀態的第一文件寫入到所述網絡存儲器。
[0010]在所述文件同步的方法中,所述利用該第一文件系統將處于第二狀態的第一文件寫入到所述網絡存儲器可包括:確定所述電子設備的通信環境是否滿足預定條件;當電子設備的通信環境滿足預定條件時,將所述處于第二狀態的第一文件寫入到所述網絡存儲器。
[0011]在所述文件同步的方法中,所述利用該第一文件系統將處于第二狀態的第一文件寫入到所述網絡存儲器可包括:利用所述第一文件系統重新定向所述第一文件的保存路徑;基于重新定向后的保存路徑而將所述處于第二狀態的第一文件寫入到所述網絡存儲器。
[0012]在所述文件同步的方法中,當先前向網絡存儲器寫入所述第一文件的用戶登錄所述另一電子設備時,發出一下載指令;基于該下載指令來下載先前在網絡存儲器中存儲的
第一文件。
[0013]在所述文件同步的方法中,當所述應用被啟動時,發出一下載指令;基于該下載指令來下載先前在網絡存儲器中存儲的第一文件。
[0014]另一方面,提供了一種文件同步的方法,該方法應用于一電子設備中,在該電子設備上安裝有應用,用于該應用的多個文件存儲在電子設備的本地存儲器中,所述多個文件包括第一狀態的第一文件,所述電子設備與一網絡存儲器通信耦接,所述方法包括:接收第一指令;根據所述第一指令運行所述應用,所述第一文件在所述應用的運行過程中從所述應用運行之前的第一狀態轉換為第二狀態;在所述第一文件從所述第一狀態轉換到所述第二狀態之后,將所述處于第二狀態的第一文件寫入到所述本地存儲器;在所述第一文件從所述第一狀態轉換到所述第二狀態之后,將所述處于第二狀態的第一文件寫入到所述網絡存儲器,以便在另一電子設備上安裝的所述應用能夠基于網絡存儲器中的所述處于第二狀態的第一文件來運行。
[0015]在所述文件同步的方法中,所述將處于第二狀態的第一文件寫入到所述網絡存儲器包括:確定所述電子設備的通信環境是否滿足預定條件;當電子設備的通信環境滿足預定條件時,將所述處于第二狀態的第一文件寫入到所述網絡存儲器。
[0016]另一方面,提供了一種電子設備,在該電子設備上安裝有應用,該電子設備與一網絡存儲器通信耦接,所述電子設備包括:存儲單元,用于存儲與所述應用有關的多個文件,所述多個文件包括第一狀態的第一文件;應用運行單元,用于接收第一指令,根據所述第一指令運行所述應用,所述應用的運行促使所述第一文件從所述應用運行之前的第一狀態轉換為第二狀態;第一文件處理單元,用于在所述第一文件從所述第一狀態轉換到所述第二狀態之后,利用第一文件系統將處于第二狀態的第一文件寫入到所述網絡存儲器,以便在另一電子設備上安裝的所述應用能夠基于網絡存儲器中的所述處于第二狀態的第一文件來運行。
[0017]另一方面,提供了一種電子設備,在該電子設備上安裝有應用,該電子設備與一網絡存儲器通信耦接,所述電子設備包括:存儲單元,用于存儲與所述應用有關的多個文件,所述多個文件包括第一狀態的第一文件;應用運行單元,用于接收第一指令,根據所述第一指令運行所述應用,所述應用的運行促使所述第一文件從所述應用運行之前的第一狀態轉換為第二狀態;第一文件處理單元,用于在所述第一文件從所述第一狀態轉換到所述第二狀態之后,將處于第二狀態的第一文件寫入到所述網絡存儲器,以便在另一電子設備上安裝的所述應用能夠基于網絡存儲器中的所述處于第二狀態的第一文件來運行;第二文件處理單元,用于在所述第一文件從所述第一狀態轉換到所述第二狀態之后,將所述處于第二狀態的第一文件存儲到所述存儲單元中。
[0018]另一方面,提供了一種電子設備,該電子設備與一網絡存儲器通信耦接,所述電子設備包括:存儲器,用于存儲程序代碼;處理器,用于執行所述程序代碼以實現如權利要求1到9中任一項所述的方法。
[0019]在本發明實施例的上述文件同步的方法和電子設備的技術方案中,通過將狀態改變后的第一文件寫入到所述網絡存儲器,能夠在無需用戶參于的情況下方便地進行應用進度的共享和同步,從而提升用戶的使用體驗。
【專利附圖】
【附圖說明】
[0020]為了更清楚地說明本發明實施例的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其它的附圖。
[0021]圖1是圖示了根據本發明的實施例所應用于的系統的示意圖;
[0022]圖2是示意性圖示了根據本發明實施例的文件同步的方法的流程圖;
[0023]圖3是示意性圖示了根據本發明另一實施例的文件同步的方法的流程圖;
[0024]圖4圖示了根據本發明實施例的讀寫操作的實現示例;
[0025]圖5是示意性圖示了根據本發明實施例的電子設備的框圖;
[0026]圖6是示意性圖示了根據本發明另一實施例的電子設備的框圖;
[0027]圖7是示意性圖示了根據本發明又一實施例的電子設備的框圖。
【具體實施方式】
[0028]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。
[0029]圖1是圖示了根據本發明的實施例所應用于的系統的示意圖。在圖1中,包括四個電子設備,所述電子設備的每個都與網絡存儲器通信耦接,從而向所述網絡存儲器寫入數據或者從所述網絡存儲器讀出數據。所述四個電子設備包括兩個平板計算機EPl和EP3、以及兩個移動通信終端EP2和EP4,該電子設備還可以是除了平板計算機和移動通信終端的任何其它電子設備,例如筆記本計算機、車載移動裝置等。所述網絡存儲器是處于通信網絡中的能夠與電子設備通信耦接的任何存儲裝置,例如為云端存儲服務器。
[0030]具體的實踐示例如下。在所述平板計算機EPl上安裝有應用、并且在平板計算機EPl的本地存儲器中存儲了用于該應用的多個文件,所述多個文件中的進度文件用于指明該應用的運行進度;當用戶在所述平板計算機EPl上運行應用,平板計算機EPl可以將該用于指明應用的運行進度的進度文件存儲到所述網絡存儲器上。該過程同樣適用于圖1中的其它電子設備。此外,圖1中的四個電子設備中的任一個可以在需要時從所述網絡存儲器上下載所述進度文件,以獲得所述應用的運行進度,從而實現了跨電子設備的進度同步。
[0031]圖2是示意性圖示了根據本發明實施例的文件同步的方法200的流程圖。該文件同步的方法200應用于如圖1所示的電子設備中的任一個,其中在該電子設備上安裝有應用(例如,游戲“憤怒的小鳥”),用于該應用的多個文件存儲在電子設備的本地存儲器中,所述多個文件包括第一狀態的第一文件(例如,上述的進度文件),所述電子設備與一網絡存儲器通信耦接。針對不同的應用,可以采用不同的方法來從所述多個文件中區分出所述第一文件,例如可以設定在安裝所述應用的過程中自動標記該第一文件。此外,該第一文件的個數可以是一個或多個。
[0032]所述文件同步的方法200包括:接收第一指令(S210);根據所述第一指令運行所述應用,所述第一文件在所述應用的運行過程中從所述應用運行之前的第一狀態轉換為第二狀態(S220);在所述第一文件從所述第一狀態轉換到所述第二狀態之后,利用第一文件系統將處于第二狀態的第一文件寫入到所述網絡存儲器,以便在另一電子設備上安裝的所述應用能夠基于網絡存儲器中的所述處于第二狀態的第一文件來運行(S230)。
[0033]在S210中,接收第一指令。該第一指令例如可以是用戶在電子設備中打開了所述應用時發出的指令,該第一指令用于說明想要運行/操作所述應用。
[0034]在S220中,根據所述第一指令運行所述應用,所述第一文件在所述應用的運行過程中從所述應用運行之前的第一狀態轉換為第二狀態。當根據所述第一指令開始所述應用的運行之后,在該應用的運行過程中會產生新的數據以記錄應用運行的進度,這使得在本地存儲器中存儲的關于該游戲的多個文件中的第一文件的狀態會發生變化,例如從所述應用運行之前的第一狀態轉換為第二狀態,該第二狀態的第一文件記錄了所述應用的運行進度。基于該第二狀態的第一文件,所述應用可以在與該第二狀態對應的進度的基礎上繼續運行,而不需要完全從頭開始運行。所述狀態例如可以指所述第一文件的大小、時間等狀態信息。
[0035]因為所述第一文件在所述應用的運行過程中會發生狀態改變,所以可以基于該特征預先從所述多個文件中確定所述第一文件。作為確定第一文件的示例,可以在應用的運行過程中監視與該應用相關的多個文件中的各個文件的狀態,并且將在應用的運行中狀態發生改變的文件確定為所述第一文件。該第一文件的個數可以為一個或多個。此外,還可以對在應用的運行中狀態發生改變的文件進行測試,例如通過用所述狀態發生改變的文件替代狀態改變前的文件的方式,來在所述狀態發生改變的文件進一步選出進度同步所必須的文件。
[0036]在S230中,在所述第一文件從所述第一狀態轉換到所述第二狀態之后,利用第一文件系統將處于第二狀態的第一文件寫入到所述網絡存儲器,以便在另一電子設備上安裝的所述應用能夠基于網絡存儲器中的所述處于第二狀態的第一文件來運行。
[0037]在現有的技術中,通常將所述狀態轉換后的第一文件寫入到例如圖1中的平板計算機EPl的電子設備的本地存儲器。這樣,當同一用戶例如從移動通信終端EP2登錄所述應用時,其無法獲知先前的運行進度,從而不能基于先前的運行進度來在移動通信終端EP2運行所述應用。
[0038]在該S230中,利用第一文件系統將處于第二狀態的第一文件寫入到所述網絡存儲器中,這樣當用戶在移動通信終端EP2運行所述應用時,其可以從所述網絡存儲器下載該處于第二狀態的第一文件或者從中獲知應用的運行進度,從而基于網絡存儲器中的所述處于第二狀態的第一文件來運行應用。由此可見,可以采用自動化的方式共享或備份應用進度(所述第一文件),從而能夠在無需用戶參于的情況下方便地進行應用進度的共享和同步,提升了用戶的使用體驗。此外,由于將用于指明應用的進度的所述第一文件存儲到了網絡存儲器中,所以節省了在電子設備的本地存儲器中進行保存所導致的空間開銷。
[0039]所述第一文件系統例如可以是用戶空間文件系統(Fuse, file system in userspace)。在所述第一文件從所述第一狀態轉換到所述第二狀態之后,該第一文件系統首先從所述多個文件之中選擇所述第一文件,然后將處于第二狀態的第一文件寫入到所述網絡存儲器。作為示例,在先前將第一文件存儲到本地存儲器的情況中,可以利用所述第一文件系統重新定向所述第一文件的保存路徑;基于重新定向后的保存路徑而將所述處于第二狀態的第一文件寫入到所述網絡存儲器。此外,在將所述處于第二狀態的第一文件寫入到所述網絡存儲器之前,還可以確定所述電子設備的通信環境是否滿足預定條件,并且當電子設備的通信環境滿足預定條件時,將所述處于第二狀態的第一文件寫入到所述網絡存儲器。
[0040]此外,在所述第一文件從所述第一狀態轉換到所述第二狀態之后,還可利用第二文件系統,例如文件分配表(FAT,FILE ALLOCATION TABLE)文件系統,將所述處于第二狀態的第一文件存儲到本地存儲器中。在如上所述還確定所述電子設備的通信環境是否滿足預定條件的情況中,可以在所述電子設備的通信環境不滿足預定條件時,將所述處于第二狀態的第一文件存儲到本地存儲器,從而避免由于通信環境差而難以保存第一文件。這樣,如果用戶從同一電子設備運行所述應用,可以不依賴于通信網絡和網絡存儲器地在先前的進度上運行應用;如果用戶從另一電子設備運行所述應用,也能夠基于先前的進度來運行應用。
[0041]在利用第一文件系統將處于第二狀態的第一文件寫入到所述網絡存儲器之后,當先前向網絡存儲器寫入所述第一文件的用戶登錄所述另一電子設備時,發出一下載指令,基于該下載指令來下載先前在網絡存儲器中存儲的第一文件。在登錄所述另一電子設備時,可以基于用戶名來確定是否是先前向網絡存儲器寫入所述第一文件的用戶進行所述登錄。此外,還可以在用戶從上載所述第一文件的電子設備啟動所述應用時發出一下載指令,并基于該下載指令來下載先前在網絡存儲器中存儲的第一文件。所述下載指令通常被轉換為所述電子設備的應用層上的指令而實現下載。
[0042]在根據本發明實施例的所述文件同步的方法200中,通過將狀態改變后的第一文件寫入到所述網絡存儲器,能夠在無需用戶參于的情況下方便地進行應用進度的共享和同步,從而提升了用戶的使用體驗。
[0043]圖3是示意性圖示了根據本發明另一實施例的文件同步的方法300的流程圖。該文件同步的方法300應用于如圖1所示的電子設備中,所述電子設備與一網絡存儲器通信耦接,在該電子設備上安裝有應用,用于該應用的多個文件存儲在電子設備的本地存儲器中,所述多個文件包括第一狀態的第一文件。[0044]該文件同步的方法300包括:接收第一指令(S310);根據所述第一指令運行所述應用,所述第一文件在所述應用的運行過程中從所述應用運行之前的第一狀態轉換為第二狀態(S320);在所述第一文件從所述第一狀態轉換到所述第二狀態之后,將所述處于第二狀態的第一文件寫入到所述本地存儲器(S330);在所述第一文件從所述第一狀態轉換到所述第二狀態之后,將所述處于第二狀態的第一文件寫入到所述網絡存儲器,以便在另一電子設備上安裝的所述應用能夠基于網絡存儲器中的所述處于第二狀態的第一文件來運行(S340)。
[0045]所述S310和S320與前述的圖2中的S210和S220相同,可以參見在圖2中的結合S210和S220進行的描述。
[0046]在S330中,在所述第一文件從所述第一狀態轉換到所述第二狀態之后,將所述處于第二狀態的第一文件寫入到所述本地存儲器。當在應用的運行過程中發現需要第一文件的狀態發生轉換而需要存儲該狀態轉換后的第一文件時,可以采用現有的或將來出現的各種技術將該狀態轉換后的第一文件存儲在本地存儲器中。作為示例,當需要存儲該狀態轉換后的第一文件時,進行系統調用以啟動虛擬文件系統VFS,該VFS解析在所述電子設備中安裝的文件系統的類型,其例如為文件分配表(FAT,FILE ALLOCATION TABLE)文件系統、新技術文件系統(NTFS,New Technology File System)等,并利用該FAT或NTFS文件系統將所述狀態轉換后的第一文件存儲到本地存儲器中。
[0047]在S340中,將狀態轉換后的第一文件寫入到網絡存儲器,以便在另一電子設備上安裝的所述應用能夠基于網絡存儲器中的所述處于第二狀態的第一文件來運行。如前所述,當需要存儲該狀態轉換后的第一文件時,進行系統調用以啟動虛擬文件系統VFS,該VFS解析在所述電子設備中安裝的文件系統的類型,如果發現所安裝的文件系統中存在用戶空間文件系統(Fuse, file system in user space),則指令該Fuse文件系統將所述狀態轉換后的第一文件存儲到網絡存儲器中。所述Fuse文件系統將該寫入操作交由其守護進程來實現,從而實現所述狀態轉換后的第一文件在網絡存儲器中的寫入。要注意,這里利用Fuse文件系統將第一文件寫入到網絡存儲器中僅僅是示意性的,在實踐中可以采用其它的技術或其它的文件系統來執行該寫入。
[0048]在該340中,還可以首先確定所述電子設備的通信環境是否滿足預定條件,當電子設備的通信環境滿足預定條件時,才將所述處于第二狀態的第一文件寫入到所述網絡存儲器。
[0049]在根據本發明實施例的所述文件同步的方法300中,通過將狀態改變后的第一文件寫入到本地存儲器和所述網絡存儲器,用戶既可以不依賴于通信網絡地從同一電子設備運行所述應用、也可以從另一電子設備基于先前的進度來運行應用,從而能夠在無需用戶參于的情況下方便地進行應用進度的共享和同步,提升了用戶的使用體驗。
[0050]為了更充分地公開本發明實施例,下面結合圖4描述狀態轉換后的第一文件的寫入操作。圖4圖示了根據本發明實施例的讀寫操作的實現示例。
[0051]如圖4所示,狀態轉換后的第一文件的寫入操作被執行在電子設備的操作系統的用戶態和內核態二者中。當在圖2中的S210和S220 (或者圖3中的S310和S320)之后而需要存儲該狀態轉換后的第一文件時,在用戶態進行系統調用(例如調用Put命令)以啟動內核態中的虛擬文件系統VFS,該VFS解析在所述電子設備中安裝的文件系統的類型(例如,FAT文件系統、NTFS文件系統、Fuse文件系統等)。
[0052]如果僅將狀態轉換后的第一文件寫入到網絡存儲器而不寫入本地存儲器(S230中的操作),則該VFS在通過解析發現Fuse文件系統后指令Fuse文件系統將所述狀態轉換后的第一文件存儲到網絡存儲器中,所述Fuse文件系統然后將該寫入操作交由其守護進程來實現。如果狀態轉換前的第一文件被寫入本地存儲器,則通過守護進程中將第一文件的保存鏈路重新定向到網絡存儲器;如果狀態轉換前的第一文件的保存鏈路已經指向網絡存儲器,則守護進程直接執行寫入操作即可。
[0053]如果要將狀態轉換后的第一文件寫入到網絡存儲器和本地存儲器二者(S330中的操作),該VFS進行解析以發現Fuse文件系統和FAT (或者)NTFS文件系統,然后指令FATNTFS文件系統將所述狀態轉換后的第一文件存儲到本地存儲器中,指令Fuse文件系統將所述狀態轉換后的第一文件存儲到網絡存儲器中,所述Fuse文件系統然后將該寫入操作交由其守護進程來實現。
[0054]在網絡存儲器中存儲了狀態轉換后的第一文件的情況下,如果用戶登錄電子設備需要從該網絡存儲器讀取所述第一文件,則通過操作應用而進行系統調用(例如調用Get命令),以啟動內核態中的虛擬文件系統VFS,該VFS解析在所述電子設備中安裝的文件系統的類型(例如,FAT文件系統、NTFS文件系統、Fuse文件系統等)。
[0055]如果要從網絡存儲器下載所述第一文件,則該VFS在通過解析發現Fuse文件系統后指令Fuse文件系統從網絡存儲器讀取所述狀態轉換后的第一文件,所述Fuse文件系統然后將該讀取操作交由其守護進程來實現。
[0056]如果要從本地存儲器下載所述第一文件,則該VFS在通過解析發現FAT文件系統或者NTFS文件系統后指令其從本地存儲器讀取所述狀態轉換后的第一文件。
[0057]根據上面結合圖4的描述可知,在結合圖2和圖3描述的根據本發明實施例的文件同步方法中,如果利用Fuse文件系統來實現,所進行的讀寫操作都在用戶態完成,例如,調用Put/Get命令、操作用于執行Fuse文件系統的守護進程等,內核中的既有代碼無需改變,即不需要應用(例如游戲)廠商修改源代碼,整個游戲同步過程完全與代碼實現無關;并且與所采用的應用同步服務提供商也無關,可以非常方便的采用各個云存儲提供商所提供的存儲服務進行應用同步。該同步過程完全自動化進行,用戶感覺不到整個過程,提升了用戶體驗。
[0058]圖5是示意性圖示了根據本發明實施例的電子設備500的框圖。該電子設備是如圖1中所示的與網絡存儲器連接的電子設備,其例如為平板計算機、移動通信終端、筆記本計算機等。電子設備的類型不構成對本發明的限制。在該電子設備上安裝有諸如游戲的應用。
[0059]所述電子設備500包括:存儲單元510,用于存儲與所述應用有關的多個文件,所述多個文件包括第一狀態的第一文件;應用運行單元520,用于接收第一指令,根據所述第一指令運行所述應用,所述應用的運行促使所述第一文件從所述應用運行之前的第一狀態轉換為第二狀態;第一文件處理單元530,用于在所述第一文件從所述第一狀態轉換到所述第二狀態之后,利用第一文件系統將處于第二狀態的第一文件寫入到所述網絡存儲器,以便在另一電子設備上安裝的所述應用能夠基于網絡存儲器中的所述處于第二狀態的第一文件來運行。[0060]所述存儲單元510存儲與所述應用有關的多個文件,該多個文件是在電子設備上安裝所述應用時存儲到其上的文件。所述多個文件包括第一狀態的第一文件,該第一文件可以為一個或多個。針對不同的應用,可以采用不同的方法來從所述多個文件中選擇出所述第一文件,例如可以設定在安裝所述應用的過程中自動標記該第一文件。
[0061 ] 應用運行單元520接收第一指令并根據所述第一指令運行所述應用。所述第一指令例如可以是用戶在電子設備中打開了所述應用時發出的指令,該第一指令用于說明想要運行/操作所述應用。該應用運行單元520根據所述第一指令開始所述應用的運行,在該應用的運行過程中會產生新的數據以記錄應用運行的進度,這使得在本地存儲器中存儲的關于該游戲的多個文件中的第一文件的狀態會發生變化,例如從所述應用運行之前的第一狀態轉換為第二狀態,該第二狀態的第一文件記錄了所述應用的運行進度。基于該第二狀態的第一文件,所述應用可以在與該第二狀態對應的進度的基礎上繼續運行,而不需要完全從頭開始運行。所述狀態例如可以指所述第一文件的大小、時間等狀態信息。
[0062]此外,關于所述第一文件的確定,可以基于因為所述第一文件在所述應用的運行過程中會發生狀態改變這一特征來進行。這種確定可以通過預先的應用運行測試來完成。在本發明的各個實施例直接存儲所述第一文件即可。作為從所述多個文件中確定第一文件的示例,可以在應用的運行過程中監視與該應用相關的多個文件中的各個文件的狀態,并且將在應用的運行中狀態發生改變的文件確定為所述第一文件。此外,還可以對在應用的運行中狀態發生改變的文件進行測試,例如通過用所述狀態發生改變的文件替代狀態改變前的文件的方式,來在所述狀態發生改變的文件進一步選出進度同步所必須的文件。
[0063]在現有的技術中,通常將所述狀態轉換后的第一文件寫入到電子設備(例如圖1中的平板計算機EPl)的本地存儲器。這樣,當同一用戶例如從移動通信終端EP2登錄所述應用時,其無法獲知先前的運行進度,從而不能基于先前的運行進度來在移動通信終端EP2運行所述應用。
[0064]所述第一文件處理單元530利用第一文件系統將處于第二狀態的第一文件寫入到所述網絡存儲器。這樣,當用戶在移動通信終端EP2運行所述應用時,其可以從所述網絡存儲器下載該處于第二狀態的第一文件或者從中獲知應用的運行進度,從而基于網絡存儲器中的所述處于第二狀態的第一文件來運行應用。由此可見,可以采用自動化的方式共享或備份所述第一文件,從而能夠在無需用戶參于的情況下方便地進行應用進度的共享和同步,提升了用戶的使用體驗。此外,由于將用于指明應用的進度的所述第一文件存儲到了網絡存儲器中,所以節省了在電子設備的本地存儲器中進行保存所導致的空間開銷。
[0065]所述第一文件系統例如可以是用Fuse文件系統、或者任何其它能夠將文件寫入到網絡存儲器的文件系統。所述第一文件處理單元530例如可通過如下操作利用第一文件系統將處于第二狀態的第一文件寫入到所述網絡存儲器:從所述多個文件之中選擇所述第一文件;以及將處于第二狀態的第一文件寫入到所述網絡存儲器。此外,第一文件處理單元530還可以在將所述處于第二狀態的第一文件寫入到所述網絡存儲器之前,確定所述電子設備的通信環境是否滿足預定條件,并且當電子設備的通信環境滿足預定條件時、才進行所述寫入。
[0066]此外,所述電子設備500還可以包括第二文件處理單元。該第二文件處理單元用于在所述第一文件從所述第一狀態轉換到所述第二狀態之后,利用第二文件系統將所述處于第二狀態的第一文件存儲到所述存儲單元中。該第二文件處理單元例如可以為FAT文件系統、NTFS文件系統、或者其它能夠進行本地存儲的文件系統。在如上所述確定所述電子設備的通信環境是否滿足預定條件的情況中,該第二文件處理單元可以在所述電子設備的通信環境不滿足預定條件時,將所述處于第二狀態的第一文件存儲到本地存儲器,從而避免由于通信環境差而難以保存第一文件。
[0067]在本地的存儲單元和網絡存儲器二者中存儲第一文件的情況中,如果用戶從同一電子設備運行所述應用,可以不依賴于通信網絡和網絡存儲器地在先前的進度上運行應用;如果用戶從另一電子設備運行所述應用,也能夠從網絡存儲器下載第一文件并基于先前的進度來運行應用。
[0068]在利用第一文件系統將處于第二狀態的第一文件寫入到所述網絡存儲器之后,當先前向網絡存儲器寫入所述第一文件的用戶登錄所述另一電子設備時,所述第一文件處理單元利用第一文件系統發出一下載指令,并基于該下載指令來下載先前在網絡存儲器中存儲的第一文件。在登錄所述另一電子設備時,可以基于用戶名來確定是否是先前向網絡存儲器寫入所述第一文件的用戶進行所述登錄。此外,在用戶從上載所述第一文件的電子設備啟動所述應用時,所述第一文件處理單元還可以利用第一文件系統發出一下載指令,并基于該下載指令來下載先前在網絡存儲器中存儲的第一文件。所述下載指令通常被轉換為所述電子設備的應用層上的指令而實現下載。
[0069]此外,在先前將第一文件存儲到本地存儲器的情況中,第一文件處理單元530例如可以利用所述第一文件系統重新定向所述第一文件的保存路徑;基于重新定向后的保存路徑而將所述處于第二狀態的第一文件寫入到所述網絡存儲器。
[0070]在根據本發明實施例的所述電子設備500中,通過將狀態改變后的第一文件寫入到所述網絡存儲器,能夠在無需用戶參于的情況下方便地進行應用進度的共享和同步,從而提升了用戶的使用體驗。
[0071]圖6是示意性圖示了根據本發明另一實施例的電子設備600的框圖。在該電子設備600上安裝有應用,并且該電子設備600與一網絡存儲器通信耦接。
[0072]所述電子設備600包括:存儲單元610,用于存儲與所述應用有關的多個文件,所述多個文件包括第一狀態的第一文件;應用運行單元620,用于接收第一指令,根據所述第一指令運行所述應用,所述第一文件在所述應用的運行過程中從所述應用運行之前的第一狀態轉換為第二狀態;第一文件處理單元630,用于在所述第一文件從所述第一狀態轉換到所述第二狀態之后,將處于第二狀態的第一文件寫入到所述網絡存儲器,以便在另一電子設備上安裝的所述應用能夠基于網絡存儲器中的所述處于第二狀態的第一文件來運行;第二文件處理單元640,用于在所述第一文件從所述第一狀態轉換到所述第二狀態之后,將所述處于第二狀態的第一文件存儲到所述存儲單元中。
[0073]存儲單元610和應用運行單元620分別與圖5中的存儲單元510和應用運行單元520相同,其具體描述可以參見結合圖5進行的相應描述。
[0074]第一文件處理單元630將狀態轉換后的第一文件寫入到網絡存儲器,以便在另一電子設備上安裝的所述應用能夠基于網絡存儲器中的所述處于第二狀態的第一文件來運行。如前所述,第一文件處理單元630可以進行系統調用以啟動虛擬文件系統VFS,該VFS指令該Fuse文件系統將所述狀態轉換后的第一文件存儲到網絡存儲器中;此外,第一文件處理單元630還可以采用任何其它的技術來將所述狀態轉換后的第一文件存儲到網絡存儲器中,具體的實現方式不構成對本發明實施例的限制。
[0075]所述第一文件處理單元630還可以首先確定所述電子設備的通信環境是否滿足預定條件,當電子設備的通信環境滿足預定條件時,才將所述處于第二狀態的第一文件寫入到所述網絡存儲器。
[0076]第二文件處理單元640將所述處于第二狀態的第一文件寫入到所述本地存儲器。作為示例,第二文件處理單元640可以進行系統調用以啟動虛擬文件系統VFS,該VFS進行解析在所述電子設備中安裝的文件系統的類型(例如FAT文件系統、或NTFS文件系統),并利用解析得到的文件系統將所述狀態轉換后的第一文件存儲到本地存儲器中。
[0077]在根據本發明實施例的電子設備600中,通過將狀態改變后的第一文件寫入到本地存儲器和所述網絡存儲器二者中,用戶既可以不依賴于通信網絡地從同一電子設備運行所述應用、也可以從另一電子設備基于先前的進度來運行應用,從而能夠在無需用戶參于的情況下方便地進行應用進度的共享和同步,提升了用戶的使用體驗。
[0078]圖7是示意性圖示了根據本發明又一實施例的電子設備700的框圖。該電子設備700與一網絡存儲器通信耦接,并包括:存儲器710,用于存儲程序代碼;處理器720,用于執行所述程序代碼以實現結合圖2和圖3描述的文件同步的方法。
[0079]存儲器710可以包括只讀存儲器和隨機存取存儲器中的至少一個,并向處理器720提供指令和數據。存儲器710的一部分還可以包括非易失行隨機存取存儲器(NVRAM)。
[0080]處理器720可以是通用處理器、數字信號處理器(DSP)、專用集成電路(ASIC)、現成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。通用處理器可以是微處理器或者任何常規的處理器等。
[0081]結合本發明實施例所公開的方法的步驟可以直接體現為由處理器執行完成,或者用處理器中的硬件及軟件模塊組合執行完成。軟件模塊可以位于隨機存儲器、閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領域成熟的存儲介質中。該存儲介質位于存儲器710中,處理器720讀取存儲器710中的信息,結合其硬件完成上述方法的步驟。
[0082]本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。
[0083]所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的設備和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
[0084]在本申請所提供的幾個實施例中,應該理解到,所揭露的設備和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個設備,或一些特征可以忽略,或不執行。
[0085]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
[0086]所述功能如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器、隨機存取存儲器、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0087]以上所述,僅為本發明的【具體實施方式】,但本發明的保護范圍并不局限于此,任何熟悉本【技術領域】的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應所述以權利要求的保護范圍為準。
【權利要求】
1.一種文件同步的方法,該方法應用于一電子設備中,在該電子設備上安裝有應用,用于該應用的多個文件存儲在電子設備的本地存儲器中,所述多個文件包括第一狀態的第一文件,所述電子設備與一網絡存儲器通信耦接,所述方法包括: 接收第一指令; 根據所述第一指令運行所述應用,所述第一文件在所述應用的運行過程中從所述應用運行之前的第一狀態轉換為第二狀態; 在所述第一文件從所述第一狀態轉換到所述第二狀態之后,利用第一文件系統將處于第二狀態的第一文件寫入到所述網絡存儲器,以便在另一電子設備上安裝的所述應用能夠基于網絡存儲器中的所述處于第二狀態的第一文件來運行。
2.根據權利要求1的方法,其中,在所述第一文件從所述第一狀態轉換到所述第二狀態之后,利用第二文件系統將所述處于第二狀態的第一文件存儲到本地存儲器中。
3.根據權利要求1的方法,其中,所述利用該第一文件系統將處于第二狀態的第一文件寫入到所述網絡存儲器包括: 從所述多個文件之中選擇所述第一文件;以及 將處于第二狀態的第一文件寫入到所述網絡存儲器。
4.根據權利要求1的方法,其中,所述利用該第一文件系統將處于第二狀態的第一文件寫入到所述網絡存儲器包括: 確定所述電子設備的通信環境是否滿足預定條件; 當電子設備的通信環境滿足預定條件時,將所述處于第二狀態的第一文件寫入到所述網絡存儲器。`
5.根據權利要求1的方法,其中,所述利用該第一文件系統將處于第二狀態的第一文件寫入到所述網絡存儲器包括: 利用所述第一文件系統重新定向所述第一文件的保存路徑; 基于重新定向后的保存路徑而將所述處于第二狀態的第一文件寫入到所述網絡存儲器。
6.根據權利要求1的方法,還包括: 當先前向網絡存儲器寫入所述第一文件的用戶登錄所述另一電子設備時,發出一下載指令; 基于該下載指令來下載先前在網絡存儲器中存儲的第一文件。
7.根據權利要求1的方法,還包括: 當所述應用被啟動時,發出一下載指令; 基于該下載指令來下載先前在網絡存儲器中存儲的第一文件。
8.一種文件同步的方法,該方法應用于一電子設備中,在該電子設備上安裝有應用,用于該應用的多個文件存儲在電子設備的本地存儲器中,所述多個文件包括第一狀態的第一文件,所述電子設備與一網絡存儲器通信耦接,所述方法包括: 接收第一指令; 根據所述第一指令運行所述應用,所述第一文件在所述應用的運行過程中從所述應用運行之前的第一狀態轉換為第二狀態; 在所述第一文件從所述第一狀態轉換到所述第二狀態之后,將所述處于第二狀態的第一文件寫入到所述本地存儲器; 在所述第一文件從所述第一狀態轉換到所述第二狀態之后,將所述處于第二狀態的第一文件寫入到所述網絡存儲器,以便在另一電子設備上安裝的所述應用能夠基于網絡存儲器中的所述處于第二狀態的第一文件來運行。
9.根據權利要求8的方法,其中,所述將處于第二狀態的第一文件寫入到所述網絡存儲器包括: 確定所述電子設備的通信環境是否滿足預定條件; 當電子設備的通信環境滿足預定條件時,將所述處于第二狀態的第一文件寫入到所述網絡存儲器。
10.一種電子設備,在該電子設備上安裝有應用,該電子設備與一網絡存儲器通信耦接,所述電子設備包括: 存儲單元,用于存儲與所述應用有關的多個文件,所述多個文件包括第一狀態的第一文件; 應用運行單元,用于接收第一指令,根據所述第一指令運行所述應用,所述應用的運行促使所述第一文件從所述應用運行之前的第一狀態轉換為第二狀態; 第一文件處理單元,用于在所述第一文件從所述第一狀態轉換到所述第二狀態之后,利用第一文件系統將處于第二狀態的第一文件寫入到所述網絡存儲器,以便在另一電子設備上安裝的所述應用能夠基于網絡存儲器中的所述處于第二狀態的第一文件來運行。
11.根據權利要求10的電子設備,還包括第二文件處理單元,用于在所述第一文件從所述第一狀態轉換到所述第二狀態之后,利用第二文件系統將所述處于第二狀態的第一文件存儲到所述存儲單元中。`
12.根據權利要求10的電子設備,其中,所述第一文件處理單元通過如下操作利用第一文件系統將處于第二狀態的第一文件寫入到所述網絡存儲器: 從所述多個文件之中選擇所述第一文件;以及 將處于第二狀態的第一文件寫入到所述網絡存儲器。
13.根據權利要求10的電子設備,其中,所述第一文件處理單元通過如下操作利用第一文件系統將處于第二狀態的第一文件寫入到所述網絡存儲器: 確定所述電子設備的通信環境是否滿足預定條件; 當電子設備的通信環境滿足預定條件時,將所述處于第二狀態的第一文件寫入到所述網絡存儲器。
14.根據權利要求10或11的電子設備,其中,所述第一文件處理單元通過如下操作利用第一文件系統將處于第二狀態的第一文件寫入到所述網絡存儲器: 重新定向所述第一文件的保存路徑; 基于重新定向后的保存路徑而將所述處于第二狀態的第一文件寫入到所述網絡存儲器。
15.根據權利要求10的電子設備,其中,當先前向網絡存儲器寫入所述第一文件的用戶登錄所述另一電子設備時,所述第一文件處理單元利用第一文件系統發出一下載指令,并基于該下載指令來下載先前在網絡存儲器中存儲的第一文件。
16.根據權利要求10的電子設備,其中,當所述應用被啟動時,所述第一文件處理單元利用第一文件系統發出一下載指令,并基于該下載指令來下載先前在網絡存儲器中存儲的第一文件。
17.一種電子設備,在該電子設備上安裝有應用,該電子設備與一網絡存儲器通信耦接,所述電子設備包括: 存儲單元,用于存儲與所述應用有關的多個文件,所述多個文件包括第一狀態的第一文件; 應用運行單元,用于接收第一指令,根據所述第一指令運行所述應用,所述應用的運行促使所述第一文件從所述應用運行之前的第一狀態轉換為第二狀態; 第一文件處理單元,用于在所述第一文件從所述第一狀態轉換到所述第二狀態之后,將處于第二狀態的第一文件寫入到所述網絡存儲器,以便在另一電子設備上安裝的所述應用能夠基于網絡存儲器中的所述處于第二狀態的第一文件來運行; 第二文件處理單元,用于在所述第一文件從所述第一狀態轉換到所述第二狀態之后,將所述處于第二狀態的第一文件存儲到所述存儲單元中。
18.根據權利要求17的電子設備,其中,所述第一文件處理單元通過如下操作將處于第二狀態的第一文件寫入到所述網絡存儲器: 確定所述電子設備的通信環境是否滿足預定條件; 當電子設備的通信環境滿足預定條件時,將所述處于第二狀態的第一文件寫入到所述網絡存儲器。
19.一種電子設備,該電子設備與一網絡存儲器通信耦接,所述電子設備包括: 存儲器,用于存儲程序代碼;` 處理器,用于執行所述程序代碼以實現如權利要求1到9中任一項所述的方法。
【文檔編號】G06F17/30GK103873495SQ201210530184
【公開日】2014年6月18日 申請日期:2012年12月10日 優先權日:2012年12月10日
【發明者】林松濤, 史子旺, 鄧寧 申請人:聯想(北京)有限公司