论文部分内容阅读
发布/订阅通信模型具有异步、松耦合和多对多通信的特点,适应了目前动态多变的大规模分布式计算环境,在诸多领域得到了广泛应用。发布/订阅系统已经成为目前构建大型分布式系统的基础。近年来,有关发布/订阅系统的研究主要集中在对事件或通知消息等数据量较小的内容进行高效的分发,无法满足潜在的对大数据量的内容进行高效分发的应用需求。为满足该需求,本文研究在现有发布/订阅通信模型下,基于订阅节点协同的数据分发方法,利用订阅节点将接收到的数据内容进行合理地转发,降低对GB级数据量的内容进行“一对多”分发的时延和发布者的负载。 论文主要工作和贡献包括: (1)研究发布/订阅系统体系结构特点及订阅泛洪的工作机制,将研究问题抽象成订阅节点集合中数据转发路径的生成和维护。订阅节点根据订阅关系自主地选择目的节点集合并创建转发表。订阅节点接收到数据后,通过查表进行数据的转发,并支持多对多的数据分发形式。 (2)为了对数据分发路径进行约束提出单向收敛性和路径扁平性约束的概念。利用MD5散列算法将系统中的节点映射到32位逻辑地址空间,并提出逻辑距离的概念。依据订阅节点与发布节点之间的逻辑距离,将订阅节点集合分割成独立不相交的“桶”,并对其进行编号。数据在订阅节点中转发时总是由低编号的桶中流入高编号的“桶”,满足了数据分发的单向性。在此基础上,结合简单的路径调整算法即可满足数据分发路径的“扁平”。 系统检测出用户动态加入、退出甚至节点失效等事件时,节点自主地进行“桶”结构的更新,修改本地转发表中相应的表项,确保数据转发路径的连通性及合理性。 (3)理论分析了基于逻辑距离生成的转发路径的形态特点以及数据分发的负载分布、时延情况,并结合大规模的系统仿真予以验证。设计并实现发布/订阅原型系统,通过原型系统实验对数据分发的效率进行实验评估。实验结果表明:发布/订阅系统中利用基于订阅节点协同的数据分发方法在分发速率、系统内部负载分布以及订阅者时延等方面明显优于订阅泛洪的分发方法,在对大数据量内容进行分发时上述优势尤为显著。