数据的多副本存储管理方法和系统的制作方法

文档序号:6444884阅读:497来源:国知局
专利名称:数据的多副本存储管理方法和系统的制作方法
技术领域
本发明涉及计算机领域,并且特别地,涉及一种数据的多副本存储管理方法和系统。
背景技术
目前,在大规模高性能计算集群中,由于存在着用户众多、作业量巨大、整体IO吞吐量要求高的情况,因此现在基于单个服务器端的网络文件系统已经大大不能满足用户的需求,特别是大型数据中心和并发数量大、IO量大的需求。这时,并行存储系统(分布式存储系统)的概念就应用而生了。目前已经出现了一些并行存储系统,这些存储系统能够实现元数据和一般数据 (是指原数据之外的数据,例如,文件数据,这些一般数据在本文中被统称为数据)分别存储,以便在读写的时候提高性能;数据服务器的数量为多个,从几个达到数百甚至数千个, 从而构成了大规模的网络文件系统。虽然存储数据的多个服务器可以实现相互之间的备份,从而提高整个系统的稳定性和可靠性,但是,这多个服务器访问的存储器只有一个,在该存储器出现故障的情况下, 所有的服务器均无法提供与数据处理相关的服务器,从而导致整个系统出现故障。针对相关技术中存储数据的服务器无法实现有效的彼此替换和数据备份的问题, 目前尚未提出有效的解决方案。

发明内容
针对相关技术中存储数据的服务器无法实现有效的彼此替换和数据备份的问题, 本发明提出一种数据的多副本存储管理方法和系统,能够有效实现数据的多副本保存,同时实现多服务器彼此间的备份和替换,提高系统的稳定性和可靠性。本发明的技术方案是这样实现的根据本发明的一个方面,提供了一种数据的多副本存储管理方法。该方法包括多个服务器在各自的存储器中保存需要保存的全部数据,并且多个服务器之间实现数据存储的同步;在多个服务器中预先指定的主服务器无法继续提供数据处理服务的情况下,其他服务器中的一个服务器利用保存的数据代替主服务器提供数据处理服务,其中,主服务器之外的其他服务器被禁止提供数据处理服务。其中,在多个服务器中未确定主服务器、或者已经确定的主服务器无法继续提供数据处理服务的情况下,通过以下方式确定主服务器多个服务器彼此之间进行协商,根据各个服务器的当前状态确定作为主服务器的服务器;或者根据操作人员的指示,确定需要作为主服务器的服务器。并且,服务器的当前状态包括以下至少之一该服务器的存储器访问是否正常,该服务器的负载,该服务器的网络连接状态。此外,在指定的主服务器满足以下条件中的至少之一时,确定该主服务器无法继续提供数据处理服务该主服务器的网络连接出现异常、该主服务器的存储器访问出现异常、该主服务器的负载超过预定负载阈值。此外,其他服务器中的一个服务器利用保存的数据代替主服务器提供数据处理服务包括确定原主服务器之外的一个服务器作为新的主服务器,并将该服务器的存储器激活,使激活的存储器能够提供数据处理服务;新的主服务器利用其存储器中存储的数据,响应于数据处理服务的指令提供数据处理服务。根据本发明的另一方面,提供了一种数据的多副本存储管理系统。该系统包括多个服务器,其中,每个服务器包括存储器,用于保存需要保存的全部数据;同步模块,用于实现所在服务器与其他服务器之间的数据存储同步;服务提供模块,用于在所在的服务器被确定为主服务器的情况下,利用所在服务器的存储器中保存的数据提供数据处理服务,其中,在一时间多个服务器中仅存在一主服务器,且仅由该主服务器提供数据处理服务;其中,在多个服务器中预先指定的主服务器无法继续提供数据处理服务的情况下,其他服务器中的一个服务器代替当前的主服务器提供数据处理服务。其中,在多个服务器中指定的主服务器满足以下条件中的至少之一时,该主服务器触发重新选择主服务器该主服务器的网络连接出现异常、该主服务器的存储器访问出现异常、该主服务器的负载超过预定负载阈值。此外,多个服务器中的主服务器的存储器处于激活状态,在激活状态下,该主服务器能够利用其存储器中存储的数据提供数据处理服务器,其他服务器则被禁止提供数据处理服务。其中,每个服务器进一步包括信息交互模块,用于与其他服务器实现信息的交互, 交互的信息包括服务器状态信息,在当前的主服务器无法继续提供数据处理服务的情况下,每个服务器根据各自与其他服务器的状态信息确定能够作为新的主服务器的服务器。本发明通过在每个数据服务器上保存所有需要保存的数据并在服务器之间实现数据同步和主备切换,能够有效实现数据的多副本保存,同时实现多服务器彼此间的备份和替换,提高系统的稳定性和可靠性。


图1是根据本发明实施例的数据的多副本存储管理方法的流程图;图2是根据本发明实施例的数据的多副本存储管理系统的框图。
具体实施例方式根据本发明的实施例,提供了一种数据的多副本存储管理方法。如图1所示,根据本发明实施例的数据的多副本存储管理方法包括步骤S101,多个服务器在各自的存储器中保存需要保存的全部数据,并且多个服务器之间实现数据存储的同步,其中,主服务器之外的其他服务器被禁止提供数据处理服务;步骤S103,在多个服务器中预先指定的主服务器无法继续提供数据处理服务的情况下,其他服务器中的一个服务器利用保存的数据代替主服务器提供数据处理服务。其中,在多个服务器中未确定主服务器、或者已经确定的主服务器无法继续提供数据处理服务的情况下,可以通过以下方式确定主服务器
多个服务器彼此之间进行协商,根据各个服务器的当前状态确定作为主服务器的服务器;或者
根据操作人员的指示,确定需要作为主服务器的服务器。
也就是说,不论在什么情况下确定主服务器,既可以采用服务器之间协商的方式, 也可以又管理员发出指令指定主服务器。
在服务器进行协商时,可以彼此传输各自的状态,每个服务器传输的该服务器的当前状态可以包括以下至少之一该服务器的存储器访问是否正常,该服务器的负载,该服务器的网络连接状态。每个服务器可以先判断自身的状态是否能够作为主服务器,之后可以将其他服务器传输的状态与自身的状态进行比较(可选地,只有自身状态满足作为主服务器要求的服务器会进行该比较步骤),根据一定的策略确定本身相比于其他服务器是否更适合作为主服务器(例如,上述策略可以是将状态最好的服务器确定为主服务器),最后,被确定为主服务器的服务器会将其被确定为主服务器的信息通知给其他服务器。
具体如何选择主服务器的方法有很多,并不局限于上述方法,本文不再一一列举。
在指定的主服务器网络连接出现异常、和/或该主服务器的存储器访问出现异常、和/或该主服务器的负载超过预定负载阈值的情况下,该主服务器就会确定其无法继续提供数据处理服务,此时需要出发主服务器的重选,该服务器可以不作为候选对象。
在当前主服务器之外的一个服务器作为新的主服务器代替原主服务器提供数据处理服务时,可以将该服务器的存储器激活,使激活的存储器能够提供数据处理服务,并且使得对原主服务器的访问转移到新的主服务器;新的主服务器利用其存储器中存储的数据,响应于数据处理服务的指令提供数据处理服务,由于每个服务器保存的数据是相同的, 因此,新的主服务器能够正常提供数据处理服务,包括对数据的读取、写入、修改、删除等操作。
本发明可以用于多种并行存储系统,例如,可以用于parastor并行存储系统避免某个数据服务器出现故障而造成数据丢失、进而使整个并行存储系统的文件全部不可用的问题。本发明能够在并行存储系统的数据服务器上增加功能,使其能够将文件的数据同时存储在两个或多个地方,从而避免单点故障导致整个文件系统不可用的情况。
根据本法明的实施例,还提供了一种数据的多副本存储管理系统。
如图2所示,该系统包括多个服务器(出于清楚的目的,图2中仅示出了 2个服务器,在实际应用中,服务器的数量可以更多,根据实际需要,可能会达到成百上千甚至更多),每个服务器包括(出于清楚的目的,图2中仅详细示出了一个服务器的结构,实际上, 其他的服务器同样具备类似结构)
存储器21,用于保存需要保存的全部数据;
同步模块22,连接至存储器21,用于实现所在服务器与其他服务器之间的数据存储同步;
服务提供模块23,连接至存储器21和同步模块22,用于在所在的服务器被确定为主服务器的情况下,利用所在服务器的存储器中保存的数据提供数据处理服务,其中,在一时间多个服务器中仅存在一主服务器,且仅由该主服务器提供数据处理服务;
其中,在多个服务器中预先指定的主服务器无法继续提供数据处理服务的情况下,其他服务器中的一个服务器代替当前的主服务器提供数据处理服务。
其中,在多个服务器中指定的主服务器满足以下条件中的至少之一时,该主服务器触发重新选择主服务器该主服务器的网络连接出现异常、该主服务器的存储器访问出现异常、该主服务器的负载超过预定负载阈值。
每个服务器都会与其他服务器进行通信,该通信可以实时进行,传递数据同步或各自的状态等多种信息。每个服务器可以进一步包括信息交互模块,用于与其他服务器实现上述通信,交互的信息包括服务器状态信息,在当前的主服务器无法继续提供数据处理服务的情况下,每个服务器根据各自的状态信息与其他服务器的状态信息确定能够作为新的主服务器的服务器。该交互模块可以与同步模块集成在一起。
此外,多个服务器中的主服务器的存储器处于激活状态,在激活状态下,该主服务器能够利用其存储器中存储的数据提供数据处理服务器,其他服务器则被禁止提供数据处理服务。
通过本发明的上述技术方案,允许在同一并行存储系统内有两个或多个数据服务器存在,但当前正在服务的数据服务器只有一个,其他服务器不对外提供服务;不同数据服务器均有自己的存储空间来存储整个文件系统的数据信息,相互之间没有依赖关系,从而保证主服务器的数据损坏之后,其他服务器保存的数据仍旧正常;其他服务器的数据信息能够和主服务器间实现实时、无缝的同步,当新的数据写入时,能够保证在各个数据服务器的数据信息完成同步以后,写入操作才返回。此外,主服务器和其他服务器能够实现高可用的关系(例如,可以通过第三方控制平台或软件来实现),即当主服务器不能提供服务时, 能够由其他服务器自动接管主服务器的资源,为整个文件系统提供服务。
综上所述,借助于本发明的上述技术方案,通过在每个数据服务器上保存所有需要保存的数据并在服务器之间实现数据同步和主备切换,能够有效实现数据的多副本保存,同时实现多服务器彼此间的备份和替换,提高系统的稳定性和可靠性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种数据的多副本存储管理方法,其特征在于,包括多个服务器在各自的存储器中保存需要保存的全部数据,并且所述多个服务器之间实现数据存储的同步;在所述多个服务器中预先指定的主服务器无法继续提供数据处理服务的情况下,其他服务器中的一个服务器利用保存的数据代替所述主服务器提供数据处理服务,其中,主服务器之外的其他服务器被禁止提供数据处理服务。
2.根据权利要求1所述的多副本存储管理方法,其特征在于,在所述多个服务器中未确定主服务器、或者已经确定的主服务器无法继续提供数据处理服务的情况下,通过以下方式确定主服务器多个服务器彼此之间进行协商,根据各个服务器的当前状态确定作为主服务器的服务器;或者根据操作人员的指示,确定需要作为主服务器的服务器。
3.根据权利要求2所述的多副本存储管理方法,其特征在于,服务器的当前状态包括以下至少之一该服务器的存储器访问是否正常,该服务器的负载,该服务器的网络连接状态。
4.根据权利要求1所述的多副本存储管理方法,其特征在于,在指定的所述主服务器满足以下条件中的至少之一时,确定该主服务器无法继续提供数据处理服务该主服务器的网络连接出现异常、该主服务器的存储器访问出现异常、该主服务器的负载超过预定负载阈值。
5.根据权利要求1所述的多副本存储管理方法,其特征在于,其他服务器中的一个服务器利用保存的数据代替所述主服务器提供数据处理服务包括确定原主服务器之外的一个服务器作为新的主服务器,并将该服务器的存储器激活, 使激活的存储器能够提供数据处理服务;新的主服务器利用其存储器中存储的数据,响应于数据处理服务的指令提供数据处理服务。
6.一种数据的多副本存储管理系统,其特征在于,包括多个服务器,每个服务器包括存储器,用于保存需要保存的全部数据;同步模块,用于实现所在服务器与其他服务器之间的数据存储同步;服务提供模块,用于在所在的服务器被确定为主服务器的情况下,利用所在服务器的存储器中保存的数据提供数据处理服务,其中,在一时间所述多个服务器中仅存在一主服务器,且仅由该主服务器提供数据处理服务;其中,在所述多个服务器中预先指定的主服务器无法继续提供数据处理服务的情况下,其他服务器中的一个服务器代替当前的主服务器提供数据处理服务。
7.根据权利要求6所述的多副本存储管理系统,其特征在于,在所述多个服务器中指定的所述主服务器满足以下条件中的至少之一时,该主服务器触发重新选择主服务器该主服务器的网络连接出现异常、该主服务器的存储器访问出现异常、该主服务器的负载超过预定负载阈值。
8.根据权利要求6所述的多副本存储管理系统,其特征在于,所述多个服务器中的主服务器的存储器处于激活状态,在所述激活状态下,该主服务器能够利用其存储器中存储的数据提供数据处理服务器,其他服务器则被禁止提供数据处理服务。
9.根据权利要求6所述的多副本存储管理系统,其特征在于,每个服务器进一步包括信息交互模块,用于与其他服务器实现信息的交互,交互的信息包括服务器状态信息,在当前的主服务器无法继续提供数据处理服务的情况下,每个服务器根据各自与其他服务器的状态信息确定能够作为新的主服务器的服务器。
全文摘要
本发明公开了一种数据的多副本存储管理方法和系统,该方法包括多个服务器在各自的存储器中保存需要保存的全部数据,并且多个服务器之间实现数据存储的同步;在多个服务器中预先指定的主服务器无法继续提供数据处理服务的情况下,其他服务器中的一个服务器利用保存的数据代替主服务器提供数据处理服务,其中,主服务器之外的其他服务器被禁止提供数据处理服务。本发明通过在每个数据服务器上保存所有需要保存的数据并在服务器之间实现数据同步和主备切换,能够有效实现数据的多副本保存,同时实现多服务器彼此间的备份和替换,提高系统的稳定性和可靠性。
文档编号G06F11/14GK102541693SQ20111045986
公开日2012年7月4日 申请日期2011年12月31日 优先权日2011年12月31日
发明者何沧平, 何牧君, 占杰, 吴宏文, 曹征, 李斌, 陈伟, 顾小宝, 马少杰 申请人:曙光信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1