[發明專利]在分布式存儲系統中寫入日志數據的方法有效
| 申請號: | 201810958830.3 | 申請日: | 2018-08-22 |
| 公開(公告)號: | CN109347899B | 公開(公告)日: | 2022-03-25 |
| 發明(設計)人: | 馬井瑋 | 申請(專利權)人: | 北京百度網訊科技有限公司 |
| 主分類號: | H04L67/1097 | 分類號: | H04L67/1097 |
| 代理公司: | 北京鴻德海業知識產權代理有限公司 11412 | 代理人: | 袁媛 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 分布式 存儲系統 寫入 日志 數據 方法 | ||
本發明涉及一種用于在分布式存儲系統中寫入日志數據的方法。分布式系統中創建有用于在同一非暫態存儲介質上存取數據的多個進程。該方法包括:將所述多個進程的日志數據分別寫入同一共享日志文件,該共享日志文件存儲在所述同一非暫態存儲介質上。因此,不同的進程的日志數據可以被寫入同一共享日志文件中,從而消除了日志數據的隨機寫入問題,提高了非暫態存儲介質的性能。
【技術領域】
本發明涉及分布式存儲系統。特別地,本發明涉及在分布式存儲系統中寫入日志數據的方法。
【背景技術】
在分布式存儲系統中,通常采用多個進程保存數據的多個副本,以便提供系統的可靠性。為了實現多個副本的數據的同步,本領域中通常是通過進程的日志文件而實現的。例如,raft協議是一種復制組通訊協議,它基于日志形式在復制組內的進程當中通訊以實現數據的一致性。
因此,在分布式存儲系統中,存在用于不同的應用的多個復制組。每個復制組包括用于存取數據的主進程(mater)。每個復制組還可以包括一個或多個用于存取數據的從進程(slave),以便備份數據。在raft協議中,主進程被稱為leader而從進程被稱為follower。每個進程(主進程或從進程)都需要維護一個日志文件,用于記錄進程對數據的各種操作,而數據文件用于存儲寫入的數據。例如,當一個復制組將數據存儲在分布式存儲系統中時,該復制組中的主進程和從進程都要分別向其日志文件和數據文件寫入數據。
在分布式存儲系統中,每個非暫態存儲介質(例如磁盤)實際上服務于多個復制組。也就是說,一個磁盤上往往存儲對應于多個復制組的進程的日志文件。當這些進程向各自的日志文件寫入數據時,由于各個進程的日志文件在磁盤中的位置是不連續的,這些進程會產生多個隨機寫入操作。這會導致磁盤寫入性能的下降。
因此,需要提供一種可以解決日志數據在存儲介質中的隨機寫入問題的方法。
【發明內容】
有鑒于此,本發明提供了一種用于在分布式存儲系統中寫入日志數據的方法,分布式系統中創建有用于在同一非暫態存儲介質上存取數據的多個進程,其特征在于,所述方法包括:
將所述多個進程的日志數據分別寫入同一共享日志文件,該共享日志文件存儲在所述同一非暫態存儲介質上。
根據本發明的方法的一優選實施方式,將所述多個進程的日志數據分別寫入同一共享日志文件包括:
獲取要寫入日志數據的進程的標識;
將要寫入日志數據的進程的標識和對應的日志數據采用順序寫的方式寫入所述共享日志文件。
根據本發明的方法的一優選實施方式,所述多個進程屬于不同的復制組。
根據本發明的方法的一優選實施方式,所述多個進程包括主進程和/或從進程。
根據本發明的方法的一優選實施方式,所述非暫態存儲介質為磁盤。
根據本發明的方法的一優選實施方式,所述要寫入日志數據的進程的標識為該進程對應的復制組的標識。
根據本發明的方法的一優選實施方式,所述分布式存儲系統是基于分布式一致性協議raft的分布式存儲系統。
本發明還提供了一種用于在分布式存儲系統中寫入日志數據的裝置,該分布式系統中創建有用于在同一非暫態存儲介質上存取數據的多個進程,其特征在于,所述裝置包括:
寫入模塊,用于將所述多個進程的日志數據分別寫入同一共享日志文件,該共享日志文件存儲在所述同一非暫態存儲介質上。
根據本發明的分布式存儲系統的一優選實施方式,所述寫入模塊包括:
獲取模塊,用于獲取要寫入日志數據的進程的標識;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京百度網訊科技有限公司,未經北京百度網訊科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810958830.3/2.html,轉載請聲明來源鉆瓜專利網。





