CN101187885A - 告警处理方法和装置 - Google Patents
告警处理方法和装置 Download PDFInfo
- Publication number
- CN101187885A CN101187885A CNA2007101631379A CN200710163137A CN101187885A CN 101187885 A CN101187885 A CN 101187885A CN A2007101631379 A CNA2007101631379 A CN A2007101631379A CN 200710163137 A CN200710163137 A CN 200710163137A CN 101187885 A CN101187885 A CN 101187885A
- Authority
- CN
- China
- Prior art keywords
- alarm
- bit
- history
- state
- alarming
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Maintenance And Management Of Digital Transmission (AREA)
Abstract
本发明提供了一种告警处理方法和装置,其中,该方法包括:一次性存储一个或多个告警的历史告警状态,其中,每个告警状态对应于一个比特;在检测告警变化时,按照存储历史告警状态的顺序一次性存储一个或多个告警的当前告警状态;以及对历史告警状态和当前告警状态进行逻辑运算,以确定发生变化的告警。因此,采用本发明的方法和装置极大地提高了多告警情况下的告警处理速度,同时也大大降低了内存的使用数量。
Description
技术领域
本发明涉及告警处理系统,更具体地,涉及一种告警处理方法和装置。
背景技术
在嵌入式技术高速发展的今天,软件与硬件的结合程度愈趋紧密。在嵌入式设备的应用过程中,很多设备都会要求软件将硬件的状态变化(告警)及时上报用户,以方便用户采取处理措施。随着芯片技术的快速发展,目前有部分芯片已实现了自动检测告警跳变的功能,但由于芯片功能的复杂性会直接影响芯片的价格,因此会提高设备的制造成本,同时,芯片复杂度的提高也会大大增加芯片存在设计缺陷的几率。基于以上的原因,目前大部分电子设备的告警处理仍由软件来实现,这样做不但可以降低成本,同时也提高了设计的灵活性。
对于嵌入式系统来说,CPU资源和存储资源都十分有限,而用户对设备响应速度的要求却比其他设备高出许多。因此,如何在占用更低的CPU和内存资源的前提下,实现告警的快速处理,成为很多嵌入式软件设计的一个关键点。
表1是一个8位寄存器内告警的分布情况。
表1
比特1 | 第1个告警状态 |
比特2 | 第2个告警状态 |
比特3 | 第3个告警状态 |
比特4 | 第4个告警状态 |
比特5 | 第5个告警状态 |
比特6 | 第6个告警状态 |
比特7 | 第7个告警状态 |
比特8 | 第8个告警状态 |
注:1表示有告警,0表示无告警 |
以下将举例说明常规方法的告警处理流程:假设有一个芯片,它的告警状态通过一个如表1所示的寄存器来表示,其共有8个比特,每个比特用0表示无告警,用1表示有告警,对于这种存储方式的告警,一般的检测告警跳变的处理方式如下:
将每个比特(BIT)对应的告警状态存储下来,如果1个告警占用1个BYTE的存储空间,则总共占用8个字节的存储空间;
告警状态发生变化后,将最新的告警状态存储到另外8个字节中去;以及
逐个比较这8个字节的当前告警状态与历史告警状态,保存到另外一个字节中,如果状态不一致,说明告警发生了跳变,需要上报。
由此可见,以上的告警处理方式,如果处理完8个告警,找到告警状态发生变化的告警,软件至少需要判断8次,占用至少24个字节的存储空间。对于资源有限的嵌入式系统来说,以上的告警处理效率并不高,存储空间也没有很好地被利用。
发明内容
为了解决现有技术中的告警处理方式效率低,存储空间利用率低的问题,本发明提出了一种告警处理方法,该方法包括以下步骤:一次性存储一个或多个告警的历史告警状态,其中,每个告警状态对应于一个比特;在检测告警变化时,按照存储历史告警状态的顺序一次性存储一个或多个告警的当前告警状态;以及对历史告警状态和当前告警状态进行逻辑运算,以确定发生变化的告警。
其中,根据本发明的告警处理方法,还包括以下步骤:上报发生变化的告警的当前告警状态。
此外,逻辑运算包括:将对应于一个或多个历史告警状态的每个比特与对应于一个或多个当前告警状态的每个比特按位进行“异或”运算;在运算结果中比特值为“1”的位所对应的告警为发生变化的告警;以及屏蔽不需要检测的告警所对应的比特位。
其中,屏蔽是通过将不需要检测的告警所对应的比特位置“0”,然后与“异或”运算的结果进行“与”运算来实现的。
本发明还提出了一种告警处理装置,包括:第一存储单元,用于一次性存储一个或多个告警的历史告警状态,其中,每个告警状态对应于一个比特;第二存储单元,用于在检测告警变化时,按照存储历史告警状态的顺序一次性存储一个或多个告警的当前告警状态;以及逻辑判断单元,用于对历史告警状态和当前告警状态进行逻辑运算,以确定发生变化的告警。
其中,根据本发明的告警处理装置,还包括:上报单元,用于上报发生变化的告警的当前告警状态。
此外,逻辑判断单元包括:第一运算模块,用于将对应于一个或多个历史告警状态的每个比特与对应于一个或多个当前告警状态的每个比特按位进行“异或”运算;判断模块,用于确定在运算结果中比特值为“1”的位所对应的告警为发生变化的告警;以及屏蔽模块,用于屏蔽不需要检测的告警所对应的比特位。
其中,屏蔽模块包括:选择模块,用于将不需要检测的告警所对应的比特位置“0”;以及第二运算模块,用于和“异或”运算的结果进行“与”运算。
因此,采用本发明的方法和装置极大地提高了多告警情况下的告警处理速度,同时也大大降低了内存的使用数量。对比现有技术中的告警处理方式,采用本发明的方法,可以使告警处理速度达到原来的8倍,同时内存使用量降低到原来的1/8。对于更常见的32位CPU组成的系统来说,最高可以将告警处理速度提高到原来的32倍,而占用的内存空间可以降低到原来的1/8。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是根据本发明的告警处理方法的流程图;
图2是根据本发明方法的第一实施例的流程图;
图3是根据本发明方法的第二实施例的流程图;以及
图4是根据本发明的告警处理装置的框图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1是根据本发明的告警处理方法的流程图。
如图1所示,包括以下步骤:
S102,一次性存储一个或多个告警的历史告警状态,其中,每个告警状态对应于一个比特;
S104,在检测告警变化时,按照存储历史告警状态的顺序一次性存储一个或多个告警的当前告警状态;以及
S106,对历史告警状态和当前告警状态进行逻辑运算,以确定发生变化的告警。
其中,根据本发明的告警处理方法,还包括以下步骤:上报发生变化的告警的当前告警状态。
此外,逻辑运算包括:将对应于一个或多个历史告警状态的每个比特与对应于一个或多个当前告警状态的每个比特按位进行“异或”运算;在运算结果中比特值为“1”的位所对应的告警为发生变化的告警;以及屏蔽不需要检测的告警所对应的比特位。
其中,屏蔽是通过将不需要检测的告警所对应的比特位置“0”,然后与“异或”运算的结果进行“与”运算来实现的。
图2是根据本发明方法的第一实施例的流程图。
如图2所示,具体的处理流程包含以下步骤(假设告警仍按表1所示分布):
S202,一次性将所有当前告警状态存储到变量中,对应以上假设,8个比特存储到1个字节中,假设为BYTE1;
S204,告警发生变化后,需要将新的告警状态存储到另一个变量中,假设为BYTE2;以及
S206,将当前告警与历史告警进行逻辑运算:Result=BYTE1XOR BYTE2。
逻辑运算一次性完成了8个告警的跳变检测处理,对应处理结果Result,如果该字节某个比特为1,表示该比特有告警变化,需要上报最新告警状态,如果该比特为0,则告警无变化,无需上报告警跳变。本发明方法仅需一次逻辑运算,占用3字节的存储空间。
接下来,本发明的第二实施例是结合ASON网络中对SDH传送平面告警的处理过程对本发明作进一步地详细描述。
ASON网络节点需要尽可能快地获取SDH传送平面的告警变化情况,以便及时地执行相应动作,告警变化的检测速度极大地影响着业务保护倒换的性能,同时,由于采用的是多任务的操作系统,因此告警的处理效率也较大程度地影响着系统的运行效率。
表2是一个32位寄存器内告警的分布情况。
表2
Reg | |
比特1 | 第1个告警状态 |
比特2 | 第2个告警状态 |
比特3 | 第3个告警状态 |
比特4 | 第4个告警状态 |
比特5 | 第5个告警状态 |
比特6 | 第6个告警状态 |
比特7 | 第7个告警状态 |
比特8 | 第8个告警状态 |
... | ... |
比特32 | 第32个告警状态 |
注:1表示有告警,0表示无告警 |
如果按最小业务粒度为TU12来计算,整个系统在极端情况下需要处理不少于16万个告警。CPU为32位,告警的寄存器为32位寄存器,告警分布情况如表2所示。根据系统设计的要求,要求实现告警跳变检测和告警屏蔽功能。
图3是根据本发明方法的第二实施例的流程图。
其中,[Reg]指的是寄存器Reg中的值;以及
告警处理在实际应用中的一般还包括告警的前期和后期处理,如对告警中无效位的屏蔽,还有告警最后状态的上报等,而这些不是本发明的关注点,因此没有在此详细描述。
如图3所示,具体实现方法如下:
S302,定义一个32比特的变量Mask,用于告警屏蔽功能的实现,对于需要检测的告警,相应比特位置“1”,假设我们需要监视所有比特的告警,则需要执行赋值操作:Mask=0xffffffff;
S304,定义一个32比特的变量History,用于存储历史告警,在告警未发生变化前,执行操作:History=[Reg];
S306,定义一个32比特的变量Current,在需要检测告警是否发生变化时,执行操作:Current=[Reg];
S308,执行逻辑运算:Result=(History XOR Current)ANDMask;以及
S310,执行结果Result中对应的每个比特如果为1,表示该告警发生变化,而且需要上报,如果对应比特为0,则表示该告警没有变化或已被屏蔽,无需处理。
采用以上改进的处理方法,软件一共需要进行2次逻辑运算(第一次异或运算实现了告警跳变的检测,第二次与运算实现了告警屏蔽功能),占用16个字节的内存单元。相比之下,如果采用现有技术的处理方式,一共需要至少64次运算(其中32次运算用于实现告警跳变检测,另外32次运算用于实现告警屏蔽),占用至少128字节内存空间。
图4是根据本发明的告警处理装置400的框图。
如图4所示,该装置400包括:第一存储单元402,用于一次性存储一个或多个告警的历史告警状态,其中,每个告警状态对应于一个比特;第二存储单元404,用于在检测告警变化时,按照存储历史告警状态的顺序一次性存储一个或多个告警的当前告警状态;以及逻辑判断单元406,用于对历史告警状态和当前告警状态进行逻辑运算,以确定发生变化的告警。
其中,根据本发明的告警处理装置,还包括:上报单元408,用于上报发生变化的告警的当前告警状态。
此外,逻辑判断单元406包括:第一运算模块4062,用于将对应于一个或多个历史告警状态的每个比特与对应于一个或多个当前告警状态的每个比特按位进行“异或”运算;判断模块4064,用于确定在运算结果中比特值为“1”的位所对应的告警为发生变化的告警;以及屏蔽模块4066,用于屏蔽不需要检测的告警所对应的比特位。
其中,屏蔽模块4066包括:选择模块,用于将不需要检测的告警所对应的比特位置“0”;以及第二运算模块,用于和“异或”运算的结果进行“与”运算。
综上所述,通过本发明的方法和装置,采用逻辑运算的方式,一次性存储和处理多个告警,解决了嵌入式软件中告警处理效率低,内存使用量高的问题,具有同时提高告警的处理效率和降低内存使用数量的优点。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种告警处理方法,其特征在于,包括以下步骤:
一次性存储一个或多个告警的历史告警状态,其中,每个所述告警状态对应于一个比特;
在检测告警变化时,按照存储所述历史告警状态的顺序一次性存储所述一个或多个告警的当前告警状态;以及
对所述历史告警状态和所述当前告警状态进行逻辑运算,以确定发生变化的告警。
2.根据权利要求1所述的告警处理方法,其特征在于,还包括以下步骤:
上报所述发生变化的告警的当前告警状态。
3.根据权利要求1或2所述的告警处理方法,其特征在于,所述逻辑运算包括:
将对应于一个或多个所述历史告警状态的每个比特与对应于一个或多个所述当前告警状态的每个比特按位进行“异或”运算;以及
在运算结果中比特值为“1”的位所对应的告警为发生变化的告警。
4.根据权利要求3所述的告警处理方法,其特征在于,所述逻辑运算还包括:
屏蔽不需要检测的告警所对应的比特位。
5.根据权利要求4所述的告警处理方法,其特征在于,所述屏蔽是通过将不需要检测的告警所对应的比特位置“0”,然后与所述“异或”运算的结果进行“与”运算来实现的。
6.一种告警处理装置,其特征在于,包括:
第一存储单元,用于一次性存储一个或多个告警的历史告警状态,其中,每个所述告警状态对应于一个比特;
第二存储单元,用于在检测告警变化时,按照存储所述历史告警状态的顺序一次性存储所述一个或多个告警的当前告警状态;以及
逻辑判断单元,用于对所述历史告警状态和所述当前告警状态进行逻辑运算,以确定发生变化的告警。
7.根据权利要求6所述的告警处理装置,其特征在于,还包括:
上报单元,用于上报所述发生变化的告警的当前告警状态。
8.根据权利要求6或7所述的告警处理装置,其特征在于,所述逻辑判断单元包括:
第一运算模块,用于将对应于一个或多个所述历史告警状态的每个比特与对应于一个或多个所述当前告警状态的每个比特按位进行“异或”运算;以及
判断模块,用于确定在运算结果中比特值为“1”的位所对应的告警为发生变化的告警。
9.根据权利要求8所述的告警处理装置,其特征在于,所述逻辑判断单元还包括:
屏蔽模块,用于屏蔽不需要检测的告警所对应的比特位。
10.根据权利要求9所述的告警处理装置,其特征在于,所述屏蔽模块包括:
选择模块,用于将不需要检测的告警所对应的比特位置“0”;以及
第二运算模块,用于和所述“异或”运算的结果进行“与”运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101631379A CN101187885A (zh) | 2007-10-10 | 2007-10-10 | 告警处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101631379A CN101187885A (zh) | 2007-10-10 | 2007-10-10 | 告警处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101187885A true CN101187885A (zh) | 2008-05-28 |
Family
ID=39480291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101631379A Pending CN101187885A (zh) | 2007-10-10 | 2007-10-10 | 告警处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101187885A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103560917A (zh) * | 2013-11-15 | 2014-02-05 | 烽火通信科技股份有限公司 | 基于命令行的网络设备告警装置及告警方法 |
CN108932183A (zh) * | 2017-05-24 | 2018-12-04 | 华为技术有限公司 | 处理告警的方法和装置 |
-
2007
- 2007-10-10 CN CNA2007101631379A patent/CN101187885A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103560917A (zh) * | 2013-11-15 | 2014-02-05 | 烽火通信科技股份有限公司 | 基于命令行的网络设备告警装置及告警方法 |
CN103560917B (zh) * | 2013-11-15 | 2017-04-12 | 烽火通信科技股份有限公司 | 基于命令行的网络设备告警装置及告警方法 |
CN108932183A (zh) * | 2017-05-24 | 2018-12-04 | 华为技术有限公司 | 处理告警的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108665239B (zh) | 工作流处理方法、装置、计算机设备及存储介质 | |
CN1892611A (zh) | 减少可编程装置在配置错误检测中的虚假肯定 | |
CN102736956B (zh) | 线程通信和同步技术 | |
US20060150023A1 (en) | Debugging apparatus | |
CN102033789A (zh) | 一种用于嵌入式安全关键系统的可靠性分析方法 | |
CN113993002A (zh) | 一种电缆监控数据上报方法及装置 | |
TWI712286B (zh) | 大屏鏈路系統檢測方法、裝置及設備 | |
CN101187885A (zh) | 告警处理方法和装置 | |
US8560741B2 (en) | Data processing system comprising a monitor | |
CN115603975B (zh) | 报文的入侵检测方法、装置、电子设备及存储介质 | |
CN105739928A (zh) | 基于多区域存储的配网终端设备参数存储方法 | |
CN113687942B (zh) | 检测方法、装置及电子设备 | |
CN111263387B (zh) | 一种无线传感器网络异常处置方法及系统 | |
CN104572418A (zh) | 移动终端的诊断方法、装置和系统 | |
CN102469474A (zh) | 一种通信设备异常信息的处理方法及装置 | |
CN106776169A (zh) | 一种测试服务器的psu的方法及装置 | |
CN110531646B (zh) | 基于fpga的功率组件系统故障数据采集方法及系统 | |
CN101964922B (zh) | 异常情况捕捉方法及装置 | |
CN106326094A (zh) | 检查指针异常的方法及系统 | |
CN116884464B (zh) | flash芯片的擦除方法、装置及flash芯片 | |
CN116133029B (zh) | 故障处理系统、方法、通信设备和计算机存储介质 | |
CN115543683B (zh) | 单粒子翻转纠错方法、装置、电子设备以及可读存储介质 | |
CN103713962A (zh) | 一种检测数据链表方法及电子设备 | |
CN109885402B (zh) | 测试函数输出数据溢出的方法、终端设备及存储介质 | |
CN103955350B (zh) | 备份节点确定方法、装置及拼接墙系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080528 |