鴻蒙OS 分布式文件服務(wù)概述

2020-09-18 17:50 更新

分布式文件服務(wù)能夠為用戶設(shè)備中的應(yīng)用程序提供多設(shè)備之間的文件共享能力,支持相同帳號下同一應(yīng)用文件的跨設(shè)備訪問,應(yīng)用程序可以不感知文件所在的存儲設(shè)備,能夠在多個設(shè)備之間無縫獲取文件。

基本概念

  • 分布式文件 分布式文件是指依賴于分布式文件系統(tǒng),分散存儲在多個用戶設(shè)備上的文件,應(yīng)用間的分布式文件目錄互相隔離,不同應(yīng)用的文件不能互相訪問。
  • 文件元數(shù)據(jù) 文件元數(shù)據(jù)是用于描述文件特征的數(shù)據(jù),包含文件名,文件大小,創(chuàng)建、訪問、修改時間等信息。

運作機制

分布式文件服務(wù)采用無中心節(jié)點的設(shè)計,每個設(shè)備都存儲一份全量的文件元數(shù)據(jù)和本設(shè)備上產(chǎn)生的分布式文件,元數(shù)據(jù)在多臺設(shè)備間互相同步,當應(yīng)用需要訪問分布式文件時,分布式文件服務(wù)首先查詢本設(shè)備上的文件元數(shù)據(jù),獲取文件所在的存儲設(shè)備,然后對存儲設(shè)備上的分布式文件服務(wù)發(fā)起文件訪問請求,將文件內(nèi)容讀取到本地。

圖1 分布式文件服務(wù)運作示意圖

點擊放大

約束與限制

  • 應(yīng)用程序如需使用分布式文件服務(wù)完整功能,需要申請 ohos.permission.DISTRIBUTED_DATASYNC 權(quán)限。
  • 多個設(shè)備需要打開藍牙,連接同一 WLAN 局域網(wǎng),登錄相同華為帳號才能實現(xiàn)文件的分布式共享。
  • 存在多設(shè)備并發(fā)寫的場景下,為了保證文件獨享,開發(fā)者需要對文件進行加鎖保護。
  • 應(yīng)用訪問分布式文件時,如果文件所在設(shè)備離線,文件不能訪問。
  • 非持鎖情況下,并發(fā)寫沖突時,后一次會覆蓋前一次。
  • 網(wǎng)絡(luò)情況差時,訪問存儲在遠端的分布式文件時,可能會長時間不返回或返回失敗,應(yīng)用需要考慮這種場景的處理。
  • 當兩臺設(shè)備有同名文件時,同步元數(shù)據(jù)時會產(chǎn)生沖突,分布式文件服務(wù)根據(jù)時間戳將文件按創(chuàng)建的先后順序重命名,為避免此場景,建議應(yīng)用在文件名上做設(shè)備區(qū)分,例如,deviceID+時間戳。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號