ElasticSearch深入解析(一):Elastic Stack全景
一、Elastic Stack的发展
- 过去和现在:
Elastic数据平台在搜索、地理位置、内部日志、数据指标、安全监控和APM应用性能管理等场景中的应用颇具亮点。
APM(Application Performance Management,应用性能管理)是一种用于监控和管理软件应用程序性能与可用性的技术框架,旨在帮助企业确保应用程序高效运行、快速定位性能瓶颈,并优化用户体验。
- 将来:
Elastic公司经过两年精心研发,推出了一个全新特性ESRE(Elasticsearch Relevance Engine,最早发布于Elasticsearch 8.8版本)。它是一款基于AI的搜索引擎,实现开箱即用的卓越语义搜索。ESRE的出现,使强大的AI功能与Elasticsearch杰出的多模态搜索能力结合,开创了新的可能。
ESRE 是 Elasticsearch 8.8 版本推出的基于 AI 的搜索引擎,通过自然语言处理、集成第三方模型(如 GPT-3/4)和 Langchain 工具,结合稀疏与密集检索的混合排名方法,实现开箱即用的无训练语义搜索,提升多模态搜索相关性与准确性,助力构建生成式 AI 应用。
二、Elasticsearch的特点
1. Elasticsearch的特点
- 使用简单的RESTful API,天然兼容多语言开发。
- 支持水平横向扩展节点,通过增加节点来实现负载均衡及增强集群可靠性。
- 面向文档,不使用“表”来存储数据,而使用“文档”来存储数据。
- 无模式,无须定义好字段类型、长度等,可以直接导入文档数据。
- 近实时存储,使每个字段都被索引且可用于搜索。
- 响应快,海量数据下能实现秒级响应速度。
- 易扩展,支持处理PB级的结构化或非结构化数据。
- 多租户,支持多个业务共用Elasticsearch服务,并且确保各业务间数据的隔离性。
- 支持多种编程语言,包含但不限于Java、Python、C#、PHP、Python、Ruby等。
2. Elasticsearch和Lucene的对比
Lucene的工作模式类似于“自己亲手种植蔬菜”,开发者使用它可以获得更多的控制权,但带来的问题是开发人员要花费更多的精力去维护。相比之下,Elasticsearch的工作模式则类似于“去超市购买蔬菜”,明显效率会更高。
三、Elastic Stack组成
1. Logstash概览
Logstash与Beats作为底层核心引擎,共同构建了数据摄取平台,实现数据标准化处理,为后续分析奠定基础。其中:
- Logstash的定位与功能:提供免费开源的服务器端数据处理管道(pipeline),支持从多源数据源采集数据,通过过滤(filter)组件按自定义规则解析事件、提取字段并转换为通用格式,最终将标准化数据输出至Elasticsearch等“存储库”。
- 灵活的输出能力:依托可插拔框架,Logstash支持将数据输出至MySQL、Kafka、Redis等多样化目标,满足业务场景的差异化存储与处理需求。
- 插件生态与配置模式:内置超200个插件(如logstash_input_jdbc、logstash_output_elasticsearch等),通过“输入-过滤-输出”三段式模板灵活配置,适配不同类型数据的处理流程,提升数据集成效率。
2. Kibana概览
Kibana是一款免费开源的工具,作为Elastic Stack的核心用户界面,主要功能体现在数据可视化分析、开发运维辅助及集群监控三大领域:
- 数据可视化分析:支持将Elasticsearch中的数据转化为折线图、仪表盘、地理地图等多样化可视化图表,用户可通过简单拖拽操作自定义多维度数据报表,快速洞察数据趋势与关联。
- 开发与运维支持:集成界面交互开发工具与管理工具,辅助技术人员完成查询调试、索引管理、权限配置等操作,简化开发流程并提升运维效率。
- 集群监控与异常检测:
- 作为可视化安全监控平台,实时展示Elasticsearch集群的CPU、内存、索引状态等关键运维指标,提供实时运行状态看板与历史趋势曲线,帮助用户提前发现潜在风险。
- 借助内置机器学习功能,自动检测数据中的异常模式(如指标突变、异常流量),并追溯异常来源,实现智能化故障预警与根因分析。
3. Beats概览
Beats是免费开源的轻量级数据采集平台,通过集成多种单一功能的数据采集器,实现海量机器与系统的数据向Logstash或Elasticsearch的高效传输,具体特点如下:
- 核心功能与采集器类型:
- 作为数据采集层核心组件,支持从数百/数千台设备实时采集数据;
- 包含多款轻量级采集器:
- Filebeat:专注日志文件采集,资源占用低,适合大规模日志场景;
- Metricbeat:实时监控服务器CPU、内存、磁盘等性能指标;
- Packetbeat:捕获网络流量数据,解析协议字段以分析网络性能与安全。
- 技术优势:
- 可扩展框架:支持自定义采集器扩展,适配多样化数据源;
- 高效采集:预置采集器经过优化,降低数据采集对系统资源的消耗,提升采集效率。
- 与Elastic Stack的协同价值:
Beats与Elasticsearch、Logstash、Kibana共同构成Elastic数据平台四大核心产品,实现:- 实时性:秒级数据采集与传输,满足实时分析需求;
- 相关性:通过数据标准化与关联分析,挖掘数据间深层联系;
- 扩展性:支持PB级数据规模,灵活应对业务增长。
该平台通过全链路数据处理能力,彻底解决企业大数据实时采集、分析与可视化难题,成为数据驱动决策的核心基础设施。
四、Elastic Stack的应用
Elastic Stack在全文检索、产品检索、JSON文档存储、数据聚合、坐标与地理位置检索、指标统计和分析、自动补全、自动推荐、安全分析等领域都有广泛的应用。我们将其划分为全文检索、日志分析、商业智能3类核心应用场景。
1. 全文检索场景
Elasticsearch在全文检索领域应用广泛:
- 覆盖多场景:支持电商(淘宝/京东)、应用市场(360手机助手)、文档平台(腾讯文档)等搜索需求。
- 技术优势:提供自定义打分/排序、高亮显示,通过跨机房容灾实现高可用、低延迟。
- 企业实践:阿里巴巴、腾讯、携程等头部企业将其作为核心技术,提升用户体验与业务效率。
2. 日志分析场景
Elasticsearch支持多类型日志处理:
- 日志类型:涵盖业务日志(用户行为)、状态日志(慢查询)、系统日志(多等级)。
- 技术优势:基于倒排索引实现秒级日志索引与检索,满足实时分析需求。
- 企业应用:58集团、唯品会、国投瑞银等用于日志分析、监控与故障排查。
3. 商业智能场景
电子商务、移动App开发、广告媒体等领域的企业面临大型业务数据收集与分析的巨大挑战。
Elasticsearch的核心能力:
- 具备结构化查询功能,可实现全文数据检索和聚合分析;
- 高效处理大数据,支持个性化分析,助力企业发现问题、辅助业务决策并挖掘商业价值。
典型商业智能应用场景: - 睿思BI、百度数据可视化Sugar BI、永洪BI等知名企业的商业智能系统,均借助Elasticsearch高效、实时的数据分析和可视化能力;
- 帮助企业理解市场趋势、优化决策过程,提升数据驱动的商业价值。
五、竞品分析
在大数据与搜索分析领域,ElasticSearch 凭借其卓越的性能与丰富功能占据重要地位,但市场中也存在诸多强劲竞品,各自具备独特优势与应用场景。以下对 ElasticSearch 与 Apache Solr、Splunk、OpenSearch、Doris、Clickhouse 进行对比分析。
1. Apache Solr
- 技术特点:
成熟的全文检索能力:基于 Lucene 构建,拥有强大的全文检索功能,支持复杂查询语法,如布尔查询、模糊查询等,在文本搜索方面与 ElasticSearch 旗鼓相当。
丰富的插件生态:具备大量插件,可用于扩展功能,像数据导入插件能方便地从数据库等数据源导入数据,还有支持多种语言的分析器插件。
分布式架构:支持分布式部署,通过分片和副本机制实现高可用性与负载均衡,不过在集群自动扩展与收缩的灵活性上,较 ElasticSearch 稍逊一筹。
- 适用场景:
企业搜索应用:常用于企业内部文档搜索、知识库检索等场景,例如大型企业的内部资料查询系统,借助其强大的文本处理能力,能高效定位相关文档。
电子商务搜索:在一些电商平台中,用于商品搜索,通过对商品描述、属性等文本的索引与检索,为用户提供商品查找服务。
- 与 ElasticSearch 对比:
生态活跃度:ElasticSearch 的生态更为活跃,拥有更广泛的社区支持与丰富的第三方工具集成,在云服务支持方面也更为领先。
实时性:对于实时数据的处理,ElasticSearch 通常能提供更短的索引延迟,在对数据实时性要求极高的场景中表现更佳。
2. Splunk(不开源)
- 技术特点:
专注日志分析:在日志管理与分析领域堪称佼佼者,能高效收集、索引和分析各类日志数据,具备强大的日志解析功能,可自动识别多种日志格式。
可视化与告警:提供丰富且直观的可视化界面,方便用户创建自定义仪表盘展示日志分析结果。同时,具备灵活的告警机制,能根据设定的阈值及时通知运维人员异常情况。
强大的数据处理能力:可以处理海量数据,通过分布式架构实现横向扩展,满足大型企业复杂的日志处理需求。
- 适用场景:
IT 运维监控:广泛应用于企业 IT 系统运维,通过分析系统日志、应用日志等,快速定位故障根源,保障系统稳定运行,如金融机构的核心业务系统运维监控。
安全信息与事件管理(SIEM):在安全领域,用于收集和分析安全相关日志,检测潜在的安全威胁,例如互联网企业的网络安全防护体系。
- 与 ElasticSearch 对比:
开源属性:ElasticSearch 开源免费,用户可自由使用、修改和分发,而 Splunk 为商业软件,使用需购买许可证,对于预算有限的企业,ElasticSearch 更具成本优势。
功能侧重:ElasticSearch 功能更为通用,除日志分析外,在搜索、数据分析等多领域均有出色表现;Splunk 则深度聚焦日志分析与安全监控,在该特定领域功能更为专业和深入。
3. OpenSearch
- 技术特点:
源于 ElasticSearch 的分支:继承了 ElasticSearch 的诸多特性,如分布式架构、全文搜索能力等,两者在基础功能上有较高相似度。
多租户支持:支持多租户功能,可在同一集群中为不同用户或业务部门创建隔离的环境,每个环境拥有独立的数据、用户权限和仪表盘等,这是其区别于 ElasticSearch 的显著特性。
SQL 查询支持:在 OpenSearch 及其仪表盘均支持 SQL 查询,用户可使用熟悉的 SQL 语法查询数据,并以图表、表格形式可视化结果,降低了对熟悉 SQL 的用户的使用门槛。
- 适用场景:
云服务提供商:适合云服务提供商为多个客户提供搜索与分析服务,通过多租户功能实现资源隔离与高效利用,例如一些中小型云服务平台基于 OpenSearch 搭建搜索服务。
企业多业务线:大型企业内部有多条业务线,希望在同一集群中管理不同业务数据,利用 OpenSearch 的多租户特性,可方便地为各业务线分配独立资源与权限。
- 与 ElasticSearch 对比:
功能差异:ElasticSearch 在机器学习、跨集群复制等功能上更为完善,例如其机器学习功能可用于异常检测、预测等多种场景;而 OpenSearch 在多租户和 SQL 查询支持方面具有优势。
性能表现:根据部分基准测试,在处理大规模数据时,OpenSearch 在扩展性上稍强,可支持更大的数据量,且在相同工作负载下,CPU 和内存消耗比 ElasticSearch 低约 50% 。
4. Doris
- 技术特点:
高效的 OLAP 引擎:专为在线分析处理(OLAP)场景设计,在海量数据的聚合查询方面性能卓越,采用向量化执行引擎和分布式架构,能快速处理复杂的查询请求。
简单易用:提供类 SQL 查询语言,语法简洁,易于上手,降低了数据分析人员的使用门槛。同时,数据导入方式丰富,支持多种数据源快速导入数据。
数据更新与实时查询:支持数据的实时更新与查询,在实时数仓等场景中,能快速将新数据摄入并提供查询服务,满足对数据时效性要求较高的业务需求。
- 适用场景:
数据仓库与商业智能:常用于构建企业的数据仓库,为报表生成、数据分析等提供支撑,如电商企业利用 Doris 进行销售数据的实时分析,辅助决策制定。
实时数据分析:在互联网广告、金融交易监控等需要实时分析大量数据的场景中表现出色,能够快速对实时产生的数据进行聚合分析,及时反馈业务状态。
- 与 ElasticSearch 对比:
功能定位:ElasticSearch 功能更为综合,涵盖搜索、日志分析、地理位置查询等多领域;Doris 则专注于 OLAP 分析,在数据聚合查询性能上优于 ElasticSearch,尤其适用于复杂分析查询场景。
数据模型:ElasticSearch 采用面向文档的数据模型,适合处理非结构化和半结构化数据;Doris 基于传统关系型数据库的数据模型,更适合处理结构化数据的分析查询。
5. Clickhouse
- 技术特点:
极致的查询性能:以其超高性能的查询速度闻名,特别擅长处理大规模数据集的复杂查询,采用列式存储、分布式架构和并行计算等技术,能在秒级甚至毫秒级返回查询结果。
灵活的数据模型:支持多种数据类型和复杂的数据结构,如数组、嵌套数据等,能够适应不同业务场景下的数据存储与查询需求。
类 SQL 查询语言:提供类 SQL 的查询语法,易于理解和使用,同时支持 SQL 函数和表达式,方便进行数据处理和分析。
- 适用场景:
大数据分析与报表生成:在互联网、金融等行业,用于生成复杂的业务报表,对海量数据进行多维分析,例如互联网公司对用户行为数据的深度分析,以优化产品策略。
实时数据监控与预警:适用于实时监控系统,对实时产生的数据进行快速查询与分析,及时发现异常情况并发出预警,如金融交易系统的实时风险监控。
- 与 ElasticSearch 对比:
查询性能:在大规模数据的复杂聚合查询方面,Clickhouse 性能更优;而 ElasticSearch 在全文搜索、地理位置查询等特定场景下表现出色,查询性能各有侧重。
数据处理类型:ElasticSearch 擅长处理文本等非结构化数据的搜索与分析;Clickhouse 则更适合结构化数据的高效查询与分析,数据处理类型上存在差异。
相关文章:
ElasticSearch深入解析(一):Elastic Stack全景
一、Elastic Stack的发展 过去和现在: Elastic数据平台在搜索、地理位置、内部日志、数据指标、安全监控和APM应用性能管理等场景中的应用颇具亮点。 APM(Application Performance Management,应用性能管理)是一种用于监控和管理…...
CAD在线查看免费,可以支持DWG/GLB/GLTF/doc/wps/pdf/psd/eml/zip, rar/MP3/MP4/svg/OBJ/FBX格式
CAD在线查看免费,可以支持DWG/GLB/GLTF/doc/wps/pdf/psd/eml/zip, rar/MP3/MP4/svg/OBJ/FBX格式 m.gszh.xyz m.gszh.xyz 免费支持以下格式文件在线查看类型 支持 doc, docx, xls, xlsx, xlsm, ppt, pptx, csv, tsv, dotm, xlt, xltm, dot, dotx, xlam, xla, pages …...
【机器学习案列-21】基于 LightGBM 的智能手机用户行为分类
🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...
多路转接poll服务器
目录 函数原型 poll服务器 对比select的优点 关于select的详解,可查看多路转接select服务器-CSDN博客 函数原型 #include <poll.h> int poll(struct pollfd *fds, nfds_t nfds, int timeout); poll作为多路转接的实现方案,与select要解决的问…...
全本地化智能数字人
🌟EdgePersona- 全本地化智能数字人 完全离线 | 隐私无忧 | 轻量高效 |笔记本友好 测试效果:【纯本地部署的电子魅魔!笔记本也能离线,隐私性拉满】 https://www.bilibili.com/video/BV1jydeYTETD/?share_sourcecopy_web&v…...
第6次课 贪心算法 A
向日葵朝着太阳转动,时刻追求自身成长的最大可能。 贪心策略在一轮轮的简单选择中,逐步导向最佳答案。 课堂学习 引入 贪心算法(英语:greedy algorithm),是用计算机来模拟一个「贪心」的人做出决策的过程…...
Docker 部署 PostgreSQL 数据库
Docker 部署 PostgreSQL 数据库 基于 Docker 部署 PostgreSQL 数据库一、拉取 PostgreSQL 镜像二、运行 PostgreSQL 容器三、运行命令参数详解四、查看容器运行状态 基于 Docker 部署 PostgreSQL 数据库 一、拉取 PostgreSQL 镜像 首先,确保你的 Docker 环境已正确…...
Android如何通过aspectj打造一个无侵入式动态权限申请框架
目录 一,背景 二,通过Aspectj管理所有的注解 三,配置注解 四,通过空白Activity完成真正的权限申请 五,引入依赖配置 一,背景 在Activity或者fragment中,写在几个方法写一些注释,用来表示权限申请成功,申请失败,多次拒绝。…...
Flink介绍——实时计算核心论文之Dataflow论文详解
引入 在过去的几篇文章里,我们看到了大数据的流式处理系统是如何一步一步进化的。从最早出现的S4,到能够做到“至少一次”处理的Storm,最后是能够做到“正好一次”数据处理的MillWheel。我们会发现,这些流式处理框架,…...
浅克隆(--depth 1)后如何获取完整的历史记录
如果远程remote为origin,则origin可以不写,如不是,则必须要写 获取全部分支 git fetch origin refs/heads/*:refs/remotes/origin/* 单独获取master分支 git fetch origin refs/heads/master:refs/remotes/origin/master 获取全部历史…...
安宝特案例 | 某知名日系汽车制造厂,借助AR实现智慧化转型
案例介绍 在全球制造业加速数字化的背景下,工厂的生产管理与设备维护效率愈发重要。 某知名日系汽车制造厂当前面临着设备的实时监控、故障维护,以及跨地域的管理协作等挑战,由于场地分散和突发状况的不可预知性,传统方式已无法…...
Feign 深度解析:Java 声明式 HTTP 客户端的终极指南
Feign 深度解析:Java 声明式 HTTP 客户端的终极指南 Feign 是由 Netflix 开源的 声明式 HTTP 客户端,后成为 Spring Cloud 生态的核心组件(现由 OpenFeign 维护)。它通过注解和接口定义简化了服务间 RESTful 通信,并…...
WPS Office安卓版云文档同步速度与PDF转换体验测评
WPS Office安卓版是很多人常用的移动办公软件。它支持在线编辑、文档同步、格式转换等功能,适合手机和平板用户随时处理文档。我们用它配合谷歌浏览器打开网页文档时,也可以将内容快速保存到云端或转换成PDF格式使用。 先说云文档同步。在打开WPS Office…...
ARM汇编的LDM和STM指令
批量加载/存储指令可以实现在一组寄存器和一块连续的内存单元之间传输数据.LDM 为加载多个寄存器,STM 为存储多个寄存器.允许一条指令传送 16 个寄存器的任何子集或所有寄存器.指令格式如下: LDM{cond}<模式> Rn{!},reglist{^} STM{cond}<模式> Rn{!}…...
Python-27:游戏英雄升级潜力评估
问题描述 小U在一款挂机游戏中拥有n个英雄。游戏中有一种历练升级机制,每天可以选择两个英雄进行历练,如果两位英雄的等级相同,则他们的等级都不会改变。如果英雄等级不同,那么等级较高的英雄会增加1级,而等级较低的英…...
【基于SprintBoot+Mybatis+Mysql】电脑商城项目之显示勾选的购物车数据和创建订单
🧸安清h:个人主页 🎥个人专栏:【Spring篇】【计算机网络】【Mybatis篇】 🚦作者简介:一个有趣爱睡觉的intp,期待和更多人分享自己所学知识的真诚大学生。 目录 🚀1.显示勾选的购物…...
AWS Lambda 架构深入探究
AWS Lambda 是现代云架构中最受欢迎的服务之一,因其能够在完全托管的无服务器环境中运行代码而广受认可。然而,尽管 Lambda 广受欢迎,许多开发者和架构师对它的底层运作机制却知之甚少,常常将其视为“编写能够在云端神奇运行的代码…...
信奥赛CSP-J复赛集训(DP专题)(19):P3399 丝绸之路
信奥赛CSP-J复赛集训(DP专题)(19):P3399 丝绸之路 题目背景 张骞于公元前 138 年曾历尽艰险出使过西域。加强了汉朝与西域各国的友好往来。从那以后,一队队骆驼商队在这漫长的商贸大道上行进,他…...
网络NAT类型测试
免费收录PCDN、GPU算力网站_算力收录站需要专业的PCDN、GPU算力网站收录服务吗?算力收录站为您提供高效、可信赖的收录服务,提升您的网站能见度。https://www.cdngpu.com/ 什么是 NAT:NAT代表网络地址转换,允许多个内网设备共享一…...
Postman下载安装与使用汉化版教程
简介: Postman 是一款常用的 API 测试工具,可以方便地进行接口测试、调试和文档编写。本文将详细介绍如何下载安装 Postman 并汉化,包括每个步骤的详细说明。 Postman 是一款常用的 API 测试工具,可以方便地进行接口测试、调试和…...
使用Python+OpenCV对视频抽帧保存为JPG图像
使用PythonOpenCV对视频抽帧保存为JPG图像 import os import cv2 import time#视频文件夹路径,可修改 videoPath D:\\video\\ #保存的图片文件夹路径,可修改 savePath D:\\images\\ videolist os.listdir(videoPath) if not os.path.exists(savePath…...
Java的反射机制(曼波超易懂图文版)
(✪▽✪)曼波~~~~!好的呀~让曼波用最可爱的姿势为你讲解Java反射机制吧! 🌟反射机制核心概念 曼波觉得反射就像编程世界的"魔法镜"(◕ᴗ◕✿) 可以让我们在运行时动态获取类的信息并操作类对象! // 举个栗子&#…...
【DeepSeek 学习推理】Llumnix: Dynamic Scheduling for Large Language Model Serving实验部分
6.1 实验设置 测试平台。我们使用阿里云上的16-GPU集群(包含4个GPU虚拟机,类型为ecs.gn7i-c32g1.32xlarge)。每台虚拟机配备4个NVIDIA A10(24 GB)GPU(通过PCI-e 4.0连接)、128个vCPU、752 GB内…...
运行neo4j.bat console 报错无法识别为脚本,PowerShell 教程:查看语言模式并通过注册表修改受限模式
无法将“D:\neo4j-community-4.4.38-windows\bin\Neo4j-Management\Get-Args.ps1”项识别为cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 前提配置好环境变量之后依然报上面的错…...
AI写代码之GO+Python写个爬虫系统
下面我们我们来利用AI,来用GOPython写个爬虫系统。 帮我写一个Python语言爬取数据写入Mysql的案例,信息如下: 1、Mysql数据库地址是:192.168.1.20 ,mysql用户名是:root, Mysql密码是࿱…...
【FAQ】如何配置PCoIP零客户端AWI能访问
应用场景 在安全性要求较高的环境中,禁用 AWI 并使用 PCoIP 管理控制台配置端点,建议隐藏 OSD 以提高安全性。 通过OSD和AWI: 阻止 PCoIP 管理工具管理 PCoIP 零客户端。禁用对 Tera2 PCoIP Zero Client 的 AWI 的管理访问。下次访问 AWI 或 OSD 时强…...
RAGFlow:构建高效检索增强生成流程的技术解析
引言 在当今信息爆炸的时代,如何从海量数据中快速准确地获取所需信息并生成高质量内容已成为人工智能领域的重要挑战。检索增强生成(Retrieval-Augmented Generation, RAG)技术应运而生,它将信息检索与大型语言模型(L…...
go语言中defer使用指南
目录 1.使用场景 2.执行顺序 3.for循环中的defer及defer中的闭包陷阱 4.defer与返回值的关系 5.总结 1.使用场景 在编程的时候,经常需要打开一些资源,比如数据库连接、文件、锁等,这些资源需要在用完之后释放掉,否则会造成内…...
成熟软件项目解决方案:360°全景影像显控软件系统
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/147425300 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、Open…...
域名解析体系中 IPv4/IPv6 地址切换的关键技术剖析
前言: 对接的一家学校业务,学校老师要求域名解析既能解析到ipv4地址又能解析到ipv6地址。听学校老师叙述(还是会考察v6开通率的),所以通过这个方法来实现的,域名解析到ipv6和ipv4都可以。 准备一台机器 机…...
PHP 爬虫如何获取 1688 商品详情(代码示例)
在电商领域,获取 1688 商品的详细信息对于市场分析、选品上架、库存管理和价格策略制定等方面至关重要。1688 作为国内领先的 B2B 电商平台,提供了丰富的商品数据。通过 PHP 爬虫技术,我们可以高效地获取 1688 商品的详细信息,包括…...
Mysql的redolog
保证事务持久性,用于崩溃恢复,崩溃恢复时,把redo上记载的页读到内存,对其修改,变为脏页,刷盘运用于WAL技术,将随机写改为顺序写 redo log有三种状态: 存在 redo log buffer 中&…...
C++ 哈希表
1. 哈希表的概念 在vector、list的顺序结构中,查找效率为 O ( N ) O(N) O(N),在set、map的树型结构中,查找效率为 O ( l o g 2 N ) O(log_2{N}) O(log2N),有没有更优的结构 —— 哈希表 如果让数据按照某种规则映射到某个值&a…...
【pytorch学习】土堆pytorch笔记1
学习参考 仓库 https://github.com/xiaotudui/pytorch-tutorialhttps://github.com/xiaotudui/pytorch-tutorial https://github.com/AccumulateMore/CV 参考博客 https://blog.csdn.net/weixin_44216612/article/details/124203730? https://www.morinha.cc/posts/cours…...
使用Python+OpenCV将多级嵌套文件夹下的视频文件抽帧
使用PythonOpenCV将多级嵌套文件夹下的视频文件抽帧 import os import cv2 import time# 存放视频文件的多层嵌套文件夹路径 videoPath D:\\videos\\ # 保存抽帧的图片的文件夹路径 savePath D:\\images\\if not os.path.exists(savePath):os.mkdir(savePath) video_num 0f…...
ASP.Net Web Api如何更改URL
1.找到appsettings.json 修改如下: 主要为urls的修改填本机私有地址即可 {"Logging": {"LogLevel": {"Default": "Information","Microsoft.AspNetCore": "Warning"}},"AllowedHosts": &q…...
毕业论文设计基本内容和要求:
毕业设计基本内容和要求: 研究内容 调查了解LAMP架构和PHP开发; 学习百度旅游调用的其他产品线服务并熟悉请求接口; 学习社区业务层规范; 设计并实现旅游主要模块; 技术指标 熟悉企业中流程运转的方式,…...
XML内容解析成实体类
XML解析成实体类 解析方法实体类测试 说明:直接上干货,不废话 解析方法 public static List<PlatJuMinBaoXian> parse(String xmlString) {List<PlatJuMinBaoXian> result new ArrayList<>();try {// 创建 DocumentBuilderDocumentB…...
推公式——耍杂技的牛
由图可知,只要存在一个逆序,把他们交换一下,最大风险值就会降低,答案更优,因此最优解是按照wisi从小到大升序排列,顺次计算每头牛的危险系数,最大值即是答案。 #include <iostream> #inc…...
Vue指令详解:从入门到精通
前言 Vue.js作为当下最流行的前端框架之一,其指令系统是Vue最核心的特性之一。指令是Vue模板中带有v-前缀的特殊属性,它们为HTML元素添加了特殊的响应式行为。本文将全面介绍Vue的各种指令及其用法。 一、Vue指令概述 Vue指令是带有v-前缀的特殊属性&…...
准确--CentOS 7 配置 Chrony 同步阿里云 NTP 时间服务器及手动同步指南
本文档介绍如何在 CentOS 7 系统上配置 chrony 服务,使其与阿里云 NTP 时间服务器保持时间同步,并说明如何在需要时手动触发一次立即同步。 前提条件: 拥有一台 CentOS 7 服务器。拥有 root 权限或可以使用 sudo 命令。服务器可以访问互联网 (使用公共…...
CLIP | 训练过程中图像特征和文本特征的在嵌入空间中的对齐(两个投影矩阵的学习)
在多模态学习(Multimodal Learning)中,投影矩阵 W i W_i Wi 和 W t W_t Wt 是通过训练过程学习得到的。它们的作用是将图像特征 I f I_f If 和文本特征 T f T_f Tf 映射到一个共享的嵌入空间(embedding space…...
Spring中配置 Bean 的两种方式:XML 配置 和 Java 配置类
在 Spring 框架中,配置 Bean 的方式主要有两种:XML 配置 和 Java 配置类。这两种方式都可以实现将对象注册到 Spring 容器中,并通过依赖注入进行管理。本文将详细介绍这两种配置方式的步骤,并提供相应的代码示例。 1. 使用 XML 配置的方式 步骤 创建 Spring 配置文件 创建…...
STM32 外部中断
引言:嵌入式系统中的中断革命 在嵌入式系统开发领域,中断机制堪称现代微控制器的"神经系统"。它通过高效的异步事件处理机制,彻底改变了传统轮询式系统资源利用率低下的局面。STM32作为业界领先的ARM Cortex-M系列微控制器&#x…...
4.22学习总结
开始写有关图的算法 图的一些基本概念,图的存储主要以 邻接矩阵,邻接表(数组链表的实现方式)的方式存储 邻接矩阵的优点: 表达方式简单,易于理解检查任意两个顶点间是否存在边的操作非常快适合稠密图&a…...
list底层原理
一.结构体的构建 这个用结构体更好,因为我们需要不断的访问节点,类中的成员函数一般都是私有的,需要还用友元函数什么的。 这个是我们来实现的类,我们实现的是双向带头循环链表,这个是实用性最高的一个链表的形式。 这…...
python+selenium+pytest自动化测试chrome driver版本下载
chrome浏览器chromedriver版本下载地址 https://googlechromelabs.github.io/chrome-for-testing/#stable...
发布一个npm包,更新包,删除包
发布一个npm包,更新包,删除包 如何将自己的项目 发布为一个 npm 包,并掌握 更新 和 删除 的操作流程。 🚀 一、发布一个 npm 包的完整流程 ✅ 1. 注册并登录 npm 账号 如果还没有账号,先注册: 官网注册&…...
代码随想录训练营38天 || 322. 零钱兑换 279. 完全平方数 139. 单词拆分
322. 零钱兑换 思路: 动规5部曲: 1.确定dp数组以及下标的含义: dp数组表示能凑出零钱的最少硬币数,下标表示要兑换的零钱 2.确定递推公式: j为背包容量,i为物品的下标 dp[ j ] min(dp[ j -coins[ i…...
(最新)华为 2026 届校招实习-硬件技术工程师-硬件通用/单板开发—机试题—(共14套)(每套四十题)
(最新)华为 2026 届校招实习-硬件技术工程师-硬件通用/单板开发—机试题—(共14套)(每套四十题) 本套题目为硬件通用题目,适合多个岗位方向,如下 **岗位——硬件技术工程师 岗位意向…...