Repository navigation
Task Center
任务中心直接读取服务器已经生成的统计结果。通过和不通过都算已审核,待审核和异常不算完成。文件夹仍可展开,领取归属继续由用户中心管理。审核员可释放本人领取的批次;管理员可释放任意批次或转交。
批量审核按钮位于加载数据后的左侧目录上方,不在任务中心内。勾选“批量不通过”时,只提交当前已加载目录列表中的数据;“整文件夹不通过”只扫描当前加载根目录。两者都只处理 QC 未审核的数据,已有通过、不通过和异常记录会被保留。操作前必须填写原因并确认,处理结果会逐条显示。
本人已领取的批次同时显示“进入审核”和“释放”。点击释放并确认后,该批次恢复为可领取,已有审核结果和进度保留。释放他人任务或已被转交的任务会被服务器拒绝。失败时保留归属并显示原因,可刷新后重试;用户中心需升级到支持本人释放的版本。
回放在标准五路相机和骨架之间预留两个画面槽位。加载数据时会读取 manifest 的流名称,或扫描 session 根目录下包含数字 JPEG 帧的相机目录,因此不要求新增相机固定命名为 cam3、cam4。目录名会直接显示在画面标题中;缺少新增流时显示“未接入”,不会阻塞原有五路回放。任务中心的批次索引仍只统计 QC,不读取视频媒体。
点击“领取”后,服务确认成功便自动打开对应批次目录,左侧列出整批数据,并恢复该批次上次打开的数据或加载首条。数据加载成功后任务中心自动关闭;本人已领取的批次可点击“进入审核”再次进入。网络断开、空目录或加载失败时保留领取归属并显示错误,恢复后可直接重试;其他账号已领取的批次不可领取。
每个批次提供“仅未审核”筛选。点击后读取该批次及其多层子目录的服务器索引,只保留 QC 状态为未审核的 session,并显示相对路径和数量;再次点击“显示全部”恢复完整列表。筛选不会扫描源媒体或隐藏其他批次,异常、通过和不通过记录不会被当作未审核。刷新保留筛选;读取失败显示错误,不会误报已全部审核。
服务器每天北京时间 23:00 开始完整统计,顶部显示最近成功完成的时间。白天 QC 保存后,服务器监听文件变化,回读 QC 后增量更新对应目录;客户端每 15 秒读取最新索引。关闭任务中心不影响服务器运行。普通刷新不会触发全量扫描,管理员的“立即统计”可以要求重新校准。
统计失败保留上一份结果和完成时间,界面显示错误。服务器心跳超过 90 秒未更新时显示“统计服务未响应”。新数据尚未统计时可能暂不出现在列表中。
脚本 scripts/task-index-server.py 只需 Python 3.8+,使用标准库和 Linux inotify。源目录和索引输出目录不能互相包含:
python3 scripts/task-index-server.py \
--source-root /volume8/Datasets/Delta-D1 \
--index-root /volume8/Datasets/Delta-Viewer-TaskIndex/Delta-D1--once 运行单次完整统计。默认常驻模式在启动时校准,之后按时统计并监听变化;同一索引目录通过进程锁禁止重复 worker。配置参考 scripts/delta-viewer-task-index.service 和 scripts/delta-viewer-task-index.sysctl.conf,需要按部署主机调整用户与脚本路径。inotify 容量不足会显示统计失败,不能忽略该错误。
Windows 自动读取 \\10.1.40.2\Datasets\Delta-Viewer-TaskIndex\Delta-D1,其他平台使用数据集同级的已挂载路径,无需审核员设置。选择 Delta-D1 内的子目录也使用同一索引与批次归属。其他数据集尚未配置服务器索引时会明确提示。
index.json 指向不可变目录分片,status.json 保存状态和心跳;旧分片至少保留一小时,源媒体不复制。服务脚本目录应仅允许维护人员修改,索引允许审核员读取,重建请求文件仅允许维护人员写入。NAS 共享账号的权限独立于 Viewer 账号,应用管理员门禁不能限制其他工具直接写共享文件。
首次索引建立以及服务重启需要完整扫描。存储和时间随目录数增长,不随视频容量等比例增长;运行状态、心跳和日志应纳入 NAS 服务监控。DSM 系统升级后需检查自定义 systemd 服务和 inotify 配置是否保留。