库存
SeaweedFS 网页库 · 按压缩后约 80KB/对象估算
- object count对象总数
- 8,412,663
- storage存储占用
- 641 GB
- 24h new24h 新增对象
- 340,492
- 24h storage24h 新增存储
- 27 GB
⚠️ 不用 WARC 做存储格式。append-only 大 blob,删一条要重写整个文件。一页一对象,删除就是删一个 key,SeaweedFS 的小文件优化正好发挥。WARC 只作导出格式。
⚠️ 这是页面级下线通道的基础。目标内容大量是正规站点下的 UGC,问题出在单页而非整域,域名级封禁粒度太粗。后加此能力比一开始就留贵十倍。
对象列表
近 24 小时入库对象抽样 · 完整字段见对象详情页
| object_id对象标识 · SeaweedFS fid | url请求地址 | http_statusHTTP 状态 | lang语种 | text_length渲染后文本长度 | raw_text_length渲染前文本长度 | render_duration_ms渲染耗时(毫秒) | render_path渲染路径 | fetched_at抓取时间 | actions操作 |
|---|---|---|---|---|---|---|---|---|---|
| 3,01637037d6 | https://news.example.tw/post/48213 | 200 | zh-Hant | 3,456 | 180 | 812 | obscura | 2026-08-15T07:47:52Z | 详情 · 域名 |
| 5,0a92f1cc44 | https://docs.example.cn/guide/5 | 200 | zh-Hans | 5,120 | 210 | 640 | obscura | 2026-08-15T07:47:49Z | 详情 · 域名 |
| 7,02be55d139 | https://shop.example.jp/item/9910 | 200 | ja | 0 | 96 | 1,940 | obscura | 2026-08-15T07:47:31Z | 详情 · 域名 |
| 4,0c11ab7e02 | https://corp.example.hk/news/1120 | 200 | zh-Hant | 2,890 | 2,704 | 505 | obscura | 2026-08-15T07:46:58Z | 详情 · 域名 |
| 6,03fd28e94b | https://blog.example.com/p/771 | 200 | null | 1,204 | 144 | 1,118 | obscura | 2026-08-15T07:46:12Z | 详情 · 域名 |
⚠️ 第三行 text_length = 0 是 fetch_status = empty:渲染成功但正文为空,对象已落库,下游扫描时应跳过,否则会消费到空壳。它不是 failed。
⚠️ 第五行 lang 为 null:调用方给不出语种,留空不猜,lang_source = unknown。下游按 lang_source 判断可信度。
⚠️ 第四行 raw_text_length 与 text_length 接近,是典型的 SSR 形态。本页只呈现两个长度,不算 text_ratio、不下判定 —— ratio 的定义、方向与 verdict 全部归采样器。
检索能力的边界
CONVENTION.md 第二条 · TiKV key 恒为三段 {service}:{table_name}:{primary_key}
| query检索方式 | status是否可用 | why原因 |
|---|---|---|
| 按 object_id | 可用 | GET /v1/objects/{object_id},契约已有 |
| 按 url_hash | 可用 | downloader:fetch_result:{url_hash} 的主键,一次点查 |
| 按 domain | 需新增索引表 | downloader:fetch_result 只按 url_hash 主键,域名维度需要一张 _index 表(value 恒为 nil,与主表同事务)。属下载器内部表,不动契约 |
| 按 content_hash / simhash | 需新增索引表 | 同上。去重与相似判断在下游,本服务只负责把两个哈希算好存下 |
| 全文检索 | 不属本系统 | 正文抽取与倒排索引归下游,不在六份文档范围内 |
⚠️ url_hash = 全局规范化后 URL 的 SHA-256 取前 16 字节,小写 hex,32 字符。「全局规范化」只指 DEV-scheduler.md §七 那五条,不含任何按域名覆盖的规则 —— 域名级规则只影响是否重复抓取,不改变 URL 身份。算法或长度变更等同于全库重建。
下线与删除
页面级下线通道 · 一页一对象带来的能力
| granularity粒度 | operation操作 | note说明 |
|---|---|---|
| 单页 | 删一个 object_id | 主要通道。问题多出在单页而非整域,域名级封禁粒度太粗 |
| URL 状态 | 删 downloader:fetch_result:{url_hash} | 与对象删除配套,否则状态表会指向已不存在的 object_id |
| 整域 | 不在本服务 | 域名的入队与丢弃由调度器按 verdict 决定,下载器不判定域名 |
⚠️ 删除对象不等于让它不再被抓。URL 队列与域名规则属于另外两个服务,本系统不拥有、不写入。只删对象,下一轮 lease 还会把它抓回来。