论文部分内容阅读
当前对等网(P2P)作为一种迅速发展的分布式计算模式越来越多的受到学术界和应用界的关注。和传统的client/server模式相比,对等网络中每个节点的地位是相同的,具备客户端和服务器双重特性,节点即是服务使用者又是服务提供者,同时对等网强大的扩展性和容错能力使之非常适合大型网络应用。流数据模型在多种应用领域中得到广泛研究,这包括网络监控,金融数据分析,传感器网络等,针对这些应用场合,相比传统数据库,基于对等网的数据库在分布结构上有着明显的优势,更适合分布式流数据处理。由于基本的结构化对等网采用DHT这种特殊的拓扑结构,限制它只能支持简单的精确匹配查询,因此结构化对等网中如何支持分布式连续复杂查询是一个非常有意义的问题。本文主要讨论如何在数据频繁更新的结构化对等网中实现连续排序连接查询,其中排序查询能够提供如同web搜索引擎的功能,返回Top-k个最符合要求的结果给用户。在本文研究的环境中,数据被组织成关系数据模型的元组[tuple]形式,连续地从不同的节点插入和保存到系统中。由于结构化对等网采用DHT这种特殊的拓扑结构,即单个关键字到映射节点的查找,这样就限制了它进行复杂查询的能力。如何将来源于网络不同节点的流数据进行关联处理,同时尽量减少因此产生的流量成为一个极富挑战性的课题。本文提出了两种基于结构化覆盖网的连续Top-k联接查询算法,ACJoin算法中,系统收到每条元组数据都会触发联接查询,在联接查询结果之上计算排序函数Rank-f,最后统计前K个结果返回给查询者。PCJoin算法中在进行联接查询前,首先计算排序函数Rank-f的估值与现有Top-k结果比较,让查询过程尽量减少联接的次数,进而减少资源的消耗和网络通信量,去除不可能对最终结果产生影响的元组,减少了联接查询量。最后通过大量仿真实验进行了性能分析,实验结果证明算法在保证连续Top-k联接查询结果有效性的同时,减少了大量的网络流量。