掌桥专利:专业的专利平台
掌桥专利
首页

一种监控方法、装置、计算机设备及存储介质

文献发布时间:2023-06-19 16:06:26



技术领域

本申请涉及计算机技术领域,特别是涉及一种监控方法、装置、计算机设备及存储介质。

背景技术

随着计算机技术的快速发展,由于各式各样业务越来越繁琐,为了提高对业务的处理效率,企业开发了用于处理业务的系统。该系统的正常运行依赖于多个服务进程的成功启动,因此,需要对每个服务进程的启动过程进行监控。

目前,对服务进程的启动过程的监控的方法中,仅根据服务进程的名称查询服务进程的运行状态信息,如果查询不到服务进程的运行状态信息,则得到服务进程启动失败的监控结果;如果能查询到服务进程的运行状态信息,则得到服务进程启动成功的监控结果。

然而,仅通过查询服务进程的运行转态信息对服务进程的启动过程进行监控,所依赖的信息过于单一,难以得出准确的监控结果。

发明内容

基于上述问题,本申请提供了一种监控方法、装置、设备及存储介质,能够提高监控结果的准确性。

为解决上述问题,本申请实施例提供的技术方案如下:

本申请第一方面提供了一种监控方法,包括:

获取服务进程的启动数据的加载进度,基于所述服务进程的启动数据的加载进度,得到第一监控结果;

获取针对所述服务进程的运行状态信息的查询结果,基于所述查询结果,得到第二监控结果;

当所述第一监控结果和所述第二监控结果均表征所述服务进程启动成功时,确定所述服务进程启动成功。

在一个可能的实现方式中,所述方法还包括:

获取所述服务进程的端口状态值;

所述基于所述查询结果,得到第二监控结果,包括:

根据所述查询结果和所述端口的状态值,得到第二监控结果。

在一个可能的实现方式中,所述基于所述服务进程的启动数据的加载进度,得到第一监控结果,包括:

基于预设时刻的所述服务进程的启动数据的加载进度,若所述预设时刻的服务进程的启动数据加载完成,得到所述服务进程的启动成功的第一监控结果;若所述预设时刻的服务进程的启动数据未加载完成,得到所述服务进程的启动失败的第一监控结果。

在一个可能的实现方式中,所述根据所述查询结果和所述端口的状态值,得到第二监控结果,包括:

若所述查询结果表征存在所述服务进程的运行状态信息,且所述端口的状态值表征所述端口未被占用,得到所述服务进程的启动成功的第二监控结果;

若所述查询结果表征不存在所述服务进程的运行状态信息,或所述端口的状态值表征所述端口被占用,得到所述服务进程的启动失败的第二监控结果。

在一个可能的实现方式中,所述获取服务进程的启动数据的加载进度,包括:

获取服务进程的日志信息;

获取所述日志信息中与启动数据的加载项关键点对应的加载时刻;

将当前时刻与所述加载项关键点对应的加载时刻进行对比,得到对比结果,根据所述对比结果,获取当前的服务进程的启动数据的加载进度。

本申请第二方面提供了一种监控装置,包括:

第一监控结果获得单元,用于获取服务进程的启动数据的加载进度,基于所述服务进程的启动数据的加载进度,得到第一监控结果;

第二监控结果获得单元,用于获取针对所述服务进程的运行状态信息的查询结果,基于所述查询结果,得到第二监控结果;

第三监控结果获得单元,用于当所述第一监控结果和所述第二监控结果均表征所述服务进程启动成功时,确定所述服务进程启动成功。

在一个可能的实现方式中,所述装置还包括:

端口状态值获取单元,用于获取所述服务进程的端口状态值;

所述第二监控结果获得单元,具体用于:

根据所述查询结果和所述端口的状态值,得到第二监控结果。

在一个可能的实现方式中,所述第一监控结果获得单元包括:

第一获取单元,用于获取服务进程的日志信息;

第二获取单元,用于获取所述日志信息中与启动数据的加载项关键点对应的加载时刻;

第三获取单元,将当前时刻与所述加载项关键点对应的加载时刻进行对比,得到对比结果,根据所述对比结果,获取当前的服务进程的启动数据的加载进度。

本申请第三方面提供一种计算机设备,包括:处理器、存储器、系统总线;

所述处理器以及所述存储器通过所述系统总线相连;

所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行本申请实施例第一方面提供的监控方法。

本申请第四方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行本申请实施例第一方面提供的监控方法。

相较于现有技术,本申请具有以下有益效果:

本申请提供的监控方法,在监控服务进程启动过程中,监控服务进程的启动数据是否加载成功,服务进程的运行状态信息是否存在,根据多个维度的信息判断服务进程启动成功与否,提高了监控结果的准确性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种监控方法流程图;

图2为本申请实施例提供的使用监控方法对一个服务进程的启动过程监控的示意图;

图3为本申请实施例提供的一种监控装置结构图;

图4为本申请实施例提供的一种计算机设备结构图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

正如前文描述,目前,对服务进程的启动过程的监控的方法中,仅根据服务进程的名称查询服务进程的运行状态信息,如果查询不到服务进程的运行状态信息,则得到服务进程启动失败的监控结果;如果能查询到服务进程的运行状态信息,则得到服务进程启动成功的监控结果。

然而,多个服务进程在启动数据加载时,服务器内存不够或者因为服务进程的端口被占用等因素可能导致系统启动失败,如果仅仅查询到服务进程的运行状态信息存在,就得到服务进程启动成功的监控结果,那么监控结果的获得所依赖的信息过于单一,可能存在服务进程启动成功的假象,监控结果不准确。

有鉴于此,本申请实施例提出了一种监控方法、装置、设备及存储介质。该方法包括:获取服务进程的启动数据的加载进度,基于所述服务进程的启动数据的加载进度,得到第一监控结果,以实现对服务进程的启动数据加载过程的监控。获取针对所述服务进程的运行状态信息的查询结果,基于所述查询结果,得到第二监控结果,以实现对服务进程的运行状态信息的监控。当所述第一监控结果和所述第二监控结果均表征所述服务进程启动成功时,确定所述服务进程启动成功,依据多维度的信息,实现对服务进程的启动过程的监控,从而提高了监控结果的准确性。

图1为本申请实施例提供的一种监控方法流程图,该监控方法包括:

S110、获取服务进程的启动数据的加载进度,基于服务进程的启动数据的加载进度,得到第一监控结果。

在服务进程启动之前,可以预先在配置文件配置服务进程的名称、服务进程的端口、服务进程的启动数据的加载项关键点。

在获取到启动指令和配置文件信息后启动服务进程,服务进程启动后需要先加载包括服务进程的程序内容的启动数据。因此,监控启动数据是否成功加载。

在一个可能的实现方式中,获取服务进程的启动数据的加载进度,包括:

S111、获取服务进程的日志信息。

服务进程启动过程的的每个执行步骤都记录于服务进程的日志信息中,因此,可以通过日志信息得到启动数据的加载进度。

S112、获取日志信息中与启动数据的加载项关键点对应的加载时刻。

服务进程在加载启动数据的过程中,日志信息可以记录启动数据的加载项关键点加载完成的时刻。

S113、将当前时刻与加载项关键点对应的加载时刻进行对比,得到对比结果,根据对比结果,获取当前的服务进程的启动数据的加载进度。

在一个具体示例中,当前时刻为服务进程启动后的第2秒,日志信息中记录的最近的时刻为第5个加载项关键点对应的加载时刻为服务进程启动后的第1秒55,则当前的加载进度为50%。根据当前加载进度50%,可以预估完成加载的时刻为第4秒。

在一个可能的实现方式中,基于服务进程的启动数据的加载进度,得到第一监控结果,包括:

基于预设时刻的服务进程的启动数据的加载进度,若预设时刻的服务进程的启动数据加载完成,得到服务进程的启动成功的第一监控结果;若预设时刻的服务进程的启动数据未加载完成,得到服务进程的启动失败的第一监控结果。

预设时刻可以根据预估加载完成的时刻和/或超时阈值进行预设,按照上述加载进度获取方法,获取预设时刻的加载进度,若加载进度为100%即加载完成,得到服务进程的启动成功的第一监控结果;若加载进度小于100%即没有加载完成或加载超时,得到服务进程的启动失败的第一监控结果。

本步骤可以监控到因服务器内存不足导致启动数据加载失败,进而导致服务进程启动失败的情况。

S120、获取针对服务进程的运行状态信息的查询结果,基于查询结果,得到第二监控结果;

根据服务进程的名称查询服务进程的运行状态信息是否存在,得到查询结果,若查询结果为存在,得到服务进程的启动成功的第二监控结果。若查询结果为不存在,得到服务进程的启动失败的第二监控结果。

需要说明的是,本申请实施例不限定S110和S120的执行顺序。

S130、当第一监控结果和第二监控结果均表征服务进程启动成功时,确定服务进程启动成功。

本申请实施例监控服务进程的启动数据是否加载成功,服务进程的运行状态信息是否存在,根据多个维度的信息判断服务进程启动成功与否,实现了对服务进程的启动过程的精准监控。

在一个可能的实现方式中,方法还包括:

获取服务进程的端口状态值。

需要说明的是,只有在服务进程的运行状态信息存在的情况下,才能获得端口的状态值。

基于查询结果,得到第二监控结果,包括:

根据查询结果和端口的状态值,得到第二监控结果,具体包括:

S121、若查询结果表征存在服务进程的运行状态信息,且端口的状态值表征端口未被占用,得到服务进程的启动成功的第二监控结果。

S122、若查询结果表征不存在服务进程的运行状态信息,或端口的状态值表征端口被占用,得到服务进程的启动失败的第二监控结果。

端口不是独立存在的,端口是依附于服务进程的。某个服务进程开启,那么服务进程对应的端口就开启了,服务进程关闭,则该端口也就关闭了。因此,只有在服务进程的运行状态信息存在的情况下,才能获得端口的状态值。如果服务进程的运行状态信息存在,但是端口被占用或是其他情况,服务进程的启动也是失败的。因此,要对服务进程的端口状态进行监控,进一步确定服务进程的启动是否成功。

在一个具体实示例中,在windows系统中,web服务进程启动后,查询web服务进程的运行状态信息是否存在,若存在,获取web服务进程的端口80的监听状态值,若监听状态值为LISTEN,则端口正常。

本申请实施例实现对服务进程的端口状态的监控,以依据端口状态进一步判断服务进程的启动是否成功。根据多个维度的信息判断服务进程启动成功与否,实现了对服务进程的启动过程的精准监控。

图2为本申请实施例提供的使用监控方法对一个服务进程的启动过程监控的示意图,如图2所示,控制服务进程启动的程序接收由代理程序或者人工发起针对服务进程的启动指令,加载包含服务进程的名称、端口、加载项关键点的配置文件后,控制服务进程启动,并将服务进程的启动数据加载到服务器内存,对启动数据的加载进度、服务进程的运行状态信息、端口状态值进行监控,当三个维度的信息均表征服务进程启动成功时,确定服务进程启动成功。同时,可以对服务进程名称、启动数据的加载进度、服务进程的运行状态信息、端口状态值等进行展示。

本申请实施例实现对服务进程的端口状态的监控,以依据端口状态进一步判断服务进程的启动是否成功。根据多个维度的信息判断服务进程启动成功与否,实现了对服务进程的启动过程的精准监控。

图3为本申请实施例提供的一种监控装置结构图,如图3所示,监控装置300包括:

第一监控结果获得单元310,用于获取服务进程的启动数据的加载进度,基于服务进程的启动数据的加载进度,得到第一监控结果;

第二监控结果获得单元320,用于获取针对服务进程的运行状态信息的查询结果,基于查询结果,得到第二监控结果;

第三监控结果获得单元330,用于当第一监控结果和第二监控结果均表征服务进程启动成功时,确定服务进程启动成功。

如图3所示,装置300还包括:

端口状态值获取单元340,用于获取服务进程的端口状态值;

第二监控结果获得单元320,具体用于:

根据查询结果和端口的状态值,得到第二监控结果。

在一个可能的实现方式中,第一监控结果获得单元310具体用于:

基于预设时刻的服务进程的启动数据的加载进度,若预设时刻的服务进程的启动数据加载完成,得到服务进程的启动成功的第一监控结果;若预设时刻的服务进程的启动数据未加载完成,得到服务进程的启动失败的第一监控结果。

在一个可能的实现方式中,第二监控结果获得单元320具体用于:

若查询结果表征存在服务进程的运行状态信息,且端口的状态值表征端口未被占用,得到服务进程的启动成功的第二监控结果;

若查询结果表征不存在服务进程的运行状态信息,或端口的状态值表征端口被占用,得到服务进程的启动失败的第二监控结果。

在一个可能的实现方式中,第一监控结果获得单元310包括:

第一获取单元,用于获取服务进程的日志信息;

第二获取单元,用于获取日志信息中与启动数据的加载项关键点对应的加载时刻;

第三获取单元,将当前时刻与加载项关键点对应的加载时刻进行对比,得到对比结果,根据对比结果,获取当前的服务进程的启动数据的加载进度。

本申请实施例实现对服务进程的端口状态的监控,以依据端口状态进一步判断服务进程的启动是否成功。根据多个维度的信息判断服务进程启动成功与否,实现了对服务进程的启动过程的精准监控。

本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行本申请实施例第一方面提供的监控方法。

在实际应用中,所述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

图4为本申请实施例提供的一种计算机设备的结构示意图。图4显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图4所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。

总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。

计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。

计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图4所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图4中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

处理器单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本申请实施例提供的监控方法。

本发明提供的一种监控方法、装置、计算机设备及存储介质,可用于金融领域或其他领域,例如,可用于金融领域中的银行操作系统应用场景。其他领域为除金融领域之外的任意领域,例如,计算机技术领域。上述仅为示例,并不对本发明提供的发明名称的应用领域进行限定。

还需要说明的是,在本申请的描述中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

技术分类

06120114701331