本发明涉及电力系统自动化,尤其涉及变电站设备运行软件的信息采集、校验、监控方法。
背景技术:
1、近年来,随着技术的快速发展,变电站尤其是新能源发电厂站运行设备、业务也越来越繁杂,涉及到的运行软件和依赖的各类文件数量庞大,当其中软件、关键文件被恶意篡改或者配置错误,会造成设备软件运行的状况与所期望的不一致,对厂站业务的正常运行产生威胁,甚至会影响整个电力的安全运行,因此设备软件运行状况的信息采集至关重要。然而,现有的设备软件信息采集主要依赖于设备厂商提供的设备软件版本号、校验码,无法验证现场运行设备的软件与提供软件的版本一致性,并且缺少对设备内软件的运行环境、关键配置文件的校验,对设备软件的运行环境、可执行文件、关键配置文件缺少可靠的采集与监视手段。
2、公开号为cn106775808a的中国发明专利申请,公开了一种基于远程校验算法的c/s架构软件自动更新升级方法,各用户的客户端对待更新的软件版本、校验值信息和对应的更新策略信息进行采集,并上报给服务端;服务端对各用户的客户端上报的软件版本、校验值信息和对应的更新策略信息进行汇总,形成软件自动更新策略管理文件;当应用软件新版本提交至服务端的版本库后,服务端根据各用户的自动更新策略管理文件下发更新通告;客户端采用编解码技术以及数字签名技术将应用软件当前版本形成校验值,发送至服务端;服务端将应用软件新版本的校验值与客户端当前软件版本的校验值进行比对;服务端通过比对,将应用软件新版本中与客户端不一致的软件文件版本下发至客户 端;客户端将接收的文件版本的安装运行文件替换掉当前版本的文件,完成升级;上述公开方案能够将待更新的客户端软件统一到最新软件版本上,从而避免软件版本的“碎片化”产生。而本发明要提供一种与上述公开方案不同的设备运行软件的信息采集、校验、监控方法,实时的监视设备软件的运行状态,从而保障厂站业务的正常、安全运行。
技术实现思路
1、技术目的:为了克服现有技术中存在的不足,本发明提供了变电站设备运行软件的信息采集、校验、监控方法。
2、技术方案:为实现上述目的,本发明公开的变电站设备运行软件的信息采集、校验、监控方法,采用cs框架结构,厂站内各设备采集服务端部署采集服务代理程序,厂站内ii或iv区部署监控客户端,包括以下步骤:
3、s1:采集服务端接收到监控客户端下发的“采集”命令后,获取、解析并记录厂站内各设备所有运行进程的映射信息,生成进程树并发送监控客户端;
4、s2:监控客户端接收到运行进程信息,生成设备的校验入口配置,并将校验配置文件发送至采集服务端;
5、s3:设备软件校验库采集:采集服务端将配置文件保存至本地,进行配置文件解析,获取设备名称、型号、生产厂商、软件版本、所属安全区、校验关键进程链表、静态文件-目录链表;开展进程校验库采集和静态文件-目录链表采集,将校验结果传送至监控客户端;
6、s4:校验版本库生成:监控客户端接收校验结果并展示,运维人员根据业务需要调整文件的类型、级别及是否监测,生成版本库文件并保存至本地版本库,同时下发至采集服务端;
7、s5:文件版本库动态监测:通过运行程序文件的动态监测和文件静态监测,并计算获取所有文件的校验码,保存当前监测结果;
8、s6:版本库比对:监控客户端在收到紧急或重要告警日志时,可主动获取设备当前监测结果,与本地版本库进行版本比对,评估设备运行的可靠性,确定现场运行版本。
9、进一步地,所述步骤s1包括以下步骤:
10、a1:采集服务端的采集服务代理程序收到监控客户端的“采集”命令后,搜索设备的虚拟文件系统,获取设备所有运行进程的映射信息;
11、a2:解析映射信息,记录每个进程的名称、进程id、父进程id、进程组id、运行状态、文件名、命令参数;
12、a3:通过每个进程的所述进程id与父进程id,创建每个进程的父子、姐妹关系图,形成进程树,并发送监控客户端展示。
13、进一步地,所述步骤s2包括以下步骤:
14、b1:监控客户端根据各设备运行业务的不同,依据进程树的依赖关系选择所需的重要进程,在校验关键进程链表基础上增加保障设备运行的静态文件-目录,生成设备的校验入口配置;
15、b2:在监控客户端输入设备名称、型号、生产厂商、软件版本、校验入口、所属安全区,生成各设备的校验配置文件并发送至采集服务端。
16、进一步地,所述步骤s3中进程校验库采集包括以下步骤:
17、c1:按照所述步骤s1方法获取设备当前正在运行的进程并生成进程树;
18、c2:检查配置文件解析中所述校验关键进程链表中每项进程是否存在于所述步骤c1的进程树中,若存在,则表示该进程正常运行;反之,则表示该进程未正常运行,此时采集服务端程序产生告警日志并上传至监控客户端,运维人员判断设备运行状态、监控客户端校验的配置文件是否准确;
19、c3:检查所述步骤c1的进程树中的每个进程均包含于所述校验关键进程链表中,将需要校验的进程的校验标志位设为“ture”,通过进程树关系表检查其所有子进程,将需要校验的子进程的校验标志位设为“ture”;
20、c4:检查进程树中各进程的校验标志位,解析校验标志位为“true”的进程,分析进程运行的内存映射信息、运行目录和文件流,获取进程正常运行所依赖的程序文件、系统库文件、第三方库文件、配置文件和日志文件;
21、c5:将获取的程序文件、系统库文件、第三方库文件、配置文件和日志文件进行判重处理,去除重复文件,计算每个文件的校验码md5值,将所有文件的文件路径、文件类型、重要级别、md5值、是否监测存储到数据库内。
22、进一步地,所述步骤c5中所述文件路径为全路径名称;所述文件类型包括程序文件、系统库文件、第三方库文件、配置文件、日志文件和其他文件;所述重要级别按所述文件类型初步设置为:程序文件为“1紧急”,系统库文件和第三方库文件为“2重要”,配置文件、日志文件和其他文件为“3次要”;将需运行的程序文件标记为“true”;无需监测的日志文件标记为“false”。
23、进一步地,所述步骤s3中静态文件-目录链表采集包括以下步骤:
24、d1:检查静态文件-目录链表中每一项的属性状态,所述属性状态包括文件类型以及文件是否存在,若文件不存在,采集服务端程序产生告警日志并上传监控客户端,运维人员判断设备配置及设备运行是否正常、监控客户端校验的配置文件是否准确;
25、d2:对于静态文件则直接调用计算模块计算文件的校验码md5值,对于静态目录则循环检查并计算该静态目录及其子目录下静态文件的校验码md5值,完成对目录下静态文件的筛查,将完成校验的静态文件的文件路径、文件类型、重要级别、md5值、是否运行、是否监测存储到数据库。
26、进一步地,所述步骤s4中文件的级别设置为:常驻运行的程序文件为紧急<1>,库文件与非常驻运行程序文件为重要<2>,配置文件可设置为重要<2>或次要<3>,其他文件设置为一般<4>。
27、进一步地,所述步骤s5中运行程序文件的动态监测包括以下步骤:
28、e1:按照所述步骤s1方法获取设备当前正在运行的进程并生成进程树;
29、e2:运行状态判断:通过所述步骤e1中的进程树检查版本库中文件级别为紧急<1>的程序文件是否运行,若未运行,则采集服务代理程序产生告警日志并上传监控客户端;
30、e3:程序文件运行解析:正常运行的程序文件通过解析获取所依赖程序文件、系统库文件、第三方库文件、配置文件和日志文件,计算文件的校验码md5值,与版本库文件名称、校验码比较,若与版本库中需监测的文件名称、校验码出现任一不符,则采集服务代理程序产生告警日志并上传监控客户端;
31、所述步骤s5中文件静态监测包括以下步骤:
32、f1:文件状态检查:周期性检测版本库中需监测文件的状态,对于版本库文件不存在或存在文件的md5值与版本库进行比较产生不一致,均需产生告警日志并上传监控客户端;
33、f2:文件属性监测:实时监测版本库文件,文件的内容或属性变化时,计算文件的md5值并与版本库比较,产生告警日志并上传监控客户端。
34、进一步地,当设备软件版本升级后需按照所述步骤s1~s6进行运行,相同设备只需采集其任一一台设备的版本并生成版本库,相同设备中的其他设备只需完成版本库的下装和版本监测。
35、本发明的有益效果是:
36、监测范围广:本方法可以监测设备内可执行文件、系统动态库、第三方依赖库、配置文件/库、脚本文件等;监测准确度高:本方法通过动态的方式获取设备内运行的进程数列表,并解析进程在运行时的内核信息,获取的信息无法外部修改,信息更加准确;监测内容全面:可以实时监视设备内程序的运行状态,对关键程序的异常退出产生告警,并根据版本库内条目的等级划分在发生异常变化时发送告警至客户端软件,同时客户端软件提供远程控制服务,包括配置的查看与修改、采集代理的参数设置、采集代理远程升级等,本方法可实时的监视设备软件的运行状态,从而保障厂站业务的正常、安全运行。