华为鸿蒙系统开源还是闭源(华为专家讲解 OpenHarmony 开源鸿蒙

生活常识 2023-05-15 21:48生活常识www.xinxueguanw.cn

如何删除thumbdata4文件华为专家讲解OpenHarmony开源鸿蒙系统硬件资源池模式。

IT之家4月28日报道,近日,OpenAtom OpenHarmony对OpenHarmony 3.1版本的技术特性进行了解读。数据显示,截至目前,OpenHarmony已经吸引了40多家主仓代码贡献者,聚集了160万社区用户,建立了44个特殊兴趣小组,全球下载量6300万次,代码提交量5.5万次。

OpenHarmony分布式硬件管理SIG成员、华为技术有限公司分布式硬件专家李刚分析了Open Harmony版本发布的关键特性——OpenHarmony硬件资源池模型。

OpenAtom OpenHarmony(以下简称 OpenHarmony ),作为面向全场景、全连接、全智能时代的分布式操作系统,通过整合各类终端设备的能力,实现硬件互助和资源共享,为用户提供流畅的全场景体验。

在这里,通过介绍OpenHarmony s硬件资源池模型,专家OpenHarmony如何实现多设备协作。(以下来自OpenAtom OpenHarmony的官微)

1.硬件资源访问的演进

硬件资源访问是多设备协作的关键。自从OpenHarmony发展以来,对硬件资源的访问经历了从 一对一 致 多对多与。。

1.1 一对一

在设计前期,为了解决两台设备之间的协作问题,我们通过OpenHarmony提供的分布式设备虚拟化能力,将两台设备的硬件资源进行整合,实现了 一对一 访问硬件资源。这是硬件资源池模型的原型。

图1 一对一 硬件资源访问

1.2 多对多

随着全场景智能生活的深入, 一对一 设备硬件资源的接入方式已经不能满足一些复杂场景的业务需求。OpenHarmony不断探索和创新分布式技术。它通过增强分布式设备原有的虚拟化能力,抽象出多个设备的各种硬件资源,如屏幕、摄像头、扬声器、键盘、传感器、内存等,在 超级虚拟终端 ,支持硬件资源的按需分配和重组,真正实现硬件资源的全球调用。组成一个 超级虚拟终端 可以访问硬件资源池中的各种硬件资源,这是 多对多与。硬件资源访问。

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

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

2.硬件资源池化模型

基于 硬件资源池和。,OpenHarmony整合了硬件虚拟化、硬件资源管理和硬件数据管理的能力,构建了硬件资源池模型,为硬件能力提供了统一的开放接口,方便开发者实现高效开发。

如图3所示,硬件资源池模型抽象了各种设备的硬件资源,为北向应用提供各种分布式服务,如分布式摄像机、分布式屏幕、分布式音频和分布式输入,并提供统一的设备管理和分布式硬件框架。

图3硬件资源池模型

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

2.1 设备管理

DeviceManager服务,提供设备发现、认证管理、可信设备管理和设备状态管理的功能。

图4设备管理器

OpenHarmony为开发人员提供了一组设备管理接口,用于在分布式设备之间进行监控、发现和认证,如图5所示。

图5设备管理界面

使用设备管理界面的示例代码如下

//创建DeviceManager: Device Manager的实例。创建设备管理器。com.ohos.xxxx (err,dm)={ this . log( ;创建设备管理器错误 ON . stringify(err) ;成功3360 json.stringify (dm)) if。dmClass=dmDM class . on( ;服务Di

ocalDeviceInfonbsp=nbspdmClass.getLocalDeviceInfoSync()//nbsp开始设备发现(发现周边不可信设备)varnbspsubscribeIdnbsp=nbsp0dmClass.on(#39deviceFound#39,nbsp(data)nbsp=gtnbsp{nbspnbspnbspnbspifnbsp(datanbsp==nbspnull)nbsp{nbspnbspnbspnbspnbspnbspnbspnbspthis.log(#34deviceFoundnbsperrornbspdata=null#34)nbspnbspnbspnbspnbspnbspnbspnbspreturnnbspnbspnbspnbsp}nbspnbspnbspnbspthis.logList.push(#34deviceFound:#34nbsp+nbsp ON.stringify(data))})dmClass.on(#39discoverFail#39,nbsp(data)nbsp=gtnbsp{nbspnbspnbspnbspthis.log(#34discoverFailnbspon:#34nbsp+nbsp ON.stringify(data))})subscribeIdnbsp=nbspMath.floor(Math.random()nbspnbsp10000nbsp+nbsp1000)varnbspnbsp=nbsp{nbspnbspnbspnbsp#34subscribeId#34:nbspsubscribeId,nbspnbspnbspnbsp#34mode#34:nbsp0xAA,nbspnbspnbspnbsp#34medium#34:nbsp0,nbspnbspnbspnbsp#34freq#34:nbsp2,nbspnbspnbspnbsp#34isSameAccount#34:nbspfalse,nbspnbspnbspnbsp#34isWakeRemote#34:nbsptrue,nbspnbspnbspnbsp#34capability#34:nbsp0}dmClass.startDeviceDiscovery()//nbsp停止设备发现(需要和startDeviceDiscovery接口配对使用)dmClass.stopDeviceDiscovery(subscribeId)//nbsp设备认证varnbspdeviceInfonbsp={nbspnbspnbspnbsp#34deviceId#34:nbsp#34XXXXXXXX#34,nbspnbspnbspnbsp#34deviceName#34:nbsp#34#34,nbspnbspnbspnbspdeviceType:nbsp0};letnbspextraInfonbsp=nbsp{nbspnbspnbspnbsp#34Icon#34:nbspnewnbspUint8Array(),nbsp//nbsp图标,可选参数,可不填nbspnbspnbspnbsp#34Thumbnail#34:nbspnewnbspUint8Array(),nbsp//nbsp缩略图,可选参数,可不填nbspnbspnbspnbsp#34Name#34:nbsp#34xxxxxxxx#34,nbsp//nbsp对端设备应用名称nbspnbspnbspnbsp#34Description#34:nbsp#34xxxxxxxx#34,nbsp//nbsp描述nbspnbspnbspnbsp#34business#34:nbsp#390#39,nbspnbspnbspnbsp#34displayOwner#34:nbsp0,}//nbsp设备取消认证dmClass.unAuthenticateDevice(this.deviceInfo)

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

https://gitee.com/openharmony/device_manager

2.2 分布式硬件框架

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

图 6 分布式硬件框架

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

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

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

https://gitee.com/openharmony/distributed_camera

2.4 分布式屏幕

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

图 10 分布式屏幕

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

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

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

https://gitee.com/openharmony/distributed_screen

华为鸿蒙系统开源还是闭源 华为鸿蒙系统开源还是闭源

Copyright@2015-2025 www.xinxueguanw.cn 心血管健康网版板所有