王锦泽
(中国民用航空汕头空中交通管理站,广东揭阳 516669)
一种Web智能统计管理系统的设计与实现
王锦泽
(中国民用航空汕头空中交通管理站,广东揭阳 516669)
提出一种基于Web应用的系统,通过Cell插件设计报表模板,提出相应的函数库模块,完成客户端和服务器的数据交互,自动生成报表管理,再将相关信息显示到页面上实现相关数据参数的统计与管理。
Web;报表管理;Cell
目前,在国民生产各个领域,大数据的时代已经来临,如何面对大数据并提取有效的相关信息做出科学的分析统计成为各行业必不可少的需求。而在大多数Web应用系统中,对数据的处理多集成于父系统,一方面缺乏可移植性,增加开发的人力物力,另一方面无法专业化进行有效处理业务。为此,本文提出一种Web应用系统接口,面向服务的方式提供用户对数据的查询统计及管理,增强用户对数据使用的时效性及简易性[1]。
本系统主要设计从报表模板设计和前端显示设计开展。通过后台的报表设计,系统将在数据库中生成初始化报表,该报表将提取用户所需的信息进行分析整理。而在此,相关的技术分别有SQL型的即画布式报表和Cell报表。Cell报表以MS Excel为原型,在行业内应用广泛,国内有用友的Cell组件、插件,国外有例如Formula One。对于本系统而言,利用Cell插件可以大大缩短开发周期,并且在后续工作中得到较好的功能扩展,因此系统采用Cell的开发模式。
1.1 关于Cell
Cell插件用于开发B/S结构程序,使用Asp,Asp.net, Jsp, VbScript, JavaScript等语言开发,可以在浏览器中直接打印报表[2]。整个系统界面将由单元格构成。作为Web开发的一个重要ActiveX控件,它可以实现Web的HTML显示、多格式输出、多控件添加以及数据绑定等强大功能。Cell插件的出现为开发人员实现表的二次开发提供了可能,在此基础上可以进行编程和相关的函数设计,实现报表的自动生成,使得用户与系统的交互变得更加人性化[3-5]。
1.2 系统的总体设计
系统通过五大模块实现,分别为数据预处理模块、模板定义模块、生成模块、监视日志模块、元素数据存储和生成数据存储。
数据预处理模块组织处理来自Web消息请求的各种命令,并返回相关的界面效果给予用户对前期数据做预处理。模板定义为用户维护人员提供自定义模块设计途径,使得系统的实用性与适用性结合更加紧密。在系统数据库中将提供3~4个冗余的表为系统的数据存储提供数据安全保障,包括对原始数据的录入存储和对生成数据的整理存储。除此以外,系统还提供相关的日志监视等基础功能为故障恢复提供智能支持。总体设计图如图1。
1.3 系统生成模块的设计
图1 系统总体设计图
作为系统的核心部分其实现如下,首先,报表生成器基于Cell插件的二次开发,根据其借款设计表设计模板,一方面计算公式并避免产生循环依赖,另一方面则完成和数据库的数据交互,将数据填入相应的模板表中。Cell插件开发必须要实现的内容:一是调整报表的格式,二是单元格的表达格式函数,三是数据交互函数。
对于不同的表要求,本系统设计了自己具有鲁棒性的表框架,如图2。根据以下定义的元素用户可以定义自身表格模板并在HTML上显示网格报表[6]。
图2 系统报表框架设计
图3 判断其是否有依赖关系
对于交互过程,客户端向服务端发送查询统计服务的请求,将XML文件传送到服务器端经过服务器端解析文件,最后系统将分析处理报表数据后传递给客户端[7]。因此,客户端解析文件并生成报表数据交互过程可能使用需要的Cell插件函数必须有打开功能、生成文件功能和读取数据到报表的功能,根据文献[6],在实际设计中可采用函数为OpenFile(String filename, String pass⁃word)、SaveToXML()和 ReadFromXML(String xml⁃content)。而在实际应用中以上使用的xml文件是华表推荐的xml格式。首先,其要求不能有特殊符号并且在支持的数据类型中有一定局限性,只能够支持String和Number类型。其次,在合并的单元格内并不支持数据的显示,这对实际应用造成一定的困扰。对此,系统必须对合并前的数据进行一系列的处理,包括特殊符号的代换、数据类型的转换以及合并数据的重组。在报表的生成末端则提供了解重装,对数据进行恢复显示。
对于实际应用中,如上所述必须解决单元格的循环依赖性以提高系统的运行性能,可采用以下算法对其进行处理。设报表中的单元格按行列号为Cij,其公式为fij,所有单元格的公式构成公式集合F。设fi1j1,fi2j2∈F,公式集合F为图G的顶点集合,如果fi1j1依赖于fi2j2,则将其依赖关系计入O(F)中,O(F)是图G的有向弧集.当图G中产生一条有向回路的时候便产生了循环依赖。算法IsCircle是在扫描公式集合F基础上建立依赖关系图G的,再判断图G中是否存在回路,总体流程图如图3。对于有依赖关系的数据,必须对其进行进一步的去依赖处理再进行重装入库。
本文提出一种Web智能统计管理系统的设计,该系统通过Cell插件的二次开发,实现了用户报表多功能的生成及智能统计分析,在实际应用中具有一定的鲁棒性和实效性,可以广泛应用于对数据处理较为严格、数据分析需求重复性规律性较高的行业生产。
[1]陈媛,徐传运,孙曙光.基于Ajax的Web通用报表生成工具的设计[J].重庆工学院学报,2009,23(4):65-69.
[2]Kling P,Ozsu MT,Daudjee K.Scaling XML query pro⁃cessing:distribution,localization and pruning[J]. Distributed and Parallel Databases,2011,29(5-6):445-490.
[3]朱佃波,陆剑江,杨继文.基于组件的WEB通用报表系统的设计与实现[J].航空计算技术,2008,38(1):72-76.
[4]潘福成,张士杰.基于XML的智能报表生成工具的研究[J].小型微型计算机系统,2005,26(1):134-138.
[5]刘政敏,王洁.基于XML、Ajax、WebService技术的复杂报表生成系统[J].Computer Era,2009(3):54-56.
[6]Kappel G,Kapsammer E,Retschitzegger W.Integrat⁃ing XMLand relational database systems[J].World Wide Web,2004,7(4):343-384.
[7]王素霞,于放,臧辉.面向Web应用的报表管理系统生成器[J].计算机系统应用,2014,23(1):29-32.
Design and Implementation of Intelligent Web Statistics Management System
WANG Jin-ze
(Shantou Air Traffic Management Station of Civil Aviation of China,Jieyang516669,China)
The article elaborates the basic architecture of report management system generator and introduces the basic thoughts about designing report templates based on Cell-Plugin and the corresponding function library module.According to the related information to achieve the data statistics and management.
Web;report management system generator;cell
TP31
:A
:1009-9492(2014)10-0064-02
10.3969/j.issn.1009-9492.2014.10.017
王锦泽,男,1987年生,广东汕头人,大学本科,助理工程师。研究领域:智能控制、办公信息化。
(编辑:向 飞)
2014-04-08