一种云计算数据中心的业务高可用方法

文档序号:7795166阅读:238来源:国知局
一种云计算数据中心的业务高可用方法
【专利摘要】本发明涉及一种云计算数据中心的业务高可用方法,所述方法包括:(1)对计算节点的系统内存进行分配;(2)对计算节点的系统内存进行管理;(3)设置计算节点的操作系统的程序加载。本发明复用业务运行过程中的内存数据,实施开销小。在云计算数据中心的计算节点出现负载不均时,可以使用本发明实现快速任务迁移,从而实现整个系统的负载再平衡。当云计算数据中心的物理计算节点能力不足时,可以新增物理节点,并且使用本发明将已有业务快速迁移到新增节点;或者已有物理节点使用率不足时,可以使用此方法将已有业务进行迁移和聚集,减少物理节点使用数量;从而实现云计算数据中心业务的弹性扩展和收缩。
【专利说明】—种云计算数据中心的业务高可用方法
【技术领域】
[0001]本发明属于云技术,具体讲涉及一种云计算数据中心的业务高可用方法。
【背景技术】
[0002]云计算是一种使用共享资源的新方式,它改变了传统的全部使用本地物理资源的模式。用户只需要通过网络连接到云计算数据中心,提出对计算、存储、网络等资源的需求描述,云计算数据中心就会根据需求描述进行资源调度并分配实际的物理资源来运行用户应用,满足用户需求。
[0003]云计算数据中心由规模庞大,规则参数不同的分布在不同地域的资源组成,这些资源之间物理上通过网络连接,逻辑上通过云计算数据中心的资源信息收集、管理、调度模块进行统一,从资源特征上来说,具有差异性、分布性和不可靠性等特点。不可靠性主要指由于物理资源本身由于机房环境、自然环境等导致的设备不可用或由于连接物理资源的网络故障导致的不可用。
[0004]为了应对云计算数据中心的资源不可靠问题,已有解决方案包括:
[0005]双机方案。现有云计算数据中心多采用虚拟机技术来运行应用,而虚拟机资源具有创建、管理和销毁都相对容易的特征,所以云计算数据中心业务的高可用方案就采用双虚拟机运行的方式,当其中一台虚拟机发生故障时,采用另一台虚拟机的运行结果。
[0006]虚拟机迁移方案。由于虚拟机是在物理资源上虚拟出来的计算机,所以,虚拟机和物理机之间并没有直接的关联关系。这样,就可以在物理资源即将发生故障时将虚拟机迁移到其它物理资源的方法来实现高可用及弹性扩展。
[0007]由于不是所有的物理资源故障都可以预测,所以虚拟机迁移方案的另一种形态是将应用所用的内存单独分区,并阶段性的对该分区做备份。这样突发故障时,使用最近一次的备份内容来将应用异步重构于其它虚拟机上,仍可保障应用的继续运行。
[0008]对于双机方案,由于虚拟机运行仍需消耗真正的物理资源,因此,同时运行两份相同的虚拟机和业务系统,带来物理资源的浪费,并引起用户费用的上升。
[0009]虚拟机迁移方案弥补了双机方案的不足,但仍存在备份的及时性和备份的开销之间的矛盾。具体表现为做备份的时间和实际用备份来恢复应用的时间之间存在时间差,时间差内的结果由于没有被备份而导致恢复时这部分结果丢失。所以,为了减少迁移时造成的结果丢失,时间差越小越好。但频繁的对应用进行备份,尤其在应用的数据量较大时,备份的开销将非常大。同时,由于对应用的数据进行备份时对应用程序自身也存在干扰,所以,时间差也不能太小。

【发明内容】

[0010]针对现有技术的不足,本发明提供一种云计算数据中心的业务高可用方法,通过将系统数据和业务数据分离,并采用业务元数据来描述所有业务的数据信息,使得可以将此信息用于系统故障后的重启或业务迁移当云计算环境中负载分配不均情况也可以适用,即系统运行过程中如果发现任务执行过程中的阶段性资源变化,或云计算物理资源在使用中发生的突发变化,则可以将某个物理节点的全部业务信息迁移至新的物理节点,从而实现云计算数据中心业务的弹性扩展。
[0011]本发明的目的是采用上述技术方案实现的:
[0012]一种云计算数据中心的业务高可用方法,其改进之处在于,所述方法包括
[0013](I)对计算节点的系统内存进行分配;
[0014](2)对计算节点的系统内存进行管理;
[0015](3)设置计算节点的操作系统的程序加载。
[0016]优选的,所述步骤(I)包括将操作系统内存分为系统自身使用的内存的区域,其它区域为作业务元数据和业务数据使用。
[0017]优选的,所述步骤(2)包括业务分配业务数据时,同时在业务元数据中记录。
[0018]优选的,所述步骤(3)包括读取业务元数据记录,并根据业务元数据恢复加载业务。
[0019]进一步地,所述业务元数据为系统重启后恢复业务数据的基础,其包括业务系统的应用程序镜像信息、内存信息、寄存器信息和参数信息。
[0020]进一步地,所述内存信息包括进程使用的代码段、数据段、堆栈;所述寄存器信息包括通用寄存器信息和进程相关寄存器信息;所述参数信息包括文件描述符和外设信息。
[0021]优选的,所述系统重启时初始化系统内存后,通过读取业务元数据恢复业务数据便可正常运行。
[0022]优选的,所述系统可将物理节点的业务信息迁移至新的物理节点,用于实现云计算数据中心业务的弹性扩展。
[0023]与现有技术比,本发明的有益效果为:
[0024]本发明复用业务运行过程中的内存数据,实施开销小。
[0025]由于内存中一直保存业务系统的最新运行数据,在计算节点发生软件故障时,可以直接恢复到业务中断前的最新状态,在实现系统高可用目标下,将故障恢复带来的损失降低。
[0026]当云计算数据中心的计算节点出现负载不均时,可以使用此方法实现快速任务迁移,从而实现整个系统的负载再平衡。
[0027]当云计算数据中心的物理计算节点能力不足时,可以新增物理节点,并且使用本发明将已有业务快速迁移到新增节点;或者已有物理节点使用率不足时,可以使用本发明将已有业务进行迁移和聚集,减少物理节点使用数量;从而实现云计算数据中心业务的弹性扩展和收缩。
[0028]在云计算数据中心具备不间断电源,并且计算机系统重启时并不强制对内存进行初始化的条件下,本发明具备可实施性。
【专利附图】

【附图说明】
[0029]图1为本发明提供的一种云计算数据中心的业务高可用方法中物理内存规划图。
[0030]图2为本发明提供的一种云计算数据中心的业务高可用方法系统重启流程变化图。[0031]图3为本发明提供的一种云计算数据中心的业务高可用方法业务元数据信息示意图。
[0032]图4为本发明提供的一种云计算数据中心的业务高可用方法示意图。
【具体实施方式】
[0033]下面结合附图对本发明的【具体实施方式】作进一步的详细说明。
[0034]如图1所示,本发明方案中,对操作系统对物理内存的使用布局进行重新规划。将系统内存放置在物理内存的低端,将业务用到的内存放在其余的内存位置。和现有操作系统对业务程序的物理内存划分方式不同的是,在业务内存和系统内存之间新增一个业务元数据内存区。该区域完整描述了所有业务内存的划分、使用信息,通过该元数据信息,可以重建出该系统上所有业务正常运行时所需的数据结构。
[0035]统计表明,系统故障80%以上的原因是软件故障,而非硬件故障,软件故障通过重启操作系统并重新加载运行应用即可。但传统方案中,操作系统重启过程中,会对所有内存区域进行初始化,这样之前保留的业务信息也将丢失,无法用于应用的重建。本发明方案中,通过修改云计算数据中心操作系统,将内存的检测和初始化两个步骤分离,即检测时仍检测整个内存的大小,而初始化时仅对系统内存部门进行初始化,其它内存区保留不变。
[0036]由于云计算数据中心一般具有不间断电源,并且现有的计算机系统中,系统重启过程中仅对主板做重置位操作,而不断电,这样内存中保存的信息可以在系统重启过程中得以保存。
[0037]如图2所示,本发明方案中,云计算数据中心节点的重启过程发生了变化。
[0038]业务元数据的组织方式是系统重启后恢复业务数据的基础,需要包含的信息除了业务系统的应用程序镜像信息之外,还应该包括应用运行过程中的内存信息、CPU中的寄存器信息和参数信息三大类型。其中内存信息包括进程使用的代码段、数据段、堆栈等信息;寄存器信息包括通用寄存器信息和进程相关寄存器信息;参数信息包括文件描述符等外设信息。
[0039]对于内存信息,由于本方案复用原始内存中的内容,所以不需要额外工作。在多个业务并存的模式下,由于元数据保存有应用程序的镜像信息,所以仍可像普通应用运行时一样,采用按需分配的机制,并可以根据物理内存的实际使用状况进行内存数据的换入换出操作。值得注意的是,对于有换页操作的应用,业务元数据需对换页信息做记录。
[0040]寄存器信息由于存在于CPU中,并且寄存器内容变化较快,所以需要快速的备份机制。计算机系统中为了支持多任务分时共享,通过软硬件系统提供了一套快速的进程切换机制,该机制中包括对应用进程寄存器信息的快速备份和恢复系统,利用该机制可以实现寄存器信息的及时备份。
[0041]参数信息包括主要指各种文件描述符信息,对于此类信息,除了记载描述符自身信息之外,还需记录描述符对应的设备或管道的具体描述,以便在系统重启后可以完整的恢复。
[0042]如图3所示,业务元数据为每个业务组织的内存描述信息。
[0043]在使用图3所示内存描述信息前提下,系统高可用体现为:当计算节点运行过程中发生系统软件故障时,重启本计算节点,则本计算节点按照图4所示流程进行重启。如图4所示,重启后的系统将继续运行原业务,重启过程给业务带来的损失开销很小。
[0044]本发明除了可以实现云计算数据中心的业务高可用目标之外,对于由于云计算环境中负载分配不均情况也可以适用,即系统运行过程中如果发现任务执行过程中的阶段性资源变化,或云计算物理资源在使用中发生的突发变化,则可以将某个物理节点的全部业务信息(包括业务元数据和业务数据)迁移至新的物理节点,从而实现云计算数据中心业务的弹性扩展。以物理节点负荷过重为例,弹性扩展操作流程如下:
[0045]1、云计算数据中心管理节点判断系统中物理节点总负荷是否超过阈值,是则新增一个物理节点,转至步骤2 ;否则结束。
[0046]2、选择负荷最重的物理节点,将其上运行的占用资源最多的业务相关的业务元数据和业务数据发送到新增物理节点。
[0047]3、新增物理节点收到业务元数据和数据后,根据业务元数据描述信息将业务数据加载,恢复业务的继续运行。
[0048]4、数据中心管理节点判断新增物理节点负荷是否超过系统中所有计算节点平均值。如果是,则转至步骤I;否则,转至步骤2。
[0049]本发明不需对现有数据中心的计算节点做硬件上修改,也不需要对计算节点上运行的业务做修改,而仅仅需要对计算节点上的操作系统做修改,修改现有操作系统的内存分配方案,将操作系统自身使用的内存集中到内存的特定区域,其它区域留作业务元数据和业务数据使用。修改现有操作系统的内存管理方案,在为业务分配业务数据的同时,也在业务元数据中做记录。修改现有操作系统中的程序加载方案,优先读取业务元数据记录,并根据业务元数据来恢复加载业务。
[0050]最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的【具体实施方式】进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。
【权利要求】
1.一种云计算数据中心的业务高可用方法,其特征在于,所述方法包括 (1)对计算节点的系统内存进行分配; (2)对计算节点的系统内存进行管理; (3)设置计算节点的操作系统的程序加载。
2.如权利要求1所述的一种云计算数据中心的业务高可用方法,其特征在于,所述步骤(I)包括将操作系统内存分为系统自身使用的内存的区域,其它区域为作业务元数据和业务数据使用。
3.如权利要求1所述的一种云计算数据中心的业务高可用方法,其特征在于,所述步骤(2 )包括业务分配业务数据时,同时在业务元数据中记录。
4.如权利要求1所述的一种云计算数据中心的业务高可用方法,其特征在于,所述步骤(3)包括读取业务元数据记录,并根据业务元数据恢复加载业务。
5.如权利要求4所述的一种云计算数据中心的业务高可用方法,其特征在于,所述业务元数据为系统重启后恢复业务数据的基础,其包括业务系统的应用程序镜像信息、内存信息、寄存器信息和参数信息。
6.如权利要求5所述的一种云计算数据中心的业务高可用方法,其特征在于,所述内存信息包括进程使用的代码段、数据段、堆栈;所述寄存器信息包括通用寄存器信息和进程相关寄存器信息;所述参数信息包括文件描述符和外设信息。
7.如权利要求1所述的一种云计算数据中心的业务高可用方法,其特征在于,所述系统重启时初始化系统内存后,通过读取业务元数据恢复业务数据便可正常运行。
8.如权利要求1所述的一种云计算数据中心的业务高可用方法,其特征在于,所述系统可将物理节点的业务信息迁移至新的物理节点,用于实现云计算数据中心业务的弹性扩展。
【文档编号】H04L29/08GK103888510SQ201410016263
【公开日】2014年6月25日 申请日期:2014年1月14日 优先权日:2014年1月14日
【发明者】许建卫 申请人:无锡城市云计算中心有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1