CN112559075B - IOC remote control system - Google Patents

IOC remote control system Download PDF

Info

Publication number
CN112559075B
CN112559075B CN202011508231.5A CN202011508231A CN112559075B CN 112559075 B CN112559075 B CN 112559075B CN 202011508231 A CN202011508231 A CN 202011508231A CN 112559075 B CN112559075 B CN 112559075B
Authority
CN
China
Prior art keywords
ioc
program
tool
management
procserv
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011508231.5A
Other languages
Chinese (zh)
Other versions
CN112559075A (en
Inventor
夏凡
吴豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southwestern Institute of Physics
Original Assignee
Southwestern Institute of Physics
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southwestern Institute of Physics filed Critical Southwestern Institute of Physics
Priority to CN202011508231.5A priority Critical patent/CN112559075B/en
Publication of CN112559075A publication Critical patent/CN112559075A/en
Application granted granted Critical
Publication of CN112559075B publication Critical patent/CN112559075B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • GPHYSICS
    • G21NUCLEAR PHYSICS; NUCLEAR ENGINEERING
    • G21BFUSION REACTORS
    • G21B1/00Thermonuclear fusion reactors
    • G21B1/25Maintenance, e.g. repair or remote inspection
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E30/00Energy generation of nuclear origin
    • Y02E30/10Nuclear fusion reactors

Abstract

The invention discloses an IOC remote control system, which comprises a terminal provided with a Linux operating system, wherein the Linux operating system is provided with an IOC program, a procServ tool and a management-procs tool, and the procServ tool and the management-procs tool are used for realizing the background operation and the process management of the IOC program; when the IOC program works, a user accesses the Shell of the IOC program; adding the subprocess of the procServ tool into the system service of Linux according to the management-procs tool, so that the IOC program can be automatically started after being started; the management-procs tool is also used to control the starting or stopping of the processes of the IOC program. The invention aims to provide an IOC remote control system, which enables an IOC program to automatically run in a background after being started, provides a remote control interface for a user and is convenient for the user to perform centralized control and management on the IOC program.

Description

IOC remote control system
Technical Field
The invention relates to the technical field of nuclear fusion, in particular to an IOC remote control system.
Background
The tokamak is a large-scale fusion experimental device which is formed by a plurality of subsystems. In the tokamak experiment process, different subsystems need to be effectively managed and scheduled, the exchange of data and commands among the subsystems is involved in the process, and meanwhile, experiment operation control personnel are required to be capable of timely mastering the operation state of each subsystem. If the communication protocol is independently defined for each subsystem to obtain the state information of the subsystem, the difficulty of later maintenance and expansion is extremely high.
The EPICS is an open-source software framework and provides a reliable platform for realizing a distributed control system. The IOC program in the software package is used as a server and is responsible for finishing specific input/output actions and local control tasks, and a channel access protocol is used for issuing self state information to the client or receiving instructions from the client from a network. For a fusion experimental device, the condition monitoring of subsystems and the sharing of operation data among the subsystems can be conveniently realized by using the IOC and the channel access protocol.
The user directly starts the IOC program through the script st.cmd under the default condition, but the method is inconvenient to do and the user needs to manually start the IOC program after starting the computer. If the IOC program is forgotten to run, the experimenter cannot monitor the running state of the system through EPICS.
Disclosure of Invention
The invention aims to provide an IOC remote control system, which enables an IOC program to automatically run in a background after being started, provides a remote control interface for a user and is convenient for the user to carry out centralized control and management on the IOC.
The invention is realized by the following technical scheme:
an IOC remote control system is characterized by comprising a terminal provided with a Linux operating system, wherein an IOC program, a procServ tool and a management-procs tool are arranged on the Linux operating system, and the procServ tool and the management-procs tool are used for realizing background operation and process management of the IOC program;
when the system works, a user accesses the Shell of the IOC program, and adds the IOC program as a subprocess of the procServ tool to a system service of a Linux operating system according to the management-procs tool, so that the IOC program can be automatically started after being started; and controlling the starting or stopping of the process of the IOC program by utilizing the management-procs tool.
Preferably, the system further comprises an IOC-manager program, wherein the IOC-manager program runs on each IOC server and is started together with the Linux operating system; when the IOC-manager program receives an HTTP request, the IOC-manager program remotely controls the process of the IOC program according to the HTTP request.
Preferably, the IOC-manager program is provided with an IOC management module, the IOC management module is provided with a plurality of subunits, and when the subunits are clicked, the program background sends a corresponding HTTP request to the IOC host according to an IP address of the IOC host.
Preferably, the subunits comprise a promoter subunit, a stop subunit and an application configuration subunit.
Preferably, when the sub-promoter unit is clicked, a program background sends a GET request to the corresponding IOC server, and after the IOC-manager program on the IOC server receives the GET request, the procServ tool is used to view the running state of the IOC program; if the IOC program is not started, starting the IOC program; and after the IOC program is successfully started, the user receives corresponding prompt information.
Preferably, when the application configuration subunit is clicked, the program background firstly modifies the state of the PV archiving storage according to the Archived attribute of the PV; then sending a request to the corresponding IOC host to enable the IOC-manager program to store the SDD in the database as a local JSON configuration file; then the IOC-manager program generates a db file of an EPICS IOC, a req file of an autosave module and a command script file of the IOC program by using the JSON configuration file; and finally restarting the IOC program to enable the new configuration file to take effect.
By default, the user directly starts the IOC program through the script st.cmd, and therefore the user needs to manually start the IOC program after starting up each time. If the IOC program is forgotten to run, the experimenter cannot monitor the running state of the IOC program through EPICS. Therefore, it is highly desirable for the experimenter that the IOC program is capable of self-starting at boot time. Based on this, after long-time research, the inventor designs the technical scheme of the application, so that the IOC program can automatically run in the background after being started, a remote control interface can be provided for a user, and the user can conveniently and centrally control and manage the IOC.
In the design process of the scheme, the inventor considers that the IOC process does not support to be directly put into the background operation through the nohup command, so a procServ tool is added, and the background operation and the process management of the IOC are realized in the Linux environment by using the procServ tool (the procServ is an open-source software tool which operates a process server in a background manner in a system service manner and is used for enabling the IOC by one sub-process). Meanwhile, an IOC-manager program of the Web server application program is written, and the IOC-manager program supports remote control over the process of the IOC program on the server through an HTTP protocol, so that a user can conveniently perform centralized control and management on the IOC program.
Compared with the prior art, the invention has the following advantages and beneficial effects:
in the scheme, a procServ tool is arranged, so that an IOC program can automatically run in a background after being started, and meanwhile, a Web server application program IOC-manager is written to provide a remote control interface for a user, so that the user can conveniently and centrally control and manage the IOC.
Drawings
The accompanying drawings, which are included to provide a further understanding of the embodiments of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the principles of the invention. In the drawings:
FIG. 1 is a schematic structural diagram of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is further described in detail below with reference to examples and accompanying drawings, and the exemplary embodiments and descriptions thereof are only used for explaining the present invention and are not meant to limit the present invention.
An IOC remote control system, as shown in fig. 1, includes a terminal installed with a Linux operating system, on which an IOC program, a procServ tool and a management-procs tool are installed, where the procServ tool and the management-procs tool are used to implement background operation and process management on the IOC program.
procServ is an open-source software tool that runs a process server in the background in a system-service fashion, and fork starts an IOC program with a sub-process. When the system works, a user accesses the Shell of the IOC program and combines a tool management-procs written by Python, the user can add an instance (sub-process) of procServ to the systemd system service of Linux, so that the IOC program is automatically started after being started; the user can also conveniently control the starting and stopping of the IOC process by using a series of commands provided by the management-procs, wherein the commands provided by the management-procs comprise:
creating a procServ instance newly by the manager-procs add, and adding the procServ instance into the system service;
the management-procs remove the procServ instance from the system service;
a scope-procs start starts a procServ instance;
the management-procs stop stops the procServ instance;
the management-procs status checks the status of all procServ instances.
Further, in the scheme, in order to realize remote control of the IOC program, based on a Spring Boot framework, a Web server application program IOC-manager is developed by using Java language, and the IOC-manager program runs on each IOC server and is started together with an operating system.
In the scheme, the ioc-manager program is used for monitoring a specific port, and the port receives an HTTP request from a client and executes a corresponding command according to the content of the request. For example, updating the configuration file of the IOC program, starting or stopping the IOC process, etc., thereby achieving the purpose of remote control. Under a Linux operating system, an IOC-manager program indirectly controls the progress of an IOC program by using a procServ tool; under the Windows operating system, the IOC program is directly operated by the process name.
It should be noted that the port is not unique and can be specified according to actual requirements.
Fig. 1 shows a basic architecture of a complete configuration at an IOC host (using Linux as an example) side, in this embodiment, an IOC-manager program and a procServ tool have been used to implement a remote control interface of an IOC process, and the IOC program can be remotely controlled only by sending an HTTP request to the IOC-manager program on the IOC host.
In addition, in order to control and manage the IOC program, an IOC management module is arranged on the IOC-manager program, and the IOC management module is provided with three subunits: a promoter unit, a stop subunit and an application configuration subunit. When a user clicks any subunit, the program background sends a corresponding HTTP request to the IOC host according to the IP address of the IOC host.
Specifically, when a user clicks a promoter unit, a program background sends a GET request to a corresponding IOC server; after receiving the request, an IOC-manager on the IOC server checks the running state of the IOC program by using a procServ tool, and if the IOC program is not started, the IOC program is started; after the IOC program is successfully started, the user receives a corresponding prompt.
When a user clicks the stop subunit, the program background sends a GET request to the corresponding IOC server, an IOC-manager on the IOC server receives the request, and then checks the running state of the IOC program by using a procServ tool, and if the IOC program is not closed, the IOC program is closed.
When a user clicks an application configuration subunit, a program background firstly modifies the PV filing storage state according to the Archived attribute of the PV; then sending a request to a corresponding IOC host, and storing the SDD in the database as a local JSON configuration file by an IOC-manager program; then, the IOC-manager program generates a db file of the EPICS IOC, a req file of the autosave module and a command script file of the IOC program by using the JSON configuration file; and finally restarting the IOC program to enable the new configuration file to take effect.
In the application, the program background is a web backend program for managing the IOC.
The above-mentioned embodiments are intended to illustrate the objects, technical solutions and advantages of the present invention in further detail, and it should be understood that the above-mentioned embodiments are merely exemplary embodiments of the present invention, and are not intended to limit the scope of the present invention, and any modifications, equivalent substitutions, improvements and the like made within the spirit and principle of the present invention should be included in the scope of the present invention.

Claims (2)

1. An IOC remote control system is characterized by comprising a terminal provided with a Linux operating system, wherein an IOC program, a procServ tool and a management-procs tool are arranged on the Linux operating system, and the procServ tool and the management-procs tool are used for realizing background operation and process management of the IOC program;
when the system works, a user accesses the Shell of the IOC program, and adds the IOC program as a subprocess of the procServ tool to a system service of a Linux operating system according to the management-procs tool, so that the IOC program can be automatically started after being started; controlling the starting or stopping of the process of the IOC program by utilizing the management-procs tool;
the system also comprises an IOC-manager program, wherein the IOC-manager program runs on each IOC server and is started together with the Linux operating system; when the IOC-manager program receives an HTTP request, the IOC-manager program remotely controls the process of the IOC program according to the HTTP request;
the IOC-manager program is provided with an IOC management module, the IOC management module is provided with a plurality of subunits, and when the subunits are clicked, a program background can send corresponding HTTP requests to an IOC host according to the IP address of the IOC host;
the subunits comprise a promoter subunit, a stop subunit and an application configuration subunit;
when the application configuration subunit is clicked, the program background firstly modifies the PV filing storage state according to the Archived attribute of the PV; then sending a request to the corresponding IOC host to enable the IOC-manager program to store the SDD in the database as a local JSON configuration file; then the IOC-manager program generates a db file of an EPICS IOC, a req file of an autosave module and a command script file of the IOC program by using the JSON configuration file; and finally restarting the IOC program to enable the new configuration file to take effect.
2. The IOC remote control system according to claim 1, wherein when the sub-promoter unit is clicked, a program background sends a GET request to the corresponding IOC server, and after the IOC-manager program on the IOC server receives the GET request, the procServ tool is used to view the running state of the IOC program; if the IOC program is not started, starting the IOC program; and after the IOC program is successfully started, the user receives corresponding prompt information.
CN202011508231.5A 2020-12-18 2020-12-18 IOC remote control system Active CN112559075B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011508231.5A CN112559075B (en) 2020-12-18 2020-12-18 IOC remote control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011508231.5A CN112559075B (en) 2020-12-18 2020-12-18 IOC remote control system

Publications (2)

Publication Number Publication Date
CN112559075A CN112559075A (en) 2021-03-26
CN112559075B true CN112559075B (en) 2022-02-01

Family

ID=75031725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011508231.5A Active CN112559075B (en) 2020-12-18 2020-12-18 IOC remote control system

Country Status (1)

Country Link
CN (1) CN112559075B (en)

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6922746B2 (en) * 2002-03-04 2005-07-26 Intel Corporation Data processing system preventing configuration cycles to permit control procedure selection for access to attached devices
US6895480B2 (en) * 2002-12-10 2005-05-17 Lsi Logic Corporation Apparatus and method for sharing boot volume among server blades
JP4385900B2 (en) * 2004-09-10 2009-12-16 セイコーエプソン株式会社 COMMUNICATION SETTING PROGRAM, START PROGRAM, COMMUNICATION SETTING METHOD, AND APPLICATION START METHOD
US7447806B2 (en) * 2005-09-22 2008-11-04 International Business Machines Corporation Method and apparatus for centralization configuration of data processing systems
US8914783B2 (en) * 2008-11-25 2014-12-16 Fisher-Rosemount Systems, Inc. Software deployment manager integration within a process control system
US9141580B2 (en) * 2010-03-23 2015-09-22 Citrix Systems, Inc. Systems and methods for monitoring and maintaining consistency of a configuration
CN202134946U (en) * 2011-08-03 2012-02-01 李健龙 Battery remote control system
CN202486599U (en) * 2012-02-22 2012-10-10 中国科学院上海应用物理研究所 Distributed centralized control system
WO2015099767A1 (en) * 2013-12-27 2015-07-02 Intel Corporation Scalable input/output system and techniques
CN104009883A (en) * 2014-05-09 2014-08-27 烽火通信科技股份有限公司 Computer resource centralized remote real-time monitoring system and method
CN104506611A (en) * 2014-12-22 2015-04-08 浪潮电子信息产业股份有限公司 Method for remote management of Linux operating system
CN105739987B (en) * 2016-02-03 2018-12-11 成都四方伟业软件股份有限公司 The system framework of rapid build JavaWeb application towards SOA
CN106094583A (en) * 2016-06-13 2016-11-09 中国科学院等离子体物理研究所 A kind of control system cross-platform data transmission realizing method based on EPICS
US9621853B1 (en) * 2016-06-28 2017-04-11 At&T Intellectual Property I, L.P. Service orchestration to support a cloud-based, multi-party video conferencing service in a virtual overlay network environment
GB2551813B (en) * 2016-06-30 2020-01-08 Sophos Ltd Mobile device policy enforcement
CN106532770B (en) * 2016-11-30 2019-10-18 上海电力学院 Inverter control method based on fuzzy PCI and PR parallel connection complex controll
CN106647330B (en) * 2016-12-23 2019-09-17 核工业西南物理研究院 A kind of Plasma shape real-time reconstructing system and method applied to tokamak
US10719760B2 (en) * 2017-04-09 2020-07-21 Intel Corporation Neural network scheduling mechanism
US10489170B2 (en) * 2017-06-19 2019-11-26 Salesforce.Com, Inc. Application warmup engine

Also Published As

Publication number Publication date
CN112559075A (en) 2021-03-26

Similar Documents

Publication Publication Date Title
WO2021237829A1 (en) Method and system for integrating code repository with computing service
US9307055B1 (en) Method and system for concurrent web based multitasking support
US8688772B2 (en) Method and apparatus for web based storage on demand
US7689989B2 (en) Thread monitoring using shared memory
CN111274001B (en) Micro-service management platform
US8255476B2 (en) Automated tape drive sharing in a heterogeneous server and application environment
CN105553741A (en) Automatic deployment method for application system based on cloud computing
CN108173840B (en) Intelligent logistics terminal integration system based on cloud platform
CN112799786A (en) Exit method, device, equipment and storage medium of micro-service instance
CN110716793B (en) Method, device, equipment and storage medium for executing distributed transaction
CN113220416B (en) Cluster node expansion system based on cloud platform, implementation method and operation method
WO2017124799A1 (en) Firmware management method and device
CN104899274A (en) High-efficiency remote in-memory database access method
CN103049268A (en) Naplet based application development and management system
US20050188068A1 (en) System and method for monitoring and controlling server nodes contained within a clustered environment
CN112579267A (en) Decentralized big data job flow scheduling method and device
CN114138754A (en) Software deployment method and device based on Kubernetes platform
CN111158752A (en) SAAS multi-version control system and use method thereof
CN116841705A (en) Distributed scheduling monitoring system based on cloud protogenesis and deployment method thereof
CN113242312A (en) Electric power real-time data transmission middleware and asynchronous data access method
CN112559075B (en) IOC remote control system
CN112019362B (en) Data transmission method, device, server, terminal, system and storage medium
CN111813430A (en) Robot cluster intelligent updating and deploying method and system
CN111045697A (en) Automatic rapid deployment method and system
CN103617077A (en) Intelligent cloud migration method and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant