分布式核心能力:软总线与硬件虚拟化

本文将带你理解 HarmonyOS 的分布式软总线、硬件虚拟化、元数据驱动编程等核心能力。


1. 分布式软总线

1.1 基本原理与四大功能

分布式软总线是 HarmonyOS 分布式能力的基础设施,不是通讯协议,而是一个统一的连接和通信管理平台。

4.1.1 基本原理与四大功能

图:分布式软总线基本原理

四大核心功能:

功能 说明
发现 自动发现周边可信设备
连接 建立设备间的通信连接
组网 将多个设备组成分布式网络
QoS 保证 根据场景智能选择最佳连接方式

1.2 连接方式智能选择

连接方式 特点 适用场景
Wi-Fi 高带宽、低延迟 大数据传输
蓝牙 低功耗 近距离连接
NFC 极近距离 配对和身份认证

2. 分布式硬件虚拟化

2.1 HAL 扩展概念

传统 HAL(Hardware Adaptation Layer)将硬件抽象成一组软件 API 供上层调用。HarmonyOS 基于软总线的概念进行扩展:

跨物理终端的 HAL 访问 —— 在终端 A 上通过虚拟 HAL 去访问终端 B 上的真实硬件

2.2 六类外设虚拟化

4.2.2 六类外设虚拟化

图:六类外设虚拟化

外设类型 功能 应用场景
Camera 跨设备拍照录像 手机调用智能摄像头
MIC 跨设备语音输入 平板使用手机麦克风
Speaker 跨设备音频输出 手机音频输出到音箱
Keyboard 跨设备文本输入 手机使用蓝牙键盘
Display 跨设备屏幕显示 手机投屏到电视
Touch 跨设备触控交互 平板控制手机界面

2.3 跨设备能力调用流程

以下流程展示了在手机上调用智能电视显示能力的完整过程:

4.2.3 跨设备显示能力调用流程

图:跨设备显示能力调用流程

流程说明

  1. 应用调用 createDeviceManager 初始化设备管理器
  2. 通过 getTrustedDeviceList 获取已认证的可信设备列表
  3. 根据设备类型(如 TV)过滤出目标设备
  4. 创建虚拟 Display HAL,建立与远程设备的连接
  5. 将本地内容投射到远程设备显示

2.4 分布式能力工作流程

4.2.4 分布式能力工作流程

图:分布式能力工作流程


3. 元数据共享对象驱动编程

3.1 设计思想

元数据可以简单理解为分布式的全局变量,是一种基于数据驱动的跨设备编程模式。

传统组件协作的问题:

  1. 超级终端内,组件间的协作比单机上可能更频繁
  2. 组件的接口(IDL)变化更多,需要频繁增改接口
  3. 组件间协同大部分是基于数据的协同

元数据驱动的优势:

  1. 无需关注通讯逻辑,组件间不直接通过接口协作
  2. 设计共享的元数据,组件函数分别绑定并响应数据变化
  3. 数据变化自动触发相关组件更新

4.3.1 设计思想

图:元数据驱动编程设计思想

3.2 数据驱动编程架构

元数据驱动的核心是通过共享数据对象实现组件间的松耦合协作:

4.3.2 数据驱动编程架构

图:元数据驱动编程架构

核心机制

  • @StorageLink 装饰器:建立组件与共享数据的双向绑定
  • @Trace 装饰器:标记需要响应式追踪的字段
  • 自动响应:数据变化时,所有绑定的组件自动更新

4. 分布式文件系统(HMDFS)

4.1 HMDFS 概述

HMDFS(HarmonyOS Mobile Distributed File System)是 HarmonyOS 专为分布式场景设计的文件系统,实现了跨设备的无缝文件访问。

核心特性

  • 透明访问:应用无需修改即可访问远程设备文件
  • 统一命名空间:多设备文件统一挂载到同一目录树
  • 缓存机制:智能缓存提升访问性能
  • 权限继承:遵循分布式权限体系

4.2 HMDFS 架构设计

4.4.2 HMDFS 分布式文件系统架构(简化版)

图:HMDFS 分布式文件系统架构(简化版)

延伸阅读完整官方 HMDFS 分布式文件系统架构

架构说明

  • 应用通过标准文件 API 访问 HMDFS 客户端
  • HMDFS 客户端通过分布式软总线与远程设备通信
  • 远程 HMDFS 客户端代理访问本地文件系统
  • 缓存机制减少跨设备网络传输

4.3 分布式设备管理四大功能

4.4.3 分布式设备管理四大功能

图:分布式设备管理四大功能流程

功能详解

功能 API 说明
发现 startDeviceDiscovery 主动发现周边可信 HarmonyOS 设备
绑定 bindDevice 与目标设备建立认证绑定关系
查询 queryDeviceInfo 获取设备能力、状态等信息
监听 onDeviceStateChange 监听设备上线/下线状态变化

5. 分布式数据管理

分布式数据管理实现数据的跨设备同步,提供以下关键能力:

能力 说明
数据一致性保证 确保多设备数据最终一致
冲突解决机制 自动处理并发修改冲突
增量同步 仅同步变化的数据,节省带宽
离线支持 支持离线修改,联网后自动同步

5.1 数据同步权限

分布式数据同步遵循 HarmonyOS 的权限模型:

权限类型 说明 使用场景
READ_ONLY 仅读取远程数据 跨设备查看共享内容
READ_WRITE 可读写远程数据 多设备协同编辑
SYNC 自动同步数据变化 实时数据同步

5.2 运作机制

  1. 数据变更检测:本地数据修改时,分布式数据服务自动捕获变更
  2. 版本管理:为每次变更生成版本号,用于冲突检测
  3. 冲突解决:采用"最后写入优先"或自定义合并策略
  4. 增量推送:仅推送变更的增量数据,减少网络传输

下篇预告

下一篇文章将详解超级终端抽象模型图形渲染系统创新,理解以人为中心的设计理念如何落地实现。


本文是「HarmonyOS 系统架构深度解析」系列第 5 篇。

Logo

赋能鸿蒙PC开发者,共建全场景原生生态,共享一次开发多端部署创新价值。

更多推荐