一种基于群落的结构化路由方法

文档序号:7696029阅读:245来源:国知局
专利名称:一种基于群落的结构化路由方法
技术领域
本发明涉及一种基于群落的结构化路由方法,属于分布式技术在高动态互联网环境中 的应用。其中主要涉及的领域包括路由技术1, 2、计算资源组织技术3、网格计 算3、多播技术4以及网络通信技术5等。
背景技术
互联网系统本身是一个高动态的计算环境。这里的动态性主要体现在网络波动、计算 资源消耗、用户利记体育变化以及系统故障等等。互联网服务器6作为互联网应用的核 心计算资源充当着在动态环境中保持稳定计算的决定性作用。但随着计算技术以及网络通 信技术的提高,越来越多的计算设备成为了互联网计算重要角色。在这种情况下,互联网 服务器的中心角色就不再显著了。计算资源可以不仅仅来自于互联网服务器,也可以来自 于其他计算设备,如互联网客户端设备等。随着计算资源的大量增加,少数服务器提供资 源査询服务的难度越来越大。因此,在这样的计算环境中寻找计算资源就由传统的中心结 构6, 7方式转换为非中心结构方式。路由技术1, 2的本质就是寻找计算资源,为 形成高效计算系统建立基础。路由技术的优劣直接影响最终基于相关资源形成的分布式系 统质量。在面对非中心分布式系统时,对计算资源的寻找主要方法包括结构化1和非 结构化2两大类。二者在面对非中心的动态计算环境时,采取的观念和具体做法都不 相同;但是二者各有其适合的基本计算环境。本发明将二者恰当结合而形成一个新的路由 技术。
结构化路由技术的基本特征可以归纳如下。第一,在所有节点计算能力平均的前提下 进行路由。第二,在所有计算节点处于相对稳定环境下进行路由。第三,在所有计算节点 可以付出无关计算资源的条件下进行路由。第四,在高维护代价的环境中进行路由。第五, 保证公平性而忽略优势资源的路由技术。第六,重视计算资源而忽略智力资源的路由技术。 第七,结构化路由技术是一种强约束条件下的高效路由技术。第八,结构路由技术没有考 虑具体应用的特点。现就以上特征解释如下。
第一,在所有节点计算能力平均的前提下进行路由。在结构化路由技术当中,所有潜 在参与计算的节点都被看成计算能力相同的。在这样的前提下,结构化路由技术把所有可能的资源通过纯粹的数学方法1映射成无含义可匹配的标识符,然后把计算资源的标 识符发布到唯一计算节点上。这个唯一性的实现是这样实现的要求这个计算节点本身的 标识符与被发布计算资源的标识符在整个计算环境中达到最大匹配程度。由于相关数学方 法在进行映射当中没有考虑任何互联网计算环境的特征,相应的标识符完全是以平均的几 率分布在所有可能的计算节点上。最终形成的结果是通过结构化路由产生的分布式索引可 以不依赖任何中心计算节点,并且每个非中心环境中的节点拥有几乎相同数量的索引。然 而这样的结果并不符合互联网运行时自然规律。在真实的互联网上,不同的节点之间在互 联网上的行为和对互联网的贡献(如计算能力、数据或者服务、持续上网时间以及网络影 响力等等)都千差万别;这种差别并不是没有任何规律的8。单纯从资源索引这个角 度看,每个节点由于上述差别会在节点上拥有大小差别很大的数据资源;如果据此形成索 引,其相应索引量差距也很大。索引量大的节点是与其本身在互联网上的行为紧密相关的, 或者说是每个节点的自然属性。简言之,结构化路由技术打破了计算节点之间天然的差别, 并在此基础上构造出了绝对平均化的非中心索引机制。
第二,在所有计算节点处于相对稳定环境下进行路由。如上所述,每个计算节点都拥 有平均的索引量。而当其中任何一个节点失效时,相应索引就无法在路由技术中起作用, 相应计算资源也就无法访问。所以,实际上结构化路由有一个过分严格的前提,即计算环 境相对稳定。然而,这个要求在实际互联网计算环境中是不存在的,这大大影响了结构化 路由技术的效果。 一个可能的解决办法是在发布索引标识符时目标节点不是唯一节点而是 多个最匹配的计算节点。但是个数确定和所有节点持续在系统中的时间有关,并不是一个 常量。另外一个方法是当一个节点正常退出时,这个节点可以将自身保存的索引发布到 最匹配的节点上以避免索引丢失;但如果节点是非正常退出,则此备份措施就无效了。无 论哪种方式,都会对系统造成额外负担,有时这个负担会过大。
第三,在所有计算节点可以付出与本地需求无关计算资源的条件下进行路由。结构化 路由还要求一个条件,即规定所有的节点必须付出无关计算资源为路由服务,既使此路由 计算涉及的计算资源对参与路由的节点本身没有任何意义。通过纯粹数学方法产生的可匹 配标识符本身完全是偶然地和一个计算节点建立了联系(即资源标识符被发布到该节点),
当路由计算经过该节点时,为了保证路由顺利进行,此节点必须投入计算资源为该路由服 务。但由于被寻找的计算资源和该节点之间除了标识符匹配的关系外没有任何其他联系, 这样的付出在这个节点看来是额外而没有意义的。虽然这个工作对非中心资源寻找整体来 说是必须的,而且每个节点最终都会在其中间接得到好处,这个条件对于以自私为基本特征的环境并不是最恰当的,甚至是会被用户反感的。更进一步,当依据结构化路由技术获
取的资源组织计算时(如建立多播拓扑结构9, 10),仍然会导致无关节点被巻入9, 10。这会进一步造成节点计算资源被消耗在与控制该节点的用户意愿违背或者无关的应 用当中。这也是结构化路由技术带来的缺陷。
第四,在高维护代价的环境中进行路由。结构化路由要求的稳定环境与现实互联网动 态环境相差太远。因此,结构化路由为了维持一个可路由的计算环境,不得不伴随维护系 统相对稳定的机制1, 9, 10。这个机制主要包括节点死活的判定、心跳策略、节点远 近的判定和节点替换策略1。节点死活策略判定某个节点是否处于系统当中;只有当 节点处于系统当中的时候,才会对路由产生可能的帮助。心跳策略保证节点之间了解彼此 在系统中的死活情况,从而保证路由表1的完整。当探测到一个节点不在系统当中时, 必须在可能的候选节点当中选择尽可能近的节点来填补离开节点的空缺;这可以通过节点 远近的判定方法来进行。当路由表中的节点失效时,应该选择当前标识符最大匹配同时优 先保证新节点的邻近特征。无论哪种维护技术,都是保证路由可靠进行所必须采取的手段; 同时,这个代价也是明显的。
第五,保证公平性而忽略优势资源的路由技术。以可匹配标识符指代计算资源的做法 本身就抵消了计算资源本身的任何其他属性。在互联网计算当中, 一个重要属性就是临近 性。通常在组织计算资源时,都应该把网络上临近的节点组织在一起,以避免网络瓶颈对 多个节点组成的系统带来的低性能。然而,由于可匹配标识符的随机性,除了公平性以外, 结构化路由不能保证临近性在内的任何其他计算资源的特征在计算中得到利用。当系统规 模大时,这个矛盾会变得突出,影响结构化路由本身以及基于这个路由技术组织成系统的 性能。
第六,重视计算资源而忽略智力资源的路由技术。结构化路由技术最重要的特征可以 简单归纳为以纯粹机器算法的观点去认识计算资源,而忽视了计算资源本身是在智力资源
控制之下运行的基本要素。当互联网应用中的计算资源主要是在人的控制之下进入、贡献、 消耗或离开系统时,缺乏对控制计算资源的人的理解必然导致算法上的机械化,使算法不 能有效运行,计算资源不能充分发挥作用,最终造成分布式应用整体性能下降。
第七,结构化路由技术是一种强约束条件下的高效路由技术。结构化路由技术在上述 条件都满足时,可以发挥其最优效果。其最优效果可以用两个特征来表示,即路由的指向 性和路由的短距离性。路由的指向性指的是在路由过程中,路由请求会从一个节点被转发 到另一个节点。对于结构化路由技术来说,每一步路由请求的转发都是逐渐趋向正确路由结果的1。或者说结构化路由每一次转发都是有意义的,而不是盲目的。路由的短距 离特征指的是路由请求被转发的个数小于整个系统中节点总数的对数1。只有在上述 条件完全满足时,结构化路由技术才是一个高效的路由技术。但通常来说,上述条件满足 在当前互联网环境中是困难的。
第八,结构化路由技术没有考虑具体应用的特征。不同性质的应用需要不同的解决方 案。大规模分布式系统的应用种类各种各样,按照数据性质划分包括轻量级数据应用、时 序无关重量级数据应用以及时序相关重量数据应用等。在实际当中,这些应用又是互相集 成在一起应用的。对于路由算法来说,不能事先没有对应用特征作具体认识的情况下就形 成一个路由算法;也不能依靠一个路由算法解决所有具体应用当中的路由问题。但是结构 化路由技术本身是一个与具体应用场合毫无关系的路由技术。它并没有考虑不同应用之间 的差别,而是用一个通用的方式去解决所有问题。这是不现实的。
除了结构化路由技术以外,在非中心路由技术中还有一种叫作非结构化路由技术。非 结构化路由技术的特征可总结如下第一,非结构化路由技术是基于互联网计算节点间自 然形成的拓扑结构进行的;第二,非结构化路由技术的有效性建立于对具体应用的理解上; 第三,非结构化路由技术本质是在用户行为指导下进行的路由方法;第四,非结构化路由 技术是低维护代价的路由技术;第五,非结构化路由技术是一种忽视公平的路由技术;第 六,非结构化路由的群聚现象会导致超级节点路由压力过大;第七,非结构化路由是在智 力资源控制计算资源、计算资源辅助智力资源的双重作用下进行的。
第一,非结构化路由技术是基于互联网计算节点间自然形成的拓扑结构进行的。互联 网计算是一个大量计算节点以及计算节点之上的应用、数据以及服务相互作用的总和。这 些相互作用的节点之间会由于具体应用中不同情况形成各种性质的联系;这些联系最终会 形成一个有意义的网络拓扑结构,即复杂网络8。复杂网络具备智能性、小世界性8、 幂律性8、群聚性、动态性以及持久性。所谓智能性指的是复杂网络本身蕴涵着各计 算节点之间内在固有的关系属性。这种关系属性是超出于普通计算环境中节点之间的计算 关系,而是控制相应节点的人之间社会属性在互联网上的对应。因此,复杂网络就是人类 智能在互联网上的痕迹。复杂网络还具有小世界性,即任何处于复杂网络中任意两个节点 之间的距离远低于网络规模所拥有的数量级。这个特征有助于非结构化路由中在有限步骤 内获得相对短的搜索路径,使得非结构化搜索拥有理论依据。复杂网络还具备幂律性。在 复杂网络中,大部分节点拥有邻居但其相应度数很低,而存在少数节点拥有大量邻居及高 度数。形成这种局面的原因不是互联网计算系统采取了任何特殊的干预措施,而是控制各
7个计算节点的用户之间相互作用而自然形成的。群聚性指的是在复杂网络中计算节点会形 成不同的群落,而不是杂乱无章。这些群落的形成本质上是由于共同意愿下计算资源的共 享。这个特性对实现动态环境下的稳定计算至关重要。动态性指的是各个计算节点之间形 成的拓扑结构并不是静止的,而是随时在变动;这种变动的规律与具体应用特征有关。持 久性是相对于动态性而言存在的另外一种特征。它描述了复杂网络中一旦一个关系建立起 来,将会保持相对的持久;既使是系统处于动态变化,这样的关系也会以自有的规律出现。 当然,任何一个关系都是有生命周期的;在周期之后, 一个关系会彻底消失。无论如何, 这种相对持久的关系对保证路由的进行时必须的。
第二,非结构化路由技术的有效性建立于对具体应用的理解上。非结构化路由技术是 建立在对复杂网络的认识基础上来进行的。在肯定智能性和持久性的条件下:,这个路由本 身就具备了其他路由系统所不具备的优势。在实际路由当中,必须有效把握系统的动态特 征,使得路由能够尽量在两个节点间最短路径上进行,同时利用幂律性能够最大限度地借 助超级节点来提供最丰富的路由结果。然而,要实现上述目标,首先要解决的就是最短路 径的问题。但在复杂网络上,任何一个节点都有多个邻居,并且每个节点都没有全局状态; 既使具备全局状态,也无法保证在有限的时间内作出判断11。因此,最短路径的寻找 应该依赖对最短路径成因的认识而进行。在建立邻居关系时,应该考虑具体应用中节点之 间的交互。根据交互的特征来定义节点之间的关系。在一个具体应用中节点之间的交互会 有多种,并且它们对系统作用的强弱、倾向或意图各有不同。分清这些关系的特征,在其 中做出恰当的选择来建立邻居关系,然后才可以形成真正对路由具有意义的复杂网络。在 此基础上,可以推论两个节点之间的最短路径应该是从这样的邻居节点出发这个邻居节 点是当前或者一段时间内对本地节点意义最显著的节点。这个推论是基于对复杂网络智能 性、持久性和动态性的认识得到的。其次,由于超级节点在复杂网络中处于主导地位,这 些最短路径大多数时候都会指向超级节点。在实际应用中,这些超级节点通常对应着计算 资源丰富并且是数据和服务主要提供者。这样,通过超级节点的辅助,整个路由机制可以 达到智能和性能俱佳的结果。简言之,在这个过程中,对具体应用的理解和对复杂网络特 征的利用是构建与应用相关的非结构化路由的基本原则。
第三,非结构化路由技术本质是在用户行为指导下进行的路由方法。在非结构化路由 过程中,用户行为对路由的指示和支持作用是明显的。可以认为,非结构化路由本身就是 在用户行为指导下进行的。这里所谓的用户行为指的是用户按照具体应用定义的基本方式 与其他用户的交互。这种交互会导致计算资源的动态变化,这包括数据和服务的生命周期、集群的生命周期以及用户群落的生命周期等等。每个生命周期都包括生成、发展、成熟、 衰减以及死亡等基本过程。这些动态变化可以在每个节点之间邻居关系的强度更迭中反映 出来,即每个节点可以通过对自身邻居关系的监测了解局部复杂网络的变化。这个变化的 起因实际上是用户行为导致的。非结构化路由技术应该力求根据这些变化的状态调整路由 的策略,达到对计算资源有效获取的结果。
第四,非结构化路由技术是低维护代价的路由技术。非结构化路由技术并不对计算系 统的稳定性有任何要求。这种技术认为用户行为都是有意义的,无论是何种动态变化都在 反映着一个大规模系统中自然的变化。对这些自然状态的承认是对最终路由产生有效结果 的关键。这与结构化路由技术区别明显。非结构化路由并不试图投入任何计算资源弥补变 化对路由造成的影响;恰恰相反,监测和利用这样的变化成了保证路由质量的关键。而这 种检测和利用都是在计算节点之间交互过程中自然积累而实现的,不需要过多额外计算资 源专门解决。所以,非结构化路由技术在维护路由正常进行过程中,保持着低维护代价。
第五,非结构化路由技术是一种忽视公平的路由技术。非结构化路由对于计算资源的 寻找是建立在计算节点能力和在互联网上行为的基础之上;而不是脱离计算节点具体状态 对其进行绝对平均处理。过分的平均会招致计算资源分配或者过剩或者欠缺。在非结构化 路由当中,分布在每个节点上的索引是和用户本身特征对应的,而不是通过机器算法改变 索引的自然分布状态。但是这也会出现相应的问题,即弱势计算节点不能得到路由技术的 照顾。虽然大多数情况下弱势节点对系统的作用小,但是存在弱势节点产生有价值数据或 者成为关键节点的几率。这是弱势节点逐步由弱转强的表现形式,也是符合复杂网络社会 属性或者智能性的特征。为弱势节点提供搜索几率,通常在非结构化路由中会花费更多的 代价。这是由于非结构化路由是一种倾向于在超级节点上进行路由的机制。
第六,非结构化路由的群聚现象会导致超级节点路由压力过大。对于公平的忽略导致 直接的后果就是超级节点路由压力过大。每个节点在监测邻居关系的状态变化中,通过强 邻居关系都会指向超级节点。虽然动态变化也可以导致在某一时刻弱邻居关系展示表现更 强,但是可能恰巧此时用户控制的节点不在系统中或者临时由于资源的限制同其他节点形 成了集群,无法对弱邻居关系的变化做出及时监测,导致弱邻居关系既使在某一时刻具备 更强的特征,也无法为路由作出贡献。分担强节点的压力可以通过把路由请求转发到超级 节点拥有的集群中来解决。但这会增加路由对系统造成的压力,也会导致路由路径的延长。
第七,非结构化路由是在智力资源控制计算资源、计算资源辅助智力资源的双重作用 下进行的。根据上面的介绍,可以认识到非结构化路由技术然主要依据智力资源来进行路由。但是,在实际应用中,作为智力资源提供者的用户是根据局部的状态来对进行判断后发出相应行为。如果没有计算资源运用适当算法(如传输、索引、统计、复制和集群等)辅助,在规模庞大的系统中用户使无法把握准确局部状态的变化,也就无法做出正确判断,其行为并不是在任何时候都是合理的。所以,合理的非结构化路由必定是智力资源和计算资源妥善配合后共同形成的。在设计非结构化路由算法时,应当结合具体应用将两种资源的作用做适当调和,才可以最终到最佳路由结果。
通过以上分析可以得到以下结论。结构化路由技术和非结构化路由技术具有各自的优势和缺陷。前者过分依赖计算资源,导致绝对的平均和过高的维护代价;后者依赖智力资源,导敦公平性的损失和超级节点的压力。 一个合理的路由算法应该是对二者进行适当结合,最终形成表现出智能和公平、维护代价适当的路由技术。

发明内容
本发明的目的在于提出一种结合结构化路由和非结构化路由思想的新型路由技术,使得互联网路由达到性能、智能和公平兼备,并且维护代价低于从路由获取收益的目标。本发明的技术方案为
一种基于群落的结构化路由方法,其步骤为
1) 采用TCP/IP对等协议模式使计算节点具有接收请求和发送请求的能力;
2) 发布者根据发布数据特征确定潜在接收节点后进行数据发布;
3) 在节点之间建立邻居关系,所述邻居关系为发布者指向访问者的单向关系;
4) 监测邻居关系,确定邻居关系强度变化和群落边界;所述群落为共同意愿下计算资源的共享,其由发布者引发和访问者响应而形成的持久性计算集群;
5) 在群落发起者之间建立群落关系,所述群落关系为超级节点之间的双向关系,所述超级节点为群落发起者;
6) 根据邻居关系及其即时状态和群落关系在互联网系统内的群落之间进行非结构化路由,在群落内部进行结构化路由。
所述邻居关系的建立方法为 一个节点曾经加入过另一个节点发起的群落,则两者之间存在邻居关系;所述邻居关系包括强状态邻居关系和弱状态邻居关系;所述强状态邻居关系为在某一段时间或某一时刻内作为邻居的两个节点之间累积的交往结果大于设定值,所述弱状态邻居关系为在某一段时间或某一时刻内作为邻居的两个节点之间累积的交往结果小于设定值。
所述非结构化路由方法为
31) 互联网系统内任一节点发出路由请求;
32) 系统将所发出的路由请求发送至该节点的当前强状态邻居;
33) 收到路由请求的节点在本地进行査询;如果找到,则将结果返回给路由请求者,路由结束;否则,执行步骤34);
34) 转发路由请求至该转发节点的当前强状态邻居,进行结构化路由;
35) 如果结构化路由失败并且转发次数少于设定次数,则执行步骤34);否则,路由失败。
所述结构化路由方法为
41) 对路由请求进行标识化;
42) 和本地节点标识进行匹配并计算匹配程度;
43) 在路由表中査找标识最大匹配节点;如果存在,执行步骤45);
44) 如果没有标识匹配节点,则在第零行中计算数值绝对差最小标识节点并执行步骤45);
45) 比较本地标识匹配程度与路由表标识匹配程度;如果前者高,则执行步骤47);如果后者高,则执行步骤46);
46) 转发路由请求至标识匹配长度最高节点;执行步骤42);
47) 在本地进行查询;如果找到,返回结果;否则,路由失败;
48) 路由结束。
所述本地进行査询的对象包括数据、计算能力、带宽、存贮空间或稳定性。
所述结构化路由的路由表最大宽度决定于其对应的邻居关系数量;其最大长度决定于所述标识长度;实际长宽决定于所述群落内部节点规模、标识长度及其具体邻居数目。
所述结构化路由表第零行用于存储非结构化邻居。
所述结构化路由表从第一行开始按照节点标识匹配程度顺序存储结构化邻居。所述方法中通过布置中心服务器的方式监测整个系统状态,从而确定所述群落及其对应的超级节点。
所述群落边界按照数据流向分为超级边界和普通边界;所述超级边界由检测群落发起者确定,所述普通边界由群落中对所有节点都没有发布行为的节点确定。本发明的内容如下
第一步,认识互联网计算的基本行为对路由的影响。考察系统中的用户行为主要是为非结构化路由技术来服务。互联网系统本质是运行在复杂网络上的大规模分布式系统。在这个系统中对计算资源使用起决定作用的不是以机器算法为特征的任何模式,而是基于互联网计算基本功能之上的用户行为。对这些行为的认识是提供可靠计算资源寻找线索的关键。互联网计算的基本行为及其特征可归纳如下。图1中展示了用户角色。
(1) 发布和发布者的特点。发布是互联网计算产生数据和服务的基本行为。互联网上任何数据资源和服务资源的出现都是由发布者通过自身控制的计算设备来实现的。发布和发布者的特征包括主导性、有条件扩散性、少数性、资源优势性和活跃性等。发布行为是相关用户自身创造力的体现,通过互联网应用提供的环境中表达出来。这是发布者和互联网交互当中最有价值的行为,表现出强烈的主导性。互联网最基本的功能之一就是为这些发布者提供有效手段来完成便捷的发布行为,从而达到人类相互沟通中最根本的目的。在互联网计算当中,发布表现出强烈的扩散性。这种扩散在互联网的支持下在极端时会迅速覆盖众多互联网上的计算节点。这种扩散是有条件的,扩散的决定因素是被发布数据或者服务的质量。当质量高时,其扩散性也高;反之亦然。这也说明了互联网智力资源对互联网计算的决定作用。与互联网其他行为相比,在互联网中发布者及其计算节点占所有互联网用户和计算节点比例低,即发布的少数性特征。这可以从复杂网络中超级节点的特征得到验证。这些超级节点正是复杂网络中资源的主要提供者;其数量占整个复杂网络的个数有限。这也和现实社会当中的情形类似。发布还具备一个特性就是资源优势性。在大多数情况下,发布者都具备相对于普通用户更丰富的计算资源;当然这只是一个统计规律。对热衷于互联网发布的用户来说,拥有足够的计算资源可以使其在发布中更便捷,同时和发布对象之间的交互也更通畅。发布者的活跃性体现在发布者控制的节点在系统停留的时间比普通用户更长,和其他节点之间的交互也更频繁。
(2) 访问和访问者的特点。访问是互联网用户通过系统提供的基本功能获取数据或者服务的行为;这是互联网计算当中是最普遍的用户行为。对于大多数互联网用户来说,访问是其参与互联网计算的主要目的。访问和访问者的特征包括个性化、辅助性、多数性、收敛性和资源有限性和非活跃性等。访问的个性化体现在访问者完全是根据自身的需求进行访问;这个过程中除了访问者本身外,没有任何其他用户参与;访问者独立决定被访问
12的互联网系统以及该系统上的数据和服务。被动性指的是访问者在整个互联网构成的社会 结构中处于辅助角色,而非主角。对数据和服务的消耗使访问者以配角的方式出现在互联 网上;而这个配角又是决定数据和服务质量的重要标准。这个辅助作用对路由的引导作用 明显。访问者还具有多数性特征。整个互联网应用中绝大多数用户都是单纯的访问者;当 访问者数量足够多时,会成为潜在互联网计算资源的重要组成部分,值得合理利用。在路 由当中这个资源可以用来评估资源质量,也可以用来分担路由代价。收敛性特指访问行为 不具备互联网影响力;访问者单独行为不会构成对互联网其他行为的干扰或者协助作用。 资源有限性指的是对于大多数互联网访问者来说无需过多的资源。虽然一个访问者所拥有 的计算资源有限,但众多访问者计算资源的综合是极大的,甚至远超过发布者计算资源的 综合。相对于发布者来说,访问者的活跃程度也有限。另外,搜索也是互联网常见用户行 为。搜索本质上是访问的一种特殊形式。当用户不了解满足需求的数据和服务资源所处计 算节点时就会进行搜索。
第二步,基于对群落特征的认识确定互联网群落。根据对互联网拓扑结构的研究12, 运行于互联网上的计算节点会形成群落。所谓群落可以定义为由发布者引发和访问者响应 而形成的持久性计算集群。从这个定义中可以看到,发布者是群落形成的关键因素。进一 步可以推论,强发布者会吸引更多的访问者,从而会形成更大的群落;弱发布者只有少量 访问者,形成的群落也会小。所谓持久性计算集群是和处于运行状态集群相对的一种虛拟 集群模式,本质上是多个运行状态集群全部生命周期的集合形式。这是由于一个发布者的 发布行为是多次的,而每次都会有对应的集群形成;这些运行状态下的集群包含的计算节 点是有差别的。但多次发布会大致在一个范围之内,即所谓持久性计算集群。群落的特征 可以归纳如下。图1展示了互联网群落特征。
(1) 以发布者为中心的拓扑结构。群落是由发布者的发布引发的。同时,发布者具 有主导性、有条件扩散性、少数性、资源优势性和活跃性等特征,而访问者具有个性化、 辅助性、多数性、收敛性和资源有限性和非活跃性等特征,导致在互联网的一个局部会形 成发布者被访问者环绕的中心拓扑结构。但这样的结构并不是一个星形结构,而是一个以 发布者为中心的网状结构12。这是由于转发或者一个用户扮演多重角色造成的。这个 结构本身说明了发布者在群落中的重要地位。在非结构化路由当中,发布者不得不承担主 要的路由压力。适当分担这样的路由压力,是本发明的目的之一。
(2) 群落中的计算节点拥有的数据和服务资源具有相似性。群落中的计算节点之间 较之群落外计算节点之间拥有的数据和服务资源有更多的相似性13。这种相似性是用户访问行为趋向相同超级节点带来的。这为非结构化路由带来了一个减轻发布者压力的方 式。实际上有些非结构化路由技术就是通过集群中的节点辅助来实现路由的。本发明也利 用了这一特点,但是具体做法不是通过非结构化的方法,而是结构化的方法。
(3) 分形性。分形性14是复杂网络中的一个特征之一。 一个复杂网络从全局观 察是一个具备智能性、小世界性、幂律性、动态性和持久性等特征的拓扑结构,在局部也 具备上述特征。比如在群落当中,也满足这些特征。如上所述,群落并不是一个星形结构, 而是以发布者为中心的网络结构。但这个网状结构本身也是一个复杂网络,还可以进行更 小规模的群落划分。
(4) 边界性。当以发布者为中心形成的网状拓扑结构规模扩大时,根据分形性其中 必然包括多个群落。这些群落都具有边界。边界可按照数据流向分为两种,即超级边界和 普通边界。当一个节点对其所有邻居节点都没有进行发布行为时,这个节点就是相应群落 的普通边界。普通边界并不是一个群落独占的,而是共享的;更大规模群落边界会和其内 部小规模群落边界重合(共享)。超级边界是群落发起者之间的关系;这个关系中数据流 向是双向的。这个边界是两个群落之间独有的,不会在各个群落之间共享。基于对邻居关 系的监测,可以确定出群落边界。群落边界的确定为基于群落的结构化路由建立了基础。
第三步,在整个系统中建立非结构化路由机制。鉴于非结构化路由具备低维护、高智 能、搜索效率可接受这些特征,本发明首先在整个系统中建立非结构化路由机制。建立此 路由的基本思路总结如下。
(1) 根据用户行为建立角色。区别用户的角色为的是在路由过程中能够体现出节点 之间的不同特征,这也是非结构化路由技术对智力资源利用的体现。互联网角色可以大致 划分为发布者和访问者。需要强调的是,在大规模互联网系统中, 一个用户的角色不是唯 一的无论是在整个互联网上,还是在一个群落内部, 一个用户完全可能兼具发布者和访 问者两种角色。
(2) 建立合理的邻居关系。邻居关系是形成复杂网络的基础。在建立邻居关系时, 应该对具体应用进行理解,鉴别出节点间对具体应用有意义的交互形式。只有真正对具体
应用有贡献的交互才可以转化为邻居关系。本发明针对的环境是互联网应用;针对这个环 境的特征,本发明把邻居关系定义为如果一个节点曾经加入过另一个节点发起的动态集 群,则二者之间存在邻居关系。由此也可推论,当任何两个节点之间存在邻居关系时,它 们也必处于同一个群落当中。这种邻居关系反映了互联网应用发布者和访问者之间的联 系,而这种联系反映了互联网应用本质之一,即资源扩散。邻居关系是双向关系,即发布者和访问者互为邻居关系。但数据流向在这个邻居关系中是单向的由发布者指向访问者。 图l展示了互联网邻居关系。
(3) 建立群落关系。与邻居关系不同,群落关系反映的是计算节点之间互为发布者 和访问者的状态。在一个群落内部,数据流向都是单向的;既使内部存在小规模群落,其 发布者的数据也来自于更高一级的邻居,本质上还是单向的。群落关系实际上是复杂网络 超级节点之间的交互关系;这种情况下,超级计算节点会以不同角色出现,数据也是双向 的。这体现出了互联网应用的又一本质,即资源融合。群落关系是一种超级节点之间双向 关系,是一种特殊的邻居关系。这种邻居关系也是双向的,即两个超级节点之间互为邻居 关系;更进一步,它们之间的数据流向也是双向的。图1展示了互联网群落关系。
(4) 对邻居关系的监测。在邻居关系确定后,必须对邻居关系进行监测。这是由邻 居关系的动态特征所决定的。通过监测可以获得邻居关系强度差别。这个差别既体现了节 点间长期积累作用的结果,也体现出了节点间的当前状态。这些数据的采集能够保证路由 能在最短路径和最有价值节点上进行。同时,由于邻居关系的动态性,普通节点之间的邻 居关系在某一时刻也会强于长期的强邻居关系。这为普通节点提供了公平性。对邻居关系 的监测还有一个重要目的就是确定群落边界;这是在群落内进行路由的基础。当一个节点 所有邻居关系中数据流向都是指向这个节点本身时,这个节点就是其所在群落的普通边 界。大多数邻居关系都是群落内部并以单向数据流为特征;还有一些邻居关系涉及的数据 流是双向的,即群落关系。群落关系的监测也是确定群落超级边界的方式。
(5) 强邻居关系优先路由策略。本发明的非结构化路由属于强邻居关系优先策略。 非结构化路由的缺陷也存在于这个策略当中,如超级节点压力过大、公平性保证不足以及 稀少数据搜索困难等等。对于流行的计算资源,本发明的非结构化路由技术能够有效路由; 而对于非流行计算资源,这个强邻居关系优先策略则效率低。对超级节点的过度压力也是 要避免的。本发明着重在于在非结构化路由中加入结构化辅助机制,以解决上述问题。
第四步,在群落内部建立结构化路由辅助机制。本发明釆用在群落内部建立结构化路
由方式来减小对群落中心(超级节点)的压力,同时保证公平性和稀少资源寻找的有效性。 在群落内部具体建立结构化路由的方式描述如下。
(1)明确在群落内部建立结构化路由的条件。通常的结构化路由技术是建立在整个 互联网之上的。然而通过前面的论述,要获得满意的路由效果必须有众多先决条件。在大 规模分布式系统中这样的条件通常难以满足。这种情况在群落当中会发生变化。在群落内 部采用结构化路由的有利条件如下。
15A. 群落内部节点资源趋同。互联网是用户通过计算节点形成的社会网络系统。其本 身不是机器算法对计算资源机械的管理形式,而是智力资源控制下的计算资源对人类交往 的映射结果。群落是这个映射当中计算资源合作产生的聚合形式。这个聚合当中的计算资 源之所以趋同是因为计算资源的来源是有限或一致的。在这个前提下进行结构化路由时, 无需对每个节点上所有资源进行可匹配标识化,而只是对彼此之间的差别部分做标识化, 减轻了发布以及寻找资源的代价;并且,差异索引在群落内部的发布,也为资源的进一步 融合做了保证。
B. 群落内部节点相对稳定。建立在互联网上的大规模分布式应用系统稳定性要弱于 建立于严格管理环境下的传统分布式系统。群落内部的节点总的来说也是以动态性特征出 现于计算系统中。但是,由于群落本身是对用户社会交往的反映,这样资源就有了相对稳 定的环境。共同的兴趣和活动规律克服了每个具体节点的动态性,使计算资源在整体上趋 近稳定。在这个相对稳定环境中进行结构化路由,平均分配给每个节点的索引受到的动态 影响要远小于在整个互联网中进行结构化路由。
C. 群落规模相对小。群落是复杂网络的一个局部。规模的縮小减弱了多元化1对 路由造成的影响,也縮短了平均路由距离。从对路由的个性化要求看,规模的縮小也有利 于使资源的寻找在更有个性的范围内进行。
D. 群落内部主要节点计算能力平均。除了群落中的超级节点以外, 一个群落中大部 分普通节点的计算能力相近。这是一个相对于整个互联网节点来说的结果。 一个群落内部 的计算节点差异是存在的,但相对小的规模以及相对一致的行为趋向,必然导致其中计算 节点间计算能力的差别显著减小。这个相对平均的计算能力也满足了结构化路由在计算环 境上的一个要求。
E. 群落内部节点愿意付出相关资源进行路由。由于群落内部节点资源相近,既使出 现资源差异也会对群落内部资源融合产生帮助,所以形成群落节点在为路由服务时,实际 也是在为自身获取相关数据而服务。这样,付出相关计算资源进行路由就从被迫向相对自 愿转化。需要注意的是,要达到上述目的,除了建立群落以外,还需要恰当的复制机制来 辅助15
F. 群落内部是计算资源和智力资源的汇聚。群落内部是计算资源和智力资源高度融 合的地方。而智力资源在其中起了主导作用。这为纯粹依赖机器算法的结构化路由产生智 能效果奠定了基础。
(2)认识群落内部资源分布状态,为结构化路由建立基础。在为群落内部资源建立路由机制时,必须对群落内部资源分布状态有大致了解。这个状态可以描述如下。
A. 群落内部存在热点资源和稀有资源。群落中散布的资源主要来自于发布者。作为 超级节点出现的发布者通常会提供可散布资源(数据或服务)。然而,根据Zipf16规 律,这样的资源当中只有少数会成为整个群落中的热门;其余部分则成为了稀有资源。其 次, 一个群落当中每个节点还会从本群落内部非超级节点获得可散布资源。这些资源通常 为稀有资源。最后,每个节点还会有自己产生的可散布资源。如果这些资源质量有限,一 般也只会成为稀有资源。除了可散布资源外,其他计算资源也有类似性质。通常来说,非 结构化路由对于热点资源的路由效果明显;而对稀有资源由于在系统中复制个数有限,因 此导致路由效果不佳。
B. 群落内部每个节点具有大部分本群落超级节点的热点资源。 一个普通节点之所以 加入群落就是为了获得相关群落中的资源。在进入一个群落足够的时间后,群落中主要热 点资源都会被群落内节点获得。这是节点进入一个群落的基本要求,是在用户控制之下完 成的。这个情况的出现可以使得集中于超级节点的路由压力可以由群落内部的普通节点来 承担。但这样的做法同样会导致对稀有资源的路由效果不佳。
C. 群落内部主要资源均来自于超级节点。群落内部虽然有大量资源,但主要资源来 自于超级节点。这与超级节点的定义是符合的,也与现实生活中有价值资源的创造者是少 数的现象吻合。这个特征也为非结构化路由找到了理由;同时,这个特征也提示出结构化 方法可以用来辅助那些所谓非主要资源的路由以保持系统的多元和公平。
D. 群落内部每个节点除了具备本群落内部热点资源外,还具有来自于其他群落的资 源。通常来说, 一个节点加入的群落是有限的。但无论如何, 一个节点上可以拥有来自多 个群落的资源。这体现了互联网资源的融合现象。这种融合也会发生在超级节点上,但融 合的内容决定于控制节点的每个用户。非结构化路由在反映每个节点的个性化融合上也是 不足的。这一点可以通过结构化的方式予以改进。
(3)建立对稀有资源和热点资源兼备、路由压力均衡以及公平和效率同在的路由策 略。首先,当前两大类路由技术各自表现出了不同特征。结构化路由技术对于稀有资源和 热点资源没有任何倾向,路由是在绝对平均分布的资源索引基础上工作。非结构化路由技 术倾向于对于热点资源的寻找,而对稀有资源则无法兼顾。本发明克服了二者的缺陷,本 质上是对它们优势的结合,通过把二者应用于适当的场合来利用其优点,最终达到稀有资 源和热点资源兼顾的路由目的。其次,相对于结构化路由技术来说,非结构化路由技术拥 有更多的优势。这主要是由于非结构化路由技术本质上是建立在复杂网络这样一个智力资源丰富的拓扑结构上。但是,由于在这个结构上超级节点处于绝对的优势地位,非结构化 路由计算压力大都集中在这些少数节点上。本发明通过在群落中结合结构化路由技术,达 到了智力资源和计算资源在路由上的统一,使得在路由中获得有效资源的同时,减轻了超 级节点的压力。最后,计算系统中也存在着对效率的追求和对公平的维护问题。通常这是 一个矛盾的问题。在互联网上组织计算资源形成最终计算系统时,路由技术起到了关键作 用。如果路由技术提供计算资源时只考虑效率要求(非结构化路由), 一些弱计算节点可 能永远不会成为计算系统中的一员而得不到相关数据或服务。如果路由技术提供计算资源 时只考虑公平问题(结构化路由),则会导致整个计算系统在低效率下运行,最终也不能 达到目的。本发明的路由技术对此进行了改进,形成了保证效率的前提下对公平的兼顾。
A. 群落超级节点对自身资源进行索引和可匹配标识化。群落超级节点拥有该群落中 的主要资源。通过对这些资源进行索引和可匹配标识化处理,可以达到对本群落主要资源 索引以及标识化的目的。这里的索引和可匹配标识化指的是将代表资源的关键字转换成可 匹配字符串,并按统一标准排序。
B. 群落内部节点对自身资源进行索引和可匹配标识化。这个步骤实际上实现了热门 资源和稀有资源在一个节点上的索引和可匹配标识化。由于一个节点可能具备来自于其他 群落的热门资源和稀有资源,在进行标识化处理时应区别对待。所谓区别对待指的是各个 群落的标识化索引单独处理,分别建立各自索引表。但需要资源融合处理时,再考虑使用 多群落路由策略。
C. 超级节点分发其标识化索引至群落内部所有节点。在超级节点标识化索引完成之 后,把其标识化索引分发到群落内部各个节点。这些节点完全可以从邻居关系中获得。在 通常情况下,这个标识化索引数据量会大,从而增加分发对系统的压力。这个可以通过动 态集群传输协议17, 18使分发能够在迅速而压力平衡的状态下来完成。但进行标识化 索引分发时,需要注意群落边界的确定,以避免分发范围扩散到其他群落。
D. 群落内部节点发布自身与超级节点不同的标识化索引。在群落内部每个节点获得 来自超级节点的标识化索引后,会将其与自身本群落内部标识化索引进行比较。之后,将 存在于本身标识化索引中的不同部分发布到相关群落内部节点中。其用意在于保持群落内 部热门资源索引可以存在于大部分群落内部节点上的固有局面;同时,使得每个节点上的 稀有资源索引能够存在于严格匹配的计算节点上。在这样的目的达到后,这个群落就初步 具备非结构化路由和结构化路由共存的特征。
E. 群落内部节点向超级节点返回超级节点与其该内部节点不同的标识化索引。当一个节点自身的标识化索引与对应群落超级节点的标识化索引比较时,还会产生超级节点标 识化索引与该节点标识化索引不同的部分。这部分标识化索引需要返回给对应的超级节 点。这个做法的目的是使得超级节点逐步获得其本身没有散布到群落中的资源标识化索 引。F. 超级节点发布其自身没有被散布到群落中的资源标识化索引。超级节点在获得来 自于群落内部节点的回应后,可以逐步获得其本身没有散布到群落中的资源标识化索引。 在通常情况下,能够散布在群落中的资源会有多个复制,即成为群落中的热门资源。在这 个假设成立的情况下,超级节点可以将未散布资源对应的标识发布到群落内相关群落内部 节点上,使这些稀有资源表示能够存在于严格匹配的计算节点上。在个别情况下,散布到 群落中的资源也为稀有资源。这可以通过从群落内部节点返回的非匹配标识化索引中统计 得到。对这些资源也可以采取发布其标识的方法。G. 通过对发布和访问进行统计获得热门资源和稀有资源。上述方式是通过比较超级 节点和群落内部节点标识化索引的方式来确定超级节点和群落内部节点上的热门资源和 稀有资源。其实,这个状态数据还可以通过对群落生命周期内发布与访问行为统计逐步获 得。这可以减少交换标识化索引引起的传输代价。H. 在群落内部建立结构化路由的范围。由于群落是由发布者引发的,为了使上述策 略能够在整个复杂网络上使用,可以认为任何发布者相对于其访问者构成一个群落。在这 样一个群落中,发布者被认为是超级节点,而访问者被当作普通群落内部节点。但通常这 样广义定义的群落在复杂网络上规模小,导致实际意义不大。在真实环境中,可以通过布 置中心服务器的方式监测整个系统状态,从而确定规模足够大的群落以及对应的超级节点8。I. 建立结构化路由表。被标识化的资源除了可散布资源外,还有包括超级节点在内的 所有群落内部计算节点本身。这些计算节点的标识同样被发布到群落内严格匹配节点,从 而构成结构化路由表。a. 不定长宽路由表。与传统结构化路由表不同,基于群落的结构化路由表长宽是不定 的。虽然一个群落内计算节点计算能力相对平均,但差别是存在的,尤其是当群落规模大 时。至少对于超级节点来说,路由表的长宽应该和群落内普通节点不同。 一个节点路由表 最大宽度决定于其对应的邻居关系数量;而最大长度决定于标识长度;实际长宽决定于群 落内部节点规模、标识长度及其具体邻居数目。b. 非结构化邻居位于路由表第零行。所谓非结构化邻居指的是通过互联网自然行为形成的邻居。前面对这种邻居关系的确定有详细阐述。路由表的第零行来自于这些群落邻 居关系对应的节点。对于超级节点来说,在实际生成路由表时,只把与其没有任何匹配的 邻居节点置于第零行;这一行拥有的节点数量会很大。这为超级节点减轻路由负担提供了 条件它可以从这一行中选取节点来分担路由压力。对于普通节点来说,这一行拥有的节 点数量会小。这与其在路由以及计算中的地位是匹配的。图2表示了超级节点路由的一个 例子。C.结构化邻居按照标识匹配程度依次占据其余各行。结构化邻居指的是完全由结构化 路由算法形成的邻居关系。这种邻居关系的形成完全决定于标识匹配程度,与互联网任何 行为都没有关系。路由表其余各行决定于标识匹配程度1。第一行要求匹配一位节点 标识。当群落规模大时,满足这个要求的节点也会多。对于超级节点来说,可以尽量把满 足要求的节点都填入这一行;通常所有满足条件的节点都会被填入超级节点的第一行以及 其余各行,因为其群落邻居数一般会大于结构化路由对标识平均分配导致的标识每行匹配 数量。对于普通节点来说,只要这一行的个数等于其第零行即可,即其路由表每行的长度 与其群落邻居个数相等。依据上述原则,可以填充路由表所有行,即达到所有位数匹配终 止。J.群落内部结构化路由表的维护。在结构化路由表建立起来后,需要花费额外的代价 来维护以应付系统动态变化对路由表的影响。这也是结构化路由的一个缺陷。当在群落中 结合结构化路由机制后,路由表的维护代价会大大下降。这主要是由于群落内部节点行为 有趋同倾向,因此路由表中节点会达到相对稳定。对路由维护的直接贡献在于降低了路由 表中节点失效的频率。但是这种失效还是会发生。除了节点失效需要维护外,当节点加入 系统时也需要维护。这个代价也会比传统结构化路由要低;原因也是群落中节点行为趋同 造成的。另外,本发明采取了不定长路由表技术。对于大部分普通节点来说,其路由表要 比超级节点小得多。既使发生维护需求,代价也会降低。而对于超级节点来说,由于其本 身路由表规模大,既使延迟对节点失效或者加入的维护,也不会对路由造成明显影响。一 旦发生维护需求,具体步骤可以参考1。第五步,在路由机制建立后,描述基于群落的结构化算法。在路由机制建立后,就可 以根据这个机制进行资源寻找。本路由机制分为两大过程,即非结构化路由和结构化路由。 图3表示了基于群落的结构化路由流程。算法使用者可以直接利用这个流程达到第四步的 目标,为建立高效、稳定以及智能的互联网应用提供路由基础。 (1)非结构化路由过程描述如下。步骤l.路由请求由系统中任意一个节点生成并发出; 步骤2.路由请求发送至当前强状态邻居;步骤3.收到路由请求的节点探测本地是否忙;如果是,执行步骤6;如果不是,执 行步骤4;步骤4.收到路由请求的节点在本地进行查询;如果找到,将结果返回给路由请求者, 路由结束;否则,执行步骤5;步骤5.转发路由请求至当前强状态邻居; 步骤6.进入结构化路由;步骤7.如果结构化路由失败并且转发次数少于设定次数,则执行步骤5;否则,路 由失败。(2)结构化路由过程描述如下。 步骤l.对路由请求进行标识化; 步骤2.和本地节点标识进行匹配并计算匹配程度; 步骤3.在路由表中査找标识最大匹配节点;如果存在,执行步骤5; 步骤4.如果没有标识匹配节点,则在第零行中计算数值绝对差最小标识节点并执行 步骤5;步骤5.比较本地标识匹配程度与路由表标识匹配程度;如果前者高,则执行步骤7; 如果后者高,则执行步骤6;步骤6.转发路由请求至标识匹配长度最高节点;执行步骤2; 步骤7.在本地进行査询;如果找到,返回结果;否则,路由失败; 步骤8.路由结束。本发明的积极效果为与现有技术相比,本发明的路由方法既可以缓解非结构化路由方法中超级节点的计算 压力,又避免了结构化路由方法忽略计算节点能力差别的缺点,同时可以兼顾热点资源和 稀缺资源的搜寻,从而提高访问者搜速资源时的系统路由效率。


图1.互联网群落、关系、角色及节点; 图2.超级节点路由表例子;图3.本发明的路由算法流程。
具体实施例方式
本发明是互联网应用当中的基础算法,其用途非常广泛。大致归纳一下,任何互联网 应用都是基于发布、访问和搜索三个基本操作来进行的。本发明为这三个操作都提供了寻 找资源的基础,是实现大规模互联网应用的核心算法。具体实施案例列出如下。
第一,寻找可靠资源进行发布。在大规模互联网应用中的一个重要功能就是发布。本 发明涉及的发布与当前互联网发布的概念不同。当前互联网发布过于简单,甚至还不能被 称作发布。数据或者服务资源只需被放置在互联网服务器上就完成了当前互联网环境下的 发布。实际上,真正的发布是把数据直接传输到用户控制的计算设备上,而不是放置在服 务器上等待用户来请求获得。这就需要发布节点拥有可能的数据接收者。在当前互联网环 境中,没有这样的算法提供这种服务;这也是当前互联网发布终止于放置于服务器的主要 原因之一。本发明能够根据发布者的请求,在互联网范围内寻找满足条件的计算节点;这 些计算节点可以作为潜在的发布数据接收者。
(1) 建立本发明所依赖的互联网环境。本发明提出的路由算法适用的计算环境与当 前互联网计算环境是不一致的。要利用本发明,首先要解决的计算环境问题。这个计算环 境要求每个计算节点都能够参与互联网计算,可以主动向其他计算节点发送请求,同时也 可以被动接收其他节点的请求并予以响应,同时,每个节点的用户有权根据自身的意愿参 与任何互联网计算、离开任何互联网计算或者发起互联网计算,这可以通过采用TCP/IP 对等协议模式使计算节点具有接收请求和发送请求的能力来实现。这样的计算环境明显区 别于严格管理下的分布式系统以及当前以纯粹客户服务器模式运行的互联网系统。
(2) 发布者根据对即将发布数据的了解,应用本发明的算法向系统发出请求。这个 请求表达了发布者对可能接收者的描述。由于知识描述是计算机科学面临的主要困难之 一, 一般还是采取简单易行的关键字。搜索请求将根据《发明内容》第五步所描述的步骤 来进行工作。得到的结果是与搜索关键字匹配的数据以及所处计算节点,并且这个结果满 足与搜索关键字匹配最多的节点同时一些匹配略少的节点也被寻找出来。这是由于本发明 能够保证流行资源和稀缺资源都得到公平兼顾的原因。需要说明的是,由于压力的均衡分 布,搜索效率也能得到保证。
(3) 在通过本发明获得潜在接收节点后,发布者就可以通过发布节点进行数据发布 了。当然,在这个过程中,通过搜索获得的潜在接收节点并不一定是准确的。这些节点在接收发布数据过程中可以根据自己的喜好拒绝发布数据的继续。同时,如果发布数据满足 了用户需求,用户还可以把数据转发给其他计算节点。这个转发过程仍然可以使用本发明 的路由技术进行潜在接收者的搜索。
第二,为访问提供资源支持。在本发明基于的互联网环境中,数据也可以通过主动访 问来获得。这与当前互联网访问有相似之处。但是实际运行机制是完全不同的。本发明基 于的互联网环境为了提高访问效率,实际的访问不是像现在互联网环境中由客户端向服务 器端发请求然后获取相关数据,而是采用"帕累托最优"策略或者重量级数据多播实现与 正在同时访问甚至曾经访问的节点一起共同获取被访问数据。这些访问节点通过共同协作 共享资源,大大提高了访问效率。要达到上述效果,最重要的问题就是获得正在同时访问 或者曾经访问的节点。这个任务可以留给本发明涉及的路由技术。当用户访问一个计算节 点时,本发明的路由算法就会自动根据所请求计算节点的描述(如域名),在系统中进行 搜索,并获得与这个描述相关的计算节点。之后,访问节点就可以与这些节点进行交互, 形成共享计算环境,共同完成对被访问节点的高效访问。
第三,为最终用户提供数据搜索服务。本发明涉及的路由算法最直接的应用是为互联 网用户提供搜索服务。这个搜索服务面对的环境与当前互联网搜索服务是不同的。这个搜 索是在大量可能参与互联网计算的节点上进行的。其范围可以根据需求进行调整,最大可 以覆盖所有互联网节点。这是由于本发明的路由本质上属于非中心路由机制造成的。面对 大规模的计算环境,才有可能使得搜索结果能够接近完善。同时本发明不仅仅提供流行资 源的寻找,对一些稀缺资源也可以找到。互联网搜索服务对于效率的要求高。如果用户搜 索不能在有限时间内得到响应,则会大大降低搜索服务质量。本发明由于采取了均衡路由 压力的措施,使得搜索能够获得高效率。 参考文献
1Rowstron A" Druschel P.; Pastry: Scalable, Decentralized Object Location and Routing for Large-Scale Peer-to-Peer Systems, in Proceedings of the 2001 ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM,Ol), San Diego, CA, August 2001, page(s): 247-252Gribble S.D.; Measuring and Analyzing the Characteristic of Napster and Gnutella Hosts, Multimedia Systems Journal, 9(2), August 2003, page(s): 170-183Ian Foster, Carl Kesselman; The Grid — Blueprint for a New Computing Infrastructure, Second Edition, Elsevier Inc., ISBN 7墨111-16054-1,2004Brin S, Page L.; The Anatomy of a Large-Scale Hypertextual Web Search Engine, WWW7, Computer Networks 30(1-7), 1998, Page(s): 107-115Vinton Cerf; Specification of Internet Transmission Control Program, RFC 675, December 1976Callaghan B.; WebNFS Server Specification, Internet RFC 2055, October 1997Callaghan B.; WebNFS Client Specification, Internet RFC 2054, October 1998Newman M E J.; The Structure and Function of Complex Networks, SIAM Review,
2003,45, Page(s): 167-259Castro M., Druschel P.; Scribe: a Large-Scale and Decentralized Application-Level
Multicast Infrastructure, Selected Areas in Communications, IEEE Journal on, Volume 20, Issue
8, Oct. 2002, page(s): 1489-1499
10Castro M., Druschel P.; SplitStream: High-Bandwidth Multicast in Cooperative
Environments, ACM SIGOPS Operating System Review, Volume 37, Issue 5, December 20011Ripeanu M.; Peer-to-Peer Architecture Case Study: Gnutella Network, Peer-to-Peer
Computing, 2001, Proceedings, First International Conference on, 27-29 Auguest 2001, Page(s):
99-100
12Broder A. et al; Graph Structure in the Web, Computing Networks, 2000, 33, page(s): 309-320
13Gibson D, Kleinberg J., Raghavan P.; Interring Web Communities from Link Topology, Proceedings of the 9th ACM Conference on Hypertext and Hypermedia, 1998, page(s): 225-2314Song C., Havlin S., Makse H. A; Self-Similarity of Complex Networks, Nature, 2005, 433, page(s): 392-3915Gifford D.K.; Weighted Voting for Replicated Data, in Proceeding 7th Symposium on Operating Systems Principles, ACM, page(s): 150-1616George K. Zipf; Human Behavior and the Principle of Least-Effort, Addison-Wesley,
1949
17Cohen B.; Incentives Build Robustness in BitTorrent, in Workshop on Economics of Peer-to-Peer Systems, Berkeley USA, May 20018Vlavianos Aggelos, et al; BiToS: Enhancing BitTorrent for Supporting Streaming Applications, INFOCOM 2006, 25 IEEE International Conference on Computer Communications Proceedings, April 2006, Page(s): 1-6 。
权利要求
1.一种基于群落的结构化路由方法,其步骤为1)采用TCP/IP对等协议模式使计算节点具有接收请求和发送请求的能力;2)发布者根据发布数据特征确定潜在接收节点后进行数据发布;3)在节点之间建立邻居关系,所述邻居关系为发布者指向访问者的单向关系;4)监测邻居关系,确定邻居关系强度变化和群落边界;所述群落为共同意愿下计算资源的共享,其由发布者引发和访问者响应而形成的持久性计算集群;5)在群落发起者之间建立群落关系,所述群落关系为超级节点之间的双向关系,所述超级节点为群落发起者;6)根据邻居关系及其即时状态和群落关系在互联网系统内的群落之间进行非结构化路由,在群落内部进行结构化路由。
2. 如权利要求1所述的方法,其特征在于所述邻居关系的建立方法为 一个节点曾经加 入过另一个节点发起的群落,则两者之间存在邻居关系;所述邻居关系包括强状态邻 居关系和弱状态邻居关系;所述强状态邻居关系为在某一段时间或某一时刻内作为邻 居的两个节点之间累积的交往结果大于设定值,所述弱状态邻居关系为在某一段时间 或某一时刻内作为邻居的两个节点之间累积的交往结果小于设定值。
3. 如权利要求2所述的方法,其特征在于所述非结构化路由方法为31) 互联网系统内任一节点发出路由请求;32) 系统将所发出的路由请求发送至该节点的当前强状态邻居;33) 收到路由请求的节点在本地进行査询;如果找到,则将结果返回给路由请求者, 路由结束;否则,执行步骤34);34) 转发路由请求至该转发节点的当前强状态邻居,进行结构化路由;35) 如果结构化路由失败并且转发次数少于设定次数,则执行步骤34);否则,路由 失败。
4. 如权利要求2所述的方法,其特征在于所述结构化路由方法为41) 对路由请求进行标识化;42) 和本地节点标识进行匹配并计算匹配程度;43) 在路由表中查找标识最大匹配节点;如果存在,执行步骤45);44) 如果没有标识匹配节点,则在第零行中计算数值绝对差最小标识节点并执行步骤45);45) 比较本地标识匹配程度与路由表标识匹配程度;如果前者高,则执行步骤47); 如果后者高,则执行步骤46);46) 转发路由请求至标识匹配长度最高节点;执行步骤42);47) 在本地进行査询;如果找到,返回结果;否则,路由失败;48) 路由结束。
5. 如权利要求3或4所述的方法,其特征在于所述本地进行査询的对象包括数据、计算能力、带宽、存贮空间或稳定性。
6. 如权利要求4所述的方法,其特征在于所述结构化路由的路由表最大宽度决定于其对 应的邻居关系数量;其最大长度决定于所述标识长度;实际长宽决定于所述群落内部节 点规模、标识长度及其具体邻居数目。
7. 如权利要求6所述的方法,其特征在于所述结构化路由表第零行用于存储非结构化邻 居。
8. 如权利要求6所述的方法,其特征在于所述结构化路由表从第一行开始按照节点标识 匹配程度顺序存储结构化邻居。
9. 如权利要求1所述的方法,其特征在于通过布置中心服务器的方式监测整个系统状态, 从而确定所述群落及其对应的超级节点。
10. 如权利要求1所述的方法,其特征在于所述群落边界按照数据流向分为超级边界和普 通边界;所述超级边界由检测群落发起者确定,所述普通边界由群落中对所有节点都 没有发布行为的节点确定。
全文摘要
本发明公开了一种基于群落的结构化路由方法,属于计算机网络领域。本发明首先使计算节点具有接收请求和发送请求的能力,然后发布者根据发布数据特征确定接收节点后进行数据发布,之后在群落发起者之间建立群落关系,在节点之间建立邻居关系,通过对邻居关系的监测确定邻居关系强度变化和群落边界,最后根据邻居关系及其即时状态和群落关系在互联网系统内的群落之间进行非结构化路由,在群落内部进行结构化路由。本发明将非结构化路由和结构化路由相结合,既可以缓解非结构化路由方法中超级节点的计算压力,又避免了结构化路由方法忽略计算节点能力差别的缺点,同时可以兼顾热点资源和稀缺资源的搜寻,从而提高访问者搜速资源时的系统路由效率。
文档编号H04L12/56GK101645826SQ20081011782
公开日2010年2月10日 申请日期2008年8月5日 优先权日2008年8月5日
发明者冰 李 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1