欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

PaaS系統(tǒng)中hbase數(shù)據(jù)刪除方法及裝置的制造方法

文檔序號:9844158閱讀:602來源:國知局
PaaS系統(tǒng)中hbase數(shù)據(jù)刪除方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤指一種PaaS系統(tǒng)中hba se數(shù)據(jù)刪除方法及裝 置。
【背景技術(shù)】
[0002] 隨著網(wǎng)絡(luò)的不斷發(fā)展,為用戶提供服務(wù)的方法已經(jīng)由軟件即服務(wù)(Software as a Service,SaaS)的方式轉(zhuǎn)變?yōu)槠脚_即服務(wù)(Platform as a Service,PaaS)的方式。PaaS系 統(tǒng)中可以使用Hadoop數(shù)據(jù)庫(Hadoop Database,HBase)系統(tǒng),Hbase系統(tǒng)是一個高可靠性、 高性能、面向列、可伸縮的分布式存儲系統(tǒng),利用HBase技術(shù)可在廉價個人計算機服務(wù)器(PC Server)上搭建起大規(guī)模結(jié)構(gòu)化存儲集群。
[0003] 在hbase系統(tǒng)中如果想刪除數(shù)據(jù),就只能調(diào)用上層的刪除函數(shù)Java語言程序開發(fā) 工具包(Java Development Kit,JDK)的應(yīng)用程序編程接口(Application Programming InterfaCe,API)將數(shù)據(jù)刪除。因為在hbase系統(tǒng)中最終存入的數(shù)據(jù)都是只讀文件。所有的寫 操作都是先寫入到緩沖中當緩沖滿了之后就會刷新到磁盤,一般hbase會搭配hadoop,那么 就是寫入到hadoop中。寫入的用戶數(shù)據(jù)文件叫HFile,是hbase自定義格式的二進制文件。
[0004] 這個HFile(假設(shè)叫文件A)-旦創(chuàng)建寫入后就不可以更改了。如果想將這個文件A 中的某些內(nèi)容刪除,那么需要再寫入一個新的HFile文件B,然后插入一些刪除(Delete)狀 態(tài)的關(guān)鍵字-值(key-value ),標示這些key-value是被刪除的。文件B中的標記刪除的那些 key就是在文件A中的key。之后hbase上層會觸發(fā)一個文件合并的操作,這個操作可能是手 動觸發(fā)的,也可以是配置文件中指定的時間到了才觸發(fā)的。當觸發(fā)這個操作后,就會遍歷某 幾個HFile,比如文件A和文件B,然后將文件A和文件B的內(nèi)容合并成文件C并保存,在合并的 過程中如果發(fā)現(xiàn)某些key被標記為刪除,則不保存這些key,最后將文件A和文件B刪除。經(jīng)過 這些步驟后那些需要刪除的key就被真正刪除了。
[0005] 由此可見,現(xiàn)有技術(shù)中,在hbase系統(tǒng)中一個刪除操作和一個插入/更新操作理論 上是一樣的,插入/更新也是寫一條數(shù)據(jù),數(shù)據(jù)類型是插入/更新,而刪除操隨著作也是寫一 條數(shù)據(jù),數(shù)據(jù)類型是刪除。當這條刪除數(shù)據(jù)插入后,上層用戶再讀就讀不到了,但是在執(zhí)行 合并前,這些數(shù)據(jù)實際上都存在磁盤中。
[0006] 這樣通過逐個文件合并的方式實現(xiàn)數(shù)據(jù)刪除時,當需要刪除的數(shù)據(jù)量比較大時, 會導(dǎo)致刪除操作的時間很長,例如:用戶有100G的數(shù)據(jù),那么要全部刪除就需要執(zhí)行大量的 刪除操作,寫入一個個標記為刪除的操作,并一個個的進行文件合并,隨著數(shù)據(jù)量的增加整 個刪除操作也就越慢。而且在hbase系統(tǒng)中刪除一些數(shù)據(jù),由于合并過程會輕微影響線上業(yè) 務(wù)所以一般晚上執(zhí)行。
[0007] 可見,現(xiàn)有habse系統(tǒng)中從刪除操作開始到最終將數(shù)據(jù)從磁盤或者hadoop上刪除 需要經(jīng)過很長時間,其刪除操作處理時間很長,效率很低,不能快速、高效的實現(xiàn)對用戶數(shù) 據(jù)的刪除操作。

【發(fā)明內(nèi)容】

[0008] 本發(fā)明實施例提供一種PaaS系統(tǒng)中hbase數(shù)據(jù)刪除方法及裝置,用以解決現(xiàn)有技 術(shù)中存在用戶數(shù)據(jù)刪除時,刪除操作處理時間長,速度慢、效率低下的問題,能夠?qū)崿F(xiàn)快速、 高效的用戶數(shù)據(jù)刪除。
[0009] -方面,本發(fā)明實施例提供了一種hbase數(shù)據(jù)刪除方法,包括:
[0010] 接收用戶發(fā)送的數(shù)據(jù)刪除指令,所述數(shù)據(jù)刪除指令中包括關(guān)鍵字范圍;
[0011]根據(jù)所述關(guān)鍵字范圍,確定待刪除的用戶數(shù)據(jù)的起始關(guān)鍵字和結(jié)束關(guān)鍵字所在的 存儲區(qū)域;
[0012] 對起始關(guān)鍵字和結(jié)束關(guān)鍵字所在的存儲區(qū)域,根據(jù)所述關(guān)鍵字范圍對其中存儲的 用戶數(shù)據(jù)進行關(guān)鍵字匹配判斷,將關(guān)鍵字匹配的用戶數(shù)據(jù)刪除;
[0013] 對處于起始關(guān)鍵字和結(jié)束關(guān)鍵字所在的存儲區(qū)域之間的存儲區(qū)域,將其中的用戶 數(shù)據(jù)刪除。
[0014] 在一些可選的實施例中,所述關(guān)鍵字范圍通過起始關(guān)鍵字和結(jié)束關(guān)鍵字表征;或
[0015] 所述關(guān)鍵字范圍通過起始關(guān)鍵字和關(guān)鍵字的數(shù)量表征。
[0016] 在一些可選的實施例中,根據(jù)所述關(guān)鍵字范圍,確定待刪除的用戶數(shù)據(jù)的起始關(guān) 鍵字和結(jié)束關(guān)鍵字所在的存儲區(qū)域,具體包括:
[0017] 根據(jù)所述關(guān)鍵字范圍,確定待刪除的用戶數(shù)據(jù)的起始關(guān)鍵字和結(jié)束關(guān)鍵字;
[0018] 依次查詢根root表、業(yè)務(wù)字典meta表,確定所述起始關(guān)鍵字和結(jié)束關(guān)鍵字所在的 meta 表;
[0019] 根據(jù)所述起始關(guān)鍵字和結(jié)束關(guān)鍵字,查找確定出的meta表所對應(yīng)的業(yè)務(wù)表,確定 所述起始關(guān)鍵字和結(jié)束關(guān)鍵字所在的業(yè)務(wù)表。
[0020] 在一些可選的實施例中,根據(jù)起始關(guān)鍵字中包括的用戶標識信息和關(guān)鍵字值,以 及結(jié)束關(guān)鍵字中包括的用戶標識信息和關(guān)鍵字值,查詢root表、meta表、以及確定出的meta 表所對應(yīng)的業(yè)務(wù)表,實現(xiàn)確定所述起始關(guān)鍵字和結(jié)束關(guān)鍵字所在的業(yè)務(wù)表。
[0021] 在一些可選的實施例中,對起始關(guān)鍵字和結(jié)束關(guān)鍵字所在的存儲區(qū)域,根據(jù)所述 關(guān)鍵字范圍對其中存儲的用戶數(shù)據(jù)進行關(guān)鍵字匹配判斷,具體包括:
[0022] 遍歷起始關(guān)鍵字和結(jié)束關(guān)鍵字所在的存儲區(qū)域中的用戶數(shù)據(jù)文件;
[0023] 根據(jù)所述用戶數(shù)據(jù)文件中用戶數(shù)據(jù)的關(guān)鍵字中包括的用戶標識信息和關(guān)鍵字值, 判斷用戶數(shù)據(jù)的關(guān)鍵字是否是所述關(guān)鍵字范圍內(nèi)的關(guān)鍵字,當判斷為是時,認為該用戶數(shù) 據(jù)為關(guān)鍵字匹配的用戶數(shù)據(jù)。
[0024] 在一些可選的實施例中,所述將關(guān)鍵字匹配的用戶數(shù)據(jù)刪除,具體包括:
[0025] 對起始關(guān)鍵字所在的存儲區(qū)域,提取關(guān)鍵字不匹配的用戶數(shù)據(jù),存儲為新的用戶 數(shù)據(jù)文件,并更新該存儲區(qū)域的結(jié)束關(guān)鍵字;
[0026] 對結(jié)束關(guān)鍵字所在的存儲區(qū)域,提取關(guān)鍵字不匹配的用戶數(shù)據(jù),存儲為新的用戶 數(shù)據(jù)文件,并更新該存儲區(qū)域的起始關(guān)鍵字。
[0027] 在一些可選的實施例中,上述方法還包括:
[0028] 確定對起始關(guān)鍵字和結(jié)束關(guān)鍵字所在的存儲區(qū)域之后,將起始關(guān)鍵字和結(jié)束關(guān)鍵 字所在的存儲區(qū)域標記為分離split狀態(tài);以及
[0029] 將關(guān)鍵字匹配的用戶數(shù)據(jù)刪除,刪除split狀態(tài);
[0030] 其中,處于split狀態(tài)的存儲區(qū)域不允許其他用戶讀寫數(shù)據(jù)。
[0031] 另一方面,本發(fā)明實施例提供了一種hbase數(shù)據(jù)刪除裝置,包括:
[0032] 接收模塊,用于接收用戶發(fā)送的數(shù)據(jù)刪除指令,所述數(shù)據(jù)刪除指令中包括關(guān)鍵字 范圍;
[0033]確定模塊,用于根據(jù)所述關(guān)鍵字范圍,確定待刪除的用戶數(shù)據(jù)的起始關(guān)鍵字和結(jié) 束關(guān)鍵字所在的存儲區(qū)域;
[0034]刪除模塊,用于對起始關(guān)鍵字和結(jié)束關(guān)鍵字所在的存儲區(qū)域,根據(jù)所述關(guān)鍵字范 圍對其中存儲的用戶數(shù)據(jù)進行關(guān)鍵字匹配判斷,將關(guān)鍵字匹配的用戶數(shù)據(jù)刪除;對處于起 始關(guān)鍵字和結(jié)束關(guān)鍵字所在的存儲區(qū)域之間的存儲區(qū)域,將其中的用戶數(shù)據(jù)刪除。
[0035] 在一些可選的實施例中,所述接收模塊接收到的數(shù)據(jù)讀取指令中包括的關(guān)鍵字范 圍通過起始關(guān)鍵字和結(jié)束關(guān)鍵字表征;或
[0036] 所述接收模塊接收到的數(shù)據(jù)讀取指令中包括的關(guān)鍵字范圍通過起始關(guān)鍵字和關(guān) 鍵字的數(shù)量表征。
[0037] 在一些可選的實施例中,所述確定模塊,具體用于:
[0038] 根據(jù)所述關(guān)鍵字范圍,確定待刪除的用戶數(shù)據(jù)的起始關(guān)鍵字和結(jié)束關(guān)鍵字;
[0039]依次查詢根root表、業(yè)務(wù)字典meta表,確定所述起始關(guān)鍵字和結(jié)束關(guān)鍵字所在的 meta 表;
[0040] 根據(jù)所述起始關(guān)鍵字和結(jié)束關(guān)鍵字,查找確定出的meta表所對應(yīng)的業(yè)務(wù)表,確定 所述起始關(guān)鍵字和結(jié)束關(guān)鍵字所在的業(yè)務(wù)表。
[0041] 在一些可選的實施例中,所述確定模塊,具體用于:
[0042] 根據(jù)起始關(guān)鍵字中包括的用戶標識信息和關(guān)鍵字值,以及結(jié)束關(guān)鍵字中包括的用 戶標識信息和關(guān)鍵字值,查詢root表、meta表、以及確定出的meta表所對應(yīng)的業(yè)務(wù)表,實現(xiàn) 確定所述起始關(guān)鍵字和結(jié)束關(guān)鍵字所在的業(yè)務(wù)表。
[0043] 在一些可選的實施例中,所述刪除模塊,具體用于:
[0044]遍歷起始關(guān)鍵字和結(jié)束關(guān)鍵字所在的存儲區(qū)域中的用戶數(shù)據(jù)文件;
[0045] 根據(jù)所述用戶數(shù)據(jù)文件中用戶數(shù)據(jù)的關(guān)鍵字中包括的用戶標識信息和關(guān)鍵字值, 判斷用戶數(shù)據(jù)的關(guān)鍵字
當前第1頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
南岸区| 浪卡子县| 枝江市| 平利县| 罗山县| 山阴县| 桃园市| 夏河县| 榆中县| 青神县| 凤城市| 吐鲁番市| 榆社县| 定南县| 望城县| 杨浦区| 台湾省| 盐津县| 建平县| 黑山县| 大连市| 佳木斯市| 屏东市| 普宁市| 衢州市| 浮梁县| 枝江市| 高唐县| 鄢陵县| 平潭县| 通辽市| 精河县| 合山市| 齐河县| 阆中市| 武鸣县| 万山特区| 德令哈市| 四子王旗| 朝阳县| 巴青县|