CN101741884B - 一种分布式存储方法和装置 - Google Patents

一种分布式存储方法和装置 Download PDF

Info

Publication number
CN101741884B
CN101741884B CN2008102177034A CN200810217703A CN101741884B CN 101741884 B CN101741884 B CN 101741884B CN 2008102177034 A CN2008102177034 A CN 2008102177034A CN 200810217703 A CN200810217703 A CN 200810217703A CN 101741884 B CN101741884 B CN 101741884B
Authority
CN
China
Prior art keywords
content
replica node
memory
data block
memory space
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.)
Active
Application number
CN2008102177034A
Other languages
English (en)
Other versions
CN101741884A (zh
Inventor
陈浩华
黄哲
曾宪国
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.)
JINGJIANG SHENJU VESSEL MANUFACTURING Co.,Ltd.
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2008102177034A priority Critical patent/CN101741884B/zh
Publication of CN101741884A publication Critical patent/CN101741884A/zh
Application granted granted Critical
Publication of CN101741884B publication Critical patent/CN101741884B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种分布式存储方法、装置与系统,副本节点接收中央服务器发送的由该副本节点对内容进行存储的指示,该对内容进行存储的指示携带有该内容的信息;该副本节点根据该内容的信息和该副本节点上的可用存储空间为该内容分配存储空间;该副本节点计算该内容在该副本节点上的存储系数K,该存储系数K由该内容的大小和为该内容分配的存储空间的大小确定;该副本节点以1/K的概率从该中央服务器随机下载并存储由该内容划分而成的数据块。提高了存储效率,减轻了客户端搜索调度的复杂性和降低了网络开销。

Description

一种分布式存储方法和装置
技术领域
本发明涉及互连网存储方法,尤其是一种分布式存储方法。
背景技术
传统的数据存储机制是集中化的存储方式,数据存储在内容提供者的服务器中。内容提供者为了应对存储空间增长的需求,需要经常购买新的存储设备来扩大他们服务器的存储能力。
传统的多媒体内容提供者使用集中化的客户机-服务器模式来传输多媒体内容给客户节点。为了改进服务质量QoS,提供者通常在一些主要ISP(internet service provider,网络服务提供商)的网络中部署多个拥有原始多媒体数据相同拷贝的CDN服务器Content Distribution Network,业务分发网络。由于严格的QoS要求,这些CDN服务器也承受着昂贵的维护开销。
一种可能的方法是分布式存储方法。分布式存储方法主要指用P2P网络来替换CDN网络,一些性能较强的节点下载了内容之后承担CDN服务器的角色作为数据源给客户节点上传多媒体数据。在下文中称呼这些作为数据源的节点为副本节点。虽然这些副本节点有能力提供CDN服务器相同的功能而无需任何额外的维护开销,但是他们可靠性低。一方面P2P网络由于节点频繁加入退出会导致网络的扰动,另一方面P2P节点的上传能力和CDN服务器比起来是很差的,因此P2P副本节点的效力不高。分布式存储方法要有能力协调大量的副本节点,客户端通过和多个副本节点建立并行连接,多个副本节点就可以一起提供更好的上传能力。
设计分布式存储方法的难点在于存储策略。由于副本节点存储空间有限,不可能要求每个副本节点存储网络中每个多媒体文件的完整拷贝。替换的,而是先将多媒体数据分割成多个数据块,副本节点有选择的存储一些数据块。当一个客户端请求某个多媒体内容时,它从不同的副本节点一个个下载对应的数据块。为了简化在在副本节点中搜索请求的数据块的搜索过程,一个多媒体内容分割的数据块的数量不能太大。但是分割的数据块的数量太少的话又会导致数据块很大,每个副本节点能存储的数据块就少了,因此拥有被请求块的概率也小了,能够满足请求的节点数量也小了。对于那些要求严格时间限制的IPTV和VOD系统,客户端能否及时下载数据对系统的QoS非常关键。由于潜在的上传者数量有限,客户节点不可能建立足够的并行下载连接以获取很好的下载性能。数据块交错策略允许副本节点充分利用它们的上传能力为客户端服务。客户节点获得高下载速率的概率提高了。
一种分布式存储方法中,副本节点选择性地存储来自不同内容的数据块,而不是存储一些内容的完整拷贝。数据分割并交错存储后,下载就是一个块驱动的过程,搜索和调度过程以数据块为单位进行。由于数据交错存储,相邻的数据块存储在不同的副本节点上,因此需要一个复杂的调度机制。数据块的存储也导致了大量的通讯开销,因为客户端需要频繁地搜索要请求的数据块并在副本节点之间传输调度信令。
发明内容
本发明实施方式提供一种分布式存储方法及装置,提高分布式存储的效率。
本发明实施方式的一个方面,提供了一种分布式存储方法,副本节点接收中央服务器发送的由该副本节点对内容进行存储的指示,该对内容进行存储的指示携带有该内容的信息;该副本节点根据该内容的信息和该副本节点上的可用存储空间为该内容分配存储空间;该副本节点计算该内容在该副本节点上的存储系数K,该存储系数K由该内容的大小和为该内容分配的存储空间的大小确定;该副本节点以1/K的概率从该中央服务器随机下载并存储由该内容划分而成的数据块。
本发明实施方式的另一个方面,提供了一种分布式存储装置,即前文该的副本节点,包括接收单元,用于接收中央服务器发送的由该分布式存储装置对内容进行存储的指示,该对内容进行存储的指示携带有该内容的信息;分配单元,用于根据该内容的信息和该分布式存储装置上的可用存储空间为该内容分配存储空间,计算该内容在该分布式存储装置上的存储系数K,该存储系数K由该内容的大小和为该内容分配的存储空间的大小确定;存储单元,用于以1/K的概率从中央服务器随机下载并存储由该内容划分而成的数据块。
相应的,本发明实施方式的另一方面,提供了一种分布式存储系统,包括中央服务器,与中央服务器相连的多个副本节点,该中央服务器用于将其存储的内容划分为大小相等的数据块,或者将该内容划分为多个数据分段后,对每个数据分段分别划分为大小相等的数据块,向选择的副本节点发送由该副本节点对内容进行存储的指示,该对该内容进行存储的指示携带有该内容的信息;该副本节点用于接收该由该副本节点对内容进行存储的指示后,根据该内容的信息和该副本节点上的可用存储空间为该内容分配存储空间;计算该内容在该副本节点上的存储系数K,该存储系数K由该内容的大小和为该内容分配的存储空间的大小确定;以1/K的概率从中央服务器随机下载并存储该由该内容划分而成的数据块。
上述实施方式,通过计算存储系数并按照该存储系数确定的存储概率进行数据块的存储,使得该内容的数据块可以划分得更小,提高了存储效率;系统中能用来进行存储的副本节点更多(例如客户端本身可以作为副本节点),从而,在内容占用相同存储大小的前提下,客户端可以和更多的副本节点连接获得更好的下载速度;这样,在传输时可以简单的使用随机线性网络编码的传输方式,减轻了客户端搜索调度的复杂性和降低了网络开销。
附图说明
图1为一个分布式存储系统实施方式的网络结构图;
图2为一个分布式存储方法实施方式的流程示意图;
图3为另一个分布式存储方法实施方式的流程示意图;
图4a为又另一个分布式存储方法实施方式的流程示意图;
图4b为图4a所示的分布式存储方法具体例子的存储结构示意图;
图5a为一个分布式存储装置实施方式的结构示意图;
图5b为另一个分布式存储装置实施方式的结构示意图;
图6a为又一个分布式存储装置实施方式的结构示意图;
图6b为又一个分布式存储装置实施方式的结构示意图。
具体实施方式
参考图1,为一个分布式存储系统实施方式的网络结构图,该系统包括中央服务器,与中央服务器相连的多个副本节点。该中央服务器用于将其存储的内容划分为大小相等的数据块,或者该内容划分为多个数据分段后,对每个数据分段分别划分为大小相等的数据块,向选择的副本节点发送由该副本节点对所述内容进行存储的指示,该对内容进行存储的指示携带有该内容的信息。一般的,根据分布式存储的工作原理,中央存储器选择多个副本节点对多个内容进行存储。
该副本节点用于在接收该由该副本节点对内容进行存储的指示后,根据该内容的信息和该副本节点上的可用存储空间为该内容分配存储空间;计算该内容在该副本节点上的存储系数K,该存储系数K由该内容的大小和为该内容分配的存储空间的大小确定;以1/K的概率从中央服务器随机下载并存储该由该内容划分而成的数据块。
在实际应用的过程中,该系统还包括与该多个副本节点相连的服务客户端,该服务客户端用于向该多个副本节点请求该内容,并接收该多个副本节点发送的数据块,将该数据块进行解码后获得该内容;该副本节点进一步用于当该服务客户端向该副本节点请求该内容时,对该存储的该内容的数据块进行随机线性网络编码后发送给服务客户端。
需要说明的是,前述的内容可以是任何可以存储的数据,一般为大文件,较常见的为多媒体内容,例如各类视频、各类音频、各类图片等。
上述分布式存储系统,通过计算存储系数并按照该存储系数确定的存储概率进行数据块的存储,使得该内容的数据块可以划分得更小,系统中能用来进行存储的副本节点更多(例如客户端本身可以作为副本节点),从而,在内容占用相同存储大小的前提下,客户端可以和更多的副本节点连接获得更好的下载速度。这样,在内容进行传输时,由于各副本节点可以直接将其存储的该内容的所有数据块采用随机线性网络编码的传输方式发送出去,客户端不需要知道更多存储的细节(例如存储的具体数据块的所在的位置),从而减轻了客户端搜索调度的复杂性和降低了网络开销。
相应的,提供了与图1所示的系统的工作原理一致的一个分布式存储的方法。当中央服务器上发布了新的内容时,中央服务器可以从系统中选择多个副本节点进行分布式存储,如果中央服务器确定目前选择的副本节点没有足够的资源满足客户服务端的下载需求,可以动态增加新的副本节点。参考图2,该分布式存储方法包括:
201、副本节点接收中央服务器发送的由该副本节点对内容进行存储的指示,该对内容进行存储的指示携带有该内容的信息。
该对内容进行存储的指示携带有该内容的信息包括:该内容的大小等。
在201之前,该方法还包括中央服务器将内容化分成相同大小的数据块,或者,将该内容划分成数据段后,在对各数据段分别化分成相同大小的数据块,向选择的多个副本节点发送该由该副本节点对该内容进行存储的指示。
202、该副本节点根据所述内容的信息和该副本节点上的可用存储空间为该内容分配存储空间。
203、该副本节点计算该内容在该副本节点上的存储系数K,该存储系数K由该内容的大小和为该内容分配的存储空间的大小确定。
204、该副本节点以1/K的概率从中央服务器随机下载并存储由该内容划分而成的数据块。
可选的,该具体实施方式中,还可以根据实际的情况,205、重新为该内容分配存储空间。例如,当所述副本节点根据所述内容的信息或者所述副本节点上的可用存储空间发生变化时,或者,所述副本节点上的可用存储空间不够存储新的内容时,都可以为该内容重新分配存储空间。其具体的标准可以为系统预先设定。在为该内容重新分配存储空间之后,该副本节点可以采取不同的方法对该内容进行处理:
例如,当为所述第一内容重新分配的存储空间小于原来为所述第一内容分配的存储空间时,可以随机删除所述内容的数据块,所述被删除的数据块的数量=原来为所述第一内容分配的存储空间与为所述第一内容重新分配的存储空间的差值/数据块的大小。
又例如,当为所述第一内容重新分配的存储空间大于原来为所述第一内容分配的存储空间时,可以随机从所述中央服务器增加下载所述内容的数据块,所述被增加下载的数据块的数量=为所述第一内容重新分配的存储空间与原来为所述第一内容分配的存储空间的差值/数据块的大小。
还可以采取下面的方法:删除所述副本节点上已经存储的该内容的所有数据块,根据为所述内容重新分配存储空间的大小计算新的存储系数K’,并按照新的概率1/K’下载并存储该内容的数据块。
上述分布式存储方法,通过计算存储系数并按照该存储系数确定的存储概率进行数据块的存储,使得该内容的数据块可以划分得更小,系统中能用来进行存储的副本节点更多(例如客户端本身可以作为副本节点),从而,在内容占用相同存储大小的前提下,客户端可以和更多的副本节点连接获得更好的下载速度。这样,在内容进行传输时,由于各副本节点可以直接将其存储的该内容的所有数据块采用随机线性网络编码的传输方式发送出去,客户端不需要知道更多存储的细节(例如存储的具体数据块的所在的位置),从而减轻了客户端搜索调度的复杂性和降低了网络开销。其中,还可以根据实际的情况重新为该内容分配存储空间的方案使得系统中的副本节点对内容的存储根据情况进行调整,进一步提高了内容存储的灵活度、存储的效率和内容下载的速度。
参考图3为另一个分布式存储方式,与图2所示的方法不同的是,该方法在为内容分配存储空间的时候,根据该内容的优先级进行分配存储空间。该方法包括:
301、副本节点接收中央服务器发送的由该副本节点对内容进行存储的指示,该对内容进行存储的指示携带有该内容的信息。该对内容进行存储的指示携带有该内容的信息包括:该内容的大小等。
302、获得该内容的优先级。
具体的,内容的优先级是根据不同的请求频率和/或带宽消耗对内容进行的分级,这里定义为请求频率高和/或带宽消耗多的内容的优先级高。例如,热门电影的优先级较高,非热门电影的优先级低。中央服务器开始注入内容时,可以人为设定优先级。例如中央服务器要注入两个电影文件,一个是电影《007》,一个是文艺片,那么可以将电影《007》的优先级设的高一点。
可以采用不同的方式获得该内容优先级:例如,中央服务器根据自身存储的内容的优先级信息,在向副本节点发送前述的由该副本节点对内容进行存储的指示时,直接将该内容的优先级信息包含在该指示中发送给该副本节点。又例如,副本节点在收到由该副本节点对内容进行存储的指示后,向中央服务器发送请求,中央服务器根据该请求向该服务器发送该内容的优先级信息。
303、该副本节点根据所述内容优先级以及其它信息和该副本节点上可用存储空间为该内容分配存储空间,其中在同样的条件下为高优先级的内容分配的存储空间多于为低优先级的内容分配的存储空间。该同样的条件主要指内容的大小相同或者近似。
可以采用不同的计算方法实现上述为为高优先级的内容多分配存储空间的方案。
例如:一种优化的方式按照优先级的高低进行按照比例的存储,具体的根据公式 S ij = G i * C i Σ r ∈ I j G r * C r D j 计算副本节点j上分配给内容i的存储空间大小,其中,Sij表示副本节点j分配给内容i的存储空间大小,Gi表示内容i的优先级,Ci表示内容i的大小,Dj表示副本节点j上可以利用的存储空间大小,Ij表示副本节点j上存储的内容的集合。
304、该副本节点计算该内容在该副本节点上的存储系数K,该存储系数K由该内容的大小和为该内容分配的存储空间的大小确定。
例如,可以利用如下公式计算存储系数
Figure G2008102177034D00082
Kij表示副本节点j上内容i的存储系数,Ci表示内容i的大小,Sij表示副本节点j分配给内容i的存储空间大小。
305、该副本节点以1/K的概率从中央服务器随机下载并存储由该内容划分而成的数据块。
在实际应用过程中,一个实施方式中,央服务器上存储的内容的优先级信息可以是静态的,那么可以仅一次性执行步骤301~305,为一种静态的根据内容的优先级为该内容分配存储空间,然后进行存储的方法。
在另一个实施方式中,央服务器上存储的内容的优先级信息可以是动态的,那么,可以在步骤305之后,可以循环执行所述步骤302~305,即,根据内容的优先级的变化,调整副本节点上为该内容分配的存储空间,根据调整后的存储空间计算存储系数及概率后进行下载和存储该内容。该优先级的动态变化一般与该内容的请求频率和/或带宽消耗(或者称热度)有关,包括不同的情形:内容的热度逐渐降低甚至消失的,可以采用指数衰减法处理内容的优先级。内容的热度根据时间阶段性变化的,可以设定累计时间权数对内容优先级进行调整,等等。
上述根据内容的优先级进行存储的方法,客户节点可以进一步的和更多的节点连接获得更好的下载速度,尤其对于优先级高的内容,存储的概率更高,下载的速度因而更快。
在实际的应用过程中,一般中央服务器上存储有大量不同的内容,一个副本节点上也可能需要存储不同的内容。当收到对内容进行存储的指示的时候,该副本节点上的可用存储空间可能足够存储该内容,也可能不够存储该内容,为了进一步提高存储的效率,在一个实施方式中,可以增加对副本节点上可用存储空间是否足够存储待存储的内容的判断:当确定副本节点上的可用存储空间足够存储该内容时,直接进行前述的存储空间分配、计算存储系数并根据由存储系数确定的概率下载并存储数据块。当确定副本节点上的可用存储空间不够存储该内容时,可以采取如下不同的方式进行处理:
第一种处理方式:该副本节点向中央服务器返回消息,可以携带该副本节点不够存储该内容,也可以是简单的存储失败消息,以便于中央服务器进行协调,例如将存储该内容的指示发给其它副本节点,或者,增加副本节点后将存储该内容的指示发给该增加的副本节点。
第二种处理方式:该副本节点删除部分已经存储在该副本节点上的其它内容的数据块,以便于在可用空间足够时,进行该内容的存储。
参考图4,为一个具体的分布式存储的实施方式,该实施方式中,增加了对副本节点上可用存储空间是否足够存储待存储的内容的判断,并且,在确定副本节点上的可用存储空间不够存储该内容时采用了上述第二种处理方式。该方法以该副本节点之前没有存储任何内容,在本方法中需要先后存储第一内容、第二内容情况为例进行介绍,包括:
在400,副本节点接收对第一内容进行存储的指示。
具体的,该消息携带该第一内容的信息,例如该第一内容的标识、该第一内容的大小,还可以包括该第一内容的名称,优先级参数等。
在401,确认该副本节点的可用存储空间是否足够存储该第一内容,本方法以确认该副本节点的可用存储空间足够存储该第一内容为例。
具体的,该副本节点将自身可用的存储空间大小和前述第一内容的大小进行比较,当该副本节点将自身可用的存储空间大小大于等于前述第一内容的大小时,为确认该副本节点的可用存储空间足够存储该第一内容。进入步骤402。
当然,如果该副本节点将自身可用的存储空间大小小于前述第一内容的大小时,可以向中央服务器返回信息,该信息可以包含该副本节点的可用存储空间不够存储该第一内容的说明,也可以是简单的存储失败消息。
在402,为该第一内容分配存储空间。
一般来说,为该第一内容分配的存储空间的大小小于该第一内容的大小。较优的,该第一内容的大小是为该第一内容分配的存储空间的大小的整数倍。较优的,可以根据图3所示的根据第一内容的优先级情况进行存储空间分配。具体的,也可以不考虑优先级的情况,根据该第一内容的大小随机或者定量的分配一些存储空间给该第一内容。
在403,计算该第一内容在该副本节点上的存储系数K1。
具体的,该存储系数K1由该第一内容的大小和为该第一内容分配的存储空间的大小确定。具体可以采用不同的公式进行。
在404,以1/K1的概率从中央服务器下载并存储由该第一内容划分而成的数据块。
参考图4b,为步骤402-404的一个具体的例子:该第一内容在中央服务器上被分成数据分段1和数据分段2,每个数据分段12个大小相等的数据块。该402-404具体为:为该第一内容分配6个数据块大小的存储空间,计算该第一内容的存储系数K1=24/6=4,以1/4的概率从中央服务器下载数据块并存储在该副本节点上。
在405,该副本节点接收到对第二内容进行存储的指示。
具体的,该指示包括该第二内容的标识和该第二内容的大小。还可以包括该第二内容的优先级。
在406,确认该副本节点上现在的可用存储空间是否足够存储该第二内容,具体的,本实施方式以确认该副本节点上现在的可用存储空间不够存储该第二内容为例。
在407,重新为该第一内容分配存储空间。
具体的,重新为该第一内容分配的存储空间应该少于之前该第一内容在该副本节点上的存储空间。在步骤408,随机删除该第一内容的部分数据块。
具体的,该被删除的该第一内容的数据块的数量=原为第一内容分配的存储容量与重新为该第一内容分配的存储容量的差值/数据块的大小。
在实际的应用过程中,该副本节点上可能存储了多个内容,对于这些已经存储的内容,可以部分或者全部的采用上述对于第一内容采用的方法进行处理,即删除部分已经存储的数据块,以从使该副本节点的可用存储空间足够存储该待存储的第二内容。
在步骤409,当该副本节点的可用存储空间足够存储所述第二内容时,为该第二内容分配存储空间。
具体的,为该第二内容分配的存储空间一般小于该第二内容的大小。较优的,该第二内容的大小是为该第二内容分配的存储空间的整数倍。较优的,可以根据图3所示的根据第一内容的优先级情况进行存储空间分配。当然,也可以不考虑优先级的情况,根据该第一内容的大小随机或者定量的分配一些存储空间给该第一内容。
在步骤410,计算该第二内容在该副本节点上的存储系数K2。
具体的,该存储系数K2由该第二内容的大小和为该第二内容分配的存储空间的大小确定。具体可以采用不同的公式。
在步骤411,以1/K2的概率从中央服务器下载并存储由该第二内容划分而成的数据块。
通过上述实施方式,存储节点可以调节分配给各个内容的存储空间大小,使得节点可以存储多个内容,从而进一步提高了内容分布式存储的效率。
对于前述的不同的实施方式,较优的,可以设定一个内容存储的限值,例如不允许一个内容的存储系数大于Km,该Km可以为10,9,8......5等不同的自然数。当某一个内容的存储系数大于Km时,可以彻底删除该内容,或者不接收新的内容。
相应的,参考图5a,为一种与图1中所示的副本节点类似或者一致的分布式存储装置的结构示意图。该分布式存储装置包括接收单元501,分配单元502,存储单元503。
该接收单元501,用于接收中央服务器发送的由该分布式存储装置(副本节点1、2或者3)对内容进行存储的指示,该对内容进行存储的指示携带有该内容的信息。具体的该指示能携带该内容的标识、该内容的大小等信息。
该分配单元502,用于根据所述内容的信息和该分布式存储装置上的可用存储空间为该内容分配存储空间,计算该内容在该分布式存储装置上的存储系数K,该存储系数K由该内容的大小和为该内容分配的存储空间的大小确定。具体的,为该内容分配的存储空间一般小于该内容的大小,可以是根据经验值,可以是在一定大小范围内随机分配的,也可以是按照一定的原则比例分配的,例如根据优先级来分配。
该存储单元503,用于以1/K的概率从中央服务器随机下载并存储由该内容划分而成的数据块。
具体的,该图5a所示的分布式存储装置的工作原理可以参考前述图2所述的方法流程,在此不赘述。上述分布式存储装置,通过计算存储系数并按照该存储系数确定的存储概率进行数据块的存储,使得该内容的数据块可以划分得更小,系统中能用来进行存储的副本节点更多(例如客户端本身可以作为副本节点),从而,在内容占用相同存储大小的前提下,客户端可以和更多的副本节点连接获得更好的下载速度。这样,在内容进行传输时,由于各副本节点可以直接将其存储的该内容的所有数据块采用随机线性网络编码的传输方式发送出去,客户端不需要知道更多存储的细节(例如存储的具体数据块的所在的位置),从而减轻了客户端搜索调度的复杂性和降低了网络开销。
参考图5b,在一个较优的实施方式中,该分布式存储装置中的分配单元502可以进一步包括优先级模块5021和分配模块5022。
该优先级模块5021用于获得该内容的优先级。一般的,可以由中央服务器将该内容的优先级信息携带在前述对内容进行存储的指示中发送给该分布式存储装置,也可以是该分布式存储装置向中央服务器请求后收到该中央服务器发送的该内容的优先级信息。
该分配模块5022用于根据所述内容的优先级为所述内容分配存储空间,其中为高优先级的内容分配的存储空间大于为低优先级的内容分配的存储空间,计算该内容在该分布式存储装置上的存储系数K,该存储系数K由该内容的大小和为该内容分配的存储空间的大小确定。
具体的,图5b所示的分布式存储装置的工作原理可以参考图3所示的方法,在此不赘述。该根据内容优先级进行分配存储空间并存储的方案,进一步提高了存储的效率。
参考图6a,为另一个分布式存储装置的结构示意图,其中,该装置包括接收单元601,分配单元602,存储单元603,删除单元604。该装置应用于该分布式存储装置上存储有多个不同的内容的情况。
该接收单元601,用于接收中央服务器发送的由该分布式存储装置对内容进行存储的指示,该对内容进行存储的指示携带有该内容的信息。
分配单元602,用于当接收到对内容进行存储的指示后,判断该分布式存储装置的可用存储空间是否足够存储该内容;当可用存储空间足够存储该内容,则触发所述分配单元根据所述内容的信息和该分布式存储装置上的可用存储空间为该内容分配存储空间,计算该内容在该分布式存储装置上的存储系数K,该存储系数K由该内容的大小和为该内容分配的存储空间的大小确定;当可用存储空间不够存储该内容,则为前述存储单元603上已经存储的内容重新分配存储空间,并触发删除单元604。
存储单元603,用于存储单元,用于以1/K的概率从中央服务器随机下载并存储由该内容划分而成的数据块。
删除单元604a,用于被分配单元603触发后,随机删除所述存储单元中所述已经存储的内容的数据块,该被删除的数据块的数量=原来为所述内容分配的存储空间与为所述已经存储的内容重新分配的存储空间的差值/数据块的大小。
具体的,前述分配单元602可以由不同的模块组成。该分配单元602包括:
分配模块6023,用于为所述内容分配存储空间。
存储空间判断模块6021a,用于当接收到对内容进行存储的指示后,判断该分布式存储装置的可用存储空间是否足够存储该内容;当可用存储空间足够存储该内容,则触发所述分配模块6023对该内容进行前述分配、计算处理;当可用存储空间不够存储所述内容时,则触发所述分配模块6023为所述存储单元603上已经存储的内容重新分配存储空间,并触发删除单元。
可选的,该分配单元602还可以包括优先级模块6022。在这个实施方式中,优先级模块6022、分配模块6023分别与图5所示的优先级模块5021、分配模块5022的功能和工作原理类似,此处不赘述。
上述实施方式中,是以可用存储空间不够存储该内容时,为已经存储的内容重新分配存储空间并根据重新分配的存储空间删除部分已经存储的数据块的情况为例的。显然,可替换的,参考图6b,该存储空间判断模块6021a可以替换为存储条件变化判断单元6021b,该删除单元604a可以替换为数据块处理模块604b。该存储条件变化判断单元6021b用于当所述副本节点根据已经存储的内容的信息或者副本节点上的可用存储空间发生变化时,触发分配模块6023为该已经存储的内容重新分配存储空间,并触发数据块处理模块604b进行相应的处理。该数据块处理模块604b用于当为所述第一内容重新分配的存储空间小于原来为所述第一内容分配的存储空间时,可以随机删除所述内容的数据块,所述被删除的数据块的数量=原来为所述第一内容分配的存储空间与为所述第一内容重新分配的存储空间的差值/数据块的大小;或者,当为所述第一内容重新分配的存储空间大于原来为所述第一内容分配的存储空间时,可以随机从所述中央服务器增加下载所述内容的数据块,所述被增加下载的数据块的数量=为所述第一内容重新分配的存储空间与原来为所述第一内容分配的存储空间的差值/数据块的大小;或者,删除所述副本节点上已经存储的该内容的所有数据块,根据为所述内容重新分配存储空间的大小触发该分配模块6023,以便于该分配模块6023计算新的存储系数K’,并由存储单元603按照新的概率1/K’下载并存储该内容的数据块。
以上各分布式存储装置,在实际应用过程中,还可以包括编码发送单元,用于当服务客户端请求其上存储的内容时,对该存储的内容的数据块进行随机线性网络编码后发送给服务客户端;以便于服务客户端同时接收到从不同的分布式存储装置发送的所述内容的数据块后,进行解码以获得所述内容。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
通过上述分布式存储装置,实现了对内容的分布式随机存储。存储节点可以按一定的存储系数随机下载存储内容,客户端下载内容时可以任意链接存储有该内容的多个存储节点,可以采用二进制随机线性网络编码传输方式进行下载。这种存储方式提高了存储效率,在相应的传输过程中,也提高了内容传输的效率。
以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。

Claims (16)

1.一种分布式存储方法,其特征在于,所述方法包括:
副本节点接收中央服务器发送的由所述副本节点对内容进行存储的指示,所述对内容进行存储的指示携带有所述内容的信息;
所述副本节点根据所述内容的信息和所述副本节点上的可用存储空间为所述内容分配存储空间;
所述副本节点计算所述内容在所述副本节点上的存储系数K,所述存储系数K由所述内容的大小和为所述内容分配的存储空间的大小确定;
所述副本节点以1/K的概率从所述中央服务器随机下载并存储由所述内容划分而成的数据块。
2.根据权利要求1的方法,其特征在于,所述方法还包括,
获得所述内容的存储优先级;
所述根据所述内容的信息和所述副本节点上的可用存储空间为所述内容分配存储空间具体包括:
根据所述内容的优先级和所述副本节点上的可用存储空间为所述内容分配存储空间,其中当高优先级的内容与低优先级的内容大小相同或者近似时,为所述高优先级的内容分配的存储空间大于为所述低优先级的内容分配的存储空间。
3.根据权利要求2的方法,其特征在于,所述根据所述内容的优先级和所述副本节点上的可用存储空间为所述内容分配存储空间具体为:
根据公式
Figure FSB00000787338400021
计算副本节点j上分配给内容i的存储空间大小,其中,Sij表示副本节点j分配给内容i的存储空间大小,Gi表示内容i的优先级,Ci表示内容i的大小,Dj表示副本节点j上可用存储空间大小,Ij表示副本节点j上存储的多媒体内容的集合。
4.根据权利要求1的方法,其特征在于,所述计算所述内容在所述副本节点上的存储系数K具体为:
根据公式
Figure FSB00000787338400022
计算副本节点j上内容i的存储系数,
Kij表示副本节点j上内容i的存储系数,Ci表示内容i的大小,Sij表示副本节点j分配给内容i的存储空间大小。
5.根据权利要求1的方法,其特征在于,该方法进一步包括:
当所述副本节点根据所述内容的信息或者所述副本节点上的可用存储空间发生变化时,或者,所述副本节点上的可用存储空间不够存储新的内容时,
为所述内容重新分配存储空间。
6.根据权利要求5的方法,其特征在于,在为所述内容重新分配存储空间之后进一步包括:
当为所述内容重新分配的存储空间小于原来为所述内容分配的存储空间时,随机删除所述内容的数据块,所述被删除的数据块的数量=原来为所述内容分配的存储空间与为所述内容重新分配的存储空间的差值/数据块的大小;或者,
当为所述内容重新分配的存储空间大于原来为所述内容分配的存储空间时,随机从所述中央服务器增加下载所述内容的数据块,所述被增加下载的数据块的数量=为所述内容重新分配的存储空间与原来为所述内容分配的存储空间的差值/数据块的大小;或者,
删除所述副本节点上已经存储的该内容的所有数据块,根据为所述内容重新分配存储空间的大小计算新的存储系数K’,并按照新的概率1/K’下载并存储该内容的数据块。
7.根据权利要求5所述的方法,其特征在于,所述方法进一步包括设定所述内容的存储系数的限值Km,当为所述内容重新分配存储空间导致所述内容在所述副本节点上的存储系数大于Km时,删除所述内容,或者,拒绝其它内容的存储。
8.根据权利要求1所述的方法,其特征在于,
所述数据块是大小相等的,并由所述中央服务器对所述内容划分而成的,或者是大小相等的,并由中央服务器将所述内容先划分为多个数据分段后,再对每个数据分段分别划分而成的。
9.根据权利要求1-8任一所述的方法,其特征在于,所述方法进一步包括:
所述副本节点对所述存储的所述内容的数据块进行随机线性网络编码后发送给服务客户端;
以便于所述服务客户端同时接收到从不同的副本节点发送的所述内容的数据块后,进行解码以获得所述内容。
10.一种分布式存储装置,其特征在于,所述分布式存储装置包括
接收单元,用于接收中央服务器发送的由所述分布式存储装置对内容进行存储的指示,所述对内容进行存储的指示携带有所述内容的信息;
分配单元,用于根据所述内容的信息和所述分布式存储装置上的可用存储空间为所述内容分配存储空间,计算所述内容在所述分布式存储装置上的存储系数K,所述存储系数K由所述内容的大小和为所述内容分配的存储空间的大小确定;
存储单元,用于以1/K的概率从中央服务器随机下载并存储由所述内容划分而成的数据块。
11.根据权利要求10所述的分布式存储装置,其特征在于,所述分配单元具体包括:
优先级获得模块,用于获得所述内容的优先级;
分配模块,用于根据所述内容的优先级为所述内容分配存储空间,其中高优先级的内容与低优先级的内容大小相同或者近似时,为所述高优先级的内容分配的存储空间大于为所述低优先级的内容分配的存储空间,计算所述内容在所述分布式存储装置上的存储系数K,所述存储系数K由所述内容的大小和为所述内容分配的存储空间的大小确定。
12.根据权利要求11所述的分布式存储装置,其特征在于,所述分配单元进一步包括:
存储空间判断模块,用于当接收到所述对内容进行存储的指示后,判断所述分布式存储装置的可用存储空间是否足够存储所述内容;当可用存储空间足够存储所述内容时,则触发所述分配模块对所述内容进行前述分配、计算处理;当可用存储空间不够存储所述内容时,则触发所述分配模块为所述存储单元上已经存储的内容重新分配存储空间,并触发删除单元;
所述删除单元,用于随机删除所述存储单元中所述已经存储的内容的数据块,所述被删除的数据块的数量=原来为所述内容分配的存储空间与为所述已经存储的内容重新分配的存储空间的差值/数据块的大小。
13.根据权利要求11所述的分布式存储装置,其特征在于,所述分配单元进一步包括:
存储条件变化判断单元,用于当所述分布式存储装置根据已经存储的内容的信息或者分布式存储装置上的可用存储空间发生变化时,触发分配模块为所述已经存储的内容重新分配存储空间,并触发数据块处理模块进行相应的处理;
数据块处理模块用于当为所述内容重新分配的存储空间小于原来为所述内容分配的存储空间时,随机删除所述内容的数据块,所述被删除的数据块的数量=原来为所述内容分配的存储空间与为所述内容重新分配的存储空间的差值/数据块的大小;或者,当为所述内容重新分配的存储空间大于原来为所述内容分配的存储空间时,随机从所述中央服务器增加下载所述内容的数据块,所述被增加下载的数据块的数量=为所述内容重新分配的存储空间与原来为所述内容分配的存储空间的差值/数据块的大小;或者,删除所述分布式存储装置上已经存储的所述内容的所有数据块,根据为所述内容重新分配存储空间的大小触发所述分配模块,以便于所述分配模块计算新的存储系数K’,并由所述存储单元按照新的概率1/K’下载并存储所述内容的数据块。
14.根据权利要求10-13任一所述的分布式存储装置,其特征在于,所述分布式存储装置还包括
编码发送单元,用于当服务客户端请求所述内容时,对所述存储的所述内容的数据块进行随机线性网络编码后发送给服务客户端;
以便于所述服务客户端同时接收到从不同的分布式存储装置发送的所述内容的数据块后,进行解码以获得所述内容。
15.一种分布式存储系统,其特征在于,所述系统包括中央服务器,与中央服务器相连的多个副本节点,
所述中央服务器用于将其存储的内容划分为大小相等的数据块,或者将所述内容划分为多个数据分段后,对每个数据分段分别划分为大小相等的数据块,向选择的副本节点发送由所述副本节点对内容进行存储的指示,所述对所述内容进行存储的指示携带有所述内容的信息;
所述副本节点用于接收所述由所述副本节点对内容进行存储的指示后,根据所述内容的信息和所述副本节点上的可用存储空间为所述内容分配存储空间;计算所述内容在所述副本节点上的存储系数K,所述存储系数K由所述内容的大小和为所述内容分配的存储空间的大小确定;以1/K的概率从中央服务器随机下载并存储所述由所述内容划分而成的数据块。
16.根据权利要求15的分布式存储系统,其特征在于,所述系统还包括与所述多个副本节点相连的服务客户端,
所述服务客户端用于向所述多个副本节点请求所述内容,并接收所述多个副本节点发送的数据块,将所述数据块进行解码后获得所述内容;
所述副本节点进一步用于当所述服务客户端向所述副本节点请求所述内容时,对所述存储的所述内容的数据块进行随机线性网络编码后发送给服务客户端。
CN2008102177034A 2008-11-25 2008-11-25 一种分布式存储方法和装置 Active CN101741884B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008102177034A CN101741884B (zh) 2008-11-25 2008-11-25 一种分布式存储方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008102177034A CN101741884B (zh) 2008-11-25 2008-11-25 一种分布式存储方法和装置

Publications (2)

Publication Number Publication Date
CN101741884A CN101741884A (zh) 2010-06-16
CN101741884B true CN101741884B (zh) 2012-07-04

Family

ID=42464769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008102177034A Active CN101741884B (zh) 2008-11-25 2008-11-25 一种分布式存储方法和装置

Country Status (1)

Country Link
CN (1) CN101741884B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2439907A1 (en) * 2010-09-20 2012-04-11 Thomson Licensing Method of data storing in a distributed data storage system and corresponding device
CN103718529A (zh) * 2012-07-31 2014-04-09 华为技术有限公司 广告存储方法、广告插入方法、设备和系统
US9363303B2 (en) * 2013-03-15 2016-06-07 Microsoft Technology Licensing, Llc Network routing modifications for distribution of data
CN103336785B (zh) * 2013-06-04 2016-12-28 华中科技大学 一种基于网络编码的分布式存储方法及其装置
CN103533055A (zh) * 2013-10-16 2014-01-22 南京大学镇江高新技术研究院 一种基于网络编码的低冗余云存储系统及其实现方法
WO2015171835A1 (en) * 2014-05-06 2015-11-12 Tivo Inc. Cloud-based media content management
CN103970879B (zh) * 2014-05-16 2017-05-24 中国人民解放军国防科学技术大学 一种调整数据块存储位置的方法及系统
CN110162270B (zh) * 2019-04-29 2020-08-25 平安国际智慧城市科技股份有限公司 基于分布式存储系统的数据存储方法、存储节点及介质
CN113162990B (zh) * 2021-03-30 2022-08-16 杭州趣链科技有限公司 消息发送方法、装置、设备和存储介质
CN113128681B (zh) * 2021-04-08 2023-05-12 天津大学 一种多边缘设备辅助的通用cnn推理加速系统
CN113986131A (zh) * 2021-10-27 2022-01-28 致真存储(北京)科技有限公司 一种双mram的mcu及缓存数据的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184021A (zh) * 2007-12-14 2008-05-21 华为技术有限公司 一种实现流媒体缓存置换的方法、设备及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184021A (zh) * 2007-12-14 2008-05-21 华为技术有限公司 一种实现流媒体缓存置换的方法、设备及系统

Also Published As

Publication number Publication date
CN101741884A (zh) 2010-06-16

Similar Documents

Publication Publication Date Title
CN101741884B (zh) 一种分布式存储方法和装置
US10904597B2 (en) Dynamic binding for use in content distribution
KR101544485B1 (ko) 클라우드 스토리지 시스템에서 복수개의 복제본을 분산 저장하는 방법 및 장치
US8370513B2 (en) Method for transmitting and downloading streaming data
CN100498756C (zh) 被管对象的复制和传送的方法和系统
US8966097B1 (en) Fractional redundant distribution of media content
CN101155296B (zh) 数据传输的方法
CN104967861A (zh) Cdn网络中的视频缓存系统及方法
CA2840106A1 (en) Offline download method, multimedia file download method and system thereof
CN105144722A (zh) 具有多分辨率代码的网络编码存储
CN105915945A (zh) 用于cdn平台的内容分发方法及调度代理服务器
CN101677328A (zh) 一种基于内容分片的多媒体分发系统和方法
US20100191756A1 (en) Content delivery apparatus, content delivery method, and content delivery program
CN104104973A (zh) 一种应用于云媒体系统的群组带宽管理优化方法
CN104735044A (zh) 一种流媒体直播方法及系统
CN107277092A (zh) 内容分发网络及其数据下载方法
CN101626389A (zh) 一种网络节点的管理方法
Hefeeda et al. On-demand media streaming over the internet
CN105872856A (zh) 一种流媒体文件分发方法及系统
US20130198151A1 (en) Methods for file sharing related to the bit fountain protocol
EP2252057B1 (en) Method and system for storing and distributing electronic content
US20030126197A1 (en) Efficient content placement using network proximity
CN105306570A (zh) 一种集群数据的存储方法
JP2009122981A (ja) キャッシュ配置方法
CN107645475B (zh) 异质网络中的文件资源分发系统与方法

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
TR01 Transfer of patent right

Effective date of registration: 20201210

Address after: No.6, Xinqiao West Road, Xinqiao Town, Jingjiang City, Taizhou City, Jiangsu Province

Patentee after: JINGJIANG SHENJU VESSEL MANUFACTURING Co.,Ltd.

Address before: 510640 2414-2416 of the main building 371, five mountain road, Tianhe District, Guangzhou, Guangdong.

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Effective date of registration: 20201210

Address after: 510640 2414-2416 of the main building 371, five mountain road, Tianhe District, Guangzhou, Guangdong.

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right