一种移动云计算网络中突发服务故障的解决方法及系统与流程

文档序号:16198671发布日期:2018-12-08 06:23阅读:400来源:国知局
一种移动云计算网络中突发服务故障的解决方法及系统与流程

本发明涉及云计算技术领域,特别涉及一种移动云计算网络中突发服务故障的解决方法及系统。

背景技术

目前在世界范围内对于移动云计算服务恢复的研究主要集中在网络环境稳定下的、由于人为因素(如移动客户端离开当前网络覆盖区域等)造成的服务中断,而服务恢复的方案主要集中在传统的虚拟机热迁移技术。这与本发明的由于服务器故障、崩溃而造成的服务中断后恢复相差较远,在这种环境下,网络是不稳定甚至是中断的。

另外,国内外相关的移动云计算研究包括,美国卡耐基梅隆大学研究人员设计出了一种“用户——微云——云计算中心”的三层模型并应用于移动云计算环境中,并针对实际环境中由于微云无线网络覆盖区域有限而造成的移动服务中断问题提出了一种“虚拟机传接”(vmhand-off)的方法。该方法通过实时传送硬盘和内存overlay数据进行服务的实时切换。北京邮电大学网络与交换技术国家重点实验室也提出了一种“针对移动云计算环境中多媒体服务的自适应切换”设计方案。该方案采用多路径传输技术,采用多路传输模式,并根据网络条件对其进行了改进,并采用了复制模式和有效模式,从而实现云计算中多媒体服务的无缝切换。

现有的移动云计算服务恢复功能并不完备,如针对“多媒体服务的切换”技术应用于其他移动端服务(图像识别,显示增强等人工智能服务)是有很大的技术问题的;基于微云三层模型的“虚拟机传接”方案可以处理网络环境较好情况下的服务切换,而在网络环境复杂、不稳定或者数据传输量较大的情况下,这种服务切换方案就会有网络拥塞等很多问题出现。而针对人为或自然因素造成的服务和网络突然中断等问题,现今更是未能提出较好的解决方案。

所以,创造一种改进的移动云计算网络中突发服务故障的解决方法及系统,成为一个亟待解决的问题。



技术实现要素:

本发明提供一种移动云计算网络中突发服务故障的解决方法及系统,可以提升网络稳定性的,提供突发服务中断的恢复能力;能够通过多阶段的数据备份和处理降低网络中的数据传输量,从而降低由于移动网络带宽不稳定而造成的网络拥塞的可能,也间接的提高的移动云计算服务的稳定性。

一种移动云计算网络中突发服务故障的解决方法,包括:

采集当前服务微云群上虚拟机硬盘所写入的数据;

对采集到的硬盘数据进行数据量最小化处理,并统一数据记录、存储格式下来,得到所需的输出数据;

当前服务微云群以socket方式和控制微云群建立tcp连接,并将所需的输出数据传输给控制微云群;

控制微云群定时接收当前服务微云群发送的数据,并对数据进行更新和存储;

当前服务微云群发生服务器崩溃,控制微云群将最新的输出数据传输给后备微云群;

后备微云群对数据进行逆处理,恢复硬盘数据并重启虚拟机服务,完成服务的迁移。

进一步的,采集当前服务微云群上虚拟机硬盘所写入的数据,具体包括:

在当前服务微云群上设计fuse文件系统,对拟机硬盘所写入的数据进行采集,并将数据转换为十六进制记录下来,并将该部分数据称作“overlay”。

进一步的,所述对采集到的硬盘数据进行数据量最小化处理,并统一数据记录、存储格式下来,得到所需的输出数据,具体包括:

将通过fuse文件系统所采集到的overlay数据进行4kb的数据对齐,并将每4kb数据作为一个“单位块”;

对每一块数据进行“删重”,“除零”和“差异化编码”三种方式的处理;

比较上述三种处理方式的输出结果;

选取数据量最小的一种数据作为输出数据,压缩后进行传输。

进一步的,所述“删重”还包括:

将overlay中每一块数据与之前已经记录或者传输过的块数据,以及基础镜像文件中的块数据进行比较,当有重复数据出现时,用指示性数据来代替原4kb的数据。

进一步的,所述“除零”还包括:

对于写入硬盘的连续为0数据用“指示性”数据来代替原4kb数据,减少数据量。

进一步的,所述“差异化编码”还包括:

通过xdelta3、bsdiff4或xor算法,对每一块数据进行其相比于基础镜像中的块数据的差量压缩编码,得到该块数据的编码数据。

进一步的,所述方法还包括:

将overlay的块数据以json数据格式的方式进行存储,以“名称:值”的形式将上述所需信息记录进行存储。

进一步的,所述方法还包括:

后备微云群使用virsh虚拟机管理工具通过libvirt接口重启虚拟机服务。

同时,本发明还提供了一种移动云计算网络中突发服务故障的解决系统,包括:

数据采集模块、数据处理和存储模块、迁移控制中心模块、数据传输模块和数据恢复模块,所述模块共同构成了移动云计算网络服务器。

进一步的,所述移动云计算网络服务器可承担提供当前移动服务的当前微云群、作为数据存储中心和迁移控制中心的控制微云、提供服务恢复的后备微云群中的任一微云群或多个微云群的角色和任务。

本发明实施例中,由于采用了上述技术方案,与现有技术相比,本发明基于openstack云计算管理平台,在虚拟机提供服务的同时进行数据的记录、处理、传输和备份。当出现故障导致服务突然中断时,会将备份数据传输到其他服务器并进行服务的恢复。与上述的其他设计方案相比,首先是网络稳定性的提升,提供突发服务中断的恢复能力;其次,能够通过多阶段的数据备份和处理降低网络中的数据传输量,从而降低由于移动网络带宽不稳定而造成的网络拥塞的可能,也间接的提高的移动云计算服务的稳定性。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明实施例1提供的迁移服务微云群构成示意图。

图2为本发明实施例1提供的迁移方案模块化组成结构示意图。

图3为本发明实施例1提供的移动云计算服务突发故障恢复方案设计结构示意图。

图4为本发明实施例2提供的数据处理模块流程框图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

实施例1:

移动网络的不稳定性和复杂性造成了移动云计算服务的不稳定性,当出现服务中断等故障时就需要对服务进行迅速的恢复。对于由于服务器问题和网络问题等造成的服务中断,由于无法进行实时热迁移,就需要利用备份数据进行数据和服务的恢复,从而保证客户端服务的正常使用。

本发明主要涉及移动云计算环境中的服务故障恢复,包括如图1所示的当前提供服务微云群、控制微云群和后备微云群三大部分,整体按模块又可分为数据采集模块、数据处理和存储模块、迁移控制中心模块、数据传输模块以及数据恢复模块五个模块,如图2所示。

各组成部分的模块设计连接和方案结构如图3所示。

所述移动云计算突发故障服务恢复方案包括三类微云群,提供当前移动的当前微云群,作为数据存储中心和迁移控制中心的控制微云和提供服务恢复的后备微云群。而任一云计算服务器都可承担这三类微云群中的任一微云群或多个微云群的角色和任务,从而避免过多的成本消耗。

由于上述原因,每一个服务器都需要部署方案中的所有设计模块,以便在需要的时候担任所需的角色并承担相应任务。

本实施例提供的一种移动云计算网络中突发服务故障的解决方法,包括:

采集当前服务微云群上虚拟机硬盘所写入的数据;

对采集到的硬盘数据进行数据量最小化处理,并统一数据记录、存储格式下来,得到所需的输出数据;

当前服务微云群以socket方式和控制微云群建立tcp连接,并将所需的输出数据传输给控制微云群;

控制微云群定时接收当前服务微云群发送的数据,并对数据进行更新和存储;

当前服务微云群发生服务器崩溃,控制微云群将最新的输出数据传输给后备微云群;

后备微云群对数据进行逆处理,恢复硬盘数据并重启虚拟机服务,完成服务的迁移。

其中,采集当前服务微云群上虚拟机硬盘所写入的数据,具体包括:

在当前服务微云群上设计fuse文件系统,对拟机硬盘所写入的数据进行采集,并将数据转换为十六进制记录下来,并将该部分数据称作“overlay”。进一步的,所述对采集到的硬盘数据进行数据量最小化处理,并统一数据记录、存储格式下来,得到所需的输出数据,具体包括:

将通过fuse文件系统所采集到的overlay数据进行4kb的数据对齐,并将每4kb数据作为一个“单位块”;

对每一块数据进行“删重”,“除零”和“差异化编码”三种方式的处理;比较上述三种处理方式的输出结果;选取数据量最小的一种数据作为输出数据,压缩后进行传输。

同时,本发明还提供了一种移动云计算网络中突发服务故障的解决系统,包括:

数据采集模块、数据处理和存储模块、迁移控制中心模块、数据传输模块和数据恢复模块,所述模块共同构成了移动云计算网络服务器。

进一步的,所述移动云计算网络服务器可承担提供当前移动服务的当前微云群、作为数据存储中心和迁移控制中心的控制微云、提供服务恢复的后备微云群中的任一微云群或多个微云群的角色和任务。

实施例2:

下面我们以一次突发故障恢复服务的整个流程为例,分别从三类节点和其部署模块所承担的任务角度来介绍本发明的技术方案。

当前服务微云群(计算节点1)

数据采集模块

移动网络中的“用户端——微云——云计算中心”会将用户端的移动服务分流到微云上以避免移动端有限的硬件处理能力所造成的服务质量的降低。

我们在当前服务微云群上所设计的fuse文件系统会将虚拟机硬盘所写入的数据并以将数据转换为十六进制记录下来,并将该部分数据称作“overlay”。

数据处理和存储模块

对于采集到的硬盘数据overlay,我们需要对其进行适当的处理以降低数据量,减少其对服务器存储系统和之后网络传输所造成的影响。处理过程如图4所示。

数据处理部分

首先,通过fuse文件系统所采集到的overlay数据是以每512个字节记录一次的形式所采集到的。我们需要将数据进行4kb的数据对齐并将每4kb数据作为一个“单位块”(block),以方便我们进行接下来的数据处理。

之后,我们将对每一块数据进行“删重”,“除零”和“差异化编码”三种方式的处理,并比较这三种处理方式的输出结果,以最小的数据量进行每一块数据的传输。

删重:由于写入硬盘的数据常常会有重复的可能性,我们需要将这部分重复的数据删除掉以更加简单的方式进行数据的记录。比较的对象包括两个:一个是之前已经记录或者传输过的块数据,另一个是基础镜像文件(baseimage)中的块数据。我们会将overlay中每块的数据与这两个对象进行比较,当有重复数据出现时,会用“指示性”数据(如{base:45}可表示该块数据与基础镜像文件中的第45个块数据相同)来代替原4kb的数据,减少数据量。

除零:在写入硬盘数据的时候,常常会有连续0的数据写入,对于这部分数据我们也可以用“指示性”数据(如{zero:1024}可表示有连续1024个字节的零数据写入)来代替原4kb数据,减少数据量。

差异化编码:我们所记录的overlay数据都可以看成是对硬盘某个4kb块数据的更新。于是,我们可以通过常用的差量压缩工作,如xdelta3、bsdiff4或xor等算法对每块数据进行其相比于基础镜像中的块数据的差量压缩编码,由此我们可以得到该块数据的编码数据,而这种编码数据的数据量往往要比原4kb数据量小的多。

对overlay中每块数据都进行上述处理并选取最小的一种数据输出,压缩后进行传输。

数据存储部分

由上述的数据处理部分我们可以知道,对于overlay数据我们需要至少三种描述型数据:块数据内容,块数据位置,块数据形式。其中,块数据内容是必需的,即写入的4kb数据;块数据位置是在该块数据是在第几个块写入的;块数据形式是指,所记录的该块数据是以4kb数据内容形式记录的,还是以之前所提到的“指示性”数据形式所记录的。

因此,我们将overlay的块数据以json数据格式的方式进行存储,以“名称:值”的形式将上述所需的信息记录存储下来。

以json数据格式记录的,经过三种操作处理后所得到的最后的输出数据就是我们要传输的overlay。

数据传输模块

在得到最后的overlay数据后,当前服务微云群(计算节点1服务器)会以socket方式和控制微云群(控制节点服务器)建立tcp连接并将overlay传输给控制微云群。

控制微云群(控制节点)

迁移控制部分

该部分会承担overlay的实时更新和故障发生时的服务迁移控制任务。

数据备份和更新

由于“控制微云群”会定时接收由“当前服务微云群”发送而来的overlay,如果不对其进行数据更新,将造成存储的冗余和空间的浪费,并且由于大数据量造成服务迁移时的网络拥塞。

其更新方式与“当前服务微云群”的数据处理操作相似。对接收到的overlay先进行对应块数据的更新,再按照上述三种处理操作对数据进行压缩、更新和存储。

迁移控制

一旦“当前服务微云群”发生服务器的崩溃,最新的overlay数据会被通过数据传输模块建立socket的tcp链接,将overlay传输给“后备微云群”。

后备微云群(计算节点2)

该部分承担故障发生时的虚拟机服务迁移和恢复任务。

数据恢复模块

当接收到最新的overlay后,“后备微云群”会通过数据处理模块的处理操作的逆过程将硬盘数据恢复,并使用virsh虚拟机管理工具通过libvirt接口重启虚拟机服务。这样就完成了服务的迁移。

综上所述,由于采用了上述技术方案,与现有技术相比,本发明基于openstack云计算管理平台,在虚拟机提供服务的同时进行数据的记录、处理、传输和备份。当出现故障导致服务突然中断时,会将备份数据传输到其他服务器并进行服务的恢复。与上述的其他设计方案相比,首先是网络稳定性的提升,提供突发服务中断的恢复能力;其次,能够通过多阶段的数据备份和处理降低网络中的数据传输量,从而降低由于移动网络带宽不稳定而造成的网络拥塞的可能,也间接的提高的移动云计算服务的稳定性。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1