CN112737815B - 一种动态配置网络模拟器事件队列的方法及系统 - Google Patents
一种动态配置网络模拟器事件队列的方法及系统 Download PDFInfo
- Publication number
- CN112737815B CN112737815B CN202011469878.1A CN202011469878A CN112737815B CN 112737815 B CN112737815 B CN 112737815B CN 202011469878 A CN202011469878 A CN 202011469878A CN 112737815 B CN112737815 B CN 112737815B
- Authority
- CN
- China
- Prior art keywords
- current
- event
- network simulator
- event queue
- time
- 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.)
- Active
Links
Images
Classifications
-
- 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/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- 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/0893—Assignment of logical groups to network elements
Abstract
本发明提出了一种动态配置网络模拟器事件队列的方法及系统。动态配置网络模拟器事件队列的方法,包括:步骤一、构建虚拟网络拓扑,并初始化网络模拟器的事件队列;步骤二、创建父进程;步骤三、控制父进程创建子进程;步骤四、控制当前子进程执行当前事件队列的调度任务,父进程实时监听用户的动态配置信号;步骤五、判断父进程是否监听到动态配置信号,若是,结束当前子进程,父进程向事件队列添加动态配置的事件,返回步骤三,否则,返回步骤四。采用本发明,在网络模拟器运行之后可以根据用户需求继续向事件队列中添加事件,并通过创建父子进程,可以清晰的管理网络模拟器,使得网络模拟器在特定时间点继续调度事件队列中后续的事件。
Description
技术领域
本发明涉及网络模拟技术领域,尤其涉及一种动态配置网络模拟器事件队列的方法及系统。
背景技术
随着模拟、仿真等虚拟化、网络模拟技术的发展,越来越多的研究者使用虚拟机、网络模拟器、适量实物设备等构建虚拟网络环境来替代搭建复杂且耗时的实体试验环境,意味着网络模拟器已成为网络技术研究、工具测试、场景重现与回溯推演等网络活动研究基础工具。
网络模拟器基于离散事件的调度框架,是通过网络模拟器引擎实现网络行为的完全模拟。所谓离散事件系统是指系统的状态在一些离散时间点上由于某种事件的驱动而发生变化,各个事件都会有个指定执行的预定模拟时间,模拟器会跟踪预定好的模拟时间执行多个事件。模拟器的工作机制是按预定模拟时间顺序执行事件队列中的事件,依次调度。一旦事件发生并执行完成,模拟器将移动事件队列的指针到下一个事件处调度执行该事件,直到模拟器移动到事件队列队尾或结束事件处为止。从网络模拟层面看,数据包的发送、接收等一系列过程实际上是依据协议规定的格式、时间等进行有序的动作,因此事件调度的基本原理是将网络中数据包的发送、接收等一系列动作看成离散事件,从而有序的排列在网络模拟器事件队列中。网络模拟器事件队列初始化过程实际上就是构建虚拟网络、实现一些网络行为的过程,运行网络模拟器的过程实际就是调度器依次调度事件队列、执行事件的过程。网络模拟器调度过程如图1所示。
基于网络模拟器调度机制的特点,用户只能在在网络模拟器运行之前将所需调度的事件按顺序插入队列中,待用户将需求全部插入队列后才能执行调度过程,事件调度机制按时间顺序依次调度事件队列中的事件。尽管网络模拟器已实现事件调度的一般过程,在网络模拟器运行之后,如果用户还有额外的需求,如在特定时间节点对模拟网络进行特定操作,这时的网络模拟器事件调度机制将失去一般性,不能根据需求动态的向事件队列追加事件。
发明内容
本发明要解决的技术问题是相关技术中的网络模拟器调度机制不能根据需求动态地向事件队列追加事件,提供一种动态配置网络模拟器事件队列的方法及系统。
根据本发明实施例的动态配置网络模拟器事件队列的方法,包括:
步骤一、构建虚拟网络拓扑,并初始化网络模拟器的事件队列;
步骤二、创建父进程;
步骤三、控制所述父进程创建子进程;
步骤四、控制当前子进程执行当前事件队列的调度任务,所述父进程实时监听用户的动态配置信号;
步骤五、判断所述父进程是否监听到所述动态配置信号,若是,结束当前子进程,所述父进程向事件队列添加动态配置的事件,返回步骤三,否则,返回步骤四。
根据本发明的一些实施例,在所述父进程监听到所述动态配置信号之后、结束当前子进程之前,控制当前子进程将网络模拟器的当前运行时间和当前启动时间写入管道。
根据本发明的一些实施例,所述父进程向事件队列添加动态配置的事件,包括:
所述父进程从所述管道读取所述网络模拟器的当前运行时间和当前启动时间,并基于所述网络模拟器的当前运行时间和当前启动时间向事件队列添加动态配置的事件。
根据本发明的一些实施例,在所述父进程向事件队列添加动态配置的事件之后,基于所述网络模拟器的当前运行时间和当前启动时间,更新所述网络模拟器的当前启动时间。
根据本发明的一些实施例,当所述父进程向事件队列添加动态配置的事件之后,所述控制当前子进程执行当前事件队列的调度任务,包括:
所述当前子进程依次比较所述事件队列中事件的执行时间与所述网络模拟器的当前启动时间,当所述事件的执行时间在所述当前启动时间之前,跳至下一事件,当所述事件的执行时间为所述当前启动时间或在所述当前启动时间之后,调度所述事件。
根据本发明实施例的动态配置网络模拟器事件队列的系统,包括:
网络模拟器模块,包括其他接口和事件调度机制接口;
虚拟网络构建模块,包括拓扑构建子模块、事件添加子模块、以及进程切换子模块;
所述拓扑构建子模块,用于构建虚拟网络拓扑;
所述事件添加子模块,用于利用所述其他接口初始化网络模拟器的事件队列;
所述进程切换子模块,用于创建父进程,控制所述父进程创建子进程,控制当前子进程执行当前事件队列的调度任务,所述父进程实时监听用户的动态配置信号,判断所述父进程是否监听到所述动态配置信号,若是,结束当前子进程,所述父进程通过所述事件添加子模块,利用所述事件调度机制接口向事件队列添加动态配置的事件,所述父进程重新创建子进程,否则,继续控制当前子进程执行当前事件队列的调度任务。
根据本发明的一些实施例,所述进程切换模块,还用于:
在所述父进程监听到所述动态配置信号之后、结束当前子进程之前,控制当前子进程将网络模拟器的当前运行时间和当前启动时间写入管道。
根据本发明的一些实施例,所述进程切换模块,用于:
所述父进程从所述管道读取所述网络模拟器的当前运行时间和当前启动时间,并通过所述事件添加子模块,利用所述事件调度机制接口,基于所述网络模拟器的当前运行时间和当前启动时间向事件队列添加动态配置的事件。
根据本发明的一些实施例,所述进程切换模块,用于:
在所述父进程通过所述事件添加子模块,利用所述事件调度机制接口向事件队列添加动态配置的事件之后,基于所述网络模拟器的当前运行时间和当前启动时间,更新所述网络模拟器的当前启动时间;
所述当前子进程依次比较所述事件队列中事件的执行时间与所述网络模拟器的当前启动时间,当所述事件的执行时间在所述当前启动时间之前,跳至下一事件,当所述事件的执行时间为所述当前启动时间或在所述当前启动时间之后,调度所述事件。
根据本发明实施例的计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的动态配置网络模拟器事件队列的方法。
采用上述技术方案,本发明至少具有下列优点:
本发明实施例结合网络模拟器事件调度机制和父子进程特点,能够动态的配置网络模拟器中的事件队列,在网络模拟器运行之后可以根据用户需求继续向事件队列中添加事件,并通过创建父子进程,可以更清晰的管理网络模拟器,父进程负责对事件队列添加事件,子进程负责事件队列的调度,而且通过对网络模拟器原有运行机制的修改,使得网络模拟器在特定时间点继续调度事件队列中后续的事件。
附图说明
图1为网络模拟器调度过程流程图;
图2为本发明实施例的动态配置网络模拟器事件队列的系统组成示意图;
图3为本发明实施例的动态配置网络模拟器事件队列的方法流程图;
图4为本发明实施例的虚拟网络拓扑示意图;
图5为本发明实施例的事件队列变化图;
图6为本发明实施例的动态配置网络模拟器事件队列的方法允许结果图。
具体实施方式
为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
随着模拟、仿真等虚拟化、网络模拟技术的发展,越来越多的研究者使用虚拟机、网络模拟器、适量实物设备等构建虚拟网络环境来替代搭建复杂且耗时的实体试验环境,意味着网络模拟器已成为网络技术研究、工具测试、场景重现与回溯推演等网络活动研究基础工具。网络模拟器种类繁多,如OPNET、NS3、OMNeT++、J-sim等,与其他模拟器相比,NS3能够模块化、真实模拟协议细节,提供轻量虚拟机。在本发明中,网络模拟器为NS3。
网络模拟器涉及到事件调度机制、事件队列机制、时钟管理机制、日志机制等,其内部已实现常见的网络协议,如TCP、UDP、ICMP、IP、ARP等包括数据链路层、网络层、传输层部分协议,并在此基础上进一步完善了应用层的部分功能,如Ping、UdpEcho、BulkSend、PacketSink等,通过发送数据包或输出的形式表现应用的功能,用户可以通过补包或者输出打印的方式查看通过网络模拟器构建的模拟网络内部的网络行为。
网络模拟器基于离散事件的调度框架,是通过网络模拟器引擎实现网络行为的完全模拟。所谓离散事件系统是指系统的状态在一些离散时间点上由于某种事件的驱动而发生变化,各个事件都会有个指定执行的预定模拟时间,模拟器会跟踪预定好的模拟时间执行多个事件。模拟器的工作机制是按预定模拟时间顺序执行事件队列中的事件,依次调度。一旦事件发生并执行完成,模拟器将移动事件队列的指针到下一个事件处调度执行该事件,直到模拟器移动到事件队列队尾或结束事件处为止。从网络模拟层面看,数据包的发送、接收等一系列过程实际上是依据协议规定的格式、时间等进行有序的动作,因此事件调度的基本原理是将网络中数据包的发送、接收等一些列动作看成离散事件,从而有序的排列在网络模拟器事件队列中。网络模拟器事件队列初始化过程实际上就是构建虚拟网络、实现一些网络行为的过程,运行网络模拟器的过程实际就是调度器依次调度事件队列、执行事件的过程。图1为网络模拟器调度过程流程图。
网络模拟器的核心是网络模拟器引擎。该核心是层级结构,底层核心包含有事件机制、调度机制、时间管理机制等,提供底层的事件调度等功能,共同为上层提供支撑;上层核心提供节点类、网络设备类、事件队列、时间相关机制类等的定义,为网络模拟器提供对外接口。通过对网络模拟器引擎底层核心的修改,可以实现对事件调度机制调度过程的修改。
基于网络模拟器调度机制的特点,用户只能在在网络模拟器运行之前将所需调度的事件按顺序插入队列中,待用户将需求全部插入队列后才能执行调度过程,事件调度机制按时间顺序依次调度事件队列中的事件。尽管网络模拟器已实现事件调度的一般过程,在网络模拟器运行之后,如果用户还有额外的需求,如在特定时间节点对模拟网络进行特定操作,这时的网络模拟器事件调度机制将失去一般性,不能根据需求动态的向事件队列中追加事件。
基于此,第一方面,本发明实施例提出一种动态配置网络模拟器事件队列的方法,包括:
步骤一、构建虚拟网络拓扑,并初始化网络模拟器的事件队列;
步骤二、创建父进程;
步骤三、控制所述父进程创建子进程;
步骤四、控制当前子进程执行当前事件队列的调度任务,所述父进程实时监听用户的动态配置信号;
步骤五、判断所述父进程是否监听到所述动态配置信号,若是,结束当前子进程,所述父进程向事件队列添加动态配置的事件,返回步骤三,否则,返回步骤四。
本发明实施例结合网络模拟器事件调度机制和父子进程特点,能够动态的配置网络模拟器中的事件队列,在网络模拟器运行之后可以根据用户需求继续向事件队列中添加事件,并通过创建父子进程,可以更清晰的管理网络模拟器,父进程负责对事件队列添加事件,子进程负责事件队列的调度,而且通过对网络模拟器原有运行机制的修改,使得网络模拟器在特定时间点继续调度事件队列中后续的事件。
在上述实施例的基础上,进一步提出各变型实施例,在此需要说明的是,为了使描述简要,在各变型实施例中仅描述与上述实施例的不同之处。
根据本发明的一些实施例,在所述父进程监听到所述动态配置信号之后、结束当前子进程之前,控制当前子进程将网络模拟器的当前运行时间和当前启动时间写入管道。
根据本发明的一些实施例,所述父进程向事件队列添加动态配置的事件,包括:
所述父进程从所述管道读取所述网络模拟器的当前运行时间和当前启动时间,并基于所述网络模拟器的当前运行时间和当前启动时间向事件队列添加动态配置的事件。
根据本发明的一些实施例,在所述父进程向事件队列添加动态配置的事件之后,基于所述网络模拟器的当前运行时间和当前启动时间,更新所述网络模拟器的当前启动时间。
根据本发明的一些实施例,当所述父进程向事件队列添加动态配置的事件之后,所述控制当前子进程执行当前事件队列的调度任务,包括:
所述当前子进程依次比较所述事件队列中事件的执行时间与所述网络模拟器的当前启动时间,当所述事件的执行时间在所述当前启动时间之前,跳至下一事件,当所述事件的执行时间为所述当前启动时间或在所述当前启动时间之后,调度所述事件。
第二方面,本发明实施例提出一种动态配置网络模拟器事件队列的系统,如图2所示,所述系统包括:
网络模拟器模块,包括其他接口和事件调度机制接口;
虚拟网络构建模块,包括拓扑构建子模块、事件添加子模块、以及进程切换子模块;
所述拓扑构建子模块,用于构建虚拟网络拓扑;
所述事件添加子模块,用于利用所述其他接口初始化网络模拟器的事件队列;
所述进程切换子模块,用于创建父进程,控制所述父进程创建子进程,控制当前子进程执行当前事件队列的调度任务,所述父进程实时监听用户的动态配置信号,判断所述父进程是否监听到所述动态配置信号,若是,结束当前子进程,所述父进程通过所述事件添加子模块,利用所述事件调度机制接口向事件队列添加动态配置的事件,所述父进程重新创建子进程,否则,继续控制当前子进程执行当前事件队列的调度任务。
本发明实施例结合网络模拟器事件调度机制和父子进程特点,能够动态的配置网络模拟器中的事件队列,在网络模拟器运行之后可以根据用户需求继续向事件队列中添加事件,并通过创建父子进程,可以更清晰的管理网络模拟器,父进程负责对事件队列添加事件,子进程负责事件队列的调度,而且通过对网络模拟器原有运行机制的修改,使得网络模拟器在特定时间点继续调度事件队列中后续的事件。
在上述实施例的基础上,进一步提出各变型实施例,在此需要说明的是,为了使描述简要,在各变型实施例中仅描述与上述实施例的不同之处。
根据本发明的一些实施例,所述进程切换模块,还用于:
在所述父进程监听到所述动态配置信号之后、结束当前子进程之前,控制当前子进程将网络模拟器的当前运行时间和当前启动时间写入管道。
根据本发明的一些实施例,所述进程切换模块,用于:
所述父进程从所述管道读取所述网络模拟器的当前运行时间和当前启动时间,并通过所述事件添加子模块,利用所述事件调度机制接口,基于所述网络模拟器的当前运行时间和当前启动时间向事件队列添加动态配置的事件。
根据本发明的一些实施例,所述进程切换模块,用于:
在所述父进程通过所述事件添加子模块,利用所述事件调度机制接口向事件队列添加动态配置的事件之后,基于所述网络模拟器的当前运行时间和当前启动时间,更新所述网络模拟器的当前启动时间;
所述当前子进程依次比较所述事件队列中事件的执行时间与所述网络模拟器的当前启动时间,当所述事件的执行时间在所述当前启动时间之前,跳至下一事件,当所述事件的执行时间为所述当前启动时间或在所述当前启动时间之后,调度所述事件。
下面以具体的实施例详细论述本发明实施例的动态配置网络模拟器事件队列的系统及方法。
图2为本发明实施例的动态配置网络模拟器事件队列的系统示意图,如同2所示,所述系统包括:虚拟网络构建模块和网络模拟器模块。
虚拟网络构建模块包括拓扑构建子模块、进程切换子模块和事件添加子模块。其中:
1)拓扑构建子模块:根据用户需求,利用网络模拟器提供的接口构建虚拟网络拓扑
2)进程切换子模块:子进程负责网络模拟器事件队列的调度,通过接收用户请求(这里用信号模拟),子进程退出,父进程回收子进程资源,通过事件添加子模块添加事件,创建父子进程,子进程依旧负责网络模拟器事件队列的调度;
3)事件添加子模块:在进程切换子模块中,父进程添加应用,实现向事件队列中追加事件功能。
网络模拟器模块用于:
根据系统需求,修改网络模拟器运行函数,使其能够根据传递的时间参数实现调度事件队列中的特定事件。同时,网络模拟器模块基于网络模拟器引擎,向虚拟网络构建模块提供调用接口,实现虚拟网络的拓扑构建、事件添加和事件调度。
网络模拟器引擎中的接口为虚拟网络的构建和事件添加提供调用接口,事件调度机制为本发明中修改部分,为进程切换后子进程继续运行网络模拟器提供调用的接口。
图3为本发明实施例的动态配置网络模拟器事件队列的方法流程图,如图3所示,基于动态配置网络模拟器事件队列的系统,本发明实施例的动态配置网络模拟器事件队列的方法,包括:
1.在虚拟网络构建模块中构建虚拟网络拓扑,向事件队列中添加用户已定义的事件;
2.创建父子进程,子进程运行网络模拟器,并接收用户动态配置信号,收到信号后将当前模拟器运行时间和模拟器启动时间写入管道中,并结束子进程;
3.父进程阻塞回收子进程资源,当子进程退出时,父进程根据读取到的管道时间向网络模拟器的事件队列中写入动态配置的事件;
4.重复执行步骤2和步骤3,通过父子进程切换,实现网络模拟器事件队列的动态配置。
在此,需要说明的是,网络模拟器事件队列动态配置过程中,第一次创建父子进程时,子进程执行的网络模拟运行函数为模拟器自带的事件调度函数(无修改),但从第二次创建父子进程后,子进程执行的网络模拟器运行函数为修改的事件调度函数,修改后的函数对事件队列调度的主要步骤为:
1.接收原网络模拟器初始化时间和运行时间,设定当前网络模拟器的初始化时间;
2.调度事件队列中的事件时,比较事件的执行时间与步骤1中的运行时间,如果在运行时间之前,则跳过该事件,继续调度队列中下一个事件,直到事件的执行时间等于步骤1的运行时间;
3.当调度的事件执行时间大于等于步骤1中的执行时间时,正常调度。
本发明对网络模拟器的修改主要涉及到事件调度机制、时钟管理机制的修改,修改的事件调度机制可以使网络模拟器调度队列中的特定事件,时钟管理机制则改变了网络模拟器的初始化时间,为进程切换预留了部分时间,保证网络模拟器的正常运作。
采用本发明实施例,与原网络模拟器相比,具有如下优点:
1)能够动态的配置网络模拟器中的事件队列,在网络模拟器运行之后可以根据用户需求继续向事件队列中添加事件;
2)通过创建父子进程,可以更清晰的管理网络模拟器,父进程负责对事件队列添加事件,子进程负责事件队列的调度;
3)通过对网络模拟器原有运行机制的修改,使得网络模拟器可以通过传递参数,实现在特定时间点继续调度事件队列中后续的事件。
例如,图4是根据网络模拟器创建的一个典型的虚拟网络拓扑实例模型,下面以此为例说明实施方式:
1.添加事件
本实例中根据网络模拟器中应用事件的类型,向事件队列中插入UdpEcho事件,从1秒开始发包,间隔1秒,共发40个包,用时40秒结束应用。
2.子进程处理
创建父子进程,子进程负责执行网络模拟器的运行函数,同时对用户的动态配置请求进行监听(用外部信号模拟用户请求)。
3.父进程处理
父进程循环等待回收子进程资源,待子进程退出,父进程回收资源后,向网络模拟器插入Ping事件,事件起始时间为子进程收到用户动态配置请求时刻,Ping事件间隔1秒,共发4个ICMP包,用时4秒结束。
4.父子进程管理
待事件队列中动态插入事件后,重新创建父子进程,子进程通过传入时间参数调用网络模拟器的运行函数,并监听用户的动态配置(信号),父进程依旧循环等待回收子进程资源,直到子进程退出,则重复步骤3和步骤4,直到程序退出为止。
图5为网络模拟器事件队列前后变化图。其中,a图为用户请求到来之前的事件队列,子进程中调度器会按照事件的顺序依次调度事件队列中的事件;直到用户请求时(T=t0),父进程回收子进程资源,父进程将用户动态配置的请求事件添加到事件队列中,在父进程中的事件队列状态为图b所示;图c为新创建的子进程调度的事件队列,在t0处插入事件,并从t0时刻处开始调度。
图6为上述过程的一个实例运行的部分结果,子进程中运行网络模拟器,前5秒(红色框内)时没有用户请求到来,在5秒之后(红框和黄框之间处)有用户请求到来(蓝色框中向子进程发送SIGUSR2信号),父进程将Ping事件写入事件队列中,新的子进程又在用户请求时刻处继续调度Ping事件,并且不影响原有的UdpEcho事件的正常调度(黄框内)。
本发明实施例公开了一种动态配置网络模拟器事件队列的方法及系统,通过父子进程切换、进程间通信、网络模拟器调度特定事件等为基础,使网络模拟器能在运行状态下实现动态干预的功能,通过上述实例,可进一步实现网络模拟器以实现的协议及其下功能,丰富了网络模拟器的实用功能,使其在虚拟网络中可以承担更重要的作用。
第三方面,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上所述的动态配置网络模拟器事件队列的方法。
本发明实施例所说的计算机存储介质可以是ROM/RAM、磁碟、光盘等,其中包括若干指令用以使得一台设备执行动态配置网络模拟器事件队列的方法程序。
需要说明的是,以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种动态配置网络模拟器事件队列的方法,其特征在于,包括:
步骤一、构建虚拟网络拓扑,并初始化网络模拟器的事件队列;
步骤二、创建父进程;
步骤三、控制所述父进程创建子进程;
步骤四、控制当前子进程执行当前事件队列的调度任务,所述父进程实时监听用户的动态配置信号;
步骤五、判断所述父进程是否监听到所述动态配置信号,若是,结束当前子进程,所述父进程向事件队列添加动态配置的事件,返回步骤三,否则,返回步骤四。
2.根据权利要求1所述的方法,其特征在于,在所述父进程监听到所述动态配置信号之后、结束当前子进程之前,控制当前子进程将网络模拟器的当前运行时间和当前启动时间写入管道。
3.根据权利要求2所述的方法,其特征在于,所述父进程向事件队列添加动态配置的事件,包括:
所述父进程从所述管道读取所述网络模拟器的当前运行时间和当前启动时间,并基于所述网络模拟器的当前运行时间和当前启动时间向事件队列添加动态配置的事件。
4.根据权利要求3所述的方法,其特征在于,在所述父进程向事件队列添加动态配置的事件之后,基于所述网络模拟器的当前运行时间和当前启动时间,更新所述网络模拟器的当前启动时间。
5.根据权利要求4所述的方法,其特征在于,当所述父进程向事件队列添加动态配置的事件之后,所述控制当前子进程执行当前事件队列的调度任务,包括:
所述当前子进程依次比较所述事件队列中事件的执行时间与所述网络模拟器的当前启动时间,当所述事件的执行时间在所述当前启动时间之前,跳至下一事件,当所述事件的执行时间为所述当前启动时间或在所述当前启动时间之后,调度所述事件。
6.一种动态配置网络模拟器事件队列的系统,其特征在于,包括:
网络模拟器模块,包括其他接口和事件调度机制接口;
虚拟网络构建模块,包括拓扑构建子模块、事件添加子模块、以及进程切换子模块;
所述拓扑构建子模块,用于构建虚拟网络拓扑;
所述事件添加子模块,用于利用所述其他接口初始化网络模拟器的事件队列;
所述进程切换子模块,用于创建父进程,控制所述父进程创建子进程,控制当前子进程执行当前事件队列的调度任务,所述父进程实时监听用户的动态配置信号,判断所述父进程是否监听到所述动态配置信号,若是,结束当前子进程,所述父进程通过所述事件添加子模块,利用所述事件调度机制接口向事件队列添加动态配置的事件,所述父进程重新创建子进程,否则,继续控制当前子进程执行当前事件队列的调度任务。
7.根据权利要求6所述的系统,其特征在于,所述进程切换模块,还用于:
在所述父进程监听到所述动态配置信号之后、结束当前子进程之前,控制当前子进程将网络模拟器的当前运行时间和当前启动时间写入管道。
8.根据权利要求7所述的系统,其特征在于,所述进程切换模块,用于:
所述父进程从所述管道读取所述网络模拟器的当前运行时间和当前启动时间,并通过所述事件添加子模块,利用所述事件调度机制接口,基于所述网络模拟器的当前运行时间和当前启动时间向事件队列添加动态配置的事件。
9.根据权利要求8所述的系统,其特征在于,所述进程切换模块,用于:
在所述父进程通过所述事件添加子模块,利用所述事件调度机制接口向事件队列添加动态配置的事件之后,基于所述网络模拟器的当前运行时间和当前启动时间,更新所述网络模拟器的当前启动时间;
所述当前子进程依次比较所述事件队列中事件的执行时间与所述网络模拟器的当前启动时间,当所述事件的执行时间在所述当前启动时间之前,跳至下一事件,当所述事件的执行时间为所述当前启动时间或在所述当前启动时间之后,调度所述事件。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1~5中任一项所述的动态配置网络模拟器事件队列的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011469878.1A CN112737815B (zh) | 2020-12-15 | 2020-12-15 | 一种动态配置网络模拟器事件队列的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011469878.1A CN112737815B (zh) | 2020-12-15 | 2020-12-15 | 一种动态配置网络模拟器事件队列的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112737815A CN112737815A (zh) | 2021-04-30 |
CN112737815B true CN112737815B (zh) | 2022-05-20 |
Family
ID=75599919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011469878.1A Active CN112737815B (zh) | 2020-12-15 | 2020-12-15 | 一种动态配置网络模拟器事件队列的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112737815B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115134254B (zh) * | 2022-06-28 | 2023-11-03 | 抖音视界(北京)有限公司 | 一种网络模拟方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237395A (zh) * | 2007-02-01 | 2008-08-06 | 北京邮电大学 | 宽带移动通信网络性能的分层动态仿真实现方法 |
CN105488288A (zh) * | 2015-12-07 | 2016-04-13 | 贵州电网公司信息通信分公司 | 一种ns3并行模拟仿真系统 |
CN108768685A (zh) * | 2018-03-29 | 2018-11-06 | 中国电力科学研究院有限公司 | 大规模信息通信网络实时仿真模拟系统 |
CN110457747A (zh) * | 2019-07-02 | 2019-11-15 | 浙江工业大学 | 一种基于ns3和matlab的网络化控制系统协同仿真方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7526420B2 (en) * | 2002-11-27 | 2009-04-28 | Opcoast Llc | Method and system for virtual injection of network application codes into network simulation |
CN101980166B (zh) * | 2010-10-09 | 2013-03-13 | 北京航空航天大学 | 一种用于机群系统并行模拟的时间序列控制方法 |
CN103684893B (zh) * | 2012-09-04 | 2017-07-07 | 清华大学 | 一种网络仿真分析设备及方法 |
CN105553732B (zh) * | 2015-12-23 | 2019-03-22 | 中国科学院信息工程研究所 | 一种分布式网络模拟方法及系统 |
CN106888115B (zh) * | 2017-02-09 | 2019-08-02 | 中国科学院信息工程研究所 | 一种网络拓扑构建方法与系统 |
CN111917750B (zh) * | 2020-07-24 | 2024-02-27 | 国电南瑞科技股份有限公司 | 一种仿真通信网与仿真电网的数据交互方法及接口 |
-
2020
- 2020-12-15 CN CN202011469878.1A patent/CN112737815B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237395A (zh) * | 2007-02-01 | 2008-08-06 | 北京邮电大学 | 宽带移动通信网络性能的分层动态仿真实现方法 |
CN105488288A (zh) * | 2015-12-07 | 2016-04-13 | 贵州电网公司信息通信分公司 | 一种ns3并行模拟仿真系统 |
CN108768685A (zh) * | 2018-03-29 | 2018-11-06 | 中国电力科学研究院有限公司 | 大规模信息通信网络实时仿真模拟系统 |
CN110457747A (zh) * | 2019-07-02 | 2019-11-15 | 浙江工业大学 | 一种基于ns3和matlab的网络化控制系统协同仿真方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112737815A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109802852B (zh) | 应用于网络靶场的网络仿真拓扑的构建方法及系统 | |
US6295518B1 (en) | System and method for emulating telecommunications network devices | |
Ahrenholz et al. | Integration of the CORE and EMANE Network Emulators | |
CN108460199B (zh) | Cni建模系统 | |
CN110838954B (zh) | 一种轻量级大规模自主网络协议功能测试方法 | |
CN114422010B (zh) | 一种基于网络虚拟化的卫星通信仿真平台的协议测试方法 | |
CN110838961B (zh) | 一种通用航空总线消息调度系统 | |
CN109731334B (zh) | 状态的切换方法和装置、存储介质、电子装置 | |
CN109598040A (zh) | 基于tcp协议的ns3与matlab集成的联合仿真接口方法 | |
CN112737815B (zh) | 一种动态配置网络模拟器事件队列的方法及系统 | |
WO2017113848A1 (zh) | 测试用例的测试方法及测试平台、模拟测试设备 | |
Baldassari et al. | PROTOB: An object‐oriented case tool for modelling and prototyping distributed systems | |
CN112947125A (zh) | 一种基于高速串行总线的嵌入式无人机集群仿真系统 | |
US7099813B2 (en) | Simulating program instruction execution and hardware device operation | |
CN105323109B (zh) | 互连网络仿真器及用于仿真互连网络的方法 | |
Boockmeyer et al. | Hatebefi: Hybrid applications testbed for fault injection | |
Zhou et al. | Self-organization of reconfigurable protocol stack for networked control systems | |
Chatzigiannakis et al. | DAP: A generic platform for the simulation of distributed algorithms | |
WO2019021898A1 (ja) | 開発支援装置 | |
Al-Somaidai et al. | Effects of linux scheduling algorithms on Mininet network performance | |
CN114826938B (zh) | 一种通信协议仿真的实现方法 | |
CN117872813A (zh) | 一种半实物实时仿真方法及系统 | |
Lu | A user introduction to NNSE: Nostrum Network-on-Chip simulation environment | |
CN113552848B (zh) | 单个或跨多个通信网管系统的sdh路径创建系统及方法 | |
KR101197245B1 (ko) | 로봇 동작을 제어하는 프레임워크 시스템 및 이를 이용한 로봇의 동작 제어 방법 |
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 |