一种ftp客户端及其实现方法

文档序号:7704496阅读:200来源:国知局
专利名称:一种ftp客户端及其实现方法
技术领域
本发明涉及文件传输技术领域,尤其涉及一种应用于unix/linux系 统的FTP (File Transfer Protocol,文件传输协议)客户端及其实现方法。
背景技术
随着智能网的发展和业务量的增多,SCP (Service Control Point, 业务控制点)产生的话单信息量快速增加,传统的消息方式传送话单信 息已不能满足需求。目前一般采用在SCP端把话单信息定时写入到文 件,IMP (接口机系统)定时把SCP上的话单文件下载下来,再由应用 程序对话单文件进行处理。由于unix/linux操作系统没有提供FTP操作 的API函数,所以需要应用程序才艮据RFC中的FTP协议-见范编码实现。
FTP下载文件的步骤为l.客户端和服务端的21端口建立链接,发 送用户名和密码,服务端验证通过后FTP链接建立;2.客户端发送LIST 命令获取下载目录下的文件列表;3.客户端从文件列表中选取一个文件, 发送SIZE命令获耳又文件大小,发送RETR命令获耳又文件,传送文件时, 服务端和客户端需要建立一条TCP数据链路,文件传送完毕后,需关闭 该TCP链路;4.循环执行步骤3,直到文件列表中的文件获取完毕。
从上面的FTP步骤描述可以看出,编码实现FTP操作是相当复杂 的,网络故障很容易导致链路异常,从而影响应用程序的稳定性。

发明内容
本发明所要解决的技术问题是提供一种稳定、可靠、并发的FTP客 户端,以及该FTP客户端的实现方法,应用于unix/linux操作系统中, 与应用程序相分离,降低对应用程序的影响。
为解决上述技术问题,本发明采用以下解决方案
一种unix/linux系统中FTP客户端的实现方法,包括在与FTP服务端进行文件上传/下载的过程中,按照预定的文件上传/下载流程重复
以下操作生成脚本文件,并向其中写入当前所需进行的FTP才喿作请求, 之后按照该FTP操作请求执行所述脚本文件。
其中,在每次执行当前的脚本文件后,等待其结果文件的生成,若 操作结果为成功,则继续生成写有新的FTP操作请求的脚本文件并执 行;若操作结果为失败,则结束本流程。
其中,采用超时检测机制检查所述结果文件是否生成。 其中,所述脚本文件的命名方法为FTP请求类型+线程号+当前时 间.tcl。
一种应用于unix/linux系统的FTP客户端,包括脚本生成4莫块、FTP 操作执行模块;
所述脚本生成模块,用于根据预定的文件上传/下载流程依次生成脚 本文件,并向该脚本文件中写入当前所需进行的FTP操作请求,之后调 用FTP操作执行模块执行该脚本文件;
所述FTP操作执行模块,用于执行脚本文件。
其中,所述FTP操作执行模块,还用于在每次执行当前的脚本文件 后,生成相应的结果文件;
所述脚本生成模块,还用于在调用FTP操作执行模块执行当前的脚 本文件后,等待并查看FTP操作执行模块生成的结果文件,在操作结果 为成功时继续生成包含有新的FTP操作请求的脚本文件并调用FTP操 作执行模块执行,在操作结果为失败时结束当前的流程。
其中,所述脚本生成模块还用于采用超时检测机制检查所述结果文 件是否生成。
其中,所述脚本生成模块还用于按以下命名方法对其所生成的脚本 文件进行命名FTP请求类型+线程号+当前时间.tcl。
本发明具有以下有益效果
本发明的FTP客户端与应用程序相分离,降低了应用程序实现FTP操作时的复杂度,保证了应用程序运行的稳定性;还有效地提高了FTP 操作的可靠性和稳定性;同时,本发明易于实现,可采用标准C语言和 tcl脚本语言实现,具有很好的可移植性。


图1是本发明实施例一中IMP-SCP系统的结构示意图2是本发明实施例一中IMP从SCP下载话单文件的方法流程图3是本发明实施例二中SMP-SCP系统的结构示意图。
具体实施例方式
本发明所提出的应用于unix/linux系统的FTP客户端包括脚本生 成模块,用于根据预定的文件上传/下载流程依次生成脚本文件,并向该 脚本文件中写入当前所需进行的FTP操作请求,之后调用FTP操作执 行模块执行该脚本文件;FTP操作执行模块,用于执行脚本文件。
相应地,该FTP客户端的实现方法为在与FTP^务器端进行文 件上传/下载的过程中,按照预定的文件上传/下载流程重复以下操作 生成脚本文件,并向其中写入当前所需进行的FTP操作请求,之后执行 所述脚本文件。
由于tcl脚本语言可以捕获屏幕输出,并可根据屏幕输出输入指定 的字符串,所以本发明可采用tcl脚本语言来实现。
下面结合附图和实施例对本发明作进一步的详细说明
实施例一
本发明适用于与智能网对接的接口机系统。如图l所示的系统中, 包括一个IMP和多个SCP,每个SCP上都运行有各自的业务,会定时 产生话单文件,而IMP会定时从各个SCP下载并处理话单文件。
在本实施例中,SCP上的话单程序定时在指定目录生成话单文件, IMP上可启动多个脚本生成模块(脚本生成模块的数量和SCP个数相同,每个脚本生成模块生成的脚本文件命名规则可以设置为FTP请求 类型+线程号+当前时间.tcl),每个脚本生成模块分别调用FTP程序执行 模块到对应SCP上下载文件。
如图2所示,该图所示为接口机上FTP客户端从SCP上FTP服务 端下载话单文件的方法流程图,包括以下步骤
201、 连接服务端脚本生成模块生成脚本文件,然后把服务端ip 地址、用户名、密码写入脚本文件中,并等待FTP操作执行模块在后台 执行完该脚本文件后,从结果文件中获取连接是否成功,若成功,则继 续执行下步操作;否则,结束本流程。
202、 获取服务端指定目录下文件列表及文件大小脚本生成模块 把获取文件列表和文件大小命令写入到脚本文件中,等待FTP操作执行 模块在后台执行完该脚本文件后,从结果文件中读取服务端目录下文件 列表和文件大小,若成功,则继续执行下步操作;否则,结束本流程。
203、 获取单个文件脚本生成模块从文件列表中选取一个文件, 把获取文件命令写入到脚本文件中,等待FTP操作执行模块在后台执行 完该脚本文件后,从结果文件中查询下载是否成功,如果下载成功,检 查本机下载的文件大小和步骤202获取的该文件的大小是否相同,如果 相同,则认为下载成功,否则为失败。
204、 循环获取文件列表中的文件脚本生成模块和FTP操作执行 模块重复步骤203,直到文件列表中的文件获取完毕为止。
上述流程中,为防止脚本生成模块一直等待,造成阻塞,可采用超 时检测机制检查FTP操作执行模块是否生成结果文件。
本实施例中采用tcl脚本文件执行FTP操作,多个脚本生成模块生 成不同的脚本文件,使FTP操作可以并行执行,并且对下载的文件大小 做了校验,保证了文件的正确性。实施例二
本发明还适用于SMP ( service management point,业务管理点)系 统。如图3所示的系统中,包括一个SMP和多个SCP。该系统中,SCP 加载业务的流程为SMP把业务逻辑文件依次传送到各SCP上;传送 完成后,SMP给各SCP发送消息,通知SCP加载业务,其中消息中带 有本次加载的业务文件名;SCP接收到消息后,取出文件名,读取SMP 上传的业务文件,加载业务文件到内存中。
在本实施例中,SMP上可启动多个脚本生成模块(脚本生成模块的 数量和SCP个数相同),每个脚本生成模块分别调用FTP程序执行模块 向对应SCP上传业务逻辑文件。
以上实施例仅用以说明本发明的技术方案而非限制,4又仅参照4支佳 实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可 以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方 案的精神和范围,均应涵盖在本发明的权利要求范围当中。
权利要求
1、一种unix/linux系统中FTP客户端的实现方法,其特征在于,在与FTP服务端进行文件上传/下载的过程中,按照预定的文件上传/下载流程重复以下操作生成脚本文件,并向其中写入当前所需进行的FTP操作请求,之后按照该FTP操作请求执行所述脚本文件。
2、 如权利要求1所述的FTP客户端的实现方法,其特征在于, 在所述方法中,在每次执行当前的脚本文件后,等待其结果文件的生 成,若操作结果为成功,则继续生成写有新的FTP纟喿作请求的脚本 文件并执行;若操作结果为失败,则结束本流程。
3、 如权利要求2所述的FTP客户端的实现方法,其特征在于, 所述方法中,采用超时检测机制检查所述结果文件是否生成。
4、 如权利要求1至3任一所述的FTP客户端的实现方法,其特 征在于,所述脚本文件的命名方法为FTP请求类型+线程号+当前时 间.tcl。
5 、 一种应用于unix/linux系统的FTP客户端,其特征在于,包 括脚本生成模块、FTP操作执行模块;所述脚本生成模块,用于根据预定的文件上传/下载流程依次生 成脚本文件,并向该脚本文件中写入当前所需进行的FTP操作请求, 之后调用FTP操作执行模块执行该脚本文件;所述FTP操作执行模块,用于执行脚本文件。
6、如权利要求5所述的FTP客户端,其特征在于,所述FTP操作执行模块,还用于在每次执行当前的脚本文件后, 生成相应的结果文件;所述脚本生成模块,还用于在调用FTP操作执行模块执行当前 的脚本文件后,等待并查看FTP操作执行模块生成的结果文件,在 操作结果为成功时继续生成包含有新的FTP操作请求的脚本文件并 调用FTP操作执行模块执行,在操作结果为失败时结束当前的流程。
7、 如权利要求6所述的FTP客户端,其特征在于,所述脚本生 成模块还用于采用超时检测机制检查所述结果文件是否生成。
8、 如权利要求5至7任一所述的FTP客户端,其特征在于,所 命名FTP请求类型+线程号+当前时间.tcl。
全文摘要
本发明公开了一种FTP客户端及其实现方法,所述FTP客户端包括脚本生成模块、FTP操作执行模块;所述实现方法为在与FTP服务端进行文件上传/下载的过程中,脚本生成模块按照预定的文件上传/下载流程重复以下操作生成脚本文件,并向其中写入当前所需进行的FTP操作请求,之后调用脚本生成模块以按照该FTP操作请求执行所述脚本文件。本发明的FTP客户端与应用程序相分离,降低了应用程序实现FTP操作时的复杂度,保证了应用程序运行的稳定性;还有效地提高了FTP操作的可靠性和稳定性;同时,本发明易于实现,可采用标准C语言和tcl脚本语言实现,具有很好的可移植性。
文档编号H04L29/08GK101594390SQ200910108360
公开日2009年12月2日 申请日期2009年6月17日 优先权日2009年6月17日
发明者冰 李 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1