統(tǒng)一收集Android電視各功能模塊故障信息的方法
【專利摘要】本發(fā)明涉及Android電視。本發(fā)明針對(duì)現(xiàn)有技術(shù)中,Android本身已有Log日志系統(tǒng)的輸出散亂繁多且不易保存的問(wèn)題,提供統(tǒng)一收集Android電視各功能模塊故障信息的方法,首先,系統(tǒng)預(yù)先與Android電視功能模塊定義好協(xié)議,所述協(xié)議包括使用固定的TAG及固定的內(nèi)容格式來(lái)傳送故障信息;其次,改造Android系統(tǒng)的Log日志系統(tǒng),根據(jù)指定的TAG對(duì)Log信息進(jìn)行過(guò)濾;然后,系統(tǒng)為過(guò)濾后的信息內(nèi)容添加當(dāng)前的系統(tǒng)本地時(shí)間,保存至指定路徑下的一個(gè)以當(dāng)前進(jìn)程的進(jìn)程名為名字的文件中,放入內(nèi)存中的固定位置;再然后,系統(tǒng)將內(nèi)存中的固定位置中所保存的信息上傳至服務(wù)器。通過(guò)改造Android本身的Log日志系統(tǒng),使用戶能夠針對(duì)性的查看故障信息。適用于Android電視各功能模塊故障信息的收集方法。
【專利說(shuō)明】統(tǒng)一收集Android電視各功能模塊故障信息的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及Android電視,特別涉及Android電視各功能模塊故障信息的收集方法。
【背景技術(shù)】
[0002]以Android為操作系統(tǒng)的智能電視已成主流,而智能電視功能的繁多也同樣會(huì)帶來(lái)不同的問(wèn)題,雖然Android本身已有Log日志系統(tǒng)來(lái)幫助開(kāi)發(fā)者在程序中加入Log打印,通過(guò)查看打印來(lái)對(duì)問(wèn)題進(jìn)行定位以及調(diào)試。但Log的輸出散亂繁多、且不易保存,且需對(duì)單個(gè)終端接入相應(yīng)設(shè)備才能查看,這對(duì)解決智能電視中的各種軟件問(wèn)題帶來(lái)了極大的不便,對(duì)用戶的體驗(yàn)也造成了一定的負(fù)面影響。
【發(fā)明內(nèi)容】
[0003]本發(fā)明所要解決的技術(shù)問(wèn)題,就是提供一種統(tǒng)一收集Android電視各功能模塊故障信息的方法,通過(guò)改造Android本身的Log日志系統(tǒng),使得各個(gè)功能模塊在其可能出現(xiàn)問(wèn)題的地方能夠按照既定的協(xié)議添加一些跟檢查相關(guān)的信息,通過(guò)Log機(jī)制發(fā)送給系統(tǒng),系統(tǒng)將這些信息統(tǒng)一集中保存,達(dá)到開(kāi)發(fā)人員可有針對(duì)性的查看Log。
[0004]本發(fā)明解決所述技術(shù)問(wèn)題,采用的技術(shù)方案是,統(tǒng)一收集Android電視各功能模塊故障
[0005]信息的方法,包括以下幾個(gè)步驟:
[0006]步驟1、系統(tǒng)預(yù)先與Android電視功能模塊定義好協(xié)議,所述協(xié)議包括使用固定的TAG及固定的內(nèi)容格式來(lái)傳送故障信息;
[0007]步驟2、改造Android系統(tǒng)的Log日志系統(tǒng),根據(jù)指定的TAG對(duì)Log信息進(jìn)行過(guò)濾;
[0008]步驟3、系統(tǒng)為過(guò)濾后的信息內(nèi)容添加當(dāng)前的系統(tǒng)本地時(shí)間,保存至指定路徑下的一個(gè)以當(dāng)前進(jìn)程的進(jìn)程名為名字的文件中,放入內(nèi)存中的固定位置;
[0009]步驟4、系統(tǒng)將內(nèi)存中的固定位置中所保存的信息上傳至服務(wù)器。
[0010]具體的,所述步驟I中,固定的TAG和固定的內(nèi)容格式可人為設(shè)置。
[0011 ] 具體的,所述步驟3中,系統(tǒng)本地時(shí)間是通過(guò)利用系統(tǒng)標(biāo)準(zhǔn)的接口獲取的。
[0012]具體的,所述步驟3中,當(dāng)前進(jìn)程的進(jìn)程名是通過(guò)利用系統(tǒng)標(biāo)準(zhǔn)的getpidO接口來(lái)獲取調(diào)用Log接口的進(jìn)程的id,并根據(jù)這個(gè)id到文件系統(tǒng)的/proc/id/cmdline目錄下獲取的。
[0013]具體的,所述步驟3中,內(nèi)存中的固定位置可人為設(shè)定。
[0014]具體的,所述步驟4中,系統(tǒng)可以通過(guò)直接拷貝或者由專門(mén)的上傳程序?qū)?nèi)存中的固定位置中所保存的信息上傳至服務(wù)器。
[0015]本發(fā)明的有益效果是,通過(guò)改造Android本身的Log日志系統(tǒng),使得各個(gè)功能模塊在其可能出現(xiàn)問(wèn)題的地方能夠按照既定的協(xié)議添加一些跟檢查相關(guān)的信息。首先,預(yù)先與電視各功能模塊定義好的協(xié)議,命令系統(tǒng)用固定的TAG及固定的內(nèi)容格式來(lái)傳送故障信息。利用固定的TAG,將收集到的信息進(jìn)行一次過(guò)濾,過(guò)濾掉不關(guān)心的信息,再給信息添加一個(gè)系統(tǒng)時(shí)間,通過(guò)Log機(jī)制發(fā)送給系統(tǒng),系統(tǒng)將這些信息統(tǒng)一集中保存在內(nèi)存中一個(gè)固定位置。開(kāi)發(fā)人員就可有針對(duì)性的查看Log。這樣,各個(gè)功能模塊按照協(xié)議發(fā)送信息,用戶就可根據(jù)分類(lèi)快速定位至問(wèn)題出處進(jìn)行分析。同時(shí)也方便我們將信息拷貝出來(lái)或者上傳至服務(wù)器。
【專利附圖】
【附圖說(shuō)明】
[0016]圖1為本發(fā)明統(tǒng)一收集Android電視各功能模塊故障信息的方法實(shí)施例的流程圖。
【具體實(shí)施方式】
[0017]下面結(jié)合附圖及實(shí)施例詳細(xì)描述本發(fā)明的技術(shù)方案:
[0018]本發(fā)明針對(duì)現(xiàn)有技術(shù)中,Android本身已有Log日志系統(tǒng)的輸出散亂繁多且不易保存,且需對(duì)單個(gè)終端接入相應(yīng)設(shè)備才能查看,這對(duì)解決智能電視中的各種軟件問(wèn)題帶來(lái)了極大的不便,對(duì)用戶的體驗(yàn)也造成了一定的負(fù)面影響的問(wèn)題,提供一種統(tǒng)一收集Android電視各功能模塊故障信息的方法,首先,系統(tǒng)預(yù)先與Android電視功能模塊定義好協(xié)議,所述協(xié)議包括使用固定的TAG及固定的內(nèi)容格式來(lái)傳送故障信息;其次,改造Android系統(tǒng)的Log日志系統(tǒng),根據(jù)指定的TAG對(duì)Log信息進(jìn)行過(guò)濾;然后,系統(tǒng)為過(guò)濾后的信息內(nèi)容添加當(dāng)前的系統(tǒng)本地時(shí)間,保存至指定路徑下的一個(gè)以當(dāng)前進(jìn)程的進(jìn)程名為名字的文件中,放入內(nèi)存中的固定位置;再然后,系統(tǒng)將內(nèi)存中的固定位置中所保存的信息上傳至服務(wù)器。通過(guò)改造Android本身的Log日志系統(tǒng),使得各個(gè)功能模塊在其可能出現(xiàn)問(wèn)題的地方能夠按照既定的協(xié)議添加一些跟檢查相關(guān)的信息。首先,預(yù)先與電視各功能模塊定義好的協(xié)議,命令系統(tǒng)用固定的TAG及固定的內(nèi)容格式來(lái)傳送故障信息。利用固定的TAG,將收集到的信息進(jìn)行一次過(guò)濾,過(guò)濾掉不關(guān)心的信息,再給信息添加一個(gè)系統(tǒng)時(shí)間,通過(guò)Log機(jī)制發(fā)送給系統(tǒng),系統(tǒng)將這些信息統(tǒng)一集中保存在內(nèi)存中一個(gè)固定位置。開(kāi)發(fā)人員就可有針對(duì)性的查看Log。這樣,各個(gè)功能模塊按照協(xié)議發(fā)送信息,用戶就可根據(jù)分類(lèi)快速定位至問(wèn)題出處進(jìn)行分析。同時(shí)也方便我們將信息拷貝出來(lái)或者上傳至服務(wù)器。
[0019]實(shí)施例
[0020]本例針對(duì)使用Android系統(tǒng)的智能電視,通過(guò)改造Android本身的Log日志系統(tǒng),使得各個(gè)功能模塊在其可能出現(xiàn)問(wèn)題的地方能夠按照既定的協(xié)議添加一些跟檢查相關(guān)的信息,通過(guò)Log機(jī)制發(fā)送給系統(tǒng),系統(tǒng)將這些信息統(tǒng)一集中保存,開(kāi)發(fā)人員就可有針對(duì)性的查看Log。
[0021]Android系統(tǒng)本身的標(biāo)準(zhǔn)Log日志系統(tǒng)的使用過(guò)程如下:
[0022]開(kāi)發(fā)人員可以在程序?qū)?yīng)的地方通過(guò)調(diào)用Log系統(tǒng)的對(duì)應(yīng)接口,將可以幫助分析程序的信息發(fā)送給Log系統(tǒng),并且這條信息是以由開(kāi)發(fā)人員定義的TAG(標(biāo)簽)來(lái)標(biāo)識(shí)的,這樣,當(dāng)給Android終端接入調(diào)試設(shè)備,輸入Logcat命令后,即可查看到開(kāi)發(fā)人員添加的信
肩、O
[0023]所以,要對(duì)Android本身的Log系統(tǒng)進(jìn)行改造,就需要在Log系統(tǒng)中將收集到的信息進(jìn)行一次過(guò)濾,過(guò)濾掉不關(guān)心的信息,再給信息添加一個(gè)系統(tǒng)時(shí)間,再將信息統(tǒng)一保存在內(nèi)存中一個(gè)固定位置。以方便我們將信息拷貝出來(lái)或者上傳至服務(wù)器等。而這個(gè)過(guò)濾的依據(jù),就要靠標(biāo)識(shí)信息內(nèi)容的TAG來(lái)完成。我們就需要指定一個(gè)固定的TAG。
[0024]過(guò)濾掉多余信息后,開(kāi)發(fā)人員查看的信息仍舊很多,且無(wú)規(guī)律,所以,我們還要預(yù)先與電視各功能模塊定義好協(xié)議,除了告知他們標(biāo)識(shí)故障信息的統(tǒng)一 TAG外,還有收集信息的格式。這樣,各個(gè)功能模塊按照協(xié)議發(fā)送信息,就可根據(jù)分類(lèi)快速定位至問(wèn)題出處進(jìn)行分析。
[0025]如圖1所示,本例的統(tǒng)一收集Android電視各功能模塊故障信息的方法包含以下步驟:
[0026]A、與各電視功能模塊定義好關(guān)于收集的故障信息的協(xié)議,協(xié)議包括指定的TAG,如:CH_ER_C0LLECT以及故障信息的格式;
[0027]工作時(shí),智能電視中的各功能模塊按照預(yù)先與我們定義好的協(xié)議,按照格式調(diào)用日志系統(tǒng)的標(biāo)準(zhǔn)接口,將信息傳送進(jìn)來(lái)。
[0028]B、檢查傳入日志系統(tǒng)的信息的TAG,如果TAG為指定的TAG,則表示是我們需要收集的故障信息,進(jìn)行C?E對(duì)應(yīng)的操作,否則不做處理。
[0029]具體的,在日志系統(tǒng)中標(biāo)準(zhǔn)的用于接收Log信息的函數(shù)中對(duì)TAG進(jìn)行判斷,若TAG為指定的TAG才進(jìn)行下面的操作。
[0030]C、利用系統(tǒng)標(biāo)準(zhǔn)的接口獲取當(dāng)前的系統(tǒng)時(shí)間,并保存下來(lái)。
[0031]具體的,通過(guò)調(diào)用系統(tǒng)的標(biāo)準(zhǔn)接口 1caltime來(lái)獲取系統(tǒng)本地時(shí)間,并保存至字符數(shù)組currentTime中。
[0032]D、利用系統(tǒng)標(biāo)準(zhǔn)的getpidO接口來(lái)獲取調(diào)用Log接口的進(jìn)程的id,并根據(jù)這個(gè)id到文件系統(tǒng)的/proc/id/cmdline目錄下獲取進(jìn)程名,并保存下來(lái)。具體的,本例將所獲取的進(jìn)程名保存至字符數(shù)組g_pr0C_name中,為方便下面的描述,將保存在字符數(shù)組g_proc_name中的進(jìn)程名為G。
[0033]E、將傳入的信息內(nèi)容保存的時(shí)間currentTime —起保存至內(nèi)存中固定位置的文件中,所述文件的文件名為g_proc_name中所保存的進(jìn)程名G。
[0034]具體的,集中保存在內(nèi)存中固定位置的信息,可供直接拷貝或者由專門(mén)的上傳程序?qū)⑵渖蟼髦练?wù)器方便開(kāi)發(fā)人員查看。
[0035]綜上所述,本發(fā)明通過(guò)改造Android本身的Log日志系統(tǒng),使得各個(gè)功能模塊在其可能出現(xiàn)問(wèn)題的地方能夠按照既定的協(xié)議添加一些跟檢查相關(guān)的信息。首先,預(yù)先與電視各功能模塊定義好的協(xié)議,命令系統(tǒng)用固定的TAG及固定的內(nèi)容格式來(lái)傳送故障信息。利用固定的TAG,將收集到的信息進(jìn)行一次過(guò)濾,過(guò)濾掉不關(guān)心的信息,再給信息添加一個(gè)系統(tǒng)時(shí)間,通過(guò)Log機(jī)制發(fā)送給系統(tǒng),系統(tǒng)將這些信息統(tǒng)一集中保存在內(nèi)存中一個(gè)固定位置。開(kāi)發(fā)人員就可有針對(duì)性的查看Log。這樣,各個(gè)功能模塊按照協(xié)議發(fā)送信息,用戶就可根據(jù)分類(lèi)快速定位至問(wèn)題出處進(jìn)行分析。同時(shí)也方便我們將信息拷貝出來(lái)或者上傳至服務(wù)器。
【權(quán)利要求】
1.統(tǒng)一收集Android電視各功能模塊故障信息的方法,其特征在于,包括以下幾個(gè)步驟: 步驟1、系統(tǒng)預(yù)先與Android電視功能模塊定義好協(xié)議,所述協(xié)議包括使用固定的TAG及固定的內(nèi)容格式來(lái)傳送故障信息; 步驟2、改造Android系統(tǒng)的Log日志系統(tǒng),根據(jù)指定的TAG對(duì)Log信息進(jìn)行過(guò)濾;步驟3、系統(tǒng)為過(guò)濾后的信息內(nèi)容添加當(dāng)前的系統(tǒng)本地時(shí)間,保存至指定路徑下的一個(gè)以當(dāng)前進(jìn)程的進(jìn)程名為名字的文件中,放入內(nèi)存中的固定位置; 步驟4、系統(tǒng)將內(nèi)存中的固定位置中所保存的信息上傳至服務(wù)器。
2.根據(jù)權(quán)利要求1所述的統(tǒng)一收集Android電視各功能模塊故障信息的方法,其特征在于,所述步驟I中,固定的TAG和固定的內(nèi)容格式可人為設(shè)置。
3.根據(jù)權(quán)利要求1所述的統(tǒng)一收集Android電視各功能模塊故障信息的方法,其特征在于,所述步驟3中,系統(tǒng)本地時(shí)間是通過(guò)利用系統(tǒng)標(biāo)準(zhǔn)的接口獲取的。
4.根據(jù)權(quán)利要求1所述的統(tǒng)一收集Android電視各功能模塊故障信息的方法,其特征在于,所述步驟3中,當(dāng)前進(jìn)程的進(jìn)程名是通過(guò)利用系統(tǒng)標(biāo)準(zhǔn)的getpidO接口來(lái)獲取調(diào)用Log接口的進(jìn)程的id,并根據(jù)這個(gè)id到文件系統(tǒng)的/proc/id/cmdline目錄下獲取的。
5.根據(jù)權(quán)利要求1所述的統(tǒng)一收集Android電視各功能模塊故障信息的方法,其特征在于,所述步驟3中,內(nèi)存中的固定位置可人為設(shè)定。
6.根據(jù)權(quán)利要求1所述的統(tǒng)一收集Android電視各功能模塊故障信息的方法,其特征在于,所述步驟4中,系統(tǒng)可以通過(guò)直接拷貝或者由專門(mén)的上傳程序?qū)?nèi)存中的固定位置中所保存的信息上傳至服務(wù)器。
【文檔編號(hào)】H04N21/442GK104038821SQ201410253687
【公開(kāi)日】2014年9月10日 申請(qǐng)日期:2014年6月9日 優(yōu)先權(quán)日:2014年6月9日
【發(fā)明者】曾琦凌, 楊金煒 申請(qǐng)人:四川長(zhǎng)虹電器股份有限公司