一种实现数据无缝迁移的方法及装置的制造方法

文档序号:10470869阅读:164来源:国知局
一种实现数据无缝迁移的方法及装置的制造方法
【专利摘要】本发明公开了一种实现数据无缝迁移的方法,所述方法包括:分别创建主节点和备用节点的共享内存,以及主节点和备用节点各自的内存区域,将主节点内存区域内的内存信息迁移至主节点的共享内存,使主节点的内存信息与备用节点的内存信息一致;检测主节点发生故障时,访问共享内存中的数据,实现数据无缝迁移。本发明还同时公开了一种实现数据无缝迁移的装置。
【专利说明】
一种实现数据无缝迁移的方法及装置
技术领域
[0001]本发明涉及数据传输技术,尤其涉及一种实现数据无缝迀移的方法及装置。
【背景技术】
[0002]双机热备是一种解决服务器的临时故障的备份技术,双机热备技术使用两台服务器,互相备份,共同执行同一服务;当一台服务器出现故障时,可以由另一台服务器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务,避免长时间的服务中断,保证系统长期、可靠的服务。
[0003]随着企业信息化程度越来越高,企业对信息化的依赖越来越高,特别在电信、银行等行业,甚至提出了全年业务不能中断的要求;为避免主机硬件和系统故障对业务应用造成影响,众多企业都采用小型机UNIX系统+HA的硬件架构模式;在这种模式下,首先可以利用小型机硬件高冗余的特性,单个硬件故障并不会影响主机节点的正常运行;其次当备用主机节点监控到主机出现故障时,会自动重新启动业务至备用节点上,从而保证了业务的连续性。
[0004]现有技术中,UNIX系统下数据的切换的方法是在主机/备机之间部署镜像磁盘,即:A主节点将LunA磁盘上的业务数据传输至镜像磁盘分区上,同时镜像至B备用节点上的LunB磁盘上,利用镜像分区工具在主备机上将目标磁盘上开辟镜像磁盘同步分区,用以存储中间业务数据;再在主备机上安装相关应用软件,将中间业务数据部署到镜像同步分区上,主备机之间再通过内部以太网连接传输同步数据;该方案与传统方案相比,使A主节点上的业务数据传输至B备用节点上的速度更快,保证了数据传输的一致性;
[0005]但是,该方案存在如下弊端:第一,当A主节点宕机时,B备用节点读取镜像磁盘分区上的业务数据,还要重新启动宕机时传输过来的内存程序,导致从A主节点到B备用节点的业务切换时间要三至十五分钟,业务切换时间仍旧很长;第二,该方案需要在主机上增加额外的硬件和软件,过程复杂,成本高,故障点多,若一个点出现故障,整个系统瘫痪,甚至数据丢失;第三,该方案传输数据的实时性不强,切换时间长,很容易造成数据的丢失;第四,主备机的同步数据是通过内部以太网进行传输,传输速率慢,当以太网出现故障时,会造成数据传输的停止,中断了主备机之间的切换,致使系统不能正常运行。

【发明内容】

[0006]有鉴于此,本发明实施例期望提供一种实现数据无缝迀移的方法及装置,能够在主节点异常宕机时,备用节点在极短的时间内接管主节点的业务,实现主节点和备用节点之间的无扰切换和数据的无缝迀移,保证业务的连续性。
[0007]本发明实施例的技术方案是这样实现的:
[0008]本发明实施例提供一种实现数据无缝迀移的方法,所述方法包括:分别创建主节点和备用节点的共享内存,以及主节点和备用节点各自的内存区域,将主节点内存区域内的内存信息迀移至主节点的共享内存,使主节点的内存信息与备用节点的内存信息一致;检测主节点发生故障时,访问共享内存中的数据,实现数据无缝迀移;其中,
[0009]使主节点的内存信息与备用节点的内存信息一致,包括:主节点的快速缓冲贮存区读取主节点的内存信息,并将所述主节点的内存信息同步至所述主节点的共享内存;将主节点共享内存的数据同步至备用节点共享内存;备用节点的快速缓冲贮存区读取所述备用节点的共享内存的信息,并将所述共享内存的信息同步至备用节点的内存区域。
[0010]在一实施例中,所述将所述主节点的内存信息同步至所述主节点的共享内存,包括:实时地复制所述主节点的内存信息,并同步传递至所述主节点的共享内存;对所述主节点的内存信息进行页面快照,将变化的内存页面发送至所述主节点的共享内存,更新所述主节点的共享内存中所述主节点发生变化的内存页面对应的内存信息。
[0011 ] 在一实施例中,所述访问共享内存中的数据,包括:主节点的快速缓冲贮存区加载所述主节点的内存区域中未发生变化的数据,备用节点的快速缓冲贮存区加载所述备用节点共享内存的数据,并重新挂载时控。
[0012]在一实施例中,所述主节点与备用节点通过心跳线连接;相应的,所述检测主节点发生故障,包括:动态检测主节点的运行状态,并周期性的优先从所述心跳线向所述备用节点发送所述主节点的状态维护报,所述备用节点在预设的阈值时间内未收到所述主节点的状态维护报,则检测主节点发生故障。
[0013]本发明实施例还提供一种实现数据无缝迀移的装置,所述装置包括:创建模块、处理模块、检测模块和迀移模块;其中,
[0014]所述创建模块,用于分别创建主节点和备用节点主节点和备用节点的共享内存,以及主节点和备用节点各自的内存区域,将主节点内存区域内的内存信息迀移至主节点的共享内存;
[0015]所述处理模块,用于读取主节点的内存信息,并将所述主节点的内存信息同步所述主节点的共享内存;将主节点共享内存的数据同步至备用节点共享内存;读取所述备用节点的共享内存的信息,并将所述共享内存的信息同步至备用节点的内存区域;
[0016]所述检测模块,用于检测主节点是否发生故障;
[0017]所述迀移模块,用于在检测模块检测主节点发生故障时,访问共享内存中的数据,实现数据无缝迀移。
[0018]在一实施例中,所述处理模块,具体用于实时地复制所述主节点的内存信息,并同步传递至所述主节点的共享内存;对所述主节点的内存信息进行页面快照,将变化的内存页面发送至所述主节点的共享内存,更新所述主节点的共享内存中所述主节点发生变化的内存页面对应的内存信息。
[0019]在一实施例中,所述迀移模块,具体用于加载所述主节点的内存区域中未发生变化的数据,备用节点的快速缓冲贮存区加载所述备用节点共享内存的数据,并重新挂载时控。
[0020]在一实施例中,所述主节点与备用节点通过心跳线连接;相应的,所述检测模块,具体用于动态检测主节点的运行状态,并周期性的优先从所述心跳线向所述备用节点发送所述主节点的状态维护报,所述备用节点在预设的阈值时间内未收到所述主节点的状态维护报,则检测主节点发生故障。
[0021]本发明实施例所提供的实现数据无缝迀移的方法及装置,分别创建主节点和备用节点的共享内存,以及主节点和备用节点各自的内存区域,将主节点内存区域内的内存信息迀移至主节点的共享内存,使主节点的内存信息与备用节点的内存信息一致;检测主节点发生故障时,访问共享内存中的数据,实现数据无缝迀移;其中,使主节点的内存信息与备用节点的内存信息一致,包括:主节点的快速缓冲贮存区读取主节点的内存信息,并将所述主节点的内存信息同步至所述主节点的共享内存;将主节点共享内存的数据同步至备用节点共享内存;备用节点的快速缓冲贮存区读取所述备用节点的共享内存的信息,并将所述共享内存的信息同步至备用节点的内存区域。如此,通过将UNIX操作系统从本地系统磁盘迀移至共享存储,主节点和备用节点通过共享存储实现主节点的内存信息与备用节点的内存信息一致;在主节点异常宕机时,备用节点在极短的时间内接管主节点的业务,实现主节点和备用节点之间的无扰切换和数据的无缝迀移,保证业务的连续性。
【附图说明】
[0022]图1为实现数据迀移的双机架构示意图;
[0023]图2为数据迀移的实现过程示意图;
[0024]图3为本发明实施例实现数据无缝迀移的方法的处理流程示意图;
[0025]图4为实现本发明实施例所应用的双机架构拓扑图;
[0026]图5为本发明实施例实现数据无缝迀移的装置的组成结构示意图。
【具体实施方式】
[0027]本发明实施例中,分别创建主节点和备用节点的共享内存,以及主节点和备用节点各自的内存区域,将主节点内存区域内的内存信息迀移至主节点的共享内存,使主节点的内存信息与备用节点的内存信息一致;检测主节点发生故障时,访问共享内存中的数据,实现数据无缝迀移;其中,使主节点的内存信息与备用节点的内存信息一致,包括:主节点的快速缓冲贮存区读取主节点的内存信息,并将所述主节点的内存信息同步至所述主节点的共享内存;将主节点共享内存的数据同步至备用节点共享内存;备用节点的快速缓冲贮存区读取所述备用节点的共享内存的信息,并将所述共享内存的信息同步至备用节点的内存区域。
[0028]本发明实施例中,在创建主节点和备用节点的共享内存之后,主节点通过NPIV协议将存储在本地系统磁盘上的UNIX操作系统迀移至共享内存;由于一台主机可以划分为多个虚拟UNIX系统,因此本申请能够提高主机中央处理器内存资源利率。
[0029]为更好地理解本发明技术方案,下面简单介绍现有技术中基于磁盘阵列的方式实现数据迀移的实现过程;现有技术中实现数据迀移的双机架构,如图1所示,包括:A主节点、B备用节点和存储装置,双机热备系统的用户数据存储在磁盘阵列中,UNIX系统通过SAN网络访问磁盘阵列的资源。
[0030]现有技术中数据迀移的实现过程,如图2所示,当A主节点发生故障时,业务中断,B备用节点从存储装置上接管存储资源和IP资源,并恢复相关的应用;但是,B备用节点监控到A主节点发生故障后,在B备用节点上重启业务,根据承载的业务不同,进行业务恢复一般需要三至十分钟,甚至更长时间;在进行业务恢复的这段时间内,业务无法提供对外服务;因此,B备用节点的启用和A主节点的恢复无法实现无扰切换,使得业务不具备连续性。
[0031]本发明实施例中,实现数据无缝迀移的方法的处理流程,如图3所示,包括以下步骤:
[0032]步骤101,分别创建主节点和备用节点的共享内存,以及主节点和备用节点各自的内存区域,将主节点内存区域内的内存信息迀移至主节点的共享内存,使主节点的内存信息与备用节点的内存信息一致;
[0033]具体地,实现数据无缝迀移的装置中的创建模块创建主节点和备用节点的共享内存;主节点通过NPIV协议将存储在本地系统磁盘上的UNIX操作系统迀移至共享内存;实现数据无缝迀移的装置中的处理模块主节点的快速缓冲贮存区读取主节点的内存信息,并将所述主节点的内存信息同步至所述主节点的共享内存;将主节点共享内存的数据同步至备用节点共享内存;备用节点的快速缓冲贮存区读取所述备用节点的共享内存的信息,并将所述共享内存的信息同步至备用节点的内存区域,使主节点的内存信息与备用节点的内存信息一致;
[0034]其中,所述将所述主节点的内存信息同步至所述主节点的共享内存,具体为:
[0035]将共享内存分为两部分,一部分为页面标识区,用于标识变化的页面,每一位对应一个大小为4KB的数据页面;另一部分为数据区,用于存储应用的关键接续数据;所述关键接续数据为在发生主节点与备用节点切换时,保证业务不中断、接续计算机系统运行所需要的数据;在主节点的内存信息发生变化时,将变化的内存页面发送至共享内存,更新共享内存中所述主节点发生变化的内存页面对应的内存信息;之后,将更新的内存信息对应的页面标识区置为1,表示该数据区进行了更新。
[0036]步骤102,检测主节点发生故障时,访问共享内存中的数据,实现数据无缝迀移;
[0037]这里,主节点和备用节点建立基于C/S的系统架构,即实现本发明实施例所应用的双机架构拓扑图,如图4所示,主节点与备用节点分别至少配置两个网口,其中,一个网口连接公网,另一个网口配置为主节点与备用节点之间的私有网络,即心跳线;通常为公网配置两个网口,采用双网主备冗余的方式进行绑定,可以增加系统的可靠性;私有网络端口的数量可以根据数据量情况增加一个私有网络端口,采用负载均衡的方式绑定,用于增加私有网络的带宽和可靠性;
[0038]具体地,采用定时检测和动态检测相结合的方式进行双机状态的检测;其中,定时检测是指主节点和备用节点周期性的发送自身的状态维护报,优先从心跳线发送状态维护报,在心跳线发送失败时,从公网发送状态维护报;在主节点或备用节点中的任意一方在预设的阈值时间内未收到对方的状态维护报,则检测对方发生故障;采用定时检测的方式进行状态检测,不仅具有Ping测试方式的优点,还能在一定程度上冗余软件故障。动态检测是指主动探测主节点系统或备用节点系统软件的运行状态,如软件超时、软件死循环、软件一场退出等;当检测到软件故障时,停止发送状态维护报,进行状态告警并通知对方进行切换,再重启故障软件。
[0039]访问共享内存中的数据具体包括:在备用节点升级为主节点后,实现数据无缝迀移的装置中的迀移模块通知各应用从备用节点读取数据,立即加载共享区的关键接续数据,主节点的快速缓冲贮存区加载所述主节点的内存区域中未发生变化的数据,备用节点的快速缓冲贮存区加载所述备用节点共享内存的数据;再根据所述关键接续数据重新挂载应用的时控,重新挂载时控包括:1)对于周期性循环的时控,直接挂载即可;2)对于由某类信息触发或人工干预触发的单次或多次循环的时控,将触发条件或干预命令等信息作为关键数据存储于共享内存,备用节点切换为主节点后,根据所述触发条件或干预命令等信息重新解算并挂起时控;3)对于由周期性的消息触发的单次时控,可由新的消息再次触发,无需做特殊的加载处理。
[0040]本发明应用与SAN网络环境时,主节点与备用节点进行数据迀移时,可直接访问共享内存的数据,提高数据迀移的速率。
[0041]为实现上述实现数据无缝迀移的方法,本发明实施例还提供一种实现数据无缝迀移的装置,所述装置的组成结构,如图5所示,包括:创建模块11、处理模块12、检测模块13和迀移模块14 ;其中,
[0042]所述创建模块11,用于分别创建主节点和备用节点主节点和备用节点的共享内存,以及主节点和备用节点各自的内存区域,将主节点内存区域内的内存信息迀移至主节点的共享内存;
[0043]所述处理模块12,用于读取主节点的内存信息,并将所述主节点的内存信息同步至所述主节点的共享内存;将主节点共享内存的数据同步至备用节点共享内存;读取所述备用节点的共享内存的信息,并将所述共享内存的信息同步至备用节点的内存区域;
[0044]所述检测模块13,用于检测主节点是否发生故障;
[0045]所述迀移模块14,用于在检测模块检测主节点发生故障时,访问共享内存中的数据,实现数据无缝迀移。
[0046]本发明实施例中,所述处理模块12,具体用于实时地复制所述主节点的内存信息,并同步传递至所述主节点的共享内存;对所述主节点的内存信息进行页面快照,将变化的内存页面发送至所述主节点的共享内存,更新所述主节点的共享内存中所述主节点发生变化的内存页面对应的内存信息。
[0047]本发明实施例中,所述迀移模块14,具体用于加载所述主节点的内存区域中未发生变化的数据,备用节点的快速缓冲贮存区加载所述备用节点共享内存的数据,并重新挂载时控。
[0048]本发明实施例中,所述主节点与备用节点通过心跳线连接;相应的,所述检测模块13,具体用于动态检测主节点的运行状态,并周期性的优先从所述心跳线向所述备用节点发送所述主节点的状态维护报,所述备用节点在预设的阈值时间内未收到所述主节点的状态维护报,则检测主节点发生故障。
[0049]本发明实施例中,在创建主节点和备用节点的共享内存之后,主节点通过NPIV协议将存储在本地系统磁盘上的UNIX操作系统迀移至共享内存。
[0050]本发明实施例中,将所述主节点的内存信息同步至共享内存,具体为:
[0051]将共享内存分为两部分,一部分为页面标识区,用于标识变化的页面,每一位对应一个大小为4KB的数据页面;另一部分为数据区,用于存储应用的关键接续数据;所述关键接续数据为在发生主节点与备用节点切换时,保证业务不中断、接续计算机系统运行所需要的数据;在主节点的内存信息发生变化时,将变化的内存页面发送至共享内存,更新共享内存中所述主节点发生变化的内存页面对应的内存信息;之后,将更新的内存信息对应的页面标识区置为1,表示该数据区进行了更新。
[0052]本发明实施例中,采用定时检测和动态检测相结合的方式进行双机状态的检测;其中,定时检测是指主节点和备用节点周期性的发送自身的状态维护报,优先从心跳线发送状态维护报,在心跳线发送失败时,从公网发送状态维护报;在主节点或备用节点中的任意一方在预设的阈值时间内未收到对方的状态维护报,则检测对方发生故障;采用定时检测的方式进行状态检测,不仅具有Ping测试方式的优点,还能在一定程度上冗余软件故障。动态检测是指主动探测主节点系统或备用节点系统软件的运行状态,如软件超时、软件死循环、软件一场退出等;当检测到软件故障时,停止发送状态维护报,进行状态告警并通知对方进行切换,再重启故障软件。
[0053]本发明实施例中,访问共享内存中的数据具体包括:在备用节点升级为主节点后,实现数据无缝迀移的装置中的迀移模块通知各应用从备用节点读取数据,立即加载共享区的关键接续数据,主节点的快速缓冲贮存区加载所述主节点的内存区域中未发生变化的数据,备用节点的快速缓冲贮存区加载所述备用节点共享内存的数据;再根据所述关键接续数据重新挂载应用的时控,重新挂载时控包括:1)对于周期性循环的时控,直接挂载即可;2)对于由某类信息触发或人工干预触发的单次或多次循环的时控,将触发条件或干预命令等信息作为关键数据存储于共享内存,备用节点切换为主节点后,根据所述触发条件或干预命令等信息重新解算并挂起时控;3)对于由周期性的消息触发的单次时控,可由新的消息再次触发,无需做特殊的加载处理。
[0054]需要说明的是,在实际应用中,所述创建模块11、处理模块12、检测模块13和迀移模块14的功能可由位于实现数据无缝迀移的装置上的中央处理器(CPU)、或微处理器(MPU)、或数字信号处理器(DSP)、或可编程门阵列(FPGA)、快速缓冲贮存区(Cache)实现。
[0055]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
【主权项】
1.一种实现数据无缝迀移的方法,其特征在于,所述方法包括: 分别创建主节点和备用节点的共享内存,以及主节点和备用节点各自的内存区域,将主节点内存区域内的内存信息迀移至主节点的共享内存,使主节点的内存信息与备用节点的内存信息一致; 检测主节点发生故障时,访问共享内存中的数据,实现数据无缝迀移;其中, 使主节点的内存信息与备用节点的内存信息一致,包括:主节点的快速缓冲贮存区读取主节点的内存信息,并将所述主节点的内存信息同步至所述主节点的共享内存;将主节点共享内存的数据同步至备用节点共享内存;备用节点的快速缓冲贮存区读取所述备用节点的共享内存的信息,并将所述共享内存的信息同步至备用节点的内存区域。2.根据权利要求1所述实现数据无缝迀移的方法,其特征在于,所述将所述主节点的内存信息同步至所述主节点的共享内存,包括: 实时地复制所述主节点的内存信息,并同步传递至所述主节点的共享内存; 对所述主节点的内存信息进行页面快照,将变化的内存页面发送至所述主节点的共享内存,更新所述主节点的共享内存中所述主节点发生变化的内存页面对应的内存信息。3.根据权利要求1或2所述实现数据无缝迀移的方法,其特征在于,所述访问共享内存中的数据,包括: 主节点的快速缓冲贮存区加载所述主节点的内存区域中未发生变化的数据,备用节点的快速缓冲贮存区加载所述备用节点共享内存的数据,并重新挂载时控。4.根据权利要求1或2所述实现数据无缝迀移的方法,其特征在于,所述主节点与备用节点通过心跳线连接;相应的,所述检测主节点发生故障,包括: 动态检测主节点的运行状态,并周期性的优先从所述心跳线向所述备用节点发送所述主节点的状态维护报,所述备用节点在预设的阈值时间内未收到所述主节点的状态维护报,则检测主节点发生故障。5.一种实现数据无缝迀移的装置,其特征在于,所述装置包括:创建模块、处理模块、检测模块和迀移模块;其中, 所述创建模块,用于分别创建主节点和备用节点主节点和备用节点的共享内存,以及主节点和备用节点各自的内存区域,将主节点内存区域内的内存信息迀移至主节点的共享内存; 所述处理模块,用于读取主节点的内存信息,并将所述主节点的内存信息同步至所述主节点的共享内存;将主节点共享内存的数据同步至备用节点共享内存;读取所述备用节点的共享内存的信息,并将所述共享内存的信息同步至备用节点的内存区域; 所述检测模块,用于检测主节点是否发生故障; 所述迀移模块,用于在检测模块检测主节点发生故障时,访问共享内存中的数据,实现数据无缝迀移。6.根据权利要求5所述实现数据无缝迀移的装置,其特征在于,所述处理模块,具体用于实时地复制所述主节点的内存信息,并同步传递至所述主节点的共享内存;对所述主节点的内存信息进行页面快照,将变化的内存页面发送至所述主节点的共享内存,更新所述主节点的共享内存中所述主节点发生变化的内存页面对应的内存信息。7.根据权利要求5或6所述实现数据无缝迀移的装置,其特征在于,所述迀移模块,具体用于加载所述主节点的内存区域中未发生变化的数据,备用节点的快速缓冲贮存区加载所述备用节点共享内存的数据,并重新挂载时控。8.根据权利要求5或6所述实现数据无缝迀移的的装置,其特征在于,所述主节点与备用节点通过心跳线连接;相应的,所述检测模块,具体用于动态检测主节点的运行状态,并周期性的优先从所述心跳线向所述备用节点发送所述主节点的状态维护报,所述备用节点在预设的阈值时间内未收到所述主节点的状态维护报,则检测主节点发生故障。
【文档编号】G06F3/06GK105824571SQ201510003665
【公开日】2016年8月3日
【申请日】2015年1月5日
【发明人】苏伟杰, 郑水华, 杨孝平
【申请人】中国移动通信集团四川有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1