分布式备份和获取系统的制作方法

文档序号:6592628阅读:167来源:国知局
专利名称:分布式备份和获取系统的制作方法
技术领域
本发明涉及在企业系统上备份数据,更具体地涉及通过多个客户端设备备份服务 器数据。
背景技术
本部分描述的方法是可以执行的方法,但并不必须是之前已经构思或执行的方 法。所以除非另外指示,不应假设在本部分描述的任何方法仅由于其被包含在本部分内而 被限定成现有技术。对消费者引入DVR,已经根本改变了用户观看和记录电视节目的方式。DVR在能够 存储大量电视节目的硬驱动上记录电视节目。DVR的用户可以指示DVR安排要记录的指定 内容,该指定内容在将来某个时间会播出或者传输到DVR上。例如,用户可以指示DVR从一 个指定日期和时间开始并在另一个指定时期和时间结束地记录将在指定频道播出的非指 定内容。又例如,用户可以指示DVR记录指定电影、指定赛事,或多集电视剧的指定片段的 指定放映(在指定频道上,并且开始于指定的日期和时间)。DVR业务的业务提供者可以在中心服务器中存储与特定用户相关的数据,以便提 供特定业务。例如,用户可以通过远程接口(例如通过网站),指示用户的DVR记录指定频 道上的多集电视剧的所有片段。在这种情况下,与用于记录的指示相关的数据被中心服务 器处理,并且随后为特定用户存储到中心服务器中。中心服务器将与记录指示相关的所述 数据发送到用户的DVR,以便DVR记录所要求的内容。利用中心服务器提供业务已经非常普遍,尤其是随着因特网的使用。例如,除了 DVR业务,利用例如蜂窝电话的其它个人或移动设备的业务变得更加普遍。随着这些集中业 务进入日常生活,备份数据以提供这些业务变得更加重要。


通过附图中的实例描述本发明,但并不起限制作用,在附图中,相同的附图标记表 示相同的元件,其中图IA示出了根据本发明的实施例,在其中可以执行分布式备份和获取的示例性 系统;图IB是示出了根据本发明的实施例,数字视频记录器(DVR)组件的总体图;图2是示出了根据本发明的实施例,连接到中心服务器的多客户端设备/DVR的结 构图;图3是示出了根据本发明的实施例,向客户端设备执行数据备份的步骤的流程 图;图4是示出了根据本发明的实施例,向客户设备执行数据获取的步骤的流程图; 和图5是在其上执行本发明的实施例的系统的结构图。
具体实施例方式在下面的描述中,出于解释的目的,设定多个特定细节,为的是提供对本发明彻底 的理解。然而很显然的是,本发明可以在没有这些特定细节情况下被实施。在其它情况下, 以框图的形式示出了公知的结构和设备,以避免不必要地模糊本发明。此处根据下列提纲描述实施例1.0总体概述2.0结构概述3. 0用于DVR业务提供者的分布式备份3.1数据冲突和策略3. 2存储的数据的类型3. 3隐私和加密3. 4 数据获取(retrieval)4. 0企业系统的分布式备份5. 0执行机制6. 0 例子1. 0总体概述本发明实现了前面的背景技术中确定的需求,以及在下面的描述中会变得更加清 楚的其它需求和目标,本发明包括执行分布式备份和获取的方法。为了提供DVR业务的特定特征,业务提供者可以在集中的位置保持(maintain)数 据。正如此处使用的,“保持的”数据可以指代用于提供业务的任何处理的、存储的、获取的 和修改的数据。数据可以源于特定的用户,并且允许业务提供者对特定的用户执行特定的 业务。例如用户可以指示其DVR记录在指定频道上首轮放映的电影,而并不指明所述电影 将要播出的日期或时间。在这种情况下,关于记录的数据被至少一个服务器处理,并且接着 通过业务提供者被一个或多个服务器为所述特定用户保持。在很多业务被提供给几千个用户的情况下,被保持的数据量变得非常大。保持数 据很重要,因为没有数据,DVR业务不能恰当地被提供。因此,具备备份系统是任何数据存 储系统的重要方面,所以在中心数据的灾难性故障或丢失情况下,数据可以被恢复。正如此 处使用的,数据的“毁坏”可以指数据的完全或部分丢失,不允许数据的读取、恢复或修改的 错误,或者任何引起对数据的精确保持产生影响的事件。存储和备份大量数据发生在很多企业系统中,也有DVR业务的提供者。这些大量 的数据可以被存储在数据中心的存储设备的数据库中,存储设备被一个或多个服务器控 制。正如此处使用的,数据中心有大量持有多个不同用户的信息的存储设备。存储设备可 以包括磁盘驱动和磁带驱动。数据中心可以被定位于一个单独的地理区域。在一个备份系统中,每个数据库在备用数据库上被复制。如果数据的中心集合以 任何方式被损坏,数据随后可以从备用数据库中被恢复。该备份系统在很多情形下保护数 据防止丢失。例如,如果因为功率振荡或失效的硬盘引起数据库失效,存储在数据库上的数 据可以从备用数据库中被使用,并且业务可以几乎没有中断地被继续。然而,本地备用系统在数据的中心集合和备用数据库同时毁损的情形下不可以使
5用。例如,如果中心数据和备用数据库所在位置的数据中心遭受严重损坏,例如地震或飓 风,中心数据和备份数据库将被破坏。出于此原因,备用或备份数据库,可以位于地理上与 数据中心不同的区域。不幸的是,在数据中心中存储中心数据并在另一个地理位置完全不同的地点存储 备份数据库会产生高成本,例如在经济上和总工时上。当只有一个数据中心被保持时,土 地、公用事业和备份位置的操作的成本并不冲突。此外,在远程设施存储备份数据库在时间 上更加集中。必须生成程序,以协调两个位置中的活动,从而正确地保持备份。此外,当维 护两个设施时,更难检测到备份中的错误。为中心数据和远程的备份设施维护数据中心还有另外的问题。传输数据可能引起 隐私顾虑,因为敏感的客户数据在传递过程中可能被截获。而且,如果数据被存储在两个位 置,那么一个位置可以足够安全地防止数据侵入,但是另一位置可能容易侵入进攻。随着数据量急剧增加,向数据库存储备份已经成为更昂贵并且时间上更加集中, 并且产生了维护远程备份设施的复杂性。在分布式网络中,正如DVR业务提供者使用的,中 心服务器处理多个客户发来的数据,并且接着可以在数据库中存储该被处理过的数据。在 实施例中,中心服务器可以分布方式存储备份,其中被处理过数据的一部分或者子集备份 到客户端本身上,而不是中心服务器向单个大型备份数据库存储被处理过的数据。在实施例中,用户可以拥有一个或多个客户端并且保持这些客户端在其家中。备 份到用户拥有的一个或多个客户端的被处理过的数据的子集是与用户或用户的特定客户 端设备相关的被处理过的数据的子集。与在单个大型数据库上存储备份相比,执行分布式备份提供了许多优势。将与用 户相关的被处理过的数据备份到其本身的客户端上,更具有成本效益并且更容易保持。避 免了在本地或远程设施保持单独备份的成本。数据备份到客户端会比备份到单个数据库更 加流行。例如,存储到客户端设备的数据可以随着中心服务器上的数据在每天内被多次更 新,但是备份到单个数据库的数据只能每天更新一次。此外,将与用户或用户拥有的客户端 相关的数据备份到用户自己的客户端上消除了隐私问题,因为用户的数据被备份到其拥有 的设备上,而不是存储到带有很多其他用户信息的远程位置。2. 0结构概述图IA示出了根据本发明的实施例,可以执行分布式备份和恢复的实例的系统。所 述系统包括DVR 102A和DVR 102B,二者通过任意通信接口,例如以太网接口或无线通信端 口,通信地耦合到网络105。DVR的功能以美国专利6,233,389中的作为典型,该专利由本 申请人:拥有,并且作为参考合并于此。系统还包括业务提供者104、内容提供者106、个人计 算机108和便携设备110。个人计算机108可以是个人计算设备,例如台式计算机或膝上计算机,并且也通 过任意的通信接口,包括无线,耦合到网络105。便携设备110可以是任意手持计算设备、 蜂窝电话、便携式媒体播放器,或者任意其它的能够显示多媒体内容的便携设备,并且也通 过任意的通信接口,包括无线,耦合到网络105。DVR 102A和DVR 102B,个人计算机108和 便携设备110,均通过网络105与业务提供者104通信。在另一实施例中,DVR 102A和DVR 102B,个人计算机108和便携设备110,均通过网络105与内容提供者110通信。网络105可以通过提供用于在通信系统的设备之间交换数据的任意媒介或机构执行。不限制地,网络105的例子包括网络,例如局域网(LAN)、广域网(WAN)、因特网、一个 或多个陆地、卫星或无线连接等。可替换地或可附加地,连接到网络105的任意数量的设备 还可以通过通信链接被直接相互连接。在一个实施例中,内容提供者106向DVR 102A和DVR 102B通过线缆、卫星、陆地 通信或其它传输方法提供播出的节目内容。播出的节目内容可以包括任意多媒体内容,例 如音频、图像或视频的内容。在另一实施例中,内容提供者106通过网络105,向DVR 102A 和DVR 102B、个人计算机108或便携设备110提供多媒体内容,例如可下载的内容。在一个实施例中,DVR 102A和DVR 102B与业务提供者104通信,业务提供者提供 节目指南数据、图形资源(例如字体、图片等)、业务内容、软件、广告、事件标识数据以及其 它形式的数据。所述数据使得DVR 102A和DVR 102B独立于业务提供者104运行,以满足 用户的兴趣。在另一实施例中,内容提供者106可以向业务提供者104提供内容数据或任意元 数据,包括宣传数据、图标、网络数据和其它信息。业务提供者104接着可以解释元数据,并 且向DVR 102A和DVR 102B、个人计算机108或便携设备110提供内容数据元数据。参考图1B,在实施例中,DVR 102A(DVR 102B包含同样的组件并且执行同样的功 能)总体上包括例如标记为154的信号转换器的多个组件,这些组件有必要数字化模拟电 视信号,并且将其转换为数字数据流,或者接受数字数据流。DVR 102A经过输入152A,从天 线、有线电视系统、卫星接收器等处接收广播信号。输入152A可以包括多个调谐模块,所述 调谐模块允许同时接收和记录多个信号。记录模块160通过在至少一个例如标记为164的存储器的存储设施上存储数字数 据流记录到来的数据流,所述存储器设计为保持数字数据流的片段。存储器164还可以用 于存储与DVR的用户相关的被处理过数据的备份。信号转换器154获取数据流的片段,将 数据流的片段转换为模拟信号,并且接着经过输出152B,将信号调制到RF载波上,由此信 号被传送至标准的电视设备或接收设备。输出152B可以替换地向电视设备或显示监视器 传送数字信号。例如,DVR 102A可以使用高带宽数字内容保护(HDCP)端口,用于经过HDMI 线缆,向电视发送数字信号。DVR 102A还包括通信接口 162,经过该接口,DVR 102A通过以太网、无线网络、调 制解调器或其它通信标准与网络105通信。进一步,DVR 102A可以集成于电视系统,使得 上述组件位于电视设备之内,能够执行DVR102A的每个组件的功能。在另一实施例中,DVR 102A总体上包括多个组件,有必要接收、记录、存储、转移、 显示和重放来自多个来源,例如PC、DVR、业务提供者或内容服务器的数字数据信号。DVR 102A可以将数字数据信号转移至另一 DVR、便携设备或PC。这可以在图IA看出,如果在DVR 102A和DVR 102B之间带有连接,使得两个DVR可以通信。DVR 102A可以通过编码器156A 和解码器156B,将数字信号编码或解码成多种格式,用于重放、显示、存储或转换。DVR 102A 还可以使用加密器/解密器158将数字数据加密或解密,用于存储、转移、显示或重放数字 数据信号。在一个实施例中,DVR 102A与业务提供者103通信,其提供节目指南数据、图形资 源(例如品牌图标和图片)、业务信息、软件程序、广告和其它使得DVR 102A独立于业务提 供者104执行自主记录和显示功能的数据格式。在DVR 102A和业务提供者104之间的通信利用安全的分布体系,在DVR 102A和业务提供者104之间传输数据,使得业务数据和用 户的隐私得到保护。3. 0用于DVR业务提供者的分布式备份在实施例中,用于DVR业务提供者的备份以分布的方式存储在客户端设备中。在 分布式网络中,DVR业务被业务提供者提供。中心服务器处理来自多个客户端设备的数据, 并且接着存储该被处理过的数据,为的是提供DVR业务。正如在此使用的,“中心服务器” 可以指代一个或多个处理数据的服务器。中心服务器可以在主数据库中存储处理过的数 据。正如在此使用的,“主数据库”可以指代一个或多个数据库,中心服务器向其存储、获取 (retrieve)或修改数据。正如在此使用的,“客户端设备”可以指代,但并不限制于DVR、移 动设备或个人计算机。移动设备是任意设备,其可以设计成可携带,并且使用电池供电。移 动设备包括,但并不限制于蜂窝电话、PDA、便携视频播放器、便携音乐播放器、便携媒体播 放器或便携DVR。在实施例中,中心服务器以分布的方式存储中心数据库的备份,被处理数据的子 集备份到客户端设备自身。用户可以拥有一个或多个客户端设备,并且在其家中或办公室 中维护这些客户端。备份到由用户拥有的所述一个或多个客户端的被处理过数据的子集是 与用户或特定客户端设备相关的被处理过的数据的子集。连接到客户端设备的中心服务器和主要数据库在图2中被说明。在图2中,带有 主数据库的中心服务器200通过网络202被连接到多个客户端设备。便携设备204A、DVR 204B和DVR 204C代表同一用户拥有的三个客户端设备。个人计算机206A和DVR 206B代 表两个客户端设备,所述两个客户端设备由相同用户拥有并且通过网络202连接到中心服 务器200。DVR 208是通过网络202连接到中心服务器200的单独的客户端设备。在实施例中,通过确定,对于每一个客户端设备,存储在中心服务器数据库上的数 据的哪个数据子集应该被存储在特定客户端设备中而进行已处理过数据的备份。对所述数 据子集的确定可以基于一些任意因素,包括但不限于,拥有特定客户端设备的用户、特定客 户端设备上的可用编码、或者特定客户端设备上的可用空间。所述数据子集的确定随着实 施的不同而变化。一旦对所述数据子集的确定完成,所述数据子集随后被发送至并且存储 在特定的客户端设备中。可以用于执行备份和随后备份数据的更新的方法是同步。正如在此使用的,“同 步”是指保持位于两个分开位置的数据处于同样的状态。同步可以被中心服务器或任何客 户端设备初始化。例如,处理过的数据可以被存储在主数据库中以及客户端设备中。执行同 步,使得存储在客户端设备中的数据子集与存储在主数据库中的对应数据处于同样状态。可以利用同步,使得在主数据库和备份中的数据状态保持一致。在这种情况下,备 份的目的地是客户端设备自身。在实施例中,备份系统可以利用任何同步协议。同步协议 是所遵循的程序,为的是保证备份数据精确地反映主数据库中的数据。在实施例中,中心服务器和客户端设备之间,每天进行多次更新。当备份至单个大 型数据库时,由于必须存储和传输大量数据,每天只能完成一次备份。在分布式备份的实施 例中,备份以较小的增量存储,并且可以更频繁地执行而无需额外的努力,因为备份是不同 时发生的事件,其与每个客户端基础的信息改变有关。增加的更新导致在客户端系统中作 为备份存储的数据与较少更新的存储数据相比具有更好的完整性,或者有可能更加当前。
8在另一实施例中,无论何时探测到作为用户行动的结果数据发生改变,则更新发生。在这种 情况下,如果用户执行大量的行动,许多更新可以发生,但是如果用户不那么活跃,几乎没 有更新会发生。在另一实施例中,即使当用户执行大量行动时,更新只周期性地发生在客户 端与业务通信的时候。在任何情况下,基于最新的更新,作为备份存储的数据保持为当前的 存储在主数据库中的数据。在实施例中,从客户端设备发送至服务器的请求具有增长的标识数字,其标明存 储在客户端设备上的数据的状态。在另一实施例中,从服务器发送至客户端业务的请求也 具有增长的标识数字,其标明存储在主数据库上的数据的状态。例如,从客户端业务发送至 服务器的请求可以具有标识数字1005。一旦服务器接收到请求,服务器检验与该特定用户 相关的存储的信息。如果服务器包含来自请求1004的信息,则服务器只会请求客户端设备 上的区别于存储在主数据库上的信息的特定信息。因为标识数字是连续的并且是增加的, 标识数字只会增加1的事实将会表明,客户端设备和主数据库上数据的状态不会相差很 多。如果标识数字的差别很大,则数据状态的改变会更明显。如果来自服务器或客户端设备的请求具有比请求的接受者更小的数字,则表明做 出请求的服务器或客户端具有比接受者更早的数据。在这种情况下,没有数据更新可能发 生,或者更新的数据可以由请求的接受者以更当前的数据传输至服务器或客户端设备,为 的是更新较早的数据。如果请求的接受者不能匹配用户的请求,这表明接受者还没有存储 该特定的数据,或者数据特定的子集已经丢失。在这种找不到匹配的情况下,将执行将所有 数据转移至接受者服务器或客户端,以便特定用户做出请求。在实施例中,数据转移可以全部转移或部分转移。在全部转移中,对于特定用户的 所有数据被从客户端设备发送至数据库。这在找不到该特定用户信息的情况下可以发生, 正如服务器失效或灾难性数据丢失的情况一样。还可以有部分转移,其并不发送整体的数 据,但是只发送两个数据源之间的改变。根据本发明的实施例,向客户端设备存储备份的步骤在图3中被说明。在步骤300 中,中心服务器确定存储在主数据库上的数据的子集,以便向特定客户端设备存储数据作 为备份。存储的数据的子集可以是与特定用户相关的子集,该用户拥有客户端设备,或者这 些用户共享设备(例如四口之家具有与设备相关的不同的用户特征)。接着,在步骤302中, 中心服务器向特定客户端设备发送较早确定的数据的子集,用于备份。在步骤304中,服务 器检查存储在备份中的数据的状态。可以通过带有与最近的数据相关的较大数字而不是较 低数字的非递减数字表明所述状态。在步骤308中,服务器向客户端设备发送数据,以更新 备份数据。由服务器发送的数据是基于客户端设备上数据的状态的。如果状态很接近,则 几乎没有数据被更新。如果状态非常不同,则会发送更多的数据,以更新备份数据。3.1数据冲突和策略在数据与服务器和客户端冲突的情况下,策略控制哪些信息被存储在数据库中。 正如此处使用的,“策略”是当多于一组数据要被存储时,指明哪些特定数据将被存储在数 据库中的指令。策略可以是最新的信息,而不管将要存储在备份中的资源。其它策略可以 包括但不限于,从客户端设备发送的信息是最新的信息,以及客户端经常对存储在数据库 中的数据重写。在实施例中,策略由服务器唯一控制。凭借服务器对策略的控制,备份系统的复杂
9度在服务器中被保持。这保护了客户端设备不受执行策略的复杂度的影响。此外,如果策略 总是需要被修改,则仅服务器需要被更新,而不是依赖于服务器的每个单个的客户端设备。 在另一实施例中,客户端设备可以唯一地被策略控制。在又一实施例中,策略被服务器和客 户端设备共同控制,并且在冲突信息情况下,服务器和客户端设备彼此协商,为的是确定哪 个数据将被存储。3. 2存储的数据的类型在实施例中,存储在备份中的数据仅是必须对于服务器能正确运行。由此,只与服 务器的运行相关的数据以及与特定用户相关的数据被作为备份数据存储在客户端设备中。在实施例中,备份可以只包括内容数据的元数据。正如在此使用的,元数据可以指 代,但并不限于制作的记录的列表、记录时间、对电视节目首轮或重复放映片段的指示、下 载或购买内容列表、在客户端设备上播放的游戏的高分、用户的特别偏好、观察到的用户偏 好、季节转换、用户个人信息(信用卡信息、家庭住址、航行地址、其它账户信息等)和特定 记录的等级。该元数据允许业务提供者对用户执行DVR业务。在另一实施例中,备份可以由内容和与内容相关的元数据完成。正如在此使用的, 内容可以包括,但并不限于广播内容、视频、下载的内容、游戏、音乐以及用户体验的任何其 它的客户端设备能够播放或者不能播放的媒体。在实施例中,用户拥有的每个客户端设备被用于存储与用户有关的数据的备份。 这种冗余实践,使得如果一个客户端设备与主数据库同时失效,数据仍然被存储在另一客 户端设备中并且可以从该客户端设备中恢复。并不限制只在DVR客户端设备中存储备份。 备份可以被存储在个人计算机客户端设备或用户拥有的移动客户端设备上。此外,仅元数 据或者内容与元数据的备份可以被备份到其它用户拥有的客户端设备。在实施例中,将要被存储的数据的类型和数量可以取决于客户端设备和服务器之 间传输的数据的形式。客户端设备和服务器之间数据的传输可以通过高速宽带网络或者通 过低比特率方法,例如通过电话线。如果服务器探测到客户端设备和服务器之间的连接是 通过低速电话线,则作为备份存储的数据量可以是最小量。如果客户端设备和服务器之间 的连接是通过高度宽带网络,则更多的数据可以被作为备份存储,并且可以包括更多的数 据类型,例如内容。3. 3隐私和加密因为被备份至特定用户的客户端设备的信息是与该特定用户或共享该客户端设 备的用户相关的数据,对于用户的隐私问题被减轻了。例如,如果有两个客户端设备,一个 由用户A拥有,而另一个由用户B拥有,用户A拥有的信息将备份在用户A的客户端设备上, 而用户B的信息将只备份在用户B的客户端设备上。在实施例中,没有对于与一个客户端 设备相关的一个用户的个人信息存储在另一用户的客户端设备中。在另一实施例中,带有 个人信息的数据被安全加密地存储在另一用户的客户端设备上。在实施例中,存储在客户端设备上的数据可以包括敏感信息,例如包括地址和金 融数据的用户信息。金融数据可以包括,但并不限于用于购买的信用卡信息,账户信息和其 它金融数据。如果敏感数据被备份在客户端设备上,当使用加密时,该信息将被存储和传 输。任何形式的加密可以被使用,并且在信息被认为是非常敏感时,例如社会保险号码,可 以使用更安全形式的加密。在实施例中,只有服务器能够将加密的数据解密。
3. 4数据获取在实施例中,数据被存储在用户拥有的每一个客户端设备中。通过在多个客户端 设备中存储备份,这在灾难性数据丢失的时候保护了数据。例如服务器以及用户的一个DVR 或客户端设备可能失效并且丢失数据。在这种情况下,服务器将能够从用户的另一客户端 设备再恢复数据。备份数据存储并不限于只向用户的DVR存储数据,还可以向用户的任意 客户端设备存储。这可以包括任意客户设备,凭此,用户可以与DVR业务互动。这可以包括, 但并不限于便携DVR、个人计算机和移动设备,例如PDA或蜂窝电话。数据的完整性通过在 多个位置存储数据而得以保证。此外,数据可以从另一客户端设备中恢复,如果多个设备失 效。如果中心数据出现损失,则中心数据通过获取来自多个客户端设备的被损失的任 意数据得以恢复。由此中心数据的小的数据子集可能出现损失或者整体中心数据可能出现 损失,在任一情形下,从客户端设备中恢复数据。在一个实施例中,一旦中心服务器探测到 整体中心数据出现损失,服务器连同与服务器通信的任意客户端设备执行更新。如果对于 特定用户的信息在中心数据中损失,则客户端设备将对于特定用户所有信息传输至主数据 库。这允许所有丢失的中心数据被快速恢复。在另一实施例中,一旦中心服务器探测到中心数据损失,中心服务器等待来自每 个客户端设备的更新请求,为的是获取损坏的数据。这个过程比服务器做出更新请求需要 更长时间,但是可以减轻中心服务器的负担,因为中心服务器可以只处理有限数量的连接。 这种实施例的优势是,中心服务器只负责服务器需要的数据,因为当每个客户端设备联系 服务器时,服务器处理该特定客户端设备的需求。在又一实施例中,一旦中心服务器探测到中心数据的损失,中心服务器对于特定 数量的客户端设备执行更新请求,直到所有客户端设备已经被联系。选择哪组客户端设备 首先更新可以改变。这可以包括通过地理区域或者通过记录来选择,表明如果信息可用,哪 些客户端设备已经最为活跃。限制服务器与客户端设备的连接数,保证了更新和连接被正 确处理。在实施例中,如果存储在客户端设备上的数据出现损失,则通过从另一客户端设 备获取对应于损失数据的数据而恢复之前存储在客户端设备上的数据。这在用户拥有多于 一个客户端设备的情况下可以发生。如果用户拥有多于一个客户端设备,被处理过的数据 的备份被存储在每一个客户端设备上。一旦客户端设备探测到数据已经损失,客户端设备 可以向另一个也存储数据备份的客户端设备发送请求。该请求被限制为同一用户拥有的设 备,因为存储的备份被限制为与特定用户相关的数据的子集。在实施例中,服务器向客户端 发出共享认证。共享认证告知每个客户端设备其被授权与哪些其它客户端设备共享数据。图4示出了根据本发明的实施例,当客户端在线出现时,用于数据恢复的步骤。在 步骤400中,由于主数据库的失效,数据在主数据库中损失。在步骤402中,客户端设备之 一在探测到损失数据之后,产生更新请求。中心服务器接受请求并且对存储在主数据库和 客户端设备上的数据的状态做比较。在这种如步骤404所示的特定情况下,因为损失,在主 数据库没有找到与用户相关的数据。在步骤406中,对于特定的客户端设备,数据通过客户 端设备向主数据库发送所有的备份数据而进行恢复。基于对于作为客户端设备的每个特定 用户的一个或多个客户端设备探测到数据损失,通过中心服务器进行更新请求,重复这些
11数据恢复步骤。4. 0企业系统的分布式备份分布式备份可以用于任何企业网络系统,而且并不限于用于DVR业务提供者的系 统。具有多客户端的中心服务器的企业系统可以执行该备份系统。企业系统表现出同样的 困难,因为大量数据必须用能够胜任的备份系统存储。去除对单个大型数据库备份的需要, 可以节约很多成本。在网络上的包括具有多客户端的中心服务器的任意类型的系统可以使用分布式 备份。例如,在蜂窝电话网络或个人计算机网络中,其中用户定制了集中式业务,中心数据 的备份很关键。分布式备份的技术和方法可以应用到使用中心服务器的任何企业系统或系统中。 中心服务器和数据库存储的数据的子集,作为备份存储在企业系统的客户端中。任何类型 的数据都可以由此方法备份,包括但不限于,共同记录、消费者数据或人力资源信息。为了 保证数据作为备份存储是当前的,经常执行更新。如果考虑到数据是敏感的,数据和数据的 传输出于隐私而被加密。基于在主数据库上探测的数据损失,数据可以从客户端中恢复。此 外,基于在客户端设备之一上探测到数据损失,通过来自主数据库的数据将新的备份存储 在修复的客户端中。5. 0执行机构图5是说明了计算机系统500的结构图,本发明的实施例可以基于该计算机系统 被执行。计算机系统500包括总线502或其它通信机构,用于传输信息,还包括耦合到总线 502上的处理器504,用于处理信息。计算机系统500还包括主存储器506,例如随机存取存 储器(RAM)或其它耦合到总线502的动态存储设备,用于存储信息和将被处理器504执行 的指令。在执行处理器即将执行的指令过程中,主存储器506还可以用于存储临时变量或 其它中间信息。计算机系统进一步包括只读存储器(ROM) 508或其它耦合到总线502的用 于存储用于处理器504的静态信息和指令的静态存储设备。设有存储设备510,例如磁盘或 光盘,并且所述存储设备耦合到总线502,用于存储信息和指令。计算机系统500可以通过总线502耦合到显示器512,例如阴极射线管(CRT),用 于向计算机用户显示信息。输入设备514,包括字母数字和其它键,被耦合到总线502,用于 与处理器504传送信息和命令选择。另一种用户输入设备是光标控制516,例如鼠标、跟踪 球或光标方向键,用于与处理器504传送信息和命令选择,以及控制光标在显示器512上的 移动。这种输入设备典型地在两个轴,第一轴(例如χ)和第二轴(例如y)上具有两个自 由度,允许设备在平面内明确位置。本发明涉及计算机系统500的使用,计算机系统用于执行此处描述技术。根据本 发明的一个实施例,响应于处理器504执行主存储器506包含的一个或多个指令中的一个 或多个序列,那些技术被计算机系统500执行。这些指令可以从另一计算机可读媒介,例如 存储设备510,被读入主存储器506。主存储器506包含的指令序列的执行,使得处理器504 执行此处描述的处理步骤。在可替换实施例中,硬件电路可以被使用,代替或联合软件指令 以执行本发明。由此,本发明的实施例并不限于硬件电路和软件的任何具体组合。这里使用的术语“计算机可读媒介”指代参与提供数据的任意媒介,所述数据引起 机器以具体形式操作。在使用计算机系统500执行的实施例中,多种可用计算机处理的媒
12体被引入,例如向处理器504提供指令以执行。这样的媒介可以有许多形式,包括但不限于 存储媒体和传输媒体。存储媒体包括永久性媒体和非永久性媒体。永久性媒体包括,例如 光盘或磁盘,例如存储设备510。非永久性媒体包括动态存储器,例如主存储器506。传输 媒体包括同轴电缆、铜线和光纤,包括包含总线502的线。传输媒体还可以采取声波或光波 形式,例如那些在声波和红外数据通信中生成的声波或光波。所有这些媒体必须是有形的, 使得媒体承载的指令可以被将指令读入机器的物理机构探测。常见的计算机可读媒介包括,例如塑料磁盘、软盘、硬盘、磁带或任意其它磁媒介、 CD-ROM、任意其它光媒介、穿孔卡片、纸带、任意其它带有孔的形式的物理媒介、RAM、PROM、 EPR0M、闪存EPR0M、任意其它存储芯片或磁带、如下文描述的载波、或者计算机可以读取的 任意其它媒介。计算机可读媒介的多种形式可以被用于承载处理器504执行的一个或多个指令 中的一个或多个序列。例如,指令最初可以被装载于远程计算机的磁盘上。远程计算机可以 向其动态存储器加载指令,并且使用调制解调器通过电话线发送指令。计算机系统500的 本地调制解调器可以在电话线上接收数据,并且使用红外发射器将数据转换为红外信号。 红外探测器可以接收红外信号承载的数据,并且适当的电路可以将数据放在总线502上。 总线502将数据载至主存储器506,处理器504从此获取并且执行指令。在处理器504执行 之前或之后,主存储器506接收的指令可选择地被存储在存储设备510上。计算机系统500还包括耦合到总线502的通信接口 518。通信接口 518提供耦合 到网络连接520的双向数据通信,网络连接被连接到本地网络522。例如,通信接口 518可 以是综合业务数字网(ISDN)卡或调制解调器,以向对应的电话线类型提供数据通信连接。 作为另一例子,通信接口 518可以是局域网(LAN)卡,以向兼容的LAN提供数据通信连接。 无线连接也可以被执行。在这样的任意执行中,通信接口 518发送并且接收电、电磁或光信 号,其承载代表多种类型信息的数字数据流。网络连接520典型地通过一个或多个网络,向其它数据设备提供数据通信。例如, 网络连接520可以通过本地网络522,向主机524或因特网业务提供者(ISP)操作的数据设 备提供连接。ISP526通过环球包数据通信网(现在普遍指因特网)528依次提供数据通信 业务。本地网522和因特网528都使用承载数字数据流的电、电磁或光信号。向计算机系 统500或从计算机系统500承载数字数据的,经过不同网络的信号,以及网络连接520上和 经过通信接口 518的信号,是传输信息的载波的典型形式。计算机系统500可以通过网络、网络连接520和通信接口 518发送消息和接收数 据,包括程序代码。在因特网的例子中,服务器530可以经过因特网528、ISP526、本地网络 522和通信接口 518,传输用于应用程序的请求代码。接收的代码可以在其被接收时由处理器504执行,并且/或者存储在存储设备 510,或其它永久性存储中用于之后执行。在这种方式中,计算机系统500可以获得载波形 式的应用代码。在前述说明书中,本发明的实施例已经参照多个随实施而变化的具体细节得以描 述。因此,本发明的唯一并排他的以及本发明申请人所期望的指示标为本申请公开的权利 要求,所述权利要求为该权利要求公布的特定形式,包括任何后续的修正。对于包含在该权 利要求中的术语的在此清楚设定的任何定义将限制当该术语用于所述权利要求时的该术语的意义。因此,无限制地,元件、特性、特征、优点或在权利要求中清楚描述的属性将以任 意方式限制该权利要求的范围。因此,说明书和附图被视为是说明性的而不起限制作用。6. 0 例子在实施例中,方法包括或载有指令的一个或多个序列的计算机可读媒介,当被一 个或多个处理器执行时,该指令使得一个或多个处理器执行下列步骤通过业务保持一组 数据,包括一个或多个向多个客户端设备提供业务的服务器;其中该组数据包括多个数据 子集;在多个客户端设备中存储数据组的子集;其中在多个客户端设备中存储数据组的子 集的步骤包括,对于多个客户端设备的每个特定客户端数据,确定应该存储在特定客户端 设备中的数据子集,并且向特定客户端设备发送数据子集,用于存储在特定客户端设备中; 探测数据组的毁损;并且响应于探测数据组的毁损,从存储在多个客户端设备中的数据子 集恢复数据组。在实施例中,方法或计算机可读媒介进一步包括,其中保持数据组进一步包括接 收指示存储在特定客户端设备上的数据子集的状态;并且基于指示,发送数据用于存储在 特定客户端设备上。在实施例中,方法或计算机可读媒介进一步包括,其中至少一个客户端设备是 DVR、移动设备或个人计算机。在实施例中,方法或计算机可读媒介进一步包括,其中数据的至少一个子集以加 密状态被存储在多个客户端设备中。在实施例中,方法或计算机可读媒介进一步包括,其中数据使用加密传输被发送。在实施例中,方法或计算机可读媒介进一步包括,其中存储在特定设备上的数据 的子集与控制该特定设备的用户相关。在实施例中,系统包括多个客户端设备;并且业务包括一个或多个服务器;业务 保持向多个客户端设备提供业务的数据组;其中数据组包括多个数据子集;在多个客户端 设备中存储数据组的子集;其中在多个客户端设备中存储数据组的子集的步骤包括,对于 多个客户端设备的每个特定客户数据,确定应该存储在特定客户端设备中的数据子集,并 且向特定客户端设备发送数据子集,用于存储在特定客户端设备中;探测数据组的毁损; 并且响应于探测数据组的毁损,从存储在多个客户设备中的数据子集恢复数据组。在实施例中,系统进一步包括接收指示存储在特定客户端设备上的数据子集的状 态;并且基于指示,发送数据用于存储在特定客户端设备上。在实施例中,系统进一步包括,其中至少一个客户端设备是DVR、移动设备或个人 计算机。在实施例中,系统进一步包括,其中数据的至少一个子集以加密状态被存储在多 个客户端设备中。在实施例中,系统进一步包括,其中数据使用加密传输被发送。在实施例中,系统进一步包括,其中存储在特定设备上的数据的子集与控制该特 定设备的用户相关。
权利要求
一种方法,包括通过业务保持一组数据,包括一个或多个向多个客户端设备提供业务的服务器;其中该组数据包括多个数据子集;在多个客户端设备中存储所述数据组的子集;其特征在于在多个客户端设备中存储所述数据组的子集的步骤包括,对于多个客户端设备的每个特定客户数据,确定应该存储在特定客户端设备中的数据子集,并且向特定客户端设备发送数据子集,用于存储在特定客户端设备中;探测数据组中的毁损;并且响应于探测数据组中的毁损,从存储在多个客户端设备中的所述数据子集恢复所述数据组。
2.根据权利要求1所述的方法,其特征在于,保持所述数据组进一步包括接收指示存 储在特定客户端设备上的数据子集的状态;并且基于所述指示,发送数据用于存储在特定客户端设备上。
3.根据权利要求1所述的方法,其特征在于,至少一个客户端设备是DVR、移动设备或 个人计算机。
4.根据权利要求1所述的方法,其特征在于,数据的至少一个子集以加密状态被存储 在多个客户端设备中。
5.根据权利要求1所述的方法,其特征在于使用加密传输发送数据。
6.根据权利要求1所述的方法,其特征在于存储在特定设备上的数据的子集与控制 所述特定设备的用户相关。
7.一种载有指令的一个或多个序列的计算机可读存储媒介,当所述指令被一个或多个 处理器执行时,引起一个或多个处理器执行下列步骤通过业务保持一组数据,包括一个或多个向多个客户端设备提供业务的服务器;其中所述数据组包括多个数据子集;在多个客户端设备中存储所述数据组的子集;其特征在于,在多个客户端设备中存储所述数据组的子集的步骤包括,对于多个客户 端设备的每个特定客户数据,确定应该存储在特定客户端设备中的数据子集,并且向特定 客户端设备发送所述数据子集,用于存储在特定客户端设备中;探测所述数据组中的毁损;并且响应于探测数据组中的毁损,从存储在多个客户端设备中的所述数据子集恢复数据组。
8.根据权利要求7所述的计算机可读存储媒介,其特征在于,保持所述数据组进一步 包括接收指示存储在特定客户端设备上的所述数据子集的状态;并且基于所述指示,发送数据用于存储在特定客户端设备上。
9.根据权利要求7所述的计算机可读存储媒介,其特征在于,至少一个客户端设备是 DVR、移动设备或个人计算机。
10.根据权利要求7所述的计算机可读存储媒介,其特征在于,数据的至少一个子集以 加密状态被存储在多个客户端设备中。
11.根据权利要求7所述的计算机可读存储媒介,其特征在于,使用加密传输发送数据。
12.根据权利要求7所述的计算机可读存储媒介,其特征在于,存储在特定设备上的数 据的子集与控制该特定设备的用户相关。
13.一种系统,包括多个客户端设备;并且包括一个或多个服务器的业务;所述业务保持向多个客户端设备提供业务的数据组;其中所述数据组包括多个数据子集;在所述多个客户端设备中存储数据组的子集;其特征在于,在多个客户端设备中存储数据组的子集的步骤包括,对于多个客户端设 备的每个特定客户数据,确定应该存储在特定客户端设备中的数据子集,并且向所述特定 客户端设备发送数据子集,用于存储在所述特定客户端设备中;探测数据组中的毁损;并且响应于探测数据组中的毁损,从在多个客户端设备中存储的数据子集恢复数据组。
14.根据权利要求13所述的系统,其特征在于,保持数据组进一步包括接收指示存储 在特定客户端设备上的数据子集的状态;并且基于所述指示,发送数据用于存储在特定客户端设备上。
15.根据权利要求13所述的系统,其特征在于,至少一个客户端设备是DVR、移动设备 或个人计算机。
16.根据权利要求13所述的系统,其特征在于,数据的至少一个子集以加密状态被存 储在多个客户端设备中。
17.根据权利要求13所述的系统,其特征在于,使用加密传输发送数据。
18.根据权利要求13所述的系统,其特征在于存储在特定设备上的数据的子集与控 制该特定设备的用户相关。
全文摘要
本发明提供一种用于执行数据的分布式备份和获取的方法。数据被多个客户端设备发送,以便被服务器处理并且随后存储在数据库中。存储在数据库中的处理过的数据的子集被备份到多个客户端设备中的每一个。对于用户拥有的一个或多个特定的客户端设备,存储在所述一个或多个特定的客户端设备上的处理过的数据的子集是与用户相关的处理过的数据的子集。服务器和客户设备被更新,以保持数据库中的与备份的已被处理过数据的子集处于同样状态。在数据库或客户设备失效的情况下,可以利用存储在数据库或者存储在多个客户端设备上的已处理过的数据恢复已处理过的数据。
文档编号G06F13/00GK101918927SQ200980102518
公开日2010年12月15日 申请日期2009年1月12日 优先权日2008年1月18日
发明者亚当·费德, 布赖恩·比奇, 詹姆斯·巴顿 申请人:Tivo有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1