1. 什么是调度算法
调度算法定义:根据系统的资源分配策略所规定的资源分配算法。
最早对于调度算法的讨论来自于操作系统的任务调度批处理,在大学的期间《操作系统》的课程上已经有所涉猎。关于常见的调度算法,过往的文章已经详细探讨过,见《常见的调度算法总结》
2. 调度算法目标
调度算法是为了达到一个较好的目标,如何来描述这个目标呢?
这里做一个通用化的描述,如下:
一个好的调度算法,要解决资源最优利用的问题。将需求和可用资源进行最优匹配,从而达到资源利用最大化。
3. 希望调度算法解决的问题
滴滴的调度是非常典型的调度场景,解决的是司机和乘客的匹配。见《关于滴滴智能调度的分析和思考》。
我们想要解决的问题是:通过中心调度,实现用户和小二的高效匹配。
『激活闲置资源、中心调度、高效匹配』是我们智能调度的核心。
4. 现有场景的调度模式抽象
调度模式抽象为三种:
(1)动态调度到人
目前接入场景:网商主动服务和网商IVR预约
(2) 静态调度到人(专属)
目前接入场景:VIP会员预约服务
(3) 调度到组
目前接入场景:安全主动服务
5. 调度算法设计
A. 动态调度到人(一)
适用场景:网商主动服务
特点:
1.优先满足高优先级任务。
2.同等优先级,优先处理最先产生的任务。
3.任务本身无时间要求
调度算法:
1. FPF高优先权调度算法
2. FCFS先到先服务调度算法
B. 动态调度到人(二)
适用场景:网商IVR预约服务
特点:
1.优先处理快到要求时间的任务。
2.要求时间相同,优先处理最先产生的任务。
3.任务本身有时间要求。
调度算法:
1. RCFS要求时间优先调度算法
2. FCFS先到先服务调度算法
C. 静态调度到人
适用场景:VIP专属预约服务
特点:
1.优先处理快到要求时间的任务。
2.要求时间相同,优先处理最先产生的任务。
3.任务本身有时间要求。
4.任务本身已经指定特定人员处理。
调度算法:
1. RCFS要求时间优先调度算法
2. FCFS先到先服务调度算法
D. 调度到组
适用场景:安全主动服务
特点:
1.优先处理快到要求时间的任务。
2.要求时间相同,优先处理最先产生的任务。
3.任务本身有时间要求。
4.只需要明确需要处理的任务,派发逻辑后置到业务系统。
调度算法:
1. RCFS要求时间优先调度算法
2. FCFS先到先服务调度算法
6. 调度带来的变化和价值
目前调度模式已经完成抽象,调度引擎实现模板化和组件化,详细的设计文档见《智能调度引擎设计文档》。
成形的调度算法在线上7*24小时进行自动调度,实时收集调度任务和空闲咨询进行调度。基于智能调度能力,带来的是一种全新的服务模式,将在后续的运营中进一步得到验证和推广。
智能调度带来的变化,主要包含以下三个方面:
1. 从现场来看,由无序到有序,对于现场话务和人力的管控将变得更加容易和有秩序。
2. 从人员利用来看,由分散到集中,全面提升服务人员的利用率。
3. 从服务模式来看,由被动变为主动,提供用户更加灵活的求助手段和更加自由的时间选择,提升用户对于服务的贴心感受。