当前位置: 首页 > news >正文

【HarmonyOS 5】鸿蒙星闪NearLink详解

【HarmonyOS 5】鸿蒙星闪NearLink详解

一、前言

鸿蒙星闪NearLink Kit 是 HarmonyOS 提供的短距离通信服务,支持星闪设备间的连接、数据交互。例如,手机可作为中心设备与外围设备(如鼠标、手写笔、智能家电、车钥匙等)通过星闪进行连接。

二、NearLink Kit 的接入与使用:

点击跳转官方文档地址
在这里插入图片描述

鸿蒙星闪(NearLink)的基本接入代码示例,包含设备发现、连接和数据传输的核心流程:

// NearLink设备管理服务示例import nearlink from '@ohos.nearlink';
import nearlinkSle from '@ohos.nearlink.sle';
import common from '@ohos.app.ability.common';// 星闪服务管理类
export class NearLinkManager {private context: common.UIAbilityContext | undefined;private deviceManager: nearlinkSle.SleDeviceManager | undefined;private connectedDeviceId: string | null = null;private dataChannel: nearlinkSle.SleDataChannel | undefined;constructor(context: common.UIAbilityContext) {this.context = context;}// 初始化星闪服务async initNearLinkService() {try {// 检查并请求星闪权限await this.checkAndRequestNearLinkPermission();// 创建设备管理器实例this.deviceManager = await nearlinkSle.getSleDeviceManager(this.context!);// 注册设备状态变化监听this.registerDeviceStateListener();console.info('NearLink service initialized successfully');} catch (error) {console.error(`Failed to initialize NearLink service: ${error}`);throw error;}}// 检查并请求星闪权限private async checkAndRequestNearLinkPermission() {// 权限检查逻辑// ...}// 开始扫描附近的星闪设备async startDiscovery() {if (!this.deviceManager) {throw new Error('Device manager not initialized');}try {// 配置扫描参数const discoveryConfig = {mode: nearlinkSle.SleDiscoveryMode.ACTIVE,duration: 30, // 扫描持续时间(秒)filter: {deviceTypes: [nearlinkSle.SleDeviceType.ALL]}};// 注册设备发现回调const callback = {onDeviceFound: (device: nearlinkSle.SleDevice) => {console.info(`Found device: ${device.deviceName}, type: ${device.deviceType}`);// 处理发现的设备,例如更新UIthis.onDeviceDiscovered(device);},onDiscoveryStateChanged: (state: number) => {console.info(`Discovery state changed: ${state}`);}};// 开始扫描await this.deviceManager.startDiscovery(discoveryConfig, callback);console.info('NearLink device discovery started');} catch (error) {console.error(`Failed to start discovery: ${error}`);throw error;}}// 处理发现的设备private onDeviceDiscovered(device: nearlinkSle.SleDevice) {// 这里可以添加设备过滤逻辑// ...// 通知UI更新设备列表// ...}// 连接到指定星闪设备async connectToDevice(deviceId: string) {if (!this.deviceManager) {throw new Error('Device manager not initialized');}try {// 创建连接参数const connectParams = {timeout: 10000, // 连接超时时间(毫秒)connectionType: nearlinkSle.SleConnectionType.DATA_CHANNEL};// 连接设备const connectionResult = await this.deviceManager.connect(deviceId, connectParams);if (connectionResult.resultCode === 0) {this.connectedDeviceId = deviceId;this.dataChannel = connectionResult.dataChannel;console.info(`Connected to device: ${deviceId}`);// 注册数据接收回调this.registerDataReceiveListener();} else {console.error(`Failed to connect device, error code: ${connectionResult.resultCode}`);throw new Error(`Connection failed: ${connectionResult.resultCode}`);}} catch (error) {console.error(`Failed to connect device: ${error}`);throw error;}}// 注册数据接收监听器private registerDataReceiveListener() {if (!this.dataChannel) return;this.dataChannel.on('dataReceived', (data: ArrayBuffer) => {// 处理接收到的数据const decoder = new TextDecoder();const message = decoder.decode(data);console.info(`Received data: ${message}`);// 通知UI有新数据到达// ...});}// 发送数据到已连接设备async sendData(message: string) {if (!this.dataChannel) {throw new Error('Data channel not initialized');}try {const encoder = new TextEncoder();const data = encoder.encode(message).buffer;// 发送数据await this.dataChannel.send(data);console.info(`Data sent successfully: ${message}`);} catch (error) {console.error(`Failed to send data: ${error}`);throw error;}}// 断开与设备的连接async disconnect() {if (!this.deviceManager || !this.connectedDeviceId) return;try {await this.deviceManager.disconnect(this.connectedDeviceId);this.connectedDeviceId = null;this.dataChannel = undefined;console.info('Device disconnected');} catch (error) {console.error(`Failed to disconnect device: ${error}`);throw error;}}// 注册设备状态变化监听private registerDeviceStateListener() {if (!this.deviceManager) return;this.deviceManager.on('deviceStateChanged', (params) => {console.info(`Device state changed: ${JSON.stringify(params)}`);// 处理设备状态变化// ...});}// 释放资源async release() {await this.disconnect();if (this.deviceManager) {try {await this.deviceManager.release();console.info('NearLink resources released');} catch (error) {console.error(`Failed to release resources: ${error}`);}}}
}

三、鸿蒙星闪指标对比

以下是鸿蒙星闪、蓝牙和NFC在技术性能、应用场景、成本与生态系统等方面的区别表格:

比较项目鸿蒙星闪蓝牙NFC
传输速率最高可达2.5Gbps,低功耗模式下峰值速率可达12Mbps蓝牙5.2的传输速率为400Mbps,异步连接允许一个方向的数据传输速率达到721kbps,反向速率57.6kbps无(数据传输速率通常远低于前两者)
延迟表现传输延迟可低至20微秒,响应时延为0.25ms时延约为600微秒,响应时延约为10ms无(主要用于近距离快速交互,不强调延迟指标)
连接设备数量支持最多4096台设备同时连接一般只能连接8台设备,1个蓝牙设备可以同时加入8个不同的微网无(一般用于一对一的快速连接,不强调多设备连接)
抗干扰能力采用多种抗干扰技术,抗干扰能力比蓝牙提升10dB以上采用跳频展频技术,抗干扰性强,不易窃听无(工作距离短,干扰相对较小)
功耗表现采用先进的功耗管理策略,功耗仅相当于蓝牙的60%功耗较低,适用于多种低功耗设备功耗较低(工作时间短)
消费电子领域应用实现高清无损音频传输和低延迟的交互体验,如华为MatePad Pro 13.2英寸平板电脑和FreeBuds Pro 3无线耳机等产品广泛用于无线耳机、音箱等设备的音频传输可用于设备之间的快速配对和数据传输,如手机与音箱、耳机等设备快速连接
智能家居领域应用能实现多种智能设备的无缝连接,支持更多设备同时在线用于连接智能家电,实现远程控制等功能可通过NFC标签快速切换手机模式或控制智能家电开关、模式等
智能汽车领域应用可实现车内外设备的高速、低延迟数据交换,提升自动驾驶的安全性和效率用于连接车载设备,如车载蓝牙电话、蓝牙音乐播放等可用于汽车钥匙功能,通过手机NFC实现车辆解锁、启动等
工业制造领域应用能满足高精度控制和大数据传输的需求,推动工业4.0的实现用于工业设备之间的无线连接,如传感器数据传输等无(一般不用于工业制造场景)
成本相关解决方案、芯片模块等成本还比较高技术成熟,成本较低成本相对较低
生态系统生态系统还不够完善,支持星闪技术的设备相对较少拥有庞大而成熟的生态系统,几乎所有电子设备都支持蓝牙在移动支付、交通出行等领域有广泛的应用,生态系统较为成熟
连接方式与距离覆盖范围约为蓝牙的两倍,常规覆盖距离可达到20米,设备之间的连接需要在一定范围内进行配对和连接一般有效传输距离为10cm - 10m,增加发射功率可达到100米,需要进行配对和连接操作工作距离非常短,一般在几厘米以内,通常用于设备之间的近距离快速触碰连接

相关文章:

【HarmonyOS 5】鸿蒙星闪NearLink详解

【HarmonyOS 5】鸿蒙星闪NearLink详解 一、前言 鸿蒙星闪NearLink Kit 是 HarmonyOS 提供的短距离通信服务,支持星闪设备间的连接、数据交互。例如,手机可作为中心设备与外围设备(如鼠标、手写笔、智能家电、车钥匙等)通过星闪进…...

Java并发编程面试题总结

目录 线程有哪几种状态?状态如何流转? 创建线程的方式? 多线程有什么应用? 线程池的好处? 线程池的七个参数? 为什么不推荐使用jdk的Executors创建线程池? 线程池的执行流程? 任务拒绝策略有哪些,怎么选择? 线程池的核心线程数和最大线程数怎么设定…...

LAMP项目部署实战

一、LAMP部署前期准备 1.1 关闭防火墙 # systemctl stop firewalld # systemctl disable firewalld 1.2 关闭SELinux SELinux(Security-EnhancedLinux)是美国国家安全局(NSA)对于强制访问控制的实现,是Linux历史上最杰出的新安全子系统。 …...

Dify与n8n全面对比指南:AI应用开发与工作流自动化平台选择【2025最新】

Dify与n8n全面对比指南:AI应用开发与工作流自动化平台选择【2025最新】 随着AI技术与自动化工具的迅速发展,开发者和企业面临着多种平台选择。Dify和n8n作为两个备受关注的自动化平台,分别专注于不同领域:Dify主要面向AI应用开发&…...

VBA_NZ系列工具NZ10:VBA压缩与解压工具

我的教程一共九套及VBA汉英手册一部,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到数据库,到字典,到高级的网抓及类的应用。大家在学习的过程中可能会存在困惑,这么多知识点该如何组织…...

EFT不过整改思路与调试经验

EFT是如何影响EUT的: EFT试验是为了验证电气和电子设备对诸如来自切换瞬态过程(切断感性负载、继电器触点弹跳等)的各种类型瞬变骚扰的抗扰度。EFT干扰是在电路中感性负载断开时产生的,它的特点是干扰信号不是单个脉而是一连串的脉冲群。EFT 干扰可以在…...

2.安卓逆向2-adb指令

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于:图灵Python学院 工具下载: 链接:https://pan.baidu.com/s/1bb8NhJc9eTuLzQr39lF55Q?pwdzy89 提取码&#xff1…...

VSCode CMake工作流

Foreword 之前看到CMake有这么多选项,感觉不简单,还是看下别人在这里设计了多少东西 CMake 整体来说CMake遵循这样一套结构 操作-操作预设(如果有的话)-操作目标(如果有的话)比如 Configure-Configure…...

【上位机——WPF】App.xml和Application类简介

App.xml和Application类简介 概述App.xamlApp.xaml.cs 入门代码App.xamlMainWindow.xml Application生命周期窗体的声明周期 概述 xaml类型的文件包含两部分,一部分以.xaml扩展名结尾的前端代码,另一部分以.xaml.cs结尾的后端代码,通常我们也…...

MySQL 8.0 OCP 1Z0-908 101-110题

Q101.which two queries are examples of successful SQL injection attacks? A.SELECT id, name FROM backup_before WHERE name‘; DROP TABLE injection; --’; B. SELECT id, name FROM user WHERE id23 oR id32 OR 11; C. SELECT id, name FROM user WHERE user.id (SEL…...

Linux/Centos7离线安装并配置MySQL 5.7

文章目录 前言1、安装包下载2、卸载MariaDB3、创建MySQL用户4、上传安装包5、创建数据目录和配置文件6、安装MySQL7、启动MySQL8、初始化MySQL9、退出验证新密码10、创建普通用户和库11、测试普通用户和库总结 前言 博主参考了一些大佬的文章,部分收费的就看不了了&…...

在Angular中使用Leaflet构建地图应用

Leaflet是一个用于创建地图的JavaScript库,它包含许多功能,并且非常适用于移动设备。 准备 nodejs: v20.15.0 npm: 10.7.0 angular: 19.2.10 创建一个地图应用工程 npx angular/cli new my-leaflet-app --stylecss --routingfalse --skip-tests提示 …...

GPU与NPU异构计算任务划分算法研究:基于强化学习的Transformer负载均衡实践

点击 “AladdinEdu,同学们用得起的【H卡】算力平台”,H卡级别算力,按量计费,灵活弹性,顶级配置,学生专属优惠。 引言 在边缘计算与AI推理场景中,GPU-NPU异构计算架构已成为突破算力瓶颈的关键技…...

iOS 抓包实战:从 Charles 到Sniffmaster 的日常工具对比与使用经验

iOS 抓包实战:从 Charles 到抓包大师 Sniffmaster 的日常工具对比与使用经验 抓包这件事,不是高级黑客才要做的。作为一名移动端开发,我几乎每天都要和网络请求打交道,尤其是 HTTPS 请求——加密、重定向、校验证书,各…...

【微服务】SpringBoot + Docker 实现微服务容器多节点负载均衡详解

目录 一、前言 二、前置准备 2.1 基本环境 2.2 准备一个springboot工程 2.2.1 准备几个测试接口 2.3 准备Dockerfile文件 2.4 打包上传到服务器 三、制作微服务镜像与运行服务镜像 3.1 拷贝Dockerfile文件到服务器 3.2 制作服务镜像 3.3 启动镜像服务 3.4 访问一下服…...

【Linux系统】从 C 语言文件操作到系统调用的核心原理

文章目录 前言lesson 15_基础IO一、共识原理二、回顾C语言接口2.1 文件的打开操作2.2 文件的读取与写入操作2.3 三个标准输入输出流 三、过渡到系统,认识文件系统调用3.1 open 系统调用1. 比特位标志位示例 3.2 write 系统调用1. 模拟实现 w 选项2. 模拟实现 a 选项…...

俄罗斯方块算法

俄罗斯方块是一款风靡全球 38 年的经典益智游戏,凭借其简单易学但难于精通的特点,成为游戏史上的不朽之作。 游戏界面与规则 游戏界面为 20 行10 列的可视区域。横向 X 轴区间为 [0,9],共 10 列;纵向 Y 轴区间为 [0&a…...

Node.js 循环依赖问题详解:原理、案例与解决方案

文章目录 一、什么是循环依赖?二、循环依赖的典型表现三、解决方案四、如何检测循环依赖五、循环依赖的隐藏危害 一、什么是循环依赖? 当两个或者多个模块互相直接或者间接引用时,就会形成循环依赖。例如: A.js → 依赖 → B.js…...

Linux系统编程——vfork函数的使用方法以及与fork函数的区别

vfork() 是 Linux 系统编程中与 fork() 类似的系统调用,用于创建一个新的子进程。它们都能创建子进程,但在实现机制和使用场景上有明显区别。 以下是对 vfork() 的详细介绍,包括: 使用方法 注意事项 与 fork() 的联系与区别 使…...

.NET 无侵入自动化探针原理与主流实现详解

目录 引言 一、.NET 无侵入自动化探针的原理 1.1 CLR Profiling API 核心机制 示例代码 1.2 CLR Instrumentation 核心机制 示例代码 1.3 反射和动态代理 核心机制 示例代码 1.4 DiagnosticSource 核心机制 示例代码 二、主流实现与工具 2.1 AppDynamics 实现原…...

大数据:新能源汽车宇宙的未来曲率引擎

** 发布日期:2025-05-14** 关键词:大数据、新能源、机器学习、碳中和、CSDN爆款 1. 大数据科普:定义、特征与技术核心 1.1 什么是大数据? 大数据(Big Data)指规模巨大、类型多样、生成速度快且价值密度低…...

创建你的第一个MCP服务

创建你的第一个MCP服务 Model Context Protocol (MCP) 中国天气查询服务创建教程 什么是 Model Context Protocol (MCP) Model Context Protocol (MCP) 是一种开放标准协议,允许大型语言模型(LLM)如 Claude 与外部系统和数据源进行交互。通…...

说一说Node.js高性能开发中的I/O操作

众所周知,在软件开发的领域中,输入输出(I/O)操作是程序与外部世界交互的重要环节,比如从文件读取数据、向网络发送请求等。这段时间,也指导项目中一些项目的开发工作,发现在Node.js运用中&#…...

小白入门:GitHub 远程仓库使用全攻略

一、Git 核心概念 1. 三个工作区域 工作区(Working Directory):实际编辑文件的地方。 暂存区(Staging Area):准备提交的文件集合(使用git add操作)。 本地仓库(Local…...

Protobuf3协议关键字详解与应用实例

一、核心语法与基础关键字 syntax 声明协议版本,必须为文件的第一行非空、非注释内容。 syntax "proto3"; // 显式指定proto3语法,否则编译器默认使用proto2message 定义消息类型,包含一组结构化字段。支持嵌套消息定义&#xff…...

阿克曼-幻宇机器人系列教程3- 机器人交互实践(Message)

上一篇文章介绍了如何通过topic操作命令实现与机器人的交互,本篇我们介绍如何通过Message(即topic的下一级)实现与机器人的交互。 和topic一样,首先在一个终端通过ssh命令登录机器人、启动机器人,然后打开另外一个终端…...

Leetcode刷题 | Day63_图论08_拓扑排序

一、学习任务 拓扑排序代码随想录 二、具体题目 1.拓扑排序117. 软件构建 【题目描述】 某个大型软件项目的构建系统拥有 N 个文件,文件编号从 0 到 N - 1,在这些文件中,某些文件依赖于其他文件的内容,这意味着如果文件 A 依…...

[Harmony]获取资源文件中.txt文件中的字符串

txt文件 src/main/resources/rawfile/userInfo.txt {"Code": 200,"Msg": "登录成功","RetData": {"Name": "shq","Phone": "18511111111","PostName": "按摩技师",&qu…...

matlab多项式

1. 多项式表示 多项式用行向量表示,按降幂排列系数。例如,多项式 3x22x1 表示为 [3 2 1]。 2. 创建多项式 直接输入系数:如 p [1 -3 3 -1] 表示 x3−3x23x−1。由根创建:使用 poly 函数。例如,根为 [1, 1, 1]&…...

手搓传染病模型(SEI - SEIAR )

在传染病防控的前沿研究中,构建精准的数学模型对于理解疾病传播机制、预测疫情走势以及制定有效干预策略至关重要。SEI - SEIAR 模型(易感媒介 \(S_m\) - 潜伏媒介 \(E_m\) - 感染媒介 \(I_m\) - 易感人群 S - 潜伏人群 E - 有症状感染者 I - 无症状感染…...

Ubuntu 安装 Redis

1. 下载 redis 下载地址:https://github.com/redis/redis 2. 解压 redis 把下载的软件包,上传到服务器的 /usr/local 目录中,执行解压命令 tar -zxvf redis-8.0.1.tar.gz 3. 安装 redis 安装依赖 sudo apt-get updatesudo apt-get ins…...

【QGIS二次开发】地图显示与交互-03

系列目录: 【QGIS二次开发】地图显示与交互-01_qgis二次开发加载地图案例-CSDN博客 【QGIS二次开发】地图显示与交互-02_setlayerlabeling-CSDN博客 3. 地图符号与色表 3.1 矢量图层符号设置 任务要求:双击图层树节点,实现图层中图元的符…...

28、动画魔法圣典:Framer Motion 时空奥义全解——React 19 交互动效

"在数字世界的夹缝中&#xff0c;存在着连接现实与虚拟的魔法纽带——这便是 Framer Motion 的时空秘术。" ——《前端魔法师手札卷七》 一、时空裂隙动画 - FLIP量子跃迁术 1. FLIP时空扭曲原理 <motion.divlayout // 开启时空裂隙transition{{type: "spr…...

Ken Thompson 和 Dennis Ritchie

Ken Thompson&#xff08;肯汤普逊&#xff09;和Dennis Ritchie&#xff08;丹尼斯里奇&#xff09;是计算机科学领域的两位传奇人物&#xff0c;他们对现代计算机技术的发展产生了深远影响。以下是关于他们的详细介绍&#xff1a; 1. ​​Ken Thompson​​ ​​出生​​&am…...

SQL:MySQL函数:条件函数(Conditional Functions)

目录 什么是条件函数&#xff1f; 常用 MySQL 条件函数总览表 1️⃣ IF() – 条件判断函数&#xff08;If Statement&#xff09; 2️⃣ IFNULL() – 空值判断与替代函数&#xff08;If Null&#xff09; 3️⃣ NULLIF() – 相等返回 NULL&#xff08;Null If Equal&#…...

初识Linux · IP分片

目录 前言&#xff1a; IP分片 分片vs不分片 如何分片 分片举例 三个字段 前言&#xff1a; 前文IP协议上和IP协议下我们已经把IP协议的报头的大多数字段介绍了&#xff0c;唯独有三个字段现在还有介绍&#xff0c;即16位标识&#xff0c;8位协议&#xff0c;13位片偏移…...

TCP 粘包

一、粘包问题详解 1. 粘包的概念 定义&#xff1a; 指在 TCP 通信中&#xff0c;由于发送方和接收方的读写速度、数据量不一致&#xff0c;导致多个数据包被错误地合并成一个数据包处理的现象。产生原因&#xff1a; TCP 是流式协议&#xff08;无边界&#xff09;&#xff0…...

第一个优化

agent项目 tool 调用外部服务时 选择了指数回避的重试机制 优化点&#xff1a;延迟时间那 加了一个随机的时间抖动 指数回避 我第一眼看到 这不就是 tcp重连机制吗 其实就是 如果当时网络波动 网况不好 || 服务正忙 &#xff0c;可以不急着在这个时候选择多次重试&#xff0c…...

LabVIEW的CAN通讯测试程序

该程序是基于 NI LabVIEW 平台开发的 CAN&#xff08;Controller Area Network&#xff0c;控制器局域网&#xff09;通讯测试程序。主要功能是对 CAN 通讯过程进行模拟、数据传输与验证&#xff0c;确保 CAN 通讯的正常运行和数据的准确传输。 程序详细说明 接口选择&#xff…...

视频质量分析时,遇到不同分辨率的对照视频和源视频,分辨率对齐的正确顺序。

背景 我们平时在做视频转码后&#xff0c;会用VMAF/PSNR得评分工具进行视频对比的评分&#xff0c;但是这几种客观评分方式都有一个要求就是分辨率要一模一样&#xff0c;因为这样才对像素点做数学运算。 但是分辨率对齐其实有两种选择&#xff0c;例如源视频是1080P&#xf…...

Kotlin并发请求的一些知识记录

private suspend fun fetchDataConcurrently(list: MutableList<MyType>,onRequestResult: (Int, List<MyType>?) -> Unit //高阶函数回调) {val deferredList mutableListOf<Deferred<MyType?>>()// 设定任务超时时间为12秒&#xff0c;并使用 …...

Ubuntu 编译SRS和ZLMediaKit用于视频推拉流

SRS实现视频的rtmp webrtc推流 ZLMediaKit编译生成MediaServer实现rtsp推流 SRS指定某个固定网卡&#xff0c;修改程序后重新编译 打开SRS-4.0.0/trunk/src/app/srs_app_rtc_server.cpp&#xff0c;在 232 行后面添加&#xff1a; ZLMediaKit编译后文件存放在ZLMediakit/rele…...

typora免费获取序列号

这个方法不是唯一&#xff0c;但是所需要的时长很短。废话不多说 1.下载网盘文件 通过网盘分享的文件&#xff1a;typora破解 链接: https://pan.baidu.com/s/1KQnSUV3V0uBGpLc_iz2UFQ?pwdetc4 提取码: etc4 2.把解压下来的文件放到装软件的文件夹 3. 打开cmd&#xff0c;…...

C++23 新增的查找算法详解:ranges::find_last 系列函数

文章目录 引言C Ranges 库简介ranges::find_last、ranges::find_last_if 和 ranges::find_last_if_not 概述ranges::find_last示例代码代码解释 ranges::find_last_if函数签名参数解释示例代码代码解释 ranges::find_last_if_not示例代码代码解释 使用场景总结 引言 在 C 的发…...

11.基础IO(上)

一、文件概念 对文件归类认知&#xff1a; 对于 0KB 的空文件是占用磁盘空间的 文件是文件属性&#xff08;元数据&#xff09;和文件内容的集合&#xff08;文件 属性&#xff08;元数据&#xff09; 内容&#xff09; 所有的文件操作本质是文件内容操作和文件属性操作。 …...

本地部署Firecrawl+Dify调用踩坑记录

最近自己研究Dify&#xff0c;使用到Firecrawl这个比较好用的工具。用Firecrawl官网的不知道为什么总是卡住得不到结果&#xff0c;于是我打算自己去本地部署一个。好家伙真给我人搞麻了&#xff0c;太多问题了。 我是在京东云上面租的一台服务器。 首先就是docker的安装&…...

硬盘坏了电脑会出现哪些明显现象?机械和固态可不一样

机械硬盘&#xff08;HDD&#xff09;损坏的常见表现 >启动异常&#xff1a;如果是启动盘&#xff0c;可能会遭遇系统无法启动&#xff0c;提示“No Bootable Device”“Operating System not found”或“Sector not found”等错误&#xff1b;以及BIOS无法识别硬盘&#x…...

数据驱动下的具身智能进化范式

数据驱动技术与挑战...

使用Python与正则表达式高效提取Excel中的票号数据

使用Python与正则表达式高效提取Excel中的票号数据 一、需求 本文将介绍如何利用Python的Pandas库和正则表达式&#xff0c;快速实现票号这一数据清洗任务&#xff0c;并将结果整理为规范的表格结构。 在数据处理场景中&#xff0c;从非结构化文本里提取特定格式的信息是常见…...

MySQL 迁移至 Doris 最佳实践方案

在数据架构不断演进的背景下&#xff0c;从 MySQL 迁移至 Doris 成为许多企业提升数据处理效率的关键选择。本文将深入剖析三种经过实践验证的 MySQL 迁移至 Doris 的最佳方案&#xff0c;涵盖全量迁移、增量同步、混合迁移以及基于 CDC&#xff08;Change Data Capture&#x…...