论文部分内容阅读
近年来,基于用户位置的服务已经成为移动互联网的一种创新型服务。位置信息获取的及时性与准确性已经影响到个人、企业乃至国家的发展,人们日常接触的信息有80%以上与位置相关,因此基于位置的服务(LBS)[1]在人们的生活中得到了越来越广泛的应用,然而大多数提供位置服务主要针对户外大尺度范围内的位置数据。伴随着智能硬件设备的不断发展,室内定位技术[2]也逐渐的成熟,人们通过多种室内定位技术可以获得大量的用户位置与轨迹数据,但是还没有一套完整的数据可视化系统[3]来充分的展示用户的室内位置信息。本文通过设计实现一种多维度、多粒度、多方位的室内位置数据可视化系统,将大量的定位数据通过可视化的分析,能够全面的分析、展示定位数据,实现实时监控定位数据在矢量地图上的位置,帮助用户简易、直观获取数据的内在信息,为商管公司和商家用户提供科学的营销决策依据;还设计实现了一种定位结果智能优化的算法,避免在回放人员轨迹时发生穿墙而过等不真实现象的发生,使得可视化的效果更能还原出真实的场景;本文设计实现了一种基于禁止区域的定位结果智能纠正算法,通过设置电子围栏,当用户超出或进入电子围栏区域时进行一些商业智能的统计;本文还设计实现了一种基于NoSQL和关系型数据库相结合的海量数据检索模块,有效加快了数据检索速度,减少前端查询等待时间,极大增强了系统的用户体验。本系统采用分层的思想开发,将系统划分为控制层、服务层、持久层。使用分层结构的优点是,降低了层与层之间的依赖,有利于层与层之间的逻辑复用,便于后期维护。本系统使用SpringMVC[4]作为控制层的框架,SpringMVC是一个实现了 Web MVC设计模式的轻量级开源Web框架,通过使用SpringMVC请求处理和视图管理服务,能很好地将页面展示与逻辑操控进行分离,极大的方便了前期开发以及降低后期维护的成本。本系统使用Spring作为服务层的框架Spring是一个分层的JavaSE/EE full-stack(一站式)轻量级开源框架。使用Spring作为服务层的框架,方便解耦,简化开发,同时Spring还方便集成各种优秀框架,使框架与框架之间无缝衔接在一起。本系统采用MyBatis作为持久层框架,MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的轻量级开源框架。使用Mybatis框架,能极大的简化JDBC的开发,采用对象关系映射,使得开发效率,成倍的提高。使开发人员的工作重心放在业务需求上,而不是繁杂的、重复的、数据拼接工作。由于Ajax技术可以在网页不重新加载的情况下对网页的局部内容更新。因此本系统采用了 Ajax技术[5]进行前后端数据的交互。Ajax异步数据交互模式,不仅减少了对带宽的占用,还优化了服务器端和客户端之间的数据传输,大大提升了用户体验。为了解决大用户量情况下服务器负载较重的问题,通过在客户端部署Ajax引擎,分担部分服务器的工作,进而减少大用户量下的服务器负载。本系统还使用了 HTML5的Canvas技术进行数据可视化的绘图展示,实现了客流总览、实时客流分布、AP状态监控、历史概览、历史热力图、单人历史轨迹查询、店铺排行、店铺进店率统计和店铺驻留时间统计等功能,丰富了数据的动态展示方式,提高了系统的鲁棒性。