新四季網

小文件合併的方法和數據查詢系統與流程

2023-05-29 15:51:56 2


本發明涉及資料庫領域,具體而言,涉及一種小文件合併的方法和數據查詢系統。



背景技術:

在Hadoop中的分布式文件系統(Hadoop Distributed File System,簡稱為HDFS)中保存的數據文件,數據文件的地址信息會映射到命名節點(Namenode)的內存中,當客戶端讀取HDFS中的數據文件,客戶端會先在Namenode內存中查找數據文件的地址信息,然後把對應的地址信息返回給客戶端,客戶端再通過返回的地址信息直接在Datanode上讀取數據文件。當HDFS中數據的不斷增加,文件數量變大,需要映射的地址信息也就增大,這就佔用了大量Namenode的內存空間。在一個HDFS系統中如果存在大量的小文件,將會消耗大量的Namenode內存空間。例如,在一個生產集群中有大約60000000個小文件,這些小文件消耗了95%的Namenode的內存,但只佔用了30%的存儲空間。就造成了磁碟空間還沒滿,Namenode的內存空間就已經滿了的結果。

在一個web日誌分析系統中,由於web頁面的推廣力度不同,不同時段產生的日誌量也不同,有時每個小時產生幾GB的日誌,有時只產生幾KB的日誌。這樣在HDFS文件系統中就存在大量只有幾KB大小的文件。白白佔用大量的Namenode內存空間。

為了解決小文件佔用過多的Namenode的內存的問題,目前合併HDFS小文件主要採用創建歸檔文件的方式,通過Hadoop archive–ArchiveName方式創建一個har文件。這種方式的執行原理是把合併過程轉化成Mapreduce操作,Mapreduce是一個很耗時的過程。每次map操作之後都要把中間臨時結果保存在本地磁碟中,然後供下一個map使用。這種har文件的存儲方式如圖1所示,這就導致在文件合併的過程中消耗大量的I/O開銷。

針對上述的問題,目前尚未提出有效的解決方案。



技術實現要素:

本發明實施例提供了一種小文件合併的方法和數據查詢系統,以至少解決存儲合併小文件過程的中間臨時結果所造成的消耗大量的I/O開銷的技術問題。

根據本發明實施例的一個方面,提供了一種小文件合併的方法,包括:數據查詢系統接收客戶端的合併請求;所述數據查詢系統根據所述合併請求生成合併任務;以及所述數據查詢系統將所述合併任務分發到在資料庫的數據存放節點中運行的數據合併進程中,其中,所述數據合併進程對所述數據存放節點中存放的小文件進行合併,得到合併後的文件,其中,所述數據合併進程為所述數據查詢系統中的進程。

進一步地,所述數據合併進程對所述數據存放節點中存放的小文件進行合併包括:所述數據合併進程創建與待合併小文件具有映射關係的輸入映射表和用於建立與合併後的文件的映射關係的輸出映射表,其中,所述輸入映射表映射的輸入目錄存儲有所述待合併小文件,所述輸出映射表映射的輸出目錄中用於存儲所述合併後的文件;按照所述合併任務從所述輸入映射表中選擇一個或多個待合併小文件;將選擇的待合併小文件插入到所述輸出映射表中合併為大文件,其中,所述大文件為包含兩個以上待合併小文件的文件內容的文件。

進一步地,所述數據合併進程創建與待合併小文件具有映射關係的輸入映射表和用於建立與合併後的文件的映射關係的輸出映射表包括:根據第一類型的待合併小文件創建第一輸入映射表,根據第二類型的待合併小文件創建第二輸入映射表;將選擇的待合併小文件插入到所述輸出映射表中合併為大文件包括:將從所述第一輸入映射表中選擇的待合併小文件和從所述第二輸入映射表中選擇的待合併小文件插入到所述輸出映射表,合併為一個大文件。

進一步地,所述合併請求中攜帶有文件合併後類型信息,則將選擇的待合併小文件插入到所述輸出映射表中合併為大文件包括:獲取所述合併請求所指示的待合併小文件的合併前類型和所述合併後類型信息;在所述選擇的待合併小文件的合併前類型與所述合併後類型信息所指示的合併後類型相同時,將所述選擇的待合併小文件插入到所述輸入映射表中合併為所述大文件;以及在所述選擇的待合併小文件的合併前類型與所述合併後的文件的所述合併後類型不同時,將所述選擇的待合併小文件的合併前類型轉換為所述合併後類型,並且將轉換後的待合併小文件插入到所述輸入映射表中合併為所述大文件。

進一步地,所述合併前類型包括二進位文件的類型和列示存儲文件的類型。

進一步地,在將選擇的待合併小文件插入到所述輸出映射表中合併為大文件之後,所述方法還包括:按照所述輸出映射表更新所述資料庫中命名節點存儲的地址信息。

進一步地,所述合併請求中還攜帶有文件合併後的壓縮格式信息,則在所述數據合併進程對所述數據存放節點中存放的小文件進行合併之後,所述方法還包括:按照 所述壓縮格式信息所指示的壓縮格式對所述合併後的文件進行壓縮。

根據本發明實施例的另一方面,還提供了一種數據查詢系統,包括:接收單元,用於接收客戶端的合併請求;生成單元,用於根據所述合併請求生成合併任務;以及分發單元,用於將所述合併任務分發到在資料庫的數據存放節點中運行的數據合併進程中,其中,所述數據合併進程對所述數據存放節點中存放的小文件進行合併,得到合併後的文件,其中,所述數據合併進程為所述數據查詢系統中的進程。

進一步地,所述分發單元包括:創建模塊,用於創建與待合併小文件具有映射關係的輸入映射表和用於建立與合併後的文件的映射關係的輸出映射表,其中,所述輸入映射表映射的輸入目錄存儲有所述待合併小文件,所述輸出映射表映射的輸出目錄中用於存儲所述合併後的文件;選擇模塊,用於按照所述合併任務從所述輸入映射表中選擇兩個以上待合併小文件;合併模塊,用於將選擇的待合併小文件插入到所述輸出映射表中合併為大文件,其中,所述大文件為包含兩個以上待合併小文件的文件內容的文件。

進一步地,所述創建模塊還用於根據第一類型的待合併小文件創建第一輸入映射表,根據第二類型的待合併小文件創建第二輸入映射表;所述合併模塊還用於將從所述第一輸入映射表中選擇的待合併小文件和從所述第二輸入映射表中選擇的待合併小文件插入到所述輸出映射表,合併為一個大文件。

進一步地,所述合併請求中攜帶有文件合併後類型信息,所述合併模塊包括:獲取子模塊,用於獲取所述合併請求所指示的待合併小文件的合併前類型和所述合併後類型信息;第一合併子模塊,用於在所述選擇的待合併小文件的合併前類型與所述合併後類型信息所指示的合併後類型相同時,將所述選擇的待合併小文件插入到所述輸入映射表中合併為所述大文件;以及第二合併子模塊,用於在所述選擇的待合併小文件的合併前類型與所述合併後的文件的所述合併後類型不同時,將所述選擇的待合併小文件的合併前類型轉換為所述合併後類型,並且將轉換後的待合併小文件插入到所述輸入映射表中合併為所述大文件。

進一步地,所述數據查詢系統還包括:更新單元,用於在將選擇的待合併小文件插入到所述輸出映射表中合併為大文件之後,按照所述輸出映射表更新所述資料庫中命名節點存儲的地址信息。

進一步地,所述數據查詢系統還包括:壓縮模塊,用於在所述數據合併進程對所述數據存放節點中存放的小文件進行合併之後,按照所述合併請求所指示的壓縮格式對所述合併後的文件進行壓縮。

在本發明實施例中,採用數據查詢系統接收客戶端的合併請求;數據查詢系統根據合併請求生成合併任務;數據查詢系統將合併任務分發到在資料庫的數據存放節點中運行的數據合併進程中,其中,數據合併進程對數據存放節點中存放的小文件進行合併,得到合併後的文件,其中,數據合併進程為數據查詢系統中的進程。由於執行小文件合併任務的進程運行在HDFS系統的數據存放節點中,且該進程屬於數據查詢系統Impala的進程,因此,在Impala接收到客戶端發送的合併請求後,能夠快速啟動執行合併的Impalad進程,降低了合併任務的啟動時間,也就提高了合併小文件的合併效率。同時,由於Impalad進程合併時不需要存儲中間結果文件,不需要反覆調用存儲在本地磁碟的中間結果文件,在減少本地磁碟佔用的同時節省大量I/O開銷,解決了存儲合併小文件過程的中間臨時結果所造成的消耗大量的I/O開銷的技術問題。

附圖說明

此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在附圖中:

圖1是根據現有技術的一種小文件合併的方法的示意圖;

圖2是根據本發明實施例的小文件合併的方法的流程圖;

圖3是根據本發明實施例的Impala的執行過程示意圖;

圖4是根據本發明優選實施例的小文件合併的方法的示意圖;以及

圖5是根據本發明實施例的小文件合併的數據查詢系統的示意圖。

具體實施方式

為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分的實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本發明保護的範圍。

需要說明的是,本發明的說明書和權利要求書及上述附圖中的術語「第一」、「第二」等是用於區別類似的對象,而不必用於描述特定的順序或先後次序。應該理解這樣使用的數據在適當情況下可以互換,以便這裡描述的本發明的實施例能夠以除了在這裡圖示或描述的那些以外的順序實施。此外,術語「包括」和「具有」以及他們的 任何變形,意圖在於覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限於清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對於這些過程、方法、產品或設備固有的其它步驟或單元。

名詞解釋:

HDFS:(Hadoop Distributed File System)是Hadoop中的分布式文件系統。

Impala:是一個數據查詢系統,通過SQL語句,查詢存儲在HDFS上的海量數據。

Namenode:命名節點,HDFS存放數據文件的地址信息保存在Namenode中。當Namenode啟動時,會把所有的地址信息加載到內存中。

Datanode:數據節點,存放HDFS數據文件的節點。

Impalad:與Datanode運行在同一節點上,由Impalad進程表示,它接收客戶端的合併請求,生成執行計劃,執行操作。

本發明提供了一種小文件合併的方法。小文件是HDFS中文件佔用存儲空間小於HDFS設定塊的大小的文件,是未進行合併處理的原始文件。該小文件合併方法可以對HDFS系統中的小文件進行合併,減少Namenode的內存佔用。同時,該小文件合併方法利用Impala中的Impalad進程在HDFS數據文件的節點Datanode中直接對小文件進行合併,提高了合併進程的啟動效率,還避免了現有技術在合併小文件的過程中消耗大量的I/O開銷。

以下結合圖2至圖4對本發明實施例進行說明。

圖2是根據本發明實施例的小文件合併的方法的流程圖。如圖2所示,該小文件合併的方法包括:

步驟S202,數據查詢系統接收客戶端的合併請求。

步驟S204,數據查詢系統根據合併請求生成合併任務。

步驟S206,數據查詢系統將合併任務分發到在資料庫的數據存放節點中運行的數據合併進程中,其中,數據合併進程對數據存放節點中存放的小文件進行合併,得到合併後的文件,其中,數據合併進程為數據查詢系統中的進程。

客戶端向Impala中提交數據處理請求,即數據查詢系統接收客戶端的合併請求。Impala根據合併請求生成合併任務,並把合併任務分發到運行在Datanode上的Impalad進程中。Impalad直接讀取本地Datanode上存儲的數據,以對小文件進行合併處理。

由於執行小文件合併任務的進程運行在HDFS系統的數據存放節點中,且該進程屬於數據查詢系統Impala的進程,因此,在Impala接收到客戶端發送的合併請求後,能夠快速啟動執行合併的Impalad進程,降低了合併任務的啟動時間,也就提高了合併小文件的合併效率。同時,由於Impalad進程合併時不需要存儲中間結果文件,不需要反覆調用存儲在本地磁碟的中間結果文件,在減少本地磁碟佔用的同時節省大量I/O開銷。

可選地,數據合併進程對數據存放節點中存放的小文件進行合併包括:數據合併進程創建與待合併小文件具有映射關係的輸入映射表和用於建立與合併後的文件的映射關係的輸出映射表,其中,輸入映射表映射的輸入目錄存儲有待合併小文件,輸出映射表映射的輸出目錄中用於存儲合併後的文件。按照合併任務從輸入映射表中選擇兩個以上待合併小文件。將選擇的待合併小文件插入到輸出映射表中合併為大文件,其中,大文件為包含兩個以上待合併小文件的文件內容的文件。

輸入映射表對應待合併小文件,根據輸入映射表可以確定待合併小文件的名稱和存儲地址;輸出映射表對應合併後的大文件,通過輸出映射表可以查找到合併後的大文件的名稱和存儲地址。在合併過程中,通過將輸入映射表中的待合併小文件插入到輸出映射表中,完成對一個或多個待合併小文件的合併。其中,合併後得到的大文件包括被合併的一個或者多個待合併小文件的文件內容。即本實施例所提供的合併方法並不是將多個待合併小文件打包成為一個包括多個小文件的集合,而是將多個待合併的小文件合併成一個大文件,該大文件包括多個小文件的文件內容。同時,輸出映射表包括合併後得到的大文件的名稱和地址信息,即減少了多個小文件的內存空間的佔用。

具體地,在進行文件合併時,可以對多個不同類型的小文件進行合併。在對多個不同類型的小文件進行合併時,為每個類型的小文件建立一個輸入映射表,每個輸入映射表只存儲相同類型的小文件。即數據合併進程創建與待合併小文件具有映射關係的輸入映射表和用於建立與合併後的文件的映射關係的輸出映射表包括:根據第一類型的待合併小文件創建第一輸入映射表,根據第二類型的待合併小文件創建第二輸入映射表。將選擇的待合併小文件插入到輸出映射表中,得到大文件包括:將從第一輸入映射表中選擇的待合併小文件和從第二輸入映射表中選擇的待合併小文件插入到輸出映射表,合併為一個大文件。

第一類型的待合併小文件和第二類型的待合併小文件分別插入到輸出映射表中,從而完成多個小文件的合併。其中,在合併時可以是同一類型的待合併小文件合併為一個文件塊,還可以是不同類型的待合併小文件合併為一個文件塊。一個或多個輸入映射表對應的小文件可以合併為一個文件塊,一個輸入映射表對應的小文件也可以存 儲在多個文件塊中。文件塊的大小可以根據採用默認的文件塊的大小,即與HDFS的文件塊大小相同,還可以對每個文件塊的大小進行單獨設置。

圖3是根據本發明實施例的Impala的執行過程示意圖。如圖所示,客戶端提交任務到Impalad,在Impalad中生成執行計劃,然後通過協調器把任務發送到執行引擎中,任務在執行引擎中執行,直接訪問HDFS上的數據文件進行合併,把合併後的結果寫入HDFS中。

在將同一類型的待合併小文件合併為一個文件塊時,將該類型的待合併小文件插入到輸出映射表中;在將不同類型的待合併小文件合併為一個文件塊時,分別對不同類型的待合併小文件進行處理,然後再插入到輸出映射表中。

在將選擇的待合併小文件插入到輸出映射表中合併為大文件時,還需要根據待合併小文件的合併前類型和合併後的文件的合併後類型進行文件的合併,即合併請求中攜帶有文件合併後類型信息,獲取合併請求所指示的待合併小文件的合併前類型和合併後類型信息。在選擇的待合併小文件的合併前類型與合併後類型信息所指示的合併後類型相同時,將選擇的待合併小文件插入到輸入映射表中合併為大文件。在選擇的待合併小文件的合併前類型與合併後的文件的合併後類型不同時,將選擇的待合併小文件的合併前類型轉換為合併後類型,並且將轉換後的待合併小文件插入到輸入映射表中合併為大文件。

合併後的文件可以按照合併請求所指示的合併後類型進行存儲,如果待合併小文件的合併前類型與合併後類型相同,則可以直接插入,如果不同,就需要對待合併小文件的合併前類型進行轉換,以滿足合併請求所指示的合併後類型的要求。合併前類型和合併後類型包括二進位文件的類型和列示存儲文件的類型。其中,二進位文件的類型包括txt等,列示存儲文件的類型包括avro文件格式,parquet文件格式,rcfile文件格式、orcfile文件格式等。

圖4是根據本發明優選實施例的小文件合併方法的示意圖。圖4示出了第一輸入映射表A1、第二輸入映射表A2和輸出映射表B。第一輸入映射表A1中待合併小文件的合併前類型為txt,第二輸入映射表A2中待合併小文件的合併前類型為avro。輸出映射表B的指定合併後類型為avro。

(1)將第一輸入映射表A1中的待合併小文件合併為一個文件塊X,將第二輸入映射表A2中的待合併小文件合併為另一個文件塊Y。

第一輸入映射表A1的待合併小文件的合併前類型與輸出映射表的合併後類型不同,將第一輸入映射表A1中的待合併小文件的類型txt轉換為avro,然後將類型轉換 後的待合併小文件插入到輸出映射表B中作為一個文件塊X。

第二輸入映射表A2的待合併小文件的合併前類型與輸出映射表的合併後類型相同,直接將第二輸入映射表A2中的待合併小文件插入到輸出映射表B中作為另外一個文件塊Y。

這樣,第一輸入映射表A1中的待合併小文件和第二輸入映射表A2中的待合併小文件就分別合併到了映射表B中的兩個文件塊中,得到兩個相同類型的大文件。

(2)將第一輸入映射表A1中的待合併小文件和第二輸入映射表A2中的待合併小文件合併為一個文件塊。

將第一輸入映射表A1中的待合併小文件的類型txt轉換為avro,然後將類型轉換後的待合併小文件插入到輸出映射表B中作為一個文件塊X。同時,將第二輸入映射表A2中的待合併小文件也插入到文件塊X中,也就是將兩種不同類型的小文件合併到同一個文件塊中。

可選地,在將選擇的待合併小文件插入到輸出映射表中合併為大文件之後,該方法還包括:按照輸出映射表更新資料庫中命名節點存儲的地址信息。合併後的文件存儲在輸出映射表所對應的輸出目錄中,通過合併減少了存儲的小文件的數量,相應的輸出映射表存儲的地址信息減少,那麼更新後的命名節點存儲的地址信息也減少,在存儲地址信息和查找合併後的數據時也就減少了內存的佔用。

可選地,合併請求中還攜帶有文件合併後的壓縮格式信息,在數據合併進程對數據存放節點中存放的小文件進行合併之後,該方法還包括:按照合併請求所指示的壓縮格式對合併後的文件進行壓縮。對合併後的文件進行壓縮能夠減少文件佔用的存儲存儲空間,壓縮格式包括但不限於下述格式:gzip,snappy,bzip,lzo。

圖5是根據本發明實施例的小文件合併數據查詢系統的示意圖。該數據查詢系統包括:接收單元10、生成單元30和分發單元50。

接收單元10用於接收客戶端的合併請求。

生成單元30用於根據合併請求生成合併任務。

分發單元50用於將合併任務分發到在資料庫的數據存放節點中運行的數據合併進程中,其中,數據合併進程對數據存放節點中存放的小文件進行合併,得到合併後的文件,其中,數據合併進程為數據查詢系統中的進程。

客戶端向Impala中提交數據處理請求,即數據查詢系統接收客戶端的合併請求。 Impala根據合併請求生成合併任務,並把合併任務分發到運行在Datanode上的Impalad進程中。Impalad直接讀取本地Datanode上存儲的數據,以對小文件進行合併處理。

由於執行小文件合併任務的進程運行在HDFS系統的數據存放節點中,且該進程屬於數據查詢系統Impala的進程,因此,在Impala接收到客戶端發送的合併請求後,能夠快速啟動執行合併的Impalad進程,降低了合併任務的啟動時間,也就提高了合併小文件的合併效率。同時,由於Impalad進程合併時不需要存儲中間結果文件,不需要反覆調用存儲在本地磁碟的中間結果文件,在減少本地磁碟佔用的同時節省大量I/O開銷。

可選地,分發單元包括:創建模塊,用於創建與待合併小文件具有映射關係的輸入映射表和用於建立與合併後的文件的映射關係的輸出映射表,輸入映射表映射的輸入目錄存儲有待合併小文件,輸出映射表映射的輸出目錄中用於存儲合併後的文件。選擇模塊,用於按照合併任務從輸入映射表中選擇兩個以上待合併小文件。合併模塊,用於將選擇的待合併小文件插入到輸出映射表中合併為大文件,其中,大文件為包含兩個以上待合併小文件的文件內容的文件。

輸入映射表對應待合併小文件,根據輸入映射表可以確定待合併小文件的名稱和存儲地址;輸出映射表對應合併後的大文件,通過輸出映射表可以查找到合併後的大文件的名稱和存儲地址。在合併過程中,通過將輸入映射表中的待合併小文件插入到輸出映射表中,完成對一個或多個待合併小文件的合併。其中,合併後得到的大文件包括被合併的一個或者多個待合併小文件的文件內容。即本實施例所提供的合併方法並不是將多個待合併小文件打包成為一個包括多個小文件的集合,而是將多個待合併的小文件合併成一個大文件,該大文件包括多個小文件的文件內容。同時,輸出映射表包括合併後得到的大文件的名稱和地址信息,即減少了多個小文件的內存空間的佔用。

具體地,在進行文件合併時,可以對多個不同類型的小文件進行合併。在對多個不同類型的小文件進行合併時,為每個類型的小文件建立一個輸入映射表,每個輸入映射表只存儲相同類型的小文件。即創建模塊還用於根據第一類型的待合併小文件創建第一輸入映射表,根據第二類型的待合併小文件創建第二輸入映射表。合併模塊還用於將從第一輸入映射表中選擇的待合併小文件和從第二輸入映射表中選擇的待合併小文件插入到輸出映射表,合併為一個大文件。

第一類型的待合併小文件和第二類型的待合併小文件分別插入到輸出映射表中,從而完成多個小文件的合併。其中,在合併時可以是同一類型的待合併小文件合併為一個文件塊,還可以是不同類型的待合併小文件合併為一個文件塊。一個或多個輸入映射表對應的小文件可以合併為一個文件塊,一個輸入映射表對應的小文件也可以存 儲在多個文件塊中。文件塊的大小可以根據採用默認的文件塊的大小,即與HDFS的文件塊大小相同,還可以對每個文件塊的大小進行單獨設置。

在將同一類型的待合併小文件合併為一個文件塊時,將該類型的待合併小文件插入到輸出映射表中;在將不同類型的待合併小文件合併為一個文件塊時,分別對不同類型的待合併小文件進行處理,然後再插入到輸出映射表中。

在將選擇的待合併小文件插入到輸出映射表中合併為大文件時,還需要根據待合併小文件的合併前類型和合併後的文件的合併後類型進行文件的合併,即合併請求中攜帶有文件合併後類型信息,合併模塊包括獲取子模塊,用於獲取合併請求所指示的待合併小文件的合併前類型和合併後類型信息。第一合併子模塊,用於在選擇的待合併小文件的合併前類型與合併後類型信息所指示的合併後類型相同時,將選擇的待合併小文件插入到輸入映射表中合併為大文件。以及第二合併子模塊,用於在選擇的待合併小文件的合併前類型與合併後的文件的合併後類型不同時,將選擇的待合併小文件的合併前類型轉換為合併後類型,並且將轉換後的待合併小文件插入到輸入映射表中合併為大文件。

合併後的文件可以按照合併請求所指示的合併後類型進行存儲,如果待合併小文件的合併前類型與合併後類型相同,則可以直接插入,如果不同,就需要對待合併小文件的合併前類型進行轉換,以滿足合併請求所指示的合併後類型的要求。合併前類型和合併後類型包括二進位文件的類型和列示存儲文件的類型。其中,二進位文件的類型包括txt等,列示存儲文件的類型包括avro文件格式,parquet文件格式,rcfile文件格式、orcfile文件格式等。

可選地,數據查詢系統還包括:更新單元,用於在將選擇的待合併小文件插入到輸出映射表中合併為大文件之後,按照輸出映射表更新資料庫中命名節點存儲的地址信息。合併後的文件存儲在輸出映射表所對應的輸出目錄中,通過合併減少了存儲的小文件的數量,相應的輸出映射表存儲的地址信息減少,那麼更新後的命名節點存儲的地址信息也減少,在存儲地址信息和查找合併後的數據時也就減少了內存的佔用。

可選地,合併請求中還攜帶有文件合併後的壓縮格式信息,該數據查詢系統還包括:壓縮模塊,用於在數據合併進程對數據存放節點中存放的小文件進行合併之後,按照合併請求所指示的壓縮格式對合併後的文件進行壓縮。對合併後的文件進行壓縮能夠減少文件佔用的存儲存儲空間,壓縮格式包括但不限於下述格式:gzip,snappy,bzip,lzo。

需要說明的是,本發明提供的方法實施例在附圖的流程圖示出的步驟可以在諸如 一組計算機可執行指令的計算機系統中執行,並且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同於此處的順序執行所示出或描述的步驟。

上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。

在本發明的上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。

在本申請所提供的幾個實施例中,應該理解到,所揭露的技術內容,可通過其它的方式實現。其中,以上所描述的數據查詢系統實施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。

另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用軟體功能單元的形式實現。

所述集成的單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可為個人計算機、伺服器或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、移動硬碟、磁碟或者光碟等各種可以存儲程序代碼的介質。

以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀