人員將明白,圖2的系統(tǒng)可以以各種方式實現(xiàn)。如上所述,在線存儲系 統(tǒng)102可以利用許多存儲機制和/或文件系統(tǒng)架構(gòu)來存儲數(shù)據(jù)216和/或元數(shù)據(jù)220。類似 地,同步裝置206和通信裝置208可以由各種組件和/或設(shè)備來提供。例如,同步裝置206 和/或通信裝置208可以使用電子設(shè)備202上的庫、在線存儲系統(tǒng)102,和/或充當(dāng)電子設(shè) 備202和在線存儲系統(tǒng)102之間的中間者的設(shè)備(例如,服務(wù)器)來實現(xiàn)。并且,應(yīng)用210 與API 204之間的交互可以通過各種編程語言、數(shù)據(jù)類型和結(jié)構(gòu)、操作、狀態(tài)和/或調(diào)用來 使能。
[0061] 圖3示出圖示出根據(jù)所公開的實施例的管理對與在線存儲系統(tǒng)相關(guān)聯(lián)的數(shù)據(jù)的 訪問的過程的流程圖。在一個或多個實施例中,這些步驟中的一個或多個步驟可以被省略、 被重復(fù)和/或以不同的順序被執(zhí)行。因此,圖3中示出的步驟的具體排列不應(yīng)當(dāng)理解成對 本技術(shù)的范圍的限制。
[0062] -開始,通過API利用電子設(shè)備上的應(yīng)用使能電子設(shè)備與在線存儲系統(tǒng)之間的數(shù) 據(jù)的同步(操作302)。API可以包括該應(yīng)用可以調(diào)用來執(zhí)行與這樣的數(shù)據(jù)同步有關(guān)的操作 的一組方法和/或功能調(diào)用。
[0063] API還用于向應(yīng)用提供數(shù)據(jù)的同步狀態(tài)(操作304)。同步狀態(tài)可以描述在線存儲 系統(tǒng)上的數(shù)據(jù)與電子設(shè)備上的緩存中的數(shù)據(jù)的拷貝之間的同步。例如,同步狀態(tài)可以包括 下載狀態(tài)、上載狀態(tài)、空閑狀態(tài)、傳輸進(jìn)展、已緩存狀態(tài)和/或錯誤狀態(tài)。同步狀態(tài)隨后可以 用于在數(shù)據(jù)的同步期間訪問數(shù)據(jù),如以下關(guān)于圖4更詳細(xì)描述的。
[0064] 接著,通過API利用電子設(shè)備使能包含該數(shù)據(jù)的文件系統(tǒng)的元數(shù)據(jù)的同步(操作 306)。元數(shù)據(jù)的同步可以使用打開操作、創(chuàng)建操作、刪除操作和/或移動操作來使能。
[0065] 最終,API用來向應(yīng)用提供文件系統(tǒng)的文件系統(tǒng)同步狀態(tài)(操作308)。文件系統(tǒng) 同步狀態(tài)可以包括元數(shù)據(jù)同步狀態(tài)、在線狀態(tài)、運行狀態(tài)、就緒狀態(tài)和/或改變狀態(tài)。另外, 改變狀態(tài)可以與文件系統(tǒng)中的路徑、目錄和/或文件相關(guān)聯(lián)。同步狀態(tài)和/或文件系統(tǒng)同 步狀態(tài)可以使能用于該應(yīng)用的元數(shù)據(jù)和數(shù)據(jù)兩者的魯棒同步,這進(jìn)而改進(jìn)了 了應(yīng)用對在線 存儲系統(tǒng)的使用。
[0066] 圖4示出圖示根據(jù)所公開的實施例在電子設(shè)備和在線存儲系統(tǒng)之間的數(shù)據(jù)的同 步期間訪問數(shù)據(jù)的過程的流程圖。在一個或多個實施例中,這些步驟中的一個或多個可以 被省略、被重復(fù)和/或以不同順序被執(zhí)行。因此,圖4中示出的步驟的具體排列不應(yīng)當(dāng)理解 成對本技術(shù)的范圍的限制。
[0067] 首先,對數(shù)據(jù)的訪問可以基于數(shù)據(jù)的同步狀態(tài)中包括已緩存狀態(tài)(操作402)。已 緩存狀態(tài)可以指示電子設(shè)備的本地緩存上的數(shù)據(jù)的存在。同步狀態(tài)中包括已緩存狀態(tài)會因 此導(dǎo)致從緩存訪問數(shù)據(jù)(操作404),而同步狀態(tài)中不包括已緩存狀態(tài)會要求從在線存儲系 統(tǒng)訪問數(shù)據(jù)(操作406)。
[0068] 從在線存儲系統(tǒng)訪問數(shù)據(jù)可以進(jìn)一步基于數(shù)據(jù)的可用性(操作408)。例如,如果 在線存儲系統(tǒng)不可用和/或電子設(shè)備沒有與在線存儲系統(tǒng)的網(wǎng)絡(luò)連接,則數(shù)據(jù)會不可用。 如果數(shù)據(jù)不可用,則錯誤狀態(tài)被指示(操作414)來促進(jìn)對錯誤狀態(tài)的處理和/或?qū)?shù)據(jù)的 后續(xù)訪問。如果數(shù)據(jù)不可用,則錯誤狀態(tài)不被指示。
[0069] 數(shù)據(jù)的更新的版本也可以從緩存和/或在線存儲系統(tǒng)獲得(操作410)。如果更新 的版本不可用(例如,不存在,不可訪問等等),則數(shù)據(jù)的現(xiàn)有版本被訪問。
[0070] 如果更新的版本可用,則更新的版本被訪問(操作412)。例如,來自緩存和/或在 線存儲系統(tǒng)的數(shù)據(jù)的現(xiàn)有版本可以繼續(xù)使用操作404-406被訪問同時更新的版本被配置 用于訪問(例如,下載)。一旦該更新的版本準(zhǔn)備就緒被訪問,則現(xiàn)有版本被更新的版本替 換。
[0071] 圖5示出根據(jù)所公開的實施例的計算機系統(tǒng)500。計算機系統(tǒng)500可以對應(yīng)于包 括處理器502、存儲器504、存儲裝置506和/或在電子計算設(shè)備中找到的其它組件的裝置。 處理器502可以支持與計算機系統(tǒng)500中的其它處理器的并行處理和/或多線程操作。計 算機系統(tǒng)500還可以包括輸入/輸出(I/O)設(shè)備,諸如鍵盤508、鼠標(biāo)510和顯示器512。
[0072] 計算機系統(tǒng)500可以包括用于執(zhí)行本實施例的各種組件的功能性。具體地,計算 機系統(tǒng)500可以包括協(xié)調(diào)計算機系統(tǒng)500上的硬件和軟件資源的使用以及為用戶執(zhí)行特殊 任務(wù)的一個或多個應(yīng)用的操作系統(tǒng)(未示出)。為了為用戶執(zhí)行任務(wù),應(yīng)用可以從操作系統(tǒng) 獲取對計算機系統(tǒng)500上的硬件資源的使用,以及通過由操作系統(tǒng)提供的硬件和/或軟件 架構(gòu)與用戶交互。
[0073] 在一個或多個實施例中,計算機系統(tǒng)500提供用于管理對與在線存儲系統(tǒng)相關(guān)聯(lián) 的數(shù)據(jù)的訪問的系統(tǒng)。該系統(tǒng)可以包括同步裝置,其通過API利用電子設(shè)備上的應(yīng)用使能 電子設(shè)備和在線存儲系統(tǒng)之間的數(shù)據(jù)的同步。該系統(tǒng)還可以包括通信裝置,其使用API來 向應(yīng)用提供數(shù)據(jù)的同步狀態(tài)。同步狀態(tài)可以包括下載狀態(tài)、上載狀態(tài)、空閑狀態(tài)、傳輸進(jìn)展、 已緩存狀態(tài)和/或錯誤狀態(tài)。
[0074] 同步裝置還可以通過API利用電子設(shè)備使能用于包含數(shù)據(jù)的文件系統(tǒng)的元數(shù)據(jù) 的同步,并且通信裝置可以使用API來向應(yīng)用提供文件系統(tǒng)的文件系統(tǒng)同步狀態(tài)。文件系 統(tǒng)同步狀態(tài)可以包括元數(shù)據(jù)同步狀態(tài)、在線狀態(tài)、運行狀態(tài)、就緒狀態(tài)和/或改變狀態(tài)。
[0075] 另外,計算機系統(tǒng)500的一個或多個組件可以位于遠(yuǎn)程并且經(jīng)由網(wǎng)絡(luò)連接到其它 組件。本實施例的多個部分(例如,通信裝置,同步裝置等)也可以位于實現(xiàn)這些實施例的 分布式系統(tǒng)的不同節(jié)點上。例如,本實施例可以使用云計算系統(tǒng)實現(xiàn),云計算系統(tǒng)提供用于 同步一組遠(yuǎn)程電子設(shè)備和與該云計算系統(tǒng)相關(guān)聯(lián)的存儲裝置機制之間的數(shù)據(jù)的API。
[0076] 以下是更多實施例的列表。
[0077] 1、一種用于管理對與在線存儲系統(tǒng)相關(guān)聯(lián)的數(shù)據(jù)的訪問的計算機實現(xiàn)的方法,包 括:
[0078] 利用電子設(shè)備上的應(yīng)用通過應(yīng)用編程接口(API)使能電子設(shè)備與在線存儲系統(tǒng) 之間的數(shù)據(jù)的同步;以及
[0079] 使用API向應(yīng)用提供數(shù)據(jù)的同步狀態(tài),其中,同步狀態(tài)包括以下至少一者:下載狀 態(tài)、上載狀態(tài)、空閑狀態(tài)、傳輸進(jìn)展、已緩存狀態(tài)和錯誤狀態(tài)。
[0080] 2、如權(quán)利要求1所述的計算機實現(xiàn)的方法,還包括:
[0081] 使用API向應(yīng)用提供包括所述數(shù)據(jù)的文件系統(tǒng)的文件系統(tǒng)同步狀態(tài),其中,文件 系統(tǒng)同步狀態(tài)包括以下至少一者:元數(shù)據(jù)同步狀態(tài)、在線狀態(tài)、運行狀態(tài)、就緒狀態(tài)和改變 狀態(tài)。
[0082] 3、如權(quán)利要求2所述的計算機實現(xiàn)的方法,還包括:
[0083] 通過API利用電子設(shè)備使能用于文件系統(tǒng)的元數(shù)據(jù)的同步。
[0084] 4、如權(quán)利要求3所述的計算機實現(xiàn)的方法,其中,使用打開操作、創(chuàng)建操作、刪除 操作和移動操作中的至少一者來使能利用電子設(shè)備的用于文件系統(tǒng)的元數(shù)據(jù)的同步。
[0085] 5、如權(quán)利要求2所述的計算機實現(xiàn)的方法,其中所述改變狀態(tài)與路徑、目錄和文 件中的至少一者相關(guān)聯(lián)。
[0086] 6、如權(quán)利要求1所述的計算機實現(xiàn)的方法,其中,如果該方法在電子設(shè)備和在線 存儲系統(tǒng)之間的數(shù)據(jù)的同步期間訪問數(shù)據(jù),則訪問數(shù)據(jù)包括:
[0087] 如果同步狀態(tài)包括已緩存狀態(tài),則從電子設(shè)備上的緩存訪問所述數(shù)據(jù):
[0088] 如果同步狀態(tài)不包括已緩存狀態(tài),則從在線存儲系統(tǒng)訪問所述數(shù)據(jù);
[0089] 如果所述數(shù)據(jù)的更新的版本可用,則訪問所述更新的版本;以及
[0090] 如果所述數(shù)據(jù)不可用,則指示錯誤狀態(tài)。
[0091] 7、如權(quán)利要求1所述的計算機實現(xiàn)的方法,其中,同步狀態(tài)指定在線存儲系統(tǒng)上 的數(shù)據(jù)與電子設(shè)備上的緩存中所述數(shù)據(jù)的拷貝之間的同步。
[0092] 8、一種用于管理對與在線存儲系統(tǒng)相關(guān)聯(lián)的數(shù)據(jù)的訪問的系統(tǒng),包括:
[0093] 同步裝置,其被配置為利用電子設(shè)備上的應(yīng)用通過應(yīng)用編程接口(API)來使能電 子設(shè)備和在線存儲系統(tǒng)之間的數(shù)據(jù)的同步;以及
[0094] 通信裝置,其被配置為使用API向應(yīng)用提供所述數(shù)據(jù)的同步狀態(tài),其中,同步狀態(tài) 包括以下至少一者:下載狀態(tài)、上載狀態(tài)、空閑狀態(tài)、傳輸進(jìn)展、已緩存狀態(tài)和錯誤狀態(tài)。
[0095] 9、如權(quán)利要求8所述的系統(tǒng),其中,通信裝置還被配置為:
[0096] 使用API向應(yīng)用提供包括所述數(shù)據(jù)的文件系統(tǒng)的文件系統(tǒng)同步狀態(tài),其中,文件 系統(tǒng)同步狀態(tài)包括以下至少一者:元數(shù)據(jù)同步狀態(tài)、在線狀態(tài)、運行狀態(tài)、就緒狀態(tài)和改變 狀態(tài)。
[0097] 10、如權(quán)利要求9所述的系統(tǒng),其中,同步裝置還被配置為:
[0098] 通過API利用電子設(shè)備使能用于文件系統(tǒng)的元數(shù)據(jù)的同步。
[0099] 11、如權(quán)利要求10所述的系統(tǒng),其中,使用打開操作、創(chuàng)建操作、刪除操作和移動 操作中的至少一者來使能利用電子設(shè)備的用于文件系統(tǒng)的元數(shù)據(jù)的同步。
[0100] 12、如權(quán)利要求9所述的系統(tǒng),其中所述改變狀態(tài)與路徑、目錄和文件中的至少一 者相關(guān)聯(lián)。
[0101] 13、如權(quán)利要求8所述的系統(tǒng),如果同步裝置在電子設(shè)備和在線存儲系統(tǒng)之間的 數(shù)據(jù)的同步期間訪問數(shù)據(jù),則訪問數(shù)據(jù)包括:
[0102] 如果同步狀態(tài)包括已緩存狀態(tài),則從電子設(shè)備上的緩存訪問所述數(shù)據(jù):
[0103] 如果同步狀態(tài)不包括已緩存狀態(tài),則從在線存儲系統(tǒng)訪問所述數(shù)據(jù);
[0104] 如果所述數(shù)據(jù)的更新的版本可用,則訪問所述更新的版本;以及
[0105] 如果所述數(shù)據(jù)不可用,則指示錯誤狀態(tài)。
[01