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

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

西安交通大学图源官博

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

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

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

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

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

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

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

系统设计

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

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

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

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

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

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

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

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

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

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

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

服务层主要是对外提供基础功能服务,包含小程序业务子系统、室外地图子系统、室内地图子系统、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备份机制;

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

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

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

图4VR全景校园界面

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

THE END
1.设计一个图书管理系统数据库数据库缓存:我们可以使用缓存技术,将常用的数据缓存到内存中,以提高查询速度。 五、总结 设计一个图书管理系统数据库需要进行需求分析、数据库设计、数据库实现和数据库优化等步骤。通过合理的数据库设计和优化,可以提高图书管理系统的性能,提高图书馆的服务质量。https://www.dugusoft.com/zixun/zixun1351.html
2.一文带你了解数据库设计基础简介:什么是数据库设计?数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。 https://developer.aliyun.com/article/852495
3.数据库技术系统设计方案.docx数据库技术系统设计方案第一章、概述项目背景建设目标及建设容第二章、需求分析功能要求数据采集整合通过数据采集、加工、整合服务,进行整理后,汇入统一的系统数据库存储。其处理过程可监控,可回溯,可重新采集。系统详细记录数据处理的原则和整合规则,提供编辑处理。数据采集主要的对象主要包括以下三大类:.文档:采集存储...https://www.renrendoc.com/paper/227595065.html
1.《数据库应用系统实践》产品生产信息系统系统功能详细描述,包括需求分析、E-R图、数据流图、关系模式、物理结构设计、数据库表建立、功能实现代码以及功能评价。 3. ...数据库课程设计---医院信息系统的设计 07-03 数据库课程设计---医院信息系统的设计 里面包含了源码和课程设计报告,可供学习参考。高分课设。一、课程设计目的及基本要求 数据库系统...https://blog.csdn.net/Lixu_No_1/article/details/143859795
2.第二十九章:数据库的设计规范其他实例文章**第二十九章:数据库的设计规范** 在软件开发领域,数据库是系统中最重要的一部分,它负责存储和管理数据。然而,很多时候,我们会发现数据库设计不合理,导致性能问题、维护困难等问题。因此,在本章中,我们将讨论数据库设计的规范。 **1. 数据库设计原则** ...http://www.shili8.cn/article/detail_20002674471.html
3.人脸系统数据库设计本文档全面系统的简介描述了人脸系统的数据库结构与设计。 2. 设计约束 人脸系统基于分布式数据OPAQ和业务数据库MYSQL实现。因为人脸抓拍日志(capture_log)数据量非常大,设计上存放在OPAQ,布控报警(alarm)后续要存入到OPAQ中,其余数据存在MySQL。 人脸默认是Hibernate ORM框架...https://www.jianshu.com/p/786126cf69d7
4.数据库系统原理课程设计51CTO博客课程名称: 数据库系统原理课程设计 设计题目:图书借阅管理系统。 已知技术参数和设计要求: 图书借阅管理系统 (1)某图书借阅管理系统需要如下信息: 读者信息,包括身份证号,姓名,性别,电话号码等。 书籍信息,包括书籍ISBN编号,书籍名称,作者,单价,出版社,出版日期,库存数等。 https://blog.51cto.com/u_15740728/5614588
5.图书管理系统数据库设计示例(精选9篇)图书管理系统数据库设计 一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的借阅信息。此系统功能分为面向学生和面向管理员两部分,其中学生可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和学生的增加,删除和修改以及对学生,借阅、续借、归还的确认。 https://www.360wenmi.com/f/filea884fq3r.html
6.轨道交通综合监控系统数据库集群设计AET而构建一个实时的、高可用性的数据库系统正是建立稳定高效的综合监控平台的基础条件。MySQL Cluster是MySQL适用于分布式计算环境、多主机架构的实时数据库版本,具有高可用性和无单点故障的应用特点。根据轨道交通综合监控系统的应用需求,设计了综合监控系统数据库集群架构。 http://www.chinaaet.com/article/3000003582
7.计算机毕业设计jsp医院管理系统springmvc毕设42用户选择要删除的信息,单击删除按钮,系统则提示是否确定删除信息,用户选择确定删除,则删除信息成功,系统数据库将信息进行删除。删除信息流程图如图3-4所示。 图3-4 删除信息流程图 4 系统设计 3.1 系统概要设计 本医院管理系统主采用b/s结构(browser/server,浏览器/服务器结构)和基于web服务两种模式,是一个适用于...https://m.11467.com/blog/d6468288.htm
8.数据库设计:架构和可伸缩性数据库正如你可以想象的那样,包含广泛的应用程序和要求。 为此,我们将讨论数据库创建者在创建数据库系统时必须完成的一些特定设计模式。 架构实施 数据库系统通常需要一些有关要存储在数据库中的数据的类型和结构的信息。 对于关系数据库系统,架构通过以下术语正式定义: ...https://docs.microsoft.com/zh-cn/learn/cmu-cloud-computing/cmu-cloud-storage/8-database-schema-scalability
9.数据库(表结构)设计技巧及注意事项腾讯云开发者社区库设计: 1、数据库名称要明确,可以加前缀或后缀的方式,使其看起来有业务含义,比如数据库名称可以为Business_DB(业务数据库)。 2、在一个企业中,如果依赖很多产品,但是每个产品都使用同一套用户,那么应该将用户单独构建一个库,叫做企业用户中心。 3、不同类型的https://cloud.tencent.com/developer/article/1347054
10.数据库系统课程设计毕业生管理系统.doc2005数据库 3 需求分析 2.1任务概述 4 2.1.1开发目标 4 2.1.2用户特点 4 2.2系统的功能需求 4 2.2.1系统功能角色需求 4 2.2.2功能模块 5 2.3系统的数据需求 5 系统总体设计 3.1系统功能设计 6 3.1.1系统的总体模块 6 数据库设计 4.1数据库概念设计 8 4.2数据库逻辑设计 11 4.2.1表汇总 11 4.2.2表...https://max.book118.com/html/2021/1128/5120230114004123.shtm
11.数据库系统:设计实现与管理(基础篇)(原书第6版)中文pdf扫描版[137...书籍类别:数据库其它 应用平台:PDF 更新时间:2018-10-15 购买链接:京东异步社区 网友评分: 360通过腾讯通过金山通过 137.1MB 详情介绍 数据库系统:设计、实现与管理(基础篇)(原书第6版)是数据库领域的经典著作,内容系统、全面、实用,被世界多所大学选为数据库相关课程的教材。中文版分为基础篇和进阶篇,分别对应...https://www.jb51.net/books/641058.html
12.地理信息系统的研究内容开源地理空间基金会中文分会开放地理...地理信息系统技术系统设计? 包括地理信息系统硬件设计与配置;地理空间数据结构及表示;输入与输出系统;空间数据库管理系统;用户界面与用户工具设计;地理信息系统工具软件研制;微机地理信息系统的开发;网络地理信息系统的研制等。 地理信息系统应用方法研究? https://www.osgeo.cn/tutorial/k1014