HarmonyOS NEXT 技术特性:分布式软总线技术架构

HarmonyOS NEXT 技术特性:分布式软总线技术架构

在这里插入图片描述

随着物联网发展,2030 预计全球联网设备达 2000 亿,异构设备互联难题凸显,分布式软总线作为 HarmonyOS 生态核心,以软件虚拟总线打破物理局限,让跨品牌设备即插即用、共享算力,操作延迟低于 50ms,解决适配成本高问题,满足用户设备协同需求,为万物互联打造可扩展技术基础,重塑设备交互模式。

分布式软总线技术:打破传统物理总线在连接上的限制,通过软件方式将不同的设备连接在一起,形成一个统一的分布式系统,屏蔽不同设备之间硬件差异和通信协议的复杂性,为上层应用提供统一、便捷的设备连接和通信能力,各个设备可以像连接在同一物理总线上一样进行数据交换和资源共享。简单来说相当于在小区里建了个"超级快递中转站",所有柜子自动联网,只需把东西放进中转站,它会自动选择最快路线(蓝牙/WiFi/网线),闪电送到目标柜子,全程无需操心。

技术架构

在这里插入图片描述

发现模块:设备间的相互打招呼,解释设备如何自动探测周边设备并识别其能力

连接模块:建立沟通桥梁,说明如何根据设备能力选择合适的通信方式并建立连接

组网模块:组建团队,描述如何构建逻辑全连接网络,实现设备间的协同工作

传输模块:高效传递信息,介绍如何优化数据传输效率,确保信息准确、快速地传递

最终效果:用户只需说播放音乐,手机自动协调音箱、耳机、智慧屏,像"快递网络"自动调配资源,全程无感完成

在这里插入图片描述

模块功能说明关键技术点
设备发现自动探测周边设备支持CoAP、BLE广播协议 - 结合WiFi、蓝牙等物理链路抽象发现逻辑
连接管理建立设备间通信通道多协议支持:Socket、蓝牙BR/BLE、P2P直连等 - 连接状态监控与资源分配
组网拓扑构建逻辑全连接网络异构网络组网(如蓝牙+WiFi混合传输) 动态维护设备上下线状态
数据传输提供高效传输通道极简协议栈(传统四层协议精简为单层,提升20%有效载荷) 流式传输与双轮驱动机制抗网络波动

技术实现原理

设备发现机制
  • CoAP广播:设备通过受限应用协议广播自身ID、能力映射表

如下实现基于鸿蒙 CoAP协议设备信息广播任务,通过 CoAP协议以组播的方式周期性地广播设备信息,实现设备自动发现功能

#include "ohos_coap.h"// 设备信息结构体(鸿蒙标准格式)
typedef struct {char deviceId[32];char capabilities[64]; // JSON格式能力列表
} DeviceInfo;void CoAPBroadcastTask() {DeviceInfo info = {"SmartLight_01", "{\"actions\":[\"toggle\",\"dim\"]}"};// 创建CoAP报文(使用鸿蒙封装方法)CoapMessage* msg = CoapCreateMessage(COAP_METHOD_POST, "/discover");CoapSetPayload(msg, (uint8_t*)&info, sizeof(info));// 发送到组播地址(鸿蒙预定义软总线组播组)CoapSendToGroup(msg, "224.0.1.187", 5683);// 定时广播(鸿蒙任务调度)OSAL_TimerCreate("CoAPBroadcast", 5000, true, CoAPBroadcastTask);
}
  • BLE扫描:低功耗蓝牙持续扫描周边设备,平衡功耗与发现速度

如下实现在鸿蒙系统中通过 BLE 扫描发现支持鸿蒙系统的蓝牙设备,提取设备 ID 和能力信息,同时提供了启动扫描功能

#include "bluetooth_host.h"class BLEScanner : public BluetoothHostCallback {
public:void OnDeviceFound(const BluetoothDeviceInfo& device) override {// 解析广播数据(鸿蒙标准ADV格式)std::string serviceData = device.GetServiceData();if (serviceData.find("HarmonyOS") != std::string::npos) {// 提取设备ID和能力(鸿蒙自定义AD Type)std::string deviceId = ParseDeviceId(serviceData);std::vector<std::string> capabilities = ParseCapabilities(serviceData);// 触发设备发现回调(鸿蒙框架自动处理)OnDeviceDiscovered(deviceId, capabilities);}}
};// 启动BLE扫描(鸿蒙参数配置)
void StartScan() {BluetoothHost* host = BluetoothHost::GetDefaultHost();BLEScanSettings settings;settings.SetScanMode(SCAN_MODE_LOW_LATENCY); // 低延迟模式settings.SetPhy(BLE_PHY_1M); // 1Mbps速率host->StartScan(settings, new BLEScanCallback());
}
传输优化策略
  • 流式传输:基于UDP实现保序传输,避免TCP的拥塞控制阻塞

如下实现通过自定义的流控头和相应的分片、重组逻辑,在 UDP 协议基础上实现可靠的流式数据传输,适用于需要处理大数据量且对数据顺序有要求的场景,同时通过互斥锁保证多线程环境下的安全性

#include "ohos_udp_stream.h"// 发送端(流式分片)
void StreamSender::SendPacket(const uint8_t* data, size_t len) {static uint16_t seqNum = 0;// 添加流控头(鸿蒙自定义)StreamHeader header;header.seq = seqNum++;header.total = len / MAX_PAYLOAD_SIZE + 1;// 分片发送(自动处理MTU)for (size_t offset = 0; offset < len; offset += MAX_PAYLOAD_SIZE) {size_t chunkSize = std::min(MAX_PAYLOAD_SIZE, len - offset);UdpSocket::SendTo(remoteAddr, header, data + offset, chunkSize);}
}// 接收端(保序重组)
void StreamReceiver::ProcessPacket(const StreamHeader& header, const uint8_t* data) {// 插入缓冲区(按序列号排序)bufferLock.lock();packetBuffer[header.seq] = {header, data};// 检查是否可重组(序列号连续)if (CheckSequenceContinuity()) {// 触发重组回调(鸿蒙框架自动处理)OnStreamReconstructed(ReassemblePackets());ClearBuffer();}bufferLock.unlock();
}
  • 双轮驱动:结合消息确认与丢包快速重传,适应弱网环境

如下实现通过双驱动机制保证消息在 UDP 传输中的可靠性,降低因网络问题导致的消息丢失风险

#include "ohos_dual_drive.h"// 发送端逻辑
void DualDriveSender::SendMessage(const Message& msg) {// 记录发送时间(用于RTO计算)msg.sendTime = GetTimestamp();// 发送消息(带序列号)UdpSocket::SendTo(remoteAddr, msg.seq, msg.data);// 启动两个计时器(鸿蒙高精度定时器)StartAckTimer(msg.seq);StartRetransTimer(msg.seq);
}// 接收端逻辑
void DualDriveReceiver::ProcessAck(uint16_t seq) {// 停止对应计时器StopAckTimer(seq);StopRetransTimer(seq);// 从重传队列移除(鸿蒙锁优化)retransLock.lock();retransQueue.erase(seq);retransLock.unlock();
}// 快速重传触发(收到3个重复ACK)
void DualDriveSender::OnDuplicateAck(uint16_t seq) {if (++dupAckCount[seq] >= 3) {// 立即重传(无需等待RTO)RetransmitPacket(seq);ResetTimers(seq);}
}
异构网络协同
  • 逻辑全连接网络:自动构建设备间虚拟拓扑,开发者无需感知物理链路

如下实现基于鸿蒙系统的逻辑网络架构,通过设备发现、虚拟网络初始化和极简的开发者接口,实现设备间的自动组网和透明通信

#include "ohos_logical_network.h"// 设备发现服务
class DeviceDiscovery : public SoftBusListener {
public:void OnDeviceFound(const DeviceInfo& device) override {// 自动构建虚拟链路(鸿蒙框架处理)LogicalLink link = LogicalNetworkManager::CreateLink(device.id);// 注册到全局路由表RouteTable::GetInstance().AddRoute(device.id, link.GetMetrics(), link.GetCapabilities());}
};// 虚拟网络初始化
void LogicalNetworkManager::Init() {// 启动mDNS发现(支持蓝牙/WiFi/以太网)mDnsService.StartDiscovery({BLUETOOTH_PROFILE, WIFI_P2P_PROFILE, ETHERNET_PROFILE});// 创建虚拟交换中心(支持多设备并发)virtualSwitch.Create(MAX_DEVICES, DEFAULT_QOS);
}// 开发者接口(极简)
void AppLayer::SendMessage(const std::string& targetDevice, const DataPacket& packet) {// 无需指定物理路径LogicalNetworkManager::GetInstance().Send(targetDevice, packet);
}
  • 动态路由调整:根据网络质量实时切换传输路径(如从蓝牙切换至WiFi)

如下实现动态路由系统,通过持续监控网络链路质量、计算最优路径、执行无缝切换和进行网络质量评估,确保在网络状况变化时能够快速、稳定地调整路由,提高数据传输的效率和可靠性

#include "ohos_dynamic_routing.h"// 路由监控线程
void RouteMonitor::Run() {while (true) {// 获取所有活跃链路质量auto linkMetrics = LinkMonitor::GetLinkMetrics();// 计算最优路径(Dijkstra算法优化)std::vector<Route> newRoutes = ComputeOptimalRoutes(linkMetrics);// 比较当前路由表if (newRoutes != currentRoutes) {// 执行无缝切换(鸿蒙专利的"零丢包切换"技术)PerformRouteTransition(newRoutes);UpdateRouteTable(newRoutes);}// 智能休眠(根据网络稳定性调整检测频率)usleep(GetMonitorInterval());}
}// 路径切换实现
void DynamicRouter::PerformRouteTransition(const std::vector<Route>& newRoutes) {// 预加载新路径缓冲区(双缓冲技术)newPathBuffer.Prepare(newRoutes);// 原子切换(保证传输连续性)std::atomic_store(&activeBuffer, &newPathBuffer);// 清理旧路径资源oldPathBuffer.Release();
}// 网络质量评估(综合指标)
float LinkMonitor::CalculateLinkScore(const LinkMetrics& metrics) {return 0.4f * metrics.bandwidth + 0.3f * metrics.latency + 0.2f * metrics.packetLoss + 0.1f * metrics.jitter;
}

应用场景

在这里插入图片描述

智能穿戴-手机-车机无缝流转

HarmonyOS NEXT 的智能穿戴 - 手机 - 车机无缝流转技术,依托分布式软总线自动发现并连接设备,构建高效通信链路,实现低时延、可靠的数据传输;借助分布式任务调度,根据设备状态与用户习惯合理分配任务;通过分布式数据管理,保障数据在不同设备间的一致性、安全性与高效共享,让用户在各类设备间畅享流畅、协同的体验。

模拟实现

如下模拟智能穿戴 - 手机 - 车机之间的无缝任务流转,代码定义了 DeviceTypeDeviceState 枚举表示设备类型和状态,SmartDevice 抽象类作为设备基础类,包含启动设备和处理任务流转等方法。SmartWatchSmartphoneCarHeadUnit 类继承自 SmartDevice 并实现各自的任务处理逻辑。DeviceManager 类为单例,负责设备注册、管理活跃设备并在设备状态变化时触发任务流转。SeamlessTransferDemo 类的 main 方法初始化并启动设备,模拟用户上车事件,触发车机接管任务,以此展示设备间无缝流转的核心逻辑,实际开发中需要根据具体需求扩展通信协议、安全机制和任务管理功能。

import java.util.*;
import java.util.concurrent.*;// 设备类型枚举
enum DeviceType {WEARABLE, PHONE, CAR_HEAD_UNIT
}// 设备状态枚举
enum DeviceState {ACTIVE, INACTIVE, CONNECTING, DISCONNECTED
}// 设备基础类
abstract class SmartDevice {protected String deviceId;protected DeviceType type;protected DeviceState state = DeviceState.INACTIVE;protected ExecutorService executor = Executors.newSingleThreadExecutor();public SmartDevice(String id, DeviceType type) {this.deviceId = id;this.type = type;}// 启动设备服务public void start() {state = DeviceState.CONNECTING;// 模拟设备初始化过程executor.execute(() -> {try {Thread.sleep(1000);state = DeviceState.ACTIVE;System.out.println(deviceId + " 已启动,当前状态: " + state);DeviceManager.getInstance().registerDevice(this);} catch (InterruptedException e) {Thread.currentThread().interrupt();}});}// 处理任务流转public abstract void handleTaskTransfer(String taskId);// 获取设备信息public String getDeviceInfo() {return String.format("[%s] %s (%s)", type, deviceId, state);}
}// 智能手表实现
class SmartWatch extends SmartDevice {public SmartWatch(String id) {super(id, DeviceType.WEARABLE);}@Overridepublic void handleTaskTransfer(String taskId) {System.out.println(getDeviceInfo() + " 正在移交任务: " + taskId);// 模拟手表端的任务处理sendNotification("任务已转移到手机");}private void sendNotification(String message) {System.out.println(getDeviceInfo() + " 发送通知: " + message);}
}// 智能手机实现
class Smartphone extends SmartDevice {public Smartphone(String id) {super(id, DeviceType.PHONE);}@Overridepublic void handleTaskTransfer(String taskId) {System.out.println(getDeviceInfo() + " 正在处理任务: " + taskId);// 模拟手机端的任务处理startNavigation(taskId);}private void startNavigation(String taskId) {System.out.println(getDeviceInfo() + " 开始导航任务: " + taskId);}
}// 车机实现
class CarHeadUnit extends SmartDevice {public CarHeadUnit(String id) {super(id, DeviceType.CAR_HEAD_UNIT);}@Overridepublic void handleTaskTransfer(String taskId) {System.out.println(getDeviceInfo() + " 正在接管任务: " + taskId);// 模拟车机端的任务处理transferToCarDisplay(taskId);}private void transferToCarDisplay(String taskId) {System.out.println(getDeviceInfo() + " 已将导航显示在车载屏幕");}
}// 设备管理类(单例)
class DeviceManager {private static final DeviceManager instance = new DeviceManager();private final Map<String, SmartDevice> devices = new ConcurrentHashMap<>();private SmartDevice currentActiveDevice;private DeviceManager() {}public static DeviceManager getInstance() {return instance;}// 注册设备public void registerDevice(SmartDevice device) {devices.put(device.deviceId, device);checkActiveDevice();}// 检查并更新活跃设备private void checkActiveDevice() {SmartDevice phone = getDeviceByType(DeviceType.PHONE);SmartDevice car = getDeviceByType(DeviceType.CAR_HEAD_UNIT);// 优先级:车机 > 手机 > 手表if (car != null && car.state == DeviceState.ACTIVE) {setActiveDevice(car);} else if (phone != null && phone.state == DeviceState.ACTIVE) {setActiveDevice(phone);}}// 设置当前活跃设备private void setActiveDevice(SmartDevice device) {if (currentActiveDevice != null) {System.out.println("切换活跃设备: " + currentActiveDevice.getDeviceInfo() + " -> " + device.getDeviceInfo());// 触发任务流转currentActiveDevice.handleTaskTransfer("NAV_12345");}currentActiveDevice = device;}// 根据类型获取设备private SmartDevice getDeviceByType(DeviceType type) {return devices.values().stream().filter(d -> d.type == type).findFirst().orElse(null);}
}// 主程序
public class SeamlessTransferDemo {public static void main(String[] args) throws InterruptedException {// 初始化设备SmartWatch watch = new SmartWatch("WATCH_001");Smartphone phone = new Smartphone("PHONE_001");CarHeadUnit car = new CarHeadUnit("CAR_001");// 启动设备watch.start();phone.start();car.start();// 模拟用户上车事件(延迟5秒)Thread.sleep(5000);car.state = DeviceState.ACTIVE; // 模拟车机检测到用户上车DeviceManager.getInstance().checkActiveDevice();}
}
关键实现说明

如上模拟实现以设备状态机和动态优先级决策为核心,通过DeviceState枚举精准跟踪设备状态,配合独立线程管理启动流程,确保多设备协同效率,采用三级优先级架构(车机>手机>穿戴设备),当高优先级设备激活时自动触发handleTaskTransfer()实现任务无缝迁移,由DeviceManager实时监控设备状态变化并更新活跃设备列表,扩展性设计支持通过继承SmartDevice基类快速接入新设备类型,结合任务ID映射机制实现多任务并行管理。典型场景下,用户导航任务可在穿戴设备-手机-车机间无感接续,通话、音乐等场景也能实现跨端连续性体验,展现分布式系统"端侧智能+场景感知"协同优势。

总结

在这里插入图片描述

HarmonyOS NEXT 分布式软总线技术架构通过统一协议栈与智能路由机制,重构跨设备通信底层逻辑,支持蓝牙、Wi-Fi等多介质自适应,实现手机、平板等设备间的无缝协同,将不同设备连接成一个有机整体,打破设备间的物理界限,实现跨设备的资源共享和协同工作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/diannao/84430.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是VR展馆?VR展馆的实用价值有哪些?

VR展馆&#xff0c;重塑展览体验。在数字化时代浪潮的推动下&#xff0c;传统的实体展馆经历前所未有的变革。作为变革的先锋&#xff0c;VR展馆以无限的潜力&#xff0c;成为展览行业的新宠。 VR展馆&#xff0c;即虚拟现实展馆&#xff0c;是基于VR&#xff08;Virtual Real…

VLA模型:自动驾驶与机器人行业的革命性跃迁,端到端智能如何重塑未来?

当AI开始操控方向盘和机械臂&#xff0c;人类正在见证一场静默的产业革命。 2023年7月&#xff0c;谷歌DeepMind抛出一枚技术核弹——全球首个视觉语言动作模型&#xff08;VLA&#xff09;RT-2横空出世。这个能将“把咖啡递给穿红衣服的阿姨”这类自然语言指令直接转化为机器人…

华为OD机试真题——出租车计费/靠谱的车 (2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现

2025 A卷 100分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分…

40 岁 Windows 开启 AI 转型:从系统到生态的智能重构

在科技快速发展的当下&#xff0c;人工智能成为驱动各领域变革的核心力量&#xff0c;拥有 40 年历史的 Windows 也开启了向 AI 的全面转型。2025 年 5 月 19-22 日西雅图 Build 2025 开发者大会上&#xff0c;微软展示了 Windows 11 向 AI 智能体核心平台转型的战略&#xff0…

Python实例题:Python3实现可控制肉鸡的反向Shell

目录 Python实例题 题目 代码实现 reverse_shell_client.py reverse_shell_server.py 实现原理 反向连接机制&#xff1a; 命令执行与传输&#xff1a; 功能特点&#xff1a; 关键代码解析 服务端命令处理 客户端命令执行 客户端持久化连接 使用说明 启动服务端…

AWS EC2 使用Splunk DB connect 连接 RDS mysql

1: 先创建 RDS mysql: 我们选择free: 选择free 过后,自动生成single instance, 没有垮AZ 的db 设置。 选择密码登入: 注意:上面设置密码的时候,特别提示:不能有特殊字符,我就设置了: mypassword 下面可以选择通过EC2 连接,当然也可以不选:

SAP重塑云ERP应用套件

在2025年Sapphire大会上&#xff0c;SAP正式发布了其云ERP产品的重塑计划&#xff0c;推出全新“Business Suite”应用套件&#xff0c;并对供应链相关应用进行AI增强升级。这一变革旨在简化新客户进入SAP生态系统的流程&#xff0c;同时为现有客户提供更加统一、智能和高效的业…

初识 RocketMQ 知识总结:基础概念、架构解析、核心特性与应用场景

Apache RocketMQ 是一款由阿里巴巴开源的分布式消息中间件&#xff0c;具有高吞吐量、低延迟、高可靠性等特点&#xff0c;广泛应用于互联网、金融、电商等领域。以下从多个维度对 RocketMQ 进行全面解析&#xff1a; 一、RocketMQ 基础概念 1. 定义与定位 分布式消息中间件…

[特殊字符] UI-Trans:字节跳动发布的多模态 UI 转换大模型工具,重塑界面智能化未来

2025 年&#xff0c;字节跳动&#xff08;ByteDance&#xff09;发布了革命性的多模态 UI 转换模型 —— UI-Trans&#xff0c;引发了业界广泛关注。作为一款融合视觉理解、语义分析与用户交互意图解析的 AI 工具&#xff0c;UI-Trans 在多个领域展现出强大能力&#xff0c;正在…

这个方法关闭PowerBI账户的安全默认值

这个方法关闭PowerBI账户的安全默认值 如果PowerBI账户是在 2019 年 10 月 22 日当天或之后创建的&#xff0c;则可能会自动启用安全默认值&#xff0c;登录账户会弹出弹框&#xff0c;如图&#xff1a; 使用四步就可以关闭此弹框的提示&#xff1a; 第一步&#xff1a;转到 A…

【Linux】磁盘空间不足

错误提示: no space left on device 经典版&#xff08;block占用&#xff09; 模拟 dd if/dev/zero of/var/log/nginx.log bs1M count2000排查 #1. df -h 查看哪里空间不足,哪个分区#2. du -sh详细查看目录所占空间 du -sh /* 排查占用空间大的目录 du -sh /var/* du…

计算机视觉---YOLOv2

YOLOv2讲解 一、YOLOv2 整体架构与核心特性 YOLOv2&#xff08;You Only Look Once v2&#xff09;于2016年发布&#xff0c;全称为 YOLO9000&#xff08;因支持9000类目标检测&#xff09;&#xff0c;在YOLOv1基础上进行了多项关键改进&#xff0c;显著提升了检测精度和速度…

【深度学习】1. 感知器,MLP, 梯度下降,激活函数,反向传播,链式法则

一、感知机 对于分类问题&#xff0c;我们设定一个映射&#xff0c;将x通过函数f(x)映射到y 1. 感知机的基本结构 感知机&#xff08;Perceptron&#xff09;是最早期的神经网络模型&#xff0c;由 Rosenblatt 在 1958 年提出&#xff0c;是现代神经网络和深度学习模型的雏形…

IP、子网掩码、默认网关、DNS

IP、子网掩码、默认网关、DNS 1. 概述1.1 windows配置处 2.IP 地址&#xff08;Internet Protocol Address&#xff09;2.1 公网ip2.2 内网ip2.3 &#x1f310; 公网 IP 与内网 IP 的关系&#xff08;NAT&#xff09; 3. 子网掩码&#xff08;Subnet Mask&#xff09;4. 默认网…

Azure 公有云基础架构与核心服务:从基础到实践指南

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 Azure 的基础架构由多个核心组件构成&#xff0c;理解这些概念是掌握其技术框架的第一步&#xff1a; 地理区域&#xff08;Geographic R…

Ajax01-基础

一、AJAX 1.AJAX概念 使浏览器的XMLHttpRequest对象与服务器通信 浏览器网页中&#xff0c;使用 AJAX技术&#xff08;XHR对象&#xff09;发起获取省份列表数据的请求&#xff0c;服务器代码响应准备好的省份列表数据给前端&#xff0c;前端拿到数据数组以后&#xff0c;展…

使用防火墙禁止程序联网(这里禁止vscode)

everything搜一下Code.exe的安装路径&#xff1a;D:\downloadApp1\vscode\Microsoft VS Code\Code.exe 方法&#xff1a;使用系统防火墙&#xff08;推荐&#xff09; Windows 通过防火墙阻止 VS Code&#xff1a; 打开 Windows Defender 防火墙&#xff08;控制面板 > 系统…

微信小程序 隐私协议弹窗授权

开发微信小程序的第一步往往是隐私协议授权&#xff0c;尤其是在涉及用户隐私数据时&#xff0c;必须确保用户明确知晓并同意相关隐私政策。我们才可以开发后续的小程序内容。友友们在按照文档开发时可能会遇到一些问题&#xff0c;我把所有的授权方法和可能遇到的问题都整理出…

JVM规范之栈帧

JVM规范之栈帧 前言正文概述局部变量表操作数栈动态链接 总结参考链接 前言 上一篇文章了解了JVM规范中的运行时数据区&#xff1a; JVM规范之运行时数据区域 其中&#xff0c;栈是JVM线程私有的内存区&#xff0c;栈中存储的单位是帧&#xff08;frames&#xff09;&#xff…

SGMD辛几何模态分解

SGMD辛几何模态分解 运行包含频谱图相关系数图 Matlab语言 算法近几年刚提出&#xff0c;知网还没几个人用&#xff0c;你先用&#xff0c;你就是创新&#xff01; 算法新颖小众&#xff0c;用的人很少&#xff0c;包含分解图、频谱图、相关系数图&#xff0c;效果如图所示&a…