一种云主机的备份方法、装置、电子设备和存储介质与流程

未命名 09-29 阅读:126 评论:0
1.本技术涉及云计算
技术领域
:,尤其涉及一种云主机的备份方法、装置、电子设备和存储介质。
背景技术
::2.随着云计算的发展,越来越多的用户利用虚拟化平台部署业务。为了保证业务数据安全可靠,通过会对云主机(虚拟机)的业务数据进行备份。备份是指将云磁盘中的业务数据备份至独立存储设备中,从而在发生磁盘故障、受损等数据灾难后,可以快速将业务数据恢复到任意备份节点。3.云灾备服务是采用当前最先进、安全、可靠的数据备份和数据复制技术,建设可管理、可运营的灾备服务,为企事业单位、政府部门提供不同等级的同城或异地灾备服务,以保证在灾难发生后能够快速、准确的恢复客户的业务数据和关键应用系统,保障客户业务的连续运行。4.在相关技术中,目前已经有很多种云灾备的方法,例如基于分布式云平台进行边缘云灾备、通过区块链的方式对存储资源进行备份、基于存储管理系统中的云主机的流式备份等等。但是已有的解决方案仍然存在一些缺陷,容易受互备节点同时失效的影响,导致可靠性不高,而且也没有解决备份节点的选择与如何高效恢复的问题。技术实现要素:5.本技术提供了一种云主机的备份方法、装置、电子设备和存储介质,不仅能够避免备份节点单点失效的问题,还可以提高系统的可靠性。6.本技术的技术方案是这样实现的:7.第一方面,本技术实施例提供了一种云主机的备份方法,所述方法包括:8.对待备份云主机进行快照处理,生成快照文件;9.对所述快照文件进行分割处理,确定至少一个数据块;10.确定所述至少一个数据块和所述待备份云主机的元数据块各自的备份索引位置,并根据所述确定的备份索引位置生成备份元数据表;11.根据所述备份元数据表,对所述快照文件进行备份。12.第二方面,本技术实施例提供了一种云主机的备份装置,所述云主机的备份装置包括快照单元、分割单元、确定单元和备份单元;其中:13.所述快照单元,配置为对待备份云主机进行快照处理,生成快照文件;14.所述分割单元,配置为对所述快照文件进行分割处理,确定至少一个数据块;15.所述确定单元,配置为确定所述至少一个数据块和所述待备份云主机的元数据块各自的备份索引位置,并根据所述确定的备份索引位置生成备份元数据表;16.所述备份单元,配置为根据所述备份元数据表,对所述快照文件进行备份。17.第三方面,本技术实施例提供了一种电子设备,所述电子设备包括存储器和处理器,其中,18.所述存储器,用于存储能够在所述处理器上运行的计算机程序;19.所述处理器,用于在运行所述计算机程序时,执行如第一方面所述的方法。20.第四方面,本技术实施例提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被至少一个处理器执行时实现如第一方面所述的方法。21.本技术实施例所提供的一种云主机的备份方法、装置、电子设备和存储介质,通过对待备份云主机进行快照处理,生成快照文件;对快照文件进行分割处理,确定至少一个数据块;确定至少一个数据块和待备份云主机的元数据块各自的备份索引位置,并根据确定的备份索引位置生成备份元数据表;根据备份元数据表,对快照文件进行备份。这样,通过将待备份云主机的快照文件进行分割,确定出各自的备份索引位置并生成备份元数据表,然后根据该备份元数据表进行分布式备份,有效避免了备份节点单点失效的问题,提高了系统的可靠性;另外,根据该备份元数据表还能够快速恢复出快照文件,减少了对备份恢复过程中所使用的网络带宽需求,提升了通过备份完成恢复的速度。附图说明22.图1为本技术实施例提供的一种云主机的备份方法的流程示意图;23.图2为本技术实施例提供的另一种云主机的备份方法的流程示意图;24.图3为本技术实施例提供的又一种云主机的备份方法的流程示意图;25.图4为本技术实施例提供的一种云主机的恢复方法的流程示意图;26.图5为本技术实施例提供的一种云主机的备份方法的详细流程示意图;27.图6为本技术实施例提供的一种云主机的恢复方法的详细流程示意图;28.图7为本技术实施例提供的一种云主机的备份装置的组成结构示意图;29.图8为本技术实施例提供的一种电子设备的组成结构示意图;30.图9为本技术实施例提供的另一种电子设备的组成结构示意图。具体实施方式31.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。32.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的
技术领域
:的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。33.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。34.需要指出,本技术实施例所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。35.随着云计算的发展,越来越多的用户利用虚拟化平台部署业务。为了保证业务数据安全可靠,通过会对云主机(虚拟机)的业务数据进行备份。备份是指将云磁盘中的业务数据备份至独立存储设备中,从而在发生磁盘故障、受损等数据灾难后,可以快速将业务数据恢复到任意备份点。36.云灾备服务是采用当前最先进、安全、可靠的数据备份和数据复制技术,建设可管理、可运营的灾备服务,为企事业单位、政府部门提供不同等级的同城或异地灾备服务,以保证在灾难发生后能够快速、准确的恢复客户的业务数据和关键应用系统,保障客户业务的连续运行。37.在相关技术中,目前已经有很多种云灾备的方法,一种方法是基于分布式云平台的边缘云灾备的方法,该方法通过设置相邻两处边缘云,进行异地容灾备份;但是该方法需要成对设置备份节点,一是灵活性不高,二是无法应对互备节点同时故障,三是在恢复时,由于需要从一个节点恢复所有数据,造成数据读取压力和网络带宽压力都较大,容易影响现网业务。另一种方法是通过区块链的方式对存储资源进行备份的方法,虽然该方法解决了相邻节点同时失效的问题,但是区块链技术使用的分布式账本需要工作量证明(proofofwork,pow)或股权证明(proofofstake,pos)技术,资源开销较高,并且区块链分布式账本更适合存放小文件,对云主机这种单个资源就达到40吉字节(gigabyte,gb)以上大小的文件存储效率较低。又一种方法是用于存储管理系统中的云主机的流式备份的方法,虽然该方法解决了云主机的存储顺序,保证了云主机能够流式不间断的进行备份,但是该方法仍然没有解决备份节点的选择及如何高效恢复的问题。38.基于此,本技术实施例提供了一种云主机的备份方法,该方法的基本思想是:对待备份云主机进行快照处理,生成快照文件;对快照文件进行分割处理,确定至少一个数据块;确定至少一个数据块和待备份云主机的元数据块各自的备份索引位置,并根据确定的备份索引位置生成备份元数据表;根据备份元数据表,对快照文件进行备份。这样,通过将待备份云主机的快照文件进行分割,确定出各自的备份索引位置并生成备份元数据表,然后根据该备份元数据表进行分布式备份,有效避免了备份节点单点失效的问题,提高了系统的可靠性;另外,根据该备份元数据表还能够快速恢复出快照文件,减少了对备份恢复过程中所使用的网络带宽需求,提升了通过备份完成恢复的速度。39.下面将结合附图对本技术各实施例进行详细说明。40.本技术的一实施例中,参见图1,其示出了本技术实施例提供的一种云主机的备份方法的流程示意图。如图1所示,该方法可以包括:41.s101、对待备份云主机进行快照处理,生成快照文件。42.需要说明的是,本技术实施例提供了一种云主机的备份方法,具体是一种一种边缘云主机分布式备份与恢复方法。其中,该方法可以应用于云主机的备份装置,或者集成有该装置的电子设备。在这里,电子设备可以是服务器、宿主机等等,而宿主机可以是单个的物理机,也可以是物理机组,本技术实施例对此均不作具体限定。43.还需要说明的是,在本技术实施例中,云主机也被称为云服务器,可以理解为虚拟服务器,云主机是在一组集群服务器上划分出来的(可以划分很多个),集群中的每台服务器都有云主机的镜像备份,当其中某台的服务器出现故障时,系统会自动访问其它机器上的镜像备份。44.还需要说明的是,在本技术实施例中,待备份云主机是指边缘云主机,即部署于边缘云上的云主机。边缘云是基于云计算技术的核心和边缘计算的能力,构筑在边缘基础设施之上的云计算平台。形成边缘位置的计算、网络、存储、安全等能力全面的弹性云平台,并与中心云和物联网终端形成“云边端三体协同”的端到端的技术架构,通过将网络转发、存储、计算,智能化数据分析等工作放在边缘处理,降低响应时延、减轻云端压力、降低带宽成本,并供全网调度、算力分发等云服务。45.还需要说明的是,在本技术实施例中,对待备份云主机进行快照处理是指在某一时间点对某一特定磁盘的数据进行留存,起到数据备份的作用。快照处理可以捕获正在运行的云主机的状态、数据和硬件配置等。快照处理可以提供比传统备份系统更快、更容易的备份,创建一个云主机快照文件,通常只需要几分钟的时间,但当服务器被攻击或因人为误操作等导致业务丢失时,有了快照文件,就可以方便地找回之前的重要文件和数据。46.s102、对快照文件进行分割处理,确定至少一个数据块。47.需要说明的是,在本技术实施例中,在得到待备份云主机的快照文件后,需要对快照文件进行分割处理,确定至少一个数据块,以实现快照文件的分布式备份。48.还需要说明的是,在本技术实施例中,可以将快照文件按照4兆(mbyte,mb)大小分割为至少一个数据块,也可以按照其他经验数值大小将快照文件进行分割处理,本技术实施例不作具体限定。49.还需要说明的是,在本技术实施例中,可以将至少一个数据块记作b1、b2…bn;其中,n值与快照文件的大小和分割方式有关,这里不作具体限定。50.s103、确定至少一个数据块和待备份云主机的元数据块各自的备份索引位置,并根据确定的备份索引位置生成备份元数据表。51.需要说明的是,在本技术实施例中,在确定了至少一个数据块后,需要对至少一个数据块各自的备份索引位置进行确定,也需要对待备份云主机的元数据块的备份索引位置进行确定;然后根据确定的备份索引位置生成备份元数据表,也可称为备份元数据格式表(backuplocationmetadataformattable,blmft)。52.还需要说明的是,在本技术实施例中,待备份云主机的元数据块可以包括元数据(metadata),又称中介数据、中继数据,具体为描述数据的数据(dataaboutdata),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。在这里,元数据可以是如归属用户、互联网协议地址(internetprotocoladdress,ip地址)和媒体存取控制位址(mediaaccesscontroladdress,mac地址)等信息,但是这里并不作任何限定。53.在一些实施例中,确定至少一个数据块和待备份云主机的元数据块各自的备份索引位置,可以包括:54.确定与待备份云主机邻近的若干个邻近节点;55.根据若干个邻近节点,利用预设算法计算至少一个数据块各自的备份索引位置;以及56.从若干个邻近节点中选取三个目标节点,根据三个目标节点确定元数据块的备份索引位置。57.需要说明的是,在本技术实施例中,有k个与待备份云主机邻近的邻近节点,其中,k值可以大于等于至少一个数据块的备份节点的数量,这里不作具体限定。58.还需要说明的是,在本技术实施例中,预设算法可以是计算备份位置函数(calculatebackuplocationfunction,cblf)算法,通过cblf算法可以确定出这至少一个数据块各自的备份索引位置。59.s104、根据备份元数据表,对快照文件进行备份。60.需要说明的是,在本技术实施例中,在得到备份元数据表之后,可以根据备份元数据表中的备份索引位置,对快照文件进行备份。61.在一些实施例中,根据备份元数据表,对快照文件进行备份,可以包括:62.根据备份元数据表中的备份索引位置,将至少一个数据块备份至各自的备份索引位置指向的节点,以实现快照文件的备份。63.需要说明的是,在本技术实施例中,根据备份元数据表中的备份索引位置对至少一个数据块分别进行备份,具体是在将快照文件切割之后,将其备份至各自的备份索引位置指向的节点上,从而实现了快照文件的分布式备份。64.本技术实施例提供了一种云主机的备份方法,通过对待备份云主机进行快照处理,生成快照文件;对快照文件进行分割处理,确定至少一个数据块;确定至少一个数据块和待备份云主机的元数据块各自的备份索引位置,并根据确定的备份索引位置生成备份元数据表;根据备份元数据表,对快照文件进行备份。这样,通过将待备份云主机的快照文件进行分割,确定出各自的备份索引位置并生成备份元数据表,然后根据该备份元数据表进行分布式备份,有效避免了备份节点单点失效的问题,提高了系统的可靠性。65.本技术的另一实施例中,参见图2,其示出了本技术实施例提供的另一种云主机的备份方法的流程示意图。如图2所示,对于快照文件切割的至少一个数据块各自的备份索引位置,该方法可以包括:66.s201、确定与待备份云主机邻近的若干个邻近节点。67.需要说明的是,在本技术实施例中,待备份云主机所在的边缘节点可以记作节点a,节点a对应有k个与待备份云主机邻近的邻近节点,k个邻近节点中的任意一个节点可以记作节点b。68.s202、根据待备份云主机与若干个邻近节点之间的距离,确定若干个邻近节点的目标权值。69.需要说明的是,在本技术实施例中,在确定了与待备份云主机邻近的若干个邻近节点后,就可以得到待备份云主机与若干个邻近节点之间的距离,然后可以根据待备份云主机所在的边缘节点与若干个邻近节点之间的距离,计算若干个邻近节点的目标权值。70.还需要说明的是,在本技术实施例中,节点b的目标权值的计算方法如下:71.w(b)=1km/l(ab)ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(1)72.其中,w(b)代表节点b的目标权值;l(ab)代表节点a和节点b之间的距离,单位为千米(kilometer,km)。73.s203、根据若干个邻近节点的目标权值,确定第一数据块处于若干个邻近节点各自的目标概率值;其中,第一数据块为至少一个数据块中的任意一个。74.需要说明的是,在本技术实施例中,在确定了若干个邻近节点的目标权值后,可以根据若干个邻近节点的目标权值,确定至少一个数据块中的任意一个数据块处于若干个邻近节点各自的目标概率值。75.还需要说明的是,在本技术实施例中,第一数据块可以记作bi(1≤i≤n)。对于数据块bi而言,数据块bi处于第m个节点的目标概率值的计算方法如下:[0076][0077]其中,p(i,m)代表数据块bi处于第m个节点的目标概率值;w(m)代表第m个节点的目标权值;w(x)代表任意一个邻近节点的目标权值。[0078]可以理解的是,若有5个与待备份云主机邻近的邻近节点,分别记作节点1、节点2、节点3、节点4和节点5,这5个邻近节点与待备份云主机所在的边缘节点之间的距离分别为10km、20km、30km、40km和50km,那么w(m)分别为1/10、1/20、1/30、1/40、1/50。[0079]这样,数据块bi落在节点1上的概率为:[0080]p(i,1)=(1/10)/(1/10+1/20+1/30+1/40+1/50)[0081]数据块bi落在节点2上的概率为:[0082]p(i,2)=(1/20)/(1/10+1/20+1/30+1/40+1/50)[0083]依次类推,可以确定出数据块bi落在各个节点上的概率。[0084]s204、设置若干个邻近节点的随机数,随机数为大于零且小于1的数值。[0085]s205、根据若干个邻近节点的随机数以及各自的目标概率值,确定第一数据块对应的备份索引位置。[0086]需要说明的是,在本技术实施例中,针对每一个邻近节点,都可以设置0到1之间的随机数,然后根据这若干个邻近节点的随机数以及各自的目标概率值,确定第一数据块对应的备份索引位置。[0087]还需要说明的是,在本技术实施例中,在每一个邻近节点都设置了随机数之后,需要将每一个邻近节点的随机数与各自的目标概率值进行比较,确定第一数据块对应的备份索引位置。[0088]在一些实施例中,根据若干个邻近节点的随机数以及各自的目标概率值,确定第一数据块对应的备份索引位置,可以包括:[0089]基于若干个邻近节点中的候选节点,若候选节点的随机数小于或等于候选节点的目标概率值,则确定第一数据块选中在候选节点上,以确定出预设数量个候选节点;[0090]根据预设数量个候选节点,确定第一数据块对应的备份索引位置;其中,预设数量表示第一数据块的备份数量。[0091]需要说明的是,在本技术实施例中,预设数量可以记作c;c值是由系统管理员在系统初始化后进行设置的,c值可以是大于等于3的奇数,这里不作具体限定。[0092]还需要说明的是,在本技术实施例中,如果第一数据块选中的节点数量小于c值,则在k个邻近节点中随机选取3个邻近节点作为第一数据块的候选节点,分别记作l1(bi)、l2(bi)和l3(bi)。[0093]还需要说明的是,在本技术实施例中,备份索引位置包括主备份节点的索引位置和从备份节点的索引位置,在一些实施例中,上述方法还可以包括:[0094]在确定预设数量个候选节点的过程中,将第一个选中的候选节点作为主备份节点,将第一个之外选中的其他候选节点作为从备份节点。[0095]需要说明的是,在本技术实施例中,第一数据块的主备份节点记作l1(bi);第一数据块的从备份节点记作l2(bi)、l3(bi)…lx(bi);其中,x≤c。[0096]本技术的又一实施例中,参见图3,其示出了本技术实施例提供的又一种云主机的备份方法的流程示意图。如图3所示,对于元数据块的备份索引位置,该方法可以包括:[0097]s301、确定与待备份云主机邻近的若干个邻近节点。[0098]需要说明的是,在本技术实施例中,元数据块可以记作b0。另外,元数据块b0中保存有对应的待备份云主机的备份元数据表。[0099]还需要说明的是,在本技术实施例中,步骤s301与前述实施例中的步骤s201相对应,为了简洁,在此不再赘述。[0100]s302、根据待备份云主机与若干个邻近节点之间的距离,确定三个最小距离值。[0101]需要说明的是,在本技术实施例中,在确定了与待备份云主机邻近的若干个邻近节点后,从待备份云主机与若干个邻近节点之间的距离中确定出三个最小距离值。[0102]s303、将三个最小距离值对应的邻近节点作为三个目标节点。[0103]需要说明的是,在本技术实施例中,元数据块的三个目标节点可以记作l1(b0)、l2(b0)、l3(b0)。其中,l1(b0)代表元数据块的主备份节点,l2(b0)和l3(b0)分别代表元数据块的从备份节点。[0104]还需要说明的是,在本技术实施例中,每个数据块的主备份节点和从备份节点是对该数据块进行一致的数据备份。将数据块保存多份可以防止数据丢失,也可以实现从不同备份节点并行获取备份数据。[0105]还需要说明的是,在本技术实施例中,在确定了元数据块的三个目标节点后,根据三个目标节点确定元数据块的备份索引位置。[0106]这样,在确定了至少一个数据块和待备份云主机的元数据块各自的备份索引位置后,可以根据确定的备份索引位置生成备份元数据表,并根据备份元数据表,对快照文件进行备份,实现了分布式数据备份,避免了备份节点单点失效的问题,增加了系统的可靠性。[0107]示例性地,表1示出了一种备份元数据表的示例。[0108]表1[0109][0110]需要说明的是,在本技术实施例中,备份元数据表中还可以包括待备份云主机的元数据内容。在这里,待备份云主机的元数据内容可以是待备份云主机的归属用户、ip地址和mac地址等,本技术实施例不作具体限定。[0111]还需要说明的是,在本技术实施例中,可以将备份元数据表保存至l1(b0)、l2(b0)、l3(b0)三个目标节点。[0112]本技术的再一实施例中,参见图4,其示出了本技术实施例提供的一种云主机的恢复方法的流程示意图。如图4所示,在对快照文件进行备份之后,该方法可以包括:[0113]s401、判断待备份云主机所在的边缘节点是否工作正常。[0114]需要说明的是,在本技术实施例中,首先需要判断待备份云主机所在的边缘节点是否工作正常,如果边缘节点出现故障,则执行后续的云主机恢复步骤。[0115]在一些实施例中,判断待备份云主机所在的边缘节点是否工作正常,可以包括:[0116]通过邻近节点检测备份所指向的边缘节点的状态,以判断边缘节点是否工作正常;[0117]其中,邻近节点表示与待备份云主机邻近的节点。[0118]需要说明的是,在本技术实施例中,邻近节点周期性检测备份所指向的边缘节点的状态。周期性检测的周期时长是由系统管理员进行设置,可以设置为5分钟,也可以设置为其他时间,这里不作具体限定。[0119]还需要说明的是,在本技术实施例中,所有邻近节点都会对备份所指向的边缘节点的状态进行周期性检测,当任意一个邻近节点检测到边缘节点出现故障时,就会执行后续的云主机恢复步骤。[0120]s402、若边缘节点出现故障,则确定待备份云主机的元数据块对应的主恢复节点。[0121]需要说明的是,在本技术实施例中,待备份云主机所在的边缘节点自身会检查数据,例如检查边缘节点的电源是否故障、设备是否故障,并且边缘节点对外会提供一个接口,其他待备份云主机的邻近节点可以调用此接口进行工作;当邻近节点进行周期性检测时,当接口调用成功,但接口返回的数据显示待备份云主机所在的边缘节点异常;或者待备份云主机所在的边缘节点宕机掉,接口无法调用时,这两种情况都表示边缘节点出现故障,都会触发后续的云主机恢复步骤。[0122]还需要说明的是,在本技术实施例中,当边缘节点出现故障时,首先获取待备份云主机的元数据块b0的三个备份节点l1(b0)、l2(b0)、l3(b0),然后通过raft算法确定出元数据块b0对应的主恢复节点。[0123]还需要说明的是,在本技术实施例中,raft算法是用于管理复制日志的一致性算法,主要解决了分布式中的一致性问题。raft算法将分布式中的一致性问题分解为领导选举、日志复制、安全性、日志压缩等多个子问题;raft算法还使用了更强的假设来减少了需要考虑的状态,使之变的易于理解和实现。raft算法将系统中的角色分为领导者、跟从者和候选者,raft算法使用心跳机制来触发领导者选举。raft算法具备强一致、高可靠、高可用等优点。[0124]s403、根据主恢复节点获取备份元数据表,从备份元数据表中确定至少一个数据块各自的备份索引位置。[0125]需要说明的是,在本技术实施例中,在确定了主恢复节点后,可以从主恢复节点中获取待备份云主机的备份元数据表,然后从备份元数据表中确定该云主机的至少一个数据块各自的备份索引位置。[0126]s404、根据至少一个数据块各自的备份索引位置获取对应备份的数据块,以得到至少一个数据块。[0127]需要说明的是,在本技术实施例中,在确定了至少一个数据块各自的备份索引位置后,从各自的备份索引位置获取对应的备份的至少一个数据块。[0128]s405、对至少一个数据块进行合成处理,得到快照文件。[0129]s406、根据快照文件以及待备份云主机的元数据块,恢复待备份云主机。[0130]需要说明的是,在本技术实施例中,在获取了待备份云主机的至少一个数据块后,对得到的数据块至少一个数据块进行合成处理,就可以得到快照文件;再结合待备份云主机的元数据块,就可以对待备份云主机进行恢复。[0131]简单来说,在对快照文件进行备份之后,通过判断待备份云主机所在的边缘节点是否工作正常;若边缘节点出现故障,则确定待备份云主机的元数据块对应的主恢复节点;根据主恢复节点获取备份元数据表,从备份元数据表中确定至少一个数据块各自的备份索引位置;根据至少一个数据块各自的备份索引位置获取对应备份的数据块,以得到至少一个数据块;对至少一个数据块进行合成处理,得到快照文件;根据快照文件以及待备份云主机的元数据块,恢复待备份云主机。这样,通过备份元数据表及raft算法实现了分布式数据恢复,可以并行获取备份数据,减少了对备份恢复过程中所使用的网络带宽的需求,加快了通过备份完成恢复的速度。[0132]本技术的再一实施例中,基于前述实施例所述的方法,具体是一种边缘云主机的分布式备份与恢复方法,增加了边缘云主机通过备份进行恢复的可靠性(例如不受互备节点同时失效影响),减少了对备份恢复过程中所使用的网络带宽的需求,加快通过备份完成恢复的速度。[0133]在一种具体的实施例中,参见图5,其示出了本技术实施例提供的一种备份方法的详细流程示意图。如图5所示,该详细流程可以包括:[0134]s501:创建边缘云主机的快照文件。[0135]s502:按照4mb切分快照文件,得到至少一个数据块。[0136]s503:判断是否最后一个数据块。[0137]s504:若判断结果为否,则计算边缘节点的权值。[0138]s505:计算每个数据块的索引位置lx(bn)。[0139]s506:若判断结果为是,则生成备份元数据表blmft。[0140]s507:保存blmft至3个邻近边缘节点。[0141]s508:判断是否最后一个数据块。[0142]s509:若判断结果为否,则将数据块bn保存至lm(bn)节点。[0143]s510:若判断结果为是,则结束备份。[0144]需要说明的是,边缘节点是指与边缘云主机邻近的邻近节点。[0145]在本技术实施例中,对于s503来说,判断是否最后一个数据块;如果不是最后一个数据块,即判断结果为否,则执行s504;如果是最后一个数据块,即判断结果为是,则执行s506。[0146]在本技术实施例中,对于s508来说,判断是否最后一个数据块;如果不是最后一个数据块,即判断结果为否,则执行s509;如果是最后一个数据块,即判断结果为是,则执行s510。[0147]在本技术实施例中,当开始备份时,首先创建边缘云主机(即待备份云主机)的快照文件;然后按照4mb切分快照文件,得到至少一个数据块;再判断是否为最后一个数据块;如果不是最后一个数据块,则通过cblf算法计算边缘节点的权值(即目标权值),并计算每个数据块的索引位置lx(bn);若是最后一个数据块,即计算了每个数据块的备份位置后,生成备份元数据表blmft;再将备份元数据表blmft保存至3个邻近边缘节点(即目标节点);并再次判断是否最后一个数据块;如果不是最后一个数据块,则将数据块bn保存至lm(bn)节点;若是最后一个数据块,即将每个数据块都保存至备份节点后,结束备份。具体可以包括如下步骤:[0148]步骤1、对需要备份的云主机进行快照,生成快照文件。[0149]步骤2、根据云主机所在边缘节点与邻近边缘节点的网络拓扑,计算云主机元数据与云主机快照文件的切割方式与保存位置的索引,计算方式(记作cblf,calculatebackuplocationfunction)如下:[0150](1)、按本边缘节点(即待备份云主机所在的边缘节点)a与邻近节点的传输距离计算权值,邻近节点b的权值(即目标权值)的计算方法如式(1)所示。[0151](2)、将快照数据按4mb大小切成数据块,记作b1、b2…bn,其中,云主机元数据块记作b0。[0152](3)、计算每个数据块的主备份节点与从备份节点(从备份节点可以有多个,由管理员设置),计算方式为每个数据块bi以p(i,m)的概率(即目标概率值)落在第m个节点上,其中k为邻近节点的数量,具体计算方法如式(2)所示。[0153](4)、选取0到1之间的随机数,如果随机数小于等于p(i,m),则数据块bi选中在节点m上,否则节点m就未被选中。第一个数据块bi选中的节点为主备份节点,记作l1(bi),第二、第三个、第x个被选中的节点分别为从备份节点,记作l2(bi)、l3(bi)、lx(bi)。[0154](5)、如果数据块bi选中的节点数量小于c,则在k个邻近节点中,随机选择3个节点,同样记作l1(bi)、l2(bi)和l3(bi)。[0155]步骤3、将待备份的云主机的元数据(如归属用户、ip地址、mac地址)与备份索引位置,生成备份元数据表(记作blmft,backuplocationmetadataformattable),如表1所示。[0156]步骤4、将备份元数据块b0保存至3个邻近节点l1(b0)、l2(b0)和l3(b0)。[0157]步骤5、根据索引位置lm(bn),将快照文件切割后,备份至索引指向的节点m上。[0158]在另一种具体的实施例中,参见图6,其示出了本技术实施例提供的一种云主机的恢复方法的详细流程示意图。如图6所示,该详细流程可以包括:[0159]s601:探测备份指向源节点的状态。[0160]s602:判断源节点状态是否正常。[0161]s603:若判断结果为是,继续探测备份指向源节点的状态。[0162]s604:若判断结果为否,从备份元数据块b0中选取b0的备份节点l1(b0)、l2(b0)、l3(b0)。[0163]s605:通过raft算法从b0的备份节点中选举出主恢复节点。[0164]s606:主恢复节点从blmft表中拉取恢复数据。[0165]s607:合成数据块,并配合云主机的元数据,恢复待备份云主机。[0166]在本技术实施例中,对于s602来说,判断源节点状态是否正常;如果源节点状态正常,即判断结果为是,则执行s603;如果源节点状态异常,即判断结果为否,则执行s604。[0167]在本技术实施例中,当开始恢复时,首先探测备份指向源节点(即待备份云主机所在的边缘节点)的状态;并判断源节点状态是否正常;若源节点状态正常,则继续探测备份指向源节点的状态;若源节点状态异常,则从备份元数据块b0中选取元数据块b0的备份节点l1(b0)、l2(b0)、l3(b0);然后通过raft算法从元数据块b0的备份节点中选举出主恢复节点;然后主恢复节点从blmft表中拉取恢复数据;再合成数据块,并配合云主机的元数据,恢复待备份云主机。具体可以包括如下步骤:[0168]步骤1、邻近节点周期性检测“备份元数据块”所指向节点(即待备份云主机所在的边缘节点)是否工作正常。[0169]步骤2、当检测到“备份元数据块”所指向节点出现故障时,与“备份元数据块”中保存的其他元数据的备份节点(即l1(b0)、l2(b0)和l3(b0))协商,通过raft算法选举出主恢复节点。[0170]步骤3、主恢复节点根据“备份元数据块”中的索引,去所对应的边缘节点上,拉取备份的块。[0171]步骤4、将所有恢复的数据块合成,并配合“备份元数据块”中的云主机的元数据(如归属用户、ip地址、mac地址),恢复原云主机。[0172]本实施例提供了一种云主机的备份方法,根据上述实施例对前述实施例的具体实现进行了详细阐述,从中可以看出,根据前述实施例的技术方案,通过计算待备份云主机元数据与云主机快照文件的切割方式与保存位置的方法cblf,实现分布式备份;通过cblf计算出来的位置保存的备份元数据表blmft,实现分布式恢复。这样,一方面,本技术通过将待备份云主机的快照切割,并通过cblf计算备份所在的位置,避免了备份节点单点失效的问题,增加了待备份云主机通过备份进行恢复的可靠性(例如不受互备节点同时失效影响);另一方面,通过cblf计算出的备份位置、备份元数据表blmft和raft选举算法实现并行备份数据拉取,减少了对备份恢复过程中所使用的网络带宽的需求,加快了通过备份完成恢复的速度。[0173]本技术的再一实施例中,参见图7,其示出了本技术实施例提供的一种云主机的备份装置70的组成结构示意图。如图7所示,该云主机的备份装置70可以包括快照单元701、分割单元702、确定单元703和备份单元704,其中:[0174]快照单元701,配置为对待备份云主机进行快照处理,生成快照文件;[0175]分割单元702,配置为对快照文件进行分割处理,确定至少一个数据块;[0176]确定单元703,配置为确定至少一个数据块和待备份云主机的元数据块各自的备份索引位置,并根据确定的备份索引位置生成备份元数据表;[0177]备份单元704,配置为根据备份元数据表,对快照文件进行备份。[0178]在一些实施例中,备份单元704,还配置为根据备份元数据表中的备份索引位置,将至少一个数据块备份至各自的备份索引位置指向的节点,以实现快照文件的备份。[0179]在一些实施例中,确定单元703,还配置为确定与待备份云主机邻近的若干个邻近节点;以及根据若干个邻近节点,利用预设算法计算至少一个数据块各自的备份索引位置;以及从若干个邻近节点中选取三个目标节点,根据三个目标节点确定元数据块的备份索引位置。[0180]在一些实施例中,确定单元703,还配置为根据待备份云主机与若干个邻近节点之间的距离,确定若干个邻近节点的目标权值;以及根据若干个邻近节点的目标权值,确定第一数据块处于若干个邻近节点各自的目标概率值;以及设置若干个邻近节点的随机数,随机数为大于零且小于1的数值;以及根据若干个邻近节点的随机数以及各自的目标概率值,确定第一数据块对应的备份索引位置;其中,第一数据块为至少一个数据块中的任意一个。[0181]在一些实施例中,确定单元703,还配置为基于若干个邻近节点中的候选节点,若候选节点的随机数小于或等于候选节点的目标概率值,则确定第一数据块选中在候选节点上,以确定出预设数量个候选节点;以及根据预设数量个候选节点,确定第一数据块对应的备份索引位置;其中,预设数量表示第一数据块的备份数量。[0182]在一些实施例中,备份索引位置包括主备份节点的索引位置和从备份节点的索引位置,确定单元703,还配置为在确定预设数量个候选节点的过程中,将第一个选中的候选节点作为主备份节点,将第一个之外选中的其他候选节点作为从备份节点。[0183]在一些实施例中,确定单元703,还配置为根据待备份云主机与若干个邻近节点之间的距离,确定三个最小距离值;将三个最小距离值对应的邻近节点作为三个目标节点。[0184]在一些实施例中,如图7所示,云主机的备份装置70可以包括恢复单元705,配置为判断待备份云主机所在的边缘节点是否工作正常;以及若边缘节点出现故障,则确定待备份云主机的元数据块对应的主恢复节点;以及根据主恢复节点获取备份元数据表,从备份元数据表中确定至少一个数据块各自的备份索引位置;以及根据至少一个数据块各自的备份索引位置获取对应备份的数据块,以得到至少一个数据块;以及对至少一个数据块进行合成处理,得到快照文件;以及根据快照文件以及待备份云主机的元数据块,恢复待备份云主机。[0185]在一些实施例中,恢复单元705,还配置为通过邻近节点检测备份所指向的边缘节点的状态,以判断边缘节点是否工作正常;其中,邻近节点表示与待备份云主机邻近的节点。[0186]可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。[0187]所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(readonlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。[0188]因此,本实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,所述计算机程序被至少一个处理器执行时实现前述实施例中任一项所述伪装方法的步骤。[0189]基于上述的一种云主机的备份装置70的组成以及计算机存储介质,参见图8,其示出了本技术实施例提供的一种电子设备80的组成结构示意图。如图8所示,电子设备80可以包括:通信接口801、存储器802和处理器803;各个组件通过总线系统804耦合在一起。可理解,总线系统804用于实现这些组件之间的连接通信。总线系统804除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线系统804。其中,通信接口801,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;[0190]存储器802,用于存储能够在处理器803上运行的计算机程序;[0191]处理器803,用于在运行所述计算机程序时,执行:[0192]对待备份云主机进行快照处理,生成快照文件;[0193]对快照文件进行分割处理,确定至少一个数据块;[0194]确定至少一个数据块和待备份云主机的元数据块各自的备份索引位置,并根据确定的备份索引位置生成备份元数据表;[0195]根据备份元数据表,对快照文件进行备份。[0196]可以理解,本技术实施例中的存储器802可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(randomaccessmemory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(staticram,sram)、动态随机存取存储器(dynamicram,dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步链动态随机存取存储器(synchronouslinkdram,sldram)和直接内存总线随机存取存储器(directrambusram,drram)。本文描述的系统和方法的存储器802旨在包括但不限于这些和任意其它适合类型的存储器。[0197]而处理器803可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器803中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器803可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器802,处理器803读取存储器802中的信息,结合其硬件完成上述方法的步骤。[0198]可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(applicationspecificintegratedcircuits,asic)、数字信号处理器(digitalsignalprocessing,dsp)、数字信号处理设备(dspdevice,dspd)、可编程逻辑设备(programmablelogicdevice,pld)、现场可编程门阵列(field-programmablegatearray,fpga)、通用处理器、控制器、微控制器、微处理器、用于执行本技术所述功能的其它电子单元或其组合中。[0199]对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。[0200]可选地,作为另一个实施例,处理器803还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。[0201]在本技术的再一实施例中,参见图9,其示出了本技术实施例提供的另一种电子设备80的组成结构示意图。如图9所示,该电子设备80至少包括前述实施例中任一项所述的云主机的备份装置70。[0202]在本技术实施例中,对于电子设备80而言,实现了分布式数据备份,避免了备份节点单点失效的问题,增加了系统的可靠性;也实现了分布式数据恢复,可以并行获取备份数据,减少了对备份恢复过程中所使用的网络带宽的需求,加快了通过备份完成恢复的速度。[0203]以上所述,仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。[0204]需要说明的是,在本技术中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。[0205]上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。[0206]本技术所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。[0207]本技术所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。[0208]本技术所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。[0209]以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。当前第1页12当前第1页12
技术特征:
1.一种云主机的备份方法,其特征在于,所述方法包括:对待备份云主机进行快照处理,生成快照文件;对所述快照文件进行分割处理,确定至少一个数据块;确定所述至少一个数据块和所述待备份云主机的元数据块各自的备份索引位置,并根据所述确定的备份索引位置生成备份元数据表;根据所述备份元数据表,对所述快照文件进行备份。2.根据权利要求1所述的方法,其特征在于,所述根据所述备份元数据表,对所述快照文件进行备份,包括:根据所述备份元数据表中的所述备份索引位置,将所述至少一个数据块备份至各自的所述备份索引位置指向的节点,以实现所述快照文件的备份。3.根据权利要求1所述的方法,其特征在于,所述确定所述至少一个数据块和所述待备份云主机的元数据块各自的备份索引位置,包括:确定与所述待备份云主机邻近的若干个邻近节点;根据所述若干个邻近节点,利用预设算法计算所述至少一个数据块各自的备份索引位置;以及从所述若干个邻近节点中选取三个目标节点,根据所述三个目标节点确定所述元数据块的备份索引位置。4.根据权利要求3所述的方法,其特征在于,所述根据所述若干个邻近节点,通过预设算法计算所述至少一个数据块各自的备份索引位置,包括:根据所述待备份云主机与所述若干个邻近节点之间的距离,确定所述若干个邻近节点的目标权值;根据所述若干个邻近节点的目标权值,确定第一数据块处于所述若干个邻近节点各自的目标概率值;设置所述若干个邻近节点的随机数,所述随机数为大于零且小于1的数值;根据所述若干个邻近节点的随机数以及各自的目标概率值,确定所述第一数据块对应的备份索引位置;其中,所述第一数据块为所述至少一个数据块中的任意一个。5.根据权利要求4所述的方法,其特征在于,所述根据所述若干个邻近节点的随机数以及各自的目标概率值,确定所述第一数据块对应的备份索引位置,包括:基于所述若干个邻近节点中的候选节点,若候选节点的随机数小于或等于所述候选节点的目标概率值,则确定所述第一数据块选中在所述候选节点上,以确定出预设数量个所述候选节点;根据所述预设数量个所述候选节点,确定所述第一数据块对应的备份索引位置;其中,所述预设数量表示所述第一数据块的备份数量。6.根据权利要求5所述的方法,其特征在于,所述备份索引位置包括主备份节点的索引位置和从备份节点的索引位置,所述方法还包括:在确定预设数量个所述候选节点的过程中,将第一个选中的所述候选节点作为所述主备份节点,将第一个之外选中的其他所述候选节点作为所述从备份节点。7.根据权利要求3所述的方法,其特征在于,所述从所述若干个邻近节点中选取三个目
标节点,包括:根据所述待备份云主机与所述若干个邻近节点之间的距离,确定三个最小距离值;将所述三个最小距离值对应的邻近节点作为所述三个目标节点。8.根据权利要求1至7任一项所述的方法,其特征在于,在对所述快照文件进行备份之后,所述方法还包括:判断所述待备份云主机所在的边缘节点是否工作正常;若所述边缘节点出现故障,则确定所述待备份云主机的元数据块对应的主恢复节点;根据所述主恢复节点获取所述备份元数据表,从所述备份元数据表中确定所述至少一个数据块各自的备份索引位置;根据所述至少一个数据块各自的备份索引位置获取对应备份的数据块,以得到所述至少一个数据块;对所述至少一个数据块进行合成处理,得到所述快照文件;根据所述快照文件以及所述待备份云主机的元数据块,恢复所述待备份云主机。9.根据权利要求8所述的方法,其特征在于,所述判断所述待备份云主机所在的边缘节点是否工作正常,包括:通过邻近节点检测备份所指向的所述边缘节点的状态,以判断所述边缘节点是否工作正常;其中,所述邻近节点表示与所述待备份云主机邻近的节点。10.一种云主机的备份装置,其特征在于,所述云主机的备份装置包括快照单元、分割单元、确定单元和备份单元;其中:所述快照单元,配置为对待备份云主机进行快照处理,生成快照文件;所述分割单元,配置为对所述快照文件进行分割处理,确定至少一个数据块;所述确定单元,配置为确定所述至少一个数据块和所述待备份云主机的元数据块各自的备份索引位置,并根据所述确定的备份索引位置生成备份元数据表;所述备份单元,配置为根据所述备份元数据表,对所述快照文件进行备份。11.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,其中:所述存储器,用于存储能够在所述处理器上运行的计算机程序;所述处理器,用于在运行所述计算机程序时,执行如权利要求1至9任一项所述的方法。12.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序被至少一个处理器执行时实现如权利要求1至9任一项所述的方法。

技术总结
本申请公开了一种云主机的备份方法、装置、电子设备和存储介质,该方法包括:对待备份云主机进行快照处理,生成快照文件;对快照文件进行分割处理,确定至少一个数据块;确定至少一个数据块和待备份云主机的元数据块各自的备份索引位置,并根据确定的备份索引位置生成备份元数据表;根据备份元数据表,对快照文件进行备份。这样,通过将待备份云主机的快照文件进行分割,并确定各自的备份索引位置以及对其进行分布式备份,有效避免了备份节点单点失效的问题,提高了系统的可靠性。提高了系统的可靠性。提高了系统的可靠性。


技术研发人员:罗刚毅 胡志凌 姚军
受保护的技术使用者:中国移动通信集团有限公司
技术研发日:2022.08.12
技术公布日:2023/9/23
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐