OpenHarmony硬件資源池化架構介紹
OpenHarmony作為面向全場景、全連接、全智能時代的分布式操作系統(tǒng),通過將各類不同終端設備的能力進行整合,實現硬件互助、資源共享,為用戶提供流暢的全場景體驗。本期,我們通過介紹OpenHarmony的硬件資源池化框架,為大家揭曉OpenHarmony是如何實現多設備協同的。
1. 硬件資源訪問的演進硬件資源訪問是多設備進行協同的關鍵。OpenHarmony發(fā)展至今,硬件資源訪問經歷了從“一對一”到“一對多”的演進過程。
2.1 一對一
在設計初期,為解決兩臺設備間的協同問題,我們通過系統(tǒng)提供的分布式設備虛擬化平臺將兩臺設備的硬件資源進行融合,實現了“一對一”的硬件資源訪問。
圖1 “一對一”的硬件資源訪問模型
應用通過集成多設備虛擬化Kit,對設備虛擬化平臺進行訪問。設備虛擬化平臺提供設備A和設備B之間的數據交互以及設備的虛擬化能力,進而完成設備A的應用訪問設備B的硬件能力,實現“一對一”的硬件資源訪問。這種訪問模型可以基本滿足兩個設備之間的資源訪問,但是同時也存在一定的掣肘:
● 第一點是應用需要集成多設備虛擬化Kit包才能完成硬件資源的訪問,增加了開發(fā)工作量。
● 第二點是該訪問模型限制了設備A的應用在同一時刻只能訪問設備B的硬件能力,即只能完成“一對一”的硬件資源訪問。
2.2 一對多
隨著全場景智慧生活的不斷深入,“一對一”的設備硬件資源訪問方式已不能滿足某些復雜場景的業(yè)務需求。OpenHarmony對分布式技術不斷探索與創(chuàng)新,通過增強原來的分布式設備虛擬化能力,將多臺設備的各種硬件資源,如屏幕、相機、擴音器、鍵盤、傳感器及存儲器等予以抽象,形成“超級虛擬終端”內的統(tǒng)一硬件資源池,并支持硬件資源的按需分配和重新組合,真正實現了硬件資源的全局調用。應用需要使用哪種分布式的硬件能力,只需要訪問對應的服務,不再需要集成Kit;并且由硬件資源池提供的多種硬件資源可以同時被不同的應用訪問,實現“一對多”的硬件資源訪問。
圖2 “一對多”的硬件資源訪問模型
基于“硬件資源池化”,開發(fā)者可以根據不同的業(yè)務場景,在硬件資源池內選擇并匹配合適的能力模塊,充分發(fā)揮不同設備的能力優(yōu)勢,從而構建全新的用戶體驗。
2. 硬件資源池化框架基于“硬件資源池化”的創(chuàng)新理念,OpenHarmony融合硬件虛擬化、硬件資源管理及硬件數據管理等能力,構建了硬件資源池化框架,對外提供了統(tǒng)一的硬件能力開放接口,讓開發(fā)者輕松實現應用開發(fā)。如圖3所示,硬件資源池化框架將各類設備的硬件資源進行抽象,為北向應用提供各種分布式服務,比如分布式相機、分布式屏幕、分布式音頻和分布式輸入等,同時提供統(tǒng)一的設備管理和分布式硬件框架對硬件資源進行管理。
圖3 硬件資源池化框架
下面為大家介紹硬件資源池化框架的各個組成部分。
1. 設備管理(DeviceManager)
該組件在OpenHarmony系統(tǒng)中提供與帳號無關的分布式設備的認證組網能力,并為開發(fā)者提供了一套用于分布式設備發(fā)現和認證的接口,如圖4所示。當前支持同時管理的設備數量最大規(guī)格為20個設備。
圖4 設備管理組件
詳細信息請參考碼云平臺OpenHarmony項目設備管理的代碼倉:
https://gitee.com/openharmony/device_manager
2. 分布式硬件框架(DistributedHardwareFwk)
該組件為硬件資源池化提供信息管理能力,其主要能力包括接入管理、能力查詢、狀態(tài)管理、權限管理以及版本管理等。
詳細信息請參考碼云平臺OpenHarmony項目分布式硬件框架的代碼倉:https://gitee.com/openharmony/distributed_hardware_fwk
3. 分布式相機(Distributed Camera)
該組件提供跨設備相機訪問的能力,將其他終端的設備的相機硬件能力進行抽象,作為硬件資源池中的相機能力提供給其他設備調用。
詳細信息請參考碼云平臺OpenHarmony項目分布式相機的代碼倉:https://gitee.com/openharmony/distributed_camera
4. 分布式屏幕(Distributed Screen)
該組件提供跨設備屏幕能力調用,為OpenHarmony系統(tǒng)框架提供系統(tǒng)投屏、屏幕鏡像、屏幕分割等能力的實現。
詳細信息請參考碼云平臺OpenHarmony項目分布式屏幕的代碼倉:https://gitee.com/openharmony/distributed_screen
3. 后續(xù)規(guī)劃除了分布式相機和分布式屏幕外,硬件資源池化框架在后續(xù)版本還將提供分布式音頻和分布式輸入能力。分布式音頻將提供對麥克風、喇叭、聽筒等音頻設備的硬件資源池化能力,通過音頻服務提供給應用開發(fā)者,使得開發(fā)者能夠自由選擇、切換、組合音頻設備,提升用戶的使用體驗。分布式輸入將提供對鍵盤、鼠標等輸入設備的硬件資源池化能力,通過輸入服務讓應用開發(fā)者能跨設備調用輸入能力,實現多設備協同。
硬件資源池化框架仍在建設中,期待廣大開發(fā)者共同加入我們,共同見證萬物互聯時代的無限可能!
*博客內容為網友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。