一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于虚拟化技术的海洋平台计算机控制方法及系统与流程

2021-11-10 02:00:00 来源:中国专利 TAG:


1.本发明涉及海洋平台监测控制领域,具体涉及基于虚拟化技术的海洋平台计算机控制方法及系统。


背景技术:

2.随着计算机技术的高速发展,计算机控制系统被越来越广泛的运用在了海洋平台领域,并发挥了越来越重要的作用。
3.目前,海洋平台的控制系统主要采用基于dcs控制器硬件模块来运行的dcs(distributed control system,集散控制系统,简称dcs)的方案。该控制系统由多个分散布置的计算机控制器组成,每个计算机控制器对部分被控对象实施控制,所有的计算机控制器相互通信协同实现对所有被控对象的控制。
4.但是,现有的计算机控制系统存在计算机资源利用率低,可靠性不高,运维保障困难等缺点。
5.海洋平台的被控对象多且复杂,为了分散风险,一般会采用较多的计算机控制器,来协同对被控对象进行控制。这一方式使得计算机控制器的性能未能得到充分的发挥,导致资源利用率较低。
6.进一步的,由于海洋平台长期孤网运行,且计算机控制器所处工作环境较为恶劣,单个计算机控制器出现故障的现象时有发生,需要经常检查维修,降低了计算机控制系统的可靠性,增加了其运维保障的难度。
7.因此,亟需一种可靠性高、性能高且资源利用率高的计算机控制方法。


技术实现要素:

8.针对现有技术中存在的缺陷,本发明的目的在于提供基于虚拟化技术的海洋平台计算机控制方法及系统,能够提供高可靠、高性能且资源利用率高的计算机控制。
9.为了实现上述有点难,第一方面,本发明基于虚拟化技术的海洋平台计算机控制方法,其包括计算服务器组、存储服务器组和控制服务器组,所述计算服务器组包括主计算服务器和至少一个备计算服务器,其特征在于,其包括:
10.所述主服务器和备计算服务器均虚拟n个主虚拟计算机和备虚拟计算机,关联第i个主虚拟计算机和备虚拟计算机,所述n与i均为自然数;
11.所述存储服务器组实时保存计算服务器组的运行状态;
12.所述控制服务器组监控所述主虚拟计算机;
13.若任一所述主虚拟计算机故障,激活对应的备虚拟计算机,并根据存储服务器组保存的运行状态,配置备虚拟计算机,并继续处理海洋平台控制任务。
14.作为一个优选的实施方案,所述主虚拟计算机和备虚拟计算机均包括:
15.创建反馈进程,所述反馈进程用于阻塞式接收控制服务器组的查询命令,向控制服务器组发送查询命令的应答。
16.作为一个优选的实施方案,其特征在于,所述控制服务器组监控所述主虚拟计算机,包括:
17.确认监控的主虚拟计算机;
18.配置定时器;
19.向所述主虚拟计算机的反馈进程发送查询命令,启动定时器;
20.阻塞式接收所述反馈进程的应答,若在设定时间内收到应答,则复位所述定时器;若定时器超过设定时间,则判定所述主虚拟计算机故障。
21.作为一个优选的实施方案,所述若任一所述主虚拟计算机故障,激活对应的备虚拟计算机,并根据存储服务器组保存的运行状态,配置备虚拟计算机,并继续处理海洋平台控制任务,包括:
22.所述主虚拟计算机故障后,注销所述主虚拟计算机;
23.获取并激活所述主虚拟计算机对应的备虚拟计算机;
24.根据存储服务器组保存的运行状态,配置备虚拟计算机,继续处理海洋平台控制任务;
25.若备虚拟计算机故障,则发出故障信息。
26.作为一个优选的实施方案,所述备计算服务器为多个,关联各备计算机服务器的第i个备虚拟计算机;
27.若主虚拟计算机故障后,获取并激活对应的备虚拟计算机;
28.若该备虚拟计算机故障后,获取并激活该备虚拟计算机对应的下一个备虚拟计算机,直至所有备虚拟计算机故障,发出故障信号。
29.作为一个优选的实施方案,通过openstack管理所述计算服务器组、存储服务器组和控制服务器组。
30.作为一个优选的实施方案,所述计算服务器组为openstack集群的计算节点,所述存储服务器组为openstack集群的存储节点,所述控制服务器组为openstack集群的控制节点。
31.作为一个优选的实施方案,所述计算服务器组、存储服务器组和控制服务器组均基于linux操作系统,且部署了kvm以及qemu。
32.作为一个优选的实施方案,所述备虚拟计算机处于挂起状态。
33.第二方面,本发明实施例还提供一种基于虚拟化技术的海洋平台计算机控制系统,其包括,计算服务器组、存储服务器组和控制服务器组,所述计算服务器组包括主计算服务器和至少一个备计算服务器,其特征在于:
34.所述主服务器和备计算服务器均虚拟n个主虚拟计算机和备虚拟计算机,关联第i个主虚拟计算机和备虚拟计算机,所述n与i均为自然数;
35.所述存储服务器组用于实时保存计算服务器组的运行状态;
36.所述控制服务器组用于监控所述主虚拟计算机,若任一所述主虚拟计算机故障,激活对应的备虚拟计算机,并根据存储服务器组保存的运行状态,配置备虚拟计算机,并继续处理海洋平台控制任务。
37.与现有技术相比,本发明的优点在于:
38.本发明实现的海洋平台的计算机控制系统采用了控制器多重备份的方式,提高了
计算机控制系统的可靠性。本发明实现的计算机控制系统以三类服务器保证计算机控制,运维保障简单。本发明实现的计算机控制系统充分利用海洋平台已有的服务器资源,省去了系统原有的dcs控制器硬件模块,资源利用率高。同时,本发明实现的计算机控制系统可靠性高,只有在控制器备份全部失效的情况下,才需要维护,大大减少了维护次数,降低了维护难度。
附图说明
39.为了更清楚地说明本发明实施例中的技术方案,下面对实施例对应的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
40.图1为本发明基于虚拟化技术的海洋平台计算机控制方法及系统实施例中的流程图;
41.图2为本发明基于虚拟化技术的海洋平台计算机控制方法及系统实施例中的虚拟计算机ci的主进程的流程图;
42.图3为本发明基于虚拟化技术的海洋平台计算机控制方法及系统实施例中的服务器a、b的第i个监控进程的流程图;
43.图4为本发明基于虚拟化技术的海洋平台计算机控制方法及系统实施例中的服务器a、b的定时器ti的超时处理函数的流程图。
具体实施方式
44.名词解释:
45.openstack:openstack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合,为私有云和公有云提供可扩展的弹性的云计算服务。
46.kvm:kvm是linux的一个内核模块,是一个开源的系统虚拟化模块,主要实现cpu和内存的虚拟化。
47.qemu:qemu是linux的一个内核模块,主要实现网卡、显卡、存储控制器和硬盘等外围设备的虚拟化。一般来说,qemu和kvm需要配合使用,实现计算机的虚拟化。
48.以下结合附图对本发明的实施例作进一步详细说明。
49.参见图1所示,本发明实施例提供基于虚拟化技术的海洋平台计算机控制方法及系统,其通过配置不同功能的服务器组,并协同各个服务器组的工作,能够提升计算机资源利用率、提高可靠性、充分发挥计算机性能。
50.为达到上述技术效果,本发明的总体思路如下:
51.本发明提供一种基于虚拟化技术的海洋平台计算机控制方法,其包括计算服务器组、存储服务器组和控制服务器组,所述计算服务器组包括主计算服务器和至少一个备计算服务器,其特征在于,其包括:
52.所述主服务器和备服务器均虚拟n个主虚拟计算机和备虚拟计算机,关联第i个主虚拟计算机和备虚拟计算机,所述n与i均为自然数;
53.所述存储服务器组实时保存计算服务器组的运行状态;
54.所述控制服务器组监控所述主虚拟计算机;
55.若任一所述主虚拟计算机故障,激活对应的备虚拟计算机,并根据存储服务器组保存的运行状态,配置虚拟计算机,并继续处理任务。
56.综上所述,本发明设置了多个服务器组,每个服务器组均包含两个以上的服务器共同提供计算资源,作为服务器组,在其内部的服务器宕机的情况下,由于其他服务器仍能够正常工作,使得服务器组仍然能够继续运行,保证了服务器组整体功能的稳定性与可靠性。
57.进一步的,本发明提出了3个类别的服务器组,一个服务器组作为计算服务器组负责虚拟出虚拟计算机来处理海洋平台控制任务;一个服务器组作为存储服务器组,保存计算服务器组的状态,应对虚拟计算机宕机后,能够根据数据备份配置其他计算虚拟计算机继续处理海洋平台控制任务;一类服务器作为控制服务器监控虚拟计算机的运行,在一个虚拟节点出现故障的情况下,调用新的虚拟计算机运行处理任务。
58.需要说明的是,本发明中的存储服务器组还可以备份控制服务器组的状态,在控制服务器组出现宕机后,接替控制服务器的工作任务,保证整个平台的继续运行。
59.为了更好的理解上述技术方案,下面结合具体实施方式进行详细的说明。
60.本发明实施例提供基于虚拟化技术的海洋平台计算机控制方法,其包括:
61.计算服务器组、存储服务器组以及控制服务器组,其中计算服务器组包括主服务器和至少一个备服务器。
62.本发明将海洋平台的多个服务器进行了功能拆分,得到3种服务器组,每个功能对应一个服务器组:
63.计算服务器组用于应对海洋平台控制任务;
64.存储服务器组用于实时保存计算服务器组的运行状态;
65.控制服务器组用于对平台上的服务器、数据等进行监控和控制。
66.其中计算服务器组包括主服务器和至少一个备服务器,设置主服务器以及备服务器,是为了在主服务器中的海洋平台控制任务在运行时出现故障后,能够启用备服务器继续运行,通过设置主服务器、备服务器保证了海洋平台控制任务能够可靠且稳定的备执行。
67.举例来说,海洋平台的计算机控制系统通过海洋平台已有的数据中心的服务器集群实现:包含8台服务器,分别是服务器a、b、c、d、e、f、g、h。其中服务器a、b组成控制服务器组;服务器c为主计算服务器,服务器d、e为备计算服务器,服务器c、d、e共同组成计算服务器组;服务器f、g、h组成存储服务器组。本发明实现的海洋平台的计算机控制系统充分利用海洋平台已有的数据中心,省去了系统原有的控制器硬件模块,资源利用率较高。
68.s1、所述主服务器和备服务器均虚拟n个主虚拟计算机和备虚拟计算机,关联第i个主虚拟计算机和备虚拟计算机,其中n与i均为自然数。
69.虚拟计算机一般称为虚拟机,其作用是可以在一台服务器上模拟出来若干台虚拟的计算机,每台虚拟的计算机可以运行单独的程序而互不干扰。同时,这几个虚拟的计算机之间还可以进行互联,形成一个虚拟网络。
70.本发明主服务器虚拟n个主虚拟计算机,备服务器虚拟n个备虚拟计算机,并将第i个主虚拟计算机与第i个备虚拟计算机进行了关联,一旦第i个主虚拟计算机出现故障,无法完成当前的海洋平台控制任务,可以通过配置第i个备虚拟计算机作为新的“主”虚拟计算机,来完成第i个主虚拟计算机的海洋平台控制任务,直至所有的备虚拟服务器虚拟的第
i个虚拟计算机全部故障。
71.其中,服务器c、d、e作为数据中心服务器集群的计算节点。服务器c、d、e各自通过虚拟化技术实现了多台虚拟计算机,承担海洋平台的控制功能。
72.在正常情况下,由其中1台服务器的虚拟计算机作为主机控制器承担海洋平台的控制功能;另外2台服务器的虚拟计算机作为备份控制器,并在主控制器机出现故障的情况下,可接替主控制器机维持海洋平台的控制。
73.s2、所述存储服务器组实时保存计算服务器组的运行状态。
74.计算服务器组在接收了海洋平台上的大量的海洋平台控制任务后,通过其自身虚拟的虚拟计算机,来完成这些海洋平台控制任务。存储服务器组将计算服务器组的虚拟计算机以及正在进行的海洋平台控制任务的状态数据进行备份,保证了在一个虚拟计算机故障后,下一虚拟计算机能够迅速通过读取存储服务器组所保存的数据,迅速进行该海洋平台控制任务,使得平台能够更加稳定、有效的运行。
75.举例来说,服务器f、g、h作为数据中心服务器集群的存储节点,主要对控制系统的状态——服务器c、d、e进行分布式存储。本发明实现的计算机控制系统可靠性高。本发明采用了控制器多重备份的方式,提高了计算机控制系统的可靠性。
76.s3、所述控制服务器组监控所述主虚拟计算机;
77.若任一所述主虚拟计算机故障,激活对应的备虚拟计算机,并根据存储服务器组保存的运行状态,配置备虚拟计算机,并继续处理海洋平台控制任务。
78.控制服务器组负责监控主计算服务器或备计算服务器虚拟的虚拟计算机,因此通过监控进程能够有效监控虚拟计算机是否出现故障。
79.同时,一旦当前的虚拟计算机出现故障,可以选择其关联、对应的备用的备虚拟计算机继续海洋平台控制任务。
80.举例来说,服务器a、b作为数据中心集群的控制节点,对服务器c、d、e的虚拟计算机进行监控。当发现作为主控制器的虚拟机出现故障时,停止主控制器,启动备用控制器。如果三重备份的控制器均出现故障,则向控制室发出报警通知。本发明实现的计算机控制系统的运维保障简单。本发明实现的计算机控制系统可靠性高,且只有在控制器备份全部失效的情况下,才需要维护,大大减少了维护次数,降低了维护难度。
81.优选的,主虚拟计算机和备虚拟计算机均包括:
82.创建反馈进程,所述反馈子进程用于阻塞式接收控制服务器组的查询命令,向控制服务器组发送查询命令的应答。
83.主虚拟计算机、备虚拟技术机可以通过向控制服务器组反馈的方式,来保证控制服务器能够有效监控主虚拟计算机、备虚拟计算机是否故障。
84.因此,进一步的,控制服务器组监控所述主虚拟计算机,包括:
85.确认监控的主虚拟计算机;
86.配置定时器;
87.向所述主虚拟计算机的反馈进程发送查询命令,启动定时器;
88.阻塞式接收所述反馈进程的应答,若在设定时间内收到应答,则复位所述定时器;若定时器超过设定时间,则判定所述主虚拟计算机故障。
89.需要说明的是,完成主备切换后,备虚拟计算机即成为了新的“主”虚拟计算机,在
存在多个备计算服务器,且新的“主”虚拟计算机还关联了下一个备虚拟计算机的情况下,当新的“主”虚拟计算机故障,切换到关联的下一个备虚拟计算机。
90.具体来说,若任一所述主虚拟计算机故障,激活对应的备虚拟计算机,并根据存储服务器组保存的运行状态,配置备虚拟计算机,并继续处理海洋平台控制任务,包括:
91.所述主虚拟计算机故障后,注销所述主虚拟计算机;
92.获取并激活所述主虚拟计算机对应的备虚拟计算机;
93.根据存储服务器组保存的运行状态,配置备虚拟计算机,继续处理海洋平台控制任务;
94.若备虚拟计算机故障,则发出故障信息。
95.而当备计算服务器为多个,关联各备计算服务器的第i个备虚拟计算机;
96.若主虚拟计算机故障后,获取并激活对应的备虚拟计算机;
97.若该备虚拟计算机故障后,获取并激活该备虚拟计算机对应的下一个备虚拟计算机,直至所有备虚拟计算机故障,发出故障信号。
98.举例来说,服务器c、d、e上各自创建n台虚拟计算机。
99.服务器c中实现虚拟计算机c1、c2、c3、
……
、cn;
100.服务器d中实现虚拟计算机d1、d2、d3、
……
、dn;
101.服务器e中实现虚拟计算机e1、e2、e3、
……
、en。
102.openstack集群启动服务器c的虚拟计算机实现对海洋平台的控制,挂起服务器d、e的虚拟计算机。
103.服务器c的m台虚拟计算机(m<n)各自作为一个控制器,协同对海洋平台所有被控对象进行控制。
104.如果虚拟计算机ci出现故障,服务器a、b将无法收到虚拟计算机ci的应答命令,则定时器ti的超时处理函数被执行。此时,由虚拟计算机di接替虚拟计算机ci对被控对象继续进行控制,服务器a、b对虚拟计算机di进行监听。
105.同样,如果虚拟计算机di出现故障,由虚拟计算机ei接替虚拟计算机di对被控对象继续进行控制。
106.如果ei也出现故障,则向控制室发出报警通知,提示第i个控制器出现问题
107.本发明还提供一个优选的实施例,其通过openstack管理所述计算服务器组、存储服务器组和控制服务器组,计算服务器组为openstack集群的计算节点,所述存储服务器组为openstack集群的存储节点,所述控制服务器组为openstack集群的控制节点。
108.计算服务器组、存储服务器组和控制服务器组均基于linux操作系统,且部署了kvm以及qemu。
109.本发明基于上述技术方案,还提供一个优选的实施例,备虚拟计算机处于挂起状态,即备服务器虚拟出备虚拟计算机后,即将其挂起,只有在主虚拟计算机故障后,才会重新激活备虚拟计算机为新的“主”虚拟计算机,并配置其运行以完成原主虚拟计算机在进行的海洋平台控制任务。
110.本发明还提供一个优选的实施方案,其包括一种海洋平台的计算机控制系统,海洋平台的计算机控制系统由海洋平台已有的数据中心的服务器实现。
111.数据中心内包含8台服务器,分别是服务器a、b、c、d、e、f、g、h。服务器均运行linux
操作系统,并部署了kvm和qemu以支持虚拟化:
112.数据中心通过云计算管理软件openstack对服务器进行管理。服务器a、b作为openstack集群的控制节点,服务器c、d、e作为openstack集群的计算节点,服务器f、g、h作为openstack集群的存储节点。
113.数据中心通过openstack在服务器c、d、e上各自创建n台虚拟计算机。
114.服务器c中实现虚拟计算机c1、c2、c3、
……
、cn;
115.服务器d中实现虚拟计算机d1、d2、d3、
……
、dn;
116.服务器e中实现虚拟计算机e1、e2、e3、
……
、en。
117.openstack集群启动服务器c的虚拟计算机实现对海洋平台的控制,挂起服务器d、e的虚拟计算机。
118.服务器c的m台虚拟计算机(m<n)各自作为一个控制器,协同对海洋平台所有被控对象进行控制。
119.如图2所示,每个虚拟计算机ci的主进程包括以下进程:
120.t1、软件初始化。
121.t2、创建一个反馈进程。
122.t3、接收现场数据采集板卡的数据。
123.t4、进行逻辑运算。
124.t5、将控制命令发送给现场控制板卡。
125.t6、将控制系统的状态保存到服务器f、g、h的分布式数据库中。
126.t7、返回t3。
127.其中反馈进程的流程部为:
128.t101、阻塞式接收服务器a、b的监控软件的查询命令。
129.t102、向服务器a、b的监控软件发送应答。
130.服务器a、b启动m个进程,对服务器c的虚拟计算机进行监听。
131.正常情况下,由服务器a启动m个进程,服务器b作为备份。当服务器a出现异常时,服务器b启动m个进程。
132.如图3所示,服务器a、b的第i个监控进程步骤包括:
133.u1、设置当前虚拟计算机为ci。
134.u2、创建定时器ti。定时器的周期为监控进程接收当前虚拟计算机的应答指令所需时间的5倍。
135.u3、向虚拟计算机ci反馈进程发送查询命令。
136.u4、启动定时器ti。
137.u5、阻塞式接收当前虚拟计算机的应答指令。
138.u6、复位定时器ti。
139.u7、返回u3。
140.如图4所示,若定时器ti超时,这步骤包括:
141.v1、判断当前虚拟计算机是否为ci,如果是,进入v2;否则,进入v5。
142.v2、停止虚拟计算机ci。
143.v3、恢复虚拟计算机di。
144.v4、设置当前虚拟计算机为di。进入v11。
145.v5、判断当前虚拟计算机是否为di,如果是,进入v5;否则,进入v9。
146.v6、停止虚拟计算机di。
147.v7、恢复虚拟计算机ei。
148.v8、设置当前虚拟计算机为ei。进入s11。
149.v9、判断当前虚拟计算机是否为ei。如果是,进入v10;否则,进入v12。
150.v10、停止虚拟计算机ei。
151.v11、向控制室发送报警通知,提示第i个控制器出现问题。
152.v12、结束。
153.基于同一发明构思,本技术提供一种基于虚拟化技术的海洋平台计算机控制系统,其包括,计算服务器组、存储服务器组和控制服务器组,所述计算服务器组包括主计算服务器和至少一个备计算服务器,其特征在于:
154.所述主服务器和备计算服务器均虚拟n个主虚拟计算机和备虚拟计算机,关联第i个主虚拟计算机和备虚拟计算机,所述n与i均为自然数;
155.所述存储服务器组用于实时保存计算服务器组的运行状态;
156.所述控制服务器组用于监控所述主虚拟计算机,若任一所述主虚拟计算机故障,激活对应的备虚拟计算机,并根据存储服务器组保存的运行状态,配置备虚拟计算机,并继续处理海洋平台控制任务。
157.前述方法实施例中的各种变化方式和具体实例同样适用于本实施例的系统,通过前述方法的详细描述,本领域技术人员可以清楚的知道本实施例中系统的实施方法,所以为了说明书的简洁,在此不再详述。
158.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
159.总体来说,本发明实施例提供的基于虚拟化技术的海洋平台计算机控制方法及系统,通过配置不同功用的服务器组,并协同各个服务器组的工作,能够提升计算机资源利用率、提高可靠性、充分发挥计算机性能,本发明实现的计算机控制系统充分利用海洋平台已有的服务器资源,省去了系统原有的dcs控制器硬件模块,资源利用率高。
160.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
161.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产
生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
162.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
163.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
164.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献