一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据同步方法、系统、服务器及存储介质与流程

2023-02-19 06:08:51 来源:中国专利 TAG:


1.本技术实施例涉及通信技术领域,特别涉及一种数据同步方法、系统、服务器及存储介质。


背景技术:

2.当前云平台为了实现容灾,通常是通过在不同的数据中心形成副本来实现的,当一个数据中心发生故障时,启用其它数据中心的副本来实现容灾功能。
3.然而,云平台该种实现容灾的方式是基于延展集群的,即多个数据中心共用一个存储集群,当一个数据中心发生故障时,虽然可以使用其它数据中心的副本来进行容灾,但是其集群的稳定性已经受到了影响。


技术实现要素:

4.本技术实施例的主要目的在于提出一种数据同步方法、系统、服务器及存储介质,可以提高云平台的集群在容灾时的稳定性。
5.为实现上述目的,本技术实施例提供了一种数据同步方法,包括:检测主集群是否有数据写入;在检测到所述主集群有数据写入时,将所述数据同步至所述镜像集群,所述主集群与所述镜像集群在同一存储环境下预先创建。
6.为实现上述目的,本技术实施例还提供了一种数据同步系统,包括主集群和镜像集群,所述主集群和镜像集群在同一存储环境下预先创建;所述镜像集群用于检测所述主集群是否有数据写入,在检测到所述主集群有数据写入时,将所述数据同步至所述镜像集群。
7.为实现上述目的,本技术实施例还提供了一种服务器,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的数据同步方法。
8.为实现上述目的,本技术实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据同步方法。
9.本技术提出的数据同步方法,通过检测主集群是否有数据写入,在检测到主集群有数据写入时,将数据同步至镜像集群,其中主集群与镜像集群在同一存储环境下预先创建,从而在主集群发生异常时,可以通过将读写对象切换至镜像集群进行容灾。由于是利用同一存储环境下的镜像集群来实现容灾的,因此在容灾时,正在使用的集群的稳定性不会受到影响,从而提高了云平台容灾时集群的稳定性。
附图说明
10.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
11.图1是本发明实施例提供的数据同步方法的流程示意图;
12.图2是本发明实施例提供的数据同步方法在云平台上应用的流程示意图;
13.图3是本发明实施例提供的数据同步方法在开启镜像服务的示例图;
14.图4是本发明实施例提供的数据同步方法在进行容灾配置的示例图;
15.图5是本发明实施例提供的数据同步方法的原理架构示例图;
16.图6是本发明实施例提供的数据同步方法中利用镜像服务更新存储池数据的原理示意图;
17.图7是本发明实施例提供的数据同步系统的结构示意图;
18.图8是本发明实施例提供的服务器的结构示意图。
具体实施方式
19.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本技术各实施例中,为了使读者更好地理解本技术而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本技术所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本技术的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
20.在一个实施例中,涉及一种数据同步方法,通过检测主集群是否有数据写入,在检测到主集群有数据写入时,将数据同步至镜像集群,其中主集群与镜像集群在同一存储环境下预先创建,从而在主集群发生异常时,可以通过将读写对象切换至镜像集群进行容灾。由于是利用同一存储环境下的镜像集群来实现容灾的,因此在容灾时,正在使用的集群的稳定性不会受到影响,从而提高了云平台容灾时集群的稳定性。
21.应当说明的是,本发明实施例提供的数据同步方法的执行主体可以为镜像集群。可以理解的是,主集群与镜像集群是相对概念,是指一种主从关系,主集群作为主角色,镜像集群作为从角色。当主集群异常时,可以将镜像集群切换为主角色,将主集群切换为从角色,此时可以将镜像集群为新的主集群,而原来的主集群则为新的镜像集群。此时本发明实施例提供的数据同步方法的执行主体可以为新的镜像集群,由新的镜像集群对新的主集群进行检测,在检测到新的主集群有数据写入时,将数据同步至新的镜像集群。具体实现中,主集群与镜像集群对应不同的服务器群,可选地,主集群与镜像集群属于不同的数据中心(dc),从而实现异地容灾的效果。
22.本发明实施例提供的数据同步方法的具体流程如图1所示,包括以下步骤:
23.s101:检测主集群是否有数据写入。
24.由于主集群写入的数据并不一定都需要进行备份以达到容灾的效果,因此,在检测主集群是否有数据写入时,可以是检测是否有需要备份的数据写入。具体实现时,主集群可以将需要备份的数据写入一个指定的位置,镜像集群对主集群该指定的位置进行检测即可。
25.现有技术中在进行数据备份时,均是主动将数据备份至不同的数据中心,原数据与备份数据是同步更新的。而本发明实施例提供的数据同步方法,并不是由主集群主动将数据备份至镜像集群,而是由镜像集群对主集群进行检测,在检测到主集群有数据写入时,
才将数据备份至镜像集群,即原数据与备份数据是异步更新的。可以理解的是,不同数据中心之间的io时延是比较差的,现有技术采用同步更新的方式,数据的备份会对数据更新的效率造成一定的影响,若想降低不同数据中心的时延,则需要增加硬件成本,例如数据中心之间使用万兆网络。而本发明实施例提供的数据同步方法,采用异步更新的方式,不会因为数据的备份对主集群中的数据更新效率造成影响,因此不需要因为需要降低不同数据中心的时延而增加硬件成本。
26.s102:在检测到主集群有数据写入时,将数据同步至镜像集群,主集群与镜像集群在同一存储环境下预先创建。
27.同一存储环境可以是指同一管理门户下的存储环境,从而使镜像集群从主集群中同步数据。
28.在一个具体的例子中,在将数据同步至镜像集群之前,还包括:开启镜像集群基于ceph的镜像服务;在将数据同步至镜像集群时,是利用镜像集群的镜像服务将数据同步至镜像集群。
29.即主集群与镜像集群是基于ceph分布式存储环境下预先创建的,镜像集群基于ceph技术提供的镜像服务将主集群的数据同步至镜像集群。可选地,当主集群与镜像集群发生主从角色的切换时,可以开启主集群的镜像服务,从而利用镜像服务将镜像集群的数据同步至主集群。为了保证在主从角色切换时主集群的镜像服务是开启的,可以在创建主集群和镜像集群时同时开启镜像服务。其中,ceph是一种开源软件(软件定义的存储)存储平台,用于对象、块级和文件级存储。
30.在一个具体的例子中,主集群与镜像集群在云平台中不同的虚拟数据中心(virtual data center,简称vdc)中预先创建,和/或,主集群和镜像集群基于超融合场景预先创建。通过在云平台中不同的虚拟数据中心中创建主集群和镜像集群,可以在云平台环境上实现本发明实施例提供的数据同步方法,进而实现云平台上的容灾;同时,主集群与镜像集群对应不同的虚拟数据中心也有利于提高容灾能力。另外,现有技术中,在实现容灾时,通常是通过磁阵复制的方式来实现的,这样的方案虽然通常适合较大的局点,但因为需要单独的存储设备,因而组网比较复杂。而本发明实施例提供的数据同步方法,在基于超融合场景预先创建主集群和镜像集群,由于在超融合场景下服务器既是计算节点,也是存储节点,因此不需要额外的存储设备,组网相对比较简单,部署上更加便捷,扩展性也较好。
31.请参考图2,其为本发明实施例提供的数据同步方法在云平台上应用的流程示意图,大概包括以下流程:1、搭建超融合环境;2、搭建ceph分布式存储集群(包括主集群和镜像集群);3、根据需要备份的数据创建存储池;4、开启主集群和镜像集群的镜像服务(ceph-rbd-mirror@admin.service),其具体实现可以参考图3;5、绑定主集群和镜像集群(及存储池)进行容灾配置,其具体实现可以参考图4;5、云平台在不同的虚拟中心分别添加主集群和镜像集群的存储库。
32.在一个具体的例子中,主集群和镜像集群包括若干名称相同的第一存储池,在检测到主集群有数据写入时,将数据同步至镜像集群,包括:在检测到主集群的第一存储池有数据写入时,通过镜像集群的镜像服务将数据同步至镜像集群的第一存储池中。
33.也即,主集群的第一存储池是需要进行数据备份的,当主集群的第一存储池有数据写入时,镜像集群利用镜像服务将数据同步至镜像集群中与主集群的第一存储池名称相
同的第一存储池中。例如,若主集群中第一存储池a有数据写入时,镜像集群利用镜像服务将数据同步至镜像集群的第一存储池a中;若主集群中第一存储池b有数据写入时,镜像集群利用镜像服务将数据同步至镜像集群的第一存储池b中。具体实现中,若主集群中某一存储池的数据需要备份,则在镜像集群中创建与该存储池名称相同的存储池,而这两个存储池即为名称相同的第一存储池。应当说明的是,第一存储池中的“第一”仅用于指代需要进行数据备份的存储池,并不作为顺序或符号等其它限制。
34.具体实现中,主集群中的第一存储池下的新创建的rbd(rados block device,rados块设备)需要开启journal特性和exclusive-lock特性,当mirroring state为enabled时,表明该rbd处于正常的数据同步状态,mirroring primary为true时表明该rbd为主角色。同时,镜像集群中的第一存储池中也会创建出名称相同的rbd,mirroring primary为false,表明其为主rbd的从角色。
35.可以理解的是,主集群与镜像集群对应不同的数据中心可以达到异地容灾的效果。进一步地,主集群或镜像集群的第一存储池可以分布于不同的数据中心,例如第一存储池a分布于数据中心a,第一存储池b分布于数据中心b等,这样可以达到更好的异地容灾效果。
36.请参考图5,其为本发明实施例提供的数据同步方法的原理架构示例图。具体地,主集群与镜像集群分布于不同的dc中(主集群分布于dc1,而镜像集群分布于dc2),镜像集群通过镜像服务(图中的rbd-mirror)实现与主集群的数据同步,主集群与镜像集群中包括n个名称相同的存储池(pool1,pool2,pool3
……
)。
37.镜像集群通过镜像服务将数据同步至主集群名称相同的存储池,可以实现镜像集群与主集群中存储池的数据同步,同时也方便主集群通过指定存储池的方式来指定需要备份的数据。
38.在一个具体的例子中,检测主集群是否有数据写入,可以包括:通过镜像集群的镜像服务检测主集群的第一存储池的journal中是否有数据更新;而在检测到主集群的第一存储池有数据写入时,通过镜像服务将数据同步至镜像集群的第一存储池中,则可以包括:若检测到主集群的第一存储池的journal中有数据更新,则利用镜像服务从journal中读取更新的数据写入镜像集群的第一存储池中。
39.请参考图6,其为本发明实施例提供的数据同步方法中利用镜像服务更新存储池数据的原理示意图。具体地,当产生i/o时,数据首先会写入主集群的image journal中,当journal写入成功后,journal中的数据会写入主集群的rbd中并回复响应。同时,镜像集群的rbd-mirror进程(镜像服务)检测到主集群的journal有数据更新后,便从主集群的journal读取数据,写入镜像集群的rbd image中,从而完成数据的同步。当镜像集群中的image写入成功后,会更新主集群中的元数据,表示这次io的journal已经同步完成。另外,可以通过查看存储池中的image状态是否处于正常的容灾模式(replaying)和存储池的health是否为ok来实时监控镜像存储池的容灾状态。
40.通过镜像服务来检测主集群的第一存储池的journal中是否有数据更新,在检测到有数据更新时,通过镜像服务将数据同步至镜像集群的第一存储池中,可以实现镜像集群对主集群数据更新的主动检测,实现数据的异步更新,降低镜像集群与主集群之间的io时延需求。
41.在一个具体的例子中,在将数据同步至镜像集群之后,还包括:若检测到主集群异常,则将读写对象切换至镜像集群或镜像集群的第一存储池。
42.即在检测到主集群异常时,将镜像集群或镜像集群中的第一存储池提升为主角色进行数据的读写。由于主集群异常时,可能仅为部分第一存储池发生异常,则可以将镜像集群中相应的第一存储池提升为主角色进行数据读写即可。相应地,检测主集群是否异常时,可以是检测主集群的第一存储池是否异常。
43.在将读写对象切换至镜像集群或镜像集群的第一存储池时,可以通过配置镜像集群来自动实现。由于主集群异常可能并不是真正的异常,因此为了减少切换读写对象,可以通过手动进行切换。
44.通过在检测到主集群异常时,将读写对象切换至镜像集群或镜像集群的第一存储池,可以有效地实现容灾的效果。
45.本发明实施例提供的数据同步方法,通过检测主集群是否有数据写入,在检测到主集群有数据写入时,将数据同步至镜像集群,其中主集群与镜像集群在同一存储环境下预先创建,从而在主集群发生异常时,可以将读写对象切换至镜像集群进行容灾。由于是利用同一存储环境下的镜像集群来实现容灾的,因此在容灾时,正在使用的集群的稳定性不会受到影响,从而提高了云平台容灾时集群的稳定性。
46.此外,本领域技术人员可以理解,上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
47.在一个实施例中,涉及一种数据同步系统200,如图7所示,包括主集群201和镜像集群202,主集群201和镜像集群202在同一存储环境下预先创建,详细说明如下:
48.进一步地,镜像集群202用于检测主集群201是否有数据写入,在检测到主集群201有数据写入时,将数据同步至镜像集群202。
49.进一步地,镜像集群202还用于开启镜像集群基于ceph的镜像服务,利用镜像服务将数据同步至镜像集群202。
50.进一步地,主集群201和镜像集群202包括若干名称相同的第一存储池,镜像集群202还用于在检测到主集群201的第一存储池有数据写入时,通过镜像服务将数据同步至镜像集群202的第一存储池中。
51.进一步地,镜像集群202还用于通过镜像服务检测主集群201的第一存储池的journal中是否有数据更新;若检测到journal中有数据更新,则利用镜像服务从journal中读取更新的数据写入镜像集群202的第一存储池中。
52.进一步地,镜像集群202还用于若检测到主集群异常,则将读写对象切换至镜像集群202或镜像集群202的第一存储池。
53.进一步地,主集群201与镜像集群202在云平台中不同的虚拟数据中心中预先创建。
54.进一步地,主集群201和镜像集群202基于超融合场景预先创建。
55.不难发现,本实施例为与前述方法的实施例相对应的系统实施例,本实施例可与前述方法的实施例互相配合实施。前述方法的实施例中提到的相关技术细节在本实施例中
依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在前述方法的实施例中。
56.在一个实施例中,涉及一种服务器,如图8所示,包括:至少一个处理器301;以及,与至少一个处理器301通信连接的存储器302;其中,存储器302存储有可被至少一个处理器301执行的指令,指令被至少一个处理器301执行,以使至少一个处理器301能够执行上述的数据同步方法。
57.其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
58.处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
59.在一个实施例中,涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
60.即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
61.本领域的普通技术人员可以理解,上述各实施例是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献