论文部分内容阅读
发布/订阅系统是一种提供给信息的生产者和消费者互动平台的分布式中间件系统,其中同构发布/订阅系统的一类应用是易物服务、物品交换等,该系统的目的是使尽可能多的用户参与匹配、提高系统的收益能力,因此逐渐获得了电商的关注。近年来,云计算作为计算平台中一种新型模型出现,覆盖了多数计算领域。云计算的兴起为高效、大规模计算平台的产生提供了可能性。如何在发布/订阅系统中使尽可能多的用户参与匹配并且使系统具有良好的扩展性是发布/订阅系统的追求目标,也是发布/订阅系统的关键技术。本文主要工作包含两部分,第一是针对系统最优化问题设计出高效的算法,找出尽可能多的订阅用户成功参与匹配,另一工作是利用云计算平台的计算资源和技术,设计出具有良好扩展性的发布/订阅系统。针对提高系统中参与匹配用户数目的系统最优化问题,本文应用了兼顾用户满意度的贪心算法和启发式算法。现有的发布/订阅相关的研究中,针对系统最优化问题的研究相对较少。已知在环匹配长度大于等于3的前提下,系统最优化问题是NPC问题,为系统找到一个近似最优解是本文的一个研究重点。而本文主要从系统收益和用户满意度两个角度出发,应用了兼顾两者的贪心算法和启发式算法。其中,贪心算法从考虑用户满意度的角度获取系统近似最优解;而启发式算法中,针对长度为3的环匹配提出了两种归约规则,通过归约规则逐步降低问题规模,并最终获取系统近似最优解。实验结果证明,两种算法执行时间基本相同,启发式算法的结果集中包含的订阅数比贪心算法结果集中订阅数多出9%到24%。针对发布/订阅系统扩展性这一问题,本文提出了基于Twitter Storm的发布/订阅并行框架。目前虽然存在部分有关于云计算和发布/订阅相结合的研究工作,还没有关于实时处理系统Twitter Storm与发布/订阅的整合工作。本文提出的基于Twitter Storm的发布/订阅框架的目的是在大规模数据下,使事件与订阅进行快速的匹配。首先,对于云环境下缺少有效的索引结构,本文针对订阅数据建立基于HBase存储的R-树索引,通过维转换和空间填充技术,可以高效地进行事件的查询匹配。其次,针对事件匹配工作,本文设计框架及算法采用并行查询模式,有效地提高了事件的匹配速度,从而提高系统的吞吐量。最后,通过实验分析,索引结构的存在大大减少数据查询时间,并证明了并行框架的扩展性。