排班表评估方法、装置、计算机设备和存储介质与流程

文档序号:25039913发布日期:2021-05-14 14:13阅读:48来源:国知局
排班表评估方法、装置、计算机设备和存储介质与流程

1.本申请涉及数据处理技术领域,特别是涉及一种排班表评估方法、装置、计算机设备和存储介质。


背景技术:

2.物流运输中,需要提前针对待运输的任务制定排班表,以保证任务执行的有序性和可靠性。目前,通常是司机组长人工制定排班表,需要耗费大量的人力物力,存在排班效率较低的问题,尤其是在任务量较多、且变动较频繁时,进一步降低了排班效率。由此,通过排班工具进行自动排班和智能调度来提高排班效率是必然趋势。但是,如何验证排班工具自动生成的模型排班表与司机组长制定的司机排班表的相似程度,以说服司机组长接受排班工具生成的模型排班表,进而实现模型排班表的推广和落地是值得关注的问题。
3.目前,通常是通过匈牙利算法来评估模型排班表和司机排班表之间的相似度。但是,该种评估方式涉及多层循环嵌套,需要耗费较长的等待时间,存在评估效率低的问题。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够评估效率的排班表评估方法、装置、计算机设备和存储介质。
5.一种排班表评估方法,所述方法包括:
6.获取模型排班表和司机排班表;所述模型排班表和所述司机排班表包括相同的任务标识;
7.通过所述任务标识,将所述模型排班表中的模型车包号与所述司机排班表中的司机车包号进行关联;
8.确定每个模型车包号相关联的司机车包号,以及相关联的每个司机车包号对应的任务数,作为匹配任务数;
9.根据各所述模型车包号对应的最大匹配任务数和排班表任务总数,评估所述模型排班表和所述司机排班表的排班表相似度。
10.在其中一个实施例中,所述获取模型排班表和司机排班表,包括:
11.当满足排班表评估触发条件时,获取预存储的司机排班表;
12.确定所述司机排班表对应的区域信息;
13.获取与所述区域信息对应的模型排班表。
14.在其中一个实施例中,所述获取模型排班表和司机排班表之后,所述方法还包括:
15.遍历所述模型排班表确定尚未与模型车包号关联的第一任务标识,将预设模型车包号确定为所述第一任务标识对应的模型车包号;
16.遍历所述司机排班表确定尚未与司机车包号关联的第二任务标识,将预设司机车包号确定为所述第二任务标识对应的司机车包号。
17.在其中一个实施例中,所述根据各所述模型车包号对应的最大匹配任务数和排班
表任务总数,评估所述模型排班表和所述司机排班表的排班表相似度,包括:
18.筛选每个模型车包号对应的最大匹配任务数;
19.确定所述模型排班表对应的排班表任务总数;
20.根据各所述最大匹配任务数的和值与所述排班表任务总数,确定所述模型排班表与所述司机排班表的排班表相似度。
21.在其中一个实施例中,所述根据各所述模型车包号对应的最大匹配任务数和排班表任务总数,评估所述模型排班表和所述司机排班表的排班表相似度之后,所述方法还包括:
22.根据每个模型车包号对应的最大匹配任务数与模型车包任务数,确定相应的车包相似度;
23.将所述车包相似度、所述排班表相似度、所述模型排班表和所述司机排班表推送至终端进行展示。
24.在其中一个实施例中,所述排班表评估方法通过排班表评估工作流实现;所述排班表评估工作流的配置步骤,包括:
25.获取工作流信息;
26.配置所述工作流信息对应的工作流节点;
27.部署所述工作流节点的运行程序;
28.配置所述工作流信息对应的全局调度参数,得到已配置的排班表评估工作流。
29.一种排班表评估装置,所述装置包括:
30.获取模块,用于获取模型排班表和司机排班表;所述模型排班表和所述司机排班表包括相同的任务标识;
31.关联模块,用于通过所述任务标识,将所述模型排班表中的模型车包号与所述司机排班表中的司机车包号进行关联;
32.匹配模块,用于确定每个模型车包号相关联的司机车包号,以及相关联的每个司机车包号对应的任务数,作为匹配任务数;
33.评估模块,用于根据各所述模型车包号对应的最大匹配任务数和排班表任务总数,评估所述模型排班表和所述司机排班表的排班表相似度。
34.在其中一个实施例中,所述排班表评估方法通过排班表评估工作流实现;所述装置还包括:
35.配置模块,用于获取工作流信息;配置所述工作流信息对应的工作流节点;部署所述工作流节点的运行程序;配置所述工作流信息对应的全局调度参数,得到已配置的排班表评估工作流。
36.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述各个实施例中所述的排班表评估方法的步骤。
37.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述各个实施例中所述的排班表评估方法的步骤。
38.上述排班表评估方法、装置、计算机设备和存储介质,通过模型排班表和司机排班表中相同的任务标识,将模型排班表中的模型车包号与司机排班表中的司机车包号关联起来,并以模型车包号为基准,确定每个模型车包号所关联的司机车包号和每个司机车包号
对应的匹配任务数,进而根据每个模型车包号对应的最大匹配任务数与模型排班表对应的排班表任务总数,评估模型排班表和司机排班表之间的排班表相似度。这样,基于任务标识将模型车包号与司机车包号相关联,并基于各模型车包号与相关联的司机车包号的匹配程度,确定模型排班表和司机排班表的排班表相似度,在保证评估准确性的情况下,能够提高评估效率。
附图说明
39.图1为一个实施例中排班表评估方法的应用场景图;
40.图2为一个实施例中排班表评估方法的流程示意图;
41.图3为一个实施例中配置排班表评估工作流的流程示意图;
42.图4为另一个实施例中排班表评估方法的流程示意图;
43.图5为一个实施例中排班表评估工作流的流程示意图;
44.图6为一个实施例中排班表评估装置的结构框图;
45.图7为一个实施例中计算机设备的内部结构图。
具体实施方式
46.为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
47.本申请提供的排班表评估方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。服务器104获取携带有相同任务标识的模型排班表和任务排班表,通过任务标识将模型排班表中的模型车包号和司机排班表中的司机车包号相关联,确定每个模型车包号所关联的司机车包号和每个司机车包号对应的匹配任务数,并根据各模型车包号对应的最大匹配任务数和排班表任务总数,评估模型排班表和司机排班表之间的排班表相似度。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
48.在一个实施例中,如图2所示,提供了一种排班表评估方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
49.s202,获取模型排班表和司机排班表;模型排班表和司机排班表包括相同的任务标识。
50.其中,模型排班表是排班设备根据待分配的任务数据自动生成的排班表,具体可以是排班设备通过排班工具自动生成的排班表。排班设备具体可以是终端或服务器。排班工具是用于自动生成模型排班表的计算机软件,比如排班系统、排班平台或排班客户端等。任务数据包括资源信息、任务标识、每个任务标识对应的归属信息和需求信息等,归属信息比如任务归属网点、任务归属片区和任务归属大区等,需求信息也即任务内容,比如任务的开始时间、结束时间、实际使用吨位等,资源信息是指任务的执行方,比如车牌号和司机标识等。基于待分配的任务数据生成排班表的过程,就是确定每个任务标识对应的资源信息,也就是确定执行每个任务的车牌号和/或司机标识等。
51.对于待分配的任务数据中的多个任务标识,排班设备基于各任务标识对应的归属信息和需求信息,将该多个任务标识进行打包处理,得到多个任务包,并确定每个任务包与资源信息所指定的车牌号和/或司机标识之间的对应关系,以将该多个任务标识所对应的任务分配至资源信息所指定的车辆和司机。一个任务包与一个车牌号相对应,该任务包内的各个任务均分配给该车牌号对应的车辆,由此,一个任务包可通过一个车包号来标识。车包号具体可以是由数字、字母和符号等中的至少一种组成的字符串。司机排班表是司机组长基于待分配的任务数据人工制定的排班表,也可理解为应用排班表。任务标识用于唯一标识任务,是由数字、字母和符号等字符中的至少一种组成的字符串,具体可以是任务编号。
52.举例说明,假设待分配的任务数据中包括任务1至3共3个归属信息相同的任务,任务1对应的开始时间为2019年10月1日,结束时间是2019年10月2日,实际使用吨位为1吨,任务2对应的开始时间为2019年10月3日,结束时间是2019年10月4日,实际使用吨位为1.2吨,任务3对应的开始时间为2019年10月3日,结束时间是2019年10月4日,实际使用吨位为5吨,基于各任务对应的需求信息中的开始时间、结束时间和实际使用吨位,可将任务1和2进行打包,生成相应的车包号,并将该两个任务分配至相同车辆。
53.可以理解,一个任务包内的所有任务会分配至同一车辆,由该车辆依次完成运输任务,故一个任务包内任意两个任务各自对应的任务时间段互不交叉或重叠,且一个任务包内各个任务所对应的实际使用吨位尽可能接近。其中,任务时间段由任务的开始时间和结束时间确定。由此,基于任务的开始时间和结束时间,确定任务2和任务3是不能打包至同一任务包的。进一步地,由于任务2与任务1各自对应的实际使用吨位,相较于任务1与任务3各自对应的实际使用吨位更接近,故将任务1与任务2进行打包。指的说明的是,该例子仅作为示例,并不用于具体限定任务的打包依据,比如,按照其他打包依据也可将任务1与任务3进行打包。
54.具体地,服务器获取携带有相同任务标识的模型排班表和司机排班表。服务器可在本地预存储模型排班表和司机排班表,以便于从本地获取待评估的模型排班表和相应的司机排班表。服务器也可在满足排班表评估触发条件时,动态从预配置的大数据平台或共享数据库中拉取模型排班表和司机排班表。
55.举例说明,服务器所获取到的模型排班表和司机排班表均包括任务1至任务8共8个任务各自对应的任务标识。
56.在一个实施例中,服务器获取携带相同任务标识的初始模型排班表和初始司机排班表,并对所获取到的初始模型排班表进行数据清洗处理,得到待评估的模型排班表,以及对所获取到的初始司机排班表进行数据清洗处理,得到用于评估的司机排班表。数据清洗处理包括归一化处理、去重处理、异常值插补和缺失值处理,整理匹配属性信息等。
57.在一个实施例中,服务器通过预先配置的抽数语句,抽取包括关键字段数据的原始数据形成嵌套内表,并在嵌套内表外层,对关键字段数据进行数据清洗处理,并将处理得到的数据存储至数据库中的临时表中。当进行排班表数据的评估时,从该临时表中获取预存储的数据,并得到相应的模型排班表和司机排班表。
58.在一个实施例中,排班设备通过已训练好的排班模型确定模型排班表。具体地,排班工具将待分配的任务数据作为输入特征输入已训练好的排班模型进行预测,得到模型排
班表。排班设备预先获取包括目标任务数据和目标模型排班表的训练样本集,将目标任务数据作为输入特征,将相应的目标模型排班表作为期望的输出特征进行模型训练,得到已训练好的排班模型。其中,排班模型具体可以是根据训练样本集,按照预设的机器学习算法进行模型训练得到的。预设的机器学习算法比如深度学习和神经网络,在此不作具体限定。
59.在一个实施例中,排班设备按照预设排班算法,根据待分配的任务数据自动生成模型排班表。对于不同的待分配的任务数据,排班设备按照该相同的预设排班算法,进行相同的排班过程得到相应的排班表,故该排班过程可理解为通过预设排班算法所对应的排班模型进行自动排班,并将所得到的排班表确定为模型排班表。预设排班算法比如自适应变领域元启发式算法。
60.在一个实施例中,模型排班表中包括任务标识、开始时间、结束时间、实际使用吨位、任务归属网点、任务归属片区、任务归属大区、车牌号和模型车包号等。相应地,司机排班表中包括任务标识、开始时间、结束时间、实际使用吨位、任务归属网点、任务归属片区、任务归属大区、车牌号和司机车包号等。在本实施例中,主要基于每个模型车包号对应的任务标识与相应司机车包号对应的任务标识之间的匹配度,评估模型排班表与司机排班表之间的相似度。
61.s204,通过任务标识,将模型排班表中的模型车包号与司机排班表中的司机车包号进行关联。
62.其中,模型车包号是排班设备对待分配的任务数据中的任务进行自动打包形成任务包时,自动生成并分配给各任务包的车包号。司机车包号是司机组长对待分配的任务数据中的任务进行人工触发打包形成任务包时,人工触发生成并分配给各任务包的车包号。
63.具体地,模型排班表中一个模型车包号对应一个或多个任务标识,相应地,司机排班表中一个司机车包号也对应一个或多个任务标识。模型排班表与司机排班表所携带的任务标识相同,而模型排班表与司机排班表中任务标识的打包情况可能不同。在模型排班表中对应于相同模型车包号的多个任务标识,在司机排班表中可能对应不同的司机车包号。相应地,在模型排班表中对应于不同模型车包号的多个任务标识,在司机排班表中可能对应相同的司机车包号。服务器将模型排班表中的任务标识与司机排班表中的任务标识进行匹配,并将相匹配的任务标识对应的模型车包号与司机车包号进行关联。
64.在一个实施例中,服务器以模型排班表为参照组,司机排班表为对照组,并以任务标识为主键,将模型排班表与司机排班表进行左联匹配,以建立模型排班表中的模型车包号与司机排班表中的司机车包号之间的关联关系。
65.举例说明,模型排班表和司机排班表中包括任务1至任务8共8个任务。模型排班表中,任务1至3均与模型车包号1对应,任务4至8均与模型车包号2对应。司机排班表中,任务1和2均与司机车包号1对应,任务3与司机车包号2对应,任务4至6均与司机车包号3对应,任务7和8均与司机车包号4对应。
66.由此可见,虽然模型排班表和司机排班表中的任务标识相同,但是模型排班表与司机排班表中任务标识的打包情况不同,在模型排班表中将任务1、任务2和任务3打包成一个任务包,而司机排班表中将该三个任务标识打包成两个任务包。通过任务标识,可将模型车包号1分别与司机车包号1和2进行关联,并将模型车包号2分别与司机车包号3和4进行关联。
67.在一个实施例中,模型排班表中的模型车包号,与司机排班表中的司机车包号相互独立,模型车包号1与司机车包号1可以相同也可以不同。在一个实施例中,由于一个车包号对应的任务包内的所有任务分配至同一车辆,故车包号与车辆号相对应。而在本实施例中,服务器主要基于任务包的相似度来评估模型排班表与司机排班表的相似度,模型排班表中的任务打包情况与司机排班表中的任务打包情况越相似,表明模型排班表与司机排班表的相似度越高。服务器可基于任务包的分配情况来进一步评估模型排班表与司机排班表的相似度,也就是不仅考虑任务包的相似度,还考虑相似度较高的任务包是否分配至相同的车辆,来确定模型排班表与司机排班表的相似度。
68.s206,确定每个模型车包号相关联的司机车包号,以及相关联的每个司机车包号对应的任务数,作为匹配任务数。
69.具体地,服务器通过任务标识将模型排班表中的模型车包号与司机排班表中的司机车包号进行关联后,以模型排班表中的每个模型车包号为基准,按照所建立的关联关系,确定每个模型车包号相关联的司机车包号。对于每个模型车包号,服务器分别统计该模型车包号相关联的每个司机车包号所对应的任务数,并将该模型车包号相关联的每个司机车包号所对应的的任务数,确定为该模型车包号对应的匹配任务数。
70.在一个实施例中,服务器将模型车包号相关联的每个司机车包号所对应的任务数,确定为该模型车包号所对应的匹配任务数。由此,每个模型车包号对应的匹配任务数的数量,由该模型车包号所关联的司机车包号的数量确定。比如模型车包号与3个司机车包号相关联,则该模型车包号对应有3个匹配任务数。匹配任务数的数量越小,表明对于该模型车包号对应的任务标识,在模型排班表与司机排班表中的打包情况越相似。
71.在一个实施例中,服务器以模型排班表中的每个模型车包号对应的任务标识为一个局部。对于每个局部,服务器计算该局部对应的模型车包号,在司机排班表中所匹配到的每个司机车包号对应的任务数,以确定每个局部下,每个司机车包号对应的任务数,作为相应模型车包号对应的一个或多个匹配任务数。
72.基于上述例子进行举例说明,如下表所示,以模型车包号1对应的任务1至3为局部1,以模型车包号2对应的任务4至8为局部2。通过任务标识,在局部1下,将模型车包号1与司机车包号1和2相关联,并确定司机车包号1和2对应的任务数分别为2和1,在局部2下,将模型车包号2与司机车包号3和4相关联,并确定司机车包号3和4对应的任务数分别为3和2。由此,模型车包号1对应的匹配任务数分别为2和1,模型车包号2对应的匹配任务数分别为3和2。
[0073][0074]
s208,根据各模型车包号对应的最大匹配任务数和排班表任务总数,评估模型排班表和司机排班表的排班表相似度。
[0075]
其中,最大匹配任务数是指模型车包号对应的匹配任务数中最大的匹配任务数。排班表任务总数是指模型排班表或司机排班表中的任务总数。排班表相似度是指模型排班表与司机排班表的相似程度,具体可以是指模型排班表中的任务打包情况,与司机排班表最后那个的任务打包情况的相似程度。
[0076]
具体地,当确定每个模型车包号对应的匹配任务数后,服务器基于所确定的匹配任务数确定每个模型车包号对应的最大匹配任务数,并基于每个模型车包号对应的最大匹配数和模型排班表对应的排班表任务总数,计算模型排班表与司机排班表之间的排班表相似度。
[0077]
在一个实施例中,对于每个模型车包号,服务器根据该模型车包号对应的最大匹配任务数和模型车包任务数,确定该模型车包号对应的车包相似度。服务器根据模型排班表中每个模型车包号对应的车包相似度,确定模型排班表与司机排班表之间的排班表相似度。服务器具体可对各模型车包号对应的车包相似度求平均,并将计算得到的车包相似度均值确定为排班表相似度。求平均具体可以是算术平均或加权平均。
[0078]
基于上述例子进行举例说明,模型车包号1对应的匹配任务数分别为2和1,则最大匹配任务数为2,模型车包号1对应的模型车包任务数3,则模型车包号1对应的车包相似度为2/3。相应地,模型车包号2对应的匹配任务数分别为3和2,则最大匹配任务数为3,模型车包号2对应的模型车包任务数5,则模型车包号2对应的车包相似度为3/5。由此,模型排班表和司机排班表的排班表相似度为a*2/3+b*3/5。其中,a和b为相应模型车包号对应的权重,可自定义。
[0079]
在一个实施例中,服务器根据各模型车包号对应的最大匹配任务数,确定模型排班表对应的匹配任务总数,并根据该匹配任务总数和排班表任务总数,计算模型排班表和司机排班表的排班表相似度。
[0080]
基于上述例子进行举例说明,模型车包号1对应的最大匹配任务数为2,模型车包号2对应的最大匹配任务数为3,排班表任务总数为8。由此,模型排班表对应的匹配任务总数为模型车包号1和2各自对应的最大匹配任务数之和,即为5,故模型排班表和司机排班表的排班表相似度为5/8。在一个实施例中,服务器在模型排班表对应的每个局部下,确定任务数最多的司机车包号与该司机车包号对应的任务数,并将该任务数确定为该局部对应的模型车包号所对应的最大匹配任务数。
[0081]
在一个实施例中,排班表相似度用于量化司机组长制定的司机排班表,与排班模型自动生成的模型排班表的相似程度或吻合程度。排班模型是基于已有的多个任务数据和司机组长针对各任务数据制定的司机排班表,预先进行模型训练得到的。排班表相似度越高,表明排班模型生成的模型排班表越可靠。比如排班表相似度为85%时,表明排班模型生成的模型排班表学习了85%的司机组长制定的司机排班表,也就是说排班模型生成的模型排班表以85%的概率可以替代司机组长制定的司机排班表。由此,基于排班表相似度能够说服司机组长接受排班模型自动生成的模型排班表,从而能够减少司机组长的工作量。可以理解,若排班模型推广之后,可通过优化排班模型的排班策略来提升车辆资源的使用效率。
[0082]
在一个实施例中,当排班表相似度小于预设相似度阈值时,服务器可根据各模型车包号对应的车包相似度,分析导致排班表相似度较低的原因,比如直接定位车包相似度
较低的模型车包号。
[0083]
上述排班表评估方法,通过模型排班表和司机排班表中相同的任务标识,将模型排班表中的模型车包号与司机排班表中的司机车包号关联起来,并以模型车包号为基准,确定每个模型车包号所关联的司机车包号和每个司机车包号对应的匹配任务数,进而根据每个模型车包号对应的最大匹配任务数与模型排班表对应的排班表任务总数,评估模型排班表和司机排班表之间的排班表相似度。这样,基于任务标识将模型车包号与司机车包号相关联,并基于各模型车包号与相关联的司机车包号的匹配程度,确定模型排班表和司机排班表的排班表相似度,在保证评估准确性的情况下,能够提高评估效率。
[0084]
在一个实施例中,步骤s202包括:当满足排班表评估触发条件时,获取预存储的司机排班表;确定司机排班表对应的区域信息;获取与区域信息对应的模型排班表。
[0085]
其中,排班表评估触发条件是用于触发排班表评估操作的条件,具体可以是当前时间与预设的排班表评估触发时间一致,或者,接收到终端发送的排班表评估指令,或者,检测到更新的模型排班表和/或司机排班表等。区域信息可以是指任务归属网点和任务归属片区等。
[0086]
具体地,当满足排班表评估触发条件时,服务器获取预存储的司机排班表,并根据所获取到的司机排班表确定该司机排班表对应的区域信息。服务器将所确定的区域信息与各模型排班表进行匹配,以获取该区域信息所对应的模型排班表。
[0087]
在一个实施例中,司机排班表和模型排班表存储于不同的数据库,比如分别存储于第一数据库和第二数据库。当满足排班表评估触发条件时,服务器从第一数据库中获取司机排班表,并根据该司机排班表对应的区域信息,从第二数据库中获取与该区域信息对应的模型排班表。
[0088]
在一个实施例中,当满足排班表评估触发条件时,服务器获取多个待评估的模型排班表和每个模型排班表对应的司机排班表,并按照本申请一个或多个实施例中提供的排班表评估方法,评估每个模型排班表和相应司机排班表之间的排班表相似度。
[0089]
在一个实施例中,当存在任务标识和区域信息均相同的多个司机排班表时,服务器从该多个司机排班表中选取时间最近的司机排班表。相应地,当存在任务标识和区域信息均相同的多个模型排班表时,服务器从该多个模型排班表中选取时间最近的模型排班表。这样,对时间最近的模型排班表和司机排班表进行相似度评估,体现了评估时效性,能够提高评估准确性。
[0090]
上述实施例中,获取区域信息相同的司机排班表和模型排班表,并进行相似度评估,能够提高评估的准确性。
[0091]
在一个实施例中,步骤s202之后,上述排班表评估方法还包括:遍历模型排班表确定尚未与模型车包号关联的第一任务标识,将预设模型车包号确定为第一任务标识对应的模型车包号;遍历司机排班表确定尚未与司机车包号关联的第二任务标识,将预设司机车包号确定为第二任务标识对应的司机车包号。
[0092]
具体地,服务器在获取到待评估的模型排班表与司机排班表后,遍历所获取到的模型排班表,以确定该模型排班表中尚未与模型车包号相关联的任务标识,作为第一任务标识,并将预设模型车包号确定为该第一任务标识对应的模型车包号,以建立第一任务标识与模型车包号之间的关联关系。相应地,服务器遍历所获取到的司机排班表,以确定该司
机排班表中尚未与司机车包号相关联的任务标识,作为第二任务标识,并将预设司机车包号确定为该第二任务标识对应的司机车包号,以建立第二任务标识与司机车包号之间的关联关系。
[0093]
在一个实施例中,模型排班表中尚未与模型车包号相关联的任务标识,表明该任务标识对应的任务尚未被分配至任一车辆,通过建立该任务标识与模型车包号的关联关系,将该任务标识对应的任务分配至该模型车包号对应的车辆。
[0094]
在一个实施例中,预设模型车包号与预设司机车包号可以相同,比如均为“00”。服务器将预设模型车包号与预设司机车包号各自对应的任务分配至相同车辆,并将预设模型车包号与预设司机车包号分别与预设车牌号相关联。
[0095]
上述实施例中,将模型排班表中尚未分配车辆的任务对应的任务标识,与预设模型车包号相关联,并将司机排班表中尚未分配车辆的任务对应的任务标识,与预设司机车包号相关联,以便于针对每个任务标识均能建立模型车包号与司机车包号之间的关联关系,这样,在基于模型车包号与司机车包号之间的关联关系,评估模型排班表与司机排班表之间的班表相似度时,能够提高评估的准确性。
[0096]
在一个实施例中,步骤s208包括:筛选每个模型车包号对应的最大匹配任务数;确定模型排班表对应的排班表任务总数;根据各最大匹配任务数的和值与排班表任务总数,确定模型排班表与司机排班表的排班表相似度。
[0097]
具体地,对于模型排班表中的每个模型车包号,服务器将该模型车包号对应的匹配任务数进行比较,以筛选该模型车包号对应的最大匹配任务数,并对各模型车包号对应的最大匹配任务数求和,得到各最大匹配任务数的和值。服务器确定模型排班表或司机排班表对应的排班表任务总数,并根据各最大匹配任务数的和值与排班表任务总数,按照预设映射关系确定模型排班表与司机排班表的排班表相似度。预设映射关系比如,排班表相似度=各最大匹配任务数的和值/排班表任务总数*100%。
[0098]
在一个实施例中,服务器可统计模型排班表或司机排班表中的任务标识数量,得到排班表任务总数。服务器也可根据模型排班表或司机排班表直接获取相应的排班表任务总数。
[0099]
在一个实施例中,每个模型车包号对应的最大匹配任务数,可理解为局部最大匹配任务数。基于各个局部最大匹配任务数得到模型排班表对应的匹配任务总数,并根据匹配任务总数和排班表任务总数确定排班表相似度。
[0100]
上述实施例中,每个模型车包号对应的最大匹配任务数,能够反映该模型车包号所对应的局部下任务打包情况的相似程度,最大匹配任务数与模型车包号对应的模型车包任务数越接近,表明相应局部的任务打包情况越相似。由此,基于每个局部的最大匹配任务数和排班表任务总数,来整体评估模型排班表与司机排班表的排班表相似度,在保证评估准确性的情况下,能够提高评估效率。
[0101]
在一个实施例中,步骤s208之后,上述排班表评估方法还包括:根据每个模型车包号对应的最大匹配任务数与模型车包任务数,确定相应的车包相似度;将车包相似度、排班表相似度、模型排班表和司机排班表推送至终端进行展示。
[0102]
其中,模型车包任务数是指一个模型车包号对应的任务总数,也就是指一个模型车包号对应的任务包所包括的任务总数。车包相似度是指每个模型车包号对应的局部下,
模型排班表与司机排班表中任务打包情况的相似程度。
[0103]
具体地,服务器统计每个模型车包号对应的模型车包任务数,并根据每个模型车包号对应的最大匹配任务数和模型车包任务数,按照指定映射关系确定该模型车包号对应的车包相似度。服务器将每个模型车包号对应的车包相似度、模型排班表和该模型排班表对应的排班表相似度,以及相应司机排班表推送至终端,以便于终端基于所接收到的车包相似度、排班表相似度、模型排班表和司机排班表进行展示。
[0104]
在一个实施例中,服务器将每个模型车包号对应的车包相似度,以及模型排班表和司机排班表之间的排班表相似度,存储至指定表中。指定表具体可以是专门用于存储车包相似度和排班表相似度等结果数据的数据表。当满足数据推送条件时,服务器从指定表中获取每个模型车包号对应的车包相似度,以及模型排班表和司机排班表之间的排班表相似度,并推送至终端。服务器还可获取相应的模型排班表和司机排班表,并将模型排班表、司机排班表、车包相似度和排班表相似度一并推送至终端。
[0105]
在一个实施例中,车包相似度可理解为车包吻合率,相应地,排班表相似度可理解为排班表吻合率。
[0106]
在一个实施例中,当满足数据推送条件时,服务器具体可通过etl(extraction-transformation-loading,数据仓库技术)方式进行数据推送。服务器可通过etl推送将数据推送至指定mysql库表进行存储。通过etl推送的数据包括但不限于是模型排班表、司机排班表、车包相似度和排班表相似度。终端本地预配置有显示筛选条件和展示布局参数等,并按照显示筛选条件和展示布局参数进行初始化显示。当检测到显示触发操作时,终端根据所检测到的显示触发操作,按照预配置的数据源获取待显示的数据,并进行显示。终端具体可通过报表工具来获取并显示待显示的数据。
[0107]
在一个实施例中,若显示触发操作用于指定显示某个区域信息的排班表相似度趋势,终端则获取该区域信息对应的多个排班表相似度,并根据该多个排班表相似度显示该区域信息的排班表相似度趋势。若显示触发操作用于指定显示每日或每月的整体排班表相似度趋势,终端则获取各个区域信息对应的排班表相似度,并根据所获取到的排班表相似度,确定每日或每月的整体排班表相似度趋势。
[0108]
上述实施例中,将模型排班表、司机排班表、车包相似度和排班表相似度等数据推送至终端进行可视化展示,以便于在量化的基础上,直观比较模型排班表与司机排班表的排班表相似度,能够提高模型排班表的接受程度。
[0109]
在一个实施例中,上述排班表评估方法通过排班表评估工作流实现;排班表评估工作流的配置步骤,包括:获取工作流信息;配置工作流信息对应的工作流节点;部署工作流节点的运行程序;配置工作流信息对应的全局调度参数,得到已配置的排班表评估工作流。
[0110]
其中,工作流信息包括但不限于是工作流名称和所属项目队列等。工作流节点是指组成工作流的流程节点。一个工作流节点可理解为一个调度或任务,工作流可理解为包括多个调度或任务的调度集或任务集。全局调度参数是指工作流对应的调度参数,比如工作流的调度频次,运行时间、责任人和警报信息等。调度频次是指工作流的运行频次,比如每日运行,运行时间比如早上8点,警报信息比如运行失败时触发的短信或邮件警报。
[0111]
具体地,服务器获取工作流信息,并针对该工作流信息配置相应工作流所对应的
工作流节点。工作流节点包括公用工作流节点、并行工作流节点和依赖工作流节点,并行工作流节点之间不包含依赖关系,可并行执行,依赖工作流节点之间存在依赖关系,后一个依赖工作流节点的运行依赖于前一个依赖工作流节点的运行结果。服务器针对所配置的每个工作流节点分别部署相应的运行程序,通过运行该运行程序来实现相应工作流节点的处理逻辑。进一步地,服务器针对工作流信息对应的工作流配置相应的全局调度参数,得到已配置的排班表评估工作流,以便于通过该排班表评估工作流执行上述排班表评估方法。
[0112]
在一个实施例中,终端根据用户触发的登录操作登录hive(数据仓库工具)平台,检测用户录入或选取的工作流信息,并将所获取到的工作流信息发送至服务器。终端检测用户触发生成的工作流节点,并将所检测到的工作流节点及各工作流节点之间的节点关系推送至服务器,以便于服务器按照节点关系配置工作流对应的各工作流节点。终端将对应于各工作流节点检测到的运行程序,发送至服务器,以便于服务器部署个工作流节点对应的运行程序。进一步地,终端检测工作流对应的全局调度参数,并推送至服务器,以便于服务器配置工作流对应的全局调度参数,得到已配置的排班表评估工作流。
[0113]
在一个实施例中,排班表评估工作流的运行环境为hive,实现语言主要为sql,适用性广,维护成本低。在一个实施例中,服务器接收终端发送的已配置的排班表评估工作流。终端按照上述类似的步骤进行排班表评估工作流的配置。
[0114]
图3为一个实施例中配置排班表评估工作流的流程图。当开始排班表评估工作流的配置流程后,新建工作流信息,配置工作流对应的工作流节点,部署每个工作流节点的运行程序,并配置全局调度参数。当配置得到排班表评估工作流后,对已配置的排班表评估工作流进行测试运行,并得到测试结果。当测试结果为失败时,对已配置的排班表评估工作流进行调试,并对调试后的排班表评估工作流进行测试运行。当测试结果为成功时,则发布该排班表评估工作流,并结束配置流程,以便于基于所发布的排班表评估流程执行排班表评估方法。
[0115]
在一个实施例中,在排班表评估工作流的配置过程中,通过设置数据并行处理逻辑,将能够并行执行的任务或调度配置成并行工作流节点,将存在依赖关系的任务或调度配置成依赖工作流节点,并将公用的任务或调度配置成公用工作流节点。由此,基于该排班表评估工作流进行排班表评估时,能够提高评估效率。
[0116]
在一个实施例中,现有的匈牙利算法,涉及多层循环嵌套,环境配置麻烦且依赖扩展库较多,输入参数数据除主要任务数据外,还需要包括变量转换表,该变量转换表使用前需要一定维护成本,总体计算复杂,评估耗时长,存在评估效率低的问题。而本申请提供的排班表评估方法,环境配置可使用已有的通用配置,不需要额外输入参数数据,已部署成可视化模块工作流,维护成本低,相较于现有的评估方法,降低了计算复杂度,节省了评估时长,在保证评估准确性的情况下,提高了评估效率。
[0117]
图4为一个实施例中排班表评估方法的流程示意图。当开始排班表评估流程后,服务器分别获取排班模型生成的模型排班表和司机组长线上制定的司机排班表,并根据所获取到的模型排班表与司机排班表进行相似度评估,得到结果数据,以实现对模型排班表的评估,并结束评估流程。其中,相似度评估流程具体包括:服务器分别对模型排班表和司机排班表进行数据预处理,通过任务标识将模型排班表中的模型车包号与司机排班表中的司机车包号进行关联,并确定每个模型车包号对应的最大匹配任务数,进而确定排班表相似
度和每个模型车包号对应的车包相似度。
[0118]
图5为一个实施例中排班表评估工作流的流程示意图。排班表评估工作流主要包括基础数据准备、数据预处理、模型排班表与司机排班表进行关联、局部最优匹配计算、结果输出和前端展示等数据处理阶段。其中,基础数据准备阶段包括获取司机排班表和相应区域信息、根据区域信息获取模型排班表、对司机排班表进行数据清洗处理、对模型排班表进行数据清洗处理等4个工作流节点。数据预处理阶段包括模型排班表的数据预处理和司机排班表的数据预处理等2个工作流节点。模型排班表与司机排班表进行关联阶段,包括通过任务标识将模型排班表中的模型车包号与司机排班表中的司机车包号进行关联这1个工作流节点。局部最优匹配计算阶段包括计算每个局部的模型车包任务数和每个局部的最大匹配任务数等2个工作流节点。结果输出阶段包括相似度计算和将结果数据存储至指定表等2个工作流节点,相似度计算包括车包相似度和排班表相似度计算。前端展示阶段包括通过etl推送结果数据至指定mysql库表和前端展示布局设计等2个工作流节点。
[0119]
如图5所示,公用的工作流节点则配置成公用工作流节点,比如获取司机排班表和相应区域信息、通过任务标识将模型排班表中的模型车包号与司机排班表中的司机车包号进行关联等。可并行执行的工作流节点则配置成并行工作流节点,比如对司机排班表进行数据清洗处理与对模型排班表进行数据清洗处理为并行工作流节点,模型排班表的数据预处理与司机排班表的数据预处理也为并行工作流节点。而存在依赖关系的工作流节点则配置成依赖工作流节点,比如相似度计算与将结果数据存储至指定表为依赖工作流节点。可以理解,公用工作流节点与并行工作流节点也属于依赖工作流节点,比如获取司机排班表和相应区域信息与对司机排班表进行数据清洗处理,二者存在依赖关系,故也可理解为依赖工作流节点。
[0120]
应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0121]
在一个实施例中,如图6所示,提供了一种排班表评估装置600,包括:获取模块602、关联模块604、匹配模块606和评估模块608,其中:
[0122]
获取模块602,用于获取模型排班表和司机排班表;模型排班表和司机排班表包括相同的任务标识;
[0123]
关联模块604,用于通过任务标识,将模型排班表中的模型车包号与司机排班表中的司机车包号进行关联;
[0124]
匹配模块606,用于确定每个模型车包号相关联的司机车包号,以及相关联的每个司机车包号对应的任务数,作为匹配任务数;
[0125]
评估模块608,用于根据各模型车包号对应的最大匹配任务数和排班表任务总数,评估模型排班表和司机排班表的排班表相似度。
[0126]
在一个实施例中,获取模块602,还用于当满足排班表评估触发条件时,获取预存
储的司机排班表;确定司机排班表对应的区域信息;获取与区域信息对应的模型排班表。
[0127]
在一个实施例中,关联模块604,还用于遍历模型排班表确定尚未与模型车包号关联的第一任务标识,将预设模型车包号确定为第一任务标识对应的模型车包号;遍历司机排班表确定尚未与司机车包号关联的第二任务标识,将预设司机车包号确定为第二任务标识对应的司机车包号。
[0128]
在一个实施例中,评估模块608,还用于筛选每个模型车包号对应的最大匹配任务数;确定模型排班表对应的排班表任务总数;根据各最大匹配任务数的和值与排班表任务总数,确定模型排班表与司机排班表的排班表相似度。
[0129]
在一个实施例中,评估模块608,还用于根据每个模型车包号对应的最大匹配任务数与模型车包任务数,确定相应的车包相似度;将车包相似度、排班表相似度、模型排班表和司机排班表推送至终端进行展示。
[0130]
在一个实施例中,排班表评估方法通过排班表评估工作流实现;上述排班表评估装置600,还包括配置模块;
[0131]
配置模块,用于获取工作流信息;配置工作流信息对应的工作流节点;部署工作流节点的运行程序;配置工作流信息对应的全局调度参数,得到已配置的排班表评估工作流。
[0132]
关于排班表评估装置的具体限定可以参见上文中对于排班表评估方法的限定,在此不再赘述。上述排班表评估装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0133]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储模型排班表和司机排班表。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种排班表评估方法。
[0134]
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0135]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述各个实施例中的排班表评估方法的步骤。
[0136]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各个实施例中的排班表评估方法的步骤。
[0137]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom
(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0138]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0139]
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1