每次春运抢票,总有人盯着12306.cn页面最底下那行小字发呆——"版权所有©2008-2026中国铁道科学研究院集团有限公司"。但打开App Store搜"铁路12306",开发者那栏写的又是"中铁程科技有限责任公司"。两个名字不一样,哪个才是真正写代码的那拨人?
这个问题其实就像问"一栋大楼是谁盖的"——开发商、建筑公司、设计院、施工队、监理单位,各有各的角色。12306也一样,从国铁集团到铁科院再到中铁程科技,再到参与技术支援的阿里云,有五层关系套在一起。每一层都有人问"是不是这家公司做的",但答案不是非此即彼。
12306开发的五层关系,一层层拆开
| 1 | 国铁集团(业主方)——全国铁路的"老板",12306是它授权建设的官方售票平台,不是外包给第三方公司的项目 |
| 2 | 铁科院(研发主体)——中国铁道科学研究院集团有限公司,12306.cn页面底部版权归属方,负责系统整体研发和运营 |
| 3 | 中铁程科技(具体开发公司)——铁科院下属全资子公司,2011年成立,注册资本5000万,77人团队,负责12306手机APP和系统的具体代码开发 |
| 4 | 阿里云(技术支援方)——2015年起参与混合云架构建设,分担余票查询流量,不是"阿里做的12306",是"阿里帮12306做了一部分技术优化" |
| 5 | 12306技术中心(2025年底成立)——铁科院旗下新设的专门机构,单杏花任总工程师,集中力量做系统持续升级 |
一、中铁程科技——每天被你骂但扛着全球最大票务系统的那家小公司
先说最核心的问题:写代码的到底是谁。答案是中铁程科技有限责任公司。这家公司2011年7月1日成立,法定代表人是王明哲,注册资本5000万人民币,注册地址在北京市海淀区大柳树路2号——和铁科院同一个大院。公司规模不大,天眼查数据显示2024年参保人数77人,企查查显示2025年员工人数41人。就这个不到百人的团队,扛着全球最大的实时票务交易系统。
中铁程科技的股权结构很清晰:它是中国铁道科学研究院集团有限公司的全资子公司。换句话说,铁科院是"爹",中铁程是"儿子",一个负责顶层设计和项目管理,一个负责撸代码和运维。这也是为什么12306网站底部写铁科院,App Store写中铁程——网站是铁科院的名义对外运营,手机APP以具体开发公司名义上架。
公司的经营范围写得很直白:技术开发、基础软件服务、应用软件服务、计算机系统服务。它不只做12306手机APP,还负责全国铁路客票系统的研发、建设和运维,包括车站窗口售票系统、自动售取票机(TVM)、铁路电子支付平台等等。你看火车站里那些自助售票机屏幕上跑的软件,也是这家公司做的。

公司全称
中铁程科技有限责任公司
成立时间
2011年7月1日(和12306互联网售票系统同年上线)
注册资本
5000万元人民币(实缴资本同)
知识产权
102项专利、145项软件著作权
二、铁科院——藏在12306.cn页面底部那行小字里的真正研发主体
打开12306.cn,拉到最底下,有一行字:"版权所有©2008-2026中国铁道科学研究院集团有限公司"。这里写"2008"是因为铁路客票系统的电子化从2008年就开始了,那时候还没有12306网站,但铁科院已经在做票务系统的基础研发。真正的12306互联网售票系统是2011年6月12日上线的。
铁科院在这套系统里扮演什么角色?简单说,它是整个12306系统的技术总负责方。具体承担研发工作的是铁科院下属的电子计算技术研究所。这个所的副总工程师单杏花,从1996年就开始做全国铁路统一客票系统,2010年带队启动12306互联网售票系统研发,是整个项目的技术灵魂人物。2024年12月,单杏花被中宣部授予"时代楷模"称号,表彰她二十多年在铁路客票系统上的贡献。
很多人搞不清铁科院和铁路局的关系。铁科院是中国国家铁路集团有限公司的直属科研单位,不是政府机构,是正儿八经的央企科研院所。它下面的电子计算技术研究所专门做铁路信息化,12306只是他们做的其中一个系统——还有调度系统、货运系统、安全保障系统等等,都是他们做的。
2025年底,铁科院在旗下新成立了"中国铁路12306技术中心",单杏花任总工程师。这相当于把12306从一个"项目"升级成了一个"常设机构",从临时组队开发变成了长期建制运维。这个变化说明12306已经不是"做完了就放着修修补补"的状态,而是持续投入研发力量在做迭代升级。
三、单杏花和她的团队——12306从"一开售就崩"到"每秒出票1000张"的技术进化史
很多人对12306的印象还停留在"抢票根本进不去""一刷新就502"的年代。那确实是真实的历史。但如果你看看这个系统走过的技术路线,就知道一个不到百人的团队面对的是什么样的挑战。
2011年刚上线的时候,12306只支持京津城际列车购票,用的是传统单体架构——一台小型机加集中式数据库。日均售票量不到百万。到了2012年春运,全国所有列车都接入了12306,访问量瞬间爆炸。当时的系统架构根本扛不住,一到放票时间就崩溃。那段时间"12306崩了"是每年春运的固定热搜。
| 阶段 | 时间 | 架构特征 | 核心问题 |
|---|---|---|---|
| 单体架构期 | 2011年 | 小型机+集中式数据库,仅支持京津城际 | 无法横向扩展,日均售票不足百万 |
| 崩溃期 | 2012-2014年 | 全国列车接入,单体架构被击穿 | 放票瞬间并发冲垮系统,502常态化 |
| 读写分离期 | 2014-2015年 | "读写分离、售取分离",余票查询独立处理 | 余票查询占70%流量,拖垮整个系统 |
| 混合云期 | 2015年起 | "两地三中心":铁总数据中心+铁科院+阿里云 | 阿里云分担余票查询流量,核心交易仍在自有服务器 |
| 内存计算+弹性扩展 | 2016-2019年 | 核心数据放入内存,按需动态扩容 | 出票速度从分钟级降到秒级 |
| 双中心双活 | 2020年后 | 双数据中心同时运行,互为热备 | 单数据中心故障不影响服务 |
单杏花团队在这个过程中做了几个关键的技术决策。第一个是把余票查询和售票交易拆开——这是12306和淘宝最大的不同。淘宝双11主要是下单和支付,查询商品详情压力不大;12306的余票查询请求占了全部流量的70%以上,每个人都在不停刷新看还有没有票。如果不把查询和交易分开,查询就会把交易拖死。
第二个关键决策是引入内存计算。传统数据库查询一张票要几十毫秒,上亿次查询叠加起来就是灾难。团队把核心票务数据全部加载到内存中,查询速度提升了一个数量级。第三个决策是混合云架构——自有服务器处理核心交易数据,阿里云弹性资源分担海量查询流量,高峰期自动扩容,低峰期释放资源,既保证了数据安全又解决了成本问题。
高峰出票速度
1000+
张/秒
提交到出票
1.2
秒
单日最高访问量
500亿+
次
注册用户
7亿+
人
四、阿里云在12306里到底做了什么——"阿里做的12306"这个说法对不对
网上流传最广的一个说法是"12306是阿里做的",甚至有人说"马云帮铁总做了一套新系统"。这个说法有真实成分,但夸大了阿里的角色。
真实情况是:2015年初,铁总主动联系了阿里云,希望借助阿里在双11高并发场景下的技术经验来优化12306的余票查询系统。阿里派了一支技术团队进驻铁科院,做的工作主要是把余票查询模块从铁科院自有机房迁移到阿里云的弹性计算平台上。核心交易数据——也就是你的个人信息、支付信息、实际出票逻辑——始终跑在铁科院自己的服务器上,没有交给阿里云。
打个比方:12306是一家银行,阿里云的角色相当于帮银行把"排队取号叫号"这个环节搬到了云上,减轻了大厅的压力。但柜台里办业务、金库里的钱,从头到尾都还在银行自己手里。说"阿里做了12306",就像说"装修公司盖了整栋银行大楼"。
阿里云参与之后效果确实明显。2015年春运,12306的崩溃次数大幅下降。但这不是阿里一家之功——同一年,单杏花团队也在做读写分离、内存计算、异构数据同步等一系列架构优化。把功劳全算在阿里头上,对铁科院那77个人的团队不公平。
五、为什么不同地方显示的开发者名字不一样——网站、APP、公众号背后的不同署名逻辑

这个问题可能是搜"12306软件开发公司"的人最困惑的地方:为什么到处写的不一样?
| 渠道 | 显示的主体 | 原因 |
|---|---|---|
| 12306.cn网站底部 | 中国铁道科学研究院集团有限公司 | 铁科院是网站域名的备案主体和运营方,版权归属铁科院 |
| App Store(iOS) | 中铁程科技有限责任公司 | 苹果开发者账号以具体开发公司名义注册 |
| 安卓应用商店 | 中铁程科技有限责任公司 | 和iOS一致,开发者账号归属开发公司 |
| 微信公众号 | 中国铁道科学研究院集团有限公司 | 微信认证主体使用铁科院的统一社会信用代码 |
| 招投标项目 | 中铁程科技有限责任公司 | 对外商业合作和技术采购以中铁程名义签约 |
说白了就是一套班子两块牌子。铁科院是事业单位转制的央企研究院,在很多对外场合不方便直接以企业身份操作,所以成立了中铁程科技这家全资子公司来处理具体的商业行为——签合同、招投标、上架应用商店、招聘程序员。但研发团队的人、办公室、服务器,都是同一拨人在同一个地方干活。
一个常见的误会:市面上有一些抢票软件和第三方APP声称"和12306官方合作""由12306授权",这些都是假的。国铁集团多次发布公告强调,12306从未授权任何第三方平台开展售票服务。你在携程、美团、智行上买火车票,本质上这些平台是帮你代购——用你的12306账号去官方系统下单,赚的是加速包和保险的钱,不是官方合作。唯一的官方入口就是12306.cn网站和"铁路12306"手机APP。
六、12306系统到底有多难做——和淘宝双11比,12306的技术挑战在另一个维度
很多人拿12306和淘宝双11比较,说"双11都没崩,12306怎么老崩"。这两个系统的技术难度不在一个维度上。
淘宝双11的核心是库存扣减——一双鞋库存1000双,第1001个人下单就提示"已售罄"。库存数据是静态的,你只要记住"还剩多少"就行。12306的余票查询完全不同——一张北京到上海的票,有人买了"北京-济南",这张票就变成"济南-上海"区间还有票;有人买了"天津-南京",又会影响"北京-天津""南京-上海"两个区间的库存。一趟车经过20个站,理论上会产生190种可能的乘车区间,每一种组合都影响其他区间的余票数量。这不是简单的库存扣减,而是动态区间拆分和组合,计算量是淘宝库存扣减的几何倍数。
淘宝双11
· 库存扣减:1件商品=1个库存数
· 并发分散:不同人在不同店铺抢不同商品
· 可以排队:下单后30分钟未支付自动释放
· 库存可加:商家可以补货
12306春运
· 余票计算:1张票=190种区间组合实时变动
· 并发集中:几千万人抢同一趟车同一时段
· 实时交易:下单就必须立即锁定座位
· 库存固定:一趟车座位数是死的,不能"补货"
理解了这一点,就能理解为什么12306的架构演进走了十年才稳定下来。单杏花团队面对的不仅是高并发的问题,更是一个高并发+高计算复杂度+强数据一致性三合一的极端场景。全球范围内找不到第二个和12306完全一样的系统可以借鉴。
七、从一家公司到一整套体系——12306已经不是一个APP那么简单
如果你以为中铁程科技只管一个手机APP,那就想简单了。这家公司的业务范围覆盖了铁路客运信息化的全链条:
互联网售票系统
12306.cn网站 + 铁路12306手机APP,支持购票、改签、退票、选座、候补、电子客票
车站窗口售票系统
全国几千个火车站的人工窗口售票终端软件,和互联网系统共享同一套票库
自动售取票机(TVM)
车站自助设备的操作系统,支持刷身份证取票、购票、学生票核验
铁路电子支付平台
对接微信、支付宝、银联、各银行,处理每天数以亿计的交易流水
铁路畅行会员系统
积分累计、兑换车票、会员等级管理,类似航空公司的常旅客计划
候补购票系统
2019年上线的排队候补机制,有人退票自动按顺序兑现,替代了人工刷票
这些系统加在一起,构成了全球最大的实时票务交易系统。高峰时期每秒出票超过1000张,用户从提交需求到出票只需要1.2秒,单日最高访问量超过500亿次。支撑这套系统的,就是中铁程科技那不到一百人的技术团队和铁科院电子所的研究力量。
八、如果想进中铁程科技做开发——这家公司招什么人、用什么技术栈
既然搜"12306软件开发公司",可能有人是想了解这家公司的技术招聘情况。中铁程科技在BOSS直聘上有招聘信息,从公开的职位描述来看,技术栈以Java后端开发为主,涉及分布式系统、高并发处理、数据库优化等方向。工作地点在北京海淀区大柳树路2号,和铁科院同址。
不过要注意的是,中铁程科技是铁科院的全资子公司,属于央企体系,招聘流程走的是国企那套——笔试、面试、政审、体检,流程比互联网公司长很多。薪资待遇上,国企的月薪可能不如大厂高,但稳定性、户口指标、公积金比例这些方面有优势。适合那些对铁路行业有兴趣、想做"真正高并发系统"而不是"电商营销页面"的技术人。
回头看12306这十几年的技术进化,本质上是一个经典的系统架构升级案例——从单体到分布式、从自建机房到混合云、从读写成一体到读写分离、从被动崩溃到主动容灾。每一步都不是"换个技术栈"那么简单,而是在不影响全国铁路售票正常运行的前提下完成的"飞行中换引擎"。单杏花团队能在这种约束下把系统迭代到今天这个水平,说它是中国软件工程领域的一个标杆案例,不算夸张。
最后说一句:下次在12306上抢到票,页面上弹出来"出票成功"四个字的时候,背后是中铁程科技那几十个程序员写的代码、铁科院电子所几十年的客票系统积累、单杏花从1996年就开始铺的技术地基、以及阿里云弹性服务器上跑的余票查询集群。一个不到百人的团队扛着7亿用户的系统,这件事本身比"12306是哪个公司开发的"这个问题的答案,要重得多。
