分布式任务调度的核心价值主要体现在以下几个方面。
在HarmonyOS中,分布式任务调度平台是支持超级虚拟终端的关键技术和能力,提供针对多设备场景下的统一的组件管理能力。
图6-1展示了分布式任务调度平台在HarmonyOS中的地位。分布式任务调度平台助力超级虚拟终端实现两方面的能力互助:
(1)硬件能力,如在手机中玩游戏时,玩家将游戏画面切换到大屏电视上;
(2)软件能力,如在骑行过程中,骑手通过手表获取到手机所提供的地图定位服务。
图6-1 分布式任务调度平台在HarmonyOS中的地位
传统的跨设备软件开发是极其烦琐的,主要体现在以下几个方面。
(1)平台烦琐。目前,针对硬件而言,CPU处理器技术架构主要分为X86和ARM(Advanced RISC Machines)而针对操作系统而言,主流程的平台有Linux、MacOS、Windows、Android等。开发者不得不针对不同的平台进行兼容性开发,这带来了极大的开发难度和工作量。因此,有些软件厂商只针对部分平台推出软件,如微信聊天软件在Windows、MacOS、Android平台下就能提供丰富的功能,而在Linux平台下却没有对应的安装包。
(2)开发复杂。开发一个分布式系统本身是复杂的,需要考虑设备通信、序列化、事务、安全性、可用性等方面的内容,如果开发者需要自己从零开始构建一套分布式系统,则开发工作相当复杂。对此有兴趣的读者可以参阅笔者所著的《分布式系统常用技术及案例分析》。
为了降低开发者开发跨设备的应用的难度,分布式任务调度平台提供了跨设备软件访问的系统服务。借助分布式任务调度平台,开发者在调用跨设备的服务时,实际上与调用本地服务没有差别。
图6-2展示了跨设备之间的软件访问。
图6-2 跨设备之间的软件访问
分布式任务调度既支持HarmonyOS的富设备,也支持HarmonyOS的轻设备;除此之外,通过HarmonyOS分布式中间件,还能支持其他OS的任务调度。
图6-3展示了HarmonyOS与HarmonyOS设备之间以及HarmonyOS与其他OS之间的任务调度。
图6-3 HarmonyOS与HarmonyOS设备之间以及与其他OS之间的任务调度