数据读取方法、装置和系统制造方法及图纸

技术编号:28320099 阅读:42 留言:0更新日期:2021-05-04 13:00
本文是关于一种数据读取方法、装置和系统。涉及计算机互联网领域,解决了频繁的数据恢复操作浪费资源的问题。该方法包括:接收同集群或其他集群中数据请求方发送的指向本恢复用服务器的第二数据读取请求,在所述第二数据读取请求中携带归属于本恢复用服务器进行恢复的目标数据的信息;根据所述目标数据的信息,获取恢复所述目标数据所需的至少一个数据组;根据所述数据组,恢复得到所述目标数据,缓存在本地;向所述数据请求方返回所述目标数据。本文提供的技术方案适用于分布式数据存储系统,实现了高效、可靠的数据读取。

【技术实现步骤摘要】
数据读取方法、装置和系统
本文涉及计算机互联网领域,尤其涉及一种数据读取方法、装置和系统。
技术介绍
在分布式存储系统中,由于数据损坏、磁盘损坏或机器宕机等原因,会造成数据不可读取。为了不影响数据的实时读取,可以通过纠删码(EC)技术,使用与不可读取的数据块关联的其他数据块,对不可读取的数据块进行恢复。在针对同一个文件出现高并发下载请求的情况下,有可能发生大量对不可读取数据块的恢复操作,导致浪费大量的CPU、带宽、磁盘等资源。
技术实现思路
为克服相关技术中存在的问题,本文提供一种数据读取方法、装置和系统。根据本文的一方面,提供了一种数据读取方法,包括:接收同集群或其他集群中数据请求方发送的指向本恢复用服务器的第二数据读取请求,在所述第二数据读取请求中携带归属于本恢复用服务器进行恢复的目标数据的信息;根据所述目标数据的信息,获取恢复所述目标数据所需的至少一个数据组;根据所述数据组,恢复得到所述目标数据,缓存在本地;向所述数据请求方返回所述目标数据。优选的,接收同集群或其他集群中数据请求方发送的指向本恢复用服务器的第二数据读取请求的步骤之前,还包括:所述恢复用服务器归属的恢复集群接收所述数据请求方发送的第一数据读取请求,在所述第一数据读取请求中携带预置为归属于本恢复集群恢复的目标数据的信息;根据预置的分配规则,选择执行恢复操作的恢复用服务器,根据所述第一数据读取请求生成所述第二数据读取请求,向所述恢复用服务器发送。优选的,所述目标数据的信息至少包括:恢复所述目标数据所需的所述数据组的存储位置,所述数据组包含至少一个与所述目标数据关联的关联数据文件和至少一个校验文件。优选的,所述接收同集群或其他集群中数据请求方发送的指向本恢复用服务器的第二数据读取请求的步骤之后,还包括:根据所述第二数据读取请求,查找本地缓存的数据;在本地缓存的数据中存在所述目标数据的情况下,向所述数据读取方发送所述目标数据。根据本文的另一方面,提供了一种数据读取方法,包括:在判定源站上待读取的目标数据无法读取的情况下,根据预置的恢复配置文件确定所述目标数据指向的恢复系统;向所述恢复系统发送请求,以自所述恢复系统获取正常的所述目标数据。优选的,所述恢复系统包括恢复用服务器或由至少一个恢复用服务器构成的恢复集群,所述根据预置的恢复配置文件确定所述目标数据指向的恢复系统的步骤包括:根据所述目标数据的哈希值,通过一致性哈希算法,确定所述哈希值指向的恢复用服务器和/或恢复集群。优选的,向所述恢复系统发送请求,自所述恢复系统获取正常的所述目标数据的步骤包括:向所述恢复集群发送第一数据读取请求,在所述第一数据读取请求中携带所述目标数据的信息;或,向所述恢复用服务器发送第二数据读取请求,在所述第二数据读取请求中携带所述目标数据的信息。根据本文的另一方面,提供了一种数据读取装置,包括:请求接收模块,用于接收同集群或其他集群中数据请求方发送的指向本恢复用服务器的第二数据读取请求,在所述第二数据读取请求中携带归属于本恢复用服务器进行恢复的目标数据的信息;恢复用数据获取模块,用于根据所述目标数据的信息,获取恢复所述目标数据所需的至少一个数据组;数据恢复模块,用于根据所述数据组,恢复得到所述目标数据,缓存在本地;数据反馈模块,用于向所述数据请求方返回所述目标数据。优选的,该装置还包括本地缓存查找模块;所述本地缓存查找模块,用于根据所述第二数据读取请求,查找本地缓存的数据;所述数据反馈模块,还用于在所述本地缓存查找模块确定本地缓存的数据中存在所述目标数据的情况下,向所述数据读取方发送所述目标数据。根据本文的另一方面,提供了一种数据读取装置,包括:恢复资源确定模块,用于在判定源站上待读取的目标数据无法读取的情况下,根据预置的恢复配置文件确定所述目标数据指向的恢复系统;数据获取模块,用于向所述恢复系统发送请求,以自所述恢复系统获取正常的所述目标数据。优选的,所述恢复系统包括恢复用服务器或由至少一个恢复用服务器构成的恢复集群,所述恢复资源确定模块包括:哈希计算单元,用于根据所述目标数据的哈希值,通过一致性哈希算法,确定所述哈希值指向的恢复用服务器和/或恢复集群。根据本文的另一方面,提供了一种数据读取系统,包括由多个恢复用服务器构成的恢复集群和至少一个服务器集群,各所述服务器集群均包括多个非恢复用服务器;所述非恢复用服务器,用于作为数据请求方,在判定源站上待读取的目标数据无法读取的情况下,根据预置的恢复配置文件确定所述目标数据指向的恢复用服务器,并向所述恢复用服务器发送第二数据读取请求,自所述恢复用服务器获取正常的所述目标数据;所述恢复用服务器,用于接收所述非恢复用服务器发送的指向本恢复用服务器的第二数据读取请求,在所述第二数据读取请求中携带归属于本恢复用服务器进行恢复的目标数据的信息,根据所述目标数据的信息,获取恢复所述目标数据所需的至少一个数据组,根据所述数据组,恢复得到所述目标数据,缓存在本地,向所述数据请求方返回所述目标数据。优选的,所述非恢复用服务器,还用于作为数据请求方,在判定源站上待读取的目标数据无法读取的情况下,根据预置的恢复配置文件确定所述目标数据指向的恢复集群,并向所述恢复集群发送第一数据读取请求,自所述恢复集群获取正常的所述目标数据;所述恢复集群,用于接收所述非恢复用服务器发送的第一数据读取请求,在所述第一数据读取请求中携带预置为归属于本恢复集群恢复的目标数据的信息,根据预置的分配规则,选择执行恢复操作的恢复用服务器,根据所述第一数据读取请求生成所述第二数据读取请求,向所述恢复用服务器发送。优选的,所述恢复用服务器,还用于作为数据请求方,在判定源站上待读取的目标数据无法读取的情况下,根据预置的恢复配置文件确定所述目标数据指向的其他恢复用服务器,并向所述其他恢复用服务器发送第二数据读取请求,以自所述其他恢复用服务器获取正常的所述目标数据。优选的,所述恢复集群还包括至少一个非恢复用服务器。根据本文的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现如上述数据读取方法的步骤。根据本文的另一方面,提供了一种计算机设备,包括处理器、存储器和存储于所述存储器上的计算机程序,所述处理器执行所述计算机程序时实现如上述数据读取方法的步骤。本文通过在无法读取目标数据的情况下,根据预置的恢复配置文件确定所述目标数据指向的恢复系统,并向所述恢复系统发送请求,自所述恢复系统获取正常的所述目标数据。在恢复用服务器一侧,恢复用服务器接收同集群或其他集群中数据请求方发送的指向本恢复用服务器的第二数据读取请求,在所述第二数据读取请求中携带归属于本恢复用服务器进行恢复的目标数据的信息,并根据所述目标数据的信息,获取恢复所述本文档来自技高网...

【技术保护点】
1.一种数据读取方法,其特征在于,包括:/n接收同集群或其他集群中数据请求方发送的指向本恢复用服务器的第二数据读取请求,在所述第二数据读取请求中携带归属于本恢复用服务器进行恢复的目标数据的信息;/n根据所述目标数据的信息,获取恢复所述目标数据所需的至少一个数据组;/n根据所述数据组,恢复得到所述目标数据,缓存在本地;/n向所述数据请求方返回所述目标数据。/n

【技术特征摘要】
1.一种数据读取方法,其特征在于,包括:
接收同集群或其他集群中数据请求方发送的指向本恢复用服务器的第二数据读取请求,在所述第二数据读取请求中携带归属于本恢复用服务器进行恢复的目标数据的信息;
根据所述目标数据的信息,获取恢复所述目标数据所需的至少一个数据组;
根据所述数据组,恢复得到所述目标数据,缓存在本地;
向所述数据请求方返回所述目标数据。


2.根据权利要求1所述的数据读取方法,其特征在于,接收同集群或其他集群中数据请求方发送的指向本恢复用服务器的第二数据读取请求的步骤之前,还包括:
所述恢复用服务器归属的恢复集群接收所述数据请求方发送的第一数据读取请求,在所述第一数据读取请求中携带预置为归属于本恢复集群恢复的目标数据的信息;
根据预置的分配规则,选择执行恢复操作的恢复用服务器,根据所述第一数据读取请求生成所述第二数据读取请求,向所述恢复用服务器发送。


3.根据权利要求1所述的数据读取方法,其特征在于,所述目标数据的信息至少包括:
恢复所述目标数据所需的所述数据组的存储位置,所述数据组包含至少一个与所述目标数据关联的关联数据文件和至少一个校验文件。


4.根据权利要求1所述的数据读取方法,其特征在于,所述接收同集群或其他集群中数据请求方发送的指向本恢复用服务器的第二数据读取请求的步骤之后,还包括:
根据所述第二数据读取请求,查找本地缓存的数据;
在本地缓存的数据中存在所述目标数据的情况下,向所述数据读取方发送所述目标数据。


5.一种数据读取方法,其特征在于,包括:
在判定源站上待读取的目标数据无法读取的情况下,根据预置的恢复配置文件确定所述目标数据指向的恢复系统;
向所述恢复系统发送请求,以自所述恢复系统获取正常的所述目标数据。


6.根据权利要求5所述的数据读取方法,其特征在于,所述恢复系统包括恢复用服务器或由至少一个恢复用服务器构成的恢复集群,所述根据预置的恢复配置文件确定所述目标数据指向的恢复系统的步骤包括:
根据所述目标数据的哈希值,通过一致性哈希算法,确定所述哈希值指向的恢复用服务器和/或恢复集群。


7.根据权利要求6所述的数据读取方法,其特征在于,向所述恢复系统发送请求,自所述恢复系统获取正常的所述目标数据的步骤包括:
向所述恢复集群发送第一数据读取请求,在所述第一数据读取请求中携带所述目标数据的信息;或,
向所述恢复用服务器发送第二数据读取请求,在所述第二数据读取请求中携带所述目标数据的信息。


8.一种数据读取装置,其特征在于,包括:
请求接收模块,用于接收同集群或其他集群中数据请求方发送的指向本恢复用服务器的第二数据读取请求,在所述第二数据读取请求中携带归属于本恢复用服务器进行恢复的目标数据的信息;
恢复用数据获取模块,用于根据所述目标数据的信息,获取恢复所述目标数据所需的至少一个数据组;
数据恢复模块,用于根据所述数据组,恢复得到所述目标数据,缓存在本地;
数据反馈模块,用于向所述数据请求方返回所述目标数据。


9.根据权利要求8所述的数据读取装置,其特征在于,该装置还包括本地缓存查找模块;
所述本地缓存查找模块,用于根据所述第二数据读取请求,查找本地缓存的数据;
所述数据反馈模块,还用于在所述本地缓存查找模块确定本地缓存的数据中存在所述目标数据的情况下,向所述数...

【专利技术属性】
技术研发人员:刘保海
申请(专利权)人:北京白山耘科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1