[發(fā)明專利]一種日志文件的生成方法和裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201710333566.X | 申請(qǐng)日: | 2017-05-12 |
| 公開(kāi)(公告)號(hào): | CN107193558B | 公開(kāi)(公告)日: | 2020-12-01 |
| 發(fā)明(設(shè)計(jì))人: | 李曉梅 | 申請(qǐng)(專利權(quán))人: | 北京五八信息技術(shù)有限公司 |
| 主分類號(hào): | G06F11/30 | 分類號(hào): | G06F11/30;G06F11/34 |
| 代理公司: | 工業(yè)和信息化部電子專利中心 11010 | 代理人: | 于金平 |
| 地址: | 100083 北京市海淀區(qū)學(xué)清*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 日志 文件 生成 方法 裝置 | ||
本發(fā)明公開(kāi)了一種日志文件的生成方法和裝置。所述方法包括:調(diào)用非阻塞輸入/輸出接口NIO為應(yīng)用程序映射緩存區(qū)域;將運(yùn)行所述應(yīng)用程序所產(chǎn)生的數(shù)據(jù)寫(xiě)入到所述緩存區(qū)域中;根據(jù)所述緩存區(qū)域中的數(shù)據(jù),生成與所述應(yīng)用程序?qū)?yīng)的日志文件。本發(fā)明通過(guò)NIO的方式為應(yīng)用程序映射緩存區(qū)域,并在緩存區(qū)域中寫(xiě)入運(yùn)行應(yīng)用程序所產(chǎn)生的數(shù)據(jù),避免了由于主線程被阻塞而造成的日志生成延時(shí)或失敗的問(wèn)題,本發(fā)明也無(wú)需設(shè)置用于生成日志文件的獨(dú)立線程,可以節(jié)省系統(tǒng)資源,避免了在寫(xiě)日志的過(guò)程中,因獨(dú)立線程被強(qiáng)制關(guān)閉而造成的日志文件丟失問(wèn)題。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種日志文件的生成方法和裝置。
背景技術(shù)
日志文件是用于收集bug(漏洞)或者跟蹤用戶操作軌跡的文件。
目前,通常采用調(diào)用IO(Input/Output,輸入/輸出)API(ApplicationProgramming Interface,應(yīng)用程序編程接口)的方式生成日志文件。具體的,使用FileOutputStream(文件輸出流)以字節(jié)為單位,讀取應(yīng)用程序的運(yùn)行狀態(tài),并根據(jù)讀取到的信息生成日志文件。
在現(xiàn)有技術(shù)中,為了防止由于主線程被阻塞而造成的日志生成延時(shí)或失敗,需要設(shè)置獨(dú)立的線程,用以調(diào)用IO API,進(jìn)而能夠及時(shí)讀取應(yīng)用程序的運(yùn)行狀態(tài),并生成日志文件。
可見(jiàn),現(xiàn)有技術(shù)中生成日志文件的方式由于需要設(shè)置獨(dú)立線程,而占用了過(guò)多的系統(tǒng)資源,并且,如果該線程被強(qiáng)制關(guān)閉,容易造成日志文件丟失的現(xiàn)象。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種日志文件的生成方法和裝置,用以解決現(xiàn)有寫(xiě)日志方式影響性能且容易丟失的問(wèn)題。
根據(jù)上述技術(shù)問(wèn)題,本發(fā)明是通過(guò)以下技術(shù)方案來(lái)解決的:
本發(fā)明提供了一種日志文件的生成方法,包括:調(diào)用非阻塞輸入/輸出接口NIO為應(yīng)用程序映射緩存區(qū)域;將運(yùn)行所述應(yīng)用程序所產(chǎn)生的數(shù)據(jù)寫(xiě)入到所述緩存區(qū)域中;根據(jù)所述緩存區(qū)域中的數(shù)據(jù),生成與所述應(yīng)用程序?qū)?yīng)的日志文件。
其中,所述調(diào)用NIO為所述應(yīng)用程序映射緩存區(qū)域,包括:在使用一個(gè)賬號(hào)登錄所述應(yīng)用程序時(shí),調(diào)用所述NIO為所述應(yīng)用程序映射緩存區(qū)域。
其中,在使用一個(gè)賬號(hào)登錄所述應(yīng)用程序時(shí),調(diào)用所述NIO為所述應(yīng)用程序映射緩存區(qū)域之后,將運(yùn)行所述應(yīng)用程序所產(chǎn)生的數(shù)據(jù)寫(xiě)入到所述緩存區(qū)域中之前,還包括:在切換到另一賬號(hào)登錄所述應(yīng)用程序時(shí),調(diào)用所述NIO為以當(dāng)前賬號(hào)登錄的所述應(yīng)用程序映射新的緩存區(qū)域;所述將運(yùn)行所述應(yīng)用程序所產(chǎn)生的數(shù)據(jù)寫(xiě)入到所述緩存區(qū)域中,包括:在切換到所述另一賬號(hào)登錄所述應(yīng)用程序后,將運(yùn)行以當(dāng)前賬號(hào)登錄的所述應(yīng)用程序所產(chǎn)生的數(shù)據(jù)寫(xiě)入到所述已映射的新的緩存區(qū)域中。
其中,所述根據(jù)所述緩存區(qū)域中的數(shù)據(jù),生成與所述應(yīng)用程序?qū)?yīng)的日志文件,包括:如果所述應(yīng)用程序進(jìn)行了登錄賬號(hào)切換,則根據(jù)所述應(yīng)用程序先、后映射的緩存區(qū)域中的數(shù)據(jù),采用鏈表模式,為所述應(yīng)用程序生成前一個(gè)賬號(hào)和后一個(gè)賬號(hào)分別對(duì)應(yīng)的日志文件。
其中,所述采用鏈表模式,為所述應(yīng)用程序生成前一個(gè)賬號(hào)和后一個(gè)賬號(hào)分別對(duì)應(yīng)的日志文件,包括:在前一個(gè)賬號(hào)對(duì)應(yīng)的日志文件中,記錄后一個(gè)賬號(hào)對(duì)應(yīng)的日志文件的信息;在后一個(gè)賬號(hào)對(duì)應(yīng)的日志文件中,記錄前一個(gè)賬號(hào)對(duì)應(yīng)的日志文件的信息。
其中,所述調(diào)用NIO為所述應(yīng)用程序映射緩存區(qū)域,包括:調(diào)用所述NIO,為使用當(dāng)前賬號(hào)登錄的所述應(yīng)用程序分配文件通道FileChannel;通過(guò)所述FileChannel為使用當(dāng)前賬號(hào)的所述應(yīng)用程序映射緩存區(qū)域;所述將運(yùn)行所述應(yīng)用程序所產(chǎn)生的數(shù)據(jù)寫(xiě)入到所述緩存區(qū)域中,包括:利用與所述FileChannel對(duì)應(yīng)的內(nèi)存映射MappedByteBuffer將以當(dāng)前賬號(hào)登錄的所述應(yīng)用程序所產(chǎn)生的數(shù)據(jù)寫(xiě)入所述緩存區(qū)域中。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京五八信息技術(shù)有限公司,未經(jīng)北京五八信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710333566.X/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 一種基于精簡(jiǎn)策略的集群系統(tǒng)的日志管理優(yōu)化方法
- 日志分離方法及裝置
- 日志服務(wù)器處理日志的方法和裝置
- 一種基于負(fù)載均衡的文件系統(tǒng)日志模型
- 日志生成方法、應(yīng)用服務(wù)器、日志服務(wù)器及日志生成系統(tǒng)
- 一種多線程日志輸出的方法及裝置
- 一種日志分析方法、系統(tǒng)、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 日志解析方法、裝置、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 日志處理方法及設(shè)備
- 一種日志檢測(cè)方法、裝置、終端及服務(wù)器
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





