分布式任务调度平台在HarmonyOS底层实现Ability跨设备的组件管理、控制和访问,如图6-4所示。
图6-4 分布式任务调度能力
截至目前,分布式任务调度平台已经开放的功能包括:
· 全局查询:支持查询在相同组网下到底有哪些设备,这些设备是在线的还是离线的,等等。
· 启动和关闭:向开发者提供管理远程Ability的能力,即支持启动Page模板的Ability,以及启动、关闭Service和Data模板的Ability。
· 连接和断开连接:向开发者提供跨设备控制服务(Service和Data模板的Ability)的能力,开发者可以通过与远程服务连接及断开连接实现获取或注销跨设备管理服务的对象,达到和本地一致的服务调度。
· 迁移能力:向开发者提供跨设备业务的无缝迁移能力,开发者可以通过调用Page模板Ability的迁移接口将本地业务无缝迁移到指定设备中,打通设备间的壁垒。
· 轻量通信:可以通过远程对象的方式来实现设备之间的轻量通信。
图6-5所示的是一个全局查询的示意图。
图6-5 全局查询
全局查询可以分为两个维度:针对设备的查询以及针对Ability的查询。
针对设备的查询是指在相同组网下支持查询这个网络下到底有哪些设备,这些设备是在线的还是离线的,这个设备具备哪些Ability,等等。
针对Ability的查询是指查询到底哪些设备支持具体的特定功能。比如,当我们需要进行投屏的时候,可以查看周边哪些设备支持投屏功能。
图6-6所示的是一个启动和关闭的示意图。
图6-6 启动和关闭
跟PC不同,移动终端的一个短板在于其硬件资源和电池存在一定瓶颈,这决定了在为移动终端设计Ability时,这些Ability需要按需启动或者关闭。分布式任务调度平台提供了管理远程Ability的能力,即支持启动Page模板的Ability,以及启动、关闭Service和Data模板的Ability。
图6-7所示的是一个连接和断开连接的示意图。
图6-7 连接和断开连接
在连接到远程设备之后,就可以对设备进行一些列的操作了。操作完成之后,也可以断开连接。
图6-8所示的是一个轻量通信的示意图。
图6-8 轻量通信
轻量通信本质是指从RPC(Remote Procedure Call,远程过程调用)或者以消息的方式实现设备之间的通信。这使得设备在调用其他方法时跟调用本地方法类似。