甘 兵, 朱 毅, 王红艳, 刘黎平
(1.成都信息工程学院,四川成都610225;2.中国气象科学研究院灾害天气国家重点实验室,北京100081)
图1是双偏振雷达数据处理软件系统,包括雷达产品生成系统和产品显示系统。
分布式雷达产品生成[1-2]软件是一个由大量雷达气象算法任务组成的软件系统,包括复杂的计算任务,复杂的控制流和数据流,并且实时性要求高,是一个兼有计算密集和IO密集的系统。系统主要以后台复杂气象算法数据处理为核心,辅以简单的用户控制界面。每个算法任务定义为一个CORBA对象,作为独立进程运行,任务间通过COBRA的事件通道传输数据,包括中间数据和最终产品。
事件通道[3]将所有的基本数据发送给所有的消费者任务子模块,每一个消费者任务子模块接收连接到同一个事件通道的提供者发来的所有的基本数据。事件通道将所有的基本数据发送给所有消费者任务子模块是对系统资源的一种浪费,因为很多消费者任务子模块会将大部分接收到的无关的基本数据进行丢弃(通道发送大量与接收任务无关的数据之前被迫存储一些基本数据并占用时间来连接发送)。这样将导致在通道和其接收任务模块之间有大量不必要的数据事件通信。每一种类型的数据通道只能处理一种类型的数据,使用多个事件数据类型需要多个事件通道,事件在独立的事件通道上是相同的(代码必须由消费者任务子模块写不同的处理这些数据事件),CPU必须花费时间判断和丢弃不需要事件,影响消费者任务的执行效率。……