云平台虚拟网络状态的智能检测方法和装置与流程

文档序号:17158151发布日期:2019-03-20 00:16阅读:249来源:国知局
本发明涉及网络
技术领域
:,特别是涉及一种云平台虚拟网络状态的智能检测方法和装置、计算机设备、计算机存储介质。
背景技术
::云平台技术,典型的以openstack为代表的iaas层技术已经步入稳定运行阶段,目前越来越多的企业在开始部署使用云平台。典型的云平台使用网络虚拟化技术对物理网络环境进行控制,比如使用ovs(openvswitch)技术等。其技术特点是通过软件的方式实现了物理交换机的功能,达到软件自定义化网络的目的。软件定义网络对网络的使用带来了极大的便利,用户可以根据应用对网络的需求自定义网络拓扑结构,并配置相关的网络策略,无需复杂的物理网络实施过程。但是,由于云平台的虚拟特性,使得虚拟化网络的管理和维护比物理交换机更为灵活。系统管理员通过传统的检测方式进行云平台虚拟网络的检测存在效率低,且准确性差的问题,很难保证相应网络拓扑的持续正确和高效。技术实现要素:基于此,有必要针对传统方案进行云平台虚拟网络检测存在效率低,且准确性差的的技术问题,提供一种云平台虚拟网络状态的智能检测方法和装置、计算机设备、计算机存储介质。一种云平台虚拟网络状态的智能检测方法,包括:读取云平台虚拟网络的虚拟网络配置信息,读取所述云平台虚拟网络关联的实体网络的实体网络配置信息;根据所述虚拟网络配置信息和所述实体网络配置信息构建网络仿真模型;根据所述网络仿真模型检测所述云平台虚拟网络的状态。在一个实施例中,所述根据所述虚拟网络配置信息和所述实体网络配置信息构建网络仿真模型的过程包括:根据所述根据所述虚拟网络配置信息和所述实体网络配置信息构建网络仿真模型确定所述云平台虚拟网络的各个网元,以及所述网元的规则描述信息;其中所述规则描述信息为描述所述网元连通特征和网元配置特征的信息;根据所述网元以及所述网元的规则描述信息构建网络仿真模型。作为一个实施例,所述根据所述网元以及所述网元的规则描述信息构建网络仿真模型的过程包括:将所述网元配置特征转换为json对象,根据所述网元连通特征建立所述json对象之间的关联关系;根据所述关联关系构造所述网元之间的配对关系,以及所述网元之间的拓扑连接关系;根据所述配对关系和拓扑连接关系构建网络仿真模型。作为一个实施例,所述规则描述信息包括防火墙规则信息、地址转换信息和访问控制权限信息。在一个实施例中,所述根据所述网络仿真模型检测所述云平台虚拟网络的状态的过程包括:读取检测指令中的目的网元,在所述网络仿真模中获取从起始网元经过所述目的网元到达终端网元的数据包游走特征;根据所述数据包游走特征检测所述云平台虚拟网络的连通性,并识别所述云平台虚拟网络是否存在环路。作为一个实施例,所述根据所述数据包游走特征检测所述云平台虚拟网络的连通性,并识别所述云平台虚拟网络是否存在环路的过程之后,还包括:在所述所述网络仿真模型中识别二层和三层,分别检测所述二层和三层的连通性。在一个实施例中,所述根据所述网络仿真模型检测所述云平台虚拟网络的状态的过程之后,还包括:生成并展示所述云平台虚拟网络的检测报告。一种云平台虚拟网络状态的智能检测装置,包括:读取单元,用于读取云平台虚拟网络的虚拟网络配置信息,读取所述云平台虚拟网络关联的实体网络的实体网络配置信息;构建单元,用于根据所述虚拟网络配置信息和所述实体网络配置信息构建网络仿真模型;检测单元,用于根据所述网络仿真模型检测所述云平台虚拟网络的状态。一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例提供的云平台虚拟网络状态的智能检测方法。一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例提供的云平台虚拟网络状态的智能检测方法。上述云平台虚拟网络状态的智能检测方法、装置、计算机设备和计算机存储介质,可以构建表征云平台虚拟网络中虚拟网络部分及其关联的实体网络部分中的所有网元、各个网元之间的关系以及各个网元分别对应的数据转发规则的网络仿真模型,通过上述网络仿真模型检测所述云平台虚拟网络的状态,可以对云平台虚拟网络的状态进行准确检测,在不影响相应云平台虚拟网络正常工作的基础上,提高了云平台虚拟网络状态的检测效率。附图说明图1为一个实施例的云平台虚拟网络状态的智能检测方法流程图;图2为一个实施例的网络仿真模型的uml结构示意图;图3为一个实施例的网络仿真模型对应的游走算法示意图;图4为一个实施例的云平台虚拟网络状态的智能检测装置结构示意图;图5为一个实施例的计算机设备内部结构示意图。具体实施方式为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。需要说明的是,本发明实施例所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一\第二\第三”区分的对象在适当情况下可以互换,以使这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。本发明实施例的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。参考图1所示,图1为一个实施例的云平台虚拟网络状态的智能检测方法流程图,包括:s10,读取云平台虚拟网络的虚拟网络配置信息,读取所述云平台虚拟网络关联的实体网络的实体网络配置信息;上述云平台虚拟网络可以包括虚拟网络部分以及其关联的实体网络部分,上述虚拟网络部分以及其关联的实体网络部分相结合形成云平台虚拟网络,以更少的硬件设备,为相应用户提供网络服务。上述虚拟网络配置信息为虚拟网络部分的配置信息,包括虚拟网络部分的网元、网元间的关系以及网元的数据转发规则等信息;上述实体网络配置信息为实体网络部分的配置信息,包括实体网络部分的网元、网元间的关系以及网元的数据转发规则等信息。在一个实施例中,可以采用可扩展方式设计,对云平台虚拟网络的交换机配置读取部分采用驱动的方式设计,由交换机读取适配器和交换机驱动层组成。由于不同交换机的配置是存在不同的,通过驱动的方式可以针对不同的交换机设计不同的驱动。云平台虚拟网络可以包括多种类型的网元,比如tap、bridge(网桥)和tun等类型。s20,根据所述虚拟网络配置信息和所述实体网络配置信息构建网络仿真模型;上述网络仿真模型可以表征云平台虚拟网络中虚拟网络部分及其关联的实体网络部分中的所有网元、各个网元之间的关系以及各个网元分别对应的数据转发规则等云平台虚拟网络的特征信息。可选地,在构建网络仿真模型的过程中,还可以读取用户针对上述云平台虚拟网络输入的配置信息,以便于云平台设计人员预先检查和优化网络配置。s30,根据所述网络仿真模型检测所述云平台虚拟网络的状态。上述云平台虚拟网络的状态可以包括云平台虚拟网络的连通性,相关初始网元至目的网元之间的链路长度,网络中是否存在环路、二层连通情况、和/或三层连通情况等状态。可以采用游走算法等方法对上述网络仿真模型进行检测,以获得上述网络仿真模型所表征的云平台虚拟网络的状态。本发明提供的云平台虚拟网络状态的智能检测方法,可以构建表征云平台虚拟网络中虚拟网络部分及其关联的实体网络部分中的所有网元、各个网元之间的关系以及各个网元分别对应的数据转发规则的网络仿真模型,通过上述网络仿真模型检测所述云平台虚拟网络的状态,可以对云平台虚拟网络的状态进行准确检测,在不影响相应云平台虚拟网络正常工作的基础上,提高了云平台虚拟网络状态的检测效率。在一个实施例中,所述根据所述虚拟网络配置信息和所述实体网络配置信息构建网络仿真模型的过程包括:根据所述根据所述虚拟网络配置信息和所述实体网络配置信息构建网络仿真模型确定所述云平台虚拟网络的各个网元,以及所述网元的规则描述信息;其中所述规则描述信息为描述所述网元连通特征和网元配置特征的信息;根据所述网元以及所述网元的规则描述信息构建网络仿真模型。上述网络仿真模型的核心对象是网元(networkunit),网元可以泛化为tap、bridge和tun三种类型的网元。各个网元均具有对应的规则描述信息,以描述相应网元的网元连通特征和网元配置特征等信息。作为一个实施例,所述根据所述网元以及所述网元的规则描述信息构建网络仿真模型的过程包括:将所述网元配置特征转换为json(javascriptobjectnotation,js对象简谱)对象,根据所述网元连通特征建立所述json对象之间的关联关系;根据所述关联关系构造所述网元之间的配对关系,以及所述网元之间的拓扑连接关系;根据所述配对关系和拓扑连接关系构建网络仿真模型。本实施例可以采用json作为网络仿真模型描述的语言,将网元配置特征转换为json对象,使语义保持一致,建立json对象间的关联。上述关联关系可以通过相关网元构造器构造networkunit(数据包)的相应对象,再通过拓扑构造器构造vethpair(配对关系)对象,及建立网元之间的拓扑连接关系,并打上vlan(虚拟局域网)的配置关系的tag(标签)。作为一个实施例,在根据所述关联关系构造所述网元之间的配对关系,以及所述网元之间的拓扑连接关系之后,还可以将交换机、路由、防火墙和acl等规则转换为ruller模型,并将ruller模型附着在相应的networkunit之上,控制数据的流转,以设置上述网络仿真模型的数据流转特征。可选地,网络仿真模型中各个网元的mac地址(局域网地址)和ip地址(互联网协议地址)等地址信息也可以又相关用户指定,或者由相关系统自动补齐,比如在检测三层(网络层)连通性时,可以在读取虚拟网络配置信息和实体网络配置信息时进行读取或者由用户指定指定,在检测二层(数据链路层)连通或环路时,可以由相关系统自动补齐,以保证构建网络仿真模型的灵活性。本实施例构建的网络仿真模型可以准确表征相应云平台虚拟网络的各个网元,以及各个网元之间的规则描述信息,具有较高的准确性。作为一个实施例,所述规则描述信息包括防火墙规则信息、地址转换信息和访问控制权限信息。上述规则描述信息也可以称为ruller(规则)对象,可以对iptables和交换机的acl功能(访问控制权限)进行抽象仿真,实现控制数据转发和抛弃规则;ruller对象可以包括filter、nat和acl三个对象。对象filter可以表征防火墙规则信息,对源端口和目的端口进行判断,根据规则放行或者阻断连接;nat可以表征地址转换信息;acl可以表征网络的访问控制权限信息,用于限制特定的端口或链路的数据。本实施例提供的规则描述信息可以对网元的网元连通特征和网元配置特征进行准确描述。作为一个实施例,上述网络仿真模型的uml结构可以参考图2所示,网络仿真模型的图谱关系可由vethpair(配对关系)的port(端口)和link(连接)建立。port与网元对象对应,每个port属于一个网元,但一个网元可以有多个port。link则是port之间的链路,用于标明两个port之间是可以进行数据交换的。在一个实施例中,所述根据所述网络仿真模型检测所述云平台虚拟网络的状态的过程包括:读取检测指令中的目的网元,在所述网络仿真模中获取从起始网元经过所述目的网元到达终端网元的数据包游走特征;根据所述数据包游走特征检测所述云平台虚拟网络的连通性,并识别所述云平台虚拟网络是否存在环路。上述起始网元和终端网元可以预先设置,一个网络仿真模型可以分别设置一个起始网元和一个终端网元。上述检测指令可以包括若干个目的网元,若检测指令包括多个目的网元,则需要在所述网络仿真模中获取起始网元分别经过各个目的网元至终端网元的数据包游走特征。本实施例可以从上述起始网元分别发送各个目的网元对应的数据包,以便各个目的网元分别可以存在相应的数据包经过,以获得所述各个目的网元分别对应的数据包游走特征。作为一个实施例,在进行云平台虚拟网络状态检测的过程中,数据包可以在网络仿真模中不断游走,根据规则描述信息从一个networkunit(网元),传递到后续一个或者多个的networkunit。上述数据包游走特征可以包括数据游走路径,上述数据游走路径包括dataunit所经历的路径。在dataunit到达目的网元后,可以记录下当前找到的路径,得到上述数据游走路,此时如果目的网元不是终端节点(终端网元),不终止该dataunit的传播,继续按照相应的规则描述信息转发上述dataunit,使dataunit继续游走。依据上述各个目的网元分别对应的数据包游走特征可以识别起始网元分别至各个目的网元之间的链路长度,上述网络仿真模型所表征的云平台虚拟网络中网元之间的连通性,以及上述网络仿真模型是否存在环路等特征。具体地,若各个目的网元均可以顺利接收起始网元发送的数据包,表示云平台虚拟网络的网元之间是连通的,若各个数据包游走特征中起始网元发出的各个数据包均可以达到终端网元,并在到达上述终端网元后不再传播,表明上述云平台虚拟网络中不存在环路。作为一个实施例,所述根据所述数据包游走特征检测所述云平台虚拟网络的连通性,并识别所述云平台虚拟网络是否存在环路的过程之后,还包括:在所述所述网络仿真模型中识别二层和三层,分别检测所述二层和三层的连通性。本实施例可以网络仿真模型中二层和三层的连通性进行检测,即检测云平台虚拟网络中二层和三层的连通性,对上述云平台虚拟网络状态的检测功能进行了有效完善。作为一个实施例,上述网络仿真模型对应的游走算法示意图可以参考图3所示,dataunit在仿真模型中传播,在每个networkunit会受到ruller(规则描述信息)的控制,决定是否可以转发,以及转发的目的地网元;转发中的拓扑关系可以由vethpair建立的拓扑关系决定。在一个实施例中,所述根据所述网络仿真模型检测所述云平台虚拟网络的状态的过程之后,还包括:生成并展示所述云平台虚拟网络的检测报告。本实施例可以生成云平台虚拟网络的检测报告,对上述检测报告进行文本展示或者可视化展示,还可以根据上述检测报告进行相应的交互分析,以保证相关用户便利且完整地获取上述云平台虚拟网络状态的检测结果。作为一个实施例,可以通过日志的方式输出云平台虚拟网络的检测报告,还可以将连通性以及环路分析结果等状态检测结果通过可视化的方式,利用网络拓扑(网络仿真模型的结构)结果展示给用户。用户可以通过点击,了解各个networkunit信息,以及其上的ruller信息以及vethpair信息,以实现对检测结果的交互式分析。本实施例提供的云平台虚拟网络状态的智能检测方法,无需实际的网络环境,可以通过软件模拟仿真预先了解网络情况,可以灵活定义网络连通性检查项,减少后期调试工作量;还可以灵活调整配置,寻找最优化方法。参考图4,图4所示为一个实施例的云平台虚拟网络状态的智能检测装置结构示意图,包括:读取单元10,用于读取云平台虚拟网络的虚拟网络配置信息,读取所述云平台虚拟网络关联的实体网络的实体网络配置信息;构建单元20,用于根据所述虚拟网络配置信息和所述实体网络配置信息构建网络仿真模型;检测单元30,用于根据所述网络仿真模型检测所述云平台虚拟网络的状态。在一个实施例中,所述构建单元进一步用于:根据所述根据所述虚拟网络配置信息和所述实体网络配置信息构建网络仿真模型确定所述云平台虚拟网络的各个网元,以及所述网元的规则描述信息;其中所述规则描述信息为描述所述网元连通特征和网元配置特征的信息;根据所述网元以及所述网元的规则描述信息构建网络仿真模型。作为一个实施例,所述构建单元进一步用于:将所述网元配置特征转换为json对象,根据所述网元连通特征建立所述json对象之间的关联关系;根据所述关联关系构造所述网元之间的配对关系,以及所述网元之间的拓扑连接关系;根据所述配对关系和拓扑连接关系构建网络仿真模型。作为一个实施例,所述规则描述信息包括防火墙规则信息、地址转换信息和访问控制权限信息。在一个实施例中,所述检测单元进一步用于:读取检测指令中的目的网元,在所述网络仿真模中获取从起始网元经过所述目的网元到达终端网元的数据包游走特征;根据所述数据包游走特征检测所述云平台虚拟网络的连通性,并识别所述云平台虚拟网络是否存在环路。作为一个实施例,所述检测单元进一步用于:在所述所述网络仿真模型中识别二层和三层,分别检测所述二层和三层的连通性。在一个实施例中,所述云平台虚拟网络状态的智能检测装置,还包括:生成模块,用于生成并展示所述云平台虚拟网络的检测报告。关于云平台虚拟网络状态的智能检测装置的具体限定可以参见上文中对于云平台虚拟网络状态的智能检测方法的限定,在此不再赘述。上述云平台虚拟网络状态的智能检测装置中的各个单元可全部或部分通过软件、硬件及其组合来实现。上述各单元可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个单元对应的操作。在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种云平台虚拟网络状态的智能检测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。基于如上所述的示例,在一个实施例中还提供一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现如上述各实施例中的任意一种云平台虚拟网络状态的智能检测方法。上述计算机设备,通过所述处理器上运行的计算机程序,实现了云平台虚拟网络状态检测准确性和检测效率的提升。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性的计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述云平台虚拟网络状态的智能检测方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。据此,在一个实施例中还提供一种计算机存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上述各实施例中的任意一种云平台虚拟网络状态的智能检测方法。上述计算机存储介质,通过其存储的计算机程序,能够对云平台虚拟网络的状态进行准确检测,在不影响相应云平台虚拟网络正常工作的基础上,提高了云平台虚拟网络状态的检测效率。以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1