remove info about mentor and inst
这是一个差分备份存储系统,采用了增量存储模式。它支持以线性形式对版本信息进行存储,也即差分备份、全量备份,合并两组差分备份数据。
代码内在Main.cpp实现了一个简单的交互系统,详细信息见代码内注释。
Main.cpp
这份代码提供了五个接口,其函数签名如下:
Backup(Path1, Path2, BackupPath);
Backup(Path, BackupPath)
DiffMerge(BackupList, Output)
ShowBackup(BackupPath)
Recover(Path1, Path2)
CMake见源代码根目录下方CMake文件中的注释,多线程与内存池参数等见介绍注释。
性能数据详见同目录下方PPT介绍。
Windows或Linux下直接运行CMakeLists.txt即可。也可以用Visual Studio等IDE自行构建。
HarmonyOS运行环境见下。
Dev请务必使用最新版本的HarmonyOS NEXT Developer Beta2版本的DevEco Studio。
虚拟机请使用配套的版本,需要在华为官网上申请测试权限才能使用。
创建一个C++开发示例,API版本需要最新的12。
拷贝除Main以外的源代码进去。
CMakeLists.txt文件内添加:
CMakeLists.txt
target_link_libraries(entry PUBLIC libhilog_ndk.z.so) add_definitions(-DHarmonyOSLog)
需要新开一个文件,按照示例实现注册表,以及添加接口供前端调用,参照DevEco Studio C++ Template实现。其余有关的文件(如Index.d.ts)也需要作更改。
Index.d.ts
module.json5文件内添加请求权限的声明:
module.json5
"requestPermissions": [ { "name" : "ohos.permission.READ_WRITE_DOCUMENTS_DIRECTORY", "reason": "$string:reason", "usedScene": { "abilities": [ "FormAbility" ], "when":"inuse" } } ]
HarmonyOS的文件系统与Linux相仿,这里使用的基础目录是/data/storage/el2/base/files。
/data/storage/el2/base/files
运行时先需要先申请访问权限,再执行样例。
本项目线程池引用progschj/ThreadPool: A simple C++11 Thread Pool implementation (github.com)并遵守其协议开源。
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
应用目录差异分析&增量备份服务
一:介绍
这是一个差分备份存储系统,采用了增量存储模式。它支持以线性形式对版本信息进行存储,也即差分备份、全量备份,合并两组差分备份数据。
二:如何运行
代码内在
Main.cpp
实现了一个简单的交互系统,详细信息见代码内注释。三:接口
这份代码提供了五个接口,其函数签名如下:
Backup(Path1, Path2, BackupPath);
Backup(Path, BackupPath)
DiffMerge(BackupList, Output)
ShowBackup(BackupPath)
Recover(Path1, Path2)
四:CMake在项目中的使用
CMake见源代码根目录下方CMake文件中的注释,多线程与内存池参数等见介绍注释。
五:性能
性能数据详见同目录下方PPT介绍。
六:构建并运行
Windows或Linux下直接运行CMakeLists.txt即可。也可以用Visual Studio等IDE自行构建。
HarmonyOS运行环境见下。
七:有关HarmonyOS测试环境搭建的细节
Dev请务必使用最新版本的HarmonyOS NEXT Developer Beta2版本的DevEco Studio。
虚拟机请使用配套的版本,需要在华为官网上申请测试权限才能使用。
创建一个C++开发示例,API版本需要最新的12。
拷贝除Main以外的源代码进去。
CMakeLists.txt
文件内添加:需要新开一个文件,按照示例实现注册表,以及添加接口供前端调用,参照DevEco Studio C++ Template实现。其余有关的文件(如
Index.d.ts
)也需要作更改。module.json5
文件内添加请求权限的声明:HarmonyOS的文件系统与Linux相仿,这里使用的基础目录是
/data/storage/el2/base/files
。运行时先需要先申请访问权限,再执行样例。
八:引用开源项目
本项目线程池引用progschj/ThreadPool: A simple C++11 Thread Pool implementation (github.com)并遵守其协议开源。