[發(fā)明專利]一種OLTP領(lǐng)域多表join查詢的方法有效
| 申請?zhí)枺?/td> | 202210890452.6 | 申請日: | 2022-07-27 |
| 公開(公告)號: | CN115062028B | 公開(公告)日: | 2023-01-06 |
| 發(fā)明(設(shè)計)人: | 韓雷;馬洋 | 申請(專利權(quán))人: | 中建電子商務(wù)有限責(zé)任公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/2455;G06F16/28 |
| 代理公司: | 成都春夏知識產(chǎn)權(quán)代理事務(wù)所(特殊普通合伙) 51317 | 代理人: | 夏琴 |
| 地址: | 610000 四川省成都市青*** | 國省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 oltp 領(lǐng)域 join 查詢 方法 | ||
1.一種OLTP領(lǐng)域多表join查詢的方法,其特征在于,包括以下步驟:
步驟S1、在業(yè)務(wù)系統(tǒng)中發(fā)布寬表生成的配置規(guī)則并保存;
配置規(guī)則包括驅(qū)動表的存儲結(jié)構(gòu)和被驅(qū)動表的存儲結(jié)構(gòu),驅(qū)動表的存儲結(jié)構(gòu)包括寬表名稱、寬表中各驅(qū)動表、驅(qū)動表對應(yīng)的關(guān)聯(lián)鍵、驅(qū)動表需要查詢的字段以及join引起的數(shù)據(jù)延遲時間,被驅(qū)動表的存儲結(jié)構(gòu)包括寬表名稱、寬表中各被驅(qū)動表、被驅(qū)動表對應(yīng)的關(guān)聯(lián)鍵以及被驅(qū)動表需要查詢的字段;
步驟S2、對Mysql數(shù)據(jù)庫中的Binlog數(shù)據(jù)進(jìn)行抓取、轉(zhuǎn)化并寫入kafka處理平臺中;
一個Mysql數(shù)據(jù)庫的數(shù)據(jù)表對應(yīng)kafka處理平臺的一個數(shù)據(jù)流集合,并建立Mysql數(shù)據(jù)庫的數(shù)據(jù)表和數(shù)據(jù)流集合的映射關(guān)系;
步驟S3、加載配置規(guī)則,從kafka處理平臺中獲取Binlog數(shù)據(jù),由flink流處理引擎實(shí)時計算并生成寬表數(shù)據(jù);
所述步驟S3具體包括:步驟S31、由配置規(guī)則解析出Binlog數(shù)據(jù)對應(yīng)的驅(qū)動表和被驅(qū)動表,根據(jù)映射關(guān)系在flink流處理引擎中生成數(shù)據(jù)源,由數(shù)據(jù)源形成多個數(shù)據(jù)流;步驟S32、由配置規(guī)則中的關(guān)聯(lián)鍵將數(shù)據(jù)流依次連接形成一個鏈?zhǔn)降膉oin流程,形成多流join的邏輯計劃,由flink流處理引擎將邏輯計劃轉(zhuǎn)化為物理執(zhí)行計劃;步驟S33、通過自定義數(shù)據(jù)Sink,將物理執(zhí)行計劃生成的數(shù)據(jù)寫入搜索服務(wù)器中以供數(shù)據(jù)查詢;
所述一個鏈?zhǔn)降膉oin流程的形成方法具體包括:步驟S321,將輸入的驅(qū)動表的數(shù)據(jù)流與第一個被驅(qū)動表的數(shù)據(jù)流關(guān)聯(lián)形成連接流,再通過關(guān)聯(lián)鍵進(jìn)行hash分區(qū),將數(shù)據(jù)流中基于相同關(guān)聯(lián)鍵的數(shù)據(jù)分發(fā)至數(shù)據(jù)流集合的同一個par tition中;步驟S322、采用延遲關(guān)聯(lián)技術(shù)處理所述驅(qū)動表和被驅(qū)動表的數(shù)據(jù),處理驅(qū)動表的數(shù)據(jù)時將驅(qū)動表和與驅(qū)動表相關(guān)聯(lián)的被驅(qū)動表數(shù)據(jù)同時存放至flink流處理引擎的存儲后端中,然后在驅(qū)動表的數(shù)據(jù)上注冊一個定時器,當(dāng)定時器觸發(fā)時對驅(qū)動表的數(shù)據(jù)流和被驅(qū)動表的數(shù)據(jù)流關(guān)聯(lián)并將關(guān)聯(lián)好的連接流數(shù)據(jù)發(fā)送至下游;步驟S323、所述關(guān)聯(lián)好的連接流繼續(xù)關(guān)聯(lián)被驅(qū)動表的數(shù)據(jù)直至關(guān)聯(lián)至最后一個被驅(qū)動表,最終形成一個大寬表的邏輯構(gòu)建;
步驟S4、將生成的寬表數(shù)據(jù)存儲至服務(wù)器中并經(jīng)搜索引擎提供數(shù)據(jù)查詢。
2.根據(jù)權(quán)利要求1所述的一種OLTP領(lǐng)域多表join查詢的方法,其特征在于,所述步驟S2中,將抓取的binlog數(shù)據(jù)轉(zhuǎn)化為json格式并寫入kafka處理平臺中。
3.根據(jù)權(quán)利要求1所述的一種OLTP領(lǐng)域多表join查詢的方法,其特征在于,所述存儲后端為RocksDB存儲引擎。
4.根據(jù)權(quán)利要求1所述的一種OLTP領(lǐng)域多表join查詢的方法,其特征在于,所述搜索引擎為Elasticsearch搜索引擎。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中建電子商務(wù)有限責(zé)任公司,未經(jīng)中建電子商務(wù)有限責(zé)任公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210890452.6/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 針對聯(lián)機(jī)事務(wù)處理應(yīng)用的跨機(jī)型容量規(guī)劃方法
- 從數(shù)據(jù)庫操作審核交易數(shù)據(jù)的方法和系統(tǒng)
- 用于組合OLTP數(shù)據(jù)庫和OLAP數(shù)據(jù)庫環(huán)境的計算機(jī)方法和系統(tǒng)
- 混合OLTP和OLAP高性能數(shù)據(jù)庫系統(tǒng)
- 用于基于列的數(shù)據(jù)庫的列智能機(jī)制
- 一種OLTP系統(tǒng)的參數(shù)測試方法及裝置
- OLTP與OLAP一體化的汽車金融大數(shù)據(jù)系統(tǒng)
- 一種數(shù)據(jù)處理系統(tǒng)、方法及設(shè)備
- 基于OLTPShare的OLTP事務(wù)結(jié)合規(guī)則與隊列模型改進(jìn)方法
- 一種基于CDC實(shí)現(xiàn)數(shù)據(jù)庫數(shù)據(jù)同步并讀寫分離的方法
- 多VLAN注冊協(xié)議報文沿多生成樹實(shí)例轉(zhuǎn)發(fā)的方法和設(shè)備
- 一種基于動態(tài)VLAN注冊協(xié)議的CFD實(shí)現(xiàn)方法和設(shè)備
- 一種分布式數(shù)據(jù)庫SQL執(zhí)行中INNER JOIN的智能評估方法
- 一種基于Fork/Join框架的梯級水庫群優(yōu)化調(diào)度多核并行計算設(shè)計方法
- 一種基于E?R分片策略的智能電網(wǎng)跨節(jié)點(diǎn)join方法
- 一種用歸并算法計算一對一join、一對多join的方法
- 一種面向移動端對象代理數(shù)據(jù)庫關(guān)聯(lián)查詢的優(yōu)化方法
- 流數(shù)據(jù)與維表關(guān)聯(lián)方法及流計算裝置
- 基于事件心跳和多版本的Flink流維Join通用處理方法
- 一種表連接查詢方法、裝置及存儲介質(zhì)





