基于Spark技术在智慧城市系统中的应用
2018-11-05石磊
石磊
摘要:随着信息技术的不断发展,城市信息化应用水平不断提升,智慧城市建设应运而生。建设智慧城市在实现城市可持续发展、引领信息技术应用、提升城市综合竞争力等方面具有重要意义。在建设智慧城市中所需要一系列软硬件支持,其中技术层面需要物联网、云计算等新一代信息技术的支撑。其中智慧城市系统中的应用之间的数据传递、转换、过滤等一系统服务都需要软件技术支撑。Spark是一个轻量级Java Web框架,可用来快速开发Web应用,并作为RESTful服务为智慧城市各应用提供高效快速访问接口。
【关键词】Spark技术 RESTful 服务 智慧城市
智慧城市是运用信息和通信技术手段感测、分析、整合城市运行核心系统的各项关键信息,从而对包括民生、环保、公共安全、城市服务、工商业活动在内的各种需求做出智能响应。其实质是利用先进的信息技术,实现城市智慧式管理和运行,进而为城市中的人创造更美好的生活,促进城市的和谐、可持续成长。从技术发展的视角,智慧城市建设要求通过以移动技术为代表的物联网、云计算等新一代信息技术应用实现全面感知、泛在互联、普适计算与融合应用。其中很重要部分就是各应用系统数据互通互联。同时为各个应用提供RESTful服务接口,这样就依赖Spark技术搭建轻量级的Java Web应用作为服务平台。
1 概念描述
1.1 智慧城市
智慧城市作为信息技术的深度拓展和集成应用,是新一代信息技术孕育突破的重要方向之一,是全球战略新兴产业发展的重要组成部分。开展“智慧城市”技术和标准试点,是科技部和国家标准委为促进我国智慧城市建设健康有序发展,推动我国自主创新成果在智慧城市中推广应用共同开展的一项示范性工作,旨在形成我国具有自主知识产权的智慧城市技术与标准体系和解决方案,为我国智慧城市建设提供科技支撑。
1.2 RESTful
RESTful是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
Web应用程序最重要的REST原则是,客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启,客户端不会得到通知。此外,无状态请求可以由任何可用服务器回答,这十分适合云计算之类的环境。客户端可以缓存数据以改进性能。
1.3 Spark
Spark是一个轻量级Java Web框架,可用来快速开发Web应用。Spark的设计初衷不是与其他框架竞争,而是为Java Web应用开发者提供一种纯Java实现。Spark基于Java 8lambda表达式构建,因此看起来更加简洁,总共大小不到1M。
2 Spark技术实现
2.1 技术参数
开发语言:Java
JDK版本:jdkl.8及以上
管理工具:引入Maven项目对象模型(POM)
开发工具:MyEclipse或Eclipse
2.2 搭建应用基础框架
(1)创建一个Maven项目,将下面依赖添加到pom.xml中:
(2)创建应用Main方法入口:
import static spark.Spark.*;
public class HelloWorld{
public static void main(String[] args){
get(”/hello”, (req, res)->”HelloWorld”):
)
)
(3)启动运行应用:
右键mam方法类文件,点击Run As选择Java Application,直接启动应用程序。
直接访问:http://localhost:4567/hello(框架应该默认端口4567)
(4)导出应用:
右键项目名称,选择Export Runable JARfile,要求包含项目框架所使用的全部包文件。直接导出jar可执行应用文件。
(5)添加应用服务:
创建一个start.bat批命令文件,内容如下:java-jar文件名jar
启动应用:直接双击start.bat,打开服务,同时cmd窗口保留。
关闭应用:直接关闭cmd窗口,应用关闭。
2.3 应用升级完善
(1)自定义web端口:通过配置文件灵活配置应用端口。默认端口:4567。
(2)数据源连接问题:通过配置文件选择应用接口与哪种数据库连接。
(3)业务数据订制:通过配置业务数据标准的SQL语句,灵活获取业务数据。
3 应用实例
通过Spark技术搭建java web平台为智慧城市综合管理平台(图1)、智慧交通大数据平台(图2)、终端App应用(图3)等提供业务数据RESTful服务接口,方便各应用在不同的平台中直观展示。
4 分析与总结
基于Spark搭建Java Web应用平台,应用于各个智慧城市项目中,为各种应用平台提供快速高效访问接口。具体体现在智慧城市项目中能轻松找到最快捷的上下班路线、供水供电有保障,且街道更加安全。如今的消费者正日益占据主导地位,他们希望在城市负担人口流入、实现经济增长的同时,自己对生活质量的要求能够得到满足。
建成一批特色鲜明的智慧城市,聚集和辐射带动作用大幅增强,综合竞争优势明显提高,在保障和改善民生服务、创新社会管理、维护网络安全等方面取得显著成效。
Spark技术在智慧应用软件中特点:安全、稳定、轻量级、创建方便快捷、快速高效和跨平台性等,保证了各个应用的数据请求响应速度及数据的稳定性。
参考文献
[1]《智慧城市总体框架和技术要求》( YDB134-2013).
[2]《智慧城市信息交互技术要求》( YDB145-2014).
[3]《智慧城市技术参考模型>(GB/T34678-2017).
[4]《国家新型城镇化规划( 2014-2020年)》-2014.
[5]杨兆升,新一代智能化交通控制系統关键技术及其应用[M].中国铁道出版社出版.2008.
[6]《关于促进智慧城市健康发展的指导意见》国家发改委、工信部等八部委联系印发.
[7]郑国.数字化城市管理理论与实务丛书[M].中国人民大学出版社,2 009.
[8]吴义杰,基于复杂系统理论与方法的数字城市建设[M].中国电力出版社,2006.
[9]阮一峰《RESTful API设计指南》,
[10]阮一峰《理解RESTful架构》.
[11] Principles of good RESTful APIDesign(译好RESTful API的设计原则)
[12]许令波,深入分析Java Web技术内幕(修订版)[M].电子工业出版社,2014.
[13]《计算机信息系统安全保护等级划分准则》( GB17859-1999).
[14]《应用软件接口标准编写技术要素》(GA/T 1293-2016).
[15]《基于超文本标记语言第5版(HTML5)的Web应用软件技术要求》(YDB 180—2017).