摘要

  校园一卡通数据所隐含的信息是丰富的,如何将其进行纵向拓展和横向拓展,探索它们之间的内在联系并进行可视化建模和展示?  校园一卡通不断发展,为学校积累了大量的数据资源,如何利用好这些资源,将枯燥晦涩的字母和数字,变成图文并茂的可视化内容,从而助推学校管理效能,值得研究和实现。主流的一卡通厂商都有数据分析平台产品,但是往往都停留在文档或服务器里,不能很好地满足高校需求。...

  校园一卡通数据所隐含的信息是丰富的,如何将其进行纵向拓展和横向拓展,探索它们之间的内在联系并进行可视化建模和展示?

  校园一卡通不断发展,为学校积累了大量的数据资源,如何利用好这些资源,将枯燥晦涩的字母和数字,变成图文并茂的可视化内容,从而助推学校管理效能,值得研究和实现。主流的一卡通厂商都有数据分析平台产品,但是往往都停留在文档或服务器里,不能很好地满足高校需求。我们可以利用目前成熟的开源框架和可视化技术,开发出学校真正所需的软件产品,挖掘数据价值,为学校提供管理和决策工具。

数据准备

  厦门大学校园一卡通系统包括一卡通金融系统、免费米饭系统、一卡通身份识别系统(考勤、门禁、宿管、会签和无线门锁等)、一卡通水控系统和一卡通电控系统等,每个子业务系统都是独立的,当然其数据也各自独立。数据分散形成信息孤岛,给数据分析和实时展示造成很多不便,同时数据分析必然是很耗资源的,会对生产系统的性能造成影响。为此,我们必须建立一个数据集散地即资源中心, 它包含一卡通所有业务系统的数据,为数据分析和数据共享提供统一的数据服务平台,同时分担生产系统的一部分查询和统计工作,减轻生产系统的压力。

  利用ETL集成工具 ODI(Oracle Data Integrator),建立一套数据抽取和清洗规则、标准,将分布在各个业务系统的刷卡交易数据同步到资源中心。首先,我们必须要有数据库方面的知识储备,包括数据库基础知识,并熟练使用各种数据库管理软件,如 Oracle、SQL Server、MySql等, 上述一卡通业务系统分别用到这三种数据库软件。随后,我们必须了解各系统的数据结构,系统供应商一般不会开放数据库设计,对校方提出的数据需求,响应速度也可能比较慢,有必要花时间去研究各系统的数据结构,以便在使用的时候能快速响应管理需求。操作一卡通业务系统管理软件的一些功能,并利用 SQL 语句监控工具,如 Oracle 系统表 sql/sqltext、SQL Server Profiler、Nero Profile SQL等,可以辅助我们了解业务系统的数据结构。有了这些基础,我们可以轻松地将一卡通业务系统的数据,通过ETL工具同步到资源中心。


图1 数据资源中心结构

  数据资源中心平台结构如图1所示,一卡通业务系统数据库统一以视图的方式提供数据接口。视图简化了数据结构,同时可联合多表为可视化平台提供真正所需的数据,简化了ODI的数据操作。为了保证业务系统数据安全,需要创建一个只有查询相关视图权限的数据库账户,ODI通过该账户连接业务系统,依据ETL规则,

  按照既定的数据标准,建立同步任务,定时从视图中抽取数据,写入到资源中心数据库中,为校园一卡通可视化平台提供数据服务。

开发工具和框架

  Java EE 是当前主流的B/S架构技术平台,提供很多技术先进、性能稳定的开发工具和开源框架,可以极大地提高系统的开发效率,并提升项目的开发质量。

  1.项目管理

  Maven是一个优秀的项目管理工具,能够很容易地集成到Eclipse,非常适合模块化软件设计和团队开发环境,有利于提高软件项目的可重用性。使用Maven来管理项目的外部依赖关系,直接在pom.xml文件中配置好Maven仓库地址、Jar包/插件名称和版本号,Eclipse会自动从Maven仓库下载,加入到项目依赖库中(Dependencies)。Maven同样有助于项目内部的模块化开发管理,项目的每个模块就是Maven的一个Module,模块间的依赖关系也在pom.xml文件中进行配置。

  2.后台框架

  采用Spring+CXF+Hibernate的组合框架搭建后台开发环境,向前端页面或其他业务系统提供RESTful风格的数据服务。Spring是一个主流的Java Web开源框架,为开发Java应用程序提供全面的基础设施,其他框架在此基础上,通过简单的xml文件配置进行集成。CXF是一个轻量级Web Service框架,可与Spring无缝集成,用于构建和开发SOA应用,它支持多种协议,如SOAP、XML/HTTP、RESTful HTTP等。Hibernate框架是一个数据访问中间件,是业务层与数据库之间的桥梁,它支持JPA注解开发,提供丰富又完备的API接口,使得数据库操作变得简单快速。

  3.前端框架

  jQuery、ECharts和Bootstrap都是开源的前端页面开发框架,可以无缝集成在一起,并且兼容各种主流的浏览器。jQuery是一个JavaScript框架,提供快速、简洁操作HTML文档元素的方法,具有高效灵活的CSS选择器,提供Ajax异步操作方法,便于前端与后台数据交互,实现页面动态无感刷新。ECharts是一款优秀的可视化工具,它提供一个商业级数据图表库,并支持个性化定制开发,具有很强的用户体验,赋予了用户对数据进行挖掘、整合和展示的能力。Bootstrap是基于HTML、CSS、JavaScript的前端开发框架,

  提供丰富的页面内容、组件和工具集,用于快速构建用户界面,能够增强用户的视觉体验。

  4.项目发布

  使用Maven的Assembly插件把项目打包、发布成能够在Tomcat容器下运行的应用程序。Assembly将Tomcat运行环境、可视化平台项目及其依赖项、模块、站点文档和相关文件一起自动化组装成一个可分发的项目产品文件包,该文件包可以直接部署到具备JDK环境的服务器中,修改必要的配置信息后,即可一键启动。

平台设计

  资源中心是一卡通乃至校园信息化数据集散地,可以为全校其他业务系统提供数据服务。充分考虑到可视化平台的前瞻性和服务性,使用模块化开发方法,基于分层设计理念,提高平台的可扩展性和易部署性。遵循SOA架构设计模式,使得系统能够提供RESTful轻量级接口服务,便于其他业务系统的快速接入。

  可视化平台的系统结构如图2所示,参照组件化、模块化和分层设计原则对平台结构进行规划设计。平台结构自下而上分为资源层、数据访问层、服务层、接口层和表现层。


图2 可视化平台系统结构

  资源层就是资源中心数据库, 整合了一卡通所有业务系统的数据,采用Oracle 数据库管理软件,部署在一卡通内网的 Linux 系统下,同时启用系统防火墙iptables保证数据安全,向可视化平台提供视图访问接入。

  数据访问层参照 JPA (Java Persistence API) 规范,采用Hibernate中间件实现数据操作,中间件分离业务与数据,保证数据安全,同时降低数据操作复杂度,增强可视化平台在不同数据库间的可移植性。

  服务层采用组件化、模块化设计方法, 将服务层实现的不同功能进行解耦,划分成业务处理模块、Security模块和Core模块。业务处理模块由账户中心统计分析、一卡通金融系统实时分析、免费米饭统计分析等不同组件组成。Security 模块主要实现RESTful接口授权和接入安全认证等功能。Core模块提供各种公共基类资源,便于业务逻辑扩展,同时提供一些基础工具包,如邮件工具、HTTP工具、Excel工具和PDF工具等。

  接口层采用CXF的RESTful协议发布风格简约的接口服务,不采用Spring MVC模式是为了进一步解耦业务处理与数据展现之间的关系,使后台更专注数据服务,而不关心前端表现,提高数据服务的通用性,使之能够为更多的业务系统服务。

  表现层通过jQuery异步调用接口获取JSON格式的数据,再利用Bootstrap和ECharts框架渲染到页面,实现一卡通数据的可视化。

功能实现

  以数据大屏的方式,直观展示校园一卡通各个业务系统的运营情况,包括账务中心、交易分析、免费米饭、身份识别、智能水控和智能电控,以前三个模块为例说明可视化平台实现的功能,其他模块因实现方式类似且受篇幅限制不再累赘。利用Bootstrap的格珊系统进行页面布局,将每个模块的页面划分成多个区域展示不同的数据内容。利用ECharts提供的图表库对统计分析数据进行分类展示,包括柱状图、饼图、折线图、仪表盘等。通过分析和展示过去、现在的运营情况,管理人员能够以此为参考,对未来一卡通业务的发展做出合理评估,同时也能及时发现系统的问题,比如因终端设备故障导致交易流水数据异常、流水滞留等。

  为了保护学校、一卡通商户和用户的敏感信息,以下图片中的信息和数据经过脱敏处理。

  1.账户中心


图3 账户中心分析展示页面

  学校一卡通主要发行4类卡片,包括教工卡、学生卡、消费卡和校友卡。如图3所示,账务中心模块展示的内容主要包括校园卡账户发行规模、近一年活跃账户规模、校园卡总体账户余额、近一年校园卡开户情况、消费卡办理大户Top15、校园卡个人账户余额Top50。

  2.交易分析


图4 交易分析展示页面

  如图4所示,交易分析模块主要展示一卡通金融系统的实时运营情况,包括今日总体消费和充值情况、账户冻结和挂失数量、今日消费趋势、今日学生就餐率、近七日充值和消费金额人次对比及今日商户营业金额排行Top15。

  按时间段统计金融交易系统的消费金额,通过折线图来展示今日消费趋势。学校一卡通交易较为频繁,以10分钟为准进行分段统计,也可按实际情况进行调整。

  3.免费米饭


图5 免费米饭分析展示页面

  如图5所示,该模块主要反映免费米饭的实时消费情况,内容主要有今日和总体消费人次及数量、今日免费米饭总体消费趋势及按学生身份占比、近七日免费米饭消费量及次均消费量、昨日及今日免费米饭商户营业排行、今日学生消费排行Top50。

  校园一卡通数据所隐含的信息是丰富的,目前可视化平台所展示的信息比较有限,后续将进行纵向拓展和横向拓展。纵向拓展是指引入更多的数据分析指标和维度,通过不同角度反映有价值的信息;横向拓展是指结合学校其他业务系统的数据进行联合分析,探索它们之间的内在联系, 并进行可视化建模和展示。数据资源中心和可视化平台集成了目前主流的、最新版本的开发工具和框架,采用基于 SOA 的软件架构设计方法,具备了技术先进性和平台可扩展性,可支持学校财务、教务、图书馆和招生等数据的抽取和存储,可实现全校各业务系统的数据可视化。

  作者:邓文亮(厦门大学信息与网络中心)
  来源:《中国教育网络》杂志(9月刊)
  责编:朴艺娜

  投稿、转载或合作,请联系:media@cutech.edu.cn

中国教育信息订阅号二维码
中国教育信息微信服务号