OpenHarmony 分布式硬件关键技术
本文转载自 OpenHarmony TSC 官方微信公众号《峰会回顾第8期 | OpenHarmony 分布式硬件关键技术》
演讲嘉宾 | 李 刚
回顾整理 | 廖 涛
排版校对 | 李萍萍

嘉宾简介
李刚,华为OpenHarmony技术专家,OpenHarmony分布式硬件技术负责人。主要负责OpenHarmony分布式硬件架构设计以及华为多设备协同方向的研究。
内容来源
第一届开放原子开源基金会OpenHarmony技术峰会——生态与互联分论坛
视频回顾
视频链接:峰会回顾第8期 | OpenHarmony 分布式硬件关键技术-李刚_哔哩哔哩_bilibili
正 文 内 容
OpenHarmony是一款面向未来万物互联场景的操作系统,其设计采用了分布式架构。那么OpenHarmony相比于传统操作系统有哪些关键的分布式技术呢? 华为分布式硬件技术专家李刚在第一届OpenHarmony技术峰会上给大家带来了几点分享。

01►分布式硬件设计理念
从智能终端的发展趋势来看,单一智能智能终端硬件已经越来越难以满足用户对全场景的要求,面临发展瓶颈:由于体积的限制,无法把所有场景所涉及的硬件全部加入到一个设备中,且单一设备也无法满足所有场景的需求。基于这个现实痛点,多智能终端“组合”而成的“超级终端”应运而生。超级终端可以根据用户期望,通过分布式技术将多个设备组合起来,使设备间的硬件资源共享,实现硬件的“自由”扩展,并可以在不同的业务场景下,按需组合硬件资源,提供更好的用户体验。例如,通过手机、平板、手表、大屏幕、电脑等智能终端的组合,可以实现多屏幕串联、多摄像头和麦克风交互以及专业传感器布置等功能。
智能终端演进
在这样的趋势下,传统操作系统很难满足开发者的要求。因为传统操作系统只能局限使用单个设备上的硬件,每一个硬件都是割裂运行的,应用也只能在单设备垂直领域发力,实现跨设备体验成本和复杂度极高。对开发者来说,更希望能够“跨端”共享硬件,打破硬件PCB边界,从而通过软件定义硬件,构建全场景多设备的“超级终端”。分布式硬件技术能够为开发者的上述需求提供助力,因其能够构建硬件资源池,提供按需定义超级终端硬件的能力,支持多路硬件的协同和调度,且能够使硬件能力自适应。
分布式硬件能够带来什么样的新体验呢?例如,在办公场景下,用户可以让各智能终端设备便捷地链接起来,实现硬件能力共享,跨设备、跨系统应用的操作,无缝传输数据;在出行场景下,用户可以通过将手机和车机组合起来,让应用共享两者的硬件,实现导航、音乐和通话等功能的无缝操作,达到“智慧出行”。对开发者而言,通过程序控制一个远端的设备,仅需要选择其对应的ID即可,其他操作和使用本地设备的方式完全一致。

智慧场景示例
02►跨端分布式硬件的核心挑战
要实现上述的功能和体验,在跨端分布式硬件技术上存在什么挑战呢? 随着超级终端包含的设备越来越多,硬件的管理复杂度也随之攀升。每一个设备的硬件,不仅对本设备提供硬件能力,还要为超级终端中的其他设备赋能。因此,操作系统必须提供各设备的管理能力。例如,各硬件状态的更新和同步、硬件冲突的处理、多路并发情况的处理等。多设备间的管理技术,是目前跨端分布式硬件的核心挑战之一。
跨端多硬件管理
在无线网络环境下,带宽有限,硬件调用的时延和效果难以保障。例如,本地相机的时延和拍摄效果是由硬件总线决定的,一般可以达到几十毫秒的时延和4K甚至更高的分辨率,且非常稳定。当通过应用远端操控相机时,除了硬件总线,还受到网络信号传输的影响,时延最低只能达到几百毫秒,分辨率也仅能达到1080P ,且波动很大。无线的不可靠网络,给硬件时延和效果带来了较大的不确定性。
超级终端硬件调用
在跨端多路硬件并发调用时,硬件协同同步的难度非常高。如上文所述,跨端硬件调度的时延本身就很难保障,当跨端同时调用多个硬件设备时,设备间的同步更难以保障。例如,当应用需要同时操作摄像头和麦克风时,在本地可以通过两者出厂时的调试工作确定其一致性;当跨端远程操作时,由于时延的不确定性,需要操作系统在多个设备间进行硬件协同,大大增加了软件的复杂度。
超级终端多路硬件并发调用
此外,异构智能终端间的硬件兼容性和容错的难度也非常大。设备的不同,导致其各自的系统资源、处理能力、支持的硬件数据处理类型、驱动I/O等都存在较大差异,需要进一步考虑硬件之间的兼容和容错。例如,手表的处理能力相对较弱,难以使用电视的4K屏幕、高声道立体声喇叭和超高清摄像头等。
03►分布式硬件平台关键技术
第一,OpenHarmony在设计之初时就采用了分布式硬件池化架构。通过对各设备能力的抽象,构建全局硬件资源池抽象模型,对上提供一套统一的硬件抽象接口,实现统一管理、即插即用。此外,该架构还支持硬件类型的扩展和按需部署,对逻辑与物理资源进行解耦,可以实现本地和分布式硬件的无差别使用,未来还可以实现基于物理硬件能够定义出不同形态的新的硬件给应用使用,应用开发者只需要调用上层服务的API就可以使用,达到软件定义硬件的效果。
分布式硬件池化架构
第二,分布式硬件平台还提供了统一的设备发现和认证框架。支持设备间通过碰、扫、靠等方式进行设备认证。一旦设备通过发现和认证后,设备的硬件就会自动进入硬件资源池,可以共享给其他设备使用。

设备发现和认证框架
第三,分布式硬件平台提供了硬件自适应技术。能够自动进行硬件能力协商,能够通过网络带宽和时延等的感知,在硬件被调用动态调整硬件效果。此外,还提供了自适应转换技术,通过增强算法实现硬件效果的增强。
硬件自适应
第四,分布式硬件平台还提供了硬件协同同步技术。能够在多路中提供毫秒级的时钟同步能力,确保多路硬件设备的一致性。通过硬件时延动态感知技术,在多个设备中动态下发同步策略,保证多个硬件之间同步的体验。
硬件协同同步
在OpenHarmony3.2中,分布式硬件平台提供了全新硬件资源池化架构,能够实现相机和屏幕的“超级终端”硬件互助能力。此外,分布式硬件池化架构、设备发现和认证框架等技术也已经实现了。对于应用开发者来说,在实现多设备协同场景的开发时能够更加便捷,同时也提供了巨大的想象空间。
OpenHarmony3.2分布式硬件功能
04►创新想法和展望
未来,分布式硬件技术可以给多场景提供全新体验。例如,在会议场景下,能够让会议应用同步接入多个设备的摄像头,提供全景画面,实现全方位的视频会议;在影音娱乐场景下,能够轻松地把手机音视频放到电视和音箱上播放,还可以让家里的灯光自动跟随电影和音乐进行变化,实现非常震撼的家庭影院的效果。
期待越来越多的开发者参与OpenHarmony的生态中来,共同研究和探讨分布式硬件的技术难题,为未来万物互联新场景赋能。
OpenHarmony 分布式硬件关键技术的更多相关文章
- (1)RGB-D SLAM系列- 工具篇(硬件+关键技术)
/*************************************************************************************************** ...
- 解读:20大5G关键技术
解读:20大5G关键技术 5G网络技术主要分为三类:核心网.回传和前传网络.无线接入网. 核心网 核心网关键技术主要包括:网络功能虚拟化(NFV).软件定义网络(SDN).网络切片和多接入边缘计算(M ...
- 小小知识点(二十七)20大5G关键技术
5G网络技术主要分为三类:核心网.回传和前传网络.无线接入网. 核心网 核心网关键技术主要包括:网络功能虚拟化(NFV).软件定义网络(SDN).网络切片和多接入边缘计算(MEC). 1 网络功能虚拟 ...
- 5G关键技术评述
业内重大事件: 张 平:无线通信领域专家,北京邮电大学教授,博士生导师,现任北京邮电大学无线新技术研究所(WTI)所长.泛网无线通信教育部重点实验室主任以及中德软件研究所副所长.张平教授是国家宽带无 ...
- 大型网站提速关键技术(页面静态化,memcached,MySql优化)(一)
一:关键技术介绍: 衡量是否为大型网站的要素: A:PV值(page views 页面浏览量) 访问量大: 带来的问题:1:流量大 -->解决方案:增加带宽,优化程序(视频和图片较浪费带宽,尽量 ...
- 5G关键技术研究方向
对于还没体验4G移动通信魅力的国内的移动通信用户而言,5G也许还是镜中花,雾中月:但对于科研界而言,5G研究已经启程,三星电子5月份宣布,率先开发出了首个基于5G核心技术的移动传输网络,实现每秒1Gb ...
- 大数据 --> 大数据关键技术
大数据关键技术 大数据环境下数据来源非常丰富且数据类型多样,存储和分析挖掘的数据量庞大,对数据展现的要求较高,并且很看重数据处理的高效性和可用性. 传统数据处理方法的不足 传统的数据采集来源单一,且存 ...
- Linux多核并行编程关键技术
多核并行编程的背景 在摩尔定律失效之前,提升处理器性能通过主频提升.硬件超线程等技术就能满足应用需要.随着主频提升慢慢接近撞上光速这道墙,摩尔定律开始逐渐失效,多核集成为处理器性能提升的主流手段.现在 ...
- HyperLedger Fabric 1.4 关键技术(6.4)
本节介绍从最底层的账本开始,逐一讲解账本的结构和存储.智能合约的编写和部署.通道的操作.节点的背书和提交.排序的共识和客户端SDK的接口调用,与交易流程顺序相反,由里及表的说明Fabric最关键的技术 ...
- 蚂蚁金服CTO程立:金融级分布式交易的技术路径
总结: 强一致的微服务 oceanbase里面的投票选举以及多中心多地部署 单元化市异地多活的基础.支付宝是异地多活和容灾结合,而容灾的基础也是单元化.基于单元化进行单元的调度.部署.容灾. 混合云架 ...
随机推荐
- django中_meta组件
# _meta组件是一个django中任何一个model类的类实例用来自省的api,简单点说,比如有一个Accounts的模型,则 Accounts._meta # 常用接口 model.Userin ...
- ABP模块的测试项目从默认的Microsoft SQL Server替换成MySQL
1.替换项目引用 2.重新生成解决方案 3.删除Migrations 4.模块的引用 替换成:AbpEntityFrameworkCoreMySQLModule 5.命名空间 替换成:Volo.Abp ...
- 【Azure 应用服务】在创建App Service时,遇见“No available instances to satisfy this request. App Service is attempting to increase capacity.”错误
问题描述 在创建新的App Service,遇见了资源不满足当前需求的提示.详细消息为: "Code": "Conflict","Message&qu ...
- 【Azure 应用服务】App Service for Windows 环境中为Tomcat自定义4xx/5xx页面
问题描述 通过设置Java Web项目,实现在App Service For Windows环境中达到自定义4XX/5XX的页面效果 问题解答 第一步:在本地项目文件中打开web.xml文件 (src ...
- Java Servlet单元测试
Java Servlet单元测试 1. 解决痛点 虽然目前主流的开发方式,很多都是通过controll或者微服务提供api.但是不免还是需要写几个servlet完成接口开发.按照常规,servlet调 ...
- 什么是Redis持久化?
Redis持久化指的是将内存中的数据同步到硬盘文件,并在redis重新启动的时候将数据备份到硬盘上,从而保证数据的安全性.通过持久化, Redis可以在系统关闭时将数据保存到硬盘上,避免了数据丢失的风 ...
- 【规范】看看人家Git提交描述,那叫一个规矩
前言 缘由 没想到玩了多年git,竟然还有提交描述规范 事情起因: 在工作迭代过程中,偶然发现同组小帅哥Git提交描述总是和自己的不大一样,秉承好奇至上的我特意去研究了下.竟然发现提交了这么多年的Gi ...
- typeorm-model-generator 数据库映射Model 命令 - nest
typeorm-model-generator 数据库映射Model 命令 NestJs中的控制器.路由.Get.Post方法参数装饰器 https://blog.csdn.net/urwddd/ar ...
- vscode vue 鼠标Ctrl+单击 函数跳转 插件名称:vue-helper
- idea dev 分支合并到 master 流程
合并分支前要全部提交 包括config.js 要不merge时候很麻烦 1 切换到master分支 Checkout 2 Merge into Current 3 commit push 4 切换回d ...