[發明專利]一種基于Spark框架進行全文檢索的實現方法有效
| 申請號: | 201711194929.2 | 申請日: | 2017-11-24 |
| 公開(公告)號: | CN107943952B | 公開(公告)日: | 2020-10-13 |
| 發明(設計)人: | 強倩;孫昊良;張慧琳;周淵;張晨;李斌斌;劉慶良 | 申請(專利權)人: | 北京賽思信安技術股份有限公司;國家計算機網絡與信息安全管理中心 |
| 主分類號: | G06F16/2452 | 分類號: | G06F16/2452;G06F16/22;G06F16/2453;G06F16/2455 |
| 代理公司: | 北京永創新實專利事務所 11121 | 代理人: | 冀學軍 |
| 地址: | 100125 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 spark 框架 進行 全文 檢索 實現 方法 | ||
1.一種基于Spark框架進行全文檢索的實現方法,其特征在于,具體步驟如下:
步驟一、針對數據查詢和數據分析場景,spark框架通過Hive2 JDBC接口接收用戶提交的待執行SQL語句;
步驟二、對待執行的SQL語句使用spark sql語法解析器進行語法解析,生成語句相對應的語法樹;
步驟三、對語法樹中的每一個節點進行迭代解析,將該語法樹轉換成相應的邏輯計劃,并將邏輯計劃中全文檢索的相關節點解析為Spark中的自定義函數;
每一節點即為一個語法結構,每個語法結構都有相應的邏輯執行計劃;邏輯執行計劃中存儲的是查詢條件;
步驟四、通過Hive接口的服務端口,Spark框架獲取對待執行SQL語句進行檢索的所有表的元數據;
所述的Spark框架進行全文檢索所使用的數據結構包括兩部分,第一部分是表的元數據,第二部分是數據塊和索引;
所有表的元數據均存儲在Hive元數據服務中;數據塊和索引包括n個時間分區,每個時間分區中分別包括若干數據塊和索引;每個數據塊各對應一個索引;
所述的表的元數據又包括字段元數據,分區元數據,類型元數據和文件元數據;字段元數據包括字段名稱和字段類型;分區元數據包括分區類型和分區名;類型元數據包括表類型和支持全文檢索的字段;文件元數據包括文件名,文件地址和字段哈希索引;
在文件元數據所指示的具體磁盤位置上存儲有數據塊和Lucene文件格式的索引;
元數據中包含表中的各個字段名稱類型;表的分區情況;表的類型元數據,表是否支持全文檢索以及哪一個字段支持全文檢索;表的數據文件元數據,在文件元數據中包含表的所有數據文件名、文件存放的具體磁盤位置;數據塊在加載時可按照字段哈希值分組存放,可將字段哈希值也存入文件元數據中;
步驟五、針對某個表的元數據,根據類型元數據標記的表類型,判斷該表類型是否支持全文檢索,如果是,獲取支持全文檢索的字段名稱,進入步驟六;否則,對該表的元數據不予處理,依次選取下一個表的元數據繼續判斷是否支持全文檢索;
步驟六、根據邏輯計劃存儲的查詢條件和當前表的元數據,判斷某文件元數據中的字段哈希索引與查詢條件中的哈希值是否一致,如果是,保留該文件元數據,進入步驟七;否則,剪裁去除不符合條件的文件元數據,順序選取當前表的元數據中下一個文件元數據繼續判斷哈希索引;
步驟七、通過文件元數據中的文件名,解析得到文件所屬的具體磁盤位置,將位置對應的數據塊存儲于邏輯執行計劃中;
步驟八、根據文件元數據中的信息,將全文檢索的條件以及相關的查詢條件,均轉換為Lucene文件格式的索引中使用的查詢條件,并存于邏輯執行計劃中;
同時,將邏輯執行計劃中的其他檢索條件通過迭代的形式體現于邏輯執行計劃中;
步驟九、將邏輯執行計劃中的多個分區根據Spark框架中的DAG模型進行分割,根據Lucene文件格式的索引中使用的查詢條件,將每個分區轉換生成一個任務,得到并發執行任務集合;
步驟十、根據邏輯執行計劃中各個數據塊和數據塊對應的磁盤位置,確定各個任務具體執行的目標節點;
步驟十一、將各個數據塊的特征值進行哈希計算,通過相匹配的方法來確定每一個任務的具體執行進程;
步驟十二、將每個并發執行任務根據任務分發框架,提交到各個目標節點的執行進程中進行執行;
步驟十三、匯總每個任務的執行結果,待所有任務全部執行完畢后,根據DAG模型變化后的依賴結構,依次進行后續的迭代計算,直至得到最終的檢索結果,返回給用戶。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京賽思信安技術股份有限公司;國家計算機網絡與信息安全管理中心,未經北京賽思信安技術股份有限公司;國家計算機網絡與信息安全管理中心許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711194929.2/1.html,轉載請聲明來源鉆瓜專利網。





