CN111858508A - 一种日志系统的调控方法、装置、存储介质及电子设备 - Google Patents

一种日志系统的调控方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN111858508A
CN111858508A CN202010557133.4A CN202010557133A CN111858508A CN 111858508 A CN111858508 A CN 111858508A CN 202010557133 A CN202010557133 A CN 202010557133A CN 111858508 A CN111858508 A CN 111858508A
Authority
CN
China
Prior art keywords
log
maximum
value
threshold
cache
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
Application number
CN202010557133.4A
Other languages
English (en)
Other versions
CN111858508B (zh
Inventor
李景
刘辉军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yuanguang Software Co Ltd
Original Assignee
Yuanguang Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yuanguang Software Co Ltd filed Critical Yuanguang Software Co Ltd
Priority to CN202010557133.4A priority Critical patent/CN111858508B/zh
Publication of CN111858508A publication Critical patent/CN111858508A/zh
Application granted granted Critical
Publication of CN111858508B publication Critical patent/CN111858508B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请适用于数据处理技术领域,提供了一种日志系统的调控方法、装置、存储介质及电子设备,调控方法包括:预先配置日志队列的最大缓存阈值,其中,所述日志队列用于存储日志负荷量,所述日志负荷量是指消费日志与生产日志的差值,然后根据所述日志负荷量,实时更新所述最大缓存阈值。本发明提供的日志系统的调控方法,根据当前日志负荷量的大小,实时的对最大缓存阈值进行赋值更新,将所述最大缓存阈值的选值至最优状态,以使日志系统能够进行自适应,提高日志系统输出日志的性能。

Description

一种日志系统的调控方法、装置、存储介质及电子设备
技术领域
本申请属于数据处理技术领域,尤其涉及一种日志系统的调控方法、装置、存储介质及电子设备。
背景技术
日志系统是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件的一种系统。用户可以通过日志系统中的日志来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。
通常使用的日志系统包括两种:同步机制的日志系统以及异步机制的日志系统,两种机制对应的日志系统均有常遇到的困境,分别为:(1)如果使用同步机制的日志系统,输出日志时使用的内存低,但系统性能较差。(2)如果使用异步机制的日志系统,输出日志时使用的内存高,系统性能较优。
相比较而言,使用异步机制的日志系统,只需要平衡日志系统输出日志占用的内存与系统性能的关系,就能获得较优的系统性能,这也是异步机制的日志系统是本领域中更为常用的一种日志系统的原因。当然如何调控输出日志所使用的内存,不出现使用内存过高或者偏低的情况,获得较优的系统性能,就成为业界的难点和本申请所要解决的问题。
申请内容
本申请实施方式提供了一种日志系统的调控方法、装置、存储介质及电子设备,以便自适应调控日志系统输出日志所使占用的内存。
本申请实施方式第一方面提供了一种日志系统的调控方法,所述调控方法包括:
预先配置日志队列的最大缓存阈值,其中,所述日志队列用于存储日志负荷量,所述日志负荷量是指消费日志与生产日志的差值;
根据所述日志负荷量与所述最大缓存阈值的大小关系,实时更新所述最大缓存阈值。
可选地,所述根据所述日志负荷量,实时更新所述最大缓存阈值,包括:
将所述最大缓存阈值与日志负荷量进行比对,获取比对结果;
根据所述比对结果,更新所述最大缓存阈值。
可选地,所述比对结果为所述日志负荷量大于或等于最大缓存阈值;则,
所述根据所述比对结果,更新所述最大缓存阈值,包括:
将所述最大缓存阈值与预先设定的第一负荷参数做乘积计算,获取第一缓存值;
当所述第一缓存值小于或等于队列可用存储量,将所述第一缓存值赋值至所述最大缓存阈值;
当所述第一缓存值大于队列可用存储量,将所述队列可用存储量赋值至所述最大缓存阈值。
可选地,所述比对结果为所述日志负荷量小于最大缓存阈值;则,
所述根据所述比对结果,实时更新所述最大缓存阈值,包括:
计算所述日志负荷量小于最大缓存阈值的持续时间;
当所述持续时间大于预设时间时,将所述最大缓存阈值与预先设定的第二负荷参数做乘积计算,获取第二缓存值;将所述队列可用存储量与预先设定的权重系数作乘积计算,获取第三缓存值;
判断所述第二缓存值与所述第三缓存值的大小;
当所述第二缓存值大于所述第三缓存值,将所述第三缓存值赋值至所述最大缓存阈值;
当所述第二缓存值小于或等于所述第三缓存值,将所述第二缓存值赋值至所述最大缓存阈值。
可选地,在所述根据所述比对结果,更新所述最大缓存阈值之前,所述调控方法还包括:
根据主体程序系统的可用存储量,计算所述队列可用存储量。
可选地,所述根据主体程序系统可用存储量,计算所述队列可用存储量,包括:
获取所述主体程序系统可用存储量;
将所述主体程序系统可用存储量与预设存储量参数做乘积计算,再与单位日志存储量做商计算,获取队列可用存储量。
可选地,在所述将所述最大缓存阈值与预先设定的第一负荷参数做乘积计算,获取第一缓存值之前,所述调控方法还包括:
将所述日志系统切换至暂缓状态,其中,所述暂缓状态用于优化所述日志系统输出日志。
可选地,所述将所述日志系统切换至暂缓状态是指所述日志队列停止接受新增日志任务,直至日志负荷量低于所述最大缓存阈值,或者停止日志生产,直至日志负荷量低于所述最大缓存阈值。
本申请实施方式第二方面提供了一种日志系统的调控装置,所述调控装置包括:
配置模块,用于预先配置日志队列的最大缓存阈值,其中,所述日志队列用于存储日志负荷量,所述日志负荷量是指消费日志与生产日志的差值;
更新模块,用于根据所述日志负荷量,实时更新所述最大缓存阈值。
本申请实施方式第三方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前述的日志系统的调控方法。
本申请实施方式第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如前述的日志系统的调控方法的步骤。
本申请实施方式第五方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述本申请实施方式第一方面提供的日志系统的调控方法。
本发明的实施方式与现有技术相比存在的有益效果是:预先配置日志队列的最大缓存阈值,其中,所述日志队列用于存储日志负荷量,所述日志负荷量是指消费日志与生产日志的差值,然后根据所述日志负荷量,实时更新所述最大缓存阈值,即根据当前日志负荷量的大小,实时的对最大缓存阈值进行赋值更新,将所述最大缓存阈值的选值至最优状态,以使日志系统能够进行自适应,提高日志系统输出日志的性能,优化系统性能。
附图说明
为了更清楚地说明本申请实施方式中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供文档的日志系统的调控方法的第一种实现过程流程示意图;
图2是本申请实施例提供的文档的日志系统的调控方法的第二种实现过程流程示意图;
图3是本申请实施例提供的文档的日志系统的调控装置的结构示意图;
图4是本申请实施例提供的电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施方式。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施方式中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施方式的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
应当理解,本实施例中各步骤的先后撰写顺序并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
为了说明本申请所述的技术方案,下面通过具体实施方式来进行说明。
参见图1,是本申请实施例一提供日志系统的调控方法的第一种实现过程的流程图,为了便于说明,仅示出了与本申请实施例相关的部分。
所述日志系统的调控方法,用于解决现有的日志系统输出日志时不能合理调控所使用的内存,进而导致堵塞主体程序的问题,以便自适应调控日志系统输出日志所使占用的内存,优化日志输出性能,提升整体运行效率。在电子设备运行整体系统程序时,无论是云服务还是单体服务,所有的程序想要得到有效的维护都必须输出大量的日志,而日志的输出依赖于日志系统。
本案优选实施例可为,所述日志系统的调控方法,包括:
S101:预先配置日志队列的最大缓存阈值,其中,所述日志队列用于存储日志负荷量,所述日志负荷量是指消费日志与生产日志的差值。
在本实施例中,所述日志系统通常包括日志生产线程,日志队列以及日志消费线程。所述日志生产线程用于不断根据其他业务线程生成日志,所述日志消费线程用于不断消费所述日志生产线程提供的日志,所述日志队列用于存储日志负荷量,所述日志负荷量是指消费日志与生产日志的差值。换句话说,日志生产线程相当于生产者,所述日志队列相当于缓存器,所述日志消费线程相当于消费者。当所述日志消费线程的消费速度小于日志生产线程的生产速度时,缓存在所述日志队列中的日志即为日志负荷量。所述日志队列设置有最大缓存阈值,所述最大缓存阈值是用于根据经验预先配置的,对日志负荷量作一个缓存指示作用。当然,所述最大缓存阈值是小于所述日志系统在主体程序系统中预先规定的可用内存。
需要说明的是,所述日志队列本身总共缓存量是所述主体程序的系统内存一部分,则所述日志队列的总共缓存量设置的大小关乎所述主体程序的系统的运行性能,若设置太小则导致日志系统输出日志效率低下,若设置太高则导致主体程序的系统运行性能较低。
S102:根据所述日志负荷量与所述最大缓存阈值,实时更新所述最大缓存阈值。
在本实施例中,所述日志系统根据所述日志负荷量与所述最大缓存阈值的大小关系,实时对所述最大缓存阈值进行更新。所述实时更新所述最大缓存阈值,是指日志系统根据预先设定计算规则,计算新的阈值,并将该阈值赋值至所述最大缓存阈值,以实现对所述最大缓存阈值的赋值。其中,所述实时对所述最大缓存阈值进行更新存在两种情况,一种是当前的最大缓存阈值偏小,需要调大所述最大缓存阈值,一种是当前的最大缓存阈值偏大,需要调小所述最大缓存阈值。最终目的均是为了将所述最大缓存阈值的选值调控至适合该主体程序系统,以将主体程序系统的运行性能调控至较佳状态。
需要说明的是,所述日志系统相当于在日志输出层加了一层异步输出层,并不会直接将所述日志生产线程生产的日志直接由所述日志消费线程进行输出消费。而是包装成一种日志任务放进所述日志队列中,其中,所述日志队列可为FIFO队列。
需要说明的是,所述最大缓存阈值的上限是受限制的,需要遵循预先对日志队列的最大缓存阈值定义最大上限值。举个例子,预先定义了所述日志队列的最大缓存阈值为所述主体程序系统的所有内存的十分之一,即所述最大缓存阈值不能超过所述主体程序系统的所有内存的十分之一。当然,最小值则为0,理想状态可为0,但一般不为0。
具体地,所述根据所述日志负荷量,实时更新所述最大缓存阈值,包括:
S201:将所述最大缓存阈值与日志负荷量进行比对,获取比对结果;
在本实施例中,所述将所述最大缓存阈值与日志负荷量进行比对是指将所述最大缓存阈值与日志负荷量做一个大小关系的计算,则比对结果存在三种,一种是所述最大缓存阈值大于所述日志负荷量,另一种是所述最大缓存阈值等于所述日志负荷量,最后一种是所述最大缓存阈值小于所述日志负荷量。每种比对结果对应的更新方式均不相同。更新方式也可为三种:调大所述最大缓存阈值、调小所述最大缓存阈值以及不调最大缓存阈值。
S202:根据所述比对结果,更新所述最大缓存阈值。
在本实施例中,所述日志系统根据比对结果对应设置有不同的更新方式,具体为:当所述最大缓存阈值大于所述日志负荷量,更新方式为调小所述最大缓存阈值;当所述最大缓存阈值等于所述日志负荷量,更新方式为不调所述最大缓存阈值;当所述最大缓存阈值小于所述日志负荷量,更新方式为调大所述最大缓存阈值。
具体地,当所述比对结果为所述日志负荷量大于或等于最大缓存阈值;则,
将所述最大缓存阈值与预先设定的第一负荷参数做乘积计算,获取第一最大负荷值,当所述第一最大负荷值小于或等于队列可用存储量,将所述第一最大负荷值赋值至所述最大缓存阈值,当所述第一最大负荷值大于队列可用存储量,将所述队列可用存储量赋值至所述最大缓存阈值。
其中,所述第一负荷参数为经验值,用户可根据具体需求设置所述经验值的大小。需要说明的是,所述队列可用存储量即为上述最大缓存阈值定义的最大上限值。例如,所述最大上限值为主体系统内存的十分之一。在一些优选实施例中,所述第一负荷参数取值为1.1。
当所述比对结果为所述日志负荷量小于最大缓存阈值时,则,
计算所述日志负荷量小于最大缓存阈值的持续时间;当所述持续时间大于预设时间时,将所述最大缓存阈值与预先设定的第二负荷参数做乘积计算,获取第二缓存值;将所述队列可用存储量与预先设定的权重系数作乘积计算,获取第三缓存值;判断所述第二缓存值与所述第三缓存值的大小;当所述第二缓存值大于所述第三缓存值,将所述第三缓存值赋值至所述最大缓存阈值;当所述第二缓存值小于或等于所述第三缓存值,将所述第二缓存值赋值至所述最大缓存阈值。
其中,所述第二负荷参数为经验值,用户可根据具体需求设置所述经验值的大小。需要说明的是,所述预设时间是用户自行定义的经验值。例如,所述预设时间为一分钟。在一些优选实施例中,所述第二负荷参数取值为0.9。
上述为日志系统的具体赋值过程,具体可带入计算公式进行演示。在一些优选实施例中,具体计算过程可为:
当所述比对结果为所述日志负荷量大于或等于最大缓存阈值时,定义所述最大缓存阈值为c_max,所述队列可用存储量为max,所述第一负荷参数为k,则:
K*c_max大于max时,c_max=max;
K*c_max小于或等于max时,c_max=K*c_max;
其中,K*c_max为第一缓存值,且K优选取值为1.1。
当所述比对结果为所述日志负荷量小于最大缓存阈值时,定义所述最大缓存阈值为c_max,所述队列可用存储量为max,所述第二负荷参数为P,所述权重系数为I,且所述持续时间大于预设时间时,则,
当P*c_max大于I*max时,c_max=I*max;
当P*c_max小于或等于I*max时,c_max=P*max。
其中,所述P*c_max为第二缓存值,所述I*max为第三缓存值,P优选值为0.9,I优选值为0.1。
在其他可能实施的实施例中,在所述根据所述比对结果,更新所述最大缓存阈值之前,所述调控方法还包括:
根据主体系统可用存储量,计算所述队列可用存储量。
其中,所述主体程序系统可用存储量是指当前主体程序系统可支配的最大内存量,所述队列可用存储量是指当前日志队列可支配的最大内存量。所述队列可用存储量属于主体程序系统可用存储量的一部分。
具体地,所述根据主体程序系统可用存储量,计算所述队列可用存储量,包括:
获取所述当前系统可用存储量;
将所述当前系统可用存储量与预设存储量参数做乘积计算,再与单位日志存储量做商计算,获取队列可用存储量。
其中,所述日志系统预先配置有所述预设存储量参数,且预先配置所述单位日志存储量,所述单位日志存储量是指一个日志占用内存的预估值。当获取到所述主体程序系统的可用存储量之后,将所述主体程序系统可用存储量与预设存储量参数做乘积计算,再与单位日志存储量做商计算,计算出的最终值即为所述队列可用存储量。换句话说,所述队列可用存储量即为所述日志队列的实际可用长度。更具体地,所述预设存储量参数的取值小于0.1,也即是说明,所述日志队列所占用内存,小于主体程序系统的可用内存的十分之一。
具体可用以下计算公式来演示:
max=d*a/s;
其中,所述max为所述日志队列的可用存储量,所述d为预设存储量参数,所述s为所述单位日志存储量,且d取值范围为小于0.1。
需要说明的是,有别于现有技术中常用的方式即是所述主体程序系统的执行线程与日志系统的消费线程对等,上述的该种日志输出方式相当于解偶了所述主体程序系统的执行线程与日志系统的消费线程,也即生产与消费相互独立,故主体程序系统的执行线程不会因为日志输出而堵塞。
如前所述,由于日志队列的长度(日志负荷量)是由日志负荷量的增长(包括负增长)速度,尤其是日志生产速度决定的,但队列增长的速度并不线性,而是当到达某一临界值就会迅速增长。因此,当生成速度>消费速度,日志系统处于膨胀状态,会产生如下效果:1.队列轻微膨胀,然后随着日志生成速度下降而变回低位。2.队列快速膨胀,达到所述日志负荷量触碰到所述日志队列的最大缓存阈值时,甚至最高值max。
作为一种可实现的方案,在一些可能实施的实施例中,当所述日志负荷量大于或等于最大缓存阈值(尤其是大于或等于所述日志队列的可用存储量)时,在所述将所述最大缓存阈值与预先设定的第一负荷参数做乘积计算,获取第一缓存值之前,所述调控方法还包括:
将所述日志系统切换至暂缓状态,其中,所述暂缓状态用于优化所述日志系统输出日志。
具体的,所述将所述日志系统切换至暂缓状态是指所述日志队列停止接受新增日志任务,直至日志负荷量低于所述最大缓存阈值,或者停止日志生产,直至日志负荷量低于所述最大缓存阈值。更具体的,
(1)暂停日志队列接收新增日志任务。也即当所述日志队列已经缓存满了之后,所述日志队列不再接收所述日志生产线程发送的日志任务,进而堵塞所述主体程序系统,此时等效于同步日志,直至所述日志负荷量低于所述最大缓存阈值时(优选所述日志负荷量低于所述最大缓存阈值与预先设定的第二负荷参数乘积),将日志系统切换至正常状态,即所述日志队列正常接收新的日志任务。此种方式系统运行性能也会相对降低,但能确保日志输出的完整性。
(2)暂停所述日志的生产。即当所述日志队列已经缓存满了之后,所述日志系统控制所述日志生产线程不再生产新的日志,防止堵塞所述主体程序系统,直至所述日志负荷量低于所述最大缓存阈值时(优选所述日志负荷量低于所述最大缓存阈值与预先设定的第二负荷参数乘积),将日志系统切换至正常状态,即所述日志生产线程正常生产新的日志任务。此种方式系统运行性能不受影响,但日志不完整,存在部分空白。
进一步地,为了尽可能降低日志系统输出日志不对所述主体程序的性能造成影响,则日志系统的消费线程尽可能少,因为日志系统本身就是系统级的中断操作,少量线程负荷运作即可发挥最高效率,同时线程少减少了竞争锁带来的性能损耗。
本申请发明人针对现有的日志系统,以及根据本案的调控方法改良后的日志系统(采用8消费线程与1消费线程方式),对500线程的HTTP容器进行时间为持续10分钟的压力测试,且重复20次,具体数据如下:
现有的日志系统产生日志数据平均值为2.79g;
改良后的8消费线程的日志系统产生日志数据平均值为6.57g;
改良后的1消费线程的日志系统产生日志数据平均值为6.42g。
根据上述数据可得出以下几点结论:
1.比较经改良后的日志系统相对于现有技术未改良的日志系统数据,日志产出多出了一倍,但日志不是凭空生成的,必定是服务器处理了多一倍的业务,才会多一倍的日志输出记录。因此,由于解决了日志的堵塞问题,日志系统性能得到显著提高,主体程序系统也因此得益。
2.比较8消费线程与1消费线程的改良后的日志系统输出日志平均量,可以得到改良后的1消费线程的日志系统结果相对较优,而消费线程的数量是日志系统的微调参数之一。最优地,所述消费线程数量为1,经测试此时磁盘日志输出效率为最高。
3.比较经改良后的日志系统相对于现有技术未改良的日志系统数据,明显可以看出改良后的日志队列实现了很好的自适应性功能,控制了日志系统在主体程序系统所占空间,避免内存溢出,以使日志系统得到较好的日志输出效率。
本实施方式与现有技术相比存在的有益效果是:预先配置日志队列的最大缓存阈值,其中,所述日志队列用于存储日志负荷量,所述日志负荷量是指消费日志与生产日志的差值,然后根据所述日志负荷量,实时更新所述最大缓存阈值,即根据当前日志负荷量的大小,实时的对最大缓存阈值进行赋值更新,将所述最大缓存阈值的选值至最优状态,以使日志系统能够进行自适应,提高日志系统输出日志的性能,优化系统性能。亦即日志队列的最大长度,也将在系统长时间运行之后,“学习”到一个最佳长度,既不占用太多系统内存,又做好了缓冲区的职责,提升主体程序的运行性能,同时降低了运维手工干预的主观性和工作复杂度,
对应于上文中的日志系统的调控方法实施例中所述的日志系统的调控方法,图3示出了本申请实施例一提供的规章制度文档的日志系统的调控装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图3,一种日志系统的调控装置300,所述调控装置300包括:
配置模块301,用于预先配置日志队列的最大缓存阈值,其中,所述日志队列用于存储日志负荷量,所述日志负荷量是指消费日志与生产日志的差值;
更新模块302,用于根据所述日志负荷量与所述最大缓存阈值的大小关系,实时更新所述最大缓存阈值。
可选地,所述更新模块302具体用于将所述最大缓存阈值与日志负荷量进行比对,获取比对结果;根据所述比对结果,更新所述最大缓存阈值。
可选地,所述更新模块302具体用于将所述最大缓存阈值与预先设定的第一负荷参数做乘积计算,获取第一缓存值;当所述第一缓存值小于或等于队列可用存储量,将所述第一缓存值赋值至所述最大缓存阈值;当所述第一缓存值大于队列可用存储量,将所述队列可用存储量赋值至所述最大缓存阈值。
可选的,所述更新模块302具体用于所述计算所述日志负荷量小于最大缓存阈值的持续时间;当所述持续时间大于预设时间时,将所述最大缓存阈值与预先设定的第二负荷参数做乘积计算,获取第二缓存值;将所述队列可用存储量与预先设定的权重系数作乘积计算,获取第三缓存值;判断所述第二缓存值与所述第三缓存值的大小;当所述第二缓存值大于所述第三缓存值,将所述第三缓存值赋值至所述最大缓存阈值;当所述第二缓存值小于或等于所述第三缓存值,将所述第二缓存值赋值至所述最大缓存阈值。
可选地,调控装置300还包括计算模块,用于根据主体程序系统的可用存储量,计算所述队列可用存储量。
可选地,所述计算模块具体用于获取所述主体程序系统可用存储量;将所述主体程序系统可用存储量与预设存储量参数做乘积计算,再与单位日志存储量做商计算,获取队列可用存储量。
可选地,调控装置300还包括切换模块,所述切换模块用于将所述日志系统切换至暂缓状态,其中,所述暂缓状态用于优化所述日志系统输出日志。
可选的,所述切换模块具体用于所述将所述日志系统切换至暂缓状态是指所述日志队列停止接受新增日志任务,直至日志负荷量低于所述最大缓存阈值,或者停止日志生产,直至日志负荷量低于所述最大缓存阈值。
需要说明的是,上述装置/模块之间的信息交互、执行过程等内容,由于与本申请日志系统的调控方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见日志系统的调控方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将所述调控装置300的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述中各功能模块的具体工作过程,可以参考前述日志系统的调控方法实施例中的对应过程,在此不再赘述。
图4是本申请实施例三提供的电子设备400的结构示意图。如图4所示,电子设备400包括:处理器402、存储器401以及存储在存储器401中并可在处理器402上运行的计算机程序403。处理器402的个数是至少一个,图4以一个为例。处理器402执行计算机程序403时实现上述日志系统的调控方法的实现步骤,即图1或者图2所示的步骤。
电子设备400的具体实现过程可以参见上文中的日志系统的调控方法实施例。
示例性的,计算机程序403可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在存储器401中,并由处理器402执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序403在终端设备400中的执行过程。
电子设备400可以是桌上型计算机、笔记本、掌上电脑、主控等计算设备,也可以是相机、手机等具有图像采集功能和数据处理功能的设备,还可以是触控显示设备。电子设备400可包括,但不仅限于,处理器以及存储器。本领域技术人员可以理解,图4仅是电子设备400的示例,并不构成对电子设备400的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如电子设备400还可以包括输入输出设备、网络接入设备、总线等。
处理器402可以是CPU(Central Processing Unit,中央处理单元),还可以是其他通用处理器、DSP(Digital Signal Processor,数字信号处理器)、ASIC(ApplicationSpecific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现成可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器401可以是电子设备400的内部存储单元,例如硬盘或内存。存储器401也可以是终端设备400的外部存储设备,例如电子设备400上配备的插接式硬盘、SMC(SmartMedia Card,智能存储卡)、SD卡(Secure Digital,安全数字卡)、Flash Card(闪存卡)等。进一步地,存储器401还可以既包括电子设备400的内部存储单元也包括外部存储设备。存储器401用于存储操作系统、应用程序、引导装载程序、数据以及其他程序等,例如所述计算机程序403的程序代码等。存储器401还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上文中的日志系统的调控方法实施例中的步骤。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述日志系统的调控方法实施例中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述日志系统的调控方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、ROM(Read-Only Memory,只读存储器)、RAM(RandomAccess Memory,随机存取存储器)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (11)

1.一种日志系统的调控方法,其特征在于,所述调控方法包括:
预先配置日志队列的最大缓存阈值,其中,所述日志队列用于存储日志负荷量,所述日志负荷量是指消费日志与生产日志的差值;
根据所述日志负荷量与所述最大缓存阈值的大小关系,实时更新所述最大缓存阈值。
2.根据权利要求1所述的调控方法,其特征在于,所述根据所述日志负荷量,实时更新所述最大缓存阈值,包括:
将所述最大缓存阈值与日志负荷量进行比对,获取比对结果;
根据所述比对结果,更新所述最大缓存阈值。
3.根据权利要求2所述的调控方法,其特征在于,所述比对结果为所述日志负荷量大于或等于最大缓存阈值;则,
所述根据所述比对结果,更新所述最大缓存阈值,包括:
将所述最大缓存阈值与预先设定的第一负荷参数做乘积计算,获取第一缓存值;
当所述第一缓存值小于或等于队列可用存储量,将所述第一缓存值赋值至所述最大缓存阈值;
当所述第一缓存值大于队列可用存储量,将所述队列可用存储量赋值至所述最大缓存阈值。
4.根据权利要求3所述的调控方法,其特征在于,所述比对结果为所述日志负荷量小于最大缓存阈值;则,
所述根据所述比对结果,实时更新所述最大缓存阈值,包括:
计算所述日志负荷量小于最大缓存阈值的持续时间;
当所述持续时间大于预设时间时,将所述最大缓存阈值与预先设定的第二负荷参数做乘积计算,获取第二缓存值;将所述队列可用存储量与预先设定的权重系数作乘积计算,获取第三缓存值;
判断所述第二缓存值与所述第三缓存值的大小;
当所述第二缓存值大于所述第三缓存值,将所述第三缓存值赋值至所述最大缓存阈值;
当所述第二缓存值小于或等于所述第三缓存值,将所述第二缓存值赋值至所述最大缓存阈值。
5.根据权利要求3所述的调控方法,其特征在于,在所述根据所述比对结果,更新所述最大缓存阈值之前,所述调控方法还包括:
根据主体程序系统的可用存储量,计算所述队列可用存储量。
6.如权利要求5所述的调控方法,其特征在于,所述根据主体程序系统可用存储量,计算所述队列可用存储量,包括:
获取所述主体程序系统可用存储量;
将所述主体程序系统可用存储量与预设存储量参数做乘积计算,再与单位日志存储量做商计算,获取队列可用存储量。
7.根据权利要求3至6中任意一个所述的调控方法,其特征在于,在所述将所述最大缓存阈值与预先设定的第一负荷参数做乘积计算,获取第一缓存值之前,所述调控方法还包括:
将所述日志系统切换至暂缓状态,其中,所述暂缓状态用于优化所述日志系统输出日志。
8.根据权利要求7所述的调控方法,其特征在于,所述将所述日志系统切换至暂缓状态是指所述日志队列停止接受新增日志任务,直至日志负荷量低于所述最大缓存阈值,或者停止日志生产,直至日志负荷量低于所述最大缓存阈值。
9.一种日志系统的调控装置,其特征在于,所述调控装置包括:
配置模块,用于预先配置日志队列的最大缓存阈值,其中,所述日志队列用于存储日志负荷量,所述日志负荷量是指消费日志与生产日志的差值;
更新模块,用于根据所述日志负荷量与所述最大缓存阈值的大小关系,实时更新所述最大缓存阈值。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-8任一项所述的日志系统的调控方法。
11.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1~8任一项所述的日志系统的调控方法。
CN202010557133.4A 2020-06-17 2020-06-17 一种日志系统的调控方法、装置、存储介质及电子设备 Active CN111858508B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010557133.4A CN111858508B (zh) 2020-06-17 2020-06-17 一种日志系统的调控方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010557133.4A CN111858508B (zh) 2020-06-17 2020-06-17 一种日志系统的调控方法、装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN111858508A true CN111858508A (zh) 2020-10-30
CN111858508B CN111858508B (zh) 2023-01-31

Family

ID=72986732

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010557133.4A Active CN111858508B (zh) 2020-06-17 2020-06-17 一种日志系统的调控方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN111858508B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734861A (en) * 1995-12-12 1998-03-31 International Business Machines Corporation Log-structured disk array with garbage collection regrouping of tracks to preserve seek affinity
CN104090848A (zh) * 2014-07-16 2014-10-08 云南大学 一种周期性大数据处理的内存管理方法及装置
CN104199729A (zh) * 2014-08-27 2014-12-10 深圳市九洲电器有限公司 一种资源管理方法及系统
CN104461845A (zh) * 2014-11-17 2015-03-25 中国航天科工集团第二研究院七〇六所 日志采集系统线池自适应方法
CN105677258A (zh) * 2016-02-23 2016-06-15 浪潮(北京)电子信息产业有限公司 一种日志数据管理方法及系统
WO2017000673A1 (zh) * 2015-06-29 2017-01-05 深圳市中兴微电子技术有限公司 一种共享缓存分配方法、装置及计算机存储介质
CN106504402A (zh) * 2016-11-08 2017-03-15 深圳怡化电脑股份有限公司 日志信息记录方法及装置
WO2018059361A1 (zh) * 2016-09-29 2018-04-05 华为技术有限公司 一种存储系统掉电保护方法、存储控制器及电子设备
CN108319543A (zh) * 2018-01-24 2018-07-24 广州江南科友科技股份有限公司 一种计算机日志数据的异步处理方法及其介质、系统
CN108509327A (zh) * 2018-04-20 2018-09-07 深圳市文鼎创数据科技有限公司 一种日志输出方法、装置、终端设备和存储介质
CN109492018A (zh) * 2018-09-12 2019-03-19 武汉达梦数据库有限公司 一种数据同步系统自适应动态调整方法和装置
CN110569123A (zh) * 2019-07-31 2019-12-13 苏宁云计算有限公司 线程分配方法、装置、计算机设备和存储介质
CN110674121A (zh) * 2019-08-22 2020-01-10 平安科技(深圳)有限公司 缓存数据清理方法、装置、设备及计算机可读存储介质

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734861A (en) * 1995-12-12 1998-03-31 International Business Machines Corporation Log-structured disk array with garbage collection regrouping of tracks to preserve seek affinity
CN104090848A (zh) * 2014-07-16 2014-10-08 云南大学 一种周期性大数据处理的内存管理方法及装置
CN104199729A (zh) * 2014-08-27 2014-12-10 深圳市九洲电器有限公司 一种资源管理方法及系统
CN104461845A (zh) * 2014-11-17 2015-03-25 中国航天科工集团第二研究院七〇六所 日志采集系统线池自适应方法
WO2017000673A1 (zh) * 2015-06-29 2017-01-05 深圳市中兴微电子技术有限公司 一种共享缓存分配方法、装置及计算机存储介质
CN105677258A (zh) * 2016-02-23 2016-06-15 浪潮(北京)电子信息产业有限公司 一种日志数据管理方法及系统
WO2018059361A1 (zh) * 2016-09-29 2018-04-05 华为技术有限公司 一种存储系统掉电保护方法、存储控制器及电子设备
CN106504402A (zh) * 2016-11-08 2017-03-15 深圳怡化电脑股份有限公司 日志信息记录方法及装置
CN108319543A (zh) * 2018-01-24 2018-07-24 广州江南科友科技股份有限公司 一种计算机日志数据的异步处理方法及其介质、系统
CN108509327A (zh) * 2018-04-20 2018-09-07 深圳市文鼎创数据科技有限公司 一种日志输出方法、装置、终端设备和存储介质
CN109492018A (zh) * 2018-09-12 2019-03-19 武汉达梦数据库有限公司 一种数据同步系统自适应动态调整方法和装置
CN110569123A (zh) * 2019-07-31 2019-12-13 苏宁云计算有限公司 线程分配方法、装置、计算机设备和存储介质
CN110674121A (zh) * 2019-08-22 2020-01-10 平安科技(深圳)有限公司 缓存数据清理方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN111858508B (zh) 2023-01-31

Similar Documents

Publication Publication Date Title
CN111813513B (zh) 基于分布式的实时任务调度方法、装置、设备及介质
CN111352861A (zh) 内存压缩方法、装置及电子设备
CN110795238B (zh) 负载计算方法、装置、存储介质及电子设备
CN115794337B (zh) 资源调度方法、装置、云平台、设备及存储介质
CN112486642B (zh) 资源调度方法、装置、电子设备及计算机可读存储介质
US20060069832A1 (en) Information processing apparatus and method and program
CN109726007B (zh) 一种容器编排配额管理方法和装置、及容器编排系统
CN111538678A (zh) 数据缓冲方法、设备及计算机可读存储介质
CN114153614A (zh) 内存管理方法、装置、电子设备和自动驾驶车辆
CN110795323A (zh) 负载统计方法、装置、存储介质及电子设备
CN114492834A (zh) 训练方法、训练装置、设备、系统及存储介质
CN111858508B (zh) 一种日志系统的调控方法、装置、存储介质及电子设备
CN113961353A (zh) 一种ai任务的任务处理方法和分布式系统
CN110728372B (zh) 一种人工智能模型动态加载的集群设计方法及集群系统
CN112887407A (zh) 用于分布式集群的作业流量控制方法和装置
CN116450290A (zh) 计算机资源的管理方法、装置、云服务器及存储介质
CN114116220A (zh) 一种gpu共享控制方法、gpu共享控制装置及存储介质
CN113971082A (zh) 任务调度方法、装置、设备、介质及产品
CN113971083A (zh) 任务调度方法、装置、设备、介质及产品
CN113377295A (zh) 多生产者单消费者的数据存储和读取方法、装置、设备
CN114153592A (zh) 云平台的物理主机负载调度方法、装置、电子设备及介质
CN113641476A (zh) 一种任务调度方法、游戏引擎、设备及存储介质
WO2020121614A1 (ja) 産業用コントローラ
CN110955644A (zh) 一种存储系统的io控制方法、装置、设备及存储介质
CN114816766B (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