CN104539053A - 基于爬虫技术的电力调度自动化巡检机器人及巡检方法 - Google Patents
基于爬虫技术的电力调度自动化巡检机器人及巡检方法 Download PDFInfo
- Publication number
- CN104539053A CN104539053A CN201410854336.4A CN201410854336A CN104539053A CN 104539053 A CN104539053 A CN 104539053A CN 201410854336 A CN201410854336 A CN 201410854336A CN 104539053 A CN104539053 A CN 104539053A
- Authority
- CN
- China
- Prior art keywords
- module
- data
- task
- patrol
- script
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Testing And Monitoring For Control Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于爬虫技术的电力调度自动化巡检机器人及巡检方法,其中巡检机器人包括远程接口服务模块,主控程序模块,任务模块,脚本解析模块,巡检上传数据处理模块,异常管理模块和运行状态监控模块,本发明的巡检机器人基于爬虫技术,通过HTTP代理方式,模拟HTTP请求,利用HttpClient和HtmlParser开源组件针对URL连接和界面解析的技术,实现爬取需要监控的业务系统的链接和关键数据,实现对信息系统的自动化巡检。采用本发明,可以大量巡检信息系统,通过录制脚本的形式,达到巡检的目的,简化了信息系统巡检的过程,使得大量的重复人力资源得到释放,提高调度员巡检业务系统的工作效率。
Description
技术领域
本发明涉及一种基于爬虫技术的电力调度自动化巡检机器人及巡检方法,属于电力信息调度自动化技术领域。
背景技术
随着江苏省电力公司信通分公司调度中心向着智能化发展,对维护着全省大量的业务系统,业务系统的智能化巡检也成为发展趋势。目前业务巡检是IT业务系统日常运维工作中的重要任务之一,目前各业务系统巡检工作是通过重复手工操作完成的,即调度员对信息系统巡检主要是点击页面,通过页面的返回确定该系统是否在正常运行和肉眼观看数据是否正确;耗费了大量的人力、物力、而且效率极低。
发明内容
本发明的目的在于提供一种基于爬虫技术的电力调度自动化巡检机器人及巡检方法,当信息化系统智能巡检平台产生告警时,告警集中在巡检中心,通过产生的告警数据分析,精确定位是由哪个系统产生、并且描述问题产生的原因,并且由信息化系统智能巡检平台发送短息给相关负责人。
为达到上述目的,本发明采用的技术方案如下:
基于爬虫技术的电力调度自动化巡检机器人,包括远程接口服务模块,主控程序模块,任务模块,脚本解析模块,巡检上传数据处理模块,异常管理模块和运行状态监控模块,其中,
远程接口服务模块使用Hessian协议通信,调用业务处理端的接口服务接收巡检策略脚本包和发送巡检策略脚本处理结果数据;
主控程序模块负责巡检策略脚本数据、巡检机器人配置参数、心跳服务的初始化,以及巡检定时任务的生成;
任务模块利用Quartz开源组件,生成巡检定时任务,以及对巡检任务的管理;
脚本解析模块利用Xstream开源组件,解析利用自动化录制巡检作业脚本工具录制的业务系统巡检策略脚本,将脚本中的URL放入数据爬取层模块中的脚本路径队列模块的脚本路径队列中,将脚本中的页面取数逻辑放入数据爬取层模块中的页面取数逻辑队列模块的页面取数逻辑队列中;
巡检上传数据处理模块负责组装巡检结果数据,并上传到远处接口服务模块的入库队列中;
数据爬取层模块利用HttpClient开源组件,分析业务系统能否正常访问,利用HtmlParser开源组件,抓取、过滤页面数据,并生成巡检结果数据;
异常管理模块负责管理巡检机器人出现的异常;
运行状态监控模块负责监控运行线程的状态。
前述的远程接口服务模块包括巡检策略任务包获取,入库队列和数据收发三个子模块,
所述巡检策略任务包获取模块负责调用业务处理端的接口服务,获取新增、修改、删除巡检策略脚本;
所述入库队列模块负责缓存执行巡检策略脚本生成的数据,并管理队列中的数据,以免频繁的访问业务处理端的接口服务;
所述数据收发模块负责当入库队列模块中的数据达到一定数量时,调用业务处理端的接口服务,发送入库队列模块中数据。
前述的主控程序模块包括巡检任务包获取,巡检机器人实例环境参数,心跳服务,巡检任务状态表和最新任务轮调五个子模块,
所述巡检任务包获取模块负责调用远程接口服务模块中巡检策略任务包获取模块,获取所有需要巡检的业务系统的巡检策略脚本,并调用任务模块的任务建立模块,生成巡检定时任务;
所述巡检机器人实例环境参数模块负责加载巡检机器人相关的属性配置到内存,以免重复读取;
所述心跳服务模块负责实时向看门狗服务发送socket消息,实时监控巡检机器人的进程状态;
所述巡检任务状态表模块负责实时更新、监控任务模块中任务执行容器中任务的状态;
所述最新任务轮调模块负责任务的任务调度的管理,使任务能实时执行。
前述的任务模块包括任务建立,任务运行状态,任务运行环境参数,爬虫爬取参数,任务执行容器和巡检数据结果组装六个子模块,
所述任务建立模块负责根据主控程序模块中巡检任务包获取模块获取的巡检策略脚本生成巡检定时任务,并调用任务执行容器模块将生成巡检定时任务放入任务执行容器中;
所述任务运行状态模块负责实时更新、监控任务执行容器中任务的状态;
所述任务运行环境参数模块负责获取巡检任务运行时需要的参数;
所述爬虫爬取参数模块负责当巡检任务需要爬取页面时,获取需要的爬取参数;
所述任务执行容器模块负责管理容器中的任务;
所述巡检数据结果组装模块负责组装巡检的结果数据,并调用巡检上传数据处理模块中的数据处理模块。
前述的脚本解析模块包括对F5、IMS、外网ISS、数据交换平台、省公司网站、短信平台、外网网站、乌云网脚本的解析。
前述的巡检上传数据处理模块包括数据处理和主动上传数据队列两个子模块,
所述数据处理模块负责组装数据爬取层模块中接收数据队列中的数据,并放入主动上传数据队列模块;
所述主动上传数据队列模块负责将队列中的数据上传到远处接口服务模块中的入库队列中。
前述的数据爬取层模块包括监听服务,http通信,脚本路径队列,页面取数逻辑队列和接收数据队列五个子模块,
所述监听服务模块负责实时扫描脚本路径队列中是否有巡检数据;
所述http通信模块负责通过HttpClient开源组件,以http协议请求巡检策略脚本中的URL,获取http响应数据,分析业务系统是否可正常访问或登录;
所述脚本路径队列模块负责管理脚本路径队列中的数据;
所述页面取数逻辑队列模块负责管理页面取数逻辑队列中的数据;
所述接收数据队列模块负责管理接收数据队列中的数据。
前述的http响应数据包括响应状态码和响应文本,通过响应状态码,分析业务系统是否可正常访问或登录,如果不正常,则生成系统巡检访问异常告警数据,放入接收数据队列中;如果正常,则获取页面取数逻辑队列中的取数逻辑,判断是否抓取页面,如果否,则生成系统巡检访问正常数据,放入接收数据队列中;如果是,则利用HtmlParser开源组件和页面取数逻辑队列中的取数逻辑,抓取响应文本,并生成系统巡检页面抓取数据,放入接收数据队列中。
前述的异常管理模块包括数据接口状态异常,接收数据异常,巡检任务异常和其他异常四个子模块,
所述数据接口状态异常模块负责当出现数据接口状态异常时,数据接口状态异常模块捕获该异常,记录异常信息日志,并会生成一条工况告警;
所述接收数据异常模块负责当出现接收数据异常时,接收数据异常模块捕获该异常,记录异常信息日志,并会生成一条工况告警;
所述巡检任务异常模块负责当出现巡检任务异常时,巡检任务异常模块捕获该异常,记录异常信息日志,并会生成一条工况告警;
所述其他异常模块负责除上述异常外出现的异常,其他异常模块捕获该异常,记录异常信息日志,并会生成一条工况告警。
前述的运行状态监控模块包括运行数据接收组装监控,数据发送监控,任务运行状态,数据发送线程监控和数据接受线程监控五个子模块,
所述运行数据接收组装监控模块负责监控数据接收组装线程的状态,对异常的线程,记录异常信息日志,并会生成一条工况告警;
所述数据发送监控模块负责监控数据发送线程的状态,对异常的线程,记录异常信息日志,并会生成一条工况告警;
所述任务运行状态监控模块负责监控任务线程的状态,对异常的线程,记录异常信息日志,并会生成一条工况告警;
所述数据发送线程监控模块负责监控数据发送线程的状态,对异常的线程,记录异常信息日志,并会生成一条工况告警;
所述数据接收线程监控模块负责监控数据接收线程的状态,对异常的线程,记录异常信息日志,并会生成一条工况告警。
利用基于爬虫技术的电力调度自动化巡检机器人进行巡检的方法,包括以下步骤:
1)通过主控程序模块中的巡检任务包获取模块调用远程接口服务功能模块中的巡检策略任务包获取模块,获取新增、修改、删除巡检策略脚本,并同步所有业务系统巡检策略脚本;调用任务模块中的任务建立模块生成后台定时巡检任务,根据策略脚本中的定时机制,达到策略脚本中规定的时间时开始运行;
2)执行巡检任务,调用脚本解析模块,将巡检策略脚本中的URL放入数据爬取层模块中的脚本路径队列中,将巡检策略脚本中的页面取数逻辑放入爬取层模块中的页面取数逻辑队列中;
3)调用数据爬取层模块的http通信模块,请求脚本路径队列中的URL,校验URL是否合法、是否能正常访问或登录、是否超时,如果既能正常访问又不超时,则URL校验成功,则转入步骤4);如果其中一个条件不满足,则URL校验不成功,则转入步骤7);
4)URL校验成功,获取页面取数逻辑队列中的页面取数逻辑,判断是否需要抓取页面数据,如果是,则转入步骤5);如果否,则转入步骤7);
5)利用HtmlParser开源组件,按照页面取数逻辑中的取数规则,解析出页面中的数据,放入爬取层模块中的接收数据队列中,然后转入步骤6);
6)根据页面取数逻辑队列中的页面取数逻辑的过滤规则,过滤爬取层模块中的接收数据队列中的数据,然后转入步骤7);
7)调用巡检上传数据处理模块中的数据处理模块,如果URL校验不成功,则生成系统巡检访问异常告警数据,并放入主动上传数据队列,然后转入步骤8);如果是不需要抓取页面数据,则生成系统巡检访问正常数据,并放入主动上传数据队列,然后转入步骤8);如果是步骤6)完成数据过滤,则生成系统巡检页面抓取数据,然后转入步骤8);
8)调用主动上传数据队列模块,将数据上传到远程接口服务模块中的入库队列中,转入步骤9);
9)根据数据爬取层模块中的脚本路径队列,判断是否继续处理,如果是,则转入步骤2),否则转入步骤10);
10)爬虫结束,调用远程接口服务模块中的数据收发模块,发送入库队列中数据。
前述的步骤1)中,巡检机器人对于巡检策略脚本,会进行如下处理:
a、对新增的巡检策略脚本会及时生成后台定时巡检任务;
b、对修改的系统巡检策略脚本,首先根据策略编号,删除已存在的后台定时巡检任务,然后生成新的后台定时巡检任务;
c、对删除的巡检策略脚本,会根据策略编号及时删除对应的后台定时巡检任务;
d、巡检机器人会定时同步一键巡检策略信息,然后立刻执行。
前述的巡检策略脚本,是利用自动化录制巡检作业脚本工具,模拟调度员对信息系统的巡检的仿真,单独录制而成。
采用本发明,具有以下优点:
1) 可以爬取各种信息系统链接、业务数据,分析故障并快速定位故障源,帮助调度员快速准确地发现和定位业务系统故障。
2) 待巡检的各信息系统中各种巡检业务指标的关系动态地描述出来,依照该关系真实各信息系统运行的健康状态,使看似离散,无关联的信息系统间的揉合到一起。
3) 各信息系统部署在不同网络中,则巡检机器人在各网段都部署一套系统,然后通过端口通信,发送到内网,再进行数据集中。
4) 可以大量巡检信息系统,通过录制脚本的形式,达到巡检的目的,简化了信息系统巡检的过程,使得大量的重复人力资源得到释放,提高调度员巡检业务系统的工作效率。
附图说明
图1为本发明的巡检机器人的结构示意图;
图2为本发明的巡检方法流程图。
具体实施方式
现结合附图和具体实施方式对本发明作进一步详细说明。
本发明的基于爬虫技术的电力调度自动化巡检技术,包括模拟调度员对信息系统巡检的仿真和以脚本设置的规则爬取信息系统终端数据两部分。
一.模拟调度员对信息系统巡检的仿真
研发自动化录制巡检作业脚本工具,实现手工书写信息系统作业指导书的自动化,同时实现巡检结果告警条件的脚本化,实现巡检路径和告警脚本的一体化,支持灵活的脚本录制功能,尽量减少新系统接入巡检的工作量。本发明采用JMeter作为自动化录制巡检作业脚本工具。JMeter,一个100%的纯Java桌面应用,它是Apache组织的开放源代码项目,它是功能和性能测试的工具。JMeter可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、Java对象、数据库和查询、ftp服务器或者其他资源)。原先JMeter是为Web/HTTP测试而设计的,但是它已经扩展以支持各种各样的测试模块,它和用于HTTP和SQL数据库(使用JDBC)的模块一起运送,它可以用来测试静止资料库或者活动资料库中的服务器的运行情况,可以用来模拟对服务器或者网络系统加以重负荷以测试它的抵抗力,或者用来分析不同负荷类型下的所有运行情况,它也提供了一个可替换的界面用来定制数据显示,测试同步及测试的创建和执行。
二.以脚本设置的规则爬取信息系统终端数据
本发明的巡检机器人基于爬虫技术,通过HTTP代理方式,模拟HTTP请求,利用HttpClient和HtmlParser开源组件针对URL连接和界面解析的技术,实现爬取需要监控的业务系统的链接和关键数据,实现对信息系统的自动化巡检。
为实现上述功能,本发明的巡检机器人的结构如图1所示,包括远程接口服务模块,主控程序模块,任务模块,脚本解析模块,巡检上传数据处理模块,异常管理模块和运行状态监控模块,各模块的具体结构和功能如下:
远程接口服务模块
远程接口服务作为客户端,使用Hessian协议通信,负责调用业务处理端的接口服务接收巡检策略脚本包和发送巡检策略脚本处理结果数据。包括3个子模块,分别如下:
1、巡检策略任务包获取模块
巡检策略任务包获取模块负责调用业务处理端的接口服务,获取新增、修改、删除巡检策略脚本。业务处理端系统主要负责提供巡警机器人相关的数据收发接口服务以及处理巡警机器人抓取的数据并生成告警数据。
2、入库队列模块
入库队列模块负责缓存执行巡检策略脚本生成的数据,并管理队列中的数据,以免频繁的访问业务处理端的接口服务。
3、数据收发模块
数据收发模块负责当入库队列中的数据达到一定数量时,调用业务处理端的接口服务,发送入库队列中数据。
主控程序模块
主控程序模块是巡检机器人后台服务的入口,负责巡检策略脚本数据、巡检机器人配置参数、心跳服务的初始化,以及巡检定时任务的生成。包括5个子模块,分别如下:
1、巡检任务包获取模块
巡检任务包获取模块负责调用远程接口服务模块中巡检策略任务包获取模块,获取所有需要巡检的业务系统的巡检策略脚本,并调用任务模块的任务建立子模块,生成巡检定时任务。
2、巡检机器人实例环境参数模块
巡检机器人实例环境参数模块负责加载巡检机器人相关的属性配置到内存,以免重复读取。
3、 心跳服务模块
心跳服务模块负责实时向看门狗服务发送socket消息,以便实时监控巡检机器人的进程状态。在异常情况下,看门后可自动拉起巡检机器人服务,以免出现巡检机器人服务长时间不存在的情况。看门狗服务主要负责实时监控巡警机器人后台进程,并在巡检机器人由于异常情况停止的情况下,产生工况告警并拉起巡检机器人服务。
4、巡检任务状态表模块
巡检任务状态表模块负责实时更新、监控任务模块中任务执行容器中任务的状态。
5、 最新任务轮调模块
最新任务轮调模块主要负责任务的任务调度的管理,使任务能实时执行。
任务模块
任务模块负责利用Quartz开源组件,生成巡检定时任务,以及对巡检任务的管理。包括6个子模块,分别如下:
1、任务建立模块
任务建立模块负责根据主控程序模块中巡检任务包获取模块获取的巡检策略脚本生成定时巡检任务,并调用任务执行容器模块将生成定时巡检任务放入任务执行容器中;
2、任务运行状态模块
任务运行状态模块负责实时更新、监控任务执行容器中任务的状态。
3、任务运行环境参数模块
任务运行环境参数模块负责获取巡检任务运行时需要的参数。
4、爬虫爬取参数模块
爬虫爬取参数模块负责当巡检任务需要爬取页面时,获取需要的爬取参数。
5、任务执行容器模块
任务执行容器模块负责管理容器中的任务,包括新增、修改、删除以及停止。
6、巡检数据结果组装模块
巡检数据结果组装模块负责组装巡检的结果数据,并调用巡检上传数据处理模块中的数据处理模块。
脚本解析模块
脚本解析模块负责利用Xstream开源组件,解析利用自动化录制巡检作业脚本工具录制的业务系统巡检策略脚本,将巡检策略脚本中的URL放入数据爬取层模块中的脚本路径队列模块的脚本路径队列中,将脚本中的页面取数逻辑放入数据爬取层模块中的页面取数逻辑队列模块的页面取数逻辑队列中。脚本解析模块包括对F5、IMS、外网ISS、数据交换平台、省公司网站、短信平台、外网网站、乌云网等脚本的解析。
巡检上传数据处理模块
巡检上传数据处理模块负责组装巡检结果数据,并上传到远处接口服务模块的入库队列中。包括2个子模块,分别如下:
1、数据处理模块
数据处理模块负责组装数据爬取层模块中接收数据队列中的数据,并放入主动上传数据队列模块。
2、主动上传数据队列模块
主动上传数据队列模块负责将队列中的数据上传到远处接口服务模块中的入库队列中。
数据爬取层模块
数据爬取层模块负责利用HttpClient开源组件,分析业务系统能否正常访问,利用HtmlParser开源组件,抓取、过滤页面数据,并生成巡检结果数据。包括5个子模块,分别如下:
1、 监听服务模块
监听服务模块负责实时扫描脚本路径队列中是否有巡检数据。
2、http通信模块
http通信模块负责通过HttpClient开源组件,以http协议请求巡检策略脚本中的URL,从而获取http响应数据,包括响应状态码和响应文本。通过响应状态码,可分析业务系统是否可正常访问或登录,如果不正常,则生成系统巡检访问异常告警数据,放入接收数据队列中;如果正常,则获取页面取数逻辑队列中的取数逻辑,判断是否抓取页面,如果否,则生成系统巡检访问正常数据,放入接收数据队列中;如果是,则利用HtmlParser开源组件和页面取数逻辑队列中的取数逻辑,抓取响应文本,并生成系统巡检页面抓取数据,放入接收数据队列中。
3、脚本路径队列模块
脚本路径队列模块负责管理脚本路径队列中的数据,包括查询、入队列、出队列。
4、页面取数逻辑队列模块
页面取数逻辑队列模块负责管理页面取数逻辑队列中的数据,包括查询、入队列、出队列。
5、接收数据队列模块
接收数据队列模块负责管理接收数据队列中的数据,包括查询、入队列、出队列。
异常管理模块
异常管理模块负责管理巡检机器人可能导致的异常,以便出现问题时方便分析、解决异常问题,使巡检机器人能更好的运转。包括4个子模块,分别如下:
1、数据接口状态异常模块
数据接口状态异常模块负责当出现数据接口状态异常时,数据接口状态异常模块会捕获该异常,记录异常信息日志,并会生成一条工况告警,以便及时发现、分析、解决数据接口状态异常问题。
2、接收数据异常模块
接收数据异常模块负责当出现接收数据异常时,接收数据异常模块会捕获该异常,记录异常信息日志,并会生成一条工况告警,以便及时发现、分析、解决接收数据异常问题。
3、巡检任务异常模块
巡检任务异常模块负责当出现巡检任务异常时,巡检任务异常模块会捕获该异常,记录异常信息日志,并会生成一条工况告警,以便及时发现、分析、解决巡检任务异常问题。
4、其他异常模块
其他异常模块负责除上述异常外,只要是捕获的巡检机器人出现的异常,其他异常模块会捕获该异常,记录异常信息日志,并会生成一条工况告警,以便及时发现、分析、解决异常问题。
运行状态监控模块
运行状态监控模块负责监控运行线程的状态,以便分析模块功能是否正常。包括5个子模块,分别如下:
1、运行数据接收组装监控模块
运行数据接收组装监控模块负责监控数据接收组装线程的状态,对异常的线程,记录异常信息日志,并会生成一条工况告警,以便及时发现、分析、解决问题。
2、数据发送监控模块
数据发送监控模块负责监控数据发送线程的状态,对异常的线程,记录异常信息日志,并会生成一条工况告警,以便及时发现、分析、解决问题。
3、任务运行状态监控
任务运行状态监控模块负责监控任务线程的状态,对异常的线程,记录异常信息日志,并会生成一条工况告警,以便及时发现、分析、解决问题。
4、数据发送线程监控模块
数据发送线程监控模块负责监控数据发送线程的状态,对异常的线程,记录异常信息日志,并会生成一条工况告警,以便及时发现、分析、解决问题。
5、数据接受线程监控模块
数据接收线程监控模块负责监控数据接收线程的状态,对异常的线程,记录异常信息日志,并会生成一条工况告警,以便及时发现、分析、解决问题。
如图2所示,本发明的巡检过程,包括如下步骤:
前提条件:利用自动化录制巡检作业脚本工具,模拟调度员对信息系统的巡检的仿真,单独录制成巡检策略脚本,并上传到信息调控智能巡检平台;信息调控智能巡检平台主要用于配置巡检机器人巡检相关的策略脚本信息,以及展示各业务系统告警信息的展示。
1)通过主控程序模块中的巡检任务包获取子模块调用远程接口服务功能模块中的巡检策略任务包获取子模块,获取新增、修改、删除巡检策略脚本,并同步所有业务系统巡检策略脚本;调用任务模块中的任务建立子模块生成后台定时巡检任务,根据策略脚本中的定时机制,达到策略脚本中规定的时间时开始运行;巡检机器人对于策略脚本,会进行如下处理:
a、对新增的巡检策略脚本会及时生成后台定时巡检任务。
b、对修改的系统巡检策略脚本,首先根据策略编号,删除已存在的后台定时巡检任务,然后生成新的后台定时巡检任务。
c、对删除的巡检策略脚本,会根据策略编号及时删除对应的后台定时巡检任务。
另外巡检机器人会定时同步一键巡检策略信息,然后立刻执行。
2)执行巡检任务,调用脚本解析模块,将策略脚本中的URL放入数据爬取层模块中的脚本路径队列中,将策略脚本中的页面取数逻辑放入爬取层模块中的页面取数逻辑队列中。
3)数据爬取层模块的http通信子模块通过HttpClient开源组件,以http协议请求脚本路径队列中的URL,校验URL是否合法、是否能正常访问或登录、是否超时,如果既能正常访问又不超时,则URL校验成功,则转入步骤4);如果其中一个条件不满足,则URL校验不成功,则转入步骤7);
4)URL校验成功,获取页面取数逻辑队列中的页面取数逻辑,判断是否需要抓取页面数据,如果是,则转入步骤5);如果否,则转入步骤7);
5)利用HtmlParser开源组件,按照页面取数逻辑中的取数规则,解析出页面中的数据,放入爬取层模块中的接收数据队列中,然后转入步骤7);
6)根据页面取数逻辑队列中的页面取数逻辑的过滤规则,过滤爬取层模块中的接收数据队列中的数据,然后转入步骤7);
7)调用巡检上传数据处理模块中的数据处理子模块,如果URL校验不成功,则生成系统巡检访问异常告警数据,并放入主动上传数据队列,然后转入步骤8);如果是不需要抓取页面数据,则生成系统巡检访问正常数据,并放入主动上传数据队列,然后转入步骤8);如果是步骤6)完成数据过滤,则生成系统巡检页面抓取数据,然后转入步骤8);
8)调用主动上传数据队列子模块,将数据上传到远程接口服务模块中的入库队列中,转入步骤9);
9)根据数据爬取层模块中的脚本路径队列,判断是否继续处理,如果是,则转入步骤2),否则转入步骤10);
10)爬虫结束,调用远程接口服务模块中的数据收发模块,发送入库队列中数据。
Claims (13)
1.基于爬虫技术的电力调度自动化巡检机器人,其特征在于,包括远程接口服务模块,主控程序模块,任务模块,脚本解析模块,巡检上传数据处理模块,异常管理模块和运行状态监控模块,其中,
远程接口服务模块使用Hessian协议通信,调用业务处理端的接口服务接收巡检策略脚本包和发送巡检策略脚本处理结果数据;
主控程序模块负责巡检策略脚本数据、巡检机器人配置参数、心跳服务的初始化,以及巡检定时任务的生成;
任务模块利用Quartz开源组件,生成巡检定时任务,以及对巡检任务的管理;
脚本解析模块利用Xstream开源组件,解析利用自动化录制巡检作业脚本工具录制的业务系统巡检策略脚本,将脚本中的URL放入数据爬取层模块中的脚本路径队列模块的脚本路径队列中,将脚本中的页面取数逻辑放入数据爬取层模块中的页面取数逻辑队列模块的页面取数逻辑队列中;
巡检上传数据处理模块负责组装巡检结果数据,并上传到远处接口服务模块的入库队列中;
数据爬取层模块利用HttpClient开源组件,分析业务系统能否正常访问,利用HtmlParser开源组件,抓取、过滤页面数据,并生成巡检结果数据;
异常管理模块负责管理巡检机器人出现的异常;
运行状态监控模块负责监控运行线程的状态。
2.根据权利要求1所述的基于爬虫技术的电力调度自动化巡检机器人,其特征在于,所述远程接口服务模块包括巡检策略任务包获取,入库队列和数据收发三个子模块,
所述巡检策略任务包获取模块负责调用业务处理端的接口服务,获取新增、修改、删除巡检策略脚本;
所述入库队列模块负责缓存执行巡检策略脚本生成的数据,并管理队列中的数据,以免频繁的访问业务处理端的接口服务;
所述数据收发模块负责当入库队列模块中的数据达到一定数量时,调用业务处理端的接口服务,发送入库队列模块中数据。
3.根据权利要求1所述的基于爬虫技术的电力调度自动化巡检机器人,其特征在于,所述主控程序模块包括巡检任务包获取,巡检机器人实例环境参数,心跳服务,巡检任务状态表和最新任务轮调五个子模块,
所述巡检任务包获取模块负责调用远程接口服务模块中巡检策略任务包获取模块,获取所有需要巡检的业务系统的巡检策略脚本,并调用任务模块的任务建立模块,生成巡检定时任务;
所述巡检机器人实例环境参数模块负责加载巡检机器人相关的属性配置到内存,以免重复读取;
所述心跳服务模块负责实时向看门狗服务发送socket消息,实时监控巡检机器人的进程状态;
所述巡检任务状态表模块负责实时更新、监控任务模块中任务执行容器中任务的状态;
所述最新任务轮调模块负责任务的任务调度的管理,使任务能实时执行。
4.根据权利要求1所述的基于爬虫技术的电力调度自动化巡检机器人,其特征在于,所述任务模块包括任务建立,任务运行状态,任务运行环境参数,爬虫爬取参数,任务执行容器和巡检数据结果组装六个子模块,
所述任务建立模块负责根据主控程序模块中巡检任务包获取模块获取的巡检策略脚本生成巡检定时任务,并调用任务执行容器模块将生成巡检定时任务放入任务执行容器中;
所述任务运行状态模块负责实时更新、监控任务执行容器中任务的状态;
所述任务运行环境参数模块负责获取巡检任务运行时需要的参数;
所述爬虫爬取参数模块负责当巡检任务需要爬取页面时,获取需要的爬取参数;
所述任务执行容器模块负责管理容器中的任务;
所述巡检数据结果组装模块负责组装巡检的结果数据,并调用巡检上传数据处理模块中的数据处理模块。
5.根据权利要求1所述的基于爬虫技术的电力调度自动化巡检机器人,其特征在于,所述脚本解析模块包括对F5、IMS、外网ISS、数据交换平台、省公司网站、短信平台、外网网站、乌云网脚本的解析。
6.根据权利要求1所述的基于爬虫技术的电力调度自动化巡检机器人,其特征在于,所述巡检上传数据处理模块包括数据处理和主动上传数据队列两个子模块,
所述数据处理模块负责组装数据爬取层模块中接收数据队列中的数据,并放入主动上传数据队列模块;
所述主动上传数据队列模块负责将队列中的数据上传到远处接口服务模块中的入库队列中。
7.根据权利要求1所述的基于爬虫技术的电力调度自动化巡检机器人,其特征在于,所述数据爬取层模块包括监听服务,http通信,脚本路径队列,页面取数逻辑队列和接收数据队列五个子模块,
所述监听服务模块负责实时扫描脚本路径队列中是否有巡检数据;
所述http通信模块负责通过HttpClient开源组件,以http协议请求巡检策略脚本中的URL,获取http响应数据,分析业务系统是否可正常访问或登录;
所述脚本路径队列模块负责管理脚本路径队列中的数据;
所述页面取数逻辑队列模块负责管理页面取数逻辑队列中的数据;
所述接收数据队列模块负责管理接收数据队列中的数据。
8.根据权利要求7所述的基于爬虫技术的电力调度自动化巡检机器人,其特征在于,所述http响应数据包括响应状态码和响应文本,通过响应状态码,分析业务系统是否可正常访问或登录,如果不正常,则生成系统巡检访问异常告警数据,放入接收数据队列中;如果正常,则获取页面取数逻辑队列中的取数逻辑,判断是否抓取页面,如果否,则生成系统巡检访问正常数据,放入接收数据队列中;如果是,则利用HtmlParser开源组件和页面取数逻辑队列中的取数逻辑,抓取响应文本,并生成系统巡检页面抓取数据,放入接收数据队列中。
9.根据权利要求1所述的基于爬虫技术的电力调度自动化巡检机器人,其特征在于,所述异常管理模块包括数据接口状态异常,接收数据异常,巡检任务异常和其他异常四个子模块,
所述数据接口状态异常模块负责当出现数据接口状态异常时,数据接口状态异常模块捕获该异常,记录异常信息日志,并会生成一条工况告警;
所述接收数据异常模块负责当出现接收数据异常时,接收数据异常模块捕获该异常,记录异常信息日志,并会生成一条工况告警;
所述巡检任务异常模块负责当出现巡检任务异常时,巡检任务异常模块捕获该异常,记录异常信息日志,并会生成一条工况告警;
所述其他异常模块负责除上述异常外出现的异常,其他异常模块捕获该异常,记录异常信息日志,并会生成一条工况告警。
10.根据权利要求1所述的基于爬虫技术的电力调度自动化巡检机器人,其特征在于,所述运行状态监控模块包括运行数据接收组装监控,数据发送监控,任务运行状态,数据发送线程监控和数据接受线程监控五个子模块,
所述运行数据接收组装监控模块负责监控数据接收组装线程的状态,对异常的线程,记录异常信息日志,并会生成一条工况告警;
所述数据发送监控模块负责监控数据发送线程的状态,对异常的线程,记录异常信息日志,并会生成一条工况告警;
所述任务运行状态监控模块负责监控任务线程的状态,对异常的线程,记录异常信息日志,并会生成一条工况告警;
所述数据发送线程监控模块负责监控数据发送线程的状态,对异常的线程,记录异常信息日志,并会生成一条工况告警;
所述数据接收线程监控模块负责监控数据接收线程的状态,对异常的线程,记录异常信息日志,并会生成一条工况告警。
11.利用权利要求1至10中任意一项所述的基于爬虫技术的电力调度自动化巡检机器人进行巡检的方法,其特征在于,包括以下步骤:
1)通过主控程序模块中的巡检任务包获取模块调用远程接口服务功能模块中的巡检策略任务包获取模块,获取新增、修改、删除巡检策略脚本,并同步所有业务系统巡检策略脚本;调用任务模块中的任务建立模块生成后台定时巡检任务,根据策略脚本中的定时机制,达到策略脚本中规定的时间时开始运行;
2)执行巡检任务,调用脚本解析模块,将巡检策略脚本中的URL放入数据爬取层模块中的脚本路径队列中,将巡检策略脚本中的页面取数逻辑放入爬取层模块中的页面取数逻辑队列中;
3)调用数据爬取层模块的http通信模块,请求脚本路径队列中的URL,校验URL是否合法、是否能正常访问或登录、是否超时,如果既能正常访问又不超时,则URL校验成功,则转入步骤4);如果其中一个条件不满足,则URL校验不成功,则转入步骤7);
4)URL校验成功,获取页面取数逻辑队列中的页面取数逻辑,判断是否需要抓取页面数据,如果是,则转入步骤5);如果否,则转入步骤7);
5)利用HtmlParser开源组件,按照页面取数逻辑中的取数规则,解析出页面中的数据,放入爬取层模块中的接收数据队列中,然后转入步骤6);
6)根据页面取数逻辑队列中的页面取数逻辑的过滤规则,过滤爬取层模块中的接收数据队列中的数据,然后转入步骤7);
7)调用巡检上传数据处理模块中的数据处理模块,如果URL校验不成功,则生成系统巡检访问异常告警数据,并放入主动上传数据队列,然后转入步骤8);如果是不需要抓取页面数据,则生成系统巡检访问正常数据,并放入主动上传数据队列,然后转入步骤8);如果是步骤6)完成数据过滤,则生成系统巡检页面抓取数据,然后转入步骤8);
8)调用主动上传数据队列模块,将数据上传到远程接口服务模块中的入库队列中,转入步骤9);
9)根据数据爬取层模块中的脚本路径队列,判断是否继续处理,如果是,则转入步骤2),否则转入步骤10);
10)爬虫结束,调用远程接口服务模块中的数据收发模块,发送入库队列中数据。
12.根据权利要求11所述的巡检方法,其特征在于,所述步骤1)中,巡检机器人对于巡检策略脚本,会进行如下处理:
a、对新增的巡检策略脚本会及时生成后台定时巡检任务;
b、对修改的系统巡检策略脚本,首先根据策略编号,删除已存在的后台定时巡检任务,然后生成新的后台定时巡检任务;
c、对删除的巡检策略脚本,会根据策略编号及时删除对应的后台定时巡检任务;
d、巡检机器人会定时同步一键巡检策略信息,然后立刻执行。
13.根据权利要求11所述的巡检方法,其特征在于,所述巡检策略脚本,是利用自动化录制巡检作业脚本工具,模拟调度员对信息系统的巡检的仿真,单独录制而成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410854336.4A CN104539053B (zh) | 2014-12-31 | 2014-12-31 | 基于爬虫技术的电力调度自动化巡检机器人及巡检方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410854336.4A CN104539053B (zh) | 2014-12-31 | 2014-12-31 | 基于爬虫技术的电力调度自动化巡检机器人及巡检方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104539053A true CN104539053A (zh) | 2015-04-22 |
CN104539053B CN104539053B (zh) | 2017-04-12 |
Family
ID=52854543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410854336.4A Active CN104539053B (zh) | 2014-12-31 | 2014-12-31 | 基于爬虫技术的电力调度自动化巡检机器人及巡检方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104539053B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598991A (zh) * | 2015-10-19 | 2017-04-26 | 上海引跑信息科技有限公司 | 一种使用会话方式实现与网站交互表单自动提取的网络爬虫系统 |
CN106776185A (zh) * | 2016-12-26 | 2017-05-31 | 中国建设银行股份有限公司 | 计算机设备硬件巡检方法及装置 |
CN107092559A (zh) * | 2017-04-18 | 2017-08-25 | 携程旅游信息技术(上海)有限公司 | 基于Jmeter的测试平台中间件、测试系统及方法 |
CN107426148A (zh) * | 2017-03-30 | 2017-12-01 | 成都优易数据有限公司 | 一种基于运行环境特征识别的反爬虫方法及系统 |
CN107547589A (zh) * | 2016-06-27 | 2018-01-05 | 腾讯科技(深圳)有限公司 | 一种数据采集处理方法以及装置 |
CN107682173A (zh) * | 2017-08-07 | 2018-02-09 | 上海天旦网络科技发展有限公司 | 基于交易模型的自动故障定位方法和系统 |
CN107832197A (zh) * | 2017-11-28 | 2018-03-23 | 江苏方天电力技术有限公司 | 一种业务应用系统的巡检系统和巡检方法 |
CN107864057A (zh) * | 2017-11-07 | 2018-03-30 | 杭州安恒信息技术有限公司 | 一种基于联网状态的联机自动检查及告警方法 |
CN108183821A (zh) * | 2017-12-26 | 2018-06-19 | 国网山东省电力公司信息通信公司 | 一种面向电网业务的应用性能获取方法及装置 |
CN108334629A (zh) * | 2018-02-24 | 2018-07-27 | 电子科技大学 | 一种基于自动化测试框架的电网设备状态数据获取系统 |
CN109325734A (zh) * | 2018-09-05 | 2019-02-12 | 江苏鸿信系统集成有限公司 | 一种财务机器人系统 |
CN110059236A (zh) * | 2019-03-27 | 2019-07-26 | 国网福建省电力有限公司泉州供电公司 | 一种应用网络爬虫技术进行电力规划收资的数据采集、处理方法 |
CN113592350A (zh) * | 2021-08-12 | 2021-11-02 | 浙江创意声光电科技有限公司 | 一种态势感知系统及方法 |
CN114219425A (zh) * | 2021-11-30 | 2022-03-22 | 贵州东彩供应链科技有限公司 | 一种基于puppeteer的自动动物养殖场监管巡查工具 |
CN114356442A (zh) * | 2021-12-22 | 2022-04-15 | 中核武汉核电运行技术股份有限公司 | 一种面向核电厂软件运维的分布式系统的巡检系统和方法 |
CN114900511A (zh) * | 2022-04-25 | 2022-08-12 | 湖南大学 | 工业机器人数据同步采集加载中间件装置及方法 |
CN117708382A (zh) * | 2023-10-12 | 2024-03-15 | 广州信邦智能装备股份有限公司 | 巡检数据处理方法及智慧工厂巡检系统和相关介质程序 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957325A (zh) * | 2010-10-14 | 2011-01-26 | 山东鲁能智能技术有限公司 | 基于变电站巡检机器人变电站设备外观异常识别方法 |
CN202948326U (zh) * | 2012-11-05 | 2013-05-22 | 深圳市朗驰欣创科技有限公司 | 电力巡检机器人及其导航系统 |
-
2014
- 2014-12-31 CN CN201410854336.4A patent/CN104539053B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957325A (zh) * | 2010-10-14 | 2011-01-26 | 山东鲁能智能技术有限公司 | 基于变电站巡检机器人变电站设备外观异常识别方法 |
CN202948326U (zh) * | 2012-11-05 | 2013-05-22 | 深圳市朗驰欣创科技有限公司 | 电力巡检机器人及其导航系统 |
Non-Patent Citations (2)
Title |
---|
SAWADA J,KUSUMOTO K,MUNAKATA T: "《A mobile robot for inspection of power transmission lines》", 《IEEE TRANSACTIONS ON POWER DELIVERY》 * |
周立辉等: "《智能变电站巡检机器人研制及应用》", 《电力系统自动化》 * |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598991A (zh) * | 2015-10-19 | 2017-04-26 | 上海引跑信息科技有限公司 | 一种使用会话方式实现与网站交互表单自动提取的网络爬虫系统 |
CN107547589A (zh) * | 2016-06-27 | 2018-01-05 | 腾讯科技(深圳)有限公司 | 一种数据采集处理方法以及装置 |
CN107547589B (zh) * | 2016-06-27 | 2020-08-14 | 腾讯科技(深圳)有限公司 | 一种数据采集处理方法以及装置 |
CN106776185A (zh) * | 2016-12-26 | 2017-05-31 | 中国建设银行股份有限公司 | 计算机设备硬件巡检方法及装置 |
CN107426148B (zh) * | 2017-03-30 | 2020-07-31 | 成都优易数据有限公司 | 一种基于运行环境特征识别的反爬虫方法及系统 |
CN107426148A (zh) * | 2017-03-30 | 2017-12-01 | 成都优易数据有限公司 | 一种基于运行环境特征识别的反爬虫方法及系统 |
CN107092559A (zh) * | 2017-04-18 | 2017-08-25 | 携程旅游信息技术(上海)有限公司 | 基于Jmeter的测试平台中间件、测试系统及方法 |
CN107682173A (zh) * | 2017-08-07 | 2018-02-09 | 上海天旦网络科技发展有限公司 | 基于交易模型的自动故障定位方法和系统 |
CN107682173B (zh) * | 2017-08-07 | 2021-07-30 | 上海天旦网络科技发展有限公司 | 基于交易模型的自动故障定位方法和系统 |
CN107864057A (zh) * | 2017-11-07 | 2018-03-30 | 杭州安恒信息技术有限公司 | 一种基于联网状态的联机自动检查及告警方法 |
CN107864057B (zh) * | 2017-11-07 | 2020-12-25 | 杭州安恒信息技术股份有限公司 | 一种基于联网状态的联机自动检查及告警方法 |
CN107832197A (zh) * | 2017-11-28 | 2018-03-23 | 江苏方天电力技术有限公司 | 一种业务应用系统的巡检系统和巡检方法 |
CN108183821B (zh) * | 2017-12-26 | 2021-03-30 | 国网山东省电力公司信息通信公司 | 一种面向电网业务的应用性能获取方法及装置 |
CN108183821A (zh) * | 2017-12-26 | 2018-06-19 | 国网山东省电力公司信息通信公司 | 一种面向电网业务的应用性能获取方法及装置 |
CN108334629A (zh) * | 2018-02-24 | 2018-07-27 | 电子科技大学 | 一种基于自动化测试框架的电网设备状态数据获取系统 |
CN108334629B (zh) * | 2018-02-24 | 2022-06-03 | 电子科技大学 | 一种基于自动化测试框架的电网设备状态数据获取系统 |
CN109325734A (zh) * | 2018-09-05 | 2019-02-12 | 江苏鸿信系统集成有限公司 | 一种财务机器人系统 |
CN110059236B (zh) * | 2019-03-27 | 2023-05-05 | 国网福建省电力有限公司泉州供电公司 | 一种应用网络爬虫技术进行电力规划收资的数据采集、处理方法 |
CN110059236A (zh) * | 2019-03-27 | 2019-07-26 | 国网福建省电力有限公司泉州供电公司 | 一种应用网络爬虫技术进行电力规划收资的数据采集、处理方法 |
CN113592350A (zh) * | 2021-08-12 | 2021-11-02 | 浙江创意声光电科技有限公司 | 一种态势感知系统及方法 |
CN113592350B (zh) * | 2021-08-12 | 2024-03-29 | 浙江创意声光电科技有限公司 | 一种态势感知系统及方法 |
CN114219425A (zh) * | 2021-11-30 | 2022-03-22 | 贵州东彩供应链科技有限公司 | 一种基于puppeteer的自动动物养殖场监管巡查工具 |
CN114356442B (zh) * | 2021-12-22 | 2024-02-13 | 中核武汉核电运行技术股份有限公司 | 一种面向核电厂软件运维的分布式系统的巡检系统和方法 |
CN114356442A (zh) * | 2021-12-22 | 2022-04-15 | 中核武汉核电运行技术股份有限公司 | 一种面向核电厂软件运维的分布式系统的巡检系统和方法 |
CN114900511A (zh) * | 2022-04-25 | 2022-08-12 | 湖南大学 | 工业机器人数据同步采集加载中间件装置及方法 |
CN117708382A (zh) * | 2023-10-12 | 2024-03-15 | 广州信邦智能装备股份有限公司 | 巡检数据处理方法及智慧工厂巡检系统和相关介质程序 |
Also Published As
Publication number | Publication date |
---|---|
CN104539053B (zh) | 2017-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104539053A (zh) | 基于爬虫技术的电力调度自动化巡检机器人及巡检方法 | |
CN107832428B (zh) | 基于网站页面的网页状态监控方法及系统 | |
CN105119750B (zh) | 一种基于大数据的分布式信息安全运维管理平台系统 | |
CN110768872B (zh) | 巡检方法、系统、装置、计算机设备和存储介质 | |
CN100536403C (zh) | 一种通信网络智能巡检的方法及设备 | |
CN110554856A (zh) | 一种微服务治理系统 | |
CN109947746A (zh) | 一种基于etl流程的数据质量管控方法和系统 | |
CN103532795B (zh) | 一种检测web业务系统可用性的监控系统及方法 | |
CN106597947A (zh) | 变电站设备测试方法、服务器、测试仪及系统 | |
CN106888194A (zh) | 基于分布式调度的智能电网it资产安全监测系统 | |
CN101217400B (zh) | 一种综合智能巡检方法和系统 | |
CN103888287A (zh) | 信息系统一体化运维监控服务预警平台及其实现方法 | |
CN108521339A (zh) | 一种基于集群日志的反馈式节点故障处理方法及系统 | |
CN111259073A (zh) | 基于日志、流量和业务访问的业务系统运行状态智能研判系统 | |
CN109240126A (zh) | 一种具有模拟操作功能的分布式应用服务监测系统及方法 | |
CN102752770B (zh) | 一种对业务系统进行巡检的方法及装置 | |
CN110765189A (zh) | 互联网产品的异常管理方法和系统 | |
CN108108445A (zh) | 一种智能数据处理方法和系统 | |
CN107463490B (zh) | 一种应用于平台开发中的集群日志集中收集方法 | |
CN110727947A (zh) | 一种安全漏洞处理方法、装置、设备及可读存储介质 | |
US20080072321A1 (en) | System and method for automating network intrusion training | |
CN114372105A (zh) | 基于etl工具实现系统自动化巡检方法 | |
CN115705190A (zh) | 依赖程度的确定方法及装置 | |
CN103944779B (zh) | 一种wap业务性能监测方法及系统 | |
CN105117347A (zh) | 测试数据的模拟方法、系统及自动化测试方法、系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |