CN111726236B - 一种状态识别信息生成方法、系统、装置及其存储介质 - Google Patents
一种状态识别信息生成方法、系统、装置及其存储介质 Download PDFInfo
- Publication number
- CN111726236B CN111726236B CN201910205254.XA CN201910205254A CN111726236B CN 111726236 B CN111726236 B CN 111726236B CN 201910205254 A CN201910205254 A CN 201910205254A CN 111726236 B CN111726236 B CN 111726236B
- Authority
- CN
- China
- Prior art keywords
- configuration
- local
- equipment
- network
- information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000003993 interaction Effects 0.000 claims abstract description 14
- 238000012544 monitoring process Methods 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 2
- 235000014510 cooky Nutrition 0.000 description 27
- 238000010586 diagram Methods 0.000 description 26
- 238000013461 design Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种状态识别信息生成方法、系统、装置及其存储介质,该方法包括:接收具有配置信息的配置指令,其中,所述配置信息包括进行本地设备配置的本地配置信息和进行所述本地设备网络架构配置的网络配置信息;根据所述本地配置信息和所述网络配置信息分别对所述本地设备以及其网络架构进行配置得到配置设备,根据所述配置设备的本地配置和网络架构生成状态识别信息,其中,所述状态识别信息为记录所述配置设备对应本地配置和网络架构的数据信息。通过对本地配置和网络架构数据信息的记录使网络中设备可以相互识别,解决了由于网络设备之间数据交互无法识别产生数据交互错误的技术问题。
Description
技术领域
本发明涉及互联网领域,尤其是指一种状态识别信息生成方法、系统、装置及其存储介质。
背景技术
截至目前,建立设备之间网络时经常出现数据交互错误的问题。比如,被广泛应用于的容器领域(服务发现及数据存储系统),其交互数据往往不能将网络中的各个设备数据节点中获取需要处理的数据,尤其在后期的数据交互过程中由于缺乏设备数据节点对应的数据获取路径,导致获取数据失败,或者出现重大错误。
比如,在配置flow规则时,未指定cookie的取值,那么默认值则为0。当需要生成大量流表组成一个table时,因为其中所有的cookie都会被取值为0,同时未对其中的流表进行分类,在搜索过程中,搜索结果会产生大量的流表搜索结果。在一些极端环境下,由于流表的很多字段数据均相同,还会出现混淆,进而还会出现新生成的流表覆盖原流表的情况。
具体而言,比如在安全组配置时,如果cookie不相同,用户先先发了一条流表,开放80个端口,之后用户又下发了开放50至100个端口的流表,最终的结果只会剩下一条80端口的流表,且利用此处的80端口网络处于正常连接状态,但是实际上配置已经出现了问题,因为此时端口应该是开放50至100个。反之,如果流表其中的cookie相同,则会导致原先的流表被覆盖,后续用户删除80端口的流表,就导致此处的80个端口网络不通。因此,无论流表其中的cookie是否相同,都会产生交互错误。所以发明人发现现有技术中至少存在如下问题,由于网络中设备状态无法识别,则会出现数据交互出现错误的技术问题。
发明内容
本发明提供了一种状态识别信息生成方法,该方法包括:
接收具有配置信息的配置指令,其中,所述配置信息包括进行本地设备配置的本地配置信息和进行所述本地设备网络架构配置的网络配置信息;
根据所述本地配置信息和所述网络配置信息分别对所述本地设备以及其网络架构进行配置得到配置设备,其中,所述配置设备为符合所述配置信息配置的本地设备;
根据所述配置设备的本地配置和网络架构生成状态识别信息,其中,所述状态识别信息为记录所述配置设备对应本地配置和网络架构的数据信息。
可选地,所述根据所述本地配置信息和所述网络配置信息分别对所述本地设备以及其网络架构进行配置得到配置设备步骤后,该方法还包括:
接收符合预定规则的订阅指令;
根据所述订阅指令订阅网络中其他设备对应的网络架构;
获取网络中的目标设备,其中,所述目标设备为与所述配置设备具有相同网络架构的其他设备;
监控网络中的所述目标设备。
可选地,所述监控网络中的所述目标设备步骤后,该方法还包括:
将所述目标设备对应本地配置的数据信息记录在所述本地设备的所述状态识别信息中。
可选地,所述状态识别信息为代码流表,其中,所述代码流表中记录有流表标识码、本地设备对应的本地配置数据信息和网络架构数据信息,以及所述目标设备对应的本地配置数据信息。
可选地,所述本地配置信息为创建虚拟机的配置信息。
可选地,所述网络配置信息为创建VPC网络架构的配置信息和/或创建网络安全组的配置信息。
本发明还提供了另外一种状态识别信息生成方法,该方法包括:
根据用户请求创建具有配置信息的配置指令,其中,所述配置信息包括进行本地设备配置的本地配置信息和进行所述本地设备网络架构配置的网络配置信息;
将所述配置指令发送至本地设备,以使所述本地设备接收具有配置信息的所述配置指令,其中,所述配置信息包括进行本地设备配置的本地配置信息和进行所述本地设备网络架构配置的网络配置信息;并根据所述本地配置信息和所述网络配置信息分别对所述本地设备以及其网络架构进行配置得到配置设备,其中,所述配置设备为符合所述配置信息配置的本地设备;根据所述配置设备的本地配置和网络架构生成状态识别信息,其中,所述状态识别信息为记录所述配置设备对应本地配置和网络架构的数据信息。
可选地,所述根据所述本地配置信息和所述网络配置信息分别对所述本地设备以及其网络架构进行配置得到配置设备步骤后,该方法包括:
根据用户请求创建符合预定规则的订阅指令;
将所述订阅指令发送至所述本地设备,以使所述本地设备接收符合预定规则的订阅指令;根据所述订阅指令订阅网络中其他设备对应的网络架构;获取网络中的目标设备,其中,所述目标设备为与所述配置设备具有相同网络架构的其他设备;监控网络中的所述目标设备。
本申请提供了一种状态识别信息生成系统,该系统包括:控制器和ETCD组件,以及本地设备;
所述控制器,用于根据用户请求创建具有配置信息的配置指令,并将所述配置指令发送给所述本地设备,其中,所述配置信息包括进行本地设备配置的本地配置信息和进行所述本地设备网络架构配置的网络配置信息;
所述ETCD组件,用于获取所述本地设备中接收所述控制器发送的具有配置信息的所述配置指令;并根据所述本地配置信息和所述网络配置信息分别对所述本地设备以及其网络架构进行配置得到配置设备,其中,所述配置设备为符合所述配置信息配置的本地设备;还用于根据所述配置设备的本地配置和网络架构生成状态识别信息,其中,所述状态识别信息为记录所述配置设备对应本地配置和网络架构的数据信息。
可选地,该系统还包括:至少一台其他设备;
所述控制器,还用于根据用户请求创建订阅指令发送给本地设备;
所述ETCD组件,还用于接收符合预定规则的订阅指令;根据所述订阅指令订阅网络中其他设备对应的网络架构;获取网络中的目标设备,其中,所述目标设备为与所述配置设备具有相同网络架构的其他设备;监控网络中的所述目标设备。
可选地,所述数据处理ETCD组件,还用于将所述目标设备对应本地配置的数据信息记录在所述本地设备的所述状态识别信息中。
本申请提供了一种状态识别信息生成装置,该装置包括:
接收模块,用于接收具有配置信息的配置指令,其中,所述配置信息包括进行本地设备配置的本地配置信息和进行所述本地设备网络架构配置的网络配置信息;
配置模块,用于根据所述本地配置信息和所述网络配置信息分别对所述本地设备以及其网络架构进行配置得到配置设备,其中,所述配置设备为符合所述配置信息配置的本地设备;
生成模块,用于根据所述配置设备的本地配置和网络架构生成状态识别信息,其中,所述状态识别信息为记录所述配置设备对应本地配置和网络架构的数据信息。
可选地,该装置还包括:
所述接收模块,用于接收符合预定规则的订阅指令;
订阅模块,用于根据所述订阅指令订阅网络中其他设备对应的网络架构;
获取模块,用于获取网络中的目标设备,其中,所述目标设备为与所述配置设备具有相同网络架构的其他设备;
监控模块,用于监控网络中的所述目标设备。
可选地,该装置还包括:
记录模块,用于将所述目标设备对应本地配置的数据信息记录在所述本地设备的所述状态识别信息中。
可选地,本申请还提供了另一种状态识别信息生成装置,所述装置包括:处理器和存储器;
所述存储器中存储有可被所述处理器执行的应用程序,用于使得所述处理器执行所述的状态识别信息生成方法的步骤。
可选地,该程序被处理器执行时实现所述的状态识别信息生成方法的步骤。
如上可见,基于上述实施例,通过对本地配置和网络架构数据信息的记录使网络中设备可以相互识别,解决了由于网络设备之间数据交互无法识别产生数据交互错误的技术问题。
附图说明
图1为本申请一个实施例应用场景100的示意图;
图2为本申请一个实施例应用场景200的示意图;
图3为本申请一个实施例中状态识别信息生成方法流程300的示意图;
图4为本申请一个实施例中状态识别信息生成方法流程400的示意图;
图5为本申请一个实施例中状态识别信息生成方法流程500的示意图;
图6为本申请一个实施例中状态识别信息生成方法流程600的示意图;
图7为本申请一个实施例中状态识别信息生成方法流程700的示意图;
图8为本申请一个实施例中代码流表的编码数据结构示意图;
图9为本申请一个实施例中ETCD key一维度数据结构示意图;
图10为本申请一个实施例中ETCD key另一维度数据结构示意图;
图11为本申请一个实施例中状态识别信息生成装置的架构800示意图;
图12为本申请一个实施例中状态识别信息生成装置的架构900示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
图1为本申请一个实施例应用场景100的示意图。如图1所示,在本实施例中,控制器110(即Open vSwitch controller,其中,Open vSwitch为开放虚拟交换标准)。用户或控制器110通过设置生成配置信息,配置信息包括本地配置信息和网络配置信息,其中,本地配置信息即为对本地设备120进行自身数据配置的数据信息,网络配置信息即为对本地设备120进行网络架构配置的数据信息。将配置信息生成对应的配置指令发送给本地设备120或者网络中的其他设备130,图1中的ETCD组件140将本地设备120和/或其他设备130接收到的配置信息进行对应的本地配置或网络架构配置,需要指出的是ETCD组件140可以设置在一个独立设备中单独运行,也可以安装在网络中其中一台本地设备或者其他设备中运行。
ETCD组件140是在容器领域中服务发现和数据存储系统。
图2为本申请一个实施例应用场景200的示意图。如图2所示,基于图1中的实施例,在本实施例是本发明线程的示意图,其中,网页服务器(Web Server)接收配置信息,采用openflow的方式生成配置信息的数据,同时ETCD组件140获取配置信息的数据以ETCD组件140监控和状态监视器实现发现服务的目的。在虚拟机场景中,可以设置虚拟机管理模块,虚拟机管理模块可以采用Libvirt实现,对状态监视器中本地设备120的状态进行控制管理。
OpenFlow,一种网上通信协议,属于数据链路层,能够控制网上交换器或路由器的转发平面(forwarding plane),借此改变网上数据包所走的网上路径。
Libvirt是用于管理虚拟化平台的开源的API,后台程序和管理工具。
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
图3为本申请一个实施例中状态识别信息生成方法流程300的示意图,如图3所示,在一个实施例中,本申请提供了一种状态识别信息生成方法,该方法包括:
S101,接收具有配置信息的配置指令,其中,所述配置信息包括进行本地设备配置的本地配置信息和进行所述本地设备网络架构配置的网络配置信息;
在本步骤中需要接收具有配置信息的配置指令,其中配置信息为预设的配置要求。配置要求可以是由用户设定的,也可以是控制器中的程序生成的。其中,配置信息包括两部分,一部分是对本地进行的配置(即本地配置),另一部分是对网络架构进行的配置(即网络架构),需要指出的是本地配置和网络架构配置均是针对一台设备而言的,即上述的本地设备。本地设备是一个抽象的概念,并非一定是一个独立的设备,也有可能是在网络架构下设置的一个虚拟数据节点。
S102,根据所述本地配置信息和所述网络配置信息分别对所述本地设备以及其网络架构进行配置得到配置设备,其中,所述配置设备为符合所述配置信息配置的本地设备;
在本步骤中根据本地配置信息和网络配置信息对本地设备进行配置。对应的,对本地设备的配置是指对其本身的配置和其网络架构的配置,本地设备配置完成后将会变成在预定网络架构中符合预定本地配置的配置设备。
S103,根据所述配置设备的本地配置和网络架构生成状态识别信息,其中,所述状态识别信息为记录所述配置设备对应本地配置和网络架构的数据信息。
在本步骤中根据配置设备的本地配置和网络架构数据生成状态识别信息,状态识别信息中记录着可在网络中调用读取对应本地配置和网络架构的数据信息。
在本实施例中,可以通过接收具有配置信息的配置指令,根据配置指令去配置网络中的本地设备。配置本地设备包括本地配置和网络架构配置两个层面,根据配置信息对本地设备进行配置后,得到符合配置信息的配置设备。再将配置设备的配置状态进行记录生成状态识别信息,其中的状态识别信息同样包括本地配置和网络架构两个层面的数据信息。根据状态识别信息,可以获取此时本地设备的状态和其网络架构的状态,利用这些数据信息在之后的数据交互中,则可以对本地设备进行标识,根据本地设备的标识不会再产生其在网络中数据交互的混淆,进而避免交互数据时出现的错误。
图4为本申请一个实施例中状态识别信息生成方法流程400的示意图,如图4所示,在一个实施例中,本申请提供了一种状态识别信息生成方法,所述根据所述本地配置信息和所述网络配置信息分别对所述本地设备以及其网络架构进行配置得到配置设备步骤后,该方法包括:
S201,接收符合预定规则的订阅指令;
本步骤中,在配置设备建立的网络架构中,可以接收订阅指令。此处的订阅指令是为了对网络结构中的其他设备进行监控的指令。
S202,根据所述订阅指令订阅网络中其他设备对应的网络架构;
本步骤中,在网络中订阅其他设备对应的网络架构。需要指出的是其他设备可能是网络中的一台或多台,可能是其中一部分其他设备或者所有的其他设备,以上判断要根据订阅指令中的预先设定进行分别。
S203,获取网络中的目标设备,其中,所述目标设备为与所述配置设备具有相同网络架构的其他设备;
本步骤中,相同网络架构可以是指其他设备与本地设备属于同一安全组或者同一云。同理,此处的其他设备可以是一台或多台。
S204,监控网络中的所述目标设备。
本步骤中,当确定网络中的目标设备和本地设备属于相同的网络架构时,也就是说,目标设备应属于同样的安全组或同一云,那么则可以通过网络去实时监控目标设备。
在本实施例中,通过订阅指令获取在同一网络中具有相同网络架构的目标设备,目标设备与本地设备可以属于相同的安全组或者同一云。然后,监控网络中的其他设备。
在一实施例中,所述监控网络中的所述目标设备步骤后,该方法还包括:
将所述目标设备对应本地配置的数据信息记录在所述本地设备的所述状态识别信息中。
在本实施例中,本地设备为了实现可以提供目标设备的本地配置,可以将监控下目标设备的本地配置数据信息记录在自身的识别信息状态中,以便从网络中可以通过本地设备获取目标设备的本地配置,进而通过之后发送控制指令至本地设备,再由本地设备对目标设备进行进一步的网络调用或者控制。
在一实施例中,所述状态识别信息为代码流表,其中,所述状态识别信息为代码流表,其中,所述代码流表中记录有流表标识码、本地设备对应的本地配置数据信息和网络架构数据信息,以及所述目标设备对应的本地配置数据信息。
本实施例提供了一种代码流表形式状态识别信息的具体实施方式。
在一实施例中,所述本地配置信息为创建虚拟机的配置信息。
本实施例提供了一种本地配置为实现创建虚拟机配置的具体实施方式。
在一实施例中,所述网络配置信息为创建VPC网络架构的配置信息和/或创建网络安全组的配置信息。
本实施例提供了一种网络架构具体配置的实施方式。
图5为本申请一个实施例中状态识别信息生成方法流程500的示意图,如图5所示,本申请还提供了一种状态识别信息生成方法,该方法包括:
S301,根据用户请求创建具有配置信息的配置指令,其中,所述配置信息包括进行本地设备配置的本地配置信息和进行所述本地设备网络架构配置的网络配置信息;
在本步骤中,用户可以直接对配置信息进行设置,也可以根据预定的设置自动生成配置指令。
S302,将所述配置指令发送至本地设备,以使所述本地设备接收具有配置信息的所述配置指令,其中,所述配置信息包括进行本地设备配置的本地配置信息和进行所述本地设备网络架构配置的网络配置信息;并根据所述本地配置信息和所述网络配置信息分别对所述本地设备以及其网络架构进行配置得到配置设备,其中,所述配置设备为符合所述配置信息配置的本地设备;根据所述配置设备的本地配置和网络架构生成状态识别信息,其中,所述状态识别信息为记录所述配置设备对应本地配置和网络架构的数据信息。
在本步骤中,在本步骤中将具有配置信息和配置指令发送至本地设备,进而本地设备根据上述实施例中的步骤生成状态识别信息。
本实施例提供了一种生成具有配置信息的配置指令的具体实施方式,用户或根据预先设置生成具有配置信息的配置指令,并将配置指令发送给本地设备。本地设备根据本地配置信息和网络配置信息分别对本地设备以及其网络架构进行配置得到配置设备,其中,配置设备为符合配置信息配置的本地设备,并根据配置设备的本地配置和网络架构生成状态识别信息,其中,状态识别信息为记录配置设备对应本地配置和网络架构的数据信息。
图6为本申请一个实施例中状态识别信息生成方法流程600的示意图,如图6所示,在一实施例中,所述根据所述本地配置信息和所述网络配置信息分别对所述本地设备以及其网络架构进行配置得到配置设备步骤后,该方法包括:
S401,根据用户请求创建符合预定规则的订阅指令;
本步骤中提供了一种创建订阅指令的具体实施方式,订阅指令可以是用户进行的设置,也可以是自动根据预先设定生成的订阅指令。
S402,将所述订阅指令发送至所述本地设备,以使所述本地设备接收符合预定规则的订阅指令;根据所述订阅指令订阅网络中其他设备对应的网络架构;获取网络中的目标设备,其中,所述目标设备为与所述配置设备具有相同网络架构的其他设备;监控网络中的所述目标设备。
本步骤中提供了一种创建订阅指令,再将订阅指令发送至本地设备以使本地设备进行后续步骤的实施方式。
本实施例中提供了一种创建订阅指令,通过订阅指令使本地设备接收符合预定规则的订阅指令;根据订阅指令订阅网络中其他设备的状态识别信息;根据其他设备的状态识别信息获取其中的目标设备,其中,目标设备为与本地设备具有相同网络架构数据信息的其他设备;监控网络中的目标设备的具体实施方式。
工作过程和基本原理:
为了更好的说明本发明的技术方案,以下以创建虚拟机为例,对本发明的技术方案进行说明,需要指出的是创建虚拟机的实施例只是为更好说明本发明,并非是对本发明的具体限定。
图7为本申请一个实施例中状态识别信息生成方法流程700的示意图,如图7所示,在一实施例中,该方法包括:
S501,接收具有配置信息的配置指令,其中,所述配置信息包括进行本地设备配置的本地配置信息和进行所述本地设备网络架构配置的网络配置信息;
可以利用容器网络领域普遍应用的ETCD机制来进行服务发现,虚拟网络采用ETCD组件来进行服务发现。具体来说,将控制器把要创建的本地配置信息和网络配置信息以二维代码的形式写入到ETCD key中。其中,本地配置信息为数据结构中的一维中,网络配置信息也同时记录在另一维度的数据结构中,采用上述方式可以避免由于ETCD key设置过于简单,只用存储单一键值,缺少其中一个维度的数据进而无法实现ETCD带来的轻量级服务发现机制。具体的运作方式后文中将进行详细的说明,在此也就不再赘述了。
其中,本地配置信息可以理解为创建虚拟机的信息,包括IP-address(IP地址)、mac(Media Access Control,为媒体访问控制)、宿主机IP-address(IP地址)、虚拟机后端设备名称等,将上述对应创建网络vpc网络架构的配置信息写入到ETCD key的第一维度中,如:/ovs/v1/nodes/12.12.12.1/vms/1000/192.168.100.10,ETCD key的第一维度中里面包含该宿主机的IP地址。
vni,即VXLAN Network Identifier,VXLAN网络标识符。
vpc,即Virtual Private Cloud,私有云,是针对公有云的基础网络(经典网络)来定义的一种概念。
本地网络配置信息可以理解为创建vpc网络架构的配置信息和/或者网络安全组的配置信息。其中对应创建网络vpc网络架构的配置信息包括subnet(子网)、gateway(路径入口)、vni(VXLAN网络标识符)等,比如要创建vni为1000的vpc,其配置信息写入到ETCDkey的第一维度的中,如:/ovs/v1/nodes/12.12.12.1/vpcs/1000,第一维度的ETCD key里面包含该宿主机的IP地址。
S502,根据所述本地配置信息和所述网络配置信息分别对所述本地设备以及其网络架构进行配置得到配置设备,其中,所述配置设备为符合所述配置信息配置的本地设备;
根据上述步骤中的ETCD key对本地设备进行配置,也就是说创建虚拟机和本地设备的网络架构。
S503,接收符合预定规则的订阅指令;
控制器根据预定规则创建订阅指令,将创建的订阅指令发送至本地设备。本地设备接收订阅指令,订阅指令的目的在于使本地设备订阅网络中的其他设备。
S504,根据所述订阅指令订阅网络中其他设备对应的网络架构;
其他设备中同时也记录有其对应的网络架构数据信息。
S505,获取网络中的目标设备,其中,所述目标设备为与所述配置设备具有相同网络架构的其他设备;
本步骤中的网络架构数据信息相同可以理解为本地设备的vpc网络架构或者安全组SG(即Secure Group)与其他设备相同,符合上述描述的其他设备为目标设备,目标设备可能为其他设备中的一台或多台。
S506,监控网络中的所述目标设备。
本步骤是为了实现对目标设备的监控,需要指出的是只有属于相同vpc网络架构或者安全组的其他设备才能被监控。
如订阅key:/etcdctl watch--prefix/ovs/v1/vpcs/1000,本地设备就已经在监控vni为1000为vpc的目标设备了。
S507,将所述目标设备对应本地配置的数据信息记录在所述本地设备的所述状态识别信息中。
状态识别信息不但记录本地设备的本地配置数据信息和网络架构数据信息。还可以记录目标设备的本地配置的数据信息。
比如由控制器将ETCD key上保存的本地设备的虚拟机配置信息和vpc配置信息,即本地配置和网络架构的数据信息写入到ETCD key的第二维度上。
如:/ovs/v1/vpcs/1000;那么本地设备的本地配置数据信息为/ovs/v1/vpcs/1000,在本地设备上可以保存为/ovs/v1/vpcs/1000/vms/192.168.100.10,可以自动的将目标设备对应的本地配置数据信息记录在本地设备的状态识别信息中。目标设备此时可以通过上述方法创建虚拟机,从而生成对应的状态识别信息。
图8为本申请一个实施例中代码流表的编码数据结构示意图,如图8所示,以下提供一种代码流表形式状态识别信息的具体设计方案。
cookie取值是64位宽度,表示为16进制数:0xFFFFFFFFFFFFFF,分别对应cookie[0..63],下面对vpc组网涉及的cookie进行如下划分设计:
系统流表(即流表标识码),其60~63bit表示为16进制的0x0,16~19bit表示为tableid,0~15bit表示为同一table内的流表序号。
vpc粒度流表(即网络架构数据信息),其60~63bit表示为16进制的0x1,36~59bit表示为vni,32~35bit作为预留bit置为0,剩下低位的0~31bit置为0。
vm粒度流表1(即本地配置数据信息),其60~63bit表示为16进制的0x2,36~59bit表示为vni,32~35bit作为预留bit置为0,剩下低位的0~31bit表示为本宿主机上的虚拟机IP地址。(此处的宿主机可以理解为本地设备)
vm粒度流表2(即目标设备对应的本地配置数据信息),其60~63bit表示为16进制的0x3,36~59bit表示为vni,32~35bit作为预留bit置为0,剩下低位的0~31bit表示为属于同一个vpc的别的宿主机上的虚拟机IP地址。(此处别的宿主机可以理解为其他设备)
安全组相关的流表(即网络架构数据信息),其60~63bit表示为16进制的0x4,36~59bit表示为vni,24~35bit表示为安全组id,8~23bit表示为安全组规则的priority,剩下的0~7bit表示为安全组规则的rule id。
按照上面的cookie设计,下面给出生成对应cookie的算法。
系统流表的cookie配置;
表格ID:XX;
流表索引:XX
表格ID所占数位;
cookie的配置包括表格ID和流表索引,以及相关配置。
从而可以组成如下流表,进行下发
vpc粒度流表的cookie,
流表开始配置数值;
vni配置;
vpc起始配置;
cookie还需要配置vni配置和流表起始配置;
从而可以组成如下流表,进行下发
"cookie本身配置,
vm粒度流表1的cookie;
流表起始配置;
vni配置
虚拟机IP配置;
虚拟机IP数据类型配置;
生成对应的cookie
从而可以组成如下流表,进行下发
目标设备粒度流表2的cookie,
流表起始配置;
vni配置;
目标设备的IP设置;
生成对应的cookie。
从而可以组成如下流表,进行下发
如上述配置的cookie;
安全组相关流表的cookie,
配置安全组;
从而可以组成如下流表,进行下发
配置安全组的cookie;
通过上面这些cookie的设计,再借助bit位的操作,可以反向求出组成cookie的各个字段,
同样也可以对流表进行批量操作,比如要删除某个vpc粒度的流表,通过bit位的操作,从cookie中取出vni字段,就可以批量删除这些流表。
按照上面cookie的设计,还可以避免流表的冲突或者覆盖。
比如,添加安全组规则时,可以出现如下场景,用户先下发了一条规则去开放80端口,后又添加一条规则,去开放50~100端口(范围),这时可以让rule id加1,生成1条cookie不同的规则去开放80端口,从而有效地避免了流表的冲突,也避免了对原有流表的覆盖,用户删除1条80端口的规则,不会导致80端口无法访问。
图9为本申请一个实施例中ETCD key一维度数据结构示意图,如图9所示,以下提供一种ETCD key的具体数据结构第一维度的设计:
ETCD key设计为两个维度,一是node维度,二是vpc维度,两个维度的value具有交叉关联的关系。
node维度的key,主要指本地设备上的信息,包括vm信息以及vpc信息,vm主要指本地设备上面包括有哪些vm,vpc信息指本宿主机上包括有哪些vpc,vpc由vni来标识,如下图显示。
按照上图的架构,可以设计如下具有交叉关联的key:
标识某个node包含有哪些虚拟机;
标识某个node包含有哪些vpc
标识某个虚拟机属于哪个node的哪个vpc。
图10为本申请一个实施例中ETCD key另一维度数据结构示意图,如图9所示,以下提供一种ETCD key的具体数据结构第二维度的设计:
vpc(由vni来标识)维度的key,包括vm信息及SG安全组信息,分别表明该vpc包括哪些vm、包括哪些安全组,其中安全组又包括vm信息及规则信息,
按照上图的架构,可以设计如下具有交叉关联的key:
标识某个vpc下面有哪些虚拟机;
标识某个vpc包含有哪些安全组;
标识某个安全组下面包括有哪些vm
标识某个vm属于哪个vpc的哪个安全组
标识某个安全组有哪些规则
标识某条规则属于哪个安全组
通过上面etcd二维key的设计,就可以进行如下搜索,
某个宿主机上有哪些vpc;
某个宿主机上有哪些vm;
某个vpc包含有哪些vm;
某个vm属于哪个宿主机的哪个vpc;
某个vpc包含有哪些安全组;
某个安全组包含有哪些vm;
某个vm属于哪个vpc的哪个安全组;
某个vm属于哪个宿主机的哪个vpc的哪个安全组;
某个安全组具有哪些规则;
某条规则属于哪个安全组;
这样,在虚拟网络,就可以实现类似基于rabbitMQ的机制进行服务发现。
另外,其他关于删除虚拟机、把虚拟机添加到安全组、把虚拟机从安全组里面移除出来、添加安全组规则、删除安全组规则等操作时,也可以套用上述方法。
在一实施例中,本申请还提供了一种状态识别信息生成系统,该系统包括:控制器和ETCD组件,以及本地设备;
所述控制器,用于根据用户请求创建具有配置信息的配置指令,并将所述配置指令发送给所述本地设备,其中,所述配置信息包括进行本地设备配置的本地配置信息和进行所述本地设备网络架构配置的网络配置信息;
所述ETCD组件,用于获取所述本地设备中接收所述控制器发送的具有配置信息的所述配置指令;并根据所述本地配置信息和所述网络配置信息分别对所述本地设备以及其网络架构进行配置得到配置设备,其中,所述配置设备为符合所述配置信息配置的本地设备;还用于根据所述配置设备的本地配置和网络架构生成状态识别信息,其中,所述状态识别信息为记录所述配置设备对应本地配置和网络架构的数据信息。
在一实施例中,该系统还包括:至少一台其他设备;
所述控制器,还用于根据用户请求创建订阅指令发送给本地设备;
所述ETCD组件,还用于接收符合预定规则的订阅指令;根据所述订阅指令订阅网络中其他设备对应的网络架构;获取网络中的目标设备,其中,所述目标设备为与所述配置设备具有相同网络架构的其他设备;监控网络中的所述目标设备。
在一实施例中,所述数据处理ETCD组件,还用于将所述目标设备对应本地配置的数据信息记录在所述本地设备的所述状态识别信息中。
图11为本申请一个实施例中状态识别信息生成装置的架构800示意图,如图11所示,在一实施例中,本申请还提供了一种状态识别信息生成装置,该装置包括:
接收模块101,用于接收具有配置信息的配置指令,其中,所述配置信息包括进行本地设备配置的本地配置信息和进行所述本地设备网络架构配置的网络配置信息;
配置模块102,用于根据所述本地配置信息和所述网络配置信息分别对所述本地设备以及其网络架构进行配置得到配置设备,其中,所述配置设备为符合所述配置信息配置的本地设备;
生成模块103,用于根据所述配置设备的本地配置和网络架构生成状态识别信息,其中,所述状态识别信息为记录所述配置设备对应本地配置和网络架构的数据信息。
图12为本申请一个实施例中状态识别信息生成装置的架构900示意图。如图12所示,在一实施例中,该装置还包括:
所述接收模块101,用于接收符合预定规则的订阅指令;
订阅模块202,用于根据所述订阅指令订阅网络中其他设备对应的网络架构;
获取模块203,用于获取网络中的目标设备,其中,所述目标设备为与所述配置设备具有相同网络架构的其他设备;
监控模块204,用于监控网络中的所述目标设备。
在一实施例中,该装置还包括:
记录模块301,用于将所述目标设备对应本地配置的数据信息记录在所述本地设备的所述状态识别信息中。
在一实施例中,本申请还提供了一种状态识别信息生成装置,所述装置包括:处理器和存储器;
所述存储器中存储有可被所述处理器执行的应用程序,用于使得所述处理器执行所述的状态识别信息生成的步骤。
在一实施例中,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的状态识别信息生成步骤。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (13)
1.一种状态识别信息生成方法,其特征在于,该方法包括:
接收具有配置信息的配置指令,其中,所述配置信息包括进行本地设备配置的本地配置信息和进行所述本地设备网络架构配置的网络配置信息;
根据所述本地配置信息和所述网络配置信息分别对所述本地设备以及其网络架构进行配置得到配置设备,其中,所述配置设备为符合所述配置信息配置的本地设备;
根据所述配置设备的本地配置和网络架构生成状态识别信息,其中,所述状态识别信息为记录所述配置设备对应本地配置和网络架构的数据信息;所述状态识别信息用于在数据交互时识别所述配置设备;
其中,所述根据所述本地配置信息和所述网络配置信息分别对所述本地设备以及其网络架构进行配置得到配置设备步骤后,该方法还包括:
监控网络中的目标设备,其中,所述目标设备为与所述配置设备具有相同网络架构的其他设备;
将所述目标设备对应本地配置的数据信息记录在所述本地设备的所述状态识别信息中。
2.根据权利要求1所述的状态识别信息生成方法,其特征在于,所述监控网络中的目标设备,包括:
接收符合预定规则的订阅指令;
根据所述订阅指令订阅网络中其他设备对应的网络架构;
获取网络中的目标设备;
监控网络中的所述目标设备。
3.根据权利要求1所述的状态识别信息生成方法,其特征在于,所述状态识别信息为代码流表,其中,所述代码流表中记录有流表标识码、本地设备对应的本地配置数据信息和网络架构数据信息,以及所述目标设备对应的本地配置数据信息。
4.根据权利要求1至3任一项所述的状态识别信息生成方法,其特征在于,所述本地配置信息为创建虚拟机的配置信息。
5.根据权利要求4所述的状态识别信息生成方法,其特征在于,所述网络配置信息为创建VPC网络架构的配置信息和/或创建网络安全组的配置信息。
6.一种状态识别信息生成方法,其特征在于,该方法包括:
根据用户请求创建具有配置信息的配置指令,其中,所述配置信息包括进行本地设备配置的本地配置信息和进行所述本地设备网络架构配置的网络配置信息;
将所述配置指令发送至本地设备,以使所述本地设备接收具有配置信息的所述配置指令,其中,所述配置信息包括进行本地设备配置的本地配置信息和进行所述本地设备网络架构配置的网络配置信息;并根据所述本地配置信息和所述网络配置信息分别对所述本地设备以及其网络架构进行配置得到配置设备,其中,所述配置设备为符合所述配置信息配置的本地设备;根据所述配置设备的本地配置和网络架构生成状态识别信息,其中,所述状态识别信息为记录所述配置设备对应本地配置和网络架构的数据信息;所述状态识别信息用于在数据交互时识别所述配置设备;
其中,所述根据所述本地配置信息和所述网络配置信息分别对所述本地设备以及其网络架构进行配置得到配置设备步骤后,该方法还包括:
监控网络中的目标设备,其中,所述目标设备为与所述配置设备具有相同网络架构的其他设备;
将所述目标设备对应本地配置的数据信息记录在所述本地设备的所述状态识别信息中。
7.根据权利要求6所述的状态识别信息生成方法,其特征在于,所述监控网络中的目标设备,包括:
根据用户请求创建符合预定规则的订阅指令;
将所述订阅指令发送至所述本地设备,以使所述本地设备接收符合预定规则的订阅指令;根据所述订阅指令订阅网络中其他设备对应的网络架构;获取网络中的目标设备;监控网络中的所述目标设备。
8.一种状态识别信息生成系统,其特征在于,该系统包括:控制器和ETCD组件,以及本地设备;
所述控制器,用于根据用户请求创建具有配置信息的配置指令,并将所述配置指令发送给所述本地设备,其中,所述配置信息包括进行本地设备配置的本地配置信息和进行所述本地设备网络架构配置的网络配置信息;
所述ETCD组件,用于获取所述本地设备中接收所述控制器发送的具有配置信息的所述配置指令;并根据所述本地配置信息和所述网络配置信息分别对所述本地设备以及其网络架构进行配置得到配置设备,其中,所述配置设备为符合所述配置信息配置的本地设备;还用于根据所述配置设备的本地配置和网络架构生成状态识别信息,其中,所述状态识别信息为记录所述配置设备对应本地配置和网络架构的数据信息;所述状态识别信息用于在数据交互时识别所述配置设备;
其中,该系统还包括:至少一台其他设备;
所述ETCD组件,还用监控网络中的目标设备;其中,所述目标设备为与所述配置设备具有相同网络架构的其他设备;并将所述目标设备对应本地配置的数据信息记录在所述本地设备的所述状态识别信息中。
9.根据权利要求8所述的状态识别信息生成系统,其特征在于,
所述控制器,还用于根据用户请求创建订阅指令发送给本地设备;
所述ETCD组件,还用于接收符合预定规则的订阅指令;根据所述订阅指令订阅网络中其他设备对应的网络架构;获取网络中的目标设备,监控网络中的所述目标设备。
10.一种状态识别信息生成装置,其特征在于,该装置包括:
接收模块,用于接收具有配置信息的配置指令,其中,所述配置信息包括进行本地设备配置的本地配置信息和进行所述本地设备网络架构配置的网络配置信息;
配置模块,用于根据所述本地配置信息和所述网络配置信息分别对所述本地设备以及其网络架构进行配置得到配置设备,其中,所述配置设备为符合所述配置信息配置的本地设备;
生成模块,用于根据所述配置设备的本地配置和网络架构生成状态识别信息,其中,所述状态识别信息为记录所述配置设备对应本地配置和网络架构的数据信息;所述状态识别信息用于在数据交互时识别所述配置设备;
其中,该装置还包括:
监控模块,用于监控网络中的目标设备;其中,所述目标设备为与所述配置设备具有相同网络架构的其他设备;
记录模块,用于将所述目标设备对应本地配置的数据信息记录在所述本地设备的所述状态识别信息中。
11.根据权利要求10所述的状态识别信息生成装置,其特征在于,该装置还包括:
所述接收模块,用于接收符合预定规则的订阅指令;
订阅模块,用于根据所述订阅指令订阅网络中其他设备对应的网络架构;
获取模块,用于获取网络中的目标设备;
监控模块,用于监控网络中的所述目标设备。
12.一种状态识别信息生成装置,其特征在于,所述装置包括:处理器和存储器;
所述存储器中存储有可被所述处理器执行的应用程序,用于使得所述处理器执行如权利要求1至5中任一项所述的状态识别信息生成方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-5任一项所述的状态识别信息生成方法的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910205254.XA CN111726236B (zh) | 2019-03-18 | 2019-03-18 | 一种状态识别信息生成方法、系统、装置及其存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910205254.XA CN111726236B (zh) | 2019-03-18 | 2019-03-18 | 一种状态识别信息生成方法、系统、装置及其存储介质 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111726236A CN111726236A (zh) | 2020-09-29 |
| CN111726236B true CN111726236B (zh) | 2025-01-10 |
Family
ID=72563182
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201910205254.XA Active CN111726236B (zh) | 2019-03-18 | 2019-03-18 | 一种状态识别信息生成方法、系统、装置及其存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN111726236B (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120880980A (zh) * | 2025-09-25 | 2025-10-31 | 中移(苏州)软件技术有限公司 | 一种流表生成方法、装置、设备、存储介质及产品 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106230954A (zh) * | 2016-08-05 | 2016-12-14 | 广州市久邦数码科技有限公司 | 一种虚拟化管理平台 |
| CN108322325A (zh) * | 2017-06-27 | 2018-07-24 | 新华三云计算技术有限公司 | 一种虚拟机管理方法及装置 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8935692B2 (en) * | 2008-05-22 | 2015-01-13 | Red Hat, Inc. | Self-management of virtual machines in cloud-based networks |
| FI20135058A7 (fi) * | 2013-01-21 | 2014-07-22 | Tellabs Oy | Menetelmä ja ohjausjärjestelmä ohjelmallisesti määriteltävän verkon kontrolloimiseksi |
| CN103607430B (zh) * | 2013-10-30 | 2018-04-27 | 中兴通讯股份有限公司 | 一种网络处理的方法和系统及网络控制中心 |
| US10601661B2 (en) * | 2015-06-22 | 2020-03-24 | Arista Networks, Inc. | Tracking state of components within a network element |
| CN107528870B (zh) * | 2016-06-22 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 一种数据采集方法及其设备 |
| CN106790660B (zh) * | 2017-01-18 | 2018-05-22 | 咪咕视讯科技有限公司 | 一种实现分布式存储系统的部署方法及装置 |
| CN108449197B (zh) * | 2018-01-03 | 2020-11-20 | 北京大学 | 一种基于软件定义网络的多云环境网络构建方法 |
| CN108599998B (zh) * | 2018-04-04 | 2021-11-02 | 刘昱 | 网络的管控方法、装置及计算机可读存储介质 |
| CN109245928B (zh) * | 2018-09-12 | 2021-08-31 | 广州视源电子科技股份有限公司 | 配置信息的设置方法和装置、终端管理系统 |
-
2019
- 2019-03-18 CN CN201910205254.XA patent/CN111726236B/zh active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106230954A (zh) * | 2016-08-05 | 2016-12-14 | 广州市久邦数码科技有限公司 | 一种虚拟化管理平台 |
| CN108322325A (zh) * | 2017-06-27 | 2018-07-24 | 新华三云计算技术有限公司 | 一种虚拟机管理方法及装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111726236A (zh) | 2020-09-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11924072B2 (en) | Technologies for annotating process and user information for network flows | |
| JP6335363B2 (ja) | 仮想クラウドインフラストラクチャへの仮想セキュリティ装置アーキテクチャの提供 | |
| US7826393B2 (en) | Management computer and computer system for setting port configuration information | |
| CN111464566B (zh) | 介质、设备、系统和用于网络管理器计算机的方法 | |
| EP3675419A1 (en) | Method and apparatus for detecting network fault | |
| US20120294192A1 (en) | Method and apparatus of connectivity discovery between network switch and server based on vlan identifiers | |
| KR102132539B1 (ko) | 블록체인 기반의 안전한 소프트웨어 정의 네트워킹 시스템 및 그 방법 | |
| CN109981493B (zh) | 一种用于配置虚拟机网络的方法和装置 | |
| CN109962832A (zh) | 报文处理的方法和装置 | |
| WO2017152396A1 (zh) | 流表处理方法及装置 | |
| US10050859B2 (en) | Apparatus for processing network packet using service function chaining and method for controlling the same | |
| JP6248938B2 (ja) | 通信システム、仮想ネットワーク管理装置、仮想ネットワークの管理方法及びプログラム | |
| CN107404470A (zh) | 接入控制方法及装置 | |
| WO2015101119A1 (zh) | 一种流表匹配的方法、装置和OpenFlow交换系统 | |
| US9166947B1 (en) | Maintaining private connections during network interface reconfiguration | |
| CN116938564A (zh) | 在主机上收集和处理上下文属性 | |
| US20210099343A1 (en) | Multi-cluster management plane for network devices | |
| RU2602333C2 (ru) | Сетевая система, способ обработки пакетов и носитель записи | |
| CN106878106B (zh) | 一种可达性检测方法及装置 | |
| CN111726236B (zh) | 一种状态识别信息生成方法、系统、装置及其存储介质 | |
| CN119583443A (zh) | 报文转发方法、装置、计算机设备和可读存储介质 | |
| WO2015135312A1 (zh) | 一种实现sdn网络通信管理的方法及装置 | |
| US11526372B2 (en) | Hypervisor restart handling mechanism using random session numbers | |
| CN117914649B (zh) | 网络通信系统、方法及装置 | |
| CN118890327B (zh) | 基于FreeBSD开源协议栈的DPU类交换机端口模式数据传输方法及装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| CB02 | Change of applicant information | ||
| CB02 | Change of applicant information |
Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176 Applicant after: Jingdong Technology Holding Co.,Ltd. Address before: Room 221, 2nd floor, Block C, 18 Kechuang 11th Street, Daxing Economic and Technological Development Zone, Beijing, 100176 Applicant before: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd. |
|
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |