CN107562602B - 日志信息上报方法、装置及存储介质、adsp和终端 - Google Patents
日志信息上报方法、装置及存储介质、adsp和终端 Download PDFInfo
- Publication number
- CN107562602B CN107562602B CN201710824055.8A CN201710824055A CN107562602B CN 107562602 B CN107562602 B CN 107562602B CN 201710824055 A CN201710824055 A CN 201710824055A CN 107562602 B CN107562602 B CN 107562602B
- Authority
- CN
- China
- Prior art keywords
- reporting
- log information
- log
- application processor
- processor
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000007958 sleep Effects 0.000 claims abstract description 32
- 230000005059 dormancy Effects 0.000 claims abstract description 13
- 230000006870 function Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 description 16
- 239000002609 medium Substances 0.000 description 12
- 230000002093 peripheral effect Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000012120 mounting media Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种日志信息上报方法、装置及存储介质、ADSP和终端。所述方法包括:当前音频数字信号处理器获取所在终端的应用处理器的休眠唤醒状态;确定所述应用处理器处于休眠状态,控制停止向所述应用处理器上报日志信息的操作;确定所述应用处理器处于唤醒状态,控制执行向所述应用处理器上报日志信息的操作。本申请实施例提供的技术方案,解决了现有技术中在打开日志开关后,音频数字信号处理器一直向应用处理器上报日志信息,导致应用处理器无法休眠的技术问题,优化了日志信息的上报方案,可以合理的进行日志信息的上报。
Description
技术领域
本申请实施例涉及移动终端的日志控制技术领域,尤其涉及一种日志信息上报方法、装置及存储介质、ADSP和终端。
背景技术
在移动终端上一般设置有一个音频数字信号处理器(advanced digital signalprocessor,ADSP),该处理器会集中管理移动终端上的所有传感器,可以节省移动终端应用处理器(Application Processor,AP)的很多资源。由于ADSP和AP是两个独立的处理器,所以传感器日志(log)信息的传递存储机制很复杂,相关技术中的日志上传控制方法存在缺陷,需要改进。
发明内容
本申请实施例提供一种日志信息上报方法、装置及存储介质、ADSP和终端,可以优化ADSP的日志上报方案。
在第一方面,本申请实施例提供了一种日志信息上报方法,包括:
当前音频数字信号处理器获取所在终端的应用处理器的休眠唤醒状态;
确定所述应用处理器处于休眠状态,控制停止向所述应用处理器上报日志信息的操作;
确定所述应用处理器处于唤醒状态,控制执行向所述应用处理器上报日志信息的操作。
在第二方面,本申请实施例提供了一种日志信息上报装置,包括:
休眠唤醒状态获取模块,用于当前音频数字信号处理器获取所在终端的应用处理器的休眠唤醒状态;
日志信息上报停止模块,用于确定所述应用处理器处于休眠状态,控制停止向所述应用处理器上报日志信息的操作;
日志信息上报模块,用于确定所述应用处理器处于唤醒状态,控制执行向所述应用处理器上报日志信息的操作。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所提供的日志信息上报方法。
在第四方面,本申请实施例提供了一种移动终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现如第一方面所提供的日志信息上报方法。
本申请实施例通过监控应用处理器的休眠唤醒状态,在应用处理器处于休眠状态时,停止向应用处理器上报日志信息的操作,在应用处理器恢复唤醒状态时,执行向应用处理器上报日志信息的操作,解决了现有技术中在打开日志开关后,音频数字信号处理器一直向应用处理器上报日志信息,导致应用处理器无法休眠的技术问题,优化了日志信息的上报方案,可以合理的进行日志信息的上报。
附图说明
图1为本申请实施例提供的一种日志信息上报过程示意图;
图2是本申请实施例提供的一种日志信息上报方法的流程图;
图3是本申请实施例提供的另一种日志信息上报方法的流程图;
图4是本申请实施例提供的另一种日志信息上报方法的流程图;
图5是本申请实施例提供的一种日志信息上报装置的结构示意图;
图6是本申请实施例提供的一种移动终端的结构示意图;
图7是本申请实施例提供的一种移动终端的另一结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
为了便于理解本申请实施例,下面以高通平台音频数字信号处理器(AudioDigital Dignal Processor,ADSP)架构为例对ADSP日志传输过程进行简要介绍。其中,ADSP架构是指:传感器挂载在ADSP上,ADSP管理终端内的所有传感器,在这种架构下,所有的传感器与ADSP进行交互,然后ADSP与应用处理器(Application Processor,AP)进行交互。ADSP上生成的日志信息主要是传感器的日志信息,还包括ADSP上电、掉电状态等系统日志信息。
ADSP上可挂载环境光传感器、接近传感器、陀螺仪及加速度传感器等传感器,这些传感器会生成传感器日志(Sensor Log),其中,传感器日志可包括传感器的状态信息(如是否出现故障,处于何种工作状态等)以及工作过程中涉及到的各种数据(如采集的数据及各种判定阈值等),对于不同的传感器,所生成的传感器日志可能存在差异,本申请实施例不再一一举例。图1为本申请实施例提供的一种日志信息上报过程示意图。传感器日志由传感器生成,由于传感器挂载在ADSP上,所以需要通过ADSP传输至AP。在ADSP生成日志信息之后直接存入ADSP的日志缓冲区中,待日志缓冲区中存满以后按照一定的上报方式通过ADSP与AP之间的通信路径,将日志缓冲区中的日志信息上报至AP,其中,所述通信路径可以为通过共享内存(Shared Memory Driver,SMD)、进程间通信(Inter-Process Communication,IPC)及高通消息接口(Qualcom Message Interface,QMI)将日志信息传送至AP的Diagnostic task,进而传送至AP的文件系统或者QXDM工具。其中,Diagnostic task是一个诊断进程,QXDM(The QUALCOMM Extensible Diagnostic Monitor)是高通公司的可以对移动终端所发数据进行跟踪的工具,可通过对数据的分析进行相关测试或诊断。开启日志开关之后,在日志信息的传输过程中,日志信息一般是以字符串的形式传输的,其数据量是比较大的,而日志缓冲区的存储空间有限,日志缓冲区很快就会被填满,导致日志缓冲区中的日志信息一直向AP端进行上报,而AP端在接收到ADSP上报的日志信息后就会去响应,导致AP无法休眠,且需要频繁的去接收和处理日志信息,使移动终端的功耗较大。若关闭日志开关,那么就会导致很多传感器相关的问题,由于缺乏底层驱动的日志信息而需要进行反复压力测试,徒增测试时间,严重影响对传感器相关问题的分析及解决效率。
接下来,将分别介绍日志信息的相关数据结构和日志信息的读取情景。
1、日志信息的相关数据结构。
struct logger_entry是一个用于描述一条Log记录的结构体。len成员变量记录了这条记录的有效负载的长度,有效负载指定的日志记录本身的长度。__pad成员变量是用来对齐结构体的。pid和tid成员变量分别用来记录是哪条进程写入了这条记录。sec和nsec成员变量记录日志写的时间。msg成员变量记录的就是有效负载的内容了,它的大小由len成员变量来确定。
结构体struct logger_log就是真正用来保存日志的地方了。buffer成员变量变是用保存日志信息的内存缓冲区,它的大小由size成员变量确定。从misc成员变量可以看出,日志驱动程序使用的设备属于misc类型的设备,wq成员变量是一个等待队列,用于保存正在等待读取日志的进程。readers成员变量用来保存当前正在读取日志的进程,正在读取日志的进程由结构体logger_reader来描述。mutex成员变量是一个互斥量,用来保护log的并发访问。w_off成员变量用来记录下一条日志应该从哪里开始写。head成员变量用来表示打开日志文件中,应该从哪一个位置开始读取日志。
2、日志信息的读取情景。
读取日志设备文件的方法为logger_read:
新打开日志设备文件时,是从log->head位置开始读取日志的,保存在structlogger_reader的成员变量r_off中。start标号处的while循环是在等待日志可读,如果已经没有新的日志可读了,那么读进程就要进入休眠状态,等待新的日志写入后再唤醒,这是通过prepare_wait和schedule两个调用来实现的。如果没有新的日志可读,并且设备文件不是以非阻塞O_NONBLOCK的方式打开或者这时有信号要处理(signal_pending(current)),那么就直接返回,不再等待新的日志写入。判断当前是否有新的日志可读的方法是:ret=(log->w_off==reader->r_off);即判断当前缓冲区的写入位置和当前读进程的读取位置是否相等,如果不相等,则说明有新的日志可读。继续向下看,如果有新的日志可读,那么就来获取下一条可读的日志记录的长度,从这里可以看出,日志读取进程可以日志记录为单位进行读取,一次只读取一条记录。需要说明的是,日志信息的读取和日志信息的上报是两个相对的过程,在某些情况下由应用处理器主动读取音频数字信号处理器中的日志信息,在某些情况次下由音频数字信号处理器主动向应用处理器上报日志信息,但是日志信息的读取和日志信息的上报机制和原理类似。
图2给出了本申请实施例提供的一种日志信息上报方法的流程图,本实施例的方法可以由日志信息上报装置来执行,该装置可通过硬件和/或软件的方式实现,所述装置可作为移动终端一部分设置在所述移动终端的内部,例如设置在移动终端的ADSP中。本实施例提供的方法适用于移动终端中的ADSP生成日志信息,向AP进行上报的情况。
如图2所示,本实施例提供的日志信息上报方法包括以下步骤:
步骤101、当前音频数字信号处理器获取所在终端的应用处理器的休眠唤醒状态。
本实施例中所述的终端包括但不限定于手机、笔记本或者平板电脑等集成有音频数字信号处理器和应用处理器的设备。
所述应用处理器的休眠唤醒状态表明应用处理器是处于休眠状态还是唤醒状态。
可选的,该步骤可以包括:当前音频数字信号处理器检测所在终端的应用处理器的休眠唤醒状态;或者,当前音频数字信号处理器接收所在终端的应用处理器发送的休眠唤醒状态信息,所述休眠唤醒状态信息指示所述应用处理器处于休眠状态或者唤醒状态。即当前音频数字信号处理器监控应用处理器的休眠唤醒状态的方法可以为主动监控并获取,也可以为被动接收应用处理器发送的所述休眠唤醒状态信息,所述被动方式一般是在应用处理器即将进入休眠状态之前,向所述音频数字信号处理器发送应用处理器休眠状态信息。
步骤102、判断所述应用处理器是否处休眠状态,若是,则执行步骤103,否则执行步骤104。
步骤103、控制停止向所述应用处理器上报日志信息的操作。
在确定应用处理器处于休眠状态后,控制音频数字信号处理器停止向应用处理器上报日志信息,即使当前日志生成开关处于开启状态,也不再向应用处理器上报日志信息。
可选的,在控制停止向应用处理器上报日志信息之后到检测到应用处理器处于唤醒状态的这段时间内,可以停止生成日志信息的操作,也可以继续生成日志信息,并将日志信息进行保存。
步骤104、判断所述应用处理器是否处于唤醒状态,若是则执行步骤105,否则跳转执行步骤101。
步骤105、控制执行向所述应用处理器上报日志信息的操作。
在检测到应用处理器由休眠状态转换为唤醒状态时,可以控制执行向所述应用处理器上报日志信息的操作。此时,所上报的日志信息可以包括确定应用处理器处于唤醒状态之后所生成的日志信息,还可以包括在控制停止向应用处理器上报日志信息之后到检测到应用处理器处于唤醒状态的这段时间内生成的日志信息。
本实施例提供的日志信息上报方法,通过监控应用处理器的休眠唤醒状态,在应用处理器处于休眠状态时,停止向应用处理器上报日志信息的操作,在应用处理器恢复唤醒状态时,执行向应用处理器上报日志信息的操作,解决了现有技术中在打开日志开关后,音频数字信号处理器一直向应用处理器上报日志信息,导致应用处理器无法休眠的技术问题,优化了日志信息的上报方案,可以合理的进行日志信息的上报。
图3给出了本申请实施例提供的另一种日志信息上报方法的流程图。如图3所示,本实施例提供的方法包括以下步骤:
步骤201、当前音频数字信号处理器获取所在终端的应用处理器的休眠唤醒状态。
步骤202、判断所述应用处理器是否处于休眠状态,若是,则执行步骤203,否则执行步骤205。
步骤203、控制停止向所述应用处理器上报日志信息的操作。
步骤204、将在所述应用处理器处于休眠状态下生成的日志信息,存储到所述当前音频数字信号处理器中的设定存储空间。
其中,所述设定存储空间为ADSP存储器上存储空间,区别于用于动态存储日志信息的日志缓冲区。一般,在开启日志开关后,音频数字信号处理器会将生成的日志信息存入日志缓冲区中,日志缓冲区的存储空间有限,会一直向应用处理器推送日志信息,导致应用处理器无法休眠。本实施例通过在应用处理器处于休眠状态下时,将音频数字信号处理器中生成的日志信息先存储到设定存储空间中,可以避免音频数字信号处理器上报日志而对应用处理器造成打扰,使得应用处理器无法休眠的问题。
步骤205、判断所述应用处理器是否处于唤醒状态,若是则执行步骤206,否则跳转执行步骤101。
步骤206、控制执行向所述应用处理器上报所述设定存储空间或者日志缓冲区中的日志信息的操作。
在确定应用处理器处于唤醒状态后,可以将设定存储空间中的日志信息进行上报,或者将日志缓冲区中本身存储的日志信息进行上报。
可选的,所述控制执行向所述应用处理器上报所述设定存储空间中的日志信息的操作包括:将所述设定存储空间中的日志信息存入日志缓冲区中;将所述日志缓冲区中的日志信息按照各自的日志属性对应的上报时间间隔,上报至所述应用处理器。
可选的,所述将所述日志缓冲区中的日志信息按照各自的日志属性对应的上报时间间隔,上报至所述应用处理器包括:将所述日志缓冲区中日志属性为设定日志属性的日志记录,按照第一上报时间间隔上报至所述应用处理器;将所述日志信息中的其他日志记录,按照第二上报时间间隔上报至所述应用处理器,所述其他日志记录的日志属性不是设定日志属性,所述第一上报时间间隔小于所述第二上报时间间隔。
可选的,所述日志属性包括日志上报类型,所述日志上报类型基于传感器类型、日志级别、日志信息内容或者ADSP架构功能域进行分类。
可选的,在基于传感器类型分类时,可按照传感器的名称分类,例如传感器名称与日志类型一一对应;也可按照传感器的功能分类,例如,陀螺仪及加速度传感器等传感器是用于检测移动终端的运动数据的,可对应运动日志类型,环境光传感器和接近传感器是用于检测外界环境变化的,可对应环境日志类型;还可按照传感器的优先级进行分类,该优先级可以用于表征传感器日志上报的优先级。
可选的,在基于日志信息内容分类时,可按照日志信息内容的类型分类,例如,传感器日志为一类,ADSP系统日志为一类,所述ADSAP系统日志包括ADSP上电、掉电等系统运行状态的日志信息;因为ADSP上的日志信息主要是传感器日志信息,也可以传感器的各个因素进行分类:例如,传感器的工作状态为一类,传感器的异常情况为一类,传感器采集的数据为一类,传感器的校准数据为一类,传感器的判定阈值为一类等等;也可按照日志信息内容的重要程度分类,例如,传感器的状态信息的重要程度高于传感器采集的数据和判定阈值,可将不同传感器的状态信息对应一个日志类型,将不同传感器采集的数据和判定阈值对应另外一个日志类型。
可选的,在基于日志级别分类时,一般从日志级别由低向高可包括以下几类:DEBUG(调试,表示所有合理的调试用日志),INFO(信息,表示正常使用时的日志),WARN(警告,表示可能有问题,还没发生错误),ERROR(错误,表示有问题并导致出错),FATAL(致命,表示有问题导致运行时发生致命错误,通常导致重启)。
可选的,在基于ADSP架构功能域分类时,可将不同功能域(功能模块)产生的日志信息分别对应一种日志类型。例如,传感器管理模块(Sensors Manager,Smgr)对应一种日志类型,传感器校准管理模块(Sensors Calibration Manager)对应一种日志类型,传感器算法管理模块(Sensors Alorithm Manager)对应一种日志类型等等。
当然,所述日志类型的分类还可基于其他因素进行分类,例如将日志信息基于当前运行的应用程序和ADSP系统本身而分为两类等,也可以基于其他分类方法对日志类型进行分类,本实施例对此并不进行限制。
示例性的,所述日志类型被分为传感器日志类型和ADSP系统日志类型,目前用户比较关注传感器的运行情况,那么可将设定日志上报类型设置为传感器日志类型,将日志缓冲区中的日志属性为传感器日志类型的日志信息,按照1秒的时间间隔上报至应用处理器,按照5秒的时间间隔将日志缓冲区中的其他日志信息上报至应用处理器。
可选的,若日志信息的日志上报类型有两种或者两种以上,可预先设置每种日志上报类型的日志信息对应的上报时间间隔;将所述日志缓冲区中的日志信息按照各自的日志上报属性所对应的上报时间间隔,上报至所述应用处理器。
本实施例提供的方法,通过将当前音频数字信号处理器在所述应用处理器处于休眠状态下生成的日志信息,存储到所述当前音频数字信号处理器中的设定存储空间,在确定所述应用处理器处于唤醒状态后,控制执行向所述应用处理器上报所述设定存储空间中的日志信息的操作,解决了现有技术中在打开日志开关后,音频数字信号处理器一直向应用处理器上报日志信息,导致应用处理器无法休眠的技术问题,优化了日志信息的上报方案,可以合理的进行日志信息的上报。
图4给出了本申请实施例提供的另一种日志信息的上报方法的流程图。如图4所示,本实施例提供的日志信息的上报方法包括以下步骤:
步骤301、当前音频数字信号处理器获取所在终端的应用处理器的休眠唤醒状态。
步骤302、判断所述应用处理器是否处休眠状态,若是,则执行步骤303,否则执行步骤304。
步骤303、控制停止向所述应用处理器上报日志信息的操作。
步骤304、判断所述应用处理器是否处于唤醒状态,若是则执行步骤305,否则跳转执行步骤301。
步骤305、将生成的第一预设日志类型的第一日志信息存入日志缓冲区中,并按照第一设定日志上报方式将所述第一日志信息上报至所述应用处理器。
其中,该步骤中所述第一预设日志类型可以为一个或者多个日志类型。例如,可以为ADSP系统日志类型这一种,也可以为接近传感器类型和加速度传感器类型这两种。所述第一日志信息中可包含一条或多条日志记录,本实施例对比并不进行限定。
一般可以将优先级别低、不太重要或者对上报的实时性要求不是很高的日志类型确定为第一预设日志类型,例如,若日志类型被分为传感器日志类型和ADSP系统日志类型,用户当前比较关注的是传感器的运行情况,那么可将ADSP系统日志类型确定为第一预设日志类型。
该步骤将第一预设日志类型的第一日志信息通过传统的日志上报方式上报至应用处理器中。
步骤306、将生成的第二预设日志类型的第二日志信息,按照预设对应关系转换为预设数据类型的第一上报数据,并按照第二设定日志上报方式将所述第一上报数据上报至所述应用处理器。所述第二预设日志类型包括传感器日志类型。
其中,该步骤中所述第二预设日志类型可以为一个或者多个日志类型。例如,可以为传感器日志类型这一种,也可以为接近传感器类型和加速度传感器类型这两种。所述第二日志信息中可包含一条或多条日志记录,本实施例对比并不进行限定。
一般可以将优先级别高、重要或者对上报的实时性要求较高的日志类型确定为第二预设日志类型,例如,若日志类型被分为传感器日志类型和ADSP系统日志类型,用户当前比较关注的是传感器的运行情况,那么可将传感器日志类型确定为第二预设日志类型。
该步骤将第二预设日志类型的第二日志信息转换为数据并通过数据上报方式上报至应用处理器中。示例性的,可以预先设置一个虚拟设备,以及该虚拟设备对应的数据上报函数,通过调用该数据上报函数将所述第一上报数据进行上报。
本申请实施例中对预设数据类型不做限定,可选的,第一上报数据的数据量小于所述第二日志信息的数据量,这样设置的好处在于,可减小传输数据量,进一步提升上报效率。例如,第二日志信息的数据类型为字符串类型,预设数据类型为数值类型(如整型),这样设置的好处在于,能够与现有的ADSP架构传感器数据传输机制兼容,且数值类型数据的数据量小,传输速度快。示例性的,本步骤中按照预设对应关系将第二日志信息由字符串类型转换为数值类型,得到第一上报数据。例如,以接近传感器为例,假设第一日志信息为“open prox sensor”,对应的第一上报数据为“100”。
可选的,所述按照第一设定日志上报方式将所述第一日志信息上报至所述应用处理器的操作,与所述按照第二设定日志上报方式将所述第一上报数据上报至所述应用处理器的操作并行执行。这样设置的原因是:一方面,通过两个日志上报通道来进行日志信息的上报,加快了日志信息上报的速度和效率;另一方面,通过将重要的第二日志信息通过数据通道进行传输,提升了第二日志信息上报的实时性。
可选的,所述按照第二设定日志上报方式将所述第一上报数据上报至所述应用处理器可以包括:调用预设虚拟传感器对应的数据上报函数,利用所述数据上报函数将所述第一上报数据上报至所述应用处理器,所述第一上报数据指示所述应用处理器基于所述预设对应关系对所接收到的第一上报数据进行解析,得到所述第二日志信息。
预设虚拟传感器可设置于ADSP驱动层,即预设虚拟传感器可与传感器一样挂载于ADSP上,使预设虚拟传感器具备与传感器一样的向AP上报数据的能力。
可选的,所述利用所述数据上报函数将所述第一上报数据上报至所述应用处理器可以包括:利用所述预设虚拟传感器对应的数据上报函数将所述第一上报数据经由传感器硬件抽象层接口上报至所述应用处理器。
可选的,所述预设虚拟传感器可以有多个,所述第二日志信息包括多个第二日志子信息,相应的,所述第一上报数据包括多个第一上报子数据,所述调用预设虚拟传感器对应的数据上报函数,利用所述数据上报函数将所述第一上报数据上报至所述应用处理器包括:将所述多个第一上报子数据分别作为当前第一上报子数据;确定当前第一上报子数据对应的传感器类型;根据确定的传感器类型调用对应的目标虚拟传感器的数据上报函数,其中,所述目标虚拟传感器包含于多个预设虚拟传感器中,不同预设虚拟传感器能够同时处于被调用状态;利用所述目标虚拟传感器的数据上报函数将所述当前第一上报子数据上报至所述应用处理器。
由于不同预设虚拟传感器能够同时处于被调用状态,那么说明不同预设虚拟传感器之间的日志信息传输是独立的,互不干扰的,可以实现日志信息的并行传输,保证日志信息的上报效率。对目标虚拟传感器的调用例如可以是调用目标虚拟传感器的数据上报接口,该数据上报接口可以以函数形式或其他形式存在。
示例性的,在调用目标虚拟传感器后,可利用该目标虚拟传感器将第一上报数据上报至AP,再通过AP将接收到的第一上报数据基于预设对应关系还原为第二日志信息,以成功实现第二日志信息的上报。如上述举例,基于预设对应关系将接收到的第一数据“100”还原为第二日志信息为“open prox sensor”。
在一些实施例中,在所述通过所述应用处理器基于所述预设对应关系对所接收到的第一上报数据进行解析,得到所述第二日志信息之后,还包括:将所述第二日志信息和当前系统时间写入日志文件中。将解析出来的第二日志信息与当前系统时间一起写入日志文件中,方便根据日志文件对传感器相关问题进行追踪分析及处理。
在一些实施例中,所述数据上报函数中定义的参数可以包括传感器标识(id)和上报数据内容,所述上报数据内容与所述第一上报数据对应。在定义了传感器标识后,同样的上报数据对于不同的传感器来说表示不同的含义,即代表不同的日志信息,可进一步减少上报数据的位数或数据量。上报数据内容可包括如字符串标识(可用于表示需要上传的日志对应的id值,该id值可对应传感器不同的工作状态),还可包括上报的数据,即传感器采集的数据。此外,数据上报函数中还可包含其他变量,如时间戳(timestamp)等。在利用数据上报函数将第一上报数据上报至AP时,还可对其中的参数值进行压缩,以实现打包上传,能够进一步减小传输数据量,加快上报速度。
本实施例提供的方法,通过将传感器日志类型的第二日志信息通过数据通道进行上报,可以保证较重要的第二日志信息上报的实时性,并且通过将第二日志信息转换为数据值类型的数据进行上报,减小了日志上报的数据量,提升了日志上报的效率。
图5为本申请实施例提供的一种日志信息的上报装置的结构示意图,该装置可由软件和/或硬件实现,集成在移动终端中。如图5所示,该装置包括休眠唤醒状态获取模块41、日志信息上报停止模块42和日志信息上报模块43。
休眠唤醒状态获取模块41,用于当前音频数字信号处理器获取所在终端的应用处理器的休眠唤醒状态;
日志信息上报停止模块42,用于确定所述应用处理器处于休眠状态,控制停止向所述应用处理器上报日志信息的操作;
日志信息上报模块43,用于确定所述应用处理器处于唤醒状态,控制执行向所述应用处理器上报日志信息的操作。
本实施例提供的装置,应用处理器处于休眠状态时,停止向应用处理器上报日志信息的操作,在应用处理器恢复唤醒状态时,执行向应用处理器上报日志信息的操作,解决了现有技术中在打开日志开关后,音频数字信号处理器一直向应用处理器上报日志信息,导致应用处理器无法休眠的技术问题,优化了日志信息的上报方案,可以合理的进行日志信息的上报。
在上述各实施例的基础上,所述休眠唤醒状态获取模块具体用于:
当前音频数字信号处理器检测所在终端的应用处理器的休眠唤醒状态;或者,
当前音频数字信号处理器接收所在终端的应用处理器发送的休眠唤醒状态信息,所述休眠唤醒状态信息指示所述应用处理器处于休眠状态或者唤醒状态。
在上述各实施例的基础上,所述装置还包括:
日志信息存储模块,用于将当前音频数字信号处理器在所述应用处理器处于休眠状态下生成的日志信息,存储到所述当前音频数字信号处理器中的设定存储空间;
所述日志信息上报模块具体用于:
确定所述应用处理器处于唤醒状态,控制执行向所述应用处理器上报所述设定存储空间中的日志信息的操作。
在上述各实施例的基础上,所述日志信息上报模块控制执行向所述应用处理器上报所述设定存储空间中的日志信息的操作包括:
将所述设定存储空间中的日志信息存入日志缓冲区中;
将所述日志缓冲区中的日志信息按照各自的日志属性对应的上报时间间隔,上报至所述应用处理器。
在上述各实施例的基础上,所述日志信息上报模块将所述日志缓冲区中的日志信息按照各自的日志属性对应的上报时间间隔,上报至所述应用处理器包括:
将所述日志缓冲区中日志属性为设定日志属性的日志记录,按照第一上报时间间隔上报至所述应用处理器;
将所述日志信息中的其他日志记录,按照第二上报时间间隔上报至所述应用处理器,所述其他日志记录的日志属性不是设定日志属性,所述第一上报时间间隔小于所述第二上报时间间隔。
在上述各实施例的基础上,所述日志属性包括日志上报类型,所述日志上报类型基于传感器类型、日志级别、日志信息内容或者ADSP架构功能域进行分类。
在上述各实施例的基础上,所述日志信息上报模块控制执行向所述应用处理器上报日志信息的操作包括:
将生成的第一预设日志类型的第一日志信息存入日志缓冲区中,并按照第一设定日志上报方式将所述第一日志信息上报至所述应用处理器;
将生成的第二预设日志类型的第二日志信息,按照预设对应关系转换为预设数据类型的第一上报数据,并按照第二设定日志上报方式将所述第一上报数据上报至所述应用处理器。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种日志信息上报方法,该方法包括:当前音频数字信号处理器获取所在终端的应用处理器的休眠唤醒状态;确定所述应用处理器处于休眠状态,控制停止向所述应用处理器上报日志信息的操作;确定所述应用处理器处于唤醒状态,控制执行向所述应用处理器上报日志信息的操作。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的日志信息上报操作,还可以执行本申请任意实施例所提供的日志信息上报方法中的相关操作。
本实施例提供了一种音频数字信号处理器,其上存储有计算机程序,该程序被所述音频数字信号处理器执行时实现本申请任意实施例所提供的日志信息上报方法。
本申请实施例提供了一种移动终端,该移动终端可以包括本申请任意实施例提供的日志信息上报装置。图6为本申请实施例提供的一种移动终端的结构示意图,如图6所示,该移动终端可以包括:传感器501,存储器502,处理器(所述处理器包括音频数字信号处理器503和应用处理器504)及存储在存储器上并可在音频数字信号处理器504运行的计算机程序,所述音频数字信号处理器执行所述计算机程序时实现如本申请实施例所述的任意一种日志信息上报方法。其中,所述存储器502包括音频数字信号处理器503和应用处理器的共享内存,还包括音频数字信号处理器503和应用处理器各自独立的存储空间。
本申请实施例提供了一种移动终端,该移动终端可以包括本申请任意实施例提供的日志信息上报装置。图7为本申请实施例提供的一种移动终端的另一结构示意图,如图7所示,该移动终端可以包括:存储器601、中央处理器(Central Processing Unit,CPU)602(又称处理器,以下简称CPU)、所述CPU包括应用处理器AP,所述存储器601,用于存储可执行程序代码;所述处理器602通过读取所述存储器601中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行:当前音频数字信号处理器获取所在终端的应用处理器的休眠唤醒状态;确定所述应用处理器处于休眠状态,控制停止向所述应用处理器上报日志信息的操作;确定所述应用处理器处于唤醒状态,控制执行向所述应用处理器上报日志信息的操作。
所述移动终端还包括:外设接口603、RF(Radio Frequency,射频)电路605、音频电路606、音频数字信号处理器613、传感器614、扬声器611、电源管理芯片608、输入/输出(I/O)子系统609、触摸屏612、其他输入/控制设备610以及外部端口604,这些部件通过一个或多个通信总线或信号线607来通信。
应该理解的是,图示移动终端600仅仅是移动终端的一个范例,并且移动终端600可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
下面就本实施例提供的用于上报日志信息的移动终端进行详细的描述,该移动终端以手机为例。
存储器601,所述存储器601可以被CPU602、外设接口603等访问,所述存储器601可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
外设接口603,所述外设接口603可以将设备的输入和输出外设连接到CPU502和存储器601。
I/O子系统609,所述I/O子系统609可以将设备上的输入输出外设,例如触摸屏612和其他输入/控制设备610,连接到外设接口603。I/O子系统609可以包括显示控制器6091和用于控制其他输入/控制设备610的一个或多个输入控制器6092。其中,一个或多个输入控制器6092从其他输入/控制设备610接收电信号或者向其他输入/控制设备610发送电信号,其他输入/控制设备610可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器6092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
触摸屏612,所述触摸屏612是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。
I/O子系统609中的显示控制器6091从触摸屏612接收电信号或者向触摸屏612发送电信号。触摸屏612检测触摸屏上的接触,显示控制器6091将检测到的接触转换为与显示在触摸屏612上的用户界面对象的交互,即实现人机交互,显示在触摸屏612上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
RF电路605,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路605接收并发送RF信号,RF信号也称为电磁信号,RF电路605将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路605可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC(COder-DECoder,编译码器)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。
音频电路606,主要用于从外设接口603接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器611。
音频数字信号处理器(ADSP)613,用于控制和管理传感器。
传感器614,包括环境光传感器、接近传感器、陀螺仪及加速度传感器等。
扬声器611,用于将手机通过RF电路605从无线网络接收的语音信号,还原为声音并向用户播放该声音。
电源管理芯片608,用于为CPU602、I/O子系统及外设接口603所连接的硬件进行供电及电源管理。
上述实施例中提供的日志信息上报装置、存储介质及移动终端可执行本申请任意实施例所提供的日志信息上报方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的日志信息上报方法。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。
Claims (6)
1.一种日志信息上报方法,其特征在于,包括:
当前音频数字信号处理器获取所在终端的应用处理器的休眠唤醒状态;
确定所述应用处理器处于休眠状态,控制停止向所述应用处理器上报日志信息的操作;
确定所述应用处理器处于唤醒状态,控制执行向所述应用处理器上报日志信息的操作,包括:
将生成的第一预设日志类型的第一日志信息存入日志缓冲区中,并按照第一设定日志上报方式将所述第一日志信息上报至所述应用处理器;
将生成的第二预设日志类型的第二日志信息,按照预设对应关系转换为预设数据类型的第一上报数据,调用预设虚拟传感器对应的数据上报函数,利用所述数据上报函数将所述第一上报数据上报至所述应用处理器,所述预设虚拟传感器挂载于所述音频数字信号处理器上,
将所述第一日志信息上报至所述应用处理器与将所述第一上报数据上报至所述应用处理器并行执行。
2.根据权利要求1所述的方法,其特征在于,当前音频数字信号处理器获取所在终端的应用处理器的休眠唤醒状态包括:
当前音频数字信号处理器检测所在终端的应用处理器的休眠唤醒状态;或者,
当前音频数字信号处理器接收所在终端的应用处理器发送的休眠唤醒状态信息,所述休眠唤醒状态信息指示所述应用处理器处于休眠状态或者唤醒状态。
3.一种日志信息上报装置,其特征在于,包括:
休眠唤醒状态获取模块,用于当前音频数字信号处理器获取所在终端的应用处理器的休眠唤醒状态;
日志信息上报停止模块,用于确定所述应用处理器处于休眠状态,控制停止向所述应用处理器上报日志信息的操作;
日志信息上报模块,用于确定所述应用处理器处于唤醒状态,控制执行向所述应用处理器上报日志信息的操作,将生成的第一预设日志类型的第一日志信息存入日志缓冲区中,并按照第一设定日志上报方式将所述第一日志信息上报至所述应用处理器;
将生成的第二预设日志类型的第二日志信息,按照预设对应关系转换为预设数据类型的第一上报数据,调用预设虚拟传感器对应的数据上报函数,利用所述数据上报函数将所述第一上报数据上报至所述应用处理器,所述预设虚拟传感器挂载于所述音频数字信号处理器上,
将所述第一日志信息上报至所述应用处理器与将所述第一上报数据上报至所述应用处理器并行执行。
4.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1或2所述的日志信息上报方法。
5.一种音频数字信号处理器,其上存储有计算机程序,其特征在于,该程序被所述音频数字信号处理器执行时实现如权利要求1或2所述的日志信息上报方法。
6.一种移动终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1或2所述的日志信息上报方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710824055.8A CN107562602B (zh) | 2017-09-13 | 2017-09-13 | 日志信息上报方法、装置及存储介质、adsp和终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710824055.8A CN107562602B (zh) | 2017-09-13 | 2017-09-13 | 日志信息上报方法、装置及存储介质、adsp和终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107562602A CN107562602A (zh) | 2018-01-09 |
CN107562602B true CN107562602B (zh) | 2021-11-16 |
Family
ID=60980806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710824055.8A Expired - Fee Related CN107562602B (zh) | 2017-09-13 | 2017-09-13 | 日志信息上报方法、装置及存储介质、adsp和终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107562602B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019183783A1 (zh) * | 2018-03-26 | 2019-10-03 | 华为技术有限公司 | 一种终端内外围器件的管理方法及终端 |
CN112752329B (zh) * | 2019-10-30 | 2022-12-13 | 北京小米移动软件有限公司 | 事件通知方法、装置、移动终端及存储介质 |
CN116701101B (zh) * | 2022-12-30 | 2024-07-30 | 荣耀终端有限公司 | 一种SensorHUB的异常检测方法和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103228031A (zh) * | 2013-05-02 | 2013-07-31 | 黄晓峰 | 一种低功耗无线数据采集器 |
CN105843365A (zh) * | 2016-03-24 | 2016-08-10 | 广东欧珀移动通信有限公司 | 一种传感器控制方法及装置 |
CN106201844A (zh) * | 2016-06-29 | 2016-12-07 | 北京智能管家科技有限公司 | 一种日志收集方法及装置 |
CN106776385A (zh) * | 2016-12-06 | 2017-05-31 | 广东欧珀移动通信有限公司 | 一种日志log信息的传输方法、装置及终端 |
-
2017
- 2017-09-13 CN CN201710824055.8A patent/CN107562602B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103228031A (zh) * | 2013-05-02 | 2013-07-31 | 黄晓峰 | 一种低功耗无线数据采集器 |
CN105843365A (zh) * | 2016-03-24 | 2016-08-10 | 广东欧珀移动通信有限公司 | 一种传感器控制方法及装置 |
CN106201844A (zh) * | 2016-06-29 | 2016-12-07 | 北京智能管家科技有限公司 | 一种日志收集方法及装置 |
CN106776385A (zh) * | 2016-12-06 | 2017-05-31 | 广东欧珀移动通信有限公司 | 一种日志log信息的传输方法、装置及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN107562602A (zh) | 2018-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107545067B (zh) | 日志信息上报方法、装置及存储介质、adsp和终端 | |
CN108512695B (zh) | 监控应用卡顿的方法及装置 | |
CN107609120B (zh) | 日志信息上报方法、装置及存储介质、adsp和终端 | |
CN102789305B (zh) | 推迟挂起 | |
JP6333965B2 (ja) | ウェイクロック使用を追跡する技術 | |
WO2019128540A1 (zh) | 资源管理方法、移动终端及计算机可读存储介质 | |
CN108038231B (zh) | 日志处理方法、装置、终端设备及存储介质 | |
US9170912B1 (en) | System and methods for power and energy modeling in computing devices using system call tracing | |
CN107562602B (zh) | 日志信息上报方法、装置及存储介质、adsp和终端 | |
CN107590057B (zh) | 冻屏监测与解决方法、移动终端及计算机可读存储介质 | |
CN106775685B (zh) | 唤醒锁释放方法和装置、移动终端 | |
WO2019137170A1 (zh) | 信息处理方法、移动终端及计算机可读存储介质 | |
WO2020024732A1 (zh) | 进程处理方法、电子设备、计算机可读存储介质 | |
WO2019071615A1 (zh) | 一种降低终端功耗的方法及终端 | |
CN107577542B (zh) | 日志信息上报方法、装置、存储介质及移动终端 | |
CN107609114B (zh) | 日志信息上报方法、装置及存储介质、adsp和终端 | |
CN111078523B (zh) | 日志获取方法、装置、存储介质及电子设备 | |
CN108810057B (zh) | 用户行为数据的采集方法、装置及存储介质 | |
WO2019128571A1 (zh) | 资源管理方法、装置、移动终端及计算机可读存储介质 | |
WO2019128573A1 (zh) | 信息处理方法、装置、计算机设备和计算机可读存储介质 | |
WO2019128574A1 (zh) | 信息处理方法、装置、计算机设备和计算机可读存储介质 | |
CN107908492B (zh) | 黑屏检测方法、移动终端及计算机可读存储介质 | |
CN107609117B (zh) | 日志信息上报方法、装置及存储介质、adsp和终端 | |
WO2019128586A1 (zh) | 应用程序处理方法、电子设备、计算机可读存储介质 | |
CN107818036B (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: 20211116 |
|
CF01 | Termination of patent right due to non-payment of annual fee |