专利名称:一种基于动态集群的新闻服务方法
技术领域:
本发明涉及一种基于动态集群的新闻服务方法,属于分布式技术在互联网环境中的应 用。动态集群技术是一种基于动态变化的互联网计算环境,其中主要涉及分布式资源组织1、数据广播2、 一致性维护3、事件驱动机制4和数据备份5等多种 互联网基本技术,属于互联网应用开发领域。
背景技术:
新闻系统是互联网多项基本应用之一。作为一种对时间敏感的数据资源,和其相关的 应用系统必须具备即时、时效、快速排序、个性化、大规模甚至交互等特征。当前互联网 新闻系统由于其本身基本结构的限制,还不能达到上述要求。
新闻首先要求即时性。基于当前互联网基本技术6的新闻系统在即时性上的实现 在技术上是不完善。即时性首先要求互联网服务器7, 8和其对应的客户端之间存在一 个事件驱动机制。在当前的互联网系统中,这个事件驱动机制是不存在的,必须通过投票 机制9来模拟。但是,当系统规模增大时,这种投票机制就会对系统造成过度压力。 所以,在当前互联网新闻系统中只有有限的网页中采用了投票机制以增强该页面的即时 性。然而,大部分相关新闻发布页面中不提供即时性特征,以免浪费大量计算资源。解决 这个问题,需要一个有效的事件驱动机制来支持。
对新闻时效性的把握不够。任何新闻数据都具备时效性。但这个时效性的把握是通过 对新闻生命周期的判断来得出的。新闻的时效性大致可以分为长期有效、特定有效以及即 时有效。长期有效指的是一些新闻数据具有高价值,并能够在长期的时段内保持。特定有 效指的是一些新闻数据只在特定时间段内具有价值,超出此时间段其价值会便会逐渐失 去。即时有效指的是新闻在发布后短暂时间内的有效性;几乎所有新闻数据都具备即时有 效性。这种对新闻数据时效性的全面把握需要大量计算资源支持,这成为了当前新闻系统 获得时效性的瓶颈。当前新闻系统的时效性基本依赖有限人工参与来解决。
快速排序对新闻系统也具有重要意义。新闻虽然具备即时性,但在一个时段内,会出 现多个新闻数据。在满足新闻即时性同时,随着时间推移,应该对新闻本身价值做出迅速 判断,把更重要的数据排列出来以避免重要数据被大量新闻数据所淹没。当前新闻系统都不提供排序服务,重要新闻完全通过人工干预的方式来使其出现在页面的显著位置。人工 干预不利于对新闻数据的变化做出及时调整;由于新闻数据的庞杂,对人工的需求过大; 最后,人工排序也无法避免对新闻数据的客观评估。制约当期新闻系统采用排序策略的主 要问题在于没有适当的排序标准。当前互联网数据中最有效的排序标准是网页链接重用度10。但是这个重用度的获得需要相关数据在互联网上有足够的存在时间,只有这样相 关新闻数据才有可能被重用。但是这个策略恰好与新闻数据的特质相矛盾。有一种方法也 可以采用,即根据新闻被阅读的次数来评估其价值。这种排序方法有效的前提是在新闻出 现的有限时间内,有足够多的用户看到这个新闻。这种情况下阅读次数才有意义。但由于 当前新闻系统缺乏即时性,同一时刻不能保证足够多的用户看到最新数据,造成数据采集 的误差。其次,高并发地看到最新数据,也会引起新闻系统本身承受过大压力。最后,当 前新闻系统对时效性把握的不足也造成仍然有价值的新闻被系统忽视,使得用户不得看到 相关新闻,这也造成了排序上的缺陷。
新闻系统的规模要求足够大。这也是当前新闻系统的一个重大不足。为了应付可能的 潜在用户,当前新闻系统不得不增加计算资源的投入;同时,还必须以降低了服务质量为 代价,如新闻系统以轻量级数据为主。这些方式都导致系统的性价比下降。
最后,对于新闻服务来说,良好的交互能力也是必须的。但是在计算资源受到限制的 情况下,新闻系统大多以服务提供者发布数据为主,而不为用户提供交互服务。
发明内容
本发明的目的在于通过动态集群技术的应用使互联网新闻系统达到即时、时效、快速 排序、个性化、大规模以及强交互的目标。
'种基于动态集群的新闻服务方法,其步骤为
1) 在计算节点上建立数据接收和请求机制;
2) 在任何两个节点之间建立直接交互;
3) 节点寻找与其计算任务潜在可配合节点并建立连接;
4) 新闻系统根据流网协议建立动态集群;
5) 根据新闻服务的需要新闻系统对动态集群内的数据进行相应处理。
进一步的,所述方法中通过TCP/IP编程实现所述在计算节点上建立数据接收和请求 机制。
进一步的,所述方法中通过NAT穿越技术对NAT穿越实现所述节点之间建立直接交
5互。
进一步的,所述方法中通过在所述节点上采用有效线程池技术实现对每个节点计算资 源的最大利用。
进一步的,所述方法中采用基于社会网络的路由技术实现所述节点寻找与其计算任务 潜在可配合节点并建立连接。
进一步的,所述动态集群为运行状态下,基于共同计算目的计算节点形成的计算资源 共享集合,其特征包括周期性生命、共同目的、自由组合、高度动态、网状拓扑、高度 异质。
进一步的,所述新闻系统根据流网协议建立动态集群的方法为
1) 采用基于社会网络的路由算法寻找计算资源;
2) 根据节点间传输的数据特征采用相关协议进行数据传输;所述数据特征包括轻量级 数据、与时序相关的轻量级数据、与时序相关重量级数据、与时序无关的重量级数 据;对于所述轻量级数据采取基于消息的可靠多播算法进行传输;对于所述与时序 相关重量级数据,将数据分为时序已经迫近的数据和时序要求不紧迫到的数据进行 传输,对于所述时序已经迫近的数据采取同步或异步传输方法进行传输。
进一步的,所述方法中对于所述时序要求不紧迫的数据和与时序无关的重量级数据采 取的方法为
1) 计算节点与多个潜在节点异步并发交互;
2) 计算节点同时寻找其它潜在节点作为候选节点,当候选节点潜在能力高于当前交互 的某个潜在节点时,主动把性能差或者贡献少的节点主动替换掉;
3) 每个节点在交互过程中对正在联系的节点进行监测以评估节点在集群中的行为,奖 励贡献者、惩罚只作索取的节点以及在节点贡献和索取之间建立正比关系;
4) 系统中通过布置中心服务器主动与计算节点联系的方法保证公平性。 进一步的,所述方法中对于所述数据为多种异质数据时,采取轻量级数据优先、与时
序相关的重量级数据次之以及与时序无关的重量级数据最后的原则进行传输。
进一步的,所述根据新闻服务的需要新闻系统对动态集群内的数据进行相应处理,其 包括
1) 新闻价值评估;其方法为根据用户行为以及动态集群规模对新闻数据排序,所述 用户行为包括对请求接收的新闻数据选择阅读、忽略、拒绝接收或者删除;
2) 新闻时效评估;其方法为通过监测动态集群生命周期评估新闻数据的时效性,所述时效性包括长期时段、特定时段以及即时时段;
3)增强系统能力;通过充分利用计算资源确保新闻数据发布系统的强伸縮性,其方 法为动态集群中每个节点按照流网协议在获得计算资源的同时贡献自身计算资源。
本发明的主要内容如下
(1) 建立即时互联网新闻系统。本发明的互联网新闻服务方法首先具备即时特征。 任何新闻的发布将会以即时的方式传输给用户。传统的新闻系统只能在互联网服务器上存 贮数据,直到用户访问时才能获得相关数据。新闻数据的任何变化或者最新数据的产生都 只能依靠用户的访问即时性完全决定于用户访问频度。本发明无论是新数据发布还是旧 数据更新都做到了即时性,和用户访问频度没有任何关系。
(2) 建立具备时效性的互联网新闻系统。本发明的互联网新闻服务方法还具备时效 性。可以通过对所有新闻数据的管理达到对其生命周期予以监测的目的,从而有效发挥新 闻本身的价值。当前互联网新闻系统对新闻数据时效性把握主要通过人工来完成,这主要 是没有恰当衡量新闻数据生命周期的标准或者获得相关指标消耗的计算资源过大。本发明 能够有效解决这些问题,把新闻数据的时效性以长期、任意特定时间段和即时三种情况分 别予以处理,达到对新闻数据有效性的可靠维护的目的。
(3) 建立有效排序的互联网新闻系统。新闻排序是体现新闻价值的必要算法。由于 新闻数据的排序无法借助于普通互联网数据超链接复用的方法,导致当前互联网排序问题 不易解决。另外,新闻数据的非即时性也导致在收集阅读次数时出现的偏差。本发明依靠 系统即时能力的支持、对用户阅读次数以及相关行为的可靠收集并结合适当的展示方法, 达到了对新闻数据有效排序的目的。
(4) 建立合理的展示方式。对互联网新闻系统来说,展示方式对用户阅读新闻、把 握用户状态以及采集用户阅读次数都具有重要作用。 一个合理的新闻展示方式应该体现在 对新闻时效性的反映、对数据公平展示的考虑以及对数据阅读评价系统的辅助上。当前互 联网新闻系统由于没有对新闻数据时效性的把握能力,直接导致在数据展示上无法向用户 提供新闻的时效性数据。公平展示指的是所有新闻数据在新闻生命周期起始时都有机会被 用户阅读或收到,这是新闻数据所必需做到的。但由于当前互联网展示技术严重受制于互 联网服务器的计算能力,致使展示界面狭小而静止,只能对有限数据进行展示,削弱了新 闻数据被观测的公平性。展示上的问题直接会影响到对新闻数据质量的评价。在评价新闻 质量过程中,用户的行为(新闻服务中主要体现为阅读)也会受到影响,无法有效根据用
7户行为对数据作出恰当评判。本发明在上述三点上都做了根本性的改变,达到了既能为用 户提供友好展示效果,又能为所有新一闻数据提供公平机会并直接贡献于对新闻数据的评 估。在本发明的展示当中,新闻会以时效性的不同分别列出,并且所有数据以动态滚动方 式做更新,保证在其生命周期内有基本平等的机会展示给用户。
(5) 建立大规模的互联网新闻系统。高质量的互联网新闻系统必然是大规模的。但 当前互联网新闻系统实现大规模的方式是诉诸于计算资源的增加。这种方法本身投入大, 并且仍然需要在縮减服务质量的前提下才能完成。本发明的互联网新闻服务方法可以保证 系统在无限制的规模下提供服务。
(6) 建立强交互的互联网新闻系统。强交互也是新闻系统应该具备的特征。本发明 的互联网新闻服务方法中,用户除了可以获得相关新闻服务外,还可以对新闻进行即时大 规模评论,即所谓交互。这对新闻本身价值的理解以及扩大其效应带来的便利。
本发明的积极效果为
通过本发明的新闻服务方法,可以及时准确的把握新闻的变化,对新闻进行有效的排 序,同时提供交互功能,从而保证新闻的时效性、体现重要新闻的价值。
图1. 一个动态集群的即刻拓扑结构; 图2.本发明的方法流程图。
具体实施例方式
本发明的流程如图2所示,现结合具体实施方式
详细描述本发明
第一步,建立动态集群的计算基础。要建立动态集群计算基础,首先需要使得各个节 点在拥有请求数据和服务能力的同时,也具备响应其他节点请求的能力。实现这个目的并 不困难,利用基本网络技术11就可以做到。困难在于突破互联网上存在的NAT障碍, 可以采用NAT穿越技术来解决,其方法可以参考12。这个问题的解决,可以使得互 联网任何两个节点之间可以相互直接交互。这是产生大规模互联网计算的前提。其次,这 样的节点除了可以请求并且响应以外,还需要提高其吞吐量,即在节点计算资源的允许条 件下,可以并发地和多个节点建立通信连接,并可以在这样的连接上持续传输数据。这里 的重要技术就是线程池的实现13。最后,在实现上述目标后,还有一个重要工作就是 赋予节点以寻找合作节点的能力14。在一个大规模互联网系统中,任何一个节点只能和有限节点进行连接并配合计算。应该在互联网上众多计算节点中为一个节点寻找到最适 合的节点,从而实现计算资源最大限度的利用。动态集群指的是一个在运行状态下,由各 种可能连接在互联网上的计算设备基于共同计算目的,形成的计算资源共享集合。这个集 合具有以下特征。
(1) 生命周期。动态集群是具有生命周期的。 一个普通的动态集群都要经过产生、 发展、成熟、平稳、萧条以及衰败多个阶段。但并不是所有的动态集群都要经过这些完整 的过程。有些集群在产生后会跨越某些阶段而直接衰败或则会长期处于出产生和衰败之外 的某个阶段。动态集群的产生是通过一个计算节点发起一个计算,导致其他节点的响应, 从而形成集群;当响应节点增多时,集群就处于发展阶段;发展阶段会到达一个极限,这 就是成熟阶段;成熟期过后,集群规模会逐渐趋于平衡,规模不再扩大,也没有明显縮小, 即平稳阶段;随着多数节点完成计算并离开这个集群,集群中的节点逐渐减少,从而引发 萧条阶段的形成;当集群中所有计算节点都离开后,集群消亡,进入衰败阶段。
(2) 共同目的。动态集群形成以及维持的基础是共同计算任务。计算任务指的是提 供数据或者服务过程中发生的传输、交互以及运算活动。 一个动态集群包含多个节点;这 些节点都围绕着一个或多个相关计算任务进行相关计算。它们既是相关数据和服务的享受 者,也是相关数据和服务的间接提供者。
(3) 自由组合。动态集群中的节点具有自由组合的特征。无论集群规模大小如何变 化,集群中的节点都是在对相关计算任务感兴趣的条件下加入的。当节点享受了相关数据 或者服务后,或者失去相关计算提供的数据或服务后,则可以随时离开系统而不受任何限 制。
(4) 高度动态。动态集群的主要特征就是这个集群总是处于不断变化当中。这种变 化既体现在集群本身具有生命周期,也体现在节点不断地加入或者离开,甚至体现在集群 所具有的拓扑结构上的变化。这些动态特征反映出集群即刻的状态;对这些状态的把握能 够为建立于这样集群之上的系统起到重要支持作用。
(5) 网状拓扑。作为分布式技术的一种应用形式,任何集群都会以一种拓扑结构的 形式表现出来。对拓扑结构的了解,也会对集群的特征把握得恰当。本发明中的动态集群 表现为网状结构。但这个描述过于粗略。对这个结构的认识可以参考相关文章15。之 所以形成网状结构而非其他拓扑结构,是因为这样的结构可以使得各个节点之间能够最大 限度地分享各自的计算资源,从而在高动态的情况下实现计算性能的最大化。图l表示了 动态集群的即刻拓扑结构。(6)高度异质。虽然各个节点是基于共同任务组织成集群的,但这个集群中仍然存 在诸多不同。所谓高度异质是由以下几个特点表现出来的。第一,节点资源的异质性。各 个节点之间通常表现出所拥有计算资源的差异;而拥有不同计算资源的节点对系统的潜在 贡献是不同的。应该采取适当算法14, 16既保证整个集群的正常运行,也能使得每个 节点能够得到最大化利用其自身资源基础上的服务。第二,数据或服务的异质性。数据和 服务是维系动态集群生命周期处于稳定状态的根本。在高性能集群当中,这样的数据或服 务可以表现出复杂的形态,如各种格式的数据。数据格式的差异导致节点间交互和配合时 会以不同的方式14, 16处理不同性质的数据,达到计算资源的合理使用。第三,节点 物理位置的异质性。由于动态集群的形成完全决定于数据和服务质量,而非人为事先的定 义稳定系统,这导致集群中可能包括来自物理位置差异大的节点。适当的路由方式17, 18可以既整个集群的高效率,同时也能保证不同物理位置上节点得到公平服务。第四, 节点行为的异质性。节点在动态集群中的行为也有区别。有些节点会以计算资源贡献者的 形式出现,有些则是索取和贡献兼备,还有些只是单纯索取19。动态集群算法必须考 虑到这些特征,以保证集群的高效率。
第二步,建立动态集群。在拥有了动态集群所需要的基础以及对大规模互联网中动态 集群有了认识后,就可以把相关节点组织起来以形成动态集群。基于上述动态集群的特征, 建立动态集群的方法和在稳定环境下的集群完全不同。流网协议是其中重要解决方案。流 网协议可以简单地归纳如下。
(1)建立基于社会网络15的路由算法。前面简单解释了对路由技术的基本要求。 这个路由方案是建立在社会网络或者复杂网络15基础上的资源寻找算法。由于社会网 络本质上是计算节点通过互联网上用户社会属性而建立起来的符合互联网资源分配规律 的拓扑结构,恰当地利用这个网络就能够完成对计算资源的有效寻找。在利用社会网络进 行路由搜索时,主要涉及结构化和非结构化路由技术的结合问题。结构化路由技术的突出 特点是能够对任何资源(稀缺或者流行)在确定有限时间内获得路由结果,但是这样的结 果是建立在严格约束条件下。而这个条件当前互联网环境难以得到保证。非结构化路由技 术建立在互联网自然形成的拓扑结构(即社会网络)之上,并没有对存在的互联网环境有 任何强制要求。在这样的基础上要保证快速获得搜索结果,必须要求对具体的应用以及相 应的拓扑结构有深入认识才可达到。但即使如此,非结构化搜索在路由公平性的保证仍然 不足,同时对路由压力的分担也困难。鉴于上述原因,可以把上述二者恰当结合。由于社 会网络中存在群落,群落代表着相对稳定的计算环境,接近于结构化路由所要求的条件。这样,可以采取在整个互联网中进行非结构化路由,而在群落中进行结构化路由。通过上 述方法,路由算法就做到了有效寻找流行资源以及保证对稀缺资源的路由公平。
(2) 建立轻量级数据传输方案。轻量级数据定义为只需有限数据包即可发送完毕的
数据。通常轻量级数据全部数据量远小于计算节点带宽单位时间内所能允许的大小。具体 大小可以根据实际带宽以及运行时节点的具体状态来决定。总之,这样的数据对计算节点、 带宽以及相关节点造成的压力很小。尽管如此,当一个节点要向多个节点发送这种数据时, 如果潜在接收节点过多,也会导致源节点压力过大。这时候可以利用基于消息的可靠多播
算法2来解决这个问题。由于这种数据发送快,对拓扑结构的合理性要求并不高,只 要达到分担源节点负担的目的即可。当系统中有重量级和轻量级数据混合传输时,还可以 考虑利用重量级数据多播形成的拓扑结构来实现轻量级数据传输;这方法可参考基于BT 协议14的轻量级数据多播机制。这个机制的原理是利用重量级数据多播形成的稳定高 效拓扑结构来降低网络压力和延迟,从而达到轻量级数据的大规模多播。
(3) 建立与时序无关重量级数据传输方案。与轻量级数据相反,重量级数据需要发 送多个数据包才能完成数据发送,其发送个数要远远大于轻量级数据。因此,对发送节点 和接受节点以及相关网络都造成高得多的压力。这个压力主要体现在发送持续时间长、占 用资源多。根据动态集群的特征,要实现长时间大规模重量级数据传输,其协议必须保证 使计算节点运行在相对稳定的高动态环境下。要达到上述目标, 一个计算节点在参与这样 的传输时,首先要形成与多个潜在节点异步并发交互,以弥补任意两个节点之间带宽利用 率低的问题,潜在节点的获得可以通过在系统中设置中心服务器,即所有参与重量级数据 传输的节点都要到中心服务器注册并把状态变化周期性地通知服务器,这个中心服务器的 最大特点是能够主动与系统中计算节点联系,而不是总是处于被动等待计算节点汇报自身 状态的地位。同时与多个节点进行交互来传输重量级数据,也可以降低网络动态性对这个 节点的影响;这是通过复制技术20提高系统性能和容错能力的方法。其次,在这个过 程中,还要求任何节点不断去寻找其他可能候选节点;当候选节点其潜在能力高于当前交 互的某个节点时,应该可以主动把性能差或者贡献少的节点主动替换掉,由于任何一个候 选节点都要和当前节点进行足够长时间的交互,在这个交互过程中当前节点通过对数据传 输量比较就可以评价节点相对能力。再次,对于集群中不同行为节点,要采取不同的策略, 如奖励贡献者、惩罚只作索取的节点以及在节点贡献和索取之间建立正比关系等;要达到 上述目标,每个节点在交互过程中还需要对正在联系的节点进行监测,以准确评估节点在 集群中的行为。最后,系统中维护多贡献节点利益的同时,也要考虑公平性;这是由于不是所有动态集群都能达到重量级数据的传输要求。由于系统中布置了计算资源丰富的中心 服务器,中心服务器以主动的方式保证弱集群得到计算资源上的帮助。需要补充说明的是, 上述原则对于与时序无关重量级数据是有效的;原因是这样的数据可以任意拆分和组合, 能够相对容易地实现异步和并发。
(4) 建立与时序相关重量级数据传输方案。对于与时序相关重量级数据来说,上述 方式就需要做相应修改。与时序相关重量级数据除了具备一般重量级数据的特征以外,还 有一个时序特征,即数据必须以有序并且不低于某一速度的方式传输。这样数据的每个数 据包之间是有顺序的,并且当数据包传输速率过低时,即使传送到目的地,也没有价值。 一些要求数据传输和数据使用同时进行的数据会具有上述特征,如音频和视频数据。这种 数据对集群的稳定性以及集群中每个节点拥有的计算资源都有更高要求。与时序无关重量 级数据传输相比,因为无法将数据任意拆分和组合,主要区别在于异步或者并发的难度增 加。但是,如果没有异步或者并发,集群存在就没有意义,节点之间就不会互相协作共享 计算资源,导致整体性能无法提高。 一般的做法是把这种数据划分成两部分, 一部分是时 序已经迫近的数据(时序紧迫数据), 一部分是时序要求还不够紧迫的数据(非时序紧迫 数据)。对于己经生成的数据来说,前者占整个数据中的比例相对小,后者占整个数据中 的比例要大得多。而对于即时生成的数据,也可以通过缓冲的办法把其分为类似的两部分。 对于时序紧迫数据可以采取纯粹的同步传输方法16,也可以采取异步方式16,二 者都可以辅以贡献型资源的帮助。对于非时序紧迫数据,可以完全按照与时序无关重量级 数据传输方式对待。由于非时序紧迫数据最终会演化成时序紧迫数据,后者的传输会大大 减轻前者的压力。当然,在有限带宽资源的条件下,前者必须有更高的优先级获得计算资 源。
(5) 实现对多种异质数据构成实体的传输。在实际应用中,多种异质数据会组成对
用户有意义的实体。这个实体中的数据共同组合在一起才有意义,而分拆后就失去了或者 偏离原意。更复杂的情况是多个实体按照固定的次序被布置在一起表达出特定意义。这样 就会形成如下格局,即在一个实体内部不同性质的数据要求以各自的特征传输,而在实体 之间也存在时序性。这种情况下的数据传输就需要恰当应用上述三种对不同数据的传输方 法,在保证资源最大化利用的前提下,保证数据之间固有的时序性。这就是流网协议主要
解决的问题。其基本策略首先是各个实体中的轻量级数据优先;原因是这些轻量级数据多 为文本数据,即使全部实体中的轻量级数据量之和与重量级数据相比也极小;同时这些轻 量级数据本身还包括对实体的描述信息,优先传输这种数据有利于接收节点对实体以及他们之间的关系有全面了解,从而更适当地调度资源,完成所有实体数据的传输。其次,在 所有轻量级数据传送完毕后,再对排在第一位实体中与时序相关的重量级数据进行传输; 与此同时,为排列第一的实体中与时序无关的重量级数据提供适当下载几率;如果带宽资 源仍有剩余,可以考虑依次为其余实体中的重量级数据分配下载几率。最后,当第一个实 体中与时序相关的重量级数据传输完毕后,如果其本身与时序无关的重量级数据还没有传 输完毕,则直接传输第二个实体中与时序相关的重量级数据,并只为第一个实体中与时序 无关的重量级数据提供适当下载几率。依此类推,完成所有实体的传输。这个策略可总结 为轻量级数据最优先、与时序相关的重量级数据次之以及与时序无关的重量级数据放在最 后考虑。这与现实应用场景的一般规律相吻合 一个有含义实体中通常包括文本(轻量级 数据)、图片(轻量级数据)、音频(与时序相关的轻量级数据)和视频(与时序相关重 量级数据)等,很少会出现与时序无关的重量级数据。
第三步,建立动态集群中的事件驱动机制。动态集群形成的基础之一就是相互之间交 互是以事件驱动为前提的。无论是一个节点请求建立连接、发起数据传输以及关闭连接等 等基本行为都是通过事件驱动机制来完成的。这与传统互联网以投票为主的方式截然不 同。而当建立起动态集群的基础之后,这个事件驱动机制就形成了基本框架。再结合高效 的轻量级多播机制,就可以形成一个基于消息的事件驱动机制。这个机制能够适应互联网 动态变化的特征,保证事件驱动机制在高效稳定可靠大规模环境下工作。这个机制的实现 提高了互联网计算节点之间的交互效率,避免了投票机制给系统增加的压力以及对系统变 化迟钝反应。事件驱动保证了关注者能够在事件发生前不用付出额外代价进行投票;同时, 在事件发生后,能够即刻作出反应。互联网环境下远程事件驱动机制成为了反映互联网变 化的基础。互联网本质上是一个不断变化的系统,但这种变化在没有远程事件驱动机制的 支持下,是无法即时反映到相关计算节点的。为了降低计算负担,当前互联网主要应用中 甚至拒绝对这些变化予以跟踪。本发明有效地解决了这个问题。
第四步,根据用户行为以及动态集群规模对新闻数据排序。对新闻数据价值评估是当 前互联网新闻服务的难题之一,这个问题在前面已经阐述过了。本发明的新闻服务方法中, 新闻数据在被发布后,将会以事件驱动的方式传送到潜在的计算节点,而不是在互联网服 务器上被动等待。用户在自身控制的计算节点上可以根据自身的喜好对获得的数据进行选 择阅读、忽略、拒绝接收或者删除等行为。这些行为的累计效果就形成了对新闻数据价值 的评估。当新闻数据中包含重量级数据时,新闻数据的发布过程会持续更长时间,这时可 以通过相应动态集群规模的大小来衡量新闻价值。这个价值的衡量由于系统具备即时的事
13件驱动机制,能够以接近实时的速度来完成。当前互联网非即时性使得一致性维护困难, 更进一步导致通过阅读次数来排序缓慢而且误差大。本发明的做法避免了上述问题。
第五步,通过监测动态集群生命周期评估新闻数据的时效性。新闻数据具有强时效性 是无可争议的。但时效性的评估是建立在即时性基础上。本发明的新闻服务方法能够即时 获得最新数据的产生、变更、复制以及删除等动态变化的数据,这为把握新闻的时效性建 立了基础。新闻时效性的把握实际是对新闻生命周期和新闻排序的结合应用。本发明可以 利用计算能力强的服务器监测新闻的状态;这个状态监测实际上是对新闻数据在一段时间 内引发动态集群的统计。当一个新闻在特定时间内不断引发集群,或者集群一直没有衰败, 可以延长监测时间;同时根据集群规模衡量新闻的价值;当一个新闻数据在足够长的时间 内无法引发动态集群时,可以认为该新闻生命周期已经结束。基于可靠的监测机制,新闻 的时效性在长期时段、特定时段以及即时时段都能够得到有效保证。补充说明的是,对于 动态集群的监测是动态集群维护中的主要任务之一;只有这样系统才可以对计算能力弱的 集群予以计算资源上的辅助,并利用计算能力强的集群中富余的计算资源。在这个基础之 上进行对新闻数据动态集群的监测,其工作性质是一样的,并不需要消耗额外资源。
第六步,通过充分利用计算资源确保新闻数据发布系统的强伸縮性。所谓强伸縮性是 形成大规模系统能力的代名词。在动态集群的基础平台上,当计算节点自由加入后将以动 态集群的方式运行,在这样的集群中每个节点都会按照流网协议在获得计算资源的同时贡 献自身计算资源。当然,要获得强伸縮性不仅仅决定于计算资源的总量和相应组织方式, 还决定于具体计算对资源的需求。对于新闻服务来说,新闻数据在传输时所消耗的计算资 源最大,其展示对于当前计算节点来说都可以应付;由于传输新闻数据所需资源总量与潜 在计算节点总的计算资源相比所占比例小,再辅以动态集群这样的有效资源组织方式,实 现无限规模的强伸缩性新闻服务来说就容易做到了。
第七步,建立基于动态集群的交互方法。动态集群除了作为新闻系统的一个良好平台 外,还可以用以进行强伸縮性的交互。在进行基于消息机制的交互时,由于消息本身属于 轻量级数据,在动态集群内完成这样的任务可以达到接近无限大规模。当新闻用户之间需 要进行基于重量级数据交互时,必须对这样的交互做适当调度。这种调度是在当过高比例 用户需要以高并发方式进行基于重量级数据交互时才需要的。这个时候,计算资源即使在 流网协议的支持下也会出现不足。幸运的是,这种情况在实际应用当中并不常见。这是由 于动态集群是运行于社会网络环境中;网络的社会属性导致只有少数节点在系统其主导作 用。在本应用中,意味着少数节点主动发布和交互,大部分节点处于被动接收状态。总之,基于动态集群技术的新闻系统可以提供比当前新闻系统强大得多的交互方式。 参考文献
1Ian Foster, Carl Kesselman; The Grid — Blueprint for a New Computing Infrastructure; Second Edition, Elsevier Inc., ISBN 7-111-16054-1, 2002
Obraczka, K..; Multicast Transport Protocols: a Survey and Taxonomy; Communication Magazine, IEEE, Volume 36, Issue 1, Jan. 1998 Page(s): 94-103Hadzilacos V., Toueg S.; A Modular Approach to Fault-tolerant Broadcasts and Related Problems; Technical report, Dept of Computer Science, University of Toronto, 1994Jean Bacon, John Bates, Richard Hayton, Ken Moody; Using Events to Build Distributed Applications, Services in Distributed and Networked Environments; 1995, Second International Workshop on, 5-6 June 1995 Page(s): 148-155Wiesmann M., et al; Understanding Replication in Databases and Distributed Systems; in Proceedings 20th International Conference on Distributed Computing Systems (ICDCS 2000), Taipei, Republic of China, IEEE
6Mah B.A.; An Empirical Model of HTTP Network Traffic; INFOCOM ,97, Sixteenth Annual Joint Conference of the IEEE Computer and Communications Societies, Proceedings IEEE, Volume 2, 7-11 April 1997 Page(s): 592-600
7Callaghan B.; WebNFS Client Specification; Internet RFC 2054, October 1998Callaghan B.; WebNFS Server Specification; Internet RFC 2055, October 1999Satyanarayanan M.; Distributed File Systems; iiiMullender S., Distributed Systems, an Advanced Course, 2nd Edition, Wokingham: ACM Press/Addison-Wesley, 1989, Page(s): 353-3810Brin S, Page L.; The Anatomy of a Large-Scale Hypertextual Web Search Engine; WWW7, Computer Networks 30(1-7), 1998, Page(s): 107-1111Vinton Cerf; Specification of Internet Transmission Control Program; RFC 675, December 19712Rosenberg J" et al; STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs); RFC 3489, March 20013Ananth Grama, et al; Introduction to Parallel Computing; Second Edition, Benjamin/Cummings Publishing Company Inc, 1994, ISBN: 0-201-64865-14Cohen B.; Incentives Build Robustness in BitTorrent; in Workshop on Economics ofPeer-to-Peer Systems, Berkeley USA, May 20015Newman M E J.; The Structure and Function of Complex Networks; SIAM Review, 2003, 45, Page(s): 167-2516Vlavianos Aggelos, et al; BiToS: Enhancing BitTorrent for Supporting Streaming Applications; INFOCOM 2006, 25th 正EE International Conference on Computer Communications Proceedings, April 2006, Page(s): 1-17Rowstron 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-2518Gribble S.D.; Measuring and Analyzing the Characteristic of Napster and Gnutella Hosts; Multimedia Systems Journal, 9(2), August 2003, page(s): 170-1819Adar E., Huberman B.A.; Free Riding on Gnutella; First Monday, Internet Journal, Oct. 2000, Available at http:〃www.firstmonday.dk/issues/issue5—10/adar/index.html
20Gifford D.K.; Weighted Voting for Replicated Data; in Proceeding 7th Symposium on Operating Systems Principles, ACM, page(s): 150-162 。
1权利要求
1.一种基于动态集群的新闻服务方法,其步骤为1)在计算节点上建立数据接收和请求机制;2)在任何两个节点之间建立直接交互;3)节点寻找与其计算任务潜在可配合节点并建立连接;4)新闻系统根据流网协议建立动态集群;5)根据新闻服务的需要新闻系统对动态集群内的数据进行相应处理。
2. 如权利要求l所述的方法,其特征在于通过TCP/IP编程实现所述在计算节点上建立数 据接收和请求机制。
3. 如权利要求l所述的方法,其特征在于通过NAT穿越技术对NAT穿越,实现所述节 点之间建立直接交互。
4. 如权利要求3所述的方法,其特征在于在所述节点上采用有效线程池技术实现对每个 节点计算资源的最大利用。
5. 如权利要求1所述的方法,其特征在于采用基于社会网络的路由技术实现所述节点寻 找与其计算任务潜在可配合节点并建立连接。
6. 如权利要求1所述的方法,其特征在于所述动态集群为运行状态下,基于共同计算目 的计算节点形成的计算资源共享集合,其特征包括周期性生命、共同目的、自由组 合、高度动态、网状拓扑、高度异质。
7. 如权利要求1所述的方法,其特征在于所述新闻系统根据流网协议建立动态集群的方 法为1) 采用基于社会网络的路由算法寻找计算资源;2) 根据节点间传输的数据特征采用相关协议进行数据传输;所述数据特征包括轻量级 数据、与时序相关的轻量级数据、与时序相关重量级数据、与时序无关的重量级数 据;对于所述轻量级数据采取基于消息的可靠多播算法进行传输;对于所述与时序 相关重量级数据,将数据分为时序已经迫近的数据和时序要求不紧迫到的数据进行 传输,对于所述时序已经迫近的数据采取同步或异步传输方法进行传输。
8. 如权利要求7所述的方法,其特征在于对于所述时序要求不紧迫的数据和与时序无关 的重量级数据采取的方法为1) 计算节点与多个潜在节点异步并发交互;2) 计算节点同时寻找其它潜在节点作为候选节点,当候选节点潜在能力高于当前交互 的某个潜在节点时,主动把性能差或者贡献少的节点主动替换掉;3) 每个节点在交互过程中对正在联系的节点进行监测以评估节点在集群中的行为,奖 励贡献者、惩罚只作索取的节点以及在节点贡献和索取之间建立正比关系;4) 系统中通过布置中心服务器主动与计算节点联系的方法保证公平性。
9.如权利要求7或8所述的方法,其特征在于对于所述数据为多种异质数据时,采取轻 量级数据优先、与时序相关的重量级数据次之以及与时序无关的重量级数据最后的原 则进行传输。
10.如权利要求1所述的方法,其特征在于所述根据新闻服务的需要新闻系统对动态集群 内的数据进行相应处理,其包括1) 新闻价值评估;其方法为根据用户行为以及动态集群规模对新闻数据排序,所述用 户行为包括对请求接收的新闻数据选择阅读、忽略、拒绝接收或者删除;2) 新闻时效评估;其方法为通过监测动态集群生命周期评估新闻数据的时效性,所述 时效性包括长期时段、特定时段以及即时时段;3) 增强系统能力;通过充分利用计算资源确保新闻数据发布系统的强伸縮性,其方法 为动态集群中每个节点按照流网协议在获得计算资源的同时贡献自身计算资源。
全文摘要
本发明公开了一种基于动态集群的新闻服务方法,属于互联网应用开发领域。本发明首先在计算节点上建立数据接收和请求机制,然后在任何两个节点之间建立直接交互,之后节点可以寻找与其计算任务潜在可配合节点并建立连接,然后根据流网协议建立动态集群,根据新闻服务的需要新闻系统对动态集群内的数据进行相应处理。本发明的新闻服务方法,可以及时准确的把握新闻的变化,从而及时有效的提供各种新闻服务,比如对新闻进行有效的排序、提供交互功能等。
文档编号H04L29/08GK101645911SQ20081011782
公开日2010年2月10日 申请日期2008年8月5日 优先权日2008年8月5日
发明者冰 李 申请人:北京大学