一种报表生成方法及装置与流程

文档序号:12719544阅读:191来源:国知局
一种报表生成方法及装置与流程

本发明涉及数据处理技术领域,尤其涉及一种报表生成方法及装置。



背景技术:

报表是管理平台的基本功能,它以一种可视化的形态为用户呈现数据所蕴含的信息,报表的功能包括对数据的汇总、统计、展示和归档。

现有的报表的生成与管理往往是与管理平台的功能绑定,用户生成报表时根据自身所需的统计项,选择包含该统计项的报表模板,根据选择的报表模板生成报表。因此为了满足用户针对每个统计项的不同组合和显示架构的需求,显示架构用来显示每个统计项的显示关系,开发人员需要预先开发出大量的报表模板。另外,随着用户需求的增加,用户可能会需要新的统计项,或者对原有的统计项进行扩展,这时就需要增加新的报表模板,新的报表模板中需要包含新的统计项及已有统计项的各种组合方式和显示架构,新增报表模板的开发工作量非常的大,如果用户的需求更改比较频繁,将进一步增加开发人员的工作量。



技术实现要素:

本发明提供一种报表生成方法及装置,用以解决现有技术中存在新增报表模板的开发工作量大的问题。

为了解决上述问题,本发明提供了一种报表生成方法,该方法包括:

接收用户的编辑操作,确定待生成的报表的显示架构以及所述显示架构中每个统计项的显示关系,并生成对应的可扩展标记语言XML配置文件,其中所述每个统计项中携带有对应的数据源、统计方式和统计方式参数;

针对每个统计项,根据用户选择的时间信息和该统计项对应的过滤参数,在所述数据源中查找满足所述时间信息和该统计项对应的过滤参数的数据信息;

根据所述统计方式参数在所述数据信息中统计;

根据所述XML配置文件、所述统计方式和统计结果,生成报表。

进一步地,所述根据所述XML配置文件、所述统计方式和统计结果,生成报表之前,所述方法还包括:

接收用户的选择操作,确定用户选择的显示样式信息;

所述根据所述XML配置文件、所述统计方式和统计结果,生成报表包括:

根据根据所述XML配置文件、所述统计方式和统计结果,按照所述显示样式信息,生成报表。

进一步地,所述方法还包括:

接收用户发送的报表下载请求,其中所述报表下载请求中携带有用户选择的生成的报表的文件格式类型;

将生成的所述文件格式类型的报表发送给所述用户。

本发明提供了一种报表生成装置,该装置包括:

接收确定模块,用于接收用户的编辑操作,确定待生成的报表的显示架构以及所述显示架构中每个统计项的显示关系,其中所述每个统计项中携带有对应的数据源、统计方式和统计方式参数;

第一生成模块,用于生成对应的可扩展标记语言XML配置文件;

查找模块,用于针对每个统计项,根据用户选择的时间信息和该统计项对应的过滤参数,在所述数据源中查找满足所述时间信息和该统计项对应的过滤参数的数据信息;

统计模块,用于根据所述统计方式参数在所述数据信息中统计;

第二生成模块,用于根据所述XML配置文件、所述统计方式和统计结果,生成报表。

进一步地,所述接收确定模块,还用于接收用户的选择操作,确定用户选择的显示样式信息;

所述第二生成模块,具体用于根据根据所述XML配置文件、所述统计方式和统计结果,按照所述显示样式信息,生成报表。

进一步地,所述装置还包括:

接收模块,用于接收用户发送的报表下载请求,其中所述报表下载请求中携带有用户选择的生成的报表的文件格式类型;

发送模块,用于将生成的所述文件格式类型的报表发送给所述用户。

由于本发明实施例中生成了显示架构,以及显示架构中每个统计项的显示关系,对应的的XML配置文件,当查找到每个统计项对应的过滤参数的数据信息,并根据每个统计项对应的统计方式参数,统计所述数据信息后,根据所述XML配置文件、所述统计方式和统计的结果,生成报表,不需要提前预先保存针对该管理平台中的每个统计项的组合方式和显示架构的报表模板,降低了报表模板的开发工作量。

附图说明

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

图1为本发明实施例1提供的一种报表生成方法的示意图;

图2为本发明实施例1提供的管理平台的结构图;

图3为本发明实施例2提供的管理平台的服务层结构图;

图4为本发明实施例3提供的报表生成方法的工作流程图;

图5为本发明实施例提供的报表生成装置的示意图。

具体实施方式

为了降低新增报表模板的开发工作量,本发明实例提供了一种报表生成方法及装置。

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1:

图1为本发明实施例提供的一种报表生成方法的示意图,该方法包括以下步骤:

S101:接收用户的编辑操作,确定待生成的报表的显示架构,以及显示架构中每个统计项的显示关系,并生成对应的可扩展标记语言XML配置文件,其中所述每个统计项中携带有对应的数据源、统计方式和统计方式参数。

本发明实施例提供的报表生成方法应用于管理平台,所述管理平台可以是安全管理平台。

用户的编辑操作,编辑的是待生成的报表的显示架构,以及显示架构中每个统计项的显示关系,确定后,该管理平台针对用户编辑的待生成的报表的显示架构,以及显示架构中每个统计项的显示关系,生成对应的XML(Extensible Markup Language,可扩展标记语言)配置文件。

所述显示架构包括待生成的报表中的统计项的显示位置,以及统计项之间的层级关系,且支持多层级。例如该管理平台支持3层级,用户在该管理平台提供的可视化编辑界面,使用鼠标拖拽出待生成的报表的显示架构,以及显示架构中每个统计项的显示关系,生成对应的XML配置文件,并保存,其中所述XML配置文件中包括该文件的唯一标识信息。

所述统计项为开发人员预先编辑好,并以XML的格式保存到该管理平台中。所述统计项中至少包括对应的数据源、统计方式和统计方式参数,此外所述统计项中还包括待输入或选择的过滤参数,以及进行过滤参数输入或选择时对应的输入控件。

所述统计项中还包括一个或多个该管理平台的功能信息,具体所述统计项中包括哪些功能信息由开发人员确定,例如所述统计项中包括该管理平台的功能信息有危险程度和攻击手段。

所述数据源是指要查找或统计的数据来源,对应的是关系型数据库中的数据表,在该管理平台中支持的数据库类型包括:MySQL、PostgreSQL、SQL Server等,此外,如果想要支持更多的数据源,可以扩展新的数据源,扩展新的数据源可以通过增加接口适配层插件来实现,在扩展新的数据源的同时,所述接口适配层插件还提供了调用该数据源的方法,从而可以实现在该数据源中进行数据信息的查找。

所述统计方式至少包括饼状图、柱状图以及时间趋势图。如果想要支持更多的统计方式,以通过增加统计方式插件来实现。每种统计方式都有其对应的统计方式参数。

S102:针对每个统计项,根据用户选择的时间信息和该统计项对应的过滤参数,在所述数据源中查找满足所述时间信息和该统计项对应的过滤参数的数据信息。

用户选择需要在待生成的报表中每个统计项需要显示的数据信息对应的时间信息,以及过滤参数,所述时间信息可以是相对时间,如相对于用户进行选择时的最近1天或最近1小时等,也可以是绝对时间,如2016-12-01 00:00:00到2016-12-01 23:59:59,所述过滤参数可以为针对该统计项中包括的功能信息对应的过滤参数,统计项中的一个功能信息对应一个过滤条件。例如,如果该统计项中包括的功能信息有危险程度和攻击手段,则该统计项中对应的过滤条件有危险程度和攻击手段,则所述危险程度对应的待选择的过滤参数可以包括高风险、中风险和低风险,所述攻击手段对应的待选择的过滤参数可以包括拒绝服务攻击、获取权限攻击和网络监控操作等。

具体地,所述在所述数据源中查找满足所述时间信息和该统计项对应的过滤参数的数据信息为:该管理平台根据接收到的用户选择的时间信息和统计项对应的过滤参数,以及统计项中保存的每个过滤条件之间的关系,组合成对应的过滤表达式,并根据所述数据源,生成对应的过滤SQL(Structured Query Language,结构化查询语言)语句,执行所述过滤SQL语句,所述过滤表达式对应过滤SQL语句中的WHERE部分,其中所述统计项中保存的每个过滤条件之间的关系为开发人员编辑确定,统计项中保存的每个过滤条件之间的关系可以为OR或AND,如果开发人员在统计项中没有指定每个过滤条件之间的关系,则默认为AND。

S103:根据所述统计方式参数在所述数据信息中统计。

具体地,如果所述统计项对应的统计方式为饼状图或柱状图,则所述统计方式对应的统计方式参数中至少包括:类型字段及类型字段对应的值、指标字段及指标字段对应的值,排序字段及排序字段对应的值,TOP字段及TOP字段对应的值,类型字段用来表示所述统计方式的类型,如饼状图的类型字段对应的值为PIE、柱状图的类型字段对应的值为BAR,指标字段用来表示按照所述指标字段进行统计,排序字段用来表示对指标字段进行统计后,对统计结果按照何种方式进行排序,排序字段对应的值包括升序和降序,TOP字段用来表示对指标字段进行统计后,按照升序或降序进行排序后的前多少项进行展示,如TOP5可以是对所述数据信息中的统计字段进行统计后,按照降序方式进行排序后的前5项进行展示。

如果所述统计项对应的统计方式为时间趋势图,则所述统计方式对应的统计方式参数中至少包括:类型字段及类型字段对应的值,指标字段及指标字段对应的值、时间粒度及时间粒度对应的值,Y轴及Y轴对应的值,类型字段用户表示所述统计方式的类型,如时间趋势图的类型字段对应的值为TIMELINE,指标字段用来表示按照所述指标字段进行统计,时间粒度用来表示时间趋势图中X轴的时间间隔,如5秒、5分钟、1小时或1天等;Y轴用来表示对所述指标字段的统计结果,可以是对统计项的数据量进行统计后的数量总和,也可以是在X轴的时间间隔内进行统计后的统计值,例如该统计值可以是统计项在每一个时间间隔内的最大值、最小值、第一个值、最后一个值或平均值等。

所述根据所述统计方式参数在所述数据信息中统计的过程属于现有技术,在本发明实施例中对该过程不做赘述。

S104:根据所述XML配置文件、所述统计方式和统计结果,生成报表。

根据XML配置文件,可以确定报表的显示架构以及显示架构中每个统计项的显示关系,并且每个统计项、统计方式和统计结果是一一对应的,所以可以在显示架构中每个统计项的显示位置,显示统计项的统计结果,从而生成报表。

所述根据所述XML配置文件、所述统计方式和统计结果,生成报表的过程为针对所述XML配置文件、将所述统计结果渲染成所述统计方式,从而生成报表的过程。所述针对所述XML配置文件、将所述统计结果渲染成所述统计方式的过程属于现有技术,在本发明实施例中对该过程不做赘述。

下面以一个具体的实施例对本发明实施例进行说明,图2为本发明实施例提供的管理平台的结构图,如图2所述,该管理平台分为三层,分别为UI(User Interface,用户界面)层、接口层和服务层。

UI层采用纯前端技术,实现用户可见的业务逻辑。UI层主要是给用户提供待生成报表的操作显示界面和已生成报表的显示界面。

针对UI层提供的操作显示界面,用户可以进行选择操作,来确定待生成的报表中每个统计项需要显示的数据信息对应的时间信息,以及过滤参数;用户可以进行编辑操作,来确定待生成的报表的显示架构,以及显示架构中每个统计项的显示关系。

针对UI层提供的已生成报表的显示界面,如果接收到服务层输出的已生成报表后,将已生成报表显示给用户,此外如果接收到用户的下载请求,还可以将报表发送给用户,使用户能够离线查看报表。

接口层负责将服务层本地接口进行封装、对外提供REST(Representational State Transfer,表现层状态转移)接口,也就是说针对UI层传递的用户的选择、编辑和输出操作对应的信息,将所述信息传递给服务层。

服务层主要负责完成报表的生成。

服务层在接收到用户的编辑操作后,确定待生成的报表的显示架构以及所述显示架构中每个统计项的显示关系,并生成对应的XML配置文件。

服务层在接收到用户选择的时间信息和统计项对应的过滤参数后,在所述数据源中查找满足所述时间信息和统计项对应的过滤参数的数据信息,如数据源为MySQL数据库中的攻击记录表,用户选择的时间信息为2016年1月1日到2016年5月1日,和该统计项对应的过滤参数为危险程度中的高风险和中风险,则服务层在MySQL数据库中的攻击记录表中查找危险程度功能,以及该危险程度功能对应的高风险和中风险的统计项对应的数据信息。

服务层根据XML配置文件,可以确定报表的显示架构以及显示架构中每个统计项的显示关系,并且每个统计项、统计方式和统计结果是一一对应的,在显示架构中每个统计项的显示位置,显示统计项的统计结果,从而生成报表,并将已生成报表输出到UI层。

由于本发明实施例中生成了显示架构,以及显示架构中每个统计项的显示关系,对应的的XML配置文件,当查找到每个统计项对应的过滤参数的数据信息,并根据每个统计项对应的统计方式参数,统计所述数据信息后,根据所述XML配置文件、所述统计方式和统计的结果,生成报表,不需要提前预先保存针对该管理平台中的每个统计项的组合方式和显示架构的报表模板,降低了报表模板的开发工作量。

实施例2:

在上述实施例的基础上,本发明实施例中,根据所述XML配置文件、所述统计方式和统计结果,生成报表之前,所述方法还包括:

接收用户的选择操作,确定用户选择的显示样式信息;

所述根据所述XML配置文件、所述统计方式和统计结果,生成报表包括:

根据根据所述XML配置文件、所述统计方式和统计结果,按照所述显示样式信息,生成报表。

所述显示样式信息包括待生成的报表中的页眉、页脚,以及显示架构中每一层级的文字对应的字体、颜色、字号、背景等信息,用户选择显示样式信息时可以是根据该管理平台提供的显示样式信息选择插件,来进行选择的。

所述根据根据所述XML配置文件、所述统计方式和统计结果,按照所述显示样式信息,生成报表的过程为针对所述XML配置文件、将所述统计结果渲染成所述统计方式和显示样式,从而生成报表的过程。

如果所述待生成的报表中包含至少两个统计项,由于根据所述统计方式参数在所述数据信息中统计的过程是针对每个统计项进行统计的,所以为了提高报表生成的效率,可以采用分布式的调度策略,使用多个节点来完成多个报表,同样地,可以使用多个节点来分别完成对每个统计项的统计,再使用其他节点对统计项的统计结果进行渲染,从而将生成报表,其中所述节点可以是不同的服务器或系统,只要能够完成生成报表的任务即可。

为了进一步提高用户的体验感,所述方法还包括:

接收用户发送的报表下载请求,其中所述报表下载请求中携带有用户选择的生成的报表的文件格式类型;

将生成的所述文件格式类型的报表发送给所述用户。

用户针对待生成的报表,进行的选择操作,确定的是待生成的报表的文件格式类型,该管理平台支持的文件格式类型包括pdf、docx、html等。

下面以一个具体的实施例对上述实施例进行说明,图3为本发明实施例提供的管理平台的服务层结构图,如图3所示,该管理平台的服务层包括:数据源、配置文件、数据处理引擎、配置管理数据库和数据渲染引擎。

所述数据源中保存有该管理平台的每个统计项对应的数据信息,所述数据信息可以根据预设的保存规则保存在相同的数据源中,或者是不同的数据源中,所述预设的保存规则保存在该管理平台中。例如,所述预设的保存规则可以为针对同一个统计项对应的数据信息保存在相同的数据源中。

配置文件具体为本发明实施例中的每个统计项的配置文件,每个统计项的配置文件可以称为一个报表模板。具体地,所述统计项的配置文件的配置信息包括数据源配置信息、过滤参数配置信息、统计方式配置信息、过滤条件子句信息和字符串列表信息。

其中所述数据源配置信息用来表示所述统计项的配置文件对应的统计项的数据信息来源,所述数据源配置信息是由开发人员预先编辑所述所述统计项的配置文件时确定的。所述数据源配置信息包括唯一标识信息、名称、类型和表名,所述唯一标识信息用来唯一标识每个统计项,如id值;其中所述名称可以是每个统计项在生成的报表中展现给用户的名称;其中所述类型为数据库类型,如MySQL、PostgreSQL、SQL Server等,对于不同类型的数据库,在查找数据信息时,可以通过调用接口适配层插件来查找数据信息;其中所述表名为数据表的名称,所述数据信息保存在其对应的数据表中。

所述过滤参数配置信息是对数据源配置信息中数据源的数据信息进行过滤,所述数据源配置信息是由用户进行选择的,相当于SQL语句中的WHERE字句的条件部分,该部分用来规定数据信息的选择标准。过滤参数配置信息包括唯一标识信息、输入控件类型、字段名、默认值、显示名称、检查规则、操作符等。所述唯一标识信息用来唯一标识每个统计项,如id值;其中所述输入控件类型包括文本输入框input、下拉单选框dropSSelect、下拉多选框dropMSelect、多选框checkBox,此外还可以扩展其他不同类型的输入控件,如果想扩展其他的输入控件类型,该管理平台通过使用输入控件类型扩展插件,来实现对其他的输入控件类型的扩展,方便用户进行编辑和选择。用户可以通过该管理平台呈现的不同类型的输入控件进行过滤参数的选择,如对于下拉单选框dropSSelect、下拉多选框dropMSelect、多选框checkBox等类型的输入控件,在展现给用户时,会包含一个枚举对应的值的列表,来指定可选的取值范围,方便用户操作,所述枚举的值来源可以是从服务层提供的REST接口中获取,如用户类型的枚举的值可以在如\api\v1\usertypes的接口进行获取,所述输入控件类型是由开发人员预先编辑所述所述统计项的配置文件时确定的;其中所述名称在数据源中用key表示,为每个统计项对应的字段名;其中所述默认值为输入控件展现给用户时的默认输入值;其中所述显示名称为字段名在生成的报表中展现给用户的统计项的过滤条件的名称,如该统计项的过滤条件的名称在数据源中为“src_ip”,则在生成的报表中展现给用户时的显示名称可以为“源IP”;其中所述检查规则用来对用户的输入内容进行校验,为对应的正则表达式,所述检查规则主要应用于输入控件类型为文本输入框input时;其中操作符用来表示每种功能,以及每种功能的统计项的字段名与字段值的关系,所述操作符包括等于==、不等于!=、包含于in、大于>、大于等于>=、小于<、小于等于<=、模糊匹配like等。

所述过滤条件子句信息为由开发人员预先编辑所述所述统计项的配置文件时确定的。所述过滤条件子句信息可以用json(JavaScript Object Notation,JavaScript对象表示法)字符串表示,便于提高查找数据信息的速度,利用json字符串表示过滤条件原理是将过滤条件中的元素三元组用AND(和)或OR(或)连接起来,组成数据查询语句的条件部分,其中所述元素三元组分别为字段名key、操作符op和字段值value。该json字符串有两种对象格式,一种是布尔类型的对象格式,另一种是表达式类型的对象格式,布尔类型的对象格式中包括type和value,type为对象取值类型包括AND或OR,value是一个子对象列表,该子列表中可以嵌套有布尔类型的对象格式的json字符串,也可以嵌套有表达式类型的对象格式的json字符串,如果type取值为AND时,该布尔类型的对象格式的json字符串为{“type”:”AND”,“value”:[子对象列表]},如果type取值为OR时,,该布尔类型的对象格式的json字符串为{“type”:”OR”,“value”:[子对象列表]};表达式类型的对象格式中包括type和value,type为对象取值类型包括EXP(expression,表达式),value由@符号连接[条件id]构成,所述条件id用于唯一标识过滤条件的元素三元组,该表达式类型的对象格式的json字符串为{“type”:”EXP”,“value”:”@[条件id]”},可以根据需要将布尔类型的对象格式和表达式类型的对象格式的json字符串进行嵌套,如

},其中最外层的布尔类型的对象格式的json字符串的子列表中既嵌套有布尔类型的对象格式的json字符串,又嵌套有表达式类型的对象格式的json字符串,该json字符串的逻辑关系为((level=v1)OR(type=v2))AND(sip=v3)AND(port=v4),其中元素三元组中描述了key及value的对应关系,具体地key为level对应的value为v1,key为type对应的value为v2,key为sip对应的value为v3和key为port对应的value为v4,vi均为用户在输入或选择过滤参数时通过对应的输入控件,进行输入或选择的,该管理平台的系统可以根据该json字符生成对应的SQL语句中的WHERE部分,从而进行数据信息的查找或统计。

所述统计方式信息用于表示对选择的每个统计项的进行过滤后的额数据信息的统计方式,该管理平台提供的统计方式信息包括饼状图、柱状图和时间趋势图,如果想增加新的统计方式,该管理平台通过使用统计方式扩展插件,来实现对新的统计方式的扩展,所述统计项的统计方式信息是由开发人员预先编辑所述所述统计项的配置文件时确定的。

所述字符串列表信息为生成的xml格式的文件中需要国际化的字符串提供信息,所述字符串列表信息是由开发人员预先编辑所述所述统计项的配置文件时确定的,如果有需要国际化的字符串,则可以使用“$”符号来引用该字符串的内容,所述字符串包括唯一标识信息,简体中文串,英文串,繁体中文串等内容,其中所述所述唯一标识信息用来表示唯一标识每个字符串,如id值;其中所述简体中文串表示简体中文字符串;其中所述英文串表示英文字符串;其中所述繁体中文串表示繁体中文字符串,该管理平台的系统会根据当前所处的语言环境自动加载不同的语言类型的字符串,如该管理平台的系统检测到当前访问的IP(Internet Protocol,网络协议)地址位于中国香港,则根据中国香港的语言环境自动加载繁体中文字符串。

由于本发明实施例中生成了显示架构,以及显示架构中每个统计项的显示关系,对应的的XML配置文件,当查找到每个统计项对应的过滤参数的数据信息,并根据每个统计项对应的统计方式参数,统计所述数据信息后,根据所述XML配置文件、所述统计方式和统计的结果,生成报表,不需要提前预先保存针对该管理平台中的每个统计项的组合方式和显示架构的报表模板,降低了报表模板的开发工作量。

实施例3:

在上述各实施例的基础上,本发明提供的实施例中,所述根据所述XML配置文件、所述统计方式和统计结果,生成报表包括:

判断当前是否为用户设定的报表生成时间;

如果是,根据所述XML配置文件、所述统计方式和统计结果,生成报表。

在本发明实施例中用户可以设定报表生成时间,具体的用户可以通过报表生成的执行方式来实现对报表生成时间的设定,报表生成的执行方式包括立即执行、定时执行和周期执行。

当用户选择的报表生成的执行方式为立即执行时,则根据所述XML配置文件、所述统计方式和统计结果,直接生成报表;当用户选择报表生成的执行方式为定时执行时,用户可以设定生成报表的时间点,则根据所述XML配置文件、所述统计方式和统计结果,在用户设定的时间点生成报表,如用户设定的时间点为2016年12月29日23点23分10秒,则在该时间点执行生成报表;当用户选择报表生成的执行方式为周期执行,用户可以设定生成报表的时间周期,该时间周期可以通过一个时间间隔确定,例如周期为一个小时,则可以根据该周期确定生成报表的每个时间点,该时间周期也可以通过一个具体的时间点确定,此时一般可以理解为这个时间周期为一天,一个月,或者一年等,例如具体的时间点为每天的23点23分10秒,则在每天的23点23分10秒执行生成报表。

下面以一个具体的实施例对上述实施例进行说明,图4为本发明实施例提供的报表生成方法的工作流程图,包括以下步骤:

S401:报表配置阶段。

该管理平台在该阶段接收用户对待生成的报表的显示架构以及所述显示架构中每个统计项的显示关系的编辑、所述显示架构中每一层级显示样式信息的选择、报表的文件格式类型的选择、针对数据统计的时间信息的选择和报表生成时间的设定等。

S402:过滤条件生成阶段。

该管理平台在该阶段接收用户的针对每个统计项对应的过滤参数的选择操作,用户的选择过程中,该管理平台会针对统计项中的每个过滤条件提供给用户对应类型的输入控件。根据用户的选择,该管理平台中针对用户的选择结果,以及统计项中保存的每个过滤条件之间的关系,组合成对应的过滤表达式,并根据所述数据源,生成对应的过滤SQL语句,执行所述过滤SQL语句。针对每个统计项,会组合成其对应的过滤表达式。其中所述统计项中保存的每个过滤条件之间的关系为开发人员编辑确定,统计项中保存的每个过滤条件之间的关系可以为OR或AND,如果开发人员在统计项中没有指定每个过滤条件之间的关系,则默认为AND。

S403:统计语句生成阶段。

该管理平台根据上一个阶段执行所述过滤SQL语句后,得到的数据信息,和所述统计项中对应的统计方式参数,生成统计SQL语句,从而对所述数据信息进行统计,所述统计SQL语句是针对每个统计项对应生成的。

S404:数据处理子任务阶段。

在用户设定的时间报表生成时间,该管理平台在该阶段执行上一个阶段生成的SQL语句,得到每个统计项的统计结果,并保存。

S405:数据渲染子任务阶段。

当待生成的报表所需要的每个统计项对应的统计结果全部得到,则数据渲染引擎根据所述统计结果,并按照用户编辑的显示架构,以及显示架构中每个统计项的显示关系,以及显示样式信息,渲染成每个统计项对应的统计方式,并生成报表。

S406:报表查看阶段。

所述报表生成后,该管理平台可以提供给用户在线或离线查看所述报表的功能,所述方法还包括:

接收用户发送的报表下载请求;

将生成的所述报表发送给所述用户。

如果接收到用户发送的报表下载请求,则将所述报表发送给所述用户,使所述用户能够离线查看所述报表。

由于本发明实施例中生成了显示架构,以及显示架构中每个统计项的显示关系,对应的的XML配置文件,当查找到每个统计项对应的过滤参数的数据信息,并根据每个统计项对应的统计方式参数,统计所述数据信息后,根据所述XML配置文件、所述统计方式和统计的结果,生成报表,不需要提前预先保存针对该管理平台中的每个统计项的组合方式和显示架构的报表模板,降低了报表模板的开发工作量。

图5为本发明实施例提供的报表生成装置的示意图,该装置包括:

接收确定模块51,用于接收用户的编辑操作,确定待生成的报表的显示架构以及所述显示架构中每个统计项的显示关系,其中所述每个统计项中携带有对应的数据源、统计方式和统计方式参数;

第一生成模块52,用于生成对应的可扩展标记语言XML配置文件;

查找模块53,用于针对每个统计项,根据用户选择的时间信息和该统计项对应的过滤参数,在所述数据源中查找满足所述时间信息和该统计项对应的过滤参数的数据信息;

统计模块54,用于根据所述统计方式参数在所述数据信息中统计;

第二生成模块55,用于根据所述XML配置文件、所述统计方式和统计结果,生成报表。

所述接收确定模块51,还用于接收用户的选择操作,确定用户选择的显示样式信息;

所述第二生成模块55,具体用于根据根据所述XML配置文件、所述统计方式和统计结果,按照所述显示样式信息,生成报表。

所述装置还包括:

接收模块56,用于接收用户发送的报表下载请求,其中所述报表下载请求中携带有用户选择的生成的报表的文件格式类型;

发送模块57,用于将生成的所述文件格式类型的报表发送给所述用户。

本发明提供了一种报表生成方法及装置,所述方法包括:接收用户的编辑操作,确定待生成的报表的显示架构以及所述显示架构中每个统计项的显示关系,并生成对应的可扩展标记语言XML配置文件,其中所述每个统计项中携带有对应的数据源、统计方式和统计方式参数;针对每个统计项,根据用户选择的时间信息和该统计项对应的过滤参数,在所述数据源中查找满足所述时间信息和该统计项对应的过滤参数的数据信息;根据所述统计方式参数在所述数据信息中统计;根据所述XML配置文件、所述统计方式和统计结果,生成报表。由于本发明实施例中生成了显示架构,以及显示架构中每个统计项的显示关系,对应的的XML配置文件,当查找到每个统计项对应的过滤参数的数据信息,并根据每个统计项对应的统计方式参数,统计所述数据信息后,根据所述XML配置文件、所述统计方式和统计的结果,生成报表,不需要提前预先保存针对该管理平台中的每个统计项的组合方式和显示架构的报表模板,降低了报表模板的开发工作量。

对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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