本發明涉及通信領域,特別是涉及一種智能電視系統的日志提取方法及裝置。
背景技術:
在智能電視的開發測試階段,當發現問題(bug)時,需要提取智能電視系統的日志進行分析。智能電視系統的日志可以分為內核層日志、系統層日志和應用層日志,每層的日志信息的提取方式均不同,進一步地,為了分析bug來自智能電視的哪個模塊,也需要單獨提取該模塊的日志,這需要花費較多的時間進行日志提取,時間成本較大。
針對現有技術中智能電視開發測試階段,提取日志操作復雜,耗時較長的問題,目前業界沒有理想的解決方式。
技術實現要素:
本發明目的在于提供一種智能電視系統的日志提取方法及裝置,旨在解決現有技術中智能電視開發測試階段,提取日志操作復雜,耗時較長的問題。
本發明提供了一種智能電視系統的日志提取方法,該方法包括:
讀取控制命令,并檢測控制命令中系統屬性的控制字段,控制命令中包括控制字段、層標識符和對象名稱,根據控制字段執行對應的操作,操作包括啟動日志提取服務,日志提取服務用于提取智能電視系統的日志;在啟動日志提取服務后,根據層標識符確定日志提取的目標層,目標層包括內核層、系統層和應用層;在啟動日志提取服務后,根據對象名稱確定日志提取的目標對象;提取目標層中目標對象的日志。
本發明還提供了一種智能電視系統的日志提取裝置,該裝置包括:
檢測模塊,用于讀取控制命令,并檢測控制命令中系統屬性的控制字段,控制命令中包括控制字段、層標識符和對象名稱,根據控制字段執行對應的操作,操作包括啟動日志提取服務,日志提取服務用于提取智能電視系統的日志;第一確定模塊,用于在啟動日志提取服務后,根據層標識符確定日志提取的目標層,目標層包括內核層、系統層和應用層;第二確定模塊,用于在啟動日志提取服務后,根據對象名稱確定日志提取的目標對象;提取模塊,用于提取目標層中目標對象的日志。
本發明可以將提取不同層的日志的方法集成在一起,在開啟日志提取服務后,通過層標識符和對象名稱,靈活地對日志進行提取,從而解決了現有技術中智能電視開發測試階段,提取日志操作復雜,耗時較長的問題,提高了效率,并節省了時間。
附圖說明
圖1是本發明實施例提供的日志分類的示意圖;
圖2是本發明實施例提供的智能電視系統的日志提取方法的流程圖;
圖3是本發明優選實施例提供的一種日志提取方法的流程圖
圖4是本發明優選實施例提供的另一種日志提取方法的流程圖
圖5是本發明實施例提供的智能電視系統的日志提取裝置的結構框圖。
具體實施方式
為了使本發明要解決的技術問題、技術方案及有益效果更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
圖1是本發明實施例提供的日志分類的示意圖,如圖1所示,智能電視的控制系統中,包括多個層級的日志,例如內核層日志、系統層日志和應用層日志,具體地,智能電視的各模塊(模塊1至模塊N),例如USB模塊等,均有各自獨立的日志,因此,每個模塊在每一層都分別有對應的日志,為了針對性地分析bug產生原因,本發明實施例可以對日志進行靈活地提取。
本發明實施例提供了一種智能電視系統的日志提取方法,圖2是本發明實施例提供的智能電視系統的日志提取方法的流程圖,如圖2所示,該方法包括步驟S210至步驟S240。
步驟S210,讀取控制命令,并檢測控制命令中系統屬性的控制字段,控制命令中包括控制字段、層標識符和對象名稱,根據控制字段執行對應的操作,操作包括啟動日志提取服務,日志提取服務用于提取智能電視系統的日志。
控制命令的格式可以為logProperty=property:level:module,其中,property為系統屬性,level為層標識符,module為對象名稱。通過該控制命令可以進行相應的日志提取。例如,提取系統層的USB模塊的日志,則對應啟動命令為logProperty=true:01:USB。停止提取的命令可以是logProperty=false。
檢測目標系統屬性的控制字段,根據控制字段執行對應的操作,操作包括啟動日志提取服務和停止日志提取服務,日志提取服務用于提取智能電視系統的日志。
日志提取是以服務的形式存在的,即,可以通過設置系統屬性控制其運行和停止。本發明實施例可以采用的系統屬性名稱為logProperty,當該系統屬性的控制字段設置為true時,啟動服務;當控制字段設置為false時,停止服務。
步驟S220,在啟動日志提取服務后,根據層標識符確定日志提取的目標層,目標層包括內核層、系統層和應用層。
日志提取分為內核層日志提取、系統層日志提取和應用層日志提取,每層日志可以通過不同的工具和策略進行提取。通過不同的層標識符可以區分不同的層,例如,層標識符00代表內核層,01代表系統層,11代表應用層。
步驟S230,在啟動日志提取服務后,根據對象名稱確定日志提取的目標對象。
通過不同的對象名稱可以區分不同模塊,例如,USB的對象名稱為“USB”。
步驟S240,提取目標層中目標對象的日志。
當日志提取服務運行后,根據層標識符和對象名稱,運行不同的提取工具和策略,可以達到提取不同層日志的目的。
本發明實施例可以將提取不同層的日志的方法集成在一起,在開啟日志提取服務后,通過層標識符和對象名稱,靈活地對日志進行提取,從而解決了現有技術中智能電視開發測試階段,提取日志操作復雜,耗時較長的問題。
圖3是本發明優選實施例提供的一種日志提取方法的流程圖,如圖3所示,該方法包括步驟S310至步驟S360。
步驟S310,檢測輸入的命令,該命令中包括系統屬性logProperty、層標識符level字段和對象名稱module字段。
步驟S320,判斷logProperty=true是否成立。如果否,則執行步驟S330;如果是,則執行步驟S340。
步驟S330,停止日志提取服務。
步驟S340,根據level字段提取對應層的日志。
步驟S350,根據module字段提取對應模塊的日志。
步驟S360,將日志保存到預設存儲位置的不同文件中。
優選地,在步驟S240后,可以根據服務器協議約定,給日志打上時間戳。打時間戳的方法包括以下步驟:
步驟1,讀取日志被提取時的時間戳。
步驟2,將時間戳添加至日志中,已構成日志文件。
步驟3,存儲日志文件。
日志文件可以先暫存到智能電視的存儲區域的文件里,智能電視的存儲區域可以是內存中一塊獨立存儲區域或USB外置存儲設備中的區域。
當暫存的日志文件符合預設條件時,可以將日志文件上傳至服務器。
在一種優選實現方式中,若檢測到存儲的日志文件超過預設大小,則將日志文件上傳至服務器。
在另一種優選實現方式中,若檢測到日志文件的存儲時長超過預設時長,則將日志文件上傳至服務器。
通過上述方式,可以保證存儲大量的日志文件而無需增加智能電視中存儲設備的成本。
存儲的日志文件可以用于進行日志分析,當日志分析系統需要某時間段的日志文件時,可以從服務器或智能電視的存儲區域調取。具體地,包括以下2個步驟。
步驟1,獲取日志分析系統確定的目標時間段。
當某段時間出現了bug,該時間段就是目標時間段,通過查看該時間段的日志文件可以分析產生bug的原因。
步驟2,獲取時間戳在目標時間段之內的日志文件,發送至日志分析系統。
本發明實施例可以通過時間戳找到目標時間段內產生的日志文件,調取這些日志文件,發送至日志分析系統,可以對bug的產生原因進行分析。
圖4是本發明優選實施例提供的另一種日志提取方法的流程圖,如圖4所示,該方法包括步驟S401至步驟S411。
步驟S401,啟動日志提取系統。
步驟S402,加載日志提取服務。
步驟S403,實時檢測命令。
步驟S404,判斷是否停止日志提取服務。如果是,在執行步驟S405;如果否,則執行步驟S406。
步驟S405,停止日志提取服務,并向服務器上報停止服務的信息。
步驟S406,實時提取內核層、系統層和應用層運行時的日志。
步驟S407,將日志打上時間戳,生成日志文件保存在智能電視的文件里。
步驟S408,當日志文件超過一定大小或經過一段時間后,上傳到服務器。
步驟S409,服務器存儲上傳的日志文件。
步驟S410,服務器根據時間戳截取日志文件。
步驟S411,服務器將截取的日志文件發送給日志分析系統,分析bug的產生原因。
本發明實施例提供了一種智能電視系統的日志提取裝置,圖5是本發明實施例提供的智能電視系統的日志提取裝置的結構框圖,如圖5所示,該裝置包括檢測模塊510、第一確定模塊520、第二確定模塊530和提取模塊540。
檢測模塊510用于讀取控制命令,并檢測控制命令中系統屬性的控制字段,控制命令中包括控制字段、層標識符和對象名稱,根據控制字段執行對應的操作,操作包括啟動日志提取服務,日志提取服務用于提取智能電視系統的日志。
第一確定模塊520用于在啟動日志提取服務后,根據讀取的層標識符確定日志提取的目標層,目標層包括內核層、系統層和應用層。
第二確定模塊530用于在啟動日志提取服務后,根據讀取的對象名稱確定日志提取的目標對象。
提取模塊540用于提取目標層中目標對象的日志。
優選地,該裝置還包括:讀取模塊,用于讀取日志被提取時的時間戳;添加模塊,用于將時間戳添加至日志中,以構成日志文件;存儲模塊,用于存儲日志文件。
優選地,該裝置還包括:第一上傳模塊,用于在檢測到存儲的日志文件超過預設大小時,將日志文件上傳至服務器。
優選地,該裝置還包括:第二上傳模塊,用于在檢測到日志文件的存儲時長超過預設時長時,將日志文件上傳至服務器。
優選地,該裝置還包括:第一獲取模塊,用于獲取日志分析系統確定的目標時間段;第二獲取模塊,用于獲取時間戳在目標時間段之內的日志文件,發送至日志分析系統。
本實施例可以將提取不同層的日志的方法集成在一起,在開啟日志提取服務后,通過層標識符和對象名稱,靈活地對日志進行提取,從而解決了現有技術中智能電視開發測試階段,提取日志操作復雜,耗時較長的問題。
所屬領域的技術人員可以清楚地了解到,為了描述的方便和簡潔,僅以上述各功能單元的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能單元完成,即將裝置的內部結構劃分成不同的功能單元或模塊,以完成以上描述的全部或者部分功能。實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中,上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。另外,各功能單元的具體名稱也只是為了便于相互區分,并不用于限制本申請的保護范圍。上述裝置中單元的具體工作過程,可以參考前述裝置實施例中的對應過程,在此不再贅述。
本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同裝置來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。
在本發明所提供的實施例中,應該理解到,所揭露的裝置和裝置,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,模塊或單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通訊連接可以是通過一些接口,裝置或單元的間接耦合或通訊連接,可以是電性,機械或其它的形式。
作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本發明實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。
集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明實施例的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)或處理器(processor)執行本發明實施例各個實施例裝置的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明實施例各實施例技術方案的精神和范圍。
以上僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。