一种存储事件日志自动过滤重复抖动数据的方法

文档序号:6399615阅读:577来源:国知局
专利名称:一种存储事件日志自动过滤重复抖动数据的方法
技术领域
本发明涉及抖动数据的检测及滤除,具体说是一种存储事件日志自动过滤重复抖动数据的方法。
背景技术
当前电信设备朝着高速、高效的方向发展,长期不间断的运行,难免会出现意想不到的特殊状况,也许有些异常现象一闪而过,并未及时被人们发觉,但经过长时间的累积,或多或少会对系统造成影响,所以自动记录设备异常信息变得尤为重要,然而庞大的数据量对后期原因分析带来极大的不便,如何有效合理的规划异常信息的存储更值得重视。由此,事件日志规范性存储得以诞生。我们把这些异常信息作为事件日志记录逐条进行分类存储形成事件日志,同时增加时间戳,庞大的数据得以有效的管理。经过实际测试验证,尽管任意一条事件日志记录都能瞬间记录,但堆积了大量重复冗余的数据,即重复抖动数据,亦可简称为抖动数据,这不仅对设备存储容量造成威胁,也大大降低了问题定位及原因分析的效率。事件日志存储过程如图1所示,一条全新的事件日志记录从产生到存储要经过三个阶段:事件日志记录进入消息队列等候,分析事件日志记录,存储事件日志记录形成事件日志。事件日志记录经过分析,会插入存储介质的适当位置。然而大量抖动的事件日志记录所带来的数据冗余,不仅对问题分析毫无价值,还给存储介质带来严重负担。所谓抖动数据即一定时间间隔内重复出现的相同记录。如果单纯的通过记录间的一一比较判断其是否为抖动数据,不仅耗时,而且频繁的访问硬件存储介质还会减少硬件寿命,最终会延误系统的整体运作。

发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种存储事件日志自动过滤重复抖动数据的方法,在形成事件日志的分析阶段,通过增加有效的抖动数据过滤算法,废弃传统的数据遍历比较算法,高效过滤抖动数据,减少冗余数据。为达到以上目的,本发明采取的技术方案是:—种存储事件日志自动过滤重复抖动数据的方法,其特征在于:设置两层过滤,当从消息队列中取出等候分析的记录时,通过第一层过滤筛选出正常的事件日志记录,并将正常的事件日志记录送入记录缓存,节省逐一比较的时间;然后对经过第一层过滤后剩余的从消息队列中取出的等候分析的记录,再通过第二层过滤舍弃掉抖动数据,减少数据的冗余度,将经过第二层过滤后剩余的事件日志记录送入非易失性存储介质;当经过一段预先约定的定时时间后,将记录缓存内的数据依次按类型存储到相应的存储区。在上述技术方案的基础上,事件日志记录增加字段标记抖动次数以及抖动时长,当通过第二层过滤舍弃掉抖动数据时,计算抖动次数以及抖动时长并写入相应的事件日志记录的对应字段内。在上述技术方案的基础上,设置时间数组,保存各类型事件日志存储的最后时间,以此作为第一层过滤条件;增加一个临时的记录缓存,通过小范围的遍历筛选作为第二层过滤条件,遍历采用从后向前的方式,减少比较次数。在上述技术方案的基础上,为了避免临时的记录缓存溢出,实现实时获取事件记录,启用看门狗,定时同步临时的记录缓存到非易失性存储介质。本发明所述的存储事件日志自动过滤重复抖动数据的方法,在形成事件日志的分析阶段,通过增加有效的抖动数据过滤算法,废弃传统的数据遍历比较算法,高效过滤抖动数据,减少冗余数据。具有以下有益效果:一,算法可以高效过滤抖动数据,无需人工干预,节省人力物力。二,减少冗余数据,增大存储空间,为后期数据分析提供便利。三,算法层次清晰明了,易于后期维护与扩展。


本发明有如下附图:图1:事件日志存储过程,图2:分析阶段两层过滤,图3:抖动数据算法流程。
具体实施例方式以下结合附图对本发明作进一步详细说明。如图2所示,本发明所述的存储事件日志自动过滤重复抖动数据的方法,设置两层过滤,当从消息队列(亦称为事件日志队列)中取出等候分析的记录(事件日志记录)时,通过第一层过滤筛选出正常的事件日志记录,并将正常的事件日志记录送入记录缓存,节省逐一比较的时间;然后对经过第一层过滤后剩余的从消息队列中取出的等候分析的记录,再通过第二层过滤舍弃掉抖动数据,减少数据的冗余度,将经过第二层过滤后剩余的事件日志记录送入非易失性存储介质(按类型存储到相应的存储区)。当经过一段预先约定的定时时间(通过看门狗实现此功能)后,即可将记录缓存内的数据依次按类型存储到相应的存储区(指非易失性存储介质中的存储区)。第一层过滤的数据需要“送入记录缓存”,而第二层过滤的数据则“送入非易失性存储介质”,这是两种不同的存储方式,第一层过滤直接存储到内存的记录缓存,是高速存储且为临时存储,主要是为了进行第二层过滤,第二层过滤是存储到存储介质中(即FRAM),经过二层过滤后存储到FRAM中的内容全部为准确记录。对于区分“通过第一层过滤筛选出正常的事件日志记录”、“通过第二层过滤舍弃掉抖动数据”以及“经过第二层过滤后剩余的事件日志记录”,现通过举例说明:我们设定的抖动间隔时间为2s。那么在2s内,仅收到一条的记录即为“通过第一层过滤筛选出正常的事件日志记录”,而收到的多条内容完全相同的记录(假设为10条)则认为其中包括“通过第二层过滤舍弃掉抖动数据”,对于这多条记录,最终存储到FRAM中的记录只会有一条,此条即“经过第二层过滤后剩余的事件日志记录”。即:经过二层过滤剩余的也就是正确的记录,就是最终保留的这一条记录。其余的9条是抖动的,最终会被抛弃掉。在上述技术方案的基础上,事件日志记录增加字段标记抖动次数以及抖动时长,当通过第二层过滤舍弃掉抖动数据时,计算抖动次数以及抖动时长并写入相应的事件日志记录的对应字段内。在上述技术方案的基础上,设置时间数组,保存各类型事件日志存储的最后时间,以此作为第一层过滤条件;增加一个临时的记录缓存,通过小范围的遍历筛选(数据遍历比较算法)作为第二层过滤条件,遍历采用从后向前的方式,减少比较次数。在上述技术方案的基础上,为了避免临时的记录缓存溢出,实现实时获取事件记录,启用看门狗,定时同步临时的记录缓存到非易失性存储介质。如图3所示,为一个采用本发明方案的实施例的具体步骤: 第一步,在用于处理消息队列中的记录并生成事件日志的事件日志模块软件中,新增时间数组T[N],N为事件日志记录的类型总数,分别存储N类事件日志记录接收的最后时间,以此作为第一层过滤条件。第二步,内存中设置一块临时记录缓存区域,该临时的记录缓存保存指定时间间隔内接收到的最多200条有效记录以及每条相同记录接收到的最后时间。指定时间间隔的确定可根据实际需要选择,例如:1s, 2s, 3s,—般不超过5s。第三步,启动任务,依次从消息队列(亦称为事件日志队列)队首取出事件日志记录。第四步,第一层过滤,比较当前记录接收时间与时间数组中对应类型记录最后接收时间,超过指定时间间隔则省去二次过滤,直接将此记录存入临时记录缓存。否则继续等待第二层过滤。第五步,第二层过滤,从后向前依次遍历200条临时记录缓存,找到匹配记录且时间间隔小于指定时间间隔,判断其为抖动记录,抛弃,否则存入临时记录缓存。第六步,等待看门狗定时时间到来,依次将临时记录缓存中各条事件记录写入存储介质。本发明给出的方案已经成功应用于fonstlOOO, fonst3000, fonst4000, fonst5000
等众多系统中。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
权利要求
1.一种存储事件日志自动过滤重复抖动数据的方法,其特征在于:设置两层过滤,当从消息队列中取出等候分析的记录时,通过第一层过滤筛选出正常的事件日志记录,并将正常的事件日志记录送入记录缓存,节省逐一比较的时间;然后对经过第一层过滤后剩余的从消息队列中取出的等候分析的记录,再通过第二层过滤舍弃掉抖动数据,减少数据的冗余度,将经过第二层过滤后剩余的事件日志记录送入非易失性存储介质; 当经过一段预先约定的定时时间后,将记录缓存内的数据依次按类型存储到相应的存储区。
2.如权利要求1所述的存储事件日志自动过滤重复抖动数据的方法,其特征在于:事件日志记录增加字段标记抖动次数以及抖动时长,当通过第二层过滤舍弃掉抖动数据时,计算抖动次数以及抖动时长并写入相应的事件日志记录的对应字段内。
3.如权利要求1所述的存储事件日志自动过滤重复抖动数据的方法,其特征在于:设置时间数组,保存各类型事件日志存储的最后时间,以此作为第一层过滤条件; 增加一个临时的记录缓存,通过小范围的遍历筛选作为第二层过滤条件,遍历采用从后向前的方式,减少比较次数。
4.如权利要求3所述的存储事件日志自动过滤重复抖动数据的方法,其特征在于 为了避免临时的记录缓存溢出,实现实时获取事件记录,启用看门狗,定时同步临时的记录缓存到非易失性存储介质。
全文摘要
本发明涉及一种存储事件日志自动过滤重复抖动数据的方法,设置两层过滤,当从消息队列中取出等候分析的记录(事件日志记录)时,通过第一层过滤筛选出正常的事件日志记录,并将正常的事件日志记录送入记录缓存,节省逐一比较的时间;然后对经过第一层过滤后剩余的从消息队列中取出的等候分析的记录,再通过第二层过滤舍弃掉抖动数据,减少数据的冗余度,将经过第二层过滤后剩余的事件日志记录送入非易失性存储介质。当经过一段预先约定的定时时间后,将记录缓存内的数据依次按类型存储到相应的存储区。本发明所述的方法,在形成事件日志的分析阶段,通过增加有效的抖动数据过滤算法,废弃传统的数据遍历比较算法,高效过滤抖动数据,减少冗余数据。
文档编号G06F17/30GK103164511SQ201310055768
公开日2013年6月19日 申请日期2013年2月21日 优先权日2013年2月21日
发明者黄倩 申请人:烽火通信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1