[發(fā)明專利]一種數(shù)據(jù)同步的方法及裝置在審
| 申請?zhí)枺?/td> | 201611103538.0 | 申請日: | 2016-12-05 |
| 公開(公告)號: | CN106603640A | 公開(公告)日: | 2017-04-26 |
| 發(fā)明(設(shè)計(jì))人: | 郭春華;鄧偉;張鶴高;胡道生 | 申請(專利權(quán))人: | 北京中交興路信息科技有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 北京品源專利代理有限公司11332 | 代理人: | 孟金喆,胡彬 |
| 地址: | 100191 北京市大興*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù) 同步 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明實(shí)施例涉及數(shù)據(jù)通信的技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)同步的方法及裝置。
背景技術(shù)
在移動互聯(lián)網(wǎng)領(lǐng)域,對于高并發(fā)的移動終端的請求,服務(wù)端一般采用redis來緩存熱點(diǎn)數(shù)據(jù),為了達(dá)到高性能和可靠性,redis可以部署為集群的方式。由于redis集群中存在大量重要的熱點(diǎn)數(shù)據(jù),當(dāng)需要其他數(shù)據(jù)中心能同時或者主備中心切換工作時,需要保證多個redis集群間的數(shù)據(jù)在有限帶寬、流量高峰和網(wǎng)絡(luò)抖動的情況下,能夠準(zhǔn)實(shí)時同步,并且保證數(shù)據(jù)傳輸效率和充分利用閑時帶寬。
現(xiàn)有的redis集群方案沒有同步功能,只有單個節(jié)點(diǎn)的同步功能,并且同步的方式采用redis內(nèi)置的同步機(jī)制,需要非常高的帶寬,無法很好的應(yīng)對高延時和網(wǎng)絡(luò)抖動的情況,而高延時和網(wǎng)絡(luò)抖動的情況在跨數(shù)據(jù)中心的網(wǎng)絡(luò)中又是存在的。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提出一種數(shù)據(jù)同步的方法及裝置,旨在解決如何實(shí)現(xiàn)Redis集群不好同步以及降低傳輸帶寬效率的問題。
為達(dá)此目的,本發(fā)明實(shí)施例采用以下技術(shù)方案:
第一方面,一種數(shù)據(jù)同步的方法,所述方法包括:
對redis集群A中的每個節(jié)點(diǎn)插入一個唯一數(shù)據(jù)標(biāo)簽,所述唯一數(shù)據(jù)標(biāo)簽為所述redis集群A的aof文件增量,所述aof文件增量是上一個數(shù)據(jù)標(biāo)簽的aof文件行數(shù)和當(dāng)前數(shù)據(jù)標(biāo)簽的aof文件行數(shù)的差值;
對aof增量文件進(jìn)行壓縮,對壓縮后的aof增量文件調(diào)用預(yù)設(shè)命令并傳輸?shù)絩edis集群B;
在所述redis集群B先執(zhí)行數(shù)據(jù)解壓縮得到原始aof增量文件,然后執(zhí)行導(dǎo)入,將數(shù)據(jù)以pipe方式導(dǎo)入到對應(yīng)的節(jié)點(diǎn)中。
優(yōu)選地,所述對redis集群A中的每個節(jié)點(diǎn)插入一個唯一數(shù)據(jù)標(biāo)簽,包括:
對所述redis集群A中的一個節(jié)點(diǎn)使用UUID編號,通過預(yù)設(shè)命令插入所述UUID編號并記錄所述UUID編號在所述aof增量文件中對應(yīng)的行;
獲取所述節(jié)點(diǎn)的aof文件增量,若是首次插入標(biāo)簽,則開始值start=0;否則,若上一次標(biāo)簽對應(yīng)的aof文件行號為end1,則開始值start=end1+2;若最新標(biāo)簽出現(xiàn)在所述aof文件中的行號為end,則所述aof文件增量的內(nèi)容為從所述開始值start開始后的end-start+2行aof文件中的數(shù)據(jù)。
優(yōu)選地,所述對aof增量文件進(jìn)行壓縮,包括:
對所述aof增量文件執(zhí)行tar jcvf命令對所述aof增量文件進(jìn)行壓縮。
優(yōu)選地,所述對壓縮后的aof增量文件調(diào)用預(yù)設(shè)命令并傳輸?shù)絩edis集群B,包括:
對壓縮后的aof增量文件執(zhí)行rsync命令并傳輸至所述redis集群B。
優(yōu)選地,所述在所述redis集群B先執(zhí)行數(shù)據(jù)解壓縮得到原始aof增量文件,然后執(zhí)行導(dǎo)入,將數(shù)據(jù)以pipe方式導(dǎo)入到對應(yīng)的節(jié)點(diǎn)中,包括:
在所述redis集群B上,先執(zhí)行tar jxvf命令先執(zhí)行數(shù)據(jù)解壓縮得到原始aof增量文件,再執(zhí)行redis-cli命令,將數(shù)據(jù)以pipe方式導(dǎo)入到所述redis集群B的節(jié)點(diǎn)中。
第二方面,一種數(shù)據(jù)同步的裝置,所述裝置包括:
插入模塊,用于對redis集群A中的每個節(jié)點(diǎn)插入一個唯一數(shù)據(jù)標(biāo)簽,所述唯一數(shù)據(jù)標(biāo)簽為所述redis集群A的aof文件增量,所述aof文件增量是上一個數(shù)據(jù)標(biāo)簽的aof文件行數(shù)和當(dāng)前數(shù)據(jù)標(biāo)簽的aof文件行數(shù)的差值;
壓縮模塊,用于對aof增量文件進(jìn)行壓縮;
傳輸模塊,用于對壓縮后的aof增量文件調(diào)用預(yù)設(shè)命令并傳輸?shù)絩edis集群B;
導(dǎo)入模塊,用于在所述redis集群B先執(zhí)行數(shù)據(jù)解壓縮得到原始aof增量文件,然后執(zhí)行導(dǎo)入,將數(shù)據(jù)以pipe方式導(dǎo)入到對應(yīng)的節(jié)點(diǎn)中。
優(yōu)選地,所述插入模塊,具體用于:
對所述redis集群A中的一個節(jié)點(diǎn)使用UUID編號,通過預(yù)設(shè)命令插入所述UUID編號并記錄所述UUID編號在所述aof增量文件中對應(yīng)的行;
獲取所述節(jié)點(diǎn)的aof文件增量,若是首次插入標(biāo)簽,則開始值start=0;否則,若上一次標(biāo)簽對應(yīng)的aof文件行號為end1,則開始值start=end1+2;若最新標(biāo)簽出現(xiàn)在所述aof文件中的行號為end,則所述aof文件增量的內(nèi)容為從所述開始值start開始后的end-start+2行aof文件中的數(shù)據(jù)。
優(yōu)選地,所述壓縮模塊,具體用于:
對所述aof增量文件執(zhí)行tar jcvf命令對所述aof增量文件進(jìn)行壓縮。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京中交興路信息科技有限公司,未經(jīng)北京中交興路信息科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611103538.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





