在线客服系统技术方案

yyf365 贡献于2010-11-18

作者 walkinnet  创建于2010-02-24 03:27:00   修改者walkinnet  修改于2010-02-24 03:27:00字数1334

文档摘要:在线客服需求:涉及人员:客服人员,普通客户客服人员:有固定的工号登录,用户可以选择客服人员。每各客服人员可以设置最大聊天人数。客服人员不在线时,不能聊天。普通客户:匿名登录。普通客户之间不能聊天,可以选择客服人员。聊天可以由客服人员发起,或者普通客户发起。在线客服只支持聊天信息的发送。不支持注册,状态,注册等功能。
关键词:

在线客服需求:涉及人员:客服人员,普通客户客服人员:有固定的工号登录,用户可以选择客服人员。每各客服人员可以设置最大聊天人数。客服人员不在线时,不能聊天。普通客户:匿名登录。普通客户之间不能聊天,可以选择客服人员。聊天可以由客服人员发起,或者普通客户发起。在线客服只支持聊天信息的发送。不支持注册,状态,注册等功能。 在线客服的技术主要有以下几种方案(只是目前我了解的): 1 socket技术主要用于flash和applet等浏览器插件。 2 comet技术包含基于ajax的long polling技术和server push技术 ajax long polling:最常用的web im技术:浏览器使用ajax进行服务请求,保持tcp连接,直到连接超时,断开之后马上重连,也就是客户端始终保持一个连接。优点:不需要安装插件,开发简单,可以满足在线客服的需求。缺点:保持长连接,占用连接资源和线程资源。需要限定连接人数,并使用新的线程池,不能使用默认的线程池。 server push技术:实际是异步servlet技术,当有事件时,直接push到客户端。优点:可以释放线程资源,减少资源的使用。缺点:只有tomcat和jetty支持,weblogic8不支持,同时也需要保持长连接。 3 streaming技术主要用于直播技术,不涉及到客户端交互的情形。一般同步隐藏iframe技术实现,保持tcp连接,server持续push信息。ie不支持。 4 chat server技术目前比较流行的是基于xmpp的im技术。有开源的server和类似qq的客户端,xep-0124也支持bosh技术,相关的开源软件是jwchat+jhb。优点:有成熟的开源服务器和客户端,协议开源,可以支持并发度较高的情况,可以支持复杂的操作要求,如状态同步,注册,聊天,改名,群发,聊天室等各种操作。缺点:不太符合在线客服的业务需求,如果使用,则需要修改服务器和客户端,有一定的难度。 5 定时刷屏技术,以前的技术。 方案选择:基于ajax的Long polling技术。 具体技术方案要点: 1 使用ajax保持长连结 超时重连,服务端响应后重连 伪代码: while(true) { try{ connectToServer();//blocking }catch(e) { } } 利用InnerHTML进行聊天信息的append。 客户发起聊天:点击聊天按钮,选择客服人员。 聊天通知:使用polling技术,通知客服人员。客服发起聊天:存在活动的客服人员,自动弹出聊天窗口。终止聊天:长时间无响应,退出网站。任何一方关闭聊天窗口。 2 服务端聊天session: 一次聊天过程成为一个session,不同于jsp中的session.使用sessionid来表示session,聊天双方的窗口关闭,session就过期。每一个session一个response队列。也就是一次聊天对应两个队列。处理过程:客户和客服人员都直接和weblogic交互,相互之间无直接连接。发送之 后,转发到影响的session的队列。从接收队列获取数据,返回到客户端,断开连接,重新连接。 由于需要保持thread和connection,需要限制并发聊天数目,同时配置单独的线程池。

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享文档获得金币 ] 3 人已下载

下载文档