写点什么

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

  • 2021-02-03
  • 本文字数:3791 字

    阅读完需:约 12 分钟

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

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

    00:00 / 00:00
      1.0x
      • 3.0x
      • 2.5x
      • 2.0x
      • 1.5x
      • 1.25x
      • 1.0x
      • 0.75x
      • 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-02-03 15:463951

      评论

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

      融云获 CSDN 技术影响力之星评选「年度技术品牌奖」

      融云 RongCloud

      网络协议之:socket协议详解之Unix domain Socket

      程序那些事

      socket Netty 程序那些事 3月月更

      中小企业如何搭建在线客服中心?

      小炮

      全面解析云智慧数据中心统一运管解决方案

      云智慧AIOps社区

      安全 运维自动化 数据处理 数据可视化 监控工具

      在线MySQL,SQL Server建表语句生成JSON测试数据工具

      入门小站

      工具

      图解|从根儿上理解MySQL的索引

      蝉沐风

      MySQL 索引 B+树

      Nacos源码分析(一)之线程池的巧妙设计,可以薅到自己的项目里

      刘祥

      SpringCloud Alibaba

      iuap助力澳洋集团打造主数据管理平台

      用友BIP

      用友 用友iuap

      阿里智能运维实践|阿里巴巴DevOps实践指南

      阿里云云效

      云计算 阿里云 DevOps 云原生 智能运维

      这些DDD"术语"你知道吗?

      idonkeyliu

      DDD

      持续集成容器篇:Docker与自动化打包

      Docker 架构 持续集成 jenkins 持续交付

      PendingIntent重定向:一种针对安卓系统和流行App的通用提权方法——BlackHat EU 2021议题详解 (下)

      安第斯智能云

      安全 安卓

      微信外H5跳转小程序——<JumpApp/>组件(vue项目)

      CRMEB

      Java基础重要面试题(二)

      逆锋起笔

      java面试 java基础 3月月更

      创建 Node.js 视频流应用之后端

      devpoint

      node.js Video Express 3月月更

      兴业+民生上岸面试经验分享

      暖蓝笔记

      3月程序媛福利 3月月更

      ICT的圣杯(二):数字生活的另类想象

      脑极体

      如何捕获和分析 JavaScript Error

      喀拉峻

      前端

      使用bds搭建我的世界官方基岩版服务器(windows篇)

      Daimon

      一文详解Redis键过期策略

      华为云开发者联盟

      redis key 惰性删除 定期删除 键过期

      手绘流程图,教你WSL2与Docker容器无缝互相迁移

      华为云开发者联盟

      Docker 容器 WSL2 迁移

      写给后端开发工程师的H5前端开发知识

      得物技术

      前端 Web 可视化 后端开发 交互

      融云 IM +RTC 重磅优惠上线!15 天免费体验,1 年服务买一赠一

      融云 RongCloud

      虎符交易所Hoo研究院:元宇宙中的Decentraland是什么?

      区块链前沿News

      元宇宙 Hoo虎符 虎符研究院

      从读写角度,带你了解数仓的IO基本框架

      华为云开发者联盟

      io GaussDB(DWS) IO框架 行存 列存

      【CAD】入门系列完

      謓泽

      3月月更

      Open Harmony移植:build lite编译构建过程

      华为云开发者联盟

      编译 OpenHarmony build lite 芯片开发板

      TPC TiKV:Hackathon 中最硬核项目是如何炼成的?| TPC 战队访谈

      PingCAP

      sql TiDB

      实用机器学习笔记二十八:迁移学习

      打工人!

      学习笔记 迁移学习 机器学习算法 3月月更

      智能问答机器人

      DS小龙哥

      智能问答机器人 3月月更 智能对话机器人

      对微博系统中“微博评论”的高性能高可用计算架构的一点思考

      晨亮

      「架构实战营」

      从“望车兴叹”到实时公交查询,是什么支撑起北京日均800万人次的公交系统?_数据库_马红伟_InfoQ精选文章