论文部分内容阅读
目前,在重离子加速器领域,由于数据量庞大,传统的基于实验物理及工业控制系统(Experimental Physics and Industrial Control System,EPICS)、用于过程控制的对象连接与嵌入(Object Linking and Embedding forProcessControl,OPC)、用于过程控制的对象连接与嵌入统一架构(Object Linking and Embedding forProcessControl Unified Architecture,OPC UA)等框架设计的数据管理平台存在诸如数据可读性差、数据传递速率低下以及系统规模可扩展性差等问题,这些问题导致目前的数据传输系统无法满足对大规模高速数据传输的需求。本文以兰州重离子加速器装置(High Intensity Heavy-ion Accelerator Facility Lanzhou,HIRFL)为背景,分析了当前加速器数据传输过程中存在的问题,同时调研了目前市面上广泛应用的各类消息传递机制的架构和特点,设计实现了一种基于NNG(Nanomsg Next Generation)消息队列的新的高速数据分发系统,解决了目前加速器存在的数据可读性差、数据传递速率低下以及系统规模可扩展性差等问题。该系统主要包括发布端、代理端、订阅端以及协议栈四个部分。本文重构了NNG下的Xpub/Xsub模式,定制了消息通讯协议,在发布端对传输的数据进行封包,在订阅端对消息进行解包;设计实现了中间代理对发布端和订阅端进行解耦及消息的异步传输;评估了NNG消息队列与其他消息队列的特性,并设计测试基准对系统的吞吐量和延迟属性进行了测试实验。测试实验结果表明,本系统满足高速数据分发的功能需求,具有良好的可扩展性。可将本系统应用于更多场景,如高能粒子碰撞、射电望远镜、测风站等高速数据传输领域。