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