OpenHarmony3.1 Release版本特性解析——硬體資源池化架構介紹

李剛
OpenHarmony 分散式硬體管理 SIG 成員
華為技術有限公司分散式硬體專家

 

OpenHarmony 作為面向全場景、全連接、全智慧時代的分散式作業系統,通過將各類不同終端設備的能力進行整合,實現硬體互助、資源共享,為用戶提供流暢的全場景體驗。

 

本期,我們通過介紹 OpenHarmony 的硬體資源池化框架,為大家揭曉 OpenHarmony 是如何實現多設備協同的。

 

一、硬體資源訪問的演進

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

 

1.1 一對一

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

 

圖 1 「一對一」的硬體資源訪問模型

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

 

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

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

1.2 一對多

隨著全場景智慧生活的不斷深入,「一對一」的設備硬體資源訪問方式已不能滿足某些複雜場景的業務需求。

 

OpenHarmony 對分散式技術不斷探索與創新,通過增強原來的分散式設備虛擬化能力,將多台設備的各種硬體資源,如螢幕、相機、擴音器、鍵盤、感測器及存儲器等予以抽象,形成「超級虛擬終端」內的統一硬體資源池,並支援硬體資源的按需分配和重新組合,真正實現了硬體資源的全局調用。應用需要使用哪種分散式的硬體能力,只需要訪問對應的服務,不再需要集成 Kit;並且由硬體資源池提供的多種硬體資源可以同時被不同的應用訪問,實現「一對多」的硬體資源訪問。

 

圖 2 「一對多」的硬體資源訪問模型

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

 

二、硬體資源池化框架

基於「硬體資源池化」的創新理念,OpenHarmony 融合硬體虛擬化、硬體資源管理及硬體數據管理等能力,構建了硬體資源池化框架,對外提供了統一的硬體能力開放介面,讓開發者輕鬆實現應用開發。如圖 3 所示,硬體資源池化框架將各類設備的硬體資源進行抽象,為北嚮應用提供各種分散式服務,比如分散式相機、分散式螢幕、分散式音頻和分散式輸入等,同時提供統一的設備管理和分散式硬體框架對硬體資源進行管理。

 

圖 3 硬體資源池化框架

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

 

2.1 設備管理(DeviceManager)

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

 

圖 4 設備管理組件

詳細資訊請參考設備管理的程式碼倉:

//gitee.com/openharmony/device_manager

2.2 分散式硬體框架(DistributedHardwareFwk)

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

 

詳細資訊請參考分散式硬體框架的程式碼倉://gitee.com/openharmony/distributed_hardware_fwk

2.3 分散式相機(Distributed Camera)

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

 

詳細資訊請參考分散式相機的程式碼倉://gitee.com/openharmony/distributed_camera

2.4 分散式螢幕(Distributed Screen)

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

 

詳細資訊請參考分散式螢幕的程式碼倉://gitee.com/openharmony/distributed_screen

三、後續規劃

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

 

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