26 Star 21 Fork 354

OpenHarmony/filemanagement_dfs_service

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

分布式文件服务

简介

分布式文件服务提供跨设备的、符合POSIX规范的文件访问能力。其在分布式软总线动态组网的基础上,为网络上各个设备结点提供一个统一的、逻辑的、树形的文件系统层次结构。


图1. 分布式文件系统架构图
架构图

其包括如下几个核心模块:

  • distributed_file_daemon:分布式文件管理常驻用户态服务,负责接入设备组网、数据传输能力,并负责挂载hmdfs。
  • distributed_file_service:分布式文件访问能力服务,对应用提供分布式扩展能力。
  • hmdfs(Harmony Distributed File System):分布式文件系统核心模块,是一种面向移动分布式场景的、高性能的、基于内核实现的、堆叠式文件系统。

目录

/foundation/filemanagement/dfs_service
├── frameworks                      // 接口实现
│   └── native                      // c/c++ 接口实现
├── interfaces                      // 接口声明
│   └── inner_API                   // 对内接口声明
├── services                        // 服务实现
│   └── distributed_file_daemon     // daemon常驻服务实现
|       └── include                 // daemon常驻服务头文件,类声明
|       └── src                     // daemon常驻服务源文件
|           └── device              // 设备上下线管理
|           └── ipc                 // daemon进程拉起退出流程以及ipc接口实现
|           └── mount_point         // hmdfs挂载管理
|           └── network             // 软总线和内核会话session交互相关
|       └── test                    // 测试代码
|   └── distributed_file_service    // 对应用提供扩展能力的服务实现
├── utils                           // 公共组件
|    ├── log                        // 日志组件
|    └── system                     // 平台相关组件

约束

接口支持情况

分布式文件管理当前不支持或有限支持如下 VFS 系统调用:

  • symlink:不支持
  • mmap:仅支持读
  • rename:仅支持同目录操作

规格

  • 最大目录层级

    与被堆叠文件系统,即data分区所用文件系统,如ext4,f2fs等保持一致。

  • 最大文件名长度

    取决于680B与被堆叠文件支持长度的最小值。f2fs和ext4均为255B。

  • 最大单文件大小

    取决于$2^{64}$B与被堆叠文件系统支持最大单文件大小的最小值。ext4单文件最大为16TB,f2fs单文件最大为3.94TB。

说明

使用说明

可以使用终端调试分布式文件管理能力。

  • 环境准备
  1. 设备A和设备B连接同一局域网
  2. 设备A和设备B登录同一华为账号
  • 分布式文件系统能力使用
  1. 经过以上环境准备后,即建立了设备间分布式文件互相访问的能力。
  2. 可以在应用内通过context.distributedFileDir()接口获取本应用沙箱内的分布式路径。
  3. 在此路径下可以像操作本地文件一样,操作远端设备的文件,比如可以进行创建、删除、读写文件和目录。
  4. 在一端设备上进行步骤3的文件操作后,在组网的所有分布式设备上都可以查看相应的修改。

相关仓

空文件

简介

暂无描述 展开 收起
C++ 等 2 种语言
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/openharmony/filemanagement_dfs_service.git
git@gitee.com:openharmony/filemanagement_dfs_service.git
openharmony
filemanagement_dfs_service
filemanagement_dfs_service
OpenHarmony_feature_20241108

搜索帮助

371d5123 14472233 46e8bd33 14472233