一种系统日志的控制方法和装置制造方法

文档序号:6537920阅读:97来源:国知局
一种系统日志的控制方法和装置制造方法
【专利摘要】本发明提供了一种系统日志的控制方法和装置,以解决大量的日志消息导致系统的负荷进一步升高,消耗较多内存资源的问题。其中,所述系统日志所在的系统包括至少一个功能模块和日志任务消息队列,所述方法包括:接收所述系统中各个功能模块发送的日志消息;监控所述系统的负荷状态;当所述系统的负荷大于预设的流控阈值时,降低发送至所述日志任务消息队列的日志消息的数量。本发明可以避免在系统的负荷较高时,大量的日志消息导致系统的负荷进一步升高,消耗较多的内存资源的问题。
【专利说明】一种系统日志的控制方法和装置
【技术领域】
[0001]本发明涉及日志控制【技术领域】,特别是涉及一种系统日志的控制方法和装置。
【背景技术】
[0002]系统日志是系统运行过程中各功能模块用来记录关键信息(例如,关键的流程、状态、消息等)的一种方式,系统中的各个功能模块在系统运行过程中可以根据需要将其关键信息记录到系统日志中,从而作为一种事后分析问题的有效手段。
[0003]在目前的系统日志管理过程中,各个功能模块通过发送日志消息将日志内容(包括关键信息)发送到日志任务的消息队列中,再由日志任务从消息队列中读取出相应的日志消息,并写入到日志文件中。
[0004]但是上述方法中,当系统的负荷较高时,如果此时有大量的日志消息需求,则会导致系统的负荷进一步升高,从而影响系统的运行;另外,由于日志任务的处理过程涉及到效率较低的I/o (Input/Output,输入/输出)操作,任务的优先级较低,因此还会导致日志消息大量累积到系统缓冲区,从而会消耗较多的内存资源。

【发明内容】

[0005]本发明提供一种系统日志的控制方法和装置,以解决当系统的负荷较高时,大量的日志消息导致系统的负荷进一步升高,并且消耗较多的内存资源的问题。
[0006]为了解决上述问题,本发明公开了一种系统日志的控制方法,其特征在于,所述系统日志所在的系统包括至少一个功能模块和日志任务消息队列,所述方法包括:
[0007]接收所述系统中各个功能模块发送的日志消息;
[0008]监控所述系统的负荷状态;
[0009]当所述系统的负荷大于预设的流控阈值时,降低发送至所述日志任务消息队列的日志消息的数量。
[0010]优选地,所述降低发送至所述日志任务消息队列的日志消息的数量的步骤包括:
[0011]采用整体控制方式降低发送至所述日志任务消息队列的日志消息的数量;
[0012]和/ 或,
[0013]采用均衡控制方式降低发送至所述日志任务消息队列的日志消息的数量;
[0014]和/ 或,
[0015]采用模块控制方式降低发送至所述日志任务消息队列的日志消息的数量;
[0016]和/ 或,
[0017]采用精细控制方式降低发送至所述日志任务消息队列的日志消息的数量。
[0018]优选地,所述采用整体控制方式降低发送至所述日志任务消息队列的日志消息的数量的步骤包括:
[0019]将所述系统的负荷与预设的流控上限和流控下限进行比较;
[0020]若所述系统的负荷大于预设的流控上限,则判断当前的日志记录状态;[0021]若为开启状态,则修改为关闭状态,舍弃所述各个功能模块发送的日志消息;
[0022]若所述系统的负荷小于预设的流控下限,则判断当前的日志记录状态;
[0023]若为关闭状态,则修改为开启状态,将所述各个功能模块发送的日志消息发送至所述日志任务消息队列。
[0024]优选地,所述系统还包括多个令牌,所述令牌的状态包括空闲状态和占用状态,所述采用均衡控制方式降低发送至所述日志任务消息队列的日志消息的数量的步骤包括:
[0025]获取所述系统中处于空闲状态的令牌数量;
[0026]从所述日志消息中选取与所述处于空闲状态的令牌数量相同数量的日志消息;
[0027]将选取的日志消息发送至所述日志任务消息队列,将剩余的日志消息进行缓存。
[0028]优选地,所述日志消息包括发送时间,
[0029]所述从所述日志消息中选取与所述处于空闲状态的令牌数量相同数量的日志消息的步骤包括:
[0030]按照所述发送时间的先后顺序对所述日志消息进行排序;
[0031]从排序后的第一个日志消息开始,选取与所述处于空闲状态的令牌数量相同数量的曰志消息。
[0032]优选地,所述采用模块控制方式降低发送至所述日志任务消息队列的日志消息的数量的步骤包括:
[0033]分别统计预设的单位时间内所述各个功能模块发送的日志消息的数量;
[0034]若某个功能模块发送的日志消息的数量大于预设的数量阈值,则舍弃该功能模块发送的日志消息,将剩余的日志消息发送至所述日志任务消息队列。
[0035]优选地,所述日志消息包括发送该日志消息的功能模块标识,
[0036]所述分别统计预设的单位时间内所述各个功能模块发送的日志消息的数量的步骤包括:
[0037]分别统计预设的单位时间内包括同一功能模块标识的日志消息的数量,将所述数量作为所述同一功能模块标识对应的功能模块发送的日志消息的数量;
[0038]所述舍弃该功能模块发送的日志消息的步骤包括:
[0039]舍弃包括该功能模块标识的日志消息。
[0040]优选地,所述采用精细控制方式降低发送至所述日志任务消息队列的日志消息的数量的步骤包括:
[0041]判断预设的单位时间内所述各个功能模块发送的日志消息中是否存在重复的日志消息;
[0042]若存在,则从所述重复的日志消息中选取一个或多个日志消息;
[0043]舍弃所述重复的日志消息中未被选取的日志消息,将被选取的日志消息和剩余没有重复的日志消息发送至所述日志任务消息队列。
[0044]优选地,所述日志消息包括文件名和行号,
[0045]所述判断预设的单位时间内所述各个功能模块发送的日志消息中是否存在重复的日志消息的步骤包括:
[0046]分别获取预设的单位时间内所述各个功能模块发送的日志消息包括的文件名和行号;[0047]判断是否存在包括的文件名和行号相同的日志消息;
[0048]若存在,则确定预设的单位时间内所述各个功能模块发送的日志消息中存在重复的日志消息,并确定包括的文件名和行号相同的日志消息为重复的日志消息。
[0049]另一方面,本发明还公开了一种系统日志的控制装置,其特征在于,所述系统日志所在的系统包括至少一个功能模块和日志任务消息队列,所述装置包括:
[0050]接收模块,用于接收所述系统中各个功能模块发送的日志消息;
[0051]监控模块,用于监控所述系统的负荷状态;
[0052]降低模块,用于当所述监控模块监控到所述系统的负荷大于预设的流控阈值时,降低发送至所述日志任务消息队列的日志消息的数量。
[0053]优选地,所述降低模块包括:
[0054]整体控制子模块,用于采用整体控制方式降低发送至所述日志任务消息队列的日志消息的数量;
[0055]和/ 或,
[0056]均衡控制子模块,用于采用均衡控制方式降低发送至所述日志任务消息队列的日志消息的数量;
[0057]和/ 或,
[0058]模块控制子模块,用于采用模块控制方式降低发送至所述日志任务消息队列的日志消息的数量;
[0059]和/ 或,
[0060]精细控制子模块,用于采用精细控制方式降低发送至所述日志任务消息队列的日志消息的数量。
[0061]优选地,所述整体控制子模块包括:
[0062]比较子单元,用于将所述系统的负荷与预设的流控上限和流控下限进行比较;
[0063]第一判断子单元,用于当所述比较子单元的比较结果为所述系统的负荷大于预设的流控上限时,判断当前的日志记录状态;
[0064]第一修改子单元,用于当所述第一判断子单元的判断结果为开启状态时,修改为关闭状态,舍弃所述各个功能模块发送的日志消息;
[0065]第二判断子单元,用于当所述比较子单元的比较结果为所述系统的负荷小于预设的流控下限时,判断当前的日志记录状态;
[0066]第二修改子单元,用于当所述第二判断子单元的判断结果为关闭状态时,修改为开启状态,将所述各个功能模块发送的日志消息发送至所述日志任务消息队列。
[0067]优选地,所述系统还包括多个令牌,所述令牌的状态包括空闲状态和占用状态,
[0068]所述均衡控制子模块包括:
[0069]令牌获取子单元,用于获取所述系统中处于空闲状态的令牌数量;
[0070]第一选取子单元,用于从所述日志消息中选取与所述处于空闲状态的令牌数量相同数量的日志消息;
[0071]第一发送子单元,用于将选取的日志消息发送至所述日志任务消息队列;
[0072]缓存子单元,用于将剩余的日志消息进行缓存。
[0073]优选地,所述日志消息包括发送时间,[0074]所述第一选取子单元,具体用于按照所述发送时间的先后顺序对所述日志消息进行排序;从排序后的第一个日志消息开始,选取与所述处于空闲状态的令牌数量相同数量的曰志消息。
[0075]优选地,所述模块控制子模块包括:
[0076]统计子单元,用于分别统计预设的单位时间内所述各个功能模块发送的日志消息的数量;
[0077]第二发送子单元,用于当所述统计子单元统计出某个功能模块发送的日志消息的数量大于预设的数量阈值时,舍弃该功能模块发送的日志消息,将剩余的日志消息发送至所述日志任务消息队列。
[0078]优选地,所述日志消息包括发送该日志消息的功能模块标识,
[0079]所述统计子单元,具体用于分别统计预设的单位时间内包括同一功能模块标识的日志消息的数量,将所述数量作为所述同一功能模块标识对应的功能模块发送的日志消息的数量;
[0080]所述第二发送子单元,具体用于舍弃包括该功能模块标识的日志消息。
[0081]优选地,所述精细控制子模块包括:
[0082]重复判断子单元,用于判断预设的单位时间内所述各个功能模块发送的日志消息中是否存在重复的日志消息;
[0083]第二选取子单元,用于在所述重复判断子单元的判断结果为存在时,从所述重复的日志消息中选取一个或多个日志消息;
[0084]第三发送子单元,用于舍弃所述重复的日志消息中未被选取的日志消息,将被选取的日志消息和剩余没有重复的日志消息发送至所述日志任务消息队列。
[0085]优选地,所述日志消息包括文件名和行号,
[0086]所述重复判断子单元,具体用于分别获取预设的单位时间内所述各个功能模块发送的日志消息包括的文件名和行号;判断是否存在包括的文件名和行号相同的日志消息;若存在,则确定预设的单位时间内所述各个功能模块发送的日志消息中存在重复的日志消息,并确定包括的文件名和行号相同的日志消息为重复的日志消息。
[0087]与现有技术相比,本发明包括以下优点:
[0088]本发明中可以对系统的负荷状态进行监控,在接收所述系统中各个功能模块发送的日志消息之后,如果当前系统的负荷大于预设的流控阈值,则可以降低发送至所述日志任务消息队列的日志消息的数量。由于降低了发送的日志消息的数量,因此可以避免在系统的负荷较高时,大量的日志消息导致系统的负荷进一步升高,消耗较多的内存资源的问题。
【专利附图】

【附图说明】
[0089]图1是本发明的一种系统日志所在的系统的示意图;
[0090]图2是本发明实施例一的一种系统日志的控制方法的流程图;
[0091]图3是本发明实施例二的一种系统日志的控制方法的流程图;
[0092]图4是本发明实施例三的一种系统日志的控制装置的结构框图。【具体实施方式】
[0093]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本发明作进一步详细的说明。
[0094]为了解决当系统的负荷较高时,大量的日志消息导致系统的负荷进一步升高,并且消耗较多的内存资源的问题,本发明提出了一种通过进行日志数量控制以对系统日志进行控制的方式。
[0095]参照图1,示出了本发明一种系统日志所在的系统的示意图,根据图1,该系统可以包括多个功能模块(功能模块I,功能模块2,...,功能模块N)、日志数量控制模块和日志任务管理模块,其中所述日志任务管理模块中可以包括日志任务消息队列。
[0096]在目前的系统日志管理过程中,各个功能模块是直接将包括日志内容(包括关键信息)的日志消息发送到日志任务管理模块的日志任务消息队列中,再由日志任务管理模块从日志任务消息队列中读取出相应的日志消息,并写入到日志文件中,因此大量的日志消息将会导致系统负荷上升,消耗较多的内存资源。
[0097]图1所示的系统中,增加了日志数量控制模块对发送给日志任务管理模块的日志消息的数量进行控制。首先,各个功能模块可以通过异步消息的方式将日志消息发送到日志数量控制模块,日志数量控制模块根据实际情况对日志消息的数量进行控制,然后再由日志数量控制模块将日志消息发送至日志任务管理模块的日志任务消息队列中。
[0098]下面,通过以下各个实施例对一种系统日志的控制方法和装置进行说明,下述的多个实施例均可以在上述系统日志所在的系统的基础上实现。
[0099]实施例一:
[0100]参照图2,示出了本发明实施例一的一种系统日志的控制方法的流程图,该方法具体可以包括以下步骤:
[0101]步骤201,接收所述系统中各个功能模块发送的日志消息。
[0102]步骤202,监控所述系统的负荷状态。
[0103]步骤203,当所述系统的负荷大于预设的流控阈值时,降低发送至所述日志任务消息队列的日志消息的数量。
[0104]上述步骤201-步骤203均可以为图1中的日志数量控制模块所执行的功能,对于所述系统的负荷状态,可以实时进行监控,也可以定期进行监控。如果判断出所述系统的负荷小于或等于预设的流控阈值,则可以说明暂时无需对日志消息的数量进行控制,因此可以直接将所接收到的各个功能模块发送的日志消息发送至日志任务消息队列中;如果判断出所述系统的负荷大于预设的流控阈值,则可以说明此时的日志消息会造成系统负荷进一步上升,影响系统的性能,因此可以降低发送至所述日志任务消息队列的日志消息的数量,从而避免对系统的负荷造成较大的冲击。
[0105]实施例二:
[0106]下面,通过本实施例二对系统日志的控制方法进行详细介绍。
[0107]参照图3,示出了本发明实施例二的一种系统日志的控制方法的流程图,该方法具体可以包括以下步骤:
[0108]步骤301,接收所述系统中各个功能模块发送的日志消息。
[0109]系统日志是系统运行过程中各功能模块用来记录关键信息(例如,关键的流程、状态、消息等)的一种方式。在系统运行过程中,系统中的各个功能模块可以根据需要将自身的关键信息记录到系统日志中,从而作为一种事后分析问题的有效手段。各个功能模块可以将要记录的关键信息等日志内容以日志消息的形式进行发送。
[0110]步骤302,监控所述系统的负荷状态。
[0111]本发明实施例中,所述监控可以为实时监控,也可以为定期监控,对于定期监控的周期,本领域技术人员根据实际经验进行相关设置即可,例如设置为5s,本发明实施例对此并不加以限制。
[0112]其中,所述系统的负荷状态可以根据系统的CPU (Central ProcessingUnit,中央处理单元)占用率、或者系统的消息缓冲区占用率等参数确定。例如,可以获取系统当前的CPU占用率,并将所述(PU占用率作为系统当前的负荷;或者获取系统当前的消息缓冲区占用率,并将所述消息缓冲区占用率作为系统当前的负荷。当然,还可以结合CPU占用率和消息缓冲区占用率两者来确定系统的负荷状态,或者还可以通过系统中的其他性能参数确定系统的负荷状态,本发明实施例对此并不加以限制。
[0113]步骤303,判断所述系统的负荷是否大于预设的流控阈值。
[0114]在确定系统的当前负荷状态之后,可以根据系统的负荷状态对发送至日志任务消息队列的日志消息的数量进行控制。因此,首先可以判断所述系统的负荷是否大于预设的流控阈值,若是,则执行步骤304 ;若否,则执行步骤305。
[0115]对于所述流控阈值,本领域技术人员根据实际经验进行相关设置即可,例如设置所述流控阈值为70%,等等,本发明实施例对此并不加以限制。
[0116]步骤304,降低发送至所述日志任务消息队列的日志消息的数量。
[0117]如果判断出所述系统的负荷大于预设的流控阈值,则可以说明此时系统负荷较高,如果再有大量的日志消息发送至日志任务消息队列,则将会导致系统负荷进一步提升,消耗较多的内存资源。因此,在该种情况下,本发明实施例中可以降低发送至所述日志任务消息队列的日志消息的数量,以减轻对系统负荷造成的冲击。
[0118]在本发明的一种优选实施例中,该步骤304可以包括:采用整体控制方式降低发送至所述日志任务消息队列的日志消息的数量;和/或,采用均衡控制方式降低发送至所述日志任务消息队列的日志消息的数量;和/或,采用模块控制方式降低发送至所述日志任务消息队列的日志消息的数量;和/或,采用精细控制方式降低发送至所述日志任务消息队列的日志消息的数量。也即,该步骤304中可以从上述整体控制方式、均衡控制方式、模块控制方式和精细控制方式中选择任何一种、或者选择其中的任意两种方式结合、或者选择其中的任意三种方式结合、或者选择全部四种方式结合,完成降低发送至所述日志任务消息队列的日志消息的数量的过程。
[0119]下面,分别对上述四种控制方式进行介绍。
[0120]1、整体控制方式
[0121]本发明实施例中,采用整体控制方式降低发送至所述日志任务消息队列的日志消息的数量的步骤具体可以包括以下子步骤:
[0122]子步骤al,将所述系统的负荷与预设的流控上限和流控下限进行比较;
[0123]本发明实施例中,可以预先设置一个流控上限和一个流控下限,用于控制是否要向日志任务消息队列发送日志消息。为了保证系统负荷更加均衡,上述流控上限和流控下限两个数值之间具有一定间隔,即设置一定的缓冲区,当系统负荷位于缓冲区时,将保持当前的状态。例如,可以设置流控上限为80%,流控下限为60%,则60%-80%之间即为缓冲区。
[0124]若所述系统的负荷大于预设的流控上限,则执行子步骤a2 ;若所述系统的负荷小于预设的流控下限,则执行子步骤a4 ;若所述系统的负荷大于或等于预设的流控下限,并且小于或等于预设的流控上限,则执行子步骤a6。
[0125]在本发明的一种优选实施例中,还可以在上述日志数量控制模块中设置一个日志记录状态,其可以包括开启状态和关闭状态,当日志记录状态为开启状态时,表示允许将各个功能模块发送的日志消息发送至日志任务消息队列中,当日志记录状态为关闭状态时,表示不允许将将各个功能模块发送的日志消息发送至日志任务消息队列中,因此可以根据该日志记录状态控制是否向日志任务消息队列发送日志消息。
[0126]子步骤a2,判断当前的日志记录状态;
[0127]当所述系统的负荷大于预设的流控上限时,则可以说明此时的系统负荷较为紧张,因此在该种情况下,将屏蔽各个功能模块发送的日志消息。由于对系统负荷状态的监控是实时或定期进行的,因此在本次处理之前可能已经对日志记录状态进行了修改。因此,本发明实施例中可以首先判断当前的日志记录状态,如果为开启状态,则执行子步骤a3;如果为关闭状态,则执行子步骤a6。
[0128]子步骤a3,修改为关闭状态,舍弃所述各个功能模块发送的日志消息;
[0129]如果在所述系统的负荷大于预设的流控上限,并且当前的日志记录状态为开启状态,此时则要将所述日志记录状态修改为关闭状态,舍弃所述各个功能模块发送的日志消息,即拒绝将所述各个功能模块发送的日志消息发送至日志任务消息队列中。
[0130]子步骤a4,判断当前的日志记录状态;
[0131]当所述系统的负荷小于预设的流控下限时,则可以说明此时的系统负荷较为空闲,因此在该种情况下,可以将各个功能模块发送的日志消息发送至日志任务消息队列中。首先可以判断当前的日志记录状态,如果为关闭状态,则执行子步骤a5 ;如果为开启状态,则执行子步骤a6。
[0132]子步骤a5,修改为开启状态,将所述各个功能模块发送的日志消息发送至所述日志任务消息队列。
[0133]如果在所述系统的负荷小于预设的流控下限,并且当前的日志记录状态为关闭状态时,此时则要将所述日志记录状态修改为开启状态,并将所述各个功能模块发送的日志消息发送至所述日志任务消息队列。
[0134]子步骤a6,保持当前的日志记录状态。
[0135]如果在子步骤al中判断出所述系统的负荷大于或等于预设的流控下限,并且小于或等于预设的流控上限,则可以保持当前的日志记录状态。如果当前的日志记录状态为开启状态,则将所述各个功能模块发送的日志消息发送至所述日志任务消息队列;如果当前的日志记录状态为关闭状态,则舍弃所述各个功能模块发送的日志消息。
[0136]如果在子步骤a2中判断出当前的日志记录状态为关闭状态,则可以保持日志记录状态为关闭状态,舍弃所述各个功能模块发送的日志消息,即拒绝将所述各个功能模块发送的日志消息发送至日志任务消息队列中。
[0137]如果在子步骤a4中判断出当前的日志记录状态为开启状态,则可以保持日志记录状态为开启状态,并将所述各个功能模块发送的日志消息发送至日志任务消息队列中。
[0138]通过整体控制方式,可以在系统的负荷很高时(即大于流量上限时),停止向日志任务消息队列发送日志消息,即将发送至所述日志任务消息队列的日志消息的数量降低至零,从而减轻系统的负担。
[0139]2、均衡控制方式
[0140]本发明实施例中,采用均衡控制方式降低发送至所述日志任务消息队列的日志消息的数量的步骤具体可以包括以下子步骤:
[0141]子步骤bl,获取系统中处于空闲状态的令牌数量;
[0142]令牌是一种能够控制节点占有媒体的特殊帧,以区别数据帧及其他控制帧。令牌法又称为许可证法,令牌法的基本思想是:一个独特称为令牌的标志信息(一位或多位二进制数字组成的码)从一个节点发送到另一个节点,只有获得令牌的节点才有权发送信息包。当一个节点准备发送信息包时,首先要等待令牌的到来,当检测到一个经过他的令牌为空闲状态的令牌时,即可以俘获该令牌,并将该令牌的状态设置为占用状态,然后以“帧”为单位向目标节点发送信息;信息随令牌至目标节点后,目标节点将信息复制,令牌继续环行返回到发送节点,这时发送站点才将俘获的令牌释放,令牌重新成为空闲状态。如果所有令牌均为占用状态,此时希望发送信息的节点将要等待空闲状态令牌的出现。
[0143]在所述系统日志所在的系统中还可以包括多个令牌,所述令牌的状态可以包括空闲状态和占用状态两种。本发明实施例中,可以依据令牌对发送至所述日志任务消息队列的日志消息的数量进行控制。首先,可以获取所述系统中处于空闲状态的令牌数量,根据该令牌数量进行控制。
[0144]需要说明的是,在上述子步骤bl之前,还可以判断系统中是否存在处于空闲状态的令牌,如果存在,则执行子步骤bl,如果不存在,则暂时不做处理(即暂时停止向日志任务消息队列发送日志消息),直至存在处于空闲状态的令牌时执行子步骤bl。
[0145]子步骤b2,从所述日志消息中选取与所述处于空闲状态的令牌数量相同数量的日志消息;
[0146]在获取到系统中处于空闲状态的令牌数量之后,即可按照该令牌的数量向日志任务消息队列发送日志消息。具体可以从所述日志消息中选取与所述处于空闲状态的令牌数量相同数量的日志消息。
[0147]在本发明的一种优选实施例中,所述日志消息除了包括日志内容之外,还可以包括该日志消息的发送时间,因此本发明实施例中可以按照所述日志消息的发送时间从所述日志消息中选取与所述处于空闲状态的令牌数量相同数量的日志消息。因此,该子步骤b2具体可以包括:按照所述发送时间的先后顺序对所述日志消息进行排序;从排序后的第一个日志消息开始,选取与所述处于空闲状态的令牌数量相同数量的日志消息。
[0148]当然,还可以采用其他信息从所述日志消息中选取与所述处于空闲状态的令牌数量相同数量的日志消息,本发明实施例对此并不加以限制。例如,还可以预先为每个日志消息设置优先级,在所述日志消息中还可以包括该日志消息对应的优先级,在此种情况下,该子步骤b2具体可以包括:按照所述优先级的高低顺序对所述日志消息进行排序;从排序后的第一个日志消息开始,选取与所述处于空闲状态的令牌数量相同数量的日志消息。
[0149]子步骤b3,将选取的日志消息发送至所述日志任务消息队列,将剩余的日志消息进行缓存。
[0150]在从所述日志消息中选取与所述处于空闲状态的令牌数量相同数量的日志消息之后,即可将选取的日志消息通过所述处于空闲状态的令牌发送至所述日志任务消息队列,并将剩余的日志消息进行缓存。
[0151]在将选取的日志消息通过处于空闲状态的令牌成功发送至所述日志任务消息队列之后,将释放该日志消息所占用的令牌,即该日志消息所占用的令牌将从占用状态转换为空闲状态。对于排序后缓存的剩余日志消息,将等待成功发送至日志任务消息队列的日志消息所释放的令牌,通过被释放后处于空闲状态的令牌发送至日志任务消息队列。
[0152]上述子步骤bl-子步骤b3可以循环执行,即在子步骤b3执行完之后,可以返回步骤bl获取系统中处于空闲状态的令牌数量,如果此时存在空闲状态的令牌,则可以从缓存的日志消息中选取与当前处于空闲状态的令牌数量相同数量的日志消息(该选取过程可以参照上述子步骤b2),最后将选取的日志消息通过所述处于空闲状态的令牌发送至所述日志任务消息队列。
[0153]通过均衡控制方式,可以在系统的负荷较高时(即大于预设的流量阈值时),通过将发送至所述日志任务消息队列的日志消息的数量降低至与系统中处于空闲状态的令牌数量相同,从而保证日志记录的均衡,减轻系统的负担。
[0154]3、模块控制方式
[0155]本发明实施例中,采用模块控制方式降低发送至所述日志任务消息队列的日志消息的数量的步骤具体可以包括以下子步骤:
[0156]子步骤Cl,分别统计预设的单位时间内所述各个功能模块发送的日志消息的数量;
[0157]本发明实施例中,由于各个功能模块发送的日志消息的数量不均衡,因此还可以采用模块控制,例如只对发送的日志消息较多的功能模块进行流控,而不会影响其他功能模块。
[0158]随着系统的运行,各个功能模块发送的日志消息的数量将会累积,因此在本发明实施例中,统计单位时间内的各个功能模块发送的日志消息的数量是为了找到发送日志消息频率最高的功能模块,如果该功能模块在单位时间内发送的日志消息数量大于预设的数量阈值则舍弃该功能模块发送的日志消息。对于所述单位时间的具体数值,本领域技术人员根据具体系统进行调整设置即可,例如可以设置所述单位时间为10分钟、30分钟、I小时等等,本发明实施例对此并不加以限制。
[0159]首先,可以分别统计预设的单位时间内所述各个功能模块发送的日志消息的数量。在本发明的一种优选实施例中,所述日志消息还可以包括发送该日志消息的功能模块标识,因此,该子步骤Cl具体可以包括:分别统计预设的单位时间内包括同一功能模块标识的日志消息的数量,将所述数量作为所述同一功能模块标识对应的功能模块发送的日志消息的数量。
[0160]例如,所述系统中包括3个功能模块,其标识分别为1、2、3,则可以分别统计预设的单位时间内包括标识1、标识2、标识3的日志消息的数量,将包括标识I的日志消息的数量作为功能模块I发送的日志消息的数量,将包括标识2的日志消息的数量作为功能模块2发送的日志消息的数量,将包括标识3的日志消息的数量作为功能模块3发送的日志消息的数量,等等。
[0161]需要说明的是,为了统计单位时间内各个功能模块发送的日志消息的数量,还可以在图1所示的日志数量控制模块中设置一个计时器,可以统计从计时开始到时间到达预设的单位时间时,这一单位时间内各个功能模块发送的日志消息的数量,对于具体的过程,本发明实施例在此不再详细论述。
[0162]子步骤c2,若某个功能模块发送的日志消息的数量大于预设的数量阈值,则舍弃该功能模块发送的日志消息,将剩余的日志消息发送至所述日志任务消息队列。
[0163]本发明实施例中,可以预先设置一个数量阈值,并将上述统计的预设的单位时间内各个功能模块发送的日志消息的数量分别与所述数量阈值进行比较,如果某个功能模块发送的日志消息的数量大于预设的数量阈值,则可以说明该功能模块在预设的单位时间内发送的日志消息较多,在该种情况下可以舍弃该功能模块发送的日志消息,并将剩余的日志消息发送至所述日志任务消息队列,所述剩余的日志消息即为其它发送的日志消息的数量小于或等于预设的数量阈值的功能模块发送的日志消息。其中,舍弃该功能模块发送的日志消息的步骤具体可以包括:舍弃包括该功能模块标识的日志消息。上述过程中,如果存在多个功能模块在预设的单位时间内发送的日志消息的数量大于预设的数量阈值,则可以舍弃该多个功能模块发送的日志消息。
[0164]本发明实施例中,该子步骤c2还可以采用其他的方式舍弃某个或某几个功能模块发送的日志消息。例如,在子步骤Cl中分别统计预设的单位时间内所述各个功能模块发送的日志消息的数量之后,还可以从其中选取发送的日志消息的数量最多的一个或几个功能模块,并舍弃该一个或几个功能模块发送的日志消息,然后将剩余的日志消息发送至所述日志任务消息队列。
[0165]对于上述数量阈值的具体数值,以及具体舍弃几个功能模块发送的日志消息,本领域技术人员根据实际经验进行相关设定即可,例如可以根据当前系统负荷的具体情况进行设定,如果系统负荷较高,则将数量阈值设置为较低的值,将舍弃的个数设置为较多的个数,如果系统负荷较低,则将数量阈值设置为较高的值,将舍弃的个数设置为较少的个数,等等,本发明实施例对此并不加以限制。
[0166]通过模块控制方式,可以在系统的负荷较高时(即大于预设的流量阈值时),通过舍弃某些功能模块发送的日志消息,可以降低发送至所述日志任务消息队列的日志消息的数量,从而减轻系统的负担。
[0167]4、精细控制方式
[0168]本发明实施例中,采用精细控制方式降低发送至所述日志任务消息队列的日志消息的数量的步骤具体可以包括以下子步骤:
[0169]子步骤dl,判断预设的单位时间内所述各个功能模块发送的日志消息中是否存在重复的日志消息;
[0170]系统在运行过程中根据业务可能有大量重复的日志消息,根据系统负荷情况可以选择对这种重复的日志消息进行流控。首先可以判断预设的单位时间内所述各个功能模块发送的日志消息中是否存在重复的日志消息,若存在,则执行子步骤d2,若不存在,则不作处理。
[0171]随着系统的运行,各个功能模块发送的日志消息中存在重复的日志消息的可能性比较大,因此在本发明实施例中,判断预设的单位时间内各个功能模块发送的日志消息中是否存在重复的日志消息是为了减少重复的日志消息。同样的,对于所述单位时间的具体数值,本领域技术人员根据具体系统进行调整设置即可,例如可以设置所述单位时间为10分钟、30分钟、I小时等等,本发明实施例对此并不加以限制。
[0172]在本发明的一种优选实施例中,所述日志消息还可以包括文件名和行号,因此,该子步骤dl具体可以包括:分别获取预设的单位时间内所述各个功能模块发送的日志消息包括的文件名和行号;判断是否存在包括的文件名和行号相同的日志消息;若存在,则确定预设的单位时间内所述各个功能模块发送的日志消息中存在重复的日志消息,并确定包括的文件名和行号相同的日志消息为重复的日志消息;若不存在,则确定预设的单位时间内所述各个功能模块发送的日志消息中不存在重复的日志消息。
[0173]需要说明的是,为了判断预设的单位时间内所述各个功能模块发送的日志消息中是否存在重复的日志消息,还可以在图1所示的日志数量控制模块中设置一个计时器,可以判断从计时开始到时间到达预设的单位时间时,这一单位时间内各个功能模块发送的日志消息中是否存在重复的日志消息,对于具体的过程,本发明实施例在此不再详细论述。
[0174]子步骤d2,从所述重复的日志消息中选取一个或多个日志消息;
[0175]如果在预设的单位时间内所接收到的日志消息中存在重复的日志消息,则可以从所述重复的日志消息中选取一个或多个日志消息。本发明实施例中可以根据当前系统负荷的情况确定具体选取几个日志消息。例如,如果系统负荷较高,则可以选取较少的日志消息,如果系统负荷较低,则可以选取较多的日志消息,本领域技术人员根据实际情况进行相关处理即可,本发明实施例对此并不加以限制。
[0176]如果是选取一个日志消息,则从所述重复的日志消息中任意选取一个即可,例如选取发送时间最早的一个日志消息。如果是选取多个日志消息,则可以采用过滤的方法进行选取,例如,首先可以按照发送时间的先后对所述重复的日志消息进行排序;然后按照预设个数对排序后的日志消息进行分组,例如可以将每3个日志消息划分为一组;最后从每组中选取一个日志消息。当然,根据系统负荷的实际情况,还可以采用其他的方式进行日志消息的选取,本发明实施例在此不再详细论述。
[0177]子步骤d3,舍弃所述重复的日志消息中未被选取的日志消息,将被选取的日志消息和剩余没有重复的日志消息发送至所述日志任务消息队列。
[0178]从所述重复的日志消息中选取一个或多个日志消息之后,即可将所述重复的日志消息中未被选取的日志消息舍弃,然后将被选取的日志消息和剩余没有重复的日志消息发送至所述日志任务消息队列。
[0179]通过精细控制方式,可以在系统的负荷较高时(即大于预设的流量阈值时),通过舍弃某些重复的日志消息,可以降低发送至所述日志任务消息队列的日志消息的数量,从而减轻系统的负担。
[0180]步骤305,将所接收到的各个功能模块发送的日志消息发送至所述日志任务消息队列。
[0181]如果在步骤303中判断所述系统的负荷小于或等于预设的流控阈值,则说明当前的系统负荷可以满足处理各个功能模块发送的日志消息的需求,因此暂时可以不对发送至日志任务消息队列的日志消息的数量进行控制,直接将所接收到的各个功能模块发送的日志消息发送至所述日志任务消息队列即可。
[0182]在将日志消息发送至所述日志任务消息队列之后,可以由日志任务从消息队列中读取出相应的日志消息,并写入到日志文件中。对于具体的处理过程,本发明实施例不再详细论述。
[0183]本发明实施例中,主要是根据系统的负荷状态动态的控制日志消息的发送,提供了整体控制、均衡控制、模块控制、精细控制四种控制方式,既保证了系统的正常运行又最大化的保留日志记录功能,有较好的灵活性和可控性,多种方式可供系统根据实际情况择机米用。
[0184]对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0185]实施例三:
[0186]参照图4,示出了本发明实施例三的一种系统日志的控制装置的结构框图,所述系统日志所在的系统包括至少一个功能模块和日志任务消息队列,所述装置具体可以包括以下模块:
[0187]接收模块401,用于接收所述系统中各个功能模块发送的日志消息;
[0188]监控模块402,用于监控所述系统的负荷状态;
[0189]降低模块403,用于当所述监控模块监控到所述系统的负荷大于预设的流控阈值时,降低发送至所述日志任务消息队列的日志消息的数量。
[0190]在本发明的一种优选实施例中,所述降低模块可以包括以下子模块:
[0191]整体控制子模块,用于采用整体控制方式降低发送至所述日志任务消息队列的日志消息的数量;
[0192]和/ 或,
[0193]均衡控制子模块,用于采用均衡控制方式降低发送至所述日志任务消息队列的日志消息的数量;
[0194]和/ 或,
[0195]模块控制子模块,用于采用模块控制方式降低发送至所述日志任务消息队列的日志消息的数量;
[0196]和/ 或,
[0197]精细控制子模块,用于采用精细控制方式降低发送至所述日志任务消息队列的日志消息的数量。
[0198]其中,所述整体控制子模块可以包括以下子单元:
[0199]比较子单元,用于将所述系统的负荷与预设的流控上限和流控下限进行比较;
[0200]第一判断子单元,用于当所述比较子单元的比较结果为所述系统的负荷大于预设的流控上限时,判断当前的日志记录状态;
[0201]第一修改子单元,用于当所述第一判断子单元的判断结果为开启状态时,修改为关闭状态,舍弃所述各个功能模块发送的日志消息;
[0202]第二判断子单元,用于当所述比较子单元的比较结果为所述系统的负荷小于预设的流控下限时,判断当前的日志记录状态;
[0203]第二修改子单元,用于当所述第二判断子单元的判断结果为关闭状态时,修改为开启状态,将所述各个功能模块发送的日志消息发送至所述日志任务消息队列。
[0204]所述系统还可以还包括多个令牌,所述令牌的状态可以包括空闲状态和占用状态。所述均衡控制子模块可以包括以下子单元:
[0205]令牌获取子单元,用于获取所述系统中处于空闲状态的令牌数量;
[0206]第一选取子单元,用于从所述日志消息中选取与所述处于空闲状态的令牌数量相同数量的日志消息;
[0207]第一发送子单元,用于将选取的日志消息发送至所述日志任务消息队列;
[0208]缓存子单元,用于将剩余的日志消息进行缓存。其中,所述日志消息还可以包括发送时间,所述第一选取子单元,具体可以用于按照所述发送时间的先后顺序对所述日志消息进行排序;从排序后的第一个日志消息开始,选取与所述处于空闲状态的令牌数量相同数量的日志消息。
[0209]本发明实施例中,在第一发送子单元将选取的日志消息通过处于空闲状态的令牌成功发送至所述日志任务消息队列之后,将释放该日志消息所占用的令牌,即该日志消息所占用的令牌将从占用状态转换为空闲状态。对于排序后缓存的剩余日志消息,将等待成功发送至日志任务消息队列的日志消息所释放的令牌,通过被释放后处于空闲状态的令牌发送至日志任务消息队列。因此,本发明实施例中,所述均衡控制子模块还可以包括令牌释放子单元,用于在第一发送子单元将选取的日志消息通过处于空闲状态的令牌成功发送至所述日志任务消息队列之后,释放所述日志消息所占用的令牌。
[0210]所述模块控制子模块可以包括以下子单元:
[0211]统计子单元,用于分别统计预设的单位时间内所述各个功能模块发送的日志消息的数量;
[0212]第二发送子单元,用于当所述统计子单元统计出某个功能模块发送的日志消息的数量大于预设的数量阈值时,舍弃该功能模块发送的日志消息,将剩余的日志消息发送至所述日志任务消息队列。
[0213]其中,所述日志消息还可以包括发送该日志消息的功能模块标识。所述统计子单元,具体可以用于分别统计预设的单位时间内包括同一功能模块标识的日志消息的数量,将所述数量作为所述同一功能模块标识对应的功能模块发送的日志消息的数量;所述第二发送子单元,具体可以用于舍弃包括该功能模块标识的日志消息。
[0214]所述精细控制子模块可以包括以下子单元:
[0215]重复判断子单元,用于判断预设的单位时间内所述各个功能模块发送的日志消息中是否存在重复的日志消息;
[0216]第二选取子单元,用于在所述重复判断子单元的判断结果为存在时,从所述重复的日志消息中选取一个或多个日志消息;
[0217]第三发送子单元,用于舍弃所述重复的日志消息中未被选取的日志消息,将被选取的日志消息和剩余没有重复的日志消息发送至所述日志任务消息队列。
[0218]其中,所述日志消息还可以包括文件名和行号,所述重复判断子单元,具体可以用于分别获取预设的单位时间内所述各个功能模块发送的日志消息包括的文件名和行号;判断是否存在包括的文件名和行号相同的日志消息;若存在,则确定预设的单位时间内所述各个功能模块发送的日志消息中存在重复的日志消息,并确定包括的文件名和行号相同的日志消息为重复的日志消息。
[0219]本发明实施例中可以对系统的负荷状态进行监控,在接收所述系统中各个功能模块发送的日志消息之后,如果当前系统的负荷大于预设的流控阈值,则可以降低发送至所述日志任务消息队列的日志消息的数量。由于降低了发送的日志消息的数量,因此可以避免在系统的负荷较高时,大量的日志消息导致系统的负荷进一步升高,消耗较多的内存资源的问题。
[0220]对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。[0221]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0222]本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0223]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0224]以上对本发明所提供的一种系统日志的控制方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种系统日志的控制方法,其特征在于,所述系统日志所在的系统包括至少一个功能模块和日志任务消息队列,所述方法包括: 接收所述系统中各个功能模块发送的日志消息; 监控所述系统的负荷状态; 当所述系统的负荷大于预设的流控阈值时,降低发送至所述日志任务消息队列的日志消息的数量。
2.根据权利要求1所述的方法,其特征在于,所述降低发送至所述日志任务消息队列的日志消息的数量的步骤包括: 采用整体控制方式降低发送至所述日志任务消息队列的日志消息的数量; 和/或, 采用均衡控制方式降低发送至所述日志任务消息队列的日志消息的数量; 和/或, 采用模块控制方式降低发送至所述日志任务消息队列的日志消息的数量; 和/或, 采用精细控制方 式降低发送至所述日志任务消息队列的日志消息的数量。
3.根据权利要求2所述的方法,其特征在于,所述采用整体控制方式降低发送至所述日志任务消息队列的日志消息的数量的步骤包括: 将所述系统的负荷与预设的流控上限和流控下限进行比较; 若所述系统的负荷大于预设的流控上限,则判断当前的日志记录状态; 若为开启状态,则修改为关闭状态,舍弃所述各个功能模块发送的日志消息; 若所述系统的负荷小于预设的流控下限,则判断当前的日志记录状态; 若为关闭状态,则修改为开启状态,将所述各个功能模块发送的日志消息发送至所述日志任务消息队列。
4.根据权利要求2所述的方法,其特征在于,所述系统还包括多个令牌,所述令牌的状态包括空闲状态和占用状态,所述采用均衡控制方式降低发送至所述日志任务消息队列的日志消息的数量的步骤包括: 获取所述系统中处于空闲状态的令牌数量; 从所述日志消息中选取与所述处于空闲状态的令牌数量相同数量的日志消息; 将选取的日志消息发送至所述日志任务消息队列,将剩余的日志消息进行缓存。
5.根据权利要求4所述的方法,其特征在于,所述日志消息包括发送时间, 所述从所述日志消息中选取与所述处于空闲状态的令牌数量相同数量的日志消息的步骤包括: 按照所述发送时间的先后顺序对所述日志消息进行排序; 从排序后的第一个日志消息开始,选取与所述处于空闲状态的令牌数量相同数量的日志消息。
6.根据权利要求2所述的方法,其特征在于,所述采用模块控制方式降低发送至所述日志任务消息队列的日志消息的数量的步骤包括: 分别统计预设的单位时间内所述各个功能模块发送的日志消息的数量; 若某个功能模块发送的日志消息的数量大于预设的数量阈值,则舍弃该功能模块发送的日志消息,将剩余的日志消息发送至所述日志任务消息队列。
7.根据权利要求6所述的方法,其特征在于,所述日志消息包括发送该日志消息的功能模块标识, 所述分别统计预设的单位时间内所述各个功能模块发送的日志消息的数量的步骤包括: 分别统计预设的单位时间内包括同一功能模块标识的日志消息的数量,将所述数量作为所述同一功能模块标识对应的功能模块发送的日志消息的数量; 所述舍弃该功能模块发送的日志消息的步骤包括: 舍弃包括该功能模块标识的日志消息。
8.根据权利要求2所述的方法,其特征在于,所述采用精细控制方式降低发送至所述日志任务消息队列的日志消息的数量的步骤包括: 判断预设的单位时间内所述各个功能模块发送的日志消息中是否存在重复的日志消息; 若存在,则从所述重复的日志消息中选取一个或多个日志消息; 舍弃所述重复的日志消息中未被选取的日志消息,将被选取的日志消息和剩余没有重复的日志消息发送至所述日志任务消息队列。
9.根据权利要求8所述的方法,其特征在于,所述日志消息包括文件名和行号, 所述判断预设的单位时间 内所述各个功能模块发送的日志消息中是否存在重复的日志消息的步骤包括: 分别获取预设的单位时间内所述各个功能模块发送的日志消息包括的文件名和行号; 判断是否存在包括的文件名和行号相同的日志消息; 若存在,则确定预设的单位时间内所述各个功能模块发送的日志消息中存在重复的日志消息,并确定包括的文件名和行号相同的日志消息为重复的日志消息。
10.一种系统日志的控制装置,其特征在于,所述系统日志所在的系统包括至少一个功能模块和日志任务消息队列,所述装置包括: 接收模块,用于接收所述系统中各个功能模块发送的日志消息; 监控模块,用于监控所述系统的负荷状态; 降低模块,用于当所述监控模块监控到所述系统的负荷大于预设的流控阈值时,降低发送至所述日志任务消息队列的日志消息的数量。
11.根据权利要求10所述的装置,其特征在于,所述降低模块包括: 整体控制子模块,用于采用整体控制方式降低发送至所述日志任务消息队列的日志消息的数量; 和/或, 均衡控制子模块,用于采用均衡控制方式降低发送至所述日志任务消息队列的日志消息的数量; 和/或, 模块控制子模块,用于采用模块控制方式降低发送至所述日志任务消息队列的日志消息的数量;和/或, 精细控制子模块,用于采用精细控制方式降低发送至所述日志任务消息队列的日志消息的数量。
12.根据权利要求11所述的装置,其特征在于,所述整体控制子模块包括: 比较子单元,用于将所述系统的负荷与预设的流控上限和流控下限进行比较; 第一判断子单元,用于当所述比较子单元的比较结果为所述系统的负荷大于预设的流控上限时,判断当前的日志记录状态; 第一修改子单元,用于当所述第一判断子单元的判断结果为开启状态时,修改为关闭状态,舍弃所述各个功能模块发送的日志消息; 第二判断子单元,用于当所述比较子单元的比较结果为所述系统的负荷小于预设的流控下限时,判断当前的日志记录状态; 第二修改子单元,用于当所述第二判断子单元的判断结果为关闭状态时,修改为开启状态,将所述各个功能模块发送的日志消息发送至所述日志任务消息队列。
13.根据权利要求11所述的装置,其特征在于,所述系统还包括多个令牌,所述令牌的状态包括空闲状态和占用状态, 所述均衡控制子模块包括: 令牌获取子单元,用于获取所述系统中处于空闲状态的令牌数量; 第一选取子单元,用于从所述日志消息中选取与所述处于空闲状态的令牌数量相同数量的日志消息; 第一发送子单元,用于将选取的日志消息发送至所述日志任务消息队列; 缓存子单元,用于将剩余的日志消息进行缓存。
14.根据权利要求13所述的装置,其特征在于,所述日志消息包括发送时间, 所述第一选取子单元,具体用于按照所述发送时间的先后顺序对所述日志消息进行排序;从排序后的第一个日志消息开始,选取与所述处于空闲状态的令牌数量相同数量的日志消息。
15.根据权利要求11所述的装置,其特征在于,所述模块控制子模块包括: 统计子单元,用于分别统计预设的单位时间内所述各个功能模块发送的日志消息的数量; 第二发送子单元,用于当所述统计子单元统计出某个功能模块发送的日志消息的数量大于预设的数量阈值时,舍弃该功能模块发送的日志消息,将剩余的日志消息发送至所述日志任务消息队列。
16.根据权利要求15所述的装置,其特征在于,所述日志消息包括发送该日志消息的功能模块标识, 所述统计子单元,具体用于分别统计预设的单位时间内包括同一功能模块标识的日志消息的数量,将所述数量作为所述同一功能模块标识对应的功能模块发送的日志消息的数量; 所述第二发送子单元,具体用于舍弃包括该功能模块标识的日志消息。
17.根据权利要求11所述的装置,其特征在于,所述精细控制子模块包括: 重复判断子单元,用于判断预设的单位时间内所述各个功能模块发送的日志消息中是否存在重复的日志消息; 第二选取子单元,用于在所述重复判断子单元的判断结果为存在时,从所述重复的日志消息中选取一个或多个日志消息;
第三发送子单元,用于舍弃所述重复的日志消息中未被选取的日志消息,将被选取的日志消息和剩余没有重复的日志消息发送至所述日志任务消息队列。
18.根据权利要求17所述的装置,其特征在于,所述日志消息包括文件名和行号,所述重复判断子单元,具体用于分别获取预设的单位时间内所述各个功能模块发送的日志消息包括的文件名和行号;判断是否存在包括的文件名和行号相同的日志消息;若存在,则确定预设的单位时间内所述各个功能模块发送的日志消息中存在重复的日志消息,并确定包括的文件名和行号相同的日志消息为重复的日志消息。
【文档编号】G06F11/30GK103838659SQ201410053917
【公开日】2014年6月4日 申请日期:2014年2月17日 优先权日:2014年2月17日
【发明者】牛磊, 弋景峰, 王雪平 申请人:大唐移动通信设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1