CN103685453A - 一种云存储系统中元数据的获取方法 - Google Patents
一种云存储系统中元数据的获取方法 Download PDFInfo
- Publication number
- CN103685453A CN103685453A CN201310413124.8A CN201310413124A CN103685453A CN 103685453 A CN103685453 A CN 103685453A CN 201310413124 A CN201310413124 A CN 201310413124A CN 103685453 A CN103685453 A CN 103685453A
- Authority
- CN
- China
- Prior art keywords
- user
- resource object
- node
- client
- server
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种云存储系统中元数据的获取方法,包括:客户端将用户的登录信息发送给认证服务器,认证服务器根据该登录信息判断该用户是否存在,如果用户存在,则认证服务器将登录信息发送给命名空间服务器,命名空间服务器根据该登录信息获取用户信息,并根据用户信息获取该命名空间服务器中该用户的目录子树,对用户目录子树进行组织,以生成新的用户目录树,并将新的用户目录树返回给客户端,客户端根据组织结果判断获取用户目录树是否成功,若成功则命名空间服务器传送用户目录树给客户端,其中传输是采用xml文件形式,本发明能够解决现有方法中存在的用户每次访问数据之前都要向元数据服务器请求元数据,从而影响用户访问数据的速度的问题。
Description
技术领域
本发明属于云存储领域,更具体地,涉及一种云存储系统中元数据的获取方法。
背景技术
随着互联网数据量的爆炸式增长,如何高效、可靠、稳定的存储这些数据变得十分迫切,因此云存储也成为网络存储领域的研究热点。为了获得更高的系统扩展性和高访问速度,云存储系统会采用数据和元数据分离的方式,在数据访问之前会先获取元数据,根据元数据定位数据,在这些存储系统中,如何组织和获取元数据就变得尤为关键,会成为影响云存储系统性能的重要因素。
数据与元数据分离的存储系统往往会采用集中式元数据服务模型或分布式元数据服务模型,在这两种服务模型中,用户每次访问数据之前都需要向元数据服务器请求元数据,根据元数据获得数据存放位置信息,然后进行数据访问,尤其是当用户访问变得非常频繁时,元数据服务器负载会变大,并发响应能力下降,从而影响对用户元数据请获得处理响应,影响用户访问数据的速度。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种云存储系统中元数据的获取方法,其目的在于解决现有方法中存在的用户每次访问数据之前都要向元数据服务器请求元数据,根据元数据获得数据存放位置信息,然后进行数据访问,从而影响用户访问数据的速度的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种云存储系统中元数据的获取方法,是应用在一种三层架构的云存储系统中,该云存储系统包括客户端、认证服务器、元数据服务器、命名空间服务器以及数据存储服务器,所述方法包括以下步骤:
(1)客户端将用户的登录信息发送给认证服务器;
(2)认证服务器根据该登录信息判断该用户是否存在,若不存在则给出认证失败提示,则过程结束;如果用户存在,则转入步骤(3);
(3)认证服务器将登录信息发送给命名空间服务器;
(4)命名空间服务器根据该登录信息获取用户信息,并根据用户信息获取该命名空间服务器中该用户的目录子树,对用户目录子树进行组织,以生成新的用户目录树,并将新的用户目录树返回给客户端;
(5)客户端根据组织结果判断获取用户目录树是否成功,若成功则转入步骤(6),否则过程结束;
(6)命名空间服务器传送用户目录树给客户端,其中传输是采用xml文件形式;
(7)客户端判断是否完全接收该xml文件,如果接收失败,则给出xml接收失败提示,过程结束,否则转入步骤(8);
(8)客户端对该xml文件进行解析,并对该xml文件中的每个资源对象生成一个<对象的全路径,对象的全路径的哈希值,对象的存放位置信息>的条目信息,并将该条目信息缓存在客户端。
优选地,用户信息包括用户的名称、用户的登录时间、用户的访问权限,用户目录子树包括用户名节点、桶名节点、资源对象节点。
优选地,对用户目录子树进行组织的过程具体包括以下子步骤:
(4-1)命名空间服务器根据用户信息判断其维护的全局目录树中该用户对应的节点是否存在,如果不存在,则命名空间服务器向客户端发送出错提示,然后过程结束,如果存在则转入步骤(4-2);
(4-2)对该用户目录子树中的一个资源对象(即叶子节点)利用树的遍历算法获得从根到该资源对象的全路径,对该资源对象的全路径作MD5哈希计算,以得到对应的哈希值;
(4-3)以哈希值为键值从元数据服务器中得到对应的值,包括资源对象详细信息、副本信息、副本状态信息(即是否为脏数据);
(4-4)将资源对象详细信息、副本信息、副本状态信息分别作为子节点添加到该资源对象下;
(4-5)判断该用户目录子树中所有资源对象的子节点是否都已经添加完毕,如果没有,则返回步骤(4-2),如果添加完毕,则发送给客户端一个成功提示,添加完毕的所有子节点构成用户目录树。
优选地,全局目录树分成四层:第一层为根节点,第二层为用户名节点,第三层等为桶名节点,第四层为资源对象节点。
优选地,用户目录树分成四层:第一层为用户名节点;第二层为桶名节点,第三层为资源对象节点,第四层为资源对象的元数据信息。
优选地,资源对象的元数据信息包括资源对象详细信息、副本信息、副本状态信息。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
1、用户首次登陆时就获取该用户所有资源对象的元数据信息并且缓存在客户端,这样,用户下次访问某个资源对象时,就可以直接检索客户端缓存,获取资源对象的存放位置信息,进行资源对象访问,从而避免客户端每次访问某个资源对象之前先要向元数据服务器请求该资源对象的元数据的流程,加快了资源对象访问速度。
2、当元数据服务器因某种原因,临时宕机时,用户依然可以根据客户端缓存的资源对象元数据信息定位资源对象存放位置,进行资源对象访问。
附图说明
图1是本发明云存储系统中元数据的获取方法中全局目录树结构图。
图2是本发明云存储系统中元数据的获取方法中用户目录树结构图。
图3是本发明云存储系统中元数据的获取方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明的整体思路在于用户首次登陆时,命名空间服务器获取用户信息后,根据其维护的全局目录树和元数据服务器维护的资源对象的元数据信息生成用户目录树,返回给客户端,客户端获得用户目录树,解析用户目录树,生成该用户所有资源对象存放位置的条目信息,并且缓存在客户端,这样,用户下次访问某个资源对象时,就可以直接检索本地缓存,获取资源对象的存放位置信息,直接定位到资源对象存放位置,进行访问,从而避免客户端每次访问某个资源对象之前先要向元数据服务器请求该资源对象的元数据的流程,加快访问速度。
如图3所示,本发明云存储系统中元数据的获取方法是应用在一种三层架构的云存储系统中,该云存储系统包括客户端、认证服务器、元数据服务器、命名空间服务器以及数据存储服务器,该方法包括以下步骤:
(1)客户端将用户的登录信息发送给认证服务器;
(2)认证服务器根据该登录信息判断该用户是否存在,若不存在则给出认证失败提示,则过程结束;如果用户存在,则转入步骤(3);
(3)认证服务器将登录信息发送给命名空间服务器;
(4)命名空间服务器根据该登录信息获取用户信息,并根据用户信息获取该命名空间服务器中该用户的目录子树,对用户目录子树进行组织,以生成新的用户目录树,并将新的用户目录树返回给客户端;具体而言,用户信息包括用户的名称、用户的登录时间、用户的访问权限等;用户目录子树如图1中虚线方框所示,用户目录子树包括用户名节点、桶名节点、资源对象节点。对用户目录子树进行组织的过程具体包括以下子步骤:
(4-1)命名空间服务器根据用户信息判断其维护的全局目录树中该用户对应的节点是否存在,如果不存在,则命名空间服务器向客户端发送出错提示,然后过程结束,如果存在则转入步骤(4-2);具体如图1所示,全局目录树分成四层:第一层为根节点,是所有用户的父节点;第二层client1等为用户名节点,由client1作根节点的一棵子树就是用户client1的用户目录子树,也就是图中虚线方框部分;第三层bucket1等为桶名节点(相当于用户拥有的文件夹);第四层object为资源对象节点(相当于具体文件);
(4-2)对该用户目录子树中的一个资源对象(即叶子节点)利用树的遍历算法获得从根到该资源对象的全路径,对该资源对象的全路径作MD5哈希计算,以得到对应的哈希值;
(4-3)以哈希值为键值从元数据服务器中得到对应的值,包括资源对象详细信息、副本信息、副本状态信息(即是否为脏数据);
(4-4)将资源对象详细信息、副本信息、副本状态信息分别作为子节点添加到该资源对象下;
(4-5)判断该用户目录子树中所有资源对象的子节点是否都已经添加完毕,如果没有,则返回步骤(4-2),如果添加完毕,则发送给客户端一个成功提示,添加完毕的所有子节点构成用户目录树,如图2所示,用户目录树分成四层:第一层client1等为用户名节点;第二层bucket1等为桶名节点(相当于用户拥有的文件夹);第三层object为资源对象节点(相当于具体文件);第四层为资源对象的元数据信息,包括资源对象详细信息、副本信息、副本状态信息(即是否为脏数据);用户目录树的存储采用xml文件。
(5)客户端根据组织结果判断获取用户目录树是否成功,若成功则转入步骤(6),否则过程结束;具体而言,客户端判断组织结果中是否包含有成功提示,如果没有则表示获取用户目录树失败,否则表示成功;
(6)命名空间服务器传送用户目录树给客户端;具体而言,用户目录树传输采用xml文件形式;
(7)客户端判断是否完全接收该xml文件,如果接收失败,则给出xml的接收失败提示,过程结束,否则转入步骤(8);具体而言,客户端在接收xml文件之前会和命名空间服务器进行协商(Negotiation),协商要传输的xml文件的大小信息以及客户端是否准备完毕的信息;
(8)客户端对该xml文件进行解析,并对该xml文件中的每个资源对象生成一个<对象的全路径,对象的全路径的哈希值,对象的存放位置信息>的条目信息,并将该条目信息缓存在客户端。具体而言,解析xml采用libxml2程序库进行。
通过本发明的上述方法,用户首次登陆时就获取该用户所有资源对象的元数据信息并且缓存在客户端,这样,用户下次访问某个资源对象时,就可以直接检索客户端缓存,获取资源对象的存放位置信息,进行资源对象访问,从而避免客户端每次访问某个资源对象之前先要向元数据服务器请求该资源对象的元数据的流程,加快了资源对象访问速度。
此外,当元数据服务器因某种原因,临时宕机时,用户依然可以根据客户端缓存的资源对象元数据信息定位资源对象存放位置,进行资源对象访问。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种云存储系统中元数据的获取方法,是应用在一种三层架构的云存储系统中,该云存储系统包括客户端、认证服务器、元数据服务器、命名空间服务器以及数据存储服务器,其特征在于,所述方法包括以下步骤:
(1)客户端将用户的登录信息发送给认证服务器;
(2)认证服务器根据该登录信息判断该用户是否存在,若不存在则给出认证失败提示,则过程结束;如果用户存在,则转入步骤(3);
(3)认证服务器将登录信息发送给命名空间服务器;
(4)命名空间服务器根据该登录信息获取用户信息,并根据用户信息获取该命名空间服务器中该用户的目录子树,对用户目录子树进行组织,以生成新的用户目录树,并将新的用户目录树返回给客户端;
(5)客户端根据组织结果判断获取用户目录树是否成功,若成功则转入步骤(6),否则过程结束;
(6)命名空间服务器传送用户目录树给客户端,其中传输是采用xml文件形式;
(7)客户端判断是否完全接收该xml文件,如果接收失败,则给出xml接收失败提示,过程结束,否则转入步骤(8);
(8)客户端对该xml文件进行解析,并对该xml文件中的每个资源对象生成一个<对象的全路径,对象的全路径的哈希值,对象的存放位置信息>的条目信息,并将该条目信息缓存在客户端。
2.根据权利要求1所述的获取方法,其特征在于,用户信息包括用户的名称、用户的登录时间、用户的访问权限,用户目录子树包括用户名节点、桶名节点、资源对象节点。
3.根据权利要求1所述的获取方法,其特征在于,对用户目录子树进行组织的过程具体包括以下子步骤:
(4-1)命名空间服务器根据用户信息判断其维护的全局目录树中该用户对应的节点是否存在,如果不存在,则命名空间服务器向客户端发送出错提示,然后过程结束,如果存在则转入步骤(4-2);
(4-2)对该用户目录子树中的一个资源对象(即叶子节点)利用树的遍历算法获得从根到该资源对象的全路径,对该资源对象的全路径作MD5哈希计算,以得到对应的哈希值;
(4-3)以哈希值为键值从元数据服务器中得到对应的值,包括资源对象详细信息、副本信息、副本状态信息(即是否为脏数据);
(4-4)将资源对象详细信息、副本信息、副本状态信息分别作为子节点添加到该资源对象下;
(4-5)判断该用户目录子树中所有资源对象的子节点是否都已经添加完毕,如果没有,则返回步骤(4-2),如果添加完毕,则发送给客户端一个成功提示,添加完毕的所有子节点构成用户目录树。
4.根据权利要求3所述的获取方法,其特征在于,全局目录树分成四层:第一层为根节点,第二层为用户名节点,第三层等为桶名节点,第四层为资源对象节点。
5.根据权利要求3所述的获取方法,其特征在于,用户目录树分成四层:第一层为用户名节点;第二层为桶名节点,第三层为资源对象节点,第四层为资源对象的元数据信息。
6.根据权利要求5所述的获取方法,其特征在于,资源对象的元数据信息包括资源对象详细信息、副本信息、副本状态信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310413124.8A CN103685453B (zh) | 2013-09-11 | 2013-09-11 | 一种云存储系统中元数据的获取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310413124.8A CN103685453B (zh) | 2013-09-11 | 2013-09-11 | 一种云存储系统中元数据的获取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103685453A true CN103685453A (zh) | 2014-03-26 |
CN103685453B CN103685453B (zh) | 2016-08-03 |
Family
ID=50321735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310413124.8A Active CN103685453B (zh) | 2013-09-11 | 2013-09-11 | 一种云存储系统中元数据的获取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103685453B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106446197A (zh) * | 2016-09-30 | 2017-02-22 | 华为数字技术(成都)有限公司 | 一种数据存储方法、装置及系统 |
CN109818934A (zh) * | 2018-12-29 | 2019-05-28 | 深圳前海达闼云端智能科技有限公司 | 一种自动化日志处理的方法、装置及计算设备 |
CN116820354A (zh) * | 2023-08-29 | 2023-09-29 | 京东科技信息技术有限公司 | 数据存储方法、数据存储装置和数据存储系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102164161A (zh) * | 2011-01-10 | 2011-08-24 | 清华大学 | 一种对并行文件系统进行文件布局提取的方法和装置 |
US20120084261A1 (en) * | 2009-12-28 | 2012-04-05 | Riverbed Technology, Inc. | Cloud-based disaster recovery of backup data and metadata |
CN102523258A (zh) * | 2011-11-30 | 2012-06-27 | 广东电子工业研究院有限公司 | 一种面向云操作系统的数据存储架构及其负载均衡方法 |
CN102541985A (zh) * | 2011-10-25 | 2012-07-04 | 曙光信息产业(北京)有限公司 | 一种分布式文件系统中客户端目录缓存的组织方法 |
CN103049553A (zh) * | 2012-12-28 | 2013-04-17 | 华为技术有限公司 | 一种检索路径存储的方法、装置及系统 |
CN103108047A (zh) * | 2013-02-06 | 2013-05-15 | 浪潮电子信息产业股份有限公司 | 一种对象存储系统元数据缓存的优化方法 |
-
2013
- 2013-09-11 CN CN201310413124.8A patent/CN103685453B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120084261A1 (en) * | 2009-12-28 | 2012-04-05 | Riverbed Technology, Inc. | Cloud-based disaster recovery of backup data and metadata |
CN102164161A (zh) * | 2011-01-10 | 2011-08-24 | 清华大学 | 一种对并行文件系统进行文件布局提取的方法和装置 |
CN102541985A (zh) * | 2011-10-25 | 2012-07-04 | 曙光信息产业(北京)有限公司 | 一种分布式文件系统中客户端目录缓存的组织方法 |
CN102523258A (zh) * | 2011-11-30 | 2012-06-27 | 广东电子工业研究院有限公司 | 一种面向云操作系统的数据存储架构及其负载均衡方法 |
CN103049553A (zh) * | 2012-12-28 | 2013-04-17 | 华为技术有限公司 | 一种检索路径存储的方法、装置及系统 |
CN103108047A (zh) * | 2013-02-06 | 2013-05-15 | 浪潮电子信息产业股份有限公司 | 一种对象存储系统元数据缓存的优化方法 |
Non-Patent Citations (1)
Title |
---|
蒙安泰: "分布式文件系统中元数据管理机制的研究", 《电脑知识与技术》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106446197A (zh) * | 2016-09-30 | 2017-02-22 | 华为数字技术(成都)有限公司 | 一种数据存储方法、装置及系统 |
CN106446197B (zh) * | 2016-09-30 | 2019-11-19 | 华为数字技术(成都)有限公司 | 一种数据存储方法、装置及系统 |
CN109818934A (zh) * | 2018-12-29 | 2019-05-28 | 深圳前海达闼云端智能科技有限公司 | 一种自动化日志处理的方法、装置及计算设备 |
CN109818934B (zh) * | 2018-12-29 | 2021-10-22 | 达闼机器人有限公司 | 一种自动化日志处理的方法、装置及计算设备 |
CN116820354A (zh) * | 2023-08-29 | 2023-09-29 | 京东科技信息技术有限公司 | 数据存储方法、数据存储装置和数据存储系统 |
CN116820354B (zh) * | 2023-08-29 | 2024-01-12 | 京东科技信息技术有限公司 | 数据存储方法、数据存储装置和数据存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103685453B (zh) | 2016-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11388251B2 (en) | Providing access to managed content | |
US7849496B2 (en) | Providing enterprise management of amorphous communities | |
US10922303B1 (en) | Early detection of corrupt data partition exports | |
US20190251198A1 (en) | Autonomous Interdependent Repositories | |
US8407241B2 (en) | Content mesh searching | |
US8453215B1 (en) | Suggesting access permission changes to lock a website | |
CN102307210A (zh) | 一种数据下载系统及其数据管理和下载方法 | |
Chervenak et al. | The globus replica location service: design and experience | |
KR20100124801A (ko) | 동기화 서버 프로세스 | |
CN103631820B (zh) | 分布式文件系统的元数据管理方法及设备 | |
CN104933188A (zh) | 一种专利个性化库的数据同步系统及方法 | |
Loupasakis et al. | eXO: Decentralized Autonomous Scalable Social Networking. | |
CN105302920A (zh) | 一种云存储数据的优化管理方法和系统 | |
CN103179148A (zh) | 一种在互联网中分享附件的处理方法和系统 | |
WO2013120382A1 (zh) | 一种离线下载资源的系统、方法、装置以及计算机存储介质 | |
CN104410604A (zh) | 实现大规模用户同时登录的SaaS服务系统及其方法 | |
US8453214B1 (en) | Methods of locking a website | |
Kuhn et al. | Publishing without publishers: a decentralized approach to dissemination, retrieval, and archiving of data | |
CN103685453B (zh) | 一种云存储系统中元数据的获取方法 | |
US10924452B1 (en) | Auditing IP address assignments | |
US8453213B1 (en) | Tools for locking a website | |
US9602575B2 (en) | Monitoring social media for specific issues | |
KR20160050930A (ko) | 대용량 분산 파일 시스템에서 데이터의 수정을 포함하는 트랜잭션 처리 장치 및 컴퓨터로 읽을 수 있는 기록매체 | |
KR102169930B1 (ko) | M2M/IoT 플랫폼에서의 시맨틱 정보 관리 방법 | |
CN114363358B (zh) | 文档分发方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |