一种大规模非中心互联网中基于角色的路由方法

文档序号:7945031阅读:215来源:国知局
专利名称:一种大规模非中心互联网中基于角色的路由方法
技术领域
本发明属于分布式路由技术在互联网环境中的应用。其中涉及的技术主要包括分 布式计算资源在互联网上的特征、对于分布式计算模型的应用以及分布式计算资源有效利 用的方法。另外,互联网作为一项综合技术,本发明还涉及其他一些领域的研究成果,如物 理研究中的复杂网络理论。
背景技术
路由技术1对于分布式系统来说至关重要。没有路由技术的支持,分布式系统 无法与适当的计算资源乃至智力资源2沟通,从而失去建立分布式系统的意义。互联网 系统本质上也是一种分布式系统。与传统分布式系统相比,其特点可归纳如下。第一,互联网系统是一个大规模分布式系统。互联网系统的建立之初就是为了使 得用户之间能够共享彼此资源,一般指数据资源和服务资源。这里把共享资源分为两种,数 据资源特指通过复制数据达到计算目标的资源;服务资源指的是通过服务器端的逻辑计算 产生状态改变达到计算目标的资源。由于采取了开放策略,即任何人都能够以相对低的门 槛进入这个系统,使得系统规模逐渐庞大。当前互联网系统已经容纳了超过一百万3的 互联网服务器以及比服务器规模更大并由这些服务器所承载的用户客户端。第二,互联网系统是一个以数据和服务发布为基本功能的系统。互联网系统本质 是一个资源共享系统。这里最重要的行为就是数据资源和服务资源的发布。前面已经对数 据资源和服务资源进行了简单定义。提到发布,应该说明的是当前互联网是一种基于服务 器的内敛式发布系统无论是数据资源还是服务资源,发布的完成被简化成了把资源放置 在相关服务器即可。严格来说,这只完成了发布的一部分步骤,完善的发布还应该包括接收 者获得被发布数据或服务的过程。在当前互联网中,这是通过对互联网服务器的访问完成 的。第三,互联网系统是一个具备社会网络4或者说复杂网络4属性的分布式系 统。这是互联网系统在拓扑结构上的一个特征。当一个网络系统是以类似社会关系方式建 立时,那么这个网络一般会成为社会网络系统。在众多互联网服务器之间的联系是通过超 链接来形成的,即当一个服务器上的网页(数据)包含另外一个服务器网页(数据)时,可 以认为这两个服务器之间产生了联系。在拓扑结构中,这两个网站对应于两个节点而它们 之间的联系对应于连接两个节点的边。这样的联系来自于网页发布者对于另外一个网页的 认同,认为二者之间存在意义上的联系;这符合社会关系的建立方式。当大量基于服务器的 数据之间以上述方式形成联系时,就会形成一个拓扑结构,即社会网络属性。但当前互联网 系统在基础算法上对这个特征利用有限。第四,互联网系统是一个用户以不同角色主导的分布式系统。在互联网上存在大 量用户,而这些用户是以不同角色出现的。这是由用户资源所有权以及在互联网上的目的 所决定的。粗略来看,这些角色包括发布者、转发者和接收者。不同的角色在互联网上的行 为方式是完全不同的。对这些角色及其控制的计算资源和其间交互的研究会为互联网应用带来重要帮助。但当前基于角色的互联网基础算法方面的工作并不多并不充分。这种基于 角色的基础算法包括路由和动态集群等。需要更进一步认识的是,这些角色并不是孤立或 者杂乱无章地存在于互联网上,而是遵守着社会网络中的固有原则。第五,互联网系统是一个变动频繁但变因相对少的分布式系统。互联网系统由于 具备大规模的特征,所以系统内部不断发生变动。这种变动首先是发布者带来的,即新产 生或者更新的数据和服务出现在互联网上。这种新的资源会导致接收者去访问,并因此产 生相应的状态变化。当接收者在系统中除了具备访问能力外还具有对发布者资源进行修改 等交互能力时,互联网上的变动就会更加频繁,几乎是无时无刻不在发生的。但需要指出的 是,根据物理学界对复杂网络4的研究,在一个复杂网络中处于主导地位的节点占整个系 统的比例极低4。互联网属于复杂网络的一个特例,也必然具备类似特征。这和真实的互 联网经验也相符合,即大量变化在某一时刻是由极小比例的用户产生的。这就是所谓变因 相对少所指含义。第六,互联网系统按照资源主体划分存在两种重要资源。这两种资源分别是计算 资源和智力资源。所谓资源主体指的是资源所依赖的客观实体;这个客观实体决定了资源 的基本属性。在互联网系统中包含两大截然不同资源主体,其一是以计算设备以及运行其 上的算法,另一资源主体就是互联网用户。围绕这二者形成了互联网上述两种资源。一个 完善的计算系统应该是上述两种资源的恰当使用和配合。这里需要对路由技术的概念做一个解释。本发明所讨论的路由技术指的是应用层 上的资源搜索技术;而不是网络层上的路径确定技术。前者除了在应用层上查询可用资源 以外,还要保证这个资源在物理路径上最短以期获得最高性能5。从最终目的上看,二者 是一致的,只是前者面对的场景更丰富而具体。基于上述对互联网的认识,可以推断一个合 理的互联网路由技术应该充分利用上述特征从而在互联网中寻找计算资源以及智力资源。 然而,当前互联网的路由技术没有对上述特征作充分利用,有的特征甚至没有任何触及。作 为互联网应用的基础算法,这为互联网应用在功能、性能以及智能上的提高形成了障碍。第一,当前互联网路由技术为适应互联网大规模的特征采取的手段是计算资源的 高投入。面对大规模的互联网系统中庞大的数据和服务,当前互联网路由技术由于无法控 制互联网主要计算资源(互联网服务器),只能采取大量投入计算资源来复制互联网资源 的方法来间接达到对原始服务器的寻找。这相当于一个中间人的作用。这种方法原则上是 可行的,甚至已被成功应用。但其缺陷不仅仅是投入的巨大,还包括这样的复制本质上是不 可能的。这一方面是由于互联网规模太大,另一方面是互联网不断变动导致资源不断增加 使得路由技术赖以工作的复制资源落后于最新资源或者二者之间产生不一致。同时,当前 互联网出现了基于普通计算设备而非当前互联网服务器的新应用趋势6,这使得以复制 互联网资源为基本前提的路由技术更加不堪重负。第二,当前互联网路由技术只是对落后发布技术的简单适应。当前互联网技术本 身存在很多不足,或者说并不是一个完善的互联网。但既使存在这样的不足,并不是说相应 的路由技术只能基于现有落后环境来提供解决方案。在当前互联网环境中也存在提供更高 质量路由技术的有效方法。所有互联网资源都来自于发布。而发布由于受制于当前互联网 的缺陷,不是真正意义上的发布。这妨碍了路由技术对最新资源的感知、对互联网状态变化 的把握和利用,同时大大增加了路由技术的资源负担。
第三,当前互联网路由技术没有考虑互联网本身的社会网络特征。当前互联网路 由技术没有对互联网服务器之间的社会网络属性做考察,也没有考虑这个属性对建立于其 上的应用产生的作用。其实,在当前应用的路由技术中成功地利用了社会网络中以数据为 节点以超链接为边而形成的数据关系模型,借此来衡量相关数据的质量。但类似这样的应 用有限。第四,当前互联网路由技术没有考虑用户角色对系统路由产生的影响。虽然当前 互联网路由技术有限利用了社会网络特征,但远远不够。其中最主要的问题在于对互联网 上对社会网络的构成直接起作用的用户行为没有考虑。这一方面是由于路由技术的设计者 没有意识到这个问题,更重要的是当期互联网的基本结构限制了对用户角色在互联网上作 用的考察。也就是说要做这样的利用在当前互联网成本过高、效果也不佳。第五,当前互联网路由技术无法适应互联网频繁变动的特征。对互联网的频繁变 动,当前路由技术只能采取被动适应的策略。否则,系统不得不付出更高昂的代价。这是当 前互联网基本结构以及以中心复制为特征的路由技术所决定的。但和前面谈到的一样,作 为路由技术来说仍然可以在当前环境下做有限改进。第六,当前互联网路由技术是不完整的路由技术。从对路由技术的定义可以看出, 路由技术不仅按照需求搜索到计算资源,同时还要搜索到质量更高的计算资源。这个计算 资源在互联网上通常是互联网物理位置最近的计算资源。这是由于当前互联网中带宽瓶颈 过于突出造成的。当前互联网路由技术只能搜索资源本身,无法对搜索到的资源是否与用 户构成高效率访问关系进行任何判断。这是由于路由技术对互联网资源使用状态无法把握 以及当前互联网内敛特征一起作用而造成的。在后文中会对此作详细解释。第七,当前互联网路由技术对智力资源应用有限。互联网路由技术由于其功能特 征导致用户对其智能要求高。而互联网上智能特征的体现同其他系统相比有独特的地方。 这个独特之处来自于当前互联网应用中除了以计算设备为主体的计算资源以外,还存在以 用户为主体的智力资源。事实证明,通过计算资源模仿智能至少在互联网上是难以成功的。 那么,有效利用智力资源就成了解决智能服务的关键。当前路由技术在这方面只做了有限 利用,如PageRank技术7等。以上对当前互联网路由技术进行了简单描述和总结。从上面的这些讨论可以看 出,当前路由技术不足的关键之处在于当前互联网特征对路由技术的限制、路由技术本身 对互联网本质的认识有限以及对智力资源的忽视。

发明内容
本发明的创作目的在于改进当前互联网应用层上的路由技术,使之能够适应大规 模非中心互联网的要求,充分利用这个系统的特征,提供在功能、性能和智能上都更完善的
路由算法。利用互联网用户角色进行路由。本发明中强调了角色的作用,原因在于角色在大 规模非中心互联网中是用户在系统中作用的直接代表。与当前互联网不同,在大规模非中 心互联网上任何一个用户都可以通过一个甚至多个计算设备在互联网上表现为一个角色。 这个角色会在系统中从事各种系统赋予的功能(发布、访问、搜索和观看),并且在这个过 程中和其他角色发生交互。通过对这些行为和交互的监测和利用,并结合互联网天然具备的社会网络特征,基于角色的路由技术与当前互联网路由技术相比,能够搜索到更高质量的数据和服务。当然,搜索质量的高低最终是通过用户的体验来衡量的。作为发明者,作出这个判断的基础是建立在对智力资源的信赖和对机器智能的怀疑上。本质上,基于角色的路由之所以成立,是因为角色之间的互相作用为寻找有价值的资源提供了可靠线索;这些线索也可以认为是可利用的智力资源。基于角色的路由技术实际上是利用智力资源的一个案例。以动态集群为结果进行路由。本发明在根据请求进行路由时,最终关注的路由结果是与路由请求相匹配的动态集群。在大规模非中心互联网当中,任何一个动态集群的形成都是对重量级数据流进行多播而产生;因此,也可以认为本发明的路由技术搜索的目标是正在被多播的流。在实际互联网应用中,还存在大量轻量级数据为主的流。但这些流对系统压力小,绝对生命周期短。所以,只要重量级数据形成的流能够被适当路由,整个系统的性能就会显著提高。大规模非中心互联网中动态集群技术是实现重量级数据流高效多播的关键。并且,在这个环境中,所有节点在进行发布时都表现出发散型而不是内敛型。对于超级节点来说,其发散的数据会形成多个动态集群。对这些集群的寻找,实际上就是对本系统中数据资源和服务资源的寻找。更重要的是,路由发起者能够借助这些路由结果,通过成为动态集群中的一个节点而获得相关资源,达到用户进行路由的最终目的。在显性频道辅助下进行路由技术。所谓显性频道指的是系统为用户提供手工建立频道权限,从而辅助用户在大规模非中心互联网中形成群落。群落的形成对于本发明的路由效果是重要的。与显性频道的方法相对的是隐性频道用户无需手工建立频道;系统会通过节点之间的交互规律形成频道。但本发明强调对于用户智力资源的利用,把频道建立的权限交给用户,可以更迅速直观地在整个系统中对其他用户产生影响,使得频道对应的群落得以自由发展。这大大减轻了系统分析频道而付出的代价,也反映了大规模非中心互联网中人与计算资源之间互相作用的本质。频道的建立和发展实际上是群落的建立和发展;无论任何角色都是在一个特定群落中活动。显性频道为路由提供了稳定的计算环境和资源基础。在路由过程中保证超级节点优先并兼顾公平性。本发明路由的一个明显特征就是超级节点优先。之所以会以超级节点作为路由的主要资源,原因是超级节点在大规模非中心互联网当中的作用显著。这些节点的数目虽然占整个系统的总数目小,但是它们所拥有的计算资源以及发布的数据和服务资源却占整个系统的大部分8。正是这个原因使得超级节点优先的路由策略成了必然只有在这样的节点上进行路由,获得期望资源的可能性会达到最高。另外需要注意的是,这些节点除了具备绝大多数计算资源以外,还具有贡献性。这也是它和普通节点的重要区别。也就是说,这些节点的存在就是为了在大规模非中心互联网中贡献自身的计算以及智力资源,从而获得相应的回报。这也是大规模非中心互联网所具备的非计算属性或者称为社会属性。在这样认识前提下,大量的路由请求是超级节点所愿意接纳并处理的。既使由于路由压力过大,控制这些节点的用户也会以更多的投入来避免节点不能承受这样的压力;同时,系统也可以利用群落中的其他节点来分担超级节点的压力。从另一方面看,超级节点优先的策略也有片面之处。超级节点虽然在大多数时候处于大规模非中心互联网的主导地位,决定着系统数据资源;但这种状态并不是恒定的。用户个人因素以及社会因素的变动会直接在大规模非中心互联网中产生对应导致普通节点跃升为超级节点;超级节点降格为普通节点;部分新节点出现在系统中;老节点从系统 中消失等等。这些变更必须在路由算法中予以考虑,否则长期发展必然会导致路由效果的 下降。这个变化过程首先会被普通节点监测到;同时,这种变化是互为邻居的节点最可能关 注的。还有,既使大部分节点永远不会跃升为超级节点,并不意味着这些节点上没有任何有 价值的数据。为弥补超级节点优先的策略对普通节点忽视的不足,本发明采用对于节点邻 居关系进行监测的方法当任意时刻进行路由时,邻居关系中对应的最活跃节点会被首先 选择路由。在大多数时候,这个节点就是超级节点,但也有是普通节点的可能性。以非关键字的方式进行路由。在本发明中,用户的路由请求以关键字形式来表达。这一方面是由于关键字表达对于用户来说最简便;另一方面,本发明并没有单纯对资源进 行了基本索引,也没有进行所谓基于知识的管理。但这并意味着本发明放弃对路由智能上 的要求,只是采取了不同的措施而已。本发明坚持认为机器智能是无法实现的;而人类和 机器共同作用的计算系统中存在大量智力资源。这些智力资源的利用是产生路由智能的关 键。正式在这样认识基础上,本发明通过角色、邻居以及频道之间相互作用的监测,根据社 会环境中的常识进行推断,由关键字出发产生了除关键字匹配之外的路由结果,使本发明 初步具备非关键字匹配能力。本发明的积极效果为本发明为在大规模非中心互联网中进行计算资源的快速寻找提供了一个高效的方法。系统可以利用这个方法在一个看似混乱的环境中获得计算所需的资源;用户也可以 借助这个方法获得自身所需要的数据或服务。这个方法是进行互联网计算的重要基础,是 实现互联网应用功能、性能和智能上实现进步的关键技术。


图1.大规模非中心互联网中的角色、频道以及邻居关系;图2.路由发起节点工作流程;图3.路由执行节点工作流程。
具体实施例方式第一步,赋予各种可能的计算设备参与互联网计算的能力。当前互联网技术一个 重要缺陷就是参与互联网计算的计算资源完全来自于少数互联网服务器资源。这种方式源 于对早期互联网计算环境的适应。当前,这种方式除了增加了互联网服务器端资源负载以 夕卜,还限制了更大量计算资源的介入,使得当前互联网应用处在功能、性能以及智能上大大 简化的状态。对于各种可能计算设备参与互联网计算,可参考发明专利《全息搜索》。第二布,赋予用户在互联网计算中的主导权。当前互联网计算的主导权在机器算 法而不在于用户。用户只能享用机器算法控制下的数据或者服务。用户在互联网上的任何 行为不会对互联网计算产生任何正面作用,反而会有负面影响,如消耗互联网有限计算资 源导致互联网计算性能下降等。这种消极对待用户参与互联网计算的模式也是在特定计算 环境下形成的特定解决方案。只有积极看待用户,有效利用用户在互联网上行为产生的智 力资源,并和用户控制下的计算资源结合,才能最终完善互联网的功能、性能和智能。这种 对用户智力资源的积极态度实际上就是赋予用户在互联网计算中的主导权。当然,在用户主导下的互联网计算并不是说机器算法可以忽略。由于任何一个用户在整个互联网中处于一个局部,如果没有机器算法的帮助,用户不能对相对大范围内的计算状态进行感知并作 出正确判断;另外,用户的智力资源具有推理、学习和识别等机器算法很难模拟的功能,但 面对庞大的索引、传输以及匹配计算时,用户又无能为力。机器算法应该和用户智能有效结 合,用户所具备的主导权才能发挥作用。第三步,建立开放的域名机制。所谓开放的域名机制指的是用户可以在完全不受 约束的条件下获取网络域名,并以这样的域名在互联网与其他具备域名的计算设备进行交 互。在此,域名成为智力资源和计算资源的结合体。这与传统域名只是计算资源的表征是 有明显区别的。这个域名机制不仅起到了互联网计算资源直观表达的作用,也是互联网用 户智力资源直接指代。有了这个域名机制,基于角色的路由技术可以有效感知并记录大规 模非中心互联网中智力资源控制下的计算资源动态过程,从而为最终路由目的的实现建立 ■石出。第四步,建立对路由起主导作用的角色。在本发明中,角色可以根据用户在大规模 非中心互联网中的主要行为来划分,通常分为发布者、转发者以及接收者。另外,根据在系 统中的重要性,角色又可以划分为超级节点和普通节点。在以数据和服务发布为主的互联 网应用中,上述两种不同划分方法重合的可能性大,即超级节点通常多以发布者的角色出 现在系统中;普通节点更多地表现为接收者角色。因此,在本发明中角色划分是按照行为以 及重要性共同来进行的。这样,本发明考虑的角色主要是超级发布者和普通接收者。除了 上述两种角色之外,还有一种对于路由起到关键作用的角色是转发者。有价值的转发对于 不同领域知识数据的融合有关键作用。转发者对于普通接收者来说是重要的它们会在局 部形成类似超级节点的效果;有的甚至就是超级节点。然而转发者的角色决定这些节点必 须与具体数据结合才有意义,不是独立于数据而存在。第五步,借助用户行为识别各种角色。根据用户在系统中的行为对其进行角色划 分后,首先要解决的是在系统中识别用户角色的问题。这个识别所针对的用户主要是超级 节点,即超级发布者、转发者和普通用户。在复杂网络或者社会网络当中,超级节点的寻找 是困难的;而在大规模非中心互联网中由于有对等服务器存在,对超级节点的寻找变得方 便了。其主要原因是对等服务器在系统中所起的辅助作用。对等服务器的工作方式和传统 的互联网服务器完全不同。之所以在系统中使用对等服务器,是为了方便管理和协助弱集 群完成计算任务。方便管理体现在对系统中一些全局状态的把握;协助弱集群体现在以流 传输协议方式参与对等客户端形成的集群计算。在任何一个集群生命周期中,对等服务器 至少会在初始阶段以贡献资源的方式参与集群的成长;除非集群壮大到无需对等服务器协 助,否则它会始终在这个集群中。作为复杂网络中的超级节点是系统中动态集群的主要发 起者。因此,对等服务器能够记录节点的行为,从而对一个用户的角色作出判断。超级节点 会和其余节点之间形成显著差别,这种判断是容易做到的。但是,这种从全局角度获得的超 级节点并不能对每个节点起作用。系统中存在很多节点只与自身所处局部的超级角色发生 交互;这些节点可以通过每个节点自身对于邻居关系的监测来获得。下面会对监测邻居关 系进行解释。第六步,确定并监测邻居关系。大规模非中心互联网中任何一个节点在任一时刻 都只是与周围有限节点进行交互。这意味着一个节点和这些有限节点之间的关系决定着本地节点在复杂网络中的地位。这样的关系称作邻居关系。图1表示出大规模非中心互联网 中的角色、频道以及邻居关系。(1)确定邻居关系。在复杂网络中,除了大量节点外,另外一个重要元素就是边,或 称邻居关系。在大规模非中心互联网中发生下列情况时,两个节点间可以建立邻居关系一 个节点曾经主动成为另外一个节点发起集群中的一员;一个节点被动成为一个节点发起集 群中的一员。这样的邻居关系定义完全是基于对大规模非中心互联网最基本计算模式(动 态集群)的认识而提出的。动态集群是大规模非中心互联网的计算基础,一个节点曾经处 在另外一个节点发起的集群中,说明前者对后者的网上行为感兴趣,它们在基于互联网的 社会交往中有联系愿望和实际表现。这二者之间的邻居关系在网络拓扑结构以边的形式体 现出来。还需要强调的是邻居关系的无向性。这个概念指的是邻居关系是双向的,而不是 单方面;一个节点和另外一个节点建立了邻居关系,那么这个关系对二者都会带来益处。在 路由时,邻居关系的双向性会使得路由可以在两个方向上进行。最后需要补充的是集群发 起者是邻居关系的主体,而加入集群的节点是邻居关系的客体。当一个集群规模大时,作为 主体集群发起者会因此而拥有大量邻居关系;作为客体的集群参与者邻居关系通常增加缓 慢。从这点上看,发起集群是形成超级节点的主要手段;而被动加入集群的节点成为超级节 点的可能性小。另外一个问题是,由于发起者可以暂时离开系统,一个集群引发的邻居关系 有可能不一定在发起者和被动响应者之间。这个问题意味着动态集群的生命周期完全可能 大于集群发起者在系统内的时间;这样在集群发起者离开集群后,仍然会有新的节点加入 集群。实际上,这个担忧没有必要,因为可以在集群发起者所发布数据中标注。当一个集群 处于活跃状态时,其发起者就是正在集群中交换的数据和服务的原始发布者或者转发者。 既使发起者此时已经离开系统,也不影响集群发起者和新加入节点之间建立邻居关系。(2)获得促使集群形成的角色。在大规模非中心互联网中,对路由来说,所有邻居 关系都由动态集群关系而引发。在本发明中,可以发起集群的角色主要是超级发布者和转 发者。实际上,任意一个用户都可以引发集群,但如果其在复杂网络中的地位不高,则只可 以作为普通用户和一些节点建立邻居关系。这就是说普通用户可以因为发布成为局部超级 发布者或者转发者。当然,大部分用户发布量小,既使成为局部超级节点也不容易做到 ’大 部分节点都是以普通节点的角色出现的。虽然这些用户地位不高,但其数量庞大;对于任意 一个节点来说,其拥有的主要邻居都是以上述身份出现的普通用户。除此之外,超级角色会 成为很多节点的邻居,虽然它们在邻居中所占比例不高。(3)衡量邻居关系的积累效应。根据上面定义,在大规模非中心互联网中的邻居关系都是由动态集群产生的。但不同的是,虽然同为邻居关系,它们之间是存在差别的。在衡 量邻居关系时,可以利用交互度、稳定度、集群度(相应动态集群规模极值和平均值)、搜索 返回度等指标。交互度指当前节点在单位时间内利用这个关系进行形成集群计算的次数; 这个指标反映了互为邻居关系的节点之间交互频繁程度。对于一个动态集群来说,稳定度 可以用来衡量集群发起者在系统中活跃时间的持久程度;它可以通过计算用户在单位时间 内访问邻居节点成功次数与总次数比率来得到。所谓成功是指该邻居节点在线并及时响 应;如果不在线或者不能及时响应,则称作失败。集群度指一个邻居关系对应集群的规模和 平均值。由于在本发明中,任何一个邻居关系都是基于动态集群而建立的,集群状态也反映 着这个邻居关系的质量。通常来说规模大的集群对应的邻居关系对路由发现资源有更重要的帮助,而规模小的集群对应的邻居关系对路由发现资源帮助会小。这个值也可用来评估 一个邻居关系的质量。这也是智力资源在路由技术当中的典型应用之一。搜索返回度是搜 索响应程度的衡量标准。路由算法将搜索请求发至该邻居节点后,该邻居节点可能返回结 果,也可能不返回结果,这也是基于复杂网络搜索的必然状态。这样,计算返回结果和总搜 索请求次数的比率,可以得到搜索返回度。这些指标的衡量为鉴别局部超级角色建立了量 化基础。由于上述多个指标的存在,评估邻居关系时应该综合考虑上述因素,对邻居关系进 行衡量,从而为搜索时利用这些关系建立条件。需要指出的是,上述指标都需要一段时间的 积累才能获得一个恰当值,也可以称作积累效应;或者在一段时间内有效的静态特征。
(4)衡量邻居关系的动态变化。整个大规模非中心互联网所处的复杂网络并不是 静止不变的,而是随时随刻都在变化当中的。这种变化直接体现在邻居关系的变化上。前 面几个指标虽然也反映了邻居关系的一些特征,但是这些特征都是经过一些时间积累后才 出现的,并且在一段时间内有效的静态特征。在进行路由的过程中,邻居节点的即时特征对 路由也会有重要帮助。邻居关系即时特征的刻画可以通过以下几个指标的检测来获得,即 死活状态、当前邻居频道、当前集群规模、当前集群状态、当前邻居地位、当前本地任务和当 前本地频道等。任何一个邻居关系都会有生命周期以及活跃时间。生命周期决定于本地用 户是否排斥邻居或者在一个足够长的时间内互为邻居节点之间是否有集群形成。当排斥邻 居的情况发生后,对应的邻居关系会被删掉;如果足够长的时间后,在现有邻居关系之间没 有集群形成,对应的邻居关系也会被删掉。当互为邻居的节点同时进入系统时,该邻居关系 被认为处于活动状态;否则,则处于死亡状态。死活状态就反映了上述即时情况。当前邻居 频道指的是当前邻居所处的频道。任何一个节点在任意时刻只能处于一个频道当中,这个 状态对于路由也具有辅助作用。邻居关系对应着一个集群,相关集群的当前规模也可为下 一步路由作指导。当前集群状态也是对邻居关系的一种重要实时描述;这个状态可以从对 等服务器上获得,一般分为初始态、发展态、成熟态、低落态和衰败态。当前邻居地位指的是 从本地节点最近进入系统时间开始至当前时间内(最近进入系统时间)各个邻居节点所处 地位的排列情况;这可以通过计算最近进入系统时间内的复用度、稳定度、集群度和搜索返 回度来确定。当前本地节点正在进行的工作也可以被用来支持路由。类似地,本地频道信 息也可供路由来参考。详细过程参见下面具体的搜索方法介绍。第七步,确定需要寻找的计算资源。任何一个路由算法都必须结合具体应用才有 意义。脱离具体应用的通用路由算法不会对一个具体应用有任何实际价值。本发明的路由 技术正是基于上述思想而提出来的。在本发明涉及的具体应用环境中,路由目标是获得用 户需要的数据;同时,大规模非中心互联网本质上是流式互联网。数据主要的呈现形式是 重量级数据流。这与当前互联网轻量级非数据流完全不同。作为数据发布的主体,计算节 点的工作方式也完全不同。流式互联网中是以发散方式把重量级数据发布到相关计算节点 上,数据的存在等价于对应动态集群的存在。没有相应的动态集群,重量级数据不会以流的 形式发布于互联网当中。在大规模非中心互联网中寻找数据实际上就对应于重量级数据流 的寻找,也等价于对相应动态集群的寻找。一个数据被淘汰与否决定于其本身对应的动态 集群是否还有生命力;当数据失去了价值时,其相应的动态集群也会消失。根据上面的认 识,本发明的路由技术在寻找数据时,实际上找到的不仅仅是数据本身,还包括使这些数据 能够被发布的集群。
第八步,以关键字方式寻找流。流在大规模非中心互联网中是由一个或多个意义相关的数据单元按照特定层次顺序组成的。这个数据单元称作流网对象。每个流网对象可 以具有多种异质性质的数据;更重要的是,任何一个流网对象都包括对其自身意义的文字 描述。这些文字描述是可以通过关键字匹配的方法来进行搜索的。在大规模非中心互联网 中,任何一个流本身一般包括多个流网对象。在本发明中,只要其中任意一个流网对象的文 字描述与路由请求中的关键字相匹配,那么包含这个流网对象的整个流都会成为路由最终 的目标返回给路由请求者。由于路由结果都是重量级数据,当把这个结果返回给路由请求 者时,用户可能无法恰好看到关键字匹配的流网对象。这时需要系统具备点播能力来满足用户需求。最后补充一点,虽然大规模非中心互联网以发布重量级数据为主,它也允许用户 发布轻量级数据。只是由于轻量级数据处理简单,不会对系统造成多大压力,既使没有动态 集群存在效率也不低,所以本路由重点在于关注针对重量级数据流的路由技术。第九步,通过对集群的确定进行非关键字路由。本发明的路由机制虽然是针对关 键字匹配来进行的,但它并不局限于此。通过数据之间、用户之间以及频道内部和外部的联 系,在用户选择了某个路由结果后,相关数据也成为用户的候选。在以观看为主的大规模非 中心互联网中,用户路由会产生有智能效果的作用。这些都是对于系统中智力资源利用的 结果。在大规模非中心互联网中,路由会获得多个相关的动态集群;这些动态集群中发布的 数据对于路由者来说就是路由结果。路由者如果对这些正在活跃的集群之一感兴趣时,就 会加入这个集群,从而成为集群的一部分并获得相关数据或服务。更进一步,系统还可以追 溯到原始数据和服务的发布者及其相关频道。通常系统中能够发布值得用户搜索数据和服 务的节点总是少数;如果能够找到原始数据和服务的发布者及其频道,那么就可以获得相 关而有意义的数据源。这些节点和频道正在发布的数据和服务可以返回给路由者。之前找 到的结果是基于关键字匹配获得的。而这个结果由关键字出发转而根据社会网络关系获得 的新数据和服务,通常是与路由关键字没有直接匹配关系;这就形成了根据含义进行路由 的模式,体现了系统对智力资源的利用而带来的智能特征。当然,这样的结果不一定是用户 期望的。原始发布节点和频道的确定并不困难,可以通过在大规模非中心互联网传输协议 中增加相关描述来解决。第十步,利用显性频道进行路由。所谓显性频道是一种通过授予所有用户以建立频道的权限,并依靠所有用户社会属性建立群落的直观手段。群落是大规模非中心互联网 中的一种客观存在,无论系统是否赋予用户以自由建立群落的权限,最终都会在系统中形 成这样的拓扑结构以及与其对应的交互方式。频道实际上是群落的一种通俗称谓,完全等 价于群落。当系统赋予用户以建立频道的权限后,用户可以任意建立自己的频道,并通过系 统帮助使其他用户按照自身意愿加入。这些都是用户社会属性在大规模非中心互联网中作 用的体现。频道的建立会促使群落的逐渐形成。但并不是所有频道最终都会形成群落;只 有存在超级节点的群落才会具有生命力。群落的形成最终得依赖于其中的用户质量。每一 个用户都会处在一个或者多个群落当中,但这个数量是有限的。每个群落当中会存在一个 或多个超级节点对群落中数据资源起到决定作用。同时,转发者对于群落之间的沟通和相 关数据和用户的融合意义重大。在实际路由过程中,频道会成为路由算法的重要线索之一。第—^一步,确立在大规模非中心互联网中路由的基本原则。大规模非中心互联网的特征完全不同于当前互联网;这些不同导致在路由过程中要遵守一些基本原则。
(1)以在全局超级发布者、局部超级发布者和转发者控制的计算设备为主进行路 由。路由计算是需要消耗计算资源的。这种计算资源的消耗不能无偿强加于任意节点之上。 作为大规模非中心互联网中存在大量各具特色的节点,这些节点是在用户控制下表现着自 身的需求和意愿的计算设备。虽然对大部分节点来说无偿付出搜索的代价并不合理,但对 一些在互联网上处于显著位置的超级节点(如超级发布者)来说,这样的付出和它们在互 联网上的意愿是符合的。基于上述认识,路由过程中应当选择全局超级发布者、局部超级发 布者和转发者。一般认为,复杂网络上的任何一个节点都应该和一个或多个全局、局部超级 发布者或者转发者成为邻居关系;否则就失去在加入复杂网络上的意义,用户在网络中无 法获得数据或者服务。还需要说明的是,全局超级节点和局部超级节点并不是截然分开的 两个集合,而是有重合的两个集合;其重合度甚至不低。(2)利用普通节点分散路由过程中的压力。根据前面描述,可以判断路由的压力会过分集中于超级角色。因此,在进行路由时要考虑有效分散计算压力的问题。一个超级 角色会拥有大量邻居,原因是超级节点经常引发动态集群。在众多邻居关系当中,根据静态 和动态特征衡量,可以得出这些邻居关系之间的质量差别。当路由量过大时,超级节点可以 把新增路由请求按邻居关系质量高低依次转发给邻居节点。通常情况下,路由压力分散时 首选的还是超级节点;这是由于超级节点之间存在高质量邻居关系的可能性更大。但随着 路由压力增加,路由计算会逐渐转移到普通节点上去。但这种超级节点优先的方式使得普 通节点承受的压力会较小,和其计算能力是匹配的,不会给普通节点带来过大负担。通常认 为,普通节点也不完全以自私的方式工作。在路由压力过大时,可能对应着现实当中一个热 门事件的发生;大部分用户都会对此感兴趣并进行跟踪甚至发布相关数据。为此,普通节点 也会表现出有限的贡献性。(3)转化个性化搜索的代价。大规模非中心互联网个性化搜索是通过路由范围界 定来实现的。事实上,在路由过程中搜索总是在一个具体节点上进行的,每个节点的不同就 是个性的不同。但是必须考虑搜索给节点带来的代价。对于超级角色来说,前面已经利用 强邻居优先策略来为超级节点来分担路由代价。对于普通节点来说,也可以采取类似方式。(4)通过监测邻居关系在路由中兼顾普通节点。前面的路由原则中提到了尽量把 路由压力放在超级发布者或者超级转发者控制的节点上。这虽然减轻了普通用户的计算压 力,但也带来了另外的问题,即公平性缺失。在纯粹基于超级角色的路由中,普通用户被路 由发现的可能性要远远小于超级角色。本发明的路由技术除了考虑超级角色在系统中的主 导地位以外,还通过观察邻居关系的动态特征来评估对应节点即时的活跃程度。虽然在整 体上来说超级角色在路由中居于主导地位,但在具体某一时刻一个节点也可以通过合理的 路由成为路由的结果,甚至有可能跃升为超级角色。这个特征与日常经验是符合的,即在一 个社会网络系统中,超级节点占有优势地位;但是,任何一个普通节点都有机会由于各种社 会因素成为转化为超级节点;反之依然。本发明的路由技术只是通过技术的手段反映具备 社会属性系统的变化。(5)协调路由压力与物理层数据交互的关系。通常来说,应用层上计算节点间形成 的逻辑拓扑结构同支撑起运行的计算设备形成的网络(物理)拓扑结构之间没有必然的对 应关系。本发明在路由过程中,所有路由数据都只考虑纯粹的逻辑结构,有可能会形成路由 消息由于网络延迟效率下降。然而,由于本路由是以超级节点为主导,通常超级节点与普通节点的网络连接质量有保证;同时,路由请求都是以轻量级数据为主,效率上不会有大的影 响。第十二步,基于角色作用和邻居关系进行搜索的基本方法。在进行了角色划分并确定了邻居关系后,就可以按照基于对复杂网络和大规模非中心互联网的基本特征,来设 计具体的路由算法。本发明的路由算法如下,如图2和图3所示。(1)路由发起节点工作流程。步骤1 路由发起节点会周期性收到对等服务器发送的当前系统超级节点清单, 然后执行步骤2。步骤2 如果一个节点仅处于一个动态集群中,它的路由请求发送给这个动态集 群发起者(即当前最活跃邻居);如果一个节点处于多个动态集群中,它的路由请求发送给 规模最大的动态集群发起者(即当前最活跃邻居);如果一个节点没有处于任何动态集群, 它的路由请求发送给搜索返回度最高的邻居;之后等待回应以执行步骤4。步骤3 如果还邻居集合中还存在超级节点并且向其发送路由请求,则向这些超 级节点发送路由请求并等待回应以执行步骤4。步骤4 收到路由回应。如果路由成功,则通过加入集群的方式获得数据;否则,路 由因失败而终止。(2)路由执行节点工作流程。步骤1 收到路由请求。如果本地不忙,则执行步骤1 ;否则执行步骤3。步骤2:在本地搜索。如果存在与路由关键字匹配数据,则执行步骤4。步骤3 如果本地节点不是转发节点,则执行步骤5 ;否则,执行步骤6。步骤4 把搜索结果返回给路由发起节点或者路由转发节点。步骤5 向固定数目同频道内强邻居节点转发路由请求并等待回应以执行步骤7。步骤6 向被转发集群发起者转发路由请求并等待回应以执行步骤7。步骤7 收到路由回应。如果获得匹配结果,则执行步骤4 ;否则,执行步骤8。步骤8 如果存在同频道内超级节点未被转发此路由请求,则执行步骤9 ;否则执 行步骤10。步骤9 向同频道内的超级节点转发路由请求并等待回应以执行步骤7。步骤10 通知路由发起节点或者路由转发节点路由失败。参考文献1Sylvia Ratnasamy, Ion Stoica, Scott Shenker ;Routing Algorithms for DHTs SomeOpen Questions, Peer-to-Peer Systems(2002), Page(s) :45_2Yilei Shao ;Exploring Social Networks in Computer Systems, PhD Dissertation, Princeton University, June 2003January 2009 Web Server Survey ;http://news. netcraft. com/archives/ web_server_survey. html4Newman M E J. ;The Structure and Function of Complex Networks, SIAM Review,2003,45, Page(s) :167_255Hari Prasad Thadakamalla ;Decentralized Algorithms for Search and Routing inLarge—Scale Networks,PhD Dissertation,Pennsylvania State University,December 2006Cohen B. ;Incentives Build Robustness in BitTorrent,in Workshop on Economics ofPeer—to—Peer Systems, Berkeley USA, May 2007Sergey Brin,Lawrence Page ;The Anatomy of a Large-Scale Hypertextual WebSearch Engine, Proceedings of the Seventh International Conference on World Wide Web 7,Page(s) :107_118Stefan Saroiu,P.Krishna Gummadi, Steven D. Gribble ;Measuring and Analyzingthe Characteristics of Napster and Gnutella Hosts, Multimedia System, Vol. 9,No. 2,Page(s) : 170-184,200权利要求
一种大规模非中心互联网中基于角色的路由方法,其特征在于基于角色的路由;对以动态集群为结果的路由;在显性频道辅助下的路由;超级节点优先和兼顾公平性的路由;基于非关键字匹配的路由。
2.一种大规模非中心互联网中基于角色路由的工作方法,其步骤如下1)识别互联网上任何一个用户的角色;角色可以通过使用相应功能(发布、访问、搜索 和观看)及其间的交互来识别;2)用户以手动方式建立显性频道,以迅速直观地与其他用户和群落发生联系;3)获得超级节点并优先路由超级节点;以超级节点作为路由的主要资源,并对节点邻 居关系进行监测;4)用户发出路由请求,对正在被多播的流进行搜索,使用户成为动态集群中的一个节 点并获得相关资源;5)通过对角色、邻居以及频道之间相互作用的状态监测,并根据社会环境中的规律进 行推断,进行非关键字匹配路由。
3.如权利要求2所述的方法,其特征在于识别用户角色,建立路由基础,其方法为1)赋予各种可能的计算设备参与互联网计算的能力;2)赋予用户在互联网计算中的主导权,使用户智能与机器算法有效结合,充分发挥用 户的主导作用;3)建立开放的域名机制,使用户在完全不受约束的条件下获取网络域名,以这样的域 名与其他域名的计算设备进行交互,记录互联网中计算资源的动态过程;4)记录节点的行为,监测节点的邻居关系,对用户的角色作出判断。
4.如权利要求2所述的方法,其特征在于将建立显性频道的权限交给用户,用户建立 频道后,相关用户可以依据频道形成群落;用户在显性频道支持下进行交互,并导致群落得 以自由发展并成熟。
5.如权利要求2所述的方法,其特征在于建立对路由起主导作用的角色——超级节 点;超级节点是系统中动态集群的主要发起者;使用额外布置的服务器寻找超级节点;用 户路由请求首先发送到相关联的超级节点。
6.如权利要求2所述的方法,其特征在于以非关键字进行路由。其方法是在本互联网 传输协议中增加路径描述,帮助找到原始发布节点和频道,用户就可以获得这些节点和频 道正在发布、通常与被路由关键字没有直接匹配关系的数据和服务。
7.如权利要求2和如权利要求3所述的方法,其特征在于确定及监测邻居关系;根据 邻居关系确定本地节点在复杂网络中的地位,其方法为1)当一个节点曾经主动成为另一个节点所发起集群中的一员时;或一个节点被动成 为另一节点所发起集群中的一员时,即认为这两个节点之间存在邻居关系;集群发起者是 邻居关系的主体,加入集群的节点是邻居关系的客体;2)监测超级发布者和转发者引发的动态集群;由动态集群找到超级发布者和转发者 促成的邻居关系;超级角色具备大量邻居节点。3)衡量邻居关系的积累效应;利用交互度、稳定度、集群度(相应动态集群规模极值和 平均值)、搜索返回度等指标衡量邻居关系;静态特征用以确定邻居关系之间的差别;4)衡量邻居关系的动态变化;通过检测死活状态、当前邻居频道、当前集群规模、当前集群状态、当前邻居地位、当前本地任务和当前本地频道等指标,可获得邻居关系的即时特 征或动态特征。
8.如权利要求2所述的方法,其特征在于路由发起节点所述路由方法为1)路由发起节点会周期性收到对等服务器发送的当前系统超级节点清单,然后执行步 骤2);2)如果一个节点仅处于一个动态集群中,它的路由请求发送给这个动态集群发起者 (即当前最活跃邻居);如果一个节点处于多个动态集群中,它的路由请求发送给规模最大 的动态集群发起者(即当前最活跃邻居);如果一个节点没有处于任何动态集群,它的路由 请求发送给搜索返回度最高的邻居;之后等待回应执行步骤4);3)如果邻居集合中还存在超级节点并且向其发送路由请求,则向这些超级节点发送路 由请求并等待回应以执行步骤4);4)收到路由回应。如果路由成功,则通过加入集群的方式获得数据;否则,路由因失败 而终止。
9.如权利要求2所述的方法,其特征在于路由执行节点所述路由方法为1)收到路由请求;如果本地不忙,则执行2);否则执行3);2)在本地搜索;如果存在与路由关键字匹配数据,则执行4);3)如果本地节点不是转发节点,则执行5);否则,执行6);4)把搜索结果返回给路由发起节点或者路由转发节点;5)向固定数目同频道内强邻居节点转发路由请求并等待回应以执行7);6)向被转发集群发起者转发路由请求并等待回应以执行7);7)收到路由回应。如果获得匹配结果,则执行4);否则,执行8);8)如果存在同频道内超级节点未被转发此路由请求,则执行9);否则执行10);9)向同频道内的超级节点转发路由请求并等待回应以执行7);10)通知路由发起节点或者路由转发节点路由失败。
全文摘要
本发明公开了一种大规模非中心互联网中基于角色的路由方法,属于分布式路由技术在互联网环境中的应用。本发明要求根据用户行为识别其角色,通常的角色包括发布者、转发者以及读者等;每个角色通过频道与其他角色和群落发生联系;在基于频道的系统结构成熟后,通过每个角色在系统中的活跃程度找到超级节点,并以超级节点作为路由的主要资源;在用户发出路由请求后,对正在被多播的流进行搜素,使用户成为相关集群中的一个节点并因此而获得相关资源;监测角色、邻居以及频道之间相互作用的状态,进行非关键字匹配路由。本发明改进了当前互联网应用层上的路由技术,使之能够适应大规模非中心互联网的要求,充分利用这个系统的特征,提供在功能、性能和智能上都更完善的路由算法。
文档编号H04L12/18GK101800689SQ20091000861
公开日2010年8月11日 申请日期2009年2月5日 优先权日2009年2月5日
发明者李冰 申请人:李冰
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1