Redis状态信息的获取方法、装置和存储介质及电子装置
文献发布时间:2023-06-19 18:58:26
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种Redis状态信息的获取方法、装置和存储介质及电子装置。
背景技术
现有技术中,往往采用根据对指定的零散指标(例如内存使用情况)进行阈值判断的方式,以确定Redis在对应零散指标的维度上是否是正常运行状态。然而,该方式仅仅是对Redis零散指标对应的运行状态获取,获取到的Redis状态信息不够全面、不够完整,进而导致Redis状态信息的获取准确性低下。
因此,相关技术中存在Redis状态信息的获取准确性低下的问题。
发明内容
本申请实施例提供了一种Redis状态信息的获取方法、装置和存储介质及电子装置,以至少解决相关技术中存在Redis状态信息的获取准确性低下的技术问题。
根据本申请实施例的一个方面,提供了一种Redis状态信息的获取方法,包括:获取Redis集合中各个Redis节点对应的评估参考信息,其中,上述Redis集合中包括至少两个Redis节点,上述Redis节点的节点类型包括至少两类,上述评估参考信息用于为上述Redis节点的各项指标提供评估参考;利用上述各个Redis节点所属的节点类型对应的预设权重,对上述各个Redis节点对应的评估参考信息进行整合计算,得到目标评估参考信息;基于上述目标评估参考信息,获取上述Redis集合对应的目标状态信息,其中,上述目标状态信息用于评估上述Redis集合的整体健康程度。
根据本申请实施例的另一方面,还提供了一种Redis状态信息的获取装置,包括:第一获取单元,用于获取Redis集合中各个Redis节点对应的评估参考信息,其中,上述Redis集合中包括至少两个Redis节点,上述Redis节点的节点类型包括至少两类,上述评估参考信息用于为上述Redis节点的各项指标提供评估参考;整合单元,用于利用上述各个Redis节点所属的节点类型对应的预设权重,对上述各个Redis节点对应的评估参考信息进行整合计算,得到目标评估参考信息;第二获取单元,用于基于上述目标评估参考信息,获取上述Redis集合对应的目标状态信息,其中,上述目标状态信息用于评估上述Redis集合的整体健康程度。
作为一种可选的方案,上述整合单元包括:加权求和模块,用于对上述各个Redis节点对应的评估参考信息进行加权求和计算,得到上述目标评估参考信息,其中,上述加权求和计算中所使用的权重为上述各个Redis节点所属的节点类型对应的预设权重。
作为一种可选的方案,上述加权求和模块包括:第一获取子模块,用于从上述至少两个Redis节点中确定出当前Redis第一节点,并获取上述当前Redis对应的当前评估参考信息、和上述当前Redis第一节点的节点类型对应的当前权重,直至得到上述目标评估参考信息;加权子模块,用于利用上述当前权重对上述当前评估参考信息进行加权计算,得到当前加权数值,直至得到上述目标评估参考信息;求和子模块,用于将上述当前加权数据与已得到的加权数值进行求和,得到当前目标评估参考数值,直至得到上述目标评估参考信息;确定子模块,用于在上述各个Redis节点都已得到对应的加权数值的情况下,将上述当前目标评估参考数值确定为上述目标评估参考信息,直至得到上述目标评估参考信息;第二获取子模块,用于在上述至少两个Redis节点中还存在未得到对应的加权数值的情况下,从上述至少两个Redis节点中选取下一Redis节点,并将上述下一Redis节点确定为上述当前Redis第一节点,直至得到上述目标评估参考信息。
作为一种可选的方案,上述装置还包括:第一确定模块,用于在上述获取Redis集合中各个Redis节点对应的评估参考信息之后,在上述各个Redis节点对应的评估参考信息满足异常状态条件的情况下,确定上述Redis集合对应的异常状态信息,其中,上述异常状态信息用于提示上述Redis集合的整体健康程度小于或等于健康程度阈值。
作为一种可选的方案,上述第一获取单元包括:第一获取模块,用于从上述至少两个Redis节点中确定出当前Redis第二节点,并获取上述当前Redis第二节点的初始指标值、和上述当前Redis第二节点的待扣除值,其中,上述待扣除值用于表示上述当前Redis第二节点不满足预设指标时所需扣除的数值,直至上述各个Redis节点对应的评估参考信息满足上述异常状态条件,或上述各个Redis节点对应的评估参考信息满足初始状态条件;第二确定模块,用于计算上述初始指标值、和上述待扣除值之差,得到当前指标值,并将上述当前指标值确定为上述当前Redis第二节点对应的评估参考信息,直至上述各个Redis节点对应的评估参考信息满足上述异常状态条件,或上述各个Redis节点对应的评估参考信息满足初始状态条件;统计模块,用于在上述各个Redis节点都已得到对应的评估参考信息的情况下,统计上述评估参考信息对应的指标值小于或等于第一异常阈值的目标数量,直至上述各个Redis节点对应的评估参考信息满足上述异常状态条件,或上述各个Redis节点对应的评估参考信息满足初始状态条件;第三确定模块,用于在上述目标数量大于或等于第二异常阈值的情况下,确定上述各个Redis节点对应的评估参考信息满足上述异常状态条件;或,在上述目标数量小于上述第二异常阈值的情况下,确定上述各个Redis节点对应的评估参考信息满足上述初始状态条件,直至上述各个Redis节点对应的评估参考信息满足上述异常状态条件,或上述各个Redis节点对应的评估参考信息满足初始状态条件;上述装置还包括:第二获取模块,用于在上述确定上述各个Redis节点对应的评估参考信息满足上述初始状态条件之后,获取上述目标评估参考信息,直至上述各个Redis节点对应的评估参考信息满足上述异常状态条件,或上述各个Redis节点对应的评估参考信息满足初始状态条件。
作为一种可选的方案,上述整合单元包括:第四确定模块,用于从上述各个Redis节点对应的评估参考信息中确定出满足第一置信条件的多个评估参考信息;计算模块,用于利用上述多个评估参考信息中的各个评估参考信息对应的Redis节点所属的节点类型对应的预设权重,对上述多个评估参考信息进行整合计算,得到上述目标评估参考信息。
作为一种可选的方案,上述第二获取单元包括:第五确定模块,用于在上述目标评估参考信息满足上述第二置信条件的情况下,将上述目标评估参考信息确定为上述目标状态信息;或,第三获取模块,用于在上述目标评估参考信息不满足上述第二置信条件的情况下,获取上述Redis集合关联的整体参考信息;整合模块,用于对上述整体参考信息与上述目标状态信息进行整合处理,得到上述目标状态信息。
根据本申请实施例的又一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上Redis状态信息的获取方法。
根据本申请实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的Redis状态信息的获取方法。
在本申请实施例中,获取Redis集合中各个Redis节点对应的评估参考信息,其中,上述Redis集合中包括至少两个Redis节点,上述Redis节点的节点类型包括至少两类,上述评估参考信息用于为上述Redis节点的各项指标提供评估参考;利用上述各个Redis节点所属的节点类型对应的预设权重,对上述各个Redis节点对应的评估参考信息进行整合计算,得到目标评估参考信息;基于上述目标评估参考信息,获取上述Redis集合对应的目标状态信息,其中,上述目标状态信息用于评估上述Redis集合的整体健康程度;
利用上述Redis状态信息的获取方法,基于Redis集合中包括的各个Redis节点对应的评估参考信息进行加权整合计算,以得到反映Redis集合的整体健康程度的目标状态信息,进而达到了对Redis集合中的各个Redis节点对应的各项指标进行量化并结合节点权重,以真实、全面、完整地确定Redis集合的整体健康状态的目的,从而实现了提高Redis状态信息的获取准确性的技术效果,解决了相关技术中存在Redis状态信息的获取准确性低下的技术问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的一种Redis状态信息的获取方法的硬件环境示意图;
图2是根据本申请实施例的一种可选的Redis状态信息的获取方法的流程的示意图;
图3是根据本申请实施例的一种可选的Redis状态信息的获取方法的示意图;
图4是根据本申请实施例的另一种可选的Redis状态信息的获取方法的示意图;
图5是根据本申请实施例的一种可选的Redis状态信息的获取方法的流程的示意图;
图6是根据本申请实施例的一种可选的Redis状态信息的获取方法的示意图;
图7是根据本申请实施例的另一种可选的Redis状态信息的获取方法的示意图;
图8是根据本发明实施例的一种可选的信息处理装置的示意图;
图9是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一个方面,提供了一种Redis状态信息的获取方法,可选地,作为一种可选的实施方式,上述Redis状态信息的获取方法可以但不限于应用于如图1所示的环境中。其中,可以但不限于包括用户设备102以及服务器112,该用户设备102上可以但不限于包括显示器104、处理器106及存储器108,该服务器112包括数据库114以及处理引擎116。
具体过程可如下步骤:
步骤S102,用户设备102获取Redis集合中各个Redis节点对应的评估参考信息、各个Redis节点所属的节点类型对应的预设权重;
步骤S104-S106,通过网络110将上述评估参考信息、预设权重发送至服务器112;
步骤S108,服务器112通过处理引擎利用所述各个Redis节点所属的节点类型对应的预设权重,对所述各个Redis节点对应的评估参考信息进行整合计算,得到目标评估参考信息;
步骤S110,服务器112通过处理引擎基于所述目标评估参考信息,获取所述Redis集合对应的目标状态信息,其中,所述目标状态信息用于评估所述Redis集合的整体健康程度;
步骤S112-S114,通过网络110将目标状态信息发送至用户设备102。
除图1示出的示例之外,上述步骤可以由客户端或服务器独立完成,或由客户端和服务器共同协作完成,如由用户设备102执行上述S108-S110等步骤,从而减轻服务器112的处理压力。该用户设备102包括但不限于手持设备(如手机)、笔记本电脑、台式电脑、车载设备等,本申请并不限制用户设备102的具体实现方式。
可选地,作为一种可选的实施方式,如图2所示,Redis状态信息的获取方法包括:
S202,获取Redis集合中各个Redis节点对应的评估参考信息,其中,Redis集合中包括至少两个Redis节点,Redis节点的节点类型包括至少两类,评估参考信息用于为Redis节点的各项指标提供评估参考;
S204,利用各个Redis节点所属的节点类型对应的预设权重,对各个Redis节点对应的评估参考信息进行整合计算,得到目标评估参考信息;
S204,基于目标评估参考信息,获取Redis集合对应的目标状态信息,其中,目标状态信息用于评估Redis集合的整体健康程度。
可选地,在本实施例中,上述Redis状态信息的获取方法可以但不限于应用在计算Redis集群的健康度的场景下,其中,Redis集群的健康度可以但不限于用于反映Redis集群的整体健康程度,Redis集群可以但不限于包括多个Redis服务器。
需要说明的是,现有技术中往往通过建立健康监控系统的方式完成对Redis健康状态的评估。监控系统通常配置内存使用情况、持久化等指标的阈值状态。当监控系统判定各指标的值超过对应的阈值时,记录异常状况,发起告警,通过告警直接判定Redis的健康状态是否正常。
然而,上述监控系统仅仅是对单个Redis服务器的指定零散指标进行阈值判断,获取到的Redis状态信息不够全面、不够完整,进而导致获取到的Redis状态信息准确性低下;且没有对整个Redis集群的整体健康状态进行量化的评估,对于不同Redis项目而言,不同项目中的Redis服务器无法进行量化比对,不便于后续对Redis项目进行内存评估、性能提升等。
可选地,在本实施例中,一个Redis项目可以但不限于对应一个Redis集群,一个Redis集群可以但不限于包括多个Redis服务器。
针对上述获取到的Redis状态信息不够全面、不够完整导致的Redis状态信息获取准确性低下的问题,利用上述Redis状态信息的获取方法,基于Redis集合中包括的各个Redis节点对应的评估参考信息进行加权整合计算,以得到反映Redis集合的整体健康程度的目标状态信息,进而达到了对Redis集合中的各个Redis节点对应的各项指标进行量化并结合节点权重,以真实、全面、完整地确定Redis集合的整体健康状态的目的,从而实现了提高Redis状态信息的获取准确性的技术效果,解决了上述Redis状态信息的获取准确性低下的问题。
可选地,在本实施例中,Redis集合可以但不限于包括至少两个Redis节点,其中,Redis节点可以但不限于对应Redis服务器,Redis集合可以但不限于对应包括至少两个Redis服务器的Redis集群。
可选地,在本实施例中,Redis节点的节点类型包括至少两类,其中,每一个Redis节点的节点类型对应关联的预设权重,预设权重可以但不限于用于加权计算Redis节点对应的评估参考信息。
可选地,在本实施例中,Redis节点的节点类型可以但不限于包括主节点类型、从节点类型、哨兵节点类型,其中,主节点类型对应的预设权重可以但不限于为1.0,从节点类型对应的预设权重可以但不限于为0.5,哨兵节点类型对应的预设权重可以但不限于为0.5。
需要说明的是,Redis节点的节点类型可以但不限于用于指示Redis节点当前在Redis集合中的重要程度,例如,主节点类型可以但不限于用于指示Redis节点当前为Redis集合中的核心数据服务器,从节点类型可以但不限于用于指示Redis节点为当前Redis集合中的备份数据服务器。
可选地,在本实施例中,目标参考信息可以但不限于用于指示对Redis集合中的各个Redis节点对应的评估参考信息进行整合计算后得到的数值,目标状态信息可以但不限于为基于目标参考信息所指示的Redis集合的健康数值确定得到的用于评估Redis集合的整体健康程度的信息。
需要说明的是,目标评估参考信息可以但不限于理解为计算得到Redis集合的健康分数,目标状态信息可以但不限于理解为包括目标参考信息反映的健康分数以及Redis集合状态信息。
举例说明,在目标评估参考信息指示的Redis集合的健康分数低于健康分数预设阈值的情况下,基于目标评估参考信息确定目标状态信息,其中,目标状态信息可以但不限于包括Redis集合的健康分数、Redis集合对应的集合信息、警示信息等。
进一步举例说明,如图3所示,Redis集合302中至少包括第一Redis节点304、第二Redis节点306,其中,第一Redis节点304对应第一评估参考信息308,第二Redis节点对应第二评估参考信息310;
可选地,在获取到第一Redis节点304对应的第一评估参考信息308、以及第二Redis节点306对应的第二评估参考信息310之后,基于Redis节点所属的节点类型获取对应的预设权重,其中,第一Redis节点304所属的节点类型为主节点类型,对应的第一预设权重312为1.0,第二Redis节点306所属的节点类型为从节点类型,对应的第二预设权重314为0.5;
需要说明的是,本实施例并不限制Redis节点对应的评估参考信息与节点类型对应的预设权重的获取顺序;
基于第一评估参考信息308、第一预设权重312、第二评估参考信息310、以及第二预设权重314,进行整合计算,得到目标评估参考信息316;
基于目标评估参考信息316,获取Redis集合302对应的目标状态信息318,其中,目标状态信息318用于评估Redis集合302的整体健康程度。
通过本申请提供的实施例,获取Redis集合中各个Redis节点对应的评估参考信息,其中,上述Redis集合中包括至少两个Redis节点,上述Redis节点的节点类型包括至少两类,上述评估参考信息用于为上述Redis节点的各项指标提供评估参考;利用上述各个Redis节点所属的节点类型对应的预设权重,对上述各个Redis节点对应的评估参考信息进行整合计算,得到目标评估参考信息;基于上述目标评估参考信息,获取上述Redis集合对应的目标状态信息,其中,上述目标状态信息用于评估上述Redis集合的整体健康程度;
利用上述Redis状态信息的获取方法,基于Redis集合中包括的各个Redis节点对应的评估参考信息进行加权整合计算,以得到反映Redis集合的整体健康程度的目标状态信息,进而达到了对Redis集合中的各个Redis节点对应的各项指标进行量化并结合节点权重,以真实、全面、完整地确定Redis集合的整体健康状态的目的,从而实现了提高Redis状态信息的获取准确性的技术效果。
作为一种可选的方案,利用各个Redis节点所属的节点类型对应的预设权重,对各个Redis节点对应的评估参考信息进行整合计算,得到目标评估参考信息,包括:
S1,对各个Redis节点对应的评估参考信息进行加权求和计算,得到目标评估参考信息,其中,加权求和计算中所使用的权重为各个Redis节点所属的节点类型对应的预设权重。
需要说明的是,利用各个Redis节点所属的节点类型对应的预设权重,对各个Redis节点对应的评估参考信息进行整合计算,得到目标评估参考信息,可以但不限于为对各个Redis节点对应的评估参考信息进行加权求和计算,得到目标评估参考信息,其中,加权求和计算中所使用的权重为各个Redis节点所属的节点类型对应的预设权重。
进一步举例说明,如图3所示,基于第一评估参考信息308、第一预设权重312、第二评估参考信息310、以及第二预设权重314,进行整合计算,得到目标评估参考信息316可以但不限于包括:获取第一评估参考信息308、第一预设权重312的第一加权乘积结果,以及获取第二评估参考信息310、第二预设权重314的第二加权乘积结果,利用第一加权乘积结果与第二加权乘积结果进行求和计算,得到目标评估参考信息316。
通过本申请提供的实施例,对各个Redis节点对应的评估参考信息进行加权求和计算,得到目标评估参考信息,其中,加权求和计算中所使用的权重为各个Redis节点所属的节点类型对应的预设权重。基于Redis集合中包括的各个Redis节点对应的评估参考信息进行加权求和计算得到目标评估参考信息,保证了后续基于目标评估参考信息确定目标状态信息的真实性、全面性以及完整性,进而达到真实、全面、完整地确定Redis集合的整体健康状态的目的,从而实现了提高Redis状态信息的获取准确性的技术效果。
作为一种可选的方案,对各个Redis节点对应的评估参考信息进行加权求和计算,得到目标评估参考信息,包括:
执行以下步骤,直至得到目标评估参考信息:
S1,从至少两个Redis节点中确定出当前Redis第一节点,并获取当前Redis第一节点第一节点对应的当前评估参考信息、和当前Redis第一节点的节点类型对应的当前权重;
S2,利用当前权重对当前评估参考信息进行加权计算,得到当前加权数值;
S3,将当前加权数据与已得到的加权数值进行求和,得到当前目标评估参考数值;
S4,在各个Redis节点都已得到对应的加权数值的情况下,将当前目标评估参考数值确定为目标评估参考信息;
S5,在至少两个Redis节点中还存在未得到对应的加权数值的情况下,从至少两个Redis节点中选取下一Redis节点,并将下一Redis节点确定为当前Redis第一节点。
举例说明,如图4所示,上述目标评估参考信息的确定方式,具体包括如下步骤:
步骤S402,从至少两个Redis节点中确定出当前Redis第一节点,并获取当前Redis第一节点第一节点对应的当前评估参考信息、和当前Redis第一节点的节点类型对应的当前权重;
步骤S404,利用当前权重对当前评估参考信息进行加权计算,得到当前加权数值;
步骤S406,将当前加权数据与已得到的加权数值进行求和,得到当前目标评估参考数值;
步骤S408,判断当前是否各个Redis节点都已得到对应的加权数值;
步骤S410,在当前各个Redis节点都已得到对应的加权数值的情况下,将当前目标评估参考数值确定为目标评估参考信息;
步骤S412,在至少两个Redis节点中还存在未得到对应的加权数值的情况下,从至少两个Redis节点中选取下一Redis节点,并将下一Redis节点确定为当前Redis第一节点,并跳转至步骤S402,循环执行上述步骤,直至得到目标评估参考信息。
通过本申请提供的实施例,执行以下步骤,直至得到目标评估参考信息:从至少两个Redis节点中确定出当前Redis第一节点,并获取当前Redis第一节点第一节点对应的当前评估参考信息、和当前Redis第一节点的节点类型对应的当前权重;利用当前权重对当前评估参考信息进行加权计算,得到当前加权数值;将当前加权数据与已得到的加权数值进行求和,得到当前目标评估参考数值;在各个Redis节点都已得到对应的加权数值的情况下,将当前目标评估参考数值确定为目标评估参考信息;在至少两个Redis节点中还存在未得到对应的加权数值的情况下,从至少两个Redis节点中选取下一Redis节点,并将下一Redis节点确定为当前Redis第一节点;
利用上述对各个Redis节点对应的评估参考信息进行加权求和计算的方法,以确定目标评估参考信息,其中,目标评估参考信息用于确定反映Redis集合的整体健康程度的目标状态信息,进而达到了对Redis集合中的各个Redis节点对应的各项指标进行量化并结合节点权重,以真实、全面、完整地确定Redis集合的整体健康状态的目的,从而实现了提高Redis状态信息的获取准确性的技术效果。
作为一种可选的方案,在获取Redis集合中各个Redis节点对应的评估参考信息之后,方法还包括:
S1,在各个Redis节点对应的评估参考信息满足异常状态条件的情况下,确定Redis集合对应的异常状态信息,其中,异常状态信息用于提示Redis集合的整体健康程度小于或等于健康程度阈值。
可选地,在本实施例中,异常状态信息可以但不限于用于提示Redis集合的整体健康程度小于或等于健康程度阈值,可以但不限于用于指示Redis集合存在异常Redis节点的数量大于或等于异常节点数量阈值。
进一步举例说明,Redis集合中的各个Redis节点均对应各自的评估参考信息,其中,每一个评估参考信息对应关联的指标值。指标值的初始数值为100,在Redis节点中触发异常事件时,指标值对应扣除与异常事件对应的数值,其中,异常事件可以但不限于用于指示Redis节点的可用性异常、关联性异常、性能异常等。在Redis集合中的指标值不大于0的Redis节点数量大于或等于异常节点数量阈值时,确定Redis集合的整体健康程度小于或等于健康程度阈值。
需要说明的是,在Redis集合中的指标值不大于0的Redis节点数量大于或等于Redis集合中的Redis节点数量的一半时,确定Redis集合至少半数Redis节点不可用,以及确定Redis集合的整体健康度为0。
通过本申请提供的实施例,在各个Redis节点对应的评估参考信息满足异常状态条件的情况下,确定Redis集合对应的异常状态信息,其中,异常状态信息用于提示Redis集合的整体健康程度小于或等于健康程度阈值。
作为一种可选的方案,获取Redis集合中各个Redis节点对应的评估参考信息,包括:
执行以下步骤,直至各个Redis节点对应的评估参考信息满足异常状态条件,或各个Redis节点对应的评估参考信息满足初始状态条件:
S1,从至少两个Redis节点中确定出当前Redis第二节点,并获取当前Redis第二节点的初始指标值、和当前Redis第二节点的待扣除值,其中,待扣除值用于表示当前Redis第二节点不满足预设指标时所需扣除的数值;
S2,计算初始指标值、和待扣除值之差,得到当前指标值,并将当前指标值确定为当前Redis第二节点对应的评估参考信息;
S3,在各个Redis节点都已得到对应的评估参考信息的情况下,统计评估参考信息对应的指标值小于或等于第一异常阈值的目标数量;
S4,在目标数量大于或等于第二异常阈值的情况下,确定各个Redis节点对应的评估参考信息满足异常状态条件;或,在目标数量小于第二异常阈值的情况下,确定各个Redis节点对应的评估参考信息满足初始状态条件;
S5,在确定各个Redis节点对应的评估参考信息满足初始状态条件之后,方法还包括:获取目标评估参考信息。
可选地,在本实施例中,当前Redis第二节点对应初始指标值、待扣除值,其中,待扣除值可以但不限于用于表示当前Redis第二节点不满足预设指标时所需扣除的数值,预设指标可以但不限于包括可用性指标、关联指标、性能指标。
进一步举例说明,如表1所示,预设指标包括可用性指标、关联指标、性能指标,其中,可用性指标包括存活情况指标、反亲和指标;关联指标包括集群状态指标、槽位的情况指标、主从链接状态指标;性能指标包括使用内存情况指标、内存碎片率指标、连接数指标、拒绝的连接数指标、持久化指标、持久化时间指标、缓存命中率指标、慢日志指标。
需要说明的是,如表1所示,每一种预设指标均对应相应的规则、扣减分数、以及触发分数扣减的条件,例如,在反亲和规则触发时,即统一架构主从节点ip相同、同一主机有多个主节点、同一机器存在多个哨兵时,对当前Redis节点的指标值进行扣除15数值的扣减分数操作。
表1
需要说明的是,假设设定第一异常阈值为0,第二异常阈值为Redis集合中的Redis节点的数量的一半;则在各个Redis节点都已得到对应的评估参考信息的情况下,统计评估参考信息对应的指标值小于或等于0的目标数量;在目标数量大于或等于Redis集合中的Redis节点的数量的一半的情况下,确定Redis集合至少半数Redis节点不可用,以及确定Redis集合的整体健康度为0。
需要说明的是,在目标数量小于第二异常阈值的情况下,确定各个Redis节点对应的评估参考信息满足初始状态条件;以及在确定各个Redis节点对应的评估参考信息满足初始状态条件之后,方法还包括:获取目标评估参考信息。
举例说明,如图5所示,上述Redis集合中各个Redis节点对应的评估参考信息的获取方式,具体包括如下步骤:
步骤S502,从至少两个Redis节点中确定出当前Redis第二节点,并获取当前Redis第二节点的初始指标值、和当前Redis第二节点的待扣除值,其中,待扣除值用于表示当前Redis第二节点不满足预设指标时所需扣除的数值;
步骤S504,计算初始指标值、和待扣除值之差,得到当前指标值,并将当前指标值确定为当前Redis第二节点对应的评估参考信息;
步骤S506,判断当前是否各个Redis节点都已得到对应的评估参考信息;
步骤S508,在至少两个Redis节点中还存在未得到对应的评估参考信息的情况下,从至少两个Redis节点中选取下一Redis节点,并将下一Redis节点确定为当前Redis第二节点,并跳转至步骤S502,循环执行上述步骤,直至各个Redis节点都已得到对应的评估参考信息;
步骤S510,在当前各个Redis节点都已得到对应的评估参考信息的情况下,统计评估参考信息对应的指标值小于或等于第一异常阈值的目标数量;
步骤S512,判断目标数量是否大于或等于第二异常阈值;
步骤S514,在目标数量大于或等于第二异常阈值的情况下,确定各个Redis节点对应的评估参考信息满足异常状态条件;
步骤S516,在目标数量小于第二异常阈值的情况下,确定各个Redis节点对应的评估参考信息满足初始状态条件;
步骤S518,在确定各个Redis节点对应的评估参考信息满足初始状态条件之后,获取目标评估参考信息。
通过本申请提供的实施例,执行以下步骤,直至各个Redis节点对应的评估参考信息满足异常状态条件,或各个Redis节点对应的评估参考信息满足初始状态条件:从至少两个Redis节点中确定出当前Redis第二节点,并获取当前Redis第二节点的初始指标值、和当前Redis第二节点的待扣除值,其中,待扣除值用于表示当前Redis第二节点不满足预设指标时所需扣除的数值;计算初始指标值、和待扣除值之差,得到当前指标值,并将当前指标值确定为当前Redis第二节点对应的评估参考信息;在各个Redis节点都已得到对应的评估参考信息的情况下,统计评估参考信息对应的指标值小于或等于第一异常阈值的目标数量;在目标数量大于或等于第二异常阈值的情况下,确定各个Redis节点对应的评估参考信息满足异常状态条件;或,在目标数量小于第二异常阈值的情况下,确定各个Redis节点对应的评估参考信息满足初始状态条件;在确定各个Redis节点对应的评估参考信息满足初始状态条件之后,方法还包括:获取目标评估参考信息;
利用上述对各个Redis节点对应的评估参考信息的获取方法,以确定目标评估参考信息,其中,目标评估参考信息用于确定反映Redis集合的整体健康程度的目标状态信息,进而达到了对Redis集合中的各个Redis节点对应的各项指标进行量化并结合节点权重,以真实、全面、完整地确定Redis集合的整体健康状态的目的,从而实现了提高Redis状态信息的获取准确性的技术效果。
作为一种可选的方案,利用各个Redis节点所属的节点类型对应的预设权重,对各个Redis节点对应的评估参考信息进行整合计算,得到目标评估参考信息,包括:
S1,从各个Redis节点对应的评估参考信息中确定出满足第一置信条件的多个评估参考信息;
S2,利用多个评估参考信息中的各个评估参考信息对应的Redis节点所属的节点类型对应的预设权重,对多个评估参考信息进行整合计算,得到目标评估参考信息。
需要说明的是,获取到的各个Redis节点对应的评估参考信息对应的指标值均大于第一异常阈值。
可选地,在本实施例中,第一置信条件可以但不限于用于指示从上述指标值大于第一异常阈值的Redis节点对应的评估参考信息中,确定出用于整合计算得到目标评估参考信息的多个评估参考信息。
通过本申请提供的实施例,从各个Redis节点对应的评估参考信息中确定出满足第一置信条件的多个评估参考信息;利用多个评估参考信息中的各个评估参考信息对应的Redis节点所属的节点类型对应的预设权重,对多个评估参考信息进行整合计算,得到目标评估参考信息。
作为一种可选的方案,基于目标评估参考信息,获取Redis集合对应的目标状态信息,包括:
S1,在目标评估参考信息满足第二置信条件的情况下,将目标评估参考信息确定为目标状态信息;或,
S2,在目标评估参考信息不满足第二置信条件的情况下,获取Redis集合关联的整体参考信息;
S3,对整体参考信息与目标评估参考信息进行整合处理,得到目标状态信息。
可选地,在本实施例中,第二置信条件可以但不限于用于指示目标评估参数信息对应的指标值是否大于或等于预设健康阈值。
需要说明的是,在目标评估参数对应的指标值大于或等于预设健康阈值的情况下,确定Redis集合处于整体健康状态,直接将目标评估参考信息确定为目标状态信息。
需要说明的是,在目标评估参数对应的指标值小于预设健康阈值的情况下,确定Redis集合处于整体异常状态,将目标评估参考信息以及Redis集合关联的整体参考信息确定为目标状态信息,其中,Redis集合关联的整体参考信息可以但不限于包括Redis集合相关的信息、以及对应警示信息,Redis集合相关的信息可以但不限于包括Redis集合的架构类型信息、Redis集合关联的项目信息、Redis集合包括的多个Redis节点信息(ip信息、端口信息、角色信息等)。
通过本申请提供的实施例,在目标评估参考信息满足第二置信条件的情况下,将目标评估参考信息确定为目标状态信息;或,在目标评估参考信息不满足第二置信条件的情况下,获取Redis集合关联的整体参考信息;对整体参考信息与目标评估参考信息进行整合处理,得到目标状态信息。通过对目标评估参考信息是否达到预设健康阈值的判断,并在不满足预设健康阈值的情况下,结合Redis集合关联的整体参考信息确定目标状态信息,进而达到提高用户对Redis集合健康程度在异常的情况下的更加详细完整信息的获取,从而实现了提高Redis状态信息的获取准确性、以及用户对Redis集合的监控效率的技术效果。
作为一种可选的方案,将上述Redis状态信息的获取方法,应用在基于评估指标扣分规则计算Redis健康度的应用场景,如图6所示,具体步骤如下:
步骤S602,获取评估指标:通过Prometheus采集Redis集合中各个Redis节点对应的评估指标;
步骤S604,判断评估指标是否满足扣分规则:基于上述表1所示的分数扣减规则、触发条件,将各个Redis节点对应的评估指标进行比较;
步骤S606,计算各扣分项:在当前Redis节点对应的某一评估指标满足扣分规则的情况下,对当前Redis节点对应的指标值进行对应扣分,以得到各个Redis节点对应的目标指标值,其中,指标值的初始值为100;
需要说明的是,在在当前Redis节点对应的某一评估指标不满足扣分规则的情况下,返回步骤S602,继续获取下一个评估指标,直至获取到所有的Redis节点对应的所有评估指标;
步骤S608,按节点权重整合计算最终健康度:在各个Redis节点对应的目标指标值符合整合计算的置信条件的情况下,结合各个Redis节点对应的预设权重整合计算,得到Redis集合对应的健康度。
作为一种可选的方案,将上述Redis状态信息的获取方法,应用在Redis架构整体健康度的保存与显示的应用场景,如图7所示,具体步骤如下:
步骤S702,读取数据库中保存的Redis架构等信息,该部分信息包含Redis架构类型(standalone、sentinel、cluster)、Redis密码、Redis各节点信息(ip、端口、角色);
步骤S704,通过Prometheus获取各节点的各项指标,具体指标如表1所示,本实施例不再赘述;
步骤S706,依次将各节点的各指标进行规则判断,得出各节点健康度,加权得到Redis架构整体健康度;
步骤S708,将Redis架构整体健康度结果保存到数据库,并在页面中完成回显,得出对应的Redis项目的健康度。
可以理解的是,在本申请的具体实施方式中,涉及到用户信息等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
根据本申请实施例的另一个方面,还提供了一种用于实施上述Redis状态信息的获取方法的Redis状态信息的获取装置。如图8所示,该装置包括:
第一获取单元802,用于获取Redis集合中各个Redis节点对应的评估参考信息,其中,Redis集合中包括至少两个Redis节点,Redis节点的节点类型包括至少两类,评估参考信息用于为Redis节点的各项指标提供评估参考;
整合单元804,用于利用各个Redis节点所属的节点类型对应的预设权重,对各个Redis节点对应的评估参考信息进行整合计算,得到目标评估参考信息;
第二获取单元806,用于基于目标评估参考信息,获取Redis集合对应的目标状态信息,其中,目标状态信息用于评估Redis集合的整体健康程度。
作为一种可选的方案,上述整合单元804包括:加权求和模块,用于对各个Redis节点对应的评估参考信息进行加权求和计算,得到目标评估参考信息,其中,加权求和计算中所使用的权重为各个Redis节点所属的节点类型对应的预设权重。
作为一种可选的方案,上述加权求和模块包括:第一获取子模块,用于从至少两个Redis节点中确定出当前Redis第一节点,并获取当前Redis第一节点对应的当前评估参考信息、和当前Redis第一节点的节点类型对应的当前权重,直至得到目标评估参考信息;加权子模块,用于利用当前权重对当前评估参考信息进行加权计算,得到当前加权数值,直至得到目标评估参考信息;求和子模块,用于将当前加权数据与已得到的加权数值进行求和,得到当前目标评估参考数值,直至得到目标评估参考信息;确定子模块,用于在各个Redis节点都已得到对应的加权数值的情况下,将当前目标评估参考数值确定为目标评估参考信息,直至得到目标评估参考信息;第二获取子模块,用于在至少两个Redis节点中还存在未得到对应的加权数值的情况下,从至少两个Redis节点中选取下一Redis节点,并将下一Redis节点确定为当前Redis第一节点,直至得到目标评估参考信息。
作为一种可选的方案,上述装置还包括:第一确定模块,用于在获取Redis集合中各个Redis节点对应的评估参考信息之后,在各个Redis节点对应的评估参考信息满足异常状态条件的情况下,确定Redis集合对应的异常状态信息,其中,异常状态信息用于提示Redis集合的整体健康程度小于或等于健康程度阈值。
作为一种可选的方案,上述第一获取单元802包括:第一获取模块,用于从至少两个Redis节点中确定出当前Redis第二节点,并获取当前Redis第二节点的初始指标值、和当前Redis第二节点的待扣除值,其中,待扣除值用于表示当前Redis第二节点不满足预设指标时所需扣除的数值,直至各个Redis节点对应的评估参考信息满足异常状态条件,或各个Redis节点对应的评估参考信息满足初始状态条件;第二确定模块,用于计算初始指标值、和待扣除值之差,得到当前指标值,并将当前指标值确定为当前Redis第二节点对应的评估参考信息,直至各个Redis节点对应的评估参考信息满足异常状态条件,或各个Redis节点对应的评估参考信息满足初始状态条件;统计模块,用于在各个Redis节点都已得到对应的评估参考信息的情况下,统计评估参考信息对应的指标值小于或等于第一异常阈值的目标数量,直至各个Redis节点对应的评估参考信息满足异常状态条件,或各个Redis节点对应的评估参考信息满足初始状态条件;第三确定模块,用于在目标数量大于或等于第二异常阈值的情况下,确定各个Redis节点对应的评估参考信息满足异常状态条件;或,在目标数量小于第二异常阈值的情况下,确定各个Redis节点对应的评估参考信息满足初始状态条件,直至各个Redis节点对应的评估参考信息满足异常状态条件,或各个Redis节点对应的评估参考信息满足初始状态条件;上述装置还包括:第二获取模块,用于在确定各个Redis节点对应的评估参考信息满足初始状态条件之后,获取目标评估参考信息,直至各个Redis节点对应的评估参考信息满足异常状态条件,或各个Redis节点对应的评估参考信息满足初始状态条件。
作为一种可选的方案,上述整合单元804包括:第四确定模块,用于从各个Redis节点对应的评估参考信息中确定出满足第一置信条件的多个评估参考信息;计算模块,用于利用多个评估参考信息中的各个评估参考信息对应的Redis节点所属的节点类型对应的预设权重,对多个评估参考信息进行整合计算,得到目标评估参考信息。
作为一种可选的方案,上述第二获取单元806包括:第五确定模块,用于在目标评估参考信息满足第二置信条件的情况下,将目标评估参考信息确定为目标状态信息;或,第三获取模块,用于在目标评估参考信息不满足第二置信条件的情况下,获取Redis集合关联的整体参考信息;整合模块,用于对整体参考信息与目标评估参考信息进行整合处理,得到目标状态信息。
具体实施例可以参考上述Redis状态信息的获取方法中所示示例,本示例中在此不再赘述。
根据本申请实施例的又一个方面,还提供了一种用于实施上述Redis状态信息的获取方法的电子装置,如图9所示,该电子装置包括存储器902和处理器904,该存储器902中存储有计算机程序,该处理器904被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取Redis集合中各个Redis节点对应的评估参考信息,其中,Redis集合中包括至少两个Redis节点,Redis节点的节点类型包括至少两类,评估参考信息用于为Redis节点的各项指标提供评估参考;
S2,利用各个Redis节点所属的节点类型对应的预设权重,对各个Redis节点对应的评估参考信息进行整合计算,得到目标评估参考信息;
S3,基于目标评估参考信息,获取Redis集合对应的目标状态信息,其中,目标状态信息用于评估Redis集合的整体健康程度。
可选地,本领域普通技术人员可以理解,图9所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图9其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图9中所示更多或者更少的组件如网络接口等),或者具有与图9所示不同的配置。
其中,存储器902可用于存储软件程序以及模块,如本申请实施例中的Redis状态信息的获取方法和装置对应的程序指令/模块,处理器904通过运行存储在存储器902内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的Redis状态信息的获取方法。存储器902可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器902可进一步包括相对于处理器904远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器902具体可以但不限于用于存储评估参考信息、目标评估参考信息、目标状态信息等信息。作为一种示例,如图9所示,上述存储器902中可以但不限于包括上述Redis状态信息的获取装置中的第一获取单元902、整合单元804、第二获取单元806。此外,还可以包括但不限于上述Redis状态信息的获取装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置906用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置906包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置809为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器908,用于显示上述评估参考信息、目标评估参考信息、目标状态信息等信息;和连接总线910,用于连接上述电子装置中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(Peer To Peer,简称P2P)网络,任意形式的计算设备,比如服务器、终端等电子装置都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序/指令,该计算机程序/指令包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理器执行时,执行本申请实施例提供的各种功能。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,电子装置的计算机系统仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
计算机系统包括中央处理器(Central Processing Unit,CPU),其可以根据存储在只读存储器(Read-Only Memory,ROM)中的程序或者从存储部分加载到随机访问存储器(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器中,还存储有系统操作所需的各种程序和数据。中央处理器、在只读存储器以及随机访问存储器通过总线彼此相连。输入/输出接口(Input/Output接口,即I/O接口)也连接至总线。
以下部件连接至输入/输出接口:包括键盘、鼠标等的输入部分;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至输入/输出接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入存储部分。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理器执行时,执行本申请的系统中限定的各种功能。
根据本申请的一个方面,提供了一种计算机可读存储介质,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取Redis集合中各个Redis节点对应的评估参考信息,其中,Redis集合中包括至少两个Redis节点,Redis节点的节点类型包括至少两类,评估参考信息用于为Redis节点的各项指标提供评估参考;
S2,利用各个Redis节点所属的节点类型对应的预设权重,对各个Redis节点对应的评估参考信息进行整合计算,得到目标评估参考信息;
S3,基于目标评估参考信息,获取Redis集合对应的目标状态信息,其中,目标状态信息用于评估Redis集合的整体健康程度。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
- 获取地块信息的方法、装置、存储介质及电子设备
- 测绘信息获取方法、装置、电子设备及存储介质
- IoT设备的权限获取方法、装置、存储介质及电子装置
- 获取日志的方法及装置、存储介质、电子装置
- 文件获取方法及装置、文件传送方法及装置、存储介质
- 获取电子装置状态信息的方法、电子装置及可读存储介质
- 获取电子装置状态信息的方法、电子装置及可读存储介质