(计算机软件与理论专业论文)基于扩展层次消息总线的cti中间件的研究.pdf_第1页
(计算机软件与理论专业论文)基于扩展层次消息总线的cti中间件的研究.pdf_第2页
(计算机软件与理论专业论文)基于扩展层次消息总线的cti中间件的研究.pdf_第3页
(计算机软件与理论专业论文)基于扩展层次消息总线的cti中间件的研究.pdf_第4页
(计算机软件与理论专业论文)基于扩展层次消息总线的cti中间件的研究.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(计算机软件与理论专业论文)基于扩展层次消息总线的cti中间件的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 随着呼叫中心的日益发展和普及,计算机电话集成( c t i ,c o m p u t e r t e l e p h o n y i n t e g r a t i o n ) 技术也日趋完善,为提高开发效率,c t i 中间件应运而生。然而,传 统的c t i 中间件开发模式受开发领域的特定约束过强,缺乏灵活性,而且还缺乏 必要的扩展及重用机制,制约了c t i 软件开发的进一步发展,因而需要一种新的 开发机制来解决这个问题。 本文首先分析了软件体系结构、软件重用以及呼叫中心c t i 中间件的设计约 束问题,在此基础上提出了基于可重用、易扩展的软件体系结构构建c 1 1 中间件。 在深入研究了作为候选方案的层次消息总线体系结构风格的特点之后,针对其存 在的不足以及c 1 r i 领域的特殊性要求,提出了扩展的层次消息总线体系结构风格 ( e h m b e x t e n d e dh i e r a r c h ym e s s a g eb u s ) ,并对其构件模型、要素以及其他改进 特性进行了深入的研究,最后将该体系结构风格成功应用于c t i 中间件的开发, 并对其中的消息总线、a p i 引擎以及软电话等重要构件的设计与实现进行了详细的 论述。从开发和实际运行的效果来看,e h m b 风格成功提高了该中间件的开发效 率、重用粒度和扩展能力。 关键词:c t i 中间件扩展层次消息总线软件体系结构软件重用 软构件 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n ta n dp o p u l a r i z a t i o no fc a l lc e n t e r , t h et e c h n o l o g yo f c o m p u t e rt e l e p h o n yi n t e g r a t i o n ( c t i ,c o m p u t e rt e l e p h o n yi n t e g r a t i o n ) h a sb e c o m e m o r ea n dm o 犯m a t u r e i no r d e rt oi m p r o v et h ee f f i c i e n c yo fc t id e v e l o p m e n t , c t i m i d d l e w a r ec o m e si n t ob e i n g h o w e v e r , t h et r a d m o n a lp a t t e mo fd e v e l o p m e n to fc t i m i d d l e w a r eh a si t sd e f e c t s b e c a u s ei th a sv e r ys t r o n gc o n s t r a i n ti ns o m es p e c i f i c d o m a i n , t h el a c ko fc e r t a i nf l e x i b i l i t yb e c o m e st h ep r o b l e m b e s i d e s i ti sa l s ol a c ko f s o m en e c e s s a r ye x t e n d i b l em e c h a n i s ma n dr e u s a b l em e c h a n i s m a l lt h e s ed e f e c t s c o n s t r a i nt h ef u r t h e rd e v e l o p m e n to f c t is o f t w a r e ,s o ,i ti sv e r yn e c e s s a r yt od e v e l o pa n e wm e c h a n i s mt os o l v et h ep r o b l e m i nt h i sp a p e r , f i r s t l y , w ea n a l y z et h es o f t w a r ea r c h i t e c t u r e s o f t w a r er e 嗽a n dt h e d e s i g nc o n s t r a i n to fc t im i d d l e w a r ei nc a l lc e n t e r a c c o r d i n gt ot h ea n a l y s i s ,w e p r o p o s et h a tag o o dc t im i d d l e w a r es h o u l db ec o n s t r u c t e do nt h eb a s eo fs o m e s o f t w a r ea r c h i t e c t u r e ,w h i c hc a nb er e u s e da n de x t e n d e de a s i l y t h e nb a s e do nt h ed e e p s t u d yo ft h ec h a r a c t e r i s t i co fh i e r a r c h ym e s s a g eb u s ( h m b ) s o f t w a r ea r c h i t e c t u r es t y l e , a n da c c o r d i n gt oh m b ss h o r t c o m i n g sa n dt h es p e c i a lr e s t r i c t i o n so fc t id o m a i n ,w e c o m eu pw i t han e ws o f t w a r ea r c h i t e c t u r es t y l e ,t h a ti se x t e n d e dh i e r a r c h ym e s s a g eb u s ( e h m b ,e x t e n d e dh i e r a r c h ym e s s a g eb u s ) b e s i d e s ,w e 酉v ed e e ps t u d yo ne h m b s c o m p o n e n tm o d e l ,e s s e n t i a l s a n do t h e ri m p r o v e m e n tm e c h a n i s m s f i n a l l y , w e s u c c e s s f u l l yd e v e l o pac t im i d d l e w a r eb a s e do ne h m b ,a n dg i v es p e c i a ld i s c u s s i o no n t h ed e s i g n i n ga n dr e a l i z a t i o no ft h em o s ti m p o r t a n tc o m p o n e n t s ,s u c ha sm e s s a g eb u s , a p ie n # n ea n ds o f t p h o n e a c c o r d i n gt ot h ee f f e c to ft h ed e v e l o p m e n ta n dn m n i n g , e h m bs t y l es u c c e s s f u l l yi m p r o v e dt h ed e v e l o p m e n te f f i c i e n c yo ft h em i d d l e w a r e ,t h e r e u s a b l eg r a n u l a r i t ya n dt h ec a p a b i l i t yo f e x t e n s i o n k e y w o r d :c t im i d d l e w a r e e x t e n d e dh i e r a r c h ym e s s a g eb u s s o f t w a r ea r c h i t e c t u r es o f t w a r er e u s es o f t w a r ec o m p o n e n t 创新性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果:也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:熏丝煎e t 期兰竺堑竺:坚 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论 文在解密后遵守此规定) 本学位论文属于保密在一年解密后适用本授权书。 本人签名 导师签名 日期型:丝:丛 日期垒堂:! ! : ! 牡 第一章绪论 第一章绪论 1 1 论文的背景 1 1 1 呼叫中心与c t i 客户服务中心也称呼叫中, l :, ( c a l lc e n t e r ) ”,是一种将计算机电话集成技术 ( c t i ,c o m p u t e rt e l e p h o n yi n t e g r a t i o n ) ,交互式语音响应技术( 1 v r ,i n t e r a c t i v e v o i c er e s p o n s e ) 同计算机信息处理系统相结合的一种应用。它提供了一种新型的 信息服务手段。典型的呼叫中心包含呼叫处理、智能路由、自动语音、呼叫与数 据集成、网络和数据库等多种复杂的技术。 计算机电话集成( c t i ) 1 2 l 是指通过软硬件接口及控制设备把电话通信和计算 机信息处理集成在一起,实现对语音、数据等的相互融合,增强通信能力的一种技 术。c 1 1 技术是呼叫中心的关键技术之一c 1 1 技术可以把电话的通信功能和计 算机的数据处理、控制功能融合在一起,实现通信增值服务,从而满足不同用户 的需求。目前c t i 技术的主要应用包括呼叫中心、统一消息处理、小型办公等。 其应用领域涉及办公自动化、商业、服务行业的产品推销和用户咨询服务、电话 声讯服务、电话银行等。其中呼叫中心是国内外c t i 技术最主要的应用领域。 从技术上讲,c t l 反映了通信技术与数据传输技术相互渗透的趋势。未来的 c t i 技术将朝着与i n t e m e t 结合、支持多媒体的方向发展。目前已经出现了基于 c t i 技术的口电话、传真以及与i n t e r n e t 连接的呼叫中心和统一消息处理系统。 其中m 电话和m 传真给传统的电信行业带来了巨大的冲击,而与i n t e r a c t 结合的 呼叫中心则可以为电子商务带来更多的发展契机。 c t i 应用涉及到计算机应用中的各个方面,但用户必须利用各种应用程序接 口( a p i ,a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ) 来构建自己的应用系统。因此a p i 的选择就显得非常重要。目前各种a p i 正在发展之中,比较常用的有三种:微软 的t a p i ( t e l e p h o n ya p i ) ,n o v e l l 和a t & t 的t s a p i ( t e l e p h o n ys e r v i c e sa p i ) 以及s u n 的j t a p l ( j a v at e l e p h o n ya p i ) 。 1 1 2 软件重用与软件体系结构 软件危机是指计算机软件的开发和维护过程中所遇到的一系列严重问题。自 从1 9 6 8 年的n a t o ( n o r t ha t l a n t i ct r e a t yo r g a n i z a t i o n ) 软件工程会议上首次提出 “软件危机”以来,软件工程已经取得了很大进展,然而这一危机并没有消失。随 2 基于扩展层次消息总线的c t i 中间件的研究 着计算机应用领域的迅速扩大,软件规模及复杂性的不断提高,软件危机愈加明 显地暴露出来,提高软件生产率成为软件产业的当务之急。要解决这个问题,软 件重用无疑是一个有效的方法p j 。软件重用是指在两次或多次不同的软件开发过 程中重复使用相同或相近的软件元素的过程。通常,这种可重用的元素称为软构 件( s o f t w a r ec o m p o n e n t ) ,简称构件,可重用的软件元素越大,重用的粒度也就 越大。根据这个定义可知,软件重用是在软件开发中避免重复劳动的解决方案, 其出发点是应用系统的开发不再采用一切“从零开始”的模式,而是以已有的工作 为基础,充分利用过去应用系统开发中积累的知识和经验,从而将开发的重点集 中于应用的特有构成成分。通过软件重用,在应用系统开发中可以充分地利用已 有的开发成果,消除重复劳动,从而提高软件开发的效率,降低开发成本,缩短 开发周期。同时,由于软构件大都经过严格的质量认证,并在实际运行环境中得 到检验,因此,重用软构件有助于改善软件质量。此外,通过大量使用软构件, 软件的灵活性和标准化程度也能得到提高。 软件体系结构在软件工程领域中有着广泛的应用,为软件系统提供了一个结 构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、 指导元素集成的模式以及这些模式的约束组成【4 】。软件体系结构不仅指定了系统 的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关 系,提供了一些设计决策的基本原理。 体系结构的引入改变了软件的开发模式,基于软件体系结构的软件开发侧重 于“拆卸”和“组装”各种相互独立的构件,这一点与目前基于构件的软件重用方式 是一致的【5 】。这种开发模式的一个突出特点是可替换性,即具有把外部独立开发 的构件“嵌入”到本系统的能力。此外,有些软件体系结构风格还提供了体系结构 一级的软件重用。从上面的分析可以得出,软件体系结构不仅提高了软件重用的 抽象层次,而且提高了重用的粒度。因此,软件体系结构的研究对软件工程的发 展及重用技术的进步起着不可忽视的作用。 1 2 问题的提出与解决思路 1 2 1 问题的提出 呼叫中心在现代社会中有着广泛而重要的作用。我国从上世纪9 0 代初开始普 及呼叫中心,虽然时间已过去了l o 多年但势头依然不减。作为呼叫中心核心技术 的c t i 技术也日趋完善,但在实际开发过程中,一般都是针对某一种交换机或某 一种c t i 协议进行开发,而且各个开发商的c t i 产品都有各自特定的接口和特 第一章绪论 色,与自己的业务相关比较紧密,缺乏灵活性。而不同用户的要求是不尽相同 的,即使是同一用户在不同时期也会有不同的需求。为适应这种多变的用户需求 就要求开发人员不断修改原有的c t i 程序,甚至重新开发全新的c t i 程序( 比如 用户要求使用仅支持另一种尚未支持的c t i 协议的交换机) ,这不仅增加了程序 开发人员的工作量,降低了开发效率,更由于不断引进新的未经充分测试的模块 而导致系统的不稳定,给程序开发人员和应用系统都带来了很大的问题,因而急 需一种合适的软件开发技术来改变这种被动的状态。也就是说产业的发展为c t i 中间件的形成提出了迫切的要求。 1 2 2 解决的思路 针对上一小节所提出的问题,作者认为可以从以下两个方面进行考虑。 从软件工程的角度来看,传统的c t i 软件开发都是针对某一类特定用户的特定 要求而定制的,从软件设计之初,就是几乎“从零开始”进行整个系统的开发,而不 是利用已有软件功能模块进行组装开发。因而缺乏必要的重用机制,从而导致了 c t i 领域的“软件危机”。 从c 1 r i 应用的实际状况来看,企业使用的应用本身是比较复杂的,而且需要随 着组织结构以及业务的变化做相应的调整,而在c t i 层面上,作为主要处理话务 部分的软件,从技术上完全可以( 而且是必须的) 分离出来,为业务层减少复杂 的话务部分的处理并减少集成厂商在此模块的重复开发。这个领域的厂商也可以 更加专注于研究如何更加紧密地运用电话技术和计算机技术。 目前,国内外c t i 领域一般都采用中间件( m i d d l e w a r e ) 技术来解决这个问题。 中间件是连接两个相对独立的应用的软件嘲。中间件是在计算机硬件和操作系统之 上,支持应用软件开发和运行的系统软件,它能够使应用软件相对独立于计算机 硬件和操作系统平台,实现大型企业应用软件系统的集成。c t i 中间件应运而生。 然而传统的c t i 中间件由于针对特定的a p i 进行开发,因而仍然存在针对性强, 功能单一,缺乏重用和扩展机制等问题,急需改进。 综合以上分析,开发应用范围更广,扩展性更好的c t i 中间件的想法自然产 生。为解决上述提到的一些关键问题,该中间件将使用一种新的软件体系结构以 期最大程度地提高软件重用的效果,达到在尽量保持系统总体静态结构稳定的前 提下尽可能方便地针对不同需求进行扩展的效果,并且保证新的改动对原有系统 的负面影响降至最低。 基于扩展层次消息总线的c t i 中间件的研究 1 3 本论文相关工作 在完成本论文的选题及写作过程中,作者的主要工作是: 1 对软件体系结构、软件重用技术、中间件技术、呼叫中心及c t i 技术进行深入 的研究,并在分析归纳这些资料的基础上提出构建c t i 中间件的思路; 2 在参考多种软件体系结构模式的基础上提出一种适用于c t i 中间件构建的体 系结构模式扩展层次消息总线结构( e h m b 。e x t e n d e dh i e r a r c h ym e s s a g e b u s ) ,并成功应用于该中间件的设计与实现中: 3 完成c t i 中间件的总体设计,并在w i n d o w s 环境下利用v i s u a lc + + 实现了其 中的主要构件,包括消息总线构件,a p i 引擎构件,坐席软电话构件等。 1 4 本论文的章节安排 本论文共有五章,各章的主要内容如下: 第一章绪论,首先简要介绍了本论文研究背景,然后提出了要解决的问题以 及解决此问题的思路,最后简要介绍了作者在论文写作过程中所做的工作和论文 各章节的安排; 第二章c t i 中间件的设计理念,首先介绍了c 1 r i 的体系结构及呼叫流程,并 给出了c t i 中间件的定义及分类,最后详细论述了c t i 中间件的设计约束问题。 第三章基于e h m b 的c t i 中间件体系结构设计,首先简单介绍了软件体系结 构风格的概念,然后详细介绍层次消息总线体系结构风格,并论述了及其扩展模 式,最后给出基于e h m b 的c t i 中问件的体系结构,并分析了其中的要素及预期 达到的效果。 第四章基于e h m b 的c t i 中闻件的实现,依次详细论述了基于e h m b 的c t i 中间件各主要模块的设计及实现思路,包括消息总线模块,t a p i 引擎 ( t a p i e n g i n e ) 模块,软电话( s o f t p h o n e ) 模块等。 第五章结束语,对论文的工作进行了总结,并展望了后续的研究工作。 第二章c t i 中间件的设计理念 第二章0 t i 中间件的设计理念 本章首先分析了c t i 的体系结构、呼叫建模等基本概念,在此基础上给出了 c t i 中间件的定义及分类,最后根据以上的分析结果提出了该c t i 中间件的设计 约束。 2 1c t i 体系结构和呼叫建模及流程 2 1 1c t i 体系结构 图2 1 给出了c t i 的最基本的形式。在许多c t i 的实施实例中都拥有这个简单 的体系结构。 图2 1 基本c t i 体系结构 从图中可以看到计算机电话集成需要以下几个基本的部件1 7 1 :交换机( p b x , p r i v a t eb r a n c he x c h a n g e ) ,服务器,c t i 链路,电话机,终端( p c ,p e r s o n a l c o m p u t e r ) ,应用程序接口以及应用程序。下面简要介绍其中的主要部件。 交换机【3 1 交换机是c t i 的最主要部件之一,它对外与公共交换电话网( p s t n , p u b l i cs w i t c h e dt e l e p h o n en e t w o r k ) 相连,对内,系统中所有电话也都与 它相连,此外c t i 服务器也通过局域网( l a n ,l o c a l - a r e an e t w o r k ) 与 它相连。它主要处理基本的电话功能,传送电话信息,完成计算机或者 电话发出的请求。 服务器 服务器通过l a n 连接在交换机上,并且本身处在系统的局域网中以与其 基于扩展层次消息总线的c t i 中间件的研究 他终端计算机通信。它主要通过应用程序接口控制电话和交换机,获得 呼叫信息,选择和显示信息到终端用户界面。 c t i 链路 定义计算机和交换机之间传输的消息模式,如n o r t e l n e t w o r k s 的m e r i d i a n l i n k 、a v a y a 的a s a il i n k , 以及遵循工业标准c s t ap h a s ei 、c s t ap h a s e i l 、c s t ap h a s ei i 的c s t al i n k 。 应用程序接口 提供c t i 应用的编程接口,允许应用程序和交换机之间通信,a p i 作为应 用程序和交换机之间传递信息的接口,目前较为常用的有m i c r o s o f t 公司 的t a p i ,n o v e l l 和a t & t 的t s a p i ,以及s u n 公司的脚i 等。由欧洲 计算机制造商协会( e c m a ,e u r o p e a nc o m p u t e rm a n u f a c t u r e sa s s o c i a t i o n ) 提出的计算机支持的电信应用( c s t a ,c o m p u t e r - s u p p o r t e d t e l e c o m m u n i c a t i o n s a p p l i c a t i o n s ) 示准【9 】,定义了结构框架、服务以及交换 机和应用之间的协议。 2 1 2 呼叫处理和呼叫建模 呼叫处理是指在呼叫的建立、释放和转移各阶段的信令信息的处理i 1 0 1 。在通 常的用法中。这一术语指的是在交换机中实际执行这种任务的软件。和大多数软 件系统一样,交换机软件包括管理系统各种资源的操作系统,与交换机硬件接口 的设备驱动程序,以及提供系统管理等功能的一系列应用程序。最重要的应用程 序自然是呼叫处理。这个应用程序已经在不同的时期以多种不同的方式在各种交 换机中实现。 为了通过编写程序在交换机上执行一些控制任务或者是理解从交换机发来的 状态消息,c t i 的应用程序员必须了解交换机的操作过程。简而言之,计算机方 面的技术人员必须对交换机有一个清晰的模型,这样才能让交换机执行一些先进 的功能并对交换机发出的消息作出相应的处理。 为了实现在功能一级上与交换机的通信,我们必须有一个电话处理的模型, 这个模型通常正是呼叫处理定义的模型。如果交换机中没有必须的信息,我们就 无法获得任何呼叫方的详细信息,我们也无法命令交换机做一些呼叫处理算法所 不允许的动作。当然,不同的实现方案有不同的模型,但所有的交换机都具有某 些共同的动作。图2 2 给出了最基本的一个呼叫模型,其中有一个呼叫从挂起状 态一直到建立双方的语音通信为止所有可能的状态l i ”。当呼叫的状态发生转移 时,就会产生像业务启动等事件。 第二章c 1 i 中间件的设计理念 图2 2 基本呼叫处理模型 现代系统设计将现实世界看成是对象的集合,因此我们有必要定义一些可见 可操作的呼叫对象。这些对象可以有各种状态,这些状态也是需要定义的。一个 呼叫的整体状态就是由这样的许多相关的对象及其状态组成的。 2 1 3c t i 呼叫流程 c t i 控制功能,是按照业务逻辑规则,协调c t i 接口提供的接入功能实体和业 务资源来实现业务功能的能力。主要包括呼叫和资源的控制及分配,智能路由的 相关控制。i v r 以及其他业务资源的一些流程,也属于流程控制功能,它与c t i 流程之间存在着灵活的转接等关系。 以电话呼入为例,c t i 控制流程可分为以下5 步【1 2 l : 1 来话到达p b x ,p b x 根据已定义的路由策路寻找合适的坐席代表,将此 呼叫转接给该坐席。 2 p b x 在进行呼叫路由的同时通过触发相应的呼入事件通知c t i 服务器电话 到达,并传递相关的电话信息如被叫号码识别服务( d n i s ,d i a l e d n u m b e r i d e n t i f i c a t i o n ss e r v i c e ) 、自动号码识别服务( a n i ,a u t o m m e dn u m b e r l d e n t i f i c a t i o n ) 等给c t l 服务器。 3 c t l 服务器将从p b x 接收到的d n i s ,a n i 等电话信息同步显示在相应的 坐席客户端上,并给出来电提示。 4 c t i 服务器跟踪和监控电话及其状态,并根据p b x 随时更新电话信息,包 括队列状态等。 5 当坐席或用户其中任意一方挂机时将触发挂机事件,此时c t i 服务器和 基于扩展层次消息总线的c t i 中间件的研究 p b x 之间将传递相应的挂机事件,此后系统复位。 上述c t i 控制流程可用图2 3 表示。 c t i 服务器 图2 3c t i 控制流程示例 2 2c t i 中间件 2 2 1c t i 中间件的定义 要满足目前c t i 应用的需要,有两种方法可以达到目的。 第一种方法是采用系统供应商提供的a p i 直接在交换机上捕捉有关呼叫的信 息,并把数据转换成其它软件能够使用的形式。若有程序员的帮助,这种办法显 得足够使用了。在这种情况下,不必要再用采用c t i 中间件来进行呼叫信息处 理,而是绕过中间件建立了电话设备和应用软件的连接。 但公司若想更换交换机或i v r 系统,而又想使用以前的呼叫监控系统记录当 前顾客的呼叫情况,那么以前的软件系统需要重新构建,系统的灵活性和扩充性 能不够。 第二种方法是采用c t i 中间件的方法,在更换了设备生产厂家之后,c t i 中 间件能起到一个桥梁的作用,无缝地把以前的应用和新设备连接起来,它还可以 很方便地进行改造和升级换代。 所以c t i 中间件可以看作是这样的应用【1 3 1 ,提供基于屏幕的电话和基于呼叫 的数据选择,并与简单的屏幕弹出和语音数据联系一致。c t i 中间件作为呼叫中 心开发的重要一部分,是客户端应用程序与呼叫中心交换机连接的桥梁。c t i 中 间件通过c t i 应用程序接e l 将通信技术与计算机技术两大领域有效地融合了起 第二章c t i 中间件的设计理念 9 来。 c t i 中间件通常运行在特定计算机上( 称为c t i 服务器) ,用来从呼入电话中 找出至少三个信息:呼叫来源即主叫号码( 通过自动号码识别服务m 虹) 、呼叫 目的号码即被叫号码( 通过被叫号码识别服务d n i s ) 、在交互式语音应答系统 ( i 、,r ) 中呼叫方输入的数字序列。当中间件识别出呼叫者后,在将呼叫转给坐席 代表之前,它和自动呼叫分配系统( a c d ,a u t o m a t i cc a l ld i s t r i b u t i o n ) 执行屏幕 弹出功能,把中间件得到的一些相关信息显示在坐席代表的计算机屏幕上,使他 们更好地为呼叫者服务 c t i 中间件通过a p i 接口提供与交换机事件和消息的交流,同时,应用程序又 与c t i 中间件进行数据的交换。因此,功能完善的c t i 中间件能够很大程度的降 低前端应用程序的开发工作量,也对应用程序的开发提供方便的手段。 2 2 2c t i 中间件的分类 c t i 中间件根据应用的层次和功能定位,一般可分为三种类型【1 4 】:l i n k 层中 间件、a p i 层中问件和应用层中间件,分别实现不同的功能,并且前后紧密关 联。三种不同类型的c t i 中间件的功能和相互关系示意图如图2 4 所示: c t i 中间件 交换机原始私有l i n k 协议 标准l i n k 协议:m e r i d i a nl i n k a s a il i n k 、c s t al i n k 标准a p i ,如t a p i ,c t ca p i 等 应用a p i 图2 4 不同c t i 中间件的层次间关系 l i n k 层中间件: 实现把交换机的原始私有l i n k 协议转换为标准的l i n k 协议。如 n o r t e l n c t w o r k s 的m e r i d i a nl i n k 、a v a y a 的a s a il i n k ,以及遵循工业标准c s t a p h a s ei 、c s t ap h a s ei i 、c s t ap h a s ei i 的c s t al i n k ,从而可实现与 c a l l p a t h 、c t - c o n n e c t 、g e n s y s 、c c m 等c t i 中间件连接。 a p i 层中间件: 在l i n k 层的基础上,实现把标准l i n k 协议转化为标准的a p i 。如c t c a p i 、t a p i 、j t a p i 等,为c t i 应用开发提供一套标准的a p i ,屏蔽了不同交 1 0 基于扩展层次消息总线的c t i 中间件的研究 换机拥有的c t i 协议和c t i 接口,使应用程序员无需关心消息是如何在计算 机和交换机之间传递,专注于客户端的应用开发,实现应用程序与交换机平 台无关性。 应用层中间件: 在a p i 层的基础上,通过a p i 层提供的标准a p i ,开发智能路由、去话呼 叫管理、来话呼叫管理、呼叫监控、统计报表等应用层产品,与业务开发紧 密相关。 2 3c t i 中间件的设计约束 2 3 1 设计思路 软件开发的构件化是软件技术的一个发展趋势,而构件化的发展是与软件的 标准化以及分工协作紧密结合的。软件开发的构件化的出现,标志着专业程度的 提高以及软件开发和应用效率的提高。从而在根本上提高了软件生产的效率和质 量,提高开发大型商用系统的成功率。毫无疑问,中间件正是构件化软件开发的 一种表现形式。它抽象各行业典型的应用模式,形成了各行业以及各种应用的标 准化构件。应用软件制造者可以根据不同行业的不同需求,针对标准的中间件进 行二次开发。 c t i 中间件是目前呼叫中心核心技术的发展热点之一,它以其独特的优势为 各种应用的开发提供了灵活性,极大地推动了应用系统集成的发展。正如上一节 所分析的,目前c t i 中间件根据其应用的层次和功能定位可分为三类,即l i n k 层 中日j 件、a p i 层中间件和应用层中间件,从它们的功能和特点可以看出,第一种 中间件很明显应该而且必须在交换机上进行实现,因为各种交换机的私有l i n k 协 议很有可能是不同的,所以有必要将它们转换为标准的l i n k 协议。此外,如果在 这一层的中间件上进行c t i 的开发,虽然比直接在各厂商私有的l i n k 协议上开发 容易,但仍要求c t i 开发程序员对交换机和计算机之间传递的消息有很深刻的了 解,这样,他们就不能专注于客户端应用的开发,而且无法实现应用程序与交换 机的平台无关性。所以这一层的中间件即a p i 层中间件一般也在交换机上实现, 通过a p i 层中间件的作用,c t i 开发人员就可以使用它所提供的若干种标准a p l 中的一种进行c t i 的开发,降低了开发的难度,并且提高了开发的效率。作者实 现的就是这一层的c t i 中间件。 然而在传统的应用层c t i 中间件的开发过程中,一般都是针对某一种c t i a p i 进行一整套系统的开发,在这种系统中,c t i 服务器直接调用某一种c t ia p i 进行 第二章c t i 中间件的设计理念 操作,一旦开发完成,该c 1 r i 中间件便与其支持的a p i 紧密相连,而且与自己的 业务相关比较紧密,缺乏灵活性。这种高耦合的软件体系结构明显与现代软件工 程的观念相悖,不适应系统的快速升级和维护。为了支持不同的c t ia p i 需要重 新开发新的c t i 中间件,这不仅增加了程序开发人员的工作量,降低了开发效 率,更由于不断引进新的未经充分测试的模块而导致系统的不稳定。给程序开发 人员和应用系统都带来了很大的问题。传统c t i 中间件中c t ia p i 与c t i 服务器 的关系如图2 5 所示: 口 图2 5 传统c t i 中间件中c t ia p i 与c t i 服务器的关系图 为改变传统c t i 中间件所存在的缺陷,需要找到一种能在尽量保持系统总体 静态结构稳定的前提下尽可能方便地针对不同需求进行扩展,并且保证新的改动 对原有系统的负面影响降至最低的设计方法。为此,作者提出了以下的解决思 路:c t i 服务器不直接通过c t i a p i 与交换机进行交互,而是通过一个协议转换器 间接地与交换机进行交互,该协议转换器负责将c t i 服务器的命令通过合适的 c t ia p i 提供给交换机,并将交换机传来的事件转发给c 1 r i 服务器,从而达到c 1 r i 服务器与c t i a p i 独立的效果,这样即使需要支持一种全新的c t i a p i 也不需要再 做全新的开发,而可以只开发其中的协议转换器,从而保证该中间件的其余部分 不变,既提高了开发的效率,并尽可能地利用了已有的系统,而且可以保持系统 的稳定。改进后的c t i 中间件中c t ia p i 与c t i 服务器的关系如图2 6 所示。 1 2 基于扩展层次消息总线的c t i 中间件的研究 接口 协议 图2 6 改进后的c t i 中间件中c t ii p i 与c t i 服务器的关系图 2 3 2 设计原则 根据中间件的特点及对改进后c t i 中间件的需求,该c t i 中间件在设计和实 现中应遵循如下原则【1 5 】: 透明性: 对于上层的应用透明,在不改变对外接口的条件下可随意更改c 1 r i 中间件 的具体实现,上层应用不需做任何改动。 高健壮性: 该c 1 r i 中间件具有较强的故障处理和恢复能力,中间件中某一非关键模块 出现问题不会导致整个系统的瘫痪,并能迅速恢复; 高性能和伸缩性: 该c t i 中间件能支持不同规模的应用,可以随意增减附加的模块,保证构 筑在其上的应用在任何情况下均具有良好的性能,不因为增加了协议适配器 而导致性能大幅度下降; 高可扩展性: 该c t i 中间件可以仅支持某一种c t ia p i ,也可以在进行少量改动的情况 下换成支持另一种c t ia p i ,甚至同时支持多种c t ia p i 。此外对于新增加的 功能可以在不改变或少改变系统整体结构的条件下实现。如此便可方便以后 应用扩展和升级; 可移植性: 该c t i 中间件提供了杯准的编程接口,屏蔽了网络和平台的差异性,极易 第二章c t i 中间件的设计理念 1 3 从一个平台移植到另一个平台上,保护了企业在应用软件开发和维护中的重 大投资。 2 3 3 功能约束 根据以上几节对该c t i 中间件所处的软件层次以及设计原则的分析,并参考一 般c t i 软件所应具有的功能特性可知,作者所要实现的c t i 中间件应具有以下功 能约束。首先要考虑的基本功能就是呼叫控制功能,包括对外提供的屏幕软电话 接口功能以及真正与交换机交互的c t i 服务器上的呼叫控制功能。其次就是系统 监控和呼叫管理的功能,此外还可以进一步实现呼叫的路由功能。所以,系统各 功能模块初步的层次结构及其对外关系可以用图2 7 来表示。 图2 7 系统各功能模块初步的层次结构及其对外关系图 其中主要模块的说明如下: 协议适配器: 用来匹配不同的c t ia p i ,根据选择的c t ia p l 的不同需要做不同的开 发,一个c t i 中间件根据实际需要可以有一个或多个协议适配器; 电话功能模块: 一方面通过与协议适配器的交互来间接地与交换机进行通信,另一方面 与坐席端的屏幕软电话相交互,最终达到控制电话和呼叫的目的; 呼叫监控模块 负责实时监控当前呼叫及坐席员的状态,并根据需要为在管理员的监控 1 4 基于扩展层次消息总线的c t i 中间件的研究 屏幕上实时显示提供支持; 呼叫管理功能模块 在系统运行的过程中负责将呼叫信息在数据库中记录,并且根据用户的 需要实时从数据库中提取必要的信息并进行相应的统计和换算; 对外接口模块 包括以接口形式对外提供的屏幕软电话功能,以及监控和管理等功能, 使用户可以透明地使用c t i 中间件的底层功能; 呼叫路由功能模块 该模块为可选模块,是对呼叫中心资源进行有效管理控制的手段。主要 对呼入、呼出等呼叫进行控制,但目前一般交换机本身都提供了足够强大的 路由功能,所以虽然它具有重要的作用,但仍作为c t i 中间件的可选部件。 第三章基于e m 皿的c r i 中间件体系结构设计 1 5 第三章基于e h m b 的c t i 中间件体系结构设计 3 1 软件体系结构风格概述 软件体系结构设计的一个核心问题是能否使用重复的体系结构模式,即能否 达到体系结构级的软件重用【l “。也就是说,能否在不同的软件系统中,使用同一 体系结构。基于这个目的,专家开始研究和实践软件体系结构的风格和类型问 题。 软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式 ( i d i o m a t i cp a r a d i g m ) 。体系结构风格定义了一个系统家族,即一个体系结构定义 一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出 系统是如何将这些构件和连接件组合起来的。体系结构风格反映了领域中众多系 统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个 完整的系统。按这种方式理解,软件体系结构风格定义了用于描述系统的术语表 和一组指导构件系统的规则。 对软件体系结构风格的研究和实践促进了对设计的重用,一些经过实践证实 的解决方案也能可靠地用于解决新的问题i l ”。体系结构风格的不变部分使不同的 系统可以共享同一个实现代码。只要系统是使用常用的、规范的方法来组织,别 的设计者就可以很容易地理解系统的体系结构。例如,如果某人把系统描述为 “客户机服务器”模式,则不必给出设计细节,我们立刻就会明白系统是如何组织 和工作的。 软件体系结构风格为大粒度的软件重用提供了可能。然而,对于应用体系结 构风格来说,由于视点的不同,系统设计师有很大的选择余地。要为系统选择或 设计某一个体系结构风格,必须根据特定项目的具体特点,进行分析比较后再确 定,体系结构风格的使用几乎完全是特定的。 在软件体系结构中,对风格的不断总结抽象,导致了风格的分类划分研究。 例如,m a r ys h a w 和c l i e n t 从数据和控制两大方面对体系结构进行了分类【m 。之 后,m a r y 和g a r l a n 将风格划分为数据流系统、调用返回系统、独立构件、虚拟 机、中央数据库( 仓库) 系统。其中,数据流系统包括顺序批处理和管道过滤器 风格;调用返回系统包括主程序子调用,面向对象系统、分级层次风格;独立构 件包括通信进程和事件系统;虚拟机包括解释器和基于规则的系统;仓库风格包 括数据库系统、超文本系统和黑板系统等。这些分类并没有完全列出所有的风 格。新的风格随着软件开发技术的发展仍在不断出现。 针对本文前面章节中对c t i 中间件的分析可知,传统上的该类型中间件的构 1 6 基于扩展层次消息总线的c t i 中间件的研究 造基本上都是基于客户机服务器( 或者三层客户机服务器) 模式,或者层次结构 的模式,这些模式虽然通俗易懂且有较高的效率,但针对性较强,在c t i 这个需 要支持多种a p i 和业务应用的特定领域中不利于系统的扩展和构件的重用,因而 具有很大的局限性。我们需要一种既具有稳定的静态结构又能方便地进行扩充, 还能进行充分的构件重用的体系结构,经过对现存的多种常用的软件体系结构风 格的详细的分析和比较,作者决定在层次消息总线体系结构风格的基础上作一定 的扩展,并以此作为该新型c t i 中间件的基本体系结构风格。下面几节将分别介 绍基本的层次消息总线体系结构风格及作者对该风格的扩展,并详细论述该体系 结构风格的特点及对该新型中间件的巨大作用。 3 2 层次消息总线体系结构风格 3 2 1 风格概述 层次消息总线( h m b ,h i e r a r c h ym e s s a g eb u s ) 的体系结构风格1 3 1 9 1 基于层次 消息总线、支持构件的分布和并发,所有构件之间通过消息总线进行通信,如图 3 1 所示。 复合构件 甲甲 黪浚灞黪溅麟缓缫麓麓瓣囊溺 构件 与 与 网广 匿零:0 。+ 薯鬻譬蔼麟缀蠛

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论