Skip to content

加固官网下载统计的并发与存储边界 - #11

Merged
jiangsir-tech merged 1 commit into
mainfrom
codex/harden-download-stats
Jul 29, 2026
Merged

加固官网下载统计的并发与存储边界#11
jiangsir-tech merged 1 commit into
mainfrom
codex/harden-download-stats

Conversation

@jiangsir-tech

Copy link
Copy Markdown
Owner

变更

  • 将匿名直接下载事件从“每次点击一个对象”改为每天最多 1,024 个确定性槽位,并通过槽位占用量估算点击次数,单日估算封顶 4,096。
  • 为昂贵的统计刷新增加按时间窗口分片的原子锁,避免并发请求重复访问 GitHub API 和扫描 Blob。
  • 聚合逻辑同时兼容旧版逐事件对象和新版槽位对象。
  • 补充恶意突发请求、并发刷新、失败抑制、下一窗口恢复及旧数据兼容测试。

原因与影响

这能阻止机器人通过重复点击无限制造存储对象,也能避免并发刷新放大 GitHub API 与存储请求。正常下载不受影响;高流量下直接下载计数会从逐次精确记录改为有上限的概率估算。

验证

  • git diff --check
  • npm --prefix website test:43 项测试全部通过

@jiangsir-tech
jiangsir-tech merged commit 124dd61 into main Jul 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant