[發明專利]一種讀寫日志的處理方法及裝置有效
| 申請號: | 201810897307.4 | 申請日: | 2018-08-08 |
| 公開(公告)號: | CN109189726B | 公開(公告)日: | 2020-12-22 |
| 發明(設計)人: | 金恒展 | 申請(專利權)人: | 奇安信科技集團股份有限公司 |
| 主分類號: | G06F16/13 | 分類號: | G06F16/13;G06F16/18 |
| 代理公司: | 北京路浩知識產權代理有限公司 11002 | 代理人: | 王瑩;李相雨 |
| 地址: | 100088 北京市西城區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 讀寫 日志 處理 方法 裝置 | ||
本發明實施例提供一種讀寫日志的處理方法及裝置,所述方法包括:根據待寫入日志所需進程的寫入性能參數,確定所述進程的進程級別;根據所述進程級別,確定所述進程分享數據緩沖區的分享方式;根據所述分享方式,分配給與所述進程級別對應進程相對應的目標數據緩沖區;以使所述進程根據所述目標數據緩沖區執行寫入日志的寫操作;在完成所述寫操作之后,基于最小堆按時序讀取日志的算法讀取已寫入的日志。所述裝置執行上述方法。本發明實施例提供的讀寫日志的處理方法及裝置,基于進程級別確定目標數據緩沖區,在將日志寫入目標數據緩沖區之后,再基于最小堆按時序讀取日志的算法讀取已寫入的日志,能夠高效地對日志進行讀寫。
技術領域
本發明實施例涉及日志處理技術領域,具體涉及一種讀寫日志的處理方法及裝置。
背景技術
隨著信息技術的發展,日志的讀寫顯得尤為重要。
目前為了保證進程安全,通常采用為所有日志的處理進程加鎖或進程獨享一個緩沖區的方式實現寫入日志,每個進程加鎖會有寫入性能問題,而進程獨享一個緩沖區,即所有日志的處理進程中的每一個進程都單獨占用一個數據緩沖區(可以為環形緩沖區ringbuffer)通道,使得所有進程占用系統資源(包括內存)過多,而ringbuffer通道過多還會引發對日志讀取的性能問題。另外,由于磁盤日志往往需要支持時間查詢,日志讀取往往需要按時序進行讀取并記錄到磁盤,這樣方便建立索引,各個ringbuffer中的日志都是按時序存儲的,要想按時序獲取日志,現有的方法每次都需要遍歷所有ringbuffer,并獲取最早時刻的日志,尤其當ringbuffer的數量較多時極大地影響了日志讀取性能,主要體現在:當ringbuffer的數量大,每次尋找最早時刻日志,都需要遍歷所有ringbuffer,比較費時。
因此,如何避免上述缺陷,能夠高效地對日志進行讀寫,成為亟須解決的問題。
發明內容
針對現有技術存在的問題,本發明實施例提供一種讀寫日志的處理方法及裝置。
第一方面,本發明實施例提供一種讀寫日志的處理方法,所述方法包括:
根據待寫入日志所需進程的寫入性能參數,確定所述進程的進程級別;
根據所述進程級別,確定所述進程分享數據緩沖區的分享方式;
根據所述分享方式,分配給與所述進程級別對應進程相對應的目標數據緩沖區;以使所述進程根據所述目標數據緩沖區執行寫入日志的寫操作;
在完成所述寫操作之后,基于最小堆按時序讀取日志的算法讀取已寫入的日志。
第二方面,本發明實施例提供一種讀寫日志的處理裝置,所述裝置包括:
第一確定單元,用于根據待寫入日志所需進程的寫入性能參數,確定所述進程的進程級別;
第二確定單元,用于根據所述進程級別,確定所述進程分享數據緩沖區的分享方式;
寫入單元,用于根據所述分享方式,分配給與所述進程級別對應進程相對應的目標數據緩沖區;以使所述進程根據所述目標數據緩沖區執行寫入日志的寫操作;
讀取單元,用于在完成所述寫操作之后,基于最小堆按時序讀取日志的算法讀取已寫入的日志。
第三方面,本發明實施例提供一種電子設備,包括:處理器、存儲器和總線,其中,
所述處理器和所述存儲器通過所述總線完成相互間的通信;
所述存儲器存儲有可被所述處理器執行的程序指令,所述處理器調用所述程序指令能夠執行如下方法:
根據待寫入日志所需進程的寫入性能參數,確定所述進程的進程級別;
根據所述進程級別,確定所述進程分享數據緩沖區的分享方式;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于奇安信科技集團股份有限公司,未經奇安信科技集團股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810897307.4/2.html,轉載請聲明來源鉆瓜專利網。





