发明内容
本发明的目的在于提供一种海量多协议车联网终端接入方法,该方法依据接入终端与数据接入(DAS)、数据接入(DAS)与数据处理(OPS)、数据处理(DPS)与数据缓存(DCS)、数据接入(DAS)与数据缓存(DCS)、数据接入(DAS)与指令控制管理(ICM)等为基础,针对车联网系统中海量数据的接入,引入了分布式和负载均衡机制来保证扩展性,从而增强了支撑层的可扩展性,同时也能更好的保证通信的效率和服务的稳定性。
本发明采用的技术方案如下:
通过终端对接接口将数据接入,然后利用数据接入(DAS)、数据处理(OPS)与数据缓存(DCS)等子系统,来实现对于海量多终端多协议数据的高效处理,其中利用分布式部署的方式来实现了海量数据的并发处理,利用缓存处理中间数据的方式来实现对中间数据的存储和再使用,最终将处理后的数据结果以数据接口的形式提供给调用系统的应用,具体实现方法如下。
1、终端对接接口设计
终端接入
终端与数据接入(DAS)模块之间采用单链路SOCKET网络通信机制进行数据的定时或定距上传,终端作为客户端,DAS模块作为服务端,两者之间保持以下的通信服务(遵照具体协议)
指令下发
指令控制管理(ICM)模块与数据接入(DAS)模块采用单链路SOCKET网通信机制进行指令下发信号的控制和管理。ICM模块作为客户端,对业务应用层的目标客户提供指令下发请求调用接口;DAS模块负责接收ICM模块的指令下发请求,DAS模块执行下发至对应终端。
目标用户指令下发请求接口(Instrdown,根据终端标识和下发指令标识)
2、子系统之间内部接口设计
数据接入(DAS)与数据处理(DPS)
数据接入(DAS)模块与数据处理(DPS)模块之间采用单链路SOCKET网通信机制进行终端数据的传递,在DPS层进行数据的解析和处理;DAS层保持与DPS层之间的常驻握手和数据发送,DPS层进行数据的接收。
数据接入(DAS)与数据缓存(DCS)
数据接入(DAS)模块与数据缓存(DCS)模块之间采用单链路SOCKET网络通信机制进行终端的注册和登录,DAS负责解析和判定终端的注册和登录协议,并由DCS模块负责终端的注册验证和登录鉴权,
数据处理(DPS)与数据缓存(DCS)
数据处理(DPS)模块与数据缓存(DCS)模块之间采用单链路SOCKET网络通信机制进行处理后终端数据的传递,在DCS层进行数据的缓存(内存数据库MDB)与存储(物理轨迹数据库RDBMS);DPS层保持与DCS层的常驻握手和数据发送,DCS层进行数据的接收。
DCS模块终端解析处理后数据接收SOCKET通信协议接口
基础接口(API)与数据库(DB)
通过内存数据库(MDB)和轨迹数据库(RDBMS)获取终端位置、状态、报警、轨迹及统计数据,提供基础API的HTTP接口调用服务,例如:
实时定位查询接口(Realtime,根据终端标识)
历史轨迹查询接口(Track,根据终端标识及时间范围)
综合信息查询接口(Complex,根据终端标识列表)
统计信息查询接口(Statistics,根据统计条件类型,如在线数、下线数等)
区域定位查询接口(Areasearch,根据区域【点、线、面】范围查询)
数据接入系统与数据交换系统
数据接入系统与数据交换系统之间采用SOCKET网络通信机制进行终端数据的实时传输,数据交换系统与上级省监管平台或第三方监管平台进行数据的交换与共享。
数据交换系统(下级平台)与省监管平台(上级平台)采用双链路SOCKET网络通信机制进行数据的交换与共享;上级平台与下级平台之间需要保持以下的通信服务(遵循具体数据交换协议):
3、与业务系统接口设计
数据接入与共享接口
基础支撑层的基础接口作为共享接口层的底层接口服务,为业务系统提供通用的基本位置服务,共享接口层作为中间层进行基础接口调用的代理和转发,所以支持所有基础支撑层的基础接口:
实时定位查询接口(Realtime,根据终端标识)
历史轨迹查询接口(Track,根据终端标识及时间范围)
综合信息查询接口(Complex,根据终端标识列表)
统计信息查询接口(Statistics,根据统计条件类型,如在线数、下线数等)
区域定位查询接口(Areasearch,根据区域【点、线、面】范围查询)
共享接口与业务系统
共享接口层针对业务系统的需求,对业务数据和位量数据进行整合,以便提供更高级的业务扩展接口,例如:
用户关联终端定位查询接口(根据关联的用户进行多终端定位查询)
终端报警信息推送服务接口(根据终端推送报警信息给关联的用户)
在上述的数据接入流程中,针对车联网终端接入带来的海量数据,系统采用了分布式部署技术来实现海量高并发数据的实时处理,为了实现这个目的,系统采用了高性能网络通信传输框架ZeroMQ来构建高效的数据吞吐场景,实现了高效的数据处理架构。另外系统在数据接入和处理过程中,采用了网络数据序列化协议Protobuf,Protobuf是一种用于结构化数据串行化的灵活、高效、自动的方法,可以自定义数据结构,相对于其他的协议而言大大提升的使用效率。另外在系统缓存处理中间数据时,采用的NoSQL数据库Redis,具备极高的读写效率,进一步提高了系统对于海量数据的接入能力。
本发明一种海量多协议车联网终端接入的技术相对于以往技术的优势在于:对于车联网接入的海量数据而言,在保证了系统的扩展性的基础上,可以支持海量数据的接入。在处理多并发数据过程中,采用分布式部署的方式提升了数据的接入和处理的效率,让多并发数据可以灵活地通过以ZeroMQ框架和Protobuf协议为基础的数据处理子系统中进行高效地处理,最终以计算机集群的方式将计算工作分配至集群中的每一个计算机,实现了海量数据的实时高效处理,相比目前的车联网终端接入技术,可以更加高效地、快速地处理车机接入的数据,实现数据接入的可扩展性和灵活的接入方式。
具体实施方式
为使本发明的上述目的、特征和优点能够更加浅显易懂,下面结合附图对本发明的具体实施方式做更加详细的说明。
第一步,如附图1所示,数据接入服务与多终端协议之间进行数据交换,数据接入服务系统中主要包括:数据接入(DAS)、数据处理(DPS)、数据缓存(DCS)模块。数据接入(DAS)模块主要负责接收各终端上传的数据,并获取来自于指令控制管理(ICM)模块的指令信号以执行指令下发至终端操作,在本例中数据接入(DAS)模块将车辆位置数据转发至数据处理(DPS)模块进行数据处理。在数据处理(DPS)模块中,将会解析接收到的终端数据,并作基本的坐标偏移和逆地理编码等处理,同时数据处理(DPS)模块会将处理之后的数据转发至数据缓存(DCS)模块。数据缓存(DCS)模块将针对来自于数据接入(DAS)模块的终端注册和登录请求进行验证和鉴权,下面将就每一个模块的具体数据处理流程做描述。
第二步,如附图2所示,数据接入(DAS)模块主要负责与终端对接通信,以及数据接入(DAS)模块与数据处理(DPS)、数据缓存(DCS)、指令控制管理(ICM)模块之间的通信。对于终端接入过程而言,终端与数据接入(DAS)模块之间采用单链路SOCKET网络通信机制进行数据的定时或定距上传,终端作为客户端,DAS模块作为服务端,两者之间保持通信服务(如JT808)。对于指令下发过程,指令控制管理(ICM)模块与数据接入(DAS)模块采用单链路SOCKET网络通信机制进行指令下发信号的控制和管理。ICM模块作为客户端,对业务应用层的目标客户提供指令下发请求调用接口;DAS模块负责接收ICM模块的指令下发请求,DAS模块执行下发至对应终端。
第三步,如附图3所示,数据缓存(DCS)模块内部接口,以及数据缓存(DCS)与其他各模块之间的流程如下所述。在数据接入(DAS)与数据处理(DPS)模块之间,采用单链路SOCKET网络通信机制进行终端数据的传递,在DPS层进行数据的解析和处理;DAS层保持与DPS层之间的常驻握手和数据发送,DPS层进行数据的接收。数据接入(DAS)模块与数据缓存(DCS)模块之间采用单链路SOCKET网络通信机制进行终端的注册、鉴权和注销,DAS负责解析和判定终端的注册、鉴权和注销协议,并由DCS模块负责终端的注册、鉴权校验和注销处理。数据处理(DPS)模块与数据缓存(DCS)模块之间采用单链路SOCKET网络通信机制进行处理后终端数据的传递,在DCS层进行数据的缓存(内存数据库MDB)与存储(物理轨迹数据库RDBMS);DPS层保持与DCS层的常驻握手和数据发送,DCS层进行数据的接收。基础接口(API)与数据库(DB)之间,通过内存数据库(MDB)和轨迹数据库(RDBMS)获取终端位置、状态、报警、轨迹及统计数据,提供基础API的HTTP接口调用服务。数据接入系统与数据交换系统之间采用SOCKET网络通信机制进行终端数据的实时传输,数据交换系统与上级省监管平台或第三方监管平台进行数据的交换与共享。
本技术提供了百万终端的服务能力,可以为终端数据提供强大的存储,转发能力。保证了上报数据的准确性,可以对下控制各类终端,对上为客户提供数据接口服务。针对不同行业客户的各类业务需求,技术支持的客户端功能可以进行需要进行定制化,确保了技术对于不同行业的应变能力。
此处的实施例仅是示例性的,并没有包含所有的实施例。本领域技术人员可以在不违背本申请和所附权利要求下,做出各种修改和更正。