CN115086306B - 一种数据传输方法、装置、电子设备和存储介质 - Google Patents
一种数据传输方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115086306B CN115086306B CN202210994040.7A CN202210994040A CN115086306B CN 115086306 B CN115086306 B CN 115086306B CN 202210994040 A CN202210994040 A CN 202210994040A CN 115086306 B CN115086306 B CN 115086306B
- Authority
- CN
- China
- Prior art keywords
- data
- transmission
- file
- task
- data block
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 523
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000007906 compression Methods 0.000 claims abstract description 80
- 230000006835 compression Effects 0.000 claims abstract description 80
- 238000004891 communication Methods 0.000 claims abstract description 22
- 238000007781 pre-processing Methods 0.000 claims abstract description 16
- 238000012546 transfer Methods 0.000 claims description 27
- 238000004422 calculation algorithm Methods 0.000 claims description 24
- 238000012795 verification Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 11
- 238000004883 computer application Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 22
- 238000011161 development Methods 0.000 description 6
- 230000018109 developmental process Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000013475 authorization Methods 0.000 description 5
- 238000013144 data compression Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013478 data encryption standard Methods 0.000 description 2
- 238000013524 data verification Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- VQLYBLABXAHUDN-UHFFFAOYSA-N bis(4-fluorophenyl)-methyl-(1,2,4-triazol-1-ylmethyl)silane;methyl n-(1h-benzimidazol-2-yl)carbamate Chemical compound C1=CC=C2NC(NC(=O)OC)=NC2=C1.C=1C=C(F)C=CC=1[Si](C=1C=CC(F)=CC=1)(C)CN1C=NC=N1 VQLYBLABXAHUDN-UHFFFAOYSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008140 language development Effects 0.000 description 1
- 230000005577 local transmission Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开涉及一种数据传输方法、装置、电子设备和存储介质。数据传输方法应用于客户端,具体包括:读取数据传输任务;确定数据传输任务对应的待传输文件的当前传输数据块,其中,待传输文件包括至少一个传输数据块;根据数据传输任务的任务信息和预先设置的数据传输参数,对当前传输数据块进行预处理,预处理包括压缩和加密;根据数据报文头和预处理后的当前传输数据块生成请求报文,并将请求报文通过全双工通信协议传输至服务端,其中,数据报文头是基于任务信息和当前传输数据块的传输信息构建的。本公开提供的方法,在高性能计算机应用场景下传输效率比较高,传输速度也比较快,进一步提高了用户体验。
Description
技术领域
本公开涉及数据传输技术领域,尤其涉及一种数据传输方法、装置、电子设备和存储介质。
背景技术
随着计算机和数据传输技术的发展,高性能计算机(High PerformanceComputing,HPC)集群的数据传输逐渐成为应用和研究的重点。
传统HPC应用场景下的数据传输多为系统级用户数据传输模式,该传输模式下,用户客户端需要专用虚拟网络(Virtual Private Network,VPN)环境访问特定的HPC集群,要求网络管理员在VPN网络环境下开通具体的数据传输端口才能和HPC集群进行数据传输;其次,该传输模式没有统一的传输客户端,一般需要基于第三方传输工具,还需要用户自行安装和调试,使用体验比较差;最后,该传统模式不支持大文件数据传输,大文件数据传输时会受到远程系统环境和用户本地操作系统的资源限制。综上所述,传统HPC数据传输的传输效率比较低,传输速度也比较慢。
发明内容
为了解决上述技术问题,本公开提供了一种数据传输方法、装置、电子设备和存储介质,传输效率比较高,传输速度也比较快,进一步提高了用户体验。
第一方面,本公开实施例提供了一种数据传输方法,应用于客户端,所述方法包括:
读取数据传输任务;
确定所述数据传输任务对应的待传输文件的当前传输数据块,其中,所述待传输文件包括至少一个传输数据块;
根据所述数据传输任务的任务信息和预先设置的数据传输参数,对所述当前传输数据块进行预处理;
根据数据报文头和预处理后的当前传输数据块生成请求报文,并将所述请求报文通过全双工通信协议传输至服务端,其中,所述数据报文头是基于所述任务信息和所述当前传输数据块的传输信息构建的。
第二方面,本公开实施例提供了一种数据传输方法,应用于服务端,所述服务端通过全双工通信协议和客户端进行数据传输,所述服务端基于分布式数据端和多HPC集群进行数据传输,所述方法包括:
接收所述客户端传输的请求报文,并对所述请求报文进行解析;
基于远程数据库中的验证信息,对解析后的请求报文进行校验,其中,所述远程数据库用于记录至少一个和服务端进行数据传输的客户端的验证信息;
对所述解析后的请求报文校验成功后,将所述解析后的请求报文传输至所述请求报文对应的目标分布式数据端进行存储。
第三方面,本公开实施例提供了一种数据传输方法,应用于分布式数据端,所述分布式数据端位于多HPC集群内,所述多HPC集群中每个HPC集群包括的每个用户数据空间都存在对应的多个具有相同功能的数据微服务副本,所述方法包括:
接收服务端传输的解析后的请求报文,并确定所述解析后的请求报文对应的目标HPC集群;
调用所述目标HPC集群中多个具有相同功能的数据微服务副本中的第一数据微服务副本,将所述解析后的请求报文传输至对应的用户数据空间进行存储。
第四方面,本公开实施例提供了一种数据传输装置,应用于客户端,所述客户端包括:
读取模块,用于读取数据传输任务;
确定模块,用于确定所述数据传输任务对应的待传输文件的当前传输数据块,其中,所述待传输文件包括至少一个传输数据块;
处理模块,用于根据所述数据传输任务的任务信息和预先设置的数据传输参数,对所述当前传输数据块进行预处理;
生成模块,用于根据数据报文头和预处理后的当前传输数据块生成请求报文,并将所述请求报文通过全双工通信协议传输至服务端,其中,所述数据报文头是基于所述任务信息和所述当前传输数据块的传输信息构建的。
第五方面,本公开实施例提供了一种数据传输装置,应用于服务端,所述服务端通过全双工通信协议和客户端进行数据传输,所述服务端基于分布式数据端和多HPC集群进行数据传输,所述装置包括:
接收模块,用于接收所述客户端传输的请求报文,并对所述请求报文进行解析;
验证模块,用于基于远程数据库中的验证信息,对解析后的请求报文进行校验,其中,所述远程数据库用于记录至少一个和服务端进行数据传输的客户端的验证信息;
传输模块,用于所述解析后的请求报文校验成功后,将所述解析后的请求报文传输至所述请求报文对应的目标分布式数据端进行存储。包括
第六方面,本公开实施例提供了一种数据传输装置,应用于分布式数据端,所述分布式数据端位于多HPC集群内,所述多HPC集群中每个HPC集群包括的每个用户数据空间都存在对应的多个具有相同功能的数据微服务副本,所述装置包括:
接收服务端传输的解析后的请求报文,并确定所述解析后的请求报文对应的目标HPC集群;
调用所述目标HPC集群中多个具有相同功能的数据微服务副本中的第一数据微服务副本,将所述解析后的请求报文传输至对应的用户数据空间进行存储。
第七方面,本公开实施例提供了一种电子设备,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现上述任一所述的数据传输方法。
第八方面,本公开实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的数据传输方法的步骤。
本公开实施例提供了一种数据传输方法、装置、电子设备和存储介质。数据传输方法应用于客户端,具体包括:读取数据传输任务;确定数据传输任务对应的待传输文件的当前传输数据块,其中,待传输文件包括至少一个传输数据块;根据数据传输任务的任务信息和预先设置的数据传输参数,对当前传输数据块进行预处理,预处理包括压缩和加密;根据数据报文头和预处理后的当前传输数据块生成请求报文,并将请求报文通过全双工通信协议传输至服务端,其中,数据报文头是基于任务信息和当前传输数据块的传输信息构建的。本公开提供的方法,在HPC应用场景下传输效率比较高,传输速度也比较快,进一步提高了用户体验。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种数据传输方式结构图;
图2为本公开实施例提供的另一种数据传输方式结构图;
图3为本公开实施例提供的一种数据传输系统结构图;
图4为本公开实施例提供的一种客户端调用顺序示意图;
图5为本公开实施例提供的一种服务端调用顺序示意图;
图6为本公开实施例提供的一种数据端应用示意图;
图7为本公开实施例提供的一种数据传输方法的流程示意图;
图8为本公开实施例提供的一种预处理方法的流程示意图;
图9为本公开实施例提供的另一种数据传输方法的流程示意图;
图10为本公开实施例提供的另一种数据传输方法的流程示意图;
图11为本公开实施例提供的一种数据传输装置的结构示意图;
图12为本公开实施例提供的另一种数据传输装置的结构示意图;
图13为本公开实施例提供的另一种数据传输装置的结构示意图;
图14为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
目前,传统HPC应用场景下的数据传输为系统级用户数据传输模式(也称为:传统HPC数据传输方式),传统HPC数据传输具体过程如下:首先用户根据指定的HPC集群登录VPN链接工具建立专用虚拟网络环境,然后在虚拟网络环境下打开第三方系统终端或文件传输协议(FileTransferProtocol,FTP)工具,输入管理员在远程配置好的登录节点互联网协议地址(Internet Protocol Address,IP地址)和端口,再输入系统用户名和密码,访问用户系统文件,最后进行文件的上传、下载或远程管理。示例性的,参见图1,图1为本公开实施例提供的一种传统数据传输方式结构图,图1中传统数据传输系统100包括客户端传输工具110、多个虚拟专用网络环境120和多个HPC集群130,多个HPC集群130记为HPC集群1、HPC集群2和HPC集群3,用户通过第三方客户端传输工具110,基于多个虚拟专用网络环境120中的虚拟专用网络环境1访问多个HPC集群130中的HPC集群1,若是要进行HPC集群的切换访问HPC集群2,需要重新进入虚拟专用网络环境2,以访问HPC集群2,操作繁琐且安全性比较差。
综上所述,传统HPC数据传输模式具有如下问题:
1)不支持多个HPC集群快速切换:传统HPC数据传输必须基于安全外壳协议(Secure Shell,SSH)会话,多个HPC集群就需要多个HPC登录节点的SSH会话,造成多HPC集群下的数据不能同时并发进行传输,该种情况下,在多HPC集群下切换集群,用户需要重新输入系统用户名和密码,繁琐而且不安全。
2)需要专用虚拟网络环境:传统HPC数据传输必须基于VPN网络环境,将用户数据通过SSH协议暴露在VPN网络下进行传输,且还要求网络管理员在VPN网络环境下开通具体的数据传输端口。
3)没有统一的传输客户端:传统HPC数据传输一般基于第三方传输工具,例如跨系统文件传输(xftp)、开源图形化客户端(winscp)等,第三方传输工具需要用户自己安装和调试,还需要系统管理员告知用户系统登录名和密码,同时第三方工具不支持系统级别、通道级别和客户端级别的数据传输过程优化,传输效率低下,传输速度慢。
4)不支持大文件数据传输:传统HPC数据传输GB以上级别的数据时,受限于远程系统环境和用户本地操作系统的资源限制,一般不支持大文件的持久化断点续传,如遇到网络断线、服务宕机等,整个数据传输过程需要重新进行,造成时间和网络资源的浪费。
5)传输效率不高、传输速度慢:传统的HPC数据传输依赖于服务端协议,不支持服务端和客户端的数据压缩,导致传输效率低,传输速度慢,特别是在专用虚拟网络环境中进行传输时,还受限于虚拟网络带宽的限制。
6)基于不安全的SSH协议:传统HPC数据传输的传输协议基本为SSH协议、安全文件传送协议(Secure FTP,SFTP)或者文件传输协议(FileTransferProtocol,FTP),上述协议会造成系统级别安全漏洞的泄露,且不同用户需要暴露不同端口,进而对HPC集群造成较大的安全隐患。
7)用户数据集中:传统HPC数据传输的用户数据都暴露在同一个挂载所有用户分布式文件系统的登录节点上,通过管理员设置的系统用户权限来限制用户的数据访问权限,但用户目录结构和用户名信息等可能被其他用户看到,造成用户敏感信息的不安全访问,影响用户体验。
8)跨平台支持受限:传统的HPC数据传输中客户端采用第三方传输工具、服务端依赖于具体系统环境,造成用户在不同的客户端访问数据和传输数据时需要安装、配置和调试不同的客户端,对用户的使用造成了很大挑战。
9)数据传输单点问题:传统HPC数据传输中的用户数据传输都采用单登录节点方式,如果该登录节点系统资源不充足或机器(计算机)出现系统问题导致宕机,导致当前的数据传输任务中断,已经传输的数据也就不存在了。
针对上述技术问题,本公开实施例提供了一套通用、安全、高效的HPC应用级数据传输系统,该数据传输系统支持跨平台通用客户端、支持超大文件(TB级)断点续传、支持高效数据传输过程、支持用户级数据安全隔离等。示例性的,参见图2,图2为本公开实施例提供的另一种数据传输方式结构图,图2中数据传输系统200包括通用的数据传输客户端210、通用的网络环境220和多个HPC集群230,用户登录通用的数据传输客户端210后,基于通用的网络环境220访问多个HPC集群230,具体的,用户在统一认证后,可以使用手机号或邮箱进行注册和登录,进行实名认证后,用户可以自行提出绑定多个HPC集群用户的请求,管理员授权后,用户通过短信或邮箱等授权验证方式获取授权码,用户提交授权码到服务端,服务端验证用户授权码,绑定多个HPC集群用户,绑定后再进行多个HPC集群切换时,用户无需再进行授权和确认,系统会根据HPC集群是否授权进行自动切换,基于此种方式,可以实现多HPC集群系统用户的自动切换,无需进行虚拟网络环境的重连,无需重新输入系统用户名和密码,且当前数据传输任务不会中断。
图3为本公开实施例提供的一种数据传输系统结构图,图3中数据传输系统包括多个子系统,多个子系统记为客户端子系统310(下述简称客户端310)、服务端子系统320(下述简称服务端320)和数据端子系统330(下述简称数据端330),客户端310和服务端320通过外部通道进行数据传输,外部通道是基于通用web协议构建的外部数据传输通道,可支持多种系统平台客户端和服务端接入。具体的,外部通道基于http协议层的全双工通信协议(websocket)进行客户端和服务端的数据传输,采用通用web协议,服务端可支持多种形式语言开发,支持多样型软件系统和硬件主机进行部署。同时数据传输系统的内部通道为通用的RESTful API服务接口,支持多种计算机开发语言的接入,整个架构支持分布式扩展部署,支持跨平台传输。
具体的,客户端310采用通用的web协议,具体的,客户端310基于前端开发框架(Electron)和node.js平台构建,支持跨平台使用,基于通用的http协议端口80和443,没有专用端口要求和特殊端口限制,采用websocket作为数据传输隧道,使用长链接传输。
客户端310包括多个组件,多个组件记为本地数据库311、本地文件管理接口312、用户界面313、本地文件传输引擎314和传输协议转换器315,其中:
本地数据库311使用sqlite数据库系统,用于记录数据传输任务的全流程状态和详细任务信息、包括传输进度的实时记录。
本地文件管理接口312支持客户端310的本地文件库的浏览、查找、读写、移动复制等文件操作,也支持异步文件流读写,其中,本地文件管理接口312是基于通过封装node.js的fs模块构建的。
用户界面313包括多种标识,用于为用户提供图形化的操作接口,基于多种标识的触发操作,支持文件的图形化浏览和操作、支持数据传输任务的管理和操作,如数据传输任务的创建、删除、提权、进度显示等。
本地文件传输引擎314也称为文件传输引擎,用于根据本地设置和远程返回的数据传输参数,和本地文件库进行传输,确定待传输的数据块,并对上传和下载的数据块进行预处理,如数据的加密、数据的压缩、数据的清洗和数据的校验等,其中,远程返回的数据传输参数为客户端310在最初登录时选择的参数,本地设置是指基于用户界面313选择的相关参数,例如待传输文件、传输路径、加密或者解密方式等。
传输协议转换器315用于接收本地文件传输引擎314预处理后的数据块,传输协议转换器315将此次传输的数据信息(包括任务信息和传输参数)构建成数据报文头,将数据报文头和预处理后的数据块一起打包成约定好的全双工通信协议的数据报文格式,得到请求报文,基于外部数据传输通道(简称外部通道)和服务端进行数据传输。
可理解的是,本地文件传输引擎314和传输协议转换器315以客户端310向服务端320传输文件为例,也就是以客户端310上传文件为例,客户端310上传文件称为上传任务,进行的功能说明,服务端320向客户端310传输文件的过程,也就是客户端320下载文件,客户端320下载文件也称为下载任务的过程同客户端上传文件的过程,在不作赘述。
示例性的,参见图4,图4为本公开实施例提供的一种客户端调用顺序示意图,具体可以理解为上传任务中客户端310各个组件的调用顺序图,其中:用户基于用户界面313上显示的多个标识的触发操作,构建数据传输任务,并向本地文件传输引擎314提交上传任务,同时将上传任务存储至本地数据库311中,本地数据库311中会存储多个未传输的任务,本地文件传输引擎314在本地数据库311中读取至少一个任务,至少一个任务可以是上传任务,还可以是下载任务,至少一个任务可以并行、独立传输,本地文件传输引擎314在本地数据库311中读取上传任务的同时,还会读取相关参数,相关参数包括任务信息和传输参数等用于数据传输的相关参数,随后本地文件传输引擎314基于本地文件管理接口312在本地文件库中读取待传输的数据块,并将数据块打包成协议数据包发送至传输协议转换器315,传输协议转换器315将生成的请求报文基于外部通道传输至服务端320,同时,本地文件传输引擎314在本地数据库311中更新上传任务的任务信息,并在用户界面313上实时显示当前的任务信息,例如,正在上传的文件名称、传输进度等。
可理解的是,外部数据传输通道同样采用websocket作为数据流通的隧道,支持长链接,支持链接自动恢复技术。外部数据传输通道分为上行通道和下行通道,客户端根据上传任务或下载任务自动进行通道的选择。
其中,服务端320为通用web服务器,支持websocket,接收外部数据传输通道传输过来的数据包,数据包也就是客户端310生成的请求报文,随后根据预先设定的协议格式对数据包进行解析,形成数据端330可识别的数据传输信息,并将数据包传输至数据端330。服务端320包括多个组件,多个组件记为数据协议转换器321、远程文件传输引擎322、远程数据库323和传输效率控制器324,其中:
数据协议转换器321用于对数据包进行解析,对返回数据进行打包,也就是对上行通道传输的数据包按照传输协议进行解析,对下行通道传输的数据包按照传输协议进行打包。
远程文件传输引擎322用于接收数据协议转换器321转换的数据,通过远程数据库323中记录的令牌、签名密钥等信息校验数据的合法性。同时,还会调取远程数据库323中各类型文件的压缩信息,从传输效率控制器324获取控制传输效率的阈值、压缩数据块的压缩阈值等,来调整数据块的压缩强度,设置读取数据块的大小。同时,还会根据web协议类型和远程数据库323中存储的加密信息,选择对数据块进行加密的加密算法和加密密钥,生成请求信息,最后通过内部高速网将请求信息流转到数据端330。
远程数据库323用于记录用户的合法性验证信息,例如token、signature等信息,还用于记录数据块的历史压缩效率值,还用于记录数据块的历史传输效率值等。
传输效率控制器324用于根据文件传输类型获取传输效率阈值,文件传输类型包括上传和下载,用于根据传输效率阈值计算读取的数据块大小,在数据端330读取数据,如果待传输文件的文件类型支持压缩,还需要调整读取的数据块的压缩比阈值,并根据压缩比阈值调整从数据端330获取的数据块的长度。
示例性的,参见图5,图5为本公开实施例提供的一种服务端调用顺序示意图,也就是上传任务中服务端320各个组件的调用顺序图,其中:数据协议转换器321接收外部传输通道传输的请求报文,该请求报文也可以称为数据包,数据协议转换器321接收到数据包后,解析数据包的包头和数据块,完成数据包的解析后,将解析后的数据包传输至远程文件传输引擎322,远程文件传输引擎322在远程数据库323中获取验证信息,对解析后的数据包的合法性进行数据验证,验证合格后,远程文件传输引擎322获取传输效率控制器324得到的相关参数,并基于相关参数进行阈值调整,调整后的阈值等参数会返回给客户端,同时远程文件传输引擎322将解析后的数据包通过高速网传输至数据端330进行存储,在数据块存储完成后生成返回数据。
其中,数据端330位于内部HPC集群环境中,HPC集群底层为分布式文件系统,数据端330采用容器方式将分布式文件系统的用户数据进行隔离,不同用户对应不同的存储区域,用户之间的数据是完全独立的。数据端330包括多个组件,多个组件记为数据高速传输接口331和用户数据微服务332,其中:
数据高速传输接口331也称为高速数据传输接口,用于接收服务端320传输的请求信息,使用golang开发部署在物理机上的http转grpc请求的服务,根据集群、系统用户、远程路径、请求类型、压缩参数、加密参数等信息调用用户数据微服务332的文件管理RPC服务进行数据存储和读取,并将请求结果返回给服务端320。同时,数据高速传输接口331支持高可靠部署、支持热扩展。
用户数据微服务332用于接收数据高速传输接口331传输的数据请求,数据请求可以理解为某一用户的用户数据,读写HPC集群中远程分布式文件系统上的用户数据,并对数据进行预压缩处理,处理完毕后打包成grpc协议格式的数据返回给数据高速传输接口331,完成数据传输过程。用户数据微服务332采用docker技术对不同用户的用户数据进行安全隔离,用户数据微服务332的部署采用多副本的方式,能够避免单点问题,同时可对数据请求进行简单负载均衡。
示例性的,参见图6,图6为本公开实施例提供的一种数据端的应用示意图,图6包括数据高速传输接口331、数据挂载机611至613,数据挂载机611至613分别记为数据挂载机1、数据挂载机2和数据挂载机3,用户A存在3个数据挂载机,每个数据挂载机存在一个用户数据微服务332,3个用户数据微服务332分别记为用户A数据端微服务1至用户A数据端微服务3,3个用户数据微服务332在数据挂载机611至613上运行,数据高速传输接口331接收到服务端320的请求信息后,通过GRPC协议将请求信息传输至数据挂载机611至613,调用数据挂载机上运行的用户数据微服务进行读写,同时,3个用户数据微服务332对应同一个数据库,同一个数据库可以理解为用户A对应的存储区域,每个数据微服务都可以在存储区域进行读写,如图6所示,当数据挂载机3上运行的用户A数据端微服务3宕机后,宕机可以理解为无法正常工作,用户A仍有用户A数据端微服务1和用户A数据端微服务2两个数据微服务可用,数据可不中断继续传输,同时传输请求还可以均衡负载到数据挂载机1和数据挂载机2上。
示例性的,基于数据传输系统200进行上传任务的流程如下,下载任务的流程同上传任务,在此不作赘述,其中:用户基于客户端的用户界面建立上传任务,并将上传任务添加到本地数据库上。客户端读取本地数据库任务表,获取待传输任务,根据待传输任务的类型(上传或下载)确定本地文件类型、数据块大小、下一传输的数据块信息、是否需要压缩、传输效率比、压缩算法等信息,完成后初始化任务信息,随后进入上传任务执行的循环进程,直至待传输文件上传完毕,具体的,客户端读取下一数据块、判断是否需要进行压缩,若是,则使用压缩参数和压缩算法对数据块进行进压缩,压缩完成后判断该数据块的压缩比是否超过传输效率比,若是,则将该数据块替换为压缩数据块;若该数据块不需要压缩,则判断该数据块所处的任务是否需要加密,若是,则使用加密算法对该数据块进行加密,将该数据块替换为加密后的数据块,若否,则直接将数据块和数据报文头打包成请求报文。客户端发送请求报文到服务端并等待返回报文。客户端收到服务端传输的返回报文并解析,若接收到的返回报文中包括数据块传输成功的信息,则判断是否最后一个数据块,若否,则更新任务的数据块信息,并继续传输数据块,若是,则更新数据传输任务为完成状态;若接收到的返回报文中包括数据块传输失败的信息,则停止上传任务并接收由服务端生成的包括报告错误信息的返回报文。
本公开实施例提供的数据传输系统为用户提供了一个方便、快捷、安全、可靠、高效、稳定的通用协议下的HPC数据传输系统,用户可以使用统一的本地传输客户端管理、上传、下载多个远程HPC系统用户的用户数据。具体的,本公开提供的数据传输系统包括如下效果:(1)支持多个HPC集群用户动态切换数据传输:用户无需再进行虚拟网络环境的重连,也无需重新输入系统用户名和密码,并且在与多个HPC集群进行数据传输时,有效减少了数据传输任务的中断现象;(2)基于通用web协议架构:本系统客户端和服务端完全基于通用web协议、http(s)协议构建外部数据传输通道,可支持多种系统平台客户端和服务端接入。通道基于http协议层的全双工通信协议websocket,在应用层构建了一种全新的数据传输协议,该传输协议语义化,支持多端识别,基于通用web服务,服务端可以支持多种形式语言开发,支持多样型软件系统和硬件主机进行部署,同时数据传输系统的内部通道为通用的API服务接口,支持多种计算机开发语言的接入,整个架构支持分布式扩展部署,支持跨平台传输;(3)可自动选择数据传输参数:数据传输系统在数据传输过程中,客户端和服务端能够自动识别文件类型,根据文件类型选择是否进行压缩,传输前能自动识别web协议类型,根据协议类型选择是否对数据块进行加密;(4)高效的数据传输方式:数据传输在应用层模式下,数据传输报文的设计通过可变字段来压缩数据报头的大小,同时对实际传输的数据块使用可变压缩比的压缩算法进行块级别的数据压缩,从而提高数据传输效率,其次,数据发送端(执行上传任务时为客户端、执行下载任务时为服务端)可自动根据数据报头的大小进行数据块大小的动态调节,提高传输效率;(5)多级用户数据安全保护:支持中央认证服务(Central Authentication Service,CAS)认证接入、JWT(Json Web Token)认证、支持web用户和系统用户的权限映射、支持令牌和签名的请求合法性验证方式,其次,本系统在外部传输层支持自动识别的数据加密过程,能够根据远程服务端是否已经存在加密算法自动选择是否加密数据块,支持多种加密算法如高级加密标准(AES)、数据加密标准(DataEncryption Standard,DES)、非对称加密算法(RSA)等等,另外,在系统层面上,所有用户级数据都采用docker内的数据微服务方式提供数据传输服务,每个用户的数据都是完全隔离开的,不同用户的数据之间是不可见的,更不可读写;(6)跨平台支持:本系统客户端支持视窗操作系统(windows)、麦金塔电脑(Macintosh,mac)、linux操作系统等多端平台;服务端支持web服务器软件(apache)、nginx、tomcat等通用web服务器部署;数据端微服务支持平行分布式文件系统(lustre)、ceph等多种分布式文件系统挂载。
在上述实施例的基础上,图7为本公开实施例提供的一种数据传输方法的流程示意图,应用于上述数据传输系统中的客户端,具体包括如下步骤S710至S740:
S710、读取数据传输任务。
可选的,上述S710读取数据传输任务具体可以通过如下步骤实现:
显示用户界面,所述用户界面包括任务创建标识和显示区域,所述显示区域用于实时显示创建的数据传输任务的处理状态;响应于所述任务创建标识的触发操作,创建数据传输任务,并将所述数据传输任务存储在本地数据库中,其中,所述本地数据库用于实时存储多个未处理的数据传输任务的任务信息;在所述本地数据库的多个未处理的数据传输任务中读取至少一个数据传输任务。
可理解的,以客户端向服务端上传文件为例,客户端显示用户界面,用户界面包括任务创建标识和显示区域,任务创建标识可以包括多个任务创建子标识,例如,文件选择、路径选择标识等,显示区域用于实时显示创建的数据传输任务的处理状态,处理状态可以是任务的当前处理流程,例如,文件的上传进度;客户端响应于任务创建标识的触发操作,创建数据传输任务,并将数据传输任务存储在本地数据库中,具体的,用户基于客户端的用户界面选择远程集群,点击任务创建标识中的上传标识,随后客户端调用客户端安装的本地文件浏览器,在本地文件库中选择本地文件,选择上传到远程的目录,点击任务创建标识中的确定标识,随后客户端基于用户界面选择的本地文件路径和远程文件路径,建立上传任务,并将任务添加到本地数据库上,其中,本地数据库用于实时存储多个未处理的数据传输任务的任务信息。客户端读取本地数据库中的任务表,任务表中存储多个未处理的数据传输任务,在任务表中的多个未处理的数据传输任务中读取至少一个数据传输任务,也就是可以并行处理多个数据传输任务。
S720、确定所述数据传输任务对应的待传输文件的当前传输数据块。
其中,所述待传输文件包括至少一个传输数据块。
可理解的,在上述S710的基础上,针对读取的至少一个数据传输任务中的每个数据传输任务,客户端确定待传输任务对应的待传输文件,待传输文件存储在本地文件库中,将待传输文件划分为多个数据块,每个数据块的大小要小于或等于待传输文件的大小,随后确定待传输文件的当前传输数据块,具体的,可以直接确定多个数据块的大小后在进行传输,也可以每传输一个数据块后,再确定下一个数据块的大小,多个数据块大小的确定方式不作限定。
可选的,上述S720具体可以通过下述步骤实现:
确定所述数据传输任务的任务信息;根据所述数据传输任务的任务信息和预先设置的传输效率值,确定所述数据传输任务对应的待传输文件的当前传输数据块的大小;在本地文件库中读取所述当前传输数据块,其中,所述本地文件库包括所述待传输文件。
可理解的,客户端根据数据传输任务的任务信息,确定数据报文头,数据报文头也可以理解为数据包信息头,任务信息包括文件类型、数据块的存储位置、待传输文件的大小以及远程路径等信息;随后,根据数据报文头的长度和预先设置的传输效率值,确定数据传输任务对应的待传输文件的当前传输数据块的大小;确定当前传输数据块的大小后,在本地文件库中读取相同文件大小的当前传输数据块。
可理解的,系统数据传输在应用层模式下,数据报文通过可变字段来压缩数据报文头的大小,同时对数据块使用可变压缩比的压缩算法进行块级别的数据压缩,从而提高数据传输效率。具体的,客户端可自动根据数据报文头的大小进行数据块大小的动态调节,提高传输效率,其中传输效率的定义为:假设每次携带数据块传输的数据包长度为N,N可以是预先设定的长度,数据包信息头(数据报文头)的长度记为H l,数据块长度为D l,数据包由数据报文头和数据块组成,则,传输效率E的计算公式如公式(1)所示:
示例性的,设定传输效率的最小阈值为T,优选的T = 0.95 ,,另T=E,则,为减少频繁的传输抖动,可设置D l取整的步长为S,优选的,步长可以是64字节或者128字节,则实际传输时读取的数据块大小(当前传输数据块的大小)如公式(2)所示:
其中,客户端若确定待传输文件的文件类型为不可压缩类型,不可压缩类型理解为文件格式是已压缩状态,且不能再次进行压缩,例如,“.zip”格式、且不能再次进行压缩的压缩文件,针对不可压缩类型的文件基于上述公式(2)计算当前传输数据块的大小。
可选的,上述确定当前传输数据块的大小具体可以通过如下步骤实现:
若根据所述任务信息中所述待传输文件的文件类型确定对传输数据块进行压缩,则根据所述文件类型和预先构建的文件类型压缩阈值映射表确定当前压缩比;若所述当前压缩比小于预设压缩比阈值,则根据所述预设压缩比阈值、所述任务信息中数据报文头的长度和预先设置的传输效率值,确定所述数据传输任务对应的待传输文件的当前传输数据块的大小。
可理解的,服务端和客户端可在各自数据库中存储关于文件类型和压缩信息的映射表,客户端在计算当前传输数据块的大小时,根据待传输文件的文件类型选择是否对数据块压缩。设数据块压缩前的长度为D L,压缩后的长度为D l,则压缩比为,若根据文件类型和映射表确定数据块需要压缩,根据映射表确定压缩比的最大阈值为C t后,若压缩比小于压缩比的最大阈值C t,则返回压缩数据块,否则返回原始读取的数据块,根据传输效率阈值T和压缩阈值C t,压缩后的数据块长度D l的确定公式如公式(3)所示:
据此,可以获得压缩情况下实际传输时读取的数据块大小,如公式(4)所示:
可理解的,确定当前压缩比后,读取预设大小的传输数据块,并对预设大小的传输数据块进行压缩,同时比较当前压缩比和预设压缩比阈值,若当前压缩比小于预设压缩比阈值,则重新计算实际要读取的传输数据块的大小,若当前压缩比等于或大于预设压缩比阈值,则直接读取预设大小的传输数据块,不需要重新计算传输数据块的大小。例如,预设大小为2M,若当前压缩比小于预设压缩比阈值,则重新计算要读取的传输数据块的大小,重新计算的传输数据块的大小是2.2M,该种情况下,重新读取2.2M的传输数据块,也就是每次都读取2.2M的传输数据块,直至待传输文件传输读取完,再对2.2M的传输数据块进行压缩和加密等预处理,随后将预处理后的传输数据块发送至服务端。若当前压缩比等于或大于预设压缩比阈值,则直接将读取的2M的传输数据块传输至服务端,也就是每次都读取2M的预设大小的传输数据块,不需要重新计算传输数据块的大小。
可理解的,客户端在上传数据时使用固定的T和C t计算读取的数据块大小,服务端在传输下载数据时,同样可以使用T和C t计算读取的数据块大小,且服务端接收客户端传输的数据块过后,可根据当前网络带宽情况动态调节T和C t,使得实际下载速度达到最优。
S730、根据所述数据传输任务的任务信息和预先设置的数据传输参数,对所述当前传输数据块进行预处理。
可选的,上述S730具体可以通过下述步骤实现:
若所述数据传输任务的任务信息中待传输文件的文件类型为可压缩类型,且所述当前压缩比小于所述预设压缩比阈值,则根据所述任务信息中的压缩算法标识和预先设置的数据传输参数对所述当前传输数据块进行压缩;若识别确定所述任务信息中web协议类型为http协议,则根据所述任务信息中的加密算法标识,对压缩后的当前传输数据块进行加密。
示例性的,参见图8,图8为本公开实施例提供的一种预处理方法的流程示意图,客户端获取待传输文件的文件类型,若确定待传输文件的文件类型为可压缩类型,则基于任务信息中的压缩算法标识所对应的压缩算法和预先设置的数据传输参数,对当前传输数据块进行压缩,其中,可压缩类型是指可以进行压缩的文件,可压缩类型可以是.txt、.doc格式的文件类型,还可以是.zip格式、且可以再次进行压缩的文件;若确定待传输文件的文件类型为可压缩类型,则直接获取web协议类型。确定是否对文件进行压缩后,获取web协议类型,若识别确定任务信息中web协议类型为http协议,则根据任务信息中的加密算法标识所对应的加密算法对压缩后的当前传输数据块进行加密;若识别确定任务信息中web协议类型为https协议,则直接根据数据包协议打包数据块,客户端可自动选择对当前传输数据进行的预处理,以得到预处理后的当前传输数据块。可理解的是,在数据传输过程中,客户端和服务端能够自动识别文件类型,根据文件类型选择是否进行压缩,传输前能自动识别web协议类型,根据协议类型选择是否对数据块进行加密。具体的,数据传输过程中,可根据客户端和服务端定义的文件类型和压缩信息的映射表(文件类型压缩阈值映射表)中的map键值对进行传输参数的解析,服务端还可以进行动态设置,如果web协议为http协议则强制进行加密,加密算法可以为对称加密,也可以为非对称加密,在客户端和服务端确定加密算法后进行加密,而且加密算法还可以通过服务端的算法库进行动态配置,还可以根据安全等级进行动态选择。
S740、根据数据报文头和预处理后的当前传输数据块生成请求报文,并将所述请求报文通过全双工通信协议传输至服务端。
其中,所述数据报文头是基于所述任务信息和所述当前传输数据块的传输信息构建的。
可理解的,在上述S730的基础上,客户端根据数据报文头和预处理后的当前传输数据块生成请求报文,并将请求报文通过全双工通信协议传输至服务端,其中,数据报文头是基于任务信息和当前传输数据块的传输信息构建的,数据报文头包括待传输文件的大小、传输路径以及加密算法等信息,当前传输数据块的传输信息包括当前传输数据块的大小。
本公开实施例提供了一种数据传输方法,应用于客户端,读取数据传输任务;确定数据传输任务对应的待传输文件的当前传输数据块,其中,待传输文件包括至少一个传输数据块,将待传输文件自动划分为多个数据块,提供了一种高效的数据传输方式,以此实现大文件数据的传输,从而提高数据传输效率;根据数据传输任务的任务信息和预先设置的数据传输参数,对当前传输数据块进行预处理,预处理包括压缩和加密,在数据传输过程中能够自动根据文件类型确定是否压缩,根据web协议确定是否进行加密,自动处理的过程进一步加快了数据传输效率;根据数据报文头和预处理后的当前传输数据块生成请求报文,并将请求报文通过全双工通信协议传输至服务端,其中,数据报文头是基于任务信息和当前传输数据块的传输信息构建的,客户端和服务端完全基于通用web协议进行数据传输,该传输协议语义化,支持多端识别。本公开提供的方法,在高性能计算机应用场景下传输效率比较高,传输速度也比较快,进一步提高了用户体验。
在上述实施例的基础上,图9为本公开实施例提供的另一种数据传输方法的流程示意图,应用于上述数据传输系统中的服务端,所述服务端通过全双工通信协议和客户端进行数据传输,所述服务端基于分布式数据端和多HPC集群进行数据传输,以服务端接收客户端上传的数据为例进行说明,具体包括如下步骤S910至S930:
S910、接收所述客户端传输的请求报文,并对所述请求报文进行解析。
可理解的,服务端接收客户端传输的请求报文,其中,请求报文包括数据报文头和数据块,随后,根据预先设置的协议格式对数据包进行解析,形成数据端可识别的数据传输信息。
S920、基于远程数据库中的验证信息,对解析后的请求报文进行校验。
其中,所述远程数据库用于记录至少一个和服务端进行数据传输的客户端的验证信息。
可理解的,在上述S910的基础上,服务端读取远程数据库中发送请求报文的客户端对应的验证信息,并利用该验证信息对解析后的请求报文的合法性进行验证。
S930、对所述解析后的请求报文校验成功后,将所述解析后的请求报文传输至所述请求报文对应的目标分布式数据端进行存储。
可选的,对所述解析后的请求报文校验成功后,所述方法还包括:
根据所述请求报文中的文件类型和调取的压缩信息表,确定所述文件类型的传输效率阈值;确定所述请求报文中传输数据块的目标传输效率值;若所述目标传输效率值小于所述传输效率阈值,则生成包括所述传输效率阈值的返回报文,并将所述返回报文传输至所述客户端。
可理解的,在上述S920的基础上,服务端确定解析后的请求报文的合法性后,将解析后的请求报文传输至请求报文对应的目标分布式数据端进行存储,同时,服务端根据请求报文中的文件类型和调取的压缩信息表,压缩信息表可以和客户端可以调取的文件类型和压缩信息的阈值映射表相同,确定文件类型的传输效率阈值,不同类型的文件存在对应的传输效率阈值;随后,确定请求报文中当前传输数据块的目标传输效率值,目标传输效率阈值通过上述公式(1)得到;若目标传输效率值小于文件存在对应的传输效率阈值,则生成包括传输效率阈值的返回报文,并将返回报文传输至客户端,也就是客户端当前传输的数据块比较小时,服务端重新确定传输效率阈值,并生成包括传输效率阈值的返回数据,客户端接收到返回数据后,根据返回数据中的传输效率阈值对传输的数据块的大小进行调整,同时,返回数据中还可以包括传输的结果,例如传输成功或者传输失败等。
可选的,服务端向客户端传输数据具体还可以通过下述步骤实现:
确定待传输文件的传输信息;若所述待传输文件的文件类型为可压缩类型,则根据获取的所述文件类型对应的传输效率阈值和压缩比阈值,确定所述待传输文件的当前传输数据块的大小;根据所述传输信息和所述当前传输数据块的大小生成请求信息,并将所述请求信息传输至所述分布式数据端;接收所述分布式数据端基于所述请求信息在存储所述待传输文件的目标HPC集群中读取的所述当前传输数据块,并将生成的包括所述当前传输数据块的请求报文传输至客户端。
可理解的,服务端向客户端传输文件时,也就是针对客户端的下载任务,具体包括如下流程:服务端确定待传输文件的传输信息,待传输文件是指服务端要传输至客户端的文件,也就是外部通道中的下行通道所传输的下载文件。随后服务端若识别得到待传输文件的文件类型为可压缩类型,则根据获取的文件类型对应的传输效率阈值和压缩比阈值,确定待传输文件的当前传输数据块的大小,确定当前传输数据块的大小的过程同上述客户端确定当前传输数据块的大小的过程,在此不作赘述;服务端确定当前传输数据块的大小后,根据传输信息和当前传输数据块的大小生成请求信息,并将请求信息传输至分布式数据端,请求信息用于在数据端读取当前传输数据块;服务端接收分布式数据端基于请求信息在存储待传输文件的目标HPC集群中读取的当前传输数据块,并将生成的包括当前传输数据块的请求报文传输至客户端,服务端周期性的向客户端传输数据块,直至传输完整个待传输文件,完成下载任务。
本公开实施例提供了一种数据传输方法,应用于服务端,服务端通过全双工通信协议和客户端进行数据传输,服务端基于分布式数据端和多HPC集群进行数据传输,基于全双工通信协议,服务端可支持多种形式的语言开发,支持多样型软件系统和硬件主机进行部署,同时,服务端基于分布式数据端访问多HPC集群,支持多HPC集群的切换,无需进行虚拟网络环境的重连,也无需重新输入系统用户名和密码,操作简便,且便于实施。
在上述实施例的基础上,图10为本公开实施例提供的另一种数据传输方法的流程示意图,应用于分布式数据端,所述分布式数据端位于多HPC集群内,所述多HPC集群中每个HPC集群包括的每个用户数据空间都存在对应的多个具有相同功能的数据微服务副本,以数据端接收服务端传输的数据进行存储为例进行说明,具体包括如下步骤S1001至S1002:
可理解的,多HPC集群中的每个HPC集群包括用户数据空间,每个用户都存在对应的用户数据空间,用户数据空间用于存储该用户的相关数据,且每个用户数据空间都存在多个具有相同功能的数据微服务副本,也就是多个数据微服务副本中的每个数据微服务副本都可以将该用户的数据存储至其用户数据空间中,或者在其用户数据空间中读取该用户所需的数据。
S1001、接收服务端传输的解析后的请求报文,并确定所述解析后的请求报文对应的目标HPC集群。
可理解的,数据端接收服务端传输的解析后的请求报文,并根据解析后的报文中的远程路径在多HPC集群中确定存储请求报文中数据块的目标HPC集群。
S1002、调用所述目标HPC集群中多个具有相同功能的数据微服务副本中的第一数据微服务副本,将所述解析后的请求报文传输至对应的用户数据空间进行存储。
可理解的,在上述S1001的基础上,数据端调用目标HPC集群中多个具有相同功能的数据微服务副本中的第一数据微服务副本,将解析后的请求报文传输至发送请求报文的用户对应的用户数据空间进行存储,每个客户端都存在对应的多个数据微服务副本,第一数据微服务副本为目标HPC集群上部署的多个数据微服务副本中的任一副本,多个数据微服务副本可以部署在多HPC集群上,便于切换集群,或者多个微服务副本可以访问多HPC集群,例如,6个数据微服务副本分别部署在2个HPC集群上,另外,多HPC集群可以对应一个数据库,该HPC集群上部署的多个数据微服务副本将数据块存储至对应的用户数据空间中,以便在传输过程中也能进行HPC集群的切换。
可选的,所述方法还包括:
在调用所述第一数据微服务副本传输所述解析后的请求报文的过程中,若所述第一数据微服务副本宕机,则调用所述多个具有相同功能的数据微服务副本中除所述第一数据微服务副本之外的其他任一数据微服务副本继续传输所述解析后的请求报文。
可理解的,数据端在调用第一数据微服务副本传输解析后的请求报文的过程中,也就是数据端调用第一数据微服务副本将服务端传输的解析后的请求报文进行存储的过程中,该种情况可以是整个待传输文件尚未存储完,或者待传输文件中某一数据块尚未存储完时,若第一数据微服务副本宕机,也就是第一数据微服务副本无法正常运行,则调用目标HPC集群中多个具有相同功能的数据微服务副本中除第一数据微服务副本之外的其他任一数据微服务副本,在数据块传输中断处继续传输数据块,由于多个具有相同功能的数据微服务副本对应的是同一数据库,因此有效解决了数据传输过程中传输中断的问题,确定传输任务不会中断。
本公开实施例提供了一种数据传输方法,应用于分布式数据端,分布式数据端位于多HPC集群内,多HPC集群中每个HPC集群包括的每个用户数据空间都存在对应的多个具有相同功能的数据微服务副本,支持多HPC集群的自动切换,且有效避免了数据传输任务出现终端的问题。
图11为本公开实施例提供的一种数据传输装置的结构示意图。本公开实施例提供的数据传输装置可以执行上述数据传输方法实施例提供的处理流程,应用于客户端,如图11所示,数据传输装置110包括读取模块111、确定模块112、处理模块113和生成模块114,其中:
读取模块111,用于读取数据传输任务;
确定模块112,用于确定所述数据传输任务对应的待传输文件的当前传输数据块,其中,所述待传输文件包括至少一个传输数据块;
处理模块113,用于根据所述数据传输任务的任务信息和预先设置的数据传输参数,对所述当前传输数据块进行预处理;
生成模块114,用于根据数据报文头和预处理后的当前传输数据块生成请求报文,并将所述请求报文通过全双工通信协议传输至服务端,其中,所述数据报文头是基于所述任务信息和所述当前传输数据块的传输信息构建的。
可选的,读取模块111具体用于:
显示用户界面,所述用户界面包括任务创建标识和显示区域,所述显示区域用于实时显示创建的数据传输任务的处理状态;
响应于所述任务创建标识的触发操作,创建数据传输任务,并将所述数据传输任务存储在本地数据库中,其中,所述本地数据库用于实时存储多个未处理的数据传输任务的任务信息;
在所述本地数据库的多个未处理的数据传输任务中读取至少一个数据传输任务。
可选的,确定模块112具体用于:
确定所述数据传输任务的任务信息;
根据所述数据传输任务的任务信息和预先设置的传输效率值,确定所述数据传输任务对应的待传输文件的当前传输数据块的大小;
在本地文件库中读取所述当前传输数据块,其中,所述本地文件库包括所述待传输文件。
可选的,确定模块112用于:
若根据所述任务信息中所述待传输文件的文件类型确定对传输数据块进行压缩,则根据所述文件类型和预先构建的文件类型压缩阈值映射表确定当前压缩比;
若所述当前压缩比小于预设压缩比阈值,则根据所述预设压缩比阈值、所述任务信息中数据报文头的长度和预先设置的传输效率值,确定所述数据传输任务对应的待传输文件的当前传输数据块的大小。
可选的,处理模块113具体用于:
若所述数据传输任务的任务信息中待传输文件的文件类型为可压缩类型,则根据所述任务信息中的压缩算法标识和预先设置的数据传输参数对所述当前传输数据块进行压缩;
若识别确定所述任务信息中web协议类型为http协议,则根据所述任务信息中的加密算法标识,对压缩后的当前传输数据块进行加密。
图11所示实施例的数据传输装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图12为本公开实施例提供的一种数据传输装置的结构示意图。本公开实施例提供的数据传输装置可以执行上述数据传输方法实施例提供的处理流程,应用于服务端,所述服务端通过全双工通信协议和客户端进行数据传输,所述服务端基于分布式数据端和多HPC集群进行数据传输,如图12所示,数据传输装置120包括接收模块121、验证模块122和传输模块123,其中:
接收模块121,用于接收所述客户端传输的请求报文,并对所述请求报文进行解析;
验证模块122,用于基于远程数据库中的验证信息,对解析后的请求报文进行校验,其中,所述远程数据库用于记录至少一个和服务端进行数据传输的客户端的验证信息;
传输模块123,用于所述解析后的请求报文校验成功后,将所述解析后的请求报文传输至所述请求报文对应的目标分布式数据端进行存储。
可选的,数据传输装置120还用于:
根据所述请求报文中的文件类型和调取的压缩信息表,确定所述文件类型的传输效率阈值;
确定所述请求报文中传输数据块的目标传输效率值;
若所述目标传输效率值小于所述传输效率阈值,则生成包括所述传输效率阈值的返回报文,并将所述返回报文传输至所述客户端。
可选的,数据传输装置120还用于:
确定待传输文件的传输信息;
若所述待传输文件的文件类型为可压缩类型,则根据获取的所述文件类型对应的传输效率阈值和压缩比阈值,确定所述待传输文件的当前传输数据块的大小;
根据所述传输信息和所述当前传输数据块的大小生成请求信息,并将所述请求信息传输至所述分布式数据端;
接收所述分布式数据端基于所述请求信息在存储所述待传输文件的目标HPC集群中读取的所述当前传输数据块,并将生成的包括所述当前传输数据块的请求报文传输至客户端。
图12所示实施例的数据传输装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图13为本公开实施例提供的一种数据传输装置的结构示意图。本公开实施例提供的数据传输装置可以执行上述数据传输方法实施例提供的处理流程,应用于分布式数据端,所述分布式数据端位于多HPC集群内,所述多HPC集群中每个HPC集群包括的每个用户数据空间都存在对应的多个具有相同功能的数据微服务副本,如图13所示,数据传输装置130包括接收模块131和调用模块132,其中:
接收模块131,用于接收服务端传输的解析后的请求报文,并确定所述解析后的请求报文对应的目标HPC集群;
调用模块132,用于调用所述目标HPC集群中多个具有相同功能的数据微服务副本中的第一数据微服务副本,将所述解析后的请求报文传输至对应的用户数据空间进行存储。
可选的,数据传输装置130还用于:
在调用所述第一数据微服务副本传输所述解析后的请求报文的过程中,若所述第一数据微服务副本宕机,则调用所述多个具有相同功能的数据微服务副本中除所述第一数据微服务副本之外的其他任一数据微服务副本继续传输所述解析后的请求报文。
图13所示实施例的数据传输装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图14为本公开实施例提供的电子设备的结构示意图。本公开实施例提供的电子设备可以执行上述实施例提供的处理流程,如图14所示,电子设备140包括:处理器141、通讯接口142和存储器143;其中,计算机程序存储在存储器143中,并被配置为由处理器141执行如上述的数据传输方法。
另外,本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的数据传输方法。
此外,本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序或指令,该计算机程序或指令被处理器执行时实现如上所述的数据传输方法。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种数据传输方法,其特征在于,应用于客户端,所述方法包括:
读取数据传输任务;
确定所述数据传输任务对应的待传输文件的当前传输数据块,其中,所述待传输文件包括至少一个传输数据块;
根据所述数据传输任务的任务信息和预先设置的数据传输参数,对所述当前传输数据块进行预处理;
根据数据报文头和预处理后的当前传输数据块生成请求报文,并将所述请求报文通过全双工通信协议传输至服务端,其中,所述数据报文头是基于所述任务信息和所述当前传输数据块的传输信息构建的;
其中,所述确定所述数据传输任务对应的待传输文件的当前传输数据块,包括:
若根据所述任务信息中所述待传输文件的文件类型确定对传输数据块进行压缩,则根据所述文件类型和预先构建的文件类型压缩阈值映射表确定当前压缩比;
若所述当前压缩比小于预设压缩比阈值,则根据所述预设压缩比阈值、所述任务信息中数据报文头的长度和预先设置的传输效率值,确定所述数据传输任务对应的待传输文件的当前传输数据块的大小;
在本地文件库中读取所述当前传输数据块,其中,所述本地文件库包括所述待传输文件。
2.根据权利要求1所述的方法,其特征在于,读取数据传输任务,包括:
显示用户界面,所述用户界面包括任务创建标识和显示区域,所述显示区域用于实时显示创建的数据传输任务的处理状态;
响应于所述任务创建标识的触发操作,创建数据传输任务,并将所述数据传输任务存储在本地数据库中,其中,所述本地数据库用于实时存储多个未处理的数据传输任务的任务信息;
在所述本地数据库的多个未处理的数据传输任务中读取至少一个数据传输任务。
3.根据权利要求1所述的方法,其特征在于,所述根据所述数据传输任务的任务信息和预先设置的数据传输参数,对所述当前传输数据块进行预处理,包括:
若所述数据传输任务的任务信息中待传输文件的文件类型为可压缩类型,且所述当前压缩比小于所述预设压缩比阈值,则根据所述任务信息中的压缩算法标识和预先设置的数据传输参数对所述当前传输数据块进行压缩;
若识别确定所述任务信息中web协议类型为http协议,则根据所述任务信息中的加密算法标识,对压缩后的当前传输数据块进行加密。
4.一种数据传输方法,其特征在于,应用于服务端,所述服务端基于分布式数据端和多HPC集群进行数据传输,所述方法包括:
通过全双工通信协议接收由权利要求1所述的客户端传输的请求报文,并对所述请求报文进行解析;
基于远程数据库中的验证信息,对解析后的请求报文进行校验,其中,所述远程数据库用于记录至少一个和服务端进行数据传输的客户端的验证信息;
对所述解析后的请求报文校验成功后,将所述解析后的请求报文传输至所述请求报文对应的目标分布式数据端进行存储;
其中,对所述解析后的请求报文校验成功后,所述方法还包括:
根据所述请求报文中的文件类型和调取的压缩信息表,确定所述文件类型的传输效率阈值;
确定所述请求报文中传输数据块的目标传输效率值;
若所述目标传输效率值小于所述传输效率阈值,则生成包括所述传输效率阈值的返回报文,并将所述返回报文传输至所述客户端。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
确定待传输文件的传输信息;
若所述待传输文件的文件类型为可压缩类型,则根据获取的所述文件类型对应的传输效率阈值和压缩比阈值,确定所述待传输文件的当前传输数据块的大小;
根据所述传输信息和所述当前传输数据块的大小生成请求信息,并将所述请求信息传输至所述分布式数据端;
接收所述分布式数据端基于所述请求信息在存储所述待传输文件的目标HPC集群中读取的所述当前传输数据块,并将生成的包括所述当前传输数据块的请求报文传输至客户端。
6.一种数据传输方法,其特征在于,应用于分布式数据端,所述分布式数据端位于多HPC集群内,所述多HPC集群中每个HPC集群包括的每个用户数据空间都存在对应的多个具有相同功能的数据微服务副本,所述方法包括:
接收由权利要求4所述的服务端传输的解析后的请求报文,并确定所述解析后的请求报文对应的目标HPC集群;
调用所述目标HPC集群中多个具有相同功能的数据微服务副本中的第一数据微服务副本,将所述解析后的请求报文传输至对应的用户数据空间进行存储。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在调用所述第一数据微服务副本传输所述解析后的请求报文的过程中,若所述第一数据微服务副本宕机,则调用所述多个具有相同功能的数据微服务副本中除所述第一数据微服务副本之外的其他任一数据微服务副本继续传输所述解析后的请求报文。
8.一种数据传输装置,其特征在于,应用于客户端,所述客户端包括:
读取模块,用于读取数据传输任务;
确定模块,用于确定所述数据传输任务对应的待传输文件的当前传输数据块,其中,所述待传输文件包括至少一个传输数据块;
处理模块,用于根据所述数据传输任务的任务信息和预先设置的数据传输参数,对所述当前传输数据块进行预处理;
生成模块,用于根据数据报文头和预处理后的当前传输数据块生成请求报文,并将所述请求报文通过全双工通信协议传输至服务端,其中,所述数据报文头是基于所述任务信息和所述当前传输数据块的传输信息构建的
其中,确定模板用于:
若根据所述任务信息中所述待传输文件的文件类型确定对传输数据块进行压缩,则根据所述文件类型和预先构建的文件类型压缩阈值映射表确定当前压缩比;若所述当前压缩比小于预设压缩比阈值,则根据所述预设压缩比阈值、所述任务信息中数据报文头的长度和预先设置的传输效率值,确定所述数据传输任务对应的待传输文件的当前传输数据块的大小;在本地文件库中读取所述当前传输数据块,其中,所述本地文件库包括所述待传输文件。
9.一种数据传输装置,其特征在于,应用于服务端,所述服务端基于分布式数据端和多HPC集群进行数据传输,所述装置包括:
接收模块,用于通过全双工通信协议接收由权利要求8所述的客户端传输的请求报文,并对所述请求报文进行解析;
验证模块,用于基于远程数据库中的验证信息,对解析后的请求报文进行校验,其中,所述远程数据库用于记录至少一个和服务端进行数据传输的客户端的验证信息;
传输模块,用于所述解析后的请求报文校验成功后,将所述解析后的请求报文传输至所述请求报文对应的目标分布式数据端进行存储;
其中,装置还用于:
根据所述请求报文中的文件类型和调取的压缩信息表,确定所述文件类型的传输效率阈值;确定所述请求报文中传输数据块的目标传输效率值;若所述目标传输效率值小于所述传输效率阈值,则生成包括所述传输效率阈值的返回报文,并将所述返回报文传输至所述客户端。
10.一种数据传输装置,其特征在于,应用于分布式数据端,所述分布式数据端位于多HPC集群内,所述多HPC集群中每个HPC集群包括的每个用户数据空间都存在对应的多个具有相同功能的数据微服务副本,所述装置包括:
接收模块,用于接收由权利要求9所述的服务端传输的解析后的请求报文,并确定所述解析后的请求报文对应的目标HPC集群;
调用模块,用于调用所述目标HPC集群中多个具有相同功能的数据微服务副本中的第一数据微服务副本,将所述解析后的请求报文传输至对应的用户数据空间进行存储。
11.一种电子设备,其特征在于,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1至7中任一所述的数据传输方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一所述的数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210994040.7A CN115086306B (zh) | 2022-08-18 | 2022-08-18 | 一种数据传输方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210994040.7A CN115086306B (zh) | 2022-08-18 | 2022-08-18 | 一种数据传输方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115086306A CN115086306A (zh) | 2022-09-20 |
CN115086306B true CN115086306B (zh) | 2022-11-18 |
Family
ID=83244224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210994040.7A Active CN115086306B (zh) | 2022-08-18 | 2022-08-18 | 一种数据传输方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115086306B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115934076B (zh) * | 2023-01-03 | 2024-01-02 | 北京百度网讯科技有限公司 | 跨平台客户端的微服务提供装置、方法和电子设备 |
CN116319761A (zh) * | 2023-05-11 | 2023-06-23 | 成都数联云算科技有限公司 | 一种ftp协议文件传输方法、装置、设备和介质 |
CN117093638B (zh) * | 2023-10-17 | 2024-01-23 | 博智安全科技股份有限公司 | 一种微服务数据初始化方法、系统、电子设备及存储介质 |
CN117729172A (zh) * | 2024-02-18 | 2024-03-19 | 成都深瑞同华科技有限公司 | 一种隔离网络环境下的数据传输方法、装置及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112235296A (zh) * | 2020-10-14 | 2021-01-15 | 开立生物医疗科技(武汉)有限公司 | 一种医学影像数据采集方法、系统及电子设备和存储介质 |
CN112866415A (zh) * | 2021-02-24 | 2021-05-28 | 上海泰宇信息技术股份有限公司 | 一种数据备份私有云存储与下载方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571966B (zh) * | 2012-01-16 | 2014-10-29 | 北大方正集团有限公司 | 一种大型xml文件的网络传输方法 |
CN107707640A (zh) * | 2017-09-25 | 2018-02-16 | 深圳市盛路物联通讯技术有限公司 | 一种点对点数据传输方法和装置 |
CN109756536B (zh) * | 2017-11-03 | 2020-12-04 | 株洲中车时代电气股份有限公司 | 一种数据传输的方法、装置及系统 |
CN112612734B (zh) * | 2020-12-18 | 2023-09-26 | 平安科技(深圳)有限公司 | 文件传输方法、装置、计算机设备及存储介质 |
CN113138969A (zh) * | 2021-04-30 | 2021-07-20 | 青岛盛世影云影视科技有限公司 | 数据传输方法、装置、电子设备和计算机可读存储介质 |
-
2022
- 2022-08-18 CN CN202210994040.7A patent/CN115086306B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112235296A (zh) * | 2020-10-14 | 2021-01-15 | 开立生物医疗科技(武汉)有限公司 | 一种医学影像数据采集方法、系统及电子设备和存储介质 |
CN112866415A (zh) * | 2021-02-24 | 2021-05-28 | 上海泰宇信息技术股份有限公司 | 一种数据备份私有云存储与下载方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115086306A (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115086306B (zh) | 一种数据传输方法、装置、电子设备和存储介质 | |
US10305904B2 (en) | Facilitating secure network traffic by an application delivery controller | |
US11425052B2 (en) | Discovery and adjustment of path maximum transmission unit | |
US11140162B2 (en) | Response method and system in virtual network computing authentication, and proxy server | |
US20180316767A1 (en) | Facilitating a secure 3 party network session by a network device | |
JP4245838B2 (ja) | セキュアクライアントサーバトランザクションを管理するための方法及びシステム | |
US11303431B2 (en) | Method and system for performing SSL handshake | |
CN107483383B (zh) | 一种数据处理方法、终端、后台服务器及存储介质 | |
CN108900324B (zh) | 校验虚拟机通信性能的方法及装置 | |
WO2013170158A1 (en) | Computer readable storage media for selective proxification of applications and method and systems utilizing same | |
US20240146728A1 (en) | Access control method, access control system, and related device | |
CN110417632B (zh) | 一种网络通信方法、系统及服务器 | |
CN115499177A (zh) | 云桌面访问方法、零信任网关、云桌面客户端和服务端 | |
WO2015027931A1 (en) | Method and system for realizing cross-domain remote command | |
US20080092206A1 (en) | Security protocol control apparatus and security protocol control method | |
CN111786932A (zh) | 账号登录方法、装置、电子设备及计算机存储介质 | |
US11811734B2 (en) | Protocol switching for connections to zero-trust proxy | |
JP6346208B2 (ja) | 通信システム | |
CN110266705B (zh) | 一种控制方法及系统 | |
Marinov et al. | Performance Analysis of SNMP over SSH | |
CN108156162B (zh) | 面向移动应用程序的认证方法及装置 | |
CN116633832A (zh) | 超文本传输安全协议测试方法、装置、软件程序及介质 | |
WO2024172817A1 (en) | Intelligent internet protocol security (ipsec) manager for ipsec simulation | |
CN116996240A (zh) | 页面信息处理方法和装置、存储介质及电子设备 | |
JP2024530911A (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 |