[发明专利]一种快速生成电子报表的系统构架及其实现方法有效
申请号: | 201010122301.3 | 申请日: | 2010-03-11 |
公开(公告)号: | CN101777079A | 公开(公告)日: | 2010-07-14 |
发明(设计)人: | 胡黎玮;严伟强;田文;吕孙 | 申请(专利权)人: | 浙江鸿程计算机系统有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06Q10/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310013浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 快速 生成 电子 报表 系统 构架 及其 实现 方法 | ||
技术领域
本发明涉及商业智能数据应用领域,尤其涉及一种快速生成电子报表的实 现方法。
背景技术
传统报表技术实现具有一个特性,在报表打开时,有较大的数据量交互, 有较多的IO操作,较长的时间等待,尤其是涉及到大数据量时,将获得更长的 等待时间,在表现形式上也分别对应为固定型报表和多维分析型报表(OLAP 报表)。
报表数据一般直接通过SQL(Structured Query Language)语言从关系型数 据库中获取。客户端程序结果通过客户端程序或者Web程序显示。更高级处理 方式就是将查询结果按照一定的调度算法放在缓存中,下一次同样的查询语句 无需在提交给数据库处理,直接从缓存中获取数据即可;或者数据通过MDX (MultiDimensional EXpressions)语言从多维数据库中获取,这两种技术能获得 较好的查询响应性能,而因为缓存大小有限制,决定了报表在处理数据时,也 要花费较长的时间。
对于商业智能数据应用领域而言,报表也是具有一般报表的所有特性,而 且历史数据量更大,一般都报表会存放几年历史数据,记录数都会有上亿条, 所以系统需要从这多的数据中,做查询、统计、汇总,查询响应性能可想而知, 客户感知差,尤其是关键的业务报表,在开发设计时的重要指标就是就是响应 时间,控制在多少时间内是系统交付时的重要条件。
发明内容
本发明为克服现有技术中存在的不足之处,目的在于提供一种快速生成电 子报表的方法,该方法采用内存报表技术,在报表系统初始化时,将所有关键 业务数据从数据库预读到内存中,用户在访问报表时,系统根据登录用户的角 色和权限直接从内存中读取对应的报表数据,避免了数据从硬盘读取到内存带 来的耗时,解决了现有技术中存在常规报表延时高、响应慢引致客户端感知非 常差等一些列问题。
本发明是通过以下技术方案达到上述目的:一种快速生成电子报表的系统, 包括数据层、控制层和展示层三层;
数据层,包括用于定义和存放数据模型结构和内存报表结构信息的业务指标配 置库和用于存放业务数据的业务指标数据库;
控制层,用于周期性的根据指标定义算法、规则,从数据层提取业务数据加载 到内存中;用于提供数据结果给展示层;
展示层,位于面向系统管理人员和报表用户的最前端,用于负责提交系统管理 人员和用户的指令、查询要求和参数,等待控制层处理完成后,返回指令结果 或按配置格式展现报表。
所述的控制层中有用Java语言编写的缓存系统形成的缓存机制,以用于在 内存中存储数据。
作为优选,控制层中使用lru算法,当内存缓存区域满时,首先删除最近最 少使用的缓存数据。
作为优选,业务指标配置库包括指标定义,指标刷新SQL定义,指标组定 义及指标与组的关系定义,在客户端需要展现业务内容的配置和定义。
一种快速生成电子报表的实现方法,包括如下步骤:
1)配置基础指标:位于展示层的管理人员根据报表展现的需要,向控制层 发出指令,在数据层的业务指标配置库配置最基本的、脚本直接生成的指标、 同时定义指标的刷新SQL;
2)定义指标组:位于展示层的管理人员根据报表展现的需要,向控制层发 出指令,在数据层的业务指标配置库配置指标组的名称、所属关系和对应作业 的脚本程序;
3)配置指标、指标组、指标组内项关系:位于展示层的管理人员根据报表 展现的需要,向控制层发出指令,在数据层的业务指标配置库配置指标与指标 组内项的关系,指标组与指标组内项的关系;
4)内存配置:位于展示层的管理人员根据报表展现的需要,向控制层发出 指令,在数据层的业务指标配置库中定义内存的最大对象数及对内存调度的LRU 算法;
5)控制层按照业务指标库中的刷新SQL将业务指标数据库中的数据刷入内 存;
6)控制层通过LRU算法,在内存中查询是否有需要清掉的数据并执行指令;
7)控制层将最新的数据对象刷入内存;
8)展示层发出查询SQL时,优先从内存中查询数据;
9)如果内存中没有客户需要的数据,则从业务指标数据库查询数据;
10)将查询结果返回给展示层。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江鸿程计算机系统有限公司,未经浙江鸿程计算机系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010122301.3/2.html,转载请声明来源钻瓜专利网。