从原理到实践:NFS复杂故障处理方法论
#作者:孙德新
文章目录
- 一、nfs使用概述
- 二、疑难故障现象描述
- 三、原理分析
- 四、解决方案
- 五、优化服务器资源配置:
- 六、故障案例总结
- 七、故障预防建议
- 八、nfs优化方法
一、nfs使用概述
NFS(Network File System)是一种分布式文件系统协议,允许用户通过网络访问远程服务器上的文件。尽管其功能强大且广泛使用,但在实际部署中,由于配置不当、网络问题或软件缺陷等原因,可能会遇到各种疑难故障。本文将深入探讨一个典型的NFS疑难故障案例,包括故障现象、原理分析、根本原因及解决方案。
Nfs主机环境:
操作系统:国产操作系统
Nfs服务端ip:10.x.x.a
客户端ip:10.x.x.b
客户端ip:10.x.x.c
二、疑难故障现象描述
某公司电商核心业务环境中多个客户端通过NFS挂载了一个共享目录用于存储业务数据。业务运行有一段时间后,部分客户端开始报告无法正常访问该共享目录,具体表现为:
- 文件读写速度显著下降。
- 一些操作如创建新文件或目录失败。
- 客户端偶尔会显示“Stale file handle”错误。
三、原理分析
NFS工作原理简介:NFS基于RPC(Remote Procedure Call)机制实现远程文件系统的访问。客户端发起请求到NFS服务器,服务器处理请求并将结果返回给客户端。整个过程涉及多个步骤,包括身份验证、权限检查以及数据传输等。
-
故障原因
公司运维同事第一时间在现场分析故障,并咨询了业务情况,业务压力,各个部门是否有变更情况。但运维同事给出了大致原因如下:
网络问题:网络不稳定可能导致连接中断或延迟增加,影响NFS性能。
服务器资源限制:如果服务器资源(CPU、内存、磁盘I/O)被耗尽,会导致响应时间延长甚至服务不可用。
客户端配置问题:不正确的挂载选项可能导致性能瓶颈或兼容性问题。
版本差异:不同版本的NFS之间可能存在兼容性问题,尤其是当使用了不同的安全选项时。
锁管理:NFS依赖于NLM(Network Lock Manager)来管理文件锁定。若NLM服务出现问题,可能会导致文件操作异常。
根因定位 -
为了确定上述假设中的哪一个是导致故障的根本原因,我们同事采取了一系列诊断措施:(有应急解决手册)
网络监控:使用工具如Wireshark捕获NFS流量,检查是否存在丢包、延迟过高等情况。
服务器资源监测:利用top、vmstat等命令查看服务器负载状况。
日志分析:检查NFS服务器和客户端的日志文件,寻找任何异常信息。
测试环境重现:尝试在隔离环境下复现相同的问题,以便进一步排查。
经过详细排查分析发现,主要问题是由于服务器端的一个关键组件——rpc.statd服务未能正确启动,导致NFS客户端无法获取有效的文件句柄,进而出现“Stale file handle”错误。此外,服务器端的磁盘I/O接近饱和状态,也对整体性能造成了负面影响。
四、解决方案
针对上述根因,公司运维领导非常重视,运维部门制定了以下解决策略:
重启并确保rpc.statd服务正常运行:首先需要确保所有必要的RPC服务都处于活动状态。可以通过如下命令重启服务:
sudo systemctl restart rpcbind
sudo systemctl restart nfs-server
sudo systemctl restart rpc-statd
五、优化服务器资源配置:
根据故障根因和历史故障经验,运维同事上报了优化方案,经过讨论。公司运维部领导要求如下优化
- 扩展磁盘容量或者迁移到更高性能的存储设备。
- 调整内核参数以优化磁盘I/O性能,例如调整/proc/sys/vm/dirty_ratio和dirty_background_ratio等值。
- 检查并修正客户端挂载选项:确保客户端使用适当的挂载选项。例如,在挂载时可以考虑添加nolock选项绕过NLM,避免锁相关问题;同时设置合适的超时参数,如timeo=600。
- 升级至最新稳定版本:如果当前使用的NFS版本较旧,建议升级到最新版本,这通常包含了许多已知问题的修复。
- 实施持续监控与预警机制:建立完善的监控体系,实时跟踪NFS服务器的状态变化,并设置告警规则及时通知运维人员处理潜在问题。
六、故障案例总结
通过对这一典型案例的研究,我们可以得出结论:虽然NFS是一个成熟且强大的分布式文件系统解决方案,但在实际应用过程中仍然面临着诸多挑战。定期维护、合理配置以及充分准备应急预案是保障NFS系统稳定运行的关键所在。希望本案例能够为面临类似困境的企业提供有价值的参考。
七、故障预防建议
为了预防故障再次发生,以下是运维同事给出的一些故障预防建议,这些措施可以帮助提前发现潜在问题,并减少故障发生的可能性。减少公司的经济损失。
- 定期维护与更新
软件更新:保持操作系统和NFS相关软件(如NFS服务器、客户端库等)为最新版本。这有助于修复已知的安全漏洞和性能问题。
定期重启服务:虽然不推荐频繁重启关键服务,但定期重启可以清理内存泄漏等问题,确保服务始终处于最佳状态。 - 优化配置参数
调整内核参数:根据实际工作负载调整内核参数,例如调整/proc/sys/vm/swappiness以优化内存使用效率,或者调整网络缓冲区大小以适应高并发请求。
合理设置超时值:在挂载选项中设置合理的超时值(如timeo和retrans),以便在网络不稳定时自动重试连接,避免因短暂网络抖动导致的服务中断。 - 加强监控与预警
实时监控资源使用情况:使用工具如Grafana、Prometheus或Zabbix来持续监测CPU、内存、磁盘I/O和网络流量等关键指标的变化趋势。
建立告警机制:当监控指标超出预设阈值时,及时发送告警通知给运维团队,以便快速响应并解决问题。 - 数据备份与恢复计划
定期备份重要数据:制定详细的备份策略,包括全量备份和增量备份,确保在发生灾难性事件时能够迅速恢复数据。
测试恢复流程:定期进行数据恢复演练,验证备份的有效性和恢复过程的可行性。 - 安全加固措施
限制访问权限:仅允许受信任的IP地址访问NFS共享,防止未经授权的访问尝试。
启用加密传输:对于敏感数据,考虑启用NFSv4.x支持的Kerberos认证和加密功能,保护数据传输安全。
八、nfs优化方法
NFS性能优化的具体方法
为了确保NFS系统能够高效运行,以下是一些具体的性能优化方法。这些方法涵盖了从服务器端到客户端的各个方面,帮助提高数据传输速度、减少延迟,并最大化资源利用率。
- 调整NFS版本
使用最新版NFS:尽量使用NFSv4.x及以上版本,因为它们提供了更好的性能和安全性改进,如支持Kerberos认证、状态管理等。
启用异步写入:在挂载选项中添加async参数,允许服务器异步处理写操作请求,从而加快响应速度。但要注意,这可能会牺牲一定的数据一致性保证。 - 优化挂载选项
增加读写缓冲区大小:通过设置rsize和wsize参数来指定每次读取和写入的最大字节数(例如rsize=1048576 wsize=1048576),以充分利用网络带宽。
启用noatime选项:默认情况下,访问文件会更新其最后访问时间戳,这增加了额外的I/O开销。使用noatime可以避免这种无谓的操作,提升性能。 - 服务器端配置优化
调整RPC线程数:根据工作负载调整rpc.nfsd服务的线程数量,可以通过编辑/etc/sysconfig/nfs文件中的RPCNFSDCOUNT变量值来实现。
开启并行处理:对于高并发环境,可以在NFS导出配置中启用async模式以及nfsd的多线程支持,提高处理效率。 - 磁盘I/O优化
采用SSD存储:如果条件允许,将NFS共享的数据存放在固态硬盘上,可以显著减少磁盘I/O等待时间。
RAID配置:合理配置RAID级别(如RAID 10)以平衡读写性能与冗余度,同时利用硬件加速卡进一步提升性能。 - 网络优化
Jumbo Frames支持:在网络设备和服务器上启用巨型帧(通常为9000字节),可以减少包的数量,降低CPU使用率并提高吞吐量。
TCP窗口缩放:启用TCP窗口缩放选项,扩大TCP接收窗口大小,有助于在高延迟网络环境下提升传输效率。 - 缓存策略
客户端缓存:利用actimeo参数控制属性缓存的时间长度,减少对服务器的查询次数;使用lookupcache来控制目录项缓存的行为。
服务器端缓存:考虑部署专门的缓存解决方案,如Varnish Cache或本地内存缓存,减轻后端存储的压力。 - 安全性和性能之间的权衡
选择适当的安全机制:虽然加密传输能增强安全性,但它也会带来额外的计算负担。根据实际需求选择合适的安全措施,在不影响业务的前提下保护敏感信息。
通过上述方法的综合应用,可以有效提升NFS系统的整体性能。值得注意的是,每种优化策略都有其适用场景,具体实施时应结合实际情况进行测试和调整,确保达到最佳效果。
相关文章:
从原理到实践:NFS复杂故障处理方法论
#作者:孙德新 文章目录 一、nfs使用概述二、疑难故障现象描述三、原理分析四、解决方案五、优化服务器资源配置:六、故障案例总结七、故障预防建议八、nfs优化方法 一、nfs使用概述 NFS(Network File System)是一种分布式文件系…...
SAP FI固定资产报错:在折旧范围 30 中的业务与帐面净值规则冲突 - 解决方法
一、问题描述 消息号 AA660 诊断 由于和在区域30中检查的净帐面价值规则相反,不能过帐该凭证。 过程 当输入比例值时会出现此错误。比例值超过过帐金额,如 100 的后续资本化,但该金额的比例折旧为 110。请检查输入项并做需要的更正。 二、…...
Go语言从零构建SQL数据库(8):执行计划的奥秘
从SQL语句到高效查询:执行计划的奥秘 想象你是一位旅行者,想从北京到上海。你告诉导航软件你的目的地(类似SQL查询),但导航软件需要为你规划具体路线——是走高速公路还是国道?是选择最短距离还是最省时间…...
UNet 改进(12):UNet with ECA (Efficient Channel Attention) 网络
详解 下面将详细解析这个实现了ECA注意力机制的UNet网络代码。 1. 代码概述 代码实现了一个带有Efficient Channel Attention (ECA)模块的UNet网络架构。 UNet是一种常用于图像分割任务的编码器-解码器结构网络,而ECA模块则是一种轻量级的通道注意力机制,可以增强网络对重…...
关于 AI驱动的智慧家居、智慧城市、智慧交通、智慧医疗和智慧生活 的详细解析,涵盖其定义、核心技术、应用场景、典型案例及未来趋势
以下是关于 AI驱动的智慧家居、智慧城市、智慧交通、智慧医疗和智慧生活 的详细解析,涵盖其定义、核心技术、应用场景、典型案例及未来趋势: 一、AI智慧家居 1. 定义与核心功能 定义:通过AI与物联网(IoT)技术&#…...
Windows11-24h2的任务栏时间显示秒 笔记250417
Windows11-24h2的任务栏时间显示秒 笔记250417 打开注册表编辑器 WinR输入 regedit 回车。 修改注册表项 定位到路径: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced右键右侧空白处 → 新建【DWORD (32位)值】→ 命名为 ShowSec…...
机器学习的简单应用
什么是机器学习? 定义: 机器学习(Machine Learning, ML) 是人工智能(AI)的一个子领域,其核心是 通过算法让计算机从数据中自动学习规律,并基于这些规律对新数据做出预测或决策…...
双 Token 与 单 Token 优缺点
双Token与单Token认证机制对比 在Web应用开发中,身份认证和授权是保障系统安全的核心环节。随着技术演进,基于Token的认证机制逐渐取代传统Session方案,而双Token与单Token架构的选型争议也日益成为开发者关注的焦点。本文将从技术原理、优缺…...
第五章 SQLite数据库:6、SQLite 常用语法1
SQLite Insert 语句 SQLite 的 INSERT INTO 语句用于向数据库的某个表中添加新的数据行。 语法 INSERT INTO 语句有两种基本语法,如下所示: INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)] VALUES (value1, value2, value3,...…...
JVM考古现场(二十二):降维打击·用二向箔优化内存模型
"警报!三维堆内存正在经历二维化坍缩!" 我腰间的玄铁令突然震动,在蜀山剑派的量子剑阵中投射出诡异的曼德博分形——这是三体文明发动降维打击的铁证! 楔子:二向箔奇点降临 昆仑镜监控日志: // …...
eclipse常用快捷键
Eclipse 是一款功能强大的 Java 集成开发环境(IDE),熟练掌握其快捷键可以显著提高开发效率。下面是一些常用的 Eclipse 快捷键分类介绍: 编辑相关快捷键 操作快捷键说明内容辅助Alt /调出代码提示和自动补全功能,根…...
TAS(Thin-Agent服务)的先决条件与安装指南
TAS(Thin-Agent服务)的先决条件与安装指南 2.1 支持的操作系统 TAS支持以下操作系统环境: Windows 服务器 • Windows Server 2008 R2 SP1 • Windows Server 2012 R2 • Windows Server 2016 Linux 发行版 • Red Hat Enterprise Linux (RHE…...
无线uniapp调试设备
创作灵感来自某篇博客 uniapp安卓手机无线真机调试教程_uniapp无线真机调试-CSDN博客...
TAS启动与卸载
3. 启动TAS(Thin-Agent服务) TAS在安装完成后通常会自动启动,并在系统重启时自启。如需手动启动,请按以下步骤操作:  3.1 在Windows上启动TAS 1. 打开 Windows服务管理器: ◦ 按下 Win R&…...
Oracle测试题目及笔记(多选)
所有题目来自于互联网搜索 在以下概要文件的陈述中,哪两个是正确的? (D 和 E) A. 概要文件不能被用来为账户加锁 B. 概要文件不能被用来控制资源使用 C. 数据库管理员可以使用概要文件更改用户密…...
定制化突围:遨游防爆手机的差异化竞争策略
在石油、化工、矿山等危险作业场景中,随着工业智能化与安全生产需求的升级,行业竞争逐渐从单一产品性能的比拼转向场景化解决方案的深度较量。遨游通讯以九重防爆标准为技术底座,融合多模稳控系统与全景前瞻架构,开辟出"千行…...
c#清理释放内存
虽然c#具有内存管理和垃圾回收机制,但是在arcobjects二次开发嵌入到arcgis data reviewet还会报内存错误。需要强制清理某变量内存方法如下: 1设置静态函数ReleaseCom函数 public static void ReleaseCom(object o) { try{System.Runtime.InteropServices.Marsh…...
从入门到精通【MySQL】 JDBC
文章目录 📕1. 什么是JDBC📕2. JDBC的使用原理📕3. 使用JDBC具体步骤✏️3.1 标题获取MySQL驱动包并修改pom.xml文件✏️3.2 建立数据库连接✏️3.3 创建Statement✏️3.4 执行SQL语句✏️3.5 处理返回结果✏️3.6 释放资源和关闭连接 &#…...
Sigfox技术|独特的运营模式 + 超窄带技术 + 非授权频谱
在物联网(IoT)通信技术的快速发展中,低功耗广域网(LPWAN)成为了推动智能设备连接的重要基础技术之一。作为LPWAN中的一种专有通信协议,Sigfox以其低功耗和广覆盖的特点脱颖而出,在物联网应用中占…...
【Dify 前端源码解读系列】MDX 让 API 文档焕发生机
什么是 MDX? MDX 是一种强大的文档格式,它允许在 Markdown 内容中使用 JSX。这意味着你可以在 Markdown 的简洁语法中嵌入交互式组件,使文档不再局限于静态内容。MDX 完美地将 Markdown 的简单与 JSX 的灵活性结合在一起,特别适合需要丰富交互体验的文档场景。 MDX 的优势…...
docker能用来干什么的
最近项目像简快部署docker,但是发现源被隔离,暂时先记下,以后有机会再研究。 下面摘抄的网文网址如下:Docker能用来干什么的 ?_超级码客_海量程序员面试题库 | 笔试题库 | 面试求职考试神器 docker能用来干什么的 docker能用来做…...
dispaly: inline-flex 和 display: flex 的区别
display: inline-flex 和 display: flex 都是 CSS 中用于创建弹性盒子布局(Flexbox)的属性值,但它们之间有一些关键的区别,主要体现在元素如何在页面上被渲染和它们对周围元素的影响。 主要区别 1,块级 vs 行内块级 d…...
AI Agent系列(九) -Data Agent(数据分析智能体)
AI Agent系列【九】 前言一、Data Agent场景二、Data Agent核心因素2.1 数据源2.2 大模型2.3 应用及可视化 三、Data Agent应用场景 前言 Data Agent就是在大模型基础上构建一个数据分析的智能体,是一种基于人工智能技术,特别是大模型技术的数据分析智…...
【工具】视频翻译、配音、语音克隆于一体的一站式视频多语言转换工具~
Krillin AI 是全能型音视频本地化与增强解决工具。这款简约而强大的工具,集音视频翻译、配音、语音克隆于一身,支持横竖屏格式输出,确保在所有主流平台(哔哩哔哩,小红书,抖音,视频号,…...
api护照查验-GO国内护照查验接口-身份安全卫士
在全球化浪潮汹涌的当下,跨境电子商务蓬勃发展,国际旅游持续升温,留学热潮也未曾减退。在这些跨越国界的活动背后,护照作为国际旅行的关键凭证,其真伪核验的重要性愈发凸显。护照查验接口,宛如一颗璀璨的新…...
在 Tailwind CSS 中优雅地隐藏滚动条
在开发中,我们经常需要隐藏滚动条但保持滚动功能,这在构建现代化的用户界面时很常见。 本文将介绍两种在 Tailwind CSS 项目中实现这一目标的方法,方便同学们记录和查阅。 方法一:使用 tailwind-scrollbar-hide 插件 这是一种更…...
【C++】深入浅出之继承
目录 继承的概念及定义继承的定义继承方式和访问限定符protected与private的区别 默认继承方式继承类模板基类和派生类对象赋值兼容转换继承中的作⽤域(隐藏关系)相关面试题⭐ 派生类的默认成员函数⭐构造函数拷贝构造赋值重载析构函数 继承与友元继承与静态成员继承的方式菱形…...
Linux软件仓库
Linux常见软件包类型: dbdDebian家族及Ubuntu等基于Debian的Linux操作系统所使用的软件包管理格式rpmRed Hat Linux、Fedora、openSUSE、Mandriva和Mageia等使用的标准软件包管理格式源代码软件包一般为“.tar.gz”、“.tar.bz2”等格式的压缩包包含程序的原始代码…...
Git创建分支操作指南
1. 创建新分支但不切换(仅创建) git branch <分支名>示例:创建一个名为 new-feature 的分支git branch new-feature2. 创建分支并立即切换到该分支 git checkout -b <分支名> # 传统方式 # 或 git switch -c <分支名&g…...
从基础概念到前沿应用了解机器学习
一、机器学习基础概念 1.机器学习定义与核心价值 机器学习是人工智能的重要分支,通过算法让计算机系统能够从数据中自动学习并改进性能。其核心价值在于: 自动化决策:无需显式编程即可完成复杂任务 持续进化:随着数据积累不断…...
跨平台嵌入式音视频开发指南:EasyRTC音视频通话的多场景适配与AI扩展能力
在数字化通信技术飞速发展的今天,实时音视频通信已成为众多智能设备和应用的核心功能。从智能家居到远程办公,从在线教育到智能安防,音视频通信技术的应用场景不断拓展,对低延迟、高稳定性和跨平台兼容性的需求也在持续增长。在这…...
停止回答 docker启动redis
在Docker中启动Redis服务器是一个相对直接的过程。下面是一些步骤和示例,帮助你在Docker容器中运行Redis。 步骤 1: 安装Docker 确保你的系统上已经安装了Docker。你可以从Docker官网下载并安装Docker。 步骤 2: 拉取Redis镜像 首先,你需要从Docker Hu…...
2025年4月16日华为留学生笔试第二题200分
📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 02. 图书馆借阅管理系统 问题描述 卢小姐是一家大学图书馆的管理员,她需要开发一个简单的图书借阅管理系统来处理日常的图书流通操作。系统需要支持以下四种操作: in s:表示一本…...
0417 Langchain
Langchain就是,帮助大模型和外部计算、数据结合起来。 pip install langchain pip install langchain-openai 文档 登录并获取LangSmish(监控)的API key: 根据AI框架:Langchain的环境和监控_哔哩哔哩_bilibili htt…...
SQL Server 游标介绍
SQL Server 游标是用于对查询结果集进行逐行处理的数据库对象。下面从基本概念、使用步骤、示例代码、优缺点等方面详细介绍: 基本概念 游标提供了一种对从表中检索出的数据进行逐行操作的机制,它允许开发者在结果集中向前或向后移动,一次处…...
Linux:显示 -bash-4.2$ 问题(CentOS 7)
文章目录 一、原因二、错误示例三、解决办法 一、原因 在 CentOS 7 系统中,如果你看到命令行提示符显示为 -bash-4.2$,一般是 Bash shell 正在运行,并且它没有找到用户的个人配置文件,或者这些文件有问题而未能成功加载。这个提示…...
小数点舍入,round与Decimal的区别
两者对中间值(5)的处理不同 主要是精度问题 表面上是2.675 但是实际上不一定是2.675。 from decimal import Decimal, ROUND_HALF_UPprint(f{2.675:.20f}) print(f"{Decimal(f{2.675}):.20f}")# 使用 Python 内置的 round 函数进行四舍五入 …...
【华为】OSPF震荡引起CPU占用率高怎么解决?
原创:厦门微思网络 现象描述 如图所示,Switch_1、Switch_2、Switch_3和Switch_4配置了OSPF协议,发现Switch_1设备的CPU占用率高,ROUT任务占用率明显高于其他任务并且产生路由震荡。 故障组网图 原因分析 网络中IP地址冲突导致…...
2025年4月16日华为留学生笔试第三题300分
📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 03. 智慧城市网络优化 问题描述 K小姐是一家智慧城市服务提供商的网络架构师。她负责规划城市边缘计算节点的布局,以提供更快速、稳定的网络服务。 城市内有 n n...
禁用USB接口的电脑管理软件推荐
软件介绍 还在为同事随意插U盘拷贝文件而头疼?这款「USB守门员」堪称办公室数据防泄漏神器!不到100KB的迷你体积,却能让你瞬间掌控电脑的USB权限,操作简单到连小白都能秒变“技术大佬”! 禁用/启用,一键掌…...
FreeRTOS任务创建和删除简要概述
任务创建 函数原型:xTaskCreate()是创建任务的主要函数,其原型通常如下: BaseType_t xTaskCreate(TaskFunction_t pxTaskCode,const char * const pcName,const uint16_t usStackDepth,void * const pvParameters,UBaseType_t uxPriority,T…...
【C++初阶】第14课—缝合怪deque和优先队列、仿函数
文章目录 1. 双端队列deque1.1 认识deque1.2 deque的迭代器1.3 deque的常用接口1.4 deque的优缺点 2. 优先队列priority_queue2.1 认识priority_queue2.2 模拟实现优先队列priority_queue 3. 仿函数 在学习deque之前,回顾一下vector和list各自的优缺点 数据结构优点…...
通过helm在k8s中安装mysql 8.0.37
使用 Helm 在 Kubernetes 中安装 MySQL 8.0.37 是一个相对简单的过程。以下是详细步骤: 下载helm包 #添加 Helm 仓库 helm repo add bitnami https://charts.bitnami.com/bitnami#搜索mysql helm search repo mysql --versions NAME CHAR…...
人工智能 - browser-use:重新定义浏览器自动化的 AI 新范式
在浏览器自动化领域,Selenium 和 Playwright 等工具已成为开发者的标配。但随着网页复杂度的提升(如动态渲染、反爬虫机制、验证码等),传统工具逐渐暴露出效率低、扩展性差的缺陷。browser-use 的出现,通过深度融合人…...
Langchain-简单Demo
支持的模型 官方示例: #OpenAI pip install -qU langchain-openai import getpass import os os.environ["OPENAI_API_KEY"] getpass.getpass() from langchain_openai import ChatOpenAI model ChatOpenAI(model"gpt-4") #Anthropic pip ins…...
怎样才能设计好的自动化测试用例
设计一个好的自动化测试用例,就像写一段“自解释的、高质量的代码”——它应该清晰、可靠、独立、易维护,而且对测试目标有价值。 ✅ 好的自动化测试用例应具备的 8 大特性: 特性解释示例🎯 目标明确一个用例只验证一个点&#…...
NFC 碰一碰发视频源码搭建全流程详解,支持OEM
在移动互联网时代,便捷的数据传输方式备受关注。NFC(近场通信)技术以其操作简单、连接迅速的特点,为数据交互提供了新的可能。通过搭建 NFC 碰一碰发视频功能,用户只需将设备轻轻靠近,就能快速完成视频传输…...
vue入门:路由 router
文章目录 介绍安装配置路由模式嵌套路由路由传参编程式导航路由懒加载 底层原理 介绍 vue2 vue router API vue3 vue router API Vue Router 是 Vue.js 的官方路由管理器,它允许你通过不同的 URL 显示不同的组件,从而实现单页面应用(SPA&a…...
运营商二要素认证 API 接口具有哪些的好处?
目录 一、提高认证准确性 1.数据真实性可靠 2.实时验证效率高 3.双重验证更精准 4.多场景适用性强 5.动态更新数据准 二、增强安全性 1.防止身份冒用 2.抵御欺诈行为 3.保障数据安全 4.强化业务安全 5.支持安全审计与追溯 三、提升用户体验 1.操作简便快捷 2.认…...
从GPT到Gemini 大模型进化史
从GPT到Gemini:大模型进化史 在过去的几年里,人工智能领域经历了翻天覆地的变化,其中最引人注目的莫过于大规模语言模型的发展。从最初的GPT系列到最近的Gemini,这些模型不仅在技术上取得了重大突破,还在实际应用中展…...