两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種日志處理方法及相關(guān)設(shè)備與流程

文檔序號(hào):11251044閱讀:689來源:國知局
一種日志處理方法及相關(guān)設(shè)備與流程

本申請(qǐng)涉及文件系統(tǒng)領(lǐng)域,尤其涉及一種日志處理方法及相關(guān)設(shè)備。



背景技術(shù):

在分布式文件系統(tǒng)中,存在一些操作頻繁、操作記錄需要持久化保存、操作記錄內(nèi)容簡短、且可以歸并為同一對(duì)象集合處理的操作,例如,配額(quota)特性、快照特性、文件變更日志特性等。這些業(yè)務(wù)特性要求在修改元數(shù)據(jù)對(duì)象的同時(shí),需要記錄一條伴生日志信息。伴生日志信息必須具有可靠性,不能丟失;伴生日志信息同修改元數(shù)據(jù)對(duì)象的動(dòng)作具備原子性,元數(shù)據(jù)對(duì)象操作成功,則伴生日志信息記錄成功;如果元數(shù)據(jù)對(duì)象操作失敗,則伴生日志信息記錄失敗,伴生日志信息的創(chuàng)建和記錄是數(shù)據(jù)對(duì)象i/o操作的伴生行為,不會(huì)脫離i/o操作單獨(dú)實(shí)現(xiàn)。

在現(xiàn)有技術(shù)方案中,本地文件系統(tǒng)上quota特性實(shí)現(xiàn),基本思路是對(duì)于一個(gè)quota配置存在一個(gè)quota文件,當(dāng)與quota配置相關(guān)的目錄和文件有操作時(shí),該目錄或文件的空間累計(jì)使用情況會(huì)記錄在節(jié)點(diǎn)(node)信息中,這些node信息會(huì)定期同步到quota文件中。定期同步就避免了即時(shí)同步對(duì)quota文件的頻繁操作,同時(shí)會(huì)有獨(dú)立的進(jìn)程對(duì)quota信息進(jìn)行資源的分配和限制。分布式文件系統(tǒng)上quota特性實(shí)現(xiàn),基本思路就是配備高性能、高可靠性的數(shù)據(jù)庫保存quota信息;或者通過獨(dú)立線程來管理歸并quota記錄。

但是,對(duì)于分布式文件系統(tǒng),通過quota文件和quota進(jìn)程實(shí)現(xiàn)方式已經(jīng)不適用,分布在集群不同host主機(jī)上的node信息、和quota文件之間要增加通信信道完成信息同步,并且分布式文件系統(tǒng)的文件存儲(chǔ)量更大,文件操作更頻繁,這樣就會(huì)形成瓶頸,無法做到操作和quota記錄同步。



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

本申請(qǐng)實(shí)施例所要解決的技術(shù)問題在于增值業(yè)務(wù)不易實(shí)現(xiàn)以及操作無法保持同步,提供一種日志處理方法及相關(guān)設(shè)備。

第一方面,本申請(qǐng)實(shí)施例提供了一種日志處理方法,所述方法應(yīng)用于分布式文件系統(tǒng),所述分布式文件系統(tǒng)包括元數(shù)據(jù)服務(wù)或客戶端模塊、對(duì)象存儲(chǔ)模塊、數(shù)據(jù)服務(wù)模塊以及數(shù)據(jù)對(duì)象模塊,包括:所述元數(shù)據(jù)服務(wù)或客戶端模塊當(dāng)發(fā)起數(shù)據(jù)或元數(shù)據(jù)的輸入輸出i/o操作時(shí),獲取i/o上下文,所述i/o上下文包括數(shù)據(jù)對(duì)象信息和伴生日志信息;所述對(duì)象存儲(chǔ)模塊與所述數(shù)據(jù)服務(wù)模塊通信,對(duì)所述伴生日志信息進(jìn)行處理,并將處理后的所述伴生日志信息與所述數(shù)據(jù)對(duì)象信息一起寫入所述數(shù)據(jù)對(duì)象模塊中。從而更加容易實(shí)現(xiàn)文件元數(shù)據(jù)和數(shù)據(jù)操作相關(guān)的增值業(yè)務(wù),保持伴生日志信息與i/o操作事務(wù)的一致性,以及由于可以在數(shù)據(jù)對(duì)象模塊的同host上的多個(gè)磁盤保存多份伴生日志信息,因此提高伴生日志信息的可靠性。

在一種可能的設(shè)計(jì)中,所述對(duì)象存儲(chǔ)模塊將所述伴生日志信息轉(zhuǎn)發(fā)給所述數(shù)據(jù)服務(wù)模塊;所述數(shù)據(jù)服務(wù)模塊根據(jù)所述伴生日志信息的信息類型以及所述數(shù)據(jù)對(duì)象信息,確定對(duì)所述伴生日志信息處理方式,并按照所述處理方式將所述伴生日志信息寫入到所述數(shù)據(jù)對(duì)象模塊中。

在另一種可能的設(shè)計(jì)中,所述對(duì)象存儲(chǔ)模塊與所述數(shù)據(jù)服務(wù)模塊通信,對(duì)所述伴生日志信息的進(jìn)行處理,并將處理后的所述伴生日志信息寫入到所述數(shù)據(jù)對(duì)象模塊中之后,所述對(duì)象存儲(chǔ)模塊與所述數(shù)據(jù)服務(wù)模塊通信,獲取所述數(shù)據(jù)對(duì)象模塊中的所述伴生日志信息以提供查詢或歸檔處理。

在另一種可能的設(shè)計(jì)中,所述伴生日志信息包括資源配額計(jì)數(shù)日志,和配額標(biāo)識(shí);所述元數(shù)據(jù)服務(wù)或客戶端模塊當(dāng)確定存儲(chǔ)資源增加或釋放時(shí),下發(fā)所述資源配額計(jì)數(shù)日志;所述對(duì)象存儲(chǔ)模塊將所述資源配額計(jì)數(shù)日志添加到所述數(shù)據(jù)對(duì)象模塊中所述配額標(biāo)識(shí)對(duì)應(yīng)的計(jì)數(shù)器對(duì)象中。

在另一種可能的設(shè)計(jì)中,如果消耗的存儲(chǔ)資源增加,所述元數(shù)據(jù)服務(wù)或客戶端模塊下發(fā)增加資源配額的計(jì)數(shù)日志,對(duì)象存儲(chǔ)模塊在處理該條計(jì)數(shù)日志時(shí),將消耗值加到其數(shù)據(jù)對(duì)象模塊上的磁盤陣列中的配額標(biāo)識(shí)對(duì)應(yīng)的計(jì)數(shù)器對(duì)象中。

在另一種可能的設(shè)計(jì)中,所述元數(shù)據(jù)服務(wù)或客戶端模塊刪除文件或者縮短文件時(shí),下發(fā)資源配額釋放的日志信息,用負(fù)值表示是釋放存儲(chǔ)資源,對(duì)象存儲(chǔ)模塊將負(fù)值加到計(jì)數(shù)器對(duì)象的數(shù)值中。

在另一種可能的設(shè)計(jì)中,所述伴生日志信息還包括資源配額消耗值;所述對(duì)象存儲(chǔ)模塊將所述資源配額計(jì)數(shù)日志添加到所述數(shù)據(jù)對(duì)象模塊中所述配額標(biāo)識(shí)對(duì)應(yīng)的計(jì)數(shù)器對(duì)象中之后,所述對(duì)象存儲(chǔ)模塊接收文件系統(tǒng)層發(fā)送的資源讀取請(qǐng)求;所述對(duì)象存儲(chǔ)模塊統(tǒng)計(jì)所述數(shù)據(jù)對(duì)象模塊中的所有磁盤陣列上的所述配額標(biāo)識(shí)對(duì)應(yīng)的資源配額消耗值;所述對(duì)象存儲(chǔ)模塊將統(tǒng)計(jì)的所述資源配額消耗值返回給所述文件系統(tǒng)層。

在另一種可能的設(shè)計(jì)中,所述伴生日志信息包括快照跟蹤日志和快照標(biāo)識(shí),所述元數(shù)據(jù)服務(wù)或客戶端模塊當(dāng)受快照保護(hù)的文件發(fā)生修改操作且在寫入所述數(shù)據(jù)對(duì)象信息時(shí),獲取所述快照跟蹤日志,所述快照跟蹤日志包括修改操作前的快照版本與當(dāng)前版本的差異;所述對(duì)象存儲(chǔ)模塊將所述快照跟蹤日志添加到所述數(shù)據(jù)對(duì)象模塊中的所述快照標(biāo)識(shí)對(duì)應(yīng)的跟蹤文件中。

在另一種可能的設(shè)計(jì)中,如果受快照保護(hù)的文件在配置快照后第一次發(fā)生修改操作,所述對(duì)象存儲(chǔ)模塊將所述快照跟蹤日志添加到所述數(shù)據(jù)對(duì)象模塊中的所述快照標(biāo)識(shí)對(duì)應(yīng)的跟蹤文件中,如果再次發(fā)生修改操作,則不需記錄。

在另一種可能的設(shè)計(jì)中,所述對(duì)象存儲(chǔ)模塊將所述快照跟蹤日志添加到所述數(shù)據(jù)對(duì)象模塊中的所述快照標(biāo)識(shí)對(duì)應(yīng)的跟蹤文件中之后,所述對(duì)象存儲(chǔ)模塊讀取所述數(shù)據(jù)對(duì)象模塊上的所述快照標(biāo)識(shí)對(duì)應(yīng)的所述快照跟蹤日志以對(duì)所述快照進(jìn)行刪除或回滾操作。

第二方面,本申請(qǐng)實(shí)施例提供了一種日志處理裝置,該裝置被配置為實(shí)現(xiàn)上述第一方面中終端所執(zhí)行的方法和功能,由硬件/軟件實(shí)現(xiàn),其硬件/軟件包括與上述功能相應(yīng)的單元。

第三方面,本申請(qǐng)?zhí)峁┝艘环N日志處理設(shè)備,包括:處理器、存儲(chǔ)器和通信總線,其中,所述通信總線用于實(shí)現(xiàn)所述處理器和存儲(chǔ)器之間連接通信,處理器執(zhí)行所述存儲(chǔ)器中存儲(chǔ)的程序用于實(shí)現(xiàn)上述第一方面提供的一種日志處理方法中的步驟。

本申請(qǐng)的又一方面提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有指令,當(dāng)其在計(jì)算機(jī)上運(yùn)行時(shí),使得計(jì)算機(jī)執(zhí)行上述各方面所述的方法。

本申請(qǐng)的又一方面提供了一種包含指令的計(jì)算機(jī)程序產(chǎn)品,當(dāng)其在計(jì)算機(jī)上運(yùn)行時(shí),使得計(jì)算機(jī)執(zhí)行上述各方面所述的方法。

附圖說明

為了更清楚地說明本申請(qǐng)實(shí)施例或背景技術(shù)中的技術(shù)方案,下面將對(duì)本申請(qǐng)實(shí)施例或背景技術(shù)中所需要使用的附圖進(jìn)行說明。

圖1是本申請(qǐng)實(shí)施例提供的一種分布式文件系統(tǒng)的結(jié)構(gòu)示意圖;

圖2是本申請(qǐng)實(shí)施例提供的一種日志處理方法的流程示意圖;

圖3是本申請(qǐng)實(shí)施例提供的一種i/o上下文的示意圖;

圖4是本申請(qǐng)實(shí)施例提供的一種日志處理裝置的結(jié)構(gòu)示意圖;

圖5是本申請(qǐng)實(shí)施例提出的一種日志處理設(shè)備的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面結(jié)合本申請(qǐng)實(shí)施例中的附圖對(duì)本申請(qǐng)實(shí)施例進(jìn)行描述。

請(qǐng)參見圖1,圖1是本申請(qǐng)實(shí)施例提供的一種分布式文件系統(tǒng)的結(jié)構(gòu)示意圖,該分布式文件系統(tǒng)包括元數(shù)據(jù)服務(wù)或客戶端模塊、對(duì)象存儲(chǔ)模塊(object-basedstorage,obs)、數(shù)據(jù)服務(wù)模塊(dataservice,ds)以及數(shù)據(jù)對(duì)象模塊。其中,元數(shù)據(jù)服務(wù)或客戶端模塊可以包括客戶端(clientagent,ca)或元數(shù)據(jù)服務(wù)(metadataservice,mds),ca負(fù)責(zé)數(shù)據(jù)的i/o操作,mds負(fù)責(zé)元數(shù)據(jù)i/o操作,ca和mds都是調(diào)用obs模塊提供的api函數(shù)完成i/o操作讀寫。對(duì)象存儲(chǔ)模塊包括日志api接口和io操作的api接口,obs提供obs_write接口完成i/o操作和伴生日志信息的寫入操作,obs提供api接口obs_readlog接口用于日志的讀取查詢操作。數(shù)據(jù)服務(wù)模塊包括日志客戶端(logclient),日志服務(wù)(logservice)、日志合并(logmerger)以及日志記錄(logrecorder)等等,obs與分布在不同host上的ds模塊的logagent組件通信來處理伴生日志信息,包括:logservice提供日志查詢服務(wù),logmerger負(fù)責(zé)冗余日志的收集與歸并,logrecorder為ds的內(nèi)部日志記錄者提供日志記錄接口。數(shù)據(jù)對(duì)象模塊包括磁盤1、磁盤2、磁盤3和磁盤4等磁盤陣列,數(shù)據(jù)對(duì)象模塊用于將上層下發(fā)的內(nèi)容存儲(chǔ)到日志對(duì)象中。

請(qǐng)參見圖2,圖2是本申請(qǐng)實(shí)施例提供的一種日志處理方法的流程示意圖,所述方法應(yīng)用于分布式文件系統(tǒng),所述分布式文件系統(tǒng)包括元數(shù)據(jù)服務(wù)或客戶端模塊、對(duì)象存儲(chǔ)模塊、數(shù)據(jù)服務(wù)模塊以及數(shù)據(jù)對(duì)象模塊。該方法包括但不限于如下步驟:

s201,所述元數(shù)據(jù)服務(wù)或客戶端模塊當(dāng)發(fā)起數(shù)據(jù)或元數(shù)據(jù)的輸入輸出i/o操作時(shí),獲取i/o上下文,所述i/o上下文包括數(shù)據(jù)對(duì)象信息和伴生日志信息。

具體實(shí)現(xiàn)中,在ca發(fā)起數(shù)據(jù)的i/o操作或mds發(fā)起元數(shù)據(jù)的i/o操作時(shí),調(diào)用對(duì)象存儲(chǔ)模塊的obs_write接口函數(shù),開始寫入數(shù)據(jù)對(duì)象信息,并提供伴生日志信息。如圖3所示,圖3是本申請(qǐng)實(shí)施例提供的一種i/o上下文的示意圖。其中,寫入的i/o上下文包括數(shù)據(jù)buffer信息和伴生日志信息,伴生日志信息是隨數(shù)據(jù)對(duì)象信息一起開始寫入的。

s202,所述對(duì)象存儲(chǔ)模塊與所述數(shù)據(jù)服務(wù)模塊通信,對(duì)所述伴生日志信息進(jìn)行處理,并將處理后的所述伴生日志信息與所述數(shù)據(jù)對(duì)象信息一起寫入所述數(shù)據(jù)對(duì)象模塊中。

具體實(shí)現(xiàn)中,所述對(duì)象存儲(chǔ)模塊將所述伴生日志信息轉(zhuǎn)發(fā)給所述數(shù)據(jù)服務(wù)模塊;所述數(shù)據(jù)服務(wù)模塊根據(jù)所述伴生日志信息的信息類型以及所述數(shù)據(jù)對(duì)象信息,確定對(duì)所述伴生日志信息處理方式,并按照所述處理方式將所述伴生日志信息寫入到所述數(shù)據(jù)對(duì)象模塊中。

例如,在obs接收到i/o上下文之后,如果確定i/o上下文中包含伴生日志信息,則obs將伴生日志信息轉(zhuǎn)發(fā)各個(gè)ds。ds在接收到包含有伴生日志信息的i/o上下文之后,交由logagent模塊處理,logagent根據(jù)伴生日志信息中的類型以及數(shù)據(jù)對(duì)象信息,確定該伴生日志信息是追加到已有日志對(duì)象中,還是創(chuàng)建新的日志對(duì)象記錄日志。

可選的,在將所述伴生日志信息寫入到所述數(shù)據(jù)對(duì)象模塊中之后,所述對(duì)象存儲(chǔ)模塊與所述數(shù)據(jù)服務(wù)模塊通信,獲取所述數(shù)據(jù)對(duì)象模塊中的所述伴生日志信息以提供查詢或歸檔處理。例如,可以首先通過obs提供的obs_logread接口獲取日志信息,然后上層應(yīng)用對(duì)日志事件進(jìn)行查詢或歸檔處理。

可選的,所述伴生日志信息包括資源配額計(jì)數(shù)日志和配額標(biāo)識(shí);所述元數(shù)據(jù)服務(wù)或客戶端模塊當(dāng)寫入所述數(shù)據(jù)對(duì)象信息且確定存儲(chǔ)資源增加或釋放時(shí),下發(fā)所述資源配額計(jì)數(shù)日志;所述對(duì)象存儲(chǔ)模塊將所述資源配額計(jì)數(shù)日志添加到所述數(shù)據(jù)對(duì)象模塊中所述配額標(biāo)識(shí)對(duì)應(yīng)的計(jì)數(shù)器對(duì)象中。

進(jìn)一步的,如果消耗的存儲(chǔ)資源增加,所述元數(shù)據(jù)服務(wù)或客戶端模塊下發(fā)增加資源配額的計(jì)數(shù)日志,對(duì)象存儲(chǔ)模塊在處理該條計(jì)數(shù)日志時(shí),將消耗值加到其數(shù)據(jù)對(duì)象模塊上的磁盤陣列中的配額標(biāo)識(shí)對(duì)應(yīng)的計(jì)數(shù)器對(duì)象中。所述元數(shù)據(jù)服務(wù)或客戶端模塊刪除文件或者文件時(shí),下發(fā)資源配額釋放的日志信息,用負(fù)值表示是釋放存儲(chǔ)資源,對(duì)象存儲(chǔ)模塊將負(fù)值加到計(jì)數(shù)器對(duì)象的數(shù)值中。

例如,配額(quota)是系統(tǒng)分配給用戶的可用的存儲(chǔ)資源,用戶在寫入數(shù)據(jù)對(duì)象信息時(shí),會(huì)消耗系統(tǒng)分配的存儲(chǔ)資源,用戶刪除文件或者縮短文件時(shí),會(huì)釋放存儲(chǔ)資源。每一個(gè)quota對(duì)應(yīng)有唯一的配額標(biāo)識(shí)(quotaid),該quotaid在每個(gè)數(shù)據(jù)對(duì)象模塊上都有一個(gè)相應(yīng)的計(jì)數(shù)器對(duì)象記錄其存儲(chǔ)資源消耗,整個(gè)quotaid的使用值是所有數(shù)據(jù)對(duì)象模塊上的計(jì)數(shù)器對(duì)象的消耗值總和。ca在寫數(shù)據(jù)對(duì)象信息時(shí),如果消耗的存儲(chǔ)資源增加,會(huì)同時(shí)下發(fā)增加資源配額的計(jì)數(shù)日志,對(duì)象存儲(chǔ)模塊在處理該計(jì)數(shù)日志時(shí),將消耗值加到數(shù)據(jù)對(duì)象模塊中的所在磁盤陣列上quotaid對(duì)應(yīng)的計(jì)數(shù)器對(duì)象中。如果消耗的存儲(chǔ)資源涉及多個(gè)quota,對(duì)象存儲(chǔ)模塊按照伴生日志信息所記錄的信息分別追加到不同的計(jì)數(shù)器對(duì)象中。ca刪除文件或者縮短文件時(shí),在操作接口里會(huì)攜帶quota釋放的日志信息,用負(fù)值表示是釋放系統(tǒng)資源。對(duì)象存儲(chǔ)模塊處理該日志信息,將負(fù)值加到計(jì)數(shù)器對(duì)象的數(shù)值中。如果消耗的存儲(chǔ)資源涉及多個(gè)quota,對(duì)象存儲(chǔ)模塊分別進(jìn)行處理。

可選的,在所述對(duì)象存儲(chǔ)模塊將所述資源配額計(jì)數(shù)日志添加到所述數(shù)據(jù)對(duì)象模塊中所述配額標(biāo)識(shí)對(duì)應(yīng)的計(jì)數(shù)器對(duì)象中之后,所述對(duì)象存儲(chǔ)模塊接收文件系統(tǒng)層發(fā)送的資源讀取請(qǐng)求;所述對(duì)象存儲(chǔ)模塊統(tǒng)計(jì)所述數(shù)據(jù)對(duì)象模塊中的所有磁盤陣列上的所述配額標(biāo)識(shí)對(duì)應(yīng)的資源配額消耗值;所述對(duì)象存儲(chǔ)模塊將統(tǒng)計(jì)的所述資源配額消耗值返回給所述文件系統(tǒng)層。

可選的,所述元數(shù)據(jù)服務(wù)或客戶端模塊當(dāng)受快照保護(hù)的文件發(fā)生修改操作且在寫入所述數(shù)據(jù)對(duì)象信息時(shí),獲取所述快照跟蹤日志,所述快照跟蹤日志包括修改操作前的快照版本與當(dāng)前版本的差異;所述對(duì)象存儲(chǔ)模塊將所述快照跟蹤日志添加到所述數(shù)據(jù)對(duì)象模塊中的所述快照標(biāo)識(shí)對(duì)應(yīng)的跟蹤文件中。其中,如果元數(shù)據(jù)發(fā)生變化,快照跟蹤日志記錄的內(nèi)容為父目錄的fid,如果數(shù)據(jù)條帶發(fā)生變化時(shí)快照跟蹤日志記錄的內(nèi)容為被改變的條帶號(hào)。

例如,受快照保護(hù)的文件的數(shù)據(jù)發(fā)生修改操作,在ca寫數(shù)據(jù)對(duì)象時(shí),從node信息中能回溯到該文件受快照保護(hù),在調(diào)用obs_write接口時(shí)增加一條快照跟蹤日志,如果受快照保護(hù)的文件在配置快照后第一次發(fā)生修改操作,對(duì)象存儲(chǔ)模塊將所述快照跟蹤日志添加到所述數(shù)據(jù)對(duì)象模塊中的快照標(biāo)識(shí)對(duì)應(yīng)的跟蹤文件中,如果已經(jīng)記錄再次發(fā)生修改操作,則不需記錄。當(dāng)受快照保護(hù)的文件的元數(shù)據(jù)發(fā)生修改操作,在mds對(duì)元數(shù)據(jù)對(duì)象寫入磁盤時(shí)調(diào)用obs_write接口,增加一條快照跟蹤日志,日志類型為快照track,對(duì)象存儲(chǔ)模塊在更新元數(shù)據(jù)對(duì)象時(shí)在數(shù)據(jù)對(duì)象模塊中將快照跟蹤日志添加到所述快照標(biāo)識(shí)對(duì)應(yīng)的跟蹤文件中。

可選的,所述對(duì)象存儲(chǔ)模塊讀取所述數(shù)據(jù)對(duì)象模塊上的所述快照標(biāo)識(shí)對(duì)應(yīng)的所述快照跟蹤日志以對(duì)所述快照進(jìn)行刪除或回滾操作。例如,進(jìn)行快照刪除,快照回滾等操作時(shí),需要讀取某個(gè)快照標(biāo)識(shí)對(duì)應(yīng)的快照跟蹤日志,則調(diào)用obs_logread接口依次讀取所有數(shù)據(jù)對(duì)象模塊上該快照標(biāo)識(shí)對(duì)應(yīng)的快照跟蹤日志并返回。

在本申請(qǐng)實(shí)施例中,通過伴生日志信息與數(shù)據(jù)對(duì)象信息一起寫入數(shù)據(jù)對(duì)象模塊,從而使得與文件元數(shù)據(jù)和數(shù)據(jù)操作緊密相關(guān)的增值業(yè)務(wù)可以輕松實(shí)現(xiàn),例如,文件變更日志特性,用于記錄文件系統(tǒng)中文件新增,刪除,讀寫,重命名等變更操作。同時(shí)也易于擴(kuò)展到s3接口的對(duì)象存儲(chǔ)業(yè)務(wù),開發(fā)其他增值業(yè)務(wù)。另外,由于伴生日志信息實(shí)現(xiàn)是基于事務(wù)的,i/o操作事務(wù)成功,則日志成功記錄,i/o操作失敗,則日志記錄失敗,保障了增值業(yè)務(wù)的準(zhǔn)確性。由于可以在數(shù)據(jù)對(duì)象模塊的同host上的多個(gè)磁盤保存多份伴生日志信息,因此提高伴生日志信息的可靠性。

請(qǐng)參見圖4,圖4是本申請(qǐng)實(shí)施例提供的一種日志處理裝置的結(jié)構(gòu)示意圖。如圖所示,所述裝置包括元數(shù)據(jù)服務(wù)或客戶端模塊401、對(duì)象存儲(chǔ)模塊402、數(shù)據(jù)服務(wù)模塊403以及數(shù)據(jù)對(duì)象模塊404,其中:

元數(shù)據(jù)服務(wù)或客戶端模塊401,用于當(dāng)發(fā)起數(shù)據(jù)或元數(shù)據(jù)的輸入輸出i/o操作時(shí),獲取i/o上下文,i/o上下文包括數(shù)據(jù)對(duì)象信息和伴生日志信息;

對(duì)象存儲(chǔ)模塊402,用于與數(shù)據(jù)服務(wù)模塊403通信,對(duì)伴生日志信息進(jìn)行處理,并將處理后的伴生日志信息與數(shù)據(jù)對(duì)象信息一起寫入數(shù)據(jù)對(duì)象模塊404中。

可選的,對(duì)象存儲(chǔ)模塊402,還用于將伴生日志信息轉(zhuǎn)發(fā)給數(shù)據(jù)服務(wù)模塊;數(shù)據(jù)服務(wù)模塊403,還用于根據(jù)伴生日志信息的信息類型以及數(shù)據(jù)對(duì)象信息,確定對(duì)伴生日志信息處理方式,并按照處理方式將伴生日志信息寫入到數(shù)據(jù)對(duì)象模塊404中。

可選的,對(duì)象存儲(chǔ)模塊402,還用于與數(shù)據(jù)服務(wù)模塊通信,獲取數(shù)據(jù)對(duì)象模塊中的伴生日志信息以提供查詢或歸檔處理。

可選的,伴生日志信息包括資源配額計(jì)數(shù)日志和配額標(biāo)識(shí);元數(shù)據(jù)服務(wù)或客戶端模塊401,還用于當(dāng)寫入數(shù)據(jù)對(duì)象信息且確定存儲(chǔ)資源增加或釋放時(shí),下發(fā)資源配額計(jì)數(shù)日志;對(duì)象存儲(chǔ)模塊402,還用于將資源配額計(jì)數(shù)日志添加到數(shù)據(jù)對(duì)象模塊404中配額標(biāo)識(shí)對(duì)應(yīng)的計(jì)數(shù)器對(duì)象中。

可選的,伴生日志信息還包括資源配額消耗值;對(duì)象存儲(chǔ)模塊402,還用于接收文件系統(tǒng)層發(fā)送的資源讀取請(qǐng)求;統(tǒng)計(jì)數(shù)據(jù)對(duì)象模塊404中的所有磁盤陣列上的配額標(biāo)識(shí)對(duì)應(yīng)的資源配額消耗值;將統(tǒng)計(jì)的資源配額消耗值返回給文件系統(tǒng)層。

可選的,伴生日志信息包括快照跟蹤日志和快照標(biāo)識(shí);元數(shù)據(jù)服務(wù)或客戶端模塊401,還用于當(dāng)受快照保護(hù)的文件發(fā)生修改操作且在寫入數(shù)據(jù)對(duì)象信息時(shí),獲取快照跟蹤日志,快照跟蹤日志包括修改操作前的快照版本與當(dāng)前版本的差異;對(duì)象存儲(chǔ)模塊402,還用于將快照跟蹤日志添加到數(shù)據(jù)對(duì)象模塊404中的快照標(biāo)識(shí)對(duì)應(yīng)的跟蹤文件中。

可選的,對(duì)象存儲(chǔ)模塊402,還用于讀取數(shù)據(jù)對(duì)象模塊404上的快照標(biāo)識(shí)對(duì)應(yīng)的快照跟蹤日志以對(duì)快照進(jìn)行刪除或回滾操作。

需要說明的是,各個(gè)模塊的實(shí)現(xiàn)還可以對(duì)應(yīng)參照?qǐng)D2所示的方法實(shí)施例的相應(yīng)描述,執(zhí)行上述實(shí)施例中系統(tǒng)所執(zhí)行的方法和功能。

請(qǐng)繼續(xù)參考圖5,圖5是本申請(qǐng)?zhí)岢龅囊环N日志處理設(shè)備的結(jié)構(gòu)示意圖。如圖所示,該設(shè)備可以包括:至少一個(gè)處理器501,例如cpu,至少一個(gè)通信接口502,至少一個(gè)存儲(chǔ)器503和至少一個(gè)通信總線504。其中,通信總線504用于實(shí)現(xiàn)這些組件之間的連接通信。其中,本申請(qǐng)實(shí)施例中設(shè)備的通信接口502用于與其他節(jié)點(diǎn)設(shè)備進(jìn)行信令或數(shù)據(jù)的通信。存儲(chǔ)器503可以是高速ram存儲(chǔ)器,也可以是非不穩(wěn)定的存儲(chǔ)器(non-volatilememory),例如至少一個(gè)磁盤存儲(chǔ)器。存儲(chǔ)器503可選的還可以是至少一個(gè)位于遠(yuǎn)離前述處理器501的存儲(chǔ)裝置。存儲(chǔ)器503中存儲(chǔ)一組程序代碼,且處理器501執(zhí)行存儲(chǔ)器503中上述終端所執(zhí)行的程序。

通過元數(shù)據(jù)服務(wù)或客戶端模塊當(dāng)發(fā)起數(shù)據(jù)或元數(shù)據(jù)的輸入輸出i/o操作時(shí),獲取i/o上下文,所述i/o上下文包括數(shù)據(jù)對(duì)象信息和伴生日志信息;

通過對(duì)象存儲(chǔ)模塊與數(shù)據(jù)服務(wù)模塊通信,對(duì)所述伴生日志信息進(jìn)行處理,并將處理后的所述伴生日志信息與所述數(shù)據(jù)對(duì)象信息一起寫入數(shù)據(jù)對(duì)象模塊中。

進(jìn)一步的,處理器還可以與存儲(chǔ)器和通信接口相配合,執(zhí)行上述申請(qǐng)實(shí)施例中日志處理裝置的操作。

在上述實(shí)施例中,可以全部或部分地通過軟件、硬件、固件或者其任意組合來實(shí)現(xiàn)。當(dāng)使用軟件實(shí)現(xiàn)時(shí),可以全部或部分地以計(jì)算機(jī)程序產(chǎn)品的形式實(shí)現(xiàn)。所述計(jì)算機(jī)程序產(chǎn)品包括一個(gè)或多個(gè)計(jì)算機(jī)指令。在計(jì)算機(jī)上加載和執(zhí)行所述計(jì)算機(jī)程序指令時(shí),全部或部分地產(chǎn)生按照本申請(qǐng)實(shí)施例所述的流程或功能。所述計(jì)算機(jī)可以是通用計(jì)算機(jī)、專用計(jì)算機(jī)、計(jì)算機(jī)網(wǎng)絡(luò)、或者其他可編程裝置。所述計(jì)算機(jī)指令可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,或者從一個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)向另一個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)傳輸,例如,所述計(jì)算機(jī)指令可以從一個(gè)網(wǎng)站站點(diǎn)、計(jì)算機(jī)、服務(wù)器或數(shù)據(jù)中心通過有線(例如同軸電纜、光纖、數(shù)字用戶線(dsl))或無線(例如紅外、無線、微波等)方式向另一個(gè)網(wǎng)站站點(diǎn)、計(jì)算機(jī)、服務(wù)器或數(shù)據(jù)中心進(jìn)行傳輸。所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是計(jì)算機(jī)能夠存取的任何可用介質(zhì)或者是包含一個(gè)或多個(gè)可用介質(zhì)集成的服務(wù)器、數(shù)據(jù)中心等數(shù)據(jù)存儲(chǔ)設(shè)備。所述可用介質(zhì)可以是磁性介質(zhì),(例如,軟盤、硬盤、磁帶)、光介質(zhì)(例如,dvd)、或者半導(dǎo)體介質(zhì)(例如固態(tài)硬盤solidstatedisk(ssd))等。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
衡山县| 平武县| 菏泽市| 黔西| 仙桃市| 柯坪县| 舟曲县| 紫阳县| 汉源县| 格尔木市| 江安县| 富川| 固始县| 延边| 崇礼县| 巴林左旗| 连州市| 舒兰市| 安阳县| 黔西县| 石屏县| 石景山区| 大余县| 常山县| 论坛| 弋阳县| 湘阴县| 彭水| 读书| 黄平县| 泸西县| 许昌县| 保定市| 通海县| 无锡市| 阜宁县| 顺昌县| 安塞县| 茂名市| 西乌珠穆沁旗| 三台县|