基于Perl与CGI的报告自动生成方法研究
禁核试核查国家数据中心(以下简称国家数据中心)数据处理系统是一个7×24小时不间断运行的实时处理系统。目前处理的主要是实时地震数据,现每天处理实时数据大约为2Gb左右。国家数据中心数据处理系统分为自动处理和人工交互分析处理两部分,整个处理过程在基于Tuxedo的分布应用控制系统的支持下完成。在连续运行中每天会产生大量的运行状态数据和事件公报信息,这些信息存储在数据库和文件系统中,运行工程师通过查询数据库和处理日志文件来了解数据接收、转发、处理、事件的筛选、提交、发布等各项任务的完成情况是否正常,同时定期撰写相应的运行状态报告供相关管理人员查阅,从而为更进一步的系统优化提供合理的依据。由于数据处理系统功能强大,涉及数据量庞大,数据信息形式多样,因此运行工程师在此前通过人工提取相信息并汇集成运行状态报告文档时,需要花费大量时间对数据进行归类与筛选,造成该项工效率性偏低。
本文针对大型实时运行系统运行状态报告的特点与需求,使用Perl程序提取运行状态报告文档所需的相关处理信息,同时采用超文HTML语言开发出该报告自动生成系统。文档内容主要以数据表、图片及相关文字叙述的方式组成,通过Solaris操作系统下的crontab任务控制程序定时运行,提高了运行工程师的工作效率。
1 系统总体结构
报告自动生成系统由信息提取和文档生成两个模块组成,系统总体结构图如图1所示。运行状态信息提取是整个系统的基础,采用Perl编制的程序处理、提取与运行状态相关的保存在数据库和文本文件中的各种信息;文生成模块将提取的相关信息存储到数组中,并传送给图片生成和数据表生成程序。在图片生成过程中,根据数组的内容确定柱状图中各数据柱的长度、间隔和饼状图的图形比例等,而图形的颜色,阴影浓度等参数可以在程序中自行设置。数据表生成过程是将数组包含的各参数按序嵌入到CGI程序制定的表格中,在CGI程序中衔接已生成的图片地址后,即可通过web站点访问到运行状态报告。最后利用Perl的LWP::Simple功能模块实现对web页面的自动获取,从而生成HTML格式的文档文件。整个报告自动生成系统基于Solaris操作系统和Oracle数据库,程序采用Perl语言实现,使用UNIX crontab守护程序[1]按照指定时间定期执行报告生成任务[2]。
2 运行状态信息提取
运行状态信息提取模块是整个系统的基础,采用Perl语言编程。Perl语言是一种解释性语言,适于扫描任意的文本文件,可以从中提出并报告有关信息。对于许多系统管理任务,Perl语言也是一种很好的语言,同时,Perl语言操纵数据库如同操纵一个散列表一样方便。Perl语言也提供了DBM包来对DBM数据库进行各种操作。通过DBM包,Perl语言可以对DBM数据库进行各种直接操作[3]。针对运行工程师重点关注的信息,确定了六大部分的运行状态信息提取内容:事件处理信息提取、数据接收量信息提取、通信链路通断信息提取、运行故障信息提取、数据有效率信息提取、磁盘空间占有率信息提取。除提取磁盘空间占有率外,其他五个部分的信息提取程序均涉及到了与数据库的交互。
相关文章
- 2022-08-23时间继电器在工控中的应用
- 2024-08-14冰球式蓄冷系统运行能耗的分析
- 2023-02-16一种无线传输数字式电子皮带秤的设计
- 2024-07-10谈谈电子秤中的疲劳强度设计
- 2024-04-23一种可弥补信号缺陷的细分方法
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。