报表模块-概要设计说明书-v10Cybertron_第1页
报表模块-概要设计说明书-v10Cybertron_第2页
报表模块-概要设计说明书-v10Cybertron_第3页
报表模块-概要设计说明书-v10Cybertron_第4页
报表模块-概要设计说明书-v10Cybertron_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

概要设计说明书

报表模块

目录

1概述1

1.1目的1

1.2术语1

1.2.1报表1

1.2.2报告错误!林义书签。

1.2.3中间表1

1.2.4统计条件1

1.2.5统计项2

2架构设计3

2.1总体架构3

2.1.1中间表引擎3

2.1.2报表调度引擎4

2.1.3寸员表生成弓|擎5

2.2中间表设计6

2.2.1创建接口6

2.2.2删除接口6

2.2.3统计接口7

2.2.4ES统计性能优化7

2.3报表调度架构设计8

2.3.1创建接口8

2.3.2编辑接口8

23.3删除接口8

2.4性能监测8

2.4.1中间表监测9

2.4.2调度监测9

3功能设计10

3.1报表维护10

3.1.1报表显示10

3.1.2报表创建10

3.1.3寸良利图改11

3.1.4报表删除11

3.1.5报表预览11

3.2报表调度12

3.2.1调度显示12

3.2.2调度创建/修改12

3.2.3调度删除12

324调度运行13

4测试设计17

4.1测i娜境搭建17

4.2建立测试基线17

版本修订:

E3时间修订模式修订者修订内容

12017/04/01陈华

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

备注:修订模式包括新建、增加、删除、修改等

1概述

1.1目的

本说明书描述用于本系统的报表模块的设计方式、运行原理等。

1.2术语

1.2.1报表

对以正文、数据表格、统计图形或三者结合的展现形式,显示雌的汇总情况统称。按照一

定条件,对数据进行分组汇总统计,并以表格方式显示统计结果,同时可选结合统计图形的报

表。报表还可以全正文文本描述信息。

1.2.2中间表

统计报表的统计对象不是原始数据表,而是中间表。中间表按照一定的时间间隔、指定的统

计条件(分组、汇总)和过滤条件等,持续不断地对原始数据表进行汇总统计,并保存统计结

果。

1.2.3统计条件

统计条件首先是报表针对中间表统计时分组的依据,同时也是最终报表展现时列表中的统计

项以外的字段,列表中除统计项字段外,只有统计条件字段。

1.2.4统计项

统计项是指最终用来计算的字段。计算的方式包括求和、平均、计数、最大最小值等。

2架构设计

2.1总体架构

工每次调度的总用时

中间表Q

单个中间表街次调度的用时

可用于用户推荐:如对于几乎不运行的报表,推荐月户捌除或合

性能监测。报表。运行的频率。并,以节解间表资源

结果记录数据库

预定义

双轨并行

二~|随报表定义

人一字段/条件相同

1恃别是针对随报袁定义的中间表石建义

元数据存储o存储在数据库中

报表

中间表二低优先级

不局限于处理时间

抽象引孥91

定义输入/输出即可

务必使用ES原生接口统计

连接ES性能

进一步深入研究ES的Aggregation函数/配置参数等,提高统计性能

须有一定分散度

测试数据集O,

尽可能接近真实数菇

性能。

测试)确定若干性能指标

建立基线Or

便于日后每次改造/重构后评估效果

2.1.1中间表引擎

中间表运行机制管理。主要功能包括:

•启动加载预定义中间表和随报表定义的中间表,中间表需支持启停操作

•根据报表配置,按照一定的频率,持续从数据源(Elasticsearch.DB、接口)中获取聚

合数据,并将数据写入数据库中

•提供创建报表接口,当报表被创建时同时创建中间表,创建中间表时与拥有相同字段

(分组、统计)和条件的报表合并中间表。

•提供删除报表接口,当报表被删除时同时删除中间表,删除中间表时需要判断是否有其

它报表使用。

•提供统计接口,当运行报表时,根据报表运行条件,从数据库的中间表中统计数据并返

中间表运行支持以不同频率运行,并可以按照时间进行纵向切分,以便能够保存更长时间的

数据,至少支持按照分钟/小时/天三种频率运行,频率为小时和天时可以将数据进行适当合并,

以减少数据量,保证报表运行效率。

提示:

默认15分钟统计一次,每次统计三分之一时间的数据,然后乘以三预估为15分钟数据。

问题:

数据权限判断?

1.中间表添加levelcode字段用来判断用户权限

2.中间表创建时用户选择数据范围

2.1.2报表调度引擎

提供报表调度运行机制功能,主要功能包括:

•创建调度,将调度信息保存到数据库中,并启动调度

•修改调度,修改调度的配置信息

•删除调度,并删除由调度生成的报表文件

•调度运行,按照配置,依指定频率,定期调用中间表引擎运行报表,并将报表文件保存

或发送邮件

・调度报表文件管理,依指定频率,定期删除调度历史报表文件

2.1.3报表生成引擎

将从中间表引擎获取到的数据,使用报表工具(JasperReports)生成指定格式的报表文

件,支持的报表文件格式包括:pdf/xls/doc/png/html等。

报表中的统计图支持:柱图、饼(环)图、折线图、面积图、雷达图。报表支持定义多个统

计图。

将多个报表合并为报告..用户使用自定义信息替换报告模板中信息可实现报告定制。

问题:

报表数据是否只来自中间表(是否支持:sql接口)

1.报表数据从中间表来,用户需定义字段类型、字段名称、字段标题

2.报表数据从sql来,用户需定义字段类型、字段名称、字段标题

3.报表数据从接口来,用户返回固定格式数据,需转换格式或者进行字典表翻译

2.2中间表设计

中间表可预定义,或随用户创建报表时定义,中间表需支持不同数据源。

2.2.1创建接口

输入:报表定义,包括分组列、统计项、过滤条件、排序、TopN等

输出:无

接口功能描述:根据输入的报表定义,构造中间表对象,并保存。同时在数据库中创建中间

表,开始进行中间表统计。

提示:

由于中间表结构会影响到报表的生成,因此只提供中间表的创建接口,而不提供修改接口。

当报表修改后,应首先删除原中间表,并创建新的中间表。

2.2.2删除接口

输入:报表ID

输出:无

接口功能描述:根据报表ID,删除报表对应的中间表对象,同时删除数据库中的中间表和全

部数据。

提示:

中间表与报表是一对多关系,当删除报表时,判断对应的中间表是否被其它报表使用,未被

使用时应同时删除。

2.2.3统计接口

输入:报表运行条件,包括:报表ID、时间范围

输出:统计结果对象

接口功能描述:根据报表ID获取报表定义,使用分组列、统计项、排序、TopN等条件结合

时间范围对中间表数据进行统计,并将统计结果组装成数据结构返回。

提示:

设计为抽象统计引擎,可支持多种数据源。

2.2.4ES统计性能优化

直接调用ES原生接口进行统计,优化ES的Aggregation函数/配置参数等,提高统计性

能。

2.3报表调度架构设计

2.3.1创建接口

输入:调度信息,包括:针对报表ID、调度频率、报表统计时间范围、报表文件格式、是否

发送邮件等

输出:无

接口功能描述:将调度信息保存至数据库中,并立即启动调度任务,按照调度频率运行报

表。

2.3.2编辑接口

输入:调度ID和调度信息

输出:无

接口功能描述:将最新的调度信息更新至数据库中,并重启调度任务。

2.3.3删除接口

输入:调度ID和是否备份已生成报表文件(可选)

输出:无或已生成的报表文件

接口功能描述:删除调度信息,并同时删除已经生成的报表文件。

2.4性能监测

记录中间表统计时间和强表调度频率和每次调度生成文档时间,优化报表生成和调度策略。

2.4.1中间表监测

中间表统计时间,每次调度的时间和每次每张中间表统计时间,根据监测数据找出影响性能

的张中间表和受影响时间段(避开高峰期丁延期处理)O

2.4.2调度监测

监测报表调度生成文件的频率,向用户推荐不经常使用报表,对其进行停止、合并或删除操

作,以节约中间表资源。

3功能设计

3.1报表维护

多统计图(统计报表)

3.1.1报表显示

根据特定条件(一般为统计条件)查询所有已经保存的报表记录,并以列表形式展现。

能够显示单个报表的配置信息,包括但不限于:名称、描述、分组列、统计项、排序、

TopN等。

3.1.2报表创建

使用统计条件来创建报表,直接使用统计条件中的:

•分组列

•统计项

•过滤条件

•排序条件

•TopN

•统计图形设置

作为报表的配置使用。

报表的其它属性需要在保存时由用户输入,如:名称、描述等。

3.1.3报表修改

报表修改的配置过程与创建类似,只是不从统计条件出发就可以直接编辑修改。

提示:

需要特别注意的时,报表和中间表是多对一关系,因此如果修改了报表的字段后,中间表结

构可能会发生变化,需要判断中间表是否只有当前报表使用,若是则需要修改中间表结构将会导

致先删除原中间表再重建新的中间表(原有数据全部删除),需要提示用户。

3.1.4报表删除

删除报表后,将会同时删除:

•中间表和中间表中的全部数据,需要判断中间表是否只有当前报表使用

•已经添加的调度任务和调度任务生成的所有报表文件

需要提示用户,并提供选择是否备份调度生成的报表文件。

3.1.5报表预览

报表预览必须选择一个时间范围作为条件,默认预览报表文件格式为HTML,支持导出

PDF/XLS/DOC/PNG/HTML等格式。支持直接邮件发送报表给用户。

3.2报表调度

3.2.1调度显示

调度以报表单位进行显示,通过报表可以查询到所有已经保存的报表调度记录,并以表格形

式展现。

选择单个调度任务后,可以查看调度的信息,包括:频率、当前运行状态、生成报表文件格

式、是否发送邮件以及接收邮件地址等。还可以下载当前调度生成的报表文件。

3.2.2调度创建/修改

选择一个报表即可创建或者修改一个调度任务。调度任务必须配置:频率、生成报表文件的

格式,可选择配置:首次运行时间、是否发送邮件、邮件接收人地址等信息。

调度启用/禁用

可在查看调度任务时,启用或禁用调度任务,禁用的调度任务将不会再运行并生成报表文

件。

3.2.3调度删除

删除一条调度任务后,调度任务已经生成的报表文件也会被全部删除。

提示:

需要提示用户,并提供选择是否备份调度生成的报表文件。

3.2.4调度运行

调度任务运行采用后台自动运行方式,无需人工干预。运行按照调度配置的频率启动,调度

的运行频率可以支持:运行一次、每天、每周、每月。

4数据结构设计

4.1报表

属性名属性类型必须备注

报表IDuuidvarchar必须主键

中间表IDcacheidvarchar必须用于定义中间表名称,避免重复

报表名称namevarchar必须

创建时间createdlong必须

更新时间modifiedlong必须

创建者creatoridlong必须数据权限过滤时使用

报表数据来源source禄痴0-2,中间表、sqk接口,默认中间表

最大行数limitint0表示不限制数据行数

是否显示标题列showColumnTitleboolean

是否为内置报表systemboolean内置报表只读,不可编辑

文件生命周期lifetimeint单位天

报表创建条件strategyvarchar通过此条件助阵专回报表创建模块

报表页面配置reportpagevarchar纸张大小、方向、页眉、页脚

4.2中间表

属性名属性类型必须备注

UUIDuuidvarchar必须主键,报表uuid,用于报表查找定义中间表

中间表类型typeenum必须使用途径不同,可供终端使用和只限其他中

间表使用,缺省为可供终端使用

需统计计算的字段,统计方式:sum、

统计字段statiitemsvarchar必须

、、

count.count(distinct).avgmaxmin

分组字段groupsitemsvarchar必须

过滤条件experssionvarchar必须统计数据时特殊的条件

数据存放时间storageTimeint必须单位为分钟

是否启用enableboolean杲否向中间表插入统计数据

4.3报表监控

属性名

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论