屏蔽处理瞬断通知事件的方法

文档序号:7614303阅读:106来源:国知局
专利名称:屏蔽处理瞬断通知事件的方法
技术领域
本发明涉及通信管理系统中处理通知事件的方法,具体涉及一种通信管理系统中屏蔽处理瞬断通知事件的方法。
背景技术
随着用户对“集中监控、集中管理”的需求日益强烈,管理系统需要管理越来越多的对象;而一般上层管理系统通过接收下层管理系统的通知事件来更新数据,随着管理对象的进一步增加,上层管理系统需要处理越来越多的来自下层管理系统的通知事件,从而导致上层管理系统的性能急速下降;当性能下降到一定程度时上层管理系统就无法使用了。
现有技术的技术方案,对所有下层管理系统采用逐个处理通知事件的方法,对于瞬断通知事件不屏蔽。现有技术的缺点1、效率低,当一定时间内有大量通知事件需要处理的时候,可能导致整个系统不可用;2、大量占用资源(比如CPU),从而影响了其他任务的执行、降低系统的可用性。

发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种高效、占用资源少的屏蔽处理瞬断通知事件的方法。
本发明解决其技术问题所采用的技术方案是构造一种屏蔽处理瞬断通知事件的方法,其特征在于,包括如下步骤A1)上层管理系统接收来自下层管理系统的通知事件,将其存入屏蔽层中;A2)所述屏蔽层在设定的周期时间点读取通知事件,判断哪些通知事件需要交送给上层管理系统的任务层处理,将需要交送给上层管理系统的任务层处理的通知事件送给上层管理系统的任务层处理。
在本发明所述的屏蔽处理瞬断通知事件的方法中,所述通知事件包括对象ID,对象数据,以及所述对象数据的删除状态标志。
在本发明所述的屏蔽处理瞬断通知事件的方法中,在步骤A1中,将接收到的通知事件存入所述屏蔽层,将旧的通知事件对应的对象数据的删除状态标志标记为删除状态;在步骤A2中根据所述通知事件对应的对象数据和所述对象数据的删除状态标志判断是否需要将所述通知事件送给上层管理系统的任务层处理,将处理过的所述通知事件对应的对象数据的删除状态标志标记为删除状态。
在本发明所述的屏蔽处理瞬断通知事件的方法中,所述屏蔽层包括第一映射表、第二映射表、第三映射表,所述第一映射表用于存储包含对象ID和对应的原有对象数据地址的映射单元,所述第二映射表用于存储包含对象ID和当前对象数据地址的映射单元,所述第三映射表用于存储包含对象ID和对应的历史对象数据地址、通知事件的时间的映射单元。
在本发明所述的屏蔽处理瞬断通知事件的方法中,在步骤A1中具体包括如下步骤A1.1)接收到通知事件;A1.2)记录接收到的通知事件,将通知事件对应的对象ID和对象数据的地址存入到第二映射表和第三映射表中。
在本发明所述的屏蔽处理瞬断通知事件的方法中,在步骤A1.1中还包括如下步骤A1.1.1)查询在所述第二映射表中是否存在所述通知事件对应的对象ID,如果存在执行步骤A1.1.2;如果不存在直接执行步骤A1.2;A1.1.2)判断所述第二映射表原先存在的对象ID对应的对象数据的删除状态标志是否为删除状态,如果为非删除状态,执行步骤A1.1.3如果为删除状态,执行步骤A1.1.4;A1.1.3)将所述第二映射表原先存在的对象ID对应的对象数据的删除状态标志设置为删除状态;然后删除所述第二映射表中原先对象ID的映射单元,再执行步骤A1.2;A1.1.4)删除原先存在的对象ID对应的对象数据,再删除所述第二映射表中原先存在的对象ID的映射单元,再执行步骤A1.2;在本发明所述的屏蔽处理瞬断通知事件的方法中,在步骤A2中还包括如下步骤A2.1)在设定的周期时间点从第三映射表读取设定时间前收到且上个周期时间点未读取的通知事件,判断在映射单元中所述对象ID对应的对象数据的删除状态标志是否为删除状态,如果存在标记为删除状态的对象数据,删除原先对象ID对应的对象数据,再删除对应的映射单元;如果存在标记为非删除状态的对象数据执行步骤A2.2;A2.2)将在第三映射表中标记为非为删除状态的对象数据与第一映射表相同的对象ID对应的对象数据进行比较判断对象数据是否有改变,如果有改变,交给上层管理系统的任务层处理后执行步骤A2.3;如果没有改变直接执行步骤A2.3;
A2.3)删除第三映射表中标记为非为删除状态的对象数据对应的映射单元,再将所述对象数据标记为删除状态。
本发明的有益效果是,本发明的屏蔽处理瞬断通知事件的方法将接收到的通知事件先放入屏蔽层,然后再处理设定时间前收到的通知事件,有效降低了接收处理通知事件的耦合性;将接收通知事件和处理通知事件的过程相分离,有效降低了系统的复杂性,减少了开发维护的工作量;采用定时批量处理通知事件的方法,提高了系统性能、减少系统资源占用。


下面将结合附图及实施例对本发明作进一步说明,附图中图1是使用本发明的屏蔽处理瞬断通知事件的方法的管理系统的示意图;图2是本发明的屏蔽处理瞬断通知事件的方法接收通知事件的一种实施方式的流程图;图3是本发明的屏蔽处理瞬断通知事件的方法处理通知事件的一种实施方式的流程图;图4是本发明的屏蔽处理瞬断通知事件的方法定时处理通知事件的示意图;图5至图9是本发明的屏蔽处理瞬断通知事件的方法在接收通知事件和处理通知事件的过程中,映射表和对象数据的变化过程的示意图。
具体实施例方式
本发明的屏蔽处理瞬断通知事件的方法是在上层管理系统中增加一个屏蔽层来屏蔽处理通知事件,在屏蔽层中通过定时处理一定时间之前的接收到的通知事件来屏蔽瞬断通知事件,从而提高系统性能、减少系统资源占用。如图1所示为使用本发明的屏蔽处理瞬断通知事件的方法的管理系统的示意图,上下层管理系统通过事件通道进行通信,上层管理系统可以通过事件通道来配置、监控下层管理系统信息,下层网管系统通过事件通道告知上层管理系统哪些数据发生更新及接收上层管理系统的命令通知事件等等。其中上层管理系统中的任务层主要负责具体任务的处理,控制层主要负责任务的调度、通信控制等,屏蔽层主要负责对通知事件进行屏蔽管理。例如,上层管理系统为监控电脑终端,下层管理系统为其监控管理的具体的通信设备,在监控电脑终端上显示通信设备的工作状态,监控电脑显示的通信设备的状态和通信设备实际状态之间就存在通信设备的状态同步问题;通信设备状态的瞬时改变又恢复的通知事件就可以通过本发明的方法进行屏蔽,从而提高系统性能、减少系统资源占用。
本发明的屏蔽处理瞬断通知事件的方法将接收通知事件和处理通知事件分开。其中接收通知事件的过程为上层管理系统的屏蔽层接收来自下层管理系统的通知事件,将其存入位于所述屏蔽层中;处理通知事件的过程为上层管理系统设定的周期时间点从的屏蔽层中读取设定时间前收到且上个周期时间点未读取的通知事件,判断哪些通知事件需要交送给上层管理系统的任务层处理,将需要处理的通知事件送给上层管理系统的任务层处理。
结合图2所示的接收通知事件的流程图和图3所示的处理通知事件的流程图,描述本发明的接收通知事件和处理通知事件的一种实施方式。
在本实施例中,屏蔽层包括第一映射表、第二映射表、第三映射表和对象数据,所述第一映射表用于存储包含对象ID和对应的原有对象数据地址的映射单元,所述第二映射表用于存储包含对象ID和当前对象数据地址的映射单元,所述第三映射表用于存储包含对象ID和对应的历史对象数据地址、通知事件的时间的映射单元,所述对象数据中包含删除状态标志,删除状态表示此对象已经被处理或者有更新的对象了,非删除状态表示此对象为最新未处理的对象。
其中对象表示通信系统中某单元或电路;对象具有属性,如某电路对象具有可用与否的属性,当对象的属性发生变化时会产生通知事件,对象属性的每一次变化都会产生一次通知事件;对象数据用于存储对象的属性;映射表由多个映射单元组成,每个映射单元存储一个对象的ID和对象数据的一个地址。通过对象ID可以从映射表索引到具体的对象数据,映射单元的具体结构如下。
第一映射表(对象ID->原有对象)映射表,原有对象即对象产生通知事件前的状态。
第二映射表(对象ID->当前对象)映射表,当前对象即对象产生最近通知事件后的状态。
第三映射表(对象ID->历史对象->时间值)映射表,历史对象即对象接收处理通知事件后的状态。
第二映射表永远保持对象的最新属性值,第三映射表记录对象接收通知事件后属性改变的一个过程;对于最新对象属性,第二映射表和第三映射表通过指针指向同一份数据。
结合图2,接收通知事件的具体流程如下S101)实时接收通知事件;S102)判断在所述第二映射表中是否存在所述通知事对应的对象ID,如果不存在直接执行步骤S106;如果存在执行步骤S103;S103)判断在第二映射表中原先存在的对象ID对应的对象数据的删除状态标志是否为删除状态,如果为删除状态(在第二映射表中如果存在删除状态的数据,表示处理通知事件过程已经对这个数据进行处理过了),执行步骤S105;如果为非删除状态(在第二映射表中如果存在非删除状态的数据,表示处理通知事件过程还没有处理此通知事件),执行步骤S104;S104)将在第二映射表中原先存在的对象ID对应的对象数据的删除状态标志设置为删除状态,然后删除所述第二映射表中原先对象ID对应的映射单元,再执行步骤S106;S105)删除所述原先对象ID对应的对象数据(删除此数据释放资源),同时删述第二映射表中原先对象ID对应的映射单元,再执行步骤S106;S106)记录当前对象数据,将对象ID和当前对象数据的地址存入到第二映射表,再将对象ID和当前对象数据的地址以及通知事件的时间存入到第三映射表(对于新插入到第二映射表、第三映射表中的对象状态都是为非删除状态的,因为这是最新的状态且处理通知事件过程还没有处理)。
结合图3,处理通知事件的具体流程如下S201)在设定的周期时间点从第三映射表读取设定时间前收到且上个周期时间点未读取的通知事件;S202)判断在映射单元中所述对象ID对应的对象数据的删除状态标志是否为删除状态,如果存在标记为删除状态的对象数据,执行步骤S204;如果存在标记为非为删除状态的对象数据执行步骤S203;S203)将在第三映射表中标记为非为删除状态的对象数据与第一映射表相同的对象ID对应的对象数据进行比较判断对象数据是否有改变,如果没有改变直接执行步骤S206;如果有改变,执行步骤S205;S204)删除对象ID对应的对象数据,再删除映射单元(如果在第三映射表中存在标记为删除状态的数据表示接收通知事件过程又接收到了此对象新的通知事件,此对象状态已经不是最新的数据了,所以需要删除);S205)交给上层管理系统的任务层处理(比如更新第一映射表及数据库中的数据、发送给客户端显示对象状态发生改变、记录日志等等),执行步骤S206;S206)删除第三映射表中处理过的映射单元,再将所述映射单元对应的对象数据标记为删除状态(以便接收通知事件过程辨认此对象状态已经处理过了)。
如图4所示为本发明的屏蔽处理瞬断通知事件的方法定时处理通知事件的示意图;其中时间轴B、D点为定时处理通知事件时间点,A点比B点早N秒,C点比D点早N秒。在本发明中,处理通知事件过程是一个定时任务,在B点处理A点以前的通知事件,在D点处理C点以前的通知事件。取B点N秒前所有未处理的对象数据,如果B点前1秒对象属性改变了后1秒又恢复了(N大于1),D点定时处理的时候就可以有效屏蔽了(因为在D点对象的最新属性值为B点后1秒的属性值,而此属性相对原有属性值没有发生改变,所有D点就无需处理此通知事件),其中N可以根据实际需要进行参数调优。
可以结合系统管理对象的多少调整处理通知事件过程的定时周期及N参数来有效提高系统的性能。例如定时周期的范围可以为5分钟-60分钟,N值的范围可以为2秒-30秒。当用户对系统的实时性要求不高的时候可以取大的定时周期和N值,要求高的时候可以较小的值。
结合图5至图9描述本发明的屏蔽处理瞬断通知事件的方法的接收通知事件和处理通知事件的过程中,映射表的具体变化。其中图5至图7表示接收到同一对象的第一次到第三次的通知事件过程中“处理通知事件过程”没有执行。图5表示接收到对象1的第一次数据(第一次通知事件),将其插入到第二映射表后再插入到第三映射表;图6表示接收到对象1的第二次数据,将对象1的第一次数据设置为删除状态然后删除第二映射表中对应的映射单元,再将对象1的第二次数据插入到第二映射表和到第三映射表中,这样第二映射表和第三映射表通过指针同时指向最新的数据(对象1的第二次数据),对于历史数据(对象1的第一次数据)只在第三映射表存在记录并且对应的数据为删除状态;图7表示接收到对象1的第三次数据,将对象1的第二次数据设置为删除状态然后删除第二映射表中对应的映射单元,再将对象1的第三次数据插入到第二映射表和到第三映射表中,这样第二映射表和第三映射表通过指针同时指向最新的数据(对象1的第三次数据),对于历史数据(对象1的第二次数据、对象1的第一次数据)只在第三映射表存在记录并且对应的数据为删除状态。
图8表示第一次到第三次“接收通知事件过程”中“处理通知事件过程”有执行,执行时间在接收到对象1的第二次数据和对象1的第三次数据之间。当接收到对象1的第二次数据后,就开始处理通知事件了。把第三映射表中对象1的第一次数据和对象1的第二次数据读取出来分析,发现对象1的第一次数据已经为删除状态,直接删除对象1的第一次数据后再删除第三映射表中对应的映射单元;发现对象1的第二次数据为非删除状态,将其交给“上层管理系统的任务层处理”后,将对象1的第二数据设置为删除状态,然后删除第三映射表中对应的映射单元,此时经过处理通知事件后在第三映射表中已不存在记录,在第二映射表中还存在对象1的第二数据(为删除状态)的记录。图9接续图8,表示完成“处理通知事件过程”后又接收到对象1的第三次数据,在第二映射表中,对象1的第二次数据为删除状态,将对象1的第二次数据删除然后再删除第二映射表中对应的映射单元,再将对象1的第三次数据插入第二映射表和第三映射表中,这样第二映射表和第三映射表通过指针同时指向最新的数据(对象1的第三次数据),由于历史数据(对象1的第一次数据和对象1的第二次数据)已经处理过并被删除了,在第二映射表和第三映射表中都不存在记录。
权利要求
1.一种屏蔽处理瞬断通知事件的方法,其特征在于,包括如下步骤A1)上层管理系统接收来自下层管理系统的通知事件,将其存入屏蔽层中;A2)所述屏蔽层在设定的周期时间点读取通知事件,判断哪些通知事件需要交送给上层管理系统的任务层处理,将需要交送给上层管理系统的任务层处理的通知事件送给上层管理系统的任务层处理。
2.根据权利要求1所述的屏蔽处理瞬断通知事件的方法,其特征在于,所述通知事件包括对象ID,对象数据,以及所述对象数据的删除状态标志。
3.根据权利要求2所述的屏蔽处理瞬断通知事件的方法,其特征在于,在步骤A1中,将接收到的通知事件存入所述屏蔽层,将旧的通知事件对应的对象数据的删除状态标志标记为删除状态;在步骤A2中根据所述通知事件对应的对象数据和所述对象数据的删除状态标志判断是否需要将所述通知事件送给上层管理系统的任务层处理,将处理过的所述通知事件对应的对象数据的删除状态标志标记为删除状态。
4.根据权利要求3所述的屏蔽处理瞬断通知事件的方法,其特征在于,所述屏蔽层包括第一映射表、第二映射表、第三映射表,所述第一映射表用于存储包含对象ID和对应的原有对象数据地址的映射单元,所述第二映射表用于存储包含对象ID和当前对象数据地址的映射单元,所述第三映射表用于存储包含对象ID和对应的历史对象数据地址、通知事件的时间的映射单元。
5.根据权利要求4所述的屏蔽处理瞬断通知事件的方法,其特征在于,在步骤A1中具体包括如下步骤A1.1)接收到通知事件;A1.2)记录接收到的通知事件,将通知事件对应的对象ID和对象数据的地址存入到第二映射表和第三映射表中。
6.根据权利要求5所述的屏蔽处理瞬断通知事件的方法,其特征在于,在步骤A1.1中还包括如下步骤A1.1.1)查询在所述第二映射表中是否存在所述通知事件对应的对象ID,如果存在执行步骤A1.1.2;如果不存在直接执行步骤A1.2;A1.1.2)判断所述第二映射表原先存在的对象ID对应的对象数据的删除状态标志是否为删除状态,如果为非删除状态,执行步骤A1.1.3如果为删除状态,执行步骤A1.1.4;A1.1.3)将所述第二映射表原先存在的对象ID对应的对象数据的删除状态标志设置为删除状态;然后删除所述第二映射表中原先对象ID的映射单元,再执行步骤A1.2;A1.1.4)删除原先存在的对象ID对应的对象数据,再删除所述第二映射表中原先存在的对象ID的映射单元,再执行步骤A1.2。
7.根据权利要求6所述的屏蔽处理瞬断通知事件的方法,其特征在于,在步骤A2中还包括如下步骤A2.1)在设定的周期时间点从第三映射表读取设定时间前收到且上个周期时间点未读取的通知事件,判断在映射单元中所述对象ID对应的对象数据的删除状态标志是否为删除状态,如果存在标记为删除状态的对象数据,删除原先对象ID对应的对象数据,再删除对应的映射单元;如果存在标记为非删除状态的对象数据执行步骤A2.2;A2.2)将在第三映射表中标记为非为删除状态的对象数据与第一映射表相同的对象ID对应的对象数据进行比较判断对象数据是否有改变,如果有改变,交给上层管理系统的任务层处理后执行步骤A2.3;如果没有改变直接执行步骤A2.3;A2.3)删除第三映射表中标记为非为删除状态的对象数据对应的映射单元,再将所述对象数据标记为删除状态。
全文摘要
本发明涉及一种屏蔽处理瞬断通知事件的方法,包括如下步骤A1)上层管理系统接收来自下层管理系统的通知事件,将其存入屏蔽层中;A2)所述屏蔽层在设定的周期时间点读取通知事件,判断哪些通知事件需要交送给上层管理系统的任务层处理,将需要交送给上层管理系统的任务层处理的通知事件送给上层管理系统的任务层处理。本发明的屏蔽处理瞬断通知事件的方法将接收到的通知事件先放入屏蔽层,然后再处理设定时间前收到的通知事件,有效降低了接收处理通知事件的耦合性;将接收通知事件和处理通知事件的过程相分离,有效降低了系统的复杂性,减少了开发维护的工作量;采用定时批量处理通知事件的方法,提高了系统性能、减少系统资源占用。
文档编号H04L12/24GK1845504SQ20051003412
公开日2006年10月11日 申请日期2005年4月8日 优先权日2005年4月8日
发明者王世军 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1