CN107621999A - 日志信息上报方法、装置、存储介质及移动终端 - Google Patents
日志信息上报方法、装置、存储介质及移动终端 Download PDFInfo
- Publication number
- CN107621999A CN107621999A CN201710823531.4A CN201710823531A CN107621999A CN 107621999 A CN107621999 A CN 107621999A CN 201710823531 A CN201710823531 A CN 201710823531A CN 107621999 A CN107621999 A CN 107621999A
- Authority
- CN
- China
- Prior art keywords
- log information
- sensor
- data
- reported
- default
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了日志信息上报方法、装置、存储介质及移动终端。该方法包括:获取待上报的第一日志信息,并按照预设对应关系将第一日志信息转化为预设数据类型的第一上报数据,确定第一日志信息对应的上报类型;根据上报类型调用对应的目标虚拟传感器,其中,所述目标虚拟传感器包含于多个预设虚拟传感器中,不同预设虚拟传感器能够同时处于被调用状态,利用目标虚拟传感器将第一上报数据上报至应用处理器,并通过应用处理器基于预设对应关系对所接收到的第一上报数据进行解析,得到第一日志信息。本申请实施例通过采用上述技术方案,可有效提高物理传感器的日志信息的上报效率。
Description
技术领域
本申请实施例涉及移动终端技术领域,尤其涉及日志信息上报方法、装置、存储介质及移动终端。
背景技术
随着通信技术的发展,各种移动终端的使用越来越普及,且移动终端已经成为人们生活中不可缺少的工具。
目前,诸如手机及平板电脑等移动终端为了实现更加丰富的功能,都会配置有各种传感器,如环境光传感器、接近传感器、陀螺仪及加速度传感器等等。传感器会产生日志信息,日志信息需要从底层上报至处理器,以便通过日志信息对传感器的工作状态等进行分析。而目前的日志信息上报方案需要进一步改进。
发明内容
本申请实施例提供日志信息上报方法、装置、存储介质及移动终端,可以优化传感器的日志信息上报方案。
第一方面,本申请实施例提供了一种日志信息上报方法,包括:
获取待上报的第一日志信息,并按照预设对应关系将所述第一日志信息转化为预设数据类型的第一上报数据,其中,所述第一日志信息由物理传感器生成;
确定所述第一日志信息对应的上报类型;
根据所确定的上报类型调用对应的目标虚拟传感器,其中,所述目标虚拟传感器包含于多个预设虚拟传感器中,不同预设虚拟传感器能够同时处于被调用状态;
利用所述目标虚拟传感器将所述第一上报数据上报至应用处理器,并通过所述应用处理器基于所述预设对应关系对所接收到的第一上报数据进行解析,得到所述第一日志信息。
第二方面,本申请实施例提供了一种日志信息上报装置,包括:
日志信息获取模块,用于获取待上报的第一日志信息,其中,所述第一日志信息由物理传感器生成;
日志信息转化模块,用于按照预设对应关系将所述第一日志信息转化为预设数据类型的第一上报数据;
上报类型确定模块,用于确定所述第一日志信息对应的上报类型;
虚拟传感器调用模块,用于根据所确定的上报类型调用对应的目标虚拟传感器,其中,所述目标虚拟传感器包含于多个预设虚拟传感器中,不同预设虚拟传感器能够同时处于被调用状态;
日志上报模块,用于利用所述目标虚拟传感器将所述第一上报数据上报至应用处理器,并通过所述应用处理器基于所述预设对应关系对所接收到的第一上报数据进行解析,得到所述第一日志信息。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的日志信息上报方法。
第四方面,本申请实施例提供了一种移动终端,包括传感器,存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的日志信息上报方法。
本申请实施例中提供的日志信息上报方案,按照预设对应关系将待上报的第一日志信息转化为预设数据类型的第一上报数据,并根据第一日志信息对应的上报类型调用对应的多个预设虚拟传感器中的目标虚拟传感器,利用该目标虚拟传感器将第一上报数据上报至应用处理器,再通过应用处理器基于预设对应关系对所接收到的第一上报数据进行解析,得到第一日志信息,从而完成了第一日志信息的上报,而不同的预设虚拟传感器能够同时处于被调用状态,所以不同上报类型的日志信息可并行地通过多个预设虚拟传感器进行上报,有效提高物理传感器的日志信息的上报效率。
附图说明
图1为本申请实施例提供的相关技术中一种日志信息上报过程示意图;
图2为本申请实施例提供的一种日志信息上报方法的流程示意图;
图3为本申请实施例提供的另一种日志信息上报方法的流程示意图;
图4为本申请实施例提供的一种日志信息上报框架示意图;
图5为本申请实施例提供的一种日志信息上报装置的结构框图;
图6为本申请实施例提供的一种移动终端的结构示意图;
图7为本申请实施例提供的又一种移动终端的结构示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本申请的技术方案。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
为了便于理解本申请实施例,下面以高通平台音频数字信号处理器(AudioDigital Dignal Processor,ADSP)架构为例对传感器日志传输过程进行简要介绍。其中,ADSP架构是指:传感器挂载在ADSP上,ADSP管理终端内的所有传感器,在这种架构下,所有的传感器与ADSP进行交互,然后ADSP与应用处理器(Application Processor,AP)进行交互。
ADSP上可挂载环境光传感器、接近传感器、陀螺仪及加速度传感器等传感器,本申请实施例中将这些实体传感器称为物理传感器。物理传感器会生成传感器日志(SensorLog)和传感器数据(Sensor Data),其中,传感器日志可包括传感器的状态信息(如是否出现故障,处于何种工作状态等)以及工作过程中涉及到的各种数据(如采集的数据及各种判定阈值等),传感器数据可包括传感器采集的数据,对于不同的物理传感器,所生成的传感器日志和传感器数据可能存在差异,本申请实施例不再一一举例。图1为本申请实施例提供的相关技术中一种日志信息上报过程示意图。传感器日志和传感器数据由物理传感器生成,由于物理传感器挂载在ADSP上,所以需要通过ADSP传输至AP,而传感器日志和传感器数据的传输通道不同。对于传感器日志,相关技术中传输的路径是通过共享内存(SharedMemory Driver,SMD)、进程间通信(Inter-Process Communication,IPC)及高通消息接口(Qualcom Message Interface,QMI)将传感器日志传送至Diagnostic task,进而传送至文件系统和QXDM工具。其中,Diagnostic task是一个诊断进程,QXDM(The QUALCOMMExtensible Diagnostic Monitor)是高通公司的可以对移动终端所发数据进行跟踪的工具,可通过对数据的分析进行相关测试或诊断。对于传感器数据,相关技术中,传输的路径是通过SMD、IPC/QMI消息通信,将传感器数据传送至Sensor daemon,再传到Sensor hal,最终到达文件系统。其中,Sensor daemon是传感器后台进程,Sensor hal是传感器对应的硬件抽象层(hal)的接口。在上述两个传输通道中,传感器日志一般是以字符串的形式传输的,传感器数据一般是以数值的形式传输的,传感器日志的传输数据量明显高于传感器数据的传输数据量。当AP需要休眠时,若开启传输传感器日志的通道,那么传感器日志会实时的进行传输,而由于字符串的传输速度较慢,就会导致AP无法休眠,增加功耗;若关闭传输传感器日志的通道,那么就会导致很多传感器相关的问题,由于缺乏底层驱动的日志信息而需要进行反复压力测试,徒增测试时间,严重影响对传感器相关问题的分析及解决效率。
图2为本申请实施例提供的一种日志信息上报方法的流程示意图,该方法可以由日志信息上报装置执行,其中该装置可由软件和/或硬件实现,一般可集成在移动终端中。如图2所示,该方法包括:
步骤201、获取待上报的第一日志信息,并按照预设对应关系将所述第一日志信息转化为预设数据类型的第一上报数据。
其中,所述第一日志信息由物理传感器生成。
示例性的,本申请实施例中的移动终端可包括手机、平板电脑以及智能手表等设置有传感器的移动设备。移动终端中可设置有一个或多个物理传感器,物理传感器例如可以是环境光传感器、接近传感器、陀螺仪及加速度传感器等等。
本申请实施例中,可在ADSP的驱动层增设多个虚拟传感器,如记为日志传感器(Log Sensor),利用该多个预设虚拟传感器以上报传感器数据的方式上报传感器日志,即通过传输传感器数据的传输通道来上报传感器日志。
示例性的,先确定物理传感器生成的并需要上报的第一日志信息。可以将物理传感器当前生成的日志信息确定为第一日志信息;也可以从多个已生成的日志信息中获取待上报的(如最先生成的)日志信息为第一日志信息,例如因生成的日志较多而未能及时上报的情况。随后按照预设对应关系将第一日志信息转化为预设数据类型的第一上报数据,也即可按照与AP约定好的预设对应关系将第一日志信息转化为传感器数据传输通道对应的数据格式,得到第一上报数据。第一日志信息中可包含一条或多条传感器日志,本申请实施例不做限定。
本申请实施例中对预设数据类型不做限定,可选的,第一上报数据的数据量小于所述第一日志信息的数据量,这样设置的好处在于,可减小传输数据量,进一步提升上报效率。例如,第一日志信息的数据类型为字符串类型,预设数据类型为数值类型(如整型),这样设置的好处在于,能够与现有的ADSP架构传感器数据传输机制兼容,且数值类型数据的数据量小,传输速度快。示例性的,本步骤中按照预设对应关系将第一日志信息由字符串类型转换为数值类型,得到第一上报数据。例如,以接近传感器为例,假设第一日志信息为“open prox sensor”,对应的第一上报数据为“100”。
步骤202、确定第一日志信息对应的上报类型。
本申请实施例中,为日志信息定义了不同的上报类型,以实现对日志信息的分类,方便后续的按照上报类型并行上报,以提高上报效率。在上报日志信息之前,先确定其所属的上报类型,以便确定用于传输日志信息的目标虚拟传感器。
示例性的,上报类型可基于物理传感器类型、日志信息内容或ADSP架构功能域等进行分类。以下列举几种分类方式作为示意性说明。
可选的,在基于物理传感器类型分类时,可按照物理传感器的名称分类,例如物理传感器名称与预设虚拟传感器一一对应;也可按照物理传感器的功能分类,例如,陀螺仪及加速度传感器等传感器是用于检测移动终端的运动数据的,可对应一个预设虚拟传感器,环境光传感器和接近传感器是用于检测外界环境变化的,可对应另外一个预设虚拟传感器;还可按照物理传感器的优先级进行分类,该优先级可以用于表征物理传感器唤醒AP的能力强弱或权限高低,可根据系统设置决定,不同的移动终端可能不相同,例如,有些移动终端可能开启了接近远离事件唤醒系统的功能,那么接近传感器的优先级可高于其他物理传感器。
可选的,在基于日志信息内容分类时,可按照日志信息内容的类型分类,例如,传感器的工作状态为一类,传感器的异常情况为一类,传感器采集的数据为一类,传感器的校准数据为一类,传感器的判定阈值为一类等等;也可按照日志信息内容的重要程度分类,例如,传感器的状态信息的重要程度高于传感器采集的数据和判定阈值,可将不同物理传感器的状态信息对应一个预设虚拟传感器,将不同物理传感器采集的数据和判定阈值对应另外一个预设虚拟传感器。
可选的,在基于ADSP架构功能域分类时,可将不同功能域(功能模块)产生的日志信息分别对应一个预设虚拟传感器。例如,传感器管理模块(Sensors Manager,Smgr)对应一个预设虚拟传感器,传感器校准管理模块(Sensors Calibration Manager)对应一个预设虚拟传感器,传感器算法管理模块(Sensors Alorithm Manager)对应一个预设虚拟传感器等等。
步骤203、根据所确定的上报类型调用对应的目标虚拟传感器。
其中,所述目标虚拟传感器包含于多个预设虚拟传感器中,不同预设虚拟传感器能够同时处于被调用状态。如上文所述,预设虚拟传感器可设置于ADSP驱动层,即预设虚拟传感器可与物理传感器一样挂载于ADSP上,使预设虚拟传感器具备与物理传感器一样的向AP上报数据的能力。由于不同预设虚拟传感器能够同时处于被调用状态,那么说明不同预设虚拟传感器之间的日志信息传输是独立的,互不干扰的,可以实现日志信息的并行传输,保证日志信息的上报效率。对目标虚拟传感器的调用例如可以是调用目标虚拟传感器的数据上报接口,该数据上报接口可以以函数形式或其他形式存在。
步骤204、利用目标虚拟传感器将第一上报数据上报至应用处理器,并通过应用处理器基于预设对应关系对所接收到的第一上报数据进行解析,得到第一日志信息。
示例性的,在调用目标虚拟传感器后,可利用该目标虚拟传感器将第一上报数据上报至AP,再通过AP将接收到的第一上报数据基于预设对应关系还原为第一日志信息,以成功实现第一日志信息的上报。如上述举例,基于预设对应关系将接收到的第一数据“100”还原为第一日志信息为“open prox sensor”。
具体的,通过调用目标虚拟传感器的方式,可将第一上报数据通过传感器数据的传输通道上报至AP,也即利用目标虚拟传感器将第一上报数据通过传感器数据的传输通道上报至AP。
本申请实施例中提供的日志信息上报方法,按照预设对应关系将待上报的第一日志信息转化为预设数据类型的第一上报数据,并根据第一日志信息对应的上报类型调用对应的多个预设虚拟传感器中的目标虚拟传感器,利用该目标虚拟传感器将第一上报数据上报至应用处理器,再通过应用处理器基于预设对应关系对所接收到的第一上报数据进行解析,得到第一日志信息,从而完成了第一日志信息的上报,而不同的预设虚拟传感器能够同时处于被调用状态,所以不同上报类型的日志信息可并行地通过多个预设虚拟传感器进行上报,有效提高物理传感器的日志信息的上报效率。
在一些实施例中,所述根据所确定的上报类型调用对应的目标虚拟传感器,可包括:根据所确定的上报类型调用对应的目标虚拟传感器的数据上报函数,其中,不同预设虚拟传感器对应的数据上报函数能够同时处于被调用状态;相应的,所述利用所述目标虚拟传感器将所述第一上报数据上报至应用处理器,可包括:利用所述目标虚拟传感器对应的数据上报函数将所述第一上报数据上报至应用处理器。本申请实施例中,可通过调用目标虚拟传感器的数据上报函数来实现第一上报数据的上报,进一步提高上报速度。
在一些实施例中,所述数据上报函数中定义的参数包括物理传感器标识(id)和上报数据内容,所述上报数据内容与所述第一上报数据对应。在定义了物理传感器标识后,同样的上报数据对于不同的物理传感器来说表示不同的含义,即代表不同的日志信息,可进一步减少上报数据的位数或数据量。上报数据内容可包括如字符串标识(可用于表示需要上传的日志对应的id值,该id值可对应传感器不同的工作状态),还可包括上报的数据,即物理传感器采集的数据。此外,数据上报函数中还可包含其他变量,如时间戳(timestamp)等。在利用数据上报函数将第一上报数据上报至AP时,还可对其中的参数值进行压缩,以实现打包上传,能够进一步减小传输数据量,加快上报速度。
在一些实施例中,在所述获取待上报的第一日志信息之前,还可包括:在ADSP驱动层设置多个预设虚拟传感器;为每个预设虚拟传感器分别配置数据上报函数作为日志上报接口函数,以及分别设置对应的上报类型。预设虚拟传感器与物理传感器均挂载在ADSP驱动层,能够在获取待上报的日志信息时,快速调用对应的预设虚拟传感器的数据上报函数,以实现日志上报。具体的,可增加预设虚拟传感器对应的结构体,用于实现预设虚拟传感器的初始化以及后续的数据上报。
在一些实施例中,在所述通过所述应用处理器基于所述预设对应关系对所接收到的第一上报数据进行解析,得到所述第一日志信息之后,还包括:将所述第一日志信息和当前系统时间写入日志文件中。将解析出来的第一日志信息与当前系统时间一起写入日志文件中,方便根据日志文件对物理传感器相关问题进行追踪分析及处理。
在一些实施例中,在所述获取待上报的第一日志信息之前,还可包括:设置日志信息与上报数据的对应关系,以形成预设对应关系。
在一些实施例中,利用所述目标虚拟传感器对应的数据上报函数将所述第一上报数据上报至应用处理器,可包括:利用所述目标虚拟传感器对应的数据上报函数将所述第一上报数据经由传感器硬件抽象层接口上报至所述应用处理器。上述做法的好处在于,采用传感器数据的上报方式来上报日志信息对应的上报数据,充分利用了传感器数据上报通道,实现数据上报通道的复用,对系统架构改动少,降低实现成本,兼容性高,并能够有效提高日志信息上报效率。具体的,可利用目标虚拟传感器对应的数据上报函数将第一上报数据经由共享内存上报至AP的传感器硬件抽象层接口(Sensor hal),再由Sensor hal将第一上报数据经由Sensor Service(传感器服务)上报到系统服务(如Java Service)。相应的,通过所述应用处理器基于所述预设对应关系对所接收到的第一上报数据进行解析,具体可以是,通过AP中的系统服务基于预设对应关系对所接收到的第一上报数据进行解析。可选的,在通过Sensor Service实现对预设虚拟传感器的注册或注销,当一个预设虚拟传感器处于注册状态时,允许调用该预设虚拟传感器对应的数据上报函数,而处于注销状态时,则不允许调用。此处优化的好处在于,可根据不同的需求选择每个预设虚拟传感器的注册或注销状态,以实现对日志信息进行有选择性的上报,例如可将当前应用场景下不需要进行上报的上报类型对应的预设虚拟传感器注销。
图3为本申请实施例提供的另一种日志信息上报方法的流程示意图,该方法包括如下步骤:
步骤301、在ADSP驱动层设置多个预设虚拟传感器,为每个预设虚拟传感器分别配置数据上报函数作为日志上报接口函数,以及为每个预设虚拟传感器分别设置对应的上报类型。
步骤302、设置日志信息与上报数据的对应关系,以形成预设对应关系。
步骤303、在接收到日志信息上报指令时,获取待上报的第一日志信息,并按照预设对应关系将字符串类型的第一日志信息转化为数值类型的第一上报数据。
示例性的,接收到日志信息上报指令可包括检测到物理传感器生成新的日志信息。
可选的,在AP处于休眠状态时接收到日志信息上报指令,获取待上报的第一日志信息,此处优化可使本方案适用于AP处于休眠状态的应用场景。
步骤304、确定第一日志信息对应的上报类型。
步骤305、根据所确定的上报类型调用对应的目标虚拟传感器的数据上报函数。
步骤306、利用目标虚拟传感器对应的数据上报函数将第一上报数据经由传感器硬件抽象层接口上报至AP。
其中,不同预设虚拟传感器对应的数据上报函数能够同时处于被调用状态。
可选的,若此时AP处于休眠状态,则唤醒AP。
需要说明的是,在调用目标虚拟传感器的数据上报函数时,或利用目标虚拟传感器的数据上报函数进行第一上报数据的上报过程中,若有其他上报类型的第二日志信息需要上报,可调用第二日志信息对应的预设虚拟传感器上报第二日志信息对应的第二上报数据,以实现日志信息的并行上报。
步骤307、通过AP基于预设对应关系对所接收到的第一上报数据进行解析,得到第一日志信息。
步骤308、将第一日志信息和当前系统时间写入日志文件中。
可选的,若AP接收到第二日志信息,也可将第二日志信息和当前系统时间写入日志文件中。
可选的,在步骤308之后,还可包括,恢复AP至休眠状态。这样,AP在接收新的上报数据之前,可继续保持休眠状态,节省功耗。
本申请实施例提供的日志信息上报方法,在ADSP驱动层设置多个预设虚拟传感器,根据待上报的日志信息的类型选择相应的目标预设虚拟传感器并调用其对应的数据上报函数,利用该数据上报函数将日志信息对应的数据量更小的上报数据上报至AP,且该方案中,不同的数据上报函数可同时处于被调用状态,即不同日志信息可实现并行上报,有效提高了传感器日志信息的上报效率,从而缩短了日志信息的传输时间,可增加AP的休眠时间,节省功耗。
图4为本申请实施例提供的一种日志信息上报框架示意图,如图所示,以预设虚拟传感器为两个以及物理传感器为两个为例进行说明。需要说明的是,本申请实施例对预设虚拟传感器和物理传感器的具体数量均不作限定。图4中两个物理传感器分别为Gyro(Gyroscope,陀螺仪)和Prox(Proximity sensor,接近传感器),Gyro对应第一预设虚拟传感器Log Sensor1,Log Sensor1对应的数据上报函数在图中表现为Sensor_log_report接口1,也即Gyro生成的日志信息所属上报类型对应Log Sensor1;Prox对应第二预设虚拟传感器Log Sensor2,Log Sensor2对应的数据上报函数在图中表现为Sensor_log_report接口2。以Gyro为例,当Gyro中存在待上报的日志信息时,将该日志信息转化为数值格式的上报数据,确定该日志信息对应Log Sensor 1,调用Log Sensor 1对应的数据上报函数,将上报数据通过共享内存SMD上报至AP中的Sensor Hal接口,进而上传至Sensor Service,Sensor Service将上报数据再传递至Java Service,对接收到的上报数据进行解析后,得到日志信息并保存。可选的,该上报模式可由用户界面(User Interface,UI)开关进行控制。
以下提供本申请实施例中所涉及的数据结构定义及接口定义的可实现方式作为示意性说明。
在ADSP驱动层新增多个预设虚拟传感器,可记为“Sensor_log”或“Log Sensor”,预设虚拟传感器的数据上报函数作为接口函数,可供其他物理传感器调用以传递相应物理传感器的log信息。
在ADSP驱动层可定义Sensor_log的结构体struct sensors_log_dev如下:
上述为新增的Sensor_log结构体,用于对应驱动的初始化以及上报数据,一般该结构体很少需要修改。
对于物理传感器的一些工作状态,如重置及校准等等,对应的log信息以log字符串表示,可预先定义log字符串与数值的对应关系。以接近光传感器(一般接近传感器与环境光传感器集成到一起)和重力传感器为例,log字符串定义如下:
所有新增的log字符串都可参照上述方式进行定义,本申请实施例不做限定。
对于预设虚拟传感器对应的数据上报函数,可以下述形式存在:
void sensors_log_report(int sensor_id,int string_id,int argu3,intargu4,int argu5,int argu6,int argu7,uint64_t timestamp)
其中,对入参的解释如下:
sensor_id:每一个传感器对应固定的sensor id;
string_id:需要上传的log对应的id值;
argu3~argu7:上报的数据,可设置每次最多上报的个数,如5个;
timestamp:ADSP端的时间戳,通过该时间戳拉通hal层以及java层。
假设sensor_id表示ALS/PS,string_id的取值为6,则表示接近传感器处于校准状态,argu3~argu7可为接近传感器在校准状态下的相关数据,如接近值等。
可选的,在一些ADSP架构下,sensor传递数据一次性最多上报的数据存在上限,例如三个,此时可将argu进行打包上传,之后在hal层进行解析。如下:
dev_state->data_ptr[0].sample=sensor_id<<24|string_id<<16|argu3;
dev_state->data_ptr[1].sample=argu4<<16|argu5;
dev_state->data_ptr[2].sample=argu6<<16|argu7;
Timestamp表示的是ADSP的时间戳,与系统当前真实的时间没有关系,更多地是作为一个标志位,把hal层以及java层的时间串联起来,方便查找问题点。可用于接近传感器状态变化的时候,如果不需要传递该时间戳,可设置为0。
在hal层,可新增Log sensor的type、handle,以及新的hal层文件logger.cpp,用于接收驱动上传的数据。
可在hal层定义如下接口:processReportInd,该接口对应的函数可表示为:
该函数中,解析驱动上传的数据,并将解析后的数据继续上传到sensor service。
示例性的,解析过程如下:
上述函数中的入参可以是smgr_data,出参可以是sensor_data。在Java层,可定义log string如下:
该数据结构可与ADSP驱动层中log字符串的定义一一对应,以便在Java层实现data(上报数据)到Log信息的转化。
在Java层可定义log信息结构体如下:
在Java层可定义log library函数如下:
String log_library(LogInfo logInfo)
该函数用于将Hal层传递的数据按照sensor_id以及string_id来转化成设定好的字符串。
上述函数入参为logInfo,返回值为最终的需要保存到文件里面的字符串,包括当前的系统时间。
在解析出日志信息后,可通过如下函数将日志信息写如日志文件中:voidwriteSensorLogToFile(String logString)。
例如,将表示日志信息的字符串写入到data/oppo_log/当前系统时间/kernel/sensor_log.txt的文件。
以上描述仅为一种具体的实现方式,供本领域技术人员参考,但对本申请实施例并不构成限定。
图5为本申请实施例提供的一种日志信息上报装置的结构框图,该装置可由软件和/或硬件实现,一般集成在移动终端中,可通过执行日志信息上报方法来上报日志信息。如图5所示,该装置包括:
日志信息获取模块501,用于获取待上报的第一日志信息,其中,所述第一日志信息由物理传感器生成;
日志信息转化模块502,用于按照预设对应关系将所述第一日志信息转化为预设数据类型的第一上报数据;
上报类型确定模块503,用于确定所述第一日志信息对应的上报类型;
虚拟传感器调用模块504,用于根据所确定的上报类型调用对应的目标虚拟传感器,其中,所述目标虚拟传感器包含于多个预设虚拟传感器中,不同预设虚拟传感器能够同时处于被调用状态;
日志上报模块505,用于利用所述目标虚拟传感器将所述第一上报数据上报至应用处理器,并通过所述应用处理器基于所述预设对应关系对所接收到的第一上报数据进行解析,得到所述第一日志信息。
本申请实施例提供的日志信息上报装置,按照预设对应关系将待上报的第一日志信息转化为预设数据类型的第一上报数据,并根据第一日志信息对应的上报类型调用对应的多个预设虚拟传感器中的目标虚拟传感器,利用该目标虚拟传感器将第一上报数据上报至应用处理器,再通过应用处理器基于预设对应关系对所接收到的第一上报数据进行解析,得到第一日志信息,从而完成了第一日志信息的上报,而不同的预设虚拟传感器能够同时处于被调用状态,所以不同上报类型的日志信息可并行地通过多个预设虚拟传感器进行上报,有效提高物理传感器的日志信息的上报效率。
可选的,所述根据所确定的上报类型调用对应的目标虚拟传感器,包括:根据所确定的上报类型调用对应的目标虚拟传感器的数据上报函数,其中,不同预设虚拟传感器对应的数据上报函数能够同时处于被调用状态;相应的,所述利用所述目标虚拟传感器将所述第一上报数据上报至应用处理器,包括:利用所述目标虚拟传感器对应的数据上报函数将所述第一上报数据上报至应用处理器。
可选的,所述数据上报函数中定义的参数包括物理传感器标识和上报数据内容,所述上报数据内容与所述第一上报数据对应。
可选的,所述利用所述目标虚拟传感器对应的数据上报函数将所述第一上报数据上报至应用处理器,包括:
利用所述目标虚拟传感器对应的数据上报函数将所述第一上报数据经由传感器硬件抽象层接口上报至所述应用处理器。
可选的,该装置还包括设置模块,用于在所述获取待上报的第一日志信息之前,在音频数字信号处理器ADSP驱动层设置多个预设虚拟传感器;为每个预设虚拟传感器分别设置对应的数据上报函数以及上报类型。
可选的,所述预设数据类型为数值类型,所述第一日志信息的数据类型为字符串类型。
可选的,所述上报类型基于物理传感器类型、日志信息内容或ADSP架构功能域进行分类。
可选的,该装置还包括写入模块,用于在所述通过所述应用处理器基于所述预设对应关系对所接收到的第一上报数据进行解析,得到所述第一日志信息之后,将所述第一日志信息和当前系统时间写入日志文件中。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行日志信息上报方法,该方法包括:
获取待上报的第一日志信息,并按照预设对应关系将所述第一日志信息转化为预设数据类型的第一上报数据;
确定所述第一日志信息对应的上报类型;
根据所确定的上报类型调用对应的目标虚拟传感器,其中,所述目标虚拟传感器包含于多个预设虚拟传感器中,不同预设虚拟传感器能够同时处于被调用状态;
利用所述目标虚拟传感器将所述第一上报数据上报至应用处理器,并通过所述应用处理器基于所述预设对应关系对所接收到的第一上报数据进行解析,得到所述第一日志信息。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDRRAM、SRAM、EDORAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的日志信息上报操作,还可以执行本申请任意实施例所提供的日志信息上报方法中的相关操作。
本申请实施例提供了一种移动终端,该移动终端中可集成本申请实施例提供的日志信息上报装置。图6为本申请实施例提供的一种移动终端的结构示意图。如图6所示,该移动终端可以包括:传感器601,存储器602,处理器603及存储在存储器上并可在处理器运行的计算机程序,所述处理器603执行所述计算机程序时实现如本申请实施例所述的任意一种日志信息上报方法。所述传感器601包括本申请实施例中所述的物理传感器,具体类型及数量本申请实施例不做限定。
本申请实施例提供的移动终端,不同的预设虚拟传感器能够同时处于被调用状态,所以不同上报类型的日志信息可并行地通过多个预设虚拟传感器进行上报,有效提高物理传感器的日志信息的上报效率。
图7为本申请实施例提供的又一种移动终端的结构示意图,如图7所示,该移动终端可以包括:壳体(图中未示出)、存储器701、中央处理器(central processing unit,CPU)702(又称处理器,以下简称CPU)、传感器713、电路板(图中未示出)和电源电路(图中未示出)。所述电路板安置在所述壳体围成的空间内部;所述CPU702和所述存储器701设置在所述电路板上;所述电源电路,用于为所述移动终端的各个电路或器件供电;所述存储器701,用于存储可执行程序代码;所述CPU702通过读取所述存储器701中存储的可执行程序代码来运行与所述可执行程序代码对应的计算机程序,以实现以下步骤:
获取待上报的第一日志信息,并按照预设对应关系将所述第一日志信息转化为预设数据类型的第一上报数据,其中,所述第一日志信息由物理传感器生成;
确定所述第一日志信息对应的上报类型;
根据所确定的上报类型调用对应的目标虚拟传感器,其中,所述目标虚拟传感器包含于多个预设虚拟传感器中,不同预设虚拟传感器能够同时处于被调用状态;
利用所述目标虚拟传感器将所述第一上报数据上报至应用处理器,并通过所述应用处理器基于所述预设对应关系对所接收到的第一上报数据进行解析,得到所述第一日志信息。
所述移动终端还包括:外设接口703、RF(Radio Frequency,射频)电路705、音频电路706、扬声器711、电源管理芯片708、输入/输出(I/O)子系统709、其他输入/控制设备710、触摸屏712、其他输入/控制设备710以及外部端口704,这些部件通过一个或多个通信总线或信号线707来通信。
应该理解的是,图示移动终端700仅仅是移动终端的一个范例,并且移动终端700可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
下面就本实施例提供的用于上报日志信息的移动终端进行详细的描述,该移动终端以手机为例。
存储器701,所述存储器701可以被CPU702、外设接口703等访问,所述存储器701可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
外设接口703,所述外设接口703可以将设备的输入和输出外设连接到CPU702和存储器701。
I/O子系统709,所述I/O子系统709可以将设备上的输入输出外设,例如触摸屏712和其他输入/控制设备710,连接到外设接口703。I/O子系统709可以包括显示控制器7091和用于控制其他输入/控制设备710的一个或多个输入控制器7092。其中,一个或多个输入控制器7092从其他输入/控制设备710接收电信号或者向其他输入/控制设备710发送电信号,其他输入/控制设备710可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器7092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
触摸屏712,所述触摸屏712是用户移动终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。
I/O子系统709中的显示控制器7091从触摸屏712接收电信号或者向触摸屏712发送电信号。触摸屏712检测触摸屏上的接触,显示控制器7091将检测到的接触转换为与显示在触摸屏712上的用户界面对象的交互,即实现人机交互,显示在触摸屏712上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
RF电路705,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路705接收并发送RF信号,RF信号也称为电磁信号,RF电路705将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路705可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC(COder-DECoder,编译码器)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。
音频电路706,主要用于从外设接口703接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器711。
扬声器711,用于将手机通过RF电路705从无线网络接收的语音信号,还原为声音并向用户播放该声音。
电源管理芯片708,用于为CPU702、I/O子系统及外设接口所连接的硬件进行供电及电源管理。
传感器713,包括本申请实施例中所述的物理传感器,具体类型及数量本申请实施例不做限定。
上述实施例中提供的日志信息上报装置、存储介质及移动终端可执行本申请任意实施例所提供的日志信息上报方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的日志信息上报方法。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (11)
1.一种日志信息上报方法,其特征在于,包括:
获取待上报的第一日志信息,并按照预设对应关系将所述第一日志信息转化为预设数据类型的第一上报数据,其中,所述第一日志信息由物理传感器生成;
确定所述第一日志信息对应的上报类型;
根据所确定的上报类型调用对应的目标虚拟传感器,其中,所述目标虚拟传感器包含于多个预设虚拟传感器中,不同预设虚拟传感器能够同时处于被调用状态;
利用所述目标虚拟传感器将所述第一上报数据上报至应用处理器,并通过所述应用处理器基于所述预设对应关系对所接收到的第一上报数据进行解析,得到所述第一日志信息。
2.根据权利要求1所述的方法,其特征在于,所述根据所确定的上报类型调用对应的目标虚拟传感器,包括:
根据所确定的上报类型调用对应的目标虚拟传感器的数据上报函数,其中,不同预设虚拟传感器对应的数据上报函数能够同时处于被调用状态;
相应的,所述利用所述目标虚拟传感器将所述第一上报数据上报至应用处理器,包括:
利用所述目标虚拟传感器对应的数据上报函数将所述第一上报数据上报至应用处理器。
3.根据权利要求2所述的方法,其特征在于,所述数据上报函数中定义的参数包括物理传感器标识和上报数据内容,所述上报数据内容与所述第一上报数据对应。
4.根据权利要求2所述的方法,其特征在于,所述利用所述目标虚拟传感器对应的数据上报函数将所述第一上报数据上报至应用处理器,包括:
利用所述目标虚拟传感器对应的数据上报函数将所述第一上报数据经由传感器硬件抽象层接口上报至所述应用处理器。
5.根据权利了要求2所述的方法,其特征在于,在所述获取待上报的第一日志信息之前,还包括:
在音频数字信号处理器ADSP驱动层设置多个预设虚拟传感器;
为每个预设虚拟传感器分别设置对应的数据上报函数以及上报类型。
6.根据权利要求1所述的方法,其特征在于,所述预设数据类型为数值类型,所述第一日志信息的数据类型为字符串类型。
7.根据权利要求1所述的方法,其特征在于,所述上报类型基于物理传感器类型、日志信息内容或ADSP架构功能域进行分类。
8.根据权利要求1-7任一所述的方法,其特征在于,在所述通过所述应用处理器基于所述预设对应关系对所接收到的第一上报数据进行解析,得到所述第一日志信息之后,还包括:
将所述第一日志信息和当前系统时间写入日志文件中。
9.一种日志信息上报装置,其特征在于,包括:
日志信息获取模块,用于获取待上报的第一日志信息,其中,所述第一日志信息由物理传感器生成;
日志信息转化模块,用于按照预设对应关系将所述第一日志信息转化为预设数据类型的第一上报数据;
上报类型确定模块,用于确定所述第一日志信息对应的上报类型;
虚拟传感器调用模块,用于根据所确定的上报类型调用对应的目标虚拟传感器,其中,所述目标虚拟传感器包含于多个预设虚拟传感器中,不同预设虚拟传感器能够同时处于被调用状态;
日志上报模块,用于利用所述目标虚拟传感器将所述第一上报数据上报至应用处理器,并通过所述应用处理器基于所述预设对应关系对所接收到的第一上报数据进行解析,得到所述第一日志信息。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的日志信息上报方法。
11.一种移动终端,其特征在于,包括传感器,存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-8任一所述的日志信息上报方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710823531.4A CN107621999B (zh) | 2017-09-13 | 2017-09-13 | 日志信息上报方法、装置、存储介质及移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710823531.4A CN107621999B (zh) | 2017-09-13 | 2017-09-13 | 日志信息上报方法、装置、存储介质及移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107621999A true CN107621999A (zh) | 2018-01-23 |
CN107621999B CN107621999B (zh) | 2021-02-02 |
Family
ID=61088476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710823531.4A Expired - Fee Related CN107621999B (zh) | 2017-09-13 | 2017-09-13 | 日志信息上报方法、装置、存储介质及移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107621999B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851313A (zh) * | 2019-11-14 | 2020-02-28 | 东莞市小精灵教育软件有限公司 | 一种传感器调试方法、智能终端、存储介质及电子设备 |
CN111744189A (zh) * | 2020-07-27 | 2020-10-09 | 腾讯科技(深圳)有限公司 | 画面更新方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101178709A (zh) * | 2006-11-08 | 2008-05-14 | 中兴通讯股份有限公司 | 日志记录系统和方法 |
US20090013335A1 (en) * | 2007-07-06 | 2009-01-08 | Aten International Co., Ltd. | Sensor process management methods and systems |
CN101572957A (zh) * | 2009-05-08 | 2009-11-04 | 深圳市宏电技术股份有限公司 | 基于wmmp的无线终端日志获取方法及系统 |
CN106776385A (zh) * | 2016-12-06 | 2017-05-31 | 广东欧珀移动通信有限公司 | 一种日志log信息的传输方法、装置及终端 |
-
2017
- 2017-09-13 CN CN201710823531.4A patent/CN107621999B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101178709A (zh) * | 2006-11-08 | 2008-05-14 | 中兴通讯股份有限公司 | 日志记录系统和方法 |
US20090013335A1 (en) * | 2007-07-06 | 2009-01-08 | Aten International Co., Ltd. | Sensor process management methods and systems |
CN101572957A (zh) * | 2009-05-08 | 2009-11-04 | 深圳市宏电技术股份有限公司 | 基于wmmp的无线终端日志获取方法及系统 |
CN106776385A (zh) * | 2016-12-06 | 2017-05-31 | 广东欧珀移动通信有限公司 | 一种日志log信息的传输方法、装置及终端 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851313A (zh) * | 2019-11-14 | 2020-02-28 | 东莞市小精灵教育软件有限公司 | 一种传感器调试方法、智能终端、存储介质及电子设备 |
CN110851313B (zh) * | 2019-11-14 | 2024-02-20 | 东莞市小精灵教育软件有限公司 | 一种传感器调试方法、智能终端、存储介质及电子设备 |
CN111744189A (zh) * | 2020-07-27 | 2020-10-09 | 腾讯科技(深圳)有限公司 | 画面更新方法、装置、计算机设备和存储介质 |
CN111744189B (zh) * | 2020-07-27 | 2022-02-01 | 腾讯科技(深圳)有限公司 | 画面更新方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107621999B (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108292165B (zh) | 触摸姿势检测评估 | |
CN102662665B (zh) | 在安卓系统上实现支持各种传感器的输入子系统 | |
CN103064535B (zh) | 触控笔、触控输入系统及更改触控操作特性的方法 | |
CN107577542A (zh) | 日志信息上报方法、装置、存储介质及移动终端 | |
CN109947650B (zh) | 脚本步骤处理方法、装置和系统 | |
CN113822322B (zh) | 图像处理模型训练方法及文本处理模型训练方法 | |
CN108573307A (zh) | 一种处理神经网络模型文件的方法及终端 | |
CN114371985A (zh) | 自动化测试方法、电子设备及存储介质 | |
CN115774655A (zh) | 数据处理方法、装置、电子设备及计算机可读介质 | |
CN113515279B (zh) | 表盘生成方法、装置、电子设备、智能手表及存储介质 | |
CN107391021A (zh) | 黑屏手势的识别方法、装置、存储介质及移动终端 | |
CN106776259A (zh) | 一种移动终端帧率检测方法、装置及移动终端 | |
CN107621999A (zh) | 日志信息上报方法、装置、存储介质及移动终端 | |
CN106021072A (zh) | 信息显示方法及装置 | |
CN114817419A (zh) | 基于Kafka的媒资数据存储方法、装置、电子设备及存储介质 | |
CN107609114A (zh) | 日志信息上报方法、装置及存储介质、adsp和终端 | |
CN105335434B (zh) | 日志管理方法、装置及电子设备 | |
CN117971397B (zh) | 模型处理方法、装置、终端设备及存储介质 | |
CN107609117A (zh) | 日志信息上报方法、装置及存储介质、adsp和终端 | |
CN110245017B (zh) | 资源标识的分配方法和设备 | |
US20230154500A1 (en) | Electronic device, and method of synchronizing video data and audio data by using same | |
CN116881143A (zh) | 一种数据对象复制异常排查方法、装置、设备及存储介质 | |
CN114444333B (zh) | 生态水位分析方法、装置、电子设备及存储介质 | |
CN109889660A (zh) | 临时信息记录方法、存储介质和移动终端 | |
CN112416927B (zh) | 一种数据处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18 Applicant after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd. Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18 Applicant before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210202 |
|
CF01 | Termination of patent right due to non-payment of annual fee |