HarmonyOS之數據管理·分布式文件服務的應用

      網友投稿 927 2025-03-31

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

      分布式文件是指依賴于分布式文件系統,分散存儲在多個用戶設備上的文件,應用間的分布式文件目錄互相隔離,不同應用的文件不能互相訪問。

      文件元數據是用于描述文件特征的數據,包含文件名,文件大小,創建、訪問、修改時間等信息。

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

      分布式文件服務運作如下圖所示:

      HarmonyOS之數據管理·分布式文件服務的應用

      應用程序如需使用分布式文件服務完整功能,需要申請 ohos.permission.DISTRIBUTED_DATASYNC 權限。

      多個設備需要登錄相同華為帳號,然后打開多個設備的藍牙,或將多個設備接入同一 WLAN 局域網,才能實現文件的分布式共享。

      當多臺設備對同一文件并發寫操作時有數據沖突,后寫會覆蓋先寫,應用需要主動保證時序控制并發流程。

      應用訪問分布式文件時,如果文件所在設備離線,文件不能訪問。

      網絡情況差時,訪問存儲在遠端的分布式文件時,可能會長時間不返回或返回失敗,應用需要考慮這種場景的處理。

      當兩臺設備有同名文件時,同步元數據時會產生沖突,沖突的解決策略:

      本地跟遠端沖突 ,遠端文件被重命名,看到的同名文件是本地同名文件,遠端文件被重命名;

      遠端多個設備沖突,以接入本設備 ID 為順序,顯示設備 ID 小的同名文件,其他文件被依次重命名;

      如果組網場景,目錄樹下已經有遠端文件,創建同名文件,提示文件已存在;

      沖突文件顯示 _conflict_dev 后依次加 id;

      同名目錄之間僅融合不存在沖突,文件和遠端目錄同名沖突,遠端目錄后綴加 _remote_directory。

      應用可以通過分布式文件服務實現多個設備間的文件共享,設備1上的應用 A 創建了分布式文件 a,設備2上的應用 A 能夠通過分布式文件服務讀寫設備1上的文件 a。

      分布式文件兼容 POSIX 文件操作接口,應用使用 Context.getDistributedDir() 接口獲取目錄后,可以直接使用 libc 或 JDK 訪問分布式文件。

      分布式文件服務 API 接口功能:

      應用可以通過 Context.getDistributedDir() 接口獲取屬于自己的分布式目錄,然后通過 libc 或 JDK 接口,在該目錄下創建、刪除、讀寫文件或目錄。

      設備1上的應用 A 創建文件 hello.txt,并寫入內容"Hello World"。

      Context context; ... // context初始化 File distDir = context.getDistributedDir(); String filePath = distDir + File.separator + "hello.txt"; FileWriter fileWriter = new FileWriter(filePath, true); fileWriter.write("Hello World"); fileWriter.close();

      1

      2

      3

      4

      5

      6

      7

      設備 2 上的應用 A 通過 Context.getDistributedDir() 接口獲取分布式目錄。

      設備 2 上的應用 A 讀取文件 hello.txt。

      FileReader fileReader = new FileReader(filePath); char[] buffer = new char[1024]; fileReader.read(buffer); fileReader.close(); System.out.println(buffer);

      1

      2

      3

      4

      5

      分布式 彈性文件服務 數據管理服務 DAS

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel表格兩列數據相乘方法(excel表格兩列數據相乘公式)
      下一篇:Excel中進行表格添加斜線對角線的操作方法(excel表格內怎么添加斜線)
      相關文章
      亚洲免费福利视频| 亚洲国产精品乱码在线观看97| 亚洲毛片在线免费观看| 亚洲av中文无码乱人伦在线r▽| 国产亚洲精品资在线| 亚洲黄片手机免费观看| 国产成人 亚洲欧洲| 国产精品亚洲色图| 国产偷国产偷亚洲高清人| 色窝窝亚洲AV网在线观看| 国产精品亚洲а∨无码播放麻豆| 亚洲AV无码成人精品区狼人影院 | 91麻豆精品国产自产在线观看亚洲| 四虎精品亚洲一区二区三区| 国产精品亚洲专区一区| 国产成人亚洲午夜电影| 亚洲AV无码男人的天堂| 亚洲1区2区3区精华液| 国产午夜亚洲精品不卡免下载| 在线播放亚洲精品| 亚洲精品无码日韩国产不卡?V| 久久久青草青青国产亚洲免观 | 亚洲一区在线免费观看| 亚洲中文字幕AV在天堂| 亚洲一日韩欧美中文字幕在线| 亚洲人成色77777在线观看| 亚洲AV无码专区亚洲AV桃| 国产天堂亚洲精品| 国产成人精品日本亚洲专区61 | 亚洲男人天堂2018av| 亚洲国产高清国产拍精品| 国产亚洲综合久久| 久久亚洲国产精品123区| 国产亚洲精品xxx| 精品亚洲av无码一区二区柚蜜| 亚洲七久久之综合七久久| 亚洲熟妇无码av另类vr影视| 亚洲精品无码成人片久久不卡| 久久水蜜桃亚洲AV无码精品| 亚洲国产精品成人| 亚洲精品无码久久久久去q|