支持数据存储的制作方法

文档序号:7994843阅读:196来源:国知局
支持数据存储的制作方法
【专利摘要】本发明涉及一种设备,其确定关于参考网格的密度定义自适应网格的密度的至少一个因子,同时所述自适应网格被用作通过到所述自适应网格的网格点的映射存储与通信网络的节点有关的数据的基础。所述设备使得存储关于为所述节点确定的至少一个因子的指示。
【专利说明】支持数据存储

【技术领域】
[0001]本发明涉及数据存储的领域,并且更具体来说涉及对于被映射到一个网格的各个网格点的通信网络的节点支持数据的存储。

【背景技术】
[0002]例如可以通过到一个网格的各个网格点的映射来存储数据,以便反映出不同数据项对于不同位置的适用性,并且与此同时允许限制必须存储的数据总量。
[0003]举例来说,现今的全球蜂窝和非蜂窝定位技术是基于生成包含关于蜂窝和非蜂窝信号的信息的大型全球数据库。所述信息可以是完全或部分地源自这些定位技术的用户。
[0004]由用户提供的信息通常具有“指纹”的形式,其包含例如基于所接收到的全球导航卫星系统(GNSS)的卫星信号以及从用于蜂窝和/或非蜂窝地面系统的信号的一个或更多无线电接口取得的测量所估计的位置。在蜂窝信号上的测量的情况下,所述测量的结果可以包含所观察到的各个蜂窝网络蜂窝的全球和/或本地标识,以及其信号强度和/或路径损耗和/或例如定时提前(TA)或往返时间之间的定时测量。对于无线局域网(WLAN)信号上的测量,作为非蜂窝系统的信号的一个实例,所述测量结果可以包含基本服务集标识(BSSID),比如所观察到的接入点的介质接入控制(MAC)地址,接入点的服务集标识符(SSID),以及所接收到的信号的信号强度(接收信号强度指示RSSI或者具有ImW的参考数值的以dBm计的物理Rx水平等等)。
[0005]这一数据随后可以被传输到服务器或云,其中可以出于定位的目的生成各种无线电模型。最后,这些经过细化的无线电模型可以被传输回到用户终端以用于方位确定。
[0006]在服务器处接收到的数据必须被存储,以便可用于细化成另外的模型。这样的另外的模型可以是覆盖区域估计或者基站方位和无线电信道模型。
[0007]无线电信道模型可以由基站方位和路径损耗模型(或者在扇区化模型的情况下是多个路径损耗模型)构成,其中基站是通信网络的示例性节点。在可以计算所述模型之前,必须在基站的覆盖区域内收集包括测量结果在内的一定数量的数据。在基于团体的收集努力中,需要随着时间累积数据以便获得足够的数据量。
[0008]将有可能在接收时存储测量结果和相关联的位置。或者可以把所接收到的测量结果与代表靠近对应的测量方位的各个位置的网格的各个网格点相关联,以便降低存储要求。


【发明内容】

[0009]描述了一种方法,其包括在设备处确定关于参考网格的密度定义自适应网格的密度的至少一个因子,同时所述自适应网格被用作通过到自适应网格的各个网格点的映射存储与通信网络的节点有关的数据的基础。所述方法还包括使得存储关于为所述节点确定的至少一个因子的指示。
[0010]此外还描述了第一设备,其包括用于实现所给出的方法的各项动作的装置。
[0011]该设备的装置可以通过硬件和/或软件来实施。其例如可以包括用于执行实现所需功能的计算机程序代码的处理器、存储程序代码的存储器或者全部二者。或者其例如可以包括被设计成实现所需功能的电路,所述电路例如被实施在芯片组或芯片中,比如集成电路。
[0012]此外还描述了第二设备,其包括至少一个处理器以及包括计算机程序代码的至少一个存储器,所述至少一个存储器和计算机程序代码被配置成利用所述至少一个处理器使得设备至少实施所给出的方法的各项动作。
[0013]此外还描述了一种非瞬时性计算机可读存储介质,其中存储有计算机程序代码。所述计算机程序代码在由处理器执行时使得设备实现所给出的方法的各项动作。
[0014]所述计算机可读存储介质例如可以是盘或存储器等等。所述计算机程序代码可以通过对计算机可读存储介质进行编码的指令的形式被存储在计算机可读存储介质中。所述计算机可读存储介质可以是针对参与装置的操作,比如计算机的内部或外部硬盘,或者可以是针对程序代码的分发,比如光盘。
[0015]应当理解的是,计算机程序代码本身也必须被视为本发明的一个实施例。
[0016]任何所描述的设备可以仅包括所表明的组件或者一个或更多附加组件。
[0017]任何所描述的设备可以是用于装置的模块或组件,例如芯片。或者,任何所描述的设备可以是装置,例如服务器或移动终端。
[0018]在一个实施例中,所描述的方法是信息提供方法,并且所描述的第一设备是信息提供设备。在一个实施例中,所描述的第一设备的装置是处理装置。
[0019]在所描述的方法的某些实施例中,所述方法是通过到一个网格的各个网格点的映射来支持数据存储的方法。在所描述的设备的某些实施例中,所述设备是通过到一个网格的各个网格点的映射来支持数据存储的设备。
[0020]此外还应当理解的是,在本节中对于本发明的呈现仅仅是示例性而非限制性的。
[0021]通过后面结合附图考虑的详细描述,本发明的其他特征将变得显而易见。但是应当理解的是,附图仅仅被设计用于说明的目的而不是作为本发明的限制的定义,关于本发明的限制的定义应当参照所附权利要求书。还应当理解的是,附图并非按比例绘制的,其仅仅意图在概念上说明这里所描述的结构和规程。

【专利附图】

【附图说明】
[0022]图1是根据本发明的一个示例性实施例的设备的示意性方框图;
[0023]图2是示出了根据本发明的一个示例性实施例的方法的流程图;
[0024]图3是根据本发明的一个示例性实施例的系统的示意性方框图;
[0025]图4是示出了图3的系统中的移动终端的示意性移动的图示;
[0026]图5是示出了示例性网格和示例性跳跃因子的图示;
[0027]图6是示出了图5的网格的各个网格点的可能索引的图示;
[0028]图7是示出了图3的系统中的示例性操作的流程图;
[0029]图8是示例性的自适应网格的密度减小的图示;
[0030]图9是示出了自适应网格之间的对准的图示;
[0031]图10是示出了自适应网格之间的失准(misalignment)的图示;以及
[0032]图11是示出了图3的系统中的另外的操作的流程图。

【具体实施方式】
[0033]图1是设备100的示意性方框图。设备100包括处理器101以及链接到处理器101的存储器102。存储器102存储用于确定定义网格的密度的因子的计算机程序代码。处理器101被配置成执行存储在存储器102中的计算机程序代码,以便使得设备实施所期望的动作。
[0034]设备100可以是服务器或者任何其他装置,比如移动终端。设备100同样可以是用于服务器或者用于任何其他装置的模块,比如编码器、编解码器、芯片、芯片上电路或者插入板。设备100是根据本发明的任何设备的一个示例性实施例。可选的是,设备100可以具有各种其他组件,比如数据接口、用户接口、另外的存储器、另外的处理器等等。
[0035]现在将参照图2的流程图来描述设备100的操作。所述操作是根据本发明的方法的一个示例性实施例。在从存储器102取回程序代码并且由处理器101执行时,处理器101和存储在存储器102中的程序代码使得设备实施所述操作。被使得实施所述操作的设备可以是设备100或某一其他设备,特别是包括设备100的装置。
[0036]所述设备确定关于参考网格的密度定义自适应网格的密度的至少一个因子,同时所述自适应网格被用作通过到自适应网格的各个网格点的映射存储与通信网络的节点有关的数据的基础。(动作111)
[0037]所述设备还使得存储关于为所述节点确定的至少一个因子的指示。(动作112)也就是说,所述指示可以被存储在由处理器101使得进行存储的设备中,或者被存储在任何设备中。
[0038]因此,本发明的某些实施例可以允许设备支持自适应网格的使用。所述网格可以关于其密度是自适应的,并且可以通过与参考网格的密度相比的因子来定义其密度。在开始把数据与自适应网格的各个网格点相关联之前,可以不止一次确定所述因子。相反,每当满足预定条件时可以重新定义所述因子,同时自适应网格已被用作存储数据的基础。通过存储关于为所述节点确定的因子的指示,总是有可能确定自适应网格的当前密度,以便每当将对于所述节点存储新的数据时将数据正确地关联到自适应网格的各个网格点,并且利用所存储的数据。
[0039]因此,本发明的某些实施例的效果可以在于,可以按照需要灵活地适配网格的密度从而还有所存储的数据的数量。
[0040]可以通过多种方式来实施和细化图1中示出的设备100和图2中示出的操作。
[0041]所述节点可以是蜂窝通信系统的节点,例如全球移动通信系统(GSM),基于第三代合作伙伴计划(3GPP)的蜂窝系统,比如宽带码分多址(WCDMA)系统或时分同步CDMA(TD-SCDMA)系统,3GPP2 系统,比如 CDMA2000 系统、长期演进(LTE)或 LTE-Advanced系统,或者任何其他类型的蜂窝系统,比如全球微波接入互操作性(WiMAX)系统。或者所述节点可以例如是非蜂窝通信系统的节点,比如WLAN、Bluetooth和Zigbee等等。蜂窝通信系统的节点例如可以是蜂窝通信系统的收发器或基站。一般来说,蜂窝通信系统的节点可以是确切地服务于一个小区的实体,或者是从单一方位服务于多个小区的实体。WLAN的节点可以是WLAN接入点。
[0042]应当理解的是,可以对于单一通信网络的各个节点当中的每一个或者对于几个通信网络的各个节点当中的每一个确定所述至少一个因子。
[0043]还应当理解的是,对于特定节点可以确定并存储单一因子或单一因子集合,或者对于特定节点可以确定并存储几个因子或几个因子集合。举例来说,如果单一节点服务于蜂窝通信系统的各个小区,则对于这些小区当中的任一个可以确定并存储一个单独的因子或一个单独的因子集合,其中每一个因子或因子集合表明对应于另一个小区的自适应网格的密度。此外,对于对应的小区可以确定并存储对应于单一自适应网格的一个或更多因子或者对应于多个自适应网格当中的每一个自适应网格的一个或更多因子。例如可以把不同的网格与可以在其中观察到所述小区的信号的一个区域的不同部分相关联。
[0044]例如可以通过节点的标识符或者通过由该节点服务的小区的标识符来识别节点。
[0045]所述数据例如可以是接收自移动终端的数据。其例如可以包括在由不同位置处的移动终端接收自所述节点的信号上进行的测量的结果。其还可以包括其他数据,例如可以接收到可以被关联到对应的网格点的数据的频率。关于所述至少一个因子的选择可以是基于到目前为止所能获得的对应于所述节点的数据。
[0046]在本发明的一个示例性实施例中,可以通过多种方式获得由所确定的因子定义的自适应网格的密度。通过向自适应网格添加列和/或行,可以增大自适应网格的先前的密度。替换地或附加地,通过调节为之存储数据的自适应网格的网格点的索引,可以增大自适应网格的先前的密度。如果数据被存储在对应于网格的二维表中,则在添加行和/或列时,索引可以自动改变。如果数据没有被存储在表中,而是相当简单地分别与相关联的网格点的索引一起存储,则可能必须主动改变索引。此外,通过去除自适应网格的行和/或列可以减小自适应网格的先前的密度。替换地或附加地,通过调节为之存储数据的自适应网格的网格点的索引,可以减小自适应网格的先前的密度。同样地,如果数据被存储在对应于网格的表中,则在去除行和/或列时,索引可以自动改变。如果数据没有被存储在表中,而是相当简单地分别与相关联的网格点的索引一起存储,则可能必须主动改变索引。
[0047]在本发明的一个实施例中,可以规定任何密度增大包括在一次或更多次迭代中在所有现有行之间添加新的一行以及/或者在所有现有列之间添加新的一列。在本发明的一个示例性实施例中,可以规定任何密度减小包括在一次或更多次迭代中去除每隔一行以及/或者去除每隔一列。
[0048]在本发明的一个示例性实施例中,在获得由所确定的因子定义的自适应网格的密度时还可以考虑到特别地(而非排他地)用于获得初始密度的配置。
[0049]对于开始确定新的因子可以有不同的标准。在本发明的一个示例性实施例中,确定所述至少一个因子包括重复地(例如周期性地)确定所述至少一个因子,在接收到对应于所述节点的新的数据之后确定所述至少一个因子,以及/或者在接收到对应于所述节点或者对应于多个节点的预定数量的新数据之后确定所述至少一个因子。周期性地或者在接收到预定数量的新数据之后确定所述至少一个因子的效果可以在于,与在每一次接收到对应于所述节点的新数据之后确定所述至少一个因子的情况相比,可以减少用于对所述一个或多个网格进行适配的处理负荷。周期性地或者在接收到对应于各个节点的预定数量的新数据之后确定所述至少一个因子的效果可以在于,对于各个节点只需要监测单一标准。替换地或者作为附加标准,可以在检测到存储消耗的改变之后确定所述至少一个因子。应当理解的是,后一种标准还涵盖了检测到剩余存储空间的改变。
[0050]在本发明的一个示例性实施例中,基于当前使用的存储空间来确定所述至少一个因子。所考虑的存储空间例如可以仅是对于通过到对应于特定节点或小区的一个网格的各个网格点的映射来存储数据所使用的存储空间,对于通过到对应于所有支持的节点的一个网格的各个网格点的映射来存储数据所使用的存储空间,被用于某种更加综合性的类型的数据的存储空间,或者通常在特定存储器中使用的存储空间。如果当前存储消耗相对较低并且可以被增加,则可以确定所述至少一个因子以获得更高密度,如果当前存储消耗较高并且必须被减少,则可以确定所述至少一个因子以获得较低密度。这样做的效果可以在于,可以限制所使用的存储空间。这样做的效果常常(而不一定)还可以在于,与可以对于较大范围获得数据时相比,当可以对于较小范围获得数据时,可以存储对应于每个区域的更多网格点(即更高网格密度)的数据。无论如何,与较大范围相比,网格点的总数量对于较小范围可以是相同、更大或更小。
[0051]应当理解的是,取代当前存储消耗,还可以考虑剩余自由存储空间以作为确定所述至少一个因子的基础。
[0052]替换地或附加地,可以基于某一配置中的指示确定所述至少一个因子的基础。所述配置例如可以包括一个或多个默认因子,或者允许导出这样的一个或多个默认因子的数值。所述配置可以是固定的或可变的。
[0053]在本发明的一个示例性实施例中,所述至少一个因子包括至少一个跳跃因子。跳跃因子可以定义对应于自适应网格的每行的参考网格的行数以及/或者对应于自适应网格的每列的参考网格的列数。
[0054]应当理解的是,对于自适应网格的列和行可以有相同的或不同的跳跃因子。
[0055]在本发明的一个示例性实施例中,所述至少一个跳跃因子可以是2的乘方。这样做的效果可以在于,允许对自适应网格进行特别高效的适配。但是应当理解的是,在替换的实施例中,跳跃因子也可以取得任何其他数值。
[0056]在本发明的一个示例性实施例中,基于所确定的至少一个因子将自适应网格与参考网格对准。这样做的效果可以在于,为之指派了相同的因子的任何自适应网格在任何重叠区域内将包括参考网格的相同的剩余网格点。其结果是可以促进在对于所存储的数据的进一步处理中组合考虑多个自适应网格。
[0057]在本发明的一个示例性实施例中,可以接收对应于所述节点的数据,并且可以把所接收到的数据与到自适应网格的各个网格点的映射一起存储,其中考虑到关于所确定的因子的所存储的指示。
[0058]所述数据例如可以由移动终端提供,例如由通信终端提供,比如移动电话、智能电话、膝上型计算机、平板计算机等等。所述数据例如可以包括在移动终端处确定或收集的关于来自通信系统的节点的地面无线电信号的测量结果。这样的测量例如可以包括信号强度测量、路径损耗测量、定时提前测量、往返时间测量等等。
[0059]在本发明的一个示例性实施例中,可以取回对于所述节点所存储的数据,并且在考虑到关于所确定的因子的所存储的指示的情况下对其进行进一步处理。
[0060]图3是包括根据本发明的设备的一个示例性实施例的系统的示意性方框图,其被配置成动态地调节自适应网格。
[0061]所述系统包括服务器200。服务器200连接到网络310,例如因特网。服务器200也可以属于网络310。网络310适合于经由蜂窝网络320或者经由多个WLAN 330当中的任一个将服务器200与移动终端401、402互连。
[0062]服务器200可以提供或支持用于建立和更新定位数据学习数据库(例如指纹数据库)的学习系统。服务器200例如可以是专用的定位服务器、专用的方位数据学习服务器或者某种其他类型的服务器。其包括处理器201,所述处理器201链接到第一存储器202、第二存储器206并且连接到接口(I/F)204。处理器201被配置成执行计算机程序代码(包括存储在存储器202中的计算机程序代码),以便使得服务器200实施所期望的动作。
[0063]存储器202存储用于动态地调节对应于至少一个通信网络的对应节点的自适应网格并且使得基于自适应网格进行数据存储的计算机程序代码。所述计算机程序代码例如可以至少包括类似于存储器102的程序代码。所述程序代码例如可以属于支持方位数据的学习并且/或者支持移动终端的定位的综合性应用。此外,存储器202可以存储被实施来实现其他功能的计算机程序代码以及任何种类的其他数据。但是应当理解的是,用于除了调节自适应网格之外的任何其他动作的程序代码也可以被实施在一台或更多台其他物理和/或虚拟服务器上。
[0064]处理器201和存储器202可以可选地属于芯片或集成电路205,其可以附加地包括各种其他组件,例如另外的处理器或存储器。
[0065]存储器206存储可以由处理器201访问的至少一个数据库。所述数据库被配置成在每个节点的基础上存储对应于蜂窝通信网络320的各个节点以及对应于WLAN 330的各个节点的测量数据。从各个移动终端相继接收对应于每一个节点的数据。此外,存储器206可以存储其他数据,例如支持移动终端的定位的其他数据。应当理解的是,存储所述数据库的存储器还可以处于服务器200外部;其例如可以处于另一台物理或虚拟服务器上。
[0066]接口 204是允许服务器200经由网络310与其他装置(比如移动终端401和402)进行通信的组件。接口 204例如可以包括TCP/IP套接字。
[0067]组件205和服务器200可以对应于根据本发明的设备的示例性实施例。
[0068]蜂窝通信网络320包括作为网络的节点操作的多个收发器。每一个WLAN 320包括作为通信网络的节点的至少一个接入点。
[0069]移动终端401、402可以包括允许其基于卫星信号确定其自身方位的GNSS接收器。移动终端401、402还可以被配置成在来自蜂窝通信网络320或WLAN 330的节点的信号上实施测量,例如信号强度测量。此外,其可以被配置成向服务器200报告在不同位置处取得的测量结果。
[0070]图4对于一个示例性节点示出了覆盖地球的特定区域的虚拟网格500,该区域中的第一数据收集移动终端401的第一轨迹510,以及该区域中的第二数据收集移动终端402的第二轨迹520。图4还示出了由小圆圈540代表的数据。所述数据可以包括由移动终端401和402在分别沿着轨迹510和520移动时提供的测量结果。所述数据可以源自轨迹510和520上的任意方位,但是已被映射到所述节点的覆盖区域530内的网格500的特定网格点,从而大大降低了存储要求。网格点的坐标可以通过相对于网格原点的网格索引来表示。在存储器中,所述网格可以被简单地表示为二维表。
[0071]但是当对应于给定通信节点的数据开始到达时,通常还不知道由该节点服务的区域的尺寸。举例来说,在GSM小区的情况中,其半径范围可以是从10m到35km。因此,在使用传统的静态网格时,必须在对于网络规定的最大密度下存储数据。
[0072]现在,如果最终发现由所述通信节点服务的区域较大,则可能有益的是减小所存储的数据以及仍将存储的数据的密度。在减小数据的密度时,例如关于中央处理单元(CPU)和存储器的存储需求以及计算需求可以成比例地减少。
[0073]实际上,当所述数据例如被用于生成无线电信道模型时,则在对于较大的小区减小网格密度时,可能实际上不会损失建模数据。作为例示,在蜂窝通信系统中,微小区可能具有300m的范围,宏小区可能具有30000m的范围。假设无线电建模算法将需要十个点来对路径损耗参数进行建模,30m的数据间距在微小区的情况下将是足够的,而在宏小区的情况下,数据密度可以大大降低。其例如可以降低到对于30m间距所获得的密度的1/100,从而得到3000m间距。必须提到的是,随着网格密度降低到原始密度的1/100,存储需求降低到 1/10000。
[0074]所需网格密度与节点范围之间的关系的原因在于,小区越大,阴影衰落去相关距离就越长。在实践中,这意味着彼此靠近的样本是相关的,从而携带冗余信息。因此去相关距离越长,紧密网格中的冗余数据就越多。因此小区越大,网格就可以越稀疏。
[0075]图5现在通过一个实例示出了自适应网格。地球表面被虚拟地划分成在纬度和经度方向上具有网格间距ε μ Deg的网格。ε的数值例如可以被设定到5。在纬度方向上,这在赤道处对应于沿着赤道的0.56m,并且在60°纬度处对应于沿着纬度圈的0.28m。所述虚拟网格充当参考网格,并且在图6中通过实线示出。对应于任何节点的自适应网格是参考网格的一个适当的子集,也就是说没有小区覆盖整个地球表面。被指派给每一个自适应网格的跳跃因子允许网格密度控制。跳跃因子定义网格中的网格点密度。跳跃因子是2的乘方。作为例示,在跳跃因子是2的情况下,邻近网格点的间距是2 ε UDego通过跳跃因子2定义的自适应网格导致纬度和经度方向上的2 ε = 1uDeg的间距,并且在图5中通过虚线示出。
[0076]在存储数据时,只需要存储跳跃因子信息和数据被映射到的网格点的索引,也就是相对坐标。在图6中示出了这样的索引到自适应网格的网格点的示例性指派。当再次需要数据时,跳跃因子直接产生网格点的间距。举例来说,当对于具有索引(2,I)的网格点存储数据并且对应于自适应网格的跳跃因子是2时,立即明显看到所述数据对于关于自适应网格的原点在纬度方向上偏移2*2*5 μ Deg = 20 μ Deg并且在经度方向上偏移2*1*5 μ Deg=10 μ Deg的方位是有效的。换句话说,不管网格密度如何,相同数目的数据点消耗相同数量的存储空间。
[0077]应当理解的是,在一个替换实施例中,第一跳跃因子HF1可以定义经度方向上的自适应网格的密度,第二跳跃因子HF2可以定义纬度方向上的自适应网格的密度。举例来说,HF1 = 2可以意味着可以在沿着纬度圈的参考网格的每两个网格点处存储数据,从而得到经度方向上的10 μ Deg的网格尺寸,HF2 = 8可以意味着可以在沿着经度圈的参考网格的每八个网格点处存储数据,从而得到纬度方向上的40 μ Deg的网格尺寸。
[0078]自适应网格例如可以携带由移动终端401、402在接收自一个节点的信号上测量的Rx水平数据,其中所述节点正作为这些移动终端401、402的服务节点操作。
[0079]现在将参照图7的流程图描述图3的系统的服务器200处的示例性操作。在从存储器202取回程序代码并且由处理器201执行时,处理器201和存储在存储器202中的程序代码使得服务器200实施所给出的操作。
[0080]首先,利用从某一配置中的指示导出的跳跃因子对于特定节点A设立自适应网格。(动作211)关于跳跃因子2N?的指示被存储在存储器206中。跳跃因子是关于与参考网格的密度相比的自适应网格的密度的度量。跳跃因子在该实施例中通常是2的乘方。如果针对为节点A设立自适应网格的触发是接收到对应于节点A的第一测量结果,则在考虑到跳跃因子的情况下通过到自适应网格的各个网格点的映射将所述测量结果存储在存储器206中。
[0081]服务器200随后等待将要更新对应于节点A的网格的当前密度的时间点,其中对应于所述节点的数据被存储在存储器206的数据库中。(动作212)所述更新可以在每次从移动终端接收到对应于节点A的新的测量数据之后实施,或者在对于节点A从移动终端接收到预定数量的新的测量数据之后实施,或者在对于所有节点从移动终端接收到预定数量的新的测量数据之后实施。
[0082]当检测到对应于更新的原因时,服务器200基于当前被用于节点A的存储空间确定对应于节点A的自适应网格的适当的密度改变。(动作213)适当的密度改变可以与存储空间的预定阈值相关联。举例来说,每当已使用的存储空间超出第一预定阈值时,或者每当剩余存储容量低于第一预定阈值时,则可以将密度减半。类似地,每当已使用的存储空间低于第二预定阈值时,或者每当剩余存储容量超出第二预定阈值时,可以将密度加倍。应当理解的是,对于增大和/或减小密度还可以设定并监测多个阈值。举例来说,每当已使用的存储空间超出第一预定阈值时可以将密度减半,并且每当已使用的存储空间超出另一个预定阈值时可以将密度降为四分之一,后面以此类推。在选择对应于存储空间的阈值时,必须考虑到自适应网格的密度改变被二次方地反映在所导致的已使用存储空间的改变中。
[0083]确定密度改变等效于确定跳跃因子的改变,这是因为1/2M的密度改变成反比地对应于与先前跳跃因子相比的2M的跳跃因子改变。举例来说,如果密度被减半,这对应于21=2的跳跃因子改变。
[0084]或者,例如可以基于当前使用的存储空间通过计算方式确定适当的密度;随后可以基于所确定的适当密度以及定义自适应网格的当前密度的先前存储的跳跃因子确定适当的密度改变。
[0085]如果所述密度保持与先前的密度相同(动作214),则在考虑到先前存储的跳跃因子的情况下通过到所述网格的各个网格点的映射存储对于节点A接收到的数据。(动作215)
[0086]如果所述密度低于先前的密度(动作214),则通过去除自适应网格的行和/或列来减小自适应网格的密度。(动作216)在这一处理中,去除与所丢弃的行和列相关联的当前存储的数据。为了便于实施,在密度减小超出减半的程度(例如减小到四分之一)的情况下,可以从先前存储的网格开始在几次迭代中去除每隔一行和/或每隔一列,以便获得新的网格。
[0087]相反,如果所述密度高于先前的密度(动作214),则服务器200通过向当前网格添加行和/或列来增大对应于节点A的自适应网格的密度。(动作217)。为了便于实施,在密度增大超出加倍的程度(例如增大到四倍)的情况下,可以从先前存储的网格开始在几次迭代中在每一行和每一列之后添加附加行和附加列,以便获得新的网格。
[0088]如果自适应网格的密度被改变(动作216、217),则服务器200在存储数据之前还确定对应于节点A的新的跳跃因子2Nnev。
[0089]为此目的,服务器200取回存储在存储器206中的关于对应于节点A的先前跳跃因子的指示(其现在被称作2N°ld)。随后可以将新的跳跃因子2Nn?确定为2Nn? = 2M*2Nn?_N°ld。(动作218)如果必须减少存储消耗,则新的跳跃因子大于早前的跳跃因子,并且如果可以增加存储消耗,则新的跳跃因子小于早前的跳跃因子。应当理解的是,例如还可以在调节自适应网格的密度之前或者与之并行地确定新的跳跃因子。
[0090]服务器200现在把关于对应于节点A的新的跳跃因子的指示存储在存储器206中。(动作219)所存储的关于跳跃因子的指示例如可以是跳跃因子2Νη?的指数Nnew的数值。
[0091]随后,通过到经过适配的网格的各个网格点的映射存储数据。(动作215)
[0092]可以通过到自适应网格的各个网格点的映射通过多种方式存储数据。网格例如可以由存储在数据库中的表来表示,并且数据可以作为表的条目来插入。但是应当理解的是,数据存储并不需要存储整个网格或者整个表。由于许多网格点到目前为止可能还不具有与之相关联的任何数据,因此例如可以利用游程长度编码高效地存储数据。此外替换的是,可以将具有相关联的数据的各个网格点的索引连同其后的分别相关联的数据存储在一个序列中。
[0093]最后,服务器200等待将要实施下一次更新的时间点。(动作212)
[0094]如果关于所述配置的参数中的默认跳跃因子的指示发生改变,则可以在动作213中附加地将其纳入考虑。举例来说,节点A可能具有跳跃因子HF = 21(1,并且所存储的测量数据对于节点A没有超出可接受的存储消耗。但是如果关于所述配置中的默认跳跃因子的指示被改变到HF = 212,则虽然当前存储的数据可以容纳到所允许的存储空间中,然而所述系统可能需要把所处理的小区的跳跃因子改变到HF = 212。相反,如果关于所述配置中的默认跳跃因子的指示被改变到HF = 26,则服务器200可以尝试在可接受存储消耗的限制内尽可能多地降低跳跃因子。
[0095]应当理解的是,在一个替换实施例中,服务器200还可以对于单一自适应网格的纬度和经度方向确定并存储单独的跳跃因子。这样做的效果可以在于,可以把地球的球形形状纳入考虑。举例来说,节点A可以最初具有跳跃因子HF1 = HF2 = 8。也就是说,网格间距可以是(28)*5 = 1280 yDeg。现在,假设节点A处于60度纬度处。在这种情况下,1280 μ Deg对应于纬度方向上的142米,但是仅对应于经度方向上的71米。因此,在第一步骤中,可以利用新的跳跃因子仅把经度方向上的密度减半,并且可以监测这样做是否足以减少存储空间。这样做可以防止丢弃多于必要的所存储的测量结果。
[0096]在图8中示出了减小自适应网格的密度的处理。图8在顶部示出了在更新之前作为存储对应于节点A的数据的基础的自适应网格。图8在底部示出了在更新之后将被用作存储对应于节点A的数据的基础的自适应网格。所述自适应网格在全部两种情况中都由虚线示出,而该区域中的参考网格则用实线示出。
[0097]在图8的上半部分中可以看到,早前的跳跃因子2?1<1是21 = 2 ;因此自适应网格包括所选区域中的参考网格的每隔一行和每隔一列。网格点的相关联的索引范围是从自适应网格的原点处的(0,0)到(8,4)。
[0098]现在可以假设将新的跳跃因子选择为2Νη? = 22 = 4。因此,对于新的自适应网格,先前的自适应网格的每隔一行和每隔一列被去除。其结果是,与每隔一行中的各个网格点和每隔一列中的各个网格点相关联的所存储的数据也被去除,也就是说与具有索引(Y,I)和(γ,3)(其中Y = 0...8)的网格点以及具有索引(1,Χ)、(3,Χ)、(5,Χ)和(7,Χ)(其中X=0...4)的网格点相关联的数据被丢弃。其结果是,对应于节点A的数据量降低到先前存储的数据量的近似1/4。
[0099]从图8的下半部分中可以看到,在去除列和行时,自适应网格的索引也发生改变。在具有相关联的数据的剩余的网格点中,每一个索引被除以2M = 2。网格点的索引范围现在是从原点处的(0,0)到(4,2)。
[0100]图8还示出了将跳跃因子限制到2的乘方的效果。当减小自适应网格的密度的处理只是简单地需要去除偶数行和列时,所述处理可以是相当直接明了的。如果跳跃因子是自由可选择的,则进行放大可能是更加繁重的任务。
[0101]可以认为在图8中还示出了增大自适应网格的密度的处理,此时将图8的下半部分视为代表基于跳跃因子4的对应于节点A的早前网格,图8的上半部分代表基于跳跃因子2的对应于节点A的新网格。当对应于节点A的网格的跳跃因子从4改变到2时,通过在早前网格的所有现有行之间添加对应的新一行并且通过在所有现有列之间添加对应的新一列来增大对应于节点A的网格的密度。在所述处理中,网格点的数目近似增大到四倍。
[0102]图8还示出了在缩小跳跃因子时将跳跃因子限制到2的乘方的效果。其使得缩小处理非常简单,因为只需要添加(最初是)空的各行/各列。同样地,对于自由可选择的跳跃因子,所述处理的需求在某种程度上更高。
[0103]无论如何应当理解的是,在一些替换实施例中也可以使用并非2的乘方的跳跃因子。
[0104]图9和10示出了在动作216中调节对应于一个节点的自适应网格时可以由服务器200考虑到的另一方面,也就是说作为跳跃因子的模数将自适应网格与参考网格对准。也就是说,每一个自适应网格的原点总是被选择成可以从参考网格的原点通过根据纬度和经度方向上的跳跃因子反复跳跃而到达。举例来说,如果跳跃因子对于特定自适应网格在纬度方向上是4并且在经度方向上是2,则当从原点在纬度方向上移动n*4个纬度网格间距并且在经度方向上移动m*2个经度网格间距时可以到达自适应网格的原点,其中η和m是自然数。这样做的效果可以在于,对应于为之在存储器206中存储数据的所有节点的自适应网格被彼此对准。
[0105]图9在上半部分中通过举例的方式示出了参考网格600上的不同位置处的两个自适应网格610、620。参考网格600由实线示出,自适应网格610、620由虚线示出。全部两个自适应网格610、620在纬度和经度方向上都是基于跳跃因子2。第二网格620的原点位于第一网格610的索引为(2,I)的网格点处。在第一网格610和第二网格610的重叠区域内,网格610和620仅包括匹配位置处的网格点。
[0106]因此网格610和620完美地对准,这在网格数据被使用在传统加指纹的情境中的情况下可能是有利的,其中使用对应于来自多个通信节点的信号的测量结果并且将其与存储在数据库中的数据进行比较。这就要求具有相关联的测量结果待存储的方位对准,从而要求所使用的网格对准。
[0107]随后可以对于全部两个自适应网格在经度方向上把跳跃因子改变到4,从而得到经过调节的第一网格611和经过调节的第二网格621。在图9的下半部分中可以看到,网格611和621也完美地对准。
[0108]图10示出了第二种情况。在上半部分中,第一网格710处于与图9的上半部分中的第一网格610相同的位置处,但是第二网格720的原点现在与第一网格710的索引为(I, D的网格点重合。然而网格710和720仍然对准。
[0109]现在,对于全部两个自适应网格同样在经度方向上将跳跃因子改变到4,从而得到如在图10的下半部分中示出的第一网格711和第二网格721。可以看到,网格711和721现在失准,从而可能使得在某些点处不可能进行基于加指纹的定位。这些点在图10中由六边形731和732标记。
[0110]因此,对于某些应用可能有利的是,利用自适应网格的跳跃因子的模数(或者如果跳跃因子在两个方向上是不同的话,则利用全部两个跳跃因子的模数)使得对应于所有节点的自适应网格对准到参考网格。
[0111]或者在如图10的上半部分所示出的情况中,可以使得当对于网格720的各列将跳跃因子从2改变4时去除每隔一列,从而使得将要去除的第一列是具有局部坐标(0,x)(其中X = 1,2,3)的第一列。通过这种方式,经过改变后的各个网格同样重合。
[0112]现在将参照图11的流程图来描述利用所存储的跳跃因子的图3的系统的示例性操作。在图11的左侧给出了服务器200处的操作。在从存储器202取回程序代码并且由处理器201执行时,处理器201和存储在存储器202中的程序代码使得服务器200实施所给出的操作。移动终端401、402处的操作在图11的右侧给出。
[0113]移动终端401接收卫星信号并且确定其当前方位。此外,移动终端401检测由一个或更多WLAN 330的接入点(AP)以及/或者由蜂窝网络320的一个或更多基站传送的信号。移动终端401聚集这些信号上的测量结果,并且将对应于至少一个节点的一项或多项测量结果与该节点的直接或间接标识相关联,所述标识例如是服务小区的小区身份或者当前接入的WLAN AP的身份。移动终端401随后将测量结果和相关联的标识连同作为指纹的关于所确定的方位的指示传送到服务器200。(动作421)所述传送可以通过WLAN 330和网络310发生,或者通过蜂窝网络320和网络310发生。必须提到的是,在一个替换实施例中,还可以基于除GNSS之外的某种其他定位技术来确定移动终端401的方位。举例来说,如果移动终端401收集蜂窝无线电信号上的测量以供传送到服务器200,则移动终端401可以基于WLAN信号而不是GNSS信号来确定其方位。
[0114]移动终端401可以在四处移动的同时从不同位置传送对应于相同节点的测量结果。此外,附接到相同节点的其他移动终端(例如移动终端402)可以向服务器200传送相应的报告。
[0115]服务器200从移动终端401接收具有测量结果和相关联的方位指示的报告。(动作 221)
[0116]服务器200确定至少其中一项测量结果所涉及的节点的身份,并且从存储器206取回对于该节点存储的数据(如果存在的话)。此外,服务器200取回对于所述节点存储在存储器206中的当前跳跃因子(如果存在的话)。(动作222)
[0117]接下来,在考虑到跳跃因子的情况下,服务器200把在该处收集了所述至少一项测量结果的所指示的方位匹配到自适应网格的一个网格点。(动作223)如果到目前为止对于该节点还没有数据可用,则假设2° = I的跳跃因子,其对应于与参考网格具有相同密度从而是具有最大密度的网格。或者可以将一个默认数值用作初始跳跃因子,例如24= 16或任何其他数值。可以对于每种空中接口类型提供专用的默认数值,也就是说所述默认数值对于WLAN、GSM等等可以是不同的。
[0118]服务器200随后通过到所确定的网格点的映射将测量结果存储在存储器206中的数据库中。(动作224)
[0119]存储器206中的数据库中的数据可以被用于定期更新另外的模型(例如无线电信道模型),或者被直接用于支持移动终端的定位。(动作225)在为此目的从存储器206取回对应于一个或更多节点的数据时,同样考虑到所存储的跳跃因子,以便获得对应于每一个节点的对应的自适应网格的网格点之间的正确间距。
[0120]必须提到的是,具有GNSS能力的移动终端也可以通过使用蜂窝/非蜂窝定位技术而受益,以便利用所获得的位置作为参考位置来加速首次定位时间,或者减少功率消耗。此夕卜,并非所有应用都需要基于GNSS的方位。此外,与基于卫星信号的定位技术相比,基于地面无线电信号的定位技术可以更适合室内工作。
[0121]必须理解的是,移动终端也可以受益于利用自适应网格来存储对应于不同节点的数据的实现方式。举例来说,如果移动终端特别被提供用于测量来自节点的信号,则其在向服务器提供数据之前可以收集对应于各个节点的大量样本。与此同时,移动终端可以把数据映射到自适应网格的各个网格点,将所映射的数据存储在内部存储器中,以及不时更新对应于每一个节点的自适应网格,其方式与参照图7对于服务器200所描述的方式类似。
[0122]因此总而言之,本发明的某些实施例的效果可以在于允许随着关于节点范围的信息的累积而简单地放大和缩小网格密度。这样做可以在存储对应于大范围节点的数据时减少存储消耗,并且与此同时在尚不知道节点的完全范围时支持所存储数据的高密度。
[0123]在所描述的实施例中给出的任何连接应当被理解为所涉及的组件是可操作地耦合的。因此,所述连接可以是直接连接或者是具有任意数目或组合的中间元件的间接连接,并且在组件之间可以仅有功能上的关系。
[0124]此外,在本文中所使用的术语“电路”指的是以下各项当中的任一项:
[0125](a)仅有硬件的电路实现方式(比如仅在模拟和/或数字电路中的实现方式);
[0126](b)电路与软件(和/或固件)的组合,比如:(i)(多个)处理器的组合或者(ii)(多个)处理器/软件的各个部分(其中包括一起工作来使得例如移动电话之类的设备施行各项功能的(多个)数字信号处理器、软件以及(多个)存储器);以及
[0127](C)需要软件或固件来操作的电路,比如(多个)微处理器或(多个)微处理器的一部分,即使所述软件或固件并不以物理方式存在。
[0128]“电路”的这一定义适用于本文中对于该术语的所有使用,其中包括在任何权利要求中的使用。作为另一个实例,本文中所使用的术语“电路”还将涵盖仅有处理器(或多个处理器)或者处理器的一部分及其伴随的软件和/或固件的实现方式。术语“电路”例如还涵盖用于移动电话的基带集成电路或专用集成电路。
[0129]在本文中提到的任何处理器可以是任何适当类型的处理器。任何处理器可以包括(而不限于)一个或更多微处理器、伴随有(多个)数字信号处理器的一个或更多处理器、不具有伴随的(多个)数字信号处理器的一个或更多处理器、一个或更多专用计算机芯片、一个或更多现场可编程门阵列(FPGA)、一个或更多控制器、一个或更多专用集成电路(ASIC)或者一台或更多台计算机。相关的结构/硬件已被编程来实施所描述的功能。
[0130]在本文中提到的任何存储器可以被实施为单一存储器或者多个不同存储器的组合,并且例如可以包括只读存储器、随机存取存储器、闪存或硬盘驱动器存储器等等。
[0131]此外,这里所描述或示出的任何动作可以利用通用或专用处理器中的可执行指令来实施,并且被存储在计算机可读存储介质(例如盘、存储器等等)上以便由这样的处理器执行。在提到“计算机可读存储介质”时,其应当被理解成涵盖例如FPGA、ASIC、信号处理装置以及其他装置之类的专用电路。
[0132]由处理器101或201分别与存储器102或202相组合或者集成电路205示出的功能还可以被视为:用于确定关于参考网格的密度定义自适应网格的密度的至少一个因子的装置,同时所述自适应网格被用作通过到自适应网格的各个网格点的映射存储与通信网络的节点有关的数据的基础;以及用于使得存储关于为所述节点确定的至少一个因子的指示的装置。
[0133]存储器102和202中的程序代码分别还可以被视为以功能模块的形式包括这样的
>J-U ρ?α装直。
[0134]图2和7还可以被理解成代表用于支持映射到网格的各个网格点的数据存储的计算机程序代码的示例性功能块。
[0135]应当理解的是,所有给出的实施例都仅仅是示例性的,对于特定的示例性实施例给出的任何特征可以被单独用于本发明的任何方面,或者与对于相同的或另一个特定的示例性实施例给出的任何特征相组合,以及/或者与未提到的任何其他特征相组合。还应当理解的是,对于特定类别中的示例性实施例给出的任何特征可以按照相应的方式被使用在任何其他类别中的示例性实施例中。
【权利要求】
1.一种方法,其包括在设备处: 确定关于参考网格的密度定义自适应网格的密度的至少一个因子,同时所述自适应网格被用作通过到所述自适应网格的网格点的映射存储与通信网络的节点有关的数据的基础;以及 使得存储关于为所述节点确定的至少一个因子的指示。
2.根据权利要求1的方法,其还包括通过以下步骤的其中之一获得所述自适应网格的密度: 考虑到配置; 通过向所述自适应网格添加列和行的至少其中之一来增大所述自适应网格的先前密度;以及 通过去除所述自适应网格的行和列的至少其中之一来减小所述自适应网格的先前密度。
3.根据权利要求1和2的其中之一的方法,其中,确定所述至少一个因子包括对于以下情况的至少其中之一确定所述至少一个因子: 在检测到存储消耗的改变之后; 在接收到对于所述节点的新数据之后;以及 在接收到预定数量的新数据之后。
4.根据权利要求1到3的其中之一的方法,其还包括基于所述当前存储消耗和配置中的指示的至少其中之一来确定所述至少一个因子。
5.根据权利要求1到4的其中之一的方法,其中,所述至少一个因子包括至少一个跳跃因子,其定义所述自适应网格的每行的所述参考网格的行数以及所述自适应网格的每列的所述参考网格的列数的至少其中之一。
6.根据权利要求5的方法,其中,所述至少一个跳跃因子是2的乘方。
7.根据权利要求1到6的其中之一的方法,其还包括基于所选择的至少一个因子把所述自适应网格与所述参考网格对准。
8.根据权利要求1到7的其中之一的方法,其还包括接收对于所述节点的数据并且通过到所述自适应网格的网格点的映射存储所接收到的数据,其中考虑到所确定的因子。
9.根据权利要求1到8的其中之一的方法,其还包括通过到所述自适应网格的网格点的映射取回对于所述节点存储的数据,并且在考虑到所确定的因子的情况下对所述数据进行处理。
10.一种设备,其包括用于实现权利要求1到9当中的任一条的动作的装置。
11.根据权利要求9的设备,其中,所述设备是以下各项的其中之一: 服务器; 用于服务器的组件; 移动终端;以及 用于移动终端的组件。
12.—种设备,其包括至少一个处理器以及包括计算机程序代码的至少一个存储器,所述至少一个存储器和计算机程序代码被配置成利用所述至少一个处理器使得设备至少实施以下步骤: 确定关于参考网格的密度定义自适应网格的密度的至少一个因子,同时所述自适应网格被用作通过到所述自适应网格的网格点的映射存储与通信网络的节点有关的数据的基础;以及 使得存储关于为所述节点确定的至少一个因子的指示。
13.根据权利要求12的设备,其中,所述计算机程序代码还被配置成利用所述至少一个处理器使得设备通过以下步骤的其中之一获得所述自适应网格的密度: 考虑到配置; 通过向所述自适应网格添加列和行的至少其中之一来增大所述自适应网格的先前密度;以及 通过去除所述自适应网格的行和列的至少其中之一来减小所述自适应网格的先前密度。
14.根据权利要求12和13的其中之一的设备,其中,所述计算机程序代码被配置成利用所述至少一个处理器使得设备对于以下情况的至少其中之一确定所述至少一个因子: 在检测到存储消耗的改变之后; 在接收到对于所述节点的新数据之后;以及 在接收到预定数量的新数据之后。
15.根据权利要求12到14的其中之一的设备,其中,所述计算机程序代码还被配置成利用所述至少一个处理器使得设备基于所述当前存储消耗和配置中的指示的至少其中之一来确定所述至少一个因子。
16.根据权利要求12到15的其中之一的设备,其中,所述至少一个因子包括至少一个跳跃因子,其定义所述自适应网格的每行的所述参考网格的行数以及所述自适应网格的每列的所述参考网格的列数的至少其中之一。
17.根据权利要求16的设备,其中,所述至少一个跳跃因子是2的乘方。
18.根据权利要求12到17的其中之一的设备,其中,所述计算机程序代码还被配置成利用所述至少一个处理器使得设备基于所选择的至少一个因子把所述自适应网格与所述参考网格对准。
19.根据权利要求12到18的其中之一的设备,其中,所述计算机程序代码还被配置成利用所述至少一个处理器使得设备接收对于所述节点的数据并且通过到所述自适应网格的网格点的映射存储所接收到的数据,其中考虑到所确定的因子。
20.根据权利要求12到19的其中之一的设备,其中,所述计算机程序代码还被配置成利用所述至少一个处理器使得设备通过到所述自适应网格的网格点的映射取回对于所述节点存储的数据,并且在考虑到所确定的因子的情况下对所述数据进行处理。
21.根据权利要求12到20的其中之一的设备,其中,所述设备是以下各项的其中之 服务器; 用于服务器的组件; 移动终端;以及 用于移动终端的组件。
22.—种计算机程序代码,所述计算机程序代码在由处理器执行时使得设备实施权利要求I到9当中的任一条的方法的各项动作。
23.一种其中存储有计算机程序代码的计算机可读存储介质,所述计算机程序代码在由处理器执行时使得设备实施以下步骤: 确定关于参考网格的密度定义自适应网格的密度的至少一个因子,同时所述自适应网格被用作通过到所述自适应网格的网格点的映射存储与通信网络的节点有关的数据的基础;以及 使得存储关于为所述节点确定的至少一个因子的指示。
24.一种系统,其包括根据权利要求10到21的其中之一的设备以及至少一个移动终端。
【文档编号】H04W64/00GK104303070SQ201280073196
【公开日】2015年1月21日 申请日期:2012年3月15日 优先权日:2012年3月15日
【发明者】L·A·J·维罗拉, T·A·莱内, J·叙耶里宁 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1