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

来源:https://www.cnblogs.com/openharmony/archive/2022/05/23/16301853.html
-Advertisement-
Play Games

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


李剛 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 設備管理組件

詳細信息請參考設備管理的代碼倉:

https://gitee.com/openharmony/device_manager


2.2 分散式硬體框架(DistributedHardwareFwk)


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

 

詳細信息請參考分散式硬體框架的代碼倉:https://gitee.com/openharmony/distributed_hardware_fwk


2.3 分散式相機(Distributed Camera)


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

 

詳細信息請參考分散式相機的代碼倉:https://gitee.com/openharmony/distributed_camera


2.4 分散式屏幕(Distributed Screen)


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

 

詳細信息請參考分散式屏幕的代碼倉:https://gitee.com/openharmony/distributed_screen


三、後續規劃


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

 

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

 

 

搜索

複製


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 鏡像下載、功能變數名稱解析、時間同步請點擊 阿裡雲開源鏡像站 1. 問題描述 電腦上成功安裝VMware虛擬機後,安裝Ubuntu系統。Ubuntu系統無法聯網,多方檢查發現問題:宿主機的網路連接中沒有VMware Network Adapter VMnet1和VMware Network Adapter ...
  • 已有的docker容器增加新的埠映射 在運行容器時指定映射埠運行後,如果想要添加新的埠映射,使用兩種方式都可以,需要的朋友可以參考下 背景 一般在運行容器時,我們都會通過參數 -p(使用大寫的-P參數則會隨機選擇宿主機的一個埠進行映射)來指定宿主機和容器埠的映射,例如 docker run ...
  • 本文例子參考《STM32單片機開發實例——基於Proteus虛擬模擬與HAL/LL庫》 源代碼:https://github.com/LanLinnet/STM33F103R6 寫在前面 在前面幾節的基礎上,我們已經基本瞭解了STM32F103的GPIO、外部中斷、定時器、串口通信和一些片內外設,接 ...
  • ethtool ethtool的使用 不帶選項,預設輸出協商速率、最大速率、連接狀態等信息 -i | --driver 列印驅動信息 --set-priv-flags 設置網卡的私有屬性,比如將link-down-on-close置為true後可以使用ifconfig down去關閉網卡連接 -a ...
  • 一、概述 DataX 是阿裡雲 DataWorks數據集成 的開源版本,在阿裡巴巴集團內被廣泛使用的離線數據同步工具/平臺。DataX 實現了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS) ...
  • 1、查詢用戶所擁有的安全形色: select su.FullName,r.Name,bu.name bussinessname from SystemUserRoles sur left join SystemUserBase su on su.SystemUserId = sur.SystemUs ...
  • **導讀:**數據安全立法2018年9月於十三屆全國人大常委會列入立法規劃。經過三次審議,在2021年6月10日,十三屆全國人大常委會第二十九次會議正式表決通過,並於2021年9月1日起施行。從法律角度來說,國家對於數據安全越來越重視,作為企業該如何針對數據安全法進行數據安全治理的規劃,最終進行對應 ...
  • 本期我們將帶來“分散式計算器”的開發,幫助大家瞭解聲明式開發範式的UI描述、組件化機制、UI狀態管理、渲染控制語法等核心機制和功能。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...