首页> 中国专利> 一种基于历史记录数据挖掘的发布和订阅方法

一种基于历史记录数据挖掘的发布和订阅方法

摘要

一种基于历史记录数据挖掘的发布和订阅方法,首先通过对订阅的历史记录进行数据挖掘,找出订阅者感兴趣的属性组合;订阅者根据订阅中包含的属性组合及其支持度确定代理节点;事件产生后只发送到可能存储匹配的订阅的事件代理上。该方法通过对支持度小的属性组合进行合并,在负载均衡和事件的发布开销之间取得了良好的折中。综合来讲,该方案的主要优势在于:不依赖于所使用的overlay架构,实现简单,可移植性强;通过订阅者感兴趣的属性集合确定事件代理,提高了事件代理上订阅的相关性,进而可以利用订阅间的覆盖关系提高匹配效率;在负载均衡和事件的发布开销之间取得了较好的折中,系统整体性能大大提升。

著录项

  • 公开/公告号CN103729461A

    专利类型发明专利

  • 公开/公告日2014-04-16

    原文格式PDF

  • 申请/专利权人 中国科学院软件研究所;

    申请/专利号CN201410012762.3

  • 申请日2014-01-12

  • 分类号G06F17/30;H04L29/08;

  • 代理机构北京科迪生专利代理有限责任公司;

  • 代理人成金玉

  • 地址 100190 北京市海淀区中关村南四街4号

  • 入库时间 2024-02-19 23:23:46

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-02-01

    授权

    授权

  • 2014-05-14

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20140112

    实质审查的生效

  • 2014-04-16

    公开

    公开

说明书

技术领域

本发明属于中间件技术领域,具体涉及一种基于历史记录数据挖掘的能够提高订阅与事 件匹配效率和节点负载均衡能力的发布和订阅方法。

背景技术

发布和订阅系统具有松耦合、匿名、多对多通信和可扩展的特点,是支持新一代网络计 算的重要基础中间件平台。发布和订阅通讯模型一般由发布者(也称信息生产者)、订阅者 (也称信息消费者)和事件代理组成。事件代理充当发布者和订阅者的中介,订阅者向事件 代理注册订阅,表达对特定信息的兴趣,发布者以事件形式发送信息到事件代理,事件代理 对订阅和事件进行匹配,并将满足匹配条件的事件通知到订阅者。其中用于表达订阅者兴趣 的订阅模型有多种,包括基于通道的、基于主题的和基于内容的。由于基于内容的订阅能够 实现对订阅者兴趣的准确表达,因此受到广泛的关注。本发明实现的也是基于内容的发布和 订阅系统。

在发布和订阅系统中,事件代理的实现方式有两种:集中式和分布式。集中式结构只有 一个事件代理,所有的订阅者和发布者都将订阅和事件发往这一事件代理。集中式结构的优 点是实现简单,易于管理和维护,缺点是随着用户数量的增加,事件代理将成为性能瓶颈, 因此不具备扩展性。分布式结构是将多个事件代理以一定的拓扑结构组织起来形成一个代理 覆盖网络,由所有的事件代理共同完成订阅的注册、事件的发布以及事件和订阅的匹配等。 分布式结构中的事件代理可以是专门的事件代理服务器,也可以由普通节点担任,因此系统 的可扩展性好,具有良好的应用前景。

在设计分布式的发布和订阅系统时,如何分配每个事件代理负责的订阅和事件是一个核 心问题。一般来讲,订阅和事件需要在某一事件代理相遇才能实现相应的匹配,因此如果将 订阅和事件发送到合适的节点,则相应地匹配效率会大大提高。目前针对这一问题存在多种 设计方案,下面分别进行介绍:

第一类方案是改进的洪泛法。Terpstra(Wesley W.Terpstra,Jussi Kangasharju, Christof Leng,et al.BubbleStorm:Resilient,Probabilistic and Exhaustive  Peer-to-Peer Search,in Proceedings of the2007conference on Applications, Technologies,Architectures,and Protocols for Computer Communications,2007, pp.49-60.)结合随机行走算法和洪泛法的优势提出了一种在P2P网络中提供查询的方法,通 过设置数据和查询在每个节点的转发数目和跳数来对转发的最终数目和范围进行控制,最终 达到令匹配概率达到某一阈值的目的。这一方案的优势是实现简单,缺点是不能保证事件被 发送到所有感兴趣的订阅者。

第二类方案是空间划分方法,典型算法包括Meghdoot(Abhishek Gupta,Ozgur D.Sahin, Divyakant Agrawal,et al.Meghdoot:Content-Based Publish/Subscribe over P2P  Networks,in Proceedings of the5th ACM/IFIP/USENIX international conference on  Middleware,2004,pp.254-273.)和基于兴趣划分的内容发布订阅系统(逯鹏、刘旭东、林 学练等,基于兴趣划分的内容发布订阅系统关键算法,北京航空航天大学学报,Vol32,No 8,2006,pp.992-997.)。根据系统中的属性个数将节点映射到一个2n维(或n维)笛卡尔 空间,然后将笛卡尔空间划分为多个子空间,每个事件代理负责一个子空间内订阅和事件的 匹配。在该方案中,根据订阅或事件与笛卡尔空间的映射关系可以准确确定订阅和事件发送 的目标节点,最大限度降低了发送冗余信息的数量。但是当系统中属性个数较多时,维护笛 卡尔空间的开销较大,算法的复杂度大大提高。此外,当节点加入、退出较频繁时,笛卡尔 子空间的分割与合并会导致区域不规则问题出现,进一步加大了空间维护的难度。

第三类方案是基于订阅覆盖关系的拓扑设计。Terpstra(Wesley W.Terpstra,Stefan  Behnel,Ludger Fiege,et al.A Peer-to-Peer Approach to Content-Based  Publish/Subscribe,In Proceeding of the2nd international workshop on Distributed  Event-Based Systems,2003,pp.1-8)提出了一种基于Chord的发布/订阅系统,要求在事件 转发路径上节点存储的订阅满足覆盖关系,即在某一节点上与订阅不匹配的事件一定不会与 下一跳节点上存储的订阅匹配,反之,在后一跳节点上能够匹配的事件一定与前一跳节点上 存储的订阅匹配,以此来提高事件与订阅的匹配效率。但是Terpstra没有具体介绍将订阅依 据覆盖关系在Chord节点上存储的方法。Silvia(Silvia Bianchi,Pascal Felber and Maria  Gradinariu,Content-Based Publish/Subscribe Using Distributed R-Trees,Euro-Par 2007,pp.537-548)提出根据订阅将订阅者组织为R-tree,每个非叶子节点均维护一个覆盖 其本身及其子节点订阅的Minimum Bounding Rectangle(MBR),实现了父节点和子节点间MBR 的覆盖关系。这一方案的劣势在于R-tree的建立过程依赖于订阅,此时R-tree结构不仅受节 点的加入、退出的影响,更会根据订阅的变化而改变,因此R-tree的维护开销较大。

此外还有一种解决方案是根据属性来分配订阅(Yingwu Zhu and Yiming Hu,Ferry:A  P2P-Based Architecture for Content-Based Publish/Subscribe Services,IEEE Transactions on Parallel and Distributed systems,vol.18,No.15,2007,pp.672-685)。 当一个订阅产生时,随机或依据某一规则选择订阅中包含的一个属性计算hash,然后根据结 果将订阅存储到DHT网络中的相应节点。事件产生后被发送到所有事件代理进行匹配,以免 遗漏感兴趣的订阅者。这一方案实现简单,实用性强,但是没有考虑订阅间的覆盖关系,所 以匹配效率较低,此外其负载均衡能力稍差。Eferry(Xiaoyu Yang,Yingwu Zhu and Yiming  Hu,Scalable Content-Based Publish/Subscribe Services over Structured Peer-to-Peer  Networks,15th EUROMICRO International Conference on Parallel,Distributed and  Network-Based Processing,2007,pp.171-178)对Ferry进行了改进,通过控制事件代理的 个数来提高系统的负载均衡能力,但是Eferry中发布事件的开销大大增大,且事件从发布到 到达订阅者的时延也更长。

发明内容

本发明技术解决问题:克服现有技术的不足,提供一种基于历史记录数据挖掘的发布和 订阅方法,不依赖于所使用的overlay架构,实现简单,可移植性强;提高了事件代理上订 阅的相关性,提高了匹配效率,系统整体性能大大提升。

本发明技术解决方案:基于历史记录数据挖掘的发布和订阅方法,如图1所示,实现步 骤如下:

(1)对订阅的历史记录进行数据挖掘,确定合适的N、“N-项集合”、各频繁N-项集的支 持度以及“虚拟N-项集合”,具体实现如下:

(11)提取历史记录中每个订阅的属性集合;

(12)将订阅的属性集合作为事务,根据给定的最小支持度阈值计算频繁项集;当某一 项集的支持度大于该最小支持度阈值时将这一项集称为频繁项集,频繁N-项集是指包含N个 属性的频繁项集;

(13)统计所有频繁项集包含的属性个数;

(14)若在所有频繁项集中,频繁k-项集的数目最多,则将k记为N,将所有频繁k-项集 的集合记为“N-项集合”;

(15)从非频繁N-项集即包含属性个数为N,但不是频繁项集的项集中随机选择M个组成 “虚拟N-项集合”,这些被选定的非频繁N-项集称作虚拟频繁N-项集;

(2)订阅者根据订阅的属性集合、“N-项集合”、各频繁N-项集的支持度和“虚拟N-项 集合”选择某一N-项集,并根据该N-项集发布订阅;

(3)发布者根据事件的属性集合、“N-项集合”和“虚拟N-项集合”形成一个“N-项集 列表”,并根据该列表发布事件;

(4)事件代理根据当前可用带宽、事件大小和匹配的订阅者数目转发事件,转发事件 的方式包括两种:直接转发和基于分组的转发,所述直接转发是指事件代理将事件直接发送 给每个订阅者;所述分组转发指事件代理将订阅者分为几个分组,并将事件转发给每个分组 中的一个订阅者,即组长leader,由该leader将事件转发给分组中的其它订阅者;

(5)当负责某一频繁N-项集的事件代理匹配负载大于某一给定匹配负载阈值时,通过 增加事件代理个数的方式来降低节点负载,实现节点间的负载均衡。

所述“虚拟N-项集合”中设置虚拟频繁N-项集的个数M的方法具体如下:

虚拟频繁N-项集的个数M满足以下要求:

M1-SNFmaxload,

其中maxload为用户给定的最大负载阈值,SNF为所有订阅的属性集合中包含频繁N-项集的概 率。

所述步骤(2)中订阅者选择某一N-项集的方法具体如下:

订阅者检查该订阅的属性集合中是否包含“N-项集合”中的频繁项集:

(1)若不包含“N-项集合”中的频繁项集,从“虚拟N-项集合”随机选择一个虚拟频繁 N-项集;

(2)若包含1个“N-项集合”中的频繁项集,该频繁N-项集即为选定的N-项集;

(3)若包含2个或多个“N-项集合”中的频繁项集,选择其中支持度最小的频繁项集, 如果支持度最小的频繁项集不止一个,则随机选择其中一个。

所述步骤(2)中订阅者根据选定的N-项集发布订阅的方式如下:

(1)将N-项集中的N个属性根据字典序进行排序;

(2)调用哈希函数,根据排序后的N个属性计算哈希值;

(3)将订阅路由并存储到分布式哈希表DHT网络中对应于该哈希值的节点。

所述步骤(3)中具体方法如下:

(1)检查该事件的属性集合中是否包含“N-项集合”中的频繁项集,若包含n个频繁N- 项集,则将这n个频繁N-项集加入“N-项集列表”;n>0;

(2)将“虚拟N-项集合”中的虚拟频繁N-项集全部加入“N-项集列表”;

(3)将“N-项集列表”中每个N-项集的属性根据字典序进行排序;

(4)调用哈希函数,为每个排序后的N-项集计算哈希值;

(5)将事件发布到所有哈希值对应的节点。

所述特征(4)中事件代理根据当前可用带宽、事件大小和匹配的订阅者数目转发事件 的方法具体如下:事件代理统计所有与事件匹配的订阅者IP地址和订阅者数目l,并根据当 前可用上传带宽W和事件的大小S设置一个转发度D:当l≤D时,事件代理通过point-to-point 方式直接将事件转发给各订阅者;当l>D时,事件代理将订阅者分为K个分组,K=D,从每个 分组中选择一个节点作为leader,并将事件和分组成员IP列表分别转发给各leader,由 leader负责该组内事件的转发;Leader节点收到消息后有两个选择:一是将事件直接转发给 IP列表中除自身以外的其他节点;二是将IP列表中的节点进一步划分分组进行转发。

7、根据权利要求6所述的基于历史记录数据挖掘的发布和订阅方法,其特征在于:所述转发 度D的设置方法具体如下:

DWS

其中W为事件代理当前可用带宽,S为事件大小。

所述特征(5)中负载均衡方法具体如下:

当负责某一频繁N-项集FI的事件代理RPFI的匹配负载较大时:

(1)订阅的路由和存储

根据订阅的路由和存储策略,当某一订阅条件Sub需路由并存储到RPFI时,将FI中的属性 以不同顺序排序,根据排序后的属性分别计算哈希值,然后随机选择其中一个哈希值,并将 订阅路由并存储到该哈希值对应的节点。

(2)事件的发布

当事件e中包含FI时,首先根据事件的发布策略将事件发布到除RPFI之外的其它事件代 理,然后将FI中的属性以不同顺序排序,并根据排序后的属性分别计算哈希值,将事件e发 布到所有哈希值对应的节点。

本发明与现有技术相比的优点在于:本发明提出了一种基于历史记录数据挖掘的发布和 订阅方法,通过对支持度小的属性组合进行合并,在负载均衡和事件的发布开销之间取得了 良好的折中。综合来讲,本发明的主要优势在于:不依赖于所使用的overlay(专有名词, 一般译为重叠网)架构,实现简单,可移植性强;通过订阅者感兴趣的属性集合确定事件代 理,提高了事件代理上订阅的相关性,进而可以利用订阅间的覆盖关系提高匹配效率;在负 载均衡和事件的发布开销之间取得了较好的折中,系统整体性能大大提升。

附图说明

图1为本发明实现流程图;

图2为本发明中对订阅的历史记录进行数据挖掘实现流程图;

图3为RP节点上存储的订阅数目;

图4为每个RP节点上占用的匹配时间;

图5为系统中事件延迟时间的概率分布图;

图6为系统中节点转发数据量的概率分布图。

具体实施方式

为了更好地理解本发明,先对一些基本概念进行一下解释说明。

发布订阅系统模型:S={A1,A2,…,An},其中Ai表示某一属性,n为系统中属性总数。

事件(event):e={A1=c1,A2=c2,…,An=cn},其中ci表示属性值,如果事件中没有明确指 明某一属性的值,则默认该属性取NULL。

订阅(subscription)用谓词表示,例如sub=(A1=v1)∩(v2≤A3≤v3),如果subscription 中没有对某一属性的值进行限定,表明该属性取值范围内的任意值都符合订阅者的兴趣(但 不包括NULL)。

事件与订阅匹配:事件中每个属性的取值均满足订阅中对该属性的约束条件。例如,若 事件e={A1=c1,A2=c2,…,An=cn}与sub=(A1=v1)∩(v2≤A3≤v3)匹配,则要求事件e中A1和A3的属 性值满足sub中的对这两个属性的约束条件。

如图2所示,对订阅的历史记录进行数据挖掘,过程如下:

(1)提取历史记录中每个订阅的属性集合,例如某一订阅sub=(A1=v1)∩(v2≤A3≤v3), 则该订阅包含的属性集合可以表示为Attrsub={A1,A3}。

(2)将所有订阅的属性集合作为事务,给定最小支持度阈值minsup,使用Apriori或 FP-Growth等算法计算频繁项集及其支持度。

对订阅的历史记录进行数据挖掘获得的频繁项集可能包含不同的属性个数,例如三个频 繁项集:FI1={A1,A2},FI2={A2,A3},FI1={A1,A2,A3}。为了实现计算DHT节点哈希值时的一 致性,仅选择包含某一属性个数的频繁项集,选择方式如下:

(1)统计所有频繁项集包含的属性个数。

(2)若在所有频繁项集中,频繁k-项集(包含属性个数为k的频繁项集)的数目最多, 则将k记为N,将所有频繁k-项集的集合记为“N-项集合”。

从非频繁N-项集(包含属性个数为N,但不是频繁项集的项集)中随机选择M个组成“虚 拟N-项集合”,这些被选定的非频繁N-项集称作虚拟频繁N-项集。M的个数满足以下要求:

M1-SNFmaxload,

其中maxload为用户给定的节点最大负载阈值,SNF为所有订阅的属性集合中包含频繁N-项集 的概率。

“N-项集合”、各频繁N-项集的支持度以及“虚拟N-项集合”确定后将被分发到系统中 的每个节点。订阅者和发布者将会根据这些信息发布订阅和事件。

系统组网

为了充分利用每个节点的计算资源,实现分布式的匹配,以DHT的方式进行节点组网。 由于本发明不依赖于所采用的DHT组网方法,因此在具体应用时可根据实际情况选择组网方 法,例如Chord、Can、Pastry等。

当新节点加入时,根据所选用的组网方法进行初始化,并从已有节点下载“N-项集合”、 各频繁N-项集的支持度以及“虚拟N-项集合”。

订阅的路由和存储

当产生一个订阅时,订阅者根据某一N-项集发布订阅,该N-项集的选择过程如下:

订阅者检查该订阅的属性集合中是否包含“N-项集合”中的频繁项集:

(1)若不包含“N-项集合”中的频繁项集:

从“虚拟N-项集合”随机选择一个虚拟频繁N-项集。

(2)若包含1个“N-项集合”中的频繁项集:

该频繁N-项集即为选定的N-项集。

(3)若包含2个或多个“N-项集合”中的频繁项集:

选择其中支持度最小的频繁项集,如果支持度最小的频繁项集不止一个,则随机选择其中一 个。选择支持度最小的频繁项集是为了实现事件代理间的负载均衡。

选定N-项集后,订阅的具体发布方式如下:

(1)将N-项集中的N个属性根据字典序进行排序;

(2)调用哈希函数,根据排序后的N个属性计算哈希值;

(3)将订阅路由并存储到DHT网络中对应于该哈希值的节点。

在发布订阅的同时,订阅者记录每个订阅的存储节点,当退订某一订阅时直接根据记录 找到相应节点退订该订阅。此外,为了避免节点非正常退出时造成的订阅丢失,建议采用DHT 中的缓存策略对每个节点上存储的订阅进行备份。

事件的发布

发布者根据一个“N-项集列表”发布事件,该“N-项集列表”形成过程如下:

(1)检查该事件的属性集合中是否包含“N-项集合”中的频繁项集,若包含n(n>0)个 频繁N-项集,则将这n个频繁N-项集加入“N-项集列表”;

(2)将“虚拟N-项集合”中的虚拟频繁N-项集全部加入“N-项集列表”。

“N-项集列表”生成后,事件的发布过程如下:

(1)将“N-项集列表”中每个N-项集的属性根据字典序进行排序;

(2)调用哈希函数,为每个排序后的N-项集计算哈希值;

(3)将事件发布到所有哈希值对应的节点。

事件与订阅的匹配

事件代理每接收一个事件即调用匹配算法将该事件与存储在本节点上的订阅进行匹配, 然后将事件转发给所有匹配的订阅者。需要指出的是,由于采用本发明后大部分事件代理上 存储的订阅具有很强的相关性,易于形成覆盖关系,所以建议使用基于覆盖关系的匹配算法 对事件和订阅进行匹配。

事件的分发

事件的分发过程是指事件代理将事件转发给所有匹配的订阅者的过程。事件代理统计所 有与事件匹配的订阅者IP地址(与订阅一起发送到事件代理)和订阅者数目l,并根据当前 可用上传带宽W和事件的大小S设置一个转发度D:

DWS.

(1)当l≤D时:

事件代理通过IP地址直接将事件转发给各订阅者。

(2)当l>D时:

事件代理将订阅者分为K(K=D)个分组,从每个分组中选择一个节点作为leader,并将事件 和分组成员IP列表通过IP地址分别转发给各leader,由leader负责该组内事件的转发。 Leader节点收到消息后有两个选择:一是将事件直接通过IP地址转发给IP列表中除自身以外 的其他节点;二是将IP列表中的节点进一步划分分组进行转发。

负载均衡策略

当负责某一频繁N-项集FI的事件代理RPFI的匹配负载较大时,可以通过增加事件代理个 数的方式来降低节点负载,实现节点间的负载均衡,具体方式如下:

(1)订阅的路由和存储:

根据订阅的路由和存储策略,当某一订阅条件Sub需路由并存储到RPFI时,将FI中的属性 以不同顺序排序,根据排序后的属性分别计算哈希值,然后随机选择其中一个哈希值,并将 订阅路由并存储到该哈希值对应的节点。例如,负责频繁3-项集{A1,A2,A3}的事件代理负载 较大,当订阅需路由到该节点时,分别根据A1A2A3、A1A3A2、A2A1A3、A2A3A1、A3A1A2、A3A2A1计算 哈希值,并随机选择其中一个哈希值路由订阅。

(2)事件的发布:

当事件e中包含FI时,首先根据事件的发布策略发布事件(负责FI的事件代理除外),然 后将FI中的属性以不同顺序排序,并根据排序后的属性分别计算哈希值,将e发布到所有哈 希值对应的节点。例如,负责频繁3-项集{A1,A2,A3}的事件代理负载较大,当事件中包含该 频繁3-项集时,首先根据事件的发布策略发布事件(负责频繁3-项集{A1,A2,A3}的事件代理 除外),然后分别根据A1A2A3、A1A3A2、A2A1A3、A2A3A1、A3A1A2、A3A2A1计算哈希值,并将事件发布 到所有哈希值对应的节点。

具体实施例

在OverSim仿真平台上搭建仿真系统,将本发明中算法(基于数据挖掘的发布订阅系 统,Data Mining based Publish/Subscribe System,SMPSS)与Ferry和Eferry进行对比。

在该发布/订阅系统中共有七个属性,其定义为:

S={[Date:string,2/Jan/98,31/Dec/02],

[Symbol:string,“aaa”,“zzz”],

[Open:float,0,500],

[Close:float,0,500],

[High:float,0,500],

[Low:float,0,500],

[Volume:integer,0,310000000]}.

订阅生成模板为6个,分别为:

T1={(Symbol=P1)∩(P2≤Open≤P3)},概率为20%;

T2={(Symbol=P1)∩(Low≤P2)},概率为25%;

T3={(Symbol=P1)∩(High≥P2)},概率为30%;

T4={(Symbol=P1)∩(Volume≥P2)},概率为10%;

T5={(Volume≥P1)},概率为5%;

T6={Date≥P1(50%)∩Symbol=P2(50%)∩P3≤Open≤P4(50%)∩P5≤Close≤P6(50%)∩ High≥P7(50%)∩Low≤P8(50%)∩Volume≥P9(50%)},概率为10%。

在T6中,每个约束条件在订阅中出现的概率是50%,T6总的出现概率为10%。

事件生成模板为7个,分别为:

E1={Date=P1,Symbol=P2,Open=P3,Close=P4},概率为10%;

E2={Date=P1,Symbol=P2,High=P3,Low=P4},概率为5%;

E3={Date=P1,Symbol=P2,Volume=P3},概率为10%;

E4={Date=P1,Symbol=P2,Open=P3,Close=P4,High=P5,Low=P6},概率为5%;

E5={Date=P1,Symbol=P2,Open=P3,Close=P4,Volume=P5},概率为30%;

E6={Date=P1,Symbol=P2,High=P3,Low=P4,Volume=P5},概率为20%;

E7={Date=P1,Symbol=P2,Open=P3,Close=P4,High=P5,Low=P6,Volume=P7},概率 为20%。

给定最小支持度阈值minsup=5%,根据订阅模板和频繁项集的定义可得,在本专利系统 中,N=2,“2-项集合”为{{Symbol,Open},{Symbol,Low},{Symbol,High},

{Symbol,Volum}},“2-项集合”中各频繁2-项集的支持度依次为:20%,25%,30%,10%。 给定节点最大负载阈值maxload=5%,由于SNF=85%,则根据公式:

M1-SNFmaxload

“虚拟2-项集”中虚拟频繁2-项集的数目M取3,本发明试验中三个虚拟频繁2-项集分别为: {Open,Close},{High,Low},{Date,Volume}。

举例说明订阅发布过程。假如某一订阅sub1={(Symbol=P1)∩(Low≤P2)},由于该订阅中 包含且仅包含一个频繁2-项集{Symbol,Low},则将Symbol和Low根据字典序排序后得到 LowSymbol,然后根据字符串“LowSymbol”计算哈希值,最后将sub1路由并存储到DHT网 络中中该哈希值对应的节点。假如某一订阅sub2={(Volume≥P1)},由于该订阅中不包含“2- 项集合”中的频繁项集,则随机选择一个虚拟频繁2-项集,例如{Open,Close},根据字典序 排序后得到字符串“CloseOpen”,然后根据该字符串计算哈希值,并将sub2路由并存储到 overlay中该哈希值对应的节点。

举例说明事件的发布过程。假如事件e={Date=P1,Symbol=P2,Open=P3,Close=P4, High=P5,Low=P6},则该事件包含频繁2-项集{Symbol,Open}和{Symbol,High},将这两个频 繁2-项集和三个虚拟频繁2-项集{Open,Close},{High,Low},{Date,Volume}一起组成“N-项集 列表”,然后将列表中每个项集根据字典序排序得到5个字符串:“OpenSymbol”、 “HighSymbol”、“CloseOpen”、“HighLow”和“DateVolume”。根据这5个字符串分别计算 哈希值,并将事件e发布到这5个哈希值对应的节点。

仿真系统中节点数目设置为1024个,系统产生的订阅数为10240个(平均每个节点10个), 生成的事件数目为102400个(平均每个节点100个)。

图3为RP(本专利中的事件代理)节点上存储的订阅数目。由于Eferry中RP数目较多, 仅从中选择存储订阅数目最多的前10个。从图3中可以看出,仅从存储的订阅数目来讲, DMPSS的负载均衡性能仅比Ferry-Rnd稍差,但是优于Ferry-Pred和Eferry。

图4为每个RP节点上占用的匹配时间,即所有事件匹配时间的和。该指标可以更加客观 的描述节点用于匹配的资源。从图中可以看出DMPSS的负载均衡能力仅次于Ferry-Rnd,但 是优于Ferry-Pred和Eferry。当应用了本发明的负载均衡策略后(DMPSS+LB),DMPSS的负 载均衡能力进一步提升,且每个节点上的负载均低于Ferry-Rnd中的节点。

图5为系统中事件延迟时间的概率分布图。从图中可以看出,DMPSS可以大大减小事件 到达订阅者所需时间,提高了整个系统性能。

图6为系统中节点转发数据量的概率分布图。节点转发数据量越小时,节点的负载越小, 且整个系统的带宽消耗也越小。从图中可知,采用DMPSS时,节点的转发数据量最小,整个 系统的带宽消耗最小。

综合来讲,DMPSS具有较好的负载均衡能力,能够大大减小事件到达订阅者的时间,并 且能够降低整个系统的带宽消耗,因此其综合性能优于Ferry和Eferry,具有良好的应用前景。

本发明未详细阐述部分属于本领域公知技术。

以上所述,仅为本发明部分具体实施方式,但本发明的保护范围并不局限于此,任何熟 悉本领域的人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明 的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号