一种批量下载录音文件的方法

文档序号:7866049阅读:834来源:国知局
专利名称:一种批量下载录音文件的方法
技术领域
本发明涉及一种下载文件的方法。
背景技术
用户与客服话务员之间的通话存储在文件服务器中,即第三方服务器,话务员使用的接续系统采用B/S架构,与文件服务器不在同一台服务器上,通过Java方式连接到文件服务器下载录音到客户端,经过的路径为客户端_>Web服务端_>文件服务器_>Web服务器_>客户端,这样导致下载速度比较慢,而且批量下载的话会导致客户端与服务端卡死的现象。

发明内容
本发明所要解决的技术问题是提供一种简便易于实现的快速批量下载录音文件的方法。本发明解决上述技术问题的技术方案如下一种批量下载录音文件的方法,包括以下步骤步骤I,在Web页面加载ActiveX控件;步骤2,在ActiveX控件的自定义程序中,创建浏览器与文件服务器的FTP连接;步骤3,通过所述FTP连接,将文件服务器的录音文件下载并存储到客户端。本发明的有益效果是在B/S架构中加载ActiveX控件,在Javascript中直接调用控件方法,将一些必要参数传送给控件中方法,在控件中通过FTP直接访问文件服务器按照条件下载录音文件,路径为客户端_>文件服务器_>客户端,快速实现录音文件批量下载,也减轻了 Web服务器的压力。在上述技术方案的基础上,本发明还可以做如下改进进一步,在执行所述步骤2之前,用户先在Web页面筛选出要批量下载的信息。采用上述进一步方案的有益效果是搜索到需要下载的数据;另外,还能减少不必要的下载。进一步,所述步骤2具体包括如下步骤步骤21,在ActiveX控件的自定义程序中,启动事件处理线程;步骤22,在ActiveX控件的自定义程序中,判断当前是否已有下载任务,若当前已有下载任务,则执行步骤23,若当前没有下载任务,则执行步骤24 ;步骤23,向所述事件处理线程发送已有下载任务的信息,结束;步骤24,创建浏览器与文件服务器的FTP连接;步骤25,判断所述FTP连接是否成功,若所述FTP连接失败,则执行步骤26 ;若所述FTP连接成功,则执行步骤3 ;步骤26,向所述事件处理线程发送连接失败的信息,结束。采用上述进一步方案的有益效果是防止多个下载任务,影响系统JtFTP连接失败的情况也交到由事件处理线程处理,进一步完善了系统。
进一步,所述步骤3具体包括如下步骤步骤31,通过所述FTP连接,将文件服务器的录音文件下载并存储到客户端;步骤32,判断录音文件下载是否完成,若录音文件下载未完成,则执行步骤31 ;若录音文件下载已完成,则执行步骤33 ;步骤33,向所述事件处理线程发送下载已完成的信息,结束。采用上述进一步方案的有益效果是将下载中出现的问题交给事件处理线程,进一步完善了系统。进一步,所述事件处理线程用于将接收到的信息发送给Web页面。
采用上述进一步方案的有益效果是将当前系统状况反映给用户,由用户决定接下来如何处理,灵活性好。


图1为本发明的一种优选实施方式的流程具体实施例方式以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。本发明的技术方案是通过JS,C++实现,主要可分为ActiveX控件,Web页面展示,Web页面通过javascript调用ActiveX方法,ActiveX控件通过FTP连接到文件服务器上进行下载。当文件下载时到完成,ActiveX控件会给Web返回状态事件,Web接收到该事件后提示用户下载失败或者完成等信息。本发明方法主要是在Web页面加载ActiveX控件;在ActiveX控件的自定义程序中,创建浏览器与文件服务器的FTP连接;通过所述FTP连接,将文件服务器的录音文件下载并存储到客户端。图1是本发明一种优选实施方式的流程图,下面对图1进行说明步骤1,在Web页面加载ActiveX控件。用户可以事先筛选好批量下载信息,然后再在Web页面点击批量下载。步骤2,在ActiveX控件的自定义程序中,启动事件处理线程;步骤3,在ActiveX控件的自定义程序中,判断当前是否已有下载任务,若当前已有下载任务,则执行步骤4 ;若当前没有下载任务,则执行步骤5 ;步骤4,则向所述事件处理线程发送已有下载任务的信息,结束;步骤5,创建浏览器与文件服务器的FTP连接;步骤6,判断所述FTP连接是否成功,若所述FTP连接失败,则执行步骤7 ;若所述FTP连接成功,则执行步骤8 ;步骤7,向所述事件处理线程发送连接失败的信息,结束;步骤8,通过所述FTP连接,将文件服务器的录音文件下载并存储到客户端;步骤9,判断录音文件下载是否完成,若录音文件下载未完成,则执行步骤8 ;若录音文件下载已完成,则执行步骤10 ;步骤10,向所述事件处理线程发送下载已完成的信息,结束。这里,所述事件处理线程用于将接收到的信息发送给Web页面,提示由用户进行处理,这样自由度比较大,当然还可以做自定义编程对各种情况进行处理。具体说来,本发明的步骤包括1、在系统中注册及加载ActiveX控件,通过标签〈OBJECT〉加载,加载成功后,在批量下载录音界面米用 javascript 调用 ActiveXDownloadRecordPlayFile_AddRemoteDir 方法进行实现,该方法是在ActiveX控件中自定义的程序;2、然后,在 DownloadRecordPlayFile_AddRemoteDir 方法中启动事件线程,ActiveX通过消息机制将事件抛给前台Web层;
3、同时在该方法中通过BR0WSEINF0完成下载文件保存路径的选择,OpenConnection实现FTP连接,CloseConnection实现关闭FTP连接,当遇到问题时,例如连接失败、不能下载等判断时,调用对应的事件如EventNOConnectionO等返回给Web层;4、Web 层接收后,在 javascript 里面具有如下代码〈script for-^Phone^event=“OnNOConnection (errorCode) ”〉进行事件的处理。在调用ActiveX控件方法时,对于调用的一些错误等提示是通过事件机制触发到前台Web层,前台Web层接收到事件后,采用Web提示要求对用户进行提示。从用户角度来讲,本发明的实施能够快速响应用户的需要,提升了用户的使用感受。对于大批量下载一些文件来说,如果太慢,用户的感知很不好,而且长时间的等待还可能造成用户对系统性能的质疑;从企业角度来讲,ActiveX控件封装文件下载,只需要在Web客户端加载ActiveX控件,调用ActiveX方法,按照要求传输所需信息,即可实现文件的下载,后续项目中遇到该需求,可直接调用该封装方法,节约人力成本;从系统本身来讲,该方法的实现,大大减轻了 Web服务器的压力,不存在系统僵住的现象,提高了系统性能。当然,使用本发明方法不局限于下载录音文件使用,在文件服务器上存储的其它文件也都可以通过本发明方法来进行下载。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种批量下载录音文件的方法,其特征在于,包括以下步骤步骤I,在Web页面加载ActiveX控件;步骤2,在ActiveX控件的自定义程序中,创建浏览器与文件服务器的FTP连接;步骤3,通过所述FTP连接,将文件服务器的录音文件下载并存储到客户端。
2.根据权利要求1所述一种批量下载录音文件的方法,其特征在于,在执行所述步骤2 之前,用户先在Web页面筛选出要批量下载的信息。
3.根据权利要求1所述一种批量下载录音文件的方法,其特征在于,所述步骤2具体包括如下步骤步骤21,在ActiveX控件的自定义程序中,启动事件处理线程;步骤22,在ActiveX控件的自定义程序中,判断当前是否已有下载任务,若当前已有下载任务,则执行步骤23,若当前没有下载任务,则执行步骤24 ;步骤23,向所述事件处理线程发送已有下载任务的信息,结束;步骤24,创建浏览器与文件服务器的FTP连接;步骤25,判断所述FTP连接是否成功,若所述FTP连接失败,则执行步骤26 ;若所述FTP 连接成功,则执行步骤3 ;步骤26,向所述事件处理线程发送连接失败的信息,结束。
4.根据权利要求3所述一种批量下载录音文件的方法,其特征在于,所述步骤3具体包括如下步骤,步骤31,通过所述FTP连接,将文件服务器的录音文件下载并存储到客户端;步骤32,判断录音文件下载是否完成,若录音文件下载未完成,则执行步骤31 ;若录音文件下载已完成,则执行步骤33 ;步骤33,向所述事件处理线程发送下载已完成的信息,结束。
5.根据权利要求3或4所述一种批量下载录音文件的方法,其特征在于,所述事件处理线程用于将接收到的信息发送给Web页面。
全文摘要
本发明涉及一种批量下载录音文件的方法,通过在Web页面加载ActiveX控件,建立浏览器和文件服务器的连接,将文件服务器的录音文件下载并存储到客户端。在ActiveX控件中通过FTP直接访问文件服务器下载录音文件,能够实现录音文件快速批量下载,减轻了Web服务器的压力。
文档编号H04L29/08GK103002023SQ20121047380
公开日2013年3月27日 申请日期2012年11月20日 优先权日2012年11月20日
发明者卢之锐 申请人:北京思特奇信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1