CN110740078B - 一种服务器的代理监测方法及相关产品 - Google Patents
一种服务器的代理监测方法及相关产品 Download PDFInfo
- Publication number
- CN110740078B CN110740078B CN201910915167.3A CN201910915167A CN110740078B CN 110740078 B CN110740078 B CN 110740078B CN 201910915167 A CN201910915167 A CN 201910915167A CN 110740078 B CN110740078 B CN 110740078B
- Authority
- CN
- China
- Prior art keywords
- network test
- cloud host
- server
- client
- cloud
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Abstract
本发明实施例公开了一种服务器的代理监测方法及相关产品,应用于云技术的状态监控领域,其中方法包括:监控设备监测所述监控设备与服务器之间的通信状态,获得第二结果数据;所述监控设备接收来自客户端发往所述服务器中的云主机的第一网络测试包,将所述第一网络测试包发往所述云主机;所述监控设备接收所述云主机返回的所述第一网络测试包的第一结果数据,将所述第一结果数据发往所述客户端;所述监控设备统计发往所述云主机的网络测试包得到统计结果,在所述统计结果符合探测条件的情况下,将所述第二结果数据发往所述客户端。可以准确确定对云服务质量缺陷的原因,来保障云服务质量;还可以减少可能的被网络测试包攻击的可能性,提高了安全性。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种服务器的代理监测方法及相关产品。
背景技术
云服务是在互联网基础上的一种增加服务,通常涉及通过互联网来提供动态易扩展的服务;云服务的典型应用场景如:云物联网、云安全、云存储等。目前云服务一般由云端的服务器提供,服务器上可以设置多个虚拟计算机(称为云主机,此处所指服务器可以认为是云主机的载体),将服务器虚拟成多个云主机,可以通过云主机提供基于云计算模式的按需使用和按需付费的租用服务,实现动态易扩展的云服务,如可将不同的云主机分配给不同的用户,实现云服务资源的按需配置等。
云服务指令是指云服务的服务质量,良好的云服务质量对于提升用户使用云服务的体验具有重要意义,因此对云服务的服务质量进行监控,以在存在云服务质量缺陷时,对云服务质量缺陷进行解读,保障良好的服云服务质量尤为必要。云服务涉及服务器和云主机,云服务质量缺陷可能出现在服务器上,也可能出现在云主机上,因此对引起云服务质量缺陷的原因进行精确定位较为困难。
目前为了区分引起云服务质量缺陷的原因在服务器或者云主机,采用的技术方案如下:
分别针对服务器以及服务器中的云主机发送ping(packet internet groper,因特网包探测器)检测包;
分别根据服务器和服务器中的云主机反馈的ping反馈包确定服务器和服务器中的云主机是否故障。
以上方案服务器会收到大量的ping检测包,存在被ping检测包攻击的风险,因此安全性较低。
发明内容
本发明实施例所要解决的技术问题在于提供一种服务器的代理监测及相关产品,用于在精确定位引起云服务质量缺陷的原因的前提下,提高安全性。
一方面本发明实施例提供了一种服务器的代理监测方法,包括:
监控设备监测所述监控设备与服务器之间的通信状态,获得第二结果数据;
所述监控设备接收来自客户端发往所述服务器中的云主机的第一网络测试包,将所述第一网络测试包发往所述云主机;
所述监控设备接收所述云主机返回的所述第一网络测试包的第一结果数据,将所述第一结果数据发往所述客户端;
所述监控设备统计发往所述云主机的网络测试包得到统计结果,在所述统计结果符合探测条件的情况下,将所述第二结果数据发往所述客户端。
在一个可选的实现方式中,所述方法还包括:
所述监控设备接收来自所述客户端发往所述服务器的第二网络测试包;
所述监控设备生成所述第二网络测试包的反馈结果,在所述反馈结果中携带所述第二结果数据;
所述在所述统计结果符合探测条件的情况下,将所述第二结果数据发往所述客户端包括:
在所述统计结果符合探测条件的情况下,将所述反馈结果发往所述客户端。
在一个可选的实现方式中,所述监控设备生成所述第二网络测试包的反馈结果,在所述反馈结果中携带所述第二结果数据包括:
所述监控设备获得所述第二结果数据中包含的所述监控设备与所述服务器之间的网络延迟和数据量数据,将所述网络延迟和所述数据量数据添加到所述第二网络测试包中得到所述反馈结果。
在一个可选的实现方式中,所述方法还包括:缓存所述第一网络测试包;
所述统计发往所述云主机的网络测试包得到统计结果包括:
统计缓存的发往所述云主机的网络测试包的数量,或者,统计缓存的发往所述云主机的网络测试包的源客户端数量;
所述统计结果符合探测条件的情况包括:
所述缓存的发往所述云主机的网络测试包的数量大于第一阈值,或者,缓存的发往所述云主机的网络测试包的源客户端数量的数量大于第二阈值。
在一个可选的实现方式中,所述缓存所述第一网络测试包包括:
将所述第一网络测试包缓存到所述云主机与其他云主机共用的云主机接收队列中,或者,为所述云主机创建云主机接收队列,将所述第一网络测试包缓存到与所述云主机对应的云主机接收队列中。
在一个可选的实现方式中,所述统计缓存的发往所述云主机的网络测试包的数量,或者,统计缓存的发往所述云主机的网络测试包的源客户端数量;包括:
在所述云主机接收队列溢出时,删除所述云主机接收队列中接收时间与当前时刻的时间差超过第三阈值的网络测试包;
统计所述云主机接收队列中的发往所述云主机的网络测试包的数量,或者,统计所述云主机对应的云主机接收队列中缓存的网络测试包的源客户端数量。
在一个可选的实现方式中,所述监控设备监测所述监控设备与服务器之间的通信状态,获得第二结果数据包括:
在收到来自所述客户端之外的其他客户端发往所述服务器的网络测试包时,按照预定规则从所述其他客户端发往所述服务器的网络测试包中挑选网络测试包发往所述服务器,接收所述服务器返回的所述第二结果数据;
或者,在收到来自所述客户端之外的其他客户端发往所述服务器中的云主机的网络测试包时,按照预定规则从收到的所述其他客户端发往所述服务器中的云主机的网络测试包挑选网络测试包复制,并将复制得到的网络测试包的地址修改为所述服务器,接收所述服务器返回的所述第二结果数据。
二方面本发明实施例还提供了一种云服务质量监控装置,包括:
监测单元,用于监测所述监控设备与服务器之间的通信状态,获得第二结果数据;
第一接收单元,用于接收来自客户端发往所述服务器中的云主机的第一网络测试包;
转发单元,用于将所述第一网络测试包发往所述云主机;
第二接收单元,用于接收所述云主机返回的所述第一网络测试包的第一结果数据;
第一发送单元,用于将所述第一结果数据发往所述客户端;
统计单元,用于统计发往所述云主机的网络测试包得到统计结果;
第二发送单元,用于在所述统计结果符合探测条件的情况下,将所述第二结果数据发往所述客户端。
在一个可选的实现方式中,所述第一接收单元,还用于接收来自所述客户端发往所述服务器的第二网络测试包;
所述装置还包括:
结果生成单元,用于生成所述第二网络测试包的反馈结果,在所述反馈结果中携带所述第二结果数据;
所述第二发送单元,具体在所述统计结果符合探测条件的情况下,将所述反馈结果发往所述客户端。
在一个可选的实现方式中,所述结果生成单元,具体用于获得所述第二结果数据中包含的所述监控设备与所述服务器之间的网络延迟和数据量数据,将所述网络延迟和所述数据量数据添加到所述第二网络测试包中得到所述反馈结果。
在一个可选的实现方式中,所述装置还包括:存储单元,用于缓存所述第一网络测试包;
所述统计单元,具体用于统计缓存的发往所述云主机的网络测试包的数量,或者,统计缓存的发往所述云主机的网络测试包的源客户端数量;
所述第二发送单元,具体用于在所述统计结果为所述缓存的发往所述云主机的网络测试包的数量大于第一阈值的情况下,或者,缓存的发往所述云主机的网络测试包的源客户端数量的数量大于第二阈值的情况下,将所述第二结果数据发往所述客户端。
在一个可选的实现方式中,所述存储单元,具体用于将所述第一网络测试包缓存到所述云主机与其他云主机共用的云主机接收队列中,或者,为所述云主机创建云主机接收队列,将所述第一网络测试包缓存到与所述云主机对应的云主机接收队列中。
在一个可选的实现方式中,所述统计单元,具体用于在所述云主机接收队列溢出时,删除所述云主机接收队列中接收时间与当前时刻的时间差超过第三阈值的网络测试包;统计所述云主机接收队列中的发往所述云主机的网络测试包的数量,或者,统计所述云主机对应的云主机接收队列中缓存的网络测试包的源客户端数量。
在一个可选的实现方式中,所述监测单元,具体用于在收到来自所述客户端之外的其他客户端发往所述服务器的网络测试包时,按照预定规则从所述其他客户端发往所述服务器的网络测试包中挑选网络测试包发往所述服务器,接收所述服务器返回的所述第二结果数据;
或者,在收到来自所述客户端之外的其他客户端发往所述服务器中的云主机的网络测试包时,按照预定规则从收到的所述其他客户端发往所述服务器中的云主机的网络测试包挑选网络测试包复制,并将复制得到的网络测试包的地址修改为所述服务器,接收所述服务器返回的所述第二结果数据。
三方面本发明实施例还提供了一种云服务质量监控装置,包括:处理器、存储器和收发器;其中所述处理器、所述存储器和所述收发器以可通信方式连接;
在所述存储器中存储有程序代码;
所述处理器用于读取所述程序代码与所述收发器配合实现本发明实施例提供的任意一项方法中的信息交互功能。
四方面本发明实施例还提供了一种存储介质,所述存储介质中存储有程序代码,所述程序代码包括程序指令,所述程序指令当被处理器执行时使所述处理器与收发器配合实现本发明实施例提供的任意一项方法中的信息交互功能。
五方面本发明实施例还提供了一种计算机程序产品,在上述计算机程序产品中包含程序代码,所述程序代码包括程序指令,所述程序指令当被处理器执行时使所述处理器与收发器配合实现本发明实施例提供的任意一项方法中的信息交互功能。
本发明实施例,一方面,向客户端反馈了检测云主机以及服务器得到的第一结果数据和第二结果数据,因此客户端可以根据上述第一结果数据和第二结果数据确定针对云主机和服务器的云服务质量检测结果;从而根据服务器和云主机的云服务质量的检测结果,确定当前存在云服务质量缺陷后,根据预设引起云服务质量缺陷的各原因,对云服务相应的运行数据进行分析,匹配出引起当前云服务质量缺陷的目标原因,实现引起云服务质量缺陷的原因的精准定位;进而获取预设的与上述目标原因相应的解决策略并执行,提供出与所定位原因匹配的解决策略,对云服务质量缺陷进行解决,从而提升云服务质量,保障云服务质量。另一方面,采用本发明实施例技术手段,服务器的工作状态不使用网络检测包检测,因此无论客户端是否向服务器发送了网络测试包,服务器均不必直接接收到来自客户端的网络检测包,因此可以减少服务器被网络测试包攻击的可能性,提高了安全性。
六方面本发明实施例提供了一种云服务质量监控方法,包括:
接收来自客户端发往服务器中的云主机的网络测试包,将所述网络测试包发往所述云主机;
接收所述云主机返回的所述网络测试包的结果数据,将所述结果数据发往所述客户端;
若存在所述客户端以及所述客户端之外的其他客户端发往所述服务器的网络测试包,则拦截所述客户端以及所述客户端之外的其他客户端发往所述云主机的网络测试包;统计发往所述云主机的网络测试包得到统计结果,在所述统计结果属于所述云主机被集中探测的预定规则的情况下,对所述服务器进行探测得到探测结果,向所述客户端发送所述探测结果。
在一个可选的实现方式中,所述方法还包括:
在将所述网络测试包发往所述云主机之前,缓存所述网络测试包;
所述统计发往所述云主机的网络测试包得到统计结果包括:
统计缓存的发往所述云主机的网络测试包的数量,或者,统计缓存的发往所述云主机的网络测试包的源客户端数量;
所述统计结果属于所述云主机被集中探测的预定规则的情况包括:
所述缓存的发往所述云主机的网络测试包的数量大于第一阈值,或者,缓存的发往所述云主机的网络测试包的源客户端数量的数量大于第二阈值。
在一个可选的实现方式中,所述缓存所述网络测试包包括:
将所有接收到的网络测试包缓存到同一接收队列中,或者,为云主机创建接收队列,将所述网络测试包缓存到与所述云主机对应的接收队列中。
在一个可选的实现方式中,所述统计缓存的发往所述云主机的网络测试包的数量,或者,统计缓存的发往所述云主机的网络测试包的源客户端数量;包括:
在所述接收队列溢出时,删除所述接收队列中接收时间与当前时刻的时间差超过第三阈值的网络测试包;
统计所述接收队列中的发往所述云主机的网络测试包的数量,或者,统计所述云主机对应的接收队列中缓存的网络测试包的源客户端数量。
在一个可选的实现方式中,所述方法还包括:
计算所述接收队列中的网络测试包的缓存时间△t,在所述探测结果中添加述接收队列中的网络测试包的缓存时间△t,所述△t用于在所述客户端计算网络延迟时扣除所述缓存时间△t;
或者,在所述探测结果的计时中扣除所述第二网络测试包的缓存时间△t。
在一个可选的实现方式中,所述方法还包括:
若接收到发往所述服务器的网络测试包,则删除所述发往所述服务器的网络测试包。
在一个可选的实现方式中,所述对所述服务器进行探测得到探测结果,向所述客户端发送所述探测结果包括:
将发往所述云主机的网络测试包的目的地址修改为所述服务器,向所述服务器发送修改目的地址后的网络测试包,接收所述服务器返回的探测结果;将所述探测结果发往所述客户端。
在一个可选的实现方式中,所述方法还包括:
获取目标客户端,所述目标客户端包含向所述云主机最近一次发送网络测试包的时刻在与当前时刻距离小于第四阈值的客户端;或者,所述目标客户端包括在与当前时刻距离预定时段内向所述云主机发送网络测试包的个数超过第五阈值的客户端;
向所述目标客户端发送所述探测结果。
在一个可选的实现方式中,所述向所述客户端发送所述探测结果包括:
将所述探测结果写入所述结果数据,标注探测对象为所述服务器;
所述将所述结果数据发往所述客户端包括:
将添加了所述探测结果的结果数据发往所述客户端。
七方面本发明实施例还提供了一种云服务质量监控装置,包括:
第一接收单元,用于接收来自客户端发往服务器中的云主机的网络测试包;
转发单元,用于将所述网络测试包发往所述云主机;
第二接收单元,用于接收所述云主机返回的所述网络测试包的结果数据;
发送单元,用于将所述结果数据发往所述客户端;
统计单元,用于在存在所述客户端以及所述客户端之外的其他客户端发往所述服务器的网络测试包,所述客户端以及所述客户端之外的其他客户端发往所述云主机的网络测试包被拦截的情况下,统计发往所述云主机的网络测试包得到统计结果;
探测单元,用于在所述统计结果属于所述云主机被集中探测的预定规则的情况下,对所述服务器进行探测得到探测结果;
所述发送单元,还用于向所述客户端发送所述探测结果。
在一个可选的实现方式中,所述装置还包括:
存储单元,用于在将所述网络测试包发往所述云主机之前,缓存所述网络测试包;
所述统计单元,用于统计缓存的发往所述云主机的网络测试包的数量,或者,统计缓存的发往所述云主机的网络测试包的源客户端数量;
所述探测单元,用于在所述缓存的发往所述云主机的网络测试包的数量大于第一阈值的情况下,或者,缓存的发往所述云主机的网络测试包的源客户端数量的数量大于第二阈值的情况下,对所述服务器进行探测得到探测结果。
在一个可选的实现方式中,所述存储单元,具体用于将所有接收到的网络测试包缓存到同一接收队列中,或者,为云主机创建接收队列,将所述网络测试包缓存到与所述云主机对应的接收队列中。
在一个可选的实现方式中,所述统计单元,具体用于在所述接收队列溢出时,删除所述接收队列中接收时间与当前时刻的时间差超过第三阈值的网络测试包;统计所述接收队列中的发往所述云主机的网络测试包的数量,或者,统计所述云主机对应的接收队列中缓存的网络测试包的源客户端数量。
在一个可选的实现方式中,所述装置还包括:
包删除单元,用于若接收到发往所述服务器的网络测试包,则删除所述发往所述服务器的网络测试包。
在一个可选的实现方式中,所述探测单元,具体用于将发往所述云主机的网络测试包的目的地址修改为所述服务器,向所述服务器发送修改目的地址后的网络测试包,接收所述服务器返回的探测结果;
所述发送单元,具体用于将所述探测结果发往所述客户端。
在一个可选的实现方式中,所述装置还包括:
客户端获取单元,用于获取目标客户端,所述目标客户端包含向所述云主机最近一次发送网络测试包的时刻在与当前时刻距离小于第四阈值的客户端;或者,所述目标客户端包括在与当前时刻距离预定时段内向所述云主机发送网络测试包的个数超过第五阈值的客户端
所述发送单元,还用于向所述目标客户端发送所述探测结果。
在一个可选的实现方式中,所述装置还包括:
数据写入单元,用于将所述探测结果写入所述结果数据,标注探测对象为所述服务器;
所述发送单元,具体用于将添加了所述探测结果的结果数据发往所述客户端。
八方面本发明实施例还提供了一种云服务质量监控装置,包括:处理器、存储器和收发器;其中所述处理器、所述存储器和所述收发器以可通信方式连接;
在所述存储器中存储有程序代码;
所述处理器用于读取所述程序代码与所述收发器配合实现本发明实施例提供的任意一项方法中的信息交互功能。
九方面本发明实施例还提供了一种存储介质,所述存储介质中存储有程序代码,所述程序代码包括程序指令,所述程序指令当被处理器执行时使所述处理器与收发器配合实现本发明实施例提供的任意一项方法中的信息交互功能。
十方面本发明实施例还提供了一种计算机程序产品,在上述计算机程序产品中包含程序代码,所述程序代码包括程序指令,所述程序指令当被处理器执行时使所述处理器与收发器配合实现本发明实施例提供的任意一项方法中的信息交互功能。
本发明实施例,一方面,因为可以向发出了网络测试包的客户端反馈针对服务器以及针对云主机的探测结果及结果数据,那么可以实现有探测结果和结果数据带来的技术效果,即:客户端可以根据上述结果数据确定针对云主机的云服务质量检测结果,根据上述探测结果确定针对云服务器的云服务质量检测结果;从而根据服务器和云主机的云服务质量的检测结果,确定当前存在云服务质量缺陷后,根据预设引起云服务质量缺陷的原因,对云服务相应的运行数据进行分析,匹配出引起当前云服务质量缺陷的目标原因,实现引起云服务质量缺陷的原因的精准定位;进而获取预设的与上述目标原因相应的解决策略并执行,提供出与所定位原因匹配的解决策略,对云服务质量缺陷进行解决,从而提升云服务质量,保障云服务质量。二方面,对来自客户端的网络检测包进行了拦截,因此不必向服务器发送来自客户端的所有网络检测包,进一步地,服务器因此不必直接接收到来自客户端的全部网络检测包,服务器也不必向客户端公布自己的地址,从而减少可能的被网络测试包攻击的可能性,提高了安全性。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1是本发明实施例系统结构示意图;
图2是本发明实施例方法流程示意图;
图3是本发明实施例方法流程示意图;
图4是本发明实施例装置结构示意图;
图5是本发明实施例装置结构示意图;
图6是本发明实施例方法流程示意图;
图7是本发明实施例方法流程示意图;
图8是本发明实施例装置结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同的对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法或设备固有的其他步骤或单元。
本发明实施例提供了一种服务器的代理监测方法,本实施例方法应用于云服务器一侧,或者云服务器一侧的防火墙,如图1所示的系统结构中的监控装置,如图1所示,在图1中示意了云服务器,云服务器内运行了众多的云主机,其中监控设备可以是云服务器内的一个部件,也可以是部署在云服务器与客户端之间的网络中的设备;客户端是终端设备(称为终端、用户设备)中执行网络测试包发送功能的功能对象。如图2所示,上述方法包括:
201:监控设备监测上述监控设备与服务器之间的通信状态,获得第二结果数据;
在本实施例中,监控设备可以与服务器之间保持心跳连接,从而获得服务器的通信状态;也可以模拟客户端向服务器发送网络测试包。网络测试包的具体表现形式可以参考本实施例其他位置的说明。
202:上述监控设备接收来自客户端发往上述服务器中的云主机的第一网络测试包,将上述第一网络测试包发往上述云主机;
上述第一网络测试包和后续由客户端发往服务器的第二网络测试包均属于网络测试包,使用“第一”和“第二”区分两者要发往的目的设备不同。在本实施例中使用“第一”和“第二”还用于区分云主机网络测试的结果数据,以及服务器的网络测试的结果数据。在本实施例中,网络测试包可以是用于测试网络连接量等网络信息,如网络测试包可以选用ping检测包。
可选地,本发明实施例的客户端一侧利用ping工具向云端的服务器,及云服务器中的云主机分别发送ping检测包。ping工具可以设置于客户端的用户设备上,从服务器可以接收到针对服务器和针对服务器中的云主机的ping检测包。
在本实施例中,云主机是客户端可以直接访问的虚拟设备,通常其访问地址是公开的;因此可能会被不同的客户端访问,因此不同的客户端均可以向其发送ping检测包。发往云主机的ping检测包可以遵循因特网信报控制协议(Internet Control MessagesProtocol,ICMP)的相关规定。
203:上述监控设备接收上述云主机返回的上述第一网络测试包的第一结果数据,将上述第一结果数据发往上述客户端;
本实施例可以由监控设备预拦截发往服务器的网络测试包,或者不允许监控设备向服务器发送网络测试包,从而避免服务器直接接收到来自客户端的网络测试包。另外,由于本实施例监控设备已经通过监测方式获得了服务器与监控设备之间的通信状态,那么监控设备已知服务器的通信状态。
在本实施例中,若网络测试包为ping检测包,那么云主机依据ICMP的规定,会返回ICMP回声应答作为结果数据。客户端可以据此判定客户端与云主机之间的连接状态,以及据此确定云主机是否存在云服务质量缺陷。
在本实施例中设置了探测条件,该探测条件可以根据需要进行设定,其目的在于确定是否有对服务器进行探测的需求;例如:有众多的客户端对不同的云主机进行探测,有众多的的客户端对相同的云主机进行探测;这里可以是在某个时间段内发生了上述两种事件。其中,前者可以作为优选的实现方式,这种情况下服务器本身出现云服务质量缺陷的可能性会更大。
204:上述监控设备统计发往上述云主机的网络测试包得到统计结果,在上述统计结果符合探测条件的情况下,将上述第二结果数据发往上述客户端。
本发明实施例,客户端向云主机发送了网络测试包,由监控设备监测服务器的网络状态;在结果反馈时会反馈针对服务器以及针对云主机和服务器的结果数据,那么客户端可以根据上述结果数据确定针对云主机和服务器的云服务质量检测结果;从而根据服务器和云主机的云服务质量的检测结果,确定当前存在云服务质量缺陷后,根据预设引起云服务质量缺陷的各原因,对云服务相应的运行数据进行分析,匹配出引起当前云服务质量缺陷的目标原因,实现引起云服务质量缺陷的原因的精准定位;进而获取预设的与上述目标原因相应的解决策略并执行,提供出与所定位原因匹配的解决策略,对云服务质量缺陷进行解决,从而提升云服务质量,保障云服务质量。在此基础上,无论客户端是否向服务器发送了网络测试包,服务器均不必直接接收到来自客户端的网络检测包,从而减少可能的被网络测试包攻击的可能性,提高了安全性。
本发明实施例还提供了监控设备反馈结果数据的可选实现方式,上述方法还包括:
上述监控设备接收来自上述客户端发往上述服务器的第二网络测试包;
上述监控设备生成上述第二网络测试包的反馈结果,在上述反馈结果中携带上述第二结果数据;
上述在上述统计结果符合探测条件的情况下,将上述第二结果数据发往上述客户端包括:
在上述统计结果符合探测条件的情况下,将上述反馈结果发往上述客户端。
在本实施例中,由于监控设备已经通过监测的方式获得了服务器的网络状态的结果数据,因此已经具备了主动生成反馈结果的条件。在本实施例中,针对监控设备可能接收到来自客户端的发往服务器的网络测试包的情况,由监控设备来模拟服务器生成反馈结果,从而可以一方面兼容客户端所采用的网络测试协议,另一方面又可以避免服务器直接接收到来自客户端的网络测试包,提高安全性。因此本实施例,在提高安全性的前提下,可以进一步兼容客户端可能采用的网络测试协议。
另需说明的是,客户端也可以不发送第二网络测试包,即客户端不发送针对服务器的网络测试包,监控设备也可以在判定在发往上述云主机的网络测试包得到的统计结果符合探测条件的情况下主动向该客户端反馈结果数据。因此,客户端是否发送第二网络测试包取决于客户端所采用的网络测试协议,在网络侧的监控设备和服务器一侧对这两种情况均可以实现兼容。
本实施例还提供了提高测试准确性的方案,具体如下:上述监控设备生成上述第二网络测试包的反馈结果,在上述反馈结果中携带上述第二结果数据包括:
上述监控设备获得上述第二结果数据中包含的上述监控设备与上述服务器之间的网络延迟和数据量数据,将上述网络延迟和上述数据量数据添加到上述第二网络测试包中得到上述反馈结果。
在本实施例中,可以仅将第二结果数据直接发送给客户端,客户端能获知监控装置与服务器之间的网络状态;客户端可以需根据第一网络测试包的第一结果数据进行推导得到客户端与服务器之间的网络状态,或者该第二结果数据可以携带服务器为正常这样的信息。本实施例中,监控装置如果模拟生成反馈结果,那么使用修改网络延迟的方式就可以获得完全模拟服务器反馈的功能,对于客户端所使用的网络测试协议而言是可以完全兼容的。
基于以上说明可知,本实施例中的反馈结果可以是模拟生成的与第二网络测试包对应的结果数据,例如:第二网络测试包是ping检测包,那么反馈结果可以是ICMP回声应答;或者,不存在第二网络测试包,仅存在第一网络测试包的情况下,该反馈结果也可以是ICMP回声应答。
本发明实施例还提供了探测条件的举例,具体如下:上述方法还包括:缓存上述第一网络测试包;
上述统计发往上述云主机的网络测试包得到统计结果包括:
统计缓存的发往上述云主机的网络测试包的数量,或者,统计缓存的发往上述云主机的网络测试包的源客户端数量;
上述统计结果符合探测条件的情况包括:
上述缓存的发往上述云主机的网络测试包的数量大于第一阈值,或者,缓存的发往上述云主机的网络测试包的源客户端数量的数量大于第二阈值。
在本实施例中,可以使用接收队列对网络测试包进行缓存,接收队列可以分为云主机接收队列和服务器接收队列,分别缓存发往云主机的网络测试包和发往服务器的网络测试包;这里的云主机接收队列可以是一个接收队列,缓存所有发往该服务器的云主机的网络测试包;也可以按照云主机分类,即:发往不同的云主机的网络测试包缓存到不同的接收队列。发给服务器的网络测试包可以仅使用一个接收队列。另外,本实施例可以删除所有发往服务器的网络测试包,因此也可以没有服务器接收队列。
在本实施例中统计值进行了两种举例,其中,统计发往上述云主机的网络测试包的数量,并未对网络测试包的源客户端进行区分,该实现方式主要是针对某个云主机被集中探测的场景下;统计发往上述云主机的网络测试包的源客户端数量的数量,对网络测试包的源客户端进行了区分,可以不限制发往该云主机的总网络测试包数量,该实现方式主要是针对某个云主机被众多客户端探测的应用场景。这两种场景可以将后者作为优选的实现方式。
以上源客户端是相对于网络测试包而言的,发送该网络测试包的客户端即为该网络测试包的源客户端。
另需说明的是,本发明实施例可以设定的探测条件还可以很多,例如:在预定时间段内收到的发往云主机的网络测试包数量超过某一阈值,此时既不区分网络测试包的源客户端,也不区分网络测试包发往哪一个云主机。因此本发明实施例所提供的探测条件的举例不应理解为对本发明实施例的唯一性限定。
另外,在本实施例中的第一阈值和第二阈值基于目的的不同,前者是为了确定针对某个云主机被集中探测,那么多大的量可以确定为被集中探测是设定第一阈值的依据;后者是为了确定针对某个云主机被众多客户端探测是设定第二阈值的依据;本发明实施例对第一阈值和第二阈值的具体取值不作唯一性限定。
如果在本实施例中存在服务器接收队列,那么可以在通过监测获得第二结果数据时,批量生成服务器接收队列中包含的各网络测试包对应的反馈结果;计算网络测试包的缓存时间△t,在上述反馈结果中添加上述包缓存时间△t,用于在上述客户端计算网络延迟时扣除上述缓存时间△t;或者,在上述反馈结果的计时中扣除上述第二网络测试包的缓存时间△t。
在本实施例中,由于发往服务器的网络测试包被缓存过,即第二网络测试包被缓存过,因此根据ICMP的规定,ICMP回声应答会表明网络延迟,导致反馈的网络延迟要远大于实际网络延迟;因此本发明实施例在计算缓存时间△t后进行处理可以避免网络延迟不准的情况,从而保证测试数据的准确性。
从另一个角度来说,以转发的网络测试包到达监控设备的时间为T,服务器发送ICMP回声应答的时间为t;ICMP回声应答到达客户端的时间为T+N,那么ICMP回声应答中的时间可以修改为为t+N。
本实施例还提供了网络测试包的缓存形式,以及触发对服务器进行探测的条件举例,具体如下:上述缓存上述第一网络测试包包括:
将上述第一网络测试包缓存到上述云主机与其他云主机共用的云主机接收队列中,或者,为上述云主机创建云主机接收队列,将上述第一网络测试包缓存到与上述云主机对应的云主机接收队列中。
可选地,上述统计缓存的发往上述云主机的网络测试包的数量,或者,统计缓存的发往上述云主机的网络测试包的源客户端数量;包括:
在上述云主机接收队列溢出时,删除上述云主机接收队列中接收时间与当前时刻的时间差超过第三阈值的网络测试包;
统计上述云主机接收队列中的发往上述云主机的网络测试包的数量,或者,统计上述云主机对应的云主机接收队列中缓存的网络测试包的源客户端数量。
在本实施例中提供了使用云主机接收队列缓存网络测试包的两种举例,其中,前者可以应用于既不区分网络测试包的源客户端,也不区分网络测试包发往哪一个云主机的场景,后者可以应用于针对某个云主机被集中探测或者针对某个云主机被众多客户端探测的应用场景。需说明的是,前者也可以应用于针对某个云主机被集中探测或者针对某个云主机被众多客户端探测的应用场景,此时需要在触发统计后,对队列中的网络测试包进行逐一识别,相对而言速度会较慢;因此应用于针对某个云主机被集中探测或者针对某个云主机被众多客户端探测的应用场景时,使用后者可以加快探测速度。相应地,如果应用于既不区分网络测试包的源客户端,也不区分网络测试包发往哪一个云主机的场景,前者反而速度更快。
在本实施例中,使用后者创建云主机接收队列,并且将缓存的发往上述云主机的网络测试包的数量大于第一阈值作为上述统计结果符合探测条件的情况时,可以将该云主机对应的云主机接收队列的长度设定为上述第一阈值。此时,可以在该云主机接收队列溢出时,判定缓存的发往上述云主机的网络测试包的数量大于第一阈值;省去统计的步骤,或者直接据此确定统计结果为上述云主机接收队列中的发往上述云主机的网络测试包的数量大于第一阈值,即确定满足触发对服务器进行探测的条件。
另外,在本发明实施例中,可以每接收到一个第一网络测试包并将其缓存到云主机接收队列之前,判定其所针对的云主机以及源客户端是否为新客户端,使用数组array[a][b]存储,其中array为数组名,可以为采用云主机名命名,a为发往该云主机的网络测试包的数量,b为发往该云主机的源客户端的数量;具体执行时,接收到网络测试包,则判定发往array云主机,则a++,判定是否为该网络测试包的源客户端是否为新客户端,若为新客户端则b++。采用本实施例方案时,可以在数组溢出时探测服务器,并初始化该数组。
以上网络测试包的缓存形式,以及触发对服务器进行探测的条件举例不应理解为对本发明实施例的唯一性限定。
本实施例还提供了监控设备获得第二结果数据所采用的具体技术手段的说明,如下:上述监控设备监测上述监控设备与服务器之间的通信状态,获得第二结果数据包括:
在收到来自上述客户端之外的其他客户端发往上述服务器的网络测试包时,按照预定规则从上述其他客户端发往上述服务器的网络测试包中挑选网络测试包发往上述服务器,接收上述服务器返回的上述第二结果数据;
或者,在收到来自上述客户端之外的其他客户端发往上述服务器中的云主机的网络测试包时,按照预定规则从收到的上述其他客户端发往上述服务器中的云主机的网络测试包挑选网络测试包复制,并将复制得到的网络测试包的地址修改为上述服务器,接收上述服务器返回的上述第二结果数据。
在本实施例中,提供了两种实现方案的举例,一种是有其他客户端发送网络测试包给服务器,另一种是有其他客户端发送网络测试包给服务器中的云主机。这两种情况下,可以先来确定是否有必要监测上述监控设备与服务器之间的通信状态。确定是否有必要监测上述监控设备与服务器之间的通信状态的规则,可以是任意预测需要向客户端反馈服务器的云服务质量的情况。
上述挑选网络测试包的情况,可以是间隔一定数量挑选一个,也可以是间隔一段时间挑选一个,或者在某个时间段其他客户端发送的网络测试包的数量超过预定阈值的情况下挑选一个;本发明实施例不作唯一性限定。
本发明实施例还提供了以ping检测包作为网络测试包的应用场景举例,使用服务器外的监控装置作为管理网络测试包的硬件实体举例,如图3所示,可以一并参考图1所示的系统架构图,包括:
301:监控设备监测服务器与监控设备之间的网络通信状态,得到结果数据。
本步骤的具体手段可以是监控设备发送ping检测包给服务,接收服务器返回的ICMP回声应答。该ping检测包可以是从客户端发往服务器的ping监测包中挑选的,也可以是复制客户端发往服务器中的云主机的ping检测包后修改地址获得的。
302、客户端向服务器中的云主机发送ping检测包,该ping检测包包含云主机的地址;该ping检测包首先到达监控设备;
另外,客户端还可以向服务器中发送ping检测包,该ping检测包包含服务器的地址;该ping检测包也会首先到达监控设备;
以上两个ping检测包可以是客户端一起发送的,也可以是分开发送的,本发明实施例不作唯一性限定。
303:监控设备在收到发往云主机ping检测包以后,识别该ping检测包中的地址后转发给上述云主机;另外,可以为该云主机建立云主机接收队列,将该ping检测包存入该云主机接收队列;
另外,由于客户端发往云主机的数据包很多,并不仅仅只有ping检测包,因此本步骤中监控设备需要识别出ping检测包,不是ping检测包则不需存入云主机接收队列或服务器接收队列。在本步骤中,也不将ping检测包的全部信息存入云主机接收队列,仅存入其来源、接收到的时间等信息。
另外,如果监控设备在接收到发往服务器的ping检测包,识别该ping检测包的地址后发现其发往服务器,缓存该ping检测包;在本步骤中,如果已经存在服务器接收队列,则将该ping检测包存入该服务器接收队列,如果不存在服务器接收队列,则需要首先创建服务器接收队列。需说明的是,本实施例也可以不缓存发往服务器的ping检测包,而是删除该ping检测包,直接执行向发送该ping检测包的源客户端发送由监控设备监测到的网络通信状态的结果数据。
304:监控设备会接收到云主机返回的ICMP回声应答,在该ICMP回声应答中包含上述客户端的地址;监控设备识别该地址后将该ICMP回声应答转发给上述客户端。
305:监控设备可以统计上述云主机接收队列中的ping检测包,确定是否满足预设的规则,如果是,进入306;
本步骤统计执行的触发条件可以是周期性的,也可以是当接收队列溢出时触发的,还可以是云主机接收队列中的ping检测包多于指定值时触发的。
在305判定结果为否的情况下可以继续执行305,也可以清空统计数据以后等待下一次被触发执行305。
上述预设的规则,可以是在某一段时间内发给该云主机的ping检测包很多,或者,进一步检测到ICMP回声应答的结果均为正常的。当然,还可以是其他预设的可能要探测服务器的规则。
306:向上述客户端发送上述由监控设备监测到的网络通信状态的结果数据。
如果在本实施例中缓存发往服务器的ping检测包,并建立了相应的服务器接收队列,那么可以批量生成服务器接收队列中包含的各网络测试包对应的反馈结果;计算网络测试包的缓存时间△t,在上述反馈结果中添加上述包缓存时间△t,用于在上述客户端计算网络延迟时扣除上述缓存时间△t;或者,在上述反馈结果的计时中扣除上述第二网络测试包的缓存时间△t。
在本实施例中,由于发往服务器的网络测试包被缓存过,即第二网络测试包被缓存过,因此根据ICMP的规定,ICMP回声应答会表明网络延迟,导致反馈的网络延迟要远大于实际网络延迟;因此本发明实施例在计算缓存时间△t后进行处理可以避免网络延迟不准的情况,从而保证测试数据的准确性。
从另一个角度来说,以转发的网络测试包到达监控设备的时间为T,服务器发送ICMP回声应答的时间为t;ICMP回声应答到达客户端的时间为T+N,那么ICMP回声应答中的时间可以修改为为t+N。
采用本实施例方案的好处,除了达到能够确定服务质量影响是源自服务器还是云主机外,还包含如下好处:
第一,服务器不会直接收到来自客户端的ping检测,屏蔽了被攻击可能性;
第二,极端情况下对服务器的检测数量也是可控的,因此可以减少检测处理量。
本发明实施例还提供了一种云服务质量监控装置,如图4所示,包括:
本发明实施例还提供了一种云服务质量监控装置,包括:
监测单元401,用于监测上述监控设备与服务器之间的通信状态,获得第二结果数据;
第一接收单元402,用于接收来自客户端发往上述服务器中的云主机的第一网络测试包;
转发单元403,用于将上述第一网络测试包发往上述云主机;
第二接收单元405,用于接收上述云主机返回的上述第一网络测试包的第一结果数据;
第一发送单元406,用于将上述第一结果数据发往上述客户端;
统计单元407,用于统计发往上述云主机的网络测试包得到统计结果;
第二发送单元408,用于在上述统计结果符合探测条件的情况下,将上述第二结果数据发往上述客户端。
在本实施例中,监控设备可以与服务器之间保持心跳连接,从而获得服务器的通信状态;也可以模拟客户端向服务器发送网络测试包。网络测试包的具体表现形式可以参考本实施例其他位置的说明。
上述第一网络测试包和后续由客户端发往服务器的第二网络测试包均属于网络测试包,使用“第一”和“第二”区分两者要发往的目的设备不同。在本实施例中使用“第一”和“第二”还用于区分云主机网络测试的结果数据,以及服务器的网络测试的结果数据。在本实施例中,网络测试包可以是用于测试网络连接量等网络信息,如网络测试包可以选用ping检测包。
可选地,本发明实施例的客户端一侧利用ping工具向云端的服务器,及云服务器中的云主机分别发送ping检测包。ping工具可以设置于客户端的用户设备上,从服务器可以接收到针对服务器和针对服务器中的云主机的ping检测包。
在本实施例中,云主机是客户端可以直接访问的虚拟设备,通常其访问地址是公开的;因此可能会被不同的客户端访问,因此不同的客户端均可以向其发送ping检测包。发往云主机的ping检测包可以遵循ICMP的相关规定。
本实施例可以由监控设备预拦截发往服务器的网络测试包,或者不允许监控设备向服务器发送网络测试包,从而避免服务器直接接收到来自客户端的网络测试包。另外,由于本实施例监控设备已经通过监测方式获得了服务器与监控设备之间的通信状态,那么监控设备已知服务器的通信状态。
在本实施例中,若网络测试包为ping检测包,那么云主机依据ICMP的规定,会返回ICMP回声应答作为结果数据。客户端可以据此判定客户端与云主机之间的连接状态,以及据此确定云主机是否存在云服务质量缺陷。
在本实施例中设置了探测条件,该探测条件可以根据需要进行设定,其目的在于确定是否有对服务器进行探测的需求;例如:有众多的客户端对不同的云主机进行探测,有众多的的客户端对相同的云主机进行探测;这里可以是在某个时间段内发生了上述两种事件。其中,前者可以作为优选的实现方式,这种情况下服务器本身出现云服务质量缺陷的可能性会更大。
本发明实施例,客户端向云主机发送了网络测试包,由监控设备监测服务器的网络状态;在结果反馈时会反馈针对服务器以及针对云主机和服务器的结果数据,那么客户端可以根据上述结果数据确定针对云主机和服务器的云服务质量检测结果;从而根据服务器和云主机的云服务质量的检测结果,确定当前存在云服务质量缺陷后,根据预设引起云服务质量缺陷的各原因,对云服务相应的运行数据进行分析,匹配出引起当前云服务质量缺陷的目标原因,实现引起云服务质量缺陷的原因的精准定位;进而获取预设的与上述目标原因相应的解决策略并执行,提供出与所定位原因匹配的解决策略,对云服务质量缺陷进行解决,从而提升云服务质量,保障云服务质量。在此基础上,无论客户端是否向服务器发送了网络测试包,服务器均不必直接接收到来自客户端的网络检测包,从而减少可能的被网络测试包攻击的可能性,提高了安全性。
本发明实施例还提供了监控设备反馈结果数据的可选实现方式,上述第一接收单元402,还用于接收来自上述客户端发往上述服务器的第二网络测试包;
上述装置还包括:
结果生成单元409,用于生成上述第二网络测试包的反馈结果,在上述反馈结果中携带上述第二结果数据;
上述第二发送单元408,具体在上述统计结果符合探测条件的情况下,将上述反馈结果发往上述客户端。
在本实施例中,由于监控设备已经通过监测的方式获得了服务器的网络状态的结果数据,因此已经具备了主动生成反馈结果的条件。在本实施例中,针对监控设备可能接收到来自客户端的发往服务器的网络测试包的情况,由监控设备来模拟服务器生成反馈结果,从而可以一方面兼容客户端所采用的网络测试协议,另一方面又可以避免服务器直接接收到来自客户端的网络测试包,提高安全性。因此本实施例,在提高安全性的前提下,可以进一步兼容客户端可能采用的网络测试协议。
另需说明的是,客户端也可以不发送第二网络测试包,即客户端不发送针对服务器的网络测试包,监控设备也可以在判定在发往上述云主机的网络测试包得到的统计结果符合探测条件的情况下主动向该客户端反馈结果数据。因此,客户端是否发送第二网络测试包取决于客户端所采用的网络测试协议,在网络侧的监控设备和服务器一侧对这两种情况均可以实现兼容。
本实施例还提供了提高测试准确性的方案,具体如下:上述结果生成单元409,具体用于获得上述第二结果数据中包含的上述监控设备与上述服务器之间的网络延迟和数据量数据,将上述网络延迟和上述数据量数据添加到上述第二网络测试包中得到上述反馈结果。
在本实施例中,可以仅将第二结果数据直接发送给客户端,客户端能获知监控装置与服务器之间的网络状态;客户端可以需根据第一网络测试包的第一结果数据进行推导得到客户端与服务器之间的网络状态,或者该第二结果数据可以携带服务器为正常这样的信息。本实施例中,监控装置如果模拟生成反馈结果,那么使用修改网络延迟的方式就可以获得完全模拟服务器反馈的功能,对于客户端所使用的网络测试协议而言是可以完全兼容的。
基于以上说明可知,本实施例中的反馈结果可以是模拟生成的与第二网络测试包对应的结果数据,例如:第二网络测试包是ping检测包,那么反馈结果可以是ICMP回声应答;或者,不存在第二网络测试包,仅存在第一网络测试包的情况下,该反馈结果也可以是ICMP回声应答。
本发明实施例还提供了探测条件的举例,具体如下:上述装置还包括:存储单元404,用于缓存上述第一网络测试包;
上述统计单元407,具体用于统计缓存的发往上述云主机的网络测试包的数量,或者,统计缓存的发往上述云主机的网络测试包的源客户端数量;
上述第二发送单元408,具体用于在上述统计结果为上述缓存的发往上述云主机的网络测试包的数量大于第一阈值的情况下,或者,缓存的发往上述云主机的网络测试包的源客户端数量的数量大于第二阈值的情况下,将上述第二结果数据发往上述客户端。
在本实施例中,可以使用接收队列对网络测试包进行缓存,接收队列可以分为云主机接收队列和服务器接收队列,分别缓存发往云主机的网络测试包和发往服务器的网络测试包;这里的云主机接收队列可以是一个接收队列,缓存所有发往该服务器的云主机的网络测试包;也可以按照云主机分类,即:发往不同的云主机的网络测试包缓存到不同的接收队列。发给服务器的网络测试包可以仅使用一个接收队列。另外,本实施例可以删除所有发往服务器的网络测试包,因此也可以没有服务器接收队列。
在本实施例中统计值进行了两种举例,其中,统计发往上述云主机的网络测试包的数量,并未对网络测试包的源客户端进行区分,该实现方式主要是针对某个云主机被集中探测的场景下;统计发往上述云主机的网络测试包的源客户端数量的数量,对网络测试包的源客户端进行了区分,可以不限制发往该云主机的总网络测试包数量,该实现方式主要是针对某个云主机被众多客户端探测的应用场景。这两种场景可以将后者作为优选的实现方式。
以上源客户端是相对于网络测试包而言的,发送该网络测试包的客户端即为该网络测试包的源客户端。
另需说明的是,本发明实施例可以设定的探测条件还可以很多,例如:在预定时间段内收到的发往云主机的网络测试包数量超过某一阈值,此时既不区分网络测试包的源客户端,也不区分网络测试包发往哪一个云主机。因此本发明实施例所提供的探测条件的举例不应理解为对本发明实施例的唯一性限定。
另外,在本实施例中的第一阈值和第二阈值基于目的的不同,前者是为了确定针对某个云主机被集中探测,那么多大的量可以确定为被集中探测是设定第一阈值的依据;后者是为了确定针对某个云主机被众多客户端探测是设定第二阈值的依据;本发明实施例对第一阈值和第二阈值的具体取值不作唯一性限定。
如果在本实施例中存在服务器接收队列,那么可以在通过监测获得第二结果数据时,批量生成服务器接收队列中包含的各网络测试包对应的反馈结果;计算网络测试包的缓存时间△t,在上述反馈结果中添加上述包缓存时间△t,用于在上述客户端计算网络延迟时扣除上述缓存时间△t;或者,在上述反馈结果的计时中扣除上述第二网络测试包的缓存时间△t。
在本实施例中,由于发往服务器的网络测试包被缓存过,即第二网络测试包被缓存过,因此根据ICMP的规定,ICMP回声应答会表明网络延迟,导致反馈的网络延迟要远大于实际网络延迟;因此本发明实施例在计算缓存时间△t后进行处理可以避免网络延迟不准的情况,从而保证测试数据的准确性。
从另一个角度来说,以转发的网络测试包到达监控设备的时间为T,服务器发送ICMP回声应答的时间为t;ICMP回声应答到达客户端的时间为T+N,那么ICMP回声应答中的时间可以修改为为t+N。
本实施例还提供了网络测试包的缓存形式,以及触发对服务器进行探测的条件举例,具体如下:上述存储单元404,具体用于将上述第一网络测试包缓存到上述云主机与其他云主机共用的云主机接收队列中,或者,为上述云主机创建云主机接收队列,将上述第一网络测试包缓存到与上述云主机对应的云主机接收队列中。
可选地,上述统计单元407,具体用于在上述云主机接收队列溢出时,删除上述云主机接收队列中接收时间与当前时刻的时间差超过第三阈值的网络测试包;统计上述云主机接收队列中的发往上述云主机的网络测试包的数量,或者,统计上述云主机对应的云主机接收队列中缓存的网络测试包的源客户端数量。
在本实施例中提供了使用云主机接收队列缓存网络测试包的两种举例,其中,前者可以应用于既不区分网络测试包的源客户端,也不区分网络测试包发往哪一个云主机的场景,后者可以应用于针对某个云主机被集中探测或者针对某个云主机被众多客户端探测的应用场景。需说明的是,前者也可以应用于针对某个云主机被集中探测或者针对某个云主机被众多客户端探测的应用场景,此时需要在触发统计后,对队列中的网络测试包进行逐一识别,相对而言速度会较慢;因此应用于针对某个云主机被集中探测或者针对某个云主机被众多客户端探测的应用场景时,使用后者可以加快探测速度。相应地,如果应用于既不区分网络测试包的源客户端,也不区分网络测试包发往哪一个云主机的场景,前者反而速度更快。
在本实施例中,使用后者创建云主机接收队列,并且将缓存的发往上述云主机的网络测试包的数量大于第一阈值作为上述统计结果符合探测条件的情况时,可以将该云主机对应的云主机接收队列的长度设定为上述第一阈值。此时,可以在该云主机接收队列溢出时,判定缓存的发往上述云主机的网络测试包的数量大于第一阈值;省去统计的步骤,或者直接据此确定统计结果为上述云主机接收队列中的发往上述云主机的网络测试包的数量大于第一阈值,即确定满足触发对服务器进行探测的条件。
另外,在本发明实施例中,可以每接收到一个第一网络测试包并将其缓存到云主机接收队列之前,判定其所针对的云主机以及源客户端是否为新客户端,使用数组array[a][b]存储,其中array为数组名,可以为采用云主机名命名,a为发往该云主机的网络测试包的数量,b为发往该云主机的源客户端的数量;具体执行时,接收到网络测试包,则判定发往array云主机,则a++,判定是否为该网络测试包的源客户端是否为新客户端,若为新客户端则b++。采用本实施例方案时,可以在数组溢出时探测服务器,并初始化该数组。
以上网络测试包的缓存形式,以及触发对服务器进行探测的条件举例不应理解为对本发明实施例的唯一性限定。
本实施例还提供了监控设备获得第二结果数据所采用的具体技术手段的说明,如下:上述监测单元401,具体用于在收到来自上述客户端之外的其他客户端发往上述服务器的网络测试包时,按照预定规则从上述其他客户端发往上述服务器的网络测试包中挑选网络测试包发往上述服务器,接收上述服务器返回的上述第二结果数据;
或者,在收到来自上述客户端之外的其他客户端发往上述服务器中的云主机的网络测试包时,按照预定规则从收到的上述其他客户端发往上述服务器中的云主机的网络测试包挑选网络测试包复制,并将复制得到的网络测试包的地址修改为上述服务器,接收上述服务器返回的上述第二结果数据。
在本实施例中,提供了两种实现方案的举例,一种是有其他客户端发送网络测试包给服务器,另一种是有其他客户端发送网络测试包给服务器中的云主机。这两种情况下,可以先来确定是否有必要监测上述监控设备与服务器之间的通信状态。确定是否有必要监测上述监控设备与服务器之间的通信状态的规则,可以是任意预测需要向客户端反馈服务器的云服务质量的情况。
上述挑选网络测试包的情况,可以是间隔一定数量挑选一个,也可以是间隔一段时间挑选一个,或者在某个时间段其他客户端发送的网络测试包的数量超过预定阈值的情况下挑选一个;本发明实施例不作唯一性限定。
本发明实施例还提供了一种云服务质量监控装置,该云服务质量监控装置可以是云服务器内的硬件实体,也可以是如图1所示在云服务器外的监控装置,如图5所示,包括:处理器501、存储器502和收发器503;其中上述处理器501、上述存储器502和上述收发器503以可通信方式连接;
存储器502包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmableread only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器502用于相关指令及数据。收发器503用于接收和发送数据。
处理器501可以是一个或多个中央处理器(central processing unit,CPU),在处理器501是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
在上述存储器502中存储有程序代码;
上述处理器501用于读取上述程序代码与上述收发器503配合实现本发明实施例提供的任意一项方法中的信息交互功能。
在本实施例中的收发器503可以是包含射频模块、有线通信模块在内的任何可用于设备间通信的器件;若该云服务质量监控装置可以是云服务器内的硬件实体,那么该收发器503与服务器的通信还可以是包含总线在内的任何可用于设备内通信的器件。
本发明实施例提供了一种云服务质量监控方法,本实施例方法应用于云服务器一侧,或者云服务器一侧的防火墙,如图1所示的系统结构中的监控装置,如图1所示,在图1中示意了云服务器,云服务器内运行了众多的云主机,其中监控设备可以是云服务器内的一个部件,也可以是部署在云服务器与客户端之间的网络中的设备;客户端是终端设备(称为终端、用户设备)中执行网络测试包发送功能的功能对象。如图2所示,上述方法包括:
601:接收来自客户端发往服务器中的云主机的网络测试包,将上述网络测试包发往上述云主机;
在本实施例中,网络测试包可以是用于测试网络连接量等网络信息,如网络测试包可以选用ping检测包。
可选地,本发明实施例的客户端一侧可以利用ping工具向云端的服务器,及云服务器中的云主机分别发送ping检测包;也可以利用ping工具仅向云端的云服务器中的云主机发送ping检测包。ping工具可以设置于客户端的用户设备上,从服务器可以接收到针对服务器或者针对服务器中的云主机的ping检测包。
在本实施例中,云主机是客户端可以直接访问的虚拟设备,通常其访问地址是公开的;因此可能会被不同的客户端访问,因此不同的客户端均可以向其发送ping检测包。发往云主机的ping检测包可以遵循因特网信报控制协议(Internet Control MessagesProtocol,ICMP)的相关规定。
602:接收上述云主机返回的上述网络测试包的结果数据,将上述结果数据发往上述客户端;
在本实施例中,若网络测试包为ping检测包,那么云主机依据ICMP的规定,会返回ICMP回声应答作为结果数据。客户端可以据此判定客户端与云主机之间的连接状态,以及据此确定云主机是否存在云服务质量缺陷。
603:若存在上述客户端以及上述客户端之外的其他客户端发往上述服务器的网络测试包,则拦截上述客户端以及上述客户端之外的其他客户端发往上述云主机的网络测试包;统计发往上述云主机的网络测试包得到统计结果,在上述统计结果属于上述云主机被集中探测的预定规则的情况下,对上述服务器进行探测得到探测结果,向上述客户端发送上述探测结果。
在本实施例中设置了云主机被集中探测的预定规则,该云主机被集中探测的预定规则可以根据需要进行设定,其目的在于确定是否有对服务器进行探测的需求;例如:有众多的客户端对不同的云主机进行探测,有众多的的客户端对相同的云主机进行探测;这里可以是在某个时间段内发生了上述两种事件。其中,前者可以作为优选的实现方式,这种情况下服务器本身出现云服务质量缺陷的可能性会更大。
本发明实施例,可以向发出了网络测试包的客户端反馈针对服务器以及针对云主机探测结果及结果数据,那么客户端可以根据上述结果数据确定针对云主机的云服务质量检测结果,根据上述探测结果确定针对云服务器的云服务质量检测结果;从而根据服务器和云主机的云服务质量的检测结果,确定当前存在云服务质量缺陷后,根据预设引起云服务质量缺陷的原因,对云服务相应的运行数据进行分析,匹配出引起当前云服务质量缺陷的目标原因,实现引起云服务质量缺陷的原因的精准定位;进而获取预设的与上述目标原因相应的解决策略并执行,提供出与所定位原因匹配的解决策略,对云服务质量缺陷进行解决,从而提升云服务质量,保障云服务质量。在此基础上,客户端不必向服务器发送网络检测包,因此对服务器而言,可以不必直接接收到来自客户端的网络检测包,也不必向客户端公布自己的地址,从而减少可能的被网络测试包攻击的可能性,提高了安全性。
本发明实施例还提供了云主机被集中探测的预定规则的举例,具体如下:上述方法还包括:
在将上述网络测试包发往上述云主机之前,缓存上述网络测试包;
上述统计发往上述云主机的网络测试包得到统计结果包括:
统计缓存的发往上述云主机的网络测试包的数量,或者,统计缓存的发往上述云主机的网络测试包的源客户端数量;
上述统计结果属于上述云主机被集中探测的预定规则的情况包括:
上述缓存的发往上述云主机的网络测试包的数量大于第一阈值,或者,缓存的发往上述云主机的网络测试包的源客户端数量的数量大于第二阈值。
在本实施例中,可以使用接收队列对网络测试包进行缓存,这里的接收队列可以是一个接收队列,缓存所有发往该服务器的网络测试包;也可以按照云主机分类,即:发往不同的云主机的网络测试包缓存到不同的接收队列。
在本实施例中统计值进行了两种举例,其中,统计发往上述云主机的网络测试包的数量,并未对网络测试包的源客户端进行区分,该实现方式主要是针对某个云主机被集中探测的场景下;统计发往上述云主机的网络测试包的源客户端数量的数量,对网络测试包的源客户端进行了区分,可以不限制发往该云主机的总网络测试包数量,该实现方式主要是针对某个云主机被众多客户端探测的应用场景。这两种场景可以将后者作为优选的实现方式。
以上源客户端是相对于网络测试包而言的,发送该网络测试包的客户端即为该网络测试包的源客户端。
另需说明的是,本发明实施例可以设定的云主机被集中探测的预定规则还可以很多,例如:在预定时间段内收到的网络测试包数量超过某一阈值,此时既不区分网络测试包的源客户端,也不区分网络测试包发往哪一个云主机。因此本发明实施例所提供的云主机被集中探测的预定规则的举例不应理解为对本发明实施例的唯一性限定。
另外,在本实施例中的第一阈值和第二阈值基于目的的不同,前者是为了确定针对某个云主机被集中探测,那么多大的量可以确定为被集中探测是设定第一阈值的依据;后者是为了确定针对某个云主机被众多客户端探测是设定第二阈值的依据;本发明实施例对第一阈值和第二阈值的具体取值不作唯一性限定。
本发明实施例还提供了网络测试包的缓存形式,以及触发对服务器进行探测的条件举例,具体如下:上述缓存上述网络测试包包括:
将所有接收到的网络测试包缓存到同一接收队列中,或者,为云主机创建接收队列,将上述网络测试包缓存到与上述云主机对应的接收队列中。
可选地,上述统计缓存的发往上述云主机的网络测试包的数量,或者,统计缓存的发往上述云主机的网络测试包的源客户端数量;包括:
在上述接收队列溢出时,删除上述接收队列中接收时间与当前时刻的时间差超过第三阈值的网络测试包;
统计上述接收队列中的发往上述云主机的网络测试包的数量,或者,统计上述云主机对应的接收队列中缓存的网络测试包的源客户端数量。
在本实施例中提供了使用接收队列缓存网络测试包的两种举例,其中,前者可以应用于既不区分网络测试包的源客户端,也不区分网络测试包发往哪一个云主机的场景,后者可以应用于针对某个云主机被集中探测或者针对某个云主机被众多客户端探测的应用场景。需说明的是,前者也可以应用于针对某个云主机被集中探测或者针对某个云主机被众多客户端探测的应用场景,此时需要在触发统计后,对队列中的网络测试包进行逐一识别,相对而言速度会较慢;因此应用于针对某个云主机被集中探测或者针对某个云主机被众多客户端探测的应用场景时,使用后者可以加快探测速度。相应地,如果应用于既不区分网络测试包的源客户端,也不区分网络测试包发往哪一个云主机的场景,前者反而速度更快。
在本实施例中,使用后者创建接收队列,并且将缓存的发往上述云主机的网络测试包的数量大于第一阈值作为上述统计结果属于上述云主机被集中探测的预定规则的情况时,可以将该云主机对应的接收队列的长度设定为上述第一阈值。此时,可以在接收队列溢出时,判定缓存的发往上述云主机的网络测试包的数量大于第一阈值;省去统计的步骤。
另外,在本发明实施例中,可以每接收到一个网络测试包并将其缓存到接收队列之前,判定其所针对的云主机以及源客户端是否为新客户端,使用数组array[a][b]存储,其中array为数组名,可以为采用云主机名命名,a为发往该云主机的网络测试包的数量,b为发往该云主机的源客户端的数量;具体执行时,接收到网络测试包,则判定发往array云主机,则a++,判定是否为该网络测试包的源客户端是否为新客户端,若为新客户端则b++。采用本实施例方案时,可以在数组溢出时探测服务器,并初始化该数组。
以上网络测试包的缓存形式,以及触发对服务器进行探测的条件举例不应理解为对本发明实施例的唯一性限定。
本发明实施例的执行侧并不在客户端一侧,因此并不能避免客户端向服务器发送网络测试包,若接收到发往服务器的网络测试包,本发明实施例提供了解决方案如下:上述方法还包括:
若接收到发往上述服务器的网络测试包,则删除上述发往上述服务器的网络测试包。
本实施例可以兼容客户端向服务器和云主机均发送网络测试包的技术方案,因此可以兼容各种友商的应用方案。另外,在客户端向服务器和云主机均发送网络测试包的场景下,可以一方面放客户端收到必要的服务区的探测结果,另一方面又可以避免服务器被攻击的风险。
本发明实施例还提供了对服务器进行探测的具体手段,以及向客户端发送探测结果的具体实现手段,上述对上述服务器进行探测得到探测结果,向上述客户端发送上述探测结果包括:
将发往上述云主机的网络测试包的目的地址修改为上述服务器,向上述服务器发送修改目的地址后的网络测试包,接收上述服务器返回的探测结果;将上述探测结果发往上述客户端。
在本实施例中,可以兼容网络测试包的实现手段,即服务器仍然可以兼容ping检测包,遵循ICMP的相关规定。
另外,也可以对服务器进行全面探测获得比ping检测包更多的探测结果,使用其他协议向客户端发送探测结果也可以的。
本实施例还提供了向其他客户端发送探测结果的应用场景,具体如下:上述方法还包括:
获取目标客户端,上述目标客户端包含向上述云主机最近一次发送网络测试包的时刻在与当前时刻距离小于第四阈值的客户端;或者,上述目标客户端包括在与当前时刻距离预定时段内向上述云主机发送网络测试包的个数超过第五阈值的客户端或者,上述目标客户端包括在与当前时刻距离预定时段内向上述云主机发送网络测试包的个数超过第五阈值的客户端;
向上述目标客户端发送上述探测结果。
在本实施例中,第四阈值是为了获得可能有探测服务器的云服务状态的客户端,通常来说这些客户端发送网络测试包的时间会离当前时刻比较近;或者,在最近一段时间内多次发送了网络测试包。因此以上第四阈值用来区分哪些客户端属于离当前时刻比较近,第五阈值用来区分发送多少次网络测试包属于多次发送。具体数值本发明实施例不作唯一性限定。
本实施例可以实现对多种可能需要服务器的云服务状态的客户端主动报告服务器的云服务状态,帮助这些客户端及早获知服务器的云服务状态。
本发明实施例还提供了一种可选的发送探测结果的实现方案,具体如下:上述向上述客户端发送上述探测结果包括:
将上述探测结果写入上述结果数据,标注探测对象为上述服务器;
上述将上述结果数据发往上述客户端包括:
将添加了上述探测结果的结果数据发往上述客户端。
在本实施例中,结果数据可以是代表服务器状态的任意数据,以ping检测包为例,其结果数据仅是回复的与ping检测包同样大小的ICMP回声应答,该ICMP回声应答中包含的数据,在本实施例中可以标明发送给了服务器,另外还可以标明△t,该△t是ping检测包在队列中等待的时间,用于客户端在计算网络延迟时扣除该△t。
尤其对于目标客户端而言,其发送的ping检测包发送给云主机以后,这些ping检测包仍然被缓存等待第四阈值的时间来判定是否修改探测对象后发给服务器,这些ping检测包的等待时间比较长,如果不扣除△t会大大的增加探测结果中显示的网络延迟;因此本实施例可以在监测装置处对该时间进行扣除,或者在ICMP回声应答中携带△t给客户端,由客户端判定扣除该部分时间。
本发明实施例还提供了以ping检测包作为网络测试包的应用场景举例,使用服务器外的监控装置作为管理网络测试包的硬件实体举例,如图3所示,可以一并参考图1所示的系统架构图,包括:
701、客户端向服务器中的云主机发送ping检测包,该ping检测包包含云主机的地址;该ping检测包首先到达监控设备;
702:监控设备在收到ping检测包以后,识别ping检测包中的地址后转发给上述云主机;另外,可以为该云主机建立接收队列,将该ping检测包存入该接收队列;
另外,由于客户端发往云主机的数据包很多,并不仅仅只有ping检测包,因此本步骤中监控设备需要识别出ping检测包,不是ping检测包则不需存入该接收队列。
另外,在本步骤中,也不将ping检测包的全部信息存入接收队列,仅存入其来源、接收到的时间等信息。
703:监控设备会接收到云主机返回的ICMP回声应答,在该ICMP回声应答中包含上述客户端的地址;监控设备识别该地址后将该ICMP回声应答转发给上述客户端。
704:监控设备可以统计上述接收队列中的ping检测包,确定是否满足预设的规则,如果是,进入705;
本步骤统计执行的触发条件可以是周期性的,也可以是当接收队列溢出时触发的,还可以是接收队列中的ping检测包多于指定值时触发的。
在704判定结果为否的情况下可以继续执行704,也可以清空统计数据以后等待下一次被触发执行704。
上述预设的规则,可以是在某一段时间内发给该云主机的ping检测包很多,或者,进一步检测到ICMP回声应答的结果均为正常的。当然,还可以是其他预设的可能要探测服务器的规则。
705:读取接收队列中ping检测包的所有源客户端;探测服务器,以ICMP回声应答的方式将探测结果返回给上述源客户端。具体的探测手段可以是:从接收队列中任意取出一个ping监测包,将接收地址改为服务器,向服务器转发;然后在接收到ICMP回声应答后将其中的时间减去△t,或者标明△t;该△t的说明请参阅前一实施例,在此不再赘述。
采用本实施例方案的好处,除了达到能够确定服务质量影响是源自服务器还是云主机外,还包含如下好处:
第一,服务器不会直接收到来自客户端的ping检测,屏蔽了被攻击可能性;
第二,极端情况下也只会有N次对服务器的检测,N可以为云主机数量,云主机数量显然要远低于客户端数量;因此可以减少检测处理量。
本发明实施例还提供了一种云服务质量监控装置,如图4所示,包括:
第一接收单元801,用于接收来自客户端发往服务器中的云主机的网络测试包;
转发单元802,用于将上述网络测试包发往上述云主机;
第二接收单元803,用于接收上述云主机返回的上述网络测试包的结果数据;
发送单元804,用于将上述结果数据发往上述客户端;
统计单元805,用于在存在上述客户端以及上述客户端之外的其他客户端发往上述服务器的网络测试包,上述客户端以及上述客户端之外的其他客户端发往上述云主机的网络测试包被拦截的情况下,统计发往上述云主机的网络测试包得到统计结果;
探测单元806,用于在上述统计结果属于上述云主机被集中探测的预定规则的情况下,对上述服务器进行探测得到探测结果;
上述发送单元804,还用于向上述客户端发送上述探测结果。
在本实施例中,网络测试包可以是用于测试网络连接量等网络信息,如网络测试包可以选用ping检测包。
可选地,本发明实施例的客户端一侧可以利用ping工具向云端的服务器,及云服务器中的云主机分别发送ping检测包;也可以利用ping工具仅向云端的云服务器中的云主机发送ping检测包。ping工具可以设置于客户端的用户设备上,从服务器可以接收到针对服务器或者针对服务器中的云主机的ping检测包。
在本实施例中,云主机是客户端可以直接访问的虚拟设备,通常其访问地址是公开的;因此可能会被不同的客户端访问,因此不同的客户端均可以向其发送ping检测包。发往云主机的ping检测包可以遵循ICMP的相关规定。
在本实施例中,若网络测试包为ping检测包,那么云主机依据ICMP的规定,会返回ICMP回声应答作为结果数据。客户端可以据此判定客户端与云主机之间的连接状态,以及据此确定云主机是否存在云服务质量缺陷。
在本实施例中设置了云主机被集中探测的预定规则,该云主机被集中探测的预定规则可以根据需要进行设定,其目的在于确定是否有对服务器进行探测的需求;例如:有众多的客户端对不同的云主机进行探测,有众多的的客户端对相同的云主机进行探测;这里可以是在某个时间段内发生了上述两种事件。其中,前者可以作为优选的实现方式,这种情况下服务器本身出现云服务质量缺陷的可能性会更大。
本发明实施例,可以向发出了网络测试包的客户端反馈针对服务器以及针对云主机探测结果及结果数据,那么客户端可以根据上述结果数据确定针对云主机的云服务质量检测结果,根据上述探测结果确定针对云服务器的云服务质量检测结果;从而根据服务器和云主机的云服务质量的检测结果,确定当前存在云服务质量缺陷后,根据预设引起云服务质量缺陷的原因,对云服务相应的运行数据进行分析,匹配出引起当前云服务质量缺陷的目标原因,实现引起云服务质量缺陷的原因的精准定位;进而获取预设的与上述目标原因相应的解决策略并执行,提供出与所定位原因匹配的解决策略,对云服务质量缺陷进行解决,从而提升云服务质量,保障云服务质量。在此基础上,客户端不必向服务器发送网络检测包,因此对服务器而言,可以不必直接接收到来自客户端的网络检测包,也不必向客户端公布自己的地址,从而减少可能的被网络测试包攻击的可能性,提高了安全性。
本发明实施例还提供了云主机被集中探测的预定规则的举例,具体如下:上述装置还包括:
存储单元807,用于在将上述网络测试包发往上述云主机之前,缓存上述网络测试包;
上述统计单元805,用于统计缓存的发往上述云主机的网络测试包的数量,或者,统计缓存的发往上述云主机的网络测试包的源客户端数量;
上述探测单元806,用于在上述缓存的发往上述云主机的网络测试包的数量大于第一阈值的情况下,或者,缓存的发往上述云主机的网络测试包的源客户端数量的数量大于第二阈值的情况下,对上述服务器进行探测得到探测结果。
在本实施例中,可以使用接收队列对网络测试包进行缓存,这里的接收队列可以是一个接收队列,缓存所有发往该服务器的网络测试包;也可以按照云主机分类,即:发往不同的云主机的网络测试包缓存到不同的接收队列。
在本实施例中统计值进行了两种举例,其中,统计发往上述云主机的网络测试包的数量,并未对网络测试包的源客户端进行区分,该实现方式主要是针对某个云主机被集中探测的场景下;统计发往上述云主机的网络测试包的源客户端数量的数量,对网络测试包的源客户端进行了区分,可以不限制发往该云主机的总网络测试包数量,该实现方式主要是针对某个云主机被众多客户端探测的应用场景。这两种场景可以将后者作为优选的实现方式。
以上源客户端是相对于网络测试包而言的,发送该网络测试包的客户端即为该网络测试包的源客户端。
另需说明的是,本发明实施例可以设定的云主机被集中探测的预定规则还可以很多,例如:在预定时间段内收到的网络测试包数量超过某一阈值,此时既不区分网络测试包的源客户端,也不区分网络测试包发往哪一个云主机。因此本发明实施例所提供的云主机被集中探测的预定规则的举例不应理解为对本发明实施例的唯一性限定。
另外,在本实施例中的第一阈值和第二阈值基于目的的不同,前者是为了确定针对某个云主机被集中探测,那么多大的量可以确定为被集中探测是设定第一阈值的依据;后者是为了确定针对某个云主机被众多客户端探测是设定第二阈值的依据;本发明实施例对第一阈值和第二阈值的具体取值不作唯一性限定。
本发明实施例还提供了网络测试包的缓存形式,以及触发对服务器进行探测的条件举例,具体如下:上述存储单元807,具体用于将所有接收到的网络测试包缓存到同一接收队列中,或者,为云主机创建接收队列,将上述网络测试包缓存到与上述云主机对应的接收队列中。
可选地,上述统计单元805,具体用于在上述接收队列溢出时,删除上述接收队列中接收时间与当前时刻的时间差超过第三阈值的网络测试包;统计上述接收队列中的发往上述云主机的网络测试包的数量,或者,统计上述云主机对应的接收队列中缓存的网络测试包的源客户端数量。
在本实施例中提供了使用接收队列缓存网络测试包的两种举例,其中,前者可以应用于既不区分网络测试包的源客户端,也不区分网络测试包发往哪一个云主机的场景,后者可以应用于针对某个云主机被集中探测或者针对某个云主机被众多客户端探测的应用场景。需说明的是,前者也可以应用于针对某个云主机被集中探测或者针对某个云主机被众多客户端探测的应用场景,此时需要在触发统计后,对队列中的网络测试包进行逐一识别,相对而言速度会较慢;因此应用于针对某个云主机被集中探测或者针对某个云主机被众多客户端探测的应用场景时,使用后者可以加快探测速度。相应地,如果应用于既不区分网络测试包的源客户端,也不区分网络测试包发往哪一个云主机的场景,前者反而速度更快。
在本实施例中,使用后者创建接收队列,并且将缓存的发往上述云主机的网络测试包的数量大于第一阈值作为上述统计结果属于上述云主机被集中探测的预定规则的情况时,可以将该云主机对应的接收队列的长度设定为上述第一阈值。此时,可以在接收队列溢出时,判定缓存的发往上述云主机的网络测试包的数量大于第一阈值;省去统计的步骤。
另外,在本发明实施例中,可以每接收到一个网络测试包并将其缓存到接收队列之前,判定其所针对的云主机以及源客户端是否为新客户端,使用数组array[a][b]存储,其中array为数组名,可以为采用云主机名命名,a为发往该云主机的网络测试包的数量,b为发往该云主机的源客户端的数量;具体执行时,接收到网络测试包,则判定发往array云主机,则a++,判定是否为该网络测试包的源客户端是否为新客户端,若为新客户端则b++。采用本实施例方案时,可以在数组溢出时探测服务器,并初始化该数组。
以上网络测试包的缓存形式,以及触发对服务器进行探测的条件举例不应理解为对本发明实施例的唯一性限定。
本发明实施例的执行侧并不在客户端一侧,因此并不能避免客户端向服务器发送网络测试包,若接收到发往服务器的网络测试包,本发明实施例提供了解决方案如下:上述装置还包括:
包删除单元808,用于若接收到发往上述服务器的网络测试包,则删除上述发往上述服务器的网络测试包。
本实施例可以兼容客户端向服务器和云主机均发送网络测试包的技术方案,因此可以兼容各种友商的应用方案。另外,在客户端向服务器和云主机均发送网络测试包的场景下,可以一方面放客户端收到必要的服务区的探测结果,另一方面又可以避免服务器被攻击的风险。
本发明实施例还提供了对服务器进行探测的具体手段,以及向客户端发送探测结果的具体实现手段,上述探测单元806,具体用于将发往上述云主机的网络测试包的目的地址修改为上述服务器,向上述服务器发送修改目的地址后的网络测试包,接收上述服务器返回的探测结果;
上述发送单元804,具体用于将上述探测结果发往上述客户端。
在本实施例中,可以兼容网络测试包的实现手段,即服务器仍然可以兼容ping检测包,遵循ICMP的相关规定。
另外,也可以对服务器进行全面探测获得比ping检测包更多的探测结果,使用其他协议向客户端发送探测结果也可以的。
本实施例还提供了向其他客户端发送探测结果的应用场景,具体如下:上述装置还包括:
客户端获取单元809,用于获取目标客户端,上述目标客户端包含向上述云主机最近一次发送网络测试包的时刻在与当前时刻距离小于第四阈值的客户端;或者,上述目标客户端包括在与当前时刻距离预定时段内向上述云主机发送网络测试包的个数超过第五阈值的客户端
上述发送单元804,还用于向上述目标客户端发送上述探测结果。
在本实施例中,第四阈值是为了获得可能有探测服务器的云服务状态的客户端,通常来说这些客户端发送网络测试包的时间会离当前时刻比较近;或者,在最近一段时间内多次发送了网络测试包。因此以上第四阈值用来区分哪些客户端属于离当前时刻比较近,第五阈值用来区分发送多少次网络测试包属于多次发送。具体数值本发明实施例不作唯一性限定。
本实施例可以实现对多种可能需要服务器的云服务状态的客户端主动报告服务器的云服务状态,帮助这些客户端及早获知服务器的云服务状态。
本发明实施例还提供了一种可选的发送探测结果的实现方案,具体如下:上述装置还包括:
数据写入单元410,用于将上述探测结果写入上述结果数据,标注探测对象为上述服务器;
上述发送单元804,具体用于将添加了上述探测结果的结果数据发往上述客户端。
在本实施例中,结果数据可以是代表服务器状态的任意数据,以ping检测包为例,其结果数据仅是回复的与ping检测包同样大小的ICMP回声应答,该ICMP回声应答中包含的数据,在本实施例中可以标明发送给了服务器,另外还可以标明△t,该△t是ping检测包在队列中等待的时间,用于客户端在计算网络延迟时扣除该△t。
尤其对于目标客户端而言,其发送的ping检测包发送给云主机以后,这些ping检测包仍然被缓存等待第四阈值的时间来判定是否修改探测对象后发给服务器,这些ping检测包的等待时间比较长,如果不扣除△t会大大的增加探测结果中显示的网络延迟;因此本实施例可以在监测装置处对该时间进行扣除,或者在ICMP回声应答中携带△t给客户端,由客户端判定扣除该部分时间。
本发明实施例还提供了一种存储介质,上述存储介质中存储有程序代码,上述程序代码包括程序指令,上述程序指令当被处理器执行时使上述处理器与收发器配合实现本发明实施例提供的任意一项方法中的信息交互功能。
本发明实施例还提供了一种计算机程序产品,在上述计算机程序产品中包含程序代码,上述程序代码包括程序指令,上述程序指令当被处理器执行时使上述处理器与收发器配合实现本发明实施例提供的任意一项方法中的信息交互功能。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
Claims (10)
1.一种服务器的代理监测方法,其特征在于,包括:
监控设备监测所述监控设备与服务器之间的通信状态,获得第二结果数据;
所述监控设备接收来自客户端发往所述服务器中的云主机的第一网络测试包,将所述第一网络测试包发往所述云主机;
所述监控设备接收所述云主机返回的所述第一网络测试包的第一结果数据,将所述第一结果数据发往所述客户端;
所述监控设备统计发往所述云主机的网络测试包得到统计结果,在所述统计结果符合探测条件的情况下,将所述第二结果数据发往所述客户端。
2.根据权利要求1所述方法,其特征在于,所述方法还包括:
所述监控设备接收来自所述客户端发往所述服务器的第二网络测试包;
所述监控设备生成所述第二网络测试包的反馈结果,在所述反馈结果中携带所述第二结果数据;
所述在所述统计结果符合探测条件的情况下,将所述第二结果数据发往所述客户端包括:
在所述统计结果符合探测条件的情况下,将所述反馈结果发往所述客户端。
3.根据权利要求2所述方法,其特征在于,所述监控设备生成所述第二网络测试包的反馈结果,在所述反馈结果中携带所述第二结果数据包括:
所述监控设备获得所述第二结果数据中包含的所述监控设备与所述服务器之间的网络延迟和数据量数据,将所述网络延迟和所述数据量数据添加到所述第二网络测试包中得到所述反馈结果。
4.根据权利要求1所述方法,其特征在于,所述方法还包括:缓存所述第一网络测试包;
所述统计发往所述云主机的网络测试包得到统计结果包括:
统计缓存的发往所述云主机的网络测试包的数量,或者,统计缓存的发往所述云主机的网络测试包的源客户端数量;
所述统计结果符合探测条件的情况包括:
所述缓存的发往所述云主机的网络测试包的数量大于第一阈值,或者,缓存的发往所述云主机的网络测试包的源客户端数量的数量大于第二阈值。
5.根据权利要求4所述方法,其特征在于,所述缓存所述第一网络测试包包括:
将所述第一网络测试包缓存到所述云主机与其他云主机共用的云主机接收队列中,或者,为所述云主机创建云主机接收队列,将所述第一网络测试包缓存到与所述云主机对应的云主机接收队列中。
6.根据权利要求5所述方法,其特征在于,所述统计缓存的发往所述云主机的网络测试包的数量,或者,统计缓存的发往所述云主机的网络测试包的源客户端数量;包括:
在所述云主机接收队列溢出时,删除所述云主机接收队列中接收时间与当前时刻的时间差超过第三阈值的网络测试包;
统计所述云主机接收队列中的发往所述云主机的网络测试包的数量,或者,统计所述云主机对应的云主机接收队列中缓存的网络测试包的源客户端数量。
7.一种云服务质量监控方法,其特征在于,包括:
接收来自客户端发往服务器中的云主机的网络测试包,将所述网络测试包发往所述云主机;
接收所述云主机返回的所述网络测试包的结果数据,将所述结果数据发往所述客户端;
若存在所述客户端以及所述客户端之外的其他客户端发往所述服务器的网络测试包,则拦截所述客户端以及所述客户端之外的其他客户端发往所述云主机的网络测试包;统计发往所述云主机的网络测试包得到统计结果,在所述统计结果属于所述云主机被集中探测的预定规则的情况下,对所述服务器进行探测得到探测结果,向所述客户端发送所述探测结果。
8.一种云服务质量监控装置,其特征在于,包括:
监测单元,用于监测监控设备与服务器之间的通信状态,获得第二结果数据;
第一接收单元,用于接收来自客户端发往所述服务器中的云主机的第一网络测试包;
转发单元,用于将所述第一网络测试包发往所述云主机;
第二接收单元,用于接收所述云主机返回的所述第一网络测试包的第一结果数据;
第一发送单元,用于将所述第一结果数据发往所述客户端;
统计单元,用于统计发往所述云主机的网络测试包得到统计结果;
第二发送单元,用于在所述统计结果符合探测条件的情况下,将所述第二结果数据发往所述客户端。
9.一种云服务质量监控装置,其特征在于,包括:处理器、存储器和收发器;其中所述处理器、所述存储器和所述收发器以可通信方式连接;
在所述存储器中存储有程序代码;
所述处理器用于读取所述程序代码与所述收发器配合实现权利要求1至7任意一项方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,所述程序代码包括程序指令,所述程序指令当被处理器执行时使所述处理器与收发器配合实现权利要求1至7任意一项方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910915167.3A CN110740078B (zh) | 2019-09-26 | 2019-09-26 | 一种服务器的代理监测方法及相关产品 |
PCT/CN2019/117005 WO2021056715A1 (zh) | 2019-09-26 | 2019-11-11 | 一种服务器的代理监测方法及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910915167.3A CN110740078B (zh) | 2019-09-26 | 2019-09-26 | 一种服务器的代理监测方法及相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110740078A CN110740078A (zh) | 2020-01-31 |
CN110740078B true CN110740078B (zh) | 2023-08-22 |
Family
ID=69269647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910915167.3A Active CN110740078B (zh) | 2019-09-26 | 2019-09-26 | 一种服务器的代理监测方法及相关产品 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110740078B (zh) |
WO (1) | WO2021056715A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112532961A (zh) * | 2020-12-04 | 2021-03-19 | 上海影创信息科技有限公司 | Vr眼镜的延时检测安全提示方法和系统及其vr眼镜 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013179491A (ja) * | 2012-02-28 | 2013-09-09 | Nippon Telegr & Teleph Corp <Ntt> | ネットワーク品質監視装置及びネットワーク品質監視方法 |
CN106657023A (zh) * | 2016-11-28 | 2017-05-10 | 宝德科技集团股份有限公司 | 一种基于云主机的信息通信装置 |
WO2017157125A1 (zh) * | 2016-03-15 | 2017-09-21 | 平安科技(深圳)有限公司 | 在云计算环境中删除云主机的方法、装置、服务器及存储介质 |
CN108512673A (zh) * | 2017-02-24 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 一种云服务质量监控方法、装置及服务器 |
CN108616389A (zh) * | 2018-04-10 | 2018-10-02 | 深信服科技股份有限公司 | 基于云服务器的网络评估方法、设备、存储介质及装置 |
US10375169B1 (en) * | 2017-05-24 | 2019-08-06 | United States Of America As Represented By The Secretary Of The Navy | System and method for automatically triggering the live migration of cloud services and automatically performing the triggered migration |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1275430C (zh) * | 2004-07-23 | 2006-09-13 | 北京邮电大学 | 互联网的服务质量监测系统及实现方法 |
CN101437030B (zh) * | 2008-11-29 | 2012-02-22 | 成都市华为赛门铁克科技有限公司 | 一种防止服务器被攻击的方法、检测装置及监控设备 |
TW201413467A (zh) * | 2012-09-28 | 2014-04-01 | Delta Electronics Inc | 管理雲端主機的監控系統及其監控方法 |
CN103248531A (zh) * | 2012-11-16 | 2013-08-14 | 佳都新太科技股份有限公司 | 一种服务器网管监测方式 |
CN106487774B (zh) * | 2015-09-01 | 2019-06-25 | 阿里巴巴集团控股有限公司 | 一种云主机服务权限控制方法、装置和系统 |
US10375591B2 (en) * | 2016-05-20 | 2019-08-06 | 7Signal Solutions, Inc. | System and method for wireless network performance measurement and management using remote devices |
US10474548B2 (en) * | 2016-09-30 | 2019-11-12 | Commvault Systems, Inc. | Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, using ping monitoring of target virtual machines |
US10050884B1 (en) * | 2017-03-21 | 2018-08-14 | Citrix Systems, Inc. | Method to remap high priority connection with large congestion window to high latency link to achieve better performance |
CN108696400A (zh) * | 2017-04-12 | 2018-10-23 | 北京京东尚科信息技术有限公司 | 网络监测方法和装置 |
US10931595B2 (en) * | 2017-05-31 | 2021-02-23 | Futurewei Technologies, Inc. | Cloud quality of service management |
CN108777640B (zh) * | 2018-06-04 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 一种服务器探测方法、装置、系统及存储介质 |
-
2019
- 2019-09-26 CN CN201910915167.3A patent/CN110740078B/zh active Active
- 2019-11-11 WO PCT/CN2019/117005 patent/WO2021056715A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013179491A (ja) * | 2012-02-28 | 2013-09-09 | Nippon Telegr & Teleph Corp <Ntt> | ネットワーク品質監視装置及びネットワーク品質監視方法 |
WO2017157125A1 (zh) * | 2016-03-15 | 2017-09-21 | 平安科技(深圳)有限公司 | 在云计算环境中删除云主机的方法、装置、服务器及存储介质 |
CN106657023A (zh) * | 2016-11-28 | 2017-05-10 | 宝德科技集团股份有限公司 | 一种基于云主机的信息通信装置 |
CN108512673A (zh) * | 2017-02-24 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 一种云服务质量监控方法、装置及服务器 |
US10375169B1 (en) * | 2017-05-24 | 2019-08-06 | United States Of America As Represented By The Secretary Of The Navy | System and method for automatically triggering the live migration of cloud services and automatically performing the triggered migration |
CN108616389A (zh) * | 2018-04-10 | 2018-10-02 | 深信服科技股份有限公司 | 基于云服务器的网络评估方法、设备、存储介质及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2021056715A1 (zh) | 2021-04-01 |
CN110740078A (zh) | 2020-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7957323B2 (en) | Methods and apparatus for evaluating the sequence of packets | |
US11188371B2 (en) | Monitoring controller and a method performed thereby for monitoring network performance | |
US20090003225A1 (en) | Method and apparatus for probing of a communication network | |
CN103560928A (zh) | 测试网络设备转发性能的方法及系统 | |
US20220029900A1 (en) | Detecting sources of computer network failures | |
WO2017052973A1 (en) | Technologies for performance inspection at an endpoint node | |
WO2021088484A1 (zh) | 一种网络时延检测方法及相关设备 | |
CN110784337B (zh) | 一种云服务质量监控方法及相关产品 | |
CN108600051B (zh) | BGP Anycast集群服务质量探测方法和探测设备 | |
US9935853B2 (en) | Application centric network experience monitoring | |
US20230353467A1 (en) | Methods and apparatus for determining low latency network connectivity in computing systems | |
CN110740078B (zh) | 一种服务器的代理监测方法及相关产品 | |
CN111181760B (zh) | 网络故障探测方法、装置、计算机可读介质及电子设备 | |
CN111917682B (zh) | 访问行为识别方法、性能检测方法、装置、设备和系统 | |
CN107438268B (zh) | 一种用于为移动设备加速无线网络的方法与设备 | |
WO2001020918A2 (en) | Server and network performance monitoring | |
Imputato et al. | Enhancing the fidelity of network emulation through direct access to device buffers | |
US20160191398A1 (en) | Packet extracting apparatus and method | |
US20210184988A1 (en) | Methods, systems and computer readable media for diagnosing network function virtualization performance | |
Ugochukwu et al. | Diagnosing Salem University Lokoja Network for Better Network Performance | |
KR20030073539A (ko) | Ip 공유 검출 방법 | |
Aivazov et al. | End-to-end packet delay in the network | |
CN114679413A (zh) | 异构网络的拥塞控制方法、装置、设备及存储介质 | |
Jirachiefpattana et al. | PC router performance evaluation based on a single-server multi-queue system with a reflection technique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40019548 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |