专利名称:一种建立互联网全息搜索服务的方法
技术领域:
本发明属于分布式技术在互联网方向上的应用。其中涉及的细节包括分布式路由 技术、分布式集群技术、互联网基本应用技术和互联网社会网络系统等。
背景技术:
在分布式系统1当中,搜索技术本质上是一种路由技术2。所谓路由技术在分 布式系统当中有着特殊的定义,即在多个计算设备构成的计算环境中,在物理位置不同的 前提下,寻找符合要求的计算资源,从而满足某种计算活动对资源的需求。在大规模非中心 互联网中,对计算资源的定义更加宽泛,即计算资源不局限于计算设备本身所具有的资源, 如CPU、存贮空间、输入输出和带宽等,还包括控制这些资源的智力资源;或者把两者分开, 称为计算资源和智力资源。这样的划分意图在于对于大规模非中心互联网来说,由于其中 主要计算资源都在独立的智力资源控制下,单纯考虑计算资源的有效利用是无法真正达到 系统高性能的目的;同时,即使是所谓大规模系统中,资源也永远是稀缺的。在配置稀缺资 源的过程中,必须结合考虑智力资源对计算资源表现出的态势,否则与此相悖的任何资源 分配方式都不会起作用。搜索技术是多种技术综合使用的结果。一个高质量的搜索技术首先要考虑的是面 临的具体计算环境。这里的计算环境按分布式模型可分为本地搜索、中心式搜索2以及 非中心式搜索2。这个分类体现了参与搜索的计算资源以及被搜索资源之间物理位置上 的差别。计算环境按搜索对象分类可分为文本、图片、音频以及视频。由于当前计算技术的 限制,搜索对象虽然有多种差别,但实际搜索本质上还是基于文本来进行的。另外,从搜索 范围来看,搜索技术又可以分为水平搜索和垂直搜索。所谓水平搜索指的是全领域搜索,即 搜索范围不局限于一个具体领域。与此相对的是垂直搜索,即针对具体领域的搜索;这是由 于搜索技术如果能够和具体领域的知识特征结合,会大大提高搜索效率。按照搜索手段来 进行分类,主要包括关键字搜索和自然语言理解搜索3。当前计算技术的限制,基于关键 字的搜索仍然是主流。还有一种分类是机器理解的方式进行搜索;由于涉及计算机智能等 一些难以解决的问题,这些方式还停留的研究阶段。当前互联网搜索技术主要的特征首先是受限于有限资源的搜索服务。既然当前互 联网基本结构上的弊端导致整个互联网应用在计算资源相对有限的条件下运行,这势必导 致建立在其上的搜索技术也是面对资源缺乏的情况下工作的。计算资源是计算系统提供功 能、性能乃至智能的前提保证;在没有足够资源的保证之下,搜索技术也严重受制于资源瓶 颈。为了解决这个问题,提供搜索服务的提供者除了运用多种复杂分布式技术有效利用有 限资源外,必须采取投入高成本的手段来弥补资源上的不足。但即使如此,在面对海量互联 网数据以及众多搜索用户来说,资源仍然是严重瓶颈。当前互联网搜索技术是非即时搜索。互联网搜索既然定位于为用户提供整个互联 网数据查找服务,那么不得不考虑被搜索数据不断变化的特征。这种变化是天经地义的。当 前互联网搜索服务提供者采取的办法是首先从互联网上的各个网站上获得所有可能数据,并在自己建立的服务器上对获取的数据进行索引和排序。当收到用户基于关键字的请求 后,根据这个关键字在已经建立好的索引库中进行匹配;同时把匹配结果按照事先的排序 顺序返回给用户。在这样的搜索机制当中,为了确保数据为最近更新的,搜索提供者必须保 持周期性获取数据的可能性,即不断地从互联网上取得最新数据。然而,由于互联网规模庞 大,这个获取数据的过程无法保证即时性。为了避免这样的机制对用户造成损失,搜索服务 的提供者只能在搜索服务器的分布式布置上做到规模尽可能大,从而有更多更强大的计算 资源以最小延迟获得最新数据。但这种努力对于更新相对缓慢的数据来说是有效的;对于 更新频繁以及不断涌现的新数据,要保持即时性的难度大。当前互联网搜索技术是智能有限搜索。搜索技术对所谓智能计算4要求高。这样 的要求主要体现在对搜索请求的理解、对搜索用户历史记录的分析、被搜索数据的理解和 整理、搜索请求和被搜索数据中的匹配规则以及搜索结果的排序等方面。这些问题的解决 涉及计算机科学本身的瓶颈,即机器智能问题。试图通过机器算法产生智能可能是不能实 现的。面对这样的困难,一些搜索技术尝试利用智能资源来解决机器不能解决的问题4。 所谓智能资源指的是在计算系统中存在的用户行为和状态。这些信息来自于用户或者说来 自于操纵或使用计算系统的人;任何人都是在智力支配之下工作的,并且这种行为针对不 同的数据或者系统状态时产生的反应是不一样的。通过对人类这些行为和反应的考察,会 对相应的数据或者系统状态有所认识。将这种认识应用于搜索当中,会对搜索当中大量需 要智能帮助的算法产生有益影响。这些原则在当前搜索中得到了利用,如PageRank5等。 但由于当前系统有限资源的限制,对搜集、控制、管理和利用这些智力资源造成了障碍。服 务器疲于响应用户的请求,没有剩余的资源保证对上述智力资源的处理。这从根本上限制 了搜索的智能特征。当前互联网搜索技术是低性价比搜索。严格来说,当前互联网搜索是低性价比搜 索,即当前提供搜索服务的前提是除了恰当的解决方案外,还必须具备足够多的计算资源 以及使用这些计算资源的方式。在从互联网上获取数据过程中,足够多的计算资源是相对 迅速地获得海量互联网数据的保证;在响应搜索请求时,足够多的计算资源是使得用户免 于长时间等待的前提。但即使如此,建立在高投入上的高性能也只是针对轻量级数据来进 行的;一旦数据特征发生变化,其资源紧缺的问题又会凸显。当前互联网搜索技术是轻量级搜索。当前互联网搜索技术的轻量级特征表现在搜 索结果上。一个互联网数据和服务搜索的提供者,首先是一个互联网数据和服务的搜集者。 互联网数据和服务虽然庞大,但具体每一个超链接对应的数据从数据量上却是微小的。其 本质原因是计算资源有限造成的。基于同样结构上的互联网搜索服务器产生的搜索结果也 不能变成大数据量的,即使搜索服务器得到众多的搜索结果也不会把它们组合起来形成一 个更大的数据集。其实,当前搜索服务器甚至不提供真正的数据,而只是指向数据的地址, 即把获取数据的负担转交给该地址指向的原始服务器。这样做的结果是,搜索服务器负担 大大降低。有些搜索服务器会提供缓存服务,从而避免原始服务器无法访问而使用户得不 到搜索结果。而这样的缓存也是仅仅对网址对应的数据为单位来进行的,不会对搜索到的 数据进行任何导致数据量增加的组合。当前互联网搜索技术是小粒度搜索。当前互联网上的数据首先是轻量级为特征。 当多个轻量级数据之间组合在一起时就会产生粒度的概念。粒度指的是数据含义覆盖面的度量单位。当前互联网的小粒度特征和轻量级特征是紧密相关的,只是从不同的角度去认 识同样的问题。当前互联网数据通常按照数据间固有的关系被组合成特定层次结构。当用 户访问这样的数据时,为了减小对服务器的压力,用户只能获得这个层次结构上一个节点 的数据,即一个小粒度数据。基于这样的互联网系统,搜索服务并没有对此做任何改善。作 为搜索服务器,并不对搜索到的小粒度数据之间的固有关系进行任何组合,从而形成粒度 更大的数据,而是维持其小粒度的状态。这样的做法并不利于搜索结果的完整表达。此外, 小粒度搜索甚至会对当前搜索服务带来严重后果。一方面,搜索服务必须不断地复制互联 网数据,这是作为互联网搜索服务提供者必须完成的工作;另一方面,又因为数据规模不断 增加,导致用户只能在高匹配小粒度搜索请求时才能获得满意结果。这意味着当前互联网 搜索服务进入了一个恶性循环必须不断复制数据,而数据量的增加会致使搜索结果过度 膨胀,众多有价值小粒度数据被淹没其中;最终的结果是搜索服务退化成了简单的匹配服 务;用来衡量数据质量的PageRank技术在面对庞大数据源时作用越来越小。当前互联网搜索技术是无状态搜索。无状态也是当前互联网的特征,这同样是为 了保证有限资源提供给更多潜在用户而采取的策略。搜索中的状态保持有利于利用搜索用 户所拥有的智力资源。用户在搜索时可能的状态包括当前搜索的关键字、多次搜索之间有 无联系以及与其他搜索用户之间有无交互等。搜索服务的提供者可以在后续服务过程中利 用这些状态数据,提高搜索服务质量。当前搜索技术没有对搜索者的状态做任何维护,或者 没有在搜索中利用这些状态数据为搜索做贡献。当前互联网搜索技术是机器算法为主导的搜索。搜索是互联网上最需要体现智能 特征的应用领域。但当前互联网搜索技术在智能问题上存在两个不足,即或者追求机器算 法产生智能4或者没有充分利用系统中的智力资源6。前者的问题实际是计算机科学 观念上的误区,而后者则是由于计算资源不能被大多数用户分享而造成的。当前互联网系 统是一种高度集中的分布式计算模型。这种模型的特征之一就是机器主导主要计算资源, 用户或者说人处于辅助位置。机器算法严格限制用户对计算资源的占用,尽量通过调度、减 小数据粒度、无状态等多种手段控制有限计算资源,从而得以应付潜在的用户访问。这种以 机器算法为主导的计算模型来源于计算资源匮乏状态下产生的保守算法。这种算法虽然最 大限度地保护了计算资源不被一个用户过多占用,但其代价也是明显的,即用户行为所代 表的智力资源只能有限地贡献于系统。当前互联网算法从这个意义上体现出重计算资源而 忽视智力资源的思想。当智力资源单纯表现为用户对计算资源的占用时,这种算法是有效 的;当前互联网计算就是基于这样的理念建立起来的。而当智力资源除了占用计算资源,还 扮演着计算资源提供者的角色时,以往以忽视智力资源为特征的算法就不成立了。这种新 思维的算法运用于搜索当中时,机器算法为主导的搜索或者说忽视智力资源的算法就必须 得到改变。当前互联网搜索技术是低覆盖率搜索。对于互联网搜索服务来说,搜索覆盖率指 的是搜索服务器所涵盖的数据和服务占全部互联网数据和服务的比例。这个比例的计算 可以通过搜索服务器所拥有的存贮量与全球互联网服务器上的存贮量相比得出一个粗略 结果。之所以是粗略结果,因为无论是搜索服务器上还是互联网服务器上都存在大量复制 数据,并且互联网数据时刻都在增长。但可以认为这个比例是小的。当然,一般搜索服务 器不会保存完整的互联网数据,而只是索引。但即使这样,这个比例也不会太高。一般估计Google7可以达到10%8。Google正在试图复制整个互联网服务器上的数据,以期 提供更完善的搜索服务。这种做法可以认为是对机器算法的极端迷信所造成的,或者说是 对人类智力资源的极端挑战。从纯粹物理存贮角度看,这个目标也许是可以实现的;姑且 不论这种重复投资是否有必要,如果Google在商业上如此成功,不如让它为全世界提供互 联网服务器。但数据和服务不是单纯的文字、图片、音频和视频,它还包括产生、获取、使用、 改变、创新、复制甚至删除数据和服务的人的状态、思想、灵感和情绪,这些东西是无法复制 的。当这些因素能够成为计算资源多寡的主导时,暂时的资源劣势会由于这些因素的介入 而使得对计算资源盲目迷信而对智力资源忽视的做法遭到惨败。当前互联网搜索技术是无时间搜索。互联网上的数据和服务很多是具备时间特征 的,即数据和服务随着时间的变化会不断改变。其次,即使数据和服务本身不因时间变化, 随着同类新数据和服务的出现,老的数据和服务会逐步过时并被淘汰,但同时会存在一些 数据和服务长期保持高质量而不失去价值。再次,有些数据和服务还具有时段价值性,即在 某一个时段内具有特殊价值,而超过这个时段价值或者下降或者保持甚至提升。最后,互联 网是一个不断变化的系统,数据和服务的产生具有即时性。一个搜索系统能否获得这样的 即时数据和服务并将其呈现给用户也是搜索技术需要考虑的问题。当前搜索系统在数据和 服务时间性的解决方案上是面向长期有价值数据的。由于缺乏即时获得数据的能力,实际 上当前搜索服务在数据排序或者管理时是不考虑时间因素的。而鉴于时间因素的重要性, 对于和时间相关数据一般采取了人为干涉的特殊处理方法,即对主要但有限数量的网站予 以单独监测,以期获得最新的更新数据;并且当这些数据和用户搜索请求出现匹配时,搜索 系统会在排序上赋予优先权。这种方法实际上是对其主要排序和数据管理方法的简单修 正,以弥补系统在时间性上的不足。但总的来说,当前搜索算法不是基于时间的搜索。当前互联网搜索技术是非个性化搜索。个性化搜索也是搜索系统当中难以处理的 问题。由于难于获得用户的真正需求,无法对用户的请求做出不同的处理。这同样是因为 计算资源不足造成的,即无法对用户行为进行跟踪或者即使进行了跟踪也不能在有限的时 间内根据这种跟踪结果做出反应。另外,由于当前搜索系统无状态的特征,也使得对用户需 求的了解变得不足。最后,个性化是一个复杂的概念。它既是用户个体的独特需求,也是相 关用户群共同特征;任何个性如果没有共性,也不存在任何意义,即没有可以满足其需求的 数据和服务存在。基于单独用户状态的分析,计算量大,也没有足够可靠的算法。与其将有 限计算资源用于每个用户的判断,不如通过适当的方法通过共性的把握来满足个性。这既 减小了计算的压力,也能够更准确地确定个性需求。实际上,当前互联网搜索技术还可以称 作无分类搜索,即从互联网上复制到自身系统的数据无法对其进行有效分类。这也是导致 当前互联网没有个性化的又一原因。当前搜索系统正在走向复制整个互联网的两难困境, 在获得大量数据后,由于不能对数据进行有效分类,所有用户只能从一个统一而极度简化 视角(如著名的Google简化界面)观察庞大复杂的数据。超高粒度的搜索视角与小粒度 的数据访问模式事实上造成用户对大量数据是无法获得。如果说原本覆盖率就低的搜索服 务,又因为上述原因使用户只能看到有限数据,其搜索质量之差就可以想见了。事实上,在 使用当前搜索系统的时候,只有搜索请求粒度足够小的关键字才会获得相对满意结果;而 搜索请求粒度过大时,搜索结果质量会严重下降。这意味着当前搜索的个性化决定于搜索 者的搜索请求是否个性化,而不是搜索技术是否提供个性化功能。
7
当前互联网搜索技术是内容单一的搜索。所谓内容单一指的是搜索结果过分同质 化,即数据格式中以文本为主,而相关的图片、音频和视频数据要少很多。这一方面是由于 当前搜索还是基于文本来进行的,针对其他格式数据的搜索算法不成熟;另一方面,当前互 联网轻量级数据为主的特征,也导致除文本外,其他格式数据有限。最后,在把不同格式的 数据进行聚合后,系统也很难承受重量级数据对服务器造成的压力。当前互联网搜索技术是面向数据的搜索。与面向数据的搜索相对应的搜索方式是 面向人或者智力资源的搜索。任何数据和服务都是由人来创造并且提供的。在获得搜索数 据和服务时,如果能同时获得相关人的数据,那么会更符合用户需求。对人的搜索实际上是 对数据和服务的本源做搜索。当前互联网中任何一个数据或服务的提供者都没有专门的计 算设备用以提供数据和服务,一个人可以在多个服务器上进行发布,而一个服务器又可以 承受多个人发布的数据和服务,这样就为在整个互联网上进行人的管理造成困难,很难在 人和数据之间建立简单的对应关系。这为搜索从面向数据向面向人的过渡造成障碍。当前互联网搜索技术是无交互搜索。面向数据的搜索技术带来的一个后果就是搜 索过程中的无交互特征。这里的交互指的是用户之间的交互,而不是用户和搜索服务器之 间的交互。在搜索算法本身还存在缺陷的情况下,如果搜索系统能辅助人的搜索,并且搜索 者和数据原创者之间能建立联系,即互相直接沟通,那么这样的搜索模式会更有效。本节对当前互联网搜索技术作了总结,着重讨论了当前互联网搜索技术的不足之 处。而这些不足之处的原因归纳起来就是计算资源的缺乏导致对智力资源利用有限。基于 这样的认识,在改善上述不足时应该集中解决计算资源有限的问题。这个问题的解决又不 能单纯通过增加计算资源的简单办法来解决,一方面这样的方式投入过大,另一方面这种 简单的方式并不能形成与智力资源的融合。合理的解决方案是在增加计算资源的同时为智 力资源顺畅地进入系统提供方便,从而使搜索服务能够在智力资源所控制的计算资源这个 基础上进行。只有兼具上述两个特点的方法才能够从根本上克服当前搜索技术存在的问 题。图1是当前互联网搜索机制的简单表示。
发明内容
本发明的创作目的在于通过改善互联网应用层基本结构,从而达到增加互联网计 算资源,同时使得智力资源能够有效地根据自身意愿控制这些计算资源,最终在这样的基 础上建立全新的互联网搜索服务。图2表示了全息搜索的运行机制。本发明是通过以下技术手段实现发明目的的第一步,建立低成本搜索服务机制。提供搜索服务,尤其是所谓平行搜索,对计算 资源的要求很高。其原因来自于其潜在的用户访问量大,并且需要覆盖的数据量大。这样 的要求对任何一个搜索提供者来说都需要高投入。本发明提供的搜索解决方案改变了资源 的来源,使得系统资源在无需额外投入的情况下获得更多计算资源来支持搜索,这是形成 低成本搜索服务的主要原因。形成低成本搜索的另外一个原因是对智力资源的有效利用。 机器算法在进行所谓智能模拟的时候需要付出大量计算资源,并且效果不佳。搜索服务对 智能计算的要求高,而如果系统中有足够的智力资源可供利用,那么模拟智力资源的计算 资源就会被节省出来,从而进一步降低搜索服务的成本。第二步,建立即时搜索机制。所谓即时搜索指的是搜索过程中对变化频率高的数
8据即时反应的能力。这里包含两部分问题,分别包括大规模非中心互联网中的数据及服务 资源和现有互联网数据及服务资源。由于两者处于不同的环境当中,处理方式是不同的。对 于前者,由于被访问者在大规模非中心互联网中每个节点都是以主动扩张的方式工作,当 被搜索者的相关数据发生变化或者有新数据或服务出现的时候,变更或者新数据会以主动 扩散的方式传送到集群中所有节点上。即时搜索在大规模非中心互联网中容易完成。对于 传统互联网上的大量数据和服务要做到这点,首先要考虑的是对传统互联网服务器进行改 造,即通过付出计算资源来达到传统互联网服务器在行为上的转化。这个付出的计算资源 主要用于周期性访问传统互联网服务器以获得其新的或者变化的数据及服务。同时,为降 低这部分资源的压力,还可以通过利用大规模非中心互联网中节点的访问能力来降低周期 性访问对资源的需求。通过上述方式,同样也可以达到即时搜索的目的。第三步,建立强智能特征搜索机制。在大规模非中心互联网当中,智能体现在对系 统智力资源的积累和利用上,而不是利用机器算法获得类似于人类的智能。大规模非中心 互联网和传统互联网系统的核心差别其实就在于前者的功能、性能和智能主要决定于系统 当中用户的行为,而后者的功能、性能和智能主要决定于机器算法和计算资源。由于用户行 为决定了计算资源的组合、质量、生命周期等等,对这些状态的监测反过来就会对计算资源 本身在用户智力头脑中的地位做出判断。计算资源在进行这样的监测时表现出来的能力是 人所不具备的。最终,由此产生的智能又会作用于用户,使用户产生系统具备智能特征的认 识。这种相互作用必须是在平等机会的前提下进行,即处于系统中任何用户都有相同的机 会展示其智力资源。基于上述多种认识,全息搜索技术提供了强智能特征的搜索,主要表现 在排序结果的合理性、相关数据和服务的提供以及相关计算资源的搜索上。第四步,建立高性能搜索机制。搜索的性能也是搜索服务重要指标之一。本发明 的搜索技术在保证相对低的计算资源投入前提下,仍然能够保持搜索的高性能。一般搜索 用户在互联网上进行搜索时,可忍受等待时间都会很短。如果不能保证搜索服务的性能,那 么其他特征也不会被用户接受。另外,高性能除了体现在迅速对用户搜索请求做出反应外, 还体现在对重量级数据的处理能力上。传统互联网搜索机制通常不负责对数据的传输,用 户需要通过超链接直接访问数据。当前,一些搜索服务对互联网数据进行缓存,并为用户提 供数据传输服务。但在面临重量级数据时,性能仍然不足。本发明的搜索能够有效处理重 量级数据的传输。第五步,建立面向数据的重量级搜索机制。当前互联网搜索服务不是面向数据的 搜索,或者叫作面向超链接的搜索服务。用户的搜索请求获得的不是实际数据而是超链接, 即间接的结果。这种形式的搜索结果对于轻量级数据来说影响不大;超链接结果类似于对 数据的索引。对于重量级数据来说,用户不得不通过超链接去获得相关数据,而此过程中由 于传统互联网处理重量级数据的能力有限,用户等待时间过长。在全息搜索技术当中,由于 是面向数据,用户的搜索结果直接以最终数据的形式展示给用户;在高性能系统的支持下, 重量级数据也会持续传输给用户。第六步,建立大粒度搜索机制。粒度反映了知识结构当中的一个逻辑节点。大粒 度表示更完整的知识结构。传统互联网搜索服务在搜索粒度上表现出不足,即搜索结果的 粒度小。本发明的搜索提供大粒度搜索以满足用户对完整搜索结果的需求。无论是面对大 规模非中心互联网中的数据和服务,还是面对传统互联网的数据和服务,全息搜索都解决了当前互联网搜索小粒度的问题。第七步,建立有状态搜索机制。在搜索过程中记录用户的状态对提高搜索服务的 智能特征有巨大帮助。当前互联网搜索是继承了传统互联网应用无状态特征,即搜索提供 者不关心当前用户在互联网上所处的状态以及以往的交互记录,只根据用户提供的关键字 在统一的数据范围内进行搜索。这样的结果就是同样的关键字对所有用户的结果都是一样 的。这不符合搜索用户多样化的需求。用户在搜索中一般包括如下状态以往访问和搜索 记录、当前搜索请求、当前所处频道、相关频道、当前与其他用户交互情况以及以往与其他 用户交互记录等等。搜索服务可以根据这些状态对当前搜索请求进行智能搜索服务。根据 以往访问和搜索记录中相关用户,可以为用户提供潜在的相关数据源;对于当前搜索请求 应该持续保存,这样当相关数据及用户发生变化时,能即时和搜索用户沟通;根据用户当前 所处频道,可以将频道中有关数据和服务提供给用户;在全息搜索中,搜索出的数据是和频 道相关的,通常会得到多个频道的数据以及频道本身,这些状态为系统持续提供相关数据 作了保证;由于本发明所处的计算系统交互强,而这种交互也会对用户的搜索起作用,因此 交互状态也被用来辅助搜索。这些状态在搜索中的作用也和传统系统中不同,即不是通过 这些状态来为所谓机器智能系统服务,而是通过这些状态找到更多相关而可利用的智力资 源来服务于搜索和搜索者。为了达到上述目的,系统需要提供强大的状态管理手段以及相 应的计算资源。第八步,建立高覆盖率搜索机制。为了使更多互联网上的数据能够被搜索服务系 统所覆盖,从而为用户提供更完整的搜索结果,提高搜索覆盖率成为搜索系统关键问题之 一。在大规模非中心互联网中,搜索的覆盖率可通过低于传统方式的代价而获得高得多的 数据覆盖率。第九步,建立具备时间特征的搜索。任何数据都会和时间有联系。这种联系可以粗 略地表示为长期时间有效特征、间断时间有效特征以及即时时间有效特征。所谓有效特征 指的是在满足时间条件的前提下,数据才会具备意义或者才能作为搜索结果呈现给用户。 本发明的搜索机制能够根据用户的统一搜索请求,为用户提供不同时间属性的搜索结果, 从而使搜索结果在时间特征上更完备。第十步,建立个性化搜索机制。个性化搜索在本发明的搜索机制当中也得到了充 分体现。在大规模非中心互联网中,个性化可以更广义地定义为全局个性化、群落个性化以 及个体个性化。所谓全局个性化指的是全体搜索者都可能对某一搜索请求具备的搜索需 求。当前搜索服务实际上属于这样的类型。本发明的搜索技术也可以完成这样的任务。所 谓群落个性化是对只在某个局部反应出来的对某一个搜索请求的真实需求。这也反映了搜 索当中的一种普遍要求。但当前互联网搜索服务在计算资源以及对智力资源认识上的不 足,导致没有也难以对搜索人群做任何识别、划分以及处理,无法做到群落个性化。作为全 息搜索技术,在计算资源可靠保证的前提下,通过智力资源主导群落,达到群落个性化搜索 的满足。个体个性化是一种更为极端的个性化。严格来说,任何个人个性化都是和某一群 落甚至和全局个性化相关;只有在极特殊的情况下,才会存在一个绝对的个性化。但在一个 智力资源为主导的系统中,通常会出现少数人的个性在主导大多数人;而多数被影响的个 性又略有差别。全息搜索系统试图通过在丰富计算资源支持下,达到个体个性化搜索的目 的。这个目标对当前搜索服务更是无能为力。
10
第十一步,建立多格式数据搜索机制。对同一事物或意义的表示有多种方式,从文 字、图片到音频视频。对于这种情况,搜索服务应把这些数据组合后以搜索结果的方式回馈 给用户。本发明的搜索机制根据用户发布数据格式的规范以及用户的交互,实现了多格式 的搜索服务。第十二步,建立面向人的搜索机制。全息搜索的主要特征之一就是搜索结果不仅 仅包括数据,还包括数据和服务的创作者以及其他相关人群。全息搜索认为对人的搜索才 是搜索的最终目的在获得产生数据和服务的源头(即人)后,才会有更进一步的个性化交 互直至新数据和新创作者的出现。第十三步,建立交互式搜索机制。在搜索中获得人的前提下,通过大规模非中心互 联网中的交互技术,可以辅助用户在搜索过程中和原始数据的提供者、正在进行相似搜索 的其他搜索者以及跟此搜索数据相关的读者和其他创作者进行基于各种成员规模、各种数 据规模的交互。这种交互应该是用户在搜索中获得有价值数据的有力辅助措施。第十四步,建立全息搜索机制。本发明所涉及的搜索技术之所以称作“全息搜索”, 其意图首先是指搜索数据的完整程度,如本搜索服务提供除了匹配数据之外其他可能的相 关数据,在数据覆盖程度上也要高;其次,全息搜索还表示搜索数据本身性质上也更丰富, 如对搜索结果包含多种格式、具备时间性和即时性,还能把握变化特征等等;再次,全息搜 索还关注搜索者以及其他和搜索相关的人,希望在搜索过程中对相关人进行搜索从而促进 获得最终完善数据;最后,全息搜索的最大特征是对人在搜索中重要价值的推崇,前面三个 特征的实现都是利用对人所代表的智力资源所带来的。本发明的积极效果为本发明提出的全息搜索机制建立在新的理念和技术基础上,完全不同于当前互 联网搜索系统,克服了当前互联网搜索系统中在计算资源、即时性、智能、性价比、数据量、 粒度、状态管理、智力资源、覆盖率、时间性、个性化、表现形式、人以及交互性等多方面的不 足,为建立一个全新的搜索系统提供了有力技术保证。
图1、当前互联网搜索机制;图2、全息搜索的运行机制。
具体实施例方式第一步,利用智力系统服务于互联网应用系统。计算系统的本质在不同的应用当 中差别巨大。如果以智力资源参与的多寡来衡量,那么计算系统可以分为两大类,即智力资 源控制下的计算系统和机器算法控制下的计算系统。这里的智力资源指的是在人类有意识 的情况下,根据自身需求以及当前计算环境的状态做出的智能判断以及依据此判断产生的 相关行为。与智力资源相对应的就是机器算法。通常认为,机器算法无法产生智能并且只 能根据指定的命令在有限状态下完成固定的任务。而“一个计算系统在智力资源控制之下” 指的是计算系统中计算资源的使用、分配、管理以及获得都决定于智力资源的动态变化,而 非事先制定的机器算法。这恰好和以完全依赖机器算法运行的系统产生鲜明对照。这两类 系统的不同之处可以归纳如下。首先,对智力资源的认识不同。在智力资源控制下的计算系统中,智力资源被当作系统资源的重要组成部分。它决定着计算系统除了功能外的重要 指标,即性能和智能。对智力资源的忽视,会导致计算系统提供的功能在计算资源高度投入 的情况下才能保证满足用户需求。在机器算法控制下的计算系统,不对智力资源在系统中 的作用作任何考虑,其潜在的意识当中认为用户和计算系统的交互是对计算资源的消耗, 是机器算法所需要尽量减少的和排斥的;在这样的系统中,只有通过事先的算法设计才可 以充分利用计算资源、减小计算资源过度需求对系统造成的压力。其次,应用环境的不同。 并不是所有的应用环境都适合在智力资源控制下运行。在智力资源控制下的系统要求拥有 足够多的智力资源,并且这些智力资源具有控制计算资源的能力。在一些应用环境中,如果 智力资源过少或者智力资源不能对计算资源的变动产生影响,那么这样的环境就不适合在 智力资源控制下运行。一个成熟的机器算法对这样的系统更适合。但如果一个适合智力 资源控制的系统使用了机器算法主导的方式,那么会导致计算资源的浪费或者不足以及功 能、性能和智能上的损失。最后,对智力资源的利用不同。在机器算法控制的计算系统中, 严格来说计算资源也是在人类智力资源控制之下。算法其实是人类智力资源在计算系统中 的体现。然而,这种算法一旦形成就不再发生变化,计算系统将永远按照事先固定的模式来 运行。在这样的系统中计算资源是通过事先制定的算法来互相沟通进行协作,从而满足基 本功能能够在高性能的环境中完成。智力资源控制下的计算系统事先无法预知某个计算可 能拥有的计算资源。在这样的系统中,计算资源的多寡决定于智力资源或者说用户的判断; 而且这种判断是在系统运行后动态进行的。在设计机器算法控制的计算系统时,设计者有 一个前提认识,即所有系统的计算资源都在即将制定的算法控制之下,计算资源总量不会 在整个运行过程中发生变化;即使有变化,也是在精确定义的环境中按照事先约定的模式 对计算资源进行调整。通常这种调整引起的计算资源变化是微小的,一般都是在静态环境 下人工参与完成的。智力资源控制的系统在设计时除了考虑充分有效利用计算资源外,还 要考虑由于用户和计算系统的交互而引起计算资源的变化。通常这样的变化就是计算资源 的增加和减少。无论什么样的变化,系统设计时的原则不是逆这样的变化而动,而是在尽量 保证公平性的同时顺应这样的变化。“顺应”指的是在智力资源的指导下,辅助系统建立这 样的开放环境。在算法设计中,应该对智力资源引发的计算资源的变动进行监测;当发现这 样的变化时,系统的运行方式必须容纳并且为这种变动提供便利条件。第二步,用智力资源控制互联网应用系统。互联网应用系统是具备众多用户的系 统。随着计算设备技术和通信技术的提高,用户所具有的计算资源越来越丰富,即这些增 加的计算资源完全在用户的控制之下,用户可以决定这些计算资源参与或离开某个具体应 用。对一个成功的互联网应用来说,其规模是没有上限的。这种规模通常是以用户量来衡 量的。这是智力资源控制计算系统的典型。正如前面讨论,一个适合于智力资源主导的应 用环境如果使用机器算法主导计算,将不得不付出更多的计算资源,同时无法保证功能、性 能和智能的高质量。其原因讨论如下。1)对智力资源的忽视会导致计算资源的不合理使用。当以机器算法为主导来应付 互联网应用时,由于这种系统和智力资源控制的系统存在根本区别,致使用户控制的计算 资源不但不会给正在运行的系统带来帮助,反而会遭致来自于用户的资源请求压力。规模 越大,则资源压力也越大。计算资源的压力必然导致应用系统功能、性能和智能的损失。这 是问题的一个方面。另外一个方面是当忽视智力资源时,还可能导致计算资源的浪费。基于机器算法的计算系统是以自身提供计算资源为主导的系统,无论这样的计算资源是否足 够,系统都只能在这样的环境下工作。为了满足潜在的大量用户需求,通常会预先准备大量 计算资源。在大多数时候由于用户访问量不足而机器算法又无法对这样的智力资源表现出 来的状态做出反应,会造成计算资源的浪费。在计算资源浪费或者有富余的前提下,功能、 性能和智能才会有基本保证。但这样的保证是建立在高成本的基础上。2)对智力资源的忽视导致算法设计的复杂。智力资源不单纯是用户的行为,这 种行为还导致计算资源在一个应用中的多寡。如果忽视智力资源及其相关的计算资源,必 然导致机器算法的复杂化。在当前互联网应用中,总得来说以机器算法控制的计算系统拥 有的计算资源是处于相对稀缺的状态这是大量潜在用户访问以及网络能力相对滞后造成 的。即使用户规模在某一时刻相对小,但网络瓶颈在所有时刻都是存在的。在计算资源相 对稀缺的条件下,对智力资源的利用就是迫切甚至是必须的。否则,只能在计算资源有限条 件下强化机器算法,使得计算资源的利用更有效。这会导致算法过于复杂,系统设计的代价 过高。3)对智力资源的忽视最终总是导致简陋的功能、性能和智能。在智力资源丰富的 系统中使用机器算法主导的计算系统,最终必然导致功能、性能和智能在一个简陋的基础 上完成。这指的是即使在系统正常(即计算资源足够)条件下,也只能提供有限的功能、性 能和智能。这些能力和真正完善的功能、性能和智能之间有很大差别。当前互联网系统就 是一个突出例子。这样的系统没有恰当利用智力资源,最终导致诸如内敛、非即时、非流、无 状态、小规模、小粒度、低性能、轻量级、低智能和高成本等诸多问题。第三步,建立智力资源控制下的分布式计算环境即大规模非中心互联网。既然互 联网系统是适合智力资源控制的计算系统,那么如何建立这样的系统呢?在互联网这样一 个特殊的计算环境中实现这个目标,具体步骤如下。1)赋予用户计算设备参与计算的可能性。所谓 与计算指的是对整个计算活动能 够贡献计算资源,而不是只以消耗计算资源的方式出现在计算系统中。根据这个定义,作为 被智力资源所控制的计算设备在当前互联网中实际上是没有参与计算的。造成这个问题的 原因是当前互联网系统是基于完全瘦客户服务器模式下1的中心分布式结构1。完全 瘦客户服务器模式杜绝了客户端参与计算的可能性,即客户端只能发出计算请求而等待服 务器端给予回应。改变这样模式首先就是使完全瘦客户端变成可以分担服务器任务的客户 端;这个改动根据具体应用甚至可以变成分担大部分服务器任务的客户端。这个过程可以 成为由瘦客户端向富客户端的转换。其次,还应该考虑到利用客户端之间协作能力。一个 完全瘦客户端在转变成了富客户端后,如果能够和其他客户端也形成协作的模型,那么可 以使互联网计算设备之间相互参与计算的可能性达到最高。这时候最大的变动应该是使得 一个客户端除了具备发出请求的能力外,还具备接受请求并处理请求的能力。这是在客户 端之间形成协作的前提。当一个客户端具备请求、被请求、处理请求并做出回应的能力后, 就由一个客户端转变成了对等客户端。当然,这样简单的转变赋予计算设备的只是参与计 算的可能性,离完善的对等客户端还有差距。最后,一个更具备普遍意义的做法是把服务器 变成对等服务器。这个变化能够使所有计算资源在计算模式上都具备参与一个计算的可能 性。2)赋予用户计算活动的决定权。当计算设备具备参与计算的可能性后,并不意味着它们在机器算法的控制下就可以达到功能、性能和智能上的最佳状态。究其原因是因 为机器算法不具备真正的智能,不能即时甚至是超时情况下替用户在复杂多样的计算环境 中做出满足用户需求的判断。正因为机器算法的不足,必须把用户的智力资源融入计算当 中。让用户获得这样的决定权并不困难,至少比机器算法产生智能这样的目标要简单得多。 通常可以通过简洁的界面就可以达到这个目的,让用户清晰地了解系统当中正在进行的计 算、相关状态、用户可能的选择以及用户做出选择后可能的结果。当这些信息呈现在界面上 时,用户就可以凭借自身的智力做出其认为适合的选择,或者任凭当前计算继续进行,或者 选择更感兴趣的计算,或者中断所有计算。计算活动选择权为互联网应用当中融入智力资 源并最终获得智能服务建立了前提。3)利用机器算法弥补智力资源的不足。智力资源在具备了对计算的选择权后,并 不意味着机器算法在系统中无能为力。事实上,优秀的机器算法应该和恰当使用智力资源 相结合才能弥补彼此不足而获得最优的计算系统。智力资源虽然在智能判断上具备机器算 法所没有的绝对优势,但由于用户完全是根据自身的喜好做出判断,这并不一定在任何时 候对全局是最有利的,甚至有些决策对用户本身也是有害的;同时,智力资源与机器相比较 也有不足之处,如纯粹数值计算能力差、不具备全局状态的统计能力等等。这时候需要计算 系统通过恰当的方式对用户给予帮助。4)建立智力资源驱动的基本网络拓扑结构。在传统客户端和服务器转变成了对等 客户端和对等服务器之后,实际上也使当前互联网由中心结构转变为智力资源驱动的基本 拓扑结构。这也是实现智力资源有效融入的关键手段。这个拓扑结构完全建立于用户自身 对计算系统的认识上,即用户可以随意通过自己的判断加入互联网当前正在进行的计算, 并且在其控制的计算设备和计算系统的交互过程中,构成新的互联网基本拓扑结构。这个 基本拓扑结构是建立在用户自身判断的基础上,其本身就是凝结了智力资源的网络结构。 这个结构是在整个互联网系统中提供具备高性能高智能新功能的基础。当然,正如前面提 到的一样,用户的自由判断因为自身原因并不是总是正确的。这时候,计算系统可以提供可 能的选择(如强节点、强应用以及主要活动等选项)辅助用户进入系统,使得新的网络拓扑 结构对智力资源的把握更准确。这种拓扑结构本身与中心结构比较似乎没有规律,实际上 的研究发现由于上述方式的采用,最终大量用户控制的计算设备会形成具备独特规律的网 络模型,即社会网络6,又叫作复杂网络9。基于这个网络,计算资源的获取以及协作会 在智力资源的指引下变得更加合理。5)赋予系统适合的路由算法。在分布式系统中,路由算法是系统的核心算法。路 由算法的本质是获取计算资源的方法。在当前互联网系统中,由于计算高度控制在机器算 法之下,其获取资源的方式也是由机器算法来完成的。一般的观念都是把计算资源绝对规 则化从而适合机器算法的快速处理,比如中心注册法1或者规则结构法10。前者适合 以中心结构为主的分布式计算系统。当前互联网就是基于这样的结构来寻找计算资源的。 后者适合非中心结构的大规模分布式计算系统。这个计算环境本质上也是一个社会网络或 者复杂网络系统。但是,这种基于规则结构的路由方式由于没有利用社会网络本身具备的 智力资源,纯粹以机器算法的方式规划互联网资源,最终维护这个虚拟规则拓扑结构的负 担甚至超过了搜索资源中得到的回报。一个适合社会网络特征的路由算法必须同时考虑复 杂网络的特征和建立在这个网络拓扑结构上具体应用的特点。
14
6)赋予系统适合的集群算法。为了建立智力资源为主导的分布式系统,另外一个 需要考虑的问题就是在通过路由算法获得可能的计算资源后把这些资源组织起来的方法。 互联网的网络基础是一个动态变化的系统,而作为这个系统之上由用户控制的计算设备或 者由智力资源直接控制的计算资源也处于变动当中。这主要是源于计算设备所拥有的计算 资源相对有限,尤其是受到网络不稳定的影响特别严重。除此之外,用户在计算过程中的选 择也会影响计算的稳定性。所以在组织这样的计算资源的时候要具备两个先决条件第一, 计算本身要具备用户能够感受到的意义;第二,计算资源的规模要足够大。这两个条件之间 是有联系的。只有用户在计算过程中感受到计算的意义,那么才有可能使得规模扩大;而规 模的扩大又为有意义的计算吸引更多用户控制的计算资源。在这两个先决条件满足后,这 些计算资源要依照互惠原则组织成协同工作集群。当上述两个条件不具备的时候,大规模 非中心互联网会提供最基本的性能保证。这时候的性能会下降严重,除非大规模非中心互 联网提供者拥有足够多的计算资源来防止小规模集群资源匮乏。第四步,重用非智力资源控制下的当前互联网资源。在建立了大规模非中心互联 网后,并不是建立了和当前互联网对立的系统。二者虽然工作机制不同,但新系统可以融合 现有系统。当前互联网中拥有大量用户、数据以及服务资源。采取适当手段把这些资源融 入新的互联网环境中,会为这个新体系带来智力资源和计算资源的有力支持。基本方法是 通过周期性访问现有网站以获取其数据或服务,并在智力资源控制的拓扑结构中多播。通 过利用这些资源,可以逐步推进大规模非中心互联网的发展,最终实现所有的互联网计算 设备都以新的方式来运行,实现更完善的互联网系统。第五步,通过所有计算资源参与保证足够的搜索服务计算资源。全息搜索建立在 大规模非中心互联网上,之所以能够具备“全息”的特征,就是因为有相对充足的计算资源 保证。对于搜索来说,首先是数据资源。由于所有加入大规模非中心互联网系统的计算设 备都具有参与计算的可能性,所以其愿意共享的数据就会成为整个系统的一部分。这样的 数据资源无需通过“爬虫”的办法在互联网上做集中式移动,节省了额外的计算资源并扩大 了数据覆盖范围。其次,CPU资源在这个平台上也可以得到保证。由于采取了高动态集群 技术,搜索的压力实际上不会集中于复杂网络上的少数超级节点;搜索请求通过动态负载 平衡的方法被整个动态集群来响应。再次,存贮资源也是支持搜索的重要计算资源。存贮 资源可以分为持久存贮资源和瞬时存储资源。前者由于系统允许任何设备进入并且参与计 算,众多设备本身的持久存贮资源就成为系统的一部分。这大大丰富了存贮资源的总量。后 者一般用来保存搜索过程中动态变化信息,如计算设备当前状态。这样的存贮资源同样可 以来自于动态集群,其原理也相对简单,即这些用户控制的计算设备在某一时段内形成的 集群具有相似的需求,因而其状态也有相似性。这大大减少了状态保存需要付出的瞬时空 间消耗。需要强调的是,这两种存贮资源在存贮介质上并不作严格限定,即持久存贮设备也 可以用作瞬时状态保存,但反过来是不行的。最后,带宽资源对搜索请求频繁并且提供重量 级的搜索服务来说也是重要的。同样基于高动态集群的使用,传输中对搜索数据源的带宽 压力也转嫁给了集群中的计算设备所拥有的带宽。第六步,在智力资源引导下进行搜索。这个问题的解决包括具体步骤。1)在智力资源请求的控制下分布被搜索数据。与当前互联网主动把互联网数据复 制到自身控制的计算资源不同,在大规模非中心互联网系统中的数据无需这样的复制,因为其中的数据具有自身独特的分布特征9。这种分布特征体现在物理位置、地理位置、备 份个数、机器能力甚至人群背景等方面。互联网上的物理位置是减小网络瓶颈对系统效率 影响的关键因素。在访问互联网数据时,通常受制于网络上的物理位置,被访问数据的备份 也会呈现出物理位置与数据源近的计算设备拥有的数据多;而物理位置与数据源远的计算 设备拥有的数据少。互联网上,计算设备所处的地理位置和计算设备的物理位置有可能重 合,也可能相差很远。一般来说数据都具备区域性,所以数据在不同地理位置上的分布也有 其规律。备份个数在大规模非中心互联网中的差异明显。满足用户需要的数据其备份程度 高;反之,则低。由于用户可以控制计算系统,那么不能满足用户需要的数据即使有备份也 会在用户维护过程中被删去。通常,在大规模非中心互联网中保留的数据都是总体来说被 用户接受的数据,并且备份数与数据受欢迎程度是成正比的。此外,数据分布也会因为机器 能力的差别而表现出差异。对于计算资源丰富的机器来说,其拥有的数据以及数据性质都 会和计算能力差的机器以及数据性质有差别。比如,计算能力强的机器可能会有更多的数 据,而数据中可能包含更多的重量级数据等。最后,不同的人群背景也会对数据分布造成影 响。相同人群背景的计算设备会具有的数据同质程度高,而不同背景人群的计算设备具有 的数据同质化程度低。需要着重指出的是这些特征都可以在大规模非中心互联网所基于的 复杂网络上体现出来,所以依赖于复杂网络进行搜索能够体现出智力资源控制下搜索系统 与当前互联网系统搜索系统明显的不同。然而,这种不同的体现需要机器算法的辅助以及 对用户动态交互的把握,单纯依赖复杂网络还是有限制的。2)在复杂网络上扩散搜索请求,使之在符合智力资源分布规律的系统中被处理。 要在复杂网络上进行搜索,首先要解决的就是搜索请求扩散的问题。与当前互联网搜索机 制不同,搜索请求发送的目标在复杂网络是不确定的如果存在一个中心搜索对等服务器, 那么就可以和当前系统一样发送至这个服务器;如果不存在,则需要在与该节点或设备有 邻居关系的节点中进行寻找和确定。邻居的选择对复杂网络中的搜索效率很重要。在大规 模非中心互联网中,应该根据具体应用的交互特征来确定邻居。邻居可以理解为进入大规 模非中心互联网具体应用的入口。这个入口选择正确,会为用户在整个参与这个应用或计 算带来重要支持。一个邻居的确定是用户智力资源在具体计算或者应用中的积累带来的。 在邻居确定后,才可以对邻居进行选择从而对搜索请求进行扩散进而对其处理。这个选择 过程是按照和邻居以往的交互记录来进行的。通过这个记录可以判定最有可能的数据来 源,然后将请求发给这个或相关的多个邻居节点。这些节点在获得请求后,会在自身控制的 设备上查找,如果找到,则可以返回;如果没有结果则会根据类似的原则把搜索请求发至和 其相邻的节点。从上面的过程可以看出,搜索请求不是盲目在大规模非中心互联网中扩散, 最终这样的扩散是在符合智力资源分布规律的前提下进行的并以很短的速率11接近数 据源。3)在恰当智力资源控制下的计算资源中处理搜索请求。由于大规模非中心互联网 搜索中搜索请求的扩散最终会导致搜索请求以高速率到达数据源,所以搜索请求可以被恰 当的计算资源来处理。这个计算资源可能是单个计算设备,而在更多的情况下是一个高动 态的集群。这个集群由于智力资源的辅助,一般会具备前面所述数据分布的一种或多种特 征。4)根据和智力资源交互作用建立搜索结果的关系。通常如果搜索请求都是以关是在人类需求表达和机器算法特征之间的妥协结 果。人类需求表达异常丰富,如文字、语音、表情以及手势等等。但这些需求的表达只有极少 部分可以被机器处理,当然远远谈不上理解。关键字就是其中一种。由于表达方式以及机 器算法的限制,本来应该是高度智能化的搜索过程退化成了关键字匹配的过程。这样的过 程无法导致正确结果的产生,通常会有众多匹配结果出现;而且仅仅是包含关键字的结果 出现,而与关键字相关但不包含关键字的结果是不会出现的。面对这样的问题,当前搜索系 统不得不对搜索结果进行排序。至少当前互联网搜索服务的排序思路和全息搜索的思想有 相通之处,即都利用人类智力资源来进行,如PageRank技术。但由于当前互联网中可利用 的智力资源有限并且计算资源也受限,所以导致搜索过程中仅有排序考虑了智力资源。在 全息搜索中,可利用的智力资源丰富,并且都凝结在动态变化的复杂网络上,这为搜索中对 搜索结果进行进一步分辨建立了基础。由于,大规模非中心互联网中存在一个特殊的“观 看”功能以及交互强的特征,可以帮助搜索系统在分析出搜索结果间的关系后,仍然可以在 和用户的交互过程中进行即时动态调整。第七步,实现全息搜索的主要特征。前面对全息搜索的技术基础做了讨论。本节 将对全息搜索基本特征的实现方案进行讨论,其相关具体步骤如下。1)利用全体互联网资源降低搜索成本。提供搜索服务,尤其是平行的搜索服务,需 要巨大的成本投入以应付大量数据处理、存贮和访问带来的计算压力。这个投入需求已经 到了复制整个互联网的程度,几乎是除了极少数企业外无人可承受的地步。全息搜索系统 所依赖的基础结构发生了彻底改变,主要计算资源来自于参与计算用户所控制的计算资源 以及对当前互联网系统资源的重用,所以计算资源的投入要小得多。同时,全息搜索的提供 者还可以提供适量计算资源来辅助系统中资源不足的节点。由于互联网计算具有Zipf Law12的特征以及社会属性6,导致大部分计算资源会被投入到少数关键计算当中去。当 这些资源由用户控制的计算资源来提供后,会在用户主导的资源之间构成集群,这个集群 会取代搜索提供者的计算资源,成为主要提供搜索的资源。这样,搜索提供者的资源成为了 搜索服务中的辅助资源搜索服务的成本大大降低。2)通过强伸缩集群实现搜索系统的即时性。当前互联网系统由于必须把处于互 联网服务器上的数据复制到本地,而面对庞大的互联网系统,这个计算量巨大,无法保证即 时获得互联网服务器上的数据变化。为了解决这个问题,当前搜索系统采取监测少数主要 网站的方式来弥补。但这种方式没有从根本上改变当前互联网搜索系统在即时问题上结构 缺陷。在全息搜索技术中,任何一个计算节点都和其余节点之间形成了强伸缩性的集群。 其中一个节点数据的变化,可以在这个集群中得以有效扩散而不至于造成系统压力或者阻 塞。当然达到这个目的的前提是在复杂网络构成的社会环境中任一个时刻创作数据节点是 少数;一个集群作为构建复杂网络的主要模块中也有类似的情况。现实也是如此。否则,当 一个网络系统中所有的或者大量节点都有数据变化并且在整个集群甚至整个复杂网络散 播时,系统的强伸缩性也会遭到破坏。为了在搜索中实现即时性,本质上就是将搜索请求者 和数据源之间形成高动态集群。集群中的任何变化可以在集群中所有节点中得以体现,这 样即时性就保证了。3)利用系统本身所包含的智能资源实现强智能。对于搜索中智能结果的产生,前 面已经讨论很多;可参见“第一步”和“第二步”的论述。其基本原则可以简单归纳为利用
17智力资源,同时结合具体应用,来充分把数据和以往、当前的智力资源结合在一起,从而将 存在的智力资源通过计算系统表现给用户。4)通过利用全部计算资源以及投入有限资源实现搜索高性能。这里提到的高性能 严格来说是高性价比,即全息搜索拥有的新特征,不是以更大量的计算资源投入为前提的。 原因是大规模非中心互联网环境的建立导致所有的计算设备都可以参与相关计算;而这些 计算设备的加入大大减轻了搜索服务提供者的成本。在成本减小的同时,计算资源的反而 会大大增加并且资源的组合也更加合理。这些优点都使得基于这个平台的搜索服务在性能 上的优势更大。当然,在搜索服务中有一个特别的要求,即响应要迅速。即使搜索结果质量 高,但如果在用户发出搜索请求后不能在有限时间内做出回应,也会妨碍搜索系统被接受。 在所有计算设备都参与搜索计算后,也会存在搜索请求必须在系统中散播而导致响应慢的 问题。为解决这个问题,可以在系统适当增加计算资源。通常这计算资源可以按照地理位 置进行布置,保存该地理范围内的所有数据索引,并与该区域内所有计算设备形成搜索服 务集群,以提高搜索响应效率。5)通过集群支持的多播实现面向重量级数据的搜索。在获得搜索结果之后,系统 会在以互惠为原则的多播协议支持下,调动可能的计算资源以流的形式把数据直接传输给 搜索请求者。即使这样的数据中包含重量级数据(如视频等),全息搜索服务也能够处理。6)利用智力资源组织搜索结果形成大粒度。保证搜索的大粒度实际上是保证搜索 结果的逻辑完整性。在搜索过程中,搜索服务可以根据智力资源对搜索结果间的关系(比 如排序)进行确定。这种关系可以是线性的,也可以层次型的。在搜索数据形成关系后,就 会有相应基于搜索结果节点的粒度问题。在全息搜索中,在重量级传输协议的保证下,各个 节点的数据可以按照其关系的先后来进行传输。7)利用搜索请求者控制的设备实现有状态搜索。状态保持实际上对资源的消耗很 大。在这一点上大规模非中心互联网有具有优势。但需要指出的是实现有状态搜索的前提 是在复杂网络中大多数节点状态趋同,而少数节点具备产生原始数据的能力。正是这些少 数节点造成系统中出现各种不同的需求对应下的状态。从整个复杂网络的全局看,各种状 态所占用的资源同整个系统规模相比是很小的。同时,各种状态围绕着少数超级节点而形 成了动态集群,即在一个集群内部状态是趋同的。这样就解决了状态保持对资源的消耗问 题。在一个集群内部存在着数量不等的节点,这些节点共同从超级节点上获取数据或者服 务,并在它们之间彼此协作、承担状态压力和提高性能。8)允许所有设备加入搜索实现高覆盖率。由于在基于大规模非中心互联网的搜索 服务中,任何计算设备都可以成为搜索计算的一员,实际上就最大程度地保证了搜索对数 据的覆盖率。这避免了当前搜索系统中投入设备、复制并且不断更新被复制的互联网数据 造成覆盖率低的问题。可以说,这种高覆盖率的获得是尊重互联网原始思想的结果,即任何 计算设备都应该成为互联网上同等地位的节点,具有参与互联网计算的权利,而不是少数 节点才能参与互联网计算。9)在即时性的支持下实现具备时间特征的搜索。时间特征是与即时性紧密结合 的。如果一个搜索服务系统不能即时获得数据,也不可能对数据的时间特征进行统一的界 定。完全通过数据本身时间的描述是在丧失即时获得数据能力后的补偿措施。但由于不能 对把握被搜索资源的即时状态,导致静态的时间描述实际上和数据在某一时段内的质量评
18估脱离。在当前以超链接复用个数评价数据质量标准的搜索系统中,即使能够获得发布者 对数据的时间描述,但很难获得这个数据对应超链接被复用的时间描述。这样的搜索系统 实际上无法对数据进行时间上的衡量。或者说只有对长期数据具有评估能力。所谓长期数 据指的是已经在互联网上发布了足够长时间,该数据对应的超链接被复用次数足以成为衡 量其质量的标准。时间是体现数据价值的标准之一。当前这种单一时间形式的数据评估不 能满足用户对数据时效上的要求。当用户发出请求后,必须要求搜索服务提供恰好满足需 求的数据。因为在获得互联网数据的过程中,除了超链接复用外,没有有效方法来衡量数据 的价值,导致只能把长期评估(超链接最大复用对应的数据)后的数据最先呈现给用户; 另一方面,通常关键字匹配结果众多,用户没有耐心从大量返回结果中进行分辨,而只会从 排在前面的数据取得可能结果。这导致了不能有效利用和用户的交互来评判数据质量的后 果。这样,超链接复用这种时间不敏感的方式就成了当前搜索技术衡量数据质量的唯一有 效标准。这种情况下,搜索系统保存的数据越多,淹没用户需求的数据可能性就越大。这是 当前互联网不具备即时评估数据能力带来的问题之一。由于全息搜索系统具备即时获取数 据及其变化的能力,同时又具有多种通过利用智力资源评估数据的策略,因此这样的搜索 具备时间性。10)利用基于智力资源非机器算法实现个性化搜索。通过机器算法实现个性化在 互联网搜索领域无论在质量上和效率上都被证明是不成功的。全息搜索技术实现个性化的 方法基本原则还是利用系统中的智力资源。实现个性化的智力资源集中体现在大规模非中 心互联网中多个高动态集群以及每个具体的计算设备上。正是这些在用户智力资源控制之 下的计算资源真实反映了控制其用户的个性。当一个用户发出搜索请求后,实际上与当前 搜索服务不同,其搜索可以在全局展开,也可以在一个集群中展开,最终实际是在一个计算 设备上进行。由于计算设备表现出了控制其用户的个性,从而导致同样的搜索请求在不同 搜索范围内可以获得不同的结果。搜索范围可以由搜索者来指定,也可以根据用户的状态 来判定。由于全息搜索是一种有状态搜索,这为个性化搜索建立了前提。11)基于重量级处理能力和多格式数据组合实现多格式数据搜索。多格式数据搜索 是建立在具备重量级数据处理能力的大规模非中心互联网之上。当一个平台具备处理重量级 数据的能力后,其中的用户就被赋予了发布各种格式数据的自由。通常这些多种格式会被有 效组合来更清晰地表达用户的意图,如文字、图片、音频或视频的组合。当这种组合的数据出 现在系统中时,针对这样数据的搜索也就成立了。本系统中还有一个问题是,对当前互联网资 源进行转化时,由于当前互联网能力的欠缺,这些转化的数据在大规模非中心互联网中仍然 呈现其原始面貌,本系统并不通过机器算法给予这些不同格式的数据进行组合。12)基于社会网络实现面向人的搜索。互联网最终的目的是建立人与人之间的交 流,而不是简单的人与机器或人与数据的交流。全息搜索系统中,通过搜索结果中数据资源 可以直接和相关的智力资源对应。由于一般搜索都是基于高动态集群,所以以这个高动态 集群为基础的人群也可以被查找出来。实际上,还可以对这些相关个人、人群进行基于对系 统贡献量的排序,以提高最终对人的搜索效果。13)利用多播系统实现交互搜索。再强大的计算系统也无法代替人所拥有的智能。 在搜索结果包括人以及人群后,用户可以和这些人、人群以及相关的计算资源进行交互,从 而获得更好的搜索结果,弥补搜索技术的不足。在大规模非中心互联网中,交互的代价被所有参与计算的计算设备所承担,使得搜索中的交互不仅可以基于轻量级数据,也可以基于 重量级数据;不仅可以基于一对一,也可以基于多人。但需要指出的是,当基于一对一或者 参与者少的交互时,由于计算资源有限,需要搜索提供者布置计算资源来辅助。这是大规模 非中心互联网在交互上的弱点。但在辅以额外计算资源后,其效果不会低于当前互联网交 互系统。14)综合前面方法,最终形成全息搜索系统。“全息”可以有两方面的理解,一是搜 索中智能的体现,二是指能够获得多种不同搜索结果。实现这些目标的基本原则就是对智 力资源以及智力资源所控制计算资源的合理利用。综合前面所述各种特征及其实现方法, 就实现了高智能、高性能、低成本、全方位的搜索系统,即全息搜索系统。参考文献1Jean Dollimore, Tim Kindberg, George Coulouris ;Distributed Systems Concepts and Design ;Addison Wesley,4th Edition,2005,ISBN 0321263542 Hari Prasad Thadakamalla ;Decentralized Algorithms for Search and Routing in Large—Scale Networks, PhD Dissertation, Pennsylvania State University, December 2003Semantic Searching ;http://www. powerset. com4Luger,George ;Stubblefield,William ;Artificial Intelligence Structures and Strategies for Complex Problem Solving(5th ed.), The Benjamin/ Cummings Publishing Company, Inc.,ISBN 0-8053-4780-5Sergey Brin,Lawrence Page ;The Anatomy of a Large-Scale Hypertextual Web Search Engine,Proceedings of the Seventh International Conference on World Wide Web 7,Page (s) :107_116Yilei Shao ;Exploring Social Networks in Computer Systems, PhD Dissertation,Princeton University, June 2007Google ;http://www. google, com8Ying Yu ;Measuring and Modeling the Web, PhD Dissertation,Stanford University, July20089Newman M E J. ;The Structure and Function of Complex Networks, SIAM Review,2003,45,Page(s) :167_2510Rowstron A.,Druschel P. ;Pastry :Scalable,Decentralized Object Location and Routing for Large—Scale Peer—to—Peer Systems, in Proceedings of the 200IACM SIGCOMMConference on Applications, Technologies, Architectures, and Protocols for Computer Communication(SIGCOMM* 01), San Diego, CA, August 2001, page (s) 247-211 Hari Prasad Thadakamalla ;Decentralized Algorithms for Search and Routing in Large—Scale Networks, PhD Dissertation, Pennsylvania State University, December 20012George K. Zipf ;Human Behavior and the Principle of Least-Effort, Addison-Wesley,1949
权利要求
一种建立互联网全息搜索服务的方法,其特征在于,所述全息搜索服务方法包括利用智力资源服务于互联网应用系统;用智力资源控制互联网应用系统;建立智力资源控制下的分布式计算环境即大规模非中心互联网;重用非智力资源控制下的当前互联网资源;通过所有计算资源参与保证足够的搜索服务计算资源;在智力资源引导下进行搜索;实现全息搜索的主要特征。
2.如权利要求1所述的一种建立互联网全息搜索服务的方法,其特征在于,所述利用 智力资源服务于互联网应用系统;具体实现步骤如下1)把智力资源当作系统资源的重要组成部分,由其决定计算系统除了功能外的重要指 标,即性能和智能;2)在智力资源丰富的互联网应用系统中充分利用智力资源,以完善互联网功能、性能 和智能;3)把算法运行后用户与系统产生的变化作为考虑因素,来设计恰当方法利用智力资源。
3.如权利要求1所述的一种建立互联网全息搜索服务的方法和如权利要求2所述的在 智力资源丰富的互联网应用系统中充分利用智力资源,其特征在于,所述用智力资源控制 互联网应用系统;具体实现步骤如下1)注重使用智力资源保证计算资源的合理使用;2)利用智力资源简化算法设计。
4.如权利要求1所述的一种建立互联网全息搜索服务的方法,其特征在于,所述建立 智力资源控制下的分布式计算环境即大规模非中心互联网,以此作为全息搜索的计算基 础;其具体实现步骤如下1)赋予用户计算设备参与计算的可能性;使完全瘦客户端变成可以分担服务器任务 的客户端,利用客户端之间协作能力,使之成为对等客户端;并改造普通服务器为对等服务 器;2)赋予用户计算活动的决定权,用户可以凭借自身的智力做出其任何适合的选择;3)利用机器算法弥补智力资源的不足;4)建立智力资源驱动的基本网络拓扑结构;用户可以随意通过自己的判断加入互联 网当前正在进行的计算;并在其控制的计算设备和计算系统的交互过程中,构成新的互联 网基本拓扑结构;5)赋予系统适合的路由算法,帮助系统获取计算资源;6)赋予系统适合的集群算法,在通过路由算法获得可能的计算资源后,把这些资源组 织起来。
5.如权利要求1所述的一种建立互联网全息搜索服务的方法,其特征在于,所述重用 非智力资源控制下的当前互联网资源;其具体实现步骤如下1)通过周期性访问现有网站以获取其数据和服务;2)在智力资源控制的拓扑结构中多播。
6.如权利要求1所述的一种建立互联网全息搜索服务的方法,其特征在于,所述通过 所有计算资源参与保证足够的搜索服务计算资源,从而为全息搜索提供充足的资源保证; 其具体实现步骤如下1)利用用户愿意共享的数据;2)采取高动态集群技术利用CPU资源;3)通过允许任何设备进入并参与计算,利用其存贮资源;4)基于高动态集群,转嫁带宽压力。
7.如权利要求1所述的一种建立互联网全息搜索服务的方法,其特征在于,所述在智 力资源引导下进行搜索;其具体实现步骤如下1)在智力资源请求的控制下分布被搜索数据;利用数据自身独特的分布特征,包括物 理位置、地理位置、备份个数、机器能力和人群背景等方面;使用机器算法辅助,并把握用户 动态交互;2)在复杂网络上扩散搜索请求,使之在符合智力资源分布规律的系统中被处理;根据 具体应用的交互特征来确定邻居;按照和邻居以往的交互记录对邻居进行选择,从而对搜 索请求进行扩散进而对其处理;邻居节点在自身设备上查找;如果找到,则返回;否则,根 据类似原则把搜索请求发至和其相邻的节点;3)在恰当智力资源控制下的计算资源中处理搜索请求;可以在单个计算设备上处理 搜索请求,也可以在高动态集群中处理搜索请求;4)根据和智力资源交互作用建立搜索结果的关系;以关键字为主发出搜索请求;通过 关键字匹配产生结果,并利用智力资源进行排序;通过动态变化的复杂网络对搜索结果进 行进一步分辨。
8.如权利要求1所述的一种建立互联网全息搜索服务的方法,其特征在于,所述实现 全息搜索的主要特征;其具体实现步骤如下1)利用全体互联网资源降低搜索成本;2)通过强伸缩集群实现搜索系统的即时性;3)利用系统本身所包含的智能资源实现强智能;4)通过利用全部计算资源以及投入有限资源实现搜索高性能;5)通过集群支持的多播实现面向重量级数据的搜索;6)利用智力资源组织搜索结果形成大粒度;7)利用搜索请求者控制的设备实现有状态搜索;8)允许所有设备加入搜索实现高覆盖率;9)在即时性的支持下实现具备时间特征的搜索;10)利用基于智力资源非机器算法实现个性化搜索;11)基于重量级处理能力和多格式数据组合实现多格式数据搜索;12)基于社会网络实现面向人的搜索;13)利用多播系统实现交互搜索;14)综合前面的方法,最终实现全息搜索系统。
全文摘要
本发明为一种建立互联网全息搜索服务的方法,属于分布式领域,特别是多种大规模分布式技术在改进互联网上的应用;本发明通过利用智力资源服务于互联网应用系统;用智力资源控制互联网应用系统;建立智力资源控制下的分布式计算环境即大规模非中心互联网;重用非智力资源控制下的当前互联网资源;通过所有计算资源参与保证足够的搜索服务计算资源;在智力资源引导下进行搜索;实现全息搜索的主要特征。基于上述方法,本发明实现了丰富计算资源支持、即时、高智能、高性价比、大数据量、大粒度、有状态、智力资源主导、大覆盖率、具有时间特征、强个性化、多格式、面向人及交互强的全息搜索系统。
文档编号G06F17/30GK101930441SQ20091014860
公开日2010年12月29日 申请日期2009年6月25日 优先权日2009年6月25日
发明者李冰, 郭长锐 申请人:李冰