一种WORM属性的同步方法及装置与流程

文档序号:16330854发布日期:2018-12-19 06:11阅读:270来源:国知局
一种WORM属性的同步方法及装置与流程

本发明涉及存储领域,尤其涉及一种worm属性的同步方法及装置。

背景技术

在归档审计类的文件或企业制定的规则时,要求这些信息是只允许读取,不允许修改。因此需要对此类文件加以保护,在保护时间内,任何人不能删除或修改。

现有方案中一般采用单写多读(writeoncereadmany,worm)技术,有效保证企业重要数据的安全。分布式文件系统(isoneclusterfilesystem,icfs)利用worm功能对进行保护的重要文件进行设置,防止修改或删除被保护文件中的数据,适用于防数据篡改的场景,如医疗影像,可以实现文件的备案和归档。

icfs通过元数据服务器(metadataserver,mds)实现对目录和文件元数据的管理。因分布式文件系统中包含很多mds,需要保持各个mds中的worm属性一致。当inodeauth文件和dirauth文件不在同一个mds上时,worm功能会受到影响,创建的新目录无法继承新设置的worm属性。



技术实现要素:

本发明实施例提供了一种worm属性的同步方法及装置,用于对分布式系统中的元数据服务器和客户端中的worm属性进行同步,避免分布式系统出现数据不一致的现象。

本发明第一方面提供了一种worm属性的同步方法,应用于分布式存储系统,包括:第一元数据服务器mds获取用户设备发送的第一更新请求,第一更新请求用于对单写多读worm属性进行更新;第一mds根据第一更新请求对authlock文件上锁,authlock文件用于保护worm属性不被修改;第一mds通过预置的inodeauth文件修改worm属性,预置的inodeauth文件位于第一mds;第一mds将修改后的worm属性发送至用户设备及第二mds,以使得用户设备及第二mds对worm属性进行更新,第二mds上包含预置的dirauth文件。本发明实施例中,将修改后的worm属性在分布式系统的其他元数据服务器和客户端中进行同步,避免分布式系统出现数据不一致的现象。

在一种可能的设计中,在本发明实施例第一方面的第一种实现方式中,所述方法还包括:第一mds将修改后的worm属性进行落盘,落盘用于将修改后的worm属性持久化。

在一种可能的设计中,在本发明实施例第一方面的第二种实现方式中,第一mds根据第一更新请求对authlock文件上锁包括:第一mds根据第一更新请求对worm属性确定采用锁方式或能力cap方式;第一mds采用锁方式或cap方式对authlock文件上互斥锁。

在一种可能的设计中,在本发明实施例第一方面的第三种实现方式中,所述方法还包括:第一mds通过filelock文件回收用户设备的文件元数据权限。

在一种可能的设计中,在本发明实施例第一方面的第四种实现方式中,worm属性包括宽限期和保护期;当worm属性为宽限期时,被保护的文件可以被修改、删除及重命名;当worm属性为保护期时,所述被保护的文件可读,但不允许修改和删除。

本发明第二方面提供了一种worm属性的同步装置,应用于分布式存储系统,包括:获取单元,用于获取用户设备发送的第一更新请求,第一更新请求用于对单写多读worm属性进行更新;上锁单元,用于根据第一更新请求对authlock文件上锁,authlock文件用于保护worm属性不被修改;修改单元,用于通过预置的inodeauth文件修改worm属性,预置的inodeauth文件位于第一mds;发送单元,用于将修改后的worm属性发送至用户设备及第二mds,以使得用户设备及第二mds对worm属性进行更新,第二mds上包含预置的dirauth文件。

在一种可能的设计中,在本发明实施例第二方面的第一种实现方式中,同步装置还包括:落盘单元,用于将修改后的worm属性进行落盘,落盘用于将修改后的worm属性持久化。

在一种可能的设计中,在本发明实施例第二方面的第二种实现方式中,上锁单元具体用于:根据第一更新请求对worm属性确定采用锁方式或能力cap方式;采用所述锁方式或所述cap方式对authlock文件上互斥锁。

在一种可能的设计中,在本发明实施例第二方面的第三种实现方式中,同步装置还包括:回收单元,用于通过filelock文件回收用户设备的文件元数据权限。

在一种可能的设计中,在本发明实施例第二方面的第四种实现方式中,worm属性包括宽限期和保护期;当worm属性为宽限期时,被保护的文件可以被修改、删除及重命名;当worm属性为保护期时,被保护的文件可读,但不允许修改和删除。

本发明第三方面提供了一种电子设备,包括存储器、处理器,其特征在于,所述处理器用于执行存储器中存储的计算机管理类程序时实现如上述第一方面任意一项所述的获取自加载模块函数的方法的步骤。

本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

本申请的第五方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

从以上技术方案可以看出,本发明实施例具有以下优点:

第一元数据服务器mds获取用户设备发送的第一更新请求,第一更新请求用于对单写多读worm属性进行更新;第一mds根据第一更新请求对authlock文件上锁,authlock文件用于保护worm属性不被修改;第一mds通过预置的inodeauth文件修改worm属性,预置的inodeauth文件位于第一mds;第一mds将修改后的worm属性发送至用户设备及第二mds,以使得用户设备及第二mds对worm属性进行更新,第二mds上包含预置的dirauth文件。本发明实施例中,将修改后的worm属性在分布式系统的其他元数据服务器和客户端中进行同步,避免分布式系统出现数据不一致的现象。

附图说明

图1为本发明实施例中worm属性的同步方法的一个实施例示意图;

图2为本发明实施例中worm属性的同步装置的一个实施例示意图;

图3为本发明实施例中worm属性的同步装置的另一个实施例示意图;

图4为本发明实施例中worm属性的同步装置的另一个实施例示意图;

图5为本发明实施例提供的一种可能的电子设备的实施例示意图;

图6为本发明实施例提供的一种可能的计算机可读存储介质的实施例示意图。

具体实施方式

本发明实施例提供了一种worm属性的同步方法及装置,用于对分布式系统中的元数据服务器和客户端中的worm属性进行同步,避免分布式系统出现数据不一致的现象。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于说明,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中worm属性的同步方法的一个实施例包括:

101、第一元数据服务器mds获取用户设备发送的第一更新请求。

第一元数据服务器mds获取用户设备发送的第一更新请求,所述第一更新请求用于对单写多读worm属性进行更新。

具体的,分布式存储系统中包括多个mds和用户设备,具有预置的inodeauth文件的mds为第一mds,具有预置的dirauth文件的mds为第二mds,其中,inode_auth文件主要处理文件或者目录本身的操作,例如,修改文件目录属性(修改worm属性也是修改自身属性,由inode_auth负责);dir_auth文件主要处理目录下文件的处理,例如,创建文件,创建目录,查看目录下文件列表。

102、第一mds根据第一更新请求对authlock文件上锁。

第一mds根据第一更新请求对authlock文件上锁,该authlock文件用于保护worm属性不被修改。

具体的,第一mds根据第一更新请求对worm属性确定采用锁方式或能力(capability,cap)方式;第一mds采用锁方式或cap方式对authlock文件上互斥锁。锁方式和cap方式类似,是在访问或修改资源前必须在保护下(加锁或者在某个权限下)才能访问。

103、第一mds通过预置的inodeauth文件修改worm属性。

第一mds通过预置的inodeauth文件修改worm属性,所述预置的inodeauth文件位于所述第一mds。

可以理解的是,如果inode_auth文件和dir_auth文件在同一个mds上,数据肯定是同步的,不存在问题。如果inode_auth文件和dir_auth文件不在一个mds上,则创建新文件或者目录无法继承新设置的worm属性,会出现查询不一致或者目录继承属性不一致。

worm属性包括宽限期和保护期;当worm属性为宽限期时,被保护的文件可以被修改、删除及重命名;当worm属性为保护期时,被保护的文件可读,但不允许修改和删除。需要说明的是,在保护期,管理界面的超级管理员(非客户端root)可以特权删除被保护的文件。

104、第一mds将修改后的worm属性发送至用户设备及第二mds。

第一mds将修改后的worm属性发送至用户设备及第二mds,以使得用户设备及第二mds对worm属性进行更新,第二mds上包含预置的dirauth文件。

可以理解的是,用户设备下次再次getattr时会向mds更新元数据,getattr为linux的基本操作,主要用于获取文件inode属性。

需要说明的是,所有的mds和用户设备完成worm属性的更新后,都可以进行落盘,将更新后的worm属性持久化,具体此处不做限定。

本发明实施例中,将修改后的worm属性在分布式系统的其他元数据服务器和客户端中进行同步,避免分布式系统出现数据不一致的现象。

可选地,在上述图1对应的实施例的基础上,本发明实施例提供的worm属性的同步方法的可选实施例中,在第一mds通过预置的inodeauth文件修改worm属性之后,所述方法还包括:

第一mds将修改后的worm属性进行落盘,落盘用于将修改后的worm属性持久化。

可选地,在上述图1对应的实施例的基础上,本发明实施例提供的worm属性的同步方法的可选实施例中,所述第一mds根据所述第一更新请求对authlock文件上锁包括:

第一mds根据第一更新请求对worm属性确定采用锁方式或能力cap方式;

第一mds采用锁方式或cap方式对authlock文件上互斥锁。

可选地,在上述图1对应的实施例的基础上,本发明实施例提供的worm属性的同步方法的可选实施例中,在所述第一mds将修改后的worm属性发送至所述用户设备及第二mds之后,所述方法还包括:

第一mds通过filelock文件回收用户设备的文件元数据权限。

需要说明的是,文件元数据权限为文件元数据的inode信息可读权限。

可选地,在上述图1对应的实施例的基础上,本发明实施例提供的worm属性的同步方法的可选实施例中,

worm属性包括宽限期和保护期;

当worm属性为宽限期时,被保护的文件可以被修改、删除及重命名;

当worm属性为保护期时,被保护的文件可读,但不允许修改和删除。

以上对本发明中worm属性的同步方法进行说明,以下对执行上述worm属性的同步方法的检测装置进行说明。

请参阅图2,本发明实施例中worm属性的同步装置的一个实施例包括:

获取单元201,用于获取用户设备发送的第一更新请求,所述第一更新请求用于对单写多读worm属性进行更新;

上锁单元202,用于根据所述第一更新请求对authlock文件上锁,所述authlock文件用于保护worm属性不被修改;

修改单元203,用于通过预置的inodeauth文件修改worm属性,所述预置的inodeauth文件位于所述第一mds;

发送单元204,用于将修改后的worm属性发送至所述用户设备及第二mds,以使得所述用户设备及所述第二mds对worm属性进行更新,所述第二mds上包含预置的dirauth文件。

本发明实施例中,将修改后的worm属性在分布式系统的其他元数据服务器和客户端中进行同步,避免分布式系统出现数据不一致的现象。

请参阅图3,本发明实施例中worm属性的同步装置的另一个实施例包括:

获取单元301,用于获取用户设备发送的第一更新请求,所述第一更新请求用于对单写多读worm属性进行更新;

上锁单元302,用于根据所述第一更新请求对authlock文件上锁,所述authlock文件用于保护worm属性不被修改;

修改单元303,用于通过预置的inodeauth文件修改worm属性,所述预置的inodeauth文件位于所述第一mds;

发送单元304,用于将修改后的worm属性发送至所述用户设备及第二mds,以使得所述用户设备及所述第二mds对worm属性进行更新,所述第二mds上包含预置的dirauth文件。

可选的,同步装置还包括:

落盘单元305,用于将修改后的worm属性进行落盘,落盘用于将修改后的worm属性持久化。

可选的,上锁单元302具体用于:

根据第一更新请求对worm属性确定采用锁方式或能力cap方式;

采用锁方式或cap方式对authlock文件上互斥锁。

可选的,同步装置还包括:

回收单元306,用于通过filelock文件回收所述用户设备的文件元数据权限。

可选的,worm属性包括宽限期和保护期;

当worm属性为宽限期时,被保护的文件可以被修改、删除及重命名;

当worm属性为保护期时,被保护的文件可读,但不允许修改和删除。

请参阅图4,本发明实施例中worm属性的同步装置400一个实施例,包括:

输入装置401、输出装置402、处理器403和存储器404(其中处理器403的数量可以一个或多个,图4中以一个处理器403为例)。在本发明的一些实施例中,输入装置401、输出装置402、处理器403和存储器404可通过总线或其它方式连接,其中,图4中以通过总线连接为例。

其中,通过调用存储器404存储的操作指令,处理器403,用于执行如下步骤:

获取用户设备发送的第一更新请求,第一更新请求用于对单写多读worm属性进行更新;

根据第一更新请求对authlock文件上锁,authlock文件用于保护worm属性不被修改;

通过预置的inodeauth文件修改worm属性,预置的inodeauth文件位于所述第一mds;

将修改后的worm属性发送至用户设备及第二mds,以使得用户设备及第二mds对worm属性进行更新,第二mds上包含预置的dirauth文件。

可选的,通过调用存储器404存储的操作指令,处理器403,还用于执行如下步骤:

将修改后的worm属性进行落盘,落盘用于将修改后的worm属性持久化。

可选的,通过调用存储器404存储的操作指令,处理器403,还用于执行如下步骤:

根据第一更新请求对worm属性确定采用锁方式或能力cap方式;

采用锁方式或cap方式对authlock文件上互斥锁。

可选的,通过调用存储器404存储的操作指令,处理器403,还用于执行如下步骤:

通过filelock文件回收所述用户设备的文件元数据权限。

请参阅图5,图5为本发明实施例提供的电子设备的实施例示意图。

如图5所示,本发明实施例提供了一种电子设备500,包括存储器510、处理器520及存储在存储器510上并可在处理器520上运行的计算机程序511,处理器520执行计算机程序511时实现以下步骤:

获取用户设备发送的第一更新请求,第一更新请求用于对单写多读worm属性进行更新;

根据第一更新请求对authlock文件上锁,authlock文件用于保护worm属性不被修改;

通过预置的inodeauth文件修改worm属性,预置的inodeauth文件位于所述第一mds;

将修改后的worm属性发送至用户设备及第二mds,以使得用户设备及第二mds对worm属性进行更新,第二mds上包含预置的dirauth文件。

在具体实施过程中,处理器520执行计算机程序511时,可以实现图1对应的实施例中任一实施方式。

由于本实施例所介绍的电子设备为实施本发明实施例中worm属性的同步方法所采用的设备,故而基于本发明实施例中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本发明实施例中的方法不再详细介绍,只要本领域所属技术人员实施本发明实施例中的方法所采用的设备,都属于本发明所欲保护的范围。

请参阅图6,图6为本发明实施例提供的一种计算机可读存储介质的实施例示意图。

如图6所示,本实施例提供了一种计算机可读存储介质600,其上存储有计算机程序611,该计算机程序611被处理器执行时实现如下步骤:

获取用户设备发送的第一更新请求,第一更新请求用于对单写多读worm属性进行更新;

根据第一更新请求对authlock文件上锁,authlock文件用于保护worm属性不被修改;

通过预置的inodeauth文件修改worm属性,预置的inodeauth文件位于所述第一mds;

将修改后的worm属性发送至用户设备及第二mds,以使得用户设备及第二mds对worm属性进行更新,第二mds上包含预置的dirauth文件。

可选的,在一种可能的实施例中,该计算机程序611被处理器执行时具体用于实现如下步骤:

将修改后的worm属性进行落盘,落盘用于将修改后的worm属性持久化。

可选的,在一种可能的实施例中,该计算机程序611被处理器执行时具体用于实现如下步骤:

根据第一更新请求对worm属性确定采用锁方式或能力cap方式;

采用锁方式或cap方式对authlock文件上互斥锁。

可选的,在一种可能的实施例中,该计算机程序611被处理器执行时具体用于实现如下步骤:

通过filelock文件回收用户设备的文件元数据权限。

本发明实施例中,将修改后的worm属性在分布式系统的其他元数据服务器和客户端中进行同步,避免分布式系统出现数据不一致的现象。

在具体实施过程中,该计算机程序611被处理器执行时可以实现图1对应的实施例中任一实施方式。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solidstatedisk,ssd))等。

以上对本发明所提供的技术方案进行了详细介绍,本发明中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1