Abstract: Analyzing how to deal with new-node that does not match the super-node in super-node P2P network based on leader-follower algorithm can help improve the efficiency and performance of super-node. The paper introduced general class node and splitting algorithm, and the nodes that do not match every super-node were managed by the general class node. When the nodes reached a certain number, the splitting algorithm was used to split these nodes into several semantic similarity clusters. Finally, the merge sorting algorithm chose the optimal node as super-node. The experimental results show that the proposed method improves the efficiency and performance of super-node, and it has good feasibility.
Key words: super-node Peer-to-Peer (P2P) network; super-node; semantic; splitting algorithm; similarity cluster; merger sorting algorithm
0 引言
近年来,基于超级节点的对等(Peer-to-Peer, P2P)网络吸收了集中式对等网络资源搜索效率高和全分布式对等网络鲁棒性强的优点,克服了前者单点失效、负载不均,后者浅搜索深度和分片问题的缺陷,逐步成为人们关注的焦点[1-2]。基于超级节点对等网络研究的关键问题涉及到超级节点选择、超级节点个数、超级节点管理普通节点等问题。文献[3]采用在线聚类算法,将新加入的节点按照语义相关性动态加入相应的超级节点,如果没语义匹配的超级节点,则以新加入节点为基础创建一个超级节点。该方法的优点:只对与新到样本最相似的一个聚类中心进行调整,与该样本无关的其他类的性质得到了保留。但在效率和超级节点性能方面存在一定问题。
本文对文献[3-5]的方法进行了改进,引入通用类节点,与各超级节点语义不匹配的新节点则交由通用类节点管理,当通用类节点管理的节点数达到一定规模后,采用分裂算法将其分裂为若干语义相似簇,最后用合并排序算法从中选择最优节点作为超级节点。本文方法提高了节点聚簇效率,增强了超级节点的性能。
1 相关知识
1.1 在线聚类算法
在线聚类法的目的是使系统可自适应地学习新出现的数据。在对等网中,在线聚类法主要用于对新加入的节点进行管理。目前,对等网中使用的主流在线聚类法是leader-follower(领导者—追随者聚类)算法,其思想为:对每个新加入的节点,计算其语义相似度,将其连接到与之匹配的超级节点,如果没有语义匹配的超级节点,则以新加入的节点为基础创建一个超级节点[3]。
leader-follower算法的优点:该算法针对在线聚类的特点,只对与新到样本最相似的一个聚类中心进行调整,与该样本无关的其他类的性质得到了保留。实验数据表明,与传统聚类算法相比,该算法达到了可塑性与稳定性的平衡[5]。
1.2 超级节点
文献[7]在基于超级节点的对等网中,选择性能(处理、存储、带宽等方面)较好的节点作为超级节点,由超级节点管理普通节点。在各个超级节点上存储了系统中其他部分节点的信息,整个转发过程只发生在超级节点之间,超级节点之间构成一个高速转发层。整个对等网则是一个超级节点和其负责的普通节点构成的二层次混合模型,一个超级节点管理多个普通节点。混合模型同时吸取了完全分散式模型和层次化模型的优点,构建高效的混合拓扑结构。
2 基于leader-follower算法的超级节点管理
leader-follower算法用于构造超级节点P2P网络,将新加入的节点按照语义相关性动态加入相应的超级节点,如果新加入节点和超级节点之间的语义相似度超过了所定义的阈值如果新加入节点和超级节点之间这句话不太通顺,请作相应调整。超过阈值(新节点没有语义匹配的超级节点),就以自身构造新的超级节点。该方法存在效率低和超级节点性能差异大的问题。本文提出一种改进的算法,引入通用类节点,将与各超级节点语义不匹配的新节点交由通用类节点管理,当通用类节点管理的节点数达到一定规模后,采用分裂算法将其分裂为若干语义相似簇,最后用合并排序算法从中选择最优节点作为超级节点。
2.1 基本概念
定义1 节点。在P2P网络中,节点既是服务器又是客户端,既是资源的提供者也是资源的获取者。网络中的资源和服务分散在所有的节点上,信息的传输和服务的实现都直接在节点之间进行[9]。
节点可形式化定义为一个三元组Peer=(ID,C,IC),其中:ID为节点在系统范围内的唯一标识,C表示节点性能,IC表示节点间的信息量。
本文采用基于信息学模型的方法来计算节点之间的信息量(Information Content, IC)。信息模型的主要思想是:概念Ci、Cj“CiCj”之间是否应该加一个顿号?请明确。之间的相似性通过它们共有的信息表示,它们共同拥有的信息越多,它们之间就越相似。
根据文献[10]计算概念之间信息量的思想,本文用式(1)来计算节点之间的信息量。定义p(v)为节点中某个特征词出现的概率。计算某特征词的总出现次数,形式化描述为:
freq(v)=∑v∈words(c)(count(v))(1)
其中words(c)为特征词在某节点中出现的次数。特征词的概率计算如下:
p(v)=freq(v)/N(2)此处的freq是应该为“freq(v)”?请明确。
其中N为所有特征词的数量。本文用两个对象共同拥有的信息量来表示它们之间的相似度。一个节点v的信息量可以进行如下量化:
IC(v)=-lg p(v)(3)log的底是多少,请补充。
因此通过式(4)计算节点的相似度:
sim(vi,vj)=max IC(v)=max[-lg p(v)](4)
定义2 簇。是按照节点对资源的需求、共享目的和属性的相似性进行划分的基本逻辑单位,簇内节点有很大的相似系数。在簇中,选择性能较好(处理、存储、在线时间长,带宽等)的节点来管理其他节点,这个节点叫超级节点(Super Node, SN),被超级节点管理的节点叫普通节点(Ordinary Node, ON)。超级节点逻辑上位于簇的中心,与簇内节点距离最短。超级节点作为簇的领导者,可以管理多个普通节点,且为簇中的普通节点提供四种基本的服务:加入、更新、离开、查询。 (责任编辑:南粤论文中心)转贴于南粤论文中心: http://www.nylw.net(南粤论文中心__代写代发论文_毕业论文带写_广州职称论文代发_广州论文网)