在线客服技术方案
来源:互联网 发布:cf断网瞬移源码 编辑:程序博客网 时间:2024/06/11 03:48
在线客服需求:
涉及人员:客服人员,普通客户
客服人员:有固定的工号登录,用户可以选择客服人员。每各客服人员可以设置最大聊天人数。客服人员不在线时,不能聊天。
普通客户:匿名登录。普通客户之间不能聊天,可以选择客服人员。
聊天可以由客服人员发起,或者普通客户发起。
在线客服只支持聊天信息的发送。不支持注册,状态,注册等功能。
在线客服的技术主要有以下几种方案(只是目前我了解的):
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,需要限制并发聊天数目,同时配置单独的线程池。
- 在线客服技术方案
- 在线客服技术方案
- 在线客服技术详解(未完待续)
- 在线客服技术详解(理论)
- 在线客服
- 使用反向Ajax技术做在线客服系统
- 实现在线QQ客服
- qq客服在线源代码
- 在线QQ客服代码
- QQ在线客服代码
- 在线QQ客服代码
- 在线客服QQ代码
- 在线客服QQ代码
- 在线客服QQ代码
- QQ在线客服
- 简单在线客服QQ
- 客服在线问题1
- QQ在线客服代码
- ASP.NET 跨页面传值总结
- 国内首款安全浏览器即将面世
- 正则表达式语法参考
- 精通COBOL--11.8 小结
- Eclipse自动生成注释
- 在线客服技术方案
- 阿里妈妈称日均覆盖人数破7000万
- extjs新宠儿
- 使用JSP页面执行el表达式的方法
- javascript 中的事件
- 关于MOSS的学习方向
- 八大亮点将呈现第十七届金鸡百花电影节
- 精通COBOL--第16章 CICS扩展
- 第十七届中国电影盛会在连举行