首页>>厂商>>CTI系统平台厂商>>易谷网络

呼叫中心中可定制报表系统的设计与实现(一)

上海易谷网络科技有限公司 赵延超 2010/01/11

  本章阐述了本文写作的课题背景,介绍了呼叫中心中的报表系统以及其在国内外研究的现状,最后给出了本文的研究目的、研究意义和章节安排。

1.1 课题背景

1.1.1 呼叫中心

  随着计算机和信息技术的飞速发展,呼叫中心在现在各企业中的应用也越来越多。它在银行、保险、计算机、电力、交通、航空、电信、汽车和教育等行业都已经得到了广泛的应用。它为人们提供了快捷而方便的服务手段,并受到广泛的欢迎。

  呼叫中心是一种基于计算机电话集成(Computer Telephony Integration ,CTI)技术、充分利用通信网和计算机网的多项功能集成,并与企业连为一体的一个完整的综合信息服务系统,它利用现有的各种先进的通信手段,有效地为客户提供高质量、高效率、全方位的服务[1],其基本架构图如图1.1所示。



图1.1 呼叫中心基本架构图


  呼叫中心通过电话自助语音方式来代替传统的柜台业务,能够每天24小时不间断地随时提供服务,并且有比柜台服务更好的友好服务界面。从而,用户不必跑到营业处,只要接入呼叫中心系统就能迅速获得信息和进行一些信息的存储、转发、查询、交换等操作,还可以通过呼叫中心完成部分交易[2] [3]。另外,大多数呼叫中心还提供传真服务,它可以将交易记录等信息传真给客户。

1.1.2 报表系统

  呼叫中心大规模使用以后,为了更好地衡量呼叫中心是否能够发挥最佳的绩效,以随时调整呼叫中心的运作策略,系统需要有统一的报表管理来对业务水平进行评价。

  报表系统把呼叫中心中的数据进行组装,分析和包装管理,再以图表,文字和表格形式通过网络定期传播并更新,达其所用。它以一个规范的系统架构形式定期提供信息给决策者来支持他们的工作,来提高业务人员的服务态度和工作效率[4]。

与呼叫中心结合后,报表按照对呼叫中心中不同对象的数据统计,大致有以下几类。

  1. 坐席报表
  2. 坐席组报表
  3. 队列报表
  4. 队列组报表
  5. 路由点报表
  6. 技能组报表
  7. 分机报表
  8. IVR(Interactive Voice Response)报表

  对这些报表的数据统计可以衡量呼叫中心中坐席服务态度、坐席服务是否专业、坐席业务熟悉程度、呼叫中心资源分配情况、业务流程的合理性、各部件工作效率等。下面以坐席为例,简要描述一下对呼叫中心中报表数据统计的详细内容以及作用。

  1. 统计坐席接起电话以前电话铃响的时间,衡量坐席服务态度。
  2. 统计坐席通话前客户在话路分配队列中等待时间,衡量呼叫中心资源分配是否合理。
  3. 统计客户电话被挂起的次数和总的时间,衡量坐席服务是否专业。
  4. 统计客户和坐席通话时间,衡量坐席业务熟悉程度、业务流程的合理性。
  5. 统计坐席处于待机状态时间,衡量坐席数量是否过多。
  6. 统计其它坐席参与三方通话的次数:衡量坐席业务熟悉程度以及业务流程的合理性。
  7. 统计坐席处理一个来电/外拔的时间,衡量坐席工作效率。
  8. 统计坐席输入资料的时间,衡量坐席对业务熟悉程度。

1.2 国内外研究现状

  由于报表系统在呼叫中心系统中的基础性和必要性地位,报表统计功能的应用非常广泛。同时报表系统软件也引起了国内外不少人的关注和重视。近年来,随着软件开发技术的日新月异,报表技术不断成熟和完善,报表工具种类繁多并且功能各具特色,目前已经出现了一些颇具特色的报表工具软件。下面从国外和国内两个方面扼要介绍一下报表工具的研究现状和进展。

1.2.1 国外报表工具现状

  国外主流的报表工具包括水晶报表(Crystal Report)、Style Report、FastReport、QuickReport、Excel等,它们比较侧重于大型数据的处理,样式非常规整,不过在呈现方面还不能直接满足国内报表大量的个性化定制需求[5] [6]。下面以Excel和QuickReport为例介绍一下国外的报表工具特点。

1.Excel

  Excel是历史悠久的电子表程序之一,功能强大,许多后来出现的Windows报表工具均受其影响,甚至在功能和界面上加以模仿[7] [8]。

Excel具有如下特点:

  Excel报表中可以包括文字、数字、图形等多种内容,提供文字的字体大小、颜色、数字的显示格式等格式控制。   提供多种数据处理函数并支持条件格式化,支持数据的分组、会计等等。   Excel提供了VisualBasicforApplications(VBA)和VisualBasic编程环境,同时支持OLE,用户可以使用VBA编写自定义函数,实现对已有数据处理函数库的扩充,满足实际需要[7] [8]。

2.QuickReport

  QuickReport是一组专用于Delphi和C++Builde中的制作报表的控件,它可以很容易的把报表和代码连接起来,产生图文报表;可以用QuickReport页上的控件给一个报表添加表体、报表页眉和页脚、报表细部、概要、组合表的头尾等;可以为各种各样的数据源设计报表,如数据库表(TTabie)、 查询表(TQuery) 、列表(List)、数组(Array)等;可以使用屏幕预览来检查设计结果;可以自动进行求和、计算平均值等统计功能;可以对某组数据重置计算结果等[9] [10]。

QuickReport具有以下一些特征:   QuickReport有一套控件,它置于报表的明细带中,用于设计文本标签、图形、页标题、脚注等。它还有用于填充报表的数据感知控件以及系统数据控件和表达式计算控件等,适用于数据和数据库的操作[9] [10]。

1.2.2 国内报表工具现状

  国内的报表工具有如意报表工具(Rooyee Report)[11],DmTable报表工具等。一般说来,国内的报表工具侧重于数据抽取和前端展现,比较适合制作中国式的报表或者中小企业的报表系统,可以说这是它的优势。但是在处理大量的数据方面和国外的产品相比还是有一定的差距[12] [13]。

  在此,以DmTable智能报表工具为例详细介绍国内开发的大型报表工具。

  DmTable智能报表工具向用户提供了两个使用部件,一个是报表工具集成环境,包括报表工具的所有功能,即报表框架的管理和报表数据的管理,报表工具集成环境给用户提供了交互式使用方式;另一个部件是供用户使用的编程接口,目前提供了报表数据管理的编程接口,因为这部分功能必须嵌在应用程序中[14]。

DmTable智能报表工具的主要特点[15] [16]:   此外,汕头大学的几位专家等针对中文报表生成问题设计了多数据源中文报表智能生成系统,以多数据源的中文报表为研究对象,运用面向对象的方法,对其组成结构进行分析,提出了中文报表的生成四要素,并根据其数据来源的种类、限制条件、统计条件、各种综合条件以及各种相关的处理情况,利用CELL组件生成了一个包括初始化管理系统、权限管理系统、文件管理系统、编辑管理系统、格式管理系统、数据管理系统和帮助系统等的报表生成系统。

  大连理工大学的两位教授则提出并实现了一种通过数据表(Table)实现完全活动报表的设计方案,该方案利用在数据库中添加与报表设计有关的表来存储各种报表信息(生成或打印信息),与报表设计有关的表有:报表类别定义表、报表内容定义表和报表列信息定义表,然后通过修改数据表而不更改源程序实现对报表的设计以提高应用程序的适用范围。

1.3 研究目的和意义

  随着计算机硬件和软件技术的发展,报表己经成为现代呼叫中心的一种重要组成部分,且报表设计的需求总体水平跨上了一个新的台阶。

  在现代呼叫中心报表的设计时,其格式多种多样,数据来源和种类千差万别。而一般呼叫中心仅提供系统开发时按需求固定的几种报表格式,无法满足不断增加和不断变化的报表需求,以至于后期的维护工作繁重。呼叫中心对业务评价的需求高度关注,要求系统必须提供灵活多样的报表功能。

  本文把报表系统的通用和灵活性作为目标,以报表统计模板中的各基本单元为基础统计项,根据不同的用户需求整合出任何话务需求的解决方案,来减轻应用报表系统的开发和后期维护工作,具有一定的灵活性和规范性。

1.4 章节安排

  本文的主要目的是设计并开发一种既能方便系统开发人员使用,又能方便报表系统用户设计和维护报表,而且符合中国式报表开发习惯的通用报表系统。为此本文主要做了以下一些工作:

  1. 通过对多种报表工具进行分析和比较,基于数据仓库数据ETL技术提出了一种设计开发新报表系统的实现方案,并设计了呼叫中心中的可定制报表系统体系结构。

  2. 在分析数据ETL基础上,设计了用于报表生成的报表统计模板,提出了一种基于基本统计项的模板构建方法,并在模板划分的基础上,完成了报表数据存储模型的设计。

  3. 设计并实现了一个可视化报表设计工具,来生成呼叫中心的报表模板。

  4. 基于设计的报表系统实现了呼叫中心系统的数据处理和转换,并将报表系统过滤的数据引入数据仓库,最终利用报表工具展现出来。

围绕以上内容,本文共六章,其组织结构安排如下:

  第一章简要介绍了课题的提出背景、相关技术研究现状以及本文研究的目的和意义。该章重点分析了报表系统的特性和已有的主要报表系统和报表工具的特点以及存在的不足,在此基础上,提出了本文的研究内容和主要解决的问题。

  第二章主要介绍了本文研究的报表系统所用的技术:数据仓库以及ETL关键技术,为以后论文对报表系统的分析打下了基础。

  第三章对呼叫中心中的报表特性进行了分析,提出了当今对报表系统功能的需求,给出了可定制报表系统的总体设计方案以及内部各功能模块的设计,构建了一个完整的报表系统。

  第四章对第三章给出的总体设计方案进行了深入、详细的设计和实现,并给出了相关技术实现类图。

  第五章主要研究该报表系统在呼叫中心中的应用,给出了相应的用例,验证了该报表系统的可行性和正确性。

  第六章总结了本文研究的内容以及不足之处,为以后研究做了相关展望,并指出了需要改进和进一步研究的地方。

第二章 数据仓库以及ETL关键技术研究

  数据的处理是一个报表系统的设计首先要考虑的问题,这就需要一种有效的管理技术,将分布在网络中不同站点的呼叫中心数据集成到一起,为决策者提供各种类型的、有效的数据分析[17] [18]。而该报表系统的设计目的是:依照合理的方式整合源数据系统,将源数据统一存储在以企业逻辑模型构建的数据库中,前端展现工具依照用户需求,对该数据库中的数据进行汇总、展示,并按照用户喜好的方式,将结果展现在用户面前。要完成这一任务就得使这些不同部门之间做到数据共享,实现全局数据一致性,并提供全局数据查询和决策分析。因此数据仓库以及ETL(Extraction、Transformation and Loading,数据抽取,转换和加载)技术解决方案成为了本文对数据处理的选择。

2.1 数据仓库技术研究

  数据仓库是伴随着数据库技术的发展及用户对数据处理、加工等要求的不断变化而产生的。

  在传统的数据库技术中,数据库技术的应用主要表现在联机事务处理(On-Line Transaction Processing ,OLTP)方面。联机事务处理注重数据处理的响应时间、数据的安全性和完整性,通过对数据库的联机操作(增、删、改、查询)来实现特定的应用。再者,传统的数据库技术是面向应用的,企业往往针对不同的应用建立不同的数据库,甚至选用不同的数据库管理系统(Database Management System, DBMS)。因此,企业的业务数据分散地存储在不同的数据库(可能是同构的,也可能是异构的)中,不易于统一查询访问,而且大量的历史数据脱机存放,无法进行联机查询。在此情况下对数据进行综合分析时,其结果往往缺乏可靠性且数据处理的效率很低。针对这种情况,为了适应企业发展和市场竞争的需要,人们设想建立一种数据中心,数据中心的数据从原有的多个用于联机事务处理的数据库中抽取得来,这个数据中心专门用于数据的分析,为企业决策提供支持和服务,这就是最初的数据仓库[19]。

  现在的数据仓库是决策支持系统的数据平台,对于决策的效率和准确性有着至关重要的影响。它更大的用处是进一步分析数据源,用以支持经营管理中的决策制定过程[20] [21]。数据仓库中的数据不是传统数据库中数据的简单堆积,它是一个复杂的容纳数据集成的系统工程,为决策者提供访问、分析及共享信息的能力,从而发挥数据仓库的真正功效。

  一个典型的数据仓库系统是一种系统体系结构,如图2.1所示,它一般有三层:最下的一层是数据仓库,最上一层是决策支持工具,如联机分析处理(On-Line Analytical processing,OLAP)等,中间的一层是中间件。在数据仓库系统中有三个关键环节,即数据的抽取、转换、整理和装载,在目标数据库中存储转换后的数据,用户提供对目标数据库的访问[22]。

图2.1 数据仓库系统体系结构图

根据其本质而言,数据仓库具备以下四个关键特征[22]:

1.面向主题(Subject Oriented)的数据集合

  数据仓库通常围绕一些主题,如“产品”、“销售商”、“消费者”等来进行组织。数据仓库关注的是决策者的数据建模与分析,而不针对日常操作和事务的处理。因此,数据仓库提供了特定主题的简明视图,排除了对于决策无用的数据。它面向主题是与传统数据库面向应用相对应的,是一个在较高层次上将数据归类的标准,每一个主题对应一个宏观的分析领域。

2.集成(Integrated)的数据集合

  数据仓库通常是结合多个异种数据源构成的,异种数据源可能包括关系数据库、面向对象数据库、文本数据库、Web数据库、一般文件等。集成的数据集合是指在这些数据源中的数据进入数据仓库之前,必须经过数据加工和集成,这是建立数据仓库的关键步骤,首先要清洗原始数据中的矛盾之处,还要将原始数据结构做一个从面向应用和面向主题的转变。

3.时变(Time Variant)的数据集合

  数据存储从历史的角度提供信息,所以数据仓库中包含时间元素,它所提供的信息总是与时间相关联的。数掘仓库中存储的是一个时间段的数据,而不仅仅是某一个时刻的数据。它要求数据仓库中的数据保存时限能满足进行决策分析的需要,而且数据仓库中的数据都要标明该数据的历史时期。

4.非易失(Nonvolatile)的数据集合

  数据仓库总是与操作环境下的实时应用数据分离存放,因此不需要事务处理、恢复和并发控制机制。数据仓库里的数据通常只需要两种操作:初始化载入和数据访问。它反映的是历史数据的内容,而不是日常事务处理产生的数据,数据经加工和集成进入数据仓库后是极少或根本不修改的。因此其数据相对稳定,极少或根本不更新。

  综上所述,数据仓库是一种语义上规范的数据存储,它在决策支持数据模型中充当物理实现的角色,并存放企业战略决策所需的信息。数据仓库也常常被视为一种体系结构,通过将异种数据源中的数据集成在一起而构成,支持结构化和专门的查询、报告分析和决策制定。数据仓库最根本的特点是物理地存放数据,这些数据并不是最新的、专有的,而是来源于其它数据库的。数据仓库的建立不是要取代数据库,但因为它们面向的应用不同,所以要建立在一个较全面和完善的信息应用的基础之上,才能用于支持高层决策分析,而事务处理数据库在企业的信息环境中承担的则是日常操作性的任务。数据仓库是数据库技术的一种新的应用。到目前为止,数据仓库还是用数据库管理系统来管理其中的数据,数据仓库技术主要从数据库中提取部门所需要的数据,以满足部门级的需要[22]。

2.2 数据仓库技术的优越性

  数据仓库技术较之传统计的数据库技术有着明显的优越性,具体表现在以下几个方面。

  首先,数据仓库是一种有效的管理技术,将分布在网络中不同站点的商业数据集成到一起,为决策者提供各种类型的、有效的数据分析,起到决策支持作用。它是一个坏境,而不是一件产品,它提供用户用于决策支持的当前和历史数据,这些数据在传统的操作型数据库中很难或不能得到[22] [23]。

  其次,传统的关系型数据库RDB遵循一致的关系型模型,其中的数据(记录)以表格的方式存储,并且能用统一的结构化查询语言(SQL,Structual Query Language)进行数据查询,因此它的应用常被称为联机交易处理(OLTP),其重点在于完成业务处理,及时给予客户响应。它能够处理大型数据库,但不能将其简单地堆砌就直接作为数据仓库来使用。而数据仓库主要工作的对象为多维数据,因此又称为多维数据库。多维数据库的数据以数组方式存储,既没有统一的规律可循,也没有统一的多维模型可循,它只能按其所属类别进行归类。以应用而言,多维数据库应该具备极强的查询能力,且存储的信息既多又广,但由于其完成的是一种联机事物分析(OLAP),因此并不追求瞬时的响应时间,只是在有限的时间中给予响应即被认可[23]。

  然而,尽管数据仓库与传统数据库之间存在着如此大的差异,但设计数据仓库并不是完全另起炉灶,而可利用现有的传统处理数据,从中进行信息的综合,从而构造出满足不同需求的数据仓库。即数据从动态的、目前事件驱动的传统工作数据流向静态的、历史性质的数据仓库。从理论上说,从工作数据中战略性地引入到期的数据可以完成这种转变,但是由于受到实际存储容量和技术的限制,这实际上是不可能的。因此必须从工作数据中分离和筛选数据进入到数据仓库中。鉴于以上各种因素,为保证OLAP的性能,必须将数据仓库和传统工作的数据相分离[22]。

  最后,数据仓库技术是把不同来源、格式和特点的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享,是企业商务智能、数据仓库系统的重要组成部分。ETL技术是数据仓库技术的主要解决方案,它能够按照统一的规则集成并提高数据的价值,是负责完成数据从数据源向目标数据仓库转化的过程,是实施数据仓库技术的重要步骤[22] [23]。

2.3 ETL关键技术研究

  数据仓库系统的建立就是要通过数据分析来辅助自己决策,把最原始的数据资源转换为信息、知识[24]。不过由于这些数据的来源、格式不一样,导致了系统实施、数据整合的难度。要解决数据一致性与集成化问题,就需要有一个全面的解决方案来摆脱困境,使其能够从所有传统环境与平台中采集数据,并且该解决方案能够对其进行高效的转换,这个解决方案就是ETL[22]。

  ETL是Extraction, Transformation和Loading的缩写,指数据抽取、转换和清洗、装载的过程。它是实现数据仓库之前的重要步骤,对于仓库中数据质量的保证具有重要意义。它从运作资源中抽取数据并按照一定的要求将数据进行转换和清洗,最后将高质量的数据装载到数据仓库或数据集市中,为更高层次的应用提供决策分析[23]。ETL体系结构如图2.2所示。

图2.2 ETL体系结构图

下面从ETL体系结构出发,由三个方面来详细研究ETL关键技术。

2.3.1 数据抽取

  数据抽取是指从数据源中抽取数据仓库系统所需的数据。数据抽取采用统一的接口,可以从数据库中抽取数据,也可以从文件中抽取。对于不同数据平台、源数据形式、性能要求的业务系统,或者不同数据量的源数据,可能采用的接口方式就不同。为了保证抽取效率,减少对生产运营的影响,对于大数据量的抽取,采取“数据分割、缩短抽取周期”的原则,对于直接的数据库抽取,采取协商接口表的方式,保障生产系统数据库的安全。
从数据库中抽取数据一般有全量抽取和增量抽取两种方式[23]。

1.全量抽取

  全量抽取类似于数据迁移或数据复制,它将数据源中的表或视图的数据原封不动的从数据库中抽取出来,并转换成自己的ETL工具可以识别的格式。总体来说,全量抽取比较简单。

2.增量抽取

  增量抽取只抽取自上次抽取以来数据库中要抽取的表中新增或修改的数据。在ETL使用过程中,增量抽取较全量抽取应用更广。如何捕获变化的数据是增量抽取的关键。捕获变化时,首先要能够将业务系统中的变化数据按一定的频率准确地捕获到;其次不能对业务系统造成太大的压力,影响现有业务。

2.3.2 数据转换和加工

  从数据源中抽取的数据不一定完全满足目的数据库的要求,例如数据格式的不一致、数据输入错误、数据不完整等等,因此有必要对抽取出的数据进行数据转换和加工。

  数据转换,主要是针对数据仓库建立的模型,实现数据从业务模型到分析模型的转换。数据转换是将源数据变为目标数据的关键环节,它包括数据格式转换、数据类型转换、数据清洗、数据拆分、数据汇总计算、数据拼接等,保证来自不同系统、不同格式的数据和信息模型具有一致性和完整性,并按要求装入数据仓库。

  数据的转换和加工可以在ETL引擎中进行,也可以在数据抽取过程中利用关系数据库的特性同时进行[23]。

1.ETL引擎中的数据转换和加工

  ETL引擎中一般以组件化的方式实现数据转换。常用的数据转换组件有字段映射、数据过滤、数据清洗、数据替换、数据计算、数据验证、数据加解密、数据合并、数据拆分等。这些组件如同一条流水线上的一道道工序,它们是可插拔的,且可以任意组装,各组件之间通过数据总线共享数据。

2.在数据库中进行数据加工

  关系数据库本身已经提供了强大的SQL和函数来支持数据的加工,如在SQL查询语句中添加where条件进行过滤,查询中重命名字段名与目的表进行映射,substr函数,case条件判断等等。

  相比之下,直接在SQL语句中进行转换和加工更加简单清晰,性能更高。对于SQL语句无法处理的可以交由ETL引擎处理。

2.3.3 数据装载

  数据加载是将转换后的数据加载到数据仓库中,数据的加载可以采用数据加载工具,也可以采用编程进行数据加载。数据加载具有加载周期,数据加载周期要综合考虑经营分析需求和系统加载的代价,对不同业务系统的数据采用不同的加载周期,但必须保持同一时间业务数据的完整性和一致性。

  将转换和加工后的数据装载到目的库中通常是ETL过程的最后步骤。装载数据的最佳方法取决于所执行操作的类型以及需要装入的数据量。

2.4 本章小结

  本章对可定制报表系统所涉及的数据仓库和ETL关键技术进行了综述性的研究。该部分主要介绍了数据库概念,研究了数据仓库技术较之传统数据库的优越性,数据ETL关键技术以及其各步骤的具体流程,为可定制报表系统的解决方案做了关键性技术前提。

  本文未经许可谢绝转载!

呼叫中心中可定制报表系统的设计与实现(二)
呼叫中心中可定制报表系统的设计与实现(三)
呼叫中心中可定制报表系统的设计与实现(四)

作者独家供稿 CTI论坛报道



相关阅读:
基于VoiceXML可视化IVR系统设计和实现(四) 2010-01-07
基于VoiceXML技术可视化IVR设计和实现(三) 2009-12-29
基于VoiceXML技术可视化IVR设计和实现(二) 2009-12-29
基于VoiceXML的可视化IVR系统设计和实现(一) 2009-09-22
上海易谷与Genesys达成大中华区长期合作伙伴关系 2009-04-17