一种自动生成网络仿真脚本的装置及方法

文档序号:9396972阅读:244来源:国知局
一种自动生成网络仿真脚本的装置及方法
【技术领域】
[0001 ] 本发明涉及网络仿真自动化技术领域,具体涉及一种自动生成网络仿真脚本的装置及方法。
【背景技术】
[0002]基于NS2 (Network Simulator vers1n 2, 一种针对网络技术的源代码公开的、免费的软件模拟平台)的网络仿真技术是一种快捷的、低成本的网络研究方法,通过软件化的方法构建出网络场景并按照设计出的指定协议运行,并记录网络运行过程中数据包流向等信息,然后对这些记录信息进行分析从而达到网络研究的目的。
[0003]现有的NS2网络仿真场景的构建比较复杂和繁琐,仿真脚本编写效率低下,而且很容易出错。

【发明内容】

[0004]有鉴于此,本发明实施例提供一种自动生成网络仿真脚本的装置及方法,以简化NS2网络仿真场景的构建过程,让研究人员更专注于网络本身的研究。
[0005]第一方面,本发明实施例提供了一种自动生成网络仿真脚本的装置,包括:
[0006]输入模块,用于接收仿真参数并将其发送至对象创建模块;
[0007]对象创建模块,用于接收所述仿真参数,根据所接收的仿真参数创建网络仿真对象;
[0008]脚本生成模块,用于根据所述网络仿真对象生成网络仿真脚本。第二方面,本发明实施例还提供了一种自动生成网络仿真脚本的方法,包括:
[0009]接收仿真参数;
[0010]根据所接收的仿真参数创建网络仿真对象;
[0011]根据所述网络仿真对象生成网络仿真脚本。本发明实施例通过根据所接收的仿真参数创建网络仿真对象,根据所述网络仿真对象生成网络仿真脚本,能自动生成网络仿真脚本,降低了研究人员在进行网络仿真研究时仿真脚本编写的复杂度,降低了编程和错误率,提高了仿真效率。
【附图说明】
[0012]为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本发明实施例的内容和这些附图获得其他的附图。
[0013]图1是本发明实施例一所述的自动生成网络仿真脚本的装置的结构框图;
[0014]图2是本发明实施例一的示例性部署图;
[0015]图3是示是本发明实施例一所示的网络仿真模型的部分类图;
[0016]图4是本发明实施例二所述的自动生成网络仿真脚本的方法流程图;
[0017]图5是本发明实施例三所述的自动生成网络仿真脚本的方法流程图。
【具体实施方式】
[0018]为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0019]下面结合附图并通过【具体实施方式】来进一步说明本发明的技术方案。
[0020]实施例一
[0021]图1是本发明实施例一提供的自动生成网络仿真脚本装置的结构图,如图1所示,本实施例所述的自动生成网络仿真脚本的装置包括:输入模块101,对象创建模块102,以及脚本生成模块103。
[0022]输入模块101,用于接收仿真参数并将其发送至对象创建模块102 ;
[0023]对象创建模块102,用于接收所述仿真参数,根据所接收的仿真参数创建网络仿真对象;
[0024]脚本生成模块103,用于根据所述网络仿真对象生成网络仿真脚本。
[0025]输入模块101作为与用户之间的接口,用户可以通过输入模块101输入所需的仿真参数,输入模块101将用户所输入端仿真参数发送给对象创建模块102。
[0026]示例性地,所述输入模块101可采用模型(model)—视图(view)—控制器(controller)方式(即MVC方式)来构建。所述输入模块101具体包括:视图子模块1011、数据子模块1012和控制器子模块1013。
[0027]其中:
[0028]视图子模块1011,用于通过可视化操作界面接收用户输入的仿真参数;
[0029]数据子模块1012,用于记录视图子模块所接收到的仿真参数;
[0030]控制器子模块1013,用于响应于用户的输入操作,将数据子模块1012记录的所述仿真参数发送至对象创建模块。
[0031]具体地,视图子模块1011向用户提供可视化的操作界面(如图形用户界面GUI),在该操作界面上展示后续仿真脚本创建所需要的仿真参数信息并提供相应的输入域,用户根据该界面上的信息指示向输入域中输入相应的仿真参数数据。所述数据子模块1012将视图子模块1011所接收到的仿真参数记录下来,在必要时,还可以对所接收的仿真参数进行相应的预处理,例如对用户输入的仿真参数进行初步检查,判断其是否在有效范围内或者格式是否允许;将参数数据转换成指定的数据格式,等等。所述控制器子模块1013响应于用户的输入操作,将数据子模块1012所记录或经过进一步预处理的仿真参数通过指定的网络数据传输协议发送至对象创建模块102,其中,优选通过用户数据报协议UDP来发送所述仿真参数。
[0032]通过上述MVC方式构建的所述输入模块101具有良好的可扩展性,数据、用户操作和控制之间处于松耦合状态,各自可以独立修改和改进,互不影响,便于维护。在具体实现时可以采用任何现有的编程技术,例如JavaScript和Java、C#等,本实施例对此不作限制。
[0033]对象创建模块102,用于接收所述仿真参数,并根据所接收的仿真参数创建网络仿真对象。
[0034]通过网络仿真对象的方式来模拟和表示实际网络通信环境中的网络对象,从而可以简洁方便地利用现有的自动化计算工具对实际网络通信环境进行模拟分析,大大降低了网络分析的工作量,并且网络分析的精确度也得到了大幅的提高。具体而言,与实际网络通信环境相对应地,所述对象创建模块102创建的网络仿真对象包括:仿真场景对象、网络元素对象。
[0035]其中,所述仿真场景对象用于对网络通信的不同场景进行模拟和仿真,可以包括以下一项或多项:无线网络场景对象、有线网络场景对象、卫星网络场景对象,分别对无线通信场景、有线通信场景和通过卫星网络进行通信的场景进行仿真。从技术的本质上来看,卫星网络通信可视为无线通信的一种特例,但是从通信领域常见的分类观点来看,无线通信通常包括手机等移动终端的地面基站通信、红外、蓝牙、WIFI等近距离通信方式,而将更广范围的卫星网络通信作为一个单独的类别来看待。本发明中沿用通信领域的惯例来对通信场景进行分类。
[0036]所述网络元素对象用于对网络通信环境下所涉及到的各种网络元素进行模拟。具体而言,所述网络元素对象包括以下至少一项:网络节点对象、链路对象、协议代理对象、流量发生器对象。其中,网络节点对象用于表示通信线路中的网络传输或转发节点,可以包括以下至少一项:卫星对象(Sat)、终端对象(Terminal)、关口对象(Hub);所述协议代理对象用于表示网络通信采用何种类型的协议代理,具体包括以下至少一项:UDP协议代理对象、TCP协议代理对象,当然,此处仅是
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1