CN116189781A - 一种高可靠单细胞数据分析方法、系统、设备及存储介质 - Google Patents
一种高可靠单细胞数据分析方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN116189781A CN116189781A CN202310192925.XA CN202310192925A CN116189781A CN 116189781 A CN116189781 A CN 116189781A CN 202310192925 A CN202310192925 A CN 202310192925A CN 116189781 A CN116189781 A CN 116189781A
- Authority
- CN
- China
- Prior art keywords
- node
- physical
- data analysis
- target
- cell data
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B40/00—ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2041—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Public Health (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biotechnology (AREA)
- Epidemiology (AREA)
- General Health & Medical Sciences (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioethics (AREA)
- Artificial Intelligence (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种高可靠单细胞数据分析方法、系统、设备及存储介质,所述高可靠单细胞数据分析方法应用于单细胞数据分析平台,所述单细胞数据分析平台与各个物理节点连接,所述高可靠单细胞数据分析方法包括:控制每个所述物理节点创建至少一台虚拟机;在所述虚拟机上部署守护进程,其中,所述守护进程用于检测各所述物理节点是否存在故障;若检测到各所述物理节点中有存在故障的目标物理节点,则根据预设的节点容错规则处理所述目标物理节点。本申请提高了单细胞数据分析平台的可靠性。
Description
技术领域
本申请涉及单细胞数据分析技术领域,尤其涉及一种高可靠单细胞数据分析方法、系统、设备及存储介质。
背景技术
随着测序技术的快速发展,基因研究机构和医学科研机构产生了海量的单细胞信息数据,但这些数据无法直接进行使用,需要利用单细胞数据分析平台和单细胞数据学技术对这些数据进行分析加工,从而给出清晰而且易于导出的结果信息。目前基于slurm(Simple Linux Utility for Resource Management,Linux平台简单资源管理工具)调度系统的单细胞数据分析平台,将一个物理节点部署在物理资源上,若物理资源出现宕机情况,则无法快速恢复物理节点的功能,而导致基于slurm调度系统的单细胞数据分析平台无法继续进行单细胞数据的分析,单细胞数据分析平台的可靠性低。
发明内容
本申请的主要目的在于提供一种高可靠单细胞数据分析方法、系统、设备及存储介质,旨在解决如何提高单细胞数据分析平台的可靠性的技术问题。
为实现上述目的,本申请提供一种高可靠单细胞数据分析方法应用于单细胞数据分析平台,所述单细胞数据分析平台与各个物理节点连接,所述高可靠单细胞数据分析方法包括以下步骤:
控制每个所述物理节点创建至少一台虚拟机;
在所述虚拟机上部署守护进程,其中,所述守护进程用于检测各所述物理节点是否存在故障;
若检测到各所述物理节点中有存在故障的目标物理节点,则根据预设的节点容错规则处理所述目标物理节点。
可选地,所述控制每个所述物理节点创建至少一台虚拟机的步骤之前,包括:
设置每个所述物理节点的节点角色,其中,所述节点角色包括控制节点、计算节点与存储节点,所述控制节点包括控制主节点与控制备节点,所述存储节点包括存储主节点与存储备节点;
设置所述控制节点与所述计算节点访问所述存储节点的共享路径,并设置所述控制节点与所述计算节点基于预设的调度系统进行作业调度,其中,所述预设的调度系统包括Linux平台简单资源管理工具slurm调度系统。
可选地,所述根据预设的节点容错规则处理所述目标物理节点的步骤,包括:
确定所述故障的故障类型;
在所述故障类型为硬件故障之后,确定所述目标物理节点的节点角色;
在所述节点角色为控制主节点之后,确定所有所述物理节点中节点角色为控制备节点的第一物理节点;
将所述目标物理节点的节点角色设置为控制备节点,并将所述第一物理节点的节点角色设置为控制主节点。
可选地,所述确定所述目标物理节点的节点角色的步骤之后,包括:
在所述节点角色为存储主节点之后,确定所有所述物理节点中节点角色为存储备节点的第二物理节点,其中,所述存储主节点与所述存储备节点保持数据同步;
将所述目标物理节点的节点角色设置为存储备节点,并将所述第二物理节点的节点角色设置为存储主节点。
可选地,所述确定所述目标物理节点的节点角色的步骤之后,包括:
在所述节点角色为计算节点之后,确定所述目标物理节点对应的目标虚拟机;
确定所述目标虚拟机中包括的所有作业,将所有所述作业迁移至预备份虚拟机,并将所述目标物理节点部署到预备份虚拟机上。
可选地,所述确定所述故障的故障类型的步骤之后,包括:
在所述故障类型为软件故障之后,确定所述目标物理节点对应的目标虚拟机;
读取所述目标虚拟机留存的所有快照,根据所有所述快照回滚所述目标虚拟机。
可选地,所述根据所有所述快照回滚所述目标虚拟机的步骤,包括:
从所有所述快照中选择一个目标快照,其中,每个所述快照中记录有所述目标虚拟机的瞬时状态;
获取所述目标快照中记录的所述目标虚拟机的目标瞬时状态,将所述目标虚拟机的当前状态回滚至所述目标瞬时状态。
此外,为实现上述目的,本申请还提供一种高可靠单细胞数据分析系统,所述单细胞数据分析系统包括单细胞数据分析平台,以及与所述单细胞数据分析平台连接的物理节点,所述物理节点包括控制节点、计算节点与存储节点,所述单细胞数据分析平台包括:
创建模块,用于控制每个所述物理节点创建至少一台虚拟机;
部署模块,用于在所述虚拟机上部署守护进程,其中,所述守护进程用于检测各所述物理节点是否存在故障;
处理模块,用于若检测到各所述物理节点中有存在故障的目标物理节点,则根据预设的节点容错规则处理所述目标物理节点。
此外,为实现上述目的本申请,还提供一种高可靠单细胞数据分析设备,所述高可靠单细胞数据分析设备包括:存储器、处理器及存储在所述存储器上的单细胞数据分析程序;所述处理器用于执行所述单细胞数据分析程序,以实现上述高可靠单细胞数据分析方法的步骤。
此外,为实现上述目的,本申请还提供了一种存储介质,所述存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述高可靠单细胞数据分析方法的步骤。
本申请通过控制每个所述物理节点创建至少一台虚拟机,从而将与生物分析平台连接的各物理节点部署在虚拟机上,并且在所述虚拟机上部署守护进程,用于检测各所述物理节点是否存在故障,若检测到各所述物理节点中有存在故障的目标物理节点,则按照预设的节点容错规则处理所述目标物理,避免了将物理节点直接部署在物理资源上,物理资源出错导致物理节点出现故障时,无法快速恢复物理节点的功能,导致整个单细胞数据分析平台陷入等待状态的现象发生,本申请通过将物理节点部署在虚拟机,通过虚拟机实时检测各物理节点是否存在故障,一旦检测到有存在故障的目标物理节点,则以预设的节点容错规则处理所述目标物理节点,保证单细胞数据分析平台可以继续的进行单细胞数据分析的进程,从而提高了单细胞数据分析平台的可靠性。
附图说明
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
图1是本申请实施例方案涉及的硬件运行环境的终端\系统结构示意图;
图2是本申请高可靠单细胞数据分析方法的第一实施例的流程示意图;
图3是本申请高可靠单细胞数据分析方法中生物分析平台总体架构图;
图4是本申请高可靠单细胞数据分析方法的故障恢复流程示意图;
图5是本申请高可靠单细胞数据分析方法的存储服务架构示意图;
图6是本申请高可靠单细胞数据分析方法的软件调用流程示意图;
图7是本申请高可靠单细胞数据分析系统的单细胞数据分析平台模块示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,图1为本申请实施例方案涉及的硬件运行环境的高可靠单细胞数据分析设备结构示意图。
如图1所示,该高可靠单细胞数据分析设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FId身份标识elity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-VolatileMemory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储系统。
本领域技术人员可以理解,图1中示出的结构并不构成对高可靠单细胞数据分析设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及单细胞数据分析程序。在图1所示的高可靠单细胞数据分析设备中,网络接口1004主要用于与其他设备进行单细胞数据分析;用户接口1003主要用于与用户进行数据交互;本申请高可靠单细胞数据分析设备中的处理器1001、存储器1005可以设置在高可靠单细胞数据分析设备中,所述高可靠单细胞数据分析设备通过处理器1001调用存储器1005中存储的单细胞数据分析程序,并执行本申请实施例提供的高可靠单细胞数据分析方法。
本申请提出一种高可靠单细胞数据分析方法,在本申请的第一实施例中,所述高可靠单细胞数据分析方法应用于单细胞数据分析平台,所述单细胞数据分析平台与各个物理节点连接,参照图2,所述高可靠单细胞数据分析方法包括:
步骤S10,控制每个所述物理节点创建至少一台虚拟机;
KVM(Kernel-based Virtual Machine,基于内核的虚拟机)是一个开源的系统虚拟化模块,自Linux 2.6.20(内核版本)之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,其核心源码很少。KVM已成为学术界的主流VMM(VirtualMachine Monitor,虚拟机监控器)之一。KVM的虚拟化需要硬件支持,是基于硬件的完全虚拟化。
slurm是开源的、具有容错性和高度可扩展的Linux集群超级计算系统资源管理和作业调度系统。超级计算系统可利用slurm对资源和作业进行管理,以避免相互干扰,提高运行效率。所有需运行的作业,无论是用于程序调试还是业务计算,都可以通过交互式并行srun、批处理式sbatch或分配式salloc等命令提交,提交后可以利用相关命令查询作业状态等。
目前来说,KVM被广泛使用,用户可以通过KVM来创建虚拟机,虚拟机可以选择多种操作系统,比如linux、windows等。KVM也被Openstack(云平台技术)用作为虚拟化技术来提供虚拟化服务。但是说KVM是一种基于Linux内核的技术,即其最大的虚拟机规格是依赖于宿主机(物理主机)的基础配置(比如CPU、内存等),显而易见,单个节点能够提供的算力是十分有限的。
slurm调度系统目前主要应用在超级计算系统资源管理和作业调度,其主要是将物理节点部署在物理资源上,物理资源的操作系统可以是Linux操作系统。slurm调度系统的稳定性依赖于物理资源的稳定性,即若物理资源出现宕机情况,则该系统无法快速物理节点的功能,需要等运维人员恢复物理节点后,再恢复slurm调度系统。slurm调度系统宣称的具有容错性和可拓展性是有局限性的,比如其容错性是指在一定时间内容错,这就意味着若是损坏的节点无法短时间内恢复,则程序运行一样是会报错或变为僵尸进程。
因此在本实例中,单细胞数据分析平台融合KVM与slurm,充分发挥KVM与slurm各自的优势,又能互相弥补KVM与slurm各自的劣势,从而保证生物分析平台具有高可靠性。
通过控制与单细胞数据分析平台连接的每个物理节点创建至少一台虚拟机即KVM,从而将每一个物理节点均部署到了虚拟机上,而不是直接部署在物理资源上。其中,物理节点指的是网络中的实体设备,物理节点可以是计算机、路由器、交换机或其他网络设备,通常都是有形的、可以触摸的实体,在计算机网络中,物理节点负责处理和转发数据,并且提供了网络中的计算能力和存储能力。此外,物理节点也可以通过配置不同的硬件和软件来扩展网络的功能和性能。例如,可以通过配置高性能的中央处理器、大容量的存储器和快速的网络接口卡来提高网络的处理能力和传输速度。
示例性的,在控制每个所述物理节点创建至少一台虚拟机的步骤之前,包括:
步骤a,设置每个所述物理节点的节点角色,其中,所述节点角色包括控制节点、计算节点与存储节点,所述控制节点包括控制主节点与控制备节点,所述存储节点包括存储主节点与存储备节点;
步骤b,设置所述控制节点与所述计算节点访问所述存储节点的共享路径,并设置所述控制节点与所述计算节基于预设的调度系统进行作业调度,其中,所述预设的调度系统包括Linux平台简单资源管理工具slurm调度系统。
在本实施例中,每个物理节点均设置为控制、计算或者存储中的任一角色,控制节点的角色进一步分为控制主节点与控制备节点,存储节点的角色进一步分为存储主节点与存储备节点。进一步,也可以根据每个计算节点的型号的差异分为GPU(GraphicProcessing Unit,图形处理器)型计算节点、CPU型计算节点。需要说明的是,还可以设置控制节点与计算节点基于预设的调度系统进行作业调度,其中,预设的调度系统可以是Linux平台简单资源管理工具slurm调度系统,则控制节点是安装slurm的主体的物理节点,计算节点是安装slurm的计算服务的物理节点,存储节点是为slurm集群上面所有节点提供存储服务的物理节点。并且设置共享路径以访问存储节点,控制节点与计算节点均可以通过共享路径访问到存储节点,存储前端即存储节点通过VIP(Virtual Internet Protocol,虚拟网络协议)来进行虚拟IP的绑定,通过NFS(Network File System,网络文件系统)来提供共享路径的服务,slurm控制节点和slurm计算节点均通过虚拟IP和共享路径来访问存储节点。
进一步地,参照图3,还可以将LDAP(Lightweight Directory Access Protocol,轻量目录访问协议)部署在两个控制节点上(即控制主节点与控制备节点),选用的软件为openldap,部署模式为主从,主服务部署在slurm控制主节点,从服务部署在slurm控制备节点,备控制节点同时兼顾登录节点的角色,计算节点上面部署有客户端,用于用户识别。该协议主要用于用户管理,通过主控制节点进行用户创建,用户能同步到每个slurm集群节点上面,外部用户在登录备控制节点(登陆节点)时,集群会在home目录下创建该用户的文件夹用于用户自行使用,并且可以将任务提交至计算节点(包括GPU型计算节点与CPU型计算节点)。并且存储主节点(存储前端-1)与存储备节点(存储前端-2)通过VIP进行绑定,还可以将存储主节点与存储备节点以分布式存储的方式的存储数据,例如基于ceph的分布式存储技术。需要说明的是,本实施例中,会为每个物理节点创建至少一台虚拟机,也就是将每个物理节点均被部署在虚拟机上,因此控制节点、计算节点以及存储节点均会被部署在通过单细胞数据分析平台(云平台)基于KVM创建的虚拟机上。
在本实例中,为与生物分析平台连接的每个物理节点设置为控制节点、计算节点与存储节点不同的节点角色,从而承担不同的功能,并且设置控制节点与计算节点基于slurm调度系统进行作业调度,并将所有的物理的节点部署在虚拟机上,从而本实施例中的生物分析平台包括基于KVM(即虚拟机)的slurm控制节点、基于KVM的slurm计算节点和基于KVM的存储节点,实现了生物分析平台的高可靠性。
步骤S20,在所述虚拟机上部署守护进程,其中,所述守护进程用于检测各所述物理节点是否存在故障;
在每个物理节点创建了至少一台虚拟机,由此将每个物理节点部署在由此物理节点创建的虚拟机上后,在每台虚拟机上部署有守护进程,用于监测物理节点的存活情况,即监测每个物理节点是否存在故障,虚拟机所在的云平台支持物理硬件发生故障时自动迁移该物理节点上面所有的虚拟机,根据物理节点的IMPI(带外管理)检测物理节点的存活情况并对物理节点上面的虚拟机进行迁移和恢复。
步骤S30,若检测到各所述物理节点中有存在故障的目标物理节点,则根据预设的节点容错规则处理所述目标物理节点。
若虚拟机上的守护进程检测到有存在故障的目标物理节点之后,根据预设的节点容错规则处理发生故障的目标物理节点,以使目标物理节点能够继续运行,而不是进入宕机状态。进一步的,预设的节点容错规则可以是根据不同的故障类型以的不同的处理方法处理目标物理节点,例如,参照图4,对物理节点的处理可分为硬件层面的恢复与软件层面的恢复,对于硬件层面的恢复流程可以是检测到目标物理节点存在故障之后,若自动检测到目标物理节点的故障是硬件发生的故障,则对目标物理节点所在的目标虚拟机进行迁移后结束硬件层面恢复流程,若目标物理节点不是硬件发生的故障,则立即结束硬件层面恢复流程;对于软件层面的恢复流程可以是检测到目标物理节点存在故障之后,若检测到目标物理节点的故障是系统或者软件发生的故障,则对目标物理节点所在的目标虚拟机进行快照回滚后结束软件层面恢复流程,若检测到目标物理节点的故障不是系统或者软件发生的故障,则立即结束软件层面恢复流程。
本实施例通过控制每个所述物理节点创建至少一台虚拟机,从而将与生物分析平台连接的各物理节点部署在虚拟机上,并且在所述虚拟机上部署守护进程,用于检测各所述物理节点是否存在故障,若检测到各所述物理节点中有存在故障的目标物理节点,则按照预设的节点容错规则处理所述目标物理,避免了将物理节点直接部署在物理资源上,物理资源出错导致物理节点出现故障时,无法快速恢复物理节点的功能,导致整个单细胞数据分析平台陷入等待状态的现象发生,本实施例通过将物理节点部署在虚拟机,通过虚拟机实时检测各物理节点是否存在故障,一旦检测到有存在故障的目标物理节点,则以预设的节点容错规则处理所述目标物理节点,保证单细胞数据分析平台可以继续的进行单细胞数据数据分析的进程,从而提高了单细胞数据分析平台的可靠性。
进一步地,基于上述本申请的第一实施例,提出本申请高可靠单细胞数据分析方法的第二实施例,上述实施例步骤S30,若检测到各所述物理节点中有存在故障的目标物理节点,则根据预设的节点容错规则处理所述目标物理节点步骤的细化,包括:
步骤c,确定所述故障的故障类型;
在本实施例中,区分目标物理节点的发生故障的故障类型,以不同的故障类型进行相应的故障处理,从而保证有效且准确的恢复目标物理节点进入运行状态,可选的,故障类型可以分为硬件故障与软件故障,若目标物理节点的所发生故障的故障类型为硬件故障,则对目标物理节点进行硬件层面的恢复,若目标物理节点所发生故障的故障类型为软件故障,则对目标物理节点进行软件层面的恢复,若既有硬件故障又有软件故障,则即进行硬件层面的恢复又进行软件层面的恢复。
步骤d,在所述故障类型为硬件故障之后,确定所述目标物理节点的节点角色;
步骤e,在所述节点角色为控制主节点之后,确定所有所述物理节点中节点角色为控制备节点的第一物理节点;
步骤f,将所述目标物理节点的节点角色设置为控制备节点,并将所述第一物理节点的节点角色设置为控制主节点。
在本实施例中,至少有两个物理节点的节点角色均设置为控制节点,并且一个设置为控制主节点,另一个设置为控制备节点,并且slurm的主体被安装在两个slurm控制节点上,由该两个控制点进行管理,控制节点处于主备状态,控制主节点做整个集群的管控,控制备节点做整个集群的管控的备用机,当控制主节点发生故障时,这两个控制节点的主备角色会进行切换。即将原控制主节点作为新的控制备节点,而原控制备节点作为新的控制主节点。
在本实例中,检测到有发生故障的目标物理节点,目标物理节点的故障类型为硬件故障且目标物理节点的节点角色为控制主节点,则确定所有物理节点中节点角色为控制备节点的第一物理节点,将第一物理节点与目标物理节点的节点控制主备角色进行切换,保证控制节点能够继续承担其功能,准确运行,而不是进入宕机状态,从而提高了控制节点的可靠性。
在一实施例中,所述确定所述目标物理节点的节点角色的步骤之后,包括:
步骤g,在所述节点角色为存储主节点之后,确定所有所述物理节点中节点角色为存储备节点的第二物理节点,其中,所述存储主节点与所述存储备节点保持数据同步;
步骤h,将所述目标物理节点的节点角色设置为存储备节点,并将所述第二物理节点的节点角色设置为存储主节点。
在本实施例中,至少有两个物理节点的节点角色均设置为存储节点,并且一个设置为存储主节点,另一个设置为存储备节点,存储节点是为slurm集群上面所有物理节点提供存储服务的,生物分析平台中的所有数据库所在的路径均为存储节点提供的共享存储服务。
进一步,参照图5,这两个存储节点(存储前端-1与存储前端-2)所在的虚拟机通过DRBD镜像同步服务进行数据同步,存储节点所在虚拟机的共享路径会进行数据实时同步,保持两个存储节点所在虚拟机上的数据是一致的。存储节点所挂载的硬盘是由分布式存储提供的云硬盘(云硬盘-1与云硬盘-2),分布式存储的存储池具有3副本策略,以保证数据安全。
存储节点通过VIP来进行虚拟IP的绑定,通过NFS来提供共享路径的服务,slurm控制节点和slurm计算节点均通过虚拟IP和共享路径来访问存储节点所在的虚拟机。VIP(虚拟IP)通过心跳机制来进行虚拟机存活监控,若是一台绑定了VIP的存储节点所在的虚拟机出现问题,虚拟机上面部署好的pacemaker(用于做VIP管理)会自动把VIP迁移至另一台存活的虚拟机上,同时,NFS服务也会自动进行切换,对用户访问路径的需求没有影响。
存储节点通过crmsh(高可用集群)配置顺序约束,当存储前端主节点故障发生资源转移到其他节点时,首先完成存储前端备节点的提权(也就是从第二优先权到第一优先权)然后再挂载文件系统,然后再进行VIP的切换,以保证存储服务的顺滑切换。
此外,为了保证后续的存储扩容需求,所有分布式存储提供的云硬盘都能进行LVM(Logical Volume Manager,逻辑卷管理)扩容。
在本实例中,目标物理节点的故障类型为硬件故障且目标物理节点的节点角色为存储主节点,则确定所有物理节点中节点角色为存储备节点的第二物理节点,将第二物理节点与目标物理节点的节点存储主备角色进行切换,并且对于两个存储节点通过VIP来进行虚拟IP的绑定,当存储前端主节点故障发生资源转移到其他节点时,首先完成存储前端备节点的提权(也就是从第二优先权到第一优先权)然后再挂载文件系统,再进行VIP的切换,NFS服务也会自动进行切换,保证用户能准确访问到存储节点所在虚拟机上的数据,保证了存储节点的高可用性。
在一实施例中,所述确定所述目标物理节点的节点角色的步骤之后,包括:
步骤i,在所述节点角色为计算节点之后,确定所述目标物理节点对应的目标虚拟机;
步骤j,确定所述目标虚拟机中包括的所有作业,将所有所述作业迁移至预备份虚拟机,并将所述目标物理节点部署到预备份虚拟机上。
在本实施例中,slurm的计算服务被安装在每个计算节点上,计算节点根据型号的差异(带GPU的节点或者纯CPU的节点)分为不同的分区,供用户自行选择。参照图6,用户登录到生物分析平台中后,生物分析平台自动激活虚拟环境,用户通过调用函数提交作业任务,slurm调度机制根据作业任务类型,将作业任务提交至GPU计算节点或者CPU计算节点,计算完成后突出虚拟环境。
进一步地,用户可以通过anaconda创建虚拟环境后,通过conda的安装命令来安装到创建好的虚拟环境上,虚拟环境可以部署在生物分析平台中/home/software目录下,该目录能被每个用户访问,用户通过conda activate加环境名字来激活环境,通过condainstall加软件包名字来安装自己想要的软件包,并且本实施例中的生物分析平台已在已有的虚拟环境上安装好了超400个生物分析软件,软件依赖的编程语言类型囊括R和Python,也就是本实施例中的生物分析平台基于KVM(即虚拟机)的SLURM控制节点、基于KVM的SLURM计算节点、单细胞数据分析软件和基于KVM的存储节点。
在本实例中,目标物理节点的故障类型为硬件故障且目标物理节点的节点角色为计算节点,则将发生故障的计算节点上的所有作业迁移至预备份虚拟机上,并且将预备份虚拟机作为部署此计算节点的虚拟机,从而完成计算节点所在虚拟机的迁移,并且能够恢复提交到此计算节点的作业,保证了提交到生物分析平台的作业能够被准确有效的完成计算。
在一实施例中,所述确定所述故障的故障类型的步骤之后,包括:
步骤k,在所述故障类型为软件故障之后,确定所述目标物理节点对应的目标虚拟机;
步骤l,读取所述目标虚拟机留存的所有快照,根据所有所述快照回滚所述目标虚拟机。
在本实施例中,为了保证各虚拟机器能一直可靠的运行,提供虚拟机的云平台为每一台虚拟机设置了每天制作快照的定时任务,每台虚拟机的快照留存数可以为3个,当虚拟机的系统层面或者软件层面出现问题(即软件故障),每台虚拟机都可根据自己留存的快照进行快照回滚,恢复为没有异常的时候,保证虚拟机的高可用。
在本实施例中,目标物理节点的故障类型为软件故障之后,读取目标物理节点所在目标虚拟机留存的所有快照,目标虚拟机可以根据自己留存的快照进行回滚,回滚至目标虚拟机没有异常的状态,从而保证虚拟机的高可用性。
在一实施例中,所述根据所有所述快照回滚所述目标虚拟机的步骤,包括:
步骤m,从所有所述快照中选择一个目标快照,其中,每个所述快照中记录有所述目标虚拟机的瞬时状态;
步骤n,获取所述目标快照中记录的所述目标虚拟机的目标瞬时状态,将所述目标虚拟机的当前状态回滚至所述目标瞬时状态。
在本实例中虚拟机留存的快照会记录虚拟机在当前时刻的瞬时状态,因此可以从目标虚拟机留存的所有快照所记录的瞬时状态中,选择最接近当前时刻且虚拟机未处于异常状态的目标快照,将目标虚拟机回滚至目标瞬时状态,从而将目标虚拟机恢复为没有异常的时候,虚拟机能够迅速恢复至未异常的状态,保证了虚拟机的准确有效恢复。
此外,本申请还提供一种高可靠单细胞数据分析系统,所述高可靠单细胞数据分析系统包括单细胞数据分析平台,以及与所述单细胞数据分析平台连接的物理节点,所述物理节点包括控制节点、计算节点与存储节点,参照图7,所述单细胞数据分析平台包括:
创建模块A10,用于控制每个所述物理节点创建至少一台虚拟机;
部署模块A20,用于在所述虚拟机上部署守护进程,其中,所述守护进程用于检测各所述物理节点是否存在故障;
处理模块A30,用于若检测到各所述物理节点中有存在故障的目标物理节点,则根据预设的节点容错规则处理所述目标物理节点。
此外,本申请还提供一种高可靠单细胞数据分析设备,所述高可靠单细胞数据分析设备包括:存储器、处理器及存储在所述存储器上的单细胞数据分析程序;所述处理器用于执行所述单细胞数据分析程序,以实现上述高可靠单细胞数据分析方法各实施例的步骤。
本申请还提供了一种存储介质,所述存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述高可靠单细胞数据分析方法各实施例的步骤。
本申请存储介质具体实施方式与上述高可靠单细胞数据分析方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种高可靠单细胞数据分析方法,其特征在于,所述高可靠单细胞数据分析方法应用于单细胞数据分析平台,所述单细胞数据分析平台与各个物理节点连接,所述高可靠单细胞数据分析方法包括:
控制每个所述物理节点创建至少一台虚拟机;
在所述虚拟机上部署守护进程,其中,所述守护进程用于检测各所述物理节点是否存在故障;
若检测到各所述物理节点中有存在故障的目标物理节点,则根据预设的节点容错规则处理所述目标物理节点。
2.如权利要求1所述的高可靠单细胞数据分析方法,其特征在于,所述控制每个所述物理节点创建至少一台虚拟机的步骤之前,包括:
设置每个所述物理节点的节点角色,其中,所述节点角色包括控制节点、计算节点与存储节点,所述控制节点包括控制主节点与控制备节点,所述存储节点包括存储主节点与存储备节点;
设置所述控制节点与所述计算节点访问所述存储节点的共享路径,并设置所述控制节点与所述计算节点基于预设的调度系统进行作业调度,其中,所述预设的调度系统包括Linux平台简单资源管理工具slurm调度系统。
3.如权利要求2所述的高可靠单细胞数据分析方法,其特征在于,所述根据预设的节点容错规则处理所述目标物理节点的步骤,包括:
确定所述故障的故障类型;
在所述故障类型为硬件故障之后,确定所述目标物理节点的节点角色;
在所述节点角色为控制主节点之后,确定所有所述物理节点中节点角色为控制备节点的第一物理节点;
将所述目标物理节点的节点角色设置为控制备节点,并将所述第一物理节点的节点角色设置为控制主节点。
4.如权利要求3所述的高可靠单细胞数据分析方法,其特征在于,所述确定所述目标物理节点的节点角色的步骤之后,包括:
在所述节点角色为存储主节点之后,确定所有所述物理节点中节点角色为存储备节点的第二物理节点,其中,所述存储主节点与所述存储备节点保持数据同步;
将所述目标物理节点的节点角色设置为存储备节点,并将所述第二物理节点的节点角色设置为存储主节点。
5.如权利要求3所述的高可靠单细胞数据分析方法,其特征在于,所述确定所述目标物理节点的节点角色的步骤之后,包括:
在所述节点角色为计算节点之后,确定所述目标物理节点对应的目标虚拟机;
确定所述目标虚拟机中包括的所有作业,将所有所述作业迁移至预备份虚拟机,并将所述目标物理节点部署到预备份虚拟机上。
6.如权利要求3所述的高可靠单细胞数据分析方法,其特征在于,所述确定所述故障的故障类型的步骤之后,包括:
在所述故障类型为软件故障之后,确定所述目标物理节点对应的目标虚拟机;
读取所述目标虚拟机留存的所有快照,根据所有所述快照回滚所述目标虚拟机。
7.如权利要求6所述的高可靠单细胞数据分析方法,其特征在于,所述根据所有所述快照回滚所述目标虚拟机的步骤,包括:
从所有所述快照中选择一个目标快照,其中,每个所述快照中记录有所述目标虚拟机的瞬时状态;
获取所述目标快照中记录的所述目标虚拟机的目标瞬时状态,将所述目标虚拟机的当前状态回滚至所述目标瞬时状态。
8.一种高可靠单细胞数据分析系统,其特征在于,所述单细胞数据分析系统包括单细胞数据分析平台,以及与所述单细胞数据分析平台连接的物理节点,所述物理节点包括控制节点、计算节点与存储节点,所述单细胞数据分析平台包括:
创建模块,用于控制每个所述物理节点创建至少一台虚拟机;
部署模块,用于在所述虚拟机上部署守护进程,其中,所述守护进程用于检测各所述物理节点是否存在故障;
处理模块,用于若检测到各所述物理节点中有存在故障的目标物理节点,则根据预设的节点容错规则处理所述目标物理节点。
9.一种高可靠单细胞数据分析设备,其特征在于,所述高可靠单细胞数据分析设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的单细胞数据分析程序,所述单细胞数据分析程序被所述处理器执行时实现如权利要求1至7中任一项所述的高可靠单细胞数据分析方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有单细胞数据分析程序,所述单细胞数据分析程序被处理器执行时实现如权利要求1至7中任一项所述的高可靠单细胞数据分析方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310192925.XA CN116189781A (zh) | 2023-02-28 | 2023-02-28 | 一种高可靠单细胞数据分析方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310192925.XA CN116189781A (zh) | 2023-02-28 | 2023-02-28 | 一种高可靠单细胞数据分析方法、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116189781A true CN116189781A (zh) | 2023-05-30 |
Family
ID=86450437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310192925.XA Pending CN116189781A (zh) | 2023-02-28 | 2023-02-28 | 一种高可靠单细胞数据分析方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116189781A (zh) |
-
2023
- 2023-02-28 CN CN202310192925.XA patent/CN116189781A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110520843B (zh) | 集群环境中高度可用的有状态容器 | |
US11416342B2 (en) | Automatically configuring boot sequence of container systems for disaster recovery | |
US10114834B2 (en) | Exogenous virtual machine synchronization and replication | |
CN112035293B (zh) | 确定虚拟机节点所有权的方法、计算机系统和程序产品 | |
US10474488B2 (en) | Configuration of a cluster of hosts in virtualized computing environments | |
US9489274B2 (en) | System and method for performing efficient failover and virtual machine (VM) migration in virtual desktop infrastructure (VDI) | |
EP2802990B1 (en) | Fault tolerance for complex distributed computing operations | |
US9912535B2 (en) | System and method of performing high availability configuration and validation of virtual desktop infrastructure (VDI) | |
WO2015172107A1 (en) | Mechanism for providing external access to a secured networked virtualization environment | |
WO2014200564A1 (en) | Method for leveraging hypervisor functionality for maintaining application consistent snapshots in a virtualization environment | |
JP2011118557A (ja) | 仮想計算機の移動管理方法、前記移動管理方法を用いた計算機、前記移動管理方法を用いた仮想化機構および前記移動管理方法を用いた計算機システム | |
CN113032085A (zh) | 云操作系统的管理方法、装置、服务器、管理系统及介质 | |
CN103414712A (zh) | 一种分布式虚拟桌面管理系统和方法 | |
US10810030B2 (en) | Identifying entities in a virtualization environment by converting heterogeneous string identifiers for interaction with a single API | |
US20220269414A1 (en) | Snapshotting a containerized application | |
US9841983B2 (en) | Single click host maintenance | |
US9195528B1 (en) | Systems and methods for managing failover clusters | |
US20230229478A1 (en) | On-boarding virtual infrastructure management server appliances to be managed from the cloud | |
US10454773B2 (en) | Virtual machine mobility | |
CN116189781A (zh) | 一种高可靠单细胞数据分析方法、系统、设备及存储介质 | |
CN115480893B (zh) | 异构化节点间的应用迁移方法、系统及集群 | |
Kumar et al. | Fault tolerant cloud systems | |
CN117170916A (zh) | 一种故障分析方法、装置、设备及存储介质 | |
Shaikh et al. | Ternate Fault Tolerance in Cloud Environment |
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 |