《GPS数据的存储和查询方法.pdf》由会员分享,可在线阅读,更多相关《GPS数据的存储和查询方法.pdf(10页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102306194 A (43)申请公布日 2012.01.04 CN 102306194 A *CN102306194A* (21)申请号 201110265408.8 (22)申请日 2011.09.08 G06F 17/30(2006.01) (71)申请人 北京掌城科技有限公司 地址 100191 北京市海淀区学院路 39 号唯 实大厦 9 层 (72)发明人 李帅 郭胜敏 张高峰 (74)专利代理机构 北京市德权律师事务所 11302 代理人 马苗苗 (54) 发明名称 GPS 数据的存储和查询方法 (57) 摘要 本发明公开了一种 GPS 数据的存储和查询。
2、方 法, 属于智能交通领域。所述存储方法包括 : 以 车辆为索引建立 GPS 二进制存储文件, 将接收到 的 GPS 数据实时存储到 GPS 二进制存储文件中。 所述查询方法包括 : 获取 GPS 二进制存储文件的 索引的访问入口位置, 根据访问入口位置遍历所 述索引查询所需车辆在特定时间的 GPS 数据并读 取。本发明通过良好定义的 GPS 数据存储结构, 在 GPS 数据存储时记录存储的索引位置, 能够方 便的定位索引入口位置和查询读取车辆信息, 从 而可以快速的根据索引查询出任意时间段内的车 辆信息。 本发明通过对GPS数据进行二进制存储, 在编码的过程中, 严格定义每一个 GPS 二进。
3、制存 储文件字段的长度, 节省了存储空间。 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 4 页 附图 3 页 CN 102306201 A1/2 页 2 1. 一种 GPS 数据的存储方法, 其特征在于, 包括 : 以车辆为索引建立 GPS 二进制存储文件, 将接收到的 GPS 数据实时存储到所述 GPS 二 进制存储文件中。 2.根据权利要求1所述的GPS数据的存储方法, 其特征在于, 所述GPS二进制存储文件 包括 : 文件头、 数据存储实体和索引 ; 其中, 所述文件头保存 GPS 数据的统计信息和索引的访问入口位置 ;。
4、 所述数据存储实体保存 GPS 数据 ; 所述索引分两级, 分别为车辆索引和数据存储实体位置索引, 每一条数据存储实体位 置索引保存单一车辆在单位时间内的 GPS 数据的存储位置, 每一条车辆索引保存单一车辆 在数据存储实体位置索引中的访问入口位置。 3.根据权利要求2所述的GPS数据的存储方法, 其特征在于, 所述两级索引保存在连续 的地址空间中, 所述数据存储实体之间用 “#” 分隔符分隔。 4.根据权利要求2或3所述的GPS数据的存储方法, 其特征在于, 所述以车辆为索引建 立 GPS 二进制存储文件具体包括 : 在内存中建立 GPS 二进制存储文件的文件头和临时索引, 并建立单位时间内。
5、的 GPS 数 据的缓冲区。 5.根据权利要求4所述的GPS数据的存储方法, 其特征在于, 所述将接收到的GPS数据 实时存储到所述 GPS 二进制存储文件中具体包括 : 接收 GPS 数据, 存储到所述 GPS 数据的缓冲区中 ; 当单位时间的 GPS 数据接收完成, 按照预设的编码规则对所述单位时间的 GPS 数据进 行二进制编码, 形成一个 GPS 数据存储实体, 写入到所述 GPS 二进制存储文件中, 并记录文 件指针的位置 ; 将所述文件指针的位置记入到所述GPS数据存储实体在所述GPS二进制存储文件的临 时索引中。 6. 根据权利要求 5 所述的 GPS 数据的存储方法, 其特征在。
6、于, 所述方法还包括 : 当一天的 GPS 数据存储结束, 根据所述 GPS 二进制存储文件中全部 GPS 数据存储实体 的临时索引, 生成车辆索引和数据存储实体位置索引, 写入到所述 GPS 二进制存储文件末 尾的索引中 ; 同时将 GPS 数据的统计信息和索引在所述 GPS 二进制存储文件中的访问入口 位置写入到所述文件头中。 7. 根据权利要求 6 所述的 GPS 数据的存储方法, 其特征在于, 所述方法还包括 : 将每一天的 GPS 二进制存储文件存储到外部存储器中, 所述 GPS 二进制存储文件中包 括文件存储的时间。 8. 一种基于权利要求 1 所述存储方法的 GPS 数据的查询方。
7、法, 其特征在于, 包括 : 获取 GPS 二进制存储文件的索引的访问入口位置, 根据所述访问入口位置遍历所述索 引查询所需车辆在特定时间的 GPS 数据并读取。 9. 根据权利要求 8 所述的查询方法, 其特征在于, 所述获取索引的访问入口位置具体 包括 : 读取 GPS 二进制存储文件的文件头, 从所述文件头中获取到索引的访问入口位置。 权 利 要 求 书 CN 102306194 A CN 102306201 A2/2 页 3 10. 根据权利要求 8 或 9 所述的查询方法, 其特征在于, 所述遍历所述索引查询所需车 辆在特定时间的 GPS 数据具体包括 : 遍历车辆索引, 找到所需车。
8、辆在数据存储实体位置索引中的访问入口位置 ; 遍历数据存储实体位置索引, 找到所需车辆在给定查询时间的 GPS 数据存储实体的存 储位置。 权 利 要 求 书 CN 102306194 A CN 102306201 A1/4 页 4 GPS 数据的存储和查询方法 技术领域 0001 本发明涉及智能交通领域, 特别是一种 GPS 数据的存储和查询方法。 背景技术 0002 在智能交通领域, 实时动态交通信息服务能够为公众出行、 交通运输等提供高效 可行的交通诱导和出行规划信息, 从而达到节省时间、 降低成本和低碳环保等目的。目前, 浮动车 (Floating Car Data, 简称FCD) 技。
9、术是智能交通系统中获取动态交通信息的最重要 的技术手段之一。其基本原理是 : 基于装备车载全球定位系统 (GPS) 的车辆, 收集在车辆行 驶过程中定期记录的位置信息, 采用包括地图匹配、 行车路线推测和道路交通拥堵信息计 算等相关的计算模型和算法进行处理, 从而使浮动车数据和城市道路在时间和空间上关联 起来, 最终得到浮动车所经过道路的车辆行驶速度以及道路的行车旅行时间等交通拥堵信 息。 0003 装载GPS的车辆在行驶过程中所记录的车辆位置相关信息, 包括车辆的GPS时间、 经纬度位置坐标、 瞬时速度、 行驶方向和运动状态等内容, 是浮动车最重要的原始输入数 据, 在实时上传给浮动车处理系。
10、统的同时, 还需要被实时存储和记录下来。同时, GPS 原始 数据也是浮动车系统分析和改进的重要数据依据。 根据浮动车的计算原理, 地图匹配、 行车 路线推测等运算都是基于车辆为单位进行的, 因此, 往往需要从所存储的 GPS 原始数据中 提取出特定车辆在特定时间段内的 GPS 数据, 用以还原和再现计算过程, 做系统分析和改 进之用。因此, 对海量 GPS 数据的存储、 查询是浮动车技术中一个重要的技术研究和实践应 用方向。 0004 目前的 GPS 数据采用文本方式存储, 即在数据接收的过程中同时将数据写入到文 本文件中, 接收的顺序即为 GPS 数据在文本内存储的顺序。而当需要提取特定车。
11、辆的 GPS 数据时, 则需要遍历整个文本文件, 从中提取出需要的数据内容。 这种通过文本的方式存储 GPS 数据, 其占用的磁盘空间大 ; 而且, 在读取特定车辆特定时段的 GPS 数据时, 需要从头到 尾遍历文本文件, 查询效率低下。 发明内容 0005 有鉴于此, 本发明的目的在于提供一种 GPS 数据的存储和查询方法, 用于减小 GPS 数据存储占用的磁盘空间, 并提高查询效率。 0006 本发明提供了一种 GPS 数据的存储方法, 包括 : 以车辆为索引建立 GPS 二进制存储文件, 将接收到的 GPS 数据实时存储到所述 GPS 二 进制存储文件中。 0007 本发明还提供了一种 。
12、GPS 数据的查询方法, 包括 : 获取 GPS 二进制存储文件的索引的访问入口位置, 根据所述访问入口位置遍历所述索 引查询所需车辆在特定时间的 GPS 数据并读取。 0008 本发明针对 GPS 数据的文本方式存储占用空间大、 查询效率低的问题, 提出了一 说 明 书 CN 102306194 A CN 102306201 A2/4 页 5 种以GPS数据二进制结构化方式存储和查询的方法, 通过良好定义的GPS数据存储结构, 在 GPS 数据存储时记录存储的索引位置, 能够方便的定位索引入口位置和查询读取车辆信息, 从而可以快速的根据索引查询出任意时间段内的车辆信息。本发明通过对 GPS 。
13、数据进行二 进制存储, 在编码的过程中, 严格定义每一个 GPS 二进制存储文件字段的长度, 可以节省存 储空间。 附图说明 0009 图 1 为本发明实施例提供的 GPS 数据存储和查询系统的示意图 ; 图 2 为本发明实施例提供的 GPS 数据的二进制结构化存储结构示意图 ; 图 3 为本发明实施例提供的对 GPS 数据进行存储的方法流程图 ; 图 4 为本发明实施例提供的对 GPS 数据进行查询的方法流程图。 具体实施方式 0010 为使本发明的目的、 技术方案和优点更加清楚, 下面结合附图对本发明作进一步 的详细描述。 0011 本发明实施例针对 GPS 数据的文本方式存储占用空间大、。
14、 查询效率低的问题, 提 出了一种以 GPS 数据二进制结构化方式存储和查询的方法, 通过良好定义的 GPS 数据存储 结构, 并根据实际应用中对 GPS 数据进行查询的需求, 对 GPS 数据的存储入口位置建立索 引, 以此高效地解决了对 GPS 数据进行存储和查询的问题。 0012 如图1所示, 本发明实施例将从GPS接收系统中接收到的GPS数据通过GPS数据存 储接口实时存储到 GPS 二进制存储文件中, 该 GPS 二进制存储文件以车辆为索引进行结构 化存储, 通过 GPS 数据查询接口可以在线性时间内获取到特定车辆在特定时间段内的 GPS 数据。 0013 本发明实施例提供了如图 2。
15、 所示的 GPS 数据的二进制结构化存储结构。 0014 在图 2 中, GPS 二进制存储文件保存在内存中, 并以天为存储单位, 即每天接收到 的 GPS 数据保存在一个 GPS 二进制存储文件中。 0015 该 GPS 二进制存储文件分为文件头、 数据存储实体和索引三部分 (图 2 中 1 所 示) 。其中文件头存储该 GPS 二进制存储文件中 GPS 数据的统计信息和索引在存储器中的 访问入口位置, 统计信息包括一天读取的 GPS 数据记录的条数、 读取的车辆数, 以及异常的 车辆数、 重复的记录数、 异常记录数等需要统计的信息 ; 数据存储实体存储 GPS 数据 ; 索引 分两级, 每。
16、一条数据存储实体位置索引存储单一车辆在单位时间内的 GPS 数据实体的存储 位置, 每一条车辆索引存储单一车辆在数据存储实体位置索引中的访问入口位置。两级索 引都保存在连续的地址空间中, 如图 2 中 3 所示。 0016 当进行查询时, 如果想查询某车辆在某时间段内的 GPS 数据, 则首先在索引在存 储器中的访问入口位置后遍历车辆索引, 查询该车辆对应的数据存储实体位置索引的访问 入口位置 ; 然后在该入口位置后遍历该车辆的数据存储实体位置索引数据, 获取该时间段 内的一个或多个单位时间内数据存储实体的访问位置, 从而获取到需要的数据。所谓单位 时间的数据存储实体, 是指以5分钟为单位, 。
17、每条数据存储实体记录保存单一车辆的5分钟 GPS 数据。之所以要以 5 分钟数据为存储单位, 原因是 FCD 计算是以 5 分钟为时间间隔的, 说 明 书 CN 102306194 A CN 102306201 A3/4 页 6 即缓冲 5 分钟的 GPS 数据, 计算一次路况信息, 所以在存储的时候, 就以 5 分钟作为一个间 隔。 0017 由于定义了两级索引, 可以根据文件指针移位很快地定位和读取所需要的任意车 辆和任意时间段内 GPS 数据的信息。 0018 在以上 GPS 数据的二进制结构化存储结构的基础上, 本发明实施例提供了对 GPS 数据进行存储的方法, 如图 3 所示, 包括。
18、 : 步骤 301、 建立 GPS 二进制存储文件。在内存中建立 GPS 二进制存储文件的文件头、 索 引, 并建立单位时间内的 GPS 数据的缓冲区。由于在存储 GPS 数据时, 是以 5 分钟的 GPS 数 据作为一个存储单位, 所以在接收到一个存储单位的 GPS 数据前要先保存在缓冲区中。由 于 GPS 二进制存储文件的每个字段占用几个字节是提前定义并严格执行的, 这样可以先在 内存中开辟保存文件头和索引的区域, 将文件头和索引在 GPS 二进制存储文件中空出来, 等统计信息和索引完成之后, 再写到相应的位置就可以了。 0019 步骤 302、 接收 GPS 数据, 先存储到内存的缓冲中。
19、。 0020 步骤 303、 当一个存储周期结束 (即单位时间的 GPS 数据接收完成) , 按照预设的编 码规则对缓冲的 GPS 数据进行二进制编码, 形成一个 GPS 数据存储实体, 写入到 GPS 二进制 存储文件中, 并记录文件指针的位置。该文件指针为该 GPS 数据存储实体保存的位置信息。 所述编码规则是指将文本文件转化成二进制文件时, 可以根据文本的内容去规定每个字段 所用的字节数甚至是比特数, 以及做一些更复杂的转换和变形, 以充分的利用二进制每个 字节的空间。因此, 在编码的过程中, 严格定义每一个 GPS 二进制存储文件字段的长度, 可 以节省存储空间。 0021 每一个数据。
20、存储实体之间用 “#” 分隔符分隔。这是因为在使用二进制文件存储数 据时存在一个缺点, 即文件损坏后, 会造成该文件数据不能有效读出。 而在对数据存储实体 进行分隔后, 即使写文件过程中出错, 造成索引信息没有记录到 GPS 二进制存储文件内, 仍 旧可以通过良好定义的数据结构和字段长度, 通过遍历将数据存储实体读出。例如, 在 GPS 二进制存储文件损坏的情况下, 可以通过读取#来分隔GPS数据存储实体内容, 从而通过遍 历来将 GPS 数据内容还原出来。 0022 步骤304、 将文件指针的位置记入到该GPS数据存储实体的索引中。 该索引记录了 该 GPS 数据存储实体的车辆索引和数据存储。
21、实体位置索引。由于在步骤 301 中已开辟了存 储索引的内存区域, 所以本步骤将在这个索引区域建立一个临时的索引, 待5分钟的GPS数 据写到二进制文件后, 其文件指针位置写到内存临时索引中。等一天的 GPS 数据都写到二 进制文件中了, 那么内存临时索引就可以写到当天的 GPS 二进制存储文件的末尾了, 同时 将索引在 GPS 二进制存储文件中的指针写入到文件头中。 0023 步骤 305、 当一天的 GPS 数据存储结束, 将全部 GPS 数据存储实体的索引信息写入 到 GPS 二进制存储文件末尾的索引中。根据步骤 304 中记录的该 GPS 二进制存储文件中所 有数据存储实体的存储位置信。
22、息, 生成车辆索引和数据存储实体位置索引, 写入到文件末 尾的索引中, 即图 2 的 3 中 ; 同时将 GPS 数据的统计信息和索引在 GPS 二进制存储文件中 的指针写入到文件头中。 0024 每一天接收到的 GPS 数据会以一个 GPS 二进制存储文件的方式保存, 并存储到外 部存储器中长期保存。在查询的时候, 根据欲查询的 GPS 数据的时间就知道其存储在哪个 说 明 书 CN 102306194 A CN 102306201 A4/4 页 7 GPS 二进制存储文件中了。例如, 2011 年 8 月 15 日的 GPS 数据存储成 GPS 二进制存储文件 是 GPS_20110815。
23、.data, 所有 8 月 15 日的 GPS 数据都可以在这个文件中查到。 0025 在以上 GPS 数据的二进制结构化存储结构的基础上, 本发明实施例还提供了对 GPS 数据进行查询的方法, 如图 4 所示, 以图 2 中的车辆 C 为例说明, 包括 : 步骤 401、 读取文件头, 从文件头中获取到索引的访问入口位置 (图 2 中 1 所示) 。 0026 步骤 402、 遍历车辆索引, 找到车辆 C 在数据存储实体位置索引中的访问入口位置 (图 2 中 3 所示) 。 0027 步骤 403、 遍历车辆 C 的数据存储实体位置索引, 找到车辆 C 在给定查询时间段内 的数据实体的存储位。
24、置。由于车辆 C 在不同时间段内的存储位置索引是连续存储的, 从而 提高了查询的效率 (图 2 中 4 所示) 。 0028 步骤 404、 在相应存储位置读取 C 车辆的 GPS 数据, 返回。 0029 本发明实施例对 GPS 数据存储, 并记录存储的索引位置, 能够方便的定位索引入 口位置和查询读取车辆信息, 从而可以快速的根据索引查询出任意时间段内的车辆信息。 0030 本发明实施例还通过二进制存储 GPS 数据的方法, 来降低存储空间。与文本文件 相比, 文本文件是基于字符编码的文件, 常见的编码有 ASCII 编码, UNICODE 编码等等, 文本 文件基本上是定长编码, 基于字。
25、符, 每个字符在具体编码中是固定的, ASCII 码是 8 个比特 的编码UNICODE占16个比特 ; 而二进制文件是基于值编码的文件, 其可看成是变长编码的, 多少个比特代表一个值, 完全由自己决定。因此, 相比文本文件, 二进制文件更小。 0031 总之, 以上所述仅为本发明的较佳实施例而已, 并非用于限定本发明的保护范围。 说 明 书 CN 102306194 A CN 102306201 A1/3 页 8 图 1 说 明 书 附 图 CN 102306194 A CN 102306201 A2/3 页 9 图 2 说 明 书 附 图 CN 102306194 A CN 102306201 A3/3 页 10 图 3 图 4 说 明 书 附 图 CN 102306194 A 。