CN104104731A - 一种维护数据一致性的方法及装置 - Google Patents
一种维护数据一致性的方法及装置 Download PDFInfo
- Publication number
- CN104104731A CN104104731A CN201410363170.6A CN201410363170A CN104104731A CN 104104731 A CN104104731 A CN 104104731A CN 201410363170 A CN201410363170 A CN 201410363170A CN 104104731 A CN104104731 A CN 104104731A
- Authority
- CN
- China
- Prior art keywords
- processing request
- processing
- file
- request
- client
- 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
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000012545 processing Methods 0.000 claims abstract description 210
- 230000002159 abnormal effect Effects 0.000 claims description 9
- 238000012423 maintenance Methods 0.000 description 4
- 238000007792 addition Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种维护数据一致性的方法及系统,包括:在客户端出现宕机或网络异常时,元数据服务器获取客户端发送的对文件进行处理的处理请求;元数据服务器根据处理请求查看处理请求的文件的存在情况,若处理请求的文件不符合处理的状态,根据文件的处理请求执行文件的处理;并在完成处理请求后,删除元数据服务器获取的处理请求,同时更新元数据服务器和将完成处理请求的内容反馈给客户端;若处理请求的文件符合处理的状态,直接删除获得的处理请求并反馈给客户端。本发明通过元数据服务器获取处理请求,对处理请求的完成状态进行维护,使数据服务器和元数据服务器对客户端发出的文件的处理请求,保持一致性,实现过程简单。
Description
技术领域
本申请涉及分布式存储技术,尤指一种分布式系统中维护数据一致性的方法及装置。
背景技术
随着大数据海量信息的爆发,传统的存储架构已经无法满足日益增长的数据存储需要,也无法满足海量数据的存储性能需要。分布式存储架构早先在高性能计算(HPC)领域已经广泛使用,为的就是在高性能集群做数据的统一存储和统一管理,在多台的存储节点上进行数据的分布。
采用分布式存储时,需要对文件存储的位置进行及时有效的更新,才能实现对存储文件的有效读取和分析,因此需要维护数据和保存有数据分布是位置信息的元数据的一致性。数据存储的分布式位置主要通过以下两种方法维护数据一致性,一是通过统一的地址来进行记录,即采用元数据的方法进行数据一致性维护;二是通过一致性哈希算法维护数据,但是,一致性哈希算法进行数据一致性维护时,无法达到数据及时分布的负载均衡,当进行大量数据移动时,采用一致性哈希算法给集群带来很大的网络负载和复杂性管理。
由于采用一致性哈希算法实用性不强,目前主要通过元数据服务器进行数据与元数据的一致性维护,主要包括有二次提交算法、三次提交算法、日志记录方法,;虽然以上算法可以实现数据与元数据一致性的维护,但是现有实现数据与元数据一致性维护的方法较为复杂,二次提交算法采用的是阻塞协议,在执行的过程中需要锁住其他元数据更新操作,且不容错,在进行处理请求过程中包含有两个阶段,每个阶段都可能产生故障;三次提交算法同样采用阻塞协议,在三个阶段均可出现故障,且每次一旦出错,都要执行事务的回滚恢复操作,且在回滚恢复过程中同样又会产生异常,因此,二次提交算法和三次提交算法复杂度高。日志记录方法,是将日志保存在内存或磁盘中,在每次进行处理请求的操作时,进行日志的记录,在断电的情况下,保存在内存的日志或造成丢失,而在磁盘上保存日志,大量的处理请求,会严重影响磁盘的工作性能。现有方法,日志记录方法在内存中保存日志,在断电时,容易造成数据丢失,在磁盘中保存日志,影响磁盘的工作性能。而二次提交算法和三次提交算法给原本就复杂的分布式系统添加了更大的复杂性,不符合设计当中应当注重简约的原则(简称KISS原则)。
发明内容
为了解决上述问题,本发明提供一种维护数据一致性的方法及装置,能够简单地维护数据的一致性。
为了达到本发明的目的,本申请提供一种维护数据一致性的方法;包括:
在客户端出现宕机或网络异常时,元数据服务器获取客户端发送的对文件进行处理的处理请求;
元数据服务器根据处理请求查看处理请求的文件的存在情况,
若处理请求的文件不符合处理的状态,根据文件的处理请求执行文件的处理;并在完成处理请求后,删除元数据服务器获取的处理请求,同时更新元数据服务器和将完成处理请求的内容反馈给客户端;
若处理请求的文件符合处理的状态,直接删除获得的处理请求并反馈给客户端。
进一步地,文件的处理请求至少包含:对文件进行增加的请求,和/或删除的请求,和/或修改的请求。
进一步地,该方法还包括:当客户端正常时,客户端发送处理请求到元数据服务器和数据服务器,数据服务器根据处理请求进行文件处理,并通知元数据服务器处理请求的文件处理的状态,以完成元数据同步。
进一步地,当数据服务器完成处理请求时,数据服务器出现宕机或网络故障,未通知元数据服务器完成元数据同步时,该方法还包括:元数据服务器根据接收的处理请求访问数据服务器,确定是否完成所述处理请求。
另一方面,本申请还提供一种维护数据一致性的系统,包括:元数据服务器、客户端和数据服务器;其中,
元数据服务器,用于在客户端出现宕机或网络异常时,获取客户端发送的对文件进行处理的处理请求;根据处理请求查看处理请求的文件的存在情况,
若处理请求的文件不符合处理的状态,根据文件的处理请求执行文件的处理;并在完成处理请求后,删除获取的处理请求,同时更新元数据和将完成处理请求的内容反馈给客户端;若处理请求的文件符合处理的状态,直接删除获得的处理请求并反馈给客户端;
数据服务器,用于根据元数据服务器的获取的处理请求完成文件的处理;
客户端,用于接收元数据服务器,关于处理请求完成的反馈。
进一步地,文件的处理请求至少包含:对文件进行增加的请求,和/或删除的请求,和/或修改的请求。
进一步地,客户端还用于,在正常工作时,发送处理请求到元数据服务器和数据服务器;
数据服务器,用于根据处理请求进行文件处理,并通知元数据服务器处理请求的文件处理的状态,以完成元数据同步。
进一步地,元数据服务器还用于当数据服务器完成处理请求时出现宕机或网络故障,未通知元数据服务器完成元数据同步;根据接收的处理请求访问数据服务器,确定是否完成所述处理请求。
与现有技术相比,本发明提供的技术方案,包括:在客户端出现宕机或网络异常时,元数据服务器获取客户端发送的对文件进行处理的处理请求;元数据服务器根据处理请求查看处理请求的文件的存在情况,若处理请求的文件不符合处理的状态,根据文件的处理请求执行文件的处理;并在完成处理请求后,删除元数据服务器获取的处理请求,同时更新元数据服务器和将完成处理请求的内容反馈给客户端;若处理请求的文件符合处理的状态,直接删除获得的处理请求并反馈给客户端。本发明通过元数据服务器的预处理列表,对处理请求的完成状态进行维护,使数据服务器和元数据服务器对客户端发出的文件的处理请求,保持一致性,实现过程简单。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本发明维护数据一致性的方法的流程图;
图2为本发明维护数据一致性的系统的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1为本发明维护数据一致性的方法的流程图,如图1所示,包括:
步骤100、在客户端出现宕机或网络异常时,元数据服务器获取客户端发送的对文件进行处理的处理请求。这里的处理请求包括:处理的文件的存储路径信息及对文件的处理操作(包括:添加、删除、修改等)。
需要说明的是,这里客户端出现宕机和网络异常情况,元数据服务器是通过本领域技术人员的惯用技术手段获得的状态,是通过实时侦听方式获得的客户端状态,例如心跳机制,本发明仅利用现有技术实现侦听。
另外,本步骤中元数据服务器获取处理请求后,可以通过相应的处理列表、任务、或状态参数等进行处理请求的存储。客户端在发送处理请求后,出现宕机和网络异常情况而可能无法接收到元数据服务器关于是否完成文件的处理请求的反馈,因此,需要通过元数据服务器获取客户端发送的处理请求,用于确定是否完成处理请求的,对数据服务器的文件的处理。
本步骤中,文件的处理请求至少包含:对存储路径的文件进行增加的请求,和/或删除的请求,和/或修改的请求。
步骤101、元数据服务器根据处理请求查看处理请求的文件的存在情况,若处理请求的文件不符合处理的状态,执行步骤102;否则,执行步骤103;
需要说明的是,处理请求的文件不符合处理的状态,是指根据处理请求的信息中,处理的文件的路径信息及对文件的处理操作(包括:添加、删除、修改等)的执行结果,如果处理请求完成,则在进行查看时,根据本领域技术人员的惯用技术手段,可以确定文件是否执行了相应的处理操作,即确定处理请求的文件是否符合处理的状态。
步骤102、元数据服务器根据文件的处理请求执行文件的处理;并在完成处理请求后,删除元数据服务器获取的处理请求,同时更新元数据服务器和将完成处理请求的内容反馈给客户端。结束本流程。
需要说明的是,根据文件的处理请求执行文件的处理,是指根据处理请求中的文件存储路径及对文件的或删除、或添加、或修改等操作,对文件执行相应的操作。
步骤103、直接删除获得的处理请求并反馈给客户端。
本发明方法还包括:当客户端正常时,客户端发送处理请求到元数据服务器和数据服务器,数据服务器根据处理请求进行文件处理,并通知元数据服务器处理请求的文件处理的状态,以完成元数据同步。
当数据服务器完成处理请求时,数据服务器出现宕机或网络故障,未通知元数据服务器完成元数据同步时,本发明方法还包括:元数据服务器根据接收的处理请求访问数据服务器,确定是否完成所述处理请求。
需要说明的是,这里数据服务器出现宕机和网络异常情况,和客户端一样是通过本领域技术人员的惯用技术手段获得的状态,通过实时侦听方式获得的客户端状态,例如心跳机制,本发明仅利用现有技术实现侦听。元数据服务器根据接收的处理请求访问数据服务器,确定是否完成所述处理请求是指,根据处理请求中文件的存储路径及对文件执行的或删除、或添加、或修改等操作后,元数据服务器访问数据服务器时,文件的处理状态应当与处理请求完成的状态相对应。另外,采用上述方法,不存在断电时,保存在内存的日志文件丢失;保存在磁盘时,影响磁盘工作性能的问题。
图2为本发明维护数据一致性的系统的结构框图,如图2所示,包括:元数据服务器、客户端和数据服务器;其中,
元数据服务器,用于元数据服务器,用于在客户端出现宕机或网络异常时,获取客户端发送的对文件进行处理的处理请求;根据处理请求查看处理请求的文件的存在情况,
若处理请求的文件不符合处理的状态,根据文件的处理请求执行文件的处理;并在完成处理请求后,删除获取的处理请求,同时更新元数据和将完成处理请求的内容反馈给客户端;
若处理请求的文件符合处理的状态,直接删除获得的处理请求并反馈给客户端;
数据服务器,用于根据元数据服务器的获取的处理请求完成文件的处理;
客户端,用于接收元数据服务器,关于处理请求完成的反馈。
文件的处理请求至少包含:对文件进行增加的请求,和/或删除的请求,和/或修改的请求。
客户端还用于,在正常工作时,发送处理请求到元数据服务器和数据服务器;
数据服务器,用于根据处理请求进行文件处理,并通知元数据服务器处理请求的文件处理的状态,以完成元数据同步。
元数据服务器还用于当数据服务器完成处理请求时出现宕机或网络故障,未通知元数据服务器完成元数据同步;根据接收的处理请求访问数据服务器,确定是否完成所述处理请求。
虽然本申请所揭露的实施方式如上,但所述的内容仅为便于理解本申请而采用的实施方式,并非用以限定本申请,如本发明实施方式中的具体的实现方法。任何本申请所属领域内的技术人员,在不脱离本申请所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本申请的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (8)
1.一种维护数据一致性的方法,其特征在于,包括:
在客户端出现宕机或网络异常时,元数据服务器获取客户端发送的对文件进行处理的处理请求;
元数据服务器根据处理请求查看处理请求的文件的存在情况,
若处理请求的文件不符合处理的状态,根据文件的处理请求执行文件的处理;并在完成处理请求后,删除元数据服务器获取的处理请求,同时更新元数据服务器和将完成处理请求的内容反馈给客户端;
若处理请求的文件符合处理的状态,直接删除获得的处理请求并反馈给客户端。
2.根据权利要求1所述的方法,其特征在于,所述文件的处理请求至少包含:对文件进行增加的请求,和/或删除的请求,和/或修改的请求。
3.根据权利要求1或2所述的方法,其特征在于,该方法还包括:当客户端正常时,客户端发送处理请求到元数据服务器和数据服务器,数据服务器根据处理请求进行文件处理,并通知元数据服务器处理请求的文件处理的状态,以完成元数据同步。
4.根据权利要求3所述的方法,其特征在于,当数据服务器完成处理请求时,数据服务器出现宕机或网络故障,未通知元数据服务器完成元数据同步时,该方法还包括:元数据服务器根据接收的处理请求访问数据服务器,确定是否完成所述处理请求。
5.一种维护数据一致性的系统,其特征在于,包括:元数据服务器、客户端和数据服务器;其中,
元数据服务器,用于在客户端出现宕机或网络异常时,获取客户端发送的对文件进行处理的处理请求;根据处理请求查看处理请求的文件的存在情况,
若处理请求的文件不符合处理的状态,根据文件的处理请求执行文件的处理;并在完成处理请求后,删除获取的处理请求,同时更新元数据和将完成处理请求的内容反馈给客户端;若处理请求的文件符合处理的状态,直接删除获得的处理请求并反馈给客户端;
数据服务器,用于根据元数据服务器的获取的处理请求完成文件的处理;
客户端,用于接收元数据服务器,关于处理请求完成的反馈。
6.根据权利要求5所述的系统,其特征在于,所述文件的处理请求至少包含:对文件进行增加的请求,和/或删除的请求,和/或修改的请求。
7.根据权利要求5或6所述的方法,其特征在于,所述客户端还用于,在正常工作时,发送处理请求到元数据服务器和数据服务器;
数据服务器,用于根据处理请求进行文件处理,并通知元数据服务器处理请求的文件处理的状态,以完成元数据同步。
8.根据权利要求7所述的系统,其特征在于,所述元数据服务器还用于当数据服务器完成处理请求时出现宕机或网络故障,未通知元数据服务器完成元数据同步;根据接收的处理请求访问数据服务器,确定是否完成所述处理请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410363170.6A CN104104731B (zh) | 2014-07-28 | 2014-07-28 | 一种维护数据一致性的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410363170.6A CN104104731B (zh) | 2014-07-28 | 2014-07-28 | 一种维护数据一致性的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104104731A true CN104104731A (zh) | 2014-10-15 |
CN104104731B CN104104731B (zh) | 2018-02-02 |
Family
ID=51672530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410363170.6A Active CN104104731B (zh) | 2014-07-28 | 2014-07-28 | 一种维护数据一致性的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104104731B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030004918A1 (en) * | 2001-06-28 | 2003-01-02 | International Business Machines Corporation | System and method for file system cooperation in a multi-threaded environment |
US20050015384A1 (en) * | 2001-06-05 | 2005-01-20 | Silicon Graphics, Inc. | Relocation of metadata server with outstanding DMAPI requests |
CN1619521A (zh) * | 2003-11-17 | 2005-05-25 | 联想(北京)有限公司 | 一种机群文件系统一致性动态检查方法 |
CN1722137A (zh) * | 2004-07-15 | 2006-01-18 | 微软公司 | 外部元数据处理 |
CN1834956A (zh) * | 2005-03-18 | 2006-09-20 | 联想(北京)有限公司 | 多线程元数据的处理方法 |
CN101324892A (zh) * | 2007-06-12 | 2008-12-17 | 三星电子株式会社 | 检查内容和元数据的完整性的系统和方法 |
CN102077183A (zh) * | 2008-06-25 | 2011-05-25 | 微软公司 | 可移动存储设备上的外部文件系统元数据的维护 |
CN102387048A (zh) * | 2011-10-25 | 2012-03-21 | 中兴通讯股份有限公司 | 一种用于分布式文件系统的监控方法及分布式文件系统 |
CN102694860A (zh) * | 2012-05-25 | 2012-09-26 | 北京邦诺存储科技有限公司 | 一种云存储的数据处理方法、设备及系统 |
-
2014
- 2014-07-28 CN CN201410363170.6A patent/CN104104731B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050015384A1 (en) * | 2001-06-05 | 2005-01-20 | Silicon Graphics, Inc. | Relocation of metadata server with outstanding DMAPI requests |
US20030004918A1 (en) * | 2001-06-28 | 2003-01-02 | International Business Machines Corporation | System and method for file system cooperation in a multi-threaded environment |
CN1619521A (zh) * | 2003-11-17 | 2005-05-25 | 联想(北京)有限公司 | 一种机群文件系统一致性动态检查方法 |
CN1722137A (zh) * | 2004-07-15 | 2006-01-18 | 微软公司 | 外部元数据处理 |
CN1834956A (zh) * | 2005-03-18 | 2006-09-20 | 联想(北京)有限公司 | 多线程元数据的处理方法 |
CN101324892A (zh) * | 2007-06-12 | 2008-12-17 | 三星电子株式会社 | 检查内容和元数据的完整性的系统和方法 |
US20080313198A1 (en) * | 2007-06-12 | 2008-12-18 | Samsung Electronics Co., Ltd. | System and method of checking integrity of content and metadata |
CN102077183A (zh) * | 2008-06-25 | 2011-05-25 | 微软公司 | 可移动存储设备上的外部文件系统元数据的维护 |
CN102387048A (zh) * | 2011-10-25 | 2012-03-21 | 中兴通讯股份有限公司 | 一种用于分布式文件系统的监控方法及分布式文件系统 |
CN102694860A (zh) * | 2012-05-25 | 2012-09-26 | 北京邦诺存储科技有限公司 | 一种云存储的数据处理方法、设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104104731B (zh) | 2018-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8712961B2 (en) | Database caching utilizing asynchronous log-based replication | |
US10140185B1 (en) | Epoch based snapshot summary | |
US9286162B2 (en) | System and method for guaranteeing consistent data synchronization from a volatile data source | |
WO2018014650A1 (zh) | 分布式数据库数据同步方法、相关装置及系统 | |
US10831741B2 (en) | Log-shipping data replication with early log record fetching | |
CN106649676B (zh) | 一种基于hdfs存储文件的去重方法及装置 | |
WO2010015143A1 (zh) | 一种分布式文件系统及其数据块一致性管理的方法 | |
US11928089B2 (en) | Data processing method and device for distributed database, storage medium, and electronic device | |
EP3575968A1 (en) | Method and device for synchronizing active transaction lists | |
US11314544B2 (en) | Transaction log for audit purposes | |
US20150286671A1 (en) | Transaction system | |
US9075722B2 (en) | Clustered and highly-available wide-area write-through file system cache | |
US20210149759A1 (en) | Application crash analysis techniques when memory dump and debug symbols are not co-located | |
US10929100B2 (en) | Mitigating causality discrepancies caused by stale versioning | |
TW201535134A (zh) | 於分散式資料庫中將系統狀態一致地還原至欲還原時間點之方法及系統 | |
JP2016517605A (ja) | ビザンチン故障耐性データ複製を行う方法およびシステム | |
US11507277B2 (en) | Key value store using progress verification | |
WO2012101531A1 (en) | Data integrity protection in storage volumes | |
WO2015196692A1 (zh) | 一种云计算系统以及云计算系统的处理方法和装置 | |
CN118410106A (zh) | 一种基于时间线映射的跨数据源实时同步方法 | |
CN104104731B (zh) | 一种维护数据一致性的方法及装置 | |
US20200249876A1 (en) | System and method for data storage management | |
CN110765193A (zh) | 一种区块链数据导出的方法及装置 | |
CN104301345B (zh) | 一种Cache集群中删除数据的方法及系统 | |
CN118626507B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |