DataClonePro 帮助文档

一、产品概述

DataClonePro 是一款跨平台(Windows / macOS)的专业数据备份工具,支持多目标并行拷贝、校验验证、统计报告等功能。

核心特性

多目标并行拷贝

支持同时向最多 3 个目标路径拷贝,子任务可并行执行,源文件仅读取一次。

7 种校验算法

MD5 / XXH64 / XXH3 / XXH128 / BLAKE3 / SHA256 / FileSize,满足不同安全级别需求。

分片数据库架构

自动分片管理,单分片超过 2GB 自动轮转,保障大数据量下的查询性能。

统计与报告

多任务汇总统计,支持 HTML / ASC MHL 报告导出,文件格式分布分析。

任务导入导出

导出为 .dctb 格式文件,支持大文件自动分片;导入时自动去重。

驱动器热插拔

自动检测外接设备变化,驱动器移除时自动暂停相关任务,支持安全弹出。

系统要求

项目要求
操作系统Windows 10+ / macOS 12+
磁盘空间数据库至少保留 2GB 可用空间

二、主界面

主界面采用左右分栏布局:

  • 左侧:任务配置面板(TaskConfigPanel)——创建新的备份任务
  • 中间:动画分隔线——拷贝执行时闪烁动画
  • 右侧:任务列表面板(TaskListPanel)——管理所有任务

菜单栏功能

菜单菜单项功能说明
文件保存任务将当前所有已完成任务保存到数据库
导入任务从 .dctb 文件导入任务(自动去重)
导出任务将任务导出为 .dctb 格式文件(支持分片导出)
数据库管理查看和管理数据库分片文件(含压缩)
退出退出应用程序
工具系统信息查看 CPU、内存、网络、磁盘实时状态
磁盘测速测试目标磁盘的写入/读取速度(Blackmagic 风格仪表盘)
统计查询打开统计查询对话框
设置打开系统设置对话框
帮助信息日志查看操作日志(支持级别筛选、清除、导出)
关于查看版本信息

三、任务配置

在左侧面板中配置和创建备份任务。

配置项说明

配置项说明
任务名称为任务起一个易识别的名称(有长度限制)
源路径要拷贝的源目录,支持拖放输入或目录树选择
目标路径 1~3拷贝目标目录,默认显示1个,可添加最多3个;支持拖放
校验算法从可见算法列表中选择(可在设置中配置可见算法和默认算法)
跳过相同文件若目标已存在与源相同的文件(校验码一致),则跳过
保留源目录名在目标路径末尾自动追加源目录名
子任务并行执行多目标时,源文件仅读取1次,并行写入各目标
完成后通知勾选后,任务完成时自动发送邮件通知。注意:此选项仅控制当前任务;邮件发送需要先在"系统设置 → 通知设置"中完成 SMTP 全局配置并启用。若全局邮件开关未开启,任务配置面板将显示黄色警告提示。

创建任务步骤

  1. 输入任务名称
  2. 选择或拖入源路径
  3. 选择或拖入目标路径(可点击 "+" 添加更多目标)
  4. 根据需要调整校验算法和选项
  5. 点击"创建任务"按钮
系统会自动进行前置检查,包括源路径和目标路径的有效性验证。

完成后通知警告

当用户勾选"完成后通知"但系统中的全局邮件发送功能处于关闭状态时,配置面板底部会出现黄色警告文字:"警告:邮件发送已关闭,如需启用请在设置中开启!"。此时即使勾选了通知,任务完成后也不会发送邮件。

目录树浏览

左侧面板下方提供目录树,可直接点击选择路径。支持以下操作:

  • 展开/折叠目录节点
  • 点击目录自动填入路径输入框
  • 右键菜单:安全移除驱动器(限USB外接硬盘)
  • 驱动器变化时自动刷新
同盘警告:拖拽时若检测到源和目标在同一物理磁盘,会显示黄色警告提示。

四、任务管理

右侧面板展示所有任务,分为"任务队列"和"存档"两个标签页。

任务列表列说明

列名说明
序号任务在列表中的编号
建立时间任务创建时间
任务名称用户定义的任务名
状态当前状态(见下方状态说明)
进度/文件信息运行中显示进度百分比;历史任务显示文件数和大小
开始时间任务开始执行的时间
结束时间/预估结束运行中显示预估结束时间;已完任务显示实际结束时间
持续时间任务已运行/总耗时

任务状态

状态说明
等待中 (Pending)任务已创建,等待启动
扫描中 (Scanning)正在扫描源目录文件
运行中 (Running)正在执行拷贝操作
已暂停 (Paused)任务被手动暂停
已完成 (Completed)拷贝成功完成
已失败 (Failed)拷贝过程中出错
排队中 (Waiting)在批量执行队列中等待
已存档 (Archived)任务已归档至存档标签

操作按钮

  • 启动/暂停:启动等待中的任务,或暂停运行中的任务
  • 移除:从列表中移除任务(软删除,可恢复)
执行器同时只运行一个任务:在已有任务运行时启动第二个任务,会弹出"任务运行中"提示。需等待当前任务完成后再启动下一个。

停止任务

运行中或已暂停的任务可被停止(批量停止或驱动器移除时自动触发)。停止后任务标记为已失败,可直接从失败状态重新启动,无需删除重建。等待中/排队中的任务被停止时同样标记为失败。

右键菜单

在任务队列中右键单击单个任务,弹出上下文菜单:

操作说明
存档任务将已完成或失败的任务移入存档标签(仅对 Completed / Failed 状态显示)
重命名修改任务名称,通过弹出对话框输入新名称
启用通知 / 禁用通知切换当前任务的邮件通知开关。该菜单项为复选框样式(勾选 = 已启用),点击后即时切换。此开关与任务配置面板中的"完成后通知"复选框同步联动。注意:即使此处开启通知,仍需在系统设置中完成 SMTP 全局配置并启用邮件发送,否则任务完成时不会实际发送邮件。
打开源目录在系统资源管理器中打开任务的源路径
打开目标目录在系统资源管理器中打开对应目标路径(多目标任务在子任务行上右键时打开对应目标)

存档标签右键菜单

操作说明
永久删除彻底删除任务及关联文件记录
恢复从存档恢复任务到任务队列

批量操作

选中多个任务后,可批量执行:启动、暂停、停止、移除。批量执行采用 LIFO(后进先出)队列,按倒序依次启动任务。

分页

任务列表支持虚拟分页,默认每页 50 条。分页控件支持:首页、前2页、前1页、页码输入跳转、后1页、后2页、末页。

限制说明

限制项限制值
最大目标路径数3 个
任务名称最大显示宽度20 个汉字(40 字符)

五、进度查看

点击任务列表中的任务,右侧会显示该任务的文件级进度详情。

进度视图结构

  • 多目标任务按目标路径分为多个 Tab(如"Dest1"、"Dest2"、"Dest3")
  • 每个 Tab 显示该目标路径下的文件列表
  • 列表包含:文件名、格式、大小、进度、状态、校验码等信息

文件状态

状态说明
等待中文件排队等待拷贝
拷贝中正在拷贝文件数据
校验中拷贝完成,正在验证校验码
已完成拷贝并校验成功
失败拷贝或校验出错
已跳过因源文件与目标相同而跳过

速度计算

采用指数移动平均(EMA)算法计算平滑传输速度,避免因文件大小差异导致速度波动。运行中显示实时速度和预估剩余时间。

历史任务详情

对于已完成的任务,文件列表采用懒加载模式——仅在点击任务时按需从数据库分页加载文件记录,避免启动时内存占用过大。

限制说明

限制项限制值
子任务 Tab 上限3 个
文件详情每分片最大加载量50,000 条

六、统计查询

通过菜单栏"统计查询"打开独立对话框,包含三个标签页。

任务查询

按条件筛选任务记录,支持:

  • 按任务名称模糊搜索
  • 按日期范围筛选(默认最近30天)
  • 按状态筛选
  • 双击任务行可跳转到文件查询标签并显示该任务的文件(仅已完成任务响应;运行中/已暂停/已失败任务双击不跳转)
  • 查询结果支持分页浏览

文件查询

跨所有任务搜索文件记录,支持:

  • 按文件名模糊搜索
  • 按文件格式多选筛选
  • 按日期范围筛选
  • 查询结果支持分页浏览
  • 显示文件所属任务名称和创建时间

统计

多任务汇总统计,功能包括:

  • 从任务选择表格中勾选要统计的任务
  • 生成汇总统计:总文件数、成功/失败/跳过数、总数据量、平均速度、成功率
  • 文件格式分布分析
  • 单任务独立统计
  • 预览报告(分页显示文件详情)
  • 导出报告为 HTML 或 ASC MHL 格式(大文件量自动拆分)
报告导出时,当文件记录数超过阈值会自动拆分为多个文件,命名规则为:basename_1.html, basename_2.html, ...

限制说明

限制项限制值
统计任务最大选择数20 个任务
所选任务文件总数上限1,000,000 个文件
文件查询最大结果数30,000 条
预览报告最大页数100 页
报告自动拆分阈值超过 10,000 个文件记录自动拆分

七、系统设置

通过菜单栏"设置"打开设置对话框,包含三个标签页。

通用设置

设置项说明
默认目标地址数量新建任务时默认显示的目标路径输入框数量(1/2/3)
任务列表每页数量任务列表每页显示的任务数
文件列表每页数量文件详情每页显示的文件数
默认语言界面语言(中文/英文)
显示存档标签是否在任务列表中显示存档标签页
任务查询天数范围统计查询中任务查询的默认日期范围
文件查询天数范围统计查询中文件查询的默认日期范围
记录文件详情开启后,任务完成时将详细文件记录(文件名、校验码、状态等)保存到数据库;关闭后仅保存任务汇总统计。设置变更需重启应用生效。设置界面中:🟠 橙色实心圆点表示已开启记录;⚪ 白色空心圆圈表示未开启记录。

通知设置

通知设置标签页用于配置 SMTP 邮件服务器参数,是邮件通知功能的全局配置中心。

全局开关

设置项说明
启用/关闭发送全局邮件通知总开关。勾选后,各任务的"完成后通知"功能才实际生效。关闭时,即使任务勾选了通知也不会发送邮件,任务配置面板会显示黄色警告。

SMTP 服务器配置

设置项说明
SMTP 服务器邮件服务器地址,例如 smtp.qq.com、smtp.gmail.com、smtp.163.com。支持域名和 IP 地址格式。
SMTP 端口下拉选择:25(标准 SMTP,不加密)、465(SSL/TLS 加密,直接建立 TLS 连接)、587(STARTTLS,先明文连接再升级为 TLS)。默认推荐 587。
发件人邮箱用于登录 SMTP 服务器的邮箱地址,也是通知邮件的发件人。
授权码邮箱的 SMTP 授权码(非邮箱登录密码)
收件人邮箱接收任务完成通知的邮箱地址。

测试邮件

填写完 SMTP 配置后,点击"测试邮件"按钮验证配置是否正确。测试流程:

  1. 验证所有字段是否填写完整,空字段边框显示橙色提示
  2. 校验邮箱格式和服务器地址格式是否正确
  3. 通过 TCP 连接测试 SMTP 服务器可达性(5 秒超时)
  4. 通过 SMTP 协议发送一封测试邮件到收件人邮箱
  5. 显示发送结果(成功提示或错误详情)

按钮在测试过程中显示"检查中..."和"发送中..."状态,期间按钮禁用防止重复操作。

SSL/TLS 安全

系统采用 QSslSocket 进行加密通信。SMTP 连接握手支持:

  • 端口 465:直接建立 TLS 加密连接(connectToHostEncrypted)
  • 端口 587:先建立 TCP 明文连接,再通过 STARTTLS 升级为 TLS
  • 端口 25:标准 SMTP 明文连接(不推荐)

SSL 证书验证对自签名证书提供特殊处理;主机名不匹配和证书过期被视为严重安全错误,不会被忽略。

校验算法设置

配置任务配置面板中可见的校验算法和默认选中的算法:

  • 勾选/取消勾选各算法以控制其在下拉菜单中是否可见
  • 从可见算法中选择一个作为默认算法
  • 至少保留一个可见算法

八、实用工具

系统信息

实时监控系统资源使用情况:

  • CPU:使用率条形图和详细信息
  • 内存:已用/总量/可用空间
  • 网络:上传/下载速率
  • 磁盘:各磁盘的已用/总量/使用率

磁盘测速

Blackmagic 风格的磁盘速度测试工具,用于实测目标备份盘的持续读写性能:

  • 双仪表盘:分别显示写入速度与读取速度(MB/s),含实时值、平均值和峰值
  • 量程自动升档:速度超过当前量程 75% 时自动切换到更高量程(档位 500 / 1000 / 2000 / 5000 / 10000 / 20000 MB/s,同一轮测试中只升不降)
  • 测试流程:选择目标驱动器 → 点击开始按钮 → 循环执行写入+读取测试并统计轮次
  • 暂停/恢复:测试过程中可暂停与恢复
  • 设置菜单:选择目标驱动器、调整压力测试数据量档位
  • 临时文件:测试数据写入目标盘,测试完成后自动清理
建议在正式备份前对目标盘测速,确认其写入速度满足备份需求(如相机原始素材的实时备份)。

数据库管理

查看和管理数据库分片文件:

  • 显示所有分片文件列表;活动分片以淡紫色背景标记并显示 "(Active)" 后缀
  • 每个分片显示:文件名、大小、创建时间、任务数(存档/非存档)、时间跨度
  • 删除非活跃分片(需密码验证,每天最多5次失败)
  • 压缩非活跃分片,回收磁盘空间(详见下文)
  • 删除/压缩后自动刷新任务列表
  • 分页显示(每页10条)

压缩数据库

点击"压缩数据库"按钮可回收非活跃分片的空闲磁盘空间(增量清理,无需重建数据库文件):

  • 压缩范围始终排除活动分片——活动分片正在使用中,不可压缩
  • 选中活动分片行时,压缩按钮自动禁用;选中非活动分片或未选中时可用
  • 点击后弹出确认对话框(默认"否",防误触)
  • 压缩过程显示进度条,期间可安全关闭窗口中断(不损伤数据库)

数据库限制

限制项限制值
单分片自动轮转阈值2 GB
数据库总大小警告阈值20 GB
最低磁盘空间要求2 GB
密码验证每日失败上限5 次

日志查看

查看操作日志,支持:

  • 4 种日志级别:信息、警告、错误、致命错误
  • 日志持久化存储到数据库
  • 清除日志 / 保存日志到文件
  • 分页浏览

九、SMTP 邮件通知详解

DataClonePro 内置完整的 SMTP 邮件通知系统,支持任务完成后自动发送邮件通知。本章节详细介绍该功能的工作流程、配置方法和使用技巧。

通知工作流程

  1. 全局配置:在"系统设置 → 通知设置"中配置 SMTP 服务器、端口、账号、授权码和收件人,并确保"启用/关闭发送"处于勾选状态。
  2. 任务级开启:在任务配置面板勾选"完成后通知",或在任务列表中右键选择"启用通知"。
  3. 任务完成触发:任务执行完毕(成功或失败)时,系统自动调用 NotificationService 发送邮件。
  4. 邮件内容:包含任务名称、执行状态、完成时间等基本信息。
  5. 队列机制:多个通知请求自动排队,依次发送,避免并发连接冲突。

右键通知菜单详解

在任务队列中右键单击任意单个任务,弹出菜单中包含以下通知相关选项:

菜单项显示逻辑行为
启用通知当前任务通知未开启时显示点击后开启通知,菜单项变更为"禁用通知"并显示勾选标记
禁用通知当前任务通知已开启时显示点击后关闭通知,菜单项变更为"启用通知"并取消勾选标记

该菜单项为可复选样式(checkable),勾选状态直观反映当前任务的通知开关状态。此操作与任务配置面板中的"完成后通知"复选框完全同步,任一处修改都会即时反映到另一处。

右键通知切换仅在单选任务时可用。多选批量操作模式下不显示通知相关菜单。

常见 SMTP 服务器配置参考

邮件服务商SMTP 服务器端口说明
QQ 邮箱smtp.qq.com587需在 QQ 邮箱设置中开启 SMTP 服务,获取授权码
163 邮箱smtp.163.com587需在网易邮箱设置中开启 SMTP 服务
Gmailsmtp.gmail.com587需开启两步验证并使用应用专用密码
Outlooksmtp-mail.outlook.com587使用 Microsoft 账户密码或应用密码
企业邮箱(腾讯)smtp.exmail.qq.com587使用企业邮箱账号和密码

SMTP 状态机

邮件发送遵循标准 SMTP 协议状态机流程:

  1. 连接 → 接收服务器问候 (Greeting)
  2. 发送 EHLO → 服务器返回支持的命令列表
  3. (端口 587)发送 STARTTLS → 升级为加密连接 → 再次 EHLO
  4. (端口 465)直接 TLS 加密连接,省略 STARTTLS
  5. 发送 AUTH LOGIN → 发送 Base64 编码的用户名和密码
  6. 发送 MAIL FROM → RCPT TO → DATA → 邮件正文 → QUIT

安全机制

  • 授权码存储:邮箱授权码使用操作系统原生密钥链安全存储(Windows Credential Manager / macOS Keychain),不以明文写入配置文件。
  • SSL 证书验证:默认严格验证证书链。自签名证书可根据配置允许;主机名不匹配和证书过期为严重安全错误,始终拒绝。
  • 防重入保护:同一封邮件发送失败不会无限重试;失败后立即处理队列中的下一封邮件。

故障排查

现象可能原因解决方法
勾选通知但未收到邮件全局邮件开关未启用检查"系统设置 → 通知设置 → 启用/关闭发送"
测试邮件发送失败SMTP 服务器不可达检查网络连接、服务器地址和端口是否正确
认证失败授权码错误确认使用的是 SMTP 授权码而非邮箱登录密码
SSL 错误证书验证失败检查服务器证书是否有效;如为自签名证书,调整 SSL 验证配置
连接超时端口被封或防火墙阻止尝试切换端口(如从 587 切换到 465)

十、开源致谢

DataClonePro 的开发离不开以下开源软件的贡献,在此致以诚挚的感谢:

开源库版本说明许可证
Qt运行时版本跨平台 UI 框架LGPL v3
OpenSSL3.x加密与安全通信工具包Apache 2.0
xxHash0.8.3极速哈希算法BSD 2-Clause
BLAKE31.8.3高性能加密哈希算法Apache 2.0 或 CC0 1.0
SQLite33.47.0嵌入式 SQL 数据库引擎Public Domain (Zlib)

十一、常见问题

Q:拷贝速度比预期慢

A:可能原因:1) 源和目标在同一物理磁盘;2) 目标磁盘写入速度低;3) 校验算法开销。建议使用"工具 → 磁盘测速"实测目标盘读写速度,用"系统信息"工具查看磁盘状态,并检查源目标是否同盘。

Q:校验失败怎么办

A:校验失败表示目标文件与源文件内容不一致。可能原因:1) 磁盘错误;2) 拷贝过程中文件被修改;3) 网络传输错误(网络驱动器)。建议重新执行任务。

Q:数据库占用空间过大

A:通过"数据库管理"工具查看各分片大小,可删除不再需要的非活跃分片。每个分片超过 2GB 会自动创建新分片。

Q:如何恢复误删的任务

A:任务删除是软删除,可在"存档"标签页中右键选择"恢复"将任务恢复到任务队列。如需彻底删除,在存档中使用"永久删除"。

Q:导入任务时提示"已存在"

A:导入功能会自动检测任务 ID 是否已存在,重复任务会被跳过。如需覆盖,请先删除现有任务。

Q:外接硬盘拔出后任务异常

A:系统会自动检测驱动器移除事件并暂停相关任务。重新插入硬盘后,手动恢复任务即可。

Q:邮件通知收不到

A:请按以下步骤排查:

  1. 确认"系统设置 → 通知设置"中"启用/关闭发送"已勾选
  2. 确认 SMTP 服务器地址和端口配置正确
  3. 使用"测试邮件"功能验证配置是否能成功发送
  4. 确认使用的是授权码而非邮箱登录密码
  5. 检查垃圾邮件箱
  6. 尝试切换 SMTP 端口(587 → 465)

Q:右键菜单中的"启用通知"与任务配置面板的"完成后通知"是什么关系

A:两者完全同步联动,操作的是同一个任务级通知开关。右键菜单以复选框样式显示,勾选即开启;任务配置面板以复选框形式显示。任一处修改都会即时反映到另一处。这个开关仅控制当前任务;实际邮件发送还依赖系统设置中的全局 SMTP 配置。

Q:如何获取 QQ 邮箱的 SMTP 授权码

A:登录 QQ 邮箱网页版 → 设置 → 账户 → POP3/IMAP/SMTP 服务 → 开启 SMTP 服务 → 按提示发送短信验证 → 获取 16 位授权码。将此授权码填入 DataClonePro 的"授权码"字段。

Q:支持哪些校验算法

算法说明适用场景
MD5128-bit 哈希,速度快常规校验
XXH6464-bit 非加密哈希,极快大文件快速校验
XXH364-bit,XXH64 升级版高性能场景
XXH128128-bit,XXH64 升级版高精度场景
BLAKE3256-bit 密码学哈希,极快安全校验
SHA256256-bit 密码学哈希高安全需求
FileSize仅比较文件大小无需内容校验时

DataClonePro Help Documentation

1. Product Overview

DataClonePro is a cross-platform (Windows / macOS) professional data backup tool, supporting multi-target parallel copying, verification, and statistical reporting.

Core Features

Multi-Target Parallel Copy

Copy to up to 3 destination paths simultaneously. Sub-tasks run in parallel, and source files are read only once.

7 Verification Algorithms

MD5 / XXH64 / XXH3 / XXH128 / BLAKE3 / SHA256 / FileSize — meeting different security level requirements.

Sharded Database Architecture

Automatic shard management. Shards rotate when exceeding 2GB, ensuring query performance with large data volumes.

Statistics & Reporting

Multi-task summary statistics with HTML / ASC MHL report export and file format distribution analysis.

Task Import/Export

Export to .dctb format with automatic large-file splitting; import with automatic deduplication.

Drive Hot-Plug Detection

Automatic detection of external drive changes. Tasks are paused when drives are removed. Supports safe ejection.

System Requirements

ItemRequirement
Operating SystemWindows 10+ / macOS 12+
Disk SpaceAt least 2GB free space for the database

2. Main Window

The main window uses a left-right split layout:

  • Left: Task Configuration Panel (TaskConfigPanel) — create new backup tasks
  • Center: Animated divider — flashes with animation during copy execution
  • Right: Task List Panel (TaskListPanel) — manage all tasks

Menu Bar Functions

MenuItemDescription
FileSave TasksSave all completed tasks to the database
Import TasksImport tasks from .dctb files (automatic deduplication)
Export TasksExport tasks as .dctb format files (supports split export)
Database ManagementView and manage database shard files (incl. compaction)
ExitExit the application
ToolsSystem InformationView real-time CPU, memory, network, and disk status
Disk Speed TestBenchmark a target disk's write/read speeds (Blackmagic-style gauges)
StatisticsOpen the statistics query dialog
SettingsOpen the system settings dialog
HelpInformation LogView operation logs (level filtering, clear, export)
AboutView version information

3. Task Configuration

Configure and create backup tasks in the left panel.

Configuration Items

ItemDescription
Task NameGive the task an easily recognizable name (length limited)
Source PathThe source directory to copy from; supports drag-and-drop or directory tree selection
Destination Paths 1–3Copy destination directories; shows 1 by default, can add up to 3; supports drag-and-drop
Checksum AlgorithmSelect from the visible algorithm list (configurable in Settings for visibility and default)
Skip Identical FilesIf the destination already has a file identical to the source (same checksum), skip it
Keep Source Directory NameAutomatically append the source directory name to the destination path
Parallel Sub-tasksWhen multiple destinations, source files are read once and written to all destinations in parallel
Notify on CompletionWhen checked, automatically sends an email notification upon task completion. Note: this checkbox only controls the current task. Email sending requires global SMTP configuration under "Settings → Notifications" with the global send toggle enabled. If the global email toggle is off, a yellow warning will appear on the task configuration panel.

Steps to Create a Task

  1. Enter a task name
  2. Select or drag in the source path
  3. Select or drag in destination paths (click "+" to add more destinations)
  4. Adjust checksum algorithm and options as needed
  5. Click the "Create Task" button
The system automatically performs pre-checks, including source and destination path validity verification.

Notification Warning

When "Notify on completion" is checked but the global email sending toggle is disabled, a yellow warning message appears at the bottom of the configuration panel: "Warning: Email sending is disabled, enable it in Settings if needed!". No email will be sent in this state.

Directory Tree Browsing

A directory tree is provided below the left panel for direct path selection. Supports:

  • Expand/collapse directory nodes
  • Click a directory to auto-fill the path input
  • Right-click menu: safely remove drive (USB external drives only)
  • Auto-refresh on drive changes
Same-disk warning: when dragging and dropping, if the source and destination are on the same physical disk, a yellow warning is displayed.

4. Task Management

The right panel displays all tasks, divided into "Task Queue" and "Archive" tabs.

Task List Columns

ColumnDescription
#Task number in the list
CreatedTask creation time
Task NameUser-defined task name
StatusCurrent status (see status descriptions below)
Progress/FilesRunning tasks show progress percentage; historical tasks show file count and size
Start TimeTime the task started executing
End Time/ETARunning tasks show estimated end time; completed tasks show actual end time
DurationTime elapsed / total time

Task Statuses

StatusDescription
PendingTask created, waiting to start
ScanningScanning source directory files
RunningExecuting copy operation
PausedTask manually paused
CompletedCopy completed successfully
FailedError occurred during copy
WaitingIn batch execution queue, waiting
ArchivedTask moved to archive tab

Action Buttons

  • Start/Pause: Start a pending task, or pause a running task
  • Remove: Remove a task from the list (soft delete, recoverable)
The executor runs only one task at a time: starting a second task while another is running shows a "Task Running" prompt. Wait for the current task to complete before starting the next one.

Stopping Tasks

Running or paused tasks can be stopped (via batch stop or automatically when a drive is removed). A stopped task is marked as Failed and can be restarted directly from the failed state — no need to delete and recreate it. Pending/waiting tasks that are stopped are likewise marked as failed.

Context Menu (Task Queue)

Right-click a single task in the queue to open the context menu:

ActionDescription
Archive TaskMove a completed or failed task to the archive tab (only shown for Completed / Failed status)
RenameModify the task name via a popup dialog
Enable Notification / Disable NotificationToggle email notification for this task. The menu item is checkable (checked = enabled), with instant toggling. This switch is synchronized with the "Notify on completion" checkbox in the task configuration panel. Note: even when enabled here, the global SMTP configuration must be set up and the global email toggle must be on under Settings for emails to actually be sent.
Open Source DirectoryOpen the task's source path in the system file explorer
Open Destination DirectoryOpen the corresponding destination path in the file explorer (for multi-destination tasks, right-click a sub-task row to open that destination)

Archive Context Menu

ActionDescription
Permanent DeletePermanently delete the task and associated file records
RestoreRestore a task from archive to the task queue

Batch Operations

Select multiple tasks to perform batch actions: start, pause, stop, remove. Batch execution uses a LIFO (Last-In-First-Out) queue, starting tasks in reverse order.

Pagination

The task list supports virtual pagination with a default of 50 items per page. Pagination controls include: first page, previous 2 pages, previous page, page number input, next page, next 2 pages, last page.

Limits

LimitValue
Maximum destination paths3
Maximum task name display width20 CJK characters (40 characters)

5. Progress View

Click a task in the task list to display file-level progress details on the right side.

Progress View Structure

  • Multi-destination tasks are divided into multiple tabs by destination path (e.g., "Dest1", "Dest2", "Dest3")
  • Each tab displays the file list for that destination
  • Columns include: file name, format, size, progress, status, checksum, etc.

File Statuses

StatusDescription
PendingFile queued for copying
CopyingFile data is being copied
VerifyingCopy complete, verifying checksum
CompletedCopy and verification successful
FailedCopy or verification error
SkippedSkipped because source and destination files are identical

Speed Calculation

An Exponential Moving Average (EMA) algorithm is used to calculate smooth transfer speeds, avoiding fluctuations caused by varying file sizes. Running tasks display real-time speed and estimated remaining time.

Historical Task Details

For completed tasks, the file list uses lazy loading — files are loaded on demand from the database with pagination only when a task is clicked, preventing excessive memory usage at startup.

Limits

LimitValue
Maximum sub-task tabs3
Maximum file records loaded per shard50,000 records

6. Statistics & Queries

Open the standalone dialog via the "Statistics" menu item. It contains three tabs.

Task Query

Filter task records by conditions. Supports:

  • Fuzzy search by task name
  • Date range filtering (default: last 30 days)
  • Status filtering
  • Double-click a task row to jump to the File Query tab and display that task's files (only completed tasks respond; running/paused/failed tasks do not)
  • Paginated query results

File Query

Search file records across all tasks. Supports:

  • Fuzzy search by file name
  • Multi-select filtering by file format
  • Date range filtering
  • Paginated query results
  • Displays the associated task name and creation time

Statistics

Multi-task summary statistics. Features include:

  • Check tasks in the selection table to include in statistics
  • Generate summary: total files, success/failure/skipped counts, total data size, average speed, success rate
  • File format distribution analysis
  • Individual task statistics
  • Preview report (paginated file details)
  • Export report as HTML or ASC MHL (auto-split for large file counts)
When exporting reports, if the number of file records exceeds a threshold, the report is automatically split into multiple files named: basename_1.html, basename_2.html, ...

Limits

LimitValue
Maximum tasks for statistics20 tasks
Maximum total files across selected tasks1,000,000 files
Maximum file search results30,000 records
Maximum preview report pages100 pages
Report auto-split thresholdAuto-split when exceeding 10,000 file records

7. Settings

Open the settings dialog via the "Settings" menu item. It contains three tabs.

General Settings

SettingDescription
Default Destination CountNumber of destination path input boxes shown by default when creating a new task (1/2/3)
Tasks Per PageNumber of tasks displayed per page in the task list
Files Per PageNumber of files displayed per page in file details
Default LanguageInterface language (Chinese/English)
Show Archive TabWhether to display the archive tab in the task list
Task Query Day RangeDefault date range for task queries in statistics
File Query Day RangeDefault date range for file queries in statistics
Record File DetailsWhen enabled, detailed file records (file name, checksum, status, etc.) are saved to the database upon task completion; when disabled, only task summary statistics are saved. Changes take effect after restarting the application. In the settings: 🟠 Orange solid dot indicates recording is enabled; ⚪ White hollow circle indicates recording is disabled.

Notification Settings

The Notification tab is the global configuration center for SMTP email notifications.

Global Toggle

SettingDescription
Enable/Disable SendingGlobal master switch for email notifications. Must be checked for per-task "Notify on completion" to actually work. When off, no emails are sent even if individual tasks have notifications enabled, and a yellow warning appears on the task configuration panel.

SMTP Server Configuration

SettingDescription
SMTP ServerMail server address, e.g., smtp.qq.com, smtp.gmail.com, smtp.163.com. Supports both domain names and IP addresses.
SMTP PortDropdown: 25 (standard SMTP, unencrypted), 465 (SSL/TLS, direct encrypted connection), 587 (STARTTLS, plaintext then upgrade to TLS). Default: 587.
Sender EmailThe email address used to log into the SMTP server; also appears as the sender of notification emails.
Authorization CodeThe SMTP authorization code (not your email login password)
Recipient EmailThe email address to receive task completion notifications.

Test Email

After filling in the SMTP configuration, click "Test Email" to verify. The test flow:

  1. Validate all required fields are filled (empty fields highlighted with orange border)
  2. Validate email format and server address format
  3. Test TCP connectivity to the SMTP server (5-second timeout)
  4. Send a test email via the SMTP protocol to the recipient
  5. Display the result (success or detailed error)

The button shows "Checking..." and "Sending..." states during the process and is disabled to prevent duplicate clicks.

SSL/TLS Security

The system uses QSslSocket for encrypted communication. SMTP connection handshake modes:

  • Port 465: Direct TLS encrypted connection (connectToHostEncrypted)
  • Port 587: TCP plaintext first, then STARTTLS upgrade to TLS
  • Port 25: Standard SMTP plaintext (not recommended)

SSL certificate verification provides special handling for self-signed certificates. Hostname mismatches and expired certificates are treated as critical security errors and are never ignored.

Verification Algorithm Settings

Configure which verification algorithms are visible in the task configuration panel and which is selected by default:

  • Check/uncheck algorithms to control their visibility in the dropdown menu
  • Select one visible algorithm as the default
  • At least one algorithm must remain visible

8. Tools

System Information

Real-time monitoring of system resource usage:

  • CPU: Usage bar chart and detailed information
  • Memory: Used/total/available space
  • Network: Upload/download rates
  • Disk: Used/total/usage percentage for each disk

Disk Speed Test

A Blackmagic-style disk speed benchmark tool for measuring the sustained read/write performance of your backup target drives:

  • Dual gauges: Separate write and read speed displays (MB/s), with real-time, average, and peak values
  • Auto range upshift: Automatically switches to a higher range when speed exceeds 75% of the current range (steps: 500 / 1000 / 2000 / 5000 / 10000 / 20000 MB/s; never downshifts within one test run)
  • Test flow: Select the target drive → click the start button → run write+read test cycles with round counting
  • Pause/Resume: The test can be paused and resumed
  • Settings menu: Select the target drive and adjust the stress test data size
  • Temp files: Test data is written to the target drive and cleaned up automatically after the test
Benchmark your target drive before a formal backup to confirm its write speed meets your backup requirements (e.g., real-time camera footage backup).

Database Management

View and manage database shard files:

  • Displays all shard files; active shards are highlighted with a purple tint and an "(Active)" suffix
  • Each shard shows: file name, size, creation time, task count (archived/active), time span
  • Delete inactive shards (requires password verification; max 5 failed attempts per day)
  • Compact inactive shards to reclaim disk space (see below)
  • Auto-refresh task list after deletion/compaction
  • Paginated display (10 items per page)

Compact Database

Click the "Compact db" button to reclaim free disk space from inactive shards (incremental cleanup — no database file rebuild required):

  • The compaction scope always excludes active shards — active shards are in use and cannot be compacted
  • When an active shard row is selected, the compact button is automatically disabled; it is available when an inactive shard is selected or nothing is selected
  • A confirmation dialog appears on click (defaults to "No" to prevent accidental execution)
  • A progress bar is shown during compaction; safely closing the window interrupts it without damaging the database

Database Limits

LimitValue
Single shard auto-rotation threshold2 GB
Total database size warning threshold20 GB
Minimum disk space requirement2 GB
Daily password verification failure limit5 attempts

Log Viewer

View operation logs. Features:

  • 4 log levels: Info, Warning, Error, Fatal
  • Logs persistently stored in the database
  • Clear logs / Save logs to file
  • Paginated browsing

9. SMTP Email Notification Guide

DataClonePro includes a complete SMTP email notification system that automatically sends email notifications upon task completion. This section covers the workflow, configuration, and usage tips in detail.

Notification Workflow

  1. Global Configuration: Under "Settings → Notifications", configure the SMTP server, port, account, authorization code, and recipient. Ensure "Enable/Disable Sending" is checked.
  2. Task-Level Enable: Check "Notify on completion" in the task configuration panel, or right-click a task and select "Enable Notification".
  3. Task Completion Trigger: When a task finishes (success or failure), the system automatically calls NotificationService to send an email.
  4. Email Content: Includes the task name, execution status, and completion time.
  5. Queue Mechanism: Multiple notification requests are automatically queued and sent sequentially to avoid concurrent connection conflicts.

Right-Click Notification Menu Details

Right-click any single task in the task queue to access notification-related options in the context menu:

Menu ItemWhen ShownBehavior
Enable NotificationWhen notification is currently offClick to enable; menu item changes to "Disable Notification" with a checkmark
Disable NotificationWhen notification is currently onClick to disable; menu item changes to "Enable Notification" and removes the checkmark

The menu item uses a checkable style — the checked state directly reflects the current notification status for this task. This action is fully synchronized with the "Notify on completion" checkbox in the task configuration panel; changes in either location are instantly reflected in the other.

Right-click notification toggle is only available for single-task selection. It does not appear in multi-select batch mode.

Common SMTP Server Configuration Reference

Email ProviderSMTP ServerPortNotes
QQ Mailsmtp.qq.com587Enable SMTP service in QQ Mail settings to obtain an authorization code
163 Mailsmtp.163.com587Enable SMTP service in NetEase Mail settings
Gmailsmtp.gmail.com587Enable 2-step verification and use an app-specific password
Outlooksmtp-mail.outlook.com587Use your Microsoft account password or an app password
Tencent Enterprisesmtp.exmail.qq.com587Use your enterprise email and password

SMTP State Machine

Email sending follows the standard SMTP protocol state machine:

  1. Connect → receive server greeting
  2. Send EHLO → server returns supported commands
  3. (Port 587) Send STARTTLS → upgrade to encrypted → EHLO again
  4. (Port 465) Direct TLS encrypted connection, skip STARTTLS
  5. Send AUTH LOGIN → send Base64-encoded username and password
  6. Send MAIL FROM → RCPT TO → DATA → email body → QUIT

Security Mechanisms

  • Authorization Code Storage: The authorization code is securely stored in the OS-native keychain (Windows Credential Manager / macOS Keychain), never written to configuration files in plaintext.
  • SSL Certificate Verification: Strict certificate chain verification by default. Self-signed certificates may be allowed per configuration; hostname mismatches and expired certificates are always treated as critical security errors and rejected.
  • Re-entry Protection: A failed email send does not retry infinitely. The next queued email is processed immediately after a failure.

Troubleshooting

SymptomPossible CauseSolution
Notification checked but no email receivedGlobal email toggle is offCheck "Settings → Notifications → Enable/Disable Sending"
Test email failsSMTP server unreachableCheck network, server address, and port
Authentication failedWrong authorization codeEnsure you are using the SMTP authorization code, not your email login password
SSL errorCertificate verification failureCheck if the server certificate is valid; adjust SSL config for self-signed certificates
Connection timeoutPort blocked or firewallTry switching ports (e.g., from 587 to 465)

10. Open Source Acknowledgments

DataClonePro would not be possible without the contributions of the following open source software:

LibraryVersionDescriptionLicense
QtRuntime versionCross-platform UI frameworkLGPL v3
OpenSSL3.xCryptography & SSL/TLS toolkitApache 2.0
xxHash0.8.3Extremely fast hash algorithmBSD 2-Clause
BLAKE31.8.3High-performance cryptographic hashApache 2.0 or CC0 1.0
SQLite33.47.0Embedded SQL database enginePublic Domain (Zlib)

11. FAQ

Q: Copy speed is slower than expected

A: Possible causes: 1) Source and destination are on the same physical disk; 2) Destination disk has low write speed; 3) Verification algorithm overhead. Use "Tools → Disk Speed Test" to benchmark the target drive, the "System Information" tool to check disk status, and verify whether source and destination are on the same disk.

Q: What to do when verification fails

A: Verification failure means the destination file content doesn't match the source. Possible causes: 1) Disk errors; 2) File was modified during copy; 3) Network transmission errors (network drives). Re-run the task.

Q: Database is taking up too much space

A: Use the "Database Management" tool to view shard sizes and delete unneeded inactive shards. Each shard automatically creates a new file when exceeding 2GB.

Q: How to recover accidentally deleted tasks

A: Task deletion is soft. You can right-click and select "Restore" in the "Archive" tab to move tasks back to the queue. Use "Permanent Delete" in the archive for complete removal.

Q: Import shows "already exists"

A: The import function automatically checks for existing task IDs. Duplicate tasks are skipped. To overwrite, delete the existing task first.

Q: External drive removal causes task issues

A: The system automatically detects drive removal events and pauses related tasks. Manually resume tasks after reconnecting the drive.

Q: Not receiving email notifications

A: Troubleshoot in order:

  1. Verify "Settings → Notifications → Enable/Disable Sending" is checked
  2. Confirm the SMTP server address and port are correct
  3. Use the "Test Email" button to verify the configuration works
  4. Make sure you are using an authorization code, not your email login password
  5. Check your spam/junk folder
  6. Try switching the SMTP port (587 → 465)

Q: What is the relationship between the context menu "Enable Notification" and the task config "Notify on completion" checkbox

A: They are fully synchronized and control the same per-task notification toggle. The context menu item uses a checkable style with a checkmark when enabled; the task config panel uses a checkbox. Changes in either location are instantly reflected in the other. This toggle only controls the current task; the global SMTP configuration under Settings must also be properly set up for emails to be sent.

Q: How to get a QQ Mail SMTP authorization code

A: Log into QQ Mail web → Settings → Account → POP3/IMAP/SMTP Service → Enable SMTP service → Follow the instructions to send a verification SMS → Obtain the 16-digit authorization code. Enter this code in DataClonePro's "Authorization Code" field.

Q: Supported verification algorithms

AlgorithmDescriptionUse Case
MD5128-bit hash, fastGeneral verification
XXH6464-bit non-cryptographic hash, extremely fastLarge file quick verification
XXH364-bit, XXH64 upgradeHigh-performance scenarios
XXH128128-bit, XXH64 upgradeHigh-precision scenarios
BLAKE3256-bit cryptographic hash, extremely fastSecure verification
SHA256256-bit cryptographic hashHigh-security requirements
FileSizeCompare file size onlyWhen content verification isn't needed