0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OpenHarmony硬件资源池化模型

OpenAtom OpenHarmony 来源:OpenAtom OpenHarmony 作者:OpenAtom OpenHarmony 2022-05-11 10:24 次阅读

OpenAtom OpenHarmony(以下简称“OpenHarmony”)作为面向全场景、全连接、全智能时代的分布式操作系统,通过将各类不同终端设备的能力进行整合,实现硬件互助、资源共享,为用户提供流畅的全场景体验。本期,我们通过介绍 OpenHarmony 的硬件资源池化模型,为大家揭晓 OpenHarmony 是如何实现多设备协同的。

1.硬件资源访问的演进

硬件资源访问是多设备进行协同的关键。OpenHarmony 发展至今,硬件资源访问经历了从“一对一”到“多对多”的演进过程。

1.1 一对一

在设计初期,为解决两台设备间的协同问题,我们通过 OpenHarmony 提供的分布式设备虚拟化能力将两台设备的硬件资源进行融合,实现了“一对一”的硬件资源访问。这便是硬件资源池化模型的雏形。

eb8dbd9e-c6f7-11ec-bce3-dac502259ad0.jpg

图1 “一对一”的硬件资源访问

1.2 多对多

随着全场景智慧生活的不断深入,“一对一”的设备硬件资源访问方式已不能满足某些复杂场景的业务需求。OpenHarmony 对分布式技术不断探索与创新,通过增强原来的分布式设备虚拟化能力,将多台设备的各种硬件资源,如屏幕、相机、扩音器、键盘、传感器及存储器等予以抽象,形成“超级虚拟终端”内的统一硬件资源池,并支持硬件资源的按需分配和重新组合,真正实现了硬件资源的全局调用。组成“超级虚拟终端”的多个设备,能访问硬件资源池内的多种硬件资源,这便是“多对多”的硬件资源访问。

ebb3a900-c6f7-11ec-bce3-dac502259ad0.jpg

图2 硬件资源池化(多对多)

基于“硬件资源池化”,开发者可以根据不同的业务场景,在硬件资源池内选择并匹配合适的能力模块,充分发挥不同设备的能力优势,从而构建全新的用户体验。

2.硬件资源池化模型

基于“硬件资源池化”的创新理念,OpenHarmony 融合硬件虚拟化、硬件资源管理及硬件数据管理等能力,构建了硬件资源池化模型,对外提供了统一的硬件能力开放接口,让开发者轻松实现高效开发。

如图3所示,硬件资源池化模型将各类设备的硬件资源进行抽象,为北向应用提供各种分布式服务,比如分布式相机、分布式屏幕、分布式音频和分布式输入等,同时提供统一的设备管理和分布式硬件框架。

ebdf5bb8-c6f7-11ec-bce3-dac502259ad0.jpg

图3 硬件资源池化模型

下面为大家一一介绍硬件资源池化模型的各个组成部分。

2.1 设备管理

设备管理(即 DeviceManager)服务,提供设备发现、认证管理、可信设备管理和设备状态管理等能力。

ec2bb8be-c6f7-11ec-bce3-dac502259ad0.jpg

图4 设备管理(DeviceManager)

OpenHarmony 为开发者提供了一套设备管理接口,用于分布式设备间监听、发现和认证,如图 5 所示。

ec4221e4-c6f7-11ec-bce3-dac502259ad0.jpg

图5 设备管理接口

设备管理接口的使用示例代码如下:


// 创建DeviceManager实例:deviceManager.createDeviceManager('com.ohos.xxxx', (err, dm) => {    this.log("createDeviceManager err:" + JSON.stringify(err) + '  --success:' + JSON.stringify(dm))    if (err) return;    dmClass = dm;    dmClass.on('serviceDie', data => this.log("serviceDie on:" + JSON.stringify(data)))});// 查询可信设备列表var array = dmClass.getTrustedDeviceListSync();// 获取本地设备信息var localDeviceInfo = dmClass.getLocalDeviceInfoSync();// 开始设备发现(发现周边不可信设备)var subscribeId = 0;dmClass.on('deviceFound', (data) => {    if (data == null) {        this.log("deviceFound error data=null")        return;    }    this.logList.push("deviceFound:" + JSON.stringify(data));});dmClass.on('discoverFail', (data) => {    this.log("discoverFail on:" + JSON.stringify(data));});subscribeId = Math.floor(Math.random() * 10000 + 1000)var info = {    "subscribeId": subscribeId,    "mode": 0xAA,    "medium": 0,    "freq": 2,    "isSameAccount": false,    "isWakeRemote": true,    "capability": 0};dmClass.startDeviceDiscovery(info);// 停止设备发现(需要和startDeviceDiscovery接口配对使用)dmClass.stopDeviceDiscovery(subscribeId);// 设备认证var deviceInfo ={    "deviceId": "XXXXXXXX",    "deviceName": "",    deviceType: 0};let extraInfo = {    "appIcon": new Uint8Array(), // app图标,可选参数,可不填    "appThumbnail": new Uint8Array(), // app缩略图,可选参数,可不填    "appName": "xxxxxxxx", // 对端设备应用名称    "appDescription": "xxxxxxxx", // app描述    "business": '0',    "displayOwner": 0,}// 设备取消认证dmClass.unAuthenticateDevice(this.deviceInfo);

DeviceManager 的更多详情,请参考以下代码仓:

https://gitee.com/openharmony/device_manager

2.2 分布式硬件框架

分布式硬件框架为硬件资源池化模型提供了接入管理、能力查询、状态管理、权限管理以及版本管理等硬件资源管理能力,如图6所示:

ec7290f4-c6f7-11ec-bce3-dac502259ad0.jpg

图6 分布式硬件框架

分布式硬件框架的各模块说明如下:

ec969314-c6f7-11ec-bce3-dac502259ad0.jpg

图9 分布式相机的模块说明

分布式相机的更多详情,请参考分布式相机代码仓:

https://gitee.com/openharmony/distributed_camera

2.4 分布式屏幕

分布式屏幕提供了屏幕设备的硬件资源软件抽象能力,为 OpenHarmony 系统框架提供系统投屏、屏幕镜像、屏幕分割等能力的实现。分布式屏幕的框架图如下所示:

eccd909e-c6f7-11ec-bce3-dac502259ad0.jpg

图10 分布式屏幕

分布式屏幕的各模块说明如下:

eced8278-c6f7-11ec-bce3-dac502259ad0.jpg

图11 分布式屏幕的模块说明

分布式屏幕的更多详情,请参考以下代码仓:

https://gitee.com/openharmony/distributed_screen

3.结束语

除了分布式相机和分布式屏幕外,硬件资源池化模型在后续版本还将提供分布式音频和分布式输入能力。分布式音频将提供对麦克风、喇叭、听筒等音频设备的硬件资源池化能力,通过音频服务提供给应用开发者,使得开发者能够自由选择、切换、组合音频设备,提升用户的使用体验。分布式输入将提供对键盘、鼠标等输入设备的硬件资源池化能力,通过输入服务让应用开发者能跨设备调用输入能力,实现多设备协同。

硬件资源池化模型仍在建设中,期待广大开发者共同加入我们,共同见证万物互联时代的无限可能!

审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 操作系统
    +关注

    关注

    37

    文章

    6274

    浏览量

    121861
  • OpenHarmony
    +关注

    关注

    23

    文章

    3247

    浏览量

    15159

原文标题:OpenHarmony 3.1 Release版本关键特性解析——OpenHarmony硬件资源池化模型

文章出处:【微信号:gh_e4f28cfa3159,微信公众号:OpenAtom OpenHarmony】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    分布式系统硬件资源原理和接入实践

    把各个设备的硬件外设抽象为外设信息单元,外设信息在各个可信设备之间自动同步,如此,实现了外设信息的全局可见;结合分布式硬件虚拟技术,实现任意设备之间的硬件外设能力跨设备调用;分布式
    发表于 12-06 10:02

    OpenHarmony技术大会 | 硬件(南向)生态分论坛嘉宾金句

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony 原文标题:OpenHarmony技术大会 | 硬件(南向)生态分论坛嘉宾金句 文章出处:【
    的头像 发表于 11-14 15:15 239次阅读

    新接触openharmony原子模块。

    看了很多文章,openharmony3.2支持arkts开发原子服务。但好像视频没有多少是关于Openharmony原子服务的,视频都是harmonyOS的,我想问问各位大佬们,我
    发表于 10-20 11:29

    OpenHarmony应用模型的构成要素与Stage优势

    一、应用模型的构成要素 应用模型OpenHarmony为开发者提供的应用程序所需能力的抽象提炼,它提供了应用程序必备的组件和运行机制。有了应用模型,开发者可以基于一套统一的
    发表于 09-26 16:48

    OpenHarmony应用程序包整体说明

    信息。 应用软件涉及的资源多种多样,有媒体资源、原生资源、字符资源以及国际资源等,
    发表于 09-20 15:34

    OpenHarmony ArkTS工程目录结构(Stage模型

    配置文件中,配置卡片(WidgetCard.ets)相关信息。 卡片目录 快照目录 图片来源:OpenHarmony官网 蛟龙腾飞公司提供 *附件:OpenHarmony ArkTS工程目录结构(Stage模型).docx
    发表于 09-18 15:23

    面向OpenHarmony终端的密码安全关键技术

    景移动终端设备,各终端设备的硬件资源不同,如音箱、小家电、智能穿戴、小传感器等资源受限,需要轻量化的密码实现。目前,何道敬教授所在团队正在进行国产轻量级密码运算库研究:通过以安全性、
    发表于 09-13 19:20

    开源机密计算平台:蓬莱-OpenHarmony

    -OpenHarmony中,提出了新的RISC-V硬件扩展:sPMP。sPMP是轻量级的内存隔离机制,存在硬件资源开销低、访存性能好的优势。有sPMP和没有sPMP的区别在什么地方呢?
    发表于 09-07 16:08

    OpenHarmony 分布式硬件关键技术

    喇叭和超高清摄像头等。 03►分布式硬件平台关键技术 第一,OpenHarmony在设计之初时就采用了分布式硬件架构。通过对各设备能力的
    发表于 08-24 17:25

    基于分级安全的OpenHarmony架构设计

    的分级管控,如何缩小TCB可信基的规模,如何实现应用程序的权限最小?付天福介绍了OpenHarmony系统权限及访问控制架构相关的原理。对人的认证,例如支持多模态、多因子的认证在前面的版本都已经实现了
    发表于 08-04 10:39

    开鸿智谷与华秋达成生态共创合作,共同打造OpenHarmony硬件生态

    OpenAtomOpenHarmony(以下简称“OpenHarmony”)硬件生态繁荣发展。当前双方主要基于OpenHarmony硬件
    的头像 发表于 07-31 22:33 544次阅读
    开鸿智谷与华秋达成生态共创合作,共同打造<b class='flag-5'>OpenHarmony</b><b class='flag-5'>硬件</b>生态

    峰会回顾第8期 | OpenHarmony 分布式硬件关键技术

    演讲嘉宾 | 李   刚 回顾整理 | 廖   涛 排版校对 | 李萍萍       嘉宾简介 李刚,华为OpenHarmony技术专家,OpenHarmony分布式硬件技术负责人。主要负责
    的头像 发表于 05-05 15:46 720次阅读
    峰会回顾第8期 | <b class='flag-5'>OpenHarmony</b> 分布式<b class='flag-5'>硬件</b>关键技术

    OpenHarmony生态贡献获肯定,华秋践行加速硬件创业初心

    华秋电子致力于为广大的 OpenHarmony 硬件开发者提供便利,赋能开发者推动新硬件加速创新,利用电子发烧友社区流量和资源、华秋电子的生产制造及销售能力,营造了良好的生态环境。
    的头像 发表于 05-04 11:36 573次阅读

    李传钊:在鸿OS,从1到N拓展OpenHarmony智能硬件生态

    ★NEWS★4月19日,湖南开鸿智谷数字产业发展有限公司(以下简称“开鸿智谷”)亮相OpenHarmony开发者大会2023的硬件生态分论坛专场,开鸿智谷副总裁李传钊先生以《在鸿OS:从1到N拓展
    的头像 发表于 04-26 15:30 2476次阅读
    李传钊:在鸿OS,从1到N拓展<b class='flag-5'>OpenHarmony</b>智能<b class='flag-5'>硬件</b>生态

    HarmonyOS/OpenHarmony应用开发-Stage模型ArkTS语言扩展能力基类

    \'@ohos.app.ability.ExtensionAbility\'; 接口示例: *附件:HarmonyOSOpenHarmony应用开发-stage模型ArkTS语言扩展能力基类.docx
    发表于 04-26 10:00