项 佳,于宝成*
1.武汉工程大学计算机科学与工程学院,湖北武汉430205;2.智能机器人湖北省重点实验室(武汉工程大学),湖北武汉430205
基于云数据库的公共自行车管理软件平台
项佳1,2,于宝成1,2*
1.武汉工程大学计算机科学与工程学院,湖北武汉430205;
2.智能机器人湖北省重点实验室(武汉工程大学),湖北武汉430205
摘要:针对公共自行车租、还不便,信息未及时反馈给工作人员以及用户等问题,提出了基于云数据库的公共自行车管理软件平台.该平台包括管控终端,中心控制网关、数据监控服务以及公共自行车管理系统四大模块.公共自行车管理系统采用J2EE、Struts、Spring、Hibernate等框架来设计,并在数据库层采用云数据库存储的技术来管理和处理数据.云数据库将底层的关系型数据库抽象成一系列的服务节点,并给予定制的结构化查询语言进行数据库访问,同时云数据库对外提供一个有效的统一资源定位符(URL),用户通过这个URL可以很方便的访问云数据库,进而实现租、还自行车的操作.研究表明将各个自行车站点的信息部署在云数据库中来进行统一的管理,可以有效地提高信息的访问效率,方便用户租、还自行车,满足系统的应用需求.
关键词:管控终端;云数据库;自行车管理系统
随着“绿色出行,低碳环保”理念的深入人心,以及交通拥堵和环境污染等问题越来越严重,公共交通尤其是公共自行车受到了人们的喜爱和赞誉.公共自行车凭借其使用便捷、低碳环保、健身节能等诸多优势,是解决城市交通“最后一公里”的最佳选择,也是缓解城市交通拥挤、提高公共交通分担率、减少私家车出行的一项行之有效的举措.但是目前还存在公共自行车管理不合理及站点信息统计及更新滞后、管理人员不能及时了解到站点的具体信息等问题,也不能将各个站点的信息进行汇总、管理以及分析,这都影响了公共自行车的进一步发展.
针对以上现状,设计基于云数据库的公共自行车管理软件平台,该平台是将云数据库技术和大数据分析系统进行集成,充分运用J2EE的JSP、SSH框架等相关技术而开发出来的.通过该管理系统,自行车以及锁止器等几部分的有机结合,构建出来的公共自行车管理系统平台,使管理人员对自行车站点的管理,自行车的借还等操作更加便利与及时.
云数据库是部署和虚拟化在云计算环境中的数据库,由于每台计算机都可以作为云数据库中的一个存储节点,所以云数据库不必花销很大就可以大容量的存储数据[1].云数据库和传统的分布式数据库都是把数据放在不同的位置上,但相比较分布式数据库而言,云数据库则具有很好的可扩展性,采用更加简单的数据模型、对元数据和应用数据进行了分离,使云数据库在存储和处理大量数据时具有很明显的优势.
2.1云数据库的特点
用户在使用云数据库的时候,系统会屏蔽掉底层一些细节性的问题,使用起来非常方便,就像在自己的计算机上操作本地的数据库一样,同时又能获得本地计算机无法企及的存储和处理能力.云数据库具有如下的优点:1)可移植性:由于云数据库采用云计算的技术,所以很轻松能将数据库从一个地方移到另一个地方. 2)高可用性:云数据存储中某一个节点失效,也不会影响整个云数据库的使用. 3)动态可扩展:可根据用户的需求进行无限制的存储扩展. 4)较低的使用代价:用户可以按照存储容量和带宽的需求付费使用. 5)易用性:用户不必知道数据库的细节,只需要获得云数据库服务提供商提供的一个有效的链接字符串就可以进行对云数据库的存储和其他功能的使用[2].
2.2云数据库的数据访问
云数据库在使用时,首先对用户提供一个有效的URL,用户可以通过这个URL访问当前的云数据库,当用户请求访问云数据库中的数据时,实际上就是先向云数据管理系统请求一份分区映射图,在用户发送数据请求前,云数据管理系统里会存放着各个区域中的映射图,而且每个区域的数据都对应着一个特定的键值对,系统根据用户想要查找数据的键值在分区映射图中找到自己所需数据的存储位置,确定数据的存储位置后,就可以向该区域的数据节点发送请求,最后,由该区域的数据节点把用户所需的数据返回给用户,用户便得到了想要访问的数据[3].其数据访问如图1所示.
图1 云数据库中的数据访问Fig. 1 Data access of cloud database
基于云数据库的公共自行车管理软件平台主要由管控终端,中心控制网关、数据监控服务以及公共自行车管理系统几个部分组成.其总体架构如图2所示.管控终端通过RFID读卡器采集自行车租借记录以及每个用户所持卡的信息,并对这项工作过程进行控制,然后将数据发送给中心控制网关.中心控制网关将收到的数据通过无线通信上传到后台服务器,将其给数据监控服务进行处理,存储并更新数据库中的数据.而公共自行车管理软件主要是相关工作人员对自行车借还信息,站点信息以及卡信息的管理.
图2 公共自行车管理平台的总体架构图Fig. 2 Overall structure diagram of management platform of public bicycle
管控终端通过管理终端和锁止器对自行车的借还进行管理与控制,其中锁止器通过识别用户卡的信息,来控制用户借还自行车,它是用户实现借还车辆的控制系统,具有合法身份的用户可在停车器上方便的借还车辆.与此同时,管理终端还会根据系统的设置每隔一段时间间隔向中心控制的服务器发送自行车的租还记录,方便管理人员及时进行管理及调度.
中心控制网关实现上层和下层系统之间的数据交互,主要应用TCP⁃IP网络通信和串口通信,中心控制网关根据协议中相关字段的说明,将数据按照协议规则在wifi和3G网络中传输,使得中心控制网关、管控终端和管控中心之间的网络连接畅通有序.
数据监控服务主要是管控终端的数据进行监控,同时与云数据库进行数据交互,以及对各种网点进行监控,及时发现存在问题的网点.
公共自行车管理系统是对自行车借还、用户卡信息管理、站点管理而开发的信息管理系统.
基于云数据库的公共自行车管理系统是基于B/S模式的信息管理系统,系统采用SSH框架来实现,使整个系统的层次分明,管理人员只需要登录系统通过浏览器向服务器发出请求,核心的功能都会在服务器端实现.
4.1系统模型
基于云数据库的公共自行车管理系统包括卡管理、自行车管理、查询统计、后台管理、系统管理等功能.自行车管理提供添加、删除站点,查询站点的租还车的情况,车丢失(损坏)登记,自行车入库出库管理等功能.卡管理提供售卡、充值、卡挂失、卡注销、卡上锁解锁等功能.查询统计提供卡充值记录查询、租还车记录、某时间段的总收入支出的统计、单辆车租、还记录查询、统计所有车辆的租用次数、统计某一个站点车辆的租、还车次数等功能.后台管理提供费率设置、对某时间的营业额的统计等功能.系统管理提供查看修改用户信息、管理系统用户权限等功能.系统功能模型如图3所示.
图3 系统功能模型图Fig. 3 Function model diagram of system
4.2系统结构
整个系统采用SSH三大框架来实现,主要包括Struts实现的表示层,Spring实现的业务逻辑层,Hibernate实现的数据持久层以及数据库相关操作的数据库层.其结构如图4所示.表现层在Struts中实现JSP技术和标签库,ActionServlet和Action是struts业务逻辑控制层的核心组件,表示层提供程序与用户之间交互的界面.业务逻辑层用于处理程序中的各种业务逻辑,是通过Spring实现的,也是整个系统逻辑的核心部分,既要与表示层交互,又要与数据持久层中的数据对象交互.数据持久层由Hibernate框架组成,与数据库打交道,将关系数据库映射成一个个的对象,使得系统操作数据库更加方便.每一层都是相互独立,通过一个通信接口而相互联系.
图4 系统结构图Fig. 4 Structure diagram of system
4.3系统实现
4.3.1表示层表示层是用Struts框架来实现,它的核心是ActionServlet组件.当用户发送一个请求时,利用ActionServlet将请求发给相应的Action映射器,此时,Action映射器查找所要调用的Action对象,并返回该对象的代理,然后Action代理将从配置管理器中读取Struts的相关配置(struts.xml),当Action处理请求后,将返回的结果通过JSP等网页的形式显示在浏览器中返回给用户. ActionServ⁃let将在struts.xml客户端配置文件基础上实现输入、处理和输出[5].以用户登录注册为例,当用户运行用户注册页面page-register.jsp,注册页面中的信息将被发送到控制器,根据配置文件信息,该控制器在MVC的商业模式中将创建一个JavaBean文件registerform.java. registerform.java是用来处理业务模式.登记成功后,系统将调用文件login.jsp登录,否则,用户应重新注册.
4.3.2业务逻辑层业务逻辑层在系统中负责所有的业务逻辑,它是表示层和数据持久层之间的中间层,它负责包装由数据持久层提供的数据对象,同时它还为表示层提供功能接口.系统采用Spring框架来实现业务逻辑层,Spring中的Spring Core模块是Spring的核心容器,它实现了IoC模式和Spring框架的基本功能,通过其中的BeanFacto⁃ry类负责配置与管理JavaBean.同时,Spring中提供的DAO模块,不仅提供了JDBC的抽象层,还提供了对声明式和编程式事务的支持,使得业务逻辑层与数据持久层的交互大大简化了.
4.3.3数据持久层数据持久层主要使用了Hi⁃bernate框架来解决对象关系不匹配问题,主要定义与数据库交互的类和接口,由Java对象持久化类、Hibernate映射文件以及Hibernate配置文件组成,实现由对象(Object)到关系数据库(Relational)的映射(Mapping).持久化类是操作对象,用于描述数据表的结构,Hibernate映射文件指定持久化类与数据表之间的关系,Hibernate配置文件用于指定Hibernate的属性信息等,如数据库的连接信息等. Hibernate封装了数据库的访问细节,并一直维护着实体类与关系型数据库中数据表之间的映射关系.业务逻辑层的业务处理可以通过Hiber⁃nate提供的API接口进行数据库操作,常用的接口有Configuration接口、Session接口、SessionFactory接口等,利用这些接口可以获取到数据连接、对数据进行持久化操作、HQL查询等.
4.3.4数据库层数据库层采用MySQL作为数据库服务器,主要存储系统的应用数据.在数据库层我们采用云数据库的一些技术对各个网点的数据进行统一的收集与管理,以便于数据共享和数据同步[6].系统先将自行车各个站点数据库中收集的数据,以站点为单位存储在一个云数据库中,采用键/值的数据模型,这样每个分站点的数据库便拥有一个指定的键/值,同时这些分站点的键/值对也形成了一张映射图,通过这张映射图,加上给用户提供的一个有效的访问云数据库的URL,用户便可以很轻松的访问到云数据库中所需要的数据.
以上阐述了云数据库的一些相关技术、云数据库的优势及整个公共自行车管理平台,并详细概述了基于云数据库的公共自行车管理系统的设计与实现.系统在设计的过程中充分利用了SSH三大J2EE的框架,并在数据库上采用云数据库的技术进行统一的管理,缩短了系统开发周期,实现代码分离,提高了系统的可维护性和可重用性,具有良好的可扩展性,并解决了数据的集中和共享问题,便于管理.
参考文献:
[1]CHEN K,ZHENG W M. Cloud computing:System in⁃stances and current research[J]. Journal of software,2009,20(5):I227-I348.
[2]青欣,胥光辉,戢瑶,等.云数据库应用研究[J].计算机技术与发展,2013(5):37-41. QING X,XU G H,JI Y,et al. Research on application of cloud database[J]. Computer technology and develop⁃ment,2013(5):37-41.
[3]林子雨,赖永炫,林琛,等.云数据库研究[J].软件学报,2012(5):1148-1166. LIN Z Y,LAI Y X,LIN C,et al. Research on cloud da⁃tabases[J]. Journal of software,2012(5):1148-1166.
[4]周小华.无桩式公共自行车租赁系统的研究与实现[D].长沙:湖南大学,2013.
[5]张锐丽,石云.基于Struts+Hibernate架构的图书信息管理系统研究[J].科技信息,2009(33):1128. ZHANG R L,SHI Y. Research on library information management system based on Struts and Hibernate architecture[J]. Scientific and technological informa⁃tion,2009(33):1128.
[6]何可.物联网关键技术及其发展与应用[J].射频世界,2010(1):32-35. HE K. The key technology of IOT with development and application[J]. Radio frequency ubiquitous journal,2010(1):32-35.
本文编辑:陈小平
Management Software Platform of Public Bicycle Based on Cloud Database
XIANG Jia,YU Baocheng
1. School of Computer Science and Engineering,Wuhan Institute of Technology,Wuhan 430205,China;
2. Hubei Key Laboratory of Intelligent Robot(Wuhan Institute of Technology),Wuhan 430205,China
Abstract:Considering that the renting bicycle is not convenient and the information can not be conveyed to the staff and user timely,we constructed a software platform of public bicycle management system based on the cloud database. The platform is divided into four modules:control terminal,central control gateway,data moni⁃toring service,and management system of public bicycle. The public bicycle management system,designed by the framework of J2EE,Struts,Spring,and Hibernate,applies the cloud technology to manage and process data in the database layer. What's more,the cloud database abstracts the underlying relational database into a series of service nodes,which gives the customized structured query language for database access,and provides an effective uniform resource locator(URL),so the user can access the cloud database through the URL to achieve the aim of renting and returning the bicycle. The study indicated if we put the information of different bicycle rental sites in the cloud database to carry out a unified management,the efficiency of accessing informa⁃tion could be improved to some extent,which is more convenient for the user to rent and return bicycle,meeting the application requirement of the system.
Keywords:control terminal;cloud database;bicycle management system
*通讯作者:于宝成,副教授,博士. E-mail:75583105@qq.com
作者简介:项佳,硕士研究生. E-mail:904989536@qq.com
收稿日期:2015-10-21
文章编号:1674 - 2869(2016)01 - 0093 - 05
中图分类号:TP275
文献标识码:A
doi:10. 3969/j. issn. 1674⁃2869. 2016. 01. 017