專利名稱:Ftp連接方法和設備的制作方法
技術領域:
本發(fā)明涉及通信技術領域,特別涉及一種FTP連接方法和設備。
背景技術:
LTE (LongTerm Evolution, ^ Si ii -OMC (Operations & Maintenance Center,操作維護中心)網(wǎng)管平臺的使用過程中,有很多涉及FTP (File Transfer ftOtocol,文件傳輸協(xié)議)操作的地方。如圖1所示,為現(xiàn)有技術中的FTP系統(tǒng)的結構示意圖。眾所周知,F(xiàn)TP是文件服務器所執(zhí)行的協(xié)議,通??梢允褂肍ileZilla、FlashFXP 等客戶端進行操作,這些客戶端登錄后,在FTP服務器沒有超時的情況下,可以持續(xù)進行操作。在LTE-OMC網(wǎng)管平臺中,由于要用程序進行文件的上傳和下載操作,按照常用的處理方案,可以使用Apache Commons Net (一種常用的Web服務器軟件中的項目名稱)項目下的FtpClient (—種子項目的名稱)類進行FTP服務器的操作。在每一次操作前,均需要調用IoginO方法進行登錄。如圖2所示,為現(xiàn)有技術中的FTP操作的流程示意圖。具體的,現(xiàn)有技術中常見的登錄方式是每次提供用戶名、密碼、IP地址和端口進行登錄,登錄后進行操作。在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術中至少存在以下問題
這樣的登錄方法在操作量不大的時候,每次都登錄不會產(chǎn)生太大的問題,而一旦操作量增大,而每次操作又都需要提供用戶名、密碼、IP地址和端口進行登錄,那么,頻繁的登錄會消耗大量的時間,影響系統(tǒng)性能。
發(fā)明內容
本發(fā)明實施例提供一種FTP連接方法和設備,解決現(xiàn)有的技術方案中每次進行 FTP連接都需要進行登錄所導致的重復登錄操作,以及因此引起的時間浪費,性能減低以及資源占用的問題。為達到上述目的,本發(fā)明實施例一方面提供了一種FTP連接方法,至少包括以下步驟
池管理設備接收到客戶端所發(fā)送的對象獲取請求;
所述池管理設備在自身所管理的FTP對象池中獲取一個處于激活狀態(tài)的FTP對象,配置給所述客戶端,以使所述客戶端通過所述FTP對象進行FTP連接和相應的FTP操作處理; 所述池管理設備在所述客戶端結束FTP操作處理后,將配置給所述客戶端的FTP對象回收到自身所管理的FTP對象池中。另一方面,本發(fā)明實施例還提供了一種池管理設備,至少包括 接收模塊,用于接收客戶端所發(fā)送的對象獲取請求;配置模塊,用于根據(jù)所述接收模塊所接收到的對象獲取請求,在所述池管理設備所管理的FTP對象池中獲取一個處于激活狀態(tài)的FTP對象,配置給所述客戶端,以使所述客戶端通過所述FTP對象進行FTP連接和相應的FTP操作處理;
回收模塊,用于在所述客戶端結束FTP操作處理后,將所述配置模塊配置給所述客戶端的FTP對象回收到所述池管理設備所管理的FTP對象池中。與現(xiàn)有技術相比,本發(fā)明實施例所提出的技術方案具有以下優(yōu)點
通過應用本發(fā)明實施例的技術方案,建立包含多個FTP對象的FTP對象池,在客戶端需要進行FTP連接時,直接將處于激活狀態(tài)的FTP對象配置給該客戶端,使該客戶端可以通過該FTP對象直接進行FTP連接和相應的FTP操作處理,并在FTP操作處理結束后回收該 FTP對象到FTP對象池中,從而,使客戶端無需進行重復登錄,而是直接通過處于激活狀態(tài)的FTP對象進行FTP連接,避免了重復登錄所帶來的時間浪費,性能減低以及資源占用,簡化了客戶端進行FTP連接的操作流程,提高了 FTP連接的性能和效率。
圖1為現(xiàn)有技術中的FTP系統(tǒng)的結構示意圖; 圖2為現(xiàn)有技術中的FTP操作的流程示意圖3為本發(fā)明實施例所提出的一種包括FTP對象池的系統(tǒng)的結構示意圖; 圖4為本發(fā)明實施例所提出的一種FTP連接方法的流程示意圖; 圖5為本發(fā)明實施例所提出的一種具體應用場景下的FTP對象的狀態(tài)管理過程的流程示意圖6為本發(fā)明實施例所提出的一種具體應用場景下的FTP對象的借出和歸還過程的流程示意圖7為本發(fā)明實施例所提出的一種具體應用場景下的FTP對象池的建立過程的流程示意圖8為本發(fā)明實施例提出的一種池管理設備的結構示意圖。
具體實施例方式如背景技術所述,在一些使用了 FTP的系統(tǒng)中,F(xiàn)TP都需要登錄后才能進行相應的操作,因此,對于目前的客戶端,每次操作均需要進行登錄,如果操作次數(shù)不多,這樣的重復登錄并不會對系統(tǒng)性能產(chǎn)生明顯的影響,可是當當前系統(tǒng)中存在大量的客戶端并發(fā)進行操作,或者一個或多個客戶端進行大量操作時,反復登錄便會帶來嚴重的時間和資源損耗,嚴重影響系統(tǒng)的性能。為了克服這樣的缺陷,本發(fā)明實施例提出了一種FTP連接方法,通過預先建立FTP 對象池,并將池中的處于激活狀態(tài)的FTP對象直接分配給需要進行FTP連接的客戶端的方式,避免客戶端的重復登錄,并進而避免由此引起的時間和資源損耗,提高系統(tǒng)的性能。首先,如圖3所示,為本發(fā)明實施例所提出的一種包括FTP對象池的系統(tǒng)的結構示意圖,在該系統(tǒng)中,各客戶端通過FTP對象池對FTP服務器進行FTP連接,并進行相應的FTP 操作。如圖4所示,為本發(fā)明實施例所提出的一種FTP連接方法的流程示意圖,該方法具體包括以下步驟
步驟S401、池管理設備接收到客戶端所發(fā)送的對象獲取請求。在本步驟之前,首選需要進行FTP對象池的創(chuàng)建。在具體的處理場景中,F(xiàn)TP對象池的創(chuàng)建過程具體包括 (1)所述池管理設備獲取FTP服務器中的配置信息。這里的配置信息包括對該FTP服務器進行登錄所需要的用戶名、密碼、IP地址和端口等信息,當FTP服務器中存在多個登錄賬戶的配置信息時,各登錄賬戶所對應的用戶名、密碼、IP地址和端口等登錄信息均需要進行獲取。其中,需要指出的是,根據(jù)實際的場景需要,可以在FTP服務器中設置一個或多個禁止在FTP對象池中創(chuàng)建FTP對象的登錄賬戶,這樣的登錄賬戶可能存在特殊的應用場景或者擁有特殊的操作權限,并不能將其對應的FTP對象置于FTP對象池中而任意的配置給客戶端,例如FTP服務器的管理員賬戶,如果存在這樣的登錄賬戶,則在本步驟中不會進行這樣的登錄賬戶的配置信息的獲取,而只對其他登錄賬戶的配置信息進行獲取。(2)所述池管理設備根據(jù)所述配置信息創(chuàng)建相應的FTP對象。具體的,池管理設備根據(jù)獲取到的對該FTP服務器進行登錄所需要的用戶名、密碼、IP地址和端口等信息,創(chuàng)建相應的FTP對象,對于不同的登錄賬戶,需要創(chuàng)建不同的FTP 對象,而對于同一個登錄賬戶,則需要重復創(chuàng)建相同的多個FTP對象,而重復創(chuàng)建FTP對象的數(shù)量則可以根據(jù)該登錄賬戶的使用頻率等因素,按照實際場景的需要進行設置,這樣的變化并不影響本發(fā)明的保護范圍。其中,每個FTP對象均包含相應的登錄賬戶的用戶名、密碼、IP地址和端口等登錄信息,可以根據(jù)這些信息與FTP服務器建立FTP連接,具體的,如果一個FTP對象當前與FTP 服務器建立了 FTP連接,那么,該FTP對象當前處于激活狀態(tài),反之,如果一個FTP對象當前沒有與FTP服務器建立FTP連接,那么,該FTP對象當前處于掛起狀態(tài)。在進行FTP對象的創(chuàng)建過程中,所創(chuàng)建的FTP對象的狀態(tài)可以根據(jù)實際需要進行設置,可以是激活狀態(tài),即在創(chuàng)建完成后直接與FTP服務器進行FTP連接,也可以是掛起狀態(tài),即在完成創(chuàng)建后不進行任何的FTP連接操作。(3)所述池管理設備將所創(chuàng)建的FTP對象組成FTP對象池,并進行管理。需要進一步指出的是,F(xiàn)TP對象的創(chuàng)建不僅存在于建立FTP對象池的初始階段,在 FTP對象池建立后,如果FTP對象池中的FTP對象數(shù)量不足,或者FTP服務器增加了新的登錄賬戶,那么,均需要進行新的FTP對象的創(chuàng)建,而創(chuàng)建之后的FTP對象直接添加到FTP對象池中。進一步的,本步驟中所提及的對于FTP對象池的管理,主要是針對FTP對象池中所包括的FTP對象進行的狀態(tài)管理,具體包括
首先,所述池管理設備預先設置所述FTP對象池的管理參數(shù)信息和相應的各管理觸發(fā)條件,然后,所述池管理設備監(jiān)控所述FTP對象池中各FTP對象的當前狀態(tài),之后,池管理設備將監(jiān)控到的狀態(tài)信息與所述管理參數(shù)信息進行比較,并在比較結果達到一個或多個管理觸發(fā)條件時,對所述FTP對象池中各FTP對象的狀態(tài)進行調整。具體的,池管理設備可以根據(jù)實際的需要進行相應的管理參數(shù)和管理觸發(fā)條件的設置,以下,具體以三種類型的管理參數(shù)和管理觸發(fā)條件的應用場景為例進行說明場景一、所述池管理設備預先設置所述FTP對象池的最小可配置激活數(shù)量和相應的管理觸發(fā)條件。在此場景中,當所述池管理設備確定所述FTP對象池中當前處于激活狀態(tài)的FTP 對象中未配置給客戶端的FTP對象的數(shù)量,小于所述最小可配置激活數(shù)量時,所述池管理設備激活相應數(shù)量的所述FTP對象池中當前處于掛起狀態(tài)的FTP對象。通過本場景中的規(guī)則設置,可以保證FTP資源池中始終存在一定數(shù)量的處于激活狀態(tài)的FTP對象可以隨時配置給新的存在FTP連接需求的客戶端。場景二、所述池管理設備預先設置所述FTP對象池的最大激活數(shù)量和相應的管理觸發(fā)條件。在此場景中,當所述池管理設備確定所述FTP對象池中當前處于激活狀態(tài)的FTP 對象的總數(shù)量,超過所述最大激活數(shù)量時,所述池管理設備將相應數(shù)量的所述FTP對象池中當前處于激活狀態(tài)的FTP對象進行掛起。通過本場景中的規(guī)則設置,可以在FTP資源池中存在過多的處于激活狀態(tài)的FTP 對象時,進行FTP對象的狀態(tài)轉換,避免由于存在過多的處于激活狀態(tài)的FTP對象而導致 FTP服務器中過多的通信資源被占用。場景三、所述池管理設備預先設置所述FTP對象池的最大對象數(shù)量和相應的管理觸發(fā)條件。在此場景中,當所述池管理設備確定所述FTP對象池中當前處于激活狀態(tài)和掛起狀態(tài)的FTP對象的總數(shù)量,超過所述最大對象數(shù)量時,所述池管理設備將相應數(shù)量的所述 FTP對象池中當前處于掛起狀態(tài)的FTP對象進行銷毀。通過本場景中的規(guī)則設置,可以在FTP資源池中存在的FTP對象的總數(shù)量過多時, 進行FTP對象的銷毀,從而降低FTP對象的總數(shù)量,避免FTP資源池由于維護過多的FTP對象而導致的過多的系統(tǒng)資源的消耗。需要指出的是,上述的三種場景只是本發(fā)明實施例為了說明FTP對象池的管理規(guī)則而給出的幾個具體示例,上述的三種場景所對應的規(guī)則設置方式可以單獨的應用,也可以組合應用,而且,為了對FTP對象池進行更好的管理而設置的其他管理規(guī)則同樣也可以應用于本發(fā)明實施例所提出的技術方案,這樣的變化并不影響本發(fā)明的保護范圍。步驟S402、所述池管理設備在自身所管理的FTP對象池中獲取一個處于激活狀態(tài)的FTP對象,配置給所述客戶端,以使所述客戶端通過所述FTP對象進行FTP連接和相應的 FTP操作處理。為了確保配置給客戶端的FTP對象的狀態(tài),在本步驟的處理過程中,還可以包括以下的激活驗證處理過程,這樣的處理主要是為了避免出現(xiàn)由于FTP對象池對于FTP對象的狀態(tài)記錄錯誤,而導致配置給客戶端未處于激活狀態(tài)的FTP對象,并進而導致客戶端的 FTP連接失敗的情況,提高FTP對象配置過程的準確性。首先,池管理設備根據(jù)當前記錄的FTP對象的狀態(tài)信息獲取到準備配置給客戶端的處于激活狀態(tài)的FTP對象,但此時FTP對象的狀態(tài)是否處于激活狀態(tài)只是依據(jù)FTP對象池的狀態(tài)信息記錄,至于FTP對象是否真的處于激活狀態(tài),則依賴于FTP對象池的狀態(tài)信息記錄的準確性。進一步的,池管理設備對該FTP對象進行激活校驗,即確定該FTP對象是否真的處于激活狀態(tài)。如果校驗失敗,則所述池管理設備在自身所管理的FTP對象池中重新獲取一個處于激活狀態(tài)的FTP對象,配置給所述客戶端,并繼續(xù)進行激活校驗,直至校驗成功,則確定對所述客戶端配置FTP對象成功。通過上述的處理,確保配置給客戶端的FTP對象一定是處于激活狀態(tài)的,提高客戶端通過所配置的FTP對象進行FTP連接的成功率。步驟S403、所述池管理設備在所述客戶端結束FTP操作處理后,將配置給所述客戶端的FTP對象回收到自身所管理的FTP對象池中。本步驟的處理目的在于將客戶端使用完畢的FTP對象進行回收,具體的回收方式可以是客戶端的主動歸還,也可以是基于對客戶端的FTP操作狀態(tài)的監(jiān)控,即在客戶端的 FTP操作結束后,直接回收FTP對象,無論應用哪種方法,均可保證在客戶端對FTP對象使用完畢后,將相應的FTP對象回收到FTP對象池中,保證FTP對象池中的FTP對象可以被循環(huán)利用。通過應用上述的技術方案,不僅可以避免客戶端的重復登錄,而且,對于同一個客戶端來講,如果其在結束了當前的FTP操作且連接超時的情況下,需要進行下一次FTP操作,那么,該客戶端將重新發(fā)起對象獲取操作,并在FTP對象池中重新獲得處于激活狀態(tài)的 FTP對象,并直接通過該FTP對象進行FTP連接,而不需要重復進行登錄操作,也不會導致現(xiàn)有技術中在連接超時的情況下繼續(xù)發(fā)起操作失敗的情況。與現(xiàn)有技術相比,本發(fā)明實施例所提出的技術方案具有以下優(yōu)點
通過應用本發(fā)明實施例的技術方案,建立包含多個FTP對象的FTP對象池,在客戶端需要進行FTP連接時,直接將處于激活狀態(tài)的FTP對象配置給該客戶端,使該客戶端可以通過該FTP對象直接進行FTP連接和相應的FTP操作處理,并在FTP操作處理結束后回收該 FTP對象到FTP對象池中,從而,使客戶端無需進行重復登錄,而是直接通過處于激活狀態(tài)的FTP對象進行FTP連接,避免了重復登錄所帶來的時間浪費,性能減低以及資源占用,簡化了客戶端進行FTP連接的操作流程,提高了 FTP連接的性能和效率。下面,結合具體的應用場景,對本發(fā)明實施例所提出的技術方案進行說明。根據(jù)現(xiàn)有的技術方案實施經(jīng)驗來看,并不是所有的場景都需要使用對象池,維護對象池本身也有較大的開銷。一般來講,有狀態(tài)且創(chuàng)建消耗時間較長的對象,需要進行池化,以避免反復創(chuàng)建對象帶來的性能損耗。而FTP連接即滿足這樣的特征,因此,對于FTP連接可以應用FTP對象池的技術方案,即可以將FTP對象進行池化,下次有請求到達時,直接從FTP對象池內取出已有的登錄后的FTP對象配置給客戶端即可,避免了反復登錄所造成的性能損耗。本發(fā)明實施例所提出的技術方案中,提供了一種基于FTP對象池的FTP連接方法, 池化FtpClient對象,用戶無需關心登錄、注銷、判斷連接是否超時,以及從對象池借用和歸還等過程,直接使用代理對象進行操作即可,避免了客戶端進行每次操作都需要進行反復登錄的問題,提高了系統(tǒng)的性能。本發(fā)明實施例所提出的技術方案的關鍵點是使用了 FTP對象池來進行FTP對象的緩存,并自動維護該FTP對象的狀態(tài),從而避免了在頻繁使用FTP操作的系統(tǒng)中,由于頻繁登錄導致的效率低下的問題,同時還可以支持多個客戶端的并發(fā)操作。
在一種具體的應用場景下,對于前述的維護FTP對象池的池管理設備,可以具體體現(xiàn)為相應的Pool (池)組件,當然,這只是一種具體的體現(xiàn)形式,并不會影響本發(fā)明的保護范圍。在這樣的Pool組件中,對象池化的工作被劃分給了三類對象
(1) PoolableObjectFactory (池化對象處理單元),即FTP對象處理單元。用于管理被池化的普通FTP對象的狀態(tài)變化,包括產(chǎn)生、激活、掛起、校驗和銷毀寸。具體的處理過程如圖5所示,為本發(fā)明實施例所提出的一種具體應用場景下的 FTP對象的狀態(tài)管理過程的流程示意圖,具體包括以下步驟
步驟S501、設置當前FTP對象池的管理參數(shù)。在本實施例中,所設置的管理參數(shù)包括 FTP對象池中所包括的FTP對象的最大數(shù)量M ;
FTP對象池中所包括的處于激活狀態(tài)且未配置給客戶端的FTP對象的最小數(shù)量S ; FTP對象池中所包括的處于激活狀態(tài)的FTP對象的最大數(shù)量X。步驟S502、監(jiān)控當前FTP資源池中的FTP對象的狀態(tài)。所監(jiān)控得到的數(shù)據(jù)至少包括
當前FTP對象池中所包括的處于激活狀態(tài)的FTP對象的數(shù)量A ; 當前FTP對象池中所包括的處于掛起狀態(tài)的FTP對象的數(shù)量H ; 當前FTP對象池中所包括的處于激活狀態(tài)且未配置給客戶端的FTP對象的數(shù)量L。步驟S503、將監(jiān)控得到的當前FTP對象的狀態(tài)信息和所設定的管理參數(shù)進行比較。具體的,需要根據(jù)前述的步驟S501中的具體參數(shù)設置情況進行比較。根據(jù)不同的比較結果,進一步執(zhí)行以下的步驟S504、步驟S506或步驟S508。步驟S504、確定當前的比較結果是否為L彡S。如果是,則執(zhí)行步驟S505 ; 如果否,則返回步驟S503。步驟S505、在FTP對象池中激活相應數(shù)量的當前處于掛起狀態(tài)的FTP對象。通過這樣的處理,保證FTP資源池中始終存在一定數(shù)量的處于激活狀態(tài)的FTP對象可以隨時配置給新的存在FTP連接需求的客戶端。具體的,所激活的FTP對象的數(shù)量可以根據(jù)需要進行設定。本步驟執(zhí)行完畢后,執(zhí)行步驟S510。步驟S506、確定當前的比較結果是否為A彡X。如果是,則執(zhí)行步驟S507 ; 如果否,則返回步驟S503。步驟S507、在FTP對象池中將相應數(shù)量的當前處于激活狀態(tài)的FTP對象進行掛起。通過這樣的處理,在FTP資源池中存在過多的處于激活狀態(tài)的FTP對象時,進行 FTP對象的狀態(tài)轉換,避免由于存在過多的處于激活狀態(tài)的FTP對象而導致FTP服務器中過多的通信資源被占用。具體的,所掛起的FTP對象的數(shù)量可以根據(jù)需要進行設定。
本步驟執(zhí)行完畢后,執(zhí)行步驟S510。步驟S508、確定當前的比較結果是否為A+H > M。如果是,則執(zhí)行步驟S509 ; 如果否,則返回步驟S503。步驟S509、在FTP對象池中將相應數(shù)量的當前處于掛起狀態(tài)的FTP對象進行銷毀。通過這樣的處理,在FTP資源池中存在的FTP對象的總數(shù)量過多時,進行FTP對象的銷毀,從而降低FTP對象的總數(shù)量,避免FTP資源池由于維護過多的FTP對象而導致的過多的系統(tǒng)資源的消耗。具體的,所銷毀的FTP對象的數(shù)量可以根據(jù)需要進行設定。本步驟執(zhí)行完畢后,執(zhí)行步驟S510。步驟S510、對當前FTP對象的狀態(tài)信息進行更新。本步驟執(zhí)行完畢后,繼續(xù)返回步驟S503。通過上述的處理過程,可以對FTP對象池中的FTP對象的狀態(tài)進行管理,使FTP對象池中的FTP對象狀態(tài)能夠保證當前系統(tǒng)中客戶端的FTP連接需求,同時避免FTP對象池的維護對系統(tǒng)資源帶來過多負擔。進一步的,需要指出的是,上述的三種管理參數(shù)及其后續(xù)的處理策略只是本發(fā)明實施例為了說明FTP對象池的管理規(guī)則而給出的幾個具體示例,上述的三種管理參數(shù)可以單獨的應用,也可以組合應用,而且,為了對FTP對象池進行更好的管理而設置的其他管理規(guī)則同樣也可以應用于本發(fā)明實施例所提出的技術方案,這樣的變化并不影響本發(fā)明的保護范圍。另外,上述的三種管理參數(shù)的處理策略的步驟編號只是為了方便說明而給出的, 三種管理參數(shù)及其相應的處理規(guī)則沒有必然的先后順序,具體順序的調整并不會影響本發(fā)明的保護范圍。上述的處理過程說明了 FTP對象的激活、掛起和銷毀操作的處理機制,而對于產(chǎn)生和校驗的處理機制,則結合后續(xù)的說明進行描述,在此不再重復說明。(2) ObjectPool (對象池管理單元)
用于管理要被池化的FTP對象的借出和歸還,并根據(jù)具體處理流程的需要,通知 PoolableObjectFactory完成相應的處理操作。具體的處理過程如圖6所示,為本發(fā)明實施例所提出的一種具體應用場景下的 FTP對象的借出和歸還過程的流程示意圖,具體包括以下步驟
步驟S601、客戶端請求獲取FTP對象。步驟S602、FTP對象池借出FTP對象。具體的,F(xiàn)TP對象池獲取相應的處于激活狀態(tài)的FTP對象,配置給該客戶端。步驟S603、FTP對象池對借出的FTP對象進行激活校驗。如果校驗成功,則執(zhí)行步驟S604 ;
如果校驗失敗,則重新執(zhí)行步驟S602,借出其他FTP對象。本步驟即為前述的ObjectPool通知PoolableObjectFactory所進行的操作,而 PoolableOb jecthctory通過判斷相應的FTP對象是否真的處于激活狀態(tài)(當前與FTP服務器建立了連接),來完成相應的激活校驗,即前述的校驗功能的體現(xiàn)。
步驟S604、通過借出的FTP對象作出相應的FTP操作。相應的FTP操作結束后,執(zhí)行步驟S605。步驟S605、FTP對象池回收歸還的FTP對象。本步驟的處理目的在于將客戶端使用完畢的FTP對象進行回收,具體的回收方式可以是客戶端的主動歸還,也可以是基于對客戶端的FTP操作狀態(tài)的監(jiān)控,即在客戶端的 FTP操作結束后,直接回收FTP對象,無論應用哪種方法,均可保證在客戶端對FTP對象使用完畢后,將相應的FTP對象回收到FTP對象池中,保證FTP對象池中的FTP對象可以被循環(huán)利用。需要進一步指出的是,上述的步驟S602、步驟S603和步驟S605均是在FTP對象池中所進行的操作,對客戶端透明,從而,客戶端無需關心登錄、注銷、判斷連接是否超時,以及從對象池借用和歸還等過程的處理,氣質需要進行具體的FTP操作即可。(3) ObjectPoolFactory (對象池創(chuàng)建單元),即FTP對象池處理單元。用于大量生成或撤銷不同類型和設置的FTP對象池。由于系統(tǒng)中可能存在多個FTP服務器,而客戶端也會出現(xiàn)對于不同的FTP服務器的連接請求,因此,ObjectPoolhctory的作用在于為不同的FTP服務器建立或撤銷不同類型和設置的FTP對象池。當然,這是對于存在多個FTP服務器的系統(tǒng)而言,而如果系統(tǒng)中只存在一個FTP服務器,那么ObjectPoolhctory只需要進行一個FTP對象池的建立。具體的處理過程如圖7所示,為本發(fā)明實施例所提出的一種具體應用場景下的 FTP對象池的建立過程的流程示意圖,具體包括以下步驟
步驟S701、在FTP服務器中讀取配置信息。本步驟的處理是由ObjectPooPactory來完成的。這里的配置信息包括對該FTP服務器進行登錄所需要的用戶名、密碼、IP地址和端口等信息,當FTP服務器中存在多個登錄賬戶的配置信息時,各登錄賬戶所對應的用戶名、密碼、IP地址和端口等登錄信息均需要進行獲取。其中,需要指出的是,根據(jù)實際的場景需要,可以在FTP服務器中設置一個或多個禁止在FTP對象池中創(chuàng)建FTP對象的登錄賬戶,這樣的登錄賬戶可能存在特殊的應用場景或者擁有特殊的操作權限,并不能將其對應的FTP對象置于FTP對象池中而任意的配置給客戶端,例如FTP服務器的管理員賬戶,如果存在這樣的登錄賬戶,則在本步驟中不會進行這樣的登錄賬戶的配置信息的獲取,而只對其他登錄賬戶的配置信息進行獲取。步驟S702、根據(jù)配置信息創(chuàng)建相應的FTP對象。需要指出的是,本步驟是ObjectPoolhctory在獲取到配置信息后,通知 PoolableObjectFactory來完成的步驟,即為前述的FTP對象的生成操作。具體的,根據(jù)獲取到的對該FTP服務器進行登錄所需要的用戶名、密碼、IP地址和端口等信息,創(chuàng)建相應的FTP對象,對于不同的登錄賬戶,需要創(chuàng)建不同的FTP對象,而對于同一個登錄賬戶,則需要重復創(chuàng)建相同的多個FTP對象,而重復創(chuàng)建FTP對象的數(shù)量則可以根據(jù)該登錄賬戶的使用頻率等因素,按照實際場景的需要進行設置,這樣的變化并不影響本發(fā)明的保護范圍。步驟S703、根據(jù)所創(chuàng)建的FTP對象創(chuàng)建FTP對象池。
需要進一步指出的是,上述的步驟S702和步驟S703沒有必然的先后關系,可以先創(chuàng)建FTP對象,然后,將所創(chuàng)建的FTP對象組成FTP對象池,也可以先創(chuàng)建FTP對象池,然后, 將所創(chuàng)建的FTP對象放入FTP對象池中,這樣的順序變化并不會影響本發(fā)明的保護范圍。基于上述的說明,可以確定,在具體的處理場景中,使用Pool組件的過程,也大體可以劃分成“創(chuàng)立PoolableObjecti^actory”、“使用ObjectPool”和可選的“利用 ObjectPoolFactory,,三種動作。具體的,Pool組件利用PoolableObjectFactory來管理被池化的FTP對象。 ObjectPool的實例在需要處理被池化的FTP對象的產(chǎn)生、激活、掛起、校驗和銷毀工作時, 就會調用與其關聯(lián)在一起的PoolableObjecti^ictory實例的相應方法來操作。與現(xiàn)有技術相比,本發(fā)明實施例所提出的技術方案具有以下優(yōu)點
通過應用本發(fā)明實施例的技術方案,建立包含多個FTP對象的FTP對象池,在客戶端需要進行FTP連接時,直接將處于激活狀態(tài)的FTP對象配置給該客戶端,使該客戶端可以通過該FTP對象直接進行FTP連接和相應的FTP操作處理,并在FTP操作處理結束后回收該 FTP對象到FTP對象池中,從而,使客戶端無需進行重復登錄,而是直接通過處于激活狀態(tài)的FTP對象進行FTP連接,避免了重復登錄所帶來的時間浪費,性能減低以及資源占用,簡化了客戶端進行FTP連接的操作流程,提高了 FTP連接的性能和效率。為了實現(xiàn)本發(fā)明實施例的技術方案,本發(fā)明實施例還提供了一種池管理設備,其結構示意圖如圖8所示,至少包括
接收模塊81,用于接收客戶端所發(fā)送的對象獲取請求;
配置模塊82,用于根據(jù)所述接收模塊81所接收到的對象獲取請求,在所述池管理設備所管理的FTP對象池中獲取一個處于激活狀態(tài)的FTP對象,配置給所述客戶端,以使所述客戶端通過所述FTP對象進行FTP連接和相應的FTP操作處理;
回收模塊83,用于在所述客戶端結束FTP操作處理后,將所述配置模塊82配置給所述客戶端的FTP對象回收到所述池管理設備所管理的FTP對象池中。進一步的,該池管理設備還包括創(chuàng)建模塊84和管理模塊85。創(chuàng)建模塊84用于獲取FTP服務器中的配置信息,根據(jù)所述配置信息創(chuàng)建相應的 FTP對象,并將所創(chuàng)建的FTP對象組成FTP對象池。管理模塊85用于對所述創(chuàng)建模塊84所創(chuàng)建的FTP對象池進行管理。具體的,所述管理模塊85,具體包括
設置子模塊851,用于設置所述創(chuàng)建模塊84所創(chuàng)建的FTP對象池的管理參數(shù)信息和相應的各管理觸發(fā)條件;
監(jiān)控子模塊852,用于監(jiān)控所述創(chuàng)建模塊84所創(chuàng)建的FTP對象池中各FTP對象的當前狀態(tài);
處理子模塊853,用于根據(jù)所述監(jiān)控子模塊852所監(jiān)控到的狀態(tài)信息,與所述設置子模塊851所設置的管理參數(shù)信息相比較,并在比較結果達到所述設置子模塊851所設置的一個或多個觸發(fā)條件時,對所述創(chuàng)建模塊84所創(chuàng)建的FTP對象池中各FTP對象的狀態(tài)進行調整 ο具體的,
所述設置子模塊851,具體用于設置所述創(chuàng)建模塊84所創(chuàng)建的FTP對象池的最小可配置激活數(shù)量,和/或最大激活數(shù)量,和/或最大對象數(shù)量; 所述處理子模塊853,具體用于
當所述監(jiān)控子模塊852所監(jiān)控到的所述FTP對象池中當前處于激活狀態(tài)的FTP對象中未配置給客戶端的FTP對象的數(shù)量,小于所述設置子模塊851所設置的最小可配置激活數(shù)量時,激活相應數(shù)量的所述FTP對象池中當前處于掛起狀態(tài)的FTP對象;和/或,
當所述監(jiān)控子模塊852所監(jiān)控到的所述FTP對象池中當前處于激活狀態(tài)的FTP對象的總數(shù)量,超過所述設置子模塊851所設置的最大激活數(shù)量時,將相應數(shù)量的所述FTP對象池中當前處于激活狀態(tài)的FTP對象進行掛起;和/或,
當所述監(jiān)控子模塊852所監(jiān)控到的所述FTP對象池中當前處于激活狀態(tài)和掛起狀態(tài)的 FTP對象的總數(shù)量,超過所述設置子模塊851所設置的最大對象數(shù)量時,將相應數(shù)量的所述 FTP對象池中當前處于掛起狀態(tài)的FTP對象進行銷毀。另一方面,所述配置模塊82,還用于對配置給所述客戶端的FTP對象進行激活校驗;
如果校驗失敗,則在所述池管理設備所管理的FTP對象池中重新獲取一個處于激活狀態(tài)的FTP對象,配置給所述客戶端,并繼續(xù)進行激活校驗,直至校驗成功,則確定對所述客戶端配置FTP對象成功。與現(xiàn)有技術相比,本發(fā)明實施例所提出的技術方案具有以下優(yōu)點
通過應用本發(fā)明實施例的技術方案,建立包含多個FTP對象的FTP對象池,在客戶端需要進行FTP連接時,直接將處于激活狀態(tài)的FTP對象配置給該客戶端,使該客戶端可以通過該FTP對象直接進行FTP連接和相應的FTP操作處理,并在FTP操作處理結束后回收該 FTP對象到FTP對象池中,從而,使客戶端無需進行重復登錄,而是直接通過處于激活狀態(tài)的FTP對象進行FTP連接,避免了重復登錄所帶來的時間浪費,性能減低以及資源占用,簡化了客戶端進行FTP連接的操作流程,提高了 FTP連接的性能和效率。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發(fā)明實施例可以通過硬件實現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā)明實施例的技術方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(可以是⑶-ROM,U盤,移動硬盤等)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或網(wǎng)絡側設備等)執(zhí)行本發(fā)明實施例各個實施場景所述的方法。本領域技術人員可以理解附圖只是一個優(yōu)選實施場景的示意圖,附圖中的模塊或流程并不一定是實施本發(fā)明實施例所必須的。本領域技術人員可以理解實施場景中的裝置中的模塊可以按照實施場景描述進行分布于實施場景的裝置中,也可以進行相應變化位于不同于本實施場景的一個或多個裝置中。上述實施場景的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。上述本發(fā)明實施例序號僅僅為了描述,不代表實施場景的優(yōu)劣。以上公開的僅為本發(fā)明實施例的幾個具體實施場景,但是,本發(fā)明實施例并非局限于此,任何本領域的技術人員能思之的變化都應落入本發(fā)明實施例的業(yè)務限制范圍。
權利要求
1.一種FTP連接方法,其特征在于,至少包括以下步驟 池管理設備接收到客戶端所發(fā)送的對象獲取請求;所述池管理設備在自身所管理的FTP對象池中獲取一個處于激活狀態(tài)的FTP對象,配置給所述客戶端,以使所述客戶端通過所述FTP對象進行FTP連接和相應的FTP操作處理; 所述池管理設備在所述客戶端結束FTP操作處理后,將配置給所述客戶端的FTP對象回收到自身所管理的FTP對象池中。
2.如權利要求1所述的方法,其特征在于,所述池管理設備獲取到客戶端所發(fā)送的對象獲取請求之前,還包括所述池管理設備獲取FTP服務器中的配置信息;所述池管理設備根據(jù)所述配置信息創(chuàng)建相應的FTP對象;所述池管理設備將所創(chuàng)建的FTP對象組成FTP對象池,并進行管理。
3.如權利要求2所述的方法,其特征在于,所述池管理設備將所創(chuàng)建的FTP對象組成 FTP對象池,并進行管理,具體包括所述池管理設備預先設置所述FTP對象池的管理參數(shù)信息和相應的各管理觸發(fā)條件; 所述池管理設備監(jiān)控所述FTP對象池中各FTP對象的當前狀態(tài); 所述池管理設備將監(jiān)控到的狀態(tài)信息與所述管理參數(shù)信息進行比較,并在比較結果達到一個或多個管理觸發(fā)條件時,對所述FTP對象池中各FTP對象的狀態(tài)進行調整。
4.如權利要求3所述的方法,其特征在于,所述池管理設備將所創(chuàng)建的FTP對象組成 FTP對象池,并進行管理,具體包括所述池管理設備預先設置所述FTP對象池的最小可配置激活數(shù)量; 當所述池管理設備確定所述FTP對象池中當前處于激活狀態(tài)的FTP對象中未配置給客戶端的FTP對象的數(shù)量,小于所述最小可配置激活數(shù)量時,所述池管理設備激活相應數(shù)量的所述FTP對象池中當前處于掛起狀態(tài)的FTP對象。
5.如權利要求3所述的方法,其特征在于,所述池管理設備將所創(chuàng)建的FTP對象組成 FTP對象池,并進行管理,具體包括所述池管理設備預先設置所述FTP對象池的最大激活數(shù)量;當所述池管理設備確定所述FTP對象池中當前處于激活狀態(tài)的FTP對象的總數(shù)量,超過所述最大激活數(shù)量時,所述池管理設備將相應數(shù)量的所述FTP對象池中當前處于激活狀態(tài)的FTP對象進行掛起。
6.如權利要求3所述的方法,其特征在于,所述池管理設備將所創(chuàng)建的FTP對象組成 FTP對象池,并進行管理,具體包括所述池管理設備預先設置所述FTP對象池的最大對象數(shù)量;當所述池管理設備確定所述FTP對象池中當前處于激活狀態(tài)和掛起狀態(tài)的FTP對象的總數(shù)量,超過所述最大對象數(shù)量時,所述池管理設備將相應數(shù)量的所述FTP對象池中當前處于掛起狀態(tài)的FTP對象進行銷毀。
7.如權利要求1所述的方法,其特征在于,所述池管理設備在自身所管理的FTP對象池中獲取一個處于激活狀態(tài)的FTP對象,配置給所述客戶端的過程中,還包括所述池管理設備對配置給所述客戶端的FTP對象進行激活校驗; 如果校驗失敗,則所述池管理設備在自身所管理的FTP對象池中重新獲取一個處于激活狀態(tài)的FTP對象,配置給所述客戶端,并繼續(xù)進行激活校驗,直至校驗成功,則確定對所述客戶端配置FTP對象成功。
8.一種池管理設備,其特征在于,至少包括接收模塊,用于接收客戶端所發(fā)送的對象獲取請求;配置模塊,用于根據(jù)所述接收模塊所接收到的對象獲取請求,在所述池管理設備所管理的FTP對象池中獲取一個處于激活狀態(tài)的FTP對象,配置給所述客戶端,以使所述客戶端通過所述FTP對象進行FTP連接和相應的FTP操作處理;回收模塊,用于在所述客戶端結束FTP操作處理后,將所述配置模塊配置給所述客戶端的FTP對象回收到所述池管理設備所管理的FTP對象池中。
9.如權利要求8所述的池管理設備,其特征在于,還包括創(chuàng)建模塊和管理模塊所述創(chuàng)建模塊,用于獲取FTP服務器中的配置信息,根據(jù)所述配置信息創(chuàng)建相應的FTP 對象,并將所創(chuàng)建的FTP對象組成FTP對象池;所述管理模塊,用于對所述創(chuàng)建模塊所創(chuàng)建的FTP對象池進行管理。
10.如權利要求9所述的池管理設備,其特征在于,所述管理模塊,具體包括設置子模塊,用于設置所述創(chuàng)建模塊所創(chuàng)建的FTP對象池的管理參數(shù)信息和相應的各管理觸發(fā)條件;監(jiān)控子模塊,用于監(jiān)控所述創(chuàng)建模塊所創(chuàng)建的FTP對象池中各FTP對象的當前狀態(tài); 處理子模塊,用于根據(jù)所述監(jiān)控子模塊所監(jiān)控到的狀態(tài)信息,與所述設置子模塊所設置的管理參數(shù)信息相比較,并在比較結果達到所述設置子模塊所設置的一個或多個觸發(fā)條件時,對所述創(chuàng)建模塊所創(chuàng)建的FTP對象池中各FTP對象的狀態(tài)進行調整。
11.如權利要求10所述的池管理設備,其特征在于,所述設置子模塊,具體用于設置所述創(chuàng)建模塊所創(chuàng)建的FTP對象池的最小可配置激活數(shù)量,和/或最大激活數(shù)量,和/或最大對象數(shù)量; 所述處理子模塊,具體用于當所述監(jiān)控子模塊所監(jiān)控到的所述FTP對象池中當前處于激活狀態(tài)的FTP對象中未配置給客戶端的FTP對象的數(shù)量,小于所述設置子模塊所設置的最小可配置激活數(shù)量時,激活相應數(shù)量的所述FTP對象池中當前處于掛起狀態(tài)的FTP對象;和/或,當所述監(jiān)控子模塊所監(jiān)控到的所述FTP對象池中當前處于激活狀態(tài)的FTP對象的總數(shù)量,超過所述設置子模塊所設置的最大激活數(shù)量時,將相應數(shù)量的所述FTP對象池中當前處于激活狀態(tài)的FTP對象進行掛起;和/或,當所述監(jiān)控子模塊所監(jiān)控到的所述FTP對象池中當前處于激活狀態(tài)和掛起狀態(tài)的FTP 對象的總數(shù)量,超過所述設置子模塊所設置的最大對象數(shù)量時,將相應數(shù)量的所述FTP對象池中當前處于掛起狀態(tài)的FTP對象進行銷毀。
12.如權利要求8所述的池管理設備,其特征在于,所述配置模塊,還用于 對配置給所述客戶端的FTP對象進行激活校驗;如果校驗失敗,則在所述池管理設備所管理的FTP對象池中重新獲取一個處于激活狀態(tài)的FTP對象,配置給所述客戶端,并繼續(xù)進行激活校驗,直至校驗成功,則確定對所述客戶端配置FTP對象成功。
全文摘要
本發(fā)明實施例公開了一種FTP連接方法和設備,通過應用本發(fā)明實施例的技術方案,建立包含多個FTP對象的FTP對象池,在客戶端需要進行FTP連接時,直接將處于激活狀態(tài)的FTP對象配置給該客戶端,使該客戶端可以通過該FTP對象直接進行FTP連接和相應的FTP操作處理,并在FTP操作處理結束后回收該FTP對象到FTP對象池中,從而,使客戶端無需進行重復登錄,而是直接通過處于激活狀態(tài)的FTP對象進行FTP連接,避免了重復登錄所帶來的時間浪費,性能減低以及資源占用,簡化了客戶端進行FTP連接的操作流程,提高了FTP連接的性能和效率。
文檔編號H04L12/24GK102347863SQ201110339358
公開日2012年2月8日 申請日期2011年11月1日 優(yōu)先權日2011年11月1日
發(fā)明者吳樂 申請人:大唐移動通信設備有限公司