CN111881108A - 一种基于web ssh的文件传输方法及装置 - Google Patents

一种基于web ssh的文件传输方法及装置 Download PDF

Info

Publication number
CN111881108A
CN111881108A CN202010730082.0A CN202010730082A CN111881108A CN 111881108 A CN111881108 A CN 111881108A CN 202010730082 A CN202010730082 A CN 202010730082A CN 111881108 A CN111881108 A CN 111881108A
Authority
CN
China
Prior art keywords
file
target host
data
client
storage layer
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
CN202010730082.0A
Other languages
English (en)
Other versions
CN111881108B (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.)
Guangzhou Jeeseen Network Technologies Co Ltd
Original Assignee
Guangzhou Jeeseen Network 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 Guangzhou Jeeseen Network Technologies Co Ltd filed Critical Guangzhou Jeeseen Network Technologies Co Ltd
Priority to CN202010730082.0A priority Critical patent/CN111881108B/zh
Publication of CN111881108A publication Critical patent/CN111881108A/zh
Application granted granted Critical
Publication of CN111881108B publication Critical patent/CN111881108B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/185Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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]
    • 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)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种基于web ssh的文件传输方法及装置,涉及文件传输技术领域。该方法包括:web前端界面通过上传按钮或拖拽文件实现客户端向目标主机上传文件的方法和web前端界面通过文本框输入实现客户端从目标主机下载文件的方法,通过增加通用文件代理传输存储层与数据交互层进行文件数据交互,并由通用文件代理传输存储层使用ssh访问Linux目标主机,实现客户端与Linux目标主机之间的文件传输。本发明在Linux目标主机无法联网且客户端与Linux目标主机之间不能通信的情况下,实现了客户端与Linux目标主机之间的文件传输。

Description

一种基于web ssh的文件传输方法及装置
技术领域
本发明涉及文件数据传输技术领域,尤其涉及一种基于web ssh的文件传输方法及装置。
背景技术
随着互联网的飞速发展,文件不在局限在本机内部的拷贝和转移,位于互联网内或者局域网内不同机器间的文件传输越来越普遍。那么,如何实现互联网内、局域网内的机器间以及互联网内机器与局域网内机器间的文件传输,就成为人们更加关注的问题。
SSH(Secure Shell)安全外壳协议是由IETF(The Internet Engineering TaskForce)国际互联网工程任务组制定的建立在应用层基础上的安全协议。SSH专为远程登录会话和其他网络服务提供安全性的协议,比传统的在网络上用明文传送口令和数据的ftp、pop和telnet更具有可靠的安全性。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。强大功能及可靠的安全性使得SSH基本成为Linux机器的标准配置。SSH的结构如附图1所示,包括SSH客户端和SSH服务端。SSH可以在用户和远程主机之间,建立命令和数据的传输通道,因此很多事情都可以通过SSH来完成。
访问互联网通常会通过浏览器,web技术通常分为web前端和web后端,web前端是用户所能看到的浏览器中展示的界面,web后端处理web前端传过来的数据处理,是用户不可见的。web ssh远程访问是通过web前端界面实现远程操作Linux目标主机的一种技术,web客户端和远程数据交互通常会使用web socket协议进行传输和解析以达到在页面显示命令输入输出的效果。
中国专利申请文献CN110569473A中,公开了一种基于SSH协议远程操作Linux服务器的方法。该方法通过浏览器远程连接Linux服务器,执行原始的Linux操作命令,并调用所提供的自动化工具,执行自动化流程,定制执行时间和操作对象,完成自动化部署及操作。该基于SSH协议远程操作Linux服务器的方法,通过web技术,无需在本地下载并安装任何工具,登陆网页即可进行远程操作Linux服务器,方便快捷。该方法通过登陆网页远程操作Linux服务器,用户只要与自身的网页能通信,就可以操作Linux主机。但是该方法只是单方面的使用sftp协议传输文件,文件的利用率低,无法溯源文件的传输过程,无法通过代理层记录并且有效的利用已经上传或者下载过的文件。
中国专利申请文献CN1845103中,公开了一种文件传输方法,包括步骤:应用服务装置根据来自客户终端装置的文件传输请求从存储器获取被传文件信息,并生成要嵌入Web页面的数据;WEB服务装置基于所述文件传输请求和所述要嵌入页面的数据生成响应页面;在客户终端装置利用文件传输控件解析所述响应页面,并向文档服务装置发出FTP文件传输请求;在文档服务装置与客户终端装置之间进行基于FTP的文件传输。该文献公开的方法基于web技术实现文件的传输,采用ftp进行文件传输,安全性低,且只适用于客户终端装置与文件服务装置可以通信的情况。
现有技术中在web界面操作Linux主机时,Linux主机如果不能联网,就不能通过命令直接下载互联网中的文件,此时通常需要客户端下载文件,然后传到Linux主机上去,但客户端与Linux主机如果不能通信,就无法借助其他客户端或软件来上传文件到Linux主机。此时,通常的做法是将待上传的文件给Linux主机管理员,让管理员从网络内部上传到Linux主机。
现有技术至少存在以下不足:
1.在Linux主机不能联网,且客户端与Linux主机无法通信时,无法实现Linux主机与客户端之间的文件传输;
2.文件传输采用ftp等安全性较低的技术,安全性需要提高。
发明内容
为解决现有技术中存在的问题,本发明提供了一种web ssh的文件传输方法,涉及文件传输技术领域。该方法包括:web前端界面通过上传按钮或拖拽文件实现客户端向目标主机上传文件的方法和web前端界面通过文本框输入实现客户端从目标主机下载文件的方法,通过增加通用文件代理传输存储层与数据交互层进行文件数据交互,并由通用文件代理传输存储层使用ssh访问Linux目标主机,实现客户端与Linux目标主机之间的文件传输。本发明在Linux无法联网且客户端与Linux主机之间不能通信的情况下,实现了客户端与Linux目标主机之间通过ssh进行文件传输。
本发明提供了一种基于web ssh的文件传输方法,包括:
客户端向目标主机上传文件的方法和客户端从目标主机下载文件的方法;
所述客户端向目标主机上传文件的方法为在web前端界面通过上传按钮或拖拽文件实现客户端向目标主机上传文件的方法;
待上传文件经过web前端、数据交互层和通用文件代理传输存储层的处理,上传至目标主机;
所述客户端从目标主机下载文件的方法为在web前端界面通过文本框输入待下载文件的绝对路径实现客户端从目标主机下载文件的方法;
待下载文件由通用文件代理传输存储层从目标主机获取,并经由数据交互层和web前端处理后下载到客户端。
ssh为Secure Shell的缩写,web ssh指的是通过web实现操作ssh指令。客户只需要有浏览器,访问登录到web ssh平台就可以操作内部Linux主机,不需要安装其他软件。web前端界面,用于产生文件上传命令以及输入的文件下载的绝对路径,并通过web前端传输给数据交互层;数据交互层,用于接收web前端的文件上传命令和输入的文件下载的绝对路径,并与通用文件代理传输存储层进行文件数据和信息交互。
本发明增加了通用文件代理传输存储层,利用通用文件代理传输存储层有利于实现数据处理模块化,减少数据交互层等程序的耦合,通用化模块可以嵌入到在任何一个系统上进行使用。数据交互层只用于处理web客户端操作内部Linux主机的指令输入输出,文件代理层处理web客户端到内部Linux主机的文件传输。
以技术的角度去看,web前端是部署在服务端的。数据交互层和通用文件传输存储层属于软件实现,可以分开部署也可以部署在一台设备上,他们之间通过http协议相互通信。本发明从软件架构部署角度考虑,将Web前端、数据交互层和通用文件代理传输存储层都部署在服务器中,如附图2中所示的架构图以软件形式划分;用户需要通过自己电脑上的浏览器访问web前端界面。
优选地,所述客户端向目标主机上传文件的方法,包括以下步骤:
S001:web前端对通过上传按钮或拖拽文件获取到待上传文件,对待上传文件进行文件分割,并传输到数据交互层;
S002:数据交互层接收web前端的数据并进行解析,并判断是否为上传文件事件,如果是,则将接收到的文件数据传输到通用文件代理传输存储层,执行步骤S003,如果否,则结束;
S003:所述通用文件代理传输存储层获取所述目标主机的访问账号和密码,并使用ssh命令访问所述目标主机;
S004:所述通用文件代理传输存储层对接收到的文件数据进行整合,并将整合后的文件流数据写入所述目标主机,完成上传。
优选地,所述客户端从目标主机下载文件的方法,包括以下步骤:
S101:在web前端界面中的文本框中输入下载文件请求及目标主机中待下载文件的绝对路径;
S102:数据交互层接收web前端的数据并进行解析,并判断是否为下载文件事件,如果是,则将与下载文件事件相关的信息发给所述通用文件代理传输存储层;
S103:所述通用文件代理传输存储层获取所述目标主机的访问账号和密码,并使用ssh命令访问目标主机;
S104:所述通用文件代理传输存储层从所述目标主机获取所述待下载文件,对所述待下载文件进行文件分割,并将分割后的文件数据二进制流传输到数据交互层;
S105:数据交互层将文件数据二进制流传回到web前端界面,web前端界面对接收到的文件数据进行整合,在整合文件流数据后,触发下载文件到客户端。
Web前端界面通过文本框输入信息向数据交互层发送下载文件请求,数据交互层告知通用文件代理传输存储层与下载文件事件相关的信息,通用文件代理传输存储层对文件进行分割,并将该文件以二进制流返回,数据交互层接收到该文件的二进制流,直接返回给web前端,web前端接收并整合二进制流文件,整合完成后触发下载文件到客户端。
优选地,所述数据交互层与通用文件代理传输存储层之间使用http协议互相通信。
优选地,步骤S001中所述的文件分割基于动态字典进行分割并进行乱序排列,步骤S004中对文件数据的整合基于动态字典进行整合并顺序排列。
优选地,所述通用文件代理传输存储层根据从数据交互层接收到的目标主机的通用唯一识别码uuid,获取目标主机的访问账号和密码。
uuid由数据处理层生成并且使用缓存把uuid对应的主机信息保存起来,数据交互层通过web前端触发上传或下载事件,把uuid传给通用文件代理传输存储层,uuid查询主机缓存信息获得目标主机的访问账号和密码。
优选地,步骤S102中与下载文件事件相关的信息包括:目标主机的uuid和目标主机中待下载文件的绝对路径。
本发明提供了一种基于web ssh的文件传输装置,包括:
数据传输模块,所述数据传输模块包括通用文件代理传输存储层,所述通用文件代理传输存储层根据数据交互层传输的文件上传或下载命令,通过ssh命令访问目标主机,进行文件上传或文件下载。
优选地,所述通用文件代理传输存储层包括文件存储模块、文件传输模块、文件管理模块和日志记录模块;
所述文件存储模块获取需要上传或下载的文件数据并进行存储;上传或下载过的文件会存放在通用文件代理传输存储层;
所述文件传输模块根据上传或下载命令对获取到的文件数据向目标主机或数据交互层传输;
所述文件管理模块记录文件信息,用于记录管理上传下载文件;
所述日志记录模块用于记录文件传递信息,以便下次审查操作内容。
优选地,所述文件管理模块记录的文件信息,包括文件ID、文件名、文件MD5和文件创建时间;
文件管理模块记录数据形式:
file_log表:
Figure BDA0002602990310000051
所述文件传递信息包括:文件ID、文件log ID、目标主机uuid、目标主机IP地址和文件创建时间,数据形式如下所示:
file_log_host表:
Figure BDA0002602990310000052
与现有技术相对比,本发明的有益效果如下:
(1)本发明在web技术与ssh技术相结合的基础上,通过增加通用文件代理传输存储层实现数据交互层与Linux目标主机之间通信的技术手段,实现在Linux目标主机无法联网且客户端仅仅只能使用web ssh与Linux目标主机通信的情况下,客户端与Linux目标主机之间的文件传输。
(2)本发明无需借助第三方软件或其他客户端,通过web界面中文件拖拽或上传按钮,即可实现客户端的文件上传至Linux目标主机,通过web界面中文本框输入触发目标主机到客户端文件下载功能,实现简单方便。
(3)本发明通过ssh进行文件传输,安全性更好。
(4)本发明通过基于动态字典对待传输文件进行分割及乱序排列,增强了文件传输的安全性。
(5)本发明通用文件代理传输存储层除文件存储和传输外,还进行文件管理和日志记录,方便Linux主机进行后台管理操作。
附图说明
图1是SSH结构示意图;
图2是本发明的软件架构图;
图3是本发明中通用文件代理传输存储层示意图;
图4是本发明中文件上传流程示意图;
图5是本发明中文件下载流程示意图。
具体实施方式
下面结合附图1-5,对本发明的具体实施方式作详细的说明。
本发明提供了一种基于web ssh的文件传输方法,包括:
客户端向目标主机上传文件的方法和客户端从目标主机下载文件的方法;
所述客户端向目标主机上传文件的方法为在web前端界面通过上传按钮或拖拽文件实现客户端向目标主机上传文件的方法;
待上传文件经过web前端、数据交互层和通用文件代理传输存储层的处理,上传至目标主机;
所述客户端从目标主机下载文件的方法为在web前端界面通过文本框输入待下载文件的绝对路径实现客户端从目标主机下载文件的方法;
待下载文件由通用文件代理传输存储层从目标主机获取,并经由数据交互层和web前端处理后下载到客户端。
本发明增加了通用文件代理传输存储层,利用通用文件代理传输存储层中转,有利于实现模块化,减少数据交互层等程序的耦合,通用化模块可以嵌入到在任何一个系统上进行使用。数据交互层只用于处理web客户端操作内部Linux主机的指令输入输出,文件代理层处理web客户端到内部Linux主机的文件传输。
本发明从软件架构部署角度考虑,将Web前端、数据交互层和通用文件代理传输存储层都部署在服务器中,他们之间通过http协议相互通信,如附图2中所示的架构图以软件形式划分;用户需要通过自己电脑上的浏览器访问web前端界面。客户端为可以连接互联网的互联网用户。
作为优选实施方式,所述客户端向目标主机上传文件的方法,包括以下步骤:
S001:web前端对通过上传按钮或拖拽文件获取到待上传文件,对待上传文件进行文件分割,并传输到数据交互层;
S002:数据交互层接收web前端的数据并进行解析,并判断是否为上传文件事件,如果是,则将接收到的文件数据传输到通用文件代理传输存储层,执行步骤S003,如果否,则结束;
S003:所述通用文件代理传输存储层获取所述目标主机的访问账号和密码,并使用ssh命令访问所述目标主机;
S004:所述通用文件代理传输存储层对接收到的文件数据进行整合,并将整合后的文件流数据写入所述目标主机,完成上传。
作为优选实施方式,所述客户端从目标主机下载文件的方法,包括以下步骤:
S101:在web前端界面中的文本框中输入下载文件请求及目标主机中待下载文件的绝对路径;
S102:数据交互层接收web前端的数据并进行解析,并判断是否为下载文件事件,如果是,则将与下载文件事件相关的信息发给所述通用文件代理传输存储层;
S103:所述通用文件代理传输存储层获取所述目标主机的访问账号和密码,并使用ssh命令访问目标主机;
S104:所述通用文件代理传输存储层从所述目标主机获取所述待下载文件,对所述待下载文件进行文件分割,并将分割后的文件数据二进制流传输到数据交互层;
S105:数据交互层将文件数据二进制流传回到web前端界面,web前端界面对接收到的文件数据进行整合,在整合文件流数据后,触发下载文件到客户端。
Web前端界面通过文本框输入信息向数据交互层发送下载文件请求,数据交互层告知通用文件代理传输存储层与下载文件事件相关的信息,通用文件代理传输存储层对文件进行分割,并将该文件以二进制流返回,数据交互层接收到该文件的二进制流,直接返回给web前端,web前端接收并整合二进制流文件,整合完成后触发下载文件到客户端。
作为优选实施方式,所述数据交互层与通用文件代理传输存储层之间使用http协议互相通信。
作为优选实施方式,步骤S001中所述的文件分割基于动态字典进行分割并进行乱序排列,步骤S004中对文件数据的整合基于动态字典进行整合并顺序排列。
作为优选实施方式,所述通用文件代理传输存储层根据从数据交互层接收到的目标主机的通用唯一识别码uuid,获取目标主机的访问账号和密码。
uuid由数据处理层生成并且使用缓存把uuid对应的主机信息保存起来,数据交互层通过web前端触发上传或下载事件,把uuid传给通用文件代理传输存储层,uuid查询主机缓存信息获得目标主机的访问账号和密码。
作为优选实施方式,步骤S102中与下载文件事件相关的信息包括:目标主机的uuid和目标主机中待下载文件的绝对路径。
本发明提供了一种基于web ssh的文件传输装置,包括:
数据传输模块,所述数据传输模块包括通用文件代理传输存储层,所述通用文件代理传输存储层根据数据交互层传输的文件上传或下载命令,通过ssh命令访问目标主机,进行文件上传或文件下载。
作为优选实施方式,所述通用文件代理传输存储层包括文件存储模块、文件传输模块、文件管理模块和日志记录模块;
所述文件存储模块获取需要上传或下载的文件数据并进行存储;上传或下载过的文件会存放在通用文件代理传输存储层;
所述文件传输模块根据上传或下载命令对获取到的文件数据向目标主机或数据交互层传输;
所述文件管理模块记录文件信息,用于记录管理上传下载文件;
所述日志记录模块用于记录文件传递信息,以便下次审查操作内容。
作为优选实施方式,所述文件管理模块记录的文件信息,包括文件ID、文件名、文件MD5和文件创建时间;
文件管理模块记录数据形式:
file_log表:
Figure BDA0002602990310000081
所述文件传递信息包括:文件ID、文件log ID、目标主机uuid、目标主机IP地址和文件创建时间,数据形式如下所示:
file_log_host表:
Figure BDA0002602990310000082
实施例1
根据本发明的一个具体实施方案,参考附图4,本发明的文件上传方法包括:
先将待上传文件上传到web服务器,客户端在web前端界面通过文件拖拽或者上传按钮,产生文件上传命令,web前端根据web前端界面中产生的上传命令,基于动态字典将待上传的文件进行分割,然后再乱序排列,然后web前端通过http协议将文件上传命令及处理后的文件数据流传输到数据交互层。
基于动态字典进行文件分割以及乱序排列,是为了增强文件传输的的安全性,避免文件为拦截后直接破解,而基于动态字典进行封及乱序排列后,文件数据只有通过双方协商一致的规则才可以再进行顺序排列及整合,才能获得原始文件,使得文件传输安全性大大提高。
该通用文件代理传输存储层部署在web ssh架构网段,使数据交互层与通用文件代理传输存储层通过http协议进行通信。
数据交互层接收web前端传输的文件数据及命令并进行解析,当判断该命令是文件上传时,数据交互层通知通用文件代理传输存储层触发文件上传事件,并将文件数据流传输到通用文件代理传输存储层,同时数据交互层会将Linux目标主机的uuid传给通用文件代理传输存储层,通用文件代理传输存储层从数据交互层接收分割及乱序排列的文件数据二进制流以及Linux目标主机的uuid,并通过Linux目标主机的uuid获取访问Linux目标主机的账户和密码,比如,通过交互层传递的uuid参数获取访问Linux目标主机的账户和密码;
然后通用文件代理传输存储层使用获取的账户和密码通过scp命令拷贝文件到Linux目标主机,比如使用ssh命令:
[password]|scp local_filepath[-P port][[remote_username@]remote_ip:]remote_filepath上传到Linux目标主机。
通用文件代理传输存储层根据协商一致的规则对分割和乱序排列的文件进行整合,并将整合后的文件流数据写入所述目标主机,完成上传。通用文件代理传输存储层在上传文件到目标主机的同时,返回该事件ID给数据交互层,数据交互层再返回该事件ID给web前端。通用文件代理传输存储层使用scp命令上传文件到目标主机,并从目标主机获取上传进度和计算结果;web前端向数据交互层发送根据事件ID获取文件上传结果指令,数据交互层向通用文件代理传输存储层发送根据事件ID获取文件上传结果指令,通用文件代理传输存储层返回上传进度和结果给数据交互层,数据交互层再将上传进度和结果返回给web前端。
已上传过或下载过的文件,可以通过通用文件代理传输存储层的文件管理模块看到文件的信息和传输记录,想要再次上传文件时,只需要选择文件管理模块记录过的文件并点击上传按钮,即可上传到当前web远程访问的主机,可减少已有文件的前端到文件代理层的传输耗时,直接触发通用文件代理传输存储层到linux主机的上传事件;选择文件点击下载按钮,也可将通用文件代理传输存储层文件下载到客户机,减少linux主机到文件代理层的传输耗时,直接触发文件代理层到前端的下载文件流事件。
实施例2
根据本发明的一个具体实施方案,参照附图5,本发明的文件下载方法为:客户端在web前端界面中通过文本框输入目标主机中待下载文件的绝对路径,产生文件下载命令,web前端通过http协议将web前端界面中产生的下载命令传输给数据交互层;数据交互层接收web前端的数据并进行解析,判断是否为下载文件事件,如果是,则将与下载文件事件相关的信息,如Linux目标主机的uuid和目标主机中待下载文件的绝对路径发给通用文件代理传输存储层,并通知通用文件代理传输存储层触发下载事件;通用文件代理传输存储层接收数据交互层的数据,根据Linux目标主机的uuid获取目标主机的访问账号和密码,并使用ssh命令访问目标主机;通用文件代理传输存储层根据目标主机中待下载文件的绝对路径获取待下载文件,将待下载文件基于动态字典进行文件分割并乱序排列,并将处理后的文件数据流传输到数据交互层;数据交互层将接收到的文件数据传回到web前端,web前端根据协商一致的规则对文件数据进行整合,并触发web前端界面下载整合后的文件到客户端。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均包含在本发明的保护范围之内。

Claims (10)

1.一种基于web ssh的文件传输方法,其特征在于,包括:
客户端向目标主机上传文件的方法和客户端从目标主机下载文件的方法;
所述客户端向目标主机上传文件的方法为在web前端界面通过上传按钮或拖拽文件实现客户端向目标主机上传文件的方法;
待上传文件经过web前端、数据交互层和通用文件代理传输存储层的处理,上传至目标主机;
所述客户端从目标主机下载文件的方法为在web前端界面通过文本框输入待下载文件的绝对路径实现客户端从目标主机下载文件的方法;
待下载文件由通用文件代理传输存储层从目标主机获取,并经由数据交互层和web前端处理后下载到客户端。
2.根据权利要求1所述的文件传输方法,其特征在于,所述客户端向目标主机上传文件的方法,包括以下步骤:
S001:web前端对通过上传按钮或拖拽文件获取到待上传文件,对待上传文件进行文件分割,并传输到数据交互层;
S002:数据交互层接收web前端的数据并进行解析,并判断是否为上传文件事件,如果是,则将接收到的文件数据传输到通用文件代理传输存储层,执行步骤S003,如果否,则结束;
S003:所述通用文件代理传输存储层获取所述目标主机的访问账号和密码,并使用ssh命令访问所述目标主机;
S004:所述通用文件代理传输存储层对接收到的文件数据进行整合,并将整合后的文件流数据写入所述目标主机,完成上传。
3.根据权利要求1所述的文件传输方法,其特征在于,所述客户端从目标主机下载文件的方法,包括以下步骤:
S101:在web前端界面中的文本框中输入下载文件请求及目标主机中待下载文件的绝对路径;
S102:数据交互层接收web前端的数据并进行解析,并判断是否为下载文件事件,如果是,则将与下载文件事件相关的信息发给所述通用文件代理传输存储层;
S103:所述通用文件代理传输存储层获取所述目标主机的访问账号和密码,并使用ssh命令访问目标主机;
S104:所述通用文件代理传输存储层从所述目标主机获取所述待下载文件,对所述待下载文件进行文件分割,并将分割后的文件数据二进制流传输到数据交互层;
S105:数据交互层将文件数据二进制流传回到web前端界面,web前端界面对接收到的文件数据进行整合,在整合文件流数据后,触发下载文件到客户端。
4.根据权利要求1所述的文件传输方法,其特征在于,所述数据交互层与所述通用文件代理传输存储层之间使用http协议互相通信。
5.根据权利要求1所述的文件传输方法,其特征在于,步骤S001中所述的文件分割基于动态字典进行分割并进行乱序排列,步骤S004中对文件数据的整合基于动态字典进行整合并顺序排列。
6.根据权利要求1所述的文件传输方法,其特征在于,所述通用文件代理传输存储层根据从数据交互层接收到的目标主机的通用唯一识别码uuid,获取目标主机的访问账号和密码。
7.根据权利要求1所述的文件传输方法,其特征在于,步骤S102中与下载文件事件相关的信息包括:目标主机的uuid和目标主机中待下载文件的绝对路径。
8.一种基于web ssh的文件传输装置,其特征在于,包括:
数据传输模块,所述数据传输模块包括通用文件代理传输存储层,所述通用文件代理传输存储层根据数据交互层传输的文件上传或下载命令,通过ssh命令访问目标主机,进行文件上传或文件下载。
9.根据权利要求8所述的文件传输装置,其特征在于,所述通用文件代理传输存储层包括文件存储模块、文件传输模块、文件管理模块和日志记录模块;
所述文件存储模块获取需要上传或下载的文件数据并进行存储;上传或下载过的文件会存放在通用文件代理传输存储层;
所述文件传输模块根据上传或下载命令对获取到的文件数据向目标主机或数据交互层传输;
所述文件管理模块记录文件信息,用于记录管理上传下载文件;
所述日志记录模块用于记录文件传递信息,以便下次审查操作内容。
10.根据权利要求9所述的文件传输装置,其特征在于:
所述文件管理模块记录的文件信息,包括文件ID、文件名、文件MD5和文件创建时间;
所述文件传递信息包括:文件ID、文件log ID、目标主机uuid、目标主机IP地址和文件创建时间。
CN202010730082.0A 2020-07-27 2020-07-27 一种基于web ssh的文件传输方法及装置 Active CN111881108B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010730082.0A CN111881108B (zh) 2020-07-27 2020-07-27 一种基于web ssh的文件传输方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010730082.0A CN111881108B (zh) 2020-07-27 2020-07-27 一种基于web ssh的文件传输方法及装置

Publications (2)

Publication Number Publication Date
CN111881108A true CN111881108A (zh) 2020-11-03
CN111881108B CN111881108B (zh) 2021-05-14

Family

ID=73201484

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010730082.0A Active CN111881108B (zh) 2020-07-27 2020-07-27 一种基于web ssh的文件传输方法及装置

Country Status (1)

Country Link
CN (1) CN111881108B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338655A (zh) * 2022-03-10 2022-04-12 北京宇信科技集团股份有限公司 一种远程服务器文件传输引擎、传输方法及装置
CN114866537A (zh) * 2022-05-31 2022-08-05 山东省计算中心(国家超级计算济南中心) 一种跨主机跨网络的文件传输方法及系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1845103A (zh) * 2006-04-30 2006-10-11 中国工商银行股份有限公司 文件传输方法和系统
CN104065658A (zh) * 2014-06-26 2014-09-24 北京思特奇信息技术股份有限公司 一种多级数据传输方法及系统
CN104144086A (zh) * 2013-12-04 2014-11-12 腾讯科技(深圳)有限公司 通信方法和系统及信息发送/接收装置
CN104320417A (zh) * 2014-11-06 2015-01-28 北京安奇智联科技有限公司 移动终端和web终端之间互连及流传输和流媒体播放的方法
CN105872036A (zh) * 2016-03-28 2016-08-17 联想(北京)有限公司 一种数据上传、下载方法、电子设备及服务器
CN106657200A (zh) * 2015-11-04 2017-05-10 中国移动通信集团重庆有限公司 一种文件传送方法及装置
US20170188055A1 (en) * 2014-09-11 2017-06-29 Huawei Technologies Co., Ltd. Video transmission method, gateway device, and video transmission system
US20180083773A1 (en) * 2015-08-26 2018-03-22 Transbox Co., Ltd. Information security device and information security method using accessibility
CN109740378A (zh) * 2018-12-28 2019-05-10 陕西师范大学 一种抗关键词隐私泄露的安全对索引构造及其检索方法
CN110569473A (zh) * 2019-09-12 2019-12-13 浪潮软件股份有限公司 一种基于SSH协议远程操作linux服务器的方法
CN111193786A (zh) * 2019-12-23 2020-05-22 北京航天云路有限公司 基于Blob对象分段读取大文件提高上传效率的方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1845103A (zh) * 2006-04-30 2006-10-11 中国工商银行股份有限公司 文件传输方法和系统
CN104144086A (zh) * 2013-12-04 2014-11-12 腾讯科技(深圳)有限公司 通信方法和系统及信息发送/接收装置
CN104065658A (zh) * 2014-06-26 2014-09-24 北京思特奇信息技术股份有限公司 一种多级数据传输方法及系统
US20170188055A1 (en) * 2014-09-11 2017-06-29 Huawei Technologies Co., Ltd. Video transmission method, gateway device, and video transmission system
CN104320417A (zh) * 2014-11-06 2015-01-28 北京安奇智联科技有限公司 移动终端和web终端之间互连及流传输和流媒体播放的方法
US20180083773A1 (en) * 2015-08-26 2018-03-22 Transbox Co., Ltd. Information security device and information security method using accessibility
CN106657200A (zh) * 2015-11-04 2017-05-10 中国移动通信集团重庆有限公司 一种文件传送方法及装置
CN105872036A (zh) * 2016-03-28 2016-08-17 联想(北京)有限公司 一种数据上传、下载方法、电子设备及服务器
CN109740378A (zh) * 2018-12-28 2019-05-10 陕西师范大学 一种抗关键词隐私泄露的安全对索引构造及其检索方法
CN110569473A (zh) * 2019-09-12 2019-12-13 浪潮软件股份有限公司 一种基于SSH协议远程操作linux服务器的方法
CN111193786A (zh) * 2019-12-23 2020-05-22 北京航天云路有限公司 基于Blob对象分段读取大文件提高上传效率的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨思茗: "广域网存储加速系统的研究与实现", 《万方数据》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338655A (zh) * 2022-03-10 2022-04-12 北京宇信科技集团股份有限公司 一种远程服务器文件传输引擎、传输方法及装置
CN114866537A (zh) * 2022-05-31 2022-08-05 山东省计算中心(国家超级计算济南中心) 一种跨主机跨网络的文件传输方法及系统
CN114866537B (zh) * 2022-05-31 2023-08-04 山东省计算中心(国家超级计算济南中心) 一种跨主机跨网络的文件传输方法及系统

Also Published As

Publication number Publication date
CN111881108B (zh) 2021-05-14

Similar Documents

Publication Publication Date Title
JP4363847B2 (ja) インタラクティブ・テレビ用のデジタル・テレビ・アプリケーション・プロトコル
US20120254407A1 (en) System and method to monitor and transfer hyperlink presence
US11700262B2 (en) System and method to securely execute datacenter management operations remotely
CN111881108B (zh) 一种基于web ssh的文件传输方法及装置
US20020083214A1 (en) Protocol adapter framework for integrating non-IIOP applications into an object server container
CN109861973B (zh) 信息传输方法、装置、电子设备及计算机可读介质
CN106603607A (zh) 私有云桌面系统及其实现服务的方法和装置
JP2004529410A (ja) インタラクティブ・テレビ用のサービス・ゲートウェイ
CN103581265A (zh) 远程访问方法及系统
KR20040071203A (ko) 프록시를 이용하여 데이터를 다운로딩하기 위한 시스템 및방법
JP2005505051A (ja) クライアント−サーバネットワークにおいてファイルタイプの関連性により分散型のプログラムの実行方法
KR20030060884A (ko) 웹 운영체제 및 웹 데스크탑
CN112954050B (zh) 分布式管理方法及装置、管理设备和计算机存储介质
US20030081788A1 (en) Secure printing to a web-based imaging print service
CN108989424A (zh) 一种远程控制的方法和系统
WO2005091880A2 (en) Network security enhancement methods and devices
JP6521762B2 (ja) Httpサーバとその制御方法、画像形成装置およびプログラム
US20130083045A1 (en) Apparatus to control display of content and method thereof
JP2006018430A (ja) 情報処理装置、ネットワークシステム、プログラム、データ構造及び記憶媒体
WO2023078444A1 (zh) 一种公有云系统及其相关方法
KR101523230B1 (ko) 전자문서 자동 전달방법
CN104182437A (zh) 一种文件拉取方法及装置
JP2003108503A (ja) データ提供方法、データ取得方法、データ提供サーバ、データ提供プログラム、データ取得プログラム及び記憶媒体
CN108366119A (zh) 一种基于嵌入式设备cgi实现设备控制的方法
KR102425978B1 (ko) 클라우드 서비스 플랫폼에서 Composite 웹 UI 제공시스템

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