0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

OpenHarmony硬件資源池化模型

OpenAtom OpenHarmony ? 來源:OpenAtom OpenHarmony ? 作者:OpenAtom OpenHarmony ? 2022-05-11 10:24 ? 次閱讀

OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)作為面向全場景、全連接、全智能時代的分布式操作系統(tǒng),通過將各類不同終端設(shè)備的能力進行整合,實現(xiàn)硬件互助、資源共享,為用戶提供流暢的全場景體驗。本期,我們通過介紹 OpenHarmony 的硬件資源池化模型,為大家揭曉 OpenHarmony 是如何實現(xiàn)多設(shè)備協(xié)同的。

1.硬件資源訪問的演進

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

1.1 一對一

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

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

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

1.2 多對多

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

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

圖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è)備管理和分布式硬件框架。

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

圖3 硬件資源池化模型

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

2.1 設(shè)備管理

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

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

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

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

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

圖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è)備認(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", // 對端設(shè)備應(yīng)用名稱    "appDescription": "xxxxxxxx", // app描述    "business": '0',    "displayOwner": 0,}// 設(shè)備取消認(rèn)證dmClass.unAuthenticateDevice(this.deviceInfo);

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

https://gitee.com/openharmony/device_manager

2.2 分布式硬件框架

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

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

圖6 分布式硬件框架

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

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

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

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

https://gitee.com/openharmony/distributed_camera

2.4 分布式屏幕

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

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

圖10 分布式屏幕

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

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

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

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

https://gitee.com/openharmony/distributed_screen

3.結(jié)束語

除了分布式相機和分布式屏幕外,硬件資源池化模型在后續(xù)版本還將提供分布式音頻和分布式輸入能力。分布式音頻將提供對麥克風(fēng)、喇叭、聽筒等音頻設(shè)備的硬件資源池化能力,通過音頻服務(wù)提供給應(yīng)用開發(fā)者,使得開發(fā)者能夠自由選擇、切換、組合音頻設(shè)備,提升用戶的使用體驗。分布式輸入將提供對鍵盤、鼠標(biāo)等輸入設(shè)備的硬件資源池化能力,通過輸入服務(wù)讓應(yīng)用開發(fā)者能跨設(shè)備調(diào)用輸入能力,實現(xiàn)多設(shè)備協(xié)同。

硬件資源池化模型仍在建設(shè)中,期待廣大開發(fā)者共同加入我們,共同見證萬物互聯(lián)時代的無限可能!

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6545

    瀏覽量

    122743
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3548

    瀏覽量

    15740

原文標(biāo)題:OpenHarmony 3.1 Release版本關(guān)鍵特性解析——OpenHarmony硬件資源池化模型

文章出處:【微信號:gh_e4f28cfa3159,微信公眾號:OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    打造異構(gòu)計算新標(biāo)桿!國數(shù)集聯(lián)發(fā)布首款CXL混合資源參考設(shè)計

    今日,領(lǐng)先的高速互聯(lián)芯片及方案設(shè)計廠商國數(shù)集聯(lián)發(fā)布業(yè)界首創(chuàng)的CXL混合資源(Compute Express Link Hybrid Resource Pool ,以下簡稱“CHRP”)參考設(shè)計。該
    的頭像 發(fā)表于 08-06 14:19 ?201次閱讀
    打造異構(gòu)計算新標(biāo)桿!國數(shù)集聯(lián)發(fā)布首款CXL混合<b class='flag-5'>資源</b><b class='flag-5'>池</b>參考設(shè)計

    卷積神經(jīng)網(wǎng)絡(luò)中層的作用

    。其中,層(Pooling Layer)作為CNN的重要組成部分,在降低模型復(fù)雜度、提高計算效率以及增強模型的不變性和魯棒性方面發(fā)揮著關(guān)鍵作用。本文將從多個方面深入探討
    的頭像 發(fā)表于 07-03 15:58 ?503次閱讀

    分布式系統(tǒng)硬件資源原理和接入實踐

    把各個設(shè)備的硬件外設(shè)抽象為外設(shè)信息單元,外設(shè)信息在各個可信設(shè)備之間自動同步,如此,實現(xiàn)了外設(shè)信息的全局可見;結(jié)合分布式硬件虛擬技術(shù),實現(xiàn)任意設(shè)備之間的硬件外設(shè)能力跨設(shè)備調(diào)用;分布式
    發(fā)表于 12-06 10:02

    【技術(shù)視界】分布式系統(tǒng)硬件資源原理和接入實踐

    的是分布式硬件技術(shù)專家的分享,希望為您的開發(fā)之路帶來啟發(fā)~ 作者:ZhangChuang,華為分布式硬件技術(shù)專家 一 硬件資源理念產(chǎn)生背景
    的頭像 發(fā)表于 12-05 21:35 ?622次閱讀
    【技術(shù)視界】分布式系統(tǒng)<b class='flag-5'>硬件</b><b class='flag-5'>資源</b><b class='flag-5'>池</b>原理和接入實踐

    線程的創(chuàng)建方式有幾種

    線程是一種用于管理和調(diào)度線程的技術(shù),能夠有效地提高系統(tǒng)的性能和資源利用率。它通過預(yù)先創(chuàng)建一組線程并維護一個工作隊列,將任務(wù)提交給線程來處理,從而減少線程的創(chuàng)建和銷毀次數(shù),避免了線程頻繁創(chuàng)建和銷毀
    的頭像 發(fā)表于 12-04 16:52 ?661次閱讀

    線程的運轉(zhuǎn)流程圖 技術(shù)實踐案例解析

    作為一名Java開發(fā)人員,技術(shù)或多或少在業(yè)務(wù)代碼中使用。常見的包括線程、連接等。也是因為Java語言超級豐富的基建,基本上這些
    的頭像 發(fā)表于 11-24 10:22 ?361次閱讀
    線程<b class='flag-5'>池</b>的運轉(zhuǎn)流程圖 <b class='flag-5'>池</b><b class='flag-5'>化</b>技術(shù)實踐案例解析

    技術(shù)的應(yīng)用實踐

    作為一名Java開發(fā)人員,技術(shù)或多或少在業(yè)務(wù)代碼中使用。常見的包括線程、連接等。也是因為Java語言超級豐富的基建,基本上這些
    的頭像 發(fā)表于 11-24 10:22 ?405次閱讀
    <b class='flag-5'>池</b><b class='flag-5'>化</b>技術(shù)的應(yīng)用實踐

    內(nèi)存主要解決的問題

    內(nèi)存的定義 1.技術(shù) 是在計算機技術(shù)中經(jīng)常使用的一種設(shè)計模式,其內(nèi)涵在于:將程序中需要經(jīng)常使用的核心資源 先申請出來,放到一個池內(nèi)
    的頭像 發(fā)表于 11-13 15:23 ?571次閱讀
    內(nèi)存<b class='flag-5'>池</b>主要解決的問題

    線程基本概念與原理

    一、線程基本概念與原理 1.1 線程概念及優(yōu)勢 C++線程簡介 線程是一種并發(fā)編程技術(shù),它能有效地管理并發(fā)的線程、減少資源占用和提高
    的頭像 發(fā)表于 11-10 10:24 ?408次閱讀

    了解連接、線程、內(nèi)存、異步請求

    技術(shù) 技術(shù)能夠減少資源對象的創(chuàng)建次數(shù),提?程序的響應(yīng)性能,特別是在?并發(fā)下這種提?更加明顯。使用
    的頭像 發(fā)表于 11-09 14:44 ?869次閱讀
    了解連接<b class='flag-5'>池</b>、線程<b class='flag-5'>池</b>、內(nèi)存<b class='flag-5'>池</b>、異步請求<b class='flag-5'>池</b>

    高并發(fā)內(nèi)存項目實現(xiàn)

    相關(guān)知識 1、技術(shù) 技術(shù)就是程序先向系統(tǒng)申請過量的資源,并將這些資源管理起來,避免頻繁的
    的頭像 發(fā)表于 11-09 11:16 ?566次閱讀
    高并發(fā)內(nèi)存<b class='flag-5'>池</b>項目實現(xiàn)

    什么是內(nèi)存

    1什么是內(nèi)存 1.1技術(shù) 所謂“技術(shù)”,就是程序先向系統(tǒng)申請過量的資源,然后自己管理,
    的頭像 發(fā)表于 11-08 16:26 ?693次閱讀
    什么是內(nèi)存<b class='flag-5'>池</b>

    卷積神經(jīng)網(wǎng)絡(luò)中的方式

    卷積神經(jīng)網(wǎng)絡(luò)的最基本結(jié)構(gòu)有卷積層跟層,一般情況下,層的作用一般情況下就是下采樣與像素遷移不變性。根據(jù)步長區(qū)分,
    的頭像 發(fā)表于 10-21 09:42 ?753次閱讀
    卷積神經(jīng)網(wǎng)絡(luò)中的<b class='flag-5'>池</b><b class='flag-5'>化</b>方式

    新接觸openharmony原子模塊。

    看了很多文章,openharmony3.2支持arkts開發(fā)原子服務(wù)。但好像視頻沒有多少是關(guān)于Openharmony原子服務(wù)的,視頻都是harmonyOS的,我想問問各位大佬們,我
    發(fā)表于 10-20 11:29

    OpenHarmony應(yīng)用模型的構(gòu)成要素與Stage優(yōu)勢

    一、應(yīng)用模型的構(gòu)成要素 應(yīng)用模型OpenHarmony為開發(fā)者提供的應(yīng)用程序所需能力的抽象提煉,它提供了應(yīng)用程序必備的組件和運行機制。有了應(yīng)用模型,開發(fā)者可以基于一套統(tǒng)一的
    發(fā)表于 09-26 16:48