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