2023 IoTDB Summit:湖南大唐先一科技有限公司主任架构师舒畅《IoTDB 在发电领域的应用实践》...

12 月 3 日,2023 IoTDB 用户大会在北京成功举行,收获强烈反响。本次峰会汇集了超 20 位大咖嘉宾带来工业互联网行业、技术、应用方向的精彩议题,多位学术泰斗、企业代表、开发者,深度分享了工业物联网时序数据库 IoTDB 的技术创新、应用效果,与各行业标杆用户的落地实践、解决方案,并共同探讨时序数据管理领域的行业趋势。

我们邀请到湖南大唐先一科技有限公司主任架构师舒畅参加此次大会,并做主题报告——《IoTDB 在发电领域的应用实践》。以下为内容全文。

目录

大唐先一智慧电厂业务概况

大唐先一物联网平台架构

IoTDB 在发电领域场景的实践

大唐先一物联网平台未来能力展望

各位来宾下午好,我是大唐先一的舒畅,很高兴来到 2023 年 IoTDB 的用户大会。我们跟清华、跟 IoTDB 结缘,我回想起来大概是 2019 年,当时我们在做一个国家能源的项目,相当于要把各个电厂或者其他的节能环保的数据要上传到我们的云平台上去。当时在场站端需要有一个嵌入式的物联网平台,我们做了很多选型,后面找到乔(嘉林)博士,双方合作,这个项目在当时应该是做得非常快,也是做得比较成功的一个项目。后来断断续续,我们又在来往,以及在其他的一些行业领域也做了很多合作。我今天上午也听了各个专家的汇报,以及刚才听了 IoTDB 用户的汇报,感觉我们当时的选择应该说是很正确的,我们不是一个人在独行,感觉这个生态是越做越大了

今天到这里来,主要是给大家汇报几方面:第一就是我们大唐先一本身的智慧电厂的业务情况,以及我们现在基于 IoTDB 构建的物联网平台的架构。然后因为 IoTDB 在大唐应用场景很多,我就选择了一个比较典型的场景给大家分享一下。最后的话就是对 IoTDB 以及先一的物联网平台的未来展望,我其实上午听了一下王(建民)院长,还有乔(嘉林)博士的一些发言,所以也得到了一些答复。

01

大唐先一智慧电厂业务概况

先一公司是 2004 年成立的,是大唐集团下面的全资二级子公司,目前是在长沙。基本上整个大唐的信息化业务都是由先一公司来承接。

2696e513ab1116d420e00e7d783db19f.png

整个公司的主营业务主要有几块,刚才我也稍微介绍了一下,一个是从事电网方面的业务,还有发电集团的一些业务,还有分子公司,以及目前的电力市场、综合能源、智慧电厂、通用产品相关的一些业务。

8e853835305b597beb4ab46db4dc91d1.png

整个先一公司在发电侧,我们主要是在分子公司,以及我们大唐下面的几十家发电企业,以及集团外的一些企业进行合作。厂网协调的话,主要是我们在电厂与电网之间的一些项目合作。再就是电网侧,我们也做比如态势感知、安全隔离网闸等等一些装置和设备。此外,电力市场这一块我们也在布局,包括我们整个集团的电力现有市场,以及集团外的很多电力市场,项目也在逐步展开。并且目前还在布局智慧智能化,包括智慧园区、智慧电厂、智慧热网等等方面的一些业务。

bb92c3ec66cbcb295845caa6b6c119a2.png

为什么要讲智慧电厂呢?因为我们公司成立于 2004 年,这二十几年我们的主营重点是在能源行业,而且能源行业里面重点在发电这一块,所以我们在发电行业里面耕耘了二十几年,对智慧电厂这一块还是有非常多的积累。从最早的 90 年代的自动化,到 2000 年的信息化,以及到现在的智能、智慧化,目前也有很多的企业在做智慧电厂。可能有的企业是做数据行业的,认为数据治理就是信息化的、智慧化的电厂所要具备的;有些做三维的、虚拟化的企业,就认为他是做智慧电厂的,但是对于这一块,我们先一公司有自己的一些见解。

639b76797fdcfa38527940ac1d26e9f6.png

我们认为智慧电厂主要是利用现在云端、物联的一些工具或者技术,使电厂能够实现自我感知、自我学习、自我适应,能够进行行为决策,并且重点是要与电网进行相互的协调。智慧电厂对客户来说的话,重点只有四点,就是安全、经济、环保、高效这四点。

afb4dd91cb0c80119fb8adbb6a22f855.png

智慧电厂这一块,我们主要是有几个目标。第一就是关于数据赋能,主要是要有一个统一的数据指标,首先就要包括数据感知和采集上来,这部分我们重点是会用时序数据库,目前主要是跟 IoTDB 结合比较紧密。第二就是安全方面,包括电厂的一些智能视频的应用、UWB 定位技术的应用,包括人工智能,人防+技防的一些应用。第三,因为在电厂里面主要有几大块,运行、燃料和设备,设备以前可能都是计划检修,现在可能会向状态检修进行转变。包括运行优化,我刚刚讲了。还有智能、智慧的决策,决策的话主要目标还是走向数据驱动。

5458b8dd31c3030c3fa83ba2cf330f30.png

这个是我们公司智慧电厂的一个技术架构图。在基础设施这一块,因为我们涉及的最底层是基础设施,主要是一些智能设备和电力设备。通过泛在感知网到上面这一层,包括云计算、大数据和物联网组成的数字化管控平台智慧化应用部分我们大概是分为几个,从电厂初期的基建,到它的安全、运行、检修,以及燃料、物资,和经营、办公,覆盖整个电厂的全方面、全过程。最上面是做智慧决策的架构。

d33f93ae3c9beaf390ce511884aeceec.png

02

大唐先一物联网平台架构

其实我们先一公司也有自己的物联网平台,我们的物联网平台主要是基于我们的工业互联网平台研制的。目前我们主要是解决几个问题,一个是数据采集的问题,也就是数据接入的问题,就是可以支持多种数据协议的接入,比如说 IEC 103、IEC 104、ModBus 等等协议的接入。采集问题解决以后,就是存储问题,存储的话主要是边缘端的存储,以及我们在云端的存储,这一块主要利用我们的时序数据库来实现。再有就是数据的分析以及展示的功能

2e0396871e6ebba233ad6bf4f34389f4.png

那么基于我们整个的工业物联网平台,这是我们整体的架构图。我们可以看到它也是分为云、边、物这几端,在最上面可以看到,我们主要是通过标准的 MQTT 协议,对外提供信息交互,也对外提供标准的 API 的交互和视频服务的交互,以及我们的物模型也会进行一些交互,进行物模型的管理。考虑到这个过程当中,因为我们现在也有很多分析型的或智能化的应用,分别会上升到分公司或者集团,所以会把一些 App 和智能化的应用放到分公司,并让分公司或者集团能够下发到边缘的厂侧,使其采集侧能够进行一些智能、智慧化的应用

e6b602181e002b426b049ae7566dc9d7.png

基于这整个物联网的框架,我们也会有一些终端以及边缘类的 App 的积累。目前我们大概是分了几个板块,包括边缘采集板块,这里面我刚刚讲了一下,主要是包括 IEC 104、Modbus、西门子等等这些协议类型。还有一种就是智能安防类型的,智能安防类型目前主要是针对视频、门禁、定位、语音播报类的。还有燃料类型的,就是采样机、衡器等等这些类型。整个 App 的应用是可扩展性的。

8d980795bffe845fb0461d1066e78156.png

这个就是我们做的智能安防的 App 应用,目前其他的公司,包括海康或者其他的互联网公司它也做了这些,但是我们的优势主要是在于适配电厂的环境。因为有很多电厂特有的智能分析,比如说佩戴安全帽、穿短袖等等检测。其他公司的这些 App 应用到电厂线上,其实不一定拿过来就可以马上用,根据电厂不同的情况,或者它的环境,都要重新来做一些训练。而我们针对电厂环境是已经做了完整的训练,可以直接使用的。

9cb48744faf97d61c167ea4a41fb07f7.png

这个是我们基于物联网平台、AI、以及微服务,开发的一个智慧监盘的系统。其实我们也知道,现在有很多公司在汽车领域推自动驾驶,是吧?还有一些辅助驾驶功能。那么在电厂,我们在监盘这一块对所有的系统、设备,总公司搭建了一共有 96 个,差不多 100 个模型,通过这些模型从系统,到整个机组,再到整个电厂,能对它的健康状态进行分析,能指导我们的运行人员和值班人员很好地进行监视、监控。

8eee44eabafcc02abd3830291121a442.png

这个是我们在智慧燃料的其中一个应用。刚才我也稍微介绍了一下,目前我们对火车采样、汽车采样、皮带采样汇聚上去以后,包括安防系统的数据,通过我们的物联网平台采集完了、上传上去,可以再做更上层的一些应用。对于应用层级的开发,它不需要关心后端的采集、存储等等这些功能,它只要关心它的业务处理就可以了。

f55cf813b7ba2f98ed80d2dfee15bf2c.png

这是我们整个的物模型,主要是跟人工智能以及数据分析相关的。刚才讲了,我们已经建立了大量的物模型,跟我们底层的数据中台进行结合以后,为我们的设备诊断、SIS 应用,以及我们的燃料应用、指标分析的继续融合提供赋能

dbe06fb2619727c7269cba7567643f57.png

03

IoTDB 在发电领域场景的实践

下面我介绍一下 IoTDB 在我们发电领域场景的实践。因为 IoTDB 在我们大唐的实践很多,我就选了一个比较有特色的给大家讲一下。

这个是在我们某个分公司,它要做一个数字化生产运营系统。大家也知道,现在很多风机、光伏都在比较偏远的地方,目前基本上都是接到分子公司来做集中的控制,这是其中一块。第二块,我们还有在光伏或者风机通过无人机进行巡检,巡检的数据在边缘处理以后,也要汇聚到分子公司或者集团。第三就是通过这些汇聚的数据,我们要做一些设备的诊断或者预测,再针对所有的这些数据做智能调度,我刚刚讲到了,这一块很重要,跟现货交易也息息相关。

也就是说,当我们要在这个分公司做这些,比如说集中生产管理,包括全面感知,包括预测,包括整个的调度与计划,这里面都会涉及到数据的采集和存储。那么电网的数据采集和存储,可能相对传统的其他行业还是有一些复杂性,或者安全等级要求会更高,下面我详细给大家介绍一下。

e2a8f6215944dbd48dc26aa6c23fc9f3.png

我把其中的一个数据流程架构给大家分享一下。目前公司的实时数据中心是基于 IoTDB 1.2 版本来进行搭建的,当前接入的大概有 20 多家火电厂,共计有 42 台火电机组,每台火电机组接入的点数大概是 2 万点;还有 3 家水电,共计 18 台水电机组;还有 8 个风场,共计 400 多台风机的数据接入;以及 20 多个光伏电站,有 1800 多台逆变器的数据,都需要在这个分支公司进行监视,并且要做到智能分析,也就是我讲的,要把这个数据汇聚到我们的分支公司,实现刚才上面的四种应用。

那么我们基于 IoTDB 这个产品,是怎么来进行架构的?首先在电厂这一块,我们通常会分为一区、二区、三区,每个区之间都会有隔离装置,隔离装置也有很多种方式,有单向隔离、双向隔离,而且很多大区安全等级非常高,比如可能一区到二区之间就是一个单向隔离。那么我们首先从一区的 DCS,通过采集服务把数据汇聚到二区,为了保证系统的可靠性,我们是通过 IoTDB 本身的功能做了一个双活。再通过数据库网闸,这个数据库网闸跟刚才的文件网闸还不一样,把二区的数据再通过数据库网闸,同步到三区的 IoTDB 数据库。这里面会涉及到当二区的数据产生实时变化,那三区的数据也要马上有变化,而且不能够丢数据。所以这里面我们就用了很多 IoTDB 提供的办法,比如说上午乔博士讲的 TsFile 文件方式的同步,还有协议方式的同步,对网闸做一些改造,能够同步数据文件到三区。

最后由于有很多电厂,它的三区的数据还要同步到分子公司的三区,这一块我们主要是通过数据消息队列,通过 Kafka,同步到 Kafka 里面。在分子公司我们接了 3 台服务器的 IoTDB 集群,通过这个 IoTDB 集群,我们可以对外提供相关的服务,有 C++ 的,有 Web API 的等等,最终为我们的实时系统、SIS 系统、大数据平台进行服务。这里面涉及的总数据量是非常大的,因此我们在这个项目过程当中碰到很多挑战,最终和清华的团队一步一步把它们解决掉了

860b14f2da6c758bac647e2eadd3fda4.png

那有一些什么样的挑战呢?第一,在所有的电厂这一侧,要写到分公司的这一侧,我刚刚讲了,数据是要直接写到 Kafka 进行消费,且在 Kafka 的消费过程中,不能够有数据堆积的情况。所有的电厂我们已经做了一个统计,每秒钟大概有 500 万点数据要实时地写入到 IoTDB,也就是写入到我们的 Kafka 队列,在我们上层的 Kafka 队列的消费者要直接消费到 IoTDB 里面去。在消费的同时,因为还有很多 AI 平台的数据,要从 IoTDB 的数据库里取数,也就是说不光是要不停地写数据,而且要不停地读数据,因为要支持分析需求。整个过程都要能够在秒级进行处理,不能够出现数据丢失或者是错误的数据。我们未来在厂级基本上就会很少再部署这个监控系统,都会在集团侧,或者分公司这一侧来进行部署,所以对这个数据的实时性要求是非常高的。

第二个就是实时数据与历史数据要断点续传,要同步地高效写入。这个也是在电厂或者我们在现场碰到的情况,对我们这个行业来说,这是很正常的。一个风机或者是一个电厂,它并不能保证它的数据就是实时的、不间断的,网络是完好的进行传输,它有可能会断。但是对于上层的客户来说,他的业务需求是不仅要马上看到实时的数据,也要马上看到历史数据。那么历史数据和实时数据就要同步上传,这里面就会突然之间产生一个很大的峰值,会在 Kafka 里面形成大量的堆积。所以对 IoTDB 来说,同时进行顺序数据,即正常时间点的数据写入,以及历史乱序数据点的写入,是一个非常大的挑战。我们考察了很多市面上的数据库,可能按照正常的时序点去写或读,它的效率很高,但是当你又要写历史数据,又要写实时数据,其实很多时序数据库是达不到 IoTDB 这种性能的。目前我们在分公司做了测试,如果说我们的网络数据断了 6 个小时,大概会堆积 500 万点的数据,每个点有 4320 个点值,在网络恢复的同时又要写实时,又要将历史数据进行上传,目前 IoTDB 能够在 2 个小时左右把我们的数据恢复,能够全部写完,历史数据能够追上实时数据,能够两边进行同步。

第三个挑战就是,怎么从安全一区到安全二区到安全三区,跨网闸直接同步。目前我们在现场碰到过的情况是,电厂的二区镜像到三区的历史数据库,在电厂环境下也有可能发生网络中断的情况,各式各样都有,有可能是网闸故障,也有可能是网络确实出现问题。这种情况下也要进行补录,并且根据我们的要求可能需要并发 10 个线程进行写入,每个线程大概 2 万点,共计大概是 20 万点,也要能够快速地在两个小时之间把这个数据处理完。而且每个电厂用的网闸可能还不一样,有的可能是文件型的光闸或网闸,有的是数据库同步型的网闸,还有协议集成 API 服务的网闸,所以根据不同的情况,IoTDB 都要去适应。当时我们选型也是考虑到 IoTDB 的灵活性,所以想要通过 IoTDB 去做跨网闸同步

以上是我们项目的需求。

91fcc1b0523c836cec57c2d30b261f1f.png

我们这个项目现在已经上线了,做完以后的情况是什么样子,给大家也分享一下。目前我们在实时写入的单场景,并发线程有两种,一个是 45 个线程并发,一个是 38 个线程并发。大家可以从图上看到,这样的线程数运行时间大概是 30 分钟,它的事务响应时间基本在 1 秒钟之内,并且在消费端,平均 16.2 条消息/秒的数据响应是没有一点问题的

在我刚刚讲到的,断点续传补历史数据的情况下,就是同时在消费实时数据和历史数据的过程当中,断 6 个小时,500 万点的情况下,目前这 6 个小时的堆积数据和实时数据同步出来,大概需要 1 小时 46 分能够写完,这个可能也跟我们的服务器配置相关。

第三个就是关于读实时数据。读实时这块性能还是比较高,因为这个不是一个综合性的场景。再来就是数据同步的过程,刚刚讲了,线程中的每秒钟同步,要跨网闸,要使用列式文件,要通过网闸传输文件,最后再写入时序数据库,整个消费的过程,IoTDB 完全满足要求

最后,表中的第七个就是分公司的综合场景的应用。分公司综合场景刚刚提到,不光是在写实时数据,同时还要读实时、读历史、补历史数据等等,因为这里面有的可能是给 AI 服务中台提供服务,有的是给企业的用户消费提供服务。目前整个这一块在写、读实时数据 500 万点条件下,也是在秒级以内能够满足要求,厂级数据大概也是在秒级左右。可能某些地方还有一些错误,我们自己还在调试。在大量历史数据同步的过程当中,因为我们的数据量非常大,也会对每个数据做校验,就发现有些数据还是有些问题。这个我们自己也在找原因,后续也会给清华这边分析一下,可能也要帮我们分析一下到底是哪方面原因。

这个就是现场的成果。

6c1fb1ca6e4edcbac9acfbadc3060d20.png

04

大唐先一物联网平台未来能力展望

第四个部分就是关于大唐物联网平台未来的展望。这一块其实今天上午也听了一下王老师、乔老师,还有其他老师的一些汇报,我们也在想这些内容,因为我们的物联网平台从采集到存储都已经有了,那么我们现在也在考虑 AI。目前我们的 AI 和物联网平台是要做一个设计的转换,如果未来 IoTDB 本身内置有机器学习算法或者推理平台,对于我们来说,我们的技术架构可能会更加简洁,可靠性也会更高。因为我们现在做的话,可能是需要把数据转到另外的数据库、大数据平台做一些分析,是这么一个过程,还是更繁琐的。包括上午龙(明盛)教授讲的,关于建立整个时序的、基于设备的大模型,我觉得这个非常好,我们未来也可以与 AI 这方面结合起来,我们也愿意做第一个吃螃蟹的

41eb003187b55dd0fbc83ae7d4b35b7e.png

另外我们的物联网平台,现在也想基于工业领域、智慧电厂这一块,向其他的领域做一些推广,也期待着未来跟清华、跟 IoTDB 有更深度的合作。谢谢大家!

53b794d03a16eb61737adb453ed3962d.png

可加欧欧获取大会相关PPT

微信号:apache_iotdb

90be7aea027e424778276855ed8c364d.gif

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

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

相关文章

Deepin_Ubuntu_查看树形目录结构(tree)

Linux系统(Deepin、Ubuntu)中,可以使用tree命令来查看树形目录结构,下面是一些示例: 查看当前目录的树形结构: tree查看指定目录的树形结构,例如/etc/X11/fonts目录: tree /etc/X…

PSoc62™开发板之i2c通信

实验目的 使用模拟i2c接口读取温湿度气压模块BME280数据 实验准备 PSoc62™开发板温湿度气压模块BME280公母头杜邦线 板载资源 本次实验是通过模拟i2c时序的方式来进行通信,理论上可以有非常多的方式配置i2c引脚,不像硬件i2c那样芯片出厂引脚已经固…

C# Cad2016二次开发选择csv导入信息(七)

//选择csv导入信息 [CommandMethod("setdata")] //本程序在AutoCAD的快捷命令是"DLLLOAD" public void setdata() {Microsoft.Win32.OpenFileDialog dlg new Microsoft.Win32.OpenFileDialog();dlg.DefaultExt ".csv";// Display OpenFileDial…

1.php开发-个人博客项目文章功能显示数据库操作数据接收

(2022-day12) #知识点 1-php入门,语法,提交 2-mysql 3-HTMLcss ​ 演示案例 博客-文章阅读功能初步实现 实现功能: 前端文章导航,点入内容显示,更改ID显示不同内容 实现步骤&#xff1…

idea 连接docker

idea 连接docker步骤 services --> docker connection --->tcp://192.168.21.128:2375 修改docker配置 vi /usr/lib/systemd/system/docker.service 在ExecStart/usr/bin/dockerd -H fd:// --containerd/run/containerd/containerd.sock 后面加上 -H tcp://0.0.0.0:23…

matlab多元线性回归

1.matlab多元回归示例如下: 解决问题:油价预测 方法:多元线性回归 实现:matlab regress()函数 技巧:通过增加X1^2,X2^2,或者X1*X2等构造的特征项,可以提高回归模型的拟合准确度&…

CMake 实战构建TcpServer项目 静态库/动态库

爱编程的大丙CMake: 20. 举例 - 下_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV14s4y1g7Zj?p20&spm_id_frompageDriver&vd_sourcea934d7fc6f47698a29dac90a922ba5a3 hehedalinux:~/Linux/LinuxServerCpp$ ls Buffer.cpp Log.h Buffe…

RK3566 linux加入uvc app

SDK中external/uvc_app/目录提供了将板卡模拟成uvc camera的功能。 一、buildroot使能uvc_app 1、进入到buildroot目录 在sdk目录下执行以下命令: cd buildroot 2、选择defconfig 执行命令: source build/envsetup.sh 输入数字然后回车选择板卡&…

qt学习:实战 读取txt文件+定时器点名

目录 目标 步骤 头文件 配置ui界面 在.h里定义槽函数和字符串链表和定时器指针 在构造函数里读取txt文件并初始化定时器 开始按钮点击函数 开始定时器 停止按钮点击函数 关闭定时器 定时器槽函数 目标 两个按钮,一个开始点名,一个停止点名一个…

我在代码随想录|写代码Day10之双指针19. 删除链表的倒数第 N 个结点,面试题 02.07. 链表相交,142. 环形链表 II

博主介绍: 27dCnc 专题 : 数据结构帮助小白快速入门 👍👍👍👍👍👍👍👍👍👍👍👍 ☆*: .。. o(≧▽≦)o .。.:*☆ …

UVa1318/LA2797 Monster Trap

题目链接 本题是2003年ICPC亚洲区域赛会津(日本)赛区的H题 题意 给出一些线段障碍,你的任务是判断怪物能否逃到无穷远处。如下图所示,左图无法逃出,右图的可以逃出。 输入包含多组数据。每组数据第一行为整数n(1≤n≤100&#xf…

[C#]C# winform部署yolov8目标检测的openvino模型

【官方框架地址】 https://github.com/ultralytics/ultralytics 【openvino介绍】 OpenVINO(Open Visual Inference & Neural Network Optimization)是由Intel推出的,用于加速深度学习模型推理的工具套件。它旨在提高计算机视觉和深度学…

【漏洞复现】Hikvision SPON IP网络对讲广播系统命令执行漏洞(CVE-2023-6895)

文章目录 前言声明一、系统简介二、漏洞描述三、影响版本四、漏洞复现五、修复建议 前言 Hikvision Intercom Broadcasting System是中国海康威视(Hikvision)公司的一个对讲广播系统。 声明 请勿利用文章内的相关技术从事非法测试,由于传播…

C++PythonC# 三语言OpenCV从零开发(2):教程选择

文章目录 相关专栏前言视频教学和官方文档视频教程OpenCV 官方教程最终选择我的最终选择 相关专栏 C&Python&Csharp in OpenCV 前言 OpenCV 有官方的教程和简单的视频教程: OpenCV 官方教程 B站也有相关的视频教学 OpenCV4 C 快速入门视频30讲 - 系列合集 …

AI短视频制作:创意与技术的完美结合

文章目录 一、充分了解AI技术的应用范围和优势二、创意策划,确定作品主题和风格三、素材收集,丰富作品内容四、特效制作,提升作品视觉效果五、配音处理,增强作品表现力六、作品发布,扩大作品传播范围《AI短视频制作一本…

关于大模型学习中遇到的3

来源:网络 Embedding模型 随着大型语言模型的发展,以ChatGPT为首,涌现了诸如ChatPDF、BingGPT、NotionAI等多种多样的应用。公众大量地将目光聚焦于生成模型的进展之快,却少有关注支撑许多大型语言模型应用落地的必不可少的Embed…

React16源码: React中的renderRoot的源码实现

renderRoot 1 )概述 renderRoot 是一个非常复杂的方法这个方法里处理很多各种各样的逻辑, 它主要的工作内容是什么?A. 它调用 workLoop 进行循环单元更新 遍历整个 Fiber Tree,把每一个组件或者 dom 节点对应的Fiber 节点拿出来单一的进行更…

RabbitMQ入门篇【图文并茂,超级详细】

🥳🥳Welcome 的Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Docker的相关操作吧 目录 🥳🥳Welcome 的Huihuis Code World ! !🥳🥳 前言 1.什么是MQ 2.理解MQ 3.生活…

去掉element-ui的el-table的所有边框+表头+背景颜色

实例: 1.去掉table表头(加上:show-header"false") <el-table:data"tableData":show-header"false"style"width: 100%"> </el-table> 2.去掉table所有边框 ::v-deep .el-table--border th.el-table__cell, ::v-deep .el…

Git教程学习:05 撤销操作

文章目录 1 撤销操作2 取消暂存的文件3 撤销对文件的修改 1 撤销操作 这里&#xff0c;我们将会学习几个撤销基本工具。 注意&#xff0c;有些撤销操作是不可逆的。 这是在使用 Git 的过程中&#xff0c;会因为操作失误而导致之前的工作丢失的少有的几个地方之一。 有时候我们…