用于與在線存儲系統(tǒng)的數(shù)據(jù)同步的應(yīng)用編程接口的制作方法
【技術(shù)領(lǐng)域】
[0001] 所公開的實施例涉及在線存儲系統(tǒng)。更具體地,所公開的實施例涉及用于與在線 存儲系統(tǒng)的數(shù)據(jù)同步的應(yīng)用編程接口(API)。
【背景技術(shù)】
[0002] 網(wǎng)絡(luò)使能的設(shè)備上的數(shù)據(jù)通常在諸如文件托管服務(wù)、云存儲服務(wù)和/或遠程備份 服務(wù)之類的在線存儲系統(tǒng)上被同步、被存儲、被共享和/或被備份。例如,諸如圖像、音頻、 視頻、文檔、可執(zhí)行文件和/或其它文件之類的數(shù)據(jù)可以存儲在諸如個人計算機、膝上計算 機、便攜式媒體播放器、臺式計算機和/或移動電話之類的網(wǎng)絡(luò)使能的電子設(shè)備上。電子設(shè) 備的用戶還可以具有云存儲服務(wù)的賬戶,其允許利用云存儲服務(wù)存儲和/或備份文件的拷 貝。云存儲服務(wù)還可以將拷貝發(fā)送給該用戶和/或被授權(quán)訪問文件的其他用戶的其它電子 設(shè)備,從而在云存儲服務(wù)和電子設(shè)備之間同步文件。
[0003] 遺憾的是,電子設(shè)備與在線存儲系統(tǒng)之間的數(shù)據(jù)同步通常關(guān)聯(lián)于與電子設(shè)備與在 線存儲系統(tǒng)的同步狀態(tài)有關(guān)的受限的交互和信息。例如,電子設(shè)備可以使用本地安裝的客 戶端應(yīng)用來利用在線存儲系統(tǒng)創(chuàng)建、刪除、修改和/或拷貝文件。可替代地,電子設(shè)備上的 第三方應(yīng)用可以使用應(yīng)用編程接口(API)來利用在線存儲系統(tǒng)執(zhí)行讀取、寫入、拷貝和/或 其它基于文件的操作。在兩種情況下,電子設(shè)備可能都沒有有關(guān)與這樣的基于文件的操作 相關(guān)聯(lián)的狀態(tài)的信息。例如,客戶端應(yīng)用和/或第三方應(yīng)用可能無法識別與失敗的文件傳 輸相關(guān)聯(lián)的錯誤和/或檢測在線存儲系統(tǒng)上文件的更新的版本。因此,電子設(shè)備的用戶在 同步到來自在線存儲系統(tǒng)的數(shù)據(jù)的最新的和/或正確版本時可能體驗到簡化的功能性和/ 或問題。
[0004] 因此,電子設(shè)備與在線存儲系統(tǒng)之間的數(shù)據(jù)同步可以通過使得能夠從電子設(shè)備訪 問與該同步相關(guān)聯(lián)的同步狀態(tài)而得到促進。
【發(fā)明內(nèi)容】
[0005] 所公開的實施例提供一種管理對與在線存儲系統(tǒng)相關(guān)聯(lián)的數(shù)據(jù)的訪問的系統(tǒng)。在 操作期間,該系統(tǒng)利用電子設(shè)備上的應(yīng)用通過應(yīng)用編程接口(API)使能電子設(shè)備和在線存 儲系統(tǒng)之間的數(shù)據(jù)的同步。接著,系統(tǒng)使用API來向應(yīng)用提供數(shù)據(jù)的同步狀態(tài),其中同步狀 態(tài)包括以下至少一者:下載狀態(tài)、上載狀態(tài)、空閑狀態(tài)、傳輸進展、已緩存狀態(tài)和錯誤狀態(tài)。
[0006] 在一些實施例中,該系統(tǒng)還可以使用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)。
[0007] 在一些實施例中,該系統(tǒng)還利用電子設(shè)備通過API使能用于文件系統(tǒng)的元數(shù)據(jù)的 同步。
[0008] 在一些實施例中,使用打開操作、創(chuàng)建操作、刪除操作和移動操作中的至少一者來 使能利用電子設(shè)備的、用于文件系統(tǒng)的元數(shù)據(jù)的同步。
[0009] 在一些實施例中,改變狀態(tài)與路徑、目錄和文件中的至少一者相關(guān)聯(lián)。
[0010] 在一些實施例中,如果系統(tǒng)在電子設(shè)備與在線存儲系統(tǒng)之間的數(shù)據(jù)的同步期間訪 問數(shù)據(jù),則訪問數(shù)據(jù)涉及:
[0011] (i)如果同步狀態(tài)包括已緩存狀態(tài),則從電子設(shè)備上的緩存訪問數(shù)據(jù);
[0012] (ii)如果同步狀態(tài)不包括已緩存狀態(tài),則從在線存儲系統(tǒng)訪問數(shù)據(jù);
[0013] (iii)如果數(shù)據(jù)的更新的版本可用,則訪問該更新的版本;以及
[0014] (iv)如果數(shù)據(jù)不可用,則指示錯誤狀態(tài)。
[0015] 在一些實施例中,同步狀態(tài)指示在線存儲系統(tǒng)上的數(shù)據(jù)與電子設(shè)備上的緩存中的 數(shù)據(jù)的拷貝之間的同步。
【附圖說明】
[0016] 圖1示出根據(jù)所公開的實施例的系統(tǒng)的示意圖。
[0017] 圖2示出根據(jù)所公開的實施例的用于管理對與在線存儲系統(tǒng)相關(guān)聯(lián)的數(shù)據(jù)的訪 問的系統(tǒng)。
[0018] 圖3示出圖示出根據(jù)所公開的實施例管理對與在線存儲系統(tǒng)相關(guān)聯(lián)的數(shù)據(jù)的訪 問的過程的流程圖。
[0019] 圖4示出圖示出根據(jù)所公開的實施例在電子設(shè)備與在線存儲系統(tǒng)之間的數(shù)據(jù)同 步期間訪問數(shù)據(jù)的過程的流程圖。
[0020] 圖5示出根據(jù)所公開的實施例的計算機系統(tǒng)。
[0021] 在附圖中,相似的標(biāo)號指代相同的附圖元素。
【具體實施方式】
[0022] 以下描述是為了使得本領(lǐng)域任何技術(shù)人員都能夠進行和使用這些實施例,并且是 在具體應(yīng)用及其要求的語境下提供的。對所公開的實施例的各種修改對于本領(lǐng)域技術(shù)人員 將是顯而易見的,并且這里限定的一般原理可以在不偏離本公開的精神和范圍的情況下應(yīng) 用于其它實施例和應(yīng)用。因此,本發(fā)明不限于所示出的實施例,而是要符合與這里所公開的 原理和特征一致的最寬范圍。
【具體實施方式】 [0023] 中描述的數(shù)據(jù)結(jié)構(gòu)和代碼通常被存儲在計算機可讀存儲介質(zhì)上,計 算機可讀存儲介質(zhì)可以是能夠存儲代碼和/或數(shù)據(jù)以供計算機系統(tǒng)使用的任何設(shè)備或介 質(zhì)。計算機可讀存儲介質(zhì)包括但不限于易失性存儲器、非易失性存儲器、磁存儲設(shè)備和光存 儲設(shè)備,諸如盤驅(qū)動器、磁帶、CD (致密盤)、DVD (數(shù)字通用盤或數(shù)字視頻盤),或現(xiàn)在已知的 或?qū)黹_發(fā)的能夠存儲代碼和/或數(shù)據(jù)的其它介質(zhì)。
【具體實施方式】 [0024] 中描述的方法和處理可以實現(xiàn)為代碼和/或數(shù)據(jù),其可以被存儲在 如上所述的計算機可讀存儲介質(zhì)中。當(dāng)計算機系統(tǒng)讀取和執(zhí)行存儲在計算機可讀存儲介質(zhì) 上的代碼和/或數(shù)據(jù)時,計算機系統(tǒng)執(zhí)行被實現(xiàn)為數(shù)據(jù)結(jié)構(gòu)和代碼并被存儲在計算機可讀 存儲介質(zhì)內(nèi)的方法和處理。
[0025] 并且,本文中描述的方法和處理可以被包括在硬件模塊或裝置中。這些模塊或裝 置可以包括但不限于專用集成電路(ASIC)芯片、現(xiàn)場可編程門陣列(FPGA)、在特定時間執(zhí) 行特定軟件模塊或代碼條的專用或共用處理器,和/或現(xiàn)在已知的或之后開發(fā)的其它可編 程邏輯設(shè)備。當(dāng)硬件模塊或裝置被激活時,它們執(zhí)行被包括在它們內(nèi)的方法和處理。
[0026] 所公開的實施例提供用于管理對與在線存儲系統(tǒng)相關(guān)聯(lián)的數(shù)據(jù)的訪問的方法 和系統(tǒng)。如圖1中所不,可以從一組電子設(shè)備104-110訪問在線存儲系統(tǒng)102,電子設(shè)備 104-110諸如是個人計算機、膝上計算機、臺式計算機、移動電話、個人數(shù)字助理、便攜式媒 體播放器、數(shù)字媒體接收器和/或其它網(wǎng)絡(luò)使能的電子設(shè)備。電子設(shè)備104-110與在線存 儲系統(tǒng)102之間的通信可以通過一個或多個網(wǎng)絡(luò)被使能,諸如局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、 個人局域網(wǎng)(PAN),虛擬專用網(wǎng)、內(nèi)聯(lián)網(wǎng)、蜂窩網(wǎng)絡(luò)、WiFi網(wǎng)絡(luò)、藍牙(Bluetooth?是藍牙SIG 公司的注冊商標(biāo))網(wǎng)絡(luò)、通用串行總線(USB)網(wǎng)絡(luò)和/或以太網(wǎng)絡(luò)。
[0027] 在在線存儲系統(tǒng)102的使用期間,電子設(shè)備104-110的用戶可以執(zhí)行與數(shù)據(jù)的存 儲、備份、檢索、共享和/或同步有關(guān)的任務(wù)。例如,每個用戶都可以使用電子設(shè)備(例如, 電子設(shè)備104-110)來利用用戶在在線存儲系統(tǒng)102上的用戶賬戶存儲圖像、音頻、視頻、文 檔、可執(zhí)行文件和/或其它文件。為了訪問文件和/或用戶賬戶,用戶可以從電子設(shè)備向在 線存儲系統(tǒng)102提供該用戶賬戶的認(rèn)證憑證。用戶也可以通過從其它電子設(shè)備向在線存儲 系統(tǒng)102提供相同的認(rèn)證憑證、授權(quán)從其它用戶的用戶賬戶對文件的訪問和/或?qū)⑽募?置在在線存儲系統(tǒng)102上的可公共訪問的目錄中來使能從其它電子設(shè)備對文件的訪問。
[0028] 為了使能對在線存儲系統(tǒng)102上的數(shù)據(jù)的這樣的存儲、備份、共享、同步和/或訪 問,在線存儲系統(tǒng)102可以使用一種或多種存儲機制來存儲數(shù)據(jù)。例如,在線存儲系統(tǒng)102 可以使用一個或多個服務(wù)器、云存儲裝置、網(wǎng)絡(luò)附連存儲裝置(NAS)、存儲局域網(wǎng)(SAN)、廉 價磁盤冗余陣列(RAID)系統(tǒng)和/或其它可網(wǎng)絡(luò)訪問的存儲裝置來存儲數(shù)據(jù)。在線存儲系 統(tǒng)102另外還可以使用各種文件系統(tǒng)體系架構(gòu)和/或?qū)蛹墎泶鎯?shù)據(jù)并使得存儲來自電子 設(shè)備104-110的數(shù)據(jù)所涉及的位置和/或機制模糊。
[0029] 在一個或多個實施例中,在線存儲系統(tǒng)102與支持電子設(shè)備104-110和在線存儲 系統(tǒng)102之間的自動數(shù)據(jù)同步的客戶端應(yīng)用相關(guān)聯(lián)。例如,客戶端應(yīng)用可以安裝在每個電 子設(shè)備上并在電子設(shè)備和在線存儲系統(tǒng)102之間自動同步與指定目錄(例如,新的、刪除 的、修改的、拷貝的和/或移動的文件和/或目錄中的子目錄)相關(guān)聯(lián)的改變。為了執(zhí)行這 種同步,客戶端應(yīng)用可以監(jiān)視電子設(shè)備上的對應(yīng)于該指定目錄的本地目錄并將本地目錄的 改變與在線存儲系統(tǒng)102上對應(yīng)于該指定目錄的遠程目錄同步。反之,客戶端應(yīng)用可以識 別遠程目錄的改變并將該改變傳播至本地目錄。因為客戶端應(yīng)用被電子設(shè)備的用戶直接使 用,因此客戶端應(yīng)用可以向用戶隱藏和/或省略同步的細(xì)節(jié)。
[0030] 如圖2中所示,電子設(shè)備202與在線存儲系統(tǒng)102之間的交互還可以由應(yīng)用編程 接口(API) 204利用電子設(shè)備202上的應(yīng)用210來促進,應(yīng)用210諸如是不直接隸屬于在線 存儲系統(tǒng)102的第三方應(yīng)用。例如,API 204可以提供與用于讀取、寫入、拷貝、移動、刪除和 /或以其它方式訪問在線存儲系統(tǒng)102上的數(shù)據(jù)216的操作有關(guān)的一組方法和/或功能調(diào) 用。進而,應(yīng)用210可以調(diào)用方法和/或功能調(diào)用來執(zhí)行任務(wù),諸如備份應(yīng)用210的應(yīng)用數(shù) 據(jù)和/或與在線存儲系統(tǒng)102和/或其它電子設(shè)備同步與應(yīng)用210相關(guān)聯(lián)的用戶數(shù)據(jù)(例 如,圖像、音頻、視頻、文本、文檔等等)。
[0031] 更具體地,與API 204相關(guān)聯(lián)的同步裝置206可以同步電子設(shè)備202的本地緩存 212中的數(shù)據(jù)218與在線存儲系統(tǒng)102上的數(shù)據(jù)216。如以上所述,這樣的同步可以通過檢 測每組數(shù)據(jù)2