本发明涉及一种智能变电站监控系统服务控制台实现方法,尤其是涉及一种基于看门狗技术的智能变电站监控系统服务控制台实现方法。
背景技术:
电力系统用户对智能变电站的要求主要是可靠性高、智能化程度高,因为智能变电站是一个系统的存在,容易出现某一故障牵一发而动全身的现象,所以变电站自身和内部的所有设施都要求高度的可靠性,这样的特性也就要求变电站的各子系统需要具有自我检测及管理故障的功能,只有具有该功能才可以有效地预防变电站故障的出现。作为智能变电站监控系统的子系统之一的变电站后台监控系统也要求具备高度的可靠性,并具备自恢复功能。
为了提高智能变电站后台监控系统的可靠稳定运行,在后台监控系统出现故障时能够自动恢复,提高其可用率;同时也为了便于用户在变电站后台监控系统的人工和自动化操作,提出了一种基于看门狗技术的智能变电站监控系统服务控制台实现方法。
本发明通过子服务进程配置文件管理需要启动的子服务进程,子服务进程管理器监视子服务进程的运行情况,子服务进程管理器通知控制台子服务是否正常运行,并可通过控制台的服务界面启动/停止所有监控的子服务进程。本发明提供子服务进程故障自动重启功能,可以高效地监视后台监控系统的运行,实现后台监控系统无人值守,同时也可以给相关变电站操作人员提供友好的操作界面,具有积极的应用价值。
以下是文中所用到的一些专用名词的说明:
服务控制台:变电站后台监控系统的总控制台,可运行于后台,也可运行于前台。
服务控制台界面:服务控制台C/S架构的界面,可用于对服务控制台监控的子线程进行启动/停止操作。
子服务进程管理器:服务控制台中用于管理后台运行的子服务进程。
子服务进程:变电站后台监控系统的各功能服务,其依赖于服务控制台。
子线程管理器:用于管理子服务进程中的子线程。
子线程:子服务进程中的线程,用于实现监控系统中不同的功能。
事件管理器:每个子服务进程对应一个事件管理器,用于其与子服务进程管理器的通信。
技术实现要素:
本发明所要解决的技术问题,是提供一种基于看门狗技术的智能变电站监控系统服务控制台实现方法,本方法在变电站运行时,根据服务控制台管理文件初始化子服务进程管理器,自动监视各子服务进程的运行状态,实现变电站后台监控系统的自动监视、控制及故障重启功能,保障变电站的长时间稳定运行,为实现变电站无人值守提供了坚实的基础。
为解决上述技术问题,本发明采用的技术方案如下:
基于看门狗技术的智能变电站监控服务控制台实现方法,包括如下步骤:
步骤1:根据变电站后台监控系统的启动要求配置需运行的子服务进程管理文件,该子服务进程管理文件具体包括以下信息:
(1)子服务进程数量,服务控制台所要启动的子服务进程数;
(2)子服务进程名称,服务控制台在启动时根据子服务进程名称在操作系统中创建对应的共享内存;
(3)子服务进程启动时间,即服务控制台在启动该子服务进程时的最长启动时间,如在规定的时间内未成功启动则服务控制台将杀死该子服务进程;
(4)子服务进程看门狗时间,即服务控制台在等待该子服务进程向其发送服务活动数据时的最长等待时间;
步骤2:服务控制台启动子服务进程;
步骤2-1:服务控制台读取子服务进程管理文件,获取需要监控的子服务进程数量;
步骤2-2:服务控制台读取子服务进程管理文件中各子服务进程名称、子服务进程启动时间、子服务进程看门狗时间,初始化子服务进程管理器;
步骤2-3:子服务进程管理器创建监视子服务进程的线程,记录各子服务进程的ID、启动时间、看门狗时间,并建立内存处理对象,针对各子服务进程建立事件管理器,子服务进程启动完成;
步骤2-4:如果启动子服务进程不成功,则返回步骤2,否则执行步骤3;
步骤3:子服务进程启动其子线程;
步骤3-1:子服务进程建立与该子服务进程的事件管理器的通信,并初始化实时内存,同时初始化其子线程管理器及看门狗时间;
步骤3-2:子服务进程的子线程向其子线程管理器注册,将子线程的活动事件交由子线程管理器进行统一管理;
步骤3-3:子服务进程的子线程启动,子线程在运行时发送活动事件通知其子线程管理器,子线程管理器根据每个子线程的活动事件监视每个子线程的活动;
步骤4:服务控制台监视子服务进程;
步骤4-1:子服务进程在运行时将本子服务进程各子线程的运行情况通知到服务控制台的子服务进程管理器的事件管理器,同时写入本子服务进程的活动数据;
步骤4-2:服务控制台的子服务进程管理器实时获取所监控的子服务进程的活动数据,判断子服务进程是否运行正常;
步骤4-3:如果子服务进程运行不正常,即在设定时间内未收到子服务进程的活动数据,子服务进程管理器认定该子服务进程已经程序出错或者程序崩溃,服务控制台杀死该子服务进程,并返回步骤2重新启动该子服务进程;
如果子服务进程运行正常,返回步骤3,同时,服务控制台通知服务控制台界面显示子服务进程的实时状态。
有益效果:本发明提供了一种基于看门狗技术的智能变电站监控系统服务控制台实现方法,基于该方法可以开发智能变电站监控系统服务控制台软件,用于守护监控系统后台运行的各子服务进程,具有如下效果:
(1)本发明提出的基于看门狗技术的智能变电站监控系统服务控制台实现方法秉承了面向对象和模块化的设计理念,数据处理效率快,可靠性强,准确率高,具有高内聚、低耦合、可维护性和移植性强等优点。
(2)基于本发明提出的智能变电站监控系统服务控制台实现方法,可以研制智能变电站监控系统服务控制台软件,该控制台软件应用灵活,可扩展性强;具备友好的人工监视和控制界面;控制台服务可自动监视各子服务进程的运行状态,实现子服务进程的监视、控制及故障重启功能,并可将各子服务进程的状态显示在界面上。基于本发明提出的智能变电站监控系统服务控制台实现方法,可广泛应用于智能变电站的后台监控系统,有力地保障智能变电站后台监控系统的长时间稳定运行,对于智能变电站无人值守的大力推广具有积极的现实意义。
附图说明
图1为本发明主流程图;
图2为本发明数据流图;
图3为数据交互序列图。
具体实施方式
如图1-3所示,一种基于看门狗技术的变电站监控系统服务控制台实现方法,包括以下步骤:
步骤1:根据变电站后台监控系统的启动要求配置需运行的子服务进程管理文件,该子服务进程管理文件具体包括以下信息:
(1)子服务进程数量,服务控制台所要启动的子服务进程数;
(2)子服务进程名称,服务控制台在启动时根据子服务进程名称在操作系统中创建对应的共享内存;
(3)子服务进程启动时间,即服务控制台在启动该子服务进程时的最长启动时间,如在规定的时间内未成功启动则服务控制台将杀死该子服务进程;
(4)子服务进程看门狗时间,即服务控制台在等待该子服务进程向其发送服务活动数据时的最长等待时间;
步骤2:服务控制台启动子服务进程;
步骤2-1:服务控制台读取子服务进程管理文件,获取需要监控的子服务进程数量;
步骤2-2:服务控制台读取子服务进程管理文件中各子服务进程名称、子服务进程启动时间、子服务进程看门狗时间,初始化子服务进程管理器;
步骤2-3:子服务进程管理器创建监视子服务进程的线程,记录各子服务进程的ID、启动时间、看门狗时间,并建立内存处理对象,针对各子服务进程建立事件管理器,子服务进程启动完成;
步骤2-4:如果启动子服务进程不成功,则返回步骤2,否则执行步骤3;
步骤3:子服务进程启动其子线程;
步骤3-1:子服务进程建立与该子服务进程的事件管理器的通信,并初始化实时内存,同时初始化其子线程管理器及看门狗时间;
步骤3-2:子服务进程的子线程向其子线程管理器注册,将子线程的活动事件交由子线程管理器进行统一管理;
步骤3-3:子服务进程的子线程启动,子线程在运行时发送活动事件通知其子线程管理器,子线程管理器根据每个子线程的活动事件监视每个子线程的活动;
步骤4:服务控制台监视子服务进程;
步骤4-1:子服务进程在运行时将本子服务进程各子线程的运行情况通知到服务控制台的子服务进程管理器的事件管理器,同时写入本子服务进程的活动数据;
步骤4-2:服务控制台的子服务进程管理器实时获取所监控的子服务进程的活动数据,判断子服务进程是否运行正常;
步骤4-3:如果子服务进程运行不正常,即在设定时间内未收到子服务进程的活动数据,子服务进程管理器认定该子服务进程已经程序出错或者程序崩溃,服务控制台杀死该子服务进程,并返回步骤2重新启动该子服务进程;
如果子服务进程运行正常,返回步骤3,同时,服务控制台通知服务控制台界面显示子服务进程的实时状态。