[發明專利]日志輸出方法、裝置、電子設備及存儲介質在審
| 申請號: | 202111546230.4 | 申請日: | 2021-12-16 |
| 公開(公告)號: | CN114185682A | 公開(公告)日: | 2022-03-15 |
| 發明(設計)人: | 易淑文 | 申請(專利權)人: | 建信金融科技有限責任公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F11/34;G06F16/18 |
| 代理公司: | 中科專利商標代理有限責任公司 11021 | 代理人: | 王文思 |
| 地址: | 200120 上海市浦東新區中國(*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 日志 輸出 方法 裝置 電子設備 存儲 介質 | ||
本公開提供了一種日志輸出方法、裝置、電子設備、存儲介質及計算機程序產品,可以應用于計算機技術領域、金融領域或其他領域。日志輸出方法包括:配置多個第一內存,在至少一個線程產生日志數據的情況下,為至少一個線程中的每一個分配一個第一內存,以使第一內存存儲對應線程產生的日志數據;配置第一連續內存,收集從每個與線程對應的第一內存中拷貝到的日志數據,并按照預設順序將收集到的至少一條日志數據依次存儲于第一連續內存上;配置第二連續內存,利用第二連續內存與第一連續內存進行交換,以獲取第一連續內存上存儲的至少一條日志數據,并將交換得到的至少一條日志數據一次性寫入預設的存儲路徑。
技術領域
本公開涉及計算機技術領域,更具體地涉及一種日志輸出方法、裝置、電子設備、存儲介質和計算機程序產品。
背景技術
日志通常是開發人員了解各類應用程序與服務的運行狀態以及在發生故障時排查問題的重要手段。
在實現日志輸出的過程中,相關技術中通常會先將日志數據收集到內存中的一個日志消息緩存隊列中,然后再批量寫入目的地。這種方法在對每條日志存儲的過程中都需要進行一次分配內存以及釋放內存的操作,而當需要扣印大量日志時,頻繁的分配及釋放內存既會影響日志系統的性能,還可能造成內存碎片,導致一定的內存浪費。
發明內容
鑒于上述問題,本公開提供了一種日志輸出方法、裝置、電子設備、存儲介質和計算機程序產品。
根據本公開的第一個方面,提供了一種日志輸出方法,包括:
配置多個第一內存,在至少一個線程產生日志數據的情況下,為至少一個線程中的每一個分配一個第一內存,以使第一內存存儲對應線程產生的日志數據;
配置第一連續內存,收集從每個與線程對應的第一內存中拷貝到的日志數據,并按照預設順序將收集到的至少一條日志數據依次存儲于第一連續內存上;
配置第二連續內存,利用第二連續內存與第一連續內存進行交換,以獲取第一連續內存上存儲的至少一條日志數據,并將交換得到的至少一條日志數據一次性寫入預設的存儲路徑。
根據本公開的實施例,其中,基于線程局部存儲技術為至少一個線程中的每一個分配一個第一內存。
根據本公開的實施例,其中,第一連續內存具有第一內存值,第二連續內存具有第二內存值,響應于第一內存值為第一值來執行基于第一值控制從每個與線程對應的第一內存中拷貝日志數據的操作,第一值用于表征第一連續內存中可以被用于存儲日志數據的內存空間;或者
響應于第二內存值為第二值來執行基于第二值控制從每個與線程對應的第一內存中拷貝日志數據的操作,第二值用于表征第二連續內存中可以被用于與第一連續內存進行日志數據交換的內存空間。
根據本公開的實施例,其中,在收集從每個與線程對應的第一內存中拷貝到的日志數據之前,所述方法還包括:
判斷待存儲于第一連續內存中的日志數據所占用的內存空間是否達到第一值;
響應于待存儲于第一連續內存中的日志數據所占用的內存空間小于第一值,執行收集從每個與線程對應的第一內存中拷貝到的日志數據的操作。
根據本公開的實施例,所述方法還包括:
響應于待存儲于第一連續內存中的日志數據所占用的內存空間不小于第一值,更新第一值,
重復執行判斷待存儲于第一連續內存中的日志數據所占用的內存空間是否達到第一值的操作。
根據本公開的實施例,所述方法還包括:
在更新后的第一值達到第一內存值的最大閾值的情況下,判斷待存儲于第一連續內存中的日志數據所占用的內存空間與最大閾值的大小;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于建信金融科技有限責任公司,未經建信金融科技有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111546230.4/2.html,轉載請聲明來源鉆瓜專利網。





