CN116049122A - 日志信息传输控制方法、电子设备和存储介质 - Google Patents
日志信息传输控制方法、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116049122A CN116049122A CN202210970318.7A CN202210970318A CN116049122A CN 116049122 A CN116049122 A CN 116049122A CN 202210970318 A CN202210970318 A CN 202210970318A CN 116049122 A CN116049122 A CN 116049122A
- Authority
- CN
- China
- Prior art keywords
- buffer
- terminal
- log
- sub
- log information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000005540 biological transmission Effects 0.000 title claims abstract description 34
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 239000000872 buffer Substances 0.000 claims abstract description 529
- 238000007639 printing Methods 0.000 claims abstract description 21
- 229920006395 saturated elastomer Polymers 0.000 claims description 93
- 230000003139 buffering effect Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 description 36
- 230000006854 communication Effects 0.000 description 36
- 230000006870 function Effects 0.000 description 35
- 239000010410 layer Substances 0.000 description 25
- 238000007726 management method Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 15
- 238000012360 testing method Methods 0.000 description 15
- 230000005236 sound signal Effects 0.000 description 13
- 238000010295 mobile communication Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 210000000988 bone and bone Anatomy 0.000 description 9
- 230000002159 abnormal effect Effects 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 230000005856 abnormality Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000003745 diagnosis Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 241000238876 Acari Species 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000003416 augmentation Effects 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000010924 continuous production Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000002138 osteoinductive effect Effects 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/38—Services specially adapted for particular environments, situations or purposes for collecting sensor information
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephone Function (AREA)
Abstract
本申请实施例提供一种日志信息传输控制方法、电子设备和存储介质,方法包括:接收终端应用处理器发送的日志上报指令;接收终端应用处理器发送的时间戳信息,并根据时间戳信息给系统协处理器侧生成的日志添加时间戳;通过日志打印接口将用户目标日志信息缓存在缓冲区,其中,日志打印接口被配置成基于用户设置参数,将携带时间戳的系统协处理器侧的日志信息中相对应的用户目标日志信息缓存在缓冲区;以及将用户目标日志信息上报给终端应用处理器。可以实现无需将系统协处理器侧的全部日志均上报给应用处理器,降低终端的功耗。从而可以实现技术人员可以通过该时间戳快速筛选出目标日志,以减少故障复现定位终端故障原因的时间。
Description
技术领域
本申请涉及日志控制技术领域,尤其涉及一种日志信息传输控制方法、电子设备和存储介质。
背景技术
终端中设置有多个传感器(如加速度计、陀螺仪、磁力计、气压计、湿度传感器、压力传感器、光传感器等)为终端的正常运行提供支持,为了优化终端,则提出通过使用SCP进行传感器控制。
然而在得知终端出现问题时,在未开启系统协处理器(System Coprocessor,SCP)侧日志向应用处理器(Application Processor,AP)侧上报传感器(sensor)流水日志的功能时,技术人员只能获取AP侧日志。由于SCP侧日志数据量巨大,若将SCP侧日志导出到AP侧,并在庞大的SCP侧日志数据中搜寻出能够复现终端故障的目标日志,会增大AP负载,并且花费较大的人力成本和时间成本。
发明内容
本申请实施例提供一种日志信息传输控制方法、电子设备和存储介质,至少可以克服上述技术问题。
第一方面,本申请实施例提供一种日志信息传输控制方法,应用于终端系统协处理器,方法包括:接收终端应用处理器发送的日志上报指令;接收终端应用处理器发送的时间戳信息,并根据时间戳信息给系统协处理器侧生成的日志添加时间戳;通过日志打印接口将用户目标日志信息缓存在缓冲区,其中,日志打印接口被配置成基于用户设置参数,将携带时间戳的系统协处理器侧的日志信息中相对应的用户目标日志信息缓存在缓冲区;以及将用户目标日志信息上报给终端应用处理器。一方面,通过该方法可以基于该日志打印接口可以将用户感兴趣的日志打印到缓冲区中,进而在将用户目标日志信息上报给应用处理器后,用户可以得到感兴趣的日志,可以实现无需将系统协处理器侧的全部日志均上报给应用处理器,从而在上报日志的数据量降低后可以降低终端的功耗。另一方面,系统协处理器还可以根据应用处理器提供的时间戳信息给系统协处理器侧生成的日志添加时间戳,其中,通过日志打印接口缓存在缓冲区的用户目标日志信息携带该时间戳,在系统协处理器将缓冲区的用户目标日志信息上报给应用处理器后,技术人员可以基于时间戳从获取到的用户目标日志信息中进一步筛选出终端故障或终端异常对应的系统协处理器侧日志,从而可以减少故障复现定位终端故障原因的时间。
在一些实施方式中,终端应用处理器可以每个设定时长将应用处理器侧的时间信息同步给终端系统协处理器。在一种实施方式中,该设定时长可以350ms。
进一步地,将用户目标日志信息上报给终端应用处理器包括:在确定终端处于亮屏状态时,将用户目标日志信息上报给终端应用处理器。
进一步地,确定终端处于亮屏状态包括:接收终端应用处理器发送亮屏事件信息,并确定终端处于亮屏状态。
进一步地,将用户目标日志信息上报给终端应用处理器之前,还包括:若接收到终端应用处理器发送灭屏事件信息,确定终端处于灭屏状态,则结束将用户目标日志信息上报给终端应用处理器。
进一步地,缓冲区包括至少2个子缓冲区。
进一步地,将用户目标日志信息缓存在系统协处理器侧的缓冲区包括:基于乒乓缓存的方式,将用户目标日志信息缓存在系统协处理器侧的缓冲区。示例性的,缓冲区包括2个子缓冲区,分别为第一子缓冲区和第二子缓冲区,则可以将用户目标日志信息交替缓存在第一子缓冲区和第二子缓冲区,每当其中一个子缓冲区达到饱和状态时,切换至另一个子缓冲区继续缓存,从而实现不间断地将用户目标日志信息缓存在缓存区。
在一种实施方式中,缓冲区包括1个子缓冲区。在缓冲区仅包括1个子缓冲区的实施方式中,将用户目标日志信息上报给终端应用处理器包括:基于即饱和即上报的方式,将用户目标日志信息缓存在系统协处理器侧的1个子缓冲区,换言之,系统协处理器将用户目标日志信息缓存在系统协处理器侧的1个子缓冲区,每当系统协处理器侧的1个子缓冲区处于饱和状态后,将该子缓冲区缓存的用户目标日志信息上报给终端应用处理器侧,该子缓冲区由饱和状态变换到空状态之后,继续向该子缓冲区缓存用户目标日志信息,如此进行周期性的日志上报。
进一步地,将用户目标日志信息上报给终端应用处理器包括:确定缓冲区的当前缓存状态,其中,缓存状态包括第一缓存状态、第二缓存状态、第三缓存状态以及第四缓存状态;若确定缓冲区的当前缓存状态为第一缓存状态,则在确定当前子缓冲区侧处于饱和状态后,将处于饱和状态的子缓冲区缓存的用户目标日志信息上报给终端应用处理器;若确定缓冲区的当前缓存状态为第二缓存状态、第三缓存状态或者第四缓存状态,则将处于饱和状态的子缓冲区缓存的用户目标日志信息上报给终端应用处理器。
进一步地,确定子缓冲区的当前缓存状态包括:确定第一计数值,第一计数值为出现饱和状态子缓冲区的历史次数;确定第二计数值,第二计数值为向终端应用处理器侧发送用户目标日志信息的历史次数;若第一计数值与第二计数值的差等于0,则确定子缓冲区的当前缓存状态为第一缓存状态;若第一计数值与第二计数值的差等于1,则确定子缓冲区的当前缓存状态为第二缓存状态或者第三缓存状态;若第一计数值与第二计数值的差大于1,则确定子缓冲区的当前缓存状态为第四缓存状态。
进一步地,若子缓冲区的当前缓存状态为第二缓存状态、第三缓存状态或者第四缓存状态,在将处于饱和状态的子缓冲区缓存的用户目标日志信息上报给终端应用处理器之后,还包括:基于第一调整方式或者第二调整方式统一第一计数值和第二计数值。
进一步地,基于第一调整方式统一第一计数值和第二计数值包括:以第一计数值更新第二计数值。
进一步地,基于第二调整方式统一第一计数值和第二计数值包括:重置第一计数值和第二计数值。
进一步地,将用户目标日志信息上报给终端应用处理器包括:基于字符串编码的方式将用户目标日志信息上报给终端应用处理器。
第二方面,本申请实施例还提供一种系统协处理器,系统协处理器包括:控制器和存储器,存储器用于存储至少一条指令,指令由控制器加载并执行时以实现第一方面提供的日志传输控制方法。
第三方面,本申请实施例还提供一种终端,终端包括应用处理器和权利要求8的系统协处理器;其中,应用处理器将日志上报指令和时间戳信息发送给系统协处理器;系统协处理器用于执行以下步骤:接收终端应用处理器发送的日志上报指令;接收终端应用处理器发送的时间戳信息,并根据时间戳信息给系统协处理器侧生成的日志添加时间戳;通过日志打印接口将用户目标日志信息缓存在系统协处理器侧的缓冲区,其中,日志打印接口被配置成基于用户设置参数,将携带时间戳的系统协处理器侧的日志信息中相对应的用户目标日志信息缓存在缓冲区;以及将用户目标日志信息上报给终端应用处理器。
第四方面,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第一方面提供的日志传输控制方法。
第五方面,本申请实施例还提供一种计算机程序产品,包括计算机程序或指令,计算机程序或指令被处理器执行时实现第一方面提供的日志传输控制方法。
第六方面,本申请实施例还提供一种控制装置,该控制装置可以为芯片、组件或者模块,该控制装置可以包括相连接的处理器和存储器,存储器用于存储至少一条指令,指令由控制器加载并执行时以实现第一方面提供的日志传输控制方法。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的终端的结构示意图;
图2为本发明实施例的终端的软件结构框图;
图3为本申请一个实施例提供的开启SCP侧日志上报AP侧功能的条件判定流程图;
图4为本申请一个实施例提供的日志传输控制方法的流程图;
图5为本申请另一个实施例提供的开启SCP侧日志上报AP侧功能的条件判定流程图;
图6为本申请一个实施例提供的终端屏幕各工作状态对应的SCP侧日志缓存和上报控制示意图;
图7a为本申请一个实施例提供的SCP侧在终端灭屏状态下日志传输控制方法的流程图;
图7b为本申请一个实施例提供的SCP侧在终端恢复亮屏时日志传输控制方法的流程图;
图8为本申请一个实施例提供的日志上报场景示意图;
图9为本申请一个实施例提供的系统协处理器的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例涉及的终端可以包括手机、笔记本电脑、平板电脑、可穿戴设备等移动设备,还可以包括台式电脑等固定终端。
图1为本申请实施例提供的终端的结构示意图。参照图1所示,本申请实施例提供的终端可以为图1所示的电子设备100,其中,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriberidentification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,系统协处理器(SystemCoprocessor,SCP),和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图2是本发明实施例的终端(电子设备100)的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面1管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合捕获拍照场景,示例性说明电子设备100软件以及硬件的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头193捕获静态图像或视频。
以上为对本申请实施例提供电子设备100的软件系统架构的描述。
终端在进入售卖阶段之前,将经过多轮测试,该多轮测试可以包括产线测试、研发测试以及Beta测试。其中,产线测试是指在生产制造过程中对手机的各种校准和测试过程。研发测试是指终端回到研发后,由开发人员、专业测试人员或测试工具对终端进行的一系列测试。Beta测试是将终端发放给实际使用用户,在真实的现网环境中使用终端,按照真实的用户体验发现和反馈使用过程中的问题。上述进入售卖阶段之前的终端以下统称Beta终端。
为提高用户对终端使用的满意度和体验感,技术人员需要在终端上市售卖之前对Beta终端进行一系列测试,并在检测到Beta终端存在异常点或者故障点,技术人员可以通过抓取相应日志进行异常排除或者故障修复。同样的,进入上市售卖阶段的终端(以下简称商用终端),若用户在使用终端过程中出现问题,请求售后服务时,技术人员可以通过主动开启SCP侧向AP侧上报流水日志的功能,获取SCP侧的日志,并基于获取到的日志进行终端异常、故障分析。
以手机为例,技术人员需要对手机进行测试,该测试内容包括对手机中的传感器进行测试以确定各传感器是否工作正常。示例性的,该传感器可以包括加速度计、陀螺仪、磁力计、气压计、湿度传感器、压力传感器、光传感器等,各传感器会生成传感器日志(sensor log)。在出现传感器异常或者故障的问题时,技术人员需要获取相应传感器的传感器日志以根据日志信息确定异常点或者故障点。
由于SCP侧在实时生成日志,若使能SCP侧向AP侧上报日志接口打开,则会有大量的SCP侧日志发送到AP侧,严重影响设备的性能和功耗体验,且由于SCP与AP侧时间戳不对齐,技术人员难以从海量的日志中筛选出目标日志。
为克服上述技术问题,本申请实施例提供一种日志信息传输控制方法,通过该方法可以使技术人员可以通过基于AP侧提供的时间戳信息给SCP侧生成的日志设置相应时间戳,进而在AP侧使能SCP侧向AP侧上报日志的接口打开后,技术人员可以根据时间戳在AP侧获取到的SCP侧日志中查找目标日志,进而可以基于时间戳查找到的该时间戳相应的SCP侧日志,进而技术人员可以基于查找到的该时间戳相应的SCP侧的日志信息进行数据分析从而对异常或者故障终端进行诊断,提高故障定位的效率。
在一种实施方式中,终端是否可以使能SCP侧向AP侧上报SCP的日志信息,可以基于终端的相应因素确定。示例性的,可以基于终端的版本信息确定是否可以使能SCP侧向AP侧上报SCP的日志信息。其中,终端的版本信息可以包括产线测试版本(即上述Beta终端)或者商用版本(即上述商用终端)。
在第一实施方式中,仅在终端为Beta终端时,可以使能SCP侧向AP侧上报SCP的日志信息,即当前符合使能SCP侧向AP侧上报SCP的日志信息的条件为:确定当前终端的系统给版本为设定版本,在第一实施方式中设定版本为Beta版本。
在第二实施方式中,仅在终端为商用终端时,可以使能SCP侧向AP侧上报SCP的日志信息,即当前符合使能SCP侧向AP侧上报SCP的日志信息的条件为:确定当前终端的系统给版本为商用版本,在第二实施方式中设定版本为商用版本。其中,需要说明的是,该条件之前还存在一个前置条件,即已通过工程菜单打开了日志开关。
在第三实施方式中,终端为Beta终端或者商用终端时,均可以使能SCP侧向AP侧上报SCP的日志信息,即当前符合使能SCP侧向AP侧上报SCP的日志信息的条件为:确定当前终端的系统给版本为设定版本,在第三实施方式中设定版本为Beta版本或者商用版本。
为确定当前终端是否可以使能SCP侧向AP侧上报SCP的日志信息,可以在相应工作阶段确定该终端是否符合使能SCP侧向AP侧上报SCP的日志信息的条件,示例性的,在终端开机阶段执行该检测行为。
图3为本申请一个实施例提供的开启SCP侧日志上报AP侧功能的条件判定流程图。参照图3所示,该流程可以包括以下步骤:
步骤301:终端的应用处理器(Application Processor,AP)确定该终端是否符合使能SCP侧向AP侧上报SCP的日志信息的第一条件,若该终端不符合第一条件,则执行步骤302,若该终端符合第一条件,则执行步骤303。
其中,在终端开机后,AP可以从系统中查询终端的版本信息,以确定该终端是否符合使能SCP侧向AP侧上报SCP的日志信息的第一条件,具体可以为确定该终端的版本信息设否为设定版本。
在一种实施方式中,Beta终端的Beta版本系统可以为国内Beta版本系统或者海外Beta版本系统。
本申请后续实施例以Beta版本系统的终端(即Beta终端)为例进行说明,但并不以此作为限定。
步骤302:结束日志传输控制流程。
其中,终端AP确定该终端不符合使能SCP侧向AP侧上报SCP的日志信息的第一条件时,则不开启SCP侧的流水日志(传感器日志信息)向AP侧上报的功能,进而SCP侧不会将传感器日志信息传递给终端的AP侧。
步骤303:终端AP向终端SCP发送日志上报指令。
在一种实施方式中,终端AP可以通过高通消息接口(Qualcomm MessageInterface,QMI)向终端SCP发送日志上报指令。
可以基于上述流程步骤检测终端是否符合使能SCP侧向AP侧上报SCP的日志信息的第一条件,并在确定终端符合该第一条件的情况下,使能SCP侧向AP侧上报SCP的日志信息,即,终端AP向终端SCP发送日志上报指令,从而使SCP开始将SCP侧的日志信息上报给AP侧。
在一种实施方式中,在技术人员获取到目标日志信息后,可以通过AP向SCP发送停止日志上报指令,从而使SCP结束将SCP侧的日志信息上报给AP侧的行为,以避免SCP长时间向AP传递SCP侧日志信息,影响AP的正常运行。
以下继续说明,在确定终端符合使能SCP侧向AP侧上报SCP的日志信息的第一条件的情况下,终端AP向终端SCP发送日志上报指令后,SCP侧的响应动作,即,如何基于终端AP发送的发送日志上报指令开始向AP传递SCP侧日志信息。
图4为本申请一个实施例提供的日志传输控制方法的流程图。
参照图4所示,该流程可以包括以下步骤:
步骤401:终端SCP接收终端AP发送的日志上报指令。
其中,继步骤303之后,即,终端AP向终端SCP发送日志上报指令之后,终端SCP接收终端AP发送的日志上报指令,进而终端SCP可以基于该日志上报指令开启SCP向AP侧上报SCP日志信息的功能。
为实现技术人员在SCP上报给AP侧的SCP日志信息中快速查找到目标日志,如终端故障对应的SCP日志,可以通过为SCP日志添加时间戳,并通过时间戳快速查找到目标日志。具体参照如下步骤:
步骤402:终端AP向终端SCP发送时间戳信息。
在一种实施方式中,该时间戳信息可以为终端AP提供的时间戳信息。即终端AP向终端SCP发送时间戳信息的具体实现方式可以为:终端AP可以每隔设定时长向终端SCP发送第一时间戳,该第一时间戳可以为AP侧的当前时间信息。
其中,该设定时长可以为用户自定义的时间长度,用户可以基于需求对设定时长进行相应调整。在一种实施方式中,该设定时长可以为350ms。
在另一种实施方式中,终端AP可以基于run stop节拍每隔350ms向终端SCP发送第一时间戳。进而可以通过上述每隔设定时长发送时间戳的方式实现向将AP侧的时间戳信息同步给终端SCP。
步骤403:终端SCP接收终端AP发送的时间戳信息,并根据该时间戳信息给SCP侧生成的日志添加时间戳。
在一种实施方式中,终端AP发送的时间戳信息可以为AP侧提供的时间戳信息(第一时间戳)。
在一种实施方式中,终端SCP在接收到终端AP发送的第一时间戳后,终端SCP可以将该第一时间戳插入SCP日志中,即,为SCP侧生成的日志添加时间戳信息,通过上述方式,SCP侧的日志中携带有AP侧提供的时间戳信息。另一方面,SCP侧生成的日志本身具有时间信息(ticks),进而结合SCP侧的日志中携带的AP侧提供的时间戳信息和SCP侧日志自身具有的时间信息(ticks),技术人员可以基于每隔设定时间(如350ms)的第一时间戳推算SCP侧的时间信息(ticks)。
其中,为便于技术人员基于时间戳查找目标日志信息,可以调整AP侧提供给SCP侧的时间戳的精度,会出现SCP侧的ticks的计时精度远高于AP侧提供时间戳信息的计时精度,在一些实施例中,AP侧提供的时间戳信息的计时精度可以精确到秒或者毫秒,然而SCP侧ticks的计时精度可以精确到微秒甚至纳秒,为便于时间节点的查询与定位,可以统一AP侧和SCP侧提供的时间信息的计时精度。示例性的,AP侧提供的时间戳信息的计时精度为毫秒,而SCP侧的计时精度为微秒,SCP侧可以在ticks每经过1毫秒时记录一次时间信息,并缓存在如下表的ticks中。在其他实施方式中,还可以设置SCP侧在ticks每经过0.5毫秒时记录一次时间信息,并缓存在如下表的ticks中,该设置方式可以基于用户需求进行自定义设置,本申请对此不做限制。
在一种实施方式中,终端SCP将AP侧发送的第一时间戳插入SCP日志方式可以包括:SCP侧每生成一条日志,基于AP侧最新发送的时间戳信息(第一时间戳),为SCP侧生成的该条日志添加时间戳。
步骤404:终端SCP通过日志打印接口将用户目标日志信息缓存在SCP侧的缓冲区。
其中,日志打印接口被配置成基于用户设置参数,将携带时间戳的系统协处理器侧的日志信息中相对应的用户目标日志信息缓存在所述缓冲区。
在优化实施方式中,可以在终端SCP侧新增设一个日志打印接口,即上述日志打印接口。在一种实施方式中,该日志打印接口可以为可变参数接口。基于打印日志的新可变参数接口可以支持技术人员仅打印和往AP侧传送感兴趣的日志,即用户目标日志信息,从而实现降低SCP到AP侧日志传输量,降低终端AP的功耗。
在一种实施方式中,技术人员可以调用该日志打印函数实现把感兴趣的日志打印到缓冲区中,并在缓冲区处于饱和状态后,将缓冲区缓存的用户感兴趣的日志信息上报给AP侧。
在上述实施方式中,缓存在缓冲区的用户目标日志信息的内容可以如表一所示:
表一
序号 | 第一时间戳 | 日志内容 | ticks |
1 | 8:30:00.350 | XXXXXXX | 4930451 |
2 | 8:30:00.350 | XXXXXXX | 4930452 |
… | … | … | … |
n | 8:30:00.350 | XXXXXXX | 4930800 |
1 | 8:30:00.700 | XXXXXXX | 4930801 |
2 | 8:30:00.700 | XXXXXXX | 4930802 |
… | … | … | … |
m | 8:30:00.700 | XXXXXXX | 4931150 |
1 | 8:30:01.050 | XXXXXXX | 4931151 |
2 | 8:30:01.050 | XXXXXXX | 4931152 |
…… | …… | …… |
参照表一所示,SCP侧生成的日志具有日志内容、生成该日志时SCP侧的ticks值以及基于AP侧最新发送的时间戳信息为SCP侧生成的日志所添加的时间戳。其中第一时间戳中各部分分别代表AP侧时间小时:分钟:秒.毫秒,如8:30:00.350代表AP侧时间8点30分0秒350毫秒。
在上述实施方式中,每条日志均添加了时间戳。由于AP侧每隔设定时长(如350ms)发送一次时间戳,即,SCP侧在接收到AP侧下一次发送的时间戳信息之前,SCP侧所生成的日志添加的时间戳均相同,均为本次(最近一次)AP侧发送给SCP侧的时间戳信息。示例性的,如表一所示,SCP侧在接收到AP侧提供的时间戳信息(8:30:00.350)后,在接收到AP侧下一次提供的时间戳信息(8:30:00.700)之前,为SCP侧所生成的日志1~n添加的时间戳信息均为(8:30:00.350)。同样的,SCP侧在接收到AP侧提供的时间戳信息(8:30:00.700)后,在接收到AP侧下一次提供的时间戳信息(8:30:01.050)之前,为SCP侧所生成的日志1~m添加的时间戳信息均为(8:30:00.700)。其中,m、n均为自然数,且m=n或者m≠n,换言之,在相邻或者不相邻的两个时间戳周期内(如相邻或者不相邻的两个350ms内)SCP侧生成的日志数量可以相同也可以不相同。后续时间戳周期同理,不再赘述。
在另一种实施方式中,为避免发送冗余信息,终端SCP将AP侧发送的第一时间戳插入SCP日志方式可以包括:SCP侧每接收到AP侧发送的时间戳信息(第一时间戳)后,为SCP侧相邻时间点生成的日志添加时间戳。
在上述实施方式中,缓存在缓冲区的日志信息内容可以如表二所示:
表二
序号 | 第一时间戳 | 日志内容 | ticks |
1 | 8:30:00.350 | XXXXXXX | 4930451 |
2 | XXXXXXX | 4930452 | |
… | … | … | |
n | XXXXXXX | 4930800 | |
1 | 8:30:00.700 | XXXXXXX | 4930801 |
2 | XXXXXXX | 4930802 | |
… | … | … | |
m | XXXXXXX | 4931150 | |
1 | 8:30:01.050 | XXXXXXX | 4931151 |
2 | XXXXXXX | 4931152 | |
…… | …… | …… |
参照表二所示,SCP侧生成的日志具有日志内容、生成该日志时SCP侧的ticks值以及基于AP侧最新发送的时间戳信息为SCP侧生成的日志所添加的时间戳。在上述实施方式中,在一个时间戳周期内,仅为该时间戳周期内SCP侧生成的第一条日志添加时间戳。由于AP侧每隔设定时长(如350ms)发送一次时间戳,即,SCP侧在接收到AP侧下一次发送的时间戳信息之前,SCP侧所生成的日志仅为该时间戳周期内SCP侧生成的第一条日志添加时间戳。示例性的,如表一所示,SCP侧在接收到AP侧提供的时间戳信息(8:30:00.350)后,在接收到AP侧下一次提供的时间戳信息(8:30:00.700)之前,仅为SCP侧所生成的日志(序号1~n的日志)中第一条(序号为1)的日志添加的时间戳,且该时间戳信息为(8:30:00.350)。同样的,SCP侧在接收到AP侧提供的时间戳信息(8:30:00.700)后,在接收到AP侧下一次提供的时间戳信息(8:30:01.050)之前,仅为SCP侧所生成的日志(序号1~m的日志)中第一条(序号为1)的日志添加的时间戳,且该时间戳信息为(8:30:00.700)。后续时间戳周期同理,不再赘述。
在一种实施方式(表一所示实施方式或者表二所示实施方式)中,基于SCP侧的ticks,在同一ticks期间,若SCP侧生成了多条日志,可以基于生成顺序,仅为同一ticks期间生成的多条日志的第一条日志配置ticks。示例性的,在表二所示实施方式的基础上,施加本实施方式的ticks配置方式可以如表三所示:
表三
序号 | 第一时间戳 | 日志内容 | ticks |
1 | 8:30:00.350 | XXXXXXX | 4930451 |
2 | XXXXXXX | 4930452 | |
3 | XXXXXXX | ||
4 | XXXXXXX | 4930453 | |
… | … | … | |
n | XXXXXXX | 4930800 | |
1 | 8:30:00.700 | XXXXXXX | 4930801 |
2 | XXXXXXX | 4930802 | |
… | … | … | |
m | XXXXXXX | 4931150 | |
1 | 8:30:01.050 | XXXXXXX | 4931151 |
2 | XXXXXXX | 4931152 | |
…… | …… | …… |
参照表三所示,在SCP侧在接收到AP侧提供的时间戳信息为(8:30:00.350)的时间戳周期内,SCP侧ticks值为4930452期间,SCP侧生成了2条日志,为避免发送冗余信息,可以基于SCP侧日志生成顺序,仅为第1条日志配置ticks(4930452)。
步骤405:终端SCP将缓冲区缓存的用户目标日志信息上报给终端AP侧。
通过以上方式,将SCP侧日志上报至AP侧之后,技术人员可以结合SCP日志信息中的第一时间戳和ticks推算相应日志的具体生成时间。技术人员可以在AP侧接收到的SCP日志中通过该时间戳信息和ticks快速查找到终端异常或者故障时对应的SCP日志,进而进行相应诊断,从而提高故障诊断定位的效率。
在一种实施方式中,终端SCP将用户感兴趣的携带时间戳的SCP侧日志(即用户目标日志信息)上报给终端AP侧的方式可以为:终端SCP基于芯片平台提供的获取SCP子系统流水日志的方式,将携带时间戳的SCP侧日志上报给终端AP侧。其中,终端SCP是将携带时间戳的SCP侧的流水日志上报给终端AP。
在上述实施方式中,虽然为SCP侧生成的日志添加了时间戳(如时间戳),在SCP将携带时间戳的SCP侧日志上报给终端AP侧后,技术人员可以基于可以结合SCP日志信息中的第一时间戳和ticks推算相应日志的具体生成时间,进一步快速查找到终端异常或者故障时对应的SCP日志。然而,终端SCP基于芯片平台提供的获取SCP子系统流水日志的方式,上报给AP侧的SCP侧流水日志,数据量巨大,会出现增加终端AP功耗的问题。
为进一步优化本申请实施例提供的日志传输控制方法,可以将用户感兴趣的SCP侧日志上报给AP侧,进而可以减少SCP侧向AP侧上报日志信息的数据量,从而降低端AP的功耗。
其中,需要说明的是,通过上述方式使SCP将缓冲区缓存的用户感兴趣的日志信息上报给AP侧,其中,在将用户感兴趣的日志信息缓存在SCP侧的缓冲区时,可以基于缓冲区中所包含子缓冲区的数量选择相应的缓存方式进行日志缓存,即可以基于设定缓存方式进行日志缓存。
其中,当缓冲区中只有一个子缓冲区时,可以采用即饱和即上报的方式,将用户目标日志信息缓存在系统协处理器侧的1个子缓冲区,换言之,系统协处理器将用户目标日志信息缓存在系统协处理器侧的1个子缓冲区,每当系统协处理器侧的1个子缓冲区处于饱和状态后,将该子缓冲区缓存的日志信息上报给终端应用处理器侧,该子缓冲区由饱和状态变换到空状态之后,继续向该子缓冲区缓存用户目标日志信息,如此进行周期性的日志上报。
当缓冲区中包含至少两个子缓冲区时,可以为至少两个子缓冲区配置相应的缓存顺序表,进而可以基于缓存顺序表中预设缓存顺序通过乒乓缓存的方式进行缓存。乒乓缓存为交替地向至少两个子缓冲区缓存用户目标日志信息。
一般情况下,将SCP侧的日志缓存到缓冲区的过程是一个连续的过程,缓冲区串口持续接收数据,若此时缓冲区已存满需要将缓冲区内的数据(日志信息)上报给AP侧,当前持续传输的数据(SCP侧日志)因没有缓存空间而造成数据丢失。通过乒乓缓冲的方式可以降低数据丢失的概率。具体过程是:在当前子缓冲区(如Buffer1)饱和时,将目标地址迅速切换到另一个子缓冲区(如Buffer2)并继续向Buffer2缓存数据,此时可以处理Buffer1的数据(即,将Buffer1缓存的日志信息上报给AP侧);当Buffer2饱和时,将目标地址迅速切换到Buffer1,此时可以处理Buffer2的数据,如此一直循环下去。
另一方面,还可以将AP侧提供的时间戳信息(如时间戳信息)添加在用户感兴趣的日志信息中,并缓存在SCP侧的缓冲区,进而可以将用户目标日志信息上报给AP侧。进而可以减少SCP侧向AP侧上报日志信息的数据量,从而降低端AP的功耗,并且技术人员还可以基于时间戳信息和ticks快速查找到终端异常或者故障时对应的SCP日志,进而进行相应诊断,从而提高故障诊断定位的效率。
通过图4所示的实施例至少可以在AP侧获取SCP侧日志后,通过时间戳查找目标日志,从而提高查找目标日志的效率。然而在终端灭屏场景中,AP处于睡眠状态时,SCP侧向AP侧上报日志会唤醒AP,导致AP功耗增加。
为进一步优化技术方案,可以为SCP向AP侧传递SCP日志增加传输条件,即,可以在图3所示实施例的基础上增设判断因素,示例性的,可以在当前终端的终端版本和屏幕工作状态都符合条件的情况下,确定终端符合使能SCP侧向AP侧上报SCP的日志信息的条件。
图5为本申请另一个实施例提供的开启SCP侧日志上报AP侧功能的条件判定流程图。
步骤501:终端AP确定该终端是否符合使能SCP侧向AP侧上报SCP的日志信息的第二条件,若该终端不符合第二条件,则执行步骤502,若该终端符合第二条件,则执行步骤503。
其中,确定终端是否符合使能SCP侧向AP侧上报SCP的日志信息的第二条件的具体实施方式可以为确定终端的系统版本是否为设定版本并且终端当前是否处于亮屏状态。
确定终端的系统版本是否为设定版本的实施方式可以与图3所示实施例的方式相同或类似,不再赘述。
在一种实施方式中,确定终端是否处于亮屏状态可以通过以下方式实现:
在终端开机后,终端AP侧的(Hardware Composer,HWC)启动监听终端的亮屏事件,进而终端AP侧可以根据HWC的监听结果确定终端屏幕的工作状态,其中,终端屏幕的工作状态可以包括处于亮屏状态或者处于灭屏状态。
在其他实施方式中,还可以通过AP侧的其他进程确定是否出现亮屏事件,对于如何监听是否出现亮屏事件,本申请并不做限制。
步骤502:结束日志传输控制流程。
其中,终端AP确定该终端不符合使能SCP侧向AP侧上报SCP的日志信息的第二条件时,则不开启SCP侧的流水日志(传感器日志信息)向AP侧上报的功能,进而SCP侧不会将传感器日志信息传递给终端的AP侧。
步骤503:终端AP向终端SCP发送日志上报指令。
在一种实施方式中,为克服上述长时间将SCP侧日志传递给AP侧,也会增加AP的负载,影响AP的正常运行的问题,可以通过图5所示实施例提供的流程替换图3所示实施例提供的流程。
在本申请一些实施例中,终端处于灭屏状态相比于终端处于亮屏状态,SCP侧向AP侧上报日志的策略可以不同。
图6为本申请一个实施例提供的终端屏幕各工作状态对应的SCP侧日志缓存和上报控制示意图。
结合图5和图6所示,在步骤503后(即,终端AP向终端SCP发送日志上报指令后),SCP可以基于终端屏幕的当前工作状态,适应性的执行相应日志上报策略。
其中,终端AP可以将AP侧的HWC监听到的终端屏幕的工作状态信息发送给终端SCP,进而SCP根据接收到的终端屏幕的工作状态信息确定终端屏幕当前的工作状态。示例性的,终端AP基于HWC监听到的终端屏幕亮屏后,向终端SCP发送亮屏事件信息,终端SCP接收到AP发送的亮屏事件信息后确定终端进入亮屏状态。终端AP基于HWC监听到的终端屏幕灭屏后,向终端SCP发送灭屏事件信息,终端SCP接收到AP发送的灭屏事件信息后确定终端进入灭屏状态。
图7a为本申请一个实施例提供的SCP侧在终端灭屏状态下日志传输控制方法的流程图。
结合图6和图7a所示,该控制方法可以包括以下步骤:
步骤701:终端AP向终端SCP发送终端灭屏事件信息。
步骤702:终端SCP接收终端AP发送的终端灭屏事件信息后,结束向终端AP发送SCP侧日志信息。
其中,AP侧的HWC在监听到亮屏事件或者灭屏事件后,终端AP将相应的状态信息发送给终端SCP。示例性的,亮屏事件对应的属性值为0,灭屏事件对应的属性值为1,SCP基于接收到的属性值判断终端当前状态为亮屏状态或者为灭屏状态,换言之,HWC根据监听结果确定终端的屏幕工作状态(亮屏状态或者灭屏状态)发生切换后,将改变后的相应屏幕工作状态发送SCP,其中,若终端的屏幕工作状态由灭屏状态切换至亮屏状态,则向SCP发送亮屏事件信息,该亮屏事件信息中可以包括用于表示屏幕工作状态的属性值(亮屏事件对应的属性值为0,灭屏事件对应的属性值为1),反之,若终端的屏幕工作状态由亮屏状态切换至灭屏状态,则向SCP发送灭屏事件信息,同样的,灭屏事件信息中可以包括用于表示屏幕工作状态的属性值。
终端SCP在接收到灭屏事件信息后,暂停向AP侧传递SCP日志信息,直至接收到终端AP发送亮屏事件信息,并在接收到亮屏事件信息后,恢复向AP侧传递SCP日志信息(用户目标日志信息)。
图7b为本申请一个实施例提供的SCP侧在终端恢复亮屏时日志传输控制方法的流程图。
结合图6和图7b所示,终端恢复亮屏时日志传输控制方法可以包括以下步骤:
步骤711:终端AP向终端SCP发送终端亮屏事件信息。
步骤712:终端SCP接收终端AP发送的终端亮屏事件信息后,确定缓冲区当前的缓存状态。
在一种实施方式中,SCP可以基于缓冲区中未上报的饱和状态的子缓冲区的数量来确定缓冲区当前的缓存状态。示例性的,缓冲区包含2个子缓冲区,若其中没有子缓冲区处于饱和状态,则缓冲区中未上报的饱和状态的子缓冲区的数量为0。
若其中1个子缓冲区处于饱和状态,且该处于饱和状态的子缓冲区缓存的日志信息还未上报给AP侧,则缓冲区中未上报的饱和状态的子缓冲区的数量为1。
若该2个子缓冲区均处于饱和状态,且该处于饱和状态的子缓冲区缓存的日志信息还未上报给AP侧,则缓冲区中未上报的饱和状态的子缓冲区的数量为2。
需要说明的是,此处以缓冲区包含2个子缓冲区为例进行说明,本申请并对缓冲区包含的子缓冲区数量不做限制。
在一种实施方式中,确定子缓冲区是否处于饱和状态的方式可以为:确定当前子缓冲区的剩余可用容量小于设定容量值,则确定该子缓冲区处于饱和状态。其中该设定容量值可以根据用户自定义设置。
在另一种实施方式中,确定子缓冲区是否处于饱和状态的方式可以为:确定当前子缓冲区的剩余可用容量小于下一次需要写入的日志信息的数据量,则确定该子缓冲区处于饱和状态。
在终端处于灭屏状态时,为降低因频繁唤醒AP而导致AP功耗增加的,SCP结束向AP侧传递添加时间戳的日志信息后,SCP在终端处于灭屏状态时仍会给生成的SCP日志添加时间戳,并基于乒乓缓存方式将添加时间戳的日志信息缓存到相应的缓冲区中,因此,在终端出现灭屏后恢复亮屏的场景下,SCP侧的缓冲区会出现以下不同缓存状态:
第一缓存状态:终端出现灭屏事件,并恢复亮屏时,缓冲区中不存在饱和状态的子缓冲区。
示例性的,缓冲区包含2个子缓冲区,分别为第一子缓冲区和第二子缓冲区,且基于乒乓缓存的方式向缓冲区缓存SCP侧(携带时间戳的)日志。终端出现灭屏事件,并恢复亮屏时,终端SCP当前向第一子缓冲区缓存日志信息,第一子缓冲区的可用容量不满足切换至第二子缓冲区的触发条件,并且第二子缓冲区不存在需要上报的日志信息,换言之,可以视为当前第一子缓冲区未处于饱和状态,第二子缓冲区未缓存过日志信息或者第二子缓冲区缓存的日志信息已上报给AP侧,即第二子缓冲区处于空状态。
第二缓存状态:终端出现灭屏事件,并恢复亮屏时,当前子缓冲区未处于饱和状态,其余子缓冲区中存在一个处于饱和状态的子缓冲区,且该一个处于饱和状态的子缓冲区缓存的日志信息还未上报给AP侧。
示例性的,缓冲区包含2个子缓冲区,分别为第一子缓冲区和第二子缓冲区,且基于乒乓缓存的方式向缓冲区缓存SCP侧携带时间戳的日志(用户目标日志信息)。终端出现灭屏事件,并恢复亮屏时,终端SCP当前向第一子缓冲区缓存日志信息,第一子缓冲区的可用容量不满足切换至第二子缓冲区的触发条件,并且第二子缓冲区存在需要上报的日志信息,换言之,第一子缓冲区未处于饱和状态,第二子缓冲区处于饱和状态。
第三缓存状态:终端出现灭屏事件,并恢复亮屏时,当前子缓冲区处于饱和状态,当前子缓冲区缓存的日志信息还未上报给AP侧,其余子缓冲区均未处于饱和状态。
示例性的,缓冲区包含2个子缓冲区,分别为第一子缓冲区和第二子缓冲区,且基于乒乓缓存的方式向缓冲区缓存SCP侧携带时间戳的日志(用户目标日志信息)。终端出现灭屏事件,并恢复亮屏时,终端SCP当前向第一子缓冲区缓存日志信息,并确定第一子缓冲区的可用容量满足切换至第二子缓冲区的触发条件,并且第二子缓冲区不存在需要上报的日志信息,换言之,第一子缓冲区处于饱和状态,第二子缓冲区处于空状态。
第四缓存状态:终端出现灭屏事件,并恢复亮屏时,当前子缓冲区处于饱和状态,其余子缓冲区中存在至少一个处于饱和状态的子缓冲区,且当前处于饱和状态的子缓冲区缓存的日志信息为上报给AP侧。
示例性的,缓冲区包含2个子缓冲区,分别为第一子缓冲区和第二子缓冲区,且基于乒乓缓存的方式向缓冲区缓存SCP侧携带时间戳的日志(用户目标日志信息)。终端出现灭屏事件,并恢复亮屏时,终端SCP当前向第一子缓冲区缓存日志信息,并确定第一子缓冲区的可用容量满足切换至第二子缓冲区的触发条件,并且处于饱和状态的第二子缓冲区存在需要上报的日志信息,换言之,第一子缓冲区和第二子缓冲区当前均处于饱和状态。
参照图6所示,在终端处于灭屏状态时,为降低因频繁唤醒AP而导致AP功耗增加的,SCP结束向AP侧传递添加时间戳的日志信息,SCP在终端处于灭屏状态时仍会给生成的SCP日志添加时间戳,并基于乒乓缓存方式将添加时间戳的日志信息缓存到相应的缓冲区中。每当终端从灭屏状态恢复至亮屏状态时,需要确定当前是否存在处于饱和状态的子缓冲区,若存在,则需要将处于饱和状态的子缓冲区缓存的日志信息上报给AP侧,从而为后续SCP日志能够持续稳定的进行缓存的上报提供相应条件。
在一种实施方式中,SCP每接收到AP侧发送的亮屏事件信息后,可以判断SCP侧的缓存区当前的缓存状态属于上述状态(第一缓存状态、第二缓存状态、第三缓存状态或者第四缓存状态)的哪一种,并根据所确定的当前缓存状态,通过当前缓存状态相对应的处理方式向AP侧传递日志信息。
图8为本申请一个实施例提供的日志上报场景示意图,参照图8所示,终端SCP子系统可以包括第一计数器和第二计数器。
第一计数器用于在SCP侧每出现一个子缓冲区满足切换缓冲区的触发条件时,计数加1。示例性的,SCP侧以第一子缓冲区和第二子缓冲区进行乒乓缓存的场景中,当前子缓冲区为第一子缓冲区,当确定第一子缓冲区满足切换至第二子缓冲区的触发条件时,即,第一子缓冲区当前已处于饱和状态时,则第一计数器的计数值加1。
第二计数器用于在每当SCP将处于饱和状态的缓冲区中缓存的日志信息传递给AP侧后,计数值加1。示例性的,SCP侧以第一子缓冲区和第二子缓冲区进行乒乓缓存的场景中,在日志信息缓存过程中,确定第一子缓冲区已处于饱和状态,并且SCP将第一子缓冲区内缓存的日志信息传递给AP侧后,第二计数器的计数值加1。其中,SCP在确定第一子缓冲区已处于饱和状态后,切换至向第二子缓冲区缓存日志信息。
其中,在终端进入灭屏状态后SCP侧结束向AP侧上报日志信息的实施方式中,第二计数器在终端亮屏状态下和灭屏状态下的工作方式不同。示例性的,SCP侧以第一子缓冲区和第二子缓冲区进行乒乓缓存,终端进入灭屏状态后,SCP结束向AP侧上报日志信息,然而SCP依然可以将生成的SCP侧日志以乒乓缓存的方式缓存至缓冲区,每当确定当前子缓冲区处于饱和状态后,第一计数器的计数值加1,即第一计数器的计数值持续增长,而在终端灭屏状态下,不执行SCP侧向AP上报日志信息的流程步骤,进而在终端灭屏状态下,第二计数器的计数值保持不变。
终端SCP每接收到一次终端亮屏事件信息后,终端SCP可以通过第一计数器和第二计数器的计数值确定当前子缓冲区的缓存状态。
在一种实施方式中,第一计数器的当前计数值为A,第二计数器的当前计数值为B,基于第一计数器与第二计数器的差(A-B),其中,若(A-B)=0,则确定终端由灭屏状态恢复至亮屏状态时,满足切换其他子缓冲区触发条件的触发次数(即,出现饱和状态子缓冲区的历史次数)与SCP向AP侧传递日志信息的历史次数相同,换言之,当前不存在处于饱和状态的缓冲区(即当前处于第一缓存状态)。
若(A-B)=1,则确定终端由灭屏状态恢复至亮屏状态时,满足切换其他子缓冲区触发条件的触发次数(即,出现饱和状态子缓冲区的历史次数)大于SCP向AP侧传递日志信息的历史次数,换言之,当前存在1个处于饱和状态的缓冲区,且该饱和状态子缓冲区缓存的日志信息还未传递给AP侧,即,当前处于第二缓存状态。
其中,在通过当前子缓冲区的剩余可用容量是否小于下一次需要写入的日志信息的数据量的方式确定当前子缓冲区是否满足切换至另一子缓冲区的触发条件的场景中,在确定(A-B)=1时,可以识别出当前缓冲区的缓存状态为第二缓存状态。当终端由灭屏状态恢复至亮屏状态时,SCP还未开始向当前缓冲区缓存SCP侧日志,因此并不能确定当前子缓冲区的剩余可用容量是否可以容纳下一次需要写入的日志信息的数据量。换言之,当终端从灭屏状态恢复至亮屏状态时,暂时不能确定当前缓存状态是否为第三缓冲状态。在下一条SCP侧日志继续向当前子缓冲区缓存时,确定当前子缓冲区的剩余容量无法满足下一条SCP侧日志写入时,进而确定当前处于第三缓存状态。在其他实施方式中,在通过当前子缓冲区的剩余可用容量是否小于设定容量值的方式确定当前子缓冲区是否满足切换至另一子缓冲区的触发条件的场景中,在当前子缓冲区刚好满足切换至第二子缓冲区的触发条件,并且第二子缓冲区不存在需要上报的日志信息,换言之,第一子缓冲区处于饱和状态,第二子缓冲区处于空状态时,无需等待下一条SCP试图向当前子缓冲区缓存,并确定当前子缓冲区的剩余可用容量不能够容纳下一次需要写入的日志信息的数据量,进而确定当前缓存状态是否为第三缓冲状态,而是可以在确定当前子缓冲区的剩余可用容量小于设定容量值时,即可当前缓存状态为第三缓冲状态。
若(A-B)>1,则确定终端由灭屏状态恢复至亮屏状态时,满足切换其他子缓冲区触发条件的触发次数(即,出现饱和状态子缓冲区的历史次数)大于SCP向AP侧传递日志信息的历史次数,换言之,当前存在至少2个处于饱和状态的缓冲区,且该至少2个饱和状态子缓冲区缓存的日志信息还未传递给AP侧,即,当前处于第四缓存状态。
终端由灭屏状态恢复至亮屏状态时(即,SCP接收到AP发送的亮屏事件信息时),通过上述方式确定缓冲区的当前的缓存状态后,可以基于当前的缓存状态执行相对应的步骤,具体如下:
步骤713a:若确定缓冲区的当前的缓存状态为第一缓存状态,则继续向当前子缓冲区缓存SCP侧日志,并在当前子缓冲区处于饱和状态后将缓存的日志上报给AP侧。
其中,确定缓冲区的当前的缓存状态为第一缓存状态,即,缓冲区当前不存在处于饱和状态的子缓冲区,因此,无需进行日志上报和子缓冲区切换的操作,进而可以继续向当前子缓冲区缓存SCP侧日志,并在当前子缓冲区处于饱和状态后将当前子缓冲缓存的日志上报给AP侧,在确定当前子缓冲区处于饱和状态后还可以切换至缓冲区的一个空状态的子缓冲区继续缓存SCP侧日志信息。
步骤713b:若确定缓冲区的当前的缓存状态为第二缓存状态,则将缓冲区中存在的1个处于饱和状态的子缓冲区缓存的用户目标日志信息上报给AP侧,并继续向当前子缓冲区缓存SCP侧日志。
其中,确定缓冲区的当前的缓存状态为第二缓存状态,即,当前子缓冲区还未处于饱和状态,且缓冲区中其余子缓冲区中存在1个处于饱和状态的子缓冲区。因此,当前无需进行子缓冲区切换操作,可以将该1个处于饱和状态的子缓冲区缓存的日志上报给AP侧。
示例性的,SCP侧的缓冲区包括2个子缓冲区,分别为第一子缓冲区和第二子缓冲区,在终端出现灭屏事件,并恢复亮屏时确定缓冲区的当前的缓存状态为第二缓存状态,当前子缓冲区(第一子缓冲区)还未处于饱和状态,第二子缓冲区处于饱和状态。一方面可以将第二子缓冲区缓存的用户目标日志信息上报给AP侧,另一方面可以继续向第一子缓冲区缓存SCP侧日志信息。
步骤713c:若确定缓冲区的当前的缓存状态为第三缓存状态,则切换至空状态的子缓冲区继续缓存SCP侧日志,并将1个饱和状态的子缓冲区(即,被切换下来的1个子缓冲区)缓存的用户目标日志信息上报给AP侧。
其中,确定缓冲区的当前的缓存状态为第三缓存状态,即,只有当前缓冲区处于饱和状态,其余子缓冲区均未处于饱和状态。因此,需要进行子缓冲区切换,并将被切换下来的饱和状态的子缓冲区缓存的用户目标日志信息上报给AP侧。
示例性的,SCP侧的缓冲区包括2个子缓冲区,分别为第一子缓冲区和第二子缓冲区,在终端出现灭屏事件,并恢复亮屏时确定缓冲区的当前的缓存状态为第三缓存状态,当前子缓冲区(第一子缓冲区)处于饱和状态,第二子缓冲区未处于饱和状态(如处于空状态)。可以切换至第二子缓冲区继续缓存SCP侧日志信息(用户目标日志信息),并将第一子缓冲区缓存的用户目标日志信息上报给AP侧。
步骤713d:若确定缓冲区的当前的缓存状态为第四缓存状态,则将处于饱和状态的子缓冲区缓存的日志信息均上报给AP侧,并切换至空状态子缓冲区继续缓存SCP侧日志信息。
其中,确定缓冲区的当前的缓存状态为第四缓存状态,即,当前子缓冲区处于饱和状态,其余子缓冲区中存在至少一个处于饱和状态的子缓冲区。因此,需要执行子缓冲区切换和日志上报操作。
在一种实施方式中,确定缓冲区的当前的缓存状态为第四缓存状态后,子缓冲区切换和日志上报操作的执行顺序可以基于缓冲区中是否还存在空状态的子缓冲区。
其中,若存在空状态的子缓冲区,则可以首先执行子缓冲区切换步骤,再执行日志上报操作;或者同时执行子缓冲区切换和日志上报操作。进而可以在完成子缓冲区切换后,使SCP侧日志持续地缓存在缓冲区,降低日志信息遗漏的问题。
若不存在空状态子缓冲区(即缓冲区所有子缓冲区均处于饱和状态),则可以将饱和状态的子缓冲区缓存的日志信息上报给AP侧,再切换至空状态子缓冲区继续缓存SCP侧日志信息。
关于子缓冲区切换的方式,可以通过设定方式切换缓冲区。其中,该设定方式可以为以下任意一种:
在一种实施方式中,在将处于饱和状态的缓冲区缓存的日志信息传递给AP侧后,可以按照预设切换顺序,切换至下一个缓冲区继续缓存SCP生成的日志。示例性的,通过第一子缓冲区和第二子缓冲区进行乒乓缓存,预设切换顺序为第一子缓冲区和第二子缓冲区依次循环交替。终端出现灭屏事件,并恢复亮屏时,确定第一子缓冲区和第二子缓冲区均处于饱和状态,且当前子缓冲区为第一子缓冲区,可以将处于饱和状态的第一子缓冲区和第二子缓冲区缓存的日志信息传递给AP侧。其中,基于预设切换顺序需要切换至第二子缓冲区继续缓存SCP侧日志信息,进而可以在第二子缓冲区缓存的日志信息传递到AP侧,第二子缓冲区转换为空状态后,切换至第二子缓冲区继续缓存SCP生成的日志。在后续的日志缓存以及日志信息上报阶段,继续按照预设切换顺序进行缓冲区切换。
在另一种实施方式中,在将处于饱和状态的缓冲区缓存的日志信息传递给AP侧后,可以切换至首先转换为空状态的缓冲区继续缓存SCP生成的日志。示例性的,通过第一子缓冲区和第二子缓冲区进行乒乓缓存,终端出现灭屏事件,并恢复亮屏时,确定第一子缓冲区和第二子缓冲区均处于饱和状态,且当前子缓冲区为第一子缓冲区,可以将处于饱和状态的第一子缓冲区和第二子缓冲区缓存的日志信息传递给AP侧。其中,可以切换至首先转换为空状态的子缓冲区继续缓存SCP侧的日志信息。示例性的,第一子缓冲区和第二子缓冲区中首先转换为空状态的缓冲区为第一子缓冲区,第一子缓冲区依旧作为当前子缓冲区继续缓存SCP侧生成的日志。
在另一种实施方式中,在将处于饱和状态的缓冲区缓存的日志信息传递给AP侧后,重置切换顺序,并重新按照预设切换顺序切换缓冲区并继续缓存SCP生成的日志。示例性的,通过第一子缓冲区和第二子缓冲区进行乒乓缓存,预设切换顺序为第一子缓冲区和第二子缓冲区依次循环交替。终端出现灭屏事件,并恢复亮屏时,确定第一子缓冲区和第二子缓冲区均处于饱和状态,且当前子缓冲区为第一子缓冲区,可以将处于饱和状态的第一子缓冲区和第二子缓冲区缓存的日志信息传递给AP侧。处于饱和状态的缓冲区(第一子缓冲区和第二子缓冲区)均转换为空状态。在本实施方式中,可以重置切换顺序,并按照重置后的预设切换顺序切换,预设切换顺序为第一子缓冲区和第二子缓冲区依次循环交替,因此可以切换至空状态的第一子缓冲区继续缓存SCP生成的日志。
本申请实施例提供的切换方式可以包括上述切换方式,但不限制于此。
关于计数器计数值的控制:
若出现第二缓存状态、第三缓存状态或者第四缓存状态,第一计数器的计数值A和第二计数器的计数值B出现差异,即(A-B)≥1,为不影响下一次终端由灭屏状态恢复至亮屏状态时子缓存区的缓存状态的确定,可以在将处于饱和状态的当前子缓冲区缓存的日志信息传递给AP侧后,调整第一计数器的计数值A和第二计数器的计数值B。
在一种实施方式中,SCP可以在将处于饱和状态的当前子缓冲区缓存的日志信息传递给AP侧后,将第一计数器的计数值A赋值给第二计数器的计数值B,即,使调整后的第二计数器的计数值B等于第一计数器的计数值A。示例性的,调整前,第一计数器的计数值A=10,第二计数器的计数值B=9,SCP可以在将处于饱和状态的当前子缓冲区缓存的日志信息传递给AP侧后,将第一计数器的计数值A(10)赋值给第二计数器的计数值B,调整后,第一计数器的计数值A=10,第二计数器的计数值B=10。
在另一种实施方式中,SCP可以在将处于饱和状态的当前子缓冲区缓存的日志信息传递给AP侧后,重置第一计数器的计数值和第二计数器的计数值。示例性的,调整前,第一计数器的计数值A=10,第二计数器的计数值B=9,SCP可以在将处于饱和状态的当前子缓冲区缓存的日志信息传递给AP侧后,重置第一计数器的计数值和第二计数器的计数值,调整后,第一计数器的计数值A=0,第二计数器的计数值B=0。
以上为终端由灭屏状态恢复至亮屏状态时(即,SCP接收到AP发送的亮屏事件信息时)SCP通过确定缓冲区的缓存状态执行的相应操作,以保证缓冲区能够提供持续稳定的缓存空间,使SCP侧日志能够持续稳定的上报给AP侧。
参照图6所示,终端由“恢复亮屏时”的阶段进入“亮屏状态”阶段后,SCP可以介于设定缓存方式将SCP侧日志缓存到当前子缓冲区,并在子缓冲区处于饱和状态后,将当前子缓冲区缓存的日志上报给AP侧。
在一种实施方式中,为实现SCP侧将生成的日志信息持续稳定地传递给AP侧,SCP侧基于独立的虚拟sensor,将添加时间戳的日志信息(包含上述表二所示的日志信息)以乒乓缓存的方式缓存在SCP侧的缓冲区中,并将缓冲区中缓存的日志信息发送给AP侧。其中,SCP侧的缓冲区包括至少2个子缓冲区。示例性的,可以SCP可以将添加时间戳的日志信息交替缓存在第一子缓冲区和第二子缓冲区中,其中,可以向第一子缓冲区缓存添加时间戳的日志信息,并在第一子缓冲区的可用容量满足一定条件的情况下,切换至第二子缓冲区继续缓存添加时间戳的日志信息(用户目标日志信息)。
在另一种实施方式中,缓冲区包括1个子缓冲区。在缓冲区仅包括1个子缓冲区的实施方式中,将携带时间戳的系统协处理器侧的日志信息上报给终端应用处理器包括:基于即饱和即上报的方式,将携带时间戳的系统协处理器侧的日志信息缓存在系统协处理器侧的1个子缓冲区,换言之,系统协处理器将携带时间戳的系统协处理器侧的日志信息缓存在系统协处理器侧的1个子缓冲区,每当系统协处理器侧的1个子缓冲区处于饱和状态后,将该子缓冲区缓存的日志信息上报给终端应用处理器侧,该子缓冲区由饱和状态变换到空状态之后,继续向该子缓冲区缓存携带时间戳的系统协处理器侧的日志信息(用户目标日志信息),如此进行周期性的日志上报。
以上为本申请实施例提供的终端SCP向终端AP传递目标传感器日志信息的流程。
在一种实施方式中,终端SCP侧可以通过QMI消息以字符串编码的方式将缓冲区中缓存的用户目标日志信息上报给终端AP侧。
对于AP侧,则监听SCP侧的日志上报事件,收到事件后,解析日志字符串,AP侧将接收到的日志以设定字节为单位用scp_logs的标签灌入logcat的日志系统,完成到AP侧日志系统的对接。示例性的,将日志以512字节为单位用scp_logs的标签灌入logcat的日志系统,完成到AP侧日志系统的对接。如此则可以通过AP侧的Logcat安卓日志分析SCP侧sensor业务的流水日志了。
其中需要说明的是,AP侧每次接收到的日志信息并非一定是设定字节单位的整数倍,因此在将日志信息灌入AP侧日志系统时,在待灌入的日志信息不小于设定字节时,以设定字节为单位用scp_logs的标签逐批次灌入logcat的日志系统,在待灌入的日志信息小于设定字节时,将剩余的待灌入的日志信息全部用scp_logs的标签灌入logcat的日志系统。
通过上述终端SCP向终端AP传递目标传感器日志信息的流程,可以通过AP到SCP的时间戳同步,从而SCP侧可以将AP提供的时间戳作为参考基准,快速筛选到AP侧异常点或者故障点对应的SCP侧日志信息。
图9为本申请一个实施例提供的系统协处理器的结构示意图。参照图9所示,该系统协处理器包括:控制器901和存储器902,存储器902用于存储至少一条指令,指令由控制器901加载并执行时以实现本申请任一实施例提供的日志传输控制方法。
本申请实施例还提供一种终端,终端包括应用处理器和系统协处理器;其中,应用处理器确定终端的版本信息,并确定终端为设定版本终端后,将终端的版本信息发送给系统协处理器;系统协处理器用于执行以下步骤:接收终端应用处理器发送的日志上报指令;接收终端应用处理器发送的时间戳信息,并根据时间戳信息给系统协处理器侧生成的日志添加时间戳;通过日志打印接口将用户目标日志信息缓存在缓冲区,其中,日志打印接口被配置成基于用户设置参数,将携带时间戳的系统协处理器侧的日志信息中相对应的用户目标日志信息缓存在缓冲区;以及将用户目标日志信息上报给终端应用处理器。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请任一实施例提供的日志传输控制方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序或指令,计算机程序或指令被处理器执行时实现本申请任一实施例提供的日志传输控制方法。
本申请实施例还提供一种控制装置,该控制装置可以为芯片、组件或者模块,该控制装置可以包括相连接的处理器和存储器,存储器用于存储至少一条指令,指令由控制器加载并执行时以实现任一实施例提供的日志传输控制方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (15)
1.一种日志信息传输控制方法,应用于终端系统协处理器,其特征在于,所述方法包括:
接收终端应用处理器发送的日志上报指令;
接收所述终端应用处理器发送的时间戳信息,并根据所述时间戳信息给所述系统协处理器侧生成的日志添加时间戳;
通过日志打印接口将用户目标日志信息缓存在所述系统协处理器侧的缓冲区,其中,所述日志打印接口被配置成基于用户设置参数,将携带所述时间戳的系统协处理器侧的日志信息中相对应的所述用户目标日志信息缓存在所述缓冲区;以及
将所述用户目标日志信息上报给所述终端应用处理器。
2.根据权利要求1所述的方法,其特征在于,所述将所述用户目标日志信息上报给所述终端应用处理器包括:
在确定终端处于亮屏状态时,将所述用户目标日志信息上报给所述终端应用处理器。
3.根据权利要求2所述的方法,其特征在于,所述确定终端处于亮屏状态包括:
接收所述终端应用处理器发送亮屏事件信息,并确定终端处于亮屏状态。
4.根据权利要求1所述的方法,其特征在于,所述将所述用户目标日志信息上报给所述终端应用处理器之前,还包括:
若接收到所述终端应用处理器发送灭屏事件信息,确定终端处于灭屏状态,则结束将所述用户目标日志信息上报给所述终端应用处理器。
5.根据权利要求1所述的方法,其特征在于,所述缓冲区包括至少2个子缓冲区。
6.根据权利要求5所述的方法,其特征在于,所述通过日志打印接口将用户目标日志信息缓存在所述系统协处理器侧的缓冲区包括:
基于乒乓缓存的方式,通过所述日志打印接口将所述用户目标日志信息缓存在所述系统协处理器侧的缓冲区。
7.根据权利要求5所述的方法,其特征在于,所述将携所述用户目标日志信息上报给所述终端应用处理器包括:
确定所述缓冲区的当前缓存状态,其中,所述缓存状态包括第一缓存状态、第二缓存状态、第三缓存状态以及第四缓存状态;
若确定所述缓冲区的当前缓存状态为所述第一缓存状态,则在确定当前子缓冲区侧处于饱和状态后,将处于饱和状态的子缓冲区缓存的所述用户目标日志信息上报给所述终端应用处理器;
若确定所述缓冲区的当前缓存状态为所述第二缓存状态、所述第三缓存状态或者所述第四缓存状态,则将处于饱和状态的子缓冲区缓存的所述用户目标日志信息上报给所述终端应用处理器。
8.根据权利要求7所述的方法,其特征在于,所述确定子缓冲区的当前缓存状态包括:
确定第一计数值,所述第一计数值为出现饱和状态子缓冲区的历史次数;
确定第二计数值,所述第二计数值为向所述终端应用处理器侧发送所述用户目标日志信息的历史次数;
若所述第一计数值与所述第二计数值的差等于0,则确定子缓冲区的当前缓存状态为第一缓存状态;
若所述第一计数值与所述第二计数值的差等于1,则确定子缓冲区的当前缓存状态为第二缓存状态或者第三缓存状态;
若所述第一计数值与所述第二计数值的差大于1,则确定子缓冲区的当前缓存状态为第四缓存状态。
9.根据权利要求8所述的方法,其特征在于,若所述子缓冲区的当前缓存状态为所述第二缓存状态、所述第三缓存状态或者所述第四缓存状态,在将处于饱和状态的子缓冲区缓存的所述用户目标日志信息上报给所述终端应用处理器之后,还包括:
基于第一调整方式或者第二调整方式统一所述第一计数值和所述第二计数值。
10.根据权利要求9所述的方法,其特征在于,所述基于第一调整方式统一所述第一计数值和所述第二计数值包括:
以所述第一计数值更新第二计数值。
11.根据权利要求9所述的方法,其特征在于,所述基于第二调整方式统一所述第一计数值和所述第二计数值包括:
重置所述第一计数值和第二计数值。
12.根据权利要求1所述的方法,其特征在于,所述将所述用户目标日志信息上报给所述终端应用处理器包括:
基于字符串编码的方式将所述用户目标日志信息上报给所述终端应用处理器。
13.一种系统协处理器,其特征在于,所述系统协处理器包括:
控制器和存储器,所述存储器用于存储至少一条指令,所述指令由所述控制器加载并执行时以实现如权利要求1-12中任意一项所述的日志传输控制方法。
14.一种终端,其特征在于,所述终端包括应用处理器和权利要求13所述的系统协处理器;
其中,所述应用处理器将日志上报指令和时间戳信息发送给所述系统协处理器;
所述系统协处理器用于执行以下步骤:
接收终端应用处理器发送的日志上报指令;
接收所述终端应用处理器发送的时间戳信息,并根据所述时间戳信息给所述系统协处理器侧生成的日志添加时间戳;
通过日志打印接口将用户目标日志信息缓存在所述系统协处理器侧的缓冲区,其中,所述日志打印接口被配置成基于用户设置参数,将携带所述时间戳的系统协处理器侧的日志信息中相对应的所述用户目标日志信息缓存在所述缓冲区;以及
将所述用户目标日志信息上报给所述终端应用处理器。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-12中任意一项所述的日志传输控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210970318.7A CN116049122B (zh) | 2022-08-12 | 2022-08-12 | 日志信息传输控制方法、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210970318.7A CN116049122B (zh) | 2022-08-12 | 2022-08-12 | 日志信息传输控制方法、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116049122A true CN116049122A (zh) | 2023-05-02 |
CN116049122B CN116049122B (zh) | 2023-11-21 |
Family
ID=86112002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210970318.7A Active CN116049122B (zh) | 2022-08-12 | 2022-08-12 | 日志信息传输控制方法、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116049122B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117891647A (zh) * | 2024-03-18 | 2024-04-16 | 荣耀终端有限公司 | 日志处理方法、电子设备和计算机可读存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090038001A1 (en) * | 2007-08-03 | 2009-02-05 | Erol Bozak | Correlation of Log Information In A Distributed Computing Environment Using Relative Timestamps |
CN105183609A (zh) * | 2015-09-16 | 2015-12-23 | 焦点科技股份有限公司 | 一种应用于软件系统的实时监控系统及方法 |
CN106209455A (zh) * | 2016-07-11 | 2016-12-07 | 税友软件集团股份有限公司 | 一种跨系统弱耦合的关联业务故障定位方法及系统 |
CN107545067A (zh) * | 2017-09-13 | 2018-01-05 | 广东欧珀移动通信有限公司 | 日志信息上报方法、装置及存储介质、adsp和终端 |
US10073654B1 (en) * | 2017-12-08 | 2018-09-11 | Kyocera Document Solutions Inc. | Image forming operation monitoring systems and methods |
US20190155327A1 (en) * | 2017-11-21 | 2019-05-23 | Western Digital Technologies, Inc. | System and Method for Time Stamp Synchronization |
CN113704014A (zh) * | 2021-08-24 | 2021-11-26 | 荣耀终端有限公司 | 日志获取系统、方法、电子设备及存储介质 |
WO2022053006A1 (zh) * | 2020-09-10 | 2022-03-17 | 华为技术有限公司 | 一种接近光传感器控制方法及相关设备 |
WO2022151475A1 (zh) * | 2021-01-18 | 2022-07-21 | 华为技术有限公司 | 报文缓存方法、内存分配器及报文转发系统 |
-
2022
- 2022-08-12 CN CN202210970318.7A patent/CN116049122B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090038001A1 (en) * | 2007-08-03 | 2009-02-05 | Erol Bozak | Correlation of Log Information In A Distributed Computing Environment Using Relative Timestamps |
CN105183609A (zh) * | 2015-09-16 | 2015-12-23 | 焦点科技股份有限公司 | 一种应用于软件系统的实时监控系统及方法 |
CN106209455A (zh) * | 2016-07-11 | 2016-12-07 | 税友软件集团股份有限公司 | 一种跨系统弱耦合的关联业务故障定位方法及系统 |
CN107545067A (zh) * | 2017-09-13 | 2018-01-05 | 广东欧珀移动通信有限公司 | 日志信息上报方法、装置及存储介质、adsp和终端 |
US20190155327A1 (en) * | 2017-11-21 | 2019-05-23 | Western Digital Technologies, Inc. | System and Method for Time Stamp Synchronization |
US10073654B1 (en) * | 2017-12-08 | 2018-09-11 | Kyocera Document Solutions Inc. | Image forming operation monitoring systems and methods |
WO2022053006A1 (zh) * | 2020-09-10 | 2022-03-17 | 华为技术有限公司 | 一种接近光传感器控制方法及相关设备 |
WO2022151475A1 (zh) * | 2021-01-18 | 2022-07-21 | 华为技术有限公司 | 报文缓存方法、内存分配器及报文转发系统 |
CN113704014A (zh) * | 2021-08-24 | 2021-11-26 | 荣耀终端有限公司 | 日志获取系统、方法、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
贾毅婷;张东来;李铁才;王子才;张斌;: "大容量数据采集存储系统设计与实现", 测控技术, no. 04 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117891647A (zh) * | 2024-03-18 | 2024-04-16 | 荣耀终端有限公司 | 日志处理方法、电子设备和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116049122B (zh) | 2023-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113704014B (zh) | 日志获取系统、方法、电子设备及存储介质 | |
CN113254409B (zh) | 文件共享方法、系统及相关设备 | |
CN113704205B (zh) | 日志存储的方法、芯片、电子设备和可读存储介质 | |
CN114579389A (zh) | 应用的管理方法、装置、设备及存储介质 | |
CN115333941B (zh) | 获取应用运行情况的方法及相关设备 | |
CN116049122B (zh) | 日志信息传输控制方法、电子设备和存储介质 | |
CN112835610A (zh) | 一种构建应用程序资源包的方法、构建装置及终端设备 | |
CN113656089B (zh) | 应用程序中的类验证方法和装置 | |
CN116389884B (zh) | 缩略图显示方法及终端设备 | |
CN116048831B (zh) | 一种目标信号处理方法和电子设备 | |
CN116684520B (zh) | 一种关机方法、电子设备、存储介质及芯片 | |
CN116708751B (zh) | 一种拍照时长的确定方法、装置和电子设备 | |
CN111104295A (zh) | 一种页面加载过程的测试方法及设备 | |
CN114489469B (zh) | 一种数据读取方法、电子设备及存储介质 | |
CN117348894A (zh) | 一种软件升级方法、终端设备及系统 | |
CN113467821A (zh) | 应用程序的修复方法、装置、设备及可读存储介质 | |
CN114816973A (zh) | 调试代码的方法、装置、电子设备和可读存储介质 | |
CN116266159B (zh) | 一种缺页异常处理方法和电子设备 | |
CN116048629B (zh) | 系统服务切换方法及控制装置、电子设备和存储介质 | |
CN116662150B (zh) | 应用启动耗时检测方法及相关装置 | |
CN115482143B (zh) | 应用的图像数据调用方法、系统、电子设备及存储介质 | |
CN115792431B (zh) | 一种异常位置检测方法和电子设备 | |
CN116719376B (zh) | 电压控制方法、装置、设备和存储介质 | |
CN116700578B (zh) | 图层合成方法、电子设备以及存储介质 | |
CN116709609B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |