一种Java应用健康度评估方法及系统的制作方法_3

文档序号:9376128阅读:来源:国知局
阈值时,将优先从存储模块40内置的先验 知识库中根据相应规则,尝试自我修复;当整体健康度超出报警阈值,系统将为用户介入进 行预处理(保存上下文,获取堆栈数据等),从而达到在发现Java应用存在健康问题时的智 能决策。
[0062] 同类型Java应用比较模块80,用于将同类型Java应用的健康分值进行比较。在 实际应用中,可获取多个同类型Java应用的健康分值,选取健康分值最高的Java应用作为 比较对象,分解出比较对象的所有监控指标的指标数值,计算Java应用与比较对象的健康 分值的差值百分比以及每一监控指标的差值百分比,并对比某一项监控指标的差值百分比 与健康分值的差值百分比,当该项监控指标的差值百分比大于健康分值的差值百分比时, 保存该项监控指标对应的上下文场景信息,获取该指标的配置信息,产生报警信息通知用 户,等待用户介入。本发明通过对相同类型Java应用健康状况进行比较,能够揭示出Java 应用本身在实现、处理、参数配置上的差异,为业务方的后续优化提升提供参考。
[0063] 业务链路Java应用分析模块90,用于根据同一业务链路上所有Java应用的健康 分值分析业务链路上下游关联Java应用的健康状态。具体的,可包括两方面的分析,一方 面为分析出某项在线业务链路上的Java应用健康瓶颈,另一方面为分析业务总体健康运 行状况。
[0064] 在分析Java应用健康瓶颈时,可获取同一业务链路上所有Java应用的健康分值, 对获取的健康分值执行均值运算以获得第一均值,将Java应用的健康分值与第一均值进 行差值百分比运算;当某一 Java应用的差值百分比运算结果低于一预设阈值时,产生报警 信息通知用户,说明该Java应用为该在线业务链路上的Java应用健康瓶颈,待用户进行下 一步处理。
[0065] 在分析业务总体健康运行状况时,可记录某一时间段内的多个第一均值信息;将 多个第一均值进行均值运算以获得第二均值;将第一均值与第二均值进行差值百分比运 算,当第一均值与第二均值进行差值百分比运算的结果大于一预设阈值时,说明该业务总 体运行状况较差,产生报警信息等待用户介入。
[0066] 本发明中从业务链路(交易链路)的角度,分析链路上下游关联Java应用的健康状 况,从而一定程度上分析出某项在线业务链路上的Java应用健康瓶颈和业务总体健康运 行状况。
[0067] 图3是本发明一种Java应用健康度评估方法的流程图,该流程通过如图1所示的 系统100实现,该方法包括如下步骤:
[0068] 步骤S301,配置Java应用监控指标的数量值,并配置每个监控指标在不同状态下 的基准分值以及每个监控指标的权重;
[0069] 步骤S302,采集在Java应用运行过程中所有监控指标的基准分值;
[0070] 步骤S303,根据所有监控指标的基准分值以及每个监控指标对应的权重执行健康 分值运算以获取Java应用的健康分值。在本步骤中,健康分值的运算公式为:
[0071]
[0072] 其中,T为健康分值,X⑴为单个指标项的基准分值,W⑴代表单个指标项的权 重,i e (1,N)指代单项指标。
[0073] 图4是本发明一种实施例中绘制健康状态变化趋势图的流程图。该流程包括:
[0074] 步骤S401,配置Java应用的健康分值计算的执行时间间隔M。
[0075] 步骤S402,每间隔时间M执行一次健康分值运算。
[0076] 步骤S403,根据时间以及健康分值绘制健康状态变化趋势图。
[0077] 优选的是,本Java应用健康度评估方法还包括:当监控指标的基准分值超出报警 阈值时执行预处理以及自我修复。执行自我修复的步骤包括:根据当前异常/错误类型查 询先验知识与规则库;根据先验知识执行或用户预定义规则执行异常/错误修复。
[0078] 优选的是,本Java应用健康度评估方法还包括:当健康分值超出报警阈值时产生 报警信息。
[0079] 图5是本发明一种实施例中进行预处理及自我修复的流程图。该流程包括:
[0080] 步骤S501,获取监控指标分值。
[0081] 步骤S501,判断该指标分值是否超出报警阈值,若是则执行步骤S503,否则回到 步骤S501。
[0082] 步骤S503,对于该监控指标进行预处理。预处理主要为保存上下文现场,包括且不 限于当前堆栈信息等。
[0083] 步骤S504,执行自我修复。
[0084] 步骤S505,判断自我修复是否成功。若是则进入步骤S507,否则进入步骤S506。
[0085] 步骤S506,记录当前预处理结果。然后进入步骤S507
[0086] 步骤S507,判断当前是否已经分析到最后一个指标。若是则进入步骤S508,否则 回到步骤S501。
[0087] 步骤S508,执行健康分值运算。
[0088] 步骤S509,判断健康分值是否超出阈值。若是则进入步骤S510,否则进入步骤 S511。
[0089] 步骤S510,发出报警信息。并进入步骤S511。
[0090] 步骤S511,等候1个时间间隔M。然后回到步骤S501。
[0091] 优选的是,本发明一种Java应用健康度评估方法还包括:将同类型Java应用的健 康分值进行比较。图6是本发明一种实施例中将同类型Java应用的健康分值进行比较的 流程图,该流程包括:
[0092] 步骤S601,根据Java应用的服务特点,选取N (N>=2)个同类型Java应用。例如 选取同为提供图片访问的web服务。
[0093] 步骤S602,获取所有同类型Java应用中健康分值最高的应用A的分数S,分解出 所有i个指标值{Al,A2, Α3···Α?}。
[0094] 步骤S603,计算第η个应用与应用A的差值百分比Xn=[ (Sn-S) /S] X 100%,分解出 第η个应用对应的i个指标值。
[0095] 步骤S604,计算第η个应用的第i个指标与应用A对应指标的差值百分比, Xi=[(Bi-Ai)/Ai]X100%。
[0096] 步骤S605,判断是否Xi>Xn。若是则进入步骤S606,否则回到步骤S604。
[0097] 步骤S606,保存指标i对应的上下文场景信息,获取该指标相应配置信息等。
[0098] 步骤S607,报警通知用户,待用户介入。
[0099] 步骤S608,判断是否比较到最后1个指标。若是则执行步骤S609,否则回到步骤 S604〇
[0100] 步骤S609,判断是否比较到最后1个应用。若是则比较结束,否则回到步骤S603。
[0101] 优选的是,本发明一种Java应用健康度评估方法还包括:根据同一业务链路上所 有Java应用的健康分值分析业务链路上下游关联Java应用的健康状态。一方面为分析出 某项在线业务链路上的Java应用健康瓶颈,另一方面为分析业务总体健康运行状况。
[0102] 图7是本发明一种实施例中分析业务链路上Java应用健康瓶颈的流程图,该流程 包括如下步骤:
[0103] 步骤S701,根据业务特点或经验值,配
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1