一种数据下载方法及装置制造方法及图纸

技术编号:20246552 阅读:28 留言:0更新日期:2019-01-30 00:38
本申请实施例公开了一种数据下载方法及装置,用于提高数据下载的成功率。本申请实施例方法包括:在传输层上建立与数据服务器之间的命令通信通道;通过所述命令通信通道设置数据传输类型,并建立与所述数据服务器之间的数据通道;将预下载的第一数据的文件路径和文件名通过所述命令通信通道发送至所述数据服务器;若发送成功,则通过所述数据通道接收由所述数据服务器发送的所述第一数据。

【技术实现步骤摘要】
一种数据下载方法及装置
本申请涉及数据传输
,尤其涉及一种数据下载方法及装置。
技术介绍
在Windows平台上进行软件开发,通常会调用Windows提供的API函数,以达到调用操作系统提供的各种服务的目的。其中,WinInet(WindowsInternet)API经常使用三个常见的Internet协议为:超文本传输协议(HTTP:HypertextTransferProtocol)、文件传输协议(FTP:FileTransferProtocol)、Gopher文件传输协议。因为API函数已经把一些功能模块化、函数化了,故软件开发者只需要按照规则进行调用即可快速实现功能的开发,从而提高了软件开发的效率、节约了开发的成本。但开发者在使用Windows提供的WinInetAPI函数开发的FTP下载软件时,因为FTP协议工作在应用层,因此操作系统、杀毒软件都会对该应用协议进行防火墙拦截、病毒查杀等扫描,所以FTP下载软件有很大的机会被误杀,造成无法访问网络的结果;另外,在电脑网络环境不好的情况,由于网络通讯频繁的超时、丢包,容易引起下载失败的情况;再者,由于API函数是不开源的,所以在出错时,无法深入此函数进行调试、分析,进而无法从根本上解决API函数引起的问题。
技术实现思路
本申请实施例提供了一种数据下载的方法及装置,用于实现与数据服务器之间在传输层上建立命令通信通道和数据通道,从而提高了数据下载的成功率。本申请实施例第一方面提供了一种数据下载方法,包括:在传输层上建立与数据服务器之间的命令通信通道;通过所述命令通信通道设置数据传输类型,并建立与所述数据服务器之间的数据通道;将预下载的第一数据的文件路径和文件名通过所述命令通信通道发送至所述数据服务器;若发送成功,则通过所述数据通道接收由所述数据服务器发送的所述第一数据。优选的,所述在传输层上建立与数据服务器之间的命令通信通道之后,通过所述命令通信通道设置数据传输类型之前,所述方法还包括:发送验证码至所述数据服务器,并在验证成功后,触发通过所述命令通信通道设置数据传输类型的步骤。优选的,在所述建立与所述数据服务器之间的数据通道之后,所述方法还包括:通过所述命令通信通道向所述数据服务器发送第一数据文件的偏移量。优选的,所述在传输层上建立与数据服务器之间的命令通信通道,包括:创建通信套接字,并通过通信套接字在传输层上建立与所述数据服务器之间的命令通信通道。优选的,在通过所述数据通道接收由所述数据服务器发送的所述第一数据之后,所述方法还包括:分别断开所述命令通信通道及所述数据通道,并释放通信套接字资源。优选的,所述数据通道设置为被动模式。本申请实施例第二方面提供了一种数据下载装置,包括:建立单元,用于在传输层上建立与数据服务器之间的命令通信通道;设置建立单元,用于通过所述命令通信通道设置数据传输类型,并建立与所述数据服务器之间的数据通道;发送单元,用于将预下载的第一数据的文件路径和文件名通过所述命令通信通道发送至所述数据服务器;接收单元,用于在发送成功时,通过所述数据通道接收由所述数据服务器发送的所述第一数据。优选的,所述装置还包括:验证单元,用于发送验证码至所述数据服务器。优选的,所述装置还包括:偏移发送单元,用于通过所述命令通信通道向所述数据服务器发送第一数据文件的偏移量。优选的,所述建立单元,包括:建立模块,用于创建通信套接字,并通过通信套接字在传输层上建立与所述数据服务器之间的命令通信通道。优选的,所述装置还包括:断开单元,用于分别断开所述命令通信通道及所述数据通道,并释放通信套接字资源。本申请实施例还提供了一种数据下载装置,包括处理器,该处理器在执行存储于存储器上的计算机程序时,用于实现本申请实施例第一方面提供的数据下载方法。本申请实施例还提供了一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,用于实现本申请实施例第一方面提供的数据下载方法。从以上技术方案可以看出,本申请实施例具有以下优点:本申请实施例中,在传输层上建立与数据服务器之间的命令通信通道;通过所述命令通信通道设置数据传输类型,并建立与所述数据服务器之间的数据通道;将预下载的第一数据的文件路径和文件名通过所述命令通信通道发送至所述数据服务器;若发送成功,则通过所述数据通道接收由所述数据服务器发送的所述第一数据。因为该实施例中,在传输层上建立与数据服务器之间的命令通信通道和数据通道,用于数据文件的下载,从而避免了操作系统、杀毒软件对下载请求的拦截和查杀,提高了数据下载的成功率。附图说明图1为本申请实施例中数据下载方法的一个实施例示意图;图2为OSI网络模型结构示意图;图3为本申请实施例中数据下载方法的另一个实施例示意图;图4为本申请实施例中数据下载装置的一个实施例示意图。具体实施方式本申请实施例提供了一种数据下载方法及装置,用于提高数据下载的成功率。为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。为方便理解,下面对本申请中的数据下载方法进行描述,请参阅图1,本申请实施例中数据下载方法的一个实施例,包括:101、在传输层上建立与数据服务器之间的命令通信通道;现有技术中,一般都是通过调用WinInetAPI函数来实现对功能的调用,且在操作系统中的很多功能已被模块化、函数化,故通过API函数调用的方式很容易实现对某种功能的调用。但基于API函数开发的FTP下载软件是工作在应用层,很容易被防火墙或杀毒软件拦截而造成下载失败的问题,而API函数又属于闭源函数,不对外开放,从而使得工作人员在下载失败时,无法究其失败的根本原因。针对该问题,本申请实施例提出了一种数据下载方法,用于提高数据下载的成功率。具体的,因为在网络通信过程中,通信系统作为一种开放性的通信系统结构,国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。OSI模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,具体的OSI模型请参阅图2所示。而现有技术中API函数开发的FTP下载软件即是基于应用层的,而区别于现有技术的是,本申请实施例在传输层上建立与数据服务器之间的命令通信通道,以用于与数据服务器之间建立通信连接,其中,数据服务器即为预下载数据所存储的本文档来自技高网
...

【技术保护点】
1.一种数据下载方法,其特征在于,包括:在传输层上建立与数据服务器之间的命令通信通道;通过所述命令通信通道设置数据传输类型,并建立与所述数据服务器之间的数据通道;将预下载的第一数据的文件路径和文件名通过所述命令通信通道发送至所述数据服务器;若发送成功,则通过所述数据通道接收由所述数据服务器发送的所述第一数据。

【技术特征摘要】
1.一种数据下载方法,其特征在于,包括:在传输层上建立与数据服务器之间的命令通信通道;通过所述命令通信通道设置数据传输类型,并建立与所述数据服务器之间的数据通道;将预下载的第一数据的文件路径和文件名通过所述命令通信通道发送至所述数据服务器;若发送成功,则通过所述数据通道接收由所述数据服务器发送的所述第一数据。2.根据权利要求1所述的方法,其特征在于,所述在传输层上建立与数据服务器之间的命令通信通道之后,通过所述命令通信通道设置数据传输类型之前,所述方法还包括:发送验证码至所述数据服务器,并在验证成功后,触发通过所述命令通信通道设置数据传输类型的步骤。3.根据权利要求1所述的方法,其特征在于,在所述建立与所述数据服务器之间的数据通道之后,所述方法还包括:通过所述命令通信通道向所述数据服务器发送第一数据文件的偏移量。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述在传输层上建立与数据服务器之间的命令通信通道,包括:创建通信套接字,并通过所述通信套接字在传输层上建立与所述数据服务器之间的命令通信通道。5.根据权利要求4所述的方法,其特征在于,在...

【专利技术属性】
技术研发人员:刘均覃定鹏李河金
申请(专利权)人:深圳市元征科技股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1