CN102368268A - 一种实现多元数据一致性的方法 - Google Patents
一种实现多元数据一致性的方法 Download PDFInfo
- Publication number
- CN102368268A CN102368268A CN2011103263683A CN201110326368A CN102368268A CN 102368268 A CN102368268 A CN 102368268A CN 2011103263683 A CN2011103263683 A CN 2011103263683A CN 201110326368 A CN201110326368 A CN 201110326368A CN 102368268 A CN102368268 A CN 102368268A
- Authority
- CN
- China
- Prior art keywords
- metadata
- request
- copy
- data trnascription
- pivot data
- 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)
Abstract
本发明的提供了一种适应于多元数据服务器下的一致性方法,针对性能和可靠性进行均衡,给出一种多模式的一致性方法;通过本发明提供的方法,日志系统可以方便的修复元数据并保持多元数据服务器上的一致性。
Description
技术领域
本发明涉及多元数据的存储以及一致性问题,具体来说,涉及一种实现多元数据一致性的方法。
背景技术
在分布式文件系统中,元数据之间存在相关性,这表现在很多操作要同时修改几部分的元数据,当只有部分数据修改时,系统是不一致的,即这种相关性受到破坏。当整个操作完成时,系统从一个一致状态转移到另一个一致的状态。当系统处于不一致状态时,受影响的元数据及相关的数据将不能被正确使用,甚至成为垃圾。如果系统不纠正该问题,而继续运行,将造成更大的损害。
对于多元数据服务器,每个元数据存储于不同节点,当节点发生崩溃时,这些节点上的元数据就会处于一个不一致的状态,导致元数据服务不可用。因此,如何保证多个元数据服务器上的元数据一致性是影响元数据可靠性的重要因素。
为了保证元数据的一致性,日志系统均采用先写日志后应用磁盘的策略,这样即使其发生崩溃时,未应用到磁盘的操作也可以通过重新应用日志来保证其一致性。然而,传统的本地日志系统如EXT3文件系统等,均适用于单副本的元数据服务器下,无法保证多个元数据服务器上的元数据的一致性。
同时,考虑到不同的分布式文件系统的应用场景,其对性能和安全性的需求是不同,因此,日志系统也需要针对性的进行均衡,提供不同的一致性策略。
发明内容
本发明旨在公开一种实现多元数据一致性的方法,目的是满足分布式文件系统中多元数据服务器的一致性。
一种实现多元数据一致性的方法,
主元数据副本收到客户端元数据请求后,将元数据请求保存到内存,并发送传播请求给从元数据副本,从元数据副本接收到传播请求后,与主元数据副本同步将元数据请求保存到内存,并返回传播请求应答给主元数据副本;
主元数据副本收到传播请求应答后,将元数据请求提交到日志设备,同时发送提交请求给从元数据副本,从元数据副本接收到提交请求后,与主元数据副本同步将元数据请求提交到日志设备,并返回提交请求应答给主元数据副本;
若上一步中从元数据副本收到了主元数据副本发出的提交请求,则从元数据副本将元数据请求应用到磁盘,回收内存空间,否则保存在本地对应的日志文件中;若主元数据副本收到了从元数据副本返回的提交请求应答,则主元数据副本将元数据请求应用到磁盘,回收内存空间,否则保存在本地对应的日志文件中。
优选的,所述元数据请求的结果若未返回客户端,客户端在超时后重新发送该元数据请求。
优选的,若所述主元数据副本需要修复时,从元数据副本将其元数据传给主元数据副本使其修复。
优选的,若所述从元数据副本需要修复时,主元数据副本将其保存的日志信息同步到从元数据副本。
优选的,所述客户端的返回模式有三种,
快速模式:当主副本保存到内存后,返回客户端;
同步模式:当从副本回复传播请求后,返回客户端;
安全模式:当从副本回复提交请求后,返回客户端。
本发明的提供了一种适应于多元数据服务器下的一致性方法,针对性能和可靠性进行均衡,给出一种多模式的一致性方法;通过本发明提供的方法,日志系统可以方便的修复元数据并保持多元数据服务器上的一致性。
附图说明
图1是本发明的流程图
具体实施方式
本发明中的技术方案具体描述如下:
(1)为了实现多个元数据服务器上的一致性,将元数据操作的可靠性操作分为几个阶段:
●保存到内存
●写入日志设备
●写入磁盘
●同步到磁盘
通过在不同的阶段进行元数据服务器之间的通信,将元数据请求进行发送,其具体流程如图1:
客户端发出申请后,主副本接收请求,将其写入内存,同时与从副本进行内存阶段同步,内存阶段同步靠的是传播请求。
图1中的传播请求,是指将本次元数据请求进行发送,而提交请求是通知对应本节点已写入日志设备,并通知对方。
内存同步后将请求提交到日志设备,进行日志提交阶段的同步,也是通过信号的传递来达到这一目的。
在提交日志设备的请求同步后,主副本和从副本都将其写入磁盘,并回收内存空间,否则保存在本地对应的日志文件中。
针对元数据操作的各个流程发生故障,分别进行阐述如何修复如下:
主副本保存至内存阶段:未返回客户端,最终客户端超时,并重新发送该元数据请求。
主副本提交日志设备阶段:从副本应用从副本上的元数据,并回传到主副本上使其修复并保持一致。
主副本写入磁盘阶段:应用主副本上的日志,保持一致。
从副本保存至内存阶段:从副本修复时,由主副本发送其上保存的日志,保持一致。
从副本提交日志设备阶段:方法同上。
从副本写入磁盘阶段:从副本应用从副本上的日志,保持一致。
通过上述的分析,可知,无论哪个阶段发生故障,均可以保证主从上的元数据的一致性。
(2)根据性能和可靠性的权衡,日志系统中回复客户端的时机不同,三种模式它们的回复时机分别如下:
快速模式:当主副本保存到内存后,返回客户端
同步模式:当从副本回复传播请求后,返回客户端
安全模式:当从副本回复提交请求后,返回客户端
其中,快速模式适应于可靠性要求较低的环境中,在主副本节点不发生故障可以保证该元数据操作不会丢失;同步模式下,是当主从节点中只要有一个节点不发生故障,就可以保证该元数据操作不会丢失;安全模式可以保证任何回复客户端的元数据操作不会丢失。
由于三种模式所需的日志系统的操作不同,最终其关键路径上的消耗时间不同,最终的应答时间不同:快速模式下,仅有内存操作,所以其性能最高;同步模式,关键路径上有网络通讯的延迟,所以性能稍差;安全模式下,关键路径上有磁盘操作的延迟,所以其性能最差。
使用者可以综合当前的使用环境,方便进行一致性策略的选择。
Claims (5)
1.一种实现多元数据一致性的方法,其特征在于:
主元数据副本收到客户端元数据请求后,将元数据请求保存到内存,并发送传播请求给从元数据副本,从元数据副本接收到传播请求后,与主元数据副本同步将元数据请求保存到内存,并返回传播请求应答给主元数据副本;
主元数据副本收到传播请求应答后,将元数据请求提交到日志设备,同时发送提交请求给从元数据副本,从元数据副本接收到提交请求后,与主元数据副本同步将元数据请求提交到日志设备,并返回提交请求应答给主元数据副本;
若上一步中从元数据副本收到了主元数据副本发出的提交请求,则从元数据副本将元数据请求应用到磁盘,回收内存空间,否则保存在本地对应的日志文件中;若主元数据副本收到了从元数据副本返回的提交请求应答,则主元数据副本将元数据请求应用到磁盘,回收内存空间,否则保存在本地对应的日志文件中。
2.如权利要求1所述的方法,其特征在于:所述元数据请求的结果若未返回客户端,客户端在超时后重新发送该元数据请求。
3.如权利要求1所述的方法,其特征在于:若所述主元数据副本需要修复时,从元数据副本将其元数据传给主元数据副本使其修复。
4.如权利要求1所述的方法,其特征在于:若所述从元数据副本需要修复时,主元数据副本将其保存的日志信息同步到从元数据副本。
5.如权利要求2所述的方法,其特征在于:所述客户端的返回模式有三种,
快速模式:当主副本保存到内存后,返回客户端;
同步模式:当从副本回复传播请求后,返回客户端;
安全模式:当从副本回复提交请求后,返回客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110326368 CN102368268B (zh) | 2011-10-25 | 2011-10-25 | 一种实现多元数据一致性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110326368 CN102368268B (zh) | 2011-10-25 | 2011-10-25 | 一种实现多元数据一致性的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102368268A true CN102368268A (zh) | 2012-03-07 |
CN102368268B CN102368268B (zh) | 2013-06-12 |
Family
ID=45760832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110326368 Active CN102368268B (zh) | 2011-10-25 | 2011-10-25 | 一种实现多元数据一致性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102368268B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808152A (zh) * | 2014-12-29 | 2016-07-27 | 曙光云计算技术有限公司 | 一种优化raid全局元数据读写性能的方法 |
CN107239544A (zh) * | 2017-06-05 | 2017-10-10 | 山东浪潮云服务信息科技有限公司 | 一种分布式存储的实现方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080243878A1 (en) * | 2007-03-29 | 2008-10-02 | Symantec Corporation | Removal |
CN101706805A (zh) * | 2009-10-30 | 2010-05-12 | 中国科学院计算技术研究所 | 对象存储方法及其系统 |
CN101706802A (zh) * | 2009-11-24 | 2010-05-12 | 成都市华为赛门铁克科技有限公司 | 一种数据写入、修改及恢复的方法、装置及服务器 |
-
2011
- 2011-10-25 CN CN 201110326368 patent/CN102368268B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080243878A1 (en) * | 2007-03-29 | 2008-10-02 | Symantec Corporation | Removal |
CN101706805A (zh) * | 2009-10-30 | 2010-05-12 | 中国科学院计算技术研究所 | 对象存储方法及其系统 |
CN101706802A (zh) * | 2009-11-24 | 2010-05-12 | 成都市华为赛门铁克科技有限公司 | 一种数据写入、修改及恢复的方法、装置及服务器 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808152A (zh) * | 2014-12-29 | 2016-07-27 | 曙光云计算技术有限公司 | 一种优化raid全局元数据读写性能的方法 |
CN105808152B (zh) * | 2014-12-29 | 2018-11-27 | 曙光云计算集团有限公司 | 一种优化raid全局元数据读写性能的方法 |
CN107239544A (zh) * | 2017-06-05 | 2017-10-10 | 山东浪潮云服务信息科技有限公司 | 一种分布式存储的实现方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102368268B (zh) | 2013-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11755414B2 (en) | Data recovery using bitmap data structure | |
CN102214205B (zh) | 用于经聚类的数据库系统中的逻辑复制的系统和方法 | |
US8719232B2 (en) | Systems and methods for data integrity checking | |
CN105550229B (zh) | 分布式存储系统数据修复的方法和装置 | |
US20150213100A1 (en) | Data synchronization method and system | |
US20160034357A1 (en) | Managing backup operations from a client system to a primary server and secondary server | |
US20120303761A1 (en) | Breakpoint continuous transmission method | |
WO2018098972A1 (zh) | 一种日志恢复方法、存储装置和存储节点 | |
US8266474B2 (en) | Fast cluster failure detection | |
CN102368267A (zh) | 一种维护分布式系统中副本一致性的方法 | |
CN104376127A (zh) | 一种数据操作方法及装置 | |
CN105159795A (zh) | 数据同步方法、装置和系统 | |
CN111897878A (zh) | 主辅数据同步方法及系统 | |
US20120278429A1 (en) | Cluster system, synchronization controlling method, server, and synchronization controlling program | |
US20120310885A1 (en) | Auto-Correction in Database Replication | |
CN106897288B (zh) | 数据库的服务提供方法和系统 | |
CN106790378A (zh) | 设备间的数据全同步方法、装置及系统 | |
CN102368268B (zh) | 一种实现多元数据一致性的方法 | |
US20150088958A1 (en) | Information Processing System and Distributed Processing Method | |
US20060117076A1 (en) | Method for replication tracing | |
US20120191645A1 (en) | Information processing apparatus and database system | |
KR101748913B1 (ko) | 분산 저장 환경에서 게이트웨이를 선택하기 위한 클러스터 관리 방법 및 데이터 저장 시스템 | |
CN102508891B (zh) | 一种基于丢弃的多元数据服务器元数据日志一致性的方法 | |
JP2007323422A (ja) | 分散データベースシステム及びそのデータ同期方法 | |
US7587628B2 (en) | System, method and computer program product for copying data |
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 |