CN107590286A - 在集群文件系统中事务信息的管理方法和装置 - Google Patents

在集群文件系统中事务信息的管理方法和装置 Download PDF

Info

Publication number
CN107590286A
CN107590286A CN201710936094.7A CN201710936094A CN107590286A CN 107590286 A CN107590286 A CN 107590286A CN 201710936094 A CN201710936094 A CN 201710936094A CN 107590286 A CN107590286 A CN 107590286A
Authority
CN
China
Prior art keywords
affairs
file system
write operation
transaction
cluster file
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
Application number
CN201710936094.7A
Other languages
English (en)
Other versions
CN107590286B (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710936094.7A priority Critical patent/CN107590286B/zh
Publication of CN107590286A publication Critical patent/CN107590286A/zh
Application granted granted Critical
Publication of CN107590286B publication Critical patent/CN107590286B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种在集群文件系统中事务信息的管理方法和装置。所述方法包括:在集群文件系统中,当对集群文件系统中执行写操作事务后,获取所述事务的实时处理状态;根据事务的实时处理状态,更新到所述事务对应的日志数据中。

Description

在集群文件系统中事务信息的管理方法和装置
技术领域
本发明涉及信息处理领域,尤指一种在集群文件系统中事务信息的管理方法。
背景技术
日志文件系统是在传统的文件系统基础上,增加了文件系统更改的日志记录。在日志文件系统中,所有文件系统的变化都会记录到日志中,每隔一段时间文件系统会将更新的元数据及文件内容写入到磁盘中。在对元数据做修改之前,会首先向日志中写一个记录,该记录描述即将做什么,修改哪些元数据。OCFS(Oracle Cluster Filesystem,集群文件系统)文件系统本身不处理日志,它是通过调用日志块设备(Journaling block device,JBD)来完成,OCFS写JBD的交互使用三个基本单元:日志记录,原子操作和事务。
OCFS文件系统是一个支持日志型文件系统,在虚拟化、云计算领域被广泛使用。但是日志型文件系统在频繁的系统断电或崩溃场景下,表现并不太好。主要原因是文件系统的日志和数据放在同一块磁盘之上,当磁盘发生故障时,难以恢复。另外,日志文件系统一般采用异常缓冲的方式使得日志事务停留在内存中的时间延长,从而增加了日志丢失的风险。
发明内容
为了解决上述技术问题,本发明提供了一种在集群文件系统中事务信息的管理方法和装置,能够降低日志丢失的风险。
为了达到本发明目的,本发明提供了一种在集群文件系统中事务信息的管理方法,包括:
在集群文件系统中,当对集群文件系统中执行写操作事务后,获取所述事务的实时处理状态;
根据事务的实时处理状态,更新到所述事务对应的日志数据中。
其中,所述方法还具有如下特点:所述获取所述事务的实时处理状态,包括:
当对集群文件系统中执行写操作事务后,初始化所述事务为运行状态;
在所述事务处理过程中,变更所述事务的状态为处理状态且不接受新的事务的管理请求;
当检测到所述事务的处理完成后,记录所述事务的状态为处理完成。
其中,所述方法还具有如下特点:所述事务的实时处理状态的是通过如下方式得到的:
当检测到为所述写操作事物分配对应的一个或多个原子性操作句柄时,确定所述事务为运行状态;
当检测到执行所述一个或多个原子性操作句柄对应的原子性操作,并拒绝对所述事务新的增加原子性操作句柄时,变更所述事务的状态为处理状态且不接受新的事务的管理请求;
在所述一个或多个原子性操作执行完成后,确定所述事务处理完成。
其中,所述方法还具有如下特点:所述根据事务的实时处理状态,更新到所述事务对应的日志数据中之后,所述方法还包括:
当检测到所述事务处理完成后,将该事务对应的日志信息写入磁盘。
其中,所述方法还具有如下特点:所述将该事务对应的日志信息写入磁盘之后,所述方法还包括:
检测所述日志信息写入操作是否成功;
当检测到写入操作成功后,创建新的事务操作。
一种在集群文件系统中事务信息的管理装置,包括:
获取模块,用于在集群文件系统中,当对集群文件系统中执行写操作事务后,获取所述事务的实时处理状态;
更新模块,用于根据事务的实时处理状态,更新到所述事务对应的日志数据中。
其中,所述装置还具有如下特点:所述获取模块具体用于:
当对集群文件系统中执行写操作事务后,初始化所述事务为运行状态;
在所述事务处理过程中,变更所述事务的状态为处理状态且不接受新的事务的管理请求;
当检测到所述事务的处理完成后,记录所述事务的状态为处理完成。
其中,所述装置还具有如下特点:所述事务的实时处理状态的是所述获取模块通过如下方式得到的:
当检测到为所述写操作事物分配对应的一个或多个原子性操作句柄时,确定所述事务为运行状态;
当检测到执行所述一个或多个原子性操作句柄对应的原子性操作,并拒绝对所述事务新的增加原子性操作句柄时,变更所述事务的状态为处理状态且不接受新的事务的管理请求;
在所述一个或多个原子性操作执行完成后,确定所述事务处理完成。
其中,所述装置还具有如下特点:所述装置还包括:
写入模块,用于当检测到所述事务处理完成后,将该事务对应的日志信息写入磁盘。
其中,所述装置还具有如下特点:所述将该事务对应的日志信息写入磁盘之后,所述装置还包括:
检测模块,用于检测所述日志信息写入操作是否成功;
创建模块,用于当检测到写入操作成功后,创建新的事务操作。
本发明提供的实施例,通过获取写操作事务的实时处理状态,同步记录该事务的处理状态形成日志,从而降低日志因未及时保存到日志数据中发生的日志丢失问题,提高日志数据的安全性和准确性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明提供的在集群文件系统中事务信息的管理方法的流程图;
图2为本发明提供的应用实例提供的OCFS文件系统的优化方法的流程图;
图3为本发明提供的在集群文件系统中事务信息的管理装置的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本发明提供的在集群文件系统中事务信息的管理方法的流程图。图1所示方法包括:
步骤101、在集群文件系统中,当对集群文件系统中执行写操作事务后,获取所述事务的实时处理状态;
具体的,对集群文件系统中每一次内容的修改或写入操作,均可以理解为写操作事务,针对写操作,按照该写操作处理流程的节点,记录该事务的处理状态;
步骤102、根据事务的实时处理状态,更新到所述事务对应的日志数据中。
具体的,根据事务的实时处理状态,将该日志的信息记录到日志数据中,以保证日志数据能够同步更新,有效避免现有技术中当磁盘发生故障或缓存在内存中的时间延长造成故障的风险。
本发明提供的方法实施例,通过获取写操作事务的实时处理状态,同步记录该事务的处理状态形成日志,从而降低日志因未及时保存到日志数据中发生的日志丢失问题,提高日志数据的安全性和准确性。
下面对本发明提供的方法作进一步说明:
本发明提供的方法中,事务的处理状态可以分为初始状态、处理中、处理完成三个阶段,在获取所述事务的实时处理状态,包括:
当对集群文件系统中执行写操作事务后,初始化所述事务为运行状态;
在所述事务处理过程中,变更所述事务的状态为处理状态且不接受新的事务的管理请求;
当检测到所述事务的处理完成后,记录所述事务的状态为处理完成。
通过获取上述三个过程,可以清楚的获知事务的处理阶段,对系统的运行状态能够明确的获知,因此需要对上述三个阶段进行日志数据的存储。
具体的,所述事务的实时处理状态的是通过如下方式得到的:
当检测到为所述写操作事物分配对应的一个或多个原子性操作句柄时,确定所述事务为运行状态;
其中,分配的句柄是按照该写操作的原子性操作单元来划分的,按照系统划分的原子性操作,将本次的事务划分成多个有执行顺序的原子性操作,为每个原子性操作分配的句柄;
当检测到执行所述一个或多个原子性操作句柄对应的原子性操作,并拒绝对所述事务新的增加原子性操作句柄时,变更所述事务的状态为处理状态且不接受新的事务的管理请求;
其中,按照执行顺序执行该原子性操作,为保证该事务能够独立顺畅的完成,在该事务过程中,不接受新的原子性操作的加入;
在所述一个或多个原子性操作执行完成后,确定所述事务处理完成;
由上可以看出,对事务处理状态的获取是按照事务在实际过程中的操作步骤来检测的,无需增加新的检测条件,就能够借助现有的处理流程完成事务处理状态的获取。
在所述根据事务的实时处理状态,更新到所述事务对应的日志数据中之后,所述方法还包括:
当检测到所述事务处理完成后,将该事务对应的日志信息写入磁盘。
具体的,可以设置该事务的处理状态为提交,表明该事务的日志信息已提交,可以完成日志数据的写入。
在所述将该事务对应的日志信息写入磁盘之后,检测所述日志信息写入操作是否成功;当检测到写入操作成功后,创建新的事务操作。
具体的,如果检测到该日志信息已写入且对应的日志块已更新,则表示该日志信息的写入操作成功,表明对该事务的维护结束,此时可以创建新的事务操作。
下面以本发明提供的应用实例对上述方法作进一步说明:
图2为本发明提供的应用实例提供的OCFS文件系统的优化方法的流程图。图2所示方法用于减少OCFS在云计算场景下系统频繁故障或崩溃而导致的文件系统元数据或数据损坏。
该方法通过更改OCFS中元数据数据结构,将一些元数据异步标识更改为同步标识,保障每次元数据操作能及时生效;修改OCFS文件系统的元数据操作,将元数据事务更改为主动同步写入磁盘,降低日志或数据损坏风险;
图2所示方法主要包括如下步骤:
1、OCFS文件系统新事务创建
JBD通过控制操作的原子性来保障JBD的一致性。对文件系统的每一次修改或写操作是通过一个句柄引用完成。而事务是将一系列原子性操作句柄绑定一起,创建完成后事务状态更改为running。
2、原子操作处理
新的事务创建完成后,将事务的状态由running更改为locked,不接受新的句柄;
3、检查原子操作是否完成
检查所有原子操作句柄是否已经完成,将事务状态更改为flush;等待事务已经写入日志,并事务日志是完成时更改为commit;xxxxx
4、原子事务下刷新至磁盘中,成功后建立新事务
将事务完全写入日志且实际块已经得到更新,则更改为finished。
为了配合优化后的OCFS文件系统JBD流程,修改OCFS中相应的数据结构及相关处理逻辑:
修改JBD中的transaction中的添加新句柄的函数中,将handle字段修改为1,即是将异步更改为同步;
修改inode字段中的iflags字段更改为16,即是同步状态;
修改ocfs中的数据操作中的删除文件的函数unlink()、创建操作的函数create、创建目录的函数mkdir、删除目录的rmdir函数等操作中,在日志操作步骤中,更改为等待事务完成;
图3为本发明提供的在集群文件系统中事务信息的管理装置的结构图。图3所示装置包括:
获取模块301,用于在集群文件系统中,当对集群文件系统中执行写操作事务后,获取所述事务的实时处理状态;
更新模块302,用于根据事务的实时处理状态,更新到所述事务对应的日志数据中。
在本发明提供的一个装置实施例中,所述获取模块301具体用于:
当对集群文件系统中执行写操作事务后,初始化所述事务为运行状态;
在所述事务处理过程中,变更所述事务的状态为处理状态且不接受新的事务的管理请求;
当检测到所述事务的处理完成后,记录所述事务的状态为处理完成。
在本发明提供的一个装置实施例中,所述事务的实时处理状态的是所述获取模块301通过如下方式得到的:
当检测到为所述写操作事物分配对应的一个或多个原子性操作句柄时,确定所述事务为运行状态;
当检测到执行所述一个或多个原子性操作句柄对应的原子性操作,并拒绝对所述事务新的增加原子性操作句柄时,变更所述事务的状态为处理状态且不接受新的事务的管理请求;
在所述一个或多个原子性操作执行完成后,确定所述事务处理完成。
在本发明提供的一个装置实施例中,所述装置还包括:
写入模块,用于当检测到所述事务处理完成后,将该事务对应的日志信息写入磁盘。
在本发明提供的一个装置实施例中,所述将该事务对应的日志信息写入磁盘之后,所述装置还包括:
检测模块,用于检测所述日志信息写入操作是否成功;
创建模块,用于当检测到写入操作成功后,创建新的事务操作。
本发明提供的装置实施例,通过获取写操作事务的实时处理状态,同步记录该事务的处理状态形成日志,从而降低日志因未及时保存到日志数据中发生的日志丢失问题,提高日志数据的安全性和准确性。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。
上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。

Claims (10)

1.一种在集群文件系统中事务信息的管理方法,其特征在于,包括:
在集群文件系统中,当对集群文件系统中执行写操作事务后,获取所述事务的实时处理状态;
根据事务的实时处理状态,更新到所述事务对应的日志数据中。
2.根据权利要求1所述的方法,其特征在于,所述获取所述事务的实时处理状态,包括:
当对集群文件系统中执行写操作事务后,初始化所述事务为运行状态;
在所述事务处理过程中,变更所述事务的状态为处理状态且不接受新的事务的管理请求;
当检测到所述事务的处理完成后,记录所述事务的状态为处理完成。
3.根据权利要求2所述的方法,其特征在于,所述事务的实时处理状态的是通过如下方式得到的:
当检测到为所述写操作事物分配对应的一个或多个原子性操作句柄时,确定所述事务为运行状态;
当检测到执行所述一个或多个原子性操作句柄对应的原子性操作,并拒绝对所述事务新的增加原子性操作句柄时,变更所述事务的状态为处理状态且不接受新的事务的管理请求;
在所述一个或多个原子性操作执行完成后,确定所述事务处理完成。
4.根据权利要求1所述的方法,其特征在于,所述根据事务的实时处理状态,更新到所述事务对应的日志数据中之后,所述方法还包括:
当检测到所述事务处理完成后,将该事务对应的日志信息写入磁盘。
5.根据权利要求4所述的方法,其特征在于,所述将该事务对应的日志信息写入磁盘之后,所述方法还包括:
检测所述日志信息写入操作是否成功;
当检测到写入操作成功后,创建新的事务操作。
6.一种在集群文件系统中事务信息的管理装置,其特征在于,包括:
获取模块,用于在集群文件系统中,当对集群文件系统中执行写操作事务后,获取所述事务的实时处理状态;
更新模块,用于根据事务的实时处理状态,更新到所述事务对应的日志数据中。
7.根据权利要求6所述的装置,其特征在于,所述获取模块具体用于:
当对集群文件系统中执行写操作事务后,初始化所述事务为运行状态;
在所述事务处理过程中,变更所述事务的状态为处理状态且不接受新的事务的管理请求;
当检测到所述事务的处理完成后,记录所述事务的状态为处理完成。
8.根据权利要求7所述的装置,其特征在于,所述事务的实时处理状态的是所述获取模块通过如下方式得到的:
当检测到为所述写操作事物分配对应的一个或多个原子性操作句柄时,确定所述事务为运行状态;
当检测到执行所述一个或多个原子性操作句柄对应的原子性操作,并拒绝对所述事务新的增加原子性操作句柄时,变更所述事务的状态为处理状态且不接受新的事务的管理请求;
在所述一个或多个原子性操作执行完成后,确定所述事务处理完成。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
写入模块,用于当检测到所述事务处理完成后,将该事务对应的日志信息写入磁盘。
10.根据权利要求9所述的装置,其特征在于,所述将该事务对应的日志信息写入磁盘之后,所述装置还包括:
检测模块,用于检测所述日志信息写入操作是否成功;
创建模块,用于当检测到写入操作成功后,创建新的事务操作。
CN201710936094.7A 2017-10-10 2017-10-10 在集群文件系统中事务信息的管理方法和装置 Active CN107590286B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710936094.7A CN107590286B (zh) 2017-10-10 2017-10-10 在集群文件系统中事务信息的管理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710936094.7A CN107590286B (zh) 2017-10-10 2017-10-10 在集群文件系统中事务信息的管理方法和装置

Publications (2)

Publication Number Publication Date
CN107590286A true CN107590286A (zh) 2018-01-16
CN107590286B CN107590286B (zh) 2021-03-09

Family

ID=61052815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710936094.7A Active CN107590286B (zh) 2017-10-10 2017-10-10 在集群文件系统中事务信息的管理方法和装置

Country Status (1)

Country Link
CN (1) CN107590286B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109117093A (zh) * 2018-08-20 2019-01-01 赛凡信息科技(厦门)有限公司 保证分布式对象存储中的数据、流量、容量一致性的方案

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050228834A1 (en) * 2002-12-18 2005-10-13 Fujitsu Limited Distributed transaction processing control
CN101089857A (zh) * 2007-07-24 2007-12-19 中兴通讯股份有限公司 一种内存数据库事务管理方法及系统
CN103077222A (zh) * 2012-12-31 2013-05-01 中国科学院计算技术研究所 机群文件系统分布式元数据一致性保证方法及系统
CN104537037A (zh) * 2014-12-23 2015-04-22 杭州华为数字技术有限公司 一种处理数据库日志的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050228834A1 (en) * 2002-12-18 2005-10-13 Fujitsu Limited Distributed transaction processing control
CN101089857A (zh) * 2007-07-24 2007-12-19 中兴通讯股份有限公司 一种内存数据库事务管理方法及系统
CN103077222A (zh) * 2012-12-31 2013-05-01 中国科学院计算技术研究所 机群文件系统分布式元数据一致性保证方法及系统
CN104537037A (zh) * 2014-12-23 2015-04-22 杭州华为数字技术有限公司 一种处理数据库日志的方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DRAVENESS: "『浅入深出』MySQL 中事务的实现", 《HTTPS://DRAVENESS.ME/MYSQL-TRANSACTION》 *
董明斌: "浅析Zookeeper的一致性原理", 《知乎》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109117093A (zh) * 2018-08-20 2019-01-01 赛凡信息科技(厦门)有限公司 保证分布式对象存储中的数据、流量、容量一致性的方案
CN109117093B (zh) * 2018-08-20 2021-10-01 赛凡信息科技(厦门)有限公司 保证分布式对象存储中的数据、流量、容量一致性的方法

Also Published As

Publication number Publication date
CN107590286B (zh) 2021-03-09

Similar Documents

Publication Publication Date Title
KR102579190B1 (ko) 일관된 데이터베이스 스냅샷들을 이용한 분산 데이터베이스에서의 백업 및 복원
CN110799960B (zh) 数据库租户迁移的系统和方法
JP6553822B2 (ja) 分散システムにおける範囲の分割および移動
US10698866B2 (en) Synchronizing updates across cluster filesystems
US10013440B1 (en) Incremental out-of-place updates for index structures
US7979479B2 (en) Transaction-controlled graph processing and management
JP5387757B2 (ja) 並列データ処理システム、並列データ処理方法及びプログラム
CN106021016A (zh) 在快照之间的虚拟时间点访问
CN106716409A (zh) 基于查询需求从行存储数据库自适应地构建和更新列存储数据库的方法和系统
CN107122361A (zh) 数据迁移系统和方法
CN104881443A (zh) 一种在数据库间迁移数据的方法和系统
CN109241004A (zh) 元数据文件大小恢复方法、系统、装置及可读存储介质
CN108153804A (zh) 一种对称分布式文件系统的元数据日志更新方法
CN105512325B (zh) 多版本数据索引的更新、删除与建立方法及装置
CN106155838A (zh) 一种数据库备份数据恢复方法及装置
US20150081745A1 (en) Database insert with deferred materialization
WO2023129310A1 (en) Version control interface for accessing data lakes
CN106802928B (zh) 电网历史数据管理方法及其系统
CN109947743A (zh) 一种优化的NoSQL大数据存储方法及系统
CN107943412A (zh) 一种分区分裂、删除分区中数据文件的方法、装置及系统
CN107590286A (zh) 在集群文件系统中事务信息的管理方法和装置
US11556519B2 (en) Ensuring integrity of records in a not only structured query language database
CN105989049A (zh) 一种数据中间层实现方法及系统
CN115658391A (zh) 基于QianBase MPP数据库的WAL机制的备份恢复方法
CN109542860A (zh) 基于hdfs的业务数据管理方法、终端设备

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
TA01 Transfer of patent application right

Effective date of registration: 20210204

Address after: Building 9, No.1, guanpu Road, Guoxiang street, Wuzhong Economic Development Zone, Wuzhong District, Suzhou City, Jiangsu Province

Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd.

Address before: Room 1601, floor 16, 278 Xinyi Road, Zhengdong New District, Zhengzhou City, Henan Province

Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant