CN111651329B - 针对应用的健康检查方法和装置、计算机系统和存储介质 - Google Patents

针对应用的健康检查方法和装置、计算机系统和存储介质 Download PDF

Info

Publication number
CN111651329B
CN111651329B CN202010515457.1A CN202010515457A CN111651329B CN 111651329 B CN111651329 B CN 111651329B CN 202010515457 A CN202010515457 A CN 202010515457A CN 111651329 B CN111651329 B CN 111651329B
Authority
CN
China
Prior art keywords
service node
cluster
request
information
health check
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
CN202010515457.1A
Other languages
English (en)
Other versions
CN111651329A (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202010515457.1A priority Critical patent/CN111651329B/zh
Publication of CN111651329A publication Critical patent/CN111651329A/zh
Application granted granted Critical
Publication of CN111651329B publication Critical patent/CN111651329B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

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

Abstract

本公开提供了一种针对应用的健康检查方法。包括:确定与要进行健康检查的应用对应的业务节点;通过查询数据库获取业务节点的负载策略信息以及与业务节点对应的集群信息,其中,集群信息包括与业务节点对应的集群的地址信息以及集群中各个设备的地址信息;根据业务节点的负载策略信息,确定用于访问与业务节点对应的集群中各个设备的请求模式;根据用于访问与业务节点对应的集群中各个设备的请求模式,向每个设备发送健康检查请求;以及接收每个设备响应于健康检查请求发送的关于应用的健康检查结果。本公开提供了一种针对应用的健康检查装置、计算机系统和存储介质。

Description

针对应用的健康检查方法和装置、计算机系统和存储介质
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种针对应用的健康检查方法和装置、计算机系统和存储介质。
背景技术
随着计算机技术的快速发展,企业的业务量越来越大,可以通过部署大量的设备共同为用户提供服务,来分担业务压力。为了保证业务的正常运行,可以向每个设备发送健康检查请求,根据接收到针对健康检查请求的正常应答消息,来测试设备是否可以正常实现业务联通。
在实现本公开构思的过程中,发明人发现:可以预先配置好测试数据,根据配置好的测试数据生成健康检查请求。但是,由于测试环境复杂多变,在不同测试环境下,集群设备信息动态变化,测试数据也随着动态变化,因此,需要测试人员频繁修改测试数据,造成工作量大,且测试效率低下。
发明内容
有鉴于此,本公开提供了一种针对应用的健康检查方法和装置、计算机系统和存储介质。
本公开的一个方面提供了一种针对应用的健康检查方法,包括:确定与要进行健康检查的应用对应的业务节点;通过查询数据库获取所述业务节点的负载策略信息以及与所述业务节点对应的集群信息,其中,所述集群信息包括与所述业务节点对应的集群的地址信息以及所述集群中各个设备的地址信息;根据所述业务节点的负载策略信息,确定用于访问与所述业务节点对应的集群中各个设备的请求模式;根据所述用于访问与所述业务节点对应的集群中各个设备的请求模式,向每个所述设备发送健康检查请求;以及接收每个所述设备响应于所述健康检查请求发送的关于所述应用的健康检查结果。
根据本公开实施例,该方法还包括:根据所述业务节点的策略类型和策略内容生成所述业务节点的负载策略信息,其中,所述策略内容包括请求协议和证书卸载方式;根据所述业务节点的部署信息,确定与所述业务节点对应的集群信息;以及根据所述业务节点的负载策略信息和与所述业务节点对应的集群信息生成所述数据库。
根据本公开实施例,所述根据所述业务节点的负载策略信息确定用于访问与所述业务节点对应的集群中各个设备的请求模式包括:根据所述业务节点的负载策略信息中的策略类型、请求协议和证书卸载方式,生成基础测试数据;以及根据所述基础测试数据生成用于访问与所述业务节点对应的集群中各个设备的请求。
根据本公开实施例,所述策略类型包括基于上下文根目录的策略类型、基于域名的策略类型和基于预设字段的策略类型;所述根据所述业务节点的负载策略信息中的策略类型、请求协议和证书卸载方式,生成基础测试数据包括:根据所述上下文根目录、所述请求协议和所述证书卸载方式,生成与所述基于上下文根目录的策略类型对应的基础测试数据;根据所述域名、所述请求协议和所述证书卸载方式,生成与所述基于域名的策略类型对应的基础测试数据;以及根据所述预设字段、所述请求协议和所述证书卸载方式,生成与所述基于预设字段的策略类型对应的基础测试数据。
根据本公开实施例,所述根据所述用于访问与所述业务节点对应的集群中的各个设备的请求方法,向每个所述设备发送健康检查请求包括:通过所述数据库获取与所述业务节点对应的集群中各个设备的地址信息;根据与所述业务节点对应的集群中的各个设备的地址信息,将所述用于访问与所述业务节点对应的集群中各个设备的请求分别发送到每个所述设备。
根据本公开实施例,该方法还包括:获取每个所述设备响应于所述健康检查请求发送的关于所述应用的健康检查结果;将所述健康检查结果与预设期望值进行比对;以及根据比对结果生成健康检查日志。
本公开的另一个方面提供了一种针对应用的健康检查装置,包括:第一确定模块,用于确定与要进行健康检查的应用对应的业务节点;第一获取模块,用于通过查询数据库获取所述业务节点的负载策略信息以及与所述业务节点对应的集群信息,其中,所述集群信息包括与所述业务节点对应的集群的地址信息以及所述集群中各个设备的地址信息;第二确定模块,用于根据所述业务节点的负载策略信息,确定用于访问与所述业务节点对应的集群中各个设备的请求模式;发送模块,用于根据所述用于访问与所述业务节点对应的集群中各个设备的请求模式,向每个所述设备发送健康检查请求;以及接收模块,用于接收每个所述设备响应于所述健康检查请求发送的关于所述应用的健康检查结果。
根据本公开实施例,该装置还包括:第一生成模块,用于根据所述业务节点的策略类型和策略内容生成所述业务节点的负载策略信息,其中,所述策略内容包括请求协议和证书卸载方式;第三确定模块,用于根据所述业务节点的部署信息,确定与所述业务节点对应的集群信息;以及第二生成模块,用于根据所述业务节点的负载策略信息和与所述业务节点对应的集群信息生成所述数据库。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机系统,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
根据本公开的实施例,采用了确定与要进行健康检查的应用对应的业务节点,通过查询数据库获取业务节点的负载策略信息以及与业务节点对应的集群信息,根据负载策略信息确定用于访问与所述业务节点对应的集群中各个设备的请求模式,根据确定的请求模式向每个所述设备发送健康检查请求,接收每个所述设备响应于所述健康检查请求发送的关于所述应用的健康检查结果的技术手段。由于能够根据数据库中的负载策略信息和集群信息向集群中各个设备发送健康检查请求,所以至少部分地克服了相关技术中根据预先配置的测试数据生成健康检查请求时,由于测试环境变更,需要频繁修改测试数据造成的工作量大、测试效率低的技术问题,进而达到了降低了测试工作量,提高了测试效率的技术效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了可以应用本公开实施例的针对应用的健康检查方法和装置的示例性系统架构;
图2示意性示出了根据本公开实施例的针对应用的健康检查方法的流程图;
图3示意性示出了根据本公开实施例的构建数据库的方法的流程图;
图4示意性示出了根据本公开实施例的根据业务节点的负载策略信息确定用于访问与业务节点对应的集群中各个设备的请求模式的方法的流程图;
图5示意性示出了根据本公开实施例的生成基础测试数据的方法的流程图;
图6示意性示出了根据本公开实施例的向每个设备发送健康检查请求的方法的流程图;
图7示意性示出了根据本公开实施例的生成健康检查日志的方法的流程图;
图8示意性示出了根据本公开实施例的针对应用的健康检查装置的框图;以及
图9示意性示出了根据本公开实施例的适于针对应用的健康检查方法的计算机系统的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
在实现本公开构思的过程中,发明人发现可以先配置好测试数据,根据测试数据自动生成健康检查请求,可以自动化执行健康检查测试。但是,由于测试环境复杂多变,集群设备的信息动态变化,测试数据动态变化,需要测试人员频繁修改预先配置好的测试案例数据,工作量大,效率低下,不满足实际测试需求。
并且,由于不同负载策略类型检查请求要素不同,模拟请求方法也不同。可以在测试案例数据中增加负载类型字段,以便根据健康检查请求的负载类型字段确定采用需要调用的请求方法。但是,在测试案例数据中增加负载类型字段既增加了配置工作量,也增加了测试数据和程序逻辑耦合度。
基于此,本公开的实施例提供了一种针对应用的健康检查方法。该方法包括确定与要进行健康检查的应用对应的业务节点;通过查询数据库获取业务节点的负载策略信息以及与业务节点对应的集群信息,其中,集群信息包括与业务节点对应的集群的地址信息以及集群中各个设备的地址信息;根据业务节点的负载策略信息,确定用于访问与业务节点对应的集群中各个设备的请求模式;根据用于访问与业务节点对应的集群中各个设备的请求模式,向每个设备发送健康检查请求;以及接收每个设备响应于健康检查请求发送的关于应用的健康检查结果。
图1示意性示出了可以应用本公开实施例的针对应用的健康检查方法和装置的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括与应用对应的多个对个业务节点,以及与每个业务节点对应的集群。例如,与应用1对应的业务节点可以包括业务节点101、业务节点102和业务节点103,其中,业务节点101可以与集群110对应,业务节点102可以与集群120对应,业务节点103可以与集群130对应,其中,集群中的设备例如可以是服务器。系统架构100还可以包括与其他应用对应的业务节点以及集群,其中,其他应用与业务节点之间的对应关系,以及业务节点与集群之间的对应关系与图1中应用1类似,这里不再赘述。
根据本公开实施例,每个业务节点可以设置有负载均衡策略,业务节点可以根据负载均衡策略完成对请求的分配派发,将用户的业务请求均衡的分担到每个设备,实现负载均衡。负载均衡策略例如可以是软负载均衡策略,软负载均衡策略可以是在业务节点上安装的特定的负载均衡软件或是自带的负载均衡模块。
根据本公开实施例,每个业务节点可以将用户的访问请求分配派发到与该业务节点对应的集群中各个设备,集群中各个设备可以响应访问请求,并向业务节点返回响应内容。
例如,在对应用1进行健康检查时,业务节点101可以将用户发送的健康检查请求根据软负载均衡策略发送到集群110中的各个设备,以检查各个设备是否可以正常实现业务联通。具体的,在设备响应于健康检查请求返回与预期值一致的响应内容时,可以确定该设备可以实现业务联通。如果存在设备没有返回响应内容,或者返回的响应内容与预设值不一致,则可以确定该设备不能正常实现业务联通,或者该设备不可用。
根据本公开实施例,业务节点101还可以用于检查新接入设备的可用性。例如,在集群110中新接入设备时,可以向该新接入设备发送健康检查请求,根据该新接入设备返回的响应内容确定该新接入设备是否可用性。
根据本公开实施例,可以将集群110中每个设备返回的响应内容生成健康检查日志,根据健康检查日志生成关于应用1的健康检查分析报告。
应该理解,图1中的应用、业务节点和集群的数目仅仅是示意性的。根据实现需要,可以具有任意数目的业务节点和集群。
图2示意性示出了根据本公开实施例的针对应用的健康检查方法的流程图。
如图2所示,该方法包括操作S201~S205。
在操作S201,确定与要进行健康检查的应用对应的业务节点。
根据本公开实施例,在需要对某一应用进行健康检查时,可以确定与应用对应的多个业务节点。例如,针对应用1进行健康检查,可以根据应用1的应用简称、项目编号、月度版本等信息确定应用1的应用ID,根据应用ID可以确定与应用1对应的所有业务节点。
在操作S202,通过查询数据库获取业务节点的负载策略信息以及与业务节点对应的集群信息。
根据本公开实施例,集群信息包括与业务节点对应的集群的地址信息以及集群中各个设备的地址信息。例如,集群信息可以包括集群110的IP地址信息,集群110中各个设备的IP地址信息。
根据本公开实施例,由于测试环境可以有多套,其中,在不同测试环境中,同一集群的IP地址可以发生变化。测试环境例如可以按月变更,变更测试环境时,同一集群的IP地址也会相应发生变化,集群中设备的IP地址信息也会动态变化。
根据本公开实施例,为了避免由于测试环境例变更造成的测试复杂度,可以采用数据库存储每一套测试环境下的集群信息以及业务节点与集群的对应关系。具体的,数据库可以存储负载策略数据表和集群信息表。其中,负载策略数据表可以包括策略类型、请求协议、健康路径、期望值、服务器负载均衡(Server Load Balancer,简称SLB)端口号、证书卸载方式等。集群信息表可以配置有业务节点与集群信息的对应关系,集群信息与设备节点信息的对应关系,通过业务节点信息可以获取对应的设备信息。
图3示意性示出了根据本公开实施例的构建数据库的方法的流程图。
如图3所示,该方法包括操作S301~S303。
在操作S301,根据业务节点的策略类型和策略内容生成业务节点的负载策略信息。
根据本公开实施例,策略内容可以包括请求协议和证书卸载方式。不同业务节点可以有不同的转发请求的策略类型。其中,转发请求的策略类型可以包括基于上下文根目录(可以简称为上下文根)的转发策略类型、基于域名的转发策略类型和基于预设字段的转发策略类型。基于上下文根目录的转发策略类型可以是在确定下文根信息后,可以将请求转发给对应设备。基于域名的转发策略类型可以是在确定域名的情况下,可以将请求转发给对应设备。基于预设字段的转发策略类型可以是在请求头中包括预设字段的情况下,将请求转发给对应的设备。
根据本公开实施例,策略内容可以包括请求协议、健康路径、期望值、负载均衡端口号、证书卸载等。其中,负载均衡端口号可以是软负载均衡端口号。负载策略信息可以生成负载策略表,负载策略表可以如表1所示。
表1
在操作S302,根据业务节点的部署信息,确定与业务节点对应的集群信息。
根据本公开实施例,可以根据业务节点信息包括部署园区、网络区域、接入来源、服务部署区域可判定业务节点部署在哪套集群,从而可以确定业务节点与集群信息的对应关系。根据业务节点与集群信息的对应关系可以生成集群信息表。
在操作S303,根据业务节点的负载策略信息和与业务节点对应的集群信息生成数据库。
根据本公开实施例,可以将负载策略表和集群信息表均存储在数据库中。通过读取数据库中的负载策略表,可以根据不同策略类型的策略信息生成与该类型对应的请求模式,避免在测试案例增加负载类型字段造成的增加配置工作量的问题。并且通过读取数据库中的集群信息表可以确定每套测试环境下的业务节点与集群的对应关系,避免测试环境变更,集群设备信息动态变化需要频繁修改测试案例数据造成的工作量大,效率低下的问题。
在操作S203,根据业务节点的负载策略信息,确定用于访问与业务节点对应的集群中各个设备的请求模式。
根据本公开实施例,可以根据与策略类型相关的策略内容确定封装规则,根据封装规则确定用于访问与业务节点对应的集群中各个设备的请求模式。
表2示意性示出了与不同策略类型的业务节点所对应的封装规则。
表2
根据本公开实施例,根据表2中与不同策略类型的业务节点所对应的封装规则,可以确定不同策略类型的业务节点所对应的请求模式。其中,请求模式可以是构建的httpget相关的请求方法,或者https get相关的请求方法。
表3示意性示出了不同策略类型的业务节点所对应的请求模式。
表3
在操作S204,根据用于访问与业务节点对应的集群中各个设备的请求模式,向每个设备发送健康检查请求。
根据本公开实施例,参照表2,例如可以根据与业务节点A对应的封装方法https://1.1.1.1:80/icbc/health,将用户发送的健康检查请求发送给集群110中各个设备。
在操作S205,接收每个设备响应于健康检查请求发送的关于应用的健康检查结果。
根据本公开实施例,沿用上述示例,可以接收集群110中各个设备返回的健康检查结果,其中,集群110中各个设备返回的健康检查结果可以表征应用1的健康状态。
根据本公开实施例,在确定与要进行健康检查的应用对应的业务节点之后,首先,通过查询数据库获取业务节点的负载策略信息以及与业务节点对应的集群信息,然后,根据业务节点的负载策略信息,确定用于访问与业务节点对应的集群中各个设备的请求模式,进一步的,根据请求模式向每个设备发送健康检查请求,最后,接收每个设备响应于健康检查请求发送的关于应用的健康检查结果。能够根据负载策略信息和集群信息向集群中各个设备发送健康检查请求,避免了测试环境变化导致的频繁修改预先配置的测试案例数据的问题,降低了测试工作量,提高了测试效率。
图4示意性示出了根据本公开实施例的根据业务节点的负载策略信息确定用于访问与业务节点对应的集群中各个设备的请求模式的方法的流程图。
如图4所示,操作S203可以包括操作S401~S402。
在操作S401,根据业务节点的负载策略信息中的策略类型、请求协议和证书卸载方式,生成基础测试数据。
根据本公开实施例,可以将负载策略信息中与业务节点对应的策略类型、请求协议和证书卸载方式的信息进行封装,生成基础测试数据。
图5示意性示出了根据本公开实施例的生成基础测试数据的方法的流程图。
如图5所示,操作S401可以包括操作S501~S503。
在操作S501,根据上下文根目录、请求协议和证书卸载方式,生成与基于上下文根目录的策略类型对应的基础测试数据。
如表2所示,业务节点A的策略类型为基于上下文根目录的策略类型,可以将与业务节点A对应的上下文根目录/icbc,请求协议:https,证书卸载方式:在SLB卸载,健康路径:/icbc/health.html,SLB端口号80以及部署集群设备信息1.1.1.1封装成业务节点A的基础测试数据:https://1.1.1.1:80/icbc/health。
在操作S502,根据域名、请求协议和证书卸载方式,生成与基于域名的策略类型对应的基础测试数据。
如表2所示,业务节点D的策略类型为基于域名的策略类型,可以将与业务节点A对应的域名icbc.test.com,请求协议https,证书卸载方式在SLB卸载,健康路径/icbc/health.html,SLB端口号80以及部署集群设备信息1.1.1.1封装成业务节点D的基础测试数据:https://1.1.1.1:80/icbc/health。
根据本公开实施例,针对基于域名转发的测试数据,可以从数据库中获取集群信息,自动将域名和集群中各个设备设置虚拟DNS(DomainName System,简称DNS,域名系统)映射。可以避免由于测试环境没有配置DNS或者DNS解析地址不是软负载地址,每次需要手工修改HOST文件,增加依赖配置操作且繁琐重复的问题。
在操作S503,根据预设字段、请求协议和证书卸载方式,生成与基于预设字段的策略类型对应的基础测试数据。
如表2所示,业务节点D的策略类型为基于预设字段的策略类型,具体根据上下文根加上cookie字段进行转发的策略类型。可以将与业务节点A对应的上下文根和cookie字段,请求协议https,证书卸载方式在SLB卸载,健康路径/icbc/health.html,SLB端口号80以及部署集群设备信息1.1.1.1封装成业务节点G1的基础测试数据,该基础测试数据与基于上下文根策略类型相同,并且请求头中携带cookie字段。
在操作S402,根据基础测试数据生成用于访问与业务节点对应的集群中各个设备的请求。
根据本公开实施例,以业务节点A为例,可以根据业务节点A的基础测试数据:https://1.1.1.1:80/icbc/health,确定业务节点A的请求方法为https get简单请求,根据https get简单请求的请求方法可以生成用于访问与业务节点对应的集群中各个设备的请求。
图6示意性示出了根据本公开实施例的向每个设备发送健康检查请求的方法的流程图。
如图6所示,操作S204可以包括操作S601~S602。
在操作S601,通过数据库获取与业务节点对应的集群中各个设备的地址信息。
根据本公开实施例,可以通过查询数据库获取与业务节点101对应的集群110中各个设备的地址信息。
在操作S602,根据与业务节点对应的集群中的各个设备的地址信息,将用于访问与业务节点对应的集群中各个设备的请求分别发送到每个设备。
根据本公开实施例,集群110中各个设备的地址信息,可以将用于访问集群110中各个设备的健康查询请求分别发送到每个设备。
根据本公开实施例,在执行转发请求前,可以通过访问监控页面是否正常来判断软负载均衡测试环境是否可用。具体的,如果软负载均衡测试环境存在异常,可以先自动重启软负载服务,重启无效则告警通知相关人员,或者重启无效则不执行该条测试案例。如果软负载均衡测试环境检查正常,则将健康查询请求分别发送到每个设备。
图7示意性示出了根据本公开实施例的生成健康检查日志的方法的流程图。
如图7所示,包括操作S701~S703。
在操作S701,获取每个设备响应于健康检查请求发送的关于应用的健康检查结果。
根据本公开实施例,可以获取集群110中各个设备返回的健康检查结果,并将健康检查结果进行存储。
在操作S702,将健康检查结果与预设期望值进行比对。
根据本公开实施例,可以将集群110中各个设备返回的健康检查结果与测试期望值进行比对,针对每个设备,如果该设备的健康检查结果与期望值比对一致则输出成功,如果不一致则输出失败。同时可以将基础测试数据和测试最终结果输出到文件记录下来,以便提供给相关人员进行查看和分析。
在操作S703,根据比对结果生成健康检查日志。
根据本公开实施例,可以通过日志记录比对的结果,具体可以根据用户配置的日志级别,记录比对的结果,如果日志级别为DEBUG(排除故障),则将比对相同及不相同的结果都输出并保存,如果日志级别是ERROR(错误),则可以只将比对不相同的结果输出并保存。
图8示意性示出了根据本公开的实施例的针对应用的健康检查装置的框图。
如图8所示,针对应用的健康检查装置800可以包括第一确定模块801、第一获取模块802、第二确定模块803、发送模块804和接收模块805。
第一确定模块801,用于确定与要进行健康检查的应用对应的业务节点。
第一获取模块802,用于通过查询数据库获取业务节点的负载策略信息以及与业务节点对应的集群信息,其中,集群信息包括与业务节点对应的集群的地址信息以及集群中各个设备的地址信息。
第二确定模块803,用于根据业务节点的负载策略信息,确定用于访问与业务节点对应的集群中各个设备的请求模式。
发送模块804,用于根据用于访问与业务节点对应的集群中各个设备的请求模式,向每个设备发送健康检查请求。
接收模块805,用于接收每个设备响应于健康检查请求发送的关于应用的健康检查结果。
根据本公开实施例,针对应用的健康检查装置800还可以包括:第一生成模块、第三确定模块和第二生成模块。
第一生成模块,用于根据业务节点的策略类型和策略内容生成业务节点的负载策略信息,其中,策略内容包括请求协议和证书卸载方式。
第三确定模块,用于根据业务节点的部署信息,确定与业务节点对应的集群信息。
第二生成模块,用于根据业务节点的负载策略信息和与业务节点对应的集群信息生成数据库。
根据本公开实施例,第二确定模块803可以包括:第一生成单元和第二生成单元。
第一生成单元,用于根据业务节点的负载策略信息中的策略类型、请求协议和证书卸载方式,生成基础测试数据。
第二生成单元,用于根据基础测试数据生成用于访问与业务节点对应的集群中各个设备的请求。
根据本公开实施例,策略类型包括基于上下文根目录的策略类型、基于域名的策略类型和基于预设字段的策略类型。
根据本公开实施例,第一生成单元可以包括:第一生成子单元、第二生成子单元和第三生成子单元。
第一生成子单元,用于根据上下文根目录、请求协议和证书卸载方式,生成与基于上下文根目录的策略类型对应的基础测试数据。
第二生成子单元,用于根据域名、请求协议和证书卸载方式,生成与基于域名的策略类型对应的基础测试数据。
第三生成子单元,用于根据预设字段、请求协议和证书卸载方式,生成与基于预设字段的策略类型对应的基础测试数据。
根据本公开实施例,发送模块804可以包括:获取单元和发送单元。
获取单元,用于通过数据库获取与业务节点对应的集群中各个设备的地址信息。
发送单元,用于根据与业务节点对应的集群中的各个设备的地址信息,将用于访问与业务节点对应的集群中各个设备的请求分别发送到每个设备。
根据本公开实施例,针对应用的健康检查装置800还可以包括:第二获取模块、比对模块和第三生成模块。
第二获取模块,用于获取每个设备响应于健康检查请求发送的关于应用的健康检查结果。
比对模块,用于将健康检查结果与预设期望值进行比对。
第三生成模块,用于根据比对结果生成健康检查日志。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一确定模块801、第一获取模块802、第二确定模块803、发送模块804和接收模块805中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,第一确定模块801、第一获取模块802、第二确定模块803、发送模块804和接收模块805中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一确定模块801、第一获取模块802、第二确定模块803、发送模块804和接收模块805中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中针对应用的健康检查装置部分与本公开的实施例中针对应用的健康检查方法部分是相对应的,针对应用的健康检查装置部分的描述具体参考针对应用的健康检查方法部分,在此不再赘述。
图9示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的框图。图9示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,根据本公开实施例的计算机系统900包括处理器901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 903中,存储有系统900操作所需的各种程序和数据。处理器901、ROM 902以及RAM 903通过总线904彼此相连。处理器901通过执行ROM 902和/或RAM 903中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 902和RAM 903以外的一个或多个存储器中。处理器901也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,系统900还可以包括输入/输出(I/O)接口905,输入/输出(I/O)接口905也连接至总线904。系统900还可以包括连接至I/O接口905的以下部件中的一项或多项:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被处理器901执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 902和/或RAM 903和/或ROM 902和RAM 903以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (8)

1.一种针对应用的健康检查方法,包括:
确定与要进行健康检查的应用对应的业务节点;
根据所述业务节点的策略类型和策略内容生成所述业务节点的负载策略信息,其中,所述策略内容包括请求协议和证书卸载方式;
根据所述业务节点的部署信息,确定与所述业务节点对应的集群信息;
根据所述业务节点的负载策略信息和与所述业务节点对应的集群信息生成数据库;
通过查询所述数据库获取所述业务节点的负载策略信息以及与所述业务节点对应的集群信息,其中,所述集群信息包括与所述业务节点对应的集群的地址信息以及所述集群中各个设备的地址信息;
根据所述业务节点的负载策略信息,确定用于访问与所述业务节点对应的集群中各个设备的请求模式;
根据所述用于访问与所述业务节点对应的集群中各个设备的请求模式,向每个所述设备发送健康检查请求;以及
接收每个所述设备响应于所述健康检查请求发送的关于所述应用的健康检查结果。
2.根据权利要求1所述的方法,其中,所述根据所述业务节点的负载策略信息确定用于访问与所述业务节点对应的集群中各个设备的请求模式包括:
根据所述业务节点的负载策略信息中的策略类型、请求协议和证书卸载方式,生成基础测试数据;以及
根据所述基础测试数据生成用于访问与所述业务节点对应的集群中各个设备的请求。
3.根据权利要求2所述的方法,其中,所述策略类型包括基于上下文根目录的策略类型、基于域名的策略类型和基于预设字段的策略类型;
所述根据所述业务节点的负载策略信息中的策略类型、请求协议和证书卸载方式,生成基础测试数据包括:
根据所述上下文根目录、所述请求协议和所述证书卸载方式,生成与所述基于上下文根目录的策略类型对应的基础测试数据;
根据所述域名、所述请求协议和所述证书卸载方式,生成与所述基于域名的策略类型对应的基础测试数据;以及
根据所述预设字段、所述请求协议和所述证书卸载方式,
生成与所述基于预设字段的策略类型对应的基础测试数据。
4.根据权利要求2所述的方法,其中,所述根据所述用于访问与所述业务节点对应的集群中的各个设备的请求方法,向每个所述设备发送健康检查请求包括:
通过所述数据库获取与所述业务节点对应的集群中各个设备的地址信息;
根据与所述业务节点对应的集群中的各个设备的地址信息,将所述用于访问与所述业务节点对应的集群中各个设备的请求分别发送到每个所述设备。
5.根据权利要求1所述的方法,还包括:
获取每个所述设备响应于所述健康检查请求发送的关于所述应用的健康检查结果;
将所述健康检查结果与预设期望值进行比对;以及
根据比对结果生成健康检查日志。
6.一种针对应用的健康检查装置,包括:
第一确定模块,用于确定与要进行健康检查的应用对应的业务节点;第一获取模块,用于通过查询数据库获取所述业务节点的负载策略信息以及与所述业务节点对应的集群信息,其中,所述集群信息包括与所述业务节点对应的集群的地址信息以及所述集群中各个设备的地址信息;
第二确定模块,用于根据所述业务节点的负载策略信息,确定用于访问与所述业务节点对应的集群中各个设备的请求模式;
发送模块,用于根据所述用于访问与所述业务节点对应的集群中各个设备的请求模式,向每个所述设备发送健康检查请求;
接收模块,用于接收每个所述设备响应于所述健康检查请求发送的关于所述应用的健康检查结果;
第一生成模块,用于根据所述业务节点的策略类型和策略内容生成所述业务节点的负载策略信息,其中,所述策略内容包括请求协议和证书卸载方式;
第三确定模块,用于根据所述业务节点的部署信息,确定与所述业务节点对应的集群信息;
第二生成模块,用于根据所述业务节点的负载策略信息和与所述业务节点对应的集群信息生成所述数据库。
7.一种计算机系统,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至5中任一项所述的方法。
8.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至5中任一项所述的方法。
CN202010515457.1A 2020-06-08 2020-06-08 针对应用的健康检查方法和装置、计算机系统和存储介质 Active CN111651329B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010515457.1A CN111651329B (zh) 2020-06-08 2020-06-08 针对应用的健康检查方法和装置、计算机系统和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010515457.1A CN111651329B (zh) 2020-06-08 2020-06-08 针对应用的健康检查方法和装置、计算机系统和存储介质

Publications (2)

Publication Number Publication Date
CN111651329A CN111651329A (zh) 2020-09-11
CN111651329B true CN111651329B (zh) 2023-08-01

Family

ID=72344927

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010515457.1A Active CN111651329B (zh) 2020-06-08 2020-06-08 针对应用的健康检查方法和装置、计算机系统和存储介质

Country Status (1)

Country Link
CN (1) CN111651329B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112822071B (zh) * 2020-12-31 2022-03-25 中国工商银行股份有限公司 一种基于双层软负载架构的网络故障诊断方法及装置
CN112783745A (zh) * 2021-02-02 2021-05-11 无锡车联天下信息技术有限公司 一种集群数据的监控方法、装置、系统及存储介质
CN112882895B (zh) * 2021-02-22 2024-06-21 中国工商银行股份有限公司 健康检查方法、装置、计算机系统及可读存储介质
CN113312234B (zh) * 2021-05-18 2022-07-26 福建天泉教育科技有限公司 一种健康检测的优化方法及终端

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143024A (zh) * 2011-03-24 2011-08-03 福建星网锐捷网络有限公司 一种负载均衡功能的测试方法、网络设备及测试系统
CN107612727A (zh) * 2017-09-14 2018-01-19 掌阅科技股份有限公司 分布式健康检查方法、计算设备及计算机存储介质
CN109743229A (zh) * 2019-01-11 2019-05-10 武汉斗鱼鱼乐网络科技有限公司 基于分布式的性能测试方法、装置和系统
CN110311988A (zh) * 2019-07-30 2019-10-08 中国工商银行股份有限公司 后端服务器的健康检查方法、负载均衡方法及装置
CN110489238A (zh) * 2019-08-21 2019-11-22 北京百度网讯科技有限公司 节点检测方法、装置、电子设备及存储介质
CN110581855A (zh) * 2019-09-12 2019-12-17 中国工商银行股份有限公司 应用控制方法、装置、电子设备和计算机可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11025514B2 (en) * 2015-10-30 2021-06-01 Nicira, Inc. Automatic health check and performance monitoring for applications and protocols using deep packet inspection in a datacenter
US10372596B2 (en) * 2017-03-24 2019-08-06 International Business Machines Corporation Distributed system test device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143024A (zh) * 2011-03-24 2011-08-03 福建星网锐捷网络有限公司 一种负载均衡功能的测试方法、网络设备及测试系统
CN107612727A (zh) * 2017-09-14 2018-01-19 掌阅科技股份有限公司 分布式健康检查方法、计算设备及计算机存储介质
CN109743229A (zh) * 2019-01-11 2019-05-10 武汉斗鱼鱼乐网络科技有限公司 基于分布式的性能测试方法、装置和系统
CN110311988A (zh) * 2019-07-30 2019-10-08 中国工商银行股份有限公司 后端服务器的健康检查方法、负载均衡方法及装置
CN110489238A (zh) * 2019-08-21 2019-11-22 北京百度网讯科技有限公司 节点检测方法、装置、电子设备及存储介质
CN110581855A (zh) * 2019-09-12 2019-12-17 中国工商银行股份有限公司 应用控制方法、装置、电子设备和计算机可读存储介质

Also Published As

Publication number Publication date
CN111651329A (zh) 2020-09-11

Similar Documents

Publication Publication Date Title
CN111651329B (zh) 针对应用的健康检查方法和装置、计算机系统和存储介质
CN108449282B (zh) 一种负载均衡方法及其装置
CN106856434B (zh) 访问请求转换的方法和装置
CN113094182B (zh) 一种服务的负载均衡处理方法、装置及云端服务器
CN106657180B (zh) 用于云服务的信息传输方法、装置、终端设备及系统
CN111510330B (zh) 接口管理装置、方法及存储介质
CN112261094A (zh) 一种报文处理方法及代理服务器
CN110830606A (zh) 解决异常dns缓存的方法、装置及计算机可读存储介质
CN113301004B (zh) 数据处理方法、装置、通信方法和单网卡虚拟机
US10887183B1 (en) System and method for topological redundancy
US8572245B1 (en) Using the TCP window size for identifying packets and debugging
CN113179295B (zh) 报文处理方法及装置
CN113742108A (zh) 服务调用方法和装置、电子设备和计算机可读存储介质
CN113242299A (zh) 多数据中心的容灾系统、方法、计算机设备及介质
EP3298736B1 (en) Forwarding current request based on, at least in part, previous request(s)
CN116781564A (zh) 一种容器云平台的网络检测方法和系统
US11595471B1 (en) Method and system for electing a master in a cloud based distributed system using a serverless framework
CN109347743B (zh) 一种专线通信方法、计算机可读存储介质和终端设备
CN112583951B (zh) 应用层双活方法、装置、设备及存储介质
CN115134424A (zh) 负载均衡方法、装置、计算机设备、存储介质和程序产品
US20220321457A1 (en) Route discovery for failure detection in computer networks
CN116264538A (zh) 数据处理方法、装置、设备及计算机存储介质
JP2023522785A (ja) 調和総合プロキシサービス
CN111416852A (zh) 在多个负载均衡器之间进行会话同步的方法和负载均衡器
CN116016646B (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