本發明涉及計算機技術領域,具體涉及一種文件傳輸方法、裝置和系統。
背景技術:
隨著一些基于互聯網的業務國際化進程加快,業務也趨向多樣化部署,除了自建國內外機房,國內外公有云等環境的部署也逐漸成為主流方案。海量資源、全球化場景下,跨云資源管理也給運維帶來很大的挑戰。特別是在業務網絡環境復雜的情況下,選擇常規的結構上符合典型的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、或技術領域內所公知的任意其它形式的存儲介質中。
對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用本發明。對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發明的精神或范圍的情況下,在其它實施例中實現。因此,本發明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。