巨量數(shù)據存取方法以及使用該方法的系統(tǒng)的制作方法
【技術領域】
[0001] 本發(fā)明關于一種數(shù)據存取技術,特別是一種巨量數(shù)據存取方法以及使用該方法的 系統(tǒng)。
【背景技術】
[0002] 越來越多企業(yè)建置云端運算(cloud computing)以及巨量數(shù)據(big data)儲存 環(huán)境。然而,因為數(shù)據量過于龐大且復雜,使得現(xiàn)有的數(shù)據庫管理工具或傳統(tǒng)的數(shù)據處理應 用程序都難以處理。因此,需要一種巨量數(shù)據存取方法以及使用該方法的系統(tǒng),用以提高擴 充性。
【發(fā)明內容】
[0003] 本發(fā)明的實施例提出一種巨量數(shù)據存取方法,包含以下步驟:接收從不同類型的 多個數(shù)據庫前端模塊中之一者傳送的請求;以及使用相應的應用程序界面來操作不同類型 的多個云端文件系統(tǒng)中之一者,用以完成請求的數(shù)據存取作業(yè)。
[0004] 本發(fā)明的實施例提出一種巨量數(shù)據存取系統(tǒng),包含安全檢驗哈希模塊,耦接于不 同類型的多個數(shù)據庫前端模塊以及不同類型的多個云端文件系統(tǒng)之間,用以接收從數(shù)據庫 前端模塊中之一者傳送的一請求;以及使用相應的應用程序界面來操作云端文件系統(tǒng)中之 一者,用以完成請求的數(shù)據存取作業(yè)。
【附圖說明】
[0005] 圖1是依據本發(fā)明實施例的巨量數(shù)據存取系統(tǒng)的系統(tǒng)架構圖。
[0006] 圖2是依據本發(fā)明實施例的計算機裝置的系統(tǒng)架構圖。
[0007] 圖3是依據本發(fā)明實施例的巨量數(shù)據儲存節(jié)點的方塊圖。
[0008] 圖4是依據本發(fā)明實施例的Apache? Hadoop云端運算架構的示意圖。
[0009] 圖5是依據本發(fā)明實施例的Apache? Storm云端運算架構的示意圖。
[0010] 圖6是依據本發(fā)明實施例的巨量數(shù)據儲存節(jié)點的方塊圖。
[0011] 圖7是依據本發(fā)明實施例的文件結構示意圖。
[0012] 圖8是依據本發(fā)明實施例的執(zhí)行處理單元210的數(shù)據讀取方法流程圖。
[0013] 其中,附圖標記說明如下:
[0014] 110 客戶端;
[0015] 120_1、120_2、…、120_i巨量數(shù)據儲存子系統(tǒng);
[0016] 130接待模塊;
[0017] 140虛擬服務器;
[0018] 150_1、150_2、…、150_i 代理模塊;
[0019] 160_1、160_2、…、160_i 數(shù)據庫前端模塊;
[0020] 170_1、170_2、…、170_i巨量數(shù)據儲存節(jié)點;
[0021] 210處理單元;
[0022] 220顯示單元;
[0023] 230輸入裝置;
[0024] 240儲存裝置;
[0025] 250 存儲器;
[0026] 260通訊界面;
[0027] 310聯(lián)合巨量數(shù)據集文件系統(tǒng);
[0028] 320內部數(shù)據庫;
[0029] 331文件導向數(shù)據庫;
[0030] 333格狀文件系統(tǒng);
[0031] 351分散式批次數(shù)據庫;
[0032] 353分散式文件系統(tǒng);
[0033] 371分散式即時數(shù)據庫;
[0034] 373分散式文件系統(tǒng);
[0035] 410主服務器;
[0036] 430、440、450 從服務器;
[0037] 460儲存服務器;
[0038] 510水龍頭服務器;
[0039] 520、530、540、550 閃電服務器;
[0040] 560儲存服務器;
[0041] 611、613、615聯(lián)合巨量數(shù)據集文件系統(tǒng);
[0042] 630糾刪編碼模塊;
[0043] 650安全檢驗哈希模塊;
[0044] 700 文件;
[0045] 710_1 ~710_k 區(qū)塊;
[0046] 730_1 ~730_m 數(shù)據區(qū)段;
[0047] 750_1~750_n同位元區(qū)段;
[0048] 770_1 ~770_m+n 元標簽;
[0049] S811~S875方法步驟。
【具體實施方式】
[0050] 以下說明為完成發(fā)明的較佳實現(xiàn)方式,其目的在于描述本發(fā)明的基本精神,但并 不用以限定本發(fā)明。實際的
【發(fā)明內容】
必須參考之后的權利要求范圍。
[0051] 必須了解的是,使用于本說明書中的"包含"、"包括"等詞,是用以表示存在特定的 技術特征、數(shù)值、方法步驟、作業(yè)處理、元件以及/或組件,但并不排除可加上更多的技術特 征、數(shù)值、方法步驟、作業(yè)處理、元件、組件,或以上的任意組合。
[0052] 于權利要求中使用如"第一"、〃第二〃、〃第三〃等詞是用來修飾權利要求中的元 件,并非用來表示之間具有優(yōu)先權順序,先行關系,或者是一個元件先于另一個元件,或者 是執(zhí)行方法步驟時的時間先后順序,僅用來區(qū)別具有相同名字的元件。
[0053] 圖1是依據本發(fā)明實施例的巨量數(shù)據存取系統(tǒng)的系統(tǒng)架構圖,包含客戶端110及i 個巨量數(shù)據儲存子系統(tǒng)120_1至120_i,其中,i為正整數(shù)。雖然本發(fā)明實施例只描述一個客 戶端的行為,本領域技術人員可輕易將以下所述的技術內容應用在多個客戶端的環(huán)境,本 發(fā)明并不因此受限。巨量數(shù)據儲存子系統(tǒng)120_1中包含接待模塊(reception module) 130, 用以從客戶端Iio接收各種數(shù)據庫應用程序界面(DB API, Database Application Programming Interface)的請求,并轉送給虛擬服務器140。DB API可為結構化查詢語言 (SQL, Structural Query Language)API、C0B0L API 等,用以實施第四層(layer 4)或第七 層(layer 7)數(shù)據庫命令。需要注意的是,巨量數(shù)據儲存子系統(tǒng)120_1至120」只存在一 個接待模塊,作為所有客戶端的單一窗口。接待模塊130定期向其他巨量數(shù)據儲存子系統(tǒng) 120_2至120_i的相應模塊發(fā)送心跳信號(heartbeat signal),用以通知接待模塊130還 活著。當接待模塊130失效過一段時間而無法發(fā)送心跳信號,其他相應模塊會協(xié)商出由巨 量數(shù)據儲存子系統(tǒng)120_2至120」中之一者來當作客戶端的新單一窗口。虛擬服務器140 執(zhí)行平衡負載機制(load-balancing mechanism),用以將客戶端110的請求分派到工作量 (workload)較輕的代理模塊。虛擬服務器140可藉由監(jiān)看每一個代理模塊與客戶端間的 連線數(shù)目來決定每一個巨量數(shù)據儲存子系統(tǒng)的工作量,連線數(shù)目較多代表工作量較重。被 分派的代理模塊150_1、150_2或150_i與客戶端間建立一個連線以處理客戶端110后續(xù) 的DB API請求。換句話說,接待模塊130只處理客戶端110傳送的包含DB API請求的第 一個封包,而分派的代理模塊會直接與客戶端110建立連線,處理包含DB API請求的后續(xù) 封包。于每一個巨量數(shù)據儲存子系統(tǒng)中,代理模塊連接一個數(shù)據庫前端模塊,而此數(shù)據庫前 端模塊連接于一個巨量數(shù)據儲存節(jié)點。例如,代理模塊150_1傳遞由客戶端110傳送的DB API請求給數(shù)據庫前端模塊160_1,數(shù)據庫前端模塊160_1解譯(interpret) DB API請求并 據以操作巨量數(shù)據儲存節(jié)點170_1,用以取得客戶端110所需的信息并回復給客戶端110。 客戶端所請求的信息可以是任何的統(tǒng)計分析或演算法結果,例如,商品間的關聯(lián)性、事件因 果分析等等。
[0054] 接待模塊130、虛擬服務器140、代理模塊150_1及數(shù)據庫前端模塊160_1可整合 于一部計算機裝置中,也可分散在不同的計算機裝置。類似地,成對的代理模塊150_2及數(shù) 據庫前端模塊160_2,或者,成對的代理模塊150」及數(shù)據庫前端模塊160」可整合于一部 計算機裝置中,也可分散在不同的計算機裝置。巨量數(shù)據儲存節(jié)點170_1、170_2至170」中 的任一者中包含多部的計算機裝置,用以完成巨量數(shù)據的存取與運算。圖2是依據本發(fā)明 實施例的計算機裝置的系統(tǒng)架構圖。處理單元210可使用多種方式實施,例如以專用硬件 電路或通用硬件(例如,單一處理器、具平行處理能力的多處理器、圖形處理器或