CN116204379A - 一种服务端软件健康检测方法及装置 - Google Patents

一种服务端软件健康检测方法及装置 Download PDF

Info

Publication number
CN116204379A
CN116204379A CN202310125771.2A CN202310125771A CN116204379A CN 116204379 A CN116204379 A CN 116204379A CN 202310125771 A CN202310125771 A CN 202310125771A CN 116204379 A CN116204379 A CN 116204379A
Authority
CN
China
Prior art keywords
health
node
sorce
software
value
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
CN202310125771.2A
Other languages
English (en)
Other versions
CN116204379B (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.)
Anxin Wangdun Beijing Technology Co ltd
Original Assignee
Anxin Wangdun Beijing Technology 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 Anxin Wangdun Beijing Technology Co ltd filed Critical Anxin Wangdun Beijing Technology Co ltd
Priority to CN202310125771.2A priority Critical patent/CN116204379B/zh
Publication of CN116204379A publication Critical patent/CN116204379A/zh
Application granted granted Critical
Publication of CN116204379B publication Critical patent/CN116204379B/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/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种服务端软件健康检测方法及装置,其中方法包括如下步骤:获取服务端软件的若干个分布式节点的节点信息参数;基于漏斗模型,依据单个节点的节点信息参数获取节点健康状态值;依据所有节点的节点健康状态值,计算服务端软件的软件健康状态值,对照健康参考量表得到服务端软件的软件健康状态等级。通过资源用量和负载系数来计算不同服务器架构和配置下软件的真实表现,充分解决了不同服务端软件部署框架的服务端软件健康指标的统一化问题以及服务端软件弹性缩扩容导致指标变换的问题,提高了管理人员对服务端软件的故障诊断效率,降低了管理人员对服务端软件的管理成本和维护成本。

Description

一种服务端软件健康检测方法及装置
技术领域
本发明涉及软件监测技术领域,特别涉及一种服务端软件健康检测方法及装置。
背景技术
随着互联网和云计算的快速发展,很多行业都将软件运行到云环境,企业拥有的服务端软件越来越多,一个完整的软件服务系统由多个服务端软件组成,同时由于用户量巨大以及分布式技术的广泛应用,任何一个服务端软件出现异常状态,都会出现给企业造成极大的损失。所以一个可靠、灵活的软件健康评价模型至关重要。
在现有技术中,专利CN102508771A公开了一种软件运行状态检测方法,用于对全网内可监控的软件建立评价模型,实时获取软件运行健康指数,其方式是通过多因子预设建立评价模型,根据软件的参数指标构建可靠性指标、效率指标、环境指标和服务依存指标,然后通过这几种指标进行对应的计算,得出软件的健康状态。上述方法虽然有一定的灵活性,但是其采集部分是实时采集,对软件运行环境的性能要求极高;此外,使用实时采集方式会在混合云或云环境上占用大量的网络I/O资源,因此上述方法仅适合企业子网环境或小范围局域网,并不适用于在云计算环境下的应用。
专利CN114153683A公开了一种基于综合评价算法的网络化软件健康度检测方法,通过二梯度函数进行权重计算,获取对应的健康分,基于预设的分数范围和健康分进行比较,来获取软件的健康度。上述方法中,第一类指标为CPU使用率、内存使用率,第二类指标为网络I/O、磁盘I/O和系统吞吐量;通过计算使用率得到的结果,忽略了真正的CPU算力、内存用量,会对服务的健康分数计算产生很大的误判;因此,这种衡量指标在混合云,尤其是不同配置的主机上,衡量误差非常大,并不适用。
相关技术中公开的软件健康检测方法对于通信机制及软件运行环境多样化条件下的指标设置均有严格要求,其适用性和评价准确性受到了很大的限制。
发明内容
本发明实施例的目的是提供一种服务端软件健康检测方法及装置,用于解决现有技术中无法解决云计算环境下软件健康状态检测方法的技术问题。
为解决上述技术问题,本发明实施例的第一方面提供了一种服务端软件健康检测方法,包括如下步骤:
获取服务端软件的若干个分布式节点的节点信息参数;
基于漏斗模型,依据单个所述节点的节点信息参数获取节点健康状态值;
依据所有所述节点的节点健康状态值,计算所述服务端软件的软件健康状态值,对照健康参考量表得到所述服务端软件的软件健康状态等级。
进一步地,所述获取服务端软件的若干个分布式节点的节点信息参数,包括:
定义预设参数类型;
获取所述服务端软件在集群上的所述节点数量及对应的负载系数;
依据所述预设参数类型,获取所有所述节点的所述节点信息参数。
进一步地,所述基于漏斗模型依据单个所述节点的节点信息参数获取节点健康状态值包括:
基于所述节点对应的负载系数,依据所述节点信息参数计算所述节点的资源限定上限;
将所述节点的资源限定上限与所述漏斗模型进行比较,得到所述节点的第二健康度扣分值和第三健康度扣分值;
基于所述节点的初始健康状态值,减去所述第二健康度扣分值和所述第三健康度扣分值,得到所述节点的健康状态值;
所述节点的健康状态值Sorcei为:
Sorcei=Sorcei0-Sorcei2-Sorcei3
其中,Sorcei0为第i个节点的初始健康状态值,Sorcei2为所述第二健康度扣分值,Sorcei3为所述第三健康度扣分值;
所述节点信息参数包括:CPU资源、内存资源、网络I/O、磁盘I/O、软件子进程、软件子线程、软件子协程,所述第二健康度扣分值与所述CPU资源、内存资源、网络I/O、磁盘I/O相关,所述第三健康度扣分值与所述软件子进程、所述软件子线程、所述软件子协程相关。
进一步地,所述依据所述节点信息参数计算所述节点的资源限定上限之前,还包括:
获取与采集所述节点信息参数对应的信息采集时间;
当所述信息采集时间小于或等于第一预设时长,则判定所述节点的第一健康度扣分值为零;
当所述信息采集时间大于所述第一预设时长且小于或等于第二预设时长时,则判定所述节点的第一健康度扣分值为预设低分值;
当所述信息采集时间大于所述第二预设时长且小于或等于第三预设时长时,判定所述节点的第一健康状态值为预设高分值;
当所述信息采集时间大于所述第三预设时长时,则直接判定所述节点的软件健康状态值为0;
所述节点的健康状态值Sorcei为:
Sorcei=Sorcei0-Sorcei1-Sorcei2-Sorcei3
其中,Sorcei1为所述第一健康度扣分值。
进一步地,所述节点的第二健康度扣分值Sorcei2为:
Sorcei2=Sorcei-cpu+Sorcei-mem+Sorcei-net+Sorcei-block
所述CPU健康度扣分值Sorcei-cpu为:
Figure BDA0004082161540000041
所述内存健康度扣分值Sorcei-mem为:
Figure BDA0004082161540000042
所述网络I/O健康度扣分值Sorcei-net为:
Figure BDA0004082161540000043
所述磁盘I/O健康度扣分值Sorcei-mem为:
Figure BDA0004082161540000044
其中,Ci为第i个节点的CPU使用总量,Pcpu为CPU的健康阈值百分比,BALANCEi为第i个节点对应的负载系数,Call为CPU设置使用总量,Mi为第i个节点的内存使用总量,Mall为内存设置使用总量,Pmem为内存的健康阈值百分比,Ni为第i个节点的网络I/O使用总量,Nall为网络I/O设置使用总量,Pnet为网络I/O的健康阈值百分比,Bi为第i个节点的磁盘I/O使用总量,Ball为磁盘I/O设置使用总量,Pblock为磁盘I/O的健康阈值百分比。
进一步地,所述节点的第三健康度扣分值Sorcei3为:
Sorcei3=Sorcei-proc+Sorcei-thread+Sorcei-co
所述软件子进程的健康度扣分值Sorcei-proc为:
Figure BDA0004082161540000045
所述软件子线程的健康度扣分值Sorcei-thread为:
Figure BDA0004082161540000051
所述软件子协程的健康度扣分值Sorcei-co为:
Figure BDA0004082161540000052
其中,Proci为第i个节点的子进程总量,Procnum为子进程数量的数量阈值,Sorceproc为子进程超过健康阈值的扣分值,Threadi为第i个节点的子线程总量,Threadnum为子线程数量的数量阈值,Sorcethread为子线程超过健康阈值的扣分值,COi为第i个节点的子协程数量,COnum为子协程数量的数量阈值,Sorceco为子协程超过健康阈值的扣分值。
进一步地,所述依据所有所述节点的节点健康状态值计算所述服务端软件的软件健康状态值,包括:
基于所述节点对应的负载系数,依据若干个所述节点的节点健康状态值,计算所述服务端软件的软件健康状态值;
所述软件健康状态值Sorce为:
Figure BDA0004082161540000053
其中,Srocei为第i个节点的健康状态值,BALANCEi为第i个节点对应的负载系数。
相应地,本发明实施例的第二方面提供了一种服务端软件健康评价装置,包括:
信息获取模块,其用于获取服务端软件的若干个分布式节点的节点信息参数;
节点计算模块,其用于基于漏斗模型,依据单个所述节点的节点信息参数获取节点健康状态值;
状态计算模块,其用于依据所有所述节点的节点健康状态值,获取所述服务端软件的软件健康状态值,对照健康参考量表得到所述服务端软件的软件健康状态。
相应地,本发明实施例的第三方面提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述一个处理器执行,以使所述至少一个处理器执行上述服务端软件健康检测方法。
相应地,本发明实施例的第四方面提供了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述服务端软件健康检测方法。
本发明实施例的上述技术方案具有如下有益的技术效果:
1.考虑到分布式环境下的单节点健康计算以及通过资源用量和负载系数来计算不同服务器架构和配置下软件的真实表现,充分解决了不同服务端软件部署框架的服务端软件健康指标的统一化问题以及服务端软件弹性缩扩容导致指标变换的问题,提高了管理人员对服务端软件的故障诊断效率,降低了管理人员对服务端软件的管理成本和维护成本;
2.在上述的健康检测方法中,其分数预设权利交还给服务端软件的维护者,其可以灵活地对参数阈值和服务端软件相关的敏感参数进行配置,解决了不同类型的服务端软件的分数计算模型不同的问题,比如密集型运算软件和高吞吐软件的参数偏好不同的问题;
3.评价指标不仅有采集时间这一代表着软件运行的宿主机的健康状态,还包含着CPU使用率、内存使用率、网络I/O、磁盘I/O这些通用的性能和健康评价参数,而且关注了其子进程、子线程、子协程目前三种主流的服务端软件架构,对其业务模型匹配度更高。
附图说明
图1是本发明实施例提供的服务端软件健康检测方法流程图;
图2是本发明实施例提供的服务端软件健康检测方法逻辑图;
图3是本发明实施例提供的架构示意图;
图4是本发明实施例提供的服务端软件健康评价装置模块框图;
图5是本发明实施例提供的信息获取模块框图;
图6是本发明实施例提供的节点计算模块框图;
图7是本发明实施例提供的时间采集单元框图。
附图标记:
1、信息获取模块,11、类型定义单元,12、节点获取单元,13、信息获取单元,2、节点计算模块,21、第一计算单元,22、第二计算单元,23、第三计算单元,24、时间采集单元,241、时间信息采集子单元,242、控制子单元,3、状态计算模块。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
请参照图1、图2和图3,本发明实施例的第一方面提供了一种服务端软件健康检测方法,包括如下步骤:
步骤S100,获取服务端软件的若干个分布式节点的节点信息参数。
步骤S200,基于漏斗模型,依据单个节点的节点信息参数获取节点健康状态值。
步骤S300,依据所有节点的节点健康状态值,计算服务端软件的软件健康状态值,对照健康参考量表得到服务端软件的软件健康状态等级。
上述技术方案中,漏斗模型的第一层包括采集时间(采集时间为CPU使用量、内存使用量、网络I/O的采集增量、磁盘I/O的采集增量、软件的子进程、软件的子线程、软件的子协程数量的采集所耗费的时间);第二层包括CPU使用量、内存使用量、网络I/O的采集增量、磁盘I/O的采集增量四个参数;第三层包括软件的子进程、软件的子线程、软件的子协程数量。
本发明的整体流程如图1所示:通过对整个该软件的所有分布式节点进行数据采集,获取软件的采集时长、CPU使用量、内存使用量、网络I/O的采集增量、磁盘I/O的采集增量、软件的子进程、软件的子线程、软件的子协程数量。然后经过对应的三层漏斗计算,获取扣除分值,再通过满分100分减去对应的扣除分值,获得单个节点的健康状态。集群的软件健康状态计算则是通过单节点软件健康分值乘以该节点的负载参数进行求和,得出的数值为集群下该软件的健康分数。
漏斗算法是基于参数的优先级不同,进行分步递进的一种算法,适用于多参数及多种参数预设值的场景。其根据软件的业务类型和使用场景的不同,可以进行灵活的设置。而且本发明根据该软件在分布式系统中的预设负载参数(目前分布式系统中的负载调度方式有两种,一种是预设负载,另一种是有服务中心管理,多偏好动态设置节点和负载,前一种方式可通过配置中心获取参数,后一种可以通过服务中心的接口获取)。
具体的,步骤S100中,获取服务端软件的若干个分布式节点的节点信息参数,包括:
步骤S110,定义预设参数类型。
步骤S120,获取服务端软件在集群上的节点数量及对应的负载系数。
步骤S130,依据预设参数类型,获取所有节点的节点信息参数。
进一步地,在一个具体实施例中,如表1所示,预设参数类型的定义如下:
表1
Figure BDA0004082161540000081
/>
Figure BDA0004082161540000091
Figure BDA0004082161540000101
/>
具体的,步骤S200中,基于漏斗模型依据单个节点的节点信息参数获取节点健康状态值包括:
步骤S220基于节点对应的负载系数,依据节点信息参数计算节点的资源限定上限。
步骤S230将节点的资源限定上限与漏斗模型进行比较,得到节点的第二健康度扣分值和第三健康度扣分值。
步骤S240基于节点的初始健康状态值,减去第二健康度扣分值和第三健康度扣分值,得到节点的健康状态值。
节点的健康状态值Sorcei为:
Sorcei=Sorcei0-Sorcei2-Sorcei3
其中,Sorcei0为第i个节点的初始健康状态值,Sorcei2为第二健康度扣分值,Sorcei3为第三健康度扣分值。
节点信息参数包括:CPU资源、内存资源、网络I/O、磁盘I/O、软件子进程、软件子线程、软件子协程,第二健康度扣分值与CPU资源、内存资源、网络I/O、磁盘I/O相关,第三健康度扣分值与软件子进程、软件子线程、软件子协程相关。
进一步地,步骤S220中的依据节点信息参数计算节点的资源限定上限之前,还包括:
步骤S211,获取与采集节点信息参数对应的信息采集时间。
步骤S212,当信息采集时间小于或等于第一预设时长,则判定节点的第一健康度扣分值为零。
步骤S213,当信息采集时间大于第一预设时长且小于或等于第二预设时长时,则判定节点的第一健康度扣分值为预设低分值。
步骤S214,当信息采集时间大于第二预设时长且小于或等于第三预设时长时,判定节点的第一健康状态值为预设高分值。
步骤S215,当信息采集时间大于第三预设时长时,则直接判定节点的软件健康状态值为0。
具体的,第一健康度扣分值Sorcei1的计算公式为:
Figure BDA0004082161540000111
其中,Costi为采集时间变量,Tnormal为第一预设时长(即预设的正常采集时间最大值),Tover为第二预设时长(即预设的超时采集时间的最小值),Sorceslow为超过正常采集时间(即第一预设时长)、但是小于等于超时时间(即第二预设时长)的预设低分值,Sorceorer为超过超时时间但小于或等于第三预设时长的预设高分值。
进一步地,节点的健康状态值Sorcei相应为:
Sorcei=Sorceio-Sorcei1-Sorcei2-Sorcei3
更进一步地,节点的第二健康度扣分值Sorcei2为:
Sorcei2=Sorcei-cpu+Sorcei-mem+Sorcei-net+Sorcei-block
CPU健康度扣分值Sorcei-cpu为:
Figure BDA0004082161540000112
内存健康度扣分值Sorcei-mem为:
Figure BDA0004082161540000113
网络I/O健康度扣分值Sorcei-net为:
Figure BDA0004082161540000114
磁盘I/O健康度扣分值Sorcei-mem为:
Figure BDA0004082161540000121
其中,Ci为第i个节点的CPU使用总量,Pcpu为CPU的健康阈值百分比,BALANCEi为第i个节点对应的负载系数,Call为CPU设置使用总量,Mi为第i个节点的内存使用总量,Mall为内存设置使用总量,Pmem为内存的健康阈值百分比,Ni为第i个节点的网络I/O使用总量,Nall为网络I/O设置使用总量,Pnet为网络I/O的健康阈值百分比,Bi为第i个节点的磁盘I/O使用总量,Ball为磁盘I/O设置使用总量,Pblock为磁盘I/O的健康阈值百分比。
更进一步地,节点的第三健康度扣分值Sorcei3为:
Sorcei3=Sorcei-proc+Sorcei-thread+Sorcei-co
软件子进程的健康度扣分值Sorcei-proc为:
Figure BDA0004082161540000122
软件子线程的健康度扣分值Sorcei-thread为:
Figure BDA0004082161540000123
软件子协程的健康度扣分值Sorcei-co为:
Figure BDA0004082161540000124
其中,Proci为第i个节点的子进程总量,Procnum为子进程数量的数量阈值,Sorceproc为子进程超过健康阈值的扣分值,Threadi为第i个节点的子线程总量,Threadnum为子线程数量的数量阈值,Sorcethread为子线程超过健康阈值的扣分值,COi为第i个节点的子协程总量,COnum为子协程数量的数量阈值,Sorceco为子协程超过健康阈值的扣分值。
进一步,请参照表2,一个具体实施例的健康参考量表如表2所示。
表2
健康评价 健康分数范围
Sorcei≥Sorceall×0.8
Sorceall×0.6≤Sorcei<Sorceall×0.8
Sorceall×0.2≤Sorcei<Sorceall×0.6
不可用 Sorcei<Sorceall×0.2
此外,依据所有节点的节点健康状态值计算服务端软件的软件健康状态值,包括:
步骤S310,基于节点对应的负载系数,依据若干个节点的节点健康状态值,计算服务端软件的软件健康状态值。
软件健康状态值Sorce为:
Figure BDA0004082161540000131
其中,Srocei为第i个节点的健康状态值,BALANCEi为第i个节点对应的负载系数。
相应地,请参照图4,本发明实施例的第二方面提供了一种服务端软件健康评价装置,包括:
信息获取模块1,其用于获取服务端软件的若干个分布式节点的节点信息参数;
节点计算模块2,其用于基于漏斗模型,依据单个节点的节点信息参数获取节点健康状态值;
状态计算模块3,其用于依据所有节点的节点健康状态值,计算服务端软件的软件健康状态值,对照健康参考量表得到服务端软件的软件健康状态。
具体的,请参照图5,信息获取模块1包括:
类型定义单元11,其用于定义预设参数类型;
节点获取单元12,其用于获取服务端软件在集群上的节点数量及对应的负载系数;
信息获取单元13,其用于依据预设参数类型,获取所有节点的节点信息参数。
具体的,请参照图6,节点计算模块2包括:
第一计算单元21,其用于基于节点对应的负载系数,依据节点信息参数计算节点的资源限定上限;
第二计算单元22,其用于将节点的资源限定上限与漏斗模型进行比较,得到节点的第二健康度扣分值和第三健康度扣分值;
第三计算单元23,基于节点的初始健康状态值,减去第二健康度扣分值和第三健康度扣分值,得到节点的健康状态值;
节点的健康状态值Sorcei为:
Sorcei=Sorcei0-Sorcei2-Sorcei3
其中,Sorcei0为第i个节点的初始健康状态值,Sorcei2为第二健康度扣分值,Sorcei3为第三健康度扣分值;
节点信息参数包括:CPU资源、内存资源、网络I/O、磁盘I/O、软件子进程、软件子线程、软件子协程,第二健康度扣分值与CPU资源、内存资源、网络I/O、磁盘I/O相关,第三健康度扣分值与软件子进程、软件子线程、软件子协程相关。
进一步地,请参照图7,节点计算模块2还包括:时间采集单元24,其进一步包括:
时间信息采集子单元241,其用于获取与采集节点信息参数对应的信息采集时间;
控制子单元242,其用于当信息采集时间小于或等于第一预设时长,则判定节点的第一健康度扣分值为零;
控制子单元242还用于当信息采集时间大于第一预设时长且小于或等于第二预设时长时,则判定节点的第一健康度扣分值为预设低分值;
控制子单元242还用于当信息采集时间大于第二预设时长且小于或等于第三预设时长时,判定节点的第一健康状态值为预设高分值;
控制子单元242还用于当信息采集时间大于第三预设时长时,则直接判定节点的软件健康状态值为0。
节点的健康状态值Sorcei为:
Sorcei=Sorcei0-Sorcei1-Sorcei2-Sorcei3
其中,Sorcei1为第一健康度扣分值。
节点的第二健康度扣分值Sorcei2为:
Sorcei2=Sorcei-cpu+Sorcei-mem+Sorcei-net+Sorcei-block
CPU健康度扣分值Sorcei-cpu为:
Figure BDA0004082161540000151
内存健康度扣分值Sorcei-mem为:
Figure BDA0004082161540000152
网络I/O健康度扣分值Sorcei-net为:
Figure BDA0004082161540000153
磁盘I/O健康度扣分值Sorcei-mem为:
Figure BDA0004082161540000154
其中,Ci为第i个节点的CPU使用总量,Pcpu为CPU的健康阈值百分比,BALANCEi为第i个节点对应的负载系数,Call为CPU设置使用总量,Mi为第i个节点的内存使用总量,Mall为内存设置使用总量,Pmem为内存的健康阈值百分比,Ni为第i个节点的网络I/O使用总量,Nall为网络I/O设置使用总量,Pnet为网络I/O的健康阈值百分比,Bi为第i个节点的磁盘I/0使用总量,Ball为磁盘I/O设置使用总量,Pblock为磁盘I/O的健康阈值百分比。
节点的第三健康度扣分值Sorcei3为:
Sorcei3=Sorcei-proc+Sorcei-thread+Sorcei-co
软件子进程的健康度扣分值Sorcei-proc为:
Figure BDA0004082161540000161
软件子线程的健康度扣分值Sorcei-thread为:
Figure BDA0004082161540000162
软件子协程的健康度扣分值Sorcei-co为:
Figure BDA0004082161540000163
其中,Proci为第i个节点的子进程总量,Procnum为子进程数量的数量阈值,Sorceproc为子进程超过健康阈值的扣分值,Threadi为第i个节点的子线程总量,Threadnum为子线程数量的数量阈值,Sorcethread为子线程超过健康阈值的扣分值,COi为第i个节点的子协程总量,COnum为子协程数量的数量阈值,Sorceco为子协程超过健康阈值的扣分值。
具体的,状态计算模块3基于节点对应的负载系数,依据若干个节点的节点健康状态值,计算服务端软件的软件健康状态值;
软件健康状态值Sorce为:
Figure BDA0004082161540000164
其中,Srocei为第i个节点的健康状态值,BALANCEi为第i个节点对应的负载系数。
相应地,本发明实施例的第三方面还提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述一个处理器执行,以使所述至少一个处理器执行上述服务端软件健康检测方法。
此外,本发明实施例的第四方面还提供了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述服务端软件健康检测方法。
本发明实施例旨在保护一种服务端软件健康检测方法及装置,具备如下效果:
通过资源用量和负载系数来计算不同服务器架构和配置下的软件真实表现,充分解决了不同服务端软件部署框架的服务端软件健康指标的统一化问题以及服务端软件弹性缩扩容导致指标变换的问题,提高了管理人员对服务端软件的故障诊断效率,降低了管理人员对服务端软件的管理成本和维护成本。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

Claims (10)

1.一种服务端软件健康检测方法,其特征在于,包括如下步骤:
获取服务端软件的若干个分布式节点的节点信息参数;
基于漏斗模型,依据单个所述节点的节点信息参数获取节点健康状态值;
依据所有所述节点的节点健康状态值,计算所述服务端软件的软件健康状态值,对照健康参考量表得到所述服务端软件的软件健康状态等级。
2.根据权利要求1所述的服务端软件健康检测方法,其特征在于,所述获取服务端软件的若干个分布式节点的节点信息参数,包括:
定义预设参数类型;
获取所述服务端软件在集群上的所述节点数量及对应的负载系数;
依据所述预设参数类型,获取所有所述节点的所述节点信息参数。
3.根据权利要求1所述的服务端软件健康检测方法,其特征在于,所述基于漏斗模型依据单个所述节点的节点信息参数获取节点健康状态值包括:
基于所述节点对应的负载系数,依据所述节点信息参数计算所述节点的资源限定上限;
将所述节点的资源限定上限与所述漏斗模型进行比较,得到所述节点的第二健康度扣分值和第三健康度扣分值;
基于所述节点的初始健康状态值,减去所述第二健康度扣分值和所述第三健康度扣分值,得到所述节点的健康状态值;
所述节点的健康状态值Sorcei为:
Sorcei=Sorcei0-Sorcei2-Sorcei3
其中,Sorcei0为第i个节点的初始健康状态值,Sorcei2为所述第二健康度扣分值,Sorcei3为所述第三健康度扣分值;
所述节点信息参数包括:CPU资源、内存资源、网络I/O、磁盘I/O、软件子进程、软件子线程、软件子协程,所述第二健康度扣分值与所述CPU资源、内存资源、网络I/O、磁盘I/O相关,所述第三健康度扣分值与所述软件子进程、所述软件子线程、所述软件子协程相关。
4.根据权利要求3所述的服务端软件健康检测方法,其特征在于,所述依据所述节点信息参数计算所述节点的资源限定上限之前,还包括:
获取与采集所述节点信息参数对应的信息采集时间;
当所述信息采集时间小于或等于第一预设时长,则判定所述节点的第一健康度扣分值为零;
当所述信息采集时间大于所述第一预设时长且小于或等于第二预设时长时,则判定所述节点的第一健康度扣分值为预设低分值;
当所述信息采集时间大于所述第二预设时长且小于或等于第三预设时长时,判定所述节点的第一健康状态值为预设高分值;
当所述信息采集时间大于所述第三预设时长时,则直接判定所述节点的软件健康状态值为0;
所述节点的健康状态值Sorcei为:
Sorcei=Sorcei0-Sorcei1-Sorcei2-Sorcei3
其中,Sorcei1为所述第一健康度扣分值。
5.根据权利要求3所述的服务端软件健康检测方法,其特征在于,
所述节点的第二健康度扣分值Sorcei2为:
Sorcei2=Sorcei-cpu+Sorcei-mem+Sorcei-net+Sorcei-block
所述CPU健康度扣分值Sorcei-cpu为:
Figure FDA0004082161530000021
所述内存健康度扣分值Sorcei-mem为:
Figure FDA0004082161530000031
所述网络I/O健康度扣分值Sorcei-net为:
Figure FDA0004082161530000032
所述磁盘I/O健康度扣分值Sorcei-mem为:
Figure FDA0004082161530000033
其中,Ci为第i个节点的CPU使用总量,Pcpu为CPU的健康阈值百分比,BALANCEi为第i个节点对应的负载系数,Call为CPU设置使用总量,Mi为第i个节点的内存使用总量,Mall为内存设置使用总量,Pmem为内存的健康阈值百分比,Ni为第i个节点的网络I/O使用总量,Nall为网络I/O设置使用总量,Pnet为网络I/O的健康阈值百分比,Bi为第i个节点的磁盘I/O使用总量,Ball为磁盘I/O设置使用总量,Pblock为磁盘I/O的健康阈值百分比。
6.根据权利要求3所述的服务端软件健康检测方法,其特征在于,
所述节点的第三健康度扣分值Sorcei3为:
Sorcei3=Sorcei-proc+Sorcei-thread+Sorcei-co
所述软件子进程的健康度扣分值Sorcei-proc为:
Figure FDA0004082161530000034
所述软件子线程的健康度扣分值Sorcei-thread为:
Figure FDA0004082161530000035
所述软件子协程的健康度扣分值Sorcei-co为:
Figure FDA0004082161530000041
其中,Proci为第i个节点的子进程总量,Procnum为子进程数量的数量阈值,Sorceproc为子进程超过健康阈值的扣分值,Threadi为第i个节点的子线程总量,Threadnum为子线程数量的数量阈值,Sorcethred为子线程超过健康阈值的扣分值,COi为第i个节点的子协程数量,COnum为子协程数量的数量阈值,Sorceco为子协程超过健康阈值的扣分值。
7.根据权利要求1-6任一所述的服务端软件健康检测方法,其特征在于,所述依据所有所述节点的节点健康状态值计算所述服务端软件的软件健康状态值,包括:
基于所述节点对应的负载系数,依据若干个所述节点的节点健康状态值,计算所述服务端软件的软件健康状态值;
所述软件健康状态值Sorce为:
Figure FDA0004082161530000042
其中,Srocei为第i个节点的健康状态值,BALANCEi为第i个节点对应的负载系数。
8.一种服务端软件健康评价装置,其特征在于,包括:
信息获取模块,其用于获取服务端软件的若干个分布式节点的节点信息参数;
节点计算模块,其用于基于漏斗模型,依据单个所述节点的节点信息参数获取节点健康状态值;
状态计算模块,其用于依据所有所述节点的节点健康状态值,计算所述服务端软件的软件健康状态值,对照健康参考量表得到所述服务端软件的软件健康状态等级。
9.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述一个处理器执行,以使所述至少一个处理器执行如权利要求1-7任一所述的服务端软件健康检测方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-7任一所述的服务端软件健康检测方法。
CN202310125771.2A 2023-02-03 2023-02-03 一种服务端软件健康检测方法及装置 Active CN116204379B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310125771.2A CN116204379B (zh) 2023-02-03 2023-02-03 一种服务端软件健康检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310125771.2A CN116204379B (zh) 2023-02-03 2023-02-03 一种服务端软件健康检测方法及装置

Publications (2)

Publication Number Publication Date
CN116204379A true CN116204379A (zh) 2023-06-02
CN116204379B CN116204379B (zh) 2023-08-15

Family

ID=86518758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310125771.2A Active CN116204379B (zh) 2023-02-03 2023-02-03 一种服务端软件健康检测方法及装置

Country Status (1)

Country Link
CN (1) CN116204379B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100162071A1 (en) * 2008-12-19 2010-06-24 Alexander Andreev Circuits for implementing parity computation in a parallel architecture ldpc decoder
US20130305114A1 (en) * 2012-05-10 2013-11-14 Lsi Corporation Symbol Flipping LDPC Decoding System
CN105303329A (zh) * 2015-11-20 2016-02-03 国网上海市电力公司 一种基于监控信息的设备健康状态评估方法
CN107241102A (zh) * 2016-03-29 2017-10-10 慧荣科技股份有限公司 在硬决策软解码期间决定何时结束位翻转算法的方法
CN107846295A (zh) * 2016-09-19 2018-03-27 华为技术有限公司 微服务配置装置及方法
CN111930493A (zh) * 2019-05-13 2020-11-13 中国移动通信集团湖北有限公司 集群中NodeManager状态管理方法、装置及计算设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100162071A1 (en) * 2008-12-19 2010-06-24 Alexander Andreev Circuits for implementing parity computation in a parallel architecture ldpc decoder
US20130305114A1 (en) * 2012-05-10 2013-11-14 Lsi Corporation Symbol Flipping LDPC Decoding System
CN105303329A (zh) * 2015-11-20 2016-02-03 国网上海市电力公司 一种基于监控信息的设备健康状态评估方法
CN107241102A (zh) * 2016-03-29 2017-10-10 慧荣科技股份有限公司 在硬决策软解码期间决定何时结束位翻转算法的方法
CN107846295A (zh) * 2016-09-19 2018-03-27 华为技术有限公司 微服务配置装置及方法
CN111930493A (zh) * 2019-05-13 2020-11-13 中国移动通信集团湖北有限公司 集群中NodeManager状态管理方法、装置及计算设备

Also Published As

Publication number Publication date
CN116204379B (zh) 2023-08-15

Similar Documents

Publication Publication Date Title
KR102522005B1 (ko) 가상 네트워크 관리를 위한 머신 러닝 기반 vnf 이상 탐지 시스템 및 방법
US8140915B2 (en) Detecting apparatus, system, program, and detecting method
CN109144724A (zh) 一种微服务资源调度系统及方法
CN107992410B (zh) 软件质量监测方法、装置、计算机设备和存储介质
CN108038040A (zh) 计算机集群性能指标检测方法、电子设备及存储介质
CN110633194B (zh) 一种硬件资源在特定环境下的性能评估方法
CN110502431B (zh) 系统服务评测方法、装置及电子设备
CN110471821A (zh) 异常变更检测方法、服务器及计算机可读存储介质
US8832839B2 (en) Assessing system performance impact of security attacks
CN112633542A (zh) 系统性能指标预测方法、装置、服务器及存储介质
CN112434308B (zh) 应用漏洞检测方法、装置、电子设备及计算机存储介质
Aral et al. Quality of service channelling for latency sensitive edge applications
CN111753875A (zh) 一种电力信息系统运行趋势分析方法、装置及存储介质
CN103502951A (zh) 操作管理系统、操作管理方法及其程序
CN115514068A (zh) 一种锂电池梯次利用的电芯压差优化方法
CN113158435B (zh) 基于集成学习的复杂系统仿真运行时间预测方法与设备
CN1752935A (zh) 检测主机计算设备中角色变化的工作负荷分类方法与系统
CN116204379B (zh) 一种服务端软件健康检测方法及装置
CN108268351A (zh) 一种进程运行状态精确监控方法及系统
CN109101395A (zh) 一种基于lstm的高性能计算集群应用监控方法及系统
Zhao et al. faaShark: An end-to-end network traffic analysis system atop serverless computing platforms
Lin et al. Staffing level and cost analyses for software debugging activities through rate-based simulation approaches
KR20160044623A (ko) 리눅스 가상 서버의 로드 밸런싱 방법
CN114003466A (zh) 一种用于微服务应用程序的故障根因定位方法
CN114760190A (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