0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

剖析HarmonyOS低时延高可靠消息传输原理

电子工程师 来源:HarmonyOS开发者 作者:zhangkesi 2021-05-18 11:16 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

01

一个近场通信的例子

1.1 全场景智慧生活的典型问题

在全场景智慧生活当中,设备种类和数量越来越多,各种富设备(如智慧屏、PC、PAD、音箱)以及各种瘦设备(如IOT的智能门锁、摄像头、智能灯、智能窗帘)的近场通信方式各不相同,有wifi、蓝牙NFCusbzigbee等。

在这么多种近场通信方式选择上,如何让这些设备便捷、高效地通信,从而实现上层应用无需考虑设备差异,就如同使用“一个设备”一样,流畅地使用多个设备的能力,是全场景智慧生活中面临的一个典型问题。HarmonyOS分布式软总线为这个问题提供了可靠的解决方案,并通过简单的API接口开发者开放出来。

1.2 如何保障控制消息(Message)低时延高可靠

下图是一个家庭场景中典型的富瘦设备的组网图,主要包含两类业务,黑色线条的上网业务,红色线条的近场业务。横向的近场通信业务的物理通道,比纵向的上网业务的物理通道种类更多,带宽也不同,HarmonyOS分布式软总线完全屏蔽了底层通信的差异,让上层应用通过使用几个简单的软总线接口,就像使用本地接口一样,轻松实现多设备间高速通信。

215e0058-b567-11eb-bf61-12bb97331649.png

举个例子,将手机上的游戏App的操作界面投屏到PAD上,如何实现在PAD上进行手机上游戏APP的控制如在手机上控制一样的流畅?其中,使用软总线的SendMessage接口完成PAD到手机的反控操作(华为Cast+技术)Message的无延迟传输,起到了一个关键的作用。具体实现如下:

前提条件:

1、 手机、PAD均搭载了HarmonyOS,具备分布式软总线能力

2、 手机已经把游戏APP的操作界面投屏到PAD上

过程描述:

1、 手机首先使用软总线的发现能力发现PAD设备,并把手机上游戏APP的操作界面投屏到PAD。

2、 因为游戏APP本身在手机上,所以在PAD上操作手机游戏APP,就是从PAD到手机的“反控操作”,即PAD上控制消息Message反馈到手机上执行,PAD和手机之间需要通过软总线建立控制通道。软总线要选择最优传输通道,并保障该通道上的数据得到高优先级的传输。

3、 PAD调用SendMessage接口把控制消息Message反馈给手机。

4、 手机收到PAD的反控消息并执行,并把执行后的结果再反馈到PAD上。整个过程的时延要求在百毫秒级。

上面描述的过程看似简单,实际上底层通信使用到了HarmonyOS分布式软总线的发现、连接和传输的能力。本次不讲发现和连接的技术点,仅对传输的实现原理进行解释。

02

近场Message/Byte传输实现原理

2.1 实现过程描述

HarmonyOS分布式软总线提供了两个接口,分别用于近场通信场景下长短消息的传输,分别是SendMessage和SendByte,实现原理相同,如下图所示:

21932e4a-b567-11eb-bf61-12bb97331649.png

图中APP X统一代表不同的上层应用App。具体过程描述:

1)设备A和设备B的APP X会在初始化阶段向软总线注册回调通知接口,用于在传输通道打开、数据接收后通知到APP X

2)设备A的APP X要向设备B上的APP X发送消息,设备A的APP X首先把设备B的设备ID信息、以及标识APP X的信息传递给软总线,请求一个传输通道。

3)软总线要根据当前两个设备已有的物理通道种类(BR/BLE/WIFI2.4/Wifi 5G/P2P),以及物理通道的负载和设备的状态,决策选择一个最优的传输通道的底层连接,同时完成传输层的连接建立,和传输标识的内核态到用户态的映射,最后把传输通道标识传递到两个设备的上层APP X。

4)设备A的APP X拿到通道标识后再调用SendMessage/SendByte接口和设备B的APP X进行通信。设备B的APP X也可以使用相同的方法和设备A进行通信。

5)传输结束后,设备A的APP X可以调用关闭传输接口完成传输通道资源的释放。

2.2 Message/Byte传输注意事项

1)Message类型主要用于低时延、高可靠业务,比如游戏的控制命令、IoT设备的开关(灯的开关、门窗的开关)等等,数据量最大不超过4KB。

2)SendMessage对Message类型消息的传输,HarmonyOS软总线在底层实现按照最高优先级进行传输,例如空口使用最高优先级VO队列。因此在实际使用中,为了获得更低的时延,最好是一帧数据就能把Message消息发送完成。比如1.5KB大小,保证空口一帧就发送完成,减少空口的资源竞争和退避带来的时延开销。

3)Byte类型主要用于传输比Message类型消息大,时延要求没那么高的业务。比如传输一个图片的缩略图。通常最大不超过4M大小。具体大小取决于设备的内存大小,有些设备内存小,则其Byte类型消息不会超过4M。

4)SendByte除了用于时延要求不高的基本业务数据传输外,也可以用于探测网络端与端之间的时延,比如探测当前网络传输1MB数据需要多少时间。

5)在支持多种物理链路的情况下,不建议上层应用指定具体的物理链路,让HarmonyOS系统自动选择,系统会根据当前的网络情况选择最优的传输通道。

6)传输的回调接口,不要有阻塞性动作,特别是对于持续性的传输,如果在回调中有阻塞性动作,会导致传输性能下降。 本次为大家简单介绍HarmonyOS Message/Byte类型消息的底层传输原理,这两个都是数据量比较小(Byte/M)且非持续性的消息传输,对于规格比较大(G)且有持续性传输要求的File和Stream类型数据传输,会在后续技术解析文章中进行讲解,敬请期待!

本文作者:zhangkesi,华为软件架构设计工程师

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 音箱
    +关注

    关注

    36

    文章

    648

    浏览量

    70255
  • PC
    PC
    +关注

    关注

    9

    文章

    2164

    浏览量

    158544
  • IOT
    IOT
    +关注

    关注

    189

    文章

    4373

    浏览量

    206778
  • 智能门锁
    +关注

    关注

    17

    文章

    1915

    浏览量

    45600
  • OpenHarmony
    +关注

    关注

    31

    文章

    3928

    浏览量

    20741

原文标题:华为架构师解读:HarmonyOS低时延高可靠消息传输原理

文章出处:【微信号:HarmonyOS_Dev,微信公众号:HarmonyOS开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    小于1毫秒,工信部发布全光算力网络重磅利好政策

    电子发烧友网报道(文/李弯弯)当下,人工智能(AI)技术飞速发展,算力成为驱动数字经济发展的核心要素。AI应用持续拓展,对底层算力网络的传输效率、时控制和可靠性提出极高要求。然而,传统算力网络受电
    的头像 发表于 10-20 07:17 1w次阅读
    时<b class='flag-5'>延</b>小于1毫秒,工信部发布全光算力网络重磅利好政策

    容值和容值贴片电容之间的区别,一文带您了解!

    贴片电容在现代电子电路中广泛应用,容值与容值贴片电容因不同的设计、材料和工艺,在诸多方面存在显著差异。这些差异涵盖了电容值范围、应用场景、电气性能(如等效串联电阻、等效串联电感、耐压值)、尺寸与成本等维度。了解它们的区别,对于电子工程师精准选型,确保电路性能至关重要。
    的头像 发表于 12-10 15:31 162次阅读
    <b class='flag-5'>低</b>容值和<b class='flag-5'>高</b>容值贴片电容之间的区别,一文带您了解!

    SiLM27517HAD-7G 20V, 4A/5A18ns单通道欠压保护边门极驱动器的核心优势

    SiLM27517HAD-7G 单通道欠压保护边门极驱动器,专为驱动MOSFET、IGBT及宽禁带半导体(如GaN)设计。核心优势在于18ns的极速传输延迟、4A/5A非对称驱动能力以及
    发表于 11-19 08:40

    基于UC1842可靠电源的设计与实现

      基于UC1842可靠电源的设计 引 言 开关电源是一种新式电能变换技术,由于其具有体积小、重量轻、耗能、使用方便等优点,在移动通信、航空航天、仪器仪表、自动化、医疗机械等领域应用广泛。中电
    的头像 发表于 10-12 15:09 5820次阅读
    基于UC1842<b class='flag-5'>高</b><b class='flag-5'>可靠</b>电源的设计与实现

    深入剖析RabbitMQ可用架构设计

    在微服务架构中,消息队列故障导致的系统不可用率高达27%!如何构建一个真正可靠的消息中间件架构?本文将深入剖析RabbitMQ可用设计的核心要点。
    的头像 发表于 08-18 11:19 725次阅读

    HarmonyOS 5】鸿蒙星闪NearLink详解

    HarmonyOS 5】鸿蒙星闪NearLink详解 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 一、前言 鸿蒙星闪NearLink Kit
    的头像 发表于 07-11 18:24 1547次阅读
    【<b class='flag-5'>HarmonyOS</b> 5】鸿蒙星闪NearLink详解

    延迟至30ms+ LLSM流媒体传输模块延迟方案推荐

    LLSM流媒体传输模块,凭借带宽、延迟的传输特点,一经推出就受到了广泛关注。由于延迟传输
    的头像 发表于 06-04 17:57 1193次阅读
    延迟<b class='flag-5'>低</b>至30ms+  LLSM流媒体<b class='flag-5'>传输</b>模块<b class='flag-5'>低</b>延迟方案推荐

    算力革命:RoCE实测推理时比InfiniBand30%的底层逻辑

    AI 训练与推理中的网络效率瓶颈,助力数据中心在带宽、延迟、高可靠性的需求下实现算力资源的最优配置。
    的头像 发表于 05-28 14:08 1809次阅读
    算力革命:RoCE实测推理时<b class='flag-5'>延</b>比InfiniBand<b class='flag-5'>低</b>30%的底层逻辑

    LLSM——基于RK3588的延迟带宽流媒体传输模块

    随着物联网和人工智能的快速发展,实时视频传输在嵌入式系统中变得越来越重要。无论是智能摄像头、无人机还是工业监控设备,都需要高效、延迟的流媒体传输解决方案。慧视推出的LLSM延迟
    的头像 发表于 04-30 18:36 1519次阅读
    LLSM——基于RK3588的<b class='flag-5'>低</b>延迟<b class='flag-5'>低</b>带宽流媒体<b class='flag-5'>传输</b>模块

    工业级MIFI全栈式解决方案:快速构建可靠Wi-Fi网络

    Air8000核心板为例,在工业物联网场景中快速构建可靠的Wi-Fi网络,供终端IoT设备接入。 最新开发资料详见: www.air8000.cn 一、了解两种工作模式   
    的头像 发表于 04-17 13:46 562次阅读
    工业级MIFI全栈式解决方案:快速构建<b class='flag-5'>高</b><b class='flag-5'>可靠</b>、<b class='flag-5'>低</b>时<b class='flag-5'>延</b>Wi-Fi网络

    工业无线通信新标杆:MIFI技术驱动的可靠Wi-Fi网络快速搭建方案!

    情况下仍保持毫秒级时与99.99%可用性。本期特别分享Wi-Fi联网AP应用示例(Air8000作为热点):   以Air8000核心板为例,在工业物联网场景中快速构建可靠
    的头像 发表于 04-17 13:46 630次阅读
    工业无线通信新标杆:MIFI技术驱动的<b class='flag-5'>低</b>时<b class='flag-5'>延</b><b class='flag-5'>高</b><b class='flag-5'>可靠</b>Wi-Fi网络快速搭建方案!

    爱立信如何攻克通信网络“三”挑战

    在5G、物联网、工业互联网快速发展的今天,全球通信网络正面临多重压力——场景不断膨胀、数据爆炸式增长、设备数量激增,而用户对、高安全和极致体验的要求,正驱动网络向智能化、可靠
    的头像 发表于 04-07 14:57 1.5w次阅读

    TECS OpenStack资源池虚机写磁盘时告警的问题处理

    某运营商TECS资源池,在当前告警中显示“虚机写磁盘时告警”,如下图所示。告警统计总体平均10分钟左右自动恢复。
    的头像 发表于 03-21 09:36 839次阅读
    TECS OpenStack资源池虚机写磁盘时<b class='flag-5'>延</b><b class='flag-5'>高</b>告警的问题处理

    HarmonyOS应用点击响应时优化指导

    ,加上同类型相近功能的产品互相竞争,用户也会对App产品质量的要求越来越高,对响应速度的要求也愈加严格。本文介绍在HarmonyOS应用中,对应用点击响应时进行优化的各种方法思路。
    的头像 发表于 01-07 09:33 1655次阅读
    <b class='flag-5'>HarmonyOS</b>应用点击响应时<b class='flag-5'>延</b>优化指导

    HarmonyOS应用点击完成时问题定位流程及原理

    HarmonyOS应用开发中,完成时是指用户操作HarmonyOS移动终端时,从输入触控指令到界面完全刷新结束并达到可以阅读的稳定状态所用时间,点击完成时依据页面转场类型可以分为
    的头像 发表于 12-23 11:15 1290次阅读
    <b class='flag-5'>HarmonyOS</b>应用点击完成时<b class='flag-5'>延</b>问题定位流程及原理