作者:maerli,华为软件架构师
HarmonyOS分布式操作系统定位为万物互联时代的操作系统,覆盖手机、平板、智慧屏、智能穿戴、智慧车机以及智能家居等内存从KB到GB级的多种终端,并在系统层让多终端融为一体,形成超级终端,为消费者带来全场景智慧生活新体验。
如何让各种不同的设备融合为一体,形成超级终端呢?这就需要分布式软总线来实现。
分布式软总线为设备间的无缝互联提供了统一的分布式通信能力,能够快速发现并连接设备,高效地传输任务和数据。
一、全场景面临的挑战
全场景应用涉及工作、生活、出行和学习的方方面面,旨在更好地服务人们,提供便捷、高质量、丰富多彩的超级终端的体验。无论是运动、出行、办公还是家庭生活都是全场景超级终端所涉及的范围。
为了让大家更好地了解全场景超级终端,以及分布式软总线面临的各种挑战,下面我们以家庭场景为例详细讲解。
图1 家庭场景
设备类型:涉及的设备数量众多,比如手机、PAD、便携PC、智慧屏、电视盒子、智能家电、健身器材等。既有个人终端设备,又有影音娱乐设备,还有大量的各种智能家居终端。
连接方式:涉及Wi-Fi、以太网、蓝牙、Zigbee、PLC
典型业务:在家庭中,各类智能设备为人们带来丰富多彩的智慧体验,其场景多不胜举。为方便大家理解,这里给出几个例子。↓
- 来访客人按下智能门锁门铃按钮,智能音箱播放铃声,同时在电视屏幕上以画中画的方式展示出客人的影像。
- 用户在电视上看到一档美食节目,将烹饪方法和指导从电视转移到厨房的电冰箱屏幕上,然后在节目指导下一步步完成美食制作。
- 用户通过手机下发烹饪命令给烤箱、电饭煲等烹饪电器,由烹饪电器自动完成美食的加工。
- 用户运动后,运动器材将采集的运动健康数据自动同步给冰箱。冰箱推荐出一系列最适宜体力恢复和营养补充的健康菜谱,用户可以通过冰箱自动下单采购补充缺乏的食材。
挑战:家庭场景下涉及的设备数量众多,在丰富人们生活的同时,也为设备互联互通带来了巨大的挑战。同时,设备间的连接方式复杂,并且由于房屋结构的关系,无线信号干扰、衰减、遮掩的问题也较多。另外,由于家庭场景下业务的多样性,如何通过网络构建使得设备之间的互联互通更加可靠、安全,并能够基于业务和网络状态进行质量优化和合理调度,是家庭环境下最大的挑战。
二、分布式软总线介绍
全场景下,HarmonyOS通过分布式软总线技术连接不同设备构建超级终端的过程中,涉及到多种多样通信方式的选择和使用,而每一种技术、协议在实现和应用上都有很多差异。对于HarmonyOS应用开发者或设备开发者,要全部掌握所有在全场景智慧生活中所涉及的各类通信技术,其难度和成本可想而知。
因此如何让这些基于HarmonyOS构建的设备便捷、高效地互相通信;并且实现上层应用无需考虑设备差异,就如同使用“一个设备”一样,流畅地使用多个设备的能力,是HarmonyOS分布式设计中最重要的价值思考。
HarmonyOS分布式软总线为此应运而生,为HarmonyOS分布式通信提供了可靠的解决方案,并通过一系列简单的API接口服务于整个HarmonyOS系统。
分布式软总线,向上对开发者屏蔽了技术的复杂性;向下则通过优秀的算法和实现为HarmonyOS构建出一套高性能的分布式通信。
如图2所示,HarmonyOS分布式软总线从逻辑架构上将分布式通信抽象为由四个部分组成的业务模型:发现、连接、组网和传输。这四个部分在整个软总线业务逻辑中分工合作,通过构筑分布式通信框架,达成分布式软总线通信的目标。
图2 分布式软总线业务模型
1. 发现
通过分布式软总线的发现技术,发现周边的分布式设备的存在。一个设备可以是被发现方,可以是主动发现方,也可以二者兼而有之。
- 支持通过Wi-Fi、蓝牙、以太网等不同的媒介发现设备。
- 支持根据不同设备的能力,选择合适的发现媒介。
- 支持根据设备特点和业务需求提供合适的发现频次、扫描周期等发现策略。
2. 连接
通过分布式软总线的连接技术,连接周边的分布式设备。分布式软总线根据分布式设备的能力和业务需求,选择合适的通信媒介和最恰当的连接技术,建立通信链路,为后续的组网和传输提供基础能力。
3. 组网
通过分布式软总线的组网技术,可以将不同能力、不同特征的分布式设备组成一张网络,使得设备分布式网络不限于单一的或者一对一的连接关系,而是将整个全场景下涉及的设备组成了有一张动态网络。在这张网络中,每个设备的通信能力、业务能力都可以得到有效的管理。从而当业务需要时,通过分布式软总线的网络,可以随时提供业务需要的设备能力信息,也可以为业务通道的建立提供支撑。
4. 传输
通过分布式软总线的传输技术,为分布式业务提供业务数据的传输能力。对业务数据和QoS(Quality of Service,服务质量)要求进行抽象,并根据网络负载和设备能力为业务提供合适的传输技术。既保证单业务的通信诉求,又保证整个分布式网络内多业务的传输质量。
图3 分布式软总线数据模型
如图3所示,HarmonyOS分布式软总线将传输的数据抽象为四种数据模型:消息、字节、文件和流。基于不同的数据模型,可以针对性地构建合适的传输方案和QoS策略。
- 消息:用于实时性和可靠性要求极高短数据(比如控制类指令)的传输。
- 字节:用于时延要求不高的基本业务数据传输。
- 文件:主要用于设备间文件的传输和同步。通常要求较大的传输带宽,但实时性要求不高。
- 流:一般用于音视频流的传输。既要求高带宽,又要求低时延。
消息和字节数据模型,主要服务于设备间任务流转能力的构建,是分布式软总线中任务总线能力的基础。文件和流数据模型,主要服务于设备间分布式数据传输,是分布式软总线中数据总线能力的基础。
分布式软总线通过简化设计、优化传输、主动抗干扰、智能调度等技术的有机结合,为HarmonyOS提供了高带宽、低时延、低功耗、安全可靠的设备间通信能力。分布式软总线也为接入超级终端的设备间无缝互联提供了统一的、与物理连接无关的极简API,其业务模型和四种数据模型覆盖了全场景下分布式业务跨终端近场通信的诉求。
三、分布式软总线的应用
为了让大家更直观地理解分布式软总线,下面我们结合家庭场景的一个典型业务来讲一讲业务是如何使用分布式软总线能力的。
以门锁门铃和电视屏幕上的画中画为例,当门铃按下的时刻,门锁产品通过分布式软总线就可以发现支持画中画功能的电视。门铃上的分布式调度通过软总线唤起电视上的画中画;同时也就可以建立起智能门锁上摄像头画面传递到电视屏幕画中画的高速传输通道。
主要流程步骤如图4所示:
图4 家庭场景下分布式软总线的应用
- 步骤1:智能门锁上电后,分布式软总线启动发现流程。
- 步骤2、3:分布式软总线发现智慧屏设备后,启动组网流程,完成智能门锁与智慧屏之间的可信认证。
- 步骤4.1、4.2、4.3:分布式软总线分别向智能门锁和智慧屏上报对方设备上线。
- 步骤5、6:当客人按下门铃时,智能门锁的门锁业务请求分布式调度启动智慧屏画中画。
- 步骤7:智能门锁的分布式调度将“启动画中画”的指令封装为消息,请求分布式软总线将该消息发送至智慧屏的分布式调度。
- 步骤8、9:分布式软总线通过消息传输功能将“启动画中画”指令发送到智慧屏的分布式调度。
- 步骤10:智慧屏的分布式调度收到“启动画中画”指令后,启动画中画FA。
- 步骤11:智慧门锁的门锁业务请求分布式软总线将捕获的摄像头画面传输至智慧屏画中画。
- 步骤12、13:分布式软总线通过流传输功能,将门锁侧摄像头画面发送至智慧屏,智慧屏的画中画收到门锁摄像头画面后,在画中画FA中播放。
说明:为了方便理解,图4略去了设备管理子系统和分布式硬件子系统的处理流程。业务实际是通过分布式设备管理收到的设备上线的通知;门锁捕获摄像头视频和摄像头视频画中画播放,涉及到业务通过分布式硬件子系统提供的摄像头虚拟化能力。
四、结束语
分布式软总线技术是基于华为多年的通信技术积累,参考计算机硬件总线,在1+8+N设备间搭建一条“无形”的总线,具备自发现、自组网、高带宽低时延的特点。通过分布式软总线,全场景设备间完成设备虚拟化、跨设备服务调用、多屏协同、文件分享等分布式业务。
分布式软总线致力于实现近场设备间统一的分布式通信能力,提供不区分链路的设备发现和传输接口,具备快速发现并连接设备,高效分发任务和传输数据。分布式软总线是HarmonyOS架构中的底层技术,是HarmonyOS的大动脉,其总的目标是实现设备间无感发现,零等待传输。对开发者而言,无需关注组网方式与底层协议。
经过上面的介绍,相信大家对全场景和分布式软总线有了更深的了解。欢迎更多的开发者加入进来,丰富全场景,共筑鸿蒙生态!