发明内容
为了能够提高用户体验以及避免发生虚拟计算节点的状态被中断的现象,本发明提供了一种备份的方法及装置。所述技术方案如下:
一种备份的方法,所述方法包括:
接收备份请求;
挂起云中的虚拟计算节点,获取所述虚拟计算节点的备份虚拟计算节点;
恢复所述虚拟计算节点,并存储所述备份虚拟计算节点。
所述挂起云中的虚拟计算节点,获取所述虚拟计算节点的备份虚拟计算节点,具体包括:
挂起所述虚拟计算节点,对所述虚拟计算节点进行快照,得到所述虚拟计算节点的备份虚拟计算节点。
所述备份请求携带待备份的虚拟计算节点的标识ID;
相应地,所述挂起云中的虚拟计算节点,获取所述虚拟计算节点的备份虚拟计算节点,具体包括:
根据所述待备份的虚拟计算节点的ID,挂起对应的所述待备份的虚拟计算节点;
对所述待备份的虚拟计算节点进行快照,得到所述待备份的虚拟计算节点的备份虚拟计算节点。
所述根据所述待备份的虚拟计算节点的ID,挂起所述待备份的虚拟计算节点,具体包括:
根据所述待备份的虚拟计算节点的ID,确定所述待备份的虚拟计算节点所在的运算服务器;
根据所述待备份的虚拟计算节点的ID,从所述运算服务器中查找出对应的所述待备份的虚拟计算节点;
挂起所述待备份的虚拟计算节点。
所述恢复所述虚拟计算节点,并存储所述备份虚拟计算节点,具体包括:
恢复所述虚拟计算节点,使所述虚拟计算节点继续从挂起之时的运行状态和数据开始运行;
将所述虚拟计算节点的备份虚拟计算节点存储在所述云中的存储服务器中。
一种备份的装置,所述装置包括:
接收模块,用于接收备份请求;
挂起模块,用于挂起云中的虚拟计算节点,获取所述虚拟计算节点的备份虚拟计算节点;
恢复模块,用于恢复所述虚拟计算节点,并存储所述备份虚拟计算节点。
所述挂起模块,具体用于挂起所述虚拟计算节点,对所述虚拟计算节点进行快照,得到所述虚拟计算节点的备份虚拟计算节点。
所述备份请求携带待备份的虚拟计算节点的标识ID;
相应地,所述挂起模块具体包括:
挂起单元,用于根据所述待备份的虚拟计算节点的ID,挂起对应的所述待备份的虚拟计算节点;
快照单元,用于对所述待备份的虚拟计算节点进行快照,得到所述待备份的虚拟计算节点的备份虚拟计算节点。
所述挂起单元具体包括:
确定子单元,用于根据所述待备份的虚拟计算节点的ID,确定所述待备份的虚拟计算节点所在的运算服务器;
查找子单元,用于根据所述待备份的虚拟计算节点的ID,从所述运算服务器中查找出对应的所述待备份的虚拟计算节点;
挂起子单元,用于挂起所述待备份的虚拟计算节点。
所述恢复模块具体包括:
恢复单元,用于恢复所述虚拟计算节点,使所述虚拟计算节点继续从挂起之时的运行状态和数据开始运行;
存储单元,用于将所述虚拟计算节点的备份虚拟计算节点存储在所述云中的存储服务器中。
通过先挂起正在运行的虚拟计算节点,再对挂起的虚拟计算节点进行快照,得到其自身的备份虚拟计算节点,在快照结束后,恢复挂起的虚拟计算节点以及存储备份虚拟计算节点。由于不需要关闭虚拟计算节点所在的运算服务器,所以用户还可以继续访问该运算服务器,提高了用户体验,另外,在快照的过程中挂起的虚拟计算节点的运行状态和数据保持与挂起之时的运行状态和数据不变,所以在恢复该虚拟计算节点时,该虚拟计算节点继续从挂起之时的运行状态和数据开始运行,如此避免了发生虚拟计算节点的状态被中断的现象。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
如图1所示,本发明实施例提供了一种备份的方法,包括:
步骤101:接收备份请求;
步骤102:挂起云中的虚拟计算节点,获取该虚拟计算节点的备份虚拟计算节点;
步骤103:恢复该虚拟计算节点,并存储获取的备份虚拟计算节点。
在本发明实施例中,先挂起正在运行的虚拟计算节点,再对挂起的虚拟计算节点进行快照,得到其自身的备份虚拟计算节点,在快照结束后,恢复挂起的虚拟计算节点以及存储备份虚拟计算节点。由于不需要关闭虚拟计算节点所在的运算服务器,所以用户还可以继续访问该运算服务器,提高了用户体验,另外,在快照的过程中挂起的虚拟计算节点的运行状态和数据保持与挂起之时的运行状态和数据不变,所以在恢复该虚拟计算节点时,该虚拟计算节点继续从挂起之时的运行状态和数据开始运行,如此避免了发生虚拟计算节点的状态被中断的现象。
实施例2
本发明实施例提供了一种备份的方法。该方法每次对云中的一个虚拟计算节点进行备份,参见图2,该方法包括:
步骤201:接收备份请求,其中,该备份请求携带待备份的虚拟计算节点的ID(IDentity,标识);
其中,云中的服务器包括运算服务器和存储服务器,每个运算服务器上运行一个或多个虚拟计算节点,当用户向云提交任务时,云中的虚拟计算节点负责对用户提交的任务进行处理;云中的存储服务器用于存储云中的每个虚拟计算节点的备份虚拟计算节点。
步骤202:根据该备份请求携带的待备份的虚拟计算节点的ID,从云中的运算服务器中获取待备份的虚拟计算节点;
具体地,根据该备份请求携带的待备份的虚拟计算节点的ID,确定待备份的虚拟计算节点所在的运算服务器,在确定的运算服务器中查找出待备份的虚拟计算节点。
其中,云中的每个虚拟计算节点事先由运营商布置在云中的各运算服务器中,运营商在云中的某个运算服务器中布置虚拟计算节点时,为该运算服器上的每个虚拟计算节点分配ID,然后再将该运算服务器上的每个虚拟计算节点的ID和该运算服务器的ID存储的虚拟计算节点的ID和运算服务器的ID的对应关系中。
例如,云中存在某个运算服务器A,运算服务器A的ID为IDA,运营商为运算服务器A布置虚拟计算节点1和2,且为虚拟计算节点1和2分配的ID分别为ID1和ID2,然后运营商再将虚拟计算节点1的ID1、虚拟计算节点2的ID2以及运算服务器A的IDA存储在如表1所示的虚拟计算节点的ID与运算服务器的ID对应关系中。
表1
虚拟计算节点的ID |
运算服务器的ID |
ID1、ID2 |
IDA |
...... |
...... |
相应地,根据备份请求携带的待备份的虚拟计算节点的ID,确定待备份的虚拟计算节点所在的运算服务器的操作,具体为:
根据备份请求携带的待备份的虚拟计算节点的ID,从虚拟计算节点的ID和运算服务器的ID中查找出对应的运算服务器的ID,根据查找的运算服务器的ID,从云中查找出对应的运算服务器,其中,查找的运算服务器为待备份的虚拟计算节点所在的运算服务器。
步骤203:挂起待备份的虚拟计算节点,对待备份的虚拟计算节点进行快照,获取待备份的虚拟计算节点的备份虚拟计算节点;
具体地,挂起待备份的虚拟计算节点,利用快照技术保存待备份的虚拟计算节点的数据和运行状态,得到待备份的虚拟计算节点的备份虚拟计算节点。
其中,快照技术是现有较成熟的技术,在本实施例中不再对此技术做出详细说明。对待备份的虚拟计算节点进行快照速度较快,通常快照一个虚拟计算节点得到备份的虚拟计算节点的过程所需要的时间为2至3秒。
其中,挂起待备份的虚拟计算节点,只是暂停待备份的虚拟计算节点继续运行,而未关闭待备份的虚拟计算节点,且挂起后的待备份的虚拟计算节点的运行状态和数据都停留在挂起之时的运行状态和数据,并在快照待备份的虚拟计算节点的过程中一直保持不变。
其中,挂起待备份的虚拟计算节点,而不需要关闭待备份的虚拟计算节点所在的运算服务器,因此在快照待备份的虚拟计算节点的过程中,该运算服务器上的其他虚拟计算节点还可以正常运行,用户还可以访问该运行服务器,如此提高了用户体验。
步骤204:当快照结束后,恢复挂起的待备份的虚拟计算节点,使待备份的虚拟计算节点继续从挂起之时的运行状态和数据开始运行;
其中,在快照待备份的虚拟计算节点的过程中,待备份的虚拟计算节点的运行状态和数据一直保持挂起之时的运行状态和数据不变,因此在快照结束后,当恢复挂起的待备份的虚拟计算节点时,待备份的虚拟计算节点继续从挂起之时的运行状态和数据开始运行,避免了待备份的虚拟计算节点出现虚拟计算节点的状态被中断的现象发生。
步骤205:将快照得到的待备份的虚拟计算节点的备份虚拟计算节点存储在云中的存储服务器中。
具体地,根据待备份的虚拟计算节点的ID,判断存储服务器中是否已存在待备份的虚拟计算节点的备份虚拟计算节点,如果存在,则将存储服务器中的已存在的待备份虚拟计算节点的备份虚拟计算节点更新为快照得到的虚拟计算节点,如果不存在,则直接将快照得到的虚拟计算节点存储在存储服务器中。
其中,步骤204和步骤205的执行顺序不分先后,二者也可以同时执行。
其中,按上述相同的方法将获取云中的每个虚拟计算节点的备份虚拟计算节点,并将每个虚拟计算节点的备份虚拟计算节点存储在存储服务器。
进一步地,如果云中的某个运算服务器被损坏,则
首先,从存储服务器中获取损坏的运算服务器上的每个虚拟计算节点的备份虚拟计算节点;
具体地,根据损坏的运算服务器的ID,从虚拟计算节点的ID与运算服务器的ID的对应关系中,查找对应的虚拟计算节点的ID,其中,查找的虚拟计算节点的ID为损坏的运算服务器上的虚拟计算节点的ID,根据损坏的运算服务器上的虚拟计算节点的ID,从运算服务器上查找出对应的备份虚拟计算节点。
其中,查找的备份虚拟计算节点为损坏的服务器上的每个虚拟计算节点的备份虚拟计算节点。
然后,将获取的备份虚拟计算节点重新布置在云中的其他运算服务器中,使获取的备份虚拟计算节点节点在其他的运算服务器上运行。
具体地,从云中的其他运算服务器中获取负荷最小的运算服务器,将获取的备份虚拟计算节点重新布置获取的运算服务器中,使获取的备份虚拟计算算节点节点在该运算服务器上运行。
其中,由于将每个运算服务器上的虚拟计算节点备份在存储服务器中,如此当某个运算服务器损坏时,从存储服务器中获取对应的备份虚拟计算节点,并重新布置在其他的运算服务器上,如此避免了丢失数据现象的发生。
进一步地,当将获取的备份虚拟计算节点重新布置在负荷最小的运算服务器中后,将虚拟计算节点的ID与运算服务器的ID的对应关系中的损坏的运算服务器的ID更新为负荷最小的运算服务器的ID。
在本发明实施例中,先挂起正在运行的待备份的虚拟计算节点,再对待备份的虚拟计算节点进行快照得到备份虚拟计算节点,在快照结束后,恢复待备份的虚拟计算节点以及存储待备份的虚拟计算节点的备份虚拟计算节点。由于不需要关闭待备份的虚拟计算节点所在的运算服务器,使得在备份运算服务器的过程中,用户还可以继续访问该运算服务器,提高了用户体验,另外,在快照的过程中待备份的虚拟计算节点的运行状态和数据保持与挂起之时的运行状态和数据不变,所以在恢复待备份的虚拟计算节点时,待备份的虚拟计算节点继续从挂起之时的运行状态和数据开始运行,如此避免了虚拟计算节点的状态被中断的现象发生。
实施例3
本发明实施例提供了一种备份的方法。该方法同时对云中的每个虚拟计算节点进行备份,参见图3,该方法包括:
步骤301:接收备份请求;
其中,当云中的虚拟计算节点提供的服务达到低峰时,可以通过发送备份请求,请求备份云中的虚拟计算节点。
步骤302:挂起云中的每个虚拟计算节点,对挂起的每个虚拟计算节点进行快照,获取挂起的每个虚拟计算节点的备份虚拟计算节点;
具体地,针对云中的任意一个虚拟计算节点,挂起该虚拟计算节点,通过快照技术保存该虚拟计算节点的运行状态和数据,获取该虚拟计算节点的备份虚拟计算节点;按上述相同的方法获取云中的其他每个虚拟计算节点的备份虚拟计算节点。
其中,快照技术是现有较成熟的技术,在本实施例中不再对此技术做出详细说明。虚拟计算节点的快照速度较快,通常快照一个虚拟计算节点得到备份的虚拟计算节点的过程所需要的时间为2至3秒。
其中,挂起每个虚拟计算节点,只是暂停每个虚拟计算节点继续运行,而未关闭每个虚拟计算节点,且挂起后的每个虚拟计算节点的运行状态和数据都停留在挂起之时的运行状态和数据,并在快照每个虚拟计算节点的过程中每个虚拟计算节点的运行状态和数据一直保持与挂起之时的运行状态和数据不变。
其中,挂起每个虚拟计算节点,而不需要关闭每个虚拟计算节点所在的运算服务器,因此在快照每个虚拟计算节点的过程中,运算服务器还可以正常运行,用户还可以访问该运行服务器,从而提高了用户体验。
步骤303:恢复快照结束的虚拟计算节点,使快照结束的虚拟计算节点继续从挂起之时的运行状态和数据开始运行;
其中,在快照每个虚拟计算节点的过程中,每个虚拟计算节点的运行状态和数据一直保持在各自被挂起之时的运行状态和数据不变,因此在快照结束后,当恢复快照结束的虚拟计算节点时,快照结束的虚拟计算节点继续从其自身被挂起之时的运行状态和数据开始运行,避免了每个虚拟计算节点出现状态中断的现象发生。
步骤304:将快照得到的每个虚拟计算节点的备份虚拟计算节点存储在云中的存储服务器中。
具体地,针对一个虚拟计算节点的备份虚拟计算节点,根据该备份的虚拟计算节点的ID,判断存储服务器中是否已存在该备份虚拟计算节点,如果存在,则将存储服务器中的已存在的备份虚拟计算节点更新为快照得到的虚拟计算节点,如果不存在,则直接将快照得到的虚拟计算节点存储在存储服务器中;按上述相同的方法,将其他每个虚拟计算节点的备份虚拟计算节点存储在存储服务器中。
其中,云中的每个虚拟计算节点事先由运营商布置在云中的各运算服务器中,运营商在云中的每个运算服务器中布置虚拟计算节点时,为布置的每个虚拟计算节点分配ID,所以通过快照得到的每个虚拟计算节点的备份虚拟计算节点也存在与每个虚拟计算节点的ID。
其中,运营商还将该运算服务器上的每个虚拟计算节点的ID和该运算服务器的ID存储的虚拟计算节点的ID和运算服务器的ID的对应关系中。
进一步地,如果云中的某个运算服务器被损坏,则
首先,从存储服务器中获取损坏的运算服务器上的每个虚拟计算节点的备份虚拟计算节点;
具体地,根据损坏的运算服务器的ID,从虚拟计算节点的ID与运算服务器的ID中查找对应的虚拟计算节点的ID,其中,查找的虚拟计算节点的ID为损坏的运算服务器上的虚拟计算节点的ID,根据损坏的运算服务器上的虚拟计算节点的ID,从运算服务器上查找出对应的备份虚拟计算节点。
其中,查找的备份虚拟计算节点为损坏的运算服务器上的每个虚拟计算节点的备份虚拟计算节点。
然后,将获取的备份虚拟计算节点重新布置在云中的其他的运算服务器中,使获取的备份虚拟计算节点节点在其他的运算服务器上运行。
具体地,从云中的其他的运算服务器中获取负荷最小的运算服务器,将获取的备份虚拟计算节点重新布置在获取的运算服务器中,使获取的备份虚拟计算节点在该运算服务器上运行。
其中,由于将每个运算服务器上的虚拟计算节点备份在存储服务器中,如此当某个运算服务器损坏时,从存储服务器中获取对应的备份虚拟计算节点,并重新布置在其他的运算服务器,如此避免了丢失数据的现象发生。
进一步地,当将获取的备份虚拟计算节点重新布置在负荷最小的运算服务器中后,将虚拟计算节点的ID与运算服务器的ID的对应关系中的损坏的运算服务器的ID更新为负荷最小的运算服务器的ID。
在本发明实施例中,先挂起正在运行的每个虚拟计算节点,再对每个虚拟计算节点进行快照得到每个虚拟计算节点的备份虚拟计算节点,在快照结束后,恢复每个虚拟计算节点以及存储每个虚拟计算节点的备份虚拟计算节点。由于不需要关闭每个虚拟计算节点所在的运算服务器,所以用户还可以继续访问每个运算服务器,如此提高了用户体验,另外,在快照的过程中每个虚拟计算节点的运行状态和数据与各自被挂起之时的运行状态和数据相同,所以在恢复每个虚拟计算节点时,每个虚拟计算节点继续从挂起之时的运行状态和数据开始运行,如此避免了虚拟计算节点的状态被中断的现象发生。
实施例4
如图4所示,本发明实施例提供了一种备份的装置,包括:
接收模块401,用于接收备份请求;
挂起模块402,用于挂起云中的虚拟计算节点,获取该虚拟计算节点的备份虚拟计算节点;
恢复模块403,用于恢复该虚拟计算节点,并存储该虚拟计算节点的备份虚拟计算节点。
其中,挂起模块402,具体用于挂起该虚拟计算节点,对该虚拟计算节点进行快照,得到该虚拟计算节点的备份虚拟计算节点。
其中,备份请求携带待备份的虚拟计算节点的ID;
相应地,挂起模块402具体包括:
挂起单元,用于根据待备份的虚拟计算节点的ID,挂起对应的待备份的虚拟计算节点;
快照单元,用于对待备份的虚拟计算节点进行快照,得到待备份的虚拟计算节点的备份虚拟计算节点。
其中,挂起单元具体包括:
确定子单元,用于根据待备份的虚拟计算节点的ID,确定待备份的虚拟计算节点所在的运算服务器;
查找子单元,用于根据待备份的虚拟计算节点的ID,从确定的运算服务器中查找出对应的待备份的虚拟计算节点;
挂起子单元,用于挂起待备份的虚拟计算节点。
其中,恢复模块403具体包括:
恢复单元,用于恢复该虚拟计算节点,使该虚拟计算节点继续从挂起之时的运行状态和数据开始运行;
存储单元,用于将该虚拟计算节点的备份虚拟计算节点存储在云中的存储服务器中。
在本发明实施例中,先挂起正在运行的每个虚拟计算节点,再对每个虚拟计算节点进行快照得到每个虚拟计算节点的备份虚拟计算节点,在快照结束后,恢复每个虚拟计算节点以及存储每个虚拟计算节点的备份虚拟计算节点。由于不需要关闭每个虚拟计算节点所在的运算服务器,所以用户还可以继续访问每个运算服务器,如此提高了用户体验,另外,在快照的过程中每个虚拟计算节点的运行状态和数据与各自被挂起之时的运行状态和数据相同,所以在恢复每个虚拟计算节点时,每个虚拟计算节点继续从挂起之时的运行状态和数据开始运行,如此避免了虚拟计算节点的状态被中断的现象发生。
需要说明的是:上述实施例提供的一种备份的装置在备份云中的虚拟计算节点时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供备份的装置与备份的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。