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

告警处理流程

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

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

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

不确定度校准和可靠性图简介

图片来源 项杰 一、说明 不确定性校准是机器学习中最容易被误解的概念之一。它可以概括为这个简单的问题:“鉴于上述下雨的可能性,您是否带伞?” 我们在日常生活中使用主观概率和不确定性校准的概念,但没有意识到它们。对于不确定…

第四节HarmonyOS 熟知开发工具DevEco Studio

一、设置主体样式 默认的代码主题样式是黑暗系的,如下图所示: 如果你不喜欢,可以按照一下步骤进行修改: 左上角点击Flie->Settings->Appearance&Behavior->Appearance,点击Theme,在弹出的下拉…

XXDD——UUII(交互设计)

今天我们再次回到Adobe全家桶的怀抱,今天介绍的这一位成员,是最直接帮助大家进行平面交互式设计的软件。他就是XD~ Adobe XD全称Adobe Experience Design CC, 官方版跨平台支持Win10 与 macOS,并且所有用户均可免费下载使用。Adob…

Linux fork笔试练习题

1.打印结果&#xff1f; #include <stdio.h> #include <unistd.h> #include <stdlib.h>int main() {int i0;for(;i<2;i){fork();printf("A\n");}exit(0); } 结果打印 A A A A A A 2.将上面的打印的\n去掉,结果如何? printf("…

Java小游戏 王者荣耀

GameFrame类 所需图片&#xff1a; package 王者荣耀;import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.io.File; import java.util.ArrayLis…

Linux处理文本常见命令

目录 1 vim 2 echo 3 tee 4 cat 1 vim 编辑文本类的内容&#xff0c;使用的时候 vim [文件名]&#xff0c;比如 vim A.txt 进入vim界面后&#xff0c;按i可以开启编辑模式&#xff0c;按ESC可以关闭编辑模式&#xff0c;关闭编辑模式后:wq!保存并退出 2 echo ech…

【C语言加油站】函数栈帧的创建与销毁 #保姆级讲解

函数栈帧的创建与销毁 导言一、计算机硬件1.冯•诺依曼机基本思想2.冯•诺依曼机的特点&#xff1a;3.存储器3.1 分类3.2 内存的工作方式3.3 内存的组成 4.寄存器4.1 基本含义4.2 寄存器的功能4.3 工作原理4.4 分类4.4.1 通用寄存器组AX(AH、AL)&#xff1a;累加器BX(BH、BL)&a…

Git——Git应用入门

将会介绍以下知识&#xff1a; 搭建Git环境和创建Git版本库&#xff08;init、clone&#xff09;。文件添加、状态检查、创建注释和查看历史记录。与其他Git版本库交互&#xff08;pull、push&#xff09;。解决合并冲突。创建分支列表、列表切换和合并。创建标签。 1、版本控…

AI技术如何助力实现智慧交通

人工智能的常见优势在于能够实时、高效地分析处理大量的数据&#xff0c;并结合算法模型提供个性化、专业化的服务。在智慧交通方面&#xff0c;人工智能同样可以发挥专长&#xff0c;助力打造智能高效的交通运输网络&#xff0c;本篇就为大家简单介绍一下AI技术如何促进智慧交…

Java核心知识点整理大全20-笔记

目录 17. 设计模式 17.1.1. 设计原则 17.1.24. 解释器模式 18. 负载均衡 18.1.1.1. 四层负载均衡&#xff08;目标地址和端口交换&#xff09; 18.1.1.2. 七层负载均衡&#xff08;内容交换&#xff09; 18.1.2. 负载均衡算法/策略 18.1.2.1. 轮循均衡&#xff08;Roun…

Java王者荣耀小游戏

Background类 package LX;import java.awt.*; //背景类 public class Background extends GameObject{public Background(GameFrame gameFrame) {super(gameFrame);}Image bg Toolkit.getDefaultToolkit().getImage("C:\\Users\\ASUS\\Desktop\\王者荣耀图片\\Map.jpg&…

入侵redis之准备---Centos7上面部署redis

入侵redis之准备—Centos7上面部署redis 编写这个部署redis&#xff0c;只是为了另一个文章入侵redis做准备&#xff0c;网上还有好多类似的文章&#xff0c;这个单纯的就是部署安装&#xff0c;并简单的测试使用以下 关联其他文章 [1]VMware上面安装部署centos7镜像系统【详细…

地大与明道云的实践:零代码产教融合与协同育人

摘要 中国地质大学&#xff08;武汉&#xff09;与明道云合作&#xff0c;通过建设数字学院的方式&#xff0c;塑造教育数字化新动能。具体实践包括&#xff1a; 联合建设数字学院&#xff1a;选择经济管理学院作为试点&#xff0c;通过统筹规划、统一标准、分步实施的方式&a…

今日 LeetCode热题100--c++代码附思路

目录 1.最长连续序列 题目描述​编辑 通过代码 2.移动零 题目描述 通过代码 3.盛最多水的容器 题目描述 通过代码 1.最长连续序列 题目描述 通过代码 class Solution { public:int longestConsecutive(vector<int>& nums) {//排序&#xff0c;相同字母跳过…

kafka如何保证消息不丢失 不重复消费 消息的顺序

如何保证消息的不丢失 消息为什么会丢失 想要保证消息不丢失就要首先知道消息为什么会丢失,在哪个环节会丢失,然后在丢失的环节做处理 1.生产者生产消息发送到broker,broker收到消息后会给生产者发送一个ack指令.生产者接收到broker发送成功的指令,这个时候我们就可以认为消息…

SpringBoot中如何优雅地使用重试

1 缘起 项目中使用了第三方的服务&#xff0c; 第三方服务偶尔会出现不稳定、连接不上的情况&#xff0c; 于是&#xff0c;在调用时为了保证服务的相对高可用&#xff0c;添加了超时连接重试&#xff0c; 当连接第三方服务超时时&#xff0c;多重试几次&#xff0c;比如3次&a…

GPTS-生成一个动漫图像GPT

介绍 GPTs是ChatGPT的定制版本,用户可以通过组合指令、知识和功能来定制用于特定任务或主题的GPT。它们可以根据需要简单或复杂,解决从语言学习到技术支持等各种事情。 创建GPTs Plus和Enterprise用户可以在chat.openai.com/create上开始创建GPTs。 您可以通过在ChatGPT上的…

「有问必答」秒杀系统 Go并发编程实践!

有问必答 摘要 本文将介绍如何使用Go语言的并发原语来构建一个简单的高并发秒杀系统。 我们将使用Go语言的原生库和一些常见的技术手段&#xff0c;包括互斥锁、通道、计数器等&#xff0c;来解决并发访问和数据一致性的问题。 本文只是一个简单的示例&#xff0c;重点是Go语…

MySQL数据库如何应对故障恢复与数据恢复回滚

一个最基本的数据库&#xff0c;应当可以做到以下几点 数据持久化&#xff0c;可以将数据保存到磁盘&#xff0c;服务重启数据依然存在。 可以按照某种关系存储数据&#xff0c;如果你用过IO流&#xff0c;那么你会发现整理数据也是一件复杂的事情。我是该追加写呢还是找到某条…

K 最近邻算法

K 最近邻算法 简单 KNN海伦约会手写数字识别KNN 算法的优缺点 K 最近邻&#xff08;K-NearestNeighbor&#xff0c;KNN&#xff09;算法&#xff0c;是 1967 年由 Cover T 和 Hart P 提出的一种用于分类与回归的方法。 基本原理&#xff1a;存在一个带标签的数据集&#xff08;…