CN116055285A - 一种工控系统的进程管理方法及系统 - Google Patents
一种工控系统的进程管理方法及系统 Download PDFInfo
- Publication number
- CN116055285A CN116055285A CN202310300733.6A CN202310300733A CN116055285A CN 116055285 A CN116055285 A CN 116055285A CN 202310300733 A CN202310300733 A CN 202310300733A CN 116055285 A CN116055285 A CN 116055285A
- Authority
- CN
- China
- Prior art keywords
- application
- starting
- control system
- industrial control
- thread
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
一种工控系统的进程管理方法及系统,方法包括:在共享内存文件中获取启动网络守护进程、启动数据库服务器进程、启动物理对象管理进程的参数,并启动网络守护进程、数据库服务器进程及物理对象管理进程;进行全局网络注册,将上位机节点加入工控系统的管理控制平台;与数据库建立链接;启动工控系统的各应用守护线程;连接数据库,获取启动工控系统的必要应用信息,并使用新的线程对启动工控系统的必要应用进行启动,同时将各应用的信息记录在数据库中;启动监视应用,在while循环中实时对已启动的所有应用进行状态监视;若收到工况系统应用停止命令则退出while循环,关闭网络守护进程并结束各应用守护线程。本发明保障了各应用进程的运行安全。
Description
技术领域
本发明属于工控系统运行安全技术领域,具体涉及一种工控系统的进程管理方法及系统。
背景技术
在风电领域,风电控制系统尤为重要,用于控制及监控风机的运行,以保证风机的运行安全,风电的工控系统由多种进程互相配合,共同完成风电工控系统的正常运行。
然而,风电工控系统的多种进程在运行中可能会出现闪退、卡死的情况,若不能及时处理,可能造成风机的损坏及风电控制系统的瘫痪,造成高额的经济损失。因此,如何确保工控系统的进程运行安全是一个待解决的问题。
发明内容
本发明的目的在于针对上述现有技术中的问题,提供一种工控系统的进程管理方法及系统,最大限度保障了工控系统的各应用进程的运行安全,防止出现应用进程卡死的情况,保证风机运行的安全性。
为了实现上述目的,本发明有如下的技术方案:
第一方面,提供一种工控系统的进程管理方法,包括以下步骤:
在共享内存文件中获取启动网络守护进程的参数,并启动网络守护进程;
进行全局网络注册,将上位机节点加入工控系统的管理控制平台;
在共享内存文件中获取启动数据库服务器进程的参数,并启动数据库服务器进程;
在共享内存文件中获取启动物理对象管理进程的参数,并启动物理对象管理进程;
将数据库服务器进程和物理对象管理进程与数据库建立链接;
启动工控系统的各应用守护线程;
连接数据库,获取启动工控系统的必要应用信息,并使用新的线程对启动工控系统的必要应用进行启动,同时将各应用的信息记录在数据库中;
启动监视应用,在while循环中实时对已启动的所有应用进行状态监视;
若收到工况系统应用停止命令,则退出while循环,关闭网络守护进程,并结束工控系统的各应用守护线程。
作为一种优选的方案,所述在共享内存文件中获取启动网络守护进程的参数,并启动网络守护进程的步骤之前,还包括启动工控系统日志记录功能的步骤,对后续操作日志进行记录。
作为一种优选的方案,所述启动工控系统日志记录功能的步骤之后,还包括加载共享内存文件的步骤,对共享内存文件进行操作,如果加载内存文件操作执行错误,则打印错误日志,并退出。
作为一种优选的方案,在所述启动网络守护进程、启动数据库服务器进程以及启动物理对象管理进程的步骤中,分别在共享内存中查找启动网络守护进程、启动数据库服务器进程以及启动物理对象管理进程的名字及参数,使用QString中的字符串合成命令合成对应的进程启动命令字符串,使用ACE_Thread中的spawn函数根据合成的进程启动命令字符串,分别执行启动网络守护进程、启动数据库服务器进程以及启动物理对象管理进程的命令,如果启动失败,分别打印启动错误日志,并退出。
作为一种优选的方案,所述网络守护进程在内存中开辟三块固定的内存空间,并对开辟出的内存空间进行初始化;
第一共享内存块,用于存放所有上位机的系统节点信息,显示每个上位机节点的主机名、网络守护进程的PID号,所有上位机的注册消息都在节点检测线程中处理,节点检测线程收到注册消息时,检测第一共享内存块中是否有当前上位机节点以及是否有空闲节点表,如果满足条件,则保存上位机的节点名、节点IP,并使用TCP广播到其他上位机,更新本地的第一共享内存块中的信息;
第二共享内存块,用于存放本机节点所有进程的注册消息,当进程启动时,先在第二共享内存块中寻找是否有相同的进程名,如果没有相同的进程名,则进行注册,否则注册失败;
第三共享内存块,用于存放进程间的通信消息,所有应用进程间的通信先发送到第三共享内存块中,网络守护进程的消息分发函数通过检测收到消息中携带进程的唯一识别号来分发至目标进程,将消息发送到目标进程的消息队列中,并通知目标进程处理收到的消息。
作为一种优选的方案,所述网络守护进程实时与其他上位机节点进行TCP通信,用于检测操作员站、工程师站、历史站的主备上位机的网络状态是否都在线,如果当前上位机检测到某一历史站的主节点通信断联,网络守护进程则控制历史站的备用节点切换成主节点状态,执行主节点历史站的所有功能。
作为一种优选的方案,所述的物理对象管理进程创建物理设备的监视进程,并定时将当前的上位机物理设备信息传入数据库中;
所述的物理对象管理进程对物理设备当前的使用率、占用率进行监控,如果物理设备的使用率、占用率高于设定阈值,则发出告警。
作为一种优选的方案,所述工控系统的各应用守护线程包括僵尸收集线程、应用状态维护线程、切换线程、报文处理线程以及监视应用线程;如果工控系统的各应用守护线程启动失败,打印对应线程启动错误的日志,并退出。
作为一种优选的方案,所述的监视应用创建应用查询线程,所述应用查询线程实时查询存储在数据库中的应用启动列表的应用名称,使用ACE提供的进程PID查询方法查询应用列表中应用的PID,判断应用是否为运行状态,如果对应线程不存在,则使用ACE提供的线程启动方法,读取数据库中的应用启动参数,使用新的线程将应用启动,并将PID信息存入数据库中;
所述的监视应用创建物理信息监视线程,实时查询各进程对CPU、内存的占用率,并根据PID筛选属于工控系统应用列表中的应用,记录上一次查询各工况系统的应用进程对CPU、内存占用率的结果,并与当前时间的查询结果进行对比,如果当前时间查询此应用对CPU或内存的占用率超过设定的阈值,则认为是异常,调用函数重启异常进程;
所述的监视应用创建消息监视进程,所述消息监视进程读取数据库中应用进程间的通信标识是否置为TRUE,如果标识为TRUE,则读取数据库中应用的数据通信最大时间阈值,消息监视进程保存上一次对应进程数据交换的时间,对比当前数据交换的时间,如果超过时间阈值,消息监视进程则重启应用,针对重启后的应用,消息监视进程再次监控是否进程间的数据交换正常,如果数据交换依然异常,则重启网络守护进程。
第二方面,提供一种工控系统的进程管理系统,包括:
网络守护进程启动模块,用于在共享内存文件中获取启动网络守护进程的参数,并启动网络守护进程;
网络注册模块,用于进行全局网络注册,将上位机节点加入工控系统的管理控制平台;
数据库服务器进程启动模块,用于在共享内存文件中获取启动数据库服务器进程的参数,并启动数据库服务器进程;
物理对象管理进程启动模块,用于在共享内存文件中获取启动物理对象管理进程的参数,并启动物理对象管理进程;
链接模块,用于将数据库服务器进程和物理对象管理进程与数据库建立链接;
应用守护线程启动模块,用于启动工控系统的各应用守护线程;
必要应用启动模块,用于连接数据库,获取启动工控系统的必要应用信息,并使用新的线程对启动工控系统的必要应用进行启动,同时将各应用的信息记录在数据库中;
监视应用启动模块,用于启动监视应用,在while循环中实时对已启动的所有应用进行状态监视;
进程停止模块,用于若收到工况系统应用停止命令,则退出while循环,关闭网络守护进程,并结束工控系统的各应用守护线程。
相较于现有技术,本发明至少具有如下的有益效果:
工控系统通过本发明的进程管理方法启动多种守护线程,保障了工控系统运行安全。工控系统的进程管理可以监视整个上位机的资源使用率,防止某一工控系统应用进程异常导致资源占用率高而引起的上位机卡死,保证上位机工控系统运行流畅。工控系统的网络守护进程将整个工控系统的所有节点、各节点的应用注册信息及工控系统应用进程间的通信消息进行统一管理,同时检测各上位机之间是否通信正常,并控制各工作站的主备节点的切换,保证工控系统的整体控制功能完整及数据记录的完整。工控系统通过进程管理启停工控系统的必要应用,并启动监视应用,监视各必要应用的启动是否正常,监视各工控系统应用进程对上位机的资源使用率是否符合阈值要求,监视各工控系统应用进程间的数据交换是否满足间隔时间阈值要求等,最大限度保障工控系统各应用进程的运行安全,防止出现工控系统应用进程卡死的情况,保证了风机运行的安全性。
进一步的,本发明方法中的网络守护进程在内存中开辟三块固定的内存空间,并对开辟出的内存空间进行初始化,第一共享内存块用于存放所有上位机的系统节点信息,第二共享内存块用于存放本机节点所有进程的注册消息,第三共享内存块用于存放进程间的通信消息,通过网络守护线程维护三块共享内存。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1 本发明实施例工控系统的进程管理方法流程图;
图2 本发明实施例工控系统的进程管理系统结构框图;
图3 本发明实施例电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请的实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
请参阅图1,本发明实施例提出一种工控系统的进程管理方法,包括以下步骤:
S1.启动工控系统日志记录功能,对后续操作日志进行记录;
S2.加载共享内存文件,对共享内存文件进行操作,如果加载内存文件操作执行错误,则打印错误日志,并退出;
S3.在共享内存文件中获取启动网络守护进程的参数,并启动网络守护进程;
S4.进行全局网络注册,将上位机节点加入工控系统的管理控制平台;
S5.在共享内存文件中获取启动数据库服务器进程的参数,并启动数据库服务器进程;
S6.在共享内存文件中获取启动物理对象管理进程的参数,并启动物理对象管理进程;
S7.将数据库服务器进程和物理对象管理进程与数据库建立链接;
S8.启动工控系统的各应用守护线程;
S9.连接数据库,获取启动工控系统的必要应用信息,并使用新的线程对启动工控系统的必要应用进行启动,同时将各应用的信息记录在数据库中;
S10.启动监视应用,在while循环中实时对已启动的所有应用进行状态监视;
S11.若收到工况系统应用停止命令,则退出while循环,关闭网络守护进程,并结束工控系统的各应用守护线程。
在一种可能的实施方式中,在步骤S3、步骤S5以及步骤S6所述启动网络守护进程、启动数据库服务器进程以及启动物理对象管理进程的步骤中,分别在共享内存中查找启动网络守护进程、启动数据库服务器进程以及启动物理对象管理进程的名字及参数,使用QString中的字符串合成命令合成对应的进程启动命令字符串,使用ACE_Thread中的spawn函数根据合成的进程启动命令字符串,分别执行启动网络守护进程、启动数据库服务器进程以及启动物理对象管理进程的命令,如果启动失败,分别打印启动错误日志,并退出。
在一种可能的实施方式中,步骤S3所述网络守护线程在内存中开辟三块固定的内存空间,并对其进行初始化,通过网络守护线程维护三块共享内存。第一共享内存块,用于存放所有上位机的系统节点信息,显示每个上位机节点的主机名、网络守护进程的PID号,所有上位机的注册消息都在节点检测线程中处理,节点检测线程收到注册消息时,检测第一共享内存块中是否有当前上位机节点以及是否有空闲节点表,如果满足条件,则保存上位机的节点名、节点IP,并使用TCP广播到其他上位机,更新本地的第一共享内存块中的信息;第二共享内存块,用于存放本机节点所有进程的注册消息,当进程启动时,先在第二共享内存块中寻找是否有相同名字的进程,如果不存在相同名字的进程,则进行注册,否则注册失败;第三共享内存块,用于存放进程间的通信消息,所有应用进程间的通信先发送到第三共享内存块中,网络守护线程的消息分发函数通过检测收到消息中携带进程的唯一识别号来分发至目标进程,将消息发送到目标进程的消息队列中,并通知目标进程处理收到的消息。
在一种可能的实施方式中,步骤S3所述网络守护线程实时与其他节点进行TCP通信,以确保操作员站、工程师站、历史站的主备上位机的网络状态都在线,如果当前上位机检测到某一历史站的主节点通信断联,网络守护进程则控制历史站的备用节点切换成主节点状态,执行主节点历史站的所有功能。
在一种可能的实施方式中,步骤S4进行全局网络注册,将上位机节点加入工控系统的管理控制平台,注册后的节点应用可以在管理控制平台上启停等管理操作。
在一种可能的实施方式中,步骤S6所述的物理对象管理进程创建上位机CPU、内存、磁盘、网络等物理设备的监视进程,并定时将当前的上位机物理设备信息,如上位机的内存占用量、CPU占用量、磁盘的使用量等信息传入数据库中;所述的物理对象管理进程会对物理设备的使用的占用率进行监控,如CPU当前的使用率、内存的占用率等信息,如果物理设备的占用率高于一定阈值,会发出告警,提醒值班人员查看并处理异常。
在一种可能的实施方式中,步骤S7将数据库服务器进程和物理对象管理进程与数据库建立链接,等待后续启动应用时查询数据库中的应用启动的OID及其他信息。
在一种可能的实施方式中,步骤S8所述工控系统的各应用守护线程包括僵尸收集线程、应用状态维护线程、切换线程、报文处理线程以及监视应用线程,以保障工控系统的应用启动成功。如果启动失败,打印对应线程启动错误的日志,并退出。
在一种可能的实施方式中,步骤S9连接数据库,获取启动工控系统的必要应用名称,如告警应用、数据库维护应用等,并将启动工控系统的必要应用使用新的线程启动,以保证工控系统的正常启动运行,同时将各应用的信息如PID、唯一应用标识等储存在数据库中。如果启动失败,打印启动错误的日志,并退出。
在一种可能的实施方式中,步骤S10所述的监视应用在while循环中实时对已启动的所有应用进行状态判断,根据全局变量判断是否需要对所有的应用进行全部重启、全部恢复状态等。所述的监视应用创建应用查询线程,应用查询线程实时查询存储在数据库中的应用启动列表的应用名称,使用ACE提供的进程PID查询方法查询应用列表中应用的PID,判断应用是否是运行状态,如果对应线程不存在,则使用ACE提供的线程启动方法,读取数据库中的应用启动参数,使用新的线程将应用启动,并将PID等信息存入数据库中;所述的监视应用创建物理信息监视线程,实时查询各进程对CPU、内存的占用率,并根据PID号筛选属于工控系统应用列表中的应用,并记录上一次查询的应用对CPU、内存的占用率,对比当前时间的结果,如果超过设定的阈值,则认为是异常,调用函数重启异常进程;所述的监视应用创建消息监视进程,消息监视进程读取数据库中应用进程间的通信标识是否置为TRUE,如果标识为TRUE,则读取数据库中应用的数据通信最大时间阈值,消息监视进程保存上一次对应进程上一次数据交换的时间,对比当前数据交换的时间,如果超过时间阈值,消息监视进程则重启应用,针对重启后的应用,消息监视进程再次监控是否进程间的数据交换正常,如果数据交换依然异常,则重启网络守护进程。
在一种可能的实施方式中,步骤S11如果收到外部进程停止命令,则停止while循环,销毁在内存中的数据,并关闭之前开启的各种守护进程,结束进程管理进程。
本发明实施例工控系统的进程管理方法根据数据库信息,启动工控系统的必要应用,维护工控系统的正常运行。网络守护进程管理维护三块共享内存,对所有节点的连接信息维护、记录所有本节点启动应用注册信息、管理进程间的通信信息,保证工控系统各工作站通信正常,并应急切换工作站的主备状态。监视物理设备的占用率,防止有进程对CPU、内存等的占用率太高而导致其他进程无法执行的情况发生。监视应用实时查询数据库中应用列表的应用启动信息,如异常即创建新进程启动;实时监控工控系统启动应用对CPU和内存的占用率,如超过设置阈值则杀掉该应用进程,重新创建进程启动;实时监控进程间的数据交换,如果进程间的数据交换时间间隔超过设定的阈值,则重启对应的应用进程或者网络守护进程。
请参阅图2,本发明另一实施例还提出一种工控系统的进程管理系统,包括:
网络守护进程启动模块,用于在共享内存文件中获取启动网络守护进程的参数,并启动网络守护进程;
网络注册模块,用于进行全局网络注册,将上位机节点加入工控系统的管理控制平台;
数据库服务器进程启动模块,用于在共享内存文件中获取启动数据库服务器进程的参数,并启动数据库服务器进程;
物理对象管理进程启动模块,用于在共享内存文件中获取启动物理对象管理进程的参数,并启动物理对象管理进程;
链接模块,用于将数据库服务器进程和物理对象管理进程与数据库建立链接;
应用守护线程启动模块,用于启动工控系统的各应用守护线程;
必要应用启动模块,用于连接数据库,获取启动工控系统的必要应用信息,并使用新的线程对启动工控系统的必要应用进行启动,同时将各应用的信息记录在数据库中;
监视应用启动模块,用于启动监视应用,在while循环中实时对已启动的所有应用进行状态监视;
进程停止模块,用于若收到工况系统应用停止命令,则退出while循环,关闭网络守护进程并结束工控系统的各应用守护线程。
请参阅图3,本发明另一实施例还提出一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述的处理器执行所述的计算机程序时实现所述工控系统的进程管理方法的步骤。
本发明另一实施例还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述的计算机程序被处理器执行时实现所述工控系统的进程管理方法的步骤。
所述计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。为了便于说明,以上内容仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机可读存储介质是非暂时性的,可以存储在各种电子设备形成的存储装置当中,能够实现本发明实施例方法记载的执行过程。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (10)
1.一种工控系统的进程管理方法,其特征在于,包括以下步骤:
在共享内存文件中获取启动网络守护进程的参数,并启动网络守护进程;
进行全局网络注册,将上位机节点加入工控系统的管理控制平台;
在共享内存文件中获取启动数据库服务器进程的参数,并启动数据库服务器进程;
在共享内存文件中获取启动物理对象管理进程的参数,并启动物理对象管理进程;
将数据库服务器进程和物理对象管理进程与数据库建立链接;
启动工控系统的各应用守护线程;
连接数据库,获取启动工控系统的必要应用信息,并使用新的线程对启动工控系统的必要应用进行启动,同时将各应用的信息记录在数据库中;
启动监视应用,在while循环中实时对已启动的所有应用进行状态监视;
若收到工况系统应用停止命令,则退出while循环,关闭网络守护进程,并结束工控系统的各应用守护线程。
2.根据权利要求1所述的工控系统的进程管理方法,其特征在于,所述在共享内存文件中获取启动网络守护进程的参数,并启动网络守护进程的步骤之前,还包括启动工控系统日志记录功能的步骤,对后续操作日志进行记录。
3.根据权利要求2所述的工控系统的进程管理方法,其特征在于,所述启动工控系统日志记录功能的步骤之后,还包括加载共享内存文件的步骤,对共享内存文件进行操作,如果加载内存文件操作执行错误,则打印错误日志,并退出。
4.根据权利要求1所述的工控系统的进程管理方法,其特征在于,在所述启动网络守护进程、启动数据库服务器进程以及启动物理对象管理进程的步骤中,分别在共享内存中查找启动网络守护进程、启动数据库服务器进程以及启动物理对象管理进程的名字及参数,使用QString中的字符串合成命令合成对应的进程启动命令字符串,使用ACE_Thread中的spawn函数根据合成的进程启动命令字符串,分别执行启动网络守护进程、启动数据库服务器进程以及启动物理对象管理进程的命令,如果启动失败,分别打印启动错误日志,并退出。
5.根据权利要求1所述的工控系统的进程管理方法,其特征在于,所述网络守护进程在内存中开辟三块固定的内存空间,并对开辟出的内存空间进行初始化;
第一共享内存块,用于存放所有上位机的系统节点信息,显示每个上位机节点的主机名、网络守护进程的PID号,所有上位机的注册消息都在节点检测线程中处理,节点检测线程收到注册消息时,检测第一共享内存块中是否有当前上位机节点以及是否有空闲节点表,如果满足条件,则保存上位机的节点名、节点IP,并使用TCP广播到其他上位机,更新本地的第一共享内存块中的信息;
第二共享内存块,用于存放本机节点所有进程的注册消息,当进程启动时,先在第二共享内存块中寻找是否有相同的进程名,如果没有相同的进程名,则进行注册,否则注册失败;
第三共享内存块,用于存放进程间的通信消息,所有应用进程间的通信先发送到第三共享内存块中,网络守护进程的消息分发函数通过检测收到消息中携带进程的唯一识别号来分发至目标进程,将消息发送到目标进程的消息队列中,并通知目标进程处理收到的消息。
6.根据权利要求1所述的工控系统的进程管理方法,其特征在于,所述网络守护进程实时与其他上位机节点进行TCP通信,用于检测操作员站、工程师站、历史站的主备上位机的网络状态是否都在线,如果当前上位机检测到某一历史站的主节点通信断联,网络守护进程则控制历史站的备用节点切换成主节点状态,执行主节点历史站的所有功能。
7.根据权利要求1所述的工控系统的进程管理方法,其特征在于,所述的物理对象管理进程创建物理设备的监视进程,并定时将当前的上位机物理设备信息传入数据库中;
所述的物理对象管理进程对物理设备当前的使用率、占用率进行监控,如果物理设备的使用率、占用率高于设定阈值,则发出告警。
8.根据权利要求1所述的工控系统的进程管理方法,其特征在于,所述工控系统的各应用守护线程包括僵尸收集线程、应用状态维护线程、切换线程、报文处理线程以及监视应用线程;如果工控系统的各应用守护线程启动失败,打印对应线程启动错误的日志,并退出。
9.根据权利要求1所述的工控系统的进程管理方法,其特征在于,所述的监视应用创建应用查询线程,所述应用查询线程实时查询存储在数据库中的应用启动列表的应用名称,使用ACE提供的进程PID查询方法查询应用列表中应用的PID,判断应用是否为运行状态,如果对应线程不存在,则使用ACE提供的线程启动方法,读取数据库中的应用启动参数,使用新的线程将应用启动,并将PID信息存入数据库中;
所述的监视应用创建物理信息监视线程,实时查询各进程对CPU、内存的占用率,并根据PID筛选属于工控系统应用列表中的应用,记录上一次查询各工况系统的应用进程对CPU、内存占用率的结果,并与当前时间的查询结果进行对比,如果当前时间查询此应用对CPU或内存的占用率超过设定的阈值,则认为是异常,调用函数重启异常进程;
所述的监视应用创建消息监视进程,所述消息监视进程读取数据库中应用进程间的通信标识是否置为TRUE,如果标识为TRUE,则读取数据库中应用的数据通信最大时间阈值,消息监视进程保存上一次对应进程数据交换的时间,对比当前数据交换的时间,如果超过时间阈值,消息监视进程则重启应用,针对重启后的应用,消息监视进程再次监控是否进程间的数据交换正常,如果数据交换依然异常,则重启网络守护进程。
10.一种工控系统的进程管理系统,其特征在于,包括:
网络守护进程启动模块,用于在共享内存文件中获取启动网络守护进程的参数,并启动网络守护进程;
网络注册模块,用于进行全局网络注册,将上位机节点加入工控系统的管理控制平台;
数据库服务器进程启动模块,用于在共享内存文件中获取启动数据库服务器进程的参数,并启动数据库服务器进程;
物理对象管理进程启动模块,用于在共享内存文件中获取启动物理对象管理进程的参数,并启动物理对象管理进程;
链接模块,用于将数据库服务器进程和物理对象管理进程与数据库建立链接;
应用守护线程启动模块,用于启动工控系统的各应用守护线程;
必要应用启动模块,用于连接数据库,获取启动工控系统的必要应用信息,并使用新的线程对启动工控系统的必要应用进行启动,同时将各应用的信息记录在数据库中;
监视应用启动模块,用于启动监视应用,在while循环中实时对已启动的所有应用进行状态监视;
进程停止模块,用于若收到工况系统应用停止命令,则退出while循环,关闭网络守护进程,并结束工控系统的各应用守护线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310300733.6A CN116055285B (zh) | 2023-03-27 | 2023-03-27 | 一种工控系统的进程管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310300733.6A CN116055285B (zh) | 2023-03-27 | 2023-03-27 | 一种工控系统的进程管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116055285A true CN116055285A (zh) | 2023-05-02 |
CN116055285B CN116055285B (zh) | 2023-06-16 |
Family
ID=86129849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310300733.6A Active CN116055285B (zh) | 2023-03-27 | 2023-03-27 | 一种工控系统的进程管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116055285B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116431365A (zh) * | 2023-06-07 | 2023-07-14 | 北京集度科技有限公司 | 基于车载服务导向架构的监控系统、方法、车辆 |
CN116661908A (zh) * | 2023-07-26 | 2023-08-29 | 海看网络科技(山东)股份有限公司 | 一种epg系统输入方式注册方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0954138A2 (en) * | 1998-04-30 | 1999-11-03 | Sun Microsystems, Inc. | A method, apparatus & computer program product for dynamic administration, management and monitoring of daemon processes |
CN1349167A (zh) * | 2001-12-04 | 2002-05-15 | 上海复旦光华信息科技股份有限公司 | Solaris进程自动保护系统 |
US20120173713A1 (en) * | 2010-12-30 | 2012-07-05 | Brocade Communication Systems, Inc. | Resources monitoring and recovery |
CN106371927A (zh) * | 2016-09-09 | 2017-02-01 | 深圳创维数字技术有限公司 | 一种Linux守护进程的实现方法及系统 |
CN110659159A (zh) * | 2019-09-05 | 2020-01-07 | 苏州浪潮智能科技有限公司 | 一种服务进程运行监控方法、装置、设备及存储介质 |
CN112764989A (zh) * | 2021-01-12 | 2021-05-07 | 湖北宸威玺链信息技术有限公司 | 一种用于监控应用服务启停时间的方法 |
CN113094210A (zh) * | 2021-04-21 | 2021-07-09 | 北京鼎普科技股份有限公司 | 一种windows平台进程及文件守护方法及系统 |
CN113986594A (zh) * | 2021-10-28 | 2022-01-28 | 西安热工研究院有限公司 | 实时数据库故障恢复的方法、系统、存储介质及服务器 |
CN114815673A (zh) * | 2021-01-29 | 2022-07-29 | 国电南瑞科技股份有限公司 | 一种基于城市智慧路灯监控系统接口机接入系统及方法 |
-
2023
- 2023-03-27 CN CN202310300733.6A patent/CN116055285B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0954138A2 (en) * | 1998-04-30 | 1999-11-03 | Sun Microsystems, Inc. | A method, apparatus & computer program product for dynamic administration, management and monitoring of daemon processes |
CN1349167A (zh) * | 2001-12-04 | 2002-05-15 | 上海复旦光华信息科技股份有限公司 | Solaris进程自动保护系统 |
US20120173713A1 (en) * | 2010-12-30 | 2012-07-05 | Brocade Communication Systems, Inc. | Resources monitoring and recovery |
CN106371927A (zh) * | 2016-09-09 | 2017-02-01 | 深圳创维数字技术有限公司 | 一种Linux守护进程的实现方法及系统 |
CN110659159A (zh) * | 2019-09-05 | 2020-01-07 | 苏州浪潮智能科技有限公司 | 一种服务进程运行监控方法、装置、设备及存储介质 |
CN112764989A (zh) * | 2021-01-12 | 2021-05-07 | 湖北宸威玺链信息技术有限公司 | 一种用于监控应用服务启停时间的方法 |
CN114815673A (zh) * | 2021-01-29 | 2022-07-29 | 国电南瑞科技股份有限公司 | 一种基于城市智慧路灯监控系统接口机接入系统及方法 |
CN113094210A (zh) * | 2021-04-21 | 2021-07-09 | 北京鼎普科技股份有限公司 | 一种windows平台进程及文件守护方法及系统 |
CN113986594A (zh) * | 2021-10-28 | 2022-01-28 | 西安热工研究院有限公司 | 实时数据库故障恢复的方法、系统、存储介质及服务器 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116431365A (zh) * | 2023-06-07 | 2023-07-14 | 北京集度科技有限公司 | 基于车载服务导向架构的监控系统、方法、车辆 |
CN116661908A (zh) * | 2023-07-26 | 2023-08-29 | 海看网络科技(山东)股份有限公司 | 一种epg系统输入方式注册方法 |
CN116661908B (zh) * | 2023-07-26 | 2023-10-20 | 海看网络科技(山东)股份有限公司 | 一种epg系统输入方式注册方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116055285B (zh) | 2023-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116055285B (zh) | 一种工控系统的进程管理方法及系统 | |
CN108710544B (zh) | 一种数据库系统的进程监控方法及轨道交通综合监控系统 | |
CN111897671A (zh) | 故障恢复方法、计算机设备及存储介质 | |
CN110618864A (zh) | 一种中断任务恢复方法及装置 | |
CN107423942B (zh) | 一种业务流转的方法及装置 | |
CN110611603B (zh) | 一种集群网卡监控方法及装置 | |
CN109710441A (zh) | 一种软件看门狗、电子设备及计算机存储介质 | |
CN107729213B (zh) | 一种后台任务监控方法及装置 | |
CN108959037A (zh) | 一种数据中心自动巡检方法及装置 | |
CN110262362A (zh) | 一种agv工作温度监控方法、系统及装置 | |
CN104679710A (zh) | 一种面向半导体生产线搬运系统软件故障快速恢复方法 | |
CN110224872B (zh) | 一种通信方法、装置及存储介质 | |
CN111953809B (zh) | 一种管理资源地址的方法、装置、设备及系统 | |
CN106411643B (zh) | Bmc检测方法以及装置 | |
CN116820820A (zh) | 服务器故障监测方法及系统 | |
CN115190052B (zh) | 一种长连接的管理方法、系统和控制单元 | |
CN112181702B (zh) | 一种线程监测方法及装置 | |
CN112953792B (zh) | 网络流量监测方法及装置 | |
CN110365936B (zh) | 码流获取方法、装置及系统 | |
CN111464357A (zh) | 资源配置方法及装置 | |
KR100832890B1 (ko) | 정보통신 시스템의 프로세스 장애 감시방법 및 복구방법 | |
CN111083003A (zh) | 监控系统及方法、存储介质、处理器 | |
CN110995463B (zh) | Ap自恢复的方法及装置 | |
CN112328445B (zh) | 一种基于consul的多节点管理系统 | |
CN103684829B (zh) | 网络服务系统及其管理方法 |
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 |