[發明專利]基于分布式流計算實現跨多關系數據庫排序的方法及系統有效
| 申請號: | 201510340733.4 | 申請日: | 2015-06-18 |
| 公開(公告)號: | CN104965891B | 公開(公告)日: | 2018-04-27 |
| 發明(設計)人: | 連城;齊權;林杰東;郭海濤 | 申請(專利權)人: | 福建富士通信息軟件有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 福州市鼓樓區京華專利事務所(普通合伙)35212 | 代理人: | 王美花 |
| 地址: | 350000 福建省福州*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 分布式 計算 實現 關系 數據庫 排序 方法 系統 | ||
技術領域
本發明涉及通信技術領域,尤其涉及一種基于分布式流計算實現跨多關系數據庫排序的方法及系統。
背景技術
隨著大數據時代的到來,多個關系型數據庫實例配合數據路由模塊被越來越多的應用于各個項目和軟件系統。數據路由模塊則充當關系型數據庫各節點與應用系統之間的橋梁,將應用系統發起的Sql請求語句拆解到各個關系型數據庫實例,再將各節點的數據匯總處理返回給應用系統。當應用系統通過數據路由模塊執行排序語句進行排序操作時,各個節點的海量數據匯集到數據路由模塊節點上,因為單數據路由模塊節點內存有限,會出現內存溢出無法排序的情況。現有的排序方法無法解決上述問題,如:
在2015年1月28日公開的公開號為104320382A的中國發明,公開了一種分布式的實時流處理裝置、方法及單元,屬于數據處理領域。方法包括:接收輸入單元分發的一批數據流,該一批數據流包括多個子數據流;對接收到的子數據流進行并行處理,得到數據處理結果;將得到的至少一個數據處理結果發送給排序輸出單元,當確定屬于同一批次的數據流的子數據流處理完成時,向排序輸出單元發送標識事件,該數據處理結果及標識事件用于排序輸出單元在判斷收集齊全所有業務處理單元發送的標識事件后,將收集到的屬于同一批次的數據流的所有數據處理結果進行排序輸出。本發明通過排序輸出單元將同一批次的數據處理結果進行排序輸出,實現了分布式的實時流處理的全局排序,更為規整和簡便,方便后續處理。
發明內容
本發明要解決的技術問題之一,在于提供一種基于分布式流計算實現跨多關系數據庫排序的方法,增加了分布式流計算,用分布式流計算獲取到的各個關系型數據庫實例的海量數據,在分布式流計算過程中流動,經過排序處理,最終將排序處理完畢的數據打包交給應用系統,以保證應用系統執行排序語句操作時能夠正常返回結果。
本發明要解決的技術問題之一,是這樣實現的:
一種基于分布式流計算實現跨多關系數據庫排序的方法,包括如下步驟:
步驟1、接受應用系統請求的原SQL語句,判斷該原SQL語句中是否包含Order by語句:
(1)如果該原SQL語句中包含Order by語句,且
(11)若該Order by語句為“Order by字段limit起點n,步長m”,則將該原SQL語句變換為“Order by字段limit 0,n+m”,或者
(12)若該Order by語句為“Order by字段limit p”,則將該原SQL語句變換為“Order by字段limit 0,p”;
根據變換后的SQL語句可獲取需要排序的字段、需要的limit數量、結果截斷數量,將變換后的SQL語句、需要排序的字段、需要的limit數量、結果截斷數量和關系型數據庫實例的連接配置信息進行封裝并發送給接受請求節點,并進入步驟2;
(2)如果該原SQL語句中不包含Order by語句,則結束流程;
步驟2、接受請求節點接收后,生成本次請求的唯一編號,根據變換后的SQL語句和關系型數據庫實例的連接配置信息,調用復數個查詢節點查詢對應的關系型數據庫實例,同時將查詢結果返回給該復數個查詢節點,該復數個查詢節點將查詢結果發射到排序節點;然后排序節點根據需要排序的字段、需要的limit數量創建不重復集合自排序結構體,根據所述唯一編號對所述不重復集合自排序結構體進行標識,同時接收由復數個查詢節點發射過來的查詢結果,并將該查詢結果放入所述不重復集合自排序結構體中進行排序;然后根據結果截斷數量將所述不重復集合自排序結構體中排序后的查詢結果進行截斷后,將截斷后的不重復集合自排序結構體進行封裝并返回給應用系統。
本發明要解決的技術問題之二,在于提供一種基于分布式流計算實現跨多關系數據庫排序的系統,本發明增加了分布式流計算模塊,用分布式流計算模塊獲取到的各個關系型數據庫實例的海量數據,在分布式流計算模塊里流動,經過排序處理,最終將排序處理完畢的數據打包給數據路由模塊,數據路由模塊再把結果交給應用系統,為了保證應用系統執行排序語句操作時能夠正常返回結果。
本發明要解決的技術問題之二,是這樣實現的:
一種基于分布式流計算實現跨多關系數據庫排序的系統,包括:
數據路由模塊,用于接受應用系統請求的原SQL語句,判斷該原SQL語句中是否包含Order by語句:
(1)如果該原SQL語句中包含Order by語句,且
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于福建富士通信息軟件有限公司,未經福建富士通信息軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510340733.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種頁面顯示方法及裝置
- 下一篇:一種提供網頁服務的網頁緩存管理系統





