diff --git a/README.en.md b/README.en.md deleted file mode 100644 index 375304f6e7ca367b9e29046bf35fce00970072b1..0000000000000000000000000000000000000000 --- a/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# storage_distributed_file_manager - -#### Description -{**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**} - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md index a47683ae701a2bf68e19cc1013b53fc6f9eb8c72..375304f6e7ca367b9e29046bf35fce00970072b1 100644 --- a/README.md +++ b/README.md @@ -1,82 +1,36 @@ -# 分布式文件管理服务 +# storage_distributed_file_manager -## **简介** +#### Description +{**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**} -分布式文件管理提供跨设备的、符合POSIX规范的文件访问能力。其在分布式软总线动态组网的基础上,为网络上各个设备结点提供一个统一的、逻辑的、树形的文件系统层次结构。 +#### Software Architecture +Software architecture description -
**图1**. 分布式文件管理架构图
-![架构图](https://images.gitee.com/uploads/images/2022/0107/113135_1cef6c44_7809790.png "hmdfs架构图update20220107.png") +#### Installation +1. xxxx +2. xxxx +3. xxxx -其包括如下几个核心模块: +#### Instructions -- distributed_file_daemon:分布式文件管理常驻用户态服务,负责接入设备组网、数据传输能力,并负责挂载hmdfs。 -- distributed_file_service:分布式文件管理服务进程,对应用提供分布式扩展能力。 -- hmdfs(Harmony Distributed File System):分布式文件管理核心模块,是一种面向移动分布式场景的、高性能的、基于内核实现的、堆叠式文件系统。 +1. xxxx +2. xxxx +3. xxxx -## **目录** +#### Contribution -```raw -/foundation/storage/distributed_file_manager -├── 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 // 平台相关组件 -``` +1. Fork the repository +2. Create Feat_xxx branch +3. Commit your code +4. Create Pull Request -## **约束** -### 接口支持情况 +#### Gitee Feature -分布式文件管理当前不支持或有限支持如下 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的文件操作后,在组网的所有分布式设备上都可以查看相应的修改。 - -## 相关仓 - -- [分布式软总线-SoftBus](https://gitee.com/openharmony/communication_dsoftbus) -- [分布式硬件-设备管理](https://gitee.com/openharmony/device_manager) -- [用户程序框架](https://gitee.com/openharmony/appexecfwk_standard) +1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md +2. Gitee blog [blog.gitee.com](https://blog.gitee.com) +3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) +4. The most valuable open source project [GVP](https://gitee.com/gvp) +5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) +6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README_zh.md b/README_zh.md new file mode 100644 index 0000000000000000000000000000000000000000..d14c642ce4ad74b0fedc18aeb911d43cf94cf5b2 --- /dev/null +++ b/README_zh.md @@ -0,0 +1,82 @@ +# 分布式文件管理服务 + +## **简介** + +分布式文件管理提供跨设备的、符合POSIX规范的文件访问能力。其在分布式软总线动态组网的基础上,为网络上各个设备结点提供一个统一的、逻辑的、树形的文件系统层次结构。 + +
**图1**. 分布式文件管理架构图
+![架构图](https://images.gitee.com/uploads/images/2022/0107/113135_1cef6c44_7809790.png "hmdfs架构图update20220107.png") + + +其包括如下几个核心模块: + +- distributed_file_daemon:分布式文件管理常驻用户态服务,负责接入设备组网、数据传输能力,并负责挂载hmdfs。 +- distributed_file_service:分布式文件管理服务进程,对应用提供分布式扩展能力。 +- hmdfs(Harmony Distributed File System):分布式文件管理核心模块,是一种面向移动分布式场景的、高性能的、基于内核实现的、堆叠式文件系统。 + +## **目录** + +```raw +/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的文件操作后,在组网的所有分布式设备上都可以查看相应的修改。 + +## 相关仓 + +- [分布式软总线-SoftBus](https://gitee.com/openharmony/communication_dsoftbus) +- [分布式硬件-设备管理](https://gitee.com/openharmony/device_manager) +- [用户程序框架](https://gitee.com/openharmony/appexecfwk_standard) diff --git a/distributedfile.gni b/distributedfile.gni index 60ee10292c5c4ed30a454437ea08018866253772..ecea88b2ebc741c042f0e2a42dac30c053f05a3f 100755 --- a/distributedfile.gni +++ b/distributedfile.gni @@ -11,7 +11,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -distributedfile_path = "//foundation/storage/distributed_file_manager" +distributedfile_path = "//foundation/filemanagement/dfs_service" utils_path = "${distributedfile_path}/utils" services_path = "${distributedfile_path}/services" diff --git a/interfaces/innerkits/native/BUILD.gn b/interfaces/innerkits/native/BUILD.gn index 009e52a7876977302eca673e133a038e0680ab73..56bfb871c9eb20cc7ab207d82cd95bb2b1cf39f0 100644 --- a/interfaces/innerkits/native/BUILD.gn +++ b/interfaces/innerkits/native/BUILD.gn @@ -11,7 +11,7 @@ # See the License for the specific language governing permissions and # limitations under the License. import("//build/ohos.gni") -import("//foundation/storage/distributed_file_manager/distributedfile.gni") +import("//foundation/filemanagement/dfs_service/distributedfile.gni") config("private_config") { include_dirs = [ @@ -43,6 +43,6 @@ ohos_shared_library("libdistributedfile_innerkits") { "${utils_path}:libdistributedfileutils", ] - part_name = "storage_distributed_file_manager" - subsystem_name = "storage" + part_name = "filemanagement_dfs_service" + subsystem_name = "filemanagement" } \ No newline at end of file diff --git a/ohos.build b/ohos.build index 50e5a679c11f0ed00b3cda56658c43ac49a6f795..8f7cc1aca482baf885a6d84a11ec083e4e71ac0a 100755 --- a/ohos.build +++ b/ohos.build @@ -1,28 +1,28 @@ { - "subsystem": "storage", + "subsystem": "filemanagement", "parts": { - "storage_distributed_file_manager": { + "filemanagement_dfs_service": { "variants": [ "wearable", "phone" ], "module_list": [ - "//foundation/storage/distributed_file_manager/services/:services_target" + "//foundation/filemanagement/dfs_service/services/:services_target" ], "inner_kits":[ { - "name": "//foundation/storage/distributed_file_manager/interfaces/innerkits/native:libdistributedfile_innerkits", + "name": "//foundation/filemanagement/dfs_service/interfaces/innerkits/native:libdistributedfile_innerkits", "header": { "header_files": [ "i_distributedfile_service.h" ], - "header_base": "//foundation/storage/distributed_file_manager/interfaces/innerkits/native" + "header_base": "//foundation/filemanagement/dfs_service/interfaces/innerkits/native" } } ], "test_list": [ - "//foundation/storage/distributed_file_manager/services/distributedfiledaemon/test/unittest:unittest", - "//foundation/storage/distributed_file_manager/test/moduletest:moduletest" + "//foundation/filemanagement/dfs_service/services/distributedfiledaemon/test/unittest:unittest", + "//foundation/filemanagement/dfs_service/test/moduletest:moduletest" ] } } diff --git a/services/BUILD.gn b/services/BUILD.gn index 07fd5de41d953dc836959b2126d63dd2e0c5377b..c68473d73742f91f25171e3283ac8976f32457d5 100644 --- a/services/BUILD.gn +++ b/services/BUILD.gn @@ -12,25 +12,25 @@ # limitations under the License. import("//build/ohos.gni") import("//build/ohos/sa_profile/sa_profile.gni") -import("//foundation/storage/distributed_file_manager/distributedfile.gni") +import("//foundation/filemanagement/dfs_service/distributedfile.gni") ohos_sa_profile("distributedfile_sa_profile") { sources = [ "4901.xml", "4902.xml"] - part_name = "storage_distributed_file_manager" + part_name = "filemanagement_dfs_service" } ohos_prebuilt_etc("distributedfile_etc") { source = "distributedfile.cfg" relative_install_dir = "init" - part_name = "storage_distributed_file_manager" - subsystem_name = "storage" + part_name = "filemanagement_dfs_service" + subsystem_name = "filemanagement" } ohos_prebuilt_etc("distributed_file.para") { source = "distributed_file.para" - part_name = "storage_distributed_file_manager" + part_name = "filemanagement_dfs_service" module_install_dir = "etc/param" } diff --git a/services/distributedfiledaemon/BUILD.gn b/services/distributedfiledaemon/BUILD.gn index 4eaaa6806f83231c3e3464460737ff50e936185f..cbea312f966b043ce7ede6be46eb19583403e798 100755 --- a/services/distributedfiledaemon/BUILD.gn +++ b/services/distributedfiledaemon/BUILD.gn @@ -11,7 +11,7 @@ # See the License for the specific language governing permissions and # limitations under the License. import("//build/ohos.gni") -import("//foundation/storage/distributed_file_manager/distributedfile.gni") +import("//foundation/filemanagement/dfs_service/distributedfile.gni") ohos_shared_library("libdistributedfiledaemon") { include_dirs = [ @@ -48,8 +48,8 @@ ohos_shared_library("libdistributedfiledaemon") { ] configs = [ "${utils_path}:compiler_configs" ] - part_name = "storage_distributed_file_manager" - subsystem_name = "storage" + part_name = "filemanagement_dfs_service" + subsystem_name = "filemanagement" } group("distributedfiledaemon_target") { diff --git a/services/distributedfiledaemon/test/unittest/BUILD.gn b/services/distributedfiledaemon/test/unittest/BUILD.gn index a76085157069b518dedd4cd963aa2dc135cd8b71..1412181820ae0ff64fdee05d1f1c8b4e04e64ee9 100644 --- a/services/distributedfiledaemon/test/unittest/BUILD.gn +++ b/services/distributedfiledaemon/test/unittest/BUILD.gn @@ -11,7 +11,7 @@ # See the License for the specific language governing permissions and # limitations under the License. import("//build/test.gni") -import("//foundation/storage/distributed_file_manager/distributedfile.gni") +import("//foundation/filemanagement/dfs_service/distributedfile.gni") module_output_path = "storage_distributed_file_manager/distributedfiledaemon" diff --git a/services/distributedfileservice/BUILD.gn b/services/distributedfileservice/BUILD.gn index d54c88a0c924d16e5b9ce50697efc3881f5f776b..e4fc7c6f1d375fcada15ea128db4e53c93303418 100644 --- a/services/distributedfileservice/BUILD.gn +++ b/services/distributedfileservice/BUILD.gn @@ -11,7 +11,7 @@ # See the License for the specific language governing permissions and # limitations under the License. import("//build/ohos.gni") -import("//foundation/storage/distributed_file_manager/distributedfile.gni") +import("//foundation/filemanagement/dfs_service/distributedfile.gni") ohos_shared_library("libdistributedfileservice") { include_dirs = [ @@ -39,8 +39,8 @@ ohos_shared_library("libdistributedfileservice") { "../../interfaces/innerkits/native:libdistributedfile_innerkits", ] - part_name = "storage_distributed_file_manager" - subsystem_name = "storage" + part_name = "filemanagement_dfs_service" + subsystem_name = "filemanagement" } group("distributedfileservice_target") { diff --git a/test/moduletest/BUILD.gn b/test/moduletest/BUILD.gn index d7ff046b90d1959ae2c56f085e058a210905c4b8..82f1d1aa5b9b40325ab626bb1565c513bc7d59c5 100644 --- a/test/moduletest/BUILD.gn +++ b/test/moduletest/BUILD.gn @@ -11,7 +11,7 @@ # See the License for the specific language governing permissions and # limitations under the License. import("//build/test.gni") -import("//foundation/storage/distributed_file_manager/distributedfile.gni") +import("//foundation/filemanagement/dfs_service/distributedfile.gni") module_output_path = "storage_distributed_file_manager/distributedfiledaemon" @@ -63,7 +63,7 @@ ohos_moduletest("DistributedFileDaemonServiceTest") { "//third_party/googletest:gmock", "${utils_path}:libdistributedfileutils", "//foundation/distributedhardware/devicemanager/interfaces/inner_kits/native_cpp:devicemanagersdk", - "//foundation/storage/distributed_file_manager/services/distributedfiledaemon:libdistributedfiledaemon", + "//foundation/filemanagement/dfs_service/services/distributedfiledaemon:libdistributedfiledaemon", "//base/security/deviceauth/services:deviceauth_sdk", ] diff --git a/utils/BUILD.gn b/utils/BUILD.gn index c25662f4bf7dd848d92e9ffcda07cbf153ada0ee..620c63d5fc55535ca6c3c350223050fe391719a8 100755 --- a/utils/BUILD.gn +++ b/utils/BUILD.gn @@ -12,7 +12,7 @@ # limitations under the License. import("//build/ohos.gni") -import("//foundation/storage/distributed_file_manager/distributedfile.gni") +import("//foundation/filemanagement/dfs_service/distributedfile.gni") config("compiler_configs") { visibility = [ ":*" ] @@ -65,6 +65,6 @@ ohos_shared_library("libdistributedfileutils") { "//utils/native/base:utils", ] - part_name = "storage_distributed_file_manager" - subsystem_name = "storage" + part_name = "filemanagement_dfs_service" + subsystem_name = "filemanagement" }