本发明专利技术提供一种新型的集群文件系统及分布式文件系统多客户端文件控制方法。本发明专利技术通过注册回调函数的方式,当一个客户端操作分布式文件系统的文件时,所有已经向文件系统注册的客户端都会收到该文件的操作,进而执行回调函数,执行对应的操作,从而达到多客户端的控制。本发明专利技术实现简单,能够很好的对文件的操作进行控制。
A cluster file system and a multi client file control method for a distributed file system
The invention provides a new cluster file system and a multi client file control method of a distributed file system. The present invention by registering a callback function, when a client operation of distributed file system, all registered to the file system client will receive the file, and then execute the callback function, the implementation of the corresponding operation, so as to achieve the control of multi client. The invention has simple realization and can control the operation of the file well.
【技术实现步骤摘要】
一种集群文件系统及分布式文件系统多客户端文件控制方法
本专利技术涉及计算机领域,具体涉及一种集群文件系统及分布式文件系统多客户端文件控制方法。
技术介绍
进入信息化时代后,随着技术的不断发展,在各行各业中,对于存储的需求呈几何趋势递增,这就导致常规的本地文件系统无法满足业务的需求。于是,在应用需求的刺激下,各种不同类型的分布式文件系统应运而生了,如CEPH、Lustre、GPFS、GoogleFS等。对于分布式文件系统而言,由于其客户端分布在不同的物理机器上,因此不同的客户端对于文件系统元数据和数据的操作是相互不可见的。常见的客户端保护NFS、FUSE、CIFS等。对于有缓存的客户端来说,客户端在创建文件后会持有文件的引用计数,这时候如果其他的客户端去删除该文件,由于文件的引用计数被其他客户端所持有,则文件删除不成功,空间不释放。因此一种新型的集群文件系统及分布式文件系统多客户端文件控制方法是有必要的。
技术实现思路
为解决上述技术问题,本专利技术的技术方案如下:本专利技术提供一种集群文件系统,包括分布式文件系统以及挂载到集群文件系统的多个客户端,分布式文件系统中添加有回调注册函数,分别提供对回调函数的处理,多个客户端分别通过接口向文件系统注册自己定义的回调函数,在客户端执行文件操作后,分布式文件系统收到请求,处理后,执行回调删除函数队列中所有的回调函数,对应的客户端执行所注册的函数,更新文件的属性信息到自己的缓存中。进一步的,分布式文件系统中添加的回调注册函数通过声明函数指针、声明一个包含该函数指针的结构体、定义回调函数的注册接口来实现。进一步的,多个客户端分别通过接口向文件系统注册自己定义的回调函数通过声明一个函数指针、定义实际执行的回调函数、将函数指针初始化、通过接口函数向文件系统注册自己定义的回调函数来实现。进一步的,对应的客户端执行所注册的函数为file_op_update。进一步的,客户端为NFS客户端、CIFS客户端、FUSE客户端、NFS-Ganesha客户端之一。此外本专利技术还提供一种分布式文件系统多客户端文件控制的方法,包括以下步骤:SS1:在分布式文件系统中添加回调注册函数,分别提供对回调函数的处理;SS2:客户端分别通过接口向文件系统注册自己定义的回调函数;SS3:客户端执行文件操作,分布式文件系统收到请求,处理后,执行回调删除函数队列中所有的回调函数,对应的客户端执行所注册的函数,更新文件的属性信息到自己的缓存中。进一步的,步骤SS1具体包括以下步骤:1)声明函数指针client_ino_callback_t2)声明函数指针client_dentry_callback_t3)声明函数指针client_remount_callback_t4)声明函数指针client_getgroups_callback_t5)声明一个结构体,包含1)-4)四个函数指针6)定义回调函数的注册接口。进一步的,步骤SS2具体包括以下步骤:1)声明一个函数指针file_op_callback2)定义实际执行的回调函数file_op_update3)将函数指针args初始化为file_op_update4)然后通过接口函数nfs_reg_cb向文件系统注册自己定义的回调函数。进一步的,步骤SS3中对应的客户端执行所注册的函数为file_op_update。进一步的,客户端可以为NFS客户端、CIFS客户端、FUSE客户端、NFS-Ganesha客户端之一。通过本专利技术的集群文件系统以及分布式文件系统的多客户端的文件控制方法,分布式文件系统提供回调注册函数,客户端想分布式文件系统注册自己的回调函数,当其他客户端执行操作时,会回调执行所有注册回调的客户端函数。这样完成了分布式文件系统对多客户端下文件进行精确的控制。附图说明图1示出本专利技术集群文件系统结构框图。图2示出本专利技术实现分布式文件系统多客户端文件控制的方法流程图。具体实施方式以下结合说明书附图及具体实施例进一步说明本专利技术的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术提出了一种新型的集群文件系统及分布式文件系统多客户端文件控制方法,本专利技术的目的是实现分布式文件系统对多客户端下文件进行精确的控制。本专利技术的特征是在分布式文件系统提供回调注册函数,客户端向分布式文件系统注册自己的回调函数,当其他客户端执行操作时,会回调执行所有注册回调的客户端函数。具体实现过程如下:图1示出本专利技术集群文件系统结构框图。如图1所示,根据本专利技术实施例的集群文件系统,包括:分布式文件系统以及挂载到集群文件系统的多个客户端,分布式文件系统中添加有回调注册函数,分别提供对inode、dentry、mount、groups回调函数的处理,多个客户端分别通过接口向文件系统注册自己定义的回调函数,在客户端执行文件操作后,分布式文件系统收到请求,处理后,执行回调删除函数队列中所有的回调函数,对应的客户端执行所注册的函数,更新文件的属性信息到自己的缓存中。在本专利技术的一个实施例中,客户端可以为NFS客户端、CIFS客户端、FUSE客户端、NFS-Ganesha客户端等。在本专利技术的一个实施例中,分布式文件系统中添加的回调注册函数通过声明函数指针、声明一个包含该函数指针的结构体、定义回调函数的注册接口来实现。在本专利技术的一个实施例中,多个客户端分别通过接口向文件系统注册自己定义的回调函数通过声明一个函数指针、定义实际执行的回调函数、将函数指针初始化、通过接口函数向文件系统注册自己定义的回调函数来实现。在本专利技术的一个实施例中,对应的客户端执行所注册的函数为file_op_update。图2为本专利技术一个实施例的用于实现上述集群文件系统中分布式文件系统多客户端文件控制的方法流程图。如图2所示,根据本专利技术实施例的实现分布式文件系统多客户端文件控制方法,包括:SS1:在分布式文件系统中添加回调注册函数,分别提供对回调函数的处理;SS2:客户端分别通过接口向文件系统注册自己定义的回调函数;SS3:客户端执行文件操作,分布式文件系统收到请求,处理后,执行回调删除函数队列中所有的回调函数,对应的客户端执行所注册的函数,更新文件的属性信息到自己的缓存中。在本专利技术的一个实施例中,客户端可以为NFS客户端、CIFS客户端、FUSE客户端、NFS-Ganesha客户端等。在本专利技术的一个实施例中,步骤SS1具体包括以下步骤:1)声明函数指针client_ino_callback_ttypedefvoid(*client_ino_callback_t)(void*arg1,void*arg2,void*arg3,void*arg4);//声明了一个指针client_ino_callback_t,该指针指向参数为argl、arg2、arg3、arg4,返回值为void的函数。2)声明函数指针client_dentry_callback_ttypedefvoid(*client_dentry_callback_t)(void*arg1,void*arg2,void*arg3,void*arg4);//声明了一个指针client_dentry_callback_t,该指针指向参数为arg1、arg2、本文档来自技高网...
【技术保护点】
一种集群文件系统,包括分布式文件系统以及挂载到集群文件系统的多个客户端,其特征在于,分布式文件系统中添加有回调注册函数,分别提供对回调函数的处理,多个客户端分别通过接口向文件系统注册自己定义的回调函数,在客户端执行文件操作后,分布式文件系统收到请求,处理后,执行回调删除函数队列中所有的回调函数,对应的客户端执行所注册的函数,更新文件的属性信息到自己的缓存中。
【技术特征摘要】
1.一种集群文件系统,包括分布式文件系统以及挂载到集群文件系统的多个客户端,其特征在于,分布式文件系统中添加有回调注册函数,分别提供对回调函数的处理,多个客户端分别通过接口向文件系统注册自己定义的回调函数,在客户端执行文件操作后,分布式文件系统收到请求,处理后,执行回调删除函数队列中所有的回调函数,对应的客户端执行所注册的函数,更新文件的属性信息到自己的缓存中。2.根据权利要求1所述的集群文件系统,其特征在于,分布式文件系统中添加的回调注册函数通过声明函数指针、声明一个包含该函数指针的结构体、定义回调函数的注册接口来实现。3.根据权利要求2所述的集群文件系统,其特征在于,多个客户端分别通过接口向文件系统注册自己定义的回调函数通过声明一个函数指针、定义实际执行的回调函数、将函数指针初始化、通过接口函数向文件系统注册自己定义的回调函数来实现。4.根据权利要求3所述的集群文件系统,其特征在于,对应的客户端执行所注册的函数为file_op_update。5.根据权利要求1所述的集群文件系统,其特征在于,客户端为NFS客户端、CIFS客户端、FUSE客户端、NFS-Ganesha客户端之一。6.一种分布式文件系统多客户端文件控制的方法,其特征在于,包括以下步骤:SS1:在分布式文件系统中添加回调注册函数,分别提供对回调函数的处理;SS2:客户端分别通过...
【专利技术属性】
技术研发人员:张浩,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。