[發明專利]一種多線程日志管理的方法及裝置有效
| 申請號: | 201210057044.9 | 申請日: | 2012-03-06 |
| 公開(公告)號: | CN103309858A | 公開(公告)日: | 2013-09-18 |
| 發明(設計)人: | 黃明生 | 申請(專利權)人: | 深圳市騰訊計算機系統有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京中博世達專利商標代理有限公司 11274 | 代理人: | 申健 |
| 地址: | 510075 廣東省深圳市南*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 多線程 日志 管理 方法 裝置 | ||
技術領域
本發明涉及業務處理邏輯應用技術領域,尤其涉及一種多線程日志管理的方法及裝置。
背景技術
在業務處理過程中,通常多個線程同時處理,并在關鍵邏輯步驟將處理結果記錄到日志文件中。線程為業務處理邏輯中按照一個單一的順序控制處理流程,在單個業務處理邏輯中同時運行多個線程完成不同的工作稱為多線程。日志指系統所指定對象的某些操作和其操作結果按時間有序的集合。日志對于系統監控、查詢、報表和安全審計非常重要,因此,系統除了應滿足基本日志管理與使用的需求外,必須進一步保證線程安全,且沒有嚴重的性能損失。現有技術主要是通過基于競爭/占有模式的鎖機制實現。
采用現有技術,在多線程環境下,為了避免日志記錄錯亂,可以根據配置建立或者打開日志文件時,建立全局的互斥鎖。每個對象對應一個互斥鎖,互斥鎖用于使在任一時刻只能有一個線程訪問該對象,以便保證共享數據操作的完整性。當某個線程需要寫入日志時,需等待當前正在寫入的線程完成并釋放全局互斥鎖后,獲得日志文件的寫入權才能完成一條日志的寫入。
目前,存在對于該實現機制的改進方案,例如系統為各個線程初始化了一個單寫多讀的緩沖區,這個緩沖區可以是系統內存或臨時建立的文件。然后各個線程需要寫日志時可以先立即寫入到各自的緩沖區中,不用競爭全局鎖,減少了等待時間,再由專門的日志收集線程定時或輪詢地將其它線程緩沖區的臨時日志重新轉移到系統總日志中。但實現時各個寫入線程的緩存區一般需要加一把讀鎖,或者需要用線程條件變量維持與日志收集線程的同步,以避免收集日志時的緩沖區的同時寫入,否則必須等其它線程空閑或系統停止后再收集。
然而,當采用現有技術進行日志文件操作時,會引起系統等待,導致系統實時性差,性能下降。
發明內容
本發明的實施例提供一種多線程日志管理的方法及裝置,可以避免系統等待,使系統進行實時處理,提高系統性能。
為達到上述目的,本發明的實施例采用如下技術方案:
一種多線程日志管理的方法,包括:
獲取線程寫入的日志的系統文件描述符FD、寫入級別和寫入內容;
當所述寫入級別大于預設級別時,將所述寫入內容寫入所述FD對應的日志文件中。
一種多線程日志管理的裝置,包括:
獲取單元,用于獲取線程寫入的日志的系統文件描述符FD、寫入級別和寫入內容;
日志文件寫入單元,用于當所述寫入級別大于預設級別時,將所述寫入內容寫入所述FD對應的日志文件中。
本發明實施例提供一種多線程日志管理的方法及裝置,通過獲取線程寫入的日志的系統文件描述符FD、寫入級別和寫入內容,當所述寫入級別大于預設級別時,將所述寫入內容寫入所述FD對應的日志文件中。與現有技術中進行日志文件操作時,會引起系統等待,導致系統實時性差,性能下降相比,本發明實施例提供的方案采用FD關聯了日志文件,可以在多線程下無鎖的日志文件寫入、切換,可以避免系統等待,使系統進行實時處理,提高系統性能。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例1提供的一種多線程日志管理的方法的流程圖;
圖2為本發明實施例1提供的一種多線程日志管理的裝置的框圖;
圖3為本發明實施例2提供的一種多線程日志管理與使用機制總體結構示意圖;
圖4為本發明實施例2提供的一種多線程日志管理的方法的流程圖;
圖5為本發明實施例2提供的創建日志文件的示意圖;
圖6為本發明實施例2提供的日志文件的寫入的示意圖;
圖7為本發明實施例2提供的日志文件的切換示意圖;
圖8為本發明實施例2提供的一種多線程日志管理的裝置的框圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
實施例1
本發明實施例提供一種多線程日志管理的方法,如圖1所示,該方法包括以下步驟:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市騰訊計算機系統有限公司,未經深圳市騰訊計算機系統有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210057044.9/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:通脈利心膠囊
- 下一篇:一種基于圖像分析的廢雜銅熔煉爐的控制方法及控制系統





