The Online Software, manager of the JUNO data acquisition (DAQ) system, is composed of many distributed components working coordinately. It takes the responsibility of configuring, processes management, controlling and information sharing etc. The design of service-oriented architecture (SOA) which represents the modern tendency in the distributed system makes the online software lightweight, loosely coupled, reusable, modular, self-contained and easy to be extended. All the services in the SOA distributed online software system will send messages each to another directly without a traditional broker in the middle, which means that services could operate harmoniously and independently. ZeroMQ is chosen but not the only technical choice as the low-level communication middle-ware because of its high performance and convenient communication model while using Google Protocol Buffers as a marshaling library to unify the pattern of message contents. Considering the general requirement of JUNO, the concept of partition and segment are defined to ensure multiple small-scaled DAQs could run simultaneous and easy to join or leave. All running data except the raw physics events will be transmitted, processed and recorded to the database. High availability (HA) is also taken into account to solve the inevitable single point of failure (SPOF) in the distribution system. This paper will introduce all the core services' functionality and techniques in detail.
翻译:在线软件是JUNO数据获取(DAQ)系统的管理者,由许多分布式组件组成,协调工作,它负责配置、流程管理、控制和信息共享等。服务导向架构的设计代表了分布式系统中的现代趋势,它使在线软件的轻质、松散、可重复使用、模块化、自足和易于扩展。SOA分布式在线软件系统中的所有服务都将在没有传统中间中介的情况下,直接向对方发送信息,这意味着服务可以和谐和独立运作。ZeroMQ是选择的,但不是作为低级通信中级软件的唯一技术选择,因为其高性能和方便的通信模式,同时使用Google协议缓冲作为统一信息内容模式的集成图书馆。考虑到UNO的一般要求,分区和段概念的确定,以确保多个小规模的DAQ可以同时运行,容易加入或离开。所有运行的数据,除原始物理事件外,都将被传输、处理和记录到数据库中。高水平的功能(HA)将引入SFO的可操作性能,并将所有核心功能的功能(OF)引入SDL 详细。