一种基于容器的动态冗余可靠系统和方法技术方案

技术编号:33387292 阅读:15 留言:0更新日期:2022-05-11 23:02
本发明专利技术提供了一种基于容器的动态冗余可靠系统和方法,属于分布式计算、容错计算领域,其包括至少两个相互独立的处理模块和至少两路以太网交换机,每个处理模块至少与两路及以上的以太网交换机相连,每个处理模块中网卡的数量与以太网交换机的数量匹配,多路以太网交换机之间均相互互联。每个处理模块通过两路网卡连接到两路独立交换网络,以构成冗余,支撑系统的多个容器互联互通,组成动态冗余的高可靠系统。本发明专利技术的系统和方法运行稳定可靠。本发明专利技术的系统和方法运行稳定可靠。本发明专利技术的系统和方法运行稳定可靠。

【技术实现步骤摘要】
一种基于容器的动态冗余可靠系统和方法


[0001]本专利技术属于分布式计算、容错计算领域,更具体地,涉及一种基于容器的动态冗余可靠系统和方法。

技术介绍

[0002]随着无人驾驶、工业控制、云计算等新兴技术的不断发展,其搭载的嵌入式计算平台作为算力基础设施也面临着功能性能以及可靠性、安全性的多重考验。一方面,计算平台不再满足于单一系统控制功能,开始集成无人控制、高性能计算、web服务等多种功能,另一方面计算平台的可靠性、安全性也面临越来越严峻的考验。
[0003]申请号为202011421351.1的专利申请公开了一种多机冗余系统及处理方法,通过将具有主接口的应用进程所在装置标记为活跃装置,其余装置标记为睡眠装置,不断检测活跃装置与各个子系统通信是否正常,若否则进行切换。公开号为202011266399.X公开了一种基于容器的高可用性实现方法,通过记录发生系统灾难时前端项目的主体容器的配置信息将主体容器切换到主体备份,将子服务切换到子服务备份。但是,以上方法均存在运行不够可靠的问题,其冗余设计不够成分。
[0004]因此,需要开发一种新型的基于容器的动态冗余可靠系统和方法,要求其冗余设计考虑充分,系统运行可靠。

技术实现思路

[0005]针对现有技术的缺陷,本专利技术的目的在于提供一种基于容器的动态冗余可靠系统和方法,通过设置多个处理模块和多路以太网交换机,并实现每个处理模块连接多路以太网交换机,并为多个处理模块中的容器进行标示,形成可靠的容器网,在硬件上为执行控制、计算和网络服务提供了硬件和设计的冗余,保证了最终系统的可靠运行。
[0006]为实现上述目的,本专利技术提供了一种基于容器的动态冗余可靠系统,其包括至少两个相互独立的处理模块和至少两路以太网交换机,每个处理模块至少与两路及以上的以太网交换机相连,每个处理模块中网卡的数量与以太网交换机的数量想匹配,多路以太网交换机之间均相互互联。
[0007]以上专利技术构思中,多个相互独立的处理模块中,设置多个容器,对于不同的任务,采用不同的容器构成冗余容错构型。
[0008]进一步的,其包括四个处理模块和两路以太网交换机,两路以太网交换机之间相互连接,每一个处理模块具有两个网卡,每个处理模块均同时与两路以太网交换机相连接。
[0009]以上专利技术构思中,基于容器的动态冗余可靠系统中设计了四个处理模块和两路以太网交换机,对于不同的任务,可以动态分配到若干处理模块的独立容器构成不同的冗余容错构型,从而实现高可靠运行。
[0010]按照本专利技术的第二个方面,还提供一种如上所述的基于容器的动态冗余可靠系统的工作方法,对于多个处理模块中容器间的数据交互保障为以下方式:每个处理模块通过
两路网卡连接到两路独立交换网络,以构成冗余,通过设置在每个处理模块内的bonding子模块,将两路网卡绑定为一个逻辑网卡上,在逻辑网卡上虚拟出一个macvlan网络,macvlan网络用于为本地的不同容器分配不同的MAC地址和IP地址,从而标示出不同的容器,进而能透传到外部的局域网,实现分布式系统上的高可靠容器网。
[0011]进一步的,其进行任务管理的过程包括任务部署阶段、任务运行阶段和动态重构阶段,其中,任务部署阶段的具体操作为:通过TCP接口发起一个远程任务访问,创建一个对应的父进程并调用fork()创建子进程shell,以实现任务的启动部署,并创建pipe管道。所述任务运行阶段的具体操作为:通过TCP接口不断读取pipe管道的shell输入输出信息,监控子进程状态。所述动态重构阶段的具体操作为:通过TCP接口读取pipe管道内的shell故障信息时,父进程执行pclose关闭故障子进程,再次调用fork()创建新的子进程,同时创建新的pipe读取新的子进程的shell状态信息,实现动态重构。
[0012]本专利技术的动态冗余高可靠系统由冗余配置的四个处理模块和双冗余网络构成,对于容器(容器即为处理模块中的虚拟单元)间的数据交互:物理上通过双路网卡连接到两路独立交换网络构成冗余,每个处理模块都配置两个网卡,以对应两路以太网交换机,通过宿主机(宿主机即为处理模块)系统内核操作系统自带的bonding模块,将两路网卡绑定为一个逻辑网卡,在逻辑网卡上虚拟出一个macvlan网络为本地的不同容器分配不同的MAC地址和IP地址并进一步透传到本系统之外的外部局域网,实现分布式系统上的高可靠容器网络。一个处理模块可以虚拟出很多个容器,因此,容器数量众多,采用不同的MAC地址和IP地址用来区分不同容器。
[0013]本专利技术的动态冗余高可靠系统整体为一种分布式系统,其任务部署、任务运行、状态获取和容错重构的方式如下:基于标准TCP协议+POPEN接口进行改造,实现统一的远程系统调用,具体的,通过TCP接口发起一个远程任务访问,创建一个父进程(父进程即为守护进程)进行任务守护,包括在父进程内创建管道(管道即为通信通道)读取子进程的状态数据,实际为读取不同容器的状态,如果容器正常,进行后续工作,如果容器不正常,就创建一个新的容器进行迁移工作,即为根据故障信息调用新的子进程实现容错动态重构。
[0014]本专利技术系统进行工作时,对于不同的任务,采用不同的处理方式,对于平台控制类任务:将任务和容器打包成镜像部署到四个处理模块中同步运行。选取三个处理模块组成三模表决构型,第四个硬件处理单元作为备用,在三模表决结构出现一个处理模块故障以后,采用第个处理模块替换故障节点重新构成三模表决构型。对于并行的高性能计算任务:将高性能计算任务根据负载平均分配到四个处理模块的若干容器内运行,四个处理模块采取定时快照的方式对全部容器内的任务进行备份并存储到外界的NFS存储器(NFS存储器即为服务器)上共享存储。出现软件故障后可通过快照本地恢复运行,出现硬件故障后可以通过NFS存储器(NFS存储器即为服务器)读取到异地进行迁移重构恢复。对于web服务类应用:一般采取CS\BS的架构运行,通过双物理节点即为两个硬件处理单元主备冗余+访问代理的方式工作。当主节点出现故障以后、代理转发到备用节点继续提供服务,同时重新生成一个提供服务应用的容器,再次构成主备冗余构型。
[0015]总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,具有以下有益效果:
[0016]本专利技术设计的动态冗余可靠系统设计有多个相互独立的处理模块和多路以太网
交换机,一个处理模块与多路以太网交换机连接,形成冗余设计,多个处理模块中的容器被标示,系统冗余构型灵活,此外,容器环境搭建了多路冗余的网络环境,可以为平台控制、高性能计算、CS/BS类网络服务提供多种高可靠运行支撑,故障恢复能力强,具有扩展性强、可靠性高的特点。在系统的工作方法上,其远程调用接口,集成任务部署、状态获取和动态重构功能,提高了系统易用性。本专利技术的系统和方法适用于国产CPU平台、国产linux操作系统以及国产网卡,具备较高的自主可控程度。
附图说明
[0017]图1是本专利技术实施例提供的基于容器的动态冗余可靠系统本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于容器的动态冗余可靠系统,其特征在于,其包括至少两个相互独立的处理模块和至少两路以太网交换机,每个处理模块至少与两路及以上的以太网交换机相连,每个处理模块中网卡的数量与以太网交换机的数量想匹配,多路以太网交换机之间均相互互联。2.如权利要求1所述的一种基于容器的动态冗余可靠系统,其特征在于,其包括四个处理模块和两路以太网交换机,两路以太网交换机之间相互连接,每一个处理模块具有两个网卡,每个处理模块均同时与两路以太网交换机相连接。3.如权利要求2所述的基于容器的动态冗余可靠系统的工作方法,其特征在于,对于多个处理模块中容器间的数据交互保障为以下方式:每个处理模块通过两路网卡连接到两路独立交换网络,以构成冗余,通过设置在每个处理模块内的bonding子模块,将两路网卡绑定为一个逻辑网卡上,在逻辑网卡上虚拟出一个macvlan网络,macvlan网络用于为本地的不同容器分配不同的MAC地址和IP地址,从而标示出不同的容器,进而能透传到外部的局域网,实现分布式系统上的高可靠容器网。4.如权利要求3所述的基于容器的动态冗余可靠系统的工作方法,其特征在于,其进行任务管理的过程包括任务部署阶段、任务运行阶段和动态重构阶段,其中,任务部署阶段的具体操作为:通过TCP接口发起一个远程任务访问,创建一个对应的父进程并调用fork()创建子进程shell,以实现任务的启动部署,并创建pipe管道,所述任务运行阶段的具体操作为:通过TCP接口不断读取pipe管道的shell...

【专利技术属性】
技术研发人员:章祺胡哲琨戴新发
申请(专利权)人:中国船舶重工集团公司第七零九研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1