用asp.net制作一个网站需要多久/深圳做网站的公司

用asp.net制作一个网站需要多久,深圳做网站的公司,武汉企业网站建设公司排名,云南做网站找谁作者:美的楼宇科技事业部 先行研究中心智能技术部 美的楼宇科技 IoT 数据平台建设背景 美的楼宇科技事业部(以下简称楼宇科技)是美的集团旗下五大板块之一,产品覆盖多联机组、大型冷水机组、单元机、机房空调、扶梯、直梯、货梯…

作者:美的楼宇科技事业部 先行研究中心智能技术部

美的楼宇科技 IoT 数据平台建设背景

美的楼宇科技事业部(以下简称楼宇科技)是美的集团旗下五大板块之一,产品覆盖多联机组、大型冷水机组、单元机、机房空调、扶梯、直梯、货梯以及楼宇自控软件和建筑弱电集成解决方案,远销海内外200多个国家。针对当前设备数据量庞大且持续增长、数据呈现半结构化特点的现状,现有系统仅停留在数据存储和基础使用层面,缺乏深度挖掘数据价值的能力,导致大量潜在信息未被充分利用。因此,迫切需要构建一个统一且通用的 IoT 数据平台,平台不仅要具备高度的弹性和轻量化特性,还应具备强大的大规模数据处理能力以及数据科学和 AI 技术支持,以实现快速的数据分析与智能化挖掘,推动楼宇系统的智能化升级,支持节能、设备管理和运维等方面的精确决策。我们的 IoT 数据平台建设基于阿里云 EMR Serverless Spark ,我们将就IoT数据平台建设技术选型上的一些思考,以及 Spark 技术栈尤其是场景应用实践做一下分享。

Lakehouse 架构

楼宇科技通过阿里云EMR Serverless Spark,实现了数据与 AI技术的有效融合,并结合EMR Serverless StarRocks搭建了Lakehouse 平台。该平台核心部分如下:

首先,上游设备或传感器数据通过Serverless Spark提交Streaming作业,实时以Apache Hudi格式写入数据湖,湖表元数据同步至DLF,以保持数据的实时性。

接着,采用天级调度执行Hudi分区数据的Compaction,并使用 Z-order 来优化数据布局,实现了10倍以上的查询加速。同时,DLF的锁机制确保了实时写入与异步湖表任务的并发事务管理,为作业稳定性、数据一致性提供了保障。

此外,还通过 Serverless Spark构建了数据Medallion架构,从加载的源始数据开始(Bronze),经过清洗转化为明细数据(Silver),然后根据不同业务需求将明细层数据转化为高质量的指标数据(Gold),为上层业务系统提供支持。

在AI应用方面,楼宇科技通过Serverless Spark PySpark 任务,并基于PyArrow UDF调用自研算法实现了千亿级别数据在百万级维度的聚合,推动了Data + AI技术在实际业务中的应用。最后,处理后的指标数据从数据湖中被加载到StarRocks中,为上层应用提供Dashboard和报表支持,提升了数据的可视化和决策能力。

以下架构图展示了如何利用Serverless Spark结合开源湖格式Hudi、ML/AI的多种工具库,以及阿里云 DLF 统一湖仓管理平台,实现高效的数据处理和AI赋能,使用Serverless StarRocks实现极速数据分析,为业务应用带来显著的提升。

选择 Spark 技术栈

在数据平台计算引擎层技术选型上,前期的架构选型我们做了很多的调研,综合各个方面考虑,希望选择一个成熟且统一的平台:既能够支持数据处理、数据分析场景,也能够很好地支撑数据科学场景。加上团队成员对 Python 及 Spark 的经验丰富,所以,从一开始就将目标锁定到了 Spark 技术栈。

为什么选择阿里云EMR Serverless Spark

EMR Serverless Spark 解决了我们什么痛点
  1. 自建集群 POC 测试需要花费大量的成本,周期也比较长;

  2. 针对千亿级别的IOT设备上报数据,引擎性能非常关键。对原始数据做一轮点位提取(t+1处理),用于后续数据开发和分析,每日的点位提取需要在短时间内运行大量资源对湖原始数据进行查询和处理;

  3. 需要完善的Spark 生态,来实现全链路数据流转,来满足批、流、交互式、机器学习等不同场景需求;

  4. 弹性计算能力,需要一次性支持大规模计算,缩短数据使用延迟。多联机能耗运行月度报告生成的过程中,每月5号之前需要大量资源去生成上月的月度报告指标;

  5. Data+AI场景的支持能力。

成本相比过去架构提升
  1. 不同场景下的整体性能提升50%以上

  2. 综合成本下降30%左右

IoT 数据链条

我们接入的 IoT 数据分为两部分,历史存量数据和实时数据。目前,历史存量数据是通过 Spark SQL 以天为单位从不同客户关系数据库批量导入 Hudi Lake 表中;实时数据通过 IoT 平台采集到云 Kafka ,经由 Spark Structured Streaming 消费后实时写入到 Hudi Lake 表中。在这个过程中,我们将实时数据和历史数据都 sink 到同一张 Hudi 表里,这种批流一体操作可大大简化我们的 ETL 流程(参考后面的案例部分)。数据管道下游,我们对接数据分析及数据科学工作流。

IoT 数据采集:从 Little Data 到 Big Data

作为 IoT 场景的典型应用,美的暖通最核心的数据均来自 IoT 终端设备。在整个 IoT 环境下,分布着无数个终端传感器。从小的维度看,传感器产生的数据本身属于 Small Data(或者称为 Little Data)。当把所有传感器连接成一个大的 IoT 网络,产生自不同传感器的数据经由 Gateway 与云端相连接,并最终在云端形成 Big Data 。

在我们的场景下,IoT 平台本身会对不同协议的数据进行初步解析,通过定制的硬件网络设备将解析后的半结构化 JSON 数据经由网络发送到云 Kafka。云 Kafka 扮演了整个数据管道的入口。

数据入湖:Hudi

IoT 场景下的数据有如下几个特点:

时序数据:传感器产生的数据记录中包含时间相关的信息,数据本身具有时间属性,因此不同的数据之间可能存在一定的相关性。利用 as-of-join 将不同时间序列数据 join 到一起是下游数据预测分析的基础

数据的实时性:传感器实时生成数据并以最低延迟的方式传输到数据管道,触发规则引擎,生成告警和事件,通知相关工作人员。

数据体量巨大:IoT 网络环境下遍布各地的成千上万台设备及其传感器再通过接入服务将海量的数据归集到平台

数据协议多样:通常在 IoT 平台接入的不同种类设备中,上传数据协议种类多样,数据编码格式不统一

数据半结构化: 不同设备包含不同的属性,基于JSON 结构把所有IoT模型抽象为JSON 字符串

IoT 数据上述特点给数据处理、数据分析及数据科学等带来了诸多挑战,庆幸的是,这些挑战借助 Spark 和 Delta Lake 都可以很好地应对。Hudi Lake 提供了 ACID 事务保证,支持增量更新数据表以及流批同时写数据。借助 Spark Structed Streaming 可以实现 IoT 时序数据实时入湖。

以下是 Hudi Lake 经典的三级数据表架构。具体到楼宇科技 IoT 数据场景,我们针对每一层级的数据表分别做了如下定义:

Bronze 表:存储原生数据(Raw Data),数据经由 Spark Structed Streaming 从 Kafka 消费下来后 Append/Upsert 进 Hudi Lake 表,该表作为唯一的真实数据表  (Single Source of Truth)

Silver表:该表是在对 Bronze 表的数据进行加工处理的基础上生成的中间表,在美的暖通的场景下,数据加工处理的步骤涉及到一些复杂的时序数据计算逻辑,这些逻辑都包装在了 Pandas UDF 里提供给 Spark 计算使用

Gold 表:Silver 表的数据施加 Schema 约束并做进一步清洗后的数据汇入 Gold 表,该表提供给下游的 Ad Hoc 查询分析及数据科学使用

数据分析:Ad-Hoc 查询 & 实时分析

我们内部在开源 Superset 基础上定制了内部版本的 SQL 查询与数据可视化平台,通过StarRocks Lake Catalog实现对湖数据查询。借助 Superset ,数据分析师及数据科学家可以快速高效的对 Hudi Lake 表进行数据探索。

StarRocks主要应用于BI报表分析平台 、实时大屏(如设备实时跟踪场景),通过Serverless StarRocks可大大提高对数据湖的分析和查询性能,相较于Trino等查询性能有3-5倍性能提升。且利用物化视图可以对实时写入数据进行再次近实时加工和处理,满足大屏分析等实时数据展示、进一步提升查询性能、降低资源使用。

数据科学:Jupyter 交互式开发

楼宇能耗优化与设备故障诊断预测是楼宇科技IoT 大数据平台建设的两个主要业务目标。在 IoT 数据管道下游,需要对接机器学习平台。现阶段为了更快速方便地支撑起数据科学场景,Serverless Spark 支持对接在数据科学场景下更友好的 Jupyter Notebook ,通过在 Jupyter 上使用 PySpark ,可以将作业运行到Serverless Spark上;对于有周期性执行的作业,也可以借助 Apache Airflow 对作业进行调度。同时,考虑到机器学习模型构建、迭代训练、指标检测、部署等基本环节,我们也在探索 MLOps ,目前已概念验证通过OSS+MLflow+Serverless Spark

Hudi Lake 数据入湖(批流一体)

query = (df.writeStream.outputMode("append").options(**hudi_options).format("hudi").option("path", table_oss_path).option("checkpointLocation", streaming_checkpoint_location).trigger(availableNow=True).start()
)

湖表管理

Compaction & Z-Ordering

通过Spark Streaming实时的将数据写入到Hudi湖存储上能够提升数据的新鲜度,但同时也产生大量的小文件影响下游系统的查询性能。另外,对于查询模式相对固定的Hudi表,我们也通过Z-Order来优化数据布局,再借助Data-Skipping能力能够进一步提高查询性能。同时由于Z-Order使得局部数据结构相似,也使得以Parquet格式存储时有更大的压缩效果,降低了存储成本。

美的楼宇客户IoT数据以天为维度进行分区管理,数据实时注入到特定的天级分区内,因此我们通过EMR Serverless Spark产品以T+1的方式对T分区内的数据进行带有Z-Order的Compaction实现了高效的Hudi表的文件管理,有效的提升了查询性能。

call run_clustering(table => '{db_name}.{table_name}',op => 'scheduleAndExecute',order => 'device_id',order_strategy => 'z-order',predicate => '({predicate})',show_involved_partition => false,options => "{options}"
);
Clean

Hudi Lake支持事务提交提供了多版本、TimeTravel等丰富的功能,但也使得历史的过期的文件依然保留在文件系统中造成存储的浪费。我们也基于EMR Serverless Spark实现了天级调度Clean作业来定期清除不需要的数据文件,避免存储资源浪费。

总结与展望

我们基于阿里云 EMR Serverless Spark技术栈快速构建了 IoT 数据处理平台,Serverless Spark全托管免运维、自研 Fusion 引擎,内置高性能向量化计算和 RSS 能力,相比开源版本3倍以上的性能优势以及计算/存储分离的架构,为我们节省了总体成本。同时,EMR Serverless Spark自身提供的丰富特性,也极大提升了我们数据团队的生产力,为数据分析业务的快速开展交付奠定了基础。未来,美的楼宇科技希望与阿里云 EMR 团队针对 IoT 场景输出更多行业先进解决方案。

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

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

相关文章

2025asp.net全栈技术开发学习路线图

2025年技术亮点‌: Blazor已全面支持WebAssembly 2.0标准 .NET 8版本原生集成AI模型部署能力 Azure Kubernetes服务实现智能自动扩缩容 EF Core新增向量数据库支持特性 ‌ASP.NET 全栈开发关键技术说明(2025年视角)‌ 以下技术分类基于现…

Linux设备驱动-练习

练习要求: 一、设备树 1、配置设备树信息:将3个led灯和1个风扇使用到的设备信息配置到设备树中 二、设备驱动层 1、通过of_find_node_by_name、of_get_named_gpion等内核核心层统一的api接口调用外设; 2、通过udev设备管理器自动注册并创建设…

竞争与冒险问题【数电速通】

时序逻辑电路: 组合逻辑电路中的竞争与冒险问题: 在组合逻辑电路中,竞争和冒险是两种常见的时序问题,它们通常由电路的延时特性和不完美的设计引起。下面是这两种现象的详细解释: 1. 竞争(Race Condition&…

Microsoft 365 Copilot中使用人数最多的是哪些应用

今天在浏览Microsoft 365 admin center时发现,copilot会自动整理过去30天内所有用户使用copilot的概况: 直接把这个图丢给copilot让它去分析,结果如下: 总用户情况 总用户数在各应用中均为 561 人,说明此次统计的样本…

ue5.2.1 quixel brideg显示asset not available in uAsset format

我从未见过如此傻x的bug,在ue5.2.1上通过内置quixel下载资源显示 asset not available in uAsset format 解决办法:将ue更新到最新版本,通过fab进入商场选择资源后add to my library 点击view in launcher打开epic launcher,就可…

Spring面试题2

1、compareable和compactor区别 定义与包位置:Comparable是一个接口,位于java.lang包,需要类去实现接口;而Compactor是一个外部比较器,位于java.util包 用法:Comparable只需要实现int compareTo(T o) 方法,比较当前对…

JUC并发—9.并发安全集合四

大纲 1.并发安全的数组列表CopyOnWriteArrayList 2.并发安全的链表队列ConcurrentLinkedQueue 3.并发编程中的阻塞队列概述 4.JUC的各种阻塞队列介绍 5.LinkedBlockingQueue的具体实现原理 6.基于两个队列实现的集群同步机制 4.JUC的各种阻塞队列介绍 (1)基于数组的阻塞…

vue项目启动时报错:error:0308010C:digital envelope routines::unsupported

此错误与 Node.js 的加密模块有关,特别是在使用 OpenSSL 3.0 及以上版本时。Vue 项目在启动时可能会依赖一些旧的加密算法,而这些算法在 OpenSSL 3.0 中默认被禁用,导致 error:0308010C:digital envelope routines::unsupported 错误。 解决…

ncDLRES:一种基于动态LSTM和ResNet的非编码RNA家族预测新方法

现有的计算方法主要分为两类:第一类是通过学习序列或二级结构的特征来预测ncRNAs家族,另一类是通过同源序列之间的比对来预测ncRNAs家族。在第一类中,一些方法通过学习预测的二级结构特征来预测ncRNAs家族。二级结构预测的不准确性可能会导致…

爱普生 SG-8101CE 可编程晶振在笔记本电脑的应用

在笔记本电脑的精密架构中,每一个微小的元件都如同精密仪器中的齿轮,虽小却对整体性能起着关键作用。如今的笔记本电脑早已不再局限于简单的办公用途,其功能愈发丰富多样。从日常轻松的文字处理、网页浏览,到专业领域中对图形处理…

SPRING10_getBean源码详细解读、流程图

文章目录 ①. getBean方法的入口-DefaultListableBeanFactory②. DefaultListableBeanFactory调用getBean③. 进入到doGetBean方法④. getSingleton三级缓存方法⑤. getSingleton()方法分析⑥. createBean创建对象方法⑦. 对象创建、属性赋值、初始化⑧. getBean最详细流程图 ①…

IDEA中查询Maven项目的依赖树

在Maven项目中,查看项目的依赖树是一个常见的需求,特别是当你需要了解项目中直接或间接依赖了哪些库及其版本时。你可以通过命令行使用Maven的dependency:tree插件来做到这一点。这个命令会列出项目中所有依赖的树状结构。 打开idea项目的终端&#xff…

windows 安装 stable diffusion

在windows上安装 stable diffusion,如果windows没有nvidia显卡,想只使用CPU可在webui-user.bat中添加命令 set COMMANDLINE_ARGS--no-half --skip-torch-cuda-test 可正常使用stable diffusion,但速度较慢

DeepSeek 助力 Vue 开发:打造丝滑的缩略图列表(Thumbnail List)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…

DeepSeek写俄罗斯方块手机小游戏

DeepSeek写俄罗斯方块手机小游戏 提问 根据提的要求,让DeepSeek整理的需求,进行提问,内容如下: 请生成一个包含以下功能的可运行移动端俄罗斯方块H5文件: 核心功能要求 原生JavaScript实现,适配手机屏幕 …

百问网(100ask)的IMX6ULL开发板的以太网控制器(MAC)与物理层(PHY)芯片(LAN8720A)连接的原理图分析(包含各引脚说明以及工作原理)

前言 本博文承接博文 https://blog.csdn.net/wenhao_ir/article/details/145663029 。 本博文和博文 https://blog.csdn.net/wenhao_ir/article/details/145663029 的目录是找出百问网(100ask)的IMX6ULL开发板与NXP官方提供的公板MCIMX6ULL-EVK(imx6ull14x14evk)在以太网硬件…

QT开发技术 【opencv图片裁剪,平均哈希相似度判断,以及获取游戏窗口图片】

一、图片裁剪 int CJSAutoWidget::GetHouseNo(cv::Mat matMap) {cv::imwrite(m_strPath "/Data/map.png", matMap);for (int i 0; i < 4; i){for (int j 0; j < 6; j){// 计算当前子区域的矩形cv::Rect roi(j * 20, i * 17, 20, 17);// 提取子区域cv::Mat …

TiDB 是一个分布式 NewSQL 数据库

TiDB 是一个分布式 NewSQL 数据库。它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议&#xff0c;具有数据强一致的高可用特性&#xff0c;是一个不仅适合 OLTP 场景还适合 OLAP 场景的混合数据库。 TiDB是 PingCAP公司自主设计、研发的开源分布式关系型数据…

mysql 学习15 SQL优化,插入数据优化,主键优化,order by优化,group by 优化,limit 优化,count 优化,update 优化

插入数据优化&#xff0c; insert 优化&#xff0c; 批量插入&#xff08;一次不超过1000条&#xff09; 手动提交事务 主键顺序插入 load 从本地一次插入大批量数据&#xff0c; 登陆时 mysql --local-infile -u root -p load data local infile /root/sql1.log into table tb…