[發(fā)明專利]數(shù)據(jù)遷移的方法和裝置在審
| 申請(qǐng)?zhí)枺?/td> | 201710334373.6 | 申請(qǐng)日: | 2017-05-12 |
| 公開(kāi)(公告)號(hào): | CN108874828A | 公開(kāi)(公告)日: | 2018-11-23 |
| 發(fā)明(設(shè)計(jì))人: | 潘新宇 | 申請(qǐng)(專利權(quán))人: | 北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司 |
| 主分類號(hào): | G06F17/30 | 分類號(hào): | G06F17/30 |
| 代理公司: | 中原信達(dá)知識(shí)產(chǎn)權(quán)代理有限責(zé)任公司 11219 | 代理人: | 張一軍;趙靜 |
| 地址: | 100195 北京市海淀區(qū)杏石口路6*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 源數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù) 方法和裝置 數(shù)據(jù)遷移 同步流程 遷移率 同步的 遷移 變更 數(shù)據(jù)庫(kù)數(shù)據(jù) 數(shù)據(jù)發(fā)生 度計(jì)算 用戶維 監(jiān)聽(tīng) 更新 改進(jìn) | ||
本發(fā)明涉及一種數(shù)據(jù)遷移的方法和裝置,所述方法包括全量同步流程,并且此外還可包括基于binlog機(jī)制的增量同步流程。通過(guò)該方法可實(shí)現(xiàn)數(shù)據(jù)庫(kù)數(shù)據(jù)的無(wú)丟失的遷移,并且改進(jìn)了遷移的性能。該方法包括:將源數(shù)據(jù)庫(kù)中的數(shù)據(jù)全量同步至新數(shù)據(jù)庫(kù);在所述全量同步的過(guò)程中,監(jiān)聽(tīng)所述源數(shù)據(jù)庫(kù)中數(shù)據(jù)的變更情況,若所述源數(shù)據(jù)庫(kù)中的數(shù)據(jù)發(fā)生變更,則將所述新數(shù)據(jù)庫(kù)中對(duì)應(yīng)的已實(shí)現(xiàn)同步的數(shù)據(jù)進(jìn)行更新;按照用戶維度計(jì)算遷移率,當(dāng)某用戶的數(shù)據(jù)的遷移率達(dá)到100%時(shí),將所述某用戶對(duì)應(yīng)的數(shù)據(jù)庫(kù)從源數(shù)據(jù)庫(kù)切換至新數(shù)據(jù)庫(kù)。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,具體地涉及一種數(shù)據(jù)遷移的方法和裝置。
背景技術(shù)
伴隨著互聯(lián)網(wǎng)相關(guān)業(yè)務(wù)不斷涌現(xiàn),有的業(yè)務(wù)得到了快速迅猛的發(fā)展,原有的數(shù)據(jù)庫(kù)存儲(chǔ)以及表結(jié)構(gòu)設(shè)計(jì)已經(jīng)不能滿足業(yè)務(wù)的需求。為了滿足業(yè)務(wù)的正常發(fā)展以及數(shù)據(jù)存儲(chǔ)、表結(jié)構(gòu)的問(wèn)題需要建立一套全新數(shù)據(jù)庫(kù),其能夠容納海量數(shù)據(jù)存儲(chǔ),并且需要對(duì)有設(shè)計(jì)缺陷的表結(jié)構(gòu)進(jìn)行重新設(shè)計(jì)。該新設(shè)計(jì)的數(shù)據(jù)庫(kù)表結(jié)構(gòu)相對(duì)于原數(shù)據(jù)庫(kù)結(jié)構(gòu)稱之為異構(gòu)結(jié)構(gòu)。對(duì)于這種異構(gòu)數(shù)據(jù)庫(kù),需要有一種方法來(lái)將用戶數(shù)據(jù)從原數(shù)據(jù)庫(kù)遷移到新數(shù)據(jù)庫(kù)上。
現(xiàn)有的數(shù)據(jù)遷移方法基于輪詢同步,也就是說(shuō),對(duì)于數(shù)據(jù)庫(kù)表中的每一條記錄的修改時(shí)間進(jìn)行輪詢同步,如果修改時(shí)間晚于上一次同步時(shí)記錄的時(shí)間,則進(jìn)行同步。但是將修改時(shí)間和上一次同步時(shí)記錄的時(shí)間進(jìn)行比對(duì)來(lái)判斷數(shù)據(jù)是否已經(jīng)同步會(huì)導(dǎo)致很多已同步的數(shù)據(jù)重復(fù)同步,從而產(chǎn)生很多無(wú)效同步,這降低了同步性能。
根據(jù)時(shí)間的同步方案,對(duì)于時(shí)間的精度和一致性要求較高。如果時(shí)間的精度(秒或者毫秒)不同或者兩臺(tái)機(jī)器時(shí)鐘不同步,那么會(huì)導(dǎo)致數(shù)據(jù)的丟失。時(shí)鐘同步和精度在大部分情況下很難保證一致精準(zhǔn),從而在根據(jù)時(shí)間的同步方案中,數(shù)據(jù)丟失的風(fēng)險(xiǎn)很大,不能滿足互聯(lián)網(wǎng)業(yè)務(wù)遷移的需求。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實(shí)施例提供一種數(shù)據(jù)遷移的方法及裝置,其能夠在不出現(xiàn)數(shù)據(jù)丟失、數(shù)據(jù)延遲等的情況下進(jìn)行數(shù)據(jù)遷移,不會(huì)讓用戶感知到,也不會(huì)影響到用戶的體驗(yàn)性。
為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種數(shù)據(jù)遷移的方法。
本發(fā)明實(shí)施例的一種數(shù)據(jù)遷移的方法包括:將源數(shù)據(jù)庫(kù)中的數(shù)據(jù)全量同步至新數(shù)據(jù)庫(kù);在所述全量同步的過(guò)程中,監(jiān)聽(tīng)所述源數(shù)據(jù)庫(kù)中數(shù)據(jù)的變更情況,若所述源數(shù)據(jù)庫(kù)中的數(shù)據(jù)發(fā)生變更,則將所述新數(shù)據(jù)庫(kù)中對(duì)應(yīng)的已實(shí)現(xiàn)同步的數(shù)據(jù)進(jìn)行更新;按照用戶維度計(jì)算遷移率,當(dāng)某用戶的數(shù)據(jù)的遷移率達(dá)到100%時(shí),將所述某用戶對(duì)應(yīng)的數(shù)據(jù)庫(kù)從源數(shù)據(jù)庫(kù)切換至新數(shù)據(jù)庫(kù)。
可選地,在將源數(shù)據(jù)庫(kù)中的數(shù)據(jù)全量同步至新數(shù)據(jù)庫(kù)之前,所述方法還包括:根據(jù)所述新數(shù)據(jù)庫(kù)中表的設(shè)計(jì)結(jié)構(gòu),將源數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行結(jié)構(gòu)轉(zhuǎn)換。
可選地,將源數(shù)據(jù)庫(kù)中的數(shù)據(jù)全量同步至新數(shù)據(jù)庫(kù)包括:利用自增主鍵ID,順序選擇所述源數(shù)據(jù)庫(kù)中的預(yù)設(shè)條數(shù)的數(shù)據(jù),同步至新數(shù)據(jù)庫(kù),直至完成全量同步。
可選地,所述方法還包括:利用ACK機(jī)制判斷每次順序選擇的所述源數(shù)據(jù)庫(kù)中的預(yù)設(shè)條數(shù)的數(shù)據(jù)是否已完成同步。
可選地,在將每次順序選擇的所述源數(shù)據(jù)庫(kù)中的預(yù)設(shè)條數(shù)的數(shù)據(jù)完成同步之后,所述方法還包括:將所述預(yù)設(shè)條數(shù)的數(shù)據(jù)的全部自增主鍵ID記錄至遷移記錄數(shù)據(jù)庫(kù)中,并將所述預(yù)設(shè)條數(shù)的數(shù)據(jù)的最后一條數(shù)據(jù)的自增主鍵ID作為下次順序選擇數(shù)據(jù)的起始位移ID記錄在遷移記錄數(shù)據(jù)庫(kù)中。
可選地,監(jiān)聽(tīng)所述源數(shù)據(jù)庫(kù)中數(shù)據(jù)的變更情況包括:基于binlog機(jī)制,監(jiān)聽(tīng)所述源數(shù)據(jù)庫(kù)中數(shù)據(jù)的變更情況。
可選地,將所述新數(shù)據(jù)庫(kù)中對(duì)應(yīng)的已實(shí)現(xiàn)同步的數(shù)據(jù)進(jìn)行更新包括:判斷發(fā)生變更的數(shù)據(jù)的自增主鍵ID是否存在于遷移記錄數(shù)據(jù)庫(kù)中,若存在,則對(duì)所述新數(shù)據(jù)庫(kù)中對(duì)應(yīng)的數(shù)據(jù)進(jìn)行更新,若不存在則不更新。通過(guò)該判斷從而可以過(guò)濾無(wú)效的更新,從而提高性能。
可選地,所述方法還包括:利用可視化界面,實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)遷移進(jìn)度。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司,未經(jīng)北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710334373.6/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語(yǔ)言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫(kù)結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- 異構(gòu)數(shù)據(jù)庫(kù)同步方法及系統(tǒng)
- 數(shù)據(jù)庫(kù)間的數(shù)據(jù)遷移方法和系統(tǒng)
- 一種數(shù)據(jù)庫(kù)管理平臺(tái)中數(shù)據(jù)遷移方法和裝置
- 可視化多數(shù)據(jù)庫(kù)ETL集成方法和系統(tǒng)
- 數(shù)據(jù)庫(kù)數(shù)據(jù)拷貝方法和裝置
- 一種容災(zāi)系統(tǒng)下數(shù)據(jù)庫(kù)實(shí)時(shí)保護(hù)方法
- 一種MongoDB數(shù)據(jù)庫(kù)對(duì)象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)同步方法、裝置及中轉(zhuǎn)服務(wù)器
- 基于日志解析的增量數(shù)據(jù)比對(duì)方法、裝置和電子設(shè)備
- 異構(gòu)數(shù)據(jù)庫(kù)之間數(shù)據(jù)同步方法、系統(tǒng)、設(shè)備及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)管理系統(tǒng)及數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)構(gòu)筑裝置、數(shù)據(jù)庫(kù)檢索裝置、數(shù)據(jù)庫(kù)裝置、數(shù)據(jù)庫(kù)構(gòu)筑方法、以及數(shù)據(jù)庫(kù)檢索方法
- 數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)處理方法
- 數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)更新方法、數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)更新程序
- 容器數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)同步方法及數(shù)據(jù)庫(kù)
- 一種MongoDB數(shù)據(jù)庫(kù)對(duì)象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲(chǔ)方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)庫(kù)語(yǔ)句執(zhí)行方法及裝置
- 數(shù)據(jù)遷移系統(tǒng)及數(shù)據(jù)遷移方法
- 數(shù)據(jù)庫(kù)集群中數(shù)據(jù)遷移的方法及裝置
- 數(shù)據(jù)遷移方法、系統(tǒng)、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 基于遷移工具的國(guó)產(chǎn)化應(yīng)用系統(tǒng)遷移方法
- 數(shù)據(jù)遷移方法、裝置、電子設(shè)備以及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)遷移方法及裝置、存儲(chǔ)介質(zhì)及電子設(shè)備
- 數(shù)據(jù)遷移方法及裝置、存儲(chǔ)介質(zhì)、電子設(shè)備
- 一種數(shù)據(jù)遷移方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì)
- 數(shù)據(jù)遷移方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)遷移方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)





