CN109491873B - 缓存监控方法、介质、装置和计算设备 - Google Patents

缓存监控方法、介质、装置和计算设备 Download PDF

Info

Publication number
CN109491873B
CN109491873B CN201811309069.7A CN201811309069A CN109491873B CN 109491873 B CN109491873 B CN 109491873B CN 201811309069 A CN201811309069 A CN 201811309069A CN 109491873 B CN109491873 B CN 109491873B
Authority
CN
China
Prior art keywords
cache
monitoring
data
alarm
monitoring data
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
Application number
CN201811309069.7A
Other languages
English (en)
Other versions
CN109491873A (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.)
Alibaba Huabei Technology Co ltd
Original Assignee
Alibaba China 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN201811309069.7A priority Critical patent/CN109491873B/zh
Publication of CN109491873A publication Critical patent/CN109491873A/zh
Application granted granted Critical
Publication of CN109491873B publication Critical patent/CN109491873B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明的实施方式提供了一种缓存监控方法、介质、装置和计算设备。该缓存监控方法,包括以下步骤:针对缓存操作根据监控规则采集监控数据;基于超文本传输协议上报所述监控数据;根据报警规则对所述监控数据进行报警判断;针对基于所述报警判断筛选出的待报警数据进行报警处理。通过将传统缓存监控方案中数据采集、数据上报、数据处理等逻辑模块化,并将数据上报和数据处理从业务代码中剥离,以独立进程的形式运行,使数据上报遵从超文本传输协议,能够实现缓存监控方案的跨语言复用,减少监控逻辑的开发成本,同时对缓存性能指标和缓存业务指标进行监控,为业务的稳定性和正确性提供支撑,为用户带来了更好的体验。

Description

缓存监控方法、介质、装置和计算设备
技术领域
本发明的实施方式涉及计算机技术领域,更具体地,本发明的实施方式涉及缓存监控方法、介质、装置和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
目前Java(一种计算机编程语言)应用缓存监控方案,通常使用字节码增强或客户端主动调用API(Application Programming Interface,简称API,应用程序编程接口)的方式实现对代码的监控,监控方案的实现方式与Java语言强耦合,监控逻辑无法实现跨语言;监控代码和业务耦合在一起的方式,监控代码的质量直接影响应用的质量,导致对监控代码的质量要求高;并且,缓存监控方案更多是对缓存性能指标的监控,缓存的监控指标主要局限在缓存命中次数、未命中次数、缓存值大小、缓存客户端方法调用耗时、命中率、序列化和反序列化等方面,而这些指标并不能完整地反映业务的正确性,即在性能指标满足要求的前提下,也不能保证业务的正确性。
缓存数据的可靠性,直接影响着业务的可靠与正确性,因此对缓存的业务指标进行监控是有必要的,而目前的缓存监控方案在与业务指标的对应上还存在空白。
发明内容
为此,非常需要一种改进的缓存监控方案,在监控缓存性能指标的同时对缓存业务指标进行监控,为业务的稳定性和正确性提供支撑。
在本上下文中,本发明的实施方式期望提供一种缓存监控方法、介质、装置和计算设备。
在本发明实施方式的第一方面中,提供了一种缓存监控方法,包括:针对缓存操作根据监控规则采集监控数据;基于超文本传输协议上报所述监控数据;根据报警规则对所述监控数据进行报警判断;针对基于所述报警判断筛选出的待报警数据进行报警处理。
在本发明实施方式的第二方面中,提供了一种计算机可读存储介质,存储有程序代码,所述程序代码被当作处理器执行时,实现如上所述的缓存监控方法。
在本发明实施方式的第三方面中,提供了一种缓存监控装置,包括:数据采集模块,被配置为针对缓存操作根据监控规则采集监控数据;数据上报模块,被配置为基于超文本传输协议上报所述监控数据;报警判断模块,被配置为根据报警规则对所述监控数据进行报警判断;报警处理模块,被配置为针对基于所述报警判断筛选出的待报警数据进行报警处理。
在本发明实施方式的第四方面中,提供了一种计算设备,包括处理器和存储有程序代码的存储介质,所述程序代码当被处理器执行时,实现如上所述的缓存监控方法。
根据本发明实施方式的缓存监控方法、介质、装置和计算设备,将传统缓存监控方案中数据采集、数据上报、数据处理等逻辑模块化,并将数据上报和数据处理从业务代码中剥离,以独立进程的形式运行,使数据上报遵从超文本传输协议,能够实现缓存监控方案的跨语言复用,减少监控逻辑的开发成本,同时对缓存性能指标和缓存业务指标进行监控,为业务的稳定性和正确性提供支撑,为用户带来了更好的体验。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1为根据本申请的缓存监控方法的一种实施方式的流程示意图;
图2为根据本申请的一种实施方式的计算机可读存储介质的示意图;
图3为根据本申请的缓存监控装置的一种实施方式的结构示意图;
图4为根据本申请的缓存监控装置的另一种实施方式的结构示意图;
图5为根据本申请的缓存监控装置的一种具体实施方式的缓存监控框架的结构示意图;
图6为根据本申请的一种实施方式的计算设备的结构示意图;
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种缓存监控方法、介质、装置和计算设备。
在本文中,需要理解的是,这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,传统的缓存监控方案,监控方案的实现与Java语言强耦合,无法跨语言复用,且监控代码的质量直接影响着应用的质量,并且没有对缓存业务指标进行监控。
因此,本发明提出了对缓存业务指标的监控方案,并且将传统缓存监控方案中的数据采集、数据上报和数据处理等逻辑模块化,使数据上报和数据处理的逻辑以独立的进程运行,数据上报遵从超文本传输协议,实现了缓存监控方案的跨语言复用。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
本发明的缓存监控方法、介质、装置和计算设备,同时对缓存性能指标和缓存业务指标进行监控,将传统缓存监控方案中的数据采集、数据上报和数据处理等逻辑模块化,使数据上报和数据处理的逻辑以独立的进程运行,数据上报遵从超文本传输协议,实现了缓存监控方案的跨语言复用。
示例性方法
下面结合图1的应用场景描述根据本发明示例性实施方式的用于缓存监控的方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
如图1所示为根据本申请的缓存监控方法的一种实施方式的流程示意图,包括以下步骤:
S101:针对缓存操作根据监控规则采集监控数据;
S102:基于超文本传输协议上报所述监控数据;
S103:根据报警规则对所述监控数据进行报警判断;
S104:针对基于所述报警判断筛选出的待报警数据进行报警处理。
其中,监控规则可以包括工程全量的监控项列表和报警规则,监控项列表可以包括缓存关键字和与之相关联的监控数据。其中,对应于缓存关键字可以有相应的至少一项监控数据,在此不作限定,可以根据需要设置缓存关键字所对应的监控数据以及监控数据的项数。监控规则可以从监控报警规则管理中心处获取,监控报警规则管理中心负责工程全量的监控项列表和报警规则的配置和管理。其中,监控项列表可以根据用户需要进行制定,报警规则可以根据监控项列表和用户需要进行制定,例如根据用户需要监控项列表中的监控数据可以包括缓存未命中次数,报警规则例如可以是当缓存未命中次数大于或等于若干次的时候进行监控报警,例如可以通过向用户发送短信报告缓存未命中次数的形式向用户进行报警。通过向用户报警的形式能够及时通知用户缓存出现的异常,并且能够根据用户需要制定报警规则,有针对性的对用户重点关注或者有特殊要求的监控项进行监控并适时通过预设的报警方案进行报警。
报警规则不限于对上述监控项列表中的监控数据的监控报警,也不限于对上述监控数据在上述情况下进行报警,在此不作限定,具体需要报警的情况可以根据需要进行具体制定。对于需要监控报警的监控数据不限于以上述形式向用户报警,例如可以通过即时通讯,例如微信,或电话、短信、邮件的形式向用户报警,在此不作限定,只要能够及时将报警信息传达到用户即可。
其中,监控数据可以至少包括缓存性能指标和缓存业务指标,缓存性能指标可以包括但不限于以下其中之一:缓存命中次数、缓存未命中次数以及缓存值大小等;缓存业务指标可以包括但不限于以下其中之一:缓存操作的定时任务是否正常执行、不应为空的缓存是否为空以及缓存的更新频率是否在预期范围内等。通过对缓存性能指标的监控能够对缓存操作的正确性与准确性进行监控,通过对缓存业务指标的监控能够对缓存业务的相关性能与指标进行监控,同时对缓存性能指标和缓存业务指标进行监控,为业务的稳定性和正确性提供支撑,为用户带来了更好的体验。
针对缓存操作根据监控规则采集监控数据还包括以下步骤:针对缓存操作根据监控规则中的监控项列表采集监控数据,具体包括:当缓存操作的缓存关键字包含在监控项列表中时,则对所述缓存操作进行监控数据的采集。可选的,当缓存操作的缓存关键字(即缓存key)包含在监控项列表中时,则针对该缓存操作采集与该缓存关键字相关联的监控数据。例如,当缓存操作的缓存key包含在监控项列表中时,且监控项列表中与该缓存key相关联的监控数据包括缓存命中次数、缓存操作的定时任务是否正常执行时,则记录该缓存操作的命中次数以及缓存写操作的写入时间。其中,本申请中的缓存关键字即缓存key。
基于超文本传输协议上报监控数据可以包括:缓存监控数据;在预定条件达成时,基于超文本传输协议上报监控数据。采集了监控数据之后可以将所采集的监控数据暂时进行缓存,一般监控数据的采集在宿主机端进行,所采集的监控数据可以暂时缓存在宿主机端,如果有其他可以缓存监控数据的位置也包含在本申请的保护范围之内,在预定条件达成时,基于超文本传输协议上报该监控数据。这里通过基于超文本传输协议对监控数据进行上报能够实现部分监控逻辑的跨语言复用,减少监控逻辑的开发成本,如果有其他有助于实现监控逻辑跨语言复用的监控数据上报方式同样包含在本发明的保护范围之内,在此不做限定。其中,在预定条件达成时,可以基于超文本传输协议将监控数据上报到哨兵代理或其他代理,哨兵代理或其他代理可以置于宿主机端,也可以置于宿主机之外,例如可以置于其他服务器端,在此不作限定,其中,哨兵代理是独立的进程,用于对Java App上报数据的转发。
其中,在预定条件达成时,基于超文本传输协议上报监控数据可以包括:当采集的监控数据的数据量超过数据量阈值时,或当第一定时任务被触发时,基于超文本传输协议上报监控数据。具体来说,随着监控数据的数据量的增加,缓存不可能无限存储监控数据,因此,可以当采集的监控数据的数据量超过数据量阈值时,可以基于超文本传输协议上报监控数据,数据量阈值可以根据用户需要或者实际的缓存能力进行设定,例如可以是采集的数据量阈值,也可以是能够缓存的数据量阈值,在此不作限定;或对监控数据的上报设定时间或条件,当满足所设定的时间或条件时则定时任务被触发,当第一定时任务被触发时,可以基于超文本传输协议上报监控数据,设定的时间例如可以是多个连续的固定时间,时间间隔可以相同也可以不同,也可以是从某个设定时间或设定事件之后每隔一定时间,设定的条件例如可以是采集到某个监控数据等,在此不作限定。
其中,根据报警规则对监控数据进行报警判断包括:当第二定时任务被触发时,根据报警规则基于对监控数据进行的报警判断从监控数据中筛选出待报警数据。可以对监控数据的上报设定时间或条件,当满足所设定的时间或条件时则定时任务被触发,当第二定时任务被触发时,可以根据报警规则基于对监控数据进行的报警判断从监控数据中筛选出待报警数据,设定的时间例如可以是多个连续的固定时间,时间间隔可以相同也可以不同,也可以是从某个设定时间或设定事件之后每隔一定时间,设定的条件例如可以是采集到某个监控数据等,在此不作限定。其中,可以根据需要对多个监控数据批量指定相同或类似的报警规则,也可以针对某些监控数据分别制定各自的报警规则,可以先根据报警规则对所采集的监控数据进行报警判断,其中,报警规则可以包括报警条件,当所采集的监控数据不满足报警条件时不需要报警,当所采集的监控数据满足报警条件时则需要报警,报警条件可以根据实际情况或需要进行设定,在此不做限定,再从根据报警规则进行报警判断的结果中筛选出需要报警的监控数据作为待报警数据。另外,也可能有一些监控数据是处于报警条件附近徘徊的,可以作为需要预警的监控数据,通过预设的预警的方式向用户报告情况。作为另一种可选的实施方式,也可以将报警分为多个等级,对监控数据进行报警等级的判断,对于达到预设的需要向用户报警的报警等级的监控数据则向用户发出报警。报警的形式如上文,在此不再赘述。
其中,在对监控数据进行报警判断之前需要哨兵代理或其他代理将监控数据上报到报警判断模块,具体的上报协议可以根据用户的不同需要进行选择,对监控数据的报警判断可以在宿主机端进行,也可以在宿主机之外进行,例如在其他服务器端进行,在此不作限定。
其中,针对基于报警判断筛选出的待报警数据进行报警处理包括:根据预定处理规则针对待报警数据进行预处理并报警;报警包括:通过即时通讯进行报警。其中,预处理可以包括但不限于:对待报警数据进行过滤、去重、分类、整理成预设格式等,也可以针对一些特殊的监控数据预设一些特殊的预处理方式,在此不作限定。通过即时通讯进行报警如上文,在此不再赘述。其中,对待报警数据进行报警处理可以在宿主机端进行,也可以在宿主机之外进行,例如可以在其他服务器端进行,在此不作限定。
基于超文本传输协议上报监控数据还包括:缓存监控数据;当第三定时任务被触发时,将监控数据转发至监控平台进行可视化显示。对监控数据的上报设定时间或条件,当满足所设定的时间或条件时则定时任务被触发,当第三定时任务被触发时,设定的时间例如可以是多个连续的固定时间,时间间隔可以相同也可以不同,也可以是从某个设定时间或设定事件之后每隔一定时间,设定的条件例如可以是采集到某个监控数据等,在此不作限定,可以将监控数据转发至监控平台进行可视化显示,例如可以转发到哨兵大盘等数据显示平台,将监控数据可视化显示出来,例如可以通过显示器显示出来等,在此不作限定,其中,哨兵大盘指监控平台,可以对上报数据进行可视化的展示,例如可以同时在可视化显示的时候重点突出待报警数据部分或需要报警的数据部分,以供用户能够直观的看到待报警数据或需要报警的数据的真实情况。一般将监控数据进行可视化显示在宿主机之外进行,例如可以在服务器端进行,在此不作限定。
作为本申请的第一个具体实施例,可以对缓存是否丢失进行监控,缓存未命中时,记录丢失次数;当第一定时任务被触发时,将丢失次数及对应的缓存关键字上报到哨兵代理,哨兵代理将数据转达给哨兵大盘,哨兵大盘进行数据的存储和可视化。报警判断模块,从报警规则管理中心获取报警规则,根据规则判断是否应该报警(例如连续三次丢失的次数超过阈值则需要报警),如果需要报警,则转发给报警处理模块进行处理。
作为本申请的第二个具体实施例,可以对缓存写频率过高进行监控,缓存写操作时,记录每分钟的写入次数;当第一定时任务被触发时,将每分钟的写入次数及对应的缓存关键字上报到哨兵代理,哨兵代理将数据转达给哨兵大盘,哨兵进行数据的存储和可视化。报警判断模块,从报警规则管理中心获取报警规则,根据报警规则判断是否应该报警(例如连续三次每分钟写入的次数超过阈值则不需要报警),如果需要报警,则转发给报警处理模块进行处理。
作为本申请的第三个具体实施例,可以对定时任务更新缓存场景下,缓存是否正常更新进行监控,缓存写操作时,记录写入的时间;当第一定时任务被触发时,将缓存的写入时间及对应的缓存关键字上报到哨兵代理,哨兵代理将数据转达给哨兵大盘,哨兵大盘进行数据的存储和可视化。报警判断模块,从报警规则管理中心获取报警规则,根据报警规则判断是否应该报警(例如写入的时间间隔不超过40min则不需要报警),如果需要报警,则转发给报警处理模块进行处理。
上述三个具体实施例仅为帮助本领域技术人员理解本发明进行的举例,不构成对本发明的限制。
示例性介质
在介绍了本发明示例性实施方式的缓存监控方法之后,接下来,参考图2对本发明示例性实施方式的计算机可读存储介质进行介绍。
在一些可能的实施方式中,本发明的各个方面还可以实现为一种存储有程序产品的计算机可读存储介质,当程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的缓存监控方法的步骤。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件或者上述的任意合适的组合。
如图2所示,描述了根据本发明的实施方式的缓存监控方法的程序产品200。其可以采用便携式紧凑盘只读存储器(CD-ROM),并且包括程序代码,可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言——例如Java、C++等,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网或广域网——连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
示例性装置
在介绍了本发明示例性实施方式的缓存监控方法、介质之后,接下来,参考图3-4对本发明示例性实施方式缓存监控装置进行介绍。
如图3所示为根据本申请的缓存监控装置的一种实施方式的结构示意图,包括:
数据采集模块301,被配置为针对缓存操作根据监控规则采集监控数据;
数据上报模块302,被配置为基于超文本传输协议上报监控数据;
报警判断模块303,被配置为根据报警规则对监控数据进行报警判断;
报警处理模块304,被配置为针对基于报警判断筛选出的待报警数据进行报警处理。
其中,数据采集模块301还被配置为:针对缓存操作根据监控规则中的监控项列表采集监控数据,具体包括:当缓存操作的原始数据的缓存关键字包含在监控项列表中时,则对缓存操作进行监控数据的采集。
其中,数据上报模块302还被配置为:缓存监控数据;在预定条件达成时,基于超文本传输协议上报监控数据。
其中,数据上报模块302还被配置为:当采集的监控数据的数据量超过数据量阈值时,或当第一定时任务被触发时,基于超文本传输协议上报监控数据。
其中,报警判断模块303还被配置为:当第二定时任务被触发时,根据报警规则基于对监控数据进行的报警判断从监控数据中筛选出待报警数据。
其中,报警处理模块304还被配置为:根据预定处理规则针对待报警数据进行预处理并报警;报警包括:通过即时通讯进行报警。
其中,还包括监控模块,被配置为:缓存监控数据;当第三定时任务被触发时,将监控数据转发至监控平台进行可视化显示。
其中,监控数据缓存性能指标和缓存业务指标;其中,缓存性能指标包括以下至少其中之一:缓存命中次数、缓存未命中次数以及缓存值大小;缓存业务指标包括以下至少其中之一:缓存操作的定时任务是否正常执行、不应为空的缓存是否为空以及缓存的更新频率是否在预期范围内。
图3仅仅示出了数据采集模块301、数据上报模块302、报警判断模块303和报警处理模块304置于同一端的情况,其中,数据上报模块302、报警判断模块303和报警处理模块304还可以置于宿主机300端之外,例如可以置于服务器端等,在此不作限定。图4则示出了数据采集模块402、数据上报模块403和报警判断模块404同置于宿主机401端,而报警处理模块406置于服务器405端的情况,宿主机401与服务器405共同构成了缓存监控的整体逻辑框架400,此图仅为示例性展示,不构成对本发明的限制。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明所称“模块”可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式。
如图5所示为根据本申请的缓存监控装置的一种具体实施方式的缓存监控框架的结构示意图,其中,数据采集模块(例如Java App)、数据上报模块(例如哨兵代理)置于宿主机端,报警判断模块和报警处理模块置于服务器端。当数据采集模块基于监控报警规则管理中心下发的监控规则采集到监控数据后暂时缓存在内存中,当采集的监控数据的数据量超过数据量阈值时,或当第一定时任务被触发时,基于超文本传输协议上报监控数据到数据上报模块(例如哨兵代理),数据上报模块可以将监控数据上报到报警判断模块,报警判断模块基于监控报警规则管理中心下发的报警规则对监控数据进行报警判断,报警处理模块对报警判断模块筛选出的待报警数据进行报警处理,例如可以通过即时通讯、邮件和短信等形式向用户报警,数据上报模块还可以将监控数据上报到监控平台(例如哨兵大盘)进行可视化显示。
作为第一个具体实施例,可以对缓存是否丢失进行监控,缓存未命中时,数据采集模块(Java App)记录丢失次数并存在缓存中,当第一定时任务被触发时,数据采集模块(Java App)将丢失次数及对应的缓存关键字上报到哨兵代理,哨兵代理将数据转达给哨兵大盘,哨兵大盘进行数据的存储和可视化。报警判断模块,从报警规则管理中心获取报警规则,根据规则判断是否应该报警(例如连续三次丢失的次数超过阈值则需要报警),如果需要报警,则转发给报警处理模块进行处理,报警处理模块可以通过IM(Instant Messaging,简称IM,即时通讯)、邮件、短信的形式向用户发送报警信息或通过其他形式进行报警。
作为第二个具体实施例,可以对缓存写频率过高进行监控,缓存写操作时,数据采集模块(Java App)记录每分钟的写入次数,当第一定时任务被触发时,数据采集模块(JavaApp)将每分钟的写入次数及对应的缓存关键字上报到哨兵代理,哨兵代理将数据转达给哨兵大盘,哨兵进行数据的存储和可视化。报警判断模块,从报警规则管理中心获取报警规则,根据报警规则判断是否应该报警(例如连续三次每分钟写入的次数超过阈值则不需要报警),如果需要报警,则转发给报警处理模块进行处理,报警处理模块可以通过IM(Instant Messaging,简称IM,即时通讯)、邮件、短信的形式向用户发送报警信息或通过其他形式进行报警。
作为第三个具体实施例,可以对定时任务更新缓存场景下,缓存是否正常更新进行监控,缓存写操作时,数据采集模块(Java App)记录写入的时间,当第一定时任务被触发时,数据采集模块(Java App)将缓存的写入时间及对应的缓存关键字上报到哨兵代理,哨兵代理将数据转达给哨兵大盘,哨兵大盘进行数据的存储和可视化。报警判断模块,从报警规则管理中心获取报警规则,根据报警规则判断是否应该报警(例如写入的时间间隔不超过40min则不需要报警),如果需要报警,则转发给报警处理模块进行处理,报警处理模块可以通过IM(Instant Messaging,简称IM,即时通讯)、邮件、短信的形式向用户发送报警信息或通过其他形式进行报警。
上述三个具体实施例仅为帮助本领域技术人员理解本发明进行的举例,不构成对本发明的限制。
示例性计算设备
在介绍了本发明示例性实施方式的缓存监控方法、介质和装置之后,接下来,参考图6对本发明示例性实施方式的计算设备进行介绍。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的缓存监控方法的计算设备可以至少包括至少一个处理器、以及至少一个存储器。其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的缓存监控方法的步骤。
下面参考图6来描述根据本发明的这种实施方式的缓存监控方法的计算设备600。图6显示的缓存监控方法的计算设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,缓存监控方法的计算设备600以通用计算设备的形式表现。缓存监控方法的计算设备600的组件可以包括但不限于:上述至少一个处理器601、上述至少一个存储器602、连接不同系统组件(包括处理器601和存储器602)的总线603。
总线603表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器602可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)6021和/或高速缓存存储器6022,还可以进一步包括只读存储器6023。
存储器602还可以包括具有一组(至少一个)程序模块6024的程序/实用工具6025,这样的程序模块包括但不限于:操作系统、一个或多个应用程序、其它程序模块以及程序数据,这些实例中的每一个或者某种组合中可能包括网络环境的实现。
缓存监控方法的计算设备600也可以与一个或多个外部设备604(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或多个使得用户能与该缓存监控方法的计算设备600交互的设备通信,和/或与使得该缓存监控方法的计算设备600与一个或多个其他计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口605进行。并且,缓存监控方法的计算设备还可以通过网络适配器606与一个或多个网路(例如局域网,广域网等)通信。如图所示,网络适配器606通过总线与缓存监控方法的计算设备600的其他模块通信。应当明白,尽管图中未示出,可以结合缓存监控方法的计算设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了缓存监控装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
根据以上实施方式的说明,本申请提供了如下技术方案:
方案1.一种缓存监控方法,包括以下步骤:
针对缓存操作根据监控规则采集监控数据;
基于超文本传输协议上报所述监控数据;
根据报警规则对所述监控数据进行报警判断;
针对基于所述报警判断筛选出的待报警数据进行报警处理。
方案2.根据方案1所述的方法,其中,所述针对缓存操作根据监控规则采集监控数据包括步骤:
针对缓存操作根据所述监控规则中的监控项列表采集监控数据,具体包括:当缓存操作的缓存关键字包含在所述监控项列表中时,则对所述缓存操作进行监控数据的采集。
方案3.根据方案1所述的方法,其中,所述基于超文本传输协议上报所述监控数据包括:
缓存所述监控数据;
在预定条件达成时,基于超文本传输协议上报所述监控数据。
方案4.根据方案3所述的方法,其中,所述在预定条件达成时,基于超文本传输协议上报所述监控数据包括:
当采集的所述监控数据的数据量超过数据量阈值时,或当第一定时任务被触发时,基于超文本传输协议上报所述监控数据。
方案5.根据方案1所述的方法,其中,所述根据报警规则对所述监控数据进行报警判断包括:
当第二定时任务被触发时,根据报警规则基于对所述监控数据进行的报警判断从所述监控数据中筛选出待报警数据。
方案6.根据方案1所述的方法,其中,所述针对基于所述报警判断筛选出的待报警数据进行报警处理包括:
根据预定处理规则针对所述待报警数据进行预处理并报警;
所述报警处理包括:通过即时通讯进行报警。
方案7.根据方案1所述的方法,其中,所述基于超文本传输协议上报所述监控数据还包括:
缓存所述监控数据;
当第三定时任务被触发时,将所述监控数据转发至监控平台进行可视化显示。
方案8.根据方案1所述的方法,其中,所述监控数据包括缓存性能指标和缓存业务指标;其中
所述缓存性能指标包括以下至少其中之一:缓存命中次数、缓存未命中次数以及缓存值大小;
所述缓存业务指标包括以下至少其中之一:缓存操作的定时任务是否正常执行、不应为空的缓存是否为空以及缓存的更新频率是否在预期范围内。
方案9.一种计算机可读存储介质,存储有程序代码,所述程序代码当被处理器执行时,实现如方案1-8之一所述的方法。
方案10.一种缓存监控装置,包括:
数据采集模块,被配置为针对缓存操作根据监控规则采集监控数据;
数据上报模块,被配置为基于超文本传输协议上报所述监控数据;
报警判断模块,被配置为根据报警规则对所述监控数据进行报警判断;
报警处理模块,被配置为针对基于所述报警判断筛选出的待报警数据进行报警处理。
方案11.根据方案10所述的装置,其中,所述数据采集模块还被配置为:
针对缓存操作根据所述监控规则中的监控项列表采集监控数据,具体包括:当缓存操作的缓存关键字包含在所述监控项列表中时,则对所述缓存操作进行监控数据的采集。
方案12.根据方案10所述的装置,其中,所述数据上报模块还被配置为:
缓存所述监控数据;
在预定条件达成时,基于超文本传输协议上报所述监控数据。
方案13.根据方案12所述的装置,其中,所述数据上报模块还被配置为:
当采集的所述监控数据的数据量超过数据量阈值时,或当第一定时任务被触发时,基于超文本传输协议上报所述监控数据。
方案14.根据方案10所述的装置,其中,所述报警判断模块还被配置为:
当第二定时任务被触发时,根据报警规则基于对所述监控数据进行的报警判断从所述监控数据中筛选出待报警数据。
方案15.根据方案10所述的装置,其中,所述报警处理模块还被配置为:
根据预定处理规则针对所述待报警数据进行预处理并报警;
所述报警包括:通过即时通讯进行报警。
方案16.根据方案10所述的装置,其中,还包括监控模块,被配置为:
缓存所述监控数据;
当第三定时任务被触发时,将所述监控数据转发至监控平台进行可视化显示。
方案17.根据方案10所述的装置,其中,所述监控数据缓存性能指标和缓存业务指标;其中
所述缓存性能指标包括以下至少其中之一:缓存命中次数、缓存未命中次数以及缓存值大小;
所述缓存业务指标包括以下至少其中之一:缓存操作的定时任务是否正常执行、不应为空的缓存是否为空以及缓存的更新频率是否在预期范围内。
方案18.一种计算设备,包括处理器和存储有程序代码的存储介质,所述程序代码当被处理器执行时,实现如方案1-8之一所述的方法。

Claims (16)

1.一种缓存监控方法,包括以下步骤:
针对缓存操作根据监控规则采集监控数据;
基于超文本传输协议上报所述监控数据;其中,所述监控数据包括缓存性能指标和缓存业务指标;
根据报警规则对所述监控数据进行报警判断;
针对基于所述报警判断筛选出的待报警数据进行报警处理;
其中,所述缓存性能指标包括以下至少其中之一:缓存命中次数、缓存未命中次数以及缓存值大小;
所述缓存业务指标包括以下至少其中之一:缓存操作的定时任务是否正常执行、不应为空的缓存是否为空以及缓存的更新频率是否在预期范围内。
2.根据权利要求1所述的方法,其中,所述针对缓存操作根据监控规则采集监控数据包括步骤:
针对缓存操作根据所述监控规则中的监控项列表采集监控数据,具体包括:当缓存操作的缓存关键字包含在所述监控项列表中时,则对所述缓存操作进行监控数据的采集。
3.根据权利要求1所述的方法,其中,所述基于超文本传输协议上报所述监控数据包括:
缓存所述监控数据;
在预定条件达成时,基于超文本传输协议上报所述监控数据。
4.根据权利要求3所述的方法,其中,所述在预定条件达成时,基于超文本传输协议上报所述监控数据包括:
当采集的所述监控数据的数据量超过数据量阈值时,或当第一定时任务被触发时,基于超文本传输协议上报所述监控数据。
5.根据权利要求1所述的方法,其中,所述根据报警规则对所述监控数据进行报警判断包括:
当第二定时任务被触发时,根据报警规则基于对所述监控数据进行的报警判断从所述监控数据中筛选出待报警数据。
6.根据权利要求1所述的方法,其中,所述针对基于所述报警判断筛选出的待报警数据进行报警处理包括:
根据预定处理规则针对所述待报警数据进行预处理并报警;
所述报警处理包括:通过即时通讯进行报警。
7.根据权利要求1所述的方法,其中,所述基于超文本传输协议上报所述监控数据还包括:
缓存所述监控数据;
当第三定时任务被触发时,将所述监控数据转发至监控平台进行可视化显示。
8.一种计算机可读存储介质,存储有程序代码,所述程序代码当被处理器执行时,实现如权利要求1-7之一所述的方法。
9.一种缓存监控装置,包括:
数据采集模块,被配置为针对缓存操作根据监控规则采集监控数据;
数据上报模块,被配置为基于超文本传输协议上报所述监控数据;其中,所述监控数据包括缓存性能指标和缓存业务指标;
报警判断模块,被配置为根据报警规则对所述监控数据进行报警判断;
报警处理模块,被配置为针对基于所述报警判断筛选出的待报警数据进行报警处理;
其中,所述缓存性能指标包括以下至少其中之一:缓存命中次数、缓存未命中次数以及缓存值大小;
所述缓存业务指标包括以下至少其中之一:缓存操作的定时任务是否正常执行、不应为空的缓存是否为空以及缓存的更新频率是否在预期范围内。
10.根据权利要求9所述的装置,其中,所述数据采集模块还被配置为:
针对缓存操作根据所述监控规则中的监控项列表采集监控数据,具体包括:当缓存操作的缓存关键字包含在所述监控项列表中时,则对所述缓存操作进行监控数据的采集。
11.根据权利要求9所述的装置,其中,所述数据上报模块还被配置为:
缓存所述监控数据;
在预定条件达成时,基于超文本传输协议上报所述监控数据。
12.根据权利要求11所述的装置,其中,所述数据上报模块还被配置为:
当采集的所述监控数据的数据量超过数据量阈值时,或当第一定时任务被触发时,基于超文本传输协议上报所述监控数据。
13.根据权利要求9所述的装置,其中,所述报警判断模块还被配置为:
当第二定时任务被触发时,根据报警规则基于对所述监控数据进行的报警判断从所述监控数据中筛选出待报警数据。
14.根据权利要求9所述的装置,其中,所述报警处理模块还被配置为:
根据预定处理规则针对所述待报警数据进行预处理并报警;
所述报警包括:通过即时通讯进行报警。
15.根据权利要求9所述的装置,其中,还包括监控模块,被配置为:
缓存所述监控数据;
当第三定时任务被触发时,将所述监控数据转发至监控平台进行可视化显示。
16.一种计算设备,包括处理器和存储有程序代码的存储介质,所述程序代码当被处理器执行时,实现如权利要求1-7之一所述的方法。
CN201811309069.7A 2018-11-05 2018-11-05 缓存监控方法、介质、装置和计算设备 Active CN109491873B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811309069.7A CN109491873B (zh) 2018-11-05 2018-11-05 缓存监控方法、介质、装置和计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811309069.7A CN109491873B (zh) 2018-11-05 2018-11-05 缓存监控方法、介质、装置和计算设备

Publications (2)

Publication Number Publication Date
CN109491873A CN109491873A (zh) 2019-03-19
CN109491873B true CN109491873B (zh) 2022-08-02

Family

ID=65693876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811309069.7A Active CN109491873B (zh) 2018-11-05 2018-11-05 缓存监控方法、介质、装置和计算设备

Country Status (1)

Country Link
CN (1) CN109491873B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110099132B (zh) * 2019-05-21 2022-05-17 逍牛网络科技(上海)有限公司 一种数据同步方法、装置、系统、设备和存储介质
CN111049882B (zh) * 2019-11-11 2023-03-10 支付宝(杭州)信息技术有限公司 缓存状态处理系统、方法、装置及计算机可读存储介质
CN113468127A (zh) * 2020-03-30 2021-10-01 同方威视科技江苏有限公司 数据缓存方法、装置、介质及电子设备
CN113486065A (zh) * 2021-07-12 2021-10-08 网易(杭州)网络有限公司 性能数据监控方法、装置、介质及电子设备
CN113553233B (zh) * 2021-07-19 2024-07-23 中国电信股份有限公司 监控处理方法、监控处理装置、存储介质与电子设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4189402B2 (ja) * 2005-02-21 2008-12-03 パナソニック株式会社 キャッシュ回路
US7653722B1 (en) * 2005-12-05 2010-01-26 Netapp, Inc. Server monitoring framework
JP6191240B2 (ja) * 2013-05-28 2017-09-06 富士通株式会社 変数更新装置、変数更新システム、変数更新方法、変数更新プログラム、変換プログラム、及びプログラム変更検証システム
CN104239228B (zh) * 2013-06-20 2017-11-03 华为技术有限公司 一种缓存冲突检测方法、装置及系统
CN103383666B (zh) * 2013-07-16 2016-12-28 中国科学院计算技术研究所 改善缓存预取数据局部性的方法和系统及缓存访问方法
CN103488581B (zh) * 2013-09-04 2016-01-13 用友网络科技股份有限公司 数据缓存系统和数据缓存方法
CN103532739B (zh) * 2013-09-25 2017-09-29 上海斐讯数据通信技术有限公司 一种基于网络服务与应用的监控分析系统
CN104219327B (zh) * 2014-09-27 2017-05-10 上海瀚之友信息技术服务有限公司 一种分布式缓存系统
CN104699422B (zh) * 2015-03-11 2018-03-13 华为技术有限公司 缓存数据的确定方法及装置
CN106649031A (zh) * 2016-10-14 2017-05-10 郑州云海信息技术有限公司 一种监控数据的获取方法、装置及计算机
CN106529278B (zh) * 2016-11-07 2019-07-05 深圳盛灿科技股份有限公司 非侵入式监控方法及装置
CN106878064B (zh) * 2017-01-16 2021-08-13 腾讯科技(深圳)有限公司 数据监控方法和装置
CN107678907B (zh) * 2017-05-22 2020-04-10 平安科技(深圳)有限公司 数据库业务逻辑监控方法、系统、及存储介质
CN107992398B (zh) * 2017-12-22 2021-04-27 宜人恒业科技发展(北京)有限公司 一种业务系统的监控方法和监控系统

Also Published As

Publication number Publication date
CN109491873A (zh) 2019-03-19

Similar Documents

Publication Publication Date Title
CN109491873B (zh) 缓存监控方法、介质、装置和计算设备
CN110417575A (zh) 运维监控平台的告警方法、装置和计算机设备
CN109992454B (zh) 故障定位的方法、装置和存储介质
CN112636957B (zh) 基于日志的预警方法、装置、服务器及存储介质
CN105468492A (zh) 一种基于搜索引擎的数据监控方法和系统
US20240020017A1 (en) Monitoring method and apparatus for electronic device, and electronic device
CN111522703A (zh) 监控访问请求的方法、设备和计算机程序产品
CN111726358A (zh) 攻击路径分析方法、装置、计算机设备及存储介质
CN113098715B (zh) 一种信息处理方法、装置、系统、介质和计算设备
CN113342619A (zh) 日志监控方法、系统、电子设备及可读介质
CN112910733A (zh) 一种基于大数据的全链路监控系统及方法
CN113672416B (zh) 硬buffer泄漏的原因定位方法及装置
CN113791943A (zh) 网站实时监控方法、系统、设备及存储介质
CN102077510A (zh) 监视系统中消息的针对性的用户通知
CN110928940B (zh) 基于kafka集群的数据写入方法、装置、电子设备、存储介质
CN110851316B (zh) 异常预警方法及装置、系统、电子设备、存储介质
CN111316691A (zh) 基于可用资源向设备缓存和提供数据
CN111741046B (zh) 数据上报方法、获取方法、装置、设备及介质
CN111061744B (zh) 图数据的更新方法、装置、计算机设备及存储介质
CN114219486A (zh) 批次交易处理方法、装置、计算机设备及存储介质
CN112818204A (zh) 一种业务的处理方法、装置、设备及存储介质
CN111542048A (zh) 侦码设备采集功能重启方法、装置、服务器及存储介质
CN114257575B (zh) 一种客户端数据的处理方法、装置、电子设备及存储介质
CN109450700B (zh) 可视化的业务检测方法及装置
CN118331823B (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
TA01 Transfer of patent application right

Effective date of registration: 20191107

Address after: 310012 G building, 10 floor, A building, Paradise Software Park, 3 West Road, Hangzhou, Xihu District, Zhejiang

Applicant after: Alibaba (China) Co.,Ltd.

Address before: Hangzhou City, Zhejiang province 310051 Binjiang District River Street No. 1786 Jianghan Road Longsheng Building Room 803

Applicant before: NETEASE KOALA (HANGZHOU) TECH CO.,LTD.

TA01 Transfer of patent application right
CB02 Change of applicant information

Address after: Room 554, 5 / F, building 3, 969 Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: 310012 G Block, 10th Building, Building A, Paradise Software Park, No. 3 Xidoumen Road, Xihu District, Hangzhou City, Zhejiang Province

Applicant before: Alibaba (China) Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20221214

Address after: Room 101, Warehouse 1, No. 88, Jingbin Avenue, Jingbin Industrial Park, Wuqing District, Tianjin 301739

Patentee after: Alibaba Huabei Technology Co.,Ltd.

Address before: Room 554, 5 / F, building 3, 969 Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province

Patentee before: Alibaba (China) Co.,Ltd.

TR01 Transfer of patent right