应用拓扑关系发现的方法、装置和系统制造方法及图纸

技术编号:14783032 阅读:84 留言:0更新日期:2017-03-10 03:38
一种应用拓扑关系发现的方法,涉及IT技术领域,尤其涉及虚拟机间的应用拓扑关系发现的方法、装置和系统。该方法在报文传输过程中,记录下API调用信息,拓扑发现服务器通过分析收集到的API调用信息,确定虚拟机集群中的虚拟机之间是否存在交互,采用上述分析方式,拓扑发现服务器进而可以确定收集到的API调用信息所涉及的各虚拟机间的交互频率,根据各虚拟机间的交互频率确定虚拟机间的应用拓扑关系。上述方法给出了虚拟化场景下发现虚拟机间的应用拓扑关系的方法,通过分析报文传输过程中产生的API调用信息确定虚拟机间的应用拓扑关系,方案复杂度较低。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及IT
,尤其涉及应用拓扑关系发现方法、装置和系统。
技术介绍
随着信息时代的到来,对计算机网络的依赖使得计算机网络本身运行的可靠性变得至关重要,对网络管理也就有了更高的要求。按照开放式系统互联(OpenSystemInterconnection,OSI)的定义,网络管理主要包括五个功能域:故障管理、配置管理、性能管理、安全管理和计费管理。在五大功能域中,配置管理是基础,它的主要功能包括发现网络的拓扑结构、监视和管理网络设备的配置情况。其它的各项功能都以网络的拓扑结构为基础。网络拓扑发现针对的是网络中端到端之间的连接关系,主要目的是获取和维护网络节点的存在信息和它们之间的连接关系信息,并在此基础上绘制出整个网络拓扑图。作为网络拓扑的一种具体形式,IT系统中的应用拓扑(AppliedTopology)为虚拟机间的网络通信关系,虚拟机间的网络通信是基于虚拟机运行的应用产生的。更具体的来说,应用拓扑即为应用的部件(例如程序、服务、组件,运行该应用的虚拟机等)在IT系统各主机(例如服务器)上的部署关系以及所部署的应用的部件间的交互关系(例如服务请求与响应)。现有的应用拓扑的发现为主动探测发现。主动探测是通过向网络目标发送相关探测数据包,观察并记录返回结果,以此来研究应用的结构和应用用户的行为。由于需要向网络发送大量的数据,会增加网络的负载,并且拓扑发现的准确性不高。现有技术中缺乏针对虚拟化环境下不采用探测数据包的应用拓扑发现的方法。
技术实现思路
本申请描述了一种应用拓扑关系发现的方法、装置和系统,提供了针对虚拟化环境的应用拓扑发现方案,降低了建立虚拟机间的应用拓扑关系的复杂度。一方面,本申请提供了一种应用拓扑关系发现的方法,收集至少两组API调用信息,每组API调用信息对应一次API调用,所述每组API调用信息包括API调用对应的虚拟机的标识、API调用的发生时间以及API调用的报文流向;对上述收集到的API调用信息进行分析,确定满足第一条件的第一API调用信息与第二API调用信息,其中,所述第一API调用信息与第二API调用信息满足所述第一条件包括:所述第一API调用信息中的报文流向与所述第二API调用信息中的报文流向为互为相反的流向,且所述第一API调用信息中的API调用的发生时间与所述第二API调用信息中的API调用的发生时间的差值小于或等于预设阈值;满足上述第一条件即意味着所述第一API调用信息和所述第二API调用信息中的两个虚拟机存在一次交互,进而确定所述第一API调用信息所指示的第一虚拟机和所述第二API调用信息所指示的第二虚拟机之间的交互频率是否满足第二条件;若所述第一虚拟机和所述第二虚拟机之间的交互频率满足所述第二条件,确定所述第一虚拟机和所第二虚拟机之间存在应用拓扑关系。本申请给出的应用拓扑关系发现的方法,收集报文传输过程中API调用信息,通过匹配两组API调用信息是否满足第一条件确定两组API调用信息对应的两个虚拟机之间是否存在交互,采用上述方式,拓扑发现服务器可以确定收集到的API调用信息所涉及的各虚拟机间的交互频率,根据各虚拟机间的交互频率确定虚拟机间的应用拓扑关系。上述方案给出了虚拟化场景下发现虚拟机间的应用拓扑关系的方法,通过分析报文传输过程中产生的API调用信息确定虚拟机间的应用拓扑关系,方案复杂度较低。在一种可能的实施方式中,除前述的报文流向和API调用的发生时间的差值外,还需要考虑API调用所涉及到的通信协议。具体的,所述每组API调用信息还包括通信协议;相应地,所述第一API调用信息与第二API调用信息满足所述第一条件还包括:所述第一API调用信息中的通信协议与所述第二API调用信息中的通信协议相同。即只有当两组API调用信息中的通信协议相同时,两组API调用信息对应的两个虚拟机才可能存在应用拓扑关系;当两组API调用信息中的通信协议不同时,即使满足报文流向和API调用的发生时间的差值的要求,也不能认为两组API调用信息对应的两个虚拟机存在交互。通过限定报文发送端和接收端的通信协议,提高了识别虚拟机间交互的准确度。在一种可能的实施方式中,所述确定所述第一虚拟机和所述第二虚拟机之间的交互频率是否满足第二条件包括:分析所述第一虚拟机的至少两组API调用信息和所述第二虚拟机的至少两组API调用信息,确定所述第一虚拟机和所第二虚拟机之间的交互频率,比较所述交互频率和预设频率,当所述交互频率大于预设频率,确定所述交互频率满足所述第二条件。通过将预设频率作为虚拟机间是否存在应用拓扑关系的判断基准,本领域技术人员可以调整上述预设频率来控制应用拓扑关系认定的严格程度。所述预设频率也可以根据需要自行设定。本专利技术实施例对此并不进行限定。在一种可能的实施方式中,在比较所述交互频率和预设频率之前,还包括:确定所述第一虚拟机与所述第二虚拟机是否属于相同的网段,当所述第一虚拟机与所述第二虚拟机属于相同网段时,根据预设的加权系数修正所述交互频率或所述预设频率之一;所述比较所述交互频率和预设频率包括:比较修正后的交互频率与所述预设频率;或者,比较所述交互频率与修正后的预设频率。在一种可能的实施方式中,拓扑发现服务器至少可以使用以下两种方式判断所述第一虚拟机与所述第二虚拟机是否属于相同的网段:方式一、可以通过确定所述第一虚拟机的IP地址与所述第二虚拟机的IP地址是否属于同一网段;方式二、确定所述第一虚拟机的VXLAN(VirtualeXtensibleLocalAreaNetwork,虚拟可扩展局域网)标识与所述第二虚拟机的VXLAN标识是否相同,如果相同,则表示所述第一虚拟机与所述第二虚拟机属于同一网段。同网段的虚拟机之间具备应用拓扑关系的概率较不同网段的虚拟机更大,因此,本专利技术实施例通过对同一网段的虚拟机间的交互频率进行加权或者降低预设频率,来增加应用拓扑关系发现的准确度。在一种可能的实施方式中,报文从第一虚拟机发送到第二虚拟机的过程中,API调用信息可以保存在第一虚拟机和第二虚拟机的部署主机上的日志文件中,拓扑发现服务器从日志文件中读取API调用信息。或者,每个主机上安装有代理模块,拓扑发现服务器接收主机的代理模块上报的API调用信息。在一种可能的实施方式中,在报文的传输过程中,API调用信息被写入到日志文件,可以采用以下几种方式:在虚拟机调用API向所述虚拟机所在的VMM发送报文时,所述虚拟机、所述VMM中的虚拟交换机或所述VMM将API调用信息写入所述虚拟机的部署主机上的日志文件中;;虚拟机的部署主机上的代理模块监控报文在所述主机上的传输过程,将所述传输过程中的API调用对应的API调用信息写入所述虚拟机的部署主机上的日志文件中;虚拟机的部署主机上的代理模块接收所述虚拟机、虚拟交换机或者VMM在所述主机上的报文传输过程中的API调用对应的API调用信息,并将接收到的API调用信息写入所述虚拟机的部署主机上的日志文件中;或,在虚拟机的VMM调用API向所述虚拟机发送报文时,所述虚拟机、所述VMM中的虚拟交换机或所述VMM任意之一可以将API调用信息写入所述虚拟机的部署主机上的日志文件中。具体的,主机上的虚拟机、虚拟交换机或者VMM任意之一可以通过调用拓扑上报API函数向所本文档来自技高网...
应用拓扑关系发现的方法、装置和系统

【技术保护点】
一种应用拓扑关系发现的方法,其特征在于,所述方法包括:收集至少两组应用程序编程接口API调用信息,每组API调用信息对应一次API调用,所述每组API调用信息包括API调用对应的虚拟机的标识、API调用的发生时间以及API调用的报文流向;分析所述至少两组API调用信息,确定满足第一条件的第一API调用信息与第二API调用信息,其中,所述第一API调用信息与第二API调用信息满足所述第一条件包括:所述第一API调用信息中的报文流向与所述第二API调用信息中的报文流向为互为相反的流向,且所述第一API调用信息中的API调用的发生时间与所述第二API调用信息中的API调用的发生时间的差值小于或等于预设阈值;确定所述第一API调用信息所指示的第一虚拟机和所述第二API调用信息所指示的第二虚拟机之间的交互频率是否满足第二条件;若所述第一虚拟机和所述第二虚拟机之间的交互频率满足所述第二条件,确定所述第一虚拟机和所第二虚拟机之间存在应用拓扑关系。

【技术特征摘要】
【国外来华专利技术】1.一种应用拓扑关系发现的方法,其特征在于,所述方法包括:收集至少两组应用程序编程接口API调用信息,每组API调用信息对应一次API调用,所述每组API调用信息包括API调用对应的虚拟机的标识、API调用的发生时间以及API调用的报文流向;分析所述至少两组API调用信息,确定满足第一条件的第一API调用信息与第二API调用信息,其中,所述第一API调用信息与第二API调用信息满足所述第一条件包括:所述第一API调用信息中的报文流向与所述第二API调用信息中的报文流向为互为相反的流向,且所述第一API调用信息中的API调用的发生时间与所述第二API调用信息中的API调用的发生时间的差值小于或等于预设阈值;确定所述第一API调用信息所指示的第一虚拟机和所述第二API调用信息所指示的第二虚拟机之间的交互频率是否满足第二条件;若所述第一虚拟机和所述第二虚拟机之间的交互频率满足所述第二条件,确定所述第一虚拟机和所第二虚拟机之间存在应用拓扑关系。2.如权利要求1所述的方法,其特征在于,所述每组API调用信息还包括通信协议;相应地,所述第一API调用信息与第二API调用信息满足所述第一条件还包括:所述第一API调用信息中的通信协议与所述第二API调用信息中的通信协议相同。3.如权利要求1或2所述的方法,其特征在于,所述确定所述第一虚拟机和所述第二虚拟机之间的交互频率是否满足第二条件包括:分析所述第一虚拟机的至少两组API调用信息和所述第二虚拟机的至少两组API调用信息,确定所述第一虚拟机和所第二虚拟机之间的交互频率,比较所述交互频率和预设频率,当所述交互频率大于所述预设频率,确定所述交互频率满足所述第二条件。4.如权利要求3所述的方法,其特征在于,所述比较所述交互频率和预设频率之前,还包括:确定所述第一虚拟机与所述第二虚拟机是否属于相同的网段,当所述第一虚拟机与所述第二虚拟机属于相同网段时,根据预设的加权系数修正所述交互频率或所述预设频率之一;所述比较所述交互频率和预设频率包括:比较修正后的交互频率与所述预设频率;或者,比较所述交互频率与修正后的预设频率。5.如权利要求1-4任一所述的方法,其特征在于,所述收集至少两组API调用信息包括:从所述多台虚拟机的部署主机上的日志文件中分别读取所述至少两组API调用信息;或者,接收所述多台虚拟机的部署主机上的代理模块上报的所述至少两组API调用信息。6.如权利要求5所述的方法,其特征在于,在从所述多台虚拟机的部署主机上的日志文件中分别读取所述至少两组API调用信息之前,所述方法还包括以下至少一种:第一种、在虚拟机调用API向所述虚拟机所在的VMM发送报文时,所述虚拟机、所述VMM中的虚拟交换机或所述VMM任意之一将API调用信息写入所述虚拟机的部署主机上的日志文件中;第二种、虚拟机的部署主机上的代理模块将报文传输过程中的API调用对应的API调用信息写入所述虚拟机的部署主机上的日志文件中;第三种、在虚拟机的VMM调用API向所述虚拟机发送报文时,所述虚拟机、所述VMM中的虚拟交换机或所述VMM任意之一将API调用信息写入所述虚拟机的部署主机上的日志文件中。7.如权利要求5所述的方法,其特征在于,在接收所述多台虚拟机的部署主机上的代理模块上报的所述至少两组API调用信息之前,所述方法还包括:虚拟机的部署主机上的代理模块监控报文在所述主机上的传输过程,记录所述传输过程中的API调用对应的API调用信息;或,虚拟机的部署主机上的代理模块接收所述虚拟机、虚拟交换机或者VMM发送的在所述主机上的报文传输过程中的API调用对应的API调用信息。8.如权利要求1所述的方法,其特征在于,所述API调用包括输入API函数调用和输出API函数调用。9.一种拓扑发现服务器,其特征在于,包括:获取单元,用于收集至少两组应用程序编程接口API调用信息,每组API调用信息对应一次API调用,所述每组API调用信息包括API调用对应的虚拟机的标识、API调用的发生时间以及API调用的报文流向;分析单元,用于分析所述至少两组API调用信息,确定满足第一条件的第一API调用信息与第二API调用信息,其中,所述第一API调用信息与第二API调用信息满足所述第一条件包括:所述第一API调用信息中的报文流向与所述第二API调用信息中的报文流向为互为相反的流向,且所述第一API调用信息中的API调用的发生时间与所述第二API调用信息中的API调用的发生时间的差值小于或等于预设阈值;所述分析单元,还用于确定所述第一API调用信息所指示的第一虚拟机和所述第二API调用信息所指示的第二虚拟机之间的交互频率是否满足第二条件,若所述第一虚拟机和所述第二虚拟机之间的交互频率满足所述第二条件,确定所述第一虚拟...

【专利技术属性】
技术研发人员:刘挺
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1