CN108829787B - 一种元数据分布式系统 - Google Patents
一种元数据分布式系统 Download PDFInfo
- Publication number
- CN108829787B CN108829787B CN201810552180.2A CN201810552180A CN108829787B CN 108829787 B CN108829787 B CN 108829787B CN 201810552180 A CN201810552180 A CN 201810552180A CN 108829787 B CN108829787 B CN 108829787B
- Authority
- CN
- China
- Prior art keywords
- node
- target
- metadata
- stored
- write
- 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
- 238000000034 method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种元数据分布式系统,包括:客户端、与客户端相连的至少一个元数据服务器节点组,元数据服务器节点组包括互相连接的主节点和至少一个从节点;客户端,用于若检测到缓存中不存在目标文件元数据,确定预先存储有目标文件元数据的目标主节点,并将处理请求发送至目标主节点;目标主节点,用于按照处理请求对所存储的元数据进行处理;与目标主节点连接的目标从节点,用于备份目标主节点所存储的元数据。该系统由原有的主从架构改为元数据服务器节点组,并且同组内节点互为主从,这就实现了将现有主节点的压力由多个节点承担,从而大大改善了大数据量下系统的性能。
Description
技术领域
本发明涉及云计算数据技术领域,更具体地说,涉及一种元数据分布式系统。
背景技术
用户数据在文件系统中以文件的方式进行存储,文件由文件数据和元数据构成,其中,文件数据为用户数据的内容,而元数据则为描述文件数据的数据,比如如何找到该文件数据。
现阶段的元数据分布式系统多采用“一主多从”的结构,主节点负责元数据的存储和访问,从节点则进行元数据的备份。但是随着数据规模的不断扩大,这种架构严重影响了系统的性能,成为元数据分布式系统的发展瓶颈。
发明内容
为解决上述问题,本发明提供一种元数据分布式系统及方法,技术方案如下:
一种元数据分布式系统,包括:客户端、与所述客户端相连的至少一个元数据服务器节点组,所述元数据服务器节点组包括互相连接的主节点和至少一个从节点;
所述客户端,用于若检测到缓存中不存在目标文件元数据,确定预先存储有所述目标文件元数据的目标主节点,并将处理请求发送至所述目标主节点;
所述目标主节点,用于按照所述处理请求对所存储的元数据进行处理;
与所述目标主节点连接的目标从节点,用于备份所述目标主节点所存储的元数据。
优选的,所述目标主节点,具体用于:
在所述处理请求为读请求的情况下,将所存储的元数据反馈至所述客户端。
优选的,所述目标主节点,具体用于:
在所述处理请求为写/修改请求的情况下,对所存储的元数据进行写/修改操作;
在检测到写/修改操作成功的情况下,将操作结果反馈至所述客户端,并将所述写/修改请求转发至所述目标从节点;
所述目标从节点,具体用于:
在接收到所述目标主节点所转发的所述写/修改请求的情况下,对所存储的元数据进行写/修改操作;
在检测到写/修改操作成功的情况下,将用于表征操作成功的第一提示信息反馈至所述目标主节点。
优选的,所述目标主节点,还用于:
在检测到写/修改操作失败的情况下,统计当前重试操作的次数;
如果所述次数小于预设次数阈值,则返回执行所述对所存储的元数据进行写/修改操作,这一步骤;
如果所述次数不小于预设次数阈值,向所述客户端反馈用于表征操作失败的第二提示信息。
优选的,所述目标从节点,还用于:
在检测到写/修改操作失败的情况下,统计当前重试操作的次数;
如果所述次数小于预设次数阈值,则返回执行所述对所存储的元数据进行写/修改操作,这一步骤;
如果所述次数不小于预设次数阈值,向所述目标主节点反馈用于表征操作失败的第三提示信息;
所述目标主节点或所述客户端或所述目标从节点还用于记录所述目标主节点操作成功和所述目标从节点操作失败不一致的信息。
优选的,所述目标主节点,具体用于:
在所述处理请求为写/修改请求的情况下,对所存储的元数据进行写/修改操作,并将所述写/修改请求转发至所述目标从节点;
在检测到写/修改操作成功且接收到所述目标从节点所反馈的用于表征操作成功的第四提示信息的情况下,将操作结果反馈至所述客户端;
所述目标从节点,具体用于:
在接收到所述目标主节点所转发的所述写/修改请求的情况下,对所存储的元数据进行写/修改操作;
在检测到写/修改操作成功的情况下,将用于表征操作成功的第五提示信息反馈至所述目标主节点。
优选的,所述目标主节点,还用于:
在检测到写/修改操作失败的情况下,统计当前重试操作的次数;
如果所述次数小于预设次数阈值,则返回执行所述对所存储的元数据进行写/修改操作,并将所述写/修改请求转发至所述目标从节点,这一步骤;
如果所述次数不小于预设次数阈值,向所述客户端反馈用于表征操作失败的第六提示信息。
优选的,所述目标从节点,还用于:
在检测到写/修改操作失败的情况下,统计当前重试操作的次数;
如果所述次数小于预设次数阈值,则返回执行所述对所存储的元数据进行写/修改操作,这一步骤;
如果所述次数不小于预设次数阈值,通过所述目标主节点向所述客户端反馈用于表征操作失败的第七提示信息。
优选的,所述目标从节点,还用于:
在所述目标主节点处于故障状态的情况下,切换为备用主节点。
优选的,所述目标主节点,还用于:
在重新处于正常状态的情况下,同步所述目标从节点作为备用主节点时所存储的元数据。
相较于现有技术,本发明实现的有益效果为:
本发明实施例提供一种元数据分布式系统,由原有的主从架构改为元数据服务器节点组,并且同组内节点互为主从,这就实现了将现有主节点的压力由多个节点承担,从而大大改善了大数据量下系统的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的元数据分布式系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
……本发明实施例提供一种元数据分布式系统,其结构示意图如图1所示,该系统包括:客户端10、与客户端相连的至少一个元数据服务器节点组20,元数据服务器节点组20包括互相连接的主节点和至少一个从节点。
在实际应用中,每个节点(不管是主节点,还是从节点)都是由主子节点和从子节点构成,对于元数据的处理是由主子节点完成的,而从子节点则与其他节点的主子节点连接,以此来实现节点之间的互相连接。
客户端10,用于若检测到缓存中不存在目标文件元数据,确定预先存储有目标文件元数据的目标主节点,并将处理请求发送至目标主节点。
本实施例中,客户端10在发送处理请求之前,首先检测缓存中是否存在目标文件元数据,如果缓存中存在目标文件元数据,则直接获取该元数据,进而按照处理请求对该元数据进行处理。
而如果缓存中不存在目标文件元数据,则表示该客户端未处理过该目标文件的元数据或者处理过但被清除掉,这就需要确定预先存储有该目标文件元数据的目标主节点,并将处理请求发送至该目标主节点。
在实际应用过程中,可以采用哈希hash算法确定目标主节点,具体可利用hash算法对目标文件的绝对路径,也就是存储路径进行哈希运算,以获得与处理请求相匹配的目标主节点的节点标号。
需要说明的是,同一处理请求所确定的节点标号是相同的,反之,不同处理请求所确定的节点标号是由hash算法所确定的随机值。
目标主节点,用于按照处理请求对所存储的元数据进行处理;
与目标主节点连接的目标从节点,用于备份目标主节点所存储的元数据。
本实施例中,处理请求包括读请求、写请求和修改请求中的任意一个或多个。
1、在处理请求为读请求的情况下,目标主节点直接将所存储的元数据反馈至客户端。
2、在处理请求为写/修改请求的情况下,目标主节点按照处理请求对所存储的元数据进行处理的一种方式如下:
对所存储的元数据进行写/修改操作;
在检测到写/修改操作成功的情况下,将操作结果反馈至客户端,并将写/修改请求转发至目标从节点;
此时,目标从节点备份目标主节点所存储的元数据的过程如下:
在接收到目标主节点所转发的写/修改请求的情况下,对所存储的元数据进行写/修改操作;
在检测到写/修改操作成功的情况下,存储操作结果,将用于表征操作成功的第一提示信息反馈至所述目标主节点。
在其他一些实施例中,为减少用户的工作量,目标主节点还用于:
在检测到写/修改操作失败的情况下,统计当前重试操作的次数;
如果次数小于预设次数阈值,则返回执行对所存储的元数据进行写/修改操作,这一步骤;
如果次数不小于预设次数阈值,向客户端反馈用于表征操作失败的第二提示信息。
在其他一些实施例中,为减少用户的工作量,目标从节点还用于:
在检测到写/修改操作失败的情况下,统计当前重试操作的次数;
如果次数小于预设次数阈值,则返回执行所述对所存储的元数据进行写/修改操作,这一步骤;
如果次数不小于预设次数阈值,向目标主节点反馈用于表征操作失败的第三提示信息。
需要说明的是,此时,所述目标主节点或所述客户端或所述目标从节点还用于记录所述目标主节点操作成功和所述目标从节点操作失败不一致的信息。
3、在处理请求为写/修改请求的情况下,目标主节点按照处理请求对所存储的元数据进行处理的另一种方式如下:
对所存储的元数据进行写/修改操作,并将写/修改请求转发至目标从节点;
在检测到写/修改操作成功且接收到目标从节点所反馈的用于表征操作成功的第四提示信息的情况下,将操作结果反馈至客户端;
此时,目标从节点备份目标主节点所存储的元数据的过程如下:
在接收到目标主节点所转发的写/修改请求的情况下,对所存储的元数据进行写/修改操作;
在检测到写/修改操作成功的情况下,存储操作结果,并将用于表征操作成功的第五提示信息反馈至目标主节点。
在其他一些实施例中,为减少用户的工作量,目标主节点还用于:
在检测到写/修改操作失败的情况下,统计当前重试操作的次数;
如果次数小于预设次数阈值,则返回执行所述对所存储的元数据进行写/修改操作,并将所述写/修改请求转发至所述目标从节点,这一步骤;
如果次数不小于预设次数阈值,向客户端反馈用于表征操作失败的第六提示信息。
在其他一些实施例中,为减少用户的工作量,目标从节点,还用于:
在检测到写/修改操作失败的情况下,统计当前重试操作的次数;
如果次数小于预设次数阈值,则返回执行所述对所存储的元数据进行写/修改操作,这一步骤;
如果次数不小于预设次数阈值,通过所述目标主节点向客户端反馈用于表征操作失败的第七提示信息。
需要说明的是,为避免目标主节点或目标从节点陷入重试死循环而设置了预设次数阈值,对于预设次数阈值的选取可以结合实际运行情况来定,优选为1。
此外,在目标主节点处理故障状态的情况下,目标从节点切换为备用主节点,来接管相应的处理请求。此时,客户端可以基于预先设置的主节点与从节点之间的对应关系,比如通过存储有主从节点关系的表格,定位目标主节点所对应的目标从节点,并将处理请求发送至目标从节点。
而一旦目标主节点重新处于正常状态,则目标主节点同步目标从节点作为备用主节点时所存储的元数据。
本发明实施例提供的元数据分布式系统,由原有的主从架构改为元数据服务器节点组,并且同组内节点互为主从,这就实现了将现有主节点的压力由多个节点承担,从而大大改善了大数据量下系统的性能。
以上对本发明所提供的一种元数据分布式系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (6)
1.一种元数据分布式系统,其特征在于,包括:客户端、与所述客户端相连的至少一个元数据服务器节点组,所述元数据服务器节点组包括互相连接的主节点和至少一个从节点;
所述客户端,用于若检测到缓存中不存在目标文件元数据,确定预先存储有所述目标文件元数据的目标主节点,并将处理请求发送至所述目标主节点;
所述目标主节点,用于按照所述处理请求对所存储的元数据进行处理;
与所述目标主节点连接的目标从节点,用于备份所述目标主节点所存储的元数据;
所述确定预先存储有所述目标文件元数据的目标主节点,包括:
利用哈希hash算法对所述目标文件元数据的存储路径进行哈希运算,获得与所述处理请求相匹配的目标主节点的节点标号,通过所述节点标号确定所述目标主节点;其中,不同的所述处理请求所确定的目标节点的节点标号是由哈希hash算法所确定的随机值;
所述目标主节点,具体用于:
在所述处理请求为写/修改请求的情况下,对所存储的元数据进行写/修改操作;
在检测到写/修改操作成功的情况下,将操作结果反馈至所述客户端,并将所述写/修改请求转发至所述目标从节点;
所述目标从节点,具体用于:
在接收到所述目标主节点所转发的所述写/修改请求的情况下,对所存储的元数据进行写/修改操作;
在检测到写/修改操作成功的情况下,将用于表征操作成功的第一提示信息反馈至所述目标主节点。
2.根据权利要求1所述的系统,其特征在于,所述目标主节点,具体用于:
在所述处理请求为读请求的情况下,将所存储的元数据反馈至所述客户端。
3.根据权利要求1所述的系统,其特征在于,所述目标主节点,还用于:
在检测到写/修改操作失败的情况下,统计当前重试操作的次数;
如果所述次数小于预设次数阈值,则返回执行所述对所存储的元数据进行写/修改操作,这一步骤;
如果所述次数不小于预设次数阈值,向所述客户端反馈用于表征操作失败的第二提示信息。
4.根据权利要求1所述的系统,其特征在于,所述目标从节点,还用于:
在检测到写/修改操作失败的情况下,统计当前重试操作的次数;
如果所述次数小于预设次数阈值,则返回执行所述对所存储的元数据进行写/修改操作,这一步骤;
如果所述次数不小于预设次数阈值,向所述目标主节点反馈用于表征操作失败的第三提示信息;
所述目标主节点或所述客户端或所述目标从节点还用于记录所述目标主节点操作成功和所述目标从节点操作失败不一致的信息。
5.根据权利要求1所述的系统,其特征在于,所述目标从节点,还用于:
在所述目标主节点处于故障状态的情况下,切换为备用主节点。
6.根据权利要求5所述的系统,其特征在于,所述目标主节点,还用于:
在重新处于正常状态的情况下,同步所述目标从节点作为备用主节点时所存储的元数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810552180.2A CN108829787B (zh) | 2018-05-31 | 2018-05-31 | 一种元数据分布式系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810552180.2A CN108829787B (zh) | 2018-05-31 | 2018-05-31 | 一种元数据分布式系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108829787A CN108829787A (zh) | 2018-11-16 |
CN108829787B true CN108829787B (zh) | 2022-06-17 |
Family
ID=64146635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810552180.2A Active CN108829787B (zh) | 2018-05-31 | 2018-05-31 | 一种元数据分布式系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108829787B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857588A (zh) * | 2018-12-11 | 2019-06-07 | 浪潮(北京)电子信息产业有限公司 | 基于多控存储系统的精简卷元数据处理方法、装置及系统 |
CN109726212A (zh) * | 2018-12-29 | 2019-05-07 | 杭州宏杉科技股份有限公司 | 数据存储系统及方法 |
CN110113181B (zh) * | 2019-03-13 | 2023-08-22 | 中国平安人寿保险股份有限公司 | 节点配置方法、装置、计算机装置、及可读存储介质 |
CN111858098B (zh) * | 2020-07-24 | 2023-11-17 | 成都成信高科信息技术有限公司 | 一种基于海量数据的数据交换方法 |
CN112492030B (zh) * | 2020-11-27 | 2024-03-15 | 北京青云科技股份有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
CN114518848B (zh) * | 2022-02-15 | 2023-01-20 | 北京百度网讯科技有限公司 | 存储数据的处理方法、装置、设备和介质 |
CN117061324B (zh) * | 2023-10-11 | 2023-12-15 | 佳瑛科技有限公司 | 一种业务数据处理方法以及分布式系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9110695B1 (en) * | 2012-12-28 | 2015-08-18 | Emc Corporation | Request queues for interactive clients in a shared file system of a parallel computing system |
CN105739924A (zh) * | 2016-01-29 | 2016-07-06 | 华为技术有限公司 | 基于缓存集群的缓存方法和系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697168B (zh) * | 2009-10-22 | 2011-10-19 | 中国科学技术大学 | 一种分布式文件系统动态元数据管理方法及系统 |
CN102117287A (zh) * | 2009-12-30 | 2011-07-06 | 成都市华为赛门铁克科技有限公司 | 分布式文件系统访问方法、元数据服务器及客户端 |
CN103268318B (zh) * | 2013-04-16 | 2016-04-13 | 华中科技大学 | 一种强一致性的分布式键值数据库系统及其读写方法 |
CN104735110B (zh) * | 2013-12-23 | 2019-03-26 | 中国电信股份有限公司 | 元数据管理方法和系统 |
CN104461792A (zh) * | 2014-12-03 | 2015-03-25 | 浪潮集团有限公司 | 一种解决hadoop分布式文件系统namenode单点故障的ha方法 |
CN105824810B (zh) * | 2015-01-04 | 2019-04-23 | 中国移动通信集团河北有限公司 | 一种Hadoop集群系统及数据处理方法 |
CN107426265A (zh) * | 2016-03-11 | 2017-12-01 | 阿里巴巴集团控股有限公司 | 数据一致性同步的方法及设备 |
CN105933391B (zh) * | 2016-04-11 | 2019-06-21 | 聚好看科技股份有限公司 | 一种节点扩容方法、装置及系统 |
-
2018
- 2018-05-31 CN CN201810552180.2A patent/CN108829787B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9110695B1 (en) * | 2012-12-28 | 2015-08-18 | Emc Corporation | Request queues for interactive clients in a shared file system of a parallel computing system |
CN105739924A (zh) * | 2016-01-29 | 2016-07-06 | 华为技术有限公司 | 基于缓存集群的缓存方法和系统 |
Non-Patent Citations (1)
Title |
---|
基于哈希规则的分布式文件系统的设计与实现;段翰聪等;《小型微型计算机系统》;20130615(第06期);115-118 * |
Also Published As
Publication number | Publication date |
---|---|
CN108829787A (zh) | 2018-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108829787B (zh) | 一种元数据分布式系统 | |
EP2863310B1 (en) | Data processing method and apparatus, and shared storage device | |
CN111182067B (zh) | 一种基于星际文件系统ipfs的数据写入方法及设备 | |
CN108572793B (zh) | 数据写入和数据恢复方法、装置、电子设备及存储介质 | |
CN112084258A (zh) | 一种数据同步方法和装置 | |
CN105493474B (zh) | 用于支持用于同步分布式数据网格中的数据的分区级别日志的系统及方法 | |
US8615488B2 (en) | Physical replication of database subset to improve availability and reduce resource cost in a cloud environment | |
EP4213038A1 (en) | Data processing method and apparatus based on distributed storage, device, and medium | |
CN108540510B (zh) | 一种云主机创建方法、装置及云服务系统 | |
CN107657027B (zh) | 数据存储方法及装置 | |
EP3026574B1 (en) | Affair processing method and device | |
CN111049928A (zh) | 数据同步方法、系统、电子设备及计算机可读存储介质 | |
CN104965835B (zh) | 一种分布式文件系统的文件读写方法及装置 | |
CN109165112B (zh) | 一种元数据集群的故障恢复方法、系统及相关组件 | |
CN102142032A (zh) | 一种分布式文件系统的数据读写方法及系统 | |
US20180121531A1 (en) | Data Updating Method, Device, and Related System | |
CN106873902B (zh) | 一种文件存储系统、数据调度方法及数据节点 | |
US9146921B1 (en) | Accessing a file system during a file system check | |
CN107493309B (zh) | 一种分布式系统中的文件写入方法及装置 | |
CN104951475B (zh) | 分布式文件系统和实现方法 | |
US11157456B2 (en) | Replication of data in a distributed file system using an arbiter | |
US20100145933A1 (en) | Dynamic Restoration of Message Object Search Indexes | |
US10169441B2 (en) | Synchronous data replication in a content management system | |
WO2021212493A1 (zh) | 数据同步方法、装置、数据存储系统及计算机可读介质 | |
CN112650629A (zh) | 区块链索引数据恢复方法、装置、设备和计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |