容灾站点、业务消息处理装置及方法

文档序号:7809652阅读:173来源:国知局
容灾站点、业务消息处理装置及方法
【专利摘要】本发明公开了一种容灾站点、业务消息处理装置及方法,属于业务消息处理领域。该方法包括:接收业务消息;检测该业务消息是否为来自故障站点的业务消息;如果该业务消息是来自故障站点的业务消息,则将该业务消息分配至容灾站点中的多个业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理。本发明通过接收业务消息,在检测到业务消息是来自故障站点的业务消息时,将该业务消息分配至容灾站点中的多个相互隔离的业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理;解决了容灾切换导致的故障扩散的问题;使得即便故障发生扩散,也将扩散范围限制在被隔离的范围内,不会影响到其它范围的效果。
【专利说明】容灾站点、业务消息处理装置及方法

【技术领域】
[0001]本发明涉及业务消息处理领域,特别涉及一种容灾站点、业务消息处理装置及方法。

【背景技术】
[0002]容灾切换是一种系统业务消息处理方法。一般,在大容量的通信系统中,通常会将多个站点组成一个资源池,当该资源池内的一个站点出现故障时,可以通过容灾切换将该站点的业务消息切换到其它正常的站点进行处理。
[0003]图1所示的是一种由多个站点组成的具有CSCF(call sess1n controlfunct1n,呼叫会话控制功能)的资源池。该资源池由SBC(sess1n border controller,会话边界控制器)和具有CSCF的多个站点组成,其中,SBC负责业务的分发,CSCF负责业务的处理。在该图1中,如果该资源池内的某个站点(如站点I)因通信系统的软/硬件故障、通信线路故障或外部环境(如地震、电力中断)等原因而出现故障,那么SBC在分发业务时,就会将该站点的业务消息分发给该资源池中的正常站点(如站点2)进行处理,从而实现容灾切换,保证该站点的业务正常进行。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005]在进行容灾切换时,如果某个站点在处理某类特定类型的业务消息时出现故障,而当将该特定类型的业务消息分发至其它正常站点进行处理时,可能会导致正常站点也出现故障。因此,容灾切换会导致故障扩散,如图1所示,该图1所示的是在对站点I的故障进行容灾切换后,用于处理站点I的业务消息的站点2至站点η也发生了故障。


【发明内容】

[0006]为了解决解决了容灾切换导致的故障扩散的问题,本发明实施例提供了一种容灾站点、业务消息处理装置及方法。所述技术方案如下:
[0007]第一方面,提供了一种容灾站点,所述容灾站点包括分发单元和多个相互隔离的业务消息处理单元:
[0008]所述分发单元,用于接收业务消息;
[0009]所述分发单元,用于检测所述业务消息是否为来自故障站点的业务消息;
[0010]所述分发单元,用于如果所述业务消息是来自故障站点的业务消息,则将所述业务消息分配至所述多个业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理。
[0011]结合第一方面,在第一方面的第一种可能的实施方式中,所述空闲的业务消息处理单元是所述容灾站点预留的用于处理所述故障站点的业务消息的业务消息处理单元。
[0012]结合第一方面,在第一方面的第二种可能的实施方式中,
[0013]所述分发单元,用于选择所述容灾站点中当前负载最低的一个或多个业务消息处理单元;
[0014]所述分发单元,用于将所述负载最低的业务消息处理单元处理的属于所述容灾站点的业务消息全部迁移至所述容灾站点内的其它所述业务消息处理单元得到所述空闲的业务消息处理单元。
[0015]结合第一方面,在第一方面的第三种可能的实施方式中,
[0016]所述分发单元,用于分别检测所述容灾站点内的第一单元组的平均负载和第二单元组的平均负载,所述第一单元组包括用于处理所述容灾站点的业务消息的业务消息处理单元,所述第二单元组包括用于处理来自其他故障站点的业务消息的业务消息处理单元;
[0017]所述分发单元,用于根据所述第一单元组和所述第二单元组的平均负载动态调整所述第一单元组和所述第二单元组中的业务消息处理单元的数量。
[0018]结合第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,
[0019]所述分发单元,用于在检测到所述第一单元组的平均负载超过第一预设阈值,且所述第二单元组的平均负载低于第二预设阈值时,选择所述第二单元组中的I个业务消息处理单元;
[0020]所述分发单元,用于将所述业务消息处理单元中处理的来自其他故障站点的全部业务消息迁移至所述第二单元组中的其它业务消息处理单元;
[0021]所述分发单元,用于将所述业务消息处理单元调入至所述第一单元组。
[0022]结合第一方面的第三种可能的实施方式,在第一方面的第五种可能的实施方式中,
[0023]所述分发单元,用于在检测到所述第一单元组的平均负载低于第一预设阈值,且所述第二单元组的平均负载超过第二预设阈值时,选择所述第一单元组中的I个业务消息处理单元;
[0024]所述分发单元,用于将所述业务消息处理单元中处理的属于所述容灾站点的全部业务消息迁移至所述第一单元组中的其它业务消息处理单元;
[0025]所述分发单元,用于将所述业务消息处理单元调入至所述第二单元组。
[0026]结合第一方面的第四种可能的实施方式,或是第一方面的第五种可能的实施方式,在第一方面的第六种可能的实施方式中,
[0027]所述分发单元,用于在向当前单元组调入所述业务消息处理单元之后,将所述当前单元组设置为预定时长的禁止调出状态,所述禁止调出状态是指禁止从所述当前单元组调出所述业务消息处理单元的状态。
[0028]结合第一方面,或是第一方面的第一种可能的实施方式,或是第一方面的第二种可能的实施方式,或是第一方面的第三种可能的实施方式,或是第一方面的第四种可能的实施方式,或是第一方面的第五种可能的实施方式,或是第一方面的第六种可能的实施方式,在第一方面的第七种可能的实施方式中,
[0029]所述分发单元,用于根据所述业务消息中的标识位所指示的信息,检测所述业务消息是否为来自故障站点的业务消息。
[0030]结合第一方面的第七种可能的实施方式,在第一方面的第八种可能的实施方式中,
[0031]所述分发单元,用于检测所述业务消息中的标识位携带的标识是否为容灾站点的站点标识,所述标识位携带的标识是所述前端网元在所述业务消息中添加的标识;如果所述标识不是所述容灾站点的站点标识,则所述业务消息是来自故障站点的业务消息;
[0032]或,
[0033]所述分发单元,用于检测所述业务消息中的标识位是否携带有第一指定标识,所述第一指定标识是所述前端网元在所述业务消息为来自所述故障站点的业务消息时添加的标识;如果所述标识位中携带有第一指定标识,则所述业务消息是来自故障站点的业务消息;
[0034]或,
[0035]所述分发单元,用于检测所述业务消息中的标识位是否携带有第二指定标识,所述第二指定标识是所述前端网元在所述业务消息不是来自故障站点的业务消息时添加的标识;如果所述标识位中未携带有第二指定标识,则所述业务消息是来自故障站点的业务消息。
[0036]第二方面,提供了一种业务消息处理装置,用于容灾站点中,所述容灾站点包括多个相互隔离的业务消息处理单元,所述装置包括
[0037]业务消息接收模块,用于接收业务消息;
[0038]业务消息检测模块,用于检测所述业务消息是否为来自故障站点的业务消息;
[0039]业务消息处理模块,用于在所述业务消息是来自故障站点的业务消息时,将所述业务消息分配至所述多个业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理。
[0040]结合第二方面,在第二方面的第一种可能的实施方式中,所述空闲的业务消息处理单元是所述容灾站点预留的用于处理所述故障站点的业务消息的业务消息处理单元。
[0041]结合第二方面,在第二方面的第二种可能的实施方式中,所述装置,还包括:
[0042]处理单元选择模块,用于选择所述容灾站点中当前负载最低的一个或多个业务消息处理单元;
[0043]空闲处理单元得到模块,用于将所述负载最低的业务消息处理单元处理的属于所述容灾站点的业务消息全部迁移至所述容灾站点内的其它所述业务消息处理单元得到所述空闲的业务消息处理单元。
[0044]结合第二方面,在第二方面的第三种可能的实施方式中,所述装置,还包括:
[0045]平均负载检测模块,用于分别检测所述容灾站点内的第一单元组的平均负载和第二单元组的平均负载,所述第一单元组包括用于处理所述容灾站点的业务消息的业务消息处理单元,所述第二单元组包括用于处理来自其他故障站点的业务消息的业务消息处理单元;
[0046]动态调整模块,用于根据所述第一单元组和所述第二单元组的平均负载动态调整所述第一单元组和所述第二单元组中的业务消息处理单元的数量。
[0047]结合第二方面的第三种可能的实施方式,在第二方面的第四种可能的实施方式中,所述动态调整模块,包括:
[0048]处理单元选择单元,用于在检测到所述第一单元组的平均负载超过第一预设阈值,且所述第二单元组的平均负载低于第二预设阈值时,选择所述第二单元组中的I个业务消息处理单元;
[0049]业务消息迁移单元,用于将所述业务消息处理单元中处理的来自其他故障站点的全部业务消息迁移至所述第二单元组中的其它业务消息处理单元;
[0050]处理单元调入单元,用于将所述业务消息处理单元调入至所述第一单元组。
[0051]结合第二方面的第三种可能的实施方式,在第二方面的第五种可能的实施方式中,所述动态调整模块,包括:
[0052]所述处理单元选择单元,用于在检测到所述第一单元组的平均负载低于第一预设阈值,且所述第二单元组的平均负载超过第二预设阈值时,选择所述第一单元组中的I个业务消息处理单元;
[0053]所述业务消息迁移单元,用于将所述业务消息处理单元中处理的属于所述容灾站点的全部业务消息迁移至所述第一单元组中的其它业务消息处理单元;
[0054]所述处理单元调入单元,用于将所述业务消息处理单元调入至所述第二单元组。
[0055]结合第二方面的第四种可能的实施方式,或是第二方面的第五种可能的实施方式,在第二方面的第六种可能的实施方式中,所述装置,还包括:
[0056]禁止状态设置模块,用于在向当前单元组调入所述业务消息处理单元之后,将所述当前单元组设置为预定时长的禁止调出状态,所述禁止调出状态是指禁止从所述当前单元组调出所述业务消息处理单元的状态。
[0057]结合第二方面,或是第二方面的第一种可能的实施方式,或是第二方面的第二种可能的实施方式,或是第二方面的第三种可能的实施方式,或是第二方面的第四种可能的实施方式,或是第二方面的第五种可能的实施方式,或是第二方面的第六种可能的实施方式,在第二方面的第七种可能的实施方式中,
[0058]所述业务消息检测模块,用于根据所述业务消息中的标识位所指示的信息,检测所述业务消息是否为来自故障站点的业务消息。
[0059]结合第二方面的第七种可能的实施方式,在第二方面的第八种可能的实施方式中,
[0060]所述业务消息检测模块,包括:
[0061]站点标识检测单元,用于检测所述业务消息中的标识位携带的标识是否为容灾站点的站点标识,所述标识位携带的标识是所述前端网元在所述业务消息中添加的标识;如果所述标识不是所述容灾站点的站点标识,则所述业务消息是来自故障站点的业务消息;
[0062]或,
[0063]第一指定标识检测单元,用于检测所述业务消息中的标识位是否携带有第一指定标识,所述第一指定标识是所述前端网元在所述业务消息为来自所述故障站点的业务消息时添加的标识;如果所述标识位中携带有第一指定标识,则所述业务消息是来自故障站点的业务消息;
[0064]或,
[0065]第二指定标识检测单元,用于检测所述业务消息中的标识位是否携带有第二指定标识,所述第二指定标识是所述前端网元在所述业务消息不是来自故障站点的业务消息时添加的标识;如果所述标识位中未携带有第二指定标识,则所述业务消息是来自故障站点的业务消息。
[0066]第三方面,提供了一种业务消息处理方法,用于容灾站点中,所述容灾站点包括多个相互隔离的业务消息处理单元,所述方法包括:
[0067]接收业务消息;
[0068]检测所述业务消息是否为来自故障站点的业务消息;
[0069]如果所述业务消息是来自故障站点的业务消息,则将所述业务消息分配至所述多个业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理。
[0070]结合第三方面,在第三方面的第一种可能的实施方式中,所述空闲的业务消息处理单元是所述容灾站点预留的用于处理所述故障站点的业务消息的业务消息处理单元。
[0071]结合第三方面,在第三方面的第二种可能的实施方式中,所述将所述业务消息分配至所述多个业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理之前,还包括:
[0072]选择所述容灾站点中当前负载最低的一个或多个业务消息处理单元;
[0073]将所述负载最低的业务消息处理单元处理的属于所述容灾站点的业务消息全部迁移至所述容灾站点内的其它所述业务消息处理单元得到所述空闲的业务消息处理单元。
[0074]结合第三方面,在第三方面的第三种可能的实施方式中,所述方法,还包括:
[0075]分别检测所述容灾站点内的第一单元组的平均负载和第二单元组的平均负载,所述第一单元组包括用于处理所述容灾站点的业务消息的业务消息处理单元,所述第二单元组包括用于处理来自其他故障站点的业务消息的业务消息处理单元;
[0076]根据所述第一单元组和所述第二单元组的平均负载动态调整所述第一单元组和所述第二单元组中的业务消息处理单元的数量。
[0077]结合第三方面的第三种可能的实施方式,在第三方面的第四种可能的实施方式中,所述根据所述第一单元组和所述第二单元组的平均负载动态调整所述第一单元组和所述第二单元组中的业务消息处理单元的数量,包括:
[0078]如果检测到所述第一单元组的平均负载超过第一预设阈值,且所述第二单元组的平均负载低于第二预设阈值,则选择所述第二单元组中的I个业务消息处理单元;
[0079]将所述业务消息处理单元中处理的来自其他故障站点的全部业务消息迁移至所述第二单元组中的其它业务消息处理单元;
[0080]将所述业务消息处理单元调入至所述第一单元组。
[0081]结合第三方面的第三种可能的实施方式,在第三方面的第五种可能的实施方式中,所述根据所述第一单元组和所述第二单元组的平均负载动态调整所述第一单元组和所述第二单元组中的业务消息处理单元的数量,包括:
[0082]如果检测到所述第一单元组的平均负载低于第一预设阈值,且所述第二单元组的平均负载超过第二预设阈值,则选择所述第一单元组中的I个业务消息处理单元;
[0083]将所述业务消息处理单元中处理的属于所述容灾站点的全部业务消息迁移至所述第一单元组中的其它业务消息处理单元;
[0084]将所述业务消息处理单元调入至所述第二单元组。
[0085]结合第三方面的第四种可能的实施方式,或是第三方面的第五种可能的实施方式,在第三方面的第六种可能的实施方式中,所述方法,还包括:
[0086]在向当前单元组调入所述业务消息处理单元之后,将所述当前单元组设置为预定时长的禁止调出状态,所述禁止调出状态是指禁止从所述当前单元组调出所述业务消息处理单元的状态。
[0087]结合第三方面,或是第三方面的第一种可能的实施方式,或是第三方面的第二种可能的实施方式,或是第三方面的第三种可能的实施方式,或是第三方面的第四种可能的实施方式,或是第三方面的第五种可能的实施方式,或是第三方面的第六种可能的实施方式,,在第三方面的第七种可能的实施方式中,所述检测所述业务消息是否为来自故障站点的业务消息,包括:
[0088]根据所述业务消息中的标识位所指示的信息,检测所述业务消息是否为来自故障站点的业务消息。
[0089]结合第三方面的第七种可能的实施方式,在第三方面的第八种可能的实施方式中,所述根据所述业务消息中的标识位所指示的信息,检测所述业务消息是否为来自故障站点的业务消息,包括:
[0090]检测所述业务消息中的标识位携带的标识是否为容灾站点的站点标识,所述标识位携带的标识是所述前端网元在所述业务消息中添加的标识;如果所述标识不是所述容灾站点的站点标识,则所述业务消息是来自故障站点的业务消息;
[0091]或,
[0092]检测所述业务消息中的标识位是否携带有第一指定标识,所述第一指定标识是所述前端网元在所述业务消息为来自所述故障站点的业务消息时添加的标识;如果所述标识位中携带有第一指定标识,则所述业务消息是来自故障站点的业务消息;
[0093]或,
[0094]检测所述业务消息中的标识位是否携带有第二指定标识,所述第二指定标识是所述前端网元在所述业务消息不是来自故障站点的业务消息时添加的标识;如果所述标识位中未携带有第二指定标识,则所述业务消息是来自故障站点的业务消息。
[0095]本发明实施例提供的技术方案带来的有益效果是:
[0096]通过接收业务消息;检测该业务消息是否为来自故障站点的业务消息;如果该业务消息是来自故障站点的业务消息,则将该业务消息分配至容灾站点中多个相互隔离的业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理;解决了容灾切换导致的故障扩散的问题;使得即便故障发生扩散,也将扩散范围限制在被隔离的范围内,不会影响到其它范围的效果。

【专利附图】

【附图说明】
[0097]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0098]图1是现有技术提供的一种由多个站点组成的具有CSCF的资源池;
[0099]图2是本发明一部分实施例提供的业务消息处理系统的结构示意图;
[0100]图3是本发明一个实施例提供的容灾站点的结构示意图;
[0101]图4是本发明另一部分实施例提供的业务消息处理系统的结构示意图;
[0102]图5是本发明另一个实施例提供的容灾站点的结构示意图;
[0103]图6是本发明一个实施例提供的业务消息处理装置的框图;
[0104]图7是本发明另一个实施例提供的业务消息处理装置的框图;
[0105]图8是本发明一个实施例提供的业务消息处理方法的方法流程图;
[0106]图9是本发明另一个实施例提供的业务消息处理方法的方法流程图;
[0107]图10是本发明实施例提供的一种对第一单元组和第二单元组的业务消息处理单元的数量进行动态调整的示意图;
[0108]图11是本发明再一个实施例提供的业务消息处理方法的方法流程图;
[0109]图12是本发明又一个实施例提供的业务消息处理方法的方法流程图。

【具体实施方式】
[0110]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0111]请参考图2,其示出了本发明一部分实施例提供的业务消息处理系统的结构示意图。该系统中包括前端网元22和位于资源池24中的至少2个站点。图中以资源池24中的至少2个站点为站点I和站点2为例来举例说明。
[0112]前端网元22用于向各个站点分发业务消息。前端网元22可以是一个网络设备,比如前端网元22可以是SBC(sess1n border controller,会话边界控制器)。
[0113]前端网元22与各个站点通过有线网络或者无线网络相连。也即,前端网元22通过有线网络或者无线网络与站点I和站点2分别相连。
[0114]站点I和站点2用于处理前端网元22分发的业务消息。该站点I和站点2可以是具有CSCF(call sess1n control funct1n,呼叫会话控制功能)的站点。在本实施例中,站点I包括I个分发单元241和多个业务消息处理单元243,站点2包括I个分发单元242和多个业务消息处理单元244。
[0115]换句话说,站点I的处理资源被划分为多个业务消息处理单元243,每个业务消息处理单元243用于相互隔离的处理业务消息;站点2的处理资源被划分为多个业务消息处理单元244,每个业务消息处理单元244用于相互隔离的处理业务消息。
[0116]在一种可能的实现方式中,每个业务消息处理单元243和每个业务消息处理单元244可以是相互隔离的进程和/或线程;在另一种可能的实现方式中,每个业务消息处理单元243和每个业务消息处理单元244可以是相互隔离的虚拟机;在再一种可能的实现方式中,每个业务消息处理单元243和每个业务消息处理单元244可以是相互隔离的服务器。
[0117]请参考图3,其示出了本发明一个实施例提供的容灾站点的结构示意图。参见图3,该容灾站点可以包括:分发单元310和多个相互隔离的业务消息处理单元320。
[0118]该分发单元310,用于接收业务消息。
[0119]该分发单元310,用于检测该业务消息是否为来自故障站点的业务消息。
[0120]该分发单元310,用于如果该业务消息是来自故障站点的业务消息,则将该业务消息分配至该多个业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理。
[0121]综上所述,本发明实施例提供的容灾站点,分发单元通过接收业务消息;检测该业务消息是否为来自故障站点的业务消息;如果该业务消息是来自故障站点的业务消息,则将该业务消息分配至容灾站点中多个相互隔离的业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理;解决了容灾切换导致的故障扩散的问题;使得即便故障发生扩散,也将扩散范围限制在被隔离的范围内,不会影响到其它范围的效果。
[0122]请参考图4,其示出了本发明另一部分实施例提供的业务消息处理系统的结构示意图。该系统中包括前端网元22和位于资源池24中的至少2个站点。图中以资源池24中的至少2个站点为站点I和站点2为例来举例说明。
[0123]与图2所示系统不同的是,在本系统中,将容灾站点(站点2)内的多个业务消息处理单元划分为两个单元组,分别为第一单元组262和第二单元组264,并通过检测第一单元组的平均负载和第二单元组的平均负载,根据第一单元组和第二单元组的平均负载动态调整第一单元组和第二单元组中的业务消息处理单元的数量。
[0124]其中,该第一单元组262为用于处理容灾站点的业务消息的单元组,该第二单元组264为用于处理来自故障站点的业务消息的单元组。
[0125]请参考图5,其示出了本发明另一个实施例提供的容灾站点的结构示意图。参见图5,该容灾站点可以包括:分发单元510和多个相互隔离的业务消息处理单元520。
[0126]该分发单元510,用于接收业务消息。
[0127]该分发单元510,用于检测该业务消息是否为来自故障站点的业务消息。
[0128]该分发单元510,用于如果该业务消息是来自故障站点的业务消息,则将该业务消息分配至该多个业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理。
[0129]可选地,该空闲的业务消息处理单元是该容灾站点预留的用于处理该故障站点的业务消息的业务消息处理单元。
[0130]可选地,
[0131]该分发单元510,用于选择该容灾站点中当前负载最低的一个或多个业务消息处理单元;
[0132]该分发单元510,用于将该负载最低的业务消息处理单元处理的属于该容灾站点的业务消息全部迁移至该容灾站点内的其它该业务消息处理单元得到该空闲的业务消息处理单元。
[0133]可选地,
[0134]该分发单元510,用于分别检测该容灾站点内的第一单元组的平均负载和第二单元组的平均负载,该第一单元组包括用于处理该容灾站点的业务消息的业务消息处理单元,该第二单元组包括用于处理来自其他故障站点的业务消息的业务消息处理单元;
[0135]该分发单元510,用于根据该第一单元组和该第二单元组的平均负载动态调整该第一单元组和该第二单元组中的业务消息处理单元的数量。
[0136]可选地,
[0137]该分发单元510,用于在检测到该第一单元组的平均负载超过第一预设阈值,且该第二单元组的平均负载低于第二预设阈值时,选择该第二单元组中的I个业务消息处理单元;
[0138]该分发单元510,用于将该业务消息处理单元中处理的来自其他故障站点的全部业务消息迁移至该第二单元组中的其它业务消息处理单元;
[0139]该分发单元510,用于将该业务消息处理单元调入至该第一单元组。
[0140]可选地,
[0141]该分发单元510,用于在检测到该第一单元组的平均负载低于第一预设阈值,且该第二单元组的平均负载超过第二预设阈值时,选择该第一单元组中的I个业务消息处理单元;
[0142]该分发单元510,用于将该业务消息处理单元中处理的属于该容灾站点的全部业务消息迁移至该第一单元组中的其它业务消息处理单元;
[0143]该分发单元510,用于将该业务消息处理单元调入至该第二单元组。
[0144]可选地,
[0145]该分发单元510,用于在向当前单元组调入该业务消息处理单元之后,将该当前单元组设置为预定时长的禁止调出状态,该禁止调出状态是指禁止从该当前单元组调出该业务消息处理单元的状态。
[0146]可选地,
[0147]该分发单元510,用于根据该业务消息中的标识位所指示的信息,检测该业务消息是否为来自故障站点的业务消息。
[0148]可选地,
[0149]该分发单元510,用于检测该业务消息中的标识位携带的标识是否为容灾站点的站点标识,该标识位携带的标识是该前端网元在该业务消息中添加的标识;如果该标识不是该容灾站点的站点标识,则该业务消息是来自故障站点的业务消息;
[0150]或,
[0151]该分发单元510,用于检测该业务消息中的标识位是否携带有第一指定标识,该第一指定标识是该前端网元在该业务消息为来自该故障站点的业务消息时添加的标识;如果该标识位中携带有第一指定标识,则该业务消息是来自故障站点的业务消息;
[0152]或,
[0153]该分发单元510,用于检测该业务消息中的标识位是否携带有第二指定标识,该第二指定标识是该前端网元在该业务消息不是来自故障站点的业务消息时添加的标识;如果该标识位中未携带有第二指定标识,则该业务消息是来自故障站点的业务消息。
[0154]综上所述,本发明实施例提供的容灾站点,分发单元通过接收业务消息;检测该业务消息是否为来自故障站点的业务消息;如果该业务消息是来自故障站点的业务消息,则将该业务消息分配至容灾站点中多个相互隔离的业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理;解决了容灾切换导致的故障扩散的问题;使得即便故障发生扩散,也将扩散范围限制在被隔离的范围内,不会影响到其它范围的效果。
[0155]本发明实施例提供的容灾站点,分发单元通过选择容灾站点中当前负载最低的一个或多个业务消息处理单元,将该负载最低的业务消息处理单元处理的属于容灾站点的业务消息全部迁移至容灾站点内的其它该业务消息处理单元得到空闲的业务消息处理单元,以实现为来自故障站点的业务消息预留空闲的业务消息处理单元;保证了预留空闲业务消息处理单元的同时,保证了容灾站点内其他的业务消息处理单元能够正常的处理容灾站点的业务消息。
[0156]本发明实施例提供的容灾站点,分发单元通过检测第一单元组和第二单元组的平均负载,根据该平均负载对第一单元组和第二单元组的业务消息处理单元的数量进行动态调整;保证了容灾站点中第一单元组和第二单元组的平均负载的均衡性。
[0157]本发明实施例提供的容灾站点,分发单元通过在第一单元组的平均负载超过第一预设阈值且第二单元组的平均负载未超过第二预设阈值时,从第二单元组向第一单元组调入一个业务消息处理单元;保证了对容灾站点内的业务消息的优先处理。
[0158]本发明实施例提供的容灾站点,分发单元通过在第一单元组的平均负载未超过第一预设阈值且第二单元组的平均负载超过第二预设阈值时,从第一单元组向第二单元组调入一个业务消息处理单元;保证了尽可能的处理来自故障站点的业务消息。
[0159]本发明实施例提供的容灾站点,分发单元通过在向当前单元组调入业务消息处理单元后,将当前单元组设置为预定时长的禁止调出状态;避免了在第一单元组和第二单元组之间频繁的调入或调出业务消息处理单元,节省了不必要的繁琐步骤。
[0160]本发明实施例提供的容灾站点,分发单元通过检测业务消息的标识位携带的标识是否为容灾站点的站点标识;或分发单元通过检测业务消息的标识为是否携带第一指定标识,该第一指定标识是前端网元在该业务消息为来自该故障站点的业务消息时添加的标识;或分发单元通过检测业务消息的标识位是否携带有第二指定标识,该第二指定标识是前端网元在该业务消息不是来自故障站点的业务消息时添加的标识;丰富了分发单元检测故障站点的业务消息的方式。
[0161]请参考图6,其示出了本发明一个实施例提供的业务消息处理装置的框图。该业务消息处理装置可以通过软件、硬件或者两者的结合实现成为图2所示系统中分发单元242的部分或者全部。该业务消息处理装置可以包括:业务消息接收模块610、业务消息检测模块620和业务消息处理模块630。
[0162]业务消息接收模块610,用于接收业务消息。
[0163]业务消息检测模块620,用于检测业务消息接收模块610接收到的业务消息是否为来自故障站点的业务消息。
[0164]业务消息处理模块630,用于在业务消息检测模块620检测到该业务消息是来自故障站点的业务消息时,将该业务消息分配至多个业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理。
[0165]综上所述,本发明实施例提供的业务消息处理装置,通过接收业务消息;检测该业务消息是否为来自故障站点的业务消息;如果该业务消息是来自故障站点的业务消息,则将该业务消息分配至容灾站点中多个相互隔离的业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理;解决了容灾切换导致的故障扩散的问题;使得即便故障发生扩散,也将扩散范围限制在被隔离的范围内,不会影响到其它范围的效果。
[0166]请参考图7,其示出了本发明另一个实施例提供的业务消息处理装置的框图。该业务消息处理装置可以通过软件、硬件或者两者的结合实现成为图4所示系统中分发单元242的部分或者全部。该业务消息处理装置可以包括:业务消息接收模块710、业务消息检测模块720和业务消息处理模块730。
[0167]业务消息接收模块710,用于接收业务消息。
[0168]业务消息检测模块720,用于检测业务消息接收模块710接收到的业务消息是否为来自故障站点的业务消息。
[0169]业务消息处理模块730,用于在业务消息检测模块720检测到该业务消息是来自故障站点的业务消息时,将该业务消息分配至多个业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理。
[0170]可选地,该空闲的业务消息处理单元是该容灾站点预留的用于处理该故障站点的业务消息的业务消息处理单元。
[0171]可选地,该装置,还包括:
[0172]处理单元选择模块740,用于选择该容灾站点中当前负载最低的一个或多个业务消息处理单元;
[0173]空闲处理单元得到模块750,用于将处理单元选择模块740选择到的负载最低的业务消息处理单元处理的属于该容灾站点的业务消息全部迁移至该容灾站点内的其它该业务消息处理单元得到该空闲的业务消息处理单元。
[0174]可选地,该装置,还包括:
[0175]平均负载检测模块760,用于分别检测容灾站点内的第一单元组的平均负载和第二单元组的平均负载,该第一单元组包括用于处理该容灾站点的业务消息的业务消息处理单元,该第二单元组包括用于处理来自其他故障站点的业务消息的业务消息处理单元;
[0176]动态调整模块770,用于根据平均负载检测模块760检测到的第一单元组和该第二单元组的平均负载动态调整第一单元组和第二单元组中的业务消息处理单元的数量。
[0177]可选地,该动态调整模块770,包括:
[0178]处理单元选择单元771,用于在平均负载检测模块760检测到第一单元组的平均负载超过第一预设阈值,且第二单元组的平均负载低于第二预设阈值时,选择第二单元组中的I个业务消息处理单元;
[0179]业务消息迁移单元772,用于将处理单元选择单元771选择到的业务消息处理单元中处理的来自其他故障站点的全部业务消息迁移至该第二单元组中的其它业务消息处理单元;
[0180]处理单元调入单元773,用于将业务消息迁移单元772迁移得到的业务消息处理单元调入至第一单元组。
[0181]可选地,该动态调整模块770,包括:
[0182]该处理单元选择单元771,用于在平均负载检测模块760检测到第一单元组的平均负载低于第一预设阈值,且第二单元组的平均负载超过第二预设阈值时,选择第一单元组中的I个业务消息处理单元;
[0183]该业务消息迁移单元772,用于将处理单元选择单元771选择到的业务消息处理单元中处理的属于容灾站点的全部业务消息迁移至第一单元组中的其它业务消息处理单元;
[0184]该处理单元调入单元773,用于将业务消息迁移单元772迁移得到业务消息处理单元调入至第二单元组。
[0185]可选地,该装置,还包括:
[0186]禁止状态设置模块780,用于在向当前单元组调入该业务消息处理单元之后,将当前单元组设置为预定时长的禁止调出状态,该禁止调出状态是指禁止从当前单元组调出该业务消息处理单元的状态。
[0187]可选地,
[0188]该业务消息检测模块720,用于根据该业务消息中的标识位所指示的信息,检测该业务消息是否为来自故障站点的业务消息。
[0189]可选地,
[0190]该业务消息检测模块720,包括:
[0191]站点标识检测单元721,用于检测业务消息接收模块710接收到的业务消息中的标识位携带的标识是否为容灾站点的站点标识,该标识位携带的标识是该前端网元在该业务消息中添加的标识;如果该标识不是该容灾站点的站点标识,则该业务消息是来自故障站点的业务消息;
[0192]或,
[0193]第一指定标识检测单元722,用于检测业务消息接收模块710接收到的业务消息中的标识位是否携带有第一指定标识,该第一指定标识是该前端网元在该业务消息为来自该故障站点的业务消息时添加的标识;如果该标识位中携带有第一指定标识,则该业务消息是来自故障站点的业务消息;
[0194]或,
[0195]第二指定标识检测单元723,用于检测业务消息接收模块710接收到的业务消息中的标识位是否携带有第二指定标识,该第二指定标识是该前端网元在该业务消息不是来自故障站点的业务消息时添加的标识;如果该标识位中未携带有第二指定标识,则该业务消息是来自故障站点的业务消息。
[0196]综上所述,本发明实施例提供的业务消息处理装置,通过接收业务消息;检测该业务消息是否为来自故障站点的业务消息;如果该业务消息是来自故障站点的业务消息,则将该业务消息分配至容灾站点中多个相互隔离的业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理;解决了容灾切换导致的故障扩散的问题;使得即便故障发生扩散,也将扩散范围限制在被隔离的范围内,不会影响到其它范围的效果。
[0197]本发明实施例提供的业务消息处理装置,通过选择容灾站点中当前负载最低的一个或多个业务消息处理单元,将该负载最低的业务消息处理单元处理的属于容灾站点的业务消息全部迁移至容灾站点内的其它该业务消息处理单元得到空闲的业务消息处理单元,以实现为来自故障站点的业务消息预留空闲的业务消息处理单元;保证了预留空闲业务消息处理单元的同时,保证了容灾站点内其他的业务消息处理单元能够正常的处理容灾站点的业务消息。
[0198]本发明实施例提供的业务消息处理装置,通过检测第一单元组和第二单元组的平均负载,根据该平均负载对第一单元组和第二单元组的业务消息处理单元的数量进行动态调整;保证了容灾站点中第一单元组和第二单元组的平均负载的均衡性。
[0199]本发明实施例提供的业务消息处理装置,通过在第一单元组的平均负载超过第一预设阈值且第二单元组的平均负载未超过第二预设阈值时,从第二单元组向第一单元组调入一个业务消息处理单元;保证了对容灾站点内的业务消息的优先处理。
[0200]本发明实施例提供的业务消息处理装置,通过在第一单元组的平均负载未超过第一预设阈值且第二单元组的平均负载超过第二预设阈值时,从第一单元组向第二单元组调入一个业务消息处理单元;保证了尽可能的处理来自故障站点的业务消息。
[0201]本发明实施例提供的业务消息处理装置,通过在向当前单元组调入业务消息处理单元后,将当前单元组设置为预定时长的禁止调出状态;避免了在第一单元组和第二单元组之间频繁的调入或调出业务消息处理单元,节省了不必要的繁琐步骤。
[0202]本发明实施例提供的业务消息处理装置,通过检测业务消息的标识位携带的标识是否为容灾站点的站点标识;或通过检测业务消息的标识为是否携带第一指定标识,该第一指定标识是前端网元在该业务消息为来自该故障站点的业务消息时添加的标识;或通过检测业务消息的标识位是否携带有第二指定标识,该第二指定标识是前端网元在该业务消息不是来自故障站点的业务消息时添加的标识;丰富了检测故障站点的业务消息的方式。
[0203]请参考图8,其示出了本发明一个实施例提供的业务消息处理方法的方法流程图。本实施例以该业务消息处理方法应用于容灾站点中,且该容灾站点包括分发单元和多个相互隔离的业务消息处理单元来进行举例说明。参见图8,该方法流程具体包括:
[0204]801、接收业务消息。
[0205]802、检测该业务消息是否为来自故障站点的业务消息。
[0206]803、如果该业务消息是来自故障站点的业务消息,则将该业务消息分配至该多个业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理。
[0207]综上所述,本发明实施例提供的业务消息处理方法,通过接收业务消息;检测该业务消息是否为来自故障站点的业务消息;如果该业务消息是来自故障站点的业务消息,则将该业务消息分配至容灾站点中多个相互隔离的业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理;解决了容灾切换导致的故障扩散的问题;使得即便故障发生扩散,也将扩散范围限制在被隔离的范围内,不会影响到其它范围的效果。
[0208]请参考图9,其示出了本发明另一个实施例提供的业务消息处理方法的方法流程图。本实施例以该业务消息处理方法应用于图2所示系统中,并假设该系统中的站点I为故障站点,站点2作为站点I的容灾站点来举例说明。
[0209]参见图9,该方法流程具体包括:
[0210]901、接收业务消息。
[0211]其中,该业务消息是前端网元分发的业务消息。
[0212]当前端网元为站点2分发业务消息时,站点2接收该业务消息。
[0213]其中,该业务消息可能是站点2自身的业务消息,也可能是来自故障站点的业务消息。
[0214]具体地,前端网元在对各个站点分发业务消息时,可以依照负载均衡原则对各个站点分发业务消息。即,当前端网元中存在需要分发的业务消息时,前端网元在各个站点中,选择负载相对较低的站点,并向该站点分发业务消息。
[0215]但是,当资源池内的某个站点出现故障时,该前端网元会将本来分发给故障站点的业务消息,转发给该资源池中的正常站点,从而对该故障站点的业务消息进行容灾切换。
[0216]902、根据该业务消息中的标识位所指示的信息,检测该业务消息是否为来自故障站点的业务消息。
[0217]在本发明实施例中,为了便于各个站点分辨业务消息是自身的业务消息,还是来自故障站点的业务消息,前端网元会和各个站点约定,在分发业务消息时,在该业务消息中约定一个标识位,以使得各个站点在接收到前端网元分发的业务消息时,根据该业务消息中的标识位所指示的信息,检测该业务消息是否是从故障站点转发的业务消息。
[0218]其中,该根据业务消息中的标识位所指示的信息,检测该业务消息是否为来自故障站点的业务消息包括三种实现方式:
[0219]第一种实现方式:站点2检测该业务消息中的标识位携带的标识是否为容灾站点的站点标识。该标识位携带的标识是前端网元在业务消息中添加的标识;如果该标识不是容灾站点的站点标识,则该业务消息是来自故障站点的业务消息。
[0220]具体地,前端网元在分发业务消息时,可以对所有的业务消息的标识位都添加标识,该所有的业务消息包括容灾站点的业务消息和故障站点的业务消息,优选地,该标识为站点标识。
[0221]比如,前端网元将业务消息A分配给站点I时,在业务消息A的标识位添加站点I的站点标识;又比如,前端网元将业务消息B分配给站点2时,在业务消息B的标识位添加站点2的站点标识。
[0222]以该业务消息为SIP(Sess1n Initiat1n Protocol,会话初始化协议)消息为例,前端网元会在该业务消息的标识位添加一个SIP头域,该头域就为该业务消息所对应的站点标识,如,该头域可以为Origin-Stat1n:xx,其中,XX为该业务消息所对应的站点标识。
[0223]当容灾站点(站点2)接收到该业务消息时,该容灾站点(站点2)中的分发单元根据该业务消息中的标识位携带的标识与容灾站点(站点2)维护的标识,检测该业务消息中的标识位所携带的标识是否为该容灾站点(站点2)的站点标识。如果该标识位携带的标识不是容灾站点(站点2)的站点标识,则该业务消息来自故障站点业务消息。
[0224]需要说明的是,前端网元在将故障站点的业务消息转发至容灾站点时,不会对该业务消息的标识位已经添加的标识进行更改。
[0225]比如,前端网元将业务消息A分配给站点I时,在业务消息A的标识位添加标识,假设该标识为Origin-Stat1n:1D-1,当前端网元将业务消息A分配至站点I时,发现该站点I出现故障,而要将该业务消息A分配给站点2时,前端网元不会对该业务消息中已经添加的标识进行更改,即,前端网元将仍然携带有Origin-Stat1n:1D-l的标识的业务消息A,分配给站点2。假设站点2维护的标识是Origin-Stat1n:1D-2,由于Origin-Stat1n:1D-1与Origin-Stat1n:1D-2不同,则站点2中的分发单元就会检测该标识不是该站点2的站点标识,从而,携带该标识的业务消息是来自站点I (故障站点)的业务消息。
[0226]第二种实现方式:站点2检测该业务消息中的标识位是否携带有第一指定标识,该第一指定标识是前端网元在该业务消息为来自故障站点的业务消息时添加的标识;如果该标识位中携带有第一指定标识,则该业务消息是来自故障站点的业务消息。
[0227]具体地,前端网元在分发业务消息时,可以对故障站点的业务消息的标识位添加第一指定标识。比如,该第一指定标识可以为“ERROR”,用于表示该业务消息是来自故障站点的业务消息。优选地,该第一指定标识为故障站点的站点标识。
[0228]比如,假设站点I为故障站点,站点2为容灾站点。前端网元在将站点I的业务消息分配给站点2时,在该业务消息中的标识位添加第一指定标识,用于标识该业务消息是来自站点I (故障站点)的业务消息。
[0229]第三种实现方式:站点2检测该业务消息中的标识位是否携带有第二指定标识,该第二指定标识是前端网元在该业务消息不是来自故障站点的业务消息时添加的标识;如果该标识位中未携带有第二指定标识,则该业务消息是来自故障站点的业务消息。
[0230]具体地,前端网元在分发业务消息时,可以对容灾站点的业务消息的标识位添加第二指定标识。比如,该第二指定标识可以为“N0ERR0R”,用于表示该业务消息是容灾站点的业务消息。优选地,该第二指定标识为容灾站点的站点标识。
[0231]如,假设站点2为容灾站点,业务消息B为站点2自身的业务消息,则前端网元在将业务消息B分配给站点2时,在该业务消息B的标识位添加第二指定标识,用于表示该业务消息是容灾站点的业务消息。
[0232]当站点2接收到未携带有该第二指定标识的业务消息时,该站点2就认为该业务消息是来自故障站点的业务消息。
[0233]903、如果该业务消息是来自故障站点的业务消息,则将该业务消息分配至多个业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理。
[0234]其中,该空闲的业务消息处理单元是容灾站点预留的用于处理来自故障站点的业务消息的业务消息处理单元。
[0235]其中,该容灾站点的的多个业务消息处理单元是相互隔离的,也即,将该来自故障站点的业务消息分配给该多个业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理时,已经可以实现对来故障站点的业务消息的隔离处理,以避免故障扩散。
[0236]但是,需要说明的是,在本发明实施例中,该容灾站点在预留用于处理来自故障站点的业务消息的业务消息处理单元时,可以包括以下两个步骤:
[0237]步骤一,站点2选择容灾站点(站点2)中当前负载最低的一个或多个业务消息处理单元。
[0238]在本发明实施例中,站点2在为来自故障站点的业务消息预留业务消息处理单元时,站点2中的分发单元选择站点2中负载最低的业务消息处理单元。
[0239]其中,站点2可以选择一个负载最低的业务消息处理单元,也可以在该多个业务消息处理单元中选择负载相对较低的多个业务消息处理单元,本发明实施例对此不作限定。
[0240]步骤二,站点2将该负载最低的业务消息处理单元处理的属于容灾站点(站点2)的业务消息全部迁移至容灾站点内的其它业务消息处理单元得到空闲的业务消息处理单
J Li ο
[0241]当站点2中的分发单元选择得到该负载最低的一个或多个业务消息处理单元时,站点2中的分发单元将该负载最低的业务消息处理单元当前正在处理的属于容灾站点(站点2)的业务消息全部迁移至该站点2中的其他处理容灾站点(站点2)的业务消息的业务消息处理单元进行处理,从而得到处理空闲状态的业务消息处理单元。
[0242]还需要说明的是,如果容灾站点(站点2)中本身就存在处于空闲状态的业务消息处理单元,那么,容灾站点在接收到来自故障站点的业务消息时,可以直接将该来自故障站点的业务消息分配给该处于空闲状态的业务消息处理单元进行处理,而不再执行预先预留该空闲的业务消息处理单元的步骤。
[0243]最后需要补充说明是,当容灾站点(站点2)没有预先为来自故障站点的业务消息预留业务消息处理单元,同时站点2中也不存在本身就处于空闲状态的业务消息处理单元时,站点2在接收到来自故障站点的业务消息时,可以为该来自故障站点的业务消息实时的分配业务消息处理单元。当站点2为该来自故障站点的业务消息实时分诶业务消息处理单元时,站点2中的分发单元可以对容灾站点内的各个业务消息处理单元的负载进行对t匕,确定出负载最低的业务消息处理单元,将该负载最低的业务消息处理单元正在处理的业务消息迁移至该容灾站点内的其他业务消息处理单元中,得到一处于空闲状态的业务消息处理单元,并将当前来自故障站点的业务消息,分配给该处于空闲状态的业务消息处理单元进行处理。
[0244]如,假设站点2内有m、n、p、q,4个业务消息处理单元,其中,业务消息处理单元m、η、P和q当前正在处理容灾站点的业务消息,当站点2接收到来自故障站点I的业务消息时,该站点2中的分发单元会在业务消息处理单元m、η、P和q中确定出负载最低的业务消息处理单元,假设分发单元确定的负载最低的业务消息处理单元为m,则分发单元将业务单元m当前正在处理的业务消息,迁移至业务消息处理单元η和/或P和/或q,得到处于空闲状态的业务消息处理单元m,进而分发单元将当前接收到的来自故障站点I的业务消息,分配给该业处理单元m进行处理。
[0245]综上所述,本发明实施例提供的业务消息处理方法,通过接收业务消息;根据该业务消息中的标识位所指示的信息,检测该业务消息是否为来自故障站点的业务消息;如果该业务消息是来自故障站点的业务消息,则将该业务消息分配至多个业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理;解决了容灾切换导致的故障扩散的问题;使得即便故障发生扩散,也将扩散范围限制在被隔离的范围内,不会影响到其它范围的效果O
[0246]本发明实施例提供的业务消息处理方法,通过预先为来自故障站点的业务消息语录业务消息处理单元,在接收到来自故障站点的业务消息时,直接将该业务消息分配给预留的处于空闲状态的业务消息处理单元进行处理;保证了对来自故障站点的业务消息的及时处理。
[0247]本发明实施例提供的业务消息处理方法,通过检测业务消息的标识位携带的标识是否为容灾站点的站点标识,该标识位携带的标识是前端网元在业务消息中添加的标识;或通过检测业务消息的标识位是否携带有第一指定标识,该第一指定标识是前端网元在该业务消息为来自故障站点的业务消息时添加的标识;或通过检测业务消息的标识位是否携带有第二指定标识,该第二指定标识是前端网元在该业务消息不是来自故障站点的业务消息时添加的标识,来检测该业务消息是否为来故障站点的业务消息,丰富了检测故障站点的业务消息的方式。
[0248]本发明实施例提供的业务消息处理方法,容灾站点中的分发单元在将来自故障站点的业务消息分配给容灾站点中的至少一个业务消息处理单元进行处理之后,相当于该容灾站点内存在两个单元组,一个单元组用于处理容灾站点自身的业务消息,另一个单元组用于处理来自故障站点的业务消息。那么,可能随着容灾站点不断的接收到来自故障站点的业务消息,该用于处理来自故障站点的业务消息的单元组会处于超负载状态,或,由于容灾站点不断的接收到自身的业务消息,该用于处理容灾站点自身的业务消息的单元组会处于超负载状态,那么,本发明实施例提供的业务消息处理方法,还支持对该两个单元组的业务消息处理单元的数量进行动态调整。
[0249]在一个简单的示例中,请参考图10,其示出了本发明实施例提供的一种对第一单元组和第二单元组的业务消息处理单元的数量进行动态调整的示意图,本示意图以该动态调整方法应用于图4所示的站点2中来举例说明。参见图10,可以看出,容灾站点(站点2)中共有6个业务消息处理单元,两个单元组(分别为第一单元组和第二单元组),每隔预定时间间隔(5秒),对该第一单元组和第二单元组的业务消息处理单元的数量进行动态调整。比如,在第O秒时,第二单元组的业务消息处理单元的数量为0,换句话说,此时第二单元组是不存在的,也即,此时站点2中的所有业务消息处理单元都在处理容灾站点的业务消息;在第5秒时,第二单元组的业务消息处理单元的数量为I ;在第10秒时,由于来自故障站点的业务消息较多,第二单元组的业务消息处理单元的数量调整为2 ;在第15秒时,由于第二单元组的平均负载依然很高,第二单元组的业务消息处理单元的数量调整为3,依次类推。具体的调整逻辑可以参考如下图11实施例所示:
[0250]请参考图11,其示出了本发明再一个实施例提供的业务消息处理方法的方法流程图。本实施例以该业务消息处理方法应用于图4所示系统中的站点2,且该图4中的站点I和站点2均为用于处理前端网元分发的业务消息的站点,并依然假设站点I为故障站点,站点2为正常站点(作为站点I的容灾站点)来进行举例说明。参见图11,该方法流程具体包括:
[0251]1101、接收业务消息。
[0252]该步骤1101与图9所示实施例子中的步骤901相同或类似,本实施例在此不再赘述。
[0253]1102、根据业务消息中的标识位所指示的信息,检测该业务消息是否为来自故障站点的业务消息。
[0254]该步骤1102与图9所示实施例子中的步骤902相同或类似,本实施例在此不再赘述。
[0255]1103、如果该业务消息是来自故障站点的业务消息,则将该业务消息分配至多个业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理。
[0256]该步骤1103与图9所示实施例子中的步骤903相同或类似,本实施例在此不再赘述。
[0257]但是需要说明的是,在本实施例中,当站点2中的分发单元将该来自故障站点的业务消息分配给容灾站点中的至少一个空闲的业务消息处理单元进行处理之后,相当于该站点2中的多个业务消息处理单元被分成了两个单元组,分别为第一单元组和第二单元组,在本实施例中,第一单元组用于处理容灾站点自身的业务消息,第二单元组用于处理来自故障站点的业务消息。
[0258]1104、分别检测容灾站点内的第一单元组的平均负载是否超过第一预设阈值和第二单元组的平均负载是否低于第二预设阈值。
[0259]其中,该第一单元组包括用于处理容灾站点的业务消息的业务消息处理单元,该第二单元组包括用于处理来自其他故障站点的业务消息的业务消息处理单元。
[0260]具体地,当容灾站点内的分发单元将来自故障站点的业务消息分配给第二单元组中的至少一个空闲的业务消息处理单元进行处理后,该分发单元会每隔预定时间间隔对容灾站点中第一单元组的业务消息处理单元的平均负载和第二单元组的业务消息处理单元的平均负载进行检测,并判断第一单元组的业务消息处理单元的平均负载是否超过第一预设阈值,第二单元组的业务消息处理单元的平均负载是否低于第二预设阈值。
[0261]如果该第一单元组的业务消息处理单元的平均负载超过第一预设阈值,且第二单元组的业务消息处理单元的平均负载低于第二预设阈值,则执行步骤1105 ;如果该第一单元组的业务消息处理单元的平均负载低于第一预设阈值,且第二单元组的业务消息处理单元的平均负载超过第二预设阈值,则执行步骤1107。
[0262]其中,该预定时间间隔可以根据经验确定。可选地,该预定时间间隔为5秒。
[0263]其中,该第一预设阈值用于衡量第一单元组中的业务消息处理单元的平均负载的高低,当第一单元组中的业务消息处理单元的平均负载超过第一预设阈值时,说明此时第一单元组的业务消息处理单元的平均负载较高;当第一单元组中的业务消息处理单元的平均负载低于第一预设阈值时,说明此时该第一单元组中的业务消息处理单元的平均负载较低。
[0264]其中,该第一预设阈值可以根据经验确定。优选地,该第一预设阈值为该第一单元组的业务消息处理单元的最大平均业务负载的70%。
[0265]其中,该第二预设阈值用于衡量第二单元组中的业务消息处理单元的平均负载的高低,当第二单元组中的业务消息处理单元的平均负载超过第二预设阈值时,说明此时第二单元组的业务消息处理单元的平均负载较高;当第二单元组中的业务消息处理单元的平均负载低于第二预设阈值时,说明此时该第二单元组中的业务消息处理单元的平均负载较低。
[0266]其中,该第二预设阈值可以根据经验确定。优选地,该第二预设阈值为该第二单元组的业务消息处理单元的最大平均业务负载的70%。
[0267]1105、如果检测到第一单元组的平均负载超过第一预设阈值,且第二单元组的平均负载低于第二预设阈值,则选择第二单元组中的I个业务消息处理单元,将该业务消息处理单元中处理的来自其他故障站点的全部业务消息迁移至第二单元组中的其它业务消息处理单元。
[0268]在上述步骤1104中,如果站点2中的分发单元检测到第一单元组的业务消息处理单元的平均负载超过第一预设阈值,且第二单元组的业务消息处理单元的平均负载低于第二预设阈值,则说明此时第一单元组的业务消息处理单元的平均负载较高且第二单元组的业务消息处理单元的平均负载较低,此时,分发单元可以从第二单元组向第一单元组调入业务消息处理单元,以缓解第一单元组的业务消息处理单元的负载压力。
[0269]其中,分发单元可以在第二单元组中选择I个业务消息处理单元,将该业务消息处理单元正在处理的来自故障站点的全部业务消息迁移至第二单元组的其他业务消息处理单元进行处理。
[0270]可选地,分发单元可以从第二单元组中,随机选择I个业务消息处理单元,并将该业务消息处理单元当前正在处理的来自故障站点的全部业务消息迁移至第二单元组中的其他业务消息处理单元进行处理。
[0271]可选地,分发单元还可以根据第二单元组中,各个业务消息处理单元的负载情况,从该第二单元组中选择I个业务消息处理单元,并将该业务消息处理单元当前正在处理的来自故障站点的全部业务消息迁移至第二单元组中的其他业务消息处理单元进行处理,t匕如,分发单元可以选择第二单元组中负载较低的业务消息处理单元,并将该业务消息处理单元当前正在处理的来自故障站点的全部业务消息迁移至第二单元组中的其他业务消息处理单元进行处理。
[0272]需要说明的是,如果第二单元组中存在处于空闲状态的业务消息处理单元,则分发单元优先选择该处于空闲状态的业务消息处理单元。
[0273]还需要说明的是,如果第二单元组的业务消息处理单元的个数为1,那么,该分发单元可以请求前端网元将该业务消息处理单元当前正在处理的来自故障站点的业务消息全部迁移至其他正常站点进行处理;或,该分发单元还可以请求前端网元将自身的业务消息分配给其他正常的站点进行处理;或,该分发单元还可以请求前端网元从其他正常站点向自身所在的站点调入业务消息处理单元,具体本发明实施例对此不见作限定。
[0274]还需要说明的是,如果第一单元组的业务消息处理单元的平均负载超过第一预设阈值的程度较大,可能需要调入多个业务消息处理单元到第一单元组,此时,分发单元可以根据该平均负载超过第一预设阈值的程度确定选择多个业务消息处理单元。
[0275]其中,该多个业务消息处理单元的数量与第一单元组的业务消息处理单元的平均负载超过第一预设阈值的程度呈正相关关系。即,当该平均负载超过第一预设阈值的程度较大时,分发单元可以将该多个业务消息处理单元的数量确定的较大,当该平均负载超过第一预设阈值的程度较小时,分发单元可以将该多个业务消息处理单元的数量确定的较小。
[0276]其中,该多个业务消息处理单元的数量最大不超过第二单元组中的业务消息处理单元的总数量。在实际应用中,可以预先设置好该多个业务消息处理单元的数量与平均负载超过第一预设阈值的程度的函数关系,根据该函数关系,确定该多个业务消息处理单元的数量。
[0277]1106、将该业务消息处理单元调入第一单元组。
[0278]当分发单元将选择到的业务消息处理单元正在处理的来自故障站点的全部业务消息迁移至第二单元组中的其他业务消息处理单元之后,分发单元将该业务消息处理单元调入第一单元组。
[0279]1107、如果检测到第一单元组的平均负载低于第一预设阈值,且第二单元组的平均负载超过第二预设阈值,则选择第一单元组中的I个业务消息处理单元,将该业务消息处理单元中处理的属于容灾站点的全部业务消息迁移至第一单元组中的其它业务消息处理单元。
[0280]在上述步骤1104中,如果站点2中的分发单元检测到第一单元组的业务消息处理单元的平均负载低于第一预设阈值,且第二单元组的业务消息处理单元的平均负载超过第二预设阈值,则说明此时第一单元组的业务消息处理单元的平均负载较低且第二单元组的业务消息处理单元的平均负载较高,此时,分发单元可以从第一单元组向第二单元组调入业务消息处理单元,以缓解第二单元组的业务消息处理单元的负载压力。
[0281]其中,分发单元可以在第一单元组中选择I个业务消息处理单元,将该业务消息处理单元正在处理的属于容灾站点的全部业务消息迁移至第一单元组的其他业务消息处理单元进行处理。
[0282]可选地,分发单元可以从第一单元组中,随机选择I个业务消息处理单元,并将该业务消息处理单元当前正在处理的属于容灾站点的全部业务消息迁移至第一单元组中的其他业务消息处理单元进行处理。
[0283]可选地,分发单元还可以根据第一单元组中,各个业务消息处理单元的负载情况,从该第一单元组中选择I个业务消息处理单元,并将该业务消息处理单元当前正在处理的属于容灾站点的全部业务消息迁移至第一单元组中的其他业务消息处理单元进行处理,t匕如,分发单元可以选择第一单元组中负载较低的业务消息处理单元,并将该业务消息处理单元当前正在处理的属于容灾站点的全部业务消息迁移至第一单元组中的其他业务消息处理单元进行处理。
[0284]需要说明的是,如果第一单元组中存在处于空闲状态的业务消息处理单元,则分发单元优先选择该处于空闲状态的业务消息处理单元。
[0285]还需要说明的是,如果第二单元组的业务消息处理单元的平均负载超过第二预设阈值的程度较大,可能需要调入多个业务消息处理单元到第二单元组,此时,分发单元可以根据该平均负载超过第二预设阈值的程度确定选择多个业务消息处理单元。
[0286]其中,该多个业务消息处理单元的数量与第二单元组的业务消息处理单元的平均负载超过第二预设阈值的程度呈正相关关系。即,当该平均负载超过第二预设阈值的程度较大时,分发单元可以将该多个业务消息处理单元的数量确定的较大,当该平均负载超过第二预设阈值的程度较小时,分发单元可以将该多个业务消息处理单元的数量确定的较小。
[0287]在实际应用中,可以预先设置好该多个业务消息处理单元的数量与平均负载超过第二预设阈值的程度的函数关系,根据该函数关系,确定该多个业务消息处理单元的数量。
[0288]1108、将该业务消息处理单元调入第二单元组。
[0289]当分发单元将选择到的业务消息处理单元正在处理的属于容灾站点的全部业务消息迁移至第一单元组中的其他业务消息处理单元之后,分发单元将该业务消息处理单元调入第二单元组。
[0290]综上所述,本发明实施例提供的业务消息处理方法,通过接收业务消息;检测该业务消息是否为来自故障站点的业务消息;如果该业务消息是来自故障站点的业务消息,则将该业务消息分配至容灾站点中多个相互隔离的业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理;解决了容灾切换导致的故障扩散的问题;使得即便故障发生扩散,也将扩散范围限制在被隔离的范围内,不会影响到其它范围的效果。
[0291]本发明实施例提供的业务消息处理方法,通过选择容灾站点中当前负载最低的一个或多个业务消息处理单元,将该负载最低的业务消息处理单元处理的属于容灾站点的业务消息全部迁移至容灾站点内的其它该业务消息处理单元得到空闲的业务消息处理单元,以实现为来自故障站点的业务消息预留空闲的业务消息处理单元;保证了预留空闲业务消息处理单元的同时,保证了容灾站点内其他的业务消息处理单元能够正常的处理容灾站点的业务消息。
[0292]本发明实施例提供的业务消息处理方法,通过检测第一单元组和第二单元组的平均负载,根据该平均负载对第一单元组和第二单元组的业务消息处理单元的数量进行动态调整;保证了容灾站点中第一单元组和第二单元组的平均负载的均衡性。
[0293]本发明实施例提供的业务消息处理方法,通过在第一单元组的平均负载超过第一预设阈值且第二单元组的平均负载低于第二预设阈值时,从第二单元组向第一单元组调入一个业务消息处理单元;保证了对容灾站点内的业务消息的优先处理。
[0294]本发明实施例提供的业务消息处理方法,通过在第一单元组的平均负载低于第一预设阈值且第二单元组的平均负载超过第二预设阈值时,从第一单元组向第二单元组调入一个业务消息处理单元;保证了尽可能的处理来自故障站点的业务消息。
[0295]本发明实施例提供的业务消息处理方法,通过在向当前单元组调入业务消息处理单元后,将当前单元组设置为预定时长的禁止调出状态;避免了在第一单元组和第二单元组之间频繁的调入或调出业务消息处理单元,节省了不必要的繁琐步骤。
[0296]本发明实施例提供的业务消息处理方法,通过检测业务消息的标识位携带的标识是否为容灾站点的站点标识;或通过检测业务消息的标识为是否携带第一指定标识,该第一指定标识是前端网元在该业务消息为来自该故障站点的业务消息时添加的标识;或通过检测业务消息的标识位是否携带有第二指定标识,该第二指定标识是前端网元在该业务消息不是来自故障站点的业务消息时添加的标识;丰富了检测故障站点的业务消息的方式。
[0297]需要补充说明的是,为了避免在第一单元组和第二单元组之间频繁的调入或调出业务消息处理单元,站点2中的分发单元在向当前单元组中调入业务消息处理单元之后,会将当前单元组设置为预定时长的禁止调出状态。其中,该禁止调出状态是指禁止从当前单元组调出业务消息处理单元的状态。
[0298]优选地,该预定时长可以为60秒,S卩,在对当前单元组调入业务消息处理单元之后的60秒内,不允许从该单元组调出业务消息处理单元。
[0299]比如,站点2中的分发单元在35秒之前从第二单元组向第一单元组调入了业务消息处理单元,而在35秒之后该站点2中的分发单元检测到第二单元组的业务消息处理单元的平均负载超过了第二预设阈值,即,需要从第一单元组向第二单元组调入业务消息处理单元,但是由于35小于60,即,35秒时长的时间间隔在60秒的时长内,该第一单元组处于禁止调出状态,因此,该站点2中的分发单元不能从该第一单元组调出业务消息处理单元到第二单元组。
[0300]又比如,站点2中的分发单元在67秒之前从第二单元组向第一单元组调入了业务消息处理单元,而在67秒之后该站点2中的分发单元检测到第二单元组的业务消息处理单元的平均负载超过了第二预设阈值,即,需要从第一单元组向第二单元组调入业务消息处理单元,并且由于67大于60,即,67秒时长的时间间隔超过了 60秒的时长,该第一单元组处于解除禁止调出状态,因此,该站点2中的分发单元可以从该第一单元组调出业务消息处理单元到第二单元组。
[0301]还需要说明的是,在当前的单元组处于禁止调出状态时,站点2中的分发单元可以等到该禁止调出状态解除时,再根据当前单元组和另一单元组的负载情况,从当前单元组调出业务消息处理单元到另一单元组。
[0302]本发明实施例提供的业务消息处理方法,通过在向当前单元组调入业务消息处理单元后,将当前单元组设置为预定时长的禁止调出状态;避免了在第一单元组和第二单元组之间频繁的调入或调出业务消息处理单元,节省了不必要的繁琐步骤。
[0303]请参考图12,其示出了本发明又一个实施例提供的业务消息处理方法的方法流程图。本实施例以该业务消息处理方法应用于图4所示系统中的站点2,且该图4中的站点I和站点2均为用于处理前端网元分发的业务消息的站点,并依然假设站点I为故障站点,站点2为正常站点(作为站点I的容灾站点)来进行举例说明。参见图12,该方法流程具体包括:
[0304]1201、接收业务消息。
[0305]该步骤1201与图9所示实施例子中的步骤901相同或类似,本实施例在此不再赘述。
[0306]1202、根据业务消息中的标识位所指示的信息,检测该业务消息是否为来自故障站点的业务消息。
[0307]该步骤1202与图9所示实施例子中的步骤902相同或类似,本实施例在此不再赘述。
[0308]1203、如果该业务消息是来自故障站点的业务消息,则将该业务消息分配至多个业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理。
[0309]该步骤1203与图9所示实施例子中的步骤903相同或类似,本实施例在此不再赘述。
[0310]但是需要说明的是,在本实施例中,当站点2中的分发单元将该来自故障站点的业务消息分配给容灾站点中的至少一个空闲的业务消息处理单元进行处理之后,相当于该站点2中的多个业务消息处理单元被分成了两个单元组,分别为第一单元组和第二单元组,在本实施例中,第一单元组用于处理容灾站点自身的业务消息,第二单元组用于处理来自故障站点的业务消息。
[0311]1204、检测第一单元组中的业务消息处理单元的平均负载是否超过第一预设阈值。
[0312]在本发明实施例中,站点2优先处理容灾站点的业务消息,在保证容灾站点的业务消息正常处理的前提下,该站点2处理来自故障站点的业务消息。
[0313]具体地,当容灾站点内的分发单元将来自故障站点的业务消息分配给第二单元组中的至少一个空闲的业务消息处理单元进行处理后,该分发单元会每隔预定时间间隔对容灾站点中第一单元组的业务消息处理单元的平均负载进行检测,并判断其是否超过第一预设阈值。如果该第一单元组的业务消息处理单元的平均负载超过第一预设阈值,则执行步骤1205 ;如果该第一单元组的业务消息处理单元的平均负载未超过第一预设阈值,则执行步骤1208。
[0314]其中,该预定时间间隔和该第一预设阈值与图11所示实施例中的预设时间间隔和第一预设阈值相同或类似,本实施例对此不再赘述。
[0315]1205、如果第一单元组的业务消息处理单元的平均负载超过第一预设阈值,则检测第二单元组中的业务消息处理单元的数量是否为O。
[0316]在上述步骤1204中,如果分发单元检测到第一单元组的业务消息处理单元的平均负载超过第一预设阈值,则说明此时该第一单元组的业务消息处理单元的平均负载较高,有可能该第一单元组中部分或全部的业务消息处理单元处于超负载状态。
[0317]为了保证对容灾站点的业务消息的处理,需要增加第一单元组的业务消息处理单元的数量。但对于一个站点来说,在没有从其它站点向该站点调入业务消息处理单元的情况下,该站点中总的业务消息处理单元的数量是固定的,因此,若要增加第一单元组的业务消息处理单元的数量,就需要从第二单元组向第一单元组调入业务消息处理单元。在从第二单元组向第一单元组调入业务消息处理单元之前,需要检测第二单元组的业务消息处理单元的数量是否为O。
[0318]1206、如果第二单元组中的业务消息处理单元的数量不为0,则在第二单元组中选择I个业务消息处理单元,将该业务消息处理单元当前正在处理的业务消息迁移至第二单元组中的其他业务消息处理单元。
[0319]当站点2中的分发单元检测到第二单元组的业务消息处理单元的数量不为O时,该站点2中的分发单元在第二单元组中选择I个业务消息处理单元,并将该业务消息处理单元当前正在处理的业务消息迁移至第二单元组中的其他业务消息处理单元进行处理。
[0320]可选地,分发单元可以从第二单元组中,随机选择I个业务消息处理单元,并将该业务消息处理单元当前正在处理的业务消息迁移至第二单元组中的其他业务消息处理单元进行处理。
[0321]可选地,分发单元还可以根据第二单元组中,各个业务消息处理单元的负载情况,从该第二单元组中选择I个业务消息处理单元,并将该业务消息处理单元当前正在处理的业务消息迁移至第二单元组中的其他业务消息处理单元进行处理,比如,分发单元可以选择第二单元组中负载较低的业务消息处理单元,并将该业务消息处理单元当前正在处理的业务消息迁移至第二单元组中的其他业务消息处理单元进行处理。
[0322]需要说明的是,如果第二单元组中存在处于空闲状态的业务消息处理单元,则分发单元优先选择该处于空闲状态的业务消息处理单元。
[0323]还需要说明的是,如果第二单元组的业务消息处理单元的个数为1,那么,该分发单元可以请求前端网元将该业务消息处理单元当前正在处理的业务消息迁移至其他正常站点进行处理;或,该分发单元还可以请求前端网元将自身的业务消息分配给其他正常的站点进行处理;或,该分发单元还可以请求前端网元从其他正常站点向自身所在的站点调入业务消息处理单元,具体本发明实施例对此不见作限定。
[0324]还需要说明的是,如果第一单元组的业务消息处理单元的平均负载超过第一预设阈值的程度较大,可能需要调入多个业务消息处理单元到第一单元组,此时,分发单元可以根据该平均负载超过第一预设阈值的程度确定选择多个业务消息处理单元。
[0325]其中,该多个业务消息处理单元的数量与第一单元组的业务消息处理单元的平均负载超过第一预设阈值的程度呈正相关关系。即,当该平均负载超过第一预设阈值的程度较大时,分发单元可以将该多个业务消息处理单元的数量确定的较大,当该平均负载超过第一预设阈值的程度较小时,分发单元可以将该多个业务消息处理单元的数量确定的较小。
[0326]其中,该多个业务消息处理单元的数量最大不超过第二单元组中的业务消息处理单元的总数量。在实际应用中,可以预先设置好该多个业务消息处理单元的数量与平均负载超过第一预设阈值的程度的函数关系,根据该函数关系,确定该多个业务消息处理单元的数量。
[0327]1207、将该业务消息处理单元调入第一单元组。
[0328]该步骤1207与图11所示实施例中的步骤1106相同或类似,本实施例在此不再赘述。
[0329]1208、如果第一单元组的业务消息处理单元的平均负载未超过第一预设阈值,则检测第二单元组的业务消息处理单元的平均负载是否超过第二预设阈值。
[0330]在上述步骤1204中,如果分发单元检测到第一单元组的业务消息处理单元的平均负载未超过第一预设阈值,则说明此时该第一单元组的业务消息处理单元的平均负载较低,有可能该第一单元组的部分业务消息处理单元处理空闲状态。此时,分发单元检测第二单元组的业务消息处理单元的平均负载是否超过第二预设阈值,如果该第二单元组的业务消息处理单元的平均负载超过第二预设阈值,则执行步骤1209 ;如果该第二单元组的业务消息处理单元的平均负载未超过第二预设阈值,则执行步骤1212。
[0331]其中,该第二预设阈值与图11所示实施例中的第二预设阈值相同或类似,本实施例对此不再赘述。
[0332]1209、如果第二单元组的业务消息处理单元的平均负载超过第二预设阈值,则在第一单元组中选择I个业务消息处理单元,将该业务消息处理单元当前正在处理的业务消息迁移至第一单元组中的其他业务消息处理单元。
[0333]当站点2中的分发单元检测到第一单元组的业务消息处理单元的平均负载未超过第一预设阈值,且第二单元组的业务消息处理单元的平均负载超过第二预设阈值时,该站点2中的分发单元在第一单元组中选择I个业务消息处理单元,并将该业务消息处理单元当前正在处理的业务消息迁移至第一单元组中的其他业务消息处理单元进行处理。
[0334]可选地,分发单元可以从第一单元组中,随机选择I个业务消息处理单元,并将该业务消息处理单元当前正在处理的业务消息迁移至第一单元组中的其他业务消息处理单元进行处理。
[0335]可选地,分发单元还可以根据第一单元组中,各个业务消息处理单元的负载情况,从该第一单元组中选择I个业务消息处理单元,并将该业务消息处理单元当前正在处理的业务消息迁移至第一单元组中的其他业务消息处理单元进行处理,比如,分发单元可以选择第一单元组中负载较低的业务消息处理单元,并将该业务消息处理单元当前正在处理的业务消息迁移至第一单元组中的其他业务消息处理单元进行处理。
[0336]需要说明的是,如果第一单元组中存在处于空闲状态的业务消息处理单元,则分发单元优先选择该处于空闲状态的业务消息处理单元。
[0337]还需要说明的是,如果第二单元组的业务消息处理单元的平均负载超过第二预设阈值的程度较大,可能需要调入多个业务消息处理单元到第二单元组,此时,分发单元可以根据该平均负载超过第二预设阈值的程度确定选择多个业务消息处理单元。
[0338]其中,该多个业务消息处理单元的数量与第二单元组的业务消息处理单元的平均负载超过第二预设阈值的程度呈正相关关系。即,当该平均负载超过第二预设阈值的程度较大时,分发单元可以将该多个业务消息处理单元的数量确定的较大,当该平均负载超过第二预设阈值的程度较小时,分发单元可以将该多个业务消息处理单元的数量确定的较小。
[0339]在实际应用中,可以预先设置好该多个业务消息处理单元的数量与平均负载超过第二预设阈值的程度的函数关系,根据该函数关系,确定该多个业务消息处理单元的数量。
[0340]1210、将该业务消息处理单元调入第二单元组。
[0341]该步骤1210与图11所示实施例中的步骤1108相同或类似,本实施例在此不再赘述。
[0342]1211、如果第二单元组的业务消息处理单元的平均负载未超过第二预设阈值,则不对第一单元组和第二单元组的业务消息单元的数量进行调整。
[0343]在上述步骤1208中,如果检测到第二单元组的业务消息处理单元的平均负载未超过第二预设阈值,说明此时第一单元组和第二单元组的业务消息处理单元的个数都满足业务消息的处理要求,则分发单元不对该第一单元组和第二单元组的业务消息处理单元的数量进行调整。
[0344]综上所述,本发明实施例提供的业务消息处理方法,通过接收业务消息;根据该业务消息中的标识位所指示的信息,检测该业务消息是否为来自故障站点的业务消息;如果该业务消息是来自故障站点的业务消息,则将该业务消息分配至多个业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理;解决了容灾切换导致的故障扩散的问题;使得即便故障发生扩散,也将扩散范围限制在被隔离的范围内,不会影响到其它范围的效果O
[0345]本发明实施例提供的业务消息处理方法,通过预先为来自故障站点的业务消息语录业务消息处理单元,在接收到来自故障站点的业务消息时,直接将该业务消息分配给预留的处于空闲状态的业务消息处理单元进行处理;保证了对来自故障站点的业务消息的及时处理。
[0346]本发明实施例提供的业务消息处理方法,通过检测业务消息的标识位所携带的标识是否为容灾站点的站点标识,该标识位携带的标识是前端网元在业务消息中添加的标识;或通过检测业务消息的标识位是否携带有第一指定标识,该第一指定标识是前端网元在该业务消息为来自故障站点的业务消息时添加的标识;或通过检测业务消息的标识位是否携带有第二指定标识,该第二指定标识是前端网元在该业务消息不是来自故障站点的业务消息时添加的标识,来检测该业务消息是否是来故障站点的业务消息,丰富了检测故障站点的业务消息的方式。
[0347]本发明实施例提供的业务消息处理方法,通过检测第一单元组的业务消息处理单元的平均负载是否超过第一预设阈值时,当该第一单元组的业务消息处理单元的平均负载超过第一预设阈值时,从第二单元组向第一单元组调入I个业务消息处理单元;保证了对容灾站点的业务消息的优先处理。进一步地,当第一单元组的业务消息处理单元的平均负载未超过第一预设阈值时,检测第二单元组的业务消息处理单元的平均负载是否超过第二预设阈值,当该第二单元组的业务消息处理单元的平均负载超过第二预设阈值时,从第一单元组向第二单元组调入I个业务消息处理单元;保证了对容灾站点的业务消息优先处理的同时,尽可能多的处理来自故障站点的业务消息。
[0348]需要补充说明的是,与图11所示实施例同理,在本实施例中,当站点2中的分发单元在向当前单元组中调入业务消息处理单元之后,会将当前单元组设置为预定时长的禁止调出状态。其中,该禁止调出状态是指禁止从当前单元组调出业务消息处理单元的状态。其具体实现过程与图11所示实施例中的过程相同或类似,本实施例在此不再赘述。
[0349]需要说明的是:上述实施例提供的业务消息处理装置在处理业务消息时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的业务消息处理装置和业务消息处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0350]本发明实施例还提供了一种业务消息处理设备,该设备包括收发器、存储器以及分别与收发器、存储器连接的处理器,其中,存储器中存储一组程序代码,且该处理器用于调用存储器中存储的程序代码,用于执行上述业务消息处理方法。
[0351]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0352]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种容灾站点,其特征在于,包括分发单元和多个相互隔离的业务消息处理单元: 所述分发单元,用于接收业务消息; 所述分发单元,用于检测所述业务消息是否为来自故障站点的业务消息; 所述分发单元,用于如果所述业务消息是来自故障站点的业务消息,则将所述业务消息分配至所述多个业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理。
2.根据权利要求1所述的容灾站点,其特征在于,所述空闲的业务消息处理单元是所述容灾站点预留的用于处理所述故障站点的业务消息的业务消息处理单元。
3.根据权利要求1所述的容灾站点,其特征在于, 所述分发单元,用于选择所述容灾站点中当前负载最低的一个或多个业务消息处理单元; 所述分发单元,用于将所述负载最低的业务消息处理单元处理的属于所述容灾站点的业务消息全部迁移至所述容灾站点内的其它所述业务消息处理单元得到所述空闲的业务消息处理单元。
4.根据权利要求1所述的容灾站点,其特征在于, 所述分发单元,用于分别检测所述容灾站点内的第一单元组的平均负载和第二单元组的平均负载,所述第一单元组包括用于处理所述容灾站点的业务消息的业务消息处理单元,所述第二单元组包括用于处理来自其他故障站点的业务消息的业务消息处理单元; 所述分发单元,用于根据所述第一单元组和所述第二单元组的平均负载动态调整所述第一单元组和所述第二单元组中的业务消息处理单元的数量。
5.根据权利要求4所述的容灾站点,其特征在于, 所述分发单元,用于在检测到所述第一单元组的平均负载超过第一预设阈值,且所述第二单元组的平均负载低于第二预设阈值时,选择所述第二单元组中的I个业务消息处理单元; 所述分发单元,用于将所述业务消息处理单元中处理的来自其他故障站点的全部业务消息迁移至所述第二单元组中的其它业务消息处理单元; 所述分发单元,用于将所述业务消息处理单元调入至所述第一单元组。
6.根据权利要求4所述的容灾站点,其特征在于, 所述分发单元,用于在检测到所述第一单元组的平均负载低于第一预设阈值,且所述第二单元组的平均负载超过第二预设阈值时,选择所述第一单元组中的I个业务消息处理单元; 所述分发单元,用于将所述业务消息处理单元中处理的属于所述容灾站点的全部业务消息迁移至所述第一单元组中的其它业务消息处理单元; 所述分发单元,用于将所述业务消息处理单元调入至所述第二单元组。
7.根据权利要求5或6所述的容灾站点,其特征在于, 所述分发单元,用于在向当前单元组调入所述业务消息处理单元之后,将所述当前单元组设置为预定时长的禁止调出状态,所述禁止调出状态是指禁止从所述当前单元组调出所述业务消息处理单元的状态。
8.根据权利要求1至6任一所述的容灾站点,其特征在于, 所述分发单元,用于根据所述业务消息中的标识位所指示的信息,检测所述业务消息是否为来自故障站点的业务消息。
9.根据权利要求8所述的容灾站点,其特征在于, 所述分发单元,用于检测所述业务消息中的标识位携带的标识是否为容灾站点的站点标识,所述标识位携带的标识是所述前端网元在所述业务消息中添加的标识;如果所述标识不是所述容灾站点的站点标识,则所述业务消息是来自故障站点的业务消息; 或, 所述分发单元,用于检测所述业务消息中的标识位是否携带有第一指定标识,所述第一指定标识是所述前端网元在所述业务消息为来自所述故障站点的业务消息时添加的标识;如果所述标识位中携带有第一指定标识,则所述业务消息是来自故障站点的业务消息; 或, 所述分发单元,用于检测所述业务消息中的标识位是否携带有第二指定标识,所述第二指定标识是所述前端网元在所述业务消息不是来自故障站点的业务消息时添加的标识;如果所述标识位中未携带有第二指定标识,则所述业务消息是来自故障站点的业务消息。
10.一种业务消息处理装置,其特征在于,用于容灾站点中,所述容灾站点包括多个相互隔离的业务消息处理单元,所述装置包括: 业务消息接收模块,用于接收业务消息; 业务消息检测模块,用于检测所述业务消息是否为来自故障站点的业务消息; 业务消息处理模块,用于在所述业务消息是来自故障站点的业务消息时,将所述业务消息分配至所述多个业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理。
11.根据权利要求10所述的装置,其特征在于,所述空闲的业务消息处理单元是所述容灾站点预留的用于处理所述故障站点的业务消息的业务消息处理单元。
12.根据权利要求10所述的装置,其特征在于,所述装置,还包括: 处理单元选择模块,用于选择所述容灾站点中当前负载最低的一个或多个业务消息处理单元; 空闲处理单元得到模块,用于将所述负载最低的业务消息处理单元处理的属于所述容灾站点的业务消息全部迁移至所述容灾站点内的其它所述业务消息处理单元得到所述空闲的业务消息处理单元。
13.根据权利要求10所述的装置,其特征在于,所述装置,还包括: 平均负载检测模块,用于分别检测所述容灾站点内的第一单元组的平均负载和第二单元组的平均负载,所述第一单元组包括用于处理所述容灾站点的业务消息的业务消息处理单元,所述第二单元组包括用于处理来自其他故障站点的业务消息的业务消息处理单元; 动态调整模块,用于根据所述第一单元组和所述第二单元组的平均负载动态调整所述第一单元组和所述第二单元组中的业务消息处理单元的数量。
14.根据权利要求13所述的装置,其特征在于,所述动态调整模块,包括: 处理单元选择单元,用于在检测到所述第一单元组的平均负载超过第一预设阈值,且所述第二单元组的平均负载低于第二预设阈值时,选择所述第二单元组中的I个业务消息处理单元; 业务消息迁移单元,用于将所述业务消息处理单元中处理的来自其他故障站点的全部业务消息迁移至所述第二单元组中的其它业务消息处理单元; 处理单元调入单元,用于将所述业务消息处理单元调入至所述第一单元组。
15.根据权利要求13所述的装置,其特征在于,所述动态调整模块,包括: 所述处理单元选择单元,用于在检测到所述第一单元组的平均负载低于第一预设阈值,且所述第二单元组的平均负载超过第二预设阈值时,选择所述第一单元组中的I个业务消息处理单元; 所述业务消息迁移单元,用于将所述业务消息处理单元中处理的属于所述容灾站点的全部业务消息迁移至所述第一单元组中的其它业务消息处理单元; 所述处理单元调入单元,用于将所述业务消息处理单元调入至所述第二单元组。
16.根据权利要求14或15所述的装置,其特征在于,所述装置,还包括: 禁止状态设置模块,用于在向当前单元组调入所述业务消息处理单元之后,将所述当前单元组设置为预定时长的禁止调出状态,所述禁止调出状态是指禁止从所述当前单元组调出所述业务消息处理单元的状态。
17.根据权利要求10至15任一所述的装置,其特征在于, 所述业务消息检测模块,用于根据所述业务消息中的标识位所指示的信息,检测所述业务消息是否为来自故障站点的业务消息。
18.根据权利要求17所述的装置,其特征在于,所述业务消息检测模块,包括: 站点标识检测单元,用于检测所述业务消息中的标识位携带的标识是否为容灾站点的站点标识,所述标识位携带的标识是所述前端网元在所述业务消息中添加的标识;如果所述标识不是所述容灾站点的站点标识,则所述业务消息是来自故障站点的业务消息; 或, 第一指定标识检测单元,用于检测所述业务消息中的标识位是否携带有第一指定标识,所述第一指定标识是所述前端网元在所述业务消息为来自所述故障站点的业务消息时添加的标识;如果所述标识位中携带有第一指定标识,则所述业务消息是来自故障站点的业务消息; 或, 第二指定标识检测单元,用于检测所述业务消息中的标识位是否携带有第二指定标识,所述第二指定标识是所述前端网元在所述业务消息不是来自故障站点的业务消息时添加的标识;如果所述标识位中未携带有第二指定标识,则所述业务消息是来自故障站点的业务消息。
19.一种业务消息处理方法,其特征在于,用于容灾站点中,所述容灾站点包括多个相互隔离的业务消息处理单元,所述方法包括: 接收业务消息; 检测所述业务消息是否为来自故障站点的业务消息; 如果所述业务消息是来自故障站点的业务消息,则将所述业务消息分配至所述多个业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理。
20.根据权利要求19所述的方法,其特征在于,所述空闲的业务消息处理单元是所述容灾站点预留的用于处理所述故障站点的业务消息的业务消息处理单元。
21.根据权利要求19所述的方法,其特征在于,所述将所述业务消息分配至所述多个业务消息处理单元中的至少一个空闲的业务消息处理单元进行处理之前,还包括: 选择所述容灾站点中当前负载最低的一个或多个业务消息处理单元; 将所述负载最低的业务消息处理单元处理的属于所述容灾站点的业务消息全部迁移至所述容灾站点内的其它所述业务消息处理单元得到所述空闲的业务消息处理单元。
22.根据权利要求19所述的方法,其特征在于,所述方法,还包括: 分别检测所述容灾站点内的第一单元组的平均负载和第二单元组的平均负载,所述第一单元组包括用于处理所述容灾站点的业务消息的业务消息处理单元,所述第二单元组包括用于处理来自其他故障站点的业务消息的业务消息处理单元; 根据所述第一单元组和所述第二单元组的平均负载动态调整所述第一单元组和所述第二单元组中的业务消息处理单元的数量。
23.根据权利要求22所述的方法,其特征在于,所述根据所述第一单元组和所述第二单元组的平均负载动态调整所述第一单元组和所述第二单元组中的业务消息处理单元的数量,包括: 如果检测到所述第一单元组的平均负载超过第一预设阈值,且所述第二单元组的平均负载低于第二预设阈值,则选择所述第二单元组中的I个业务消息处理单元; 将所述业务消息处理单元中处理的来自其他故障站点的全部业务消息迁移至所述第二单元组中的其它业务消息处理单元; 将所述业务消息处理单元调入至所述第一单元组。
24.根据权利要求22所述的方法,其特征在于,所述根据所述第一单元组和所述第二单元组的平均负载动态调整所述第一单元组和所述第二单元组中的业务消息处理单元的数量,包括: 如果检测到所述第一单元组的平均负载低于第一预设阈值,且所述第二单元组的平均负载超过第二预设阈值,则选择所述第一单元组中的I个业务消息处理单元; 将所述业务消息处理单元中处理的属于所述容灾站点的全部业务消息迁移至所述第一单元组中的其它业务消息处理单元; 将所述业务消息处理单元调入至所述第二单元组。
25.根据权利要求23或24所述的方法,其特征在于,所述方法,还包括: 在向当前单元组调入所述业务消息处理单元之后,将所述当前单元组设置为预定时长的禁止调出状态,所述禁止调出状态是指禁止从所述当前单元组调出所述业务消息处理单元的状态。
26.根据权利要求19至24任一所述的方法,其特征在于,所述检测所述业务消息是否为来自故障站点的业务消息,包括: 根据所述业务消息中的标识位所指示的信息,检测所述业务消息是否为来自故障站点的业务消息。
27.根据权利要求26所述的方法,其特征在于,所述根据所述业务消息中的标识位所指示的信息,检测所述业务消息是否为来自故障站点的业务消息,包括: 检测所述业务消息中的标识位携带的标识是否为容灾站点的站点标识,所述标识位携带的标识是所述前端网元在所述业务消息中添加的标识;如果所述标识不是所述容灾站点的站点标识,则所述业务消息是来自故障站点的业务消息; 或, 检测所述业务消息中的标识位是否携带有第一指定标识,所述第一指定标识是所述前端网元在所述业务消息为来自所述故障站点的业务消息时添加的标识;如果所述标识位中携带有第一指定标识,则所述业务消息是来自故障站点的业务消息; 或, 检测所述业务消息中的标识位是否携带有第二指定标识,所述第二指定标识是所述前端网元在所述业务消息不是来自故障站点的业务消息时添加的标识;如果所述标识位中未携带有第二指定标识,则所述业务消息是来自故障站点的业务消息。
【文档编号】H04L29/06GK104184611SQ201410355319
【公开日】2014年12月3日 申请日期:2014年7月24日 优先权日:2014年7月24日
【发明者】张文革, 徐日东, 孟小珍 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1