本发明涉及计算机技术领域,具体涉及一种文件传输方法、装置和系统。
背景技术:
随着一些基于互联网的业务国际化进程加快,业务也趋向多样化部署,除了自建国内外机房,国内外公有云等环境的部署也逐渐成为主流方案。海量资源、全球化场景下,跨云资源管理也给运维带来很大的挑战。特别是在业务网络环境复杂的情况下,选择常规的结构上符合典型的C/S(Client/Server,客户机和服务器)结构的文件传输方案,普遍存在传输速度慢、传输易中断以及传输效率低等问题。
目前的技术中,也存在通过BitTorrent Sync传输文件的方案,该方案以P2P(Peer to Peer,对等网络)方式传输文件,传输速度能够得到提升,且不易中断。其中,BitTorrent Sync是BitTorrent公司推出的同步应用软件,允许人们通过BT(BitTorrent,比特流)协议在多点(即多台设备)之间进行文件同步。但是,BitTorrent Sync的客户端部署在所有主机上,在任意一个BitTorrent Sync客户端同步一个文件夹,文件夹中的文件会默认使用BT方式同步到其他所有BitTorrent Sync客户端上。
因此,通过BitTorrent Sync传输文件的方案,会导致每次文件同步时,不需要该文件的节点也会参与下载该文件,浪费流量和宽带资源。
技术实现要素:
有鉴于此,本发明实施例提供一种文件传输方法、装置和系统,能够实现待同步文件的定向精确传输,从而有效节省流量和宽带资源。
为实现上述目的,本发明实施例提供如下技术方案:
一种文件传输方法,应用于文件传输系统中的管控服务器集群,所述文件传输系统包括业务服务器、与所述业务服务器通过内网相连接的代理服务器和与所述代理服务器通过公网或内网相连接的所述管控服务器集群,所述方法包括:
将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器由所述第一识别信息和所述第二识别信息确定文件传输类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议按照与所述文件传输类型相对应的传输路径将待同步文件传至所述第二代理服务器;所述同步文件指令包括所述待同步文件的识别信息;所述第一业务服务器预先存储有所述待同步文件;所述预设协议包括BT协议;
将下载指令和所述第二识别信息发送至第二代理服务器,触发所述第二代理服务器将所述下载指令下发至所述第二业务服务器,以使所述第二业务服务器以所述预设协议从所述第二代理服务器下载所述待同步文件;所述下载指令包括待同步文件的识别信息。
优选的,所述第一识别信息和所述第二识别信息各自包括所属区域和业务标识信息,所述将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器由所述第一识别信息和所述第二识别信息确定文件传输类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议按照与所述文件传输类型相对应的传输路径将待同步文件传至所述第二代理服务器,包括:
将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器确定满足第一预设条件时文件传输类型为第一类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议将待同步文件传至所述第一代理服务器;其中,所述第一类型为同一业务同一区域内文件传输,所述第一预设条件为所述第一识别信息和所述第二识别信息中的所属区域相同且业务标识信息相同;
所述将下载指令和所述第二识别信息发送至第二代理服务器,触发所述第二代理服务器将所述下载指令下发至所述第二业务服务器,以使所述第二业务服务器以预设协议从所述第二代理服务器下载所述待同步文件,包括:
将下载指令和所述第二识别信息发送至所述第一代理服务器,触发所述第一代理服务器将所述下载指令下发至所述第二业务服务器,以使所述第二业务服务器以预设协议从所述第一代理服务器下载所述待同步文件。
优选的,所述第一识别信息和所述第二识别信息各自包括所属区域和业务标识信息,所述将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器由所述第一识别信息和所述第二识别信息确定文件传输类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议按照与所述文件传输类型相对应的传输路径将待同步文件传至所述第二代理服务器,包括:
将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器确定满足第二预设条件时文件传输类型为第二类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议将待同步文件经由第一转发服务器传至第二代理服务器;其中,所述第二类型为同一业务跨区域文件传输,所述第二预设条件为所述第一识别信息和所述第二识别信息中的所属区域不同而业务标识信息相同;所述第一转发服务器为记录有所述第二代理服务器识别信息的所述第一代理服务器,或者所述管控服务器集群中记录有所述第二代理服务器识别信息的任一管控服务器。
优选的,所述第一识别信息和所述第二识别信息各自包括所属区域和业务标识信息,所述将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器由所述第一识别信息和所述第二识别信息确定文件传输类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议按照与所述文件传输类型相对应的传输路径将待同步文件传至所述第二代理服务器,包括:
将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器确定满足第三预设条件时文件传输类型为第三类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议将待同步文件经由第二转发服务器传至第二代理服务器;其中,所述第三类型为跨业务文件传输,所述第三预设条件为所述第一识别信息和所述第二识别信息中的业务标识信息不同;所述第二转发服务器为所述管控服务器集群中记录有所述第二代理服务器识别信息的任一管控服务器。
优选的,还包括:
实时接收并存储各区域内各业务对应的代理服务器发送的代理服务器识别信息,所述代理服务器识别信息包括所属区域、业务标识信息和IP地址。
优选的,还包括:
若持续预设时间未接收到第三代理服务器发送的代理服务器识别信息,删除已存储的所述第三代理服务器的代理服务器识别信息;所述第三代理服务器为各区域内各业务对应的代理服务器中的任一代理服务器。
优选的,所述预设协议还包括备用协议,所述备用协议包括TCP和/或UDP,则所述预设协议中启用各协议的优先级从高到底依次为所述BT协议和备用协议。
一种文件传输装置,应用于文件传输系统中的管控服务器集群,所述文件传输系统包括业务服务器、与所述业务服务器通过内网相连接的代理服务器和与所述代理服务器通过公网或内网相连接的所述管控服务器集群,所述装置包括:
第一发送模块,用于将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器由所述第一识别信息和所述第二识别信息确定文件传输类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议按照与所述文件传输类型相对应的传输路径将待同步文件传至所述第二代理服务器;所述同步文件指令包括所述待同步文件的识别信息;所述第一业务服务器预先存储有所述待同步文件;所述预设协议包括BT协议;
第二发送模块,用于将下载指令和所述第二识别信息发送至第二代理服务器,触发所述第二代理服务器将所述下载指令下发至所述第二业务服务器,以使所述第二业务服务器以所述预设协议从所述第二代理服务器下载所述待同步文件;所述下载指令包括待同步文件的识别信息。
优选的,所述第一识别信息和所述第二识别信息各自包括所属区域和业务标识信息,所述第一发送模块包括:
第一发送单元,用于将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器确定满足第一预设条件时文件传输类型为第一类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议将待同步文件传至所述第一代理服务器;其中,所述第一类型为同一业务同一区域内文件传输,所述第一预设条件为所述第一识别信息和所述第二识别信息中的所属区域相同且业务标识信息相同;
所述第二发送模块包括:
第二发送单元,用于将下载指令和所述第二识别信息发送至所述第一代理服务器,触发所述第一代理服务器将所述下载指令下发至所述第二业务服务器,以使所述第二业务服务器以预设协议从所述第一代理服务器下载所述待同步文件。
优选的,所述第一识别信息和所述第二识别信息各自包括所属区域和业务标识信息,所述第一发送模块包括:
第三发送单元,用于将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器确定满足第二预设条件时文件传输类型为第二类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议将待同步文件经由第一转发服务器传至第二代理服务器;其中,所述第二类型为同一业务跨区域文件传输,所述第二预设条件为所述第一识别信息和所述第二识别信息中的所属区域不同而业务标识信息相同;所述第一转发服务器为记录有所述第二代理服务器识别信息的所述第一代理服务器,或者所述管控服务器集群中记录有所述第二代理服务器识别信息的任一管控服务器。
优选的,所述第一识别信息和所述第二识别信息各自包括所属区域和业务标识信息,所述第一发送模块包括:
第四发送单元,用于将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器确定满足第三预设条件时文件传输类型为第三类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议将待同步文件经由第二转发服务器传至第二代理服务器;其中,所述第三类型为跨业务文件传输,所述第三预设条件为所述第一识别信息和所述第二识别信息中的业务标识信息不同;所述第二转发服务器为所述管控服务器集群中记录有所述第二代理服务器识别信息的任一管控服务器。
优选的,还包括:
存储模块,用于实时接收并存储各区域内各业务对应的代理服务器发送的代理服务器识别信息,所述代理服务器识别信息包括所属区域、业务标识信息和IP地址。
优选的,还包括:
更新模块,用于若持续预设时间未接收到第三代理服务器发送的代理服务器识别信息,删除所述存储模块已存储的所述第三代理服务器的代理服务器识别信息;所述第三代理服务器为各区域内各业务对应的代理服务器中的任一代理服务器。
优选的,所述预设协议还包括备用协议,所述备用协议包括TCP和/或UDP,则所述预设协议中启用各协议的优先级从高到底依次为所述BT协议和备用协议。
一种文件传输系统,包括:
业务服务器,与所述业务服务器通过内网相连接的代理服务器,以及与所述代理服务器通过公网或内网相连接的管控服务器集群;
所述管控服务器集群用于:将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器由所述第一识别信息和所述第二识别信息确定文件传输类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议按照与所述文件传输类型相对应的传输路径将待同步文件传至所述第二代理服务器;所述同步文件指令包括所述待同步文件的识别信息;所述第一业务服务器预先存储有所述待同步文件;所述预设协议包括BT协议;将下载指令和所述第二识别信息发送至第二代理服务器,触发所述第二代理服务器将所述下载指令下发至所述第二业务服务器,以使所述第二业务服务器以所述预设协议从所述第二代理服务器下载所述待同步文件;所述下载指令包括待同步文件的识别信息。
优选的,所述管控服务器集群包括:
管控服务器区域子集群;
所述管控服务器区域子集群与所述管控服务器区域子集群独立匹配的代理服务器相连接;
所述管控服务器区域子集群之间通过内网或公网相连接。
优选的,所述管控服务器集群还用于:
实时接收并存储各区域内各业务对应的代理服务器发送的代理服务器识别信息,所述代理服务器识别信息包括所属区域、业务标识信息和IP地址。
优选的,所述管控服务器集群还用于:
若持续预设时间未接收到第三代理服务器发送的代理服务器识别信息,删除已存储的所述第三代理服务器的代理服务器识别信息;所述第三代理服务器为各区域内各业务对应的代理服务器中的任一代理服务器。
优选的,所述预设协议还包括备用协议,所述备用协议包括TCP和/或UDP,则所述预设协议中启用各协议的优先级从高到底依次为所述BT协议和备用协议。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种文件传输方法、装置和系统。本发明提供的技术方案,应用于文件传输系统中的管控服务器集群,该文件传输系统包括业务服务器、与所述业务服务器通过内网相连接的代理服务器和与所述代理服务器通过公网或内网相连接的所述管控服务器集群,具体的,管控服务器集群首先将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器由所述第一识别信息和所述第二识别信息确定文件传输类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议按照与所述文件传输类型相对应的传输路径将待同步文件传至所述第二代理服务器,其中,所述同步文件指令包括所述待同步文件的识别信息,所述第一业务服务器预先存储有所述待同步文件,所述预设协议包括BT协议,然后将下载指令和所述第二识别信息发送至第二代理服务器,触发所述第二代理服务器将所述下载指令下发至所述第二业务服务器,以使所述第二业务服务器以所述预设协议从所述第二代理服务器下载所述待同步文件;所述下载指令包括待同步文件的识别信息。也就是说,本发明提供的技术方案,通过管控服务器集群的控制,能够实现定向传输待同步文件,即能够将待同步文件定向传输至需要同步该待同步文件的位置,不会额外同步到其他位置,从而实现待同步文件的定向精确传输,能够有效节省流量和宽带资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种文件传输系统的结构图;
图2为本发明实施例提供的另外一种文件传输系统的结构图;
图3为本发明实施例提供的一种文件传输方法的信令流程图;
图4为本发明实施例提供的文件传输方法的另一信令流程图;
图5为本发明实施例提供的文件传输方法的另一信令流程图;
图6为本发明实施例提供的文件传输方法的流程图;
图7为本发明实施例提供的文件传输装置的结构框图;
图8为本发明实施例提供的管控服务器集群中管控服务器的硬件结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种文件传输系统的结构图,本发明实施例提供的文件传输方法可基于图1所示系统进行,参照图1,该系统可以包括:业务服务器11,与所述业务服务器11通过内网相连接的代理服务器12,以及与所述代理服务器12通过公网或内网相连接的管控服务器集群13;
所述管控服务器集群13用于:将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器由所述第一识别信息和所述第二识别信息确定文件传输类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议按照与所述文件传输类型相对应的传输路径将待同步文件传至所述第二代理服务器;所述同步文件指令包括所述待同步文件的识别信息;所述第一业务服务器预先存储有所述待同步文件;所述预设协议包括BT协议;将下载指令和所述第二识别信息发送至第二代理服务器,触发所述第二代理服务器将所述下载指令下发至所述第二业务服务器,以使所述第二业务服务器以所述预设协议从所述第二代理服务器下载所述待同步文件;所述下载指令包括待同步文件的识别信息。
可选的,所述业务服务器11是部署了Agent(智能体)的对应于指定业务的业务服务器。其中,Agent(智能体)为用于执行文件下载、上传以及脚本任务执行的软件实体。也就是说,所述业务服务器11执行的文件下载、上传以及脚本任务执行的相关操作,皆借助于部署在所述业务服务器11上的Agent来实现。
可选的,所述代理服务器12上部署了BT File Server(BT文件服务器)其中,BT File Server为运行在所述代理服务器12上的软件实体。具体的,业务服务器11将待同步文件上传至代理服务器的BT File Server。进一步的,所述代理服务器12上可以部署多个BT File Server,这多个BT File Server便可构成一个小集群,用于实现服务高可用。可选的,所述代理服务器12可以包括一个或者至少两个物理机,每个物理机上可以部署一个BT File Server,那么,若所述代理服务器12包括至少两个物理机,则所述代理服务器12便部署了至少两个BT File Server。
可选的,如图1所示,可以在不同的区域部署同一业务的业务服务器,以及与该业务服务器相匹配的代理服务器;当然,可以理解的是,在同一区域也可以部署多个业务的业务服务器,以及与业务服务器相匹配的代理服务器;其中,不同业务的业务服务器匹配有不同的代理服务器,同一业务可以设置多台业务服务器,同一区域同一业务的业务服务器匹配同一个的代理服务器。
可选的,管控服务器集群13可以包括一个或多个管控服务器,管控服务器上部署有BT File Server,用于与代理服务器的BT File Server进行文件传递,或者内部不同管控服务器上的BT File Server之间进行文件传递。
为了使管控服务器集群进行文件传输控制时,更加快捷和可靠,管控服务器集群13可以包括分别设置在不同区域的管控服务器区域子集群,所述管控服务器区域子集群包括一个或多个管控服务器,用于管理一个或者多个业务服务器;当然,同一区域也可以设置多个管控服务器区域子集群,本发明对此并不限定。
图2为本发明实施例提供的另外一种文件传输系统的结构图,本发明实施例提供的文件传输方法也可基于图2所示系统进行,参照图2,该系统可以包括:业务服务器11,与所述业务服务器11通过内网相连接的代理服务器12,以及与所述代理服务器12通过公网或内网相连接的管控服务器集群13;
其中,管控服务器集群13包括管控服务器区域子集群131,管控服务器区域子集群131之间通过内网或公网相连接。
可选的,一个区域对应一个管控服务器区域子集群131,管控服务器区域子集群131之间通过内网或者公网以预先设定的方式相连接,用以实现不同管控服务器区域子集群131之间的信息交互。如图2所示,可选的,1个管控服务器区域子集群131独立负责(匹配)一个区域的代理服务器12,即所述管控服务器区域子集群131与所述管控服务器区域子集群131独立匹配的代理服务器12相连接,同时,可选的,该管控服务器区域子集群131一般部署在所负责的区域,当然,也可以部署在其他区域。比如,图中A区域、B区域、C区域和D区域可以分别为大陆区域、亚太区域、美洲区域和欧洲区域;对应的,这四个区域各自连接的管控服务器区域子集群131可以分别部署在a子区域(如深圳市)、b子区域(如香港特别行政区)、c子区域(如美国)和d子区域(如德国),需要说明的是,图2所提供的方式,仅是一种示例,基于图2所提供的方式,本领域技术人员可以很容易想到其他方式,这些都应当属于本发明的保护范围。
需要说明的是,若同一区域设置有多个管控服务器区域子集群,则该多个管控服务器区域子集群协同负责(匹配)该区域的代理服务器。
在本发明实施例中,管控服务器集群首先将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器由所述第一识别信息和所述第二识别信息确定文件传输类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议按照与所述文件传输类型相对应的传输路径将待同步文件传至所述第二代理服务器,其中,所述同步文件指令包括所述待同步文件的识别信息,所述第一业务服务器预先存储有所述待同步文件,所述预设协议包括BT协议,然后将下载指令和所述第二识别信息发送至第二代理服务器,触发所述第二代理服务器将所述下载指令下发至所述第二业务服务器,以使所述第二业务服务器以所述预设协议从所述第二代理服务器下载所述待同步文件;所述下载指令包括待同步文件的识别信息。也就是说,本发明实施例中,通过管控服务器集群的控制,能够实现定向传输待同步文件,即能够将待同步文件定向传输至需要同步(该待同步文件)的位置,不会额外同步到其他位置,从而实现待同步文件的定向精确传输,能够有效节省流量和宽带资源。
另外,本发明实施例中,代理服务器设置在上层的管控服务器集群和下层的业务服务器中间,代理服务器与管控服务器集群之间通过公网或内网连接,与业务服务器通过内网连接,从而使业务服务器并不暴露在公网环境下,使业务运行更加安全和可靠。
可选的,本发明实施例中,进行文件传输时的传输协议,即所述预设协议还包括备用协议,所述备用协议包括TCP(Transmission Control Protocol,传输控制协议)和/或UDP(User Datagram Protocol,用户数据报协议),则所述预设协议中启用各协议的优先级从高到底依次为BT协议和备用协议。其中,若所述备用协议中包括TCP和UDP,则二者启用的优先级可以相同,也可以不同;若二者启用的优先级相同,则启用备用协议时,任选二者中的一种协议进行文件传输;若二者启用的优先级不同,则启用备用协议时,按照优先级从高到底的顺序,优先启用优先级高的传输协议。需要说明的是,本实施例提供的技术方案,优先启用BT协议传输文件,当BT协议传输速度低于预设阈值时,才切换为备用协议。
可选的,所述管控服务器集群13还用于:
实时接收并存储各区域内各业务对应的代理服务器发送的代理服务器识别信息,所述代理服务器识别信息包括所述代理服务器所属区域、业务标识信息和IP地址。
可选的,所述管控服务器集群13实时接收并存储各区域内各业务对应的代理服务器定期发送的代理服务器识别信息。
可选的,所述代理服务器12上部署了BT File Server,则所述代理服务器识别信息还包括所述BT File Server端口信息,进一步的,所述代理服务器识别信息具体为部署在所述代理服务器12上的BT File Server的识别信息,包括:(代理服务器的)所属区域、业务标识信息、(代理服务器接入的)IP地址和BT File Server端口信息。具体的,若所述代理服务器12上部署了至少两个BT File Server,且该至少两个BT File Server分别部署在不同的物理机上,那么该至少两个BT File Server(的识别信息)各自对应的公网或内网IP是不同的,各自对应的所属区域相同,各自对应的业务标识信息相同,而各自对应的BT File Server端口信息可以相同也可以不同。
具体的,所述管控服务器集群13实时接收并存储各区域内各业务对应的代理服务器发送的代理服务器识别信息,以便能够通过汇聚和计算得到文件的传输路径。
可选的,若管控服务器集群13包括管控服务器区域子集群131,管控服务器区域子集群131之间通过内网或公网相连接,则各管控服务器区域子集群131实时接收并存储本管控服务器区域子集群131所匹配(负责的)区域内各业务对应的代理服务器发送的代理服务器识别信息,然后,各管控服务器区域子集群131通过汇聚便能够得到各区域内各业务对应的代理服务器发送的代理服务器识别信息,基于得到的这些信息,在需要传输文件时,便能够计算得到传输路径。
可选的,所述管控服务器集群13还用于:
若持续预设时间未接收到第三代理服务器发送的代理服务器识别信息,删除已存储的所述第三代理服务器的代理服务器识别信息;所述第三代理服务器为各区域内各业务对应的代理服务器中的任一代理服务器。
可选的,若管控服务器集群13包括管控服务器区域子集群131,管控服务器区域子集群131之间通过内网或公网相连接,则,若任一管控服务器区域子集群131持续预设时间未接收到本管控服务器区域子集群131所匹配(负责的)区域内任一代理服务器发送的代理服务器识别信息,便删除已存储的该代理服务器的代理服务器识别信息。
可选的,具体的实施方案,可以将管控服务器集群13内的BT File Server分为中转BT File Server和管控BT File Server,则管控服务器集群13可以采用如下方式接收并存储各区域内各业务对应的代理服务器发送的代理服务器识别信息:
代理服务器(即业务环境下)的BT File Server(下称业务BT File Server)至少与一个管控服务器集群中的中转BT File Server相连,管控服务器集群的中转BT File Server实时接收业务BT File Server定期(如每隔5秒)上报的自身的识别信息(包括所属区域、业务标识信息、IP地址和业务BT File Server端口信息),把收到的识别信息中的公网或内网IP(即业务BT File Server所在的代理服务器接入的公网或内网IP)替换为自己的IP,并至少上报到一个管控BT File Server上(可选的,至少配置两个管控BT File Server),并把收到的业务BT File Server的识别信息存储到内存中,如果持续预设时间没有再接收到对应的上报信息(即该业务BT File Server的识别信息),则从内存中删除该业务BT File Server的识别信息;
管控BT File Server接收来自中转BT File Server的上报,也同时可以接受来自业务BT File Server的上报,也会把收到的业务BT File Server的识别信息保存到内存中,如果持续预设时间没有再接收到对应的上报信息(即该业务BT File Server的识别信息),则从内存中删除该业务BT File Server的识别信息;
其中,管控BT File Server可以部署多个,基于上述业务BT File Server的识别信息的上报方式,并不是每一个管控BT File Server都会直接存储所有业务BT File Server的识别信息,但是所有管控BT File Server和所有中转BT File Server进行信息汇聚之后,便能够得到所有业务BT File Server的识别信息。可以理解的是,由于业务BT File Server的识别信息包括(代理服务器的)所属区域、业务标识信息(即业务ID)、IP地址和BT File Server端口信息,因此,通过得到的业务BT File Server的识别信息,便能够确定业务文件的传输路径,即业务文件的链路信息。
可选的,根据业务文件的链路信息,业务文件的转发规则如下:
业务BT File Server只转发本业务的文件,如果自己维护的链路信息中找不到目标链路,则(将文件和目标业务服务器的识别信息)转发到配置的中转BT File Server;可选的,目标业务服务器部署了Agent,则目标业务服务器的识别信息便是该Agent的识别信息;其中,该目标服务器是指需下载文件的业务服务器;
中转BT File Server集群中的中转BT File Server收到文件和目标业务服务器的识别信息时:
如果是业务BT File Server转发的文件和目标业务服务器的识别信息,若基于目标业务服务器的识别信息能够找到下级对应的业务链路,即能够找到与目标业务服务器相匹配的业务BT File Server,则直接将文件转发到该业务链路对应的业务BT File Server;若没有找到,则将文件和目标业务服务器的识别信息转发到管控BT File Server;
管控BT File Server接收到文件和目标业务服务器的识别信息时,如果在自己内存找到业务链路信息,则直接转发到下一级的中转BT File Server或者业务BT File Server。如果找不到业务链路信息,则转发到其它管控BT File Server上;如果整个管控BT File Server集群都没有发现业务链路信息时,直接丢弃文件和目标业务服务器的识别信息;
当任一中转BT File Server接收到管控BT File Server转发的文件和目标业务服务器的识别信息时,如果找到下级对应的业务链路,则将文件转发到该业务链路对应的业务BT File Server上;如果没有找到,则丢弃文件和目标业务服务器的识别信息,不进行BT文件传输。
基于图1所示系统,图3示出了本发明实施例提供的一种文件传输方法的信令流程,参照图3,该流程可以包括:
步骤S101、管控服务器集群向第一代理服务器发送同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息;
具体的,所述同步文件指令包括待同步文件的信息。
可选的,所述第一识别信息包括所属区域和业务标识信息,其中,由于所述第一识别信息为所述第一业务服务器的识别信息,因此,所述第一识别信息中的所述区域是指所述第一业务服务器所属于的区域,业务标识信息是指第一业务服务器所对应业务的标识信息。可选的,所述第二识别信息为所述第二业务服务器的识别信息,包括与第二业务服务器分别相对应的所属区域和业务标识信息。
步骤S102、第一代理服务器将所述同步文件指令下发至与所述第一识别信息相对应的所述第一业务服务器;
可选的,所述第一识别信息还包括内网IP地址,该内网IP地址是指所述第一业务服务器的内网IP地址。具体的,所述第一代理服务器由所述第一识别信息中第一业务服务器的内网IP地址能够锁定第一业务服务器,将所述同步文件指令下发至第一业务服务器。
步骤S103、第一业务服务器以预设协议将待同步文件上传至所述第一代理服务器;
具体的,同步文件指令包括所述待同步文件的识别信息,第一业务服务器由所述待同步文件的识别信息能够确定所述待同步文件。可以理解的是,第一业务服务器预先存储有所述待同步文件。
具体的,所述预设协议包括BT协议,相应的,所述第一代理服务器上部署有BT File Server,也就是说,第一业务服务器以BT协议将待同步文件上传至所述第一代理服务器上的BT File Server。
步骤S104、管控服务器集群将下载指令和所述第二识别信息发送至第一代理服务器;
步骤S105、第一代理服务器将所述下载指令下发至与所述第二识别信息相对应第二业务服务器;
可选的,所述第二识别信息还包括内网IP地址,该内网IP地址是指所述第二业务服务器的内网IP地址。具体的,所述第一代理服务器由所述第二识别信息中第二业务服务器的内网IP地址能够锁定第二业务服务器,将所述下载指令下发至第二业务服务器。
具体的,所述下载指令包括所述待下载文件的识别信息。
步骤S106、第二业务服务器向第一代理服务器发送对所述待下载文件的下载请求;
具体的,所述下载请求包括所述待下载文件的识别信息。
步骤S107、第一代理服务器经比对,确定所述第一识别信息和所述第二识别信息中的所属区域相同且业务标识信息相同时,响应所述下载请求,以所述预设协议向第二业务服务器发送所述待下载文件;
具体的,第一代理服务器经比对,确定所述第一识别信息和所述第二识别信息中的所属区域相同,且所述第一识别信息和所述第二识别信息中的业务标识信息也相同时,则能够确定所述第一业务服务器和所述第二业务服务器为同一区域、且部署相同业务的业务服务器,因此二者各自对应的代理服务器为同一个代理服务器(即所述第一代理服务器),也就是说,当前的传输类型为同一业务同一区域内文件传输,此时,响应所述下载请求,以所述预设协议向第二业务服务器发送所述待下载文件。
具体的,第一业务服务器上的BT File Server以BT协议向第二业务服务器发送所述待下载文件。
可选的,第一代理服务器经比对,确定所述第一识别信息和所述第二识别信息中的业务标识信息不同时,则确定第二业务服务器部署(运行)的业务并非第一代理服务器服务的业务,此时便属于跨业务文件传输,可选的,此时第一代理服务器忽略第二业务服务器发送的下载请求,从而避免文件跨业务传输,保证业务的隔离性和安全性。
可选的,该流程还可以包括:
第二业务服务器若检测到BT协议下载速度低于预设阈值时,切换为备用协议继续下载所述待同步文件。
可选的,所述备用协议包括TCP和/或UDP。若所述备用协议包括TCP和UDP,则可以切换为二者中的任意一种协议,或者,按照预先设定的优先级顺序,先切换为二者中优先级高的一种协议,比如TCP,如果二者中优先级高的一种协议的下载速度仍然低于预设阈值,再切换为二者中优先级低的协议。
具体的,第二业务服务器若检测到BT协议下载速度低于预设阈值时,切换为备用协议继续下载所述待同步文件,一定程度上能够缩短下载时间,并且能够提高文件下载的可靠性,如减少BT协议下载过程中若遇到下载中断等情况带来的文件下载失败的问题。
在实际业务场景中,也会存在同一业务跨区域文件传输的需求,为此,本发明实施例还提供了另外一种文件传输方法。图4示出了本发明实施例提供的文件传输方法的另一信令流程,参照图4,该流程可以包括:
步骤S201、管控服务器集群向第一代理服务器发送同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息;
具体的,所述同步文件指令包括待同步文件的信息。
可选的,所述第一识别信息包括所属区域和业务标识信息,其中,由于所述第一识别信息为所述第一业务服务器的识别信息,因此,所述第一识别信息中的所述区域是指所述第一业务服务器所属于的区域,业务标识信息是指第一业务服务器所对应业务的标识信息。可选的,所述第二识别信息为所述第二业务服务器的识别信息,包括与第二业务服务器分别相对应的所属区域和业务标识信息。
步骤S202、第一代理服务器将所述同步文件指令下发至与所述第一识别信息相对应的所述第一业务服务器;
可选的,所述第一识别信息还包括内网IP地址,该内网IP地址是指所述第一业务服务器的内网IP地址。具体的,所述第一代理服务器由所述第一识别信息中第一业务服务器的内网IP地址能够锁定第一业务服务器,将所述同步文件指令下发至第一业务服务器。
步骤S203、第一业务服务器以预设协议将待同步文件上传至所述第一代理服务器;
具体的,所述预设协议包括BT协议,相应的,所述第一代理服务器上部署有BT File Server,也就是说,第一业务服务器以BT协议将待同步文件上传至所述第一代理服务器上的BT File Server。
步骤S204、第一代理服务器经比对,确定所述第一识别信息和所述第二识别信息中的所属区域不同但业务标识信息相同时,查找是否存在与所述第二识别信息相对应的第二代理服务器识别信息;若是,执行步骤S205,若否,执行步骤S206~步骤S207;
具体的,第一代理服务器经比对,确定所述第一识别信息和所述第二识别信息中的所属区域不同,但所述第一识别信息和所述第二识别信息中的业务标识信息相同时,便能够判定所述第一业务服务器和所述第二业务服务器为不同区域、但部署相同业务的业务服务器,即当前的传输类型为同一业务跨区域文件传输。由于所述第一业务服务器和所述第二业务服务器位于不同区域,因此,二者各自对应的代理服务器并非同一个代理服务器,此时,查找是否存在与所述第二识别信息相对应的第二代理服务器识别信息。具体的,所述第二识别信息(即第二业务服务器的识别信息)和第二代理服务器识别信息(即第二代理服务器的识别信息)都包括所属区域和业务标识信息,且二者中的所属区域应当相同且业务标识信息应当相同,因此,通过所述第二识别信息中的所属区域和业务标识信息,便能够查找到(第一代理服务器存储的配置信息中)是否存在所述第二代理服务器识别信息。
可选的,第一代理服务器经比对,确定所述第一识别信息和所述第二识别信息中的业务标识信息不同时,则确定第二业务服务器部署(运行)的业务并非第一代理服务器服务的业务,此时便属于跨业务文件传输,可选的,此时第一代理服务器可以不再进行后续查找等操作,执行流程结束,从而避免文件跨业务传输,保证业务的隔离性和安全性。
步骤S205、第一代理服务器以预设协议将所述待同步文件发送至与所述第二代理服务器识别信息相对应的所述第二代理服务器;
具体的,第一代理服务器的BT File Server以BT协议将所述待同步文件发送至所述第二代理服务器的BT File Server。
步骤S206、第一代理服务器以预设协议将所述待同步文件和所述第二识别信息发送至管控服务器集群;
具体的,第一代理服务器的BT File Server以BT协议将所述待同步文件和所述第二识别信息发送至所述管控服务器集群上的BT File Server。
具体的,若管控服务器集群包括多个管控服务器区域子集群,那么第一代理服务器以预设协议将所述待同步文件和所述第二识别信息发送至所述第一代理服务器所属区域的管控服务器区域子集群。
步骤S207、管控服务器集群查找与所述第二识别信息相对应的第二代理服务器识别信息,以预设协议将所述待同步文件发送至与所述第二代理服务器识别信息相对应的第二代理服务器;
具体的,管控服务器集群上接收到所述待同步文件和所述第二识别信息的BT File Server先查找自身的配置信息中是否存在与所述第二识别信息相对应的第二代理服务器识别信息;如果存在,则该BT File Server直接以BT协议将所述待同步文件发送至第二代理服务器的BT File Server;如果不存在,则该BT File Server以BT协议将所述待同步文件和所述第二识别信息发送至管控服务器集群上的其他BT File Server,以使其他BT File Server各自查找自身的配置信息中是否存在与所述第二识别信息相对应的第二代理服务器识别信息,直至查找到所述第二代理服务器识别信息,并以BT协议将所述待同步文件发送至第二代理服务器的BT File Server。当然,若最终未能够查找到所述第二代理服务器识别信息,可以丢弃所述待同步文件和所述第二识别信息。
可选的,若管控服务器集群包括多个管控服务器区域子集群,每个管控服务器区域子集群上可以部署一个或者至少两个BT File Server。
步骤S208、管控服务器集群将下载指令和所述第二识别信息发送至第二代理服务器;
步骤S209、第二代理服务器将所述下载指令下发至与所述第二识别信息相对应第二业务服务器;
可选的,所述第二识别信息还包括内网IP地址,该内网IP地址是指所述第二业务服务器的内网IP地址。具体的,所述第二代理服务器由所述第二识别信息中第二业务服务器的内网IP地址能够锁定第二业务服务器,将所述下载指令下发至第二业务服务器。
具体的,所述下载指令包括所述待下载文件的识别信息。
步骤S210、第二业务服务器向第二代理服务器发送对所述待下载文件的下载请求;
具体的,所述下载请求包括所述待下载文件的识别信息。
步骤S211、所述第二代理服务器响应所述下载请求,以所述预设协议向第二业务服务器发送所述待下载文件;
具体的,第二业务服务器上的BT File Server以BT协议向第二业务服务器发送所述待下载文件。
可选的,该流程还可以包括:
第二业务服务器若检测到BT协议下载速度低于预设阈值时,切换为备用协议继续下载所述待同步文件。
可选的,所述备用协议包括TCP和/或UDP。若所述备用协议包括TCP和UDP,则可以切换为二者中的任意一种协议,或者,按照预先设定的优先级顺序,先切换为二者中优先级高的一种协议,比如TCP,如果二者中优先级高的一种协议的下载速度仍然低于预设阈值,再切换为二者中优先级低的协议。
需要说明的是,一般情况下,服务(包括运行)不同业务的服务器之间并不互传文件,旨在保证业务的隔离性和安全性,但是,有时却存在服务(包括运行)不同业务的服务器之间互传文件的需求,此时可以要求具备系统管理员资格才能启动文件跨业务传输。下面本发明实施例对文件跨业务传输的方案进行阐述。
图5示出了本发明实施例提供的文件传输方法的另一信令流程,参照图5,该流程可以包括:
步骤S301、管控服务器集群向第一代理服务器发送同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息;
具体的,所述同步文件指令包括待同步文件的信息。
可选的,所述第一识别信息包括所属区域和业务标识信息,其中,由于所述第一识别信息为所述第一业务服务器的识别信息,因此,所述第一识别信息中的所述区域是指所述第一业务服务器所属于的区域,业务标识信息是指第一业务服务器所对应业务的标识信息。可选的,所述第二识别信息为所述第二业务服务器的识别信息,包括与第二业务服务器分别相对应的所属区域和业务标识信息。
步骤S302、第一代理服务器将所述同步文件指令下发至与所述第一识别信息相对应的所述第一业务服务器;
可选的,所述第一识别信息还包括内网IP地址,该内网IP地址是指所述第一业务服务器的内网IP地址。具体的,所述第一代理服务器由所述第一识别信息中第一业务服务器的内网IP地址能够锁定第一业务服务器,将所述同步文件指令下发至第一业务服务器。
步骤S303、第一业务服务器以预设协议将待同步文件上传至所述第一代理服务器;
具体的,所述预设协议包括BT协议,相应的,所述第一代理服务器上部署有BT File Server,也就是说,第一业务服务器以BT协议将待同步文件上传至所述第一代理服务器上的BT File Server。
步骤S304、第一代理服务器经比对,确定所述第一识别信息和所述第二识别信息中的业务标识信息不同时,以预设协议将所述待同步文件和所述第二识别信息发送至管控服务器集群;
具体的,第一代理服务器经比对,确定所述第一识别信息和所述第二识别信息中的业务标识信息不同时,便能够判定所述第一业务服务器和所述第二业务服务器为部署不同业务的业务服务器,即当前的传输类型为跨业务文件传输,此时,便以预设协议将所述待同步文件和所述第二识别信息发送至管控服务器集群。
具体的,第一代理服务器的BT File Server以BT协议将所述待同步文件和所述第二识别信息发送至所述管控服务器集群上的BT File Server。
具体的,若管控服务器集群包括多个管控服务器区域子集群,那么第一代理服务器以预设协议将所述待同步文件和所述第二识别信息发送至所述第一代理服务器所属区域的管控服务器区域子集群。
步骤S305、管控服务器集群查找与所述第二识别信息相对应的第二代理服务器识别信息,以预设协议将所述待同步文件发送至与所述第二代理服务器识别信息相对应的第二代理服务器;
具体的,管控服务器集群上接收到所述待同步文件和所述第二识别信息的BT File Server先查找自身的配置信息中是否存在与所述第二识别信息相对应的第二代理服务器识别信息;如果存在,则该BT File Server直接以BT协议将所述待同步文件发送至第二代理服务器的BT File Server;如果不存在,则该BT File Server以BT协议将所述待同步文件和所述第二识别信息发送至管控服务器集群上的其他BT File Server,以使其他BT File Server各自查找自身的配置信息中是否存在与所述第二识别信息相对应的第二代理服务器识别信息,直至查找到所述第二代理服务器识别信息,并以BT协议将所述待同步文件发送至第二代理服务器的BT File Server。当然,若最终未能够查找到所述第二代理服务器识别信息,可以丢弃所述待同步文件和所述第二识别信息。
可选的,若管控服务器集群包括多个管控服务器区域子集群,每个管控服务器区域子集群上可以部署一个或者至少两个BT File Server。
步骤S306、管控服务器集群将下载指令和所述第二识别信息发送至第二代理服务器;
步骤S307、第二代理服务器将所述下载指令下发至与所述第二识别信息相对应第二业务服务器;
可选的,所述第二识别信息还包括内网IP地址,该内网IP地址是指所述第二业务服务器的内网IP地址。具体的,所述第二代理服务器由所述第二识别信息中第二业务服务器的内网IP地址能够锁定第二业务服务器,将所述下载指令下发至第二业务服务器。
具体的,所述下载指令包括所述待下载文件的识别信息。
步骤S308、第二业务服务器向第二代理服务器发送对所述待下载文件的下载请求;
具体的,所述下载请求包括所述待下载文件的识别信息。
步骤S309、所述第二代理服务器响应所述下载请求,以所述预设协议向第二业务服务器发送所述待下载文件;
具体的,第二业务服务器上的BT File Server以BT协议向第二业务服务器发送所述待下载文件。
可选的,该流程还可以包括:
第二业务服务器若检测到BT协议下载速度低于预设阈值时,切换为备用协议继续下载所述待同步文件。
可选的,所述备用协议包括TCP和/或UDP。若所述备用协议包括TCP和UDP,则可以切换为二者中的任意一种协议,或者,按照预先设定的优先级顺序,先切换为二者中优先级高的一种协议,比如TCP,如果二者中优先级高的一种协议的下载速度仍然低于预设阈值,再切换为二者中优先级低的协议。
相应的,站在管控服务器集群的角度,本发明提供的文件传输方法可以如图6所示,图6示出了本发明实施例提供的文件传输方法的流程图,该流程可应用于本发明实施例提供的文件传输系统中的管控服务器集群,参照图6,该流程可以包括:
步骤S401、将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器由所述第一识别信息和所述第二识别信息确定文件传输类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议按照与所述文件传输类型相对应的传输路径将待同步文件传至所述第二代理服务器;
具体的,所述同步文件指令包括所述待同步文件的识别信息;所述第一业务服务器预先存储有所述待同步文件;所述预设协议包括BT协议。
步骤S402、将下载指令和所述第二识别信息发送至第二代理服务器,触发所述第二代理服务器将所述下载指令下发至所述第二业务服务器,以使所述第二业务服务器以所述预设协议从所述第二代理服务器下载所述待同步文件;
具体的,所述下载指令包括待同步文件的识别信息。
在本发明实施例中,管控服务器集群首先将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器由所述第一识别信息和所述第二识别信息确定文件传输类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议按照与所述文件传输类型相对应的传输路径将待同步文件传至所述第二代理服务器,其中,所述同步文件指令包括所述待同步文件的识别信息,所述第一业务服务器预先存储有所述待同步文件,所述预设协议包括BT协议,然后将下载指令和所述第二识别信息发送至第二代理服务器,触发所述第二代理服务器将所述下载指令下发至所述第二业务服务器,以使所述第二业务服务器以所述预设协议从所述第二代理服务器下载所述待同步文件;所述下载指令包括待同步文件的识别信息。也就是说,本发明提供的技术方案,通过管控服务器集群的控制,能够实现定向传输待同步文件,即能够将待同步文件定向传输至需要同步该待同步文件的位置,不会额外同步到其他位置,从而实现待同步文件的定向精确传输,能够有效节省流量和宽带资源。
可选的,本发明另一实施例提供的文件传输方法,所述第一识别信息和所述第二识别信息各自包括所属区域和业务标识信息,所述步骤S401包括:
将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器确定满足第一预设条件时文件传输类型为第一类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议将待同步文件传至所述第一代理服务器;
具体的,所述第一类型为同一业务同一区域内文件传输,所述第一预设条件为所述第一识别信息和所述第二识别信息中的所属区域相同且业务标识信息相同。
相应的,所述步骤S402包括:
将下载指令和所述第二识别信息发送至所述第一代理服务器,触发所述第一代理服务器将所述下载指令下发至所述第二业务服务器,以使所述第二业务服务器以预设协议从所述第一代理服务器下载所述待同步文件。
需要说明的是,由于同一业务同一区域内对应同一个代理服务器,此时,上文所述第一代理服务器和所述第二代理服务器为同一个代理服务器,即第一业务服务器和第二业务服务器都通过内网与第一代理服务器直接相连,因此,在符合实际情况的基础上,为了便于理解,将所述步骤S401和步骤S402中的第二代理服务器替换为第一代理服务器。
可选的,本发明另一实施例提供的文件传输方法,所述第一识别信息和所述第二识别信息各自包括所属区域和业务标识信息,所述步骤S401包括:
将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器确定满足第二预设条件时文件传输类型为第二类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议将待同步文件经由第一转发服务器传至第二代理服务器;
具体的,所述第二类型为同一业务跨区域文件传输,所述第二预设条件为所述第一识别信息和所述第二识别信息中的所属区域不同而业务标识信息相同;所述第一转发服务器为记录有所述第二代理服务器识别信息的所述第一代理服务器,或者所述管控服务器集群中记录有所述第二代理服务器识别信息的任一管控服务器。
可选的,本发明另一实施例提供的文件传输方法,所述第一识别信息和所述第二识别信息各自包括所属区域和业务标识信息,所述步骤S401包括:
将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器确定满足第三预设条件时文件传输类型为第三类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议将待同步文件经由第二转发服务器传至第二代理服务器;
具体的,所述第三类型为跨业务文件传输,所述第三预设条件为所述第一识别信息和所述第二识别信息中的业务标识信息不同;所述第二转发服务器为所述管控服务器集群中记录有所述第二代理服务器识别信息的任一管控服务器。
具体的,跨业务文件传输包括同一区域内跨业务文件传输,以及跨区域跨业务文件传输。
可选的,本发明另一实施例提供的文件传输方法,还包括:
实时接收并存储各区域内各业务对应的代理服务器发送的代理服务器识别信息,所述代理服务器识别信息包括所属区域、业务标识信息和IP地址。
可选的,本发明另一实施例提供的文件传输方法,还包括:
若持续预设时间未接收到第三代理服务器发送的代理服务器识别信息,删除已存储的所述第三代理服务器的代理服务器识别信息;所述第三代理服务器为各区域内各业务对应的代理服务器中的任一代理服务器。
可选的,本发明另一实施例提供的文件传输方法,所述预设协议还包括备用协议,所述备用协议包括TCP和/或UDP,则所述预设协议中启用各协议的优先级从高到底依次为所述BT协议和备用协议。
下面以管控服务器集群服务于游戏业务(下称管控服务器集群为游戏管控平台),业务服务器为部署游戏业务的游戏业务服务器,代理服务器提供链路代理和BT文件服务为例,对本发明实施例提供的文件传输方法的应用过程进行介绍。
首先游戏管控平台将同步文件指令、第一游戏业务服务器的第一识别信息和第二游戏业务服务器的第二识别信息发送至第一代理服务器;其中,所述同步文件指令包括所述待同步文件的识别信息;所述第一游戏业务服务器预先存储有所述待同步文件;
第一代理服务器将所述同步文件指令下发至与所述第一识别信息相对应的所述第一游戏业务服务器;所述第一识别信息包括对应于第一游戏业务服务器的所属区域和业务标识信息;
第一游戏业务服务器以BT协议将待同步文件上传至所述第一代理服务器;
第一代理服务器分别比对所述第一识别信息和所述第二识别信息中的所属区域,以及所述第一识别信息和所述第二识别信息中的业务标识信息,确定传输类型;
若传输类型为同一业务同一区域内文件传输,则第一代理服务器等待第二业务处理器发送的下载请求;
若传输类型为同一业务跨区域文件传输,第一代理服务器查找是否存在与所述第二识别信息相对应的第二代理服务器识别信息;若存在,第一代理服务器以BT协议将所述待同步文件发送至与所述第二代理服务器识别信息相对应的所述第二代理服务器;若不存在,第一代理服务器以BT协议将所述待同步文件和所述第二识别信息发送至游戏管控平台,游戏管控平台查找与所述第二识别信息相对应的第二代理服务器识别信息,以BT协议将所述待同步文件发送至与所述第二代理服务器识别信息相对应的第二代理服务器;
若传输类型为跨业务文件传输,以BT协议将所述待同步文件和所述第二识别信息发送至游戏管控平台,游戏管控平台查找与所述第二识别信息相对应的第二代理服务器识别信息,以BT协议将所述待同步文件发送至与所述第二代理服务器识别信息相对应的第二代理服务器;
游戏管控平台将下载指令和所述第二识别信息发送至第二代理服务器;
第二代理服务器将所述下载指令下发至与所述第二识别信息相对应第二游戏业务服务器;
第二游戏业务服务器向第二代理服务器发送对所述待下载文件的下载请求;
第二代理服务器响应所述下载请求,以所述BT协议向第二游戏业务服务器发送所述待下载文件;
第二游戏业务服务器若检测到BT协议下载速度低于预设阈值时,切换为备用协议继续下载所述待同步文件。
可选的,所述备用协议包括TCP和/或UDP。若所述备用协议包括TCP和UDP,则可以切换为二者中的任意一种协议,或者,按照预先设定的优先级顺序,先切换为二者中优先级高的一种协议,比如TCP,如果二者中优先级高的一种协议的下载速度仍然低于预设阈值,再切换为二者中优先级低的协议。
可以看出,本发明实施例通过管控服务器集群的控制,能够实现定向传输待同步文件,即能够将待同步文件定向传输至需要同步该待同步文件的位置,不会额外同步到其他位置,从而实现待同步文件的定向精确传输,能够有效节省流量和宽带资源。
下面对本发明实施例提供的文件传输装置进行介绍,下文描述的文件传输装置可与上文流程内容相互对应参照。下文描述的文件传输装置的模块可以认为是文件传输装置为实现定向传输待同步文件,所需设置的功能模块架构。
图7为本发明实施例提供的文件传输装置的结构框图。本发明实施例提供的文件传输装置应用于管控服务器集群,参照图7,该文件传输装置可以包括:
第一发送模块101,用于将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器由所述第一识别信息和所述第二识别信息确定文件传输类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议按照与所述文件传输类型相对应的传输路径将待同步文件传至所述第二代理服务器;
具体的,所述同步文件指令包括所述待同步文件的识别信息;所述第一业务服务器预先存储有所述待同步文件;所述预设协议包括BT协议。
第二发送模块102,用于将下载指令和所述第二识别信息发送至第二代理服务器,触发所述第二代理服务器将所述下载指令下发至所述第二业务服务器,以使所述第二业务服务器以所述预设协议从所述第二代理服务器下载所述待同步文件;
具体的,所述下载指令包括待同步文件的识别信息。
本发明实施例提供的文件传输装置,通过管控服务器集群的控制,能够实现定向传输待同步文件,即能够将待同步文件定向传输至需要同步该待同步文件的位置,不会额外同步到其他位置,从而实现待同步文件的定向精确传输,能够有效节省流量和宽带资源。
可选的,本发明另一实施例提供的文件传输装置,所述第一识别信息和所述第二识别信息各自包括所属区域和业务标识信息,所述第一发送模块101包括:
第一发送单元,用于将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器确定满足第一预设条件时文件传输类型为第一类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议将待同步文件传至所述第一代理服务器;其中,所述第一类型为同一业务同一区域内文件传输,所述第一预设条件为所述第一识别信息和所述第二识别信息中的所属区域相同且业务标识信息相同;
相应的,所述第二发送模块102包括:
第二发送单元,用于将下载指令和所述第二识别信息发送至所述第一代理服务器,触发所述第一代理服务器将所述下载指令下发至所述第二业务服务器,以使所述第二业务服务器以预设协议从所述第一代理服务器下载所述待同步文件。
可选的,本发明另一实施例提供的文件传输装置,所述第一识别信息和所述第二识别信息各自包括所属区域和业务标识信息,所述第一发送模块101包括:
第三发送单元,用于将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器确定满足第二预设条件时文件传输类型为第二类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议将待同步文件经由第一转发服务器传至第二代理服务器;其中,所述第二类型为同一业务跨区域文件传输,所述第二预设条件为所述第一识别信息和所述第二识别信息中的所属区域不同而业务标识信息相同;所述第一转发服务器为记录有所述第二代理服务器识别信息的所述第一代理服务器,或者所述管控服务器集群中记录有所述第二代理服务器识别信息的任一管控服务器。
可选的,本发明另一实施例提供的文件传输装置,所述第一识别信息和所述第二识别信息各自包括所属区域和业务标识信息,所述第一发送模块101包括:
第四发送单元,用于将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器确定满足第三预设条件时文件传输类型为第三类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议将待同步文件经由第二转发服务器传至第二代理服务器;其中,所述第三类型为跨业务文件传输,所述第三预设条件为所述第一识别信息和所述第二识别信息中的业务标识信息不同;所述第二转发服务器为所述管控服务器集群中记录有所述第二代理服务器识别信息的任一管控服务器。
可选的,本发明另一实施例提供的文件传输装置,还包括:
存储模块,用于实时接收并存储各区域内各业务对应的代理服务器发送的代理服务器识别信息,所述代理服务器识别信息包括所属区域、业务标识信息和IP地址。
可选的,本发明另一实施例提供的文件传输装置,还包括:
更新模块,用于若持续预设时间未接收到第三代理服务器发送的代理服务器识别信息,删除所述存储模块已存储的所述第三代理服务器的代理服务器识别信息;所述第三代理服务器为各区域内各业务对应的代理服务器中的任一代理服务器。
可选的,本发明另一实施例提供的文件传输装置,所述预设协议还包括备用协议,所述备用协议包括TCP和/或UDP,则所述预设协议中启用各协议的优先级从高到底依次为所述BT协议和备用协议。
图8示出了管控服务器集群中管控服务器的硬件结构框图,参照图8,管控服务器可以包括:处理器1,通信接口2,存储器3和通信总线4;
其中处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
处理器1,用于执行程序;
存储器3,用于存放程序;
程序可以包括程序代码,所述程序代码包括计算机操作指令。
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
其中,程序可具体用于:
将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器由所述第一识别信息和所述第二识别信息确定文件传输类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议按照与所述文件传输类型相对应的传输路径将待同步文件传至所述第二代理服务器;所述同步文件指令包括所述待同步文件的识别信息;所述第一业务服务器预先存储有所述待同步文件;所述预设协议包括BT协议;
和/或将下载指令和所述第二识别信息发送至第二代理服务器,触发所述第二代理服务器将所述下载指令下发至所述第二业务服务器,以使所述第二业务服务器以所述预设协议从所述第二代理服务器下载所述待同步文件;所述下载指令包括待同步文件的识别信息。
需要说明的是,由于管控服务器集群可能包括部署在不同区域的管控服务器区域子集群,各管控服务器区域子集群中包括至少一台管控服务器,因此,上述处理器具体用于执行的操作可以并非是上述全部操作:可以是其中一个操作,此时需要至少两个处理器协同工作实现上述全部操作;也可以是同一个处理器执行上述全部操作,此种情况一般对应于同一区域内文件传输。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种文件传输方法、装置和系统。本发明提供的技术方案,应用于文件传输系统中的管控服务器集群,该文件传输系统包括业务服务器、与所述业务服务器通过内网相连接的代理服务器和与所述代理服务器通过公网或内网相连接的所述管控服务器集群,具体的,管控服务器集群首先将同步文件指令、第一业务服务器的第一识别信息和第二业务服务器的第二识别信息发送至第一代理服务器,触发所述第一代理服务器由所述第一识别信息和所述第二识别信息确定文件传输类型并将所述同步文件指令下发至所述第一业务服务器,以使所述第一业务服务器以预设协议按照与所述文件传输类型相对应的传输路径将待同步文件传至所述第二代理服务器,其中,所述同步文件指令包括所述待同步文件的识别信息,所述第一业务服务器预先存储有所述待同步文件,所述预设协议包括BT协议,然后将下载指令和所述第二识别信息发送至第二代理服务器,触发所述第二代理服务器将所述下载指令下发至所述第二业务服务器,以使所述第二业务服务器以所述预设协议从所述第二代理服务器下载所述待同步文件;所述下载指令包括待同步文件的识别信息。也就是说,本发明提供的技术方案,通过管控服务器集群的控制,能够实现定向传输待同步文件,即能够将待同步文件定向传输至需要同步该待同步文件的位置,不会额外同步到其他位置,从而实现待同步文件的定向精确传输,能够有效节省流量和宽带资源。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。