CN104504103B - 一种车辆轨迹点插入性能优化方法及系统、信息采集器、数据库模型 - Google Patents
一种车辆轨迹点插入性能优化方法及系统、信息采集器、数据库模型 Download PDFInfo
- Publication number
- CN104504103B CN104504103B CN201410840774.5A CN201410840774A CN104504103B CN 104504103 B CN104504103 B CN 104504103B CN 201410840774 A CN201410840774 A CN 201410840774A CN 104504103 B CN104504103 B CN 104504103B
- Authority
- CN
- China
- Prior art keywords
- queue
- database
- data
- tracing point
- performance optimization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供了一种车辆轨迹点插入性能优化方法及系统、信息采集器、数据库模型,所述方法包括以下步骤:步骤a,信息采集模块初始化,使用数据库队列1作为当前数据库队列;步骤b,车辆上报轨迹点,所述信息采集模块将所述轨迹点缓存在内存队列中;步骤c,所述内存队列中的数据定期刷新至当前数据库队列中;步骤d,当前数据库队列中的数据定期刷新至轨迹点数据表中;步骤e,使用数据库队列2作为当前数据库队列,执行步骤b、c、d。其中,轨迹点进行短暂积累后进行批量处理。本方案综合批量处理、多级队列、数据分区、多线程几项技术,以最大性能支持轨迹点的采集和存储,解决了轨迹点并发插入时系统性能过低的问题。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种车辆轨迹点插入性能优化方法及系统、信息采集器、数据库模型。
背景技术
车务通业务是使用支持卫星定位、基站定位的手持终端(含手机)或安装在车辆上的车载终端,基于中国移动通信网络,面向集团客户提供的车辆/人员位置监控与调度服务。车务通系统所采集的车辆轨迹点除了包含某辆车在某一时刻的经纬度信息之外,还能够记录该车行驶的方向、里程、速度、油量、引擎等信息。轨迹点是车辆位置应用的基础,在综合分析轨迹点相关参数的基础上,能够形成实时定位、轨迹回放、区域报警、超速报警等众多应用,具有广泛的应用价值。轨迹点要求采集时间精度高,时间间隔越小,越能精确还原车辆行驶轨迹,车务通系统当前采用每辆车每隔30秒上报一个轨迹点,每辆车一天将产生2*60*24=2880个轨迹点。随着客户车辆的增加,车务通系统将承担越来越繁重的轨迹点采集、存储、分析的工作。轨迹点是来源于车辆的直接事实数据,原则上不允许修改,系统将以轨迹点数据为基础,开展各项数据统计工作。据此分析,对轨迹点数据的应用特点是一次写入,多次读取。轨迹点数据以优化读取效率为主,存储采用Oracle单数据表的设计,所有数据存储于一张大表中,并在常用检索字段(如:设备号、时间)加上索引。位置采集系统直接将采集的轨迹点插入数据表中。单一表的设计使得程序开发简洁,查询性能也很高。
车辆每隔30秒上报一次轨迹点,轨迹点的采集要求很高的数据库插入性能。但实测发现,上述方案最多只能支持到同时采集两千台车辆,插入性能远不足以支撑大量业务的运行。
经测试分析发现,影响数据库插入性能主要有如下几个因素:
1.数据库远程调用过于频繁
采集系统每接收到一个轨迹点便会立即插入数据库,导致数据库忙于任务调度,调试时间大于实际执行插入操作的时间,运行效率降低。采集的车辆越多,时间差越大,导致这种现象被放大,严重制约了数据库性能的发挥。
2.索引的建立过程效率较低
在插入每个轨迹点的同时,数据库会自动为其生成索引,以便加快检索性能。与问题1类似,为每一个轨迹点生成一次索引,索引的生成同样花费了较多时间,造成其执行效率较低。
现有技术中,申请号为CN201310016209.2号专利公开了一种数据批量处理的方法和装置,包括:接收多个用户请求数据并确定与所述多个用户请求数据相关的一个或多个数据汇总模板;在所述一个或多个数据汇总模板的每一个中设置汇总维度和设置可执行时刻;以及当多个所述汇总维度相同时,批量处理所述多个用户请求数据。其提出了一种标准化的数据批量处理的系统结构,包含一套数据批量处理的标准化语义,通过配置不同参数和调用数据汇总插件,实现各种业务类型的数据批量处理,其提高了数据批量处理的效率。
申请号为CN201180049741.3号专利公开了一种用于多级处理的方法、系统和设备,其包括上级处理器,该上级处理器用于控制使用共享数据和进入关键区段的权限并且以处理器速度直接将该权限签发至多个下级处理器中的每一个。在一个实施例中,下级并行处理器的指令寄存器被映射至上级处理器的数据存储器。另一个实施例包括3个级的处理器。该方法包括将下级处理器的指令映射至上级处理器的存储器中并且控制下级处理器的操作。该方法和设备的一种变形有助于执行单指令多数据以及单到多指令和多数据。处理器包括延长时钟频率以降低功耗的能力。
申请号为CN201380008187.3号专利公开了一种多线程化分组处理,其公开了一种用于并行处理对顺序敏感的数据分组的系统。来自多个依次排序的数据分组的第一数据分组被引向第一分流引擎。来自多个依次排序的数据分组的第二数据分组被引向第二分流引擎,其中第二数据分组依次跟随第一数据分组。第二分流引擎从第一分流引擎接收信息,其中该信息反映第一分流引擎正在处理第一数据分组。基于在第二分流引擎接收的信息,第二分流引擎处理第二数据分组,从而在第一分流引擎对第一数据分组的处理中的关键事件在第二分流引擎对第二数据分组的处理中的关键事件之前出现。
申请号为CN201310226045.6号专利公开了一种数据分区方法和装置,该方法包括:根据接收到的混合负载和数据库的结构信息,确定元组关系信息;根据所述混合负载是否可并行执行的特性以及所述元组关系信息,确定元组分裂代价信息;根据所述元组分裂代价信息获取多个分区方案,并确定各分区方案中总代价值最小的分区方案作为最优分区方案,以对所述数据库存储的数据进行分区处理。该数据分区方法和装置根据混合负载是否可并行执行的特性,将数据库中与该混合负载关联的数据进行最优分区,分区后的数据兼顾混合负载中事务型负载和分析型负载的特点,使不同负载在访问数据库系统中的数据时,都可以获得较高的访问效率,从而提升了数据库系统面向混合负载的工作性能。
上述文献仅仅单独针对批量处理、多级队列、数据分区、多线程给出了解决方案,但并不适用于车辆轨迹点插入事件,同时现有技术中也没有公开整合上述技术点的综合方案。
发明内容
针对背景技术中出现的问题,本发明提出一种轨迹点插入性能优化方法,所述方法包括以下步骤:
步骤a,信息采集模块初始化,使用数据库队列1作为当前数据库队列;
步骤b,车辆上报轨迹点,所述信息采集模块将所述轨迹点缓存在内存队列中;
步骤c,所述内存队列中的数据定期刷新至当前数据库队列中;
步骤d,当前数据库队列中的数据定期刷新至轨迹点数据表中;
步骤e,使用数据库队列2作为当前数据库队列,执行步骤b、c、d。
优选的是,所述步骤b进一步包括:车辆再次上报一个轨迹点,信息采集模块将其缓存在内存队列中。
在上述任一方案中优选的是,所述步骤c、d中根据定时器和/或阈值参数设定的数值完成所述数据的定期刷新。
在上述任一方案中优选的是,所述数据刷新为异步刷新。
在上述任一方案中优选的是,完成所述定期刷新后,使用truncate语句清空队列。
在上述任一方案中优选的是,所述阈值参数包括队列长度。
在上述任一方案中优选的是,所述方法使用大容量数据拷贝接口完成轨迹点数据批量插入。
在上述任一方案中优选的是,所述方法无需为轨迹点数据建立索引。
在上述任一方案中优选的是,所述方法进一步优化为先使用大容量数据拷贝接口批量插入到一个无索引数据表中,再由无索引数据表批量复制到有索引数据表中。
在上述任一方案中优选的是,所述数据库队列数量至少为2。
在上述任一方案中优选的是,所述轨迹点进行短暂积累后进行批量处理。
本发明还提供了一种轨迹点插入性能优化系统,所述系统包括以下模块:
信息采集模块,用于初始化时加载数据库队列,以及缓存车辆上报的轨迹点至内存队列中;
内存数据刷新模块,用于定期刷新内存中数据至到当前数据库队列中;
数据库数据刷新模块,用于定期刷新数据库数据至轨迹点数据表中,所述数据库队列包括数据库队列1和数据库队列2,所述内存数据刷新模块和数据库数据刷新模块根据定时器和/或阈值参数设定的数值完成定期刷新,所述数据库队列1和数据库队列2交替使用。
优选的是,所述数据库数据刷新模块进一步用于通过使用truncate语句清空数据队列。
在上述任一方案中优选的是,所述阈值参数包括队列长度。
在上述任一方案中优选的是,所述系统使用大容量数据拷贝接口完成轨迹点数据批量插入。
在上述任一方案中优选的是,所述系统无需为轨迹点数据建立索引。
在上述任一方案中优选的是,所述系统进一步优化为先使用大容量数据拷贝接口批量插入到一个无索引数据表中,再由无索引数据表批量复制到有索引数据表中。
在上述任一方案中优选的是,所述数据库队列数量至少为2。
在上述任一方案中优选的是,所述系统采用异步处理机制,在系统等待时执行其它任务。
在上述任一方案中优选的是,所述轨迹点进行短暂积累后进行批量处理。
一种数据库模型,用于车辆轨迹点插入,所述数据库中的数据库队列至少包括数据库队列1、数据库队列2,所述数据库队列接收内存队列发送的数据,并将所述数据定期复制到数据表中。
优选的是,所述数据库队列1和数据库队列2交替使用,完成轨迹点数据的插入。
一种信息采集器,用于车辆轨迹点插入,所述信息采集器选择数据库队列,将车辆轨迹点缓存至所述选择的队列中。
优选的是,所述选择的数据库队列至少包括数据库队列1和数据库队列2。
本发明提供的技术方案通过深入研究Oracle数据库的执行方式,综合批量处理、多级队列、数据分区、多线程几项技术,总结出一套快速插入Oracle数据库的方法及系统,解决了轨迹点并发插入性能低的问题。经8万设备压力测试,轨迹点插入迅速,CPU及磁盘IO负载很低,系统运行稳定,完全不影响Web报表等各项应用功能的正常使用。
附图说明
图1是按照本发明轨迹点插入性能优化方法一优选实施例的流程图。
图2是按照本发明轨迹点插入性能优化方法另一优选实施例的示意图。
具体实施方式
下面参照附图结合示例性的实施例对本发明进行详细描述。
实施例1:
如图1所示的轨迹点插入性能优化方法,包括以下步骤:
步骤a,信息采集模块初始化,使用数据库队列1作为当前数据库队列;
步骤b,车辆上报轨迹点,所述信息采集模块将所述轨迹点缓存在内存队列中;
步骤c,所述内存队列中的数据定期刷新至当前数据库队列中;
步骤d,当前数据库队列中的数据定期刷新至轨迹点数据表中;
步骤e,使用数据库队列2作为当前数据库队列,执行步骤b、c、d。
所述步骤b进一步包括:车辆再次上报一个轨迹点,信息采集模块将其缓存在内存队列中。所述步骤c、d中根据定时器和/或阈值参数设定的数值完成所述数据的定期刷新。
本方案综合批量处理、多级队列、数据分区、多线程几项技术,以最大性能支持轨迹点的采集和存储,解决了轨迹点并发插入时系统性能过低的问题。
实施例2:
如图2所示,本实施例公开了一种轨迹点插入性能优化方法,所述方法包括以下步骤:
步骤1,信息采集模块初始化,使用数据库队列1作为当前数据库队列;
步骤2,车辆上报一个轨迹点,信息采集模块将其缓存在内存队列中;
步骤3,车辆再次上报一个轨迹点,信息采集模块将其缓存在内存队列中;
步骤4,根据定时器和/或阈值参数设定的数值,内存队列中的数据定期被异步刷新到当前数据库队列(队列1)中;
步骤5,车辆上报一个轨迹点,信息采集模块将其缓存在内存队列中;
步骤6,车辆再次上报一个轨迹点,采集系统将其缓存在内存队列中;
步骤7,根据定时器和/或阈值参数设定的数值,内存队列中的数据定期被异步刷新到当前数据库队列(队列1)中;
步骤8,根据定时器和/或阈值参数设定的数值,当前数据库队列(队列1)中的数据定期被异步刷新到轨迹点数据表中,并使用truncate语句清空队列1;
步骤9,使用数据库队列2作为当前数据库队列;
步骤10,车辆上报一个轨迹点,采集系统将其缓存在内存队列中;
步骤11,车辆再次上报一个轨迹点,采集系统将其缓存在内存队列中;
步骤12,根据定时器和/或阈值参数设定的数值,内存队列中的数据定期被异步刷新到当前数据库队列(队列2)中;
步骤13,根据定时器和/或阈值参数设定的数值,当前数据库队列(队列2)中的数据定期被异步刷新到轨迹点数据表中,并使用truncate语句清空队列2;
步骤14,重复步骤1至13,交替使用数据库队列1和队列2。
所述阈值参数包括队列长度。所述方法使用大容量数据拷贝接口完成轨迹点数据批量插入。所述方法无需为轨迹点数据建立索引。所述数据库队列数量至少为2。所述方法采用异步处理机制,在系统等待时执行其它任务。所述轨迹点进行短暂积累后进行批量处理。
本方案使用BulkCopy接口进行数据的批量插入,原因在于使用SQL Insert语句插入轨迹点是一个复杂而漫长的过程,通常需要执行以下几个过程:
a、客户端建立一个到数据库的TCP连接,数据库接受连接;
b、客户端发送用户身份信息,并由数据库进行验证;
c、数据库初始化Session和SQL执行环境;
d、客户端发送要执行的SQL Insert语句;
e、数据库解析SQL语句,执行相应的操作,并将结果返回客户端;
f、客户端关闭连接;
g、数据库清理相应的Session。
可见,所有步骤中只有关键步骤d和e是我们真正关心的数据库操作,但其前后的额外步骤则会消耗大量时间,严重降低了系统执行效率。如果增加步骤d和e所处理的数据量,在一次数据库连接中执行多个轨迹点插入操作,能有效提高数据库的执行效率,从而加快轨迹点插入速度。因此,本实施例使用BulkCopy编程接口,利用一次数据库连接,快速插入多条轨迹点数据,从而有效提高插入效率。
通过对该接口进行性能测试,分别批量处理1、100、1000、10000个轨迹点,每项测试执行10次,取平均执行时间。测试结果如下:
表1:BulkCopy接口性能测试结果
通过测试数据可见,在轨迹点数量很少时,BulkCopy性能提升并不明显,比SQLInsert还要慢,此时额外步骤占用了大量时间;随着轨迹点数量的增加,BulkCopy效率显著提升,在批量处理10000轨迹点的情况下,性能提升达到85倍,效果明显。
由于现有技术中,在插入每个轨迹点的同时,数据库会自动为其生成索引,以便加快检索性能。此时,为每一个轨迹点生成一次索引,索引的生成同样花费了较多时间,造成其执行效率较低。本实施例中,而本方案的实施无需建立索引,下表为有无索引信息表的性能对照:
表2:有无索引性能测试结果
有上表可知,实测表明性能提升1.5倍,并且数据量越大,性能提升越明显。
与此同时,本方案采用异步信息处理,原因在于轨迹点插入算法是一套完整处理流程,同步处理机制将每一步按顺序依次进行处理,下一步需要等待上一步完成后再执行,整体运行效率不高,而本方案利用异步处理机制,在等待的时候执行其它的任务,并且将轨迹点进行短暂积累后进行批量处理,可有效提高执行效率。本方案充分利用“批量处理”的思想,将轨迹点数据暂存在数据队列中,积累到一定数量后再批量进行操作,插入性能大幅提升。
本方案提供的技术方案通过深入研究Oracle数据库的执行方式,综合批量处理、多级队列、数据分区、多线程几项技术,总结出一套快速插入数据库的方法,解决了轨迹点并发插入性能低的问题。经8万设备压力测试,轨迹点插入迅速,CPU及磁盘IO负载很低,系统运行稳定,完全不影响Web报表等各项应用功能的正常使用。
实施例3:
与实施例2不同的是,本方案将实施例2中的方法进一步优化为先使用BulkCopy批量插入到一个无索引数据表中,再由无索引数据表批量复制到有索引数据表中。下面对数据表复制进行性能测试,采用1、100、1000、10000四组轨迹点数据,分别运行10次,并取平均执行时间。测试结果如下:
表3:数据表复制性能测试结果
从测试结果看,数据量较小时性能差距并不明显,但在10000点时性能提升达到了30倍。在数据表之间复制数据,属于数据库内部的数据交换,数据库对此类操作都有很好的优化,性能提升非常高。
结合对BulkCopy接口的测试结果,轨迹点的插入过程,转化为先使用BulkCopy批量插入到一个无索引数据表中,再由无索引数据表批量复制到有索引数据表,虽然流程变长了,但性能却得到极大提高。
实施例4:
本实施例提供了一种轨迹点插入性能优化系统,所述系统包括以下模块:
信息采集模块,用于初始化时加载数据库队列,以及缓存车辆上报的轨迹点至内存队列中;
内存数据刷新模块,用于定期异步刷新内存中数据至到当前数据库队列中;
数据库数据刷新模块,用于定期异步刷新数据库数据至轨迹点数据表中,并使用truncate语句清空数据队列,
所述数据库队列包括数据库队列1和数据库队列2,所述内存数据刷新模块和数据库数据刷新模块根据定时器和/或阈值参数设定的数值完成定期异步刷新,所述数据库队列1和数据库队列2交替使用。所述阈值参数包括队列长度。所述系统使用大容量数据拷贝接口完成轨迹点数据批量插入。所述系统无需为轨迹点数据建立索引。所述系统进一步优化为先使用大容量数据拷贝接口批量插入到一个无索引数据表中,再由无索引数据表批量复制到有索引数据表中。所述数据库队列数量至少为2。所述系统采用异步处理机制,在系统等待时执行其它任务。所述轨迹点进行短暂积累后进行批量处理。
本实施例综合批量处理、多级队列、数据分区、多线程几项技术,总结出一套快速插入数据库的系统,解决了轨迹点并发插入性能低的问题。经8万设备压力测试,轨迹点插入迅速,CPU及磁盘IO负载很低,系统运行稳定,完全不影响Web报表等各项应用功能的正常使用。
实施例5:
本实施例公开了一种数据库模型,用于车辆轨迹点插入,所述数据库中的数据库队列至少包括数据库队列1、数据库队列2,所述数据库队列接收内存队列发送的数据,并将所述数据定期复制到数据表中。所述数据库队列1和数据库队列2交替使用,完成轨迹点数据的插入。
实施例6:
本实施例公开了一种信息采集器,用于车辆轨迹点插入,所述信息采集器选择数据库队列,将车辆轨迹点缓存至所述选择的队列中。所述选择的数据库队列至少包括数据库队列1和数据库队列2。
实施例7:
本发明中在轨迹点完成优化插入后,进一步涉及到轨迹点的压缩存储方法。这种误差可控的车辆轨迹点压缩存储方法,包括接收新轨迹点、加载旧轨迹点,所述方法进一步包括对轨迹点能否合并进行判断,以及完成可合并轨迹点的合并,其中对轨迹点能否合并进行判断包括以下步骤:
遍历新旧两个轨迹点的对应指标项;
判断所述对应指标项是否相同,若指标不同则步骤结束,若指标相同则判断是否存在下一指标;
若下一指标存在,则继续遍历新旧两个轨迹点的对应指标项,若下一指标不存在,则进行轨迹点的合并,所述轨迹点的合并包括以下步骤:
申请一个轨迹点结构;
复制轨迹点所有指标值;
更新轨迹点时间覆盖范围。
所述轨迹点划分为至少一个存储域,所述指标项的同类指标内容保存在一个存储域中。所述存储域包括当前方位、行驶状态、引擎状态中至少一种。所述当前方位包括经度、纬度、海拔中至少一种。所述行驶状态包括速度、方向中至少一种。所述引擎状态包括发动机开闭、水温、油量中至少一种。所述对轨迹点能否合并进行的判断的步骤中进一步包括:针对误差判定模块进行判断。所述误差判定模块包括车辆开闭模块、位置漂移模块、速度漂移模块、方向漂移模块中至少一种。所述车辆开闭模块取轨迹点的发动机开闭指标项,若发动机开启,则轨迹点不进行压缩;若发动机关闭,则进行后续的模块判定。所述位置漂移模块取轨迹点的经度、纬度指标,若经度差、纬度差小于预设值,则认定为定位漂移,轨迹点可进行压缩,进行后续模块判定;否则轨迹点不进行压缩。所述速度漂移模块取速度指标,若速度小于预设值,则认为是速度漂移,轨迹点可进行压缩,进行后续模块判定;否则轨迹点不进行压缩。所述方向漂移模块取方向指标。所述方法使用模块化的链式结构保存判定逻辑规则,所述误差判定模块数量、顺序根据不同车辆轨迹点进行相应调整。
实施例8:
本实施例根据实施例7相应的提供给了迹点压缩存储系统,用于对轨迹点能否合并进行判断,以及完成可合并轨迹点的合并,所述系统包括:
轨迹点遍历单元,用于遍历新旧两个轨迹点的对应指标项;
轨迹点指标判断单元,用于判断所述对应指标项是否相同,若指标不同则步骤结束,若指标相同则判断是否存在下一指标,此时,若下一指标存在,则继续遍历新旧两个轨迹点的对应指标项,若下一指标不存在,则进行轨迹点的合并;
轨迹点合并单元,用于申请一个轨迹点结构,复制轨迹点所有指标值,更新轨迹点时间覆盖范围。
所述轨迹点划分为至少一个存储域,所述指标项的同类指标内容保存在一个存储域中。所述存储域包括当前方位、行驶状态、引擎状态中至少一种。所述当前方位包括经度、纬度、海拔中至少一种。所述行驶状态包括速度、方向中至少一种。所述引擎状态包括发动机开闭、水温、油量中至少一种。所述轨迹点指标判断模块进一步包括:误差判定单元,用于针对不同轨迹点进行误差判断。所述误差判定单元包括车辆开闭单元、位置漂移单元、速度漂移单元、方向漂移单元中至少一种。所述车辆开闭单元取轨迹点的发动机开闭指标项,若发动机开启,则轨迹点不进行压缩;若发动机关闭,则进行后续的单元判定。所述位置漂移单元取轨迹点的经度、纬度指标,若经度差、纬度差小于预设值,则认定为定位漂移,轨迹点可进行压缩,进行后续模块判定;否则轨迹点不进行压缩。所述速度漂移单元取速度指标,若速度小于预设值,则认为是速度漂移,轨迹点可进行压缩,进行后续模块判定;否则轨迹点不进行压缩。所述方向漂移单元取方向指标。所述系统使用单元化的链式结构保存判定逻辑规则,所述误差判定单元数量、顺序根据不同车辆轨迹点进行相应调整。
为了更好地理解本发明,以上结合具体实施例对本发明作了详细说明。但是,显然可对本发明进行不同的变型和改型而不超出权利要求限定的本发明更宽的精神和范围。因此,以上实施例具有示例性而没有限制的含义。
Claims (19)
1.一种轨迹点插入性能优化方法,所述方法包括以下步骤:
步骤a,信息采集模块初始化,使用数据库队列1作为当前数据库队列,所述数据库队列位于数据库中;
步骤b,车辆上报轨迹点,所述信息采集模块将所述轨迹点缓存在内存队列中;
步骤c,所述内存队列中的数据定期刷新至当前数据库队列中;
步骤d,当前数据库队列中的数据定期刷新至轨迹点数据表中;
步骤e,使用数据库队列2作为当前数据库队列,执行步骤b、c、d;
所述方法为先使用大容量数据拷贝接口批量插入到一个无索引数据表中,再由无索引数据表批量复制到有索引数据表中;在一次数据库连接中执行多个轨迹点插入操作。
2.根据权利要求1所述的轨迹点插入性能优化方法,其特征在于,所述步骤b进一步包括:车辆再次上报一个轨迹点,信息采集模块将其缓存在内存队列中。
3.根据权利要求1所述的轨迹点插入性能优化方法,其特征在于,所述步骤c、d中根据定时器和/或阈值参数设定的数值完成所述数据的定期刷新。
4.根据权利要求3所述的轨迹点插入性能优化方法,其特征在于,完成所述定期刷新后,使用truncate语句清空队列。
5.根据权利要求3所述的轨迹点插入性能优化方法,其特征在于,所述数据的定期刷新为异步刷新。
6.根据权利要求3所述的轨迹点插入性能优化方法,其特征在于,所述阈值参数包括队列长度。
7.根据权利要求6所述的轨迹点插入性能优化方法,其特征在于,所述方法无需为轨迹点数据建立索引。
8.根据权利要求1所述的轨迹点插入性能优化方法,其特征在于,所述数据库队列数量至少为2。
9.根据权利要求1所述的轨迹点插入性能优化方法,其特征在于,所述轨迹点进行短暂积累后进行批量处理。
10.一种轨迹点插入性能优化系统,所述系统包括以下模块:
信息采集模块,用于初始化时加载数据库队列,以及缓存车辆上报的轨迹点至内存队列中,在一次数据库连接中执行多个轨迹点插入操作,所述数据库队列位于数据库中;
内存数据刷新模块,用于定期异步刷新内存中数据至到当前数据库队列中;
数据库数据刷新模块,用于定期异步刷新数据库数据至轨迹点数据表中;
其特征在于,所述数据库队列包括数据库队列1和数据库队列2,所述内存数据刷新模块和数据库数据刷新模块根据定时器和/或阈值参数设定的数值完成定期异步刷新,所述数据库队列1和数据库队列2交替使用,所述系统为先使用大容量数据拷贝接口批量插入到一个无索引数据表中,再由无索引数据表批量复制到有索引数据表中。
11.根据权利要求10所述的轨迹点插入性能优化系统,其特征在于,所述数据库数据刷新模块进一步用于通过使用truncate语句清空数据队列。
12.根据权利要求10所述的轨迹点插入性能优化系统,其特征在于,所述阈值参数包括队列长度。
13.根据权利要求10所述的轨迹点插入性能优化系统,其特征在于,所述系统使用大容量数据拷贝接口完成轨迹点数据批量插入。
14.根据权利要求13所述的轨迹点插入性能优化系统,其特征在于,所述系统无需为轨迹点数据建立索引。
15.根据权利要求10所述的轨迹点插入性能优化系统,其特征在于,所述数据库队列数量至少为2。
16.根据权利要求10所述的轨迹点插入性能优化系统,其特征在于,所述系统采用异步处理机制,在系统等待时执行其它任务。
17.根据权利要求16所述的轨迹点插入性能优化系统,其特征在于,所述轨迹点进行短暂积累后进行批量处理。
18.一种数据库模型,用于车辆轨迹点插入,其特征在于,所述数据库模型中的数据库队列至少包括数据库队列1、数据库队列2,所述数据库队列接收内存队列发送的数据,并将所述数据定期复制到数据表中;先使用大容量数据拷贝接口批量插入到一个无索引数据表中,再由无索引数据表批量复制到有索引数据表中;在一次数据库连接中执行多个轨迹点插入操作;所述数据库队列位于数据库中。
19.根据权利要求18所述的数据库模型,其特征在于,所述数据库队列1和数据库队列2交替使用,完成轨迹点数据的插入。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410840774.5A CN104504103B (zh) | 2014-12-04 | 2014-12-30 | 一种车辆轨迹点插入性能优化方法及系统、信息采集器、数据库模型 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410727275 | 2014-12-04 | ||
CN2014107272755 | 2014-12-04 | ||
CN201410840774.5A CN104504103B (zh) | 2014-12-04 | 2014-12-30 | 一种车辆轨迹点插入性能优化方法及系统、信息采集器、数据库模型 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104504103A CN104504103A (zh) | 2015-04-08 |
CN104504103B true CN104504103B (zh) | 2018-05-15 |
Family
ID=52945501
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410842652.XA Active CN104504106B (zh) | 2014-12-04 | 2014-12-30 | 一种地图覆盖物区域渲染方法及相关设备 |
CN201410840774.5A Active CN104504103B (zh) | 2014-12-04 | 2014-12-30 | 一种车辆轨迹点插入性能优化方法及系统、信息采集器、数据库模型 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410842652.XA Active CN104504106B (zh) | 2014-12-04 | 2014-12-30 | 一种地图覆盖物区域渲染方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN104504106B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106855881B (zh) * | 2016-12-16 | 2021-01-08 | 北京奇鱼时代科技有限公司 | 一种基于移动设备的多地图切换的方法和装置 |
CN106886586B (zh) * | 2017-02-16 | 2020-01-21 | 中科宇图科技股份有限公司 | 一种基于开源项目的互联网地图应用开发平台 |
CN107875630B (zh) * | 2017-11-17 | 2020-11-24 | 杭州电魂网络科技股份有限公司 | 渲染区域确定方法及装置 |
CN110765125B (zh) * | 2018-07-25 | 2022-09-20 | 杭州海康威视数字技术股份有限公司 | 一种存储数据的方法及装置 |
CN112395375B (zh) * | 2019-08-15 | 2023-08-01 | 中移(苏州)软件技术有限公司 | 一种地图呈现方法及终端、计算机可读存储介质 |
CN111091606B (zh) * | 2020-03-23 | 2020-07-28 | 杭州有数金融信息服务有限公司 | 基于地图覆盖物渐变的解决方法 |
CN112434117B (zh) * | 2020-11-05 | 2021-07-30 | 广州和辰信息科技有限公司 | 一种基于Vue的WebGIS的可视化配置方法和系统 |
CN112863318A (zh) * | 2021-02-04 | 2021-05-28 | 北京高因科技有限公司 | 一种纸质地图中的拖拽及连线方法、电子设备、存储介质 |
WO2022198550A1 (zh) * | 2021-03-25 | 2022-09-29 | 华为技术有限公司 | 测试系统、车辆模拟装置、测试装置及测试方法 |
CN117330055B (zh) * | 2023-11-30 | 2024-05-28 | 棱镜数聚(北京)信息技术有限公司 | 一种高清地图的生成方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1643872A (zh) * | 2002-04-30 | 2005-07-20 | 思科技术公司 | 缓存流数据 |
EP2137693A1 (en) * | 2007-04-19 | 2009-12-30 | Tele Atlas B.V. | Method of and apparatus for producing road information |
CN101859298A (zh) * | 2009-04-08 | 2010-10-13 | 北京博越世纪科技有限公司 | 一项高效的数据库存储数据技术 |
CN103473540A (zh) * | 2013-09-11 | 2013-12-25 | 天津工业大学 | 智能交通系统车辆轨迹增量式建模与在线异常检测方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080148160A1 (en) * | 2006-12-19 | 2008-06-19 | Holmes Carolyn J | Bitmap based application sharing accessibility framework |
CN101771681B (zh) * | 2008-12-30 | 2012-10-03 | 北大方正集团有限公司 | 一种页面显示控制方法、服务器及系统 |
US8694603B2 (en) * | 2011-06-20 | 2014-04-08 | International Business Machines Corporation | Geospatial visualization performance improvement for contiguous polylines with similar dynamic characteristics |
CN103187003B (zh) * | 2011-12-31 | 2015-08-05 | 北京图盟科技有限公司 | 一种电子地图的访问方法、设备和系统 |
CN103035164B (zh) * | 2012-12-24 | 2015-03-25 | 广东威创视讯科技股份有限公司 | 一种地理信息系统渲染方法及系统 |
-
2014
- 2014-12-30 CN CN201410842652.XA patent/CN104504106B/zh active Active
- 2014-12-30 CN CN201410840774.5A patent/CN104504103B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1643872A (zh) * | 2002-04-30 | 2005-07-20 | 思科技术公司 | 缓存流数据 |
EP2137693A1 (en) * | 2007-04-19 | 2009-12-30 | Tele Atlas B.V. | Method of and apparatus for producing road information |
CN101859298A (zh) * | 2009-04-08 | 2010-10-13 | 北京博越世纪科技有限公司 | 一项高效的数据库存储数据技术 |
CN103473540A (zh) * | 2013-09-11 | 2013-12-25 | 天津工业大学 | 智能交通系统车辆轨迹增量式建模与在线异常检测方法 |
Non-Patent Citations (1)
Title |
---|
移动信息采集分析软件的设计与实现;郭静;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130715;第2013年卷(第07期);第13页倒数第4段,第29页第2段至第4段,第32页至第33页第3段 * |
Also Published As
Publication number | Publication date |
---|---|
CN104504106A (zh) | 2015-04-08 |
CN104504106B (zh) | 2018-05-15 |
CN104504103A (zh) | 2015-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104504103B (zh) | 一种车辆轨迹点插入性能优化方法及系统、信息采集器、数据库模型 | |
CN109582667A (zh) | 一种基于电力调控大数据的多数据库混合存储方法及系统 | |
CN109582717A (zh) | 一种面向电力大数据的数据库统一平台及其读取方法 | |
CN102708149A (zh) | 数据质量管理方法和系统 | |
CN112181955B (zh) | 一种用于重载铁路综合大数据平台信息共享的数据规范治理方法 | |
CN111984709A (zh) | 可视化大数据中台-资源调用和算法 | |
CN107291539B (zh) | 基于资源重要程度的集群程序调度方法 | |
CN110740079B (zh) | 一种面向分布式调度系统的全链路基准测试系统 | |
CN107451020A (zh) | 一种ab测试系统及测试方法 | |
CN109815254A (zh) | 基于大数据的跨地域任务调度方法及系统 | |
CN111538720B (zh) | 电力行业基础数据清理的方法及系统 | |
CN104050193B (zh) | 生成报文的方法和实现该方法的数据处理系统 | |
CN114756563A (zh) | 一种互联网多种复杂业务线并存的数据治理系统 | |
CN117149873A (zh) | 一种基于流批一体化的数据湖服务平台构建方法 | |
Chen et al. | A simulation platform for combined rail/road transport in multiyards intermodal terminals | |
CN108733781A (zh) | 基于内存计算的集群时态数据索引方法 | |
CN106920027A (zh) | 一种基于kpi的面向风机制造过程全方位质量考核系统 | |
Wei et al. | Big data analysis service platform building for complex product manufacturing | |
CN109947828A (zh) | 一种处理报表数据的方法和装置 | |
CN110349051A (zh) | 一种电网设备nqi大数据系统 | |
CN114995342A (zh) | 一种基于大数据技术的c3无线通信超时分析方法及系统 | |
CN109308563A (zh) | 一种模块化工业服务平台、工作方法及配置方法 | |
CN107967335A (zh) | 一种分布式sql处理方法及系统 | |
CN114648223A (zh) | 一种基于物联网的智慧城市能耗数据挖掘系统及方法 | |
CN101996246A (zh) | 即时索引方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 050021 No. 220 Tsing Yuen Street, Shijiazhuang, Hebei Patentee after: China Mobile System Integration Co., Ltd Address before: 050021 No. 220 Tsing Yuen Street, Shijiazhuang, Hebei Patentee before: CHINA MOBILE QUANTONG SYSTEM INTEGRATION Co.,Ltd. |