CN101594390A - 一种ftp客户端及其实现方法 - Google Patents
一种ftp客户端及其实现方法 Download PDFInfo
- Publication number
- CN101594390A CN101594390A CN 200910108360 CN200910108360A CN101594390A CN 101594390 A CN101594390 A CN 101594390A CN 200910108360 CN200910108360 CN 200910108360 CN 200910108360 A CN200910108360 A CN 200910108360A CN 101594390 A CN101594390 A CN 101594390A
- Authority
- CN
- China
- Prior art keywords
- ftp
- file
- script
- script file
- client
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
- H04L12/1403—Architecture for metering, charging or billing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
- H04L12/1428—Invoice generation, e.g. customization, lay-out, database processing, algorithms for calculating the bill or formatting invoices as WWW pages
Abstract
本发明公开了一种FTP客户端及其实现方法,所述FTP客户端包括脚本生成模块、FTP操作执行模块;所述实现方法为:在与FTP服务端进行文件上传/下载的过程中,脚本生成模块按照预定的文件上传/下载流程重复以下操作:生成脚本文件,并向其中写入当前所需进行的FTP操作请求,之后调用脚本生成模块以按照该FTP操作请求执行所述脚本文件。本发明的FTP客户端与应用程序相分离,降低了应用程序实现FTP操作时的复杂度,保证了应用程序运行的稳定性;还有效地提高了FTP操作的可靠性和稳定性;同时,本发明易于实现,可采用标准C语言和tcl脚本语言实现,具有很好的可移植性。
Description
技术领域
本发明涉及文件传输技术领域,尤其涉及一种应用于unix/linux系统的FTP(File Transfer Protocol,文件传输协议)客户端及其实现方法。
背景技术
随着智能网的发展和业务量的增多,SCP(Service Control Point,业务控制点)产生的话单信息量快速增加,传统的消息方式传送话单信息已不能满足需求。目前一般采用在SCP端把话单信息定时写入到文件,IMP(接口机系统)定时把SCP上的话单文件下载下来,再由应用程序对话单文件进行处理。由于unix/linux操作系统没有提供FTP操作的API函数,所以需要应用程序根据RFC中的FTP协议规范编码实现。
FTP下载文件的步骤为:1.客户端和服务端的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客户端,包括脚本生成模块、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脚本语言来实现。
下面结合附图和实施例对本发明作进一步的详细说明:
实施例一
本发明适用于与智能网对接的接口机系统。如图1所示的系统中,包括一个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上传业务逻辑文件。
以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。
Claims (8)
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。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910108360 CN101594390A (zh) | 2009-06-17 | 2009-06-17 | 一种ftp客户端及其实现方法 |
PCT/CN2010/072904 WO2010145386A1 (zh) | 2009-06-17 | 2010-05-18 | 一种ftp客户端及其实现方法 |
EP10788782.0A EP2445171B1 (en) | 2009-06-17 | 2010-05-18 | File transfer protocol client and implementing method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910108360 CN101594390A (zh) | 2009-06-17 | 2009-06-17 | 一种ftp客户端及其实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101594390A true CN101594390A (zh) | 2009-12-02 |
Family
ID=41408827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910108360 Pending CN101594390A (zh) | 2009-06-17 | 2009-06-17 | 一种ftp客户端及其实现方法 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP2445171B1 (zh) |
CN (1) | CN101594390A (zh) |
WO (1) | WO2010145386A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010145386A1 (zh) * | 2009-06-17 | 2010-12-23 | 中兴通讯股份有限公司 | 一种ftp客户端及其实现方法 |
CN104426880A (zh) * | 2013-09-03 | 2015-03-18 | 中国银联股份有限公司 | 一种基于网络的集中式文件自动收集和分发装置 |
CN110022368A (zh) * | 2019-04-11 | 2019-07-16 | 北京字节跳动网络技术有限公司 | 上传图片的超时时间控制方法、装置、设备及存储介质 |
CN110471940A (zh) * | 2019-08-05 | 2019-11-19 | 威讯柏睿数据科技(北京)有限公司 | 一种流关系数据库管理系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897899A (zh) * | 2016-04-22 | 2016-08-24 | 太仓市同维电子有限公司 | 一种基于自动化平台的标准作业程序电子化方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6985901B1 (en) * | 1999-12-23 | 2006-01-10 | Accenture Llp | Controlling data collection, manipulation and storage on a network with service assurance capabilities |
FR2816784B1 (fr) * | 2000-11-14 | 2003-02-07 | Schlumberger Systems & Service | Procede de transfert de fichiers entre des appareils de service et un serveur de gestion a distance |
CA2380762A1 (en) * | 2002-04-04 | 2003-10-04 | Intrinsyc Software, Inc. | Internet-enabled device provisioning, upgrade and recovery mechanism |
CN1331045C (zh) * | 2002-08-19 | 2007-08-08 | 万达信息股份有限公司 | 一种Client/Server架构下软件自动升级更新的方法 |
CN100535853C (zh) * | 2004-08-18 | 2009-09-02 | 华为技术有限公司 | 一种嵌入式实时操作系统 |
CN101442688A (zh) * | 2008-12-31 | 2009-05-27 | 中兴通讯股份有限公司 | 智能网平台的升级方法和系统、控制器和智能网平台设备 |
CN101594390A (zh) * | 2009-06-17 | 2009-12-02 | 中兴通讯股份有限公司 | 一种ftp客户端及其实现方法 |
-
2009
- 2009-06-17 CN CN 200910108360 patent/CN101594390A/zh active Pending
-
2010
- 2010-05-18 EP EP10788782.0A patent/EP2445171B1/en not_active Not-in-force
- 2010-05-18 WO PCT/CN2010/072904 patent/WO2010145386A1/zh active Application Filing
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010145386A1 (zh) * | 2009-06-17 | 2010-12-23 | 中兴通讯股份有限公司 | 一种ftp客户端及其实现方法 |
CN104426880A (zh) * | 2013-09-03 | 2015-03-18 | 中国银联股份有限公司 | 一种基于网络的集中式文件自动收集和分发装置 |
CN110022368A (zh) * | 2019-04-11 | 2019-07-16 | 北京字节跳动网络技术有限公司 | 上传图片的超时时间控制方法、装置、设备及存储介质 |
CN110022368B (zh) * | 2019-04-11 | 2020-05-12 | 北京字节跳动网络技术有限公司 | 上传图片的超时时间控制方法、装置、设备及存储介质 |
CN110471940A (zh) * | 2019-08-05 | 2019-11-19 | 威讯柏睿数据科技(北京)有限公司 | 一种流关系数据库管理系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2445171A4 (en) | 2015-03-11 |
EP2445171A1 (en) | 2012-04-25 |
EP2445171B1 (en) | 2017-02-08 |
WO2010145386A1 (zh) | 2010-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101193089B (zh) | 有状态会话系统及其实现方法 | |
CN108958927A (zh) | 容器应用的部署方法、装置、计算机设备和存储介质 | |
CN107689976B (zh) | 一种文件传输方法及装置 | |
CN102624695A (zh) | 第三方发起远程方之间的通信 | |
CN107861760A (zh) | Bios配置方法、终端以及服务器 | |
US20230080588A1 (en) | Mqtt protocol simulation method and simulation device | |
CN101594390A (zh) | 一种ftp客户端及其实现方法 | |
CN111953642A (zh) | 一种二维码上传和下载分享文件的方法 | |
CN101217571A (zh) | 用于多副本数据网格系统中的写/读文件操作的方法 | |
JP2012510651A (ja) | サービスのロードバランシング | |
CN103227836A (zh) | 离线下载方法和离线下载服务器 | |
CN111885174B (zh) | 一种非相同网段的节点的处理方法及系统 | |
CN101159611A (zh) | 一种批量系统部署方法和部署装置 | |
CN103425486A (zh) | 使用同步服务器端脚本的远程卡内容管理的方法和系统 | |
CN110442601A (zh) | 一种Openstack镜像数据并行加速的方法和装置 | |
US20170331912A1 (en) | Multi-account login and communication | |
CN113297133B (zh) | 一种服务迁移质量保障方法及系统 | |
CN107547591A (zh) | 升级服务器、机顶盒、机顶盒升级文件下发方法及系统 | |
Hine et al. | Scalable emulation of enterprise systems | |
US9176797B1 (en) | Workflow processing and methods for auditing and playback of data | |
JP5993835B2 (ja) | マルチノードを用いるスマート端末ファジング装置およびその方法 | |
CN102546659A (zh) | 面向远过程调用的持久tcp连接方法 | |
CN110045963A (zh) | 一种Linux内核编译和验证的方法及装置 | |
CN113296987B (zh) | 调用模块的接口调用方法、装置、计算机设备及存储介质 | |
CN115604070A (zh) | 基于mctp协议的消息传输方法、装置、设备及介质 |
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: 20091202 |