diff --git a/README.md b/README.md index 747f9a9a4eb1417d2b836484fa68056076f7d21d..a47683ae701a2bf68e19cc1013b53fc6f9eb8c72 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,12 @@ -# 分布式文件管理 - -[TOC] +# 分布式文件管理服务 ## **简介** 分布式文件管理提供跨设备的、符合POSIX规范的文件访问能力。其在分布式软总线动态组网的基础上,为网络上各个设备结点提供一个统一的、逻辑的、树形的文件系统层次结构。 -分布式文件管理的架构如下图所示: +
**图1**. 分布式文件管理架构图
+![架构图](https://images.gitee.com/uploads/images/2022/0107/113135_1cef6c44_7809790.png "hmdfs架构图update20220107.png") -![架构图](https://images.gitee.com/uploads/images/2022/0105/105537_8b6a7bbc_7809790.png "hmdfs架构图update20220105.png") 其包括如下几个核心模块: @@ -19,25 +17,24 @@ ## **目录** ```raw -//foundation/storage/distributed_file_manager -├── frameworks // 接口实现 +/foundation/storage/distributed_file_manager +├── frameworks // 接口实现 │ └── native // c/c++ 接口实现 -├── interfaces // 接口声明 -│ └── inner_API // 对内接口声明 -├── services // 服务实现 -│ └── distributed_file_daemon // 常驻服务实现 -| └── include -| └── src -| └── device // 设备上下线管理 -| └── ipc // daemon进程拉起退出流程以及ipc接口实现 -| └── mount_point // hmdfs挂载管理 -| └── network // 软总线和内核会话session交互相关 -| └── test -| └── BUILD.gn -| └── distributed_file_service // 三方应用调用流程服务实现 -└── utils // 公共组件 - ├── log // 日志组件 - └── system // 平台相关组件 +├── 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 // 平台相关组件 ``` ## **约束** @@ -54,16 +51,13 @@ - 最大目录层级 - 与被堆叠文件系统,即data分区所用文件系统,如ext4,f2fs等,保持一致。 + 与被堆叠文件系统,即data分区所用文件系统,如ext4,f2fs等保持一致。 - 最大文件名长度 取决于680B与被堆叠文件支持长度的最小值。f2fs和ext4均为255B。 -- 单文件大小限制 - - 取决于$2^{64}$B与被堆叠文件系统的最小值。ext4单文件最大为16TB, f2fs单文件最大为3.94TB。 -- 单目录下最大目录项数 +- 最大单文件大小 - 取决于被堆叠文件系统单文件大小。当堆叠f2fs时,假设平均目录长度放大系数为3,则为`3.94TB/4KB*85/3=29,966,344,738`个。 + 取决于$2^{64}$B与被堆叠文件系统支持最大单文件大小的最小值。ext4单文件最大为16TB, f2fs单文件最大为3.94TB。 ## **说明** @@ -76,11 +70,12 @@ 2) 设备A和设备B登录同一华为账号 - 分布式文件系统能力使用 -经过以上环境准备后,即建立了设备间分布式文件互相访问的能力。 -可以在应用内通过```Context.distributedFileDir()```接口获取本应用沙箱内的分布式路径, -然后在此目录下可以像操作本地文件或目录一样,操作远端设备的文件,比如可以进行创建、删除、读写文件和目录。 +1) 经过以上环境准备后,即建立了设备间分布式文件互相访问的能力。 +2) 可以在应用内通过```context.distributedFileDir()```接口获取本应用沙箱内的分布式路径。 +3) 在此路径下可以像操作本地文件一样,操作远端设备的文件,比如可以进行创建、删除、读写文件和目录。 +4) 在一端设备上进行步骤3的文件操作后,在组网的所有分布式设备上都可以查看相应的修改。 -## 相关 +## 相关仓 - [分布式软总线-SoftBus](https://gitee.com/openharmony/communication_dsoftbus) - [分布式硬件-设备管理](https://gitee.com/openharmony/device_manager)