任务分配方法、装置、系统及计算机可读存储介质与流程

文档序号:17720041发布日期:2019-05-22 02:05阅读:148来源:国知局
任务分配方法、装置、系统及计算机可读存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种任务分配方法、装置、系统及计算机可读存储介质。



背景技术:

为方便客户办理各种业务,很多企业和公司(如银行、证券公司、通信运营商等)都开通了线上业务办理服务,将原来线下繁琐的办理流程简化至线上,用户无需到网点或营业点进行办理。目前的任务分配系统通常采用的是单服务器节点的架构,只适用于流量较小的业务场景。随着业务办理需求的不断增加,传统的任务分配系统会因为服务器压力过大而崩溃,导致整个系统的不可用,造成巨大损失。



技术实现要素:

本发明的主要目的在于提供一种任务分配方法、装置、系统及计算机可读存储介质,旨在解决现有技术中传统任务分配系统只适用业务需求小的应用场景的技术问题。

为实现上述目的,本发明提供一种任务分配方法,应用于任务分配系统,所述任务分配系统包括键-值对存储redis服务器和多个队列,各队列包括标准逻辑队列和插队逻辑队列,所述任务分配方法包括:

所述redis服务器在接收到客户端发送的业务办理请求时,根据所述业务办理请求获取对应的客户信息、业务信息、网络信息和各队列的排队信息;

所述redis服务器根据所述客户信息、业务信息、网络信息和各队列的排队信息按第一预设规则计算各队列的排队分值,并将所述各队列的排队分值中的最大排队分值所对应的队列确定为推荐队列;

所述redis服务器检测所述业务办理请求是否符合预设插队条件;

若符合,则所述redis服务器将所述业务办理请求分配至所述推荐队列的插队逻辑队列中;

若不符合,则所述redis服务器将所述业务办理请求分配至所述推荐队列的标准逻辑队列中。

可选地,所述标准逻辑队列和插队逻辑队列包括发号序列,所述任务分配方法还包括:

在将所述业务办理请求分配至所述推荐队列中的对应逻辑队列后,所述redis服务器对所述逻辑队列的发号序列执行incr命令,以获取返回的客户排队号码,并将所述客户排队号码发送至所述客户端。

可选地,所述标准逻辑队列和插队逻辑队列还包括叫号序列,所述任务分配方法还包括:

在接收到坐席端发送的叫号请求时,所述redis服务器检测所述坐席端所在队列的插队逻辑队列中是否存在业务办理请求;

若存在,则所述redis服务器对所述坐席端所在队列的插队逻辑队列的叫号序列执行incr命令,以获取返回的插队逻辑队列的第一叫号号码,并建立所述第一叫号号码对应客户端与所述坐席端之间的业务连接;

若不存在,则所述redis服务器对所述坐席端所在队列的标准逻辑队列的叫号序列执行incr命令,以获取返回的标准逻辑队列的第二叫号号码,并建立所述第二叫号号码对应客户端与所述坐席端之间的业务连接。

可选地,所述redis服务器根据所述客户信息、业务信息、网络信息和各队列的排队信息按第一预设规则计算各队列的排队分值的步骤,包括:

所述redis服务器根据所述客户信息、业务信息和第一预设映射关系表得到各队列的客户属性分值和业务属性分值,并根据所述网络信息按第二预设规则得到各队列的网络属性分值;

所述redis服务器根据所述各队列的排队信息计算各队列的排队时间,并根据所述各队列的排队时间和第二预设映射关系表得到各队列的队列属性分值;

所述redis服务器根据所述各队列的客户属性分值、业务属性分值、网络属性分值和队列属性分值计算各队列的排队分值。

可选地,所述客户信息包括客户等级、客户地域、客户年龄和客户学历,所述业务信息包括业务类型和业务材料类型,所述网络信息包括网络运营商和当前传输速度,所述redis服务器根据所述客户信息、业务信息和第一预设映射关系表得到各队列的客户属性分值和业务属性分值,并根据所述网络信息按第一预设规则得到各队列的网络属性分值的步骤,包括:

所述redis服务器根据所述客户等级、客户地域、客户年龄、客户学历和第一预设映射关系表得到各队列的客户等级得分、客户地域得分、客户年龄得分和客户学历得分,并根据所述各队列的客户等级得分、客户地域得分、客户年龄得分和客户学历得分计算得到各队列的客户属性分值;

所述redis服务器根据所述业务类型、业务材料类型和第一预设映射关系表得到各队列的业务类型得分和业务材料类型得分,并根据所述各队列的业务类型得分和业务材料类型得分计算得到各队列的业务属性分值;

所述redis服务器根据所述网络运营商、当前传输速度和第三预设映射关系表得到各队列的断线率;

所述redis服务器根据所述各队列的断线率和第四预设映射关系表得到各队列的断线率得分,并根据所述网络运营商、当前传输速度和第五预设映射关系表得到各队列的运营商得分和传输速度得分;

所述redis服务器根据所述各队列的断线率得分、运营商得分和传输速度得分计算得到各队列的网络属性分值。

可选地,所述各队列的排队信息包括各队列中各坐席的历史业务处理记录和各队列的待处理业务办理请求信息,所述redis服务器根据所述各队列的排队信息计算各队列的排队时间的步骤,包括:

所述redis服务器根据所述各队列中各坐席的历史业务处理记录计算各队列中各坐席处理各类型业务的平均处理时间,记为第一平均处理时间;

所述redis服务器根据所述第一平均处理时间和各队列的坐席数计算各队列处理各类型业务的平均处理时间,记为第二平均处理时间;

所述redis服务器根据所述第二平均处理时间和各队列的坐席数计算各队列处理各类型业务的处理速度;

所述redis服务器基于各队列的标准逻辑队列和插队逻辑队列中的排号序列和叫号序列对所述各队列的待处理业务办理请求信息进行归类统计,得到各队列待处理业务办理请求中各类型业务的待处理数量;

所述redis服务器根据所述各类型业务的待处理数量和所述各队列处理各类型业务的处理速度按第一预设计算公式计算对应的排队时间;

其中,所述第一预设计算公式为:

其中,ts为队列s的排队时间,asi为队列s处理业务类型i的业务处理速度,bsi为队列s中业务类型i对应的待处理数量。

可选地,所述标准逻辑队列和插队逻辑队列还包括离线列表,所述redis服务器根据所述各类型业务的待处理数量和所述各队列处理各类型业务的处理速度按第一预设计算公式计算对应的排队时间的步骤之前,还包括:

所述redis服务器基于各队列的标准逻辑队列和插队逻辑队列中的离线列表和所述各队列的待处理业务办理请求信息获取各队列的待处理业务办理请求中各类型业务的离线数量;

所述redis服务器根据所述各类型业务的待处理数量和所述各队列处理各类型业务的处理速度按第一预设计算公式计算对应的排队时间的步骤,包括:

所述redis服务器根据所述各类型业务的待处理数量、所述各类型业务的离线数量和所述各队列处理各类型业务的处理速度按第二预设计算公式计算对应的排队时间;

其中,所述第二预设计算公式为:

其中,ts为队列s的排队时间,asi为队列s处理业务类型i的业务处理速度,bsi为队列s中业务类型i对应的待处理数量;csi为队列s中业务类型i对应的离线数量。

此外,为实现上述目的,本发明还提供一种任务分配装置,所述任务分配装置包括:

信息获取模块,用于在接收到客户端发送的业务办理请求时,根据所述业务办理请求获取对应的客户信息、业务信息、网络信息和各队列的排队信息;

队列确定模块,用于根据所述客户信息、业务信息、网络信息和各队列的排队信息按第一预设规则计算各队列的排队分值,并将所述各队列的排队分值中的最大排队分值所对应的队列确定为推荐队列;

请求检测模块,用于检测所述业务办理请求是否符合预设插队条件;

第一分配模块,用于若符合,则将所述业务办理请求分配至所述推荐队列的插队逻辑队列中;

第二分配模块,用于若不符合,则将所述业务办理请求分配至所述推荐队列的标准逻辑队列中。

此外,为实现上述目的,本发明还提供一种任务分配系统,所述任务分配系统包括redis服务器和多个队列,还包括存储器、处理器以及存储在所述存储器上并可被所述处理器执行的任务分配程序,其中所述任务分配程序被所述处理器执行时,实现如上所述的任务分配方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有任务分配程序,其中所述任务分配程序被处理器执行时,实现如上所述的任务分配方法的步骤。

本发明提供一种任务分配方法、装置、系统及计算机可读存储介质,该任务分配方法应用于任务分配系统,该任务分配系统是基于redis技术构建的,该系统包括redis服务器和多个队列,各队列分别包括两个逻辑队列,分别为标准逻辑队列和插队逻辑队列,在接收到客户端发送的业务办理请求时,根据该业务办理请求获取对应的客户信息、业务信息、网络信息和各队列的排队信息;进而计算各队列的排队分值,并将最大排队分值所对应的队列确定为推荐队列;检测该业务办理请求是否符合预设插队条件,以将该业务办理请求分配至对应的逻辑队列。本发明通过redis技术构建任务分配系统,可实现分布式在线排队,可支持大流量、高并发、高性能等线上排队的应用场景。

附图说明

图1为本发明实施例方案涉及的硬件运行环境的终端结构示意图;

图2为本发明任务分配方法第一实施例的流程示意图;

图3为本发明第一实施例中步骤s20的细化流程示意图;

图4为本发明任务分配装置第一实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参照图1,图1为本发明实施例方案涉及的硬件运行环境的终端结构示意图。

本发明实施例终端为redis服务器。如图1所示,该终端可以包括:处理器1001,例如cpu(centralprocessingunit,中央处理器),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真wireless-fidelity,wi-fi接口);存储器1005可以是高速随机存取存储器(randomaccessmemory,ram),也可以是稳定的存储器(non-volatilememory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

继续参照图1,图1中作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块以及任务分配程序。在图1中,网络通信模块可用于连接服务器,与服务器进行数据通信;而处理器1001可以用于调用存储器1005中存储的任务分配程序,并执行本发明实施例提供的任务分配方法。

基于上述硬件结构,提出本发明任务分配方法的各个实施例。

本发明提供一种任务分配方法。

参照图2,图2为本发明任务分配方法第一实施例的流程示意图。

在本实施例中,所述任务分配方法应用于任务分配系统,所述任务分配系统包括redis服务器和多个队列,各队列包括标准逻辑队列和插队逻辑队列,所述任务分配方法包括:

步骤s10,所述redis服务器在接收到客户端发送的业务办理请求时,根据所述业务办理请求获取对应的客户信息、业务信息、网络信息和各队列的排队信息;

在本实施例中,该任务分配方法应用于任务分配系统,该任务分配系统是基于redis技术构建的,该系统包括redis服务器和多个队列,各队列分别包括两个逻辑队列,分别为标准逻辑队列和插队逻辑队列。redis是一个开源的使用ansic语言编写、支持网络、可基于内存亦可持久化的日志型、key-value(键-值对)数据库,redis为单线程模式,利用redis技术采用队列模式可将并发访问变为串行访问,消除了传统数据库串行控制的开销。通过redis技术构建任务分配系统,可实现分布式在线排队,可支持大流量、高并发、高性能等线上排队的应用场景。

在本实施例中,该任务分配方法由redis服务器实现。redis服务器在接收到客户端发送的业务办理请求时,根据该业务办理请求获取对应的客户信息、业务信息、网络信息和各队列的排队信息。其中,客户信息包括客户等级、客户地域、客户年龄和客户学历,业务信息包括业务类型和材料类型,网络信息包括网络运营商和当前传输速度,各队列的排队信息包括各队列中各坐席的历史业务处理记录和各队列的待处理业务办理请求信息。具体的业务办理请求的触发方式可以包括但不限于:客户通过客户终端登录对应的app,点击对应的业务办理选项即可触发;或通过点击客户终端接收到的信息中的链接,然后输入账号信息或用户信息即可触发。以贷款面核场景为例,客户需触发贷款面核请求时,可通过客户终端登录对应的贷款申请app,点击其申请的贷款订单中的面核选项即可触发;或当通过客户终端接收到对应的面核邀请信息时,点击对应的邀请链接后输入账号信息或用户信息即可触发。

步骤s20,所述redis服务器根据所述客户信息、业务信息、网络信息和各队列的排队信息按第一预设规则计算各队列的排队分值,并将所述各队列的排队分值中的最大排队分值所对应的队列确定为推荐队列;

然后,根据所述客户信息、业务信息、网络信息和各队列的排队信息按第一预设规则计算各队列的排队分值。具体的,根据客户信息、业务信息和第一预设映射关系表得到各队列的客户属性分值和业务属性分值,并根据网络信息按第二预设规则得到各队列的网络属性分值;然后根据各队列的排队信息计算各队列的排队时间,并根据各队列的排队时间和第二预设映射关系表得到各队列的队列属性分值;最后分别对各队列的客户属性分值、业务属性分值、网络属性分值和队列属性分值进行加和得到各队列的排队分值。在得到各队列的排队分值之后,将各队列的排队分值中的最大值所对应的队列作为推荐队列。

步骤s30,所述redis服务器检测所述业务办理请求是否符合预设插队条件;

在得到推荐队列之后,redis服务器可检测该业务办理请求是否符合预设插队条件,以将该业务办理请求分配至对应的逻辑队列。由于允许插队的情况可以包括但不限于以下两种:1)客户在业务连接过程中因网络异常断线后,在预设时间内重新发起业务办理请求;2)当业务办理请求是由后台经理允许插队的客户发起的,或由后台经理为插队客户发起的。对应的,预设插队条件包括但不限于以下两种:1)该业务办理请求对应的客户账号为异常断线后重连,且异常断线的时间与当前发起业务办理请求的时间之间的时间差值不超过预设时间(如10min);2)检测该业务办理请求携带有插队标识。

步骤s41,若符合,则所述redis服务器将所述业务办理请求分配至所述推荐队列的插队逻辑队列中;

若业务办理请求符合预设插队条件,则将该业务办理请求分配至推荐队列的插队逻辑队列中,以进行优先处理。

步骤s42,若不符合,则所述redis服务器将所述业务办理请求分配至所述推荐队列的标准逻辑队列中。

若业务办理请求不符合预设插队条件,则将该业务办理请求分配至推荐队列的标准逻辑队列中。

本发明提供一种任务分配方法,应用于任务分配系统,该任务分配系统是基于redis技术构建的,该系统包括redis服务器和多个队列,各队列分别包括两个逻辑队列,分别为标准逻辑队列和插队逻辑队列,在接收到客户端发送的业务办理请求时,根据该业务办理请求获取对应的客户信息、业务信息、网络信息和各队列的排队信息;进而计算各队列的排队分值,并将最大排队分值所对应的队列确定为推荐队列;检测该业务办理请求是否符合预设插队条件,以将该业务办理请求分配至对应的逻辑队列。本发明通过redis技术构建任务分配系统,可实现分布式在线排队,可支持大流量、高并发、高性能等线上排队的应用场景。

进一步的,基于上述第一实施例,所述标准逻辑队列和插队逻辑队列包括发号序列,在步骤s41或s42之后,该任务分配方法还包括:

在将所述业务办理请求分配至所述推荐队列中的对应逻辑队列后,所述redis服务器对所述逻辑队列的发号序列执行incr命令,以获取返回的客户排队号码,并将所述客户排队号码发送至所述客户端。

本实施例中介绍了基于redis技术构建的任务分配系统的排号机制,具体的,在将业务办理请求分配至推荐队列中的对应逻辑队列之后,redis服务器对该逻辑队列的发号序列执行incr命令,以获取返回的客户排队号码,并将该客户排队号码发送至对应的客户端,本实施例中通过redis服务器自动执行incr命令,可自动对客户进行排号。

此外,所述标准逻辑队列和插队逻辑队列还包括叫号序列,所述任务分配方法还包括:

在接收到坐席端发送的叫号请求时,所述redis服务器检测所述坐席端所在队列的插队逻辑队列中是否存在业务办理请求;

若存在,则所述redis服务器对所述坐席端所在队列的插队逻辑队列的叫号序列执行incr命令,以获取返回的插队逻辑队列的第一叫号号码,并建立所述第一叫号号码对应客户端与所述坐席端之间的业务连接;

若不存在,则所述redis服务器对所述坐席端所在队列的标准逻辑队列的叫号序列执行incr命令,以获取返回的标准逻辑队列的第二叫号号码,并建立所述第二叫号号码对应客户端与所述坐席端之间的业务连接。

本实施例中介绍了基于redis技术构建的任务分配系统的叫号机制,具体的,在接收到坐席端发送的叫号请求时,由于插队逻辑队列中的客户享有优先处理权,因此redis服务器可先检测该坐席端所在队列的插队逻辑队列中是否存在业务办理请求;若存在,则redis服务器对该插队逻辑队列的叫号序列执行incr命令,以获取返回的插队逻辑队列的第一叫号号码,并建立该第一叫号号码对应的客户端与该坐席端之间的业务连接;若不存在,则redis服务器对该标准逻辑队列的叫号序列执行incr命令,以获取返回的标准逻辑队列的第二叫号号码,并建立该第二叫号号码对应的客户端与该坐席端之间的业务连接。业务连接依据不同的业务场景为不同的业务处理连接方式,例如,若为上述例中的贷款面核场景,则可建立客户端与坐席端之间的视频连接。

此外,在接收到客户触发的前方排队人数获取请求时,确定客户所在的队列及客户排队号码,并根据客户所在的队列、客户排队号码按预设规则计算前方排队人数。

具体的,若客户所在的队列为插队队列,则获取当前叫号队列序号,并根据所述当前叫号队列序号和客户排队号码计算前方排队人数,前方排队人数=客户排队号码-当前叫号队列序号;若客户所在的队列为标准队列,则获取当前叫号队列序号,并根据所述当前叫号队列序号和客户排队号码计算前方排队人数,前方排队人数=客户排队号码-当前叫号队列序号。基于redis技术构建多个逻辑队列和序列,可便于数据的存取和相关数据的获取与计算。

进一步的,参照图3,图3为本发明第一实施例中步骤s20的细化流程示意图。步骤s20包括:

步骤s21,所述redis服务器根据所述客户信息、业务信息和第一预设映射关系表得到各队列的客户属性分值和业务属性分值,并根据所述网络信息按第二预设规则得到各队列的网络属性分值;

在本实施例中,redis服务器在获取到客户信息、业务信息、网络信息和各队列的排队信息之后,根据客户信息、业务信息和第一预设映射关系表得到各队列的客户属性分值和业务属性分值,并根据网络信息按第二预设规则得到各队列的网络属性分值。其中,客户信息包括客户等级、客户地域、客户年龄和客户学历,业务信息包括业务类型和业务材料类型,网络信息包括网络运营商和当前传输速度,步骤s21包括:

步骤a1,所述redis服务器根据所述客户等级、客户地域、客户年龄、客户学历和第一预设映射关系表得到各队列的客户等级得分、客户地域得分、客户年龄得分和客户学历得分,并根据所述各队列的客户等级得分、客户地域得分、客户年龄得分和客户学历得分计算得到各队列的客户属性分值;

客户属性分值的计算过程如下:redis服务器首先根据客户信息和第一预设映射关系表得到各队列的各项客户信息对应的得分,然后计算各队列的各项客户信息对应的得分的平均值,即可得到各队列的客户属性分值。由于客户信息包括客户等级、客户地域、客户年龄和客户学历,即根据客户等级、客户地域、客户年龄、客户学历和第一预设映射关系表得到各队列的客户等级得分、客户地域得分、客户年龄得分和客户学历得分,然后根据各队列的客户等级得分、客户地域得分、客户年龄得分和客户学历得分计算得到各队列的客户属性分值,即客户属性分值=(客户等级得分+客户地域得分+客户年龄得分+客户学历得分)/4。第一预设映射关系表包括客户信息(包括客户等级、客户地域、客户年龄和客户学历)与各队列之间对应的打分规则。

步骤a2,所述redis服务器根据所述业务类型、业务材料类型和第一预设映射关系表得到各队列的业务类型得分和业务材料类型得分,并根据所述各队列的业务类型得分和业务材料类型得分计算得到各队列的业务属性分值;

业务属性分值的计算过程如下:redis服务器首先根据业务信息和第一预设映射关系表得到各队列的各项业务信息对应的得分,然后计算各队列的各项业务信息对应的得分的平均值,即可得到各队列的业务属性分值。由于业务信息包括业务类型和业务材料类型,即根据业务类型、业务材料类型和第一预设映射关系表得到各队列的业务类型得分和业务材料类型得分,其中,由于不同的业务类型可能需要上传一种或多种材料,因此业务材料类型可以包括一种或多种,当包括多种时,业务材料类型得分则为多种业务材料类型对应分值之和,然后根据各队列的业务类型得分和业务材料类型得分计算得到各队列的业务属性分值,即业务属性分值=(业务类型得分+业务材料类型得分)/2。第二预设映射关系表包括业务信息(包括业务类型和业务材料类型)与各队列之间对应的打分规则。

步骤a3,所述redis服务器根据所述网络运营商、当前传输速度和第三预设映射关系表得到各队列的断线率;

步骤a4,所述redis服务器根据所述各队列的断线率和第四预设映射关系表得到各队列的断线率得分,并根据所述网络运营商、当前传输速度和第五预设映射关系表得到各队列的运营商得分和传输速度得分;

步骤a5,所述redis服务器根据所述各队列的断线率得分、运营商得分和传输速度得分计算得到各队列的网络属性分值。

网络属性分值的计算过程如下:redis服务器首先根据网络运营商、当前传输速度和第三预设映射关系表确定各队列的断线率,其中,第三预设关系映射表即为各队列的网络信息(包括网络运营商和当前传输速度)与断线率之间的映射关系,是根据历史断线记录统计分析后得到的。然后根据各队列的断线率和第四预设映射关系表确定断线率得分,并根据网络运营商、当前传输速度和第五预设映射关系表分别确定各队列的运营商得分和传输速度得分,其中,第四预设映射关系表包括不同范围的断线率与断线率得分之间的映射关系,第五预设映射关系表包括网络信息(包括网络运营商和当前传输速度)与各队列之间对应的打分规则。最后,计算各队列的断线率得分、运营商得分和传输速度得分的平均值,以得到各队列的网络属性分值,即网络属性分值=(断线率得分+运营商得分+传输速度得分)/3。

需要说明的是,步骤a1、步骤a2、步骤a3-a5之间的执行顺序不分先后。

步骤s22,所述redis服务器根据所述各队列的排队信息计算各队列的排队时间,并根据所述各队列的排队时间和第二预设映射关系表得到各队列的队列属性分值;

然后,redis服务器根据各队列的排队信息计算各队列的排队时间,再根据各队列的排队时间和第二预设映射关系表得到各队列的队列属性分值。该第二预设映射关系表包括不同范围的排队时间与排队分值之间的映射关系。其中,所述各队列的排队信息包括各队列中各坐席的历史业务处理记录和各队列的待处理业务办理请求信息,所述redis服务器根据所述各队列的排队信息计算各队列的排队时间的步骤,包括:

步骤b1,所述redis服务器根据所述各队列中各坐席的历史业务处理记录计算各队列中各坐席处理各类型业务的平均处理时间,记为第一平均处理时间;

在本实施例中,各队列的排队信息包括各队列中各坐席的历史业务处理记录和各队列的待处理业务办理请求信息,在计算各队列的排队时间时,先根据各队列中各坐席的历史业务处理记录按照预设算法计算各队列处理各类型业务的处理速度。其中,各坐席的历史业务处理记录可以是在各坐席处理完业务后自动生成的,历史业务处理记录可以包括业务编号或名称和业务处理花费时间,还可以包括业务处理时间,业务处理花费时间是指处理该业务所花费的时间,业务处理时间是指开始处理业务时所对应的时间点。业务类型可以根据业务编号或名称按预设映射表进行归类。当然,历史业务处理记录还可以包括业务类型,此时则无需根据业务编号或名称来确定其业务类型。

具体的,redis服务器先根据各队列中各坐席的历史业务处理记录计算各队列中各坐席处理各类型业务的平均处理时间,记为第一平均处理时间,第一平均处理时间可通过将各坐席处理各类型业务的业务处理花费时间之和除以处理次数即可得到。当然,在具体实施例中,为减小误差,提高排队时间计算结果的准确度,进而提高队列分配的准确性和适合性,还可以采用最小二乘法计算得到该第一平均处理时间,具体的可参照现有技术,此处不做赘述。

步骤b2,所述redis服务器根据所述第一平均处理时间和各队列的坐席数计算各队列处理各类型业务的平均处理时间,记为第二平均处理时间;

然后,根据第一平均处理时间和各队列的坐席数分别计算各队列处理各类型业务的平均处理时间,记为第二平均处理时间。

步骤b3,所述redis服务器根据所述第二平均处理时间和各队列的坐席数计算各队列处理各类型业务的处理速度;

最后,根据第二平均处理时间和各队列的坐席数计算各队列处理各类型业务的处理速度。对应的计算公式为:处理速度=第二平均处理时间/坐席数。

步骤b4,所述redis服务器基于各队列的标准逻辑队列和插队逻辑队列中的排号序列和叫号序列对所述各队列的待处理业务办理请求信息进行归类统计,得到各队列待处理业务办理请求中各类型业务的待处理数量;

然后,redis服务器基于各队列的标准逻辑队列和插队逻辑队列中的排号序列和叫号序列对各队列的待处理业务办理请求信息进行归类统计,以得到各队列的待处理业务办理请求中各类型业务的待处理数量。

步骤b5,所述redis服务器根据所述各类型业务的待处理数量和所述各队列处理各类型业务的处理速度按第一预设计算公式计算对应的排队时间;

其中,所述第一预设计算公式为:

其中,ts为队列s的排队时间,asi为队列s处理业务类型i的业务处理速度,bsi为队列s中业务类型i对应的待处理数量。

最后,redis服务器根据各类型业务的待处理数量和各队列处理各类型业务的处理速度按第一预设计算公式计算各队列的排队时间。

需要说明的是,步骤s21与步骤s22的执行顺序不分先后。

还需要说明的是,由于不同业务处理时间段内,业务办理请求数量不同,队列中各坐席的处理效率也可能不同,从而使得队列中各坐席在不同业务处理时间段内的处理速度可能不同,因此,为提高排队时间预测结果的准确性,进而提高队列推荐的准确性,可按业务处理时间来划分不同的业务处理时间段,进而计算队列在不同业务处理时间段内处理各类型业务的处理速度。进而在得到各队列待处理业务办理请求中各类型业务的待处理数量之后,根据各类型业务的待处理数量、当前时间和该队列在不同业务处理时间段内处理各类型业务的处理速度计算对应的排队时间。具体的,先根据当前时间确定当前时间所处的业务处理时间段,从而确定该队列在该业务处理时间段内处理各类型业务的处理速度,然后根据各类型业务的待处理数量和该队列在该业务处理时间段内处理各类型业务的处理速度计算对应的排队时间。

步骤s23,所述redis服务器根据所述各队列的客户属性分值、业务属性分值、网络属性分值和队列属性分值计算各队列的排队分值。

最后,redis服务器根据各队列的客户属性分值、业务属性分值、网络属性分值和队列属性分值计算各队列的排队分值,并根据各队列的排队分值将该业务办理请求分配至最大排队分值所对应的队列确定为推荐队列。具体的,排队分值的计算方法可以包括但不限于:1)对所述客户属性分值、业务属性分值、网络属性分值和队列属性分值进行加和得到排队分值;2)根据所述客户属性分值、业务属性分值、网络属性分值和队列属性分值及各自对应的预设权重系数计算对应的加权和得到排队分值。

进一步的,基于上述各实施方式,所述标准逻辑队列和插队逻辑队列还包括离线列表,该离线列表用于在监测到离线事件时,将与该离线事件对应的客户排队号码置于对应逻辑队列的离线列表中。为进一步的提高排队时间计算结果的准确性,进而提高后续排队分值计算的准确性,以提高队列分配的准确性和适合性,在本实施例中,在统计各队列前方各类型业务的待处理数量时,可剔除其中的离线数。在步骤b5之前,该任务分配方法还可以包括:

所述redis服务器基于各队列的标准逻辑队列和插队逻辑队列中的离线列表和所述各队列的待处理业务办理请求信息获取各队列的待处理业务办理请求中各类型业务的离线数量;

在本实施例中,在获取到各队列的待处理业务处理请求信息,并根据各队列的待处理业务处理请求信息经归类统计得到各队列的待处理业务处理请求中各类型业务的待处理数量后,还可以基于各队列的标准逻辑队列和插队逻辑队列中的离线列表和各队列的待处理业务办理请求信息获取各队列的待处理业务办理请求中各类型业务的离线数量。

此时,步骤b5可以包括:

所述redis服务器根据所述各类型业务的待处理数量、所述各类型业务的离线数量和所述各队列处理各类型业务的处理速度按第二预设计算公式计算对应的排队时间;

然后,根据各类型业务的待处理数量、离线数量和各队列处理各类型业务的处理速度按第二预设计算公式计算各队列的排队时间。其中,所述第二预设计算公式为:

其中,ts为队列s的排队时间,asi为队列s处理业务类型i的业务处理速度,bsi为队列s中业务类型i对应的待处理数量;csi为队列s中业务类型i对应的离线数量。

此外,在考虑离线序列时,在接收到客户触发的前方排队人数获取请求时,确定客户所在的逻辑队列及客户排队号码,获取当前叫号号码,可得到客户前方离队人数,即为离线列表中大于该逻辑队列的当前叫号号码且小于客户排队号码个数,此时,前方排队人数=客户排队号码-当前叫号队列序号-前方离队人数。

本发明还提供一种任务分配装置。

参照图4,图4为本发明任务分配装置第一实施例的功能模块示意图。

在本实施例中,所述任务分配装置包括:

信息获取模块10,用于在接收到客户端发送的业务办理请求时,根据所述业务办理请求获取对应的客户信息、业务信息、网络信息和各队列的排队信息;

队列确定模块20,用于根据所述客户信息、业务信息、网络信息和各队列的排队信息按第一预设规则计算各队列的排队分值,并将所述各队列的排队分值中的最大排队分值所对应的队列确定为推荐队列;

请求检测模块30,用于检测所述业务办理请求是否符合预设插队条件;

第一分配模块40,用于若符合,则将所述业务办理请求分配至所述推荐队列的插队逻辑队列中;

第二分配模块50,用于若不符合,则将所述业务办理请求分配至所述推荐队列的标准逻辑队列中。

其中,上述任务分配装置的各虚拟功能模块存储于图1所示任务分配系统的存储器1005中,用于实现任务分配程序的所有功能;各模块被处理器1001执行时,可实现基于客户信息、业务信息、网络信息和各队列的排队信息确定推荐队列,并判断业务办理请求是否符合预设插队条件,从而对业务办理请求智能分配队列功能。

进一步的,所述标准逻辑队列和插队逻辑队列包括发号序列,所述队列分配装置还包括:

排队号码获取模块,用于在将所述业务办理请求分配至所述推荐队列中的对应逻辑队列后,对所述逻辑队列的发号序列执行incr命令,以获取返回的客户排队号码,并将所述客户排队号码发送至所述客户端。

进一步的,所述标准逻辑队列和插队逻辑队列还包括叫号序列,所述任务分配装置还包括:

第一检测模块,用于在接收到坐席端发送的叫号请求时,检测所述坐席端所在队列的插队逻辑队列中是否存在业务办理请求;

第一业务连接模块,用于若存在,则对所述坐席端所在队列的插队逻辑队列的叫号序列执行incr命令,以获取返回的插队逻辑队列的第一叫号号码,并建立所述第一叫号号码对应客户端与所述坐席端之间的业务连接;

第二业务连接模块,用于若不存在,则对所述坐席端所在队列的标准逻辑队列的叫号序列执行incr命令,以获取返回的标准逻辑队列的第二叫号号码,并建立所述第二叫号号码对应客户端与所述坐席端之间的业务连接。

进一步的,所述队列确定模块20包括:

第一分值计算单元,用于根据所述客户信息、业务信息和第一预设映射关系表得到各队列的客户属性分值和业务属性分值,并根据所述网络信息按第二预设规则得到各队列的网络属性分值;

第二分值计算单元,用于根据所述各队列的排队信息计算各队列的排队时间,并根据所述各队列的排队时间和第二预设映射关系表得到各队列的队列属性分值;

排队分值计算单元,用于根据所述各队列的客户属性分值、业务属性分值、网络属性分值和队列属性分值计算各队列的排队分值。

其中,所述客户信息包括客户等级、客户地域、客户年龄和客户学历,所述业务信息包括业务类型和业务材料类型,所述第一分值计算单元,具体用于:

根据所述客户等级、客户地域、客户年龄、客户学历和第一预设映射关系表得到各队列的客户等级得分、客户地域得分、客户年龄得分和客户学历得分,并根据所述各队列的客户等级得分、客户地域得分、客户年龄得分和客户学历得分计算得到各队列的客户属性分值;

根据所述业务类型、业务材料类型和第一预设映射关系表得到各队列的业务类型得分和业务材料类型得分,并根据所述各队列的业务类型得分和业务材料类型得分计算得到各队列的业务属性分值;

根据所述网络运营商、当前传输速度和第三预设映射关系表得到各队列的断线率;

根据所述各队列的断线率和第四预设映射关系表得到各队列的断线率得分,并根据所述网络运营商、当前传输速度和第五预设映射关系表得到各队列的运营商得分和传输速度得分;

根据所述各队列的断线率得分、运营商得分和传输速度得分计算得到各队列的网络属性分值。

进一步的,所述各队列的排队信息包括各队列中各坐席的历史业务处理记录和各队列的待处理业务办理请求信息,所述第二分值计算单元,具体用于:

根据所述各队列中各坐席的历史业务处理记录计算各队列中各坐席处理各类型业务的平均处理时间,记为第一平均处理时间;

根据所述第一平均处理时间和各队列的坐席数计算各队列处理各类型业务的平均处理时间,记为第二平均处理时间;

根据所述第二平均处理时间和各队列的坐席数计算各队列处理各类型业务的处理速度;

基于各队列的标准逻辑队列和插队逻辑队列中的排号序列和叫号序列对所述各队列的待处理业务办理请求信息进行归类统计,得到各队列待处理业务办理请求中各类型业务的待处理数量;

根据所述各类型业务的待处理数量和所述各队列处理各类型业务的处理速度按第一预设计算公式计算对应的排队时间;

其中,所述第一预设计算公式为:

其中,ts为队列s的排队时间,asi为队列s处理业务类型i的业务处理速度,bsi为队列s中业务类型i对应的待处理数量。

进一步的,所述标准逻辑队列和插队逻辑队列还包括离线列表,所述第二分值计算单元,还用于:

基于各队列的标准逻辑队列和插队逻辑队列中的离线列表和所述各队列的待处理业务办理请求信息获取各队列的待处理业务办理请求中各类型业务的离线数量;

根据所述各类型业务的待处理数量、所述各类型业务的离线数量和所述各队列处理各类型业务的处理速度按第二预设计算公式计算对应的排队时间;

其中,所述第二预设计算公式为:

其中,ts为队列s的排队时间,asi为队列s处理业务类型i的业务处理速度,bsi为队列s中业务类型i对应的待处理数量;csi为队列s中业务类型i对应的离线数量。

其中,上述任务分配装置中各个模块的功能实现与上述任务分配方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有任务分配程序,所述任务分配程序被处理器执行时实现如以上任一项实施例所述的任务分配方法的步骤。

本发明计算机可读存储介质的具体实施例与上述任务分配方法各实施例基本相同,在此不作赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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