一种服务监控方法和设备与流程

文档序号:12747897阅读:205来源:国知局
一种服务监控方法和设备与流程

本发明涉及计算机技术领域,尤其涉及一种服务监控方法和设备。



背景技术:

随着科学技术的飞速发展,计算设备(如终端设备或服务器等)能够实现的功能越来越多。以终端设备为例,通常,终端设备可以安装用于实现不同功能的服务,这样,终端设备在需要实现某种功能时,可以启动相关服务,并在该服务处于运行状态时,通过该服务实现相应的功能。例如,终端设备中安装用于对数据进行读取的服务,终端设备在该服务处于运行状态时,可以通过该服务实现对存储的数据进行读取的功能。

但是,在实际应用中,终端设备在通过某个服务实现相应的功能时,存在该服务不能正常运行的现象,此时终端设备通过该服务将无法成功实现相应的功能。

为了解决上述问题,可以对终端设备中的服务进行监控。具体地,终端设备在启动某个服务后,对该服务运行时产生的进程进行监控,确定该服务的进程是否存在,如果该服务的进程存在,可以确定该服务正常运行;如果该服务的进程不存在,说明该服务没有正常运行,此时,可以创建该进程,使得在创建该进程后,该服务正常运行。

然而,在实际应用中,存在“虽然服务的进程存在,但该服务仍然不能正常提供服务”的情况,在这种情况下,按照上述监控方法,得到的监控结果为该服务正常运行,但这显然与实际情况不符。



技术实现要素:

有鉴于此,本发明实施例提供了一种服务监控方法和设备,用于解决采用现有技术对计算设备中的服务进行监控,得到的监控结果不准确的问题。

本发明实施例提供了一种服务监控方法,包括:

获取待监控服务的确认信息;所述确认信息,是所述待监控服务生成的、用于表征所述待监控服务响应于访问指令是否执行所述预设操作的信息;所述预设操作,用于实现所述访问指令所对应功能的操作;

根据所述确认信息,确定所述待监控服务是否正常提供服务。

本发明实施例提供了一种服务监控设备,包括:

获取单元,用于获取待监控服务的确认信息;所述确认信息,是所述待监控服务生成的、用于表征所述待监控服务响应于访问指令是否执行所述预设操作的信息;所述预设操作,用于实现所述访问指令所对应功能的操作;

确定单元,用于根据所述确认信息,确定所述待监控服务是否正常提供服务。

本发明实施例能够达到下述技术效果:

相较于现有技术中采用的判断依据“待监控服务的进程是否存在”而言,由于本发明实施例提供的方案中采用的判断依据“表征待监控服务是否成功执行所述预设操作的信息”,能够更为准确地反映出待监控服务是否正常提供服务,从而采用本发明实施例提供的方案来监控待监控服务是否正常提供服务,能够得到相较而言比较准确的监控结果。

附图说明

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

图1为本发明实施例提供的一种服务监控方法的流程示意图;

图2为本发明实施例提供的一种服务监控方法的流程示意图;

图3(a)为本发明实施例提供的一种服务监控方法的流程示意图;

图3(b)为本发明实施例提供的一种服务监控方法的示意图;

图4为本发明实施例提供的一种服务监控设备的结构示意图。

具体实施方式

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

需要说明的是,在本发明实施例中,所述待监控服务,可以是安装在计算设备中,以便于所述计算设备或其他计算设备可以通过所述待监控服务实现相应功能。比如,所述待监控服务可以是安装在服务器中,用于对所述服务器中的数据进行读取的Gbalancer服务,也可以是用于实现其他功能的其他服务,比如,数据存储服务,数据挖掘服务,信息校验服务,等等,这里不做具体限定。

在本发明实施例中,可以以监控安装在服务器中的待监控服务为例进行说明。

需要说明的是,本发明实施例中,在对服务器中安装的待监控服务进行监控时,可以由所述服务器对所述待监控服务进行监控,也可以由监控设备对所述待监控服务进行监控,这里不做具体限定。在本发明实施例中,以服务器对安装在所述服务器中的待监控服务进行监控为例进行说明。可选地,也可以在服务器中设置监控脚本,所述监控脚本对安装在所述服务器中的待监控服务进行监控,所述监控脚本,为用于实现本发明实施例提供的服务监控方法的脚本程序。

实施例1

图1为本发明实施例提供的一种服务监控方法的流程示意图。所述方法如下所述。

步骤11:获取待监控服务的确认信息。

其中,所述确认信息,是所述待监控服务生成的、用于表征所述待监控服务响应于访问指令是否执行所述预设操作的信息。

在步骤11中,为了确定服务器中安装的待监控服务是否能够正常提供服务,可以获取待监控服务响应于对所述待监控服务的访问指令,生成的确认信息,以便于根据获取的确认信息确定所述待监控服务是否能够正常提供服务。

需要说明的是,在本发明实施例中,所述访问指令为用于触发所述待监控服务实现相应功能的指令,所述预设操作为用于所述待监控服务实现所述访问指令所对应功能的操作。例如,针对用于提供数据读取服务的待监控服务,所述访问指令可以是对数据进行读取的指令,所述预设操作可以是对数据执行的读取操作。

所述待监控服务在响应于访问指令执行预设操作后,会根据执行预设操作的结果,生成确认信息,这样,在对所述所述待监控服务进行监控时,可以确定得到所述待监控服务的确认信息。

该确认信息,可以由所述待监控服务主动发送(或称返回)给服务器,或者,由所述服务器主动请求所述待监控服务提供,或者,可以由所述服务器主动从保存确认信息的存储空间中获取。其中,所述待监控服务主动发送(或称返回)给所述服务器,一般会出现在所述服务器向发送访问指令,并等待所述待监控服务返回确认信息的场景中。具体可参见后文的实施例2。需要说明的是,针对由所述待监控服务主动发送(或称返回)给所述服务器的方式而言,可以预先对所述待监控服务的功能逻辑进行改进(具体而言,可以是修改所述待监控服务的源代码),使所述待监控服务具备向服务器返回确认信息的功能。

步骤12:根据所述确认信息,确定所述待监控服务是否正常提供服务。

在步骤12中,在获取到所述待监控服务的确认信息后,可以根据所述确认信息,判断所述待监控服务是否正常提供服务。

比如,根据确定信息,可以判断所述待监控服务是否执行所述预设操作;若未执行所述预设操作,则确定所述待监控服务不能正常提供服务;若执行所述预设操作,则确定所述待监控服务正常提供服务。

基于上述步骤11中记载的内容,所述确认信息用于表征所述待监控服务是否执行所述预设操作,在实际应用中,如果所述待监控服务执行所述预设操作,可以说明,所述待监控服务可以实现所述访问指令所对应功能的操作,即所述待监控服务可以实现所述功能;如果所述待监控服务没有执行所述预设操作,可以说明,所述待监控服务不可以实现所述访问指令所对应功能的操作,即所述待监控服务不可以实现所述功能,因此,在步骤12中,可以根据所述确认信息,确定所述待监控服务是否正常提供服务。

所述确认信息中,比如可以包括用于表征所述待监控服务是否执行所述预设操作的变量值,则,根据该变量值,可以确定所述待监控服务是否执行所述预设操作。具体而言,若假设该变量值为1,表征所述待监控服务执行了所述预设操作,变量值为0,表征所述待监控服务没有执行所述预设操作,那么,当获取的所述确认信息中包含的该变量值为1时,可以确定所述待监控服务执行了所述预设操作。当然,本发明实施例中,视实际情况,也可以根据确认信息的其他特征(该特征能够表征所述待监控服务是否执行所述预设操作),来判断所述待监控服务是否执行了所述预设操作,此处不再举例赘述。

本发明实施例提供的技术方案,相较于现有技术中采用的判断依据“待监控服务的进程是否存在”而言,由于本发明实施例提供的方案中采用的判断依据“表征待监控服务是否成功执行所述预设操作的信息”,能够更为准确地反映出待监控服务是否正常提供服务,从而采用本发明实施例提供的方案来监控待监控服务是否正常提供服务,能够得到相较而言比较准确的监控结果。

实施例2

图2为本发明实施例提供的一种服务监控方法的流程示意图,所述方法如下所述。

步骤21:从所述待监控服务所在的计算设备中查找是否存在所述待监控服务的确认信息。

在步骤21中,在需要对待监控服务进行监控时,可以获取所述待监控服务的确认信息。在本发明实施例中,以所述待监控服务所在的计算设备为服务器为例进行说明。

在实际应用中,所述待监控服务所在的服务器,在所述待监控服务执行所述预设操作并生成确认信息后,可以将生成的确认信息进行记录并保存,因此,在本发明实施例中,在获取所述待监控服务的确认信息时,可以从所述服务器中查找是否存在所述待监控服务的确认信息。本发明实施例中,可以预先设置确认信息的保存路径,并对该保存路径进行记录,以便根据记录的保存路径查找到所述待监控服务生成的确认信息。

在查找所述待监控服务的确认信息时,如果所述待监控服务所在的服务器中存在所述待监控服务的确认信息,则执行步骤22;如果所述待监控服务所在的服务器中不存在所述待监控服务的确认信息,则执行步骤23。

步骤22:获取所述待监控服务生成的确认信息。

在步骤22中,如果所述服务器中存在所述确认信息,那么,可以获取得到所述服务器保存的所述确认信息。需要说明的是,如果在所述服务器中存在多条所述确认信息的记录,那么,作为一种可选的方式,可以根据记录所述确认信息的时间,获取最新的确认信息。

步骤23:向待监控服务发送所述访问指令。

在步骤23中,如果所述服务器中不存在所述确认信息,那么,为了获取得到所述待监控服务的确认信息,可以向所述待监控服务发送所述访问指令,以便于获取所述待监控服务在响应于发送的所述访问指令,执行所述预设操作后生成的所述确认信息。具体地,获取手段可如前文所述,是获取所述待监控服务发送(或称返回)的确认信息。

需要说明的是,在实际应用中,在向所述待监控服务发送所述访问指令时,如果由所述待监控服务所在的服务器对所述待监控服务进行监控,那么,可以由所述服务器向所述待监控服务发送所述访问指令,并指示所述待监控服务执行所述预设操作;如果是监控设备对所述待监控服务进行监控,那么,可以由所述监控设备向安装所述待监控服务的服务器发送访问指令,并指示所述待监控服务执行所述预设操作。

在本实施例的一些可选实施方式中,具体地,向所述待监控服务发送访问指令,包括:

从所述待监控服务所在的计算设备中查找所述待监控服务的进程;

在查找得到所述待监控服务的进程时,向所述待监控服务发送访问指令。

在实际应用中,在向所述待监控服务发送访问指令之前,可以查看所述待监控服务对应的进程是否存在,以便于在确定所述待监控服务的进程存在时,所述待监控服务可以通过该进程执行所述预设操作。

在确定所述待监控服务的进程是否存在时,具体地,可以从所述待监控服务所在的服务器中查找所述待监控服务的进程,在查找该进程时,可以通过所述待监控服务的进程的进程号进行查找,也可以通过其他方法进行查找,不做具体限定。

如果查找到所述待监控服务的进程,那么,可以向所述待监控服务发送所述访问指令;如果没有查找到所述待监控服务的进程,那么,可以不向所述待监控服务发送所述访问指令。

在本发明实施例中,在确定所述进程不存在时,可以说明,所述待监控服务没有被运行,或所述待监控服务非正常运行(没有产生进程),此时,可以向所述待监控服务所在的服务器发送启动指令,指示所述服务器对所述待监控服务执行启动操作,在启动所述待监控服务后,可以使用上述记载的方法对所述待监控服务进行监控。

步骤24:获取所述待监控服务在响应于发送的所述访问指令生成的确认信息。

在步骤24中,基于步骤23中记载的内容,在向所述待监控服务发送访问指令后,所述待监控服务可以接收所述访问指令,在接收到所述访问指令后,响应于所述访问指令。

所述待监控服务在响应于所述访问指令后,至少存在两种执行结果,一种是所述待监控服务没有执行所述预设操作,另一种是所述待监控服务执行所述预设操作,在本发明实施例中,所述待监控服务可以根据上述两种执行结果生成确认信息,所述确认信息用于表征所述待监控服务是否执行所述预设操作。

所述待监控服务在生成所述确认信息后,可以将生成的所述确认信息返回,也可以不将所述确认信息返回,不做具体限定。如果返回所述确认信息,那么,可以通过接收返回的确认信息的方式,获取得到所述确认信息;如果不返回所述确认信息,那么,可以获取所述确认信息。

步骤25:根据所述确认信息,判断所述待监控服务是否执行所述预设操作。

在步骤25中,基于上述记载的内容,所述确认信息可以用于表征所述待监控服务是否执行所述预设操作,因此,在获取所述确认信息后,可以对所述确认信息进行分析,并根据分析结果判断所述待监控服务是否执行所述预设操作。

如果所述待监控服务没有执行所述预设操作,则执行步骤26;如果所述待监控服务执行所述预设操作,则执行步骤27。

步骤26:确定所述待监控服务不能正常提供服务。

在步骤26中,如果所述待监控服务没有执行所述预设操作,那么,可以说明,所述待监控服务所在的服务器通过所述待监控服务不能实现相应的功能,此时,可以确定所述待监控服务不能正常提供服务。

步骤27:确定所述待监控服务正常提供服务。

在步骤27中,如果所述待监控服务执行所述预设操作,那么,可以说明,所述待监控服务所在的服务器通过所述待监控服务可以实现相应功能,此时,可以确定所述待监控服务正常提供服务。

作为一种可选的方式,在确定所述待监控服务不能正常提供服务后,执行步骤28。

步骤28:向所述待监控服务所在的计算设备发送重启指令。

其中,所述重启指令用于指示所述计算设备对所述待监控服务执行重启操作。

作为本实施例的一些可选实施方式,在步骤28中,在确定所述待监控服务不能正常提供服务后,为了使所述待监控服务能够正常提供服务,可以向所述待监控服务所在的服务器发送重启指令,指示所述服务器对所述待监控服务执行重启操作,以便于在重新启动所述待监控服务后,所述待监控服务可以正常提供服务。

在实际应用中,在重新启动所述待监控服务后,可以使用本发明实施例提供的技术方案,对所述待监控服务进行监控,以确定在重启所述待监控服务后,所述待监控服务是否正常提供服务。如果在重启所述待监控服务后,所述待监控服务仍然不能正常提供服务,那么,可以采用人工干预的方法,使得所述待监控服务可以正常提供服务。

可选地,在确定所述待监控服务不能正常提供时,还可以进一步分析导致所述待监控服务不能正常提供服务的原因,根据分析得到的原因对所述待监控服务进行相应处理,以避免所述待监控服务由于相同的原因,再次出现不能正常提供服务的情况。

本发明实施例提供的技术方案,在需要对待监控服务进行监控时,可以确定所述待监控服务所在的服务器中是否存在所述待监控服务的确认信息,如果存在,则直接获取所述确认信息,如果不存在,则向所述待监控服务发送访问指令,并获取所述待监控服务响应于所述访问指令后生成的确认信息,在获取所述待监控服务的确认信息后,根据所述确认信息,判断所述待监控服务是否正常提供服务。通过所述待监控服务在执行预设操作后生成的确认信息,对所述待监控服务进行监控,相较于现有技术而言,能够得到相较而言比较准确的监控结果。

实施例3

图3(a)为本发明实施例提供的一种服务监控方法的流程示意图。所述方法如下所述。本发明实施例的执行主体可以是监控设备。该监控设备,可以是虚拟设备或者,也可以是实体设备(该实体设备的功能,一般说来可以由软硬件结合实现)。

在本发明实施例中,可以以待监控服务为Gbalancer服务为例进行说明,其中,所述Gbalancer服务可以用于对服务器(或终端设备)中存储的数据进行读取,在本发明实施例中,可以将所述Gbalancer服务简称为Gb服务,并对服务器中安装的Gb服务进行监控。

步骤31:确定待监控的Gb服务的进程是否存在。

在步骤31中,服务器中可以安装Gb服务,用于对服务器中存储的数据进行读取,监控设备在需要对服务器中安装的Gb服务进行监控时,可以查看所述Gb服务的进程是否存在。

如果所述Gb服务的进程存在,则执行步骤32;如果所述Gb服务的进程不存在,则执行步骤35。

步骤32:向所述Gb服务发送数据读取指令。

其中,所述数据获取请求用于请求所述Gb服务执行数据读取操作。

在步骤32中,为了确定所述Gb服务是否正常提供服务,即所述Gb服务是否可以正常读取数据,监控设备可以向所述Gb服务发送数据读取指令,请求读取安装所述Gb服务的服务器中存储的数据,即请求所述Gb服务执行数据读取操作。

所述Gb服务在接收到数据读取指令后,可以响应与所述数据读取指令,并生成确认信息,所述确认信息用于表征所述Gb服务是否执行所述数据读取操作,即是否成功读取所述服务器中存储的数据。

在本发明实施例中,所述Gb在生成所述确认信息后,可以将所述确认信息返回给监控设备。

步骤33:接收所述Gb服务返回的确认信息。

在步骤33中,所述Gb服务将所述确认信息返回给监控设备后,监控设备可以接收所述确认信息。

如图3(b)所示,监控设备A向Gb服务发送数据读取指令,Gb服务接收所述数据读取指令,在接收到所述数据读取指令后,响应于所述数据读取指令。

Gb服务在响应于所述数据读取指令后,生成确认信息,所述确认信息用于表征Gb服务响应于所述数据读取指令是否执行数据读取操作。Gb服务将生成的所述确认信息返回给监控设备A,监控设备A接收Gb服务返回的确认信息。

步骤34:根据所述确认信息,判断所述Gb服务是否执行数据读取操作。

在步骤34中,可以根据所述确认信息,判断所述Gb服务是否执行数据读取操作,即是否成功读取所述服务器中存储的数据,如果判断结果是不能成功读取数据,则执行步骤35;如果判断结果是可以成功读取数据,则执行步骤37。

步骤35:确定所述Gb服务不能正常提供数据读取服务。

在步骤25中,在确定所述Gb服务不能正常提供数据读取服务时,可以分析导致所述Gb服务不能正常提供数据读取服务的原因,并记录分析结果,以便于根据所述分析结果对所述Gb服务进行相应处理,避免所述Gb服务由于相同的原因,再次出现不能正常提供数据读取服务的情况。

步骤36:向所述Gb服务所在的服务器发送重启指令。

其中,所述重启指令用于指示对所述Gb服务执行重启操作。

在步骤36中,为了使得所述Gb服务正常提供数据读取服务,可以向安装所述Gb服务的服务器发送重启指令,指示所述服务器对所述Gb服务执行重启操作。

在重启所述Gb服务后,为了确定重启后的所述Gb服务是否正常提供数据读取服务,可以继续执行上述步骤31,在确定所述Gb服务能够正常提供数据读取服务时,执行步骤37。

步骤37:确定所述Gb服务正常提供数据读取服务。

在确定所述数据读取服务能够正常提供服务后,可以使用所述Gb服务读取所述服务器中存储的数据。

通过本发明实施例提供的技术方案,在需要对服务器中安装的Gb服务进行监控时,可以确定所述Gb服务的进程是否存在,如果所述Gb服务的进程不存在,说明所述Gb服务已经不能正常提供服务,则可以重启所述Gb服务;如果所述Gb服务的进程存在,则可以进一步监控所述Gb服务能否正常提供数据读取服务,并在确定所述Gb不能正常提供数据读取服务时,重启所述Gb服务,以便于在重启所述Gb服务后,所述Gb服务可以正常提供数据读取服务,相对于现有技术而言,可以实现对Gb服务的有效监控。

实施例4

图4为本发明实施例提供的一种服务监控设备的结构示意图。所述服务监控设备包括:获取单元41和确定单元42,其中:

获取单元41,用于确定待监控服务的确认信息;所述确认信息,是所述待监控服务生成的、用于表征所述待监控服务响应于访问指令是否执行所述预设操作的信息;所述预设操作,用于实现所述访问指令所对应功能的操作;

确定单元42,用于根据所述确认信息,确定所述待监控服务是否正常提供服务。

在本发明一些可选实施例中,所述确定单元42,具体用于:

根据所述确认信息,判断所述待监控服务是否执行所述预设操作;

若未执行所述预设操作,则确定所述待监控服务不能正常提供服务;

若执行所述预设操作,则确定所述待监控服务正常提供服务。

在本发明一些可选实施例中,所述服务监控设备还包括:发送单元43,其中:

所述发送单元43,用于在所述确定单元42确定所述待监控服务不能正常提供服务后,向所述待监控服务所在的计算设备发送重启指令,所述重启指令,用于指示所述计算设备对所述待监控服务执行重启操作。

在本发明一些可选实施例中,所述获取单元41,具体用于:

从所述待监控服务所在的计算设备中查找是否存在所述待监控服务的确认信息;

若存在所述待监控服务的确认信息,则获取所述待监控服务在执行所述预设操作后生成的确认信息;

若不存在所述待监控服务的确认信息,则向待监控服务发送所述访问指令;以及,获取所述待监控服务在响应于所述发送的所述访问指令执行预设操作后生成的确认信息。

在本发明一些可选实施例中,所述获取单元41,具体用于:

从所述待监控服务所在的计算设备中查找所述待监控服务的进程;

在查找得到所述待监控服务的进程时,向所述待监控服务发送所述访问指令。

需要说明的是,本发明实施例提供的服务监控设备可以通过硬件方式实现,也可以通过软件方式实现,这里不做限定。

所述服务监控设备可以是安装所述待监控服务的服务器中的一部分,也可以是安装所述待监控服务的服务器之外的设备,不做具体限定。

所述服务监控设备在对对待监控服务进行监控时,确定得到所述待监控服务在根据访问指令执行预设操作后,生成的确认信息,并根据所述确认信息判断所述待监控服务是否正常提供服务。所述服务监控设备通过确定待监控服务是否正常提供服务,实现对待监控服务的有效监控,这样,在确定待监控服务不能正常提供服务时,可以及时对待监控服务进行相应处理,使得待监控服务能够正常提供服务,解决了现有技术中对待监控服务进行监控时监控结果不准确的问题。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1