向多个服务器同时上传文件的方法和系统与流程

文档序号:12753055阅读:1037来源:国知局
向多个服务器同时上传文件的方法和系统与流程

本发明涉及数据处理技术领域,尤其涉及一种向多个服务器同时上传文件的方法和系统。



背景技术:

现在有的服务器文件管理方法,一般都采用文件传输协议(File Transfer Protocol,FTP)或直接远程连接到服务器进行管理,但是如果需要管理的服务器很多,那么管理起来就很麻烦,同时管理多个服务器的文件时,就会不断地需要切换,给维护人员带来了大量的工作。

对技术人员来说,在日常开发维护中要经常远程服务器上传项目,随着业务不断增多,服务器部署的网站越来越多,服务器也越来越多。普通的远程桌面、FTP只能是应对一对一的上传文件,浪费了大量的时间。在此过程中,因为要不断访问登陆不同的服务器,就需要操作人员频繁的输入用户名和密码进行登陆,容易造成服务器密码泄露,也带来安全隐患。



技术实现要素:

有鉴于此,本发明提供了一种向多个服务器同时上传文件的方法和系统,可以同时向多服务器上传文件,大大减少了维护人员的工作量。

第一方面,本发明实施例提供了一种向多个服务器同时上传文件的方法,包括:

客户端根据用户输入的选择指令确定上传文件;

接收用户指令,确定文件上传的多个目标服务器及对应每个目标服务器的传输路径,生成路径列表;

连接所述多个目标服务器;

将所述上传文件根据所述路径列表上传到每个所述目标服务器的指定传输路径;

接收所述目标服务器发送的反馈信息,并生成反馈列表;所述反馈列表包括所述反馈信息与所述目标服务器的对应关系。

优选的,在所述接收用户指令之前,所述方法还包括:

客户端对连接的多个服务器生成多个密钥文件,每个所述密钥文件中包括客户端密钥和客户端公钥,并且每个密钥文件对应一个服务器的互联网协议IP地址;

将所述客户端公钥在所对应的服务器中配置为授权码authorized_keys,以建立客户端到服务端的信任关系。

进一步优选的,在所述将所述加密文件根据所述路径列表上传到每个所述目标服务器的指定传输路径之前,所述方法还包括:根据所述指定传输路径对应的目标服务器的客户端公钥,对所述上传文件进行加密操作。

优选的,所述连接所述多个目标服务器具体为:

获取预先配置好的服务器连接信息;所述服务器连接信息包括服务器的IP地址,对应所述IP地址的用户名和密码;

根据所述目标服务器的IP地址,将相对应的用户名和密码发送给所述目标服务器;

接收所述目标服务器返回的连接成功消息。

进一步优选的,在所述接收用户指令之前,所述方法还包括:

对所述目标服务器的用户名和密码进行配置存储,生成所述服务器连接信息。

进一步优选的,如果在将相对应的用户名和密码发送给所述目标服务器之后,接收到所述目标服务器反馈的连接失败消息,则将所述连接失败的目标服务器的名称、传输路径和上传文件的信息进行显示。

优选的,所述反馈信息包括上传成功信息和上传失败信息;

在接收到所述上传失败信息后,在预设时间间隔之后,将所述上传失败的上传文件再次发送到上传失败的目标服务器的指定传输路径。

第二方面,本发明实施例提供了一种向多个服务器同时上传文件的系统,包括:客户端和多个服务器;

所述客户端包括:

第一接收装置,接收用户输入的选择指令;

解析单元,根据所述选择指令确定需要进行上传的上传文件;

第二接收装置,接收用户指令;

所述解析单元,根据所述用户指令在所述服务器中确定文件上传的多个目标服务器及对应每个目标服务器的传输路径;

列表生成单元,根据所述多个目标服务器及对应每个目标服务器的传输路径生成路径列表;

通信模块,与所述多个目标服务器连接;并且将所述上传文件根据所述路径列表上传到每个所述目标服务器的指定传输路径;

所述列表生成单元接收所述通信模块收到的所述目标服务器发送的反馈信息,并生成反馈列表;所述反馈列表包括所述反馈信息与所述目标服务器的对应关系。

优选的,所述客户端还包括:

密钥生成单元,对连接的多个服务器生成多个密钥文件,每个所述密钥文件中包括客户端密钥和客户端公钥,每个密钥文件对应一个服务器的互联网协议IP地址;

所述服务器包括:配置单元,将所述客户端公钥在所对应的服务器中配置为授权码authorized_keys。

进一步优选的,所述客户端还包括加密处理单元,根据所述指定传输路径对应的目标服务器的客户端公钥,对所述上传文件进行加密操作。

本发明实施例提供的向多个服务器同时上传文件的方法,能够提高服务器文件管理的工作效率,简化日常系统维护的流程,大大减少了维护人员的工作量。

附图说明

图1为本发明实施例提供的向多个服务器同时上传文件的方法的流程图。

图2为本发明实施例提供的向多个服务器同时上传文件的系统示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

下面结合图1所示的向多个服务器同时上传文件的方法流程图,对本发明实施例提供的向多个服务器同时上传文件的方法进行详细说明。本实施例的执行主体是上传文件的客户端。

如图1所示,本发明提供的向多个服务器同时上传文件主要包括如下步骤:

步骤110,客户端根据用户输入的选择指令确定上传文件;

具体的,上传文件可以是需要进行备份或者通过服务器进行发布的数据、项目信息、图片等。客户端可以安装有特定应用的智能手机,通过应用为用户提供人机交互界面,用户通过人机交互界面选择所需上传的文件。

所选的上传文件,可以是一个文件,也可以是多个文件,在本方案中,没有限制。

步骤120,接收用户指令,确定文件上传的多个目标服务器及对应每个目标服务器的传输路径,生成路径列表;

具体的,客户端接收用户输入的用户指令,该用户指令可以是用户通过点击客户端的图形界面选择的目标服务器和要传输的路径,也可以是用户通过键盘、软键盘等输入方式创建的新建路径。

所有被选择或创建的文件传输路径,都加入到路径列表中。在路径列表中包括有路径信息以及该路径的目标服务器的信息,如目标服务器的IP地址。

步骤130,连接所述多个目标服务器;

通常,在服务器连接的时候,需要输入用户名和密码进行安全确认,但是,对于向多服务器上传文件的这种大量文件维护工作来说,很显然手动输入密码是非常冗余复杂的工作,非常影响效率。因此,我们需要寻找一种能够自动输入密码或不需要输入密码的方法来进行客户端与目标服务器的连接。

对于自动输入密码进行客户端与目标服务器连接的情况:

可以预先对各个目标服务器的用户名和密码进行配置存储,生成服务器连接信息,这样在服务器连接信息中就包括了服务器的IP地址,对应该IP地址的用户名和密码

在进行连接时,获取预先配置好的服务器连接信息,然后根据目标服务器的IP地址,将相对应的用户名和密码发送给目标服务器;目标服务器在接收到用户名和密码之后会进行验证,验证通过发送连接成功消息给客户端。客户端在接收目标服务器返回的连接成功消息后就可以进行上传了。

如果验证不通过,则会发送连接失败消息给客户端,客户端对该消息进行显示,同时显示出相应目标服务器的信息,如名称、IP地址等,以提示用户与该目标服务器的连接失败。

对于无需输入密码进行客户端与目标服务器连接的情况:

可以预先的在客户端对连接的多个服务器生成多个密钥文件,每个密钥文件包括客户端密钥和客户端公钥,并且每个密钥文件对应一个服务器的互联网协议IP地址;

将客户端公钥在对应的服务器中配置为授权码(authorized_keys),由此建立客户端到服务端的信任关系。

在上述配置完成后,在每次连接服务器时,都无需再输入用户名、密码了。

步骤140,将所述上传文件根据所述路径列表上传到每个所述目标服务器的指定传输路径;

具体的,对于采用用户名密码进行验证的连接方式来说,可以直接按照路径列表中的服务器路径对选定的上传文件进行上传操作。

对于采用密钥验证的连接方式来说,在上传之前,还需要根据指定传输路径对应的目标服务器的客户端公钥,对上传文件进行加密操作。

步骤150,接收所述目标服务器发送的反馈信息,并生成反馈列表;

具体的,反馈列表包括所述反馈信息与所述目标服务器的对应关系。

在文件上传操作之后,会接收到每个目标服务器发送的反馈信息。反馈信息中包括上传文件是否上传成功的消息,以及发送该反馈信息的目标服务器的信息,如名称、IP地址等。

客户端在接收到各目标服务器发送的反馈信息后,生成反馈列表,并进行显示。

用户通过查看反馈列表即可获知所上传的多个目标服务器中,哪些上传成功了,哪些失败了。

在优选的方案中,如果上传失败,则在反馈列表中对上传失败的目标服务器的名称、传输路径和上传文件的信息进行显示。

并且,还可以通过设置,对上传失败的传输路径进行再次自动上传。比如在接收到所述上传失败信息后,在预设时间间隔之后,将上传失败的上传文件再次发送到上传失败的目标服务器的指定传输路径。

预设时间间隔可以根据需要设定,如设定为接收到上传失败信息之后的5秒或3秒。

应用本发明提供的向多个服务器同时上传文件的方法,可以基于客户端的管理范围,对管理范围内的任意服务器进行文件上传,具体可以涉及文件备份、项目发布、图片发布等等。通过本发明提供的方法,能够提高服务器文件管理的工作效率,简化日常系统维护的流程,大大减少了维护人员的工作量。

相应的,本发明实施例还提供了一种用以实现上述方法的系统,其结构可以如图2所示,包括:客户端1和多个服务器2a、2b……2n。

客户端1包括:

第一接收装置11,接收用户输入的选择指令;

解析单元12,根据所述选择指令确定需要进行上传的上传文件;

第二接收装置13,接收用户指令;

解析单元12,根据用户指令在多个服务器中确定文件上传的多个目标服务器(如选择2a、2b)及对应每个目标服务器的传输路径;

列表生成单元14,根据多个目标服务器及对应每个目标服务器的传输路径生成路径列表;

通信模块15,与多个目标服务器连接;并且将加密文件根据路径列表上传到每个所述目标服务器的指定传输路径;在上传后,目标服务器会反馈是否上传成功的反馈信息到通信模块15。

通信模块15将收到的反馈信息发送给列表生成单元14,由列表生成单元14生成反馈列表;反馈列表包括反馈信息与目标服务器的对应关系。

具体的,反馈信息可以包括上传成功信息和上传失败信息。

可以在客户端1内配置有处理模块16,在处理模块16内预先设置处理规则,如自动上传,并配置有预设时间。比如如果接收到上传失败的信息,则该信息会被发送到处理模块16,在接收到上传失败信息后,处理模块16在预设时间间隔之后,产生上传指令,通过通信模块15将上传失败的上传文件再次发送到上传失败的目标服务器的指定传输路径。

为保证服务器的安全性,要求客户端1与服务器进行连接的时候需要进行安全验证。

因此,客户端1还包括有密钥生成单元17,对连接的多个服务器生成多个密钥文件,每个密钥文件中包括客户端密钥和客户端公钥,每个密钥文件对应一个服务器的互联网协议IP地址。

服务器中需要包括有配置单元21,将客户端公钥在所对应的服务器中配置为授权码authorized_keys。

因此,在客户端1向服务器发出连接请求时,通过公钥和密钥,就可以建立双机之间信任关系,不需输入密码,就可以向服务器上传数据,并可以从服务器拷贝数据。

此外,服务器中还包括有存储器22、处理器23和通信端口24,用以实现与客户端1之间的数据传输、存储。

进一步的,客户端1还包括加密处理单元,根据指定传输路径对应的目标服务器的客户端公钥,对上传文件进行加密操作。

此外,客户端1与目标服务器之间的连接也可以以用户名密码验证的方式来实现。由于图2所示为以密钥进行验证为方案的系统结构图,因此本方案的模块在图2中未示出。

客户端1获取预先配置好的服务器连接信息;服务器连接信息中包括有服务器的IP地址,对应所述IP地址的用户名和密码;根据目标服务器的IP地址,将相对应的用户名和密码发送给所述目标服务器;

目标服务器在接受到用户名和密码后,进行验证,验证通过时返回的连接成功消息,即完成客户端1与目标服务器之间的连接。

当然,在此之前需要在客户端1内对目标服务器的用户名和密码进行配置存储。客户端1中可以包括有密码生成单元,对所述目标服务器的用户名和密码进行配置存储,在连接时通过调用生成服务器连接信息。

无论采用上述哪种方式连接,如果连接失败,会接收到目标服务器反馈的连接失败消息,客户端1中还包括有显示模块18,将通信模块15接收到的连接失败消息通过处理模块16进行处理,将其中携带的连接失败的目标服务器的名称、传输路径和上传文件的信息进行显示。

专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件来实现,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。具体地,所述运算和控制部分都可以通络逻辑硬件实现,其可以是使用集成电路工艺制造出来的逻辑集成电路,本实施例对此不作限定。

结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明实施例的保护范围,凡在本发明实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1