CN109587128A - 数据采集方法、网络设备及控制器 - Google Patents
数据采集方法、网络设备及控制器 Download PDFInfo
- Publication number
- CN109587128A CN109587128A CN201811432921.XA CN201811432921A CN109587128A CN 109587128 A CN109587128 A CN 109587128A CN 201811432921 A CN201811432921 A CN 201811432921A CN 109587128 A CN109587128 A CN 109587128A
- Authority
- CN
- China
- Prior art keywords
- data
- network equipment
- bundle
- operating condition
- condition data
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- 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/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种数据采集方法、网络设备及控制器,应用于使用Openflow协议的网络设备,所述方法包括:获取该网络设备的运行情况数据;通过Bundle消息机制将获取到的所述运行情况数据发送给数据分析平台进行分析。通过利用Openflow自身的Bundle消息机制将网络设备的运行情况数据发送给数据分析平台,从而可以不需要配置额外的采集器进行运行数据的上报。
Description
技术领域
本申请涉及网络通信技术领域,具体而言,涉及一种数据采集方法、网络设备及控制器。
背景技术
SDN(Software Defined Network,软件定义网络)是一种新型的网络架构技术,通过将网络的控制层面和转发层面分离开,由控制器对各网络设备的控制层面进行管理,实现对网络设备的路由和传输规则策略等的统一控制,从而使得对网络的流量控制可以更加灵活。
在SDN架构中可以引入数据分析平台,由数据分析平台获取各网络设备的运行状态或业务数据并进行分析或预测,然后控制器可以根据数据分析平台得出的分析或预测结果对网络进行智能控制或调整。
发明内容
第一方面,本申请提供一种数据采集方法,应用于使用Openflow协议的网络设备,所述方法包括:
获取该网络设备的运行情况数据;
通过Bundle消息机制将获取到的所述运行情况数据发送给数据分析平台进行分析。
可选地,在上述方法中,在所述获取该网络设备的运行情况数据的步骤之前,所述方法还包括:
接收控制器发送的Bundle创建消息;
根据所述Bundle创建消息创建用于获取并发送所述运行情况数据的数据采集Bundle任务。
可选地,在上述方法中,所述Bundle创建消息携带有所述数据分析平台的地址信息;所述通过Bundle消息机制将获取到的所述运行情况数据发送给数据分析平台进行分析的步骤,包括:
在所述数据采集Bundle任务中根据所述地址信息将所述运行情况数据发送给所述数据分析平台。
可选地,在上述方法中,所述数据采集Bundle任务每隔预设周期获取所述运行情况数据并向所述数据分析平台发送所述运行情况数据。
可选地,在上述方法中,所述方法还包括:
接收所述控制器发送的启动触发通知;
根据接收到的启动触发通知启动所述数据采集Bundle任务开始执行获取并发送所述运行情况数据。
可选地,在上述方法中,所述Bundle创建消息还携带有信息采集项目,所述信息采集项目用于表征需要向数据分析平台发送的运行情况数据;所述获取该网络设备的运行情况数据的步骤,包括:
在所述数据采集Bundle任务中获取与所述信息采集项对应的运行情况数据。
第二方面,本申请提供一种数据采集方法,应用于使用Openflow协议的控制器,该控制器与使用Openflow协议的网络设备通信连接,所述方法包括:
向网络设备发送配置信息,使所述网络设备根据所述Bundle创建消息创建数据采集Bundle任务,以通过该数据采集Bundle任务获取该网络设备的运行情况数据并通过Bundle消息机制将获取到的所述运行情况数据发送给数据分析平台。
可选地,在上述方法中,所述方法还包括:
接收所述数据分析平台对所述运行情况数据的分析结果;
根据所述分析结果向所述网络设备发送控制指令以控制所述网络设备的数据转发。
可选地,在上述方法中,所述方法还包括:
向所述网络设备发送启动触发通知,使所述网络设备触发所述数据采集Bundle任务开始执行获取并发送所述运行情况数据的动作。
第三方面,本申请提供一种网络设备,包括机器可读存储介质及处理器,所述机器可读存储介质中存储有机器可执行的指令,所述指令在被所述处理器执行时,促使所述网络设备实现本申请提供的数据采集方法。
第四方面,本申请提供一种控制器,包括机器可读存储介质及处理器,所述机器可读存储介质中存储有机器可执行的指令,所述指令在被所述处理器执行时,促使所述控制器实现本申请提供的数据采集方法。
基于上述提供的方案,本申请至少具有以下有益效果:
本申请实施例提供的数据采集方法、网络设备及控制器,通过利用Openflow自身的Bundle消息机制将网络设备的运行情况数据发送给数据分析平台,从而可以不需要配置额外的采集器进行数据的上报。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为一些实施方式提供的SDN网络的交互示意图;
图2为本申请实施例提供的SDN网络的交互示意图;
图3为本申请实施例提供的应用于网络设备的数据采集方法的流程示意图之一;
图4为本申请实施例提供的应用于网络设备的数据采集方法的流程示意图之二;
图5为本申请实施例提供的Bundle创建消息的示意图;
图6为本申请实施例提供的应用于控制器的数据采集方法的流程示意图;
图7为本申请实施例提供的网络设备的硬件结构示意图;
图8为本申请实施例提供的第一数据采集装置的功能模块示意图之一;
图9为本申请实施例提供的第一数据采集装置的功能模块示意图之二;
图10为本申请实施例提供的控制器的硬件结构示意图;
图11为本申请实施例提供的第二数据采集装置的功能模块示意图。
图标:10-网络设备;110-第一数据采集装置;111-数据获取模块;112-数据发送模块;113-创建消息接收模块;114-任务创建模块;115-触发接收模块;120-第一机器可读存储介质;130-第一处理器;140-第一系统总线;20-控制器;210-第二数据采集装置;211-创建消息发送模块;212-分析结果接收模块;213-控制模块;214-触发发送模块;220-第二机器可读存储介质;230-第二处理器;240-第二系统总线;30-数据分析平台。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
请参照图1,SDN架构中通常会采用Openflow协议实现控制器和网络设备之间的信息传递。采用Openflow协议的网络设备中配有Openflow模块,通过Openflow模块,网络设备可以与控制器进行数据交互,根据控制器下发的控制指令或流表进行数据转发。
在一些实施方式中,为了将网络设备的运行情况数据上报给分析平台进行分析,需要在网络设备中额外配置采集器进行数据上送。相对与Openflow模块,采集器运行在另外一个进程中,采集器会定时地从Openflow模块集与转发业务相关的状态数据,并获取交换机本身的运行情况数据,然后将这些数据上报给数据分析平台。
在这种方式中,需要对Openflow模块做出复杂的接口修改和配置,以使Openflow模块可以向采集器提供与转发业务相关的状态数据,并且有些网络设备可能不支持配置需要在额外的进程中运行的采集器。
Bundle消息机制是Openflow协议中自带的一种消息发送机制,通常用于网络设备和控制器之间的数据传递。网络设备采用Bundle消息机制可以将多个消息打包组合后发送给控制器,以保证消息的完整性和可靠性。
在本实施例中提供一种将Bundle消息机制运用到网络设备向数据分析平台上报运行情况数据的方案,从而利用Openflow协议本身机制实现运行情况数据的上报,并且不需要依赖额外的采集器。下面对本实施例提供的方案进行详细阐述。
请参照图2,图2为本实施例提供的一种SDN网络中的交互示意图。该SDN网络可以包括支持Openflow协议的网络设备10,如Openflow交换机。
该SDN网络中还可以包括用于对网络设备10的数据转发进行控制的控制器20。该控制器20可以与网络设备10建立Openflow连接,通过向网络设备10下发控制指令或下发流表项来控制网络设备10的数据转发。
该SDN网络中还可以包括可以与控制器20通信的数据分析平台30,该数据分析平台30可以用于对一个或多个网络设备10的运行情况数据进行例如逻辑判断、深度学习等分析,并生成分析结果。然后控制器20可以从数据分析平台30获取分析结果,根据这些分析结果对网络设备10的数据转发进行控制。
请参照图3,图3为应用于图2所示网络设备10的数据采集方法的流程示意图,下面对该方法的各个步骤进行详细阐述。
步骤S110,获取网络设备10的运行情况数据。
网络设备10的运行情况数据可以包括,但不仅限于,网络设备10的运行状态(例如端口状态、CPU状态、内存状态或硬盘状态等)、流表空间(flow tables)使用状态、业务流带宽状态(flow entry status)、流量监管状态(meter status)、队列状态(queues status)等。
步骤S120,通过Bundle消息机制将获取到的运行情况数据发送给数据分析平台30进行分析。
在本实施例中,网络设备10可以利用Openflow自身的Bundle消息机制将运行情况数据发送给数据分析平台30,从而可以在Openflow自身的进程中通过Bundle消息机制进行运行情况数据的上报,不需要在网络设备10中配置额外的采集器。
在本实施例中,数据分析平台30在接收到网络设备10发送的运行情况数据后,可以对一个或多个网络设备10的运行情况数据进行综合分析,并将分析结果发送给控制器20,控制器20再根据分析结果控制网络设备10的数据转发,从而更有效合理地进行业务部署或网络设备10转发资源的调配控制。
请再次参照图2,在本实施例中,网络设备10上可以预先创建数据采集Bundle任务,该数据采集Bundle任务可以为用于执行步骤S110及步骤S120的一个进程。
可选地,在一些场景中,网络设备10上送运行情况数据的频率可能比较低,为了节约网络设备10的数据处理资源,在本实施例的一种实施方式中,网络设备10可以按照预设的频率周期性地创建数据采集Bundle任务以执行步骤S110及步骤S120,并在执行完步骤S120后销毁该数据采集Bundle任务。
在另一些场景中,网络设备10上送运行数据的频率可能比较高,为避免频繁地执行数据采集Bundle任务的创建和销毁动作,在本实施例的另一种实施方式中,数据采集Bundle任务在被创建后可以持续地存在,并且可以在该数据采集Bundle任务中,按照预设的频率周期性地循环执行步骤S110及步骤S120,直到控制器20向网络设备10发送针对数据采集Bundle任务的销毁指令,该数据采集Bundle任务才会被销毁。
可选地,请参照图4,在本实施例中,网络设备10可以通过步骤S210和步骤S220预先建立数据采集Bundle任务。
步骤S210,接收控制器20发送的Bundle创建消息。
步骤S220,根据所述Bundle创建消息创建用于获取并发送所述运行情况数据的数据采集Bundle任务。
通常,控制器20可以通过向网络设备10下发Bundle创建消息(OFPBCT_OPEN_REQUEST)消息来控制网络设备10创建一般的Bundle任务。在本实施例中,对Bundle创建消息做出调整,使得通过Bundle创建消息可以告知网络设备10创建用于将运行情况数据发送给数据分析平台30的数据采集Bundle任务。下面对用于创建数据采集Bundle任务的Bundle创建消息进行详细介绍。
可选地,在本实施例中,为了与用于创建普通Bundle任务的Bundle创建消息相区别,控制器20发送的用于创建数据采集Bundle任务的Bundle创建消息中可以携带有预设的标识位。
例如,请参照图5,图5示出了本实施例提供的一种用于创建数据采集Bundle任务的Bundle创建消息的示例,该Bundle创建消息中包括用于指示Bundle任务中执行配置的flag字段,该flag字段中包括多个用于标识不同执行配置特性的比特位,如包括指示自动执行、按特定顺序执行、在特定时间执行等的标识位。本实施例中,在flag字段中新增一个OFPBF_COLLECT标识位用于指示创建的Bundle任务为数据采集Bundle任务,如图5所示,在flag字段中通过将1左移至第3个比特位(最低比特位为第0位),也就是通过将第3个比特位置1来表示该Bundle创建消息用于指示网络设备10创建数据采集Bundle任务。
通常的普通Bundle任务仅用于网络设备10向控制器20发送消息,在本实施例中,为了使创建的数据采集Bundle任务可以向数据分析平台30发送运行情况数据,可选地,Bundle创建消息中可以包括用于引导网络设备10与数据分析平台30建立通信的通道配置信息。例如,通道配置信息可以包括数据分析平台30的地址信息,该地址信息可以为数据分析平台30的IP地址,也可以是数据分析平台30的IP地址及用于接收运行情况数据的端口号,还可以是其他任何可以用于与数据分析平台30建立通信的标识信息。如此,在步骤S120中,数据采集Bundle任务可以根据该地址信息将获取到的运行情况数据发送给数据分析平台30。
通道配置信息还可以包括通信连接类型,通信连接类型用于引导网络设备10采用具体的连接方式(如采用UDP连接或TCP连接)向数据分析平台30发送运行情况数据。
以采用UDP连接为例,网络设备10可以在步骤S120中根据地址信息,采用UDP传输方式将运行情况数据直接发送给数据分析平台30。
以采用TCP连接为例,通道配置信息还可以包括通信角色,通信角色用于指示网络设备10作为客户端或作为服务端与数据分析平台30建立TCP连接进行通信。若通信角色指示网络设备10需要作为客户端,则网络设备10可以在数据采集Bundle任务中创建TCP类型的Socket客户端,向作为Socket服务端的数据分析平台30发起连接请求以建立TCP连接。若通信角色指示网络设备10需要作为服务端,则网络设备10可以在数据采集Bundle任务中创建TCP类型的Socket服务端,以等待作为Socket客户端的数据分析平台30根据预设策略主动发起Socket请求以建立TCP连接。
通道配置信息还可以包括其他用于指示网络设备10与数据分析平台30建立通信的信息,例如,用于指示采用IPv4地址或才用IPv6地址的IP类型、指示网络设备10发送运行情况数据时需要采用的源端口号等。
通常的Bundle创建消息中通过Bundle Property属性表示创建的Bundle任务的各项特性,请再次参照图5,本实施例中提供的Bundle创建消息中,在Bundle Property属性中新增了一种OFPBPT_SOCKET属性用于记录通道配置信息。Bundle Property属性中包括type字段,如图5所示,/*Bundle property type*/选中定义了type字段不同的值对应具体属性类型。当type字段的值为1时,表示该Bundle Property属性为OFPBPT_TIME属性,即时间属性(Time Property);当type字段的值为2时,表示该Bundle Property属性为用于记录通道配置信息的OFPBPT_SOCKET属性,即Socket属性(Socket Property);当type字段的值为0xFFF时,表示该Bundle Property属性为OFPBPT_EXPERIMENTER属性,即实验属性(Experimenter Property)。
其中,如图5中/*Bundle socket property*/所示,OFPBPT_SOCKET属性至少包括表示该Bundle Property属性为OFPBPT_SOCKET属性的type字段、指示网络设备10需作为客户端(client)或服务端(server)与数据分析平台30通信的role字段、表示需要采用TCP或UDP通信的connect_type字段、表示采用IPv4或IPv6地址的ip_type字段、指示网络设备10采用的本地端口号的local_port字段、表示数据分析平台30接收端口的目的端口号的remote_port字段、表示数据分析平台30的IP地址的remote_ip字段等。
可选地,针对不同的应用场景,需要数据分析平台30进行分析的数据可能不同,故在本实施例中,控制器20发下的Bundle创建消息中还可以携带待采集数据信息,待采集数据信息可以包括一个或多个信息采集项目,这些信息采集项目用于指示需要网络设备10采集并上送给数据分析平台30的运行情况数据,例如,可以包括网络设备10的运行状态(例如端口状态、CPU状态、内存状态或硬盘状态等)、流表空间使用状态、业务流带宽状态、流量监管状态、队列状态等信息中的一个或多个。在本实施例中,信息采集项目可以记录在OFPBPT_EXPERIMENTER属性中。
另外,Bundle创建消息中还可以包括采集频率、任务启动时间或任务持续时间等信息,可选地,这些信息也可记录在的OFPBPT_EXPERIMENTER属性中。
可选地,在一种实施方式中,根据Bundle的固有机制,在创建数据采集Bundle任务后,网络设备10需要在接收到控制器20发送的启动触发通知(OFPBCT_COMMIT_REQUEST)时开始执行相应的工作,即在接收到启动触发通知时开始执行步骤S110和步骤S120。在另一种实施方式中,网络设备10也可以在创建数据采集Bundle任务之后立即开始执行步骤S110和步骤S120。
基于上述设计,本实施例中的网络设备10可以通过Openflow自身的Bundle消息机制实现将运行情况数据发送给数据分析平台30,不需要配置额外的采集模块。
本实施例还提供一种应用于图2所示控制器20的数据采集方法,请参照图6,该方法可以包括图6中所示的步骤S310。
步骤S310,向网络设备10发送Bundle创建消息,使所述网络设备10根据所述Bundle创建消息创建数据采集Bundle任务,以通过该数据采集Bundle任务获取该网络设备10的运行情况数据并通过Bundle消息机制将获取到的所述运行情况数据发送给数据分析平台30。
可选地,请再次参照图6,在本实施例中,上述数据采集方法还可以包括步骤S320和步骤S330。
步骤S320,接收数据分析平台30对运行情况数据的分析结果。
步骤S330,根据分析结果向网络设备10发送控制指令以控制网络设备10的数据转发。
在本实施例中,数据分析平台30可以逻辑判断、大数据机器学习的等方式根据网络设备10的运行情况数据分析得出网络设备10的运行状态的好坏程度,得出分析结果。然后控制器20可以根据分析结果调整网络设备10的业务分配或控制网络设备10的数据转发,例如,在运行状态较好的网络设备10上部署较多的业务或控制其承担更过的数据转发量,在运行状态较差的网络设备10上部署较少的业务或控制其承担更少的数据转发量。
基于上述设计,本实施例中的控制器20可以控制网络设备10通过Openflow自身的Bundle消息机制实现将运行情况数据发送给数据分析平台30,并根据数据分析平台30得出的分析结果对网络设备10的数据转发进行控制,可以使控制器20对整个网络的流量调度控制更加合理有效。
可选地,在本实施例中,控制器20还可以向所述网络设备10发送启动触发通知,使所述网络设备10触发所述数据采集Bundle任务启动并执行图3所示步骤S110和步骤S120。
为方便本领域技术人员更好地了解本实施例提供的方案,下面通过一个例子解释本实施例提供的方案。
在图2所示SDN网络中,网络设备10需要向数据分析平台30上送各自的运行情况数据。控制器20分别向各网络设备10下发如图5所示结构的Bundle创建消息,该Bundle创建消息中的OFPBF_COLLECT位置1,以表示该Bundle创建消息用于指示网络设备10创建数据采集Bundle任务。
Bundle创建消息中包括记录有通道配置信息的OFPBPT_SOCKET属性,OFPBPT_SOCKET属性中connect_type字段为TCP,即指示网络设备10与数据分析平台30之间的通信采用TCP连接;role为字段Client,即指示网络设备10作为客户端与数据分析平台30建立连接;ip_type字段为IPv4,即指示网络设备10采用IPv4地址进行通信;local_port字段为16633,即指示网络设备10采用的本地端口号为16633;remote_port字段为16644,即指示网络设备10向数据分析平台30端口号为16644的端口发送运行情况数据;remote_ip为数据分析平台30的IP地址。
Bundle创建消息中还包括记录有待采集数据信息的OFPBPT_EXPERIMENTER属性,OFPBPT_EXPERIMENTER属性中指示的信息采集项目可以包括需要采集的:CPU状态、内存状态、硬盘状态、流表状态、队列状态中的任意一个或多个,OFPBPT_EXPERIMENTER属性还可以指示采集频率是1次/秒、启动时间为当前、持续时间24小时。
网络设备10在接收到Bundle创建消息后,创建相应的数据采集Bundle任务,并创建Socket客户端向数据分析平台30发起连接请求以建立TCP类型的连接,网络设备10的本地端口号为16633,并根据数据分析平台30的IP地址及目的端口号16644向作为服务端的数据分析平台30发起TCP连接请求。网络设备10还从Bundle创建消息中解析出信息采集项目,记录需要采集CPU状态、内存状态、硬盘状态、流表状态及队列状态。
控制器20再向网络设备10发送启动触发通知(OFPBCT_COMMIT_REQUEST)通知,网络设备10在接收到启动触发通知通知起的24小时中按照1次/秒的频率周期性地采集CPU状态、内存状态、硬盘状态、流表状态及队列状态,并将采集到的数据封装成TCP类型报文发送给数据分析平台30。
数据分析平台30接收到运行情况数据后,计算根据预先设定的计算规则网路设备的健康度,健康度的计算可以按照将各项运行情况数据的值与相应的门限值进行比对,得到一个反映网络设备10运行状态好坏程度的百分制的数据。
控制器20可以实时收集数据分析平台30分析得出的网络设备10健康度,当各个网络设备10的健康度较好时提示用户可以部署更多的业务;当健康度处于临界值时提示用户尽量少部署新业务;当健康度较差时,给用户预警将非必要业务下线以节省资源。
控制器20还可以收集数据分析平台30得出的分析结果中,产生健康度异常记录时刻,将健康度较差的时间点作为考察时刻,检查该时刻各个网络设备10上的上线业务是否成功,将该时段上线失败或者异常的业务重新上线,从而及时恢复这些业务。
请参照图7,图7为本实施例提供的一种网络设备10的硬件结构示意图。该服务器可包括第一处理器130及第一机器可读存储介质120。第一处理器130与第一机器可读存储介质120可经由第一系统总线140通信。并且,第一机器可读存储介质120存储有机器可执行指令,通过读取并执行第一机器可读存储介质120中与数据采集逻辑对应的机器可执行指令,第一处理器130可执行图3或图4所示的数据采集方法。
请参照图8,本实施例还提供一种应用于图2所示网络设备10的第一数据采集装置110,第一数据采集装置110包括至少一个可以软件形式存储于第一机器可读存储介质120中的功能模块。从功能上划分,第一数据采集装置110可以包括数据获取模块111及数据发送模块112。
数据获取模块111用于获取该网络设备10的运行情况数据。
本实施例中,数据获取模块111可用于执行图3所示的步骤S110,关于数据获取模块111的具体描述可参对步骤S110的描述。
数据发送模块112用于通过Bundle消息机制将获取到的运行情况数据发送给数据分析平台30进行分析。
本实施例中,数据发送模块112可用于执行图3所示的步骤S120,关于数据发送模块112的具体描述可参对步骤S120的描述。
可选地,请参照图9,在本实施例中,第一数据采集装置110还可以包括创建消息接收模块113及任务创建模块114。
创建消息接收模块113用于接收控制器20发送的Bundle创建消息。
本实施例中,创建消息接收模块113可用于执行图4所示的步骤S210,关于创建消息接收模块113的具体描述可参对步骤S210的描述。
任务创建模块114用于根据Bundle创建消息创建用于获取并发送运行情况数据的数据采集Bundle任务。
本实施例中,任务创建模块114可用于执行图4所示的步骤S220,关于任务创建模块114的具体描述可参对步骤S220的描述。
可选地,在本实施例中,Bundle创建消息携带有数据分析平台30的地址信息。
数据发送模块112具体用于在数据采集Bundle任务中根据地址信息将运行情况数据发送给数据分析平台30。
可选地,在本实施例中,数据采集Bundle任务周期性地获取运行情况数据并向数据分析平台30发送运行情况数据。
可选地,请再次参照图9,在本实施例中,第一数据采集装置110还可以包括触发接收模块115。
触发接收模块115用于接收控制器20发送的启动触发通知,并根据接收到的启动触发通知启动数据采集Bundle任务开始执行获取并发送运行情况数据的动作。
可选地,在本实施例中,Bundle创建消息还携带有信息采集项目,信息采集项目用于表征需要向数据分析平台30发送的运行情况数据。数据获取模块111具体用于在数据采集Bundle任务中获取与信息采集项对应的运行情况数据。
请参照图10,图10为本实施例提供的一种控制器20的硬件结构示意图。该服务器可包括第二处理器230及第二机器可读存储介质220。第二处理器230与第二机器可读存储介质220可经由第二系统总线240通信。并且,第二机器可读存储介质220存储有机器可执行指令,通过读取并执行第二机器可读存储介质220中与数据采集逻辑对应的机器可执行指令,第二处理器230可执行图6所示的数据采集方法。
请参照图11,本实施例还提供一种应用于图2所示控制器20的第二数据采集装置210,第二数据采集装置210包括至少一个可以软件形式存储于第二机器可读存储介质220中的功能模块。从功能上划分,第二数据采集装置210可以包括创建消息发送模块211。
创建消息发送模块211用于向网络设备10发送Bundle创建消息,使网络设备10根据Bundle创建消息创建数据采集Bundle任务,以通过该数据采集Bundle任务获取该网络设备10的运行情况数据并通过Bundle消息机制将获取到的所述运行情况数据发送给数据分析平台30。
本实施例中,所述创建消息发送模块211可用于执行图6所示的步骤S310,关于所述创建消息发送模块211的具体描述可参对所述步骤S310的描述。
可选地,请再次参照图11,在本实施例中,第二数据采集装置210还可以包括分析结果接收模块212及控制模块213。
接收所述数据分析平台30对所述运行情况数据的分析结果;
本实施例中,所述分析结果接收模块212可用于执行图6所示的步骤S320,关于所述分析结果接收模块212的具体描述可参对所述步骤S320的描述。
根据所述分析结果向所述网络设备10发送控制指令以控制所述网络设备10的数据转发。
本实施例中,所述控制模块213可用于执行图6所示的步骤S330,关于所述控制模块213的具体描述可参对所述步骤S330的描述。
可选地,请再次参照图11,在本实施例中,第二数据采集装置210还可以包括触发发送模块214。
触发发送模块214用于向所述网络设备10发送启动触发通知,使所述网络设备10触发所述数据采集Bundle任务开始执行获取并发送所述运行情况数据的动作。
本文中提到的机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
综上所述,本申请实施例提供的数据采集方法、网络设备及控制器,通过利用Openflow自身的Bundle消息机制将网络设备的运行情况数据发送给数据分析平台,从而可以不需要配置额外的采集器进行运行数据的上报。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (11)
1.一种数据采集方法,其特征在于,应用于使用Openflow协议的网络设备,所述方法包括:
获取该网络设备的运行情况数据;
通过Bundle消息机制将获取到的所述运行情况数据发送给数据分析平台进行分析。
2.根据权利要求1所述的方法,其特征在于,在所述获取该网络设备的运行情况数据的步骤之前,所述方法还包括:
接收控制器发送的Bundle创建消息;
根据所述Bundle创建消息创建用于获取并发送所述运行情况数据的数据采集Bundle任务。
3.根据权利要求2所述的方法,其特征在于,所述Bundle创建消息携带有所述数据分析平台的地址信息;所述通过Bundle消息机制将获取到的所述运行情况数据发送给数据分析平台进行分析的步骤,包括:
在所述数据采集Bundle任务中根据所述地址信息将所述运行情况数据发送给所述数据分析平台。
4.根据权利要求2所述的方法,其特征在于,所述数据采集Bundle任务每隔预设周期获取所述运行情况数据并向所述数据分析平台发送所述运行情况数据。
5.根据权利要求2-4任意一项所述的方法,其特征在于,所述方法还包括:
接收所述控制器发送的启动触发通知;
根据接收到的启动触发通知启动所述数据采集Bundle任务开始执行获取并发送所述运行情况数据的动作。
6.根据权利要求2所述的方法,其特征在于,所述Bundle创建消息还携带有信息采集项目,所述信息采集项目用于表征需要向数据分析平台发送的运行情况数据;所述获取该网络设备的运行情况数据的步骤,包括:
在所述数据采集Bundle任务中获取与所述信息采集项对应的运行情况数据。
7.一种数据采集方法,其特征在于,应用于使用Openflow协议的控制器,该控制器与使用Openflow协议的网络设备通信连接,所述方法包括:
向网络设备发送配置信息,使所述网络设备根据所述配置信息创建数据采集Bundle任务,以通过该数据采集Bundle任务获取该网络设备的运行情况数据并通过Bundle消息机制将获取到的所述运行情况数据发送给数据分析平台。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
接收所述数据分析平台对所述运行情况数据的分析结果;
根据所述分析结果向所述网络设备发送控制指令以控制所述网络设备的数据转发。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
向所述网络设备发送启动触发通知,使所述网络设备触发所述数据采集Bundle任务开始执行获取并发送所述运行情况数据的动作。
10.一种网络设备,其特征在于,包括机器可读存储介质及处理器,所述机器可读存储介质中存储有机器可执行的指令,所述指令在被所述处理器执行时,促使所述网络设备实现权利要求1-6任意一项所述的方法。
11.一种控制器,其特征在于,包括机器可读存储介质及处理器,所述机器可读存储介质中存储有机器可执行的指令,所述指令在被所述处理器执行时,促使所述控制器实现权利要求7-9任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811432921.XA CN109587128B (zh) | 2018-11-28 | 2018-11-28 | 数据采集方法、网络设备及控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811432921.XA CN109587128B (zh) | 2018-11-28 | 2018-11-28 | 数据采集方法、网络设备及控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109587128A true CN109587128A (zh) | 2019-04-05 |
CN109587128B CN109587128B (zh) | 2021-02-09 |
Family
ID=65924719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811432921.XA Active CN109587128B (zh) | 2018-11-28 | 2018-11-28 | 数据采集方法、网络设备及控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109587128B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110753092A (zh) * | 2019-09-24 | 2020-02-04 | 深圳指芯智能科技有限公司 | 一种服务端获取外部数据的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101035134A (zh) * | 2007-04-20 | 2007-09-12 | 中兴通讯股份有限公司 | 移动终端电子服务指南协议功能的实现方法 |
CN102857416A (zh) * | 2012-09-18 | 2013-01-02 | 中兴通讯股份有限公司 | 一种实现虚拟网络的方法和虚拟网络 |
CN106059960A (zh) * | 2016-05-24 | 2016-10-26 | 北京交通大学 | 一种基于软件定义网络的空间网络QoS保障方法及管理中心 |
CN106789329A (zh) * | 2017-01-12 | 2017-05-31 | 北京交通大学 | 一种分布式的多层卫星中断容忍网络接触计划设计方法 |
-
2018
- 2018-11-28 CN CN201811432921.XA patent/CN109587128B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101035134A (zh) * | 2007-04-20 | 2007-09-12 | 中兴通讯股份有限公司 | 移动终端电子服务指南协议功能的实现方法 |
CN102857416A (zh) * | 2012-09-18 | 2013-01-02 | 中兴通讯股份有限公司 | 一种实现虚拟网络的方法和虚拟网络 |
CN106059960A (zh) * | 2016-05-24 | 2016-10-26 | 北京交通大学 | 一种基于软件定义网络的空间网络QoS保障方法及管理中心 |
CN106789329A (zh) * | 2017-01-12 | 2017-05-31 | 北京交通大学 | 一种分布式的多层卫星中断容忍网络接触计划设计方法 |
Non-Patent Citations (1)
Title |
---|
李凡卡: "《基于SDN控制器集群的集中管控技术》", 《中国优秀硕士论文全文库》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110753092A (zh) * | 2019-09-24 | 2020-02-04 | 深圳指芯智能科技有限公司 | 一种服务端获取外部数据的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109587128B (zh) | 2021-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10733245B2 (en) | Methods and apparatus to track changes to a network topology | |
CN103023693B (zh) | 一种行为日志数据管理系统及方法 | |
CN109361573B (zh) | 流量日志分析方法、系统及计算机可读存储介质 | |
CN108055144A (zh) | 一种网络设备的监控方法及系统 | |
CN104035392A (zh) | 在过程控制系统中的大数据 | |
CN111082960B9 (zh) | 数据的处理方法及装置 | |
KR102328938B1 (ko) | 전자 시스템들에서의 로그 데이터의 관리 | |
EP3364627B1 (en) | Adaptive session intelligence extender | |
EP2220822B1 (en) | Method and apparatus for concurrent topology discovery | |
US20190394080A1 (en) | Cloud service transaction capsulation | |
CN103248512A (zh) | 通信网络中应用层拓扑结构的生成方法和系统 | |
CN102820993A (zh) | 网络资源监控系统和网络资源监控方法 | |
TW201119285A (en) | Identification of underutilized network devices | |
CN102780779A (zh) | 一种园区网出口p2p流量优化方法、装置及网关设备 | |
CN109639809A (zh) | 一种业务数据请求链路监控的方法及装置 | |
US20130326049A1 (en) | System and method for sequencing per-hop data in performance-monitored network environments | |
CN108495075A (zh) | 视频通信方法及装置 | |
CN111245671B (zh) | 用于卫星激光通信终端地面测试的自动化集成测试系统 | |
CN103684851A (zh) | 数据采集方法和装置 | |
CN114301818A (zh) | 业务流检测方法、装置、系统、终端及存储介质 | |
CN107004003A (zh) | 模型参数融合方法及装置 | |
CN109861869B (zh) | 一种配置文件的生成方法及装置 | |
CN110557292A (zh) | 基于分布式路由物联网络的拓扑图获取方法、装置及设备 | |
CN109587128A (zh) | 数据采集方法、网络设备及控制器 | |
CN109600436A (zh) | 一种分布式iscsi服务实现方法、系统及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |