基于位置的校园服务实现

2017-04-18 16:14葛唱郝泳涛
电脑知识与技术 2016年35期

葛唱+郝泳涛

摘要:随着快速发展的互联网技术和智能手机推广,加速了学校信息的传递,实现校园社区的信息化、智慧化显得越来越重要。它研究的是在移动环境下,基于位置,通过动态更新、个性化推荐等服务,建立一种新的学校社区生活圈互动服务机制。

关键词:基于位置的服务;Android开发;校园服务;Socket通信;TCP协议

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)35-0026-03

An Implementation of the Campus Service Based on the Location

GE Chang, HAO Yong-tao

(Electronics and Information Engineering College,Tongji University, Shanghai 201800, China)

Abstract: With the rapid development of internet technology and samrtphone, it speeds up the information transmission on the campus. Realizing the informatization, the wisdom of the campus community is more and more important. Its a research in mobile environment, based on the location ,through dynamic update and personalized recommendation services, to create a new kind of campus community life interactive service mechanism.

Key words: location based service; Android development; campus services; Socket communication; TCP protocol

1 基于位置的服务简介

基于位置的服务(location based service,下面简称LBS)是定位技术、移动通讯技术、GIS技术和互联网技术相结合的产物。无线通讯技术、GIS技术、Internet技术的发展共同促成了现代的LBS的出现[1]。

它包含两层含义:一是定位设备或者用户的地理位置,二是提供与位置相关的服务。它的结构概括起来包含移动客户端、中介、服务器三大类。其中移动客户端包括手机、PDA、手持计算机等,随着新技术的发展,移动客户端的种类也会越来越多,目前数量最多的是智能手机。中介则是WAP网关,负责客户端与服务器之间的交流,包含一些协议,接口等,使得客户端与服务器之间达成一致。服务器的种类、大小以及复杂程度根据自身条件的变化而变化,小到可以仅仅是一台电脑作为一个服务器,大到是多级多种服务器向客户提供LBS,这其中有专门负责定位客户地理位置的定位服务器,也有专门提供服务的WEB服务器。

2 校園服务需求

校园服务指的是以师生生活为背景,针对学生教师校园信息服务不流畅、交流沟通不方便等问题,为广大师生提供一系列资讯和服务,包括学习、活动、出行、位置服务等。

学习是指当用户注册登陆后,可以通过该平台发布一些学习相关的信息,比如校园讲座、报告会、座谈会、教学研究等等,同时服务器会即时推送该信息给可能感兴趣或已订制该服务的用户,这样更多的用户就能接收到服务器主动推送来的信息,解决了校园信息服务不流畅、交流沟通不方便的问题。

活动是指用户可以通过该平台发起一些活动,比如兴趣讨论组织、主题讨论邀请、专家讲座、英语角和娱乐发起活动等,同时服务器会即时推送该活动给可能感兴趣或订制该服务的用户,这样更多的用户就能参加这些活动,解决了校园信息服务不流畅、交流沟通不方便的问题。

出行是指用户可以通过该平台发布一些出行信息,比如结伴出游、拼车、公交地铁以及班车信息查询等,同时服务器会即时推送该信息给可能感兴趣或已订制该服务的用户,这样更多的用户就能一起出游、拼车、得到想要的信息,解决了校园信息服务不流畅、交流沟通不方便的问题。

位置服务主要指根据用户当前所在的位置信息(地理坐标,或大地坐标),在该服务平台的支持下,为用户提供相应服务(比如感兴趣的学习信息、活动、出行等),或推送一些其他用户的请求信息(比如其他用户的查询或提问),再次解决了校园信息服务不流畅、交流沟通不方便的问题。

对应的智慧校园服务器端,通过个性化推荐服务、动态更新服务、基于地理位置的查询服务等。利用云计算中的基础设施层、平台层、应用层技术,满足整个校园智慧社区的需求;利用上下文感知求解个性化推荐方法,实现主动推送,构建可推荐、可交互及可切换的平台。从而有效地将虚拟世界和现实社会结合起来,加速信息的传递,促进校园师生间的交流,为学生和教师的生活带来了便利,并建立一种新的学校社区生活圈互动服务机制。

3 实现过程

3.1 实现平台

要使基于LBS的校园服务能够体现出来,这里选择以智能手机为媒介,因为它的普及率很高。据工信部统计数据,2014 年一月底中国手机用户达12.86 亿,但智能手机仍有很大的发展空间[2]。智能手机目前主要分为android和ios两大平台,主要讨论android平台的实现。

Android平台的基础性开发主要包含界面的布局设计,基本、高级控件的运用;技术性开发主要包含消息提示,Activity的运用,服务与消息广播以及数据存储;应用型开发主要包含网络应用开发,地理位置应用开发,以及音频、视频应用等等。

3.2 模块化设计

智慧校园系统在逻辑上可分为4个大的模块:数据存储模块,GPS模块,通信模块,应用模块,其中数据存储模块、通信模块、GPS处理模块组成了底层服务器模块。

1)数据存储模块

采用MySQL数据库存储和管理数据。

2)GPS模块

GPS基础模块:使用Android类库中的GPS API,获取相应GPS信息,并发送给主程序或直接给服务器。

GPS处理模块:由于客户端性能原因,大多数GPS应用都要经过后台服务器进行处理,向客户端返回相应结果,在这里, GPS服务程序在后台为客户端提供了强大的运算能力,客户端只需要发送自己的GPS信息,无需耗费其他任何资源,便可以得到快捷的GPS服务。

3)通信模块

完成服务器到客户端,客户端到服务器的通信过程,包括客户端发送Http请求后,服务器响应请求并做出应答和服务器主动推送信息到客户端等通信过程。

4)应用模块

以学生教师生活为背景,为其提供一系列资讯和服务。该系统突破传统网络的限制,更多地在移动环境下,提供基于平台的动态更新服务、个性化推荐服务、基于地理位置的查询问答服务等。

3.3 关键技术

3.3.1 基于TCP协议的Socket通信

1)Socket简介

所谓socket通常也称作"套接字",Socket是建立在传输层协议上的一种套接字规范 它定义两台计算机间进行通信的规范也是一种编程规范[3]。应用程序通常通过"套接字"向網络发出请求或者应答网络请求[4]。java .net包中包含Socket和ServerSocket类库,Socket用于建立网络连接,ServerSocket则用于服务器端。连接成功时,在应用程序两端会产生一个Socket实例,对这个实例进行操作就完成所需会话。套接字没有级别的区分,不管是在服务器端还是在客户端,在网络连接中,它们都是平等的。

2)Socket通信过程

Socket之间的连接过程分为三个方面。

服务器监听:服务器端Socket不需要对客户端Socket进行定位,而是时刻监测是否有来自客户端的连接请求,处于等待状态。

客户端请求:客户端Socket向服务器端Socket发出连接请求。并且客户端Socket必须给出它要连接的服务器端Socket的地址和端口号。

连接确认:当服务器端监听到客户端的连接请求时,建议一个新线程,并把服务器端Socket的相关描述发给客户端,表示连接建立。连接建立后,服务器端重新处于监听状态。

3)基于TCP的Socket编程

TCP(Transmission Control Protocol),是面向连接的协议。通过TCP协议传输所得到的是一个无差错的有序的数据流。对于成对的socket之间(分别位于发送端和接收端)必须建立连接,以便在TCP协议的上能进行通信。当其中一个socket(通常都是服务器端socket)等待建立连接时,另一个socket可以发出建立连接请求,一旦套接字连接建立,基于TCP协议,它们就可以进行双向的数据传输,均支持发送和接收数据。如图2描述了基于TCP协议的socket建立连接、通信过程以及编程函数。

3.4 APP测试

4 结束语

它的主旨是为了实现一个基于LBS的校园服务,选择android平台是由于智能手机的普及以及android智能手机在市场中占有比例远远高于其他系统。根据师生的出行、生活情况,向其推送有关地理位置的信息,并支持与服务器端的交流,方便了他们的生活。区别于高德地图等一类软件,校园服务侧重于区域内的服务,便于管理和维护。

参考文献:

[1] 宋晓东, 吴孟泉. 基于位置的服务技术及应用[J]. 东北测绘, 2003(5): 2.

[2] 中华人民共和国工业和信息化部. 2014 年通信运营业统计公报[EB/OL].(2015-01-20)[2015-01-27].

[3] 余琴, 赵振华. 基于GPRS的SOCKET通信的应用研究[J]. 应用天地, 2005(11): 52-57

[4] 侯晓强, 徐春荣, 勾海波. Java服务器编程实例[M]. 北京: 清华大学出版社, 2003: 20-181

[5] 许海玲. 互联网推荐系统比较研究[J]. 软件学报, 2009, 20(2): 350-362.