設(shè)置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色

華為專家講解 OpenHarmony 開源鴻蒙硬件資源池化模型,利用分布式實現(xiàn)多設(shè)備協(xié)同

2022/4/28 21:52:47 來源:IT之家 作者:問舟 責(zé)編:問舟

IT之家 4 月 28 日消息,近期,OpenAtom OpenHarmony 首次對外解讀了 OpenHarmony 3.1 Release 技術(shù)特性。數(shù)據(jù)顯示,截至目前,OpenHarmony 吸引了 40 多家主倉代碼貢獻單位,匯聚 160 萬 + 社區(qū)用戶,建立 44 個特別興趣小組,全球下載次數(shù)高達 6300 萬,5.5 萬 + 次代碼提交。

OpenHarmony 分布式硬件管理 SIG 成員、華為技術(shù)有限公司分布式硬件專家李剛關(guān)于 OpenHarmony 3.1 Release 版本關(guān)鍵特性 ——OpenHarmony 硬件資源池化模型進行了解析。

OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)作為面向全場景、全連接、全智能時代的分布式操作系統(tǒng),通過將各類不同終端設(shè)備的能力進行整合,實現(xiàn)硬件互助、資源共享,為用戶提供流暢的全場景體驗。

在這里,專家通過通過介紹 OpenHarmony 的硬件資源池化模型,為大家揭曉了 OpenHarmony 是如何實現(xiàn)多設(shè)備協(xié)同的。(以下出自 OpenAtom OpenHarmony 官微)

1.硬件資源訪問的演進

硬件資源訪問是多設(shè)備進行協(xié)同的關(guān)鍵。OpenHarmony 發(fā)展至今,硬件資源訪問經(jīng)歷了從“一對一”到“多對多”的演進過程。

1.1 一對一

在設(shè)計初期,為解決兩臺設(shè)備間的協(xié)同問題,我們通過 OpenHarmony 提供的分布式設(shè)備虛擬化能力將兩臺設(shè)備的硬件資源進行融合,實現(xiàn)了“一對一”的硬件資源訪問。這便是硬件資源池化模型的雛形。

圖 1 “一對一”的硬件資源訪問

1.2 多對多

隨著全場景智慧生活的不斷深入,“一對一”的設(shè)備硬件資源訪問方式已不能滿足某些復(fù)雜場景的業(yè)務(wù)需求。OpenHarmony 對分布式技術(shù)不斷探索與創(chuàng)新,通過增強原來的分布式設(shè)備虛擬化能力,將多臺設(shè)備的各種硬件資源,如屏幕、相機、擴音器、鍵盤、傳感器及存儲器等予以抽象,形成“超級虛擬終端”內(nèi)的統(tǒng)一硬件資源池,并支持硬件資源的按需分配和重新組合,真正實現(xiàn)了硬件資源的全局調(diào)用。組成“超級虛擬終端”的多個設(shè)備,能訪問硬件資源池內(nèi)的多種硬件資源,這便是“多對多”的硬件資源訪問。

圖 2 硬件資源池化(多對多)

基于“硬件資源池化”,開發(fā)者可以根據(jù)不同的業(yè)務(wù)場景,在硬件資源池內(nèi)選擇并匹配合適的能力模塊,充分發(fā)揮不同設(shè)備的能力優(yōu)勢,從而構(gòu)建全新的用戶體驗。

2.硬件資源池化模型

基于“硬件資源池化”的創(chuàng)新理念,OpenHarmony 融合硬件虛擬化、硬件資源管理及硬件數(shù)據(jù)管理等能力,構(gòu)建了硬件資源池化模型,對外提供了統(tǒng)一的硬件能力開放接口,讓開發(fā)者輕松實現(xiàn)高效開發(fā)。

如圖 3 所示,硬件資源池化模型將各類設(shè)備的硬件資源進行抽象,為北向應(yīng)用提供各種分布式服務(wù),比如分布式相機、分布式屏幕、分布式音頻和分布式輸入等,同時提供統(tǒng)一的設(shè)備管理和分布式硬件框架。

圖 3 硬件資源池化模型

下面為大家一一介紹硬件資源池化模型的各個組成部分。

2.1 設(shè)備管理

設(shè)備管理(即 DeviceManager)服務(wù),提供設(shè)備發(fā)現(xiàn)、認證管理、可信設(shè)備管理和設(shè)備狀態(tài)管理等能力。

圖 4 設(shè)備管理(DeviceManager)

OpenHarmony 為開發(fā)者提供了一套設(shè)備管理接口,用于分布式設(shè)備間監(jiān)聽、發(fā)現(xiàn)和認證,如圖 5 所示。

圖 5 設(shè)備管理接口

設(shè)備管理接口的使用示例代碼如下:

// 創(chuàng)建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)))});// 查詢可信設(shè)備列表var array = dmClass.getTrustedDeviceListSync();// 獲取本地設(shè)備信息var localDeviceInfo = dmClass.getLocalDeviceInfoSync();// 開始設(shè)備發(fā)現(xiàn)(發(fā)現(xiàn)周邊不可信設(shè)備)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);// 停止設(shè)備發(fā)現(xiàn)(需要和startDeviceDiscovery接口配對使用)dmClass.stopDeviceDiscovery(subscribeId);// 設(shè)備認證var deviceInfo ={    "deviceId": "XXXXXXXX",    "deviceName": "",    deviceType: 0};let extraInfo = {    "Icon": new Uint8Array(), // 圖標(biāo),可選參數(shù),可不填    "Thumbnail": new Uint8Array(), // 縮略圖,可選參數(shù),可不填    "Name": "xxxxxxxx", // 對端設(shè)備應(yīng)用名稱    "Description": "xxxxxxxx", // 描述    "business": '0',    "displayOwner": 0,}// 設(shè)備取消認證dmClass.unAuthenticateDevice(this.deviceInfo);

DeviceManager 的更多詳情,請參考以下代碼倉:

https://gitee.com/openharmony/device_manager

2.2 分布式硬件框架

分布式硬件框架為硬件資源池化模型提供了接入管理、能力查詢、狀態(tài)管理、權(quán)限管理以及版本管理等硬件資源管理能力,如圖 6 所示:

圖 6 分布式硬件框架

分布式硬件框架的各模塊說明如下:

圖 9 分布式相機的模塊說明

分布式相機的更多詳情,請參考分布式相機代碼倉:

https://gitee.com/openharmony/distributed_camera

2.4 分布式屏幕

分布式屏幕提供了屏幕設(shè)備的硬件資源軟件抽象能力,為 OpenHarmony 系統(tǒng)框架提供系統(tǒng)投屏、屏幕鏡像、屏幕分割等能力的實現(xiàn)。分布式屏幕的框架圖如下所示:

圖 10 分布式屏幕

分布式屏幕的各模塊說明如下:

圖 11 分布式屏幕的模塊說明

分布式屏幕的更多詳情,請參考以下代碼倉:

https://gitee.com/openharmony/distributed_screen

廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。

相關(guān)文章

關(guān)鍵詞:鴻蒙,華為,開源鴻蒙

軟媒旗下網(wǎng)站: IT之家 最會買 - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機APP應(yīng)用 魔方 最會買 要知