基于Linux的GPONONU設備的日志管理方法及裝置制造方法【專利摘要】本發明公開了一種基于Linux的GPON?ONU設備的日志管理方法及裝置,涉及基于Linux的嵌入式設備的日志管理領域。該方法包括初始化日志文件列表;創建文件系統監控對象,將日志文件列表中的所有日志文件加入文件系統監控對象;文件系統監控對象被觸發后,獲取當前日志文件的大小;若當前日志文件大于最大存儲空間,回滾當前日志文件,發送重啟信號給日志記錄系統;日志記錄系統關閉當前所有的日志文件;重新接收日志信息,繼續等待文件系統監控對象被觸發。本發明能夠合理的控制日志文件的儲存空間和GPON?ONU設備的儲存空間;GPON?ONU設備能夠在無人值守的環境下正常運行,不易發生損壞,比較安全。【專利說明】基于Linux的GPONONU設備的日志管理方法及裝置【
技術領域:
】[0001]本發明涉及基于Linux的嵌入式設備的日志管理領域,具體涉及一種基于Linux的GPONONU設備的日志管理方法及裝置。【
背景技術:
】[0002]Linux是一種基于POSIX(PortableOperatingSystemInterface,可移植操作系統接口)和UNIX的開源的操作系統;Linux不僅能夠支持多種硬件平臺,而且包含豐富的網絡協議支持。隨著通信技術的發展,越來越多嵌入式通信設備采用Linux操作系統。[0003]基于Linux的GPONONU(GigabitPassiveOpticalNetworkOpticalNetworkUnit,吉比特無源光網絡的光網絡單元)設備是一種網絡終端設備,GPONONU設備的部署數量龐大、且部署位置分散。由于GPONONU設備需要在無人值守的環境下長期運行,因此對于GPONONU設備的網絡管理和維護而言,記錄GPONONU設備的日志信息十分重要。[0004]由于GPONONU設備上的存貯空間十分有限,因此需要控制GPONONU設備的日志信息,以保證GPONONU設備擁有合理的存貯空間。目前,傳統的Linux系統采用syslog(系統日志)記錄和管理日志信息;由于syslog不具備控制日志文件大小的功能,因此syslog記錄日志信息的同時,需要通過cron(計劃任務機制)定時回滾日志文件。[0005]但是,GPONONU設備通過syslog記錄和管理日志信息時,存在以下缺陷:[0006]GPONONU設備在異常情況下使用時,GPONONU設備在短時間內可能產生大量的日志信息。syslog記錄和管理日志信息時,cron根據設定的時間定時回滾日志文件;在兩次回滾日志文件之間的時間段內,GPONONU設備可能產生大量的日志信息,進而占用GPONONU設備全部的存儲空間。由于GPONONU設備在無人值守的環境下運行,因此GPONONU設備的存儲空間全部占用后,難以及時得到處理。GPONONU設備的存儲空間全部占用一段時間后,GPONONU設備可能無法正常運行、甚至發生損壞,存在一定的安全隱患。【
發明內容】[0007]針對現有技術中存在的缺陷,本發明的目的在于提供一種基于Linux的GPONONU設備的日志管理方法及裝置,能夠合理的控制日志文件的儲存空間和GPONONU設備的儲存空間;GP0NONU設備能夠在無人值守的環境下正常運行,不易發生損壞,比較安全。[0008]為達到以上目的,本發明采取的技術方案是:一種基于Linux的GPONONU設備的日志管理方法,包括以下步驟:[0009]A、讀取GPONONU設備的日志配置文件,對日志配置文件進行解析,得到日志文件的文件名和日志文件的最大存儲空間;根據日志文件的文件名和日志文件的最大存儲空間,初始化日志文件列表;日志文件列表的每個日志文件的表項中均包括該日志文件的文件名信息和日志文件的最大存儲空間信息;創建文件系統監控對象,將日志文件列表中的所有日志文件加入文件系統監控對象;[0010]B、等待文件系統監控對象被觸發,若GPONONU設備的日志記錄系統將日志信息記錄在相應的日志文件中,則文件系統監控對象被觸發;從文件系統監控對象中讀取觸發事件,根據文件名信息確定記錄當前日志信息的日志文件,獲取當前日志文件的大小;[0011]C、判斷當前日志文件的日志信息占用的空間是否大于當前日志文件的最大存儲空間,若不是,重新執行步驟B,否則轉到步驟D;[0012]D、在文件系統監控對象中刪除當前日志文件,將當前日志文件重命名為當前備份文件后再次加入文件系統監控對象,發送重啟信號給日志記錄系統;日志記錄系統收到重啟信號后,關閉當前所有的日志文件;重新讀取并解析GPONONU設備的日志配置文件,接收日志信息,重新執行步驟B。[0013]在上述技術方案的基礎上,步驟B還包括以下步驟:若GPONONU設備的日志記錄系統未將日志信息記錄在相應的日志文件中,則文件系統監控對象未被觸發,重新執行步驟B。[0014]在上述技術方案的基礎上,步驟B中所述GPONONU設備的日志記錄系統將日志信息記錄在相應的日志文件中包括以下步驟:日志記錄系統根據已讀取的配置文件的設定、日志信息的類別和級別,將日志信息記錄在相應的日志文件中。[0015]在上述技術方案的基礎上,步驟D中將當前日志文件重命名為當前備份文件后再次加入文件系統監控對象包括以下步驟:若文件系統監控對象中已有備份文件,則將當前備份文件覆蓋已有備份文件。[0016]在上述技術方案的基礎上,步驟D之后還包括以下步驟:循環執行步驟B至步驟D,直至GPONONU設備工作結束。[0017]一種實現上述日志管理方法的基于Linux的GPONONU設備的日志管理裝置,包括文件系統監控對象創建模塊、文件系統監控對象觸發模塊、日志信息占用空間判斷模塊和文件系統監控對象執行模塊;[0018]文件系統監控對象創建模塊,用于:讀取GPONONU設備的日志配置文件,對日志配置文件進行解析,得到日志文件的文件名和日志文件的最大存儲空間;根據日志文件的文件名和日志文件的最大存儲空間,初始化日志文件列表;日志文件列表的每個日志文件的表項中均包括該日志文件的文件名信息和日志文件的最大存儲空間信息;創建文件系統監控對象,將日志文件列表中的所有日志文件加入文件系統監控對象,向文件系統監控對象觸發模塊發送觸發信號;[0019]文件系統監控對象觸發模塊,用于:收到觸發信號后,等待文件系統監控對象被觸發,若GPONONU設備的日志記錄系統將日志信息記錄在相應的日志文件中,則文件系統監控對象被觸發;從文件系統監控對象中讀取觸發事件,根據文件名信息確定記錄當前日志信息的日志文件,獲取當前日志文件的大小,向日志信息占用空間判斷模塊發送日志信息判斷信號,[0020]日志信息占用空間判斷模塊,用于:收到文件系統監控對象觸發模塊發送的日志信息判斷信號后,判斷當前日志文件的日志信息占用的空間是否大于當前日志文件的最大存儲空間,若不是,向文件系統監控對象觸發模塊發送觸發信號,否則向文件系統監控對象執行模塊發送執行信號;[0021]文件系統監控對象執行模塊,用于:收到日志信息占用空間判斷模塊發送的執行信號后,在文件系統監控對象中刪除當前日志文件,將當前日志文件重命名為當前備份文件后再次加入文件系統監控對象,發送重啟信號給日志記錄系統;日志記錄系統收到重啟信號后,關閉當前所有的日志文件;重新讀取并解析GPONONU設備的日志配置文件,接收日志信息,向文件系統監控對象觸發模塊發送觸發信號。[0022]在上述技術方案的基礎上,所述文件系統監控對象觸發模塊包括文件系統監控對象觸發子模塊;所述文件系統監控對象觸發子模塊,用于:當GPONONU設備的日志記錄系統未將日志信息記錄在相應的日志文件時,則文件系統監控對象未被觸發,重新向文件系統監控對象觸發模塊發送觸發信號。[0023]在上述技術方案的基礎上,所述文件系統監控對象觸發模塊還包括日志信息記錄模塊;所述日志信息記錄模塊,用于:控制日志記錄系統根據已讀取的配置文件的設定、日志信息的類別和級別,將日志信息記錄在相應的日志文件中。[0024]在上述技術方案的基礎上,所述文件系統監控對象執行模塊包括日志文件備份模塊;所述日志文件覆蓋模塊,用于:當文件系統監控對象中已有備份文件時,將當前備份文件覆蓋已有備份文件。[0025]與現有技術相比,本發明的優點在于:[0026]通過本發明的方法管理GPONONU設備的日志信息時,文件系統監控對象能夠始終監控日志文件內的日志信息是否超過設定的最大儲存空間;當日志文件的日志信息超過最大儲存空間時,文件系統監控對象能夠自動回滾當前日志文件的日志信息,并要求日志記錄系統重啟后重新記錄日志信息。因此,本發明能夠合理控制日志文件的儲存空間,進而使得GPONONU設備始終留有空余的儲存空間;GPONONU設備能夠在無人值守的環境下正常運行,不易發生損壞,比較安全。【專利附圖】【附圖說明】[0027]圖1為本發明實施中的日志記錄系統工作的結構框圖;[0028]圖2為本發明實施例中基于Linux的GPONONU設備的日志管理方法的流程圖。【具體實施方式】[0029]以下結合附圖及實施例對本發明作進一步詳細說明。[0030]參見圖1所示,首先介紹一下現有日志記錄系統記錄日志信息的工作方法:[0031]日志記錄系統的守護進程syslogd讀取并解析日志配置文件,接收日志信息(日志信息的來源包括內核和用戶進程)。守護進程syslogd根據日志信息的類別、級別和配置文件中的設定,將日志信息記錄在相應的日志文件中、并等待接收下一條日志信息;守護進程syslogd還可以將日志信息打印在終端設備上、或者通過通信管道將日志信息發送至其他進程進行處理。[0032]參見圖2所示,本發明實施例提供的一種基于Linux的GPONONU設備的日志管理方法,包括以下步驟:[0033]S1、讀取GPONONU設備的日志配置文件,對日志配置文件進行解析,得到日志文件的文件名和日志文件的最大存儲空間。根據日志文件的文件名和日志文件的最大存儲空間,初始化日志文件列表;日志文件列表的每個日志文件的表項中均包括該日志文件的文件名信息和日志文件的最大存儲空間信息。[0034]S2、創建文件系統監控對象,將日志文件列表中的所有日志文件加入文件系統監控對象。[0035]S3、等待文件系統監控對象被觸發,若GPONONU設備的日志記錄系統將日志信息記錄在相應的日志文件中,則文件系統監控對象被觸發,轉到S4;若GPONONU設備的日志記錄系統未將日志信息記錄在相應的日志文件中,則文件系統監控對象未被觸發,重新執行S3。[0036]日志記錄系統將日志信息記錄在相應的日志文件中時,日志記錄系統根據已讀取的配置文件的設定、日志信息的類別和級別,將日志信息記錄在相應的日志文件中。[0037]S4、從文件系統監控對象中讀取觸發事件,根據文件名信息確定記錄當前日志信息的日志文件,獲取當前日志文件的大小,轉到S5。[0038]S5、判斷當前日志文件的日志信息占用的空間是否大于當前日志文件的最大存儲空間,若不是,重新執行S3,否則轉到S6。[0039]S6、在文件系統監控對象中刪除當前日志文件,將當前日志文件重命名為當前備份文件后再次加入文件系統監控對象(若文件系統監控對象中已有備份文件,則將當前備份文件覆蓋已有備份文件);發送重啟信號給日志記錄系統,轉到S7。[0040]S7、日志記錄系統收到重啟信號后,關閉當前所有的日志文件;重新讀取并解析GPONONU設備的日志配置文件,接收日志信息;轉到S3。[0041]循環執行S3至S7,直至GPONONU設備工作結束。[0042]下面,通過一個實施例對詳細說明本發明的方法。[0043]本實施例的應用系統包括日志記錄系統和日志回滾系統。[0044]步驟一、日志記錄系統讀取并解析GPONONU設備的日志配置文件,接收日志信息;根據配置文件的設定、日志信息的類別和級別,將日志信息記錄在相應的日志文件中。[0045]步驟二、日志回滾系統讀取GPONONU設備的日志配置文件,對日志配置文件進行解析,得到日志文件的文件名和日志文件的最大存儲空間。根據日志文件的文件名和日志文件的最大存儲空間,初始化日志文件列表;日志文件列表的每個日志文件的表項中均包括該日志文件的文件名信息和日志文件的最大存儲空間信息。創建文件系統監控對象,將日志文件列表中的所有日志文件加入文件系統監控對象。[0046]步驟三、結束日志回滾系統的進程,僅通過日志記錄系統記錄日志信息,隨著日志信息的增多,日志文件越來越大。日志文件的大小超過日志文件最大的存儲空間后,GPONONU設備功能異常、并且重啟后無法恢復。清空GPONONU設備的日志文件,重新啟動GPONONU設備和日志回滾系統。[0047]步驟四、日志記錄系統將日志信息記錄在相應的日志文件中后,日志回滾系統的文件系統監控對象被觸發,從文件系統監控對象中讀取觸發事件,根據文件名信息確定記錄當前日志信息的日志文件,獲取當前日志文件的大小。當前日志文件的日志信息大小大于當前日志文件的最大存儲空間,在文件系統監控對象中刪除當前日志文件,將當前日志文件重命名為備份文件,將重命名為備份文件的日志文件加入文件系統監控對象,發送重啟信號給日志記錄系統。[0048]步驟五、日志記錄系統收到重啟信號后,關閉當前所有的日志文件;重新讀取并解析GPONONU設備的日志配置文件,接收日志信息;根據配置文件的設定、日志信息的類別和級別,將日志信息記錄在相應的日志文件中,轉到步驟四。[0049]循環執行步驟四至步驟五,直至GPONONU設備結束。[0050]本放實施例中的實現上述日志管理方法的基于Linux的GPONONU設備的日志管理裝置,包括文件系統監控對象創建模塊、文件系統監控對象觸發模塊、日志信息占用空間判斷模塊和文件系統監控對象執行模塊。[0051]文件系統監控對象創建模塊,用于:讀取GPONONU設備的日志配置文件,對日志配置文件進行解析,得到日志文件的文件名和日志文件的最大存儲空間;根據日志文件的文件名和日志文件的最大存儲空間,初始化日志文件列表;日志文件列表的每個日志文件的表項中均包括該日志文件的文件名信息和日志文件的最大存儲空間信息;創建文件系統監控對象,將日志文件列表中的所有日志文件加入文件系統監控對象,向文件系統監控對象觸發模塊發送觸發信號。[0052]文件系統監控對象觸發模塊,用于:收到觸發信號后,等待文件系統監控對象被觸發,若GPONONU設備的日志記錄系統將日志信息記錄在相應的日志文件中,則文件系統監控對象被觸發;從文件系統監控對象中讀取觸發事件,根據文件名信息確定記錄當前日志信息的日志文件,獲取當前日志文件的大小,向日志信息占用空間判斷模塊發送日志信息判斷信號。[0053]文件系統監控對象觸發模塊包括文件系統監控對象觸發子模塊;文件系統監控對象觸發子模塊,用于:當GPONONU設備的日志記錄系統未將日志信息記錄在相應的日志文件時,則文件系統監控對象未被觸發,重新向文件系統監控對象觸發模塊發送觸發信號。[0054]文件系統監控對象觸發模塊還包括日志信息記錄模塊;日志信息記錄模塊,用于:控制日志記錄系統根據已讀取的配置文件的設定、日志信息的類別和級別,將日志信息記錄在相應的日志文件中。[0055]日志信息占用空間判斷模塊,用于:收到文件系統監控對象觸發模塊發送的日志信息判斷信號后,判斷當前日志文件的日志信息占用的空間是否大于當前日志文件的最大存儲空間,若不是,向文件系統監控對象觸發模塊發送觸發信號,否則向文件系統監控對象執行模塊發送執行信號。[0056]文件系統監控對象執行模塊,用于:收到日志信息占用空間判斷模塊發送的執行信號后,在文件系統監控對象中刪除當前日志文件,將當前日志文件重命名為當前備份文件后再次加入文件系統監控對象,發送重啟信號給日志記錄系統;日志記錄系統收到重啟信號后,關閉當前所有的日志文件;重新讀取并解析GPONONU設備的日志配置文件,接收日志信息,向文件系統監控對象觸發模塊發送觸發信號。[0057]文件系統監控對象執行模塊包括日志文件備份模塊;日志文件覆蓋模塊,用于:當文件系統監控對象中已有備份文件時,將當前備份文件覆蓋已有備份文件。[0058]本發明不局限于上述實施方式,對于本【
技術領域:
】的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發明的保護范圍之內。本說明書中未作詳細描述的內容屬于本領域專業技術人員公知的現有技術。【權利要求】1.一種基于Linux的GPONONU設備的日志管理方法,其特征在于,包括以下步驟:A、讀取GPONONU設備的日志配置文件,對日志配置文件進行解析,得到日志文件的文件名和日志文件的最大存儲空間;根據日志文件的文件名和日志文件的最大存儲空間,初始化日志文件列表;日志文件列表的每個日志文件的表項中均包括該日志文件的文件名信息和日志文件的最大存儲空間信息;創建文件系統監控對象,將日志文件列表中的所有日志文件加入文件系統監控對象;B、等待文件系統監控對象被觸發,若GPONONU設備的日志記錄系統將日志信息記錄在相應的日志文件中,則文件系統監控對象被觸發;文件系統監控對象被觸發后,從文件系統監控對象中讀取觸發事件,根據文件名信息確定記錄當前日志信息的日志文件,獲取當前日志文件的大小;C、判斷當前日志文件的日志信息占用的空間是否大于當前日志文件的最大存儲空間,若不是,重新執行步驟B,否則轉到步驟D;D、在文件系統監控對象中刪除當前日志文件,將當前日志文件重命名為當前備份文件后再次加入文件系統監控對象,發送重啟信號給日志記錄系統;日志記錄系統收到重啟信號后,關閉當前所有的日志文件;重新讀取并解析GPONONU設備的日志配置文件,接收日志信息,重新執行步驟B。2.如權利要求1所述的基于Linux的GPONONU設備的日志管理方法,其特征在于,步驟B還包括以下步驟:若GPONONU設備的日志記錄系統未將日志信息記錄在相應的日志文件中,則文件系統監控對象未被觸發,重新執行步驟B。3.如權利要求1所述的基于Linux的GPONONU設備的日志管理方法,其特征在于:步驟B中所述GPONONU設備的日志記錄系統將日志信息記錄在相應的日志文件中包括以下步驟:日志記錄系統根據已讀取的配置文件的設定、日志信息的類別和級別,將日志信息記錄在相應的日志文件中。4.如權利要求1所述的基于Linux的GPONONU設備的日志管理方法,其特征在于:步驟D中所述將當前日志文件重命名為當前備份文件后再次加入文件系統監控對象包括以下步驟:若文件系統監控對象中已有備份文件,則將當前備份文件覆蓋已有備份文件。5.如權利要求1至4任一項所述的基于Linux的GPONONU設備的日志管理方法,其特征在于:步驟D之后還包括以下步驟:循環執行步驟B至步驟D,直至GPONONU設備工作結束。6.一種實現權利要求1至5任一項所述日志管理方法的基于Linux的GPONONU設備的日志管理裝置,其特征在于:包括文件系統監控對象創建模塊、文件系統監控對象觸發模塊、日志信息占用空間判斷模塊和文件系統監控對象執行模塊;文件系統監控對象創建模塊,用于:讀取GPONONU設備的日志配置文件,對日志配置文件進行解析,得到日志文件的文件名和日志文件的最大存儲空間;根據日志文件的文件名和日志文件的最大存儲空間,初始化日志文件列表;日志文件列表的每個日志文件的表項中均包括該日志文件的文件名信息和日志文件的最大存儲空間信息;創建文件系統監控對象,將日志文件列表中的所有日志文件加入文件系統監控對象,向文件系統監控對象觸發模塊發送觸發信號;文件系統監控對象觸發模塊,用于:收到觸發信號后,等待文件系統監控對象被觸發,若GPONONU設備的日志記錄系統將日志信息記錄在相應的日志文件中,則文件系統監控對象被觸發;從文件系統監控對象中讀取觸發事件,根據文件名信息確定記錄當前日志信息的日志文件,獲取當前日志文件的大小,向日志信息占用空間判斷模塊發送日志信息判斷信號,日志信息占用空間判斷模塊,用于:收到文件系統監控對象觸發模塊發送的日志信息判斷信號后,判斷當前日志文件的日志信息占用的空間是否大于當前日志文件的最大存儲空間,若不是,向文件系統監控對象觸發模塊發送觸發信號,否則向文件系統監控對象執行模塊發送執行信號;文件系統監控對象執行模塊,用于:收到日志信息占用空間判斷模塊發送的執行信號后,在文件系統監控對象中刪除當前日志文件,將當前日志文件重命名為當前備份文件后再次加入文件系統監控對象,發送重啟信號給日志記錄系統;日志記錄系統收到重啟信號后,關閉當前所有的日志文件;重新讀取并解析GPONONU設備的日志配置文件,接收日志信息,向文件系統監控對象觸發模塊發送觸發信號。7.如權利要求6所述的基于Linux的GPONONU設備的日志管理裝置,其特征在于:所述文件系統監控對象觸發模塊包括文件系統監控對象觸發子模塊;所述文件系統監控對象觸發子模塊,用于:當GPONONU設備的日志記錄系統未將日志信息記錄在相應的日志文件時,則文件系統監控對象未被觸發,重新向文件系統監控對象觸發模塊發送觸發信號。8.如權利要求6所述的基于Linux的GPONONU設備的日志管理裝置,其特征在于:所述文件系統監控對象觸發模塊還包括日志信息記錄模塊;所述日志信息記錄模塊,用于:控制日志記錄系統根據已讀取的配置文件的設定、日志信息的類別和級別,將日志信息記錄在相應的日志文件中。9.如權利要求6至8任一項所述的基于Linux的GPONONU設備的日志管理裝置,其特征在于:所述文件系統監控對象執行模塊包括日志文件備份模塊;所述日志文件覆蓋模塊,用于:當文件系統監控對象中已有備份文件時,將當前備份文件覆蓋已有備份文件。【文檔編號】G06F11/34GK103984622SQ201410159471【公開日】2014年8月13日申請日期:2014年4月18日優先權日:2014年4月18日【發明者】鄭明,吳軍平,劉新峰,錢凱申請人:烽火通信科技股份有限公司