一种用于双机热备的数据传输方法、系统及服务器的制造方法

文档序号:7983630阅读:260来源:国知局
一种用于双机热备的数据传输方法、系统及服务器的制造方法
【专利摘要】本发明公开了一种用于双机热备的数据传输方法、系统及服务器,所述方法包括以下步骤:建立独立于主机和备机的缓存池;主机将处理的事件信息存入所述缓存池;当主机和备机切换时,备机读取所述缓存池中的事件信息并对所述事件信息进行处理。采用该方法,在主机和备机发生切换时,通过缓存池中事件状态的匹配,备机能够正确寻找到各事件的对应关系,从而传递正确的业务数据,解决了主备切换时数据丢失的问题。
【专利说明】—种用于双机热备的数据传输方法、系统及服务器
【技术领域】
[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日
【发明者】伍洛宾, 曾键, 陈刚, 梅松, 温健军, 梁宇 申请人:中国移动通信集团四川有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1