首頁(yè)>>廠(chǎng)商>>CTI系統平臺廠(chǎng)商>>易谷網(wǎng)絡(luò )

呼叫中心中可定制報表系統的設計與實(shí)現(三)

上海易谷網(wǎng)絡(luò )科技有限公司 趙延超 2010/01/27

呼叫中心中可定制報表系統的設計與實(shí)現(一)
呼叫中心中可定制報表系統的設計與實(shí)現(二)

第四章 可定制報表系統詳細設計與實(shí)現


  在系統分析和系統總體設計之后,就進(jìn)入了詳細設計與實(shí)現階段。該階段主要完成報表系統核心技術(shù)的詳細設計和實(shí)現,重點(diǎn)研究模板內部統計項的劃分、以及以該統計項為基本單元構建模板、數據ETL過(guò)程、數據庫中表的格式設計和單元編碼實(shí)現。

4.1 報表模板的詳細設計與實(shí)現

  4.1.1 模板功能的分析和設計

  在分析了市場(chǎng)對報表系統的功能需求和系統開(kāi)發(fā)問(wèn)題后,就需要設計一套方案來(lái)解決報表系統靈活性問(wèn)題。

  該系統設計了一套標準的報表統計模板來(lái)完成報表的靈活和通用特性問(wèn)題。一個(gè)模板是針對一個(gè)呼叫中心對象的相關(guān)信息配置。對于用戶(hù)給出的任何一個(gè)報表需求,只需要利用可視化的報表設計工具設計一個(gè)報表模板,再將其加載到ETL服務(wù)中。ETL服務(wù)便可以從ODS源數據庫中提取相關(guān)數據做處理,最終加載到報表數據庫中。然后將報表數據庫中的數據利用報表展現工具展現出來(lái)就可以生成報表。從而令報表的功能設計較為靈活,也更加方便。因此,在報表模板的設計時(shí)應該有以下幾點(diǎn)考慮:

  1.已經(jīng)定制的報表模板可以很簡(jiǎn)單地被整合重用。相關(guān)內容的報表需求只需要對此模板進(jìn)行少量的修改即可實(shí)現,從而節省新建模板的時(shí)間。

  2.根據企業(yè)不同的需求,能夠滿(mǎn)足企業(yè)的實(shí)用性要求。所以模板設計要具備靈活且面向業(yè)務(wù)的歷史報表分析功能,使這個(gè)歷史報表系統可以追蹤所有和企業(yè)活動(dòng)有關(guān)的必要的數據,并把它們記錄在數據庫中,為每一個(gè)客戶(hù)互動(dòng)事件建立一個(gè)歷史紀錄,并沿著(zhù)互動(dòng)事件的路線(xiàn),自始至終進(jìn)行追蹤,完整記錄每次互動(dòng)從開(kāi)始到完成的路徑。

  3.系統應該提供給報表最終用戶(hù)可視化的報表分析工具,使其能夠自定義模板,且對于不同的報表需求,他們可以利用此工具根據其邏輯定義自行創(chuàng )建新的統計規則,以完成變化的、滿(mǎn)足客戶(hù)需求的數據收集。

  4.模板設計工具能夠完成報表模板設計、模板加載、數據過(guò)濾設計功能,并且利用該工具,能夠增加報表模板或修改報表模板。而且也支持用戶(hù)開(kāi)發(fā)與應用,從而用戶(hù)可以根據系統事先定義的規則,自己對其進(jìn)行開(kāi)發(fā)和應用。

  根據以上報表模板分析,模板的設計結構框架如圖4.1所示。

圖4.1 模板結構框架圖

  由模板結構框架圖得知,模板包括模板名稱(chēng),數據統計對象,收集數據的頻率和多個(gè)基本統計項。其中,每個(gè)統計項對應著(zhù)統計對象(如:坐席,路由點(diǎn)等)的一條統計內容信息(如:1小時(shí)內的呼叫總量等)。然后由這些統計項和統計參數組合成模板,從而構成對呼叫中心對象的統計信息。

  模板的劃分用來(lái)簡(jiǎn)化了報表的復雜性。根據這些關(guān)鍵性模板,以公正的最重要的呼叫中心的統計資料過(guò)濾關(guān)鍵性數據,然后以各種各樣的可視化顯示技術(shù)來(lái)展示報表數據。

  4.1.2 統計項細分

  該報表系統設計的模板,用來(lái)對呼叫中心中相關(guān)對象做相應的數據統計。報表模板的設計目的是讓報表的功能設計更加靈活,維護也更加方便。但是若要使模板的功能能夠通用,就應該對模板內部單元做詳細而規則的劃分。從而系統需要將模板分為相互獨立的,確定范圍的,而又相互聯(lián)系的基本單元,通過(guò)有限的各基本單元的選擇配置組合來(lái)實(shí)現所有數據統計模板的構建。這樣,通過(guò)該模板的加載去收集相應的報表數據,以達到報表統計靈活通用的目的。

  然而,在現代呼叫中心尤其是大型的呼叫中心中,數據量是巨大的,且形式也各種各樣。要想把報表模板劃分成規范而整體可以覆蓋全面的子單元,就需要對呼叫中心中報表統計數據的規律性進(jìn)行研究。不過(guò)呼叫中心中的報表數據劃分也不是孤立的,而是相互之間存在著(zhù)一定的適用條件聯(lián)系。報表數據統計都應該表現出研究對象的本質(zhì)屬性:服務(wù)的對象、基本內容、實(shí)現的功能等。

  從呼叫中心報表數據的規則性而言,它的每一條記錄都包括監控的對象,收集的數據內容和收集的時(shí)間段三部分。監控的對象表明它是一個(gè)坐席,坐席組,路由點(diǎn),隊列,分機,隊列組,IVR對象等。收集的數據內容表示統計的最長(cháng)通話(huà)時(shí)間,內線(xiàn)呼叫總量,平均等待時(shí)間等。收集的時(shí)間段表示收集數據的頻率,如15分鐘表示每15分鐘收集一次數據。統計項劃分后,每一個(gè)統計項就對應一個(gè)報表需求統計數據的配置。如要統計每天路由點(diǎn)上所有的呼入量和接通量,則需要對路由點(diǎn)這個(gè)對象做個(gè)模板,再在這個(gè)模板中創(chuàng )建兩個(gè)統計項。分別為統計該天呼入量和接通量的相關(guān)配置。

  基于以上研究對象的本質(zhì)屬性分析,下面完成模板統計項的細分。

  在研究一個(gè)模板進(jìn)行細分時(shí),首先必須確定其統計目標,統計時(shí)間段和統計內容等。在模板加載后,用戶(hù)也可以對這些配置在進(jìn)行修改,同時(shí)還可以添加和刪除統計項。

  根據系統對統計項劃分的分析,模板的構造單元劃分后,其結構如圖4.2所示。

圖4.2 模板結構圖

  根據模板結構圖,每一個(gè)模板包含一個(gè)對象類(lèi)型(Object Type),一個(gè)唯一的模板名稱(chēng)(Template Name),一個(gè)時(shí)間收集頻率(Time Profile)和多個(gè)統計項(Statistics Units)。

  1.對象類(lèi)型

  對象類(lèi)型用來(lái)說(shuō)明報表數據統計的對象類(lèi)型,包括坐席(Agent), 坐席組(AgentGroup), 隊列(Queue), 隊列組(QueueGroup), 路由點(diǎn)(RoutePoint), 分機(Extension), 技能組(SkillGroup),自助語(yǔ)音呼叫(IVR)等等。

  2.數據收集頻率

  數據收集頻率表示收集數據的時(shí)間段,它定義了一個(gè)收集數據的時(shí)間間隔,默認為15分鐘。用戶(hù)可以自己添加或更改收集數據的時(shí)間段。

  3.統計項

  一個(gè)模板可以包括一個(gè)或者多個(gè)統計項,用來(lái)說(shuō)明統計的內容。每個(gè)統計項參數需要再細分,使其進(jìn)行組合后可以涵蓋所有的常用功能。在統計項細分后,每個(gè)統計項參數主要包括以下四個(gè)方面:列名(Column Name),統計內容(Stat Type),時(shí)間范圍(Time Range),過(guò)濾項(Filter)。另外,統計項創(chuàng )建時(shí),還可以給該統計參數增加一個(gè)描述以說(shuō)明統計項的作用。

  1. 列名表示ETL服務(wù)根據該統計項收集的數據存放到數據庫對應的表中的屬性名。

  2. 時(shí)間范圍是一次話(huà)務(wù)各操作持續的時(shí)間劃定。如:要統計通話(huà)時(shí)間在10秒和30秒之間的話(huà)務(wù)量,就需要在時(shí)間范圍選擇時(shí)添加一個(gè)10-30秒的Time Ranges選項。


  3. 過(guò)濾項表示根據報表需求添加的一些過(guò)濾項配置。例如要統計所有多媒體相關(guān)的呼叫,這就需要在統計項中添加一個(gè)MediaType=Multimedia的過(guò)濾項,來(lái)對呼叫中心傳遞的數據進(jìn)行過(guò)濾。通過(guò)過(guò)濾項的配置,系統可以過(guò)濾外撥,內線(xiàn)呼叫等信息。


  4. 統計內容主要用來(lái)配置報表統計的細節內容。它由統計類(lèi)別(Category),統計對象(Objects),話(huà)務(wù)操作(Actions),公式(Formula)四個(gè)屬性組成。

  統計類(lèi)別也叫數據類(lèi)別,它用來(lái)表示報表數據統計的內容類(lèi)別,它包括TotalTime,TotalAdjustTime,TotalNumber,TotalAdjustNumber,AverageTime,AverageNumber,MaxTime, MaxNumber, MinTime,MinNumber等,表示報表統計數據的類(lèi)別:總時(shí)間,總數量,平均時(shí)間,平均數量,最大時(shí)間,最大數量,最小時(shí)間,最少數量等。

  統計對象是針對前面選擇的統計類(lèi)型列出所有的相關(guān)的統計對象,通過(guò)選擇統計對象來(lái)對具體的統計目標進(jìn)行指定。例如,在數據對象選擇時(shí),可以選坐席號為3001和3005的坐席以做相關(guān)數據統計。

  話(huà)務(wù)操作是決定最終統計數據的基礎,從其選擇可以解析出數據統計的開(kāi)始計時(shí)或計數的初始化狀態(tài)和結束狀態(tài)。操作應該包括特定情況下的話(huà)務(wù)操作,詳細內容如表4.1所示。

表4.1 話(huà)務(wù)操作功能表

  這些話(huà)務(wù)操作有的屬于持續的一種狀態(tài),也有的是一個(gè)瞬時(shí)動(dòng)作。在對其選擇后,ETL服務(wù)就會(huì )對統計事件進(jìn)行相應過(guò)濾,由此確定收集數據的起始,從而對報表統計數據進(jìn)行相關(guān)的處理。 


  公式的設計使系統支持一些常用公式,公式中也可以包括一些封裝好的常用函數。它可以對話(huà)路中的隨路數據或者用戶(hù)在業(yè)務(wù)管理時(shí)添加的數據進(jìn)行處理。比如GetValue(“CTI”), 它可以獲得隨路數據中“CTI”對應的數據。

  4.1.3 模板的構建與加載

  在模板統計項劃分后,就需要根據劃分的統計項進(jìn)行組合,創(chuàng )建一個(gè)模板。創(chuàng )建一個(gè)模板就是構造一種方法,用來(lái)告訴ETL 服務(wù)一種收集信息的需求。而報表的需求就是將這些模板組合在一起,再根據這些模板對呼叫中心所傳遞的數據進(jìn)行過(guò)濾、轉換、清洗并加載到數據倉庫中,最后用報表展現工具將之顯示出來(lái)形成報表。

  模板的構建需要將各個(gè)統計項按一定的次序整合到一起,組成一個(gè)完整的統計某對象的數據記錄。ETL服務(wù)就會(huì )根據這個(gè)記錄的配置,來(lái)對其進(jìn)行相關(guān)的數據統計。模板的構建流程如圖4.3所示。

圖4.3 模板構建流程圖

  在模板的創(chuàng )建過(guò)程中,首先必須給該模板指定一個(gè)名字,該名字不能重復。再者,需要選擇模板要統計的模板類(lèi)型以及要對該模板收集數據的頻率,例如:10分鐘收集一次數據。

  然后創(chuàng )建該模板需要進(jìn)行數據統計的統計項,如最大等待時(shí)間,外撥呼叫量等。這就需要先給統計項一個(gè)名字和一個(gè)屬性列名稱(chēng),這個(gè)屬性列名稱(chēng)是它過(guò)濾的數據在數據庫相應表中的列屬性名。比如把統計項為T(mén)otal_Time_Waiting的列屬性名稱(chēng)指定為T(mén)_Waiting,則在數據庫的相應表中屬性列為T(mén)_Waiting的數據就是根據該統計項所做的數據統計結果。

  再者,需要為模板指定時(shí)間范圍,從而對統計的時(shí)間段做一個(gè)限制。然后可以選擇一個(gè)過(guò)濾項來(lái)過(guò)濾不符合要求的呼叫。同時(shí)還可以為該統計項添加一個(gè)描述,以說(shuō)明這個(gè)統計項的用途。

  在統計項時(shí)間范圍配置完成后, 就需要對統計內容進(jìn)行相關(guān)的配置。系統可以配置統計的對象、統計類(lèi)別、話(huà)務(wù)操作,來(lái)完成具體的統計目標配置信息。另外還可以添加一些公式來(lái)對自定義的一些屬性來(lái)進(jìn)行配置。比如,用戶(hù)若要過(guò)濾業(yè)務(wù)自定義的參數“GVP”為5的呼叫,這時(shí)候要用到Formula公式。在參數配置時(shí)需要在公式處添加一個(gè)配置GetValue(“GVP”)==’5’。在模板配置完成后,將模板加載,這樣在模板的加載狀態(tài)就會(huì )被標志為加載狀態(tài)。然后ETL服務(wù)運行時(shí),相應報表數據將會(huì )根據這些配置在規定的時(shí)間間隔內被抽取。

  針對模板的構建,需要對每一個(gè)統計對象一般常用的統計信息進(jìn)行封裝,創(chuàng )造出一個(gè)默認的模板。在報表系統使用的時(shí)候,系統會(huì )自動(dòng)將默認的模板加載上去,再根據特定的報表需求,對默認模板中沒(méi)有的統計項進(jìn)行添加。

  需要指出的是,在創(chuàng )建模板時(shí),若使用者對模板的名稱(chēng)輸入有一定的規范性,系統將會(huì )自動(dòng)生成一個(gè)或者多個(gè)較為符合邏輯的模板以供選擇。如模板名稱(chēng)為T(mén)otal_Hold_Time,則模板的各統計項選擇則會(huì )自動(dòng)按照Total, Hold, Time出現的次數來(lái)排序組成模板以供使用者選擇。若給出的選項都不符合要求,則可以對各統計項進(jìn)行自定義。

  另外,雖然對模板進(jìn)行統計項的劃分可以使報表數據的統計更加靈活,更加通用,但是,當功能過(guò)于復雜時(shí)若實(shí)現上有了一定的障礙,從而需要添加新的統計類(lèi)別,所以本系統需要不斷的改進(jìn)和完善。

  4.1.4 具體實(shí)現與相關(guān)類(lèi)圖

  在報表模板細分之后,該部分來(lái)完成相應的編碼,主要實(shí)現報表模板的統計項以及由它而分的其他各基本單元的編碼設計。

  該部分在分析邏輯定義,解析數據信息的基礎上,構造報表的模板代碼,分析報表的布局,從而建立真正的報表。

  該部分是將模板以及相關(guān)統計項劃分為各個(gè)單元后,將各單元封裝成單獨的代碼,并在分析邏輯定義基礎上解析數據信息,對模板代碼進(jìn)行獨立加載。從本質(zhì)中看,單元編碼就是,根據報表模板各部分的ID標識號,將所有的參數信息填充入數據庫中。

  此外,設計系統時(shí)還應該封裝一些常用的函數為公式(Formula)調用,從而使其可以直接在可視化設計中對函數進(jìn)行自動(dòng)調用。

  根據數據庫中設計的模板配置儲存,模板加載后,系統就會(huì )對數據庫中的所有配置信息進(jìn)行遍歷,獲取每個(gè)信息的名稱(chēng)和內容等,組裝成報表請求信息進(jìn)行發(fā)送,交給ETL服務(wù)進(jìn)行處理。

  在編碼之前,還需要對模板的各參數配置進(jìn)行研究。根據模板的構建流程圖,系統將模板參數的配置順序以及各參數在模板中的位置結構進(jìn)行規劃,如圖4.4所示。

圖4.4 模板參數配置結構圖

  根據模板參數的配置結構圖來(lái)對報表模板的各基本單元進(jìn)行編碼設計,其相關(guān)實(shí)現類(lèi)圖 [32]如圖4.5所示。

圖4.5 報表模板細分類(lèi)圖

  從以上類(lèi)圖結構可得,報表模板設計中包括以下類(lèi):

  1. CReportTemplate:該類(lèi)的作用是構造報表模板。

  2. CObjectType:統計對象類(lèi)型。

  3. CUnit:統計項類(lèi),用來(lái)設計統計項的各參數。

  4. CTimeProfile:此類(lèi)是一個(gè)時(shí)間段,用來(lái)指定收集數據的頻率。

  5. CStatType:統計內容設計類(lèi)。

  6. CTimeRange:時(shí)間范圍設置類(lèi)。

  7. CFilter:過(guò)濾信息類(lèi)。
  8. CObject:統計對象類(lèi)。

  9. CCategory:數據統計類(lèi)別。

  10. CFormula:公式編輯。

  11. CAction:話(huà)務(wù)操作編輯。

4.2 數據庫模塊詳細設計與實(shí)現

  報表系統中對數據庫表的管理是其很重要的部分。本節主要介紹數據庫配置相關(guān)的一些設計與實(shí)現。

  4.2.1 配置數據庫設計與實(shí)現

  配置數據庫的作用是儲存呼叫中心各對象的相關(guān)配置,包括一些基本對象和模板相關(guān)信息的配置。它對基本對象的配置包括一些對象ID,對象名,成員等。如坐席組A中含有哪些坐席等信息。其中,配置數據庫中對模板配置的儲存模型如圖4.6所示。

圖4.6 模板配置存儲模型圖

  在模板配置存儲模型圖中,分別建立了單獨的表對模板劃分的每一個(gè)基本對象進(jìn)行儲存。表template存儲模板的配置信息,stat_unit表存儲了統計項的基本信息,stat_type表是一些有關(guān)模板具體內容的配置。各表之間通過(guò)各自的ID標識號來(lái)進(jìn)行關(guān)聯(lián)。不過(guò)一個(gè)模板可以包括多個(gè)統計單元,一個(gè)統計項可以包含多個(gè)過(guò)濾項,一個(gè)統計內容可以包含多個(gè)公式,這樣他們之間的ID關(guān)聯(lián)就成為1對多的關(guān)系。在這種情況下,父項中的ID關(guān)聯(lián)多個(gè)子項ID,其間是用逗號分隔。

  數據庫存儲模型中,像time_range_expression,filter_expression,formula_expression描述的內容是由報表設計工具生成的一個(gè)判斷語(yǔ)句,用來(lái)做編碼時(shí)進(jìn)行的過(guò)濾。如上一節的舉例,過(guò)濾自定義參數“GVP”為5的呼叫,需要在formula中添加的選項是GetValue(“GVP”)==’5’,則formula_expression的語(yǔ)句封裝為“if(GetValue(“GVP”)= =’5’);”。其中的函數是程序中定義用來(lái)獲取隨路數據的。

  另外,為了便于操作,對模板的儲存還可以以XML文件信息將其導出并儲存到計算機的磁盤(pán)中,作物理備份。在一個(gè)新的報表系統使用時(shí)候,可以將這些模板進(jìn)行導入,然后模板的配置信息就會(huì )自動(dòng)導入,不需要重新創(chuàng )建模板。其中導出和導入的XML文檔內容具有規則的格式,如圖4.7所示。

圖4.7 模板物理存儲例圖

  在模板導出的XML儲存圖中,ReportVersion屬性為報表系統的版本號。Template信息用來(lái)指定一個(gè)模板名字,給模板一個(gè)唯一的模板ID,再指定該模板是否激活,另外也為該模板添加了注釋。該例中是對所有坐席活動(dòng)的數據進(jìn)行統計。ObjectType為模板的統計類(lèi)型,該模板中統計類(lèi)型為坐席(Agent)。TimeProfile為設定收集的時(shí)間間隔,本例中為從每天的0點(diǎn)0分開(kāi)始,每隔15分鐘收集一次。Statistic對應了一個(gè)統計內容配置,根據StatTypeID在下面將列出詳細內容。本例中StatTypeID為19,下面的StatType中將會(huì )根據StatTypeID與之相對應,其中配置了Category, Objects ,Actions, TimeRange, Filter以及該StatType的注釋。

  在該報表系統設計時(shí),報表模板的配置數據物理地存放在XML文檔中,就類(lèi)似于一個(gè)小型的數據庫。XML文檔結構性好,操作起來(lái)十分容易。而且在生成報表數據框架的時(shí)候,都有相應的類(lèi)型定義,因此對于不同的數據類(lèi)型操作也很方便。

  4.2.2 ODS源數據庫的設計與實(shí)現

  在呼叫中心的相關(guān)對象和呼叫中心服務(wù)進(jìn)行通訊后,呼叫中心的狀態(tài)服務(wù)器將會(huì )把數據信息按照一定的格式存儲到ODS源數據庫中。報表系統便從ODS源數據庫中獲取數據以供報表生成所用。

  在呼叫中心服務(wù)器發(fā)送事件時(shí),它都會(huì )對事件的對象指定的一個(gè)狀態(tài)。在任何時(shí)間,ODS源數據庫中,每個(gè)對象都被指定成一個(gè)唯一的狀態(tài)。這些狀態(tài)都來(lái)自話(huà)務(wù)對象的操作。

  ODS源數據庫中數據儲存的數據庫模型如圖4.8所示。

圖4.8 ODS源數據庫模型圖

  根據ODS源數據庫模型圖,ods_data表中存儲了事件發(fā)送的時(shí)間(time_key)、事件(event)、報表統計對象(object)、對象狀態(tài)(object_stat)、對象類(lèi)型(object_type)以及一些隨路數據(attach_data)等信息。這些對象的詳細信息都是以各部分的ID來(lái)對內容進(jìn)行關(guān)聯(lián)。

  另外,ODS源數據庫中事件存儲的相應表的命名為ods_data加一個(gè)數字。當表中的數據不斷的增加,達到1000條記錄時(shí),系統將會(huì )建立新表來(lái)儲存新的數據,其表名按ods_data1,ods_data2……數字疊加的規則來(lái)指定。

  4.2.3 報表數據庫的設計與實(shí)現

  報表數據庫作為報表展現數據最直接的數據庫,對數據的存儲是存在一定的規則。因為系統對數據的相關(guān)處理是通過(guò)模板的操作來(lái)實(shí)現的,所以數據的存儲和模板的配置有關(guān)。數據庫中表的存儲結構如圖4.9所示。

圖4.9 報表數據庫模型圖

  表temp_name_time中存儲了根據模板進(jìn)行處理的報表最終數據,其中,temp_name_time不是具體的表名,它是一個(gè)泛指。它的命名是模板的名字加上統計的時(shí)間間隔。而stat_colume1也不是具體的表名,它是一個(gè)統計項列名的代稱(chēng)。如果模板的名字為AGENT_TEMPLATE,該模板的統計項有THOLD、TTRANS- FER、NINBOUND等。其過(guò)濾后的相關(guān)數據存儲的默認表有:AGENT_TEMPLA- TE_HOUR、AGENT_TEMPLATE_DAY、AGENT_TEMPLATE _WEEK、AGENT- _TEMPLATE_MONTH、AGENT_TEMPLATE_YEARK。依次表示該模板按照小時(shí),天,周,月,年來(lái)統計的數據。這些表中的stat_column屬性名被實(shí)際的列屬性名代替,分別為T(mén)HOLD、TTRANSFER、NINBOUND等,表示統計目標的話(huà)務(wù)保持時(shí)間,轉接電話(huà)時(shí)間和內線(xiàn)呼叫量。根據這個(gè)格式規則,各種報表展現工具都可以通過(guò)讀取數據庫,直接生成所需要統計的報表。

  最終的報表是讀取該儲存模式的數據后進(jìn)行數據填寫(xiě),顯示諸如“已收到的關(guān)于產(chǎn)品X的電話(huà)數量”或 “客服代表組 A 所創(chuàng )造的收入” “客戶(hù)答應付款” 或 “每個(gè)呼出活動(dòng)的銷(xiāo)售率”之類(lèi)的信息,可以對資源的有效性進(jìn)行分析。有了這種功能,管理人員就可以依據信息制定決策來(lái)改善與客戶(hù)的互動(dòng)關(guān)系,并抓住交叉銷(xiāo)售和向上銷(xiāo)售的機會(huì )。

4.3 數據ETL過(guò)程詳細設計和實(shí)現

  4.3.1 數據ETL流程設計

  在報表設計工具創(chuàng )建模板后,這些模板的配置會(huì )被傳送至ETL服務(wù),然后ETL服務(wù)將這些模板的配置信息寫(xiě)進(jìn)配置數據庫中。

  ETL 服務(wù)是報表設計工具的服務(wù)器,它主要進(jìn)行數據的抽取、轉換和加載。當報表設計工具對模板以及其他一些相關(guān)配置進(jìn)行修改時(shí),如:Filters, Time Range等,報表設計工具會(huì )將模板修改的信息傳遞給ETL服務(wù),再對配置數據庫進(jìn)行相應的修改。當報表設計工具加載一個(gè)報表模板后,它也會(huì )通知ETL服務(wù),ETL服務(wù)將會(huì )在配置數據庫中對該模板添加模板加載標志。相反,卸載一個(gè)模板時(shí),將會(huì )刪除模板加載標志。

  本系統的數據ETL詳細步驟如圖4.10所示。

圖4.10 系統數據ETL流程圖

  根據流程圖,ETL服務(wù)先讀取配置數據庫中的基本對象配置,按照各模板的配置依次從ODS源中抽取數據。抽取模板配置對象相關(guān)的數據后,包括時(shí)間段,對象狀態(tài)等信息,將其存儲到臨時(shí)數據庫中。

  在ETL服務(wù)將抽取數據存儲到臨時(shí)數據庫后,再根據一定的轉換規則,對抽取的數據進(jìn)行轉換。數據轉換完成后再對其進(jìn)行一些必要的處理,清除那些不正確的,不完整的數據,再對數據的格式等進(jìn)行加工,最后加載到報表數據庫中。

  當數據加載到報表數據庫完畢后,在一定時(shí)間內再將臨時(shí)數據庫中相關(guān)用表刪除掉,減少數據占用率。

  4.3.2 數據ETL過(guò)程實(shí)現

  在數據ETL流程中需要對ODS源數據庫按照一定的規則進(jìn)行抽取,另外,在抽取的數據進(jìn)行轉換時(shí),也需要有轉換規則。

  ODS源數據庫中的每一條記錄都對應著(zhù)一個(gè)呼叫中心中的對象的一個(gè)事件。記錄中包含事件發(fā)送的時(shí)間、報表統計對象名稱(chēng)、對象類(lèi)型,事件名稱(chēng),對象狀態(tài)等內容。

  首先,系統根據收集數據的頻率,每隔固定的時(shí)間,按照每個(gè)模板中的配置信息,依次讀取統計對象對應的信息。然后,將這些抽取的信息與模板ID關(guān)聯(lián),再按照固定的格式存放到臨時(shí)數據庫中。臨時(shí)數據庫中的表屬性格式為:模板ID――事件時(shí)間――對象ID――對象當前狀態(tài)――上一次事件時(shí)間,如圖4.11所示。

圖4.11 臨時(shí)數據庫模型圖

  在數據抽取到臨時(shí)數據庫后,需要對臨時(shí)數據庫中的數據進(jìn)行處理,最終轉換為報表需求的數據。

  若報表需要統計的類(lèi)型是一般的話(huà)務(wù)總時(shí)間或者總數量,則將該收集時(shí)間段內符合需求的話(huà)務(wù)量求和即可,即(4-1)

  其中TotalTime和TotalAdjustTime都是對話(huà)務(wù)總時(shí)間進(jìn)行統計,但是兩者還有一定的不同。比如,要統計00:45-01:00之間的坐席簽入時(shí)間。若在該坐席在00:34簽入,01:00時(shí)還處于簽入的狀態(tài)。TotalTime的統計以該坐席的簽出事件為終結符,當終結事件觸發(fā)時(shí),它會(huì )找到該狀態(tài)的開(kāi)始時(shí)間,利用其時(shí)間差作為結果。它統計的時(shí)間可能會(huì )大于時(shí)間段的時(shí)間長(cháng)度。但是由于在該時(shí)間段內沒(méi)有簽出事件,所以TotalTime在該段時(shí)間統計的坐席簽入時(shí)間為0。而利用TotalAdjustTime統計時(shí),先在統計時(shí)間段的開(kāi)始進(jìn)行對象狀態(tài)的讀取,若此時(shí)狀態(tài)滿(mǎn)足條件,則它會(huì )以該時(shí)間為開(kāi)始時(shí)間,以該狀態(tài)的事件結束為終結,若這段時(shí)間內無(wú)狀態(tài)結束事件,則會(huì )以收集時(shí)間段的結束時(shí)間為終結標志,所以TotalAdjustTime統計的該段坐席的簽入時(shí)間為15分鐘。TotalNumber與TotalAdjustNumber的區別是,在統計數量時(shí),TotalAdjustNumber會(huì )對收集時(shí)間開(kāi)始進(jìn)行一次時(shí)間判斷,若滿(mǎn)足條件,在數量上就會(huì )加1。TotalNumber以每個(gè)相應事件的觸發(fā)開(kāi)始計數。

  另外,該部分還可以進(jìn)行一個(gè)最大時(shí)間、最小時(shí)間、最大數量、最小數量、平均時(shí)間以及平均數量的統計。這需要先把收集時(shí)間段內所有符合條件的記錄抽取出來(lái),再將其進(jìn)行求最大、最小或平均的操作。即(4-2)
  
  在ETL 服務(wù)進(jìn)行以上方式處理數據后,再經(jīng)過(guò)一些數據清洗和加工最終轉換成以小時(shí)、天、周、月和年統計的規則數據,并加載到報表數據庫中,以供報表生成所用。同時(shí)在報表數據庫中各表還依數據對象ID對應關(guān)系,隨時(shí)間不斷更新。

4.4 可定制算法實(shí)現

  4.4.1 消息處理算法實(shí)現

  根據報表數據處理流程,系統需要靈活處理數據庫中存儲的話(huà)務(wù)消息,以滿(mǎn)足使用者的具體需求。但有時(shí)系統還需要對某些邏輯數據進(jìn)行特殊的處理,以使其符合用戶(hù)需求。如要收集固定時(shí)間段內的呼叫總時(shí)間,可能會(huì )出現該時(shí)間段內沒(méi)有該呼叫的開(kāi)始事件,或者無(wú)該呼叫的結束事件等的情況,所以系統就需要對話(huà)路的操作事件進(jìn)行一定的算法處理。

  下面文本框根據此例簡(jiǎn)要描述了消息處理算法的基本原理。

  4.4.2 模板自動(dòng)創(chuàng )建算法的實(shí)現

  在用戶(hù)創(chuàng )建模板的時(shí)候,首先系統會(huì )以一定的算法對規則的模板名稱(chēng)進(jìn)行處理,從而實(shí)現模板的自動(dòng)創(chuàng )建。同時(shí)根據使用者對統計項使用的頻率,將其以一定的優(yōu)先級排序,進(jìn)行結構重新組織,從而方便使用。
下面文本框簡(jiǎn)要描述了模板自動(dòng)創(chuàng )建算法的基本實(shí)現原理。


4.5 本章小結

  本章是可定制報表系統的詳細設計和具體實(shí)現部分,主要研究了報表模板的邏輯定義設計、統計項以及其它各基本單元的詳細劃分、模板的創(chuàng )建設計和數據ETL技術(shù)實(shí)現,并詳細闡述了報表系統實(shí)現的相關(guān)類(lèi)圖、數據ETL實(shí)現方法以及數據存儲方式。

本文未經(jīng)許可謝絕轉載!

呼叫中心中可定制報表系統的設計與實(shí)現(四)

作者獨家供稿 CTI論壇編輯



相關(guān)閱讀:
呼叫中心中可定制報表系統的設計與實(shí)現(二) 2010-01-13
呼叫中心中可定制報表系統的設計與實(shí)現(一) 2010-01-11
基于VoiceXML可視化IVR系統設計和實(shí)現(四) 2010-01-07
基于VoiceXML技術(shù)可視化IVR設計和實(shí)現(三) 2009-12-29
基于VoiceXML技術(shù)可視化IVR設計和實(shí)現(二) 2009-12-29

亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 乐平市| 六盘水市| 陕西省| 辉县市| 汨罗市| 淅川县| 高邑县| 全州县| 余江县| 荃湾区| 远安县| 江安县| 临洮县| 古浪县| 区。| 道真| 前郭尔| 都匀市| 芒康县| 资阳市| 枣阳市| 吉木萨尔县| 小金县| 建德市| 卢龙县| 犍为县| 潢川县| 旅游| 达日县| 固安县| 长泰县| 安宁市| 丰宁| 象山县| 湄潭县| 城固县| 麻江县| 通化市| 百色市| 读书| 清河县| http://444 http://444 http://444 http://444 http://444 http://444