鴻蒙OS 分布式任務調(diào)度概述

2021-02-01 14:23 更新

在 HarmonyO S中,分布式任務調(diào)度平臺對搭載 HarmonyOS 的多設備構筑的“超級虛擬終端”提供統(tǒng)一的組件管理能力,為應用定義統(tǒng)一的能力基線、接口形式、數(shù)據(jù)結構、服務描述語言,屏蔽硬件差異;支持遠程啟動、遠程調(diào)用、業(yè)務無縫遷移等分布式任務。

分布式任務調(diào)度平臺在底層實現(xiàn) Ability(分布式任務調(diào)度的基本組件)跨設備的啟動/關閉、連接及斷開連接以及遷移等能力,實現(xiàn)跨設備的組件管理:

  • 啟動和關閉:向開發(fā)者提供管理遠程 Ability 的能力,即支持啟動 Page 模板的 Ability,以及啟動、關閉 Service 和 Data 模板的 Ability。
  • 連接和斷開連接:向開發(fā)者提供跨設備控制服務( Service 和 Data 模板的 Ability )的能力,開發(fā)者可以通過與遠程服務連接及斷開連接實現(xiàn)獲取或注銷跨設備管理服務的對象,達到和本地一致的服務調(diào)度。
  • 遷移能力:向開發(fā)者提供跨設備業(yè)務的無縫遷移能力,開發(fā)者可以通過調(diào)用 Page 模板 Ability 的遷移接口,將本地業(yè)務無縫遷移到指定設備中,打通設備間壁壘。

約束與限制

  • 開發(fā)者需要在 Intent 中設置支持分布式的標記(例如:Intent.FLAG_ABILITYSLICE_MULTI_DEVICE 表示該應用支持分布式調(diào)度),否則將無法獲得分布式能力。
  • 開發(fā)者通過在 config.json 中添加分布式數(shù)據(jù)傳輸?shù)臋嘞奚暾垼簕"name": "ohos.permission.servicebus.ACCESS_SERVICE"},獲取跨設備連接的能力。
  • PA( Particle Ability,Service 和 Data 模板的 Ability)的調(diào)用支持連接及斷開連接、啟動及關閉這四類行為,在進行調(diào)度時:
    • 開發(fā)者必須在 Intent 中指定 PA 對應的 bundleName 和 abilityName。
    • 當開發(fā)者需要跨設備啟動、關閉或連接 PA 時,需要在 Intent 中指定對端設備的 deviceId。開發(fā)者可通過如設備管理類 DeviceManager 提供的 getDeviceList 獲取指定條件下匿名化處理的設備列表,實現(xiàn)對指定設備 PA 的啟動/關閉以及連接管理。
  • FA(Feature Ability,Page 模板的 Ability)的調(diào)用支持啟動和遷移行為,在進行調(diào)度時:
    • 當啟動 FA 時,需要開發(fā)者在 Intent 中指定對端設備的 deviceId、bundleName 和 abilityName。
    • FA 的遷移實現(xiàn)相同 bundleName 和 abilityName 的 FA 跨設備遷移,因此需要指定遷移設備的 deviceId。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號