检查点数据的存储方法和装置的制作方法

文档序号:6423645阅读:150来源:国知局
专利名称:检查点数据的存储方法和装置的制作方法
技术领域
本发明涉及通信领域,并且特别地,涉及一种检查点数据的存储方法和装置。
背景技术
目前,如图1所示,存储服务器和计算服务器(也可称为计算节点)通常会通过交换机(例如,可以是千兆网络交换机或者IB网络交换机)互联。在图1所示的架构中,存储服务器可以具有24个盘位,计算服务器则作为远程的计算节点单元。通过图1所示的架构方式,存储服务器能够通过网络文件系统(Network File System,简称为NFS)将文件系统共享给计算服务器。在进行共享时,可以根据以下流程(1)全部计算服务器运行一个并行任务;(2)由存储服务器发送一致性检查点(Checkpoint)指令;(3)所有计算服务器在Checkpoint指令下进行本地的进程存储,将需要存储的内存内容放置到NFS共享磁盘存储区域中;(4)进行通常的Checkpoint过程;(5)当系统需要重新启动一个Checkpoint检查点的时候,可以发布一个Restart 命令;(6)全部节点通过NFS共享存储区读取各自的Checkpoint文件部分并启动相应的进程,即可完成Restart工作。基于硬盘的检查点文件存储方案速度较慢,大约为每秒钟只能够存储30MB的数据,也就是说,对于一个拥有30GB内存空间的计算进程而言,一次Checkpoint工作就会损失16分钟,而这样的Checkpoint过程往往需要每小时进行一次,这就意味着服务器的整体性能的损失会达到25%左右,对于内存空间更大、访问速度更慢的服务器而言,损失的性能比例会更高。但是,针对相关技术中检查点数据写入速度慢的问题,目前并未提出有效的解决方案。

发明内容
针对相关技术中检查点数据写入速度慢的问题,本发明提出一种检查点数据的存储方法和装置,能够有效提高检查点数据的写入效率,从而对服务器因检查点数据写入而出现性能损失的问题得到有效解决。本发明的技术方案是这样实现的根据本发明的一个方面,提供了一种检查点数据的存储方法。该方法包括响应于检查点命令,将内存中需要存储至第一存储器中的数据写入到第二存储器中,其中,第二存储器的访问速度高于第一存储器的访问速度;在第一存储器和第二存储器满足预定空闲条件的情况下,将第二存储器中写入的数据转存至第一存储器。其中,在将内存中需要存储至第一存储器中的数据写入到第二存储器中之前,该方法还可以包括判断第二存储器是否处于空闲状态,如果判断结果为是,则确定允许将内存中需要存储至第一存储器中的数据写入到第二存储器中;否则等待第一存储器进入空闲状态。并且,上述预定空闲条件可以包括第一存储器处于空闲状态,并且第二处于空闲状态。并且,上述预定空闲条件还可以包括第二存储器的存储空间被占满,或第二存储器中存储的数据量达到预定阈值。可选地,第一存储器为硬盘;第二存储器为以下之一固态硬盘、Flash硬盘。根据本发明的另一方面,提供了一种检查点数据的存储装置。该装置包括第二存储器;第一处理模块,用于响应于检查点命令,将内存中需要存储至第一存储器中的数据写入到第二存储器中,其中,第二存储器的访问速度高于第一存储器的访问速度;第二处理模块,用于在第一存储器和第二存储器满足预定空闲条件的情况下,将第二存储器中写入的数据转存至第一存储器。其中,第二处理模块用于在将内存中需要存储至第一存储器中的数据写入到第二存储器中之前,进一步判断第二存储器是否处于空闲状态,如果判断结果为是,则确定允许将内存中需要存储至第一存储器中的数据写入到第二存储器中;否则等待第一存储器进入空闲状态。并且,预定空闲条件可以包括第一存储器处于空闲状态,并且第二处于空闲状态。可选地,预定空闲条件还可以包括第二存储器的存储空间被占满,或第二存储器中存储的数据量达到预定阈值。可选地,第一存储器为硬盘;第二存储器为以下之一固态硬盘、Flash硬盘。本发明通过设置访问速度更高的存储器(第二存储器)来缓存需要存储到第一存储器中的数据,之后再将缓存的数据由第二存储器写入到第一存储器中,从而能够有效改进检查点数据写入的效率,避免由于写入速度慢而导致服务器等设备的性能严重损失的问题。


图1是相关技术中存储服务器与计算服务器连接的架构示意图;图2根据本发明实施例的检查点数据的存储方法的流程图;图3根据本发明实施例的检查点数据的存储方法中数据写入时进行条件判断的流程图;图4根据本发明实施例的检查点数据的存储装置的框图;图5是在现有系统中增设本发明的检查点数据的存储装置的示意图。
具体实施例方式针对相关技术中检查点数据写入速度慢的问题,本发明提出,借助于访问速度更高的存储器(第二存储器)来缓存需要存储到第一存储器中的数据,之后再将缓存的数据由第二存储器写入到第一存储器中,从而能够有效改进检查点数据写入的效率,避免由于写入速度慢而导致服务器等设备的性能严重损失的问题。下面将结合附图,详细描述本发明的实施例。如图2所示,根据本发明实施例的检查点数据的存储方法包括步骤S201,响应于检查点命令,将内存中需要存储至第一存储器中的数据写入到第二存储器中,其中,第二存储器的访问速度高于第一存储器的访问速度;步骤S203,在第一存储器和第二存储器满足预定空闲条件的情况下,将第二存储器中写入的数据转存至第一存储器。借助于上述处理,通过设置访问速度更高的存储器(第二存储器)来缓存需要存储到第一存储器中的数据,之后再将缓存的数据由第二存储器写入到第一存储器中,能够有效改进检查点数据写入的效率,避免由于写入速度慢而导致服务器等设备的性能严重损失的问题。其中,在将内存中需要存储至第一存储器中的数据写入到第二存储器中之前,可以首先判断第二存储器是否处于空闲状态,如果判断结果为是,则确定允许将内存中需要存储至第一存储器中的数据写入到第二存储器中;否则等待第一存储器进入空闲状态,从而能够进一步保证数据能够正常地写入到第二存储器中。在将第二存储器的数据写入第一存储器时,所参照的预定空闲条件可以为第一存储器处于空闲状态,并且第二处于空闲状态,从而保证数据写入准确性。并且,预定空闲条件还可以包括第二存储器的存储空间被占满,或第二存储器中存储的数据量达到预定阈值。也就是说,在第一存储器和第二存储器均空闲时,如果第二存储器的存储空间被占满而无法继续向其中写入数据、或第二存储器存储的数据过多时,即可将第二存储器中的数据写入第一存储器中,并清空第二存储器。这样就能够避免对第二存储器和第一存储器进行频繁的读写操作,降低设备内部的处理复杂度。可选地,上述第一存储器可以为硬盘,这样第二存储器应当高于硬盘的访问速度, 例如,第二存储器可以为固态硬盘或Flash硬盘,也可以是其他速度更快的存储器,具体本文不再一一列举。如图3所示,在进行数据写入时,可以首先判断高速部件(即,上述的第二存储器) 是否空闲,如果判断为是,则将数据写入高速部件,否则暂停向高速部件进行写入(将高速部件置为锁定状态);之后,在将数据写入高速部件之后,判断高速部件是否空闲,如果判断为是,则进一步判断低速部件(即,上述的第一存储器)是否空闲;否则暂停写入低速部件(将高速部件置为锁定状态);如果判断高速部件为空闲,则进一步判断低速部件是否空闲,如果判断为是,则将数据从高速部件写入低速部件,如果判断低速部件不空闲,则暂停写入低速部件 (将低速部件置为锁定状态),等待低速部件处于空闲状态时再进行写入。借助于上述处理,通过设置访问速度更高的存储器(第二存储器)来缓存需要存储到第一存储器中的数据,之后再将缓存的数据由第二存储器写入到第一存储器中,能够有效改进检查点数据写入的效率,避免由于写入速度慢而导致服务器等设备的性能严重损失的问题;另外,通过合理配置用于控制数据写入的预定空闲条件,能够保证在合理的时间进行数据的读取和写入,使得读写操作的效率和准确性得到保证。根据本发明的另一实施例,还提供了一种检查点数据的存储装置。如图4所示,根据本发明实施例的检查点数据的存储装置包括第二存储器41;第一处理模块42,连接至第二存储器41,用于响应于检查点命令,将内存中需要存储至第一存储器(未示出)中的数据写入到第二存储器中,其中,第二存储器的访问速度高于第一存储器的访问速度;第二处理模块43,连接至第一处理模块42,用于在第一存储器和第二存储器满足预定空闲条件的情况下,将第二存储器中写入的数据转存至第一存储器。另外,第二处理模块43还用于在将内存中需要存储至第一存储器中的数据写入到第二存储器41中之前,进一步判断第二存储器41是否处于空闲状态,如果判断结果为是,则确定允许将内存中需要存储至第一存储器中的数据写入到第二存储器41中;否则等待第一存储器进入空闲状态。并且,预定空闲条件可以是第一存储器处于空闲状态,并且第二处于空闲状态。 优选地,预定空闲条件还可以包括第二存储器的存储空间被占满,或第二存储器中存储的数据量达到预定阈值。通过如上配置用于控制数据写入的预定空闲条件,能够保证第一和第二存储器在空闲的情况下进行数据的读写,从而保证数据写入的准确度。并且,上述第一存储器可以为硬盘,而上述第二存储器高速存储器,例如,可以是固态硬盘、或Flash硬盘等。在实现本发明的方案时,需要对存储服务器和硬件架构和网络进行少量改变,在服务器内部接入快速存储访问部件(第二存储器),例如,可以采用基于内存颗粒和FPGA的高速存储卡部件。另外需要设置基于该快速存储访问部件的写缓存驱动(即,上述的第一处理模块和第二处理模块),该驱动能够将高速存储设备配置为低速存储设备的缓存,从而实现快速的磁盘写入。如图5所示,在该驱动下,系统可以完全采用原有的VFS文件系统操作,对应用系统完全透明,该写缓存驱动盘可以与VFS文件系统连接,并且同时连接至日志式文件系统, 例如,可以是 Ext3 (Third extended filesystem)。图4所示的装置同样能够实现之前方法实施例中描述的处理,具体过程之前已经描述,这里不再重复。综上所述,借助于本发明的上述技术方案,通过设置访问速度更高的存储器(第二存储器)来缓存需要存储到第一存储器中的数据,之后再将缓存的数据由第二存储器写入到第一存储器中,能够有效改进检查点数据写入的效率,避免由于写入速度慢而导致服务器等设备的性能严重损失的问题;另外,通过合理配置用于控制数据写入的预定空闲条件,能够保证在合理的时间进行数据的读取和写入,使得读写操作的效率和准确性得到保证。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种检查点数据的存储方法,其特征在于,包括响应于检查点命令,将内存中需要存储至第一存储器中的数据写入到第二存储器中, 其中,所述第二存储器的访问速度高于所述第一存储器的访问速度;在所述第一存储器和所述第二存储器满足预定空闲条件的情况下,将所述第二存储器中写入的所述数据转存至所述第一存储器。
2.根据权利要求1所述的方法,其特征在于,在将内存中需要存储至第一存储器中的数据写入到第二存储器中之前,所述方法还包括判断所述第二存储器是否处于空闲状态,如果判断结果为是,则确定允许将所述内存中需要存储至所述第一存储器中的数据写入到所述第二存储器中;否则等待所述第一存储器进入空闲状态。
3.根据权利要求1所述的方法,其特征在于,所述预定空闲条件包括所述第一存储器处于空闲状态,并且所述第二处于空闲状态。
4.根据权利要求3所述的方法,其特征在于,所述预定空闲条件还包括所述第二存储器的存储空间被占满,或所述第二存储器中存储的数据量达到预定阈值。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一存储器为硬盘;所述第二存储器为以下之一固态硬盘、Flash硬盘。
6.一种检查点数据的存储装置,其特征在于,包括第二存储器;第一处理模块,用于响应于检查点命令,将内存中需要存储至第一存储器中的数据写入到所述第二存储器中,其中,所述第二存储器的访问速度高于所述第一存储器的访问速度;第二处理模块,用于在所述第一存储器和所述第二存储器满足预定空闲条件的情况下,将所述第二存储器中写入的所述数据转存至所述第一存储器。
7.根据权利要求6所述的装置,其特征在于,所述第二处理模块用于在将内存中需要存储至第一存储器中的数据写入到第二存储器中之前,进一步判断所述第二存储器是否处于空闲状态,如果判断结果为是,则确定允许将所述内存中需要存储至所述第一存储器中的数据写入到所述第二存储器中;否则等待所述第一存储器进入空闲状态。
8.根据权利要求6所述的装置,其特征在于,所述预定空闲条件包括所述第一存储器处于空闲状态,并且所述第二处于空闲状态。
9.根据权利要求8所述的装置,其特征在于,所述预定空闲条件还包括所述第二存储器的存储空间被占满,或所述第二存储器中存储的数据量达到预定阈值。
10.根据权利要求6至9中任一项所述的装置,其特征在于,所述第一存储器为硬盘; 所述第二存储器为以下之一固态硬盘、Flash硬盘。
全文摘要
本发明公开了一种检查点数据的存储方法和装置,其中,该方法包括响应于检查点命令,将内存中需要存储至第一存储器中的数据写入到第二存储器中,其中,第二存储器的访问速度高于第一存储器的访问速度;在第一存储器和第二存储器满足预定空闲条件的情况下,将第二存储器中写入的数据转存至第一存储器。本发明通过设置访问速度更高的存储器来缓存需要存储到第一存储器中的数据,之后再将缓存的数据由第二存储器写入到第一存储器中,从而能够有效改进检查点数据写入的效率,避免由于写入速度慢而导致服务器等设备的性能严重损失的问题。
文档编号G06F12/08GK102184141SQ20111011606
公开日2011年9月14日 申请日期2011年5月5日 优先权日2011年5月5日
发明者戴荣, 李斌, 李程, 沙超群, 王璟, 许建卫, 马少杰 申请人:曙光信息产业(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1