亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種兩級緩沖機制的日志管理系統(tǒng)設計方法與流程

文檔序號:11917323閱讀:336來源:國知局
一種兩級緩沖機制的日志管理系統(tǒng)設計方法與流程

本發(fā)明涉及計算機應用系統(tǒng)開發(fā)領域,具體涉及一種兩級緩沖機制的日志管理系統(tǒng)設計方法。



背景技術:

日志管理系統(tǒng)是計算機應用系統(tǒng)開發(fā)的一個重要組成部分,是應用程序開發(fā)過程中的一個重要調試手段。通過記錄系統(tǒng)運行的軌跡,當系統(tǒng)運行出現(xiàn)異常時,通過查閱運行過程的日志記錄,運營維護人員可以定位到異常出現(xiàn)的位置,為解決問題提供參考。

本日志管理系統(tǒng)設計方法從如下幾個方面深入研究了日志管理系統(tǒng)的設計需求:

(1)為應用程序提供一個日志操作接口,能夠滿足多應用程序的并發(fā)訪問;

(2)日志能夠妥善保存到磁盤,不能丟失,為應用程序起到調試和事故追憶的作用;

(3)日志記錄要做到詳細詳盡,要有日志級別、日志位置等記錄信息,具備日志過濾功能,方便后續(xù)檢索;

(4)為保證磁盤的使用壽命,不可以頻繁進行IO磁盤的操作。



技術實現(xiàn)要素:

本發(fā)明根據(jù)上述現(xiàn)有技術中存在的問題,提供一種兩級緩沖機制的日志管理系統(tǒng)設計方法,具有高可靠性、接口方便易用、日志記錄可控、IO磁盤頻率可控。

為解決上述問題,本發(fā)明采用的技術方案是:一種兩級緩沖機制的日志管理系統(tǒng)設計方法,其特征在于,采用兩級緩沖機制對日志進行存儲管理,其中第一級緩沖區(qū)分配給調用日志注冊接口函數(shù)的進程,第二級緩沖區(qū)用于緩沖所有從第一級緩沖區(qū)拷貝過來的日志記錄;具體包括以下步驟:

日志調用進程申請第一級緩沖區(qū);

日志監(jiān)測程序將滿足拷貝條件的日志記錄從第一級緩沖區(qū)拷貝到第二級緩沖區(qū);

日志監(jiān)測程序將符合輸出條件的日志記錄并產(chǎn)生日志文件輸出。

進一步地,所述日志調用進程申請第一級緩沖區(qū);具體包括:

當日志管理系統(tǒng)接收到進程的注冊請求時,采用全局內存的方式給進程分配日志記錄緩沖區(qū),并將全局內存指針傳遞給調用該日志注冊接口函數(shù)的進程;

當日志管理系統(tǒng)接收到進程的銷號請求時,提供銷號函數(shù)并回收對應的內存空間。

進一步地,所述銷號請求,具體包括:監(jiān)測模塊監(jiān)測到已注冊的進程退出時或已注冊的進程異常時,啟動銷號記錄并將進程信息寫入商用數(shù)據(jù)庫。

進一步地,所述進程信息包括注冊時間、銷號時間、分配到的緩沖區(qū)指針以及緩沖區(qū)ID信息。

進一步地,所述日志注冊接口函數(shù)包括以下參數(shù):調用接口的進程名稱、日志的記錄級別、調用接口的位置信息和日志的具體記錄信息。

進一步地,所述第一緩沖區(qū)采用循環(huán)覆蓋的方式將日志記錄寫入,當記錄的數(shù)目超過緩沖區(qū)最大記錄數(shù)目的一半時,達到拷貝條件。

進一步地,所述第二緩沖區(qū)采用循環(huán)覆蓋的方式拷貝第一級緩沖區(qū)的日志記錄,當記錄的數(shù)目超過第二級緩沖區(qū)最大記錄數(shù)目的一半時,達到輸出條件。

進一步地,所述第二緩沖區(qū)采用循環(huán)覆蓋的方式拷貝第一級緩沖區(qū)的日志記錄,當?shù)诙壘彌_區(qū)在一定時間未進行任何輸出操作時,達到輸出條件。

本發(fā)明的有益效果:

本發(fā)明提供的日志管理系統(tǒng)設計方法具有高可靠性、接口方便易用、日志記錄可控、IO磁盤頻率可控的特點:

為應用程序提供一個日志操作接口,能夠滿足多應用程序的并發(fā)訪問;

通過設置第一緩沖區(qū)和第二緩沖區(qū),使得日志能夠妥善保存到磁盤,為應用程序起到調試和事故追憶的作用;

對日志詳細詳盡的記錄,具備日志過濾功能,方便后續(xù)檢索;

通過設置緩沖區(qū),不需要頻繁進行IO磁盤的操作,保證磁盤的使用壽命。

附圖說明

圖1為本發(fā)明提出一種兩級緩沖機制的日志管理系統(tǒng)設計方法流程圖;

圖2為本發(fā)明提出的一種兩級緩沖機制的日志管理系統(tǒng)設計方法總體實現(xiàn)示意圖;

圖3為本發(fā)明中的第一級緩沖區(qū)LogBuffer記錄過程示意圖;

圖4為本發(fā)明中的第二級緩沖區(qū)記錄過程示意圖。

具體實施方式

以下結合附圖對本發(fā)明進行進一步的說明。

本發(fā)明提供的兩級緩沖機制的日志管理系統(tǒng)設計方法,主要內容為:

統(tǒng)一分配每個進程(線程)的日志記錄緩沖區(qū),提供注冊函數(shù)給進程用來獲取緩沖區(qū)指針,在進程退出時提供銷號函數(shù);

監(jiān)測已注冊的進程或線程的狀態(tài),發(fā)現(xiàn)異常,將啟動相應的記錄或銷號措施;

將進程的注冊時間、銷號時間、分配到的緩沖區(qū)指針、緩沖區(qū)ID等信息統(tǒng)一寫入商用數(shù)據(jù)庫。

參見圖1和圖2,其中圖1為本發(fā)明提出一種兩級緩沖機制的日志管理系統(tǒng)設計方法流程圖;圖2為本發(fā)明提出的一種兩級緩沖機制的日志管理系統(tǒng)設計方法總體實現(xiàn)示意圖。

如圖1和圖2所示,一種兩級緩沖機制的日志管理系統(tǒng)設計方法,其特征在于,采用兩級緩沖機制對日志進行存儲管理,其中第一級緩沖區(qū)分配給調用日志注冊接口函數(shù)的進程,第二級緩沖區(qū)用于緩沖所有從第一級緩沖區(qū)拷貝過來的日志記錄;具體包括以下步驟:

步驟101,日志調用進程申請第一級緩沖區(qū);

在上述步驟101中,日志調用進程申請第一級緩沖區(qū);具體包括:

當日志管理系統(tǒng)接收到進程的注冊請求時,采用全局內存的方式給進程分配日志記錄緩沖區(qū),并將全局內存指針傳遞給調用該日志注冊接口函數(shù)的進程;

每一個全局內存指向一個LogBuffer的結構體,其結構信息如下表1所示:

表1

對于第一級緩沖區(qū)LogBuffer的記錄情況,參見圖3。

當日志管理系統(tǒng)接收到進程的銷號請求時,提供銷號函數(shù)并回收對應的內存空間。

其中銷號請求,具體為:監(jiān)測模塊監(jiān)測到已注冊的進程退出時或已注冊的進程異常時,啟動銷號記錄并將進程信息寫入商用數(shù)據(jù)庫。

進程信息包括注冊時間、銷號時間、分配到的緩沖區(qū)指針以及緩沖區(qū)ID信息。

日志管理系統(tǒng)采用全局內存的方式,日志管理系統(tǒng)根據(jù)應用規(guī)模為每個進程預先劃分獨立的緩沖區(qū),在接收到進程的注冊請求時,向進程分配第一緩沖區(qū)進行存儲,第二緩沖區(qū)在系統(tǒng)初始化時向操作系統(tǒng)申請獲得,第一緩沖區(qū)根據(jù)應用規(guī)模為每個進程預先劃分獨立的緩沖區(qū)塊,可以滿足應用程序的并發(fā)訪問,保證寫日志的效率,避免資源競爭帶來的沖突,為每個進程分配一個獨立的共享內存空間(緩沖區(qū))。

步驟102,日志監(jiān)測程序將滿足拷貝條件的日志記錄從第一級緩沖區(qū)拷貝到第二級緩沖區(qū);

本發(fā)明實施例中,為避免頻繁IO磁盤,設計兩級緩沖區(qū),日志管理系統(tǒng)中提供一個監(jiān)測程序(簡稱LogManageProc)來查詢緩沖區(qū)的記錄情況,當滿足一定條件時輸出日志;

參見圖4為本發(fā)明中的第二級緩沖區(qū)記錄過程示意圖。

當LogBuffer中的日志半滿時,監(jiān)測程序LogManageProc讀出一半的Log記錄后不直接IO磁盤,而是將其拷貝到第二級緩沖區(qū)。

LogManageProc判斷第二級緩沖區(qū)的存儲情況,符合條件時再進行IO磁盤操作。

步驟103,日志監(jiān)測程序將符合輸出條件的日志記錄并產(chǎn)生日志文件輸出。

本發(fā)明實施例中,通過監(jiān)測模塊實時查詢兩級緩沖區(qū)的存儲情況,當?shù)谝患壘彌_區(qū)滿足拷貝條件時,將日志記錄從第一級緩沖區(qū)拷貝到第二級緩沖區(qū),當?shù)诙壘彌_區(qū)滿足輸出條件時,將第二級緩沖區(qū)中的日志記錄輸出。

本發(fā)明提供的日志管理系統(tǒng)設計方法為保證日志記錄的信息詳實和方便后續(xù)檢索,日志注冊接口函數(shù)的參數(shù)包括:

①調用該接口的進程的名稱;

②日志的記錄級別(LEVEL_TRACE、LEVEL_DEBUG、LEVEL_WARN、LEVEL_ERR等);

③調用該接口的位置信息(在哪個函數(shù)體中,處在代碼的第幾行等);

④日志的具體記錄信息(關鍵變量的值或資源的使用情況等)。

通過設置日志監(jiān)測程序對第一緩沖區(qū)和第二緩沖區(qū)記錄數(shù)目進行監(jiān)測,當達到設定條件時,可以自動從第一緩沖區(qū)拷貝到第二緩沖區(qū),第二緩沖區(qū)輸出日志文件,整個過程自動完成,不需要人工干預,操作簡單,使用方便;

其中第一緩沖區(qū)采用循環(huán)覆蓋的方式將日志記錄寫入,當記錄的數(shù)目超過緩沖區(qū)最大記錄數(shù)目的一半時,達到拷貝條件;

第二緩沖區(qū)采用循環(huán)覆蓋的方式拷貝第一級緩沖區(qū)的日志記錄,當記錄的數(shù)目超過第二級緩沖區(qū)最大記錄數(shù)目的一半時,達到輸出條件。

在上述第二級緩沖區(qū)中的日志記錄在長時間沒有記錄超過第二級緩沖區(qū)的最大記錄數(shù)目的一半時,可以通過設定時間對第二緩沖區(qū)的日志輸出,即第二緩沖區(qū)采用循環(huán)覆蓋的方式拷貝第一級緩沖區(qū)的日志記錄,當?shù)诙壘彌_區(qū)在一定時間未進行任何輸出操作時,達到輸出條件。

日志管理系統(tǒng)是計算機應用系統(tǒng)開發(fā)的一個重要組成部分,是應用程序開發(fā)過程中的一個重要調試手段。通過記錄系統(tǒng)運行的軌跡,當系統(tǒng)運行出現(xiàn)異常時,通過查閱運行過程的日志記錄,運營維護人員可以定位到異常出現(xiàn)的位置,為解決問題提供參考。

本發(fā)明提供的日志管理系統(tǒng)設計方法具有高可靠性、接口方便易用、日志記錄可控、IO磁盤頻率可控的特點:

為應用程序提供一個日志操作接口,能夠滿足多應用程序的并發(fā)訪問;

通過設置第一緩沖區(qū)和第二緩沖區(qū),使得日志能夠妥善保存到磁盤,為應用程序起到調試和事故追憶的作用;

對日志詳細詳盡的記錄,具備日志過濾功能,方便后續(xù)檢索;

通過設置緩沖區(qū),不需要頻繁進行IO磁盤的操作,保證磁盤的使用壽命。

上面結合附圖對本發(fā)明優(yōu)選實施方式作了詳細說明,但是本發(fā)明不限于上述實施方式,在本領域普通技術人員所具備的知識范圍內,還可以在不脫離本發(fā)明宗旨的前提下做出各種變化。不脫離本發(fā)明的構思和范圍可以做出許多其他改變和改型。應當理解,本發(fā)明不限于特定的實施方式,本發(fā)明的范圍由所附權利要求限定。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1