实时控制Exata节点移动轨迹的方法

文档序号:9726695阅读:1707来源:国知局
实时控制Exata节点移动轨迹的方法
【专利说明】实时控制Exat a节点移动轨迹的方法
[0001]
技术领域
[0002] 本发明涉及通信领域,具体是一种可以实时控制Exata(-种网络仿真软件)节点 移动轨迹的方法。
【背景技术】
[0003] 在进行产品开发或者新技术推广时,仿真是降低难度和成本的重要手段,由于可 以兼顾成本与仿真的真实性,半实物仿真近些年得到了越来越多的重视。Exata是基于 Qualnet仿真内核的一种半实物仿真软件,其创建的"虚拟网络"完全可以与真实物理网络 中的所有组件互相通信和交换数据。另外,由于Exata的协议层次较为简单,层间耦合较松, 其产品开发和测试周期短。同时,Exata协议实体对平台资源需求较少,后期的移植较为简 单,产品实用化速度较快。由于以上优点,Exata已经成为无线网络半实物仿真的主流软件。
[0004] 除独立进行网络仿真之外,Exata还可与其他模块配合进行大系统仿真实验。图1 中的系统共包括3个模块,可以看到,仿真模块需要实时接收并响应来自外部主控模块的指 令,其中比较重要的就是节点的移动信息,这由仿真软件的移动模型来控制。目前,Exata中 控制节点移动的方法有如下4种。
[0005] (1 )FILE:基于文件的节点移动控制方法。
[0006] 在仿真进行过程中,节点不同时刻的位置信息来自本地配置文件。位置信息在仿 真开始前设置好,无法实时添加。在这种移动模式下,节点沿直线以恒定速度从一个位置移 动到另一个位置。
[0007] (2 )GR0UP:基于组移动的节点移动控制方法。
[0008] 同属一组的节点一起移动,移动轨迹和移动方式遵循RANDOM-WAYPOINT移动模型 规则,即每个节点在组范围内按照RANDOM-WAYPOINT移动模型规则来移动。
[0009] (3)PEDESTRIAN-M0BILITY:基于行人移动模型的节点移动控制方法。
[0010] 节点移动轨迹在仿真开始时刻计算好,节点模拟人移动特点,或沿街道行走,或走 向诸如公园和车站这些地方,也或在这些地方范围内行走。
[0011] (4)RAND0M-WAYP0INT:基于随机游走模型的节点移动控制方法。
[0012] 节点移动轨迹在仿真开始时刻计算好,节点随机选择下一个需要移动到达的位 置,每次移动都在规定范围内随机选择一个固定的速度,沿直线移动到目的节点,然后暂停 在新的位置上等待下一次的移动。
[0013] 以上这几种Exata自带的控制节点移动的方法,或按照某种固定的方式移动,或随 机移动,且移动路径在仿真开始时刻就计算好,因此不管是哪一种节点移动控制方法都不 能在Exata网络仿真开始后实时地接收和响应外部指令并进行相应的位置移动。综上所述, 当前Exata仿真软件自带的几种控制节点移动轨迹的方法都需要在仿真前规划好节点的移 动轨迹,无法在仿真过程中实时控制节点移动。但由于Exata仿真软件并未完全开放源代 码,因此要实现对Exata节点移动轨迹的实时控制。

【发明内容】

[0014]本发明的目的在于提供一种可以实时控制Exata节点移动轨迹的方法,扩展Exata 仿真软件在大系统仿真实验中的应用。
[0015] 实现本发明目的的技术解决方案为:一种实时控制Exata节点移动轨迹的方法,步 骤如下: (1) 在Exata网络仿真软件内实现UDP通信服务器程序,接收外部主控模块发来的节点 移动信息; (2) 在网络仿真运行的过程中,Exata网络仿真软件根据接收到的节点移动信息,将节 点移动位置通过添加事件的方式加入相应节点的移动事件列表来控制节点移动; (3) 当节点移动到新位置后,如果再没有更新的移动位置,则令节点原地踏步而非停止 移动。
[0016] 所述步骤(1)中,在Exata网络仿真软件内实现UDP通信服务器程序,该服务器程序 作为一个线程在Exata网络仿真启动后一直运行,实时监听并接收外部主控模块发送的节 点移动信息;外部主控模块运行UDP通信的客户端程序,并将节点的移动信息发送到Exata 仿真软件中的UDP通信服务器程序。
[0017] 步骤(2)所述网络仿真运行的过程中,Exata网络仿真软件接收到外部主控模块发 来的节点移动信息,便通过解码该节点移动信息数据包,得到待移动节点的ID和节点的目 的位置,然后将当前仿真时间+N秒作为节点此次移动的停止时刻,最终Exata将节点此次移 动的停止时刻和目的位置加入到相应ID节点的移动事件列表中(即产生新的移动事件); Exata网络仿真软件通过逐个执行节点移动事件列表中的事件从而使节点在每个移动停止 时刻到达相应的目的位置。
[0018] 所述步骤(3 )中,每当节点移动到新位置后,E X a t a网络仿真软件判断该节点的新 位置是否是它的移动事件列表中的最后一个目的位置;如果新位置是最后一个目的位置, Exata将为该节点产生一个"原地踏步"事件并加入到它的移动事件列表中;如果新位置不 是最后一个目的位置,则Exata按照节点移动事件列表中的停止时刻和目标位置继续控制 节点移动。所述"原地踏步"事件是指节点下一次移动的停止时刻为当前仿真时间+M秒,而 移动的目标位置仍然是当前位置。
[0019] 本发明与现有技术相比,其显著优点为:本发明利用UDP通信来接收移动指令,并 使用事件插入与原地踏步策略来解决Exata仿真软件位置管理模块代码未开放所带来的技 术挑战,最终实现了可以实时接收移动指令并控制Exata节点移动轨迹,目前Exata自带的 几种移动轨迹控制方法均无法实现此功能。
【附图说明】
[0020] 图1是Exata仿真软件用于大系统仿真实验时所处的位置。
[0021]图2是本发明UDP通信节点移动位置信息数据格式。
[0022]图3是本发明节点对新位置的处理流程。
[0023]图4是本发明的仿真场景。
[0024]图5是5分钟时节点位置。
[0025]图6是10分钟时节点位置。
[0026]图7是20分钟时节点位置。
【具体实施方式】
[0027]实现本发明的目的需要解决如下技术问题: (1 )Exata仿真软件本身并未提供与其他软件的接口来接收移动指令; (2) Exata仿真软件的位置管理模块并未开源,无法直接对节点的移动轨迹进行控制; (3) 由于Exata仿真软件中的位置管理模块未开源,导致节点静止下来之后,无法使其 再次移动。
[0028] 本发明提出的方法利用UDPQJser Datagram Protocol,用户数据报协议)通信,事 件添加以及原地踏步等策略,使得Exata仿真软件可以在仿真运行过程中实时接收外部主 控模块发来的移动指令,并根据移动指令控制节点的移动。
[0029]首先,必须要解决节点移动信息的实时接收问题,本发明定义了节点位置消息的 格式并在Exata源代码中添加了 UDP服务器的程序来实现此功能,这么做的好处是可以
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1