[發(fā)明專利]并發(fā)主從同步方法及裝置有效
| 申請?zhí)枺?/td> | 201611040280.4 | 申請日: | 2016-11-11 |
| 公開(公告)號: | CN106776775B | 公開(公告)日: | 2021-05-07 |
| 發(fā)明(設計)人: | 王康 | 申請(專利權)人: | 北京奇虎科技有限公司;奇智軟件(北京)有限公司 |
| 主分類號: | G06F16/27 | 分類號: | G06F16/27;G06F9/50 |
| 代理公司: | 深圳市世紀恒程知識產(chǎn)權代理事務所 44287 | 代理人: | 胡海國 |
| 地址: | 100088 北京市西城區(qū)新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 并發(fā) 主從 同步 方法 裝置 | ||
1.一種并發(fā)主從同步方法,其包括:
接收來自主數(shù)據(jù)庫的數(shù)據(jù)同步任務,所述數(shù)據(jù)同步任務包括可并行執(zhí)行的第一操作和需串行執(zhí)行的第二操作;
在從數(shù)據(jù)庫處于第一狀態(tài)下,將數(shù)據(jù)同步任務中的第一操作分發(fā)給多個第一線程中一個第一線程執(zhí)行,由第二線程執(zhí)行數(shù)據(jù)同步任務中的第二操作;
在從數(shù)據(jù)庫處于第二狀態(tài)下,按照接收數(shù)據(jù)同步任務的順序,為所述數(shù)據(jù)同步任務設置令牌;
將設置有令牌的數(shù)據(jù)同步任務分發(fā)給多個第一線程中一個第一線程,由該第一線程執(zhí)行所述數(shù)據(jù)同步任務中的第一操作和第二操作;
其中,所述將數(shù)據(jù)同步任務中的第一操作分發(fā)給多個第一線程中一個第一線程執(zhí)行進一步包括:
依據(jù)負載均衡策略,從多個第一線程選擇一個第一線程;
將所述數(shù)據(jù)同步任務中的第一操作分發(fā)給所選擇的第一線程執(zhí)行;
其中,所述第一操作為用于將數(shù)據(jù)寫入從數(shù)據(jù)庫的寫數(shù)據(jù)操作,所述第二操作為用于將寫數(shù)據(jù)操作記錄到從庫日志文件中的寫日志操作;
其中,所述第一狀態(tài)為只讀狀態(tài),所述第二狀態(tài)為非只讀狀態(tài)。
2.根據(jù)權利要求1所述的并發(fā)主從同步方法,其中,所述將設置有令牌的數(shù)據(jù)同步任務分發(fā)給多個第一線程中一個第一線程進一步包括:
依據(jù)負載均衡策略,從多個第一線程選擇一個第一線程;
將設置有令牌的數(shù)據(jù)同步任務分發(fā)給所選擇的第一線程。
3.根據(jù)權利要求1所述的并發(fā)主從同步方法,其中,在從數(shù)據(jù)庫處于第二狀態(tài)下,各個第一線程之間執(zhí)行的所述第一操作為并行操作;各個第一線程之間執(zhí)行的所述第二操作為串行操作。
4.根據(jù)權利要求1所述的并發(fā)主從同步方法,其中,在由該第一線程執(zhí)行所述數(shù)據(jù)同步任務中的第二操作之前,所述方法還包括:
判斷順序排在所述令牌前一位的令牌對應的數(shù)據(jù)同步任務的第二操作是否執(zhí)行完成;其中,所述令牌的排列順序與接收數(shù)據(jù)同步任務的順序一致;
若否,則繼續(xù)等待,直至順序排在所述令牌前一位的令牌對應的數(shù)據(jù)同步任務的第二操作執(zhí)行完成。
5.根據(jù)權利要求1所述的并發(fā)主從同步方法,其中,所述方法進一步包括:
判斷所述從數(shù)據(jù)庫是否為從第二狀態(tài)切換為第一狀態(tài);
若是,判斷已設置令牌的數(shù)據(jù)同步任務是否執(zhí)行完成;
若已設置令牌的數(shù)據(jù)同步任務未執(zhí)行完成,則在所述將數(shù)據(jù)同步任務中的第一操作分發(fā)給多個第一線程中一個第一線程執(zhí)行,由第二線程執(zhí)行數(shù)據(jù)同步任務中的第二操作之前,所述方法還包括:等待已設置令牌的數(shù)據(jù)同步任務執(zhí)行完成。
6.根據(jù)權利要求1所述的并發(fā)主從同步方法,其中,所述方法進一步包括:
判斷所述從數(shù)據(jù)庫是否為從第一狀態(tài)切換為第二狀態(tài);
若是,則判斷第二線程是否執(zhí)行完所有第二操作;
若第二線程未執(zhí)行完所有第二操作,則在所述按照接收數(shù)據(jù)同步任務的順序,為所述數(shù)據(jù)同步任務設置令牌之前,所述方法還包括:等待第二線程執(zhí)行完所有第二操作。
7.根據(jù)權利要求1所述的并發(fā)主從同步方法,其中,在從數(shù)據(jù)庫處于第一狀態(tài)下,針對同一數(shù)據(jù)的數(shù)據(jù)同步任務中的第一操作分發(fā)給同一第一線程。
8.根據(jù)權利要求1所述的并發(fā)主從同步方法,其中,在從數(shù)據(jù)庫處于第二狀態(tài)下,針對同一數(shù)據(jù)的數(shù)據(jù)同步任務分發(fā)給同一第一線程。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司;奇智軟件(北京)有限公司,未經(jīng)北京奇虎科技有限公司;奇智軟件(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611040280.4/1.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:移動終端選取圖片裝置和方法
- 下一篇:一種運動場所信息的推薦方法及裝置





