logo好方法网

提升前端报表显示性能的方法及系统


技术摘要:
本发明公开了一种提升前端报表显示性能的方法,包括准备显示数据,对数据源进行拆分分块和存放;对拆分分块后的数据进行压缩处理,并进行存储;将获取到的压缩数据解压成普通的数据,提供给表格控件进行渲染。本发明前后端分离技术,服务端只提供压缩后的显示数据,前  全部
背景技术:
在企业级报表中,报表上万行甚至几十万行都是很平常的事,通常情况下,10000 行的报表数据在不压缩的情况下存储为文件大概为5M大小,对用户来说,光下载传输显示 数据就需要十几二十秒的时间,这是无法忍受的。所以怎么优化显示数据,节省传输时间, 对于提升用户体验非常重要。还有一个重要的点,对于比较的大的报表,用户不可能一次浏 览完所有的内容,因为屏幕是有限的,所以对于超大的报表,不需要一次性的下载完所有的 数据,只需要根据用的需求,下载当前的数据即可。即要实现数据的分块下载或只下载部分 数据,这就需要服务器提前准备好对应的数据。 企业级报表生成一般分为三个阶段:第一阶段是服务器根据报表模板和数据源扩 展生成前端显示报文(报表数据占绝大部分),由于报表的的扩展需要不断的查询、过滤、组 装数据,所以报表的扩展占用了报表生成绝大部分的时间;第二阶段是前端从服务端下载 生成好的显示数据或报文,这是针对云端报表而言的,因为报表引擎在服务端,所以大报表 的数据量往往很大,数据的下载也会占用很多时间;第三阶段是前端将显示数据渲染成报 表,供用户浏览。这三个阶段往往都是用户触发了某个条件后串联执行的,其中第一、第二 阶段占据了报表显示的90%以上的时间。 针对第二阶段,数据传输性能问题,目前并没有专门的解决方案,大多都是服务端 生成了显示报文,通过分页的方式进行访问。 现有技术存在以下问题和缺陷:如果采用服务端生成报表页面报文,并分页访问, 将导致第一阶段(报表扩展阶段)的时间会成倍的增加,因为报表分页的时间和报表扩展的 时间基本相等,这将导致得不偿失,并且分页会导致服务端的压力会成倍的增涨。
技术实现要素:
针对
分享到:
收藏