1. 引言
1.1 系统简介
通用能源管理平板展示系统定位于无线局域网环境下在ANDROID平板上使用丰富多彩的图表组件生动地展现客户的业务数据。业务数据可扩展,展现页面可灵活配置。
1.2 文档描述
2 总体设计
2.1主要介绍系统框架。
2.2主要介绍系统主要模块设计。
3 系统主要模块详细设计。
3.1 业务数据定义
3.2 数据发布应用设计
3.3 图表组件设计
3.4 前台展示应用设计
3.5 前台展示应用缓存设计
4 前后程序数据交换接口设计
2. 总体设计
2.1. 系统框架
通用能源管理平板展示系统组成结构如下图
说明:
1)业务层:
业务系统:业务系统为客户某类专业的应用系统,为通用能源管理平板展示系统提供数据源。通常某一业务系统提供某一类业务数据,各业务系统共同为平板展示系统提供完整的数据源。
2)服务层
数据库服务器:用于存储及定义用于平板进行前台展示的各类业务数据,这些数据来源于各类业务系统。从各类业务系统抽取数据时,先对数据项信息进行定义(如该项数据名称、数据标识、数据描述、数据单位、更新频率等),再按一定规则定期从业务系统抽取该项数据。
数据发布服务器:数据发布服务器上运行一个WEB服务应用,作为前台应用和后台数据之间的数据转发接口。前台应用使用HTTP协议调用数据发布服务器上的WEB应用,WEB应用从数据库服务器上查询相关数据并以JSON格式将数据返回给前台应用。
3)通信层
无线局域网:使用无线路由器建立一个无线局域网,联通前台平板和后台服务器。
4)展示层
平板电脑:作为前台展示应用平台,平板上运行一个可视化的能源管理程序,以图形、表格等可视化形式动态展示相关业务数据。图表、表格等所使用的数据是通过HTTP协议调用后台数据发布服务器上的WEB应用获得。
2.2. 主要模块设计
2.2.1. 业务数据定义
T_DATA_FIELD表用于定义业务数据字段,是关于业务数据的元数据信息。
T_DATA_FVALUE表用于存储业务数据,同一字段在不同时间点有不同的值,各字段之间相互独立,不存在任何关系。
2.2.2. 数据发布应用设计
数据发布应用设计为一个WEB应用,主要采用JAVASERVLET技术实现,WEB服务器采用TOMCAT。
前台应用使用HTTP协议进行SERVLET调用时,WEB应用连接数据库服务器进行业务数据查询,并以JSON格式将数据返回给前台应用。
主要SERVLET功能设计:
SERVLET名称 |
功能 |
LoginServlet |
登陆验证 |
MetaDataServlet |
获取元数据(模块/主题/表格的定义) |
ChartDataServlet |
查询图表数据 |
2.2.3. 图表组件设计
图形组件(曲线图、柱状图、饼状图等)以开源的achartEngine组件为基础,基于用户需求进行适当改进。
表格组件是通过扩展BaseAdapter基类实现,实现了表格数据动态更新,表格动态修改行列数。
2.2.4. 前台展示应用设计
前台展示应用设计为模块(module)/主题(subject)/图表(chart)三级逻辑结构,整个前台展示应用由若干模块组成,一个模块由多个主题组成,每个主题包含两个图表组件(一个图形组件和一个表格组件,共同展示一个专题),每个图表组件都有独立的数据源设置。其中一个主题显示区域对应平板整个屏幕,多个主题之间通过滑动进行切换。
柱状图图表
线状图图表
饼状图图表
2.2.5. 前台展示应用缓存设计
为了使用前台展示系统适用于某些离线使用情况,系统设计了数据缓存功能。数据缓存基于ANDROID系统本地的SQLITE数据库实现,在线登陆时图表组件从后台访问最新数据后,在用于显示的同时将数据另存到SQLITE一份。离线登陆时,直接访问本地缓存中的数据。
3. 详细设计
3.1 业务数据定义
3.1.1 业务数据结构设计
通用能源管理平板展示系统的数据源主要来源于各类监测表计的实时数据,以及基于这些实时数据不同口径下的统计数据(例如基于每分钟电量值,统计出每天或每月的电量值)。这些实时数据(包括原始测量值和统计值)有固定的测量单位、输出频率,且彼此之间相对独立。
考虑到数据的扩展性,数据库表结构设计为纵向表,在接入新数据前必须在字段定义表中进行登记。为了便于使用这些数据,登记信息应包含字段名称、显示名称、数据采用的测量单位、数据更新频率等信息。
业务数据字段定义如下:表名T_DATA_FIELD
字段名 |
字段类型 |
字段大小 |
字段说明 |
备注 |
FIELD_ID |
NUMBER |
10 |
字段ID |