• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種數據同步中主鍵沖突的處理方法及裝置制造方法及圖紙

    技術編號:38218388 閱讀:17 留言:0更新日期:2023-07-25 11:29
    本發明專利技術涉及一種數據同步中主鍵沖突的處理方法及裝置。本方法包括首先進行主鍵沖突策略配置,其中包含不同的主鍵沖突處理機制,然后選擇已有的目標端數據表或自動新建目標端數據表,并根據選擇的主鍵沖突處理機制構造與之相應的數據插入SQL語句,最后執行該數據插入SQL語句完成數據同步。本方法優化了數據插入方式,避免了先插入,后檢測主鍵沖突帶來的插入效率低下問題,提高了插入效率,同時還能很好地解決周期性運行的數據同步任務主鍵沖突問題。另外,本方法可以實現批量沖突數據的覆蓋或忽略,提高了主鍵沖突場景下數據同步的效率,且不需要人為處理數據,適用性廣,同時也不需要對目標端數據表的結構進行任何改動,操作安全性更高。作安全性更高。作安全性更高。

    【技術實現步驟摘要】
    一種數據同步中主鍵沖突的處理方法及裝置


    [0001]本專利技術屬于數據同步
    ,尤其涉及一種數據同步中主鍵沖突的處理方法及裝置。

    技術介紹

    [0002]隨著信息化技術的不斷發展及對數據價值的逐漸重視,越來越多的企業和政府部門意識到業務不集中、流程不互通、數據不共享造成的“數據孤島”現象給企業和政府部門進行數據的分析利用、分析挖掘帶來了巨大困難。而解決“數據孤島”的第一步便是將相互分離的各個業務系統或部門的數據匯聚在一起,建立一個統一的數據采集、處理、共享中心,這個過程中使用到的數據處理方法之一就是數據同步技術。
    [0003]在數據同步技術實際應用過程中,會將不同網絡、不同操作平臺、不同數據庫和數據格式、不同應用中的數據從源端抽取到目標端。在這個過程中,由于關系型數據庫存在目標端數據表(目標端表)的索引約束設置,如主鍵約束、唯一約束等,因而當向目標端表受約束的字段重復寫入相同數據時,便會產生主鍵沖突現象,例如:
    [0004]場景一:將多個數據表中的數據匯聚到一張表,如上游兩個庫,分別都有department_info表,表中均存在id=5的數據,而下游的目標端表剛好對id字段設置了主鍵約束,就會在數據同步往目標端表寫入數據的過程中出現主鍵沖突。
    [0005]場景二:全量導入數據到目標端表時,目標端表已存在id=5的數據,而該目標端表剛好對id字段設置了主鍵約束,就會在數據同步往目標端表寫入數據的過程中出現主鍵沖突。
    [0006]目前,針對關系型數據庫數據同步過程中出現的主鍵沖突問題,現有處理方法主要是利用數據同步工具,在數據同步過程中發生主鍵沖突時,由程序進行報錯提示或者進行臟數據收集,然后由數據操作人員根據報錯信息手動對數據同步的上游重復數據進行處理,或者對下游目標端表中的主鍵索引約束或者唯一索引約束進行修改或刪除。
    [0007]然而,上述處理方式存在以下問題:
    [0008](1)根據報錯信息人工操作調整相關數據,效率低,由于無法批量實現沖突數據的覆蓋或忽略,因此對于出現大量數據沖突的場景并不適用。
    [0009](2)目標端表往往是其他組織或部門所有,嚴格限制了數據表的操作權限,因此無法對目標端表結構進行隨意調整。
    [0010](3)數據同步任務往往具有周期性運行的特點,現有處理方式無法規避周期性運行的數據同步任務出現主鍵沖突的問題。

    技術實現思路

    [0011]為了解決現有方法存在的上述問題,本專利技術提出了一種新的數據同步中主鍵沖突處理方法。
    [0012]概括來說,本專利技術方法的技術構思與處置策略如下:
    [0013]1、在進行數據同步任務目標端配置時設置可選的主鍵沖突策略,主鍵沖突策略包括但不限于如下處理機制:遇主鍵沖突忽略、遇主鍵沖突更新、遇主鍵沖突終止。
    [0014]2、若選擇對目標端配置主鍵沖突策略,則在選擇目標端數據表時會進行限制,當選擇已存在的數據表時,會對數據同步任務的目標端表進行檢測,校驗是否存在主鍵約束或者唯一約束;當選擇的數據表不存在時,在自動建表環節會強制要求進行主鍵配置。
    [0015]3、根據選擇的主鍵沖突處理機制,預先構造不同的數據插入SQL語句,數據同步過程中,會使用上述構造的數據插入SQL語句進行數據的寫入。
    [0016]具體而言,首先,本專利技術提供了一種數據同步中主鍵沖突的處理方法,所述方法包括:
    [0017]S1.在數據同步任務選擇目標端數據庫類型和數據庫之后,選擇數據表之前,進行主鍵沖突策略配置,所述主鍵沖突策略中包含不同的主鍵沖突處理機制;
    [0018]S2.選擇已有的目標端數據表或自動新建目標端數據表;
    [0019]S3.根據選擇的主鍵沖突處理機制構造與之相應的數據插入SQL語句;
    [0020]S4.執行上步構造的數據插入SQL語句,完成數據同步。
    [0021]以下就各步驟進行詳細描述:
    [0022]S1.主鍵沖突策略配置
    [0023]作為數據同步系統,都需要進行數據同步任務的配置,包括配置源端和目標端的相關信息,對于目標端而言,一般需要配置包括數據庫類型、數據庫、數據表等基礎信息。
    [0024]由于主鍵沖突是發生在往目標端數據表寫入數據的過程中,因此本方案設計的主鍵沖突策略配置步驟,安排在數據同步任務選擇目標端數據庫類型和數據庫之后,選擇數據表之前。
    [0025]本方案中,主鍵沖突策略配置設計為開關形式,默認情況下是關閉該配置的,關閉該配置的情形下,數據的插入SQL語句采用常規的insert into語法,其形式如下:
    [0026]INSERT INTO table_name(column1,column2,column3,...)VALUES(value1,value2,value3,...);
    [0027]當主鍵沖突策略配置為打開情形時,提供了以下三種主鍵沖突處理機制:遇主鍵沖突更新、遇主鍵沖突忽略、遇主鍵沖突終止。
    [0028](1)遇主鍵沖突更新
    [0029]在數據同步過程中,當源端的數據插入到目標端表發生主鍵沖突時,用源端的插入數據覆蓋目標端表的數據。
    [0030](2)遇主鍵沖突忽略
    [0031]在數據同步過程中,當源端的數據插入到目標端表發生主鍵沖突時,忽略源端的插入數據,以目標端表的數據為準。
    [0032](3)遇主鍵沖突終止
    [0033]在數據同步過程中,當源端的數據插入到目標端表發生主鍵沖突時,數據同步任務中止并直接報錯,用戶需要手動處理沖突后才能繼續數據同步任務。
    [0034]并且,在主鍵沖突策略配置為打開的情形下,需要強制選擇一種主鍵沖突處理機制。
    [0035]S2.選擇已有的目標端數據表或自動新建目標端數據表
    [0036]在配置好主鍵沖突策略后,接下來就要選擇要寫入的目標端數據表,此時存在兩種情形:目標端數據表存在和不存在。
    [0037](1)目標端數據表存在
    [0038]當選擇的目標端數據表存在時,由于配置了主鍵沖突策略,因此會對此時的目標端數據表進行檢測,校驗該數據表是否存在主鍵約束或者唯一約束,只有存在主鍵約束或者唯一約束的目標端數據表才符合任務配置的需要,記錄該數據表的主鍵約束或者唯一約束字段。對于不存在主鍵約束或者唯一約束的目標端數據表,系統給予提示。
    [0039](2)目標端數據表不存在
    [0040]當選擇的目標端數據表不存在時,會觸發自動建表步驟,并且由于配置了主鍵沖突策略,在自動建表過程中,需要指定目標端的某一個字段或者某幾個字段組成聯合主鍵約束。
    [0041]在自動建表過程中,首先依據源端數據源類型、字段名稱、字段類型以及目標端數據源類型,按照預先定義的字段映射規則,自動生成目標端的字段列表(包含字段英文名、字段中文名、字段類型和字段長度/精度)。另外,用戶可根據應用需要,對目標端的字段進行增加、刪除、調整,還可以新增分區字段。接下來,根據主鍵沖突策略,強制本文檔來自技高網
    ...

    【技術保護點】

    【技術特征摘要】
    1.一種數據同步中主鍵沖突的處理方法,其特征在于,所述方法包括:S1.在數據同步任務選擇目標端數據庫類型和數據庫之后,選擇數據表之前,進行主鍵沖突策略配置,所述主鍵沖突策略中包含不同的主鍵沖突處理機制;S2.選擇已有的目標端數據表或自動新建目標端數據表;S3.根據選擇的主鍵沖突處理機制構造與之相應的數據插入SQL語句;S4.執行上步構造的數據插入SQL語句,完成數據同步。2.根據權利要求1所述的數據同步中主鍵沖突的處理方法,其特征在于,步驟S1中所述主鍵沖突策略配置包括以下三種主鍵沖突處理機制:(1)遇主鍵沖突更新:在數據同步過程中,當源端的數據插入到目標端表發生主鍵沖突時,用源端的插入數據覆蓋目標端表的數據;(2)遇主鍵沖突忽略:在數據同步過程中,當源端的數據插入到目標端表發生主鍵沖突時,忽略源端的插入數據,以目標端表的數據為準;(3)遇主鍵沖突終止:在數據同步過程中,當源端的數據插入到目標端表發生主鍵沖突時,數據同步任務中止并直接報錯,用戶需要手動處理沖突后才能繼續數據同步任務。3.根據權利要求2所述的數據同步中主鍵沖突的處理方法,其特征在于,步驟S1中所述主鍵沖突策略配置設計為開關形式,默認關閉該配置;當該配置關閉的情形下,數據的插入SQL語句采用常規的insertinto語法;當該配置打開的情形下,則必須強制選擇一種主鍵沖突處理機制。4.根據權利要求1所述的數據同步中主鍵沖突的處理方法,其特征在于,步驟S2中所述選擇已有的目標端數據表或自動新建目標端數據表,當選擇已有的目標端數據表時,主鍵沖突策略先對該目標端數據表進行檢測,校驗該數據表是否存在主鍵約束或者唯一約束,存在主鍵約束或者唯一約束的目標端數據表符合任務配置的需要,記錄該數據表的主鍵約束或者唯一約束字段,對于不存在主鍵約束或者唯一約束的目標端數據表,系統給予提示。5.根據權利要求1所述的數據同步中主鍵沖突的處理方法,其特征在于,步驟S2中所述選擇已有的目標端數據表或自動新建目標端數據表,所述自動新建目標端數據表包括以下步驟:S21.首先依據源端數據源類型、字段名稱、字段類型以及目標端數據源類型,按照預先定義的字段映射規則,自動生成目標端字段列表,所述目標端字段列表中包含字段英文名、字段中文名、字段類型和字段長度/精度;S22.用戶根據應用需要,對目標端的字段進行增加、刪除、調整,或者新增分...

    【專利技術屬性】
    技術研發人員:彭壯,
    申請(專利權)人:中電云數智科技有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 免费a级毛片无码a∨免费软件 | 国产日产欧洲无码视频无遮挡| 色综合久久久无码网中文| 人妻丰满熟妇岳AV无码区HD| 国产精品成人一区无码| 精品亚洲AV无码一区二区三区| 下载天堂国产AV成人无码精品网站| 亚洲国产精品无码久久SM| 日韩人妻无码免费视频一区二区三区 | 无码任你躁久久久久久| 亚洲AV无码久久精品色欲| 午夜成人无码福利免费视频| 亚洲午夜无码毛片av久久京东热| 中文字幕丰满乱子伦无码专区| 国产精品无码专区在线播放| 精品欧洲AV无码一区二区男男| 午夜不卡无码中文字幕影院| 人妻丰满熟妇aⅴ无码| 无码国产亚洲日韩国精品视频一区二区三区 | 亚洲AV无码一区二区二三区软件| 亚洲av无码乱码在线观看野外| 亚洲中文字幕无码av| 精品亚洲AV无码一区二区三区| 无码国产福利av私拍| 亚洲AV无码精品无码麻豆| 亚洲精品无码专区久久久| 成人无码A区在线观看视频| 永久无码精品三区在线4| 无码人妻少妇久久中文字幕| 性色av无码不卡中文字幕| 无码专区HEYZO色欲AV| 精品久久久久久无码中文字幕一区| 无码av人妻一区二区三区四区| 久久无码人妻一区二区三区午夜| 无码乱人伦一区二区亚洲| 91久久精品无码一区二区毛片| av区无码字幕中文色| 精品久久久久久无码中文野结衣 | 西西人体444www大胆无码视频| 少妇无码AV无码专区线| 国产在线无码视频一区|