基于微服务架构的高精度室内外综合位置服务平台设计

2020-03-20 08:39王晓博曲嘉旭叶海纳中国联通智能城市研究院北京100048
邮电设计技术 2020年2期
关键词:位置服务开发者服务平台

王晓博,曲嘉旭,杨 杉,叶海纳(中国联通智能城市研究院,北京 100048)

0 引言

空间信息作为数字时代不可或缺的要素,是虚拟和现实世界融合的桥梁。5G技术所带来的产业互联网的蓬勃兴起,对室内外位置服务的需求也越来越旺盛。运营服务商作为智慧城市的建设者,可发挥既有资源优势,提升产业互联网及智慧城市领域业务能力[1]。随着智慧城市的建设发展,使用群体对位置能力提出了更高的服务响应要求,从而在生产业务流程内部形成高效、应变的信息化应用需求,面对动态多变的需求,行业内通常采用的单体架构逐步暴露出开发效率低、集成能力低、部署频率低等问题。随着云计算、大数据、微服务架构等前沿技术的高速发展,位置服务能力建设迎来了云化改造、服务化建设的发展机遇与挑战。如何融合多种新技术,平台能力的灵活开放等是综合位置服务平台建设需要重点考虑的问题[2-3]。文中提出了利用北斗、5G、伪卫星等定位手段,解决多源位置数据融合,满足高并发响应需求,连接用户、连接供应商、连接服务构建了基于微服务架构的室内外综合位置服务平台,同时平台具备接口应用的开放能力,其开放性应包含功能的开放以及数据资源的开放性[4],围绕位置应用需求,通过服务聚合的方式融合业务资源与基础功能,形成位置服务(如区域热点、电子围栏分析等),为进一步基于位置服务快速搭建业务应用提供服务支撑。

文章阐述了基于微服务的综合位置服务平台的设计方案,首先分析了平台设计的结构要求、业务流程、技术难点,之后给出了实现方式,包括数据融合方式和负载均衡方式,并展示了数据服务效果,最后对文章进行了小结。

1 综合位置服务平台设计

1.1 综合位置服务平台架构设计

综合位置服务平台主要为各应用系统提供安全、可监管的综合位置服务,满足海量位置数据实时采集与存储、位置数据统计与分析、高并发访问的需求等。平台完整架构如图1所示,主要由数据存储基础设施、边缘位置服务平台、空间信息服务云平台和位置服务基础功能应用4部分组成[5]。

综合位置服务平台采用云边融合架构的方式来搭建,以PaaS的服务模式部署位置服务平台,实现位置服务平台的功能性服务,并以访问接口API/SDK的方式提供给位置服务应用系统使用;空间数据是位置服务不可缺少的部分,位置服务平台所使用的各种空间数据以DaaS形式通过数据中心对外提供服务,包括数据可视化、多源空间数据挖掘服务、基于位置的行业分析服务等[6]。综合位置服务基于平台中的位置业务中心模块提供通用服务及位置业务服务,将所开发的各种基础功能应用程序以PaaS的形式发布到综合位置服务系统,为产业互联网各个垂直行业领域按需提供智能化、不同定位精度的位置服务支撑,提升智慧城市基础平台能力。

1.2 综合位置服务平台体系结构设计

1.2.1 综合位置服务平台体系结构设计导则

平台组件化:采用全组件化结构设计,每个组件通过标准接口联系在一起。平台划分为数据接入、数据开放展示、业务运营管理、数据存储中心以及服务自动化运维管理五大子系统模块。每个子系统根据业务领域划分为多个微服务组件,每个组件在功能上独立开发并根据业务需求提供标准数据输出接口;并实现组件水平扩容,解决单点性能瓶颈问题。

平台基础技术体系:平台基础架构使用遵循Spring cloud微服务的标准体系Spring-Cloud-Alibaba 2.1.0以及Spring Boot 2.0为基础框架;使用Nacos服务统一配置中心、微服务注册与发现,更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。并使用Spring-Cloud-Alibaba-Sentinel面向分布式服务架构的轻量级流量控制产品,以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性[5]。

图1 综合位置服务平台架构图

标准化接口设计:所有模块组件服务采用标准统一接口设计,所有组件之间使用Spring-Cloud-Gateway组件实现所有数据服务出口API网关,并对各接口服务进行路由规则配置。并使用swagger-ui输出标准化API文档,方便数据开发与调试,保证适配多个组件对接时的开放性、稳定性以及扩展性[6]。

分层架构设计:单个组件应用设计中采用横向分层和纵向分割的架构设计。平台每个子系统横向分割为数据访问层、业务逻辑层以及表现层;每个新增子系统采用独立模块开发和部署,新增业务可以模块插件形式加入原平台,保证平台功能的可扩展性。平台纵向分割为各大子系统,并在子系统中详细划分为不同业务模块,并抽象出可复用的业务逻辑以及系统核心模块,提高平台的可复用性。

开放性设计:面向用户、供应商、第三方服务开发者建立汇聚空间感知能力的平台,平台数据在保证安全前提下给予充分的开放性。数据接入方面根据不同设备情况开发数据聚合适配器,并通过定义解析规则对不同类型数据进行解析、存储;数据输出方面对数据进行业务聚合形成统一标准化输出接口;同时根据业务领域封装平台开发应用工具包,方便其他技术团队进行二次开发时能够更好地复用。

运维方面平台所有服务使用Docker容器化部署,简化配置、隔离应用、整合服务器,一个服务器可以用Docker部署多套业务,提高平台服务隔离性。所有服务运行集群采用Kubernetes进行服务编排与管理;极小规模的运维团队能完成超大集群的弹性伸缩,拥有极强的灵活性[7-8]。

1.2.2 系统逻辑架构设计

平台数据逻辑分为:数据出/入口、数据处理/操作、数据聚合存储、数据标准输出;平台业务子系统主要分为三大系统:内管平台子系统、开发者开放平台子系统、设备数据服务子系统;平台支撑:服务自动化运维监控中心。

平台整体架构如图2所示。

平台设备:包括GNSS定位设备、UWB室内定位设备等其他终端,主要收集设备当前定位信息并使用安全协议传输到平台云服务[9]。

数据出入口:统一平台所有对外出入口服务器,使用Nginx代理服务对数据出口统一管控,同时可实现负载均衡。

设备数据服务子系统:主要控制平台数据相关服务,包括数据解析、数据解算、数据聚合存储以及数据标准化输出模块。

内管平台子系统:为运营人员提供平台运营、设备及服务配置相关、开发者管理等相关运营工作,并提供系统工作台展现基础定位功能以及平台相关统计功能。

开发者开放平台子系统:认证开发者资质信息,管理开发者设备、服务信息,并向开发者提供设备、服务相关数据标准化接口等。

平台分层结构如图3所示。

感知层:通过设备、人员等收集位置等信息。

网络层:通过NIO处理高并发请求,建立设备与系统之间的通信。

持久层:存储、缓存设备相关数据。以结构化、非结构化形式分布式存储。

图2 平台总体架构设计图

图3 平台分层结构图

业务逻辑层:策略解析、解算;并将异构数据标准化输出;在设备、服务基础上根据业务需求搭建各类业务系统。

应用层:建立满足业务需要的应用系统。

1.3 系统业务流程图

开发者作为整个能力开发平台业务流程闭环的中心要素如图4所示。开发者通过开放平台申请入驻为个人、企业开发者,认证完成后,开发者可申请服务使用以及购买设备;将设备及服务配置到对应的开发者应用中,应用即可根据标准认证流程获取设备数据以及调用服务接口。平台运营管理人员通过内管平台管理平台中开发者信息、设备信息、服务信息等功能;可辅助开发者对应用进行管理以及调试等。所有终端设备通过网络协议上传到数据解析中心进行数据清洗、解析、分析等,将不同类型的设备数据以标准化方式存储到分布式数据库。数据存储以通用型标准API网管输出,通过API开放性接口向开发者提供设备数据服务。

1.4 综合位置服务平台功能设计

图4 平台整体业务流程图

根据运营要求主要参与角色包含第三方开发者、供应商、开发者管理员、服务管理员、平台运营、平台管理员等多种角色。可根据业务需求新增或灵活划分平台管理权限。

主要功能模块划分为:开放平台、开发者管理、解决方案管理、服务管理、设备管理、设备型号管理、工作台、系统管理八大功能模块,如图5所示。

开放平台:为第三方开发者提供应用管理、所属设备管理、应用控制台等功能。并为开发者提供设备、服务API数据接口;为第三方服务提供数据支撑。

图5 平台功能结构及流程图

开发者管理:平台管理所有开发者信息,并考虑后期开发者主动入驻平台。对资质认证通过的开发根据购买信息配置开发者设备以及服务信息。

解决方案管理:发布成熟行业解决方案,为开发者提供行业难题解决路径,并辅助开发者完成设备、服务对接等。

服务管理:管理平台所有能提供的非设备相关增值服务,并提供相关服务接入技术文档以及API接口文档等。

设备管理:管理供应商提供设备信息,能灵活配置设备相关参数等。

设备型号管理:管理设备供应商以及供应商型号;并为所有型号配置设备参数、采集策略、解析策略等信息。

工作台:提供在地图上查询设备实时信息,显示设备历史轨迹播放信息。统计设备数据、开发者信息、API服务信息等平台整体信息[8]。

系统管理:管理平台用户、角色、日志等系统配置信息;同时在工作台中能查看系统所有设备信息以及配置信息,同时能根据不同设备使用配套相关服务。

1.5 系统物理架构设计

平台物理层分为:表面感知层、协议安全传输层、解析处理分布式服务层、存储分布式存储层、平台应用层(包括内管平台、开发者平台)等,如图6所示。

平台整体软硬件包括:

a)感知设备:包括GNSS定位设备、UWB室内定位设备等其他终端,主要收集设备当前定位信息并使用安全协议传输到平台云服务。

b)网络安全传输:系统对接外部数据需要通过安全协议传输,并通过平台云服务防火墙认证,保证系统数据的安全性。

c)平台云服务:使用多台机器部署系统云服务平台;划分为数据存储、数据服务、数据展示等。系统组件使用内网通信。

d)平台运营:内管平台使用者通过PC网页对平台设备、服务信息进行配置,并管理平台中其他运营数据。

e)开发者:第三方开发者通过平台认证得到所属设备数据权限,并通过开发者数据网关访问数据开发定制化应用。同时开发者可在平台中展现平台基础服务。

f)开放平台数据接入:可接入第三方平台数据信息。

1.6 综合位置服务平台设计技术难点

1.6.1 多源位置数据融合

终端位置信息包括定位信息和属性,由于终端本身多样化,需要对这些位置信息进行分类或分级处理,更需要对多源位置信息进行融合处理。多源位置信息融合处理需要对位置数据进行预处理,将各种不同的位置数据进行综合、提取、格式转换等操作,并按照统一的协议标准进行加工处理和存储,形成统一的、规范的、可利用的综合信息[10]。

图6 平台部署图

1.6.2 高并发请求的快速响应

综合位置服务平台,开放接入多家厂商UWB、蓝牙、惯导等定位技术及基站设备,提供位置解算、融合定位切换、路径规划、轨迹复现、电子围栏等基础服务,为客户提供全面的包括软件服务(API、SDK、应用)、硬件设备、解决方案等多种形态的服务能力,服务受众包括普通客户、第三方开发者以及设备厂商等人员。位置服务调用频次以及相关数据是海量的,每天面临几万、十万、甚至百万次的查询请求。平台会面临业务中心核心服务能力要满足用户的高并发请求,并能够快速地响应用户的请求。为了更好地满足用户体验,实现更加智能的位置服务,更加高效的数据查询,采用基于高并发请求的快速响应技术为平台设计中的一个难点[11]。

2 综合位置服务平台实现

2.1 综合位置服务平台数据融合实现

平台支持多源异构数据融合,与平台进行数据共享。开发智能适配子系统接入现场设备数据、定位引擎数据等异构数据,并对数据进行解析、去噪、融合存储等。制定位置服务平台外部、内部IO标准协议实现数据共享,以Restful、SDK集成包形式认证授权响应用户,支持多种网络协议主动收集、被动上传JSON结构化数据等。平台为直连设备提供可配置化采集策略,适配被动数据收集以及主动推送数据,同时支持命令下发策略在线实时配置以及调整;同时平台支持边缘计算设备数据提取以及收集非结构化数据灵活配置[12]。

2.2 综合位置服务平台负载均衡实现

综合位置服务平台为实现高并发处理以及快速响应,在设计实现中采用微服务分布式架构,根据业务进行模块切分,对单服务子系统进行分布式部署;水平拆分和垂直拆分数据、应用提升系统负载能力,解决对应系统瓶颈问题。设计堆内、堆外、分布式等不同系统层级数据缓存,提升平台访问效率。大量使用异步化提升平台整体吞吐量和灵活性,并对不同线程池进行系统监控、运维和降级处理等。开放平台数据共享可自动降级,读服务降级、写服务降级等API接口控制方式,保证核心服务高可用。物理层面平台设计进程隔离、集群隔离、读写隔离、动静隔离等提供平台整体吞吐量。硬件提供可伸缩、高可用分布式处理和服务计算能力,能做到弹性资源分配和访问控制,提供中间件运行环境,屏蔽底层资源复杂性等[13]。

2.3 综合位置服务平台数据服务

综合位置服务平台架构设计具备开放性特征,采用基于REST-ful服务的技术,以JSON格式数据对外提供服务。它可以使用HTTP的全部特点,对各类有带宽限制的终端设备都能够非常好地支持,适合构建包括移动端在内的各种端应用服务[14-15]。结合垂直领域服务的要求,展开综合位置服务平台建设,平台部署于公有云,如图7所示。

产业互联网各垂直领域应用所需要的位置服务由综合位置服务平台提供,通过请求—响应的模式从综合位置服务平台获取综合位置服务的查询结果、统计分析以及权限信息等。

图7 综合位置服务平台

3 结束语

文章阐述了室内外高精度综合位置服务平台的设计方案,综合位置服务平台为用户提供位置解算、电子围栏、路径导航、多源数据融合分析等服务,平台继承了海量综合位置数据,在数据与服务上有力地支撑产业互联网及智慧城市各领域综合性高精度位置服务建设的要求,采用最佳的融合定位技术方法和微服务设计理念,服务于智慧港口、智慧矿井、生态监测等,以提升生产流程的自动化水平、提高精细化管理水平,助力各垂直领域更好地信息化建设,为北斗民用推广、北斗港口、北斗矿井、北斗生态产业应用起到了重要推动作用。

猜你喜欢
位置服务开发者服务平台
打造一体化汽车服务平台
江苏省一体化在线交通运输政务服务平台构建
星站差分与PPP技术在深远海调查中的位置服务精度分析
论基于云的电子政务服务平台构建
基于云计算的民航公共信息服务平台
互联互通 畅享未来 第12届卫星导航与位置服务运营商大会在深圳举行
第六届中国卫星导航与位置服务年会暨首届卫星应用国际博览会
“85后”高学历男性成为APP开发新生主力军
16%游戏开发者看好VR
中位协二十周年庆典暨第四届中国卫星导航与位置服务年会将在北京举行