什么是 Standard Ranklist?
Standard Ranklist (srk) 是一种静态数据格式,旨在标准化描述编程与算法竞赛的榜单排名数据,具备易解析、高扩展性和归档友好的特点。
当前 srk 的核心规范使用 JSON 描述,因此推荐的文件扩展名为 .srk.json,但其本身与具体的序列化格式无关。
它解决什么问题
在编程与算法竞赛领域,各类比赛系统(如 DOMjudge、Codeforces 等)都有自己的内部榜单数据结构。如果需要:
- 在自己的网站上展示镜像比赛榜单
- 将榜单数据从一个系统迁移到另一个系统
- 对榜单数据进行统一的分析和处理
- 归档和分享比赛榜单
此时不同数据格式的弊端便会显现出来,我们往往需要为每种系统单独编写适配代码和爬虫。
srk 就是为了解决这些问题而生的。 它提供了一种统一的格式来描述任何榜单数据,兼容 ICPC、OI 和扩展赛制,并提供统一的开源社区工具链,以支持生成、解析、转换和渲染榜单数据。
srk 的定位
你可以把 srk 理解为榜单数据领域的「通用交换标准」,我们希望把它构建为算竞生态的基础设施之一。这将有利于让更多社区贡献者聚焦于上层的创造,避免重复枯燥的底层工作,享受开放共建带来的便利。
srk 由 algoUX 团队自 2019 年发起和维护,并围绕它构建了一个数据分发平台 RankLand,便于社区分享和使用 srk 数据。srk 之于 RankLand,就像 git 之于 GitHub。
截至 2026 年,该平台已有数百份 algoUX 团队维护的 srk 数据,以及来自社区的数十份贡献数据,并正在逐步向所有用户开放「自助赛事托管」「直播导播套件」等高级功能。
当前版本
- 规范版本:
0.3.12 - 状态: 草案(Draft)
- 版本策略: 遵循 语义化版本 2.0.0 规范