优化20181218版-Python实现Linux下多并发scp/ssh以及xshell客户端

历史版本
版本优化记录:

*******20181217 优化相关记录*********
** 文件的上传、下载支持正则表达式解析
    a、在paramiko_sh中新增上传/下载中识别Linux/UNIX通配符支持;
    b、在paramiko_sh/multistp中将原单文件/目录的遍历修改为解析通配符后再进行列表遍历
    c、对原multistp(目录传输)新增文件传输功能兼容单文件传输
** 对文件/文件夹的上传下载新增校验功能
    a、新增本地/远程主机的md5值生成,并比较的功能;
    b、在paramiko_sh中上传与下载处理位置,新增md5值得判别,并进行出错处理(暂时直接终止)
** 新增文件续传功能
    a、增加如果发现本地、远端文件的文件存在,进行md5的判别,如果判断成功,则不需要进行再次上传、下载。
    b、暂时不针对大文件进行续传,后续再说;
    c、对于不需要重新上传的文件,对进度等信息显示,进行特殊处理。
** 多进程传输、下载文件的方式改变
    原方式为多进程,一边遍历任务中的文件夹,一边下载。现在由于需要提前知道任务总数后再进行下载,因此,做如下改动:
    a、对多进程任务处理,分为两个事件:任务搜寻(包含文件目录的建立)、文件下载/上传;
    b、在控制流程中新增两个事件的控制,这两个事件是相互独立的;一则可以明确此次任务,二则可以为以后用户的下载行为控制作铺垫;
    c、此次修改,搜寻任务与处理任务任是多进程;只是将事件进行了分离,可以这样认为。
** 新增文件传输进度、速率、信息显示
    a、对单进程的上传、下载增加了这些项目的显示,效果如下:
       源文件名                100%    35kb/36kb    35KB/s  00:00:00(预计剩余时间)   00:00:00(花费总时间)
        xav                   100%       28.81 KB/28.81 KB        28.81 KB/s   0:00:00   0:00:00
    b、对于多进程并发,每隔2秒钟显示其总文件、总目录、当前文件进度,目前显示的效果如下(只针对于多任务处理),同时也会显示处理完毕的文件:
       任务匹配名              100%   35kb/36kb    35KB/s  00:00:00(预计剩余时间)   00:00:00(花费总时间)  24   1500[当前正在处理的任务]/3000(文件传输)
        xav                   100%       28.81 KB/28.81 KB        28.81 KB/s   0:00:00   0:00:00
        multi_file_process    85%      215.46 MB/250.64 MB        1.02 MB/s   0:00:34   0:02:02      60     1128[5]/1133
** 将主机信息存为json文件格式,程序读取信息改写为json配置读取
    将原字典主机信息,修改为json文件配置。配置文件需要在源码中定义(暂定固定)
** 对程序中出现异常或返回值进行优化处理
    处理时思路为:
    1、对需要用到返回值的结构采用return的方式,或者需要退出结构时; 其他如值不对,这些可以采用raise异常处理,暂时不适用断言的方式。
    如果捕获异常的地方无法做出处理,必须将异常进行上抛。
    2、日志中,错误日志的处理:一般错误日志不会导致整体退出,特殊情况除外。
** 优化pty的windows窗口大小设置

*****后续优化思路(暂定)*****
** 增加云主机管理功能:批量命令执行,数据同步;
** 增加技术文档API支持(rex/md);
** 优化源码结构,充分汲取paramiko与fabfic功能与思路,并根据实际情况进行增改;实现更好的后台系统管理。

Github项目

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值