车联网中的空间事件的查询方法和优化查询器转让专利

申请号 : CN201210092335.1

文献号 : CN103365886B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 段宁胡珂董维山李莉王芝虎孙伟孙熙

申请人 : 国际商业机器公司

摘要 :

本发明涉及车联网中的空间事件的查询方法和优化查询器。车联网中的空间事件的查询方法包括:接收用户的查询条件;响应于接收到用户的查询条件,确定用户所在位置的情境信息;根据用户的查询条件和用户所在位置的情境信息,查询记录有路图中路的端点与空间事件的对应关系的索引表,以获得满足用户的查询条件的空间事件。解决的一个问题是能够更好地适应动态事件的发生与消亡,提高对动态可消亡事件的定位查询性能,从而能够提供更快的响应和更精确的查询结果,更好地适应移动查询需求。

权利要求 :

1.一种查询车联网中的空间事件的方法,包括:

接收用户的查询条件;

响应于接收到用户的查询条件,确定用户所在位置的情境信息;

根据用户的查询条件和用户所在位置的情境信息,查询记录有路图中路的端点与空间事件的对应关系的索引表,以获得满足用户的查询条件的空间事件,其中用户的查询条件包括期望可达距离,期望可达距离表示用户想要搜索的空间事件离用户所在位置的最大距离,其中查询记录有路图中路的端点与空间事件的对应关系的索引表以获得满足用户的查询条件的空间事件包括:根据用户的查询条件和用户所在位置的情境信息,确定剩余可达距离,其中用户所在位置的情境信息包括用户所在的路和路的终点,剩余可达距离是指为了满足用户查询条件中的期望可达距离,期望搜索的空间事件离用户当前所在路的终点的最大距离;

按照所述剩余可达距离查询索引表,以获得满足用户的查询条件的空间事件。

2.根据权利要求1的方法,其中所述索引表按照这样的方式记录路图中路的端点与空间事件的对应关系:设定索引可达距离,针对路的端点记录与该端点的可达距离在该索引可达距离之内的所有空间事件。

3.根据权利要求1的方法,其中确定剩余可达距离包括:根据用户所在的路和路的终点计算用户当前位置到路的终点的距离,从期望可达距离中减去用户当前位置到路的终点的距离得到剩余可达距离。

4.根据权利要求1的方法,其中按照所述剩余可达距离查询索引表包括:在索引表中查找大于或等于该剩余可达距离的最小索引可达距离,并查找对应于该终点和该最小索引可达距离的空间事件。

5.一种查询车联网中的空间事件的优化查询器,包括:

接收装置,被配置为接收用户的查询条件;

情境信息收集器,被配置为响应于接收到用户的查询条件,确定用户所在位置的情境信息;

空间事件查询器,被配置为根据用户的查询条件和用户所在位置的情境信息,查询记录有路图中路的端点与空间事件对应关系的索引表,以获得满足用户的查询条件的空间事件,其中用户的查询条件包括期望可达距离,期望可达距离表示用户想要搜索的空间事件离用户所在位置的最大距离,其中空间事件查询器包括:

剩余可达距离计算器,被配置为根据用户的查询条件和用户所在位置的情境信息,确定剩余可达距离,其中用户所在位置的情境信息包括用户所在的路和路的终点,剩余可达距离是指为了满足用户查询条件中的期望可达距离,期望搜索的空间事件离用户当前所在路的终点的最大距离;

索引查询器,被配置为按照所述剩余可达距离查询索引表,以获得满足用户的查询条件的空间事件。

6.根据权利要求5的优化查询器,其中所述索引表按照这样的方式记录路图中路的端点与空间事件的对应关系:设定索引可达距离,针对路的端点记录与该端点的可达距离在该索引可达距离之内的所有空间事件。

7.根据权利要求5的优化查询器,其中剩余可达距离计算器被配置为根据用户所在的路和路的终点计算用户当前位置到路的终点的距离,从期望可达距离中减去用户当前位置到路的终点的距离得到剩余可达距离。

8.根据权利要求5的优化查询器,其中索引查询器被配置为在索引表中查找大于或等于该剩余可达距离的最小的索引可达距离,并查找对应于该终点和该索引可达距离的空间事件。

9.一种包括根据权利要求5-8中的任一个的优化查询器的车联网服务器。

说明书 :

车联网中的空间事件的查询方法和优化查询器

技术领域

[0001] 本发明总体上涉及车联网系统。更具体地,本发明涉及查询车联网中的空间事件的方法和优化查询器、索引建立方法和索引建立器、包括索引建立器的数据库系统、以及包括优化查询器的车联网服务器。

背景技术

[0002] 车联网系统是指利用先进的传感器技术、网络技术、计算技术等对道路和交通进行全面感测,实现数据交互,以实现对道路交通的控制和管理的系统。为了实现高效的道路管理,需要对车联网中的空间事件提供有效的数据库管理和维护,以便用户能够实时、快速地查询车联网中的空间事件。
[0003] 在现有的车联网系统中,主要采用网格索引和R树索引管理空间事件。图1示出了现有技术中利用网格索引来索引和查询空间事件的方法的示意图。在图1中,左侧图示出了包含道路信息和空间事件(如某地发生车祸或某地有乘客需要打车等)的地图,右侧图示出左侧图中虚圈的放大图。右侧图中的圆圈表示空间事件。对空间事件进行网格划分。建立一种索引结构,以便在用户车辆需要查询空间事件时,首先根据查询条件检索到具有一定面积的网格,再根据查询条件对该网格内的所有空间事件进行筛选。例如,可能先找到满足一定条件的具有一定面积的网格内的所有空间事件,如右侧图中的虚框的4个空间事件。然后,根据查询条件对这些空间事件进行进一步筛选,从而得到满足查询条件的空间事件。
[0004] 为了进一步查询到空间事件的精确位置,还可以对定位的网格按照空间进行逐层子划分,从而定位空间事件所处的子网格。这些按空间划分的网格和子网格就形成了索引。用户可以按照该索引定位空间事件的精确位置。
[0005] 然而,这类方法在建立空间事件的索引结构时仅考虑用户车辆与空间事件所在位置的空间距离,但并未考虑用户车辆到该位置的实际可达性。例如上述4个空间事件中可能有些事件所在的位置是用户车辆无法直接到达的,可能需要绕弯才能到达,这导致车辆到该空间事件的实际距离远大于查询条件指定的距离。在这种情况下,进一步筛选将占用系统的较多运算资源,还可能无法得到有用的查询结果。尤其是当用户车辆数目较多且空间事件数量变多时,这类索引结构会随着车辆与事件的增多呈现出指数增长的趋势,使得系统运算变慢,从而导致对查询索引的响应变慢,无法满足用户实时查询的需求。

发明内容

[0006] 本发明解决的一个问题是对上述现有技术进行改进,以提供一种新颖的索引建立方法和索引建立器,以及基于建立的索引结构(也可称作“索引表”)的方法和优化查询器。
[0007] 根据本发明的一方面,提供了一种查询车联网中的空间事件的方法,包括:接收用户的查询条件;响应于接收到用户的查询条件,确定用户所在位置的情境信息;根据用户的查询条件和用户所在位置的情境信息,查询记录有路图中路的端点与空间事件的对应关系的索引表,以获得满足用户的查询条件的空间事件。
[0008] 根据本发明的另一方面,提供了一种查询车联网中的空间事件的优化查询器,包括:接收装置,被配置为接收用户的查询条件;情境信息收集器,被配置为响应于接收到用户的查询条件,确定用户所在位置的情境信息;空间事件查询器,被配置为根据用户的查询条件和用户所在位置的情境信息,查询记录有路图中路的端点与空间事件对应关系的索引表,以获得满足用户的查询条件的空间事件。
[0009] 根据本发明的又一方面,提供了一种索引建立方法,包括:接收空间事件的变化;接收路图,并从该路图中提取路网信息;根据空间事件的变化和路网信息动态维护记录有路图中路的端点与空间事件的对应关系的索引表,所述索引表按照这样的方式记录路图中路的端点与空间事件的对应关系:设定索引可达距离,针对路的端点记录与该端点的可达距离在该索引可达距离之内的所有空间事件。
[0010] 根据本发明的又一方面,提供了一种索引建立器,包括:空间事件变化接收器,被配置为接收空间事件的变化;路网信息提取器,被配置为接收路图,并从该路图中提取路网信息;可达距离计算与索引维护装置,被配置为根据空间事件的变化和路网信息动态维护记录有路图中路的端点与空间事件的对应关系的索引表,所述索引表按照这样的方式记录路图中路的端点与空间事件的对应关系,即,设定索引可达距离,针对路的端点记录与该端点的可达距离在该索引可达距离之内的所有空间事件。
[0011] 本发明还提供了包括如本发明上述方面所述的索引建立器的数据库系统。
[0012] 本发明还提供了包括如本发明上述方面所述的优化查询器和数据库系统的车联网服务器。
[0013] 根据本发明的一方面,可以极大缩短筛选空间事件的时间,从而大大提高查询空间事件的效率。
[0014] 根据本发明的另一方面,能够更好地适应动态事件的发生与消亡,提高对动态可消亡事件的定位查询性能,从而能够提供更快的响应和更精确的查询结果,更好地适应移动查询需求。

附图说明

[0015] 本申请中所参考的附图只用于示例本发明的典型实施例,不应该认为是对本发明范围的限制。通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
[0016] 图1示出了现有技术中采用的一种网格索引方法的示意图。
[0017] 图2示出了适于用来实现本发明实施方式的示例性计算系统100的框图。
[0018] 图3示出了根据本发明的一个示例性实施例的车联网服务器的框图。
[0019] 图4示出了根据本发明的一个示例性实施例的用于索引建立的、包含路图和空间事件信息的示意图。
[0020] 图5示出了根据本发明的一个示例性实施例的用于实时查询的、包括路图信息、空间事件和用户所在位置的情境信息的示意图。
[0021] 图6示出了根据本发明的一个示例性实施例的索引建立方法的流程图。
[0022] 图7示出了根据本发明的一个示例性实施例的查询车联网中的空间事件的方法的流程图。

具体实施方式

[0023] 下列讨论中,提供大量具体的细节以帮助彻底了解本发明。然而,很显然对于本领域技术人员来说,即使没有这些具体细节,并不影响对本发明的理解。并且应该认识到,使用如下的任何具体术语仅仅是为了方便描述,因此,本发明不应当局限于只用在这样的术语所表示和/或暗示的任何特定应用中。
[0024] 图2示出了适于用来实现本发明实施方式的示例性计算系统100的框图。如所示,计算机系统100可以包括:CPU(中央处理单元)101、RAM(随机存取存储器)102、ROM(只读存储器)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器108、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备113和显示器114。在这些设备中,与系统总线104耦合的有CPU 101、RAM 102、ROM 103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110与硬盘控制器
105耦合,键盘111与键盘控制器106耦合,串行外部设备112与串行接口控制器107耦合,并行外部设备113与并行接口控制器108耦合,以及显示器114与显示控制器109耦合。应当理解,图1所述的结构框图仅仅为了示例的目的而示出的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况而增加或者减少某些设备。
[0025] 所属技术领域的技术人员知道,本发明的多个方面可以体现为系统、方法或计算机程序产品。因此,本发明的多个方面可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的组合。此外,本发明的多个方面还可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可用的程序码。
[0026] 可以使用一个或多个计算机可读的介质的任何组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电的、磁的、光的、电磁的、红外线的、或半导体的系统、装置、器件或任何以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括以下:有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任何合适的组合。在本文件的语境中,计算机可读存储介质可以是任何包含或存储程序的有形的介质,该程序被指令执行系统、装置或者器件使用或者与其结合使用。
[0027] 计算机可读的信号介质可包括在基带中或者作为载波一部分传播的、其中体现计算机可读的程序码的传播的数据信号。这种传播的信号可以采用多种形式,包括——但不限于——电磁信号、光信号或任何以上合适的组合。计算机可读的信号介质可以是并非为计算机可读存储介质、但是能发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序的任何计算机可读介质。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者任何合适的上述组合。
[0028] 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者任何合适的上述组合。
[0029] 用于执行本发明的操作的计算机程序码,可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言-诸如Java、Smalltalk、C++之类,还包括常规的过程式程序设计语言-诸如”C”程序设计语言或类似的程序设计语言。程序码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络——包括局域网(LAN)或广域网(WAN)-连接到用户的计算机,或者,可以(例如利用因特网服务提供商来通过因特网)连接到外部计算机。
[0030] 以下参照按照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的多个方面。要明白的是,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装置。
[0031] 也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品。
[0032] 也可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
[0033] 现在参见图3,图3示出了根据本发明的一个示例性实施例的车联网服务器302的框图。
[0034] 如图3所示,车联网服务器302可以包括数据库系统303和优化查询器309,用于查询车联网中的空间事件。车联网服务器302可以与客户端301相连。
[0035] 数据库系统303可以包括索引建立器304和索引表305。
[0036] 索引建立器304可以包括:空间事件变化接收器306,被配置为接收空间事件的变化;路网信息提取器307,被配置为接收路图,并从该路图中提取路网信息;可达距离计算与索引维护装置308,被配置为根据空间事件的变化和路网信息动态维护记录有路图中路的端点与空间事件的对应关系的索引表305。
[0037] 将标出路的允许行使方向、并标出路是开放还是封闭的地图称为路图。如图4所示,用粗横线表示开放的路,点划线表示封闭的路。开放的路是道路两旁开放、可以从两旁直接进入的路。如图4所示,A-B是一条开放的路。封闭的路是路两旁封闭、从两旁无法直接进入的路。如图4所示,E-F是一条封闭的路。带有一个箭头、表示只能沿箭头单向行驶的路称为单向路。带有两个箭头、表示能沿箭头双方向行驶的路称为双向路。
[0038] 在路图中,标识路的两端的点称为路的端点。沿着行驶方向的路的开始的端点称为路的起点。沿着行驶方向的路的结束的端点称为路的终点。如图4中,路A-B的起点是A,终点是B。路图中两个端点之间的部分是一条路。路图上的路与实际的路可以不同。实际中的路可以在路图上分成不同的路。如在实际中,图4的B-H是一条直线,但可以将其分成两条路B-G和G-H。
[0039] 优化查询器309可以包括接收装置310、情境信息收集器311和空间事件查询器312。
[0040] 接收装置310可以被配置为接收用户的查询条件。用户的查询条件可以包括期望可达距离,期望可达距离表示用户想要搜索的空间事件离用户所在位置的最大距离。
[0041] 情境信息收集器311可以被配置为响应于接收到用户的查询条件,确定用户所在位置的情境信息。用户所在位置的情境信息可以包括用户所在的路和路的终点。
[0042] 空间事件查询器312可以被配置为根据用户的查询条件和用户所在位置的情境信息,查询记录有路图中路的端点与空间事件对应关系的索引表305,以获得满足用户的查询条件的空间事件。
[0043] 空间事件查询器312可以进一步包括剩余可达距离计算器313和索引查询器314。
[0044] 剩余可达距离计算器313被配置为根据用户的查询条件和用户所在位置的情境信息,确定剩余可达距离。剩余可达距离可以指为了满足用户查询条件中的期望可达距离,期望搜索的空间事件离用户当前所在路的终点的最大距离。
[0045] 剩余可达距离计算器313可以根据用户所在的路和路的终点计算用户当前位置到路的终点的距离,从期望可达距离中减去用户当前位置到路的终点的距离得到剩余可达距离。
[0046] 索引查询器314被配置为按照所述剩余可达距离查询索引表305,以获得满足用户的查询条件的空间事件。
[0047] 索引查询器314可以在索引表305中查找大于或等于该剩余可达距离的最小的索引可达距离,并查找对应于该终点和该索引可达距离的空间事件。
[0048] 图6示出了根据本发明的一个示例性实施例的索引建立方法的流程图。
[0049] 如图6所示,索引建立方法可以包括如下步骤:接收空间事件的变化S601;接收路图,并从该路图中提取路网信息S602;根据空间事件的变化和路网信息动态维护记录有路图中路的端点与空间事件的对应关系的索引表S603。
[0050] 下面结合图4和表1举例说明根据本发明的一个示例性实施例的索引表的建立。图4示出了根据本发明的一个示例性实施例的用于索引建立的、包含路图和空间事件信息的示意图。表1示出根据本发明的一个示例性实施例的索引表。
[0051] 表1
[0052]
[0053] 下面详细描述表1的建立过程。
[0054] 首先,设定索引可达距离,例如表1所示的150m或300m。
[0055] 针对路的端点记录与该端点的可达距离在该索引可达距离之内的所有空间事件。
[0056] 响应于空间事件的变化为新生成空间事件,例如新生成空间事件a、b、c,可以进行如下动作I)-VII)。
[0057] I)在路图中查找与该空间事件的距离最短的开放的路。如图4所示,对于空间事件a,距a的距离最短的路为E-F,但E-F是封闭的路,且距a的距离第二最短的路为A-B。由于A-B是开放的路,因此距a的距离最短的开放的路是A-B。
[0058] II)将该空间事件分配给该开放的路的起点,并计算出该空间事件与该起点的距离作为累积可达距离。例如,可以将空间事件a分配给开放的路A-B的起点。由于开放的路A-B是单向路,因此A-B的起点为A,即可以将空间事件a分配给端点A。在图4中,空间事件a与起点A的距离被计算为50m。
[0059] III)如果该累积可达距离小于或等于索引表中的一个或多个索引可达距离,为所述一个或多个索引可达距离中的每个索引可达距离,将该空间事件在索引表中与该起点、该索引可达距离相对应地记录。在图4中,累积可达距离50m小于或等于索引表中的一个或多个索引可达距离150m、300m。因此,为所述一个或多个索引可达距离中的每个索引可达距离150m、300m,将该空间事件在索引表中与该起点A、该索引可达距离150m、300m相对应地记录,如表1中的第2行所示。
[0060] IV)将该起点与该路的终点之间的距离加到该累积可达距离上,得到新的累积可达距离。例如,在图4中,由于端点A与端点B之间的距离为100m,因此,相加得到的新的累积可达距离为150m。
[0061] V)判断是否新的累积可达距离仍小于或等于该索引可达距离。
[0062] VI)如果新的累积可达距离仍小于或等于该索引可达距离,则将该空间事件在索引表中与该终点、该索引可达距离相对应地记录,并用该新的累积可达距离更新累积可达距离以用于动作IV)。可以看出,新的累积可达距离150m仍小于或等于索引可达距离150m、300m,因此将空间事件a在索引表中与端点B,索引可达距离150m、300m相对应地记录,如表1中的第3行所示。然后,用新的累积可达距离150m更新累积可达距离以用于动作IV)。
[0063] VII)将该终点视为下一条路的起点,在下一条路上重复动作IV)-VI),直到判断出新的累积可达距离超出该索引可达距离。
[0064] 例如,将终点B视为下一路B-C的起点。由于端点B与端点C之间的距离为100m,因此,相加得到的新的累积可达距离为250m。新的累积可达距离250m大于索引可达距离150m但仍小于索引可达距离300m,因此可以将空间事件a在索引表中与端点C、索引可达距离300m相对应地记录,如表1中的第4行第3列所示。然后,用新的累积可达距离250m更新累积可达距离以用于动作IV)。将端点C视为下一路C-D的起点。由于端点D与端点C之间的距离为
150m,因此,相加得到的新的累积可达距离为400m。新的累积可达距离400m大于索引可达距离150m、300m,因此可以不将空间事件a在索引表中与端点D、索引可达距离相对应地记录。
[0065] 另外,由于端点B与端点G之间的距离为90m,因此,相加得到的新的累积可达距离为240m。新的累积可达距离240m大于索引可达距离150m但仍小于索引可达距离300m,因此可以将空间事件a在索引表中与端点C、索引可达距离300m相对应地记录,如表1中的第7行第3列所示。然后,用新的累积可达距离240m更新累积可达距离以用于动作IV)。由于端点G与端点H之间的距离为100m,因此,相加得到的新的累积可达距离为340m。新的累积可达距离340m大于索引可达距离150m、300m,因此可以不将空间事件a在索引表中与端点H、索引可达距离相对应地记录。
[0066] 由此,可以将空间事件a在索引表中与端点、索引可达距离相对应地记录。
[0067] 类似地,也可以将空间事件b、c在索引表中与各端点、索引可达距离相对应地记录。
[0068] 例如,在图4中,距b的距离最短的开放的路是B-G,空间事件b与起点B的距离为50m。执行上述动作II)-VII)后,可以将空间事件b记录到表1的第3行、第4行、第5行第3列、第7行、第8行第3列。距c的距离最短的开放的路是B-C,空间事件c与起点B的距离为25m。执行上述动作II)-VII)后,也可以将空间事件b记录到表1的第3行、第4行、第5行第3列、第7行、第8行第3列。
[0069] 至此已经为图4中的各个路端点A、B、C、D、E、F、G、H,对于每个索引可达距离150m、300m,相对应地记录了与各端点的可达距离在索引可达距离之内的所有空间事件a、b、c。也可以响应于空间事件的变化为删除空间事件,将该空间事件从索引表中删除。例如,如果空间事件a已经结束,则将空间事件a从表1中删除。
[0070] 另外,对于索引表,可以不重复记录不同索引可达距离范围内的空间事件,因为逻辑上在较小索引可达距离(如150m)内的空间事件自然在较大索引可达距离(如300m)内。如表2所示,例如,虽然对于端点A,仅将空间事件a与索引可达距离150m对应地记录,而未将空间事件a与索引可达距离300m对应地记录,但实际上,该空间事件a也应当认为在索引可达距离300m内。类似地,对于端点C,在索引可达距离300m内不仅包括与其对应记录的空间事件a,而且也应当认为包括与索引可达距离150m对应记录的空间事件b、c。
[0071] 表2
[0072]
[0073] 此外,对于每一个空间事件,索引表中可以同时记录它与每个端点的累积可达距离。该信息在返回查询结果时可以一起提供给用户。可以在索引表中的每个空间事件后标出该空间事件与每个端点的累积可达距离。例如表2所示,对于端点A,记录空间事件a(50m)。
[0074] 另外,可以按照累积可达距离大小顺序记录空间事件。例如,对于表2中的端点B,索引可达距离150m内的空间事件可以按空间事件与端点B的累积可达距离从小到大记录为c(25m)、b(50m)、a(150m)。显然,对于表1,也可以类似地按照累积可达距离大小顺序记录空间事件。
[0075] 本领域技术人员应当理解,以上只是例示了本发明的一种实现方式。本领域技术人员通过阅读上述实施例能够想到其它实现本发明的建立索引表的具体方式,它们都落在本发明的范围和精神之内。
[0076] 图7示出了根据本发明的一个示例性实施例的查询车联网中的空间事件的方法的流程图。
[0077] 如图7所示,查询车联网中的空间事件的方法,包括如下步骤:接收用户的查询条件S701;响应于接收到用户的查询条件,确定用户所在位置的情境信息S702;根据用户的查询条件和用户所在位置的情境信息,查询记录有路图中路的端点与空间事件的对应关系的索引表,以获得满足用户的查询条件的空间事件S703。
[0078] 下面结合图5和表1举例说明根据本发明的一个示例性实施例的对车联网中的空间事件的实时查询。图5示出了根据本发明的一个示例性实施例的用于查询的包括路图信息、空间事件和用户所在位置的情境信息的示意图。
[0079] 在步骤S701中,用户的查询条件可以包括期望可达距离,期望可达距离表示用户想要搜索的空间事件离用户所在位置的最大距离。例如,用户可能期望搜索距自己150m的可达距离之内的空间事件。
[0080] 在步骤S702中,用户所在位置的情境信息可以包括用户所在的路和路的终点。例如图5所示的,用户位于道路A-B上,由于道路A-B是单向路,因此道路A-B的终点为B。
[0081] 在步骤S703中,根据用户的查询条件和用户所在位置的情境信息,查询记录有路图中路的端点与空间事件的对应关系的索引表1以获得满足用户的查询条件的空间事件。
[0082] 在一个实施例中,首先可以根据用户的查询条件和用户所在位置的情境信息,确定剩余可达距离。剩余可达距离是指为了满足用户查询条件中的期望可达距离150m,期望搜索的空间事件离用户当前所在路A-B的终点B的最大距离。例如,可以根据用户所在的路A-B和路的终点B计算用户当前位置到路的终点B的距离。如图5中,用户与端点B的距离被计算为50m。从期望可达距离150m中减去用户当前位置到路的终点的距离50m,可以得到剩余可达距离100m。
[0083] 然后,按照所述剩余可达距离查询索引表,以获得满足用户的查询条件的空间事件。例如,可以在索引表中查找大于或等于该剩余可达距离的最小索引可达距离,并查找对应于该下一端点和该最小索引可达距离的空间事件。如表1所示,大于或等于剩余可达距离100m的最小索引可达距离为150m,因此可以找到对应于端点B和最小索引可达距离150m的空间事件a、b、c,如表1的第3行第2列所示。也就是说,空间事件a、b、c都符合用户的查询条件。然后,在符合用户的查询条件的空间事件中进行筛选。
[0084] 如上所述,利用本发明示例性实施例的方法来查询所建立的索引表,可以大大缩短筛选空间事件的时间,因此能够对用户查询供更快的响应和更精确的查询结果。
[0085] 本领域技术人员应当理解,以上只是例示了本发明的一种实现方式。本领域技术人员通过阅读上述实施例能够想到其它实现本发明的查询空间事件的具体方式,它们都落在本发明的范围和精神之内。
[0086] 附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。