亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種集群文件系統(tǒng)及分布式文件系統(tǒng)多客戶端文件控制方法與流程

文檔序號:12802812閱讀:458來源:國知局
一種集群文件系統(tǒng)及分布式文件系統(tǒng)多客戶端文件控制方法與流程

本發(fā)明涉及計算機領域,具體涉及一種集群文件系統(tǒng)及分布式文件系統(tǒng)多客戶端文件控制方法。



背景技術:

進入信息化時代后,隨著技術的不斷發(fā)展,在各行各業(yè)中,對于存儲的需求呈幾何趨勢遞增,這就導致常規(guī)的本地文件系統(tǒng)無法滿足業(yè)務的需求。于是,在應用需求的刺激下,各種不同類型的分布式文件系統(tǒng)應運而生了,如ceph、lustre、gpfs、googlefs等。

對于分布式文件系統(tǒng)而言,由于其客戶端分布在不同的物理機器上,因此不同的客戶端對于文件系統(tǒng)元數(shù)據(jù)和數(shù)據(jù)的操作是相互不可見的。常見的客戶端保護nfs、fuse、cifs等。對于有緩存的客戶端來說,客戶端在創(chuàng)建文件后會持有文件的引用計數(shù),這時候如果其他的客戶端去刪除該文件,由于文件的引用計數(shù)被其他客戶端所持有,則文件刪除不成功,空間不釋放。

因此一種新型的集群文件系統(tǒng)及分布式文件系統(tǒng)多客戶端文件控制方法是有必要的。



技術實現(xiàn)要素:

為解決上述技術問題,本發(fā)明的技術方案如下:

本發(fā)明提供一種集群文件系統(tǒng),包括分布式文件系統(tǒng)以及掛載到集群文件系統(tǒng)的多個客戶端,分布式文件系統(tǒng)中添加有回調(diào)注冊函數(shù),分別提供對回調(diào)函數(shù)的處理,多個客戶端分別通過接口向文件系統(tǒng)注冊自己定義的回調(diào)函數(shù),在客戶端執(zhí)行文件操作后,分布式文件系統(tǒng)收到請求,處理后,執(zhí)行回調(diào)刪除函數(shù)隊列中所有的回調(diào)函數(shù),對應的客戶端執(zhí)行所注冊的函數(shù),更新文件的屬性信息到自己的緩存中。

進一步的,分布式文件系統(tǒng)中添加的回調(diào)注冊函數(shù)通過聲明函數(shù)指針、聲明一個包含該函數(shù)指針的結構體、定義回調(diào)函數(shù)的注冊接口來實現(xiàn)。

進一步的,多個客戶端分別通過接口向文件系統(tǒng)注冊自己定義的回調(diào)函數(shù)通過聲明一個函數(shù)指針、定義實際執(zhí)行的回調(diào)函數(shù)、將函數(shù)指針初始化、通過接口函數(shù)向文件系統(tǒng)注冊自己定義的回調(diào)函數(shù)來實現(xiàn)。

進一步的,對應的客戶端執(zhí)行所注冊的函數(shù)為file_op_update。

進一步的,客戶端為nfs客戶端、cifs客戶端、fuse客戶端、nfs-ganesha客戶端之一。

此外本發(fā)明還提供一種分布式文件系統(tǒng)多客戶端文件控制的方法,包括以下步驟:

ss1:在分布式文件系統(tǒng)中添加回調(diào)注冊函數(shù),分別提供對回調(diào)函數(shù)的處理;

ss2:客戶端分別通過接口向文件系統(tǒng)注冊自己定義的回調(diào)函數(shù);

ss3:客戶端執(zhí)行文件操作,分布式文件系統(tǒng)收到請求,處理后,執(zhí)行回調(diào)刪除函數(shù)隊列中所有的回調(diào)函數(shù),對應的客戶端執(zhí)行所注冊的函數(shù),更新文件的屬性信息到自己的緩存中。

進一步的,步驟ss1具體包括以下步驟:

1)聲明函數(shù)指針client_ino_callback_t

2)聲明函數(shù)指針client_dentry_callback_t

3)聲明函數(shù)指針client_remount_callback_t

4)聲明函數(shù)指針client_getgroups_callback_t

5)聲明一個結構體,包含1)-4)四個函數(shù)指針

6)定義回調(diào)函數(shù)的注冊接口。

進一步的,步驟ss2具體包括以下步驟:

1)聲明一個函數(shù)指針file_op_callback

2)定義實際執(zhí)行的回調(diào)函數(shù)file_op_update

3)將函數(shù)指針args初始化為file_op_update

4)然后通過接口函數(shù)nfs_reg_cb向文件系統(tǒng)注冊自己定義的回調(diào)函數(shù)。

進一步的,步驟ss3中對應的客戶端執(zhí)行所注冊的函數(shù)為file_op_update。

進一步的,客戶端可以為nfs客戶端、cifs客戶端、fuse客戶端、nfs-ganesha客戶端之一。

通過本發(fā)明的集群文件系統(tǒng)以及分布式文件系統(tǒng)的多客戶端的文件控制方法,分布式文件系統(tǒng)提供回調(diào)注冊函數(shù),客戶端想分布式文件系統(tǒng)注冊自己的回調(diào)函數(shù),當其他客戶端執(zhí)行操作時,會回調(diào)執(zhí)行所有注冊回調(diào)的客戶端函數(shù)。這樣完成了分布式文件系統(tǒng)對多客戶端下文件進行精確的控制。

附圖說明

圖1示出本發(fā)明集群文件系統(tǒng)結構框圖。

圖2示出本發(fā)明實現(xiàn)分布式文件系統(tǒng)多客戶端文件控制的方法流程圖。

具體實施方式

以下結合說明書附圖及具體實施例進一步說明本發(fā)明的技術方案。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

本發(fā)明提出了一種新型的集群文件系統(tǒng)及分布式文件系統(tǒng)多客戶端文件控制方法,本發(fā)明的目的是實現(xiàn)分布式文件系統(tǒng)對多客戶端下文件進行精確的控制。

本發(fā)明的特征是在分布式文件系統(tǒng)提供回調(diào)注冊函數(shù),客戶端向分布式文件系統(tǒng)注冊自己的回調(diào)函數(shù),當其他客戶端執(zhí)行操作時,會回調(diào)執(zhí)行所有注冊回調(diào)的客戶端函數(shù)。

具體實現(xiàn)過程如下:

圖1示出本發(fā)明集群文件系統(tǒng)結構框圖。

如圖1所示,根據(jù)本發(fā)明實施例的集群文件系統(tǒng),包括:分布式文件系統(tǒng)以及掛載到集群文件系統(tǒng)的多個客戶端,分布式文件系統(tǒng)中添加有回調(diào)注冊函數(shù),分別提供對inode、dentry、mount、groups回調(diào)函數(shù)的處理,多個客戶端分別通過接口向文件系統(tǒng)注冊自己定義的回調(diào)函數(shù),在客戶端執(zhí)行文件操作后,分布式文件系統(tǒng)收到請求,處理后,執(zhí)行回調(diào)刪除函數(shù)隊列中所有的回調(diào)函數(shù),對應的客戶端執(zhí)行所注冊的函數(shù),更新文件的屬性信息到自己的緩存中。

在本發(fā)明的一個實施例中,客戶端可以為nfs客戶端、cifs客戶端、fuse客戶端、nfs-ganesha客戶端等。

在本發(fā)明的一個實施例中,分布式文件系統(tǒng)中添加的回調(diào)注冊函數(shù)通過聲明函數(shù)指針、聲明一個包含該函數(shù)指針的結構體、定義回調(diào)函數(shù)的注冊接口來實現(xiàn)。

在本發(fā)明的一個實施例中,多個客戶端分別通過接口向文件系統(tǒng)注冊自己定義的回調(diào)函數(shù)通過聲明一個函數(shù)指針、定義實際執(zhí)行的回調(diào)函數(shù)、將函數(shù)指針初始化、通過接口函數(shù)向文件系統(tǒng)注冊自己定義的回調(diào)函數(shù)來實現(xiàn)。

在本發(fā)明的一個實施例中,對應的客戶端執(zhí)行所注冊的函數(shù)為file_op_update。

圖2為本發(fā)明一個實施例的用于實現(xiàn)上述集群文件系統(tǒng)中分布式文件系統(tǒng)多客戶端文件控制的方法流程圖。

如圖2所示,根據(jù)本發(fā)明實施例的實現(xiàn)分布式文件系統(tǒng)多客戶端文件控制方法,包括:

ss1:在分布式文件系統(tǒng)中添加回調(diào)注冊函數(shù),分別提供對回調(diào)函數(shù)的處理;

ss2:客戶端分別通過接口向文件系統(tǒng)注冊自己定義的回調(diào)函數(shù);

ss3:客戶端執(zhí)行文件操作,分布式文件系統(tǒng)收到請求,處理后,執(zhí)行回調(diào)刪除函數(shù)隊列中所有的回調(diào)函數(shù),對應的客戶端執(zhí)行所注冊的函數(shù),更新文件的屬性信息到自己的緩存中。

在本發(fā)明的一個實施例中,客戶端可以為nfs客戶端、cifs客戶端、fuse客戶端、nfs-ganesha客戶端等。

在本發(fā)明的一個實施例中,步驟ss1具體包括以下步驟:

1)聲明函數(shù)指針client_ino_callback_t

typedefvoid(*client_ino_callback_t)(void*arg1,void*arg2,void*arg3,void*arg4);

//聲明了一個指針client_ino_callback_t,該指針指向參數(shù)為argl、arg2、arg3、arg4,返回值為void的函數(shù)。

2)聲明函數(shù)指針client_dentry_callback_t

typedefvoid(*client_dentry_callback_t)(void*arg1,void*arg2,void*arg3,void*arg4);

//聲明了一個指針client_dentry_callback_t,該指針指向參數(shù)為arg1、arg2、arg3、arg4,返回值為void的函數(shù)。

3)聲明函數(shù)指針client_remount_callback_t

typedefvoid(*client_remount_callback_t)(void*arg1,void*arg2,void*arg3,void*arg4);

//聲明了一個指針client_remount_callback_t,該指針指向參數(shù)為arg1、arg2、arg3、arg4,返回值為void的函數(shù)。

4)聲明函數(shù)指針client_getgroups_callback_t

typedefvoid(*client_getgroups_callback_t)(void*arg1,void*arg2,void*arg3,void*arg4);

//聲明了一個指針client_getgroups_callback_t,該指針指向參數(shù)為arg1、arg2、arg3、arg4,返回值為void的函數(shù)。

5)聲明一個結構體,包含1)-4)四個函數(shù)指針

6)定義回調(diào)函數(shù)的注冊接口

在本發(fā)明的一個實施例中,步驟ss2具體包括以下步驟:

1)聲明一個函數(shù)指針file_op_callback

typedefvoid(*file_op_callback)(void*argl,void*arg2,void*arg3,void*arg4);

2)定義實際執(zhí)行的回調(diào)函數(shù)file_op_update

voidfile_op_update(void*arg1,void*arg2,void*arg3,void*arg4){

update_file_attrs(arg1,arg2,arg3,arg4);

}

//實際執(zhí)行的操作,即更新文件的操作

3)將函數(shù)指針args初始化為file_op_update

file_op_callbackargs=file_op_update;//

4)然后通過接口函數(shù)nfs_reg_cb向文件系統(tǒng)注冊自己定義的回調(diào)函數(shù),執(zhí)行nfs_reg_cb(cmount,args);

在本發(fā)明的一個實施例中,步驟ss3中對應的客戶端執(zhí)行所注冊的函數(shù)為file_op_update。

本發(fā)明通過注冊回調(diào)函數(shù)的方式,當一個客戶端操作分布式文件系統(tǒng)的文件時,所有已經(jīng)向文件系統(tǒng)注冊的客戶端都會收到該文件的操作,進而執(zhí)行回調(diào)函數(shù),執(zhí)行對應的操作。從而達到多客戶端的控制。

本專利實現(xiàn)簡單,能夠很好的對文件的操作進行控制。

盡管在裝置的上下文中已描述了一些方面,但明顯的是這些方面也表示對應方法的描述,其中塊或設備與方法步驟或方法步驟的特征相對應。類似地,在方法步驟的上下文中所描述的各方面也表示對應的塊或項目或者對應裝置的特征的描述??梢酝ㄟ^(或使用)如微處理器、可編程計算機、或電子電路之類的硬件裝置來執(zhí)行方法步驟中的一些或所有??梢酝ㄟ^此類裝置來執(zhí)行最重要的方法步驟中的某一個或多個。

所述實現(xiàn)可以采用硬件或采用軟件或可以使用例如軟盤、dvd、藍光、cd、rom、prom、eprom、eeprom、或閃存之類的具有被存儲在其上的電子可讀控制信號的數(shù)字存儲介質(zhì)來執(zhí)行,所述電子可讀控制信號與可編程計算機系統(tǒng)配合(或能夠與其配合)以使得執(zhí)行相應的方法??梢蕴峁┚哂须娮涌勺x控制信號的數(shù)據(jù)載體,所述電子可讀控制信號能夠與可編程計算機系統(tǒng)配合以使得執(zhí)行本文所描述的方法。

所述實現(xiàn)還可以采用具有程序代碼的計算機程序產(chǎn)品的形式,當計算機程序產(chǎn)品在計算機上運行時,程序代碼進行操作以執(zhí)行該方法??梢栽跈C器可讀載體上存儲程序代碼。

以上所描述的僅是說明性,并且要理解的是,本文所描述的布置和細節(jié)的修改和變化對于本領域技術人員而言將是明顯的。因此,意在僅由所附權利要求的范圍而不是由通過以上描述和解釋的方式所呈現(xiàn)的特定細節(jié)來限制。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1