日志信息上报方法、装置及存储介质、ADSP和终端转让专利
申请号 : CN201710824053.9
文献号 : CN107590241B
文献日 : 2021-07-09
发明人 : 张强
申请人 : OPPO广东移动通信有限公司
摘要 :
权利要求 :
1.一种日志信息上报方法,其特征在于,包括:当前音频数字信号处理器生成日志信息;其中,所述日志信息包括音频数字信号处理器日志信息和传感器日志信息;
将所述日志信息存入所述音频数字信号处理器的日志缓冲区中;
将所述日志缓冲区中的日志信息按照各自的日志属性对应的上报时间间隔,上报至当前音频数字信号处理器所在终端的应用处理器;
所述方法还包括:
若确定所述应用处理器处于休眠状态,则将生成的日志信息存储到所述当前音频数字信号处理器的设定存储空间中;
在接收到所述应用处理器的日志信息获取指令时,从所述设定存储空间中获取所述日志信息获取指令相应的日志信息作为目标日志信息;或在检测到当前时间达到设定时间间隔时,从所述设定存储空间中获取与所述设定时间间隔相应的日志信息作为目标日志信息;
将所述目标日志信息存入所述日志缓冲区中。
2.根据权利要求1所述的方法,其特征在于,所述日志属性包括日志上报类型,所述将所述日志缓冲区中的日志信息按照各自的日志属性对应的上报时间间隔,上报至当前音频数字信号处理器所在终端的应用处理器包括:按照设定获取顺序实时获取所述日志缓冲区中的各个日志记录,将所述各个日志记录分别作为当前日志记录,所述设定获取顺序包括日志记录存入到所述日志缓冲区的时间先后顺序;
确定当前日志记录的第一日志类型对应的第一上报时间间隔,根据所述第一上报时间间隔将所述当前日志记录上报至所述应用处理器。
3.根据权利要求1所述的方法,其特征在于,所述日志属性包括日志上报类型,所述将所述日志缓冲区中的日志信息按照各自的日志属性对应的上报时间间隔,上报至当前音频数字信号处理器所在终端的应用处理器包括:利用设定计时器获取满足第二上报时间间隔的第二日志类型的日志信息;
将所述日志缓冲区中的所述第二日志类型的日志信息上报至所述应用处理器。
4.根据权利要求2所述的方法,其特征在于,所述根据所述第一上报时间间隔将所述当前日志记录上报至所述应用处理器包括:判断当前时间是否达到所述第一上报时间间隔;
若是,则将所述当前日志记录上报至所述应用处理器。
5.根据权利要求3所述的方法,其特征在于,所述设定计时器为多个,所述利用设定计时器获取满足第二上报时间间隔的第二日志类型的日志信息包括:实时检测多个设定计时器中是否存在计时时间达到对应的第二上报时间间隔的第一设定计时器;
若检测到存在所述第一设定计时器,则获取所述第二上报时间间隔对应的第二日志类型的日志信息。
6.根据权利要求2‑5任一项所述的方法,其特征在于,所述日志上报类型基于传感器类型、日志级别、日志信息内容或者ADSP架构功能域进行分类。
7.一种日志信息上报装置,其特征在于,包括:日志信息生成模块,用于当前音频数字信号处理器生成日志信息;其中,所述日志信息包括音频数字信号处理器日志信息和传感器日志信息;
日志信息存入模块,用于将所述日志信息存入所述音频数字信号处理器的日志缓冲区中;
日志信息上报模块,用于将所述日志缓冲区中的日志信息按照各自的日志属性对应的上报时间间隔,上报至当前音频数字信号处理器所在终端的应用处理器;
所述装置还包括:
日志信息存储模块,用于若确定所述应用处理器处于休眠状态,则将生成的日志信息存储到所述当前音频数字信号处理器的设定存储空间中;
日志信息获取模块,用于在接收到所述应用处理器的日志信息获取指令时,从所述设定存储空间中获取所述日志信息获取指令相应的日志信息作为目标日志信息;或在检测到当前时间达到设定时间间隔时,从所述设定存储空间中获取与所述设定时间间隔相应的日志信息作为目标日志信息;将所述目标日志信息存入所述日志缓冲区中。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1‑6中任一所述的日志信息上报方法。
9.一种音频数字信号处理器,其上存储有计算机程序,其特征在于,该程序被所述音频数字信号处理器执行时实现如权利要求1‑6中任一所述的日志信息上报方法。
10.一种移动终端,包括存储器、音频数字信号处理器、应用处理器及存储在存储器上并可在音频数字信号处理器上运行的计算机程序,其特征在于,所述音频数字信号处理器执行所述计算机程序时实现如权利要求1‑6中任一所述的日志信息上报方法。
说明书 :
日志信息上报方法、装置及存储介质、ADSP和终端
技术领域
背景技术
处理器(Application Processor,AP)的很多资源。由于ADSP和AP是两个独立的处理器,所
以传感器日志(log)信息的传递存储机制很复杂,相关技术中的日志上报控制方法存在缺
陷,需要改进。
发明内容
志信息上报方法。
处理器的响应压力,合理的上报音频数字信号处理器上的日志信息。
附图说明
具体实施方式
而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关
的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实
施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序
的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序
可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中
的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
ADSP架构是指:传感器挂载在ADSP上,ADSP管理终端内的所有传感器,在这种架构下,所有
的传感器与ADSP进行交互,然后ADSP与应用处理器(Application Processor,AP)进行交
互。ADSP上生成的日志信息主要是传感器的日志信息,还包括ADSP上电、掉电状态等系统日
志信息。
否出现故障,处于何种工作状态等)以及工作过程中涉及到的各种数据(如采集的数据及各
种判定阈值等),对于不同的传感器,所生成的传感器日志可能存在差异,本申请实施例不
再一一举例。图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无法休眠,且需要频繁的去接收和处理日志信息,使移动终端的功耗较大。若关闭日志开
关,那么就会导致很多传感器相关的问题,由于缺乏底层驱动的日志信息而需要进行反复
压力测试,徒增测试时间,严重影响对传感器相关问题的分析及解决效率。
来对齐结构体的。pid和tid成员变量分别用来记录是哪条进程写入了这条记录。sec和nsec
成员变量记录日志写的时间。msg成员变量记录的就是有效负载的内容了,它的大小由len
成员变量来确定。
出,日志驱动程序使用的设备属于misc类型的设备,wq成员变量是一个等待队列,用于保存
正在等待读取日志的进程。readers成员变量用来保存当前正在读取日志的进程,正在读取
日志的进程由结构体logger_reader来描述。mutex成员变量是一个互斥量,用来保护log的
并发访问。w_off成员变量用来记录下一条日志应该从哪里开始写。head成员变量用来表示
打开日志文件中,应该从哪一个位置开始读取日志。
经没有新的日志可读了,那么读进程就要进入休眠状态,等待新的日志写入后再唤醒,这是
通过prepare_wait和schedule两个调用来实现的。如果没有新的日志可读,并且设备文件
不是以非阻塞O_NONBLOCK的方式打开或者这时有信号要处理(signal_pending
(current)),那么就直接返回,不再等待新的日志写入。判断当前是否有新的日志可读的方
法是:ret=(log‑>w_off==reader‑>r_off);即判断当前缓冲区的写入位置和当前读进
程的读取位置是否相等,如果不相等,则说明有新的日志可读。继续向下看,如果有新的日
志可读,那么就来获取下一条可读的日志记录的长度,从这里可以看出,日志读取进程可以
日志记录为单位进行读取,一次只读取一条记录。需要说明的是,日志信息的读取和日志信
息的上报是两个相对的过程,在某些情况下由应用处理器主动读取音频数字信号处理器中
的日志信息,在某些情况次下由音频数字信号处理器主动向应用处理器上报日志信息,但
是日志信息的读取和日志信息的上报机制和原理类似。
作为移动终端一部分设置在所述移动终端的内部。例如设置在移动终端的音频数字信号处
理器中。本实施例提供的方法适用于移动终端中的音频数字信号处理器生成日志信息,向
应用处理器进行上报的情况。
的日志信息,所述传感器的日志信息由传感器生成。本实施例中所述的移动终端包括但不
限定于手机、笔记本或者平板电脑等设置有ADSP和AP的设备。
信息的操作。
间隔上报一次。
播队列。
用于检测移动终端的运动数据的,可对应运动日志类型,环境光传感器和接近传感器是用
于检测外界环境变化的,可对应环境日志类型;还可按照传感器的优先级进行分类,该优先
级可以用于表征传感器日志上报的优先级。
准数据为一类,传感器的判定阈值为一类等等;也可按照日志信息内容的重要程度分类,例
如,传感器的状态信息的重要程度高于传感器采集的数据和判定阈值,可将不同传感器的
状态信息对应一个日志类型,将不同传感器采集的数据和判定阈值对应另外一个日志类
型。
告,表示可能有问题,还没发生错误),ERROR(错误,表示有问题并导致出错),FATAL(致命,
表示有问题导致运行时发生致命错误,通常导致重启)。
志类型,传感器校准管理模块(Sensors Calibration Manager)对应一种日志类型,传感器
算法管理模块(Sensors Alorithm Manager)对应一种日志类型等等。
法对日志类型进行分类,本实施例对此并不进行限制。
述应用处理器;若否,则获取下一个待上报日志信息。其中,所述获取所述缓冲区中的待上
报日志信息可以包括:按照设定获取顺序实时获取所述日志缓冲区中待上报日志信息的各
个日志记录,将所述各个日志记录分别作为当前日志记录。所述判断当前时间是否达到所
述待上报日志信息对应的上报时间间隔,若是,则将所述待上报日志信息上报至所述应用
处理器,若否,则获取下一个待上报日志信息包括:确定当前日志记录的第一日志类型对应
的第一上报时间间隔,判断所述当前时间是否达到所述第一上报时间间隔,若是,则将所述
当前日志记录上报至所述应用处理器,若否,则获取下一个日志记录。
处理器,可以减缓应用处理器的响应压力,合理的上报音频数字信号处理器上的日志信息。
检测到日志信息上报事件被触发时,从所述设定存储空间中获取目标日志信息,并将所述
目标日志信息存入所述日志缓冲区中。
所在终端的应用处理器(AP)处于休眠状态或者接收到所述应用处理器发送的所述应用处
理器处于休眠状态的消息时,将生成的日志信息存放至所述音频数字信号处理器的设定存
储空间中。这样设置的原因是:在应用处理器处于休眠状态时,不将日志信息存入日志缓冲
区而是先存入设定存储空间,可以避免音频数字信号处理器将日志缓冲区中的日志信息进
行上报而对应用处理器造成打扰,使得应用处理器无法休眠的问题。
储空间中获取所述日志信息获取指令相应的日志信息作为目标日志信息;或者,在检测到
当前时间达到设定时间间隔时,从所述设定存储空间中获取与所述设定时间间隔相应的日
志信息作为目标日志信息。
冲区的时间先后顺序。
各个日志记录。例如,先存入的日志记录先获取,或者后存入的日志记录先获取。
日志类型可能不同,相应的每个日志记录对应的第一上报时间间隔也可能不同。
至所述应用处理器。若否,则获取下一个日志记录作为当前日志记录。
隔为5秒。那么当获取到的当前日志记录的日志类型为传感器类型时,则判断上次上报传感
器类型日志信息的时间距离当前时间是否达到1秒,若是则将所述当前日志记录上报至所
述应用处理器,若否则继续获取下一条日志记录。当获取到的当前日志记录的日志类型为
ADSP系统日志类型,则判断上次上报ADSP系统日志类型日志信息的时间距离当前时间是否
达到5秒,若是则将所述当前日志记录上报至所述应用处理器,若否则继续获取下一条日志
记录。
录分别执行确定上报时间间隔的描述方式,并不用于限定确定各个日志记录的上报时间间
隔的具体流程。本实施例中的步骤203和步骤204包括获取日志缓冲区中的一条日志记录;
确定该条日志记录对应的第一上报时间间隔;获取日志缓冲区中的下一条日志记录;确定
该条日志记录对应的第一上报时间间隔,直至日志缓冲区中的各个日志记录被获取完的实
施方式。
录的第一日志类型对应的第一上报时间间隔,根据所述第一上报时间间隔将所述当前日志
记录上报至所述应用处理器,可以合理的上报音频数字信号处理器上的日志信息。
到对应的第二上报时间间隔的第一设定计时器;若检测到存在所述第一设定计时器,则获
取所述第二上报时间间隔对应的第二日志类型的日志信息。其中,每个计时器对应为一种
日志类型的上报时间间隔进行计时,每个计时器对应一个第二上报时间间隔,所述第一设
定计时器可能为一个或者多个计时器。
时检测该3个计时器中的计时时间是否达到各自的上报间隔时间,例如,检测到计时器1达
到1秒,计时器2达到5秒,即第一计时器为计时器1和计时器2,对应的第二上报时间间隔为2
秒和5秒,则从日志缓冲区中获取日志类型A的日志信息和日志类型C的日志信息。其中,所
述获取日志信息的数量可以预先设定,例如每次获取一条或者多条第二日志类型的日志记
录。
报至所述应用处理器,可以合理的上报音频数字信号处理器的日志信息。
图5所示,该装置包括日志信息生成模块41、日志信息存入模块42和日志信息上报模块43。
缓应用处理器的响应压力,合理的上报音频数字信号处理器上的日志信息。
入到所述日志缓冲区的时间先后顺序;
字信号处理器生成日志信息;将所述日志信息存入所述音频数字信号处理器的日志缓冲区
中;将所述日志缓冲区中的日志信息按照各自的日志属性对应的上报时间间隔,上报至当
前音频数字信号处理器所在终端的应用处理器。
DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质
(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它
类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,
或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第
一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介
质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或
更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现
为计算机程序)。
日志信息上报方法中的相关操作。
处理器504)及存储在存储器上并可在音频数字信号处理器504运行的计算机程序,所述音
频数字信号处理器执行所述计算机程序时实现如本申请实施例所述的任意一种日志信息
上报方法。其中,所述存储器502包括音频数字信号处理器503和应用处理器的共享内存,还
包括音频数字信号处理器503和应用处理器各自独立的存储空间。
601、中央处理器(Central Processing Unit,CPU)602(又称处理器,以下简称CPU)、所述
CPU包括应用处理器AP,所述存储器601,用于存储可执行程序代码;所述处理器602通过读
取所述存储器601中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以
用于执行:当前音频数字信号处理器生成日志信息;将所述日志信息存入所述音频数字信
号处理器的日志缓冲区中;将所述日志缓冲区中的日志信息按照各自的日志属性对应的上
报时间间隔,上报至当前音频数字信号处理器所在终端的应用处理器。
O)子系统609、触摸屏612、其他输入/控制设备610以及外部端口604,这些部件通过一个或
多个通信总线或信号线607来通信。
具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用
集成电路在内的硬件、软件、或硬件和软件的组合中实现。
闪存器件、或其他易失性固态存储器件。
用于控制其他输入/控制设备610的一个或多个输入控制器6092。其中,一个或多个输入控
制器6092从其他输入/控制设备610接收电信号或者向其他输入/控制设备610发送电信号,
其他输入/控制设备610可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操
纵杆、点击滚轮。值得说明的是,输入控制器6092可以与以下任一个连接:键盘、红外端口、
USB接口以及诸如鼠标的指示设备。
在触摸屏612上的用户界面对象的交互,即实现人机交互,显示在触摸屏612上的用户界面
对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光
鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
号,RF信号也称为电磁信号,RF电路605将电信号转换为电磁信号或将电磁信号转换为电信
号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路605可以包括用于执行
这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一
个或多个振荡器、数字信号处理器、CODEC(COder‑DECoder,编译码器)芯片组、用户标识模
块(Subscriber Identity Module,SIM)等等。
述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的日志信息上报方法。
本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申
请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施
例,而本申请的范围由权利要求的范围决定。