大家会碰到类似这样的事情,比如,找你的租房中介负责人让处理一下空调坏了,中介负责人回答你说“我现在不负责你了 ,你去联系A。”你觉得这件事有些不爽,没办法,去联系A。说不定A又会说自己不负责了,让你联系B。
碰到这种“你去联系XXX”的情况,我想没有人会开心的。
如果这样的“重定向”形成了环,那么用户一直被“踢皮球”,不会得到处理。用户就要抓狂了!
PS:是不是想到了有关部门的处理方式,哈哈
作为客户,是体验差的问题;作为服务方,其实意味着客户的流失!
我们把这个问题,称为“事务转手”,服务方的负责人称为“代理”。“事务转手”的情况常常会有,“代理”如何处理才合理呢?
代理把问题提给接手的同学,处理完了,再把结果反馈给用户。
即代理“一杆到底”都处理了,用户不需要感知有转手这件事,体验最好。但问题是
重定向,即让用户去联系下一任。上文也提到可以会出现“踢皮球”的风险(这是一个不能接受的情况)。
另外,之前代理承诺了是负责该用户的,用户在要代理处理事务时,用户如果没有被事先告知代理有变化,那么之前代理承诺是没有变化的。所以,用户在要代理处理事务时,用户被重定向到A,代理并没有负责处理好(用户要做额外的联系工作,并不期望要做),这个“用户被重定向”是代理违背了自己的承诺!
PS: 这让我想到了“契约精神”!
上面2种处理方式很容易想到,但存在问题。从方法2的分析可以看出,一个关键点是“事先告知用户代理有变化”,展开说明如下:
可以看出这个处理方式包含了1方式和2方式的内容。能避免前两种方式中会有的问题:
找出真正可以处理代理A”并告知用户以后的事务已转交A
为什么不是
告知用户以后的事务已转交自己的下一任
原因是这样可以避免下面的情况:
用户会连续多次被告知业务交给了下一任(当次的事务会被直接处理),如果下一任也转交了任务。
从上面给出的方法中可以看到,应该提前通知用户事务转交的事情,让用户早有准备。
当然最好的情况还是避免告知用户转交这种情况的发生。可以方法有:
用户联系的是一个稳定信息比如服务中心(像10086),而不是某个直接某个代理。
当然服务中心本身的信息同样面临这个问题,即可以会变更转手,不能使用服务中心的方式(否则这是死循环的方法了)。这是个小概率事件,并且要慎重处理。
事务处理关心的指标
这段时间在调研Paxos,看了Paxos相关论文。Paxos包含了很多代理间的交互,触发了生活中代理问题(由租房中介的事引起)的思考。
后面会整理出一系列Paxos分享来 :)
PS: 本文也放在我的个人博客:事务转手策略及其用户感受的分析。