本发明涉及dcs控制,具体涉及一种dcs业务进程安全启动方法、系统、设备及存储介质。
背景技术:
1、dcs系统,即“集散控制系统”或“分布式计算机控制系统”。它采用控制分散、操作和管理集中的基本设计思想,采用多层分级、合作自治的结构形式。目前dcs在电力、冶金、石化等各行各业都获得了极其广泛的应用。其中,现场控制站是发电行业dcs系统中的关键设备,控制器作为现场控制站的核心模块,其可靠稳定运行是dcs系统研发的重要目标。
2、dcs控制器的主要功能包括:现场信号的采集、运算、输出;主从控制器的冗余热备;与上位机的通信;与现场控制模块的通信;对时服务;日志服务等,众多的功能以任务的形式被集成在不同的业务进程中。不同的业务进程往往有数据交互的需求,进程间通信通道的创建及初始化等进程启动阶段的工作若不能进行标准化的设计,会导致业务进程初始化逻辑繁琐复杂,增加软件设计难度以及系统的复杂度,同时导致业务进程初始化代码臃肿、冗余度高,不利于dcs系统的可维护性。
3、然而,目前对于进程间启动阶段的工作没有一个标准化的安全启动方法,这对于本领域技术人员是亟待解决的问题。
技术实现思路
1、本发明的目的在于提供一种dcs业务进程安全启动方法、系统、设备及存储介质,以克服现有技术存在的缺陷,本发明能够将不同启动阶段的初始化内容转化为标准化服务,以标准库的方式供业务进程调用,保障dcs系统的稳定运行,提升了dcs控制器的扩展性以及稳定性。
2、为达到上述目的,本发明采用如下技术方案:
3、一种dcs业务进程安全启动方法,包括以下步骤:
4、基于fifo机制,由主进程master创建具体的业务进程;
5、业务进程标定初始化阶段为阶段0,进行关键数据的结构初始化,初始化完成后通知主进程master,由主进程master发出该业务进程的跳出指令,业务进程接收到跳出指令后进入下一阶段;
6、业务进程标定初始化阶段为阶段1,根据业务逻辑创建私有组件,将私有组件注册至主进程master,主进程master通过私有组件对业务进程状态进行实时监视,监视完成由主进程master发出该业务进程的跳出指令,业务进程接收到跳出指令后进入下一阶段;
7、业务进程标定初始化阶段为阶段2,根据业务特征创建不同功能的线程,不同功能的线程对业务相关数据进行初始化并执行部分条件运算,由业务进程中主线程将阶段2的处理结果反馈至主进程master,由主进程master发出主线程的跳出指令,主线程接收到跳出指令后进入下一阶段;
8、业务进程标定初始化阶段为阶段3,主线程获取其他线程的处理结果反馈至主进程master,业务进程进入正常处理逻辑,启动成功。
9、进一步地,所述主进程master创建具体的业务进程前,主进程master在系统上电后由os启动。
10、进一步地,所述关键数据的结构初始化包括进程参数、调试参数和进程资源的结构初始化。
11、进一步地,所述阶段1具体包括如下步骤:
12、业务进程将私有组件注册至主进程master;
13、主进程master接收通信通道fifo1发送的指令退出阻塞状态;
14、主进程master根据私有组件进行解析确定私有组件的创建情况;
15、若私有组件创建失败,则将该业务进程退出;
16、若私有组件创建成功,则主进程master通过业务通道fifon向业务进程发送跳出指令,业务进程退出阻塞状态,进入阶段2。
17、进一步地,所述业务相关数据包括业务进程间的共享内存和本地输出变量列表。
18、进一步地,所述阶段2具体包括如下步骤:
19、根据业务特征创建不同功能的线程,不同功能的线程对业务相关数据进行初始化并执行部分条件运算;
20、所有的业务相关数据和业务线程初始化完成后,业务进程中主线程通过通信通道fifo1向主进程master发送进程init_ack指令,并等待业务通道fifon的跳出指令;
21、主进程master接收通信通道fifo1发送的init_ack指令退出阻塞状态;
22、主进程master对通信通道fifo1发送的消息内容进行解析确定并更新业务进程的状态,若业务进程初始化成功,则通过业务通道fifon向业务进程发送跳出指令,进入阶段3。
23、进一步地,所述业务进程包括过程控制单元dpu进程。
24、一种dcs业务进程安全启动系统,包括:
25、业务构建模块,用于基于fifo机制,由主进程master创建具体的业务进程;
26、阶段0启动模块,用于标定初始化阶段为阶段0,进行关键数据的结构初始化,初始化完成后通知主进程master,由主进程master发出该业务进程的跳出指令,业务进程接收到跳出指令后进入下一阶段;
27、阶段1启动模块,用于标定初始化阶段为阶段1,根据业务逻辑创建私有组件,将私有组件注册至主进程master,主进程master通过私有组件对业务进程状态进行实时监视,监视完成由主进程master发出该业务进程的跳出指令,业务进程接收到跳出指令后进入下一阶段;
28、阶段2启动模块,用于标定初始化阶段为阶段2,根据业务特征创建不同功能的线程,不同功能的线程对业务相关数据进行初始化并执行部分条件运算,由业务进程中主线程将阶段2的处理结果反馈至主进程master,由主进程master发出主线程的跳出指令,主线程接收到跳出指令后进入下一阶段;
29、阶段3启动模块,用于标定初始化阶段为阶段3,主线程获取其他线程的处理结果反馈至主进程master,业务进程进入正常处理逻辑,启动成功。
30、一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述dcs业务进程安全启动方法的步骤。
31、一种计算机存储介质,所述计算机存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现所述dcs业务进程安全启动方法的步骤。
32、与现有技术相比,本发明具有以下有益的技术效果:
33、本发明基于fifo实现进程间通信的业务进程的安全启动,将业务进程的启动顺序标准化为4个阶段,利用fifo的读写阻塞机制,通过核心的代理进程主进程master负责业务进程启动状态的转换以及通知,将不同启动阶段的初始化内容转化为标准化服务,以标准库的方式供业务进程调用。具体地,通过采用本发明所述的方法,dcs控制器的业务进程初始化工作被标准化分解为不同的阶段,将不同阶段的初始化工作以标准接口的形式提供给业务进程,同时抽离业务进程启动阶段相同性质的逻辑,以标准库的形式提供给业务进程,业务进程可在标准接口中具体实现进程本身业务逻辑相关的初始化工作,简化业务进程初始化内容,同时标准化的启动服务也提升了dcs控制器的扩展性以及稳定性。