[發(fā)明專利]一種基于事務(wù)合并的并行執(zhí)行方法及設(shè)備在審
| 申請?zhí)枺?/td> | 202111501971.0 | 申請日: | 2021-12-09 |
| 公開(公告)號: | CN114296885A | 公開(公告)日: | 2022-04-08 |
| 發(fā)明(設(shè)計)人: | 孫峰;余院蘭;彭青松;劉啟春 | 申請(專利權(quán))人: | 武漢達(dá)夢數(shù)據(jù)庫股份有限公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46;G06F9/445;G06F16/22;G06F16/242;G06F16/27 |
| 代理公司: | 深圳市六加知識產(chǎn)權(quán)代理有限公司 44372 | 代理人: | 向彬 |
| 地址: | 430000 湖北省武漢市東湖新技術(shù)開*** | 國省代碼: | 湖北;42 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 事務(wù) 合并 并行 執(zhí)行 方法 設(shè)備 | ||
本發(fā)明涉及一種基于事務(wù)合并的并行執(zhí)行方法及設(shè)備。其方法部分主要包括:表操作信息建立步驟;將單事務(wù)合并為多事務(wù)且設(shè)置多事務(wù)的提交LSN、并行LSN以及起始LSN,并將多事務(wù)注冊到執(zhí)行線程鏈表;單事務(wù)處理步驟;通過對提交操作的判斷、表操作信息的沖突檢測、并行LSN的判斷以及起始LSN的判斷來進(jìn)入相對應(yīng)的步驟;線程提交步驟。本發(fā)明采用的方法可以進(jìn)行并行處理方法上的優(yōu)化,以提升多事務(wù)執(zhí)行的并行度,從而提升數(shù)據(jù)同步的性能。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫數(shù)據(jù)處理技術(shù)領(lǐng)域,特別是涉及一種基于事務(wù)合并的并行執(zhí)行方法及設(shè)備。
背景技術(shù)
目前基于日志解析的異構(gòu)數(shù)據(jù)庫復(fù)制技術(shù)應(yīng)用廣泛。這種技術(shù)在源端捕捉數(shù)據(jù)庫的日志,解析出日志中的INSERT、UPDATE、DELETE操作,然后發(fā)送到目標(biāo)端,目標(biāo)端對日志信息進(jìn)行逆向生成,恢復(fù)成SQL語句方式,然后使用數(shù)據(jù)庫通用接口,應(yīng)用到目標(biāo)數(shù)據(jù)庫,實(shí)現(xiàn)數(shù)據(jù)復(fù)制。因此,在數(shù)據(jù)庫實(shí)時復(fù)制過程中,目標(biāo)端的執(zhí)行效率是影響數(shù)據(jù)同步性能的重要因素之一。
目標(biāo)端數(shù)據(jù)庫上執(zhí)行同步事務(wù)時,需要以事務(wù)的提交順序為基準(zhǔn)來執(zhí)行事務(wù)操作,不然前后有關(guān)聯(lián)的操作執(zhí)行時就會發(fā)生錯誤,從而影響同步的正確性。為了追求數(shù)據(jù)同步的性能,執(zhí)行同步事務(wù)時往往會采取事務(wù)合并的策略,把小事務(wù)合并為大事務(wù),不僅可以通過合并不同事務(wù)的相同操作來減少執(zhí)行的次數(shù),還可以減少事務(wù)提交的次數(shù),從而達(dá)到提升同步性能的目的。另外還可以通過增加執(zhí)行事務(wù)的線程數(shù),采用多線程并行的策略同時對多個合并以后的事務(wù)進(jìn)行入庫,進(jìn)一步的提升同步的性能。但是在同時采用了事務(wù)合并和并行執(zhí)行的策略以后,還需要防范和解決并行執(zhí)行時帶來的數(shù)據(jù)沖突問題,確保數(shù)據(jù)同步的一致性,不然得不償失。
為了陳述方便,本發(fā)明將源端日志中的事務(wù)稱為“單事務(wù)”,多個單事務(wù)合并以后形成的事務(wù)稱為“多事務(wù)”。
現(xiàn)有技術(shù)中,在數(shù)據(jù)庫運(yùn)行時,每個單事務(wù)中的操作涉及的表有可能都不一樣,把這些單事務(wù)合并成多事務(wù)以后,合并成的多事務(wù)涉及的表就是它包含單事務(wù)中涉及表的一個集合,那么在多事務(wù)并行執(zhí)行時就會造成數(shù)據(jù)的沖突。如果不對單事務(wù)進(jìn)行合并,那些涉及不同表的單事務(wù)就可以并行執(zhí)行,這些原本可以并行執(zhí)行的單事務(wù)合并成多事務(wù)以后反而降低了并行執(zhí)行的并行度,從而降低了同步的效率,這種降低可能會抵銷掉事務(wù)合并帶來的性能提升效果。
鑒于此,如何克服現(xiàn)有技術(shù)所存在的缺陷,解決上述技術(shù)問題,是本技術(shù)領(lǐng)域待解決的難題。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供一種基于事務(wù)合并的并行執(zhí)行方法及設(shè)備,針對現(xiàn)有技術(shù)中單事務(wù)并成多事務(wù)以后反而降低了并行執(zhí)行的并行度,從而降低了同步效率的問題,對其進(jìn)行并行處理方法上的優(yōu)化,以提升多事務(wù)執(zhí)行的并行度,從而提升數(shù)據(jù)同步的性能。
本發(fā)明實(shí)施例采用如下技術(shù)方案:
第一方面,本發(fā)明提供了一種基于事務(wù)合并的并行執(zhí)行方法,包括:
表操作信息建立步驟:獲取當(dāng)前操作涉及的表名,判斷當(dāng)前事務(wù)中是否已經(jīng)存在該表的表操作信息,若不存在,則把當(dāng)前操作的表名和當(dāng)前操作結(jié)合再與當(dāng)前操作的LSN進(jìn)行關(guān)聯(lián)后形成表操作信息存入當(dāng)前事務(wù);
將單事務(wù)合并為多事務(wù)且設(shè)置多事務(wù)的提交LSN、并行LSN以及起始LSN,并將多事務(wù)注冊到執(zhí)行線程鏈表;
單事務(wù)處理步驟:執(zhí)行線程提取多事務(wù)中的下一個單事務(wù)開始執(zhí)行;
通過對提交操作的判斷、表操作信息的沖突檢測、并行LSN的判斷以及起始LSN的判斷來進(jìn)入相對應(yīng)的步驟;
線程提交步驟:判斷當(dāng)前單事務(wù)是否為最后一個單事務(wù),若是則執(zhí)行線程提交操作;若不是則重新進(jìn)入單事務(wù)處理步驟。
進(jìn)一步的,還包括部署準(zhǔn)備步驟:
在源端數(shù)據(jù)庫以及目標(biāo)端數(shù)據(jù)庫均部署數(shù)據(jù)同步服務(wù);
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于武漢達(dá)夢數(shù)據(jù)庫股份有限公司,未經(jīng)武漢達(dá)夢數(shù)據(jù)庫股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111501971.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種事務(wù)處理的方法和裝置
- 分布式事務(wù)處理方法與系統(tǒng)
- 一種融合原生事務(wù)和邏輯事務(wù)的方法
- 用于聚結(jié)內(nèi)存事務(wù)的方法和系統(tǒng)
- 事務(wù)處理方法、事務(wù)參與節(jié)點(diǎn)及事務(wù)協(xié)調(diào)節(jié)點(diǎn)
- 跨進(jìn)程分布式事務(wù)控制方法及相關(guān)系統(tǒng)
- 一種分布式事務(wù)管理方法及系統(tǒng)
- 一種分布式事務(wù)處理的智能監(jiān)控方法及服務(wù)器
- 分布式事務(wù)處理方法及裝置
- 讀寫事務(wù)控制方法、系統(tǒng)、終端設(shè)備及存儲介質(zhì)





