一种查找目标订阅的方法及装置的制造方法

文档序号:9349814阅读:280来源:国知局
一种查找目标订阅的方法及装置的制造方法
【技术领域】
[0001] 本发明涉及通信技术领域,尤其涉及一种查找目标订阅的方法及装置。
【背景技术】
[0002] 在软件架构中,发布-订阅(publish - subscribe)是一种消息传播模式,消息的 发送者(发布者)不会将消息直接发送给特定的接收者(订阅者)。而是将发布的消息按 特征分类,无需对订阅者(如果有的话)有所了解。同样的,订阅者可以表达对一个或多个 类别的兴趣,只接收感兴趣的消息,无需对发布者(如果有的话)有所了解。
[0003] 随着移动互联网飞速发展,以及带有GPS功能的智能手机的普及,位置感知的订 阅/发布系统越来越多地受到了研究人员的关注。然而,移动互联网和OTO的飞速发展带 来了大量具有不同属性和属性值以及地理位置标签的商品。而当下的结构化的订阅/发布 系统,采用布尔表达式来表示用户的需求,主要处理高效地索引和匹配订阅信息,不能高效 地处理空间维度的限制。
[0004] 因此,目前亟需一种能够应用于位置感知的订阅/发布系统的查找目标订阅的方 法。

【发明内容】

[0005] 本发明提供了一种查找目标订阅的方法及装置。
[0006] -种查找目标订阅的方法,应用于位置感知的订阅/发布系统,包括:
[0007] 接收信息发布者发布的事件,所述事件包括值对信息及空间地理位置信息,其中, 所述值对信息为一组等号谓词合取式;
[0008] 计算所述事件的谓词个数;
[0009] 对预先建立的布尔表达式列表分别进行以下匹配处理,直到所有布尔表达式列表 被处理完,得到目标订阅集合,其中每个布尔表达式列表分别为:具有相同谓词个数的订阅 的集合,所述布尔表达式列表中包含至少一个布尔表达式子表,所述布尔表达式子表为具 有相同关键谓词属性的订阅的集合,所述订阅中包含有至少一个谓词以及一个空间区域信 息:
[0010] 计算所述布尔表达式列表的谓词个数;
[0011] 当所述事件谓词个数不小于所述布尔表达式列表的谓词个数时,分别判断所述布 尔表达式列表中的各个布尔表达式子表的预设关键谓词属性能否在所述事件谓词中找到 与其匹配的谓词属性,若布尔表达式子表的预设关键谓词属性能够在事件谓词中找到与其 匹配的谓词属性,则分别判断所述预设关键谓词属性能够在事件谓词中找到与其匹配的谓 词属性的布尔表达式子表中的各个订阅是否与所述事件相匹配;
[0012] 若所述订阅与所述事件相匹配,且,所述订阅的空间区域信息与所述事件的空间 地理位置信息有交集,则确定所述订阅为目标订阅,将其加入到所述目标订阅集合。
[0013] 优选的,还包括:
[0014] 向所述目标订阅集合中的目标订阅推送所述事件。
[0015] 优选的,所述订阅与所述事件进行匹配的过程包括:
[0016] 依次将所述订阅中的各个谓词与所述事件中的值对相比较;
[0017] 若匹配,则将预先设定的与所述订阅对应的计数器减1,所述计数器的初始值为所 述订阅中谓词的个数。
[0018] 优选的,判断所述订阅是否与所述事件相匹的过程包括:
[0019] 若所述计数器的值为0,则所述订阅与所述事件相匹配。
[0020] 优选的,所述各个布尔表达式子表的预设关键谓词属性按照以下步骤获得:
[0021] 将所有订阅中的谓词属性进行统计,分别获得各个谓词属性的出现频率;
[0022] 确定各个订阅包含的谓词属性中出现频率最低的谓词属性为所述订阅的关键谓 词属性;
[0023] 将布尔表达式列表中具有同一关键属性的订阅划分为布尔表达式子表;
[0024] 确定所述订阅的关键谓词属性为所述布尔表达式子表的关键谓词属性。
[0025] 优选的,所述布尔表达式子表以R-tree的形式进行存储。
[0026] 优选的,还包括:
[0027] 接收订阅者发送的待处理订阅;
[0028] 确定所述待处理订阅中的谓词个数,并确定所述订阅的关键谓词属性及空间区域 信息;
[0029] 依据所述谓词个数在所述布尔表达式子表构成的R-tree中查找所述待处理订阅 对应的布尔表达式列表,若查找到所述布尔表达式列表,则依据所述关键谓词属性从所述 布尔表达式列表中查找所述待处理订阅对应的布尔表达式子表,若查找到所述布尔表达式 子表,则将所述待处理订阅添加到所述布尔表达式子表所在的R-tree索引树的分支;
[0030] 若查找到所述布尔表达式列表,但,未查找到所述布尔表达式子表,则创建所述待 处理订阅对应的布尔表达式子表,并构建所述布尔表达式子表对应的RP索引树;
[0031] 若未查找到所述布尔表达式列表,则创造所述待处理订阅对应的布尔表达式列 表、布尔表达式子表,并构建所述布尔表达式列表、布尔表达式子表对应的RP索引树。
[0032] 优选的,,还包括:
[0033] 创建所述待处理订阅对应的计数器,并初始化所述计数器的值为所述谓词个数。
[0034] -种查找目标订阅的装置,应用于位置感知的订阅/发布系统,包括:
[0035] 事件接收模块,用于接收信息发布者发布的事件,所述事件包括值对信息及空间 地理位置信息,其中,所述值对信息为一组等号谓词合取式;
[0036] 事件谓词计算模块,用于计算所述事件的谓词个数;
[0037] 匹配模块,用于对预先建立的布尔表达式列表分别进行以下匹配处理,直到所有 布尔表达式列表被处理完,得到目标订阅集合,其中每个布尔表达式列表分别为:具有相同 谓词个数的订阅的集合,所述布尔表达式列表中包含至少一个布尔表达式子表,所述布尔 表达式子表为具有相同关键谓词属性的订阅的集合,所述订阅中包含有至少一个谓词以及 一个空间区域信息:计算所述布尔表达式列表的谓词个数;当所述事件谓词个数不小于所 述布尔表达式列表的谓词个数时,分别判断所述布尔表达式列表中的各个布尔表达式子表 的预设关键谓词属性能否在所述事件谓词中找到与其匹配的谓词属性,若布尔表达式子表 的预设关键谓词属性能够在事件谓词中找到与其匹配的谓词属性,则分别判断所述预设关 键谓词属性能够在事件谓词中找到与其匹配的谓词属性的布尔表达式子表中的各个订阅 是否与所述事件相匹配;若所述订阅与所述事件相匹配,且,所述订阅的空间区域信息与所 述事件的空间地理位置信息有交集,则确定所述订阅为目标订阅,将其加入到所述目标订 阅集合。
[0038] 优选的,还包括:
[0039] 推送模块,用于向所述目标订阅集合中的目标订阅推送所述事件。
[0040] 本发明公开的查找目标订阅的方法中,通过将订阅中的关键词按照属性及大小进 行划分的方式,将订阅存储在布尔表达式子表及布尔表达式列表中,进而有效提升了查询 匹配的效率。
【附图说明】
[0041] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0042] 图1为本申请实施例公开的查找目标订阅的方法的流程图;
[0043] 图2为本申请实施例公开的带有布尔表达式和空间区域信息的订阅;
[0044] 图3为本申请实施例公开的确定谓词属性的方法流程图;
[0045] 图4为本申请实施例公开的匹配处理的方法流程图;
[0046] 图5为本申请实施例公开的RP索引树的结构
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1