一种sdn应用集成开发环境的设计方法

文档序号:6545579阅读:183来源:国知局
一种sdn应用集成开发环境的设计方法
【专利摘要】本发明一种SDN应用集成开发环境的设计方法,本发明将SDN应用集成开发环境架构分为三个部分:用户图形界面、核心仿真层、基础资源服务层;基础资源服务层将资源信息递交给核心仿真层,核心仿真层根据提交的资源信息建立虚拟网络环境,编译通过的SDN应用程序可选择在虚拟网络环境中仿真执行,执行通过后切换到调用基础资源的真实执行操作中。本发明的用户可以在核心仿真层进行仿真,得到满意结果后,再切换到实际网络中进行测试和部署,核心仿真层相当于模拟器;可被标准化的前景使得本发明具有广阔的应用前景和广泛的实际使用效果前景。
【专利说明】一种SDN应用集成开发环境的设计方法
【技术领域】
[0001]本发明属于通信领域,具体涉及一种SDN应用集成开发环境的设计方法。
【背景技术】
[0002]随着用户的增多,互联网的普及,用户需求发生变化,业务需求越来越多变复杂,传统网络体系架构越来越不能满足用户和业务的需求。传统的互联网架构非常复杂,主要体现在它是由专门的交换机、路由器、终端设备和其他复杂设备组成,而这些网络设备都是由不同的厂商生产,有着各自特定的接口,运行着各种各样的分布式协议。在这种环境中,对于网络的管理、开发、创新都是十分困难的。对于研究人员,他们不能方便及时地验证他们的新技术;对于网络运营商,很难根据需求定制和优化网络;对于设备提供商,不能及时地做出创新来满足用户的需求;对于用户,他们的需求得不到及时和很好的满足。
[0003]2010 年,ONF (Open Networking Foundation,开放网络基金会)提出了 SDN(Software Defined Networks,软件定义网络)的概念,SDN在本质上就是将网络的控制平面和转发平面隔离,并且以集中化控制器的方式对全网进行控制,从而建立一个开放可编程的网络,通过软件定义的方式对网络资源进行动态管理,在此基础上,用户可以根据自己的需求,通过编程构建各种各样的数据转发网络,并且在网络部署自己的新型应用,以满足自身的需求,SDN为核心网络及其应用的创新提供了良好的平台。
[0004]然而时至今日,如何实现一个较全面的软件定义网络却仍是一个很有争议的课题,所以本文提出了 SDN应用集成开发环境的概念,并对该概念进行了研究与设计。如今网络规模如此庞大,物理网络调试测试SDN应用代价太大,所以很有必要设计SDN应用集成开发环境,SDN应用在仿真环境中进行调试,获得满意的结果。SDN应用集成开发环境为开发者开发SDN应用提供了一个程序开发环境,使开发者能够更容易地开发应用程序。我们为集成开发环境设计了核心仿真层,是整个SDN应用集成开发环境的核心,同时也是一个云计算仿真平台,为SDN应用提供虚拟仿真环境,核心仿真层又被细分为三个部分:仿真引擎,仿真层和用户代码层,设计图的典型结构如图1所示。有了 SDN集成开发环境和基础资源服务平台,开发者可以更加轻松地进行SDN应用程序的开发和测试,这样就会有更多的开发者加入到SDN的研究中来,促进SDN的发展。

【发明内容】

[0005]本发明针对现有技术的不足,提出了一种SDN应用集成开发环境的设计方法。
[0006]一种对于SDN应用集成开发环境的设计方法,包括如下步骤:
步骤一:将SDN应用集成开发环境架构分为三个部分:用户图形界面、核心仿真层、基础资源服务层;
步骤二:基础资源服务层将资源信息递交给核心仿真层,核心仿真层根据提交的资源信息建立虚拟网络环境,编译通过的SDN应用程序可选择在虚拟网络环境中仿真执行,执行通过后切换到调用基础资源的真实执行操作中。[0007]所述的基础资源服务层为整个仿真环境提供支撑,获取内存、存储、网络设备和计算基础资源,并将这些资源融合起来并进行集成作为一个单个的资源提交给核心仿真层以创建网络和实验:基础资源服务平台的主要功能是让用户通过网络完善计算机基础设施而获得服务,创建和管理网络,使创建的网络拥有更好的可扩展性;同时基础资源服务平台中的数据库组件保存资源池中所有物理机、虚拟机、存储和网络基础资源的动态以及静态信息,该信息通过定时获取、更新递交给上层,并可由计算服务器、调度器、卷控制器、网络、队列和控制面板共享相关状态,基于不同的状态信息完成相应的业务处理;另外开发者通过API获得构建SDN应用程序所需的计算资源,管理员和用户通过Web接口访问计算资源。
核心仿真层,由用户代码层、仿真层和仿真引擎组成,向用户图形界面一个自足的支持数据中心、服务代理人、调度和分配测量的平台,将来自基础资源服务层的基础资源进行建模与仿真,交给虚拟化引擎;仿真层对基于云计算虚拟数据中心环境提供了建模和仿真,包括为虚拟机管理专用接口,内存,存储和带宽,该层主要处理的问题包括:虚拟机分配到主机的调度,管理程序的执行和检测系统的动态状态,所述的用户代码层则公开基本实体给主机,包括主机实体、应用程序,虚拟机,用户数量及其应用类型,以及代理调度策略。
[0008]用户图形界面为用户提供了一个可视化的操作界面,提供SDN应用软件代码的编辑、编译、链接和执行;
将基础资源服务层、核心仿真层对应的软件提供的API进行相应的调用,最后将各个功能对应到相应的按钮中;
所述的当用户图形界面有任务时,将任务下达给核心仿真层,核心仿真层则调用基础资源服务层的资源,进行汇总,然后将所需的信息上传给上层:首先基础资源服务层获取网络中内存、存储、网络设备和计算资源信息,并且这些资源信息实时获取,放入缓存区,定期进行更新,一旦上层核心仿真层需要该资源信息时,可通过调用基础资源服务层的API获取相应的资源信息;核心仿真层根据这些资源,进行仿真,包括数据中心、网络拓扑、构建及分配VM、动态工作负载、数据中心能耗和创建实体建模;当用户或开发者在用户图形界面工作时,即完成代码编辑后,进行编译、链接和执行动作,通过调用下层核心仿真层的接口,得到需要的数据;通过各层之间的协作,完成图形界面层下达的任务。
[0009]本发明解决当前缺乏一种现成的SDN集成开发环境软件的重要问题,即提供了一个统一的SDN集成开发环境,方便用户和开发者的研究。目前还未见有其它SDN应用集成开发环境平台的出现,本发明是目前唯一一套能为用户和开发者提供现成的SDN应用集成开发环境平台,本发明显著优点有:用户可以在核心仿真层进行仿真,得到满意结果后,再切换到实际网络中进行测试和部署,核心仿真层相当于模拟器;可被标准化的前景使得本发明具有广阔的应用前景和广泛的实际使用效果前景。
【专利附图】

【附图说明】
[0010]图1是SDN应用开发环境架构的示意图;
图2是基于云计算的SDN框架示意图;
图3是SDN核心仿真层的软件架构示意图;
图4为用户图形界面体系结构的示意图。【具体实施方式】
[0011]下面结合附图对本发明做进一步的说明。
[0012]如图1所示,SDN应用集成开发环境架构通过分层方式设计整体框架,然后再细分每层结构,通过各个层次之间的联系,共同协作完成信息的传递。
[0013]包括如下步骤:
步骤1:将SDN应用集成开发环境架构分为三个部分:用户图形界面、核心仿真层、基础资源服务层;
基础资源服务层为整个仿真环境提供支撑,获取内存、存储、网络设备和计算基础资源,并将这些资源融合起来并进行集成作为一个单个的资源提交给核心仿真层以创建网络和实验;
核心仿真层,由用户代码层、仿真层和仿真引擎组成,向用户图形界面一个自足的支持数据中心、服务代理人、调度和分配测量的平台,将来自基础资源服务层的基础资源进行建模与仿真,交给虚拟化 引擎;
用户图形界面为用户提供了一个可视化的操作界面,提供SDN应用软件代码的编辑、编译、链接和执打;
步骤2:基础资源服务层将资源信息递交给核心仿真层,核心仿真层根据提交的资源信息建立虚拟网络环境,编译通过的SDN应用程序可选择在虚拟网络环境中仿真执行,得到满意结果后切换到调用基础资源的真实执行操作中。
[0014]所述的通过将SDN应用集成开发环境架构分为三个部分,分别是用户图形界面、核心仿真层和基础资源服务层:设计SDN应用集成开发环境架构,将SDN应用集成开发环境架构整体分为三层;基础资源服务层为整个仿真环境提供支撑,为开发环境提供内存、存储、网络设备和计算等资源;重点分析核心仿真层,它是整个SDN应用集成开发环境的核心,也是一种云计算仿真平台,并将核心仿真层细化成仿真引擎层、仿真层和用户代码层;用户界面图形为开发者和用户提供了一个可视化的操作界面。
[0015]所述的基础资源服务层为整个仿真环境提供支撑,获取内存、存储、网络设备和计算基础资源,并将这些资源融合起来并进行集成作为一个单个的资源提交给核心仿真层以创建网络和实验:基础资源服务平台的主要功能是让用户通过网络完善计算机基础设施而获得服务,它可以更轻松地创建和管理网络,还可以使创建的网络拥有更好的可扩展性。同时基础资源服务平台中的数据库组件保存资源池中所有物理机、虚拟机、存储和网络基础资源的动态以及静态信息,该信息通过定时获取、更新递交给上层,并可由各个功能组件共孚相关状态,基于不同的状态?目息完成相应的业务处理。
[0016]基础资源服务层的服务包含:计算服务、存储服务、虚拟网络服务、控制面板服务和镜像服务。虚拟环境中可以通过超级管理程序来部署计算服务。基础资源服务层支持对象存储和块存储:对象存储提供了一个分布式的存储平台,提供了 API供外部访问,还可以备份、保留数据和档案;块存储为可扩展存储提供了公开和链接计算实例的块设备。虚拟网络服务提供了虚拟网络功能:提供灵活的网络模型,网络管理IP地址,用户可以任意创建网络、控制流量,可插拔的后端架构,利用OpenFlow定义网络技术,网络可以附加其他的网络服务。控制面板功能包括:用户和管理员可以控制资源,提供全网络规模和状态的全局视图,赋给用户具有一定限制的服务。镜像服务则为磁盘和服务器提供查找、注册和部署服务,提供了镜像拷贝、快照和快速存储功能。
[0017]如图3所示,步骤I中所述的一种SDN应用集成开发环境的研究与设计,所述的核心仿真层进一步包括:用户代码层、仿真层和仿真引擎层。其中,SDN核心仿真引擎可支持一些核心函数如事件队列和处理,云系统实体的创建(服务、主机、数据中心、代理器和虚拟机),组件间消息传递、仿真时钟的管理;仿真层对基于云计算虚拟数据中心环境提供了建模和仿真,包括为虚拟机管理专用接口,内存,存储和带宽,该层主要处理的问题包括:虚拟机分配到主机的调度,管理程序的执行和检测系统的动态状态;用户代码层则公开基本实体给主机,包括主机实体、应用程序,虚拟机,用户数量及其应用类型,以及代理调度策略;通过扩展在这层给定的基本实体,云应用开发者可以执行以下活动:(1)生成一个请求分布,应用配置的混合工作负载(2)模拟云的可用性场景和执行基于自定义配置的鲁棒性测试(3 )实现云的自定义应用提供技术。
[0018]在核心仿真层上,主要模拟的服务包括:模拟数据中心、网络拓扑、构建及分配VM、动态工作负载、数据中心能耗和创建实体等。数据中心实体管理许多主机实体,根据云服务提供商定义的虚拟分配策略,这些主机分配给一个或者多个虚拟机。根据主机分配策略来分配核心处理器给VMs,因此,可以分配特定的CPU给特定的VMs,在VMs之间动态地分配CPU。鉴于核心仿真层中的云实体之间的交互网络是基于抽象概念网络,并没有实际可用的作为仿真网络实体,所以用消息的网络延迟代替。云计算包含额外的一层即虚拟层,有可能会出现几个VMs要求在主机上实例化,导致VMs需要共享系统总线和处理器,为了避免这种情况的发生,构建及分配VM的策略是核心仿真层支持两层次VM的供应,即主机层和VM层,并且在每一层中,都实现时间共享和空间共享。为了实现动态工作负载,对现有的框架做了一系列的扩展,特别是在核心仿真层设计了附加的仿真实体,被称为仿真模型,提供了定义资源和VM需求的函数和变量。效用模型可以模拟应用资源需求来实现对工作负载模型的创建。针对数据中心能耗问题,主要是通过核心仿真层提供了验证技能技术的模型来解决。
[0019]所述的用户图形界面为开发者和用户提供了一个可视化的操作界面,软件代码的编辑、编译、链接和执行都可以在该层实现:首先设计用户图形界面,包含基本必要功能,然后将基础资源服务层、核心仿真层对应的软件提供的API进行相应的调用,最后将各个功能对应到相应的按钮中。图形界面为用户开发提供了工作台,使开发更加便捷,另外还提供了编辑、查看、编译和运行JAVA代码的专用插件,以及专门的插件开发工具。
[0020]首先寻找一个内核的支撑,即运行时内核(Runtime),它处在体系架构的最底层,是其他工具和插件运行时的基础设施。其次,分析集成开发环境图形界面。根据图形界面设计,主要是分为8个部分:分别是菜单、工具列、快速视图、Package Explorer视图、编辑视图、快捷方式工具列、Outline视图、任务视图和控制视图,这些视图形成了 SDN应用集成开发环境的外观图形界面。最后,分析集成开发环境类库,并将这些类嵌入到SDN应用集成开发环境中,形成集成开发环境的控制部分。
[0021]如图4所示,所述的当用户图形界面有任务时,将任务下达给核心仿真层,核心仿真层则调用基础资源服务层的资源,进行汇总,然后将所需的信息上传给上层:首先基础资源服务层获取网络中内存、存储、网络设备和计算资源信息,并且这些资源信息实时获取,放入缓存区,定期进行更新,一旦上层核心仿真层需要该资源信息时,可通过调用基础资源服务层的API获取相应的资源信息;核心仿真层根据这些资源,进行仿真,包括数据中心、网络拓扑、构建及分配VM、动态工作负载、数据中心能耗和创建实体建模;当用户或开发者在用户图形界面工作时,即完成代码编辑后,进行编译、链接和执行动作,通过调用下层核心仿真层的接口,得到需要的数据。通过各层之间的协作,完成图形界面层下达的任务。
[0022]如图2所示,是本发明的基于云计算的SDN框架示意图,基于云计算的三层服务模型,本文提出一种基于云计算的SDN架构。在SDN的控制层,我们为用户提供IaaS(基础设施即服务),在应用层,为用户提供PaaS (平台即服务)。SDN基础资源服务平台,为用户提供IaaS服务。在控制层,以服务的形式为用户提供服务器服务,存储以及相关的软件。用户通过云计算技术远程访问计算,存储以及虚拟化等功能。在应用层,我们提出SDN应用集成开发环境的概念,为用户提供PaaS服务。在应用层,以服务的形式为用户提供程序开发和部署的平台。将一个完整的计算平台,包括应用设计,应用开发,应用测试都作为服务提供给用户。
[0023]本实施例首先使用JAVA语言按照本发明所述的方法制作SDN应用集成开发环境平台的图形开发界面。然后将CloudSim、minimet和openstack等集成到该平台中,实现相关的功能,例如云任务到虚拟机绑定策略的设计与测试、支持基于拍卖的服务机制、提供后云网络环境的可视化模拟和读出BRITE格式的网络拓扑并可视化呈现等。
[0024]下面是对本实例的具体实现步骤:
步骤a:选取3台的物理机,设置9台虚拟机。其中物理机的配置CPU是2400*4MIPS,物理机的内存为10GB,带宽为lTbps,硬盘为1TB,VM调度策略选用时间共享策略。虚拟机的配置有CPU为1000*1MIPS,虚拟机的内存为2GB,带宽是lGbps,镜像是10GB,任务调度策略采用空间共享策略,VMM的类型是Xen类型。任务配置中CPU是单核,长度在17000到82000MI之间,输入大小是350bytes,输出大小是300bytes,绑定策略则是简单绑定或者贪心绑定,数量定在15个左右。
[0025]步骤b:准备该平台的安装环境,即安装JRE环境,下载、解压CloudSim包,配置classpath,安装CloudSim。然后设置CloudSimHome。待环境配置完成后,启动Eclipse主程序,创建一个工程。待工程创建完成后,显示Java工程的配置界面,包括源代码,选中其中一个实例的源代码,运行该源代码。
[0026]步骤c:创建仿真。首先,初始化CloudSim库。其次,仓Il建数据中心,包含四个步骤,步骤如下所示:
步骤?创建处理单元Pe并设置供应策略;
步骤?创建物理主机,设置主机ID号、内存、带宽及供应策略、硬盘存储、Pe列表,对主
机内虚拟机间共享CPU的调度策略,然后创建包含多个主机的列表;
步骤③创建数据中心特征对象,设置指令架构、操作系统类型、VMM类型、主机列表、时
区和单元成本参数,其中单元成本参数又包含处理器成本、内存成本、存储成本和带宽成本; 步骤Φ创建数据中心,设置数据中心名称,主机列表及虚拟机到物理机的分配策略,SAN网络存储列表,调度间隔。
[0027]然后,创建数据中心代理,设置其名称。第五步是创建虚拟机,设置虚拟机ID、MIPS (处理能力)、镜像大小、内存、带宽、CPU核数和VMM类型,创建虚拟机列表,提交给数据中心代理。第六步是创建云任务,设置任务ID号、任务长度、云任务输入文件大小和云任务输出文件大小,调节CPU核数要求,设置对资源的利用模式。最后,只需指定任务到虚拟机的分配策略,启动仿真即可。
[0028]步骤d:结束仿真,输出并统计结果,对耗时、CPU、内存、带宽占用率和变化率这几个参数进行比较。
[0029]步骤e:重复该实验,得到多组结果。当在仿真软件上执行成功以后,从仿真环境退出,进入真实环境,重复之前的工作。
[0030]虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
【权利要求】
1.一种SDN应用集成开发环境的设计方法,其特征在于,包括如下步骤: 步骤一:将SDN应用集成开发环境架构分为三个部分:用户图形界面、核心仿真层、基础资源服务层; 步骤二:基础资源服务层将资源信息递交给核心仿真层,核心仿真层根据提交的资源信息建立虚拟网络环境,编译通过的SDN应用程序可选择在虚拟网络环境中仿真执行,执行通过后切换到调用基础资源的真实执行操作中。
2.根据权利要求1所述的一种SDN应用集成开发环境的设计方法,其特征在于:所述的基础资源服务层为整个仿真环境提供支撑,获取内存、存储、网络设备和计算基础资源,并将这些资源融合起来并进行集成作为一个单个的资源提交给核心仿真层以创建网络和实验:基础资源服务平台的主要功能是让用户通过网络完善计算机基础设施而获得服务,创建和管理网络,使创建的网络拥有更好的可扩展性;同时基础资源服务平台中的数据库组件保存资源池中所有物理机、虚拟机、存储和网络基础资源的动态以及静态信息,该信息通过定时获取、更新递交给上层,并可由计算服务器、调度器、卷控制器、网络、队列和控制面板共享相关状态,基于不同的状态信息完成相应的业务处理;另外开发者通过API获得构建SDN应用程序所需的计算资源,管理员和用户通过Web接口访问计算资源。
3.根据权利要求1所述的一种SDN应用集成开发环境的设计方法,其特征在于:核心仿真层,由用户代码层、仿真层和仿真引擎组成,向用户图形界面提供一个自足的支持数据中心、服务代理人、调度和分配测量的平台,将来自基础资源服务层的基础资源进行建模与仿真,交给虚拟化引擎;仿真层对基于云计算虚拟数据中心环境提供了建模和仿真,包括为虚拟机管理专用接口,内存,存储和带宽,该层主要处理的问题包括:虚拟机分配到主机的调度,管理程序的执行和检测系统的动态状态;用户代码层则公开主机实体、应用程序、虚拟机、用户数量及其应用类型,以及代理调度策略给主机。
4.根据权利要求1所述的一种SDN应用集成开发环境的设计方法,其特征在于:用户图形界面为用户提供了一个可视化的操作界面,提供SDN应用软件代码的编辑、编译、链接和执行; 将基础资源服务层、核心仿真层对应的软件提供的API进行相应的调用,最后将各个功能对应到相应的按钮中。
5.根据权利要求1所述的一种SDN应用集成开发环境的设计方法,其特征在于:所述的当用户图形界面有任务时,将任务下达给核心仿真层,核心仿真层则调用基础资源服务层的资源,进行汇总,然后将所需的信息上传给上层:首先基础资源服务层获取网络中内存、存储、网络设备和计算资源信息,并且这些资源信息实时获取,放入缓存区,定期进行更新,一旦上层核心仿真层需要该资源信息时,可通过调用基础资源服务层的API获取相应的资源信息;核心仿真层根据这些资源,进行仿真,包括数据中心、网络拓扑、构建及分配VM、动态工作负载、数据中心能耗和创建实体建模;当用户或开发者在用户图形界面工作时,即完成代码编辑后,进行编译、链接和执行动作,通过调用下层核心仿真层的接口,得到需要的数据;通过各层之间的协作,完成图形界面层下达的任务。
【文档编号】G06F9/44GK103955373SQ201410185465
【公开日】2014年7月30日 申请日期:2014年4月30日 优先权日:2014年4月30日
【发明者】诸葛斌, 王伟明, 王保霞, 代游 申请人:浙江工商大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1