专利名称:抑制铁路数字环节点状态改变事件风暴的方法
技术领域:
本发明属于网络通信信息管理技术领域,尤其涉及一种抑制铁路数字环节点状态改变事件风暴的方法。
背景技术:
网管系统是网络设备管理系统的简称,主要用于对整个网络系统进行数据配置、 监控、维护和测试。网管系统可分为服务器端和客户端,服务器端要支持多个客户端同时访问,并对设备进行管理操作,并接收、处理、展现设备上报的事件和告警。铁路数字环节点状态改变事件是由铁路调度系统上报到网管系统的一种事件。网管服务器端接收到这种事件后,将事件告知网管客户端,客户端会刷新拓扑图上该数字环节点所在的数字环连线的颜色来响应其状态变化结果。目前,基于C/S(Client/Server客户端/服务器)结构多客户端网管系统在接收服务器端的数字环节点改变状态事件后,大部分采用的方法是当接收到铁路调度系统上报的数字环节点状态改变事件后,直接将数字环节点状态改变事件告知网管客户端,由网管客户端来刷新拓扑图上的数字环连线颜色。然而,当铁路调度系统有大量的数字环节点状态改变事件上报网管服务器端时, 网管客户端瞬间收到大量的数字环节点状态改变事件。由于网管客户端的拓扑图刷新需要耗费大量的资源,导致网管客户端响应速度变慢、甚至宕机。
发明内容
本发明的目的在于,提供一种抑制铁路数字环节点状态改变事件风暴的方法,用以解决短时间内大量的数字环节点状态改变事件导致的网管客户端响应速度变慢甚至宕机的问题。为实现上述目的,本发明提供的技术方案是,一种抑制铁路数字环节点状态改变事件风暴的方法,其特征是所述方法包括步骤1 消息接收线程从全局通讯接收队列中获取上报消息;步骤2 判断上报消息是否包括待处理的事件,如果上报消息包括待处理的事件, 则执行步骤3 ;否则,返回步骤1 ;步骤3 将上报消息加入到事件队列并转给事件处理线程;步骤4 事件处理线程从事件队列获取待处理的事件;步骤5 判断待处理的事件是否是数字环节点状态改变事件,如果待处理的事件是数字环节点状态改变事件,则执行步骤6 ;否则,执行步骤14 ;步骤6 判断第一设定时间内,所述数字环节点状态改变事件是否被上报一次,如果在第一设定时间内所述数字环节点状态改变事件被上报一次,则执行步骤7 ;否则执行步骤8 ;步骤7 将数字环节点状态改变事件加入到数字环节点状态改变事件队列的队尾,跳至步骤15;步骤8 判断第二设定时间内,网管服务器端是否给网管客户端发送过数字环节点状态改变事件,如果第二设定时间内网管服务器端给网管客户端发送过数字环节点状态改变事件,则执行步骤9 ;否则,执行步骤10 ;步骤9 将数字环节点状态改变事件加入到数字环节点状态改变事件队列的队首,并且令数字环节点状态改变事件上报线程休眠第三设定时间,跳至步骤15 ;步骤10 将所述数字环节点状态改变事件加入到事件上报通道队列中;步骤11 判断数字环节点状态改变事件队列中是否存在数字环节点状态改变事件,如果数字环节点状态改变事件队列中存在数字环节点状态改变事件,则执行步骤12 ; 否则,执行步骤13;步骤12 从数字环节点状态改变事件队列中取出第一条数字环节点状态改变事件加入到事件上报通道队列中,跳至步骤15 ;步骤13 令数字环节点状态改变事件上报线程休眠第三设定时间,跳至步骤15 ;步骤14 直接将待处理的事件加入事件上报通道队列;步骤15 结束。所述判断上报消息是否包括待处理的事件具体是判断上报消息的操作代号是否为0,如果上报消息的操作代号为0,则上报消息包括待处理的事件;否则,上报消息不包括待处理的事件。所述第一设定时间为10秒。所述第二设定时间为2秒。所述将数字环节点状态改变事件加入到数字环节点状态改变事件队列的队尾/ 队首具体还包括步骤11 判断数字环节点状态改变事件队列的容量是否超过设定的最大缓冲量, 如果数字环节点状态改变事件队列的容量超过设定的最大缓冲量,则执行步骤12 ;否则, 执行步骤13 ;步骤12 丢弃所述数字环节点状态改变事件;步骤13 判断所述数字环节点状态改变事件所属的数字环是否已有其他数字环节点状态改变事件存在于数字环节点状态改变事件队列,如果所述数字环节点状态改变事件所属的数字环已有其他数字环节点状态改变事件存在于数字环节点状态改变事件队列, 则执行步骤14 ;否则,执行步骤15 ;步骤14 丢弃所述数字环节点状态改变事件;步骤15 将数字环节点状态改变事件加入到数字环节点状态改变事件队列的队
尾/队首。所述第三设定时间为2秒。本发明解决了短时间内大量的数字环节点状态改变事件导致的网管客户端响应速度变慢甚至宕机的问题。
图1是抑制铁路数字环节点状态改变事件风暴的方法流程5
图2是数字环节点状态改变事件加入到数字环节点状态改变事件队列的队尾/队首的过程示意图。
具体实施例方式下面结合附图,对优选实施例作详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。图1是抑制铁路数字环节点状态改变事件风暴的方法流程图。图1中,先设置第一设定时间为10秒,第二设定时间为2秒,第三设定时间为2秒。抑制铁路数字环节点状态改变事件风暴的方法,其特征是所述方法包括步骤1 消息接收线程从全局通讯接收队列中获取上报消息。步骤2 判断上报消息是否包括待处理的事件,如果上报消息包括待处理的事件, 则执行步骤3 ;否则,返回步骤1。步骤3 将上报消息加入到事件队列并转给事件处理线程。步骤4 事件处理线程从事件队列获取待处理的事件。步骤5 判断待处理的事件是否是数字环节点状态改变事件,如果待处理的事件是数字环节点状态改变事件,则执行步骤6 ;否则,执行步骤14。步骤6 判断10秒内,所述数字环节点状态改变事件是否被上报一次,如果在10 秒内所述数字环节点状态改变事件被上报一次,则执行步骤7 ;否则执行步骤8。步骤7 将数字环节点状态改变事件加入到数字环节点状态改变事件队列的队尾,跳至步骤15。步骤8 判断2秒内,网管服务器端是否给网管客户端发送过数字环节点状态改变事件,如果2秒内网管服务器端给网管客户端发送过数字环节点状态改变事件,则执行步骤9;否则,执行步骤10。步骤9 将数字环节点状态改变事件加入到数字环节点状态改变事件队列的队首,并且令数字环节点状态改变事件上报线程休眠2秒,跳至步骤15。步骤10 将所述数字环节点状态改变事件加入到事件上报通道队列中。步骤11 判断数字环节点状态改变事件队列中是否存在数字环节点状态改变事件,如果数字环节点状态改变事件队列中存在数字环节点状态改变事件,则执行步骤12 ; 否则,执行步骤13。步骤12 从数字环节点状态改变事件队列中取出第一条数字环节点状态改变事件加入到事件上报通道队列中,跳至步骤15。步骤13 令数字环节点状态改变事件上报线程休眠第三设定时间,跳至步骤15。步骤14 直接将待处理的事件加入事件上报通道队列。步骤15 结束。本发明对网管系统的运行效率有很大改进,具体表现在1)瞬时大量的数字环节点状态改变事件上报网管时,网管客户端运行流畅,不会再出现反应响应慢、宕机等情况; 2)有效抑制了频繁上报数字环节点状态改变事件的数字环的刷新频率;3)正常频率上报数字环节点状态的数字环能够做到即时刷新。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种抑制铁路数字环节点状态改变事件风暴的方法,其特征是所述方法包括 步骤1 消息接收线程从全局通讯接收队列中获取上报消息;步骤2 判断上报消息是否包括待处理的事件,如果上报消息包括待处理的事件,则执行步骤3;否则,返回步骤1;步骤3 将上报消息加入到事件队列并转给事件处理线程; 步骤4 事件处理线程从事件队列获取待处理的事件;步骤5 判断待处理的事件是否是数字环节点状态改变事件,如果待处理的事件是数字环节点状态改变事件,则执行步骤6 ;否则,执行步骤14 ;步骤6 判断第一设定时间内,所述数字环节点状态改变事件是否被上报一次,如果在第一设定时间内所述数字环节点状态改变事件被上报一次,则执行步骤7 ;否则执行步骤 8 ;步骤7 将数字环节点状态改变事件加入到数字环节点状态改变事件队列的队尾,跳至步骤15 ;步骤8:判断第二设定时间内,网管服务器端是否给网管客户端发送过数字环节点状态改变事件,如果第二设定时间内网管服务器端给网管客户端发送过数字环节点状态改变事件,则执行步骤9 ;否则,执行步骤10 ;步骤9 将数字环节点状态改变事件加入到数字环节点状态改变事件队列的队首,并且令数字环节点状态改变事件上报线程休眠第三设定时间,跳至步骤15 ; 步骤10 将所述数字环节点状态改变事件加入到事件上报通道队列中; 步骤11 判断数字环节点状态改变事件队列中是否存在数字环节点状态改变事件,如果数字环节点状态改变事件队列中存在数字环节点状态改变事件,则执行步骤12 ;否则, 执行步骤13 ;步骤12 从数字环节点状态改变事件队列中取出第一条数字环节点状态改变事件加入到事件上报通道队列中,跳至步骤15 ;步骤13 令数字环节点状态改变事件上报线程休眠第三设定时间,跳至步骤15 ; 步骤14 直接将待处理的事件加入事件上报通道队列; 步骤15 结束。所述判断上报消息是否包括待处理的事件具体是判断上报消息的操作代号是否为0, 如果上报消息的操作代号为0,则上报消息包括待处理的事件;否则,上报消息不包括待处理的事件。
2.根据权利要求1所述的方法,其特征是所述第一设定时间为10秒。
3.根据权利要求1所述的方法,其特征是所述第二设定时间为2秒。
4.根据权利要求1所述的方法,其特征是所述将数字环节点状态改变事件加入到数字环节点状态改变事件队列的队尾/队首具体还包括步骤11 判断数字环节点状态改变事件队列的容量是否超过设定的最大缓冲量,如果数字环节点状态改变事件队列的容量超过设定的最大缓冲量,则执行步骤12 ;否则,执行步骤13 ;步骤12 丢弃所述数字环节点状态改变事件;步骤13 判断所述数字环节点状态改变事件所属的数字环是否已有其他数字环节点状态改变事件存在于数字环节点状态改变事件队列,如果所述数字环节点状态改变事件所属的数字环已有其他数字环节点状态改变事件存在于数字环节点状态改变事件队列,则执行步骤14;否则,执行步骤15;步骤14 丢弃所述数字环节点状态改变事件;步骤15 将数字环节点状态改变事件加入到数字环节点状态改变事件队列的队尾/队首。
5.根据权利要求1所述的方法,其特征是所述第三设定时间为2秒。
全文摘要
本发明公开了网络通信信息管理技术领域中的一种抑制铁路数字环节点状态改变事件风暴的方法。包括事件处理线程从事件队列获取待处理的事件,当待处理的事件是数字环节点状态改变事件,并且数字环节点状态改变事件是否被上报一次,则将数字环节点状态改变事件加入到数字环节点状态改变事件队列的队尾;否则,当网管服务器端给网管客户端发送过数字环节点状态改变事件,将数字环节点状态改变事件加入到数字环节点状态改变事件队列的队首。当待处理的事件不是数字环节点状态改变事件时,将数字环节点状态改变事件加入到事件上报通道队列中。本发明解决了短时间内大量的数字环节点状态改变事件导致的网管客户端响应速度变慢甚至宕机的问题。
文档编号H04L29/06GK102523125SQ20111044270
公开日2012年6月27日 申请日期2011年12月27日 优先权日2011年12月27日
发明者张鑫 申请人:北京佳讯飞鸿电气股份有限公司