案例分享丨如何设计校园导航系统?

在此背景下,西安交通大学积极响应国家创新驱动的号召,建设了中国西部科技创新港——智慧学镇(简称“创新港”)。

西安交通大学 图源官博

随着创新港的投入使用,如何更好地提升校园服务水平也成了学校越来越关心的问题。现有的虚拟校园应用主要针对兴庆校区、曲江校区和雁塔校区,有2.5维和3维场景,对各个校区的主要建筑和景观进行了全局性的展示。

该虚拟校园应用存在以下不足:

第一,三维场景存在浏览器壁垒,部分浏览器不支持此项业务,增加了广大师生的使用困难;

第二,功能较为单一,缺少校园导航功能和VR全景功能,缺乏浸入式体验感;

第三,缺少微信端应用,用户获取方式单一、没有实现随时随地可触及使用;

第四,目前没有对创新港进行全覆盖,无法满足师生对创新港所有建筑和景观了解的需求。

鉴于创新港校区占地面积大、巨构建筑多,学校针对性地开发了一款基于微信小程序且具有时代性的校园导航系统。

该系统实现了创新港校区全方位导航、室内室外无感切换、提供VR全景校园体验、提升了浸入式体验感,满足了在校师生对创新港的了解,更方便地为全校师生提供了路线规划及路线导航服务。

微信和微信小程序

微信小程序(简称“小程序”)是无需下载安装就能使用的应用程序,是用户只需扫一扫或者通过搜索就可以打开并且使用的工具。

西交大网络信息中心旨在打造全校微信应用服务生态,依托微信生态为全校师生提供丰富的信息咨询、查询、互动和应用交互等业务。

尤其是在抗击新冠肺炎疫情期间,针对广大师生出行不便的问题,利用小程序承载信息应用服务是高校信息部门的主要方法,同时也是广大师生乐于接受的应用服务途径。

系统设计

1.校园导航系统功能设计

校园导航系统由“创新港导览”小程序和后台管理系统两部分组成。

其中,在开发实施方面,利用小程序提供GPS位置坐标信息接口,用户登录和用户信息校验接口,小程序还支持对蓝牙设备、Wi-Fi设备、相机等硬件设备的兼容和对接。

在推广使用方面,小程序即扫即用,速度快,支持慢速网络和离线应用,扩展性好,不同应用场景可快捷挂载,还能依托微信好友关系链进行开发和传播,方便在同学之间推广。

因此,我们选用小程序作为用户服务端,后台管理系统则采用常用的B/S架构,进行数据分析管理。

用户服务端包括创新港校区建筑道路地图展示、创新港校区室外地图导航服务、创新港校区室内建筑各个楼层平面图展示、创新港校区室内陆图导航服务、创新港校区VR全景导览。

后台管理端包括室外楼宇命名、室外停车场管理、室内房间分类命名、室内学院命名等功能。具体描述见表1。

表1 校园导航系统主要功能及其描述

2.校园导航系统总体架构设计

“创新港导览”小程序和后台管理系统选择采用基于MVC三层架构的微服务形式进行开发(图1)。

图1 校园导航系统体系结构

MVC三层架构分离模式实现展示层、服务层、数据层三层分离,前后端分离、数据层和逻辑层进行分离,采用微服务形式进行业务开发实现各个服务相互解耦、各自独立,方便维护升级,也方便后续的系统扩展。

“创新港导览”小程序系统各层之间通过接口形式传递数据。

展示层主要是用户使用服务和服务交互的前端入口,包含小程序前端和后台管理系统,小程序前端所有微信用户都可以访问,后台管理系统只能由分配了系统账户的管理运营人员才能访问。

服务层主要是对外提供基础功能服务,包含小程序业务子系统、室外地图子系统、室内陆图子系统、VR全景子系统、后台管理子系统五个子系统模块。

数据存储层负责平台的数据存储,平台的数据存储形式包含数据库存储、图片文件存储和统计数据存储,数据库存储的是和兴趣点相关的业务数据,包含导航线路、导航点等,图片文件存储的是VR全景图,统计数据存储的是用户访问日报和服务器访问日志数据。

3.校园导航系统总体功能流程设计

校园导航系统总体功能流程主要分为以下五种:室外导航流程、室内导航流程、室外室内混合导航流程、扫码定位流程、VR导览流程。具体功能描述见表2。

表2 校园导航系统总体功能流程及其描述

4.校园导航系统数据库设计

校园导航系统的数据采用双层数据库设计的方法(图2)。

图2 校园导航系统数据库设计

底层采用MySQL关系型数据库和MongoDB非关系型数据库合作构建永久存储层,MySQL存储楼宇、道路、楼层、标记物等地图元素主体,以及他们之间的拓扑标注,MongoDB存储各种图层的矢量图片。

上层在内存中构建内存临时数据库,实现持久层数据在内存中的缓存映射,同时在内存数据库中结合不同的元素主题和拓扑关系生成所有的路线路网,数据请求时会在内存中进行节点映射,找到对应线路,然后进行渲染输出。

双层的数据库在设计的同时融合结构化数据和非结构化数据的存储和管理,实现了具有强关系关联的丰富的非结构化数据的存储和搜索,同时很好地满足了地图数据的高频读低频写的存储特点,可以有效保证数据库的相应时间。

系统实现

校园导航系统采用C++语言和MySQL数据库、MongoDB数据库,结合MVVM模式,采用了独特的四层架构设计,将前端界面、业务逻辑、内存数据库、永久存储数据库进行分离。

1.前端界面

前端界面采用了MVVM框架进行开发,采用ModelView概念实现了视图和视图数据模型的分离,同时引入观察者模式实现有效的数据监听和数据订阅,开发了基于小程序端和PC的前端界面。

2.业务逻辑层

业务逻辑层处理核心的业务逻辑和数据计算任务,包含路径选择、位置坐标转换等,其封装了对数据库的所有操作。

3.内存数据库缓存层

内存数据库采用具有自定义的内存模型数据库,将地图拓扑数据在内存中进行全量重建,实现对数据库数据的缓存,保证系统的快速响应。

4.用户数据库存储层

采用MySQL和MongoDB结合的方式,存储结构化数据和非结构化数据。

在系统的安全和性能指标上,做了如下处理:

第一,前端服务器对外只开放80端口,并且采用防火墙和反向代理技术,隔离前端请求和业务服务器,同时业务服务器和数据库服务器实现分离,数据库服务器部署在内网,采用master-slave备份机制;

第二,应用部署在本校的云平台上,采用防火墙技术,只对管理员开发22和443端口,且对云平台虚拟机进行管理的用户均进行实名登记,所有断离活动的网络接入和网络活动情况日志留存,防止了非法用户登录服务器的可能性;

第三,小程序端支持1000个以上的并发用户,平均信息交换时间为300毫秒,最长不超过1000毫秒,数据平均吞吐量大于100条/秒;

第四,系统提供7x24小时的连续运行,平均年故障时间小于24小时,平均故障修复时间小于30分钟。

校园导航系统(图3)根据创新港校区的实际环境实现了室内、室外自定义地图展示,对创新港校区所有路网、建筑物室内、外地图的全覆盖,通过系统可以了解创新港校区内所有建筑物以及景观。

图3 校园导航系统室内外导航界面

系统还具有室外路径实时导航、室内路径导览、校园VR全景地图(图4)以及会议导航等功能,极大地丰富了校园地图系统功能的多样性,能够满足不同用户的不同需求。

图4 VR全景校园界面

通过小程序的承载克服了系统在浏览器上不兼容的问题,用户只需通过小程序端或者“西安交通大学App”就可进入校园导航系统,随时随地使用。

截至目前,该系统已经稳定运行一年多,能够承受停电、校园网大规模故障时的高并发访问量。该系统让学校广大师生加强了对创新港校区的认识,为日常工作生活提供了极大便利,尤其对学校微信生态的丰富和移动端应用的多样化起到了巨大的作用。

作者:张佳庚、王齐、刘俊、锁志海(西安交通大学网络信息中心)

(0)

相关推荐

  • MySQL数据库是什么?Linux数据库运维

    Mysq|是目前流行的关系型数据库管理系统.MySQL是WEB应用中较好的应用软件之一.数据库技术是管理信息系统.办公自动化系统.决策支持系统等各类信息系统的核心部分,对于互联网发展起着重要的作用.现 ...

  • 都无代码编程了,编程还香吗

    来源:Python 技术「ID: pythonall」 11月29日(2020年),腾讯举行了一场主题为 "重新定义开发" 的小程序开发技术峰会,发布的了新一代的云开发平台,用少量 ...

  • 案例分享丨“无卡”校园,服务照常

    开启"无卡"校园建设 南京农业大学原校园卡系统始建于2002年,历经近20年,为学校信息化建设发挥了巨大作用.随着技术发展和师生需求的变化,原校园卡已难以满足需要,2020年,经学 ...

  • 案例分享丨“微门户”助力校园抗“疫”

    随着教育信息化从1.0时代进入2.0时代,2.0时代教育信息化突破时空限制.快速复制传播.呈现手段丰富的独特优势,必将成为构建泛在学习环境.实现全民终身学习的有力支撑,并带来教育科学决策和综合治理能力 ...

  • 案例分享丨疫情大数据平台的设计

    南航疫情大数据平台采用敏捷开发模型.协同开发模式,在微服务架构的支持下,多项开发工作并行开展.通过正确的技术选型.合理的模块划分,最大程度发挥微服务优势. 2020年初新冠肺炎(COVID-19)疫情 ...

  • 设计案例分享丨美式风格:诠释奢华的美感,太招人眼球啦

    ▲平面图 ▲平面布置图 ▲客厅 ▲沙发墙 ▲茶几 ▲茶几 ▲懒人沙发椅 ▲客厅 ▲横厅 ▲主卧室 ▲客厅 ▲餐厅 ▲地台窗 ▲餐椅 ▲厨房 ▲浴室柜 ▲黄色懒人沙发椅 [图源网络,侵权联删]

  • 案例分享丨一站式智能教学平台设计思路

    人工智能带领人类走向智能社会,其所带来的社会变革必然推动教育领域的根本转变,促使教育模式向智能化.精准化的方向发展.美国斯坦福大学人工智能研究中心N.J.尼尔逊教授定义人工智能为"关于知识的 ...

  • 案例分享丨基于校园无线网的实时人员感知

    校园内人员感知是智慧校园的基础服务.如果在校园内能够做到精确.实时的人员流动和聚集感知,就可以为校内用户提供高质量.定制化的应用,同时也可以更高效地管理校园,防控可能存在的安全风险.特别是在新冠疫情期 ...

  • 案例分享丨一网通办提升校园治理能力

    "一网通办"依托一站式办事流程服务平台,为师生提供统一的校园办事服务入口,力求实现校内在线办事服务的优化整合."一网通办"建设,体现了"十三五&quo ...

  • 案例分享丨无主灯住宅设计,一开灯宛如置身星空的浪漫

    https://www.toutiao.com/a6911612290257207811/ 名匠装饰集团2020-12-29 17:50:20 10分装修.8分灯光,一盏主灯照全屋的时代,似乎已经有退 ...

  • 案例分享丨建设校园移动门户的三大核心服务

    当前,移动互联网已经渗透到人们生活.学习.工作的各个领域,丰富多彩的移动互联网应用迅猛发展,正在深刻改变着信息时代人们的社会生活.大学生是一个年轻并最易接受新鲜事物的群体,移动互联网以其特有的便捷性得 ...