一种文件传输方法和管理服务器的制造方法

文档序号:7810862阅读:178来源:国知局
一种文件传输方法和管理服务器的制造方法
【专利摘要】本发明提供一种文件传输方法和管理服务器,其中方法包括:管理服务器接收客户端发送的文件请求报文,所述文件请求报文携带目的地址信息、以及将要获取的目标文件的文件信息;所述管理服务器根据所述文件信息,请求所述目的地址信息对应的第一虚拟机从文件服务器获取所述目标文件;所述管理服务器接收所述第一虚拟机发送的子文件,所述子文件是所述目标文件的其中一个文件部分,并将所述子文件发送至所述客户端。本发明实施例提高了文件传输效率。
【专利说明】一种文件传输方法和管理服务器

【技术领域】
[0001] 本发明涉及网络技术,特别涉及一种文件传输方法和管理服务器。

【背景技术】
[0002] 虚拟化技术是一种实现计算资源彼此隔离的技术,例如,服务器虚拟化技术是通 过专用的虚拟化软件(例如VMware)在一台物理服务器上虚拟出多台虚拟机(Virtual Machine,简称:VM),每台VM都独立运行,拥有自己的配置信息(该配置信息例如包括:操 作系统以及内存、网卡等虚拟硬件环境)。
[0003] 相关技术中也已经开始使用虚拟化技术来提供业务服务,例如,文件传输服务就 使用了上述的虚拟化技术。客户端向VM发送文件下载请求,VM根据该请求从文件服务器 获取客户端请求的文件,并将文件发送至客户端;有时出于各种原因例如为使得负载均衡, 需要进行虚拟机的迁移,即需要将客户端的文件传输服务转由另一个VM来执行,那么此时 原VM将断开与客户端的连接,等新VM配置完成并启动后,客户端再与新VM连接通过该新 VM获取文件,那么这个过程中将会造成文件传输业务的中断,使得文件传输的效率较低。


【发明内容】

[0004] 有鉴于此,本发明提供一种文件传输方法和管理服务器,以提高文件传输效率。
[0005] 具体地,本发明是通过如下技术方案实现的:
[0006] 第一方面,提供一种文件传输方法,包括:
[0007] 管理服务器接收客户端发送的文件请求报文,所述文件请求报文携带目的地址信 息、以及将要获取的目标文件的文件信息;
[0008] 所述管理服务器根据所述文件信息,请求所述目的地址信息对应的第一虚拟机从 文件服务器获取所述目标文件;
[0009] 所述管理服务器接收所述第一虚拟机发送的子文件,所述子文件是所述目标文件 的其中一个文件部分,并将所述子文件发送至所述客户端。
[0010] 可选的,所述方法还包括:所述管理服务器记录与所述子文件对应的传输位置信 息,所述传输位置信息用于表不所述目标文件的传输进度;在所述管理服务器将所述第一 虚拟机迁移至第二虚拟机时,所述管理服务器与所述第二虚拟机建立连接,并且根据当前 的传输位置信息,请求所述第二虚拟机从所述文件服务器继续获取所述目标文件中未获取 的文件部分。
[0011] 可选的,所述管理服务器接收客户端发送的文件请求报文之前,还包括:所述管理 服务器向虚拟交换机发送报文过滤规则,以使得所述虚拟交换机在从客户端接收到的文件 请求报文匹配所述报文过滤规则时,将所述文件请求报文转发至所述管理服务器。
[0012] 可选的,所述管理服务器请求所述目的地址信息对应的第一虚拟机从文件服务器 获取所述目标文件,包括:所述管理服务器将所述文件请求报文中包括的作为报文源端信 息的客户端标识,更改为用于标识所述管理服务器的服务器标识;所述管理服务器向所述 第一虚拟机发送更改报文源端信息后的所述文件请求报文,以使得所述第一虚拟机根据更 改报文源端信息后的所述文件请求报文获取所述目标文件的子文件,并根据所述服务器标 识将所述目标文件的子文件发送至所述管理服务器。
[0013] 可选的,所述管理服务器将所述子文件发送至所述客户端,包括:所述管理服务器 将所述子文件的文件数据携带在文件报文中,并且将所述文件报文的报文源端信息设置为 用于标识所述第一虚拟机的第一虚拟机标识;所述管理服务器将所述文件报文发送至所述 客户端。
[0014] 第二方面,提供一种管理服务器,包括:
[0015] 接收单元,用于接收客户端发送的文件请求报文,所述文件请求报文携带目的地 址信息、以及将要获取的目标文件的文件信息;以及,接收第一虚拟机发送的子文件,所述 子文件是所述目标文件的其中一个文件部分;
[0016] 发送单元,用于根据所述文件信息请求所述目的地址信息对应的第一虚拟机从文 件服务器获取所述目标文件;并将所述子文件发送至所述客户端。
[0017] 可选的,还包括:处理单元;所述处理单元,用于记录与所述子文件对应的传输位 置信息,所述传输位置信息用于表示所述目标文件的传输进度;以及,在所述管理服务器将 所述第一虚拟机迁移至第二虚拟机时,与所述第二虚拟机建立连接;所述发送单元,还用于 根据当前的传输位置信息,请求所述第二虚拟机从所述文件服务器继续获取所述目标文件 中未获取的文件部分。
[0018] 可选的,所述处理单元,还用于将所述文件请求报文中包括的作为报文源端信息 的客户端标识,更改为用于标识所述管理服务器的服务器标识,以使得所述第一虚拟机根 据所述服务器标识将所述目标文件的子文件发送至所述管理服务器。
[0019] 可选的,所述处理单元,还用于将所述目标文件的子文件的文件数据携带在文件 报文中,并且将所述文件报文的报文源端信息设置为用于标识所述第一虚拟机的第一虚拟 机标识;所述发送单元,具体用于将所述文件报文发送至所述客户端。
[0020] 可选的,所述发送单元,还用于在所述接收单元接收客户端发送的文件请求报文 之前,向虚拟交换机发送报文过滤规则,以使得所述虚拟交换机在从客户端接收到的文件 请求报文匹配所述报文过滤规则时,将所述文件请求报文转发至管理服务器。
[0021] 本发明实施例的文件传输方法和管理服务器,管理服务器与客户端之间建立连 接,由管理服务器执行文件请求、传送文件给客户端,这种方式使得即使发生了 VM的迁移, 也仅是管理服务器与VM之间的连接可能会中断,但是管理服务器与客户端的连接是保持 的,那么客户端就会感觉其文件传输业务的连接一直是连续的,未发生中断;VM的迁移也 不会如现有技术那样触发客户端侧重新执行连接的建立流程,节省了信令程序,从而提高 了文件传输效率。

【专利附图】

【附图说明】
[0022] 图1为本发明实施例提供的文件传输方法的可选应用场景示意图;
[0023] 图2为发明实施例提供的一种文件传输方法的流程示意图;
[0024] 图3为本发明实施例提供的另一种文件传输方法的信令示意图;
[0025] 图4为本发明实施例提供的一种管理服务器的结构示意图;
[0026] 图5为本发明实施例提供的另一种管理服务器的结构示意图。

【具体实施方式】
[0027] 本发明实施例提供了一种文件传输方法,以使得在虚拟机迁移的场景下提高文件 传输效率;参见图1,图1示例了一种可选的应用场景,该场景中包括了文件传输业务所涉 及到的一些设备,如下:
[0028] 文件服务器:用于存储文件,客户端(例如,某个用户所使用的电脑)想要获取某 个文件时,比如用户通过客户端上设置的下载软件想要获取某个PDF文档;那么这个文件 是存储在文件服务器的。
[0029] 虚拟机VM:图1中示例了两个物理服务器,分别是服务器A和服务器B,其中的服 务器A上设置有VM1,服务器B上设置有VM2和VM3,VM是通过在物理服务器上采用虚拟化 软件虚拟出的设备,各台VM都独立运行,拥有自己的操作系统、应用程序、内存、网卡等等。
[0030] 虚拟交换机VSwitch :执行与普通交换机类似的功能,例如转发报文,因此,虚拟 交换机与各个VM连接。
[0031] 智能管理中心(intelligence Management Center,IMC):可以将 IMC称为管理服 务器,该MC可以具有多种管理功能,其中一种管理功能例如是管理图1中所示的各个VM。 VM的配置信息(例如操作系统、内存、网卡等)可以是从MC下发的,并且存储在MC ;如果 新建一个VM,也是由MC来负责启动,下发配置信息。其中,在MC管理VM时,MC对应每 个VM有一个逻辑口(该逻辑口可以认为相当于VM的标识),MC将VM的配置信息通过该 VM对应的逻辑口下发到该VM。
[0032] 客户端:例如是,用户使用的电脑;其通过internet与虚拟交换机连接。
[0033] 客户端如果要进行文件传输,会通过虚拟交换机向VM1 (以VM1为例)发送文件请 求报文,携带客户端将要获取的目标文件对应的文件信息(该文件信息例如是,文件的存 储地址、或者文件名称等),该目标文件存储在文件服务器中。VM1根据该请求从文件服务 器获取到目标文件后反馈给客户端。
[0034] 那么本发明实施例的文件传输方法的方案思想是,截断上述VM1和客户端之间的 直接交互通信,由管理服务器MC执行"文件代答功能"。比如,在上面描述的客户端获取目 标文件的过程中,管理服务器截获客户端向VM1发送的文件请求报文后,由管理服务器向 VM1发送该请求,相当于"管理服务器代客户端请求文件";同理,VM1获取到文件后也是发 送给管理服务器,由管理服务器将文件发送至客户端,相当于"管理服务器代VM1反馈客户 端的文件",因此可以形象的称为"文件代答功能"。
[0035] 下面的各实施例将更加详细的描述本发明实施例的文件传输方法:
[0036] 实施例一
[0037] 图2为本发明实施例提供的一种文件传输方法的流程示意图,本实施例的方法是 由管理服务器来执行的,本实施例的管理服务器以MC为例,可以包括如下步骤 :
[0038] 201、管理服务器接收客户端发送的文件请求报文,该文件请求报文携带目的地址 信息、以及将要获取的目标文件的文件信息;
[0039] 其中,客户端发送的文件请求报文,实际上客户端是发往虚拟机的,以VM1为例, 客户端会在该文件请求报文中携带目的地址信息,例如上述的VM1的地址信息,以指示VM1 从文件服务器获取文件。而在本实施例中,该发往VM1的文件请求报文可以被虚拟交换机 (VSwitch)转发至管理服务器例如MC,该报文中携带目的地址信息(例如VM1的地址信 息)、以及将要获取的目标文件的文件信息(例如目标文件的地址信息、或者文件名称等)。
[0040] 可选的,如果要实现虚拟交换机将客户端发送的文件请求报文转发至IMC,可以预 先由IMC向虚拟交换机下发报文过滤规则,该报文过滤规则在虚拟交换机上例如以ACL的 形式存在;虚拟交换机在接收到的报文匹配该规则时,就会向IMC上报该报文。例如,如果 设置规则是"源IP地址是****的报文,转发至頂C",那么交换机将接收到的源IP地址为 ****的报文上送頂C,MC接收到该报文。
[0041] 202、管理服务器根据文件信息,请求目的地址信息对应的第一虚拟机,从文件服 务器获取目标文件;
[0042] 例如在本步骤中,頂C根据文件请求报文中携带的VM1的地址信息,请求VM1从文 件服务器获取报文中携带的文件信息对应的目标文件。
[0043] 可选的,IMC可以将虚拟交换机转发过来的客户端的文件请求报文,稍加改动后再 指示虚拟交换机发送至VM1,以使得VM1根据该报文从文件服务器获取目标文件。上述的稍 加改动的意思是,文件请求报文最初携带的作为报文源端信息的客户端标识,例如客户端 的IP地址,MC可以将该客户端标识修改为用于标识MC自己的服务器标识,比如MC自 己的IP地址,这样做的目的是使得VM1以为文件请求报文是由MC发送的,而不是客户端 发送,VM1反馈的文件才会发送至MC。
[0044] 203、管理服务器接收所述第一虚拟机发送的子文件,该子文件是目标文件的其中 一个文件部分;
[0045] 本实施例中,第一虚拟机从文件服务器获取目标文件时,可以采用文件传输协议 (File Transfer Protocol,FTP)的文件传输方式,将要下载的目标文件(或者文件压缩 包)划分成几个文件部分,每一个文件部分可以称为子文件,各个子文件可以分开传送,例 如,每一子文件采用一个线程进行下载,因此管理服务器在接收目标文件时也是接收子文 件。
[0046] 此外,如上所述的,管理服务器在202中请求VM1获取目标文件时,已经将报文中 的报文源端信息设置为頂C自己的标识,那么VM1就会认为是MC在请求文件,因此会在获 取到目标文件的子文件反馈至MC,而不是客户端。
[0047] 204、管理服务器将所述子文件发送至所述客户端。
[0048] 本步骤中,再由MC将目标文件的子文件返回至客户端。此外,管理服务器在将 子文件返回至客户端之前,也可以先将携带子文件的文件数据的文件报文的报文源端信息 设置为用于标识VM1的标识(例如,将该文件报文的源IP地址设置为第一虚拟机的IP地 址),使得从客户端看来,其本来请求的是向VM1请求报文,而现在也是由VM1来返回报文, 客户端是不会感知到MC的代答功能的,其仍然是认为与VM1直接交互。
[0049] 上述本实施例的文件传输方法,管理服务器与客户端之间建立连接,由管理服务 器执行文件请求、传送文件给客户端,这种方式使得即使发生了 VM的迁移,也仅是管理服 务器与VM之间的连接可能会中断,但是管理服务器与客户端的连接是保持的,那么客户端 就会感觉其文件传输业务的连接一直是连续的,未发生中断;VM的迁移也不会如现有技术 那样触发客户端侧重新执行连接的建立流程,节省了信令程序,从而提高了文件传输效率。
[0050] 实施例二
[0051] 图3为本发明实施例提供的另一种文件传输方法的信令示意图,本实施例示出了 在文件传输的过程中各设备之间的交互,并且本实施例以一种可选的传输方式为例,详细 描述了该文件传输方法,如图3所示,包括:
[0052] 301、MC向虚拟交换机发送报文过滤规则;
[0053] 其中,在虚拟交换机开始工作前,可以由MC向虚拟交换机下发报文过滤规则,以 用于虚拟交换机根据该规则将一些指定的报文上送至頂C。
[0054] 例如,虚拟交换机可能会接收到很多种类型的报文,而MC只想要虚拟交换机上 送其中的"文件传输业务"的报文,则会将该业务的报文所具有的特点对应的一些字段信息 设置在报文过滤规则中;比如,如果报文中的"源端口号"字段是"21",则表明该报文是FTP 业务报文,MC据此可以设置规则为"如果报文的源端口号字段的值是21,则上送"。
[0055] 又例如,頂C可以通过设置规则只对某些特定用户的报文进行过滤,比如对于IP 地址是****的客户端,MC想要虚拟交换机上送报文,那么可以设置规则为"如果报文中的 源IP地址是****,则上送"。
[0056] 通过上述设置,可以采用本发明实施例的文件传输方法,来保证一些重要的指定 用户或者特殊业务的业务使用,使得其业务不会发生中断。
[0057] 302、虚拟交换机接收客户端发送的文件请求报文;
[0058] 其中,该文件请求报文携带目的地址信息、以及将要获取的目标文件的文件信息; 该目的地址信息例如是第一虚拟机的地址信息,该第一虚拟机例如是图1中所示的VM1,该 文件信息例如是文件地址或者文件名称等。
[0059] 303、虚拟交换机将报文转发至MC ;
[0060] 其中,虚拟交换机在从客户端接收到文件请求报文后,将根据报文过滤规则来查 看报文是否与该规则匹配;例如查看报文中的源IP地址是否是规则中设置的IP地址。如 果匹配报文过滤规则,则虚拟交换机将文件请求报文转发至管理服务器。
[0061] 304、MC应答报文,建立与客户端的连接;
[0062] 其中,MC在接收到文件请求报文后,可以向客户端返回应答,建立与客户端的连 接;这里的连接流程当然也是经过虚拟交换机进行的,通过连接流程IMC可以与客户端协 商一些通信参数,例如,在本实施例的文件传输业务中,可以协商当MC经过某个时间段 (例如,1小时)不向客户端传送文件时,两者可以断开连接。
[0063] 305、MC对文件请求报文进行处理;
[0064] 本步骤中,IMC可以将报文中的作为报文源端信息的客户端标识,更改为标识IMC 的服务器标识。这里的客户端标识或服务器标识,可以包括IP地址和端口号。如下:
[0065] MC可以将报文中的源IP地址进行修改,如果将客户端对应的源IP地址称为第一 源IP地址,将MC自己的IP地址称为第二IP地址,那么就是将第一源IP地址更改为第二 IP地址。
[0066] 此外,报文中的源端口号,在处理之前是21,可以将其更改为MC对应的端口号 2000。并且,MC还可以通过建立表项来存储这些信息,比如MC在将客户端的IP地址更 改为自己的IP地址后,还需要将客户端对应的IP地址也记录下来,以用于在后续给客户端 返回文件时使用。
[0067] 306、MC将向VM1请求获取目标文件;
[0068] 例如,MC可以根据客户端发送的文件请求报文中携带的VM1的地址信息,向VM1 发送获取目标文件的请求,该请求中携带目标文件的文件信息,并且,经过在305中的处 理,该请求的源地址也已经是MC的地址,这样VM1就会认为是MC请求获取目标文件。
[0069] 307、VM1从文件服务器获取文件;
[0070] 其中,VM1根据文件信息获取文件。本实施例中,可以采用文件传输协议(File Transfer Protocol,FTP)方式的文件传输,将要下载的目标文件(或者文件压缩包)划分 成几个文件部分,每一个文件部分可以称为子文件,各个子文件可以分开传送,例如,每一 子文件采用一个线程进行下载。
[0071] 308、VM1将文件发送至MC ;
[0072] 其中,VM1根据在306中请求文件的报文中携带的MC的IP地址(即第二源IP地 址),将从文件服务器获取的文件发送至IMC。在发送文件时,可以是将各个子文件逐个发 送,形象的说,也就是可以将目标文件一段一段地逐步发送至MC。
[0073] 309、MC重新组装报文;
[0074] 本步骤中,MC在接收到VM1发送的子文件后,将记录子文件对应的传输位置信 息,该传输位置信息用于表示目标文件的传输进度;例如,目标文件总共是320k,那么在接 收到第一个子文件时,頂C收到了该目标文件的其中50k,可以记录传输位置信息是"50k" 对应的位置,当接收到第二个子文件时,頂C总共收到了该目标文件中的100k,则记录传输 位置信息是"l〇〇k"对应的位置。以上只是举例,具体实施中可能数值与上述不同,但需要 说明的是,记录传输位置信息,是用于记录该目标文件传输到哪个位置了(或者称为断点 位置)。
[0075] IMC可以通过表项来记录为客户端下载文件时的信息对应关系,如表1 :
[0076]

【权利要求】
1. 一种文件传输方法,其特征在于,包括: 管理服务器接收客户端发送的文件请求报文,所述文件请求报文携带目的地址信息、 以及将要获取的目标文件的文件信息; 所述管理服务器根据所述文件信息,请求所述目的地址信息对应的第一虚拟机从文件 服务器获取所述目标文件; 所述管理服务器接收所述第一虚拟机发送的子文件,所述子文件是所述目标文件的其 中一个文件部分,并将所述子文件发送至所述客户端。
2. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 所述管理服务器记录与所述子文件对应的传输位置信息,所述传输位置信息用于表示 所述目标文件的传输进度; 在所述管理服务器将所述第一虚拟机迁移至第二虚拟机时,所述管理服务器与所述第 二虚拟机建立连接,并且根据当前的传输位置信息,请求所述第二虚拟机从所述文件服务 器继续获取所述目标文件中未获取的文件部分。
3. 根据权利要求1所述的方法,其特征在于,所述管理服务器接收客户端发送的文件 请求报文之前,还包括: 所述管理服务器向虚拟交换机发送报文过滤规则,以使得所述虚拟交换机在从客户端 接收到的文件请求报文匹配所述报文过滤规则时,将所述文件请求报文转发至所述管理服 务器。
4. 根据权利要求1所述的方法,其特征在于,所述管理服务器请求所述目的地址信息 对应的第一虚拟机从文件服务器获取所述目标文件,包括: 所述管理服务器将所述文件请求报文中包括的作为报文源端信息的客户端标识,更改 为用于标识所述管理服务器的服务器标识; 所述管理服务器向所述第一虚拟机发送更改报文源端信息后的所述文件请求报文,以 使得所述第一虚拟机根据更改报文源端信息后的所述文件请求报文获取所述目标文件的 子文件,并根据所述服务器标识将所述目标文件的子文件发送至所述管理服务器。
5. 根据权利要求1所述的方法,其特征在于,所述管理服务器将所述子文件发送至所 述客户端,包括: 所述管理服务器将所述子文件的文件数据携带在文件报文中,并且将所述文件报文的 报文源端信息设置为用于标识所述第一虚拟机的第一虚拟机标识; 所述管理服务器将所述文件报文发送至所述客户端。
6. -种管理服务器,其特征在于,包括: 接收单元,用于接收客户端发送的文件请求报文,所述文件请求报文携带目的地址信 息、以及将要获取的目标文件的文件信息;以及,接收第一虚拟机发送的子文件,所述子文 件是所述目标文件的其中一个文件部分; 发送单元,用于根据所述文件信息请求所述目的地址信息对应的第一虚拟机从文件服 务器获取所述目标文件;并将所述子文件发送至所述客户端。
7. 根据权利要求6所述的服务器,其特征在于,还包括:处理单元; 所述处理单元,用于记录与所述子文件对应的传输位置信息,所述传输位置信息用于 表示所述目标文件的传输进度;以及,在所述管理服务器将所述第一虚拟机迁移至第二虚 拟机时,与所述第二虚拟机建立连接; 所述发送单元,还用于根据当前的传输位置信息,请求所述第二虚拟机从所述文件服 务器继续获取所述目标文件中未获取的文件部分。
8. 根据权利要求7所述的服务器,其特征在于, 所述处理单元,还用于将所述文件请求报文中包括的作为报文源端信息的客户端标 识,更改为用于标识所述管理服务器的服务器标识,以使得所述第一虚拟机根据所述服务 器标识将所述目标文件的子文件发送至所述管理服务器。
9. 根据权利要求7所述的服务器,其特征在于, 所述处理单元,还用于将所述目标文件的子文件的文件数据携带在文件报文中,并且 将所述文件报文的报文源端信息设置为用于标识所述第一虚拟机的第一虚拟机标识; 所述发送单元,具体用于将所述文件报文发送至所述客户端。
10. 根据权利要求6所述的服务器,其特征在于, 所述发送单元,还用于在所述接收单元接收客户端发送的文件请求报文之前,向虚拟 交换机发送报文过滤规则,以使得所述虚拟交换机在从客户端接收到的文件请求报文匹配 所述报文过滤规则时,将所述文件请求报文转发至管理服务器。
【文档编号】H04L29/08GK104158868SQ201410384681
【公开日】2014年11月19日 申请日期:2014年8月6日 优先权日:2014年8月6日
【发明者】徐燕成, 吴文欢 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1