监控信息采集方法及系统
专利摘要:本发明提供一种监控信息采集方法及系统。该监控信息采集方法包括:根据预设的注解定义创建线程并启动监控信息采集,生成监控信息;监控信息包括方法全称;获取交易时长和交易数据;当交易时长超过预设的交易时长阈值或交易数据发生异常时,生成错误事件代码并将错误事件代码保存至监控信息中;将监控信息保存至待处理队列中;读取待处理队列中的监控信息,根据监控信息中的错误事件代码和方法全称获取当前周期内的错误事件发生值;令错误事件发生值加一,当加一后的错误事件发生值大于或等于错误事件发生阈值时,发送监控信息至监控平台。本发明可以将监控采集处理逻辑与业务处理逻辑松耦合,进而降低监控成本,为系统的稳定性和可用性提供保障。
专利说明:
监控信息采集方法及系统
[0001] 技术领域
[0002] 本发明涉及信息监控领域,具体地,涉及一种监控信息采集方法及系统。
[0003] 背景技术
[0004] 银行系统种类繁多,业务交易处理各式各样。为保证系统运行的稳定性和健壮性,对于重点交易,尤其是涉账交易,开发者需要第一时间知道系统运行情况,每一个重点交易的上线总是伴随着一系列的处理结果监控功能的开发,比如需要判断每一笔交易判断是否发生异常,异常是偶发性还是高发性等。作为提升系统稳定性和可用性的有效技术手段,如何高效,灵活,统一的采集处理结果和报送机制成为了必须要解决的问题。
[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] 图1是本发明实施例中监控信息采集方法的流程图;
[0032] 图2是本发明实施例中监控信息采集系统的结构框图。
[0033] 具体实施方式
[0034] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0035] 本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
[0036] 鉴于现有技术的监控采集处理逻辑往往与业务处理逻辑紧耦合,每个交易独立研发,无法实现复用,成本高,不利于系统的维护且效率低下,本发明实施例提供一种监控信息采集方法,以将监控采集处理逻辑与业务处理逻辑松耦合,进而降低监控成本,为系统的稳定性和可用性提供保障。以下结合附图对本发明进行详细说明。
[0037] 图1是本发明实施例中监控信息采集方法的流程图。如图1所示,监控信息采集方法包括:
[0038] S101:当收到用户交易请求时,根据预设的注解定义创建线程并启动监控信息采集,生成监控信息;监控信息包括方法全称。
[0039] 一实施例中,监控信息还包括交易开始时间。监控信息采集方法还包括:根据交易开始时间和预设的阈值清算周期确定当前周期。
[0040] S102:当交易结束时,获取交易时长和交易数据。
[0041] S103:判断交易时长是否超过预设的交易时长阈值;判断交易数据是否发生异常。
[0042] S104:当交易时长超过预设的交易时长阈值或交易数据发生异常时,生成错误事件代码并将错误事件代码保存至监控信息中。
[0043] S105:将监控信息保存至待处理队列中。
[0044] S106:读取待处理队列中的监控信息,根据监控信息中的错误事件代码和方法全称获取当前周期内的错误事件发生值。
[0045] 具体实施时,系统会每隔一预设时间读取待处理队列中的监控信息,以每个监控信息为单位循环进行处理。预设时间为待处理队列的线程睡眠时间。
[0046] 其中,交易时长阈值、预设时间和错误事件发生阈值可以进行全局定义,也可以在监控信息上添加定义交易时长阈值、预设时间和错误事件发生阈值的注解;不同的监控信息对应的交易时长阈值、预设时间和错误事件发生阈值不同。
[0047] S107:令错误事件发生值加一,判断加一后的错误事件发生值是否大于或等于错误事件发生阈值。
[0048] 具体实施时,本发明还设有错误事件发生阈值清算周期,并将超过错误事件发生阈值清算周期的错误事件发生值清零,同时重置错误事件发生阈值清算周期。
[0049] S108:当大于或等于错误事件发生阈值时,发送监控信息至监控平台。
[0050] 图1所示的监控信息采集方法的执行主体可以为计算机。由图1所示的流程可知,本发明实施例的监控信息采集方法及系统在收到用户交易请求时,根据预设的注解定义创建线程并启动监控信息采集,生成监控信息;当交易结束时,获取交易时长和交易数据;当交易时长超过预设的交易时长阈值或交易数据发生异常时,生成错误事件代码并将错误事件代码保存至监控信息中;然后将监控信息保存至待处理队列中,并读取待处理队列中的监控信息,根据监控信息中的错误事件代码和方法全称获取当前周期内的错误事件发生值;最后令错误事件发生值加一,当加一后的错误事件发生值大于或等于错误事件发生阈值时,发送监控信息至监控平台,可以将监控采集处理逻辑与业务处理逻辑松耦合,进而降低监控成本,为系统的稳定性和可用性提供保障。
[0051] 执行S104之后,还可以包括:封装监控信息;判断监控总开关是否开启;当监控总开关开启时,判断错误事件代码是否已注册;当错误事件代码已注册时,将监控信息保存至待处理队列中。
[0052] 本发明实施例的具体流程如下:
[0053] 1、当收到用户交易请求时,根据预设的注解定义创建线程并启动监控信息采集,生成监控信息。
[0054] 2、根据监控信息中的交易开始时间预设的阈值清算周期确定当前周期。
[0055] 3、当交易结束时,获取交易时长和交易数据。
[0056] 4、判断交易时长是否超过预设的交易时长阈值;判断交易数据是否发生异常。当交易时长超过预设的交易时长阈值或交易数据发生异常时,生成错误事件代码并将错误事件代码保存至监控信息中。
[0057] 5、封装监控信息并判断监控总开关是否开启。当监控总开关开启时,判断错误事件代码是否已注册。当错误事件代码已注册时,将监控信息保存至待处理队列中。
[0058] 6、读取待处理队列中的监控信息,根据监控信息中的错误事件代码和监控信息中的方法全称获取当前周期内的错误事件发生值。
[0059] 7、令错误事件发生值加一,判断加一后的错误事件发生值是否大于或等于错误事件发生阈值。当大于或等于错误事件发生阈值时,发送监控信息至监控平台。
[0060] 综上,本发明实施例的监控信息采集方法在收到用户交易请求时,根据预设的注解定义创建线程并启动监控信息采集,生成监控信息;当交易结束时,获取交易时长和交易数据;当交易时长超过预设的交易时长阈值或交易数据发生异常时,生成错误事件代码并将错误事件代码保存至监控信息中;然后将监控信息保存至待处理队列中,并读取待处理队列中的监控信息,根据监控信息中的错误事件代码和方法全称获取当前周期内的错误事件发生值;最后令错误事件发生值加一,当加一后的错误事件发生值大于或等于错误事件发生阈值时,发送监控信息至监控平台,可以将监控采集处理逻辑与业务处理逻辑松耦合,在不侵入业务逻辑的基础上准确做到了信息采集,进而降低监控成本,为系统的稳定性和可用性提供保障。
[0061] 另外,从实现效果上看,本发明可以在同构系统的不同应用下实现即插即用,针对每个交易都实现了灵活可配置,极大的满足了系统运行监控的需要,有效缩短了系统运行故障的发现时间,为迅速解决问题,提升系统可用性提供了有力支持。
[0062] 基于同一发明构思,本发明实施例还提供了一种监控信息采集系统,由于该系统解决问题的原理与监控信息采集方法相似,因此该系统的实施可以参见方法的实施,重复之处不再赘述。
[0063] 图2是本发明实施例中监控信息采集系统的结构框图。如图2所示,监控信息采集系统包括:
[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] 读取待处理队列中的监控信息,根据监控信息中的错误事件代码和方法全称获取当前周期内的错误事件发生值;
[0090] 令错误事件发生值加一,判断加一后的错误事件发生值是否大于或等于错误事件发生阈值;
[0091] 当大于或等于错误事件发生阈值时,发送监控信息至监控平台。
[0092] 综上,本发明实施例的计算机设备在收到用户交易请求时,根据预设的注解定义创建线程并启动监控信息采集,生成监控信息;当交易结束时,获取交易时长和交易数据;当交易时长超过预设的交易时长阈值或交易数据发生异常时,生成错误事件代码并将错误事件代码保存至监控信息中;然后将监控信息保存至待处理队列中,并读取待处理队列中的监控信息,根据监控信息中的错误事件代码和方法全称获取当前周期内的错误事件发生值;最后令错误事件发生值加一,当加一后的错误事件发生值大于或等于错误事件发生阈值时,发送监控信息至监控平台,可以将监控采集处理逻辑与业务处理逻辑松耦合,在不侵入业务逻辑的基础上准确做到了信息采集,进而降低监控成本,为系统的稳定性和可用性提供保障。
[0093] 本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时可以实现监控信息采集方法的全部或部分内容,例如,处理器执行计算机程序时可以实现如下内容:
[0094] 当收到用户交易请求时,根据预设的注解定义创建线程并启动监控信息采集,生成监控信息;监控信息包括方法全称;
[0095] 当交易结束时,获取交易时长和交易数据;
[0096] 判断交易时长是否超过预设的交易时长阈值;判断交易数据是否发生异常;
[0097] 当交易时长超过预设的交易时长阈值或交易数据发生异常时,生成错误事件代码并将错误事件代码保存至监控信息中;
[0098] 将监控信息保存至待处理队列中;
[0099] 读取待处理队列中的监控信息,根据监控信息中的错误事件代码和方法全称获取当前周期内的错误事件发生值;
[0100] 令错误事件发生值加一,判断加一后的错误事件发生值是否大于或等于错误事件发生阈值;
[0101] 当大于或等于错误事件发生阈值时,发送监控信息至监控平台。
[0102] 综上,本发明实施例的计算机可读存储介质在收到用户交易请求时,根据预设的注解定义创建线程并启动监控信息采集,生成监控信息;当交易结束时,获取交易时长和交易数据;当交易时长超过预设的交易时长阈值或交易数据发生异常时,生成错误事件代码并将错误事件代码保存至监控信息中;然后将监控信息保存至待处理队列中,并读取待处理队列中的监控信息,根据监控信息中的错误事件代码和方法全称获取当前周期内的错误事件发生值;最后令错误事件发生值加一,当加一后的错误事件发生值大于或等于错误事件发生阈值时,发送监控信息至监控平台,可以将监控采集处理逻辑与业务处理逻辑松耦合,在不侵入业务逻辑的基础上准确做到了信息采集,进而降低监控成本,为系统的稳定性和可用性提供保障。
[0103] 以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
[0104] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0105] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0106] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0107] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0108] 本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求:1.一种监控信息采集方法,其特征在于,包括:
当收到用户交易请求时,根据预设的注解定义创建线程并启动监控信息采集,生成监控信息;所述监控信息包括方法全称;
当交易结束时,获取交易时长和交易数据;
判断所述交易时长是否超过预设的交易时长阈值;判断所述交易数据是否发生异常;
当所述交易时长超过预设的交易时长阈值或所述交易数据发生异常时,生成错误事件代码并将所述错误事件代码保存至所述监控信息中;
将所述监控信息保存至待处理队列中;
读取所述待处理队列中的监控信息,根据所述监控信息中的错误事件代码和方法全称获取当前周期内的错误事件发生值;
令所述错误事件发生值加一,判断加一后的错误事件发生值是否大于或等于错误事件发生阈值;
当大于或等于错误事件发生阈值时,发送所述监控信息至监控平台。
2.根据权利要求1所述的监控信息采集方法,其特征在于,将所述错误事件代码保存至所述监控信息中之后,还包括:
封装所述监控信息;
判断监控总开关是否开启;
当所述监控总开关开启时,将所述监控信息保存至待处理队列中。
3.根据权利要求2所述的监控信息采集方法,其特征在于,还包括:
当所述监控总开关开启时,判断所述错误事件代码是否已注册;
当所述错误事件代码已注册时,将所述监控信息保存至待处理队列中。
4.根据权利要求1所述的监控信息采集方法,其特征在于,
所述监控信息还包括:交易开始时间;
所述监控信息采集方法还包括:
根据所述交易开始时间和预设的阈值清算周期确定所述当前周期。
5.一种监控信息采集系统,其特征在于,包括:
监控信息采集单元,用于当收到用户交易请求时,根据预设的注解定义创建线程并启动监控信息采集,生成监控信息;所述监控信息包括方法全称;
获取单元,用于当交易结束时,获取交易时长和交易数据;
第一判断单元,用于判断所述交易时长是否超过预设的交易时长阈值;判断所述交易数据是否发生异常;
错误事件代码单元,用于当所述交易时长超过预设的交易时长阈值或所述交易数据发生异常时,生成错误事件代码并将所述错误事件代码保存至所述监控信息中;
待处理队列单元,用于将所述监控信息保存至待处理队列中;
读取单元,用于读取所述待处理队列中的监控信息,根据所述监控信息中的错误事件代码和方法全称获取当前周期内的错误事件发生值;
第二判断单元,用于令所述错误事件发生值加一,判断加一后的错误事件发生值是否大于或等于错误事件发生阈值;
发送单元,用于当大于或等于错误事件发生阈值时,发送所述监控信息至监控平台。
6.根据权利要求5所述的监控信息采集系统,其特征在于,还包括:
封装单元,用于封装所述监控信息;
第三判断单元,用于判断监控总开关是否开启;
所述待处理队列单元具体用于:当所述监控总开关开启时,将所述监控信息保存至待处理队列中。
7.根据权利要求6所述的监控信息采集系统,其特征在于,还包括:
第四判断单元,用于当所述监控总开关开启时,判断所述错误事件代码是否已注册;
所述待处理队列单元具体用于:当所述错误事件代码已注册时,将所述监控信息保存至待处理队列中。
8.根据权利要求5所述的监控信息采集系统,其特征在于,
所述监控信息还包括:交易开始时间;
所述监控信息采集系统还包括:
当前周期确定单元,用于根据所述交易开始时间和预设的阈值清算周期确定所述当前周期。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述的监控信息采集方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4任一项所述的监控信息采集方法的步骤。
公开号:CN110597688
申请号:CN201910846532.XA
发明人:杨晓 陈涛 余振庭 蒋超
申请人:中国工商银行股份有限公司
申请日:2019-09-09
公开日:2019-12-20