CN108600308A - 数据上传方法、装置、存储介质和服务器 - Google Patents

数据上传方法、装置、存储介质和服务器 Download PDF

Info

Publication number
CN108600308A
CN108600308A CN201810231241.5A CN201810231241A CN108600308A CN 108600308 A CN108600308 A CN 108600308A CN 201810231241 A CN201810231241 A CN 201810231241A CN 108600308 A CN108600308 A CN 108600308A
Authority
CN
China
Prior art keywords
node
memory
memory node
scheduling
client
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
CN201810231241.5A
Other languages
English (en)
Other versions
CN108600308B (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.)
New H3C Technologies Co Ltd
Original Assignee
New H3C 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 New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201810231241.5A priority Critical patent/CN108600308B/zh
Publication of CN108600308A publication Critical patent/CN108600308A/zh
Application granted granted Critical
Publication of CN108600308B publication Critical patent/CN108600308B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了应用于分布式系统的数据上传方法,涉及分布式存储领域。本申请中的分布式系统包括调度节点和多个存储节点,调度节点和多个存储节点共用同一个虚拟IP地址,该方法在执行时,当调度节点接收到客户端的ARP广播包后,调度节点基于调度策略选择分布式系统中指定的一个存储节点作为第一存储节点,而后调度节点将第一存储节点的实际IP地址向客户端发送,以使客户端直接将需要上传的数据发送给第一存储节点,并进一步通过第一存储节点完成目标数据的存储,使得数据在上传的过程中不再需要经过调度节点,降低了调度节点的工作压力。

Description

数据上传方法、装置、存储介质和服务器
技术领域
本发明涉及分布式存储领域,具体而言,涉及应用于分布式系统的数据上传方法、装置、存储介质和服务器。
背景技术
随着网络数据技术的发展,电子数据的数量呈现出了爆炸式的增长,进而,数据的存储成了首先遇到的问题。为了提高数据的使用便捷程度,以及数据的安全程度,某些情况下,用户通常首选使用分布式系统来进行数据的存储。
相对于集中式存储而言,分布式系统的一个主要特点是冗余存储,冗余存储指的是对于数据A而言,同时存储在至少两个存储节点(如服务器)上,进而当某一个存储节点出现故障(如硬盘损坏、被病毒入侵),导致该节点无法向用户提供数据的时候,用户还可以通过访问另一个存储节点来读取到数据A,以此来保证数据的安全。
具体实现时,分布式系统中除了设置有存储节点外,还设置有调度节点。分布式系统在实现其某些功能时,是由调度节点全程处理用户的请求,这给调度节点带来了过重的负担。
发明内容
本发明的目的在于提供一种应用于分布式系统的数据上传方法。
第一方面,一种应用于分布式系统的数据上传方法,分布式系统包括调度节点和多个存储节点,调度节点和多个存储节点共用同一个虚拟IP地址,该方法包括:
调度节点获取客户端向虚拟IP地址所发出的数据上传请求;
调度节点基于调度策略选择分布式系统中指定的一个存储节点作为第一存储节点;所述第一存储节点和所述调度节点均属于同一个分布式系统;
调度节点将第一存储节点的实际IP地址向客户端发送,以使客户端向第一存储节点直接发送目标数据,并由第一存储节点将目标数据存储在指定的存储器中。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,步骤调度节点基于调度策略选择分布式系统中指定的一个存储节点作为第一存储节点包括:
调度节点获取分布式系统中每个存储节点的传输性能;分布式系统是第一存储节点所在的分布式系统;
调度节点根据存储节点的传输性能,选择指定的一个存储节点作为第一存储节点;传输性能是根据以下参数中的至少一个确定的:负载情况、硬件传输能力和当前保持的访问连接量。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,还包括:
每隔预定时间,调度节点获取第一存储节点的运行状态;
调度节点若检测到第一存储节点停止运行,则重新执行步骤调度节点选择分布式系统中指定的一个存储节点作为第一存储节点。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,还包括:
调度节点实时获取各个存储节点的运行压力;运行压力是根据以下参数中的至少一个确定的:负载情况和当前保持的访问连接量;
调度节点根据各个存储节点的运行压力,重新为客户端确定第一存储节点,并将重新确定的第一存储节点向客户端发送。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,还包括:
若调度节点接收到客户端所发出的数据重传请求,则调度节点重新基于调度策略重新选择分布式系统中指定的一个存储节点作为第二存储节点;所述第二存储节点和所述调度节点均属于同一个分布式系统;数据重传请求是客户端在检测到第一存储节点在成功将目标数据存储在指定的存储器中前停止运行时生成的;
调度节点将第二存储节点的实际IP地址向客户端发送,以使客户端向第二存储节点直接重新发送目标数据,并由第二存储节点将目标数据存储在指定的存储器中。
第二方面,本发明实施例还提供了一种应用于分布式系统的数据上传装置,设置于调度节点,分布式系统包括调度节点和多个存储节点,调度节点和多个存储节点共用同一个虚拟IP地址,该装置包括:
第一获取模块,用于获取客户端向虚拟IP地址所发出的数据上传请求;
选择模块,用于基于调度策略选择分布式系统中指定的一个存储节点作为第一存储节点;所述第一存储节点和所述调度节点均属于同一个分布式系统;
第三发送模块,用于将第一存储节点的实际IP地址向客户端发送,以使客户端向第一存储节点直接发送目标数据,并由第一存储节点将目标数据存储在指定的存储器中。
本发明实施例提供的应用于分布式系统的数据上传方法,其中,分布式系统包括调度节点和多个存储节点,调度节点和多个存储节点共用同一个虚拟IP地址,该方法在执行时,当调度节点接收到客户端的ARP广播包后,调度节点基于调度策略选择分布式系统中指定的一个存储节点作为第一存储节点,而后调度节点将第一存储节点的实际IP地址向客户端发送,以使客户端直接将需要上传的数据发送给第一存储节点,并进一步通过第一存储节点完成目标数据的存储,使得数据在上传的过程中不再需要经过调度节点,从而降低了调度节点的工作压力。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了相关技术中的分布式系统的架构图;
图2示出了本发明实施例所提供的由客户端所执行的应用于分布式系统的数据上传方法的基本流程图;
图3示出了本发明实施例所提供的应用于分布式系统的数据上传方法的架构图;
图4示出了本发明实施例所提供的由调度节点所执行的应用于分布式系统的数据上传方法的基本流程图;
图5示出了本发明实例中的数据上传方法所应用的数据上传系统的系统架构图;
图6示出了本发明实施例中的客户端的示意图;
图7示出了本发明实施例中的服务器的示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了提高数据的安全性,相关技术中,已经出现了采用将数据存储在分布式系统中的方式。分布式系统的功能可以分为两种,一种是数据的上传(用户将数据上传到分布式系统中),一种是数据的下载(用户从分布式系统中下载数据)。如图1所示,示出了由客户端和分布式系统所组成的网络架构,其中,分布式系统包括调度节点和多个存储节点,每个存储节点中都设置有对应的存储器。客户端将数据上传到分布式系统中流程如下:
步骤1,客户端向调度节点发送链接建立请求;
步骤2,调度节点对接收到的链接建立请求进行验证,并在验证通过后与客户端建立网络链接;
步骤3,客户端通过建立好的网络链接向调度节点发送目标数据;
步骤4,调度节点在接收到目标数据后,将目标数据向存储节点发送;
步骤5,存储节点将目标数据存储到对应的存储器中;存储节点是分布式系统中多个存储节点中的一个。
通过上述5个步骤完成了用户向分布式系统中上传数据的操作。其中,存储节点指的是某一个具有存储功能的服务器,调度节点可以是一个服务器,也可以是从存储节点所在的服务器中划分出来的一个模块。一般情况下,调度节点与存储节点之间是通过局域网连接的,因此调度节点从存储节点读取数据的速度是很快的。
通过上述步骤可以看出,相关技术中,客户端向分布式系统中上传数据时,数据需要由调度节点来中转(具体体现在步骤3和4)。具体使用时,客户端的数量并不是固定的,当访问分布式系统的客户端数量过多时,调度节点需要建立和保持大量的网络链接,还要进一步进行大量数据的收发,这给调度节点带来了相当大的负担,进而,可能就会出现分布式系统响应客户端请求的效率过低的情况。
有鉴于此,相关技术中可能会采用提高调度节点性能的方式来改善上述情况,但本申请发明人认为此种方式并不理想。主要是,在某些情况下,调度节点并不是某一个确定服务器,而是在分布式系统工作时临时指定的,比如当某个分布式系统中的调度节点故障(宕机)的时候,系统会按照既定的策略重新指定某一个服务器作为新的调度节点(或者是将某个服务器中的一个区域划分为调度节点),并由这新的调度节点来完成数据的收发工作。也就是,即使使用某一个高性能服务器作为调度节点,由于无法保证该高性能服务器可以持久工作,因此,当该高性能服务器故障的时候,仍然要使用其他低性能服务器作为调度节点,这样就又会出现上一段中所说的情况。
针对上述情况,本申请提供了一种由客户端所执行的应用于分布式系统的数据上传方法,该方法作用于如图3所示的数据上传系统,该数据上传系统包括客户端和分布式系统,分布式系统包括调度节点和多个存储节点,调度节点和多个存储节点共用同一个虚拟IP,每个存储节点中都设置有对应的存储器,如图2所示,该方法包括如下步骤:
S101,客户端向虚拟IP地址发出数据上传请求,以使调度节点基于调度策略选择分布式系统中指定的一个存储节点作为第一存储节点;
S102,客户端获取调度节点所发出的第一存储节点的实际IP地址;
S103,客户端根据第一存储节点的实际IP地址直接向第一存储节点发送目标数据,以使第一存储节点将目标数据存储在指定的存储器中。
上述步骤S102和步骤S103中,调度节点和第一存储节点归属于同一个分布式系统中,一般情况下,调度节点和第一存储节点是通过局域网(如光纤、双绞线)连接的,即调度节点和第一存储节点之间能通过局域网连接(如光纤连接、双绞线连接)进行数据传输。某种情况下,调度节点和第一存储节点也可以通过广域网连接,即调度节点和第一存储节点之间能通过远距离通讯连接进行数据传输。通常局域网的通讯速度远大于广域网的通讯速度。客户端与调度节点之间的可以是通过局域网连接的;或,客户端与调度节点之间也可以是通过广域网连接的。一般情况下,每个存储节点都有对应的存储器(即每个服务器都有独立的存储器,且,存储节点和存储器是一一对应的)。
步骤S101中,数据上传请求实际上是ARP(Address Resolution Protocol)广播包,该ARP广播包是根据IP地址获取物理地址(实际IP地址)的一个数据包,客户端发出该ARP广播包时,是将ARP广播包广播到分布式系统上的所有节点(包括调度节点和存储节点)上的,由于分布式系统中调度节点和存储节点均是使用相同的虚拟IP地址,因此,调度节点和存储节点均会接收到ARP广播包,区别在于,调度节点接收到ARP广播包后,调度节点会向客户端反馈响应信息,通常该响应信息也就是步骤S102中第一存储节点的实际IP地址;而存储节点在接收到ARP广播包后则不会进行响应。
步骤S102中,数据上传请求中通常只携带有操作类型标识,比如数据上传标识,调度节点可以通过该标识确认该请求是数据上传请求。该种情况下,调度节点在接收到数据上传请求后,应当先识别操作类型标识,如果操作类型标识是数据上传标识,则可以直接根据调度策略给客户端确定一个对应的第一存储节点(分布式系统中多个存储节点中的一个存储节点;分布式系统是调度节点所在的分布式系统)。数据上传请求中还可以携带用于进行认证的认证标识(如用户名和密码),此时,调度节点可以先对认证标识进行认证,当认证通过后,再识别操作类型标识,如果操作类型标识是数据上传标识,则可以给客户端确定一个对应的第一存储节点。一般情况下,第一存储节点可以是分布式系统中的任一个存储节点。
在调度节点确定了第一存储节点之后,将该第一存储节点的实际IP地址向客户端返回。而后,步骤S103中,客户端则可以先利用第一存储节点的实际IP地址向第一存储节点发送链接建立请求,而后客户端再通过建立的网络链接直接向第一存储节点发送目标数据,此处的直接向第一存储节点发送目标数据,指的是该发送目标数据的过程是不需要经过调度节点进行转发的。而后,第一存储节点将目标数据存储在指定的存储器中即可。其中,实际IP地址,通常指的是存储节点的物理地址。
如前文中的说明,每个存储节点(服务器)都有其对应的存储器(服务器中具有存储功能的设备)。第一存储节点将目标数据存储在指定的存储器中,指的是第一存储节点可以将目标数据存储在任何一个目标存储器中,此处的目标存储器指的是属于分布式系统(第一存储节点所在的分布式系统)中的任一个存储器。如在某个分布式系统中设置有存储节点A和存储节点B,存储节点A中设置有存储器A’,存储节点B中设置有存储器B’,则存储节点A在接收到目标数据后,可以将目标数据存储在存储器A’中,也可以将目标数据存储在B’中。
相关技术中,客户端上传数据时,需要先将目标数据发送给调度节点,而后再由调度节点将目标数据转发给指定的存储节点进行存储。这种由调度节点进行转发的存储方式过多的占用了调度节点的资源,本方案中,则是由调度节点指定一个存储节点来直接接收客户端所发出的数据,并存储该数据;进而,使用本方案就不需要调度节点进行数据的转发,进而可以大大降低调度节点的资源占用率。
相对应的,本申请还提供了由调度节点所执行的应用于分布式系统的数据上传方法,该分布式系统包括调度节点和多个存储节点,调度节点和多个存储节点共用同一个虚拟IP地址,如图4所示,该方法包括如下步骤:
步骤S201,调度节点获取客户端向虚拟IP地址所发出的数据上传请求;
步骤S202,调度节点基于调度策略选择分布式系统中指定的一个存储节点作为第一存储节点;所述第一存储节点和所述调度节点均属于同一个分布式系统;
步骤S203,调度节点将第一存储节点的实际IP地址向客户端发送,以使客户端向第一存储节点直接发送目标数据,并由第一存储节点将目标数据存储在指定的存储器中。
其中,调度策略是指一种选择第一存储节点的方式,可以是随机式的选择,也可以是具有某种目的的选择符合某种要求的存储节点作为第一存储节点。
不只是调度节点在工作时会遇到资源被过度占用的情况,存储节点同样会发生类似的情况,进而,为了提高系统响应客户端的效率,可以在调度节点确定第一存储节点的时候,考虑各个存储节点的负载情况来确定由多个存储节点中的哪一个作为第一存储节点。
具体的,步骤S202包括:
步骤2021,调度节点获取分布式系统中每个存储节点的传输性能;
步骤2022,调度节点根据存储节点的传输性能,选择指定的一个存储节点作为第一存储节点。
也就是,本申请所提供的方案中,第一存储节点是根据分布式系统中每个存储节点的传输性能确定的。其中,传输性能可以根据以下参数中的至少一个确定:负载情况、硬件传输能力和当前保持的访问连接量。其中,负载情况反应了是存储节点的系统占用情况(比如CPU使用率);硬件传输能力则是由硬件配置所决定的,比如内存大小等;访问连接指的是存储节点和其他网络端(如客户端、服务器)之间为保持连接状态而建立的连接的数量。也就是,传输性能可以是根据负载情况确定的;或传输性能是是根据硬件传输能力确定的;或传输性能是是根据当前保持的访问连接量确定的;或传输性能是是根据负载情况和硬件传输能力确定的;或传输性能是根据负载情况和当前保持的访问连接量确定的;或传输性能是根据硬件传输能力和当前保持的访问连接量确定的;或传输性能是根据负载情况、硬件传输能力和当前保持的访问连接量确定的。
随着运行时间的延长,存储节点可能会出现故障(如宕机),此时,为了保证用户能够正常的对分布式系统进行访问,应当引入故障检测机制,进而本申请所提供的由客户端所执行的方法还包括如下步骤:
步骤105,若客户端检测到第一存储节点在成功将目标数据存储在指定的存储器中前停止运行,则向调度节点发送数据重传请求,以使调度节点返回第二存储节点的实际IP地址;
步骤106,客户端根据第二存储节点的实际IP地址直接向第二存储节点发送目标数据,以使第二存储节点将目标数据存储在指定的存储器中;所述第二存储节点和所述调度节点均属于同一个分布式系统。
其中,客户端检测第一存储节点在成功将目标数据存储在指定的存储器中前是否停止运行的方式有多种,下面仅列举两种进行说明。
第一种,客户端可以在接收到第一存储节点的实际IP地址后,先向第一存储节点发送链接建立请求,如果第一存储节点接收到了该链接建立请求,则会给客户端返回链接建立响应消息,进而客户端可以与第一存储节点建立网络链接,并执行步骤S103;如果客户端在预定时间内没有接收到链接建立响应消息,则可以认为第一存储节点停止运行了(由于传输数据的链接都没有建立,此时必然是符合第一存储节点在成功将目标数据存储在指定的存储器中前停止运行的情况)。当然,如果客户端在预定时间内没有接收到响应消息,还可以重复向第一存储节点发送链接建立请求,直到重复的次数过多的时候,再判断为第一存储节点在成功将目标数据存储在指定的存储器中前停止运行了。
第二种,用户在向第一存储节点发送目标数据后,如果第一存储节点将目标数据存储在指定的存储器后,会向客户端返回操作成功消息,进而如果客户端在预定时间内没有接收到回操作成功消息,则可以认为第一存储节点在成功将目标数据存储在指定的存储器中前停止运行了。
类似的,客户端与第一存储节点还可以通过长连接的方式保持连接,如果长连接断开,则客户端也可以认为第一存储节点停止运行。
相对应的,本申请所提供的由调度节点所执行的方法还包括如下步骤:
步骤501,若调度节点接收到客户端所发出的数据重传请求,则调度节点重新基于调度策略重新选择分布式系统中指定的一个存储节点作为第二存储节点;所述第二存储节点和所述调度节点均属于同一个分布式系统;
步骤502,调度节点将第二存储节点的实际IP地址向客户端发送,以使客户端向第二存储节点直接重新发送目标数据,并由第二存储节点将目标数据存储在指定的存储器中。
数据重传请求是客户端在检测到第一存储节点在成功将目标数据存储在指定的存储器中前停止运行时生成的。步骤501-502的解释和参照前文中对步骤105和106的解释,此处不重复说明。
通常情况下,重新执行步骤S102的时候,调度节点会首先查看各个节点是否运行正常,在检查的过程中,就会将停止运行的网络节点剔除(不将停止运行的网络节点推送给客户端)。除了客户端对存储节点的运行状态进行检测,还可以是调度节点主动对存储节点的运行状态进行检测,以主动完成调节工作。
具体的,本申请所提供的由调度节点所执行的方法还包括如下步骤:
步骤301,每隔预定时间,调度节点获取第一存储节点的运行状态;
步骤302,若调度节点检测到第一存储节点停止运行,则重新执行步骤S202,并进一步执行步骤S203。
也就是第一存储节点停止运行时,则说明第一存储节点故障,此时,重新执行步骤S102后,调度节点就会给客户端分配新的第一存储节点了,而后,客户端可以使用新分配的第一存储节点进行相应的操作了。
一般情况下,调度节点并不清楚第一存储节点是否已经完成将目标数据存储在指定的存储器中的任务,因此,重新执行步骤S203之后,即客户端在接收到重新分配的第一存储节点后,应当先判断第一存储节点是否已经完成了将目标数据存储在指定的存储器中的任务,如果未完成,则客户端应当向重新分配的第一存储节点直接发送目标数据,并由第一存储节点将目标数据存储在指定的存储器中;如果已完成,则客户端则应当忽略掉该消息(即终止流程)。至于如何判断第一存储节点是否已经完成了将目标数据存储在指定的存储器中的任务,可以有多种方式,比如,客户端可以在接收到存储成功消息后认为该任务已经完成(存储成功消息是第一存储节点在将目标数据存储在指定存储器中之后生成的)。
上述两种方式相比,由客户端主动发起故障检测的策略更为合理,这主要是考虑到,由调度节点检测第一存储节点是否故障的话,某种情况下,当第一存储节点故障时,调度节点无法准确的知悉数据处理请求是否已经处理完毕,同时也会增加调度节点的负担。
进一步,为了更好的分配各个存储节点的压力,本申请所提供的由调度节点所执行的方法还包括如下方案:
步骤401,调度节点实时获取各个存储节点的运行压力;运行压力是根据以下参数中的至少一个确定:负载情况和当前保持的访问连接量;
步骤402,调度节点根据各个存储节点的运行压力,重新为客户端确定第一存储节点,并将重新确定的第一存储节点向客户端发送。
也就是,为了平衡各个存储节点的压力,可以重新为客户端确定第一存储节点。用户在接收到第一存储节点时,可能目标数据已经存储到指定的存储器中,此时,就不需要再次发起存储请求了;如果目标数据未存储到的存储器中(如没有接收到第一存储节点所发出的存储成功消息),或者是其他某种预定的条件下,则客户端在接收到重新确定的第一存储节点后,向重新确定的第一存储节点直接发送目标数据,并由重新确定的第一存储节点将目标数据存储在指定的存储器中。
下面,以1个具体的实例来说明本申请所提供的方法。
实例1,本申请所提供的方法作用于如图5所示的数据上传系统,该数据上传系统包括:客户端和分布式系统,其中分布式系统包括调度节点、存储节点A、存储节点B和存储节点C;调度节点、存储节点A、存储节点B和存储节点C中任意两个节点均是通过局域网进行连接的,且;调度节点、存储节点A、存储节点B和存储节点C共用相同的虚拟IP地址X。
该数据上传方法包括如下步骤:
步骤1,客户端向虚拟IP地址X发送ARP广播包,以使分布式系统中的调度节点、存储节点A、存储节点B和存储节点C均接收到ARP广播包;ARP广播包中携带有验证信息;
步骤2,调度节点对步骤1中的验证信息进行验证,验证通过后调度节点分别获取存储节点A、存储节点B和存储节点C的传输性能;
步骤3,调度节点判断存储节点A的传输性能最好,进而获取存储节点A的实际IP地址;
步骤4,调度节点将存储节点A的实际IP地址和redirect标志(重新定向标志)向客户端发送;
步骤5,客户端在接收到redirect标志后,判断当前应当重新发起存储请求,进而使用存储节点A的实际IP地址,向存储节点A发送数据上传请求;
步骤6,存储节点A在接收到数据上传请求后,与客户端建立通讯连接;
步骤7,客户端将目标数据向存储节点A上传;
步骤8,存储节点A将目标数据存储在存储节点A内部的存储器中;
步骤9,存储节点A向客户端发送存储成功消息,以告知客户端本次存储任务完成。
与上述方法相对应的,本申请还提供了一种应用于分布式系统的数据上传装置,设置于客户端,分布式系统包括调度节点和多个存储节点,调度节点和多个存储节点共用同一个虚拟IP地址,该装置包括:
广播模块,用于向虚拟IP地址发出数据上传请求,以使调度节点基于调度策略选择分布式系统中指定的一个存储节点作为第一存储节点;
第一获取模块,用于获取调度节点所发出的第一存储节点的实际IP地址;
第一发送模块,用于根据第一存储节点的实际IP地址直接向第一存储节点发送目标数据,以使第一存储节点将目标数据存储在指定的存储器中。
优选的,第一存储节点是调度节点根据分布式系统中每个存储节点的传输性能确定的;分布式系统是调度节点所在的分布式系统。
优选的,传输性能是根据以下参数中的至少一个确定的:负载情况、硬件传输能力和当前保持的访问连接量。
优选的,该装置还包括:
重发模块,用于检测到第一存储节点在成功将目标数据存储在指定的存储器中前停止运行时,重新向调度节点发送数据上传请求,以使调度节点返回第二存储节点的实际IP地址;
第二发送模块,用于根据第二存储节点的实际IP地址直接向第二存储节点发送目标数据,以使第二存储节点将目标数据存储在指定的存储器中;所述第二存储节点和所述调度节点均属于同一个分布式系统。
与上述方法相对应的,本申请还提供了一种应用于分布式系统的数据上传装置,设置于调度节点,分布式系统包括调度节点和多个存储节点,调度节点和多个存储节点共用同一个虚拟IP地址,该装置包括:
第一获取模块,用于获取客户端向虚拟IP地址所发出的数据上传请求;
选择模块,用于基于调度策略选择分布式系统中指定的一个存储节点作为第一存储节点;所述第一存储节点和所述调度节点均属于同一个分布式系统;
第三发送模块,用于将第一存储节点的实际IP地址向客户端发送,以使客户端向第一存储节点直接发送目标数据,并由第一存储节点将目标数据存储在指定的存储器中。
优选的,选择模块包括:
获取单元,用于获取分布式系统中每个存储节点的传输性能;分布式系统是第一存储节点所在的分布式系统;
选择单元,用于根据存储节点的传输性能,选择指定的一个存储节点作为第一存储节点。
优选的,传输性能是根据以下参数中的至少一个确定的:负载情况、硬件传输能力和当前保持的访问连接量。
优选的,该装置还包括:
第二获取模块,用于每隔预定时间,获取第一存储节点的运行状态;
触发模块,用于在检测到第一存储节点停止运行时,则触发选择模块工作。
优选的,该装置还包括:
第三获取模块,用于实时获取各个存储节点的运行压力;运行压力是根据以下参数中的至少一个确定的:负载情况和当前保持的访问连接量;
第一重发模块,用于根据各个存储节点的运行压力,重新为客户端确定第一存储节点,并将重新确定的第一存储节点向客户端发送。
优选的,该装置还包括:
重选模块,用于当调度节点接收到客户端所发出的数据重传请求时,重新基于调度策略重新选择分布式系统中指定的一个存储节点作为第二存储节点;所述第二存储节点和所述调度节点均属于同一个分布式系统;数据重传请求是客户端在检测到第一存储节点在成功将目标数据存储在指定的存储器中前停止运行时生成的;
第二重发模块,用于将第二存储节点的地址向客户端发送,以使客户端向第二存储节点直接重新发送目标数据,并由第二存储节点将目标数据存储在指定的存储器中。
与前述方法相对应的,本申请还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述由客户端所执行的应用于分布式系统的数据上传方法。
与前述方法相对应的,本申请还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述由调度节点所执行的应用于分布式系统的数据上传方法。
如图6所示,为本申请实施例所提供的客户端示意图,该客户端60包括:处理器61、存储器62和总线66,存储器62存储有执行指令,当装置运行时,处理器61与存储器62之间通过总线66通信,处理器61执行存储器62中存储的如由客户端所执行的应用于分布式系统的数据上传方法的步骤。
如图7所示,为本申请实施例所提供的服务器示意图,该服务器70包括:处理器71、存储器72和总线77,存储器72存储有执行指令,当装置运行时,处理器71与存储器72之间通过总线77通信,处理器71执行存储器72中存储的如由调度节点所执行的应用于分布式系统的数据上传方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (12)

1.一种应用于分布式系统的数据上传方法,其特征在于,分布式系统包括调度节点和多个存储节点,调度节点和多个存储节点共用同一个虚拟IP地址,该方法包括:
调度节点获取客户端向虚拟IP地址所发出的数据上传请求;
调度节点基于调度策略选择分布式系统中指定的一个存储节点作为第一存储节点;所述第一存储节点和所述调度节点均属于同一个分布式系统;
调度节点将第一存储节点的实际IP地址向客户端发送,以使客户端向第一存储节点直接发送目标数据,并由第一存储节点将目标数据存储在指定的存储器中。
2.根据权利要求1所述的方法,其特征在于,步骤调度节点基于调度策略选择分布式系统中指定的一个存储节点作为第一存储节点包括:
调度节点获取分布式系统中每个存储节点的传输性能;
调度节点根据存储节点的传输性能,选择指定的一个存储节点作为第一存储节点;传输性能是根据以下参数中的至少一个确定的:负载情况、硬件传输能力和当前保持的访问连接量。
3.根据权利要求2所述的方法,其特征在于,还包括:
每隔预定时间,调度节点获取第一存储节点的运行状态;
调度节点若检测到第一存储节点停止运行,则重新执行步骤调度节点选择分布式系统中指定的一个存储节点作为第一存储节点。
4.根据权利要求1所述的方法,其特征在于,还包括:
调度节点实时获取各个存储节点的运行压力;运行压力是根据以下参数中的至少一个确定的:负载情况和当前保持的访问连接量;
调度节点根据各个存储节点的运行压力,重新为客户端确定第一存储节点,并将重新确定的第一存储节点向客户端发送。
5.根据权利要求1所述的方法,其特征在于,还包括:
若调度节点接收到客户端所发出的数据重传请求,则调度节点重新基于调度策略重新选择分布式系统中指定的一个存储节点作为第二存储节点;所述第二存储节点和所述调度节点均属于同一个分布式系统;数据重传请求是客户端在检测到第一存储节点在成功将目标数据存储在指定的存储器中前停止运行时生成的;
调度节点将第二存储节点的实际IP地址向客户端发送,以使客户端向第二存储节点直接重新发送目标数据,并由第二存储节点将目标数据存储在指定的存储器中。
6.一种应用于分布式系统的数据上传装置,其特征在于,设置于调度节点,分布式系统包括调度节点和多个存储节点,调度节点和多个存储节点共用同一个虚拟IP地址,该装置包括:
第一获取模块,用于获取客户端向虚拟IP地址所发出的数据上传请求;
选择模块,用于基于调度策略选择分布式系统中指定的一个存储节点作为第一存储节点;所述第一存储节点和所述调度节点均属于同一个分布式系统;
第三发送模块,用于将第一存储节点的实际IP地址向客户端发送,以使客户端向第一存储节点直接发送目标数据,并由第一存储节点将目标数据存储在指定的存储器中。
7.根据权利要求6所述的装置,其特征在于,选择模块包括:
获取单元,用于获取分布式系统中每个存储节点的传输性能;分布式系统是第一存储节点所在的分布式系统;
选择单元,用于根据存储节点的传输性能,选择指定的一个存储节点作为第一存储节点;传输性能是根据以下参数中的至少一个确定的:负载情况、硬件传输能力和当前保持的访问连接量。
8.根据权利要求7所述的装置,其特征在于,还包括:
第二获取模块,用于每隔预定时间,获取第一存储节点的运行状态;
触发模块,用于在检测到第一存储节点停止运行时,则触发选择模块工作。
9.根据权利要求6所述的装置,其特征在于,还包括:
第三获取模块,用于实时获取各个存储节点的运行压力;运行压力是根据以下参数中的至少一个确定的:负载情况和当前保持的访问连接量;
第一重发模块,用于根据各个存储节点的运行压力,重新为客户端确定第一存储节点,并将重新确定的第一存储节点向客户端发送。
10.根据权利要求6所述的装置,其特征在于,还包括:
重选模块,用于当调度节点接收到客户端所发出的数据重传请求时,重新基于调度策略重新选择分布式系统中指定的一个存储节点作为第二存储节点;所述第二存储节点和所述调度节点均属于同一个分布式系统;数据重传请求是客户端在检测到第一存储节点在成功将目标数据存储在指定的存储器中前停止运行时生成的;
第二重发模块,用于将第二存储节点的地址向客户端发送,以使客户端向第二存储节点直接重新发送目标数据,并由第二存储节点将目标数据存储在指定的存储器中。
11.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1-5任一所述方法。
12.一种服务器包括:处理器、存储器和总线,存储器存储有执行指令,当装置运行时,处理器与存储器之间通过总线通信,处理器执行存储器中存储的如权利要求1-5任一所述方法。
CN201810231241.5A 2018-03-20 2018-03-20 数据上传方法、装置、存储介质和服务器 Active CN108600308B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810231241.5A CN108600308B (zh) 2018-03-20 2018-03-20 数据上传方法、装置、存储介质和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810231241.5A CN108600308B (zh) 2018-03-20 2018-03-20 数据上传方法、装置、存储介质和服务器

Publications (2)

Publication Number Publication Date
CN108600308A true CN108600308A (zh) 2018-09-28
CN108600308B CN108600308B (zh) 2021-08-06

Family

ID=63626926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810231241.5A Active CN108600308B (zh) 2018-03-20 2018-03-20 数据上传方法、装置、存储介质和服务器

Country Status (1)

Country Link
CN (1) CN108600308B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110381149A (zh) * 2019-07-24 2019-10-25 北京视界云天科技有限公司 数据分发方法、装置以及数据同步方法、装置
CN112995311A (zh) * 2021-02-08 2021-06-18 北京星网锐捷网络技术有限公司 服务提供方法、设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025783A (zh) * 2010-10-09 2011-04-20 青岛普加智能信息有限公司 集群系统及其消息处理方法和协议转发网关
WO2012167094A1 (en) * 2011-06-01 2012-12-06 Security First Corp. Systems and methods for secure distributed storage
CN105025053A (zh) * 2014-04-24 2015-11-04 苏宁云商集团股份有限公司 基于云存储技术的分布式文件的上传方法及其系统
CN105359105A (zh) * 2013-05-29 2016-02-24 微软技术许可有限责任公司 通过网络文件访问协议的高效编程存储器访问
CN105554130A (zh) * 2015-12-18 2016-05-04 深圳中兴网信科技有限公司 基于分布式存储系统的NameNode切换方法和切换装置
CN105812468A (zh) * 2016-03-15 2016-07-27 山东超越数控电子有限公司 一种基于scst的存储高可用方法
CN106569874A (zh) * 2016-10-28 2017-04-19 华为技术有限公司 存储设备的操作方法及物理服务器
CN106790675A (zh) * 2017-01-23 2017-05-31 天地融科技股份有限公司 一种集群内负载均衡方法、设备和系统
CN107070972A (zh) * 2016-12-30 2017-08-18 中国银联股份有限公司 一种分布式文件处理方法及装置
CN107493309A (zh) * 2016-06-13 2017-12-19 阿里巴巴集团控股有限公司 一种分布式系统中的文件写入方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025783A (zh) * 2010-10-09 2011-04-20 青岛普加智能信息有限公司 集群系统及其消息处理方法和协议转发网关
WO2012167094A1 (en) * 2011-06-01 2012-12-06 Security First Corp. Systems and methods for secure distributed storage
CN105359105A (zh) * 2013-05-29 2016-02-24 微软技术许可有限责任公司 通过网络文件访问协议的高效编程存储器访问
CN105025053A (zh) * 2014-04-24 2015-11-04 苏宁云商集团股份有限公司 基于云存储技术的分布式文件的上传方法及其系统
CN105554130A (zh) * 2015-12-18 2016-05-04 深圳中兴网信科技有限公司 基于分布式存储系统的NameNode切换方法和切换装置
CN105812468A (zh) * 2016-03-15 2016-07-27 山东超越数控电子有限公司 一种基于scst的存储高可用方法
CN107493309A (zh) * 2016-06-13 2017-12-19 阿里巴巴集团控股有限公司 一种分布式系统中的文件写入方法及装置
CN106569874A (zh) * 2016-10-28 2017-04-19 华为技术有限公司 存储设备的操作方法及物理服务器
CN107070972A (zh) * 2016-12-30 2017-08-18 中国银联股份有限公司 一种分布式文件处理方法及装置
CN106790675A (zh) * 2017-01-23 2017-05-31 天地融科技股份有限公司 一种集群内负载均衡方法、设备和系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110381149A (zh) * 2019-07-24 2019-10-25 北京视界云天科技有限公司 数据分发方法、装置以及数据同步方法、装置
CN110381149B (zh) * 2019-07-24 2022-03-18 北京视界云天科技有限公司 数据分发方法、装置以及数据同步方法、装置
CN112995311A (zh) * 2021-02-08 2021-06-18 北京星网锐捷网络技术有限公司 服务提供方法、设备及存储介质
CN112995311B (zh) * 2021-02-08 2023-05-30 北京星网锐捷网络技术有限公司 服务提供方法、设备及存储介质

Also Published As

Publication number Publication date
CN108600308B (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
CN109246229B (zh) 一种分发资源获取请求的方法和装置
CN106656800B (zh) 一种路径选取方法及系统、网络加速节点及网络加速系统
CN109618002B (zh) 一种微服务网关优化方法、装置及存储介质
KR101242954B1 (ko) 저장부로 향하는 입/출력(i/o) 요청을 큐잉할지 여부를 결정하기 위한 우선순위의 이용
CN110365752A (zh) 业务数据的处理方法、装置、电子设备和存储介质
CN109167812B (zh) 评估服务质量、确定调整策略的方法、服务器及存储介质
CN110365748A (zh) 业务数据的处理方法和装置、存储介质及电子装置
CN107426003B (zh) 一种故障检测方法及装置
CN107979539B (zh) 报文处理方法及装置
CN111726303A (zh) 一种流量控制方法、装置以及计算设备
JP4190455B2 (ja) 負荷分散装置及びプログラム
CN108234319B (zh) 一种数据的传输方法和装置
CN107819825A (zh) 一种服务调度方法、装置和电子设备
CN109218369A (zh) 远程过程调用请求控制方法及装置
CN108600308A (zh) 数据上传方法、装置、存储介质和服务器
CN105721612A (zh) 数据传输方法和装置
CN110474976A (zh) 一种应用于自动售卖设备的消息中转方法、装置、存储介质和系统
JP4801169B2 (ja) 分散サービスサイトの登録方法および登録システム
JP2000122938A (ja) 情報処理装置
CN114003337A (zh) 访问请求的分配方法及装置
CN112954716A (zh) 网状网络的入网方法、装置、计算机设备以及存储介质
CN110380981B (zh) 一种流量分发方法及设备
US9967163B2 (en) Message system for avoiding processing-performance decline
CN101478436B (zh) 一种输入输出调度方法和装置
CN107995125B (zh) 一种流量调度方法及装置

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