CN103119913A - 分布式数据存储系统中存储数据的方法以及相应设备 - Google Patents

分布式数据存储系统中存储数据的方法以及相应设备 Download PDF

Info

Publication number
CN103119913A
CN103119913A CN2011800452234A CN201180045223A CN103119913A CN 103119913 A CN103119913 A CN 103119913A CN 2011800452234 A CN2011800452234 A CN 2011800452234A CN 201180045223 A CN201180045223 A CN 201180045223A CN 103119913 A CN103119913 A CN 103119913A
Authority
CN
China
Prior art keywords
equipment
network equipment
availability
data
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011800452234A
Other languages
English (en)
Other versions
CN103119913B (zh
Inventor
A.范凯姆彭
E.勒莫尔
G.斯特劳布
A-M.科马里克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of CN103119913A publication Critical patent/CN103119913A/zh
Application granted granted Critical
Publication of CN103119913B publication Critical patent/CN103119913B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明一般地涉及分布式数据存储系统。具体地,本发明涉及一种在分布式数据存储系统中放置数据的方法,其在网络节点之间交换数据所需的带宽方面和存储数据项所需的网络节点的数目方面,结合了较高的数据可用性和对网络及数据存储资源的较小的影响。

Description

分布式数据存储系统中存储数据的方法以及相应设备
技术领域
本发明一般地涉及分布式数据存储系统。具体地,本发明涉及一种在分布式数据存储系统中放置数据的方法,其在网络节点之间交换数据所需的带宽方面和存储数据项所需的网络节点的数目方面将较高的数据可用性与对网络和数据存储资源较低的影响相结合。
背景技术
随着海量数据处理设备(如视频和图像处理设备)的快速广泛的部署,需要可靠地存储大量的数据以用于直接存储或作为部分备份存储。随着越来越多的设备被设置具有网络连接,网络连接的设备中的分布式数据存储被认为是一种性价比较高的解决方案。在这种可以被布置在非管理网络(non-managed network)(如因特网)上的分布式数据存储系统中,已经开发出将同一项数据拷贝到多个网络连接的设备以确保数据的可用性和丢失数据的可恢复性(resilience)的方法。这就是所谓的数据复制。必须在广义上考虑数据复制,它不仅包括数据复制,还包括编码技术的使用,如,擦除码或再生码(其中已编码数据被放置在存储设备上以供恢复)。为了应对由设备故障引起的永久性数据丢失或由于临时设备不可用引起的临时性数据丢失的风险,人们希望有较大的复制因子(即大量的拷贝)。然而,为了降低在所需的通信和存储空间大小方面的成本(所谓的复制成本),人们又非常希望有较小的复制因子。
需要的是一种同时考虑可用性要求和复制成本并实现了高度数据可用性的分布式数据存储的解决方案。
发明内容
本发明的目的在于减少现有技术中的一些的不便。
在大型的分布式数据网络(如对等网络)中,设备不断地加入和离开网络。每个设备都有它自己的断开和连接行为。例如,某些设备始终保持连接,而有些只在白天连接并在夜间断开,有些则具有更为随机的连接行为。
对于基于因特网连接网关的对等网络,电信运营商为其服务的用户提供的网关被视为对等端,用户可以自由地在夜间或不在时关掉它们。
当分布式数据存储系统中的对等端或设备被关闭或出现故障时,它存储的数据不再可用。如果存储特定数据项的所有的设备都被关闭或出现故障,那么该数据项不再可用,该数据项被认为至少在关闭的设备再次被开启或分别修复的时间内是丢失的。因此在这段时间内,不能确保所存储的数据的可用性。虽然增加数据的复制因子是该问题一种可能的解决方案,但是在所需的数据通信和数据存储空间大小方面对数据存储的成本有较大影响。
当前发明的目的是对于给定(期望)的可用性,在考虑数据在作为分布式数据存储系统的一部分的设备上分布的一定程度的公平性(负载均衡)的同时,最优化复制因子和存储成本之间的折衷。
对于这一点,本发明提出基于设备可用性的知识选择一个设备集以用于数据复制。根据本发明的一个特定实施例,该可用性知识通过网络设备监测网络或仅通过一些网络设备本身获取。根据一个变形实施例,该知识通过对从一个网络服务器(如因特网服务器)获得的、与分布式数据存储网络的连接的测量结果获得。获取可用性知识的方法是主动的或者是被动的,主动的方法的一个示例是通过使用“ping”消息,被动的方法的一个示例是使用分布式数据存储系统的集中式服务器所存储的连接日志。设备在它因故障暂时或永久地断开时被认为是不可用的。
为了优化分布式数据存储系统中的数据存储,本发明提出了一种在包括至少用作存储设备的网络设备的分布式数据存储系统中存储数据的方法。设备至少被用作存储设备的意思是设备不仅被用作分布式存储网络中的存储设备,而且同时也可以用于其他目的,如接收音频和视频节目。作为一个实例,所述设备可以是用于接收音频和视频节目的机顶盒、访问外部网络的网关、个人计算机或手持移动设备。该方法包括下列步骤:接收将数据项存储在分布式数据存储系统中的请求;第一选择第一网络设备作为参考设备并确定参考设备随时间的可用性和不可用性;依赖于至少一个第二网络设备随时间的可用性与参考设备随时间的可用性的对应关系,第二选择至少一个第二网络设备,依赖于至少一个第三网络设备随时间的可用性与参考设备随时间的不可用性的对应关系,第三选择至少一个第三网络设备;将数据项存储在第二和第三选择步骤中选择的至少一个第二和至少一个第三网络设备上。
根据一个变形实施例,k是数据项将要在其上复制的网络设备的数目,在存储数据项的请求中指定k,第一、第二和第三选择步骤重复执行直到数据项被复制在至少k个网络设备上,参考设备的第一选择步骤排除了选择已经在该方法之前的迭代中被选择作为参考设备的网络设备。
根据一个变形实施例,k是数据项将要在其上复制的网络设备的数目,在存储数据项的请求中指定k,第二和第三选择步骤重复执行直到数据项被复制在至少k个网络设备上。
根据一个变形实施例,不可用性被存储为向量(24),其中每个元素代表时间单位,向量(24)的元素数目代表时间跨度,每个元素值代表与向量(24)相关联的网络设备在时间单位期间的可用性,第一预定元素值代表可用,第二预定元素值代表不可用。
根据一个变形实施例,第一预定元素值是正的预定值,第二预定值是负的预定值,根据通过计算两个向量(24)之间的角度确定的反相关程度确定依赖于参考设备的不可用性的、第二网络设备的选择,当角度接近零时,两个向量(24)高度相关,当角度接近π时,两个向量(24)高度反相关,角度的值代表反相关程度。
根据一个变形实施例,角度根据下式计算:
θ = arccos ( x → · y → | | x → | | · | | y → | | )
其中θ是角度,x和y是两个向量。
根据一个变形实施例,第一预定元素值是二进制1,第二预定值是二进制0,反相关程度通过计算两个向量(24)之间的逻辑布尔异或(XOR)运算确定,当逻辑布尔异或运算的结果包括大量的接近两个向量(24)中每一个的元素的数目的1时,两个向量(24)高度反相关,当逻辑布尔异或运算的结果包括的1的数目接近0时,两个向量(24)高度相关,布尔异或(XOR)运算结果中1的数目代表反相关程度。
根据一个变形实施例,参考网络设备从网络设备中随机选择。
根据一个变形实施例,参考网络设备从网络设备中确定性地选择。作为一个实例,循环(round-robin)选择是一种确定性的选择。
为了优化数据在分布式数据存储系统中的存储,本发明还包括一种用于在包括至少被用作存储设备的网络设备的分布式数据存储系统中存储数据的设备,该设备包括下列部件:接收器,用于接收将数据项存储在分布式数据存储系统中的请求;第一选择的选择器,用于第一选择第一网络设备作为参考网络设备,以及用于确定参考设备随时间的可用性和不可用性的部件;第二选择的选择器,用于依赖于第二网络设备随时间的可用性与参考网络设备随时间的可用性的对应关系来第二选择至少一个第二网络设备;第三选择的选择器,用于依赖于至少一个第三网络设备随时间的可用性与参考网络设备随时间的不可用性的对应关系来第三选择至少一个第三网络设备;以及存储部件,用于将数据项存储在第二选择的选择器和第三选择的选择器选择的网络设备上。
附图说明
通过对本发明特定的、非限制性的实施例进行说明,本发明的更多优点将显现。
将参照下列附图描述实施例:
图1示出了适合用于实施本发明的特定变型的分布式存储网络架构;
图2示出了本发明的一个变形实施例,其中设备或分布式存储设备(如图1中设备10-16之一)上的可用性数据被存储在代表数学向量结构的n维数组中;
图3示出了与24小时时间轴35有关的两个设备的可用性;
图4示例了包括4个复制设备的本发明的具体实施例;
图5示出了本发明的性能与随机选择复制设备的现有技术解决方案的性能进行比较的曲线图。
图6示出了实施本发明的方法的设备的示例性实施例。
图7示出了实施本发明的方法的特定实施例的算法,例如由图1所示的设备10-16之一实施。
具体实施方式
图1示出了适合用于实施本发明的特定变型的分布式存储网络架构。该图示出了网络1003,网络1003连接有网关12、服务器17、将网络设备15和16连接到网络1003的另一个网关14、以及直接连接到网络1003的网络设备13,网关12将网络设备10和11连接到网络1003。根据设备10-16存储数据的能力以及根据分布式存储网络的成员资格,它们中的全部或只有部分可被视为是分布式存储网络中的分布式存储设备。
除了图1中所图示的网络,其他类型的网络也与本发明兼容。例如,包括一个或多个网络交换节点的网络,或者包括一个或多个子网的网络,以及连接无线网络设备的网络。
本发明可以被实施在任何类型的网络设备中,如将家庭网络连接到因特网的家庭网关、Web服务器、视频服务器或者手持式或非手持式无线设备。
图2示出了本发明的特定实施例,其中对等端或分布式存储设备(如设备10-16之一)上可用性数据被存储在代表数学向量结构的n维数组中。水平线20-21-22代表与时间轴23有关的分布式存储设备的可用性。结构24代表n维向量。根据此处所图示的具体实施例,n=24,对应于24小时,在下文中也称为采样周期。虚线20和22代表24小时时间轴23上无法访问分布式存储设备(例如,由于设备关闭,即设备不可用)的时刻或时间范围(lap)。连续线21代表时间轴23上可以访问分布式存储设备上的数据(即设备可用)的时刻或时间范围。根据该变形实施例,以在下文中称作采样时间的一小时采样来划分设备可用性的知识。每个采样与24小时时间尺度中某一特定小时对应。根据本发明的一个特定实施例,对于每个小时,如果设备在这个小时内可用(即,如果它连接到网络,或者根据一个变型,如果可以访问它的数据),那么向量中对应的索引被设置为正的预定值1。如果设备在采样周期内不可用,那么相应的索引被设置为负的预定值,例如-1。当然,1小时的采样时间和24小时的采样周期仅仅是用于说明本发明的原理的示例;其他的采样时间和周期也是可能的,并且在比较时具有各自不同的优点和缺点。例如,向量具有24个维度,足够存储一天的可用性数据,或者对于7天是24*7个维度。确定采样时间和周期是在使用的网络资源(用于计算和通信)和数据的准确性之间求取折衷的一部分。
根据一个变形实施例,采样时间和/或采样周期是预定的。根据一个更加有利的实施例,在对分布式数据存储设备的连接行为进行测量之后再确定采样时间和周期。然后,最佳采样时间和采样周期可以根据捕捉到设备的不可用的最经常发生的时间段的测量结果来确定。例如,当采样周期被设置为一周时,可能会观察到反复性,以便包括反复发生的白天/夜间以及周末的可用/不可用性交替。根据一个变形实施例,分布式存储设备可以以协作的方式执行确定较佳的采样时间和周期的任务,从而使得集中式服务器免于承担该任务。
因此,每个设备都具有它自己的根据通用格式(如先前描述的格式)的可用性向量。根据一个变形实施例,每个设备存储了它自己的可用性向量。此变型具有避免集中监控设备可用性并降低了设备和集中式的可用性存储之间的通信需求的优点。
现在的目的是建立一个设备集(device set),当数据在该复制集(replication set)上复制时,在整个采样周期上通过该集中的至少一个设备的可用性确保数据的可用性。在图3中示出了一个实例。图中示出了与24小时时间轴35有关的设备1(30-31)和设备2(32-33)的可用性。虚线30和33表示设备不可用。连续线31和32表示设备可用。线34表明当选择包括设备1和设备2的设备集时,数据项的可用性是100%,因此该设备集是良好的复制集。根据本发明的一个变形实施例,为了确定良好的复制集,本发明包括根据下列公式测量设备的可用性向量之间的角度,复制集将据此进行选择:
θ = arccos ( x → · y → | | x → | | · | | y → | | )
该公式给出向量x和向量y之间角度θ的值。当角度接近为0时,向量被相关。当角度接近为π时,向量反相关。两个反相关的向量代表两个具有相反的行为的设备,例如一个设备只在白天可用,而另一个只在夜间可用。那么,对于具有给定的可用性向量的给定的设备,如果对于复制集选择至少一个具有与给定的设备最相关的可用性向量的设备和至少一个具有与给定的设备最反相关的可用性向量的设备,那么就能以优于现有技术的随机选择设备以组成复制集的方法的更好的性能来覆盖采样周期。根据现有技术,增加复制集中的设备数量可以获得相等或甚至更低的可用性水平。
根据本发明的一个变形实施例,不通过如前所述的向量之间的角度,而是通过逻辑二进制操作来检测相关和反相关的设备。像先前描述的变形实施例,设备的可用性数据转换为向量,其中每个索引代表采样时间(例如1小时),向量长度代表采样周期(例如24小时)。然而,根据前面的变形实施例,向量用+1或-1填充,在当前描述的变形实施例中,向量用0和1填充,0表示采样时间期间的不可用性,1表示采样时间期间的可用性。例如:
设备i:010110010010010100100100
完全反相关的设备:101001101101101011011011
根据该变形实施例,设备i的一个完全反相关的设备是:在设备i具有“0”的地方具有逻辑“1”且在设备i具有“1”的地方具有逻辑“0”的设备。根据该变形实施例,通过比较设备i的可用性向量和反相关的候选设备的可用性向量之间的逻辑XOR运算结果在反相关设备之间做出选择。XOR运算结果包括的1越多,设备就越反相关。这种方法导致在参考设备i的可用性的间隙(gap)中填充使得它们与设备i的可用性的重叠最小化的设备。如前面所述的基于向量之间的角度的测量的变形实施例,此变形实施例使得将数据很好地分布在分布式数据存储系统上,而不是导致将数据较差地分布在采样周期上不中断地可用的有限的选择的设备上,这具有通过差异化在复制集中包括的与不同的数据项相关联的设备而更好地分散所编组的数据丢失的风险的优点。如同前面描述的其中测量的角度代表反相关程度的“角度”变形实施例,在当前描述的变型中,两个设备的可用性向量之间的XOR操作结果中“1”的数目是反相关程度的度量。例如,如果向量包括24个元素,24个1代表可能的最高程度(完全)的反相关,0个1代表可能的最低程度的反相关。中间数目代表中等程度的反相关。当然,反相关程度可以调整成任何给定的标度(scale),例如通过应用简单的算术运算采用从1到10的标度。
当然,上述本发明的变形实施例假设设备的可用性行为存在一定的可预测性,这是因为这些实施例使用过去测量的可用性数据。然而,测试已经证明,在实践中,设备的可用性行为是具有相当循环性的,例如,在24小时周期或在7天周期上。当设备的可用性行为相当不可预测时,本发明的方法仍可以获得与单纯地随机选择存储设备的方法一样好的可用性,这是因为每个参考设备i,正如已经提到的,都是随机选择的。
图4借助于4个复制设备的示例示出了本发明的具体实施例。根据该变形实施例,对于用作参考的给定的设备i(40),,选择两个具有与参考设备i(40)的可用性向量最相关的可用性向量的设备1(41)和2(42)以及两个具有与参考设备i(40)的可用性向量最反相关的可用性向量的设备3(43)和4(44),即换言之,依赖于设备1和2随时间的可用性与参考设备随时间的可用性的对应关系来选择设备1和2,而依赖于设备3和4随时间的可用性与参考设备随时间的不可用性的对应关系来选择设备3和4。选择具有这种反相关的可用性行为的设备的好处在于下列事实:反相关的设备填充由其间设备i(40)以及与i相关的设备1和2不可用的时间区域留下的间隙。数据被复制到所选的设备1-4上。本发明的该变形实施例在下文中称作“组”变型:设备j希望存储进入具有复制因子k的存储网络的数据项;设备n随机选择设备i(参考设备)。设备j、或根据另一个变形实施例的参考设备i、或根据一个变形实施例的服务器,选择一定数量的与设备i相关的设备,以及一定数量的与设备i反相关的设备(“一定数量”取决于想要的复制因子k;选择设备归结为重复排除了对参考设备i的选择的步骤的对设备的选择的步骤),并且在这些设备上复制数据项以达到想要的复制因子k。根据上面的实例,复制因子k=4;数据项被复制到四个存储设备的每一个上。
根据另一个变形实施例,也称作“修补”变型,取代了选择一定数量的相关设备和一定数量的反相关设备,选择单个与i反相关的设备。数据项被复制在这些设备之上;如果k>2,那么重复下述过程:选择“新”的参考设备i,寻找新的与i反相关的设备,并在这些设备上复制数据项。重复该过程,直到达到k。这种设备选择归结为重复包括对参考设备i的选择的对设备的选择。
这两种变型都是对现有技术的改善,“组”变型特别适合于n个块中总是有t个编码块(合理的n值)的情形,这可以很好地适应擦除码(erasure code),例如要求n个块中t个擦除码块(erasure code block)的可用性以应付故障。“修补”变型可以更有效地持续保持数据项的至少一个拷贝可用,这是因为“组”变型有时候会导致一些时间间隙,即,比总是存在至少一个可用的存储给定的数据项的设备的修补变型提供较低的保证。
正如上面所述,根据本发明的一个变形实施例,当设备“j”进入分布式数据存储系统存储数据时,该系统确定将用作确定包括相关和反相关设备的复制集的基础的参考设备“i”。根据上面讨论的一个变形实施例,网络中的中央服务器随机选择参考设备“i”。根据另一个变形实施例,以确定性方式确定参考设备“i”以确保同一参考设备不超过一次,从而使得数据在网络上更好地分布。根据本发明的另一个具体的实施例,结合两个变型,以从其中排除了先前选择的参考设备的设备集合中随机选择参考设备i,这导致数据在分布式数据存储网络上甚至更好的分布。
根据本发明的一个变型实施例,复制的数目取决于复制集“覆盖”整个采样周期的能力。根据该变型,重复其中寻找与已经选择的设备集所得到的可用性反相关的设备的步骤,直到在可用性中不再存在间隙。
图5示出了本发明的性能与随机选择复制数据项的设备的现有技术解决方案的性能进行比较的图形图。该图形基于仿真数据。可以看出,为了获得98%的可用性,现有技术的随机复制集采用了8个设备(曲线54,点52),而使用本发明的方法只需要5个设备(曲线53,点51)。
图6示出了根据一个具体实施例的能够实施本发明的设备。该设备可以是实施本发明特定变型的设备或实施本发明特定变型的特定的集中式设备,如服务器,专用或不是专用地实施本发明的特定变型。
设备60包括只读存储器(ROM)600、随机存取存储器(RAM)610、中央处理单元(CPU)620、时钟630、网络接口640、图形接口650以及用户接口660。所有这些组件通过数据和通信总线670相互连接。CPU620根据存储在存储器区域601中的ROM600中的程序来控制设备60。时钟设备630为设备60的组件提供共同的定时以排序并同步它们的操作。网络接口640通过连接6000从/向外部设备接收/发送数据。图形接口650通过连接6001连接到外部呈现设备。用户接口660通过连接6002从用户接收输入命令。ROM存储器区域601包括实施本发明的方法的指令。在开启设备60时,CPU620将程序“Prog”从ROM存储器区域601拷贝到RAM存储器区域611,并执行所拷贝的程序。在执行拷贝的程序时,程序在RAM存储器区域615中为执行所需的变量分配存储空间,并将设备地址列表602、设备可用性向量603和设备集604拷贝到相应的RAM存储器612-614。现在,设备60是运行的,并且在接收到存储数据项的请求时,激活本发明的方法,该方法是存储在ROM600存储器区域601中的程序的一部分。网络接口(640)用作接收存储数据项的请求的接收器。CPU(620)除了用作其他用途外还用作选择器,作出对作为参考设备的网络设备之一的第一选择。CPU(620)还用作选择器,用于对至少一个在预定的时间段上具有与确定的参考网络设备的可用性反相关的可用性的网络设备的第二选择,并且CPU(620)用作用于将至少一个选择的网络设备添加到用于存储数据项的复制集中的部件。ROM存储器600和RAM存储器610是用于在复制集中的网络设备上存储数据项的存储部件。
根据一个变形实施例,本发明完全以硬件实施,例如专用组件(例如,ASIC、FPGA或VLSI)(分别是专用集成电路、现场可编程门阵列和超大规模集成电路)或被集成在器件中的不同的电子组件,或者以硬件和软件混合的形式实施。
图7示出了由例如图1中的设备10-16中的之一或图6的设备60执行的、本发明的方法的特定实施例的算法。该算法从初始化步骤700开始,在此步骤中初始化使用的变量。然后,在步骤701,接收将数据存储到分布式数据存储系统中的请求。根据一个特定的变形实施例,该请求由执行本发明的步骤的中央服务器接收,如图1中的服务器17接收。该变形实施例还被称为“集中式”变形实施例。根据另外一个变形实施例,该请求由一个实施本发明的网络设备接收,例如由图1中的网络设备10-16中的任何一个或者由图6中的设备60接收。该变形实施例还被称为“分散式”变型。然后,在步骤702,选择网络设备作为参考设备,如选择图1中的网络设备10-16中的一个或图6中的设备60。根据集中式或分散式的变形实施例,该选择要么由集中式服务器(集中式变型)要么由其它网络设备中的一个(如图1中的设备10-16)(分散式变型)进行。根据分散式变型的一个变型,当此步骤留给集中式服务器(如图1中的服务器17)时,在步骤701中接收请求的设备与步骤702中选择参考设备的设备不是同一设备。随机选择参考设备,或者根据变形实施例,通过对可用的设备进行确定性的循环选择来选取参考设备。然后,在步骤703,从剩下的设备(即排除了参考设备的网络设备)中选择其可用性与参考设备的可用性反相关的设备。例如,如果图1中的设备10是参考设备,那么剩余的设备是设备11-16。根据网络设备已知的可用性数据选择该反相关设备(或者可能会在网络中找到更多的反相关设备,因为可能很难或不可能找到一个“完全”反相关的设备)。如果待选择的反相关设备多于一个,那么根据其在与参考设备i更反相关的设备的列表上的排名对它们进行迭代性选择。这些可用性数据代表某个网络设备在一定时间段上测量到的可用性。根据本发明的一个特定实施例,可用性数据通过每个网络设备自身获得。根据本发明的一个变形实施例,可用性数据通过中央服务器从监测网络设备的可用性行为中获得。根据本发明的另一个变型,可用性数据从集中式服务器(如,图1中的服务器17)获得,集中式服务器从各设备那里收集已经由设备自身测量得到的可用性数据。反相关性的概念已经在前面解释过。选择的反相关设备被添加到将用于存储步骤701中数据添加请求的数据项的设备集合(也称为复制集)中。根据特定实施例,通过允许对每个单独的设备进行寻址的标识符(如,IP地址/端口地址)代表的该复制集被存储在集中式服务器上,例如,对被存储在分布式数据存储网络上的每个特定数据项,存储相关联的复制集,或者根据变形实施例,其被存储其它网络设备中的一个上,如,参考设备上。该复制集与给定的数据项相关联,以便能够确定哪些设备存储给定的数据项。根据本发明的一个特定实施例,可用性数据以向量的形式存储,如图2中的向量24,其中每个元素代表时间单位(如,1小时),其中向量的元素数目代表时间跨度(如,24小时)。用表示相应的设备在相应的时间单位期间是否不可用的值来填充向量元素,例如,如果向量[5]=+1,那么相应的网络设备在从上午05:00到05:59的时间段内可用,如果向量[11]=-1,那么相应的网络设备在从上午11:00到11:59的时间段内不可用,或者更根据先前描述的变形实施例,二进制值1表示可用,二进制值0表示不可用。根据一个特定的实施例,设置一个允许设置向量的值的阈值。例如,阈值被设置为单位时间的一半,对只在20分钟内可用的设备来说,向量中对应的元素将被设置为二进制值0或值-1(根据选择的变形实施例:“XOR”或“角度”)。
然后,在步骤704,选择网络设备。然后,将选择的设备添加到复制集。先前已经解释了相关性的概念。在下一步骤705,数据项被复制(拷贝)到复制集中的设备上,并且该算法继续重复步骤701。在每个步骤704,k/2个设备被选择为复制集,而稍后将再次选择k/2个相关的设备(这是前面描述的“组”变型)。根据一个变形实施例(前面描述的“修补”变型),在每个步骤704,选择一个设备,并且重复步骤702-704,直到选择k个设备,使得在这两个变型中以不同的方式获得了想要的复制因子。“组”和“修补”变型中的每一个具有如前面已讨论过的其自身的优势。

Claims (10)

1.一种在包括至少用作存储设备的网络设备的分布式数据存储系统中存储数据的方法,其特征在于,所述方法包括下列步骤:
-接收(701)将数据项存储在所述分布式数据存储系统中的请求;
-第一选择(40)第一网络设备作为参考设备并确定参考设备随时间的可用性和不可用性;
-依赖至少一个第二网络设备随时间的可用性与所述参考设备随时间的可用性的对应关系来第二选择(41,42)至少一个第二网络设备;
-依赖至少一个第三网络设备随时间的可用性与参考设备随时间的不可用性的对应关系来第三选择(43,44)至少一个第三网络设备;以及
-将所述数据项存储(705)在第二选择步骤和第三选择步骤中选择的至少一个第二网络设备和至少一个第三网络设备上。
2.如权利要求1所述的方法,其特征在于,k是所述数据项要在其上复制的网络设备的数目,k在存储所述数据项的请求中指定,重复执行第一、第二和第三选择步骤直到所述数据项被复制在至少k个网络设备上,参考设备的第一选择步骤排除了对在所述方法之前的迭代中已经被选择作为参考设备的网络设备的选择。
3.如权利要求1所述的方法,其特征在于,k是所述数据项要在其上复制的网络设备的数目,k在存储所述数据项的请求中指定,重复执行第二和第三选择步骤直到所述数据项被复制在至少k个网络设备上。
4.如权利要求2至3中任何一项所述的方法,其特征在于,将所述不可用性存储为向量(24),其中每个元素代表时间单位,所述向量(24)的元素数目代表时间跨度,其中每个元素值代表与所述向量(24)相关联的网络设备在所述时间单位期间的可用性,第一预定元素值代表可用,第二预定元素值代表不可用。
5.如权利要求4所述的方法,其特征在于,所述第一预定元素值是正的预定值,所述第二预定值是负的预定值,根据通过计算两个向量(24)之间的角度确定的反相关程度来确定依赖于所述参考设备的不可用性的对第二网络设备的选择,当所述角度接近零时,两个向量(24)高度相关,当所述角度接近π时,两个向量(24)高度反相关,所述角度的值代表所述反相关程度。
6.如权利要求5所述的方法,其中,所述角度根据下式计算:
θ = arccos ( x → · y → | | x → | | · | | y → | | )
其中θ是所述角度,x和y是所述两个向量(24)。
7.如权利要求4所述的方法,其特征在于,所述第一预定元素值是二进制1,所述第二预定值是二进制0,通过计算所述两个向量(24)之间的逻辑布尔异或运算来确定反相关程度,当所述逻辑布尔异或运算的结果包括大量的接近所述两个向量(24)中每一个的所述元素的数目的1时,两个向量(24)高度反相关,而当所述逻辑布尔异或运算的结果包括的1的数目接近0时,两个向量(24)高度相关,所述布尔异或运算的结果中的1的数目代表所述反相关程度。
8.如权利要求2至7中任何一项所述的方法,其特征在于,从所述网络设备中随机选择所述参考设备。
9.如权利要求2至7中任何一项所述的方法,其特征在于,从所述网络设备中确定性地选择所述参考设备。
10.一种用于在包括至少被用作存储设备的网络设备的分布式数据存储系统中存储数据的设备,其特征在于,所述设备包括下列部件:
-接收器(640),用于接收将数据项存储在所述分布式数据存储系统中的请求;
-第一选择的选择器(620),用于第一选择(40)第一网络设备作为参考网络设备,以及用于确定所述参考设备随时间的可用性和不可用性的部件;
-第二选择的选择器(620),用于依赖于第二网络设备随时间的可用性与所述参考网络设备随时间的可用性的对应关系来第二选择(41,42)至少一个第二网络设备;
-第三选择的选择器(620),用于依赖于至少一个第三网络设备随时间的可用性与参考网络设备随时间的不可用性的对应关系来第三选择(43,44)至少一个第三网络设备;以及
-存储部件(600,610),用于将所述数据项存储在第二选择的选择器和第三选择的选择器选择的网络设备上。
CN201180045223.4A 2010-09-20 2011-09-20 分布式数据存储系统中存储数据的方法以及相应设备 Expired - Fee Related CN103119913B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP10305999A EP2439907A1 (en) 2010-09-20 2010-09-20 Method of data storing in a distributed data storage system and corresponding device
EP10305999.4 2010-09-20
PCT/EP2011/066256 WO2012038385A2 (en) 2010-09-20 2011-09-20 Method of data storing in a distributed data storage system and corresponding device

Publications (2)

Publication Number Publication Date
CN103119913A true CN103119913A (zh) 2013-05-22
CN103119913B CN103119913B (zh) 2016-07-06

Family

ID=43867181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180045223.4A Expired - Fee Related CN103119913B (zh) 2010-09-20 2011-09-20 分布式数据存储系统中存储数据的方法以及相应设备

Country Status (6)

Country Link
US (1) US20130275697A1 (zh)
EP (2) EP2439907A1 (zh)
JP (1) JP5813771B2 (zh)
KR (1) KR20130107281A (zh)
CN (1) CN103119913B (zh)
WO (1) WO2012038385A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112788060A (zh) * 2021-01-29 2021-05-11 北京字跳网络技术有限公司 数据包传输方法和装置、存储介质和电子设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10560361B2 (en) * 2017-01-10 2020-02-11 Wigwag Inc. Distributed database for synchronizing the accessibility of nodes and shared devices
US11240105B2 (en) * 2019-03-26 2022-02-01 International Business Machines Corporation Control of scanning shared resources by devices for software discovery

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090157991A1 (en) * 2007-12-18 2009-06-18 Govinda Nallappa Rajan Reliable storage of data in a distributed storage system
CN101741884A (zh) * 2008-11-25 2010-06-16 华为技术有限公司 一种分布式存储方法和装置
CN102113371A (zh) * 2008-07-28 2011-06-29 皇家飞利浦电子股份有限公司 组共享的分布式预留协议

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004341961A (ja) * 2003-05-16 2004-12-02 Nippon Telegr & Teleph Corp <Ntt> ストレージシステムおよびストレージプログラム
US7487308B1 (en) * 2003-11-28 2009-02-03 Symantec Operating Corporation Identification for reservation of replacement storage devices for a logical volume to satisfy its intent
JP4747108B2 (ja) * 2004-02-06 2011-08-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 分配媒体アクセス制御方法及び無線装置
US7480817B2 (en) * 2006-03-31 2009-01-20 International Business Machines Corporation Method for replicating data based on probability of concurrent failure
US20080147821A1 (en) * 2006-12-19 2008-06-19 Dietrich Bradley W Managed peer-to-peer content backup service system and method using dynamic content dispersal to plural storage nodes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090157991A1 (en) * 2007-12-18 2009-06-18 Govinda Nallappa Rajan Reliable storage of data in a distributed storage system
CN102113371A (zh) * 2008-07-28 2011-06-29 皇家飞利浦电子股份有限公司 组共享的分布式预留协议
CN101741884A (zh) * 2008-11-25 2010-06-16 华为技术有限公司 一种分布式存储方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112788060A (zh) * 2021-01-29 2021-05-11 北京字跳网络技术有限公司 数据包传输方法和装置、存储介质和电子设备

Also Published As

Publication number Publication date
WO2012038385A2 (en) 2012-03-29
JP2013542487A (ja) 2013-11-21
CN103119913B (zh) 2016-07-06
US20130275697A1 (en) 2013-10-17
EP2619962A2 (en) 2013-07-31
KR20130107281A (ko) 2013-10-01
EP2439907A1 (en) 2012-04-11
WO2012038385A3 (en) 2012-08-30
JP5813771B2 (ja) 2015-11-17

Similar Documents

Publication Publication Date Title
Alavikia et al. A comprehensive layered approach for implementing internet of things-enabled smart grid: A survey
Zhao et al. Fully decentralised multi‐area dynamic economic dispatch for large‐scale power systems via cutting plane consensus
Beraldi et al. A power-of-two choices based algorithm for fog computing
US20210288520A1 (en) Topology and phase detection for electrical supply network
CN115842342B (zh) 一种分布式配电网的拓扑识别方法及装置
JP2023506618A (ja) スマートメーターのネットワークを有する配電システム
CN102411607A (zh) 分布式数据存储系统中数据复制的方法以及相应设备
CN103119913A (zh) 分布式数据存储系统中存储数据的方法以及相应设备
Saxena et al. A distributed communication framework for smart Grid control applications based on data distribution service
CN114208122B (zh) 分布式联网系统的自主语义数据发现
CN109471746A (zh) 一种集群日志的收集方法与系统
Ananduta et al. Mitigation of communication failures in distributed model predictive control strategies
Wang et al. An optimal solution for byzantine agreement under a hierarchical cluster-oriented mobile ad hoc network
Honeth et al. Decentralized topology inference of electrical distribution networks
Cejka et al. Integrating Smart Building Energy Data into Smart Grid Applications in the Intelligent Secondary Substations
Saligrama et al. A token-based approach for distributed computation in sensor networks
Taft et al. Sensing and measurement for advanced power grids
Jankovic et al. Empirical study: IoT-based microgrid
Hussain et al. Computational viability of fog methodologies in IoT enabled smart city architectures-a smart grid case study
CN117424638B (zh) 基于星地融合的网络切片管理方法、装置及存储介质
Wang et al. An efficient distributed algorithm for economic dispatch considering communication asynchrony and time delays
CN116502278B (zh) 一种数据隐私保护方法、系统、计算机设备及介质
CN112650630B (zh) 一种智能电表运行参数的分布式备份方法及装置
Zavar Communication Architecture Designs of Smart Inverters for Microgrids
Zhao et al. Assessing electric cyber-physical system using integrated co-simulation platform

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160706

Termination date: 20170920