HarmonyOS 之分布式任务调度
上周参加了 9.10~9.12 华为开发者大会(HDC.Together),听了华为王成录博士的 HarmonyOS 的介绍与未来愿景;又在技术分论坛上,HarmonyOS 的各个技术大牛分享了技术特点以及面对开发者的技术讲解,对 HarmonyOS 有了相对深入一些的认识。作为开发者,我对技术分论坛中 HarmonyOS 分布式调度能力比较感兴趣,也在下面分享一下我在论坛中获得的一些信息。
华为消费者业务OS平台技术专家李洪玺首先从不同视角讲解了一下 HarmonyOS 分布式能力。
•消费者视角
站在最终用户的角度,用户看到的始终是应用,在一个应用场景中,能够在不同的设备上获取视/听/触的应用输出,也可以在不同的设备上对同一个应用进行输入。
•开发者视角
站在开发者的角度,开发的应用在运行时能够使用其他设备上的资源:硬件资源、软件资源、数据资源。
分布式任务调度的功能定位
分布式任务调度是 HarmonyOS 中为应用提供使用其他设备上软件资源的系统服务
分布式任务调度让应用开发者能够很方便的开发 HarmonyOS 上的分布式应用
在传统的终端设备上做跨设备的应用访问时,需要应用自己完成服务发现,连接,命令监听/解析等一系列的工作,无论是应用开发者自己开发,还是使用第三方的库,都让应用开发过程变得沉重。分布式任务调度就是在系统层面,为应用提供了通用的分布式服务,让应用开发可以聚焦在业务实现上。
分布式任务调度的能力范围
分布式任务调度提供了三个方面的分布式能力,HarmonyOS 中软件的基础单位是 Ability,所以都是面向 Ability 的分类。
本次只开放了全局查询,远程启动,远程连接,远程调用,轻量消息分布式调度功能
分布式任务调度的使用说明
HarmonyOS 在分布式任务调度上充分考虑了应用开发者的使用便利性,提供了应用信息自动同步的能力,通过查询远程 Ability 接口,既可以指定 Ability 查询设备列表,也可以指定设备标识,查询 Ability 列表,开发者可以根据实际场景灵活使用。在 API 形式上保持了和本地使用基本一致,仅仅增加了远程设备标识的参数,这让开发者使用起来完全没有障碍,开发者生态十分友好。
分布式调度的应用举例与畅想
在分论坛上,同程旅行的开发者分享了分布式任务调度在同程应用开发上的应用,通过分布式任务调度的能力,在手机和手表间进行应用间协同,在游乐场游玩的场景,用户可以全程不使用手机,解决了在游乐场游玩过程中手机容易丢失,损坏的痛点,非常好的提升了用户体验。
结尾
HarmonyOS 分布式任务调度充分站在应用开发者的角度进行思考,将复杂的分布式应用开发的公共能力做了非常好的封装,提供了简单而强大的 API,让应用开发者无限的拓展应用的分布式场景,给用户带来强大的分布式体验。