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

一种网络服务探测的方法、装置、设备及介质

文献发布时间:2024-04-18 19:58:21


一种网络服务探测的方法、装置、设备及介质

技术领域

本发明涉及计算机技术领域,尤其涉及一种网络服务探测的方法、装置、设备及介质。

背景技术

随着大数据的发展,数据中心趋于大规模化、高密度化,越来越多企业和个人在数据中心部署网络服务,以为用户提供不同的服务,比如Web(World Wide Web,万维网)、SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)、MYSQL(My Structured QueryLanguage,关系型数据库管理系统)等。

在数据中心中不同的系统在对接管理时需要确保网络正常连通,不同系统间在对接认证时可能存在网络不通或者服务异常的情况;或者在对接完成后,如果系统间出现网络不通或者延迟过高等情况不能及时通过网络服务质量信息进行提示,可能对系统业务产生影响,一旦处理不好问题将会造成巨大的损失和潜在风险。

在网络服务探测的相关技术中,一般使用ping命令进行探测,只能确认客户端与目标主机之间能否正常连通,无法对服务内部异常问题的原因和服务质量问题进行判定分析,不能及时分析处理网络对接过程中的服务异常,无形中降低了网络服务探测的效率。

发明内容

有鉴于此,本发明提出了一种网络服务探测的方法、装置、设备及介质,至少解决了在网络服务探测的相关技术中,使用ping命令进行探测,只能确认客户端与目标主机之间能否正常连通,无法对服务内部异常问题的原因和服务质量问题进行判定分析的问题。

基于以上目的,本发明的实施例的一个方面提供了一种网络服务探测的方法,包括:开启与服务端之间的网络连通性测试并接收测试结果;响应于所述客户端接收到网络连通性的测试结果,所述客户端向所述服务端发送待探测服务的探测数据包并接收探测结果;基于所述探测结果以及对应的负载信息进行网络服务的风险分析。

在一些实施例中,所述客户端向所述服务端发送待探测服务的探测数据包并接收探测结果的步骤包括:所述客户端向所述服务端发送待探测服务的探测数据包并接收与所述探测数据包匹配的当前服务状态以及所述当前服务状态对应的信息。

在一些实施例中,所述基于所述探测结果以及对应的负载信息进行网络服务的风险分析的步骤包括:响应于所述客户端接收到所述当前服务状态为正常状态,获取所述当前服务状态对应的负载信息,其中,所述负载信息包括处理器利用率和内存利用率;将所述处理器利用率与第一阈值进行比较以及将所述内存利用率与第二阈值进行比较,根据二者的比较结果确认所述当前服务是否存在风险;响应于所述处理器利用率大于所述第一阈值或所述内存利用率大于所述第二阈值,确认所述当前服务存在风险;响应于所述处理器利用率和所述内存利用率均为0,确认所述当前服务宕机;响应于所述处理器利用率不大于所述第一阈值且所述内存利用率不大于所述第二阈值,并且均不为0,确认所述当前服务无风险。

在一些实施例中,所述基于所述探测结果以及对应的负载信息进行网络服务的风险分析的步骤还包括:响应于确认所述当前服务在连续若干探测周期内均存在风险,增加对所述当前服务的探测频率;响应于确认所述当前服务在连续若干探测周期内均不存在风险,减小对所述当前服务的探测频率。

在一些实施例中,所述基于所述探测结果以及对应的负载信息进行网络服务的风险分析的步骤还包括:响应于所述客户端接收到所述当前服务状态为异常状态,获取所述异常状态的类型及异常信息。

在一些实施例中,所述接收与所述探测数据包匹配的当前服务状态以及所述当前服务状态对应的信息的步骤包括:接收与所述探测数据包中的服务名称以及端口相匹配的当前服务以及所述当前服务状态对应的信息。

在一些实施例中,方法还包括:响应于所述客户端在预设时间内未接收到网络连通性的测试结果,所述客户端开启检测所述客户端与所述服务端之间的路由时延,以基于所述路由时延判断所述客户端与所述服务端之间的中断路径。

本发明实施例的另一方面,还提供了一种网络服务探测的装置,包括:第一模块,用于开启与服务端之间的网络连通性测试并接收测试结果;第二模块,用于响应于所述客户端接收到网络连通性的测试结果,所述客户端向所述服务端发送待探测服务的探测数据包并接收探测结果;第三模块,用于基于所述探测结果以及对应的负载信息进行网络服务的风险分析。

本发明实施例的另一方面,还提供了一种电子设备,包括至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现上述方法的步骤。

本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上述方法步骤的计算机程序。

本发明至少具有以下有益效果:本发明提出了一种网络服务探测的方法采用递进式的网络服务探测方式,第一次为网络连通性测试,测试连通之后基于探测数据包进行第二次网络服务探测,接收探测结果并基于对应的负载信息进行网络服务风险分析。本方法实现了在确定网络本身是否存在连通性问题的同时也能对目标主机上的服务是否正常运行以及运行负载质量问题进行相应判定,及时发现网络服务中存在的问题并进行风险分析,提高了网络服务探测的效率。

附图说明

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

图1示出的为本发明实施例提供的一种网络服务探测的方法的流程图;

图2示出了本发明实施例提供的网络服务探测的过程示意图;

图3示出的为本发明实施例提供的客户端接收探测结果并进行网络服务风险分析的示意图;

图4示出的为本发明实施例提供的分布式场景下的网络服务探测的架构示意图;

图5示出了本发明实施例提供的一种网络服务探测的装置的示意图;

图6示出的为本发明实施例提供的一种电子设备的示意图;

图7示出的为本发明实施例提供的一种计算机可读存储介质的示意图。

具体实施方式

以下描述了本发明的实施例。然而,应该理解,所公开的实施例仅仅是示例,并且其它实施例可以采取各种替代形式。

此外,需要说明的是术语“包括”、“包含”或其任何其它变形旨在涵盖非排他性的包括,以使包含一系列要素的过程、方法、物品或装置不仅包括那些要素,也可以包括未明确列出的或这些过程、方法、物品或装置所固有的要素。

下面将结合附图说明本申请的一个或多个实施例。

基于以上目的,本发明实施例的第一个方面,提出了一种网络服务探测的方法的实施例。图1示出的为本发明实施例提供的一种网络服务探测的方法的流程图,如图1所示,一种网络服务探测的方法,包括:

S1、开启与服务端之间的网络连通性测试并接收测试结果;

S2、响应于所述客户端接收到网络连通性的测试结果,所述客户端向所述服务端发送待探测服务的探测数据包并接收探测结果;

S3、基于所述探测结果以及对应的负载信息进行网络服务的风险分析。

本发明提出的方法实现了在确定网络本身是否存在连通性问题的同时也能对目标主机上的服务是否正常运行以及运行负载质量问题进行相应判定,及时发现网络服务中存在的问题并进行风险分析,提高了网络服务探测的效率。

根据本发明的若干实施例,在步骤S1中,参考图2,图2示出的为本发明实施例提供的网络服务探测的过程示意图,客户端开启与服务端之间的网络连通性测试,客户端基于ICMP(Internet Control Message Protocol,因特网控制报文协议)报文测试向服务端发起网络连通性测试,客户端接收测试结果。如果客户端接收到网络连通的结果则向服务端发送待探测服务的探测数据包以及接收探测结果,具体地,客户端将待探测服务的名称标识、本次探测批次和本次探测时间等信息组装成HTTP(Hypertext Transfer Protocol,超文本传输协议)探测数据包,根据探测服务类型以及探测模型中的目标地址以及探测服务名对应的等进行二次探测服务。如果客户端在预设时间内没有接收到网络连通的结果,同样也会发起第二次探测,只是不同于网络连通条件下的第二次探测,此次为Trace测试,检测到服务端的包转发路径,并沿该路径记录源设备到中间各个网络路由设备的时延等信息,分析并反馈当前网络不通的具体问题。

本发明的方法采用这种递进式的网络服务探测方法,可以实现在确定网络本身是否存在连通性问题的同时也能对目标主机上的服务是否正常运行以及运行负载质量问题进行相应判定,也可以及时获取网络服务中存在的问题以及当前服务服务质量。

其中,探测的数据包基于HTTP报文协议组成,用于发送待探测服务相关信息,包括起始行和头部字段集合。起始行描述本次请求的基本信息,包括请求的目标服务地址、端口、本次请求方法、请求目标URI(Uniform Resource Identifier,统一资源标识符);头部字段集合使用键值对(key-value)的形式说明报文,可以使用Host、Connection等规定的key,也可以添加自定义的头扩展。在本实施例中,请求头中包括用于不同服务的服务名称标识,以使服务端接收到后据此进行当前服务探测实体的匹配。

根据本发明的若干实施例,在步骤S2中,在图2的基础上,参考图3,图3示出的为本发明实施例提供的客户端接收探测结果并进行网络服务风险分析的示意图,服务端接收到探测数据包后,根据探测数据包中相关端口以及请求头中的服务名称标识,匹配查找到对应的当前服务,然后根据当前服务的状态进行返回,比如当前服务与客户端凭证失效1001、服务获取不到503、客户端请求信息错误400等,不同类型会根据状态码自定义封装返回。如果客户端接收到当前服务的正常状态则从服务端获取当前服务在系统中运行的负载信息,该信息由服务端的服务自检测脚本提供,该脚本通过计算不同服务对应进程的资源占用情况,主要是处理器利用率和内存利用率,对其在预设周期内取平均值后基于服务标识存储;如果客户端接收到当前服务的异常状态,则对包含HTTP服务结果的状态码分析、错误信息分析,进而判断网络服务异常原因。

在网络服务探测过程中,即使确认客户端与服务端网络连通,之后服务端的当前服务内部也可能出现问题,现有技术的网络服务探测的方法仅对网络连通性进行测试,无法及时获取网络连通之后存在的网络服务问题,无法及时监测当前服务的网络质量。本发明的方法通过对网络连通后接收的探测结果的不同分析可以克服现有技术存在的缺陷,及时定位网络服务异常原因,提高网络服务探测的效率。

客户端接收到的探测结果的报文组成包括返回状态行和返回实体。其中,返回状态行用于记录返回的状态码,比如202、404、503等,除了HTTP协议规定的返回的状态码,还可以自定义将通信过程中的异常状态进行相应的封装返回;返回实体作为状态码的补充,比如服务端异常时返回相应的错误异常信息,服务正常时返回上文所述该服务的负载信息。

根据本发明的若干实施例,在步骤S3中,继续参考图3,如果客户端接收到当前服务的正常状态则从服务端获取当前服务在系统中运行的负载信息,即获取当前服务的处理器利用率和内存利用率,基于二者以及预设的风险判断规则可以进行网络服务的风险分析。具体地,根据当前服务的占用的处理器利用率a和内存利用率b分别与预设阈值判断,将当前服务的占用的处理器利用率a与第一阈值比较,将当前服务的占用的内存利用率b与第二阈值比较,其中,第一阈值和第二阈值可以相同也可以不同,第一阈值与第二阈值的具体数值根据实际应用进行动态调整。本实施例以第一阈值和第二阈值均为80%为例进行说明,如果当前服务本次a值或b值均大于80%时,确认当前服务的系统负载过大,确定当前服务质量等级S为1级,表明该服务存在风险,需要及时关注;如果当前服务本次a值和b值均为0,表明该服务宕机,此时S等级为0级,需要进行故障排查;其余情况S为2级,表明当前服务正常,无风险。本发明通过当前服务的占用的处理器利用率a和内存利用率b分别与预设阈值判断来判断当前服务风险等级的方式,可以及时对当前服务的风险程度进行把控,以便于运维人员基于对当前服务的风险等级历史分析,及时调节后续对该当前服务的探测条件。

进一步,根据本发明的若干实施例,继续参考图3,可以根据当前服务的在连续若干周期内的风险情况调整后续对其探测频率,比如,如果本次探测服务质量等级S为1,记录当前探测批次,针对后续探测的负载结果每提升5%,即将探测周期调整为初始化探测周期的1/2,当服务质量等级S恢复到2后再将该服务的探测周期调整为初始化时的正常周期。进一步,还可以对不同服务在连续若干周期内的风险情况调整后续对其探测频率,比如,若A服务在一个月内探测的历史服务质量等级S处于0和1的总次数>=10,则说明该服务健壮性较差,之后需要对该服务的探测周期缩短为0.5T,从而及时监控该服务确保出现问题及时能够发现;若B服务在一个月内探测的历史服务质量等级S未出现0和1的情况,则可以将其探测周期调整为2T。通过对服务质量的分析动态调整后续的探测频率,对于服务质量较差的服务则在后续探测中增加探测频率,对于服务质量较好的服务可以在后续探测中减少探测频率,有利于使系统的整体服务质量稳步提升。

进一步,对于分布式系统,存在多种不同类型的客户端,在进行服务探测时如果每个客户端都进行手动检查,费时费力且容易忽略细节,探测效率过慢并且网络开销过大。在分布式环境下,网络服务探测可以为维护人员提供一种高效的方法来监视网络服务的状态,自动收集分析数据,从而可以快速发现和解决服务中的问题。

图4示出的为本发明实施例提供的分布式场景下的网络服务探测的架构示意图,如图4所示,在分布式环境下,服务端中有多个服务节点,service1、service2等,网络服务探测的架构包括:定时器装置、网络探测服务发送装置、探测结果信息接收装置、探测信息分析处理装置、分布式缓存存储装置。其中,定时器装置是周期性触发网络探测服务发送装置启动探测;网络探测服务发送装置用于向目的服务器发送网络探测数据包;探测结果信息接收装置用于获取探测结果;探测信息分析处理装置用于分析接收装置发来的探测结果并将进行相应的分析处理,分析装置还会根据统计当前服务异常历史数据动态调整定时器装置的探测频率;分布式缓存存储装置则用于统一存储探测信息分析处理后的结果,同时保证请求结果的异步返回到系统。

在分布式场景下,首先,初始化设定不同服务对应的定时器装置的探测周期T,以触发网络探测服务发送装置启动探测,各个服务初始化探测周期可以相同。

网络探测服务发送装置基于ICMP报文测试进行服务器端网络连通性的第一次探测。如果第一次探测结果确认网络不连通则发起二次探测Trace测试,检测到目的端的包转发路径,并沿该路径记录源设备到中间各个网络路由设备的时延等信息,发送到接收装置后分析转发路径上网络通信的时延等信息,分析并反馈当前网络不通的原因;如果第一次探测确认网络连通则将探测的服务名称标识、本次探测批次和本次探测时间等信息组装成HTTP探测数据包,根据探测服务类型以及探测模型中的目标地址以及探测服务名对应的等进行二次探测服务。

服务端接收到探测数据包后,根据数据包中相关端口以及请求头中的服务名称标识,匹配查找到对应的服务并根据当前服务状态进行返回。探测结果信息接收装置开启监听用于接收服务端发送来的探测结果并将其通过消息队列的形式传输到探测信息分析处理装置,探测信息分析处理装置通过对接收的信息包含HTTP服务结果状态码分析、错误信息分析或者是当前服务运行过程中占用资源负载情况的分析处理,进而判断服务端的服务此时的状况。如果服务状态正常则获取当前服务在系统中运行的负载信息封装返回;如果服务状态异常则进行异常原因分析。具体地,网络服务端接收到探测数据包后,根据数据包中请求头中的服务信息匹配到当前服务程序,如果服务异常,会根据具体服务状况将错误状态类型和异常信息组装成探测结果信息;如果服务正常则将服务端存储的当前网络检测服务的系统资源负载信息封装返回。

探测结果信息接收装置获取到探测结果信息后,将其存到队列发送至探测信息分析处理装置。探测信息分析处理装置对返回信息中状态码和返回实体详细信息分析得出当前服务存在的问题或者服务质量的分析结果,将结果发送至分布式缓存存储装置。同时,也会根据不同服务的服务质量等级的相关历史信息,反馈到定时器装置,用于调整各服务的探测周期。分布式缓存存储装置存储分析后的结果,可以异步响应分布式系统的网络探测请求。

本发明的实施例的第二个方面,提出了一种网络服务探测的装置,图5示出了本发明实施例提供的一种网络服务探测的装置的示意图,如图5所示,包括:第一模块011,用于开启与服务端之间的网络连通性测试并接收测试结果;第二模块012,用于响应于所述客户端接收到网络连通性的测试结果,所述客户端向所述服务端发送待探测服务的探测数据包并接收探测结果;第三模块013,用于基于所述探测结果以及对应的负载信息进行网络服务的风险分析。

本发明实施例的第三个方面,提出了一种电子设备,图6示出的是本发明实施例提供的一种电子设备的示意图。如图6所示,本发明实施例提供的一种电子设备,包括以下模块:至少一个处理器021;以及存储器022,存储器022存储有可在处理器021上运行的计算机指令023,该计算机指令023由处理器021执行时实现如上所述的方法的步骤。

本发明还提供了一种计算机可读存储介质。图7示出的是本发明实施例提供的一种计算机可读存储介质的结构示意图。如图7所示,计算机可读存储介质031存储有被处理器执行时执行如上所述的方法的步骤的计算机程序032。所执行的方法同上。

最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,设置系统参数的方法的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。

此外,根据本发明实施例公开的方法还可以被实现为由处理器执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被处理器执行时,执行本发明实施例公开的方法中限定的上述功能。

此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。

在一个或多个示例性设计中,功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路(DSL)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、D0L或诸如红外线、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。

以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。

应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。

上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

相关技术
  • 网络服务平台情感倾向识别方法、装置、设备和存储介质
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 红外探测器暗背景值计算方法、装置、设备、系统及介质
  • 网络探测方法及装置、计算机存储介质及设备
  • 果树冠层靶标探测装置、方法、计算设备及存储介质
  • 由探测设备执行的故障探测方法、装置、探测设备和介质
  • 由探测设备执行的故障探测方法、装置、探测设备和介质
技术分类

06120116479826