基于opendaylight的SDN控制器的数据备份方法及设备、介质与流程

文档序号:31936070发布日期:2022-10-26 01:48阅读:60来源:国知局
基于opendaylight的SDN控制器的数据备份方法及设备、介质与流程
基于opendaylight的sdn控制器的数据备份方法及设备、介质
技术领域
1.本技术涉及软件开发技术领域,尤其涉及一种基于opendaylight的sdn控制器的数据备份方法及设备、介质。


背景技术:

2.目前,基于opendaylight框架开发的sdn控制器采用集群来实现数据备份。opendaylight开源框架采用akka集群机制,akka模块通过快照同步的方式来实现集群节点之间的数据库同步,避免服务器出现故障导致数据丢失的情况,从而实现了数据库中心sdn控制器的高可用性。
3.但是由于opendaylight框架中的集群比较脆弱,且集群具有一旦分裂则不可恢复等问题。同时,opendaylight通过同步快照的方式进行数据同步,系统长时间运行之后,需要同步的快照数据量会越来越大,opendaylight每次同步都需要全量同步整个快照,这就导致每次同步都非常浪费网络带宽,并且占用系统性能。若快照数据量大到一定程度,则会导致同步超时,进而导致集群分裂,使系统出现不可逆的损坏。另外,如果出现网络波动或者服务器性能瓶颈等问题也将导致集群出现分裂,使系统不可恢复。
4.因此,为了更好地确保数据的安全性,如何避免使用集群的方式来实现sdn控制器中的数据备份成为本领域技术人员亟待解决的问题。目前,需要开发出一种新型的基于opendaylight的sdn控制器的数据备份方法及设备、介质,对sdn控制器中的数据进行同步及备份,使同步的数据量较集群快照小,从而减小系统开销占用的空间,确保系统的稳定性及安全性,若系统出现故障也较容易修复。


技术实现要素:

5.本说明书实施例提供了一种基于opendaylight的sdn控制器的数据备份方法及设备、介质,用于解决现有技术中的如下技术问题:基于opendaylight框架开发的sdn控制器采用集群实现数据备份需要全量同步整个快照,造成网络带宽的浪费,占用系统性能,甚至会导致集群分裂,对系统造成不可逆的损坏。
6.本说明书实施例采用下述技术方案:
7.一种基于opendaylight的sdn控制器的数据备份方法,其中,一个主节点与若干备节点构成数据备份系统,所述方法包括:
8.所述主节点获取业务数据,将所述业务数据写入所述主节点的数据库,并将其数据库同步至每个备节点的数据库;
9.检测所述主节点的运行状态,
10.若所述主节点down机,则选择一个备节点成为新主节点;
11.所述新主节点获取业务数据,将所述业务数据写入其数据库,并将其数据库同步至其余的备节点的数据库。
12.进一步地,所述主节点将其数据库同步至每个备节点的数据库,包括:
13.采用监听的方式将所述主节点的数据库通过数据库api接口写入每个备节点的数据库;
14.所述备节点感知其数据库变化,查询主节点的状态与备节点的状态,
15.若通过查询确认该节点不是主节点,则不触发业务流程。
16.进一步地,检测所述主节点的运行状态,包括:
17.所述主节点按照预设置时间定时向每个备节点发送保活报文,
18.若各备节点在所述预设置时间内没有接收到所述保活报文,则确认所述主节点down机。
19.进一步地,选择一个备节点成为新主节点,包括:
20.根据预设置的每个备节点的优先级进行选择,将优先级最高的备节点的状态切换为新主节点。
21.进一步地,根据预设置的每个备节点的优先级进行选择,将优先级最高的备节点的状态切换为新主节点,包括:
22.根据预设置的备节点的优先级顺序预设置每个备节点相应的延时时间;
23.若各备节点在所述预设置时间内没有接收到所述保活报文,则各备节点根据预设置的相应的延时时间开始计时,当达到最短延时时间后,延时时间最短的备节点向其余的备节点发送成为新主节点的请求;
24.所述其余的备节点接收所述请求,停止与其相应的延时时间的计时,并回复应答同意所述请求;
25.所述延时时间最短的备节点根据所述回复将其状态切换为新主节点。
26.进一步地,基于opendaylight的sdn控制器的数据备份方法还包括:
27.检测down机的原主节点的运行状态,
28.若所述原主节点恢复,则查询所述原主节点的状态,
29.通过查询确认所述原主节点为初始主节点,则将其状态切换为准备成为主节点,并向每个备节点发送初始主节点恢复请求;
30.所述新主节点根据所述初始主节点恢复请求将最新的数据库数据全量同步至所述原主节点的数据库。
31.进一步地,基于opendaylight的sdn控制器的数据备份方法还包括:
32.所述原主节点的数据库同步完成后向所述新主节点发送数据同步完成信息;
33.根据所述数据同步完成信息,所述新主节点将其状态切换为备节点,所述原主节点将其状态由准备成为主节点切换为主节点。
34.进一步地,基于opendaylight的sdn控制器的数据备份方法还包括:
35.检测新主节点的运行状态,
36.若所述新主节点down机,则选择另一个备节点成为次新主节点;
37.若所述新主节点恢复,则查询所述新主节点的状态,
38.通过查询确认所述新主节点为初始备节点,则将其状态切换为备节点。
39.一种基于opendaylight的sdn控制器的数据备份设备,其中,包括:
40.至少一个处理器;以及,
41.与所述至少一个处理器通信连接的存储器;其中,
42.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
43.所述主节点获取业务数据,将所述业务数据写入所述主节点的数据库,并将其数据库同步至所述每个备节点的数据库;
44.检测所述主节点的运行状态,
45.若所述主节点down机,则选择一个备节点成为新主节点;
46.所述新主节点获取业务数据,将所述业务数据写入其数据库,并将其数据库同步至其余的备节点的数据库。
47.一种基于opendaylight的sdn控制器的数据备份非易失性计算机存储介质,存储有计算机可执行指令,其中,所述计算机可执行指令设置为:
48.所述主节点获取业务数据,将所述业务数据写入所述主节点的数据库,并将其数据库同步至所述每个备节点的数据库;
49.检测所述主节点的运行状态,
50.若所述主节点down机,则选择一个备节点成为新主节点;
51.所述新主节点获取业务数据,将所述业务数据写入其数据库,并将其数据库同步至其余的备节点的数据库。
52.本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
53.本发明说明书实施例示例的基于opendaylight的sdn控制器的数据备份方法,通过设置一个主节点与若干备节点采用多机热备的方式来实现sdn控制器的数据同步及备份,当检测到主节点出现down机后,其中一个备节点可以自动将自己的状态切换为主节点,并向其余的备节点同步数据库信息。在本发明示例的数据备份方法中,备节点只承担数据备份功能,无需运行业务,因此每次数据备份只需要同步数据库的基本数据即可,相较于opendaylight的集群快照,本发明示例的数据备份方法同步的数据量小,对系统的开销占用也较小,不会导致系统损坏的问题;如果系统出现损坏等问题,能够方便地修复,可以有效地提高基于opendaylight的sdn控制器的数据备份的效率,
附图说明
54.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
55.图1为本说明书实施例提供的基于opendaylight的sdn控制器的数据备份方法的一种流程示意图;
56.图2为本说明书实施例提供的一个主节点与若干备节点的一种架构示意图;
57.图3为本说明书实施例提供的新主节点向各个备节点进行数据库数据同步的一种示意图;
58.图4为本说明书实施例提供的新主节点向恢复后的原主节点进行数据库数据同步的一种示意图。
具体实施方式
59.为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施
例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
60.以下结合附图,详细说明本技术各实施例提供的技术方案。
61.如图1所示,本技术的实施例提供了一种基于opendaylight的sdn控制器的数据备份方法。如图2所示,一个主节点与若干备节点构成数据备份系统。
62.本技术实施例示例的基于opendaylight的sdn控制器的数据备份方法包括主节点获取业务数据,将业务数据写入主节点的数据库,并将其数据库同步至每个备节点的数据库;检测主节点的运行状态,若主节点down机,则选择一个备节点成为新主节点;新主节点获取业务数据,将业务数据写入其数据库,并将其数据库同步至其余的备节点的数据库。
63.本实施例示例的基于opendaylight的sdn控制器的数据备份方法,采用多机热备方式实现sdn控制器的数据同步及备份,由一个主节点及若干备节点构成数据备份系统,实时监测主节点的运行状态,当检测到主节点down机,其中一个备节点可以自动将自己的状态切换为主节点,并向其余备节点同步数据库信息。
64.由于备节点只承担数据备份功能,无需运行业务,因此每次数据备份只需要同步数据库的基本数据即可,相较于opendaylight的集群快照,本实施例示例的数据备份方法同步的数据量小,对系统的开销占用也较小,不会导致系统损坏的问题;如果系统出现损坏等问题,能够方便地修复,可以有效地提高基于opendaylight的sdn控制器的数据备份的效率,
65.在本实施例中,主节点将其数据库同步至每个备节点的数据库,包括采用监听的方式将主节点的数据库通过数据库api接口写入每个备节点的数据库;备节点感知其数据库变化,查询主节点的状态与备节点的状态,若通过查询确认该节点不是主节点,则不触发业务流程。
66.当主节点接收到业务数据并导致其数据库变化时,通过监听的方式将数据库通过数据库api接口写入备节点数据库,备节点收到数据库变化,通过查询主备状态,发现自己不是主节点,则什么都不做,不再触发业务流程,这样可以保证业务的唯一性。只同步数据有变化的部分,保证每次只需同步少量数据。
67.在本实施例中,检测主节点的运行状态包括主节点按照预设置时间定时向每个备节点发送保活报文,若其中一个备节点在预设置时间内没有接收到保活报文,则确认主节点down机。
68.主节点除了向每个备节点同步数据之外,还会定时向每个备节点发送保活报文,通过保活报文向每个备节点表明其运行状态正常。当备节点在设定时间之内没有接收到主节点发送的保活报文,则确认主节点down机。
69.在本实施例中,选择一个备节点成为新主节点包括根据预设置的每个备节点的优先级进行选择,将优先级最高的备节点的状态切换为新主节点。
70.在确认主节点down之后,可以根据预设置的优先级选择其中一个备节点为新主节点。各个备节点预设置有优先级,优先级最高的备节点会成为下一个主节点。
71.在本实施例中,根据预设置的每个备节点的优先级进行选择,将优先级最高的备节点的状态切换为新主节点,包括根据预设置的备节点的优先级顺序预设置每个备节点相
应的延时时间;若各备节点在预设置时间内没有接收到保活报文,则各备节点根据预设置的相应的延时时间开始计时,当达到最短延时时间后,延时时间最短的备节点向其余的备节点发送成为新主节点的请求;其余的备节点接收请求,停止与其相应的延时时间的计时,并回复应答同意请求;延时时间最短的备节点根据回复将其状态切换为新主节点。
72.可以采用下述步骤保证优先级最高的备节点成为下一个主节点:
73.a.根据优先级由高到低的顺序为每个备节点预设置一个由短到长的延时时间。
74.b.若各备节点在预设置时间内未收到主节点发送的保活报文,则各备节点会启动延时计时器,当达到最短延时时间之后,延时时间最短的备节点向其余的备节点发送请求成为新主节点的消息。
75.c.由于优先级最高的备节点相应的延时时间最短,所以优先级最高的备节点能够最先向其余备节点发送成为主节点的请求,其余优先级低的备节点在收到最高优先级备节点发送过来的请求后,则停止其延时计时器,回复应答同意报文。
76.d.优先级最高的备节点在收到所有回复之后,将自身状态切换为新主节点。
77.当然可以理解的是,若新主节点后续又发生了down机的情况,则其余的备节点仍然可以按照预设置的优先级,执行上述步骤,确定出下一个主节点。
78.当然可以理解的是,上述步骤还可以包括:若其余的备节点中其中一个处于down机状态,未能回复应答同意报文,则优先级最高的备用节点等待直到超时时间,然后自动将其状态切换为新主节点。
79.如图3所示,若备节点按照1、2
……
n的的顺序确定为优先级从高到低,则优先级最高的备节点1将成为新主节点,然后会向其余的备节点同步数据库数据。
80.在本实施例中,基于opendaylight的sdn控制器的数据备份方法还包括:检测down机的原主节点的运行状态,若原主节点恢复,则查询原主节点的状态,通过查询确认原主节点为初始主节点,则将其状态切换为准备成为主节点,并向每个备节点发送初始主节点恢复请求;新主节点根据初始主节点恢复请求将最新的数据库数据全量同步至原主节点的数据库。
81.原主节点从down恢复为up之后,检测到其为初始主节点,将自身状态切换到准备成为主节点的状态,然后会向所有的备用节点发送初始主节点恢复请求。如图4所示,新主节点会将最新的数据库数据全量同步至原主节点的数据库,保证原主节点数据库中的数据为最新数据。
82.在本实施例中,基于opendaylight的sdn控制器的数据备份方法还包括:原主节点的数据库同步完成后向新主节点发送数据同步完成信息;根据数据同步完成信息,新主节点将其状态切换为备节点,原主节点将其状态由准备成为主节点切换为主节点。
83.数据库同步完成之后,原主节点发送数据同步完成信息给新主节点,新主节点会将自身主备状态切换为备节点,原主节点将其状态由准备成为主节点的状态切换为主节点状态。
84.在本实施例中,基于opendaylight的sdn控制器的数据备份方法还包括:检测新主节点的运行状态,若新主节点down机,则选择另一个备节点成为次新主节点;若新主节点恢复,则查询新主节点的状态,通过查询确认新主节点为初始备节点,则将其状态切换为备节点。
85.备节点成为主节点之后,如果发生状态变成down之后再变成up,将自身主备状态切换为备节点,避免发生系统中出现多个主节点的情况。
86.基于同样的思路,本技术的一些实施例还提供了上述方法对应的设备和非易失性计算机存储介质。
87.本技术的一些实施例提供了对应于图1的一种基于opendaylight的sdn控制器的数据备份设备,其中,所述设备包括:
88.至少一个处理器;以及,
89.与所述至少一个处理器通信连接的存储器;其中,
90.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
91.所述主节点获取业务数据,将所述业务数据写入所述主节点的数据库,并将其数据库同步至所述每个备节点的数据库;
92.检测所述主节点的运行状态,
93.若所述主节点down机,则选择一个备节点成为新主节点;
94.所述新主节点获取业务数据,将所述业务数据写入其数据库,并将其数据库同步至其余的备节点的数据库。
95.本技术的一些实施例提供了对应于图1的一种基于opendaylight的sdn控制器的数据备份非易失性计算机存储介质,存储有计算机可执行指令,其中,所述计算机可执行指令设置为:
96.所述主节点获取业务数据,将所述业务数据写入所述主节点的数据库,并将其数据库同步至所述每个备节点的数据库;
97.检测所述主节点的运行状态,
98.若所述主节点down机,则选择一个备节点成为新主节点;
99.所述新主节点获取业务数据,将所述业务数据写入其数据库,并将其数据库同步至其余的备节点的数据库。
100.本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
101.本技术实施例提供的设备和介质与方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备和介质的有益技术效果。
102.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
103.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产
104.品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或
方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
105.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
106.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
107.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
108.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
109.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
110.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
111.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1