基于JavaWeb和Android的基站发电稽核系统的设计

2016-09-08 09:23阳许军陶方涛
电子设计工程 2016年13期
关键词:客户端基站发电

高 磊,阳许军,陶方涛,陈 亮

(1.武汉邮电科学研究院 湖北 武汉430074;2.武汉虹信服务有限公司 湖北 武汉430074)

基于JavaWeb和Android的基站发电稽核系统的设计

高 磊1,阳许军2,陶方涛2,陈 亮2

(1.武汉邮电科学研究院湖北 武汉430074;2.武汉虹信服务有限公司湖北 武汉430074)

为了解决基站发电过程中管理困难的问题,本文提出一种基于Java Web和Android的基站发电稽核系统的方案,并阐述了本方案的实现技术和实现方法。基站发电稽核方案通过手机客户端与电脑Web端相互配合,将发电人员的位置信息和发电记录即时的传送给Web服务程序进行统一管理和稽核,管理员能够通过电脑Web端实时监测发电人员的发电情况。因此,本项目有效的实现了基站发电稽核,达到了设计要求。

基站发电;稽核;Java Web;Android

随着国内通信运营商的规模越来越大,基站(公用移动通信基站)的数量也是越来越多,此时却没有专业的工具对基站进行管理,而是仅仅靠人工借助电话、手机等通信设备进行管理已经明显满足不了各大运营商的需求。文中的定位稽核系统正是为了优化运营商的管理程序,加强运营商的管理效率而设计的。

1 Web端的设计与实现

1.1Web服务端基础理论

本项目的web端是基于JFinal框架[1]的,JFinal框架是一种轻量级框架,具有开发周期短,执行效率高等特点,而本设计属于一个中小型的应用,JFinal的特点正符合本项目的设计需求。

JFinal数据库操作完全采用原生sql,所以在本项目开发过程中能够保证灵活的数据库操作和稳定的数据库响应。

JFinal框架在修改代码后自动加载java文件,开发过程中无需重启web server,提高了调试效率,对项目完成后的维护阶段也起到一定的帮助作用。

本项目使用的缓存框架是EhCache,EhCache以插件形式集成在JFinal中,EhCache能够将频繁存取的数据缓存,加快系统的响应时间,改善用户体验。JFinal框架的结构图如图1所示。

图1 JFinal框架的结构图

1.2Web服务端MVC设计模式

JFinal由Handler、Interceptor、Controller、Render、Plugin五大部分组成,JFinal是属于MVC[2](Model View Controller)的设计模式。

Controller是JFinal核心类之一,该类作为MVC模式[3]中的控制器。基于JFinal的Web应用的控制器需要继承该类。继承Controller类的各子类主要实现用户的验证登陆,用户的权限管理,业务逻辑处理等功能控制。

Model是ActiveRecord中最重要的组件之一,它充当MVC模式中的Model部分。Model对应的每个实体类对应数据库中的一张表,每个实体类都继承BaseModel,即每个实体类都可以灵活的操作其所对应的数据库表。基于ActiveRecord 的Model无需定义属性,无需定义getter、setter方法,无需XML配置,无需Annotation配置,极大降低了代码量。

本项目中View层的设计使用的是JQuery+HTML,JQuery[4]是对JavaScript简单的封装,既保证了对视图层操作的简化,又不失JavaScript的灵活,同时为了保持代码尽可能的干净、简洁,在View层,本人将一些会经常用到的功能代码块封装成自定义标签,在使用时只需要在Jsp头文件中引用标签库文件,在代码中调用便签即可实现该功能。

1.3Web服务端设计

本项目的Web服务端负责处理手机客户端以及PC客户端浏览器提交的数据,以及对手机客户端和PC客户端的请求作出响应。

在Web服务器中,系统管理模块总体来说是对用户的管理,系统管理中分为用户管理,菜单管理,角色管理,机构管理,区域管理,数据字典,上述模块之间关联紧密,共同为系统对用户的管理提供服务。

当前,服务已经成为企业开发市场的核心竞争力。杨福旺表示:“我们提出,所有销售人员都是农化服务人员,必须有服务能力。我们必须走价值营销的理念,通过我们对最终客户的服务来体现客户的价值,让产品提高产量、提高品质。”

用户管理中可以选择角色,而角色可以在角色管理中分配权限,不同的角色可以分配不同的菜单。在项目代码中,每个菜单在数据字典中都有对应的键值,在Jsp中每个按钮都附带加上了一个自定义标签,用于判断该用户是否有权限可见。自定义标签通过从缓存中获取当前用户id,通过用户id查询到用户角色,然后关联查询到角色所包含的数据字典键值来判断用户权限。

该项目中,业务管理模块主要是对手机客户端以及PC客户端浏览器提交的数据的存储和编辑,根据用户需要可以对业务记录进行统计和查询。并且能够以Excel表格为模板,对记录数据进行导入和导出操作。在项目开发中,为了精简代码,将常用的导入功能代码抽取出来封装成ImportExcel类,并在项目中的Java Resources文件夹下面添加数据导入的模板,在导入过程中,ImportExcel类中的构造方法先将Excel文件获取,在通过类中的方法将Excel表格中的数据获取,然后通过BaseController类将记录保存到数据库。经过测试,最多可以一次性正确导入5000条记录数据。

地理位置展示模块,顾名思义,主要负责地理位置的展示,该模块读取记录中的基站的经纬度数据,和用户使用手机客户端传来的即时定位信息,并使用地图插件API将数据以地图的形式展示。基站位置固定不变,而客户位置信息是每隔三秒刷新一次的,由此保证了客户位置的即时性。

外部稽核数据模块,该模块中主要处理辅助稽核数据,例如,基站的管理中,有其他管理平台数据可以协助本项目进行基站稽核的,且该管理系统能够开放接口并与本项目外部稽核数据模块接口进行对接,辅助稽核数据能够实时的传到本项目中并协助稽核。Web服务端模块设计图如图2所示。

图2 Web服务端模块设计图

2 手机客户端安卓的开发

2.1Android客户端基础理论

本项目主要基于KJFrameForAndroid安卓开源框架,该框架是一个android的orm和 ioc框架,总共分为5大模块:UILibrary,UtilsLibrary,HttpLibrary,BitmapLibrary,DBLibrary。

UILibrary模块分为两部分,widget、topology。widget部分包含了目前应用开发中常见的自定义控件,Topology部分包含一个使用IOC设计思想的控件初始化方式:可通过注解的方式进行UI绑定,与设置监听。UtilsLibrary模块主要包含应用开发中的常用工具类,例如本项目中用到的日志管理,获取屏幕宽高,单位转换工具类,错误信息处理和字符串操作等。HttpLibrary模块主要使用HttpClient方式实现网络通信、数据上传。DBLibrary模块主要负责程序后台与数据库的交互。

本项目中手机客户端和后台服务程序之间以Xml的形式传输数据,所以需要xStream.jar来生成和解析Xml文档。

2.2Android客户端设计

在本项目中,Android[5]客户端只能发电人员使用。客户端主要分为个人信息,个人记录列表,上传记录3个部分,通过TAB导航实现3个模块的切换。

个人记录通过列表展示客户端用户的个人信息。

个人记录列表中显示的是手机客户端用户本人上传的发电记录。

上传记录模块是手机客户端的核心,进入开始发电模块之后,系统自动提示打开手机客户端GPS定位功能,如果没有打开,不能进行后续操作,打开该功能之后,首先选择基站,选择完成之后,系统自动将基站位置(以经度和纬度为标准)与GPS定位位置进行计算和对比,如果基站位置与GPS定位位置超过500米,则判定该选择无效,提示重新选择基站位置,并且不允许进行后续操作,如果判定有效则可以进行下一步操作,选择油机,填写电表度数等信息并给发电现场拍照,然后点击“开始发电”按钮。以上操作完成之后,系统记录当前时间为发电开始时间。点击“发电结束”后,系统记录当前时间为发电结束时间,点击提交,上传发电记录到数据库。

GPS名为全球定位系统,本项目中使用Android平台提供的android.location包实现,主要用到LocationManager类,LocationProvider类,Location类 3个类,实现方法是利用LocationManager类中的getBestProvider等方法获取到最优的定位提供者,下一步利用LocationProvider类中的getAccuracy()等方法获取定位精度等定位参数。最后从Location类中获取定位信息。

3 系统架构

本项目主要分为Web服务端,手机客户端接口,和手机客户端以及MySQL数据库4个模块。

Web端中分为后台服务程序和前端脚本程序,前端脚本程序是管理员与服务程序的交互媒介,后台服务程序的功能是响应PC端浏览器页面中发出的请求和处理事务逻辑以及与MySQL[6]数据库进行交互。

手机客户端则是手机用户与系统交互的主要平台,手机客户端分为页面和逻辑处理程序程序,手机客户端与MySQL数据库交互主要通过手机客户端接口,手机客户端接口运行于服务器中。系统总体结构图如图3所示。

图3 系统结构图

4 应用实例

应用实例的截图如图4所示。

图4 应用实例截图

5 结束语

本项目的主要是针对基站发电稽核问题,但是广义的来讲,对其他一些远程项目管理办法的改进也起到了积极的推动作用。特别是在工作地点多而且比较分散的情况,运用本项目能够精确的定位工作人员的工作地点,且能够对各地工作人员上报的记录进行集中高效的管理和核实,有效的提高了公司的管理能力。

[1]杨宁,刘丹军.基于JFinal框架的Java Web应用开发研究[J].电脑知识与技术,2014,10(7):1440-1443.

[2]陈辉.软件工程中的解耦核心技术MVC和三层架构比较[J].廊坊师范学院学报(自然科学版),2014,14(4):44-46.

[3]许鑫,费翔林.基于MVC模式的应用软件开发框架研究[J].计算机工程与应用,2006,41(30):102-104.

[4]邢素萍.用jQuery技术开发特色插件[J].计算机工程与应用, 2014,30(8):59-64.

[5]胡忠望,莫家庆.基于Android的移动应用开发研究[J].软件导刊,2014,13(11):18-20.

[6]罗谦.试谈 Java语言的Mysq l数据库连接实现与处理[J].民营科技,2014(8):105.

Design of base station power generation audit system based on Web Java and Android

GAO Lei1,YANG Xu-jun2,TAO Fang-tao2,CHEN Liang2
(1.Wuhan Research Institute of Postal and Telecommunications,Wuhan 430074,China;2.Wuhan HongXin Technology Service Co.,Ltd.,Wuhan 430074,China)

In order to solve the problem of management in the base station power generation process,this paper presents a Java Web and Android audit system base station power generation program,and describes the implementation technology and implementation of this program.Base station power audit programme through the mobile client and computer web complement each other,the position information and generation records ofPower Generation staffinstantly transmitted to the Web service program for unified management and audit,the administrator can monitor the power generation of the generator by using the computer Web.Therefore,the project effectively implement the base station power audit,and achieve the design requirements.

base station power generation;audit;Java Web;Android

TN02

A

1674-6236(2016)13-0049-03

2015-06-29稿件编号:201506239

高 磊(1989—),男,湖北武汉人,硕士研究生。研究方向:互联网,计算机软件与技术,软件开发。

猜你喜欢
客户端基站发电
“发电”
柠檬亦能发电?
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
摇晃发电小圆球
基于移动通信基站建设自动化探讨
可恶的“伪基站”
摩擦发电