Go to file
yystopf 321e8f1840 Update README.md 2024-03-18 09:58:24 +08:00
media ADD file via upload 2024-03-16 09:55:32 +08:00
README.md Update README.md 2024-03-18 09:58:24 +08:00

README.md

高性能应用目录差异分析服务

作品完成和提交方式选择本赛题的参赛队伍需要首先复刻Fork本项目然后在复刻的项目中添加参赛队员、合作完成作品开发即可无需提交PR到赛题项目。如果作品为文档形式也请将作品文档提交到项目代码库中。在作品完成过程中围绕作品的相关讨论等可以以疑修Issue形式发布和讨论也可使用里程碑对整个任务进行规划管理。

1. 赛题说明

参赛人员需要实现一个系统服务,针对特定目录识别出目录间的差异,并输出差异内容清单。 业务模型如下:

应用A有自己的独有的数据目录A会按业务述求对该目录进行访问并对该目录进行新增加文件或目录、删除文件或目录、修改文件等操作。 备份服务有能力访问应用A独有的数据目录A并将相关的数据备份到备份空间。 备份行为存在全量备份和差分备份。 参赛人员需要实现一个备份服务。为了简化题目出题方提供A1、A2、A3等多个数据目录 分别代表是T1、T2、T3时间上应用数据目录A的状态其中T1 < T2 < T3。备份服务需要能够基于这几个目录分析、导出多个备份数据。 数据目录A细节信息 数据目录有大量的文件/文件夹 举例: 根目录下有文件夹1..8 文件夹1下有一个size1的文件 文件夹2下有两个文件夹(称作2阶文件夹)每个文件夹下有两个size2的文件 文件夹3下有3个文件夹(称作2阶文件夹)每个2阶文件夹下有3个文件夹(称作3阶文件夹)每个3阶文件夹下有3个size3的文件 文件夹N下有N个2阶文件夹每个2阶文件夹下有N个3阶文件夹….一直到N阶文件夹文件夹下有N个文件 每个文件的size不同文件多的话每个文件的size就小文件少的话每个文件的size就大。 为了简化,每个一阶文件夹的总大小相等。 简单计算: N=8时文件夹8有8^8=16,777,216个文件每个文件size为1KB总大小为16GB。 N=1时文件夹1有1个文件该文件size为16GB 因为一个文件的实际占用空间不可能只有1KB至少4KB起步再加上文件夹的容量开销一个文件夹最后实际占用空间肯定超过16GB因此这里后续可能会微调 同时为了简化审核,规定备份数据的格式: 1、一个备份数据一个目录a 2、目录下保存有一个文本文件b和一个目录c。文本文件保存了该备份的文件或目录的状态信息。每个状态信息一行示例如下 added&&path||startpos1 endpos1 delete&&path modified&&path||(startpos1 endpos1) || (startpos2 endpos2)|| …… 3、目录c下保存了具体文件的变化。修改的文件按照修改块的size直接追加到一起。

2. 赛题要求

1全量备份模拟全量备份 提供数据目录A1并对数据目录进行全量备份注意保留相关的备份数据分析信息。 2差分备份1模拟普通差分备份 提供数据目录A1和A2需要分析数据目录A2和A1的差异并进行差分备份输出A2和A1间的差异数据全集。建议将大文件进行适当粒度的分块4KB起步。 3差分备份2模拟备份过程中数据目录有修改 提供数据目录A1、A2和A3需要分析数据目录A2和A1的差异输出备份数据1。然后分析A3和A2的差异并在备份数据1的基础上叠加差异输出备份数据2。不允许直接获取A3和A1的差异。

3. 赛题导师

易见 — salient.yijian@huawei.com 冒晶晶 — maojingjing1@huawei.com 张智伟 — weizhi.zhang@huawei.com 覃鸿巍 — qinhongwei7@huawei.com

4. 参考资料

【OpenHarmony文件管理子系统介绍】 https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/%E6%96%87%E4%BB%B6%E7%AE%A1%E7%90%86%E5%AD%90%E7%B3%BB%E7%BB%9F.md https://gitee.com/openharmony/filemanagement_app_file_service 推荐硬件 Rk3568开发板