博客專欄

        EEPW首頁 > 博客 > OpenHarmony硬件資源池化架構介紹

        OpenHarmony硬件資源池化架構介紹

        發布人:開發者頭條 時間:2022-04-29 來源:工程師 發布文章

        OpenHarmony作為面向全場景、全連接、全智能時代的分布式操作系統,通過將各類不同終端設備的能力進行整合,實現硬件互助、資源共享,為用戶提供流暢的全場景體驗。本期,我們通過介紹OpenHarmony的硬件資源池化框架,為大家揭曉OpenHarmony是如何實現多設備協同的。

        1. 硬件資源訪問的演進

        硬件資源訪問是多設備進行協同的關鍵。OpenHarmony發展至今,硬件資源訪問經歷了從“一對一”到“一對多”的演進過程。

        2.1 一對一

        在設計初期,為解決兩臺設備間的協同問題,我們通過系統提供的分布式設備虛擬化平臺將兩臺設備的硬件資源進行融合,實現了“一對一”的硬件資源訪問。

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

        應用通過集成多設備虛擬化Kit,對設備虛擬化平臺進行訪問。設備虛擬化平臺提供設備A和設備B之間的數據交互以及設備的虛擬化能力,進而完成設備A的應用訪問設備B的硬件能力,實現“一對一”的硬件資源訪問。這種訪問模型可以基本滿足兩個設備之間的資源訪問,但是同時也存在一定的掣肘:

        ● 第一點是應用需要集成多設備虛擬化Kit包才能完成硬件資源的訪問,增加了開發工作量。

        ● 第二點是該訪問模型限制了設備A的應用在同一時刻只能訪問設備B的硬件能力,即只能完成“一對一”的硬件資源訪問。

        2.2 一對多

        隨著全場景智慧生活的不斷深入,“一對一”的設備硬件資源訪問方式已不能滿足某些復雜場景的業務需求。OpenHarmony對分布式技術不斷探索與創新,通過增強原來的分布式設備虛擬化能力,將多臺設備的各種硬件資源,如屏幕、相機、擴音器、鍵盤、傳感器及存儲器等予以抽象,形成“超級虛擬終端”內的統一硬件資源池,并支持硬件資源的按需分配和重新組合,真正實現了硬件資源的全局調用。應用需要使用哪種分布式的硬件能力,只需要訪問對應的服務,不再需要集成Kit;并且由硬件資源池提供的多種硬件資源可以同時被不同的應用訪問,實現“一對多”的硬件資源訪問。

        圖2 “一對多”的硬件資源訪問模型

        基于“硬件資源池化”,開發者可以根據不同的業務場景,在硬件資源池內選擇并匹配合適的能力模塊,充分發揮不同設備的能力優勢,從而構建全新的用戶體驗。

        2. 硬件資源池化框架

        基于“硬件資源池化”的創新理念,OpenHarmony融合硬件虛擬化、硬件資源管理及硬件數據管理等能力,構建了硬件資源池化框架,對外提供了統一的硬件能力開放接口,讓開發者輕松實現應用開發。如圖3所示,硬件資源池化框架將各類設備的硬件資源進行抽象,為北向應用提供各種分布式服務,比如分布式相機、分布式屏幕、分布式音頻和分布式輸入等,同時提供統一的設備管理和分布式硬件框架對硬件資源進行管理。

        圖3 硬件資源池化框架

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

        1. 設備管理(DeviceManager)

        該組件在OpenHarmony系統中提供與帳號無關的分布式設備的認證組網能力,并為開發者提供了一套用于分布式設備發現和認證的接口,如圖4所示。當前支持同時管理的設備數量最大規格為20個設備。

        圖4 設備管理組件

        詳細信息請參考碼云平臺OpenHarmony項目設備管理的代碼倉:

        https://gitee.com/openharmony/device_manager

        2. 分布式硬件框架(DistributedHardwareFwk)

        該組件為硬件資源池化提供信息管理能力,其主要能力包括接入管理、能力查詢、狀態管理、權限管理以及版本管理等。

        詳細信息請參考碼云平臺OpenHarmony項目分布式硬件框架的代碼倉:https://gitee.com/openharmony/distributed_hardware_fwk

        3. 分布式相機(Distributed Camera)

        該組件提供跨設備相機訪問的能力,將其他終端的設備的相機硬件能力進行抽象,作為硬件資源池中的相機能力提供給其他設備調用。

        詳細信息請參考碼云平臺OpenHarmony項目分布式相機的代碼倉:https://gitee.com/openharmony/distributed_camera

        4. 分布式屏幕(Distributed Screen)

        該組件提供跨設備屏幕能力調用,為OpenHarmony系統框架提供系統投屏、屏幕鏡像、屏幕分割等能力的實現。

        詳細信息請參考碼云平臺OpenHarmony項目分布式屏幕的代碼倉:https://gitee.com/openharmony/distributed_screen

        3. 后續規劃

        除了分布式相機和分布式屏幕外,硬件資源池化框架在后續版本還將提供分布式音頻和分布式輸入能力。分布式音頻將提供對麥克風、喇叭、聽筒等音頻設備的硬件資源池化能力,通過音頻服務提供給應用開發者,使得開發者能夠自由選擇、切換、組合音頻設備,提升用戶的使用體驗。分布式輸入將提供對鍵盤、鼠標等輸入設備的硬件資源池化能力,通過輸入服務讓應用開發者能跨設備調用輸入能力,實現多設備協同。

        硬件資源池化框架仍在建設中,期待廣大開發者共同加入我們,共同見證萬物互聯時代的無限可能!


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: OpenHarmony

        技術專區

        關閉
        主站蜘蛛池模板: 金坛市| 贵港市| 衢州市| 绍兴市| 灵川县| 湘阴县| 荃湾区| 松溪县| 仪陇县| 昌平区| 东阳市| 宜丰县| 正阳县| 团风县| 文登市| 类乌齐县| 勐海县| 龙州县| 桂林市| 札达县| 唐河县| 民县| 康平县| 油尖旺区| 吉木萨尔县| 乐亭县| 梅州市| 九台市| 临高县| 宣化县| 湘阴县| 甘泉县| 岳西县| 南华县| 锡林郭勒盟| 光山县| 华蓥市| 凯里市| 谢通门县| 沙湾县| 托克逊县|