[發(fā)明專利]一種數(shù)據(jù)庫實時增量復制軟件中利用Apriori算法對并行入庫進行智能分組優(yōu)化的技術在審
| 申請?zhí)枺?/td> | 201610321502.3 | 申請日: | 2016-05-11 |
| 公開(公告)號: | CN107368505A | 公開(公告)日: | 2017-11-21 |
| 發(fā)明(設計)人: | 鄧方 | 申請(專利權)人: | 鄧方;韋偉 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 210042 江蘇省*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數(shù)據(jù)庫 實時 增量 復制 軟件 利用 apriori 算法 并行 入庫 進行 智能 分組 | ||
技術領域
本發(fā)明從屬于數(shù)據(jù)庫增量復制技術領域,特別是關系型數(shù)據(jù)庫應用領域。
技術背景
在企業(yè)信息應用環(huán)境中,經常會出現(xiàn)需要將一個應用環(huán)境中的數(shù)據(jù)移動到另一個應用環(huán)境中以供處理或使用的需求。而且在很多場景中,這樣的需求還有很高的實時性要求,并且數(shù)據(jù)量往往還會很大。這一需求催生了一批基于觸發(fā)器或者基于數(shù)據(jù)庫事務日志獲取源數(shù)據(jù)庫變化信息,并把變化拷貝到目標數(shù)據(jù)庫重新執(zhí)行的軟件。我們稱之為實時增量數(shù)據(jù)復制軟件,或者實時增量數(shù)據(jù)同步軟件。其采取的技術相應的被稱之為實時增量數(shù)據(jù)復制技術或者實時增量數(shù)據(jù)同步技術。
為了保證數(shù)據(jù)業(yè)務邏輯的完整性一致性,所有的數(shù)據(jù)庫都會使用事務來控制數(shù)據(jù)的修改。一個事務可以包含一個或多個修改,包含在同一個事務中的所有修改命令必須同時執(zhí)行成功提交,如果有一條命令執(zhí)行失敗,這個事務中包含的修改命令都必須回退到事務開始前狀態(tài)。復制軟件為了保證復制到目標數(shù)據(jù)庫的變化和源數(shù)據(jù)庫完全相同,修改命令在目標數(shù)據(jù)庫重做的順序必須和在源數(shù)據(jù)庫執(zhí)行的順序必須保持完全一致。在數(shù)據(jù)量很大并且數(shù)據(jù)變化頻繁的環(huán)境中,這就帶來了性能問題。因為源數(shù)據(jù)庫往往是一個存在大量并發(fā)的并行系統(tǒng),有大量的用戶連接在數(shù)據(jù)庫上同時執(zhí)行各種修改事務。而在目標數(shù)據(jù)庫上,數(shù)據(jù)復制軟件為了數(shù)據(jù)和源數(shù)據(jù)庫完全一致,必須保留原事務的信息并保持變化事務重新執(zhí)行的順序,故復制軟件通常只建立一個到目標數(shù)據(jù)庫的連接串行執(zhí)行,性能極差。為了解決這個問題,部分數(shù)據(jù)復制軟件提供了多連接并行執(zhí)行的功能,通過建立多個到目標數(shù)據(jù)庫的連接來并行執(zhí)行修改命令。但是由于不同的事務之間可能修改相同的表,即使是在不同的數(shù)據(jù)庫連接上執(zhí)行的命令,為了保持執(zhí)行的順序,經常也需要進行等待,這樣即使建立了多個數(shù)據(jù)庫連接,最后變化命令在目標數(shù)據(jù)庫仍然是串行執(zhí)行的。雖然有些復制軟件進一步提供了事務分組功能,可以用戶對事務按照一些參數(shù),比如說在源數(shù)據(jù)庫執(zhí)行的用戶名等,進行分組,讓不同組的變化事務在不同的數(shù)據(jù)庫連接上執(zhí)行,這樣可以盡量減少事務執(zhí)行間的等待。但是確定如何分組是一件很困難的工作,用戶往往也并不知道該如何進行分組,故實際使用的效果仍然很差。
本發(fā)明正是針對上述問題,采用Apriori算法對事務中的表進行關聯(lián)分析,達到復制修改命令在目標數(shù)據(jù)庫并行執(zhí)行的性能最優(yōu)化。
目前相關領域尚未檢索到與本發(fā)明相同的解決方案及系統(tǒng)實現(xiàn)。
發(fā)明內容
復制軟件在平時運行過程中,采集相應的性能統(tǒng)計信息,如事務編號及每個事務包含的表名并保存。
運用Apriori算法對保存的事務信息進行分析,計算各個數(shù)據(jù)庫表在同一個事務中出現(xiàn)的概率,從而找出表與表之間的關聯(lián)關系。通過表之間的關聯(lián)關系,將關聯(lián)支持度大于預先設置的最小支持度的表集集合做為事務分組的基本依據(jù),再結合表集出現(xiàn)的頻率,把包含不同表集的事務智能分配到不同的數(shù)據(jù)庫連接上,從而不同連接上執(zhí)行的命令之間的干擾減到最小,從而充分利用多數(shù)據(jù)庫連接并行執(zhí)行來提高數(shù)據(jù)復制的性能。
附圖說明
圖1為并行數(shù)據(jù)庫連接下事務等待示意圖,演示了復制軟件即使建立了多個目標數(shù)據(jù)庫連接但是仍然只能串行執(zhí)行命令的一種情況。圖中復制軟件建立了兩個到目標數(shù)據(jù)庫的連接。在源數(shù)據(jù)庫中,依次執(zhí)行了Tran1、Tran2、Tran3、Tran4四個事務,其中Tran2、Tran3、Tran4都修改了T2這張表。當復制軟件在目標數(shù)據(jù)庫執(zhí)行命令的時候,把Tran1、Tran2分配給第一個連接執(zhí)行,把Tran3、Tran4分配給第二個連接執(zhí)行。因為Tran2和Tran3修改了同一張表,如果Tran1執(zhí)行速度很慢,為了保持事務提交的順序和 源數(shù)據(jù)庫完全一致,第二個連接即使空閑,也不能執(zhí)行Tran3,而是必須等待Tran2執(zhí)行完成之后才能執(zhí)行。此時雖然有多個數(shù)據(jù)庫連接,但事務的執(zhí)行還是串行的。
圖2為使用Apriori關聯(lián)分析優(yōu)化數(shù)據(jù)庫事務在并行數(shù)據(jù)庫連接上的分配示意圖。復制軟件從源數(shù)據(jù)庫讀取事務信息,將事務信息保存到事務記錄表中。在積累了一定量的數(shù)據(jù)之后,啟動分析引擎分析事務記錄,獲得最終頻繁表集的集合,每個表集包含若干個有強關聯(lián)性的表。將這些信息存儲到連接配置表中。復制軟件向目標數(shù)據(jù)庫復制數(shù)據(jù)時,將事務中的表名去匹配連接配置表中的表名,從而決定將該事務分配到哪個連接上去執(zhí)行。
具體實施方式
復制軟件在平時運行過程中,采集相應的性能統(tǒng)計信息,如事務編號及每個事務包含的表名,保存到事務記錄表中。
事務記錄表基本內容如下表所示:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄧方;韋偉,未經鄧方;韋偉許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610321502.3/2.html,轉載請聲明來源鉆瓜專利網。
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對象復制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設備及存儲介質
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置





