写点什么

从“望车兴叹”到实时公交查询,是什么支撑起北京日均 800 万人次的公交系统?

2021 年 2 月 03 日

从“望车兴叹”到实时公交查询,是什么支撑起北京日均800万人次的公交系统?
00:00 / 00:00
    1.0x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.5x
    网页全屏
    全屏
    00:00

    《超级探访·春节特辑》之“启迪公交”篇(上)

    00:00 / 00:00
      1.0x
      • 2.0x
      • 1.5x
      • 1.25x
      • 1.0x
      • 0.5x
      网页全屏
      全屏
      00:00

      《超级探访·春节特辑》之“启迪公交”篇(下)


      说起公共交通,在地铁还没有发达的时候,北漂的人们或多或少都经历过“公交车囧事”。有人因为公交卡没钱只能无奈下车;有人顶着严寒酷暑在公交车站“望车兴叹”——公交车一趟又一趟,就是没有自己要搭的那一路;还有人好不容易等到了车,结果发现公交车挤成了“沙丁鱼罐头”,使出浑身解数也挤不上去,只能继续原地等待下一辆或者选乘其他交通工具。

       

      近些年随着云计算、大数据、物联网等新兴技术的高速发展,这些影响着人们出行的问题也得到了极大改善。如果公交卡忘记充钱,可以使用公交车软件扫码先乘车后付款;在出门前,就可以通过手机 APP 实时了解公交车到站的具体时间和车辆拥挤程度,减少因等车浪费的时间;此前疫情横行的严峻形势下,为避免交叉感染,公交车严格控制乘车人数,人们还可以通过手机 APP 提前预定车次,既保证了有需求的人出行,也加强了防疫力度。

       

      潜移默化间新兴技术究竟是如何改变了公共交通?这款帮助大家便利出行的手机 APP 又是“何方神圣”?它又是凭借哪些技术手段,帮助人们实现实时车辆动态查询等出行需求的?带着这些问题,我们来到了这款手机 APP 诞生的地方——启迪公交,探寻以上问题的答案。

      数据高楼难建“地基”,启迪公交实行技术突围

       

      众所周知,北京有着国内规模最大、车辆最多、计费方式最复杂的城市公交系统。而作为这个公交巨无霸系统的运营者,北京公交集团也是业内公认的“全球最大公交集团”,其拥有两万多辆公共电汽车,1000 多条运营线路,日均客运量超过了 800 万人次。隶属于北京公交集团的启迪公交就是这个巨无霸背后的科技“智囊团”。

       

      “支撑北京公交庞大的系统运转,需要一个强大、高效、高性能、稳定性极强的系统支撑。2018 年,启迪公交成立之初,便决定搭建包括‘北京公交 App’在内的一整套数字公交软硬件系统,帮助北京公交近 2.5 万台公共汽车互联上云。 ”启迪公交产品研发总监周国礼面对镜头讲道。

       

      但事实上,这并不是一个一蹴而就的事情。庞大的高并发数据量增加了研发的难度,巨无霸公交系统需要支撑北京市 2 万多辆公交车、早晚高峰出行 1500 笔/秒刷卡并发访问,且随着北京市日均 800 万人次的公交出行乘坐量,每日产生的上下车刷卡数据就能高达 1600 万笔,预计未来两年将会产生百亿级的数据存储和访问需求,这种数据高楼构建高可靠性系统架构地基的难度可想而知。

       

      传统的 IT 架构显然很难支撑,它既缺少可靠的数据传输机制,同时也缺少有效的对硬件设备安全管控的机制,以及对设备远程监控和管理的能力,难以应对早晚高峰高达每秒上千的并发量级,无法解决传统公交管理上实时监控、实时调度、基于数据进行支撑决策的难题。

       

      新的市场需求催生着更为强大的技术手段的出现,启迪公交需要一个强大的技术伙伴合力开展研究。

       

      经过慎重抉择,最终启迪公交从市场上诸多数据库产品中选用了阿里云 PolarDB-X 分布式数据库,构建云上全部业务系统。据周国礼介绍,他们做出这一选择的主要原因是 PolarDB-X 技术经历过多年阿里巴巴双十一考验,能够有效地满足业务超高并发以及海量数据存储的需求,还可通过选用多可用区部署满足同城容灾诉求,以及使用在线变配能力解决业务高峰时段的弹性诉求。

       

      基于以上诉求,双方快速达成了合作。

      搭载 PolarDB-X 云原生分布式技术,启迪公交实现全业务系统上云

       

      在乘客看不到的角落,新系统的开发上线总是会面临着诸多困难,例如如何才能在不影响居民正常出行的情况下快速完成数万台刷卡机的替换。“2018 年的时候,启迪公交面临在不影响道路公交运营的情况下,为全市 2 万多辆公交车替换 6 万+机具的难题。”启迪公交研发总监王前说到。

       

      以当时的情况来看,这似乎是一个“伪命题”,就在众人一筹莫展之际,阿里云云原生分布式数据库成为攻克难题的关键钥匙。

       

      “如果采用在场站等候的方式,至少需要几个月的时间才能完成全部机具的更换,而基于 PolarDB-X 云原生分布式的快速部署能力,我们迅速开发和上线了机具辅助安装系统,通过安装人员 GPS 数据与车辆 GPS 相结合,实现了人找车快速部署机具,更换新机具的效率大幅提高,短短 1 个半月的时间,就完成原本要 1 年时间才能完成的机具更换工作。”

       

      除此之外,PolarDB-X 云原生分布式技术也成功支撑住了北京公交系统庞大的数据高楼,不仅保障了北京日均 800 万人次乘车,也支持了 6 万多台车载刷卡机的设备连接和管理,同时更顶住了大型节假日、重大赛事下公交出行客流峰值对底层核心系统带来的严峻挑战。

       

      “基于阿里云原生分布式数据库 PolarDB-X 产品,我们构建了包括支持扫码、刷卡、第三方支付、票务管理的核心业务系统,在帮助公交系统实时掌握道路运行情况的同时,也帮助乘客更便捷进行线路查询。 ”携手阿里云,启迪公交为北京市民交出了一份满意的答卷。

       

      当被问及数据化给企业带来的直观感受时,王前以票务管理工作台为例进行了说明。

       

      作为公交内部的核心业务系统,票务管理工作台不仅需要承担与票务相关的业务,还要能够通过累计的业务数据进行分析,实现科学合理的指挥公交的核心业务,在支持城市公交正常运作上有着举足轻重的作用。

       

      “以往公交集团获悉路上具体有多少辆公交汽车在运行,也没有办法知道这些公交车的一个状态,没有办法快速调度车辆。当我们采用了 PolarDB-X 构建票务管理工作台后,通过用户检录数据就可以实时同步到阿里云原生数据仓库 AnalyticDB,继而分析出实时客流,结合公交汽车机具上传的扫码信息进行实时统一分析,支持指挥车辆调度,助力场站调度人员更加快速地进行业务策略调整,实现更加合理的调度排班方案。”

       

      比如说在重大节假日时,以往公交系统排班和运力调配往往是根据经验来进行操作,在某些地点突发客流激增时会出现运力不足、道路拥堵的情况,搭载了 PolarDB-X 的公交系统可以实时了解客流分布情况、运力情况,以便及时对客流激增地区补排车辆。

       

      基于云原生分布式数据库 PolarDB-X 方案构建云上业务系统


      当下,启迪公交已逐步将各个业务系统部署到了阿里云平台上,包括北京公交 App 的后端业务服务处理,刷码刷卡检录数据的采集和上传、合单、支付结算、清算、票务等等。阿里云平台统一提供云资源的分配、调度和支撑,包括系统的性能调优、梳理业务和技术架构、优化软件代码、协调内外部资源进行统一的研发、测试等一系列工作。除此之外,系统的整体安全性也由阿里云来支持配合。

      TPS 数高达 1.4 亿?云原生分布式数据库 PolarDB-X 的技术特性

       

      作为承载了北京公交最为核心和基础部分的数据库,云原生分布式数据库 PolarDB-X 方案到底有哪些优势和特点?



      从三种当前常见的数据库架构中便可窥一二,如上图所示,从左至右依次是单机数据库、共享存储数据库和分布式数据库。

       

      单机数据库的计算资源和存储资源易受到单个节点的容量限制。共享存储数据库将开源数据库(如 MySQL)的底层存储替换成共享的分布式存储,容量的可扩展性得到了显著提升,可以做到完全兼容开源数据库,但由于其上层组件保留了单机数据库结构,仍然受到单个节点的性能限制。而以 PolarDB-X 为代表的云原生分布式数据库架构,所有节点之间互相不共享资源,节点间通过网络进行通讯,无论是存储还是计算资源,只要添加机器就可以了,具有良好的可扩展性。由此可见,作为一种分布式数据库架构,PolarDB-X 的优势从一诞生便非常显著。

       

      此外,PolarDB-X 一直在朝着一个伟大愿景发力,即把各种架构的优势结合到一起,包括 Sharding on MySQL 的简单轻量,NewSQL 的高扩容,Cloud Native DB 存储容量的弹性扩展。其具有 6 个显著特点:

       

      • 高可用。基于 Paxos 协议,数据强一致;少数派节点故障下数据不丢、不停服;RPO=0 RTO<30s。

      • 高兼容。MySQL 兼容,支持全局事务,二级索引;主流国产操作系统和芯片互认证;全局 binlog 日志,兼容数据库上下游生态。

      • 高扩展。水平扩展,按需在线扩缩容,不停服;PB 级海量存储能力,单实例突破 256 节点(真实业务);千万级并发,可抵御双 11 流量峰值。

      • HTAP。智能读写分离,保障 TP 流量的稳定性;MPP 并行查询,基于只读副本保障查询隔离;基于全局 TSO 时间戳,保证多副本的一致性读写。

      • 极致弹性。存储资源池化,自动按需伸缩,按需付费;扩容不迁移数据,突发流量支持快速升配。

      • 开放生态。拥抱 MySQL 开源社区,代码自主可控;闭环生态工具支持,DTS/DBS/DMS;产品架构简单开放,社会人才密度高。

       

      作为阿里云自主研发的云原生分布式数据库,PolarDB-X 可谓是身经百战。其采用分布式 SQL 引擎与存储引擎,专注解决海量数据存储、超高并发吞吐,历经各届天猫双十一及阿里云各行业客户业务的考验,在 2020 年双十一期间更是支撑了 58.3 万笔/秒创建订单的峰值,数据库处理 TPS 数高达 1.4 亿。

       

      基于以上分析,PolarDB-X 能够承载住北京公交系统如此庞大且繁杂的数据压力,也就并不足为奇了。

       

      在和启迪公交的合作中,PolarDB-X 将上述的 6 大特色运用到了极致,其以云原生一体化架构设计底层,采用多副本的高可用架构最大限度保证系统的可靠性,为北京公交 APP 端提供稳定的用户体验,同时也为公交票务管理实时大数据分析运行提供着重要的数据支撑。 

       

      “公共交通出行关乎整个城市的核心基础保障,阿里云原生分布式数据库 PolarDB-X 方案极大地提升了公交运营效率和服务水平,助力启迪公交打造北京公交智能化业务系统,为首都人民提供了更加绿色和便利的公交出行服务。新基建时代下,未来希望我们能够更加紧密地结合,助力城市公交系统的智能化发展百尺竿头更进一步。”

      2021 年 2 月 03 日 15:462417

      评论

      发布
      暂无评论
      发现更多内容

      Android 系统开发做什么?

      吴小龙同学

      数据分析

      王一凡

      产品经理训练营 Week11 作业

      Mai

      直播预告|4月1日与你相约腾讯云共探TcaplusDB

      TcaplusDB

      数据库 nosql 后端 TcaplusDB

      Vue中如何在线预览pdf文件

      y

      2021金三银四总结面试必备清单:字节/蚂蚁金服/腾讯/百度

      比伯

      Java 程序员 架构 互联网 技术宅

      突击18天面进字节跳动,给到27K+14薪!全靠这份阿里面试参考指南了

      Java王路飞

      Java spring 架构 面试 分布式

      第八章作业-用户路劲图

      z

      产品经理训练营 Week11 学习心得

      Mai

      阿里混沌工程平台实践

      心远

      阿里巴巴 混沌工程

      继承

      y

      继承

      携手百度智能云推动实现工业AR空间智能化

      百度大脑

      AR 百度智能云

      用户路径地图

      王一凡

      从分布式事务解决到Seata使用,一梭子给你整明白了

      神奇小汤圆

      Java 编程 程序员 架构

      架构师:始于理性思考,成于科学实践——郭东白老师分享总结

      青春不可负,生活不可欺

      成长 架构设计 架构师

      你有没有领导力?

      石云升

      领导力 28天写作 职场经验 管理经验 3月日更

      产品 0 期 - 第八周作业

      曾烧麦

      产品训练营

      「架构师训练营 4 期」 第十二周 - 001&2

      凯迪

      架构师训练营 4 期

      maven项目下的重复依赖校验

      程序员架构进阶

      maven 持续集成 28天写作 3月日更 Jar包扫描

      产品经理训练营第八章作业

      新盛

      “韩剧TV”用户路径地图

      李钊悌

      用户路径地图+漏斗模型

      mas

      云原生AI成过去式,AI原生的云才是通向未来的“藏宝图”

      脑极体

      this指向

      y

      this指针

      systemedctl使用指南

      happlyfox

      3月日更

      牛掰!阿里新产12万字大厂面试总结已收录Github,涵盖字节、滴滴、美团、腾讯、百度、京东等诸多大厂面试真题

      程序员小毕

      Java 程序员 架构 面试 分布式

      「产品经理训练营0期」第八周作业

      🌟

      产品 产品经理训练营

      产品经理第 0 期训练营第九周作业提交

      Krystal

      作业 - 第八章 数据分析

      hao hao

      用户路径地图+漏斗模型总结

      mas

      用户路径地图与漏洞模型

      思亭

      用户路径地图 漏洞模型

      技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

      技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

      从“望车兴叹”到实时公交查询,是什么支撑起北京日均800万人次的公交系统?-InfoQ