CN111404980A - 一种数据存储方法及一种对象存储系统 - Google Patents

一种数据存储方法及一种对象存储系统 Download PDF

Info

Publication number
CN111404980A
CN111404980A CN201910935831.0A CN201910935831A CN111404980A CN 111404980 A CN111404980 A CN 111404980A CN 201910935831 A CN201910935831 A CN 201910935831A CN 111404980 A CN111404980 A CN 111404980A
Authority
CN
China
Prior art keywords
storage
node
storage node
interactive interface
state information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910935831.0A
Other languages
English (en)
Other versions
CN111404980B (zh
Inventor
黄华东
夏伟强
王伟
林起芊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision System Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision System Technology Co Ltd filed Critical Hangzhou Hikvision System Technology Co Ltd
Priority to CN201910935831.0A priority Critical patent/CN111404980B/zh
Publication of CN111404980A publication Critical patent/CN111404980A/zh
Application granted granted Critical
Publication of CN111404980B publication Critical patent/CN111404980B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种数据存储方法,应用于对象存储系统,包括存储节点和用于管理存储节点的管理节点,该方法包括:存储节点获取待存储数据,向管理节点发送存储资源获取请求;管理节点接收存储节点发送的存储资源获取请求,并根据预先存储的接口状态信息,判断存储节点的交互接口状态是否异常;如果存储节点的交互接口状态异常,管理节点向存储节点发送存储资源获取请求对应的第一反馈结果;存储节点接收第一反馈结果,并将待存储数据存储在本地。与现有技术相比,应用本发明实施例提供的方案,可以实现在存储节点的交互接口异常时,能够对数据进行正常存储,避免数据丢失。

Description

一种数据存储方法及一种对象存储系统
技术领域
本发明涉及云存储技术领域,特别是涉及一种数据存储方法及一种对象存储系统。
背景技术
当前,随着云技术的不断发展,基于用户的数据存储需求,各类云存储系统应用而生,被广泛应用。
对象存储系统是一种能够为用户提供海量、安全、高可靠和易扩展的数据存储服务的云存储系统。其中,对象存储系统中包括至少一个管理节点和至少一个存储节点,且每个管理节点负责管理至少一个存储节点。
相关技术中,为了保证对象存储系统所包括的各个存储节点的负载均衡,应用于对象存储系统的数据存储方法包括:
存储节点在获取到待存储数据后,首先请求负责管理自身的管理节点分配用于存储该待存储数据的其他存储节点;进而,该存储节点将该待存储数据切分为多个待存储数据段,并通过自身的交互接口向管理节点所分配的每个其他存储节点发送互不相同的待存储数据段,以使得每个其他存储节点可以通过自身的交互接口获取该待存储数据段,并存储该待存储数据段。其中,存储节点的交互接口为存储节点用于与其他存储节点进行数据交互的接口。
然而,在上述相关技术中,由于管理节点与存储节点之间的通信不受存储节点的交互接口的影响,因此,当一存储节点的交互接口状态异常时,管理节点仍然会为该存储节点分配其他存储节点用于存储该存储节点所获取到的待存储数据。但是,在这种情况下,该存储节点是无法通过交互接口向其他存储节点发送待存储数据段的。这样,便会出现由于交互接口出现故障导致的待存储数据无法正常存储,进而,造成数据丢失的问题。
发明内容
本发明实施例的目的在于提供一种数据存储方法及一种对象存储系统,以实现在存储节点的交互接口异常时,能够对数据进行正常存储,避免数据丢失。
具体技术方案如下:
第一方面,本发明实施例提供了一种数据存储方法,应用于对象存储系统,所述对象存储系统包括存储节点和用于管理所述存储节点的管理节点,所述方法包括:
所述存储节点获取待存储数据,向所述管理节点发送存储资源获取请求;
所述管理节点接收所述存储节点发送的所述存储资源获取请求;
所述管理节点根据预先存储的接口状态信息,判断所述存储节点的交互接口状态是否异常;其中,所述接口状态信息是所述管理节点所管理的各个存储节点在确定自身交互接口的状态信息后上报的;
如果所述存储节点的交互接口状态异常,所述管理节点向所述存储节点发送所述存储资源获取请求对应的第一反馈结果;其中,所述第一反馈结果所指示的存储资源为所述存储节点;
所述存储节点接收所述第一反馈结果,并将所述待存储数据存储在本地。
可选的,一种具体实现方式中,所述方法还包括:
如果所述存储节点的交互接口状态正常,所述管理节点向所述存储节点发送所述存储资源获取请求对应的第二反馈结果;其中,所述第二反馈结果所指示的存储资源包括至少一个所述管理节点管理的存储节点的存储资源;
所述存储节点接收所述第二反馈结果后,并将所获取的待存储数据存储在所述第二反馈结果所指示的存储节点中。
可选的,一种具体实现方式中,所述管理节点向所述存储节点发送所述存储资源获取请求对应的第二反馈结果的方式,包括:
根据所述接口状态信息,确定各个其他存储节点中,交互接口的状态正常的存储节点,作为备选存储节点;
生成所述存储资源获取请求对应的,且所指示的存储资源为至少包括至少一个备选存储节点的存储资源的第二反馈结果;
将所生成的第二反馈结果发送给所述存储节点。
可选的,一种具体实现方式中,所述存储资源获取请求携带有所述存储节点的目标节点标识;所述接口状态信息中记录有包括一存储节点的节点标识和该存储节点的交互接口的状态信息的多个条目;
所述管理节点根据预先存储的接口状态信息,判断所述存储节点的交互接口状态是否异常的方式,包括:
在预先存储的接口状态信息中,查找包括所述目标节点标识的目标条目;
判断所述目标条目中所包括的交互接口的状态信息是否为异常;
如果是,判定所述存储节点的交互接口状态异常;
否则,判定所述存储节点的交互接口状态正常。
可选的,一种具体实现方式中,所述存储节点确定自身交互接口的状态信息的方式,包括:
按照预设周期,确定所述管理节点所管理的各个存储节点的注册信息;
基于所确定的注册信息,向所述管理节点所管理的每一其他存储节点发送网络请求;其中,所述网络请求为用于所述存储节点与所述每一其他存储节点进行心跳连接的请求;
当接收到至少一个其他存储节点反馈的连接应答消息时,确定自身的交互接口的状态信息正常;
否则,确定自身的交互接口的状态信息异常。
可选的,一种具体实现方式中,所述存储节点确定所述管理节点所管理的各个存储节点的注册信息的方式,包括:
所述存储节点从所述存储节点的本地获取所述管理节点所管理的各个存储节点的注册信息;
或者,
所述存储节点从所述管理节点处获取所述管理节点所管理的每个存储节点的注册信息。
第二方面,本发明实施例提供了一种对象存储系统,所述系统包括:至少一个管理节点和至少一个存储节点,其中,一个管理节点管理至少一个存储节点;
每个管理节点,用于:接收所管理的任一存储节点发送的存储资源获取请求;根据预先存储的接口状态信息,判断该存储节点的交互接口状态是否异常,如果是,向该存储节点发送所述存储资源获取请求对应的第一反馈结果;
每个存储节点,用于:获取待存储数据,向管理该存储节点的管理节点发送存储资源获取请求;接收管理该存储节点的管理节点反馈的所述第一反馈结果;当接收到所述第一反馈结果时,将所述待存储数据存储在本地;
其中,所述第一反馈结果所指示的存储资源为该存储节点;所述接口状态信息是该管理节点所管理的各个存储节点在确定自身交互接口的状态信息后上报的。
以上可见,应用本发明实施例提供的方案,对象存储系统中的每个存储节点在确定自身交互接口的状态信息后,可以将所确定的状态信息上报给对象存储系统中管理该存储节点的管理节点。这样,对象存储系统中的每个管理节点便可以存储有所管理的各个存储节点的交互接口的状态信息。基于此,当一存储节点获取到待存储数据后,该存储节点便可以向管理该存储节点的管理节点发送存储资源获取请求;进而,该管理节点获取到该存储资源获取请求后,便可以根据预先存储的所管理的各个存储节点的交互接口的状态信息,判断该存储节点的交互接口的状态信息是否异常。如果是,该管理节点便可以向该存储节点发送第一反馈结果,该第一反馈结果所指示的存储资源为该存储节点,从而,该存储节点在接收到该第一反馈结果时,便可以将待存储数据存储在本地。
可见,应用本发明实施例提供的方案,当存储节点的交互接口异常时,管理该存储节点的管理节点为该存储节点获取到的待存储数据指示的存储资源即为该存储节点,进而,该存储节点便可以将待存储数据保存在本地,而不需要将待存储数据发送给其他存储节点,从而实现对待存储数据的正常存储,避免出现由于交互接口异常而导致的数据丢失的问题发生。
此外,应用本发明实施例提供的方案,由于当存储节点的交互接口异常时,只需要将该存储节点所获取的待存储数据的存储资源指定为该存储接口自身即可保证待存储数据的正常存储,避免数据丢失,因此,可以不对对象存储系统中的网络程序和存储节点的本地数据读写程序进行维护,从而,可以减少维护成本。并且可以提高数据存储效率以及存储节点的兼容性和可扩展性。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据存储方法的信令交互图;
图2为本发明实施例提供的另一种数据存储方法的信令交互图;
图3为本发明实施例提供的管理节点标存储节点发送存储资源获取请求对应的第二反馈结果的一种具体实现方式的流程示意图;
图4为本发明实施例提供的管理节点根据预先存储的接口状态信息,判断存储节点的交互接口状态是否异常的一种具体实现方式的流程示意图;
图5为本发明实施例提供的存储节点确定自身交互接口的状态信息的一种具体实现方式的流程示意图;
图6为本发明实施例提供的一种对象存储系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在相关技术中,由于对象存储系统中的管理节点与存储节点之间的通信不受存储节点的交互接口的影响,因此,当一存储节点的交互接口状态异常时,管理节点仍然会为该存储节点分配其他存储节点用于存储该存储节点所获取到的待存储数据。但是,在这种情况下,该存储节点是无法通过交互接口向其他存储节点发送待存储数据段的。这样,便会出现由于交互接口出现故障导致的待存储数据无法正常存储,进而,造成数据丢失的问题。
为了解决上述技术问题,本发明实施例提供了一种数据存储方法和一种对象存储系统。
下面,首先对本发明实施例提供的一种数据存储方法进行介绍。
图1为本发明实施例提供的一种数据存储方法的信令交互图。其中,该数据存储方法应用于对象存储系统,且该对象存储系统中包括存储节点和用于管理该存储节点的管理节点。
其中,对象存储系统(Object-Based Storage System)是一种综合了NAS(NetworkAttached Storage:网络附属存储)和SAN(Storage Area Network and SAN Protocols,存储区域网络及其协议)的优点的存储体系结构。
具体的,对象存储系统同时具有SAN高速直接访问和NAS数据共享等优势,可以在一个持久稳固且高度可用的系统中存储任意对象,并提供高可靠性、跨平台性以及安全的数据共享服务。其可以通过与平台无关的RESTFUL协议为用户提供服务,并支持通过web(World Wide Web,万维网)对大量对象数据进行存储和管理。并且用户可以在对象存储中使用简单的API(Application Programming Interface,应用程序编程接口)访问数据。
此外,相比文件存储系统,对象存储系统可以利用更少的元数据来存储和访问文件,并且减少因存储元数据而产生的管理文件元数据的开销。
可以理解的,对象存储系统中可以包括至少一个管理节点和至少一个存储节点,其每个管理节点可以管理至少一个存储节点。
其中,每个存储节点会向管理自身的管理节点发送注册信息,完成登陆注册。这样,每个管理节点便可以存储并维护自身所管理的每个存储节点的注册信息。其中,该注册信息中可以包括该存储节点的节点标识、IP(Internet Protocol Address,互联网协议地址)、存储空间等信息。
并且,当一存储节点的注册信息发生变化时,该存储节点会向管理自身的管理节点发送变化后的注册信息,以使得该管理节点可以更新自身所存储的该存储节点的注册信息。
进一步的,当一存储节点获取到待存储数据时,该存储节点会向管理自身的管理节点发送存储资源获取请求,以使得该管理节点为该存储节点所获取到的待存储数据分配存储资源。其中,该存储资源为该管理节点反馈的反馈结果所指示的存储节点。
其中,管理节点可以为任一能够对至少一个存储节点进行管理的电子设备,例如,笔记本电脑、台式电脑、平板电脑等,对此,本发明实施例不做具体限定,以下简称管理节点;存储节点为任一能够与其他存储节点进行数据交互,且能够进行数据存储的电子设备,例如,笔记本电脑、台式电脑、平板电脑等,对此,本发明实施例不做具体限定,以下简称存储节点。
另外,在本发明实施例提供的方案中,在确定对象存储系统中的管理节点和存储节点时,是根据节点在执行本发明实施例提供的方案时,所实现的功能进行划分的。也就是说,管理节点可以为对象存储系统中任一可以实现对存储节点进行管理,且与其他电子设备进行指令、数据等信息交互的节点,存储节点可以为对象存储系统中任一可以实现数据存储的节点。
基于此,在无管理节点化的对象存储系统中,在该对象存储系统的多个节点中,可以指定其中任一节点为管理节点,用于实现对存储节点进行管理,且与其他电子设备进行指令、数据等信息交互,并指定其他节点为存储节点,用于存储待存储数据。
如图1所示,上述数据存储方法可以包括如下步骤:
S101:存储节点获取待存储数据;
S102:存储节点向管理节点发送存储资源获取请求;
当存储节点获取到待存储数据时,该存储节点便可以向目标管理节点发送存储资源获取请求。
其中,该存储节点可以通过多种方式获取待存储数据,例如,通过用于与对象存储系统的外部电子设备进行交互的数据接口从对象存储系统的外部获取待存储数据等,对此,本发明实施例不做具体限定。
另外,上述存储资源获取请求可以携带该存储节点的节点标识、IP、待存储数据的数据量等与存储节点和待存储数据相关的数据,对比,本发明实施例不对存储资源获取请求所携带的具体信息进行限定。
S103:管理节点接收存储节点发送的存储资源获取请求;
其中,对于对象存储系统中的一管理节点而言,当该管理节点所管理的任一存储节点获取到待存储数据时,该获取到待存储数据的存储节点便可以向该管理节点发送存储资源获取请求。
这样,该管理节点便可以接收该存储节点发送的存储资源获取请求,进而,为该存储节点所获取到的待存储数据分配存储资源,即向该存储节点发送该存储资源获取请求对应的反馈结果。
S104:管理节点根据预先存储的接口状态信息,判断存储节点的交互接口状态是否异常;如果是,执行S105;
其中,接口状态信息是管理节点所管理的各个存储节点在确定自身交互接口的状态信息后上报的;
在接收到存储节点发送的存储资源获取请求后,管理节点可以首先根据预先存储的接口状态信息,判断该存储节点的交互接口状态是否异常。
由于存储节点的交互接口状态决定了存储节点是否可以通过交互接口与其他存储节点进行数据交互,且当存储节点的交互接口异常时,存储节点将无法通过交互接口与其他存储节点进行数据交互,因此,在上述步骤S102中,管理节点判断存储节点的交互接口状态是否异常的目的即为确定存储节点是否能够通过交互接口将待存储数据发送至其他存储节点,以使得其他存储节点能够接收并存储待存储数据。
进而,当判断得到目标存储节点的交互接口状态异常时,说明存储节点不能通过交互接口将待存储数据发送至其他存储节点,管理节点可以继续执行后续步骤S105。
S105:管理节点向存储节点发送存储资源获取请求对应的第一反馈结果,
其中,第一反馈结果所指示的存储资源为目标存储节点;
S106:存储节点接收第一反馈结果,并将所获取的待存储数据存储在本地。
在上述步骤S104中,当管理节点判断得到存储节点的交互接口状态异常时,则说明目标存储节点不能通过交互接口将待存储数据发送至其他存储节点。因此,为了保证能够对待存储数据进行正常存储,避免待存储数据丢失,管理节点便可以生成上述存储资源获取请求对应的第一反馈结果,并向目标存储节点发送该第一反馈结果。
其中,该第一反馈结果所指示的存储资源为目标存储节点。基于此,目标存储节点在接收到该第一反馈结果后,便可以将待存储数据存储在本地。
这样,由于目标存储节点将待存储数据存储在本地,则在待存储数据的存储过程中,目标存储节点不需要通过交互接口与其他存储节点进行数据交互,即目标存储节点不需要通过交互接口将待存储数据发送给其他存储节点,因此,不但可以对待存储数据进行正常存储,还可以避免待存储数据的丢失。
具体的,目标存储节点中的SS(Srtipe Server,切片服务)获取待存储数据,并向管理节点发送存储资源获取请求,进而,目标存储节点中的SS在接收到第一反馈结果后,将待存储数据发送给自身的OSD(Object Storage Device,对象存储服务),以使得自身的OSD对待存储数据进行存储。
可见,应用本发明实施例提供的方案,当存储节点的交互接口异常时,管理该存储节点的管理节点为该存储节点获取到的待存储数据指示的存储资源即为该存储节点,进而,该存储节点便可以将待存储数据保存在本地,而不需要将待存储数据发送给其他存储节点,从而实现对待存储数据的正常存储,避免出现由于交互接口异常而导致的数据丢失的问题发生。
相对于上述步骤S104中,管理节点判断得到存储节点的交互接口状态异常的情况,还存在管理节点判断得到存储节点的交互接口状态正常的情况。
基于此,可选的,一种具体实现方式中,如图2所示,本发明实施例提供的一种数据存储方法,还可以包括如下步骤:
S107:当管理节点判断存储节点的交互接口状态正常时,向目标存储节点发送存储资源获取请求对应的第二反馈结果;
其中,第二反馈结果所指示的存储资源包括至少一个管理节点所管理的存储节点的存储资源;
S108:存储节点接收第二反馈结果,并将所获取的待存储数据存储在第二反馈结果所指示的存储节点中。
在上述步骤S104中,当管理节点判断得到存储节点的交互接口状态正常时,则说明存储节点能够通过交互接口将待存储数据发送至其他存储节点。因此,为了保证对象存储系统中各个存储节点的负载均衡,管理节点便可以生成上述存储资源获取请求对应的第二反馈结果,并向存储节点发送该第二反馈结果。
其中,第二反馈结果所指示的存储资源为包括至少一个管理节点管理的存储节点的存储资源。基于此,存储节点在接收到该第二反馈结果后,便可以将待存储数据存储在该第二反馈结果所指示的存储节点中。
这样,待存储数据便可以被存储在管理节点所管理的多个存储节点中,每个存储节点中存储有待存储数据中的部分数据。
需要说明的是,上述第二反馈结果所指示的存储节点中可以不包括该存储节点自身,而仅仅包括至少一个管理节点所管理的除该存储节点以外的存储节点,即待存储数据中的数据全部被存储到其他存储节点中;
当然,上述第二反馈结果所指示的存储节点中也可以只包括该存储节点自身,即待存储数据中的数据全部被存储在本地;
此外,上述第二反馈结果所指示的存储节点中还可以既包括该存储节点自身,还包括至少一个管理节点所管理的除该存储节点以外的存储节点,即待存储数据中的部分数据被存储在本地。
其中,具体的:目标存储节点中的SS获取待存储数据,并向管理节点发送存储资源获取请求,进而,存储节点中的SS在接收到第二反馈结果后,便可以将待存储数据切分为多个数据段,并将切分得到的多个数据段发送给自身的OSD。
这样,当第二反馈结果所指示的存储节点中不包括该存储节点自身时,该存储节点的OSD便可以通过自身的交互接口向第二反馈结果所指示的各个存储节点中的OSD发送互不相同的数据段,以使得第二反馈结果所指示的各个存储节点中的OSD在接收到数据段后,对接收到的数据段进行存储;
相应的,当第二反馈结果所指示的存储节点中包括该存储节点自身时,该存储节点的OSD可以确定需要存储在本地的数据段,进而,对所确定的数据段进行存储。并通过自身的交互接口向第二反馈结果所指示的各个存储节点中的OSD发送互不相同的,且需要在其他存储节点中存储的数据段,以使得第二反馈结果所指示的各个存储节点中的OSD在接收到数据段后,对接收到的数据段进行存储。
其中,各个数据段中所包括的数据量可以相同,也可以不同;第二反馈结果所指示的各个存储节点中所存储的数据段数量可以相同也可以不同;第二反馈结果所指示的各个存储节点中所存储的数据量可以相同也可以不同。
需要说明的是,当存储节点的交互接口的状态信息正常时,管理节点所管理的其他存储节点的交互接口的状态信息可能异常,同样可以导致存储节点无法通过交互接口与该其他存储节点进行数据交互。
因此,为了进一步保证待存储数据的正常存储,避免待存储数据丢失,可选的,一种具体实现方式中,如图3所示,在上述步骤S107中,管理节点标存储节点发送存储资源获取请求对应的第二反馈结果的方式,可以包括如下步骤:
S301:根据接口状态信息,确定各个其他存储节点中,交互接口的状态正常的存储节点,作为备选存储节点;
S302:生成存储资源获取请求对应的,且所指示的存储资源为至少包括至少一个备选存储节点的存储资源的第二反馈结果;
S303:将所生成的第二反馈结果发送给存储节点。
在本具体实施例中,当管理节点判断得到存储节点的交互接口状态正常时,管理节点便可以根据上述预先存储的接口状态信息,确定所管理的各个其他存储节点中,交互接口的状态正常的存储节点,并将所确定的交互接口的状态正常的其他存储节点作为备选存储节点。
显然,存储节点可以通过交互接口与备选存储节点进行数据交互,即,当存储节点通过交互接口向备选存储节点发送待存储数据的数据段时,备选存储节点可以正常接收到该数据段,使得该数据段不会在传输过程中丢失。
基于此,管理节点可以将备选存储节点作为分配给待存储数据的存储资源,因此,管理节点便可以生成存储资源获取请求对应的,且所指示的存储资源为至少包括至少一个备选存储节点的存储资源的第二反馈结果,并将所生成的第二反馈结果发送给目标存储节点。
其中,上述步骤S103中所涉及的预先存储的接口状态信息是管理节点所管理的各个存储节点在确定自身交互接口的状态信息后上报给管理节点的,管理节点在接收到各个存储节点的交互接口的状态信息后,便可以存储该状态信息。
具体的,管理节点所管理的各个存储节点在确定自身交互接口的状态信息后,便可以将自身的节点标识和所确定的状态信息上报给管理节点;进而,管理节点接收到存储节点上报的节点标识和状态信息,便可以建立节点标识和状态信息的对应关系,从而得到接口状态信息,并存储所得到的接口状态信息。
其中,管理节点可以通过多种方式存储上述接口状态信息,对此,本发明实施例不做具体限定。
例如,管理节点所存储的接口状态信息可以以表格的形式存储,这样,接口状态信息中可以记录有多个条目,每个条目中包括一存储节点的节点标识和该存储节点上报的所确定的自身交互接口的状态信息。进而,当管理节点获知一存储节点的节点标识时,便可以在接口状态信息中查找包括该节点标识的条目,则所查找到的条目中包括的状态信息为该存储节点的交互接口的状态信息。
基于此,可选的,一种具体实现方式中,如图4所示,当目标存储节点发送的存储资源获取请求携带有存储节点的目标节点标识;且当接口状态信息中记录有包括一存储节点的节点标识和该存储节点的交互接口的状态信息的多个条目时,上述步骤S103中,管理节点根据预先存储的接口状态信息,判断存储节点的交互接口状态是否异常的方式,可以包括如下步骤:
S401:在预先存储的接口状态信息中,查找包括目标节点标识的目标条目;
S402:判断目标条目中所包括的交互接口的状态信息是否为异常;如果是,执行S403;否则,执行S404;
S403:判定存储节点的交互接口状态异常;
S404:判定存储节点的交互接口状态正常。
在本具体实现方式中,当管理节点接收到存储节点发送的存储资源获取请求时,管理节点便可以获得存储节点的目标节点标识;进而,管理节点便可以在预先存储的接口状态信息中所记录的各个条目中,查找所包括的节点标识为该目标节点标识的目标条目。这样,在查找到目标条目后,管理节点便可以获得目标条目中所包括的状态信息。
显然,由于接口状态信息中所记录的每个条目包括的状态信息,即为该条目所包括的节点标识对应的存储节点的交互接口的状态信息,因此,管理节点便可以通过判断目标条目中所包括的状态信息是否为异常,来判断存储节点的交互接口的状态信息是否异常。
具体的,当判断得到目标条目中所包括的交互接口的状态信息为异常时,管理节点便可以判定存储节点的交互接口状态异常;反之,当判断得到目标条目中所包括的交互接口的状态信息为正常时,管理节点便可以判定存储节点的交互接口状态正常。
相应的,对对象存储系统中的任一存储节点而言,该存储节点可以通过多种方式确定自身交互接口的状态信息,同样的,上述获取到待存储数据的存储节点也可以通过多种方式确定自身交互接口的状态信息。对此,本发明实施例不做具体限定。
可选的,一种具体实现方式中,如图5所示,上述获取到待存储数据的存储节点确定自身交互接口的状态信息的方式,可以包括如下步骤:
S501:按照预设周期,确定管理节点所管理的各个存储节点的注册信息;
为了保证管理节点所存的接口状态信息与所管理的各个存储节点的交互接口的实际状态信息是一致的,管理节点所管理的各个存储节点可以按照预设周期,确定自身交互接口的状态信息,并在确定后将所确定的状态信息上报给用于管理自身的管理节点。
基于此,上述获取到待存储数据的存储节点便可以在按照预设周期确定自身交互接口的状态信息时,首先确定用于管理自身的管理节点所管理的各个存储节点的注册信息。
需要说明的是,上述获取到待存储数据的存储节点可以通过多种方式执行确定用于管理自身的管理节点所管理的各个存储节点的注册信息的步骤,对此,本发明实施例不做具体限定。
优选的,上述获取到待存储数据的存储节点可以从存储节点的本地获取用于管理自身的管理节点所管理的各个存储节点的注册信息;
其中,上述获取到待存储数据的存储节点可以事先从用于管理自身的管理节点处获取该管理节点所管理的每个存储节点的注册信息,并将所获取的每个存储节点的注册信息保存在本地。这样,在每次确定自身交互接口的状态信息时,该存储节点便可以直接从本地获取该管理节点所管理的各个存储节点的注册信息。从而,节省确定自身交互接口的状态信息所耗费的时间和网络资源。
优选的,上述获取到待存储数据的存储节点可以从用于管理自身的管理节点处获取该管理节点所管理的每个存储节点的注册信息。
其中,由于在每个周期内,管理节点所管理的存储节点的数量、IP等可能会发生变化,因此,在每个周期内管理节点所存储的所管理的每个存储节点的注册信息可以发生变化。基于此,为了提高所获取的各个存储节点的注册信息的准确度,进而,保证待存储数据的正常存储,避免待存储数据丢失,在每次确定自身交互接口的状态信息时,上述获取到待存储数据的存储节点可以从用于管理自身的管理节点处获取该管理节点所管理的每个存储节点的注册信息。
S502:基于所确定的注册信息,向管理节点所管理的每一其他存储节点发送网络请求;当接收到至少一个其他存储节点反馈的连接应答消息时,执行S503;否则,执行S504;
其中,网络请求为用于上述获取到待存储数据的存储节点与每一其他存储节点进行心跳连接的请求;
S503:确定存储节点的交互接口的状态信息正常;
S504:确定存储节点的交互接口的状态信息异常。
进而,在确定用于管理自身的管理节点所管理的各个存储节点的注册信息后,上述获取到待存储数据的存储节点便可以向该管理节点所管理的每一其他存储节点发送用于自身与每一其他存储节点进行心跳连接的网络请求。
其中,所谓心跳连接的网络请求是指上述获取到待存储数据的存储节点与用于管理自身的管理节点所管理的每一其他存储节点定时进行的简单的TCP(TransmissionControl Protocol,传输控制协议)交互请求,以使该管理节点所管理的每一其他存储节点获知自身在正常运行。
其中,在上述步骤S402中,网络请求是通过上述获取到待存储数据的存储节点的交互接口发出的,当一其他存储节点接收到该网络请求后,会向该存储节点反馈连接应答消息,而该存储节点也是通过交互接口接收连接应答消息的。
因此,当该存储节点接收到至少一个其他存储节点反馈的连接应答消息时,该存储节点便可以执行上述步骤S403,确定自身交互接口的状态信息正常;否则,该存储节点便可以执行上述步骤S404,确定自身交互接口的状态信息异常。
需要说明的是,对对象存储系统中的任一存储节点而言,均可以采用图4所示的方式,确定自身交互接口的状态信息,其中,针对对象存储系统中除上述获取到待存储数据的存储节点的其他任一存储节点而言,上述图4所示的方式中的管理节点,即为管理该其他存储节点的管理节点。
相应于上述本发明实施例分别从对象存储系统中的管理节点和存储节点的角度提供的一种数据存储方法,本发明实施例还提供了一种对象存储系统。
图6为本发明实施例提供的一种对象存储系统的结构示意图。如图6所示,该对象存储系统可以包括至少一个管理节点610和至少一个存储节点620,其中,一个管理节点610管理至少一个存储节点620。
每个管理节点610,用于:接收所管理的任一存储节点620发送的存储资源获取请求;根据预先存储的接口状态信息,判断该存储节点620的交互接口状态是否异常,如果是,向该存储节点620发送存储资源获取请求对应的第一反馈结果;
每个存储节点620,用于:获取待存储数据,向管理该存储节点的管理节点610发送存储资源获取请求;接收管理该存储节点的管理节点610反馈的第一反馈结果;当接收到第一反馈结果时,将待存储数据存储在本地;
其中,第一反馈结果所指示的存储资源为该存储节点620;接口状态信息是该管理节点610所管理的各个存储节点620在确定自身交互接口的状态信息后上报的。
可见,应用本发明实施例提供的方案,当存储节点的交互接口异常时,管理该存储节点的管理节点为该存储节点获取到的待存储数据指示的存储资源即为该存储节点,进而,该存储节点便可以将待存储数据保存在本地,而不需要将待存储数据发送给其他存储节点,从而实现对待存储数据的正常存储,避免出现由于交互接口异常而导致的数据丢失的问题发生。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例、装置实施例、管理节点实施例、存储节点实施例、计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (11)

1.一种数据存储方法,其特征在于,应用于对象存储系统,所述对象存储系统包括存储节点和用于管理所述存储节点的管理节点,所述方法包括:
所述存储节点获取待存储数据,向所述管理节点发送存储资源获取请求;
所述管理节点接收所述存储节点发送的所述存储资源获取请求;
所述管理节点根据预先存储的接口状态信息,判断所述存储节点的交互接口状态是否异常;其中,所述接口状态信息是所述管理节点所管理的各个存储节点在确定自身交互接口的状态信息后上报的;
如果所述存储节点的交互接口状态异常,所述管理节点向所述存储节点发送所述存储资源获取请求对应的第一反馈结果;其中,所述第一反馈结果所指示的存储资源为所述存储节点;
所述存储节点接收所述第一反馈结果,并将所述待存储数据存储在本地。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述存储节点的交互接口状态正常,所述管理节点向所述存储节点发送所述存储资源获取请求对应的第二反馈结果;其中,所述第二反馈结果所指示的存储资源包括至少一个所述管理节点管理的存储节点的存储资源;
所述存储节点接收所述第二反馈结果,并将所获取的待存储数据存储在所述第二反馈结果所指示的存储节点中。
3.根据权利要求1所述的方法,其特征在于,所述管理节点向所述存储节点发送所述存储资源获取请求对应的第二反馈结果的方式,包括:
根据所述接口状态信息,确定各个其他存储节点中,交互接口的状态正常的存储节点,作为备选存储节点;
生成所述存储资源获取请求对应的,且所指示的存储资源为至少包括至少一个备选存储节点的存储资源的第二反馈结果;
将所生成的第二反馈结果发送给所述存储节点。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述存储资源获取请求携带有所述存储节点的目标节点标识;所述接口状态信息中记录有包括一存储节点的节点标识和该存储节点的交互接口的状态信息的多个条目;
所述管理节点根据预先存储的接口状态信息,判断所述存储节点的交互接口状态是否异常的方式,包括:
在预先存储的接口状态信息中,查找包括所述目标节点标识的目标条目;
判断所述目标条目中所包括的交互接口的状态信息是否为异常;
如果是,判定所述存储节点的交互接口状态异常;
否则,判定所述存储节点的交互接口状态正常。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述存储节点确定自身交互接口的状态信息的方式,包括:
按照预设周期,确定所述管理节点所管理的各个存储节点的注册信息;
基于所确定的注册信息,向所述管理节点所管理的每一其他存储节点发送网络请求;其中,所述网络请求为用于所述存储节点与所述每一其他存储节点进行心跳连接的请求;
当接收到至少一个其他存储节点反馈的连接应答消息时,确定自身的交互接口的状态信息正常;
否则,确定自身的交互接口的状态信息异常。
6.根据权利要求5所述的方法,其特征在于,所述存储节点确定所述管理节点所管理的各个存储节点的注册信息的方式,包括:
所述存储节点从所述存储节点的本地获取所述管理节点所管理的各个存储节点的注册信息;
或者,
所述存储节点从所述管理节点处获取所述管理节点所管理的每个存储节点的注册信息。
7.一种对象存储系统,其特征在于,所述系统包括:至少一个管理节点和至少一个存储节点,其中,一个管理节点管理至少一个存储节点;
每个管理节点,用于:接收所管理的任一存储节点发送的存储资源获取请求;根据预先存储的接口状态信息,判断该存储节点的交互接口状态是否异常,如果是,向该存储节点发送所述存储资源获取请求对应的第一反馈结果;
每个存储节点,用于:获取待存储数据,向管理该存储节点的管理节点发送存储资源获取请求;接收管理该存储节点的管理节点反馈的所述第一反馈结果;当接收到所述第一反馈结果时,将所述待存储数据存储在本地;
其中,所述第一反馈结果所指示的存储资源为该存储节点;所述接口状态信息是该管理节点所管理的各个存储节点在确定自身交互接口的状态信息后上报的。
8.根据权利要求7所述的系统,其特征在于,
所述管理节点还用于,在判断所述存储节点的交互接口状态正常的情况下,向所述存储节点发送所述存储资源获取请求对应的第二反馈结果;其中,所述第二反馈结果所指示的存储资源包括至少一个所述管理节点管理的存储节点的存储资源;
所述存储节点还用于,接收所述第二反馈结果,并将所获取的待存储数据存储在所述第二反馈结果所指示的存储节点中。
9.根据权利要求7所述的系统,其特征在于,所述管理节点还用于,
根据所述接口状态信息,确定各个其他存储节点中,交互接口的状态正常的存储节点,作为备选存储节点;
生成所述存储资源获取请求对应的,且所指示的存储资源为至少包括至少一个备选存储节点的存储资源的第二反馈结果;
将所生成的第二反馈结果发送给所述存储节点。
10.根据权利要求7-9任一项所述的系统,其特征在于,所述存储资源获取请求携带有所述存储节点的目标节点标识;所述接口状态信息中记录有包括一存储节点的节点标识和该存储节点的交互接口的状态信息的多个条目;
所述管理节点还用于,根据预先存储的接口状态信息,判断所述存储节点的交互接口状态是否异常的方式,包括:
在预先存储的接口状态信息中,查找包括所述目标节点标识的目标条目;
判断所述目标条目中所包括的交互接口的状态信息是否为异常;
如果是,判定所述存储节点的交互接口状态异常;
否则,判定所述存储节点的交互接口状态正常。
11.根据权利要求7-9任一项所述的系统,其特征在于,所述存储节点还用于:
按照预设周期,确定所述管理节点所管理的各个存储节点的注册信息;
基于所确定的注册信息,向所述管理节点所管理的每一其他存储节点发送网络请求;其中,所述网络请求为用于所述存储节点与所述每一其他存储节点进行心跳连接的请求;
当接收到至少一个其他存储节点反馈的连接应答消息时,确定自身的交互接口的状态信息正常;
否则,确定自身的交互接口的状态信息异常。
CN201910935831.0A 2019-09-29 2019-09-29 一种数据存储方法及一种对象存储系统 Active CN111404980B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910935831.0A CN111404980B (zh) 2019-09-29 2019-09-29 一种数据存储方法及一种对象存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910935831.0A CN111404980B (zh) 2019-09-29 2019-09-29 一种数据存储方法及一种对象存储系统

Publications (2)

Publication Number Publication Date
CN111404980A true CN111404980A (zh) 2020-07-10
CN111404980B CN111404980B (zh) 2023-04-18

Family

ID=71428316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910935831.0A Active CN111404980B (zh) 2019-09-29 2019-09-29 一种数据存储方法及一种对象存储系统

Country Status (1)

Country Link
CN (1) CN111404980B (zh)

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658590B1 (en) * 2000-03-30 2003-12-02 Hewlett-Packard Development Company, L.P. Controller-based transaction logging system for data recovery in a storage area network
CN102136003A (zh) * 2011-03-25 2011-07-27 上海交通大学 大规模分布式存储系统
CN102932500A (zh) * 2012-11-07 2013-02-13 曙光信息产业股份有限公司 故障接口节点接管方法及系统
CN105847621A (zh) * 2015-01-30 2016-08-10 日本冲信息株式会社 维护支持系统、服务提供方法以及认证设备
CN105872428A (zh) * 2016-04-12 2016-08-17 北京奇虎科技有限公司 视频数据保护方法及装置
US9612924B1 (en) * 2014-06-25 2017-04-04 Amazon Technologies, Inc. Fault tolerance in a distributed file system
CN106909475A (zh) * 2015-12-23 2017-06-30 中国移动通信集团重庆有限公司 基于对象存储进行数据备份、恢复的方法和装置
CN107092437A (zh) * 2016-02-17 2017-08-25 杭州海康威视数字技术股份有限公司 数据写入、读取方法及装置、云存储系统
CN107147528A (zh) * 2017-05-23 2017-09-08 郑州云海信息技术有限公司 一种存储网关智能防脑裂系统及方法
CN107634853A (zh) * 2017-08-28 2018-01-26 深圳市云舒网络技术有限公司 一种基于对象存储的可定制化分布式缓存方法
CN108073355A (zh) * 2016-11-15 2018-05-25 杭州海康威视数字技术股份有限公司 一种数据存储和删除方法及装置
CN108235751A (zh) * 2017-12-18 2018-06-29 华为技术有限公司 识别对象存储设备亚健康的方法、装置和数据存储系统
US20180375935A1 (en) * 2017-06-26 2018-12-27 Christopher Squires Object based storage systems that utilize direct memory access
CN109194584A (zh) * 2018-08-13 2019-01-11 中国平安人寿保险股份有限公司 一种流量监控方法、装置、计算机设备及存储介质
CN109391647A (zh) * 2017-08-04 2019-02-26 杭州海康威视系统技术有限公司 存储资源回收方法、装置及系统
CN109743358A (zh) * 2018-12-13 2019-05-10 平安普惠企业管理有限公司 异步消息接口熔断控制方法、装置、计算机设备及存储介质
CN110244904A (zh) * 2018-03-09 2019-09-17 杭州海康威视系统技术有限公司 一种数据存储系统、方法及装置

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658590B1 (en) * 2000-03-30 2003-12-02 Hewlett-Packard Development Company, L.P. Controller-based transaction logging system for data recovery in a storage area network
CN102136003A (zh) * 2011-03-25 2011-07-27 上海交通大学 大规模分布式存储系统
CN102932500A (zh) * 2012-11-07 2013-02-13 曙光信息产业股份有限公司 故障接口节点接管方法及系统
US9612924B1 (en) * 2014-06-25 2017-04-04 Amazon Technologies, Inc. Fault tolerance in a distributed file system
CN105847621A (zh) * 2015-01-30 2016-08-10 日本冲信息株式会社 维护支持系统、服务提供方法以及认证设备
CN106909475A (zh) * 2015-12-23 2017-06-30 中国移动通信集团重庆有限公司 基于对象存储进行数据备份、恢复的方法和装置
CN107092437A (zh) * 2016-02-17 2017-08-25 杭州海康威视数字技术股份有限公司 数据写入、读取方法及装置、云存储系统
CN105872428A (zh) * 2016-04-12 2016-08-17 北京奇虎科技有限公司 视频数据保护方法及装置
CN108073355A (zh) * 2016-11-15 2018-05-25 杭州海康威视数字技术股份有限公司 一种数据存储和删除方法及装置
CN107147528A (zh) * 2017-05-23 2017-09-08 郑州云海信息技术有限公司 一种存储网关智能防脑裂系统及方法
US20180375935A1 (en) * 2017-06-26 2018-12-27 Christopher Squires Object based storage systems that utilize direct memory access
CN109391647A (zh) * 2017-08-04 2019-02-26 杭州海康威视系统技术有限公司 存储资源回收方法、装置及系统
CN107634853A (zh) * 2017-08-28 2018-01-26 深圳市云舒网络技术有限公司 一种基于对象存储的可定制化分布式缓存方法
CN108235751A (zh) * 2017-12-18 2018-06-29 华为技术有限公司 识别对象存储设备亚健康的方法、装置和数据存储系统
CN110244904A (zh) * 2018-03-09 2019-09-17 杭州海康威视系统技术有限公司 一种数据存储系统、方法及装置
CN109194584A (zh) * 2018-08-13 2019-01-11 中国平安人寿保险股份有限公司 一种流量监控方法、装置、计算机设备及存储介质
CN109743358A (zh) * 2018-12-13 2019-05-10 平安普惠企业管理有限公司 异步消息接口熔断控制方法、装置、计算机设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DA FENG ET.AL.: "Dimensioning of the store-and-transfer WDM network with limited node storage under the sliding scheduled traffic model" *
常栋: "云计算环境下基于HDFS的对象存储系统的研究" *
马玮骏;王强;何晓晖;张舒;张庆;: "云存储系统管理节点故障自恢复算法" *

Also Published As

Publication number Publication date
CN111404980B (zh) 2023-04-18

Similar Documents

Publication Publication Date Title
CN112019475B (zh) 无服务器架构下的资源访问方法、设备、系统及存储介质
US11586673B2 (en) Data writing and reading method and apparatus, and cloud storage system
CN106850710B (zh) 一种数据云存储系统、客户终端、存储服务器及应用方法
TWI473029B (zh) 可延伸及可程式化之多租戶服務結構
US11611481B2 (en) Policy management method and system, and apparatus
CN108696581B (zh) 分布式信息的缓存方法、装置、计算机设备以及存储介质
CN109995641B (zh) 一种信息处理方法、计算节点和存储介质
US10021181B2 (en) System and method for discovering a LAN synchronization candidate for a synchronized content management system
CN106790092B (zh) 远程过程调用服务端控制系统及方法
CN105791344A (zh) 灰度发布业务处理的方法、系统、负载均衡器及服务总线装置
CN106790131B (zh) 一种参数修改方法、装置及分布式平台
JP2019502186A (ja) グローバル情報を取得、処理および更新するためのシステムおよび方法
KR20130114575A (ko) 프로비저닝 서비스를 위한 리더 중재
CN107172214B (zh) 一种具有负载均衡的服务节点发现方法及装置
CN114760304B (zh) 算力信息的处理方法、处理系统及算力网关
CN107302849B (zh) 一种光路径的分配方法及装置
CN106254411B (zh) 用于提供服务的系统、服务器系统及方法
CN112181049B (zh) 集群时间同步方法、装置、系统、设备及可读存储介质
CN107147651B (zh) 一种灰度发布系统及其发布方法
CN109005071B (zh) 一种决策部署方法和调度设备
CN113079098A (zh) 路由更新的方法、装置、设备和计算机可读介质
CN111404980B (zh) 一种数据存储方法及一种对象存储系统
CN106792843B (zh) 一种设备管理方法及装置
CN115665263A (zh) 一种流量调拨方法、装置、服务器及存储介质
KR20140097717A (ko) 디바이스 양방향 m2m 리소스 관리 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant