欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種數(shù)據(jù)同步控制方法和裝置的制造方法

文檔序號:9765964閱讀:741來源:國知局
一種數(shù)據(jù)同步控制方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)技術(shù),特別涉及一種數(shù)據(jù)同步控制方法和裝置。
【背景技術(shù)】
[0002] 目前數(shù)據(jù)庫已經(jīng)成為不可缺少的數(shù)據(jù)存儲設(shè)備,可W用于企業(yè)存儲業(yè)務(wù)數(shù)據(jù),并 且為了提供較高的可靠性保障,通常設(shè)置主備數(shù)據(jù)庫進(jìn)行備份,稱為主庫和備庫,主庫的數(shù) 據(jù)要及時(shí)同步到備庫。此外,較大的企業(yè)通常在不同的區(qū)域分別設(shè)置用于數(shù)據(jù)存儲的數(shù)據(jù) 庫,比如A地?cái)?shù)據(jù)庫和B地?cái)?shù)據(jù)庫,該兩地的數(shù)據(jù)庫之間也需要進(jìn)行數(shù)據(jù)同步,W滿足業(yè)務(wù) 需求,送種類型的數(shù)據(jù)同步可W稱為應(yīng)用同步,采用精衛(wèi)、DRC等數(shù)據(jù)同步方式同步更新數(shù) 據(jù)。
[0003] 當(dāng)前的數(shù)據(jù)同步中,應(yīng)用同步和備庫同步通常都會采取盡力發(fā)送的原則,只要IO 很強(qiáng),郝么數(shù)據(jù)同步就會盡多盡快的執(zhí)行,但是送會占用較大帶寬,并且造成如下問題:一 方面,作為保障性作用的備庫其優(yōu)先級較高,應(yīng)用同步將占用較多帶寬影響備庫的數(shù)據(jù)同 步,當(dāng)備庫同步延遲較大時(shí)可能造成備庫不可用;另一方面,主庫的數(shù)據(jù)不僅用于上述的數(shù) 據(jù)同步,還用于業(yè)務(wù)使用,比如業(yè)務(wù)執(zhí)行時(shí)調(diào)取數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行使用,數(shù)據(jù)同步占用較大 帶寬時(shí),將影響業(yè)務(wù)的響應(yīng)速度,降低業(yè)務(wù)的執(zhí)行效率。

【發(fā)明內(nèi)容】

[0004] 有鑒于此,本發(fā)明提供一種數(shù)據(jù)同步控制方法和裝置,W控制數(shù)據(jù)同步的速度,降 低對備庫和業(yè)務(wù)的影響。
[0005] 具體地,本發(fā)明是通過如下技術(shù)方案實(shí)現(xiàn)的:
[0006] 第一方面,提供一種數(shù)據(jù)同步控制方法,所述方法應(yīng)用于數(shù)據(jù)同步控制裝置,所述 裝置包括數(shù)據(jù)發(fā)送模塊和同步監(jiān)控模塊;所述方法包括:
[0007] 數(shù)據(jù)發(fā)送模塊獲取待同步的更新數(shù)據(jù);
[0008] 所述數(shù)據(jù)發(fā)送模塊判斷是否滿足預(yù)設(shè)的休眠條件,若是,則所述數(shù)據(jù)發(fā)送模塊在 經(jīng)過預(yù)設(shè)的休眠時(shí)間之后,將所述更新數(shù)據(jù)發(fā)送至同步裝置。
[0009] 第二方面,提供一種數(shù)據(jù)同步控制裝置,包括:數(shù)據(jù)發(fā)送模塊和同步監(jiān)控模塊;其 中,所述數(shù)據(jù)發(fā)送模塊,用于獲取待同步的更新數(shù)據(jù),并判斷是否滿足預(yù)設(shè)的休眠條件,若 是,則所述數(shù)據(jù)發(fā)送模塊在經(jīng)過預(yù)設(shè)的休眠時(shí)間之后,將所述更新數(shù)據(jù)發(fā)送至同步裝置;所 述預(yù)設(shè)的休眠條件是由所述同步監(jiān)控模塊設(shè)置。
[0010] 本發(fā)明的數(shù)據(jù)同步控制方法和裝置,通過在滿足預(yù)設(shè)的休眠條件時(shí),將數(shù)據(jù)發(fā)送 停止一段休眠時(shí)間,實(shí)現(xiàn)了對數(shù)據(jù)同步速度的控制,比如可W通過控制休眠條件和休眠時(shí) 間的長度,來調(diào)整數(shù)據(jù)發(fā)送的速度,從而相對于傳統(tǒng)方式中的數(shù)據(jù)發(fā)送不受限制的盡力發(fā) 送,降低了數(shù)據(jù)同步占用的帶寬,降低了對備庫和業(yè)務(wù)的影響。
【附圖說明】
[0011] 圖I是本發(fā)明實(shí)施例提供的數(shù)據(jù)同步控制方法的應(yīng)用示意圖;
[0012] 圖2是本發(fā)明實(shí)施例提供的數(shù)據(jù)同步控制裝置的結(jié)構(gòu)示意圖;
[0013] 圖3是本發(fā)明實(shí)施例提供的數(shù)據(jù)同步控制方法的流程示意圖;
[0014] 圖4是本發(fā)明實(shí)施例提供的數(shù)據(jù)同步控制裝置的模塊關(guān)系圖;
[0015] 圖5是本發(fā)明實(shí)施例提供的數(shù)據(jù)同步控制方法中的Binlog發(fā)送線程執(zhí)行的流程 示意圖;
[0016] 圖6是本發(fā)明實(shí)施例提供的數(shù)據(jù)同步控制方法中的同步監(jiān)控模塊執(zhí)行的流程示 意圖。
【具體實(shí)施方式】
[0017] 在進(jìn)行數(shù)據(jù)同步時(shí),本申請實(shí)施例的數(shù)據(jù)同步控制方法,通過由數(shù)據(jù)同步控制裝 置來執(zhí)行該方法,完成數(shù)據(jù)的同步。該數(shù)據(jù)同步控制裝置例如可W是設(shè)置在數(shù)據(jù)庫服務(wù)器 上的程序指令,參見圖1所示,圖1示出了服務(wù)器的簡單示意結(jié)構(gòu),在服務(wù)器的存儲器中, 不僅存儲有待同步的數(shù)據(jù),還存儲有上述的數(shù)據(jù)同步控制裝置;與存儲器通過總線連接的 處理器,可W調(diào)用該數(shù)據(jù)同步控制裝置,通過執(zhí)行該裝置對應(yīng)的程序指令,來執(zhí)行本實(shí)施例 的數(shù)據(jù)同步控制方法,通過網(wǎng)絡(luò)接口將待同步的數(shù)據(jù)同步到其他設(shè)備,比如同步至備庫,或 者,通過精衛(wèi)或者DRC的數(shù)據(jù)同步方式將數(shù)據(jù)同步至其他應(yīng)用服務(wù)器。
[0018] 本實(shí)施例的數(shù)據(jù)同步控制方法,通過在存儲器中設(shè)置了上述的數(shù)據(jù)同步控制裝置 由處理器調(diào)用執(zhí)行,來實(shí)現(xiàn)對數(shù)據(jù)同步時(shí)的控制,改變傳統(tǒng)方式中服務(wù)器總是在盡力傳送 的原則,使得數(shù)據(jù)同步的速度能夠得到一定的控制,減少數(shù)據(jù)同步所占用的帶寬,降低對業(yè) 務(wù)使用數(shù)據(jù)的影響。
[0019] 基于此,本實(shí)施例的數(shù)據(jù)同步控制裝置,包括兩個(gè)模塊,分別是數(shù)據(jù)發(fā)送模塊和同 步監(jiān)控模塊,參見圖2所示的裝置結(jié)構(gòu)。通過送兩個(gè)模塊,該同步控制裝置可W執(zhí)行圖3所 示的流程:
[0020] 301、數(shù)據(jù)發(fā)送模塊獲取待同步的更新數(shù)據(jù);
[0021] 302、數(shù)據(jù)發(fā)送模塊判斷是否滿足預(yù)設(shè)的休眠條件,若是,則所述數(shù)據(jù)發(fā)送模塊在 經(jīng)過預(yù)設(shè)的休眠時(shí)間之后,將所述更新數(shù)據(jù)發(fā)送至同步裝置。
[0022] 在上述的步驟中可W看到,數(shù)據(jù)發(fā)送模塊在發(fā)送待同步的更新數(shù)據(jù)時(shí),不再是像 傳統(tǒng)方式中的獲取到數(shù)據(jù)立刻發(fā)送,而是會在滿足預(yù)設(shè)的休眠條件時(shí),停止一段休眠時(shí)間 (也就是說獲取到待同步的更新數(shù)據(jù)時(shí)不立刻發(fā)送,先停止一段時(shí)間),然后經(jīng)過該預(yù)設(shè)的 休眠時(shí)間后再發(fā)送該數(shù)據(jù)至同步裝置(比如應(yīng)用服務(wù)器),送樣就實(shí)現(xiàn)了對數(shù)據(jù)同步速度 的控制和對同步占用帶寬的降低。
[0023] 如下將詳細(xì)描述該數(shù)據(jù)同步控制的過程,其中,通過圖4說明數(shù)據(jù)同步控制裝置 中的兩個(gè)模塊,在執(zhí)行數(shù)據(jù)同步控制時(shí)的邏輯關(guān)系,后續(xù)結(jié)合該圖4來具體說明數(shù)據(jù)同步 虹制:
[0024] 首先,對Binlog簡單說明如下;數(shù)據(jù)庫服務(wù)器中存儲的數(shù)據(jù)發(fā)生更新時(shí),更新數(shù) 據(jù)都是存儲在Binlog文件中,送些更新數(shù)據(jù)例如包括;新增的某條業(yè)務(wù)數(shù)據(jù)、或者刪除某 些數(shù)據(jù)、或者修改某些數(shù)據(jù)等等,并且,更新數(shù)據(jù)是W Binlog_event為單位存儲,比如,對 某個(gè)表項(xiàng)中的數(shù)據(jù)進(jìn)行修改,郝么在記錄時(shí)該表項(xiàng)的標(biāo)識可W稱為一個(gè)event,數(shù)據(jù)更改的 內(nèi)容(將數(shù)據(jù)al修改為a2)可W作為一個(gè)event (事件),也就是說,如果將"對某個(gè)表項(xiàng) 中的數(shù)據(jù)進(jìn)行修改"稱為一個(gè)事物,該事物可能包含多個(gè)Binlog_event。可選的,在存儲時(shí) 例如可W存儲為如下表1中所示的表項(xiàng),可W產(chǎn)生H個(gè)event ;
[00 巧]表 1 Binlog_event [0026]
[0027] 在進(jìn)行數(shù)據(jù)同步時(shí),也是通過Binlog_event來進(jìn)行同步,比如,數(shù)據(jù)發(fā)送模塊讀 取一個(gè)Binlog_event,將該event同步至備庫,然后再讀取下一個(gè)event發(fā)送至備庫等。 備庫、精衛(wèi)、DRC在與主庫進(jìn)行數(shù)據(jù)同步時(shí),都是通過Binlog協(xié)議來進(jìn)行同步的,即通過 Binlog協(xié)議向主庫發(fā)送同步請求消息,主庫根據(jù)該請求W Binnog_evcnt為單位讀取在本 地的Binlog文件(該文件是請求中指定的或者默認(rèn)的),然后將文件中的各個(gè)Binlog_ event發(fā)送給備庫或者應(yīng)用服務(wù)器。
[0028] 本實(shí)施例中,數(shù)據(jù)庫服務(wù)器可W預(yù)先設(shè)置兩個(gè)系統(tǒng)參數(shù),如下:
[0029] binlog_send_idle_pe;riod送是Binlog發(fā)送線程每次的"休眠時(shí)間",單位是微 砂,默認(rèn)值是100 ;其中,Binlog發(fā)送線程就是上述的數(shù)據(jù)發(fā)送模塊,休眠時(shí)間就是指該模 塊在發(fā)送數(shù)據(jù)之前需要停止一段時(shí)間再發(fā)送。
[0030] binlog_send_limit_users送是Binlog發(fā)送線程的速度配置,默認(rèn)值可W是空。 利用該參數(shù)可W對特定的同步線程的速度進(jìn)行限制,例如,設(shè)置如下;setglobal binlog_ send_limit_users =化C: 3, jingwei : 10,其作用是設(shè)置 DRC 拉取 Binlog (拉取 Binlog 即 進(jìn)行Binlog同步)的上限速度是3MB/s,jingwei拉取Binlog的上限速度是lOMB/s,其中 的DRC和jingwei時(shí)應(yīng)用服務(wù)器在拉取Binlog時(shí)使用的用戶名稱。
[0031] 接著,假設(shè)本實(shí)施例的數(shù)據(jù)發(fā)送模塊即Binlog發(fā)送線程具體是Dump Mnlog線 程,其啟動時(shí)按照圖5所示的流程圖執(zhí)行。
[0032] Binlog dump線程啟動后,將查看其連接的用戶名是否應(yīng)該被限速,該用戶名指的 是前面所述的DRC、jingwei等,也就是說,Binlog dump線程查看該線程本身是采用的何種 方式進(jìn)行數(shù)據(jù)同步。而是否應(yīng)用被限速,該Binlog dump線程可W是根據(jù)上述的預(yù)先設(shè)置的 系統(tǒng)參數(shù)binlog_send_limit_users來判斷,該預(yù)先設(shè)置的系統(tǒng)參數(shù)binlog_send_limit_ users可W稱為預(yù)設(shè)的限速信息。
[0033] 例如,設(shè)置 binlog_send_limit_users =化c:3,郝就是說設(shè)置 DRC 拉取 Binlog 的 上限速度是3MB/S,該限速信息中的化C是數(shù)據(jù)同步方式的標(biāo)識,3是對應(yīng)該數(shù)據(jù)同步方式 的速度闊值。如果Binlog dump線程查看自己連接的用戶名是DRC,結(jié)合該速度限制可W確 定該線程自身是需要限速的,則Binlog dump線程會將自己加入限速列表,具體是將自己對 應(yīng)的線程標(biāo)識加入列表,限速列表如下表2 :
[0034] 表2限速列表
[0035]

[0036] 如上的表2,限速列表中記錄了需要被限速的線程標(biāo)識(可能有多個(gè)線程都是使 用DRC方式拉取Binlog),該限速列表主要是用于供同步監(jiān)控模塊使用的,同步監(jiān)控模塊只 對限速列表中包括的線程進(jìn)行數(shù)據(jù)發(fā)送速度的監(jiān)控,如果線程的速度過高將調(diào)整線程的休 眠條件,送些后續(xù)在對同步監(jiān)控模塊的執(zhí)行流程中進(jìn)行詳述。同理,如果Binlog dump線程 停止運(yùn)行時(shí),比如線程結(jié)束或者斷開連接,則該線程也會將自身對應(yīng)的線程標(biāo)識從上述的 限速列表移除。而且,每次更新設(shè)置binlog_send_limit_users時(shí),系統(tǒng)可W對當(dāng)前運(yùn)行的 所有線程進(jìn)行遍歷,將需要被限制的線程加入限速列表,不受限制的線程移出列表即可,不 會對線程的運(yùn)行造成影響,實(shí)時(shí)生效,非常方便。
[0037] Binlog dump線程在將自己加入限速列表后,還要獲取用于控制數(shù)據(jù)發(fā)送速度的 一些速度限制參數(shù),比如獲取"次數(shù)闊值"和"休眠時(shí)間"。該"次數(shù)闊值"是Binlog d
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
长顺县| 霍邱县| 麻城市| 莱芜市| 新余市| 常宁市| 惠安县| 赤水市| 阆中市| 井冈山市| 彭州市| 五河县| 伊通| 宜城市| 察哈| 长泰县| 和政县| 广汉市| 金塔县| 四子王旗| 晋城| 尤溪县| 吕梁市| 宁安市| 义乌市| 高青县| 巨鹿县| 淳化县| 光山县| 滦南县| 庆城县| 襄汾县| 赤壁市| 石屏县| 洪江市| 漳州市| 寿阳县| 八宿县| 丹寨县| 磐石市| 渝中区|