求,可以包括:根據(jù)內(nèi)存緩沖區(qū)中保存的日志的生成時(shí)間,識(shí)別最后一個(gè)日志的生成時(shí)間,判斷該生成時(shí)間與當(dāng)前時(shí)間的時(shí)間間隔是否達(dá)到設(shè)定的第一時(shí)間長(zhǎng)度閾值。本領(lǐng)域技術(shù)人員可以理解,由于日志的打印時(shí)間和生成時(shí)間間隔非常短,因此可以用生成時(shí)間代替打印時(shí)間,進(jìn)而判斷是否有較長(zhǎng)一段時(shí)間沒(méi)有打印日志。這樣,在較長(zhǎng)一段時(shí)間沒(méi)有打印日志的情況下,也可以把內(nèi)存緩沖區(qū)中的日志及時(shí)地進(jìn)行封裝并發(fā)送,提高日志收集的實(shí)時(shí)性。
[0052]在本發(fā)明的另一實(shí)施方式中,圖lb所示的方法實(shí)施例中的步驟S101中,按照設(shè)定的時(shí)間間隔,判斷內(nèi)存緩沖區(qū)中保存的日志是否滿足設(shè)定要求,可以包括:判斷內(nèi)存緩沖區(qū)中保存的日志中是否存在故障類型的日志。當(dāng)應(yīng)用程序或者系統(tǒng)等發(fā)生故障而不再打印日志時(shí),本發(fā)明也能實(shí)現(xiàn)將內(nèi)存緩沖區(qū)的日志及時(shí)地發(fā)送給服務(wù)器,提高了日志收集的實(shí)時(shí)性。
[0053]將所述http請(qǐng)求發(fā)送至服務(wù)器時(shí),可能會(huì)遇到多種情況,例如,終端運(yùn)行良好,網(wǎng)絡(luò)暢通,第一次發(fā)送http請(qǐng)求后,服務(wù)器就接收成功了 ;或者h(yuǎn)ttp請(qǐng)求正準(zhǔn)備發(fā)送時(shí),終端遭遇斷電、死機(jī)等故障,或者終端運(yùn)行良好,而網(wǎng)絡(luò)不暢通,最終導(dǎo)致發(fā)送不成功,服務(wù)器未能成功接收該http請(qǐng)求。因此,在本發(fā)明的另一實(shí)施方式中,圖lb所示的方法實(shí)施例中的步驟S103中,將所述http請(qǐng)求發(fā)送至服務(wù)器之后,還可以包括:識(shí)別所述http請(qǐng)求的發(fā)送時(shí)間,判斷所述發(fā)送時(shí)間與當(dāng)前時(shí)間的時(shí)間間隔是否達(dá)到設(shè)定的第二時(shí)間長(zhǎng)度閾值,如果是,則重新發(fā)送所述http請(qǐng)求。
[0054]在實(shí)際應(yīng)用中,每成功接收一個(gè)http請(qǐng)求,服務(wù)器將發(fā)出一個(gè)響應(yīng)信息,以說(shuō)明接收成功;當(dāng)服務(wù)器未接收到http請(qǐng)求時(shí),不發(fā)出響應(yīng)信息。
[0055]在本實(shí)施例中,一種情況是,識(shí)別所述http請(qǐng)求的發(fā)送時(shí)間,判斷所述發(fā)送時(shí)間與當(dāng)前時(shí)間的時(shí)間間隔是否達(dá)到設(shè)定的第二時(shí)間長(zhǎng)度閾值,如果是,則檢測(cè)有無(wú)響應(yīng)信息,若無(wú)響應(yīng)信息,則重新發(fā)送所述http請(qǐng)求。為了保證日志的準(zhǔn)確發(fā)送,確定接收到的響應(yīng)信息是針對(duì)哪個(gè)時(shí)間發(fā)送的http請(qǐng)求的,在本發(fā)明實(shí)施例中設(shè)定該第二時(shí)間長(zhǎng)度閾值時(shí),需要考慮發(fā)送http請(qǐng)求的對(duì)應(yīng)條件,其中,第二時(shí)間長(zhǎng)度閾值應(yīng)小于相鄰兩次發(fā)送http請(qǐng)求的時(shí)間差。因此需要合理地設(shè)置日志的數(shù)量閾值,或者第一時(shí)間長(zhǎng)度閾值等信息。
[0056]或者,為了準(zhǔn)確地確定接收到的響應(yīng)信息是針對(duì)哪個(gè)http請(qǐng)求的,以便進(jìn)行重傳操作,可以在每個(gè)http請(qǐng)求中添加標(biāo)識(shí)信息,該標(biāo)識(shí)信息可以包括發(fā)送該http請(qǐng)求的時(shí)間或者該http請(qǐng)求的序號(hào)等信息。當(dāng)服務(wù)器返回響應(yīng)信息時(shí),在該響應(yīng)信息中攜帶該http請(qǐng)求中的標(biāo)識(shí)信息,從而可以準(zhǔn)確判斷哪個(gè)http請(qǐng)求需要重傳。
[0057]可見(jiàn),在本實(shí)施例中,當(dāng)所述http請(qǐng)求未發(fā)送成功時(shí),本發(fā)明也能實(shí)現(xiàn)將該http請(qǐng)求進(jìn)行重新發(fā)送,直到將其成功發(fā)送至服務(wù)器,能夠確保日志數(shù)據(jù)不丟失,提高日志收集過(guò)程的可靠性。
[0058]圖2為本發(fā)明實(shí)施例提供的一種日志收集的裝置的結(jié)構(gòu)示意圖,與圖lb所示的流程示意圖相對(duì)應(yīng),包括:判斷模塊201、日志封裝模塊202和http請(qǐng)求發(fā)送模塊203。具體說(shuō)明如下:
[0059]判斷模塊201,用于按照設(shè)定的時(shí)間間隔,判斷內(nèi)存緩沖區(qū)中保存的日志是否滿足設(shè)定要求,其中內(nèi)存緩沖區(qū)的日志為解析到日志打印命令時(shí)生成的;如果是,則將內(nèi)存緩沖區(qū)中的日志封裝在http請(qǐng)求中。
[0060]日志封裝模塊202,將內(nèi)存緩沖區(qū)中的日志封裝在http請(qǐng)求中。
[0061 ] http請(qǐng)求發(fā)送模塊203,用于將所述http請(qǐng)求發(fā)送至服務(wù)器,以使服務(wù)器存儲(chǔ)所述http請(qǐng)求中的日志。
[0062]由于上述裝置實(shí)施例是基于日志收集的方法實(shí)施例得到的,與該方法具有相同的技術(shù)效果,因此裝置實(shí)施例的技術(shù)效果在此不再贅述。
[0063 ]在本發(fā)明的另一實(shí)施方式中,圖2中判斷模塊201具體可以包括:
[0064]第一判斷子模塊(圖中未示出),用于獲取內(nèi)存緩沖區(qū)中保存的日志的數(shù)量,判斷該數(shù)量是否達(dá)到預(yù)設(shè)數(shù)量閾值。
[0065]在本發(fā)明的另一實(shí)施方式中,圖2中判斷模塊201具體可以包括:
[0066]第二判斷子模塊(圖中未示出),用于根據(jù)內(nèi)存緩沖區(qū)中保存的日志的生成時(shí)間,識(shí)別最后一個(gè)日志的生成時(shí)間,判斷該生成時(shí)間與當(dāng)前時(shí)間的時(shí)間間隔是否達(dá)到設(shè)定的第一時(shí)間長(zhǎng)度閾值。
[0067]在本發(fā)明的另一實(shí)施方式中,圖2中判斷模塊201具體可以包括:
[0068]第三判斷子模塊(圖中未示出),用于判斷內(nèi)存緩沖區(qū)中保存的日志中是否存在故障類型的日志。
[0069]在本發(fā)明的另一實(shí)施方式中,圖2中http請(qǐng)求發(fā)送模塊203還可以包括:
[0070]重傳模塊(圖中未示出):用于在將所述http請(qǐng)求發(fā)送至服務(wù)器之后,識(shí)別所述http請(qǐng)求的發(fā)送時(shí)間,判斷所述發(fā)送時(shí)間與當(dāng)前時(shí)間的時(shí)間間隔是否達(dá)到設(shè)定的第二時(shí)間長(zhǎng)度閾值,如果是,則重新發(fā)送所述http請(qǐng)求。
[0071 ]由于上述裝置實(shí)施例是基于日志收集的方法實(shí)施例得到的,與該方法具有相同的技術(shù)效果,因此裝置實(shí)施例的技術(shù)效果在此不再贅述。
[0072]圖3為本發(fā)明實(shí)施例提供的一種日志收集的系統(tǒng)的結(jié)構(gòu)示意圖,包括如圖2所示的應(yīng)用于終端的日志收集裝置301,以及接收終端發(fā)送的http請(qǐng)求,并存儲(chǔ)所述http請(qǐng)求中的日志的服務(wù)器302。
[0073]由于上述系統(tǒng)實(shí)施例是基于日志收集的裝置實(shí)施例得到的,與該裝置具有相同的技術(shù)效果,因此系統(tǒng)實(shí)施例的技術(shù)效果在此不再贅述。
[0074]對(duì)于裝置和系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
[0075]需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0076]本領(lǐng)域普通技術(shù)人員可以理解,上述實(shí)施方式中的全部或部分步驟是能夠通過(guò)程序指令相關(guān)的硬件來(lái)完成的,所述的程序可以存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。這里所稱存儲(chǔ)介質(zhì),是指R0M/RAM、磁碟、光盤等。
[0077]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1.一種日志收集的方法,其特征在于,應(yīng)用于終端,所述方法包括步驟: 按照設(shè)定的時(shí)間間隔,判斷內(nèi)存緩沖區(qū)中保存的日志是否滿足設(shè)定要求,其中內(nèi)存緩沖區(qū)的日志為解析到日志打印命令時(shí)生成的; 如果是,則將內(nèi)存緩沖區(qū)中的日志封裝在http請(qǐng)求中; 將所述http請(qǐng)求發(fā)送至服務(wù)器,以使服務(wù)器存儲(chǔ)所述http請(qǐng)求中的日志。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷內(nèi)存緩沖區(qū)中保存的日志是否滿足設(shè)定要求,包括: 獲取內(nèi)存緩沖區(qū)中保存的日志的數(shù)量,判斷該數(shù)量是否達(dá)到預(yù)設(shè)數(shù)量閾值。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷內(nèi)存緩沖區(qū)中保存的日志是否滿足設(shè)定要求,包括: 根據(jù)內(nèi)存緩沖區(qū)中保存的日志的生成時(shí)間,識(shí)別最后一個(gè)日志的生成時(shí)間,判斷該生成時(shí)間與當(dāng)前時(shí)間的時(shí)間間隔是否達(dá)到設(shè)定的第一時(shí)間長(zhǎng)度閾值。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷內(nèi)存緩沖區(qū)中保存的日志是否滿足設(shè)定要求,包括: 判斷內(nèi)存緩沖區(qū)中保存的日志中是否存在故障類型的日志。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,在將所述http請(qǐng)求發(fā)送至服務(wù)器之后,所述方法還包括: 識(shí)別所述http請(qǐng)求的發(fā)送時(shí)間,判斷所述發(fā)送時(shí)間與當(dāng)前時(shí)間的時(shí)間間隔是否達(dá)到設(shè)定的第二時(shí)間長(zhǎng)度閾值,如果是,則重新發(fā)送所述http請(qǐng)求。6.—種日志收集的裝置,其特征在于,應(yīng)用于終端,所述裝置包括: 判斷模塊,用于按照設(shè)定的時(shí)間間隔,判斷內(nèi)存緩沖區(qū)中保存的日志是否滿足設(shè)定要求,其中內(nèi)存緩沖區(qū)的日志為解析到日志打印命令時(shí)生成的;如果是,則將內(nèi)存緩沖區(qū)中的日志封裝在http請(qǐng)求中; 日志封裝模塊,用于將內(nèi)存緩沖區(qū)中的日志封裝在http請(qǐng)求中;http請(qǐng)求發(fā)送模塊,用于將所述http請(qǐng)求發(fā)送至服務(wù)器,以使服務(wù)器存儲(chǔ)所述http請(qǐng)求中的日志。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述判斷模塊包括第一判斷子模塊;所述第一判斷子模塊,用于獲取內(nèi)存緩沖區(qū)中保存的日志的數(shù)量,判斷該數(shù)量是否達(dá)到預(yù)設(shè)數(shù)量閾值。8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述判斷模塊包括第二判斷子模塊;所述第二判斷子模塊,用于根據(jù)內(nèi)存緩沖區(qū)中保存的日志的生成時(shí)間,識(shí)別最后一個(gè)日志的生成時(shí)間,判斷該生成時(shí)間與當(dāng)前時(shí)間的時(shí)間間隔是否達(dá)到設(shè)定的第一時(shí)間長(zhǎng)度閾值。9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述判斷模塊包括第三判斷子模塊; 所述第三判斷子模塊,用于判斷內(nèi)存緩沖區(qū)中保存的日志中是否存在故障類型的日ν.、ι、ο10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述http請(qǐng)求發(fā)送模塊還包括重傳模塊; 所述重傳模塊,用于在將所述http請(qǐng)求發(fā)送至服務(wù)器之后,識(shí)別所述http請(qǐng)求的發(fā)送時(shí)間,判斷所述發(fā)送時(shí)間與當(dāng)前時(shí)間的時(shí)間間隔是否達(dá)到設(shè)定的第二時(shí)間長(zhǎng)度閾值,如果是,貝>J重新發(fā)送所述http請(qǐng)求。11.一種日志收集系統(tǒng),其特征在于,包括如權(quán)利要求6?10所述的應(yīng)用于終端的日志收集裝置,以及接收終端發(fā)送的http請(qǐng)求,并存儲(chǔ)所述http請(qǐng)求中的日志的服務(wù)器。
【專利摘要】本發(fā)明實(shí)施例提供了一種日志收集的方法、裝置和系統(tǒng)。所述方法的【具體實(shí)施方式】包括步驟:按照設(shè)定的時(shí)間間隔,判斷內(nèi)存緩沖區(qū)中保存的日志是否滿足設(shè)定要求,其中內(nèi)存緩沖區(qū)的日志為解析到日志打印命令時(shí)生成的;如果是,則將內(nèi)存緩沖區(qū)中的日志封裝在http請(qǐng)求中;將所述http請(qǐng)求發(fā)送至服務(wù)器,以使服務(wù)器存儲(chǔ)所述http請(qǐng)求中的日志。應(yīng)用本實(shí)施例,能夠減少對(duì)本地磁盤的占用,提高日志收集過(guò)程的可靠性。
【IPC分類】G06F11/34
【公開(kāi)號(hào)】CN105468502
【申請(qǐng)?zhí)枴緾N201510859510
【發(fā)明人】葉煒晨
【申請(qǐng)人】北京奇藝世紀(jì)科技有限公司
【公開(kāi)日】2016年4月6日
【申請(qǐng)日】2015年11月30日