一种接入设备的方法及控制服务器转让专利

申请号 : CN201310744237.6

文献号 : CN104753746B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李义刘丹

申请人 : 华为技术有限公司

摘要 :

本发明实施例公开了一种接入设备的方法,包括:接收与控制服务器连接的设备发送的连接信息,所述连接信息包括至少一个端口号及所述端口号对应的特征码;根据预置的所述端口号与驱动信息的对应关系,获取所述端口号对应的驱动信息;根据预置的所述特征码与驱动信息的对应关系,在所述端口号对应的驱动信息中获取所述端口号对应的特征码所对应的驱动信息;运行所述端口号对应的特征码所对应的驱动信息以接入所述设备。本发明实施例还公开了一种控制服务器。采用本发明,可提高控制服务器识别接入设备的准确性和提高控制服务器的智能性。

权利要求 :

1.一种接入设备的方法,其特征在于,所述方法包括:设置端口号与驱动信息的对应关系,其中,所述设置端口号与驱动信息的对应关系包括:获取驱动信息以及驱动信息所携带的注册信息,解析所述注册信息获得至少一个所述端口号,建立所述驱动信息与所述端口号的对应关系;

接收与控制服务器连接的设备发送的连接信息,所述连接信息包括至少一个端口号及所述端口号对应的特征码;

根据预置的所述端口号与驱动信息的对应关系,获取所述端口号对应的驱动信息;

根据预置的所述特征码与驱动信息的对应关系,在所述端口号对应的驱动信息中获取所述端口号对应的特征码所对应的驱动信息;

运行所述端口号对应的特征码所对应的驱动信息以接入所述设备。

2.如权利要求1所述的方法,其特征在于,一个所述驱动信息对应至少一个所述端口号。

3.如权利要求1或2所述的方法,其特征在于,所述接收与控制服务器连接的设备发送的连接信息之前包括:设置所述特征码与所述驱动信息的对应关系,一个所述驱动信息对应至少一个所述特征码。

4.如权利要求3所述的方法,其特征在于,所述设置所述特征码与所述驱动信息的对应关系包括:获取驱动信息以及驱动信息所携带的注册信息;

解析所述注册信息获得至少一个端口号对应的特征码;

建立所述驱动信息与所述端口号对应的特征码的对应关系。

5.如权利要求1所述的方法,其特征在于,所述运行所述端口号对应的特征码所对应的驱动信息以接入所述设备包括:判断所述驱动信息是否已生成所述设备对应的设备对象;

若没有,根据所述端口号对应的特征码所对应的驱动信息生成所述设备对应的设备对象。

6.如权利要求1所述的方法,其特征在于,所述方法还包括:当接收到携带设备对象标识和控制信息的操作请求时,获取所述设备对象标识所标识的设备对象;

根据所述控制信息,控制所述设备对象对所述设备对象对应的设备进行操作。

7.一种控制服务器,其特征在于,所述控制服务器包括:第一设置单元,用于设置端口号与驱动信息的对应关系,其中,所述第一设置单元包括:第一获取子单元,用于获取驱动信息以及驱动信息所携带的注册信息,第一解析子单元,用于解析所述注册信息获得至少一个所述端口号,第一建立子单元,用于建立所述驱动信息与所述端口号的对应关系;

接收单元,用于接收与控制服务器连接的设备发送的连接信息,所述连接信息包括至少一个端口号及所述端口号对应的特征码;

第一获取单元,用于根据预置的所述端口号与驱动信息的对应关系,获取所述端口号对应的驱动信息;

第二获取单元,用于根据预置的所述特征码与驱动信息的对应关系,在所述端口号对应的驱动信息中获取所述端口号对应的特征码所对应的驱动信息;

接入单元,用于运行所述端口号对应的特征码所对应的驱动信息以接入所述设备。

8.如权利要求7所述的控制服务器,其特征在于,一个所述驱动信息对应至少一个所述端口号。

9.如权利要求7或8所述的控制服务器,其特征在于,所述控制服务器包括:第二设置单元,用于设置所述特征码与所述驱动信息的对应关系,一个所述驱动信息对应至少一个所述特征码。

10.如权利要求9所述的控制服务器,其特征在于,所述第二设置单元包括:第二获取子单元,用于获取驱动信息以及驱动信息所携带的注册信息;

第二解析子单元,用于解析所述注册信息获得至少一个端口号对应的特征码;

第二建立子单元,用于建立所述驱动信息与所述端口号对应的特征码的对应关系。

11.如权利要求7所述的控制服务器,其特征在于,所述控制服务器包括:判断单元,用于判断所述驱动信息是否已生成所述设备对应的设备对象;

生成单元,用于当所述驱动信息没生成所述设备对应的设备对象时,根据所述端口号对应的特征码所对应的驱动信息生成所述设备对应的设备对象。

12.如权利要求7所述的控制服务器,其特征在于,所述控制服务器还包括:第三获取单元,用于当接收到携带设备对象标识和控制信息的操作请求时,获取所述设备对象标识所标识的设备对象;

控制单元,用于根据所述控制信息,控制所述设备对象对所述设备对象对应的设备进行操作。

说明书 :

一种接入设备的方法及控制服务器

技术领域

[0001] 本发明涉及通信领域,尤其涉及一种接入设备的方法及控制服务器。

背景技术

[0002] 软件定义网络(Software Defined Network,SDN)是最近几年来最热门的网络技术,也是企业网、校园网、数据中心网络的热门候选网络形式。其核心思想是可将网络设备的控制面与数据面分离开来,采用远程的控制器对网络进行统一的管控,实现了网络流量的灵活控制。
[0003] 在SDN网络架构中网络设备可以支持一种或多种协议,在控制器的内存中,存储多种协议的驱动程序。在网络设备接入控制器后,控制器可通过驱动程序对网络设备进行控制。在现有的网络接入外设的过程中,例如主机接入外设,由于外设大多采用单一的协议类型,并且控制器所接入的外设设备较少,故采用每个端口号匹配一个驱动程序,而每个驱动程序也只匹配一个端口号,不同的端口号匹配不同的驱动程序的方式。当控制器接入一个外设时,控制器可获取外设的端口号,根据预设的匹配关系获取匹配的驱动程序并获知控制器接入了一个外设;当控制器接入多个外设时,控制器可通过端口号来获取匹配的驱动程序并可根据端口号的不同来获知控制器接入了多个外设。
[0004] 但是,当大量的外设接入控制器时,特别是在SND网络架构中,与控制器建立连接的网络设备数量可能成百上千,由于端口号有限,可能会出现多个网络设备共用一个端口号的情况。当至少两个不同协议类型,却携带同样的端口号的网络设备与控制器进行物理连接时,控制器通过识别端口号误判只是一种设备并只接入一种网络设备,这将导致其他同端口号的网络设备无法接入控制器,使得其他同端口号的网络设备的功能无法体现,也给用户控制网络设备带来了不便。
[0005] 并且,在SND网络架构中,与控制器建立连接的网络设备将携带各种各样的协议类型,并且携带多种协议类型的网络设备的也不少,每个协议类型对应不同的端口号,对应的驱动程序也携带不同的端口号。若网络设备通过每个协议类型所对应的端口号来与控制器建立连接,控制器可能获得与其相同的端口号的多个驱动程序,而无法获得携带多个端口号的驱动程序。这样将使得控制器误判接入了多个网络设备,从而给用户控制网络设备带来了不便。

发明内容

[0006] 本发明实施例提供了一种接入设备的方法及相关装置,以提高控制服务器发现设备的准确度。
[0007] 为了解决上述技术问题,本发明第一方面提供了一种接入设备的方法,包括:
[0008] 接收与控制服务器连接的设备发送的连接信息,所述连接信息包括至少一个端口号及所述端口号对应的特征码;
[0009] 根据预置的所述端口号与驱动信息的对应关系,获取所述端口号对应的驱动信息;
[0010] 根据预置的所述特征码与驱动信息的对应关系,在所述端口号对应的驱动信息中获取所述端口号对应的特征码所对应的驱动信息;
[0011] 运行所述端口号对应的特征码所对应的驱动信息以接入所述设备。
[0012] 在第一种可能实现方式中,所述接收与控制服务器连接的设备发送的连接信息之前包括:
[0013] 设置所述端口号与所述驱动信息的对应关系,一个所述驱动信息对应至少一个所述端口号。
[0014] 结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述接收与控制服务器连接的设备发送的连接信息之前包括:
[0015] 设置所述特征码与所述驱动信息的对应关系,一个所述驱动信息对应至少一个所述特征码。
[0016] 结合第一方面的第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,所述设置所述端口号与所述驱动信息的对应关系包括:
[0017] 获取驱动信息以及驱动信息所携带的注册信息;
[0018] 解析所述注册信息获得至少一个所述端口号;
[0019] 建立所述驱动信息与所述端口号的对应关系。
[0020] 结合第一方面的第二种可能的实现方式或第一方面的第三种可能实现的方式,在第四种可能实现方式中,所述设置所述特征码与所述驱动信息的对应关系包括:
[0021] 获取驱动信息以及驱动信息所携带的注册信息;
[0022] 解析所述注册信息获得至少一个端口号对应的特征码;
[0023] 建立所述驱动信息与所述端口号对应的特征码的对应关系。
[0024] 结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述运行所述端口号对应的特征码所对应的驱动信息以接入所述设备包括:
[0025] 判断所述驱动信息是否已生成所述设备对应的设备对象;
[0026] 若没有,根据所述端口号对应的特征码所对应的驱动信息生成所述设备对应的设备对象。
[0027] 结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式或第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述方法还包括:
[0028] 当接收到携带设备对象标识和控制信息的操作请求时,获取所述设备对象标识所标识的设备对象;
[0029] 根据所述控制信息,控制所述设备对象对所述设备对象对应的设备进行操作。
[0030] 本发明第二方面提供一种控制服务器,包括:
[0031] 接收单元,用于接收与控制服务器连接的设备发送的连接信息,所述连接信息包括至少一个端口号及所述端口号对应的特征码;
[0032] 第一获取单元,用于根据预置的所述端口号与驱动信息的对应关系,获取所述端口号对应的驱动信息;
[0033] 第二获取单元,用于根据预置的所述特征码与驱动信息的对应关系,在所述端口号对应的驱动信息中获取所述端口号对应的特征码所对应的驱动信息;
[0034] 接入单元,用于运行所述端口号对应的特征码所对应的驱动信息以接入所述设备。
[0035] 在第一种可能实现方式中,所述控制服务器包括:
[0036] 第一设置单元,用于设置所述端口号与所述驱动信息的对应关系,一个所述驱动信息对应至少一个所述端口号。
[0037] 结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述控制服务器包括:
[0038] 第二设置单元,用于设置所述特征码与所述驱动信息的对应关系,一个所述驱动信息对应至少一个所述特征码。
[0039] 结合第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第一设置单元包括:
[0040] 第一获取子单元,用于获取驱动信息以及驱动信息所携带的注册信息;
[0041] 第一解析子单元,用于解析所述注册信息获得至少一个所述端口号;
[0042] 第一建立子单元,用于建立所述驱动信息与所述端口号的对应关系。
[0043] 结合第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式,在第四种可能实现方式中,所述第二设置单元包括:
[0044] 第二获取子单元,用于获取驱动信息以及驱动信息所携带的注册信息;
[0045] 第二解析子单元,用于解析所述注册信息获得至少一个端口号对应的特征码;
[0046] 第二建立子单元,用于建立所述驱动信息与所述端口号对应的特征码的对应关系。
[0047] 结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式或第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述控制服务器包括:
[0048] 判断单元,用于判断所述驱动信息是否已生成所述设备对应的设备对象;
[0049] 生成单元,用于当所述驱动信息没生成所述设备对应的设备对象时,根据所述端口号对应的特征码所对应的驱动信息生成所述设备对应的设备对象。
[0050] 结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式或第二方面的第四种可能的实现方式或第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述控制服务器还包括:
[0051] 第三获取单元,用于当接收到携带设备对象标识和控制信息的操作请求时,获取所述设备对象标识所标识的设备对象;
[0052] 控制单元,用于根据所述控制信息,控制所述设备对象对所述设备对象对应的设备进行操作。
[0053] 实施本发明实施例,具有如下有益效果:
[0054] 本发明实施例通过接收与控制服务器连接的设备发送的连接信息,所述连接信息包括至少一个端口号及所述端口号对应的特征码,根据预置的所述端口号与驱动信息的对应关系,获取所述端口号对应的驱动信息,根据预置的所述特征码与驱动信息的对应关系,在所述端口号对应的驱动信息中获取所述端口号对应的特征码所对应的驱动信息,并运行所述端口号对应的特征码所对应的驱动信息以接入所述设备,使得控制服务器能够准确地识别出接入的设备,提高控制服务器识别接入设备的准确度和智能性。

附图说明

[0055] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0056] 图1为本发明提供的一种接入设备的方法的第一实施例流程图;
[0057] 图2为本发明提供的一种接入设备的方法的第二实施例流程图;
[0058] 图3为本发明提供的一种控制服务器的第一实施例流程图;
[0059] 图4为本发明提供的一种控制服务器的第二实施例流程图;
[0060] 图5为本发明提供的一种控制服务器的第三实施例流程图。

具体实施方式

[0061] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0062] 在本发明实施例中,设备可以是路由器和交换机等网络设备,控制服务器可以是通用的服务器。
[0063] 请参照图1,为本发明一种接入设备的方法的第一个实施例流程图。如图1所示,本实施例所述的一种接入设备的方法可包括步骤:
[0064] S100,接收与控制服务器连接的设备发送的连接信息,所述连接信息包括至少一个端口号及所述端口号对应的特征码。
[0065] 在本发明实施例中,软件定义网络(Software Defined Network,SDN)是将网络中的网络设备的控制面与数据面分离开来,采用远程的控制服务器对网络中的网络设备进行统一的管理,实现了网络设备的灵活控制。其中,该网络可在通用的服务器上运行,任何用户可随时、直接进行控制功能编程。这种分离使转发平面特性减少,功能专注而简单,只需实现基本的匹配转发和与控制节点的通信协议。控制平面采用集中式的软件,通过与数据平面中每个转发硬件通信而建立全网视图和一致性策略,同时通过抽象为上层应用提供一致的API接口,用户通过这些API接口对控制平面进行控制、管理、监测和维护,从而可以根据需求构建灵活的、可扩展的网络。
[0066] 在SDN网络架构中,SDN支持各种类型的设备,根据设备支持的协议类型可将设备分为单一类型设备和混合类型设备。如果设备只支持单一协议则称为单一类型设备,否则称为混合类型设备,其中,设备可以是实体设备或虚拟设备。
[0067] 在本发明实施例中,当设备与控制服务器建立连接后,设备将向控制服务器发送连接信息,其中,设备与控制服务器的连接可以是设备与控制服务器的物理连接或者设备与控制服务器的网络连接。具体的,连接信息包括设备携带的协议所对应的端口号和特征码,其中,端口号与特征码相对应。进一步的,特征码可以是二进制码流,可以是其对应的协议的版本号信息或者厂商信息等,特征码具有唯一性,即不同的协议类型对应不同的特征码。由上我们可以理解的是,每种协议可对应一对端口号和特征码,并且端口号和特征码组成的识别码具有唯一性。若设备是混合类型设备携带多种协议,则设备可向控制服务器发送多对端口号和特征码,若设备是单一类型设备携带一种协议,则设备可向控制服务器发送一对端口号和特征码。控制服务器可根据接收到的端口号和特征码来获取设备所对应的驱动信息,从而控制服务器可通过驱动信息来控制设备,其中,驱动信息可以是驱动程序,驱动程序可将控制服务器向设备发送的控制指令翻译成设备可识别的指令。
[0068] S101,根据预置的所述端口号与驱动信息的对应关系,获取所述端口号对应的驱动信息。
[0069] 在本发明实施例中,控制服务器在与设备建立物理连接之前,可先存储设备对应的驱动信息。其中,设备对应的驱动信息可由设备的厂商提供,用户再将厂商提供的驱动信息安装存储在控制服务器中。进一步的,在驱动信息安装的过程中,控制服务器还获取驱动信息携带的注册信息。具体的,注册信息包括设备所携带的协议类型所对应的端口号。故,控制服务器可根据获得的注册信息,从而获取到端口号与驱动信息的对应关系。例如:注册信息1携带两个端口号,端口号可各为6633和8112,携带注册信息1的驱动信息为驱动程序1;注册信息2携带一个端口号,端口号可为8000,携带注册信息2的驱动信息为驱动程序2;
注册信息3携带一个端口号,端口号可为6633,携带注册信息3的驱动信息为驱动程序3。则端口号与驱动信息的对应关系可如下表1:
[0070] 表1
[0071]端口号 驱动信息
6633 驱动程序1
8112 驱动程序1
8000 驱动程序2
6633 驱动程序3
[0072] 由上表我们可以理解的是,当设备携带多种协议时,其设备对应的驱动信息可对应多个端口号。
[0073] 进一步的,当控制服务器接收到设备发送的连接信息并获取到了设备的端口号时,控制服务器可根据以上的端口号与驱动信息的对应关系来查询该端口号所述对应的驱动信息。例如:当设备是混合性设备,携带两种协议OpenFlow协议和OF-Config Driver协议,OpenFlow协议对应的端口号为6633,OF-Config Driver协议对应的端口号为8112。则控制服务器接收到设备发送的端口号为6633和端口号为8112。控制服务器根据端口号与驱动信息的对应关系,可如表1,控制服务器可获得该混合设备的端口号对应的驱动信息为驱动程序1。进一步的,当设备是单一型设备时,携带一种协议OpenFlow协议,OpenFlow协议对应的端口号为6633。则控制服务器接收到的设备发送的端口号为6633。控制服务器根据端口号与驱动信息的对应关系,可如表1,控制服务器可获得该单一型设备的端口号对应的驱动信息为驱动程序1和驱动程序3。
[0074] S102,根据预置的所述特征码与驱动信息的对应关系,在所述端口号对应的驱动信息中获取所述端口号对应的特征码所对应的驱动信息。
[0075] 在本发明实施例中,控制服务器在建立端口号与驱动信息的对应关系的同时,建立特征码与驱动信息的对应关系。具体的,在驱动信息安装在控制服务器的过程中,控制服务器获取驱动信息携带的注册信息。具体的,注册信息包括设备所携带的协议类型所对应的端口号和特征码。其中,特征码可以是二进制码流,并且可以是其对应的协议的版本号信息或者厂商信息等,特征码可具有唯一性,即不同的协议类型对应不同的特征码。故,控制服务器可根据获得的注册信息,从而获取到端口号所对应的特征码与驱动信息的对应关系。例如:注册信息1携带两对端口号和特征码,端口号可各为6633和8112,特征码可各为端口号6633所对应的1和端口号8112所对应的2,携带注册信息1的驱动信息为驱动程序1;注册信息2携带一对端口号和特征码,端口号可为8000,特征码可为3,携带注册信息2的驱动信息为驱动程序2;注册信息3携带一对端口号和特征码,端口号可为6633,特征码可为4,携带注册信息3的驱动信息为驱动程序3。则端口号对应的特征码与驱动信息的对应关系可如下表2:
[0076] 表2
[0077]特征码对应的端口号 特征码 驱动信息
6633 1 驱动程序1
8112 2 驱动程序1
8000 3 驱动程序2
6633 4 驱动程序3
[0078] 由上表我们可以获得特征码与驱动信息的对应关系。并且,当设备携带多种协议时,其设备对应的驱动信息可对应多个特征码,由于特征码与端口号相对应,则设备对应的驱动信息可对应多对端口号和特征码。
[0079] 进一步的,当控制服务器接收到设备发送的连接信息并获取到了设备的端口号所对应的驱动信息时,控制服务器可根据以上的特征码与驱动信息的对应关系来查询端口号对应的特征码所对应的驱动信息。例如:当设备是单一型设备时,携带一种协议OpenFlow协议,OpenFlow协议对应的端口号为6633,端口号6633对应的特征码为4。控制服务器首先根据端口号与驱动信息的对应关系,可如表1,控制服务器可获得该单一型设备的端口号对应的驱动信息为驱动程序1和驱动程序3,进一步,控制服务器在获得的端口号对应的驱动程序1和驱动程序3中根据端口号对应的特征码和驱动信息的对应关系查询端口号6633对应的特征码为4所对应的驱动程序。可参见表2,端口号6633对应的特征码为4对应的驱动信息是驱动程序3。。
[0080] S103,运行所述端口号对应的特征码所对应的驱动信息以接入所述设备。
[0081] 在本发明实施例中,当控制服务器根据设备发送的连接信息识别出设备的协议类型并获取到设备对应的驱动信息时,控制服务器将根据驱动信息获取设备的设备对象,其中,设备对象用于保存设备特征和状态的相关信息,一个设备对象表示一个被驱动程序操控的物理设备或逻辑设备或虚拟设备,每一个内核模式的驱动程序必须创建设备对象。驱动信息对设备进行控制时,该驱动程序将创建该设备的设备对象,设备对象映射该设备,控制服务器若需对设备进行操作,则可通过对设备对象进行操作,设备对象再向映射的设备发送可识别的操作指令。
[0082] 进一步的,当设备曾与控制服务器进行连接,则控制服务器将生成并保存有设备对应的设备对象,从而在本次连接后,控制服务器可获取驱动信息曾生成的设备对应的设备对象,并启动设备对象,从而接入了设备,使得控制服务器可通过设备对象来对设备进行控制。当设备未曾与控制服务器进行连接,控制服务器将根据设备对应的驱动信息来生成该设备的设备对象,从而接入了该设备。
[0083] 请参照图2,为本发明一种接入设备的方法的第二个实施例流程图。如图1所示,本实施例所述的一种接入设备的方法可包括步骤:
[0084] S200,当接收到携带设备对象标识和控制信息的操作请求时,获取所述设备对象标识所标识的设备对象。
[0085] 在本发明实施例中,用户可通过APP(Application,应用)来对设备进行操作。其中,APP可通过图标显示控制服务器所连接的设备,用户通过APP对控制服务器所连接的设备进行控制,其中,APP显示的设备与设备对象标识符一一对应。例如:控制服务器所连接的设备包括设备1,设备2和设备3。用户选择对设备1进行操作,则APP接收到用户的操作获取到被控设备1的设备对象标识,从而使得控制服务器获取到设备对象标识符所标识的设备对象。进一步的,当用户对APP所显示的设备进行操作时,APP还获取用户的控制信息,并将控制信息发送到控制服务器进行操作。其中,控制信息可包括对被控制设备进行升级、启动或关闭等控制指令。
[0086] S201,根据所述控制信息,控制所述设备对象对所述设备对象对应的设备进行操作。
[0087] 在本发明实施例中控制服务器启动获取到的设备对象标识符所标识的设备对象,并根据获取到的控制信息控制设备对象,以使设备对象将所述控制信息转换设备可识别指令从而控制设备对象所映射的设备。
[0088] 请参考图3,为本发明提供的一种控制服务器的第一实施例流程图。如图3所示,本实施例所述的一种控制服务器包括:
[0089] 接收单元100,用于接收与控制服务器连接的设备发送的连接信息,所述连接信息包括至少一个端口号及所述端口号对应的特征码。
[0090] 在本发明实施例中,软件定义网络(Software Defined Network,SDN)是将网络中的网络设备的控制面与数据面分离开来,采用远程的控制服务器对网络中的网络设备进行统一的管理,实现了网络设备的灵活控制。其中,该网络可在通用的服务器上运行,任何用户可随时、直接进行控制功能编程。这种分离使转发平面特性减少,功能专注而简单,只需实现基本的匹配转发和与控制节点的通信协议。控制平面采用集中式的软件,通过与数据平面中每个转发硬件通信而建立全网视图和一致性策略,同时通过抽象为上层应用提供一致的API接口,用户通过这些API接口对控制平面进行控制、管理、监测和维护,从而可以根据需求构建灵活的、可扩展的网络。
[0091] 在SDN网络架构中,SDN支持各种类型的设备,根据设备支持的协议类型可将设备分为单一类型设备和混合类型设备。如果设备只支持单一协议则称为单一类型设备,否则称为混合类型设备,其中,设备可以是实体设备或虚拟设备。
[0092] 在本发明实施例中,当设备与控制服务器建立连接后,控制服务器接收单元100将接收设备发送的连接信息,其中,设备与控制服务器的连接可以是设备与控制服务器的物理连接或者设备与控制服务器的网络连接。具体的,连接信息包括设备携带的协议所对应的端口号和特征码,其中,端口号与特征码相对应。进一步的,特征码可以是二进制码流,可以是其对应的协议的版本号信息或者厂商信息等,特征码具有唯一性,即不同的协议类型对应不同的特征码。
[0093] 由上我们可以理解的是,每种协议可对应一对端口号和特征码,并且端口号和特征码组成的识别码具有唯一性。若设备是混合类型设备携带多种协议,则设备可向控制服务器发送多对端口号和特征码,若设备是单一类型设备携带一种协议,则设备可向控制服务器发送一对端口号和特征码。控制服务器可根据接收单元100接收到的端口号和特征码来获取设备所对应的驱动信息,从而控制服务器可通过驱动信息来控制设备,其中,驱动信息可以是驱动程序,驱动程序可将控制服务器向设备发送的控制指令翻译成设备可识别的指令。
[0094] 第一获取单元200,用于根据预置的所述端口号与驱动信息的对应关系,获取所述端口号对应的驱动信息。
[0095] 在本发明实施例中,控制服务器在与设备建立物理连接之前,可先存储设备对应的驱动信息。其中,设备对应的驱动信息可由设备的厂商提供,用户再将厂商提供的驱动信息安装存储在控制服务器中。进一步的,在驱动信息安装的过程中,控制服务器还获取驱动信息携带的注册信息。具体的,注册信息包括设备所携带的协议类型所对应的端口号。故,控制服务器可根据获得的注册信息,从而获取到端口号与驱动信息的对应关系。例如:注册信息1携带两个端口号,端口号可各为6633和8112,携带注册信息1的驱动信息为驱动程序1;注册信息2携带一个端口号,端口号可为8000,携带注册信息2的驱动信息为驱动程序2;
注册信息3携带一个端口号,端口号可为6633,携带注册信息3的驱动信息为驱动程序3。则端口号与驱动信息的对应关系可如下表1:
[0096] 表1
[0097]端口号 驱动信息
6633 驱动程序1
8112 驱动程序1
8000 驱动程序2
6633 驱动程序3
[0098] 由上表我们可以理解的是,当设备携带多种协议时,其设备对应的驱动信息可对应多个端口号。
[0099] 进一步的,当控制服务器接收到设备发送的连接信息并获取到了设备的端口号时,控制服务器的第一获取单元200可根据以上的端口号与驱动信息的对应关系来查询该端口号所述对应的驱动信息。例如:当设备是混合性设备,携带两种协议OpenFlow协议和OF-Config Driver协议,OpenFlow协议对应的端口号为6633,OF-Config Driver协议对应的端口号为8112。则控制服务器接收到设备发送的端口号为6633和端口号为8112。控制服务器根据端口号与驱动信息的对应关系,可如表1,控制服务器可获得该混合设备的端口号对应的驱动信息为驱动程序1。进一步的,当设备是单一型设备时,携带一种协议OpenFlow协议,OpenFlow协议对应的端口号为6633。则控制服务器接收到的设备发送的端口号为6633。控制服务器根据端口号与驱动信息的对应关系,可如表1,控制服务器可获得该单一型设备的端口号对应的驱动信息为驱动程序1和驱动程序3。
[0100] 第二获取单元300,用于根据预置的所述端口号与驱动信息的对应关系,获取所述端口号对应的驱动信息。
[0101] 在本发明实施例中,控制服务器在建立端口号与驱动信息的对应关系的同时,建立特征码与驱动信息的对应关系。具体的,在驱动信息安装在控制服务器的过程中,控制服务器获取驱动信息携带的注册信息。具体的,注册信息包括设备所携带的协议类型所对应的端口号和特征码。其中,特征码可以是二进制码流,并且可以是其对应的协议的版本号信息或者厂商信息等,特征码可具有唯一性,即不同的协议类型对应不同的特征码。故,控制服务器可根据获得的注册信息,从而获取到端口号所对应的特征码与驱动信息的对应关系。例如:注册信息1携带两对端口号和特征码,端口号可各为6633和8112,特征码可各为端口号6633所对应的1和端口号8112所对应的2,携带注册信息1的驱动信息为驱动程序1;注册信息2携带一对端口号和特征码,端口号可为8000,特征码可为3,携带注册信息2的驱动信息为驱动程序2;注册信息3携带一对端口号和特征码,端口号可为6633,特征码可为4,携带注册信息3的驱动信息为驱动程序3。则端口号对应的特征码与驱动信息的对应关系可如下表2:
[0102] 表2
[0103]特征码对应的端口号 特征码 驱动信息
6633 1 驱动程序1
8112 2 驱动程序1
8000 3 驱动程序2
6633 4 驱动程序3
[0104] 由上表我们可以获得特征码与驱动信息的对应关系。并且,当设备携带多种协议时,其设备对应的驱动信息可对应多个特征码,由于特征码与端口号相对应,则设备对应的驱动信息可对应多对端口号和特征码。
[0105] 进一步的,当控制服务器接收到设备发送的连接信息并获取到了设备的端口号所对应的驱动信息时,控制服务器的第二获取单元300可根据以上的特征码与驱动信息的对应关系来查询端口号对应的特征码所对应的驱动信息。例如:当设备是单一型设备时,携带一种协议OpenFlow协议,OpenFlow协议对应的端口号为6633,端口号6633对应的特征码为4。控制服务器首先根据端口号与驱动信息的对应关系,可如表1,控制服务器可获得该单一型设备的端口号对应的驱动信息为驱动程序1和驱动程序3,进一步,控制服务器在获得的端口号对应的驱动程序1和驱动程序3中根据端口号对应的特征码和驱动信息的对应关系查询端口号6633对应的特征码为4所对应的驱动程序。可参见表2,端口号6633对应的特征码为4对应的驱动信息是驱动程序3。。
[0106] 接入单元400,用于运行所述端口号对应的特征码所对应的驱动信息以接入所述设备。
[0107] 在本发明实施例中,当控制服务器根据设备发送的连接信息识别出设备的协议类型并获取到设备对应的驱动信息时,控制服务器的接入单元400将根据驱动信息获取设备的设备对象,其中,设备对象用于保存设备特征和状态的相关信息,一个设备对象表示一个被驱动程序操控的物理设备或逻辑设备或虚拟设备,每一个内核模式的驱动程序必须创建设备对象。驱动信息对设备进行控制时,接入单元400根据所述驱动程序将创建该设备的设备对象,设备对象映射该设备,控制服务器若需对设备进行操作,则可通过对设备对象进行操作,设备对象再向映射的设备发送可识别的操作指令。
[0108] 进一步的,当设备曾与控制服务器进行连接,则控制服务器将生成并保存有设备对应的设备对象,从而在本次连接后,控制服务器的接入单元400可获取驱动信息曾生成的设备对应的设备对象,并启动设备对象,从而接入了设备,使得控制服务器可通过设备对象来对设备进行控制。当设备未曾与控制服务器进行连接,控制服务器的接入单元400将根据设备对应的驱动信息来生成该设备的设备对象,从而接入了该设备。
[0109] 请参考图4,为本发明提供的一种控制服务器的第二实施例流程图。如图4所示,本实施例所述的一种控制服务器包括:
[0110] 接收单元100、第一获取单元200、第二获取单元300和接入单元400。
[0111] 其中,所述控制服务器还包括:
[0112] 第一设置单元500,用于设置所述端口号与所述驱动信息的对应关系,一个所述驱动信息对应至少一个所述端口号。
[0113] 在本发明实施例中,控制服务器在存储设备对应的驱动信息时,驱动信息还携带注册信息。具体的,注册信息包括设备所携带的协议类型所对应的端口号。故,控制服务器的第一设置单元500可根据获得的注册信息,从而获取到端口号与驱动信息的对应关系。例如:注册信息1携带两个端口号,端口号可各为6633和8112,携带注册信息1的驱动信息为驱动程序1;注册信息2携带一个端口号,端口号可为8000,携带注册信息2的驱动信息为驱动程序2;注册信息3携带一个端口号,端口号可为6633,携带注册信息3的驱动信息为驱动程序3。则端口号与驱动信息的对应关系可如下表1:
[0114] 表1
[0115]端口号 驱动信息
6633 驱动程序1
8112 驱动程序1
8000 驱动程序2
6633 驱动程序3
[0116] 由上表我们可以理解的是,当设备携带多种协议时,其设备对应的驱动信息可对应多个端口号。
[0117] 第二设置单元600,用于设置所述特征码与所述驱动信息的对应关系,一个所述驱动信息对应至少一个所述特征码。
[0118] 在本发明实施例中,控制服务器在存储设备对应的驱动信息时,驱动信息携带注册信息。具体的,注册信息包括设备所携带的协议类型所对应的端口号和特征码。其中,特征码可以是二进制码流,并且可以是其对应的协议的版本号信息或者厂商信息等,特征码可具有唯一性,即不同的协议类型对应不同的特征码。故,控制服务器的第二设置单元600可根据获得的注册信息,从而获取到端口号所对应的特征码与驱动信息的对应关系。例如:注册信息1携带两对端口号对应特征码,端口号可各为6633和8112,特征码可各为端口号
6633所对应的1和端口号8112所对应的2,携带注册信息1的驱动信息为驱动程序1;注册信息2携带一对端口号和特征码,端口号可为8000,特征码可为3,携带注册信息2的驱动信息为驱动程序2;注册信息3携带一对端口号和特征码,端口号可为6633,特征码可为4,携带注册信息3的驱动信息为驱动程序3。则端口号对应的特征码与驱动信息的对应关系可如下表
2:
[0119] 表2
[0120]特征码对应的端口号 特征码 驱动信息
6633 1 驱动程序1
8112 2 驱动程序1
8000 3 驱动程序2
6633 4 驱动程序3
[0121] 由上表我们可以获得特征码与驱动信息的对应关系。并且,当设备携带多种协议时,其设备对应的驱动信息可对应多个特征码,由于特征码与端口号相对应,则设备对应的驱动信息可对应多对端口号和特征码。
[0122] 判断单元700,用于判断所述驱动信息是否已生成所述设备对应的设备对象。
[0123] 在本发明实施例中,设备对象用于保存设备特征和状态的相关信息,一个设备对象表示一个被驱动程序操控的物理设备或逻辑设备或虚拟设备,每一个内核模式的驱动程序必须创建设备对象。驱动信息对设备进行控制时,该驱动程序将创建该设备的设备对象,设备对象映射该设备,控制服务器若需对设备进行操作,则可通过对设备对象进行操作,设备对象再向映射的设备发送可识别的操作指令。
[0124] 进一步的,当设备曾与控制服务器进行连接时,则控制服务器将控制驱动信息生成并保存有设备对应的设备对象,当设备未曾与控制服务器连接时,则驱动信息没有该设备的对应的设备对象。其中,控制服务器可通过判断单元700来判断设备对应的驱动信息有没有携带该设备的设备标识的设备对象。控制服务器可通过设备的设备标识来获取该设备的设备对象。当控制服务器在设备对应的驱动信息中没有获取携带该设备的设备标识的设备对象时,通知生成单元800生成所述设备对应的设备对象。
[0125] 生成单元800,用于当所述驱动信息没生成所述设备对应的设备对象时,根据所述端口号对应的特征码所对应的驱动信息生成所述设备对应的设备对象。
[0126] 控制服务器的生成单元800控制设备对应的驱动信息生成该设备对应的设备对象,使得控制服务器可以通过该设备对象接入设备并控制。
[0127] 其中,第一设置单元500还包括:
[0128] 第一获取子单元10,用于获取驱动信息以及驱动信息所携带的注册信息。
[0129] 在本发明实施例中,在存储设备对应的驱动信息时,第一获取子单元10获取驱动信息携带的注册信息。具体的,注册信息包括设备所携带协议对应的端口号和端口号对应的特征码。
[0130] 第一解析子单元20,用于解析所述注册信息获得至少一个所述端口号。
[0131] 在本发明实施例中,第一解析子单元20解析注册信息获取注册信息中的端口号。若设备是混合型设备,则第一解析子单元20获取多个端口号,若设备是单一型设备,则第一解析子单元20获取一个端口号。
[0132] 第一建立子单元30,用于建立所述驱动信息与所述协议标识符的对应关系。
[0133] 在本发明实施例中,控制服务器的第一建立子单元30可根据获得的注册信息,从而建立端口号与驱动信息的对应关系。例如:注册信息1携带两个端口号,端口号可各为6633和8112,携带注册信息1的驱动信息为驱动程序1;注册信息2携带一个端口号,端口号可为8000,携带注册信息2的驱动信息为驱动程序2;注册信息3携带一个端口号,端口号可为6633,携带注册信息3的驱动信息为驱动程序3。则端口号与驱动信息的对应关系可如下表1:
[0134] 表1
[0135]端口号 驱动信息
6633 驱动程序1
8112 驱动程序1
8000 驱动程序2
6633 驱动程序3
[0136] 由上表我们可以理解的是,当设备携带多种协议时,其设备对应的驱动信息可对应多个端口号。
[0137] 其中,第二设置单元500还包括:
[0138] 第二获取子单元40,用于获取驱动信息以及驱动信息所携带的注册信息。
[0139] 在本发明实施例中,在存储设备对应的驱动信息时,第二获取子单元40获取驱动信息携带的注册信息。具体的,注册信息包括设备所携带协议对应的端口号和端口号对应的特征码。
[0140] 第二解析子单元50,用于解析所述注册信息获得至少一个端口号对应的特征码。
[0141] 在本发明实施例中,第二解析子单元50解析注册信息获取注册信息中的端口号对应的特征码。若设备是混合型设备,则第二解析子单元50获取多个端口号对应的特征码,若设备是单一型设备,则第二解析子单元50获取一个端口号对应的特征码。
[0142] 第二建立子单元60,用于建立所述驱动信息与所述端口号对应的特征码的对应关系。
[0143] 在本发明实施例中,控制服务器的第二建立子单元60可根据获得的注册信息,从而建立端口号所对应的特征码与驱动信息的对应关系。例如:注册信息1携带两对端口号对应特征码,端口号可各为6633和8112,特征码可各为端口号6633所对应的1和端口号8112所对应的2,携带注册信息1的驱动信息为驱动程序1;注册信息2携带一对端口号和特征码,端口号可为8000,特征码可为3,携带注册信息2的驱动信息为驱动程序2;注册信息3携带一对端口号和特征码,端口号可为6633,特征码可为4,携带注册信息3的驱动信息为驱动程序3。则端口号对应的特征码与驱动信息的对应关系可如下表2:
[0144] 表2
[0145]特征码对应的端口号 特征码 驱动信息
6633 1 驱动程序1
8112 2 驱动程序1
8000 3 驱动程序2
6633 4 驱动程序3
[0146] 由上表我们可以获得特征码与驱动信息的对应关系。并且,当设备携带多种协议时,其设备对应的驱动信息可对应多个特征码,由于特征码与端口号相对应,则设备对应的驱动信息可对应多对端口号和特征码。
[0147] 请参考图5,为本发明提供的一种控制服务器的第三实施例流程图。如图5所示,本实施例所述的一种控制服务器包括:
[0148] 第三获取单元901,用于当接收到携带设备对象标识和控制信息的操作请求时,获取所述设备对象标识所标识的设备对象。
[0149] 在本发明实施例中,用户可通过APP(Application,应用)来对设备进行操作。其中,APP可通过图标显示控制服务器所连接的设备,用户通过APP对控制服务器所连接的设备进行控制,其中,APP显示的设备与设备对象标识符一一对应。例如:控制服务器所连接的设备包括设备1,设备2和设备3。用户选择对设备1进行操作,则APP接收到用户的操作获取到被控设备1的设备对象标识,并向控制服务器发送携带设备对象标识的操作请求,从而使得控制服务器的第三获取单元901可获取到设备对象标识所标识的设备对象。进一步的,当用户对APP所显示的设备进行操作时,APP还获取用户的控制信息,并将控制信息发送到控制服务器进行操作。其中,控制信息可包括对被控制设备进行升级、启动或关闭等控制指令。
[0150] 控制单元902,用于根据所述控制信息,控制所述设备对象对所述设备对象对应的设备进行操作。
[0151] 在本发明实施例中控制单元902启动获取到的设备对象标识符所标识的设备对象,并根据获取到的控制信息控制设备对象,以使设备对象将所述控制信息转换设备可识别指令从而控制设备对象所映射的设备。
[0152] 通过上述实施例的描述,本发明具有以下优点:
[0153] 本发明实施例通过接收与控制服务器连接的设备发送的连接信息,所述连接信息包括至少一个端口号及所述端口号对应的特征码,根据预置的所述端口号与驱动信息的对应关系,获取所述端口号对应的驱动信息,根据预置的所述特征码与驱动信息的对应关系,在所述端口号对应的驱动信息中获取所述端口号对应的特征码所对应的驱动信息,并运行所述端口号对应的特征码所对应的驱动信息以接入所述设备,使得控制服务器能够准确地识别出接入的设备,提高控制服务器识别接入设备的准确度和智能性。
[0154] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
[0155] 以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。