專利名稱:客戶端/服務(wù)器架構(gòu)下的系統(tǒng)日志文件的更新方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計(jì)算機(jī)系統(tǒng)日志文件的自動(dòng)更新方法,特別涉及一種客戶端/報(bào)務(wù)器架構(gòu)下的計(jì)算機(jī)系統(tǒng)日志文件的更新方法。
背景技術(shù):
日志是用戶和管理員都應(yīng)該注意的地方之一。日志文件對(duì)網(wǎng)絡(luò)安全具有重要作用,因?yàn)槿罩疚募軌蛟敿?xì)記錄系統(tǒng)每天發(fā)生的各種各樣的事件。用戶可以通過(guò)日志文件檢查錯(cuò)誤產(chǎn)生的原因,或者在受到攻擊和黑客入侵時(shí)追蹤攻擊者的蹤跡。日志的兩個(gè)比較重要的作用是審核和監(jiān)測(cè)。日志記錄了系統(tǒng)每天發(fā)生的各種各樣的事情,用戶可以通過(guò)它來(lái)檢查錯(cuò)誤發(fā)生的原因,或者尋找受到攻擊時(shí)攻擊者留下的痕跡。日志還可以實(shí)時(shí)地監(jiān)測(cè)系統(tǒng)狀態(tài),監(jiān)測(cè)和追蹤侵入者。系統(tǒng)管理員通過(guò)系統(tǒng)日志掌握系統(tǒng)運(yùn)行情況,診斷系統(tǒng)問(wèn)題。對(duì)于嵌入式實(shí)時(shí)系統(tǒng)尤為重要。系統(tǒng)管理員通過(guò)定期檢查日志文件來(lái)了解系統(tǒng)的運(yùn)行狀況,對(duì)日志文件作分類保存,以備日后檢索查看,以了解在一段時(shí)間內(nèi)系統(tǒng)運(yùn)行的變化。
系統(tǒng)日志可以記錄在本地,對(duì)于嵌入式通訊設(shè)備,可以以文件方式紀(jì)錄到本地的flash盤上,也可以通過(guò)網(wǎng)絡(luò)上傳給遠(yuǎn)程的服務(wù)器,目前上傳方式主要有通過(guò)SYSLOG協(xié)議上傳給SYSLOG服務(wù)器,或者以FTP(File TransferProtocol)方式上傳給FTP服務(wù)器。
在實(shí)際應(yīng)用中,有些系統(tǒng)日志量巨大,比如路由器設(shè)備中的NAT應(yīng)用。當(dāng)完成一條NAT條目轉(zhuǎn)換,即產(chǎn)生一條日志記錄上傳給FTP服務(wù)器。FTP服務(wù)器收到后追加到指定文件中,這樣會(huì)使服務(wù)端的日志文件越來(lái)越大,核心路由器一天產(chǎn)生的NAT日志就有幾十G之巨,這樣大的日志文件查看和維護(hù)都是極不方便的,必須有一種方式不需要系統(tǒng)管理員干預(yù),系統(tǒng)能自動(dòng)依據(jù)用戶的要求生成新日志文件,并停止使用舊日志文件。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題在于提供了一種系統(tǒng)日志文件的更新方法,可以依據(jù)用戶要求、并且不需要在服務(wù)器端增加特殊配置??梢园凑沼脩舻囊笞詣?dòng)停止使用當(dāng)前的日志文件,在服務(wù)端產(chǎn)生新日志文件并寫入日志記錄。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種客戶端/服務(wù)器架構(gòu)下的系統(tǒng)日志文件更新方法,包括如下步驟(1)在客戶端設(shè)備中配置服務(wù)器端用戶名,以及日志文件更新條件;(2)當(dāng)客戶端設(shè)備收到系統(tǒng)內(nèi)部產(chǎn)生的日志記錄后,根據(jù)用戶名在服務(wù)器端找到該用戶名對(duì)應(yīng)的日志文件,并根據(jù)所述配置的服務(wù)器端日志文件更新條件檢測(cè)服務(wù)器端正在使用的日志文件是否已經(jīng)滿足更新條件;(3)如果原日志文件滿足更新條件,則由客戶端設(shè)備生成新的日志文件名,發(fā)送新日志文件名到服務(wù)器端并由服務(wù)器建立以客戶端發(fā)送的新日志文件名為文件名的新的日志文件;(4)將當(dāng)前日志記錄上傳服務(wù)器設(shè)備后寫入新日志文件中,停止使用原日志文件,開始使用新日志文件。
所述方法中如果原日志文件未滿足更新條件,則將當(dāng)前日志記錄上傳服務(wù)器設(shè)備后追加到原日志文件中并繼續(xù)使用原日志文件。
所述方法步驟(1)中,配置的日志文件更新條件可以為日志文件的生成周期還可以為日志文件的容量大小。
所述方法步驟(1)中,還可以在客戶端配置服務(wù)器端的用戶密碼信息、服務(wù)器端的IP地址信息及指定用戶登錄后的家目錄。
所述方法步驟(1)中,還可以在客戶端配置服務(wù)器端的日志文件名前綴。
所述方法步驟(3)中,客戶端生成新日志文件名的方法可以是在日志文件名前綴后面加上序列號(hào)或時(shí)戳。
所述方法步驟(3)中將日志記錄上傳服務(wù)器設(shè)備的方法可以是a.在設(shè)備測(cè)的客戶端設(shè)置一個(gè)定時(shí)器;b.當(dāng)客戶端產(chǎn)生新的日志記錄時(shí),由設(shè)備側(cè)的客戶端與服務(wù)器端建立控制連接,隨后客戶端先后向服務(wù)器端發(fā)送用戶名登錄服務(wù)器;c.客戶端啟動(dòng)定時(shí)器,每隔一定時(shí)間觸發(fā)定時(shí)器,觸發(fā)間隔內(nèi)無(wú)數(shù)據(jù)需要上傳時(shí),由客戶端主動(dòng)關(guān)閉客戶端與服務(wù)器連接,若定時(shí)器觸發(fā)前收到需要上傳的數(shù)據(jù)時(shí),重置定時(shí)器;d.觸發(fā)間隔內(nèi)均無(wú)日志記錄需要上傳,由客戶端主動(dòng)關(guān)閉與服務(wù)器端的數(shù)據(jù)連接與控制連接。
利用本發(fā)明,可以簡(jiǎn)單、方便的實(shí)現(xiàn)對(duì)日志文件的動(dòng)態(tài)上傳、查詢與歸檔,不需要任何人工干預(yù),且保證了傳輸?shù)目煽啃浴?br>
圖1為本發(fā)明實(shí)施例所應(yīng)用于的網(wǎng)絡(luò)結(jié)構(gòu)圖;圖2為根據(jù)本發(fā)明實(shí)施例所述的系統(tǒng)日志文件更新方法流程圖。
具體實(shí)施例方式
如圖1所示,為本發(fā)明實(shí)施例所應(yīng)用于的網(wǎng)絡(luò)結(jié)構(gòu)圖,包括客戶端設(shè)備100,F(xiàn)TP服務(wù)器200。
其中,客戶端設(shè)備100,可以產(chǎn)生系統(tǒng)日志,具備TCP/IP聯(lián)網(wǎng)能力,具有FTP客戶端的功能;FTP服務(wù)器200,運(yùn)行FTP服務(wù)器軟件的設(shè)備,可以是PC機(jī)也可以是專用FTP服務(wù)器。
對(duì)FTP服務(wù)器200而言,通訊設(shè)備100是FTP客戶端,用戶在通訊設(shè)備100上配置FTP服務(wù)器200的用戶名,密碼,日志文件名和FTP服務(wù)器的IP地址。并可配置產(chǎn)生新日志文件的條件,如1、當(dāng)前日志容量達(dá)到指定大小。
2、指定生成新日志文件的生成的周期,幾小時(shí),幾天,幾周,幾月等等。
設(shè)備側(cè)的FTP的客戶端100收到系統(tǒng)內(nèi)部產(chǎn)生的日志后,根據(jù)用戶的配置的FTP服務(wù)器端地址和用戶名,密碼,日志文件名并檢測(cè)用戶的配置要求,檢測(cè)當(dāng)前FTP服務(wù)器端的日志文件大小,日志文件生成的時(shí)間等,看是否達(dá)到生成新日志文件的條件。達(dá)到指定的條件即通過(guò)FTP指令在服務(wù)端建立新日志文件。
如圖2所示,為根據(jù)本發(fā)明實(shí)施例所述的系統(tǒng)日志文件更新方法流程圖,其具體步驟為(步驟201)用戶在FTP服務(wù)端配置好用戶名和密碼,并指定該用戶登錄后的家目錄(home directory)。該用戶對(duì)家目錄具有讀寫,列表權(quán)限。
(步驟202)在設(shè)備側(cè)配置對(duì)應(yīng)FTP服務(wù)端的用戶名,密碼,日志名前綴。并配置是否需要指定生成新日志文件的條件,用戶可以指定生成新日志的具體條件,如日志文件的容量限制,生成的周期等,并指定日志文件名前綴。
(步驟203)設(shè)備產(chǎn)生日志,設(shè)備側(cè)的FTP客戶端收到新日志條目,依據(jù)用戶配置的用戶名密碼,服務(wù)端的IP地址,查找當(dāng)前與FTP服務(wù)端的FTP連接,如果沒有找到連接,表明當(dāng)前客戶端還沒有與服務(wù)端的可用連接,需要重新建立連接(控制連接和數(shù)據(jù)連接)。
(步驟204)如果在客戶端檢測(cè)到連接已存在(查找條件是服務(wù)器端地址、用戶名、密碼、文件名全部相符),則可以直接進(jìn)行文件傳輸,在傳輸前首先判斷當(dāng)前的系統(tǒng)日期是否已達(dá)到了用戶指定的要求更換日志文件的周期(例如,每天更換一次日志文件),如果已滿足更換日志文件條件,則關(guān)閉當(dāng)前的FTP連接,使用新的文件名創(chuàng)建FTP連接,轉(zhuǎn)到步驟208處理,否則轉(zhuǎn)到步驟212處理。
(步驟205)在客戶端繼續(xù)檢測(cè)當(dāng)前上傳所用文件的容量是否已達(dá)到用戶配置的指定日志容量大小(命令SIZE filename\r\n),如果達(dá)到指定或超過(guò)指定的容量,同樣地,關(guān)閉當(dāng)前的FTP連接,使用新的文件名創(chuàng)建FTP連接,轉(zhuǎn)到步驟208處理。
(步驟206)如果日志文件已經(jīng)產(chǎn)生,日志條目就以FTP追加方式寫入新日志中,否則寫入當(dāng)前正在使用的日志文件中。
(步驟207)如果產(chǎn)生新日志文件的條件滿足,在用戶配置的日志文件名前綴后面加上序列號(hào)或者當(dāng)前時(shí)戳,生成新的文件名。主動(dòng)向FTP服務(wù)器端發(fā)起連接請(qǐng)求,其連接建立與傳輸過(guò)程如下所述。
(步驟208)首先由設(shè)備側(cè)的客戶端與FTP服務(wù)器端建立控制連接,隨后由客戶端先后向服務(wù)器端發(fā)送用戶名與密碼(命令USER username\r\n發(fā)送用戶名以及命令PASS password\r\n發(fā)送密碼),從而登錄FTP服務(wù)器。
(步驟209)登錄成功后,客戶端發(fā)送文件類型為二進(jìn)制的命令(TYPEI\r\n)給服務(wù)器端。
(步驟210)設(shè)備側(cè)客戶端設(shè)置數(shù)據(jù)傳輸模式為被動(dòng)方式(發(fā)送命令PASV\r\n),并取出服務(wù)器端回應(yīng)信息中的數(shù)據(jù)連接的端口號(hào)。
(步驟211)客戶端向FTP服務(wù)端發(fā)出文件上傳命令,通過(guò)APPEND指令(命令A(yù)PPE filename\r\n)并送出新文件名。服務(wù)端收到后,由于指定文件名不存在,即創(chuàng)建大小為空的新文件,并開始文件的傳輸。
(步驟212)客戶端啟動(dòng)定時(shí)器,每隔30秒鐘觸發(fā),以檢測(cè)當(dāng)30秒內(nèi)無(wú)數(shù)據(jù)需要上傳時(shí),由客戶端主動(dòng)關(guān)閉TCP連接,若定時(shí)器觸發(fā)前收到需要上傳的數(shù)據(jù)時(shí),定時(shí)器被重置。
(步驟213)每當(dāng)有內(nèi)容需要上傳,客戶端通過(guò)APPEND指令完成文件的上傳,同時(shí)重置定時(shí)器,而服務(wù)器端收到后,由于文件已存在,則采用追加方式實(shí)現(xiàn)文件上載。
(步驟214)若30秒內(nèi)均沒有日志需要上傳,則由客戶端主動(dòng)關(guān)閉FTP的數(shù)據(jù)連接與控制連接。
綜上所述,本發(fā)明提供了一種系統(tǒng)日志更新方法,避免了FTP服務(wù)器的日志文件過(guò)大,而且,日志文件能按日期分類整理,可以按用戶要求,達(dá)到一定條件即自動(dòng)在FTP服務(wù)端生成新日志文件,并將新產(chǎn)生的日志寫入新日志文件。
本實(shí)施例中使用的FTP技術(shù)符合FTP RFC959標(biāo)準(zhǔn),實(shí)現(xiàn)了簡(jiǎn)單、方便的查詢與歸檔的日志文件,改變了以往以一個(gè)或若干個(gè)文件記錄日志的實(shí)現(xiàn)方法,便于用戶依據(jù)日期進(jìn)行日志內(nèi)容的檢索,同樣便于日志文檔的管理與維護(hù)。同時(shí),本發(fā)明可以根據(jù)需要,指定日志文件的容量。這樣實(shí)現(xiàn)的好處,避免某些大容量日志文件,雖然記錄了大量信息,但文件打開、查找操作都很耗時(shí),該發(fā)明實(shí)現(xiàn)定量定制日志文件。此外,通過(guò)FTP協(xié)議的TCP層,保證了日志的可靠傳輸,為避免出現(xiàn)長(zhǎng)期占用TCP連接不釋放的情況,當(dāng)定時(shí)收不到日志信息,本發(fā)明還可以主動(dòng)關(guān)閉本次FTP連接,等下一次日志信息需要傳送時(shí),再進(jìn)行新的FTP連接的建立。
權(quán)利要求
1.一種客戶端/服務(wù)器架構(gòu)下的系統(tǒng)日志文件更新方法,其特征在于,包括如下步驟(1)在客戶端設(shè)備中配置服務(wù)器端用戶名,以及日志文件更新條件;(2)當(dāng)客戶端設(shè)備收到系統(tǒng)內(nèi)部產(chǎn)生的日志記錄后,根據(jù)用戶名在服務(wù)器端找到該用戶名對(duì)應(yīng)的日志文件,并根據(jù)所述配置的服務(wù)器端日志文件更新條件檢測(cè)服務(wù)器端正在使用的日志文件是否已經(jīng)滿足更新條件;(3)如果原日志文件滿足更新條件,則由客戶端設(shè)備生成新的日志文件名,發(fā)送新日志文件名到服務(wù)器端并由服務(wù)器建立以客戶端發(fā)送的新日志文件名為文件名的新的日志文件;(4)將當(dāng)前日志記錄上傳服務(wù)器設(shè)備后寫入新日志文件中,停止使用原日志文件,開始使用新日志文件。
2.如權(quán)利要求1所述的方法,其特征在于,所述方法中如果原日志文件未滿足更新條件,則將當(dāng)前日志記錄上傳服務(wù)器設(shè)備后追加到原日志文件中并繼續(xù)使用原日志文件。
3.如權(quán)利要求1所述的方法,其特征在于,所述步驟(1)中,配置的日志文件更新條件為日志文件的生成周期。
4.如權(quán)利要求1所述的方法,其特征在于,所述步驟(1)中,配置的日志文件更新條件為日志文件的容量大小。
5.如權(quán)利要求1所述的方法,其特征在于,所述步驟(1)中,還包括客戶端配置服務(wù)器端的用戶密碼信息、服務(wù)器端的IP地址信息及指定用戶登錄后的家目錄。
6.如權(quán)利要求1所述的方法,其特征在于,所述步驟(1)中,還包括客戶端配置服務(wù)器端的日志文件名前綴;所述步驟(3)中,客戶端生成新日志文件名的方法是在日志文件名前綴后面加上序列號(hào)或時(shí)戳。
7.如權(quán)利要求1所述的方法,其特征在于,所述步驟(4)中將日志記錄上傳服務(wù)器設(shè)備的步驟是先由設(shè)備側(cè)的客戶端與服務(wù)器端建立控制連接,隨后客戶端先后向服務(wù)器端發(fā)送用戶名登錄服務(wù)器,日志記錄上傳結(jié)束后,由客戶端關(guān)閉與服務(wù)器端的數(shù)據(jù)連接與控制連接。
8.如權(quán)利要求1所述的方法,其特征在于,所述步驟(4)中將日志記錄上傳服務(wù)器設(shè)備的步驟是a.在設(shè)備測(cè)的客戶端設(shè)置一個(gè)定時(shí)器,并設(shè)定定時(shí)器觸發(fā)間隔;b.當(dāng)客戶端產(chǎn)生新的日志記錄時(shí),由設(shè)備側(cè)的客戶端與服務(wù)器端建立控制連接,隨后客戶端先后向服務(wù)器端發(fā)送用戶名登錄服務(wù)器;c.客戶端啟動(dòng)定時(shí)器,在定時(shí)器觸發(fā)間隔內(nèi)無(wú)數(shù)據(jù)需要上傳時(shí),由客戶端主動(dòng)關(guān)閉客戶端與服務(wù)器連接,若定時(shí)器觸發(fā)前收到需要上傳的數(shù)據(jù)時(shí),重置定時(shí)器;d.觸發(fā)間隔內(nèi)均無(wú)日志記錄需要上傳,由客戶端主動(dòng)關(guān)閉與服務(wù)器端的數(shù)據(jù)連接與控制連接。
全文摘要
本發(fā)明提供了一種可以依據(jù)用戶設(shè)置條件自動(dòng)停止使用當(dāng)前日志文件,在服務(wù)端產(chǎn)生新日志文件并在新日志文件中寫入日志記錄的方法。具體做法是客戶端設(shè)備收到系統(tǒng)內(nèi)部產(chǎn)生的日志記錄后,根據(jù)配置的服務(wù)器端用戶名以及日志文件更新條件檢測(cè)日志文件是否已經(jīng)滿足更新條件;如果原日志文件滿足更新條件,則建立新的日志文件;將當(dāng)前日志記錄寫入新日志文件中,停止使用原日志文件。如果原日志文件未滿足更新條件,則將當(dāng)前日志記錄追加到原日志文件中。本發(fā)明方法可以生成目錄結(jié)構(gòu)明確的日志文件,便于用戶依據(jù)日期進(jìn)行日志內(nèi)容的檢索,同樣便于日志文檔的管理與維護(hù)。
文檔編號(hào)H04L29/06GK1984139SQ20061006568
公開日2007年6月20日 申請(qǐng)日期2006年3月21日 優(yōu)先權(quán)日2005年12月16日
發(fā)明者陶文強(qiáng), 張麗暉 申請(qǐng)人:中興通訊股份有限公司