CN112040023B - 对象访问方法、装置、电子设备及机器可读存储介质 - Google Patents

对象访问方法、装置、电子设备及机器可读存储介质 Download PDF

Info

Publication number
CN112040023B
CN112040023B CN202010871080.3A CN202010871080A CN112040023B CN 112040023 B CN112040023 B CN 112040023B CN 202010871080 A CN202010871080 A CN 202010871080A CN 112040023 B CN112040023 B CN 112040023B
Authority
CN
China
Prior art keywords
node
address
storage system
object storage
domain name
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.)
Active
Application number
CN202010871080.3A
Other languages
English (en)
Other versions
CN112040023A (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.)
Macrosan Technologies Co Ltd
Original Assignee
Macrosan Technologies 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 Macrosan Technologies Co Ltd filed Critical Macrosan Technologies Co Ltd
Priority to CN202010871080.3A priority Critical patent/CN112040023B/zh
Publication of CN112040023A publication Critical patent/CN112040023A/zh
Application granted granted Critical
Publication of CN112040023B publication Critical patent/CN112040023B/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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • 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]

Landscapes

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

Abstract

本申请提供一种对象访问方法、装置、电子设备及机器可读存储介质。在本申请中,一方面,由于对象客户端可以在域名访问时直接获取目标对象节点的节点IP地址以及执行读写数据完成对象访问,从而提升了对象访问的性能;另一方面,由于避免了对象节点间经后端网络进行读写数据转发,降低了对象存储系统的系统负载及网络负载,提高了对象存储系统性能。

Description

对象访问方法、装置、电子设备及机器可读存储介质
技术领域
本申请涉及存储技术领域,尤其涉及对象访问方法、装置、电子设备及机器可读存储介质。
背景技术
随着互联网应用的迅猛发展,PB级甚至EB级的海量数据存储变得尤为重要。对象存储系统作为一种新型的分布式存储系统,对象是对象存储系统中的基本实体,通过提供基于对象的访问接口,可存储任意类型的数据,比如:图片、视频、音频、文本等。对象存储系统有效解决了传统存储共享能力有限、扩展性差等问题。
发明内容
本申请提供一种对象访问方法,所述方法应用于对象存储系统;所述对象存储系统包括若干个对象存储节点;其中,所述若干个对象存储节点之间基于后端网络相连通信,所述若干个对象存储节点基于前端网络与对象客户端相连通信,所述方法包括:
接收所述对象客户端发送的针对对象存储系统的域名的域名解析请求;
响应于所述域名解析请求,确定与所述域名解析请求对应的待执行对象访问的目标对象节点的节点IP地址;
将确定的目标对象节点的节点IP地址,基于所述前端网络发送至所述对象客户端,以使所述对象客户端基于获取的目标对象节点的节点IP地址执行对象访问。
可选的,所述域名解析请求为DNS请求。
可选的,所述若干对象存储节点中包括搭载了DNS服务的第一对象存储节点;
所述接收所述对象客户端发送的针对对象存储系统的域名的域名解析请求,包括:
第一对象存储节点接收所述对象客户端发送的针对对象存储系统的域名的DNS请求。
可选的,所述DNS请求中还携带了待执行对象访问的桶名信息和对象名信息;
所述响应于所述域名解析请求,确定与所述域名解析请求对应的待执行对象访问的目标对象节点的节点IP地址,包括:
响应于所述DNS请求,基于接收的所述DNS请求中携带的待执行对象访问的桶名信息和对象名信息,第一对象存储节点确定与所述DNS请求对应的待执行对象访问的目标对象节点的节点IP地址。
可选的,所述若干个对象存储节点中分别部署有一致性哈希运算算法;
所述基于接收的所述DNS请求中携带的待执行对象访问的桶名信息和对象名信息,第一对象存储节点确定与所述DNS请求对应的待执行对象访问的目标对象节点的节点IP地址,包括:
将所述DNS请求中携带的待执行对象访问的桶名信息和对象名信息,输入至所述一致性哈希运算算法执行一致性哈希运算,得到对应的虚拟节点编号;
以得到的虚拟节点编号作为查找索引,从预设的虚拟节点与对象节点的对应关系表中,确定与得到的虚拟节点编号对应的第二对象节点的节点IP地址;
将确定的第二对象节点的节点IP地址输出作为所述DNS请求对应的待执行对象访问的目标对象节点的节点IP地址。
可选的,所述将确定的目标对象节点的节点IP地址,基于所述前端网络发送至所述对象客户端,包括:
生成与所述DNS请求对应的所述DNS回应;
将确定的目标对象节点的节点IP地址填充至所述DNS回应中,
将携带了确定的目标对象节点的节点IP地址的所述DNS回应,基于所述前端网络发送至所述对象客户端,以使所述对象客户端对所述DNS回应执行解析后,得到确定的目标对象节点的节点IP地址。
可选的,所述对象访问包括对象写入或者对象读取。
可选的,所述对象存储系统为若干个对象存储节点搭建的基于分布式架构的对象存储系统。
本申请还提供一种对象访问装置,所述装置应用于对象存储系统;所述对象存储系统包括若干个对象存储节点;其中,所述若干个对象存储节点之间基于后端网络相连通信,所述若干个对象存储节点基于前端网络与对象客户端相连通信,所述装置包括:
接收模块,接收所述对象客户端发送的针对对象存储系统的域名的域名解析请求;
确定模块,响应于所述域名解析请求,确定与所述域名解析请求对应的待执行对象访问的目标对象节点的节点IP地址;
访问模块,将确定的目标对象节点的节点IP地址,基于所述前端网络发送至所述对象客户端,以使所述对象客户端基于获取的目标对象节点的节点IP地址执行对象访问。
可选的,所述域名解析请求为DNS请求。
可选的,所述若干对象存储节点中包括搭载了DNS服务的第一对象存储节点;
所述接收模块进一步:
第一对象存储节点接收所述对象客户端发送的针对对象存储系统的域名的DNS请求。
可选的,所述DNS请求中还携带了待执行对象访问的桶名信息和对象名信息;
所述确定模块进一步:
响应于所述DNS请求,基于接收的所述DNS请求中携带的待执行对象访问的桶名信息和对象名信息,第一对象存储节点确定与所述DNS请求对应的待执行对象访问的目标对象节点的节点IP地址。
可选的,所述若干个对象存储节点中分别部署有一致性哈希运算算法;
所述确定模块进一步:
将所述DNS请求中携带的待执行对象访问的桶名信息和对象名信息,输入至所述一致性哈希运算算法执行一致性哈希运算,得到对应的虚拟节点编号;
以得到的虚拟节点编号作为查找索引,从预设的虚拟节点与对象节点的对应关系表中,确定与得到的虚拟节点编号对应的第二对象节点的节点IP地址;
将确定的第二对象节点的节点IP地址输出作为所述DNS请求对应的待执行对象访问的目标对象节点的节点IP地址。
可选的,所述访问模块进一步:
第一对象存储节点生成与所述DNS请求对应的DNS回应;
将确定的目标对象节点的节点IP地址填充至所述DNS回应中,
将携带了确定的目标对象节点的节点IP地址的所述DNS回应,基于所述前端网络发送至所述对象客户端,以使所述对象客户端对所述DNS回应执行解析后,得到确定的目标对象节点的节点IP地址。
可选的,所述对象访问包括对象写入或者对象读取。
可选的,所述对象存储系统为若干个对象存储节点搭建的基于分布式架构的对象存储系统。
本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述的方法。
本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。
通过以上实施例,基于接收对象客户端发送的针对对象存储系统的域名的域名解析请求;响应于域名解析请求,确定与域名解析请求对应的待执行对象访问的目标对象节点的节点IP地址;将确定的目标对象节点的节点IP地址,基于前端网络发送至对象客户端,以使对象客户端基于获取的目标对象节点的节点IP地址执行对象访问。一方面,由于对象客户端可以在域名访问时直接获取目标对象节点的节点IP地址以及执行读写数据完成对象访问,从而提升了对象访问的性能;另一方面,由于避免了对象节点间经后端网络进行读写数据转发,降低了对象存储系统的系统负载及网络负载,提高了对象存储系统性能。
附图说明
图1是一示例性实施例提供的一种对象存储系统的架构示意图;
图2是一示例性实施例提供的一种对象客户端向对象存储系统写入数据的流程示意图;
图3是一示例性实施例提供的一种对象访问方法的流程图;
图4是一示例性实施例提供的另一种对象客户端向对象存储系统写入数据的流程示意图;
图5是一示例性实施例提供的一种电子设备的硬件结构图;
图6是一示例性实施例提供的一种对象访问装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本技术领域的人员更好地理解本申请实施例中的技术方案,下面先对本申请实施例涉及的对象访问的相关技术,进行简要说明。
请参见图1,图1是本申请一实施例提供的一种对象存储系统的架构示意图。
如图1所示,对象存储系统包括若干个对象存储节点(Node1、Node2、Node3、...NodeN);其中,Node1、Node2、Node3、...NodeN之间基于后端网络相连通信;
对象客户端基于前端网络与对象存储系统相连通信;也即,对象客户端可以基于前端网络访问对象存储系统中各个对象存储节点(Node1、Node2、Node3、...NodeN)。
以上示出的对象存储系统的架构基础上,在一些场景下,当对象客户端向对象存储系统执行对象访问时,对象客户端通常先基于对象存储系统对外提供的域名进行对象访问。
例如,对象存储系统可以对外提供http://moss.macrosan.com的域名,对象客户端可以基于该域名访问对象存储系统,并接收对象存储系统针对该域名解析得到的对象存储节点的节点IP地址,再向该节点IP地址发起对象访问。
为了方便理解和描述,以对象客户端基于对象存储系统的域名,向对象存储系统执行写入数据的对象访问为示例。
请参见图2,图2是本申请一实施例提供的一种对象客户端向对象存储系统写入数据的流程示意图。
图2与图1类似,对象存储系统包括4个对象存储节点(Node1、Node2、Node3、Node4)组网架构;其中,对象存储节点Node4上搭载了DNS服务。
对象存储节点(Node1、Node2、Node3、Node4)与对象客户端基于前端网络通信,对象存储节点(Node1、Node2、Node3、Node4)之间基于后端网络通信。
如图2所示,当对象客户端向对象存储系统写入数据时主要包括以下步骤:
步骤S1、对象客户端向Node4(搭载了DNS服务)访问对象存储系统的域名。
步骤S2、由DNS服务向对象客户端返回域名对应的Node1对应的IP。
步骤S3、基于Node1对应的IP,对象客户端向Node1发起写入数据请求。
步骤S4、Node1接收写入数据请求,确定实际应写入Node3。
步骤S5、Node1通过后端网络将数据转发写入Node3。
步骤S6、在数据写入至Node3后,Node3通过后端网络向Node1返回数据写入成功响应。
步骤S7、Node1接收Node1返回数据写入成功响应,并向对象客户端返回数据写入成功响应。
基于以上场景可见,对象客户端通过域名访问对象存储系统时,对象存储系统中的搭载了DNS服务的对象存储节点,基于简单的轮询策略随机获取对象存储系统的若干对象存储节点中的一个对象存储节点的IP地址,并将该对象存储节点的IP地址返回给对象客户端,以使对象客户端基于该IP地址发起写入数据。
然而,对象存储系统返回与域名对应的IP地址,通常不一定是即将存储数据的对象存储节点的节点IP地址,由此导致不可避免的存在后端转发(如图2中步骤S5、S6所示),会消耗后端网络资源及对象存储节点的各种资源(比如:对象存储节点的CPU、内存等),降低了对象存储系统性能。进一步分析,也即,DNS服务与对象存储业务是分层隔离的,DNS服务无法无法直接返回即将存储数据的对象存储节点的节点IP地址。
需要说明的是,图2是以对象客户端基于对象存储系统的域名,向对象存储系统执行写入数据的对象访问为示例。在实际应用中,当对象客户端基于对象存储系统的域名向对象存储系统执行读取数据的对象访问时,存在类似问题,具体过程与图2示例的过程类似,这里不再赘述。另外,在对象客户端的DNS缓存中存在对象存储系统的域名对应对象存储节点的节点IP时,无需再向对象存储系统请求其域名,而是直接使用该DNS缓存中的节点IP发起对象访问。
基于此,在以上示出的组网架构的基础上,本申请旨在提出一种,在对象访问过程中,基于改进的域名访问及解析方式来提高对象访问效率的技术方案。
在实现时,对象存储系统包括若干个对象存储节点;其中,所述若干个对象存储节点之间基于后端网络相连通信,所述若干个对象存储节点基于前端网络与对象客户端相连通信。
进一步地,对象存储系统接收对象客户端发送的针对对象存储系统的域名的域名解析请求;响应于域名解析请求,确定与域名解析请求对应的待执行对象访问的目标对象节点的节点IP地址。
进一步地,对象存储系统将确定的目标对象节点的节点IP地址,基于前端网络发送至对象客户端,以使对象客户端基于获取的目标对象节点的节点IP地址执行对象访问。
在以上方案中,基于接收对象客户端发送的针对对象存储系统的域名的域名解析请求;响应于域名解析请求,确定与域名解析请求对应的待执行对象访问的目标对象节点的节点IP地址;将确定的目标对象节点的节点IP地址,基于前端网络发送至对象客户端,以使对象客户端基于获取的目标对象节点的节点IP地址执行对象访问。一方面,由于对象客户端可以在域名访问时直接获取目标对象节点的节点IP地址以及执行读写数据完成对象访问,从而提升了对象访问的性能;另一方面,由于避免了对象节点间经后端网络进行读写数据转发,降低了对象存储系统的系统负载及网络负载,提高了对象存储系统性能。
下面通过具体实施例并结合具体的应用场景对本申请进行描述。
请参考图3,图3是本申请一实施例提供的一种对象访问方法的流程图,所述方法应用于对象存储系统;所述对象存储系统包括若干个对象存储节点;其中,所述若干个对象存储节点之间基于后端网络相连通信,所述若干个对象存储节点基于前端网络与对象客户端相连通信,上述方法执行以下步骤:
步骤302、接收所述对象客户端发送的针对对象存储系统的域名的域名解析请求。
步骤304、响应于所述域名解析请求,确定与所述域名解析请求对应的待执行对象访问的目标对象节点的节点IP地址。
步骤306、将确定的目标对象节点的节点IP地址,基于所述前端网络发送至所述对象客户端,以使所述对象客户端基于获取的目标对象节点的节点IP地址执行对象访问。
在本说明书中,上述对象,是指已保存于或者计划保存于上述对象存储系统中的桶(Bucket)中的任何数据格式的对象。
例如,在实际应用中,上述对象可以包括已保存于或者计划保存于上述对象存储系统中的桶(Bucket)中的图片、网页、视频、压缩包、程序、表项等数据格式的对象。
在本说明书中,上述对象存储系统包括若干个对象存储节点;其中,上述若干个对象存储节点之间基于后端网络相连通信,上述若干个对象存储节点基于前端网络与对象客户端相连通信。
例如,上述对象存储系统具体架构,以及与对象客户端的组网,请参见图1、图2中的示例,这里不再赘述。
在示出的一种实施方式中,上述对象存储系统为基于若干个对象存储节点搭建的基于分布式架构的对象存储系统。
例如,在实际应用中,上述对象存储系统可以为基于若干个对象存储节点搭建的Ceph(另一种分布式对象存储架构)架构的对象存储系统;上述对象存储系统也可以为基于若干个对象存储节点搭建的MOSS(MacroSAN Object Storage System,宏杉对象存储系统;另一种分布式对象存储架构)架构的对象存储系统。
在本说明书中,上述对象客户端,包括基于前端网络与对象存储系统相连进行对象访问的任何类型客户端。
例如,在实际应用中,上述对象客户端具体可以包括Web客户端、CLI客户端、APP客户端等。
在本说明书中,上述对象访问包括对象写入或者对象读取;
其中,对象写入,是指对象客户端将数据写入至对象存储系统中。在实现时,对象客户端基于用户输入的、指定的对象的对象名,将数据以对象的方式保存在对象存储系统分配的对象存储节点中的桶(Bucket)中;
对象读取,是指对象客户端从对象存储系统中读取数据。在实现时,对象客户端基于用户输入的、指定的计划读取对象的对象名,从对象存储系统中的对象存储节点中的桶(Bucket)中读取已保存的对象名指示的对象对应存储的数据。
需要说明的是,通常情况下,对象写入也被称为“对象上传”,对象读取也被称为“对象下载”。
在本说明书中,上述对象存储系统接收上述对象客户端发送的针对对象存储系统的域名的域名解析请求。
以对象存储系统可以对外提供http://moss.macrosan.com的域名为例,对象客户端向对象存储系统发送的针对对象存储系统的域名为http://moss.macrosan.com的域名解析请求,对象存储系统接收对象客户端发送的该域名解析请求。
在示出的一种实施方式中,上述域名解析请求为DNS请求。例如,在实际应用中,对象客户端可以向对象存储系统发送获取域名对应的IP地址的DNS请求;其中,DNS请求的报文格式和内容,请参见相关的协议,这里不作赘述。
在示出的一种实施方式中,上述对象存储系统中的若干对象存储节点中包括搭载了DNS服务的第一对象存储节点。例如,请参见图2,对象存储系统包括搭载了DNS服务的对象存储节点Node4;其中,Node4中部署了DNS服务,该DNS服务具体可以包括开源的DNS服务端软件或者操作系统提供的DNS服务接口等。
在示出的一种实施方式中,在上述对象存储系统接收上述对象客户端发送的针对对象存储系统的域名的域名解析请求的过程中,上述第一对象存储节点接收上述对象客户端发送的针对对象存储系统的域名的DNS请求。
例如,请参见图2中的前文描述的步骤S1,部署了DNS服务的Node4接收对象客户端发送的针对对象存储系统的域名的DNS请求。
在本说明书中,在接收到上述域名解析请求后,上述对象存储系统响应于上述域名解析请求,确定与上述域名解析请求对应的待执行对象访问的目标对象节点的节点IP地址。
以域名解析请求为DNS请求为例,对象存储系统接收并响应于该DNS请求,确定与该DNS请求对应的待执行对象访问的目标对象节点的节点IP地址。
在示出的一种实施方式中,上述DNS请求中还携带了待执行对象访问的桶名信息和对象名信息。例如,以对象访问为对象写入为例,上述DNS请求中还携带了待执行对象写入的桶名信息和对象名信息。又例如,以对象访问为对象读取为例,上述DNS请求中还携带了待执行对象读取的桶名信息和对象名信息。
在示出的一种实施方式中,在上述对象存储系统响应于上述域名解析请求,确定与上述域名解析请求对应的待执行对象访问的目标对象节点的节点IP地址的过程中,上述第一对象存储节点响应于上述DNS请求,基于接收的上述DNS请求中携带的待执行对象访问的桶名信息和对象名信息,确定与上述DNS请求对应的待执行对象访问的目标对象节点的节点IP地址。
例如,以对象访问为对象写入且DNS请求中还携带了待执行对象写入的桶名信息和对象名信息为例,第一对象存储节点响应于该DNS请求,基于接收的该DNS请求中携带的待执行对象访问的桶名信息和对象名信息,确定与上述DNS请求对应的待执行对象写入的目标对象节点的节点IP地址。
又例如,以对象访问为对象读取且DNS请求中还携带了待执行对象写入的桶名信息和对象名信息为例,第一对象存储节点响应于该DNS请求,基于接收的该DNS请求中携带的待执行对象访问的桶名信息和对象名信息,确定与上述DNS请求对应的待执行对象读取的目标对象节点的节点IP地址。
在示出的一种实施方式中,上述对象存储系统中的若干个对象存储节点中分别部署有一致性哈希运算算法,在上述第一对象存储节点基于接收的上述DNS请求中携带的待执行对象访问的桶名信息和对象名信息,确定与上述DNS请求对应的待执行对象访问的目标对象节点的节点IP地址的过程中;
上述第一对象存储节点将上述DNS请求中携带的待执行对象访问的桶名信息和对象名信息,输入至上述一致性哈希运算算法执行一致性哈希运算,得到对应的虚拟节点编号;以得到的虚拟节点编号作为查找索引,从预设的虚拟节点与对象节点的对应关系表中,确定与得到的虚拟节点编号对应的第二对象节点的节点IP地址;
例如,在实际应用中,为了使对象存储系统中存储的数据分布更加均衡,在对象存储系统部署时,基于对象存储系统系统规模设置虚拟节点个数v_num,v_num构成哈希环,将哈希环切分为N份并均分给对象存储系统中的N个对象存储节点。由于对象存储系统中桶名全局唯一,可根据Hash(桶名+对象名)%v_num,计算出对应v值(也即,虚拟节点编号),进而查询得到与该v值对应的对象存储节点。
在本说明书中,进一步地,在确定与得到的虚拟节点编号对应的第二对象节点的节点IP地址后,上述第一对象存储节点将确定的第二对象节点的节点IP地址输出作为上述DNS请求对应的待执行对象访问的目标对象节点的节点IP地址。
在本说明书中,在确定与上述域名解析请求对应的待执行对象访问的目标对象节点的节点IP地址后,上述对象存储系统基于前端网络将确定的目标对象节点的节点IP地址发送至上述对象客户端。
例如,以DNS请求中域名解析请求为DNS请求且该DNS请求还携带了待执行对象写入的桶名信息和对象名信息为例,上述对象存储系统基于前端网络将上述第一对象存储节点确定的目标对象节点的节点IP地址发送至上述对象客户端。
在示出的一种实施方式中,在上述对象存储系统将确定的目标对象节点的节点IP地址,基于前端网络发送至上述对象客户端的过程中,上述第一对象存储节点生成与上述DNS请求对应的DNS回应;将确定的目标对象节点的节点IP地址填充至上述DNS回应中,将携带了确定的目标对象节点的节点IP地址的所述DNS回应,基于前端网络发送至上述对象客户端,以使上述对象客户端对上述DNS回应执行解析后,得到确定的目标对象节点的节点IP地址;
其中,上述DNS回应,是指与上述DNS请求对应DNS应答报文;DNS应答报文的报文格式及字段定义,请参见DNS相关协议这里不再赘述。
在本说明书中,上述对象客户端在接收到上述对象存储系统返回的目标对象节点的节点IP地址后,可以基于目标对象节点的节点IP地址执行对象访问。
例如,对象客户端在接收到上述第一对象存储节点返回的目标对象节点的节点IP地址后,可以基于目标对象节点的节点IP地址执行对象写入(对象上传)或者对象读取(对象下载)。
为了方便整体理解,请参见图4,图4是本申请一实施例提供的另一种对象客户端向对象存储系统写入数据的流程示意图。
图4与图2的组网架构类似,请参见前文中针对图2的描述,这里不再赘述。
如图4所示,当对象客户端向对象存储系统写入数据时主要包括以下步骤:
步骤M1、对象客户端向Node4访问对象存储系统的域名(在该域名访问请求中还携带了桶名和对象名)。
步骤M2、基于该域名访问请求中携带的桶名和对象名,Node4确定实际应写入Node3(具体请参见前文描述的“第一对象存储节点基于接收的上述DNS请求中携带的待执行对象访问的桶名信息和对象名信息,确定与上述DNS请求对应的待执行对象访问的目标对象节点的节点IP地址的过程及示例”)。
步骤M3、Node4基于搭载的DNS服务向对象客户端返回域名对应的Node3对应的IP(具体请参见前文描述的“上述对象存储系统将确定的目标对象节点的节点IP地址,基于前端网络发送至上述对象客户端的过程及示例”)
步骤M4、基于Node3对应的IP,对象客户端向Nod3发起写入数据请求(该写入数据请求实际为应写入Node3)。
步骤M5、在数据直接写入至Node3后,Node3通过前端网络向对象客户端返回数据写入成功响应。
如图4所示的步骤与图2所示的步骤相比,基于图4中所示的步骤,当对象客户端向对象存储系统写入数据时,避免了如图2中步骤S5、S6所示的数据经由后端网络转发的问题。
在以上技术方案中,基于接收对象客户端发送的针对对象存储系统的域名的域名解析请求;响应于域名解析请求,确定与域名解析请求对应的待执行对象访问的目标对象节点的节点IP地址;将确定的目标对象节点的节点IP地址,基于前端网络发送至对象客户端,以使对象客户端基于获取的目标对象节点的节点IP地址执行对象访问。一方面,由于对象客户端可以在域名访问时直接获取目标对象节点的节点IP地址以及执行读写数据完成对象访问,从而提升了对象访问的性能;另一方面,由于避免了对象节点间经后端网络进行读写数据转发,降低了对象存储系统的系统负载及网络负载,提高了对象存储系统性能。
与上述方法实施例相对应,本申请还提供了对象访问装置的实施例。
与上述方法实施例相对应,本说明书还提供了一种对象访问装置的实施例。本说明书的对象访问装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本说明书的对象访问装置所在电子设备的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
图6是本说明书一实施例示出的一种对象访问装置的框图。
请参考图6,所述对象访问装置60可以应用在前述图5所示的电子设备中,所述装置应用于对象存储系统;所述对象存储系统包括若干个对象存储节点;其中,所述若干个对象存储节点之间基于后端网络相连通信,所述若干个对象存储节点基于前端网络与对象客户端相连通信,所述装置包括:
接收模块601,接收所述对象客户端发送的针对对象存储系统的域名的域名解析请求;
确定模块602,响应于所述域名解析请求,确定与所述域名解析请求对应的待执行对象访问的目标对象节点的节点IP地址;
访问模块603,将确定的目标对象节点的节点IP地址,基于所述前端网络发送至所述对象客户端,以使所述对象客户端基于获取的目标对象节点的节点IP地址执行对象访问。
在本实施例中,所述域名解析请求为DNS请求。
在本实施例中,所述若干对象存储节点中包括搭载了DNS服务的第一对象存储节点;
所述接收模块601进一步:
第一对象存储节点接收所述对象客户端发送的针对对象存储系统的域名的DNS请求。
在本实施例中,所述DNS请求中还携带了待执行对象访问的桶名信息和对象名信息;
所述确定模块602进一步:
响应于所述DNS请求,基于接收的所述DNS请求中携带的待执行对象访问的桶名信息和对象名信息,第一对象存储节点确定与所述DNS请求对应的待执行对象访问的目标对象节点的节点IP地址。
在本实施例中,所述若干个对象存储节点中分别部署有一致性哈希运算算法;
所述确定模块602进一步:
将所述DNS请求中携带的待执行对象访问的桶名信息和对象名信息,输入至所述一致性哈希运算算法执行一致性哈希运算,得到对应的虚拟节点编号;
以得到的虚拟节点编号作为查找索引,从预设的虚拟节点与对象节点的对应关系表中,确定与得到的虚拟节点编号对应的第二对象节点的节点IP地址;
将确定的第二对象节点的节点IP地址输出作为所述DNS请求对应的待执行对象访问的目标对象节点的节点IP地址。
在本实施例中,所述访问模块603进一步:
第一对象存储节点生成与所述DNS请求对应的DNS回应;
将确定的目标对象节点的节点IP地址填充至所述DNS回应中,
将携带了确定的目标对象节点的节点IP地址的所述DNS回应,基于所述前端网络发送至所述对象客户端,以使所述对象客户端对所述DNS回应执行解析后,得到确定的目标对象节点的节点IP地址。
在本实施例中,所述对象访问包括对象写入或者对象读取。
在本实施例中,所述对象存储系统为若干个对象存储节点搭建的基于分布式架构的对象存储系统。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

Claims (9)

1.一种对象访问方法,所述方法应用于对象存储系统;所述对象存储系统包括若干个对象存储节点;其中,所述若干个对象存储节点之间基于后端网络相连通信,所述若干个对象存储节点基于前端网络与对象客户端相连通信,所述方法包括:
接收所述对象客户端发送的针对对象存储系统的域名的域名解析请求;
将所述域名解析请求中携带的待执行对象访问的桶名信息和对象名信息,输入至一致性哈希运算算法执行一致性哈希运算,得到对应的虚拟节点编号;
以得到的虚拟节点编号作为查找索引,从预设的虚拟节点与对象节点的对应关系表中,确定与得到的虚拟节点编号对应的第二对象节点的节点IP地址;
将确定的第二对象节点的节点IP地址输出作为所述域名解析请求对应的待执行对象访问的目标对象节点的节点IP地址;
将确定的目标对象节点的节点IP地址,基于所述前端网络发送至所述对象客户端,以使所述对象客户端基于获取的目标对象节点的节点IP地址执行对象访问。
2.根据权利要求1所述的方法,所述域名解析请求为DNS请求。
3.根据权利要求2所述的方法,所述若干对象存储节点中包括搭载了DNS服务的第一对象存储节点;
所述接收所述对象客户端发送的针对对象存储系统的域名的域名解析请求,包括:
第一对象存储节点接收所述对象客户端发送的针对对象存储系统的域名的DNS请求。
4.根据权利要求3所述的方法,所述将确定的目标对象节点的节点IP地址,基于所述前端网络发送至所述对象客户端,包括:
第一对象存储节点生成与所述DNS请求对应的DNS回应;
将确定的目标对象节点的节点IP地址填充至所述DNS回应中,
将携带了确定的目标对象节点的节点IP地址的所述DNS回应,基于所述前端网络发送至所述对象客户端,以使所述对象客户端对所述DNS回应执行解析后,得到确定的目标对象节点的节点IP地址。
5.根据权利要求1所述的方法,所述对象访问包括对象写入或者对象读取。
6.根据权利要求1所述的方法,所述对象存储系统为若干个对象存储节点搭建的基于分布式架构的对象存储系统。
7.一种对象访问装置,所述装置应用于对象存储系统;所述对象存储系统包括若干个对象存储节点;其中,所述若干个对象存储节点之间基于后端网络相连通信,所述若干个对象存储节点基于前端网络与对象客户端相连通信,所述装置包括:
接收模块,接收所述对象客户端发送的针对对象存储系统的域名的域名解析请求;
确定模块,将所述域名解析请求中携带的待执行对象访问的桶名信息和对象名信息,输入至一致性哈希运算算法执行一致性哈希运算,得到对应的虚拟节点编号;以得到的虚拟节点编号作为查找索引,从预设的虚拟节点与对象节点的对应关系表中,确定与得到的虚拟节点编号对应的第二对象节点的节点IP地址;将确定的第二对象节点的节点IP地址输出作为所述域名解析请求对应的待执行对象访问的目标对象节点的节点IP地址;
访问模块,将确定的目标对象节点的节点IP地址,基于所述前端网络发送至所述对象客户端,以使所述对象客户端基于获取的目标对象节点的节点IP地址执行对象访问。
8.一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行如权利要求1至6任一项所述的方法。
9.一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现权利要求1至6任一项所述的方法。
CN202010871080.3A 2020-08-26 2020-08-26 对象访问方法、装置、电子设备及机器可读存储介质 Active CN112040023B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010871080.3A CN112040023B (zh) 2020-08-26 2020-08-26 对象访问方法、装置、电子设备及机器可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010871080.3A CN112040023B (zh) 2020-08-26 2020-08-26 对象访问方法、装置、电子设备及机器可读存储介质

Publications (2)

Publication Number Publication Date
CN112040023A CN112040023A (zh) 2020-12-04
CN112040023B true CN112040023B (zh) 2022-07-29

Family

ID=73581840

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010871080.3A Active CN112040023B (zh) 2020-08-26 2020-08-26 对象访问方法、装置、电子设备及机器可读存储介质

Country Status (1)

Country Link
CN (1) CN112040023B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117278628B (zh) * 2023-11-16 2024-03-19 凌锐蓝信科技(北京)有限公司 数据传输方法、装置、系统、计算机设备和存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634315B (zh) * 2013-11-29 2017-11-10 哈尔滨工业大学(威海) 域名服务器的前端控制方法及系统
CN105897942A (zh) * 2015-09-17 2016-08-24 乐视云计算有限公司 一种域名解析系统及域名解析方法
US10146590B1 (en) * 2016-03-31 2018-12-04 EMC IP Holding Company LLC Automatically deploying a virtualized object store in an open stack tenant name space
CN106210147B (zh) * 2016-09-13 2020-02-07 苏州浪潮智能科技有限公司 一种基于轮询的负载均衡方法和装置
CN107404524B (zh) * 2017-07-24 2020-07-07 郑州云海信息技术有限公司 一种分布式集群节点访问的方法及装置
CN108965154A (zh) * 2018-06-29 2018-12-07 华为技术有限公司 对象存储系统中的业务流量控制方法及装置
CN111147556A (zh) * 2019-12-15 2020-05-12 浪潮电子信息产业股份有限公司 一种负载均衡方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112040023A (zh) 2020-12-04

Similar Documents

Publication Publication Date Title
CN108965007B (zh) Api网关接口配置更新方法及装置
US8689280B2 (en) DNS-based content routing
CN106933871B (zh) 短链接处理方法、装置及短链接服务器
US20130282854A1 (en) Node and method for generating shortened name robust against change in hierarchical name in content-centric network (ccn)
CN108491450A (zh) 数据缓存方法、装置、服务器和存储介质
CN111064804B (zh) 网络访问方法和装置
US10986065B1 (en) Cell-based distributed service architecture with dynamic cell assignment
CN114513488B (zh) 资源访问方法、装置、计算机设备和存储介质
US20230359628A1 (en) Blockchain-based data processing method and apparatus, device, and storage medium
CN109067936A (zh) 一种域名解析的方法及装置
CN110764688B (zh) 对数据进行处理的方法和装置
CN109871354B (zh) 一种文件处理的方法及装置
WO2017095820A1 (en) Methods and devices for acquiring data using virtual machine and host machine
JP2019016042A (ja) データ取得プログラム、装置、及び方法
CN107172214A (zh) 一种具有负载均衡的服务节点发现方法及装置
WO2012114889A1 (ja) アプリケーション構築配置システム、アプリケーション構築配置方法、およびプログラム
CN112040023B (zh) 对象访问方法、装置、电子设备及机器可读存储介质
US8180857B2 (en) Method for downloading file in parallel
CN112307058A (zh) 短链接的处理方法、装置、存储介质及计算机设备
JP2017118248A (ja) 名前解決装置、名前解決方法及び名前解決プログラム
US20180367452A1 (en) Information centric networking over multi-access network interfaces
CN112839071B (zh) 训练系统、训练数据访问方法及装置、电子设备、介质
CN115004657B (zh) 寻址方法、寻址系统以及寻址装置
CN114301872A (zh) 基于域名的访问方法及装置、电子设备、存储介质
EP4086781A1 (en) Data reading method and terminal

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