报表自动生成方法、装置、计算机设备及存储介质与流程

文档序号:22243290发布日期:2020-09-15 19:58阅读:127来源:国知局
报表自动生成方法、装置、计算机设备及存储介质与流程

本发明涉及数据处理技术领域,尤其涉及一种报表自动生成方法、装置、计算机设备及存储介质。



背景技术:

随着计算机技术的发展,在数据处理技术领域中,数据报表在系统运维方面有着广泛的应用,作为数据采集的最终环节,评估数据源、生成和发送报表数据给目的用户需要满足定时、定点、精准高效等多方面的要求。

传统生成数据报表的方法,在数据库建立连接并导出报表的步骤较为繁琐,并且在很多应用场景下,堡垒机的存在会限制或是不允许外部机器连接本地机器的ip地址,导致外部机器无法获取数据,而更早期则是通过人工处理和制作数据报表,人工生成报表的方法大大降低了效率,无法快速进行统计,并且在校验数据的准确性上无法达到快速精确。



技术实现要素:

本发明实施例提供一种报表自动生成方法、装置、计算机设备及存储介质,以解决外部机器无法获取数据的问题。

一种报表自动生成方法,包括:

响应第一用户操作,生成报表配置文件,所述报表配置文件包括自定义脚本地址和任务类型;

根据所述自定义脚本地址,通过zabbix生成自定义脚本,采用所述自定义脚本从目标终端中采集目标报表数据;

对所述目标报表数据进行数据处理,并将处理后的目标报表数据显示到报表页面中;

在接收到任务触发指令之后,通过puppteer从所述报表页面中采集所述处理后的目标报表数据;

对所述处理后的目标报表数据进行解析和抽取,生成数据报表。

一种报表自动生成装置,包括:

响应操作模块,用于响应第一用户操作,生成报表配置文件,所述报表配置文件包括自定义脚本地址和任务类型;

第一采集模块,用于根据所述自定义脚本地址,通过zabbix生成自定义脚本,采用所述自定义脚本从目标终端中采集目标报表数据;

第一显示模块,用于对所述目标报表数据进行数据处理,并将处理后的目标报表数据显示到报表页面中;

第二采集模块,用于在接收到任务触发指令之后,通过puppteer从所述报表页面中采集所述处理后的目标报表数据;

第一报表生成模块,用于对所述处理后的目标报表数据进行解析和抽取,生成数据报表。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述报表自动生成方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述报表自动生成方法的步骤。

上述报表自动生成方法、装置、计算机设备及存储介质,通过响应第一用户操作,生成报表配置文件,报表配置文件包括自定义脚本地址和任务类型;根据自定义脚本地址通过zabbix生成自定义脚本,采用自定义脚本从目标终端采集目标报表数据;将目标报表数据进行数据处理,并将数据处理后的目标报表数据显示到报表页面中;在接收到任务触发指令之后,通过puppteer从报表页面中采集数据处理后的目标报表数据;对数据处理后的目标报表数据进行解析和抽取,生成数据报表。结合zabbix的自定义脚本和puppteer的自动化采集技术,打破了由于堡垒机的存在而无法访问目标终端的数据库的限制,在无需第三方接入机器或者安装额外的代理机器的情况下,提高采集数据的准确性和效率,同时能够监控数据采集过程的状态,当采集过程发生异常时,返回断点继续进行采集,提高了采集过程的容错率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例中报表自动生成方法的一应用环境示意图;

图2是本发明一实施例中报表自动生成方法的一流程图;

图3是本发明一实施例中报表自动生成方法的另一流程图;

图4是本发明一实施例中报表自动生成方法的另一流程图;

图5是本发明一实施例中报表自动生成方法的另一流程图;

图6是本发明一实施例中报表自动生成装置的一原理框图;

图7是本发明一实施例中报表自动生成装置的另一原理框图;

图8是本发明一实施例中报表自动生成装置的另一原理框图;

图9是本发明一实施例中报表自动生成装置的另一原理框图;

图10是本发明一实施例中计算机设备的一示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供的报表自动生成方法,该报表自动生成方法可应用如图1所示的应用环境中。具体地,该报表自动生成方法应用在报表自动生成系统中,该报表自动生成系统包括如图1所示的客户端、服务器和目标终端,目标终端与服务器通过网络进行通信,用于解决外部机器无法获取数据的问题,客户端与服务器通过网络进行通信,服务器将数据发送至客户端中。其中,客户端又称为用户端,是指与服务器相对应,为客户提供本地服务的程序。客户端可安装在但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备上。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。目标终端为外部终端,目标终端存储的数据无法通过客户端或者服务器进行直接访问,目标终端可以安装在但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备上。

在一实施例中,如图2所示,提供一种报表自动生成方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:

s11:响应第一用户操作,生成报表配置文件,该报表配置文件包括自定义脚本地址和任务类型。

其中,第一用户操作为用户按照服务器中的配置文件模板填写报表配置文件时对终端的操作。报表配置文件为用户自定义配置参数的文件,进一步地,报表配置文件可以包括数据源类型、zabbix账号和对应的密码、自定义脚本地址、报表视图、任务类型、邮件接收人、邮件抄送人和生成器等。其中,任务类型包括周期任务和定时任务,周期任务指的是按照一个周期来执行的任务,定时任务指的是在一个固定时间段内执行的任务。

具体地,用户根据服务器中的配置文件模板填写报表配置文件,设置配置文件中的参数,在用户填写报表配置文件完成之后,服务器会将报表配置文件保存至数据库中。

s12:根据自定义脚本地址,通过zabbix生成自定义脚本,采用该自定义脚本从目标终端中采集目标报表数据。

其中,zabbix是一个基于web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。目标终端为存储目标报表数据的终端,目标终端可以为个人计算机、笔记本电脑、智能手机、平板电脑或便携式可穿戴设备。目标报表数据是用于生成数据报表的数据。

目标报表数据存储在目标终端的数据库中,由于堡垒机的存在,服务器无法直接访问目标终端的数据库对目标报表数据进行采集,故通过zabbix生成自定义脚本完成从目标终端中对目标报表数据的采集。具体地,用户根据报表配置文件中的zabbix账号和密码,登录zabbix,用户在登录之后根据在报表配置文件中设置的自定义脚本地址,在zabbix中添加与自定义脚本地址对应的自定义脚本,服务器识别zabbix中的自定义脚本并通过该自定义脚本从目标终端中采集目标报表数据。

s13:对目标报表数据进行数据处理,并将处理后的目标报表数据显示到报表页面中。

其中,数据处理可以为按照采集到的目标报表数据的先后顺序对目标报表数据进行直接叠加或者序列化。报表页面为展示所述数据处理后的目标报表数据的页面。

具体地,在通过zabbix生成的自定义脚本访问所述目标终端的数据库,并从目标终端的数据库中采集目标报表数据之后,服务器将采集到的目标报表数据按照采集的先后顺序进行直接叠加或者序列化,得到待复制的报表数据,再对待复制的报表数据进行复制,并将复制得到待复制标报表数据存储至zabbix的可读文件中,通过zabbix读取所述可读文件,将读取的叠加或者序列化后的目标报表数据显示到报表页面中。

s14:在接收到任务触发指令之后,通过puppteer从报表页面中采集处理后的目标报表数据。

其中,任务触发指令为触发采集事件的指令。puppteer为谷歌官方出品的chrome操作库,可以以更高细粒度来控制chrome导航页面、发送、接收和定位元素。

具体地,在报表配置文件中包含任务类型,任务类型包括定时任务和周期任务,根据用户在报表配置文件中设定的任务类型,当用户在服务器中手动启动报表生成任务之后,在服务器的状态栏中会输出“定时任务启动或周期任务启动”的提示,当采集事件触发之后,即当服务器接收到任务触发指令之后,在操作系统的内存中初始化一个采集实例任务并维持该实例任务,采集实例任务为通过puppteer访问所述报表页面,并从报表页面中采集数据处理后的目标报表数据。

其中,服务器接收到任务触发指令的时间可以在报表配置文件中进行设定,服务器接收到任务触发指令可以在某个固定时间点触发也可以在报表生成任务启动后每隔固定时间周期性触发。由于要保证实例任务在执行过程中不被中断,所以在实例任务的异常部分中设置异常点自愈功能,即记录异常发生时采集实例任务运行的状态,若异常发生后,采集实例任务会回到异常断点继续进行采集。

s15:对处理后的目标报表数据进行解析和抽取,生成数据报表。

其中,数据报表为对处理后的目标报表数据进行解析和抽取后生成的报表。

具体地,在通过puppteer从报表页面中采集数据处理后的目标报表数据之后,采用解析器解析处理后的目标报表数据,解析器能够解析出处理后的目标报表数据中的所有字段和内容,并将所有字段和内容分类整合并保存,得到解析后的数据。根据解析后的数据,通过解析器对应的html生成器生成web页面;在web页面生成之后,向web页面发送抽取请求,收到同意抽取指令之后,根据预设抽取方法,从web页面中抽取解析后的数据,根据抽取得到的数据生成数据报表。

其中,预设抽取方法可以为定位web页面中任一元素的方法,具体地,web页面中元素可包含响应、标题和标签元素等,示例性地,预设抽取方法可以为定位标签元素作为抽取的元素,在根据分类保存后的数据,通过解析器对应的html生成器生成web页面之后,从web页面中抽取包含标签元素的数据,再根据抽取得到包含的标签元素的数据生成报表数据。

在本实施例中,通过响应第一用户操作,生成报表配置文件,报表配置文件包括自定义脚本地址和任务类型;根据自定义脚本地址通过zabbix生成自定义脚本,采用自定义脚本从目标终端采集目标报表数据;将目标报表数据进行数据处理,并将数据处理后的目标报表数据显示到报表页面中;在接收到任务触发指令之后,通过puppteer从报表页面中采集处理后的目标报表数据;对处理后的目标报表数据进行解析和抽取,生成数据报表。结合zabbix的自定义脚本和puppteer的自动化采集技术,打破了由于堡垒机的存在而无法访问目标终端的数据库的限制,在无需第三方接入机器或者安装额外的代理机器的情况下,提高采集数据的准确性和效率,同时能够监控数据采集过程的状态,当采集过程发生异常时,返回断点继续进行采集,提高了采集过程的容错率。

在一实施例中,如图3所示,步骤s13中,即对目标报表数据进行数据处理,并将处理后的目标报表数据显示到报表页面中,具体包括如下步骤:

s131:对目标报表数据进行重组,得到第一报表数据,并将第一报表数据存储至第一文件中。

其中,重组为将目标报表数据按照一定格式重新整合在一起,一定格式可以为目标报表数据的数据类型、目标报表数据的数据长度或者目标报表数据的序列顺序等。第一报表数据为对目标报表数据进行重组得到的数据。第一文件为存储第一报表数据的文件,第一文件为不可读文件,存储在服务器的数据库中。

具体地,在采用自定义脚本从目标终端采集目标报表数据之后,对目标报表数据进行重组,具体地,对目标报表数据按照采集的先后顺序进行直接叠加或者序列化,得到第一报表数据,并将第一报表数据存储至第一文件中。

s132:对第一文件进行复制,得到第二文件,并将第二文件存储至zabbix的可读目录中。

其中,第二文件为可供其它服务器、终端或者系统访问并读取数据的文件,第二文件存储在zabbix的可读目录中。

具体地,在对目标报表数据按照采集的先后顺序进行直接叠加或者序列化,得到第一报表数据,并将第一报表数据以文件形式存储至服务器中之后,对第一文件进行复制,得到第二文件,并将第二文件存储至zabbix的可读目录中。其中,第一文件与第二文件中的数据是相同的。

s133:通过zabbix读取第二文件,将第二文件的数据在报表页面中显示。

其中,报表页面为展示所述数据处理后的目标报表数据的页面,即展示第二文件的数据的页面。

具体地,由于第二文件存储在zabbix的可读目录中,因此zabbix可以对第二文件进行访问和读取,通过zabbix读取第二文件中的数据,该数据即为第一报表数据,在读取第二文件中的数据之后,将该数据在报表页面中显示。

在本实施例中,通过对目标报表数据进行重组,得到第一报表数据,并将第一报表数据存储至第一文件中;对第一文件进行复制,得到第二文件,并将第二文件存储至zabbix的可读目录中;通过zabbix读取可读文件中的第二文件,将第二文件的数据在报表页面中显示。由于堡垒机的存在,服务器无法直接访问目标终端的数据库对目标报表数据进行采集。在zabbix中,通过对第一文件进行复制,将复制得到的第二文件存储至可读目录中,在保证原有数据的安全性的同时,采用复制文件来打破堡垒机对访问数据的限制,并将第二文件显示在报表页面中,使得目标报表数据更加清晰准确的展示出来,并便于后续对目标报表数据的采集,提高了数据采集的便捷性。

在一实施例中,如图4所示,报表配置文件还包括html生成器,步骤s15中,即对处理后的目标报表数据进行解析和抽取,生成数据报表,具体包括如下步骤:

s151:采用解析器解析处理后的目标报表数据,得到解析后的数据。

其中,解析器用于解析处理后的目标报表数据,解析器可以为mysql查询结果解析器、postgresql解析器或redis解析器等,解析后的数据为处理后的目标报表数据通过解析器解析后得到的数据。

示例性地,采用mysql查询结果解析器解析处理后的目标报表数据,具体地,解析器查询处理后的目标报表数据,得到mysql查询结果,再通过解析器对mysql查询结果进行解析,得到解析后的数据。

其中,mysql查询结果可以为m行n列的表格,表格中的数据为处理后的目标报表数据,通过解析器对mysql查询结果进行解析可以是对mysql查询结果中的数据进行拼接、拆分、过滤、屏蔽或组合等其它解析方式。

s152:根据解析后的数据,通过解析器对应的html生成器,生成web页面。

其中,html生成器为生成web页面的生成器,与报表配置文件中的解析器是匹配使用的。web页面为根据解析后的数据,通过与解析器匹配的html生成器生成的页面,该页面将展示解析后的数据。

具体地,在采用解析器解析数据处理后的目标报表数据,得到解析后的数据之后,根据解析后的数据,采用解析器对应的html生成器生成web页面,并将解析后的数据在所述web页面上显示。

示例性地,在s152步骤中,解析器采用的是mysql查询结果解析器,对处理后的目标报表数据进行解析,得到的解析后的数据,该解析后的数据以表格形式展示,通过mysql查询结果解析器对应的html生成器生成web页面,则解析后的数据会以表格形式在web页面上展示,并且能够在web页面上将解析后的数据的表格渲染为彩色表格。

s153:向web页面发送抽取请求,根据预设抽取方法,从web页面中抽取解析后的数据,得到抽取数据。

其中,抽取请求为从web页面中抽取解析后的数据的请求。预设抽取方法可以为定位web页面中任一元素,示例性地,web页面中的元素可包含响应、标题或标签元素等。抽取数据为根据预设抽取方法,从web页面中的所述解析后的数据中抽取得到的数据。

具体地,在通过解析器对应的html生成器,并根据解析后的数据,生成web页面之后,向所述web页面发送抽取请求,在接收到同意抽取指令之后,根据预设抽取方法,从web页面中抽取数据,得到抽取数据。

示例性地,web页面中包含响应、标题和标签元素,在一具体实施方法中,预设抽取方法可以为定位标签元素作为抽取的元素,在根据分类保存后的数据,通过解析器对应的html生成器生成web页面之后,向该web页面发送抽取请求,从web页面中抽取解析后的数据中包含标签元素的数据。

s154:根据抽取数据,生成数据报表。

其中,数据报表为根据抽取数据生成的报表,数据报表可以为网页报表,也可以为数据表格。

具体地,在根据预设抽取方法,从web页面中抽取解析后的数据,得到抽取数据之后,根据抽取数据,生成数据报表。示例性地,根据所述抽取数据,通过解析器对应的html生成器,生成数据报表,则该数据报表就为网页报表。

在本实施例中,通过采用解析器解析处理后的目标报表数据,得到解析后的数据;根据解析后的数据,通过解析器对应的html生成器,生成web页面;向web页面发送抽取请求,根据预设抽取方法,从web页面中抽取解析后的数据,得到抽取数据;根据抽取数据,生成数据报表。通过解析器解析所述数据处理后的目标报表数据,能够将所述数据处理后的目标报表数据进行整合,提高了后续步骤进行数据抽取的有效性,通过解析器对应的html生成器生成web页面,并能够渲染为彩色表格,能够更直观地的展示数据,使得数据显示更为清楚分明。

在一实施例中,如图5所示,报表配置文件还包括接收邮箱和抄送邮箱,在对处理后的目标报表数据进行解析和抽取,生成数据报表之后,报表自动生成方法还包括:

s16:判断任务类型的执行状态。

其中,执行状态为任务类型的运行状态。

具体地,在任务类型的任务开始执行的时候,服务器会监控任务类型的执行状态,并对任务类型的执行状态进行判断,判断任务类型是否没有发生错误的执行。

s17:若执行状态为第一状态,则判断数据报表是否符合预设要求,第一状态指示任务类型执行过程没有发生错误。

其中,第一状态为任务类型中任务在执行过程中无错误执行的状态。预设要求指示数据报表的数据没有错误。

具体地,在任务类型中的周期任务或者定时任务在执行过程中,应判断任务执行过程中的状态是正确的状态还是错误的状态,若任务执行过程中的状态为正确的状态,则判断数据报表是否符合预设要求;若任务执行过程中的状态为错误的状态,则不进行对数据报表是否符合预设要求的判断,而是对错误的状态的具体情况进行纠正。其中,错误的状态可以为:网络连接错误、访问报表页面或者访问web页面失败、采集得到的目标报表数据为空、采集得到的目标报表数据格式错误或解析过程错误等状态。

s18:若数据报表符合预设要求,则将数据报表以邮件形式发送至接收邮箱和抄送邮箱。

其中,报表配置文件还包括接收邮箱和抄送邮箱。接收邮箱为接收人的邮箱地址。抄送邮箱为抄送人的邮箱地址。预设要求指示数据报表的数据没有错误。

具体地,在判断执行状态为第一状态之后,判断数据报表是否符合预设要求,若数据报表符合预设要求,即数据报表的数据没有错误,则将数据报表以邮件形式发送至接收邮箱和抄送邮箱。其中,数据报表符合预设要求为数据报表没有错误的情况。数据报表不符合预设要求的情况可以包括数据报表中数据为空、数据报表中格式错误或者数据报表生成过程中发生错误等。

进一步地,可以设置一个布尔型变量,根据该布尔型变量的值确定数据报表是否符合预设要求,即是否以邮件形式发送数据报表至接收邮箱和抄送邮箱。假设该布尔型变量为ismailshouldbesent,若出现数据报表不符合预设要求的情况,则ismailshouldbesent返回的值为false,即不会执行将所述数据报表以邮件形式发送至接收邮箱和抄送邮箱这个步骤。

进一步地,在本实施例中,发送邮件的方法不使用指定的邮件账户作为发件人的邮箱,而是通过直接调用outlook的方法发送邮件。通过调用outlook的方法不仅可以自动发送邮件至所述接收邮箱和抄送邮箱,也可以接收邮件、自动回复和处理符合条件的邮件、自动编写邮件草稿、自动修改签名、自动识别告警邮件内容和处理告警邮件、批量保存邮件。

在本实施例中,通过判断任务类型的执行状态;若执行状态为第一状态,则判断数据报表是否符合预设要求,第一状态指示任务类型执行过程没有发生错误;若数据报表符合预设要求,则将数据报表以邮件形式发送至接收邮箱和抄送邮箱。通过判断任务类型的执行状态和数据报表是否符合预设要求,能够使数据报表的数据符合要求,提高数据报表的准确性,通过直接调用outlook的方法发送邮件,能够更高效发送邮件的同时,提高了发送邮件的灵活性,且无需使用第三方邮件账号,即发送人邮件账号,在节省邮件服务成本的同时可以高效利用已有账号。

在一实施例中,在采用自定义脚本采集目标报表数据之后,报表自动生成方法还包括:

接收任务类型信息;

若所述任务类型信息指示所述任务类型为周期任务,则将定时器的间隔设置为周期毫秒数,周期毫秒数为周期制的时间,时间单位为毫秒;

若所述任务类型信息指示所述任务类型为定时任务,则将定时器的间隔设置为固定毫秒数,固定毫秒数为固定的时间段,时间单位为毫秒。

其中,任务类型包括周期任务和定时任务,若设置的任务类型为周期任务,则任务类型的定时器的间隔将被设置为周期毫秒数;若设置的任务类型为定时任务,则任务类型的定时器的间隔将被设置为固定毫秒数。进一步地,在执行任务的过程中,随着执行任务中采集数据越来越少,可以在报表配置文件中更改任务类型的间隔参数的配置,更改配置的方法可以为对设置的间隔参数直接进行赋值的改变。

在一实施例中,该报表自动生成方法还包括如下步骤:

执行最小化操作,最小化操作指示任务类型的任务在后台运行。

其中,在执行任务的过程中,可以将执行任务的窗口执行最小化,并在任务栏中保留一个图标,所述最小化指的是任务类型执行的任务在后台运行。

在数据报表成功发送至接收邮箱和抄送邮箱之后,触发任务完成提示。

其中,所述任务完成提示任务执行的结果。

其中,当所述数据报表成功以邮件形式发送至接收邮箱和抄送邮箱时,会触发任务完成提示,所述任务完成提示指示任务执行完成。

具体地,在数据报表以邮件形式发送成功之后,可以以弹窗的方式通知任务执行完成,所述任务完成提示可以通过语音提示,界面文字显示提示,界面动画提示或其它有效提示方式。

在本实施例中,通过执行最小化,所述最小化指示任务类型的任务在后台运行;在数据报表以邮件形式发送成功之后,触发任务完成提示。通过上述方法,在保证任务能够持续执行的同时,在任务执行过程中不占用屏幕显示位置,并能够在任务执行完成后触发任务完成提示。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种报表自动生成装置,该报表自动生成装置与上述实施例中报表自动生成方法一一对应。如图6所示,该报表自动生成装置包括响应操作模块11、第一采集模块12、第一显示模块13、第二采集模块14和报表生成模块15。各功能模块详细说明如下:

响应操作模块11,用于响应第一用户操作,生成报表配置文件,所述报表配置文件包括自定义脚本地址和任务类型。

第一采集模块12,用于根据所述自定义脚本地址,通过zabbix生成自定义脚本,采用所述自定义脚本从目标终端中采集目标报表数据。

第一显示模块13,用于对所述目标报表数据进行数据处理,并将处理后的目标报表数据显示到报表页面中。

第二采集模块14,用于在接收到任务触发指令之后,通过puppteer从所述报表页面中采集所述处理后的目标报表数据。

第一报表生成模块15,用于对所述处理后的目标报表数据进行解析和抽取,生成数据报表。

优选地,如图7所示,第一显示模块13还包括:

数据重组模块131,用于对所述目标报表数据进行重组,得到第一报表数据,并将所述第一报表数据存储至第一文件中。

文件复制模块132,用于对所述第一文件进行复制,得到第二文件,并将所述第二文件存储至zabbix的可读目录中。

第二显示模块133,用于通过zabbix读取所述第二文件,将所述第二文件的数据在报表页面中显示。

优选地,如图8所示,报表生成模块15包括:

数据解析模块151,用于采用解析器解析所述处理后的目标报表数据,得到解析后的数据。

页面生成模块152,用于根据所述解析后的数据,通过所述解析器对应的html生成器,生成web页面。

数据抽取模块153,用于向所述web页面发送抽取请求,根据预设抽取方法,从web页面中抽取所述解析后的数据,得到抽取数据。

第二报表生成模块154,用于根据所述抽取数据,生成数据报表。

优选地,如图9所示,报表自动生成装置还包括:

状态判断模块16,用于判断所述任务类型的执行状态。

数据判断模块17,用于若所述执行状态为第一状态,则判断所述数据报表是否符合预设要求,所述第一状态指示所述任务类型执行过程没有发生错误。

邮件发送模块18,若所述数据报表符合预设要求,则将所述数据报表以邮件形式发送至所述接收邮箱和抄送邮箱。

优选地,报表自动生成装置还包括:

信息接收模块,用于接收任务类型信息。

第一设置模块,用于若所述任务类型信息指示所述任务类型为周期任务,则将定时器的间隔设置为周期毫秒数,周期毫秒数为周期制的时间,时间单位为毫秒。

第二设置模块,用于若所述任务类型信息指示所述任务类型为定时任务,则将定时器的间隔设置为固定毫秒数,固定毫秒数为固定的时间段,时间单位为毫秒。

优选地,报表自动生成装置还包括:

最小化模块,用于执行最小化操作,所述最小化操作指示所述任务类型的任务在后台运行。

任务完成提示模块,用于在所述数据报表成功发送至所述接收邮箱和抄送邮箱之后,触发任务完成提示。

关于报表自动生成装置的具体限定可以参见上文中对于报表自动生成方法的限定,在此不再赘述。上述报表自动生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储上述实施例中报表自动生成方法中使用到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种报表自动生成方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中的报表自动生成方法。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中的报表自动生成方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1