DCS制造技术

技术编号:39425466 阅读:10 留言:0更新日期:2023-11-19 16:12
本发明专利技术属于

【技术实现步骤摘要】
DCS控制器上防止日志风暴的方法、系统、设备及存储介质


[0001]本专利技术属于
DCS
数据处理
,具体涉及
DCS
控制器上防止日志风暴的方法

系统

设备及存储介质


技术介绍

[0002]分散控制系统
DCS
是利用计算机技术对生产过程进行集中监视

操作

管理和分散控制的一种新型控制设备,其广泛的应用于电力

冶金

化工等工业生产领域;分散控制系统中包括数以千计的各类型测控传感器

通讯设备及计算机系统,是电力等生产企业的核心监控系统,实时上传电厂所有生产数据,并控制系统全部运行参数,在电厂生产过程中发挥着关键作用

[0003]分散控制系统的控制器软件在使用过程中,可能会遇到运行异常导致的日志风暴问题;现有电厂的分散控制系统的自身运行状态全部记录在系统的运维日志中,当软件运行异常时,控制器上可能会出现大量的冗余性日志

这些大量的重复性日志一窝蜂地通过网络,大量的上报到管理平台,如果不加以干涉,此时这些巨量的日志不仅会造成网络拥塞,影响电力正常业务的运行,还会覆盖有用的日志,进而会影响到电力业务系统的正常运行


技术实现思路

[0004]为解决现有技术中存在的问题,本专利技术的目的在于提供
DCS
控制器上防止日志风暴的方法

系统

设备及存储介质,本专利技术能够安全有效地避免
DCS
控制器上出现日志风暴,进而避免由于
DCS
控制器上出现的日志风暴影响到电力业务系统正常运行的问题

[0005]本专利技术采用的技术方案如下:
DCS
控制器上防止日志风暴的方法,包括如下过程:
S1
:接收来自用户业务进程的日志;
S2
:从已建立的循环队列的队尾到队头依次遍历日志,在遍历的过程中将来自用户业务进程的日志与循环队列中的日志进行匹配,判断来自用户业务进程的日志是否为重复日志,如果是重复日志,将接收的来自用户业务进程的日志丢弃并接收下一条日志,否则将来自用户业务进程的日志插入循环队列的队尾并统计日志;所述循环队列用于缓存日志;
S3
:提取循环队列队首的第一条日志;统计第一时间段内上报的日志总条目数,所述第一时间段为:从当前时间起向前推第一预设时长后的时间点与当前时间点之间的时长;如果第一时间段内上报的日志总条目数小于日志上报条数的阈值,则将循环队列队首的第一条日志发出,否则将提取的第一条日志丢弃;之后转至
S1。
[0006]优选的,循环队列中的每一条日志均附带日志的生成时间;循环队列中的日志从队头到队尾按照日志生成的时间先后进行排序

[0007]优选的,判断来自用户业务进程的日志是否为重复日志的过程包括:
判断来自用户业务进程的日志与循环队列中日志的内容是否相同,以及来自用户业务进程的日志的生成时间与当前时间的间隔是否小于第一预设时长;若来自用户业务进程的日志与循环队列中日志的内容相同,且来自用户业务进程的日志的生成时间与当前时间的间隔小于第一预设时长,则判断来自用户业务进程的日志为重复日志,否则判断来自用户业务进程的日志不是重复日志

[0008]优选的,所述第一预设时长为
1~30


[0009]优选的,所述循环队列中缓存的最大日志条数的取值范围为
100~10000。
[0010]优选的,所述日志上报条数的阈值的范围为
2~100。
[0011]本专利技术还提供了
DCS
控制器上防止日志风暴的系统,包括:日志接收模块:用于接收来自用户业务进程的日志;日志匹配模块:用于从已建立的循环队列的队尾到队头依次遍历日志,在遍历的过程中将来自用户业务进程的日志与循环队列中的日志进行匹配,判断来自用户业务进程的日志是否为重复日志,如果是重复日志,将接收的来自用户业务进程的日志丢弃并接收下一条日志,否则将来自用户业务进程的日志插入循环队列的队尾并统计日志;所述循环队列用于缓存日志;日志上报模块:用于提取循环队列队首的第一条日志;统计第一时间段内上报的日志总条目数,所述第一时间段为:从当前时间起向前推第一预设时长后的时间点与当前时间点之间的时长;如果第一时间段内上报的日志总条目数小于日志上报条数的阈值,则将循环队列队首的第一条日志发出,否则将提取的第一条日志丢弃;向日志接收模块发出接收下一条来自用户业务进程的日志的指令

[0012]优选的,日志上报模块包括:日志记录器:用于获取循环队列队首的第一条日志的生成时间点,统计第一时间段内上报的日志总条目数;判断模块:用于根据第一时间段内上报的日志总条目数以及日志上报条数的阈值,判断是否将循环队列队首的第一条日志发出,如果第一时间段内上报的日志总条目数小于日志上报条数的阈值,则发出将循环队列队首的第一条日志发出的指令,否则将提取的第一条日志丢弃;发送接收下一条来自用户业务进程的日志的指令;日志发送模块:用于根据判断模块的指令发出日志;接收日志指令发送模块:用于将接收下一条来自用户业务进程的日志的指令发送给日志接收模块

[0013]本专利技术还提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本专利技术如上所述的
DCS
控制器上防止日志风暴的方法

[0014]本专利技术还提供了一种存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现本专利技术所述的
DCS
控制器上防止日志风暴的方法

[0015]本专利技术具有如下有益效果:本专利技术
DCS
控制器上防止日志风暴的方法中,通过用于缓存日志的循环队列能够
将触发的日志先缓存于循环队列中,然后判断来自用户业务进程的日志是否为重复日志,同时控制日志上报的频率和频次,只有当符合预设的条件时,才会将循环队列中的日志上报,否则将来自用户业务进程的日志丢弃,所述预设的条件指的是来自用户业务进程的日志不是重复日志以及预设时间内上报的日志的最大数量未达到上限值,所述预设时间指的是所述第一时间段;因此本专利技术能够安全有效地避免
DCS
控制器上出现日志风暴,进而避免由于
DCS
控制器上出现的日志风暴影响到电力业务系统正常运行的问题

附图说明
[0016]图1为本专利技术
DCS
控制器上防止日志风暴的方法的流程图

具体实施方式
[0017]下面结合附图和实施例来对本专利技术做进一步的说明
。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.DCS
控制器上防止日志风暴的方法,其特征在于,包括如下步骤:
S1
:接收来自用户业务进程的日志;
S2
:从已建立的循环队列的队尾到队头依次遍历日志,在遍历的过程中将来自用户业务进程的日志与循环队列中的日志进行匹配,判断来自用户业务进程的日志是否为重复日志,如果是重复日志,将接收的来自用户业务进程的日志丢弃并接收下一条日志,否则将来自用户业务进程的日志插入循环队列的队尾并统计日志;所述循环队列用于缓存日志;
S3
:提取循环队列队首的第一条日志;统计第一时间段内上报的日志总条目数,所述第一时间段为:从当前时间起向前推第一预设时长后的时间点与当前时间点之间的时长;如果第一时间段内上报的日志总条目数小于日志上报条数的阈值,则将循环队列队首的第一条日志发出,否则将提取的第一条日志丢弃;之后转至
S1。2.
根据权利要求1所述的
DCS
控制器上防止日志风暴的方法,其特征在于,循环队列中的每一条日志均附带日志的生成时间;循环队列中的日志从队头到队尾按照日志生成的时间先后进行排序
。3.
根据权利要求1所述的
DCS
控制器上防止日志风暴的方法,其特征在于,判断来自用户业务进程的日志是否为重复日志的过程包括:判断来自用户业务进程的日志与循环队列中日志的内容是否相同,以及来自用户业务进程的日志的生成时间与当前时间的间隔是否小于第一预设时长;若来自用户业务进程的日志与循环队列中日志的内容相同,且来自用户业务进程的日志的生成时间与当前时间的间隔小于第一预设时长,则判断来自用户业务进程的日志为重复日志,否则判断来自用户业务进程的日志不是重复日志
。4.
根据权利要求1或3所述的
DCS
控制器上防止日志风暴的方法,其特征在于,所述第一预设时长为
1~30

。5.
根据权利要求1所述的
DCS
控制器上防止日志风暴的方法,其特征在于,所述循环队列中缓存的最大日志条数的取值范围为
100~10000。6.
根据权利要求1所述的
DCS
控制器上防止日志风暴的方法,其特征在...

【专利技术属性】
技术研发人员:苏立新汤福项涛李业旺韩培林吴龙飞焦龙张勇李亚都张昇张军巨鸿懿
申请(专利权)人:大唐高鸿信安浙江信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1