基于Java的通用文件传输协议API的开发与实现

 2022-06-09 22:47:49

论文总字数:28529字

摘 要

随着电信网规模的不断扩张,越来越多的网元文件需要收集和处理,这意味着要投入越来越多的人力资源。各电信设备商都使用了统一的几种文件传输协议来对远程文件进行获取,同时出于核心设备的安全性以及人力资源这两方面考虑,在主流操作系统上均能够顺利传输文件的通用文件传输协议API应运而生。

在本文中,作者首先介绍了当前电信设备商主要采用的几种文件传输协议,通过分析需求、系统架构与各个界面模块设计、代码实现以及系统测试这四个步骤,完成了基于Java的通用文件传输协议API的开发与实现。论文的主要工作,体现在以下几点:

(1)实现了通用文件传输的基本功能:文件上传和下载,并且设计了用户界面,使用户可以通过简单的操作进行文件传输操作;

(2)实现了通用文件传输的拓展目标:支持文件名包含通配符的多文件上传和下载以及目录上传和下载,并且可以通过日志系统反馈实时信息;

(3)对该系统进行了测试,通过与第三方工具以及系统自带工具对比来比较性能上的差距,探究文件大小与传输速度的关系变化;同时进行了关于断点续传的测试,探究断开时间与传输总耗时的关系变化。

最后的测试结果表明,程序完成了预期的目标,实现了在各操作系统上使用多种文件传输协议进行文件传输。

关键词:文件传输协议,通配符,多文件传输,断点续传

Abstract

With the continuous expansion of the scale of telecommunications network, there are more and more network element files which need to be collected and processed, which means that more and more human resources should be invested to solve this problem. The telecommunication equipment vendors use several unified file transfer protocols to obtain remote files. Meanwhile, considering the security of core equipment and human resources, Universal File Transfer Protocol APIs, which could transfer files on mainstream operating system, have emerged.

In this paper, the author first introduced several file transfer protocols currently used by telecommunication equipment vendors. Through the analysis of requirements, system architecture and the design of each interface module, code implementation and system testing, the author completes the development and implementation of the Java based general file transfer protocol API. The main work of the paper is reflected in the following points:

1) The basic functions of universal file transfer are realized: including file uploading and downloading, file uploading and downloading so that users can use it to transfer files through simple operations;

2) The goal of universal file transfer is achieved: multiple file uploads and downloads with file names including wildcards, and directory uploads and downloads are supported, and real-time information can be fed back through the log system;

3) The system was tested and the performance gap was compared by comparing it with the third-party tools and the system's own tools. The relationship between file size and transmission speed was explored. At the same time, a test was conducted on the resumption of breakpoints. The relationship between the disconnection time and the total transmission time is changed.

The final test results show that the program has achieved the desired goal and achieved file transfer using various file transfer protocols on various operating systems.

KEY WORDS: file transfer protocol, wildcards, multi-file transfer, resumption of break- points

目录

摘要 I

Abstract II

第一章 绪论 4

1.1 论文背景及意义 4

1.2 研究目标及研究内容 4

1.3 论文的组织结构 2

第二章 文件传输协议简介 4

2.1 文件传输协议 4

2.1.1 基本概念 4

2.1.2 支持模式 4

2.1.3 传输方式 4

2.1.4 环境配置 4

2.2 安全复制协议 5

2.2.1 基本概念 5

2.2.2 密钥登录 5

2.2.3 环境配置 6

2.3 安全文件传输协议 6

2.4 基于SSL的安全文件传输协议 7

2.4.1 基本概念 7

2.4.2 连接方式 7

2.4.3 安全套接字层 8

2.4.4 环境配置 8

2.5 本章小结 9

第三章 系统设计及实现 10

3.1 系统架构设计 10

3.2 选择协议界面设计与实现 10

3.3 连接服务器界面设计与实现 11

3.4 选择文件操作界面设计与实现 13

3.5 文件传输界面设计与实现 14

3.5.1 单文件上传 15

3.5.2 多文件上传 15

3.5.3 目录上传 16

3.5.4 单文件下载 16

3.5.5 多文件下载 16

3.5.6 目录下载 18

3.6 本章小结 19

第四章 系统测试 20

4.1 基本功能测试 20

4.1.1 基本功能测试用例设计 20

4.1.2 测试结果 20

4.2 性能测试 23

4.2.1 小文件传输测试 23

4.2.2 大文件传输测试 23

4.2.3 大批量文件传输测试 24

4.3 断点续传测试 25

4.4 本章小结 26

第五章 论文总结与未来工作展望 27

致谢 28

参考文献 29

绪论

论文背景及意义

随着通讯设备集成化水平与网络容量的提高,网络设备相关数据日益增多。同时,随着电信网规模的不断扩张,产生了数以万计的运行日志和用户数据文件。在日常的运维工作中,周期性的人工采集网元配置以及日志数据和紧急情况发生时的应急处理过程中的首要操作都是将现场的各类型文件进行归纳汇总。然而传统的人工处理方式收集这些文件需要耗费大量的人力,并且频繁的人工登录核心设备,也存在对核心设备的误操作的风险,因此实现对这些文件的自动化采集就显得迫在眉睫。另一方面,由于客户现场需求不同,各个项目对于文件处理的逻辑大相径庭,然而对于远程文件获取此部分各设备商都使用了统一的几种文件传输协议。基于这样的环境考虑,将业务逻辑较为统一的远程文件传输部分进行封装就非常有意义和价值。通用文件传输协议API就在这样的背景下应运而生,旨在实现在主流操作系统上均能够顺利的传输文件,该API基于FTP、SFTP、SCP、FTPS四种标准文件传输协议,而这四种标准文件传输协议各采用了一种API,同时由于Java语言的跨平台性,支持在多平台下实现服务端、客户端之间的无障碍文件传送。

研究目标及研究内容

在本次设计中,FTP协议采用的是Apache Commons工具类库中的“common-net”库,SFTP协议采用的是纯Java实现的SSH开源框架——“Jsch”,SCP协议采用的是纯Java实现的SHH2库“Ganymed SSH-2”库,而FTPS协议采用的是另一种FTP工具库——“ftp4j”。

本次设计的首要目标是通过该通用文件传输协议API达到上传文件至服务端或者从服务端下载文件。对于这个目标,难点主要有四:一、由于实际应用中需要操作的日志文件都比较大,需要能够支持对超大文件(超过4GB的单文件)的传输;二、在上传操作中,若目标目录不存在,在不考虑该账户权限的前提下(默认该账户拥有创建远端目录的权限),需要能够在远端创建目标目录,即该API能够对服务端进行文件操作;三、考虑到实际应用中存在多线程调用该API情况,该API需要支持多线程操作;四、在实际场景中,服务端地址多采用相对地址,在多线程调用中避免使用绝对地址导致的目录不存在的情况。

剩余内容已隐藏,请支付后下载全文,论文总字数:28529字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;