• Home
Name Date Size #Lines LOC

..--

services/12-May-2024-5,1403,628

test/moduletest/12-May-2024-200150

utils/12-May-2024-1,240837

.clang-formatD12-May-20246.7 KiB162162

BUILD.gnD12-May-20241.8 KiB4137

LICENSED12-May-20249.9 KiB177150

README.mdD12-May-2024976 3725

README_zh.mdD12-May-20243.7 KiB8358

bundle.jsonD12-May-20241.3 KiB5251

distributedfile.gniD12-May-2024918 2218

README.md

1# storage_distributed_file_manager
2
3#### Description
4{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**}
5
6#### Software Architecture
7Software architecture description
8
9#### Installation
10
111.  xxxx
122.  xxxx
133.  xxxx
14
15#### Instructions
16
171.  xxxx
182.  xxxx
193.  xxxx
20
21#### Contribution
22
231.  Fork the repository
242.  Create Feat_xxx branch
253.  Commit your code
264.  Create Pull Request
27
28
29#### Gitee Feature
30
311.  You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
322.  Gitee blog [blog.gitee.com](https://blog.gitee.com)
333.  Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
344.  The most valuable open source project [GVP](https://gitee.com/gvp)
355.  The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
366.  The most popular members  [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
37

README_zh.md

1# 分布式文件服务
2
3## **简介**
4
5分布式文件服务提供跨设备的、符合POSIX规范的文件访问能力。其在分布式软总线动态组网的基础上,为网络上各个设备结点提供一个统一的、逻辑的、树形的文件系统层次结构。
6
7<br>**图1**. 分布式文件系统架构图</br>
8![架构图](https://images.gitee.com/uploads/images/2022/0107/113135_1cef6c44_7809790.png "hmdfs架构图update20220107.png")
9
10
11其包括如下几个核心模块:
12
13- distributed_file_daemon:分布式文件管理常驻用户态服务,负责接入设备组网、数据传输能力,并负责挂载hmdfs。
14- distributed_file_service:分布式文件访问能力服务,对应用提供分布式扩展能力。
15- hmdfs(Harmony Distributed File System):分布式文件系统核心模块,是一种面向移动分布式场景的、高性能的、基于内核实现的、堆叠式文件系统。
16
17## **目录**
18
19```raw
20/foundation/filemanagement/dfs_service
21├── frameworks                      // 接口实现
22│   └── native                      // c/c++ 接口实现
23├── interfaces                      // 接口声明
24│   └── inner_API                   // 对内接口声明
25├── services                        // 服务实现
26│   └── distributed_file_daemon     // daemon常驻服务实现
27|       └── include                 // daemon常驻服务头文件,类声明
28|       └── src                     // daemon常驻服务源文件
29|           └── device              // 设备上下线管理
30|           └── ipc                 // daemon进程拉起退出流程以及ipc接口实现
31|           └── mount_point         // hmdfs挂载管理
32|           └── network             // 软总线和内核会话session交互相关
33|       └── test                    // 测试代码
34|   └── distributed_file_service    // 对应用提供扩展能力的服务实现
35├── utils                           // 公共组件
36|    ├── log                        // 日志组件
37|    └── system                     // 平台相关组件
38```
39
40## **约束**
41
42### 接口支持情况
43
44分布式文件管理当前不支持或有限支持如下 VFS 系统调用:
45
46- symlink:不支持
47- mmap:仅支持读
48- rename:仅支持同目录操作
49
50### 规格
51
52- 最大目录层级
53
54    与被堆叠文件系统,即data分区所用文件系统,如ext4,f2fs等保持一致。
55- 最大文件名长度
56
57    取决于680B与被堆叠文件支持长度的最小值。f2fs和ext4均为255B。
58- 最大单文件大小
59
60    取决于$2^{64}$B与被堆叠文件系统支持最大单文件大小的最小值。ext4单文件最大为16TB,f2fs单文件最大为3.94TB。
61
62## **说明**
63
64### 使用说明
65
66可以使用终端调试分布式文件管理能力。
67-   环境准备
68
691) 设备A和设备B连接同一局域网
702) 设备A和设备B登录同一华为账号
71-   分布式文件系统能力使用
72
731) 经过以上环境准备后,即建立了设备间分布式文件互相访问的能力。
742) 可以在应用内通过```context.distributedFileDir()```接口获取本应用沙箱内的分布式路径。
753) 在此路径下可以像操作本地文件一样,操作远端设备的文件,比如可以进行创建、删除、读写文件和目录。
764) 在一端设备上进行步骤3的文件操作后,在组网的所有分布式设备上都可以查看相应的修改。
77
78## 相关仓
79
80- [分布式软总线-SoftBus](https://gitee.com/openharmony/communication_dsoftbus)
81- [分布式硬件-设备管理](https://gitee.com/openharmony/device_manager)
82- [用户程序框架](https://gitee.com/openharmony/appexecfwk_standard)
83