OpenHarmony作为面向全场景、全连接、全智能时代的分布式操作系统,通过将各类不同终端设备的能力进行整合,实现硬件互助、资源共享,为用户提供流畅的全场景体验。本期,我们通过介绍OpenHarmony的硬件资源池化框架,为大家揭晓OpenHarmony是如何实现多设备协同的。
1. 硬件资源访问的演进
硬件资源访问是多设备进行协同的关键。OpenHarmony发展至今,硬件资源访问经历了从“一对一”到“一对多”的演进过程。
2.1 一对一
在设计初期,为解决两台设备间的协同问题,我们通过系统提供的分布式设备虚拟化平台将两台设备的硬件资源进行融合,实现了“一对一”的硬件资源访问。
文章图片
图1 “一对一”的硬件资源访问模型
应用通过集成多设备虚拟化Kit,对设备虚拟化平台进行访问。设备虚拟化平台提供设备A和设备B之间的数据交互以及设备的虚拟化能力,进而完成设备A的应用访问设备B的硬件能力,实现“一对一”的硬件资源访问。这种访问模型可以基本满足两个设备之间的资源访问,但是同时也存在一定的掣肘:
● 第一点是应用需要集成多设备虚拟化Kit包才能完成硬件资源的访问,增加了开发工作量。
● 第二点是该访问模型限制了设备A的应用在同一时刻只能访问设备B的硬件能力,即只能完成“一对一”的硬件资源访问。
2.2 一对多
随着全场景智慧生活的不断深入,“一对一”的设备硬件资源访问方式已不能满足某些复杂场景的业务需求。OpenHarmony对分布式技术不断探索与创新,通过增强原来的分布式设备虚拟化能力,将多台设备的各种硬件资源,如屏幕、相机、扩音器、键盘、传感器及存储器等予以抽象,形成“超级虚拟终端”内的统一硬件资源池,并支持硬件资源的按需分配和重新组合,真正实现了硬件资源的全局调用。应用需要使用哪种分布式的硬件能力,只需要访问对应的服务,不再需要集成Kit;并且由硬件资源池提供的多种硬件资源可以同时被不同的应用访问,实现“一对多”的硬件资源访问。
文章图片
图2 “一对多”的硬件资源访问模型
基于“硬件资源池化”,开发者可以根据不同的业务场景,在硬件资源池内选择并匹配合适的能力模块,充分发挥不同设备的能力优势,从而构建全新的用户体验。
2. 硬件资源池化框架
基于“硬件资源池化”的创新理念,OpenHarmony融合硬件虚拟化、硬件资源管理及硬件数据管理等能力,构建了硬件资源池化框架,对外提供了统一的硬件能力开放接口,让开发者轻松实现应用开发。如图3所示,硬件资源池化框架将各类设备的硬件资源进行抽象,为北向应用提供各种分布式服务,比如分布式相机、分布式屏幕、分布式音频和分布式输入等,同时提供统一的设备管理和分布式硬件框架对硬件资源进行管理。
文章图片
图3 硬件资源池化框架
下面为大家介绍硬件资源池化框架的各个组成部分。
- 设备管理(DeviceManager)
文章图片
图4 设备管理组件
详细信息请参考码云平台OpenHarmony项目设备管理的代码仓:
https://gitee.com/openharmony...
- 分布式硬件框架(DistributedHardwareFwk)
详细信息请参考码云平台OpenHarmony项目分布式硬件框架的代码仓:https://gitee.com/openharmony...
- 分布式相机(Distributed Camera)
详细信息请参考码云平台OpenHarmony项目分布式相机的代码仓:https://gitee.com/openharmony...
- 分布式屏幕(Distributed Screen)
详细信息请参考码云平台OpenHarmony项目分布式屏幕的代码仓:https://gitee.com/openharmony...
3. 后续规划 除了分布式相机和分布式屏幕外,硬件资源池化框架在后续版本还将提供分布式音频和分布式输入能力。分布式音频将提供对麦克风、喇叭、听筒等音频设备的硬件资源池化能力,通过音频服务提供给应用开发者,使得开发者能够自由选择、切换、组合音频设备,提升用户的使用体验。分布式输入将提供对键盘、鼠标等输入设备的硬件资源池化能力,通过输入服务让应用开发者能跨设备调用输入能力,实现多设备协同。
【OpenHarmony硬件资源池化架构介绍】硬件资源池化框架仍在建设中,期待广大开发者共同加入我们,共同见证万物互联时代的无限可能!
推荐阅读
- OpenHarmony 技术日| 锻英才以应时需 协教育同繁生态
- OpenHarmony 3GPP协议开发深度剖析——一文读懂RIL
- OpenHarmony 3.1 Beta版本关键特性解析——分布式DeviceProfile
- 诚邀报名丨首期OpenHarmony开发者成长计划分享日
- 解锁OpenHarmony技术日!年度盛会,即将揭幕!
- OpenHarmony 3.1 Beta版本关键特性解析——ArkUI开发框架容器类API的介绍与使用
- 一文读懂在OpenHarmony轻量设备开发应用
- OpenHarmony 3.1 Release正式发布,标准系统全方位升级!