摘 要: 呼叫中心技術涉及計算機電話集成、數據庫技術和交換技術等多種技術,已成為向客戶提供服務的重要方式。研究如何將呼叫中心技術內嵌到社區衛生信息系統中,并給出了一種基于線性加權優先級算法的排隊模型。
關鍵詞: 呼叫中心;有限狀態機;計算機電話集成;排隊模型
呼叫中心(Call Center)也叫客戶服務中心,它利用計算機電話集成(CTI)技術,將基于語音的電信網絡(PSTN)與基于后臺數據庫的計算機處理網絡有機結合起來,實現客戶和系統的溝通互動。社區衛生信息管理系統是衛生管理決策數據的重要來源,社區信息管理人員如何快速準確地為管理決策者提供相關信息資料,是社區信息管理人員的一個重要任務,因此迫切需要適應現代社區信息管理運行模式的社區衛生信息管理系統。本文研究了如何將呼叫中心技術在社區衛生信息管理系統中的應用,分析了基于呼叫中心的社區衛生信息客戶服務系統的具體實現方案,并給出了一種基于線性加權優先級算法的排隊模型。
1 系統架構分析與建模
呼叫中心有兩種典型實現方案,即基于交換機的實現和基于語音板卡的實現[1]。這兩種方案適用于不同場合的呼叫中心構建。其中,基于語音板卡的方案其基本思想是在計算機平臺上集成各種功能的語音處理卡,完成通信接口、語音處理、傳真處理、座席轉接等功能,結合外部的計算機網絡實現各種應用系統的具體需求;如果呼叫中心規模小于20個座席,則適合采用基于語音板卡的實現方案。而當應用系統規模大于20個座席時,采用基于交換機的方案能夠獲得更好的經濟效益。本文所涉及的衛生信息管理系統對呼叫中心的需求屬于較小規模,因此適合采用基于語音板卡的實現方案。
1.1 系統總體架構
分析本系統中呼叫中心子系統的功能,可按主要業務模塊劃分,如圖1所示。
具體實現中,可以預留相關接口,便于系統業務功能模塊的擴展和變更。
1.2 系統的分層設計
構建呼叫中心子系統時需要考慮到系統的整體穩定性、引入新業務的靈活性及系統功能的可擴展性。為達到這些需求,本文在實現中采用分層設計的思想,如圖2所示。將呼叫中心子系統模型分為業務交換層、業務支撐層和業務實現層。相對于業務層面,呼叫接入處于最低層,業務應用處于最高層。業務交換層完成網絡的接入及業務支撐層的業務控制任務;業務支撐層是交換與具體業務之間的支撐系統;業務實現層通過API接口按照話務需求向業務支撐層提出需求,結合計算機網絡技術實現具體的應用。
在分層設計思想的基礎上,系統實現中的通用程序架構設計可以對呼叫流程控制進行動態配置,進而僅需通過增減或修改業務受理層上的業務模塊,以及對系統資源層上的語音文件進行編輯,即可以實現不同社區的呼叫中心或同一社區呼叫中心動態擴展業務。
1.3 系統狀態變遷描述
系統中同時存在多個呼叫,每個呼叫從發起到結束的整個過程要經歷多個狀態的變遷,多個呼叫的處理流程相互交織在一起異步進行。為保證相應控制軟件有清晰的控制結構和簡捷的程序代碼,有必要對系統狀態的轉換進行形式化描述和建模。
有限狀態機FSM(Finite State Machine)是一種常見的基本形式化技術[2]。若把一次呼叫定義為一個進程,呼叫的接入最終應答在接入過程中將經歷若干狀態的變遷。把進程的整個生命周期劃分成若干個不同狀態,每個狀態都在等待一條或幾條指定的事件;事件消息到達后,進程處理這些消息從而進入另一個狀態。
狀態集合。在事件集合中各事件的驅動下,線路將在各工作狀態之間轉換,這種變遷關系由映射函數f定義。由于呼叫中心啟動后各條線路始終連續運轉,沒有終止狀態,因此有限狀態機的終態集為空。系統支持多條外線同時呼叫,各條線路的呼叫處理過程都是異步進行的,因此系統需要維護多個有限狀態機,且每個有限狀態機對應一條線路。
1.4 系統具體實現
系統由一臺服務器和一塊8路模擬語音卡構成。語音板卡安裝在服務器內擴展槽中,板卡提供8個內/外線話機接口,可對8路語音進行同時處理。在軟件的設計過程中,系統采用模塊化的設計方法,充分考慮軟件與語音卡型號的無關性,以C++ Builder6.0為軟件開發工具。根據系統要求多路并行的特點,將系統功能細分為不可分割的原子動作,放入Timer控件的Ontimer事件中;將語音板卡初始化、信號音檢測、收碼處理、節點處理、掛機處理和語音流程維護等功能封裝成獨立模塊供系統調用,從而提高了系統可靠性。系統數據庫選用Microsoft SQL Server 2005,但考慮到應用該系統的各社區原有的數據庫系統差異,特提供了一種通用的數據庫接口。將接口系統分為相互獨立的接口生成子系統和接口運行子系統,通過接口參數描述表將兩部分有機聯系成為一個整體。注冊表是聯系接口生成子系統與接口運行子系統的數據基,接口生成子系統向注冊表中寫入接口描述;接口運行子系統則依據注冊表中的接口描述,裝配實際的運行接口。圖3為系統中呼叫的具體處理流程。
2 呼叫排隊的數學模型
呼叫排隊系統又稱為呼叫隨機服務系統,該系統中呼叫到達時間和服務所需時間都是隨機的,會出現“排隊等待”現象。因此必須首先考慮解決社區用戶呼入的排隊等待問題。通過建立呼叫中心的排隊模型實現對系統性能的分析,并通過預測呼叫的排隊等待時間,可以平衡呼入的各隊列等待時間,從而提高呼叫中心的實際工作效率。
2.1 通用排隊模型
呼叫中心的基本排隊模型包括以下參數:連接到呼叫中心的m條通信線路,w(w≤m)個服務臺(座席的最大數目),N(N≤w)個可以提供服務的座席[3]。其基本處理流程為:一個呼叫到達后,若所有線路都忙則呼叫被直接丟棄;若忙的座席數小于N則呼叫立即得到服務;若忙的座席數等于N則呼叫進入隊列排隊,并按先到先服務(FCFS)的算法處理。在呼叫中心的實際應用中,通常有Erlang-C、Erlang-B和Erlang-A三種排隊模型。其中,Erlang-B模型主要考慮了呼叫的阻塞問題;而Erlang-A模型不僅考慮了呼叫阻塞,還要考慮呼叫排隊過程中用戶主動放棄等待的問題;Erlang-C模型在呼叫中心理論分析中應用最為普遍。
2.2 Erlang-C模型應用分析
圖4所示為一個單隊列多座席的排隊系統模型。若座席數N=3,則3個座席向用戶提供服務,但是隊列只有一列。用戶呼叫到達后先判斷隊列情況,隊列為“空”則選擇某個座席接受服務;否則排隊等待。當某座席完成服務后,如果隊列處于“非空”狀態,則立即開始新服務;否則進入“空閑”狀態。
定義1 在Erlang-C模型中,若呼入次數無限,設λ為單位時間呼叫到達率,μ為呼叫服務率,N為座席數目。假定:(1)時間T內有k個呼叫到達的概率滿足固定速率λ的Poisson分布;(2)對呼叫的服從服務率μ的指數分布,則Erlang-C對應的排隊模型為M/M/N/∞,且系統的負載為α=λ/μ。
顯然,若α≥N,即呼叫超過了可提供服務的座席數目,則系統承受的負載超過了系統的處理能力,此時將會出現無窮排隊的情況,用戶的呼叫等待時間將趨向于無窮大[4]。因此下面主要分析α<N的情況。
這里假定座席數N=1(這是社區呼叫中心座席數的通常情況),則對應的排隊模型為M/M/1,此時考慮系統負載α<1,即在單位時間內到達的呼叫平均數小于被服務完的呼叫平均數時,隊長才能避免無限增長而達到平衡。由概率統計可知:
當座席數N≥2時,假定每個座席的平均服務率相同(即都是μ),此時整個系統的平均服務率為Nμ,則服務強度為λ/Nμ。此時可參照參考文獻[4]的介紹對系統進行分析。
由以上可知,只要知道呼叫的平均到達速率λ和平均服務速率μ,就可以計算出系統中呼叫排隊的平均等待時間,并由計算出的系統排隊平均等待時間對實際應用系統的性能進行定量分析,從而做出相應的決策提高服務質量,使服務系統達到最佳的平衡狀態。
2.3 改進的排隊模型
當把Erlang-C模型投入到社區衛生信息系統的實際應用時,該模型基本滿足使用要求。但若將該系統作進一步推廣,發現當應用的兩個假設條件不滿足時,預測結果與實際應用結果相差較遠,為此需要對原有排隊模型進行修正和改進。
在Erlang-C模型中,假定呼叫到達滿足固定速率λ的Poisson分布,實際上可將呼叫到達的情況λ看作是根據呼叫時間和呼叫類型而變化的函數,這種變化是相對平穩的,即對參數固定的呼叫到X都存在唯一的平穩分布[5]。采用此模型進行排隊分析能更好地逼近實際系統的真實情況。
下面給出呼叫中心系統排隊的改進方式。可以將排隊隊列分為物理隊列和邏輯隊列,其中物理隊列在CTI(Computer Telephony Integration)側,邏輯隊列位于坐席側;排隊采用線性加權優先級算法,充分考慮呼叫的緊急程度I以及該呼叫在隊列中已等待時間Twaited,從而有以下關于呼叫排隊優先級的公式:
實際應用中,可根據具體情況動態設定這兩個系數。由式(5)計算得到的呼叫優先級值越大,該呼叫在隊列中位置越靠前。一次新的呼叫進入排隊隊列時,可以從隊首開始逐一比對,直到找到其合適位置則完成一次排隊。當用戶電話呼入時,排隊模塊將電話轉接消息發給所有在線座席,座席收到消息后將呼入號碼信息插入本機等待隊列,并用聲音提示座席有新的等待轉接電話。當一個座席響應呼叫后,該座席排隊模塊向所有座席發出該等待轉接電話出隊列消息,各座席會將該電話消息從邏輯隊列中刪除,從而避免出現兩個座席競爭轉接電話的情況。式(5)中的線性加權優先級算法僅考慮了呼叫的緊急程度和呼叫的已等待時間,在運用該公式搭建實際系統時還可以進一步考慮更多的其他因素[6](如該呼叫的歷史記錄情況等),從而使得優先級的確定算法更為精確和合理。
本文設計的社區衛生信息系統采用分層化和模塊化的設計思路,按照衛生部信息統計管理規范,選用四川省衛生信息中心組織開發的ICD—10數據庫字典實現,可隨時為各級衛生管理人員提供所需的各種信息。該社區衛生信息系統于2008年7月在綿陽市36個社區中心(站)投入使用以來,通過不斷地完善,實現了社區衛生管理的信息化和自動化,為社區管理及衛生行政部門提供了先進的管理決策工具。文中所提出的改進排隊模型對社區衛生信息系統中的呼叫中心子系統服務質量與效率權衡問題的解決具有重要意義,同時對其他行業領域的呼叫中心應用也極具參考價值。
參考文獻
[1] 胡延平.基于J2EE的保險呼叫中心系統設計與實現[J].微計算機信息,2010,26(3):46-48.
[2] 姜春英.基于有限狀態機與Petri網的系統分析與設計[J].計算機工程,2007(18):246-248.
[3] 孫榮恒.排隊論基礎[M].北京:科學出版社,2002.
[4] KOOLE G, MANDELBAUM A. Q ueueing models of call centers: an introduction[J]. A nnals of Operations Research, 2002, 113: 41~59.
[5] JONGBLOED G, KOOLE G. Managing uncertainty in call centers using poisson mixtures[J]. Applied Stochastic Medels in Business and Industry, 2001,117(3).
[6] 吳非.自適應性呼叫中心[J].計算機工程與設計,2010,31(5):1144-1148.