[发明专利]一种面向GPS移动目标定位追踪系统的高并发接入方法有效

专利信息
申请号: 201710027612.3 申请日: 2017-01-16
公开(公告)号: CN106899657B 公开(公告)日: 2021-08-31
发明(设计)人: 蒋睿;尹杰;孔华锋;裴蓓;钱泽虹 申请(专利权)人: 东南大学常州研究院;公安部第三研究所
主分类号: H04L29/08 分类号: H04L29/08;G01S19/42
代理公司: 常州品益专利代理事务所(普通合伙) 32401 代理人: 乔楠
地址: 213164 江苏省常州市武进区常*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 面向 gps 移动 目标 定位 追踪 系统 并发 接入 方法
【权利要求书】:

1.一种面向GPS移动目标定位追踪系统的高并发接入方法,其特征在于:包括终端接收模块(1),负载分配模块(2),数据并发处理模块(3),数据库连接模块(4),数据库模块(5);其中,所述的终端接收模块(1),作为系统与定位终端的接口,负责监听定位终端发送的连接请求,并且以每台大于600Kbps的速率,总量为200万台的规模接收终端发送的报文信息;所述的负载分配模块(2)负责系统的负载均衡,均匀分配报文数据流量,防止出现由于单一服务器流量过高导致系统崩溃的情况,负载分配模块(2)接收终端接收模块(1)发送的报文信息,利用均衡分配负载策略,将报文信息均衡的分派给数据并发处理模块(3);所述的数据并发处理模块(3)并行解析定位终端发送的原始报文信息,利用ASCII码转制规则,将报文信息转码为可见ASCII码,并按照终端对应的协议准则,将以ASCII码呈现的报文信息解析为以JSON格式封装的业务逻辑信息,数据并发处理模块(3)接收负载分配模块(2)发送的原始报文信息,并将报文信息解码、解析为业务逻辑信息,发送给数据库连接模块(4);所述的数据库连接模块(4)负责建立数据库连接池,提高系统对数据库读写的速率,减小频繁创建与删除数据库连接导致的系统不稳定,数据库连接模块(4)接收数据并发处理模块(3)发送的业务逻辑信息,并与数据库模块(5)建立连接池,将业务逻辑信息分类存入数据库模块(5);所述的数据库模块(5)负责模块化储存定位终端对应的用户信息和终端位置信息,并且为整个系统数据信息的安全性和高可靠性提供保障;

所述的终端接收模块(1)包括接入线程模块(1-1),业务线程模块(1-2)这两个子模块;负责监听定位终端发送的连接请求,并且以每台大于600Kbps的速率,总量为200万台的规模接收终端发送的报文信息;

所述的终端接收模块(1-1)由4个非阻塞IO线程组成,采用TCP/IP传输协议,通过socket接口,与定位终端交互,接收定位终端发送的报文数据,终端接收模块(1-1)选择一个空闲的非阻塞IO线程与定位终端建立TCP连接,创建socket连接,将此socket连接注册到一个空闲的业务线程模块(1-2),之后非阻塞IO线程断开与定位终端的连接,保持空闲状态等待接收新的定位终端连接;所述的业务线程模块(1-2)由八个业务线程组成,负责接收终端接收模块(1-1)注册的socket连接,读取定位终端发送的报文信息,并将报文信息传递给负载分配策略模块(2);

所述的负载分配模块(2)包括策略选择模块(2-1),前台数据发送模块(2-2)这两个子模块;负责系统的负载均衡,均匀分配报文数据流量,防止出现由于单一服务器流量过高导致系统崩溃的情况,负载分配模块(2)接收终端接收模块(1)发送的报文信息,利用均衡分配负载策略,将报文信息均衡的分派给数据并发处理模块(3);

所述的策略选择模块(2-1)可以手动配置负载策略,使多个数据并发处理模块(3)能够协同完成报文处理任务,消除网络负载分配不均,解决数据流量拥挤导致响应时间过长的问题;系统提供的负载策略包括轮询均衡策略,权重轮询均衡策略,随机均衡策略,响应速度均衡策略,最少连接数均衡策略,DNS响应均衡策略;轮询均衡策略:每一次终端接收模块(1)发送的请求轮流选择数据并发处理模块(3),此均衡算法适合系统中所有服务器都有相同硬件配置的情况;权重轮询均衡策略:根据装载数据并发处理模块(3)的服务器配置不同,给每个服务器分配不同的权值,按照相应权值接收终端接收模块(1)发送的请求;随机均衡策略:通过随机数生成算法,把终端接收模块(1)发送的请求随机分配给数据并发处理模块(3);响应速度均衡策略:终端接收模块(1)向所有数据并发处理模块(3)发出一个PING探测请求,根据探测请求响应时间,把报文信息发送到响应时间最快的数据并发处理模块(3);最少连接数均衡策略:每一个数据并发处理模块(3)都有一个数据记录,记录当前正在处理的连接数量,当有新的连接请求时,把连接请求分配给连接数最少的数据并发处理模块(3);DNS响应均衡策略:分处在不同地理位置的数据并发处理模块(3)所对应DNS服务器收到来自同一终端接收模块(1)的域名解析请求,在同一时间内把此域名解析成IP地址并返回,终端接收模块(1)将以最先收到的域名解析IP地址来发送请求服务,忽略其它的IP地址响应;

所述的前台数据发送模块(2-2)采用socket接口,通过TCP/IP传输协议,负责将报文信息传输到策略选择模块(2-1)所选中的数据并发处理模块(3);

所述的数据并发处理模块(3)包括前台数据接收模块(3-1),报文转码模块(3-2),报文数据解析模块(3-3),控制转发模块(3-4)这四个子模块;并行解析定位终端发送的原始报文信息,利用ASCII码转制规则,将报文信息转码为可见ASCII码,并按照终端对应的协议准则,将以ASCII码呈现的报文解析为以JSON格式封装的业务逻辑,数据并发处理模块(3)接收负载分配模块(2)发送的原始报文信息,并将报文信息解码、解析为业务逻辑信息,并行发送给数据库连接模块(4);

所述的前台数据接收模块(3-1)采用socket接口,利用socket Listen监听机制,并行监听负载分配模块(2)发送的报文信息;所述的报文转码模块(3-2)根据解码协议,将报文信息解码为可见ASCII码,以供报文数据解析模块(3-3)解析,其中,报文转码模块(3-2)提供的解码协议有二进制与ASCII码制转换,八进制与ASCII码制转换,十六进制与ASCII码制转换,十进制与ASCII码制转换,反十六进制与ASCII码制转换;所述的报文数据解析模块(3-3)将报文转码模块(3-2)转换后以ASCII码呈现的报文信息按照定位终端所对应的协议准则,将协议内容转换为JSON格式数据,其中,协议内容包括定位终端的位置信息与用户基本信息;所述的控制转发模块(3-4)利用Socket Connection接口,将系统可识别的JSON格式数据并行发送到数据库连接模块(4);

所述的数据库连接模块(4)包括后台数据接收模块(4-1),数据库连接池模块(4-2),数据库连接选择模块(4-3),数据入库模块(4-4)这四个子模块;负责建立数据库连接池,提高系统对数据库读写的速率,减小频繁创建与删除数据库连接导致的系统不稳定,数据库连接模块(4)接收数据并发处理模块(3)发送的业务逻辑信息,并与数据库模块(5)建立连接池,将业务逻辑信息分类存入数据库模块(5);

所述的后台数据接收模块(4-1)利用本地Socket Connection接口,并行接收数据并发处理模块(3)发送的以JSON格式封装的业务信息,以供数据库连接选择模块(4-3)选择入库;所述的数据库连接池模块(4-2)是由一组数据库连接对象组成的队列缓冲池所组成,数据库连接是一个费时的活动,每次都要花费0.05s~1s的时间,数据入库模块(4-4)对数据库模块(5)不断读写,频繁建立和维护新的数据库连接,系统的性能会受到影响,甚至会造成服务器的崩溃,所以,数据库连接池模块(4-2)预先放入一定数量的数据库连接形成缓冲池,当需要建立连接时,只需从缓冲池中取出一个连接,使用完毕之后放回,可以降低系统的开销;所述的数据库连接选择模块(4-3)负责管理数据库连接池模块(4-2),选择最佳的数据库连接对数据库模块(5)进行读写;所述的数据入库模块(4-4)负责将数据库连接选择模块(4-3)分配的数据库连接与数据库模块(5)通信,完成数据的读写操作,数据库入库模块(4-4)与底层数据库建立TCP/IP连接,向数据库模块提供Connection接口;数据库连接选择模块(4-3)选取数据库连接的流程如下:

首先,数据库连接池模块(4-2)中已经创建但尚未分配出去的数据库连接按照创建时间存到一个空闲池中,每当有一个连接请求时,数据库连接选择模块(4-3)首先检查空闲池内是否有空闲的数据库连接;接着,如果有空闲的数据库连接则把建立时间最长的那个连接分配给数据入库模块(4-4),如果没有则检查当前所开的缓冲池是否达到最大连接数;然后,如果缓冲池没有到达最大连接数,则新建一个连接加入缓冲池中,如果缓冲池已经达到最大连接数,则等待预设的时间timeout;最后,如果在等待的时间有数据库连接被释放出来,则将此连接分配给请求,如果等待时间超过timeout,则此请求失效;

所述的数据库模块(5)包括数据库接入代理模块(5-1),主数据库模块(5-2),辅助数据库模块(5-3)三个子模块;负责模块化储存定位终端对应的车主信息和车辆信息,并且为整个系统数据信息的安全性和高可靠性提供保障;

所述的数据库接入代理模块(5-1)位于数据库连接模块(4)与主数据库模块(5-2)、辅助数据库模块(5-3)之间,负责解析数据入库模块(4-4)发送的SQL语句,并进行分类,将“写”的语句传递给主数据库模块(5-2),“读”的语句传递给辅助数据库模块(5-3);所述的主数据库模块(5-2)处理数据入库模块(4-4)的“写”操作,并且按模块化方式分类储存定位终端对应的用户和终端位置信息,并且提供GPS定位纠偏库与运营商基站经纬度坐标库;所述的辅助数据库模块(5-3)功能为:第一,负责处理入库模块(4-4)发送的“读”操作请求,减少主数据库模块(5-2)的负载,加快数据读写速度;第二,为系统的数据提供备份服务,备份方式为异步复制,主数据库模块(5-2)完成自身“写”操作的同时,将SQL语句操作日志发送到辅助数据库模块(5-3),辅助数据库模块(5-3)根据日志内容完成备份;辅助数据库模块(5-3)备份主数据库模块(5-2)流程如下:

首先,主数据库模块(5-2)开启一个日志“写”入线程,辅助数据库模块(5-3)开启一个日志读取线程和一个SQL复制线程;接着,主数据库模块(5-2)在执行“写”操作时,会利用日志写入线程将SQL语句写入到主数据库模块(5-2)本地的日志文件Master Log中;然后,日志读取线程读取主数据库模块(5-2)中的Master Log文件,并且将读取的日志内容写入辅助数据库模块(5-3)本地的日志文件Sub Log中;最后,SQL复制线程根据Sub Log的SQL记录,将辅助数据库模块(5-3)更新,保证数据与主数据库模块(5-2)同步;

一种面向GPS移动目标定位追踪系统的高并发接入方法的整体工作流程如下:

1.系统与定位终端建立连接;系统启动,终端接收模块(1-1)在后台运行,监听是否有定位终端连接请求;终端接收模块(1-1)由用户线程和内核线程组成,当定位终端调用connect()函数与终端接收模块(1-1)连接时,用户线程调用select()函数,整个终端接收模块(1-1)被阻塞,同时,内核线程监听select()函数挂载的socket连接,当socket中的数据准备就绪,select()函数返回;用户线程调用read()函数,将报文信息从内核线程拷贝到用户线程,业务线程模块(1-2)从用户线程将报文信息读取;

2.系统流量负载均衡;业务线程模块(1-2)将读取到的报文信息发送到策略选择模块(2-1),前台数据发送模块(2-2)根据策略选择模块(2-1)手动配置的负载策略,将报文信息发送到前台数据接收模块(3-1);

3.将终端信息解码并按照协议解析;首先由报文转码模块(3-2)将定位终端信息解码,使其统一变为可见ASCII码,然后由报文数据解析模块(3-3)将定位终端发送的数据按照协议转化为系统约定的JSON格式,最后将统一的JSON格式数据由控制转发模块(3-4)发送到后台数据接收模块(4-1);

4.将终端信息存入数据库;首先后台数据接收模块(4-1)接收控制转发模块(3-4)发送的JSON数据,然后数据库连接选择模块(4-3)选择数据库连接池模块(4-2)中空闲的数据库连接,并把此连接分配给数据入库模块(4-4),最后数据入库模块(4-4)与数据库接入代理模块(5-1)建立连接,将终端信息写入数据库模块(5)。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学常州研究院;公安部第三研究所,未经东南大学常州研究院;公安部第三研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710027612.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top