一種用于雙機熱備的數據傳輸方法、系統及服務器的制造方法
【專利摘要】本發明公開了一種用于雙機熱備的數據傳輸方法、系統及服務器,所述方法包括以下步驟:建立獨立于主機和備機的緩存池;主機將處理的事件信息存入所述緩存池;當主機和備機切換時,備機讀取所述緩存池中的事件信息并對所述事件信息進行處理。采用該方法,在主機和備機發生切換時,通過緩存池中事件狀態的匹配,備機能夠正確尋找到各事件的對應關系,從而傳遞正確的業務數據,解決了主備切換時數據丟失的問題。
【專利說明】—種用于雙機熱備的數據傳輸方法、系統及服務器
【技術領域】
[0001]本發明涉及雙機熱備【技術領域】,尤其涉及一種用于雙機熱備的數據傳輸方法、系統及服務器。
【背景技術】
[0002]目前,為了保證大型網絡服務系統平臺平穩運行,都采用雙機熱備形式提供服務。例如,在傳統大型呼叫中心中,CTI作為呼叫中心的核心網元單位,其采用的雙機熱備方式為,當CTIl出現故障時,由CTI2通過心跳檢測CTIl進程存貨狀態,進而將新話務數據傳輸由CTI2接管,這樣可以保證新呼叫由新CTI進行分配。
[0003]CTI主備切換數據丟失在傳統呼叫中心一直是無法解決的問題,其中話務數據不能記錄完整是最明顯的,多出在記錄坐席通話時長的環節上,只能記錄通話開始時間,無法統計話務時長。
[0004]目前關于CTI切換而導致的數據丟失與狀態不同步問題沒有有效的解決辦法,一般都是通過調整網絡結構變為IVR前置來減少CTI的功能從而處理這個問題。
【發明內容】
[0005]為了解決現有技術中主備切換時數據丟失和狀態不同步的技術問題,本發明提出一種用于雙機熱備的數據傳輸方法、系統及服務器。
[0006]本發明的一個方面,提供一種用于雙機熱備的數據傳輸方法,包括以下步驟:建立獨立于主機和備機的緩存池;主機將處理的事件信息存入所述緩存池;當主機和備機切換時,備機讀取所述緩存池中的事件信息并對所述事件信息進行處理。
[0007]采用該方法,在主機和備機發生切換時,通過緩存池中事件狀態的匹配,備機能夠正確尋找到各事件的對應關系,從而傳遞正確的業務數據,解決了主備切換時數據丟失的問題。
[0008]本發明的另一個方面,還提供了用于實現上述方法的系統包括服務器、主機和備機,其中,所述服務器用于建立獨立于主機和備機的緩存池;所述主機用于將處理的事件信息存入所述緩存池;所述備機用于當主機和備機切換時,所述備機讀取所述緩存池中的事件信息并對所述事件信息進行處理。
[0009]本發明的又一方面,還提供了一種服務器,所述服務器上設置有緩存池,所述緩存池中設置不少于三個隊列,分別存儲主機處理的第一事件信息、第二事件信息和所述第一事件和第二事件對應關系信息。
[0010]本發明的用于雙機熱備的數據傳輸方法、系統及服務器,通過在主機和備機之外建立緩存池,同時在主機和備機上設置邏輯引擎,在發生主備切換時,通過緩存池中存儲的事件信息的匹配,使備機獲得正確和完整的事件狀態信息并繼續進行處理,解決了傳統雙機熱備發生切換時業務數據和狀態丟失的問題。
[0011]本發明的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。
[0012]下面通過附圖和實施例,對本發明的技術方案做進一步的詳細描述。
【專利附圖】
【附圖說明】
[0013]附圖用來提供對本發明的進一步理解,并且構成說明書的一部分,與本發明的實施例一起用于解釋本發明,并不構成對本發明的限制。在附圖中:
[0014]圖1是本發明方法實施例中用于雙機熱備的數據傳輸方法的流程圖圖;
[0015]圖2是傳統雙CTI呼叫中心的工作原理示意圖;
[0016]圖3是本發明方法實施例緩存池中建立數據模型的示意圖;
[0017]圖4是本發明方法實施例中主備CTI工作原理示意圖;
[0018]圖5是本發明方法實施例中雙機熱備CTI呼叫中心用戶與坐席之間建立話務的示意圖;
[0019]圖6是本發明系統實施例的結構示意圖。
【具體實施方式】
[0020]以下結合附圖對本發明的優選實施例進行說明,應當理解,此處所描述的優選實施例僅用于說明和解釋本發明,并不用于限定本發明。
[0021]實施例一
[0022]如圖1所示,本發明實施例提供了一種用于雙機熱備的數據傳輸方法,包括以下步驟:
[0023]步驟101、建立獨立于主機和備機的緩存池;
[0024]步驟102、主機將處理的事件信息存入所述緩存池;
[0025]步驟103、當主機和備機切換時,備機讀取所述緩存池中的事件信息并對所述事件信息進行處理。
[0026]采用該方法,在主機備機之外建立一個緩存池,存儲主機正在處理的各個事件的狀態信息,這樣在主機和備機發生切換時,通過緩存池中事件狀態的匹配,備機能夠正確尋找到各事件的對應關系,從而傳遞正確的業務數據,解決了主備切換時數據丟失的問題。
[0027]作為一種優選的實施方案,在步驟103后增加步驟104、備機將處理的事件信息存入所述緩存池。這樣備機就變為了主機,原來的主機作為備機,監控原備機的工作狀態,當原備機發生宕機情況時,發生主備切換,從而保證平臺的穩定持續運行。
[0028]步驟101中,為保證事件信息的存儲,在所述緩存池中設置不少于三個隊列,分別存儲主機處理的第一事件信息、第二事件信息和所述第一事件和第二事件對應關系信息。
[0029]步驟102中,主機在正常工作時,先將所處理事件的ID和其他狀態信息存儲如緩存池第一隊列中,將作為對第一事件反饋的第二事件ID和其他信息存儲在緩存池第二隊列中,同時將這兩個事件的對應關系存儲在第三序列中。
[0030]步驟103中,所述備機按照預設時間間隔監測主機是否存活,如否,則將主機和備機切換;所述備機接收主機正在處理的事件信息,并通過所述緩存池中的事件信息進行事件匹配,獲得所述事件的完整信息。[0031]作為一種實施方式,通過所述緩存池中的事件信息進行事件匹配可以是分別在所述主機和備機中建立邏輯引擎,通過所述邏輯引擎進行事件匹配。本領域技術人員應該了解,這只是作為一種實現匹配的方式,也可以通過其他方式實現事件的匹配,不作為對本發明的限制。
[0032]備機在完成事件匹配后,繼續處理這些事件,同時需要在緩存池中對所述事件的狀態信息進行修改。若事件匹配不成功,則將所述事件作為新事件處理。同時也將該信息存儲在緩存池中。
[0033]實施例二
[0034]下面以傳統大型呼叫中心的雙機熱備為例,進一步解釋本發明的實現方式。
[0035]如圖2所示,為傳統雙CTI呼叫中心的工作原理示意圖。在雙CTI呼叫中心中,主備CTI共用一浮動IP對PBX進行連接,其中主備之間有一條心跳線,用以備用CTI時刻探測主CTI是否存活使用。話務事件通過PBX的Link傳遞到主CTI中。
[0036]在傳統呼叫中心中,坐席狀態及話務狀態來源于PBX,PBX通過Link將事件傳遞到CTI中,如一個正常的人工呼叫,在PBX內部是由兩個CALLID標示的兩個呼叫的搭接,在CTI中可以通過Link傳遞過來的數據記錄屬于用戶的CALLID和屬于坐席的CALLID的邏輯對應關系,將所產生的事件根據CALLID的不同送往對應的終端,當發生主備切換后,備用CTI中并沒有CALLID的邏輯關系,當Link產生事件時,備用CTI無法正確判斷事件歸屬,則會造成狀態改變只能操作物理電話,而應用系統無法正確接收最終不能調整到正確的狀態。這樣就導致原有CTIl負責路由的話務雖然話路仍然在通,但是話務狀態及部分業務數據無法傳遞,有可能造成坐席通話結束后無法正確調整狀態的問題。
[0037]應用本發明提供的方法,在主備CTI之外建立一個緩存池,在緩存池中建立一個話務狀態存儲模型,即當CTI執行主備切換的動作時,通過對存儲模型的匹配,備用CTI能夠正確尋找到接管話務的CALL`ID對應關系,從而做到正確傳送狀態至正確坐席,同時使記錄完整,解決上訴問題。
[0038]如圖3所示,在緩存池中建立一數據模型,至少包括三個隊列,每個隊列分別存儲不同的臨時信息,對于PBX來說,每一個呼叫都對應唯——個CALLID用來標示,當出現人工搭接時,則會產生2個或更多的CALLID,并且存在對應關系,在本發明設計中,緩存池隊列一存儲第一個CALLID及當前狀態,隊列二存儲第二個CALLID及當前狀態,隊列三由程序控制記錄兩個CALLID的對應關系。
[0039]在模型中每一個單元格中的記錄被一個CALLID獨占,即相同CALLID的變化只記錄在相同的位置中,如上圖的“CALLID Established”狀態變更,則在原位置進行修改,成為“CALLID !Disconnect”等等,且一旦出現“Disconnect”標志,這樣表示該事件已經結束,則刪除模型中單元格內與該行全部內容。
[0040]如圖4所示,因為在實際工作環境中呼叫量巨大,Link中所產生的事件密度很高,所以主CTI在接收到時間后只做緩存池填寫,不做其余動作,同時不宜使用數據庫臨時表等類型的操作,備用CTI在平時不去讀取緩存池內容,僅僅執行心跳檢測一步操作。
[0041]當出現主備切換時,備用CTI會接收到Link傳遞來的大量事件,每個事件都會攜帶CALLID,此時的備用CTI直接成為主CTI,但接收到的事件中,CALLID的對應關系并不能準確得知,此時則需要通過邏輯引擎在緩存池中進行CALLID的匹配,匹配不成功,則視為新呼叫處理,若存在CALLID,此時可以通過緩存池記錄準確定位到坐席分機、工號等詳細信息,首先保證狀態傳遞正確性,其次,通過隊列中CALLID的邏輯關系,能夠和主叫進行匹配,通過其他數據的查找,可以完成話務數據的完整記錄,最明顯的體現就是坐席通話時長的準確記錄。隨后,該CTI繼續執行原主C TI的緩存池操作。
[0042]下面通過對應用了該方法的雙機熱備C TI呼叫中心的工作流程進行詳細解釋,以便能夠更加清楚的理解本發明實施例提供的方法。
[0043]如圖5所示,用戶通過PBX與坐席之間建立正常話務,在工作過程中會產生如下四種情況:
[0044]情況A、正常狀態下,用戶與坐席之間建立正常話務,CTIl完成對PBX的控制指令發送及事件接收。
[0045]Al、用戶呼叫到達PBX ;
[0046]A2、PBX拋出事件通知CTIl ;
[0047]A3、CTIl指定坐席,控制PBX將話務接入坐席;
[0048]情況B、話務未接續成功時發生主備切換:
[0049]B1、用戶呼叫到達PBX ;
[0050]B2、PBX拋出事件通知CTIl ;
[0051]B3、CTIl指定坐席,控制PBX向坐席發起呼叫;
[0052]B4、CTI1 向緩存池記錄:CALLID1 (用戶側);CALLID2 (坐席側),Alert ;
[0053]B5、發生主備切換;
[0054]B6、CTI2 讀取緩存池記錄:CALLID1 (用戶側);CALLID2 (坐席側);Alert ;
[0055]B7、CTI2清空緩存池記錄;
[0056]B8、話務接通,PBX 發出事件:CALLID I (用戶側);CALLID2 (坐席側);Established ;
[0057]B9、CTI2繼續記錄緩存池;
[0058]B10、調增坐席界面話務狀態為雙方通話;
[0059]若無緩存池機制,則結果為完成主備切換,用戶與坐席雙方通話,但坐席邏輯狀態一直為“振鈴”,無法同步。
[0060]情況C、話務接續成功時發生主備切換:
[0061]Cl、用戶呼叫到達PBX ;
[0062]C2、PBX拋出事件通知CTIl ;
[0063]C3、CTI1指定坐席,控制PBX向坐席發起呼叫;
[0064]C4、CTI1 向緩存池記錄:CALLID1 (用戶側);CALLID2 (坐席側);Alert ;
[0065]C5、話務接通,PBX 發出事件:CALLID I (用戶側);CALLID2 (坐席側);Established ;
[0066]C6、CTI1 向緩存池記錄:CALLID1 (用戶側);CALLID2 (坐席側)Established ;
[0067]C7、發生主備切換;
[0068]C8、CTI2 讀取緩存池記錄:CALLID1 (用戶側);CALLID2 (坐席側)Established ;
[0069]C9、CTI2清空緩存池記錄;
[0070]CIO、CTI2繼續記錄緩存池;
[0071]若無上訴緩存池機制,則結果為完成主備切換,坐席點擊界面中其他話務操作按鈕,CTI2因無法對應CALLID而不能完成操作。[0072]情況D、高級話務操作時發生主備切換:
[0073]D1、用戶呼叫到達PBX ;
[0074]D2、PBX拋出事件通知CTIl ;
[0075]D3、CTI1指定坐席,控制PBX向坐席發起呼叫;
[0076]D4、CTI1 向緩存池記錄:CALLID1 (用戶側);CALLID2 (坐席側);Alert ;
[0077]D5、話務接通,PBX 發出事件:CALLID1 (用戶側);CALLID2 (坐席側);Established ;
[0078]D6、CTI1 向緩存池記錄:CALLID1 (用戶側);CALLID2 (坐席側)Established ;
[0079]D7、坐席發起咨詢呼叫;
[0080]D8、CTI1 向緩存池記錄:CALLID1 (用戶側);CALLID2 (坐席側);ConsultCall ;
[0081]D9、咨詢呼叫接通,用戶被保持;
[0082]DIO、CTIl 向緩存池記錄:CALLID1 (用戶側);Hold ;CALLID2 (坐席側);CALLID3(咨詢方)!Established ;
[0083]Dll、發生主備切換;
[0084]D12、C TI2 讀取緩存池記錄:CALLID1 (用戶側);Hold ;CALLID2 (坐席側);CALLID3(咨詢方)!Established ;
[0085]D13、CTI2清空緩存池記錄;
`[0086]D14、CTI2繼續記錄緩存池;
[0087]若無緩存池機制,則結果為完成主備切換,CTI2因無法對應CALLID而導致坐席I無法繼續進行話務控制(無法接回用戶,無法形成會議),用戶側一直聽取等待音。
[0088]本領域技術人員應該明白,在本方法實施例中,緩存池的隊列數以及每個隊列中存放的信息可以根據業務需要而設定寫入的內容,使用此種方法可以在各種業務場景下保障CTI切換時的數據完整性及狀態準確性。上述的實施例只是作為其應用在CTI雙機備份中的業務特點的設定,不作為對本發明的限制。
[0089]如圖6所示,本發明實施例還提供了用于實現上述方法的系統,包括服務器601、主機602和備機603,其中,服務器601獨立于主機602和備機603,主機602和備機603通過線路連接,為某種服務提供平臺。
[0090]服務器601上設有緩存池,在緩存池中設置不少于三個隊列,分別存儲主機處理的第一事件信息、第二事件信息和所述第一事件和第二事件對應關系信息。主機602和備機603上設置邏輯引擎,用于匹配事件信息。
[0091]工作時。主機602將處理的事件信息存入所述緩存池;備機603按照預定的時間間隔監測主機602的工作狀態,當發現主機602宕機或其他事件停止服務時,將主機和備機切換,備機603接收前端服務傳遞的信息,并讀取所述緩存池中的事件信息,將通過邏輯引擎對所述事件信息與接收到的信息進行匹配,同時清空緩存池中的存儲信息。若匹配成功,則按照所述的事件信息繼續進行處理,并修改緩存池中該事件的狀態。若匹配不成功,則將該事件作為新的事件進行處理,并記錄在緩存池中。
[0092]此時,備機603已經代替原來的主機602進行工作,需要將處理的事件信息也存入所述緩存池,主機602恢復正常后不斷檢測備機的工作狀態,以便再發生主備切換后替代備機的工作。
[0093]本發明實施例還提供了一種服務器,其上設置有緩存池,所述緩存池中設置不少于三個隊列,分別存儲主機處理的第一事件信息、第二事件信息和所述第一事件和第二事件對應關系信息。
[0094]本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或計算機程序產品。因此,本發明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器和光學存儲器等)上實施的計算機程序產品的形式。
[0095]本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0096]這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0097]這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0098]應說明的是:以上實施例僅用以說明本發明而非限制,本發明也并不僅限于上述舉例,一切不脫離本發明的精神和范圍的技術方案及其改進,其均應涵蓋在本發明的權利要求范圍中。
【權利要求】
1.一種用于雙機熱備的數據傳輸方法,其特征在于,包括以下步驟: 建立獨立于主機和備機的緩存池; 主機將處理的事件信息存入所述緩存池; 當主機和備機切換時,備機讀取所述緩存池中的事件信息并對所述事件信息進行處理。
2.根據權利要求1所述的方法,其特征在于,所述當主機和備機切換時,備機讀取所述緩存池中的事件信息并對所述事件信息進行處理的步驟之后還包括步驟: 備機將處理的事件信息存入所述緩存池。
3.根據權利要求1或2所述的方法,其特征在于,所述建立一個獨立于主機和備機的緩存池,所述緩存池存儲主機處理的事件信息的步驟進一步包括: 在所述緩存池中設置不少于三個隊列,分別存儲主機處理的第一事件信息、第二事件信息和所述第一事件和第二事件對應關系信息。
4.根據權利要求1或2所述的方法,其特征在于,所述當主機和備機切換時,備機讀取所述緩存池中的事件信息并對所述事件信息進行處理的步驟進一步包括: 所述備機按照預設時間間隔監測主機是否存活,如否,則將主機和備機切換; 所述備機接收主機正在處理的事件信息,并通過所述緩存池中的事件信息進行事件匹配,獲得所述事件的完整信息。
5.根據權利要求4所述的方法,其特征在于,所述通過所述緩存池中的事件信息進行事件匹配進一步包括: 分別在所述主機和備機中建立邏輯引擎,通過所述邏輯引擎進行事件匹配。
6.根據權利要求5所述的方法,其特征在于,所述分別在所述主機和備機中建立邏輯引擎,通過所述邏輯引擎進行事件匹配的步驟后還包括: 所述備機完成事件匹配后,在緩存池中對所述事件的狀態信息進行修改。
7.根據權利要求5或6所述的方法,其特征在于,若事件匹配不成功,則將所述事件作為新事件處理。
8.一種用于雙機熱備的數據傳輸系統,其特征在于,包括服務器、主機和備機,其中, 所述服務器用于建立獨立于主機和備機的緩存池; 所述主機用于將處理的事件信息存入所述緩存池; 所述備機用于當主機和備機切換時,所述備機讀取所述緩存池中的事件信息并對所述事件信息進行處理。
9.根據權利要求8所述的系統,其特征在于,所述備機還用于將處理的事件信息存入所述緩存池。
10.根據權利要求8或9所述的系統,其特征在于,所述服務器進一步用于,在所述緩存池中設置不少于三個隊列,分別存儲主機處理的第一事件信息、第二事件信息和所述第一事件和第二事件對應關系信息。
11.根據權利要求8或9所述的系統,其特征在于,所述備機進一步用于, 按照預設時間間隔監測主機是否存活,如否,則將主機和備機切換; 所述備機接收主機正在處理的事件信息,并通過所述緩存池中的事件信息進行事件匹配,獲得所述事件的完整信息。
12.根據權利要求11所述的系統,其特征在于,所述主機和備機進一步用于: 分別在所述主機和備機中建立邏輯引擎,通過所述邏輯引擎進行事件匹配。
13.根據權利要求12所述的系統,其特征在于,所述備機還用于,完成事件匹配后,在緩存池中對所述事件的狀態信息進行修改。
14.根據權利要求12或13所述的系統,其特征在于,所述備機還用于,若事件匹配不成功,則將所述事件作為新事件處理。
15.一種服務器,其特征在于,設置有緩存池,所述緩存池中設置不少于三個隊列,分別存儲主機處理的第一事件信息`、第二事件信息和所述第一事件和第二事件對應關系信息。
【文檔編號】H04L1/22GK103684839SQ201210362980
【公開日】2014年3月26日 申請日期:2012年9月26日 優先權日:2012年9月26日
【發明者】伍洛賓, 曾鍵, 陳剛, 梅松, 溫健軍, 梁宇 申請人:中國移動通信集團四川有限公司