实践出真知

花火田丁 2018-02-12 15:03:20 +0000

题图来自NextDay @Boracay,菲律宾 By 任燕妮


今天的内容会略微偏技术一点,没兴趣看的可以直接跳到最后几段看总结。


这几天跟同事讨论一个产品的排队机制,业务场景并不复杂:用户向专家或者团队发起咨询请求。无非是两种情况,专家在线进入排队,专家不在线则预约时间,到了预约时间就按照先后顺序排队进行咨询。如果用户没有指定团队中的某个专家,那么将会由系统安排团队中任何一位专家给用户,那么这种情况下,用户排得不是某个专家,而是整个团队中处于「闲」状态的专家。


从技术上来说,通过队列去处理就好,等待咨询的用户放在一个队列A,等待被咨询的专家们放在一个队列B,从A中按照先进先出的顺序取出一个用户,从队列B中也是按照上线顺序取出一个专家,放进一个房间开始咨询。


值得注意的是,同一位专家(暂且称为X专家)可以属于不同的团队,专家只要一上线,会将该专家加入到他所属的所有团队的在线专家队列中开始排队等待被咨询。


而对于用户这端,有的人就是在排X专家的队,有的人则是排X专家所属的团队,从道理上来讲,X专家应该优先处理指名道姓要找他本人咨询的人,然后再去处理团队的咨询请求,毕竟团队可能还有其他专家在线等待被咨询。


到这里,你会发现问题的关键在于如何才能合理地利用X专家的时间,同时让所有专家都有公平的被咨询机会。


容我再花点时间解释下这个关键。


找他本人咨询的好办,就按照先进先出处理完就行。到了团队这边,X专家处于多个团队的在线专家对列中,比如说有团队T1、团队T2、团队T3,按照上线顺序,X专家分别排于这3个团队的第3位、第5位、最后一位。


假设T1的先到了,X专家处理T1用户的时候,T2的用户到了,那么这时候理所当然应该选择T2的后一位在线专家给用户,那么,问题来了,这时候,X专家在T2中的位置应该怎么处理,按照惯例,队列都是先进先出,出来的再排到队尾去。


那么情况就会变成,X专家做完了T1的那位用户,排到了T1队尾,而T2由于释放出了X专家后面那位专家,X专家也排到了队尾,我们假设T3还没有动静,于是X专家当前在3个队列中都处于队尾,可以试想一下,接下来X专家的时间就是在等等等。


这样的方案从技术上来说没有问题,符合队列的机制,但是从效率和公平性上来说存在很大的问题。


也许你会觉得,经过这样清晰的分析,问题不难解决呀,知道了症结所在,就好办了呀。要知道,在写这篇文章的时候,显然我们已经讨论出了合理的解决方案,在这种情况下,思路已经理顺,把前因后果说清楚是很自然的事情。而在当时那个节点上,俩人是一团乱麻,哪来的X专家呀、画个方块排队示意图这些具体的东西,都是密密麻麻的代码,Push Pop一堆一堆的。


(插播一句,我挺喜欢倒叙这种方式,在胸有成竹掌控全局之后,坦坦荡荡地抛出一堆问题,这滋味倍儿爽,哈哈。)


然后俩人是怎么从这抽象的世界中顿悟出来的呢。

答案是 ——  SPA推拿店


推拿店进门墙上会挂着今日当班技师的铭牌,一行就是一项技能,比如,第一行是全身推拿,后面挂着技师A、B、C、D,第二行是足底按摩,后面挂着D、C、F,以此类推。技师的名字可能会同时出现在不同的技能里。


来店客人可以选择自己相熟的技师,俗称「点钟」,没有选择的就按照铭牌顺序进行安排,又称「排钟」。当有客人时,技师就从墙上拿走自己的铭牌,完成后再挂上去。


俩人一拍大腿,这不就是最经典的多人队列吗,太形象了,于是难题迎刃而解,才有了今天这篇文章。


不得不佩服人民群众的智慧,真是应了一句老话「实践出真知」。这一套机制一定是经历了时间的考验,一方面要保证客人不会等太久,另一方面又要考虑到所有技师都应享有同等公平的机会,对工作持续抱有积极性。


其实生活中不乏这样的例子,在互联网还没那么盛行,至少是O2O还没火热的时候,很多非互联网企业、甚至一些小作坊的运行机制其实很有智慧,就像这个「排钟」,最初看到,也没觉得有什么稀奇,不就是翻块小牌子嘛,但是实际遇到类似的问题,回过头来再去想,这背后深藏的不仅仅是规则,还有对于人心的揣度,细思极恐。


我相信,互联网的初衷是让一切互联互通,让沟通和生活变得便捷。而当我们习惯了用互联网思维去分析去改造一切的时候,有时候,反而让事情更加复杂了,就像有一些本不存在的O2O场景硬生生地被资本营造了出来。我们真正应该做的是,让这些好的经验能够通过互联网传播开来,更好地利用起来。


我始终觉得互联网只是一种形式或工具,而不应该是一种状态。


陈可辛导演用iPhone X拍出了感人的《三分钟》,是iPhone X的各种高科技帮助陈导将剧本实现得更好,让每个人都有了拍一部感人作品的冲动,而不是说,仅仅是为了能淋漓尽致地展现iPhone X强大的摄影功能而刻意去设计了这样一个剧本,当然,最终的效果确实是让大家觉得iPhone X真牛,是事实。


Apple的广告从来都是这么高的境界,先让你看完一个很赞的片子,最后暗戳戳地告诉大家,看,这就是iPhone拍的。


稍稍有点跑题,主要意思是,不要为了互联网而互联网化,就像人工智能和人,各有所长,何必非得要闹个你死我活,和谐共处未尝不可。

撒欢吧
谈理想
聊人生
讲故事
相对论
花火田丁
微信号:huahuoding
花火田丁
不折腾不人生