专利名称:告警原因识别方法及系统的制作方法
技术领域:
本发明涉及一种告警原因识别方法及系统,尤其是涉及一种基于并行无锁技术的海量告警根本原因识别方法及系统。背景技木
网络告警分析是网络维护中必备的手段,一般可以通过多个告警进行根本原因分析从而得知网络故障的根本原因,但在网络规模较大的环境中,多种、大量的网络设备的告警信息不仅繁杂且数量庞大,尤其在突发网络故障时,告警峰值能达到一万毎秒的上报速度,在海量的告警突发条件下,传统的解决方案通过接收告警后,锁定告警对象资源并进行根本原因分析的方法已经无法适应海量告警分析的需求,其无法做到分析如此海量的告警信息,因为处理机制的限制,则会发生所谓“丢告警”的现象。此时被丢弃的告警也许正是比较关键的告警,从而造成维护人员很难快速从告警信息中发现网络问题。
发明内容
为了解决上述问题,本发明的目的是提供一种告警原因识别方法。解决了当前巨量告警突发的情况下,无法快速分析告警根本原因的问题,能够有效解決“丢告警”现象。帮助维护人员快速发现网络故障的根本原因。本发明的另ー目的是提供一种告警原因识别系统。其中,本发明ー实施方式的告警原因识别方法包括以下步骤
51、并发向一个告警数据队列写入告警数据包;
52、系统根据需要产生至少ー个告警分析处理单元;
53、各个告警分析处理单元并发从告警数据队列中读取告警信息;
54、告警分析处理单元进行告警信息处理,井分析出告警原因。作为本发明的进ー步改进,所述SI步骤包括
511、生成两个连续的内存队列,一是告警索引信息队列,用于保存告警索引信息;ー是告警数据信息队列,用于保存告警数据信息;
513、将告警数据写入准备好的内存中区;
514、原子递增告警索引信息队列的WTAIL,分配出ー个索引空间;
515、与入索引;
516、将RTAIL 递增。作为本发明的进ー步改进,所述S13步骤之前,还包括
512、增加告警数据信息队列的尾指针,空出足够的空间。作为本发明的进ー步改进,所述S16步骤采用CMS原语进行最小级别的同歩。作为本发明的进ー步改进,所述读取告警信息为从队列头到RTAIL处读取告警信
o相应地,本发明ー实施方式的告警原因识别系统包括
写入単元,用于并发向一个告警数据队列写入告警数据包;
生成単元,用于系统根据需要产生至少ー个告警分析处理单元;读取单元,用于各个告警分析处理单元并发从告警数据队列中读取告警信息;
分析単元,用于告警分析处理单元进行告警信息处理,井分析出告警原因。作为本发明的进ー步改进,所述写入単元具体用于
生成两个连续的内存队列,一是告警索引信息队列,用于保存告警索引信息;一是告警数据信息队列,用于保存告警数据信息;
将告警数据写入准备好的内存中区;
原子递增告警索引信息队列的WTAIL,分配出ー个索引空间;
与入索引;
将RTAIL递增。 作为本发明的进ー步改进,所述写入単元还用于
增加告警数据信息队列的尾指针,空出足够的空间。作为本发明的进ー步改进,所述写入单元还用于采用CMS原语进行最小级别的同
止/J/ o作为本发明的进ー步改进,所述读取告警信息为从队列头到RTAIL处读取告警信
o相比于现有技术,本发明基于并行无锁技术,能快速处理海量告警突发的情况,防止告警因突发而导致被错误丢弃,让运維人员能够快速发现网络故障的根本原因。
图I是本发明一实施例的告警原因识别方法的流程 图2是本发明一实施例的告警原因识别系统的模块图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。如图I所示,在本发明ー实施方式中告警原因识别方法,包括以下步骤
SI、告警突发时,会产生大量告警数据写入操作,此时并发向ー个告警数据队列写入告警数据包。其中,所述并发向一个告警数据队列写入告警数据包具体包括
511、生成两个连续的内存队列,一是告警索引信息队列,用于保存告警索引信息,命名为index_q,一是告警数据信息队列,用于保存告警数据信息,命名为data_q,值得ー提的是告警索引信息队列有两个尾指针(WTAIL,RTAIL),以保证安全写入;
512、增加告警数据信息队列的尾指针,空出足够的空间;
513、将告警数据写入准备好的内存中区;注意,在读队列中的告警数据时,依据的是告警索引信息队列的指针位置,而不是告警数据信息队列。这样,不会读到没有准备好的数据。S14、原子递增告警索引信息队列的WTAIL,分配出ー个索引空间;
515、与入索引;
516、将RTAIL递增。值得ー提的是,所述递增不能简单的加一。而是要在WTAIL的原有值的基础上加一。这是因为,要避免执行S15步骤时同时读队列。而且必须保证S15、S16并发时,较小的INDEX值先被加一推进RTAIL。另外注意,本步骤中采用CMS原语进行最小级别的同歩。避免上锁。
S2、系统根据需要产生N (N>=1)个告警分析处理单元;
S3、各个告警分析处理单元并发从告警数据队列中读取告警信息;需要注意的是读取比较简单,每个读取维护自己的队列头指针,所以不需要原子操作,但要注意每次读取吋,应该从队列头读到RTAIL处读取告警信息。S4、告警分析处理单元进行告警信息处理,井分析出告警根本原因。如图2所示,在本发明ー实施方式中告警原因识别系统,包括
写入単元,用于告警突发时,会产生大量告警数据写入操作,此时并发向ー个告警数据队列写入告警数据包。其中,所述写入単元具体用干
生成两个连续的内存队列,一是告警索引信息队列,用于保存告警索引信息,命名为index_q,一是告警数据信息队列,用于保存告警数据信息,命名为data_q,值得一提的是告警索引信息队列有两个尾指针(WTAIL,RTAIL),以保证安全写入;
增加告警数据信息队列的尾指针,空出足够的空间;
将告警数据写入准备好的内存中区;注意,在读队列中的告警数据时,依据的是告警索引信息队列的指针位置,而不是告警数据信息队列。这样,不会读到没有准备好的数据。原子递增告警索引信息队列的WTAIL,分配出ー个索引空间;
与入索引;
将RTAIL递增。值得ー提的是,所述递增不能简单的加一。而是要在WTAIL的原有值的基础上加一。这是因为,要避免执行S15步骤时同时读队列。而且必须保证S15、S16并发时,较小的INDEX值先被加一推进RTAIL。另外注意,本步骤中采用CMS原语进行最小级别的同歩。避免上锁。生成単元,用于系统根据需要产生N (N>=1)个告警分析处理单元;
读取单元,用于各个告警分析处理单元并发从告警数据队列中读取告警信息;需要注意的是读取比较简单,每个读取维护自己的队列头指针,所以不需要原子操作,但要注意每次读取时,应该从队列头读到RTAIL处。分析単元,用于告警分析处理单元进行告警信息处理,井分析出告警根本原因。综上所述,本发明基于并行无锁技术,能快速处理海量告警突发的情况,防止告警因突发而导致被错误丢弃,让运維人员能够快速发现网络故障的根本原因。应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为ー个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
权利要求
1.一种告警原因识别方法,其特征在于,所述方法包括 51、并发向一个告警数据队列写入告警数据包; 52、系统根据需要产生至少ー个告警分析处理单元; 53、各个告警分析处理单元并发从告警数据队列中读取告警信息; 54、告警分析处理单元进行告警信息处理,井分析出告警原因。
2.根据权利要求I所述的告警原因识别方法,其特征在于,所述SI步骤包括 511、生成两个连续的内存队列,一是告警索引信息队列,用于保存告警索引信息;ー是告警数据信息队列,用于保存告警数据信息; 513、将告警数据写入准备好的内存中区; 514、原子递增告警索引信息队列的WTAIL,分配出ー个索引空间; 515、与入索引; 516、将RTAIL 递增。
3.根据权利要求2所述的告警原因识别方法,其特征在干,所述S13步骤之前,还包括 512、增加告警数据信息队列的尾指针,空出足够的空间。
4.根据权利要求I所述的告警原因识别方法,其特征在于,所述S16步骤采用CMS原语进行最小级别的同歩。
5.根据权利要求I所述的告警原因识别方法,其特征在于,所述读取告警信息为从队列头到RTAIL处读取告警信息。
6.一种告警原因识别系统,其特征在于,所述系统包括 写入単元,用于并发向一个告警数据队列写入告警数据包; 生成単元,用于系统根据需要产生至少ー个告警分析处理单元; 读取单元,用于各个告警分析处理单元并发从告警数据队列中读取告警信息; 分析単元,用于告警分析处理单元进行告警信息处理,井分析出告警原因。
7.根据权利要求6所述的告警原因识别系统,其特征在于,所述写入単元具体用于 生成两个连续的内存队列,一是告警索引信息队列,用于保存告警索引信息;一是告警数据信息队列,用于保存告警数据信息; 将告警数据写入准备好的内存中区; 原子递增告警索引信息队列的WTAIL,分配出ー个索引空间; 与入索引; 将RTAIL递增。
8.根据权利要求7所述的告警原因识别系统,其特征在于,所述写入単元还用于 增加告警数据信息队列的尾指针,空出足够的空间。
9.根据权利要求6所述的告警原因识别系统,其特征在于,所述写入单元还用于采用CMS原语进行最小级别的同歩。
10.根据权利要求6所述的告警原因识别系统,其特征在于,所述读取告警信息为从队列头到RTAIL处读取告警信息。
全文摘要
本发明提供了一种告警原因识别方法及系统,其中,所述方法包括S1、并发向一个告警数据队列写入告警数据包;S2、系统根据需要产生至少一个告警分析处理单元;S3、各个告警分析处理单元并发从告警数据队列中读取告警信息;S4、告警分析处理单元进行告警信息处理,并分析出告警原因。相比于现有技术,本发明基于并行无锁技术,能快速处理海量告警突发的情况,防止告警因突发而导致被错误丢弃,让运维人员能够快速发现网络故障的根本原因。
文档编号H04L12/24GK102833097SQ20121028820
公开日2012年12月19日 申请日期2012年8月15日 优先权日2012年8月15日
发明者蔡远, 连琨 申请人:苏州迈科网络安全技术股份有限公司