一种排队方案、队列推送方法和处理系统转让专利

申请号 : CN201810973132.0

文献号 : CN110858423A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张旋辰费天翔

申请人 : 阿里健康信息技术有限公司

摘要 :

本申请提供了一种排队方案、队列推送方法和处理系统,其中,该方法包括:获取目标用户的身份标识;获取所述身份标识对应的待安排项目;按照目标用户完成所述待安排项目总用时最短,为所述目标用户生成待安排项目的排队方案;将所述排队方案推送至所述目标用户。利用本申请实施例提供的技术方案,可以解决现有的多项目场景中,用户按照自己的想法进行排队而导致的排队方案不合理,排队效率低下的问题,达到了有效提升排队效率,提升用户体验的技术效果。

权利要求 :

1.一种排队方案推送方法,其特征在于,所述方法包括:获取目标用户的身份标识;

获取所述身份标识对应的待安排项目;

按照目标用户完成所述待安排项目总用时最短,为所述目标用户生成待安排项目的排队方案;

将所述排队方案推送至所述目标用户。

2.根据权利要求1所述的方法,其特征在于,为所述目标用户生成待安排项目的排队方案,包括:获取待安排的体检项目;

以完成待安排的体检项目的总用时最小,作为求解目标,为所述目标用户生成体检项目的顺序。

3.根据权利要求1所述的方法,其特征在于,为所述目标用户生成待安排项目的排队方案,包括:获取待安排的娱乐项目;

以完成待安排的娱乐项目的总用时最小,作为求解目标,为所述目标用户生成娱乐项目的顺序。

4.根据权利要求1所述的方法,其特征在于,为所述目标用户生成待安排项目的排队方案,包括:获取所述待安排项目中各个项目的平均用时;

获取所述待安排项目中各个项目已排队的用户数量和未排队的用户数量;

根据获取的平均用时、已排队的用户数量和未排队的用户数量,为所述目标用户生成排队方案。

5.根据权利要求4所述的方法,其特征在于,根据获取的平均检查用时、已排队的用户数量和未排队的用户数量,为所述目标用户生成排队方案,包括:根据获取的平均用时和已排队的用户数量,确定将所述目标用户排在所述待安排项目中各个项目当前队列的最后一位的情况下,所述目标用户的开始时间和结束时间;

根据获取的平均用时和未排队的用户数量,确定将所述目标用户排在所述待安排项目中各个项目当前队列的最后一位的情况下,所述目标用户的收益;

根据确定的开始时间、结束时间和收益,为所述目标用户生成排队方案。

6.根据权利要求5所述的方法,其特征在于,根据确定的开始时间、结束时间和收益,为所述目标用户生成排队方案,包括:通过待安排项目中各个项目进行排列组合的方式,生成多个排队方案;

将所述多个排队方案中可行的且平均收益最大的方案,作为为所述目标用户生成的排队方案。

7.根据权利要求4所述的方法,其特征在于,获取所述待安排项目中各个项目的平均检查时间,包括:实时计算并获取所述待安排项目中各个项目的平均用时;

实时获取所述待安排项目中各个项目已排队的用户数量和未排队的用户数量。

8.根据权利要求1所述的方法,其特征在于,通过如下方式至少之一,将所述排队方案推送至所述目标用户:在显示器上显示排队方案;

将排队方案发送至目标用户持有的终端设备中;

通过语音播报的方式播放排队方案。

9.根据权利要求1所述的方法,其特征在于,获取所述身份标识对应的待安排项目包括:获取为所述目标用户生成的方案中的项目已完成的结束消息;

响应于所述结束消息,获取所述身份标识对应的待安排项目。

10.一种排队信息显示方法,其特征在于,包括:提供一显示界面;

接收服务器推送的排队方案,其中,所述排队方案是按照目标用户完成待安排项目总用时最短,为所述目标用户生成的排队方案;

显示所述排队方案,其中,所述排队方案用于指示目标用户待安排项目的排队顺序。

11.根据权利要求10所述的方法,其特征在于,所述排队方案包括:下一个项目的项目名称、下一个项目的排队地点。

12.一种队列推送方法,其特征在于,所述方法包括:按照目标用户完成待安排项目总用时最短,为目标用户生成待安排项目的排队方案;

按照生成的排队方案,将所述目标用户的身份标识添加至所述排队方案所指示项目的排队队列中;

将添加后的排队队列推送至对应的项目终端。

13.根据权利要求12所述的方法,其特征在于,在将添加后的排队队列推送至对应的项目终端之后,所述方法还包括:接收用于指示所述目标用户已达到项目所在地且完成的完成信息;

响应于所述完成信息,将所述目标用户的身份标识从该排队队列中删除。

14.根据权利要求12所述的方法,其特征在于,将添加后的排队队列推送至对应的项目所在地之后,所述方法还包括:接收用于指示所述目标用户未按照所述排队队列的顺序到达对应的项目所在地且未完成的失败信息;

响应于所述失败信息,调整所述目标用户的身份标识在该排队队列中的位置。

15.一种处理系统,其特征在于,包括:服务器、显示终端,其中:所述服务器用于获取目标用户的身份标识和所述身份标识对应的待安排项目;按照目标用户完成待安排项目总用时最短,为所述目标用户生成待安排项目的排队方案;将所述排队方案推送至所述显示终端;

所述显示终端用于显示所述排队方案。

16.一种终端设备,其特征在于,包括:

接收器,用于接收服务器推送的排队方案;

显示器,用于显示所述排队方案,其中,所述排队方案是按照目标用户完成待安排项目总用时最短,为所述目标用户生成的排队方案,所述排队方案用于指示目标用户待安排项目的排队顺序。

17.根据权利要求16所述的终端设备,其特征在于,所述排队方案包括:下一个项目的项目名称、下一个项目的排队地点。

18.根据权利要求16所述的终端设备,其特征在于,所述终端设备为智能手机。

19.一种处理系统,其特征在于,包括:服务器、显示终端和项目端设备,其中:所述服务器用于获取目标用户的身份标识和所述身份标识对应的待安排项目;按照目标用户完成所述待安排项目总用时最短,为所述目标用户生成待安排项目的排队方案;将所述排队方案推送至所述显示终端;

所述显示终端用于显示所述排队方案;

所述服务器还用于按照生成的排队方案,将所述目标用户的身份标识添加至所述排队方案所指示的项目的排队队列中,将添加后的排队队列推送至对应的项目端设备;

所述项目端设备用于接收并显示所述排队队列。

20.一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至9中任一项所述方法的步骤。

21.一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现权利要求1至9中任一项所述方法的步骤。

说明书 :

一种排队方案、队列推送方法和处理系统

技术领域

[0001] 本申请属于互联网技术领域,尤其涉及一种排队方案、队列推送方法和处理系统。

背景技术

[0002] 目前,对于一些多业务项的服务系统(例如,体检系统),一般都是用户自己在完成一个项目后,再到另一个项目进行顺序排号。例如,用户到医院体检,一共有8个体检项目,用户在体检的时候,一般是基于自己的判断先选择一个项目进行体检,等检查完这个项目之后,再从剩下的7个项目中选择一个,然后,再到选择的这个项目顺序排队,在排到自己进行体检之后,再进行下一个项目。
[0003] 因为对于每个项目的时长,以及可能的排队时间等等,用户都是不清楚的,这就会导致用户每次排项目的时候,往往会浪费很长的时间,时间安排不合理,经常会出现有些用户整个流程下来排队时间过长的问题。
[0004] 针对上述问题,目前尚未提出有效的解决方案。

发明内容

[0005] 本申请目的在于提供一种排队方案、队列推送方法和处理系统,可以达到有效提升排队效率的技术效果。
[0006] 本申请提供一种排队方案、队列推送方法和处理系统是这样实现的:
[0007] 一种排队方案推送方法,所述方法包括:
[0008] 获取目标用户的身份标识;
[0009] 获取所述身份标识对应的待安排项目;
[0010] 按照目标用户完成所述待安排项目总用时最短,为所述目标用户生成待安排项目的排队方案;
[0011] 将所述排队方案推送至所述目标用户。
[0012] 一种排队信息显示方法,包括:
[0013] 提供一显示界面;
[0014] 接收服务器推送的目标用户的排队方案,其中,所述排队方案是按照目标用户完成待安排项目总用时最短,为所述目标用户生成的排队方案;
[0015] 显示所述排队方案,其中,所述排队方案用于指示所述目标用户待安排项目的排队顺序。
[0016] 一种队列推送方法,所述方法包括:
[0017] 按照目标用户完成待安排项目总用时最短,为目标用户生成待安排项目的排队方案;
[0018] 按照生成的排队方案,将所述目标用户的身份标识添加至所述排队方案所指示项目的排队队列中;
[0019] 将添加后的排队队列推送至对应的项目终端。
[0020] 一种终端设备,包括:
[0021] 接收器,用于接收服务器推送的目标用户的排队方案;
[0022] 显示器,用于显示所述排队方案,其中,所述排队方案是按照目标用户完成待安排项目总用时最短,为所述目标用户生成的排队方案,所述排队方案用于指示所述目标用户待安排项目的排队顺序。
[0023] 一种处理系统,包括:服务器、显示终端,其中:
[0024] 所述服务器用于获取目标用户的身份标识和所述身份标识对应的待安排项目;按照目标用户完成待安排项目总用时最短,为所述目标用户生成待安排项目的排队方案;将所述排队方案推送至所述显示终端;
[0025] 所述显示终端用于显示所述排队方案。
[0026] 一种处理系统,包括:服务器、显示终端和项目端设备,其中:
[0027] 所述服务器用于获取目标用户的身份标识和所述身份标识对应的待安排项目;按照目标用户完成待安排项目总用时最短,为所述目标用户生成待安排项目的排队方案;将所述排队方案推送至所述显示终端;
[0028] 所述显示终端用于显示所述排队方案;
[0029] 所述服务器还用于按照生成的排队方案,将所述目标用户的身份标识添加至所述排队方案所指示的项目的排队队列中,将添加后的排队队列推送至对应的项目端设备;
[0030] 所述项目端设备用于接收并显示所述排队队列。
[0031] 一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述方法的步骤。
[0032] 一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实上述方法的步骤。
[0033] 本申请提供的排队方案推送方法和排队队列推送方法,由系统侧生成每个用户的排队方案,然后将排队方案推送给用户,以告知用户按照系统生成的排队方案进行排队,从而解决了现有的多项目场景中,用户按照自己的想法进行排队而导致的排队方案不合理,排队效率低下的问题,达到了有效提升排队效率,提升用户体验的技术效果。

附图说明

[0034] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0035] 图1是本申请提供的排队系统的架构示意图;
[0036] 图2是本申请提供的排队方案的生成示意图;
[0037] 图3是本申请提供的排队系统的另一架构示意图;
[0038] 图4是本申请提供的体检流程图;
[0039] 图5是本申请提供的用户终端界面示意图;
[0040] 图6是本申请提供的用户终端界面另一示意图;
[0041] 图7是本申请提供的排队方案推送方法流程图;
[0042] 图8是本申请提供的排队队列推送方法流程图;
[0043] 图9是本申请提供的服务器的架构示意图;
[0044] 图10是本申请提供的排队方案推送装置的结构框图。

具体实施方式

[0045] 为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0046] 针对现有的排队系统所存在的问题,考虑到如果由系统侧生成每个用户的排队方案,然后将排队方案推送给用户,以告知用户按照系统生成的排队方案进行排队,这样就可以解决现有的多项目场景中,用户按照自己的想法进行排队而导致的排队方案不合理,排队效率低下的问题。
[0047] 基于此,在本例中提供了一种排队系统,以将该排队系统应用在体检场景中为例进行说明。如图1所示,该排队系统可以包括:服务器101、终端设备102。
[0048] 上述服务器101可以是单个的服务器,也可以是服务器集群或者是云服务器等等,通过服务器可以为每个用户生成排队信息,即,可以按照效率要求等为每个用户生成排队信息,即,告知用户去哪个科室体检。
[0049] 在一个实施方式中,上述终端设备102可以是一个大型的显示器,或者是一个广播设备,也可以是一个取号机、一个手机等等,只要是可以传递服务器101所生成的用户排队信息的设备都可以作为终端设备102。
[0050] 举例而言,如果终端设备102是显示器,那么可以在显示器上实时显示每个用户应该去的科室,或者是直接显示当前每个科室看诊和排队的人。如果终端设备102是手机,服务器可以将手机持有者所需去体检的科室推送至手机中,供用户查看,例如:通过短信、邮件、应用消息等方式推送至用户的手机中,或者是用户到排号机(例如,每个科室门前安装一台)扫码以确定自己下一个需要体检的体检。具体的实现方式,可以根据实际需要选择,本申请对此不作限定。
[0051] 考虑到现有的体检系统一般都是用户根据情况选择去哪个科室检查,在当前科室排队检查完成之后,再去别的科室排队,没有一个统一的管理方式导致排队效率比较低下,有时很早来的用户可能很晚才体检完,导致用户体验不好。
[0052] 为此,在本例中考虑到可以由服务器101采用对每个用户进行虚拟的排队的方式,来为用户生成较为合理的排队方案,并将生成的排队方案推送给用户,以指导用户排队。下面对整个的实现流程说明如下,以一个用户A为例进行说明:
[0053] 用户A到达体检中心之后,可以采用刷身份证或者是其它的身份识别方式(例如:刷指纹、脸部识别、刷体检卡等)在体检系统进行登记,表明已到体检中心开始体检。服务器在识别到用户A之后,可以获取用户A需要体检的体检项目,然后为用户A安排体检流程。即,服务器101可以采用预设的算法逻辑,确定用户A当前去哪个体检科室进行体检,可以使得体检时长尽量短一些,在确定出用户A当前需要体检的科室之后,可以将确定的为用户A安排的科室推送给用户A。例如,可以采用广播的方式,也可以采用向用户手机推送科室信息以告知用户A去哪个科室体检,或者也可以是用户通过在体检中心设置的多个查询仪器(例如:扫码排号机)进行查询,例如,可以是刷自己的体检卡,在仪器上会显示用户A现在应该去的科室,以及预计的体检时长和排队时长中,还可以将这些信息打印出来,供用户查看。
[0054] 在具体实现的时候,考虑到到达体检中心的人的数量是变化的,且体检过程中的具体时间也不是确定不变的,如果用户到达体检中心开始体检的时候,就把所有的科室安排都为用户安排好,必然是无法考虑中间的变数,很难给予用户一个合理的安排,为此,考虑到可以一次仅为用户安排一个科室,每个项目体检完之后,就再为用户安排下一个体检项目,也可以是一次为用户安排两个项目,在这两个项目体检结束之后,再为用户安排下两个项目的体检项目,或者是一次安排三个或者更多的项目,具体一次安排几个项目可以根据实际需要和情况决定,本申请对此不作限定。
[0055] 在一个实施方式中,可以按照目标用户完成所述待安排项目总用时最短作为原则,来生成排队方案。例如,可以根据目标用户还未体检项目中每个项目的平均体检时间、每个项目已排队用户数量和待排队用户数量,来确定目标用户的体检项目顺序。
[0056] 以每次向目标用户推送两个体检项目的顺序提醒用户过去体检为例进行说明:
[0057] 如图2所示,用户3为目标用户,总共有8个用户在体检,用户3的体检流程包括科室1、科室2、科室3、科室4和科室5这个科室。其中:
[0058] 1)科室1的体检项目人均检查耗时为4个时间单位,当前科室1已经有两人排队(1和2),还有5个人未排队(4、5、6、7和8)。
[0059] 基于此,可以计算出用户3如果排在科室1,检查开始的时间是8(4*2),检查结束的时间是12(4*2+4),收益(即未检查群体所需时间)是20(4*5)。
[0060] 2)科室2的体检项目人均检查耗时为6个时间单位,当前科室2已经有7人排队(8、4、7、5、6、1和2),还有0人未排队。
[0061] 基于此,可以计算出用户3如果排在科室2,检查开始的时间是42(6*7),检查结束的时间是48(6*7+6),收益(即未检查群体所需时间)是0(6*0)。
[0062] 3)科室3的体检项目人均检查耗时为9个时间单位,当前科室3已经有4人排队(6、7、8和1),还有3个人未排队(2、5和4)。
[0063] 基于此,可以计算出用户3如果排在科室3,检查开始的时间是36(4*9),检查结束的时间是45(4*9+9),收益(即未检查群体所需时间)是27(3*9)。
[0064] 4)科室4的体检项目人均检查耗时为4个时间单位,当前科室4已经有3人排队(5、4和7),还有4个人未排队(2、1、8和6)。
[0065] 基于此,可以计算出用户3如果排在科室4,检查开始的时间是12(3*4),检查结束的时间是16(3*4+4),收益(即未检查群体所需时间)是16(4*4)。
[0066] 5)科室5的体检项目人均检查耗时为3个时间单位,当前科室5已经有2人排队(1和2),还有5个人未排队(4、5、6、7和8)。
[0067] 基于此,可以计算出用户3如果排在科室5,检查开始的时间是6(2*3),检查结束的时间是9(2*3+3),收益(即未检查群体所需时间)是15(5*3)。
[0068] 在确定出五个科室上述这些数据之后,可以两两进行比较,查找出检查开始时间和检查结束时间不存在交集的科室。例如,科室1和科室5存在交集,科室2和科室3存在交集,因此,不能为用户安排科室1到科室5的检查顺序,也不能为用户3安排科室2到科室3的检查顺序。对于检查不存在冲突的科室,可以选择两个科室加起来所占用时间最短的科室作为为用户3安排的体检顺序,也可以将平均收益最高的两个科室作为为用户3安排的体检顺序。
[0069] 具体的平均收益可以按照如下公式计算:(目标科室1的收益+目标科室2的收益)/(目标科室2的结束时间-目标科室1的开始时间),其中,目标科室1的结束时间早于目标科室2的开始时间。
[0070] 例如:科室1和科室2的平均收益为(20+0)/(48-8)=0.5;
[0071] 科室1和科室3的平均收益为(20+27)/(45-8)=1.27;
[0072] 科室1和科室4的平均收益为(20+16)/(16-8)=4.5;
[0073] 科室1和科室5存在重合;
[0074] ……
[0075] 科室4和和科室5的平均收益为(20+15)/(16-6)=3.5.
[0076] 计算后可以确定为用户3安排先在科室1体检,再到科室4进行体检。
[0077] 即,相当于提出了一种虚拟排队的概念,每个用户来体检的时候,都会在需要体检的队列中生成一个虚拟的节点,每个需要体检的队列都拥有一个虚拟的镜像。由系统来判断该节点是否是真实节点,每个队列中都存在着虚拟节点和真实节点,真实节点的体检时间用于计算科室的平均检查时间。通过使用虚拟自主排队策略,用户进入体检后立即对所有科室进行虚拟排队,系统动态分配插队,从而有效提升体检效率。
[0078] 值得注意的是,上例中是以一次为用户安排两个体检项目为例进行的说明,在实际实现的时候,也可以一次仅为用户安排一个体检项目,那么安排的这个体检项目可以是平均收益最高的,也可以是排队时间最短的项目等,具体可以根据实际需要选择。也可以是一次为用户安排三个体检项目或者是更多个体检项目,同样的,如果是三个项目,那也可以是按照平均收益最高的方式确定为用户安排哪三个体检项目。
[0079] 上述所列举的以平均收益最高确定为用户安排体检项目是一种示例性描述,在实际实现的时候,也可以采用其它的确定方式,例如,可以按照进入体检中心的先后顺序,对所有用户在所有科室进行全排列的方式,确定出每个用户合理的检查和排队顺序,然后将每个用户的排队信息推送给用户,且该检查和排队顺序可以是基于每个时间点的所有体检人员的情况进行实时调整的。只要是可以使得整体的体检效率得到提升,同时又可以避免有些用户体检总时间过长的问题的排队方案,都是可行的。
[0080] 上述主要是对将体检排队信息推送给用户进行的说明,在实际实现的时候,对于体检系统可以是一个完整的系统,不仅能够实现对用户排队信息的推送,还可以如图3所示,包括:医生方终端103,在医生方终端上,可以被推送该体检医生的体检队列,被分配到该医生的用户将按照顺序出现在该医生的体检用户列表中,医生每体检完一个用户之后,可以将该用户从该体检队列中删除。
[0081] 考虑到在实际的体检过程中,有些用户因为一些原因,已经到他的体检时间了,但是还未到对应的体检科室中进行体检,如果体检医生无限期的等待下去肯定是不合理的。可以设置一个允许等待时间,如果当前安排到的体检用户超出允许等待时间还未过来体检,那么可以将其自动排到该科室的体检队列相对靠后的地方,体检队列中的其它体检用户顺序前移一个位置,并将这种变动信息实时推送至各个体检人员。
[0082] 为了使得整个排队体检的过程更为合理,服务器可以根据当前实际的体检情况,实时对体检用户的排队信息进行调整和重新优化计算,并将调整后的更为合理排队方案及时推送至用户端设备和医院方终端。且对于在确定用户的排队方案中所用到的每个科室的平均检查时间等都可以根据实际的情况进行调整,从而使得最终所形成的排队方案更为合理。
[0083] 在实际实现的过程中,如图4所示,可以按照如下的步骤实现整个流程:
[0084] S1:用户使用客户端扫码等方式进入体检流程,系统可以根据用户身份识别出用户所有的体检项目以及对应的科室;
[0085] S2:系统根据当前各个科室的情况为该用户安排体检方案,即,确定该用户先去哪个科室检查,再去哪个科室检查;
[0086] S3:客户端接收系统发送过来的推送消息,通过该推送消息告知用户应该去哪个科室,系统在生成体检方案的时候,需要增加一定的时间冗余,以便用户可以赶到对应科室;
[0087] S4:在用户到达科室,并完成检查之后,客户端可以再次计算用户下一个该去的体检科室。
[0088] 对于用户而言,在达到指定科室之后,需要进行排队,具体的,客户和体检医生可以按照如下流程进行体检:
[0089] S1:用户达到指定科室后,自动在该科室的进行排队;
[0090] S2:对于排队用户而言,医生根据排队顺序一一进行检查,在检查完后,在排队队列中删除该用户;
[0091] S3:对于体检过程中,已经排到的但是超出预设时间未进入体检科室进行体检的用户,体检医生标注该用户未准时到达,对下一用户进行体检,并将该未准时到达的用户放至排队队列的最后;
[0092] S4:对于生成排队方案的系统而言,可以根据已经体检过的人数和体检这些人所需的总时间,计算该科室的平均体检时长。
[0093] 如图5所示,为用户终端界面示意图,服务器可以将生成的体检方案推送至终端中预先安装的体检通知应用中,供用户查看,例如,每次生成两个项目的时间安排,这主要是考虑到安排过多的项目,存在很多的不确定因素,一次安排两个项目准确度更高,效率更高。如图6所示为在用户终端界面的另一示意图,可以在界面上显示完成按钮,如果用户按时到达科室并完成体检,例如,用户在安排的时间达到内科并检查完成,那么可以点击完成键,表明已经完成内科的检查。进一步的,还可以显示一个按钮用于用户触发以查看还有哪些体检项目没有被安排。
[0094] 对于系统侧而言需要实时获取每个体检用户的信息,以及每个科室医生等反馈的信息等等,这样才能使得生成的排队方案更为合理。
[0095] 在上例中,体检人员的排队方案是由系统统一生成的,由系统告知用户该去哪个科室进行体检,该科室体检完成后,再去哪个科室排队体检,而不是用户自己随机选择一个科室进行排队,然后再选择一个科室进行排队。通过上例中系统统一生成体检排队方案的方式,可以有效避免有些体检用户体检时间过长的问题,提升了用户体验。
[0096] 进一步的,在实际生成每个用户的排队方案的时候,还可以考虑到当前用户到达体检中心的时间,尽量保证早到的用户比晚到的用户可以被排在相对靠前的位置,以便使得早到的用户更具有优势。
[0097] 上述内容是以体检场景作为目标场景为例进行的说明,本例所提供的排队方案的推送方法、排队队列的推送方法和排队系统不仅可以应用在体检系统中,还可以应用在其它的多项目场景中,例如:应用在游乐场中等等,具体使用在哪些具体场景,本申请对此不作限定。
[0098] 以应用在游乐场场景中为例,生成排队方案可以按照上述的方式生成,主要差别在于在体检系统中,刷用户的体检卡或者身份证等等,就可以获取到用户的体检项目。然而,在游乐场中,用户的游乐项目不是固定的,也不是统一的。为此,可以在游乐园APP中提供一个项目选择界面,由用户自己选择当天希望做的游乐项目,然后将用户选择的项目生成该用户对应的待安排项目,然后为用户生成所选项目的排队顺序,以形成排队方案,并将排队方案推送至用户,从而可以减少用户的排队时间,使得用户完成所有选定项目的时间最短。
[0099] 以每次向目标用户推送两个娱乐项目的顺序提醒用户过去排队玩耍为例进行说明:
[0100] 用户3为目标用户,总共有8个用户在游乐场中,用户3的选择的游乐项目包括项目1、项目2、项目3、项目4和项目5。其中:
[0101] 1)项目1的人均体验耗时为4个时间单位,当前项目1已经有两人排队(1和2),还有5个人已选还未排队(4、5、6、7和8)。
[0102] 基于此,可以计算出用户3如果排在项目1,体验开始的时间是8(4*2),体验结束的时间是12(4*2+4),收益(即已选未体验群体所需时间)是20(4*5)。
[0103] 2)项目2的人均体验耗时为6个时间单位,当前项目2已经有7人排队(8、4、7、5、6、1和2),还有0人未排队。
[0104] 基于此,可以计算出用户3如果排在项目2,体验开始的时间是42(6*7),体验结束的时间是48(6*7+6),收益(即已选择但未体验群体所需时间)是0(6*0)。
[0105] 3)项目3的人均体验耗时为9个时间单位,当前项目3已经有4人排队(6、7、8和1),还有3个人未排队(2、5和4)。
[0106] 基于此,可以计算出用户3如果排在项目3,体验开始的时间是36(4*9),体验结束的时间是45(4*9+9),收益(即已选择但是未体验群体所需时间)是27(3*9)。
[0107] 4)项目4的人均体验耗时为4个时间单位,当前项目4已经有3人排队(5、4和7),还有4个人未排队(2、1、8和6)。
[0108] 基于此,可以计算出用户3如果排在项目4,体验开始的时间是12(3*4),体验结束的时间是16(3*4+4),收益(即已选择但是未体验群体所需时间)是16(4*4)。
[0109] 5)项目5的人均体验耗时为3个时间单位,当前项目5已经有2人排队(1和2),还有5个人未排队(4、5、6、7和8)。
[0110] 基于此,可以计算出用户3如果排在项目5,体验开始的时间是6(2*3),体验结束的时间是9(2*3+3),收益(即已选择但是未体验群体所需时间)是15(5*3)。
[0111] 在确定出五个项目上述这些数据之后,可以两两进行比较,查找出体验开始时间和体验结束时间不存在交集的项目。例如,项目1和项目5存在交集,项目2和项目3存在交集,因此,不能为用户安排项目1到项目5的检查顺序,也不能为用户3安排项目2到项目3的排队顺序。对于时间不存在冲突的项目,可以选择两个项目加起来所占用时间最短的项目作为为用户3安排的体验顺序,也可以将平均收益最高的两个项目作为为用户3安排的顺序。
[0112] 具体的,平均收益可以按照如下公式计算:(目标项目1的收益+目标项目2的收益)/(目标项目2的结束时间-目标项目1的开始时间),其中,目标项目1的结束时间早于目标项目2的开始时间。
[0113] 例如:项目1和项目2的平均收益为(20+0)/(48-8)=0.5;
[0114] 项目1和项目3的平均收益为(20+27)/(45-8)=1.27;
[0115] 项目1和项目4的平均收益为(20+16)/(16-8)=4.5;
[0116] 项目1和项目5存在重合;
[0117] ……
[0118] 项目4和项目5的平均收益为(20+15)/(16-6)=3.5.
[0119] 计算后可以确定为用户3安排先在项目1,再到项目4进行体验。
[0120] 即,相当于提出了一种虚拟排队的概念,每个用户到游乐场游玩的时候,都会在用户选定的要体验的项目的队列中生成一个虚拟的节点,每个需要体验的队列都拥有一个虚拟的镜像。由系统来判断该节点是否是真实节点,每个队列中都存在着虚拟节点和真实节点,真实节点的体检时间用于计算项目的平均体验耗时。通过使用虚拟自主排队策略,用户进入有了创自后,立即对所有项目进行虚拟排队,系统动态分配插队,从而有效提升体检效率。
[0121] 值得注意的是,上例中是以一次为用户安排两个体验项目为例进行的说明,在实际实现的时候,也可以一次仅为用户安排一个体验项目,那么安排的这个体验项目可以是平均收益最高的,也可以是排队时间最短的项目等,具体可以根据实际需要选择。也可以是一次为用户安排三个体验项目或者是更多个体验项目,同样的,如果是三个项目,那也可以是按照平均收益最高的方式确定为用户安排哪三个体验项目。
[0122] 上述所列举的以平均收益最高确定为用户安排项目是一种示例性描述,在实际实现的时候,也可以采用其它的确定方式,例如,可以按照进入游乐场的先后顺序,对所有用户所选择要体验的项目进行全排列的方式,确定出每个用户合理的体验和排队顺序,然后将每个用户的排队信息推送给用户,且该排队方案可以是基于每个时间点的所有用户的情况进行实时调整的。只要是可以使得整体的体验效率得到提升,同时又可以避免有些用户体验总时间过长的问题的排队方案,都是可行的。
[0123] 图7是本申请所述一种排队方案推送方法的方法流程图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
[0124] 具体的如图7所示,本申请一种实施例提供的一种排队方案推送方法,从用户终端与服务器的交互进行说明,可以包括:
[0125] 步骤701:获取目标用户的身份标识;
[0126] 步骤702:获取所述身份标识对应的待安排项目;
[0127] 步骤703:为所述目标用户生成待安排项目的排队方案,例如,可以按照目标用户完成待安排项目总用时最短作为原则,来生成排队方案,在系统中有多个用户的情况下,就是保证每个目标用户的用户都最短来进行权衡,从而生成较为优化的排队方案;
[0128] 步骤704:将所述排队方案推送至所述目标用户。
[0129] 具体的,上述步骤703为所述目标用户生成待安排项目的排队方案,可以包括:
[0130] S1:获取所述待安排项目中各个项目的平均用时;
[0131] S2:获取所述待安排项目中各个项目已排队的用户数量和未排队的用户数量;
[0132] S3:根据获取的平均用时、已排队的用户数量和未排队的用户数量,为所述目标用户生成排队方案。
[0133] 在一个实施方式中,根据获取的平均检查用时、已排队的用户数量和未排队的用户数量,为所述目标用户生成排队方案,可以包括:
[0134] 根据获取的平均用时和已排队的用户数量,确定将所述目标用户排在所述待安排项目中各个项目当前队列的最后一位的情况下,所述目标用户的开始时间和结束时间;
[0135] 根据获取的平均用时和未排队的用户数量,确定将所述目标用户排在所述待安排项目中各个项目当前队列的最后一位的情况下,所述目标用户的收益;
[0136] 根据确定的开始时间、结束时间和收益,为所述目标用户生成排队方案。
[0137] 在一个实施方式中,根据确定的开始时间、结束时间和收益,为所述目标用户生成排队方案,可以包括:通过待安排项目中各个项目进行排列组合的方式,生成多个排队方案;将所述多个排队方案中可行的且平均收益最大的方案,作为为所述目标用户生成的排队方案。
[0138] 在一个实施方式中,可以是实时计算并获取所述待安排项目中各个项目的平均用时,以及实时获取所述待安排项目中各个项目已排队的用户数量和未排队的用户数量。
[0139] 在一个实施方式中,可以通过但不限于如下方式至少之一,将所述排队方案推送至所述目标用户:
[0140] 1)在显示器上显示排队方案;
[0141] 2)将排队方案发送至目标用户持有的终端设备中;
[0142] 3)通过语音播报的方式播放排队方案。
[0143] 在具体实现的时候,可以是每次在为目标用户安排的排队方案中的项目都完成之后,再为用户安排余下项目的排队方案,即,可以是获取为所述目标用户生成的方案中的项目已完成的结束消息;响应于所述结束消息,获取所述身份标识对应的待安排项目。
[0144] 在本申请中还提供了一种排队信息显示方法,该方法应用在用户终端侧,可以包括如下步骤:
[0145] 步骤1:提供一显示界面;
[0146] 步骤2:接收服务器推送的排队方案其中,所述排队方案是按照目标用户完成待安排项目总用时最短,为所述目标用户生成的排队方案;
[0147] 步骤3:显示所述排队方案,其中,所述排队方案用于指示目标用户待安排项目的排队顺序。
[0148] 即,可以在用户终端显示推送给用户的排队方案,这样用户可以按照推送的排队方案进行排队,从而可以有效提升排队效率。
[0149] 上述排队方案可以包括:下一个项目的项目名称、下一个项目的排队地点。例如,如果是体检的排队方案,用户在完成当前的体检之后,可以知道被安排的下一个体检项目是什么,以及该项目在哪个地方,就可以按照推送的排队方案过去排队,从而可以高效完成体检。如果是游乐园的排队方案,用户在体验完当前的项目之后,可以知道被安排的下一个体验项目是什么以及下一个项目在什么地方,就可以按照推送的方案过去排队,从而可以减少排队的时间,合理体验完自己所选的项目。
[0150] 如图8所示,本申请一种实施例提供的一种队列推送方法,从项目终端与服务器的交互进行说明,可以包括:
[0151] 步骤801:按照目标用户完成待安排项目总用时最短,为目标用户生成待安排项目的排队方案;
[0152] 步骤802:按照生成的排队方案,将所述目标用户的身份标识添加至所述排队方案所指示项目的排队队列中;
[0153] 步骤803:将添加后的排队队列推送至对应的项目终端。
[0154] 在一个实施方式中,在将添加后的排队队列推送至对应的项目终端之后,上述方法还可以包括:接收用于指示所述目标用户已达到项目所在地且完成的完成信息;响应于所述完成信息,将所述目标用户的身份标识从该排队队列中删除。
[0155] 在一个实施方式中,将添加后的排队队列推送至对应的项目所在地之后,还可以接收用于指示所述目标用户未按照所述排队队列的顺序到达对应的项目所在地且未完成的失败信息;响应于所述失败信息,调整所述目标用户的身份标识在该排队队列中的位置。
[0156] 本申请提供的排队方案推送方法和排队队列推送方法,由系统侧生成每个用户的排队方案,然后将排队方案推送给用户,以告知用户按照系统生成的排队方案进行排队,从而解决了现有的多项目场景中,用户按照自己的想法进行排队而导致的排队方案不合理,排队效率低下的问题,达到了有效提升排队效率,提升用户体验的技术效果。
[0157] 根据本发明实施例,还提供了一种排队方案推送方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0158] 本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在服务器上为例,图9是本发明实施例的一种排队方案推送方法的服务器的硬件结构框图。如图9所示,服务器10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图9所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器10还可包括比图9中所示更多或者更少的组件,或者具有与图9所示不同的配置。
[0159] 存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的排队方案推送方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的排队方案推送方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0160] 传输模块106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输模块106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
[0161] 软件层面,排队方案推送装置如图10所示,可以包括:第一获取模块1001、第二获取模块1002、生成模块1003和推送模块1004,其中:
[0162] 第一获取模块1001,用于获取目标用户的身份标识;
[0163] 第二获取模块1002,用于获取所述身份标识对应的待安排项目;
[0164] 生成模块1003,用于为所述目标用户生成待安排项目的排队方案;
[0165] 推送模块1004,用于将所述排队方案推送至所述目标用户。
[0166] 在一个实施方式中,生成模块1003具体可以获取所述待安排项目中各个项目的平均用时;获取所述待安排项目中各个项目已排队的用户数量和未排队的用户数量;根据获取的平均用时、已排队的用户数量和未排队的用户数量,为所述目标用户生成排队方案。
[0167] 在一个实施方式中,生成模块1003根据获取的平均检查用时、已排队的用户数量和未排队的用户数量,为所述目标用户生成排队方案,可以包括:根据获取的平均用时和已排队的用户数量,确定将所述目标用户排在所述待安排项目中各个项目当前队列的最后一位的情况下,所述目标用户的开始时间和结束时间;根据获取的平均用时和未排队的用户数量,确定将所述目标用户排在所述待安排项目中各个项目当前队列的最后一位的情况下,所述目标用户的收益;根据确定的开始时间、结束时间和收益,为所述目标用户生成排队方案。
[0168] 在一个实施方式中,生成模块1003根据确定的开始时间、结束时间和收益,为所述目标用户生成排队方案,可以包括:通过待安排项目中各个项目进行排列组合的方式,生成多个排队方案;将所述多个排队方案中可行的且平均收益最大的方案,作为为所述目标用户生成的排队方案。
[0169] 在一个实施方式中,获取所述待安排项目中各个项目的平均检查时间,可以包括:实时计算并获取所述待安排项目中各个项目的平均用时;实时获取所述待安排项目中各个项目已排队的用户数量和未排队的用户数量。
[0170] 在一个实施方式中,可以但不限于通过如下方式至少之一,将所述排队方案推送至所述目标用户:
[0171] 1)在显示器上显示排队方案;
[0172] 2)将排队方案发送至目标用户持有的终端设备中;
[0173] 3)通过语音播报的方式播放排队方案。
[0174] 在一个实施方式中,第一获取模块1001具体可以获取为所述目标用户生成的方案中的项目已完成的结束消息;响应于所述结束消息,获取所述身份标识对应的待安排项目。
[0175] 软件层面,队列推送装置可以包括:生成模块、添加模块和推送模块,其中:
[0176] 生成模块,用于为目标用户生成待安排项目的排队方案;
[0177] 添加模块,用于按照生成的排队方案,将所述目标用户的身份标识添加至所述排队方案所指示项目的排队队列中;
[0178] 推送模块,用于将添加后的排队队列推送至对应的项目终端。
[0179] 在一个实施方式中,还可以包括接收模块,用于在将添加后的排队队列推送至对应的项目终端之后,接收用于指示所述目标用户已达到项目所在地且完成的完成信息;删除模块,用于响应于所述完成信息,将所述目标用户的身份标识从该排队队列中删除。
[0180] 在一个实施方式中,将添加后的排队队列推送至对应的项目所在地之后,接收用于指示所述目标用户未按照所述排队队列的顺序到达对应的项目所在地且未完成的失败信息;响应于所述失败信息,调整所述目标用户的身份标识在该排队队列中的位置。
[0181] 本申请提供的排队方案推送方法和排队队列推送方法,由系统侧生成每个用户的排队方案,然后将排队方案推送给用户,以告知用户按照系统生成的排队方案进行排队,从而解决了现有的多项目场景中,用户按照自己的想法进行排队而导致的排队方案不合理,排队效率低下的问题,达到了有效提升排队效率,提升用户体验的技术效果。
[0182] 虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
[0183] 上述实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。当然,也可以将实现某功能的模块由多个子模块或子单元组合实现。
[0184] 本申请中所述的方法、装置或模块可以以计算机可读程序代码方式实现控制器按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0185] 本申请所述装置中的部分模块可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0186] 通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的硬件的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,也可以通过数据迁移的实施过程中体现出来。该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
[0187] 本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请的全部或者部分可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、移动通信终端、多处理器系统、基于微处理器的系统、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
[0188] 虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。