灾难数据中心中的爬行新鲜度的制作方法

文档序号:7990431阅读:146来源:国知局
灾难数据中心中的爬行新鲜度的制作方法
【专利摘要】用于服务的存储在次要位置处的内容在被投入运行之前先被爬行以帮助维持最新的搜索索引。在该次要位置处被爬行的内容包括从该服务的主要位置获得的内容。当该次要位置处的爬行器(crawler)尝试访问该主要位置处存储的内容时,该爬行器被定向以访问存储在该次要位置处存储的该内容的相应副本而不是访问该主要位置处的内容。可在不同时间在该次要位置处爬行该内容,诸如在该信息被更新时、根据时间表等等。
【专利说明】灾难数据中心中的爬行新鲜度
[0001]背景
[0002]基于web的应用和在线服务包括位于web服务器上的文件以及存储在数据库中的数据。该服务可使用捜索索引来提高对捜索查询做出响应的速度和性能。当捜索索引老旧时,捜索查询可能不返回目前在该服务中的所有信息。
[0003]概述
[0004]提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的选择的概念。本概述不g在标识出所要求保护的主题的关键特征或必要特征,也不g在用于帮助确定所要求保护的主题的范围。
[0005]存储在服务的次要位置处的内容在被投入运行之前先被爬行(crawl)以帮助维护最新的捜索索引。该次要位置可担当该服务的主要位置的灾难数据中心。当灾难发生吋,次要位置代替主要位置来处置对该服务的请求。在该次要位置处被爬行的内容包括从该服务的主要位置获得的内容。例如,存储在该次要位置处的内容可包括存储在该主要位置处的内容的备份/镜像。当该次要位置处的爬行器(crawler)尝试访问存储在该主要位置处的内容时,该爬行器被定向以访问存储在该次要位置处的该内容的相应副本而不是访问该主要位置处的内容。可在不同时间在该次要位置处爬行该内容,诸如在该信息被更新时、根据时间表等等。当该服务的主要位置处发生灾难而流量被路由到该次要位置时,用户可执行捜索并接收来自在该次要位置处创建的捜索索引的捜索結果。
[0006]附图简述
[0007]图1示出示例性计算环境;
[0008]图2示出用于在在线服务的次要位置处维护捜索索引的系统;
[0009]图3示出用于在服务的次要位置处创建并更新捜索索引的过程;以及
[0010]图4示出在爬行次要位置的内容期间把对主要位置处的内容的请求定向到次要位置。
[0011]详细描述
[0012]现将參考其中相同的标号代表相同的元件的附图来描述各实施例。具体地,图1和相应的讨论g在提供对在其中可实现各实施例的合适计算环境的简要、概括描述。
[0013]一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。也可使用其他计算机系统配置,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机等等。还可使用在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
[0014]现在參考图1,将描述在各个实施例中所利用的计算机100的说明性计算机环境。图1所示的计算机环境包括计算设备,这些计算设备各自可以被配置为移动计算设备(例如,电话、平板计算机、上网本、膝上型计算机)、服务器、台式计算机,或者某一其他类型的计算设备,并且包括中央处理单元5 (“CPU”)、包括随机存取存储器9 (“RAM”)和只读存储器(“ROM”)10的系统存储器7,以及将存储器耦合至中央处理单元(“CPU”)5的系统总线12。
[0015]在R0M10中存储基本输入/输出系统,该系统包含有助于诸如在启动期间在计算机内的各元件之间传输信息的基本例程。计算机100还包括大容量存储设备14,该大容量存储设备14用于存储操作系统16、应用24、web浏览器25以及搜索管理器26,这将在下面予以更详细的描述。
[0016]大容量存储设备14通过连接至总线12的大容量存储控制器(未示出)连接至CPU5。大容量存储设备14及其相关联的计算机可读介质为计算机100提供非易失性存储。虽然本文中包含的对计算机可读介质的描述涉及诸如硬盘或CD-ROM驱动器等大容量存储设备,但是计算机可读介质可以是能够由计算机100访问的任何可用介质。
[0017]作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、可擦除可编程只读存储器(“EPROM”)、电可擦可编程只读存储器(“EEPR0M”)、闪存或其他固态存储器技术、⑶-ROM、数字多功能盘(“DVD”)或其他光存储、磁带盒、磁带、磁盘存储或其他磁性存储设备,或能用于存储所需信息且可以由计算机100访问的任何其他介质。
[0018]计算机100在使用通过诸如因特网之类的网络18与远程计算机的逻辑连接的联网环境中操作。计算机100可以通过 连接至总线12的网络接ロ単元20来连接到网络18。网络连接可以是无线的和/或有线的。网络接ロ単元20也可用于连接到其他类型的网络和远程计算机系统。计算机100还可以包括用于接收和处理来自多个其他设备的输入的输入/输出控制器22,这些设备包括键盘、鼠标或者电子指示笔(未在图1中示出)。类似地,输入/输出控制器22可以为显示屏23、打印机或其他类型的输出设备提供输入/输出。
[0019]如前简述的那样,多个程序模块和数据文件可以被存储在计算机100的大容量存储设备14和RAM9内,包括适于控制计算机的操作的操作系统16,如华盛顿州雷蒙德市的微软公司的WINDOWS 7?、WINDOWS SERVERS成WINDOWS PHONE 7?操作系统。大容量存储设备14和RAM9还可以存储ー个或多个程序模块。具体而言,大容量存储设备14和RAM9可以存储包括一个或多个应用24和web浏览器25的一个或多个应用程序。根据ー实施例,应用24是被配置成与在线服务交互的应用,所述在线服务诸如为不同承租人提供服务的解决方案服务的商业点。也可以使用其他应用。例如,应用24可以是被配置成与数据交互的客户端应用。应用可以被配置成与许多不同类型的数据交互,包括但不限于:文档、电子表格、幻灯片、笔记等。
[0020]网络存储27被配置为存储数据,诸如用于服务(诸如在线服务17)的承租人的承租人数据。网络存储27是ー个或多个计算设备/用户可通过IP网络18来访问的。例如,网络存储27可以为诸如在线服务17等在线服务存储用于ー个或多个承租人的承租人数据。其他网络存储也可以被配置成存储用于承租人的数据。承租人数据也可以从ー个网络存储移至另ー个网络存储。如示出的,在线服务包括主要位置17和次要位置17’。根据ー实施例,次要位置17’是主要在线服务17的镜像,并担当在灾难影响该在线服务的主要位置的可访问性的情况下的灾难数据中心。一般而言,次要位置17’提供由主要在线服务17提供的服务和数据的副本。在正常操作期间,对在线服务的请求被定向至主要位置17。在主要位置起作用期间,主要网络中发生的内容改变和动作被镜像映射在次要位置中。以此方式,主要位置和次要位置保持以相同方式被配置并包括基本相同的内容。在线服务17的主要位置和次要位置17’各维护ー捜索索引,该搜索索引是由与相应服务中的每ー个服务相关联的爬行器爬行的。
[0021]捜索管理器26被配置为维护在线服务的捜索索引。捜索管理器26可以是诸如在线服务17和在线服务17’等的在线服务的一部分,并且搜索管理器26所提供的全部/ 一些功能可以位于应用内部/外部。
[0022]一般而言,捜索管理器26被配置为执行与对在线服务(诸如在线服务17’)的一位置的捜索服务有关的操作。在该次要位置处被爬行的内容包括从该服务的主要位置获得的内容。例如,存储在该次要位置处的内容可包括存储在该主要位置处的内容的备份。当该次要位置处的爬行器尝试访问存储在该主要位置处的内容时(例如,正被爬行的URL指向该主要位置),捜索管理器26定向该爬行器以访问存储在该次要位置处的该内容的相应副本而不是访问该主要位置处的内容。在不把爬行器重新定向到该次要位置处的相应内容的情况下,当该次要位置变成主要位置时,在该次要位置处的相应搜索结果将不会指向正确的URL。可在不同时间在该次要位置处爬行内容。例如,可在该内容被更新时、根据时间表等来爬行该内容。当该服务的主要位置处发生灾难而流量被路由到该次要位置时,用户可执行搜索并接收来自在该次要位置处存储并更新的捜索索引21的捜索結果。下面公开了与捜索管理器相关的更多细节。
[0023]图2示出用于在在线服务的次要位置处维护捜索索引的系统。如示出的,系统200包括DNS250、主要服务210、次要服务220、数据存储230和计算设备240。
[0024]所使用的计算设备可以是被配置成执行与计算设备的使用有关的操作的任何类型的计算设备。例如,这些计算设备中的ー些可以是:移动计算设备(例如,蜂窝电话、平板计算机、智能电话、膝上型计算机等等);ー些可以是台式计算设备,其他计算设备可以被配置为服务器。ー些计算设备可以被安排为提供基于云的在线服务(例如服务210和服务220);—些计算设备可以被安排为提供数据存储服务的数据共享,一些计算设备可以被安排在本地网络中;一些计算设备可以被安排在可通过因特网访问的网络中,等等。
[0025]计算设备通过网络18被耦合。网络18可以是许多不同类型的网络。例如,网络18可以是IP网络、用于蜂窝通信的载波网络等等。一般而言,网络18用于在诸如服务210、服务220、数据存储230和计算设备240之类的计算设备之间传送数据。
[0026]计算设备240包括应用242、Web浏览器244以及用户界面246。如示出的,用户使用计算设备240与诸如服务210之类的在线服务交互。根据ー实施例,服务210和220是多承粗服务。一般而言,多承租是指顾客间的数据(有时包括备份)、使用和管理的隔离。换言之,即使来自每个承租人的数据可以被存储在相同数据存储内的相同数据库中,但来自一个顾客(承租人I)的数据也不可被另ー顾客(承租人2)访问。
[0027]用户界面(UI) 246用于与对于计算设备240可以是本地/非本地的各种应用交互。可以使用一种或多种类型的一个或多个用户界面来与内容进行交互。例如,UI246可以包括上下文菜单、菜单栏内的菜单、选自功能区用户界面的菜单项、图形菜单等等的使用。一般而言,UI246被配置成使得用户可以容易地与应用的功能交互。例如,用户可在UI246内输入搜索查询来请求由一服务(诸如在线服务210 )所维护的内容。[0028]数据存储230被配置存储承租人数据。数据存储可由各个计算设备访问。例如,网络存储可以与支持解决方案服务的在线商业点的在线服务相关联。例如,在线服务可以提供数据服务、文字处理服务、电子表格服务等。
[0029]如示出的,数据存储230包括用于N个不同承租人的承租人数据,承租人数据包括相应的备份数据。数据存储可以存储承租人数据的全部/部分。例如,一些承租人可以使用多于ー个数据存储,而其他承租人与许多其他承租人共享该数据存储。尽管同一个数据存储内示出了承租人的相应的备份数据,但是该备份数据可以被存储在其他位置。例如,可以使用ー个数据存储来存储承租人数据,并且可以使用一个或多个其他数据存储来存储相应的备份数据。数据存储230还可包括有关服务(例如,服务210、服务220)的操作的数据。一个或多个数据存储还可被存储在在线服务的网络中(例如,用于主要服务210的数据存储211和用于次要服务220的数据存储221)。一般而言,当服务210作为该在线服务的主要位置操作时,数据存储221中的数据是数据存储211中的数据的镜像。对与主要服务210相关联的数据(即,有关管理改变的数据和承租人数据)作出的改变被镜像映射到次要服务220。根据ー实施例,完整备份(例如,每周)、増量备份(例如,每小时、每天)以及事务日志在维护对该主要位置作出的改变时被使用。根据ー实施例,对主要服务作出的改变被复制到次要服务,从而使次要服务与主要服务基本保持同步(例如,五分钟内、十分钟内)。定期验证被复制至次要服务的数据以帮助确保该数据已经被正确地复制。可以使用不同的方法来执行该验证(例如,校验和、散列函数,等等)。
[0030]服务210和220包括数据存储211和221,爬行器212和222、搜索管理器26、索引213和223、以及包括web呈现器216和216’的web应用214和214’。服务210被配置为在线服务,该在线服务被配置为提供与显示与来自多个承租人的数据的交互相关的服务。服务210为多个承租人提供共享的基础设施。根据ー个实施例,服务210是微软公司的SHAREPOINT ONLINE服务。不同的承租人可以使用服务210来主控他们的web应用/站点集合。web应用214被配置为用于接收与数据相关的请求并对其作出响应。例如,服务210可以访问存储在数据存储212和/或数据存储230上的承租人的数据。Web应用214可用于向诸如计算设备240之类的计算设备的用户提供界面以便与可通过网络18访问的数据交互。Web应用214可以与用于执行和服务有关的操作的其他服务器通信。计算设备可以发送请求以便同与服务210相关联的文档和/或其他数据交互。
[0031]爬行器212被配置为维护捜索索引213,该搜索索引被服务210的捜索工具使用。一般而言,爬行器212检查存储在服务210(例如,数据存储211和/或数据存储230)中的内容并更新索引213,该索引在对搜索查询做出响应时被使用。次要服务220包括与服务210分开的它自己的爬行器222和捜索工具。爬行器222维护搜索索引223,该搜索索引被与服务220相关联的捜索工具使用以对来自用户的请求做出响应。例如,在影响该服务的主要位置的运行的灾难发生后,在请求被转移到该次要位置后,会使用索引223来对来自用户的搜索查询做出响应。当爬行器222正在索引内容(例如数据存储221中的内容)时,该爬行器可能遇到被链接到该主要服务的一位置的内容。例如,假定rayspizza.sp0.com是该在线服务的承租人。当该承租人直接在他们最喜爱的浏览器中键入“http://rayspizza.sp0.com”吋,因为在因特网上注册的DNS,它们被重定向到该主要站点。然而,如果从该次要位置处的爬行器机器之一导航到同一 URL,则该请求被定向到该次要位置处的该内容的位置。根据ー实施例,该爬行器的请求不会命中因特网DNS,而是相反由本地DNS (例如,DNS205)来截取并重新路由到本地的负载平衡器(未示出),该负载平衡器把该请求指向位于该次要位置处的本地Web前端(WFE)。根据另ー实施例,在该爬行器机器上创建主机(hosts)文件条目以把承租人URL指向存在于该次要位置而不是该主要位置处的机器IP。
[0032]DNS205向正在索引内容的爬行器222提供该内容的地址。当爬行器正在爬行在该次要位置处的内容时,DNS205接收请求并把该请求定向到次要服务220。主要位置处的内容被备份并镜像到次要位置。以此方式,该爬行器可为存储在该次要位置处的内容创建索弓I。该次要服务220处的搜索索引223与该主要位置处的索引213保持基本同歩,即便每个搜索索引均是由每个服务独立地创建并更新的。当灾难发生而请求被重定向到该次要位置时,用户可以执行对索引223的查询,该索引223相对于从主要服务210接收的最后内容而目是更新的。
[0033]响应于在服务处接收请求,web应用214从诸如网络共享230和/或某一其他数据存储之类的位置获得数据。要显示的数据被转换成诸如IS0/IEC29500格式之类的标记语言格式。数据可以由服务210或由ー个或多个其他计算设备来转换。一旦web应用214已经接收到了数据的标记语言表示,服务就利用web呈现器216把经标记语言格式化的文档转换成可以由web浏览器应用(比如计算设备240上的web浏览器244)呈现的数据表示。所呈现的数据看上去与相应桌面应用在被用来查看相同数据时的输出基本上类似。一旦Web呈现器216已经完成了文件的呈现,服务210就将该文件返回到作出请求的计算设备,在那里该文件可由Web浏览器244来呈现。
[0034]Web呈现器216还被配置成将允许诸如计算设备240之类的计算设备的用户与web浏览器244的上下文中的数据交互的ー个或多个脚本呈现在标记语言文件中。web呈现器216用于将可由web浏览器应用244执行的脚本代码呈现到所返回的网页中。这些脚本可以提供例如用于允许用户改变数据段和/或修改与数据相关的值的功能。响应于某些类型的用户输入,这些脚本可以被执行。当脚本被执行时,可以向服务210传送指示已对文档进行操作的响应,以标识出已经进行的交互的类型并向web应用214进ー步标识应当对数据执行的功能。
[0035]根据ー实施例,次要服务220即使在其不在接收请求时也以只读方式保持起作用,从而使临时灾难发生时次要服务马上可用于服务请求且请求被自动地定向至次要服务。
[0036]图3和4示出用于在服务的次要位置处创建并维护捜索索引的示意性过程。在阅读本文中给出的例程的讨论时,应该理解,各个实施例的逻辑操作被实现为:(I) 一系列运行于计算系统上的计算机实现的动作或程序模块;和/或(2)计算系统内的互连的机器逻辑电路或电路模块。这种实现是取决于实现本发明的计算系统的性能需求的选择问题。因此,所例示并构成本文中描述的实施例的逻辑操作被不同地称为操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑,以及其任何组合来实现。
[0037]图3示出用于在服务的次要位置处创建并更新捜索索引的过程。
[0038]在开始框后,过程300移至操作310,在操作310从该主要位置接收内容的备份。根据ー实施例,每周创建并接收来自该主要位置的捜索内容的备份。不爬行在该次要位置处的所获得的内容将导致在主要位置处发生灾难时该搜索索引是一周前旧的了。例如,搜索内容的备份可能是在周六获得的,而接下来的周五可能在该主要位置处发生了灾难,导致在周六和周五之间所添加的内容在该索引内是过时的。
[0039]流向操作320,在该次要位置处还原该备份。还原该备份导致来自该主要位置的内容被存储在该次要位置处。
[0040]移至操作330,在该次要位置处开始爬行。该爬行可以在该备份被还原之后立即并自动开始,或者可以在其他时间开始(例如,根据预定时间表、根据用户动作等)。一般而言,当爬行器请求来自该主要位置的内容时,该请求被定向为获得已被存储在该次要位置处的内容(參见图4和相关讨论)。
[0041]移至操作340,该搜索索引在该次要位置处被创建。根据ー实施例,每个服务(主要服务和次要服务)均包括其自己的捜索服务,其自己的捜索服务维护其自己的捜索索引。
[0042]移至操作350,当从该主要位置接收内容时,该次要位置处的搜索索引被更新。
[0043]随后该过程行进至结束框,并返回以处理其他动作。
[0044]图4示出在爬行次要位置的内容期间把对主要位置处的内容的请求定向到次要位置。
[0045]在开始框后,过程400移至操作410,在操作410接收对位于该主要位置处的内容的请求。因为该主要位置处的内容是与该次要位置同步的,所以在该次要位置处基本存在相同的内容。根据ー实施例,验证该次要位置处的该内容的副本以帮助确保该内容被从该主要位置正确地复制到了该次要位置。
[0046]流向操作420,所接收的请求被定向到该次要位置。根据ー实施例,所接收的请求被DNS自动定向到该次要位置处的该内容的位置,使得爬行器相信它正在访问该主要位置处的内容。根据另ー实施例,可以维护一配置文件,该配置文件把该爬行器机器指向该次要位置,使得爬行器机器不访问因特网DNS而是被重定向到该服务的该主要位置。
[0047]移至操作430,该次要位置处的内容被在该次要位置处索引。
[0048]随后该过程行进至结束框,并返回以处理其他动作。
[0049]以上说明、示例和数据提供了对本发明的组成部分的制造和使用的全面描述。因为可以在不背离本发明的精神和范围的情况下做出本发明的许多实施例,所以本发明落在所附权利要求的范围内。
【权利要求】
1.一种用于在次要位置处创建并维护捜索索引的方法,所述次要位置担当服务的主要位置的灾难数据中心,所述方法包括: 从所述服务的所述主要位置获得内容,所述内容反映对所述主要位置所做的改变; 在所述服务的所述次要位置处存储所述内容;以及 爬行存储在所述服务的所述次要位置处的所述内容,以便在所述服务的所述主要位置处发生灾难以前在所述次要位置处创建捜索索引。
2.如权利要求1所述的方法,其特征在于,爬行存储在所述次要位置处的所述内容包括确定何时从所述主要位置请求内容并且把所述请求定向以从所述次要位置而不是所述主要位置获得所述内容。
3.如权利要求2所述的方法,其特征在于,把所述请求定向到所述次要位置而不是所述主要位置包括以下至少ー项JEDNS (域名系统)条目从主要网络地址更改为所述次要位置的次要网络地址;访问所述次要位置处的文件,所述文件把所述次要位置处的爬行器机器定向到所述次要位置处的一位置;以及在向所述次要位置以外的DNS做出请求之前进行。
4.如权利要求1所述的方法,其特征在于,从所述服务的所述主要位置处获得所述内容包括从所述主要位置获得内容的备份并且验证从所述主要位置获得的内容的完整性。
5.如权利要求1所述的方法,其特征在于,还包括接收自备份的时刻以来在所述主要位置处所做的改变的更新。
6.如权利要求1所述的方法,其特征在于,所述服务的所述次要位置基本上是所述在线服务的所述主要位置的镜像,所述镜像包括所述主要位置的内容的副本并且在所述主要位置处发生灾难之前和之后仍能访问。
7.一种存储用于在次要位置处创建并维护捜索索引的计算机可执行指令的计算机可读存储介质,所述次要位置担当服务的主要位置的灾难数据中心,所述指令包括: 定期从所述服务的所述主要位置获得内容,所述内容反映对所述主要位置所做的改变; 把所述内容存储在所述服务的所述次要位置处,使得所述次要位置处的内容基本上是所述主要位置处的内容的镜像;以及 爬行存储在所述服务的所述次要位置处的所述内容,以便在所述服务的所述主要位置处发生灾难以前在所述次要位置处创建捜索索引;以及 确定何时从所述主要位置请求内容并且把所述请求定向以从所述次要位置而不是所述主要位置获得所述内容。
8.一种用于在次要位置处创建并维护捜索索引的系统,所述次要位置担当服务的主要位置的灾难数据中心,所述系统包括: 被配置成连接至网络的网络连接; 处理器、存储器和计算机可读存储介质; 存储在所述计算机可读存储介质上并在所述处理器上执行的操作环境; 存储与不同承租人相关联的数据的数据存储;以及 捜索管理器,其被配置成执行动作,所述动作包括: 定期从所述服务的所述主要位置获得内容,所述内容反映对所述主要位置所做的改变; 把所述内容存储在所述服务的所述次要位置的所述数据存储中,使得所述次要位置处的内容基本上是所述主要位置处的内容的镜像; 爬行存储在所述服务的所述次要位置处的所述内容,以便在所述服务的所述主要位置处发生灾难以前在所述次要位置处创建捜索索引;以及 确定何时从所述主要位置请求内容并且把所述请求定向以从所述次要位置而不是所述主要位置获得所述内容。
9.如权利要求8所述的系统,其特征在于,把所述请求定向到所述次要位置而不是所述主要位置包括把DNS (域名系统)条目从主要网络地址更改为所述次要位置的次要网络地址。
10.如权利要求8所述的系统,其特征在于,把所述请求定向到所述次要位置而不是所述主要位置包括访问所述次要位置处的一文件,所述文件把所述次要位置处的爬行器机器定向到所述次要位置处的一位置。
【文档编号】H04L12/24GK103597452SQ201280027713
【公开日】2014年2月19日 申请日期:2012年6月2日 优先权日:2011年6月6日
【发明者】S·R·沙哈, A·特鲁帕提, V·塔拉诺弗, D·布拉德 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1