用于存储系统的数据存储方法和装置的制造方法

文档序号:9581837阅读:646来源:国知局
用于存储系统的数据存储方法和装置的制造方法
【技术领域】
[0001]本申请涉及电数据处理技术领域,具体涉及数据交换网络技术领域,尤其涉及用于存储系统的数据存储方法和装置。
【背景技术】
[0002]在分布式的高速缓冲存储器(cache)存储服务中,为了保证可靠性,一般都用主从架构。为了提高系统的读写能力,一般会采用多个从节点以及读写分离的方式。当主节点宕机时,可以将从节点切换为主节点。由于主节点指向发生变化,新的主节点需要拉取原主节点的全量数据。如果数据量较多,切换主节点时数据的拉取过程会消耗大量的时间,在新的主节点拉取数据的过程中,分布式的高速缓冲存储器无法提供读服务,从而影响了整个系统的读写能力。因此,需要提升切换主节点时新的主节点拉取数据的速度。

【发明内容】

[0003]本申请的目的在于提出一种改进的数据存储方法和装置,来解决以上【背景技术】部分提到的技术问题。
[0004]第一方面,本申请提供了一种用于存储系统的数据存储方法,所述存储系统包括一个主存储节点和至少一个从存储节点,所述方法包括:将主存储节点的第一数据同步至至少一个备选从存储节点;响应于所述主存储节点故障,将一个备选从存储节点切换为新的主存储节点;响应于客户端发出的服务请求,将当前从存储节点接收到的第二数据上报所述新的主存储节点;比对所述新的主存储节点的第一数据和所述第二数据,以确定待同步数据;将所述待同步数据写入所述新的主存储节点。
[0005]在一些实施例中,所述比对所述新的主存储节点的第一数据和所述第二数据,以确定待同步数据,包括:将所述第二数据中与所述第一数据不一致的部分作为所述待同步数据。
[0006]在一些实施例中,所述将主存储节点的第一数据同步至至少一个备选从存储节点,包括:判断所述备选从存储节点是否已存储所述第一数据;若否,将所述第一数据写入所述备选从存储节点。
[0007]在一些实施例中,所述方法还包括:为所述备选从存储节点设定切换优先级;以及所述将一个备选从存储节点切换为新的主存储节点,包括:按照所述切换优先级选择一个备选从存储节点切换为新的主存储节点。
[0008]在一些实施例中,所述第二数据包括所述当前从存储节点响应于所述客户端的服务请求生成的增量数据,以及所述当前从存储节点在生成所述增量数据之前已保存的数据。
[0009]在一些实施例中,所述方法还包括:获取所述新的主存储节点和所述当前从存储节点的操作日志;以及所述比对所述新的主存储节点的第一数据和所述第二数据,以确定待同步数据,包括:比对所述新的主存储节点的操作日志和所述当前从存储节点的操作日志,以确定增量操作日志;根据所述增量操作日志确定所述待同步数据。
[0010]在一些实施例中,所述获取所述新的主存储节点和所述当前从存储节点的操作日志,包括:获取所述新的主存储节点和所述从当前存储节点的操作日志中消息的位置标识信息;以及所述比对所述新的主存储节点的操作日志和所述当前从存储节点的操作日志,以确定增量操作日志,包括:比对所述新的主存储节点的操作日志中最后一条消息的第一位置标识信息与所述当前从存储节点的操作日志中最后一条消息的第二位置标识信息;根据所述第一位置标识信息和所述第二位置标识信息确定所述增量操作日志;其中,所述最后一条消息为与当前时间最接近的一条消息。
[0011 ] 在一些实施例中,所述最后一条消息存放在存储节点的预设数据缓冲区。
[0012]在一些实施例中,所述方法还包括:向所述客户端发出应答消息。
[0013]第二方面,本申请提供了一种用于存储系统的数据存储装置,所述存储系统包括一个主存储节点和至少一个从存储节点,所述装置包括:同步单元,配置用于将主存储节点的第一数据同步至至少一个备选从存储节点;切换单元,配置用于响应于所述主存储节点故障,将一个备选从存储节点切换为新的主存储节点;上报单元,配置用于响应于客户端发出的服务请求,将当前从存储节点接收到的第二数据上报所述新的主存储节点;比对单元,配置用于比对所述新的主存储节点的第一数据和所述第二数据,以确定待同步数据;写入单元,配置用于将所述待同步数据写入所述新的主存储节点。
[0014]在一些实施例中,所述比对单元进一步配置用于:将所述第二数据中与所述第一数据不一致的部分作为所述待同步数据。
[0015]在一些实施例中,所述同步单元进一步配置用于:判断所述备选从存储节点是否已存储所述第一数据;若否,将所述第一数据写入所述备选从存储节点。
[0016]在一些实施例中,所述装置还包括:设定单元,配置用于为所述备选从存储节点设定切换优先级;以及所述切换单元进一步配置用于:按照所述切换优先级选择一个备选从存储节点切换为新的主存储节点。
[0017]在一些实施例中,所述第二数据包括所述当前从存储节点响应于所述客户端的服务请求生成的增量数据,以及所述当前从存储节点在生成所述增量数据之前已保存的数据。
[0018]在一些实施例中,所述装置还包括:获取单元,配置用于获取所述新的主存储节点和所述当前从存储节点的操作日志;以及所述比对单元进一步包括:操作日志比对模块,配置用于比对所述新的主存储节点的操作日志和所述当前从存储节点的操作日志,以确定增量操作日志;待同步数据确定模块,配置用于根据所述增量操作日志确定所述待同步数据。
[0019]在一些实施例中,所述获取单元进一步配置用于:获取所述新的主存储节点和所述从当前存储节点的操作日志中消息的位置标识信息;以及所述操作日志比对模块进一步配置用于:比对所述新的主存储节点的操作日志中最后一条消息的第一位置标识信息与所述当前从存储节点的操作日志中最后一条消息的第二位置标识信息;根据所述第一位置标识信息和所述第二位置标识信息确定所述增量操作日志;其中,所述最后一条消息为与当前时间最接近的一条消息。
[0020]在一些实施例中,所述最后一条消息存放在存储节点的预设数据缓冲区。
[0021]在一些实施例中,所述装置还包括:应答单元,配置用于向所述客户端发出应答消息。
[0022]本申请提供的用于存储系统的数据存储方法和装置,通过将存储系统中主存储节点的第一数据同步至至少一个备选从存储节点,随后响应于主存储节点故障,将一个备选从存储节点切换为新的主存储节点,而后响应于客户端发出的服务请求,将当前从存储节点接收到的第二数据上报新的主存储节点,之后比对新的主存储节点的第一数据和第二数据,以确定待同步数据,最后将待同步数据写入新的主存储节点,从而减小了主存储节点切换时所需同步的数据量,提升了主节点切换时的数据拉取速度,缩短了存储系统无法提供读服务的时间,进而有效提升了存储系统的存储性能。
【附图说明】
[0023]通过阅读参照以下附图所作的对非限制性实施例详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0024]图1是本申请可以应用于其中的示例性系统架构图;
[0025]图2是根据本申请的用于存储系统的数据存储方法的一个实施例的流程图;
[0026]图3是图2所示的用于存储系统的数据存储方法的数据交互示意图;
[0027]图4是根据本申请的数据存储方法的又一个实施例的流程图;
[0028]图5是图4所示的用于存储系统的数据存储方法的数据交互示意图;
[0029]图6是根据本申请的数据存储装置的一个实施例的结构示意图;
[0030]图7是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
【具体实施方式】
[0031]下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
[0032]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0033]图1示出了可以应用本申请的数据存储方法或数据存储装置的实施例的示例性系统架构100。
[0034]如图1所示,系统架构100可以包括设备101、102、103,网络104和以及服务器105、106、107、108。网络 104 用以在设备 101、102、103 和服务器 105、106、107、108 之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0035]
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1