一种主节点和备节点切换的方法和装置的制造方法_3

文档序号:8361299阅读:来源:国知局
日志中全部的日志事件,也可以是获取所述主节点的日志中部分的日志事件,如新增的日志时间,或者,特定时间段的日志时间等,本领域技术人员可以根据实际需要对此进行设置。
[0098]在具体实现中,所述节点可以具有l/0(input/output,输入输出端口)线程,可以通过I/O线程获取所述主节点的日志中的日志事件至备节点的日志。
[0099]在本申请的一种优选实施例中,所述子步骤Al进一步包括:
[0100]子步骤All,监听所述主节点的日志是否存在新增的日志事件;若是,则执行子步骤 A12 ;
[0101]在实际应用中,可以通过所述备节点的I/O线程监听所述主节点的日志,判断所述主节点的日志是否存在新增的日志事件。
[0102]子步骤A12,获取所述新增的日志事件至备节点的日志。
[0103]在具体实现中,当备节点的I/O线程监听到所述主节点的日志存在新增的日志事件时,可以获取所述新增的日志事件,将所述日志事件写入备节点的日志。
[0104]子步骤A2,重做所述日志事件,获得所述日志事件对应的数据信息。
[0105]在具体实现中,所述节点可以具有SQL (Structured Query Language,结构化查询语言)线程,可以通过所述备节点的SQL线程监听所述备节点的日志,重做所述备节点中记载的日志事件,获得所述日志事件对应的数据信息。
[0106]在具体实现中,所述将所述备节点的数据信息传输至所述主节点可以进一步包括如下子步骤:
[0107]子步骤A3,获取所述备节点的日志中的日志事件至主节点的日志;
[0108]子步骤A31,监听所述备节点的日志是否存在新增的日志事件;若是,则执行子步骤 A32 ;
[0109]子步骤A32,获取所述新增的日志事件至主节点的日志。
[0110]子步骤A4,重做所述日志事件,获得所述日志事件对应的数据信息。
[0111]在本申请实施例中,将所述主节点和备节点的版本文件进行同步的步骤可以包括如下子步骤:
[0112]子步骤B,按照预设的时间间隔将所述主节点的版本文件通过安全外壳协议SSH加密通道传输至所述备节点。
[0113]在具体实现中,可以通过设置一个定时器,按照预设的时间间隔触发将所述主节点的版本文件传输至所述备节点。
[0114]在实现应用中,将所述主节点和备节点的版本文件进行同步的步骤还可以包括如下子步骤:
[0115]子步骤BI,按照预设的时间间隔将所述备节点的版本文件通过安全外壳协议SSH加密通道传输至所述主节点。
[0116]在本申请的一种优选实施例中,所述主节点和备节点可以具有优先级,所述将所述备节点切换为新的主节点,并将原主节点切换为新的备节点的步骤可以包括如下子步骤:
[0117]子步骤Cl,将所述备节点按照优先级进行排序;
[0118]在实际应用中,可以具有一个或者多个备节点。
[0119]子步骤C2,将优先级最高的备节点切换为新的主节点,建立所述浮动IP地址与所述新的主节点的关联;
[0120]子步骤C3,将原主节点切换为新的备节点,断开所述浮动IP地址与所述原主节点的关联。
[0121 ] 本申请实施例通过获取日志事件,重做所述日志事件,获得所述日志事件对应的数据信息的方式,实现主、备节点中数据信息的同步。由于日志事件的数据量远小于数据信息的数据量,因此,相对于通过直接获取节点中的数据信息实现节点间的数据同步的方式,本申请实施例可以减少所述主节点和备节点的数据信息进行同步时传输的数据量,减少了资源的占用。
[0122]而且,本申请的优选实施例通过监听是否存在新增的日志事件,当存在新增的日志事件时,获取所述新增的日志事件,从而实现了数据信息实时的监听,实时的同步,使主、备节点的数据信息同步更加及时,提升了节点的可靠性。
[0123]需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
[0124]参照图5,示出了本申请一种主节点和备节点切换的装置实施例的结构框图,具体可以包括如下模块:
[0125]判断模块301,用于依据预设的主节点检测条件,判断所述主节点是否运行异常;若是,则调用切换模块以及同步模块;若否,则调用同步模块;
[0126]在具体实现中,所述主节点和备节点可以同时运行并共用同一浮动IP地址,所述浮动IP地址可以与主节点关联。
[0127]在本申请的一种优选实施例中,所述主节点检测条件可以从预设的配置文件keepalived.cnf中获得,所述配置文件keepalived.cnf可以由shell脚本生成。
[0128]切换模块302,用于将所述备节点切换为新的主节点,并将原主节点切换为新的备节点;
[0129]在本申请的一种优选实施例中,所述切换模块302包括如下子模块:
[0130]优先级排序子模块302a,用于将所述备节点按照优先级进行排序;
[0131]备节点切换子模块302b,用于将优先级最高的备节点切换为新的主节点,建立所述浮动IP地址与所述新的主节点的关联;
[0132]主节点切换子模块302c,用于将原主节点切换为新的备节点,断开所述浮动IP地址与所述原主节点的关联。
[0133]同步模块303,用于将所述主节点和备节点的数据信息以及版本文件进行同步。
[0134]在本申请的一种优选实施例中,所述同步模块303包括如下子模块:
[0135]第一数据信息同步子模块303a,用于将所述主节点的数据信息传输至所述备节占.V,
[0136]和/ 或,
[0137]第二数据信息同步子模块303b,用于将所述备节点的数据信息传输至所述主节点。
[0138]在本申请的一种优选实施例中,所述第一数据信息同步子模块303a进一步包括如下单元:
[0139]日志事件获取单元303al,用于获取所述主节点的日志中的日志事件至备节点的日志;所述日志事件包括生成数据信息的步骤;
[0140]在本申请的一种优选实施例中,所述日志事件获取单元303al进一步包括如下子单元:
[0141]监听子单元,用于监听所述主节点的日志是否存在新增的日志事件;若是,则调用获取子单元;
[0142]获取子单元,用于获取所述新增的日志事件至备节点的日志。
[0143]日志事件重做单元303a2,用于重做所述日志事件,获得所述日志事件对应的数据信息。
[0144]在本申请的一种优选实施例中,所述同步模块303c包括如下子模块:
[0145]版本文件同步子模块303cl,用于按照预设的时间间隔将所述主节点的版本文件通过安全外壳协议SSH加密通道传输至所述备节点。
[0146]对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0147]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0148]本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0149]在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1