一种存储容错方法及数据存储系统与流程

文档序号:37547602发布日期:2024-04-08 13:53阅读:10来源:国知局
一种存储容错方法及数据存储系统与流程

本技术涉及计算机领域,尤其涉及一种存储容错方法及数据存储系统。


背景技术:

1、随着科技的发展,每天都有大量的数据需要被存储,有些数据非常重要,比如说轨道交通的监控数据,在一些场景下需要通过查询历史监控数据作为关键的证据点。对于这些监控数据一般采用磁盘的方式进行存储,但是由于磁盘的固有性质,比如使用期限,频繁读写等问题,导致磁盘发生故障;现有技术中,对于这些故障,一般采用备磁盘的方式,也即当主磁盘发生故障时,启用备磁盘进行工作,这种方式会增加存储资源的成本,尤其是轨道交通等场景,每天都会产生大量的数据,额外部署大量的磁盘保证监控数据的完整性,会大大增加存储资源的成本,且大量的磁盘也不利于管理。


技术实现思路

1、本技术提供一种存储容错方法及数据存储系统,能够提高存储容错能力,且节约了资源。

2、第一方面,本技术实施例提供一种存储容错方法,应用于数据存储系统,该数据存储系统包括中心服务器和至少两个站点数据存储系统,其中,每个站点数据存储系统包括存储服务器、数据服务器和存储池,该方法可以由存储容错装置执行,该存储容错装置可以是一个服务器或用于服务器的模块。本技术对该方法的执行主体不做限定。该方法包括:第一数据服务器接收第一存储服务器发送的申请存储空间请求,申请存储空间请求包括待处理数据的信息;第一数据服务器确定第一存储池不满足待处理数据所需的存储空间,根据第一存储池的存储空间确定第一数据分片与第一存储池的存储关系;其中,待处理数据被划分为存储于第一存储池中的第一数据分片和第二数据分片;第一数据服务器、第一存储服务器和第一存储池属于同一站点数据存储系统;第一数据服务器向中心服务器发送申请跨站点资源请求;申请跨站点资源请求包括第二数据分片的信息;第一数据服务器接收中心服务器发送的跨站点结果,跨站点结果包括第二数据分片与第二存储池的存储关系;第一存储池和第二存储池分别对应不同的站点数据存储系统;第一数据服务器将存储空间信息发送给第一存储服务器,由第一存储服务器根据存储空间信息对待处理数据进行存储,存储空间信息包括第一数据分片、第一数据分片与第一存储池的存储关系、第二数据分片和第二数据分片与第二存储池的存储关系。

3、上述方案,一方面,提供一种数据存储系统,不仅能够实现对各站点大量数据的存储,而且每个站点数据存储系统包含存储服务器、数据服务器和存储池,各种服务器分工合作,各司其职,提高了数据存储的效率,以及应对故障的处理能力,比如说存储服务器对一批数据进行读写时,数据服务器可以确定另一批数据的存储关系。另一方面,第一数据服务器确定第一存储池不满足待处理数据所需的存储空间,优先将第一数据分片存储至第一存储池,由于第一数据服务器、第一存储服务器和第一存储池属于同一站点数据存储系统,同一站点数据存储系统间数据读写速率较快,提高了数据存储的速率,且便于对第一数据分片的管理;再一方面,当第一存储池不满足待处理数据所需的存储空间时,从其他站点数据存储系统中选择存储池对第二数据分片进行处理,不需要额外增加存储资源,节约了存储资源;且通过其他站点数据存储系统能够解决第一站点数据存储系统的存储空间不足的问题,提高了数据存储的容错能力。

4、一种可能的实现方法中,第一数据服务器将存储空间信息,写入待恢复文件。

5、上述方案,将存储空间信息,写入待恢复文件,以便后续根据待恢复文件进行处理,提高了数据存储的容错能力。

6、一种可能的实现方法中,当第一存储池满足待处理数据所需的存储空间后,第一数据服务器从待恢复文件获取存储空间信息;第一数据服务器根据存储空间信息,向第一存储服务器发送恢复存储请求,由第一存储服务器将第二数据分片存储至第一存储池中;其中,恢复存储请求包括第二数据分片与第二存储池的存储关系。

7、上述方案,将第二数据分片重新写入第一存储池,能够解决历史数据的检索查询存在异常的问题,保证了数据的完整性。

8、第二方面,本技术实施例提供一种存储容错方法,应用于数据存储系统,该数据存储系统包括中心服务器和至少两个站点数据存储系统,其中,每个站点数据存储系统包括存储服务器、数据服务器和存储池,该方法可以由存储容错装置执行,该存储容错装置可以是一个服务器或用于服务器的模块。本技术对该方法的执行主体不做限定。该方法包括:中心服务器获取第一数据服务器发送的申请跨站点资源请求;申请跨站点资源请求包括待处理数据的第二数据分片的信息;申请跨站点资源请求是第一数据服务器确定第一存储池不满足待处理数据所需的存储空间后触发的;待处理数据被划分为存储于第一存储池中的第一数据分片和第二数据分片;第一数据服务器和第一存储池属于同一站点数据存储系统;中心服务器根据第二数据分片的信息,确定第二数据分片与第二存储池的存储关系;第一存储池和第二存储池分别对应不同的站点数据存储系统;中心服务器将第二数据分片与第二存储池的存储关系作为跨站点结果,发送给第一数据服务器。

9、上述方案,一方面,提供一种数据存储系统,不仅能够实现对各站点大量数据的存储,而且每个站点数据存储系统包含存储服务器、数据服务器和存储池,各种服务器分工合作,各司其职,提高了数据存储的效率,以及应对故障的处理能力,比如说存储服务器对一批数据进行读写时,数据服务器可以确定另一批数据的存储关系。另一方面,当第一存储池不满足待处理数据所需的存储空间时,从其他站点数据存储系统中选择存储池对第二数据分片进行处理,不需要额外增加存储资源,节约了存储资源;且通过其他站点数据存储系统能够解决第一站点数据存储系统的存储空间不足的问题,提高了数据存储的容错能力。

10、一种可能的实现方法中,中心服务器根据第二数据分片的信息和优先级算法,确定第二数据分片与第二存储池的存储关系,其中,优先级算法指的是选择承载优先值最大的存储池作为第二存储池;承载优先值根据以下一种或多种信息确定:各站点数据存储系统的存储池与第一存储池的距离信息、各站点数据存储系统的存储池的负载信息、各站点数据存储系统的存储池的冗余信息或各站点数据存储系统的存储池的分片信息。

11、上述方案,选择承载优先值最大的存储池作为第二存储池,一方面能够使得第二数据分片快速存储至第二存储池,提高存储成功率;另一方面,能够使得整个数据存储系统负载均衡。如果随机选择一个存储池作为第二存储池,可能由于该第二存储池故障或存储空间不足,导致存储失败;或者,存储成功但是最终导致第二存储池负载过重,影响自身站点的存储性能。

12、一种可能的实现方法中,中心服务器周期性接收各站点数据存储系统的数据服务器发送的各站点数据存储系统的存储池的信息,各站点数据存储系统的存储池的信息包括存储池的距离信息、硬件信息、负载信息、存储节点信息或分片信息中的一种或多种;中心服务器将汇总后的各站点数据存储系统的存储池的信息,分别发送给各站点数据存储系统的数据服务器。

13、上述方案,使得各站点数据存储系统的数据服务器均拥有完整的集群存储池、存储分片、存储节点以及硬盘信息,以及便于中心服务器根据各站点数据存储系统的存储池的信息,准确快速确定承载优先值最大的存储池作为第二存储池。

14、第三方面,本技术实施例提供一种存储容错方法,应用于数据存储系统,该数据存储系统包括中心服务器和至少两个站点数据存储系统,其中,每个站点数据存储系统包括存储服务器、数据服务器和存储池,该方法可以由存储容错装置执行,该存储容错装置可以是一个服务器或用于服务器的模块。本技术对该方法的执行主体不做限定。该方法包括:第一存储服务器向第一数据服务器发送申请存储空间请求,申请存储空间请求包括待处理数据的信息;第一存储服务器接收第一数据服务器发送的存储空间信息,存储空间信息包括第一数据分片、第一数据分片与第一存储池的存储关系、第二数据分片和第二数据分片与第二存储池的存储关系;其中,待处理数据被划分为存储于第一存储池中的第一数据分片和第二数据分片;第二数据分片与第二存储池的存储关系是中心服务器基于第一数据服务器发送的申请跨站点资源请求确定的;申请跨站点资源请求是第一数据服务器确定第一存储池不满足待处理数据所需的存储空间后触发的;第一数据服务器、第一存储服务器和第一存储池属于同一站点数据存储系统;第一存储池和第二存储池分别对应不同的站点数据存储系统;第一存储服务器将第一数据分片存储至第一存储池,将第二数据分片存储至第二存储池。

15、上述方案,一方面,提供一种数据存储系统,不仅能够实现对各站点大量数据的存储,而且每个站点数据存储系统包含存储服务器、数据服务器和存储池,各种服务器分工合作,各司其职,提高了数据存储的效率,以及应对故障的处理能力,比如说存储服务器对一批数据进行读写时,数据服务器可以确定另一批数据的存储关系。另一方面,第一数据服务器确定第一存储池不满足待处理数据所需的存储空间,优先将第一数据分片存储至第一存储池,由于第一数据服务器、第一存储服务器和第一存储池属于同一站点数据存储系统,同一站点数据存储系统间数据读写速率较快,提高了数据存储的速率,且便于对第一数据分片的管理;再一方面,当第一存储池不满足待处理数据所需的存储空间时,从其他站点数据存储系统中选择存储池对第二数据分片进行处理,不需要额外增加存储资源,节约了存储资源;且通过其他站点数据存储系统能够解决第一站点数据存储系统的存储空间不足的问题,提高了数据存储的容错能力。

16、一种可能的实现方法中,第一存储服务器通过第一站点数据存储系统的内部网络,将第一数据分片存储至第一存储池;第一存储服务器通过窄带网,将第二数据分片存储至第二存储池。

17、上述方案,第一存储服务器通过第一站点数据存储系统的内部网络,将第一数据分片存储至第一存储池,能够实现将第一数据分片快速安全地写入第一存储池;第一存储服务器通过窄带网,将第二数据分片存储至第二存储池,不需要额外部署网络设备,节约了资源。

18、一种可能的实现方法中,当第一存储池满足待处理数据所需的存储空间后,第一存储服务器接收第一数据服务器发送的恢复存储请求,恢复存储请求包括第二数据分片与第二存储池的存储关系;第一存储服务器通过窄带网,从第二存储池读取第二数据分片,并将第二数据分片存储至第一存储池。

19、上述方案,将第二数据分片重新写入第一存储池,能够解决历史数据的检索查询存在异常的问题,保证了数据的完整性。

20、一种可能的实现方法中,第一存储服务器向第一数据服务器发送查询请求,查询请求包括待查询数据的标识;第一存储服务器接收第一数据服务器发送的查询结果,查询结果包括至少一个存储池的信息和至少一个存储池对应的数据分片标识;其中,各个数据分片组成待查询数据;第一存储服务器根据至少一个存储池的信息和至少一个存储池对应的数据分片标识,分别从至少一个存储池中读取对应的数据分片。

21、上述方案,无论待查询数据位于同一站点的存储池,还是不同站点的存储池,均可以实现准确有效的实时查询。

22、第四方面,本技术实施例提供一种存储容错装置,包括:收发单元和处理单元。收发单元,用于接收第一存储服务器发送的申请存储空间请求,申请存储空间请求包括待处理数据的信息;向中心服务器发送申请跨站点资源请求;申请跨站点资源请求包括第二数据分片的信息;接收中心服务器发送的跨站点结果,跨站点结果包括第二数据分片与第二存储池的存储关系;第一存储池和第二存储池分别对应不同的站点数据存储系统;将存储空间信息发送给第一存储服务器,由第一存储服务器根据存储空间信息对待处理数据进行存储,存储空间信息包括第一数据分片、第一数据分片与第一存储池的存储关系、第二数据分片和第二数据分片与第二存储池的存储关系。

23、处理单元,用于确定第一存储池不满足待处理数据所需的存储空间,根据第一存储池的存储空间确定第一数据分片与第一存储池的存储关系;其中,待处理数据被划分为存储于第一存储池中的第一数据分片和第二数据分片;第一数据服务器、第一存储服务器和第一存储池属于同一站点数据存储系统。

24、一种可能的实现方法中,处理单元,还用于将存储空间信息,写入待恢复文件。

25、一种可能的实现方法中,当第一存储池满足待处理数据所需的存储空间后,处理单元,还用于从待恢复文件获取存储空间信息;

26、收发单元,还用于向第一存储服务器发送恢复存储请求,由第一存储服务器将第二数据分片存储至第一存储池中;其中,恢复存储请求包括第二数据分片与第二存储池的存储关系。

27、第五方面,本技术实施例提供一种存储容错装置,包括:收发单元和处理单元。收发单元,用于接收第一数据服务器发送的申请跨站点资源请求;申请跨站点资源请求包括待处理数据的第二数据分片的信息;申请跨站点资源请求是第一数据服务器确定第一存储池不满足待处理数据所需的存储空间后触发的;待处理数据被划分为存储于第一存储池中的第一数据分片和第二数据分片;第一数据服务器和第一存储池属于同一站点数据存储系统;将第二数据分片与第二存储池的存储关系作为跨站点结果,发送给第一数据服务器。

28、处理单元,用于根据第二数据分片的信息,确定第二数据分片与第二存储池的存储关系;第一存储池和第二存储池分别对应不同的站点数据存储系统。

29、一种可能的实现方法中,处理单元,具体用于根据第二数据分片的信息和优先级算法,确定第二数据分片与第二存储池的存储关系,其中,优先级算法指的是选择承载优先值最大的存储池作为第二存储池;承载优先值根据以下一种或多种信息确定:各站点数据存储系统的存储池与第一存储池的距离信息、各站点数据存储系统的存储池的负载信息、各站点数据存储系统的存储池的冗余信息或各站点数据存储系统的存储池的分片信息。

30、一种可能的实现方法中,收发单元,还用于周期性接收各站点数据存储系统的数据服务器发送的各站点数据存储系统的存储池的信息,各站点数据存储系统的存储池的信息包括存储池的距离信息、硬件信息、负载信息、存储节点信息或分片信息中的一种或多种;将汇总后的各站点数据存储系统的存储池的信息,分别发送给各站点数据存储系统的数据服务器。

31、第六方面,本技术实施例提供一种存储容错装置,包括:收发单元和处理单元。收发单元,用于向第一数据服务器发送申请存储空间请求,申请存储空间请求包括待处理数据的信息;接收第一数据服务器发送的存储空间信息,存储空间信息包括第一数据分片、第一数据分片与第一存储池的存储关系、第二数据分片和第二数据分片与第二存储池的存储关系;其中,待处理数据被划分为存储于第一存储池中的第一数据分片和第二数据分片;第二数据分片与第二存储池的存储关系是中心服务器基于第一数据服务器发送的申请跨站点资源请求确定的;申请跨站点资源请求是第一数据服务器确定第一存储池不满足待处理数据所需的存储空间后触发的;第一数据服务器、第一存储服务器和第一存储池属于同一站点数据存储系统;第一存储池和第二存储池分别对应不同的站点数据存储系统。

32、处理单元,用于将第一数据分片存储至第一存储池,将第二数据分片存储至第二存储池。

33、一种可能的实现方法中,处理单元,具体用于通过第一站点数据存储系统的内部网络,将第一数据分片存储至第一存储池;通过窄带网,将第二数据分片存储至第二存储池。

34、一种可能的实现方法中,当第一存储池满足待处理数据所需的存储空间后,收发单元,还用于接收第一数据服务器发送的恢复存储请求,恢复存储请求包括第二数据分片与第二存储池的存储关系;

35、处理单元,还用于通过窄带网,从第二存储池读取第二数据分片,并将第二数据分片存储至第一存储池。

36、一种可能的实现方法中,收发单元,还用于向第一数据服务器发送查询请求,查询请求包括待查询数据的标识;接收第一数据服务器发送的查询结果,查询结果包括至少一个存储池的信息和至少一个存储池对应的数据分片标识;其中,各个数据分片组成待查询数据;

37、处理单元,还用于根据至少一个存储池的信息和至少一个存储池对应的数据分片标识,分别从至少一个存储池中读取对应的数据分片。

38、第七方面,本技术实施例还提供一种数据存储系统,包括中心服务器和至少两个站点数据存储系统,其中每个站点数据存储系统包括存储服务器、数据服务器和存储池;数据服务器,用于根据待处理数据确定对应的存储池,并控制存储服务器对待处理数据进行读写;中心服务器,用于接收各站点数据存储系统的存储池的信息,以及根据各站点数据存储系统的存储池的信息,确定承载优先值最大的存储池;存储服务器,用于根据数据服务器的指令对待处理数据进行读写;存储池,用于存储待处理数据。

39、第八方面,本技术实施例还提供一种计算设备,包括:

40、存储器,用于存储程序指令;

41、处理器,用于调用存储器中存储的程序指令,按照获得的程序指令执行实现上述第一方面的任意方法、实现上述第二方面的任意方法或实现上述第三方面的任意方法。

42、第九方面,本技术实施例还提供一种计算机可读存储介质,其中存储有计算机可读指令,当计算机读取并执行计算机可读指令时,实现上述第一方面的任意方法、实现上述第二方面的任意方法或实现上述第三方面的任意方法。

43、第十方面,本技术实施例提供了一种计算机程序产品,包括有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行实现上述第一方面的任意方法、实现上述第二方面的任意方法或实现上述第三方面的任意方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1