CN101710901B - 一种具有p2p功能的分布式存储系统和方法 - Google Patents
一种具有p2p功能的分布式存储系统和方法 Download PDFInfo
- Publication number
- CN101710901B CN101710901B CN 200910180955 CN200910180955A CN101710901B CN 101710901 B CN101710901 B CN 101710901B CN 200910180955 CN200910180955 CN 200910180955 CN 200910180955 A CN200910180955 A CN 200910180955A CN 101710901 B CN101710901 B CN 101710901B
- Authority
- CN
- China
- Prior art keywords
- resource
- memory node
- central server
- client
- memory
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种具有p2p功能的分布式存储系统和方法,其特征在于:客户端向中心服务器发出读写请求;中心服务器从映射表中查找到相应的资源的存取地址,并将该位置返回给客户端;客户端根据中心服务器返回的存储节点的地址向具体的存储节点发出读写请求,存储节点向中心服务器发送健康状况报告,中心服务器根据读写的资源信息和各存储节点健康状况信息对各存储节点上的资源进行p2p调度。本发明提供的系统户方法能够利用低端机器集成组织成一个超大规模的分布式存储系统,备维护简单、支持无限的水平扩展能力。
Description
技术领域
本发明涉及一种具有p2p功能的分布式存储系统和方法,属于流媒体存储领域。
背景技术
传统的网络存储系统采用单一的存储服务器存放所有数据,存储服务器将成为系统性能的瓶颈,也将成为可靠性和安全性的焦点,而且还有单点依赖的缺陷,另外传统的存储服务器价格也比较昂贵,在数据恢复速度、可维护性方面都有比较大的缺陷,已经很难满足大规模存储应用的需要。为了解决这些问题,提出了网络分布式存储技术的概念。网络分布式存储技术是在存储应用上对用户透明,而实际物理存储却自动分布在不同的网络存储节点上的一种技术。
原来的网络应用形式,大多是采用集中式,这种方式的瓶颈在于很难扩展链接容量。P2p技术是一种把集中分散为节点与节点间的互联,从而打破了集中方式中的瓶颈问题。从这一意义上来说,如果把p2p技术与分布式存储技术结合,就能使分布式存储技术在数据恢复、数据分发、数据收束方面会具有更优的性能。
发明内容
本发明结合分布式和p2p技术,这里提出一种具有p2p功能的分布式存储系统和方法,该系统和方法能够利用低端机器,甚至用pc机就可以集成组织成一个能应用于超大规模的分布式存储系统。此系统还具备维护简单、价格低廉、应用透明以及支持无限的水平扩展能力等优良特点。该具有p2p功能的分布式存储系统,包括客户端,中心服务器和存储节点,其特征在于:
客户端向中心服务器发出读写请求;
中心服务器从映射表中查找到相应的资源的存取地址,并将该位置返回给客户端;
客户端根据中心服务器返回的存储节点的地址向具体的存储节点发出读写请求,将资源写入存储节点中的存储介质上,或者从存储节点中的存储介质中读取相应的资源;
存储节点向中心服务器发送健康状况报告,健康状况报告中包括该存储节点的存储状态信息,包括存储总容量,剩余空间等,中心服务接收各个存储节点健康状况报告信息;
中心服务器根据读写的资源信息和各存储节点健康状况信息对各存储节点上的资源进行p2p调度;
中心服务器采用映射表来存储资源映射信息而不存储实际的资源内容,所述映射表包括资源名、总长度、资源所在存储节点位置等内容;
存储节点存储实际的资源内容,并根据中心服务器的调度与其它存储节点进行p2p通信。进一步,各存储节点定时向中心服务器汇报各自的健康状况;
每一个资源都对应有一个计数器;
用户每访问一次该资源,则将该资源所对应的计数器值增加;
随着某区域内的用户读取该资源的次数的增加,当该资源所对应的计数器值达到一个设定的阀值,则中心服务器将此资源为热门资源;
为了使该区域内的用户更快的获取该热门资源,中心服务器向各存储节点发出调度请求,通知距离该区域最近的存储节点来获取此资源;
距离该区域最近的存储节点与具有该热门资源的存储节点之间建立p2p连接,该热门资源拷贝到距离此区域最近的存储节点上。
以及:
客户端向中心服务器发出读取资源的请求时;
所述资源被分为多个数据块存储在多个不同的存储节点上;
中心服务器查找这所述多个数据块对应的存放的地址,并这些地址将返回给客户端;
客户端根据从中心服务器上获得的多个数据块对应的存放的地址,向这些地址所对应的存储节点发出读取数据的请求,进而读取所述资源的全部内容。
本系统中,客户端向中心服务器发出写入资源的请求时;
首先,客户端计算出该资源的唯一标识,并将该标识,以及资源长度报告消息的形式告诉中心服务器;
中心服务器收到报告消息后记录下此报告消息,同时查找距客户端最近的有足够磁盘空间的存储节点地址返回给客户端;
中心服务器查找距客户端最近的有足够磁盘空间的存储节点地址返回给客户端;
所述存储节点地址可以是多个,其取决于分块存储的块的大小;
客户端根据中心服务器返回的存储节点的地址,客户端向存储节点发出数据写入请求,进而将数据块传送到各地址所对应的存储节点;
当存储完毕后,存储节点会把自己收到的块信息报告给中心服务器,中心服务器在映射表中记录该资源的存放信息。
客户端向存储节点发出数据写入请求时,存储节点向中心服务器请求距自己最近的两个存储节点,并进一步与这两个存储节点建立p2p连接,将客户端请求写入的数据发送到这两个存储节点上进行备份。
更进一步,如果一个资源在预先设定的时间长度内被访问的次数小于预先设定的阀值,则将其设定为冷门资源,中心服务器检测到某块区域存在冷门资源后,给此区域所有存储有此冷门资源的存储节点发送消息,通知各存储节点将其删除。
本发明还提供了一种具有p2p功能的分布式存储方法,其特征在于:
客户端向中心服务器发出读写请求;
中心服务器从映射表中查找到相应的资源的存取地址,并将该位置返回给客户端;
客户端根据中心服务器返回的存储节点的地址向具体的存储节点发出读写请求,将资源写入存储节点中的存储介质上,或者从存储节点中的存储介质中读取相应的资源;
存储节点向中心服务器发送健康状况报告,健康状况报告中包括该存储节点的存储状态信息,包括存储总容量,剩余空间等,中心服务接收各个存储节点状态报告信息;
中心服务器根据读写的资源信息和各存储节点健康状况对各存储节点上的资源进行p2p调度。
进一步,中心服务器接收到存储节点的健康状况报告后,根据健康状况判断:
当某个时段内某个地区的访问量达到一定程度的时,中心服务器会认定此资源为热门资源会自动触发存储节点之间的p2p调度;
当某个时段内某个地区的访问量低于一定程度的时候中心服务器则会认定为此资源为冷门资源,会自动触发数据收束调度;
如果某个存储节点在一定时间内未发送状态汇报数据包,则认定该存储节点为死节点。更进一步,所述读写请求包括写入资源的请求和读取资源的请求;
当存储完毕后,存储节点会把自己收到的块信息报告给中心服务器,中心服务器在映射表中记录该资源的存放信息;
存储节点定时向中心服务器发送健康状况报告,健康状况报告中包括该存储节点的存储状态信息,包括存储总容量,剩余空间等,中心服务接收各个存储节点状态报告信息;
中心服务器根据读写的资源信息和各存储节点健康状况对各存储节点上的资源进行p2p调度。
本发明提出的具有p2p功能的分布式存储方法包括以下步骤:
客户端向中心服务器发出读写请求;
中心服务器从映射表中查找到相应的资源的存取地址,并将该位置返回给客户端;
客户端根据中心服务器返回的存储节点的地址向具体的存储节点发出读写请求,将资源写入存储节点中的存储介质上,或者从存储节点中的存储介质中读取相应的资源;
存储节点向中心服务器发送健康状况报告,健康状况报告中包括该存储节点的存储状态信息,包括存储总容量,剩余空间等,中心服务接收各个存储节点状态报告信息;
中心服务器根据读写的资源信息和各存储节点健康状况对各存储节点上的资源进行p2p调度。
更进一步,每一个资源都对应有一个计数器;
用户每访问一次该资源,则将该资源所对应的计数器值增加;
随着某区域内的用户读取该资源的次数的增加,当该资源所对应的计数器值达到一个设定的阀值,则中心服务器将此资源为热门资源;
为了使该区域内的用户更快的获取该热门资源,中心服务器向各存储节点发出调度请求,通知距离该区域最近的存储节点来获取此资源;
距离该区域最近的存储节点与具有该热门资源的存储节点之间建立p2p连接,该热门资源拷贝到距离此区域最近的存储节点上。
所述读写请求包括写入资源的请求和读取资源的请求;
客户端向中心服务器发出写入资源的请求时;
首先,客户端计算出该资源在所有存储节点中的唯一标识,并将该唯一标识,以及资源长度报告消息的形式告诉中心服务器;
中心服务器收到报告消息后记录下此报告消息,同时查找距客户端最近的有足够磁盘空间的存储节点地址返回给客户端;
中心服务器查找距客户端最近的有足够磁盘空间的存储节点地址返回给客户端;
所述存储节点地址可以是多个,其取决于分块存储的块的大小;
客户端根据中心服务器返回的存储节点的地址数量,并且资源分解成与存储节点的地址数量相同数量的数据块,并向存储节点发出数据写入请求,进而将数据块传送到各地址所对应的存储节点;
当存储完毕后,存储节点会把自己收到的块信息报告给中心服务器,中心服务器在映射表中记录该资源的存放信息;
客户端向中心服务器发出读写请求;
中心服务器从映射表中查找到相应的资源的存取地址,并将该位置返回给客户端;
客户端根据中心服务器返回的存储节点的地址向具体的存储节点发出读写请求,将资源写入存储节点中的存储介质上,或者从存储节点中的存储介质中读取相应的资源;
存储节点向中心服务器发送健康状况报告,健康状况报告中包括该存储节点的存储状态信息,包括存储总容量,剩余空间等,中心服务接收各个存储节点状态报告信息;
中心服务器根据读写的资源信息和各存储节点健康状况对各存储节点上的资源进行p2p调度。
附图说明
图1是具有p2p功能的分布式存储系统的示意图
图2是中心服务器的构成以及数据处理示意图
图3是客户端向中心服务器请求读取资源的示意图
图4是中心服务器根据热门资源进行调度的示意图
图5是客户端向中心服务器发出写入操作的示意图
图6是采用冗余存储来数据块备份的示意图
图7是对冷门资源进行处理的示意图
图8是存储节点的数据处理示意图
图9是存储节点向中心服务器发送健康状况报告的示意图
具体实施方式
采用附图1来说明本申请所提出的具有p2p功能的分布式存储系统。如图1所示,首先,客户端向中心服务器发出读写请求,中心服务器存储文件映射信息而不存储实际的文件内容,作为一个具体的实施方式,可以采用一个映射表,映射表包括但不限于文件名、总长度、文件所在存储节点位置等内容,映射表可以以文件或者数据库的形式来组织实现。
中心服务器从映射表中查找到相应的文件的存取地址,该地址对应为具体的存储节点上存储介质的可寻址的位置,并将该位置返回给客户端,由于是文件在存储节点上是分块存储且块的大小固定,中心服务器不会调度磁盘空间还不够存储一个数据块的存储节点,即如果存储节点上的剩余磁盘空间小于一个分块的大小,则中心服务器不再指示客户端在该存储节点上进行写数据的操作。中心服务器进而选择另一个距客户端最近的且至少可以存储一个数据块的存储节点。
客户端根据中心服务器返回的存储节点的地址向具体的存储节点发出读写请求,如果符合读写条件(例如该存储节点的健康状况良好,剩余磁盘空间大于一个分块的大小,或者该存储节点未处于读写保护状态,或者客户端与该存储节点之间的带宽大于一个预先设定的阀值),客户端对存储节点进行读写操作,即将文件写入存储节点中的存储介质上,或者从存储节点中的存储介质中读取相应的文件。存储节点作为文件内容的实际存储位置,向中心服务器发送状态报告,状态报告中包括该存储节点的存储状态信息,包括存储总容量,剩余空间等,中心服务接收各个存储节点状态报告信息。中心服务器根据文件信息和各存储节点状态信息进行存储、读取调度控制。
存储节点存储实际的文件内容,并根据中心服务器的调度与其它存储节点进行p2p通信。系统有大量的存储节点,对存储节点机器性能基本没有限制,甚至可以利用普通pc机,具体的量视具体的应用数据容量而定。同时存储节点需要定时向中心服务器发送健康状况报告信息,以及读写事件触发的相关状态信息。
更进一步,中心服务器包含数据库模块、消息接收处理模块、调度处理模块组成。如下图2所示:消息处理模块可以处理的消息包括,客户端读写请求,存储节点的定时状态汇报信息。上述两种消息都会导致中心服务器读写数据库,此外,当客户端的读请求达到阀值或者低于某个值后,则消息处理模块会向调度处理模块触发调度事件,然后把结果告诉数据库。读数据库的时候数据库返回具体的数据,而写入进数据库的时候则返回成功与否。
上述数据库模块可以采用数据库来实现,表1-6仅仅描述了主要的关键数据项,并不代表实现的全部。
表1文件信息表
文件唯一标识 |
总长度 |
块数量 |
表2块信息表
文件唯一标识 |
块号 |
块大小 |
块位置节点标识 |
块位置存放目录 |
表3存储节点信息表
存储节点标识 |
位置信息包括ip,port |
总磁盘空间 |
带宽 |
物理位置 |
表4存储节点状态信息表
存储节点标识 |
当前已用磁盘空间 |
当前可用磁盘空间 |
当前连接数 |
当前CPU占用率 |
节点已存储的所有的块标识 |
表5用户访问统计信息表
文件标识 |
统计时间段 |
用户区域 |
访问统计数 |
表6调度策略配置表
文件标识 |
统计时间段 |
用户访问区域 |
访问数量阀值 |
一个示意性但不是限定性的关于客户端向存储节点读数据的例子:假设,要读取的文件为file1,客户端向中心服务器发出读取请求,包括文件的MD5,该MD5值作为文件在所有存储节点中的唯一标识。中心服务器找到此文件所有的块存放的存储节点后会把每个存储节点的数据块信息连同存储节点位置发送给客户端,例如所要读取的文件长度为90M,其被分别分成两个数据块,一个为64M,另一个为24M,分别存储在不同的存储节点上,中心服务器查找这两个数据块对应的存放地址(这两个数据块可能在同一个存储节点上,也可能是在不同的存储节点上,因此所述的存放地址不少于一个),并返回给客户端,客户端根据从中心服务器上获得的这两个数据块对应的存放地址,向上述存放地址所对应的存储节点发出读取数据的请求,进而读取文件file1的整个内容。
每一个资源(比如文本文件、图片、视频文件等)都对应有一个计数器,如果某区域内的用户读取该资源的次数达到一个设定的阀值,则中心服务器将此资源为热门资源,为了使该区域内的用户更快的获取该热门资源,中心服务器向存储节点发出调度请求,通知距离此区域最近的存储节点来获取此资源,以便此区域内的用户下次能够高效的读取。
如图3所示,为每一个文件设置一个访问计数器(如表5中所示的“访问统计数”),该文件每被访问一次则其所对应的访问计数器加一。当客户端向中心服务器发送文件读取请求时,中心服务器返回距客户端最近的有客户端要读取的数据的存储节点,同时增加客户端所在区域的文件访问计数器的值,如果访问计数器的累计值达到预先设定的阀值,则表明该文件为热门资源,中心服务器触发储存节点之间的p2p调度,其向存储节点发出调度请求,通知距离此区域最近的存储节点来获取此文件,距离该区域最近的存储节点与拥有该热门资源的存储节点之间建立p2p连接,以实现将该热门资源从其他存储节点上拷贝到距离此区域最近的存储节点上。客户端根据中心服务器返回的存储节点来读取数据直到读取完毕。上述p2p通信只会发生在存储节点与存储节点之间,经中心服务器调度后,被调度的两个存储节点之间会通过HTTP的方式收发数据。
触发p2p调度的必要条件是某段时间内某个地区的访问量达到系统预先设定的阀值。如图4所示,首先,假设被传输热门资源存在于存储节点k上,存储节点n是被调度存储节点(也就是说该存储节点需要从其他存储节点取数据的存储节点)。存储节点之间的数据传输时通过HTTP协议来传输。首先,存储节点n发送HTTP请求到存储节点k,存储节点k响应并发送存储节点n所需要的数据块给存储节点n直到存储节点n所需要的数据块全部发送完毕,这个时候存储节点n会通知中心服务器做出文件信息的相应变更,即修改映射表,以调整资源以及其数据块的存放信息。
一个示意性但不是限定性的关于客户端向存储节点写数据的例子:要存储的文件称为file1,文件长度为90M字节。首先,客户端会采用MD5算法计算出此文件的MD5值,该MD5值作为文件在所有存储节点中的唯一标识,然后会把所述MD5值,以及文件长度报告消息的形式告诉中心服务器,中心服务器收到此消息后会记录下此报告消息,同时查找距客户端最近的有足够磁盘空间的存储节点地址返回给客户端,所述存储节点可以为多个,其取决于分块存储的块的大小,例如每个分块存储的块大小64M,则对于文件长度为90M的文件,中心服务器查找距客户端最近的有足够磁盘空间的两个存储节点地址返回给客户端,客户端判断其与中心服务器所返回的存储节点之间的p2p通信能力,例如连接状况(可以用服务质量QoS来反映)、传输带宽,如果连接稳定、传输带宽大于预先设定的最低通信带宽,则客户端会把file1分割成64M,26M两块数据,并且将这两个数据块传送到从中心服务器所获得的两个存储节点地址所对应的存储节点。当传输完毕后,存储节点会把自己收到的块信息报告给中心服务器,中心服务器在映射表中记录该资源的存放信息,该记录过程包括在映射表(诸如表1-表6)中填写相应的数据项。
如图5所示,当客户端将文件写入存储节点时,其先向中心服务器发出写入请求,中心服务器根据该写入请求向客户端返回距离最近的一个存储节点地址,客户端向该存储节点发送将要被写入的数据块,进而存储节点将该数据块进行备份,当该存储节点被写满以后,客户端会向中心服务器另行申请存储节点,直到客户端所有数据都写完毕为止。如果期间有任务失败的话,那么会自动选择另外的存储节点进行写操作。
作为本分明的另一种实施方式,可以采用冗余存储来达到数据块备份的效果,也就是说在存储节点收到应用层发来的数据后会向中心服务器请求距自己最近的两个存储节点来备份数据。这样的好处在于客户端在读取该存储节点上的文件时,如果该存储节点发生意外状况而导致其不能工作时,客户端可以从其他两个拥有备份数据的存储节点读取所需要的数据。如图6所示,客户端向一个北京市电信存储节点发出数据写入请求,则该北京市电信存储节点向中心服务器请求另外两个存储节点的地址,中心服务器向其返回距离该存储节点最近(所述最近可以是物理上的最近,也可以是逻辑链路上的最近)的其他两个存储节点,如图6的底部所示的其他两个北京市电信节点,这两个北京市电信存储节点收到备份数据后会通知中心服务器自己收到了来自其上层存储节点(图6中接收客户端的数据的北京市电信存储节点)发送来的备份信息。
如果一个资源在预先设定的时间长度内(比如一月)被访问的次数小于预先设定的阀值,则将其设定为冷门资源,冷门资源所占用的存储节点磁盘空间就是一种浪费。如图7所示,中心服务器检测到某块区域存在冷门资源后,会给此区域所有存储有此资源的存储节点发送消息,通知各存储节点将其删除;如果此节点存储的资源的来源为客户端,那么可以认为此节点上的资源为原始数据,则压缩存储磁带设备。
如图8所示,存储节点的具有网络读写数据模块、系统信息收集模块、状态通知模块,客户端向存储节点发出I/O请求,存储节点的网络数据读写模块接收该请求,根据该请求向磁盘读写数据,如果是读数据返回的是具体的数据,如果是写数据则返回的是操作结果(成功或者失败)。系统信息收集模块收集磁盘空间,连接数,系统资源占用信息,并由状态通知模块负责把这些信息汇报给中心服务器。
如图9所示,中心服务器来根据存储节点即时汇报的数据来进行调度,也正是通过定时汇报来得知每个存储节点的健康状况。每个存储节点会定时向中心服务器汇报此节点的健康状况(见表3,此外所述健康状况也可以采用心跳报告来实现)。首先,每个存储节点都会维护一个定时器,每隔一段时间把系统信息收集器收集到的信息发送给中心服务器,这里的信息包括某个时段内某个地区的访问量、磁盘剩余空间,连接数。其中,某个时段内某个地区的访问量是存储节点之间触发p2p调度的依据,也是数据收束调度的依据。当某个时段内某个地区的访问量达到一定程度的时候中心服务器会认定此资源为热门资源会自动触发存储节点之间的p2p调度,当某个时段内某个地区的访问量低于一定程度的时候中心服务器则会认定为此资源为冷门资源,会自动触发数据收束调度。磁盘剩余空间和连接数则做为负载均衡调度的依据。此外状态汇报也可当作心跳包使用,如果某个存储节点在一定时间内未发送状态汇报数据包,则认定该存储节点为死节点,来做为存储节点是否存活的依据。
综上所述,本发明提供了一种存储节点间具备p2p功能的分布式文件存储系统及其相应的方法,此系统较其他文件存储系统和方法的最大特点就是以智能的方式实现了分布式存储,并且存储节点与存储节点间可以通过p2p的方式进行数据转移。这两个特性使得分布式存储系统对于应用系统来说提供了更透明的使用方式和更高效的数据存储效率。同时本系统和方法的实现方式还为极大的利用低端机器构架超大规模的的存储系统提供了方法,这一方法极大的降低了存储系统的成本,却并不损失性能。
Claims (7)
1.一种具有p2p功能的分布式存储系统,包括客户端,中心服务器和存储节点,其特征在于:
客户端向中心服务器发出读写请求;
客户端根据中心服务器返回的存储节点的地址向具体的存储节点发出读写请求,将资源写入存储节点中的存储介质上,或者从存储节点中的存储介质中读取相应的资源;
存储节点向中心服务器发送健康状况报告,健康状况报告中包括该存储节点的存储状态信息,包括存储总容量,剩余空间、某个时段内某个地区的访问量、磁盘剩余空间,连接数;中心服务接收各个存储节点健康状况报告信息;
中心服务器根据读写的资源信息和各存储节点健康状况信息对各存储节点上的资源进行p2p调度;
中心服务器采用映射表来存储资源映射信息而不存储实际的资源内容,所述映射表包括资源名、总长度、资源所在存储节点位置内容;
每一个资源都对应有一个计数器;
用户每访问一次该资源,则将该资源所对应的计数器值增加;
随着某区域内的用户读取该资源的次数的增加,当该资源所对应的计数器值达到一个设定的阀值,则中心服务器将此资源认定为热门资源;
为了使该区域内的用户更快的获取该热门资源,中心服务器向各存储节点发出调度请求通知距离该区域最近的存储节点来获取此资源;
距离该区域最近的存储节点与具有该热门资源的存储节点之间建立p2p连接,该热门资源拷贝到距离此区域最近的存储节点上;
每一个资源都有一个MD5值,该MD5值作为该资源在所有存储节点中的唯一标识;
客户端采用MD5算法计算出此资源的MD5值,然后把所述MD5值,以及文件长度以报告消息的形式告诉中心服务器,中心服务器收到此消息后记录下此报告消息,同时查找距客户端最近的有足够磁盘空间的存储节点地址返回给客户端;存储节点存储实际的资源内容,并根据中心服务器的调度与其它存储节点进行p2p通信。
2.如权利要求1所述的具有p2p功能的分布式存储系统,其特征在于:
各存储节点定时向中心服务器汇报各自的健康状况;
如果某个存储节点在一定时间内未发送状态汇报数据包,则认定该存储节点为死节点中心服务器来根据存储节点的健康状况来进行调度;
对于一个资源而言,当某个时段内某个地区的访问量达到一定程度时,中心服务器将此资源认定为热门资源,并触发存储节点之间的p2p调度,当某个时段内某个地区的访问量低于一定程度时,中心服务器则将此资源认定为冷门资源,并触发数据收束调度。
3.如权利要求2所述的具有p2p功能的分布式存储系统,其特征在于:
客户端向中心服务器发出读取资源的请求时;
所述资源被分为多个数据块存储在多个不同的存储节点上;
中心服务器查找所述多个数据块对应的存放的地址,并将这些地址返回给客户端;
客户端根据从中心服务器上获得的多个数据块对应的存放的地址,向这些地址所对应的存储节点发出读取数据的请求,进而读取所述资源的全部内容。
4.如权利要求2所述的具有p2p功能的分布式存储系统,其特征在于:
中心服务器查找距客户端最近的有足够磁盘空间的存储节点地址返回给客户端;
所述存储节点地址的数量取决于分块存储的块的大小;
客户端根据中心服务器返回的存储节点的地址数量,并且资源分解成与存储节点的地址数量相同数量的数据块,并向存储节点发出数据写入请求,进而将数据块传送到各地址所对应的存储节点;
当存储完毕后,存储节点会把自己收到的块信息报告给中心服务器,中心服务器在映射表中记录该资源的存放信息。
5.如权利要求4所述的具有p2p功能的分布式存储系统,其特征在于:
客户端向存储节点发出数据写入请求时,存储节点向中心服务器请求距自己最近的两个存储节点,并进一步与这两个存储节点建立p2p连接,将客户端请求写入的数据发送到这两个存储节点上进行备份。
6.如权利要求2所述的具有p2p功能的分布式存储系统,其特征在于:
如果一个资源在预先设定的时间长度内被访问的次数小于预先设定的阀值,则将其设定为冷门资源,中心服务器检测到某块区域存在冷门资源后,给此区域所有存储有此冷门
资源的存储节点发送消息,通知各存储节点将其删除。
7.一种具有p2p功能的分布式存储方法,其特征在于包括以下步骤:
客户端向中心服务器发出读写请求;
中心服务器从映射表中查找到相应的资源的存取地址,并将该位置返回给客户端;
客户端根据中心服务器返回的存储节点的地址向具体的存储节点发出读写请求,将资源写入存储节点中的存储介质上,或者从存储节点中的存储介质中读取相应的资源;
存储节点向中心服务器发送健康状况报告,健康状况报告中包括该存储节点的存储状态信息,包括存储总容量,剩余空间、某个时段内某个地区的访问量、磁盘剩余空间,连接数;中心服务接收各个存储节点状态报告信息;
每一个资源都对应有一个计数器;
用户每访问一次该资源,则将该资源所对应的计数器值增加;
随着某区域内的用户读取该资源的次数的增加,当该资源所对应的计数器值达到一个设定的阀值,则中心服务器将此资源认定为热门资源;
为了使该区域内的用户更快的获取该热门资源,中心服务器向各存储节点发出调度请求通知距离该区域最近的存储节点来获取此资源;
距离该区域最近的存储节点与具有该热门资源的存储节点之间建立p2p连接,该热门资源拷贝到距离此区域最近的存储节点上;
每一个资源都有一个MD5值,该MD5值作为该资源在所有存储节点中的唯一标识;
客户端采用MD5算法计算出此资源的MD5值,然后把所述MD5值,以及文件长度以报告消息的形式告诉中心服务器,中心服务器收到此消息后记录下此报告消息,同时查找距客户端最近的有足够磁盘空间的存储节点地址返回给客户端;存储节点存储实际的资源内容,并根据中心服务器的调度与其它存储节点进行p2p通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910180955 CN101710901B (zh) | 2009-10-22 | 2009-10-22 | 一种具有p2p功能的分布式存储系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910180955 CN101710901B (zh) | 2009-10-22 | 2009-10-22 | 一种具有p2p功能的分布式存储系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101710901A CN101710901A (zh) | 2010-05-19 |
CN101710901B true CN101710901B (zh) | 2012-12-05 |
Family
ID=42403661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910180955 Active CN101710901B (zh) | 2009-10-22 | 2009-10-22 | 一种具有p2p功能的分布式存储系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101710901B (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8996803B2 (en) * | 2010-07-02 | 2015-03-31 | Futurewei Technologies, Inc. | Method and apparatus for providing highly-scalable network storage for well-gridded objects |
CN102137145B (zh) * | 2010-12-03 | 2015-03-18 | 华为技术有限公司 | 分布式内容管理的方法、装置及系统 |
CN102333120B (zh) * | 2011-09-29 | 2014-05-21 | 高新兴科技集团股份有限公司 | 一种负载均衡处理的流存储系统 |
CN102546623A (zh) * | 2011-12-30 | 2012-07-04 | 成都市华为赛门铁克科技有限公司 | 加速提供互联网应用资源的方法、资源管理服务器及系统 |
WO2014085956A1 (zh) * | 2012-12-03 | 2014-06-12 | 华为技术有限公司 | 数据存储方法和客户端设备及客户端计算机程序产品 |
CN103533014B (zh) * | 2013-04-23 | 2017-04-05 | Tcl集团股份有限公司 | 一种用于提供临时扩展空间的方法及系统 |
CN103281394A (zh) * | 2013-06-07 | 2013-09-04 | 北京奇虎科技有限公司 | 文件获取方法、节点服务器和系统 |
CN103390041B (zh) * | 2013-07-18 | 2016-05-04 | 杭州东信北邮信息技术有限公司 | 一种基于中间件提供数据服务的方法和系统 |
CN203520873U (zh) * | 2013-08-13 | 2014-04-02 | 深圳市奥尼电子工业有限公司 | 基于云服务器的便携式网络硬盘 |
CN104754007A (zh) * | 2013-12-26 | 2015-07-01 | 伊姆西公司 | 用于管理网络附加存储的方法和装置 |
CN104754021B (zh) * | 2013-12-31 | 2018-04-13 | 伊姆西公司 | 用于促进对分布式存储系统中的数据的访问的装置和方法 |
CN103997540B (zh) * | 2014-06-10 | 2017-09-12 | 深圳市友华通信技术有限公司 | 网络分布式存储的实现方法 |
CN104268087A (zh) * | 2014-09-12 | 2015-01-07 | 清华大学 | 在建大坝混凝土实时测温海量数据的存储方法及装置 |
CN104239528B (zh) * | 2014-09-19 | 2017-03-08 | 盛杰 | 文件储存系统和文件储存路径记录方法 |
CN104980494B (zh) * | 2015-05-14 | 2018-07-13 | 大连理工大学 | 一种具有本地缓存的云存储下载共享平台及方法 |
CN105915574A (zh) * | 2015-12-14 | 2016-08-31 | 乐视网信息技术(北京)股份有限公司 | 用于文件同步的方法、接收方设备及系统 |
CN105872002A (zh) * | 2015-12-22 | 2016-08-17 | 乐视云计算有限公司 | 视频节目获取方法、设备及系统 |
CN105550347B (zh) * | 2015-12-25 | 2020-07-14 | 网易(杭州)网络有限公司 | 数据处理方法及装置 |
CN105867848B (zh) * | 2016-03-28 | 2019-09-13 | 深圳忆联信息系统有限公司 | 一种信息处理方法及硬盘模组 |
CN106027647B (zh) * | 2016-05-20 | 2019-07-09 | 云南云电同方科技有限公司 | Lxpfs集群分布式文件存储系统 |
CN106101270A (zh) * | 2016-08-05 | 2016-11-09 | 成都佳荣科技有限公司 | 数据分布式存储系统 |
CN106682109A (zh) * | 2016-12-05 | 2017-05-17 | 深圳市中博睿存科技有限公司 | 分布式文件系统及其数据处理方法和装置 |
CN106648899A (zh) * | 2016-12-28 | 2017-05-10 | 深圳Tcl数字技术有限公司 | 基于终端设备剩余存储空间的云计算存储方法及装置 |
CN110502333B (zh) * | 2018-05-16 | 2022-09-02 | 杭州海康威视系统技术有限公司 | 一种访问请求的处理方法和云存储系统 |
CN108833396A (zh) * | 2018-06-07 | 2018-11-16 | 北京百悟科技有限公司 | 一种确权的方法、装置、系统及终端 |
CN111258560B (zh) * | 2018-11-30 | 2024-04-16 | 顺丰科技有限公司 | 数据存储装置、系统及方法 |
CN110191143B (zh) * | 2018-12-13 | 2022-09-30 | 浙江宇视科技有限公司 | 一种资源发布方法、装置及系统 |
CN110955641A (zh) * | 2019-11-05 | 2020-04-03 | 上海海加网络科技有限公司 | 一种用于分布式文件共享系统的嵌入式存储终端装置 |
CN110730388B (zh) * | 2019-12-19 | 2020-08-04 | 千脉文化传媒(上海)有限公司 | 一种p2p视频点播系统中节点连接方法 |
CN115129236A (zh) * | 2021-03-29 | 2022-09-30 | 华为技术有限公司 | 一种双活存储系统的管理方法及装置 |
CN115167783A (zh) * | 2022-08-03 | 2022-10-11 | 贵州同创科技有限公司 | 一种基于大数据的电力物资数据多元存储方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996008112A1 (en) * | 1994-09-08 | 1996-03-14 | International Business Machines Corporation | Video server system |
WO2003005625A2 (en) * | 2001-07-06 | 2003-01-16 | Computer Associates Think, Inc. | Systems and methods of information backup |
CN101188569A (zh) * | 2006-11-16 | 2008-05-28 | 饶大平 | 在网络上构建数据量子空间的方法及分布式文件存储系统 |
CN101399765A (zh) * | 2007-09-28 | 2009-04-01 | 华为技术有限公司 | 降低对等网络中热点节点负荷的方法和系统 |
-
2009
- 2009-10-22 CN CN 200910180955 patent/CN101710901B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996008112A1 (en) * | 1994-09-08 | 1996-03-14 | International Business Machines Corporation | Video server system |
WO2003005625A2 (en) * | 2001-07-06 | 2003-01-16 | Computer Associates Think, Inc. | Systems and methods of information backup |
CN101188569A (zh) * | 2006-11-16 | 2008-05-28 | 饶大平 | 在网络上构建数据量子空间的方法及分布式文件存储系统 |
CN101399765A (zh) * | 2007-09-28 | 2009-04-01 | 华为技术有限公司 | 降低对等网络中热点节点负荷的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101710901A (zh) | 2010-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101710901B (zh) | 一种具有p2p功能的分布式存储系统和方法 | |
CN103078927B (zh) | 一种key-value数据分布式缓存系统及其方法 | |
CN102571772B (zh) | 一种元数据服务器热点均衡方法 | |
CN104965850B (zh) | 一种基于开源技术的数据库高可用实现方法 | |
US6047309A (en) | Recording observed and reported response characteristics at server and/or client nodes in a replicated data environment, and selecting a server to provide data based on the observed and/or reported response characteristics | |
CN103106152B (zh) | 基于层次存储介质的数据调度方法 | |
CN103905537A (zh) | 分布式环境下管理工业实时数据存储的系统 | |
CN102833352A (zh) | 分布式缓存管理系统和实现分布式缓存管理的方法 | |
CN101519078A (zh) | 综合监控系统多区域数据同步方法 | |
CN100452046C (zh) | 一种海量文件的存储方法及系统 | |
CN102594852A (zh) | 数据访问方法、节点及系统 | |
CN102523279A (zh) | 一种分布式文件系统及其热点文件存取方法 | |
CN102591970A (zh) | 一种分布式键-值查询方法和查询引擎系统 | |
KR20100070968A (ko) | 클러스터 데이터 관리 시스템 및 클러스터 데이터 관리 시스템에서 병렬 처리를 이용한 데이터 복구 방법 | |
CN103067461A (zh) | 一种文件的元数据管理系统以及元数据管理方法 | |
CN102761528A (zh) | 数据管理系统及方法 | |
US20130031221A1 (en) | Distributed data storage system and method | |
CN112559637B (zh) | 基于分布式存储的数据处理方法、装置、设备以及介质 | |
CN104735110A (zh) | 元数据管理方法和系统 | |
CN101127898A (zh) | 流媒体系统及其多媒体文件的切片存储和流服务方法 | |
CN102316097A (zh) | 一种减少用户等待时间的流媒体调度分发方法 | |
CN103152390A (zh) | 分布式存储系统的节点配置方法、装置、节点及系统 | |
CN112947860B (zh) | 一种分布式数据副本的分级存储与调度方法 | |
CN108776690B (zh) | 基于分层治理的hdfs分布式与集中式混合数据存储系统的方法 | |
CN103384882A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210624 Address after: 100025 1508, 12 / F, building 3, 105 yaojiayuan Road, Chaoyang District, Beijing Patentee after: LECLOUD COMPUTING Co.,Ltd. Address before: 100081 No. 68, No. 19, South College Road, Haidian District, No. six, floor 6184, Beijing Patentee before: LE SHI INTERNET INFORMATION & TECHNOLOGY CORP., BEIJING |
|
PP01 | Preservation of patent right | ||
PP01 | Preservation of patent right |
Effective date of registration: 20230811 Granted publication date: 20121205 |