专利名称:数据转发存储中的测量的制作方法
背景技术:
这里所公开的至少一些实施例涉及数据存储,并且更具体地,涉及数据转发存储中的测量。
个人、组织机构、商业公司和政府必须存储的数据量每一年都在增长。除了跟上需求以外,组织机构还面临其它的存储挑战。伴随着向在线的实时商务和管理的转移,必须保护重要的数据不会由于软件或硬件故障而丢失或不可访问。目前,许多存储产品并不提供完全的故障保护,并且使得用户有丢失数据或不可使用数据的风险。例如,目前市场上的许多存储解决方案提供针对某些故障模式(例如,处理器故障)但是不针对其它故障模式 (例如,光盘驱动器故障)的保护。许多组织机构有由于它们的数据存储系统中的组件故障而丢失数据或不可使用数据的风险。
数据存储市场通常被划分为两个主要部分,即,直接附加存储(DAQ和网络存储。 DAS包括与服务器直接连接的盘。
网络存储包括附加到网络而不是特定服务器并因此可以被该网络上的其它设备和应用访问和共享的盘。网络存储通常被划分成两个部分,即,存储区域网络(SAN)和网络附加存储(NAS)。
SAN是代表广大用户网络来将不同类型的数据存储设备与相关联的数据服务器互连的高速专用网络(或子网)。通常,SAN是企业的整个计算资源网络的一部分。存储区域网络通常聚集在其它计算资源附近,但也可以通过广域网(WAN)承载技术扩展到远程位置以用于备份和档案存储。
NAS是这样的硬盘存储,其被建立有自己的网络地址而不是被附加到向网络的工作站用户提供应用的本地计算机。通过从本发明服务器移除存储访问及其管理,应用程序和文件两者都可以被更快地提供,这是因为应用程序和文件不竞争同一处理器资源。NAS被附加到局域网(通常,以太网)并被指派IP地址。文件请求被主服务器映射到NAS文件服务器。
以上所有存储都以多于一种方式共有一个共同的、可能是致命弱点的特征,S卩,数据被存储在物理介质(例如,光盘驱动器、CD驱动器等)上。
发明内容
本发明提供用于数据转发存储中的测量的方法和装置,包括计算机程序产品。
一般地,根据一个方面,本发明的特征在于一种方法,所述方法包括在互连的计算机系统节点的网络中,从源系统接收用于存储数据的请求;将所述数据导向计算机存储器;将有关所述数据的信息存储在与中央服务器相关联的贮存器中;以及在所述互连的计算机系统节点的网络中逐计算机存储器地持续转发所述数据和所述贮存器,而不存储在所述网络中的任何物理存储设备上。所述持续转发可包括基于一个或多个因素来确定可用于接收所述数据和所述贮存器的节点的地址;向所述源系统发送消息,该消息带有供请求者转发所述数据或所述贮存器的具体节点的地址;检测在所述具体节点的存储器中是否存在所述数据或所述贮存器;以及将所述数据或贮存器转发给在所述互连的计算机系统节点的网络中的节点的另一计算机存储器,而不存储在任何物理存储设备上。
以下,将在附图和说明书中阐述本发明的一个或多个实现方式的细节。本发明的更多特征、方面和优点将从说明书、附图和权利要求中显而易见。
这些实施例是以示例而非限制方式在附图中的示图中说明的,附图中,类似的标号表示类似的元素。
图1是示例性网络的框图。
图2是示例性用户系统的框图。
图3是示例性网络系统的框图。
图4是处理的流程图。
图5是处理的流程图。
图6是处理的流程图。
具体实施例方式与使用短暂停留(transient)方式的数据转发使得数据最终被存储在诸如光盘驱动器之类的物理介质上的对等网络不同,本发明是持续数据转发系统,即数据被从一个节点存储器向另一节点存储器地持续转发。
如图1中所示,示例性网络10包括用户系统12和许多网络系统14、16、18、20、22。 可以认为网络系统14、16、18、20、22中的每一个是网络10中的一个节点并且可以指定一个这样的网络系统作为中央服务器,例如网络系统14,该网络系统可以担任网络10中的控制角色。网络系统14、16、18、20、22中的每一个可以被建立为在中央服务器14的直接控制下被专用地控制的对等端(peer)的网络。对等的节点也可以是专用节点和公用节点的混合, 并且因此可以不受中央服务器14的直接物理控制下。网络10也可以是完全公用的,其中, 中央服务器14(或多个服务器)对任一对等节点都没有直接的拥有权或直接的物理控制权。
如图2中所示,用户系统12可以包括处理器30、存储器32和输入/输出(I/O)设备;34。存储器32可以包括操作系统(03)36,例如1^11皿、4 16( 03或衍11(10 8 ,一个或多个应用处理38和存储处理100(以下详细描述)。应用处理38可以包括用户生产力软件,例如OpenOffice或者Microsoft Office。I/O设备;34可以包括用于显示给用户42 的图形用户界面(⑶1)40。
如图3中所示,每个网络系统(例如网络系统14)都可以包括处理器50和存储器 52。存储器52可以包括OS 54 (例如,Linux、Apple OS或Windows )和数据转发处理 200(以下详细描述)。
在传统的系统中,应用处理38需要存储和取回(retrieve)数据。在这些传统系统中,数据被存储在本地的或远程的物理设备上。并且在某些系统中,该数据可以被划分成不同数据段或数据包并被本地或远程地存储在物理存储介质上。使用固定的物理数据存储设备增加了成本、维护、管理并且生成数据的固定物理记录,而不论这是否是用户42所希望的。
本发明不使用固定的物理数据存储装置来存储数据。当中央服务器14接收到来自存储处理100的存储数据的请求时,数据被导向网络10中的节点,在该节点处,数据随后通过每个网络节点中的数据转发处理200在网络10被逐节点存储器地持续转发而不存储在诸如光盘驱动器之类的任何物理存储介质上。被转发的数据在网络10中任一节点的存储器中仅驻留非常短的时间段。数据不被存储在任何网络节点中的任何物理存储介质上。
以类似的方式,当中央服务器14接收到来自存储处理100的取回数据的请求时, 正在网络10中被逐节点存储器地转发的被请求数据被取回。
以这种方式转发的数据可以被分段,并且片段被如上所述地转发。分段后的数据仍然不被存储在任何网络节点中的任何物理存储介质上,而是只被从一个节点的存储器向另一个节点的存储器转发。
如图4中所示,存储处理100包括向中央服务器14发送(10 存储数据或取回数据的请求。如果请求是取回数据请求,则存储处理100从网络中的节点或中央服务器14接收所请求的数据。
如果给中央服务器14的请求是存储数据请求,则存储处理100从中央服务器14 接收(104)节点的地址并将数据转发(106)给由接收到的地址表示的节点存储器。
在网络中被转发的数据可被测量。例如,每次新的数据被请求在网络中被转发时, 中央服务器14维护数据统计的贮存器。该贮存器可以是平文件、表格或数据库文件,并且在网络中被逐节点存储器地持续转发而不存储在诸如光盘驱动器之类的任何物理介质上。 贮存器的内容在每次文件被请求被转发时,记录文件的所有者、文件的类型和/或附加信息。以这种方式,中央服务器14可以在被请求时生成有用信息的清单。更具体而言,中央服务器14可以负责整个系统中的或用户组中的每个用户所拥有的文件数、文件类型数以及数据总量(例如,兆字节)。中央服务器14使用贮存器来跟踪从网络移除和添加的数据。 中央服务器14可以生成正在网络中被转发的所有数据的清单和/或正被具体用户或用户组转发的数据的清单。
如图5中所示,数据转发处理200包括接收(20 存储数据或取回数据的请求。如果接收到的请求是存储数据的请求,则数据转发处理200确定(204)可用于在存储器中接收数据的节点的地址。该确定(204)可以包括对网络进行乒(ping)操作并且确定网络中的哪个节点可用或者确定网络中的哪个节点具有最小流量,或者确定网络中的哪个节点具有最大可用存储,或者这些或其它因素的任何组合。
处理200向用户系统发送(206)带有供请求者转发数据的具体节点的地址的消息,并且将与数据有关的信息保存(207)在本地贮存器中。该信息例如包括数据类型、所有者、大小等。
处理200检测(208)节点存储器中是否存在数据。处理200将存储器中的数据转发(210)给节点网络中的另一节点,并且继续重复数据的检测(208)和数据的逐节点存储器的转发010)。当数据到达任何节点存储器中时,处理200向数据附加012)时间戳。
转发(210)可以包括对网络中的节点进行乒操作来确定网络中的哪个节点可用, 或确定网络中的哪个节点具有最小流量,或确定网络中的哪个节点具有最大可用存储,或这些或其它因素的任何组合。
在一个特定示例中,在进入节点时,数据经历与节点或中央服务器14或用户的加密“握手”。这可以是可以使用公钥-私钥的公用的或专用的加密系统,例如,Cashmere系统。Cashmere解耦(decouple)加密的转发路径和消息净荷,这提高了性能,因为源仅需要对每个使用目的地的唯一公钥的消息执行单个公钥加密。这具有如下益处只有真正的目的地节点才将能够解密消息净荷,而不是相应的中继组中的每个节点都将能够解密消息净荷。Cashmere提供这样的能力目的地可以在不知道源的身份的情况下发送匿名答复消息。这是以类似的方式完成的,其中源创建答复路径并以与转发路径类似的方式加密该答复路径。
在另一示例中,利用其它路由方案。
如果接收到的请求是取回正被逐节点存储器地持续转发的数据的请求,则数据转发处理200在中央服务器14处使用散列标示或其它唯一代码进行匹配014),其中散列标示或其它唯一代码可以在数据进入节点时经由加密握手被节点“嗅到”。这可以通过对网络中的节点进行乒操作而发生。处理200向中央服务器14相信其中将有可能出现数据的节点状态或节点发送(216)将数据直接返回给用户的消息,并且从中央服务器14上的贮存器中移除(217)与数据有关的信息。中央服务器14可以将其要乒向的节点状态限制得越窄, 则取回将变得越高效并且如下的非必要消息传送流量对节点造成的负担会越小,所述非必要消息传送流量对于中央服务器14和能够转发数据的节点之间的业务而言是不必要的。
在正确的节点接收到将节点存储器中的数据转发给请求者的消息后,处理200将节点存储器中的数据转发(218)给请求者,并且转发(220)数据已被发送给用户的确认消息。该路由消息可以被直接发送给中央服务器14或者可以经由网络10中的其它(一个或多个)节点或(一个或多个)超节点被传递给中央服务器14或多个服务器。在用户接收到所请求的数据时,用户的应用自动发挥作用以向中央服务器14回应(ping)所请求的数据已被接收到。因此,网络10在没有将数据缓存、下载和/或存储到任何物理存储介质上的情况下创建数据存储。数据存储和管理是经由数据的逐节点存储器的持续路由来完成的, 所转发的数据仅在用户从网络10请求将数据返回给用户时被下载。
新的节点和节点状态可以基于性能被添加到网络10和/或从网络10删除。用户可以有权访问所有节点或者可以被(一个或多个)中央服务器或经由专用、公用的或专用公用网络的特定体系架构被划分到某些节点或“节点状态”。
各个节点、节点状态和超节点也可以是公用或专用网络中的外联网对等端、无线网络对等端、卫星对等节点、Wi-Fi对等节点、宽带网络等。在采用了相同的安全系统以及适合于严格的特定部署的客户解决方案(例如用于无线对等端的无线加密方案等等)的情况下,对等节点或用户可以从任何有效的对等点开始用作网络10中的路由参与方。
在处理200中,不是将数据缓存或保持在远程服务器、硬盘驱动器或其它固定存储介质中,而是,数据被逐节点存储器地传递、路由、转发。在经授权的用户调用数据之前, 数据从来不会被下载。该系统上的用户可以授权多于一个的用户有权访问数据。
处理200中的主要目标是生成这样的数据存储和管理系统,其中,数据从来不被固定在物理存储装置中,而是实际上,在网络中被逐节点存储器地持续路由/转发。数据被转发到的节点的路径也可以被中央服务器14更改,以针对系统能力进行调节并且消除冗余的数据路径,没有该特征,这些冗余的数据路径可能由于数据路径的增大的可能性而减弱网络的安全性。
如图6中所示,在中央服务器14中执行的数据信息处理300包括接收(302)对数据信息的请求。数据信息驻留在中央管理中的贮存器中并且可以包括例如数据类型、所有者、所有者群组、大小等等。
处理300解析(304)该请求来确定正被请求的是什么。在确定被请求的是什么之后,处理300从贮存器中的信息生成(306)报告并将报告转发(308)给请求者。报告可以表示在网络中被转发的数据的总数、在网络中被转发的数据的总大小、在网络中被转发的具体数据类型的数目和/或大小、针对特定用户或用户组的数据的数目、大小和/或类型等等。
本发明可以被执行来实现以下优点中的一个或多个。网络创建数据存储而不缓存或下载。数据存储和管理是经由数据的不断路由来完成的。
本发明的实施例可以以数字电路或计算机硬件、固件、软件中或者在它们的组合的形式实现。本发明的实施例可以被实现为计算机程序产品或者被实现为计算机程序产品以供数据处理设备运行或控制数据处理设备的操作,所述计算机程序产品即被有形地包含在信息载体中(例如在机器可读存储装置中或传播信号中)的计算机程序,所述数据处理设备例如是可编程处理器、计算机或多个计算机。计算机程序可以以任何形式的编程语言 (包括汇编语言或解译语言)来编写,并且其可以以任何形式来部署,这些形式包括作为单独的程序或作为模块、组件、子例程或适于在计算环境中使用的其他单元。计算机程序可以被部署为在一个地点或跨越多个地点并通过通信网络互联的一个计算机或多个计算机上执行。
本发明实施例的方法步骤可以由一个或多个可编程处理器执行,所述一个或多个可编程处理器执行计算机程序以通过对输入数据进行运算并生成输出来执行本发明的功能。方法步骤也可以由专用逻辑电路执行,并且本发明的装置可以实现为专用逻辑电路,所述专用逻辑电路例如是FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
适合于计算机程序的执行的处理器例如包括通用和专用微处理器,以及任何类型的数字计算机的一个或多个处理器。一般地,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的必要元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。一般地,计算机也将包括用于存储数据的一个或多个大容量存储设备,或可操作地耦合到用于存储数据的一个或多个大容量存储设备以从其接收数据或向其传送数据,或者既包括又与之耦合,这些存储设备例如是磁盘、磁光盘或光盘。适于包含计算机程序指令和数据的信息载体包括所有形式的非易失性存储器,例如包括半导体存储装置,例如EPROM、EEPROM和闪存装置;磁盘,例如内部硬盘或可移除光盘;磁光盘;以及⑶ROM和DVD-ROM盘。这些处理器和存储器可以用专用逻辑电路补充或结合在专用逻辑电路中。
可以理解,以上描述意图说明而非限制本发明的范围,本发明的范围由所附权利要求限定。其它实施例在以下权利要求书的范围以内。
权利要求
1.一种方法,包括在互连的计算机系统节点的网络中,从源系统接收用于存储数据的请求; 将所述数据导向计算机存储器;将有关所述数据的信息存储在与中央服务器相关联的贮存器中; 在所述互连的计算机系统节点的网络中逐计算机存储器地持续转发所述数据和所述贮存器,而不存储在所述网络中的任何物理存储设备上,所述持续转发包括基于一个或多个因素来确定可用于接收所述数据和所述贮存器的节点的地址; 向所述源系统发送消息,该消息带有供请求者转发所述数据或所述贮存器的具体节点的地址;检测在所述具体节点的存储器中是否存在所述数据或所述贮存器;以及将所述数据或贮存器转发给在所述互连的计算机系统节点的网络中的节点的另一计算机存储器,而不存储在任何物理存储设备上。
2.根据权利要求1所述的方法,其中,持续转发还包括对在所述具体节点的计算机存储器中的所述数据应用时间戳。
3.根据权利要求2所述的方法,其中所述一个或多个因素包括网络流量分析和可用存储。
4.根据权利要求1所述的方法,其中,所述有关所述数据的信息包括类型、大小和所有权关系。
5.根据权利要求1所述的方法,还包括从所述源系统接收用于取回正在所述互连的计算机系统节点的网络中被持续转发的数据的请求;响应于用于取回数据的所述请求而从节点存储器取回所述数据;以及在与所述中央服务器相关联的所述贮存器中删除有关被取回的数据的信息。
6.根据权利要求5所述的方法,其中取回包括在中央服务器处使用散列标示来匹配数据请求,该散列标示表示进入节点存储器的数据;向被预测在存储器中具有所述数据的节点发送消息,该消息指示所述节点将存储器中的所述数据转发给所述请求者;以及向所述中央服务器发送所述数据已被转发给所述请求者的确认消息。
7.根据权利要求6所述的方法,还包括从所述请求者接收所请求的数据已被接收到的确认。
8.根据权利要求1所述的方法,还包括 接收对所述贮存器中的数据信息的请求; 解析所述请求来确定被请求的是什么;响应于所述请求而从节点存储器取回所述贮存器; 从与所解析的请求相匹配的所述贮存器中的信息生成报告;以及将所述报告转发给所述请求者。
9.根据权利要求8所述的方法,其中所述报告包括被转发的文件数、被转发的文件类型数、表示被转发的数据的物理大小的数目、特定于用户的信息或特定于群组的信息。
10.一种计算机程序产品,被有形地包含在计算机可读介质中,用于在互连的计算机系统节点的网络的计算机存储器中存储数据和取回数据,所述计算机程序产品使得数据处理装置从源系统接收用于存储数据的请求; 将所述数据导向计算机存储器;将有关所述数据的信息存储在与中央服务器相关联的贮存器中; 在所述互连的计算机系统节点的网络中逐计算机存储器地持续转发所述数据和所述贮存器,而不存储在所述网络中的任何物理存储设备上,所述持续转发包括基于一个或多个因素来确定可用于接收所述数据和所述贮存器的节点的地址; 向所述源系统发送消息,该消息带有供请求者转发所述数据或所述贮存器的具体节点的地址;检测在所述具体节点的存储器中是否存在所述数据或所述贮存器;以及将所述数据或贮存器转发给在所述互连的计算机系统节点的网络中的节点的另一计算机存储器,而不存储在任何物理存储设备上。
11.根据权利要求10所述的计算机程序产品,其中,持续转发还包括对在所述具体节点的计算机存储器中的所述数据应用时间戳。
12.根据权利要求11所述的计算机程序产品,其中所述一个或多个因素包括网络流量分析和可用存储。
13.根据权利要求10所述的计算机程序产品,其中,所述有关所述数据的信息包括类型、大小和所有权关系。
14.根据权利要求10所述的计算机程序产品,还包括从所述源系统接收用于取回正在所述互连的计算机系统节点的网络中被持续转发的数据的请求;响应于用于取回数据的所述请求而从节点存储器取回所述数据;以及在与所述中央服务器相关联的所述贮存器中删除有关被取回的数据的信息。
15.根据权利要求14所述的计算机程序产品,其中取回包括在中央服务器处使用散列标示来匹配数据请求,该散列标示表示进入节点存储器的数据;向被预测在存储器中具有所述数据的节点发送消息,该消息指示所述节点将存储器中的所述数据转发给所述请求者;以及向所述中央服务器发送所述数据已被转发给所述请求者的确认消息。
16.根据权利要求15所述的计算机程序产品,还包括从所述请求者接收所请求的数据已被接收到的确认。
17.根据权利要求10所述的计算机程序产品,还包括 接收对所述贮存器中的数据信息的请求;解析所述请求来确定被请求的是什么; 响应于所述请求而从节点存储器取回所述贮存器; 从与所解析的请求相匹配的贮存器中的信息生成报告;以及将所述报告转发给所述请求者。
18.根据权利要求17所述的计算机程序产品,其中所述报告包括被转发的文件数、被转发的文件类型数、表示被转发的数据的物理大小的数目、特定于用户的信息或特定于群组的信息。
全文摘要
用于数据转发存储中的测量的方法和装置,包括计算机程序产品。一种方法,包括在互连的计算机系统节点的网络中,从源系统接收用于存储数据的请求,将数据导向计算机存储器,将有关数据的信息存储在与中央服务器相关联的贮存器中,以及在互连的计算机系统节点的网络中逐计算机存储器地持续转发数据和贮存器,而不存储在网络中的任何物理存储设备上。
文档编号G06F15/167GK102187330SQ200980138534
公开日2011年9月14日 申请日期2009年9月25日 优先权日2008年9月29日
发明者吉恩·费恩, 爱德华·麦里特 申请人:塔吉特枢转让有限责任公司