一种分布式网络模拟方法及系统的制作方法_2

文档序号:9790826阅读:来源:国知局
与负载均衡后的应该由这个计算资源负责的虚拟网络构建配置)。如果为构建任务则转步骤2),如果为状态控制任务则转步骤3);
[0035]2)调用网络模拟进程来构建模拟网络实例,将构建该模拟网络对应的进程信息进行保存,并将构建结果反馈给计算资源管理与负载均衡。
[0036]3)若为状态控制,则找到该虚拟网络对应的网络模拟进程,对该进程的状态进行调度。即一个物理计算资源上的模拟进程调度方法控制此物理计算资源上的所有网络模拟进程。
[0037]3.网络模拟进程
[0038]网络模拟进程采用物理时钟同步,即采用与实物设备一致的时钟;并采用基于RawSocket的网络模拟流量无感融合技术,实现跨服务器的模拟节点之间通信以及与实物设备、仿真节点(虚拟机)之间的通信。RawSocket实际上是原始套接字,基于RawSocket的网络模拟流量无感融合技术,利用在物理网卡上创建的原始套接字进行数据包的读写,将模拟数据包与实物设备、仿真节点流量融合,实现跨服务器的模拟节点之间通信以及与实物设备、仿真节点(虚拟机)之间的通信。
[0039]本发明同时公开的一种分布式网络模拟系统,主要由用户接口模块、调度管理与负载均衡模块、模拟进程控制模块、网络模拟器模块组成。
[0040]用户接口模块:为用户提供网络环境配置,以及网络模拟过程控制和结果反馈等的用户接口。
[0041]调度管理与负载均衡模块:从用户接口模块接收网络配置及网络模拟任务,根据不同的负载均衡需求采用不同的负载均衡策略,实现拓扑划分,将全局的模拟网络划分为若干子集,并分配给物理计算资源,向模拟进程控制模块下达任务、接收模拟进程控制模块的反馈;汇总所有反馈并形成总反馈,传达给用户接口。
[0042]模拟进程控制模块:接收来自调度管理与负载均衡模块的任务,并管理模拟进程的状态。按照任务类型进行相应处理:如果是构建一个新的模拟网络,则调用网络模拟器模块,创建一个新的网络模拟进程以构建该模拟网络;若为其他状态控制任务则控制对应模拟进程的状态。向调度管理与负载均衡模块反馈任务执行结果。
[0043]网络模拟器模块:在模拟进程控制模块的控制下,创建网络模拟进程,构建模拟网络。
[0044]进一步地,上述系统还包括通信模块:实现用户接口与调度管理与负载均衡模块的通信、调度管理与负载均衡模块和模拟进程控制模块的通信。
[0045]本发明从大规模网络模拟的实际需求出发,提出一种分布式网络模拟方法及系统,具有如下优点:
[0046]1、进行分布式网络模拟不必额外考虑如何进行同步以保证网络模拟的正确进行。
[0047]2、适应多粒度虚拟网络构建的需要,跨服务器的模拟节点不必引入额外的通信机制或代理,可直接基于RawSocket的网络模拟流量无感融合技术与仿真节点(虚拟机)或者实物设备交互。
[0048]3、采用弹性的负载均衡策略,根据需求的不同,实现或者尽可能少的占用服务器或尽可能的均衡使用现有服务器。
[0049]4、可对多个模拟网络实例进行调度管理。可实现对网络模拟实例的启动、暂停、恢复、关闭、重启等多种状态控制。
【附图说明】
[0050]图1.本发明分布式网络模拟方法的框架图。
[0051]图2.调度管理与负载均衡模块的工作逻辑图。
[0052]图3.模拟进程控制模块的工作逻辑图。
【具体实施方式】
[0053]为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步说明。
[0054]本实施例的分布式网络模拟过程,包括如下步骤:
[0055]1.初始化:将现有物理计算资源的配置信息进行记录,如CPU、内存等;配置模拟节点资源占用的预设值。启动用户接口模块为用户服务、启动调度管理与负载均衡模块等待接收任务、启动模拟进程控制模块等待模拟网络构建任务或状态控制任务。
[0056]2.若准备构建新模拟网络则转步骤3,若状态控制任务则转步骤11。
[0057]3.将网络环境配置下达给调度管理与负载均衡模块;模块接到配置,进行解析,如计算路由信息、IP地址等。
[0058]4.调度管理与负载均衡模块根据配置和当前物理计算资源的状态进行负载均衡,根据不同的需求选择不同的负载均衡算法,或者尽可能少的使用物理计算资源。若为尽可能少的使用物理计算资源,则采用以拓扑为单位的均衡算法,即转步骤5,否则选择以节点为单位的划分算法,即转步骤6;若采用互补的均衡算法,则在步骤5失败时,采用步骤6进行负载均衡。
[0059]5.进行以拓扑为单位的负载均衡:
[0060]5.1从数据库或配置文件中获取各类模拟节点的预设资源占用量;
[0061]5.2计算拓扑中各类型模拟节点数量,并得出模拟网络的资源需求总量;
[0062]5.3计算所有物理计算资源的承载能力,包括但不限于CPU数量、内存容量以及网卡数量等;
[0063]5.4遍历所有模拟服务器,并判断其是否能够承载当前模拟网络拓扑,若可以则转步骤5.5,否则转5.6;
[0064]5.5如果可以,结束查找过程,并将拓扑的承载服务器标记为当前服务器;
[0065]5.6如果所有服务器都无法承载当前拓扑,则负载均衡失败。
[0066]6.以模拟节点为单位的负载均衡
[0067]6.1获取各类模拟节点的各类预设资源占用量;
[0068]6.2计算拓扑中各类型模拟节点数量,并得出模拟网络的资源需求总量;
[0069]6.3构建模拟网络的连通图模型:
[0070]6.3.1遍历连通图,找到所有的可断边
[0071 ] 6.3.2遍历所有可断边,并移除此边,将连通图分为两个子连通图;递归进行,每次划分后,遍历所有物理计算资源,尝试将子图分配到能够承载的物理计算资源,直到所有的子图都找到合适的服务器,划分成功,或者子图不可分且未找到合适的服务器,或者子图数量超过了物理服务器数量则划分失败。
[0072]7.记录子集与物理计算资源的对应关系,将子集下达给对应的物理计算资源,并等待接收反馈。
[0073]8.模拟进程控制模块接收到来的虚拟网络构建任务和配置,启动网络模拟器构建模拟网络。并记录模拟网络与进程的对应关系,如采用〈模拟网络,进程ID>的形式记录。
[0074]9.网络模拟器构建模拟网络完成后,模拟进程控制模块将构建结果反馈给调度管理与负载均衡模块。
[0075]10.调度管理与负载均衡模块等待一个全局模拟网络实例所分配的所有子集的构建结果,形成总结果反馈给用户接口。
[0076]11.若为已有模拟进程状态控制任务,则将任务下达给调度管理与负载均衡模块,该模块获取承载该模拟网络的分配信息,将任务分发给相应的模拟进程控制模块,分布式模拟进程控制模块根据模拟网络与进程的对应信息,如查找〈模拟网络,进程ID>列表找到该模拟网络的对应进程控制其状态。
[0077]12.状态控制结果反馈给调度管理与负载均衡模块,该模块收集所有反馈,形成总反馈给用户接口。
[0078]上述方法中的通信可采用Soc
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1