关键词: 验出站 辐射成像 大型集装箱检测
1 引言
大型集装箱检测的辐射成像领域的重要应用之一。在大型集装箱检测系统中, 验出站(check o u t stat ion, co s) 是最后一个站点, 对集装箱的检查结束及放行负有重要责任。验出站设在扫描通道出口附近, 由验出员操作, 主要功能有: 验出员登录、集装箱拖车停位管理、从运行管理站(operat ion m anagem en t stat ion, om s) 获取集装箱一般信息及报关单图像、从om s 获取及打印集装箱可疑部位图像、向om s 发送开箱检查结果、输出检查报告、根据图像检查结果决定集装箱放行或开箱检查。从co s 的需求可以看出, 它的核心功能分为两块: 一是操作界面; 二是co s 与om s 之间的机间进程通讯。其中后者是验出站软件系统总体结构设计的关键和难点所在。下面就根据co s 设计和实现过程中的具体工作, 首先对co s 软件包中通讯模式设计进行讨论, 然后介绍co s 用户界面设计及相关的软件技术。
2 cos-om s 通讯模式设计
co s 软件系统中最重要的部分是co s 与om s 的进程通讯, 这一机间进程通讯是通过bsd413的套接字(socket) 实现的。在co s 与om s 之间建立两个通讯通道: 令通道和数据通道。前者负责传递co s 与om s 之间的命令和参数, 后者负责在co s 和om s 之间传递数据。考虑到集装箱的验出检查过程具有随机性: 前一辆集装箱尚未验出结束, 后一辆集装箱的数据包就可能已经由om s 投送到co s; 从co s 接受集装箱数据包到co s 向om s 递交检查结论构成一辆集装箱检查的完整周期, 而对于不同的集装箱, 这一周期的长短各不相同(如需要开箱的集装箱检查周期长)。因此, 如何最大程度地提高co s 的工作效率, 减小系统的开销, 处理好co s 与om s 之间的异步性, 是设计co s2om s 通讯模式所需优先考虑的问题。下面是对实现的几种方案的讨论。
第一种方案: 基于clien t?server 模式的机间进程通讯。根据co s 软件包的功能要求, 可将其分为两个模块: 主控模块com ain、co s 客户进程cow ccm s。前者完成co s 的主要功能,后者由前者创建, 负责与om s 进行通讯。相应的om s 中有针对co s 的守护服务器模块omd sco s, 负责与cow ccm s 的通讯。三个模块的相互关系如图1所示。
com ain 是clien t, 运行于本地工作站上。由验出员操作, 向om s 发送各种请求, 并等待om s 回答, 然后做相应的处理。om sd sco s 是server, 运行于远程的运行管理站上, 先于co s软件包启动。启动后, 监听两者之间的通讯通道上来自co s 的服务请求, 并提供相应的服务。
此方案的优点是程序体系结构简单,易于理解和维护。由于进程数量并不多, 且消息通道与远程信道数也只有一个, 故系统性能较高, 可靠性强。但是, 此方案也有明显的缺点, 如验出处理要求是由co s 向om s 单方提出的, 如果验出员工作效率不高, 可能造成om s 中集装箱数据拥塞; 此外, 当om s 向co s 提出询问或要求时, co s 不能作出响应。
(待续)
