论文部分内容阅读
P2P技术的诞生被视为是推动数据集成领域发展的一个强大动力,P2P数据集成系统能够融合P2P技术与数据集成两者的优势,以此来克服传统集中式数据集成系统的缺点,使得用户最大程度上无障碍地访问异构数据源,从而查询和获取所关注的数据。一方面,P2P数据集成系统采用只建立和维护数据源与相邻几个数据源之间的语义映射的方式,取代了庞大而复杂的统一中介模式的数据共享方式,使得传统数据集成系统中的若干复杂问题得以缓解甚至解决。另一方面,P2P数据集成系统自身也存在一些问题需要解决。事实上,P2P计算自身存在一些固有特性,例如动态性、可扩展性、分散性以及节点自治性等,往往给整个融合过程带来不少新的麻烦。比较重要的几个关键问题包括:如何建立和维护节点间的语义映射,采用何种方式组织和管理节点并以此为基础实现节点间的数据交换,P2P数据集成系统中如何使查询处理能够满足速度、完整度以及准确度的多项需求,等等。因此,如何寻找一种恰当的途径,将P2P技术与数据集成系统融合在一起,充分发挥两者的优势,便成了本文的主要研究内容。在P2P网络中,Kademlia网络作为一种应用广泛且高效的网络协议,最初是为了P2P文件共享系统而设计出来的,它有着非常清晰的逻辑结构,通过自身特有的节点标识模式以及用于表示距离的XOR运算方式,它在执行关键字查询时的时间复杂度可以达到θ(logn)。在本文中,我们提出了一种将Kademlia网络应用到P2P数据集成系统中的思路,并且提出了一个全新的P2P双层数据查询模型,Dual-Kad模型。该模型融合了Peer层上的Kademlia网络和Super Peer层上的Kademlia网络,为P2P数据集成系统提供了一个可靠有效的基本骨架,并负责组织和管理异构的数据源节点,调控查询路由,提高节点的可用性,从而一定程度上提高了查询请求的处理速度和查询结果的完整度、准确度等。首先,通过引入Super Peer层上的Kademlia网络,Dual-Kad双层查询模型可以处理基于语义逻辑的复杂查询,而这也正是突破了原始Kademlia网络中执行查询的一个局限性,同时该方法也缩短了查询路由的路径长度,并能缓存历史查询结果,最终达到加速整个查询路由、提高P2P数据集成系统中查询处理性能的目的。其次,关于节点间的语义映射,与传统数据集成系统中的语义映射不同,在Dual-Kad双层查询模型中不再需要建立和维护异构数据源与统一中介模式之间的庞大而复杂的语义映射,取而代之的是节点间的语义映射。与前者相比,后者具有小而灵活的特点,适应了P2P数据集成系统中数据源的可扩展性和动态性等特点,而且在一定程度上降低了节点间进行数据交换时可能出现的“信息遗失”程度。最后,我们还针对Dual-Kad双层查询模型自身的特点,分析和展开了关于子查询处理优化这方面的研究工作,提出了以操作符为中心的数据流查询模型,通过查询重构以及子查询延迟处理策略,促进并利用不同子查询之间可能存在的数据共享现象,从而减少节点间的通信交互开销,最终提高整体的查询性能。