近段时间利用业余时间开发了一套在线客服系统,期间遇到过大大小小很多问题,好在都一一解决,最终效果也还能够,打算写一个系列的文章把开发过程详细的记录下来。web
但愿可以和更多的开发人员互相交流学习,也但愿有有兴趣的小伙伴一块儿加入开发当中来,毕竟一我的的力量是有限的 :)浏览器
有兴趣的小伙伴请加Q:279060597服务器
系列文章将分为几个部分网络
零、概述(本篇)框架
1、需求分析及技术方案初步选型异步
2、技术方案选型,验证工具
3、底层框架设计,开发学习
4、服务器设计开发优化
5、客户端设计开发网站
6、Web端设计开发
在这个系列的文章中,您将了解并学习到如下技术知识:
ASP.NET MVC、WPF、MSMQ、YUI、WebSocket
若是这些技术对您有用,还请您 推荐 一下本文章,谢谢!
首先是需求,咱们大概看看什么是在线客服系统:
只需将系统生成的一段JavaScript代码嵌入网站页面,便可在网站上显示表明客服的浮动小图标,邀请框,以及小聊天窗口。
而对于客服:
1.变被动为主动,使营销人员(客服)主动发现并跟踪网站访客,实时掌握访客动向,向访客发起聊天邀请或直接强制会话。
2.对营销人员(客服)实行有效管理与考核,借助实时监控,历史记录,统计分析等功能。
3.营销辅助功能:访客地域,来源网页,搜索引擎关键字,快捷回复,消息预知等功能。
4.网页回拨电话,访客输入本身的电话号码系统自动记录并回拨接通营销人员(客服)与访客的电话;营销人员(客服)也能够直接使用客服端软件在电脑上拨打手机或固定电话。
这就是咱们要开发的系统,还好需求很是明确,并不复杂。
关于技术方案的选型:
1)服务器操做系统:
Windows Server 2012
Windows Server 2012 是微软下一代 Windows 服务器的最新版本,它采用超越虚拟化技术,可经过一台服务器提供多台服务器的功能, 实现至关灵活的工做方式,为每一个应用程序创造更大的发挥空间 。它将向企业和托管提供商提供可伸缩、动态、支持多租户以及经过云计算获得优化的基础结构,并能帮助 IT 专业人员更快、更高效地响应业务需求。
2)消息服务:
MSMQ
在线客服系统最重要的是什么,固然是网站访客与客服人员消息的互通,我不推荐重复造轮子,而是更愿意选择成熟稳定的产品来为咱们服务。
Message Queue(微软消息队列)是在多个不一样的应用之间实现相互通讯的一种异步传输模式,相互通讯的应用能够分布于同一台机器上,也能够分布于相连的网络空间中的任一位置。它的实现原理是:消息的发送者把本身想要发送的信息放入一个容器中(咱们称之为Message),而后把它保存至一个系统公用空间的消息队列(Message Queue)中;本地或者是异地的消息接收程序再从该队列中取出发给它的消息进行处理。
在消息传递机制中,有两个比较重要的概念。一个是消息,一个是队列。消息是由通讯的双方所须要传递的信息,它能够是各式各样的媒体,如文本、声音、图象等等。消息最终的理解方式,为消息传递的双方事先商定,这样作的好处是,一是至关于对数据进行了简单的加密,二则采用本身定义的格式能够节省通讯的传递量。消息能够含有发送和接收者的标识,这样只有指定的用户才能看到只传递给他的信息和返回是否操做成功的回执。消息也能够含有时间戳,以便于接收方对某些与时间相关的应用进行处理。消息还能够含有到期时间,它代表若是在指定时间内消息还未到达则做废,这主要应用与时间性关联较为紧密的应用。
3)Web 开发框架:
YUI,WebSocket
对于在线客服系统,Web页面的稳定性和速度很是重要,在此咱们使用 YUI 和 WebSocket 来构建可与服务端实时交互的 Web 系统。
YUI:YUI库是一系列使用Javascript和CSS建立的的工具和控件集,用来建立富客户端Web应用。使用到了DOM scripting,DHTML和AJAX。
WebSocket:是HTML5开始提供的一种在单个 TCP 链接上进行全双工通信的协议。WebSocket通讯协议于2011年被IETF定为标准RFC 6455,WebSocketAPI被W3C定为标准。在WebSocket API中,浏览器和服务器只须要作一个握手的动做,而后,浏览器和服务器之间就造成了一条快速通道。二者之间就直接能够数据互相传送。
4)客服端开发框架:
Microsoft .NET Framework 4.5 / WPF
Windows Presentation Foundation (WPF) 是下一代显示系统,用于生成能带给用户震撼视觉体验的 Windows 客户端应用程序。 使用 WPF,您能够建立普遍的独立应用程序以及浏览器承载的应用程序。
5)服务端开发框架:
Microsoft ASP.NET MVC 4
微软官方提供的MVC模式编写Asp.net Web应用程序的一个框架。
系统结构:
话很少说,先上图:
客服端主界面:
网页端:
网页端大聊天窗口
手机端聊天界面:
功能分解
访问状态跟踪:
实时扫描跟踪正在浏览网站的访客,在客服端经过树形目录进行分类展现。
访客信息采集/搜索引擎关键字分析
识别访客的:来源地域,IP地址,来源网页地址,使用的终端设备类型以及正在浏览的网页等。
智能识别访客的来源地址,若是来源地址为搜索引擎,则分析来源搜索引擎及搜索关键字。
轨迹跟踪:
在聊天区及辅助功能区的轨迹面板,实时追踪显示访客正在浏览的页面。
会话转接:
当客服遇到疑难问题时,能够转接给其余同事,寻求帮助。在转接对话时自动把原接待客服沟通的记录所有转给待接客服。
消息预知:
客服可预先看到访客已经输入而未发送的消息,以便在第一时间了解访客的心理。
快捷回复:
可在线添加、修改,导入或导出,缩短访客等待时间,提升客服工做效率。
历史记录
与使用其它聊天工具时历史记录存储在客服电脑没法集中管理不一样,在线客服系统的全部聊天记录都可由管理员进行统一的查询,能够按时间段,聊天内容等多种方式精准查询。
实时监控
能够自由选择对客服进行对话监控,经过监控中的聊天记录,了解客服工做状态及业务技能。
留言(web侧)
非工做时间无客服在线时,自动切换到留言功能,引导访客留下联系方式及诉求。
网页回呼
在网站中显示一个浮动区域,引导访客填写电话号码后,系统可自动接通客服与访客的电话。客服亦可在后台查询全部的访客电话号码及呼叫记录。
拨打手机和固定电话
客服可在客服端软件中,直接使用网络电话业务拨打全国固定电话或手机。
角色与权限
对客服分配不一样的角色和所拥有的操做权限,可进行管理员,班组长,通常客服,实习生等多种角色层级,实现有效管理。
联系人管理
为访客创建联系人信息,记录访客的联系方式,营销状况,可对访客进行业务类型,重要级别的分类。
站点设置
设定个性的LOGO图片,浮动图标、图片广告,文字广告等。全部设置均实时生效。
具体每一部分的实现,敬请关注。