A method and system for publishing long pulse data based on ZeroMQ

By introducing ZeroMQ into the EAST data acquisition system, combining the request/response and publish/subscribe mode, the problem that the EAST data acquisition system cannot publish data in real time during long pulses is solved, and the quasi-real-time transmission and release of experimental data is realized to meet the real-time data acquisition needs of experimental personnel.

CN120301839BActive Publication Date: 2025-09-02HEFEI INSTITUTE OF PHYSICAL SCIENCE CHINESE ACADEMY OF SCIENCES
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510792923.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-06-13
Publication Date
2025-09-02
Estimated Expiration
2045-06-13

AI Technical Summary

Technical Problem

The existing EAST data acquisition system cannot achieve quasi-real-time data release during long pulses, and cannot meet the real-time data acquisition needs of experimental personnel in long-term plasma discharge experiments.

Method used

ZeroMQ is used as the message library, combining request/response and publish/subscribe modes to realize quasi-real-time transmission and publishing of data, including the collaborative work of the acquisition console, acquisition unit and data server, transmit configuration and gun number information through ZeroMQ request/response mode, and ZeroMQ publish/subscribe mode to transmit experimental data to ensure safe and reliable transmission and real-time release of data.

Benefits of technology

Quasi-real-time data release during long-pulse plasma discharge experiments is realized, meeting the real-time data acquisition needs of experimental personnel and ensuring the safety and reliability of the data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120301839B_ABST
    Figure CN120301839B_ABST
Patent Text Reader

Abstract

The present invention provides a ZeroMQ-based long-pulse data publishing method and system, belonging to the technical field of magnetic confinement nuclear fusion devices. The method comprises the following steps: before a plasma discharge experiment, if data acquisition configuration needs to be updated, an acquisition console sends configuration information to an acquisition unit; at the start of the experiment, the acquisition console sends shot number information to the acquisition unit and a data server. The acquisition unit continuously acquires experimental data and simultaneously sends the experimental data to the data server. During this period, the acquisition unit continuously publishes status information, allowing the acquisition console to monitor the status of the acquisition unit. The data server stores the experimental data and publishes it to users. In the present invention, based on different data types such as configuration information, shot number information, status information, and experimental data, combined with multiple ZeroMQ data communication modes, reliable data transmission is achieved, effectively helping experimenters view experimental data in near real time during long-pulse plasma discharge experiments.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of magnetic confinement nuclear fusion devices, and in particular to a ZeroMQ-based long-pulse data publishing method and system. Background Art

[0002] A tokamak is a doughnut-shaped device that achieves controlled nuclear fusion through magnetic confinement. The ITER (International Thermonuclear Experimental Reactor) is one of the world's largest scientific projects. Its plasma generation and maintenance could potentially last up to 3,600 seconds. my country's Experimental Advanced Superconducting Tokamak (EAST), the world's first all-superconducting tokamak, has been continuously advancing research in steady-state, high-performance plasma physics. In January 2025, it successfully achieved steady-state, long-pulse, high-confinement mode plasma operation at temperatures exceeding 1066 seconds at 100 million degrees Celsius. Future fusion devices may achieve steady-state operation for hours or even longer. Therefore, in long-pulse plasma discharge experiments, acquiring data during the discharge would greatly assist experimenters in gaining timely insight into experimental performance.

[0003] ITER provides three networks for transmitting different types of data in different scenarios: DAN (Data Archiving Network), SDN (Synchronous Data Network), and PON (Plant Operational Network). DAN, based on TCP / IP (Transmission Control Protocol / Internet Protocol), is used to transmit data for data acquisition, rapid control, and diagnostics; SDN, based on a publish / subscribe model, is used to transmit real-time control data; and PON, based on EPICS (Experimental Physics and Industrial Control System), transmits EPICS process variable data.

[0004] The EAST data acquisition system uses traditional TCP / IP sockets for data transmission, including configuration information, shot number information, status information and experimental data. After years of development, it can meet the current EAST long-pulse experimental data storage needs, but it does not yet have the function of publishing data in quasi-real time during long pulses. Summary of the Invention

[0005] The purpose of the present invention is: as described in the background technology, in order to enable experimenters to obtain experimental data in quasi-real time during long pulse plasma discharge experiments, a long pulse data publishing method and system based on ZeroMQ is proposed.

[0006] ZeroMQ is a lightweight, efficient, open-source, general-purpose messaging library that doesn't require a separate middleware server. It offers multiple data transmission modes, such as request / response and publish / subscribe, suitable for diverse application scenarios. EAST's existing data acquisition system consists of an acquisition console, acquisition units, and a data server. The acquisition console manages acquisition configuration information and controls the acquisition process. The acquisition units collect experimental data, and the data server stores the data. Within this framework, combined with ZeroMQ's various data transmission modes, it enables the transmission of different types of data, such as configuration information, shot numbers, status information, and experimental data. Experimental data is of primary interest to users, with the acquisition unit serving as the data source, and users accessing the data through the data server. The acquisition unit performs sharded data acquisition with a timeframe of one second or even less, enabling near-real-time data acquisition. Experimental data transmission from the acquisition unit to the data server utilizes the ZeroMQ request / response model, ensuring secure and reliable transmission and storage. Furthermore, the data server utilizes the ZeroMQ publish / subscribe model to instantly publish received experimental data to users, ensuring near-real-time subscription during long pulse experiments.

[0007] The technical solution adopted by the present invention to solve its technical problem is:

[0008] A method for publishing long pulse data based on ZeroMQ, comprising:

[0009] S110, before the plasma discharge experiment, when the data acquisition configuration needs to be updated, the acquisition console uses the ZeroMQ request / response mode to send configuration information to the acquisition unit;

[0010] S120, after the plasma discharge experiment starts, the acquisition console uses the ZeroMQ request / response mode to send shot number information to the acquisition unit and the data server respectively;

[0011] S130, the acquisition unit continuously and piecemeal acquires experimental data according to the shot number information and configuration information, and sends the experimental data to the data server using the ZeroMQ request / response mode. During this period, the acquisition unit continuously publishes status information using the ZeroMQ publish / subscribe mode for the acquisition console to monitor its status;

[0012] S140, the data server receives and stores the experimental data sent by the acquisition unit, and publishes the experimental data to users using the ZeroMQ publish / subscribe mode and its extended mode XPUB / XSUB mode.

[0013] A long pulse data publishing system based on ZeroMQ, including:

[0014] Collection console, collection unit, data server, including:

[0015] The acquisition console is used to: Before the plasma discharge experiment, if the data acquisition configuration needs to be updated, the acquisition console uses the ZeroMQ request / response mode to send configuration information to the acquisition unit; after the plasma discharge experiment begins, the acquisition console uses the ZeroMQ request / response mode to send shot number information to the acquisition unit and the data server respectively, and monitor the status of the acquisition unit during the experiment;

[0016] The acquisition unit is used to continuously collect experimental data in slices according to the gun number information and configuration information, and send the experimental data to the data server using the ZeroMQ request / response mode. During this period, the acquisition unit uses the ZeroMQ publish / subscribe mode to continuously publish status information for the acquisition console to monitor its status.

[0017] The data server is used to receive and store the experimental data sent by the acquisition unit, and publish the experimental data to users using the ZeroMQ publish / subscribe mode and its extended mode XPUB / XSUB mode.

[0018] The beneficial effects of the present invention are:

[0019] It can transmit various types of data and publish data to users in near real time during long pulse plasma discharge experiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Figure 1 This is a basic framework diagram of a long pulse data publishing method based on ZeroMQ in the present invention.

[0021] Figure 2 This is a detailed implementation diagram of a data server extension in a ZeroMQ-based long pulse data publishing system of the present invention. DETAILED DESCRIPTION

[0022] Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments described herein. Rather, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.

[0023] Figure 1 This is a basic framework diagram of a long pulse data publishing method based on ZeroMQ in the present invention. Figure 1 As shown, a long pulse data publishing method based on ZeroMQ proposed in the present invention involves: an acquisition console, an acquisition unit, a data server and a user, which transmits configuration information, shot number information, status information and experimental data during a long pulse plasma discharge experiment.

[0024] refer to Figure 1 , the method of the present invention comprises the following steps:

[0025] S110, before the plasma discharge experiment, when the data acquisition configuration needs to be updated, the acquisition console uses the ZeroMQ request / response (REQ / REP) mode to send configuration information to the acquisition unit;

[0026] S120, after the plasma discharge experiment starts, the acquisition console uses the ZeroMQ request / response (REQ / REP) mode to send shot number information to the acquisition unit and the data server respectively;

[0027] S130, the acquisition unit continuously and shards the experimental data according to the shot number information and configuration information and stores it, while using the ZeroMQ publish / subscribe (PUB / SUB) model and its extended model XPUB / XSUB model to publish the experimental data to users;

[0028] S140, the data server receives and stores the experimental data sent by the acquisition unit, and publishes the experimental data to users using the ZeroMQ publish / subscribe (PUB / SUB) model and its extended model XPUB / XSUB model.

[0029] Before initial use or when acquisition requirements change, the acquisition unit's acquisition configuration needs to be updated. Before the plasma discharge experiment begins, the acquisition console must send configuration information to the acquisition unit. This information is transmitted using the ZeroMQ request / response (REQ / REP) model. The configuration information consists of a command structure containing information such as the command type and configuration content. The command structure includes overall acquisition unit information, acquisition card information, and channel information. The acquisition unit parses this information and updates it to its local acquisition configuration file.

[0030] After the plasma discharge experiment begins, the acquisition console sends a shot number to the data server. This information is transmitted using the ZeroMQ request / response (REQ / REP) model. The shot number contains a command structure containing information such as the command type and shot number. Upon receiving the shot number, the data server prepares for the shot data and awaits data from the acquisition unit.

[0031] The acquisition console sends shot number information to the acquisition unit. This information is transmitted via the ZeroMQ request / response (REQ / REP) model. The shot number information contains a command structure, which includes information such as the command type, shot number, and acquisition duration. After receiving the shot number information, the acquisition unit, in conjunction with the acquisition configuration, performs sharded experimental data acquisition with a period of one second or even less, and simultaneously transmits the sharded data to the data server. The transmitted experimental data consists of a command structure containing information such as the command type and shot number, an experimental data header, and raw data. The command structure contains information such as the command type and shot number, while the experimental data header contains various signal-related information, such as conversion coefficients. The raw data is the data array of the signal.

[0032] When the collection unit is running, it continuously publishes status information through the ZeroMQ publish / subscribe (PUB / SUB) model. The information content includes the collection unit name and status quantity. The collection console can monitor the status of the collection unit.

[0033] After receiving experimental data from the acquisition unit, the data server publishes the experimental data through the ZeroMQ publish / subscribe (PUB / SUB) model. The information includes the signal name, experimental data header information, and raw data. Users can obtain experimental data in near real time by subscribing to the signal name. The complete experimental data is stored locally on the data server, and users can access all experimental data offline.

[0034] like Figure 2 As shown, when there are multiple acquisition units, the data server can be expanded. The expanded data server consists of a main server, multiple storage servers and a publishing server.

[0035] The master server is used to receive the gun number information from the acquisition console and distribute the gun number information to each storage server through the ZeroMQ request / response (REQ / REP) mode.

[0036] After receiving the experimental data from the acquisition unit, each storage server publishes the experimental data to the publishing server through the ZeroMQ publish / subscribe (PUB / SUB) mode.

[0037] The publishing server uses the XPUB / XSUB mode, an extension of the ZeroMQ publish / subscribe (PUB / SUB) model, as a proxy for all storage servers, publishing experimental data to the outside world in near real-time. For users, they only need to subscribe to the publishing server and do not need to know the status of each storage server.

[0038] The present invention also provides a long pulse data publishing system based on ZeroMQ, the system comprising:

[0039] Collection console, collection unit, data server, including:

[0040] The acquisition console is used to: Before the plasma discharge experiment, if the data acquisition configuration needs to be updated, the acquisition console uses the ZeroMQ request / response (REQ / REP) mode to send configuration information to the acquisition unit; after the plasma discharge experiment begins, the acquisition console uses the ZeroMQ request / response (REQ / REP) mode to send shot number information to the acquisition unit and the data server respectively, and monitor the status of the acquisition unit during the experiment;

[0041] The acquisition unit is used to continuously collect experimental data in slices according to the shot number information and configuration information, and send the experimental data to the data server using the ZeroMQ request / response (REQ / REP) mode. During this period, the acquisition unit uses the ZeroMQ publish / subscribe (PUB / SUB) mode to continuously publish status information for the acquisition console to monitor its status;

[0042] The data server is used to receive and store the experimental data sent by the acquisition unit, and publish the experimental data to users using the ZeroMQ publish / subscribe (PUB / SUB) model and its extended model XPUB / XSUB model.

[0043] In one embodiment, the acquisition unit includes more than one acquisition unit. In this case, the data service end is composed of a main server, multiple storage servers and a publishing server, wherein the main server is used to receive the gun number information from the acquisition console and distribute the gun number information to each storage server through the ZeroMQ request / response (REQ / REP) mode; after each storage server receives the experimental data from the acquisition unit, it publishes the experimental data to the publishing server through the ZeroMQ publish / subscribe (PUB / SUB) mode; the publishing server acts as an agent for all storage servers through the XPUB / XSUB mode, an extended mode of the ZeroMQ publish / subscribe (PUB / SUB) mode, to realize quasi-real-time data publishing to the outside world.

[0044] The above specific embodiments are merely several optional embodiments of the present invention. Based on the technical solutions of the present invention and the relevant inspirations of the above embodiments, those skilled in the art may make various alternative improvements to the above specific embodiments.

Claims

1. A method for publishing long pulse data based on ZeroMQ, characterized in that: include: S110, before the plasma discharge experiment, when the data acquisition configuration needs to be updated, the acquisition console uses the ZeroMQ request / response mode to send configuration information to the acquisition unit; S120, after the plasma discharge experiment starts, the acquisition console uses the ZeroMQ request / response mode to send shot number information to the acquisition unit and the data server respectively; S130, the acquisition unit continuously and piecemeal acquires experimental data according to the shot number information and configuration information, and sends the experimental data to the data server using the ZeroMQ request / response mode. During this period, the acquisition unit continuously publishes status information using the ZeroMQ publish / subscribe mode for the acquisition console to monitor its status; S140, the data server receives and stores the experimental data sent by the acquisition unit, and publishes the experimental data to users using the ZeroMQ publish / subscribe mode and its extended mode XPUB / XSUB mode. When there are multiple collection units, the data server consists of a master server, multiple storage servers, and a publishing server. S140 includes: The master server is used to receive the gun number information from the acquisition console and distribute the gun number information to each storage server through the ZeroMQ request / response mode; After receiving the experimental data from the acquisition unit, each storage server publishes the experimental data to the publishing server through the ZeroMQ publish / subscribe model; The publishing server uses the XPUB / XSUB mode, an extension of the ZeroMQ publish / subscribe mode, as a proxy for all storage servers to publish experimental data in near real time.

2. The method for publishing long pulse data based on ZeroMQ according to claim 1, wherein: The configuration information sent by the acquisition console to the acquisition unit using the ZeroMQ request / response mode consists of a command structure and configuration content. The command structure contains command type information, and the configuration content contains overall information of the acquisition unit, acquisition card information, and channel information.

3. The method for publishing long pulse data based on ZeroMQ according to claim 1, characterized in that: The acquisition console uses the ZeroMQ request / response mode to send the gun number information to the data server in the form of a command structure, which contains the command type and gun number information.

4. The method for publishing long pulse data based on ZeroMQ according to claim 1, wherein: The acquisition console uses the ZeroMQ request / response mode to send the gun number information to the acquisition unit. The information content is a command structure, which contains the command type, gun number, and acquisition duration information.

5. The method for publishing long pulse data based on ZeroMQ according to claim 1, characterized in that: The information content of the experimental data sent by the acquisition unit to the data server using the ZeroMQ request / response mode consists of a command structure, experimental data header information and raw data. The command structure contains the command type and gun number information, the experimental data header information contains signal-related information, and the raw data is the data array of the signal.

6. The method for publishing long pulse data based on ZeroMQ according to claim 1, characterized in that: The collection unit uses the ZeroMQ publish / subscribe model to publish status information, and the information content includes the collection unit name and status quantity.

7. The method for publishing long pulse data based on ZeroMQ according to claim 1, characterized in that: The data server uses the ZeroMQ publish / subscribe mode and its extended mode XPUB / XSUB mode to publish experimental data to users. The information content includes signal name, experimental data header information and original data.

8. A long pulse data publishing system based on ZeroMQ, characterized in that: include: Collection console, collection unit, data server, including: The acquisition console is used to: Before the plasma discharge experiment, if the data acquisition configuration needs to be updated, the acquisition console uses the ZeroMQ request / response mode to send configuration information to the acquisition unit; after the plasma discharge experiment begins, the acquisition console uses the ZeroMQ request / response mode to send shot number information to the acquisition unit and the data server respectively, and monitor the status of the acquisition unit during the experiment; The acquisition unit is used to continuously collect experimental data in slices according to the gun number information and configuration information, and send the experimental data to the data server using the ZeroMQ request / response mode. During this period, the acquisition unit uses the ZeroMQ publish / subscribe mode to continuously publish status information for the acquisition console to monitor its status; The data server is used to receive and store the experimental data sent by the acquisition unit, and publish the experimental data to users using the ZeroMQ publish / subscribe model and its extended model XPUB / XSUB model; The acquisition unit includes more than one acquisition unit, and the data service end consists of a main server, multiple storage servers and a publishing server. Among them, the main server is used to receive the gun number information from the acquisition console and distribute the gun number information to each storage server through the ZeroMQ request / response mode; after each storage server receives the experimental data from the acquisition unit, it publishes the experimental data to the publishing server through the ZeroMQ publish / subscribe mode; the publishing server acts as an agent for all storage servers through the extended mode XPUB / XSUB mode of the ZeroMQ publish / subscribe mode to realize quasi-real-time data publishing to the outside world.