[發明專利]一種數據并行批量導入只讀查詢系統的方法及系統有效
| 申請號: | 201310201372.6 | 申請日: | 2013-05-27 |
| 公開(公告)號: | CN103294799A | 公開(公告)日: | 2013-09-11 |
| 發明(設計)人: | 申林;薛繼龍;楊智;代亞非 | 申請(專利權)人: | 北京大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F9/44 |
| 代理公司: | 北京君尚知識產權代理事務所(普通合伙) 11200 | 代理人: | 余長江 |
| 地址: | 100871 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 并行 批量 導入 只讀 查詢 系統 方法 | ||
技術領域
本項發明涉及一種數據導入方法,具體涉及一種高效將線下數據批量導入線上只讀查詢系統的方法,屬于云計算領域。
背景技術
Internet上的數據在爆發式的增長,而這些數據的背后可能存在著不容易發現的關聯,需要數據挖掘來找出。比如,社交網絡和電子商務網站中的海量數據背后就隱藏著巨大的信息。在社交網絡里,“你可能認識的好友”就是一個典型的應用場景,應用程序可以根據兩個人之間的直接共同好友數以及二跳好友數,來計算出兩個人的親密程度,并推薦好友;在電子商務網站里,應用程序可以根據顧客之前購買物品的種類、樣式、價格等因素,計算出顧客的購物模式和喜好,并在下一次購物時提供相關的物品推薦。
Map/Reduce是近年來流行的分布式并行計算框架,利用映射(Map)和化簡(Reduce)兩個過程,先接受一組數據并將其轉換成一個鍵/值對列表,分散到不同節點上進行計算,再根據主鍵對數據結果進行歸并,產生最終結果。Hadoop是Map/Reduce計算框架的一個開源實現。
提供在線服務的網站一般都有搜索系統或者分類查詢系統,因為查詢查詢系統的數據讀取比例遠高于數據寫入比例(一般互聯網應用的讀寫比例大于80:20),這些系統設計時會犧牲寫性能而保證讀性能,這樣的系統一般稱之為只讀查詢系統。只讀查詢系統并非系統沒有數據寫入,而是數據寫入的頻率非常低,而且每次寫入都是批量導入,沒有持續數據更新。這樣設計的目的一方面是提高查詢系統的數據讀取效率,另一方面是減少數據寫入給系統帶來的出錯概率和性能的降低。
Apache?Cassandra是一套開源分布式NoSQL數據庫系統。它最初由Facebook開發,用于儲存收件箱等簡單格式數據,集Google?BigTable的數據模型與Amazon?Dynamo的完全分布式的架構于一身。Facebook于2008將Cassandra開源,此后,由于Cassandra良好的可擴放性,被Digg、Twitter等知名Web2.0網站所采納,成為了一種流行的分布式結構化數據存儲方案。本發明采用Cassandra作為只讀查詢系統,驗證方法及系統的有效。
無論進行何種數據分析,都要需要對特征數據(feature?data)進行處理。這個處理過程一般分為三個階段:特征數據收集、數據處理及將計算結果導回線上系統。為了保證線上系統有足夠的計算資源,現有的模式是在線下分析系統上完成特征數據收集和數據處理這兩個階段,之后將計算結果導回線上查詢系統,如圖1a所示。這種模式簡單可靠,但數據導回過程中存在兩個問題:1.一般數據導回都是通過線上系統的讀寫接口串行拷貝數據,在某一個時間點,線上系統只有有限的節點在進行存儲操作,效率較低;2.在串行拷貝結束后,線上系統會對新數據進行索引的創建和副本的創建,這個過程消耗大量的CPU和內存資源,影響線上系統的服務吞吐。
發明內容
本發明的目的在于提供一種從線下系統將數據導回線上系統過程中,減小線上壓力,保證線上系統提供持續高可靠服務的方法。
本發明的技術方案為:一種數據并行批量導入只讀查詢系統的方法,其步驟包括:
1)接收原始特征數據請求,并轉發到Hadoop進行處理;
2)根據節點映射規則在所述Haddoop上建立多個Map/Reduce任務并在每個reducer任務節點上生成特征數據的數據塊;
3)將所述數據塊放置到Hadoop的對應節點上,并通過只讀查詢系統并行讀取Hadoop上的對應節點上的數據塊。
更進一步,所述數據塊進行并行讀取的方法如下:
1)根據Hadoop上的驅動程序得到生成數據塊的數目以及對應存放的Hadoop節點,并轉發到只讀查詢系統的驅動程序;
2)根據所述數據塊的存放位置讀取對應數據,并按照數據塊頭部的位置信息,存儲到只讀查詢系統自身的節點下。
更進一步,在每個reducer任務節點上生成數據塊文件儲存格式為:數據塊索引文件和數據文件。
更進一步,所述步驟3)中并行讀取時,只讀查詢系統節點并行從Hadoop節點上讀取數據塊,并形成自己的數據副本,放置在只讀查詢系統節點的存儲目錄store中。
更進一步,所述步驟3)還包括對數據塊進行數據替換,當所有數據副本已經讀取完畢,則觸發所述只讀查詢系統驅動程序對新老版本數據塊進行替換,形成新的數據版本時等待所有副本都讀取完畢,再進行數據塊替換。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京大學,未經北京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310201372.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種用戶組匹配方法及裝置
- 下一篇:一種可擴展標記語言模式匹配方法
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





