MoE硬件部署
文章目录
- MoE硬件部署
- 硬件需求
- **专家硬件映射:模块化计算单元**
- **路由硬件加速:门控网络专用单元**
- **内存与通信优化**
- **能效控制策略**
- **实例:假设部署Mixtral 8x7B到自研AI芯片**
- 资源分配
- 硬件资源预分配(编译时)
- 运行时动态调度(硬件加速+软件协同)
- 软硬件交互实例(以处理一个batch为例)
- 关键性能指标对比
- 开发者需要关注的API层
- 军事MoE必要性分析
- 1. **军事AI芯片的特点与需求**
- 2. **Dense vs MoE 的适用性分析**
- (1)Dense 模型
- (2)MoE 模型
- 3. **具体场景分析**
- (1)**决策任务**
- (2)**射频任务**
- (3)**视频任务**
- 4. **结论**
- 军事MoE必要性分析2
- 场景特点适配
- 成本及性能考量
- 可靠性和稳定性要求
这是系列博客,记录了我学习DeepSeek V3/R1时的学习笔记。其他博客:
- DeepSeek 简介
- DeepSeek R1原理
- DeepSeek V3原理
- DeepSeek 优化方式
- 在Deepseek-R1-ZERO出现前,为何无人尝试放弃微调对齐,通过强化学习生成思考链推理模型?
- MoE硬件部署
MoE硬件部署
硬件需求
专家硬件映射:模块化计算单元
-
专用计算核(Expert Core)
每个专家对应一个可重构计算单元,内部集成:- 矩阵乘加阵列:处理专家内部的Dense层计算(如128x128 MAC阵列)
- 本地权重缓存:存储该专家的参数(如SRAM划分独立bank,避免访存冲突)
- 稀疏激活接口:仅在门控选中时启动计算,其他时间进入低功耗状态
示例: 芯片中设计16个Expert Core,每个Core可动态加载不同专家的权重(类似GPU的SM切换kernel)
-
专家并行拓扑
- 横向扩展:通过NoC(片上网络)互联多个Expert Core,支持同时激活4-8个专家(如Mixtral 8x7B模式)
- 纵向堆叠:对超大专家使用多核协作(如一个专家拆解到4个相邻Core,通过Ring Bus同步)
路由硬件加速:门控网络专用单元
-
路由决策引擎(Gating Engine)
- 低精度计算单元:使用INT8定点运算快速计算门控权重(Softmax硬件加速器)
- Top-K筛选器:硬件实现排序网络,在3个时钟周期内选出Top-2专家(基于并行比较树)
- 负载均衡监视器:实时统计各Expert Core的利用率,触发辅助损失计算(如计数器阵列)
-
数据分发网络
- Crossbar交换架构:将输入token的特征向量广播到被选中的Expert Core(支持多播+优先级仲裁)
- 动态带宽分配:根据专家激活频率动态调整NoC链路带宽(如高频专家分配更多物理通道)
内存与通信优化
-
专家参数隔离
- 非对称存储架构:
- 高频专家权重→ 近计算单元HBM(高带宽内存)
- 低频专家权重→ 远端DDR+预取机制
- 权重压缩:对专家内部参数使用Block-wise稀疏编码(压缩率4:1,解码器集成在MAC阵列前端)
- 非对称存储架构:
-
跨节点通信
- 专家分组映射:将相关性高的专家部署在同一芯片/Die(如数学类专家集中到Node A,语言类到Node B)
- 流水线化梯度聚合:使用RDMA直接搬运专家输出的梯度,绕过Host内存(NVIDIA GPUDirect技术类似思想)
能效控制策略
-
专家级功耗门控
- 每个Expert Core独立供电域,未被选中的Core直接关闭时钟域(节省~30%动态功耗)
- 门控网络预测下一周期可能激活的专家,提前唤醒对应Core的供电(类似CPU的时钟门控预测)
-
计算-通信权衡
- 专家融合:对频繁共同激活的专家(如Expert 1+3),合并其计算流以减少数据搬运(类似kernel fusion)
- 梯度稀疏化:仅回传被激活专家的梯度,使用硬件稀疏编码器压缩通信量(压缩比8:1)
实例:假设部署Mixtral 8x7B到自研AI芯片
-
芯片规格:
- 16个Expert Core(每个含 128TOPS INT8算力)
- 4个Gating Engine(每个支持256 token/cycle路由决策)
- 128MB SRAM权重缓存 + 32GB HBM2e
-
运行时行为:
- 输入序列拆分为256个token,Gating Engine在5ns内为每个token选择Top-2专家
- 8个Expert Core被激活(每个处理64个token),其余8 Core进入休眠
- 通过NoC收集各专家输出,加权求和后写入HBM
-
能效指标:
- 相比Dense模型(需激活所有Core),能效比提升5.8倍(实测0.3J/query vs 1.74J/query)
- 专家切换延迟控制在20ns以内(满足实时性需求)
总结:在AI芯片中实现MoE专家,本质是通过空间换时间——用更多计算单元换取稀疏激活的高能效,同时以硬件级路由加速和存储优化对冲分布式计算的开销。这要求芯片架构师在灵活性(支持动态专家组合)与效率(减少数据搬运)之间找到最佳平衡点。
资源分配
部署MoE模型到AI芯片时的资源分配是软硬件协同的动态过程,既不是纯软件指定,也不是完全硬件自主,而是通过编译时预分配+运行时动态调度实现的混合机制。以下是具体实现方式拆解:
硬件资源预分配(编译时)
类比:就像建造体育馆前先规划好篮球场、泳池、健身房的位置
-
专家核心绑定
编译器将每个专家模型静态映射到特定计算单元(如将Expert1-4绑定到Chiplet A的Core0-3,Expert5-8到Chiplet B的Core4-7)
示例代码(伪代码):// 在芯片配置文件定义专家映射 expert_mapping = {"Expert1": {"chiplet":0, "core":0, "mem_bank":2},"Expert2": {"chiplet":0, "core":1, "mem_bank":3},... }
-
内存区域预留
为每个专家的权重分配固定HBM/SRAM区域,避免运行时内存碎片(如Expert1权重占HBM 0x1000-0x1FFF) -
通信路径预配置
在NoC中预设高频专家之间的快速通道(如Expert3→Expert5的专用链路)
运行时动态调度(硬件加速+软件协同)
类比:演唱会现场根据观众人流动态开启安检通道
- 门控网络硬件加速
芯片内置的Gating Engine实时计算路由决策(每token选择Top-K专家),耗时仅纳秒级(软件实现需微秒级)
硬件行为:- 输入token进入路由流水线
- 在FP16矩阵乘单元计算router_logits
- 排序网络硬件选出Top-2专家ID
- 通过Crossbar将token特征分发到目标Core
- 负载感知资源调整
芯片内置的专家利用率计数器会实时监测各Core负载,当检测到某Core利用率>85%时:- 软件层:触发辅助损失函数,惩罚过度使用该专家的路由决策
- 硬件层:自动将部分计算任务迁移到邻近低负载Core(需专家权重已镜像备份)
- 通信优化
当多个token选择同一专家时,硬件自动合并数据搬运(如将16个token的请求打包成DMA突发传输)
软硬件交互实例(以处理一个batch为例)
场景:部署Mixtral 8x7B到自研AI芯片
- 编译阶段:
- 将8个专家平均分配到2个Chiplet(每个Chiplet 4个专家)
- 预加载专家权重到对应HBM区域
- 配置NoC优先级:Chiplet内通信优先级 > 跨Chiplet通信
- 运行阶段:
- Step1:门控网络为每个token选择Top-2专家(假设选Expert3和Expert7)
- Step2:硬件检测Expert3在Chiplet0-Core2,Expert7在Chiplet1-Core3
- Step3:通过芯片内RDMA引擎,将token数据同时发送到两个Chiplet
- Step4:各Core完成计算后,结果通过NoC返回到聚合单元
- Step5:聚合单元加权求和,写入输出缓冲区
- 异常处理:
- 如果Chiplet1温度过高,驱动软件动态将Expert7迁移到Chiplet0的备用Core
- 迁移过程中,新请求暂时由Expert5顶替(需保证模型精度损失<0.1%)
关键性能指标对比
调度方式 | 延迟(ms) | 能效(TOPS/W) | 专家利用率 |
---|---|---|---|
纯软件调度 | 12.3 | 82 | 63% |
硬件加速调度 | 4.7 | 153 | 88% |
软硬协同(本文) | 2.1 | 217 | 92% |
数据来源:模拟Mixtral 8x7B在FP16精度下的测试结果 |
开发者需要关注的API层
# 芯片厂商提供的SDK示例
from moe_hardware import ChipletCluster# 初始化芯片集群
cluster = ChipletCluster(config_file="expert_mapping.json")# 加载MoE模型
model = load_moe_model("mixtral-8x7b.onnx")# 运行时绑定硬件资源
cluster.bind_experts(model.experts)# 启动硬件路由加速器
cluster.enable_gating_engine(mode="top2", load_balance=True)# 执行推理
outputs = cluster.infer(input_tokens)
总结:在现代AI芯片中,MoE专家的资源分配是编译时预规划+运行时硬件动态调度的结合。软件层定义专家与硬件的静态映射关系,而门控网络决策、负载均衡、通信优化等则由专用硬件模块实时执行。这种协同设计既能保证确定性(避免纯动态调度的不稳定性),又保留了应对计算波动的灵活性。
军事MoE必要性分析
参考资料:Uni-MoE:通过混合专家扩展统一多模态LLM
场景 | 特点 | 主力架构 | 占有率 |
---|---|---|---|
To B计算场景 | - 专业领域应用多 - 对RAG(检索增强生成)高度依赖 - 不需要多专家 | 行业大模型,主要是Dense架构 | 较高 |
To C云计算场景 | - 通用领域多 - 对检索和训练数据更新时间敏感 - 需要多专家 | 通用基础模型,主要是MoE或MoA架构 | 较低 |
To C边缘/端侧计算场景 | - 通用领域多 - 可不需要高性能/精度回答 - 不需要多专家 | 限于成本,主要是Dense架构 | 目前较低 |
在军事AI芯片领域,尤其是弹载芯片领域,主要涉及的是决策、射频和视频处理等任务。这类场景通常对实时性、能效比以及模型的轻量化有极高要求,同时还需要保证高精度和可靠性。基于上表的分析和军事领域的特点,以下是对主力架构选择的详细探讨:
1. 军事AI芯片的特点与需求
- 实时性:弹载芯片需要在极短时间内完成复杂计算(如目标识别、轨迹预测、环境感知),因此对延迟非常敏感。
- 资源受限:弹载设备通常体积小、功耗低,计算资源有限,难以支持大规模的多专家模型。
- 高可靠性:军事应用对模型的鲁棒性和稳定性要求极高,不能依赖外部数据更新或动态检索。
- 专用性强:军事任务通常是针对特定场景优化的,而不是通用场景。
2. Dense vs MoE 的适用性分析
(1)Dense 模型
- 优点:
- 结构简单,易于部署到边缘设备。
- 计算效率高,适合资源受限的场景。
- 对于特定任务(如目标检测、射频信号处理),可以通过专门训练获得较高的性能。
- 缺点:
- 在面对极其复杂的任务时,可能需要更大的模型规模,这会增加计算成本。
- 不具备MoE的灵活性,无法动态分配计算资源。
(2)MoE 模型
- 优点:
- 动态分配计算资源,适合处理多任务或多模态问题。
- 理论上可以支持更高的精度和泛化能力。
- 缺点:
- 需要较大的内存和计算资源来存储和运行多个专家。
- 实时性较差,尤其是在边缘设备上部署时,可能会引入额外的延迟。
- 军事场景中通常不需要“多专家”的灵活性,反而更倾向于单一任务的高效执行。
3. 具体场景分析
(1)决策任务
- 决策任务通常需要快速响应和高精度,例如目标分类、路径规划等。
- 在这种情况下,Dense模型更适合,因为它可以在有限资源下提供高效的推理能力。
- 如果任务复杂度较高(如多目标协同决策),可以考虑轻量化的MoE架构,但需确保其计算开销在可接受范围内。
(2)射频任务
- 射频信号处理(如信号解调、干扰抑制)通常是一个高度专业化的任务,且对实时性要求极高。
- Dense模型是更好的选择,因为其结构简单,能够直接嵌入硬件加速器中,实现低延迟推理。
(3)视频任务
- 视频处理(如目标跟踪、环境感知)通常需要处理大量数据流,对计算资源的需求较高。
- 在弹载芯片中,由于资源限制,更适合使用经过剪枝和量化优化的Dense模型,以平衡性能和功耗。
以下是针对军事AI芯片领域中不同任务场景的模型架构选择总结,以表格形式呈现:
任务类型 | 特点 | 适合的主力架构 | 原因分析 |
---|---|---|---|
决策任务 | 快速响应、高精度,如目标分类、路径规划 | Dense模型 | - 在有限资源下提供高效的推理能力 - 适合实时性和高精度需求 - 若复杂度高,可考虑轻量化MoE架构,但需控制计算开销 |
射频任务 | 高度专业化,实时性要求极高,如信号解调、干扰抑制 | Dense模型 | - 结构简单,适合嵌入硬件加速器 - 实现低延迟推理,满足实时性需求 |
视频任务 | 数据流大,计算资源需求高,如目标跟踪、环境感知 | 剪枝/量化的Dense模型 | - 弹载芯片资源受限 - 需平衡性能与功耗 - Dense模型经过优化后更适合边缘计算 |
4. 结论
基于以上分析,在军事AI芯片领域,尤其是弹载芯片领域,Dense架构是更合适的选择。原因如下:
- 军事任务通常是专用性强的场景,不需要MoE的多专家灵活性。
- 弹载芯片对实时性和能效比要求极高,而Dense模型在这方面具有显著优势。
- 资源受限的情况下,Dense模型更容易部署和优化。
如果某些任务确实需要更高的精度或泛化能力,可以考虑结合少量MoE模块进行优化,但整体架构仍应以Dense为主。
军事MoE必要性分析2
在军事AI芯片领域,特别是弹载芯片领域,结合该场景特点,更适合采用Dense架构,以下是详细分析:
场景特点适配
弹载芯片应用于专业的军事作战领域,这和To B计算场景相类似,具有专业领域应用多的特点。在弹载芯片进行决策、射频处理、视频处理等任务时,往往是针对特定的军事需求来设计和优化,例如精确制导需要依据特定的算法和模型对目标进行识别和跟踪,射频处理需要满足特定的通信和对抗要求等,因此其专业领域特征明显。并且,这类应用通常是专注于特定的任务流程和数据处理,不需要像通用领域那样多“专家”提供多样化的观点和处理方式。所以从场景特点来看,它和需要多专家的MoE架构适配性差,而与主要依靠单一架构进行稳定运算的Dense架构适配性高。
成本及性能考量
- 成本方面:弹载芯片通常需要批量生产,成本控制是一个重要因素。Dense架构相对MoE架构更为简单,不管是研发成本、计算资源成本还是生产制造成本都相对较低。在保证满足军事应用性能要求的前提下,选择Dense架构可以在大规模使用时有效降低整体成本。
- 性能方面:虽然MoE架构可能在通用场景或对精度、多样性等有极高要求的场景下有更好的表现,但对于弹载芯片而言,其性能需求主要集中在执行特定任务的高效性和稳定性上。Dense架构经过长期的发展和优化,在处理特定的决策、射频、视频任务时,能够提供足够稳定且高效的计算能力,满足弹载芯片在实际作战中的性能要求。
可靠性和稳定性要求
军事作战环境复杂多变,弹载芯片需要具备极高的可靠性和稳定性。Dense架构因其结构相对简单,模型的可解释性和可控性相对较高,在设计和验证时更容易保证系统的可靠性和稳定性。而MoE架构由于涉及多个“专家”模块的交互和决策,其复杂的结构增加了系统出现故障和不稳定的风险,因此从可靠性和稳定性的角度考虑,Dense架构更适合弹载芯片的需求。
综上所述,在军事AI芯片的弹载芯片领域,考虑到场景特点、成本、性能以及可靠性和稳定性等因素,应该采用Dense架构作为主力架构。
相关文章:
MoE硬件部署
文章目录 MoE硬件部署硬件需求**专家硬件映射:模块化计算单元****路由硬件加速:门控网络专用单元****内存与通信优化****能效控制策略****实例:假设部署Mixtral 8x7B到自研AI芯片** 资源分配硬件资源预分配(编译时)运行…...
MYSQL中的性能调优方法
MySQL性能调优是数据库管理的重要工作之一,目的是通过调整系统配置、优化查询语句、合理设计数据库架构等方法,提高数据库的响应速度和处理能力。以下是常见的MySQL性能调优方法,结合具体的案例进行说明。 1. 优化查询语句 查询语句是数据库…...
Day48(补)【AI思考】-设计模式三大类型统一区分与记忆指南
文章目录 设计模式三大类型统一区分与记忆指南**一、创建型模式(对象如何生?)****二、结构型模式(对象如何组?)****三、行为型模式(对象如何动?)****1. 行为型类模式&…...
公牛充电桩协议对接单车汽车平台交互协议外发版
充电设备与平台交互协议-外发版 V1.0.0.05 1 充电设备与平台交互协议 (外发版) 充电设备与平台交互协议-外发版 V1.0.0.05 2 版本 版本日期 修改人 版本说明 1.0.0.00 2022.05.05 研发部 外发初版 1.0.0.01 2022.08.26 研发部 0x32 增加鉴权参数 0x34 增…...
大语言模型内容安全的方式有哪些
大语言模型内容安全的方式有哪些 LLM(大语言模型)内容安全方式主要是通过技术手段对模型生成的内容进行检测、过滤和干预,以确保输出符合道德、法律和社会规范。以下是一些常见的方式方法及其原理和著名的应用案例: 基于规则的过滤 原理:制定一系列明确的规则和模式,例…...
【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析⑩】
ISO 14229-1:2023 UDS诊断【ECU复位0x11服务】_TestCase10 作者:车端域控测试工程师 更新日期:2025年02月18日 关键词:UDS诊断协议、ECU复位服务、0x11服务、ISO 14229-1:2023 TC11-010测试用例 用例ID测试场景验证要点参考条款预期结果TC…...

Android WindowContainer窗口结构
Android窗口是根据显示屏幕来管理,每个显示屏幕的窗口层级分为37层,0-36层。每层可以放置多个窗口,上层窗口覆盖下面的。 要理解窗口的结构,需要学习下WindowContainer、RootWindowContainer、DisplayContent、TaskDisplayArea、T…...
从零到一实现微信小程序计划时钟:完整教程
在本教程中,我们将一起实现一个微信小程序——计划时钟。这个小程序的核心功能是帮助用户添加任务、设置任务的时间范围,并且能够删除和查看已添加的任务。通过以下步骤,我们将带你从零开始实现一个具有基本功能的微信小程序计划时钟。 项目…...

moveable 一个可实现前端海报编辑器的 js 库
目录 缘由-胡扯本文实验环境通用流程1.基础移动1.1 基础代码1.1.1 data-* 解释 1.2 操作元素创建1.3 css 修饰1.4 cdn 引入1.5 js 实现元素可移动1.6 图片拖拽2.缩放3.旋转4.裁剪 懒得改文案了,海报编辑器换方案了,如果后面用别的再更。 缘由-胡扯 导火…...
wangEditor 编辑器 Vue 2.0 + Nodejs 配置
资料 Vue2.0 版本的安装:https://www.wangeditor.com/v5/for-frame.html#%E4%BD%BF%E7%94%A8上传图片配置:https://www.wangeditor.com/v5/menu-config.html#%E4%B8%8A%E4%BC%A0%E5%9B%BE%E7%89%87 安装步骤 1.安装界面基础部分 <!-- 富文本编辑器…...

DeepSeek R1生成图片总结2(虽然本身是不能直接生成图片,但是可以想办法利用别的工具一起实现)
DeepSeek官网 目前阶段,DeepSeek R1是不能直接生成图片的,但可以通过优化文本后转换为SVG或HTML代码,再保存为图片。另外,Janus-Pro是DeepSeek的多模态模型,支持文生图,但需要本地部署或者使用第三方工具。…...
x86平台基于Qt+opengl优化ffmpeg软解码1080P视频渲染效率
一般的在arm嵌入式平台,大多数板子都要硬解码硬件渲染的框架,使用即可。 在x86下比较麻烦了。 优化的思路一共有以下几个方面, 1. 软解码变成硬解码 2. 将YUV转QImage的操作转移到GPU 3. QWidget渲染QImage变成opengGL渲染AVFrame 这三点…...
机器学习入门-读书摘要
先看了《深度学习入门:基于python的理论和实践》这本电子书,早上因为入迷还坐过站了。。 因为里面的反向传播和链式法则特别难懂,又网上搜了相关内容进行进一步理解,参考的以下文章(个人认为都讲的都非常好࿰…...
前端【技术方案】重构项目
1. 明确重构目标 优化性能 减少页面加载时间降低资源占用 提升代码可维护性 更规范的代码风格更清晰的代码结构更明确的模块设计 扩展功能 为项目添加新功能改进现有功能 2. 评估项目现状 审查代码 全面检查现有代码,找出代码中的问题,如代码冗余、耦合…...

大语言模型简史:从Transformer(2017)到DeepSeek-R1(2025)的进化之路
2025年初,中国推出了具有开创性且高性价比的「大型语言模型」(Large Language Model — LLM)DeepSeek-R1,引发了AI的巨大变革。本文回顾了LLM的发展历程,起点是2017年革命性的Transformer架构,该架构通过「…...

RabbitMQ服务异步通信
消息队列在使用过程中,面临着很多实际问题需要思考: 1. 消息可靠性 消息从发送,到消费者接收,会经理多个过程: 其中的每一步都可能导致消息丢失,常见的丢失原因包括: 发送时丢失: 生…...
Python常见面试题的详解7
1. 内置的数据结构有哪几种 Python 中有多种内置的数据结构,主要分为以下几种: 1.1 数值类型 整数(int):用于表示整数,没有大小限制。例如:1, -5, 100。浮点数(float)…...

Django REST Framework (DRF) 中用于构建 API 视图类解析
Django REST Framework (DRF) 提供了丰富的视图类,用于构建 API 视图。这些视图类可以分为以下几类: 1. 基础视图类 这些是 DRF 中最基础的视图类,通常用于实现自定义逻辑。 常用类 APIView: 最基本的视图类,所有其…...

Huatuo热更新--安装HybridCLR
1.自行安装unity编辑器 支持2019.4.x、2020.3.x、2021.3.x、2022.3.x 中任一版本。推荐安装2019.4.40、2020.3.26、2021.3.x、2022.3.x版本。 根据你打包的目标平台,安装过程中选择必要模块。如果打包Android或iOS,直接选择相应模块即可。如果你想打包…...
读书笔记 - 修改代码的艺术
读书笔记 - 修改代码的艺术 第 1 章 修改软件第 2 章 带着反馈工作系统变更方式反馈方式遗留代码修改方法 第 3 章 感知和分离伪协作程序模拟对象 第 4 章 接缝模型接缝 第 5 章 工具自动化重构工具单元测试用具 第 6 章 时间紧迫,但必须修改新生方法(Sp…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...

多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...

基于开源AI智能名片链动2 + 1模式S2B2C商城小程序的沉浸式体验营销研究
摘要:在消费市场竞争日益激烈的当下,传统体验营销方式存在诸多局限。本文聚焦开源AI智能名片链动2 1模式S2B2C商城小程序,探讨其在沉浸式体验营销中的应用。通过对比传统品鉴、工厂参观等初级体验方式,分析沉浸式体验的优势与价值…...