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