股票代码:600728

EN/CN

news center

新闻中心

ocmx智能外呼系统监控的实现方法

2014 |2014-07-24

OCMX系统,是BS结构,在这种架构上的其他的监控系统,一般都是通过推送图片数据的方式进行显示,数据量大,部署在INTERNET上的时候,会出现数据的停滞和图片显示的延缓等的不良效果,而OCMX系统通过构建额外的数据服务模块,把HTTP上的传输压力转移给提供SOCKET服务的异步消息框架,从提高数据的传输能力来提高了监控的实时性。


      当然在此架构上面,只要做稍微的修改,而服务器不用做任何的修改,也可以把监控端移植到CS架构上面,通过异步消息框架的SOCKET服务进行数据的分发。


下面是系统的概要框架:


       ESB(Enterprise Service Bus),企业服务总线,是用于调节SOA中的调用者及服务提供者的机制。它使得调用者在不知道提供者或者提供者使用的地址的情况下调用该服务。ESB协调Service之间的请求与响应,使连接透明化,实现了异种通讯协议之间的服务调用。


       ESB提供的具体的功能有事务机制、路由和转换、组件管理服务、核心安全服务、数据与目录服务、集中策略服务、服务注册与发现、服务绑定。


       新太公司的OPEANEAP的环境下,我们就可以轻易地注册并调用ESB服务。


       客户监控端,我们使用FLASH的XMLSOCKET来和进行通讯,这是因为FLASH的XMLSOCKET在即时通讯应用很广泛,而且XMLSOCKET的响应速度快速。


XMLSOCKET的优点:


1、能和服务端即时通信;


2、Flash Player 5.0以上的版本内置类,不需另装组件或插件;


3、因为XMLSOCKET就是相当于一个Socket客户端,所以一般的中间件都支持的(如java,.Net等)


中间使用异步消息框架来实现系统的SOCKET数据的流转。


       异步消息框架是用于开发高性能和高可用性的网络应用程序的基础框架。通过使用异步消息框架可以省下处理底层I/O和线程并发等复杂工作,开发人员能够把更多的精力投入到业务设计和开发当中。


         异步消息框架特点:


1、为不同的传输类型提供了统一的API:通过Java NIO提供TCP/IP 和 UDP/IP支持、自定义API


2、过滤器作为一个扩展特性; 类似Servlet过滤器


3、低级和高级的API:


1)低级: 使用字节缓存(ByteBuffers)


2)高级: 使用用户定义的消息对象(objects)和编码(codecs)


4、高度定制化线程模型:


1)单线程


2)一个线程池


3)一个以上的线程池(也就是SEDA)


5、超载保护和传输流量控制

 

6、JMX管理能力


7、通过StreamIoHandler提供基于流的I/O支持


8、和知名的容器(例如PicoContainer、Spring)集成


      通过使用异步消息框架作为一个Java 异步网络通讯框架,使用异步消息框架构建底层 I/O 设施,或是正将底层 I/O 设施,可以在很大程度上有性能的大幅度提升。


       异步消息框架在本系统中,担负着重要的角色,主要有这几个任务。


1、   接收客户监控端的FLASH请求,并把改客户监控端的SOCKET会话注册进入系统,管理起来。


2、   启动定时器,定时向磐石系统的ESB服务发起请求,所请求的报文就是客户监控端FLASH发送的监控请求。


3、   接收磐石系统的ESB回调,获取数据,并进行消息处理,把ESB的回调数据进行加工成为客户FLASH端需要的消息格式并发送消息。当客户监控端得到数据的时候,就可以立刻把数据表现在浏览器的FLASH上而不需要做额外的工作。


在此框架中,客户监控端的HTTP请求只做一次,以此作为发起SOCKET请求的开始,而当客户监控端没有该FLASH的时候,浏览器会自动通过对应的协议下载对应FLASH到客户监控端,而客户监控端基本不需要安装什么附加软件,只要安装支持FLASH的Active控件就可以了。


系统的数据流转过程如下图所示:


       基于BS架构的坐席监控一般都会由于HTTP网络传输能力的限制,使得浏览器形式的客户端响应比较慢,实时显示监控图像的效果不理想,出现停滞甚至停顿等现象,而不能反应更细致的坐席监控信息,在本系统中,我们改用了这样的一个数据传输架构,在新太公司的OPENEAP环境中搭建这个异步消息框架,通过上图描述的数据流转方式,在客户端上应用FLASH的强大表现力和快速响应的特点,克服了这一个限制。

 

       当客户监控端请求监控HTTP URL的时候,浏览器同时也会通过JavaScript发起内嵌在页面中的FLASH的XMLSOCKET请求。FLASH通过和JavaScript进行交互,获取当前HTTP会话的信息,使用这些信息构建相应的XML请求报文,发送给异步消息框架。然后,FLASH就自动负责与异步消息框架之间的交互,而客户监控端的浏览器就不参与其中,只是作为FLASH容器存在。


       当FLASH往异步消息框架发送完一个注册请求的时候,异步消息框架会检查自身的会话管理是否已经存在该会话,如果存在,那么就更新该会话的ESB请求的消息,如果不存在,那么就注册进入会话管理,并获取该FLASH的请求信息,交给ESB服务,去做请求。这是要分两种情况。情况一,在此请求信息的报文已经存在的情况下,异步消息框架就会自动将该报文进行消息处理,立刻响应FLASH的请求,把格式化的消息报文,发回给FLASH表现监控数据。情况二,如果这个请求报文不存在,那么分析请求报文,交给ESB服务,向磐石系统发送该ESB请求,等待磐石系统的ESB服务的回调信息之后,异步消息框架才响应FLASH的请求。但是无论在那个情况下,客户监控端的FLASH只要发起一次请求报文,那么异步消息框架就会不断地往FLASH发送响应数据。


       当然每个单独的客户监控端也可以重新发送请求,然后获取新的数据在FLASH上表现,实现不同类型,不同要求的监控。


       在使用FLASH进行交互是一个异步的过程,中间的数据传输不需要HTTP请求的等待延时,大大提高了数据的传输能力。这和平常使用的HTTP推送监控数据(图片数据)或者使用Ajax更新图片数据都有很多的差别,因为上面的两种方式都是需要通过HTTP服务器请求,和HTTP服务器响应来达到数据的更新,而使用FLASH,就可以实现SOCKET服务与异步消息框架之间的数据交互,减轻了HTTP服务器的压力。同时也可以利用FLASH具有很强的交互特性,与页面的JavaScript脚本进行交互,实现高效的服务器与客户端的数据异步交互。


       下面是系统的实现效果:


       1、坐席监控实现效果图:


       使用不同颜色标注每个注册在系统里面的坐席状态:


       灰色――未登录坐席   绿色――已登录坐席 黄色――通话中的坐席


       2、话务监控实现效果


       1)柱状图:


       2)饼状图:


       3)全屏模式监控:

 
        3、坐席服务状态的监控效果:


       在FLASH的右侧,有一个控制栏,用来控制FLASH表现数据,当客户监控端想要监控什么数据的时候,就可以在该条目的前面的CHECKBOX上打勾,那么对应的条目就开始监控,由下一刻起,该数据就会表现在FLASH上,如果不想监控某条目,那么只要取消该条目前面的CHECKBOX的选择,就可以。同时也会在控制条目上,显示最近的一项所有的数据,与FLASH显示的数据同步更新。


       总结一下,在本系统中,当不同的客户监控端请求不同的数据的时候,异步消息框架会自动将服务分类,不同的类别兴起不同的队列保存。当系统需要修改,增加新的客户监控端请求的时候,我们只需要在异步消息框架中,增加对应的消息处理定义,注册XML定义,ESB请求定义,就可以对应服务新的客户监控端,而不需要做其他的修改。当然,如果我们想修改当前的BS结构为CS结构,也不需要修改服务器,只要实现对应的客户端APPLICATION桌面程序,对应异步消息框架接口编写程序接口,那么也就可以实现监控。


       在本架构上实现的OCMX智能外呼系统,实现、管理、升级都很方便。在其他系统无法应对网络HTTP传输压力而出现监控停顿,延滞等情况的压力下,这个架构可以很好地实现实时监控。借助于FLASH强大的交互特性,和异步消息框架高效数据交互能力,OCMX智能外呼系统实现效果很让人满意。


在线留言

公司或单位名称:
姓名:
电话:
邮箱:
感兴趣的业务:(多选)
  • 智慧城市
  • 智能轨道交通
  • ICT产品服务
  • 智慧城市交通
  • 商用智能产品
  • 智能多元化支付
  • 互联网+信息服务
其他需求:
提交

感谢您的留言,我们会第一时间联系您!