项目背景与业务场景
2023 第 19 届亚运会在杭州举办,这将提高杭州的国际知名度,促进杭州经济、社会的全面发展,并将进一步推动奥林匹克运动在中国的发展,并且提升杭州城市形象和国际影响力。为亚运村村民提供便捷周到的服务和丰富多彩的村内生活体验,我司与阿里巴巴集团(亚运会官方合作伙伴)共同打造了“云上亚运村”项目,形成 “1+5” 大小脑协同的智慧亚运村建设方案,作为亚运村智慧园区内容。
而杭州亚运村智慧运行平台(以下简称“VOC 平台”)作为“云上亚运村”三大核心板块之一的智能-智慧园区板块,充分发挥了“智能亚运”理念,为查看赛事期间的日常事务管理及整体运行情况的总体门户平台,协助指挥长及管理者提供快速、准确、全面的决策依据。
业务痛点
亚运村是亚运史上罕见的三村(运动员村、技术官员村、媒体村)合并运营。作为场馆中运行持续时间长、运行连续性要求高、潜在风险点多的非竞赛场馆,亚运村为所有客户提供全天候保障服务。而传统的业务观测一般存在以下 3 点的局限性:
1、局限于展示形式,信息表达不直观
传统的业务观测一般基于二维指标屏,靠堆砌零散的业务指标来形成仪表盘,所以业务逻辑线表述不清晰,不利于首次看屏者理解。其次,正是由于二维图表展示的限制,欠缺地理数据精准映射与交互的能力,无法满足客户各类地理场景的分析。
2、监控体系不完善,无法快速识别风险事项
传统的业务观测不对设备软硬件、云服务器、数据接口、网络安全等做监控预警,但亚运作为重保项目,要求技术人员 7X24 小时保障“云上亚运村”的运行,对平台稳定性要求极高。所以快速掌握全链路上各项性能监控、快速识别风险、及时处置风险、定期回顾历史风险成了平台运行的重中之重。
3、运维压力大,容错性低
传统的运维模式通常需要大量的人力资源进行巡检和故障排查。这不仅增加了成本,还使团队在面临大规模系统或网络故障时面临巨大的工作量和压力。依靠现有的难以实时捕获问题并提供足够的数据支持来快速解决故障。这会导致问题被忽视或需要更长的时间才能诊断和解决。而且系统的扩展性有限,当业务需求增长时,可能需要采取手动操作来增加服务器或资源,这会增加运维的工作负担。
在这背景下,全新的一站式业务观测解决方案应运而生,积极助力亚运亚残保障,成为“智能亚运”落地的重要一环,为亚运赋能。
解决方案
VOC 平台历时 9 个月的开发,并于 2023 年 9 月 8 日上线。平台采用阿里云数据仓库、数据治理、数据挖掘与量化决策分析等技术,打破系统壁垒,完成与云上通预约系统、亚运钉考勤系统、亚组委赛事管理系统等 20+ 个系统的对接工作、确定了约 440 个数据指标,融合了村内人、物、场、安全、服务、低碳 6 大领域实时运营数据,为包括指挥长在内的管理人员提供实时数据和智能决策支持。
VOC 平台包含亚运大屏端、PC 端、手机端以及亚残运大屏端、PC 端、手机端。
大屏端:
PC端:
手机端:
整体技术架构
VOC 框架数据端运用了观测云(www.guance.com)的数据开发平台 DataFlux Func(简称 f(x))对亚运组委会旗下 20 个系统中的 440 个指标进行采集、分析、存储、处理,生成符合 RESTful 规范的接口,在经过观测云的采集上报存储后,供展示层 DataVision(DataV,CityV)调用并展示。
- 观测云中的监测模块采用了跨平台的数据采集引擎 DataKit,基于全栈数据的采集能力,实现了海量异构多源多样数据源的统一采集和上报,让亚运村中的基础设施、服务器硬件、应用、业务数据等做到“应采尽采”。
- 亚运村的数据采集完成后,数据通过预处理引擎 DF-Kodo 写入消息队列,对多类型的数据进行统一查询,底层采用了多模数据湖形态,将亚运村的日志,对象,链路,事件等数据结构进行了统一的存储,通过行协议(Line Protocol)经过统一的 Dataway 接口实现一致性高效低延时的写入自主研发的时序数据库 GuanceDB,由自研的查询语言 DQL 进行统一的查询与分析。
- 通过内部开放接口 Core-Inner 和 Kodo-Inner 将拨测接口的结果写入 GuanceDB,结果有异常时通过 Message-desk 将错误信息通过邮件、事件、webhook(钉钉机器人)、短信等通知保障人员。
- 同时观测云平台会实时生成一个统一的界面,全环境高基数采集数据,支持多维度信息智能检索分析,用可观测性对亚运村 VOC 平台数据的全生命周期进行管理。
VOC 的展示端由两个可视化工具 DataV 和 CityV 组成,CityV 展示场景类的数据,比如亚运村的各个场所的客流量,车流量。DataV 展示看板类的数据,通常为弹框和两边的面板。两个工具接受 f(x) 输出的接口数据并展示。通过 websocket 实现两个工具间的通信。
VOC 平台
在 VOC 平台中,在数字空间构建实时性、高保真、无限逼近物理空间的数字映射,将现实世界中的物联感知、分析计算、信息反馈精准映射在虚拟空间,实现可观测、可分析、可预警、可互动的数字孪生体。
平台流程
VOC 平台内 20 个业务系统数据经由 API 的方式,在 f(x) 中汇集,并进行了数据处理、计算后,上报给了孪生前端展示。经过孪生前端所使用的开发工具 datav 和 cityv,将数据以可视化的方式呈现出来。
注:
- f(x) 是一款函数开发、管理、执行平台。简单易用、无需从零搭建 Web 服务,无需管理服务器等基础设施,只需编写代码并发布,简单配置即可为函数生成 HTTP API 接口。
- DataV 是阿里云一款数据可视化应用搭建工具,帮助有数据展示需求的用户快速完成可视化应用搭建。
- CityV 是基于 UE5 的孪生底座,能够快速生成大规模城市三维模型,结合手工制作,针对特殊建筑及场景打造更精细逼真的模型。
数据处理
f(x) 数据处理平台在 6 个月内完成 20 个系统 400+ 项指标数据的接入、处理和集成,数据对接的高效性与海量数据的处理能力为 VOC 平台实现跨业务线、跨系统的数据分析与整合。
3 种数据源接入
f(x) 平台共接入 3 种数据类型【文件导入、数据库链接和三方系统 API 】,共计 20 个系统,编写了 11 个代码模块包【包含 1 个内部编写的通用请求封装包,1 个 websocket 处理模块】,开放了 75 个授权链接,制作了 68 个自动触发任务【定时任务】,开放了 16 个文件服务,缓存了 1000+ 条数据。
1、文件导入
赛事、气象、任务剖面、每日值班数据,请求 f(x) 平台开放的上传文件 API 接口,推送每日数据,再由 f(x) 平台进行文件解析、数据清洗出亚运村大屏所需指标数据并生成亚运村大屏所需数据的 API 接口。
通过文件的导入来进行数据接入和处理,特色是方便快捷,适用于大量数据的批量处理。优点是可以通过各种文件格式进行数据交换,如 CSV、Excel 等,适用于不同系统之间的数据传输。
2、数据库连接
预警、c 类考勤、供水、供气、垃圾数据,f(x) 平台请求各个三方系统开放的 API 接口,获取、清洗数据并存储在数据库中,f(x) 平台兼容各种数据库的连接(mysql、redis),使用 SQL 等查询语言,查询出亚运村大屏所需指标数据并生成亚运村大屏所需数据的 API 接口。
通过连接数据库来进行数据接入和处理,特色是高效性和实时性,适用于大规模数据的处理和查询。优点是可以使用 SQL 等查询语言进行复杂的数据操作和分析,适用于需要高度灵活性和复杂计算的场景。
3、API 接口
电瓶车、低碳、供电、pv 考勤、工单、投诉、住宿、商业、预约等数据,f(x) 平台调用三方系统开放的 API 接口获取、处理数据并生成亚运村大屏所需数据的 API 接口。
通过使用 API 接口进行数据接入和处理。特色是自动化和实时性,适用于与外部系统进行数据交互。优点是可以实现数据的自动同步和实时更新,适用于需要与其他系统实时交互的场景。
6 个月完成全量数据清洗和转换
通过使用数据清洗和转换工具进行数据接入和处理。特色是可视化操作和批量处理,适用于数据清洗和转换的需求。优点是可以快速进行数据清洗、去重、转换等操作,提高数据质量和一致性。
总之,选择适合的数据接入/处理方式取决于具体的需求和情况。不同方式都有各自的特点和优点,可以根据实际情况进行选择和组合使用。
数据流图
特色场景
全场景建模,还原真实亚运村全貌
对亚运村范围(运动员村、媒体村、技术官员村)进行 L5 级精细化建模,对周边区域进行 L2 级简单建模。利用 Lumen 全局光照技、Nanite 虚拟几何体技术等建模与渲染方式,精细还原物理实体的纹理细节,实现照片级细节显示,与物理实体保持一致。
模型叠加地理信息图层,表现形式更丰富
在模型上叠加各类信息图层,如区域围栏、poi 撒点,来展示亚运村封闭线区域、楼栋点位、电瓶车运行线路等。通过点击交互来查看楼栋入住情况与点位客流容纳情况。
6 个月 20 个系统对接,混合处理数据
VOC 平台接入 3 种不同类型的数据源,完成 20 个系统的对接工作,汇聚了 440+ 项指标,针对多种数据类型进行混合存储与处理,制作 100+ 接口,当大屏数据出现异常时可启用缓存历史数据来保证大屏稳定性,进行数字孪生正常稳定显示。
300+ 项实时性指标,全面掌控运行态势
基于实际运营管理需求,梳理当日实时指标 300+ 项,并与 GIS 数据、时空数据融合展示,更直观的了解亚运村的运行情况、变化趋势和潜在风险。
5 类场景预警监控,跟踪处理流程
针对电力/客流过载/高影响气象/火警消控/电瓶车过温等场景进行监控预警。预警时自动触发消息提醒、弹出对应的应急预案,联动线下处置结果,做到事前预警、事中定位/处置/跟踪、事后复盘分析。
观测云-全链路监控告警
观测云采用全链路监控和告警方案,通过大盘展示和钉钉通知系统的结合,实现对系统状态的全面可视化监测和实时响应。这一系统的设计和运行有助于确保我们的业务高可用性和稳定性。
监控大盘
为了实现对系统状态的全面了解,我们采用自定义仪表板的大屏幕,以可视化的方式展示各项数据。这有助于运维人员快速了解系统的运行情况,无需深入分析原始数据。大屏数据是实时更新和推送的,它反映了当前的最真实系统状态。不同系统和组件使用不同的颜色标识,绿色通常表示正常运行,黄色表示警告级别,红色表示危险级别。这种视觉表示方式有助于在一瞬间捕捉问题,使运维人员能够快速采取行动。
告警通知
为了实现实时响应,我们集成了告警和通知功能。异常数据,如警告、错误和危险情况,都在大屏中定义,并由钉钉机器人 webhook 捕捉。这些数据将被及时通知到相关的钉钉群中,以确保在系统出现问题时,相关人员能够立即获得通知。这种即时通知机制有助于减少故障恢复时间,提高了系统的可用性。
观测云的全链路监控的优势是以告警系统大屏展示和钉钉通知为核心,构建了一个强大的实时监测和响应体系。这有助于确保系统稳定运行,提供高可用性的服务,满足不断变化的业务需求。通过这一综合性的方法,我们能够更好地管理和维护云上系统,提供卓越的性能和更稳定的杭亚保障。
云服务-部署方式与运维保障
部署方式
本次杭州亚运会实现了核心系统 100% 上云,实现全面感知、高效指挥。
依托于阿里云的强大算力与调度能力,观测云建立并承载在阿里云之上。如下图架构图所示,此次我们在可用区选择上,使用同 region 的三个 AZ 部署,使得服务可用性达到 99.999999987%。使用阿里云 ACK 集群,work 节点配置部署观测云的核心服务模块,如 dataway、kodo 等,同时使用 RDS、NAS 等进行数据持久化存储。
安全合规
为了建立、完善网络安全机制,保障云上系统的稳定性。安全合规作为业务发展的重点考虑内容之一。亚运村云上系统满足国家等保三级认证要求,为用户提供更安全、更合规的云平台及云服务。
安全等保
- 通过云安全中心的漏洞检测、基线检查、防病毒,防篡改功能,加强对主机计算资源安全防护。及时对主机及应用漏洞进行处理。
- 通过对网络架构、访问控制、通信传输、边界防护、入侵防范、安全审计的检测保证系统网络与通信安全。
- 保证设备与计算安全,系统要求登录的用户进行身份鉴别,身份标识具有唯一性。并且应采用免受恶意代码攻击的技术措施或采用可信计算技术建立从系统到应用的信任链,实现系统运行过程中重要程序或文件完整性检测,并在检测到破坏后进行恢复。
- 应用和数据安全采用加解密技术保证重要数据在传输过程中的完整性和保密性,而且提供了异地实时备份功能,利用通信网络将重要数据实时备份至备份场地。
- 采用的安全管理策略,由安全策略、管理制度、操作规程、记录表单等构成的全面的信息安全管理制度体系,由专门的安全管理机构人员根据保护对象的安全保护等级及与其他级别保护对象的关系进行安全整体规划和安全方案设计,并形成配套文件。
- 南北向流量通过阿里云WEB应用防火墙(7 层),云防火墙(4 层)进行管控及防护,东西向通过云防火墙进行管控及防护。
- DDOS 攻击通过 DDOS 高防产品防护。
- 关联安全产品:云安全中心、云防火墙、WEB 应用防火墙、DDOS 高防。
运维保障
为了保障云上系统的高稳定性和高可用性,我们采用了高效的观测云技术,以实时监测系统的状态。这一系统涉及多个关键组件,其中包括专业的大屏显示和钉钉通知系统,旨在确保对系统的实时性监控和异常通知。
通过我们的观测云实施,我们能够全面、多角度地监控系统的各个方面,包括性能指标、日志数据、安全事件等。这些数据以可视化的方式呈现在大屏幕上,以帮助运维团队迅速识别问题和监测系统的整体健康状况。同时,通过钉钉通知系统,我们能够及时通知相关人员和团队,以便他们能够在出现问题时迅速响应。
定期巡检制度
我们还建立了定期巡检制度,由专业的运维人员主动执行。这种巡检制度包括对云上系统的水位线、资源利用率等进行飞行检查单的项目检查,以确保系统的正常运行。同时,建立 7x24 小时 on call 制度,以确保在系统出现异常或问题时,能够第一时间随时介入并进行问题排查和修复。这一制度不仅提高了系统的可用性,还增强了对潜在风险的实时响应能力,确保了系统的持续稳定运行。
告警处理流程
系统告警接入我们的告警汇聚中台,通过自动去重、规则压缩、算法降噪,实现告警降噪,帮助运维团队减少告警,避免告警风暴;同时通过分派、排班、通知等功能,快速实现告警流程化管理,保障更快响应告警,恢复告警,提升告警管理能力。
同时我们基于钉钉打通多端、团队内协同,加速运维事件处理,并对运维事件进行完整的跟记录踪,帮助了解整体生产环境下事件的运行趋势。