一种基于tftp协议的热备份方法
技术领域
本发明涉及一种设备的热备份方法,特别是指一种基于tftp(简单文件传输协议)的热备份方法,应用于设备间的热备份中,应用tftp(简单文件传输协议)来完成设备间的文件的传输,以实现设备间的热备份。
背景技术
随着互联网技术的快速发展,很多事情都开始通过互联网来完成。对互联网的可靠性和稳定性要求越来越高。即使很短时间内的网络中断都有可能对运营商和用户造成很严重的损失,所以热备份也变的越来越来重要。热备份可以有效的减少网络业务的中断,也可以保证重要数据的完整性和可靠性。
热备份的数据的备份主要有两种方式进行传输。
1. 采用消息的方式来备份数据
主设备上的备份数据会采用消息的方式传送给备份设备,这种方式的优点是实时性比较高,能够保证主设备和备份设备上的数据实时同步,但是这种方式也有些缺点,首先备份消息容易丢失,对备份消息的管理也比较麻烦。
2. 采用文件的方式来备份数据
主设备会先将备份的数据写入文件中,然后将文件传到备份设备上,备份设备加载备份数据的时候也是从文件中读取,这种方式的实时性相对于消息的方式就要差一些,但是这种方式可以提高备份数据的可靠性,也便于备份数据的管理。
目前主要的热备份模式主要有以下三种:1+1热备方式,一台设备处于工作状态,另一台设备处于备份状态,备份设备会一直监视主设备的运行状态,并对主设备上的数据进行备份;N+1热备方式,这种模式是一台设备当作备份设备,他可以同时对多台正常运行的设备进行备份;互为主备方式,这种方式是两台设备都同时运行正常的业务,并且会备份对方设备的数据。
发明内容
本发明提供了一种基于tftp(简单文件传输协议)的热备份方法。通过基于文件的备份数据,在实现备份数据的高效传输的同时也可以保证备份数据的可靠性,能有效的避免备份数据在传输过程中产生丢失和错误或不完整问题。
本发明的技术方案为一种基于tftp协议的热备份方法,采用一个备份设备对一个以上主设备进行备份,备份过程基于tftp协议完成;所述备份过程实现过程为,
主设备将要备份的数据先写到文件中然后将文件传送到备份设备上,备份设备将接收到的数据保存在临时文件中,判断传输是否成功以及校验文件是否接收正确,传输成功且文件接收正确则用临时文件替换原来的备份文件,否则向主设备发送错误信息。
而且,在备份设备中为各主设备分别设置相应的目录,在成功接收到某主设备的数据后,将临时文件保存到该主设备相应的目录中,替换原来的备份文件。
而且,当备份设备收到某主设备主动发来的顶替主设备通知或发现某主设备出现故障不能正常工作时,判断备份文件是否存在,不存在则进入初始化状态,存在则在主设备对应的文件夹中取出备份文件并校验备份文件,校验成功则备份设备加载备份文件,并进入与该主设备相同的工作状态并顶替该主设备,不成功则进入初始化状态。
而且,主设备恢复正常后,发送消息到顶替该主设备的备份设备,备份设备将数据写入文件传给主设备,在主设备进入工作状态时停止工作进入备份状态;主设备判断传输是否成功以及校验文件是否接收正确,传输成功且文件接收正确则加载文件中的数据并进入工作状态,否则进入初始化状态。
本发明备份的数据是基于文件的,并通过tftp(简单文件传输协议)来完成文件的传输及备份过程;文件的备份会根据热备的状态完成相应的备份及加载流程,从而完成设备热备的数据同步及倒换,达到设备服务不中断。因此,本发明技术方案相对现有技术有如下优势:
1.实现了备份数据的快速传输,占用的额外的带宽小,消耗的系统资源小。
2.提高了热备份的可靠性,避免了备份数据在传输中丢失,或者备份数据的不完整;并且很容易与热备状态协议,如VRRP(虚拟路由器冗余协议)结合,适应各种热备份模式。
3.对设备正常的业务流程影响较小。
附图说明
图1是本发明实施例的文件热备成功流程图。
图2是本发明实施例的文件热备失败流程图。
图3是本发明实施例的顶替故障设备流程图。
图4是本发明实施例的设备恢复流程的传输成功示意图。
图5是本发明实施例的设备恢复流程的传输失败示意图。
具体实施方式
以下结合附图和实施例详细说明本发明技术方案。
对于设备的热备来说,传输数据的准确可靠是非常重要的,任何一点的数据传输丢失,或者接收到的是错误的数据,都可能会对热备份系统产生不利的影响,还有可能造成倒换后的信息不完整。正因为如此,本发明采用tftp协议来进行数据文件的同步,tftp(简单文件传输协议)是一种文件传输的简单协议,它提供了确认重传机制,主设备发送端只有收到了备份设备的确认消息后才会开始下一个数据包的传输,而接收端接收数据超时或者接收到错误的数据都会要求发送端重传当前的数据。这样能有效的避免的UDP(用户数据报协议)的不可靠性,为热备份的可靠性提供了保证,同时充分利用了UDP(用户数据报协议)的数据的快速传输、消耗系统资源小的优点。
在对热备份的数据的处理上,本发明的所有的备份数据都是基于文件来完成,正常运行的主设备会先将要备份的数据写入到文件中,然后将文件通过tftp(简单文件传输协议)发送给备份设备,而备份设备将接收到的数据先保存在临时文件中,当确认传输完成后,才会用这份临时文件来替换以前的备份文件。当备份设备需要使用备份数据时,就可以直接从备份文件中读取。通过文件进行数据的热备份能够最大限度的降低热备份对于正常业务的影响。同时本发明采用了不同的存储位置来存储不同设备的备份数据,这样可以让一台备份设备能同时对多个正常运行的主设备进行备份,能够有效的避免不同设备间备份数据的干扰。
实施例主要有下面的三个流程:
当主设备在正常工作的时候,主设备和备份设备上的tftp(简单文件传输协议)服务端和客户端都会开启,主设备会将要备份的数据写入到文件中,然后通过tftp(简单文件传输协议)客户端将该文件传送给备份设备上的tftp(简单文件传输协议)服务端。备份设备将接收到的数据保存在临时文件中,判断传输是否成功以及校验文件是否接收正确,传输成功且文件接收正确则用临时文件替换原来的备份文件,否则向主设备发送错误信息。参见附图1、2,实施例中具体的过程是:
主设备将要备份的数据先写到文件中然后将文件分为多个文件块传送到备份设备上,而备份设备也会将接收到的数据保存在临时文件中。如图中所示,主设备发传送请求到备份设备,备份设备发传送请求确认消息到主设备;主设备发文件块1到备份设备,备份设备发文件块1确认消息到主设备;主设备收到文件块1确认消息后,发文件块2到备份设备,备份设备发文件块2否认消息到主设备,主设备则重新发文件块2到备份设备,备份设备发文件块2确认消息到主设备,主设备则继续发文件块3到备份设备…直到主设备发文件末尾的文件块到备份设备,备份设备发文件末尾的确认消息到主设备。
如图1所示,传送过程中,若没有出现异常情况(例如通信链路异常,或主设备没收到备份设备的接收文件块确认消息,或备份设备没有收到主设备的下一个文件块消息),每个文件块都被完整、正确接收,在将要备份的数据写到文件中时校验文件成功,备份设备上的原备份文件被成功替换,最后向主设备发送文件检查确认消息,则整个备份过程成功。
否则如图2所示,传输失败或文件校验失败,则备份设备备份失败,向主设备发送文件检查否认信息,主设备得知备份失败。具体实施时,在备份设备中可以为各主设备分别设置相应的目录,在成功接收到某主设备的数据后,将临时文件保存到该主设备相应的目录中,替换掉上一次的备份文件。这个过程可以确保主设备和备份设备上的数据是同步的。
备份设备不仅会备份主设备传送来的备份数据,还会通过主备状态协议,如VRRP(虚拟路由器冗余协议),一直检测主设备的工作状态。当备份设备发现主设备出现故障不能正常工作或者主设备主动发来需要备份设备顶替的消息的时候,备份设备会从备份文件中取出相应的主设备的备份文件,快速的完成加载后,并进入和主设备相同的工作状态。这整个过程会在很短的时间内完成,以确保用户的正常业务不会被中断,这样可以大大的提高网络的稳定性,即使网络中的一台设备出现了问题,它的业务也会很快的被其他的设备替代。参见附图3,实施例的流程设计为:
备份设备收到某主设备主动发来的顶替主设备通知或发现某主设备出现故障不能正常工作时,判断备份文件是否存在,若备份设备上不存在对应的备份文件则进入初始化状态,若备份文件存在,则在主设备对应的文件夹中取出备份文件,通过文件内部的校验信息检查,若校验不成功则进入初始化状态,校验成功则加载备份文件,备份设备进入与该主设备相同的工作状态并顶替该主设备,若通过文件内部的校验信息检查发现文件损坏,则加载不成功,并进入初始化状态。备份设备在初始化状态下,可人工更新备份设备上的备份文件并执行加载备份文件中的信息,进入顶替主设备的正常工作状态。
实施例进一步给出了主设备恢复正常重新开始工作替换备份设备的流程,当出现故障的主设备被更换或者重新恢复正常工作的时候。顶替这台主设备的备份设备会通过主备状态协议(如虚拟路由器冗余协议VRRP),检测到该主设备能重新开始正常工作了,这时这台备份设备会将数据写入到文件中,然后通过tftp客户端将文件传送给已经恢复正常的主设备,主设备在接收完成后,会快速的加载这些文件,然后重新进入正常的工作状态,而备份设备则会重新回到备份状态,继续备份主设备发来的备份数据。参见附图4、5,实施例的流程设计为:
备份设备根据主设备的VRRP通告得知主设备恢复正常,主设备发送回传请求消息到顶替该主设备的备份设备,备份设备将其上的相关数据写入文件后分为多个文件块传给主设备,如图中所示,备份设备发文件块1到主设备,主设备发文件块1确认消息到备份设备;备份设备收到文件块1确认消息后,发文件块2到主设备,主设备发文件块2确认消息到备份设备…备份设备发文件末尾的文件块到主设备,主设备发文件末尾的确认消息到备份设备。主设备根据是否接收到所有文件块来判断传输是否成功、根据文件内携带的校验信息检查文件是否接收正确,根据以上判断结果进行以下处理:
如图4所示,若接收到全部文件块,并且通过了校验备份文件的检查,则采用接受的文件更新原备份文件并加载,向备份设备发出进入工作状态确认消息,并进入工作状态状态。
否则如图5所示,传输失败或校验备份文件失败,主设备向备份设备发出未进入工作状态确认消息,且不加载文件,并进入初始化状态。
备份设备收到进入工作状态确认消息时,得知主设备进入工作状态,则停止工作状态进入备份状态;若备份设备收到未进入工作状态确认消息,得知主设备更新文件失败,则保持工作状态。主设备若要从初始化状态切换到正常工作状态,也可人工更新备份文件并执行加载备份文件的信息,使主设备进入正常工作状态。
以上的三个流程包含热备份的所有过程,通过以上三个流程的切换,完成了主备设备的数据同步,从而网络中始终会有设备为用户提供服务,以确保用户的业务是始终不会中断的。这样既提高了整个网络的稳定性和可靠性,又提高了用户的体验。由于有设备可以快速顶替故障设备,也为故障设备的维修和故障分析提供了充足的时间。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。