揭秘!9个月完成亚运会的整体数字化观测

项目背景与业务场景

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 制度,以确保在系统出现异常或问题时,能够第一时间随时介入并进行问题排查和修复。这一制度不仅提高了系统的可用性,还增强了对潜在风险的实时响应能力,确保了系统的持续稳定运行。

告警处理流程

系统告警接入我们的告警汇聚中台,通过自动去重、规则压缩、算法降噪,实现告警降噪,帮助运维团队减少告警,避免告警风暴;同时通过分派、排班、通知等功能,快速实现告警流程化管理,保障更快响应告警,恢复告警,提升告警管理能力。

同时我们基于钉钉打通多端、团队内协同,加速运维事件处理,并对运维事件进行完整的跟记录踪,帮助了解整体生产环境下事件的运行趋势。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/196591.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【NI-RIO入门】为CompactRIO供电

在大多数情况下,您可以使用可直接连接系统的电源,例如墙上的电源插座。但是,某些应用程序或环境缺乏可用电源,您必须使用其他电源,例如电池。无论您是否有可用电源,您可能都希望通过为系统提供一些冗余来确…

京东秒杀之商品展示

1 在gitee上添加.yml文件 1.1 添加good-server.yml文件 server:port: 8084 spring:datasource:url: jdbc:mysql://localhost:3306/shop_goods?serverTimezoneGMT%2B8driverClassName: com.mysql.cj.jdbc.Drivertype: com.alibaba.druid.pool.DruidDataSourceusername: rootpa…

自动驾驶HWP功能规范

HWP功能规范 Highway Pilot Functional Specification 文件状态: 【√】草稿 【】正式发布 【】正在修改 文件起草分工 撰写: 审核: 编制: 签名: 日期: 审核: 签名: 日期&am…

抖音视频如何无水印下载,怎么批量保存主页所有视频没水印?

现在最火的短视频平台莫过于抖音,当我们刷到一个视频想下载下来怎么办?我们知道可以通过保存到相册的方式下载,但用这种方法下载的视频带有水印,而且有些视频不能保存到相册(这是视频作者设置了禁止下载)。…

c# 简单web api接口实例源码分析

CreateHostBuilder(args).Build().Run();这句语句处于c#webapi程序的第一句,它的作用是:启动接口的三个步骤: 创建一个HostBuilder对象。执行IHostBuilder.Build()方法创建IHost对象。执行IHost.Run()方法启动。 创建和配置Host(…

蚁剑低版本反制

蚁剑低版本反制 漏洞概述 中国蚁剑是一款开源的跨平台网站管理工具&#xff0c;它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。影响范围 AntSword <2.0.7 蚁剑实验版本&#xff1a;2.0.7 环境搭建&#xff1a; 172.16.1.233&#xff08;蓝队服…

【Python深度学习第二版】学习笔记之——什么是深度学习

机器学习是将输入&#xff08;比如图像&#xff09;映射到目标&#xff08;比如标签“猫”&#xff09;的过程。 这一过程是通过观察许多输入和目标的示例来完成的。 深度神经网络通过一系列简单的数据变换&#xff08;层&#xff09;来实现这种输入到目标的映射&#xff0c;这…

解读 | 从谷歌AI判定阿波罗登月“造假“来谈谈合成图片检测技术

大家好&#xff0c;我是极智视界&#xff0c;欢迎关注我的公众号&#xff0c;获取我的更多前沿科技分享 邀您加入我的知识星球「极智视界」&#xff0c;星球内有超多好玩的项目实战源码和资源下载&#xff0c;链接&#xff1a;https://t.zsxq.com/0aiNxERDq 整个事情可以爬楼看…

【2023.11.28】关于Servlet路径的学习

创建Servlet 这是Tomcat配置的初始路径&#xff0c;在web项目内&#xff0c;该路径代表了webapp下index.html所在的页面。 WebServlet(name "login", value "/login",loadOnStartup 1) public class LoginServlet extends HttpServlet { 使用注解的方…

leetcode:2133. 检查是否每一行每一列都包含全部整数(python3解法)

难度&#xff1a;简单 对一个大小为 n x n 的矩阵而言&#xff0c;如果其每一行和每一列都包含从 1 到 n 的 全部 整数&#xff08;含 1 和 n&#xff09;&#xff0c;则认为该矩阵是一个 有效 矩阵。 给你一个大小为 n x n 的整数矩阵 matrix &#xff0c;请你判断矩阵是否为一…

算法效率的度量

算法效率的度量通常是通过时间复杂度和空间复杂度来描述的。 一、时间复杂度 算法中所有语句的执行次数之和为T(n)&#xff0c;它是算法问题规模n的函数&#xff0c;时间复杂度主要分析T(n)的数量级。 分类 1. 最好时间复杂度&#xff1a;最好情况下&#xff0c;算法的时间…

国自然项目基金撰写及技巧

随着社会经济发展和科技进步&#xff0c;基金项目对创新性的要求越来越高。申请人需要提出独特且有前瞻性的研究问题&#xff0c;具备突破性的科学思路和方法。因此&#xff0c;基金项目申请往往需要进行跨学科的技术融合。申请人需要与不同领域结合&#xff0c;形成多学科交叉…

智能优化算法应用:基于飞蛾扑火算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于飞蛾扑火算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于飞蛾扑火算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.飞蛾扑火算法4.实验参数设定5.算法结果6.参考…

算法之插入排序及希尔排序(C语言版)

我们来实现上述排序 一.插入排序. 当插入第i(i>1)个元素时&#xff0c;前面的array[0],array[1],.,array[i-1]已经排好序&#xff0c;此时用array[i的排序码与array[i-1]array[i-2].的排序码顺序进行比较&#xff0c;找到插入位置即将arrayU插入&#xff0c;原来位置上的元…

【RTP】4: 实例解析:一个SRTP的wireshark抓包:带padding、带扩展

抓取的是视频包。固定的pt是127从头部找到序号,快速找到这个包包大小因为是包括了SRTP的,所以318 个字节,实际RTP包是286个字节。SRTP 包 UDP总共 294个字节,payload部分286 RTP协议 RTP部分: B0 代表有padding、有扩展 从B0开始

【Linux】gcc和g++

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在学习c和Linux还有算法 ✈️专栏&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指点一二 …

linux shell操作 - 05 进程 与 IO 模型

文章目录 计算机内存分配进程与子进程流IO模型非阻塞IOIO多路复用网络IO模型简单的socket并发的socket 计算机内存分配 一个32位&#xff0c;4G内存的计算机&#xff0c;内存使用分为两部分&#xff1a; 操作系统内核空间&#xff1b;应用程序的用户空间使用的操作系统不同&a…

如何使用低代码平台加速应用开发?

目录 一、背景 二、低代码开发和传统开发的区别 1.低代码开发方式能够实现业务应用的快速交付 2.低代码开发平台还能够降低业务应用的开发成本 三、低代码开发对你有什么帮助&#xff1f; 四、低代码工具的使用者是谁&#xff1f; 五、典型的低代码开发平台有哪些&#xff1f…

02-鸿蒙学习之4.0todoList练习

02-鸿蒙学习之4.0todoList练习 代码 /*** 1:组件必须使用Component装饰* 2.Entry 装饰哪个组件&#xff0c;哪个组件就呈现在页面上* 3.被Entry 装饰的入口组件。build&#xff08;&#xff09;必须有且仅有一个根 ** 容器 ** 组件* 其他的自定义组件&#xff0c;build() 中…

一篇总结 Linux 系统启动的几个汇编指令

学习 Linux 系统启动流程&#xff0c;必须熟悉几个汇编指令&#xff0c;总结给大家。 这里不是最全的&#xff0c;只列出一些最常用的汇编指令。 一&#xff0e;数据处理指令 1.数据传送指令 【MOV指令】 把一个寄存器的值(立即数)赋给另一个寄存器&#xff0c;或者将一个…