Drive to APasS!使用明道云管理 F1 赛事
文/冯宏伟 文静
编辑/麦壁瑜
老赛事和新产品的碰撞
F1,全称 Formula1,中文全称世界一级方程式锦标赛。它的规则是各支车队在技术标准,也就是“方程式”的许可范围之内,追求最快的驾驶速度。作为全世界关注度最高的运动赛事之一,F1 已经有了 70 余年的历史,在国内也有着非常大的车迷群体。今年的新赛季由于第一位来自中国的正式车手周冠宇的加入,F1 的关注度已经在国内得到进一步的提升。
图 1.F1 赛事
APasS 是 Application Platform as a Service 的缩写。应用平台即服务是最近的新兴概念,旨在为各种企业提供低门槛的开发平台。通过现有组件的拼装组合,让业务人员参与到企业应用的开发当中,快速高效构建企业应用,解放程序人员的生产力,从而提高企业效益。
我们不难看出,无论是 APasS 还是 Formula1,都对速度和精准度有着很高追求。那么今天我们使用明道云做 F1 的赛事管理,一起在规则的桎梏下起舞。
系统架构
展示层使用数据屏幕,集成专业的 BI 分析工具进行赛事数据分析,并嵌入赛事转播实时画面。应用层主要是明道云搭建的服务模块,根据不同的角色及场景划分;服务层实现不同系统的对接;数据层主要展现明道云本身基于 mongodb 的底层数据存放和流程引擎处理能力。
图 2.赛事管理系统架构
赛程管理
F1 作为每年有着 20 余场大奖赛的赛事,将来主办方甚至希望加到 30 场,因此管理赛程是非常重要的工作。使用明道云的不同字段,我们可以将所有赛道信息整合到表单当中,更直观地查看和编辑赛程数据。
图 3.赛事数据一览表
此外,明道云的画廊视图可以显示以赛道图为主的界面。在这种视图下,各个赛道的特点展示得非常直观。用日历视图显示需要进行比赛的比赛周,让观众更方便查看赛事日期。
图 4.赛道图一览
图 5.赛事排期一览
车队管理
车队作为赛事的参加者,基础数据管理也是非常重要的环节。车队的各种信息可以通过表单的信息留档,包括领队、总部、使用的动力单元供应商、历史成绩等数据。留档能更方便赛事爱好者和研究人员进行数据查询汇总,做赛前预测和赛后复盘。同时,各车队的赛车数据也会保存到赛车信息表之中,并且关联到各车队的主数据上。
图 6.车队信息管理
图 7.赛车车辆信息管理
车手及积分管理
作为参加比赛的直接人员,车手们需要一张单独的表单来存放信息,包括国籍、车号、历史数据以及关联到的车队等。
F1 的积分规则为每场比赛正赛前十名分数依次递减,同时在正赛中圈速最快的选手有 1 分的最快圈积分,车队积分为本车队的所有车手积分之和。在这里,我们可以使用关联记录,整合所有车手的积分记录,在车队表上使用汇总字段,即可实现自动积分计算。
图 8.车手管理
而车手每场的积分则通过工作流进行自动核算。FIA 的比赛数据通过明道云的接口传入到表单当中,包括圈速、进站用时以及罚时等信息。随后利用明道云的工作流,将不同名次的积分写入到表单当中进行核算。
图 9.利用工作流进行场次积分结算
赛事进程管理
前面说了那么多,最激动人心的还是比赛本身的进程。我们通过 API 的方式,从各个计时段的计时器里获取车手的本段速度,再写入到赛事表下关联的计时表当中。
图 10.对接使用的接口文档
然后继续使用工作流,每更新一条圈速表时,获取圈速表当中是否有比这一圈快的圈速。如果不存在比这一圈快的就将这一条圈速记录设定为最快圈,直到比赛结束最后一条记录的写入。赛后自动确定本场的最快圈归属哪位车手,并在他的本场积分明细中自动新增最快圈的 1 分。
此外,赛事进行过程当中随时都会有各种事故。通过工作流的通知节点可以及时地将赛道信息(例如红旗、黄旗、安全车等)同步到各车队的领队以及车手。
更加智能的选择是将车身上的碰撞传感器对接到 webhook 节点,检测到碰撞时触发工作流通知赛事干事和车队。待赛事干事处理后再次发送处理通知,避免发生更加严重的赛道事故,提高 F1 的安全性。
结语
作为全世界最烧钱的运动之一,F1 体现的是人类对于速度和创新的极致追求;作为目前最省钱的应用开发方式,明道云同样能满足各位极客对于开发速度的极致追求。本次文章主要描写了从 FIA 角度出发的赛事管理,之后可能还会做基于车队角度的车队信息化管理系统。
评论