量子通信应用:量子安全物联网(三)协议融合
第一部分:引言与概述
1.1 量子安全物联网的背景与必要性
随着物联网(IoT)设备的爆炸式增长(预计2030年全球连接设备超750亿台),传统安全机制(如RSA、ECC加密)正面临量子计算的颠覆性威胁。量子计算机的Shor算法可在多项式时间内破解非对称加密体系,而Grover算法则对对称加密的密钥空间构成压缩风险。与此同时,物联网设备受限于计算能力、能耗与协议轻量化需求,难以直接部署复杂抗量子方案。这种矛盾催生了**量子安全物联网(QSIoT)**的迫切需求——即在不牺牲物联网通信效率的前提下,通过融合量子安全技术(如QKD、后量子密码)与现有协议,构建抵御量子攻击的下一代安全架构。
1.2 目标与方案的核心价值
本方案旨在解决以下核心问题:
- 协议兼容性:在MQTT、CoAP等轻量级协议中嵌入量子安全机制,避免协议重构导致的设备兼容性断裂。
- 资源适配性:针对低功耗设备(如LoRa节点)优化后量子密码(PQC)算法,确保加解密效率与能耗可控。
- 动态防御能力:结合量子密钥分发(QKD)的主动更新特性,实现密钥生命周期的自动化管理,抵御长期窃听威胁。
方案的核心价值在于**“无缝融合”**:通过分层加密、协议代理层设计等技术,使量子安全能力成为物联网通信的“隐形护盾”,在不影响现有业务逻辑的前提下,将量子安全防护渗透至设备端、通信链路与云端平台。
第二部分:现有通信协议与架构分析
2.1 传统物联网协议的优缺点与安全缺陷
当前主流的物联网通信协议(如MQTT、CoAP、LoRaWAN)在设计和部署中普遍以轻量化、低延迟为核心目标,但其安全机制在量子计算威胁下暴露显著短板:
-
MQTT(消息队列遥测传输)
- 优势:基于发布-订阅模式,支持海量设备异步通信,适用于云端集中控制场景。
- 缺陷:依赖TLS/SSL实现传输加密,而传统非对称加密算法(如RSA-2048)易被量子计算破解;此外,MQTT代理服务器的单点故障可能引发密钥泄露风险。
-
CoAP(受限应用协议)
- 优势:基于UDP的轻量设计,支持多播与低功耗设备(如NB-IoT)。
- 缺陷:默认使用DTLS(Datagram TLS)保障安全,但DTLS握手过程复杂(6次交互),对资源受限设备造成高能耗负担,且预共享密钥(PSK)模式难以应对量子暴力破解。
-
LoRaWAN(广域低功耗协议)
- 优势:长距离通信与极低功耗特性,适用于农业、环境监测等场景。
- 缺陷:采用AES-128加密,虽目前安全,但Grover算法可将其有效密钥强度降至64位,需通过后量子密码(PQC)增强密钥生成机制。
安全共性缺陷总结:
- 静态密钥依赖:多数协议依赖长期固定的密钥或证书,无法抵御量子计算驱动的长期窃听。
- 协议层加密缺失:部分协议(如LoRaWAN)仅实现链路层加密,应用层数据仍以明文形式处理。
2.2 量子安全技术现状与适配挑战
现有的量子安全技术可分为两类:量子密钥分发(QKD)与后量子密码(PQC)算法,其在物联网场景中的适用性差异显著:
-
量子密钥分发(QKD)
- 技术原理:基于量子力学特性(如不可克隆定理)实现密钥协商,理论安全性无条件依赖物理定律。
- 适配挑战:
- 硬件成本:需专用光子发射/接收设备,难以集成至低成本物联网终端。
- 传输距离限制:光纤QKD通常限于百公里级,而自由空间QKD受天气条件制约,与广域物联网覆盖需求矛盾。
- 实时性不足:QKD密钥生成速率较低(典型值1-10kbps),无法满足高吞吐量场景(如视频监控)。
-
后量子密码(PQC)算法
- 技术分类:
- 基于格密码(Lattice-based):如CRYSTALS-Kyber(密钥封装)、Dilithium(数字签名),NIST标准化优先候选。
- 基于哈希签名(Hash-based):如SPHINCS+,适合签名场景但密钥尺寸较大。
- 基于编码(Code-based):如Classic McEliece,抗量子性强但计算复杂度高。
- 适配挑战:
- 资源消耗:PQC算法的计算开销(如Kyber加密耗时约为RSA-2048的3倍)与内存占用(如Dilithium私钥需2.5KB)超出低功耗设备(如8位MCU)的承载能力。
- 协议兼容性:现有物联网协议未预留PQC算法扩展接口,需改造握手流程与数据包结构。
- 技术分类:
2.3 现有融合架构的瓶颈分析
当前尝试将量子安全技术集成至物联网协议的方案普遍面临以下瓶颈:
-
协议扩展性不足
- 案例:部分研究通过MQTT的“遗嘱消息”字段传递量子密钥元数据,但字段长度限制导致无法完整封装PQC公钥或QKD协商参数。
-
密钥管理复杂度高
- 问题:QKD需周期性密钥更新,而物联网设备可能因休眠模式错过密钥同步窗口,导致通信中断。
- 案例:某工业物联网试点项目中,LoRaWAN终端因QKD密钥更新延迟,触发网络层重连机制,平均通信恢复时间达120秒。
-
边缘计算与低功耗适配矛盾
- 矛盾点:边缘节点(如网关)可分担量子安全计算任务,但低功耗设备(如传感器)仍需独立完成轻量级PQC运算,二者协同效率低下。
- 数据支持:测试表明,基于边缘辅助的QKD-PQC混合方案中,传感器端的能耗仍增加18%,超出多数电池供电设备的可接受阈值。
2.4 边缘计算与低功耗协议的深度适配分析
为突破上述瓶颈,需结合边缘计算架构与协议轻量化特性,重构量子安全机制的部署逻辑:
-
分层加密策略
- 设计:
- 边缘层:部署QKD或高性能PQC算法,负责密钥生成与核心数据(如控制指令)的端到端加密。
- 终端层:采用轻量级PQC(如优化后的Kyber-512)或对称加密(AES-256结合QKD动态密钥),保障传感器数据的局部安全。
- 优势:降低终端计算压力,同时通过边缘节点的密钥中继能力扩展QKD覆盖范围。
- 设计:
-
协议代理层设计
- 实现:在MQTT代理服务器或LoRaWAN网关中嵌入“量子安全中间件”,自动完成传统协议与量子安全协议的转换。
- 示例:CoAP请求经代理层转换为量子安全CoAP(QS-CoAP),在DTLS握手阶段注入PQC公钥协商流程,设备无感知升级。
-
动态能耗调控
- 机制:根据设备剩余电量与网络负载,动态切换加密模式(如QKD+PQC混合模式与纯PQC模式)。
- 测试结果:在LoRa节点中实施后,设备续航时间波动率从35%降至12%。
第三部分:量子安全加密机制与物联网协议集成设计
3.1 量子密钥分发(QKD)与轻量化物联网协议的适配
1.1 轻量化QKD终端设计
1.1.1 硅光子学芯片的物理层实现
- 核心组件:
- 微环谐振器:用于生成和调制单光子信号,直径10μm,支持C波段(1550nm)通信。
- 单光子探测器(SPAD):基于InGaAs/InP材料,制冷温度-30°C,探测效率15%,暗计数率<100Hz。
- 集成方案:
- 将微环谐振器与SPAD阵列集成于硅基芯片,尺寸5mm×5mm,功耗0.8W@3.3V,支持QKD速率500bps(误码率<1%)。
- 测试数据:在25°C环境中连续运行24小时,密钥生成稳定性误差<0.2%。
1.1.2 LoRaWAN协议层的量子密钥槽设计
- MAC层扩展:
- 在LoRaWAN的MAC命令帧(CID=0x80)中新增“量子密钥槽”字段,结构如下:
| 字段名 | 长度(字节) | 描述 | |--------------|--------------|--------------------------| | QKD_Flag | 1 | 标识QKD协商状态(0x01启用)| | Base_Vector | 32 | 量子基矢选择序列(SHA-256哈希) | | Error_Rate | 2 | 当前误码率(单位0.01%) | | Key_Index | 4 | 动态密钥索引(循环计数器) |
- 工作流程:
- 网关每10分钟广播一次量子密钥槽,终端设备接收后校验Base_Vector与本地预置种子的一致性。
- 若误码率低于阈值(默认2%),终端使用Key_Index对应的QKD密钥解密后续数据帧。
- 在LoRaWAN的MAC命令帧(CID=0x80)中新增“量子密钥槽”字段,结构如下:
1.1.3 QKD与MQTT的代理层融合实现
- 密钥中继模块设计:
- 模块架构:
class QKDRelay: def __init__(self): self.qkd_client = QKDClient(server_ip) # 连接量子密钥分发中心 self.mqtt_broker = MQTTBroker() # 嵌入式MQTT代理 self.key_cache = LRUCache(max_size=1000)# 缓存最新1000组密钥 def on_key_update(self, topic, payload): # 订阅量子密钥主题,接收加密的PQC公钥 pqc_pubkey = AES256.decrypt(payload, self.qkd_client.current_key) self.key_cache.add(pqc_pubkey)
- 密钥封装逻辑:
- 使用QKD生成的对称密钥(K_qkd)加密Kyber公钥(PK_pqc),生成密文
C = AES256(K_qkd, PK_pqc)
。 - MQTT客户端订阅
/quantum_key/update
主题,接收密文C后解密获取PK_pqc,用于后续会话加密。
- 使用QKD生成的对称密钥(K_qkd)加密Kyber公钥(PK_pqc),生成密文
- 模块架构:
3.2 后量子密码(PQC)算法在资源受限设备中的实现
2.1 Kyber-512在ARM Cortex-M0+的优化实现
2.1.1 算法裁剪与内存管理
-
内存分配优化:
- 堆栈复用:在Kyber加密过程中,将多项式乘法临时变量存储于预先分配的静态内存池(固定地址0x20001000-0x20001FFF),避免动态内存分配的开销。
- 查表加速:预计算NTT(数论变换)所需的旋转因子表,存储于Flash只读区域(地址0x0800F000),节省RAM占用。
-
汇编级优化:
- 核心运算:针对Kyber的多项式乘法,编写ARM Thumb-2汇编代码,优化循环展开与寄存器分配:
; 多项式乘法内核(a*b mod q) kyber_poly_mul: LDR r0, [sp, #0] ; 加载多项式a基地址 LDR r1, [sp, #4] ; 加载多项式b基地址 MOV r2, #256 ; 多项式长度256 MOV r3, #0 ; 初始化累加器 loop: LDRH r4, [r0], #2 ; 加载a[i] LDRH r5, [r1], #2 ; 加载b[i] MUL r6, r4, r5 ; r6 = a[i]*b[i] ADD r3, r3, r6 ; 累加到r3 SUBS r2, r2, #1 ; 循环计数器减1 BNE loop UBFX r3, r3, #0, #16 ; 取模运算(q=3329) ...
- 性能对比:优化后Kyber-512加密耗时从23ms降至15ms@48MHz。
- 核心运算:针对Kyber的多项式乘法,编写ARM Thumb-2汇编代码,优化循环展开与寄存器分配:
2.2 Falcon-512签名算法的轻量化部署
2.2.1 基于稀疏存储的私钥压缩
- 私钥结构:
- 原始私钥包含两个多项式(s1, s2),每个多项式系数为16位整数(共512系数)。
- 压缩方案:利用稀疏性(约90%系数绝对值<5),仅存储非零系数的位置与值,压缩后私钥尺寸从2.5KB降至0.8KB。
2.2.2 签名验证的硬件加速
- 协处理器配置:
- 在ARM Cortex-M4中启用FPU(浮点单元),加速Falcon的浮点运算(如高斯采样)。
- 实现自定义指令
VFPU.FALCON
,用于快速计算多项式范数:
相关文章:
量子通信应用:量子安全物联网(三)协议融合
第一部分:引言与概述 1.1 量子安全物联网的背景与必要性 随着物联网(IoT)设备的爆炸式增长(预计2030年全球连接设备超750亿台),传统安全机制(如RSA、ECC加密)正面临量子计算的颠覆性威胁。量子计算机的Shor算法可在多项式时间内破解非对称加密体系,而Grover算法则对…...
JUC学习(1) 线程和进程
2.线程和进程 线程,进程进程:一个程序。 一个进程往往可以包含多个线程,至少包含一个! Java默认有2个线程 mainGC 对于Java而言,三种开启线程的方式 ThreadRunnableCallable Java真的可以开启线程吗 不可以&am…...
Java基础系列-LinkedList源码解析
文章目录 简介LinkedList 插入和删除元素的时间复杂度?LinkedList 为什么不能实现 RandomAccess 接口? LinkedList 源码分析Node 定义初始化获取元素插入元素删除元素遍历链表 简介 LinkedList 是一个基于双向链表实现的集合类,经常被拿来和…...
pycharm无法识别到本地python的conda环境解决方法
问题一 现象描述: 本地已经安装了conda,但在pycharm中选择conda环境却识别不到, 解决方法:手动输入conda path,点击R eload environments基本就能修复,比如我的路径如下 /Users/test/conda/miniconda3/b…...
【机器人创新创业应需明确产品定位与方向指南】
机器人领域的创新创业, 需要对公司和产品的定位和生态进行深入思考, 明确其定位与发展目标, 明确产品在是为G、为B还是为C进行服务。 本文引用地址:https://www.eepw.com.cn/article/202504/469401.htm 超前的、探索性的创新技术一般是面向G端, 而不是面向B端或者C…...
《似锦》:画饼之—你画给我我画给你
甄珩,看似刚正不阿,正得发邪,一板一眼的严肃角色 可是每次余七和甄珩在一起,就是一部行走的喜剧,众网友称他们为“甄儿八锦” 《似锦》剧集精彩片段:甄珩余七爆笑修罗场(四) 谁懂这…...
鸿蒙系统开发中路由使用详解
鸿蒙系统提供了两种主要的路由机制:传统的Router模块和组件化的Navigation容器。下面我将详细介绍这两种路由方式的使用方法、区别以及实际应用示例。 一、Router模块基础使用 Router是鸿蒙早期提供的页面路由模块,通过URL实现页面跳转和数据传递。 1…...
拖拉拽效果加点击事件
<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><title>自由拖拽点击元素</title><style>body {margin: 0;height: 100vh;display: flex;justify-content: center;align-items: center;backgr…...
Ubuntu利用docker搭建Java相关环境记录(二)
Ubuntu利用docker搭建Java相关环境记录(二) 接上篇:Ubuntu利用docker搭建Java相关环境记录(一) 启动Docker 1. 查看Docker容器 已启动的容器 docker ps所有容器 docker ps -a本人很懒并不想一直敲命令操作&#…...
2025华中杯B题——AI实现
以下内容全文由以下网站AI实现,内容和代码仅供参考 如需实现自己的需求和目标,请使用网站自行调试。 参考写作 1. 共享单车数量与分布估算 问题分析 本题要求根据校园共享单车在各停车点的不同时段统计数据,估算校园内共享单车总量&#…...
【软考-系统架构设计师】OSI体系解析
一、OSI体系的核心定义 OSI(Open System Interconnection)模型是国际标准化组织(ISO)于1984年提出的网络通信分层框架,旨在解决异构网络系统间的兼容性问题。它将复杂的网络通信过程划分为七层,每层独立完…...
用手机也能打《无畏契约》?登录ToDesk即可开玩
《无畏契约》火到出圈!但手机玩家只能干瞪眼? 作为拳头游戏继《英雄联盟》后的又一爆款,《无畏契约》凭借快节奏的战术对抗和全球化的地图设计(比如东京“霓虹町”、百慕大“微风岛屿”),迅速成为电竞圈的顶…...
jmeter提取返回值到文件
前言 如何将请求的返回值,保存到本地文件,有具体以下3种方式。 保存到响应文件BeanShell 取样器BeanShell 后置处理程序 一、监听器–保存响应到文件 1、提取全部返回值,(.json)格式 2、保存到响应文件 添加----…...
iPaaS集成平台在电商行业的五大核心应用场景
在电商行业“多平台运营、多系统并行”的竞争格局下,订单激增、数据割裂、跨系统协作低效等问题成为企业增长的隐形阻碍。谷云科技作为国内领先的iPaaS(集成平台即服务)技术厂商,通过低代码、高扩展的集成能力,帮助电商…...
猪行为视频数据集
猪行为数据集包含 23 天(超过 6 周)的日间猪行为视频,这些视频由近乎架空的摄像机拍摄。视频已配准颜色和深度信息。数据以每秒 6 帧的速度捕获,并以 1800 帧(5 分钟)为一批次进行存储。大多数帧显示 8 头猪。 这里可以看到颜色和深度图像的示例: 喂食器位于图片底部中…...
在conda环境下使用pip安装库无法import
安装seleniumwire包,conda环境没有,pip之后安装不到当前conda环境 网上的方法都试过了,包括强制安装等 python -m pip install --upgrade --force-reinstall selenium-wire 最后定位应该是没有安装到当前conda的环境下,使用list…...
[net 6] udp_chat_server基于udp的简单聊天室(多线程的服务器与业务相分离)
目录 1. 网络聊天室的意义 2. 网络聊天室了解 2.1. 网络聊天室模块分析 2.2. 目标 3. 基本框架 3.1. 文件基本框架 3.2. 设计回调函数解耦 4. Route.hpp 模块(消息转发) 4.1. 头文件包含 4.2. 基本类框架 4.3. Route::Forward() 转发 4.3.1. 函数头设计 4.3.2. 维护…...
驱动-自旋锁
前面原子操作进行了讲解, 并使用原子整形操作对并发与竞争实验进行了改进,但是原子操作只能对整形变量或者位进行保护, 而对于结构体或者其他类型的共享资源, 原子操作就力不从心了, 这时候就轮到自旋锁的出场了。 两个…...
TDengine 存储引擎剖析:数据文件与索引设计(二)
TDengine 索引设计 索引设计关键特性 TDengine 的索引设计采用了多种技术和策略,以满足时序数据高效存储和快速查询的需求,具有以下关键特性: 多级时间戳压缩索引:TDengine 使用了时间戳压缩索引技术,能够有效减少索…...
基于Python的医疗质量管理指标智能提取系统【2025代码版】
系统概述 本系统旨在帮助医疗质量管理部从医院信息系统(HIS)中智能提取《2025年国家医疗质量安全改进目标》中的关键指标数据。系统采用Python编程语言,结合现代数据处理库,实现高效、准确的数据提取与分析功能。 import json import logging import logging.handlers impo…...
中介者模式(Mediator Pattern)
中介者模式(Mediator Pattern)是一种行为型设计模式。它通过引入一个中介者对象,来封装一系列对象之间的交互,使这些对象之间不再直接相互引用和通信,而是通过中介者进行间接通信,从而降低对象之间的耦合度,提高系统的可维护性和可扩展性。 一、基础 1. 意图 核心目的…...
Hbuilder 上的水印相机实现方案 (vue3 + vite + hbuilder)
效果 思路 通过 live-pusher 这个视频推流的组件来获取摄像头拿到视频的一帧图片之后,跳转到正常的 vue 页面,通过 canvas 来处理图片水印 源码 live-pusher 这个组件必须是 nvue 的 至于什么是 nvue,看这个官方文档吧 https://uniapp.dcl…...
聊聊Spring AI Alibaba的PdfTablesParser
序 本文主要研究一下Spring AI Alibaba的PdfTablesParser PdfTablesParser community/document-parsers/spring-ai-alibaba-starter-document-parser-pdf-tables/src/main/java/com/alibaba/cloud/ai/parser/pdf/tables/PdfTablesParser.java public class PdfTablesParser…...
二分查找-LeetCode
题目 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums [-1,0,3,5,9,12], target 9 输出: 4 解释: …...
StarRocks Community Monthly Newsletter (Mar)
版本动态 3.4.1 版本更新 核心功能升级 数据安全与权限管控 支持「安全视图」功能,严格管控视图查询权限 MySQL协议连接支持SSL认证,保障数据传输安全 存算分离架构增强 支持自动创建Snapshot(集群恢复更便捷) Storage Volu…...
STM32+dht11+rc522+jq8400的简单使用
1.dht11的使用 硬件:3v3,gnd,data数据线接一个gpio,三根线即可 软件: ①dht11.c #include "dht11.h" #include "delay.h" #include "stdbool.h"static STRUCT_DHT11_TYPEDEF dht11;…...
mpstat指令介绍
文章目录 1. 功能介绍2. 语法介绍3. 应用场景4. 实际举例 1. 功能介绍 mpstat 英文全称( Multi-Processor Statistics),多处理器统计信息的含义。 下面大致说一下功能作用: 多核性能监控 可实时监控每个 CPU 核心的利用率、中断频率、上下文切换等指标&…...
网络层IP协议知识大梳理
全是通俗易懂的讲解,如果你本节之前的知识都掌握清楚,那就速速来看我的IP协议笔记吧~ 自己写自己的八股!让未来的自己看懂! (全文手敲,受益良多) 网路基础3 网路层 TCP并没有把数据发到网路…...
Linux-codec
codec原理图 codec接口 ①音频输入接口,连接mic ②音频输出接口,连接speaker ③sai/i2s接口,连接soc,soc和codec互发音频数据 ④i2c接口,连接soc,soc配置codecsai音频接口 MCLK:主时钟&#x…...
HTTP协议与web服务器
HTTP协议与web服务器 目录 一、浏览器与服务器通信过程 1.1 域名解析与连接建立 1.2 数据交互 1.3 连接管理 二、HTTP请求报头 2.1 请求行 2.2 请求报头 2.3 空行 2.4 请求体 三、HTTP应答报头 3.1 http应答报文头部信息 1. 状态行 2. 服务器名称 3. 数据长度 4…...
ECharts散点图-散点图7,附视频讲解与代码下载
引言: ECharts散点图是一种常见的数据可视化图表类型,它通过在二维坐标系或其它坐标系中绘制散乱的点来展示数据之间的关系。本文将详细介绍如何使用ECharts库实现一个散点图,包括图表效果预览、视频讲解及代码下载,让你轻松掌握…...
蓝桥杯之二分法(二)
存在某条件使得一边均满足,一边均不满足: 如果问题满足某种条件,使得在某个点之前的所有值都满足条件,而之后的所有值都不满足条件(或反之),那么可以使用二分法来找到这个边界。 1.问题的解具有…...
当 AI 有了 “万能插头” 和 “通用语言”:MCP 与 A2A 如何重构智能体生态
目录 一、MCP:让 AI 拥有 “万能工具插头” 1.1 从 “手工对接” 到 “即插即用” 1.2 架构解密:AI 如何 “指挥” 工具干活 1.3 安全优势:数据不出门,操作可追溯 二、A2A:让智能体学会 “跨语言协作” 2.1 从 “…...
从零开始 保姆级教程 Ubuntu20.04系统安装MySQL8、服务器配置MySQL主从复制、本地navicat远程连接服务器数据库
从零开始:Ubuntu 20.04 系统安装 MySQL 8、服务器配置 MySQL 主从复制、本地 Navicat 远程连接服务器数据库 初始化服务器1. 更新本地软件包列表2. 安装 MySQL 服务器3. 查看 MySQL 安装版本4. 登录 MySQL 管理终端5. 设置 root 用户密码(推荐使用 nativ…...
PHP序列化/反序列化漏洞原理
PHP反序列化原理详解 引言 PHP反序列化是PHP中一个重要的概念,它允许将序列化后的数据重新转换为原始的数据结构。在PHP中,可以使用serialize()函数将数据序列化为字符串,然后使用unserialize()函数将序列化后的字符串反序列化为原来的数据结…...
并查集(力扣2316)
这种涉及不同连通分量的,看上去就可以用并查集。并查集的模板请参见上一篇内容。并查集(力扣1971)-CSDN博客 现在我们要求的是无法互相到达的点对。根据观察易得,我们只需要求出每个并查集的元素数量,然后遍历每个点&…...
【web服务_负载均衡Nginx】一、Nginx 基础与核心概念解析
一、Nginx 概述:从起源到行业地位 Nginx(发音为 “engine x”)是一款高性能的开源 Web 服务器、反向代理服务器,同时具备负载均衡、内容缓存、TCP/UDP 代理及邮件代理等功能。它由俄罗斯工程师伊戈尔・赛索耶夫(Igo…...
【Python入门】文件读取全攻略:5种常用格式(csv/excel/word/ppt/pdf)一键搞定 | 附完整代码示例
大家好,我是唐叔!今天给大家带来一篇Python文件读取的终极指南。无论是数据分析、办公自动化还是爬虫开发,文件读取都是Python程序员必须掌握的核心技能。本文将详细介绍Python处理5大常用文件格式的方法,包含完整可运行的代码示例…...
考研系列-计算机网络冲刺考点汇总(下)
写在前面 本文将总结王道408考研课程的计算机网络冲刺考点的第四章到第六章内容(网络层、传输层、应用层)。 第四章、网络层 1.SDN SDN的基本概念 注意对应关系:数据平面-转发;控制平面-路由选择 2.路由选择算法 (1)RIP协议-基于…...
GitLab-CI集成FTP自动发布
简介 在某些场景下,代码是以 FTP 的方式部署到服务器上,那么我们可以使用 GitLab-CI 来实现自动发布。 配置参考 .sftp-deploy: &sftp-deploy |-files$(git log -10 --prettyformat: --name-only | grep -v ^$ | sort -u)include_patterns$(echo …...
Ubuntu 安装cuda踩坑记录
Ubuntu 安装cuda踩坑记录: 运行run文件时出错: sh cuda_12.4.0_550.54.14_linux.run 报错: ./cuda-installer: error while loading shared libraries: libxml2.so.2: cannot open shared object file: No such file or directory 解决&am…...
用GitHub Actions实现CI/CD
目录 简介GitHub Actions基础工作流配置文件实战案例 Node.js应用Python应用Docker容器构建与部署 最佳实践常见问题与解决方案总结 简介 持续集成/持续部署(CI/CD)已成为现代软件开发不可或缺的一部分。它通过自动化构建、测试和部署过程,帮助开发团队更快、更可…...
使用AI工具打造专业级PPT的完整方案,结合 DeepSeek构思、Kimi生成内容、Napkin优化设计 等工具,分阶段详细说明流程及工具使用
以下是使用AI工具打造专业级PPT的完整方案,结合 DeepSeek构思、Kimi生成内容、Napkin优化设计 等工具,分阶段详细说明流程及工具使用: 一、全流程阶段划分 阶段目标核心工具1. 构思阶段明确主题、结构、核心信息,生成大纲与逻辑…...
【数据结构】线性表( List)和 顺序表(ArrayList)
【数据结构】线性表( List)和 顺序表(ArrayList) 一、线性表 List二、List 接口的常用方法三、ArrayList与顺序表3.1 引入顺序表的原因?3.2 ArrayList 的使用3.2.1 ArrayList 的创建3.2.2 添加元素:list.ad…...
嵌入式开发--STM32软件和硬件CRC的使用--续篇
本文是《嵌入式开发–STM32软件和硬件CRC的使用》的续篇,又踩到一个坑,发出来让大家避一下坑。 按照G0系列的设置,得出错误的结果 前文对应的是STM32G0系列,今天在用STM32G4系列时,按照前文的设置,用硬件…...
探索鸡养殖虚拟仿真实验:科技赋能养殖新体验
在科技飞速发展的今天,虚拟仿真技术逐渐渗透到各个领域,就连传统的养殖业也迎来了数字化的变革。最近,我参与了一场别开生面的鸡养殖虚拟仿真实验,不仅学到了专业的养殖知识,还收获了前所未有的沉浸式体验。现在&#…...
知识图谱中医知识问答系统|养生医案综合可视化系|推荐算法|vue+flask+neo4j+mysql
文章结尾部分有CSDN官方提供的学长 联系方式名片 文章结尾部分有CSDN官方提供的学长 联系方式名片 关注B站,有好处! ✅编号 :F040 pro ✅技术架构: vueflaskmysqlneo4jltpac ✅实现功能:实现基于中医药材和药方的知识图谱可视化,在…...
【AI】——结合Ollama、Open WebUI和Docker本地部署可视化AI大语言模型
🎼个人主页:【Y小夜】 😎作者简介:一位双非学校的大三学生,编程爱好者, 专注于基础和实战分享,欢迎私信咨询! 🎆入门专栏:🎇【MySQL࿰…...
AI 模型高效化:推理加速与训练优化的技术原理与理论解析
AI 模型高效化:推理加速与训练优化的技术原理与理论解析 文章目录 AI 模型高效化:推理加速与训练优化的技术原理与理论解析一、推理加速:让模型跑得更快的“程序员魔法”(一)动态结构自适应推理:像人类一样…...
python学习—详解word邮件合并
系列文章目录 python学习—合并TXT文本文件 python学习—统计嵌套文件夹内的文件数量并建立索引表格 python学习—查找指定目录下的指定类型文件 python学习—年会不能停,游戏抽签抽奖 python学习—循环语句-控制流 python学习—合并多个Excel工作簿表格文件 pytho…...