[发明专利]一种GPS数据入库处理方法和系统有效
| 申请号: | 201410414439.9 | 申请日: | 2014-08-21 |
| 公开(公告)号: | CN104158757B | 公开(公告)日: | 2017-07-07 |
| 发明(设计)人: | 邹山青;魏军福;叶伟;庄艺园;陈建灵 | 申请(专利权)人: | 福建星海通信科技有限公司 |
| 主分类号: | H04L12/803 | 分类号: | H04L12/803;H04L12/861 |
| 代理公司: | 福州市鼓楼区京华专利事务所(普通合伙)35212 | 代理人: | 王美花 |
| 地址: | 350000 福*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 gps 数据 入库 处理 方法 系统 | ||
技术领域
本发明涉及一种数据入库处理方法,更具体地说涉及一种海量GPS数据入库的处理方法。
背景技术
目前行业内,GPS数据处理入库平台所接入数量达到海量GPS报文数量级的比较少,一般是作为系统的一部分。对于接收报文、处理报文并展示到客户端,现在并未将这个环节作为单独的一个服务,划分为整个大型系统中的一个重要模块进行优化,所以就会存在着一些缺陷。现有技术存在的缺点有以下几点:
1、通讯网关接收到GPS终端的数据后,直接处理报文并入库,处理报文和入库的环节会占用大部分的资源,并容易因此阻塞接收的队列,造成队列满,报文丢失,降低通讯网关接收终端报文的负载量;
2、通讯网关直接入库,中间环节需要缓存接收报文的队列、处理报文的队列、处理完等待入库的数据的队列,内存负荷很容易达到极限,影响处理数据的吞吐量;
3、数据库的连接数有限,连接数过多时,操作数据库时可能产生资源冲突和竞争的机率越大,一个库所能接入的入库服务是有限的,通讯网关的数目受到限制,无法进行负载均衡。
发明内容
本发明要解决的技术问题之一,在于提供一种GPS数据入库处理方法,通过I/O完成端口技术实现底层的通讯网关与TCP服务端之间传输GPS报文,并使用报文任务池和工作线程池处理报文后批量写入数据库并完善错误处理,不仅提高了系统性能和数据传输量,而且避免了传输过程的数据堵塞,同时在实际应用中提升了对海量GPS报文入库错误处理的完整性。
本发明要解决的技术问题之一,一种GPS数据入库处理方法是这样实现的:所述方法包括I/O完成端口技术传输GPS报文的过程、报文任务池和工作线程池处理GPS报文的过程、GPS报文入库的过程和完善GPS报文入库错误处理的过程:
所述I/O完成端口技术传输GPS报文的过程是:通讯网关作为客户端,将GPS报文封装在复数个数据传输socket中,GPS数据入库处理系统作为TCP服务端,客户端将所述复数个数据传输socket通过计算机的端口发送到TCP服务端完成GPS报文的接收,具体步骤如下:
步骤11、初始化后,在所述服务端上创建一侦听socket,并将所述侦听socket与服务端的一个端口绑定,以便实现GPS报文的一对多传输;
步骤12、在TCP服务端上创建一个SocketAsyncEventArgs类的连接对象,将所述连接对象与所述侦听socket绑定,所述连接对象开始异步检测与其绑定的端口中是否有数据传输socket接入:当有一个所述数据传输socket请求连接时,所述连接对象就接入该数据传输socket,而所述侦听socket则继续检测与其绑定的端口;
步骤13、在TCP服务端上创建一个SocketAsyncEventArgs类的接收对象,所述接收对象与接入的数据传输socket进行绑定,并开始接收GPS报文:若接收到的GPS报文的数据长度等于零,则关闭对应接入的数据传输socket并释放与其绑定的接收对象;若接收到的GPS报文的数据长度大于零,则进行粘包处理:如果接收到的GPS报文的数据包是完整的,直接放入报文缓冲队列,如果接收到的GPS报文的数据包是不完整的,则先放入接收缓冲区等待继续接收直至数据包完整再放入报文缓冲队列;
步骤14、TCP服务端收到GPS报文后,根据所接收GPS报文的先后顺序依次做出收包正常的应答返回给客户端;
所述报文任务池和工作线程池处理GPS报文的过程包括:
步骤21、在TCP服务端上创建复数个报文解析线程对报文缓冲队列中的GPS报文进行解析,根据解析得到的不同类型,所述报文解析线程将各不同类型的GPS报文放入到报文任务池的复数个报文队列中,所述复数个报文队列与各不同类型的GPS报文一一对应;
步骤22、所述报文任务池的各报文队列均采用双缓冲概念实现读写分离:各报文队列均对应两个任务池缓存区,分别是任务池缓存区1和任务池缓存区2,先将各报文队列中的GPS报文写入与其对应的任务池缓存区1,当GPS报文入库处理比较慢或者TCP服务端连接数非常多的情况下,任务池缓存区1内的GPS报文会慢慢堆积,达到最大值,这时各报文队列中余下的GPS报文会写入到与其对应的任务池缓存区2,最后从各报文队列对应的任务池缓存区1和任务池缓存区2中批量读取出GPS报文,对应写入到各报文队列的缓存文件中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建星海通信科技有限公司,未经福建星海通信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410414439.9/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





