澎湃Logo
下载客户端

登录

  • +1

学术交流 | 多源终端位置服务平台设计与应用

2021-06-20 16:09
来源:澎湃新闻·澎湃号·政务
字号

摘要:

随着社会信息化的快速发展,位置服务应用正从行业领域转向大众领域,研究通用且易扩展的适用于各个领域的位置服务平台很有现实意义。通过研究位置服务平台的关键技术,提出了一种通用的面向多源终端的位置服务平台设计与实现方法,详细阐述了平台的设计原则、总体架构、数据模型、系统接口、插件扩展、实现关键技术、实验结果等方面的内容,并以实例应用证明了此平台的科学性和实用性。

关键词:位置服务;全球导航卫星系统;多源终端;Web服务

引言

基于位置的服务(Location-Based Service,LBS)是指移动终端利用各种定位技术获得当前位置信息,再通过网络为用户提供各种扩展服务。近年来,随着无线通讯、移动互联网、全球导航卫星系统、物联网、云计算、人工智能等高新技术的蓬勃发展,以及移动终端性能的不断进步,人们对位置服务的需求也日益增强。

位置服务正逐渐从行业应用演变为大众化应用,但已有位置服务系统通常为单一领域设计,具有普适性不足的缺点,一般难以同时支持多源终端,即使支持其系统灵活性和扩展性也不尽人意。因此,面向多源终端研究适用于各个领域的位置服务平台具有现实意义。本文提出一种通用的面向多源终端的位置服务平台设计与实现方法,它主要通过分布式架构设计、模型设计、接口设计和插件设计,建立一套高性能综合位置服务平台,并提供面向开发者的各种位置服务接口,能满足多用户、大量级、多场景、易接入的位置服务需求,并以车联网应用证明了平台的科学性和实用性。

面向多源终端的架构设计

1

设计原则

最大限度地遵循相关标准和规范,提高平台的通用性。采用面向服务的体系结构统筹规划和统一设计平台架构,尤其是平台的数据处理模型、用户角色权限模型、功能接口以及系统扩展等内容,更需从全局的角度进行统一设计。综合运用最新的全球导航卫星系统、移动互联网、物联网、云计算、人工智能、大数据等多种先进技术,从而保证系统在总体架构、功能、性能等各方面都具有高度的先进性与科学性。平台应具有可扩展性,支持二次开发接口,便于数据扩展、功能升级、应用扩展等。

2

总体架构

通用的面向多源终端的位置服务平台,主要由多源终端设备、终端通信处理系统、后台服务系统和前端应用系统四大部分构成,并辅以运维安全保障体系、标准规范与管理体系作为保障,平台支持多协议终端设备,各部分之间通过接口进行集成对接,平台总体架构如图1所示。

图1 总体架构图

1)多源终端设备

终端设备是指能获取自身空间定位信息的相关设备,主要包括特定型号的车载终端、手机、手表、手环、对讲机等。不同终端设备一般采用不同的通讯协议,如车载终端一般采用JT/T 808协议,手表一般采用各厂家自定义的协议。

2)终端通信处理系统

终端通信处理系统在多源终端设备和后台服务系统之间,承上启下,主要处理终端设备的上行数据和后台服务系统的下行指令,支持多源终端设备,支持以插件扩展方式接入新的设备协议。系统实时接入处理多源终端设备的位置、状态、控制等信息,对外提供统一的接口,如设备状态、设备位置、设备事件、设备告警等接口。

3)后台服务系统

后台服务系统将从终端通信处理系统接口获取到的数据,经过解析、分类、判断等处理后,然后按逻辑向终端通信处理系统进行响应反馈,并将处理后的有效数据存储到大数据存储中心;后台服务系统对外提供统一平台服务接口,为前端应用系统提供实时的数据服务和应用集成。

前端应用系统是面向用户的各种业务系统,它通过后台服务系统提供的服务接口,获取实时位置、实时状态、实时告警等位置综合服务,在交通、应急、公安、医疗等智慧城市领域,按业务需求进行集成应用。

3

数据模型

通用的面向多源终端的位置服务平台核心目标是满足多源终端、大量级、多用户的位置服务需求,主要数据模型包括终端数据处理模型和用户终端角色权限模型。

1)终端数据处理模型

终端数据处理主要包括终端管理、指令处理和事件处理三部分,终端数据处理模型如图2所示。

图2 终端数据处理模型

终端管理主要包括协议、属性和关联三部分。协议部分用来描述终端的协议信息,如协议名称、协议内容等;属性部分用来描述终端的属性信息,如名称、类型、品牌、颜色等;关联部分用来描述终端的关联分配对象,如所属部门、关联用户等。

指令处理主要包括控制指令、指令调用和指令响应三部分,其中控制指令也是终端协议的一部分。

事件处理包括位置、状态、告警、指令调用、指令响应五部分,通过它们可以定义和描述终端活动内容,实现终端设备全生命周期信息可追溯,其中指令调用和指令响应也是指令处理的一部分。

2)用户终端角色权限模型

平台通过用户终端角色权限模型实现多用户与多终端的权限关联关系。权限是对平台功能的保护,用户要使用某功能的前提是必须拥有它的权限,一个权限可以归属于0~n个角色;角色是一定数量权限的集合,通过它可以对拥有相同权限的用户进行分类管理,如系统管理员、普通用户、访客等角色,一个用户可以归属于0~n个角色。用户是平台的具体操作者,用户通过角色可以被赋予不同的权限。一个用户归属于一个单位,一个终端亦归属于一个单位,用户默认拥有对所属单位及其下属单位终端的监控、新增、编辑、删除等管理控制权限。平台用户终端角色权限模型如图3所示。

图3 用户终端角色权限模型

4

系统接口

平台对外开放统一接口,可用于平台功能拓展或第三方二次开发应用集成,如新协议终端设备接入扩展、第三方应用系统集成等。平台接口主要包括表述性状态传递(Representational State Transfer,REST)接口、JS对象简谱(JavaScript Object Notation,JSON) 消息队列接口和通信接口等三大类,如图4所示。

图4 平台接口

1)REST接口

后台服务系统底层设计封装REST接口,对外提供统一的开放平台接口。开放平台遵循标准OAuth2.0,主要对外开放接口包括用户管理、位置服务、复杂查询、终端控制等,前端应用系统可以方便地根据实际业务需求进行集成。

2)JSON消息队列接口

后台服务系统底层设计封装JSON消息队列接口,包括实时位置推送、实时报警等接口,主要用于后台服务系统和终端通信处理系统间的实时对接交互。

3)通信接口

终端通信处理系统底层设计封装终端设备通信接口,按照每类终端绑定的通信协议,根据协议插件设计规则实现上行消息、下行指令等接口。平台通过参数配置,可以方便地接入各种终端协议设备。

5

协议插件扩展

多源位置服务平台通过协议插件扩展的设计实现对多源终端协议的支持和灵活扩展。协议插件就是平台对外提供规范的可扩展式协议模块接口,用户可以按照规范开发插件来为平台增加新协议支持。终端通信处理系统通过解析器名、通讯协议、监听端口等协议插件参数配置,可以方便地实现对不同终端协议设备的支持。平台协议插件框架如图5所示。

图5 协议插件框架图

平台通过协议插件扩展的方式实现对新终端协议的支持。协议插件扩展流程主要包括解析器实现、指令类型定义、指令消息监听对接、指令工厂实现和后台REST接口实现等五部分,如图6所示。

图6 协议插件扩展

协议插件扩展时,解析器实现主要实现约定的解析器接口,在接口中具体实现上行协议消息的数据验证识别、分流控制、解析推送等功能。指令类型定义主要枚举定义协议需要新增的指令类型,然后对协议的每个指令类型在指令消息监听对接和指令工厂实现中进行扩展处理。指令消息监听对接主要在接收消息队列中对后台指令消息按类型进行对接。指令工厂主要是实现约定的指令工厂接口,在接口中实现下行指令的参数验证、指令打包等功能。REST接口实现主要按协议实现后台服务系统中扩展指令的REST接口封装,为前端应用系统进行服务。

平台实现关键技术

平台开发实现时,主要采用Netty、分布式消息队列、大数据存储等关键技术,以满足平台多用户、大量级、高性能等核心需求。

1

Netty框架

Netty是一个高性能的异步通信框架,它的架构特点是异步非阻塞、基于事件驱动、高性能、高可靠性和高可定制性。Netty本身提供对多种编解码框架的集成,包括谷歌的Protobuf、Java序列化、压缩编解码、字符串编解码等,这些编解码框架可以被用户直接使用,同时也提供形式多样的编解码基础类库,开发人员可以非常方便地实现私有协议的二次开发。

平台实现中主要以Netty异步事件驱动网络框架为基础,来实现高性能的多协议终端设备接入。

2

分布式消息队列

分布式消息队列是分布式系统中重要的组件,主要解决应用耦合、异步消息、流量削峰等问题,实现高性能、高可用、可伸缩和最终一致性架构。目前,使用较多的分布式消息队列有ActiveMQ、RabbitMQ、Kafka等。

平台实现中主要采用Kafka分布式消息队列来实现终端上行消息、批量存储消息、发布终端重要消息(如告警、上下线)等业务功能。

3

大数据存储

HBase是一个分布式的、面向列存储的开源数据库,它具有高可靠性、高性能、面向列、可伸缩等特点,利用HBase可在廉价电脑上搭建起大规模结构化存储集群。

平台实现中主要采用HBase来实时存储多源终端设备产生的位置大数据。

实验结果

基于上述平台设计和实现关键技术,开发实现了多源终端位置服务平台,并在车辆监控管理领域进行了多款终端设备的应用实验。经过实验证明,平台满足多用户、大量级、多场景、易接入等位置服务需求,是一个通用的面向多源终端的位置服务平台。下面以车辆监控管理平台为例,验证本文平台的实用性。

首先,对车辆进行后装终端改造,主要车载终端型号见表1,推荐采用交通部JT/T 808标准协议的终端设备。改造后它们被统一接入到终端通信处理系统,并实时地将位置信息发送到后台服务系统。经实验表明,普通单台服务器支持万台以上多源终端设备,通过多服务器可实现更大量级支持。

表1 车载终端型号

然后,通过后台服务系统对车辆进行统一监控管理。最后,对前端应用系统进行适应性集成,主要基于平台对外开放接口,结合车辆监控的核心业务需求,集成定制实时监控、车辆控制、轨迹回放等功能,并通过文字、图形、表格等多种形式将车辆位置相关的各种信息实时地展现,为用户提供车辆监控服务,其中轨迹回放如图7所示。

图7 轨迹回放

结束语

本文通过面向多源终端的架构设计,实现了通用的可适用于各领域的位置服务平台,具有高可用性和高扩展性,满足多源终端、多用户、大量级、多场景、易接入等位置服务需求,车辆位置监控实例应用证明了该平台设计的科学性和实用性。可以为以位置服务应用为核心的系统平台建设提供参考,通过扩展服务也可应用于交通、应急、公安等领域。

原标题:《学术交流 | 多源终端位置服务平台设计与应用》

阅读原文

    本文为澎湃号作者或机构在澎湃新闻上传并发布,仅代表该作者或机构观点,不代表澎湃新闻的观点或立场,澎湃新闻仅提供信息发布平台。申请澎湃号请用电脑访问http://renzheng.thepaper.cn。

    +1
    收藏
    我要举报

            扫码下载澎湃新闻客户端

            沪ICP备14003370号

            沪公网安备31010602000299号

            互联网新闻信息服务许可证:31120170006

            增值电信业务经营许可证:沪B2-2017116

            © 2014-2024 上海东方报业有限公司

            反馈