揭秘华为分布式技术

无人机飞到 30km 外,机上搭载摄像头所看见的画面,还能同时在华为手机上显示。

这一幕首次出现在2019年华为开发者大会上,算是华为分布式技术小露头角。

随着 EMUI 10.1 的正式推送,“分布式技术”频频被华为提起。有的人说这五个字我都认识,却不明白是什么意思。

就这一技术名词,PingWest品玩与华为消费者业务软件部总裁王成录近距离讨论了一下,什么是分布式技术,有什么作用,目前的应用状况如何,以及安全隐私问题。

华为眼中的分布式技术

如果单讨论“分布式技术”,相信程序员朋友们会有很多不同的看法。仅思维导图,它就能画出成百上千个分支。

鉴于绝大多数读者都是与我一样的普通用户,我们不妨从华为所实现的应用案例来感受“分布式技术”。

华为在 EMUI 10.1 中进一步提升了多设备间的协同能力,例如在多屏协同的体验中,不但可以用PC的键鼠操作手机,更可以无需拖拽,直接在PC 上打开手机上的文档进行编辑,且能同步保存。

PingWest品玩之前写过一篇《如何在华为MateBook X Pro 2020上打王者荣耀?》,文中写到笔记本电脑可以同时操作 PC 与手机,实际上就是华为分布式技术的一种应用。

“在这里分布式文件系统和分布式数据库真正实现了首次商用,对于我们来说非常有里程碑意义。因为只有打通了数据在多设备之间的流动,多设备的融合才成为可能。”

王成录博士(下称王博)提到了“分布式”很重要的一点,即“数据在多设备之间流动”。简单来说,同一个任务,它既能在手机上完成,也能在电脑上完成,甚至是电视上完成,用户处理事件没有设备的限制。

分布式技术的应用案例还有很多,王博说了很多种。华为目前已经将其深入到了手机、电脑、手表和智慧屏等等设备当中。某种程度上来说,利用分布式技术,华为正在赋予硬件新的意义,新的形态。

“如果你与设计师不在同一地点,需要和设计师沟通某一设计方案,可以通过在 CAD 迷你看图中 APP 中直接拨打畅连通话并发起屏幕共享,双方可就设计图纸点点画画进行更加精准的沟通,设计师互相能看见彼此的批注,就好像在面对面沟通。”

王博所说的场景颇有一丝赛博朋克的感觉,如果加上 AR 人物虚拟影像就更加接近于科幻电影了——华为正在为这样的事情做着铺垫。

他还补充道:“在分布式技术这个领域,华为会持续投入,在后续EMUI的升级版本中,分布式会有更深入的应用,应用场景将越来越逼近咱们设想的目标:IoT 设备有机互联。我们希望分布式可以把各个硬件重新定义为自己想要的‘物理硬件’。”

分布式技术背后的特点

通过案例大家能够更好地理解分布式技术,但华为是如何做到这些事情的呢?

王博介绍到,分布式技术背后不仅有分布式文件系统和分布式数据库做着支撑,分布式文件系统还具有三个核心特征:

1. 系统自动加载统一“语言”,无论哪种新硬件建立联系,它们都能畅通交流。

“我们从系统底层到上层做了充分解构,将整个系统分解成了几千个模块。这些模块在设计之初给适用的场景与硬件能力打上了标签,今后再对接新设备的时候就会有相应的模块自动加载到硬件设备,成为该硬件运行的系统。”

准确来说,华为分布式技术可支持不同硬件能力设备的接入。这一特点在多设备的 IoT 生态中起着举足轻重的作用,因为 IoT 意味着海量的智能设备,它们之间的协议不尽相同,想要让它们与自己建立协同关系,必须语言相通,交流畅通。

2. 硬件虚拟化。 

“任何一个设备都可以把其他周边的设备当成传感器。”

文首提到的无人机是一个非常典型的案例,手机实际上是将无人机的摄像头当作自己第三个摄像头,从而获取了无人机所看到的画面。“硬件虚拟化”就是把其它硬件产品“据为己有”,它所获取到的信息,手机也能同时获取,这让华为的 IoT 生态充满了更多的想象空间。

3. 应用一次开发,代码自动适配不同设备。

 “分布式技术有异构多核调度的能力,开发者不需要考虑写的代码是跑在 GPU 还是 CPU 上,所有的调度都是由系统调度这一层来实现,以及匹配硬件现在可供用资源来分配资源的。”

华为作为整个全场景生态的建立者,同时也在与很多伙伴一起合作。在分布式技术方面,华为将合作伙伴分为“南向”和“北向”,即硬件端的合作厂商和软件端的开发者,华为给前者提供 SDK(软件开发工具包)使其生产的硬件拥有分布式能力;为后者提供提供分布式 Kit 和软件开发的支持,使其 APP 能够调用分布式能力。

王博还向 PingWest品玩介绍,目前华为正在与京东合作,很快在京东购物 APP上,可以实现远程屏幕共享的操作。即线上购物时候,家人可以看到你的手机京东购物界面,还能对其画圈勾选,方便子女帮父母完成网上选货。

解决时延与安全问题

这一部分虽然用不着用户关心,但却影响着用户的实际使用。多设备之间的协同工作,十分依赖于低时延通信。就是你当前在进行跨设备操作的时候,感觉不到迟钝,和操作手机一样的感觉。

“分布式应用的时延处理,相比于单设备更加复杂也更难,我们要从底层操作系统内核层开始,到上层的运行值与框架,进行大量的创新与修改。”

是的,华为又一次提到了对系统底层的修改。“分布式软总线”起着至关重要的作用,它其实在去年 EMUI10 的时候就已经公开,该技术能将时延降低到 20ms,1Gbps 的无线有效吞吐。作为对比,人肉眼可感知到的时延大约为 80-100ms。

“要让用户感觉多设备间的连接和同一设备中不同模块的通讯一样,是分布式最精髓,也是难度最大的地方。其中涉及到非常多通信协议的优化,应用调度进程的优化,还有很大的创新。”王博担心大家不太理解专业术语,又举了一个通俗的例子,“例如手机是一个整体,内部还有很多不同模组,例如芯片、相机、屏幕模组都焊接在同一块电路板上,模组间的通信是电路来(物理)传输的。但多设备之间是依靠蓝牙、WiFi、NFC 来连接通信,我们希望分布式技术可以让多设备之间的无线连接,在未来达到像同一块 PCB 板(印刷电路板)中不同模组间通信的能力。”

由于多设备之间的传输,会涉及到非常多数据的处理,因此用户的隐私安全也是一块极为重要的部分。

华为的做法是将同一用户ID 作为多设备协同的认证标准前提。首先用户打开新设备,会做该设备的认证与 ID 绑定。当用户拥有了大量的 IoT 设备,且同时登陆了自己的 ID 账号,这些设备才会具备相互通信的能力。

华为在过去几年中的安全隐私保护的理想目标,是在任何时候都要保证是正确的人通过正确的设备在使用正确的数据。”王博强调了安全隐私问题,“分布式技术以后同样会秉持这个理念。当我们同一个ID下面有多个设备的时候,那这个设备的注册、验证、认证仍然会采用原来咱们那套技术体系基本能力,例如指纹的识别能力、面部的能力、token的能力、数据端到端的加密、信道的加密、信源的加密……这些都不会变。”

为此,华为已经拿到了全球商用OS内核最高安全等级的CC EAL5+认证,EMUI 成为全球首个获得ISO/IEC 27701隐私信息管理体系认证的手机操作系统。

不再模仿 Android 和 iOS

“分布式概念形成于 2016 年 5 月,来自于我们每年做战略规划的传统。”

彼时的智能手机行业方兴未艾,大家都在寻找智能手机下一代的形态,当时存在的观点,无非是谁会替代谁的关系,例如智能手机继续发展,会把所有的东西替代掉,包括平板、PC 和普通电视机。

虽然是视频采访,但王博说到这里精神更加抖擞了起来,“我们当时在考虑另一条路,如果设备间不是替换关系,而是相互协同关系会如何。所以这个灵光一现,就是分布式概念雏形出现的背景。”

在此需要补充的是,华为 IoT 商用项目也基本起步于 2016 年。华为其实从一开始就在同步布局 IoT 生态与分布式技术。

四年磨一剑,默默耕耘这些时间,EMUI 10.1 正在将越来越多的实际应用推到消费者的面前,大家逐渐能够体验到分布式技术给硬件、软件交互带来的改变。华为的系统慢慢地走出了一条新的道路,EMUI 自主探索的特点更加明显了。

可这仍然是一个小小的开始而已。

王博清楚地认识到软件开发是一条马拉松之路:“软件的开发与硬件不同,后者只要做出了一个新的颜色、新的喇叭,消费者就能感受得到。这种显性的特征在软件里很少很少,没有一个软件一出生就能获得所有消费者的喜欢。”

“软件具有滞后性。预计在接下来一年到两年左右的时间,产品的分布式能力才会成为消费者购买华为手机首要的点。”

王博将 EMUI 10 比喻为“打开 IoT 世界的钥匙”,他还说:“我们基于分布式技术的系统,不再是复制 Android 和 iOS,因为它们俩本质是一样的:由 App Store 下载 APP 到手机上来运行。但基于分布式技术,我们突破了单手机的限制,多设备连接成一个生态之后,设备会有新的定义,建立在此之上的生态开发与应用形态就变得不一样了。”

今年秋天即将要发布的新版 EMUI,或许就是登上新一个高度的阶梯。设想一下,当越来越多的设备接入到华为 IoT 生态当中的情形,例如用手机碰一下保温杯,就能知道还剩多少水以及温度,碰一下电饭煲,就知道正在煮的米饭的状态……

分布式能力给予华为的想象空间非常巨大,同时需要花费的时间与精力也会更多。这也是华为会拉通“南向”与“北向”双方合作伙伴一起来建立这个生态。其实在王博看来,中国目前的产业链现状,提供了一个很好的环境,因为 AI、5G、IoT 模块的生产等方面,在中国都相当集中。

而当消费者认为这样的创新有实际用处,为此买单,开发者能够同时获益,整个产业才有足够的造血能力。