数字城市的建设标志着城市的信息化程度,在国民经济和社会发展中扮演着极为重要的角色。如何设计构建科学合理、操作便捷的移动数字城市应用平台服务端系统,并推广适用于广大移动端用户的公众版应用平台成为亟待解决的热点问题。
1系统需求分析
1.1 功能性需求
移动数字城市应用平台对于服务端系统的要求是能够及时准确地处理客户端的请求,并能支持一定的并发量,同时作为数字城市移动互联信息的服务提供者,服务端系统需要整合区域内的多种信息资源,这些信息资源一般都独立地分布在数字城市网络中多个不同的服务节点上,将不同的信息源中的数据整合到系统数据库中,再以统一的数据格式向客户端提供。
从上述分析的角度来看,服务端系统主要包括以下两大功能:①数据整合功能,将分散的信息通过网页信息抽取技术进行整合,并对其中的有效内容进行解析,用自定义的数据标签封装保留原格式,建立集中的数据后台保存数据信息,以便于服务端系统能够向客户端提供实时的区域信息;②网络服务功能,负责服务端系统与客户端的网络通信,基于HTTP响应/请求模型的无状态协议,依赖于被动通信方式,使用JavaServlet技术来帮助客户端与服务端进行网络通信,从而让客户端能够获取服务端系统数据库中最新的数字城市区域信息。
1.2 非功能性需求
1)可用性需求。移动数字城市应用平台应具有较高的可用性,这就要求服务端系统对客户端具有向下兼容的能力。
2)性能需求。针对移动网络环境复杂、网络信号不稳定的现象,要求客户端与服务端的数据传输能够灵活快速地完成。同时,为了支持更多的客户端并发响应,服务端系统应对每个通信线程的处理时长等系统开销进行优化,从而保证系统的性能。
3)可扩展性需求。社会信息化建设不断发展,要求多样化的信息服务,因此移动数字城市应用平台的架构要便于功能的扩展,服务端系统也应具有易于扩展的特性。
4)安全性需求。由于服务端系统提供了用户上传信息的功能,为了保证系统的安全,避免SQL注入等破坏系统安全的行为,在实现服务端系统时要引入一定的安全机制。
5)实时性需求。服务端系统的数据整合与数字城市信息的官方发布保持同步,从而让客户端的用户获得实时的信息。
2 系统关键技术
2.1 程序、格式和语言
1)JavaServlet是直接采用Java代码编写的服务端应用程序,主要功能是通过部署在服务端以生成动态内容响应客户端的请求,从而实现客户端与服务端的数据交互。
2)JSON(JavaScriptobjectnotation)是一种轻量级的数据交换格式,采用完全独立于任何编程语言的文本格式,可在多种语言之间进行数据交换。JSON是JavaScript规范的子集,且JSON的格式和编码比较简单,只要浏览器支持JavaScript便可以解析JSON,兼容性强,这些特点使得JSON更适合作为数据交换语言。
3)XPath(XMLPathlanguage)是一种基于W3C标准的用于确定XML文档各部分位置的描述语言。XPath使用一种非XML的紧凑语法来实现其在XML文档中的查询操作,依据文档的逻辑树型结构得出Xpath表达式,用来指定XML节点集合。XPath的核心语法实现是基于表达式构造的,包括位置路径表达式、关系表达式、等式表达式、布尔表达式等,最基本的表达式就是位置路径表达式。通过位置路径表达式可以方便快速地定位XML文档中的任意节点。位置路径表达式包括了一系列的位置步,一个位置步包括轴、节点测试和谓词3个部分,其中采用双冒号将轴与节点测试分开,并且以方括号包含每个谓词。
2.2 网页信息抽取
网页信息抽取是以Web为信息源的一类信息抽取,核心是将隐含的信息从互联网Web页面中的HTML节点里面抽取出来,以更为清晰的结构来表示,为用户在Web中查询和利用数据提供便利。网页信息抽取的一般定义为给定一个Web信息源页面犛,并确定一个映射规则犠,使犠可以将犛中的对象信息映射到一个数据集犚,并且这个映射规则W还必须适用于与犛同类型的页面。
根据各种网页信息抽取工具所采用的不同原理和方式,将网页信息抽取方法分为基于HTML结构的信息抽取、基于Web查询方式的信息抽取、基于自然语言理解方式的信息抽取、基于机器学习方式的信息抽取和基于ontology方式的信息抽取等。其中,基于HTML结构的网页信息抽取技术是目前比较常用的一种方法,由于Web页面也是遵循基本的XML结构,相当于一个松散的树型结构,采用适当的XML解析技术就能轻松完成抽取工作。
本文所描述系统的数据整合模块使用到网页信息抽取技术就是基于XPath和正则表达式联合处理的信息抽取方法。
3 系统架构设计
根据系统的需求分析,得出移动数字城市应用平台的物理结构如图1所示。用户使用智能手机终端通过移动互联网或者无线热点访问服务器,再由服务器将请求的信息发送给客户端。其中,客户端一般为Android或IOS应用,采用基于C/S架构的HTTP无状态协议与服务端进行网络通信,而服务端则是基于Servlet技术来响应客户端的请求,并与后台数据库进行数据访问。
同时,为了解决数字城市网络多种异构数据源分散的问题,服务端系统还应通过使用数据整合功能将数字城市网络中的一些常用信息统一整合到数据库中,以便于客户端随时获得最新的资讯。
整个服务端系统的架构设计采用模块化的设计思想,结合移动平台服务端系统的主要功能,系统应分为网络服务模块和数据整合模块两大功能模块。
网络服务模块作为服务端系统的其中一个重要组成部分,主要负责服务端与客户端的网络通信服务,该模块在设计上借鉴了基于C/S结构的分层架构设计。下面将对网络服务模块进行分层设计,并介绍各层的主要作用。
3.1 务接口层
负责为客户端的HTTP请求提供具体接口,并根据对应的请求参数组织回传内容。服务端系统在该层模型中主要负责监听各种类型的客户端请求,并实例化服务接口对应的处理线程,服务接口的触发时机在忽略网络延迟的前提下由客户端请求顺序决定。该层主要通过服务端系统的网络服务模块的各个Servlet接口类来实现。
3.2 逻辑处理层
该层主要作用在于为服务端系统的网络服务模块封装处理逻辑,同时既为接口层提供可调用的方法,也支持调用数据持久层的方法。该层主要负责根据接口层的需求调用持久层的相关方法,从数据库中获得相关数据,然后将数据按照其类型所对应的特定JSON格式进行组装,并将内容放入到JSON对象中返回给接口层。
3.3 数据访问层
该层主要负责与数据库交互,建立数据库连接,对数据进行查询和插入等操作,并将此类操作封装为可供业务逻辑层调用的方法类。该层的主要作用是定义了网络服务模块与系统数据库之间的连接和操作,包括JDBC连接字符串、数据库DML等,为系统提供操纵数据的直接方法,并负责对数据库资源的回收。
除了网络服务模块之外,系统还需要负责将数字城市网络中的分散信息整合到统一数据库的数据整合模块,该模块作为系统的另一个重要组成部分,主要负责整合数字城市网络中的各种分散信息源中的数据,便于移动数字城市应用平台向用户及时传递有用的信息。
为避免数据整合模块影响到网络服务模块的性能,在实际环境中,两个模块将以子系统的形式分开独立运行,这两个子系统共同组成了整个移动数字城市应用平台的服务端系统。
4 结束语
本文针对移动数字城市应用平台服务端系统进行了服务需求与关键技术分析,总结出系统的功能性需求和非功能性需求,并在对移动数字城市应用平台服务端系统进行整体架构的基础上,依照功能使用将该系统划分为数据整合模块和网络服务模块两大功能应用模块,并通过数据库架构实验,成功实现了数据的运行与处理。数字城市移动应用服务端软件的设计与实现有助于构建科学合理、操作便捷的应用平台服务端系统,有助于应用平台公众版的推广,适用于广大移动端用户。(本文由中国论文平台网提供,如有更多需要,可登陆官网咨询客服。)