一种地理位置服务方法、服务器和系统与流程

文档序号:11864731阅读:510来源:国知局
一种地理位置服务方法、服务器和系统与流程
本发明涉及信息技术处理领域,尤其涉及一种地理位置服务方法、服务器和系统。
背景技术
:地址位置服务(LocationBasedService,LBS),通常是基于支持地理位置空间索引的数据库(如MongoDB、PostGIS)构建的地址位置数据索引和查询服务。当由于不可预见的突发事件导致一定地理位置区域迅速成为热点并由此带来短时间内大量数据索引和查询请求时,由于过度依赖数据库来执行索引和查询,数据库很容易成为整个服务的瓶颈,引起服务质量下降。同时一旦数据库出现问题无法访问,会直接导致服务不可用。在一些软件的应用场景中就会经常出现暴增的LBS查询和写入,比如下班高峰期时期大量用户聚集核心商业区在约车软件上约车,或者午餐时间集中在外卖软件上点外卖,即在人群聚集区域短时间内有较多人使用LBS服务时都会使这些区域成为热点区域。而这些暴增的LBS查询和写入通常会导致数据库的查询性能急剧降低,查询耗时增加,查询吞吐量大幅降低,服务器CPU负载急剧上升,数据库主从复制出现较大延迟的现象。现有的解决方案是根据经纬度进行分区,并为每个分区建立数据库集群。通过这种将数据进行分区存储的方式,把索引和查询分散到多个存储集群来缓解上述问题。这种分区解决方案虽然能在一定程度上缓解问题,但并没有从根本上解决热点访问暴增所带来的问题。在任一个分区内出现热点访问,索引和查询量暴增时依然不可避免地出现上述问题,导致在同一分区内的查询服务质量下降。技术实现要素:为此,本发明提供一种地理位置服务方法、服务器和系统,以力图解决或至少缓解上面存在的问题。根据本发明的一个方面,提供一种地理位置服务方法,适于在服务器中执行,该方法包括:接收用户的与地理位置有关的数据查询请求,该数据查询请求中包含有用户的当前地理位置信息;以用户的当前地理位置为中心、第一距离为半径设置一圆形区域;根据地理空间索引库检索圆形区域内覆盖的所有地理空间单元的单元标识;以检索到的单元标识作为关键词在分布式高速缓存中搜索匹配的数据,其中该分布式高速缓存中的数据是与单元标识关联存储的;如果未从该分布式高速缓存中搜索到与单元标识匹配的数据,则将所有未匹配成功的单元标识分别作为关键词在数据库中搜索匹配的数据;根据用户的查询请求中包含的条件将从分布式高速缓存中搜索到的数据和从数据库中搜索到的数据依次进行合并、过滤及排序处理;向用户返回包含处理后的数据的查询结果。可选地,在根据本发明的方法中,地理空间索引库包括GoogleS2Library或Geohash工具库。可选地,在根据本发明的方法中,当地理空间索引库采用GoogleS2Library工具库时,地理空间单元适于采用第15级的面积大小。可选地,在根据本发明的方法中,数据库适于采用MongoDB数据库,所述分布式高速缓存适于采用Memcache内存缓存系统。可选地,在根据本发明的方法中,将所有未匹配成功的单元标识分别作为关键词在数据库中搜索匹配的数据的步骤包括:计算每个单元标识所对应的地理空间单元的顶点经纬度;根据该顶点经纬度信息在MongoDB数据库中通过执行多边形查询的方法搜索匹配对应的数据。可选地,在根据本发明的方法中,还包括:如果经过处理后的数据总量未达到第一数值,则继续在数据库中搜索圆形区域内覆盖的所有地理空间单元之外的数据,直至数据总量达到第一数值。可选地,在根据本发明的方法中,还包括:将以所有未匹配成功的单元标识分别作为关键词在数据库中搜索到的数据及其对应的单元标识关联存储到分布式高速缓存中。可选地,在根据本发明的方法中,还包括:接收用户的与地理位置有关的数据写入请求,所述数据写入请求中包含有用户的当前地理位置信息和待写入的数据;根据地理空间索引库检索用户的当前地理位置所属的地理空间单元的单元标识;将所述待写入的数据发送至消息队列中进行中转处理;判断分布式高速缓存中是否存储有所述根据数据写入请求检索到的单元标识;若是则将所述经过中转处理后的数据同时发送至数据库和分布式高速缓存中进行存储;否则只发送至数据库中进行存储。根据本发明的另一个方面,提供一种服务器,包括:请求接收单元,适于接收用户的数据查询请求,该数据查询请求中包含有用户的当前地理位置信息;区域设定单元,适于以用户的当前地理位置为中心、第一距离为半径设置一圆形区域;标识检索单元,适于根据地理空间索引库检索圆形区域内覆盖的所有地理空间单元的单元标识;第一获取单元,适于以检索到的单元标识作为关键词在分布式高速缓存中搜索匹配的数据,其中该分布式高速缓存中的数据是与单元标识关联存储的;第二获取单元,适于当未从分布式高速缓存中搜索到与单元标识匹配的数据时,将所有未匹配成功的单元标识分别作为关键词在数据库中搜索匹配的数据;数据处理单元,适于根据用户的查询请求中包含的条件将从分布式高速缓存中搜索到的数据和从数据库中搜索到的数据依次进行合并、过滤及排序处理;结果返回单元,适于向用户返回包含处理后的数据的查询结果。可选地,在根据本发明的服务器中,地理空间索引库包括GoogleS2Library或Geohash工具库。可选地,在根据本发明的服务器中,当地理空间索引库采用所述GoogleS2Library工具库时,地理空间单元适于采用第15级的面积大小。可选地,在根据本发明的服务器中,数据库适于采用MongoDB数据库,分布式高速缓存适于采用Memcache内存缓存系统。可选地,在根据本发明的服务器中,第二获取单元适于根据以下方法根据未匹配成功的单元标识在数据库中搜索匹配的数据:计算每个单元标识所对应的地理空间单元的顶点经纬度;根据该顶点经纬度信息在MongoDB数据库中通过执行多边形查询的方法搜索匹配的数据。可选地,在根据本发明的服务器中,还包括:数据补充单元,适于当所述经过处理后的数据总量未达到第一数值时,继续在数据库中搜索圆形区域内覆盖的所有地理空间单元之外的数据,直至数据总量达到第一数值。可选地,在根据本发明的服务器中,还包括:数据存储单元,适于将以所有未匹配成功的单元标识分别作为关键词在数据库中搜索到的数据及其对应的单元标识关联存储到分布式高速缓存中。可选地,在根据本发明的服务器中,请求接收单元还适于接收用户的与地理位置有关的数据写入请求,该数据写入请求中包含用户的当前地理位置信息和待写入的数据;标识检索单元还适于根据地理空间索引库检索用户的当前地理位置所属的地理空间单元的单元标识。可选地,在根据本发明的服务器中,还包括:数据中转单元,适于将待写入的数据发送至消息队列中进行中转处理。可选地,在根据本发明的服务器中,数据存储单元还适于判断分布式高速缓存中是否存储有根据数据写入请求检索到的单元标识;若是则将经过中转处理后的数据同时发送至数据库和分布式高速缓存中进行存储;否则只发送至数据库中进行存储。根据本发明的另一个方面,提供一种地理位置服务系统,包括如上所述的服务器和至少一个移动终端。根据本发明提供的技术方案,根据GoogleS2Libarary工具库将地理空间划分为多个地理空间单元,每个地理空间单元都有其对应的单元标识,并在分布式高速缓存中将与地理位置有关的数据及该位置所述的单元标识进行关联存储。当基于某一热点位置发生海量查询请求时,优先从分布式高速缓存中搜索当前位置500m范围内的匹配数据,以此支撑热点位置的从而解决数据查询对数据库的强依赖问题。若某一位置的单元标识在分布式高速缓存未命中对应匹配的数据,则从数据库中搜索数据,并采取WriteAnyway策略将从数据库中获取到的数据存储到分布式高速缓存中。而对于海量数据写入对数据库造成的压力,则通过增加消息队列来缓解,写入请求中所包含的数据首先发送至消息队列,然后由队列处理机从消息队列中取出数据并处理。此外,在处理队列消息更新存储时对分布式高速缓存和数据库双写以保证内存缓存和数据库的一致性。附图说明为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。图1示出了根据本发明一个实施例的地理位置服务系统100的示意图;图2示出了根据本发明一个实施例的地理位置服务方法200的流程图;图3示出了根据GoogleS2Library中第14级的地理空间单元示意图;图4示出了根据GoogleS2Library中第15级的地理空间单元示意图;图5示出了根据GoogleS2Library中第16级的地理空间单元示意图;图6示出了根据本发明另一个实施例的地理位置服务方法600的流程图;图7示出了根据本发明一个实施例的服务器700的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1示出了根据本发明一个实施例的地理位置服务系统100的示意图。如图1所示,该系统一个服务器和至少一个智能终端。服务器可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者是一个云计算服务中心。此外,用于组成服务器集群或云计算服务中心的多个服务器可以驻留在多个地理位置中,本发明对服务器的部署方式不做限制。智能终端可以是可连网的车载导航,手机、平板电脑等移动设备,也可以是智能手表、智能眼镜等可以连网的可穿戴设备。虽然图1中仅示例性地示出了一个智能终端,但是本领域技术人员可以意识到,该系统中还可以包括多个智能终端,本发明对地理位置服务系统中的智能终端的数目并无限制。智能终端可以以有线或无线的方式与导航服务器建立连接。当然,在大多数导航情境中,智能终端与导航服务器建立的是无线连接,例如,采用3G、4G、WiFi、个人热点、IEEE802.11x、蓝牙等技术建立无线连接。服务器向智能终端提供与地理位置相关的服务,如响应于用户在美图公司(经纬度(24.492143,118.175379))提交的查询附近500米内的美拍视频,向用户返回查询结果。此外,还可以通过多种途径接收用户上传的与地理位置相关的数据,如接收用户在某一位置上传的美拍视频、微博和帖子,这些数据通常都带有用户的当前地理位置信息,如经纬度信息等。图2示出了根据本发明一个实施例的基于热点访问的地理位置服务方法200的流程图,该方法始于步骤S210。在步骤S210中,接收用户的与地理位置有关的数据查询请求,所述数据查询请求中包含有用户的当前地理位置信息。随后,在步骤S220中,以用户的当前地理位置为中心、第一距离为半径设置一圆形区域。基于地理位置的服务,通常附近500m内的数据对用户而言更有意义,如附近500m内的专车、饭店等,因此第一距离可以设定为500m,当然也可以根据实际情况设置为其他数值。随后,在步骤S230中,根据地理空间索引库检索所述圆形区域内覆盖的所有地理空间单元的单元标识。其中,圆形区域内覆盖的所有地理空间单元可参见图3中的所示的所有四边形格子单元。如上所述的地理空间索引库可以采用GoogleS2Library或GeoHash工具库,不同的是前者基于球面模型而后者基于平面模型。以GoogleS2Library为例,它将地球的球面根据等级规则分割成小的地理空间单元(Cell),每个单元都有其唯一的ID编号,可以称之为CellID。实际上,地球上每一平方厘米的面积都可以用一个唯一CellID来表示,将CellID转换成16进制编码即为该地理空间单元的单元标识(CellToken),以单元标识为关键词可以在分布式高速缓存或数据库中搜索到匹配该单元标识所属的地理空间单元的数据。每个单元的大小和形状也不完全相同,这通常取决于该单元在地球上的位置。地理空间单元的等级及其所表示的单元面积大小关系如下表所示:等级最小面积最大面积085,011,012km285,011,012km2121,252,753km221,252,753km2123.31km26.38km2300.48cm20.93cm2通过GoogleS2Library可以计算出覆盖一个特定形状所需要的单元。若设定查询附近500m内的数据,则我们需要确定覆盖用户当前的地理位置为中心、以500米为半径的圆形区域,所需的相同等级的地理空间单元及单元覆盖面积。图3-5分别示出了GoogleS2Library中第14级、15级、16级的地理空间单元示意图,其中的圆形区域即为覆盖附近500m的区域范围。发明人根据大量实际测试发现,14级的地理空间单元覆盖面积较大,导致用户在查询时得到较多500m范围之外的无关数据;16级的地理空间单元覆盖面积又过小,则覆盖500米的圆形区域需要更多的地理空间单元,增加了缓存查询的工作量。因此,发明人综合考虑覆盖特定区域所需要的单元数以及每个单元所覆盖的区域面积,选择15级的地理空间单元以获得较好的用户体验。计算一个地理位置所属的15级地理单元的单元标识,可以通过如下方法调用得出:publicStringgetCellToken(doublelongitude,doublelatitude){S2Cellcell=newS2Cell(S2LatLng.fromDegrees(latitude,longitude));returncell.id().parent(15).toToken();}以美图公司所在经纬度(24.4921434999,118.1753793695)为例,其所在15级地理空间单元的ID为3752794007428661248,转换为16进制得到单元标识Token为34149a444,根据这个单元标识即可在分布式高速缓存或数据库中搜索到美图公司所在地理空间单元的与位置有关的数据。若用户在美图公司附近请求查询附近的视频美拍,服务器接收该请求后,首先通过GoogleS2Library计算出覆盖该地理位置500米内的所有地理空间单元的单元标识,当然也可以根据实际情况调整半径大小。其中,计算覆盖以指定经纬度为中心,500米为半径的所有地理空间单元标识,可通过以下方法得出(Java):在上述例子中,覆盖美图公司附近500m圆形区域的所有地理空间单元标识为:"34149a40c","34149a414","34149a434","34149a43c","34149a444","34149a44c","34149a454","34149a45c","34149a464","34149a46c","34149a474","34149a47c","34149a48c","34149a4f4","34149a4fc","34149a5ac","34149a5b4",共17个,分别对应图4中所示的17个四边形单元。随后,在步骤S240中,以检索到的单元标识作为关键词在分布式高速缓存中搜索匹配的数据,其中该分布式高速缓存中的数据是与单元标识关联存储的。具体地,分布式高速缓存可以采用Memcache内存缓存系统,在搜索数据时可以通过Memcache的MultiGet并发获取内存缓存中所存储的每个地理空间单元内的数据。随后,在步骤S250中,如果未从该分布式高速缓存中搜索到与单元标识匹配的数据,则将所有未匹配成功的单元标识分别作为关键词在数据库中搜索匹配的数据。另外还可以将上述以所有未匹配成功的单元标识分别作为关键词在数据库中搜索到的数据及其对应的单元标识关联存储到分布式高速缓存中。具体地,若在分布式高速缓存中未建立某单元标识的分项,则以该单元标识为关键词在数据库中搜索匹配的数据;即对所有在分布式高速缓存中未命中的单元标识,直接从数据库中获取数据。此外,在从数据库获取数据时可以不参照用户的查询条件,获取与这个单元标识相关的所有数据,并采用WriteAnyway的数据缓存写策略在分布式高速缓存中将从数据库中获取到的数据及其对应的单元标识关联存储。如用户在美图公司需要查询附近的美拍,但在分布式高速缓存中并未存储美图所在的"34149a444"单元标识及其对应的数据。此时可以在数据库中以"34149a444"单元标识为关键词搜索所对应的数据,在这里就不限定为美拍类数据,而是所有与该单元标识相关的数据,如该地理空间单元内的微博、帖子、专车信息、饭店等,并将这些获取到的所有数据及其对应的"34149a444"单元标识在分布式告诉缓存中关联存储。如上所述的数据库可以采用MongoDB数据库,为在缓存穿透时从MongoDB数据库中准确读取一个地理空间单元内的数据,采用先计算该单元的顶点经纬度,然后在MongoDB中执行多边形查询来实现。具体地,可以通过如下方法计算地理空间单元顶点(Java):在<coordinates>中传入通过GoogleS2Library计算得到的地理空间单元的顶点经纬度数据即可。随后,在步骤S260中,根据用户的查询请求中包含的条件将从分布式高速缓存中搜索到的数据和从数据库中搜索到的数据依次进行合并、过滤及排序处理。随后,在步骤S270中,向用户返回包含处理后的数据的查询结果。具体地,可以先判定上述经过处理后的数据总量是否达到第一数值,如是否能够取满一页。若是则直接向用户返回查询结果;否则继续在数据库中搜索圆形区域内覆盖的所有地理空间单元之外的数据,直至数据总量达到第一数值,并向用户返回包含有已满足第一数值的数据的查询结果。这里,因为优先处理的是500m范围内的数据,所以后续从500m范围外补充的数据可以直接在附在原有数据之后返回给用户,当然也可以对这些补充的数据进行一定的过滤及排序处理,本发明对此不作限制。MongoDB数据库可以通过如下的查询语法读取500米外的数据:其中,<pointcoordinates>中指定用户当前位置,<minDistance>中指定最小距离,500米外首次查询时设定为500,非首次查询时<minDistance>值设定为上页结果中的最小值。需要说明的是,某些情况下用户会直接设定需要查找附近一定距离内的的数据,如1km、2km或5km等,此时为降低查询工作量,对于500m的数据可以采用上述方案,500m外的数据则可以直接去数据库中搜索,最终将这两部分获取到的数据进行合并处理后返回给用户。图6示出了根据本发明另一个实施例的地理位置服务方法600的流程图,该方法始于步骤S610。在步骤S610中,接收用户的与地理位置有关的数据写入请求,所述数据写入请求中包含有用户的当前地理位置信息和待写入的数据。以用户上传附近的美拍为例,用户上传美拍视频的同时,会带上用户的地理位置信息即用户当前所在的经纬度,服务器需要将位置信息及该美拍视频写入到分布式高速缓存和数据库中以供查询。随后,在步骤S620中,根据地理空间索引库检索用户的当前地理位置所属的地理空间单元的单元标识,具体检索方法已在步骤S230中详细说明。随后,在步骤S630中,将待写入的数据发送至消息队列中进行中转处理。具体地,将待写入的数据发送至消息队列后,多个队列处理机从消息队列中读取消息并进行处理。随后,在步骤S640中,判断分布式高速缓存中是否存储有所述根据数据写入请求检索到的单元标识,若是则在步骤S650中将上述经过中转处理后的数据同时发送至数据库和分布式高速缓存中进行存储;反之则在步骤S660中只发送至数据库中进行存储。即采用WriteIfExisted的数据缓存写策略,当向分布式高速缓存中写入数据时,若缓存中未缓存当前的单元标识,则不将新提交的数据写入缓存,以此避免在分布式高速缓存中存储大量的冷数据(用户根本没有查询过的数据)占用内存;高速缓存也会设置一定的过期时间,太久没有被访问就会被从高速缓存中清掉。其中,在将数据存储入分布式高速缓存中时,可先取出原数据,并将新提交的数据变更合并进去后进行存储。图7示出了根据本发明一个实施例的服务器700的结构示意图,该服务器包括:请求接收单元710、区域设定单元720、标识检索单元730、第一获取单元740、第二获取单元750、数据处理单元760和结果返回单元770。请求接收单元710适于接收用户的数据查询请求,该数据查询请求中包含有用户的当前地理位置信息;还适于接收用户的与地理位置有关的数据写入请求,该数据写入请求中包含用户的当前地理位置信息和待写入的数据。区域设定单元720适于以用户的当前地理位置为中心、第一距离为半径设置一圆形区域。标识检索单元730适于根据地理空间索引库检索圆形区域内覆盖的所有地理空间单元的单元标识;还适于根据地理空间索引库检索用户的当前地理位置所属的地理空间单元的单元标识。其中地理空间索引库可以采用GoogleS2Library或Geohash工具库,当采用GoogleS2Library工具库时,地理空间单元适于采用第15级的面积大小。第一获取单元740适于以检索到的单元标识作为关键词在分布式高速缓存中搜索匹配的数据,其中该分布式高速缓存中的数据是与单元标识关联存储的。第二获取单元750适于当未从分布式高速缓存中搜索到与单元标识匹配的数据时,将所有未匹配成功的单元标识分别作为关键词在数据库中搜索匹配的数据。其中,数据库可以采用MongoDB数据库,分布式高速缓存可以采用Memcache内存缓存系统。具体地,第二获取单元在MongoDB数据库中搜索数据时,可以计算每个单元标识所对应的地理空间单元的顶点经纬度;根据该顶点经纬度信息在MongoDB数据库中通过执行多边形查询的方法搜索匹配的数据。数据处理单元760适于根据用户的查询请求中包含的条件将从分布式高速缓存中搜索到的数据和从数据库中搜索到的数据依次进行合并、过滤及排序处理。结果返回单元770适于向用户返回包含处理后的数据的查询结果。此外,根据本发明的服务器,还可以包括数据存储单元、数据补充单元和数据中转单元。数据补充单元适于当经过处理后的数据总量未达到第一数值时,继续在数据库中搜索圆形区域内覆盖的所有地理空间单元之外的数据,直至数据总量达到第一数值。数据中转单元适于将待写入的数据发送至消息队列中进行中转处理。数据存储单元适于将以所有未匹配成功的单元标识分别作为关键词在数据库中搜索到的数据及其对应的单元标识关联存储到分布式高速缓存中;还适于判断该分布式高速缓存中是否存储有根据数据写入请求检索到的单元标识;若是则将经过中转处理后的数据同时发送至数据库和分布式高速缓存中进行存储;否则只发送至数据库中进行存储。根据本发明的服务器,其具体细节已在基于图1-6的描述中详细公开,在此不再进行赘述。根据本发明的技术方案,根据GoogleS2Libarary工具库划分为多个地理空间单元,并在分布式高速缓存中将每个地理空间单元内与地理位置有关的数据及其对应的单元标识关联存储。对于内存缓存已存储的数据不需要再从数据库中读取,减轻数据库的查询压力,解决了热点区域的高并发读取被数据库的并发能力所制约的问题,同时内存缓存也带来更短的查询耗时和更高的吞吐。此外,还通过消息队列中转写操作,写入请求首先进入消息队列,由队列处理机从消息队列中取出消息并处理,消除了对后端数据库的较大峰值写入,从而实现了保护后端数据库的目的。B10、如B9所述的服务器,其中所述地理空间索引库包括GoogleS2Library或Geohash工具库。B11、如B10所述的服务器,当所述地理空间索引库采用所述GoogleS2Library工具库时,所述地理空间单元适于采用第15级的面积大小。B12、如B9所述的服务器,所述数据库适于采用MongoDB数据库,所述分布式高速缓存适于采用Memcache内存缓存系统。B13、如B12所述的服务器,其中所述第二获取单元适于根据以下方法根据未匹配成功的单元标识在数据库中搜索匹配的数据:计算每个单元标识所对应的地理空间单元的顶点经纬度;根据该顶点经纬度信息在所述MongoDB数据库中通过执行多边形查询的方法搜索匹配的数据。B14、如B9所述的服务器,还包括:数据补充单元,适于当所述经过处理后的数据总量未达到第一数值时,继续在数据库中搜索所述圆形区域内覆盖的所有地理空间单元之外的数据,直至数据总量达到第一数值。B15、如B9所述的服务器,还包括:数据存储单元,适于将所述以所有未匹配成功的单元标识分别作为关键词在数据库中搜索到的数据及其对应的单元标识关联存储到分布式高速缓存中。B16、如B9所述的服务器,所述请求接收单元还适于接收用户的与地理位置有关的数据写入请求,所述数据写入请求中包含用户的当前地理位置信息和待写入的数据;所述标识检索单元还适于根据地理空间索引库检索用户的当前地理位置所属的地理空间单元的单元标识。B17、如B15所述的服务器,还包括数据中转单元,适于将所述待写入的数据发送至消息队列中进行中转处理。B18、如B17所述的服务器,所述数据存储单元还适于判断所述分布式高速缓存中是否存储有所述根据数据写入请求检索到的单元标识;若是则将所述经过中转处理后的数据同时发送至数据库和分布式高速缓存中进行存储;否则只发送至数据库中进行存储。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本
技术领域
内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本
技术领域
的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1