本发明涉及通信领域,特别是涉及一种智能电视系统的日志提取方法及装置。
背景技术:
在智能电视的开发测试阶段,当发现问题(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)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。