订单调度方法、装置、计算机设备及存储介质与流程

文档序号:37557776发布日期:2024-04-09 17:49阅读:12来源:国知局
订单调度方法、装置、计算机设备及存储介质与流程

本技术涉及数据处理,具体涉及订单调度方法、装置、计算机设备及存储介质。


背景技术:

1、随着互联网技术的不断发展以及服务意识的不断提高,服务者履约调度作为根据用户订单需求和实际作业场景,对服务者行程进行合理分配和安排为用户提供上门服务的技术,被广泛应用到日常生活的方方面面。

2、传统的服务者履约调度实现方式是服务平台依据业务人员配置的各种业务场景下的参数,将用户下发的订单随机派给某个服务者,并将该服务者可以上门服务的时间推荐给用户,以供用户选择订单的预约时间。然而,用户在向服务平台下发不同等级的订单时,会希望高级订单可以尽早被履约。不同等级的订单所需服务的存在差异,通常情况下,高等级的订单的服务时长会更长,并且优先级更高。因此在服务平台进行订单调度时,服务者的服务时间和订单时间的调度,是服务平台中比较关键的技术。由于高级订单所需的服务时间更长,并且优先级更高,因此如何协调不同等级订单时间,如何让高级订单更早地被履约,是目前服务平台比较关键的技术研究方向。

3、但传统的调度方案往往无法解决订单之间的冲突问题,尤其是高级订单与低级订单之间时间冲突问题。因此,如何合理安排订单以使高级订单可以被优先履约,已成为目前亟需解决的技术问题。


技术实现思路

1、有鉴于此,本技术提供了一种订单调度方法、装置、计算机设备及存储介质,以解决如何合理安排订单以使高级订单可以被优先履约的问题。

2、第一方面,本技术提供了一种订单调度方法,该方法包括:

3、获取目标高级订单的目标作业时长、各服务者的工作时间以及各服务者各已接订单的已预约时间,已预约时间为订单中用户要求服务的具体时间范围;

4、对于每个服务者,以工作时间中的起始时间为当前时间点,预设时间间隔为步长,循环执行以下步骤s11至步骤s15,直至得到候选预约时间或到达工作时间中的结束时间:

5、步骤s11,将当前时间点指示时间增加目标作业时长之后得到的时间范围确定为目标高级订单的待选预约时间;

6、步骤s12,根据待选预约时间以及各已预约时间,从各已接订单中筛选目标高级订单的至少一个冲突订单;

7、步骤s13,判断目标高级订单能否挤占各冲突订单;

8、步骤s14,若不能挤占各冲突订单,则根据预设时间间隔以及当前时间点,确定下一个时间点,并将确定的时间点作为当前时间点,返回执行步骤s11;

9、步骤s15,若能挤占各冲突订单,则将待选预约时间确定为候选预约时间;

10、从所有候选预约时间中选择最优预约时间,并将最优预约时间推荐至下发目标高级订单的用户终端。

11、上述技术方案中,对于高级订单可以从每个服务者的工作时间中的起始时间开始遍历,为高级订单确定一个尽可能可以早开始的待选预约时间,并确定高级订单是否可以挤占待选预约时间与中其自身冲突的冲突订单,如果不可以挤占则重新为高级订单确定时间晚于上一个待选预约时间的待选预约时间,如果可以挤占则将待选预约时间确定为高级订单的候选预约时间,并从所有候选预约时间出找出最优预约时间推荐至用户终端,合理安排订单使高级订单挤占其他订单进而使高级订单可以被优先履约,提高了用户的选时成功率,还使服务平台可以尽可能多的安排订单给服务者提高了服务平台的效益。还避免业务人员配置各种业务参数,降低了人力成本。另外,本技术实施例中可以对于多个服务者并行确定服务者的候选预约时间进而确定高级订单的最优预约时间,实现同时多任务进行多服务者的计算,缩短计算时间,提升计算效率。

12、在一些可选的实施例中,判断目标高级订单能否挤占各冲突订单,包括:

13、获取各冲突订单的等级以及工作时长;

14、若各冲突订单的等级均小于目标高级订单的等级,则将各冲突订单挂起,并获取各服务者在预设时间范围内的空闲时间集合;

15、从各空闲时间集合中筛选出待选空闲时间,得到待选空闲时间集合,待选空闲时间的起始时间位于待选预约时间的结束时间之后;

16、对于每一个冲突订单,根据工作时长,从待选空闲时间集合中确定冲突订单的改约后时间;

17、判断所有改约后时间的数量是否等于所有冲突订单的数量;

18、若数量相等,则确定能挤占各冲突订单;

19、若数量不相等,则确定不能挤占各冲突订单。

20、上述技术方案中,只有在各冲突订单的等级均小于目标高级订单的等级时,才能将各冲突订单挂起,并在获取的各服务者的空闲时间集合中筛选起始时间位于待选预约时间的结束时间之后的待选空闲时间,从而将各冲突订单的改约后时间自动确定在待选预约时间之后,无需人工判断各冲突订单具体的改约后时间,提高冲突订单的改时效率。并在所有改约后时间的数量等于所有冲突订单的数量时,才确定目标高级订单能挤占各冲突订单,保证目标高级订单可以挤占走所有冲突订单,并保证被挤占冲突订单被安排合理了改约后时间,实现了所有订单在后续可以被按时履约的前提下,等级越高的订单可以优先履约的目的,进而提升了用户选时成功率。

21、在一些可选的实施例中,对于每一个冲突订单,根据工作时长,从待选空闲时间集合中确定冲突订单的改约后时间,包括:

22、以待选空闲时间集合中的各待选空闲时间为节点,构建最大堆,最大堆中父节点上的待选空闲时间的时长大于或等于子节点上的待选空闲时间的时长;

23、循环执行以下步骤s21至步骤s25,直至所有冲突订单都遍历完毕:

24、步骤s21,从最大堆中提取目标待选空闲时间,目标待选空闲时间所在节点位于最大堆的堆顶;

25、步骤s22,判断目标待选空闲时间的时长是否大于或等于当前冲突订单的工作时长,当前冲突订单为在所有冲突订单中遍历到的任一个订单;

26、步骤s23,若目标待选空闲时间的时长大于或等于当前冲突订单的工作时长,则根据当前冲突订单的工作时长,从目标待选空闲时间中确定当前冲突订单的改约后时间;

27、步骤s24,将目标待选空闲时间从最大堆中删除,并更新最大堆,将下一个冲突订单作为当前冲突订单,返回执行步骤s21;

28、步骤s25,若目标待选空闲时间的时长小于当前冲突订单的工作时长,则确定当前冲突订单的已预约时间不可更改,并将下一个冲突订单作为当前冲突订单,返回执行步骤s22。

29、上述技术方案中,以待选空闲时间集合中的各待选空闲时间为节点,构建最大堆,利用堆排序选出待选空闲时间集合中时长最大的目标待选空闲时间的同时,相较于传统的处理方法降低了排序的复杂度,提高了冲突订单的改约后时间的确定效率,从而提高确定高级订单的最优预约时间的效率。而且,只有在目标待选空闲时间的时长大于或等于当前冲突订单的工作时长时才会确定改约后时间,并将目标待选空闲时间所在节点从最大堆中删除更新最大堆,避免一个待选空闲时间被多个冲突订单同时竞争以及冲突订单的改约后时间安排不合理的情况。实现智能识别较目标高级订单等级较低的冲突订单的预设时间范围,并动态匹配冲突订单的较优的作业时间也即改约后时间,实现动态化调配。

30、在一些可选的实施例中,若不能挤占各冲突订单,在根据预设时间间隔以及当前时间点,确定下一个时间点,并将确定的时间点作为当前时间点之前,方法还包括:

31、将每一个已改冲突订单的当前预约时间修改为已改冲突订单在挂起之前的已预约时间,已改冲突订单为确定改约后时间的冲突订单,当前预约时间为改约后时间。

32、上述技术方案中,将每一个已改冲突订单的当前预约时间修改为该已改冲突订单在挂起之前的已预约时间,保证在目标高级订单不能挤占各冲突订单时,服务者的日程安排不会被打乱。

33、在一些可选的实施例中,在将各冲突订单挂起,并获取各服务者在预设时间范围内的空闲时间集合之前,方法还包括:

34、若存在至少一个冲突订单的等级大于或等于目标高级订单的等级,则确定不能挤占各冲突订单。

35、在一些可选的实施例中,从所有候选预约时间中选择最优预约时间,包括:

36、从所有服务者的所有候选预约时间中选出起始时间最早的候选预约时间作为目标候选预约时间;

37、若目标候选预约时间仅有一个,则将该目标候选预约时间确定为最优预约时间;

38、若有多个目标候选预约时间,对于每个目标候选预约时间,获取目标候选预约时间对应前序订单的订单完成时间与目标候选预约时间的起始时间之间的时间间隔,前序订单为目标候选预约时间对应服务者的已接订单中订单完成时间在目标候选预约时间的起始时间之前,且距离目标候选预约时间的起始时间最近的订单;

39、以各时间间隔为节点,构建最小堆,最小堆中父节点上的时间间隔小于或等于子节点上的时间间隔;

40、从最小堆中提取目标时间间隔,并将目标时间间隔对应目标候选预约时间确定为最优预约时间,目标时间间隔所在节点位于最小堆的堆顶。

41、上述技术方案中,利用每个候选预约时间对应前序订单的订单完成时间与候选预约时间的起始时间之间的时间间隔构建最小堆,实现以堆排序的方式快速选出所有时间间隔中的最小值,进而将最小的时间间隔也即目标时间间隔对应候选预约时间确定为最优预约时间,提高最优预约时间的选择效率的同时,还可以保证在所有候选预约时间对应服务者中选出可以最快进行服务的服务者,这样一来就可以给其他服务者分配其他订单,不仅可以实现高级订单挤占其他订单进而使高级订单可以被优先履约的目的,还可以尽可能多的给每个服务者合理安排订单,提高服务平台的效益。

42、在一些可选的实施例中,在判断目标高级订单能否挤占各冲突订单之前,方法还包括:

43、若未从各已接订单中筛选出目标高级订单的至少一个冲突订单,则将待选预约时间确定为候选预约时间。

44、第二方面,本技术提供了一种订单调度装置,装置包括:

45、获取模块,用于获取目标高级订单的目标作业时长、各服务者的工作时间以及各服务者各已接订单的已预约时间,已预约时间为订单中用户要求服务的具体时间范围;

46、确定模块,用于对于每个服务者,以工作时间中的起始时间为当前时间点,预设时间间隔为步长,循环执行以下步骤s11至步骤s15,直至得到候选预约时间或到达工作时间中的结束时间:

47、步骤s11,将当前时间点指示时间增加目标作业时长之后得到的时间范围确定为目标高级订单的待选预约时间;

48、步骤s12,根据待选预约时间以及各已预约时间,从各已接订单中筛选目标高级订单的至少一个冲突订单;

49、步骤s13,判断目标高级订单能否挤占各冲突订单;

50、步骤s14,若不能挤占各冲突订单,则根据预设时间间隔以及当前时间点,确定下一个时间点,并将确定的时间点作为当前时间点,返回执行步骤s11;

51、步骤s15,若能挤占各冲突订单,则将待选预约时间确定为候选预约时间;

52、选择模块,用于从所有候选预约时间中选择最优预约时间,并将最优预约时间推荐至下发目标高级订单的用户终端。

53、第三方面,本技术提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面任一实施例的订单调度方法。

54、第四方面,本技术提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面任一实施例的订单调度方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1