CN113641634B - 一种日志流量控制的方法以及电子设备 - Google Patents
一种日志流量控制的方法以及电子设备 Download PDFInfo
- Publication number
- CN113641634B CN113641634B CN202110769316.7A CN202110769316A CN113641634B CN 113641634 B CN113641634 B CN 113641634B CN 202110769316 A CN202110769316 A CN 202110769316A CN 113641634 B CN113641634 B CN 113641634B
- Authority
- CN
- China
- Prior art keywords
- log
- application program
- timestamp
- configuration information
- flow
- 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.)
- Active
Links
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
-
- 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
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)
- Human Computer Interaction (AREA)
- Telephone Function (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种日志流量控制的方法以及电子设备,其中,日志流量控制的方法包括:电子设备读取配额配置文件中的配置信息,接收应用程序发送的日志,然后获取该日志的时间戳。若该日志的时间戳与第一历史时间戳的差值大于预设时长,电子设备将历史时间戳更新为该日志的时间戳。若该日志的时间戳与历史时间戳的差值小于或等于预设时长,且该应用程序在所述差值内产生的日志流量大于该应用程序的日志流量配额值,电子设备丢弃该日志。
Description
技术领域
本申请涉及日志流量控制领域,尤其涉及一种日志流量控制的方法以及电子设备。
背景技术
现在,随着智能手机的技术的发展,用户在智能手机内会安装许多应用程序来实现例如上网或在线观看视频等功能,智能手机本身会被内置各种保证系统正常工作的插件,这些插件和应用程序在运行时会产生日志数据来记录这些插件和应用程序在运行过程中的各种参数,并存储在智能手机的内存中,用于进行相关分析。
由于,智能手机的内存有限,并且应用程序或插件在运行时会源源不断地产生日志数据;因此,当日志数据写满预设内存时,系统就会清理掉部分日志数据,来为即将写入的日志数据预留存储空间。目前,手机系统采用“先进先出”的原则来清理其多余的日志数据。
发明内容
本申请实施例提供了一种日志流量控制的方法以及电子设备,解决了因应用程序写入日志过快而使得电子设备消耗过多的资源去处理大量日志,影响电子设备系统的工作性能以及增加系统的功耗的问题。
第一方面,本申请实施例提供了一种日志流量控制的方法,包括:读取配额配置文件中的配置信息,配置信息包括应用程序的进程号和应用程序的日志流量配额值;接收目标应用程序发送的第一日志;获取该第一日志的时间戳;判断该第一日志的时间戳与第一历史时间戳的差值是否大于预设时长;若判断为是,将第一历史时间戳更新为该第一日志的时间戳;若判断为否,且目标应用程序的累计日志流量大于该目标应用程序的日志流量配额值,则丢弃该第一日志;累计日志流量为在所述差值内产生的日志长度总数。在上述实施例中,若目标应用程序的累计日志流量超过其日志流量配额值,电子设备将超过配额值的日志(第一日志)丢弃,解决了因应用程序写入日志过快而使得电子设备消耗过多的资源去处理大量日志,影响电子设备系统的工作性能以及增加系统的功耗的问题。
结合第一方面,在一种实施方式中,第一日志的时间戳为该第一日志产生时刻对应的时间戳,或接收该第一日志时刻对应的时间戳。
结合第一方面,在一种实施方式中,读取配额配置文件中的配置信息之后,还包括:将所述配置信息通过哈希函数进行压缩,得到压缩后的配置信息;将所述压缩后的配置信息封装在属性值中。在上述实施例中,将配置信息进行压缩,可以使得一个属性值能够封装更多的配置信息。
结合第一方面,在一种实施方式中,将配置信息通过哈希函数进行压缩,得到压缩后的配置信息,具体包括:读取该配置信息中应用程序的进程号;将所述进程号通过哈希函数进行压缩处理,得到压缩后的进程号。这样,可以使得一个属性值能够封装更多的配置信息。
结合第一方面,在一种实施方式中,属性值包括一个或多个所述压缩后的配置信息,且压缩后的配置信息的总长度不超过该属性值的长度。
结合第一方面,在一种实施方式中,接收目标应用程序发送的第一日志之前,还包括:读取属性值;若在该属性值中读取到该目标应用程序的配置信息,将该配置信息中的日志流量配额值作为该目标应用程序在预设时长内日志流量的上限阈值;若在该属性值中未读取到该目标应用程序的配置信息,将默认配额值作为该目标应用程序在预设时长内日志流量的上限阈值。这样,不管属性值中是否存在目标应用程序的配置信息,目标应用程序都可以获取日志流量配额值,并根据这个配额值控制该目标应用程序的日志流量。
结合第一方面,在一种实施方式中,将历史时间戳更新为所述第一日志的时间戳之前,还包括:判断该目标应用程序的累计日志流量是否大于该目标应用程序的日志流量配额值;若判断为否,将该目标应用程序的日志流量配额值更新为所述累计日志流量;若判断为是,不将该目标应用程序的日志流量配额值更新为所述累计日志流量。在上述实施例中,若在预设时长内,若目标应用程序实际产生的日志流量小于该应用程序的日志流量配额值,将该应用程序的日志流量配额值设置为该应用程序实际产生的日志流量,这样,能够进一步限制该应用程序的日志写入速度,避免了因应用程序写入日志过快而使得电子设备消耗过多的资源去处理大量日志,影响电子设备系统的工作性能以及增加系统的功耗的问题。
结合第一方面,在一种实施方式中,丢弃第一日志,具体包括:根据公式Sum=Sum+1更新日志累计流量;Sum为累计日志流量,所述X为该第一日志的长度;判断更新后的日志累计流量是否大于该目标应用程序的日志流量配额值;若判断为是,保存该第一日志;若判断为否,丢弃该第一日志。在上述实施例中,若应用程序在流量控制时域内的日志流量超过其配额值,仅丢弃其超过配额值部分的日志,保留了大部分日志数据,避免应用程序在运行过程出现问题时,因没有足够的日志数据分析出现问题的原因,而不能高效准确地使应用程序恢复正常工作的问题。
结合第一方面,在一种实施方式中,丢弃第一日志之后,包括:计算该第一日志的时间戳与第二历史时间戳的差值;第二时间戳为第一周期的起始时间戳,第一周期为统计丢弃日志数目的周期;判断该差值是否小于或等于第一周期的长度;若判断为否,保存该第一日志的时间戳、第二历史时间戳和Discard;Discard为在该差值内丢弃的日志数目;根据公式Discard=0,更新Discard;若判断为是,根据公式Discard=Discard+1更新在所述差值内丢弃的日志数目。
第二方面,本申请实施例提供了一种电子设备,该电子设备包括:一个或多个处理器和存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器调用该计算机指令以使得该电子设备执行:读取配额配置文件中的配置信息,配置信息包括应用程序的进程号和应用程序的日志流量配额值;接收目标应用程序发送的第一日志;获取该第一日志的时间戳;判断该第一日志的时间戳与第一历史时间戳的差值是否大于预设时长;若判断为是,将第一历史时间戳更新为该第一日志的时间戳;若判断为否,且目标应用程序的累计日志流量大于该目标应用程序的日志流量配额值,则丢弃该第一日志;累计日志流量为在所述差值内产生的日志长度总数。
结合第二方面,在一种实施方式中,该一个或多个处理器还用于调用该计算机指令以使得该电子设备执行:将所述配置信息中应用程序的进程号通过哈希函数进行压缩,得到压缩后的配置信息;将所述压缩后的配置信息封装在属性值中。
结合第二方面,在一种实施方式中,该一个或多个处理器还用于调用该计算机指令以使得该电子设备执行:读取属性值;若在该属性值中读取到该目标应用程序的配置信息,将该配置信息中的日志流量配额值作为该目标应用程序在预设时长内日志流量的上限阈值;若在该属性值中未读取到该目标应用程序的配置信息,将默认配额值作为该目标应用程序在预设时长内日志流量的上限阈值。
结合第二方面,在一种实施方式中,该一个或多个处理器还用于调用该计算机指令以使得该电子设备执行:判断该目标应用程序的累计日志流量是否大于该目标应用程序的日志流量配额值;若判断为否,将该目标应用程序的日志流量配额值更新为所述累计日志流量;若判断为是,不将该目标应用程序的日志流量配额值更新为所述累计日志流量。
结合第二方面,在一种实施方式中,该一个或多个处理器还用于调用该计算机指令以使得该电子设备执行:根据公式Sum=Sum+1更新日志累计流量;Sum为累计日志流量,所述X为该第一日志的长度;判断更新后的日志累计流量是否大于该目标应用程序的日志流量配额值;若判断为是,保存该第一日志;若判断为否,丢弃该第一日志。
结合第二方面,在一种实施方式中,该一个或多个处理器还用于调用该计算机指令以使得该电子设备执行:计算该第一日志的时间戳与第二历史时间戳的差值;第二时间戳为第一周期的起始时间戳,第一周期为统计丢弃日志数目的周期;判断该差值是否小于或等于第一周期的长度;若判断为否,保存该第一日志的时间戳、第二历史时间戳和Discard;Discard为在该差值内丢弃的日志数目;根据公式Discard=0,更新Discard;若判断为是,根据公式Discard=Discard+1更新在所述差值内丢弃的日志数目。
第三方面,本申请实施例提供了一种电子设备,包括:触控屏、摄像头、一个或多个处理器和一个或多个存储器;所述一个或多个处理器与所述触控屏、所述摄像头、所述一个或多个存储器耦合,所述一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,使得所述电子设备执行如第一方面或第一方面的任意一种实施方式所述的方法。
第四方面,本申请实施例提供了一种芯片系统,该芯片系统应用于电子设备,该芯片系统包括一个或多个处理器,该处理器用于调用计算机指令以使得该电子设备执行如第一方面或第一方面的任意一种实施方式所述的方法。
第五方面,本申请实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行如第一方面或第一方面的任意一种实施方式所述的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当该指令在电子设备上运行时,使得该电子设备执行如第一方面或第一方面的任意一种实施方式所述的方法。
附图说明
图1A-图1B是本申请实施例提供的一种电子设备控制日志流量的场景示意图;
图1C是本申请实施例提供的电子设备某一应用程序的日志数据信息表;
图2是本申请实施例提供的一种电子设备100的硬件结构示意图;
图3是本申请实施例的电子设备100的软件结构框图;
图4是本申请实施例提供的一种电子设备控制日志流量的系统架构图;
图5是本申请实施例提供的一种控制应用程序日志流量的流程示意图;
图6是本申请实施例提供的一种控制应用程序日志流量的时序图;
图7是本申请实施例提供的另一种控制应用程序日志流量的时序图;
图8是本申请实施例提供的一种控制应用程序日志流量的模块交互图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或者特性可以包含在本实施例申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是相同的实施例,也不是与其它实施例互斥的独立的或是备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中术语“第一”、“第二”、“第三”等是区别于不同的对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元,或者可选地,还包括没有列出的步骤或单元,或者可选地还包括这些过程、方法、产品或设备固有的其它步骤或单元。
附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前,应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在本说明书中使用的术语“部件”、“模块”、“系统”、“单元”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件或执行中的软件。例如,单元可以是但不限于在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或分布在两个或多个计算机之间。此外,这些单元可从在上面存储有各种数据结构的各种计算机可读介质执行。单元可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一单元交互的第二单元数据。例如,通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
手机内安装有各式各样的应用程序,当手机开机时,部分应用程序会自启动,部分应用程序会在用户点击后启动。如图1A所示,当电子设备100检测到针对显示界面101中通讯软件1011的输入操作时(例如单击),通讯软件1011便开始运行。应用程序在运行过程中会不断产生日志数据来记录应用程序在工作过程中的相关运行数据。如图1B所示,当用户通过通讯软件1011向其通信好友1发送消息或者传输文件时,消息所占的字节数、消息发送的时间、文件所占的内存大小以及发送文件的时间等数据就为通讯软件1011在运行过程中产生的日志数据,该日志数据被写入Logd中。由于,应用程序在运行过程中不断产生日志数据且电子设备的存储空间有限,当应用程序的日志数据所占内存达到预设值之后,便会将应用程序先前写入的日志数据清理掉,为即将写入的日志数据预留空间。例如,如图1C所示,图1C为电子设备某一应用程序的日志数据信息表,在该日志数据信息表中记录了应用程序按先后顺序写入的日志1、日志2、日志3、日志4、日志5、日志6,这6条日志所占的字节数分别为1000Byte、2000Byte、3000Byte、4000Byte、5000Byte、5000Byte,若该应用程序的日志数据内存的预设值为20000Byte,当电子设备要写入大小为3000Byte日志7时,需要将最先写入的日志1和日志2清除,为日志7预留存储空间。通过这样的方式,电子设备节约存储空间的同时,又能保留应用程序最新的日志数据。
根据日志统计,写满一个4MB的日志文件需要大约340s,相较于上一版本的750s,日志的写入速度增加了一倍。这就造成手机系统需要消耗大量的计算资源来处理这些高速写入的日志,从而使得手机系统的其它工作受到影响,造成系统的工作性能降低并增大了系统的功耗。另外,由于日志写入速度过快,会造成存储空间被快速填满,已写入的日志保存时间过短,当应用程序在运行过程中出现问题时,由于对应的日志数据在短时间内被删除,系统无法通过相关的日志数据对该应用程序出现的问题进行分析,以至于不能高效、准确地解决应用程序在运行过程中出现的问题。
为了解决上述问题,本申请提供了一种控制日志流量的方法。电子设备检测每个运行的应用程序在预设时长内产生的日志数据,并判断每个运行的应用程序在该预设时长内产生的日志数据是否超过了其日志流量配额值,若超过了日志流量配额值,将超过日志流量配额值部分的日志数据丢弃,以此达到控制应用程序日志流量的目的。
下面,对电子设备的硬件结构进行介绍。请参见图2,图2是本申请实施例提供的一种电子设备100的硬件结构示意图。电子设备100可以为手机、平板电脑、遥控器或具备无线通讯功能的可穿戴电子设备(如智能手表、AR眼镜)等等,本申请实施例对电子设备的种类不做限制。电子设备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,以及用户标识模块(Subscriber Identification 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),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/3G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块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通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。本申请实施例中,陀螺仪传感器180B可以用于采集记录对象手握电子设备100时,电子设备100的运动轨迹,辅助判断记录对象的心情。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。本申请实施例中,加速度传感器180E和陀螺仪传感器180B一起作用,可以用于采集记录对象手握电子设备100时,电子设备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获取的血压跳动信号解析心率信息,实现心率检测功能。
电子设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。图3是本申请实施例的电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。如图4所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。应用程序层还包括各个应用程序的服务进程(Service Process)以及Liblog。
Service Process用于向Liblog发送应用程序产生的日志。
Liblog用于控制应用程序在预设时长内产生的日志流量。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL),Logd、Property Service等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
Logd是一个进程,开机时启动,用于保存应用程序的Liblog写入的Log(日志)以及读取配额配置文件中的配置信息。
Property Service用于将配置信息封装成属性值进行存储。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
请参阅图4,图4是本申请实施例提供的一种电子设备控制日志流量的系统架构图。在图4中,电子设备包括系统内存、多个应用程序(图4中只列举了6个)以及每个应用程序对应的Liblog。其中,应用程序及其对应的Liblog位于上述图3所述的Android系统中的应用程序层。
示例性的,以Liblog对软件6在预设时长(例如,10秒)内的日志流量管理为例,进行说明。Liblog在10秒内统计软件6产生的日志数据所占内存,并判断是否超过预设值(例如,20000Byte)。若超过,软件6的Liblog将超过20000Byte的日志进行丢弃,以此来控制软件6在10秒内产生的日志流量。由图4可知,在对软件6进行日志流量管控之前,电子设备的运行内存的占用率为a%,在对软件6的日志流量进行管控之后,电子设备的运行内存的占用率下降至b%。
上述图4实施例对电子设备控制应用程序的日志流量的系统架构进行了说明。下面,结合图5,对电子设备进行日志流量控制的具体过程进行详细说明。请参见图5,图5是本申请实施例提供的一种控制应用程序日志流量的流程示意图。下面,结合图5对所述流程进行展开说明:
步骤S501:电子设备读取配置信息。
具体地,配置信息包括应用程序的日志流量的配额值,该日志流量的配额值用于表征应用程序在预设时长内产生的日志流量的上限阈值。
电子设备在开机后,Logd启动。其中,Logd位于上述图3所述的Android系统中的系统库。Logd读取Quota Config File中第一应用程序的配置信息。第一应用程序是开发者设置的应用程序。例如,开发者在对应用程序进行测试时,发现某些应用程序在相同的时间长度内产生的日志数据所占的内存比其它应用程序更多,需要更多的存储空间来存储这些应用程序的日志数据,则可以将该应用程序设置为第一应用程序,并给该应用程序设置对应的日志流量配额值。又例如,开发者在测试时,需要减少某些不常用的应用程序的内存的占用,则可以将这些应用程序设置为第一应用程序,并给这些应用程序设置对应的日志流量配额值。第一应用程序还可以是用户自己设置的。例如,用户可以减少某些不常用的应用程序的配额,尽量减少这些应用程序占用的内存。可以理解的是,本申请实施例对第一应用程序的生成方式和日志流量配额值不做限定。
在一些实施例中,应用程序对应的日志流量配额值可以是默认的,可以在QuotaConfig File中存储,也可以在其他地方存储。例如,可以设置所有的通讯软件的配额值为A,当电子设备检测到通讯软件启动时,即可以使用默认的配置A对通讯软件进行日志流量的管控。
步骤S502:电子设备压缩配置信息。
具体地,第一应用程序的配置信息需要存储在Property Service中,以便第一应用程序的Liblog读取。其中,Property Service位于上述图3所述的Android系统中的系统库。若电子设备将配置信息直接存储在Property Service中会占用系统大量的运行内存,为了降低配置信息占用系统运行内存的比例,Property Service通常将配置信息封装在属性值中进行存储。例如,将10个App的配置信息分别存储在Property Service中,所占的运行内存大约为200Byte,如果将这10个App的配置信息封装在一个属性值中,并将该属性值存储在Property Service中,该属性值所占的运行内存大约为90Byte,由此可知,封装后的配置信息相较于封装前的配置信息,占用的运行内存减小了一半。
在Property Service中,一个属性值的大小为93Byte,为了使一个属性值能够尽可能容纳更多的配置信息,需要将配置信息进行压缩。配置信息包括第一应用程序的进程号及其日志流量配额值,日志流量配额值的大小一般为8Byte,进程号的大小与进程号的长度相关,进程号长度越大,所占的字节数越多。通常使用哈希函数对配置信息中的进程号进行压缩,使得长度不同的进程号最终转换为长度相同的进程号(通常为1Byte)。这样,通过哈希函数转换后的配置信息的所占字节数为9Byte(进程号1Byte+日志流量配额值8Byte)。那么,一个属性值至多可以容纳10条配置信息。
在另一些实施例中,转换压缩进程号的函数也可以采用具备将任意长度输入序列转换成固定长度输出序列功能的函数,本申请实施例对转换压缩进程号函数不做限制。
步骤S503:电子设备将压缩后的配置信息封装成属性值,并存储所述属性值。
步骤S504:电子设备根据日志流量配额值控制应用程序的日志流量。
具体地,每一个应用程序的Service Process都有Liblog。Liblog会在预设时长内根据其应用程序的日志流量配额值,对该应用程序产生的日志流量进行管控。Liblog在接收到其Service Process发送的一条日志后,会获取该条日志的时间戳,并判断该条日志时间戳与第一历史时间戳的差值是否大于预设时长。若大于预设时长,Liblog将第一历史时间戳更新为该条日志的时间戳,并根据公式Sum=X更新该Liblog对应的应用程序在该差值内产生的日志长度总数。其中,Sum为该Liblog对应的应用程序在该差值内产生的日志长度总数,X为该条日志的日志长度。若小于或等于预设时长,Liblog根据公式Sum=Sum+X更新Sum,并判断Sum是否超过该应用程序的日志流量配额值。若超过了该应用程序的日志流量配额值,Liblog将该条日志丢弃。然后,Liblog将第一历史时间戳更新为该条日志的时间戳,并把Sum置为0。若未超过该应用程序的日志流量配额值,Liblog将该条日志写入Logd进行保存,接收下一条日志,并执行“判断该条日志时间戳与第一历史时间戳的差值是否大于预设时长”的步骤。需要说明的是,在应用程序启动后,Liblog将其接收的第1条日志设置为第一历史时间戳,日志的时间戳可以为日志的生成时间戳,也可以为Liblog接收日志时所对应的时间戳,本申请实施例对此不做限制。
例如,以(X,Y)表示每条日志的信息,其中X用于指示日志的时间戳,Y用于指示日志所占的字节数(Byte)。示例性的,以图6说明日志流量控制的过程,预设时长为10秒,应用程序1在10秒内的日志流量配额值为20000Byte。Liblog接收日志1(00,2000)(日志1为应用程序1启动后接收的第一条日志),将00设置为第一历史时间戳,并将Sum置为2000,将日志1写入Logd。然后,接收日志2(13,2000),由于日志2的时间戳与第一历史时间戳的差值大于10秒。因此,Liblog将第一历史时间戳更新为13,并将Sum置为2000。由于日志2的字节数未超过20000Byte,因此,Liblog将日志2写入Logd中进行保存。然后,Liblog依次接收日志3(15,4000Byte)、日志4(17,6000Byte)、日志5(19,6000Byte)、日志6(22,3000Byte)。在Liblog接收的日志3,日志4、日志5中,每条日志的时间戳与第一历史时间戳(13)的差值分别为2秒、4秒和6秒,都未超过预设时长10秒。且当接收日志3时,日志3与日志2的字节数之和为6000Byte,当接收日志4时,日志4、日志3、日志2的字节数之和为12000Byte,当接收日志5时,日志5、日志4、日志3、日志2的字节数之和为18000Byte。因此,Liblog在接收到日志3、日志4、日志5之后,分别将日志3、日志4、日志5写入Logd中进行保存。当Liblog接收日志6时,日志6的时间戳与第一历史时间戳(13)的差值小于10秒,但日志2~日志6的字节数之和21000Byte,超过了日志流量配额值为20000Byte。因此,Liblog将日志6丢弃,并把历史时间戳更新为日志6的时间戳(22),将Sum置0。
在另一些实施例中,电子设备可以周期性地控制应用程序的日志流量。在单个周期内,Liblog判断其接收的日志所占字节数是否超过该应用程序的日志流量配额值,若超过日志流量配额值。Liblog将超过日志流量配额值部分的日志丢弃,将未超过的日志写入Logd中。例如,在图7中,周期长度为10秒,应用程序在每个周期内的日志流量配额值为20000Byte。在第一个周期内,电子设备依次接收日志1、日志2、日志3、日志4,且日志1~日志4所占字节数分别为6000Byte、7000Byte、6000Byte、3000Byte。日志1~日志4所占字节总和为22000Byte,超过了20000Byte,因此,该应用程序的Liblog将日志4丢弃,将日志1~日志3写入Logd。
本申请实施例,电子设备为其安装的应用程序设置日志流量配额值,并通过其Liblog控制每个运行的应用程序在预设时长内的日志流量。当应用程序的日志流量在预设时长内超过其日志流量配额值时,该应用程序的Liblog便会丢弃超过该日志流量配额值对应的日志,从而保证应用程序的日志流量在正常范围之内。一方面,通过给应用程序设置日志流量配额值,可以避免应用程序写入日志过快而使得电子设备消耗过多的资源去处理大量日志,影响电子设备系统的工作性能以及增加系统的功耗的问题;另外,通过控制日志流量可以保证日志数据写满预设内存空间的时间变慢,从而延长写入日志引擎中的日志的保存时间;另一方面,若应用程序在流量控制时域内的日志流量超过其配额值,Liblog仅丢弃其超过配额值部分的日志,保留了大部分日志数据,避免应用程序在运行过程出现问题时,因没有足够的日志数据分析出现问题的原因,而不能高效准确地使应用程序恢复正常工作的问题。
上述图5实施例介绍了电子设备控制应用程序日志流量的具体流程。下面,对上述图5中,各模块的交互流程进行说明,各模块的交互过程如图8所示,具体流程如下:
步骤S801:Logd启动。
具体地,Logd位于Android系统中的系统库,电子设备在开机后,Logd开始启动。
步骤S802:Logd读取Quata Config File中的配置信息。
具体地,Logd启动后读取Quata Config File中的配置信息。该配置信息包括第一应用程序的进程名和第一应用程序的日志流量配额值。第一应用程序和日志流量配额值的相关叙述请参考上述图5实施例中的步骤S501,本申请实施例在此不再赘述。
步骤S803:Logd压缩配置信息。
具体地,Logd压缩配置信息的过程为:Logd读取配置信息中第一应用程序的进程名,并将第一应用程序的进程名通过哈希函数进行压缩,得到压缩后的进程名。Logd压缩配置信息的具体过程请参考上述图5实施例中的步骤S502,本申请实施例在此不再赘述。
步骤S804:Logd将压缩后的配置信息发送给Property Service。
步骤S805:Property Service将压缩后配置信息封装成属性值,并存储所述属性值。
具体地,Property Service将压缩后配置信息封装成属性值的相关叙述请参考上述图5实施例中的步骤S502,本申请实施例在此不再赘述。
步骤S806:Service Process向Liblog发送第一日志。
具体地,Service Process为应用程序的服务进程,每个应用程序对应一个Service Process,Service Process用于向Service Process发送其应用程序产生的日志,位于Android系统中的应用程序层。Liblog为应用程序服务进程中的库日志,用于管控其应用程序在预设时长内的日志流量,位于Android系统中的应用程序层。Service Process向Liblog发送日志是以条数为单位的,所述第一日志为一条日志。
可选地,在Liblog接收Service Process发送的日志之前,Liblog从PropertyService中读取该Service Process对应的应用程序的配置信息。若在Service Process中未读取到该应用程序的配置信息,则Liblog读取默认的日志流量配额值。默认的日志流量配额值的相关叙述请参考上述图5实施例中的步骤S501,本申请实施例在此不再叙述。
步骤S807:所述Liblog获取第一日志的时间戳。
具体地,该时间戳可以是第一日志产生时刻对应的时间戳,也可以是Liblog接收第一日志时刻对应的时间戳,本申请实施例对此不做限制。
步骤S808:所述Liblog计算第一时间戳与第一历史时间戳的差值。
具体地,Liblog计算第一时间戳与第一历史时间戳的差值的相关叙述请参考上述图5实施例中的步骤S504,本申请实施例在此不再赘述。
步骤S809:所述Liblog判断第一时间戳与第一历史时间戳的差值是否大于预设时长。
具体地,若判断为是,执行步骤S809,若判断为否,执行步骤S810。
步骤S810:所述Liblog将第一历史时间戳更新为第一日志的时间戳,并将Sum更新为X。
具体地,Sum为所述Liblog对应的应用程序在所述差值内产生的日志长度总数,X为第一日志的日志长度。
步骤S811:所述Liblog根据公式Sum=Sum+X更新Sum。
具体地,Sum为所述Liblog对应的应用程序在第一时间戳与第一历史时间戳的差值内产生的日志长度总数,X为第一日志的日志长度。
步骤S812:所述Liblog判断Sum是否大于所述Liblog对应的应用程序的日志流量配额值。
具体地,若判断为是,执行步骤S812。若判断为否,执行步骤S813。
步骤S813:所述Liblog将所述第一日志丢弃,将第一历史时间戳更新为所述第一日志的时间戳,将Sum置0。
具体地,在一种可选的方式中,Liblog将所述第一日志丢弃后,计算第一日志的时间戳与当第二历史时间戳的差值。其中,第二历史时间戳为当前第一周期的起始时间戳,第一周期为统计丢弃日志数目的周期。若该差值小于或等于第一周期的时长,Liblog根据公式Discard=Discard+1更新Discard。其中,Discard为在第一周期内丢弃日志的数目。若该差值大于第一周期的时长,Liblog将当前第一周期的历史时间戳、第一日志的时间戳以及Discard保存,并根据公式Discard=0更新Discard。
步骤S814:所述Liblog将所述第一日志写入Logd中。
具体地,在一种可选的方式中,若该应用程序为第一应用程序且产生的日志流量未超过其日志流量配额值,Liblog将该日志流量作为该应用程序更新后的日志流量配额值代替该应用程序原有的日志流量配额值。
本申请实施例,通过控制每个应用程序在预设时长内的日志流量,解决了因应用程序写入日志过快而使得电子设备消耗过多的资源去处理大量日志,影响电子设备系统的工作性能以及增加系统的功耗的问题。同时,也延长了日志在电子设备中的保存时间。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
总之,以上所述仅为本发明技术方案的实施例而已,并非用于限定本发明的保护范围。凡根据本发明的揭露,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种日志流量控制的方法,其特征在于,包括:
读取配额配置文件中的配置信息,所述配置信息包括应用程序的进程号和应用程序的日志流量配额值;
接收目标应用程序发送的第一日志;
获取所述第一日志的时间戳;
判断所述第一日志的时间戳与第一历史时间戳的差值是否大于预设时长;
若判断为是,将所述第一历史时间戳更新为所述第一日志的时间戳;
若判断为否,且所述目标应用程序的累计日志流量大于所述目标应用程序的日志流量配额值,则丢弃所述第一日志;所述累计日志流量为在所述差值内产生的日志长度总数。
2.如权利要求1所述的方法,其特征在于,所述第一日志的时间戳为所述第一日志产生时刻对应的时间戳,
或接收所述第一日志时刻对应的时间戳。
3.如权利要求1-2任一项所述的方法,其特征在于,所述读取配额配置文件中的配置信息之后,还包括:
将所述配置信息通过哈希函数进行压缩,得到压缩后的配置信息;
将所述压缩后的配置信息封装在属性值中。
4.如权利要求3所述的方法,其特征在于,所述将所述配置信息通过哈希函数进行压缩,得到压缩后的配置信息,具体包括:
读取所述配置信息中应用程序的进程号;
将所述进程号通过哈希函数进行压缩处理,得到压缩后的进程号。
5.如权利要求3所述的方法,其特征在于,所述属性值包括一个或多个所述压缩后的配置信息,且所述压缩后的配置信息的总长度不超过所述属性值的长度。
6.如权利要求3所述的方法,其特征在于,所述接收目标应用程序发送的第一日志之前,还包括:
读取所述属性值;
若在所述属性值中读取到所述目标应用程序的配置信息,将所述配置信息中的日志流量配额值作为所述目标应用程序在所述预设时长内日志流量的上限阈值;
若在所述属性值中未读取到所述目标应用程序的配置信息,将默认配额值作为所述目标应用程序在所述预设时长内日志流量的上限阈值。
7.如权利要求1所述的方法,其特征在于,所述将所述第一历史时间戳更新为所述第一日志的时间戳之前,还包括:
判断所述目标应用程序的累计日志流量是否大于所述目标应用程序的日志流量配额值;
若判断为否,将所述目标应用程序的日志流量配额值更新为所述累计日志流量;
若判断为是,不将所述目标应用程序的日志流量配额值更新为所述累计日志流量。
8.如权利要求1所述的方法,其特征在于,所述丢弃所述第一日志,具体包括:
根据公式Sum=Sum+X更新日志累计流量;Sum为累计日志流量,所述X为所述第一日志的长度;
判断更新后的日志累计流量是否大于所述目标应用程序的日志流量配额值;
若判断为是,保存所述第一日志;
若判断为否,丢弃所述第一日志。
9.如权利要求1所述的方法,其特征在于,所述丢弃第一日志之后,包括:
计算所述第一日志的时间戳与第二历史时间戳的差值;所述第二历史时间戳为第一周期的起始时间戳,所述第一周期为统计丢弃日志数目的周期;
判断所述差值是否小于或等于所述第一周期的长度;
若判断为否,保存所述第一日志的时间戳、所述第二历史时间戳和Discard;所述Discard为在所述差值内丢弃的日志数目;
根据公式Discard=0更新所述Discard;
若判断为是,根据公式Discard=Discard+1更新在所述差值内丢弃的日志数目。
10.一种电子设备,其特征在于,所述电子设备包括显示屏、一个或多个处理器和一个或多个存储器;其中,所述显示屏、所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,使得所述电子设备执行如权利要求1-9任意一项所述的方法。
11.一种芯片,所述芯片应用于电子设备,所述芯片包括一个或多个处理器,所述处理器用于调用计算机指令以使得所述电子设备执行如权利要求1-9中任一项所述的方法。
12.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110769316.7A CN113641634B (zh) | 2021-07-07 | 2021-07-07 | 一种日志流量控制的方法以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110769316.7A CN113641634B (zh) | 2021-07-07 | 2021-07-07 | 一种日志流量控制的方法以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113641634A CN113641634A (zh) | 2021-11-12 |
CN113641634B true CN113641634B (zh) | 2022-07-26 |
Family
ID=78416733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110769316.7A Active CN113641634B (zh) | 2021-07-07 | 2021-07-07 | 一种日志流量控制的方法以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113641634B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114116235A (zh) * | 2022-01-26 | 2022-03-01 | 杭州米络星科技(集团)有限公司 | 流量控制方法、装置、电子设备及计算机可读存储介质 |
CN116521487A (zh) * | 2023-06-27 | 2023-08-01 | 荣耀终端有限公司 | 日志打印方法、电子设备以及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103002466B (zh) * | 2011-09-13 | 2015-07-15 | 腾讯科技(深圳)有限公司 | 一种预警流量的方法及装置 |
CN110545292B (zh) * | 2019-09-29 | 2021-07-30 | 秒针信息技术有限公司 | 一种异常流量监测的方法及装置 |
US11889460B2 (en) * | 2019-10-23 | 2024-01-30 | Briggs & Stratton, Llc | Equipment tracking system |
-
2021
- 2021-07-07 CN CN202110769316.7A patent/CN113641634B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113641634A (zh) | 2021-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021083378A1 (zh) | 一种加速应用程序启动的方法及电子设备 | |
EP3926576A1 (en) | Frequency adjustment method and apparatus applied to terminal, and electronic device | |
CN112947947B (zh) | 安装包的下载方法、分发方法、终端设备、服务器及系统 | |
CN114363462B (zh) | 一种界面显示方法、电子设备及计算机可读介质 | |
CN113641634B (zh) | 一种日志流量控制的方法以及电子设备 | |
CN113704205B (zh) | 日志存储的方法、芯片、电子设备和可读存储介质 | |
CN110865837B (zh) | 一种进行系统升级的方法和终端 | |
WO2021213451A1 (zh) | 轨迹回放方法及相关装置 | |
CN113747374B (zh) | 一种消息推送方法及装置 | |
WO2021104117A1 (zh) | 一种构建应用程序资源包的方法、构建装置及终端设备 | |
CN114546511A (zh) | 插件管理方法、系统及装置 | |
CN113688019B (zh) | 响应时长检测方法及装置 | |
CN115333941A (zh) | 获取应用运行情况的方法及相关设备 | |
CN115119048B (zh) | 一种视频流处理方法及电子设备 | |
CN113485969B (zh) | 一种存储碎片化方法及装置、终端及计算机存储介质 | |
CN114253737B (zh) | 电子设备及其内存回收方法、介质 | |
CN114077529B (zh) | 日志上传方法、装置、电子设备及计算机可读存储介质 | |
CN113590346B (zh) | 处理业务请求的方法和电子设备 | |
CN114461589B (zh) | 读取压缩文件的方法、文件系统及电子设备 | |
CN115185652B (zh) | 应用优化方法、装置以及电子设备 | |
WO2021238376A1 (zh) | 功能包的加载方法、装置、服务器和电子设备 | |
CN112783418B (zh) | 一种存储应用程序数据的方法及移动终端 | |
CN117348894A (zh) | 一种软件升级方法、终端设备及系统 | |
CN113467821A (zh) | 应用程序的修复方法、装置、设备及可读存储介质 | |
CN116775345B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230918 Address after: 201306 building C, No. 888, Huanhu West 2nd Road, Lingang New Area, Pudong New Area, Shanghai Patentee after: Shanghai Glory Smart Technology Development Co.,Ltd. Address before: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040 Patentee before: Honor Device Co.,Ltd. |