2023 IoTDB Summit:天谋科技 CTO 乔嘉林《IoTDB 企业版 V1.3: 时序数据管理一站式解决方案》...

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

我们邀请到天谋科技联合创始人、CTO 乔嘉林参加此次大会,并做主题报告——《IoTDB 企业版 V1.3:时序数据管理一站式解决方案》。以下为内容全文。

大家好,我是乔嘉林。今天很荣幸能够和大家在这里分享我们 IoTDB 的企业版 V1.3。经过了 2023 年的打磨,我们从去年的 12.3 大会发布的分布式 1.0 版本开始,现在已经迭代了三个大的版本,在 IoTDB 的功能和性能,以及稳定性方面都有了大幅的提升。

那首先我们可以来看几个数字。在 2023 年一年的时间里面,我们一共更新了 80 多万行的代码,并且在开源的 GitHub Star 增幅了 57%。现在,Apache 基金会已经有 360 多个项目了,在这 360 多个项目里边,IoTDB 的活跃度从去年的第 7 名成长到了第 2 名。那一个更直观的效果也可以看到,在各个渠道的 IoTDB 的版本下载量已经达到了 10 倍以上的增长

f4dfbaad0e8a0915a7ac1a916e192030.png

进步不仅是在代码和功能层面,也会体现在用户的选择上面。那现在 IoTDB 已经在我国的一些关键行业领域里面得到了广泛的应用。比如能源电力行业里面,我们有在华润电力,在中国核电,在大唐集团,有了深度的使用。那么在钢铁冶炼方面,我们有在宝武钢铁集团,在中冶赛迪集团,服务了国内的很多个钢厂、电厂。那么在航空航天方面,我们在商飞的飞机试飞场景,包括成飞的飞机制造场景,也有了落地的应用。

这样的场景有的是在今年选择了新建的平台,那这样的话就是在各个的时序数据库类里面,进行了广泛的选型,最终定下了 IoTDB。那么也有一种是去替换原有的系统,这种系统包括一些通用型的数据库,也包括以 PI 为代表的这种实时数据库,甚至以 InfluxDB 为代表的一些时序数据库等等。

那随着 IoTDB 的用户量逐渐的增加,我们的社区的技术交流群也达到了 300% 左右的增长量

19dff3b402c51f319d81abb088fd786f.png

那么用户在选型时序数据库的时候,主要都在关注哪些维度呢?第一个是国产自研。前段时间我给一个老教授去介绍,说我是做数据库的,他问我的第一个问题是:“你们是基于哪一个数据库做出来的?”确实,之前可能有不少的国内的厂商是基于一些开源的数据库,来去进行的产品的设计和改造。但是 IoTDB 选择另一条路,我们没有基于任何一个数据库去进行设计,而是从最底层的文件数据开始,一行一行把代码写起来,包括数据库的引擎,包括分布式的处理结构

我们经常说一句话,叫“要站在巨人的肩膀上去实现我们系统的设计”。那这里我认为在软件行业里面,其实应该是站在巨人思想的肩膀上面。而 IoTDB 想要从代码上从零开始做起,进行架构上的创新,这样的话我们才能够从架构层面进行全方位的超越,这样的话才能超越国外的这些竞品和数据库的厂商。那么也是得益于我们的这项坚持和选择,现在我们可以很荣幸地说,目前我们可以在我国的这些关键行业里面,提供一个国产的、更加安全的、而且性能更加优异的选择。

另外一个就是开源可信。那么 IoTDB 是 Apache 基金会里面唯一的时序数据库的顶级项目,那也得益于它 Apache 协议的这样一个稳定并且商业友好的开源协议,用友、华为、中冶赛迪等等,都在和 IoTDB 的开源社区一起合作,来去打造这个行业的特色的企业版本。

此外,IoTDB 也可以提供分布式的、高可用的服务,那也是唯一一个能够提供端边云架构的一个时序数据库。在性能方面,其实我们现在说用国产数据库,很多时候都在说,可能是不得已而采用国产的。但是我们希望使用 IoTDB 不仅仅是为了国产,更是为了更高效的性能体验。前段时间,我们和中核武汉的同事一起聊天,他们当时跟我说,在 2019 年去做时序数据库的选型的时候,去对比了国内外的 8 项数据库。那在性能方面,他当时的原话是:“IoTDB 的性能惊艳到我们了”,所以选择了 IoTDB 进入了中国核电的领域。

80aae3d589373aa661d650286dc4fe8e.png

此外,在今年的国际权威数据库的公开基准测试中,是一个国际的 benchANT 的榜单,我们在读写性能,包括压缩比,以及整体的资源消耗和成本方面都排名第一名。这样一个榜单,它使用的是时序数据库的基准测试,叫 TSBS,应该大家可能听过。这项测试其实是比较权威的一个测试工具,那 benchANT 他们采用的是这个工具,而且所有的竞品、所有的产品都选择同样的参数,以及同样的 AWS 的机器,并且是由 benchANT 的官方人员来执行的这个测试,所以这个 benchANT 榜单会更具有公平性和参考性。

891ea6123fffc9334659ef3d7783040c.png

那么过去,我们主要是以开源社区的方式来对用户提供的技术支持,但是随着 IoTDB 进入到了各行各业的核心的生产区域,那么纯社区的支持方式已经不太能满足用户的需求了。大家也对 IoTDB 提出了更高的期待,主要有以下几个方面:

第一个就是企业级的服务。因为数据库是一个非常复杂的系统软件,同一个业务需求,不同的方案它的效果和性能可能会相差几倍甚至几十倍。那么这种方案的选择可能会涉及到数据库的建模,包括读写接口的选择、SQL 怎么写、索引怎么建,甚至数据库前后的系统的对接,以及数据的整体的流转方案上面。那也因此,我们也需要提供一个更加全面的解决方案和技术支持。

第二个是易用性的工具。IoTDB 社区过去更多的沉迷在核心技术的迭代和创新上,其实对于易用性的工具稍显薄弱,但是往往这些易用性的工具能够很大程度上提升我们用户的使用体验和幸福感。所以我们接下来也会更多关注在易用性的工具的打磨上面。

第三点就是行业特色的功能。因为 IoTDB 社区它是作为一个上游的分支,需要支持工业的时序数据这样一个很通用的版本,所以我们会保持一个最简洁、最高效以及最通用的内核。那么对于行业的一些特色的需求,我们就会维护一些专业的版本来去提供支持。

f252a15ad20593e73f97acebf12c73b4.png

那为了做这件事情,我们就成立了 Timecho,中文叫天谋科技。三国演义里面有一句话,叫“谋事在人,成事在天”,主要强调的还是人努力之后,最终的结果还是取决于老天。但是我们把这句话的顺序给调整了一下,虽然“成事在天”,但是“谋事在人”,一切事在人为。未来,清华和开源社区会去继续进行技术的创新,而天谋则会围绕开源版进行产品的打磨,让技术创新不止停留在科研、论文,也要落地到祖国的大地上,落地到每一个用户的心里。

d5fe108a308d6205cbe23798462cfe5a.png

那么为了满足用户上面提到的这些期待,所以我们今年经过了打磨,正式推出了 IoTDB V1.3 的企业版,时序数据的一站式的管理解决方案

那这里的一站式主要体现在两个方面。第一个是 IoTDB 的横向维度,我们可以提供单个平台的采、存、算、管、用等全生命周期的基础服务组件。首先,最左边可以看到是一个数据采集协议,这里面 PLC4X 是 Apache 基金会目前的一个工业数据采集的顶级项目。那这个项目的主席,也就是 Chris,他也是 Apache 董事会的成员,今年也加入了天谋科技,这样为我们整体的这个生态的版图向前推进了一大步。那目前我们已经支持工业常见的数十种的采集协议。

中间就是 IoTDB 的这样一个数据库的核心软件了。IoTDB 首先具备多种部署模式,比如说我们在端侧,可能资源比较少的时候,我们就可以去部署一个单机版。那当我们资源有限,能提供两台服务器,但是也希望能够使用一个高可用的服务的时候,我们就可以提供一个双活版本。当我们对于扩展性和性能有更多的要求,可能三五个节点都不能满足了,需要几十个节点,这个时候我们就可以去部署一个真正的分布式的一个架构。

最右侧是我们基于 IoTDB 的这个数据处理分析能力,去支持了一些工具,那么到底 IoTDB 有哪些数据处理的能力呢?首先,在这些数据的管理之上,我们提供了数据的基础的查询,包括数据的处理,以及更加智能的分析。这些工具包括大屏的展示、数据的报表,以及模型训练、趋势分析、设备的监控、告警等等。基于这些工具,我们就可以很方便的把一个单个平台的 IoTDB 给搭建出来。

dee38d81ca539f6e10b0e0054dc46918.png

第二个是纵向维度,我们提供了一个端边云协同的这样一个能力。那我们一直在提 IoTDB 的架构是一个端边云协同的架构,那这样一个架构到底体现在什么方面呢?其实它的最核心的思想就是数据只被组织一次,而可以被多次使用

因为假如说我们要做一个这种分布式的一个集团的架构,我们可能需要在最底层把数据处理一遍,整理一遍。那么当它传到边侧、场侧的时候,可能数据又需要被写一遍,在云侧可能继续需要进行一遍处理。所以我们希望把这个数据或者处理的阶段整体就推到边侧,把所有的边侧的计算能力给利用起来,它处理一次之后,这个数据就可以直接被上传到云端,这样的话就能够大大的节省网络的消耗和接收端的 CPU 的消耗。所以 IoTDB 也是自 2013 年以来吧,时序数据库这个名词诞生之后,在这一批的同类产品里面,唯一一个具备这种数据文件高效同步的时序数据库的一个产品。

0458705d2529c6f3eb79a8d2a9e69984.png

这张是 IoTDB 的系统架构图。其中蓝色的框是开源版的一些通用功能,黄色的框是企业版的特有功能,其中覆盖了数据的采集,数据的存储,包括三种处理引擎,以及应用工具,还有系统的管理以及生态集成的多个维度的方面。其中会涉及到多种的工业协议的采集,以及网闸的穿透,以及多级存储和查询的视图等等

bcdc4b09c42d7b89d9e2f4fcca9d3ef3.png

那其中的亮点可以总结成:三个新的工具,两个新的引擎和一个新的项目

1c9cd90e8885e30b6ae9db8e32534cac.png

三个新的工具这里,我们分别在数据库的部署、调优和使用阶段分别推出了对应的工具,从而全方位地提升 IoTDB 的易用性

275b5e8c6946ca05841355117636969b.png

首先,因为 IoTDB 是一个分布式的架构,它的部署肯定需要涉及到多个节点的状态和服务的维护,会比单机更加复杂。因此我们开发了 IoTDB 的 OpsKit,它是一个 IoTDB 的集群管理工具。它的主要目的就是一句话:让所有的运维人员能够有时间来喝杯咖啡,所有的集群的部署、启动、停止都能够用一行命令来完成。在我们国内一个最大的集群规模的案例里面,我们有 96 个节点要去维护,那它的部署只需要 5 分钟,启动、停止和清理只需要几十秒,从而大大地解放了人力

44cd73cc415ef8fa5674be629ebd437d.png

那么我们现在做的这个工业互联网的领域,其实就是把机器设备装上传感器来采集它的时序数据,通过对这些数据的分析,反推这个设备到底需要哪些优化。那这个思想能不能用到 IoTDB 本身的演进上面呢?答案也是可以的。所以我们也针对这个思想开发了一个全面的系统监控工具,不仅对 IoTDB 本身内部的各个模块进行了很丰富的监控,同时我们也对数据的规模、数据的读写的请求,包括 IoTDB 所在服务器的这些资源进行全面的监控。那目前我们已经实现了 400 多项的这些监控项,经过调优之后,我们通常能够将一个系统的性能提升 2 到 10 倍以上。通过这种方式,我们让所有的细节都能够被分析,所有的异常都能够被解释。

72e4658f710f33e4c391f96ca072bb06.png

那在所有的计算机软件里面,我们说操作系统,它可以说是最底层的,最不被用户所接触到。但是操作系统现在每一个人都可以去用起来,这就得益于它的很良好的用户交互界面。那我们也是基于同样的思想,IoTDB 在数据库层面也提供了一个可视化的控制台,这样的话和 IoTDB 的交互就不再会像以前一样,我们去通过大黑框或者写代码的方式了。我们的目标是让所有 IoTDB 的功能能够被看到。

65d4301cf4f2a6ad32d268150dc00b7d.png

接下来是两个新的引擎。首先,中间是我们原来的查询计算引擎,这种引擎通常用户跟 IoTDB 的交互都是通过写一个 SQL 或者发一个命令过来,经过一些计算返回给用户,这种都是通过操作来去触发的。那我们希望这个数据处理的模式能够更加的丰富一些,所以我们向前扩展了流处理的引擎,这种引擎的处理方式是数据触发的,当数据到达的时候,就可以去做一些实时的处理。向后我们去增加了智能分析的引擎,它的这种方式是算法出发的,也就是我们会集成更丰富的一些数据处理的能力,从而在全方位的去挖掘数据的价值

886cdc6a6b5aefb941c44b57581e64bf.png

那首先,第一个是流处理的引擎。流处理引擎是一个 IoTDB 内置的、轻量化的、实时处理的一个框架。当数据接入的时候,就可以实时做一些异步的处理。这里包括 IoTDB 内部,我们可以做一些告警、预计算,包括一些统计、降采样等等的这些事情。在 IoTDB 之间,我们也可以利用这个功能去做数据库实例之间的数据同步,包括这种低延迟的、操作级的同步,以及高吞吐的、文件级的同步。在 IoTDB 的外部,我们可以将 IoTDB 和外部的系统进行一个打通,包括去做数据的备份,去做数据的订阅,以及数据的集成。所以通过流处理引擎,数据在 IoTDB 里面就不仅仅是一个静态的资产了,而是能够真正的流动起来。

066091d8ad56cd416a4f41e211a40d23.png

下一个是智能分析引擎。我们之前 IoTDB 有两类节点,第一类是数据库的管理节点,第二类是数据库的数据节点。那我们今年也增加了一个新的节点,叫 AINode,也就是智能分析节点。通过这种集成,使得一些智能的分析算法不再需要在外部去执行了,我们可以直接在数据库内部去做数据的分析,通过这种方式将数据和分析进行全面的打通,也就是现在说的 Data + AI 这样一个方向。

c943073a248a42898d46013515fdbd49.png

下面为大家介绍一个项目。这个项目是 IoTDB 项目的起点,它也是 IoTDB 的数据基座,也是 IoTDB 数据灵活迁移的一个秘诀。相信大家可能已经猜到这个项目是什么了,它就是 TsFile 项目

TsFile 的全称是 Time Series File,时间序列的文件格式。它的特点就是针对物联网时序数据,提供了它的管理和处理的语义。那也针对这种物联网时序数据的负载,我们优化了文件的写入、查询,包括存储、压缩比等等。在这些维度上面,我们会相比一些通用的文件结构,包括 Parquet、ORC、CSV 等等,能够有 2 到 10 倍以上的性能提升

909b3cc801b0f5321896254be1b20ef7.png

那么,TsFile 一直是 IoTDB 的一个内部的模块,为什么说 TsFile 是一个项目呢?第一个原因就是 TsFile 本身是提供一个文件级的 API 的,我们可以不用 IoTDB,直接把数据写成 TsFile,同时能够去读这个文件的数据的内容。第二个原因就是,在上个月的 Apache 董事会上面,TsFile 被正式投票通过了,成为了一个 Apache 的顶级项目,这也是标志着时序数据领域第二个 Apache 的顶级项目。所以 TsFile 现在有了新的项目名字,叫 Apache TsFile。那它的定位就是时序数据的一个标准的文件格式,就可以独立于 IoTDB,可以去直接使用,也可以和 IoTDB 形成一个生化反应

1923c2a95a5e4b2cdf4e694270bc4473.png

它的场景主要有两个,第一个是对数据处理系统,提供一个统一的数据文件格式。过去,我们可能在一个大的工业平台里面,会缺少一个专门管时序数据的文件,所以大家可能都去自己选择不同的文件格式来使用,包括 CSV、Parquet、txt,甚至一些厂家自定义的这种二进制的文件结构,那这些文件结构其实不太利于我们去做数据的统一的管控,以及数据的治理。现在有了 TsFile 之后,所有的时序数据就都可以写成 TsFile。我们可以提供一个标准的、统一的接口,那这个接口目前我们已经具备了 Java 和 C++ 版本,未来也会去扩展 Python 和 Rust 等版本。

再往后,TsFile 不仅可以统一这种数据文件层的数据管理,也可以在未来去集成不同的数据处理的系统。包括一些时序数据库可以直接利用 TsFile 来去做数据的读写和存储,也可以去交给这些数据仓库去做一些分析,包括利用数据处理的引擎,去做一些分布式的处理。这样的话,TsFile 可以放在一个分布式的文件系统里面,去提供一个直接的算法的读取

4f33a59f9290191c8390bbbbcd3a237e.png

另外一个场景就是 TsFile 可以和 IoTDB 形成一个即插即用的、存算分离的架构。这种方式当我们把数据源整理成一些 TsFile 文件之后,我们发现这些文件可能我们需要进行一个统一的管理,希望使用一个 SQL 去访问它们。那这个时候就可以把它们去加载到 IoTDB 里面,进入一个存储引擎。这种加载其实只需要构建最简单的一些索引,就可以对上层提供查询、分析的这些服务,也就实现了查询和分析的一体化

那我们也可以进一步把 IoTDB 中我们希望想要的这些数据,去给迁移出来,做一个导出。那这种导出不是像以前我们去导数据库的数据一样,去导成一个 CSV,或者导成一些 SQL,因为那种方式对于数据膨胀是非常大的。我们可以直接把数据库底层的 TsFile 给读取出来,通过这种方式我们就可以做灵活的数据迁移,数据的备份以及数据的分析

84eaf9ebb83c594411d20c903a946073.png

最后,我们分享一下我们的一个整体的目标愿景,就是坚持全自研,坚持面向用户需求,坚持每年都有创新性的突破,并且坚持成为物联网领域的强力基建

好,谢谢大家。

a02996f8e25148fcde0a2a18ce070e05.png

可加欧欧获取大会相关PPT

微信号:apache_iotdb

9d8cc3f168860beb9b09a42a406ea032.gif

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

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

相关文章

Rust开发⼲货集(1)--迭代器与消费器

本内容是对 Rust开发干货集[1] 的实践与扩展. iter() 不转移所有权 先简单解释下什么叫"转移所有权": 在 Rust 中,"转移所有权"(Ownership Transfer)是一种核心概念,它涉及变量和数据的所有权从一个实体转移…

2023.12.28 关于 Redis 数据类型 List 内部编码、应用场景

目录 List 编码方式 早期版本 现今版本 List 实际应用 多表之间的关联关系 消息队列 频道(多列表)消息队列 微博 Timeline 栈 & 队列 List 编码方式 早期版本 早期版本 List 类型的内部编码方式有两种 ziplist(压缩列表&#xf…

vscode: make sure you configure your user.name and user.email in git

一、问题描述 使用VScode编辑代码后,Push到云端报错:Make sure you configure your "user.name" and "user.email" in git 二、解决方案 解决步骤: 1.打开Git Bash: 2.输入命令: git config -…

ElasticSearch学习笔记(二)

通过前面的一阵胡乱操作,显然提升了我的学习兴趣,趁热打铁,接着往下学。还是先看看别人的教程吧。这里我看的是B站上【尚硅谷】的ElasticSearch教程,有兴趣的同学也可以去看看。 一、缘起–索引操作 看B站上的视频教程&#xff0…

命令模式-实例使用

未使用命令模式的UML 使用命令模式后的UML public abstract class Command {public abstract void execute(); }public class Invoker {private Command command;/*** 为功能键注入命令* param command*/public void setCommand(Command command) {this.command command;}/***…

数据库原理与应用快速复习(期末急救)

文章目录 第一章数据库系统概述数据、数据库、数据库管理系统、数据定义、数据组织、存储和管理、数据操纵功能、数据库系统的构成数据管理功能、数据库管理的3个阶段以及特点数据库的特点、共享、独立、DBMS数据控制功能数据库的特点 数据模型两类数据模型、逻辑模型主要包括什…

SVN下载安装(服务器与客户端)

1.下载 服务器下载:Download | VisualSVN Server 客户端下载:自行查找 2. 服务器安装 双击执行 运行 下一步 同意下一步 下一步 选中安装目录 3. 客户端安装 双击执行 下一步 4. 服务器创建仓库 5. 服务器创建用户 6. 客户端获取资源 文件夹右键

基于ssm的便民自行车管理系统的开发与实现+vue论文

摘 要 进入21世纪网络和计算机得到了飞速发展,并和生活进行了紧密的结合。目前,网络的运行速度以达到了千兆,覆盖范围更是深入到生活中的角角落落。这就促使管理系统的发展。管理系统可以实现远程处理事务,远程提交工作和随时追踪…

电路分析基础速成课笔记

基础知识 串并联,短路和断路 电源 例题: 电阻电路的等效变换 电压源串联 u u 1 u 2 uu_1u_2 uu1​u2​ 方向相同直接加,不同取决于大的方向 电流源并联 i i s 1 i s 2 ii_{s_1}i_{s_2} iis1​​is2​​ 电压源和电流源串联 省略电压…

通信原理课设(gec6818) 007:语音识别

目录 1、去科大讯飞官网下载对应的sdk 2、科大讯飞文件夹的意思 3、配置ARM的录音环境 4、编程实现语音识别 我们的需求是将一个语音文件从客户端传到服务器,因此我们最好是选用tcp 现在市面上面常用的语音识别解决方案为:科大讯飞c和百度c 离…

python+django高校教材共享管理系统PyCharm 项目

本中原工学院教材共享平台采用的数据库是mysql,使用nodejs技术开发。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。系统所要实现的功能分析,对于现在网络方便的管理&…

[计算机提升] Windows系统软件:管理类

3.6 系统软件:管理类 3.6.1 运行 通过运行程序,在打开输入框中输入名称,按下回车后可以打开相应的程序、文件夹、文档或Internet资源: 3.6.2 命令提示符:cmd 在Windows系统中,cmd是指"命令提示符…

HTML5+CSS3+JS小实例:过年3D烟花秀

实例:过年3D烟花秀 技术栈:HTML+CSS+JS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><…

【web安全】验证码识别-burp的captcha-killer-modified插件教程(基于百度接口)(总结一些坑)

前言 菜某分享 captcha-killer-modified插件的安装教程 整体安装教程可以看他的 安装captcha-killer-modified插件&#xff08;windospython环境&#xff09;_aptcha-killer-modified的安装-CSDN博客 但是有一点补充。 这个里面的codereg.py文件有个问题 可能是版本的问…

AI绘画工具Midjourney绘画提示词Prompt分享

一、Midjourney绘画工具 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭…

基于NXP I.MX8 + Codesys的工业软PLC解决方案

全新i.MX 8M Plus是一个混合人工智能SoC&#xff0c;将先进的嵌入式SoC与最新的人工智能/机器学习硬件NPU技术相结合&#xff0c;通过神经网络加速器&#xff0c;为边缘计算提供强大的机器学习能力&#xff0c;是i.MX 8M Plus一个最为突出的优势。WEC-IMX8P核心板特别适合在机器…

uni-app API接口扩展组件(uni-ui)

锋哥原创的uni-app视频教程&#xff1a; 2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中...共计23条视频&#xff0c;包括&#xff1a;第1讲 uni…

如何恢复 iPhone 上永久删除的照片?

2007年&#xff0c;苹果公司推出了一款惊天动地的智能手机&#xff0c;也就是后来的iPhone。你会惊讶地发现&#xff0c;迄今为止&#xff0c;苹果公司已经售出了 7 亿部 iPhone 设备。根据最新一项调查数据&#xff0c;智能手机利润的 95% 都进了苹果公司的腰包。 如此受欢迎…

探讨kernel32.dll文件是什么,有效解决kernel32.dll丢失

在使用电脑时&#xff0c;你是否遇到过kernel32.dll丢失的困扰&#xff1f;面对这个问题&#xff0c;我们需要及时去解决kernel32.dll丢失的问题。接下来&#xff0c;我们将深入探讨kernel32.dll的功能以及其在操作系统和应用程序中的具体应用领域&#xff0c;相信这将对你解决…

统一系统脆弱性管理平台:“新一代”漏洞扫描管理系统

网络安全风险管理是政府企事业单位面临的巨大挑战&#xff0c;尤其是数字化转型带来了更多在线、移动化的新应用场景&#xff0c;随着业务量迅速增长&#xff0c;更为复杂的脆弱性管理难题也变得更加繁琐棘手。 网络安全漏洞可能被有意或无意地利用&#xff0c;从而对政府、企事…