基于插件式模块实现自定义文件传输协议的系统及方法技术方案

技术编号:18208551 阅读:38 留言:0更新日期:2018-06-13 08:14
本发明专利技术公开了一种基于插件式模块实现自定义文件传输协议的系统及方法,该系统包括服务中心等,主线程模块、线程池模块、队列模块都与服务中心相连,主线程模块与线程池模块相连,任务工作线程模块、文件扫描线程模块、文件传输下载线程模块、线程池模块都与队列模块相连,文件扫描线程模块、文件传输下载线程模块、集合模块、插件模块都与任务工作线程模块相连,文件传输下载线程模块与远程AGENT模块相连。本发明专利技术实现自定义文件传输协议,提高了该软件的使用范围。

【技术实现步骤摘要】
基于插件式模块实现自定义文件传输协议的系统及方法
本专利技术涉及一种文件传输协议,特别是涉及一种基于插件式模块实现自定义文件传输协议的系统及方法。
技术介绍
在许多大型企业中,有若干分布于各种层次的管理和控制计算机,其中部署在这些终端上的软件系统(以下简称“Agent”)负责执行各种类型的计算机作业任务,如执行脚本命令、扫描文件大小、传输文件等等。目前计算机之间传输文件广泛使用基于TCP/IP协议族的国际标准应用层文件传输协议(FileTransferProtocol)。传输文件的主动方通过常规FTP协议的客户端程序,连接到远程主机FTP协议的服务器端程序,由后者执行客户端所发出的文件发送或者下载命令,并将执行结果返回客户端。然而,这种常规FTP协议在文件传输的使用过程中存在许多缺点,如数据传输模式和通信工作方式不合理、与防火墙工作不协调、密码安全策略不完善、不支持断点续传等等,这些潜在的技术缺陷严重影响了它的广泛应用。
技术实现思路
本专利技术所要解决的技术问题是提供一种基于插件式模块实现自定义文件传输协议的系统及方法,其能够实现自定义文件传输协议,提高了该软件的使用范围,在保证可靠文件传输的同时有效地提高了文件传输的安全性。本专利技术是通过下述技术方案来解决上述技术问题的:一种基于插件式模块实现自定义文件传输协议的系统,其特征在于,其包服务中心、主线程模块、线程池模块、队列模块、任务工作线程模块、集合模块、文件扫描线程模块、文件传输下载线程模块、远程AGENT模块、插件模块,主线程模块、线程池模块、队列模块都与服务中心相连,主线程模块与线程池模块相连,任务工作线程模块、文件扫描线程模块、文件传输下载线程模块、线程池模块都与队列模块相连,文件扫描线程模块、文件传输下载线程模块、集合模块、插件模块都与任务工作线程模块相连,文件传输下载线程模块与远程AGENT模块相连。优选地,所述主线程模块用于负责监听端口、处理接收外部的并发通信连接;线程池模块包括多个线程模块组成,用于负责分派空闲线程处理外部连接,并将作业对象写入内部队列结构;队列模块包括多个作用模块组成;集合模块包括多个执行对象模块组成;任务工作线程模块,用于负责定时处理队列中的作业对象,进行作业类型分离后,启动插件模块处理作业,并监控执行结果;插件模块实现各自的数据收发、对不同协约进行解析,而不影响其他类型的作业处理;服务中心负责对应用系统中涉及的所有计算机作业任务进行统一集中调度、分派和管理;文件扫描线程模块负责定时检查相关文件大小功能;文件传输下载线程模块负责执行文件传输下载功能。本专利技术还提供一种基于插件式模块实现自定义文件传输协议的方法包括以下步骤:步骤一,文件下载开始时,目标端Agent的客户端通过本地临时结构文件找到第一个未下载的文件块编号,打开本地临时目标文件,定位到文件块号对应的目标位置;步骤二,每个文件块下载完成后,写入本地临时目标文件,同时更新本地临时结构文件中对应块的下载状态;步骤三,当所有块下载完成后,计算本地临时目标文件的md5值,并与本地临时结构文件中记录的md5值,再次获取的源文件md5值进行三方比较,以验证文件传输的内容完整性;步骤四,验证成功后将本地临时目标文件更名为真实目标文件名,同时删除本地临时结构文件,返回作业执行结果。优选地,所述步骤一包括以下步骤:步骤十一,判断下载的源文件是否存在,若不存在则进入步骤二十一;步骤十二,若本地临时结构文件不存在,判断目标文件是否存在,若存在则判断是否立刻退出,若退出则进入步骤二十一,否则执行以下子步骤;判断是否需要覆盖目标文件,若需要覆盖则删除目标文件则进入步骤十七;判断是否需要重命名目标文件,若需要生成新的目标文件名则进入步骤十七;步骤十三,若本地临时目标文件不存在,则进入步骤十七;步骤十四,若本地临时目标文件存在并且本地临时结构文件不正常,则进入步骤十六;步骤十五,读取本地的md5值判断和源端md5值判断是否匹配,若匹配则进入步骤十九,否则进入步骤十六;步骤十六,删除本地临时目标和结构文件;步骤十七,创建本地临时目标和本地临时结构文件;步骤十八,读取源文件结构信息并写入本地临时结构文件;步骤十九,读取断点位置;步骤二十,从断点位置开始下载文件块;步骤二十一,此次下载作业结束,返回退出。优选地,所述断点续传是为网络或系统异常导致前次文件传输未完成,在下次重启动该文件传输时能够从前次下载的位置继续进行传输。优选地,所述本地临时目标文件与传输文件的名称相同,但以.dst扩展名加以区分,用于保存文件传输下载过程中目标端接收的文件内容。本专利技术的积极进步效果在于:本专利技术能够通过插件式模块中采用远程过程调用进行数据传送方式,在客户机服务器模式下实现了一种新的文件下载传输协议,在保证可靠文件传输的同时有效地提高了文件传输的安全性。本专利技术结合多线程设计模式更好地利用了计算机系统资源,使得进程的整体运行效率得到较大提高,同时增强了系统的灵活性。本专利技术通过插件模块极大的支持了作业类型的扩展。本专利技术实现了自定义文件传输协议,提高了该软件的使用范围。附图说明图1为本专利技术的结构示意图。具体实施方式下面结合附图给出本专利技术较佳实施例,以详细说明本专利技术的技术方案。如图1所示,本专利技术基于插件式模块实现自定义文件传输协议的系统包括服务中心、主线程模块、线程池模块、队列模块、任务工作线程模块、集合模块、文件扫描线程模块、文件传输下载线程模块、远程AGENT(代理)模块、插件模块,主线程模块、线程池模块、队列模块都与服务中心相连,主线程模块与线程池模块相连,任务工作线程模块、文件扫描线程模块、文件传输下载线程模块、线程池模块都与队列模块相连,文件扫描线程模块、文件传输下载线程模块、集合模块、插件模块都与任务工作线程模块相连,文件传输下载线程模块与远程AGENT模块相连。主线程模块用于负责监听端口、处理接收外部的并发通信连接;线程池模块包括多个线程模块组成,用于负责分派空闲线程处理外部连接,并将作业对象写入内部队列结构;队列模块包括多个作用模块组成;集合模块包括多个执行对象模块组成;任务工作线程模块,用于负责定时处理队列中的作业对象,进行作业类型分离后,启动插件模块处理作业,并监控执行结果;插件模块实现各自的数据收发、对不同协约进行解析,而不影响其他类型的作业处理;服务中心负责对应用系统中涉及的所有计算机作业任务进行统一集中调度、分派和管理;文件扫描线程模块负责定时检查相关文件大小功能;文件传输下载线程模块负责执行文件传输下载功能。所述远程AGENT模块包括远程AGENT客户端和远程AGENT服务器端,其中:远程AGENT客户端,用于负责按协议要求组织数据,主动向远程Agent发起调用连接,并接收应答;远程AGENT服务器端,用于负责接收远程AGENT发起的调用连接,并按协议要求处理接收数据,并发送应答。本专利技术自定义文件传输协议实现的断点续传方法包括以下原则:(1)文件传输下载过程中断点续传的状态信息记录在本地临时结构文件中。该文件与传输文件的名称相同,但以.tmp扩展名加以区分,由三部分组成。第一部分16字节记录从源端Agent获取的源文件md5值,第二部分4字节的整数用于记录根据源文件长度计算的下载总分块数,第本文档来自技高网...
基于插件式模块实现自定义文件传输协议的系统及方法

【技术保护点】
一种基于插件式模块实现自定义文件传输协议的系统,其特征在于,其包服务中心、主线程模块、线程池模块、队列模块、任务工作线程模块、集合模块、文件扫描线程模块、文件传输下载线程模块、远程AGENT模块、插件模块,主线程模块、线程池模块、队列模块都与服务中心相连,主线程模块与线程池模块相连,任务工作线程模块、文件扫描线程模块、文件传输下载线程模块、线程池模块都与队列模块相连,文件扫描线程模块、文件传输下载线程模块、集合模块、插件模块都与任务工作线程模块相连,文件传输下载线程模块与远程AGENT模块相连。

【技术特征摘要】
1.一种基于插件式模块实现自定义文件传输协议的系统,其特征在于,其包服务中心、主线程模块、线程池模块、队列模块、任务工作线程模块、集合模块、文件扫描线程模块、文件传输下载线程模块、远程AGENT模块、插件模块,主线程模块、线程池模块、队列模块都与服务中心相连,主线程模块与线程池模块相连,任务工作线程模块、文件扫描线程模块、文件传输下载线程模块、线程池模块都与队列模块相连,文件扫描线程模块、文件传输下载线程模块、集合模块、插件模块都与任务工作线程模块相连,文件传输下载线程模块与远程AGENT模块相连。2.如权利要求1所述的基于插件式模块实现自定义文件传输协议的系统,其特征在于,所述主线程模块用于负责监听端口、处理接收外部的并发通信连接;线程池模块包括多个线程模块组成,用于负责分派空闲线程处理外部连接,并将作业对象写入内部队列结构;队列模块包括多个作用模块组成;集合模块包括多个执行对象模块组成;任务工作线程模块,用于负责定时处理队列中的作业对象,进行作业类型分离后,启动插件模块处理作业,并监控执行结果;插件模块实现各自的数据收发、对不同协约进行解析,而不影响其他类型的作业处理;服务中心负责对应用系统中涉及的所有计算机作业任务进行统一集中调度、分派和管理;文件扫描线程模块负责定时检查相关文件大小功能;文件传输下载线程模块负责执行文件传输下载功能。3.如权利要求1所述的基于插件式模块实现自定义文件传输协议的系统,其特征在于,所述远程AGENT模块包括远程AGENT客户端和远程AGENT服务器端,其中:远程AGENT客户端,用于负责按协议要求组织数据,主动向远程Agent发起调用连接,并接收应答;远程AGENT服务器端,用于负责接收远程Agent发起的调用连接,并按协议要求处理接收数据,并发送应答。4.一种基于插件式模块实现自定义文件传输协议的方法,其特征在于,其包括以下步骤:步骤一,文件下载开始时,目标端Agent的客户端通过本地临时结构文件找到第一个未下载的文件块编号...

【专利技术属性】
技术研发人员:顾宇栋姜宇汤春艳赵新阳王磊陈军
申请(专利权)人:上海宝信软件股份有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1