[發明專利]一種基于分布式關系?對象映射處理的大數據查詢的方法有效
| 申請號: | 201310690335.6 | 申請日: | 2013-12-16 |
| 公開(公告)號: | CN103678609B | 公開(公告)日: | 2017-05-17 |
| 發明(設計)人: | 王鵬堯;崔建業;楊風雷;黎建輝 | 申請(專利權)人: | 中國科學院計算機網絡信息中心 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京君尚知識產權代理事務所(普通合伙)11200 | 代理人: | 余長江 |
| 地址: | 100190 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 分布式 關系 對象 映射 處理 數據 查詢 方法 | ||
1.一種基于分布式關系-對象映射處理的大數據查詢的方法,其步驟為:
1)選取m個數據處理節點,針對每一數據處理節點構建一Hibernate Session節點,得到一分布式Hibernate架構,并生成一Session資源隊列;
2)在所述分布式Hibernate架構中設置一配置文件,所述配置文件包括表類型屬性,以及每一類型表對應的存儲策略和路由策略;其中,所述表類型屬性包括S表和L表;將S表在每一所述數據處理節點備份,將L表分塊存儲到m個所述數據處理節點;L表為數據量大于或等于設定閾值的表,S表為數據量小于設定閾值的表;
3)所述分布式Hibernate架構對輸入的查詢請求進行解析,根據查詢請求的類別選擇對應的處理器;
4)所選處理器根據該查詢請求和對應的路由策略,從所述Session資源隊列中選擇對應的Session節點對該查詢請求進行處理,并對處理結果進行規約;其中,
a)如果所述查詢請求的類別為選擇語句且該查詢請求中的表為L表、且包含連接操作:如果連接操作為S表與S表做連接查詢,則Session選擇器從所述Session資源隊列中找到負載最小的Session節點執行該查詢請求;如果連接操作為S表與L表做連接查詢,則Session選擇器調用所述Session資源隊列中全部可用的Session節點并行執行該查詢請求;果連接操作為L表與L表做連接查詢,則Session選擇器調用所述Session資源隊列中全部可用的n個Session節點,建立n個線程,每個線程分配一個Session節點;每個線程獲取LL表在各個數據處理節點上的數據并規約得到LL表;然后各線程通過LL在各個數據節點執行LLxLR1、LLxLR2、…、LLxLRk…、LLxLRm,規約形成LLxLR;其中,LR表示連接操作右側的L表,LL表示連接操作左側的L表,LRk指LR表在數據處理節點k上的數據塊,x表示連接符號;
b)如果所述查詢請求的類別為選擇語句且該查詢請求中的表為L表、不包含連接操作且包含排序操作,則Session選擇器調用所述Session資源隊列中全部可用的n個Session節點,建立n個線程,每個線程分配一個Session節點;每個線程調用自己的Hibernate Session對象執行該查詢請求獲得結果集,然后調用有序子段對結果集進行歸并排序,獲得最終有序目標序列。
2.如權利要求1所述的查詢方法,其特征在于所述配置文件包括表屬性配置和劃分策略配置;其中表屬性配置為一Map集合,該集合中的元素以表名稱TableName為Key,以L或者S為Value的鍵值對。
3.如權利要求1或2所述的查詢方法,其特征在于如果所述查詢請求的類別為插入或者更新語句,則Session選擇器根據存儲策略從所述Session資源隊列獲得目的Session,執行插入或者更新語句。
4.如權利要求1或2所述的查詢方法,其特征在于如果所述查詢請求的類別為選擇語句且該查詢請求中的表為S表,則Session選擇器從所述Session資源隊列中找到連接數最小的Session節點執行該查詢請求。
5.如權利要求1所述的查詢方法,其特征在于所述調用有序子段對結果集進行歸并排序的方法為:
71)構建長度為h的目標隊列targetList,其中h為需要得到的排序元素數;
72)在各數據處理節點上執行該查詢請求所得有序子隊列sonList1、sonList2、…、sonListn分配n個游標P1、P2、…、Pn,分別指向對應列表首元素;
73)比較sonList1[P1]、sonList2[P2]、…、sonListn[Pn],取其中的最小值或最大值sonList[Pi],將sonListi[Pi]放入目標隊列第一個空位中,然后Pi指向sonListi的下一個位置;
74)判斷targetList是否已存滿,若沒有存滿則繼續執行步驟73),否則排序結束。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院計算機網絡信息中心,未經中國科學院計算機網絡信息中心許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310690335.6/1.html,轉載請聲明來源鉆瓜專利網。





