[发明专利]GPS监控车台上报数据大规模入库的处理方法在审
申请号: | 201410580982.6 | 申请日: | 2014-10-27 |
公开(公告)号: | CN104317906A | 公开(公告)日: | 2015-01-28 |
发明(设计)人: | 胡平 | 申请(专利权)人: | 合肥星服信息科技有限责任公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 230051 安徽省合肥市包河*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | gps 监控 台上 数据 大规模 入库 处理 方法 | ||
技术领域
本发明属于信息技术领域数据库技术的一个优化方案,提出一种采用缓冲列表设计,高效可靠的解决瞬间大规模车台上报数据入库引起的数据丢失问题。
背景技术
GPS监控平台上有成千上万台监控终端,它们不停的向监控中心发送数据报文,报文经过解析后插入到数据库中,由于报文解析和插入数据库的工作量非常大,经常导致系统瘫痪,主要故障有:
1、服务器的解析跟不上客户端上报的速度,造成服务器停止响应。
2、由于数据不能及时入库,造成服务端缓存溢出。
如何有效保证报文正确及时入库,避免数据丢失以及服务器超负荷不能及时响应是摆在我们面前的难题。目前的解决方法主要有:
1、将这些数据形成固定格式的文件,存入数据库的IMAGE字段,等不忙时,解析该IMAGE字段后,存入数据库各结构表。
2、利用公文包模式,客户端取数据并缓存在客户端,等到客户端不忙时再和服务器同步。
这些方法能解决一部分问题,但是会带来额外的系统开销,总体上效率不高。
发明内容
本发明的一个目的在于为GPS监控车台上报数据的大规模入库提供一种高效的方法。为了实现该入库优化方法,首先需要初始化缓冲队列,客户端发送过来的数据经过服务器解析后形成固定格式数据记录,存放到缓冲队列。同时对数据入库队列记录进行计数,每达到指定数目(如2000条)时会同时创建一个异步入库线程,该线程负责从队列里逐条取出这些数据形成数据库插入语句,写入数据库内存,指定数目(如2000条)的数据记录全部写入内存区后,集中一次提交,提交完成后线程终止。这样服务器不停接收和解析数据写入缓冲队列,同时又不断有数据被成批取出写入数据库内存区并提交到实体表中。
所述方法包括如下步骤:
1、在服务端建立缓冲队列并初始化;
2、将接收过来并解析后的数据放到缓冲队列中;
3、创建入库线程;
4、入库线程从缓冲队列提取指定数目的数据,写入其独占的临时队列,同时再创建新的入库线程,新的入库线程重复步骤3和步骤4;
5、入库线程提取指定数目的数据,写入临时队列后,组织形成入库语句,写到数据库内存区,直到其独占的临时队列的数据全部取完,集中提交入库后,该入库线程退出。
本发明相对于现有技术的创新点是:
1、上报数据先进入缓冲队列;
2、异步并行多个入库线程,每个入库线程独占一个临时队列;
3、数据先写入数据库内存,集中提交。
附图说明
图1是服务器的初始化流程图;
图2是服务器接收数据入库前准备流程图;
图3是服务器接创建入库线程流程图;
图4是服务器线程入库工作流程图。
具体实施方式
本发明的GPS监控车台上报数据大规模入库的处理方法主要用于GPS数据集中监控平台,由于车台数量成千上万,每台设备每个周期都有数据上报,一般一个周期几秒到几十秒不等。这些车台全天候大密度上报数据,给数据库造成了很大的压力。本发明特别适用于同时处理多客户端的数据入库问题,为服务器的稳定、及时响应提供了一种高效的处理方法。
具体流程如下:
1、在步骤101中,服务器进行初始化工作,获取数据库主机地址和端口以及发送和接收数据的编码,建立客户端连接对象。
2、在步骤102中,初始化缓冲队列,用于存放解析后的上报记录。
3、在步骤103中,初始化数据读取时钟周期,时钟周期的设置依据上报数据的频率,上报频率越快,读取的时钟周期就越短,反之就越长。
4、在步骤201中,服务器接收客户端的数据并解析,提取需要的数据。
5、在步骤202中,服务器将提取的数据按照固定的格式进行组织形成新的待入库记录。
6、在步骤203中,服务器将形成的新的格式的待入库记录推进缓冲队列,为入库线程提供数据。
7、在步骤301中,服务器创建入库线程,用于从缓冲队列读取数据并写入数据库。
8、在步骤302中,入库线程创建临时入库队列。在每个时钟周期从缓冲队列读取数据并推入临时入库队列。临时入库队列的记录数小于2000条时,继续读取。
9、达到2000条时,进入步骤305,创建新的入库线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥星服信息科技有限责任公司,未经合肥星服信息科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410580982.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置