[發明專利]日志同步方法和裝置、計算機可讀存儲介質、電子設備在審
| 申請號: | 202111223087.5 | 申請日: | 2021-10-20 |
| 公開(公告)號: | CN113971169A | 公開(公告)日: | 2022-01-25 |
| 發明(設計)人: | 姚彤 | 申請(專利權)人: | 網易(杭州)網絡有限公司 |
| 主分類號: | G06F16/18 | 分類號: | G06F16/18;G06F16/27 |
| 代理公司: | 北京律智知識產權代理有限公司 11438 | 代理人: | 王輝;闞梓瑄 |
| 地址: | 310052 浙江省*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 日志 同步 方法 裝置 計算機 可讀 存儲 介質 電子設備 | ||
本公開是關于一種日志同步方法和裝置、計算機可讀存儲介質、電子設備,涉及計算機技術領域,該方法包括:獲取待匹配日志列表以及與所述待匹配日志列表對應的目標日志列表,確定所述待匹配日志列表中包括的當前待匹配日志;根據所述當前待匹配日志以及所述目標日志列表,確定所述當前待匹配日志是否與所述目標日志列表匹配;在確定所述當前待匹配日志與所述目標日志列表不匹配時,根據所述目標日志列表,確定所述待匹配日志列表中與所述目標日志列表匹配的待匹配日志;基于所述待匹配日志,將所述待匹配日志同步至所述目標日志列表中。本公開降低了日志回退次數,提高了日志同步效率。
技術領域
本公開實施例涉及計算機技術領域,具體而言,涉及一種日志同步方法、日志同步裝置、計算機可讀存儲介質以及電子設備。
背景技術
在分布式系統中,一致性協議用于多個節點間保持同樣的狀態,其中,Raft協議因為其本身易于理解而被廣泛使用。
在基礎的Raft協議的實現中,當領導者節點的待匹配日志列表向跟隨者節點的目標日志列表同步日志,出現待匹配日志列表中的當前待匹配日志與目標日志列表不匹配時,通常會對待匹配日志列表進行“退一”操作,即將當前待匹配日志的上一條日志作為下一同步時的匹配日志,當下次同步繼續失敗時,再次對待匹配日志隊列進行“退一”操作,直至匹配成功。
但是,領導者節點與跟隨者節點長時間處于不同分區,當跟隨者節點突然與領導者節點建立連接時,領導者節點的待匹配日志列表中的日志與跟隨者節點的目標日志列表中的日志具有很大的差距,當采取每次“退一”操作時,領導者節點會花費大量的時間進行日志匹配試錯,并由于時間較長,導致領導者節點的待匹配日志列表放棄匹配直接進行日志的全量傳輸,降低了日志同步的效率。
因此,需要提供一種新的日志同步方法。
需要說明的是,在上述背景技術部分發明的信息僅用于加強對本發明的背景的理解,因此可以包括不構成對本領域普通技術人員已知的現有技術的信息。
發明內容
本發明的目的在于提供一種日志同步方法、日志同步裝置、計算機可讀存儲介質以及電子設備,進而至少在一定程度上克服由于相關技術的限制和缺陷而導致的日志同步效率低的問題。
根據本公開的一個方面,提供一種日志同步方法,包括:
獲取待匹配日志列表以及與所述待匹配日志列表對應的目標日志列表,確定所述待匹配日志列表中包括的當前待匹配日志;
根據所述當前待匹配日志以及所述目標日志列表,確定所述當前待匹配日志是否與所述目標日志列表匹配;
在確定所述當前待匹配日志與所述目標日志列表不匹配時,根據所述目標日志列表,確定所述待匹配日志列表中與所述目標日志列表匹配的待匹配日志;
基于所述待匹配日志,將所述待匹配日志及所述待匹配日志列表中位于所述待匹配日志之后的日志同步至所述目標日志列表中。
在本公開的一種示例性實施例中,根據所述當前待匹配日志以及所述目標日志列表,確定所述當前待匹配日志是否與所述目標日志列表匹配,包括:
獲取所述當前待匹配日志在所述待匹配日志列表中的第一序號以及所述當前待匹配日志的第一選舉周期;
獲取所述目標日志列表的長度以及所述目標日志列表中包括的日志的第二選舉周期;
根據所述第一序號、所述第一選舉周期、所述目標日志列表的長度以及所述第二選舉周期確定所述當前待匹配日志是否與所述目標日志列表匹配。
在本公開的一種示例性實施例中,根據所述第一序號、所述第一選舉周期、所述日志列表的長度以及所述第二選舉周期確定所述當前待匹配日志是否與所述目標日志列表匹配,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于網易(杭州)網絡有限公司,未經網易(杭州)網絡有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111223087.5/2.html,轉載請聲明來源鉆瓜專利網。





