本发明涉及通信领域,具体而言,涉及一种队列签到方法及装置。
背景技术:
:传统的排队系统,只能基于用户到进入队列的时间来顺序排列用户的位置,比如现有的银行的排队机制。通常情况下,会存在以下两个问题:1、排队过程中,有特殊情况需要插队而又不至于使得队列乱序。2、用户可预约占住序号,如果每个客户的消耗时间可预计的话,还能预约到具体的时间点,大大地减少用户排队所需要消耗的时间。现有的排队系统,只能基于用户到进入队列的时间来顺序排列用户的位置,当遇到用户有特殊情况,比如用户是老年人,或者用户特别着急的事情需要优先处理的时候,现有的排队系统无法支持插队情况,只能由工作人员人工干预队列情况,通过干预接待点(处理事情的地方,比如银行的柜台)来实现,很不利于队列中的其它用户的理解,也容易造成矛盾冲突。此外,现有的排队系统也无法实现预约然后来减少用户等待时间的功能。技术实现要素:本发明的主要目的在于公开了一种队列签到方法及装置,以至少解决相关技术中现有的排队系统无法支持插队情况,只能由工作人员人工干预队列情况,通过干预接待点来实现,很不利于队列中的其它用户的理解,也容易造成矛盾冲突的问题。根据本发明的一个方面,公开了一种队列签到方法。根据本发明的队列签到方法包括:将全部待签到用户划分为多个用户类型;当存在签到用户时,确定该用户对应的用户类型;确定与所述用户类型对应的预定策略,采用预定策略获取该用户在队列中的序号、显示给该用户的位置序号、以及该用户在队列中实际的位置序号;根据该用户在队列中实际的位置序号将该用户放置到队列中。优选地,当所述用户类型为需要正常排队的普通用户类型时,所述采用预定策略获取该用户在队列中的序号、显示给该用户的位置序号、以及该用户在队列中实际的位置序号包括:该用户在队列中的序号order1为:该用户达到签到所在的队列中当前的人数+1;所述显示给该用户的位置序号ticket_order1为:该用户达到签到所在的队列中当前的人数+1;该用户在队列中实际的位置序号real_order1为:N*order1,其中,N为每相邻的两个普通用户类型的用户之间的间隔数,该间隔数为大于等于所述用户类型的总数的整数。优选地,当所述普通用户类型的用户为预约用户时,则预约时显示的位置序号等于所述order1,ticket_order1=order1,当该预约用户签到时,在用户签到的时间小于预约时间或者该预约用户在队列中的序号order1小于当前呼叫到的序号时,该预约用户的real_order1为预约时显示的位置序号order1*N。优选地,当所述普通用户类型的用户为预约用户时,则预约时显示的位置序号等于所述order1,ticket_order1=order1,当该预约用户签到时,在用户签到的时间大于等于预约时间且该预约用户在队列中的序号order1大于等于当前呼叫到的序号时,将所述预约用户设置为未预约的普通用户签到,重新分配所述order1,ticket_order1和real_order1。优选地,所述预约时间为:排队开始时间+该预约用户在队列中的序号order1*将队列中的所有用户处理完成耗时/排队开始时间至将队列中的所有用户处理完成时间内的平均处理用户数,其中,所述平均处理用户数为动态调整值。优选地,当所述用户类型为需要插队的特殊用户类型时,采用预定策略获取该用户在队列中的序号、显示给该用户的位置序号、以及该用户在队列中实际的位置序号包括:该用户在队列中的序号order2为:该用户达到签到所在的队列中当前的人数+1;所述显示给该用户的位置序号ticket_order2为:该特殊用户类型的用户数+1;该用户在队列中实际的位置序号real_order2通过以下方式得出:如果当前队列中无任何用户排队,则real_order2为:该特殊用户类型的设置参数type1;如果当前队列中有用户排队,则real_order2为:m和n中较大的值,其中,m为队列中前面有可插入该特殊用户类型的空位的首个普通用户的real_order1_first-N+需要插队的特殊用户类型的设置参数type2;n为根据公式((((real_order2_last-1)/10)向下取整)+1)*10+需要插队的特殊用户类型的设置参数type2,其中,real_order2_last为该特殊用户类型的最后一个用户的在队列中实际的位置序号。优选地,根据该用户在队列中实际的位置序号将该用户放置到队列中之后,还包括:对于所有签到的用户,根据所述签到的用户在队列中实际的位置序号依次升序呼叫用户,其中,呼叫内容包括:呼叫的用户对应的用户类型,以及显示给该用户的位置序号。根据本发明的又一方面,公开了一种队列签到装置。根据本发明的队列签到装置包括:划分模块,用于将全部待签到用户划分为多个用户类型;确定模块,用于在存在签到用户时,确定该用户对应的用户类型;获取模块,用于确定与所述用户类型对应的预定策略,采用预定策略获取该用户在队列中的序号、显示给该用户的位置序号、以及该用户在队列中实际的位置序号;放置模块,用于根据该用户在队列中实际的位置序号将该用户放置到队列中。优选地,当所述用户类型为需要正常排队的普通用户类型时,所述获取模块包括:第一获取单元,用于根据以下方式获取该用户在队列中的序号order1:order1=该用户达到签到所在的队列中当前的人数+1;第二获取单元,用于根据以下方式获取所述显示给该用户的位置序号ticket_order1:ticket_order1=该用户达到签到所在的队列中当前的人数+1;第三获取单元,用于根据以下方式获取该用户在队列中实际的位置序号real_order1:real_order1=N*order1,其中,N为每相邻的两个普通用户类型的用户之间的间隔数,该间隔数为大于等于所述用户类型的总数的整数。优选地,当所述用户类型为需要插队的特殊用户类型时,所述获取模块包括:第四获取单元,用于根据以下方式获取该用户在队列中的序号order2:order2=该用户达到签到所在的队列中当前的人数+1;第五获取单元,用于根据以下方式获取所述显示给该用户的位置序号ticket_order2:ticket_order2=该特殊用户类型的用户数+1;第六获取单元,用于根据以下方式获取该用户在队列中实际的位置序号real_order2:如果当前队列中无任何用户排队,则real_order2为:该特殊用户类型的设置参数type1;如果当前队列中有用户排队,则real_order2为:m和n中较大的值,其中,m为队列中前面有可插入该特殊用户类型的空位的首个普通用户的real_order1_first-N+需要插队的特殊用户类型的设置参数type2;n为根据公式((((real_order2_last-1)/10)向下取整)+1)*10+需要插队的特殊用户类型的设置参数type2,其中,real_order2_last为该特殊用户类型的最后一个用户的在队列中实际的位置序号。与现有技术相比,本发明实施例至少具有以下优点:将序号从传统的一种序号拆分为三种序号:用户在队列中的序号,该用户在队列中实际的位置序号、和显示给该用户的位置序号。可以在队列中插入特殊用户(例如,老人、残疾人、退伍军人等),优先处理上述特殊用户,且在显示和呼叫的时候进行特殊标识,让队列用户便于理解,大大提高了用户体验。附图说明图1是根据本发明实施例的队列签到方法的流程图;图2是根据本发明优选实施例的预约签到呼叫总流程的示意图;图3是根据本发明优选实施例的预约流程的示意图;图4是根据本发明优选实施例的取号流程的示意图;图5是根据本发明优选实施例的优先处理流程的示意图;图6是根据本发明优选实施例的呼叫处理流程的示意图;图7是根据本发明实施例的队列签到装置的结构框图;以及图8是根据本发明优选实施例的队列签到装置的结构框图。具体实施方式下面结合说明书附图对本发明的具体实现方式做一详细描述。图1是根据本发明实施例的队列签到方法的流程图。如图1所示,该队列签到方法包括:步骤S101:将全部待签到用户划分为多个用户类型;步骤S103:当存在签到用户时,确定该用户对应的用户类型;步骤S105:确定与所述用户类型对应的预定策略,采用预定策略获取该用户在队列中的序号、显示给该用户的位置序号、以及该用户在队列中实际的位置序号;步骤S107:根据该用户在队列中实际的位置序号将该用户放置到队列中。现有的排队系统可以根据工作人员主要干预的方案来实现特殊用户插队的情况,这种方案会导致队列中的其它人员感觉到不公而引发矛盾冲突,现在的排队系统不能解决用户预约占号的方案。采用图1所示的方法,将序号从传统的一种序号拆分为三种序号:用户在队列中的序号,该用户在队列中实际的位置序号、和显示给该用户的位置序号。可以在队列中插入特殊用户(例如,老人、残疾人、退伍军人等),优先处理上述特殊用户,且在显示和呼叫的时候进行特殊标识,让队列用户便于理解,大大提高了用户体验。其中,队列中的元素结构包括但不限于:order:用户在队列中的序号;real_order:队列中真正表示用户位置的序号;ticket_order:打印出来给用户,用户显示和叫号的序号;type:表示用户类型,例如,0普通用户、1老人、2残疾人、3退伍军人等;state:表示用户当前状态,例如,0初始状态、1签到状态(在队列中)、2正在处理、3已处理。在优选实施过程中,如表1所示,普通用户的real_order(用户在队列中实际的位置序号)是N为间隔,其中,N可以为为大于等于所述用户类型的总数的整数,例如,5,10,20,100等),为便于测试和排查问题,后文采用10为例,也就是队列中每隔9个特殊用户就有一个普通用户,特殊用户在队列中的位置按特定的方式设置,例如,老人优先级最高,设置在1号位、11号位;其次是残疾人,设置在2号位,12号位等。采用本方案优点在于普通人前面插队的特殊人员是有限的,且每个特殊人员只能和普通人员间隔插队,普通人员不会无限等待容易接受。表1type老人残疾人退伍军人...普通人...普通人real_order123...10...20优选地,当所述用户类型为需要正常排队的普通用户类型时,所述采用预定策略获取该用户在队列中的序号、显示给该用户的位置序号、以及该用户在队列中实际的位置序号包括:该用户在队列中的序号order1为:该用户达到签到所在的队列中当前的人数+1;所述显示给该用户的位置序号ticket_order1为:该用户达到签到所在的队列中当前的人数+1;该用户在队列中实际的位置序号real_order1为:N*order1,其中,N为每相邻的两个普通用户类型的用户之间的间隔数,该间隔数为大于等于所述用户类型的总数的整数。即,普通用户的order1是该用户到达签到所在队列中的人数+1,ticket_order等于order,普通用户的real_order=N*order。例如,当前队伍里面有5个人,普通人员签到时order等于6,ticket_order等于6,real_order等于60(N设置为10)。优选地,当所述用户类型为需要插队的特殊用户类型时,采用预定策略获取该用户在队列中的序号、显示给该用户的位置序号、以及该用户在队列中实际的位置序号包括:该用户在队列中的序号order2为:该用户达到签到所在的队列中当前的人数+1;所述显示给该用户的位置序号ticket_order2为:该特殊用户类型的用户数+1;该用户在队列中实际的位置序号real_order2通过以下方式得出:如果当前队列中无任何用户排队,则real_order2为:该特殊用户类型的设置参数type1;如果当前队列中有用户排队,则real_order2为:m和n中较大的值,其中,m为队列中前面有可插入该特殊用户类型的空位的首个普通用户的real_order1_first-N+需要插队的特殊用户类型的设置参数type2;n为根据公式((((real_order2_last-1)/10)向下取整)+1)*10+需要插队的特殊用户类型的设置参数type2,其中,real_order2_last为该特殊用户类型的最后一个用户的在队列中实际的位置序号。例1:队伍中没有人的情况下,老人来签到了,老人得到的order等于1,ticket_order等于1,real_order=1;例2:N=10为例表2type残疾人普通人普通人普通人real_order2102030队列如表2所示,当再来一个老人签到得到的order等于5,ticket_order等于1,real_order=1;当再来一个残疾人签到得到的order等于5,ticket_order等于2,real_order=12;例3:N=10为例表3type老年人残疾人退伍军人普通人real_order12340队列如表3所示,当再来一个老人签到得到的order等于5,ticket_order等于2,real_order=31。优选地,当所述普通用户类型的用户为预约用户时,则预约时显示的位置序号等于所述order1,ticket_order1=order1,当该预约用户签到时,在用户签到的时间小于预约时间或者该预约用户在队列中的序号order1小于当前呼叫到的序号时,该预约用户的real_order1为预约时显示的位置序号order1*N。优选地,当所述普通用户类型的用户为预约用户时,则预约时显示的位置序号等于所述order1,ticket_order1=order1,当该预约用户签到时,在用户签到的时间大于等于预约时间且该预约用户在队列中的序号order1大于等于当前呼叫到的序号时,将所述预约用户设置为未预约的普通用户签到,重新分配所述order1,ticket_order1和real_order1。其中,所述预约时间为:排队开始时间+该预约用户在队列中的序号order1*将队列中的所有用户处理完成耗时/排队开始时间至将队列中的所有用户处理完成时间内的平均处理用户数,其中,所述平均处理用户数为动态调整值。例如,可以实时根据之前30天内的处理用户数来确定平均处理用户数。在优选实施过程中,预约用户设定为普通用户,预约的位置就是order1,ticket_order1等于order1,预约时间的预定策略为:预约时间=排队开始时间+order1*将队列中的所有用户处理完成耗时/排队开始时间至将队列中的所有用户处理完成时间内的平均处理用户数。预约用户签到时,当该用户签到的时间小于预约时间或者该预约用户在队列中的序号order1小于当前呼叫到的序号时,real_order等于order1(预约的号)*10,否则把他当成普通用户签到,重新分配order1,ticket_order1和real_order1。优选地,根据该用户在队列中实际的位置序号将该用户放置到队列中之后,还可以包括:对于所有签到的用户,根据所述签到的用户在队列中实际的位置序号依次升序呼叫用户,其中,呼叫内容包括:呼叫的用户对应的用户类型,以及显示给该用户的位置序号。优选实施过程中,呼叫的顺序为按照real_order升序排列,取第一个状态为签到状态的用户,呼叫type(用户的类型)以及ticket_order。例如,type等于1,ticket_order等于4,打印出来的票号和呼叫的号码为老人4号。以下结合图2进一步描述上述优选实施方式。图2是根据本发明优选实施例的预约签到呼叫总流程的示意图。如图2所示,该预约签到呼叫总流程包括:步骤S201:判断用户是否需要进行预约操作;如果是,执行步骤S203,否则,执行步骤S205。步骤S203:响应用户操作,执行预约操作。步骤S205:响应用户操作,确定现场取票。步骤S207:在用户签到时,判断该用户是否需要优先处理;如果是,则执行步骤S209,否则,执行步骤S211。步骤S209:将该用户按照预定策略插入队列中以对该用户进行优先处理。步骤S211:按照real_order升序顺序依次呼叫;步骤S213:对呼叫到的用户执行相应处理。其中,预约、取号、优先处理、呼叫流程具体可以参见图3至图5的描述。图3是根据本发明优选实施例的预约流程的示意图。如图3所示,该预约流程包括:步骤S301:获取预约位置所在的real_order;步骤S303:在队列中插入该用户,状态设置为初始状态。图4是根据本发明优选实施例的取号流程的示意图。如图4所示,该取号流程包括:步骤S401:判断该用户有无预约;如果有,执行步骤S403,否则,执行步骤S405。步骤S403:将队列中的用户状态设置为签到状态。步骤S405:分配最后的位置给用户并将该用户插入队列中。步骤S407:按照该用户的ticket_order给该用户打印票号。图5是根据本发明优选实施例的优先处理流程的示意图。如图5所示,该优先处理流程包括:步骤S501:获取特殊符号所在的位置的real_order;步骤S503:更改用户所在的队列位置。图6是根据本发明优选实施例的呼叫处理流程的示意图。如图6所示,该呼叫处理流程包括:步骤S601:获取队列中的real_order最小且状态为已签到状态的用户。步骤S603:把上一个正在处理状态的用户改为已处理状态,把S601中查找到的用户改为正在处理状态,通过客户端进行播报。图7是根据本发明实施例的队列签到装置的结构框图。如图7所示,该队列签到装置包括:划分模块70,用于将全部待签到用户划分为多个用户类型;确定模块72,用于在存在签到用户时,确定该用户对应的用户类型;获取模块74,用于确定与所述用户类型对应的预定策略,采用预定策略获取该用户在队列中的序号、显示给该用户的位置序号、以及该用户在队列中实际的位置序号;放置模块76,用于根据该用户在队列中实际的位置序号将该用户放置到队列中。采用图7所示的装置,将序号从传统的一种序号拆分为三种序号:用户在队列中的序号,该用户在队列中实际的位置序号、和显示给该用户的位置序号。可以在队列中插入特殊用户(例如,老人、残疾人、退伍军人等),优先处理上述特殊用户,且在显示和呼叫的时候进行特殊标识,让队列用户便于理解,大大提高了用户体验。优选地,如图8所示,当所述用户类型为需要正常排队的普通用户类型时,所述获取模块74可以进一步包括:第一获取单元740,用于根据以下方式获取该用户在队列中的序号order1:order1=该用户达到签到所在的队列中当前的人数+1;第二获取单元742,用于根据以下方式获取所述显示给该用户的位置序号ticket_order1:ticket_order1=该用户达到签到所在的队列中当前的人数+1;第三获取单元746,用于根据以下方式获取该用户在队列中实际的位置序号real_order1:real_order1=N*order1,其中,N为每相邻的两个普通用户类型的用户之间的间隔数,该间隔数为大于等于所述用户类型的总数的整数。优选地,当所述用户类型为需要插队的特殊用户类型时,所述获取模块74包括:第四获取单元748,用于根据以下方式获取该用户在队列中的序号order2:order2=该用户达到签到所在的队列中当前的人数+1;第五获取单元750,用于根据以下方式获取所述显示给该用户的位置序号ticket_order2:ticket_order2=该特殊用户类型的用户数+1;第六获取单元752,用于根据以下方式获取该用户在队列中实际的位置序号real_order2:如果当前队列中无任何用户排队,则real_order2为:该特殊用户类型的设置参数type1;如果当前队列中有用户排队,则real_order2为:m和n中较大的值,其中,m为队列中前面有可插入该特殊用户类型的空位的首个普通用户的real_order1_first-N+需要插队的特殊用户类型的设置参数type2;n为根据公式((((real_order2_last-1)/10)向下取整)+1)*10+需要插队的特殊用户类型的设置参数type2,其中,real_order2_last为该特殊用户类型的最后一个用户的在队列中实际的位置序号。图8示出了同时包括第一获取单元、第二获取单元、第三获取单元、第四获取单元、第五获取单元、第六获取单元的情况。综上所述,借助本发明提供的上述实施例,将序号从传统的一种序号拆分为三种序号:用户在队列中的序号,该用户在队列中实际的位置序号、和显示给该用户的位置序号。预约时直接预约到序号插入队列,并获取预约时间,并在签到时判断用户是否超过了预约时间等而采用不同策略获取该用户的实际序号。非预约用户签到时根据算法获取该类型的用户的序号、真实序号和喊号序号并将用户插入队列。因此采用本发明实施例,可以预约占号,预算处理该号码的时间,减少用户的排队时间。在队列中用户可以根据工作人员触发优先处理操作,在根据算法获取到操作用户在队列中的序号,该用户在队列中实际的位置序号、和显示给该用户的位置序号,从而解决排队过程中,有特殊情况需要插队而又不至于使得队伍乱序的问题。在显示和呼叫的时候进行特殊标识,让队列用户便于理解,大大提高了用户体验。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。当前第1页1 2 3