0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙分布式任務(wù)調(diào)度技術(shù)教程

華為麒麟 ? 來源:鴻蒙技術(shù)社區(qū) ? 作者:木棉花潘穎琳 ? 2021-08-20 10:03 ? 次閱讀

本文是對(duì)分布式任務(wù)調(diào)度的一個(gè)技術(shù)教程,以一個(gè)簡單的案例來講解。

正文部分分為兩個(gè)部分:

第一部分是對(duì)分布式任務(wù)調(diào)度的簡單概述

第二部分是分布式任務(wù)調(diào)度的一個(gè)簡單案例(跨設(shè)備 FA 的拉起)

分布式任務(wù)調(diào)度的簡單概述

Ability 可以分為 FA(Feature Ability)和 PA(Particle Ability)兩種類型。

①FA 支持 Page Ability

Page 模板:FA 唯一支持的模板,用于提供與用戶交互的能力。一個(gè) Page 實(shí)例可以包含一組相關(guān)頁面,每個(gè)頁面用一個(gè) AbilitySlice 實(shí)例表示。

②PA 支持 Service Ability 和 Data Ability

Service 模板:用于提供后臺(tái)運(yùn)行任務(wù)的能力。Data 模板:用于對(duì)外部提供統(tǒng)一的數(shù)據(jù)訪問抽象。

874900b0-00ef-11ec-9bcf-12bb97331649.png

根據(jù) Ability 模板及意圖的不同,分布式任務(wù)調(diào)度向開發(fā)者提供以下六種能力:

啟動(dòng)遠(yuǎn)程 FA

啟動(dòng)遠(yuǎn)程 PA

關(guān)閉遠(yuǎn)程 PA

連接遠(yuǎn)程 PA

斷開連接遠(yuǎn)程 PA

FA 跨設(shè)備遷移

“跨設(shè)備FA的拉起”的教程

①創(chuàng)建項(xiàng)目

DevEco Studio 下載安裝成功后,打開 DevEco Studio,點(diǎn)擊左上角的 File,點(diǎn)擊 New,再選擇 New Project。

選擇 Empty Ability(Java),然后點(diǎn)擊 Next,給項(xiàng)目命名 distribute_FA,選擇設(shè)備類型 Phone,最后點(diǎn)擊 Finish。

②申請(qǐng)權(quán)限

在 entry>src>main>config.json 文件中最下方"launchType": "standard"后面的中括號(hào)后且在上方的"module"的花括號(hào)內(nèi)添加以下代碼添加所需要的分布式權(quán)限:

"reqPermissions":[ { "name":"ohos.permission.DISTRIBUTED_DATASYNC" }, { "name":"ohos.permission.GET_DISTRIBUTED_DEVICE_INFO" } ]

第一個(gè)權(quán)限是允許不同設(shè)備間的數(shù)據(jù)交換(敏感權(quán)限)。第二個(gè)權(quán)限是允許獲取分布式組網(wǎng)內(nèi)的設(shè)備列表和設(shè)備信息(非敏感權(quán)限)。應(yīng)用在使用對(duì)應(yīng)服務(wù)的能力或數(shù)據(jù)時(shí),需要申請(qǐng)對(duì)應(yīng)權(quán)限。

已在 config.json 文件中聲明的非敏感權(quán)限,會(huì)在應(yīng)用安裝時(shí)自動(dòng)授予,該類權(quán)限的授權(quán)方式為系統(tǒng)授權(quán)(system_grant)。

敏感權(quán)限需要應(yīng)用動(dòng)態(tài)申請(qǐng),通過運(yùn)行時(shí)發(fā)送彈窗的方式請(qǐng)求用戶授權(quán),該類權(quán)限的授權(quán)方式為用戶授權(quán)(user_grant)。

在 entry>src>main>Java>MainAbility 文件里添加敏感權(quán)限(非敏感權(quán)限在該文件里可加可不加),在 onStart 函數(shù)里添加以下代碼:

requestPermissionsFromUser(newString[]{"ohos.permission.DISTRIBUTED_DATASYNC"},0);

如果添加的權(quán)限比較多可以像這樣新建一個(gè)字符串?dāng)?shù)組,后面的 0 是請(qǐng)求碼(requestCode),是用來標(biāo)識(shí)請(qǐng)求的來源(這個(gè)值任自己設(shè)定)。

③界面布局

在 entry>src>main>resources>base>layout>ability_main.xml 文件里添加一個(gè)按鈕組件,加入唯一標(biāo)識(shí)符 id 并配置好其他相應(yīng)的屬性,代碼如下:

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 華為
    +關(guān)注

    關(guān)注

    215

    文章

    34126

    瀏覽量

    249444
  • 鴻蒙系統(tǒng)
    +關(guān)注

    關(guān)注

    183

    文章

    2627

    瀏覽量

    65782
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1946

    瀏覽量

    29733

原文標(biāo)題:1個(gè)簡單案例講解:鴻蒙分布式任務(wù)調(diào)度

文章出處:【微信號(hào):Huawei_Kirin,微信公眾號(hào):華為麒麟】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙ArkTS聲明開發(fā):跨平臺(tái)支持列表【分布式遷移標(biāo)識(shí)】 通用屬性

    組件的分布式遷移標(biāo)識(shí),指明了該組件在分布式遷移場(chǎng)景下可以將特定狀態(tài)恢復(fù)到對(duì)端設(shè)備。
    的頭像 發(fā)表于 06-07 21:15 ?238次閱讀

    鴻蒙開發(fā)接口數(shù)據(jù)管理:【@ohos.data.distributedData (分布式數(shù)據(jù)管理)】

    分布式數(shù)據(jù)管理為應(yīng)用程序提供不同設(shè)備間數(shù)據(jù)庫的分布式協(xié)同能力。通過調(diào)用分布式數(shù)據(jù)各個(gè)接口,應(yīng)用程序可將數(shù)據(jù)保存到分布式數(shù)據(jù)庫中,并可對(duì)分布式
    的頭像 發(fā)表于 06-07 09:30 ?719次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)接口數(shù)據(jù)管理:【@ohos.data.distributedData (<b class='flag-5'>分布式</b>數(shù)據(jù)管理)】

    鴻蒙HarmonyOS開發(fā)實(shí)戰(zhàn):【分布式音樂播放】

    本示例使用fileIo獲取指定音頻文件,并通過AudioPlayer完成了音樂的播放完成了基本的音樂播放、暫停、上一曲、下一曲功能;并使用DeviceManager完成了分布式設(shè)備列表的顯示和分布式能力完成了音樂播放狀態(tài)的跨設(shè)備分享。
    的頭像 發(fā)表于 04-10 17:51 ?684次閱讀
    <b class='flag-5'>鴻蒙</b>HarmonyOS開發(fā)實(shí)戰(zhàn):【<b class='flag-5'>分布式</b>音樂播放】

    AI加速智能家居分布式語音技術(shù)發(fā)展

    中的任何地方通過語音命令來控制智能設(shè)備,實(shí)現(xiàn)更具有體驗(yàn)性的居家生活。 ? 什么是分布式語音技術(shù)? ? 分布式語音技術(shù),也稱為DSR(Distributed Speech Recogni
    的頭像 發(fā)表于 02-01 00:16 ?4935次閱讀

    鴻蒙開發(fā)【分布式任務(wù)調(diào)度】解析

    1.FA 遷移可以打通設(shè)備間的壁壘,有助于不同能力的設(shè)備進(jìn)行互助。前文以一個(gè)簡單的例子介紹如何通過分布式任務(wù)調(diào)度提供的能力,實(shí)現(xiàn) FA 跨設(shè)備的遷移(包括 FA 啟動(dòng)及狀態(tài)數(shù)據(jù)的同步)。 2.FA
    的頭像 發(fā)表于 01-29 18:03 ?545次閱讀

    鴻蒙OS 分布式任務(wù)調(diào)度

    鴻蒙OS 分布式任務(wù)調(diào)度概述 在 HarmonyO S中,分布式任務(wù)
    的頭像 發(fā)表于 01-29 16:50 ?386次閱讀

    分布式大屏控制系統(tǒng)的應(yīng)用場(chǎng)景

    分布式大屏控制系統(tǒng)具有廣泛的應(yīng)用場(chǎng)景,主要涉及以下幾個(gè)方面: 監(jiān)控指揮中心:如交通指揮中心、電力調(diào)度中心、應(yīng)急指揮中心等,用于實(shí)時(shí)監(jiān)控、調(diào)度和指揮,保證系統(tǒng)的安全、穩(wěn)定、高效運(yùn)行。 會(huì)議中心:在
    的頭像 發(fā)表于 01-29 14:25 ?505次閱讀

    什么是分布式架構(gòu)?

    分布式架構(gòu)是指將一個(gè)系統(tǒng)或應(yīng)用拆分成多個(gè)獨(dú)立的節(jié)點(diǎn),這些節(jié)點(diǎn)通過網(wǎng)絡(luò)連接進(jìn)行通信和協(xié)作,以實(shí)現(xiàn)共同完成任務(wù)的一種架構(gòu)模式。這種架構(gòu)模式旨在提高系統(tǒng)的可擴(kuò)展性、可靠性和性能表現(xiàn)。 一、分布式架構(gòu)的特點(diǎn)
    的頭像 發(fā)表于 01-12 15:04 ?980次閱讀
    什么是<b class='flag-5'>分布式</b>架構(gòu)?

    鴻蒙原生應(yīng)用開發(fā)——分布式數(shù)據(jù)對(duì)象

    01、什么是分布式數(shù)據(jù)對(duì)象 在可信組網(wǎng)環(huán)境下,多個(gè)相互組網(wǎng)認(rèn)證的設(shè)備將各自創(chuàng)建的對(duì)象加入同一個(gè) sessionId,使得加入的多個(gè)數(shù)據(jù)對(duì)象之間可以同步數(shù)據(jù),也就是說,當(dāng)某一數(shù)據(jù)對(duì)象屬性發(fā)生
    發(fā)表于 12-08 10:01

    分布式系統(tǒng)硬件資源池原理和接入實(shí)踐

    把各個(gè)設(shè)備的硬件外設(shè)抽象為外設(shè)信息單元,外設(shè)信息在各個(gè)可信設(shè)備之間自動(dòng)同步,如此,實(shí)現(xiàn)了外設(shè)信息的全局可見;結(jié)合分布式硬件虛擬化技術(shù),實(shí)現(xiàn)任意設(shè)備之間的硬件外設(shè)能力跨設(shè)備調(diào)用;分布式硬件資源池作為系統(tǒng)
    發(fā)表于 12-06 10:02

    redis分布式鎖的應(yīng)用場(chǎng)景有哪些

    系統(tǒng)中,多個(gè)節(jié)點(diǎn)可能同時(shí)訪問共享資源,例如數(shù)據(jù)庫、文件系統(tǒng)等。使用Redis分布式鎖可以保證在同一時(shí)刻只有一個(gè)節(jié)點(diǎn)能夠訪問該資源,避免了并發(fā)沖突問題,確保數(shù)據(jù)的一致性。 分布式任務(wù)調(diào)度
    的頭像 發(fā)表于 12-04 11:21 ?1255次閱讀

    zookeeper分布式原理

    Zookeeper是一個(gè)開源的分布式協(xié)調(diào)服務(wù),可以用于構(gòu)建高可用、高性能的分布式系統(tǒng)。它提供了一個(gè)簡單且高效的層次命名空間,可以用來存儲(chǔ)配置信息、狀態(tài)信息、命名服務(wù)等。Zookeeper的設(shè)計(jì)目標(biāo)
    的頭像 發(fā)表于 12-03 16:33 ?519次閱讀

    分布式通信是什么 分布式網(wǎng)絡(luò)搭建

    智能機(jī)器人的功能繁多,全都放在一個(gè)計(jì)算機(jī)里,經(jīng)常會(huì)遇到計(jì)算能力不夠、處理出現(xiàn)卡頓等情況,如果可以將這些任務(wù)拆解,分配到多個(gè)計(jì)算機(jī)中運(yùn)行豈不是可以減輕壓力? 這就是分布式系統(tǒng),可以實(shí)現(xiàn)多計(jì)算平臺(tái)
    的頭像 發(fā)表于 11-27 15:49 ?617次閱讀
    <b class='flag-5'>分布式</b>通信是什么 <b class='flag-5'>分布式</b>網(wǎng)絡(luò)搭建

    springclould分布式教程

    的基本概念、主要組件以及如何使用Spring Cloud構(gòu)建分布式系統(tǒng)。 一、Spring Cloud的基本概念 分布式系統(tǒng) 分布式系統(tǒng)是由多個(gè)獨(dú)立計(jì)算機(jī)集合而成的系統(tǒng),這些計(jì)算機(jī)通過網(wǎng)絡(luò)進(jìn)行通信和協(xié)作,共同完成系統(tǒng)的
    的頭像 發(fā)表于 11-16 10:59 ?383次閱讀

    鴻蒙操作系統(tǒng)的前世今生

    數(shù)據(jù)無縫銜接,讓跨設(shè)備數(shù)據(jù)處理如同本地一樣便捷。 分布式任務(wù)調(diào)度:能夠選擇最合適的設(shè)備運(yùn)行分布式任務(wù),并實(shí)現(xiàn)多設(shè)備間的能力互助。
    發(fā)表于 10-08 19:55