一种web报表数据异步填充的实现方法技术

技术编号:13405892 阅读:36 留言:0更新日期:2016-07-25 09:36
本发明专利技术公开了一种web报表数据异步填充的实现方法,包括数据处理单元、报表编译单元和异步填充单元,其中数据处理单元内置数据引擎模块,其具体实现过程为:首先通过数据引擎模块对报表数据进行整理,然后移交到报表编译单元;报表编译单元对报表数据中涉及的单元格格式和公式格式进行预处理,随后将预处理的数据移交异步填充单元;异步填充模块解析预处理的数据后进行界面格式填充完;最后将填充完的报表数据在UI界面进行展示。本发明专利技术的一种web报表数据异步填充的实现方法与现有技术相比,大大提高了报表的加载速率,保证数据计算准确性,提高报表的展现效率,能极大提高客户对产品的满意度,实用性强,易于推广。

【技术实现步骤摘要】


本专利技术涉及通信信息
,具体地说是一种web报表数据异步填充的实现方法

技术介绍

随着网络化信息系统的发展,越来越多的企业部署基于Web的信息系统。然而在企业ERP中核心的报表部分就成了功能的主要关注点。传统的企业报表依赖于第三方插件,加载效率慢,对用户的体验以及工作效率都有影响,而web报表由于浏览器限制也不能达到高效的展现以及灵活的配置。基于WEB报表系统的现状,现提供一种web报表数据异步填充的实现方法。通过该方法使传统Web报表填充展现数据更加高效灵活,对操作进行原子化处理,通过异步手段逐步优化展现逻辑,以达到提高WEB报表的展现效率的目的。

技术实现思路

本专利技术的技术任务是针对以上不足之处,提供一种web报表数据异步填充的实现方法。
一种web报表数据异步填充的实现方法,包括数据处理单元、报表编译单元和异步填充单元,其中数据处理单元内置数据引擎模块,其具体实现过程为:
首先通过数据引擎模块对报表数据进行整理,然后移交到报表编译单元;
报表编译单元对报表数据中涉及的单元格格式和公式格式进行预处理,随后将预处理的数据移交异步填充单元;
异步填充模块解析预处理的数据后进行界面格式填充完;
最后将填充完的报表数据在UI界面进行展示。
在数据处理单元内,数据引擎模块与预编译单元之间的数据传输采用HTTP协议,数据格式采用JSON来进行语义化描述,网络传输采用ProtocolBuffer进行压缩。
所述报表编译单元包括公式预编译单元和格式预编译单元两部分,数据引擎模块处理后的数据顺序发送到公式预编译单元、格式预编译单元后进行公式编译预处理、格式编译预处理。
公式预编译单元对公式编译预处理过程为:
数据引擎加工后得到的结果移交给公式预编译单元处理;
公式预编译单元根据公式数据递归形成公式树,记录公式之间的关联引用和指向指针;
公式部分包括自定义公式、表内公式、表间公式,根据不同的公式类型来加载不同的预编译策略,同时相同引用的指针做缓存处理提高复用效率;
动态公式预编译成MAP表对表格位置进行重新索引,这样的达到了单元格在纵向和横向扩展的时机与单元格公式的实时位置更新。
格式预编译单元对格式编译预处理过程为:
公式预编译单元预编译的结果、数据引擎的结果都会交给格式单元处理,首先根据单元的格式数据来形成格式树加载格式以及位置信息,初始化加载方式,初始化公式信息,同时对报表的数据和填充进行重组;格式信息与公式信息进行预整合,形成完整的报表描述结构,最终形成一个待处理填充的格式描述的数据结构。
异步填充单元的具体填充过程为:
首先接收格式预编译单元的编译结果,解析成填充指令,然后将指令交给异步填充单元,用JavaScript启用WebWorker进行多线程异步填充,这里的异步填充单元采用两种填充模式:
块填充,即对数据进行块级别的填充;
扩展填充,即扩展为公式指令标记为扩展的单元格,进行横向和纵向的扩展填充。
报表数据在UI界面进行展示的具体过程为:界面格式填充完之后,回调公式计算模块,该公式计算模块采用的公式计算方式为异步延时加载的方式,即计算和展现独立操作,独立线程解析公式结果,填充方式采取由左到右、由上到下的加载方式;最后进行公式缓存复用,对于相同的公式结果进行缓存不再进行重复计算,计算后统一回调展现UI界面。
本专利技术的一种web报表数据异步填充的实现方法和现有技术相比,具有以下有益效果:
本专利技术适用于Web报表系统中快速的展现报表格式以及数据,通过该流程方法,对数据进行预处理,可以快速的加载报表格式、异步填充报表数据、进行公式的计算以及用户的私有逻辑控制等;其中对公式树进行了预编译、公式单元格的延时加载、格式树的轻量级描述、填充报表时的动态模式、异步模式,都大大提高了报表的加载速率;另外此模式同时保证数据安全,保证数据计算准确性,提高报表的展现效率,能极大提高客户对产品的满意度,实用性强,易于推广。
附图说明
附图1为本专利技术的工作原理示意图。
具体实施方式
下面结合附图和具体实施例对本专利技术作进一步说明。
如附图1所示,本专利技术的一种web报表数据异步填充的实现方法,包括数据处理单元、报表编译单元和异步填充单元,其中数据处理单元内置数据引擎模块,采用前后端分离,支持自定义的取数接口;传输过程数据格式压缩优化。报表编译单元用于单元格格式和公式格式预处理,提高报表速度;采用树形数据结构的方式来存放公式,用来表达公式的依赖关系;引入的公式指令,通过指令驱动报表填充,对自定义公式以及表内表间公式进行了优化,即去重、缓存;格式部分使用轻量级数据结构JSON进行描述,节省内存且数据结构语义化。异步填充单元利用WEB(HTML5)特性对填充逻辑进行多线程异步操作,提升用户体验;填充模式分策略加载,即块填充、扩展填充,提高加载的性能;公式计算结果缓存化、公式引用实时更新、公式结果延迟加载,保证了数据的准确性。
基于上述结构,本专利技术的具体实现过程为:
首先通过数据引擎模块对报表数据进行整理,然后移交到报表编译单元;
报表编译单元对报表数据中涉及的单元格格式和公式格式进行预处理,随后将预处理的数据移交异步填充单元;
异步填充模块解析预处理的数据后进行界面格式填充完;
最后将填充完的报表数据在UI界面进行展示。
在数据处理单元内,数据引擎模块与预编译单元之间的数据传输采用HTTP协议,数据格式采用JSON来进行语义化描述(轻量易读),网络传输采用ProtocolBuffer进行压缩(整体传输体积小)、通过此方式来对WEB报表的取数单元进行了性能以及效率的提升,减少了网络的开销,提高了查询效率。
所述报表编译单元包括公式预编译单元和格式预编译单元两部分,数据引擎模块处理后的数据顺序发送到公式预编译单元、格式预编译单元后进行公式编译预处理、格式编译预处理。
公式预编译单元对公式编译预处理过程为:
数据引擎加工后得到的结果移交给公式预编译单元处理;
公式预编译单元根据公式数据递归形成公式树,记录公式之间的关联引用和指向指针;
公式部分包括自定义公式、表内公式、表间公式,根据不同的公式类型来加载不同的预编译策略,同时相同引用的指针做缓存处理提高复用效率;
动态公式预编译成MAP表对表格位置进行重新索引,这样的达到了单元格在纵向和横向扩展的时机与单元格公式的实时位置更新。
格式预编译单元对格式编译预处理过程为:
公式预编译单元预编译的结果、数据引擎的结果都会交给格式单元处理,首先根据单元的格式数据来形成格式树加载格式以及位置信息,初始化加载方式,初始化公式信息,同时对报表的数据和填充进行重组;格式信息与公式信息进行预整合,形成完整的报表描述结构,最终形成一个待处理填充的格式描述的数据结构。
异步填充单元的具体填充过程为:
首先接收格式预编译单元的编译结果,解析成填充指令,然后将指令交给异步填充单元,用JavaScript启用WebWorker进行多线程异步填充,这里的异步填充单元采用两种填充模式:
块填充,摒弃了传统的单元格填充方式,引入数据区域的概念,对数据进行块级别的填充,提高了填充效率。
扩展填充,扩展为公式指本文档来自技高网
...

【技术保护点】
一种web报表数据异步填充的实现方法,其特征在于,包括数据处理单元、报表编译单元和异步填充单元,其中数据处理单元内置数据引擎模块,其具体实现过程为:首先通过数据引擎模块对报表数据进行整理,然后移交到报表编译单元;报表编译单元对报表数据中涉及的单元格格式和公式格式进行预处理,随后将预处理的数据移交异步填充单元;异步填充模块解析预处理的数据后进行界面格式填充完;最后将填充完的报表数据在UI界面进行展示。

【技术特征摘要】
1.一种web报表数据异步填充的实现方法,其特征在于,包括数据处理单元、报表编译单元和异步填充单元,其中数据处理单元内置数据引擎模块,其具体实现过程为:
首先通过数据引擎模块对报表数据进行整理,然后移交到报表编译单元;
报表编译单元对报表数据中涉及的单元格格式和公式格式进行预处理,随后将预处理的数据移交异步填充单元;
异步填充模块解析预处理的数据后进行界面格式填充完;
最后将填充完的报表数据在UI界面进行展示。
2.根据权利要求1所述的一种web报表数据异步填充的实现方法,其特征在于,在数据处理单元内,数据引擎模块与预编译单元之间的数据传输采用HTTP协议,数据格式采用JSON来进行语义化描述,网络传输采用ProtocolBuffer进行压缩。
3.根据权利要求1所述的一种web报表数据异步填充的实现方法,其特征在于,所述报表编译单元包括公式预编译单元和格式预编译单元两部分,数据引擎模块处理后的数据顺序发送到公式预编译单元、格式预编译单元后进行公式编译预处理、格式编译预处理。
4.根据权利要求3所述的一种web报表数据异步填充的实现方法,其特征在于,公式预编译单元对公式编译预处理过程为:
数据引擎加工后得到的结果移交给公式预编译单元处理;
公式预编译单元根据公式数据递归形成公式树,记录公式之间的关联引用和指向指针;
公式部分包括自定义公式、表内公式、表间公式,根据不同的公式类型来加载不同的预编译策略,同时相同引用的指针做缓存处理提高复用效率;
动态公式预编...

【专利技术属性】
技术研发人员:李伟龙薛军利刘本熙李洪营
申请(专利权)人:浪潮通用软件有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1