專利名稱::基于地震數(shù)據(jù)處理的分布式文件管理系統(tǒng)的制作方法
技術領域:
:本發(fā)明涉及一種基于地震數(shù)據(jù)處理的分布式文件管理系統(tǒng)。
背景技術:
:分布式文件系統(tǒng)(DistributedFileSystem)是指文件系統(tǒng)管理的物理存儲資源不一定直接連接在本地節(jié)點上,而是通過計算機網(wǎng)絡與節(jié)點相連。隨著人類信息化進程的不斷加速,傳統(tǒng)的存儲結(jié)構(gòu)已無法支持數(shù)據(jù)量的爆炸式增長。大數(shù)據(jù)的存儲和處理已成為當今計算機科學的一個研究熱點。在涉及到對大數(shù)據(jù)的處理時,傳統(tǒng)文件系統(tǒng)的I/o性能已成為限制整個系統(tǒng)的瓶頸,容錯和可擴展問題也更加嚴峻。而分布式文件系統(tǒng)的出現(xiàn)正解決了這個問題,在I/o性能,容錯,可拓展性方便都獲得了極大地提升。在云計算的大背景下,對大數(shù)據(jù)的苛刻要求以及并行計算的日益普及化,使得分布式文件系統(tǒng)得到了更為廣泛的應用。分布式文件系統(tǒng)的研究熱潮始于google的GFS文件系統(tǒng)。GoogleFileSystem(GFS)是Google公司為了滿足其需求而開發(fā)的基于Linux的專有分布式文件系統(tǒng)。GFS是一個可擴展的分布式文件系統(tǒng),用于大型的、分布式的、對大量數(shù)據(jù)進行訪問的應用。它運行于廉價的普通硬件上,但可以提供容錯功能。它可以給大量的用戶提供總體性能較高的服務。GFS相對于傳統(tǒng)的分布式文件系統(tǒng)的最大特點在于它把錯誤當做正常而非異常來處理,提供了一種高效而可靠地容錯機制。GFS的節(jié)點分為兩類,一個是主節(jié)點,一個是數(shù)據(jù)節(jié)點,采用簡單的C/S模式運行。在GFS中存儲的數(shù)據(jù)被分為固定大小的塊,分別存儲在不同的存儲節(jié)點之上。主節(jié)點負責管理所有文件塊的信息,負責平衡每個數(shù)據(jù)節(jié)點的存儲負載。主服務器通常并不存儲實際的大塊數(shù)據(jù),而是存儲與大塊數(shù)據(jù)相關的元數(shù)據(jù),這樣的數(shù)據(jù)如映射表格將64位標簽映射到大塊數(shù)據(jù)位置及其組成的文件、大塊數(shù)據(jù)副本位置、哪個進程正在讀寫特定的大數(shù)據(jù)塊或者追蹤復制大塊數(shù)據(jù)的“快照”。所有這些元數(shù)據(jù)通過主服務器周期性地接收從每個數(shù)據(jù)塊服務器來的更新(“心跳消息”)保持最新狀態(tài)。用戶需要訪問數(shù)據(jù)時,通過GFS提供的的接口進行操作,接口通過網(wǎng)絡訪問主節(jié)點的數(shù)據(jù)庫,取得具體的數(shù)據(jù)塊的位置,通過網(wǎng)絡獲取相應的數(shù)據(jù)。與本發(fā)明相關的現(xiàn)有技術包括(I)Hadoop:由于google并沒有公布其GFS實現(xiàn)的源碼,hadoop作為google三篇重要的云計算論文(mapreduce,gfs,bigtable)的具體實現(xiàn)在業(yè)界廣為流傳,也得到了非常廣泛而重要的應用。Hadoop是一個分布式系統(tǒng)基礎架構(gòu),由Apache基金會開發(fā)。用戶可以在不了解分布式底層細節(jié)的情況下,開發(fā)分布式程序。充分利用集群的威力高速運算和存儲。Hadoop實現(xiàn)了一個分布式文件系統(tǒng)(HadoopDistributedFileSystem),簡稱HDFS。HDFS有著高容錯性的特點,并且設計用來部署在普通商用硬件上。而且它提供高傳輸率來訪問應用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集的應用程序。HDFS放寬了POSIX的要求,可以流的形式訪問文件系統(tǒng)中的數(shù)據(jù)。對外部客戶機而言,HDFS就像一個傳統(tǒng)的分級文件系統(tǒng)??梢詣?chuàng)建、刪除、移動或重命名文件,等等。但是HDFS的架構(gòu)是基于一組特定的節(jié)點構(gòu)建的。這些節(jié)點包括NameNode,它在HDFS內(nèi)部提供元數(shù)據(jù)服務;DataNode,它為HDFS提供存儲塊。由于僅存在一個NameNode,所以存在單點故障,必須保證NameNode的高可用性,這也是GFS的實現(xiàn)方式。存儲在HDFS中的文件被分成塊,然后將這些塊復制到多個計算機中(DataNode)。這與傳統(tǒng)的RAID架構(gòu)大不相同。塊的大小(通常為64MB)和復制的塊數(shù)量在創(chuàng)建文件時由客戶機決定。NameNode可以控制所有文件操作。HDFS內(nèi)部的所有通信都基于標準的TCP/IP協(xié)議。(2)磁盤陣列磁盤陣列是由很多便宜、容量較小、穩(wěn)定性較高、速度較慢磁盤,組合成一個大型的磁盤組,利用個別磁盤提供數(shù)據(jù)所產(chǎn)生加成效果提升整個磁盤系統(tǒng)效能。同時利用這項技術,將數(shù)據(jù)切割成許多區(qū)段,分別存放在各個硬盤上。磁盤陣列還能利用同位檢查(ParityCheck)的觀念,在數(shù)組中任一顆硬盤故障時,仍可讀出數(shù)據(jù),在數(shù)據(jù)重構(gòu)時,將數(shù)據(jù)經(jīng)計算后重新置入新硬盤中。RAID通過在多個磁盤上同時存儲和讀取數(shù)據(jù)來大幅提高存儲系統(tǒng)的數(shù)據(jù)吞吐量(Throughput)。在RAID中,可以讓很多磁盤驅(qū)動器同時傳輸數(shù)據(jù),而這些磁盤驅(qū)動器在邏輯上又是一個磁盤驅(qū)動器,所以使用RAID可以達到單個磁盤驅(qū)動器幾倍、幾十倍甚至上百倍的速率。(3)Linux集群高性能計算集群是最近幾年中最為主要的一種HPC硬件集群(cluster)就是一組MPP(大規(guī)模并行處理機)的集合。集群中的處理器通常被稱為節(jié)點,它具有自己的CPU、內(nèi)存、操作系統(tǒng)、I/o子系統(tǒng),并且可以與其他節(jié)點進行通信。目前有很多地方都使用常見的工作站運行Linux和其他開放源碼軟件來充當集群中的節(jié)點。高性能計算(High-PerformanceComputing)是計算機科學的一個分支,它致力于開發(fā)超級計算機,研究并行算法和開發(fā)相關軟件。高性能計算主要研究如象天氣預報、地形分析、存儲和處理海量數(shù)據(jù),數(shù)據(jù)挖掘、圖象處理等。在地震數(shù)據(jù)的處理中,單個的地震數(shù)據(jù)文件可高達數(shù)百G,傳統(tǒng)的單個節(jié)點的數(shù)據(jù)處理方法需要數(shù)天,甚至數(shù)十天才能夠完成對一個文件的數(shù)據(jù)處理。為此,必須將數(shù)據(jù)分割在多個節(jié)點上并行地進行處理。理想情況下,若同時參與處理的節(jié)點數(shù)為n,則總體運行時間可以縮短為1/n,但實際運行時間遠高于理想值。原因在于為了實現(xiàn)多個節(jié)點的的并行讀寫,由不同的節(jié)點按照不同的文件偏移量去讀取同一個文件,在處理節(jié)點數(shù)較多的情況下,發(fā)生了較為嚴重的競爭訪問的情況,文件系統(tǒng)對文件的加鎖造成了極大地開銷,使I/O速度遠低于單一節(jié)點讀取時的情況,I/O時間成為系統(tǒng)的嚴重瓶頸。若人為地將單個數(shù)據(jù)文件分割為多個子文件,讓不同的計算節(jié)點讀取不同的文件分片,就可以避免競爭訪問的情況出現(xiàn)。這種方式雖然解決了讀寫文件沖突,但同時引入了很多問題首先每個文件都需要人為地進行分片,而地震數(shù)據(jù)有其固有的格式,需要確保每個分片都包含有完整的最小處理單元(道或道集),無法用簡單的文件分割實現(xiàn)分片;其次由于分片后的文件眾多,會給文件本身的管理帶來極大地混亂,也給應用程序的編寫帶來了困難。為了解決這些問題需要大量的手動操作,不僅加重了文件管理人員、開發(fā)人員的負擔,也使得系統(tǒng)本身的可靠性降低。
發(fā)明內(nèi)容為了克服現(xiàn)有技術的上述缺點,本發(fā)明提供了一種基于地震數(shù)據(jù)處理的分布式文件管理系統(tǒng),采用分布式文件系統(tǒng)的原理,自動完成文件的分片和管理,以實現(xiàn)高速的并行1/0,并提供簡潔高效的文件管理。用戶只需簡單地調(diào)用相應的接口就可以完成對數(shù)據(jù)的各種操作,而且完全由程序自動完成對文件的分片和管理而無需人工的介入。本發(fā)明解決其技術問題所采用的技術方案是一種基于地震數(shù)據(jù)處理的分布式文件管理系統(tǒng),包括數(shù)據(jù)讀寫接口、文件管理服務器和通信模塊,通信模塊提供收發(fā)消息的接口供數(shù)據(jù)讀寫接口和文件管理服務器使用,其中所述數(shù)據(jù)讀寫接口的結(jié)構(gòu)包括業(yè)務邏輯層、文件讀寫模塊、文件拼合模塊和本地文件信息緩存,實現(xiàn)如下功能(I)初始化存儲文件;(2)獲取文件分片信息;(3)獲取完整的原始數(shù)據(jù)文件;(4)刪除/更新文件;所述文件管理服務器的結(jié)構(gòu)包括業(yè)務處理層、地震數(shù)據(jù)分割模塊、文件存儲模塊、數(shù)據(jù)庫讀寫接口和分片管理模塊,實現(xiàn)如下功能(I)按照地震數(shù)據(jù)的特定的格式對大數(shù)據(jù)進行分片,確保每個分片都包含完整的地震數(shù)據(jù)單元;(2)對加入的初始文件進行分片存儲;(3)將文件分片信息寫入數(shù)據(jù)庫;(4)為數(shù)據(jù)讀寫接口提供文件分片信息;所述通信模塊的結(jié)構(gòu)包括文件管理服務器信息查詢模塊、消息序列化模塊、Socket管理器和TCPSocket/UDPSocket,實現(xiàn)如下功能(I)提供當前文件服務器運行節(jié)點的網(wǎng)絡信息;(2)提供發(fā)送、接受消息的接口;(3)提供序列化、反序列化的能力。與現(xiàn)有技術相比,本發(fā)明的積極效果是解決了在集群環(huán)境下,多個計算節(jié)點訪問統(tǒng)一磁盤陣列上同一文件的競爭沖突問題;通過使文件分片的方法從根本上避免了由于文件系統(tǒng)對文件的加鎖保護而造成的I/o性能大幅下降的問題。本發(fā)明具有如下優(yōu)點(I)配合在集群系統(tǒng)中運行的分布式計算程序,每個程序可以單獨處理一個大型數(shù)據(jù)文件的一個分片,而非與其它節(jié)點競爭讀取單一的數(shù)據(jù)文件,大大降低了程序在I/O操作上花費的時間,在η個計算節(jié)點并行計算的情況下,使程序運行總時間接近于理想值1/η,解決了I/O瓶頸的問題,最大限度地發(fā)揮并行計算的效能。(2)采用統(tǒng)一的文件管理服務器。在獲得文件分片所帶來的好處時,為了避免分片操作、分片信息管理所帶來的負擔,通過引入文件管理服務器,以文件管理服務器為中心提供自動化的文件分片管理,所有的工作均由文件管理服務器和數(shù)據(jù)讀寫接口自動完成,全程無需人工介入,大大降低了系統(tǒng)的使用難度和維護的人力成本。(3)采用統(tǒng)一的通信模塊接口,大大減少了通信部分程序開發(fā)的難度,統(tǒng)一的通信架構(gòu)也使程序具有更好的統(tǒng)一性,便于后期的維護和升級。本發(fā)明將通過例子并參照附圖的方式說明,其中圖I是本發(fā)明的系統(tǒng)通信結(jié)構(gòu)示意圖;圖2是數(shù)據(jù)讀寫接口的結(jié)構(gòu)示意圖;圖3是文件管理服務器的結(jié)構(gòu)示意圖;圖4是通信模塊的結(jié)構(gòu)示意圖。具體實施例方式本發(fā)明的應用場景為企業(yè)級集群系統(tǒng),擁有多個計算節(jié)點,每個節(jié)點由高速網(wǎng)絡連接,可以達到很高的傳輸帶寬。所有數(shù)據(jù)都存放于磁盤陣列之上,所有計算節(jié)點均可訪問磁盤陣列進行數(shù)據(jù)讀寫操作。每個計算節(jié)點會通過數(shù)據(jù)讀寫接口讀取一個或多個數(shù)據(jù)文件分片進行處理。處理任務的分配和收集由統(tǒng)一的分布式計算框架完成,本發(fā)明為此應用框架的數(shù)據(jù)讀寫提供支持。一種基于地震數(shù)據(jù)處理的分布式文件管理系統(tǒng),如圖I所示,包括數(shù)據(jù)讀寫接口、文件管理服務器和通信模塊;其中所述數(shù)據(jù)讀寫接口給用戶使用的數(shù)據(jù)操作接口提供讀寫文件的基本操作和讀取分片文件、獲取文件分片數(shù)據(jù)的高級操作,并且通過通信模塊與文件管理服務器實現(xiàn)交互。所述文件管理服務器為分布式文件系統(tǒng)的最高管理者,負責存儲文件的分片信息和存放位置,完成對文件的初始分片工作,接受來自用戶接口的查詢請求,返回用戶相應的文件信息,并且通過通信模塊與用戶程序進行通信。所述通信模塊為數(shù)據(jù)讀寫接口和文件管理服務器提供穩(wěn)定可靠的通信機制,通信方式使用消息傳遞機制,以提供良好的解耦合和異步性能。由于集群系統(tǒng)中的用戶程序和文件管理服務器可能位于不同的節(jié)點上,必須引入進程間通信機制。本發(fā)明中的通信均采用消息傳遞模型,通過以太網(wǎng)發(fā)送消息來實現(xiàn)通信過程。系統(tǒng)中的所有通信均由通信模塊完成,通信模塊提供收發(fā)消息的接口供數(shù)據(jù)讀寫接口及文件管理服務器使用。數(shù)據(jù)讀寫接口以發(fā)送消息方式向文件管理服務器提出請求,文件管理服務器返回相應的文件信息,數(shù)據(jù)讀寫接口得到相應信息(文件分片的名字和存儲路徑)后便可進行文件的操作。與其他的分布式文件將數(shù)據(jù)分布式地存儲在各個分布式節(jié)點中不同,在本發(fā)明的應用場景中,所有的公共文件都存放在磁盤陣列中,每個計算節(jié)點都可以像訪問本地文件一樣訪問磁盤陣列中的文件。所有的進程訪問文件的方式都為直接從磁盤陣列中讀取,每個進程可以使用操作系統(tǒng)的文件系統(tǒng)接口進行數(shù)據(jù)操作。—、數(shù)據(jù)讀寫接口數(shù)據(jù)讀寫接口為用戶提供簡單易用的操作文件分片的接口。用戶僅通過數(shù)據(jù)讀寫接口就可以完成對文件的所有操作,而不用再借助其他的外部手段。數(shù)據(jù)讀寫接口以庫的方式提供給用戶。如圖2所示,數(shù)據(jù)讀寫接口的結(jié)構(gòu)包括(I)業(yè)務邏輯層對用戶的操作進行分類,并執(zhí)行相應的操作;(2)文件讀寫模塊根據(jù)獲取的文件分片信息,從磁盤陣列中獲取相應的數(shù)據(jù)文件;(3)文件拼合模塊獲取所有的文件分片信息,讀取每個文件分片并合并,實現(xiàn)對分片的拼合;(4)本地文件信息緩存將以從文件管理服務器獲取的分片信息緩存在本地,使得用戶在反復多次讀取相同分片的情況下減小對文件管理服務器的壓力,也可以減少因訪問文件管理服務器而造成的讀取延時。數(shù)據(jù)讀寫接口實現(xiàn)的功能包括(I)初始化存儲文件原始的數(shù)據(jù)文件在使用之前需要先將其存儲到分布式文件管理系統(tǒng)之中,分布式文件管理系統(tǒng)將自動完成其分片與信息存儲的各個功能。I)用戶調(diào)用數(shù)據(jù)讀寫接口的初始化存儲接口,調(diào)用的參數(shù)為數(shù)據(jù)文件在磁盤陣列上的絕對地址、分片要求;2)數(shù)據(jù)調(diào)用接口將相應參數(shù)填寫到消息中,調(diào)用通信模塊向文件管理服務器發(fā)送消息;3)通信模塊將消息序列化后發(fā)送到文件管理器的通信模塊;4)文件管理器收到消息獲得初始分片的參數(shù),按照地震數(shù)據(jù)的特有格式對文件進行分片,并為這個文件創(chuàng)建特定的文件夾,將分片后的數(shù)據(jù)編號后放入統(tǒng)一的文件夾中進行存儲;5)將文件分片的信息(包括文件名、分片數(shù)量、文件分片存儲的絕對路徑等)存儲到數(shù)據(jù)庫中進行持久的存儲;6)通過向用戶程序發(fā)送消息的方式告知數(shù)據(jù)讀寫接口分片保存的完成情況,數(shù)據(jù)讀寫接口再將結(jié)果返回給用戶,文件的初始化過程完成。(2)獲取文件分片信息用戶在使用文件的某一個或多個分片時進行的操作如下I)用戶調(diào)用獲取分片接口、指定文件名、欲獲取的分片范圍;2)數(shù)據(jù)讀寫接口將用戶的請求封裝為消息,通過通信模塊發(fā)往文件管理服務器;3)文件管理服務器接收到消息,對消息進行解析,獲得請求參數(shù);4)分片管理模塊通過數(shù)據(jù)庫讀寫接口從數(shù)據(jù)庫中讀寫出相應的文件分片信息;5)文件管理服務器將取得的信息發(fā)回到數(shù)據(jù)讀寫接口;6)數(shù)據(jù)讀寫接口根據(jù)收到的分片信息由文件讀寫模塊讀出一個或多個分片,通過用戶接口將數(shù)據(jù)返回給用戶。(3)獲取完整的原始數(shù)據(jù)文件在原始數(shù)據(jù)需要被轉(zhuǎn)移、拷貝的時候可以調(diào)用指定接口,將所有分片進行拼合,得到完整的原始數(shù)據(jù)文件,具體方法如下I)用戶調(diào)用返回原始文件接口,提交文件名;2)文件管理服務器收到請求,將指定文件的所有分片信息發(fā)送到數(shù)據(jù)讀寫接口;3)文件拼合模塊收集到所有的分片信息,調(diào)用文件讀寫模塊創(chuàng)建新的文件,重命名為原始數(shù)據(jù)文件名,并根據(jù)分片信息依次讀出分片文件并寫入新創(chuàng)建的文件中;4)拼合完畢后將新建文件的絕對路徑和文件名返回給用戶。(4)刪除/更新文件I)用戶接口提交刪除/更新請求;2)文件管理服務器接收刪除/更新請求;3)分片信息管理模塊讀出相應的分片信息;4)由文件讀寫模塊根據(jù)具體的分片文件信息完成對文件的刪除/更新操作;5)將操作結(jié)果通過消息發(fā)回給數(shù)據(jù)讀寫接口;6)數(shù)據(jù)讀寫接口解析消息后將結(jié)果返回給用戶。二、文件管理服務器文件管理服務器是所有文件的唯一管理者,包含了所有當前文件的信息,所有對文件的操作都需要最先從文件管理服務器取得信息。如圖3所示,文件管理服務器的結(jié)構(gòu)包括(I)業(yè)務處理層對業(yè)務請求的分類,現(xiàn)有的業(yè)務種類包括初始化存儲數(shù)據(jù)文件、獲取指定文件的分片信息、更新指定文件、刪除指定文件;(2)地震數(shù)據(jù)分割模塊按道確定文件的分割偏移量,保證最小數(shù)據(jù)單元的完整性;地震數(shù)據(jù)具有其結(jié)構(gòu)化特征如都是按道存儲。道是地震數(shù)據(jù)存儲的最小元數(shù)據(jù)結(jié)構(gòu)。在道基礎上可將具有某種相同屬性的道數(shù)據(jù)歸并為一個集合,如CMP道集、CRP道集、炮記錄等。在地震數(shù)據(jù)的處理過程中每一種處理對應為一個功能模塊。在地震數(shù)據(jù)處理過程中功能模塊根據(jù)計算任務的特點選擇是按道處理還是按道集合處理。功能模塊的最小處理數(shù)據(jù)單元是該模塊最小的數(shù)據(jù)分割單元。如,當處理功能模塊按道處理時,道是最小的數(shù)據(jù)分割單元;當處理功能模塊按道集處理時,道集合是最小的數(shù)據(jù)分割單元。這要求在將文件進行分片之前需要用戶指定分割的類型,也可同時進行多種類型的分割(但會增加磁盤存儲空間)。(3)文件存儲模塊調(diào)用操作系統(tǒng)的文件系統(tǒng)接口進行文件的讀寫、刪除、更新操作;(4)數(shù)據(jù)庫讀寫接口若文件管理服務器宕機,由于文件管理服務器是所有文件信息的唯一管理者,若將所有數(shù)據(jù)存放在內(nèi)存中,將失去所有的文件信息且無法恢復。為了持久化的保存數(shù)據(jù),數(shù)據(jù)需要被存放在數(shù)據(jù)庫中,數(shù)據(jù)庫提供了高效可靠的信息存儲機制。數(shù)據(jù)庫讀寫接口為分片管理模塊提供訪問數(shù)據(jù)庫的能力。(5)分片管理模塊對分片信息的存取進行管理。分片管理模塊負責分片相關的一切事務,協(xié)調(diào)文件存儲模塊、地震數(shù)據(jù)分割模塊的功能,并調(diào)用數(shù)據(jù)庫讀寫接口來訪問分片信息。文件管理服務器實現(xiàn)的功能包括(I)按照地震數(shù)據(jù)的特定的格式對大數(shù)據(jù)進行分片,確保每個分片都包含完整的地震數(shù)據(jù)單元;(2)對加入的初始文件進行分片存儲;(3)對文件分片信息進行持久的存儲(寫入數(shù)據(jù)庫),確保文件管理服務器宕機重啟后分片信息不會丟失;(4)為數(shù)據(jù)讀寫接口提供文件分片信息;三、通信模塊通信模塊為系統(tǒng)中的每個進程提供統(tǒng)一的通信解決方案,減少了為每個需要網(wǎng)絡通信的進程單獨編寫通信代碼的額外開銷,降低了程序開發(fā)的難度,也更易于實現(xiàn)通信方式的統(tǒng)一。如圖4所示,通信模塊的結(jié)構(gòu)包括(I)文件管理服務器信息查詢模塊文件管理服務器在啟動后會將自己的當前網(wǎng)絡信息寫入配置文件之中,配置文件會存放在磁盤陣列上的指定位置,文件管理服務器信息查詢模塊讀取該配置文件后便可獲得文件管理服務器的當前位置,從而和文件管理服務器通信。(2)消息序列化模塊所有在網(wǎng)絡上傳輸?shù)臄?shù)據(jù)必須以數(shù)據(jù)流的形式存在。消息序列化模塊將用戶消息進行序列化操作,從而適應網(wǎng)絡傳輸?shù)男枰?。在接受消息時同樣需要對接受到的數(shù)據(jù)進行反序列化操作,從而得到接收到的消息對象。(3)Socket管理器Socket管理器負責對當前使用的socket對象進行管理(因為可以存在多個socket連接,如文件管理服務器與多個用戶程序之間的同時通信),提供了對目的節(jié)點的查詢、TCP連接的建立等基本的網(wǎng)絡操作。(4)TCPSocket/UDPSocket:對操作系統(tǒng)socket對象的封裝,提供對socket進行操作的接口,方便socket管理器的統(tǒng)一管理。通信模塊實現(xiàn)的功能包括(I)提供當前文件服務器運行節(jié)點的網(wǎng)絡信息(ip,端口等);(2)提供發(fā)送、接受消息的接口;(3)提供序列化、反序列化的能力。權(quán)利要求1.一種基于地震數(shù)據(jù)處理的分布式文件管理系統(tǒng),其特征在于包括數(shù)據(jù)讀寫接口、文件管理服務器和通信模塊,通信模塊提供收發(fā)消息的接口供數(shù)據(jù)讀寫接口和文件管理服務器使用,其中所述數(shù)據(jù)讀寫接口的結(jié)構(gòu)包括業(yè)務邏輯層、文件讀寫模塊、文件拼合模塊和本地文件信息緩存,實現(xiàn)如下功能(1)初始化存儲文件;(2)獲取文件分片信息;(3)獲取完整的原始數(shù)據(jù)文件;(4)刪除/更新文件;所述文件管理服務器的結(jié)構(gòu)包括業(yè)務處理層、地震數(shù)據(jù)分割模塊、文件存儲模塊、數(shù)據(jù)庫讀寫接口和分片管理模塊,實現(xiàn)如下功能(1)按照地震數(shù)據(jù)的特定的格式對大數(shù)據(jù)進行分片,確保每個分片都包含完整的地震數(shù)據(jù)單元;(2)對加入的初始文件進行分片存儲;(3)將文件分片信息寫入數(shù)據(jù)庫;(4)為數(shù)據(jù)讀寫接口提供文件分片信息;所述通信模塊的結(jié)構(gòu)包括文件管理服務器信息查詢模塊、消息序列化模塊、Socket管理器和TCPSocket/UDPSocket,實現(xiàn)如下功能(1)提供當前文件服務器運行節(jié)點的網(wǎng)絡信息;(2)提供發(fā)送、接受消息的接口;(3)提供序列化、反序列化的能力。2.根據(jù)權(quán)利要求I所述的基于地震數(shù)據(jù)處理的分布式文件管理系統(tǒng),其特征在于所述初始化存儲文件的步驟為1)用戶調(diào)用數(shù)據(jù)讀寫接口的初始化存儲接口,調(diào)用的參數(shù)為數(shù)據(jù)文件在磁盤陣列上的絕對地址、分片要求;2)數(shù)據(jù)調(diào)用接口將相應參數(shù)填寫到消息中,調(diào)用通信模塊向文件管理服務器發(fā)送消息;3)通信模塊將消息序列化后發(fā)送到文件管理器的通信模塊;4)文件管理器收到消息獲得初始分片的參數(shù),按照地震數(shù)據(jù)的格式對文件進行分片,并為該文件創(chuàng)建文件夾,將分片后的數(shù)據(jù)編號后放入該文件夾中進行存儲;5)將文件分片的信息存儲到數(shù)據(jù)庫中進行持久的存儲;6)通過向用戶程序發(fā)送消息的方式告知數(shù)據(jù)讀寫接口分片保存的完成情況,數(shù)據(jù)讀寫接口再將結(jié)果返回給用戶,文件的初始化過程完成。3.根據(jù)權(quán)利要求I所述的基于地震數(shù)據(jù)處理的分布式文件管理系統(tǒng),其特征在于所述獲取文件分片信息的步驟為1)用戶調(diào)用獲取分片接口、指定文件名和欲獲取的分片范圍;2)數(shù)據(jù)讀寫接口將用戶的請求封裝為消息,通過通信模塊發(fā)往文件管理服務器;3)文件管理服務器接收到消息,對消息進行解析,獲得請求參數(shù);4)分片管理模塊通過數(shù)據(jù)庫讀寫接口從數(shù)據(jù)庫中讀寫出相應的文件分片信息;5)文件管理服務器將取得的信息發(fā)回到數(shù)據(jù)讀寫接口;6)數(shù)據(jù)讀寫接口根據(jù)收到的分片信息由文件讀寫模塊讀出一個或多個分片,通過用戶接口將數(shù)據(jù)返回給用戶。4.根據(jù)權(quán)利要求I所述的基于地震數(shù)據(jù)處理的分布式文件管理系統(tǒng),其特征在于所述獲取完整的原始數(shù)據(jù)文件的步驟為1)用戶調(diào)用返回原始文件接口,提交文件名;2)文件管理服務器收到請求,將指定文件的所有分片信息發(fā)送到數(shù)據(jù)讀寫接口;3)文件拼合模塊收集到所有的分片信息,調(diào)用文件讀寫模塊創(chuàng)建新的文件,重命名為原始數(shù)據(jù)文件名,根據(jù)分片信息依次讀出分片文件并寫入新創(chuàng)建的文件中;4)拼合完畢后將新創(chuàng)建文件的絕對路徑和文件名返回給用戶。5.根據(jù)權(quán)利要求I所述的基于地震數(shù)據(jù)處理的分布式文件管理系統(tǒng),其特征在于所述刪除/更新文件的步驟為1)用戶接口提交刪除/更新請求;2)文件管理服務器接收刪除/更新請求;3)分片信息管理模塊讀出相應的分片信息;4)由文件讀寫模塊根據(jù)具體的分片文件信息完成對文件的刪除/更新操作;5)將操作結(jié)果通過消息發(fā)回給數(shù)據(jù)讀寫接口;6)數(shù)據(jù)讀寫接口解析消息后將結(jié)果返回給用戶。全文摘要本發(fā)明公開了一種基于地震數(shù)據(jù)處理的分布式文件管理系統(tǒng),包括數(shù)據(jù)讀寫接口、文件管理服務器和通信模塊,通信模塊提供收發(fā)消息的接口供數(shù)據(jù)讀寫接口和文件管理服務器使用。本發(fā)明的積極效果是采用分布式文件系統(tǒng)的原理,自動完成文件的分片和管理,以實現(xiàn)高速的并行I/O,并提供簡潔高效的文件管理。用戶只需簡單地調(diào)用相應的接口就可以完成對數(shù)據(jù)的各種操作,而且完全由程序自動完成對文件的分片和管理而無需人工的介入。解決了在集群環(huán)境下,多個計算節(jié)點訪問統(tǒng)一磁盤陣列上同一文件的競爭沖突問題;通過使文件分片的方法從根本上避免了由于文件系統(tǒng)對文件的加鎖保護而造成的I/O性能大幅下降的問題。文檔編號G06F17/30GK102880658SQ20121031703公開日2013年1月16日申請日期2012年8月31日優(yōu)先權(quán)日2012年8月31日發(fā)明者趙太銀,陳曦,胡光岷申請人:電子科技大學