西安工业大学计算机科学与工程学院傅妍芳,西安工业大学学报

  • Post author:
  • Post category:其他


2.3 QoS策略设计

DDS的实时性是建立在其丰富的QoS策略之上的,OMG在DDS规范中定义了22种QoS策略,本文通过配置不同主题、不同发布者、不同订阅者的QoS策略来极大地优化空战模拟仿真系统的通信性能。结合DDS自身的QoS策略设计了适用于该空战模拟仿真系统的QoS策略,分别为持久性策略(Durability),历史策略(History),可靠性策略(Reliability)。

持久性策略描述了数据在其被发布的时刻之外是否继续存在。Durability策略参数值见表4。

pic90.jpg

表4 Durability策略可取值

Tab.4 Durability strategy values

在该空战模拟仿真系统运行时,将发布或订阅爆炸事件主题的节点的Durability策略设置为VOLATILE_DURABILITY,当战场环境态势显示节点因某种原因掉线重连时,原本已经发布爆炸事件主题的实体仍然存在于态势显示界面,这就会影响实际仿真运行; 将Durability策略设置为TRANSIENT_DURABILITY_QOS,当计算机生成兵力节点因某种原因掉线但不继续参与战场战斗时,系统会自动将已经发布的爆炸事件主题保存到内存,对于掉线后不继续上线的节点是不需要存储与之相关的事件信息的; 将Durability策略设置为PERSISTENT_DURABILITY_QOS,其实与TRANSIENT_DURABILITY_QOS的意义大致相同,但PERSISTENT_DURABILITY_QOS会将以往演练的所有永久策略的主题都存贮到系统硬盘中,需要使用者将历史中所有主题事件进行再次管理; 所以本文将所有交互类的主题策略设置为TRANSIENT_LOCAL_DURABILITY_QOS,保证了仿真的正常运行。

历史策略描述了DDS会尝试发送最近的多少个数据给后加入的订阅者。History策略参数值见表5。

pic91.jpg

表5 History策略取值

Tab.5 History strategy values

将History策略设为KEEP_LAST_HISTORY_QOS,并指定depth值为n时,则表示DDS会尝试发送最近的n个数据给后加入的订阅者; KEEP_ALL_HISTORY_QOS为DDS会将所有发布过的数据发送给新加入的订阅者。

History策略是和Durability策略相互配合使用的,对于该空战模拟仿真系统而言具体保留最近多少个数据样本是难以确定的,所以本系统将History策略设置为KEEP_ALL_HISTORY_QOS,即保留所有配置该策略的主题到DDS。

可靠性策略描述了数据写入者和数据读取者怎样对待他们所处理的数据。Reliability策略参数值见表6。

pic92.jpg

表6 Reliability策略取值

Tab.6 Reliability strategy values

RELIABLE_RELIABILITY_QOS将保证所有的数据被可靠地传输到数据读取者; BEST_EFFORT_RELIABILITY_QOS则没有数据的检测与重发机制,将不保证数据传输的可靠性。

在该空战模拟仿真系统运行时,将发布或订阅实体注册主题的节点的Reliability策略设置为参数1,战场环境态势显示节点可能只会显示个别节点或实体,因为参数1不保证数据传输的可靠性,所以没有收到的实体注册事件的实体在态势显示界面不会正常显示; 但是对于对象类的主题,因为数据持续在更新,所以丢失个别数据包对整个系统运行是没有影响的。所以本系统将交互类主题的Reliability策略设置为参数2,这样就避免了各节点丢失重要的仿真控制命令以及交互类主题,整个仿真系统也能进行正常运行。