CN111107119A - 基于云存储系统的数据访问方法、装置、系统及存储介质 - Google Patents

基于云存储系统的数据访问方法、装置、系统及存储介质 Download PDF

Info

Publication number
CN111107119A
CN111107119A CN201811265806.8A CN201811265806A CN111107119A CN 111107119 A CN111107119 A CN 111107119A CN 201811265806 A CN201811265806 A CN 201811265806A CN 111107119 A CN111107119 A CN 111107119A
Authority
CN
China
Prior art keywords
client
management node
external network
address
network address
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
CN201811265806.8A
Other languages
English (en)
Other versions
CN111107119B (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 CN201811265806.8A priority Critical patent/CN111107119B/zh
Publication of CN111107119A publication Critical patent/CN111107119A/zh
Application granted granted Critical
Publication of CN111107119B publication Critical patent/CN111107119B/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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • 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/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • H04L61/2528Translation at a proxy

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于云存储系统的数据访问方法、装置、系统及存储介质,属于网络技术领域。该方法包括:接收来自客户端的请求数据包,该请求数据包的负载内容包括管理节点的地址信息;确定客户端预访问的云存储系统中存储节点的内网地址,当基于管理节点的地址信息确定客户端为外网客户端时,根据存储的内外网地址关系映射表将存储节点的内网地址转换为外网地址,将外网地址发送至客户端。管理节点从负载内容中获取管理节点的地址信息,根据该地址信息可以判断客户端是来自外网还是内网,当确定来自外网时将存储节点的内网地址转换为外网地址后发送给客户端,如此,客户端即可基于该外网地址成功访问对应的存储节点,保证了数据访问的成功率。

Description

基于云存储系统的数据访问方法、装置、系统及存储介质
技术领域
本发明实施例涉及网络技术领域,特别涉及一种基于云存储系统的数据访问方法、装置、系统及存储介质。
背景技术
云存储系统一般包括存储节点和管理节点,存储节点可以用于存储数据,该管理节点可以用于调度存储设备资源。客户端在访问云存储系统时,一般需要向管理节点发送请求消息,该管理节点接收到请求消息后,根据一定的调度策略为该客户端分配存储节点,并将分配的存储节点的地址信息发送给该客户端,如此,客户端即可基于该地址信息访问存储节点。
目前,为了节约IP(Intent Protocol,网络协议)资源,来自外网的客户端在访问内网的云存储系统时,可以采用NAT(Network Address Translation,网络地址转换)设备对外网地址和内网地址进行转换。譬如,该客户端可以向NAT设备发送请求数据包,该请求数据包的包头包括管理节点的外网地址,NAT设备将该外网地址转化为内网地址,将转换后的请求数据包转发给管理节点,以使管理节点为客户端分配存储节点,并将存储节点的外网地址发送给该客户端,以便于该客户端可以基于该外网地址访问存储节点。
然而,访问云存储系统的客户端可能来自外网,也可能来自内网。当该客户端是来自内网时,若管理节点将存储节点的外网地址发送给该客户端,将导致客户端无法与存储节点成功建立链接,从而导致客户端访问云存储系统失败。
发明内容
本发明实施例提供了一种基于云存储系统的数据访问方法、装置、系统及存储介质,可以解决相关技术中所述的客户端无法成功访问云存储系统的问题。所述技术方案如下:
第一方面,提供了一种基于云存储系统的数据访问方法,应用于云存储系统的管理节点中,所述方法包括:
接收来自客户端的请求数据包,所述请求数据包的负载内容包括所述管理节点的地址信息;
确定所述客户端预访问的云存储系统中存储节点的内网地址;
当基于所述管理节点的地址信息确定所述客户端为外网客户端时,根据存储的内外网地址关系映射表将所述存储节点的内网地址转换为外网地址;
将所述外网地址发送至所述客户端。
可选地,所述确定所述客户端访问的云存储系统中存储节点的内网地址之后,还包括:
如果所述管理节点的地址信息与预设地址信息不相同,则确定所述客户端为外网客户端;
如果所述管理节点的地址信息与所述预设地址信息相同,则确定所述客户端为内网客户端。
可选地,所述确定所述客户端访问的云存储系统中存储节点的内网地址之后,还包括:
当基于所述管理节点的地址信息确定所述客户端为内网客户端时,将所述存储节点的内网地址发送至所述客户端。
可选地,所述根据存储的内外网地址关系映射表将所述存储节点的内网地址转换为外网地址之前,还包括:
接收映射表配置指令,所述映射表配置指令中携带所述内外网地址关系映射表;
将所述内外网地址关系映射表存储至本地。
可选地,所述接收来自客户端的请求数据包,包括:
接收网络地址转换NAT设备发送的请求数据包,所述NAT设备用于接收所述客户端发送的请求数据包,将所述请求数据包进行转换处理,将转换处理后的请求数据包转发给所述管理节点。
第二方面,提供了一种基于云存储系统的数据访问装置,配置于云存储系统的管理节点中,所述装置包括:
第一接收模块,用于接收来自客户端的请求数据包,所述请求数据包的负载内容包括所述管理节点的地址信息;
确定模块,用于确定所述客户端预访问的云存储系统中存储节点的内网地址;
转换模块,用于当基于所述管理节点的地址信息确定所述客户端为外网客户端时,根据存储的内外网地址关系映射表将所述存储节点的内网地址转换为外网地址;
发送模块,用于将所述外网地址发送至所述客户端。
可选地,所述确定模块还用于:
如果所述管理节点的地址信息与预设地址信息不相同,则确定所述客户端为外网客户端;
如果所述管理节点的地址信息与所述预设地址信息相同,则确定所述客户端为内网客户端。
可选地,所述确定模块还用于:
当基于所述管理节点的地址信息确定所述客户端为内网客户端时,将所述存储节点的内网地址发送至所述客户端。
可选地,所述装置还包括:
第二接收模块,用于接收映射表配置指令,所述映射表配置指令中携带所述内外网地址关系映射表;
存储模块,用于将所述内外网地址关系映射表存储至本地。
可选地,所述第一接收模块用于:
接收网络地址转换NAT设备发送的请求数据包,所述NAT设备用于接收所述客户端发送的请求数据包,将所述请求数据包进行转换处理,将转换处理后的请求数据包转发给所述管理节点。
第三方面,提供了基于云存储系统的数据访问系统,所述系统包括客户端、网络地址转换设备和云存储系统,所述云存储系统包括管理节点和存储节点,所述系统包括:
所述客户端,用于向所述管理节点发送请求数据包,所述请求数据包的负载内容包括所述管理节点的地址信息;
所述网络地址转换设备,用于当所述客户端为外网客户端时,向所述管理节点转发所述客户端发送的请求数据包;
所述管理节点,用于接收来自所述客户端的请求数据包;
所述管理节点,用于确定所述客户端预访问的云存储系统中存储节点的内网地址;
所述管理节点,用于当基于所述管理节点的地址信息确定所述客户端为外网客户端时,根据存储的内外网地址关系映射表将所述存储节点的内网地址转换为外网地址;
所述管理节点,用于将所述外网地址发送至所述客户端。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现第一方面所述的基于云存储系统的数据访问方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的基于云存储系统的数据访问方法。
本发明实施例提供的技术方案带来的有益效果是:
管理节点接收来自客户端的请求数据包,确定该客户端预访问的云存储系统中存储节点的内网地址。由于当客户端为外网客户端时请求数据包的包头会被修改,因此,为了保证管理节点可以获知该请求数据包是来自外网还是来自内网,该请求数据包的负载内容携带管理节点的地址信息。当基于该管理节点的地址信息确定该客户端为外网客户端时,根据存储的内外网地址关系映射表将存储节点的内网地址转换为外网地址,将外网地址发送给客户端,使得该客户端基于该外网地址可以成功访问对应的存储节点,保证了数据访问的成功率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种实施环境的示意图;
图2是根据一示例性实施例示出的一种基于云存储系统的数据访问方法流程图;
图3是根据另一示例性实施例示出的一种基于云存储系统的数据访问方法流程图;
图4是根据一示例性实施例示出的一种基于云存储系统的数据访问装置的结构示意图;
图5是根据另一示例性实施例示出的一种基于云存储系统的数据访问装置的结构示意图;
图6是根据另一示例性实施例示出的一种客户端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
对本发明实施例提供的基于云存储系统的数据访问方法进行详细介绍之前,先对本发明实施例涉及的应用场景和实施环境进行简单介绍。
在一些实施例中,当来自外网的客户端访问内网的云存储系统时,需要经过网络地址转换设备转发,譬如,该网络地址转换设备可以为NAT设备。具体地,客户端向NAT设备发送请求数据包,该请求数据包的包头一般包括源地址信息和目的地址信息,该源地址信息是指客户端的地址信息,该目的地址信息是指客户端预访问的管理节点的外网地址。NAT设备接收到该请求数据包后,将包头的目标地址信息转换为内网地址,并将转换后的请求数据包发送给管理节点。如此以来,无论是内网客户端还是外网客户端来访问,对于管理节点来说,所接收的请求数据包的包头中的目的地址信息均是管理节点的内网地址,导致管理节点无法判断该请求数据包是来自外网还是来自内网。在一种可能的实现方式中,如果该客户端是来自内网,而该管理节点却返回存储节点的外网地址,客户端将无法基于该外网地址来访问该存储节点。或者,如果该客户端来自外网,而该管理节点却返回存储节点的内网地址,客户端也将无法基于该内网地址来访问该存储节点。为此,本发明实施例提供了一种基于云存储系统的数据访问方法来解决该问题,以保证客户端能够成功访问云存储系统中的存储节点。其具体实现过程请参见如下图2和图3所示的实施例。
其次,对本发明实施例涉及的实施环境进行简单介绍。
请参考图1,该图1是根据一示例性实施例示出的一种实施环境的示意图。该实施环境中主要包括客户端110和云存储系统120,该云存储系统120主要包括管理节点120a和存储节点120b,该客户端110可以通过有线网络或者无线网络分别与管理节点120a和存储节点120b建立连接。
其中,该客户端110可以访问云存储系统120,譬如,可以向云存储系统120中的存储节点120b写入数据,也可以从该云存储系统120的存储节点120b中读取数据等。在一些实施例中,该客户端110可以配置在计算机设备中,譬如,该计算机设备可以为平板电脑、台式计算机、笔记本电脑、便携式计算机等等,本发明实施例对此不做限定。
其中,该管理节点120a用于管理存储设备资源信息,譬如,可以根据一定的分配策略为客户端分配存储节点资源。
其中,该存储节点120b用于提供存储资源,负责对数据进行存储,以及支持数据读取。在一种可能的实现方式中,该存储节点120b可以提供有具有数据读取功能的模块或者服务器等。
进一步地,该实施环境中还可以包括NAT设备130,该NAT设备130用于进行内网地址与外网地址之间的地址信息转换,以实现外网客户端对内网云存储系统的访问。
在介绍完本发明实施例涉及的应用场景和实施环境后,接下来将结合附图对本发明实施例提供的基于云存储系统的数据访问方法进行详细介绍。在实施中,由于数据访问包括数据写入和数据读取两种方式,因此,接下来将通过图2和图3所示实施例对上述两种数据访问方式分别进行详细介绍。
请参考图2,图2是根据一示例性实施例示出的一种基于云存储系统的数据访问方法流程图,这里以该数据访问为数据写入为例,此时客户端发送的请求数据包为数据写入请求包,该基于云存储系统的数据访问方法可以应用于上述图1所述的实施环境中,该方法可以包括如下几个实现步骤:
步骤201:接收来自客户端的数据写入请求包,该数据写入请求包的负载内容包括该管理节点的地址信息。
通常情况下,云存储系统的信令通道与数据通道是分离的,客户端在访问云存储系统时,一般可以通过信令通道,按照某种协议向管理节点发送数据写入请求包。其中,该协议可以包括但不限于HTTP(File Transfer Protocol,文件传输协议)、TELNET协议、FINGER协议、NTP(Network Time Protocol,网络时间协议)、NFS(Network File S5stem,网络文件系统)、RLOGIN协议、SIP(Session Initiation Protocol,会话初始协议)、FTP(FileTransfer Protocol,文件传输协议)。
进一步地,该客户端可以在接收到数据写入指令时,向管理节点发送数据写入请求包。该数据写入指令可以由用户触发,该用户可以通过指定操作触发,该指定操作可以为点击操作、滑动操作等等。其中,该数据写入请求包的包头包括源地址信息和目的地址信息,该源地址信息为该客户端的地址信息,该目的地址信息为该管理节点的地址信息。
譬如,该客户端可以提供有数据写入选项,用户可以点击该数据写入选项以触发该数据写入指令,该客户端接收到该数据写入指令后,获取源地址信息和预访问的管理节点的地址信息,生成该数据写入请求包,向管理节点发送该数据写入请求包。
如前文所述,访问云存储系统的客户端可能是来自于外网,也可能是来自于内网,当该客户端来自不同网络时,管理节点接收来自客户端的数据写入请求包的实现方式也不同,具体可以包括如下两种可能的实现方式:
第一种实现方式:接收客户端发送的数据写入请求包。
也就是说,当该客户端是来自于内网时,可以直接向该管理节点发送该数据写入请求包,即此时不需要经过NAT设备转发数据写入请求包。
第二种实现方式:接收网络地址转换NAT设备发送的数据写入请求包,该NAT设备用于接收该客户端发送的数据写入请求包,将该数据写入请求包进行转换处理,将转换处理后的数据写入请求包转发给该管理节点。
在该种实现方式中,当该客户端来自于外网时,该客户端需要通过NAT设备向管理节点发送数据写入请求包。在此过程中,NAT设备对客户端发送的数据写入请求包的包头进行修改,得到转换处理后的数据写入请求包,并将转换处理后得到的数据写入请求包发送给管理节点。
在上述第二种实现方式中,由于数据写入请求包在经过NAT设备时包头内的目的地址信息会被修改,因此,为了便于管理节点可以获知该数据写入请求包是来自内网客户端还是来自外网客户端,可以在该数据写入请求包的负载内容中携带管理节点的地址信息。
需要说明的是,无论是内网客户端发送来的数据写入请求包,还是外网客户端发送来的数据写入请求包,该数据写入请求包的负载内容是不会被修改的。
需要说明的是,本发明实施例中涉及的地址信息包括IP地址和端口号信息,譬如,外网地址包括外网IP地址和外网端口号,内网地址包括内网IP地址和内网端口号。
步骤202:根据资源分配调度策略,为该客户端分配存储节点。
管理节点需要确定该客户端预访问的云存储系统中存储节点的内网地址。在数据写入过程中,管理节点根据资源分配调度策略,为该客户端分配存储节点,并确定所分配的存储节点的内网地址。其中,该资源分配调度策略可以预先进行设置,譬如,该管理节点可以根据负载均衡、资源调度、资源分配等情况,为该客户端分配存储节点。
步骤203:从负载内容中获取该管理节点的地址信息。
由于负载内容没有被修改,因此,该负载内容中携带的管理节点的地址信息可以用于说明访问的客户端的来自于内网还是来自于外网。所以,为了便于后续使得客户端与存储节点之间成功建立链接,该管理节点对该数据写入请求包进行解析,从该数据写入请求包的负载内容中获取存储节点的地址信息。
需要说明的是,上述步骤202和步骤203之间没有先后执行顺序。
进一步地,从负载内容中获取该管理节点的地址信息之后,判断该客户端为外网客户端还是内网客户端,在实施中,可以将所获取的管理节点的地址信息与预设地址信息进行比较,如果该管理节点的地址信息与预设地址信息不相同,则确定该客户端为外网客户端,如果该管理节点的地址信息与该预设地址信息相同,则确定该客户端为内网客户端。
其中,该预设地址信息一般为该管理节点的本地地址信息,即该管理节点存储有自身的本地地址信息,如此,可以将从负载内容中获取的管理节点的地址信息与该本地地址信息进行比较,即判断该管理节点的地址信息与本地地址信息是否相同。当该管理节点的地址信息与本地地址信息不相同,则说明该客户端与本端的网络类型不相同,从而可以确定该客户端为外网客户端;当该管理节点的地址信息与该预设地址信息相同,则确定该客户端与本端的网络类型相同,从而可以确定该客户端为内网客户端。
进一步地,当确定该客户端为外网客户端时,执行如下步骤204,当确定该客户端为内网客户端时,执行如下步骤205。
步骤204:当基于该管理节点的地址信息确定客户端为外网客户端时,根据存储的内外网地址关系映射表将该存储节点的内网地址转换为外网地址,将该外网地址发送至该客户端。
当基于管理节点的地址信息确定客户端为外网客户端时,为了保证客户端能够成功将数据写入所分配的存储节点,可以从预先存储的内外网地址关系映射表中查询所分配的存储节点的内网地址对应的外网地址,以将该存储节点的内网地址转换为外网地址,并将转换后得到的外网地址发送给客户端,以保证来自外网的客户端可以成功将数据写入该外网地址对应的存储节点。其中,该内外网地址关系映射表用于存储存储节点的内网地址与外网地址之间的映射关系。
进一步地,可以预先在管理节点中配置该内外网地址关系映射表,也即是,在根据存储的内外网地址关系映射表将存储节点的内网地址转换为外网地址之前,管理节点接收映射表配置指令,该映射表配置指令中携带该内外网地址关系映射表,将该内外网地址关系映射表存储至本地。
其中,该映射表配置指令可以由用户触发,该用户可以通过指定操作触发。譬如,该管理节点可以提供有配置显示界面,该配置显示界面可以包括配置选项和确认选项,用户可以点击该配置选项进行内外网地址关系映射表配置,并点击该确定选项与触发携带该内外网地址关系映射表的映射表配置指令,管理节点将该内外网地址关系映射表存储至本地。如此,管理节点即可基于该内外网地址关系映射表,将存储节点的内网地址转换为对应的外网地址。
通常来说,存储系统部署实施后,网络拓扑基本不再发生变化,管理节点只需要在本地进行地址映射转换处理,如此,可以快速实现数据访问。
需要说明的是,该内外网地址关系映射表中的映射关系可以采用静态转换NAT模式,也可以采用端口多路复用NAPT(Network Address Port Translation,网络地址端口转换)模式。其中,静态转换NAT模式是指存储节点的内网地址与外网地址是一对一关系,即某个内网地址只可转换为唯一的外网地址。该端口多路复用NAPT模式是指管理节点可以共享同一个IP地址,但使用不同的端口号,从而使得管理节点的内网地址可以对应不同的外网地址。
步骤205:当基于管理节点的地址信息确定该客户端为内网客户端时,将存储节点的内网地址发送至客户端。
如果基于该管理节点的地址信息确定客户端为内网客户端,则该管理节点将所确定的存储节点的内网地址发送给该客户端,以保证来自内网的客户端可以基于该内网地址成功将数据写入对应的存储节点中。
在本发明实施例中,管理节点接收来自客户端的请求数据包,确定该客户端预访问的云存储系统中存储节点的内网地址。由于当客户端为外网客户端时请求数据包的包头会被修改,因此,为了保证管理节点可以获知该请求数据包是来自外网还是来自内网,该请求数据包的负载内容携带管理节点的地址信息。当基于该管理节点的地址信息确定该客户端为外网客户端时,根据存储的内外网地址关系映射表将存储节点的内网地址转换为外网地址,将外网地址发送给客户端,使得该客户端基于该外网地址可以成功访问对应的存储节点,保证了数据访问的成功率。
请参考图3,图3是根据另一示例性实施例示出的一种基于云存储系统的数据访问方法流程图,这里以该数据访问为数据读取为例,此时客户端发送的请求数据包为数据读取请求包,该基于云存储系统的数据访问方法可以应用于上述图1所述的实施环境中,该方法可以包括如下几个实现步骤:
步骤301:接收来自客户端的数据读取请求包,该数据读取请求包的负载内容包括该管理节点的地址信息。
通常情况下,云存储系统的信令通道与数据通道是分离的,客户端在访问云存储系统时,一般可以通过信令通道,按照某种协议向管理节点发送数据读取请求包。其中,该协议可以包括但不限于HTTP(File Transfer Protocol,文件传输协议)、TELNET协议、FINGER协议、NTP(Network Time Protocol,网络时间协议)、NFS(Network File S5stem,网络文件系统)、RLOGIN协议、SIP(Session Initiation Protocol,会话初始协议)、FTP(FileTransfer Protocol,文件传输协议)。
进一步地,该客户端可以在接收到数据读取指令时,向管理节点发送数据读取请求包。该数据读取指令可以由用户触发,该用户可以通过指定操作触发,该指定操作可以为点击操作、滑动操作等等。其中,该数据读取请求包的包头包括源地址信息和目的地址信息,该源地址信息为该客户端的地址信息,该目的地址信息为该管理节点的地址信息。
譬如,该客户端可以提供有数据读取选项,用户可以点击该数据读取选项以触发该数据读取指令,该客户端接收到该数据读取指令后,获取源地址信息和预访问的管理节点的地址信息,生成该数据读取请求包,向管理节点发送该数据读取请求包。
如前文所述,访问云存储系统的客户端可能是来自于外网,也可能是来自于内网,当该客户端来自不同网络时,管理节点接收来自客户端的数据读取请求包的实现方式也不同,具体可以包括如下两种可能的实现方式:
第一种实现方式:接收客户端发送的数据读取请求包。
也就是说,当该客户端是来自于内网时,可以直接向该管理节点发送该数据读取请求包,即此时不需要经过NAT设备转发数据读取请求包。
第二种实现方式:接收网络地址转换NAT设备发送的数据读取请求包,该NAT设备用于接收该客户端发送的数据读取请求包,将该数据读取请求包进行转换处理,将转换处理后的数据读取请求包转发给该管理节点。
在该种实现方式中,当该客户端来自于外网时,该客户端需要通过NAT设备向管理节点发送数据读取请求包。在此过程中,NAT设备对客户端发送的数据读取请求包的包头进行修改,得到转换处理后的数据读取请求包,并将转换处理后得到的数据读取请求包发送给管理节点。
在上述第二种实现方式中,由于数据读取请求包在经过NAT设备时包头内的目的地址信息会被修改,因此,为了便于管理节点可以获知该数据读取请求包是来自内网客户端还是来自外网客户端,可以在该数据读取请求包的负载内容中携带管理节点的地址信息。
需要说明的是,无论是内网客户端发送来的数据读取请求包,还是外网客户端发送来的数据读取请求包,该数据读取请求包的负载内容是不会被修改的。
另外,该数据读取请求包的负载内容中还可以包括客户端预读取的数据的数据标识和所处的时间范围,该数据标识可以用于唯一标识一个数据。
其中,该时间范围可以由用户根据实际需求自定义设置,也可以由该客户端默认设置,本发明实施例对此不作限定。
需要说明的是,本发明实施例中涉及的地址信息包括IP地址和端口号信息,譬如,外网地址包括外网IP地址和外网端口号,内网地址包括内网IP地址和内网端口号。
步骤302:确定该客户端预读取的数据所存储的存储节点。
管理节点需要确定该客户端预访问的云存储系统中存储节点的内网地址。在一些实施例中,如前文所述,该数据读取请求包可以包括客户端预读取的数据的数据标识和所处的时间范围,在该种情况下,管理节点基于该数据标识和时间范围,从存储系统中确定该客户端预读取的数据所在的存储节点,并确定该存储节点的内网地址。
需要说明的是,上述仅是以在数据读取请求包中携带客户端预读取的数据的数据标识和所处的时间范围为例进行说明,在另一实施例中,客户端还可以以单独的数据包来传输预读取的数据的数据标识和所处的时间范围,本发明实施例对此不作限定。
另外,上述仅是以在数据读取请求包中携带客户端预读取的数据的数据标识和所处的时间范围为例,在另一实施例中,还可以在数据读取请求包中携带客户端预读取的数据的其它信息,只要该其它信息能够用于指示该数据在存储系统中所在的存储节点即可,以便于管理节点基于该其它信息确定预读取的数据所在的存储节点,本发明实施例对此不做限定。
步骤303:从负载内容中获取该管理节点的地址信息。
由于负载内容没有被修改,因此,该负载内容中携带的管理节点的地址信息可以用于说明访问的客户端的来自于内网还是来自于外网。所以,为了便于后续使得客户端与存储节点之间成功建立链接,该管理节点对该数据读取请求包进行解析,从数据读取请求包的负载内容中获取存储节点的地址信息。
需要说明的是,上述步骤202和步骤203之间没有先后执行顺序。
进一步地,从负载内容中获取该管理节点的地址信息之后,判断该客户端为外网客户端还是内网客户端,在实施中,可以将所获取的管理节点的地址信息与预设地址信息进行比较,如果该管理节点的地址信息与预设地址信息不相同,则确定该客户端为外网客户端,如果该管理节点的地址信息与该预设地址信息相同,则确定该客户端为内网客户端。
其中,该预设地址信息一般为该管理节点的本地地址信息,即该管理节点存储有自身的本地地址信息,如此,可以将从负载内容中获取的管理节点的地址信息与该本地地址信息进行比较,即判断该管理节点的地址信息与本地地址信息是否相同。当该管理节点的地址信息与本地地址信息不相同,则说明该客户端与本端的网络类型不相同,从而可以确定该客户端为外网客户端;当该管理节点的地址信息与该预设地址信息相同,则确定该客户端与本端的网络类型相同,从而可以确定该客户端为内网客户端。
进一步地,当确定该客户端为外网客户端时,执行如下步骤204,当确定该客户端为内网客户端时,执行如下步骤205。
步骤304:当基于该管理节点的地址信息确定客户端为外网客户端时,根据存储的内外网地址关系映射表将该存储节点的内网地址转换为外网地址,将该外网地址发送至该客户端。
当基于管理节点的地址信息确定客户端为外网客户端时,为了保证客户端能够成功从确定的存储节点中读取数据,可以从预先存储的内外网地址关系映射表中查询所分配的存储节点的内网地址对应的外网地址,以将该存储节点的内网地址转换为外网地址,并将转换后得到的外网地址发送给客户端,以保证来自外网的客户端可以成功从该外网地址对应的存储节点中读取数据。其中,该内外网地址关系映射表用于存储存储节点的内网地址与外网地址之间的映射关系。
进一步地,可以预先在管理节点中配置该内外网地址关系映射表,也即是,在根据存储的内外网地址关系映射表将存储节点的内网地址转换为外网地址之前,管理节点接收映射表配置指令,该映射表配置指令中携带该内外网地址关系映射表,将该内外网地址关系映射表存储至本地。
其中,该映射表配置指令可以由用户触发,该用户可以通过指定操作触发。譬如,该管理节点可以提供有配置显示界面,该配置显示界面可以包括配置选项和确认选项,用户可以点击该配置选项进行内外网地址关系映射表配置,并点击该确定选项与触发携带该内外网地址关系映射表的映射表配置指令,管理节点将该内外网地址关系映射表存储至本地。如此,管理节点即可基于该内外网地址关系映射表,将存储节点的内网地址转换为对应的外网地址。
通常来说,存储系统部署实施后,网络拓扑基本不再发生变化,管理节点只需要在本地进行地址映射转换处理,如此,可以快速实现数据访问。
需要说明的是,该内外网地址关系映射表中的映射关系可以采用静态转换NAT模式,也可以采用端口多路复用NAPT(Network Address Port Translation,网络地址端口转换)模式。其中,静态转换NAT模式是指存储节点的内网地址与外网地址是一对一关系,即某个内网地址只可转换为唯一的外网地址。该端口多路复用NAPT模式是指管理节点可以共享同一个IP地址,但使用不同的端口号,从而使得管理节点的内网地址可以对应不同的外网地址。
步骤305:当基于管理节点的地址信息确定该客户端为内网客户端时,将存储节点的内网地址发送至客户端。
如果基于该管理节点的地址信息确定客户端为内网客户端,则该管理节点将所确定的存储节点的内网地址发送给该客户端,以保证来自内网的客户端可以基于该内网地址,成功从对应的存储节点中读取数据。
在本发明实施例中,管理节点接收来自客户端的请求数据包,确定该客户端预访问的云存储系统中存储节点的内网地址。由于当客户端为外网客户端时请求数据包的包头会被修改,因此,为了保证管理节点可以获知该请求数据包是来自外网还是来自内网,该请求数据包的负载内容携带管理节点的地址信息。当基于该管理节点的地址信息确定该客户端为外网客户端时,根据存储的内外网地址关系映射表将存储节点的内网地址转换为外网地址,将外网地址发送给客户端,使得该客户端基于该外网地址可以成功访问对应的存储节点,保证了数据访问的成功率。
图4是根据一示例性实施例示出的一种基于云存储系统的数据访问装置的结构示意图,该基于云存储系统的数据访问装置可以由软件、硬件或者两者的结合实现。该基于云存储系统的数据访问装置可以包括:
第一接收模块410,用于接收来自客户端的请求数据包,所述请求数据包的负载内容包括所述管理节点的地址信息;
确定模块420,用于确定所述客户端预访问的云存储系统中存储节点的内网地址;
转换模块430,用于当基于所述管理节点的地址信息确定所述客户端为外网客户端时,根据存储的内外网地址关系映射表将所述存储节点的内网地址转换为外网地址;
发送模块440,用于将所述外网地址发送至所述客户端。
可选地,所述确定模块420还用于:
如果所述管理节点的地址信息与预设地址信息不相同,则确定所述客户端为外网客户端;
如果所述管理节点的地址信息与所述预设地址信息相同,则确定所述客户端为内网客户端。
可选地,所述确定模块420还用于:
当基于所述管理节点的地址信息确定所述客户端为内网客户端时,将所述存储节点的内网地址发送至所述客户端。
可选地,请参考图5,所述装置还包括:
第二接收模块450,用于接收映射表配置指令,所述映射表配置指令中携带所述内外网地址关系映射表;
存储模块460,用于将所述内外网地址关系映射表存储至本地。
可选地,所述第一接收模块410用于:
接收网络地址转换NAT设备发送的请求数据包,所述NAT设备用于接收所述客户端发送的请求数据包,将所述请求数据包进行转换处理,将转换处理后的请求数据包转发给所述管理节点。
在本发明实施例中,管理节点接收来自客户端的请求数据包,确定该客户端预访问的云存储系统中存储节点的内网地址。由于当客户端为外网客户端时请求数据包的包头会被修改,因此,为了保证管理节点可以获知该请求数据包是来自外网还是来自内网,该请求数据包的负载内容携带管理节点的地址信息。当基于该管理节点的地址信息确定该客户端为外网客户端时,根据存储的内外网地址关系映射表将存储节点的内网地址转换为外网地址,将外网地址发送给客户端,使得该客户端基于该外网地址可以成功访问对应的存储节点,保证了数据访问的成功率。
需要说明的是:上述实施例提供的基于云存储系统的数据访问装置在实现基于云存储系统的数据访问方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于云存储系统的数据访问装置与基于云存储系统的数据访问方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图6是根据一示例性实施例示出的一种客户端的结构示意图。具体来讲:
客户端500包括中央处理单元(CPU)501、包括随机存取存储器(RAM)502和只读存储器(ROM)503的系统存储器504,以及连接系统存储器504和中央处理单元501的系统总线505。客户端500还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)506,和用于存储操作系统513、应用程序514和其他程序模块515的大容量存储设备507。
基本输入/输出系统506包括有用于显示信息的显示器508和用于用户输入信息的诸如鼠标、键盘之类的输入设备509。其中显示器508和输入设备509都通过连接到系统总线505的输入输出控制器510连接到中央处理单元501。基本输入/输出系统506还可以包括输入输出控制器510以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器510还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备507通过连接到系统总线505的大容量存储控制器(未示出)连接到中央处理单元501。大容量存储设备507及其相关联的计算机可读介质为客户端500提供非易失性存储。也就是说,大容量存储设备507可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器504和大容量存储设备507可以统称为存储器。
根据本申请的各种实施例,客户端500还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即客户端500可以通过连接在系统总线505上的网络接口单元511连接到网络512,或者说,也可以使用网络接口单元511来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。所述一个或者一个以上程序包含用于进行本申请实施例提供的存储系统的访问方法。
本申请实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由客户端的处理器执行时,使得客户端能够执行上述图2和图3所示实施例提供的基于云存储系统的数据访问方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述图2和图3所示实施例提供的基于云存储系统的数据访问方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种基于云存储系统的数据访问方法,应用于云存储系统的管理节点中,其特征在于,所述方法包括:
接收来自客户端的请求数据包,所述请求数据包的负载内容包括所述管理节点的地址信息;
确定所述客户端预访问的云存储系统中存储节点的内网地址;
当基于所述管理节点的地址信息确定所述客户端为外网客户端时,根据存储的内外网地址关系映射表将所述存储节点的内网地址转换为外网地址;
将所述外网地址发送至所述客户端。
2.如权利要求1所述的方法,其特征在于,所述确定所述客户端访问的云存储系统中存储节点的内网地址之后,还包括:
如果所述管理节点的地址信息与预设地址信息不相同,则确定所述客户端为外网客户端;
如果所述管理节点的地址信息与所述预设地址信息相同,则确定所述客户端为内网客户端。
3.如权利要求1或2所述的方法,其特征在于,所述确定所述客户端访问的云存储系统中存储节点的内网地址之后,还包括:
当基于所述管理节点的地址信息确定所述客户端为内网客户端时,将所述存储节点的内网地址发送至所述客户端。
4.如权利要求1所述的方法,其特征在于,所述根据存储的内外网地址关系映射表将所述存储节点的内网地址转换为外网地址之前,还包括:
接收映射表配置指令,所述映射表配置指令中携带所述内外网地址关系映射表;
将所述内外网地址关系映射表存储至本地。
5.如权利要求1所述的方法,其特征在于,所述接收来自客户端的请求数据包,包括:
接收网络地址转换NAT设备发送的请求数据包,所述NAT设备用于接收所述客户端发送的请求数据包,将所述请求数据包进行转换处理,将转换处理后的请求数据包转发给所述管理节点。
6.一种基于云存储系统的数据访问装置,配置于云存储系统的管理节点中,其特征在于,所述装置包括:
第一接收模块,用于接收来自客户端的请求数据包,所述请求数据包的负载内容包括所述管理节点的地址信息;
确定模块,用于确定所述客户端预访问的云存储系统中存储节点的内网地址;
转换模块,用于当基于所述管理节点的地址信息确定所述客户端为外网客户端时,根据存储的内外网地址关系映射表将所述存储节点的内网地址转换为外网地址;
发送模块,用于将所述外网地址发送至所述客户端。
7.如权利要求6所述的装置,其特征在于,所述确定模块还用于:
如果所述管理节点的地址信息与预设地址信息不相同,则确定所述客户端为外网客户端;
如果所述管理节点的地址信息与所述预设地址信息相同,则确定所述客户端为内网客户端。
8.如权利要求6或7所述的装置,其特征在于,所述确定模块还用于:
当基于所述管理节点的地址信息确定所述客户端为内网客户端时,将所述存储节点的内网地址发送至所述客户端。
9.如权利要求6所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于接收映射表配置指令,所述映射表配置指令中携带所述内外网地址关系映射表;
存储模块,用于将所述内外网地址关系映射表存储至本地。
10.如权利要求6所述的装置,其特征在于,所述第一接收模块用于:
接收网络地址转换NAT设备发送的请求数据包,所述NAT设备用于接收所述客户端发送的请求数据包,将所述请求数据包进行转换处理,将转换处理后的请求数据包转发给所述管理节点。
11.一种基于云存储系统的数据访问系统,其特征在于,所述系统包括客户端、网络地址转换设备和云存储系统,所述云存储系统包括管理节点和存储节点,所述系统包括:
所述客户端,用于向所述管理节点发送请求数据包,所述请求数据包的负载内容包括所述管理节点的地址信息;
所述网络地址转换设备,用于当所述客户端为外网客户端时,向所述管理节点转发所述客户端发送的请求数据包;
所述管理节点,用于接收来自所述客户端的请求数据包;
所述管理节点,用于确定所述客户端预访问的云存储系统中存储节点的内网地址;
所述管理节点,用于当基于所述管理节点的地址信息确定所述客户端为外网客户端时,根据存储的内外网地址关系映射表将所述存储节点的内网地址转换为外网地址;
所述管理节点,用于将所述外网地址发送至所述客户端。
12.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现权利要求1-5所述的任一项方法的步骤。
CN201811265806.8A 2018-10-29 2018-10-29 基于云存储系统的数据访问方法、装置、系统及存储介质 Active CN111107119B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811265806.8A CN111107119B (zh) 2018-10-29 2018-10-29 基于云存储系统的数据访问方法、装置、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811265806.8A CN111107119B (zh) 2018-10-29 2018-10-29 基于云存储系统的数据访问方法、装置、系统及存储介质

Publications (2)

Publication Number Publication Date
CN111107119A true CN111107119A (zh) 2020-05-05
CN111107119B CN111107119B (zh) 2022-08-09

Family

ID=70419568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811265806.8A Active CN111107119B (zh) 2018-10-29 2018-10-29 基于云存储系统的数据访问方法、装置、系统及存储介质

Country Status (1)

Country Link
CN (1) CN111107119B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112637367A (zh) * 2021-03-09 2021-04-09 武汉绿色网络信息服务有限责任公司 基于家庭网络的文件分享方法、装置、设备及存储介质
CN114124926A (zh) * 2021-04-02 2022-03-01 北京京东拓先科技有限公司 数据传输方法、设备、存储介质及计算机程序产品
CN114363418A (zh) * 2022-01-07 2022-04-15 北京金山云网络技术有限公司 访问内网数据库的方法、装置、存储介质以及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101083565A (zh) * 2006-05-29 2007-12-05 腾讯科技(深圳)有限公司 一种检测网络类型的方法及系统
CN101136929A (zh) * 2007-10-19 2008-03-05 杭州华三通信技术有限公司 因特网小型计算机系统接口数据传输方法及设备
CN101325553A (zh) * 2008-08-04 2008-12-17 杭州华三通信技术有限公司 Iscsi数据穿越nat的方法和内网存储系统
CN101651721A (zh) * 2008-08-14 2010-02-17 百度在线网络技术(北京)有限公司 网络地址转换设备类型的判断方法和系统
CN102347990A (zh) * 2011-11-17 2012-02-08 杭州华三通信技术有限公司 一种tcp连接建立的方法和设备
CN105991660A (zh) * 2015-01-27 2016-10-05 杭州海康威视系统技术有限公司 一种多云存储系统间资源共享的系统
WO2018187212A1 (en) * 2017-04-03 2018-10-11 Listat Ltd. Methods and apparatus for hypersecure last mile communication

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101083565A (zh) * 2006-05-29 2007-12-05 腾讯科技(深圳)有限公司 一种检测网络类型的方法及系统
CN101136929A (zh) * 2007-10-19 2008-03-05 杭州华三通信技术有限公司 因特网小型计算机系统接口数据传输方法及设备
CN101325553A (zh) * 2008-08-04 2008-12-17 杭州华三通信技术有限公司 Iscsi数据穿越nat的方法和内网存储系统
CN101651721A (zh) * 2008-08-14 2010-02-17 百度在线网络技术(北京)有限公司 网络地址转换设备类型的判断方法和系统
CN102347990A (zh) * 2011-11-17 2012-02-08 杭州华三通信技术有限公司 一种tcp连接建立的方法和设备
CN105991660A (zh) * 2015-01-27 2016-10-05 杭州海康威视系统技术有限公司 一种多云存储系统间资源共享的系统
WO2018187212A1 (en) * 2017-04-03 2018-10-11 Listat Ltd. Methods and apparatus for hypersecure last mile communication

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
蒙元胜: "基于UDP/TCP协议的NAT穿越方案研究", 《中国优秀硕士学位论文全文数据库》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112637367A (zh) * 2021-03-09 2021-04-09 武汉绿色网络信息服务有限责任公司 基于家庭网络的文件分享方法、装置、设备及存储介质
CN112637367B (zh) * 2021-03-09 2021-05-14 武汉绿色网络信息服务有限责任公司 基于家庭网络的文件分享方法、装置、设备及存储介质
CN114124926A (zh) * 2021-04-02 2022-03-01 北京京东拓先科技有限公司 数据传输方法、设备、存储介质及计算机程序产品
CN114363418A (zh) * 2022-01-07 2022-04-15 北京金山云网络技术有限公司 访问内网数据库的方法、装置、存储介质以及电子设备

Also Published As

Publication number Publication date
CN111107119B (zh) 2022-08-09

Similar Documents

Publication Publication Date Title
US9678918B2 (en) Data processing system and data processing method
WO2021164316A1 (zh) 应用于边缘计算场景的通信方法、存储介质及电子设备
CN111107119B (zh) 基于云存储系统的数据访问方法、装置、系统及存储介质
CN107613037B (zh) 一种域名重定向方法和系统
RU2007148416A (ru) Объединенная архитектура для удаленного доступа к сети
WO2015062228A1 (zh) 一种访问共享内存的方法和装置
US10623469B2 (en) Methods and apparatuses for information transmission
CN109327559B (zh) 一种基于混合云平台的域名解析方法和装置
CN107710695B (zh) 一种访问家庭网络附加存储设备的方法、对应装置及系统
CN112822061B (zh) 一种边缘节点对外暴露服务的方法和系统
JP7132494B2 (ja) マルチクラウド運用プログラム、およびマルチクラウド運用方法
CN112351115B (zh) 对称型nat设备的端口预测方法及装置
WO2020038443A1 (zh) 桥接通信的方法和设备
CN111683159A (zh) Ip地址分配方法、设备、系统及存储介质
CN115225606B (zh) 一种容器云平台的跨网络协议的域名访问方法和系统
US20230208938A1 (en) Orchestrating execution of a complex computational operation
EP4117251A1 (en) Method, apparatus and system for realizing carrier grade network address translation
CN114598532A (zh) 连接建立方法、装置、电子设备和存储介质
KR102526770B1 (ko) 추가의 네트워크 주소 변환 테이블을 참조하여 빠른 패킷 포워딩을 제공하는 전자 장치
CN114338279A (zh) 一种终端访问方法、装置和服务器
CN110798542A (zh) 一种获取ip地址的方法及系统
CN112261165B (zh) 通信方法、系统、装置、计算机设备和存储介质
EP4060497A1 (en) Method for inter-process communication, related computing device and storage medium
CN111107178B (zh) 一种指定报文使用本地地址的方法和设备
JP6354431B2 (ja) 記憶装置

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