CN102347863A - Ftp连接方法和设备 - Google Patents
Ftp连接方法和设备 Download PDFInfo
- Publication number
- CN102347863A CN102347863A CN2011103393583A CN201110339358A CN102347863A CN 102347863 A CN102347863 A CN 102347863A CN 2011103393583 A CN2011103393583 A CN 2011103393583A CN 201110339358 A CN201110339358 A CN 201110339358A CN 102347863 A CN102347863 A CN 102347863A
- Authority
- CN
- China
- Prior art keywords
- ftp
- ftp object
- pool
- client
- management equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明实施例公开了一种FTP连接方法和设备,通过应用本发明实施例的技术方案,建立包含多个FTP对象的FTP对象池,在客户端需要进行FTP连接时,直接将处于激活状态的FTP对象配置给该客户端,使该客户端可以通过该FTP对象直接进行FTP连接和相应的FTP操作处理,并在FTP操作处理结束后回收该FTP对象到FTP对象池中,从而,使客户端无需进行重复登录,而是直接通过处于激活状态的FTP对象进行FTP连接,避免了重复登录所带来的时间浪费,性能减低以及资源占用,简化了客户端进行FTP连接的操作流程,提高了FTP连接的性能和效率。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种FTP连接方法和设备。
背景技术
在LTE(LongTerm Evolution,长期演进)-OMC(Operations & Maintenance Center,操作维护中心)网管平台的使用过程中,有很多涉及FTP(File Transfer Protocol,文件传输协议)操作的地方。
如图1所示,为现有技术中的FTP系统的结构示意图。
众所周知,FTP是文件服务器所执行的协议,通常可以使用FileZilla、FlashFXP等客户端进行操作,这些客户端登录后,在FTP服务器没有超时的情况下,可以持续进行操作。
在LTE-OMC网管平台中,由于要用程序进行文件的上传和下载操作,按照常用的处理方案,可以使用Apache Commons Net(一种常用的Web服务器软件中的项目名称)项目下的FtpClient(一种子项目的名称)类进行FTP服务器的操作。在每一次操作前,均需要调用login()方法进行登录。
如图2所示,为现有技术中的FTP操作的流程示意图。
具体的,现有技术中常见的登录方式是每次提供用户名、密码、IP地址和端口进行登录,登录后进行操作。
在实现本发明的过程中,发明人发现现有技术中至少存在以下问题:
这样的登录方法在操作量不大的时候,每次都登录不会产生太大的问题,而一旦操作量增大,而每次操作又都需要提供用户名、密码、IP地址和端口进行登录,那么,频繁的登录会消耗大量的时间,影响系统性能。
发明内容
本发明实施例提供一种FTP连接方法和设备,解决现有的技术方案中每次进行FTP连接都需要进行登录所导致的重复登录操作,以及因此引起的时间浪费,性能减低以及资源占用的问题。
为达到上述目的,本发明实施例一方面提供了一种FTP连接方法,至少包括以下步骤:
池管理设备接收到客户端所发送的对象获取请求;
所述池管理设备在自身所管理的FTP对象池中获取一个处于激活状态的FTP对象,配置给所述客户端,以使所述客户端通过所述FTP对象进行FTP连接和相应的FTP操作处理;
所述池管理设备在所述客户端结束FTP操作处理后,将配置给所述客户端的FTP对象回收到自身所管理的FTP对象池中。
另一方面,本发明实施例还提供了一种池管理设备,至少包括:
接收模块,用于接收客户端所发送的对象获取请求;
配置模块,用于根据所述接收模块所接收到的对象获取请求,在所述池管理设备所管理的FTP对象池中获取一个处于激活状态的FTP对象,配置给所述客户端,以使所述客户端通过所述FTP对象进行FTP连接和相应的FTP操作处理;
回收模块,用于在所述客户端结束FTP操作处理后,将所述配置模块配置给所述客户端的FTP对象回收到所述池管理设备所管理的FTP对象池中。
与现有技术相比,本发明实施例所提出的技术方案具有以下优点:
通过应用本发明实施例的技术方案,建立包含多个FTP对象的FTP对象池,在客户端需要进行FTP连接时,直接将处于激活状态的FTP对象配置给该客户端,使该客户端可以通过该FTP对象直接进行FTP连接和相应的FTP操作处理,并在FTP操作处理结束后回收该FTP对象到FTP对象池中,从而,使客户端无需进行重复登录,而是直接通过处于激活状态的FTP对象进行FTP连接,避免了重复登录所带来的时间浪费,性能减低以及资源占用,简化了客户端进行FTP连接的操作流程,提高了FTP连接的性能和效率。
附图说明
图1为现有技术中的FTP系统的结构示意图;
图2为现有技术中的FTP操作的流程示意图;
图3为本发明实施例所提出的一种包括FTP对象池的系统的结构示意图;
图4为本发明实施例所提出的一种FTP连接方法的流程示意图;
图5为本发明实施例所提出的一种具体应用场景下的FTP对象的状态管理过程的流程示意图;
图6为本发明实施例所提出的一种具体应用场景下的FTP对象的借出和归还过程的流程示意图;
图7为本发明实施例所提出的一种具体应用场景下的FTP对象池的建立过程的流程示意图;
图8为本发明实施例提出的一种池管理设备的结构示意图。
具体实施方式
如背景技术所述,在一些使用了FTP的系统中,FTP都需要登录后才能进行相应的操作,因此,对于目前的客户端,每次操作均需要进行登录,如果操作次数不多,这样的重复登录并不会对系统性能产生明显的影响,可是当当前系统中存在大量的客户端并发进行操作,或者一个或多个客户端进行大量操作时,反复登录便会带来严重的时间和资源损耗,严重影响系统的性能。
为了克服这样的缺陷,本发明实施例提出了一种FTP连接方法,通过预先建立FTP对象池,并将池中的处于激活状态的FTP对象直接分配给需要进行FTP连接的客户端的方式,避免客户端的重复登录,并进而避免由此引起的时间和资源损耗,提高系统的性能。
首先,如图3所示,为本发明实施例所提出的一种包括FTP对象池的系统的结构示意图,在该系统中,各客户端通过FTP对象池对FTP服务器进行FTP连接,并进行相应的FTP操作。
如图4所示,为本发明实施例所提出的一种FTP连接方法的流程示意图,该方法具体包括以下步骤:
步骤S401、池管理设备接收到客户端所发送的对象获取请求。
在本步骤之前,首选需要进行FTP对象池的创建。
在具体的处理场景中,FTP对象池的创建过程具体包括:
(1)所述池管理设备获取FTP服务器中的配置信息。
这里的配置信息包括对该FTP服务器进行登录所需要的用户名、密码、IP地址和端口等信息,当FTP服务器中存在多个登录账户的配置信息时,各登录账户所对应的用户名、密码、IP地址和端口等登录信息均需要进行获取。
其中,需要指出的是,根据实际的场景需要,可以在FTP服务器中设置一个或多个禁止在FTP对象池中创建FTP对象的登录账户,这样的登录账户可能存在特殊的应用场景或者拥有特殊的操作权限,并不能将其对应的FTP对象置于FTP对象池中而任意的配置给客户端,例如FTP服务器的管理员账户,如果存在这样的登录账户,则在本步骤中不会进行这样的登录账户的配置信息的获取,而只对其他登录账户的配置信息进行获取。
(2)所述池管理设备根据所述配置信息创建相应的FTP对象。
具体的,池管理设备根据获取到的对该FTP服务器进行登录所需要的用户名、密码、IP地址和端口等信息,创建相应的FTP对象,对于不同的登录账户,需要创建不同的FTP对象,而对于同一个登录账户,则需要重复创建相同的多个FTP对象,而重复创建FTP对象的数量则可以根据该登录账户的使用频率等因素,按照实际场景的需要进行设置,这样的变化并不影响本发明的保护范围。
其中,每个FTP对象均包含相应的登录账户的用户名、密码、IP地址和端口等登录信息,可以根据这些信息与FTP服务器建立FTP连接,具体的,如果一个FTP对象当前与FTP服务器建立了FTP连接,那么,该FTP对象当前处于激活状态,反之,如果一个FTP对象当前没有与FTP服务器建立FTP连接,那么,该FTP对象当前处于挂起状态。
在进行FTP对象的创建过程中,所创建的FTP对象的状态可以根据实际需要进行设置,可以是激活状态,即在创建完成后直接与FTP服务器进行FTP连接,也可以是挂起状态,即在完成创建后不进行任何的FTP连接操作。
(3)所述池管理设备将所创建的FTP对象组成FTP对象池,并进行管理。
需要进一步指出的是,FTP对象的创建不仅存在于建立FTP对象池的初始阶段,在FTP对象池建立后,如果FTP对象池中的FTP对象数量不足,或者FTP服务器增加了新的登录账户,那么,均需要进行新的FTP对象的创建,而创建之后的FTP对象直接添加到FTP对象池中。
进一步的,本步骤中所提及的对于FTP对象池的管理,主要是针对FTP对象池中所包括的FTP对象进行的状态管理,具体包括:
首先,所述池管理设备预先设置所述FTP对象池的管理参数信息和相应的各管理触发条件,然后,所述池管理设备监控所述FTP对象池中各FTP对象的当前状态,之后,池管理设备将监控到的状态信息与所述管理参数信息进行比较,并在比较结果达到一个或多个管理触发条件时,对所述FTP对象池中各FTP对象的状态进行调整。
具体的,池管理设备可以根据实际的需要进行相应的管理参数和管理触发条件的设置,以下,具体以三种类型的管理参数和管理触发条件的应用场景为例进行说明:
场景一、所述池管理设备预先设置所述FTP对象池的最小可配置激活数量和相应的管理触发条件。
在此场景中,当所述池管理设备确定所述FTP对象池中当前处于激活状态的FTP对象中未配置给客户端的FTP对象的数量,小于所述最小可配置激活数量时,所述池管理设备激活相应数量的所述FTP对象池中当前处于挂起状态的FTP对象。
通过本场景中的规则设置,可以保证FTP资源池中始终存在一定数量的处于激活状态的FTP对象可以随时配置给新的存在FTP连接需求的客户端。
场景二、所述池管理设备预先设置所述FTP对象池的最大激活数量和相应的管理触发条件。
在此场景中,当所述池管理设备确定所述FTP对象池中当前处于激活状态的FTP对象的总数量,超过所述最大激活数量时,所述池管理设备将相应数量的所述FTP对象池中当前处于激活状态的FTP对象进行挂起。
通过本场景中的规则设置,可以在FTP资源池中存在过多的处于激活状态的FTP对象时,进行FTP对象的状态转换,避免由于存在过多的处于激活状态的FTP对象而导致FTP服务器中过多的通信资源被占用。
场景三、所述池管理设备预先设置所述FTP对象池的最大对象数量和相应的管理触发条件。
在此场景中,当所述池管理设备确定所述FTP对象池中当前处于激活状态和挂起状态的FTP对象的总数量,超过所述最大对象数量时,所述池管理设备将相应数量的所述FTP对象池中当前处于挂起状态的FTP对象进行销毁。
通过本场景中的规则设置,可以在FTP资源池中存在的FTP对象的总数量过多时,进行FTP对象的销毁,从而降低FTP对象的总数量,避免FTP资源池由于维护过多的FTP对象而导致的过多的系统资源的消耗。
需要指出的是,上述的三种场景只是本发明实施例为了说明FTP对象池的管理规则而给出的几个具体示例,上述的三种场景所对应的规则设置方式可以单独的应用,也可以组合应用,而且,为了对FTP对象池进行更好的管理而设置的其他管理规则同样也可以应用于本发明实施例所提出的技术方案,这样的变化并不影响本发明的保护范围。
步骤S402、所述池管理设备在自身所管理的FTP对象池中获取一个处于激活状态的FTP对象,配置给所述客户端,以使所述客户端通过所述FTP对象进行FTP连接和相应的FTP操作处理。
为了确保配置给客户端的FTP对象的状态,在本步骤的处理过程中,还可以包括以下的激活验证处理过程,这样的处理主要是为了避免出现由于FTP对象池对于FTP对象的状态记录错误,而导致配置给客户端未处于激活状态的FTP对象,并进而导致客户端的FTP连接失败的情况,提高FTP对象配置过程的准确性。
首先,池管理设备根据当前记录的FTP对象的状态信息获取到准备配置给客户端的处于激活状态的FTP对象,但此时FTP对象的状态是否处于激活状态只是依据FTP对象池的状态信息记录,至于FTP对象是否真的处于激活状态,则依赖于FTP对象池的状态信息记录的准确性。
进一步的,池管理设备对该FTP对象进行激活校验,即确定该FTP对象是否真的处于激活状态。
如果校验失败,则所述池管理设备在自身所管理的FTP对象池中重新获取一个处于激活状态的FTP对象,配置给所述客户端,并继续进行激活校验,直至校验成功,则确定对所述客户端配置FTP对象成功。
通过上述的处理,确保配置给客户端的FTP对象一定是处于激活状态的,提高客户端通过所配置的FTP对象进行FTP连接的成功率。
步骤S403、所述池管理设备在所述客户端结束FTP操作处理后,将配置给所述客户端的FTP对象回收到自身所管理的FTP对象池中。
本步骤的处理目的在于将客户端使用完毕的FTP对象进行回收,具体的回收方式可以是客户端的主动归还,也可以是基于对客户端的FTP操作状态的监控,即在客户端的FTP操作结束后,直接回收FTP对象,无论应用哪种方法,均可保证在客户端对FTP对象使用完毕后,将相应的FTP对象回收到FTP对象池中,保证FTP对象池中的FTP对象可以被循环利用。
通过应用上述的技术方案,不仅可以避免客户端的重复登录,而且,对于同一个客户端来讲,如果其在结束了当前的FTP操作且连接超时的情况下,需要进行下一次FTP操作,那么,该客户端将重新发起对象获取操作,并在FTP对象池中重新获得处于激活状态的FTP对象,并直接通过该FTP对象进行FTP连接,而不需要重复进行登录操作,也不会导致现有技术中在连接超时的情况下继续发起操作失败的情况。
与现有技术相比,本发明实施例所提出的技术方案具有以下优点:
通过应用本发明实施例的技术方案,建立包含多个FTP对象的FTP对象池,在客户端需要进行FTP连接时,直接将处于激活状态的FTP对象配置给该客户端,使该客户端可以通过该FTP对象直接进行FTP连接和相应的FTP操作处理,并在FTP操作处理结束后回收该FTP对象到FTP对象池中,从而,使客户端无需进行重复登录,而是直接通过处于激活状态的FTP对象进行FTP连接,避免了重复登录所带来的时间浪费,性能减低以及资源占用,简化了客户端进行FTP连接的操作流程,提高了FTP连接的性能和效率。
下面,结合具体的应用场景,对本发明实施例所提出的技术方案进行说明。
根据现有的技术方案实施经验来看,并不是所有的场景都需要使用对象池,维护对象池本身也有较大的开销。一般来讲,有状态且创建消耗时间较长的对象,需要进行池化,以避免反复创建对象带来的性能损耗。
而FTP连接即满足这样的特征,因此,对于FTP连接可以应用FTP对象池的技术方案,即可以将FTP对象进行池化,下次有请求到达时,直接从FTP对象池内取出已有的登录后的FTP对象配置给客户端即可,避免了反复登录所造成的性能损耗。
本发明实施例所提出的技术方案中,提供了一种基于FTP对象池的FTP连接方法,池化FtpClient对象,用户无需关心登录、注销、判断连接是否超时,以及从对象池借用和归还等过程,直接使用代理对象进行操作即可,避免了客户端进行每次操作都需要进行反复登录的问题,提高了系统的性能。
本发明实施例所提出的技术方案的关键点是使用了FTP对象池来进行FTP对象的缓存,并自动维护该FTP对象的状态,从而避免了在频繁使用FTP操作的系统中,由于频繁登录导致的效率低下的问题,同时还可以支持多个客户端的并发操作。
在一种具体的应用场景下,对于前述的维护FTP对象池的池管理设备,可以具体体现为相应的Pool(池)组件,当然,这只是一种具体的体现形式,并不会影响本发明的保护范围。
在这样的Pool组件中,对象池化的工作被划分给了三类对象:
(1)PoolableObjectFactory(池化对象处理单元),即FTP对象处理单元。
用于管理被池化的普通FTP对象的状态变化,包括产生、激活、挂起、校验和销毁等。
具体的处理过程如图5所示,为本发明实施例所提出的一种具体应用场景下的FTP对象的状态管理过程的流程示意图,具体包括以下步骤:
步骤S501、设置当前FTP对象池的管理参数。
在本实施例中,所设置的管理参数包括:
FTP对象池中所包括的FTP对象的最大数量M;
FTP对象池中所包括的处于激活状态且未配置给客户端的FTP对象的最小数量S;
FTP对象池中所包括的处于激活状态的FTP对象的最大数量X。
步骤S502、监控当前FTP资源池中的FTP对象的状态。
所监控得到的数据至少包括:
当前FTP对象池中所包括的处于激活状态的FTP对象的数量A;
当前FTP对象池中所包括的处于挂起状态的FTP对象的数量H;
当前FTP对象池中所包括的处于激活状态且未配置给客户端的FTP对象的数量L。
步骤S503、将监控得到的当前FTP对象的状态信息和所设定的管理参数进行比较。
具体的,需要根据前述的步骤S501中的具体参数设置情况进行比较。
根据不同的比较结果,进一步执行以下的步骤S504、步骤S506或步骤S508。
步骤S504、确定当前的比较结果是否为L≤S。
如果是,则执行步骤S505;
如果否,则返回步骤S503。
步骤S505、在FTP对象池中激活相应数量的当前处于挂起状态的FTP对象。
通过这样的处理,保证FTP资源池中始终存在一定数量的处于激活状态的FTP对象可以随时配置给新的存在FTP连接需求的客户端。
具体的,所激活的FTP对象的数量可以根据需要进行设定。
本步骤执行完毕后,执行步骤S510。
步骤S506、确定当前的比较结果是否为A≥X。
如果是,则执行步骤S507;
如果否,则返回步骤S503。
步骤S507、在FTP对象池中将相应数量的当前处于激活状态的FTP对象进行挂起。
通过这样的处理,在FTP资源池中存在过多的处于激活状态的FTP对象时,进行FTP对象的状态转换,避免由于存在过多的处于激活状态的FTP对象而导致FTP服务器中过多的通信资源被占用。
具体的,所挂起的FTP对象的数量可以根据需要进行设定。
本步骤执行完毕后,执行步骤S510。
步骤S508、确定当前的比较结果是否为A+H>M。
如果是,则执行步骤S509;
如果否,则返回步骤S503。
步骤S509、在FTP对象池中将相应数量的当前处于挂起状态的FTP对象进行销毁。
通过这样的处理,在FTP资源池中存在的FTP对象的总数量过多时,进行FTP对象的销毁,从而降低FTP对象的总数量,避免FTP资源池由于维护过多的FTP对象而导致的过多的系统资源的消耗。
具体的,所销毁的FTP对象的数量可以根据需要进行设定。
本步骤执行完毕后,执行步骤S510。
步骤S510、对当前FTP对象的状态信息进行更新。
本步骤执行完毕后,继续返回步骤S503。
通过上述的处理过程,可以对FTP对象池中的FTP对象的状态进行管理,使FTP对象池中的FTP对象状态能够保证当前系统中客户端的FTP连接需求,同时避免FTP对象池的维护对系统资源带来过多负担。
进一步的,需要指出的是,上述的三种管理参数及其后续的处理策略只是本发明实施例为了说明FTP对象池的管理规则而给出的几个具体示例,上述的三种管理参数可以单独的应用,也可以组合应用,而且,为了对FTP对象池进行更好的管理而设置的其他管理规则同样也可以应用于本发明实施例所提出的技术方案,这样的变化并不影响本发明的保护范围。
另外,上述的三种管理参数的处理策略的步骤编号只是为了方便说明而给出的,三种管理参数及其相应的处理规则没有必然的先后顺序,具体顺序的调整并不会影响本发明的保护范围。
上述的处理过程说明了FTP对象的激活、挂起和销毁操作的处理机制,而对于产生和校验的处理机制,则结合后续的说明进行描述,在此不再重复说明。
(2)ObjectPool(对象池管理单元):
用于管理要被池化的FTP对象的借出和归还,并根据具体处理流程的需要,通知PoolableObjectFactory完成相应的处理操作。
具体的处理过程如图6所示,为本发明实施例所提出的一种具体应用场景下的FTP对象的借出和归还过程的流程示意图,具体包括以下步骤:
步骤S601、客户端请求获取FTP对象。
步骤S602、FTP对象池借出FTP对象。
具体的,FTP对象池获取相应的处于激活状态的FTP对象,配置给该客户端。
步骤S603、FTP对象池对借出的FTP对象进行激活校验。
如果校验成功,则执行步骤S604;
如果校验失败,则重新执行步骤S602,借出其他FTP对象。
本步骤即为前述的ObjectPool通知PoolableObjectFactory所进行的操作,而PoolableObjectFactory通过判断相应的FTP对象是否真的处于激活状态(当前与FTP服务器建立了连接),来完成相应的激活校验,即前述的校验功能的体现。
步骤S604、通过借出的FTP对象作出相应的FTP操作。
相应的FTP操作结束后,执行步骤S605。
步骤S605、FTP对象池回收归还的FTP对象。
本步骤的处理目的在于将客户端使用完毕的FTP对象进行回收,具体的回收方式可以是客户端的主动归还,也可以是基于对客户端的FTP操作状态的监控,即在客户端的FTP操作结束后,直接回收FTP对象,无论应用哪种方法,均可保证在客户端对FTP对象使用完毕后,将相应的FTP对象回收到FTP对象池中,保证FTP对象池中的FTP对象可以被循环利用。
需要进一步指出的是,上述的步骤S602、步骤S603和步骤S605均是在FTP对象池中所进行的操作,对客户端透明,从而,客户端无需关心登录、注销、判断连接是否超时,以及从对象池借用和归还等过程的处理,气质需要进行具体的FTP操作即可。
(3)ObjectPoolFactory(对象池创建单元),即FTP对象池处理单元。
用于大量生成或撤销不同类型和设置的FTP对象池。
由于系统中可能存在多个FTP服务器,而客户端也会出现对于不同的FTP服务器的连接请求,因此,ObjectPoolFactory的作用在于为不同的FTP服务器建立或撤销不同类型和设置的FTP对象池。
当然,这是对于存在多个FTP服务器的系统而言,而如果系统中只存在一个FTP服务器,那么ObjectPoolFactory只需要进行一个FTP对象池的建立。
具体的处理过程如图7所示,为本发明实施例所提出的一种具体应用场景下的FTP对象池的建立过程的流程示意图,具体包括以下步骤:
步骤S701、在FTP服务器中读取配置信息。
本步骤的处理是由ObjectPoolFactory来完成的。
这里的配置信息包括对该FTP服务器进行登录所需要的用户名、密码、IP地址和端口等信息,当FTP服务器中存在多个登录账户的配置信息时,各登录账户所对应的用户名、密码、IP地址和端口等登录信息均需要进行获取。
其中,需要指出的是,根据实际的场景需要,可以在FTP服务器中设置一个或多个禁止在FTP对象池中创建FTP对象的登录账户,这样的登录账户可能存在特殊的应用场景或者拥有特殊的操作权限,并不能将其对应的FTP对象置于FTP对象池中而任意的配置给客户端,例如FTP服务器的管理员账户,如果存在这样的登录账户,则在本步骤中不会进行这样的登录账户的配置信息的获取,而只对其他登录账户的配置信息进行获取。
步骤S702、根据配置信息创建相应的FTP对象。
需要指出的是,本步骤是ObjectPoolFactory在获取到配置信息后,通知PoolableObjectFactory来完成的步骤,即为前述的FTP对象的生成操作。
具体的,根据获取到的对该FTP服务器进行登录所需要的用户名、密码、IP地址和端口等信息,创建相应的FTP对象,对于不同的登录账户,需要创建不同的FTP对象,而对于同一个登录账户,则需要重复创建相同的多个FTP对象,而重复创建FTP对象的数量则可以根据该登录账户的使用频率等因素,按照实际场景的需要进行设置,这样的变化并不影响本发明的保护范围。
步骤S703、根据所创建的FTP对象创建FTP对象池。
需要进一步指出的是,上述的步骤S702和步骤S703没有必然的先后关系,可以先创建FTP对象,然后,将所创建的FTP对象组成FTP对象池,也可以先创建FTP对象池,然后,将所创建的FTP对象放入FTP对象池中,这样的顺序变化并不会影响本发明的保护范围。
基于上述的说明,可以确定,在具体的处理场景中,使用Pool组件的过程,也大体可以划分成“创立PoolableObjectFactory”、“使用ObjectPool”和可选的“利用ObjectPoolFactory”三种动作。
具体的,Pool组件利用PoolableObjectFactory来管理被池化的FTP对象。ObjectPool的实例在需要处理被池化的FTP对象的产生、激活、挂起、校验和销毁工作时,就会调用与其关联在一起的PoolableObjectFactory实例的相应方法来操作。
与现有技术相比,本发明实施例所提出的技术方案具有以下优点:
通过应用本发明实施例的技术方案,建立包含多个FTP对象的FTP对象池,在客户端需要进行FTP连接时,直接将处于激活状态的FTP对象配置给该客户端,使该客户端可以通过该FTP对象直接进行FTP连接和相应的FTP操作处理,并在FTP操作处理结束后回收该FTP对象到FTP对象池中,从而,使客户端无需进行重复登录,而是直接通过处于激活状态的FTP对象进行FTP连接,避免了重复登录所带来的时间浪费,性能减低以及资源占用,简化了客户端进行FTP连接的操作流程,提高了FTP连接的性能和效率。
为了实现本发明实施例的技术方案,本发明实施例还提供了一种池管理设备,其结构示意图如图8所示,至少包括:
接收模块81,用于接收客户端所发送的对象获取请求;
配置模块82,用于根据所述接收模块81所接收到的对象获取请求,在所述池管理设备所管理的FTP对象池中获取一个处于激活状态的FTP对象,配置给所述客户端,以使所述客户端通过所述FTP对象进行FTP连接和相应的FTP操作处理;
回收模块83,用于在所述客户端结束FTP操作处理后,将所述配置模块82配置给所述客户端的FTP对象回收到所述池管理设备所管理的FTP对象池中。
进一步的,该池管理设备还包括创建模块84和管理模块85。
创建模块84用于获取FTP服务器中的配置信息,根据所述配置信息创建相应的FTP对象,并将所创建的FTP对象组成FTP对象池。
管理模块85用于对所述创建模块84所创建的FTP对象池进行管理。
具体的,所述管理模块85,具体包括:
设置子模块851,用于设置所述创建模块84所创建的FTP对象池的管理参数信息和相应的各管理触发条件;
监控子模块852,用于监控所述创建模块84所创建的FTP对象池中各FTP对象的当前状态;
处理子模块853,用于根据所述监控子模块852所监控到的状态信息,与所述设置子模块851所设置的管理参数信息相比较,并在比较结果达到所述设置子模块851所设置的一个或多个触发条件时,对所述创建模块84所创建的FTP对象池中各FTP对象的状态进行调整。
具体的,
所述设置子模块851,具体用于设置所述创建模块84所创建的FTP对象池的最小可配置激活数量,和/或最大激活数量,和/或最大对象数量;
所述处理子模块853,具体用于:
当所述监控子模块852所监控到的所述FTP对象池中当前处于激活状态的FTP对象中未配置给客户端的FTP对象的数量,小于所述设置子模块851所设置的最小可配置激活数量时,激活相应数量的所述FTP对象池中当前处于挂起状态的FTP对象;和/或,
当所述监控子模块852所监控到的所述FTP对象池中当前处于激活状态的FTP对象的总数量,超过所述设置子模块851所设置的最大激活数量时,将相应数量的所述FTP对象池中当前处于激活状态的FTP对象进行挂起;和/或,
当所述监控子模块852所监控到的所述FTP对象池中当前处于激活状态和挂起状态的FTP对象的总数量,超过所述设置子模块851所设置的最大对象数量时,将相应数量的所述FTP对象池中当前处于挂起状态的FTP对象进行销毁。
另一方面,所述配置模块82,还用于对配置给所述客户端的FTP对象进行激活校验;
如果校验失败,则在所述池管理设备所管理的FTP对象池中重新获取一个处于激活状态的FTP对象,配置给所述客户端,并继续进行激活校验,直至校验成功,则确定对所述客户端配置FTP对象成功。
与现有技术相比,本发明实施例所提出的技术方案具有以下优点:
通过应用本发明实施例的技术方案,建立包含多个FTP对象的FTP对象池,在客户端需要进行FTP连接时,直接将处于激活状态的FTP对象配置给该客户端,使该客户端可以通过该FTP对象直接进行FTP连接和相应的FTP操作处理,并在FTP操作处理结束后回收该FTP对象到FTP对象池中,从而,使客户端无需进行重复登录,而是直接通过处于激活状态的FTP对象进行FTP连接,避免了重复登录所带来的时间浪费,性能减低以及资源占用,简化了客户端进行FTP连接的操作流程,提高了FTP连接的性能和效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或网络侧设备等)执行本发明实施例各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明实施例所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明实施例的几个具体实施场景,但是,本发明实施例并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明实施例的业务限制范围。
Claims (12)
1.一种FTP连接方法,其特征在于,至少包括以下步骤:
池管理设备接收到客户端所发送的对象获取请求;
所述池管理设备在自身所管理的FTP对象池中获取一个处于激活状态的FTP对象,配置给所述客户端,以使所述客户端通过所述FTP对象进行FTP连接和相应的FTP操作处理;
所述池管理设备在所述客户端结束FTP操作处理后,将配置给所述客户端的FTP对象回收到自身所管理的FTP对象池中。
2.如权利要求1所述的方法,其特征在于,所述池管理设备获取到客户端所发送的对象获取请求之前,还包括:
所述池管理设备获取FTP服务器中的配置信息;
所述池管理设备根据所述配置信息创建相应的FTP对象;
所述池管理设备将所创建的FTP对象组成FTP对象池,并进行管理。
3.如权利要求2所述的方法,其特征在于,所述池管理设备将所创建的FTP对象组成FTP对象池,并进行管理,具体包括:
所述池管理设备预先设置所述FTP对象池的管理参数信息和相应的各管理触发条件;
所述池管理设备监控所述FTP对象池中各FTP对象的当前状态;
所述池管理设备将监控到的状态信息与所述管理参数信息进行比较,并在比较结果达到一个或多个管理触发条件时,对所述FTP对象池中各FTP对象的状态进行调整。
4.如权利要求3所述的方法,其特征在于,所述池管理设备将所创建的FTP对象组成FTP对象池,并进行管理,具体包括:
所述池管理设备预先设置所述FTP对象池的最小可配置激活数量;
当所述池管理设备确定所述FTP对象池中当前处于激活状态的FTP对象中未配置给客户端的FTP对象的数量,小于所述最小可配置激活数量时,所述池管理设备激活相应数量的所述FTP对象池中当前处于挂起状态的FTP对象。
5.如权利要求3所述的方法,其特征在于,所述池管理设备将所创建的FTP对象组成FTP对象池,并进行管理,具体包括:
所述池管理设备预先设置所述FTP对象池的最大激活数量;
当所述池管理设备确定所述FTP对象池中当前处于激活状态的FTP对象的总数量,超过所述最大激活数量时,所述池管理设备将相应数量的所述FTP对象池中当前处于激活状态的FTP对象进行挂起。
6.如权利要求3所述的方法,其特征在于,所述池管理设备将所创建的FTP对象组成FTP对象池,并进行管理,具体包括:
所述池管理设备预先设置所述FTP对象池的最大对象数量;
当所述池管理设备确定所述FTP对象池中当前处于激活状态和挂起状态的FTP对象的总数量,超过所述最大对象数量时,所述池管理设备将相应数量的所述FTP对象池中当前处于挂起状态的FTP对象进行销毁。
7.如权利要求1所述的方法,其特征在于,所述池管理设备在自身所管理的FTP对象池中获取一个处于激活状态的FTP对象,配置给所述客户端的过程中,还包括:
所述池管理设备对配置给所述客户端的FTP对象进行激活校验;
如果校验失败,则所述池管理设备在自身所管理的FTP对象池中重新获取一个处于激活状态的FTP对象,配置给所述客户端,并继续进行激活校验,直至校验成功,则确定对所述客户端配置FTP对象成功。
8.一种池管理设备,其特征在于,至少包括:
接收模块,用于接收客户端所发送的对象获取请求;
配置模块,用于根据所述接收模块所接收到的对象获取请求,在所述池管理设备所管理的FTP对象池中获取一个处于激活状态的FTP对象,配置给所述客户端,以使所述客户端通过所述FTP对象进行FTP连接和相应的FTP操作处理;
回收模块,用于在所述客户端结束FTP操作处理后,将所述配置模块配置给所述客户端的FTP对象回收到所述池管理设备所管理的FTP对象池中。
9.如权利要求8所述的池管理设备,其特征在于,还包括创建模块和管理模块:
所述创建模块,用于获取FTP服务器中的配置信息,根据所述配置信息创建相应的FTP对象,并将所创建的FTP对象组成FTP对象池;
所述管理模块,用于对所述创建模块所创建的FTP对象池进行管理。
10.如权利要求9所述的池管理设备,其特征在于,所述管理模块,具体包括:
设置子模块,用于设置所述创建模块所创建的FTP对象池的管理参数信息和相应的各管理触发条件;
监控子模块,用于监控所述创建模块所创建的FTP对象池中各FTP对象的当前状态;
处理子模块,用于根据所述监控子模块所监控到的状态信息,与所述设置子模块所设置的管理参数信息相比较,并在比较结果达到所述设置子模块所设置的一个或多个触发条件时,对所述创建模块所创建的FTP对象池中各FTP对象的状态进行调整。
11.如权利要求10所述的池管理设备,其特征在于,
所述设置子模块,具体用于设置所述创建模块所创建的FTP对象池的最小可配置激活数量,和/或最大激活数量,和/或最大对象数量;
所述处理子模块,具体用于:
当所述监控子模块所监控到的所述FTP对象池中当前处于激活状态的FTP对象中未配置给客户端的FTP对象的数量,小于所述设置子模块所设置的最小可配置激活数量时,激活相应数量的所述FTP对象池中当前处于挂起状态的FTP对象;和/或,
当所述监控子模块所监控到的所述FTP对象池中当前处于激活状态的FTP对象的总数量,超过所述设置子模块所设置的最大激活数量时,将相应数量的所述FTP对象池中当前处于激活状态的FTP对象进行挂起;和/或,
当所述监控子模块所监控到的所述FTP对象池中当前处于激活状态和挂起状态的FTP对象的总数量,超过所述设置子模块所设置的最大对象数量时,将相应数量的所述FTP对象池中当前处于挂起状态的FTP对象进行销毁。
12.如权利要求8所述的池管理设备,其特征在于,所述配置模块,还用于:
对配置给所述客户端的FTP对象进行激活校验;
如果校验失败,则在所述池管理设备所管理的FTP对象池中重新获取一个处于激活状态的FTP对象,配置给所述客户端,并继续进行激活校验,直至校验成功,则确定对所述客户端配置FTP对象成功。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103393583A CN102347863A (zh) | 2011-11-01 | 2011-11-01 | Ftp连接方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103393583A CN102347863A (zh) | 2011-11-01 | 2011-11-01 | Ftp连接方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102347863A true CN102347863A (zh) | 2012-02-08 |
Family
ID=45546171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103393583A Pending CN102347863A (zh) | 2011-11-01 | 2011-11-01 | Ftp连接方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102347863A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107094183A (zh) * | 2017-06-02 | 2017-08-25 | 中国石油大学(华东) | 一种基于端口跳变的ftp文件可靠传输方法 |
JP2021093739A (ja) * | 2014-09-25 | 2021-06-17 | 日本電気株式会社 | 光ネットワーク管理装置および光パスの設定方法 |
CN113448726A (zh) * | 2021-05-28 | 2021-09-28 | 山东英信计算机技术有限公司 | 一种资源调度方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050018618A1 (en) * | 2003-07-25 | 2005-01-27 | Mualem Hezi I. | System and method for threat detection and response |
CN101692668A (zh) * | 2009-07-06 | 2010-04-07 | 民航数据通信有限责任公司 | 一种航空气象数据自动下载、解析和存储的装置及方法 |
-
2011
- 2011-11-01 CN CN2011103393583A patent/CN102347863A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050018618A1 (en) * | 2003-07-25 | 2005-01-27 | Mualem Hezi I. | System and method for threat detection and response |
CN101692668A (zh) * | 2009-07-06 | 2010-04-07 | 民航数据通信有限责任公司 | 一种航空气象数据自动下载、解析和存储的装置及方法 |
Non-Patent Citations (1)
Title |
---|
朱爱萍: "基于Web技术封装大型主机操作逻辑的研究与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021093739A (ja) * | 2014-09-25 | 2021-06-17 | 日本電気株式会社 | 光ネットワーク管理装置および光パスの設定方法 |
JP7070736B2 (ja) | 2014-09-25 | 2022-05-18 | 日本電気株式会社 | 光ネットワーク管理装置および光パスの設定方法 |
CN107094183A (zh) * | 2017-06-02 | 2017-08-25 | 中国石油大学(华东) | 一种基于端口跳变的ftp文件可靠传输方法 |
CN107094183B (zh) * | 2017-06-02 | 2020-11-06 | 中国石油大学(华东) | 一种基于端口跳变的ftp文件可靠传输方法 |
CN113448726A (zh) * | 2021-05-28 | 2021-09-28 | 山东英信计算机技术有限公司 | 一种资源调度方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110516007B (zh) | 一种区块链网络的部署控制方法、装置、设备和介质 | |
CN1666477A (zh) | 监测和控制通信网络中数据传输的方法、系统和装置 | |
CN102572005A (zh) | 一种ip地址分配方法和设备 | |
CN105099706A (zh) | 一种数据通信方法、用户设备和服务器 | |
CN105871977A (zh) | 长连接建立方法、装置及系统 | |
CN112800411B (zh) | 支持多协议、多方式的安全可靠身份认证方法及装置 | |
CN104364790A (zh) | 用于实施多因素认证的系统和方法 | |
US20150019689A1 (en) | Managed file transfer system, method and apparatus | |
CN101383814B (zh) | 一种实现基于连接池的数据访问的设备和方法 | |
CN102467624A (zh) | 一种软件许可回收与自动重新申请的方法及系统 | |
CN104133776A (zh) | 存储阵列自动化配置方法、装置及存储系统 | |
CN111382985A (zh) | 待办消息集成推送系统和工作方法 | |
CN102347863A (zh) | Ftp连接方法和设备 | |
CN103384254A (zh) | 应用账户登陆方法、服务器、客户端及系统 | |
CN102438016A (zh) | 获知报文所属进程的方法、访问控制方法、装置及设备 | |
CN102333099B (zh) | 一种安全控制方法和设备 | |
CN103607429A (zh) | 云计算业务实现方法和系统 | |
US20050160276A1 (en) | System and method for a directory secured user account | |
CN104468486A (zh) | 信息处理方法、系统及电子设备 | |
CN102752752B (zh) | 基站维护方法和设备 | |
CN1759381A (zh) | 因特网保密通信装置和通信方法 | |
CN108347450A (zh) | 一种远程登录的方法及设备 | |
CN101621526B (zh) | 一种防止无用连接占用系统资源的iSCSI方法及装置 | |
CN1845118A (zh) | 利用故障回复改变口令的方法和装置 | |
CN104184836A (zh) | 基于远程服务业务的多业务单点登录系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120208 |