CN104704523A - 用于基于位置的发布和订阅的方法和装置 - Google Patents
用于基于位置的发布和订阅的方法和装置 Download PDFInfo
- Publication number
- CN104704523A CN104704523A CN201280076275.2A CN201280076275A CN104704523A CN 104704523 A CN104704523 A CN 104704523A CN 201280076275 A CN201280076275 A CN 201280076275A CN 104704523 A CN104704523 A CN 104704523A
- Authority
- CN
- China
- Prior art keywords
- subscription
- geographical hash
- issue
- region
- geographical
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0259—Targeted advertisements based on store location
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0261—Targeted advertisements based on user location
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/021—Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
提供了用于经由可缩放的基于位置的发布/订阅系统来提供移动服务的方法、装置、计算机程序产品和系统。就此而言,提供了一种方法,包括接收包括订阅区域的至少一个订阅以及包括发布位置的至少一个发布。该方法进一步包括确定该订阅区域的地理哈希表示,并且至少基于该发布位置和该订阅区域的地理哈希表示确定该至少一个发布是否与该至少一个订阅相匹配。该方法进一步包括在该至少一个发布与该至少一个订阅相匹配的情况下使得与该至少一个发布相关联的内容被传送。
Description
技术领域
本发明的示例实施例总体上涉及用于管理基于位置的发布和订阅的技术,尤其涉及用于经由可缩放的基于位置的发布/订阅系统提供移动服务的方法和装置。
背景技术
随着智能电话的日益普及,服务提供商已经看到了基于位置的服务在诸如天气、商业、照片分享等各个应用领域的流行性的急剧增长。例如,用户可能对附近的优惠券感兴趣。无论商家何时发布了新的优惠券,系统都需要基于用户移动设备的位置来找到对该优惠券感兴趣并且在地理上处于附近的用户集合。该系统随后可以向附近的用户提供优惠券。
不幸的是,现有的发布/订阅系统大多数是针对匹配的速度进行优化,并且系统性能在高度动态的工作负载下受到严重影响,例如当用户四处移动并且更新其位置时。无法快速处理位置更新,这些现有系统可能难以应对基于位置的服务不断增长的用户基数所带来的有所增加的工作负载。
发明内容
因此,根据本发明的示例实施例,提供了用于经由基于位置的发布/订阅系统来提供移动服务的方法、装置和计算机程序产品。就此而言,一个实施例的方法、装置和计算机程序产品可以提供基于位置的发布/订阅系统,其采用地理哈希表示——在另外的实施例中采用曼哈顿距离——来对基于位置的订阅和发布进行管理。以这种方式,该方法、装置和计算机程序产品可以允许与常规系统相比更为有效地对基于位置的订阅和发布进行管理。
在一个实施例中,提供了一种方法,其包括接收包括订阅区域的至少一个订阅,以及接收包括发布位置的至少一个发布。该方法还包括确定该订阅区域的地理哈希表示,以及至少基于该发布位置和该订阅区域的该地理哈希表示来确定该至少一个发布是否与该至少一个订阅相匹配。该方法还包括在该至少一个发布与该至少一个订阅相匹配的情况下,使得与该至少一个发布相关联的内容被传送。
在另外的实施例中,提供了一种装置,包括至少一个处理器以及包括程序代码指令的至少一个存储器,该存储器和程序代码指令被配置为与该处理器一起引导该装置至少接收包括订阅区域的至少一个订阅以及接收包括发布位置的至少一个发布。该装置还被引导以确定该订阅区域的地理哈希表示,以及至少基于该发布位置和该订阅区域的该地理哈希表示来确定该至少一个发布是否与该至少一个订阅相匹配。该装置还被引导在该至少一个发布与该至少一个订阅相匹配的情况下,使得与该至少一个发布相关联的内容被传送。
在再一实施例中,提供了一种计算机程序产品,其包括在其中存储程序代码部分的非瞬态计算机可读介质。该程序代码部分被配置为在执行时引导装置至少接收包括订阅区域的至少一个订阅,以及接收包括发布位置的至少一个发布。该装置被进一步引导以确定该订阅区域的地理哈希表示,以及至少基于该发布位置和该订阅区域的该地理哈希表示来确定该至少一个发布是否与该至少一个订阅相匹配。该装置还被引导以在该至少一个发布与该至少一个订阅相匹配的情况下,使得与该至少一个发布相关联的内容被传送。
在又一实施例中,提供了一种装置,其包括用于接收包括订阅区域的至少一个订阅的装置以及用于接收包括发布位置的至少一个发布的装置。该装置进一步包括用于确定该订阅区域的地理哈希表示的装置,并且用于至少基于该发布位置和该订阅区域的地理哈希表示来确定该至少一个发布是否与该至少一个订阅相匹配的装置。该装置还包括用于在该至少一个发布与该至少一个订阅相匹配的情况下使得与该至少一个发布相关联的内容被传送的装置。
在另一实施例中,提供了一种系统,其包括订阅设备、发布设备和网络单元。该网络单元包括一种装置,其包括至少一个处理器以及存储程序代码指令的至少一个存储器。该存储器和程序代码指令被配置为与该处理器一起引导该网络单元至少从该订阅设备接收包括订阅区域的至少一个订阅并从该发布设备接收包括发布位置的至少一个发布。该网络单元被进一步引导以确定该订阅区域的地理哈希表示,并且至少基于该发布位置和该订阅区域的地理哈希表示确定该至少一个发布是否与该至少一个订阅相匹配。该网络单元还被引导以在该至少一个发布与该至少一个订阅相匹配的情况下使得与该至少一个发布相关联的内容被传送至该订阅设备。
附图说明
由此已经总体上对本发明的实施例进行了描述,现在将参考附图,其并不必依比例进行绘制并且其中:
图1是根据本发明示例实施例的基于位置的发布/订阅系统中的发布/订阅匹配的图示;
图2是根据本发明示例实施例的基于位置的发布/订阅系统的操作的示图;
图3是地理哈希表示的图示;
图4是根据本发明示例实施例的订阅区域的地理哈希表示的图示;
图5是根据本发明示例实施例的订阅区域的曼哈顿距离表示的图示;
图6是根据本发明示例实施例的对多个订阅区域的曼哈顿距离表示所执行的轴旋转的图示;
图7是根据本发明示例实施例的使用曼哈顿距离的订阅区域的地理哈希表示的图示;
图8是可以支持本发明示例实施例的系统的示意性表示;
图9是可以被配置为实施本发明的示例实施例的用户设备的框图;
图10是可以由电子设备所体现或者与之相关联并且可以被配置为实施本发明示例实施例的装置的框图;和
图11是图示依据本发明实施例所执行的操作的流程图。
具体实施方式
现在将参考附图对本发明的一些实施例进行更为全面地描述,附图中示出了本发明的一些而非全部实施例。实际上,本发明的各个实施例可以以许多不同方式来实现,而并不应当被理解为局限于这里所给出的实施例。相同的附图标记通篇指代相同要素。如这里所使用的,术语“数据”、“内容”、“信息”以及类似术语可以互换使用以指代能够依据本发明的实施例而被传送、接收和/或存储的数据。此外,如这里所使用的术语“示例性”并非被提供用于传递任何定性声明,而是仅被用来传递示例的说明。因此,使用这样的术语并不应当被理解为对本发明实施例的精神和范围进行限制。
此外,如这里所使用的,术语“电路”是指(a)仅硬件的电路实现方式(例如以模拟和/或数字电路的实现方式);(b)电路和软件(和/或固件的组合),诸如(如可应用的):(i)处理器的组合或者(ii)共同工作而使得诸如移动电话或服务器的装置执行各种功能的处理器/软件(包括数字信号处理器)、软件和存储器的组合;和(c)电路,诸如微处理器或者微处理器的一部分,其需要软件或固件进行操作,即使该软件或固件并非物理存在。“电路”的这个定义应用于本申请中使用该术语的所有情况,包括任意权利要求。作为另一个示例,如这里所使用的,术语“电路”还将包括包含一个或多个处理器和/或其部分并且伴随软件和/或固件的实现方式。作为另一个示例,如这里所使用的术语“电路”例如还包括移动电话中的基带集成电路或应用处理器集成电路,或者蜂窝网络设备、其它网络设备和/或其它计算设备中类似的集成电路。
如这里所定义的,指代物理存储介质(例如,易失性或非易失性存储设备)的“计算机可读存储介质”可以与指代电磁信号的“计算机可读传输介质”有所不同。
如以下所描述的,提供了用于经由可缩放的基于位置的发布/订阅系统提供移动服务的方法、装置和计算机程序产品。发布/订阅系统可以在发布方和订阅方可能脱离耦合的环境中、例如在他们可能并不直接通信的环境中提供灵活的内容提供范例。在发布/订阅系统中,订阅方能够注册订阅,订阅例如定义过滤器,即订阅方可能希望接收到的未来发布。订阅(sub)可以包括诸如“关键字,值,运算符”三元组的断言(predicate)的汇集。发布方随后可以将发布(pub)发送至该发布/订阅系统。每个发布可以包括属性的汇集,例如“关键字,值”配对。该发布/订阅系统所接收到的每个新的发布随后可以与所有所注册的订阅进行匹配。例如,如果发布中的对应值满足订阅中的所有断言,则可以在发布/订阅配对之间确定匹配。也就是说,如果特定发布中的对应的(关键字,值)配对满足特定订阅中的每个断言三元组(关键字,值,运算符),则该特定发布可以与该特定订阅相匹配。基于位置的发布/订阅(LPS)系统是特定类型的发布/订阅系统,其中一个或多个断言/属性类型可以基于位置特性。
图1图示了LPS系统背后的基本概念。每个订阅可以包括订阅区域断言,其针对匹配的出现而要求发布处于某个距离之内。因此,如所示出的,每个所描绘的订阅(例如,“订阅1”、“订阅2”等)可以被概念化为具有与匹配距离相等的半径的圆。无论何时出现其位置处于一个或多个订阅圆中的新发布,例如“发布1”,该发布就与订阅相匹配,例如该位置断言被满足。如所描绘的,发布1将与订阅4和订阅8相匹配。LPS系统另外的特征在于订阅可以是“可移动的”。也就是说,当与特定订阅相关联的订阅方设备改变其位置时,位置更新将被发送给LPS系统。这些位置更新可以被概念化为使得图1中所描绘的订阅圆随着订阅方设备进行移动。因此,虽然订阅5并未被描绘为匹配发布1,但是如果与订阅5相关联的用户向东南移动足够的量,则可以在发布1和订阅5之间形成匹配。
图2在高层图示了LPS系统200的操作。如所示出的,LPS系统200可以接收发布210、订阅230和位置更新220,并且返回匹配结果240,并且使得与特定发布相关联的内容被提供至与对应的匹配订阅相关联的设备。在许多环境中,对位置更新220进行处理可能需要LPS系统的大部分处理能力,特别是当存在大量用户、例如订阅方的时候。处理位置更新所导致的系统负担因此可能使得LPS系统敏感于用户数量的增加,这降低了它们潜在的可扩展性。因此,将期望LPS系统允许进行快速且有效的订阅区域位置更新以及发布/订阅匹配。因此,本发明的实施例可以通过采用基于地理哈希的方案连同附加的相关联的细化和特征来提供这些优势。
地理哈希将经度/纬度坐标编码为人类友好的串。地理哈希使用分层空间编码方案,该方案将空间细分为网格形状的单元,例如“地理哈希框(box)”。通过改变地理哈希串的长度,能够实现变化的精度水平,例如去除结尾字符会降低精度而增加结尾字符则会提高精度。根据示例实施例,可以采用使用整数值的笛卡儿坐标系而不是浮点数的经纬度值来加速计算。位置域也可以根据LPS系统的需求或限制进行量化和限制。例如,根据一个实施例,位置域可以被量化和限制为宽度为40,030,200个离散单位(unit)的正方形,该大小基于地球的大小进行选择以例如支持米级别的分辨率。因此,在根据示例实施例的LPS系统中,诸如经由以下所详细讨论的手段,通过从整个地理哈希位置域开始的递归划分,订阅区域的地理哈希表示可以被确定。就此而言,地理哈希框可以在每个划分级别处在x和y维度上进行划分,这产生4个更小的地理哈希框。可以重复该划分过程直至达到期望的划分级别,例如精度级别。图3图示了对地理哈希框所执行的这种递归细分。图3的中心是原点并且该图中的每个框使用地理哈希位元交错方案(出于清楚的原因省略了最终的base-32字符编码)进行编码。因此,能够看到较大的框具有较短的代码长度。随着地理哈希框被进一步细分,例如如右下角所表示的,代码长度增加。
通过使用坐标的整数表示,例如替代浮点数,地理哈希框及其相关联的代码的划分(和倍增)可以通过简单的移位来执行,这提高了处理效率。根据示例实施例以及如图4所示,地理哈希框可以使用例如<x比特,y比特,级别>的三元组进行编码,该三元组例如表示x坐标、y坐标和精度级别。根据另外的示例实施例,x比特和y比特可以为32位整数,而例如精度级别的“级别”则可以是8位整数。所谓的“桶(bucket)”可以被用来存储每个地理哈希框中的项目。该桶例如可以是哈希图桶,例如“地理哈希桶”,并且根据再另外的实施例,如以下所描述的,这些桶的效率可以通过省略比特交织和base-32编码而进一步提高。可以使用许多不同方法来识别给定地理哈希三元组的特定地理哈希桶。例如,一维哈希值可以根据地理哈希三元组<x比特,y比特,级别>确定并且被用作(关键字,地理哈希桶)哈希图中的关键字。使用该方法可以提供一种灵活的系统,其允许使用任意的位置。每个地理哈希框的相对应的桶可以动态地按需创建或销毁。然而,该方法可能要求(关键字,地理哈希桶)哈希图中额外的哈希图操作,例如查找、插入和/或删除操作。根据可替换实施例,如果被运算的区域、例如给定城市,是事先已知的,则地理哈希桶可以在使用<x比特,y比特,级别>三元组作为关键字进行直接访问的三维阵列中被预先分配和布置。
已经介绍了本发明的一些基本概念,现在将继续参考图4以及图5和图6对根据示例实施例的LPS系统200所执行的三种主要操作以及某些细化和附加特征进行描述。出于讨论的清楚和简要的目的,操作和特征现在将被描述为简单地由“LPS系统”执行。然而,将要理解的是,如将要在以下更为详细描述的,这些操作中的每一个实际上例如可以由一个或多个装置来执行,该装置例如由诸如一个或多个服务器的一个或多个网络实体体现或者以其它方式与之相关联,并且包括诸如一个或多个处理器、存储器设备、通信接口等的器件。
添加订阅
根据示例实施例,LPS系统200可以通过使得与所接收的订阅相关联的订阅标识符被存储在一个或多个地理哈希框中而添加所接收的订阅。就此而言,LPS系统200所接收的每个订阅包括订阅区域,该订阅区域例如可以通过中心和半径进行定义。LPS系统200随后可以确定订阅区域的地理哈希表示并且随后使得该订阅被存储在该订阅区域的该地理哈希表示中。
就此而言,LPS系统200可以通过首先确定包含订阅中心并且具有刚好大于订阅半径的宽度的中心地理哈希框,来确定这样的订阅区域的地理哈希表示。中心地理哈希框在图4中被表示为“C”。在确定中心地理哈希框之后,LPS系统200可以接下来确定包围该中心地理哈希框的八个地理哈希框,它们中的每一个都有可能被由订阅中心和订阅半径定义的订阅圆400所叠盖。这八个周边地理哈希框例如可以通过向中心地理哈希框的x比特和y比特增加1/从其减去1来确定。例如,处于中心框正“北侧”的地理哈希框(由“N”表示)能够通过在保持x比特与中心地理哈希框相同的同时向中心地理哈希框的y比特增加1而找到。作为另一个示例,“NW”和“NE”框能够通过分别从“N”地理哈希框减去1/向“N”地理哈希框增加1而确定。在确定了所有九个“邻近的”地理哈希框之后,LPS系统可以将订阅基准(例如,订阅标识符)存储在所有九个“邻近的”地理哈希框的对应的桶中。
根据另外的实施例,订阅添加操作的执行可以通过减少其中存储有订阅的框的数量而得到改进,例如通过减少对基础的桶哈希图的插入/移除操作的数量而得到改进。因此,根据示例实施例,LPS系统200可以在确定九个邻近的地理哈希框之后执行合并操作。就此而言,由于地理哈希表示的分层属性,九个邻近的地理哈希框中的四个,例如中心的地理哈希框和三个邻近的地理哈希框,可以被合并为一个更大的地理哈希框,该更大的地理哈希框具有低一级的划分级别,例如具有低一级的精度级别。所要合并的四个地理哈希框例如可以基于中心地理哈希框的x比特和y比特中的最后一位进行选择。例如,在图4中,地理哈希框N、NE、E和C可以被合并为更大的地理哈希框,因为它们共享相同的前缀。由地理哈希框N、NE、E和C所产生的更大的地理哈希框因此将具有等于<11,01,2>的<x比特,y比特,级别>。根据九个邻近的地理哈希框的集合,可以合并不同的“角落框(corner box)”的集合。通过执行这样的合并操作,LPS系统可以将订阅区域的地理哈希表示中的地理哈希框的数量从九减少为六,这提高了LPS系统200的效率。
订阅区域的地理哈希表示可以进一步通过执行“叠盖校验”操作而细化。就此而言以及如图4所示,并非全部的九个邻近的地理哈希框都必然被订阅圆400所叠盖。因此,“叠盖校验”操作可以确定哪些地理哈希框与订阅圆相叠盖。因此,LPS系统200可以仅在与订阅圆400相叠盖的那些地理哈希框中存储订阅。例如,在图4中,如虚线轮廓410所指示的,LPS系统200可以在执行“叠盖校验”操作之后确定该订阅并不需要被存储在地理哈希框NW、W和SW中,因为这些地理哈希框并不与订阅圆400相叠盖。换言之,订阅仅被存储在地理哈希框N、NE、C、E、S和SE中,如虚线轮廓410所示。该“叠盖校验”操作和合并操作可以进行协作,而使得LPS系统200可以仅在所有四个要被合并的地理哈希框都通过“叠盖校验”的情况下、例如在四个要被合并的地理哈希框都被订阅圆400所叠盖的情况下才执行合并操作。通过采用该“叠盖校验”操作,LPS系统不仅可以减少用来存储订阅的地理哈希框的数量,例如订阅的地理哈希表示中的地理哈希框的数量,而且还防止了将订阅存储在无关地理哈希框中,后者会影响到查找性能。
更新位置
根据示例实施例,LPS系统200可以接收针对一个或多个订阅的位置更新,并且基于该更新而使得对应的订阅区域被重新定位,例如通过使得对应的订阅标识符从它们之前被存储的地理哈希框中移除并且向对应于新位置的新的地理哈希框中添加对应的订阅标识符。
就此而言,LPS系统在接收到位置更新时可以首先确定要在其中存储对应的订阅的新的地理哈希框集合。LPS系统200可以以类似于以上所描述的订阅添加过程的方式来确定新的地理哈希框集合。接下来,LPX系统200可以基于之前使用旧的位置所分配的旧的地理哈希框集合来确定地理哈希框的变化。随后可以执行增量更新。也就是说,在位置更新之后保持不变的地理哈希框将不会受到影响。如果位置更新要求添加新的订阅或者从地理哈希框中移除订阅,则LPS系统仅需要在对应的地理哈希框桶中执行插入或删除动作。这种流场的更新过程可以提供快速的更新处理并且提高了LPS系统的可扩展性。
发布/订阅匹配
根据示例实施例,LPS系统200可以接收发布,并且例如通过确定覆盖与所接收的发布相关联的发布区域的一个或多个订阅来确定匹配的订阅。
就此而言,LPS系统200在接收到发布时可以首先确定每个划分级别中覆盖发布的地理哈希框中所存储的订阅。根据应用要求,LPS系统可以执行不同匹配模式,例如“粗糙”匹配模式或“精确”匹配模式。
在“粗糙”模式下,LPS系统200可以在订阅处于与发布相同的地理哈希框内的情况下确定订阅与发布相匹配,例如在与订阅相关联的订阅标识符被存储在发布位置所处的地理哈希框中的情况下。因此,在“粗糙”模式中,LPS系统200即使在发布可能并非必然落入订阅区域的订阅圆400内的情况下也会确定订阅与发布相匹配。也就是说,在“粗糙”模式中,LPS系统200可能返回错误肯定。错误肯定在许多移动服务的环境中是可接受的,例如在用户对于位置约束并不敏感的情况下关于邻近优惠券的通知。然而,如果给定应用要求更为严格的距离约束,例如零错误肯定,则LPS系统200可以应用“精确”匹配模式。
在“精确”模式下,LPS系统200可以利用订阅半径执行发布位置和订阅中心之间的距离校验。也就是说,在精确模式中,LPS仅会在订阅中心和发布位置之间的距离小于(或者根据一些实施例小于或等于)订阅半径的情况下才会将订阅和发布进行匹配。在“精确”模式下,该最终距离确定可以是处理器密集型的,尤其是在错误肯定很多的情况下。然而,在LPS系统200采用诸如以下将要描述的附加增强时,该缺点可以有所缓解并且可以实现其它好处。
对LPS系统的附加增强
LPS系统的性能可以通过使用曼哈顿距离而不是常规的欧几里德距离而进一步得到改进。图5图示了这两种距离量度之间的差异。在大都市的设置中,考虑曼哈顿距离(也被称作“出租车(Taxicab)距离”)可能是有利的,原因在于基于街区的道路网设计减少了例如欧几里德距离之类的基于直接路径/视线的距离的可用性。此外,使用曼哈顿距离可以简化LPS系统200所执行的距离计算。两个点p1和p2之间的曼哈顿距离可以被计算为:
曼哈顿距离(p1,p2)=|xp2-xp1|+|yp2-yp1|
通过使用曼哈顿距离而不是欧几里德距离,LPS系统可以避免更多的处理器密集平方和平方根计算。如以上所讨论的,需要由LPS系统200在“精确”匹配模式下执行的距离计算可能代表匹配计算的计算时间中的相当大的部分。然而,通过使用曼哈顿距离,匹配时间可以有所改善。
应当理解的是,如图5所描绘的,当使用曼哈顿距离时,订阅区域将被表示为菱形(经旋转的正方形)。因此,与使用欧几里德距离的圆相比较,订阅区域的面积将减少:
更小的面积导致了更少的匹配结果,这可以固有地令匹配过程加速。被该有所减小的面积所“过滤”掉的结果可能实际上对于大都市区域中的例如订阅方的用户而言并没有意义,因为正常情况下并不存在从订阅中心(用户的当前位置)到发布位置的直线路径。
LPS系统200可以通过由于使用了曼哈顿距离而对订阅区域执行的轴向旋转得到进一步的增强。就此而言,图6图示了包含利用曼哈顿距离所定义的订阅区域的感兴趣的区域。注意,这些订阅区域(订阅1-8)意在大致地与图1中所描绘的那些相关联。为了更为有效地处理利用曼哈顿距离所定义的菱形订阅区域,LPS系统200可以对轴线进行旋转,而使得订阅区域被转换为正方形(框的宽度为)。在旋转之后,所产生的订阅区域与例如以上所描述的订阅添加操作之类的操作很好地进行配合。
在旋转之后,LPS系统200可以遵循以上所讨论的类似步骤来处理发布和订阅。例如,图7图示了使用曼哈顿距离来确定九个邻近的地理哈希框的过程。为了比较而包括了原始的圆形订阅区域400的虚线轮廓。如能够在图7中所看到的,利用曼哈顿距离所定义的正方形订阅区域700使得LPS系统在执行叠盖校验时将相关联的订阅存储在较少的地理哈希框中,如虚线710所示。
应当理解的是,该轴线旋转过程会引入另外的浮点运算。然而,这些另外的浮点旋转运算可以仅针对每个发布或订阅而执行一次,并且其好处会是明显的。例如,在“精确”匹配中所执行的任何后续距离校验计算都会被明显加快。此外,叠盖校验优化在使用曼哈顿距离时也会更为简单,原因在于正方形-正方形的叠盖中所涉及的计算与正方形-圆形叠盖相比更少。
因此已经总体上对本发明的各个实施例的许多特征进行了描述,现在将关注图8至11以便讨论特定的具体实施例。
图8图示了可能从本发明的实施例获益的系统的框图。虽然图8图示了这样的系统的配置的一个示例,但是本发明的实施例可以在多种其它系统配置中实施。然而,参考图8,该系统可以包括连接至诸如互联网的公共网络14的订阅设备11。根据一个示例,订阅设备11可以经由第一接入点12连接至公共网络14。该系统还包括同样连接至公共网络14的发布设备13,其诸如直接连接至公共网络14或者经由中间设备或接入点(未示出)进行连接。该系统可以进一步包括诸如服务器15的网络单元,其同样连接至公共网络14并且可以存储与订阅和发布相关的信息。
订阅设备11和发布设备13可以是被配置为通过网络进行通信的任意设备。例如,订阅设备11和/或发布设备13可以是用户设备或移动终端,诸如移动电话、PDA、寻呼机、膝上电脑、平板电脑、数据卡、通用串行总线(USB)软件狗,或者任意多种其它手持或便携式计算设备、内容生成设备、内容计算设备或它们的组合。发布设备13还可以是服务器、计算机或者其它类型的固定的、例如非移动的设备。
接入点12可以是可以为所连接的诸如订阅设备11之类的设备提供对公共网络14的接入的有线或无线接入点。例如,接入点12可以是基站、接入节点或者任意等同形式,诸如节点B、演进型节点B(eNB)、中继节点,或者其它类型的接入点。接入点12也可以是用作其他设备的接入点、例如通过提供以太互联网接入而共享其连接的另一用户设备或移动设备。接入点12还可以是被配置为针对诸如WLAN之类的局域网提供接入的接入点。因此,接入点12可以被配置为依据诸如IEEE 802.11之类的WIFI标准进行操作。接入点12和/或13可以经由有线方式来接入公共网络14,诸如经由光纤、同轴线缆或以太网线缆、数字订户线路(DSL),或者通过与无线网络进行连接,诸如长期演进(LTE)网络、LTE高级(LTE-A)网络、全球移动通信系统(GSM)网络、码分多址(CDMA)网络、通用分组无线电服务(GPRS)网络或者其它类型的网络,上述CDMA网络例如为宽度CDMA(WCDMA)网络、CDMA2000网络等。
网络单元15可以是包括存储设备的、任意类型的通过网络可访问的设备。例如,如图8所描绘的,网络单元15可以是服务器。网络单元15例如通过诸如公共网络14的一个或多个网络与订阅设备11和发布设备13进行通信,以便例如接收发布和订阅并且提供与诸如订阅设备11的发布订阅设备相关联的内容。
如以下所描述的,订阅设备11、接入点12、发布设备13和网络单元15中的任一个或全部都可以包括依据本发明的实施例进行配置的诸如图10所示的装置45或者与之相关联。
在一个实施例中,订阅设备11和/或发布设备13可以由移动终端来体现。就此而言,图9中图示了将从本发明的实施例获益的移动终端25的框图。然而,应当理解的是,如所图示并且在随后描述的移动终端25仅是可以从本发明实施例获益的一种类型的设备的说明,并且因此并不应当被理解为对本发明实施例的范围有所限制。因此,虽然诸如PDA、移动电话、寻呼机、移动电视、游戏设备、膝上电脑、相机、平板电脑、触摸表面、可佩戴设备、视频录影机、音/视频播放器、无线电广播、电子书、定位设备(例如,全球定位系统(GPS)设备)或者上述的任意组合的多种类型的移动终端都可以轻易地采用本发明的实施例,但是包括固定的(非移动的)电子设备的其它用户设备也可以采用相同的示例实施例。
移动终端25可以包括与传送器18和接收器20进行操作通信的天线17(或多个天线)。移动终端25可以进一步包括诸如处理器22或其它处理设备(例如,图10的装置的处理器50)的装置,其分别往来于传送器18和接收器20提供和接收信号。信号包括依据可应用蜂窝系统的空中接口标准的信令信息,并且还包括用户语音、所接收数据和/或用户所生成的数据。就此而言,移动终端25能够利用一种或多种空中接口标准、通信协议、调制类型和接入类型进行操作。作为说明,移动终端25能够依据无线通信机制进行操作并且能够经由多种无线电接入技术(RAT)进行通信。例如,移动终端25能够依据任意数量的第一、第二、第三和/或第四代通信协议等进行操作。例如,移动终端25能够依据第二代(2G)无线通信协议IS-136(时分多址(TDMA))、GSM(全球移动通信系统)和IS-95(码分多址(CDMA))进行操作,或者依据诸如通用移动电信系统(UMTS)、CDMA2000、宽带CDMA(WCDMA)和时分同步CDMA(TD-SCDMA)的第三代(3G)无线通信协议、诸如演进型UMTS陆地无线电接入网络(E-UTRAN)的3.9G无线通信协议、例如长期演进(LTE)或LTE高级(LTE-A)等的第四代(4G)无线通信协议等进行操作。作为替换(或除此之外),移动终端25能够依据非蜂窝通信方案进行操作。例如,移动终端25能够例如依据诸如802.11a、b、g或n的IEEE802.11标准族中的一种或多种标准在无线局域网(WLAN)或其它通信网络中进行通信。
在一些实施例中,处理器22可以包括用于实施移动终端25的音频和逻辑功能所需的电路。例如,处理器22可以由数字信号处理器、微处理器设备和各种模数转换器、数模转换器以及其它支持电路所构成。移动终端25的控制和信号处理功能根据这些设备的相应能力而在它们之间进行分配。处理器22因此还可以包括在调制和传输之前对消息和数据进行卷积编码和交织的功能。处理器22还可以包括内部语音编码器,并且可以包括内部数据调制解调器。另外,处理器22可以包括对可存储在存储器中的一个或多个软件程序进行操作的功能。例如,处理器22能够对诸如常规Web浏览器的连接程序进行操作。该连接程序随后可以允许移动终端25例如根据无线应用协议(WAP)、超文本传输协议(HTTP)等传送和接收Web内容,诸如基于位置的内容和/或其它网页内容。对各种软件程序以及系统服务供应的访问例如可以由操作系统(OS)所处理,后者被实施为存储在诸如存储器36或38的存储器中并且能够由诸如处理器22的处理器所执行的指令。
移动终端25还可以包括用户接口,其包括诸如常规耳机或扬声器26的输出设备、振铃器24、麦克风28、显示器30和用户输入设备,所有这些都耦合至处理器22。允许移动终端25接收数据的用户输入接口可以包括任意数量的允许移动终端25接收数据的设备,诸如键盘32、触摸显示器(提供这样的触摸屏显示器的示例的显示器30)或其它输入设备。在包括键盘32的实施例中,键盘32可以包括常规的数字(0-9)和相关按键(#、*),以及用于对移动终端25进行操作的其它硬质和/或软质按键。可替换地,键盘32可以包括常规的QWERTY键盘布局。键盘32还可以包括具有相关联功能的各种软按键。除此之外或可替换地,移动终端25可以包括诸如操纵杆或其它用户输入接口的接口设备。如以下进一步描述的采用触摸屏显示器的一些实施例可以完全省略键盘32以及任意或全部的扬声器26、振铃器24和麦克风28。移动终端25进一步包括诸如振动电池组的电池,其用于对操作移动终端25所需的各种电路进行供电,以及在操作上提供机械振动而作为可检测输出。
移动终端25可以进一步包括用户身份模块(UIM)34。UIM 34通常是具有内建处理器的存储器设备。UIM 34例如可以包括订户身份模块(SIM)、通用集成电路板(UICC)、通用订户身份模块(USIM)、可去除用户身份模块(R-UIM)等。UIM 34通常存储与移动订户相关的信息要素。除了UIM 34之外,移动终端25可以配备有存储器。例如,移动终端25可以包括易失性存储器40,诸如包括用于数据的临时存储的高速缓存区域的易失性随机访问存储器(RAM)。移动终端25还可以包括其它非易失性存储器38,其可以是嵌入式的和/或可以是可移动的。存储器可以存储任意数量的信息和数据,该信息和数据由移动终端25用来实施移动终端25的功能。
现在将参考图10对本发明的示例实施例进行描述,其中描绘出了用于实施根据之前所讨论的示例实施例的LPS系统的装置45的某些单元。为了实施之前所描述的LPS系统,例如可以结合诸如图8的服务器15之类的网络单元来采用图10的装置45。然而,除此之外或可替换地,根据其它示例实施例,例如可以结合订阅设备11、发布设备13和/或接入点12而采用图10的装置45。因此,根据一些实施例,以下所讨论的装置45的功能可以在以上所提到的设备之一中执行。然而,根据其它实施例,以下所讨论的装置45的功能可以跨多个设备进行分布,其中每个设备包括相应的装置45。
还应当注意的是,虽然图10图示了用于实施之前所描述的LPS系统的装置45的配置的一个示例,但是也可以使用多种其它配置来实施本发明的实施例。这样,在一些实施例中,虽然设备或单元被示为互相进行通信,但是随后这样的设备或单元应当被认为能够嵌入相同设备或单元之内,并且因此被示为进行通信的设备或单元应当被理解为可替换地成为相同设备或单元的一部分。
现在参考图10,用于实施本发明的示例实施例的LPS系统的装置45可以包括处理器50、通信接口54和存储器56或者以其它方式与它们进行通信。如以下所描述并且如图10中由虚线所指示的,装置45可选地在一些实施例中还可以包括用户接口52,诸如其中装置45由订阅设备11或发布设备13所体现的实施例。在一些实施例中,处理器50(和/或协同处理器或者辅助处理器50或者以其它方式与之相关联的任意其它处理电路)可以经由总线与存储器设备56进行通信以便在装置45的组件之间输送信息。存储器设备56例如可以包括一个或多个易失性和/或非易失性存储器。换句话说,例如,存储器设备56可以是电子存储设备(例如,计算机可读存储介质),其包括被配置为存储可用机器(例如,计算设备)所获取的数据(例如,比特)的门电路。在装置45被体现为移动终端25的实施例中,存储器设备56可以由存储器36、38所体现。存储器设备56可以被配置为存储信息、数据、应用、指令等以便使得装置能够执行依据示例实施例的各种功能。例如,存储器设备56能够被配置为缓冲输入数据以供处理器50进行处理。除此之外或可替换地,存储器设备56可以被配置为存储指令以便由处理器50执行。
在一些实施例中,装置45可以被体现为用户终端(例如,移动终端25)或固定通信设备(例如,网络单元15或接入点12)或者被配置为采用本发明的示例实施例的计算设备。然而,在一些实施例中,装置45可以被体现为芯片或芯片组。换句话说,装置45可以包括一个或多个物理封装(例如,芯片),其包括结构性配件(例如,基板)上的材料、组件和/或连线。该结构性配件可以为包括于其上的组件电路提供物理强度、尺寸保留和/或电气交互限制。因此,在一些情况下,装置45可以别配置为在单个芯片上实施本发明的实施例或者将其实施为单个“片上系统”。这样,在一些情况下,芯片或芯片组可以构成用于执行一个或多个操作以便提供这里所描述的功能的器件。
处理器50可以以多种不同方式来实现。例如,处理器50可以被实现为各种处理器件中的一个或多个,诸如微处理器、控制器、数字信号处理器(DSP)、具有或没有所附DSP的处理设备或者包括集成电路的其它处理设备,该集成电路例如ASIC(应用特定集成电路)、FPGA(现场可编程门阵列)、微控制器单元(MCU)、硬件加速器、专用计算机芯片等。因此,在示例实施例中,处理器50可以包括被配置为独立执行的一个或多个处理核。多核处理器可以支持单个物理封装内的多处理。除此之外或可替换地,处理器50可以包括经由总线以串联进行配置的一个或多个处理器而支持指令、管道和/或多线程的独立执行。在装置45被体现为移动终端25的实施例中,处理器50可以由处理器22来体现。
在示例实施例中,处理器50可以被配置为执行存储器设备56中所存储的或者能够以其它方式被处理器50所访问的指令。可替换地或除此之外,处理器50可以被配置为执行硬编码功能。这样,无论是由硬件还是软件方法或者其组合进行配置,处理器50都可以在被相应配置时表示能够执行根据实施例的操作的实体(例如,以电路物理实现)。因此,例如,当处理器50被实现为ASIC、FPGA等时,处理器50可以是用于进行这里所描述的操作的专门配置的硬件。可替换地,作为另一个示例,当处理器50被实现为软件指令的执行器时,该指令可以对处理器进行特殊配置以在该指令被执行时实施这里所描述的算法和/或操作。然而,在一些情况下,处理器50可以是适于通过用于执行这里所描述的算法和/或操作的指令而以处理器另外的配置来采用本发明示例性实施例的处理器或具体设备(例如,移动终端或网络实体)。除其它之外,处理器50可以包括被配置为支持处理器50的操作的时钟、算术逻辑单元(ALU)和逻辑门。
与此同时,通信接口54可以是诸如以硬件、软件或者硬件和软件的组合所实现的设备或电路的任意装置,其被配置为从诸如网络14的网络和/或与装置45进行通信的任意其它设备或模块接收数据和/或向其传送数据。就此而言,通信接口54例如可以包括天线(或多个天线)以及用于使得能够与无线通信网络进行通信的支持硬件和/或软件。可替换地或除此之外,通信接口54可以包括用于与天线进行交互而使得信号经由天线进行传输或者对经由天线所接收的信号进行处理。在一些实施例中,通信接口54可替换地或者还可以支持有线通信。这样,通信接口54例如可以包括通信调制解调器和/或用于支持经由线缆、数字用户线缆(DSL)、通用串行总线(USB)或其它机制的通信的其它硬件/软件。在装置45被体现为移动终端25的实施例中,通信接口54可以由天线16、传送器18、接收器20等来体现。
在一些实施例中,诸如在装置45由订阅设备11或发布设备13体现的情况下,装置45可以包括用户接口52,用户接口52进而可以与处理器50进行通信以接收用户输入的指示和/或向用户提供听觉、视觉、机械或其它输出。这样,用户接口52例如可以包括键盘、鼠标、操纵杆、显示器、触摸屏、触摸区域、软按键、麦克风、扬声器或者其它输入/输出机制。可替换地或除此之外,处理器50可以包括被配置为对用户接口的例如扬声器、振铃器、麦克风、显示器等的一个或多个单元的至少一些功能进行控制的用户接口电路。处理器50和/或包括处理器50的用户接口电路可以被配置为通过存储在处理器50可访问的存储器(例如,存储器设备56等)上的计算机程序指令(例如,软件和/或固件)来控制一个或多个用户接口单元的一个或多个功能。然而,在其它实施例中,诸如在装置45由接入点12、接入点13或网络单元15体现的情况下,装置45可以不包括用户接口52。
现在参考图11,描绘了用于提供之前所讨论的LPS系统的操作。就此而言以及如以下所描述的,图11的操作可以由诸如图10中所示的装置45来执行,上述装置45例如由网络单元15来体现或者以其它方式与之相关联。就此而言,装置45可以包括用于接收包括订阅区域的至少一个订阅的装置,诸如处理器50、存储器56和通信接口54等。该订阅例如可以从与该订阅相关联的设备接收,诸如订阅设备11。如以上所讨论的,该订阅区域例如可以包括订阅中心和订阅半径。同样如以上所讨论的,装置45可以进一步包括诸如刚刚所提到的那些的用于确定该订阅区域的曼哈顿距离表示的装置。如以上所讨论的,确定订阅区域的曼哈顿距离表示例如可以包括使得该订阅区域的曼哈顿距离表示关于轴线进行旋转。
装置45还可以包括用于确定该订阅区域的地理哈希表示的装置,诸如处理器50、存储器56和通信接口54等。参见操作1110。如以上所讨论的,确定订阅区域的地理哈希表示例如可以包括确定该订阅中心附近的九个地理哈希框,例如确定包含订阅中心的中心地理哈希框以及八个周边地理哈希框。确定订阅区域的地理哈希表示还可以包括执行以上所详细描述的合并和/或叠盖校验操作。装置45可以确定订阅区域的曼哈顿距离表示或者例如欧几里德距离表示的原始订阅区域的地理哈希表示。装置45可以进一步包括诸如以上所讨论的那些的用于使得至少一个订阅、例如至少一个订阅指示符被存储在对应于该地理哈希表示的地理哈希框中,例如地理哈希桶中。
装置45还包括用于接收包括发布位置的至少一个发布的装置,诸如处理器50、存储器56和通信接口54等。参见操作1120。
装置45还可以包括用于至少基于该发布位置以及订阅区域的地理哈希表示而确定至少一个发布是否与至少一个订阅相匹配的装置,诸如处理器50、存储器56和通信接口54等。参见操作1130。如以上所讨论的,确定至少一个发布是否与至少一个订阅相匹配可以包括确定该至少一个发布位置是否位于包含该至少一个订阅的地理哈希框内,例如该至少一个发布位置是否位于其中存储与至少一个订阅相关联的至少一个订阅标识符的地理哈希框内。同样如以上所描述的,装置45可以将该匹配操作执行为“粗糙的”或“精确的”。也就是说,装置45可以仅确定发布位置是否与订阅、例如订阅标识符共享一个地理哈希框(粗糙的),或者还可以另外执行距离校验(精确的)。装置45例如可以通过确定订阅中心与发布中心之间的距离是否小于(或者根据另一个实施例,小于或等于)订阅半径来执行距离校验。如以上所讨论的,装置45可以使用订阅区域的曼哈顿距离表示来执行这些确定。
装置45还可以包括用于在至少一个发布与至少一个订阅相匹配的情况下使得与至少一个发布相关联的内容被传送的装置,诸如处理器50、存储器56和通信接口54等。参见操作1140。装置45例如可以使得与发布相关联的内容被传送至订阅设备11。
如以上所描述的,图10图示了根据本发明实施例的装置45、方法和计算机程序产品的流程图。将要理解的是,流程图中的每个框以及流程图中框的组合可以通过各种手段来实施,诸如硬件、固件、处理器、电路和/或与包括一个或多个计算机程序指令的软件的执行相关联的其它设备。例如,以上所描述的一个或多个过程可以由包括计算机程序指令的计算机程序产品来实现。就此而言,体现以上所描述过程的计算机程序指令可以由体现发明实施例的装置45的存储器设备56所存储并且由装置45的处理器50来执行。如将要意识到的,任何这样的计算机程序指令都可以被加载到计算机或其它可编程装置(例如,硬件)上以生产机器,以使得所产生的计算机或其它可编程装置实现用于实施流程图的框中所指定的功能的器件。这些计算机程序指令也可以存储在计算机可读存储器中,其可以指示计算机或其它可编程装置以特定方式工作,以使得存储在计算机可读存储器中的指令产生其执行实施流程图的框中所指定的功能的制造商品。计算机程序指令还可以被加载到计算机或其它可编程装置上以产生计算机实施的处理,以使得在计算机或其它可编程装置上执行的指令实施流程图的框中所指定的功能。
因此,流程图中的框支持用于执行指定功能的装置的组合、以及用于执行指定功能的操作的组合。还将要理解的是,流程图中的一个或多个框以及流程图中框的组合可以由执行所指定功能的基于专用硬件的计算机系统或者特殊用途的硬件和计算机指令的组合来实施。
在一些实施例中,以上的某些操作可以进行修改或改进。另外,在一些实施例中,可能包括另外的可选操作。针对上述操作的修改、添加或改进都可以以任意顺序并且以任意组合来执行。
这里给出的本发明的许多修改和其它实施例将被已经从之前描述和相关联附图中所给出的教导所获益的与这些发明相关领域的技术人员所想到。因此,所要理解的是,本发明并不局限于所公开的具体实施例并且修改和其它实施例意在被包括在所附权利要求的范围之内。此外,虽然以上描述和相关联附图以单元和/或功能的某些示例组合为背景对示例实施例进行了描述,但是应当意识到的是,可以由可替换实施例提供单元和/或功能的不同组合而并不背离所附权利要求的范围。就此而言,例如,不同于以上所明确描述的单元和/或功能的不同组合也预期在一些所附权利要求中被给出。虽然这里采用了具体术语,但是它们仅以一般和描述性含义被使用而并非用于限制的目的。
Claims (31)
1.一种方法,包括:
接收包括订阅区域的至少一个订阅;
确定所述订阅区域的地理哈希表示;
接收包括发布位置的至少一个发布;
至少基于所述发布位置和所述订阅区域的所述地理哈希表示来确定所述至少一个发布是否与所述至少一个订阅相匹配;以及
在所述至少一个发布与所述至少一个订阅相匹配的情况下,使得与所述至少一个发布相关联的内容被传送。
2.根据权利要求1所述的方法,其中确定每个订阅区域的所述地理哈希表示包括:
确定中心地理哈希框,所述中心地理哈希框包含所述订阅区域的中心并且包括大于所述订阅区域的半径的宽度;以及
确定八个周围的地理哈希框。
3.根据权利要求1或2所述的方法,其中确定每个订阅区域的所述地理哈希表示包括或者进一步包括确定所述订阅区域所叠盖的四个或更多地理哈希框。
4.根据权利要求2或3所述的方法,其中每个地理哈希框包括划分级别,并且进一步其中确定每个订阅区域的所述地理哈希表示进一步包括将所述地理哈希框中的四个地理哈希框合并为一个更大的地理哈希框,所述更大的地理哈希框的所述划分级别是低于所述四个或更多被合并的地理哈希框的所述划分级别的划分级别。
5.根据权利要求1至4中任一项所述的方法,进一步包括接收一个或多个更新的订阅区域并且确定每个更新的订阅区域的地理哈希表示。
6.根据权利要求1至5中任一项所述的方法,其中每个相应的订阅区域包括中心和半径,所述半径被表达为曼哈顿距离。
7.根据权利要求6所述的方法,进一步包括使得每个相应的订阅区域关于轴线被旋转。
8.根据权利要求1至7中任一项所述的方法,其中确定所述发布中的一个或多个发布是否与特定订阅相叠盖包括确定所述发布中的一个或多个发布是否位于所述特定订阅的所述地理哈希表示内。
9.根据权利要求1至8中任一项所述的方法,其中确定所述发布中的一个或多个发布是否与特定订阅相叠盖包括或进一步包括确定所述发布位置和所述订阅区域的中心之间的距离是否小于所述订阅区域的半径。
10.根据权利要求1至9中任一项所述的方法,其中使得与所述至少一个发布相关联的所述内容被传送包括使得与所述至少一个发布相关联的所述内容被传送至与所述至少一个订阅相关联的设备。
11.一种装置,包括至少一个处理器以及存储程序代码指令的至少一个存储器,所述存储器和程序代码指令被配置为与所述处理器一起引导所述装置至少:
接收包括订阅区域的至少一个订阅;
确定所述订阅区域的地理哈希表示;
接收包括发布位置的至少一个发布;
至少基于所述发布位置和所述订阅区域的所述地理哈希表示来确定所述至少一个发布是否与所述至少一个订阅相匹配;以及
在所述至少一个发布与所述至少一个订阅相匹配的情况下,使得与所述至少一个发布相关联的内容被传送。
12.根据权利要求11所述的装置,其中所述装置被引导以通过以下各项来确定每个订阅区域的所述地理哈希表示:
确定中心地理哈希框,所述中心地理哈希框包含所述订阅区域的中心并且包括大于所述订阅区域的半径的宽度;以及
确定八个周围的地理哈希框。
13.根据权利要求11或12所述的装置,其中所述装置被引导或者被进一步引导以通过确定所述订阅区域所叠盖的四个或更多地理哈希框来确定每个订阅区域的所述地理哈希表示。
14.根据权利要求12或13所述的方法,其中每个地理哈希框包括划分级别,并且进一步其中所述装置被进一步引导以通过将所述地理哈希框中的四个地理哈希框合并为一个更大的地理哈希框来确定每个订阅区域的所述地理哈希表示,所述更大的地理哈希框的所述划分级别是低于所述四个或更多被合并的地理哈希框的所述划分级别的划分级别。
15.根据权利要求11至14中任一项所述的装置,其中所述装置被引导以接收一个或多个更新的订阅区域并且确定每个更新的订阅区域的地理哈希表示。
16.根据权利要求11至15中任一项所述的装置,其中每个相应的订阅区域包括中心和半径,所述半径被表达为曼哈顿距离。
17.根据权利要求16所述的装置,其中所述装置被进一步引导以使得每个相应的订阅区域关于轴线被旋转。
18.根据权利要求11至17中任一项所述的装置,其中所述装置被引导以通过确定所述发布中的一个或多个发布是否位于特定订阅的所述地理哈希表示内来确定所述发布中的一个或多个发布是否与所述特定订阅相叠盖。
19.根据权利要求11至18中任一项所述的装置,其中所述装置被引导或者被进一步引导以通过确定所述发布位置和所述订阅区域的中心之间的距离是否小于所述订阅区域的半径来确定所述发布中的一个或多个发布是否与特定订阅相叠盖。
20.根据权利要求11至19中任一项所述的装置,其中所述装置被引导以通过使得与所述至少一个发布相关联的所述内容被传送至与所述至少一个订阅相关联的设备来使得与所述至少一个发布相关联的所述内容被传送。
21.一种计算机程序产品,包括在其中体现程序代码部分的计算机可读非瞬态存储介质,所述程序代码部分被配置为在执行时引导装置至少:
接收包括订阅区域的至少一个订阅;
确定所述订阅区域的地理哈希表示;
接收包括发布位置的至少一个发布;
至少基于所述发布位置和所述订阅区域的所述地理哈希表示来确定所述至少一个发布是否与所述至少一个订阅相匹配;以及
在所述至少一个发布与所述至少一个订阅相匹配的情况下,使得与所述至少一个发布相关联的内容被传送。
22.根据权利要求21所述的计算机程序产品,其中所述装置被引导以通过以下各项来确定每个订阅区域的所述地理哈希表示:
确定中心地理哈希框,所述中心地理哈希框包含所述订阅区域的中心并且包括大于所述订阅区域的半径的宽度;以及
确定八个周围的地理哈希框。
23.根据权利要求21或22所述的计算机程序产品,其中所述装置被引导或者被进一步引导以通过确定所述订阅区域所叠盖的四个或更多地理哈希框来确定每个订阅区域的所述地理哈希表示。
24.根据权利要求22或23所述的计算机程序产品,其中每个地理哈希框包括划分级别,并且进一步其中所述装置被进一步引导以通过将所述地理哈希框中的四个地理哈希框合并为一个更大的地理哈希框来确定每个订阅区域的所述地理哈希表示,所述更大的地理哈希框的所述划分级别是低于所述四个或更多被合并的地理哈希框的所述划分级别的划分级别。
25.根据权利要求21至24中任一项所述的计算机程序产品,其中所述装置被引导以接收一个或多个更新的订阅区域并且确定每个更新的订阅区域的地理哈希表示。
26.根据权利要求21至25中任一项所述的计算机程序产品,其中每个相应的订阅区域包括中心和半径,所述半径被表达为曼哈顿距离。
27.根据权利要求26所述的计算机程序产品,其中所述装置被进一步引导以使得每个相应的订阅区域关于轴线被旋转。
28.根据权利要求21至27中任一项所述的计算机程序产品,其中所述装置被引导以通过确定所述发布中的一个或多个发布是否位于特定订阅的所述地理哈希表示内来确定所述发布中的一个或多个发布是否与所述特定订阅相叠盖。
29.根据权利要求21至28中任一项所述的计算机程序产品,其中所述装置被引导或者被进一步引导以通过确定所述发布位置和所述订阅区域的中心之间的距离是否小于所述订阅区域的半径来确定所述发布中的一个或多个发布是否与特定订阅相叠盖。
30.根据权利要求21至29中任一项所述的计算机程序产品,其中所述装置被引导以通过使得与所述至少一个发布相关联的所述内容被传送至与所述至少一个订阅相关联的设备来使得与所述至少一个发布相关联的所述内容被传送。
31.一种系统,包括订阅设备、发布设备和网络单元,其中所述网络单元包括一种装置,所述装置包括至少一个处理器以及存储程序代码指令的至少一个存储器,所述存储器和所述程序代码指令被配置为与所述处理器一起引导所述网络单元至少:
从所述订阅设备接收包括订阅区域的至少一个订阅;
确定所述订阅区域的地理哈希表示;
从所述发布设备接收包括发布位置的至少一个发布;
至少基于所述发布位置和所述订阅区域的所述地理哈希表示来确定所述至少一个发布是否与所述至少一个订阅相匹配;以及
在所述至少一个发布与所述至少一个订阅相匹配的情况下,使得与所述至少一个发布相关联的内容被传送至所述订阅设备。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2012/080964 WO2014036685A1 (en) | 2012-09-04 | 2012-09-04 | Method and apparatus for location-based publications and subscriptions |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104704523A true CN104704523A (zh) | 2015-06-10 |
Family
ID=50236435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280076275.2A Pending CN104704523A (zh) | 2012-09-04 | 2012-09-04 | 用于基于位置的发布和订阅的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150215409A1 (zh) |
EP (1) | EP2893675A4 (zh) |
CN (1) | CN104704523A (zh) |
WO (1) | WO2014036685A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110999259A (zh) * | 2017-08-14 | 2020-04-10 | 英里之内股份有限公司 | 通信门户管理系统、通信门户服务器及门户网站服务器管理方法 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10642918B2 (en) * | 2013-03-15 | 2020-05-05 | University Of Florida Research Foundation, Incorporated | Efficient publish/subscribe systems |
US20140344269A1 (en) * | 2013-05-16 | 2014-11-20 | Convida Wireless LLC | Semantic Naming Model |
KR20160012576A (ko) * | 2014-07-24 | 2016-02-03 | 삼성전자주식회사 | 재난 정보 운용 방법 및 이를 지원하는 전자 장치와 재난 정보 제공 장치 |
US10477359B2 (en) * | 2014-12-08 | 2019-11-12 | International Business Machines Corporation | Publishing messages based on geographic area |
US10158738B2 (en) * | 2014-12-22 | 2018-12-18 | Here Global B.V. | Optimal coding method for efficient matching of hierarchical categories in publish-subscribe systems |
US10346131B2 (en) | 2016-03-25 | 2019-07-09 | International Business Machines Corporation | Spatial predicates evaluation on geohash-encoded geographical regions |
US10352709B1 (en) * | 2017-02-15 | 2019-07-16 | Amazon Technologies, Inc. | Identification of road segments |
CN109579855A (zh) * | 2018-12-04 | 2019-04-05 | 彩虹无线(北京)新技术有限公司 | 一种确定车辆位置的方法、装置、设备和存储介质 |
IT202000023833A1 (it) * | 2020-10-09 | 2022-04-09 | Vodafone Automotive S P A | Location-based publication over a cellular network |
CN118233365B (zh) * | 2024-05-23 | 2024-08-06 | 中国电子科技集团公司第十五研究所 | 多点实时数据分发方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916417A (zh) * | 2010-09-03 | 2010-12-15 | 李占胜 | 一种基于位置的信息共享系统 |
CN102495941A (zh) * | 2011-10-24 | 2012-06-13 | 北京东方车云信息技术有限公司 | 一种打车难易度评估方法及系统 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5839088A (en) * | 1996-08-22 | 1998-11-17 | Go2 Software, Inc. | Geographic location referencing system and method |
FI112433B (fi) * | 2000-02-29 | 2003-11-28 | Nokia Corp | Sijaintiin sidotut palvelut |
US6868410B2 (en) * | 2000-06-05 | 2005-03-15 | Stephen E. Fortin | High-performance location management platform |
US6647269B2 (en) * | 2000-08-07 | 2003-11-11 | Telcontar | Method and system for analyzing advertisements delivered to a mobile unit |
US6944447B2 (en) * | 2001-04-27 | 2005-09-13 | Accenture Llp | Location-based services |
US7142876B2 (en) * | 2003-03-03 | 2006-11-28 | Nokia Corporation | Location dependent services |
GB0521355D0 (en) * | 2005-10-19 | 2005-11-30 | Ibm | Publish/subscribe system and method for managing subscriptions |
US9064019B2 (en) * | 2007-12-06 | 2015-06-23 | Yahoo! Inc. | Virtual billboard display on a mobile device |
CN101262494A (zh) * | 2008-01-23 | 2008-09-10 | 华为技术有限公司 | 对发布信息进行处理的方法、客户端、服务器和系统 |
US20090319187A1 (en) * | 2008-06-23 | 2009-12-24 | Outside.In, Inc. | Generating Geocoded Targeted Web Advertisements |
US20100121710A1 (en) * | 2008-11-13 | 2010-05-13 | Spreezio, Inc. | System and method for location-based online shopping and just-in-time advertising |
US8250032B2 (en) * | 2009-06-02 | 2012-08-21 | International Business Machines Corporation | Optimizing publish/subscribe matching for non-wildcarded topics |
US8849254B2 (en) * | 2009-12-18 | 2014-09-30 | Trueposition, Inc. | Location intelligence management system |
CN101848236A (zh) * | 2010-05-06 | 2010-09-29 | 北京邮电大学 | 具有分布式网络架构的实时数据分发系统及其工作方法 |
US9529577B2 (en) * | 2010-09-10 | 2016-12-27 | International Business Machines Corporation | Method of deploying a contextually dependent application |
US8965901B2 (en) * | 2011-03-01 | 2015-02-24 | Mongodb, Inc. | System and method for determining exact location results using hash encoding of multi-dimensioned data |
WO2012174650A1 (en) * | 2011-06-23 | 2012-12-27 | Gone Fishing Consulting Ltd. | Method for geographically targeting online advertising campaigns |
US20130007238A1 (en) * | 2011-06-30 | 2013-01-03 | Sandholm Thomas E | Recommending resources |
US8897803B2 (en) * | 2012-01-13 | 2014-11-25 | Apple Inc. | Finding wireless network access points |
CN103888493B (zh) * | 2012-12-20 | 2018-03-23 | 腾讯科技(深圳)有限公司 | 信息推送方法及装置 |
US8781502B1 (en) * | 2013-02-01 | 2014-07-15 | Swirl Networks, Inc. | Systems and methods for display of supplemental content responsive to location |
US9426620B2 (en) * | 2014-03-14 | 2016-08-23 | Twitter, Inc. | Dynamic geohash-based geofencing |
-
2012
- 2012-09-04 EP EP12884231.7A patent/EP2893675A4/en not_active Withdrawn
- 2012-09-04 WO PCT/CN2012/080964 patent/WO2014036685A1/en active Application Filing
- 2012-09-04 US US14/424,667 patent/US20150215409A1/en not_active Abandoned
- 2012-09-04 CN CN201280076275.2A patent/CN104704523A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916417A (zh) * | 2010-09-03 | 2010-12-15 | 李占胜 | 一种基于位置的信息共享系统 |
CN102495941A (zh) * | 2011-10-24 | 2012-06-13 | 北京东方车云信息技术有限公司 | 一种打车难易度评估方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110999259A (zh) * | 2017-08-14 | 2020-04-10 | 英里之内股份有限公司 | 通信门户管理系统、通信门户服务器及门户网站服务器管理方法 |
Also Published As
Publication number | Publication date |
---|---|
US20150215409A1 (en) | 2015-07-30 |
EP2893675A1 (en) | 2015-07-15 |
WO2014036685A1 (en) | 2014-03-13 |
EP2893675A4 (en) | 2016-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104704523A (zh) | 用于基于位置的发布和订阅的方法和装置 | |
DK3117634T3 (en) | DYNAMIC GEOHASH-BASED GEOFENCING | |
CN101312555B (zh) | 用于将地图数据内容最优分发至无线通信设备的位图阵列 | |
CN104867065A (zh) | 处理订单的方法和设备 | |
EP3117344B1 (en) | Density-based dynamic geohash | |
CN102713904A (zh) | 利用可缩放的数据结构的方法和装置 | |
CN102612693A (zh) | 分类内容的方法及装置 | |
CN109819403B (zh) | 生成电子围栏的方法、装置及电子设备 | |
CN103703460A (zh) | 用于针对实时推荐的协同过滤的方法和装置 | |
CN103455233B (zh) | 一种移动终端的用户界面确定方法和装置 | |
CN110362750B (zh) | 目标用户确定方法、装置、电子设备和计算机可读介质 | |
CN104133765B (zh) | 网络活动的测试用例发送方法及测试用例服务器 | |
CN104462051A (zh) | 分词方法及装置 | |
CN103299300A (zh) | 提供输入建议的方法和装置 | |
CN107741995A (zh) | 一种基于云计算的共享单车推荐方法及系统 | |
CN102316507A (zh) | 一种移动终端网络信号检测的方法、系统及移动终端 | |
CN102812485A (zh) | 用于在线服务提供商的规则设定的混合方式的方法和装置 | |
CN106162542B (zh) | 一种电子凭证提示方法及服务器 | |
CN110704507A (zh) | 用于存储数据的方法、装置和用于查询数据的方法、装置 | |
CN114035822A (zh) | 一种文件更新方法及设备 | |
CN113094454A (zh) | 一种地图数据搜索方法及装置 | |
CN103416078A (zh) | 用于基于情境特征适配用于请求内容段的设置的方法和装置 | |
CN110917625A (zh) | 一种游戏装备显示方法、装置、电子设备及存储介质 | |
CN103618996A (zh) | 位置数据处理方法及客户端、服务器 | |
CN109493130A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150610 |
|
WD01 | Invention patent application deemed withdrawn after publication |