查看原文
其他

硬核|华为鸿蒙系统尖刀武器之分布式软总线技术

雷架 爱笑的架构师 2022-09-07

1 没有人能够熄灭满天星光

华为开发者大会2020在广东东莞松山湖欧洲小镇举办,在主题演讲环节中,华为消费者业务总裁余承东宣布“鸿蒙”系统升级到2.0版本(HarmonyOS 2.0),余总表示,“鸿蒙”系统将在12月份推出手机版本,明年华为的手机将全面支持“鸿蒙”系统。

“没有人能够熄灭满天星光,每一位开发者,都是华为要汇聚的星星之火”,华为消费者业务CEO余承东说,华为将全面开放核心技术、软硬件能力,与开发者们共同驱动全场景智慧生态的蓬勃发展。

HDC大会

在这场发布会上也详细讲解了分布式软总线的概念,下面我们来看一下分布式软总线是不是真的硬核,会给我们以后的生活带来什么影响?

2 必须得补的传统总线知识

总线英文名叫Bus,你猜的没错也是公共汽车的意思。总线是一个非常广泛的概念,在传统计算机硬件体系中应用的非常广泛。

总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。

计算机硬件总线结构

在计算机系统中,各个部件之间传送信息的公共通路叫总线,微型计算机是以总线结构来连接各个功能部件的。按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。

传统总线的典型特征:

  • 即插即用
  • 高带宽
  • 低时延
  • 高可靠
  • 标准

3 什么是分布式软总线?

分布式软总线技术是基于华为多年的通信技术积累,参考计算机硬件总线,在1+8+N设备间搭建一条“无形”的总线,具备自发现、自组网、高带宽低时延的特点。

简单解释一下什么是1+8+N: 

1指的是手机 

8代表车机、音箱、耳机、手表/手环、平板、大屏、PC、AR/VR 

N泛指其他IOT设备

鸿蒙OS分布式软总线

全场景设备间可以基于软总线完成设备虚拟化、跨设备服务调用、多屏协同、文件分享等分布式业务。

分布式软总线的典型特征:

  • 自动发现/即连即用
  • 高带宽
  • 低时延
  • 高可靠
  • 开放/标准

4 分布式软总线功能和原理

4.1 分布式软总线的架构

分布式软总线架构

通过协议货架和软硬协同层屏蔽各种设备的协议差别,总线中枢模块负责解析命令完成设备间发现和连接,通过任务和数据两条总线实现设备间文件传输、消息传输等功能。

分布式总线的总体目标是实现设备间无感发现,零等待传输。实现这个目标需要解决三个问题:

(1)设备间如何发现和连接?

(2)多设备互联后如何组网?

(3)多设备多协议间如何实现传输?

下面带着这三个问题我们一探究竟。

4.2 软总线之发现连接:从手动发现,进化成自发现

传统的设备发现是手动的,需要人干预,以生活中常见的一个例子讲解:

比如手机上有很多照片需要传到个人PC上,我们可以采用蓝牙传输,首先要打开手机和PC的蓝牙发现功能,手机或者PC点击搜索设备,然后互相配对授权即可连接上,成功连上后就可以肆无忌惮的发送照片啦。

在分享照片这个场景中有很多人为的动作:开启蓝牙发现功能、搜索设备、配对授权,这确实有点麻烦,耗费了很多时间,可能会降低分享的意愿。

零等待自动发现

软总线提出了自动发现的概念,实现用户零等待的自发现体验,附近同账号的设备自动发现无需等待。

4.3 软总线组网关键技术-异构网络组网

上面的例子中手机传照片是通过蓝牙,假如PC没有蓝牙功能只有WIFI,在传统的场景中这种可能就不能实现分享传输了。

传统网络

软总线能否做到手机通过蓝牙传输,PC通过WIFI接收照片呢?

答案是:当然可以。软总线提出了异构网络组网可以很好解决设备间不同协议如何交互的问题。

异构网络解决方案

设备上线后会向网络层注册,同时网络层会与设备建立通道连接,实时检测设备的变换。网络层负责管理设备的上线下线变换,设备间可以监听自己感兴趣的设备,设备上线后可以立即与其建立连接,实现零等待体验。

软总线可以自动构建一个逻辑全连接网络,用户或者业务开发者无需关心组网方式与物理协议。

对于软件开发者来说软总线异构组网可以大大降低其开发成本。

传统开发模式:

在传统开发模式中开发者需要适配不同网络协议和标准规范。

分布式开发模式:

在HarmonyOS分布式开发模式中开发不再需要关心网络协议差异,业务开发与设备组网解耦,业务仅需监听设备上下线,开发成本大大降低。

4.4 软总线之传输

传统协议的传输速率差异非常大,时延也难以得到保证。

软总线传输要实现的目标:

高带宽(High Speed)

低时延(Low Latency)

高可靠(High Reliability)

软总线要实现的这三大目标的尖刀武器是:极简协议。

极简协议

将中间的四层协议栈精简为一层提升有效载荷,有效传输带宽提升20%

极简协议在传统网络协议的基础上进行增强:

  • 流式传输:基于UDP实现数据的保序和可靠传输;
  • 双轮驱动:颠覆传统TCP每包确认机制;
  • 不惧网损:摒弃传统滑动窗口机制,丢包快速恢复,避免阻塞;
  • 不惧抖动:智能感知网络变化,自适应流量控制和拥塞控制;

5 畅享未来,鸿蒙系统使能智慧生活

鸿蒙系统的使命和目标是将不同设备的串联起来,成为设备的“万能语言”,实现万物互联的终极目标。

变化一:软件开发从业者的福音

以前开发一款APP不仅需要为手机、手表、平板、电视等不同终端专门设计APP版本,而且还要为同类终端的不同品牌(华为、小米、OV)设计不同的APP版本。

而有了鸿蒙分布式系统架构,只需要开发一个版本,鸿蒙可以帮你“翻译”成不同终端的对应版本,真正实现一次开发就能在不同的终端上运行。

看到这估计很多程序员们会仰天长叹:终于可以早点下班了!

变换二:可以活得更懒

鸿蒙系统分布式架构能让你在使用某个APP软件的时候,比如看视频,可以把屏幕随意切换到电视、电脑、手机、平板、投影仪等任何一个设备的界面上。

你也不必满桌子找各种遥控器了,一个手表一个手机就可以控制家里的空调、电饭煲、汽车空调、音响、电视、电脑、门口的摄像头以及所有能联网的所有东西。

这就是鸿蒙所构想的“万物互联”,让一个系统连接起所有上网的智能设备。大家期待吗,让我们拭目以待吧。

- END -

闲聊:

雷架很激动,是不是有了鸿蒙系统以后不用上班了……  往下拉,点个再看


热门推荐:

一张图搞懂Redis缓存雪崩、缓存穿透、缓存击穿

【硬核万字总结】看完这20道Redis面试题,女朋友都面上阿里了

【程序员的故事】离开华为换种生活,它不香吗?

【程序员的故事】如果可以选择,我再也不想在国企当程序员了

【程序员的故事】30岁的程序员出路在哪里?


作者简介:

博主从华中科技大学硕士毕业,是一个对技术有追求,对生活有激情的程序员。几年间浪迹于多个一线互联网大厂,具有多年开发实战经验,如果你热爱技术或者你也不满足现状喜欢搞事情,那你不妨关注我,让我们一路同行,一起分享技术干货、交流面试技巧,吐槽职场故事。我有故事和酒,你来吗?



如果你们点个“在看雷架会兴奋一晚上睡不着~

大家看好华为鸿蒙OS吗,欢迎在留言区讨论~

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存