本發明專利技術公開了一種快速分布式文件系統文件元數據的生成方法及裝置,包括:在快速分布式文件系統中同一組下任意存儲節點配置用于文件同步的rsync命令;執行所述rsync命令,將所述存儲節點存儲的變更日志文件同步至Oracle數據庫;利用所述Oracle數據庫中的外部表特性將所述變更日志文件創建為外部表對象,生成所述快速分布式文件系統文件元數據,采用本發明專利技術,可以準確的生成FastDFS(快速分布式文件系統)的文件元數據,并且通過Oracle的外部表特性,實現對FastDFS分布式存儲系統元數據的分析,其具有部署簡單,操作方便,適用場景廣泛,對業務層完全透明等特性。
【技術實現步驟摘要】
本專利技術涉及數據處理技術,尤其涉及一種快速分布式文件系統文件元數據的生成 方法及裝置。
技術介紹
FastDFS (Fast Distributed File System,快速分布式文件系統)是一款輕量級 的分布式文件存儲系統,其為了實現輕量和高效,規定對文件的操作必須通過其提供的專 用API (Application Programming Interface,應用程序編程接口)實現,目前其僅支持文 件的存儲、訪問、節點間同步等少量必備的功能,而未提供文件元數據的管理。因此,若想獲 取當前FastDFS中已保存哪些文件,官方并未提供相應的方法,而本領域技術人員容易想 到的方式是直接登錄到存儲節點,借助操作系統層的命令獲取,但是這種方式必須要登錄 到FastDFS存儲節點,現實場景中基本不存在這種設定,通常都是由應用層通過指定API獲 取相關信息。若希望在應用層獲取FastDFS中保存的文件系統,根據目前可檢索到的信息, 暫無公開的解決方案。若要實現類似需求,最傳統的方案,即由業務層應用端記錄所有向 FastDFS存儲層的寫入和刪除操作,相當于由業務應用程序記錄自己的寫入日志等行為,以 此來維護FastDFS存儲系統的元數據。這種方式的缺點主要表現在下列幾個方面:業務層 應用需要額外邏輯記錄操作行為,增加開發工作量;業務層應用只能收集他自己產生的信 息,一方面資源利用率低,另一方面準確性難以保證;若同時有多個應用連接讀寫FastDFS 存儲層,則操作行為需要設計的較為復雜,即便如此,一旦出現漏記情況,則應用端的元數 據就失去了參照性;需要對使用FastDFS的每一套應用進行針對性開發,適用場景較窄。
技術實現思路
有鑒于此,本專利技術提供了一種快速分布式文件系統(即FastDFS)文件元數據的生 成方法及裝置,可以準確的獲取FastDFS中保存的文件列表。 本專利技術提供了一種快速分布式文件系統文件元數據的生成方法,包括: 在快速分布式文件系統中同一組下任意存儲節點配置用于文件同步的rsync命 令; 執行所述rsync命令,將所述存儲節點存儲的變更日志文件同步至Oracle數據 庫; 利用所述Oracle數據庫中的外部表特性將所述變更日志文件創建為外部表對 象,生成所述快速分布式文件系統文件元數據。 優選的,所述在快速分布式文件系統中同一組下任意存儲節點配置用于文件同步 的rsync命令包括: 在快速分布式文件系統中同一組下任意存儲節點,使用rsync命令創建用于將變 更日志文件同步至Oracle數據庫的同步命令,并將所述同步命令直接設置在crontab命令 中以執行,并在所述crontab命令中設置執行時間間隔。 優選的,所述在快速分布式文件系統中同一組下任意存儲節點配置用于文件同步 的rsync命令包括: 在快速分布式文件系統中同一組下任意存儲節點,使用rsync命令創建用于將變 更日志文件同步至Oracle數據庫的同步命令,將所述創建的同步命令保存至腳本文件中, 將所述腳本文件在crontab命令中執行,并在所述crontab命令中設置執行時間間隔。 優選的,所述利用Oracle數據庫中的外部表特性將所述變更日志文件創建為外 部表對象包括: 創建指向同步至的變更日志文件所在目錄的目錄對象,并為用戶授予對目錄對象 的讀寫權限; 根據所述創建的目錄對象加載變更日志文件,并根據Oracle數據庫中的外部表 特性的創建規則將所述變更日志文件創建為外部表對象。 優選的,所述生成所述快速分布式文件系統文件元數據之后,還包括:接收并響應 基于結構化查詢語句SQL的外部表查詢請求,所述外部表查詢請求用于請求查詢外部表中 文件列表和/或文件的創建時間。 本專利技術提供了一種快速分布式文件系統文件元數據的生成裝置,包括: 配置模塊,用于在快速分布式文件系統中同一組下任意存儲節點配置用于文件同 步的rsync命令; 同步模塊,用于執行所述rsync命令,將所述存儲節點存儲的變更日志文件同步 至Oracle數據庫; 外部表創建模塊,用于利用所述Oracle數據庫中的外部表特性將所述變更日志 文件創建為外部表對象,生成所述快速分布式文件系統的文件元數據。 優選的,所述配置模塊,具體用于在快速分布式文件系統中同一組下任意存儲節 點,使用rsync命令創建用于將變更日志文件同步至Oracle數據庫的同步命令,并將所述 同步命令直接設置在crontab命令中以執行,并在所述crontab命令中設置執行時間間隔。 優選的,所述配置模塊,具體用于在快速分布式文件系統中同一組下任意存儲節 點,使用rsync命令創建用于將變更日志文件同步至Oracle數據庫的同步命令,將所述 創建的同步命令保存至腳本文件中,將所述腳本文件在crontab命令中執行,并在所述 crontab命令中設置執行時間間隔。 優選的,所述外部表創建模塊包括: 創建目錄和授權單元,用于創建指向同步至的變更日志文件所在目錄的目錄對 象,將創建的目錄對象的讀寫權限授予指定的用戶; 處理單元,用于根據所述創建的目錄對象加載變更日志文件,并根據Oracle數據 庫中的外部表特性的創建規則將所述變更日志文件創建為外部表對象。 優選的,還包括: 接收和響應模塊,用于接收并響應基于結構化查詢語句SQL的外部表查詢請求, 所述外部表查詢請求用于請求查詢外部表中文件列表和/或文件的創建時間。 本專利技術的有益效果: 本專利技術實施例首先意識到FastDFS在操作文件時會將對文件的修改操作的相關 信息記錄在變更日志文件中,而其修改方式只有創建和刪除,因此從變更日志文件中排除 已刪除的文件記錄及其對應的創建記錄,就可以得到FastDFS中實際保存的文件列表,就 可以準確的獲取FastDFS中保存的文件列表;鑒于此,本專利技術實施例選擇采用Oracle數據 庫中的外部表特性將變更日志文件創建為外部表對象,從而準確的生成FastDFS文件元數 據,由于在創建外部表時需要獲取變更日志文件,因此本專利技術實施例選擇采用rsync命令 將變更日志文件同步至Oracle數據庫;另外,由于FastDFS中同一組下各存儲節點的變更 日志文件均相同,因此本專利技術實施例在FastDFS中同一組下任意存儲節點配置rsync命令 即可。【附圖說明】 下面結合附圖和實施例對本專利技術作進一步描述: 圖1是本專利技術提供的FastDFS文件元數據的生成方法的實施例的流程示意圖。 圖2是利用Oracle外部表分析FastDFS日志生成文件元數據的處理流程圖。 圖3是本專利技術提供的FastDFS文件元數據的生成裝置的實施例的結構示意圖。【具體實施方式】 FastDFS是一種輕量級的分布式存儲系統,客戶端連接時只需要連接任意一個 存儲節點,由存儲節點負責將讀寫的文件,同步到集群中其它節點中,為了實現這一點, FastDFS在操作文件時將相關信息記錄到日志中,該日志文件命名規則為binlog. , 這里面就記錄了所有的文件修改操作,通過分析FastDFS的原理,其文件修改行為只有兩 種:即C(對應創建)和D(對應刪除)。因此,分析FastDFS日志中記錄的信息,排除已刪 除的文件記錄及其對應的創建記錄,就可以得到FastDFS中本文檔來自技高網...

【技術保護點】
一種快速分布式文件系統文件元數據的生成方法,其特征在于:包括:在快速分布式文件系統中同一組下任意存儲節點配置用于文件同步的rsync命令;執行所述rsync命令,將所述存儲節點存儲的變更日志文件同步至Oracle數據庫;利用所述Oracle數據庫中的外部表特性將所述變更日志文件創建為外部表對象,生成所述快速分布式文件系統文件元數據。
【技術特征摘要】
【專利技術屬性】
技術研發人員:李丙洋,
申請(專利權)人:重慶新媒農信科技有限公司,
類型:發明
國別省市:重慶;85
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。