0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何三步完成HarmonyOS分布式任务调度?

电子工程师 来源:HarmonyOS开发者 作者:HarmonyOS开发者 2021-05-28 09:39 次阅读

万物互联的时代已经来临,如果你想运用过往的技术,开发一个有“跨设备操作、多设备协同”功能的应用(后文都称:分布式应用),首先需要自己搭建一个“服务发现、同步、注册、调用”的框架,然后还要写一套数据安全控制策略,包括数据加解密,最后还要持续优化服务通讯效率。对开发者而言,开发周期拉长、任务繁重、开发和维护效率低下。

而使用HarmonyOS后,无需经历上述复杂的过程,你只需要调用几个简单的API,就能快速开发出一个分布式应用,大大缩短开发周期,让你更专注于应用的开发和打磨。

接下来我们将通过一个“分布式亲子教育”Demo,为你展示只需三步就能完成分布式应用的开发。

HarmonyOS应用开发在线体验

https://playground.harmonyos.com/#/cn/onlineDemo

本期分布式亲子教育有两个体验场景:“早教算数题”和“益智拼图”。由于这两个体验场景都是调用了3个API完成的分布式技术应用,且API类型无太大差异,我们将挑选“早教算术题”为大家展开介绍。

进入链接后,首先在案例场景栏中选择“分布式亲子教育”,然后下拉页面,再点击“开始试玩”,进入“亲子早教系统”。

早教算术题

第一步:体验“早教算数题”,点击“实时辅导”后,通过调用HarmonyOS 分布式任务调度的API “DeviceManager.getDeviceList()”获取分布式组网设备列表,效果如图1所示:

图1 “DeviceManager.getDeviceList()”API效果图

● DeviceManager.getDeviceList()介绍

https://developer.harmonyos.com/cn/docs/documentation/doc-references/devicemanager-0000001054358820#ZH-CN_TOPIC_0000001054358820__section548610903103829

第二步:在“选择设备”对话框中选择一台设备,通过HarmonyOS分布式任务调度的API “Ability.startAbility()”,将远程设备(家长端)拉起并进入操作界面。效果如图2所示:

图2 “Ability.startAbility()”API效果图

● Ability.startAbility()介绍

https://developer.harmonyos.com/cn/docs/documentation/doc-references/ability-0000001054120007#ZH-CN_TOPIC_0000001054120007__startAbility-ohos_aafwk_content_Intent-

第三步:下图黑色字是学生端的计算过程,红色字是家长端的辅导过程,家长可以在辅导画板中直接辅导学生数学计算。通过调用API“IRemoteObject.sentRequest()”,实现远程辅导算数题,轻松完成分布式远程设备通讯,效果如图3所示:

图3 “IRemoteObject.sentRequest()”API效果图

● IRemoteObject.sentRequest介绍

https://developer.harmonyos.com/cn/docs/documentation/doc-references/iremoteobject-0000001054678970#ZH-CN_TOPIC_0000001054678970__sendRequest-int-ohos_rpc_MessageParcel-ohos_rpc_MessageParcel-ohos_rpc_MessageOption-

分布式任务调度为何如此便捷?

HarmonyOS分布式任务调度开发之所以这么便捷,得益于强大的全系统框架支撑(如图4所示)。

该框架由分布式软总线、分布式数据管理、分布式Profile和分布式安全认证等技术特性构成,分布式任务调度在此基础上构建了统一的分布式服务(发现、同步、注册、调用)管理机制,支持对跨设备的应用进行远程启动、远程调用、远程连接以及迁移等操作,能够根据不同设备的能力、位置、业务运行状态、资源使用情况,以及用户的习惯和意图,选择合适的设备运行分布式任务。

总而言之,“底层实现”框架已为你建好,开发者只需关注上层“应用开发”。

45c80b86-bf54-11eb-9e57-12bb97331649.png

图4 Demo原理图

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    1501

    浏览量

    62027
  • 万物互联
    +关注

    关注

    1

    文章

    223

    浏览量

    14127
  • HarmonyOS
    +关注

    关注

    79

    文章

    1975

    浏览量

    30205

原文标题:在线体验!三步完成HarmonyOS分布式任务调度

文章出处:【微信号:HarmonyOS_Dev,微信公众号:HarmonyOS开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    HarmonyOS Next 应用元服务开发-分布式数据对象迁移数据文件资产迁移

    设备文件访问实现文件的迁移,难以获取文件同步完成的时间。为了保证更高的成功率,文件的迁移不建议继续通过该方式实现,推荐使用分布式数据对象携带资产的方式。开发者此前通过跨设备文件访问实现的文件迁移依然生效
    发表于 12-24 10:11

    HarmonyOS Next 应用元服务开发-分布式数据对象迁移数据权限与基础数据

    设备文件访问实现文件的迁移,难以获取文件同步完成的时间。为了保证更高的成功率,文件的迁移不建议继续通过该方式实现,推荐使用分布式数据对象携带资产的方式。开发者此前通过跨设备文件访问实现的文件迁移依然生效
    发表于 12-24 09:40

    HarmonyOS开发实例:【分布式数据服务】

    分布式数据服务(Distributed Data Service,DDS)为应用程序提供不同设备间数据分布式的能力。
    的头像 发表于 04-18 10:18 730次阅读
    <b class='flag-5'>HarmonyOS</b>开发实例:【<b class='flag-5'>分布式</b>数据服务】

    HarmonyOS开发实例:【分布式手写板】

    使用设备管理及分布式键值数据库能力,实现多设备之间手写板应用拉起及同步书写内容的功能。
    的头像 发表于 04-17 21:45 500次阅读
    <b class='flag-5'>HarmonyOS</b>开发实例:【<b class='flag-5'>分布式</b>手写板】

    HarmonyOS开发实例:【分布式新闻客户端】

    基于栅格布局、设备管理和多端协同,实现一次开发,多端部署的分布式新闻客户端页面。
    的头像 发表于 04-17 15:57 877次阅读
    <b class='flag-5'>HarmonyOS</b>开发实例:【<b class='flag-5'>分布式</b>新闻客户端】

    HarmonyOS开发实例:【分布式邮件】

    基于TS扩展的声明开发范式编程语言编写的一个分布式邮件系统,可以由一台设备拉起另一台设备,每次改动邮件内容,都会同步更新两台设备的信息
    的头像 发表于 04-17 10:29 765次阅读
    <b class='flag-5'>HarmonyOS</b>开发实例:【<b class='flag-5'>分布式</b>邮件】

    HarmonyOS实战案例:【分布式账本】

    Demo基于Open Harmony系统使用ETS语言进行编写,本Demo主要通过设备认证、分布式拉起、分布式数据管理等功能来实现。
    的头像 发表于 04-12 16:40 1333次阅读
    <b class='flag-5'>HarmonyOS</b>实战案例:【<b class='flag-5'>分布式</b>账本】

    HarmonyOS开发实例:【分布式数据管理】

    eTS中分布式数据管理的使用,包括KVManager对象实例的创建和KVStore数据流转的使用。
    的头像 发表于 04-11 09:57 940次阅读
    <b class='flag-5'>HarmonyOS</b>开发实例:【<b class='flag-5'>分布式</b>数据管理】

    鸿蒙HarmonyOS开发实战:【分布式音乐播放】

    本示例使用fileIo获取指定音频文件,并通过AudioPlayer完成了音乐的播放完成了基本的音乐播放、暂停、上一曲、下一曲功能;并使用DeviceManager完成分布式设备列表
    的头像 发表于 04-10 17:51 875次阅读
    鸿蒙<b class='flag-5'>HarmonyOS</b>开发实战:【<b class='flag-5'>分布式</b>音乐播放】

    HarmonyOS开发技术全面分析

    以应用迁移为例,简要地展示了分布式任务调度能力。 图4: 分布式任务调度示意图 一次开发,多端
    发表于 02-21 16:31

    鸿蒙开发【分布式任务调度】解析

    1.FA 迁移可以打通设备间的壁垒,有助于不同能力的设备进行互助。前文以一个简单的例子介绍如何通过分布式任务调度提供的能力,实现 FA 跨设备的迁移(包括 FA 启动及状态数据的同步)。 2.FA
    的头像 发表于 01-29 18:03 699次阅读

    鸿蒙OS 分布式任务调度

    鸿蒙OS 分布式任务调度概述 在 HarmonyO S中,分布式任务调度平台对搭载
    的头像 发表于 01-29 16:50 500次阅读

    分布式大屏控制系统的应用场景

    分布式大屏控制系统具有广泛的应用场景,主要涉及以下几个方面: 监控指挥中心:如交通指挥中心、电力调度中心、应急指挥中心等,用于实时监控、调度和指挥,保证系统的安全、稳定、高效运行。 会议中心:在
    的头像 发表于 01-29 14:25 748次阅读

    什么是分布式架构?

    分布式架构是指将一个系统或应用拆分成多个独立的节点,这些节点通过网络连接进行通信和协作,以实现共同完成任务的一种架构模式。这种架构模式旨在提高系统的可扩展性、可靠性和性能表现。 一、分布式架构的特点
    的头像 发表于 01-12 15:04 1244次阅读
    什么是<b class='flag-5'>分布式</b>架构?

    任务调度系统设计的核心逻辑

    Redis的读写性能极好,分布式锁也比Quartz数据库行级锁更轻量级。当然Redis锁也可以替换成Zookeeper锁,也是同样的机制。 在小型项目中,使用:定时任务框架(Quartz/Spring Schedule)和 分布式
    的头像 发表于 01-02 15:09 888次阅读
    <b class='flag-5'>任务</b><b class='flag-5'>调度</b>系统设计的核心逻辑