`
lvjun106
  • 浏览: 437898 次
  • 性别: Icon_minigender_1
  • 来自: 芜湖
社区版块
存档分类
最新评论

基于时序数据库的GPS处理方案

 
阅读更多

 

 

1       概述

              运动中的GPS数据是典型的时序数据,是由设备在一段时间内连续间隔一定时间生成GPS坐标信息。少量设备的GPS信息处理可以用简单的算法处理,但对于成千上万的设备,就需要考虑算法的执行效率。特别是针对大量用于查询的情况下,例如公交车查询、物流查询等。

 

        时序数据库解决了大量用户更新GPS和查询GPS的性能问题,特别是在附近点查询和最近设备的查询方面能够实现非常高效的性能,并且具有高效的截面数据查询,能够瞬时恢复某一时刻的整体场景。一般时序数据库支持的大量数据的插入与高效的单点查询,本时序数据库同样具有。

 

对于GPS时序数据的处理选择时序数据库,能够使得普通的服务器承受住大量用户对GPS查询的需求,有效降低运营成本。

 

 

 

 

1.1性能需求

 

GPS处理性能的具体需求如下:

 

项目

 

要求

 

实时数据插入

 

10万个数据源间隔1秒提交

 

实时查询

 

点信息查询

 

10万事件每秒

 

附近点查询

 

10万事件每秒(返回20个数据)

 

最近的N个点a

 

10万事件每秒,N < 20

 

轨迹查询

 

100事件每秒

 

历史附件点查询

 

10事件每秒

 

 

 

插入与查询效率不能受到数据量增加的影响。

 

(该性能目前已经验证通过)

 

1.2接口要求

一条记录所包含的字段可以配置,不同字段可以选择不同的数据类型,并且可以选择不同的索引。

 

常见的索引如:数组索引、哈希索引、平衡二叉树索引、快速全球索引必须支持。

 

更新数据和查询数据支持简单的sql语句,并支持insert和delete Sql语句进行设备的增加删除。

 

 

 

 

 

 

 

 

2       程序主体结构

2.1模块关系

如下模块间的整体关系图:

 

 

 

 

 

图2 模块间的整体关系图

 

时序数据库为数据核心,支撑与之关联的所有服务器。前端设备和用户与对应的服务器交互。每个服务器都可以处理前端GPS设备和用户的请求。

 

 

 

 

2.1时序图

 GPS设备、服务器与时序数据库的时序图

 

 

 

说明:

 

随机数由客户端随机生成,用于与数据的密码加密使用,生成鉴权值。具体使用参考鉴权值计算方法。

 

设备的登录需要告知给数据库,在数据库中插入一个设备ID;退出时告知数据删除设备ID。

 

 

 

 

用户、服务器与时序数据库的时序图

 

 

 

用户的登录与退出由服务器直接处理,一般用户对于数据库只有查询功能。

 

 

 

 

 

 

3        服务器设计

服务器的模块划分如下:

 

 

 

最底层为通讯层,负责与前端用户、设备或者后端数据库进行实际数据传输。通信层接收到数据后,放入协议解析层的队列中。

 

协议解析层负责解析收到的数据,组包拆包,判断数据合法性,数据加密解密都在这一层。经过协议解析层的数据,对内是明文可用的,对外是按照格式封装的。解析后的数据放入消息派发层的队列中。

 

消息派发将解析到数据发送到对应的模块中处理。

 

用户管理模块管理用户操作,权限验证等,用户的操作只有查询GPS相关信息与数据库关联。

 

设备管理模块主要是对设备的管理,如设备登录、退出、提交GPS数据,这些操作都需要和后台的数据库关联。

 

 

 

 

 

 

 

 

 

 

 

 

一            附录

1            命令执行结果代码

代码

 

说明

 

2xx

 

这类状态代码表明服务器成功地接受了客户端请求。

 

200

 

命令执行OK

 

 

 

 

 

4xx

 

发生错误,客户端似乎有问题。

 

401

 

登录失败,用户名密码错误

 

402

 

没有sessionId

 

403

 

权限受限

 

404

 

命令不存在

 

405

 

命令参数错误

 

 

 

 

 

5xx

 

服务器由于遇到错误而不能完成该请求

 

501

 

服务器忙,无法处理

 

 

 

 

 

 

 

 

 

 

2            鉴权值计算算法

鉴权值 = MD5(MD5(密码)^随机数)

 

首先:将用户输入的密码执行MD5算法,得到密文md5Pwd

 

然后:md5Pwd与随机数执行异或,具体异或方式如下:

 

随机数 ^ 密码代码如下:

 

Char rand[4];//四字节随机数

 

 

 

For(int i=0;strlen( md5Pwd );i++)

 

{

 

      md5Pwd[i]  = md5Pwd[i]^rand[i%4];

 

}

 

异或得到的值randMd5Pwd。

 

最后:得到的randMd5Pwd再次执行MD5,最终得到鉴权值。

 

分享到:
评论

相关推荐

    本科毕业论文-—基于andriod的gps轨迹记录软件设计.doc

    "基于 Android 的 GPS 轨迹记录软件设计" 本资源摘要信息旨在对基于 Android 的 GPS 轨迹记录软件设计进行详细的总结和分析。本设计的主要目标是开发一款基于 Android 的 GPS 轨迹记录软件,旨在提供实时定位、轨迹...

    大学毕业论文-—基于andriod的gps轨迹记录软件设计.doc

    本资源提供了基于 Android 平台的 GPS 轨迹记录软件设计的毕业论文, 涵盖了软件设计的各个方面,包括需求分析、系统设计、界面设计、数据库设计、测试等。 软件概述 本软件的主要功能包括手机实时定位、指定地点...

    基于STM32的车载物联网系统设计.pdf

    4. 4G模块:负责将采集到的质量数据和GPS数据一起发送到时序数据库; 5. 显示模块:通过LCD显示当前的质量数据。 系统的工作流程概述如下: 1. 质量传感器采集垃圾质量的模拟信号,经过放大电路放大后,通过A/D转换...

    大数据采集系统的设计与应用.docx

    - **时序数据库选择**: 基于当前主流时序数据库的特点和优势,选择合适的技术方案,如openTSDB等,以支持大规模数据存储和高效查询。 #### 四、数据类型 为了更好地管理和分析采集到的数据,系统定义了三种主要的...

    Ibm bigdata

    IBM大数据解决方案BigInsight,是IBM公司推出的大数据处理与分析产品,它基于Apache Hadoop开源框架,但增加了IBM特有的功能与优化。该解决方案的架构设计是预先定义好的,并针对IBM System x硬件进行了优化,旨在...

    大数据背景下的智能交通系统应用与平台构建 (2).pdf

    3. **智能决策支持**:基于大数据的智能交通系统能够自动化处理交通管理问题,如自动调整信号灯时序、规划最优行驶路线、实时报警交通事故等,提高交通效率。 4. **安全提升**:通过分析历史事故数据,大数据可以...

    一种新型通信控制器的实现 (2002年)

    为了满足这些需求,车辆定位系统通常依赖于全球定位系统(GPS)与地理信息系统(GIS)的紧密结合,以及高效的数据处理和通信手段。 在车辆定位系统的一般组成中,关键的技术要素包括GPS接收机、主控中心设备、移动...

    交通大数据驱动的新型出行服务.pptx

    - **NoSQL数据库应用**:通过NoSQL数据库的灵活性来存储大规模的、半结构化或非结构化的交通数据,便于快速查询和分析。 - **数据治理与安全保障**:建立数据治理框架,确保数据收集、存储、使用和共享过程中的安全...

    2023年通信专业实务试题初级精选.doc

    15. 帧中继是基于分组交换的技术,采用了记录复用,适合突发性数据业务。 16. ATM(异步传输模式)采用固定长度的信元进行传输,信元有4种类型,适用于宽带ISDN(B-ISDN)。 17. ATM交换机分为接入交换机和节点...

Global site tag (gtag.js) - Google Analytics