PostgreSQL 连接器:在 SeaTunnel 中的应用与优势

在现代企业中,数据已经成为核心资产,基于开源数据集成平台SeaTunnel,工程师如何高效地连接和管理这些数据源,直接关系到企业的竞争力和运营效率。

file

本文将给大家介绍如何通过 JDBC PostgreSQL 数据源连接器,在 SeaTunnel 平台中实现高效的数据处理与集成,并详细解析其关键功能和使用场景。


支持的引擎

在数据集成和处理的过程中,选择合适的引擎至关重要。JDBC PostgreSQL 数据源连接器支持以下引擎:

  • Spark: 适用于大规模数据处理和实时流处理。
  • Flink: 强大的流式数据处理引擎,适合需要低延迟和高吞吐量的场景。
  • SeaTunnel Zeta: 专为数据集成和处理设计的轻量级引擎,提供高效、灵活的解决方案。

使用依赖

使用 Spark 或 Flink 引擎时,需要确保将 JDBC 驱动程序 jar 包 放置在 ${SEATUNNEL_HOME}/plugins/ 目录中。

对于 SeaTunnel Zeta 引擎

使用 SeaTunnel Zeta 引擎时,请将 JDBC 驱动程序 jar 包 放置在 ${SEATUNNEL_HOME}/lib/ 目录中。

关键功能

JDBC PostgreSQL 数据源连接器在数据处理过程中,提供了一系列关键功能,帮助企业高效地管理和利用数据:

  • 批量处理 (Batch): 支持大规模数据的批量读取和处理。
  • 流处理 (Stream): 当前尚未支持流式数据处理。
  • 精确一次 (Exactly-Once): 确保数据处理的精确一致性,避免重复和数据丢失。
  • 列投影 (Column Projection): 允许用户选择和投影特定的列,以优化数据读取的性能。
  • 并行处理 (Parallelism): 支持数据的并行读取和处理,提高处理效率。
  • 用户定义的拆分 (User-Defined Split): 支持用户定义的拆分策略,灵活处理不同的数据分片需求。

数据源信息

连接器支持不同版本的 PostgreSQL 数据源,每个版本可能使用不同的驱动程序类。以下是支持的数据源信息:

数据源支持的版本驱动程序连接 URLMaven 下载链接
PostgreSQL各版本依赖使用不同的驱动程序类org.postgresql.Driverjdbc:postgresql://localhost:5432/test下载
PostgreSQL若需操作 GEOMETRY 类型数据org.postgresql.Driverjdbc:postgresql://localhost:5432/test下载

数据库依赖

请下载与您的数据源相对应的 Maven 支持列表,并将其复制到 $SEATUNNEL_HOME/plugins/jdbc/lib/ 目录中。例如,对于 PostgreSQL 数据源,请将 postgresql-xxx.jar 文件复制到上述目录。

数据类型映射

JDBC PostgreSQL 连接器提供了丰富的数据类型支持,将 PostgreSQL 数据类型映射到 SeaTunnel 的数据类型:

PostgreSQL 数据类型SeaTunnel 数据类型
BOOLBOOLEAN
_BOOLARRAY
BYTEABYTES
_BYTEAARRAY
INT2, SMALLSERIALSMALLINT
_INT2ARRAY
INT4, SERIALINT
_INT4ARRAY
INT8, BIGSERIALBIGINT
_INT8ARRAY
FLOAT4FLOAT
_FLOAT4ARRAY
FLOAT8DOUBLE
_FLOAT8ARRAY
NUMERIC (指定列大小 > 0)DECIMAL (指定列大小,获取指定列的小数点右边的数字个数)
NUMERIC (指定列大小 < 0)DECIMAL (38, 18)
BPCHAR, CHARACTER, VARCHAR, TEXTSTRING
_BPCHAR, _CHARACTER, _VARCHAR, _TEXTARRAY
TIMESTAMP(s), TIMESTAMPTZ(s)TIMESTAMP(s)
TIME(s), TIMETZ(s)TIME(s)
DATEDATE

选项

名称类型必填默认值描述
urlString-JDBC 连接的 URL。例如:jdbc:postgresql://localhost:5432/test
driverString-连接到远程数据源的 JDBC 类名,如果使用 PostgreSQL,值为 org.postgresql.Driver
userString-连接实例的用户名
passwordString-连接实例的密码
queryString-查询语句
connection_check_timeout_secInt30验证连接的数据库操作完成的等待时间(秒)
partition_columnString-并行处理的分区列名,只支持数值类型主键,且只能配置一个列
partition_lower_boundBigDecimal-分区列的最小值,如果未设置,SeaTunnel 将查询数据库获取最小值
partition_upper_boundBigDecimal-分区列的最大值,如果未设置,SeaTunnel 将查询数据库获取最大值
partition_numInt作业并行度分区数量,只支持正整数,默认值为作业并行度
fetch_sizeInt0对于返回大量对象的查询,可以配置行获取大小以提高性能,减少满足选择条件所需的数据库命中次数。0 表示使用 JDBC 默认值
propertiesMap-其他连接配置参数,当 properties 和 URL 存在相同参数时,优先级由驱动程序的具体实现决定,例如在 MySQL 中,properties 优先于 URL

并行读取

JDBC 源连接器支持从表中并行读取数据。SeaTunnel 将使用某些规则拆分表中的数据,然后交给读者读取。读者的数量由 parallelism 选项决定。

拆分键规则

  1. 如果 partition_column 不为空,将用于计算拆分。该列必须是 支持的拆分数据类型
  2. 如果 partition_column 为空,SeaTunnel 将从表中读取架构并获取主键和唯一索引。如果主键和唯一索引中有多个列,支持的拆分数据类型 中的第一列将用于拆分数据。例如,表有主键(nn guid, name varchar),因为 guid 不在 支持的拆分数据类型 中,因此将使用列 name 进行数据拆分。

支持的拆分数据类型

  • 字符串
  • 数字(int、bigint、decimal 等)
  • 日期

相关拆分选项

split.size

每个拆分包含多少行,当读取表时,捕获的表将拆分为多个拆分。

split.even-distribution.factor.lower-bound

不推荐使用

块键分布因子的下限。此因子用于确定表数据是否均匀分布。如果计算出的分布因子大于或等于此下限(即(MAX(id) - MIN(id) + 1)/ 行数),则表块将优化为均匀分布。否则,如果分布因子较小,表将被视为不均匀分布,并在估计的分片数超过 sample-sharding.threshold 值时使用基于采样的分片策略。默认值为 0.05。

split.even-distribution.factor.upper-bound

不推荐使用

块键分布因子的上限。此因子用于确定表数据是否均匀分布。如果计算出的分布因子小于或等于此上限(即```markdown

PostgreSQL 数据源连接器:在 SeaTunnel 中的应用与优势

在现代企业中,数据已经成为核心资产,如何高效地连接和管理这些数据源,直接关系到企业的竞争力和运营效率。本文将深入探讨如何通过 JDBC PostgreSQL 数据源连接器,在 SeaTunnel 平台中实现高效的数据处理与集成,并详细解析其关键功能和使用场景。


支持的引擎

在数据集成和处理的过程中,选择合适的引擎至关重要。JDBC PostgreSQL 数据源连接器支持以下引擎:

  • Spark: 适用于大规模数据处理和实时流处理。
  • Flink: 强大的流式数据处理引擎,适合需要低延迟和高吞吐量的场景。
  • SeaTunnel Zeta: 专为数据集成和处理设计的轻量级引擎,提供高效、灵活的解决方案。

使用依赖

使用 Spark 或 Flink 引擎时,需要确保将 JDBC 驱动程序 jar 包 放置在 ${SEATUNNEL_HOME}/plugins/ 目录中。

对于 SeaTunnel Zeta 引擎

使用 SeaTunnel Zeta 引擎时,请将 JDBC 驱动程序 jar 包 放置在 ${SEATUNNEL_HOME}/lib/ 目录中。

关键功能

JDBC PostgreSQL 数据源连接器在数据处理过程中,提供了一系列关键功能,帮助企业高效地管理和利用数据:

  • 批量处理 (Batch): 支持大规模数据的批量读取和处理。
  • 精确一次 (Exactly-Once): 确保数据处理的精确一致性,避免重复和数据丢失。
  • 列投影 (Column Projection): 允许用户选择和投影特定的列,以优化数据读取的性能。
  • 并行处理 (Parallelism): 支持数据的并行读取和处理,提高处理效率。
  • 用户定义的拆分 (User-Defined Split): 支持用户定义的拆分策略,灵活处理不同的数据分片需求。

数据源信息

连接器支持不同版本的 PostgreSQL 数据源,每个版本可能使用不同的驱动程序类。以下是支持的数据源信息:

数据源支持的版本驱动程序连接 URLMaven 下载链接
PostgreSQL各版本依赖使用不同的驱动程序类org.postgresql.Driverjdbc:postgresql://localhost:5432/test下载
PostgreSQL若需操作 GEOMETRY 类型数据org.postgresql.Driverjdbc:postgresql://localhost:5432/test下载

数据库依赖

请下载与您的数据源相对应的 Maven 支持列表,并将其复制到 $SEATUNNEL_HOME/plugins/jdbc/lib/ 目录中。例如,对于 PostgreSQL 数据源,请将 postgresql-xxx.jar 文件复制到上述目录。

数据类型映射

JDBC PostgreSQL 连接器提供了丰富的数据类型支持,将 PostgreSQL 数据类型映射到 SeaTunnel 的数据类型:

PostgreSQL 数据类型SeaTunnel 数据类型
BOOLBOOLEAN
_BOOLARRAY
BYTEABYTES
_BYTEAARRAY
INT2, SMALLSERIALSMALLINT
_INT2ARRAY
INT4, SERIALINT
_INT4ARRAY
INT8, BIGSERIALBIGINT
_INT8ARRAY
FLOAT4FLOAT
_FLOAT4ARRAY
FLOAT8DOUBLE
_FLOAT8ARRAY
NUMERIC (指定列大小 > 0)DECIMAL (指定列大小,获取指定列的小数点右边的数字个数)
NUMERIC (指定列大小 < 0)DECIMAL (38, 18)
BPCHAR, CHARACTER, VARCHAR, TEXTSTRING
_BPCHAR, _CHARACTER, _VARCHAR, _TEXTARRAY
TIMESTAMP(s), TIMESTAMPTZ(s)TIMESTAMP(s)
TIME(s), TIMETZ(s)TIME(s)
DATEDATE

选项

名称类型必填默认值描述
urlString-JDBC 连接的 URL。例如:jdbc:postgresql://localhost:5432/test
driverString-连接到远程数据源的 JDBC 类名,如果使用 PostgreSQL,值为 org.postgresql.Driver
userString-连接实例的用户名
passwordString-连接实例的密码
queryString-查询语句
connection_check_timeout_secInt30验证连接的数据库操作完成的等待时间(秒)
partition_columnString-并行处理的分区列名,只支持数值类型主键,且只能配置一个列
partition_lower_boundBigDecimal-分区列的最小值,如果未设置,SeaTunnel 将查询数据库获取最小值
partition_upper_boundBigDecimal-分区列的最大值,如果未设置,SeaTunnel 将查询数据库获取最大值
partition_numInt作业并行度分区数量,只支持正整数,默认值为作业并行度
fetch_sizeInt0对于返回大量对象的查询,可以配置行获取大小以提高性能,减少满足选择条件所需的数据库命中次数。0 表示使用 JDBC 默认值
propertiesMap-其他连接配置参数,当 properties 和 URL 存在相同参数时,优先级由驱动程序的具体实现决定,例如在 MySQL 中,properties 优先于 URL

并行读取

JDBC 源连接器支持从表中并行读取数据。SeaTunnel 将使用某些规则拆分表中的数据,然后交给读者读取。读者的数量由 parallelism 选项决定。

拆分键规则

  1. 如果 partition_column 不为空,将用于计算拆分。该列必须是 支持的拆分数据类型
  2. 如果 partition_column 为空,SeaTunnel 将从表中读取架构并获取主键和唯一索引。如果主键和唯一索引中有多个列,支持的拆分数据类型 中的第一列将用于拆分数据。例如,表有主键(nn guid, name varchar),因为 guid 不在 支持的拆分数据类型 中,因此将使用列 name 进行数据拆分。

支持的拆分数据类型

  • 字符串
  • 数字(int、bigint、decimal 等)
  • 日期

相关拆分选项

split.size

每个拆分包含多少行,当读取表时,捕获的表将拆分为多个拆分。

split.even-distribution.factor.lower-bound

不推荐使用

块键分布因子的下限。此因子用于确定表数据是否均匀分布。如果计算出的分布因子大于或等于此下限(即(MAX(id) - MIN(id) + 1)/ 行数),则表块将优化为均匀分布。否则,如果分布因子较小,表将被视为不均匀分布,并在估计的分片数超过 sample-sharding.threshold 值时使用基于采样的分片策略。默认值为 0.05。

split.even-distribution.factor.upper-bound

不推荐使用

块键分布因子的上限。此因子用于确定表数据是否均匀分布。如果计算出的分布因子小于或等于此上限(即(MAX(id) - MIN(id) + 1)/ 行数),则表块将优化为均匀分布。否则,如果分布因子更大,则如果预估的分片数超过 指定的值,则该表将被视为分布不均匀,并且将使用基于采样的分片策略sample-sharding.threshold。默认值为 100.0。

split.sample-sharding.threshold

此配置指定触发采样分片策略的估计分片数阈值。当分布因子超出 chunk-key.even-distribution.factor.upper-boundchunk-key.even-distribution.factor.lower-bound 指定的范围,并且估计的分片数(计算为近似行数/块大小)超过此阈值时,将使用采样分片策略。这有助于更高效地处理大数据集。默认值为 1000 分片。

split.inverse-sampling.rate

采样分片策略中使用的采样率的倒数。例如,如果此值设置为 1000,则表示在采样过程中应用 1/1000 的采样率。此选项提供了控制采样粒度的灵活性,从而影响最终的分片数量。对于非常大的数据集,较低的采样率是首选。默认值为 1000。

partition_column [string]

用于拆分数据的列名。

partition_upper_bound [BigDecimal]

扫描的 partition_column 最大值,如果未设置,SeaTunnel 将查询数据库获取最大值。

partition_lower_bound [BigDecimal]

扫描的 partition_column 最小值,如果未设置,SeaTunnel 将查询数据库获取最小值。

partition_num [int]

不推荐使用,正确的方法是通过 split.size 控制拆分数量

需要拆分成多少个分片,仅支持正整数。默认值为作业并行度。

提示

如果表不能拆分(例如,表没有主键或唯一索引,并且未设置 partition_column),它将以单一并发运行。

使用 table_path 替换 query 进行单表读取。如果需要读取多个表,请使用 table_list

任务示例

简单示例:

此示例在测试 "数据库" 中查询 type_bin 'table' 16 数据,并以单并行方式查询其所有字段。您还可以指定要查询的字段并最终输出到控制台。

# 定义运行环境
env {parallelism = 4job.mode = "BATCH"
}source{Jdbc {url = "jdbc:postgresql://localhost:5432/test"driver = "org.postgresql.Driver"user = "root"password = "test"query = "select * from source limit 16"}
}transform {# 请访问 https://seatunnel.apache.org/docs/transform-v2/sql
}sink {Console {}
}

通过 partition_column 并行

使用您配置的分片字段并行读取查询表中的数据。如果您想读取整个表,可以这样做。

  env {parallelism = 4job.mode = "BATCH"
}
source{jdbc{url = "jdbc:postgresql://localhost:5432/test"driver = "org.postgresql.Driver"user = "root"password = "test"query = "select * from source"partition_column= "id"partition_num = 5}
}
sink {Console {}
}

通过主键或唯一索引并行

配置 table_path 将开启自动拆分,您可以配置 split.* 以调整拆分策略。

  env {parallelism = 4job.mode = "BATCH"
}
source {Jdbc {url = "jdbc:postgresql://localhost:5432/test"driver = "org.postgresql.Driver"connection_check_timeout_sec = 100user = "root"password = "123456"table_path = "test.public.AllDataType_1"query = "select * from public.AllDataType_1"split.size = 10000}
}sink {Console {}
}

并行边界

指定查询上限和下限的数据会更高效。根据您配置的上限和下限读取数据源会更高效。

source{jdbc{url = "jdbc:postgresql://localhost:5432/test"driver = "org.postgresql.Driver"user = "root"password = "test"query = "select * from source"partition_column= "id"# 返回的表名称result_table_name = "jdbc"partition_lower_bound = 1partition_upper_bound = 50partition_num = 5}
}

多表读取

配置 table_list 将开启自动拆分,您可以配置 split.* 以调整拆分策略

  env {job.mode = "BATCH"parallelism = 4
}
source {Jdbc {url="jdbc:postgresql://datasource01:5432/demo"user="iDm82k6Q0Tq+wUprWnPsLQ=="driver="org.postgresql.Driver"password="iDm82k6Q0Tq+wUprWnPsLQ==""table_list"=[{"table_path"="demo.public.AllDataType_1"},{"table_path"="demo.public.alldatatype"}]#where_condition= "where id > 100"split.size = 10000#split.even-distribution.factor.upper-bound = 100#split.even-distribution.factor.lower-bound = 0.05#split.sample-sharding.threshold = 1000#split.inverse-sampling.rate = 1000}
}sink {Console {}
}

通过正确配置 PostgreSQL JDBC 源连接器,企业可以在复杂的数据环境中高效地管理和处理数据。

使用 SeaTunnel 的灵活性和强大的功能,用户可以轻松实现数据的并行处理和高效查询,从而在数据驱动的业务决策中获得更大的优势。

本文由 白鲸开源科技 提供发布支持!

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

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

相关文章

第15周:RNN心脏病预测

目录 前言 二、前期准备 2.1 设置GPU 2.2 导入数据 2.2.1 数据介绍 2.2.2 导入代码 2.2.3 检查数据 三、数据预处理 3.1 划分训练集与测试集 3.2 标准化 四、构建RNN模型 4.1 基本概念 4.2 搭建代码 五、编译模型 六、训练模型 七、模型评估 总结 前言 &#…

直播怎么录制视频?直播视频,3种录制方法

“今晚我最喜欢的游戏博主要进行直播&#xff0c;但我可能还要加班。怎么办&#xff0c;不想错过直播的内容&#xff01;电脑怎么才能进行直播录制视频啊&#xff1f;谁能教教我&#xff1f;” 在数字化的今天&#xff0c;直播已经成为人们获取信息和娱乐的重要途径。有时&…

执行yum命令报错Could not resolve host: mirrors.cloud.aliyuncs.com; Unknown error

执行yum命令报错 [Errno 14] curl#6 - "Could not resolve host: mirrors.cloud.aliyuncs.com; Unknown error 修改图中所示两个文件&#xff1a; vim epel.repo vim CentOS-Base.repo 将所有的http://mirrors.cloud.aliyuncs.com 修改为http://mirrors.aliyun.com。 修改…

趣测系统搭建APP源码开发,娱乐丰富生活的选择!

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 趣测系统提供了一个集合多种有趣测试的平台&#xff0c;如心理测试和星座测试等&#xff0c;这些测试内容富有趣味性和娱乐性&#xff0c;能够帮助大众在忙碌的生活中找到放松和娱乐的时刻…

yolov5驾驶员不规范行为检测

1 项目介绍 1.1 摘要 随着汽车工业的迅速发展和交通拥堵的加剧&#xff0c;驾驶员在行车过程中的不规范行为成为了导致交通事故频发的重要因素之一。为了减少交通事故的发生&#xff0c;保障道路安全&#xff0c;提高驾驶员的行车安全意识&#xff0c;本研究致力于实现驾驶员…

5. PyTorch+NCCL源码编译

系列文章 第1章 多机多卡运行nccl-tests 和channel获取第2章 多机多卡nccl-tests 对比分析第3章 使用tcpdump抓取rdma数据包第5章 PyTorchNCCL源码编译 目录 系列文章前言一、本地环境二、安装cudnn三、使用pytorch自带NCCL库进行编译安装1. 源码编译2. 查看版本和all_reduce测…

【机器学习】机器学习重要方法——迁移学习:理论、方法与实践

文章目录 迁移学习&#xff1a;理论、方法与实践引言第一章 迁移学习的基本概念1.1 什么是迁移学习1.2 迁移学习的类型1.3 迁移学习的优势 第二章 迁移学习的核心方法2.1 特征重用&#xff08;Feature Reuse&#xff09;2.2 微调&#xff08;Fine-Tuning&#xff09;2.3 领域适…

【启明智显分享】典型的HMI应用实现方案:帮你更好地主控选型!

HMI是操作者与机器/系统间资讯传递和交换的主要桥梁。HMI系统通常能提供丰富的资讯&#xff0c;例如温度、压力、制造流程步骤以及材料的计量数据。还能显示设备中物料的确切位置或储存槽内的液位数据等讯息。无论是在工业自动化还是医疗、商业等重要行业领域&#xff0c;HMI都…

【前端项目笔记】6 参数管理

参数管理 效果展示&#xff1a; 在开发功能之前先创建分支goods_params cls 清空终端 git branch 查看所有分支 git checkout -b goods_params 新建分支goods_params git push -u origin goods_params 把本地的新分支推送到云端origin并命名为goods_params 参数管理需要维…

一个易于使用、与Android系统良好整合的多合一游戏模拟器

大家好&#xff0c;今天给大家分享的是一个易于使用、与Android系统良好整合的多合一游戏模拟器 Lemuroid。 Lemuroid 是一个专为Android平台设计的开源游戏模拟器项目&#xff0c;它基于强大的Libretro框架&#xff0c;旨在提供广泛的兼容性和卓越的用户体验。 项目介绍 Lem…

如何安装多版本CUDA?

首先聊一个题外话&#xff1a;前几天在csdn上看到的一个话题”安装pytorch一定要去nvidia官网下载安装cuda和cudnn吗&#xff1f;“ 我相信任何一个刚开始接触或者从事深度学习的炼丹者都会从安装cuda开始&#xff0c;现在网上随便一搜如何安装pytorch&#xff0c;蹦出来教程提…

pd虚拟机 Parallels Desktop 19 for Mac 破解版小白安装使用指南

Parallels Desktop 19 for Mac 乃是一款适配于 Mac 的虚拟化软件。它能让您在 Mac 计算机上同时运行多个操作系统。您可借此创建虚拟机&#xff0c;并于其中装设不同的操作系统&#xff0c;如 Windows、Linux 或 macOS。使用 Parallels Desktop 19 mac 版时&#xff0c;您可在 …

无线麦克风推荐哪些品牌,一文揭秘无线麦克风领夹哪个牌子好!

​究竟该如何选择麦克风呢&#xff1f;又该如何挑选无线麦克呢&#xff1f;询问我关于麦克风选择问题的人着实不少。对于那些仅仅是想要简单地自我娱乐的朋友而言&#xff0c;着实没必要去折腾&#xff0c;直接使用手机自带的麦克风便可以了。 但若是处于想要直播、拍摄短视频…

【Termius】详细说明MacOS中的SSH的客户端利器Termius

希望文章能给到你启发和灵感~ 如果觉得有帮助的话,点赞+关注+收藏支持一下博主哦~ 阅读指南 开篇说明一、基础环境说明1.1 硬件环境1.2 软件环境二、软件的安装2.1 Termius界面介绍2.1.1 Hosts 主机列表2.1.2 SFTP 文件传输2.1.3 Port ForWarding 端口转发2.1.4 Snippets 片…

为什么带货主播,他突然就不吃香了?

为什么带货主播他突然就不吃香了&#xff1f;工资骤降50%。 相比 2023 年初主播的平均薪资降了50%&#xff0c;那不管你是头部主播还是腰部主播&#xff0c;全部都降薪了。那尾部主播就更不用说了&#xff0c;有的主播他的时薪已经低到 20 块钱一个小时&#xff0c;还不如大学…

U-boot相关基础知识

U-boot和Bootloader之间的关系 U-Boot是Bootloader的一种实现&#xff0c;它专门用于嵌入式系统&#xff0c;特别是那些基于ARM、MIPS等处理器的系统。U-Boot提供了丰富的硬件支持和功能&#xff0c;使得开发者能够轻松地初始化硬件、加载操作系统内核&#xff0c;并进行一些基…

【漏洞复现】安美数字酒店宽带运营系统——命令执行漏洞(CNVD-2021-37784)

声明&#xff1a;本文档或演示材料仅供教育和教学目的使用&#xff0c;任何个人或组织使用本文档中的信息进行非法活动&#xff0c;均与本文档的作者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 安美数字酒店宽带运营系统 server_ping.php 存在远程命令执行漏洞&#…

一文带你了解什么是【点击劫持】

点击劫持&#xff0c;意思就是你点击网页的时候&#xff0c;有人劫持你&#xff0c;对没错&#xff0c;劫持你的信息&#xff0c;甚至劫持你的马内&#xff0c;劫持你的理想&#xff0c;劫持你的肉体&#xff0c;劫持你的灵魂。就是这么可怕。 目录 1 如何实现假网站 1.1 if…

“未来独角兽” | 安全狗入选福建省数字经济核心产业创新企业名单

近日&#xff0c;福建省数据管理局公布了入选2024年度全省数字经济核心产业创新企业名单。 作为国内云原生安全领导厂商&#xff0c;安全狗凭借自身在云安全领域的卓越表现和创新实力入选&#xff0c;获得“未来独角兽”称号。 据悉&#xff0c;此次对“未来独角兽”的评选条件…

计算机视觉(CV)技术:优势、挑战与前景

摘要 计算机视觉作为人工智能的关键领域之一&#xff0c;正迅速改变我们的生活和工作方式。本文将探讨CV技术的主要优势、面临的挑战以及未来的发展方向。 关键词 计算机视觉, 人工智能, 数据处理, 自动化, 伦理问题 目录 引言计算机视觉技术的优势计算机视觉技术的挑战实…