适用于大容量分组传送系统的自适应消息处理系统
技术领域
本发明涉及计算机及通信领域,具体属于一种适用于大容量分组传送系统的自适应消息处理系统。
背景技术
在大容量分组传送系统中,都会存在管理大量通信设备,每个通信设备都存在复杂的模块,其组成的传输网络也会非常巨大及复杂,在极端情况下其会产生大规模的消息。这种场景的特点是消息数量大,来自大量网元设备及通信系统的消息并发程度大,不同消息在不同时间段内的分布不均匀。这种情况下要求系统能够应对上述场景提供一个稳定的通道,从而保证消息传输的实时性、准确性和消息不丢失的可靠性。
大容量分组传送系统是一个由多个分组传输网元及系统构成的网络传输系统。在极端情况下,如大规模网络升级,传输系统改造扩容等,会在一个极短的时间段内产生数量和规模巨大的消息风暴,那么将对上层系统带来如下问题。第一,如何设计一个稳定的消息通道来保证极短时间内发生的大量消息。第二,平时不发生极端情况下消息通道不占用过多资源。综上所述,需要设计一个适用于大容量分组传送系统的自适应消息处理机制。
与本发明相关的现有技术的第一种方法所采用的实现方式是设计一个可人工配置的操作接口,当发生极端情况的时候,通知操作人员,由操作人员手工修改参数调整消息通道,应对突发事件。
如果采用上述第一种处理方式就会存在以下问题。首先,需要过多人工干预,需要人员一直值守,对于系统维护要求较高。其次,需要人工自己判断,需要值守人员有较丰富的经验。最后,由于人工调整需要先人工分析,再输入参数,最后调整,也许在极端情况下还没有调整完成,消息通道就已经崩溃,造成潜在风险。
与本发明相关的现有技术第二种方法是,事先由人工设置一族配置参数,根据系统预设的条件,在不同条件发生的情况下应用不同的配置参数。
如果采用上述第二种处理方式就会存在以下问题。首先,设置一族配置参数,参数应该如何确定需要事先对网络规模做估计,估计的准确度很难保证。其次,若存在极端情况,没有与预先设置的条件相匹配,则无法设置合理的参数。最后,如果网络结构发生变化,没有预案与之对应,则无法满足条件。
发明内容
本发明要解决的技术问题是:提供一种适用于大容量分组传送系统的自适应消息处理系统,解决了现有技术无法合理的调整消息通道的容量的问题。
本发明为解决上述技术问题所采取的技术方案为:一种适用于大容量分组传送系统的自适应消息处理系统,其特征在于:它包括
消息通道管理模块,用于管理消息通道,包括消息映射管理器、映射调整器和收发代理器;消息映射管理器用于建立消息与消息通道之间的对应关系,一个消息通道可以传输多个不同的消息,一种消息只能被一个消息通道传输;映射调整器用于当消息通道分类方案发生变化时调整映射关系;收发代理器用于消息接收方和消息发送方的代理通信;消息通道管理器用于创建、销毁消息通道,供映射调整器调用;
消息通道统计模块,用于统计消息流量状况,生成统计模型,包括消息收集模块、统计建模模块和建模比较基准模块;其中信息收集模块用于收集不同种类的消息在一段连续周期内的流量情况;统计建模模块用于按照设置的时间窗口,统计一个时间段内每个时间窗口内的每个消息的流量统计值;建模比较基准模块用于定期生成一个比较基准和上一次的比较基准比较,如果差异大过阈值,则更新比较基准;
消息通道自适应模块,用于根据统计模型生成优化的通道方案,并针对特殊情况调整优化方案以及动态调整通道容量,包括通道分类器、通道容量调整器和自适应学习器;其中通道分类器用于根据统计模型,将消息通过优化算法调整到对应的消息通道,进行分类优化,并通知映射调整器进行调整;通道容量调整器用于在发生反常特殊情况时,上调消息通道的容量,在正常状态下恢复消息通道到常规容量;自适应学习器用于在比较基准发生变化时通过通道分类器进行自适应调整。
按上述方案,所述的通道分类器中的优化算法具体为:
1)将所有候选消息按优先级分类:
按照消息优先级对所有候选消息进行分类,将优先级相同的消息划为一类,一个消息只有一个优先级;
2)选择消息:
从优先级最高的分类里随机选择一种消息;
3)统计时间向量:
根据消息的统计模型,根据时间次序建立一个以时间为维度的向量,向量的值表示这个时段内该消息的流量;
4)向量对比:
将这个向量与所有比当前优先级低一级的消息的向量一一对比,选取与这个向量欧氏距离最远的比当前优先级低一级的消息;
5)向量合并:
将步骤4)得到的2个向量合并,即将它们放入一个通道内,合并后的新向量的值也就是这个通道目前各个时段的流量;
6)返回步骤4)继续选择优先级再低一级的消息的向量,直到所有优先级都选择合并一遍,最终的通道作为消息通道,最终的消息通道对应的向量值即为该消息通道在各个时段的流量;
7)将已经选定消息通道的消息从候选消息集合中删除,返回步骤2),直到候选消息集合为空;
8)容量检查与排序:
若消息通道分类里存在通道容量小于预设值,则按通道容量进行由小到大的排序,将通道容量最小的两个消息通道合并,直至消息通道分类里的通道容量均大于或等于预设值;所述的通道容量为最大的时间窗口。
按上述方案,所述的通道容量调整器包括:
状态监控模块,用于监控消息通道中的消息,当消息出现了传输延时,则判断出现了反常特殊情况,若无延时则为正常状态;
容量增长模块,用于在出现反常特殊情况时,根据预设的增长比率进行增长,若达到增长上限则停止增长;
容量恢复模块,用于当恢复正常状态时,按照预设的增长比率进行递减操作逐步恢复。
本发明的有益效果为:通过本发明系统,可以在复杂的大容量分组传送系统中,由系统自己挖掘消息的统计规律,并根据系统自身情况优化消息通道,组合并分配不同的消息在不同的消息通道内有效利用消息通道在各个时间段内的容量,并针对特殊情况,有系统自身对紧急情况下消息通道容量不够的情况下,进行紧急处理,保证系统的可用性,解决了现有技术无法合理的调整消息通道的容量的问题。
附图说明
图1为本发明一实施例的模块关系图。
图2为通道分类算法流程图。
图3为通道容量调整算法流程图。
具体实施方式
下面结合具体实例和附图对本发明做进一步说明。
本发明的设计思路为:系统中存在不同种类的消息,每一种消息在系统的优先级是不同,原则上优先级高的消息能够优先使用通道进行传输。系统消息流量一般存在一定的统计规律,往往一种消息在不同时段的流量满足一定的统计规律。因此,可以在一个消息通道里应该允许几种消息,这几种消息若正好是在不同时段流量较大,这样可以有效利用消息通道的容量。其中,统计规律是取平均值且是对历史状况的统计,那么不排除特殊情况的发生,此时系统也必须提供一种应急措施,可以动态调整通道,处理突发事件。由此可知,设计系统的关键是两点,第一,通过统计模型由系统自主找到一个消息通道的优化方案;第二,针对突发事件系统能够有预案动态调整通道,当事件结束后能够恢复到常态。
本发明提供一种适用于大容量分组传送系统的自适应消息处理系统,如图1所示,它包括消息通道管理模块,用于管理消息通道,包括消息映射管理器、映射调整器和收发代理器;消息映射管理器用于建立消息与消息通道之间的对应关系,一个消息通道可以传输多个不同的消息,一种消息只能被一个消息通道传输;映射调整器用于当消息通道分类方案发生变化时调整映射关系;收发代理器用于消息接收方和消息发送方的代理通信;消息通道管理器用于创建、销毁消息通道,供映射调整器调用。消息接收方和消息发送方都是与一个代理通信,而代理根据消息映射关系,自动分配给消息通道传输,对于收发方是透明的。因为,消息和通道的对应关系会随着网络结构的变化而又系统自己调整,所以必须提供代理方式对使用者保持透明。
消息通道统计模块,用于统计消息流量状况,生成统计模型,包括消息收集模块、统计建模模块和建模比较基准模块;其中信息收集模块用于收集不同种类的消息在一段连续周期内的流量情况;统计建模模块用于按照设置的时间窗口,统计一个时间段(如:天,小时等)内每个时间窗口内的每个消息的流量统计值;建模比较基准模块用于定期生成一个比较基准和上一次的比较基准比较,如果差异大过阈值,则更新比较基准;其中,差异过大说明网络结构发生调整,因此更新比较基准以适应新的变化。
消息通道自适应模块,用于根据统计模型生成优化的通道方案,并针对特殊情况调整优化方案以及动态调整通道容量,包括通道分类器、通道容量调整器和自适应学习器;其中通道分类器用于根据统计模型,将消息通过优化算法调整到对应的消息通道,进行分类优化,并通知映射调整器进行调整;通道容量调整器用于在发生反常特殊情况时,上调消息通道的容量,在正常状态下恢复消息通道到常规容量;自适应学习器用于在比较基准发生变化时通过通道分类器进行自适应调整。
统计模型在统计建模模块中生成,其形态为按照时间窗口将流量的统计值,转化成离散的统计值,如下例:
首先,收集信息
时间流量
2015-11-1110:303422135323
2015-11-1110:313422135322
……
然后,按一个时间段统计得到统计模型,假设按24小时的时段划分
时间段平均流量
13422135323
23428135323
36422135323
……
241422135323
此时如果按时间段排序,就会得到一个向量。
本发明的核心之一是将消息划分到不同的通道内,让通道容量在各个时间段都最大限度利用。因此,要设计一种算法能够根据统计模型,找到一种通道的优化方案。优选的,所述的通道分类器中的优化算法如图2所示,具体为:
1)将所有候选消息按优先级分类:
按照消息优先级对所有候选消息进行分类,将优先级相同的消息划为一类,一个消息只有一个优先级,因此分类中不存在一个消息在多个分类。一开始时,将系统中所有消息都作为候选消息,以后将新到的消息才作为候选消息。
2)选择消息:
从优先级最高的分类里随机选择一种消息;由于是随机选择,因此算法并非每次执行结果都相同,因为系统只要求找到一种优化方案,而非最优方案,因此无需执行所有的搜索分支。
3)统计时间向量:
根据消息的统计模型,根据时间次序建立一个以时间为维度的向量,向量的值表示这个时段内该消息的流量;由于,统计模型中是按时间窗口划分时间段,每个时间段都按发生时间存在先后次序,因此可以按时间维度形成一组向量,向量的值表示这个时段内该消息的流量。
4)向量对比:
将这个向量与所有比当前优先级低一级的消息的向量一一对比,选取与这个向量欧氏距离最远的比当前优先级低一级的消息;两个向量差异大,就说明他们在相同时段流量差异大,也就是说存在错峰的可行性大。
5)向量合并:
将步骤4)得到的2个向量合并,即将它们放入一个通道内,合并后的新向量的值也就是这个通道目前各个时段的流量;
6)返回步骤4)继续选择优先级再低一级的消息的向量,直到所有优先级都选择合并一遍,最终的通道作为消息通道,最终的消息通道对应的向量值即为该消息通道在各个时段的流量;这样形成的通道,避免了因为优先级不同而导致一些优先级低的消息容易出现较大延时,又尽可能利用了通道的容量。
7)将已经选定消息通道的消息从候选消息集合中删除,返回步骤2),直到候选消息集合为空;
8)容量检查与排序:
若消息通道分类里存在通道容量小于预设值,则按通道容量进行由小到大的排序,将通道容量最小的两个消息通道合并,直至消息通道分类里的通道容量均大于或等于预设值;所述的通道容量为最大的时间窗口。
上述通道分类算法,由于在起点的选择上存在随机性,因此每次运行结果并非唯一。且通道合并过程也存在多种选择,因此本算法找到的未必是最优解,但是一个优化解。目的是,提供一个快速分析的可行方案,以接近最优解,由于存在随机性也就是说在一定概率条件下找到的就是最优解。
本发明的核心之一是针对突发事件系统能够有预案动态调整通道,当事件结束后能够恢复到常态。进一步优选的,所述的通道容量调整器如图3所示,包括:
状态监控模块,用于监控消息通道中的消息,当消息出现了传输延时,则说明通道所需容量超过了预设容量,判断出现了反常特殊情况,若无延时则为正常状态;
容量增长模块,用于在出现反常特殊情况时,根据预设的增长比率进行增长,若达到增长上限则停止增长;
容量恢复模块,用于当恢复正常状态时,按照预设的增长比率进行递减操作逐步恢复。
由于突发事件周期不是特别长,因此紧急预案销毁的系统资源是有些时间的资源。若出现较长的突发事件,说明网络结构发生变化,此时统计比较基也发生了变化,那么通道分类算法也将重新执行,那么通道的预设容量也就变化。那么短期和长期的优化结合起来的自适应消息处理机制,将可以适用于大容量分组传送系统。
以上实施例仅用于说明本发明的设计思想和特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,本发明的保护范围不限于上述实施例。所以,凡依据本发明所揭示的原理、设计思路所作的等同变化或修饰,均在本发明的保护范围之内。