一种基于GPS设备汇聚接入的底层能力平台的制作方法

文档序号:25543526发布日期:2021-06-18 20:40

本发明属于电子信息技术硬件和软件通信领域,涉及硬件和软件通信的设计,具体涉及一种基于gps设备汇聚接入的底层能力平台。



背景技术:

近几年来,车联网的迅速发展,各种车载终端相继问世,市场上常见的车载设备有gps(808协议)和odb,而车辆上的车载设备通过无线通信技术,对信息网络平台中的所有车辆动态信息进行有效利用,在车辆运行中提供不同的功能服务。

同时车载设备的多样性、复杂性给开发工作带来了困难,不管在设备的接入方式、上报数据的解析、解析后数据存储等方面。



技术实现要素:

本发明要解决的技术问题是,提供一种独立运行且交互快、稳定性好的基于gps设备汇聚接入的底层能力平台。

本发明的技术方案是:一种基于gps设备汇聚接入的底层能力平台,该平台由服务层、调度层、应用层组成;

所述服务层包含tcp通信、数据采集、数据存储、数据分析、数据解析,服务层只负责和硬件设备进行通信进行数据采集,不与其他层进行直接通信;

所述调度层负责数据读取,分析数据进行相应的分类存储,并进行数据统计;

所述应用层负责基础信息的采集,信息的展示,基础业务逻辑的处理,提交用户表单等,与数据库、接口中心进行通信;

所述服务层、调度层、应用层之间都没有直接通信,采用读取数据的方式实现各个层之间的相互联系;再构建一个独立式车载硬件接入系统,进行一个独立式的通信方式,系统主要运行在后台,没有可视化的操作界面,采用php语言开发,底层采用高性能的socket框架,可实现百万级并发量,使用高效率的数据解析方式。

具体地,所述数据解析采用分段式数据解析,异步解析每段数据的信息,并进行分类,避免解析数据浪费大量的内存,分库分表存储,实现数据的快速存储和读取,该底层的接入设计可实现百万车载设备接入。

具体地,所述将硬件设备直接与应用层交互,独立式硬件接入设计,异步存储、异步读取;采用数据异步存储和读取的方式分离硬件设备和应用层的交互,将采集来硬件数据进行高效的缓存,通过数据处理中心,将数据进行分类后进行数据存储,最后应用层去读取存储的数据,避免了硬件设备和应用层直接交互。

具体地,所述实现百万级并发量由开启socket接收车载设备上报的数据,高性能的socket框架能接受百万并发量的长连接,通过设备的状态及时处理离线的设备,关闭相应的长连接,实现连接量溢出,导致内存开销;

使用异步消息队列处理数据发送,避免socket通信堵塞,具体步骤如下:

步骤1,获取设备上报数据信息:通过socket长连接收集上报数据,其中区分odb设备和gps设备;

步骤2,解析数据并进行数据分类:将原始数据包解析出来,进行分类,分类主要由基础数据、定位数据、上报时间、异常信息;

步骤3,数据分析并存储:将解析的数据进行相应的分析,统计,然后在分别存储相应的信息;

步骤4,应用层展示相应的数据信息。

更具体地,所述离线状态的识别由系统设计了设备数据分析层,通过对设备上报的数据进行分析,分析设备当前的情况进行相应的操作,设备离线分为两种情况,第一种情况:由于车辆的线路可能存在一定的问题,导致设备一直存于在线状态,系统会通过设备上报的定位信息在10分钟内移动距离不超过5米,系统对设备进行离线处理,当车辆移动时,设备重新进入上线状态;第二种情况:设备自身具备离线通知,关闭相应的长连接,实现连接量溢出,导致内存开销。

更具体地,所述异步消息队列指数据没有直接加入队列的方式,采用读取缓存队列的形式,系统将采集的数据并没有直接加入队列处理,而是将数据先进行缓存,然后根据当前系统的并发量开启相对应的消息队列处理进程,每个进程都是独立的处理单元,队列进程越多,处理能力就越快,每个进程会去读取缓存数据,并且每个进程在读取完数据后会马上删除该条缓存数据,避免其他进程读取到相同的数据,最后将数据取出后进行分析、分类然后进行存储,处理数据发送,避免socket通信堵塞。

与现有技术比较,本发明的有益效果是:本发明支持市场上主流的车载设备,使用模块化开发,添加非主流设备容易,长久连接不断线,底层数据解析速度快,信息分类齐全,存储数据方式合理,读取数据快,信息存储详细。独立的系统设计,避免设备和应用层的直接交互,用户体验好,交互快等优势;具体采用异步存储、异步读取,通过对采集来硬件数据进行高效缓存,然后数据中心进行数据分类后向主库存储数据,这一步的存储不与应用层没有任何逻辑,然后应用层通过事先设置好的设备编号去数据库从库读取数据,这样避免了数据同步写入和读取,大并发的同步操作数据库容易造成数据锁死。即使使用事务提交数据,在数据大并发的情况下也会有锁表的情况。

具体实施方式

下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

一种基于gps设备汇聚接入的底层能力平台平台由服务层、调度层、应用层组成,服务层包含tcp通信、数据采集、数据存储、数据分析、数据解析等,服务层只负责和硬件设备进行通信进行数据采集,不与其他层进行直接通信;调度层负责数据读取,分析数据进行相应的分类存储,并进行数据统计;应用层负责基础信息的采集,信息的展示,基础业务逻辑的处理,提交用户表单等,与数据库、接口中心进行通信。为了系统的稳定性、高效效性,每个层之间都没有直接通信,采用读取数据的方式实现各个层之间的相互联系。其特征在于:构建一个独立式车载硬件接入系统首先构建独立车载硬件接入系统是为了解决系统间错综复杂的通信,进行一个独立式的通信方式,在设计上避免了直接通信的延时弊端,同时提升了系统的稳定性以及工作效率;该系统目前支持市场上国标808的gps硬件设备和市场上标准的odb设备的,系统采用模块化插入式设计,接入其他新设备也很容易,所以对设备的接入是很容易的;系统主要运行在后台,没有可视化的操作界面,这样的设计提升了系统的稳定性,避免了被攻击的风险。采用php语言开发,底层采用高性能的socket框架,支持百万级并发量,使用高效率的数据解析方式本专利不申请数据解析方式,数据解析采用分段式数据解析,异步解析每段数据的信息,并进行分类,防止解析数据浪费大量的内存,分库分表存储,实现数据的快速存储和读取,该底层的接入设计轻松实现百万车载设备接入;

将硬件设备直接与应用层交互来说,独立式硬件接入设计,异步存储、异步读取采用数据分步存储和读取的方式分离硬件设备和应用层的交互,将采集来硬件数据进行高效的缓存,通过数据处理中心,将数据进行分类后进行数据存储,最后应用层去读取存储的数据,避免了硬件设备和应用层直接交互,接口;通过对采集来硬件数据进行高效缓存,然后数据中心进行数据分类后向主库存储数据,这一步的存储不与应用层没有任何逻辑,然后应用层通过事先设置好的设备编号去数据库从库读取数据,这样避免了数据同步写入和读取,大并发的同步操作数据库容易造成数据锁死。即使使用事务提交数据,在数据大并发的情况下也会有锁表的情况。

开启socket接收车载设备上报的数据,高性能的socket框架能接受百万并发量的长连接,通过设备的状态及时处理离线的设备首先系统设计了设备数据分析层,通过对设备上报的数据进行分析,分析设备当前的情况进行相应的操作,然后设备离线分为几种情况,第一种情况:由于车辆的线路可能存在一定的问题,导致设备一直存于在线状态,系统会通过设备上报的定位信息在10分钟内移动距离不超过5米,系统对设备进行离线处理,当车辆移动时,设备重新进入上线状态;第二种情况:设备自身具备离线通知,关闭相应的长连接,实现连接量溢出,导致内存开销;这里的关闭长连接指的是,系统通过对设备发送关闭指令,让设备不在进行数据上报,断掉socket长连接。

第一步、将设备进行分类,分为gps设备和odb设备,然后对协议进行分类,分为国标和非国标。设备接入系统时采用模块化设计,这样方便后期系统接入其他协议的设备。然后设计采集数据层,通过对硬件设备类型的分类,协议的分类进行相应数据采集方式,将采集的数据进行相应的分类后传入数据处理中心。

第二步、数据中心接收到数据后,将数据分段解析出来,对数据进行分析,然后将数据进行分类,分别分为:基础数据、定位数据、历史数据、异常数据、报警数据、设备状态数据(不是全部设备都具备),最后将分类好的数据进行不同的处理,最后将分类好的写入缓存。

第三步、设计异步消息队列数据处理中心,系统通过当前的硬件接入并发量开启相应的系统进程数,每个系统进程上就会有一个处理数据单元,每个进程都是独立的,互不干扰,数据处理进程分配完后,处理单元读取到缓存数据后,将数据分类,然后进行分析、筛选,最后把数据存储到数据库中,譬如:10条数据分为5个进程处理,每个进程处理2条数据,每条数据处理周期为1秒,总共就只需要2秒便可处理完,如果只是一个进程的话就需要10秒的时间才能处理完。

第四步、应用根据相应的设备编号去数据库查询相应的数据,根据需求的需要将数据进行分类展示、统计展示,这样就避免了应用层和硬件层有直接的联系,同时也优化了系统的稳定性,即使硬件层网络中断也不会影响应用层的正常,顶多是数据更新有延迟。应用层崩溃也不会影响硬件接入层的正常运行。

使用异步消息队列:异步消息队列,指数据没有直接加入队列的方式,采用读取缓存队列的形式,系统将采集的数据并没有直接加入队列处理,而是将数据先进行缓存,然后根据当前系统的并发量开启相对应的消息队列处理进程,每个进程都是独立的处理单元,队列进程越多,处理能力就越快,每个进程会去读取缓存数据,并且每个进程在读取完数据后会马上删除该条缓存数据,避免其他进程读取到相同的数据,最后将数据取出后进行分析、分类然后进行存储。处理数据发送,避免socket通信堵塞,提升系统流程性和稳定性;

步骤1,获取设备上报数据信息:通过socket长连接收集上报数据,其中区分odb设备和gps设备;

步骤2,解析数据并进行数据分类:将原始数据包解析出来,进行分类,分类主要由基础数据、定位数据、上报时间、异常信息;

步骤3,数据分析并存储:将解析的数据进行相应的分析,统计,然后在分别存储相应的信息;

步骤4,应用层展示相应的数据信息。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。

再多了解一些
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1