CN103927311A - 一种基于二分法的历史轨迹快速检索方法 - Google Patents

一种基于二分法的历史轨迹快速检索方法 Download PDF

Info

Publication number
CN103927311A
CN103927311A CN201310013455.2A CN201310013455A CN103927311A CN 103927311 A CN103927311 A CN 103927311A CN 201310013455 A CN201310013455 A CN 201310013455A CN 103927311 A CN103927311 A CN 103927311A
Authority
CN
China
Prior art keywords
sector
time
historical track
current
preset time
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.)
Granted
Application number
CN201310013455.2A
Other languages
English (en)
Other versions
CN103927311B (zh
Inventor
董显林
杨忠义
梁毛鹞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHENZHEN E-EYE HIGH TECH Co Ltd
Original Assignee
SHENZHEN E-EYE HIGH TECH Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHENZHEN E-EYE HIGH TECH Co Ltd filed Critical SHENZHEN E-EYE HIGH TECH Co Ltd
Priority to CN201310013455.2A priority Critical patent/CN103927311B/zh
Publication of CN103927311A publication Critical patent/CN103927311A/zh
Application granted granted Critical
Publication of CN103927311B publication Critical patent/CN103927311B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Remote Sensing (AREA)
  • Traffic Control Systems (AREA)
  • Time Recorders, Dirve Recorders, Access Control (AREA)

Abstract

本发明公开了一种基于二分法的历史轨迹快速检索方法,将整个存储区域分成两段,第一段是起始扇区到当前扇区,第二段是时间最老扇区到结束扇区,检索时先判断给定时间T属于哪个段,然后用二分法确定给定时间T属于哪个扇区,最后对该扇区再次使用二分法确定给定时间T所在的具体步数。本发明基于二分法的历史轨迹快速检索方法极大地减少了检索次数,缩短了检索时间,能够快速准确的读取指定时间的历史轨迹,提高了GPS车载终端实时响应能力。

Description

一种基于二分法的历史轨迹快速检索方法
技术领域
本发明涉及具有历史轨迹记录功能的GPS车载终端,特别是一种基于二分法的历史轨迹快速检索方法。
背景技术
随着全球卫星定位系统的快速发展,GPS车载终端已广泛应用于私家车、物流车、客运车、货运车、危险品运输车、出租车等各类车辆的定位追踪或监控报警系统中。GPS车载终端通过GPRS无线网络传输将收到的卫星定位信息上传给监控中心,由监控中心统一监控所有在线车辆的运行情况。然而当GPRS连接不上或SIM卡余额不足时,车辆的行驶轨迹将不能传输给监控中心,从而产生监控盲区。
为了弥补这种不足,现在大部分的GPS车载终端都具有历史轨迹记录功能,即可将车辆最近一段时间的行驶轨迹记录在车载终端中,记录的历史轨迹通常在1万条以上。当发生紧急事件或交通事故时,监控中心可发指令给GPS车载终端检索指定时间的历史轨迹,以确定车辆过去某个时间的位置和状态。目前常用的历史轨迹检索方法有:(1)按扇区顺序检索,即从存储区域开始扇区的第1步开始,一步一步往下找,直到找到给定时间的那条历史轨迹;(2)按最老时间顺序检索,即从时间最老扇区的第1步开始,一步一步往下找,直到找到给定时间的那条历史轨迹;(3)按最近时间顺序检索,即从当前扇区的最新时间开始,一步一步往回找,直到找到给定时间的那条历史轨迹。
但是以上几种方法检索次数较多,且对于不同的给定时间检索次数相差很大,当所给定的时间与检索的起始步时间比较接近时,就能较快检索到;当所给定的时间远离检索的起始步时间时,就需要很长时间才能检索到。综上所述,这几种方法的缺点是:平均检索次数都随记录的历史轨迹条数的增大成比例增加。
发明内容
为此,本发明的目的在于提供一种基于二分法的历史轨迹快速检索方法,以减少了检索次数,降低检索时间,能够快速准确的找到指定时间的车辆历史轨迹,确定车辆位置和车辆状态信息。
本发明的目的是通过以下技术方案实现的。
一种基于二分法的历史轨迹快速检索方法,包括:
A、对车辆的行驶历史轨迹进行存储,包括:
a1、系统上电后初始化,自检历史轨迹存储区域,确定最老扇区、当前扇区、当前步数、起始扇区和结束扇区;
a2、设定历史轨迹记录的时间间隔,开启定时器;
a3、判断定时时间是否到,如是,则进入步骤a4;如否,则退出,等待下一次;
a4、判断当前是否导航,如是,则进入步骤a5;如否,则退出,等待下一次;
a5、将车辆行驶轨迹信息写入到当前步数,当前步数加1,定时计数清0;
a6、判断当前步数是否等于扇区最大步数,如是,则进入步骤a7,如否,则退出,等待下一次;
a7、当前扇区加1,当前步数等于1;
a8、判断当前扇区是否大于结束扇区,如是,则进入步骤a9;如否,则退出,等待下一次;
a9、当前扇区等于起始扇区,退出,等待下一次;
B、对上述存储的车辆行驶历史轨迹进行检索,包括:
b1、取起始扇区最老时间和当前扇区最新时间;
b2、判断给定时间T是否在起始扇区最老时间和当前扇区最新时间内,如果是,则进入步骤b3,如果否,则进入步骤b10;
b3、顺序取起始扇区到当前扇区中每个扇区的第1步时间值,组成一维数组;
b4、用二分法查找上述一维数组,获得与给定时间T最接近的元素及其所在的扇区;
b5、判断上述元素是否等于T,如果是,则进入步骤b9,如果否,则进入步骤b6;
b6、顺序取上述扇区中所有步数的时间,组成一维数组;
b7、用二分法查找上述一维数组,获得与给定时间T最接近的元素及其所在的步数;
b8、得到给定时间T对应的那条历史轨迹所在的扇区数和步数,至此检索结束;
b9、得到给定时间T对应的那条历史轨迹所在的扇区(所在步数为1),至此检索结束;
b10、顺序取最老扇区至结束扇区中每个扇区的第1步时间值,组成一维数组;
b11、用二分法查找上述一维数组,获得与给定时间T最接近的元素及其所在的扇区;
b12、判断上述元素是否等于T,如果是,则进入步骤b16,如果否,则进入步骤b13;
b13、顺序取上述扇区中所有步数的时间,组成一维数组;
b14、用二分法查找上述一维数组,获得与给定时间T最接近的元素及其所在的步数;
b15、得到给定时间T对应的那条历史轨迹所在的扇区数和步数,至此检索结束;
b16、得到给定时间T对应的那条历史轨迹所在的扇区(所在步数为1),至此检索结束。
优先地,B之前包括:
将存储区域分成两段,第一段是起始扇区到当前扇区,第二段是时间最老扇区到结束扇区。
本发明与现有技术相比,有益效果在于:本发明提供的基于二分法的历史轨迹快速检索方法,将整个存储区域分成两段,第一段是起始扇区到当前扇区,第二段是时间最老扇区到结束扇区,检索时先判断给定时间T属于哪个段,然后用二分法确定给定时间T属于哪个扇区,最后对该扇区再次使用二分法确定给定时间T所在的具体步数。本发明二分法检索方法极大地减少了检索次数,降低了检索时间,能够快速准确的找到指定时间的车辆历史轨迹,确定车辆位置和车辆状态信息。
附图说明
图1为本发明的历史轨迹存储流程图。
图2为本发明的历史轨迹存储示意图。
图3为本发明的历史轨迹检索流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1、图2、图3所示,图1为本发明的历史轨迹存储流程图;图2为本发明的历史轨迹存储示意图;图3为本发明的历史轨迹检索流程图。本发明提供的是一种基于二分法的历史轨迹快速检索方法,其主要用于解决目前对车辆历史轨迹检索所存在的平均检索次数都随记录的历史轨迹条数的增大成比例增加,无法快速准确确定指定时间的车辆位置和车辆状态信息问题。
其中本发明基于二分法的历史轨迹快速检索方法主要包括有历史轨迹存储和历史轨迹检索两个部分。
由于历史轨迹是按时间发生的先后顺序定长存储的,因此可采用二分法检索,但是应用二分法检索有一个前提条件:要求后面的时间总是要比前面的时间大(新),因此需要将整个存储区域分成两段。第一段是起始扇区到当前扇区,第二段是时间最老扇区到结束扇区。检索时先判断给定时间T属于哪个段,然后用二分法确定给定时间T属于哪个扇区,最后对该扇区再次使用二分法确定给定时间T所在的具体步数。假设历史轨迹总条数为N,每个扇区存储的条数为S,则可预估出最大检索次数为log2(N/S)+log2S,可见二分法检索方法极大地减少了检索次数。
见图1、图2所示,本发明对车辆的行驶历史轨迹进行存储,主要包括:
a1、系统上电后初始化,自检历史轨迹存储区域,确定时间最老扇区OldestSector、当前扇区CurrentSector、当前步数CurrentStep、起始扇区和结束扇区;
起始扇区和结束扇区为常量,分别取值为1和n。当前步数CurrentStep为下一条车辆行驶轨迹即将存储的那一步;
a2、设定历史轨迹记录的时间间隔,开启定时器;
通常取GPS位置信息自动上传给监控中心的时间间隔作为历史轨迹记录的时间间隔;
a3、判断定时时间是否到,如是,则进入步骤a4;如否,则退出,等待下一次;
a4、判断当前是否导航,如是,则进入步骤a5;如否,则退出,等待下一次;
a5、将车辆行驶轨迹信息写入到当前步数,当前步数加1,定时计数清0;
车辆行驶轨迹信息即历史轨迹信息,包括时间、经度、纬度、速度、高程、车辆状态等;
a6、判断当前步数是否等于扇区最大步数,如是,则进入步骤a7,如否,则退出,等待下一次;
步长指每一步的长度,是个常量,取值为L。扇区最大步数等于一个扇区的字节数(M)除以步长,即M/L;
a7、当前扇区加1,当前步数等于1;
a8、判断当前扇区是否大于结束扇区,如是,则进入步骤a9;如否,则退出,等待下一次;
a9、当前扇区等于起始扇区,退出,等待下一次;
经过以上a1~a9的步骤,一段时间之后,历史轨迹的存储结构则如附图2所示。
见图3所示,本发明对上述存储的车辆行驶历史轨迹进行检索,主要包括:
b1、取起始扇区最老时间和当前扇区最新时间;
取扇区1第1步时间值,记为Ta,取当前扇区当前步数的上一步时间值,记为Tb;
b2、判断给定时间T是否在起始扇区最老时间和当前扇区最新时间内,如果是,则进入步骤b3,如果否,则进入步骤b10;
判断给定时间T是否在区间[Ta,Tb]内,如果是,则进入步骤b3,如果否,则进入步骤b10;
b3、顺序取起始扇区到当前扇区中每个扇区的第1步时间值,组成一维数组;
顺序取起始扇区1到当前扇区k中每个扇区的第1步时间值,组成一维数组Sector1[T1,T2,....,Tk],其中Sector1表示数组名,T1~Tk表示数组中的元素。T1表示扇区1第1步的时间值,T2表示扇区2第1步的时间值,以此类推,Tk表示第k扇区第1步的时间值。
b4、用二分法查找上述一维数组,获得与给定时间T最接近的元素及其所在的扇区;
用二分法查找数组Sector1,获得与给定时间T最接近的元素,假设为Ti;
b5、判断上述元素是否等于T,如果是,则进入步骤b9,如果否,则进入步骤b6;
判断Ti是否等于T,如果是,则进入步骤b9,如果否,则进入步骤b6;
b6、顺序取上述扇区中所有步数的时间,组成一维数组;
顺序取扇区i中所有步数的时间,组成一维数组Step1[t1,t2,...,tx]。当i为当前扇区时,x取值为当前步数的上一步;当i不等于当前扇区时,x取值为扇区最大步数;
b7、用二分法查找上述一维数组,获得与给定时间T最接近的元素及其所在的步数;
用二分法查找数组Step1,获得与给定时间T最接近的元素,假设为tj;
b8、得到给定时间T对应的那条历史轨迹所在的扇区数和步数,至此检索结束;
得到给定时间T对应的那条历史轨迹为第i扇区的第j步,至此检索结束;
b9、得到给定时间T对应的那条历史轨迹所在的扇区(所在步数为1),至此检索结束;
得到给定时间T对应的那条历史轨迹为第i扇区的第1步,至此检索结束;
b10、顺序取最老扇区至结束扇区中每个扇区的第1步时间值,组成一维数组;
顺序取最老扇区k+1至结束扇区n中每个扇区的第1步时间值,组成一维数组Sector2[T(k+1),T(k+2),...,Tn],其中Sector2表示数组名,T(k+1)~Tn表示数组中的元素。T(k+1)表示扇区k+1第1步的时间值,T(k+2)表示扇区k+2第1步的时间值,以此类推,Tn表示第n扇区第1步的时间值;
b11、用二分法查找上述一维数组,获得与给定时间T最接近的元素及其所在的扇区;
用二分法查找数组Sector2,获得与给定时间T最接近的元素,假设为Tp;
b12、判断上述元素是否等于T,如果是,则进入步骤b16,如果否,则进入步骤b13;
判断Tp是否等于T,如果是,则进入步骤b16,否进入步骤b13;
b13、顺序取上述扇区中所有步数的时间,组成一维数组;
顺序取扇区p中所有步数的时间,组成一维数组Step2[t1,t2,...,tx]。x取值为扇区最大步数;
b14、用二分法查找上述一维数组,获得与给定时间T最接近的元素及其所在的步数;
用二分法查找数组Step2,获得与给定时间T最接近的元素,假设为tq;
b15、得到给定时间T对应的那条历史轨迹所在的扇区数和步数,至此检索结束;
得到给定时间T对应的那条历史轨迹为第p扇区的第q步,至此检索结束;
b16、得到给定时间T对应的那条历史轨迹所在的扇区(所在步数为1),至此检索结束。
得到给定时间T对应的那条历史轨迹为第p扇区的第1步,至此检索结束。
采用本发明所述方法,假定历史轨迹记录的总条数为N,每个扇区存储的条数为S,则常规检索方法的平均检索次数为N/2,基于二分法的快速检索方法平均检索次数为log2(N/S)+log2S。很明显采用本发明后,系统检索时间将明显缩短,提高了GPS车载终端性能,较好地满足了实时性要求,尤其是在历史轨迹条数越多时则越明显。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.一种基于二分法的历史轨迹快速检索方法,其特征在于包括:
A、对车辆的行驶历史轨迹进行存储,包括:
a1、系统上电后初始化,自检历史轨迹存储区域,确定最老扇区、当前扇区、当前步数,起始扇区和结束扇区;
a2、设定历史轨迹记录的时间间隔,开启定时器;
a3、判断定时时间是否到,如是,则进入步骤a4;如否,则退出,等待下一次;
a4、判断当前是否导航,如是,则进入步骤a5;如否,则退出,等待下一次;
a5、将车辆行驶轨迹信息写入到当前步数,当前步数加1,定时计数清0;
a6、判断当前步数是否等于扇区最大步数,如是,则进入步骤a7,如否,则退出,等待下一次;
a7、当前扇区加1,当前步数等于1;
a8、判断当前扇区是否大于结束扇区,如是,则进入步骤a9;如否,则退出,等待下一次;
a9、当前扇区等于起始扇区,退出,等待下一次;
B、对上述存储的车辆行驶历史轨迹进行检索,包括:
b1、取起始扇区最老时间和当前扇区最新时间;
b2、判断给定时间T是否在起始扇区最老时间和当前扇区最新时间内,如果是,则进入步骤b3,如果否,则进入步骤b10;
b3、顺序取起始扇区到当前扇区中每个扇区的第1步时间值,组成一维数组;
b4、用二分法查找上述一维数组,获得与给定时间T最接近的元素及其所在的扇区;
b5、判断上述元素是否等于T,如果是,则进入步骤b9,如果否,则进入步骤b6;
b6、顺序取上述扇区中所有步数的时间,组成一维数组;
b7、用二分法查找上述一维数组,获得与给定时间T最接近的元素及其所在的步数;
b8、得到给定时间T对应的那条历史轨迹所在的扇区数和步数,至此检索结束;
b9、得到给定时间T对应的那条历史轨迹所在的扇区(所在步数为1),至此检索结束;
b10、顺序取最老扇区至结束扇区中每个扇区的第1步时间值,组成一维数组;
b11、用二分法查找上述一维数组,获得与给定时间T最接近的元素及其所在的扇区;
b12、判断上述元素是否等于T,如果是,则进入步骤b16,如果否,则进入步骤b13;
b13、顺序取上述扇区中所有步数的时间,组成一维数组;
b14、用二分法查找上述一维数组,获得与给定时间T最接近的元素及其所在的步数;
b15、得到给定时间T对应的那条历史轨迹所在的扇区数和步数,至此检索结束;
b16、得到给定时间T对应的那条历史轨迹所在的扇区(所在步数为1),至此检索结束。
2.根据权利要求1所述的基于二分法的历史轨迹快速检索方法,其特征在于B之前包括:
将存储区域分成两段,第一段是起始扇区到当前扇区,第二段是时间最老扇区到结束扇区。
CN201310013455.2A 2013-01-11 2013-01-11 一种基于二分法的历史轨迹快速检索方法 Active CN103927311B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310013455.2A CN103927311B (zh) 2013-01-11 2013-01-11 一种基于二分法的历史轨迹快速检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310013455.2A CN103927311B (zh) 2013-01-11 2013-01-11 一种基于二分法的历史轨迹快速检索方法

Publications (2)

Publication Number Publication Date
CN103927311A true CN103927311A (zh) 2014-07-16
CN103927311B CN103927311B (zh) 2017-02-22

Family

ID=51145533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310013455.2A Active CN103927311B (zh) 2013-01-11 2013-01-11 一种基于二分法的历史轨迹快速检索方法

Country Status (1)

Country Link
CN (1) CN103927311B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106598875A (zh) * 2015-10-19 2017-04-26 深圳市华百安智能技术有限公司 嵌入式系统中快速处理nor flash记录的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10269246A (ja) * 1997-03-21 1998-10-09 Tsushin Hoso Kiko 検索情報配信方法
JP2000132563A (ja) * 1998-10-26 2000-05-12 Omron Corp 画像検索方法,画像処理方法,および情報検索方法、ならびにこれらの方法を実行するためのプログラムが記録された記録媒体,画像処理装置,および情報検索システム
CN102096759A (zh) * 2010-12-03 2011-06-15 东南大学 一种土地实时集群调查方法
CN102110159A (zh) * 2011-02-21 2011-06-29 清华大学 一种cad三维模型检索方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10269246A (ja) * 1997-03-21 1998-10-09 Tsushin Hoso Kiko 検索情報配信方法
JP2000132563A (ja) * 1998-10-26 2000-05-12 Omron Corp 画像検索方法,画像処理方法,および情報検索方法、ならびにこれらの方法を実行するためのプログラムが記録された記録媒体,画像処理装置,および情報検索システム
CN102096759A (zh) * 2010-12-03 2011-06-15 东南大学 一种土地实时集群调查方法
CN102110159A (zh) * 2011-02-21 2011-06-29 清华大学 一种cad三维模型检索方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106598875A (zh) * 2015-10-19 2017-04-26 深圳市华百安智能技术有限公司 嵌入式系统中快速处理nor flash记录的方法

Also Published As

Publication number Publication date
CN103927311B (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
US11397993B2 (en) Electronic logging and track identification system for mobile telematics devices, and corresponding method thereof
US20210174681A1 (en) Parking occupancy estimation
CA2985509C (en) Determining street segment headings
WO2018177225A1 (zh) 一种停车管理方法、服务器、车位锁及存储介质
CN110395137B (zh) 电动汽车充电控制方法、装置、设备及存储介质
US20130166333A1 (en) Monitoring system for parking space
US20120176255A1 (en) Mobile device-based automatic parking location recorder and reminder using on-board diagnostics
CN101324438B (zh) 停车位置记录装置、导航系统及其使用的停车位置记录方法
CN106910369B (zh) 路侧停车管理方法及系统
CN107767661B (zh) 车辆实时跟踪系统
CN103236091A (zh) 一种基于ic卡和卫星定位的行车费用计算方法
CN110111597A (zh) 一种车位管理方法及系统
CA3186946A1 (en) Vehicle identification number (vin)-based telematics device location tracking
US8928471B2 (en) Methods and systems related to remote tamper detection
CN103927311A (zh) 一种基于二分法的历史轨迹快速检索方法
CN202306659U (zh) 车辆管理系统
CN202976190U (zh) 危化品运输线路规划与监控系统
CN108882146A (zh) 车载通信设备异常行为检测方法、电子设备及系统
CN201653425U (zh) 具有限制信息的导航装置
CN108172013A (zh) 一种智能停车场的车位预警方法和装置
KR102507929B1 (ko) 단말 장치, 후방 서버, 차량 탑재 트랜스폰더, 판정 시스템, 판정 방법, 및 프로그램
CN110506304A (zh) 隧道事故检测
CN105424133A (zh) 智能车辆油量的监测系统
Ingco et al. PUJ Fare Collection System: An IoT Application
CN107545759A (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
C14 Grant of patent or utility model
GR01 Patent grant