国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種日志收集方法及裝置與流程

      文檔序號(hào):11949968閱讀:303來(lái)源:國(guó)知局
      一種日志收集方法及裝置與流程

      本發(fā)明實(shí)施例涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體涉及一種日志收集方法及裝置。



      背景技術(shù):

      隨著智能機(jī)器人的功能不斷完善,其智能化程度不斷提高,越來(lái)越多的智能機(jī)器人開(kāi)始進(jìn)入普通家庭,例如,掃地機(jī)器人、看家機(jī)器人等等,大大方便了人們的生活。然而,為了了解智能機(jī)器人的運(yùn)行狀態(tài),及時(shí)發(fā)現(xiàn)運(yùn)行過(guò)程中存在的故障和問(wèn)題,需要收集智能機(jī)器人運(yùn)行過(guò)程中的日志信息,幫助分析智能機(jī)器人的功能是否正確完成,以及各種參數(shù)指標(biāo)的情況。

      目前的智能機(jī)器人無(wú)法向手機(jī),平板等具有顯示屏幕的智能終端一樣方便觸摸,或者像穿戴型智能設(shè)備一樣,用戶(hù)可以直接觸發(fā)日志的收集。目前市面上的智能機(jī)器人觸發(fā)邏輯單一,日志收集不全,結(jié)果不穩(wěn)定,從而導(dǎo)致無(wú)法有效地通過(guò)日志對(duì)功能進(jìn)行診斷。同時(shí),只能被動(dòng)的等程序崩潰,才提交該段異常信息,而一旦程序奔潰后系統(tǒng)都會(huì)自動(dòng)清理,啟動(dòng)操作,程序能完成日志收集工作的概率很低。

      在實(shí)現(xiàn)本發(fā)明實(shí)施例的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有的智能機(jī)器人的日志收集方法僅在程序奔潰后觸發(fā)日志收集,導(dǎo)致日志收集不全,同時(shí)無(wú)法按需主動(dòng)收集日志。



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

      由于現(xiàn)有的智能機(jī)器人的日志收集方法僅在程序奔潰后觸發(fā)日志收集,導(dǎo)致日志收集不全,同時(shí)無(wú)法按需主動(dòng)收集日志的問(wèn)題,本發(fā)明提出一種日志收集方法及裝置。

      第一方面,本發(fā)明實(shí)施例提出一種日志收集方法,包括:

      判斷是否對(duì)終端應(yīng)用服務(wù)的對(duì)應(yīng)日志進(jìn)行收集;

      若需要進(jìn)行收集,則確定進(jìn)行收集的目標(biāo)應(yīng)用服務(wù)分別對(duì)應(yīng)日志收集的輸出級(jí)別;

      向終端發(fā)送收集預(yù)設(shè)輸出級(jí)別對(duì)應(yīng)的日志收集指令;

      分別接收所述終端發(fā)送的所述目標(biāo)應(yīng)用服務(wù)的所述預(yù)設(shè)輸出級(jí)別的對(duì)應(yīng)日志。

      優(yōu)選地,所述判斷是否對(duì)終端應(yīng)用服務(wù)的對(duì)應(yīng)日志進(jìn)行收集,進(jìn)一步包括:

      所述服務(wù)器根據(jù)當(dāng)前時(shí)間、當(dāng)前地點(diǎn)、當(dāng)前網(wǎng)絡(luò)情況和服務(wù)器內(nèi)存情況,判斷是否對(duì)終端所安裝的應(yīng)用服務(wù)的對(duì)應(yīng)日志進(jìn)行收集。

      優(yōu)選地,所述確定進(jìn)行收集的目標(biāo)應(yīng)用服務(wù)分別對(duì)應(yīng)日志收集的輸出級(jí)別,進(jìn)一步包括:

      根據(jù)日志狀態(tài)和故障修復(fù)狀態(tài),確定目標(biāo)應(yīng)用服務(wù)分別對(duì)應(yīng)的日志收集的輸出級(jí)別。

      優(yōu)選地,所述分別接收所述終端發(fā)送的所述目標(biāo)應(yīng)用服務(wù)的所述預(yù)設(shè)輸出級(jí)別的對(duì)應(yīng)日志,進(jìn)一步包括:

      分片接收所述終端發(fā)送的所述目標(biāo)應(yīng)用服務(wù)的所述預(yù)設(shè)輸出級(jí)別的對(duì)應(yīng)日志。

      優(yōu)選地,所述方法還包括:

      根據(jù)預(yù)設(shè)文件地址,將所述預(yù)設(shè)輸出級(jí)別對(duì)應(yīng)的日志存儲(chǔ)至所述預(yù)設(shè)文件中。

      優(yōu)選地,根據(jù)預(yù)設(shè)文件地址,所述方法還包括:

      對(duì)所述預(yù)設(shè)文件中存儲(chǔ)的日志進(jìn)行分析,生成分析結(jié)果并顯示。

      由上述技術(shù)方案可知,本發(fā)明實(shí)施例提供的日志收集方法通過(guò)服務(wù)器判斷確定是否進(jìn)行日志收集,能夠?qū)崿F(xiàn)服務(wù)器的主動(dòng)收集,避免了日志收集觸發(fā)單一的問(wèn)題;通過(guò)輸出級(jí)別收集不同的日志,能夠滿(mǎn)足用戶(hù)按需收集的要求,同時(shí)避免了日志收集不全的問(wèn)題。

      第二方面,本發(fā)明實(shí)施例還提出一種日志收集裝置,包括:

      日志收集確定模塊,用于判斷是否對(duì)終端應(yīng)用服務(wù)的對(duì)應(yīng)日志進(jìn)行收集;

      輸出級(jí)別確定模塊,用于若需要進(jìn)行收集,則確定進(jìn)行收集的目標(biāo)應(yīng)用服務(wù)分別對(duì)應(yīng)日志收集的輸出級(jí)別;

      指令發(fā)送模塊,用于向終端發(fā)送收集預(yù)設(shè)輸出級(jí)別對(duì)應(yīng)的日志收集指令;

      日志接收模塊,用于分別接收所述終端發(fā)送的所述目標(biāo)應(yīng)用服務(wù)的所述預(yù)設(shè)輸出級(jí)別的對(duì)應(yīng)日志。

      優(yōu)選地,所述日志收集確定模塊進(jìn)一步用于根據(jù)當(dāng)前時(shí)間、當(dāng)前地點(diǎn)、當(dāng)前網(wǎng)絡(luò)情況和服務(wù)器內(nèi)存情況,判斷是否對(duì)終端所安裝的應(yīng)用服務(wù)的對(duì)應(yīng)日志進(jìn)行收集。

      優(yōu)選地,所述輸出級(jí)別確定模塊進(jìn)一步用于根據(jù)日志狀態(tài)和故障修復(fù)狀態(tài),確定目標(biāo)應(yīng)用服務(wù)分別對(duì)應(yīng)的日志收集的輸出級(jí)別。

      優(yōu)選地,所述日志接收模塊進(jìn)一步用于分片接收所述終端發(fā)送的所述目標(biāo)應(yīng)用服務(wù)的所述預(yù)設(shè)輸出級(jí)別的對(duì)應(yīng)日志。

      優(yōu)選地,所述裝置還包括:

      存儲(chǔ)模塊,用于根據(jù)預(yù)設(shè)文件地址,將所述預(yù)設(shè)輸出級(jí)別對(duì)應(yīng)的日志存儲(chǔ)至所述預(yù)設(shè)文件中。

      優(yōu)選地,所述裝置還包括:

      日志分析模塊,用于對(duì)所述預(yù)設(shè)文件中存儲(chǔ)的日志進(jìn)行分析,生成分析結(jié)果并顯示。

      由上述技術(shù)方案可知,本發(fā)明實(shí)施例提供的日志收集裝置通過(guò)服務(wù)器判斷確定是否進(jìn)行日志收集,能夠?qū)崿F(xiàn)服務(wù)器的主動(dòng)收集,避免了日志收集觸發(fā)單一的問(wèn)題;通過(guò)輸出級(jí)別收集不同的日志,能夠滿(mǎn)足用戶(hù)按需收集的要求,同時(shí)避免了日志收集不全的問(wèn)題。

      附圖說(shuō)明

      為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些圖獲得其他的附圖。

      圖1為本發(fā)明一實(shí)施例提供的一種日志收集方法的流程示意圖;

      圖2為本發(fā)明另一實(shí)施例提供的一種日志收集方法的流程示意圖;

      圖3為本發(fā)明另一實(shí)施例提供的一種日志收集方法的流程示意圖;

      圖4為本發(fā)明一實(shí)施例提供的一種日志收集裝置的結(jié)構(gòu)示意圖。

      具體實(shí)施方式

      下面結(jié)合附圖,對(duì)發(fā)明的具體實(shí)施方式作進(jìn)一步描述。以下實(shí)施例僅用于更加清楚地說(shuō)明本發(fā)明的技術(shù)方案,而不能以此來(lái)限制本發(fā)明的保護(hù)范圍。

      圖1示出了本發(fā)明一實(shí)施例提供的一種日志收集方法的流程示意圖,包括:

      S101、判斷是否對(duì)終端應(yīng)用服務(wù)的對(duì)應(yīng)日志進(jìn)行收集;

      其中,服務(wù)器可根據(jù)判定規(guī)則,主動(dòng)對(duì)終端應(yīng)用服務(wù)的對(duì)應(yīng)日志進(jìn)行日志收集;所述判定規(guī)則可以為:根據(jù)智能機(jī)器人的日常工作時(shí)間表,選擇其空閑時(shí)間進(jìn)行日志收集,以不影響智能機(jī)器人的日常工作效率;或者,根據(jù)服務(wù)器當(dāng)前的網(wǎng)絡(luò)情況,當(dāng)網(wǎng)絡(luò)速度較快時(shí)進(jìn)行日志收集;或者,根據(jù)服務(wù)器當(dāng)前的內(nèi)存情況,當(dāng)空閑內(nèi)存大于閾值時(shí),進(jìn)行日志收集。

      或者,服務(wù)器也可以根據(jù)終端發(fā)送的監(jiān)控文件確定是否對(duì)終端各個(gè)應(yīng)用服務(wù)的日志進(jìn)行收集。具體地,在終端一側(cè),包括對(duì)各個(gè)應(yīng)用服務(wù)狀態(tài)進(jìn)行監(jiān)控的監(jiān)測(cè)服務(wù);所述監(jiān)控服務(wù)獲取各個(gè)應(yīng)用服務(wù)的狀態(tài),并根據(jù)預(yù)設(shè)時(shí)間間隔向服務(wù)器上傳監(jiān)控文件,所述監(jiān)控文件中包括各個(gè)應(yīng)用服務(wù)的運(yùn)行狀態(tài)。具體地,在終端一側(cè),包括多個(gè)應(yīng)用服務(wù),每個(gè)應(yīng)用服務(wù)都對(duì)應(yīng)一個(gè)或多個(gè)日志文件。

      通過(guò)判斷確定是否對(duì)終端應(yīng)用服務(wù)的對(duì)應(yīng)日志進(jìn)行日志收集,能夠?qū)θ罩臼占拈_(kāi)關(guān)進(jìn)行動(dòng)態(tài)控制。這樣可以靈活的控制日志的輸出與關(guān)閉,使得在沒(méi)有額外性能消耗的同時(shí),可以收集完整的日志數(shù)據(jù),以供后續(xù)進(jìn)行分析;同時(shí)通過(guò)服務(wù)端主動(dòng)發(fā)起收集指令,智能分析判斷收集,打破傳統(tǒng)被動(dòng)崩潰收集的模式,使得收集方式靈活多變,同時(shí)對(duì)智能機(jī)器人的故障診斷更全面。

      S102、若需要進(jìn)行收集,則確定進(jìn)行收集的目標(biāo)應(yīng)用服務(wù)分別對(duì)應(yīng)日志收集的輸出級(jí)別;

      具體地,根據(jù)預(yù)設(shè)規(guī)則判斷并確定各個(gè)應(yīng)用服務(wù)對(duì)應(yīng)的日志收集的輸出級(jí)別。

      舉例來(lái)說(shuō),所述預(yù)設(shè)規(guī)則可以為故障的嚴(yán)重程度,例如輕度故障、中度故障和重度故障;或者,故障的修復(fù)時(shí)間,例如1分鐘、10分鐘、30分鐘、3小時(shí)和2天;或者,可根據(jù)用戶(hù)的具體要求預(yù)先設(shè)定。

      其中,所述輸出級(jí)別為每個(gè)日志文件對(duì)應(yīng)的不同輸出要求,表示了對(duì)應(yīng)應(yīng)用服務(wù)運(yùn)行時(shí)產(chǎn)生的異常級(jí)別。

      舉例來(lái)說(shuō),可以將輸出級(jí)別從低到高分別設(shè)置為:i(infor,通知)、v(verbose,顯示詳細(xì)信息)、d(debug,可修復(fù)的)、w(warn,警告)和e(error,故障)。其中,i表示僅通知用戶(hù)發(fā)生錯(cuò)誤的日志,異常級(jí)別最低,v表示向用戶(hù)發(fā)送錯(cuò)誤的詳細(xì)信息日志,d表示告知用戶(hù)為可修復(fù)的錯(cuò)誤日志,w表示警告用戶(hù)需注意的錯(cuò)誤日志,e表示向用戶(hù)發(fā)送故障日志,異常級(jí)別最高。

      或者,所述輸出級(jí)別可用1級(jí)-5級(jí)表示,輸出級(jí)別為1級(jí)表示重要功能模塊的日志和出現(xiàn)故障的功能模塊的日志,需實(shí)時(shí)上傳的日志;輸出級(jí)別為2級(jí)表示次要功能模塊的日志,根據(jù)服務(wù)器的指令進(jìn)行上傳;輸出級(jí)別為3級(jí)表示普通功能模塊的日志,根據(jù)服務(wù)器的指令進(jìn)行上傳。當(dāng)日志文件M的輸出級(jí)別為2級(jí),且日志文件M對(duì)應(yīng)的功能模塊未出現(xiàn)故障,則當(dāng)服務(wù)器向智能機(jī)器人發(fā)送上傳2級(jí)日志時(shí),才向服務(wù)器上傳該日志文件M。

      或者,可根據(jù)用戶(hù)的具體要求定義所述輸出級(jí)別。

      具體地,在智能機(jī)器人端,需要進(jìn)行如下步驟:

      A1、在智能機(jī)器人端創(chuàng)建安裝于終端的監(jiān)測(cè)服務(wù)對(duì)象,每個(gè)應(yīng)用服務(wù)在各應(yīng)用服務(wù)的主入口處,根據(jù)監(jiān)測(cè)服務(wù)對(duì)象分別獲取到監(jiān)測(cè)服務(wù)對(duì)象的實(shí)例,進(jìn)而判斷是否對(duì)該應(yīng)用服務(wù)進(jìn)行日志收集;

      A2、對(duì)象初始化,各應(yīng)用服務(wù)分別獲取到該監(jiān)測(cè)服務(wù)對(duì)象實(shí)例之后各自調(diào)用初始化方法進(jìn)行初始化;

      其中,步驟A2中各應(yīng)用服務(wù)分別接收了一個(gè)監(jiān)測(cè)服務(wù)對(duì)象實(shí)例,根據(jù)檢測(cè)服務(wù)對(duì)象實(shí)例中定義的允許收集開(kāi)關(guān)LOG_ENABLED和調(diào)試標(biāo)記DEBUG屬性,控制自身記錄的日志是否應(yīng)該輸出到終端的控制臺(tái)。所述允許收集開(kāi)關(guān)和所述調(diào)試標(biāo)記均為boolean型數(shù)據(jù),所述允許收集開(kāi)關(guān)LOG_ENABLED表示智能機(jī)器人端是否允許服務(wù)器收集日志的開(kāi)關(guān),默認(rèn)情況下為關(guān)閉狀態(tài),以防止惡意程序的非法收集;當(dāng)服務(wù)器判斷確定需要進(jìn)行日志收集時(shí),所述允許收集開(kāi)關(guān)將更改為打開(kāi)狀態(tài);所述調(diào)試標(biāo)記為調(diào)試過(guò)程中為了方便調(diào)試接入更為便利而設(shè)置的標(biāo)記。同時(shí)檢測(cè)服務(wù)對(duì)象實(shí)例還注冊(cè)了一個(gè)自定義的廣播接收器,該廣播接收器負(fù)責(zé)響應(yīng)命令,控制日志開(kāi)關(guān),并打開(kāi)收集日志信息的服務(wù),用于對(duì)日志收集和上傳。

      A3、日志輸出,各應(yīng)用服務(wù)用初始化后的監(jiān)測(cè)服務(wù)對(duì)象實(shí)例調(diào)用輸出級(jí)別方法,往控制臺(tái)輸出不同級(jí)別的日志信息;其中,輸出級(jí)別方法可由用戶(hù)根據(jù)具體要求自定義。

      其中,步驟A3增加了新的功能封裝,增強(qiáng)了原生系統(tǒng)的方案,使其使用時(shí)更加便利,但是卻沒(méi)有改變?cè)璆oogle的代碼設(shè)計(jì)風(fēng)格,讓程序調(diào)用時(shí)無(wú)障礙。而且步驟A3中的定義有一個(gè)操作的日志級(jí)別,分別為最小級(jí)別minLevel和最大級(jí)別maxLevel,還有一個(gè)強(qiáng)制輸出參數(shù),可突破步驟A2中的限制。具體地,當(dāng)步驟A3中設(shè)置強(qiáng)制輸出時(shí),則無(wú)論步驟A2的限制條件如何,均按照步驟A3中最小級(jí)別和最大級(jí)別進(jìn)行輸出。舉例來(lái)說(shuō),當(dāng)強(qiáng)制輸出最小級(jí)別為2,最大級(jí)別為4時(shí),則將輸出級(jí)別為2、3、4的日志上傳至服務(wù)器。

      舉例來(lái)說(shuō),

      B1、應(yīng)用服務(wù)在主入口處,通過(guò)LogCat.getInstance(String tag)獲取到該監(jiān)測(cè)服務(wù)對(duì)象的實(shí)例,日志收集必須放在入口處,最佳的實(shí)現(xiàn)方案是放在自定義的Application中,該監(jiān)測(cè)服務(wù)對(duì)象的實(shí)例化盡可能的靠前運(yùn)行。每一個(gè)LogCat實(shí)例化時(shí)有指定的tag便于區(qū)分過(guò)濾日志;

      B2、獲取到該監(jiān)測(cè)服務(wù)對(duì)象實(shí)例之后調(diào)用init(Context context)方法對(duì)該對(duì)象實(shí)例進(jìn)行初始化。這步的初始化是為了對(duì)創(chuàng)建的LogCat對(duì)象做默認(rèn)配置,內(nèi)部還有控制和反控制機(jī)制,這樣的封裝讓內(nèi)部復(fù)雜的機(jī)制調(diào)用起來(lái)變得簡(jiǎn)單簡(jiǎn)潔。

      B3、調(diào)用logCat.i(String className,String msg)和logCat.i(String className,String msg,boolean isOut,String fileName)等,對(duì)應(yīng)相應(yīng)的日志級(jí)別,符合Android本身定義的日志級(jí)別規(guī)則,isOut參數(shù)可突破整體日志開(kāi)關(guān)機(jī)制,fileName指定保存的日志的本地文件,靈活多變。

      通過(guò)對(duì)日志收集進(jìn)行級(jí)別控制,能夠解決龐大的日志造成的分析困難;通過(guò)指定級(jí)別的范圍進(jìn)行上傳,能夠只分析用戶(hù)關(guān)心的日志,減少分析時(shí)間,快速定位故障和問(wèn)題。

      S103、向終端發(fā)送收集預(yù)設(shè)輸出級(jí)別對(duì)應(yīng)的日志收集指令;

      其中,所述預(yù)設(shè)輸出級(jí)別可以根據(jù)用戶(hù)的要求預(yù)先設(shè)置。

      具體地,服務(wù)器可以通過(guò)預(yù)留的后臺(tái)端口,主動(dòng)控制開(kāi)啟收集服務(wù);開(kāi)啟收集服務(wù)后,服務(wù)器向終端發(fā)送收集預(yù)設(shè)輸出級(jí)別對(duì)應(yīng)的日志的收集指令。

      其中,所述收集指令中包括日志的預(yù)設(shè)輸出級(jí)別。

      舉例來(lái)說(shuō),服務(wù)器向終端發(fā)送收集輸出級(jí)別小于3的日志,則終端需要將輸出級(jí)別為1和2的日志上傳至服務(wù)器。其中,所述終端可以為智能機(jī)器人。

      S104、分別接收所述終端發(fā)送的所述目標(biāo)應(yīng)用服務(wù)的所述預(yù)設(shè)輸出級(jí)別的對(duì)應(yīng)日志。

      具體地,服務(wù)器向終端發(fā)送收集所述預(yù)設(shè)輸出級(jí)別的對(duì)應(yīng)日志的收集指令后,在終端一側(cè),具體的步驟包括:

      首先打開(kāi)允許收集開(kāi)關(guān);

      然后根據(jù)收集指令中的日志的輸出級(jí)別,查找所述輸出級(jí)別對(duì)應(yīng)的日志;

      最后將所述輸出級(jí)別對(duì)應(yīng)的日志打包上傳至所述服務(wù)器。

      在服務(wù)器一側(cè),終端將打包的日志上傳后,接收所述預(yù)設(shè)輸出級(jí)別對(duì)應(yīng)的日志。

      本實(shí)施例通過(guò)服務(wù)器判斷確定是否進(jìn)行日志收集,能夠?qū)崿F(xiàn)服務(wù)器的主動(dòng)收集,避免了日志收集觸發(fā)單一的問(wèn)題;通過(guò)輸出級(jí)別收集不同的日志,能夠滿(mǎn)足用戶(hù)按需收集的要求,同時(shí)避免了日志收集不全的問(wèn)題。

      進(jìn)一步地,在上述方法實(shí)施例的基礎(chǔ)上,S101進(jìn)一步包括:

      所述服務(wù)器根據(jù)當(dāng)前時(shí)間、當(dāng)前地點(diǎn)、當(dāng)前網(wǎng)絡(luò)情況和服務(wù)器內(nèi)存情況,判斷是否對(duì)終端所安裝的應(yīng)用服務(wù)的對(duì)應(yīng)日志進(jìn)行收集。

      具體地,可采用網(wǎng)絡(luò)長(zhǎng)鏈接保活技術(shù)、心跳發(fā)送檢測(cè)技術(shù)以及綜合系統(tǒng)情況分析決策,確定是否對(duì)終端所安裝的應(yīng)用服務(wù)的日志進(jìn)行收集。其中,所述網(wǎng)絡(luò)長(zhǎng)鏈接保活技術(shù)表示維持網(wǎng)絡(luò)長(zhǎng)久而穩(wěn)定的連接;所述心跳發(fā)送檢測(cè)技術(shù)表示間隔預(yù)設(shè)時(shí)間后向服務(wù)器發(fā)送通知,告知正在運(yùn)行;所述綜合系統(tǒng)情況分析決策表示總和考慮多個(gè)因素進(jìn)行分析,例如根據(jù)當(dāng)前的時(shí)間、當(dāng)前地點(diǎn)、當(dāng)前網(wǎng)絡(luò)情況、當(dāng)前交互情況、服務(wù)器內(nèi)存情況、整體系統(tǒng)運(yùn)行情況等各種因素結(jié)合判斷是否需要開(kāi)始智能收集日志。

      舉例來(lái)說(shuō),服務(wù)器選擇一種收集的觸發(fā)方式,如:調(diào)用startSave方法,服務(wù)端發(fā)送指令開(kāi)啟診斷功能,具體收集命令的服務(wù)在另一個(gè)獨(dú)立進(jìn)程中,該進(jìn)程負(fù)責(zé)日志收集和打包上傳,不參與其他的業(yè)務(wù),保證安全性。

      通過(guò)當(dāng)前具體參數(shù)判斷是否進(jìn)行日志收集,能夠結(jié)合當(dāng)前的具體情況進(jìn)行日志收集,以不影響智能機(jī)器人的日常工作,且提高日志收集的效率。

      進(jìn)一步地,在上述方法實(shí)施例的基礎(chǔ)上,S102進(jìn)一步包括:

      根據(jù)日志狀態(tài)和故障修復(fù)狀態(tài),確定目標(biāo)應(yīng)用服務(wù)分別對(duì)應(yīng)的日志收集的輸出級(jí)別。

      具體地,所述日志狀態(tài)是指日志當(dāng)前的操作狀態(tài),例如是否正在更新;所述故障修改狀態(tài)是指日志記錄的應(yīng)用程序發(fā)生故障后的狀態(tài),例如是否已修復(fù)。

      當(dāng)日志處于更新?tīng)顟B(tài)時(shí),可將其輸出級(jí)別設(shè)置為較低級(jí)別,以防止日志更新過(guò)程中上傳日志導(dǎo)致的數(shù)據(jù)不全問(wèn)題。

      當(dāng)日志記錄的應(yīng)用程序發(fā)生故障后已經(jīng)修復(fù),則可將該日志設(shè)置為次高級(jí)別,以盡早上傳服務(wù)器;當(dāng)日志記錄的應(yīng)用程序發(fā)生故障后未修復(fù),則可將該日志設(shè)置為最高級(jí)別,以及時(shí)上傳服務(wù)器。

      進(jìn)一步地,在上述方法實(shí)施例的基礎(chǔ)上,S104進(jìn)一步包括:

      分片接收所述終端發(fā)送的所述目標(biāo)應(yīng)用服務(wù)的所述預(yù)設(shè)輸出級(jí)別的對(duì)應(yīng)日志。

      采用日志分片技術(shù),能夠提高日志上傳的成功率,減少帶寬消耗,同時(shí)減少網(wǎng)絡(luò)傳輸?shù)膲毫Α?/p>

      具體地,智能機(jī)器人在日志上傳時(shí)可壓縮后再分片上傳。

      進(jìn)一步地,在上述方法實(shí)施例的基礎(chǔ)上,如圖2所示,所述方法包括:

      S201、判斷是否對(duì)終端應(yīng)用服務(wù)的對(duì)應(yīng)日志進(jìn)行收集;

      S202、若需要進(jìn)行收集,則確定進(jìn)行收集的目標(biāo)應(yīng)用服務(wù)分別對(duì)應(yīng)日志收集的輸出級(jí)別;

      S203、向終端發(fā)送收集預(yù)設(shè)輸出級(jí)別對(duì)應(yīng)的日志收集指令;

      S204、分別接收所述終端發(fā)送的所述目標(biāo)應(yīng)用服務(wù)的所述預(yù)設(shè)輸出級(jí)別的對(duì)應(yīng)日志。

      S205、根據(jù)預(yù)設(shè)文件地址,將所述預(yù)設(shè)輸出級(jí)別對(duì)應(yīng)的日志存儲(chǔ)至所述預(yù)設(shè)文件中。

      其中,S201-S204與圖1對(duì)應(yīng)的實(shí)施例中的S101-S104對(duì)應(yīng)。

      所述預(yù)設(shè)文件地址可根據(jù)用戶(hù)的具體要求預(yù)先設(shè)置。

      具體地,S205中通過(guò)設(shè)置線程池和文件安全鎖控制,保證文件正確、安全并高效的寫(xiě)入預(yù)設(shè)文件中。

      更進(jìn)一步地,在上述方法實(shí)施例的基礎(chǔ)上,如圖3所示,所述方法包括:

      S301、判斷是否對(duì)終端應(yīng)用服務(wù)的對(duì)應(yīng)日志進(jìn)行收集;

      S402、若需要進(jìn)行收集,則確定進(jìn)行收集的目標(biāo)應(yīng)用服務(wù)分別對(duì)應(yīng)日志收集的輸出級(jí)別;

      S303、向終端發(fā)送收集預(yù)設(shè)輸出級(jí)別對(duì)應(yīng)的日志收集指令;

      S304、分別接收所述終端發(fā)送的所述目標(biāo)應(yīng)用服務(wù)的所述預(yù)設(shè)輸出級(jí)別的對(duì)應(yīng)日志。

      S305、根據(jù)預(yù)設(shè)文件地址,將所述預(yù)設(shè)輸出級(jí)別對(duì)應(yīng)的日志存儲(chǔ)至所述預(yù)設(shè)文件中。

      S306、對(duì)所述預(yù)設(shè)文件中存儲(chǔ)的日志進(jìn)行分析,生成分析結(jié)果并顯示。

      其中,S301-S205與圖2對(duì)應(yīng)的實(shí)施例中的S201-S205對(duì)應(yīng)。

      具體地,S306中經(jīng)過(guò)服務(wù)器的分析,會(huì)生成不同的錯(cuò)誤代碼,并做出標(biāo)識(shí),以供用戶(hù)在后臺(tái)清晰的預(yù)覽該數(shù)據(jù)的集合。

      舉例來(lái)說(shuō),問(wèn)題標(biāo)識(shí)可以包括:不解決,無(wú)關(guān)緊要,已解決,當(dāng)前無(wú)法解決,推遲解決,專(zhuān)項(xiàng)處理。

      通過(guò)對(duì)日志進(jìn)行分析,能夠生成完整而直觀的功能診斷結(jié)果,對(duì)于開(kāi)發(fā)者可以按需進(jìn)行響應(yīng)應(yīng)用服務(wù)的管理。

      本實(shí)施例對(duì)整體的結(jié)構(gòu)框架進(jìn)行職責(zé)劃分,采用動(dòng)態(tài)方式控制日志開(kāi)關(guān),并用獨(dú)立進(jìn)程Service logcat命令收集日志信息分析診斷功能。即由終端監(jiān)控各系統(tǒng)服務(wù)的工作狀態(tài),一旦檢測(cè)到有異常狀態(tài)時(shí)上報(bào)給服務(wù)器,則服務(wù)器主動(dòng)開(kāi)始統(tǒng)計(jì)該終端相應(yīng)的異常模塊對(duì)應(yīng)的異常日志,并統(tǒng)一將異常日志轉(zhuǎn)發(fā)到日志服務(wù)器生成錯(cuò)誤碼,供開(kāi)發(fā)者進(jìn)行功能診斷。

      本實(shí)施例可采用google Android系統(tǒng)的Logcat命令集,通過(guò)結(jié)合java線程池、多線程技術(shù)、多進(jìn)程文件安全寫(xiě)入技術(shù)、文件分片、和合成技術(shù),使得程序日志收集和上傳形成了一個(gè)完美的閉環(huán),具有信息收集全、程序運(yùn)行穩(wěn)定、性能消耗低和智能收集的優(yōu)勢(shì),而且還支持響應(yīng)遠(yuǎn)端收集指令,具有安全性高、擴(kuò)展性強(qiáng)、操作性簡(jiǎn)單的優(yōu)勢(shì)和技術(shù)拓展,以及不斷創(chuàng)新的進(jìn)步性意義。

      圖2示出了本發(fā)明一實(shí)施例提供的一種日志收集裝置的結(jié)構(gòu)示意圖,所述裝置包括:日志收集確定模塊21、輸出級(jí)別確定模塊22、指令發(fā)送模塊23和日志接收模塊24;其中,

      所述日志收集確定模塊21用于判斷是否對(duì)終端應(yīng)用服務(wù)的對(duì)應(yīng)日志進(jìn)行收集;

      所述輸出級(jí)別確定模塊22用于若需要進(jìn)行收集,則確定進(jìn)行收集的目標(biāo)應(yīng)用服務(wù)分別對(duì)應(yīng)日志收集的輸出級(jí)別;

      所述指令發(fā)送模塊23用于向終端發(fā)送收集預(yù)設(shè)輸出級(jí)別對(duì)應(yīng)的日志收集指令;

      所述日志接收模塊24用于分別接收所述終端發(fā)送的所述目標(biāo)應(yīng)用服務(wù)的所述預(yù)設(shè)輸出級(jí)別的對(duì)應(yīng)日志。

      具體地,所述日志收集確定模塊21判斷是否對(duì)終端應(yīng)用服務(wù)的對(duì)應(yīng)日志進(jìn)行收集;所述輸出級(jí)別確定模塊22若需要進(jìn)行收集,則確定進(jìn)行收集的目標(biāo)應(yīng)用服務(wù)分別對(duì)應(yīng)日志收集的輸出級(jí)別;所述指令發(fā)送模塊23向終端發(fā)送收集預(yù)設(shè)輸出級(jí)別對(duì)應(yīng)的日志收集指令;所述日志接收模塊24分別接收所述終端發(fā)送的所述目標(biāo)應(yīng)用服務(wù)的所述預(yù)設(shè)輸出級(jí)別的對(duì)應(yīng)日志。。

      本實(shí)施例通過(guò)服務(wù)器判斷確定是否進(jìn)行日志收集,能夠?qū)崿F(xiàn)服務(wù)器的主動(dòng)收集,避免了日志收集觸發(fā)單一的問(wèn)題;通過(guò)輸出級(jí)別收集不同的日志,能夠滿(mǎn)足用戶(hù)按需收集的要求,同時(shí)避免了日志收集不全的問(wèn)題。

      進(jìn)一步地,在上述裝置實(shí)施例的基礎(chǔ)上,所述日志收集確定模塊21進(jìn)一步用于根據(jù)當(dāng)前時(shí)間、當(dāng)前地點(diǎn)、當(dāng)前網(wǎng)絡(luò)情況和服務(wù)器內(nèi)存情況,判斷是否對(duì)終端所安裝的應(yīng)用服務(wù)的對(duì)應(yīng)日志進(jìn)行收集。

      進(jìn)一步地,在上述裝置實(shí)施例的基礎(chǔ)上,所述輸出級(jí)別確定模塊22進(jìn)一步用于根據(jù)日志狀態(tài)和故障修復(fù)狀態(tài),確定目標(biāo)應(yīng)用服務(wù)分別對(duì)應(yīng)的日志收集的輸出級(jí)別。

      進(jìn)一步地,在上述裝置實(shí)施例的基礎(chǔ)上,所述日志接收模塊24進(jìn)一步用于分片接收所述終端發(fā)送的所述目標(biāo)應(yīng)用服務(wù)的所述預(yù)設(shè)輸出級(jí)別的對(duì)應(yīng)日志。

      進(jìn)一步地,在上述裝置實(shí)施例的基礎(chǔ)上,所述裝置還包括:

      存儲(chǔ)模塊25,用于根據(jù)預(yù)設(shè)文件地址,將所述輸出級(jí)別對(duì)應(yīng)的日志存儲(chǔ)至所述預(yù)設(shè)文件中。

      進(jìn)一步地,在上述裝置實(shí)施例的基礎(chǔ)上,所述裝置還包括:

      日志分析模塊26,用于對(duì)所述預(yù)設(shè)文件中存儲(chǔ)的日志進(jìn)行分析,生成分析結(jié)果并顯示。

      本實(shí)施例所述的日志收集裝置可以用于執(zhí)行上述方法實(shí)施例,其原理和技術(shù)效果類(lèi)似,此處不再贅述。

      以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。

      通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。

      應(yīng)說(shuō)明的是:以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。

      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1