CN103338242B - 一种基于多级缓存的混合云存储***和方法 - Google Patents
一种基于多级缓存的混合云存储***和方法 Download PDFInfo
- Publication number
- CN103338242B CN103338242B CN201310246369.6A CN201310246369A CN103338242B CN 103338242 B CN103338242 B CN 103338242B CN 201310246369 A CN201310246369 A CN 201310246369A CN 103338242 B CN103338242 B CN 103338242B
- Authority
- CN
- China
- Prior art keywords
- user
- file
- super node
- request
- module
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于多级缓存的混合云存储方法,包括:用户登录时根据其所在的局域网加入用户组,向该用户组所在区域的超级节点发送用户名和密码进行用户认证,超级节点根据接收到的用户名和密码对用户进行认证,用户接收从超级节点返回的目录视图及其所有文件的元数据信息,将目录视图发送到该用户组的组长节点,组长节点根据接收到的目录视图判断其组缓存空间中是否包括该目录视图中的文件,若是则将组缓存空间中存储该文件的节点的IP地址反馈给用户,用户根据接收到的反馈信息确定其目录视图中每一个文件的最优访问路径。本发明的方法允许用户优先从网络延迟较低的用户组缓存、超级节点层缓存中访问数据,从而降低用户数据访问的网络延迟。
Description
技术领域
本发明属于计算机云存储领域,更具体地,涉及一种基于多级缓存的混合云存储***和方法。
背景技术
近年来,云存储***一直是网络存储领域研究的热点。云存储***需要为用户提供高效的、有质量的、可扩展的服务。但是目前云存储***仍然停留在传统的中心存储模式之下,如Goole的GFS、亚马逊的S3和微软的Azure等分布式云存储***,其物理结构是将分散于全球的数据中心组织起来提供数据存储服务,因此仍然是中心存储-用户的服务模式。
随着用户对云存储***的实时性、可扩展性、高效性等要求不断提高,传统中心存储-用户服务模式下的云存储***网络延迟大、用户接入带宽有限的缺陷变得越来越明显:传统的云存储***通常将中心存储部署于区域级的骨干网络,用户需通过广域网到云存储***的中心存储进行数据存取操作,相比用户从本地磁盘存取数据,其数据传输速度慢,并且很容易受到用户接入云存储***的网络环境的影响,导致用户从中心存储获取数据的网络延迟非常大;在传统的云存储***中,所有用户的数据存取请求都发往中心存储进行处理,外加数据存取服务本身对网络带宽的要求比较高,导致在多用户并发存取数据时,中心存储的用户接入带宽成为各用户竞争的资源,用户接入带宽有限,数据传输速度慢,服务质量得不到保证。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于多级缓存的混合云存储方法,其目的在于采用多级缓存技术,形成用户组缓存--超级节点层缓存--中心存储三层存储架构,允许用户优先从网络延迟较低的用户组缓存、超级节点层缓存中访问数据,从而降低用户数据访问的网络延迟。
为实现上述目的,按照本发明的一个方面,提供了一种基于多级缓存的混合云存储方法,包括如下步骤:
(1)用户登录时根据其所在的局域网加入一个用户组,向该用户组所在区域的超级节点发送用户名和密码进行用户认证;
(2)超级节点根据接收到的用户名和密码对用户进行认证;
(3)用户接收从超级节点返回的目录视图及其所有文件的元数据信息,将目录视图发送到该用户组的组长节点;
(4)组长节点根据接收到的目录视图判断其组缓存空间中是否包括该目录视图中的文件,若是则将组缓存空间中存储该文件的节点的IP地址反馈给用户,然后进入步骤(5),否则向用户发送空的反馈信息,然后进入步骤(5);
(5)用户根据接收到的反馈信息确定其目录视图中每一个文件的最优访问路径,形成记录结构,将所有记录结构合并为一个元数据文件,并将该元数据文件缓存到本地;
(6)用户根据请求类型以及本地缓存元数据中的最优访问路径判断是向超级节点、该用户所在用户组内的组员节点还是中心存储发送请求;若是向超级节点发送请求,则转入步骤(7),若是向该用户所在用户组内的组员节点发送请求,则转入步骤(12),若是向中心存储发送请求,则转入步骤(14);
(7)超级节点判断来自用户的请求是写请求还是读请求,如果是写请求则转入步骤(8),如果是读请求则转入步骤(13);
(8)超级节点根据来自用户的写请求判断该用户是否有写文件的权限,若有则转入步骤(9),否则向用户反馈无写权限的信息,然后过程结束;
(9)超级节点判断其缓存空间是否已满,若是则转入步骤(10),否则转入步骤(11);
(10)超级节点采用替换算法将其缓存空间中的部分文件换出该超级节点;
(11)超级节点将来自用户的写请求对应的文件上传到其缓存空间中进行缓存,并在文件上传完成后,更新目录视图和该文件的元数据信息,并将更新后的目录视图和元数据信息反馈给用户,重复执行步骤(3)至(5),然后过程结束;
(12)组员节点根据来自用户的请求,采用P2P技术传输该请求对应的文件,然后过程结束;
(13)超级节点根据来自用户的读请求判断该用户是否有读文件的权限,若有则进行读文件的操作,然后过程结束;否则向用户反馈无读权限的信息,然后过程结束;
(14)中心存储根据来自用户的请求判断该用户是否有读文件的权限,若有则进行读文件的操作,然后过程结束,否则向用户反馈无读权限的信息,然后过程结束。
优选地,步骤(2)具体为,若认证通过则使用用户名获取该用户的目录视图,然后遍历目录视图中所有文件,取出文件的元数据信息,元数据信息包括文件的副本数目、各个副本的存放位置信息、文件的属性,并将该用户目录视图下所有文件的元数据信息反馈给用户,若认证未通过则给用户发送认证错误信息。
优选地,步骤(5)具体为,对所有存放该副本的节点的IP地址进行比较,选择一个离用户最近的IP地址作为之后用户访问该文件的目的地,其中IP地址优先级如下:用户组缓存空间IP>超级节点层缓存空间IP>中心存储IP。
优选地,写请求中的参数包括:1)需上传的文件在本地存放的绝对路径,以及2)由超级节点的IP和端口号以及用户的目录视图中该文件待存放的绝对路径所组成的URL。读请求中的参数包括:1)需下载的文件在本地待存放的绝对路径,以及2)超级节点或中心存储的IP和端口号以及用户的目录视图中该文件存放的绝对路径所组成的URL。
优选地,步骤(10)包括以下子步骤:
(10-1)采用替换算法在缓存空间中查找待替换的文件;
(10-2)依次判断待替换的文件在中心存储是否存在,若是则转入步骤(10-3),否则直接删除该待替换的文件,然后进入步骤(11);
(10-3)判断该待替换的文件的版本与中心存储中该文件的版本是否一致,若是,则直接删除该待替换的文件,然后进入步骤(11),否则进入步骤(10-4);
(10-4)将该待替换的文件调度到中心存储进行备份。
本发明还提供了一种基于多级缓存的混合云存储***,其目的在于在中心存储之外开辟超级节点层缓存空间以及用户组缓存空间提供热点数据存取服务,能够缓解中心存储的带宽压力,保证用户以较高带宽接入本发明***。
为实现上述目的,按照本发明的另一方面,提供了一种基于多级缓存的混合云存储***,包括:
第一模块,用于用户登录时根据其所在的局域网加入一个用户组,向该用户组所在区域的超级节点发送用户名和密码进行用户认证;
第二模块,用于超级节点接收到的用户名和密码时对用户进行认证;
第三模块,用于用户接收从超级节点返回的目录视图以及其所有文件的元数据信息,并将目录视图发送到该用户组的组长节点;
第四模块,用于组长节点根据接收到的目录视图判断其组缓存空间中是否包括该目录视图中的文件,若是则将组缓存空间中存储该文件的节点的IP地址反馈给用户,然后进入第五模块,否则向用户发送空的反馈信息,然后进入第五模块;
第五模块,用于用户根据接收到的反馈信息确定其目录视图中每一个文件的最优访问路径,以形成记录结构,将所有记录结构合并为一个元数据文件,并将该元数据文件缓存到本地;
第六模块,用于用户根据请求类型以及本地缓存元数据中的最优访问路径判断是向超级节点、该用户所在用户组内的组员节点还是中心存储发送请求;若是向超级节点发送请求,则转入第七模块,若是向该用户所在用户组内的组员节点发送请求,则转入第十二模块,若是向中心存储发送请求,则转入第十四模块;
第七模块,用于超级节点判断来自用户的请求是写请求还是读请求,如果是写请求则转入第八模块,如果是读请求则转入第十三模块;
第八模块,用于超级节点根据来自用户的写请求判断该用户是否有写文件的权限,若有则转入第九模块,否则向用户反馈无写权限的信息,然后过程结束;
第九模块,用于超级节点判断其缓存空间是否已满,若是则转入第十模块,否则转入第十一模块;
第十模块,用于超级节点采用替换算法将其缓存空间中的部分文件换出该超级节点;
第十一模块,用于超级节点将来自用户的写请求对应的文件上传到其缓存空间中进行缓存,并在文件上传完成后,更新目录视图和该文件的元数据信息,并将更新后的目录视图和元数据信息反馈给用户,重复执行第三模块至第五模块,然后过程结束;
第十二模块,用于组员节点根据来自用户的请求,采用P2P技术传输该请求对应的文件,然后过程结束;
第十三模块,用于超级节点根据来自用户的读请求判断该用户是否有读文件的权限,若有则进行读文件的操作,然后过程结束;否则向用户反馈无读权限的信息,然后过程结束;
第十四模块,用于中心存储根据来自用户的请求判断该用户是否有读文件的权限,若有则进行读文件的操作,然后过程结束,否则向用户反馈无读权限的信息,然后过程结束。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
1.网络延迟小:由于采用了步骤(5)、步骤(12)和步骤(13),允许用户优先从网络延迟较低的用户组缓存、超级节点层缓存中访问数据,降低了用户数据访问的网络延迟。
2.用户接入带宽高,提供有服务质量保障的云存储服务:由于采用了步骤(12)和步骤(13),将原先集中在中心存储的带宽开销分摊到各个用户组缓存空间和超级节点层缓存空间,避免了所有用户竞争中心存储带宽的现象,提高了用户接入***的带宽,给用户提供了一种有服务质量保障的云存储服务。
3.本发明***的超级节点层实现了一个分布式缓存文件***,集合了分布式认证、分布式元数据管理、分布式数据缓存等功能。各超级节点之间能够进行负载均衡,避免传统分布式文件***中元数据服务器单点故障的问题;此外传统云存储***中将数据和元数据分开存储,在本发明***的超级节点层实现了元数据的进一步划分,将元数据再划分为命名空间树和文件元数据(仅包括副本数目、副本位置信息以及文件的属性),从而降低了命名空间树的遍历与更新开销,方便了云存储***命名空间树的管理。
附图说明
图1是本发明基于多级缓存的混合云存储方法的流程图。
图2是本发明基于多级缓存的混合云存储***的应用环境图。
图3是本发明基于多级缓存的混合云存储***的模块图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,本发明基于多级缓存的混合云存储方法包括如下步骤:
(1)用户登录时根据其所在的局域网加入一个用户组,向该用户组所在区域的超级节点发送用户名和密码进行用户认证;
本步骤的优势在于每个超级节点负责一定区域内用户的认证请求,并能够根据该超级节点的负载进行动态区域划分,保证各超级节点间的负载均衡,避免单点故障。
(2)超级节点根据接收到的用户名和密码对用户进行认证,若认证通过则使用用户名获取该用户的目录视图,然后遍历目录视图中所有文件,取出文件的元数据信息,元数据信息包括文件的副本数目、各个副本的存放位置信息、文件的属性(包括文件创建时间、文件大小等),并将该用户目录视图下所有文件的元数据信息反馈给用户。若认证未通过则给用户发送认证错误信息;
本步骤的优势在于能够在用户认证通过后将该用户的目录视图以及目录视图中所有文件的元数据在一次信息交互过程中完整地反馈给用户,保证之后的文件访问请求能够一次命中,降低了***的网络通信开销。
(3)用户接收从超级节点返回的目录视图及其所有文件的元数据信息,将目录视图发送到该用户组的组长节点;
(4)组长节点根据接收到的目录视图判断其组缓存空间中是否包括该目录视图中的文件,若是则将组缓存空间中存储该文件的节点的IP地址反馈给用户,然后进入步骤(5),否则向用户发送空的反馈信息,然后进入步骤(5);
本步骤的优势在于能够判断某个用户目录视图中的文件在用户组的缓存空间中是否有副本存放,并将结果反馈给用户,作为之后文件最优访问路径判断的依据。
(5)用户根据接收到的反馈信息确定其目录视图中每一个文件的最优访问路径,形成(文件名,最优访问路径)的记录结构,将所有记录结构合并为一个元数据文件,并将该元数据文件缓存到本地;具体而言,针对每一个文件,可能根据其热度的不同,会在用户组缓存空间、超级节点层缓存空间或者是中心存储中的一个或者多个地方存有副本,确定最优访问路径需要对所有存放该副本的节点的IP地址进行比较,选择一个离用户最近的IP地址作为之后用户访问该文件的目的地。IP地址优先级如下:用户组缓存空间IP>超级节点层缓存空间IP>中心存储IP;
本步骤的优势在于能够判断出文件的副本位置信息中离用户最近的那个,形成记录并缓存到本地。用户发送文件访问请求时,能够直接从本地缓存的元数据中获取该文件的最优访问路径,并以该最优访问路径作为目的节点发送文件访问请求,从最优访问路径获取文件的速度比从本***中任何其他持有该文件副本的节点获取都要快,从而极大降低用户访问文件的网络延迟,保障***的服务质量。
(6)用户根据请求类型以及本地缓存元数据中的最优访问路径判断是向超级节点、该用户所在用户组内的组员节点还是中心存储发送请求;若是向超级节点发送请求,则转入步骤(7),若是向该用户所在用户组内的组员节点发送请求,则转入步骤(12),若是向中心存储发送请求,则转入步骤(14);
本步骤的优势在于用户能够根据其请求类型以及本地缓存的元数据信息判断是想超级节点、该用户所在组内的组员节点还是中心存储发送请求,能够保证用户的请求直接发送到对应的目的节点。
(7)超级节点判断来自用户的请求是写请求还是读请求,如果是写请求则转入步骤(8),如果是读请求则转入步骤(13);具体而言,写请求中的参数包括:1)需上传的文件在本地存放的绝对路径,以及2)由超级节点的IP和端口号以及用户的目录视图中该文件待存放的绝对路径所组成的URL。读请求中的参数包括1)需下载的文件在本地待存放的绝对路径,以及2)超级节点或中心存储的IP和端口号以及用户的目录视图中该文件存放的绝对路径所组成的URL;
(8)超级节点根据来自用户的写请求判断该用户是否有写文件的权限,若有则转入步骤(9),否则向用户反馈无写权限的信息,然后过程结束;具体而言,超级节点从内存中取出该写请求对应文件的访问控制表,并判断该用户是否存在于该访问控制表中,若是则表明该用户拥有写权限;
(9)超级节点判断其缓存空间是否已满,若是则转入步骤(10),否则转入步骤(11);
(10)超级节点采用替换算法将其缓存空间中的部分文件换出该超级节点;在本实施方式中,替换算法采用的是最近最少使用算法(LeastRecentlyUsed,简称LRU);本步骤包括以下子步骤:
(10-1)采用替换算法在缓存空间中查找待替换的文件;
(10-2)依次判断待替换的文件在中心存储是否存在,若是则转入步骤(10-3),否则直接删除该待替换的文件,然后进入步骤(11);
(10-3)判断该待替换的文件的版本与中心存储中该文件的版本是否一致,若是,则直接删除该待替换的文件,然后进入步骤(11),否则进入步骤(10-4);
(10-4)将该待替换的文件调度到中心存储进行备份。
本步骤的优势在于能够通过最近最少使用替换算法找出该超级节点缓存空间中待替换的文件,然后根据该文件在中心存储存放与否及其文件版本一致与否的判定条件决定是否将待替换的文件调度到中心存储进行备份,既能保证超级节点缓存空间拥有足够的空间接收用户写入的文件,又能够保证待替换文件能够在中心存储安全可靠地备份。
(11)超级节点将来自用户的写请求对应的文件上传到其缓存空间中进行缓存,并在文件上传完成后,更新目录视图和该文件的元数据信息,并将更新后的目录视图和元数据信息反馈给用户,重复执行步骤(3)至(5),然后过程结束;
本步骤的优势在于用户目录视图和元数据更新之后,能及时通知用户更新其缓存的元数据。
(12)组员节点根据来自用户的请求,采用P2P技术传输该请求对应的文件,然后过程结束;
本步骤的优势在于在局域网内使用P2P技术进行文件传输,传输速度快,用户能够在很短时间内完成文件下载。
(13)超级节点根据来自用户的读请求判断该用户是否有读文件的权限,若有则进行读文件的操作,然后过程结束;否则向用户反馈无读权限的信息,然后过程结束;具体而言,超级节点从内存中取出该读请求对应文件的访问控制表,并判断该用户是否存在于该访问控制表中,若是则表明该用户拥有读权限;
本步骤的优势在于其数据访问接口与传统的云存储***一致,能够保证传统云存储***的客户端能够平滑地过度到本发明***之下。
(14)中心存储根据来自用户的请求判断该用户是否有读文件的权限,若有则进行读文件的操作,然后过程结束,否则向用户反馈无读权限的信息,然后过程结束;具体而言,中心存储从内存中取出该请求对应文件的访问控制表,并判断该用户是否存在于该访问控制表中,若是则表明该用户拥有读权限;
如图2所示,本发明基于多级缓存的混合云存储***包括用户组、超级节点层和中心存储,其中用户组包括用户和组员节点,组员节点是资源的提供者和使用者,同时提供组内私有数据的缓存功能;超级节点层是一个分布式的缓存文件***,其包括多个超级节点,主要负责分布式用户认证、分布式元数据管理以及分布式热点数据缓存;中心存储充当***数据的备份节点,***中所有数据都会在中心存储进行可靠存储。
如图3所示,本发明基于多级缓存的混合云存储***包括:
第一模块,用于用户登录时根据其所在的局域网加入一个用户组,向该用户组所在区域的超级节点发送用户名和密码进行用户认证;
第二模块,用于超级节点接收到的用户名和密码时对用户进行认证,若认证通过则使用用户名获取该用户的目录视图,然后遍历目录视图中所有文件,取出该文件的元数据信息,元数据信息包括文件的副本数目、各个副本的存放位置信息、文件的属性(包括文件创建时间、文件大小等),并将该用户目录视图下所有文件的元数据信息反馈给用户。若认证未通过则给用户发送登录错误信息;
第三模块,用于用户接收从超级节点返回的目录视图以及其所有文件的元数据信息,并将目录视图发送到该用户组的组长节点;
第四模块,用于组长节点根据接收到的目录视图判断其组缓存空间中是否包括该目录视图中的文件,若是则将组缓存空间中存储该文件的节点的IP地址反馈给用户,然后进入第五模块,否则向用户发送空的反馈信息,然后进入第五模块;
第五模块,用于用户根据接收到的反馈信息确定其目录视图中每一个文件的最优访问路径,以形成(文件名,最优访问路径)的记录结构,将所有记录结构合并为一个元数据文件,并将该元数据文件缓存到本地;具体而言,针对每一个文件,可能根据其热度的不同,会在用户组缓存空间、超级节点层缓存空间或者是中心存储中的一个或者多个地方存有副本,确定最优访问路径需要对所有存放该副本的节点的IP地址进行比较,选择一个离用户最近的IP地址作为之后用户访问该文件的目的地。IP地址优先级如下:组内缓存空间IP>超级节点层缓存空间IP>中心存储IP;
第六模块,用于用户根据请求类型以及本地缓存元数据中的最优访问路径判断是向超级节点、该用户所在用户组内的组员节点还是中心存储发送请求;若是向超级节点发送请求,则转入第七模块,若是向该用户所在用户组内的组员节点发送请求,则转入第十二模块,若是向中心存储发送请求,则转入第十四模块;
第七模块,用于超级节点判断来自用户的请求是写请求还是读请求,如果是写请求则转入第八模块,如果是读请求则转入第十三模块;具体而言,写请求中的参数包括:1)需上传的文件在本地存放的绝对路径,以及2)由超级节点的IP和端口号以及用户的目录视图中该文件待存放的绝对路径所组成的URL。读请求中的参数包括:1)需下载的文件在本地存放的绝对路径,以及2)超级节点或中心存储的IP和端口号以及用户的目录视图中该文件待存放的绝对路径所组成的URL;
第八模块,用于超级节点根据来自用户的写请求判断该用户是否有写文件的权限,若有则转入第九模块,否则向用户反馈无写权限的信息,然后过程结束;具体而言,超级节点从内存中取出该写请求对应文件的访问控制表,并判断该用户是否存在于该访问控制表中,若是则表明该用户拥有写权限;
第九模块,用于超级节点判断其缓存空间是否已满,若是则转入第十模块,否则转入第十一模块;
第十模块,用于超级节点采用替换算法将其缓存空间中的部分文件换出该超级节点;在本实施方式中,替换算法采用的是最近最少使用算法(LeastRecentlyUsed,简称LRU);
第十一模块,用于超级节点将来自用户的写请求对应的文件上传到其缓存空间中进行缓存,并在文件上传完成后,更新目录视图和该文件的元数据信息,并将更新后的目录视图和元数据信息反馈给用户,重复执行第三模块至第五模块,然后过程结束;
第十二模块,用于组员节点根据来自用户的请求,采用P2P技术传输该请求对应的文件,然后过程结束;
第十三模块,用于超级节点根据来自用户的读请求判断该用户是否有读文件的权限,若有则进行读文件的操作,然后过程结束;否则向用户反馈无读权限的信息,然后过程结束;具体而言,超级节点从内存中取出该读请求对应文件的访问控制表,并判断该用户是否存在于该访问控制表中,若是则表明该用户拥有读权限;
第十四模块,用于中心存储根据来自用户的请求判断该用户是否有读文件的权限,若有则进行读文件的操作,然后过程结束,否则向用户反馈无读权限的信息,然后过程结束;具体而言,中心存储从内存中取出该请求对应文件的访问控制表,并判断该用户是否存在于该访问控制表中,若是则表明该用户拥有读权限。
总体而言,本发明所提出的基于多级缓存的混合云存储***和方法与现有的云存储***和方法相比,有如下优势:
1.网络延迟小:由于采用了步骤(5)、步骤(12)和步骤(13),允许用户优先从网络延迟较低的用户组缓存、超级节点层缓存中访问数据,降低了用户数据访问的网络延迟。具体来说,用户离用户组缓存空间最近,从用户组缓存空间访问数据网络延迟最小;超级节点层缓存空间其次,因为相对中心存储而言,它在地域上离用户更近;中心存储在地域上离用户最远,数据访问网络延迟最大。步骤(5)使用从超级节点获取的用户目录视图、文件元数据以及从组长节点获取的文件在用户组缓存空间中存在与否的反馈信息判断每个文件的最优访问路径,并形成(文件名,最优访问路径)的记录结构,作为元数据缓存到本地。IP地址优先级如下:用户组缓存空间IP>超级节点层缓存空间IP>中心存储IP,即如果某个文件在组缓存空间、超级节点缓存层、中心存储均有副本存放,则其最优访问路径为用户组缓存空间IP;如果某个文件只在超级节点缓存层和中心存储有副本存放,则其最优访问路径为超级节点层缓存空间IP;用户进行文件下载时,首先从本地缓存的元数据中查找该文件的最优访问路径,如果是用户组缓存空间IP,则进行步骤(12),采用P2P技术从用户组内组员节点下载文件;如果最优访问路径是超级节点层缓存空间IP,则进行步骤(13),从超级节点层缓存空间下载文件;通过在用户组缓存空间和超级节点层缓存空间中缓存热点数据,能够保证大部分的用户文件下载请求能够在用户组缓存空间和超级节点缓存空间得到满足,从而极大降低了***数据访问的平均网络延迟。
2.用户接入带宽高,提供有服务质量保障的云存储服务:由于采用了步骤(12)和步骤(13),将原先集中在中心存储的带宽开销分摊到各个用户组缓存空间和超级节点层缓存空间,避免了所有用户竞争中心存储带宽的现象,提高了用户接入***的带宽,给用户提供了一种有服务质量保障的云存储服务。具体来说,在传统云存储***中,中心存储处理所有用户的数据访问请求,导致各用户获得的接入带宽较低,在本发明方法中的步骤(12)和步骤(13)能够让用户从用户组缓存空间和超级节点层缓存空间获取数据,并保证在用户组缓存空间和超级节点层缓存空间的带宽竞争比在中心存储的带宽竞争缓和。因此本发明方法能有效提高用户接入本发明***的带宽,缓解中心存储带宽压力,进而加快用户的数据访问速度,保障用户服务质量。
3.本发明***的超级节点层实现了一个分布式缓存文件***,集合了分布式认证、分布式元数据管理、分布式数据缓存等功能。各超级节点之间能够进行负载均衡,避免传统分布式文件***中元数据服务器单点故障的问题;此外传统云存储***中将数据和元数据分开存储,在本发明***的超级节点层实现了元数据的进一步划分,将元数据再划分为命名空间树和文件元数据(仅包括副本数目、副本位置信息以及文件的属性),从而降低了命名空间树的遍历与更新开销,方便了云存储***命名空间树的管理。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于多级缓存的混合云存储方法,其特征在于,包括如下步骤:
(1)用户登录时根据其所在的局域网加入一个用户组,向该用户组所在区域的超级节点发送用户名和密码进行用户认证;
(2)超级节点根据接收到的用户名和密码对用户进行认证;
(3)用户接收从超级节点返回的目录视图及其所有文件的元数据信息,将目录视图发送到该用户组的组长节点;
(4)组长节点根据接收到的目录视图判断其组缓存空间中是否包括该目录视图中的文件,若是则将组缓存空间中存储该文件的节点的IP地址反馈给用户,然后进入步骤(5),否则向用户发送空的反馈信息,然后进入步骤(5);
(5)用户根据接收到的反馈信息确定其目录视图中每一个文件的最优访问路径,形成记录结构,将所有记录结构合并为一个元数据文件,并将该元数据文件缓存到本地;
(6)用户根据请求类型以及本地缓存元数据中的最优访问路径判断是向超级节点、该用户所在用户组内的组员节点还是中心存储发送请求;若是向超级节点发送请求,则转入步骤(7),若是向该用户所在用户组内的组员节点发送请求,则转入步骤(12),若是向中心存储发送请求,则转入步骤(14);
(7)超级节点判断来自用户的请求是写请求还是读请求,如果是写请求则转入步骤(8),如果是读请求则转入步骤(13);
(8)超级节点根据来自用户的写请求判断该用户是否有写文件的权限,若有则转入步骤(9),否则向用户反馈无写权限的信息,然后过程结束;
(9)超级节点判断其缓存空间是否已满,若是则转入步骤(10),否则转入步骤(11);
(10)超级节点采用替换算法将其缓存空间中的部分文件换出该超级节点;
(11)超级节点将来自用户的写请求对应的文件上传到其缓存空间中进行缓存,并在文件上传完成后,更新目录视图和该文件的元数据信息,并将更新后的目录视图和元数据信息反馈给用户,重复执行步骤(3)至(5),然后过程结束;
(12)组员节点根据来自用户的请求,采用P2P技术传输该请求对应的文件,然后过程结束;
(13)超级节点根据来自用户的读请求判断该用户是否有读文件的权限,若有则进行读文件的操作,然后过程结束;否则向用户反馈无读权限的信息,然后过程结束;
(14)中心存储根据来自用户的请求判断该用户是否有读文件的权限,若有则进行读文件的操作,然后过程结束,否则向用户反馈无读权限的信息,然后过程结束。
2.根据权利要求1所述的混合云存储方法,其特征在于,步骤(2)具体为,若认证通过则使用用户名获取该用户的目录视图,然后遍历目录视图中所有文件,取出文件的元数据信息,元数据信息包括文件的副本数目、各个副本的存放位置信息、文件的属性,并将该用户目录视图下所有文件的元数据信息反馈给用户,若认证未通过则给用户发送认证错误信息。
3.根据权利要求2所述的混合云存储方法,其特征在于,步骤(5)具体为,对所有存放该副本的节点的IP地址进行比较,选择一个离用户最近的IP地址作为之后用户访问该文件的目的地,其中IP地址优先级如下:用户组缓存空间IP>超级节点层缓存空间IP>中心存储IP。
4.根据权利要求1所述的混合云存储方法,其特征在于,写请求中的参数包括:1)需上传的文件在本地存放的绝对路径,以及2)由超级节点的IP和端口号以及用户的目录视图中该文件待存放的绝对路径所组成的URL,读请求中的参数包括:1)需下载的文件在本地待存放的绝对路径,以及2)超级节点或中心存储的IP和端口号以及用户的目录视图中该文件存放的绝对路径所组成的URL。
5.根据权利要求1所述的混合云存储方法,其特征在于,步骤(10)包括以下子步骤:
(10-1)采用替换算法在缓存空间中查找待替换的文件;
(10-2)依次判断待替换的文件在中心存储是否存在,若是则转入步骤(10-3),否则直接删除该待替换的文件,然后进入步骤(11);
(10-3)判断该待替换的文件的版本与中心存储中该文件的版本是否一致,若是,则直接删除该待替换的文件,然后进入步骤(11),否则进入步骤(10-4);
(10-4)将该待替换的文件调度到中心存储进行备份。
6.一种基于多级缓存的混合云存储***,其特征在于,包括:
第一模块,用于用户登录时根据其所在的局域网加入一个用户组,向该用户组所在区域的超级节点发送用户名和密码进行用户认证;
第二模块,用于超级节点接收到的用户名和密码时对用户进行认证;
第三模块,用于用户接收从超级节点返回的目录视图以及其所有文件的元数据信息,并将目录视图发送到该用户组的组长节点;
第四模块,用于组长节点根据接收到的目录视图判断其组缓存空间中是否包括该目录视图中的文件,若是则将组缓存空间中存储该文件的节点的IP地址反馈给用户,然后进入第五模块,否则向用户发送空的反馈信息,然后进入第五模块;
第五模块,用于用户根据接收到的反馈信息确定其目录视图中每一个文件的最优访问路径,以形成记录结构,将所有记录结构合并为一个元数据文件,并将该元数据文件缓存到本地;
第六模块,用于用户根据请求类型以及本地缓存元数据中的最优访问路径判断是向超级节点、该用户所在用户组内的组员节点还是中心存储发送请求;若是向超级节点发送请求,则转入第七模块,若是向该用户所在用户组内的组员节点发送请求,则转入第十二模块,若是向中心存储发送请求,则转入第十四模块;
第七模块,用于超级节点判断来自用户的请求是写请求还是读请求,如果是写请求则转入第八模块,如果是读请求则转入第十三模块;
第八模块,用于超级节点根据来自用户的写请求判断该用户是否有写文件的权限,若有则转入第九模块,否则向用户反馈无写权限的信息,然后过程结束;
第九模块,用于超级节点判断其缓存空间是否已满,若是则转入第十模块,否则转入第十一模块;
第十模块,用于超级节点采用替换算法将其缓存空间中的部分文件换出该超级节点;
第十一模块,用于超级节点将来自用户的写请求对应的文件上传到其缓存空间中进行缓存,并在文件上传完成后,更新目录视图和该文件的元数据信息,并将更新后的目录视图和元数据信息反馈给用户,重复执行第三模块至第五模块,然后过程结束;
第十二模块,用于组员节点根据来自用户的请求,采用P2P技术传输该请求对应的文件,然后过程结束;
第十三模块,用于超级节点根据来自用户的读请求判断该用户是否有读文件的权限,若有则进行读文件的操作,然后过程结束;否则向用户反馈无读权限的信息,然后过程结束;
第十四模块,用于中心存储根据来自用户的请求判断该用户是否有读文件的权限,若有则进行读文件的操作,然后过程结束,否则向用户反馈无读权限的信息,然后过程结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310246369.6A CN103338242B (zh) | 2013-06-20 | 2013-06-20 | 一种基于多级缓存的混合云存储***和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310246369.6A CN103338242B (zh) | 2013-06-20 | 2013-06-20 | 一种基于多级缓存的混合云存储***和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103338242A CN103338242A (zh) | 2013-10-02 |
CN103338242B true CN103338242B (zh) | 2016-01-13 |
Family
ID=49246336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310246369.6A Active CN103338242B (zh) | 2013-06-20 | 2013-06-20 | 一种基于多级缓存的混合云存储***和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103338242B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103645904B (zh) * | 2013-12-20 | 2016-09-21 | 北京京东尚科信息技术有限公司 | 一种接口调用的缓存实现方法 |
CN103955435B (zh) * | 2014-04-09 | 2017-01-11 | 上海理工大学 | 一种融合多级缓存目录建立访问方法 |
CN104021451A (zh) * | 2014-06-20 | 2014-09-03 | 江苏易合大成网络科技有限公司 | 基于云存储和本地存储的混合式企业内容管理方法和*** |
CN106576078B (zh) | 2014-08-26 | 2020-06-23 | Ctera网络有限责任公司 | 用于在云存储***中路由数据流的方法和*** |
CN104679830A (zh) * | 2015-01-30 | 2015-06-03 | 乐视网信息技术(北京)股份有限公司 | 一种文件处理方法和装置 |
CN106453576B (zh) * | 2016-10-21 | 2019-05-28 | 福建省华渔教育科技有限公司 | 一种基于混合云平台的交互方法、***及调度中心 |
CN106681794B (zh) * | 2016-12-07 | 2020-04-10 | 长春市三昧动漫设计有限公司 | 基于兴趣行为的分布式虚拟环境缓存管理方法 |
CN109558433B (zh) * | 2017-09-27 | 2022-04-12 | 北京京东尚科信息技术有限公司 | 一种请求访问hdfs的方法和装置 |
CN108319634B (zh) * | 2017-12-15 | 2021-08-06 | 深圳创新科技术有限公司 | 分布式文件***的目录访问方法和装置 |
CN108566431A (zh) * | 2018-04-20 | 2018-09-21 | 郑州云海信息技术有限公司 | 一种分布式存储***及构建方法 |
CN109995853A (zh) * | 2019-03-15 | 2019-07-09 | 上海益普索信息技术有限公司 | 一种基于私有云的数据传输中心及方法 |
CN112328632B (zh) * | 2020-10-09 | 2022-06-14 | 福建亿榕信息技术有限公司 | 一种分布式两级缓存的方法和*** |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8762642B2 (en) * | 2009-01-30 | 2014-06-24 | Twinstrata Inc | System and method for secure and reliable multi-cloud data replication |
CN101902498B (zh) * | 2010-07-02 | 2013-03-27 | 广州鼎甲计算机科技有限公司 | 一种基于网络技术的存储云备份方法 |
CN101997929A (zh) * | 2010-11-29 | 2011-03-30 | 北京卓微天成科技咨询有限公司 | 一种云存储的数据存取的方法、装置及*** |
CN102377827A (zh) * | 2011-12-13 | 2012-03-14 | 方正国际软件有限公司 | 多级云存储***及其存储方法 |
-
2013
- 2013-06-20 CN CN201310246369.6A patent/CN103338242B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103338242A (zh) | 2013-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103338242B (zh) | 一种基于多级缓存的混合云存储***和方法 | |
CN102523279B (zh) | 一种分布式文件***及其热点文件存取方法 | |
CN103116618B (zh) | 基于客户端持久缓存的远程文件***镜像方法及*** | |
CN104618482B (zh) | 访问云数据的方法、服务器、传统存储设备、*** | |
CN103150394B (zh) | 面向高性能计算的分布式文件***元数据管理方法 | |
CN110213352B (zh) | 名字空间统一的分散自治存储资源聚合方法 | |
CN104850358B (zh) | 一种磁光电混合存储***及其数据获取和存储方法 | |
CN101674233B (zh) | 基于彼得森图的存储网络***及数据读写方法 | |
CN106506587A (zh) | 一种基于分布式存储的Docker镜像下载方法 | |
CN106775446A (zh) | 基于固态硬盘加速的分布式文件***小文件访问方法 | |
CN104811493B (zh) | 一种网络感知的虚拟机镜像存储***及读写请求处理方法 | |
CN103647797A (zh) | 一种分布式文件***及其数据访问方法 | |
CN108984560A (zh) | 文件存储方法及装置 | |
CN104184812B (zh) | 一种基于私有云的多点数据传输方法 | |
WO2021057956A1 (zh) | 镜像文件管理方法、装置及***、计算机设备、存储介质 | |
CN106487850A (zh) | 一种云环境下获取镜像的方法、装置和*** | |
CN104133882A (zh) | 一种基于hdfs的小文件处理方法 | |
CN106294870B (zh) | 基于对象的分布式云存储方法 | |
CN103944958A (zh) | 一种广域文件***及实现方法 | |
US10503693B1 (en) | Method and system for parallel file operation in distributed data storage system with mixed types of storage media | |
CN102523285A (zh) | 一种基于对象分布式文件***的存储缓存方法 | |
CN106294352A (zh) | 一种文件处理方法、装置和文件*** | |
JP2009295127A (ja) | アクセス方法、アクセス装置及び分散データ管理システム | |
CN107562757A (zh) | 基于分布式文件***的查询、访问方法、装置及*** | |
CN106648464A (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 |