CN104104731B - 一种维护数据一致性的方法及装置 - Google Patents

一种维护数据一致性的方法及装置 Download PDF

Info

Publication number
CN104104731B
CN104104731B CN201410363170.6A CN201410363170A CN104104731B CN 104104731 B CN104104731 B CN 104104731B CN 201410363170 A CN201410363170 A CN 201410363170A CN 104104731 B CN104104731 B CN 104104731B
Authority
CN
China
Prior art keywords
processing
data server
file
request
processing request
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
Application number
CN201410363170.6A
Other languages
English (en)
Other versions
CN104104731A (zh
Inventor
王欢
吴楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201410363170.6A priority Critical patent/CN104104731B/zh
Publication of CN104104731A publication Critical patent/CN104104731A/zh
Application granted granted Critical
Publication of CN104104731B publication Critical patent/CN104104731B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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所述的系统,其特征在于,
所述客户端还用于,在正常工作时,发送处理请求到元数据服务器和数据服务器;
数据服务器,用于根据处理请求进行文件处理,并通知元数据服务器处理请求的文件处理的状态,以完成元数据同步。
CN201410363170.6A 2014-07-28 2014-07-28 一种维护数据一致性的方法及装置 Active CN104104731B (zh)

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 CN104104731A (zh) 2014-10-15
CN104104731B true 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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1722137A (zh) * 2004-07-15 2006-01-18 微软公司 外部元数据处理
CN101324892A (zh) * 2007-06-12 2008-12-17 三星电子株式会社 检查内容和元数据的完整性的系统和方法
CN102077183A (zh) * 2008-06-25 2011-05-25 微软公司 可移动存储设备上的外部文件系统元数据的维护

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8010558B2 (en) * 2001-06-05 2011-08-30 Silicon Graphics International Relocation of metadata server with outstanding DMAPI requests
US6768993B2 (en) * 2001-06-28 2004-07-27 International Business Machines Corporation System and method for file system cooperation in a multi-threaded environment
CN1293492C (zh) * 2003-11-17 2007-01-03 联想(北京)有限公司 一种机群文件系统一致性动态检查方法
CN100375093C (zh) * 2005-03-18 2008-03-12 联想(北京)有限公司 多线程元数据的处理方法
CN102387048B (zh) * 2011-10-25 2015-08-12 中兴通讯股份有限公司 一种用于分布式文件系统的监控方法及分布式文件系统
CN102694860A (zh) * 2012-05-25 2012-09-26 北京邦诺存储科技有限公司 一种云存储的数据处理方法、设备及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1722137A (zh) * 2004-07-15 2006-01-18 微软公司 外部元数据处理
CN101324892A (zh) * 2007-06-12 2008-12-17 三星电子株式会社 检查内容和元数据的完整性的系统和方法
CN102077183A (zh) * 2008-06-25 2011-05-25 微软公司 可移动存储设备上的外部文件系统元数据的维护

Also Published As

Publication number Publication date
CN104104731A (zh) 2014-10-15

Similar Documents

Publication Publication Date Title
US10747714B2 (en) Scalable distributed data store
US10296498B2 (en) Coordinated hash table indexes to facilitate reducing database reconfiguration time
KR101956236B1 (ko) 데이터베이스 관리 시스템에서의 데이터 복제 기법
US10795905B2 (en) Data stream ingestion and persistence techniques
US10691716B2 (en) Dynamic partitioning techniques for data streams
US10467105B2 (en) Chained replication techniques for large-scale data streams
CN102073540B (zh) 分布式事务提交方法和装置
CN103782573B (zh) 对客户端和应用掩盖服务器停运
CN103365929B (zh) 一种数据库连接的管理方法及系统
US10635644B2 (en) Partition-based data stream processing framework
CN107391758B (zh) 数据库切换方法、装置及设备
US20160210201A9 (en) Techniques for backup restore and recovery of a pluggable database
Srinivasan et al. Aerospike: Architecture of a real-time operational dbms
US20150134797A1 (en) Managed service for acquisition, storage and consumption of large-scale data streams
CN104813276A (zh) 从备份系统流式恢复数据库
CN103593266A (zh) 一种基于仲裁盘机制的双机热备方法
CN109325016B (zh) 数据迁移方法、装置、介质及电子设备
CN102317913B (zh) 一种事务恢复方法和事务恢复装置
KR20180061493A (ko) 데이터베이스 이중화 무중단 정합성 복구 기법
CN113010496A (zh) 一种数据迁移方法、装置、设备和存储介质
KR20190022600A (ko) 데이터베이스 관리 시스템에서의 데이터 복제 기법
KR20120118550A (ko) 대용량 데이터 고속처리용 분산 메인 메모리 데이터베이스 관리 시스템 구조
CN104104731B (zh) 一种维护数据一致性的方法及装置
JP7104016B2 (ja) クライアント側のキャッシュによる透過的なデータベースセッションの回復
CN106775459A (zh) 一种基于ft‑1500a处理器的安全分布式文件系统架构

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