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

    文章

    638

    浏览量

    67680
  • PC
    PC
    +关注

    关注

    9

    文章

    2059

    浏览量

    153960
  • IOT
    IOT
    +关注

    关注

    186

    文章

    4164

    浏览量

    196065
  • 智能门锁
    +关注

    关注

    17

    文章

    1847

    浏览量

    42982
  • OpenHarmony
    +关注

    关注

    25

    文章

    3649

    浏览量

    16084

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

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

收藏 人收藏

    评论

    相关推荐

    AWTK 最新动态:支持鸿蒙系统(HarmonyOS Next)

    导读HarmonyOS是全球第三大移动操作系统,有巨大的市场潜力,在国产替代的背景下,机会多多,AWTK支持HarmonyOS,让AWTK开发者也能享受HarmonyOS生态的红利。AWTK全称
    的头像 发表于 11-06 08:03 109次阅读
    AWTK 最新动态:支持鸿蒙系统(<b class='flag-5'>HarmonyOS</b> Next)

    TLV3201电流检测电路的时应该怎么算?

    TLV3201请教一下大佬。这种电流检测电路的时应该怎么算?这里的时指的是从输入电流发生变化到比较器输出反馈的时间。 我的理解是放大器的建立时间+比较器的传输嘛?比如按照
    发表于 07-31 07:19

    可靠继电器的设计与制造

    可靠继电器作为一种关键电子控制器件,在电力保护、自动化控制、通信等领域中发挥着至关重要的作用。其设计与制造过程必须严格遵循高标准,以确保在复杂和恶劣的环境中仍能稳定、可靠地运行。本文将从设计原理、制造工艺以及
    的头像 发表于 06-24 11:39 507次阅读

    GMSL技术 实现带宽、延迟和高可靠性数据传输# ADI# GMSL# 汽车# 数据传输

    adi数据传输电机
    Excelpoint世健
    发布于 :2024年05月17日 16:34:25

    HarmonyOS实战开发-如何实现音频录制和播放,AudioVivid音乐播放的相关功能

    介绍 本示例主要展示了音频录制和播放,AudioVivid音乐播放的相关功能: 录制。
    发表于 05-11 20:26

    金融信创优秀解决方案-超低时网络解决方案

    本方案基于中科驭数自主研发的网络DPU卡SWIFT-2200N和超低时数据处理开发平台SWIFT-NDPP
    的头像 发表于 04-30 14:29 771次阅读
    金融信创优秀解决方案-超低时<b class='flag-5'>延</b>网络解决方案

    光纤布线如何保证数据可靠传输

    在当今的数字环境中,数据传输是技术进步的命脉,通信网络的稳定性和可靠性至关重要。随着对更快、更高效的数据传输的需求不断增长,创新者不断寻求解决方案来保证无缝连接;在这些解决方案中,光纤布线代表了
    的头像 发表于 04-07 10:34 310次阅读

    网络解码矩阵:医院高清视频传输可靠保障

    高清视频传输提供了可靠的保障。 首先,讯维网络解码矩阵采用了先进的视频编解码技术,保证了视频在传输过程中的高质量和延迟。在手术室中,医生可以实时接收到清晰、流畅的手术画面,从而进行精
    的头像 发表于 03-25 17:26 381次阅读
    网络解码矩阵:医院高清视频<b class='flag-5'>传输</b>的<b class='flag-5'>可靠</b>保障

    CAN总线的传输距离与采样点、传输之间的关系,你弄明白了吗?

    CAN总线的最大传输距离与波特率、采样点、传输之间存在什么样的关系呢?如何理论计算出最大传输距离呢?本文将详细解答这两个问题。延时原理分析影响CAN通信距离的主要因素是什么呢?经过
    的头像 发表于 03-06 08:23 858次阅读
    CAN总线的<b class='flag-5'>传输</b>距离与采样点、<b class='flag-5'>传输</b>时<b class='flag-5'>延</b>之间的关系,你弄明白了吗?

    光路科技FR-TSN系列:打造工业物联网时代的传输新标准

    随着移动通信技术的不断演进,5G时代已经来临,为工业互联网应用带来了前所未有的机遇与挑战。通过5G技术的R16标准以及TSN技术的引入,我们看到了在工业自动化、交通运输、电力传输等领域实现
    的头像 发表于 02-26 16:25 376次阅读
    光路科技FR-TSN系列:打造工业物联网时代的<b class='flag-5'>传输</b>新标准

    【鸿蒙千帆起】德地图携手HarmonyOS NEXT,开启智能出行新篇章

    了 8 亿大关。这些进展反映了开发者和合作伙伴对鸿蒙生态未来发展的坚定信心和美好期待。 1 月 19 日 HarmonyOS 应用开发技术分论坛召开,德作为鸿蒙原生应用开发中的优秀案例,受邀出席了此
    发表于 02-02 11:09

    国产技术创新与实践分享|2024技术创新实践论坛精彩回顾来啦!

    1月19日下午,由中科驭数主办的第二届证券基金行业先进计算技术大会暨2024技术创新实践论坛(上海站)圆满落幕。本次论坛得到了中国计算机学会集成电路设计专委、中国电子工业标准化技术协会新一代
    的头像 发表于 01-20 11:40 1246次阅读

    阻输入和阻输入的阻抗分别是多少

    阻输入和阻输入是指在电子电路中输入端的两种不同电阻特性。阻输入指的是输入端的电阻较大,而阻输入指的是输入端的电阻较小。 在电路中,输入端的电阻会影响信号的
    的头像 发表于 12-25 15:32 3355次阅读

    怎么判断通电路

    通和通电路是滤波器中两种基本类型,用于控制信号的频率范围。通电路允许高频信号通过,而通电路允许低频信号通过。下面是一个详尽、详实、细致的2000字文章,解释了如何判断
    的头像 发表于 12-22 15:06 4687次阅读

    “一秒”读懂串扰对信号传输的影响

    “一秒”读懂串扰对信号传输的影响
    的头像 发表于 11-28 17:07 542次阅读
    “一秒”读懂串扰对信号<b class='flag-5'>传输</b>时<b class='flag-5'>延</b>的影响