CN107465644A - 数据传输方法、数据传送客户端及数据传送执行器 - Google Patents

数据传输方法、数据传送客户端及数据传送执行器 Download PDF

Info

Publication number
CN107465644A
CN107465644A CN201610389651.3A CN201610389651A CN107465644A CN 107465644 A CN107465644 A CN 107465644A CN 201610389651 A CN201610389651 A CN 201610389651A CN 107465644 A CN107465644 A CN 107465644A
Authority
CN
China
Prior art keywords
data
load server
data transmission
uploaded
data transfer
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
CN201610389651.3A
Other languages
English (en)
Other versions
CN107465644B (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201610389651.3A priority Critical patent/CN107465644B/zh
Priority to PCT/CN2017/087106 priority patent/WO2017206960A1/zh
Publication of CN107465644A publication Critical patent/CN107465644A/zh
Application granted granted Critical
Publication of CN107465644B publication Critical patent/CN107465644B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], 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/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种数据传输方法,所述数据传输方法包括:在侦测到数据传输指令时,数据传送客户端发送数据传输请求至数据传送执行器;在接收到所述数据传送执行器返回的连接信息以及令牌信息时,所述数据传送客户端基于所述连接信息以及所述令牌信息与所述加载服务器建立数据传输连接;所述数据传送客户端基于所述数据传输连接与所述加载服务器进行待传输数据的传输。本发明还公开了一种数据传送客户端。本发明还公开了一种数据传送执行器。本发明能够提高Hadoop储存数据的安全性。

Description

数据传输方法、数据传送客户端及数据传送执行器
技术领域
本发明涉及大数据技术领域,尤其涉及一种数据传输方法、数据传送客户端及数据传送执行器。
背景技术
Hadoop是一个能够对大量数据进行分布式处理的开源软件框架。目前,业界一般通过Loader传输工具,直接上传/下载文件至大数据集群的文件系统HDFS/HBASE中。然而,现有技术缺乏对数据的权限管理,使得Hadoop储存数据的安全性较低。
发明内容
本发明的主要目的在于提供一种数据传输方法、数据传送客户端及数据传送执行器,旨在提高Hadoop储存数据的安全性。
为实现上述目的,本发明提供一种数据传输方法,所述数据传输方法包括:
在侦测到数据传输指令时,数据传送客户端发送数据传输请求至数据传送执行器,以供所述数据传送执行器基于接收的数据传输请求为所述数据传送客户端分配加载服务器,并将接收的数据传输请求所携带的识别信息发送至认证服务器进行鉴权,将所述认证服务器完成鉴权后返回的令牌信息以及分配的加载服务器的连接信息返回至所述数据传送客户端;
在接收到所述数据传送执行器返回的连接信息以及令牌信息时,所述数据传送客户端基于所述连接信息以及所述令牌信息与所述加载服务器建立数据传输连接,其中,所述加载服务器仅在验证所述令牌信息成功时与所述数据传送客户端建立数据传输连接;
所述数据传送客户端基于所述数据传输连接与所述加载服务器进行待传输数据的传输。
可选地,所述待传输数据包括待上传数据,所述数据传送客户端基于所述数据传输连接与所述加载服务器进行待传输数据的传输的步骤包括:
所述数据传送客户端基于所述数据传输连接将所述数据传输指令对应的待上传数据上传至所述加载服务器,以供所述加载服务器将接收的所述待上传数据上传到HDFS集群;
所述数据传送客户端基于所述数据传输连接将所述数据传输指令对应的待上传数据上传至所述加载服务器之后还包括:
所述数据传送客户端接收所述加载服务器上传所述待上传数据至HDFS集群所返回的任务号;
在侦测到所述待上传数据的状态查询指令时,所述数据传送客户端发送携带所述任务号的任务执行状态请求至所述加载服务器,以供所述加载服务器基于所述任务执行状态请求携带的所述任务号,返回其上传所述待上传数据至HDFS集群的第一任务执行状态信息;
所述数据传送客户端接收并展示所述加载服务器返回的所述第一任务执行状态信息。
可选地,在执行所述数据传送客户端基于所述数据传输连接将所述数据传输指令对应的待上传数据上传至所述加载服务器的同时,还执行以下步骤:
所述数据传送客户端实时记录上传所述待上传数据至所述加载服务器的第二任务执行状态信息;
所述数据传送客户端基于所述数据传输连接将所述数据传输指令对应的待上传数据上传至所述加载服务器的步骤之后,还包括:
所述数据传送客户端在侦测到上传所述待上传数据至所述加载服务器中断时,基于记录的所述第二任务执行状态信息将所述待上传数据中未上传的部分数据上传至所述加载服务器。
可选地,所述待传输数据包括待下载数据,所述数据传送客户端基于所述连接信息以及所述令牌信息与所述加载服务器建立数据传输连接的步骤之前,还包括:
在接收到所述数据传送执行器返回的连接信息以及令牌信息时,所述数据传送客户端侦测所述加载服务器是否从HDFS集群下载到所述数据传输指令对应的待下载数据;
在所述加载服务器下载到所述待下载数据时,转入执行所述数据传送客户端基于所述连接信息以及所述令牌信息与所述加载服务器建立数据传输连接的步骤;
所述数据传送客户端基于所述数据传输连接与所述加载服务器进行待传输数据的传输的步骤包括:
所述数据传送客户端基于所述数据传输连接从所述加载服务器下载所述待下载数据。
进一步地,本发明还提供一种数据传输方法,该数据传输方法包括:
在接收到数据传送客户端发送的数据传输请求时,数据传送执行器将所述数据传输请求携带的识别信息发送至认证服务器进行鉴权;
在接收到所述认证服务器完成鉴权后返回的令牌信息时,所述数据传送执行器为所述数据传送客户端分配加载服务器;
所述数据传送执行器将所述令牌信息以及分配的加载服务器的连接信息发送至所述数据传送客户端,以供所述数据传送客户端基于所述令牌信息以及所述连接信息与所述加载服务器建立数据传输连接,进行待传输数据的传输。
此外,为实现上述目的,本发明还提供一种数据传送客户端,所述数据传送客户端包括请求模块、连接模块和传输模块,其中,
所述请求模块,用于在侦测到数据传输指令时,发送数据传输请求至数据传送执行器,以供所述数据传送执行器基于接收的数据传输请求为所述数据传送客户端分配加载服务器,并将接收的数据传输请求所携带的识别信息发送至认证服务器进行鉴权,将所述认证服务器完成鉴权后返回的令牌信息以及分配的加载服务器的连接信息返回至所述连接模块;
所述连接模块,用于在接收到所述数据传送执行器返回的连接信息以及令牌信息时,基于所述连接信息以及所述令牌信息与所述加载服务器建立数据传输连接,其中,所述加载服务器仅在验证所述令牌信息成功时与所述数据传送客户端建立数据传输连接;
所述传输模块,用于基于所述数据传输连接与所述加载服务器进行待传输数据的传输。
可选地,所述待传输数据包括待上传数据,所述传输模块还用于,基于所述数据传输连接将所述数据传输指令对应的待上传数据上传至所述加载服务器,以供所述加载服务器将接收的所述待上传数据上传到HDFS集群;
所述数据传送客户端还包括:
状态查询模块,用于接收所述加载服务器上传所述待上传数据至HDFS集群所返回的任务号;以及
在侦测到所述待上传数据的状态查询指令时,发送携带所述任务号的任务执行状态请求至所述加载服务器,以供所述加载服务器基于所述任务执行状态请求携带的所述任务号,返回其上传所述待上传数据至HDFS集群的第一任务执行状态信息;以及
接收并展示所述加载服务器返回的所述第一任务执行状态信息。
可选地,所述传输模块还用于,实时记录上传所述待上传数据至所述加载服务器的第二任务执行状态信息;以及
在侦测到上传所述待上传数据至所述加载服务器中断时,基于记录的所述第二任务执行状态信息将所述待上传数据中未上传的部分数据上传至所述加载服务器。
可选地,所述待传输数据包括待下载数据,所述连接模块还用于,在接收到所述数据传送执行器返回的连接信息以及令牌信息时,侦测所述加载服务器是否从HDFS集群下载到所述数据传输指令对应的待下载数据;以及
在所述加载服务器下载到所述待下载数据时,基于所述连接信息以及所述令牌信息与所述加载服务器建立数据传输连接;
所述传输模块还用于,基于所述数据传输连接从所述加载服务器下载所述待下载数据。
进一步地,本发明还提供一种数据传送执行器,该数据传送执行器包括:
鉴权模块,用于在接收到数据传送客户端发送的数据传输请求时,将所述数据传输请求携带的识别信息发送至认证服务器进行鉴权;
分配模块,用于在接收到所述认证服务器完成鉴权后返回的令牌信息时,为所述数据传送客户端分配加载服务器;
授权模块,用于将所述令牌信息以及分配的加载服务器的连接信息发送至所述数据传送客户端,以供所述数据传送客户端基于所述令牌信息以及所述连接信息与所述加载服务器建立数据传输连接,进行待传输数据的传输。
本发明提出的数据传输方法、数据传送客户端及数据传送执行器,应用于ODPP中间件系统,通过数据传送客户端发送携带识别信息的数据传输请求至数据传送执行器,由数据传送执行器将识别信息发送认证服务器进行鉴权,并将认证服务器鉴权通过后返回的令牌信息以及分配的加载服务器的连接信息返回至所述数据传送客户端;然后通过数据传送客户端使用接收的连接信息以及连接信息与分配的加载服务器建立数据传输连接,进行待传输数据的传输,进而实现数据传送客户端与HDFS集群之间的数据传输。相较于现有技术,本发明扩展了对用户的鉴权功能,能够在Hadoop大数据平台上更好的管理不同用户对数据传输的需求,从而达到提升Hadoop储存数据安全性的目的。
附图说明
图1为本发明数据传输方法第一实施例的流程示意图;
图2为本发明数据传输方法第一实施例中的ODPP的架构示例图;
图3为本发明数据传输方法第一实施例中数据传送执行器的部署方式的示例图;
图4为本发明数据传输方法第二实施例的流程示意图;
图5为本发明数据传输方法第四实施例的流程示意图;
图6为本发明数据传输方法第五实施例的流程示意图;
图7为本发明数据传送客户端第一实施例的功能模块示意图;
图8为本发明数据传送执行器第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种数据传输方法,参照图1,在本发明数据传输方法的第一实施例中,该数据传输方法包括以下步骤:
步骤S10,在侦测到数据传输指令时,数据传送客户端发送数据传输请求至数据传送执行器,以供所述数据传送执行器基于接收的数据传输请求为所述数据传送客户端分配加载服务器,并将接收的数据传输请求所携带的识别信息发送至认证服务器进行鉴权,将所述认证服务器完成鉴权后返回的令牌信息以及分配的加载服务器的连接信息返回至所述数据传送客户端;
需要说明的是,本实施例提出的数据传输方法基于图2所示的Hadoop大数据系统的中间件ODPP(Open DataProcessing Platform,开放式数据处理平台)系统实现。以下首先对本实施例出现的专业术语进行说明:
ODPP系统管理员,指维护管理ODPP系统的人员,和ODPP的用户是不同的概念。
Space所有者,拥有对Space的所有权限,主要用来创建Space,向Space内的用户授权,并引入Space外的用户。Space所有者可自行注册,ODPP管理员审批通过后生效。
Space,空间(Space)是用于某个目标的相关数据、文件、任务、用户、权限的集合。Space所有者可以创建工作空间(Space),以进行用户数据的存储、运算、查询、管理等,以及任务的运行。ODPP支持多用户、多Space。
用户,指Space的用户,用户归属于Space,可访问所归属的Space实体,也是计费的实体。话单原始记录中,包含用户名和使用对象(如文件,表,任务等),及其它内容。
Package,包(Package)归属于Space,作为资源共享的基本单元。Package授权给其它Space的某个用户。通过线下方式得知其它Space的用户名称。
资源,是指归属于Space的数据、文件等。
在整个ODPP系统内,Space名称和Space用户名的组合可唯一标识某个用户。每个用户同时拥有一个集群用户,同样在整系统内唯一。
为便于理解,以下对ODPP整体架构进行说明:
如图2所示,ODPP整体架构由三层构成,分别是Client访问层、业务处理层和分布存储和计算层。
其中,Client访问层是用户直接进行操作的部分,用户可以通过ODPP提供的命令行终端、数据传送工具来实现对ODPP的访问。其中,命令行终端是为用户提供一个使用ODPP的通用操作界面,主要用于人员的命令操作,可实现实时的HBASE数据查询,MR、Spark任务的提交以及SQL的执行等;数据传送工具用于实现本地数据和Space间的传送。如果用户希望通过系统和ODPP对接来获取ODPP的服务,也可按ODPP的接口规范和ODPP的业务处理层对接,从而实现对ODPP服务的访问。
命令行终端和ODPP之间的业务接口使用RESTful。
管理方面,为Space所有者提供web方式的用户自管理功能。Space所有者可登录到ODPP上创建Space,修改个人信息,设置配置数据等。
系统维护管理则是针对ODPP系统的管理维护人员而设置的管理服务功能。
业务处理层是ODPP分析请求、执行对应的业务逻辑处理的部分。此部分首先对请求进行接入,之后分析请求内容,根据请求的具体内容选择相应的业务处理机制进行处理,然后将处理的结果返回给Client端。业务处理层是ODPP的主体部分,其包含了用户管理、权限管控、任务调度、业务处理及计费等多种功能。其中,分发部分,使用Nginx来实现对RESTful请求的分发。Space管理负责space权限的验证,以及数据的更改维护。用户管理负责系统用户数据的查询验证以及更改维护。ODPP业务数据库负责系统数据的存储。
分布存储和计算层是底层的执行平台,以Hadoop、Spark等为基础,其主要作用是数据的存储和运算,同时提供数据的导入/导出等服务。
综上,ODPP运行于大数据平台之上,承担中间件层的一系列功能,如访问接入、访问控制、资源隔离、资源共享、计费、作业运行、数据传送、大小数据量的统一访问以及平滑过渡等等。
需要说明的是,在本发明实施例中,数据传送客户端实现的数据传输功能基于其运行的数据传送工具实现,以下以数据传送工具代替数据传送客户端为执行主体进行说明:
用户操作提交数据传输指令,表示用户需求在数据传送客户端和Hadoop系统之间进行数据传输操作。
数据传送工具侦测到数据传输指令时,产生数据传输请求并通过Http请求的形式提交到ODPP的负载均衡进程Ngnix,由此进程进行数据传输请求的分发。其中,数据传送工具指示将数据传输请求分发给数据传送执行器。
数据传送执行器在接收到数据传输请求时,对接收的数据传输请求进行解析,解析出数据传送客户端对应的用户名(即前述识别信息)以及用户命令参数(包括上传和下载),将解析出的用户名发送至认证服务器进行鉴权,由认证服务器根据用户名对用户进行认证、鉴权,如果认证、鉴权通过则返回给予数据传送客户端的令牌信息,否则命令执行失败返回。
数据传送执行器对用户的数据传输请求进行调度,具体根据加载服务器集群的各加载服务器的负荷情况进行任务调度,选取一台最佳(当前负荷最低的)的加载服务器,将此加载服务器的IP地址(或者URL、MAC地址等)以及接收的令牌信息返回给数据传送工具。
步骤S20,在接收到所述数据传送执行器返回的连接信息以及令牌信息时,所述数据传送客户端基于所述连接信息以及所述令牌信息与所述加载服务器建立数据传输连接,其中,所述加载服务器仅在验证所述令牌信息成功时与所述数据传送客户端建立数据传输连接;
步骤S30,所述数据传送客户端基于所述数据传输连接与所述加载服务器进行待传输数据的传输。
数据传送工具在接收到数据传送执行器返回的令牌信息以及IP地址时,基于所述IP地址发送携带令牌信息的建链请求至选取的所述加载服务器,由所述加载服务器基于建链请求携带的令牌信息以及用户名进行鉴权(具体发送至认证服务器进行鉴权,并接收认证服务器返回的鉴权结果),若鉴权通过则与数据传送工具建立数据传输连接,否则返回异常。其中,建立的数据传送连接的类型可按实际需要进行设置,本实施例不做具体限制,例如,本实施例数据传送工具和加载服务器建立FTP连接。
需要说明的是,加载服务器运行有Loader进程和FTPServer进程,其中,Loader的主要功能包括:任务调度、任务管理、任务监控、任务查询、文件管理(落地区管理)、HDFS上传与下载,HBASE导入及导出功能等。
在完成FTP连接的建立之后,数据传送工具通过其FTPClient进程与FTPServer交互,实现待传输数据的传输,包括将待传输数据上传至FTPServer,进而由FTPServer将接收的待传输数据上传至HDFS(HadoopDistributed File System,Hadoop分布式文件系统)集群;还包括通过FTPServer将待传输数据从HDFS下载到数据传送客户端本地。
进一步地,在本发明实施例中,为提升整个数据传送系统的高可用性,参照图3,数据传送执行器(DTExecutor)以主备方式部署,其中,主数据传送执行器为Acitve状态,备数据传送执行器为Standby状态,一旦出现主数据传送执行器宕机,备数据传送执行器马上接管业务。
进一步地,在本发明实施例中,认证服务器返回给数据传送客户端的令牌信息还设置有生存周期,所述加载服务器在且仅在所述令牌信息的生存周期内且验证所述令牌信息成功时建立与数据传送工具的数据传输连接。在建立数据传输连接之后,若侦测到令牌信息超期,则指示数据传送客户端重新向认证服务器获取令牌信息,并将令牌信息保存到FTPServer。
本实施例提出的数据传输方法,首先通过数据传送客户端发送携带识别信息的数据传输请求至数据传送执行器,由数据传送执行器将识别信息发送认证服务器进行鉴权,并将认证服务器鉴权通过后返回的令牌信息以及分配的加载服务器的连接信息返回至所述数据传送客户端;然后通过数据传送客户端使用接收的连接信息以及连接信息与分配的加载服务器建立数据传输连接,进行待传输数据的传输,进而实现数据传送客户端与HDFS集群之间的数据传输。相较于现有技术,本发明扩展了对用户的鉴权功能,能够在Hadoop大数据平台上更好的管理不同用户对数据传输的需求,从而达到提升Hadoop储存数据安全性的目的。
进一步地,基于第一实施例,提出了本发明数据传输方法的第二实施例,在本实施例中,所述待传输数据包括待上传数据,步骤S30包括:
所述数据传送客户端基于所述数据传输连接将所述数据传输指令对应的待上传数据上传至所述加载服务器,以供所述加载服务器将接收的所述待上传数据上传到HDFS集群;
步骤S30之后还包括:
所述数据传送客户端接收所述加载服务器上传所述待上传数据至HDFS集群所返回的任务号;
在侦测到所述待上传数据的状态查询指令时,所述数据传送客户端发送携带所述任务号的任务执行状态请求至所述加载服务器,以供所述加载服务器基于所述任务执行状态请求携带的所述任务号,返回其上传所述待上传数据至HDFS集群的第一任务执行状态信息;
所述数据传送客户端接收并展示所述加载服务器返回的所述第一任务执行状态信息。
需要说明的是,本实施例进一步对待传输数据为待上传数据进行说明,同时,为便于用户实时了解上传数据的执行状态,本实施例进一步增加了任务状态查询功能,以下仅针对该区别进行说明,其他可参照第一实施例,此处不再赘述。
结合参照图4,在本发明实施例中,当完成FTP连接的建立之后,数据传送工具通过其FTPClient进程将侦测的数据传输指令所指向的待上传数据上传至FTPServer。
在接收到FTPClient上传的所述待上传数据之后,FTPServer向Loader进行RPC(Remote Procedure Call Protocol,远程过程调用协议)调用,提交文件扫描规则通知Loader开始上传数据到HDFS(Hadoop Distributed FileSystem,Hadoop分布式文件系统)集群,具体为对应用户的Space。其中,FTPServer在接收FTPClient上传的待上传数据时,接收的文件数据先写入临时目录,全部接收完成后再移动至正式目录。
Loader根据文件扫描规则将所述待上传数据上传到用户的Space,其中,Loader在上传成功后删除正式目录中当次接收的数据文件,如果失败也删除当次接收的数据文件。
在成功将所述待上传数据上传到用户的Space之后,加载服务器返回上传成功的提示信息至数据传送工具,由数据传送工具进行展示。
进一步地,在本发明实施例中,Loader在上传待上传数据至HDFS集群时,首先根据FTPServer的RPC请求后向任务数据库创建任务并生成任务号(taskid),将扫描规则加入到任务列表中,准备将待上传数据上传到HDFS集群。
Loader通过Ftpserver将生成的任务号返回至数据传送工具。
在上传过程中,Loader实时向任务数据库更新任务状态,其中,任务状态包括:已提交、正在运行和已结束。
需要说明的是,在本发明实施例中,数据传送客户端实现的任务状态查询功能基于其运行的命令行终端实现,以下以命令行终端代替数据传送客户端为执行主体进行说明:
在需要时,用户可以输入对应任务状态查询功能的CLI语句,触发状态查询指令,此时命令行终端将产生携带前述任务号的任务执行状态请求至所述加载服务器,具体发送到前述任务数据库,由任务数据库根据任务执行状态请求携带的任务号获取Loader上传所述待上传数据而实时更新的任务状态(即第一任务执行状态信息),将获取的第一任务执行状态信息返回至命令行终端进行展示。
命令行终端接收并展示加载服务器(任务数据库)返回的第一任务执行状态信息。
进一步地,基于第二实施例,提出了本发明数据传输方法的第三实施例,在本实施例中,在执行步骤S30的同时,还执行以下步骤:
所述数据传送客户端实时记录上传所述待上传数据至所述加载服务器的第二任务执行状态信息;
步骤S30之后,还包括:
所述数据传送客户端在侦测到上传所述待上传数据至所述加载服务器中断时,基于记录的所述第二任务执行状态信息将所述待上传数据中未上传的部分数据上传至所述加载服务器。
需要说明的是,为确保数据上传任务的成功执行,本实施例在第二实施例的基础上,进一步增加了断点续传的功能,以下仅针对该区别进行说明,其他可参照前述实施例,此处不再赘述。以下继续以数据传送工具代替数据传送客户端为执行主体进行说明。
在本发明实施例中,数据传送工具(具体为FTPClient)在建立与加载服务器(具体为FTPServer)FTP连接,并开始上传待上传数据至加载服务器时,数据传送工具实时记录其上传所述待上传数据至所述加载服务器的第二任务执行状态信息。
当侦测到上传所述待上传数据至所述加载服务器中断时,数据传送工具基于记录的第二任务执行状态信息确定中断点的位置信息,并基于前述接收的IP地址重新提交上传所述待上传数据的任务,根据确定的中断点的位置信息将待上传数据中未上传的部分数据上传至所述加载服务器,完成整个待上传数据的上传。
进一步地,基于第一实施例,提出了本发明数据传输方法的第四实施例,在本实施例中,步骤S20之前,还包括:
在接收到所述数据传送执行器返回的连接信息以及令牌信息时,所述数据传送客户端侦测所述加载服务器是否从HDFS集群下载到所述数据传输指令对应的待下载数据;在所述加载服务器下载到所述待下载数据时,转入执行步骤S20;
步骤S30包括:
所述数据传送客户端基于所述数据传输连接从所述加载服务器下载所述待下载数据。
需要说明的是,本实施例进一步对待传输数据为待下载数据进行说明,其他可参照第一实施例,此处不再赘述。
在本发明实施例中,数据传送客户端实现的数据传输功能基于其运行的数据传送工具实现,结合参照图5,以下以数据传送工具代替数据传送客户端为执行主体进行说明:
用户操作提交数据传输指令,数据传送工具识别到数据传送指令指向的待传输数据为待下载数据,产生数据传输请求并通过Http请求的形式提交到ODPP的负载均衡进程Ngnix,由此进程进行数据传输请求的分发。其中,数据传送工具指示将数据传输请求分发给数据传送执行器。
数据传送执行器在接收到数据传输请求时,对接收的数据传输请求进行解析,解析出数据传送客户端对应的用户名(即前述识别信息)以及用户命令参数(包括上传和下载,此处为下载),将解析出的用户名发送至认证服务器进行鉴权,由认证服务器根据用户名对用户进行认证、鉴权,如果认证、鉴权通过则返回给予数据传送客户端的令牌信息,否则命令执行失败返回。
数据传送执行器对用户的数据传输请求进行调度,具体根据加载服务器集群的各加载服务器的负荷情况进行任务调度,获取一台最佳(当前负荷最低的)的加载服务器。
数据传送执行器向选中的加载服务器的Loader进程发送RPC调用请求,提交客户端作业请求。
Loader接收到数据传送执行器的RPC请求后,判断本地是否能够接收该任务,如果可以,则向任务数据库插入一条记录,同时将下载任务加入到待处理任务列表中等待调度执行,并返回成功响应;如果不能完成该任务执行,则向数据传送执行器返回失败响应。
如果数据传送执行器收到RPC成功响应,则将选中的加载服务器的IP地址(或者URL、MAC地址等其他连接信息)接收的令牌信息返回给数据传送工具;否则继续选中一个合适的加载服务器,直到尝试最大次数,若仍失败则向数据传送工具返回失败信息。
Loader调度新的下载任务,将数据下载指令指向的待下载数据从HDFS集群下载到本地硬盘(加载服务器本地硬盘)。
需要说明的是,加载服务器还运行有FTPServer进程,数据传送工具通过其FTPClient进程将数据传送执行器返回的所述IP地址,发送携带令牌信息的建链请求至选取的所述加载服务器的FTPServer进程,由FTPServer基于建链请求携带的令牌信息以及用户名进行鉴权(具体发送至认证服务器进行鉴权,并接收认证服务器返回的鉴权结果),若鉴权通过则FTPServer与FTPClient建立FTP连接(即前述数据传输连接),否则返回异常。
在完成FTP连接的建立之后,FTPClient通过FTPServer将Loader从HDFS集群下载的待下载数据下载到本地硬盘,完成待下载数据的下载。
进一步地,在本发明实施例中,前述Loader在返回RPC成功响应至数据传送执行器时,还同时返回前述下载任务的任务号至数据传送执行器,由数据传送执行器将接收的任务号与接收的认证服务器所返回的令牌信息以及加载服务器的IP地址一起返回给数据传送工具,供数据传输工具基于接收的任务号实时查询Loader是否完成待下载数据的下载。
在下载过程中,Loader实时向任务数据库更新任务状态,其中,任务状态包括:已提交、正在运行和已结束。
此外,在本发明实施例中,数据传送客户端还提供任务状态查询功能给用户。其中,数据传送客户端实现的任务状态查询功能基于其运行的命令行终端实现,以下以命令行终端代替数据传送客户端为执行主体进行说明:
在需要时,用户可以输入对应任务状态查询功能的CLI语句,触发状态查询指令,此时命令行终端将产生携带前述任务号的任务执行状态请求至所述加载服务器,具体发送到前述任务数据库,由任务数据库根据任务执行状态请求携带的任务号获取Loader下载所述待下载数据而实时更新的任务状态(即任务执行状态信息),将获取的任务执行状态信息返回至命令行终端进行展示。
命令行终端接收并展示加载服务器(任务数据库)返回的任务执行状态信息。
进一步地,提出了本发明数据传输方法的第五实施例,参照图6,在本实施例中,该数据传输方法包括:
步骤S110,在接收到数据传送客户端发送的数据传输请求时,数据传送执行器将所述数据传输请求携带的识别信息发送至认证服务器进行鉴权;
步骤S120,在接收到所述认证服务器完成鉴权后返回的令牌信息时,所述数据传送执行器为所述数据传送客户端分配加载服务器;
步骤S130,所述数据传送执行器将所述令牌信息以及分配的加载服务器的连接信息发送至所述数据传送客户端,以供所述数据传送客户端基于所述令牌信息以及所述连接信息与所述加载服务器建立数据传输连接,进行待传输数据的传输。
需要说明的是,本实施例提出的数据传输方法基于图2所示的Hadoop大数据系统的中间件ODPP(Open DataProcessing Platform,开放式数据处理平台)系统实现,其中,有关ODPP的说明可参照前述数据传输方法第一实施例的相关描述,此处不再赘述。
在本发明实施例中,数据传送执行器配合数据传送客户端实现数据传送客户端和Hadoop系统之间数据传输,数据传送客户端实现的数据传输功能基于其运行的数据传送工具实现,以下以数据传送工具代替数据传送客户端为执行主体进行说明:
用户操作提交数据传输指令,表示用户需求在数据传送客户端和Hadoop系统之间进行数据传输操作。
数据传送工具侦测到数据传输指令时,产生数据传输请求并通过Http请求的形式提交到ODPP的负载均衡进程Ngnix,由此进程进行数据传输请求的分发。其中,数据传送工具指示将数据传输请求分发给数据传送执行器。
数据传送执行器在接收到数据传输请求时,对接收的数据传输请求进行解析,解析出数据传送客户端对应的用户名(即前述识别信息)以及用户命令参数(包括上传和下载),将解析出的用户名发送至认证服务器进行鉴权,由认证服务器根据用户名对用户进行认证、鉴权,如果认证、鉴权通过则返回给予数据传送客户端的令牌信息,否则命令执行失败返回。
数据传送执行器对用户的数据传输请求进行调度,具体根据加载服务器集群的各加载服务器的负荷情况进行任务调度,选取一台最佳(当前负荷最低的)的加载服务器,将此加载服务器的IP地址(或者URL、MAC地址等)以及接收的令牌信息返回给数据传送工具。
数据传送工具在接收到数据传送执行器返回的令牌信息以及IP地址时,基于所述IP地址发送携带令牌信息的建链请求至选取的所述加载服务器,由所述加载服务器基于建链请求携带的令牌信息以及用户名进行鉴权(具体发送至认证服务器进行鉴权,并接收认证服务器返回的鉴权结果),若鉴权通过则与数据传送工具建立数据传输连接,否则返回异常。其中,建立的数据传送连接的类型可按实际需要进行设置,本实施例不做具体限制,例如,本实施例数据传送工具和加载服务器建立FTP连接。
需要说明的是,加载服务器运行有Loader进程和FTPServer进程,其中,Loader的主要功能包括:任务调度、任务管理、任务监控、任务查询、文件管理(落地区管理)、HDFS上传与下载,HBASE导入及导出功能等。
在完成FTP连接的建立之后,数据传送工具通过其FTPClient进程与FTPServer交互,实现待传输数据的传输,包括将待传输数据上传至FTPServer,进而由FTPServer将接收的待传输数据上传至HDFS(HadoopDistributed File System,Hadoop分布式文件系统)集群;还包括通过FTPServer将待传输数据从HDFS下载到数据传送客户端本地。
进一步地,在本发明实施例中,为提升整个数据传送系统的高可用性,参照图3,数据传送执行器(DTExecutor)以主备方式部署,其中,主数据传送执行器为Acitve状态,备数据传送执行器为Standby状态,一旦出现主数据传送执行器宕机,备数据传送执行器马上接管业务。
进一步地,在本发明实施例中,认证服务器返回给数据传送客户端的令牌信息还设置有生存周期,所述加载服务器在且仅在所述令牌信息的生存周期内且验证所述令牌信息成功时建立与数据传送工具的数据传输连接。在建立数据传输连接之后,若侦测到令牌信息超期,则指示数据传送客户端重新向认证服务器获取令牌信息,并将令牌信息保存到FTPServer。
本发明还提供一种执行前述数据传输方法的数据传送客户端,参照图7,对应于前述数据传输方法的第一实施例,在本发明数据传送客户端的第一实施例中,所述数据传送客户端包括请求模块10、连接模块20和传输模块30,其中,
所述请求模块10,用于在侦测到数据传输指令时,发送数据传输请求至数据传送执行器,以供所述数据传送执行器基于接收的数据传输请求为所述数据传送客户端分配加载服务器,并将接收的数据传输请求所携带的识别信息发送至认证服务器进行鉴权,将所述认证服务器完成鉴权后返回的令牌信息以及分配的加载服务器的连接信息返回至所述连接模块20;
所述连接模块20,用于在接收到所述数据传送执行器返回的连接信息以及令牌信息时,基于所述连接信息以及所述令牌信息与所述加载服务器建立数据传输连接,其中,所述加载服务器仅在验证所述令牌信息成功时与所述连接模块20建立数据传输连接;
所述传输模块30,用于基于所述数据传输连接与所述加载服务器进行待传输数据的传输。
需要说明的是,本实施例提出的数据传送客户端用于在图2所示的Hadoop大数据系统的中间件ODPP(Open DataProcessing Platform,开放式数据处理平台)系统实现数据传输功能。其中,有关ODPP的说明可参照前述数据传输方法第一实施例的相关描述,此处不再赘述。
在本发明实施例中,数据传送执行器配合数据传送客户端实现数据传送客户端和Hadoop系统之间数据传输,数据传送客户端实现的数据传输功能基于其运行的数据传送工具实现,以下以数据传送工具代替数据传送客户端为执行主体进行说明:
用户操作提交数据传输指令,表示用户需求在数据传送客户端和Hadoop系统之间进行数据传输操作。
数据传送工具侦测到数据传输指令时,产生数据传输请求并通过Http请求的形式提交到ODPP的负载均衡进程Ngnix,由此进程进行数据传输请求的分发。其中,数据传送工具指示将数据传输请求分发给数据传送执行器。
数据传送执行器在接收到数据传输请求时,对接收的数据传输请求进行解析,解析出数据传送客户端对应的用户名(即前述识别信息)以及用户命令参数(包括上传和下载),将解析出的用户名发送至认证服务器进行鉴权,由认证服务器根据用户名对用户进行认证、鉴权,如果认证、鉴权通过则返回给予数据传送客户端的令牌信息,否则命令执行失败返回。
数据传送执行器对用户的数据传输请求进行调度,具体根据加载服务器集群的各加载服务器的负荷情况进行任务调度,选取一台最佳(当前负荷最低的)的加载服务器,将此加载服务器的IP地址(或者URL、MAC地址等)以及接收的令牌信息返回给数据传送工具。
数据传送工具在接收到数据传送执行器返回的令牌信息以及IP地址时,基于所述IP地址发送携带令牌信息的建链请求至选取的所述加载服务器,由所述加载服务器基于建链请求携带的令牌信息以及用户名进行鉴权(具体发送至认证服务器进行鉴权,并接收认证服务器返回的鉴权结果),若鉴权通过则与数据传送工具建立数据传输连接,否则返回异常。其中,建立的数据传送连接的类型可按实际需要进行设置,本实施例不做具体限制,例如,本实施例数据传送工具和加载服务器建立FTP连接。
需要说明的是,加载服务器运行有Loader进程和FTPServer进程,其中,Loader的主要功能包括:任务调度、任务管理、任务监控、任务查询、文件管理(落地区管理)、HDFS上传与下载,HBASE导入及导出功能等。
在完成FTP连接的建立之后,数据传送工具通过其FTPClient进程与FTPServer交互,实现待传输数据的传输,包括将待传输数据上传至FTPServer,进而由FTPServer将接收的待传输数据上传至HDFS(HadoopDistributed File System,Hadoop分布式文件系统)集群;还包括通过FTPServer将待传输数据从HDFS下载到数据传送客户端本地。
进一步地,在本发明实施例中,为提升整个数据传送系统的高可用性,参照图3,数据传送执行器(DTExecutor)以主备方式部署,其中,主数据传送执行器为Acitve状态,备数据传送执行器为Standby状态,一旦出现主数据传送执行器宕机,备数据传送执行器马上接管业务。
进一步地,在本发明实施例中,认证服务器返回给数据传送客户端的令牌信息还设置有生存周期,所述加载服务器在且仅在所述令牌信息的生存周期内且验证所述令牌信息成功时建立与数据传送工具的数据传输连接。在建立数据传输连接之后,若侦测到令牌信息超期,则指示数据传送客户端重新向认证服务器获取令牌信息,并将令牌信息保存到FTPServer。
本实施例提出的数据传送客户端,首先发送携带识别信息的数据传输请求至数据传送执行器,由数据传送执行器将识别信息发送认证服务器进行鉴权,并将认证服务器鉴权通过后返回的令牌信息以及分配的加载服务器的连接信息返回至所述数据传送客户端;然后通过数据传送客户端使用接收的连接信息以及连接信息与分配的加载服务器建立数据传输连接,进行待传输数据的传输,进而实现数据传送客户端与HDFS集群之间的数据传输。相较于现有技术,本发明扩展了对用户的鉴权功能,能够在Hadoop大数据平台上更好的管理不同用户对数据传输的需求,从而达到提升Hadoop储存数据安全性的目的。
进一步地,基于第一实施例,提出了本发明数据传送客户端的第二实施例,对应于前述数据传输方法的第二实施例,在本实施例中,所述待传输数据包括待上传数据,所述传输模块30还用于,基于所述数据传输连接将所述数据传输指令对应的待上传数据上传至所述加载服务器,以供所述加载服务器将接收的所述待上传数据上传到HDFS集群;
所述数据传送客户端还包括:
状态查询模块,用于接收所述加载服务器上传所述待上传数据至HDFS集群所返回的任务号;以及
在侦测到所述待上传数据的状态查询指令时,发送携带所述任务号的任务执行状态请求至所述加载服务器,以供所述加载服务器基于所述任务执行状态请求携带的所述任务号,返回其上传所述待上传数据至HDFS集群的第一任务执行状态信息;以及
接收并展示所述加载服务器返回的所述第一任务执行状态信息。
需要说明的是,本实施例进一步对待传输数据为待上传数据进行说明,同时,为便于用户实时了解上传数据的执行状态,本实施例进一步增加了任务状态查询功能,以下仅针对该区别进行说明,其他可参照第一实施例,此处不再赘述。
结合参照图4,在本发明实施例中,当完成FTP连接的建立之后,数据传送工具通过其FTPClient进程将侦测的数据传输指令所指向的待上传数据上传至FTPServer。
在接收到FTPClient上传的所述待上传数据之后,FTPServer向Loader进行RPC(Remote Procedure Call Protocol,远程过程调用协议)调用,提交文件扫描规则通知Loader开始上传数据到HDFS(Hadoop Distributed FileSystem,Hadoop分布式文件系统)集群,具体为对应用户的Space。其中,FTPServer在接收FTPClient上传的待上传数据时,接收的文件数据先写入临时目录,全部接收完成后再移动至正式目录。
Loader根据文件扫描规则将所述待上传数据上传到用户的Space,其中,Loader在上传成功后删除正式目录中当次接收的数据文件,如果失败也删除当次接收的数据文件。
在成功将所述待上传数据上传到用户的Space之后,加载服务器返回上传成功的提示信息至数据传送工具,由数据传送工具进行展示。
进一步地,在本发明实施例中,Loader在上传待上传数据至HDFS集群时,首先根据FTPServer的RPC请求后向任务数据库创建任务并生成任务号(taskid),将扫描规则加入到任务列表中,准备将待上传数据上传到HDFS集群。
Loader通过Ftpserver将生成的任务号返回至数据传送工具。
在上传过程中,Loader实时向任务数据库更新任务状态,其中,任务状态包括:已提交、正在运行和已结束。
需要说明的是,在本发明实施例中,数据传送客户端实现的任务状态查询功能基于其运行的命令行终端实现,以下以命令行终端代替数据传送客户端为执行主体进行说明:
在需要时,用户可以输入对应任务状态查询功能的CLI语句,触发状态查询指令,此时命令行终端将产生携带前述任务号的任务执行状态请求至所述加载服务器,具体发送到前述任务数据库,由任务数据库根据任务执行状态请求携带的任务号获取Loader上传所述待上传数据而实时更新的任务状态(即第一任务执行状态信息),将获取的第一任务执行状态信息返回至命令行终端进行展示。
命令行终端接收并展示加载服务器(任务数据库)返回的第一任务执行状态信息。
进一步地,基于第二实施例,提出了本发明数据传送客户端的第三实施例,对应于前述数据传输方法的第三实施例,在本实施例中,所述传输模块30还用于实时记录上传所述待上传数据至所述加载服务器的第二任务执行状态信息;以及
在侦测到上传所述待上传数据至所述加载服务器中断时,基于记录的所述第二任务执行状态信息将所述待上传数据中未上传的部分数据上传至所述加载服务器。
需要说明的是,为确保数据上传任务的成功执行,本实施例在第二实施例的基础上,进一步增加了断点续传的功能,以下仅针对该区别进行说明,其他可参照前述实施例,此处不再赘述。以下继续以数据传送工具代替数据传送客户端为执行主体进行说明。
在本发明实施例中,数据传送工具(具体为FTPClient)在建立与加载服务器(具体为FTPServer)FTP连接,并开始上传待上传数据至加载服务器时,数据传送工具实时记录其上传所述待上传数据至所述加载服务器的第二任务执行状态信息。
当侦测到上传所述待上传数据至所述加载服务器中断时,数据传送工具基于记录的第二任务执行状态信息确定中断点的位置信息,并基于前述接收的IP地址重新提交上传所述待上传数据的任务,根据确定的中断点的位置信息将待上传数据中未上传的部分数据上传至所述加载服务器,完成整个待上传数据的上传。
进一步地,基于第一实施例,提出了本发明数据传送客户端的第四实施例,对应于前述数据传输方法的第四实施例,在本实施例中,所述待传输数据包括待下载数据,所述连接模块20还用于,在接收到所述数据传送执行器返回的连接信息以及令牌信息时,侦测所述加载服务器是否从HDFS集群下载到所述数据传输指令对应的待下载数据;以及
在所述加载服务器下载到所述待下载数据时,基于所述连接信息以及所述令牌信息与所述加载服务器建立数据传输连接;
所述传输模块30还用于,基于所述数据传输连接从所述加载服务器下载所述待下载数据。
需要说明的是,本实施例进一步对待传输数据为待下载数据进行说明,其他可参照第一实施例,此处不再赘述。
在本发明实施例中,数据传送客户端实现的数据传输功能基于其运行的数据传送工具实现,结合参照图5,以下以数据传送工具代替数据传送客户端为执行主体进行说明:
用户操作提交数据传输指令,数据传送工具识别到数据传送指令指向的待传输数据为待下载数据,产生数据传输请求并通过Http请求的形式提交到ODPP的负载均衡进程Ngnix,由此进程进行数据传输请求的分发。其中,数据传送工具指示将数据传输请求分发给数据传送执行器。
数据传送执行器在接收到数据传输请求时,对接收的数据传输请求进行解析,解析出数据传送客户端对应的用户名(即前述识别信息)以及用户命令参数(包括上传和下载,此处为下载),将解析出的用户名发送至认证服务器进行鉴权,由认证服务器根据用户名对用户进行认证、鉴权,如果认证、鉴权通过则返回给予数据传送客户端的令牌信息,否则命令执行失败返回。
数据传送执行器对用户的数据传输请求进行调度,具体根据加载服务器集群的各加载服务器的负荷情况进行任务调度,获取一台最佳(当前负荷最低的)的加载服务器。
数据传送执行器向选中的加载服务器的Loader进程发送RPC调用请求,提交客户端作业请求。
Loader接收到数据传送执行器的RPC请求后,判断本地是否能够接收该任务,如果可以,则向任务数据库插入一条记录,同时将下载任务加入到待处理任务列表中等待调度执行,并返回成功响应;如果不能完成该任务执行,则向数据传送执行器返回失败响应。
如果数据传送执行器收到RPC成功响应,则将选中的加载服务器的IP地址(或者URL、MAC地址等其他连接信息)接收的令牌信息返回给数据传送工具;否则继续选中一个合适的加载服务器,直到尝试最大次数,若仍失败则向数据传送工具返回失败信息。
Loader调度新的下载任务,将数据下载指令指向的待下载数据从HDFS集群下载到本地硬盘(加载服务器本地硬盘)。
需要说明的是,加载服务器还运行有FTPServer进程,数据传送工具通过其FTPClient进程将数据传送执行器返回的所述IP地址,发送携带令牌信息的建链请求至选取的所述加载服务器的FTPServer进程,由FTPServer基于建链请求携带的令牌信息以及用户名进行鉴权(具体发送至认证服务器进行鉴权,并接收认证服务器返回的鉴权结果),若鉴权通过则FTPServer与FTPClient建立FTP连接(即前述数据传输连接),否则返回异常。
在完成FTP连接的建立之后,FTPClient通过FTPServer将Loader从HDFS集群下载的待下载数据下载到本地硬盘,完成待下载数据的下载。
进一步地,在本发明实施例中,前述Loader在返回RPC成功响应至数据传送执行器时,还同时返回前述下载任务的任务号至数据传送执行器,由数据传送执行器将接收的任务号与接收的认证服务器所返回的令牌信息以及加载服务器的IP地址一起返回给数据传送工具,供数据传输工具基于接收的任务号实时查询Loader是否完成待下载数据的下载。
在下载过程中,Loader实时向任务数据库更新任务状态,其中,任务状态包括:已提交、正在运行和已结束。
此外,在本发明实施例中,数据传送客户端还提供任务状态查询功能给用户。其中,数据传送客户端实现的任务状态查询功能基于其运行的命令行终端实现,以下以命令行终端代替数据传送客户端为执行主体进行说明:
在需要时,用户可以输入对应任务状态查询功能的CLI语句,触发状态查询指令,此时命令行终端将产生携带前述任务号的任务执行状态请求至所述加载服务器,具体发送到前述任务数据库,由任务数据库根据任务执行状态请求携带的任务号获取Loader下载所述待下载数据而实时更新的任务状态(即任务执行状态信息),将获取的任务执行状态信息返回至命令行终端进行展示。
命令行终端接收并展示加载服务器(任务数据库)返回的任务执行状态信息。
进一步地,本发明还提供一种执行前述数据传输方法的数据传送执行器,对应于前述数据传输方法的第五实施例,参照图8,在本实施例中,所述数据传送执行器包括:
鉴权模块110,用于在接收到数据传送客户端发送的数据传输请求时,将所述数据传输请求携带的识别信息发送至认证服务器进行鉴权;
分配模块120,用于在接收到所述认证服务器完成鉴权后返回的令牌信息时,为所述数据传送客户端分配加载服务器;
授权模块130,用于将所述令牌信息以及分配的加载服务器的连接信息发送至所述数据传送客户端,以供所述数据传送客户端基于所述令牌信息以及所述连接信息与所述加载服务器建立数据传输连接,进行待传输数据的传输。
需要说明的是,本实施例提出的数据传送执行器应用于图2所示的Hadoop大数据系统的中间件ODPP(Open DataProcessing Platform,开放式数据处理平台)系统中,用于配合数据传送客户端实现数据传送客户端和Hadoop系统之间数据传输。其中,有关ODPP的说明可参照前述数据传输方法第一实施例的相关描述,此处不再赘述。
在本发明实施例中,数据传送客户端实现的数据传输功能基于其运行的数据传送工具实现,以下以数据传送工具代替数据传送客户端为执行主体进行说明:
用户操作提交数据传输指令,表示用户需求在数据传送客户端和Hadoop系统之间进行数据传输操作。
数据传送工具侦测到数据传输指令时,产生数据传输请求并通过Http请求的形式提交到ODPP的负载均衡进程Ngnix,由此进程进行数据传输请求的分发。其中,数据传送工具指示将数据传输请求分发给数据传送执行器。
数据传送执行器在接收到数据传输请求时,由鉴权模块110对接收的数据传输请求进行解析,解析出数据传送客户端对应的用户名(即前述识别信息)以及用户命令参数(包括上传和下载),将解析出的用户名发送至认证服务器进行鉴权,由认证服务器根据用户名对用户进行认证、鉴权,如果认证、鉴权通过则返回给予数据传送客户端的令牌信息,否则命令执行失败返回。
数据传送执行器对用户的数据传输请求进行调度,具体由分配模块120根据加载服务器集群的各加载服务器的负荷情况进行任务调度,选取一台最佳(当前负荷最低的)的加载服务器,由授权模块130将此加载服务器的IP地址(或者URL、MAC地址等)以及接收的令牌信息返回给数据传送工具。
数据传送工具在接收到数据传送执行器返回的令牌信息以及IP地址时,基于所述IP地址发送携带令牌信息的建链请求至选取的所述加载服务器,由所述加载服务器基于建链请求携带的令牌信息以及用户名进行鉴权(具体发送至认证服务器进行鉴权,并接收认证服务器返回的鉴权结果),若鉴权通过则与数据传送工具建立数据传输连接,否则返回异常。其中,建立的数据传送连接的类型可按实际需要进行设置,本实施例不做具体限制,例如,本实施例数据传送工具和加载服务器建立FTP连接。
需要说明的是,加载服务器运行有Loader进程和FTPServer进程,其中,Loader的主要功能包括:任务调度、任务管理、任务监控、任务查询、文件管理(落地区管理)、HDFS上传与下载,HBASE导入及导出功能等。
在完成FTP连接的建立之后,数据传送工具通过其FTPClient进程与FTPServer交互,实现待传输数据的传输,包括将待传输数据上传至FTPServer,进而由FTPServer将接收的待传输数据上传至HDFS(HadoopDistributed File System,Hadoop分布式文件系统)集群;还包括通过FTPServer将待传输数据从HDFS下载到数据传送客户端本地。
进一步地,在本发明实施例中,为提升整个数据传送系统的高可用性,参照图3,数据传送执行器(DTExecutor)以主备方式部署,其中,主数据传送执行器为Acitve状态,备数据传送执行器为Standby状态,一旦出现主数据传送执行器宕机,备数据传送执行器马上接管业务。
进一步地,在本发明实施例中,认证服务器返回给数据传送客户端的令牌信息还设置有生存周期,所述加载服务器在且仅在所述令牌信息的生存周期内且验证所述令牌信息成功时建立与数据传送工具的数据传输连接。在建立数据传输连接之后,若侦测到令牌信息超期,则指示数据传送客户端重新向认证服务器获取令牌信息,并将令牌信息保存到FTPServer。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种数据传输方法,应用于ODPP中间件系统,其特征在于,所述数据传输方法包括以下步骤:
在侦测到数据传输指令时,数据传送客户端发送数据传输请求至数据传送执行器,以供所述数据传送执行器基于接收的数据传输请求为所述数据传送客户端分配加载服务器,并将接收的数据传输请求所携带的识别信息发送至认证服务器进行鉴权,将所述认证服务器完成鉴权后返回的令牌信息以及分配的加载服务器的连接信息返回至所述数据传送客户端;
在接收到所述数据传送执行器返回的连接信息以及令牌信息时,所述数据传送客户端基于所述连接信息以及所述令牌信息与所述加载服务器建立数据传输连接,其中,所述加载服务器仅在验证所述令牌信息成功时与所述数据传送客户端建立数据传输连接;
所述数据传送客户端基于所述数据传输连接与所述加载服务器进行待传输数据的传输。
2.根据权利要求1所述的数据传输方法,其特征在于,所述待传输数据包括待上传数据,所述数据传送客户端基于所述数据传输连接与所述加载服务器进行待传输数据的传输的步骤包括:
所述数据传送客户端基于所述数据传输连接将所述数据传输指令对应的待上传数据上传至所述加载服务器,以供所述加载服务器将接收的所述待上传数据上传到HDFS集群;
所述数据传送客户端基于所述数据传输连接将所述数据传输指令对应的待上传数据上传至所述加载服务器之后还包括:
所述数据传送客户端接收所述加载服务器上传所述待上传数据至HDFS集群所返回的任务号;
在侦测到所述待上传数据的状态查询指令时,所述数据传送客户端发送携带所述任务号的任务执行状态请求至所述加载服务器,以供所述加载服务器基于所述任务执行状态请求携带的所述任务号,返回其上传所述待上传数据至HDFS集群的第一任务执行状态信息;
所述数据传送客户端接收并展示所述加载服务器返回的所述第一任务执行状态信息。
3.根据权利要求2所述的数据传输方法,其特征在于,在执行所述数据传送客户端基于所述数据传输连接将所述数据传输指令对应的待上传数据上传至所述加载服务器的同时,还执行以下步骤:
所述数据传送客户端实时记录上传所述待上传数据至所述加载服务器的第二任务执行状态信息;
所述数据传送客户端基于所述数据传输连接将所述数据传输指令对应的待上传数据上传至所述加载服务器的步骤之后,还包括:
所述数据传送客户端在侦测到上传所述待上传数据至所述加载服务器中断时,基于记录的所述第二任务执行状态信息将所述待上传数据中未上传的部分数据上传至所述加载服务器。
4.根据权利要求1所述的数据传输方法,其特征在于,所述待传输数据包括待下载数据,所述数据传送客户端基于所述连接信息以及所述令牌信息与所述加载服务器建立数据传输连接的步骤之前,还包括:
在接收到所述数据传送执行器返回的连接信息以及令牌信息时,所述数据传送客户端侦测所述加载服务器是否从HDFS集群下载到所述数据传输指令对应的待下载数据;
在所述加载服务器下载到所述待下载数据时,转入执行所述数据传送客户端基于所述连接信息以及所述令牌信息与所述加载服务器建立数据传输连接的步骤;
所述数据传送客户端基于所述数据传输连接与所述加载服务器进行待传输数据的传输的步骤包括:
所述数据传送客户端基于所述数据传输连接从所述加载服务器下载所述待下载数据。
5.一种数据传输方法,应用于ODPP中间件系统,其特征在于,所述数据传输方法包括:
在接收到数据传送客户端发送的数据传输请求时,数据传送执行器将所述数据传输请求携带的识别信息发送至认证服务器进行鉴权;
在接收到所述认证服务器完成鉴权后返回的令牌信息时,所述数据传送执行器为所述数据传送客户端分配加载服务器;
所述数据传送执行器将所述令牌信息以及分配的加载服务器的连接信息发送至所述数据传送客户端,以供所述数据传送客户端基于所述令牌信息以及所述连接信息与所述加载服务器建立数据传输连接,进行待传输数据的传输。
6.一种数据传送客户端,应用于ODPP中间件系统,其特征在于,所述数据传送客户端包括请求模块、连接模块以及传输模块,其中,
所述请求模块,用于在侦测到数据传输指令时,发送数据传输请求至数据传送执行器,以供所述数据传送执行器基于接收的数据传输请求为所述数据传送客户端分配加载服务器,并将接收的数据传输请求所携带的识别信息发送至认证服务器进行鉴权,将所述认证服务器完成鉴权后返回的令牌信息以及分配的加载服务器的连接信息返回至所述连接模块;
所述连接模块,用于在接收到所述数据传送执行器返回的连接信息以及令牌信息时,基于所述连接信息以及所述令牌信息与所述加载服务器建立数据传输连接,其中,所述加载服务器仅在验证所述令牌信息成功时与所述连接模块建立数据传输连接;
所述传输模块,用于基于所述数据传输连接与所述加载服务器进行待传输数据的传输。
7.根据权利要求6所述的数据传送客户端,其特征在于,所述待传输数据包括待上传数据,所述传输模块还用于,基于所述数据传输连接将所述数据传输指令对应的待上传数据上传至所述加载服务器,以供所述加载服务器将接收的所述待上传数据上传到HDFS集群;
所述数据传送客户端还包括:
状态查询模块,用于接收所述加载服务器上传所述待上传数据至HDFS集群所返回的任务号;以及
在侦测到所述待上传数据的状态查询指令时,发送携带所述任务号的任务执行状态请求至所述加载服务器,以供所述加载服务器基于所述任务执行状态请求携带的所述任务号,返回其上传所述待上传数据至HDFS集群的第一任务执行状态信息;以及
接收并展示所述加载服务器返回的所述第一任务执行状态信息。
8.根据权利要求7所述的数据传送客户端,其特征在于,所述传输模块还用于,实时记录上传所述待上传数据至所述加载服务器的第二任务执行状态信息;以及
在侦测到上传所述待上传数据至所述加载服务器中断时,基于记录的所述第二任务执行状态信息将所述待上传数据中未上传的部分数据上传至所述加载服务器。
9.根据权利要求6所述的数据传送客户端,其特征在于,所述待传输数据包括待下载数据,所述连接模块还用于,在接收到所述数据传送执行器返回的连接信息以及令牌信息时,侦测所述加载服务器是否从HDFS集群下载到所述数据传输指令对应的待下载数据;以及
在所述加载服务器下载到所述待下载数据时,基于所述连接信息以及所述令牌信息与所述加载服务器建立数据传输连接;
所述传输模块还用于,基于所述数据传输连接从所述加载服务器下载所述待下载数据。
10.一种数据传送执行器,应用于ODPP中间件系统,其特征在于,所述数据传送执行器包括:
鉴权模块,用于在接收到数据传送客户端发送的数据传输请求时,将所述数据传输请求携带的识别信息发送至认证服务器进行鉴权;
分配模块,用于在接收到所述认证服务器完成鉴权后返回的令牌信息时,为所述数据传送客户端分配加载服务器;
授权模块,用于将所述令牌信息以及分配的加载服务器的连接信息发送至所述数据传送客户端,以供所述数据传送客户端基于所述令牌信息以及所述连接信息与所述加载服务器建立数据传输连接,进行待传输数据的传输。
CN201610389651.3A 2016-06-03 2016-06-03 数据传输方法、数据传送客户端及数据传送执行器 Active CN107465644B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610389651.3A CN107465644B (zh) 2016-06-03 2016-06-03 数据传输方法、数据传送客户端及数据传送执行器
PCT/CN2017/087106 WO2017206960A1 (zh) 2016-06-03 2017-06-02 数据传输方法、数据传送客户端及数据传送执行器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610389651.3A CN107465644B (zh) 2016-06-03 2016-06-03 数据传输方法、数据传送客户端及数据传送执行器

Publications (2)

Publication Number Publication Date
CN107465644A true CN107465644A (zh) 2017-12-12
CN107465644B CN107465644B (zh) 2021-02-23

Family

ID=60478576

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610389651.3A Active CN107465644B (zh) 2016-06-03 2016-06-03 数据传输方法、数据传送客户端及数据传送执行器

Country Status (2)

Country Link
CN (1) CN107465644B (zh)
WO (1) WO2017206960A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647039A (zh) * 2018-04-10 2018-10-12 北京奇安信科技有限公司 一种数据升级的处理方法及装置
CN108880912A (zh) * 2018-07-18 2018-11-23 北京力尊信通科技股份有限公司 一种it运维控制系统及方法
CN112039941A (zh) * 2020-07-08 2020-12-04 广东易达电子科技有限公司 一种数据传输方法、设备及介质
CN115277834A (zh) * 2022-07-29 2022-11-01 苏州创意云网络科技有限公司 任务数据的处理方法、装置和服务器

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115529308B (zh) * 2022-09-21 2024-08-09 上海浦东发展银行股份有限公司 文件交互方法、装置、计算机设备、存储介质
CN116743511B (zh) * 2023-08-15 2023-11-03 中移(苏州)软件技术有限公司 一种鉴权方法、装置、服务器及存储介质

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1595873A (zh) * 2004-06-23 2005-03-16 北京邮电大学 基于混合架构和多安全机制的网络考试系统及其实现方法
CN101414907A (zh) * 2008-11-27 2009-04-22 北京邮电大学 一种基于用户身份授权访问网络的方法和系统
CN102457555A (zh) * 2010-10-28 2012-05-16 中兴通讯股份有限公司 一种分布式存储的安全系统及方法
US20130185337A1 (en) * 2012-01-18 2013-07-18 Cloudera, Inc. Memory allocation buffer for reduction of heap fragmentation
CN103324539A (zh) * 2013-06-24 2013-09-25 浪潮电子信息产业股份有限公司 一种作业调度管理系统及方法
US20140040575A1 (en) * 2012-08-01 2014-02-06 Netapp, Inc. Mobile hadoop clusters
CN104363095A (zh) * 2014-11-12 2015-02-18 浪潮(北京)电子信息产业有限公司 一种hadoop的身份认证机制构建方法
CN104410675A (zh) * 2014-11-12 2015-03-11 北京奇虎科技有限公司 数据传输方法、数据系统及相关装置
CN104506514A (zh) * 2014-12-18 2015-04-08 华东师范大学 一种基于hdfs的云存储访问控制方法
CN104754009A (zh) * 2013-12-31 2015-07-01 中国移动通信集团广东有限公司 一种服务获取调用方法、装置以及客户端和服务器
CN104813685A (zh) * 2012-09-22 2015-07-29 谷歌公司 用于分布式状态的同步的订阅通知机制
US9118650B1 (en) * 2013-09-23 2015-08-25 Amazon Technologies, Inc. Persistent connections for email web applications
CN105007302A (zh) * 2015-06-04 2015-10-28 成都果豆数字娱乐有限公司 一种移动终端数据存储方法
CN105009131A (zh) * 2012-09-22 2015-10-28 谷歌公司 促进智能家庭设备与基于云的服务器间通信的多层认证方法
CN105391969A (zh) * 2015-12-14 2016-03-09 广东亿迅科技有限公司 一种分布式视频会议系统及终端入会的方法

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1595873A (zh) * 2004-06-23 2005-03-16 北京邮电大学 基于混合架构和多安全机制的网络考试系统及其实现方法
CN101414907A (zh) * 2008-11-27 2009-04-22 北京邮电大学 一种基于用户身份授权访问网络的方法和系统
CN102457555A (zh) * 2010-10-28 2012-05-16 中兴通讯股份有限公司 一种分布式存储的安全系统及方法
US20130185337A1 (en) * 2012-01-18 2013-07-18 Cloudera, Inc. Memory allocation buffer for reduction of heap fragmentation
US20140040575A1 (en) * 2012-08-01 2014-02-06 Netapp, Inc. Mobile hadoop clusters
CN105009131A (zh) * 2012-09-22 2015-10-28 谷歌公司 促进智能家庭设备与基于云的服务器间通信的多层认证方法
CN104813685A (zh) * 2012-09-22 2015-07-29 谷歌公司 用于分布式状态的同步的订阅通知机制
CN103324539A (zh) * 2013-06-24 2013-09-25 浪潮电子信息产业股份有限公司 一种作业调度管理系统及方法
US9118650B1 (en) * 2013-09-23 2015-08-25 Amazon Technologies, Inc. Persistent connections for email web applications
CN104754009A (zh) * 2013-12-31 2015-07-01 中国移动通信集团广东有限公司 一种服务获取调用方法、装置以及客户端和服务器
CN104410675A (zh) * 2014-11-12 2015-03-11 北京奇虎科技有限公司 数据传输方法、数据系统及相关装置
CN104363095A (zh) * 2014-11-12 2015-02-18 浪潮(北京)电子信息产业有限公司 一种hadoop的身份认证机制构建方法
CN104506514A (zh) * 2014-12-18 2015-04-08 华东师范大学 一种基于hdfs的云存储访问控制方法
CN105007302A (zh) * 2015-06-04 2015-10-28 成都果豆数字娱乐有限公司 一种移动终端数据存储方法
CN105391969A (zh) * 2015-12-14 2016-03-09 广东亿迅科技有限公司 一种分布式视频会议系统及终端入会的方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647039A (zh) * 2018-04-10 2018-10-12 北京奇安信科技有限公司 一种数据升级的处理方法及装置
CN108880912A (zh) * 2018-07-18 2018-11-23 北京力尊信通科技股份有限公司 一种it运维控制系统及方法
CN112039941A (zh) * 2020-07-08 2020-12-04 广东易达电子科技有限公司 一种数据传输方法、设备及介质
CN112039941B (zh) * 2020-07-08 2023-02-28 广东易达电子科技有限公司 一种数据传输方法、设备及介质
CN115277834A (zh) * 2022-07-29 2022-11-01 苏州创意云网络科技有限公司 任务数据的处理方法、装置和服务器
CN115277834B (zh) * 2022-07-29 2024-03-29 苏州创意云网络科技有限公司 任务数据的处理方法、装置和服务器

Also Published As

Publication number Publication date
CN107465644B (zh) 2021-02-23
WO2017206960A1 (zh) 2017-12-07

Similar Documents

Publication Publication Date Title
CN107465644A (zh) 数据传输方法、数据传送客户端及数据传送执行器
CN108881232B (zh) 业务系统的登录访问方法、装置、存储介质和处理器
CN111181727B (zh) 一种基于微服务的开放api全生命周期管理方法
CN103051603B (zh) 信息处理系统、图像处理设备、用户设备及控制方法
CN101588390B (zh) 提高集中认证服务系统业务黏性的方法及负载均衡设备
CN104378342A (zh) 多账号验证方法、装置及系统
CN108200050A (zh) 单点登录服务器、方法及计算机可读存储介质
CN100583114C (zh) 用于远程安全启用的系统和方法
CN110636103A (zh) 一种多异构集群作业统一调度方法及api接口
US11122108B2 (en) End-to-end file transmission method and system thereof
CN109471710A (zh) 任务请求的处理方法、装置、处理器、终端及服务器
CN104320423A (zh) 基于Cookie的单点登录轻量级实现方法
CN109785042A (zh) 分布式部署的异常处理方法、服务器、存储介质及装置
US7085831B2 (en) Intelligent system control agent for managing jobs on a network by managing a plurality of queues on a client
CN109801051A (zh) 资源转移方法、系统、服务器和计算机可读存储介质
CN108923985A (zh) 分布式网络管理系统中批量升级网络设备的方法
CN108230052A (zh) 一种发票开具及上传方法和系统
CN110661780A (zh) 一种基于saas应用的无线城市数据共享方法与系统
WO2022174786A1 (zh) 施工任务派单方法及系统
CN109543365A (zh) 一种授权方法及装置
CN102739405A (zh) 一种面向服务架构服务消费者的认证方法
CN104346301B (zh) 信息处理系统、信息处理装置以及方法
CN107274238A (zh) 一种电子凭据服务系统及其方法
CN108540574A (zh) 一种多类型数据对接系统及方法
CN108156194A (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