华为鸿蒙系统开源还是闭源(华为专家讲解 OpenHarmony 开源鸿蒙
如何删除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
华为鸿蒙系统开源还是闭源 华为鸿蒙系统开源还是闭源