实现高端报表工具的缓存功能

高端的报表工具都提供了缓存机制,避免报表重复计算带来额外性能开销,节省CPU资源,实现结果共享。报表在计算过程中,大部分时间(85%以上)都消耗在数据源(准备)上,集算器可以用简单的方法实现数据源的缓存复用,让普通报表工具也拥有缓存机制。

实现数据源缓存有两个关键,根据报表不同的参数和宏生成不同的报表缓存;缓存超时时间需要重新计算。下面以实例说明。

报表描述

根据销售记录表计算各销售人员本年销售额和上年销售额,及其增长率,统计客户数与大客户数(订单金额超过10000)。报表样式如下:

该报表供公司多人查看,如果能实现现有报表工具中没有的缓存机制,能够极大地提升用户体验。

集算器实现

A5:判断以报表名和参数命名的缓存文件是否存在,若存在并且缓存文件未超时,直接读取缓存文件,并返回结果。上述代码设置的超时时间为3600秒,该时间可设置单独的配置文件,使用时直接读入,以方便配置维护;

A6-B21:当缓存文件不存在或超时时,则根据计算逻辑重新计算结果;

B22:根据计算结果,生成缓存文件;

A23:通过集算器JDBC为报表输出数据。

可以看到实现缓存功能的实际代码只有3、4行,简单清晰。

报表调用

集算器封装了标准的JDBC接口供报表工具调用集算器脚本,以润乾报表为例,调用过程如下:

集算器采用的是类存储过程的调用方式,sales为集算器脚本名称。

实现高端报表工具的缓存功能

时间: 2024-08-06 07:59:26

实现高端报表工具的缓存功能的相关文章

移动端报表实现离线填报功能解决方案

1.描述 对于经常填报报表的人而言,经常会面临以下的情况:比如在有些场景下没有网络,只能将数据暂存到本地,等有网络时,再将数据提交入库:或者有时需要将数据暂存下来,过段时间后再补充完整.那么在离线的情况下这些情况该如何实现呢,以我平时的工作经验对这些问题做一个归纳总结,下面用我常用的报表开发工具FineReport 移动端给大家做一个详细的演示. 2. 实现方法 2.1 暂存 移动端填报模板,加一个"暂存"按钮,如下图: 点击暂存后,如下图,可为暂存的填报模板命名,文本框内,默认有根据

蒋步星:报表工具和移动端

报表工具是解决数据呈现问题的,而手机是很方便的数据呈现载体,那么报表工具显然应当提供移动端APP? 其实不然,报表工具并不该直接提供移动端APP.更严格的说法:不只是不该有,而且是不能有! 为什么不能有? 道理很简单,作为中间件的报表工具是需要被集成的,已经做成APP了咋集成? 终端用户采用的移动端APP需要做好用户登录.权限管理等功能,而这些在不同用户场景下是不同的,需要行业开发商再来定制,直接提供做死的APP反而没法用.而且,有些用户已经有了自己企业的移动端门户APP,报表功能要被嵌入到门户

Java 报表工具

1.报表工具基本功能 报表工具一般提供一下功能: 支持多种数据源,而且数据源可配置. 支持脚本式的样式定义,一般是基于XML的,可灵活修改,一般提供样式编辑器.一般支持基于打印的样式定义,支持报表头尾.页面头尾.分组等概念. 将数据源和样式定义,输入到报表引擎,可输出为多种格式,包括PDF.EXCEL等. 2.报表工具的使用 从报表工具的基本功能来看,使用报表工具,核心是两个,一个是数据源的定义,一个是样式的定义. 数据源的定义比较简单,一般是数据库,按照报表工具要求的配置好连接池,依照业务需求

2012远程桌面管理工具下载新功能

与升级到Windows 8相比,企业用户使用Windows Server 2012时相对比较简单.Windows Server 2012最大的改变并不是在风格上,除了Modern UI界面之外,而是那些基于微软三年前发布Windows Server 2008 第二版本时打造的组件.值得一提的是,Windows Server 2012保留并极大地扩展了两个Windows Server 2008 R2网管们很熟悉的两个管理功能:Server manager 和Powershell.iis7远程桌面连

移动端报表如何实现离线查看报表功能

1. 描述 对于移动端报表而言,查看报表经常会有以下问题:查看缓存数据相比于实时数据,减少了数据传输时间,效率提高:而且部分客户不需要实时看数据,定期取数据,或者手动更新数据已经能满足需求了:有时由于网络环境不好,或者流量有限的时候,看不了实时报表.最好的解决办法就是实现离线查看报表,根据我平时报表的开发经验,以自己常用的报表开发工具FineReport 移动端为例,具体给大家讲讲这个离线查看的功能可以如何实现. 2. 移动端离线模式 2.1 离线模式 登录服务器前,若网络异常,则使用弹窗提示

使用FastReport报表工具实现信封套打功能

在较早期的报表套打的时候,我倾向于使用LODOP的ActiveX进行报表的打印或者套打,BS效果还是很不错的.之前利用它在Winform程序里面实现信封套打功能,详细参考<基于信封套打以及批量打印的实现过程>,虽然功能能够完美实现,不过由于还需要附带一个不是百分百整合一起的插件,还是有点另类的,虽然只是第一次使用的时候,需要安装一次插件即可.本篇随笔介绍一下如何旧瓶装新酒,使用FastReport报表工具来实现信封的套打及批量打印的功能. 1.信封套打及批量打印功能的回顾 首先我们要有一些特制

highreport报表工具功能介绍

目前国产报表工具大部分都是Java版本,例如润乾和帆软,而C#写的报表工具国内还没有,介绍一款VS2010(C#)写的国产报表工具(highreport),采用类Excel设计,零代码实现复杂报表展示.复杂表单填报.图表展示.参数面板.系统管理.大屏可视化.导出.打印等. 报表功能:1.报表采用类似Excel操作方式制作报表模版,简单易操作2.报表支持多种关型系数据库( Oracle.SQL Server.MySQL.SQLite.PostgreSQL.Access.Excel 等)3.报表支持

润乾报表与 ActiveReport JS 功能对比

简介 润乾报表是用于报表制作的大型企业级报表软件,核心特点在于开创性地提出了非线性报表数学模型,采用了革命性的多源关联分片.不规则分组.自由格间运算.行列对称等技术,使得复杂报表的设计简单化,以往难以实现的报表可以轻松实现,避免了大量的复杂 SQL 编写与前期数据准备,报表设计的效率提高了一个数量级.润乾报表大概有 20 年的历史,产品成熟稳定. ActiveReport JS 是一个轻量级的报表解决方案,提供简单丰富的 API,是目前葡萄城新推出的报表工具,所以还在测试和不断完善中. 开发语言

蒋步星:报表工具的“后”路

报表工具很可能是企业级通用软件领域中仅有的国产软件品质远远超过国外同行的产品了.以润乾为先行者的国内厂商,在十多年的竞争中靠实力击败了国外产品.除了少量开源产品因价格优势还有较多用户外,其它国外产品主要就是些多年前的老用户了. 中国报表需求确实更复杂,无论格式和计算都繁琐得多,传统报表模型难以处理.润乾发明的非线性报表模型能够较好地解决这些问题,国内重要厂商目前都采用了该模型,而国外厂商则继续使用传统模型,产品本身品质要差很多;另外,近年来几个重要的国外厂商都发生了并购,报表工具并非收购方的主营