OpenAtom OpenHarmony(以下簡(jiǎn)稱“OpenHarmony”)作為面向全場(chǎng)景、全連接、全智能時(shí)代的分布式操作系統(tǒng),通過將各類不同終端設(shè)備的能力進(jìn)行整合,實(shí)現(xiàn)硬件互助、資源共享,為用戶提供流暢的全場(chǎng)景體驗(yàn)。本期,我們通過介紹 OpenHarmony 的硬件資源池化模型,為大家揭曉 OpenHarmony 是如何實(shí)現(xiàn)多設(shè)備協(xié)同的。
1.硬件資源訪問的演進(jìn)
硬件資源訪問是多設(shè)備進(jìn)行協(xié)同的關(guān)鍵。OpenHarmony 發(fā)展至今,硬件資源訪問經(jīng)歷了從“一對(duì)一”到“多對(duì)多”的演進(jìn)過程。
1.1 一對(duì)一
在設(shè)計(jì)初期,為解決兩臺(tái)設(shè)備間的協(xié)同問題,我們通過 OpenHarmony 提供的分布式設(shè)備虛擬化能力將兩臺(tái)設(shè)備的硬件資源進(jìn)行融合,實(shí)現(xiàn)了“一對(duì)一”的硬件資源訪問。這便是硬件資源池化模型的雛形。

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

基于“硬件資源池化”,開發(fā)者可以根據(jù)不同的業(yè)務(wù)場(chǎng)景,在硬件資源池內(nèi)選擇并匹配合適的能力模塊,充分發(fā)揮不同設(shè)備的能力優(yōu)勢(shì),從而構(gòu)建全新的用戶體驗(yàn)。
2.硬件資源池化模型
基于“硬件資源池化”的創(chuàng)新理念,OpenHarmony 融合硬件虛擬化、硬件資源管理及硬件數(shù)據(jù)管理等能力,構(gòu)建了硬件資源池化模型,對(duì)外提供了統(tǒng)一的硬件能力開放接口,讓開發(fā)者輕松實(shí)現(xiàn)高效開發(fā)。
如圖3所示,硬件資源池化模型將各類設(shè)備的硬件資源進(jìn)行抽象,為北向應(yīng)用提供各種分布式服務(wù),比如分布式相機(jī)、分布式屏幕、分布式音頻和分布式輸入等,同時(shí)提供統(tǒng)一的設(shè)備管理和分布式硬件框架。

圖3 硬件資源池化模型
下面為大家一一介紹硬件資源池化模型的各個(gè)組成部分。
2.1 設(shè)備管理
設(shè)備管理(即 DeviceManager)服務(wù),提供設(shè)備發(fā)現(xiàn)、認(rèn)證管理、可信設(shè)備管理和設(shè)備狀態(tài)管理等能力。

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

圖5 設(shè)備管理接口
設(shè)備管理接口的使用示例代碼如下:
// 創(chuàng)建DeviceManager實(shí)例: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接口配對(duì)使用)dmClass.stopDeviceDiscovery(subscribeId);// 設(shè)備認(rèn)證var deviceInfo ={"deviceId": "XXXXXXXX","deviceName": "",deviceType: 0};let extraInfo = {"appIcon": new Uint8Array(), // app圖標(biāo),可選參數(shù),可不填"appThumbnail": new Uint8Array(), // app縮略圖,可選參數(shù),可不填"appName": "xxxxxxxx", // 對(duì)端設(shè)備應(yīng)用名稱"appDescription": "xxxxxxxx", // app描述"business": '0',"displayOwner": 0,}// 設(shè)備取消認(rèn)證dmClass.unAuthenticateDevice(this.deviceInfo);
DeviceManager 的更多詳情,請(qǐng)參考以下代碼倉:
https://gitee.com/openharmony/device_manager
2.2 分布式硬件框架
分布式硬件框架為硬件資源池化模型提供了接入管理、能力查詢、狀態(tài)管理、權(quán)限管理以及版本管理等硬件資源管理能力,如圖6所示:

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

圖9 分布式相機(jī)的模塊說明
分布式相機(jī)的更多詳情,請(qǐng)參考分布式相機(jī)代碼倉:
https://gitee.com/openharmony/distributed_camera
2.4 分布式屏幕
分布式屏幕提供了屏幕設(shè)備的硬件資源軟件抽象能力,為 OpenHarmony 系統(tǒng)框架提供系統(tǒng)投屏、屏幕鏡像、屏幕分割等能力的實(shí)現(xiàn)。分布式屏幕的框架圖如下所示:

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

圖11 分布式屏幕的模塊說明
分布式屏幕的更多詳情,請(qǐng)參考以下代碼倉:
https://gitee.com/openharmony/distributed_screen
3.結(jié)束語
除了分布式相機(jī)和分布式屏幕外,硬件資源池化模型在后續(xù)版本還將提供分布式音頻和分布式輸入能力。分布式音頻將提供對(duì)麥克風(fēng)、喇叭、聽筒等音頻設(shè)備的硬件資源池化能力,通過音頻服務(wù)提供給應(yīng)用開發(fā)者,使得開發(fā)者能夠自由選擇、切換、組合音頻設(shè)備,提升用戶的使用體驗(yàn)。分布式輸入將提供對(duì)鍵盤、鼠標(biāo)等輸入設(shè)備的硬件資源池化能力,通過輸入服務(wù)讓應(yīng)用開發(fā)者能跨設(shè)備調(diào)用輸入能力,實(shí)現(xiàn)多設(shè)備協(xié)同。
硬件資源池化模型仍在建設(shè)中,期待廣大開發(fā)者共同加入我們,共同見證萬物互聯(lián)時(shí)代的無限可能!
審核編輯 :李倩
-
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7381瀏覽量
129014 -
OpenHarmony
+關(guān)注
關(guān)注
33文章
3942瀏覽量
20914
原文標(biāo)題:OpenHarmony 3.1 Release版本關(guān)鍵特性解析——OpenHarmony硬件資源池化模型
文章出處:【微信號(hào):gh_e4f28cfa3159,微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
壁仞科技助力湖南移動(dòng)國產(chǎn)算力資源池成功點(diǎn)亮
后勤資源大模型智能調(diào)度系統(tǒng):功能特點(diǎn)與平臺(tái)架構(gòu)解析
英泰斯特入選2025年武漢市人工智能產(chǎn)品資源池名單
數(shù)據(jù)全復(fù)用高性能池化層設(shè)計(jì)思路分享
十萬元獎(jiǎng)金池!首屆全國RISC-V高水平創(chuàng)新及應(yīng)用大賽火熱進(jìn)行中
基于OpenHarmony打造新一代智能化解決方案
基于RAKsmart云服務(wù)器的AI大模型實(shí)時(shí)推理方案設(shè)計(jì)
TECS OpenStack資源池虛機(jī)寫磁盤時(shí)延高告警的問題處理
英麥科半導(dǎo)體薄膜功率電感進(jìn)入OPPO的ODM資源池
TECS OpenStack資源池時(shí)間同步失敗的故障分析
TECS OpenStack資源池虛機(jī)殘留導(dǎo)致網(wǎng)元異常的問題處理
OpenHarmony硬件資源池化模型
評(píng)論