FMS项目实例–在线客服系统(分析篇)

flash media server是一个不错的流媒体服务器,跟flash/flex结合能做出比较丰富的应用,能让现有的网络表现模式增色不少,毕竟有视频了嘛。可惜现在网上的教程都比较简单。最近正好做了一个基于fms客服系统,有不少值的借鉴的常规应用,但是一个个分开写有点只见树木不见森林的感觉,索性就全部拿出来晒晒了,正好也能整体地展现一下fms应用。

一般的网站上的客服系统跟聊天的差不多。现在多了FMS(我们有多媒体了啊),简单的讲就多了视频这一块。首先我先来分析一下系统结构:既然是客服,那无非就两类人:用户和客服MM:),他们各需要一个客户端系统(两者是不同的,后面讲到),另外还要一个服务器FMS和服务器脚本。好了,下面来简单分析一下它们需要哪些功能。

软件嘛无非就是给人方便,所以我觉得设计的一个重要原则就是,模拟现实。:-),在线客服跟普通的相差不大,比如,设置几个服务电话啦,轮流(换班)接听啦,等等,反应在系统结构上,就是多个服务方(0到多个)和多个客户方(0到多个)的关系,而且一个服务方对应多个客户方,但是一个客户方同一时间只对应一个服务方。所以这是一个1对多的关系。另外我们还需要考虑一些特殊情况,比如没有客服MM在线咋办呢(当然不能提供客服了),有多个客服MM(初始选择方式,还要可以切换哦)。我们还应该考虑到,服务方应该有更多的权限,比如踢人:-)。下面我来罗列一下需求。

客户方:

  • 发送文字信息(包括一些文字类型的指令,比如改名字)
  • 接收视频音频
  • 得到所有客服人员的信息,并初始指定好一个客服人员(接收他的视频)
  • 切换客服人员

客户方可能得到的事件:

  • 接到文字信息
  • 正在对话的客服人员断线或者离开(这需要自动切换客服人员,如果没有,就断开FMS连接)
  • 更新客服人员信息(比如其他客服人员上线或者离开了,当然你的客服人员在,否则适用上面一条,或者切换了客服人员)
  • 系统故障,断开连接
  • 拒绝连接(有可能连接人数太多或者别的原因)

服务方:

  • 以客服人员身份登录(客服人员必须要有唯一性,而且分别对应一条视频流)
  • 发送文字信息(群发或者单独对某个人讲,因为可能同时有几个客户)
  • 得到客户名称列表
  • 踢人(针对某个客户的)
  • 调节音量
  • 广播视频(需要摄像头麦克风)

服务方可能接收的事件:

  • 接收到文字信息
  • 更新客户名称列表(可能是某客户断开或者上线,或者切换/离开这里了)
  • 登录验证错误
  • 系统错误,断开连接

先写到这里了,下面一篇介绍FMS脚本的开发,服务器脚本是整个系统的中枢,下一篇将把这一篇的大部分功能连在一起,从整体角度来阐述系统结构。

posted @ 2010-05-22 20:29  rob_2010  阅读(365)  评论(0)    收藏  举报