一文帶你看懂分散式軟匯流排在家庭場景的應用

HarmonyOS開發者社群發表於2022-01-06

作者:maerli,華為軟體架構師

 

HarmonyOS分散式作業系統定位為萬物互聯時代的作業系統,覆蓋手機、平板、智慧屏、智慧穿戴、智慧車機以及智慧家居等記憶體從KB到GB級的多種終端,並在系統層讓多終端融為一體,形成超級終端,為消費者帶來全場景智慧生活新體驗。

 

如何讓各種不同的裝置融合為一體,形成超級終端呢?這就需要分散式軟匯流排來實現。

 

分散式軟匯流排為裝置間的無縫互聯提供了統一的分散式通訊能力,能夠快速發現並連線裝置,高效地傳輸任務和資料。

 

一、全場景面臨的挑戰


全場景應用涉及工作、生活、出行和學習的方方面面,旨在更好地服務人們,提供便捷、高質量、豐富多彩的超級終端的體驗。無論是運動、出行、辦公還是家庭生活都是全場景超級終端所涉及的範圍。

 

為了讓大家更好地瞭解全場景超級終端,以及分散式軟匯流排面臨的各種挑戰,下面我們以家庭場景為例詳細講解。

 

圖1 家庭場景

 

裝置型別:涉及的裝置數量眾多,比如手機、PAD、便攜PC、智慧屏、電視盒子、智慧家電、健身器材等。既有個人終端裝置,又有影音娛樂裝置,還有大量的各種智慧家居終端。

 

連線方式:涉及Wi-Fi、乙太網、藍芽、Zigbee、PLC

 

典型業務:在家庭中,各類智慧裝置為人們帶來豐富多彩的智慧體驗,其場景多不勝舉。為方便大家理解,這裡給出幾個例子。↓

  • 來訪客人按下智慧門鎖門鈴按鈕,智慧音響播放鈴聲,同時在電視螢幕上以畫中畫的方式展示出客人的影像。
  • 使用者在電視上看到一檔美食節目,將烹飪方法和指導從電視轉移到廚房的電冰箱螢幕上,然後在節目指導下一步步完成美食製作。
  • 使用者通過手機下發烹飪命令給烤箱、電飯煲等烹飪電器,由烹飪電器自動完成美食的加工。
  • 使用者運動後,運動器材將採集的運動健康資料自動同步給冰箱。冰箱推薦出一系列最適宜體力恢復和營養補充的健康菜譜,使用者可以通過冰箱自動下單採購補充缺乏的食材。

 

挑戰:家庭場景下涉及的裝置數量眾多,在豐富人們生活的同時,也為裝置互聯互通帶來了巨大的挑戰。同時,裝置間的連線方式複雜,並且由於房屋結構的關係,無線訊號干擾、衰減、遮掩的問題也較多。另外,由於家庭場景下業務的多樣性,如何通過網路構建使得裝置之間的互聯互通更加可靠、安全,並能夠基於業務和網路狀態進行質量優化和合理排程,是家庭環境下最大的挑戰。

 

二、分散式軟匯流排介紹


全場景下,HarmonyOS通過分散式軟匯流排技術連線不同裝置構建超級終端的過程中,涉及到多種多樣通訊方式的選擇和使用,而每一種技術、協議在實現和應用上都有很多差異。對於HarmonyOS應用開發者或裝置開發者,要全部掌握所有在全場景智慧生活中所涉及的各類通訊技術,其難度和成本可想而知。

 

因此如何讓這些基於HarmonyOS構建的裝置便捷、高效地互相通訊;並且實現上層應用無需考慮裝置差異,就如同使用“一個裝置”一樣,流暢地使用多個裝置的能力,是HarmonyOS分散式設計中最重要的價值思考。

 

HarmonyOS分散式軟匯流排為此應運而生,為HarmonyOS分散式通訊提供了可靠的解決方案,並通過一系列簡單的API介面服務於整個HarmonyOS系統。

 

分散式軟匯流排,向上對開發者遮蔽了技術的複雜性;向下則通過優秀的演算法和實現為HarmonyOS構建出一套高效能的分散式通訊。

 

如圖2所示,HarmonyOS分散式軟匯流排從邏輯架構上將分散式通訊抽象為由四個部分組成的業務模型:發現、連線、組網和傳輸。這四個部分在整個軟匯流排業務邏輯中分工合作,通過構築分散式通訊框架,達成分散式軟匯流排通訊的目標。

 

圖2 分散式軟匯流排業務模型

 

1. 發現

 

通過分散式軟匯流排的發現技術,發現周邊的分散式裝置的存在。一個裝置可以是被發現方,可以是主動發現方,也可以二者兼而有之。

  • 支援通過Wi-Fi、藍芽、乙太網等不同的媒介發現裝置。
  • 支援根據不同裝置的能力,選擇合適的發現媒介。
  • 支援根據裝置特點和業務需求提供合適的發現頻次、掃描週期等發現策略。


2. 連線

 

通過分散式軟匯流排的連線技術,連線周邊的分散式裝置。分散式軟匯流排根據分散式裝置的能力和業務需求,選擇合適的通訊媒介和最恰當的連線技術,建立通訊鏈路,為後續的組網和傳輸提供基礎能力。

 

3. 組網

 

通過分散式軟匯流排的組網技術,可以將不同能力、不同特徵的分散式裝置組成一張網路,使得裝置分散式網路不限於單一的或者一對一的連線關係,而是將整個全場景下涉及的裝置組成了有一張動態網路。在這張網路中,每個裝置的通訊能力、業務能力都可以得到有效的管理。從而當業務需要時,通過分散式軟匯流排的網路,可以隨時提供業務需要的裝置能力資訊,也可以為業務通道的建立提供支撐。

 

4. 傳輸

 

通過分散式軟匯流排的傳輸技術,為分散式業務提供業務資料的傳輸能力。對業務資料和QoS(Quality of Service,服務質量)要求進行抽象,並根據網路負載和裝置能力為業務提供合適的傳輸技術。既保證單業務的通訊訴求,又保證整個分散式網路內多業務的傳輸質量。

 

圖3 分散式軟匯流排資料模型

 

如圖3所示,HarmonyOS分散式軟匯流排將傳輸的資料抽象為四種資料模型:訊息、位元組、檔案和流。基於不同的資料模型,可以針對性地構建合適的傳輸方案和QoS策略。

  • 訊息:用於實時性和可靠性要求極高短資料(比如控制類指令)的傳輸。
  • 位元組:用於時延要求不高的基本業務資料傳輸。
  • 檔案:主要用於裝置間檔案的傳輸和同步。通常要求較大的傳輸頻寬,但實時性要求不高。
  • 流:一般用於音視訊流的傳輸。既要求高頻寬,又要求低時延。


訊息和位元組資料模型,主要服務於裝置間任務流轉能力的構建,是分散式軟匯流排中任務匯流排能力的基礎。檔案和流資料模型,主要服務於裝置間分散式資料傳輸,是分散式軟匯流排中資料匯流排能力的基礎。

 

分散式軟匯流排通過簡化設計、優化傳輸、主動抗干擾、智慧排程等技術的有機結合,為HarmonyOS提供了高頻寬、低時延、低功耗、安全可靠的裝置間通訊能力。分散式軟匯流排也為接入超級終端的裝置間無縫互聯提供了統一的、與物理連線無關的極簡API,其業務模型和四種資料模型覆蓋了全場景下分散式業務跨終端近場通訊的訴求。

 

三、分散式軟匯流排的應用


為了讓大家更直觀地理解分散式軟匯流排,下面我們結合家庭場景的一個典型業務來講一講業務是如何使用分散式軟匯流排能力的。

 

以門鎖門鈴和電視螢幕上的畫中畫為例,當門鈴按下的時刻,門鎖產品通過分散式軟匯流排就可以發現支援畫中畫功能的電視。門鈴上的分散式排程通過軟匯流排喚起電視上的畫中畫;同時也就可以建立起智慧門鎖上攝像頭畫面傳遞到電視螢幕畫中畫的高速傳輸通道。

 

主要流程步驟如圖4所示:

 

圖4 家庭場景下分散式軟匯流排的應用

 

  • 步驟1:智慧門鎖上電後,分散式軟匯流排啟動發現流程。
  • 步驟2、3:分散式軟匯流排發現智慧屏裝置後,啟動組網流程,完成智慧門鎖與智慧屏之間的可信認證。
  • 步驟4.1、4.2、4.3:分散式軟匯流排分別向智慧門鎖和智慧屏上報對方裝置上線。
  • 步驟5、6:當客人按下門鈴時,智慧門鎖的門鎖業務請求分散式排程啟動智慧屏畫中畫。
  • 步驟7:智慧門鎖的分散式排程將“啟動畫中畫”的指令封裝為訊息,請求分散式軟匯流排將該訊息傳送至智慧屏的分散式排程。
  • 步驟8、9:分散式軟匯流排通過訊息傳輸功能將“啟動畫中畫”指令傳送到智慧屏的分散式排程。
  • 步驟10:智慧屏的分散式排程收到“啟動畫中畫”指令後,啟動畫中畫FA。
  • 步驟11:智慧門鎖的門鎖業務請求分散式軟匯流排將捕獲的攝像頭畫面傳輸至智慧屏畫中畫。
  • 步驟12、13:分散式軟匯流排通過流傳輸功能,將門鎖側攝像頭畫面傳送至智慧屏,智慧屏的畫中畫收到門鎖攝像頭畫面後,在畫中畫FA中播放。

 

說明:為了方便理解,圖4略去了裝置管理子系統和分散式硬體子系統的處理流程。業務實際是通過分散式裝置管理收到的裝置上線的通知;門鎖捕獲攝像頭視訊和攝像頭視訊畫中畫播放,涉及到業務通過分散式硬體子系統提供的攝像頭虛擬化能力。

 

四、結束語


分散式軟匯流排技術是基於華為多年的通訊技術積累,參考計算機硬體匯流排,在1+8+N裝置間搭建一條“無形”的匯流排,具備自發現、自組網、高頻寬低時延的特點。通過分散式軟匯流排,全場景裝置間完成裝置虛擬化、跨裝置服務呼叫、多屏協同、檔案分享等分散式業務。

 

分散式軟匯流排致力於實現近場裝置間統一的分散式通訊能力,提供不區分鏈路的裝置發現和傳輸介面,具備快速發現並連線裝置,高效分發任務和傳輸資料。分散式軟匯流排是HarmonyOS架構中的底層技術,是HarmonyOS的大動脈,其總的目標是實現裝置間無感發現,零等待傳輸。對開發者而言,無需關注組網方式與底層協議。

 

經過上面的介紹,相信大家對全場景和分散式軟匯流排有了更深的瞭解。歡迎更多的開發者加入進來,豐富全場景,共築鴻蒙生態!

 

掃碼新增開發者小助手微信

獲取更多HarmonyOS開發資源和開發者活動資訊

相關文章