客户端的数据传输方法及系统、介质和计算设备与流程

文档序号:15099260发布日期:2018-08-04 15:20阅读:181来源:国知局

本发明的实施方式涉及互联网领域,更具体地,本发明的实施方式涉及客户端的数据传输方法及系统、介质和计算设备。



背景技术:

本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

在整个互联网技术领域,数据的上传或下载作为一项基本的上网行为,在各种应用场景下都会使用,但是如何高效、稳定地上传或下载数据,尤其是在网络情况极为复杂的场景下稳定上传或下载数据,一直是个业内难题。

目前,已经出现一些进行数据传输的处理方法,以上传数据的流程为例,首先客户端得到一个固定的上传服务器地址,通常为http或者https域名,作为上传的目标地址,其次获取上传凭证,该上传凭证用于给服务器验证这次上传请求的合法性,然后根据上传地址和凭证构造一个http/https请求,请求数据为上传文件数据,最后进行上传,并等待响应报文,根据响应反馈给上层成功或者失败。



技术实现要素:

但是,出于网络环境复杂多变的原因,现有技术如果上传或下载一个很大的文件,会导致数据传输时间非常长,若在这么长的传输时间里一旦发生网络问题,会导致整个数据传输失败。

因此在现有技术中,在复杂的网络环境中不能稳定快速地传输数据这是非常令人烦恼的过程。

为此,非常需要一种改进的数据传输方法,以使能够在复杂的网络环境中稳定快速地传输数据。

在本上下文中,本发明的实施方式期望提供一种客户端的数据传输方法及系统、介质和计算设备。

在本发明实施方式的第一方面中,提供了一种客户端的数据传输方法,包括:确定需要传输给服务器的第一数据块的尺寸;向上述服务器发送上述第一数据块;根据上述第一数据块传输成功或上述第一数据块传输失败,基于上述第一数据块的尺寸调整上述客户端需要传输给上述服务器的第二数据块的尺寸;以及向上述服务器发送上述第二数据块。

在本发明的一个实施例中,调整上述客户端需要传输给上述服务器的第二数据块的尺寸包括:在上述第一数据块传输成功的情况下,将上述第二数据块的尺寸调整为大于上述第一数据块的尺寸;以及在上述第一数据块传输失败的情况下,将上述第二数据块的尺寸调整为小于上述第一数据块的尺寸。

在本发明的另一个实施例中,在上述第一数据块传输成功的情况下,将上述第二数据块的尺寸调整为大于上述第一数据块的尺寸,包括:判断上述第一数据块的尺寸的M倍与预设阈值的大小,其中上述M大于1;以及在上述第一数据块的尺寸的M倍大于或等于上述预定阈值的情况下,将上述第二数据块的尺寸调整为上述预定阈值。

在本发明的又一个实施例中,上述客户端的数据传输方法还包括:在上述第一数据块的尺寸的M倍小于或等于上述预定阈值的情况下,将上述第二数据块的尺寸调整为上述第一数据块的M倍。

在本发明的再一个实施例中,上述客户端的数据传输方法还包括:在上述第一数据块的尺寸的M倍大于或等于上述预定阈值的情况下,将上述第二数据块之后的其他数据块的尺寸固定为上述预定阈值。

在本发明的再一个实施例中,在上述第一数据块传输失败的情况下,将上述第二数据块的尺寸调整为小于上述第一数据块的尺寸包括:将上述第二数据块的调整为上述第一数据块的前一个数据块的尺寸,其中,上述前一个数据块能够被成功传输。

在本发明的再一个实施例中,上述方法客户端的数据传输还包括,将上述第二数据块之后的其他数据块的尺寸固定为上述第一数据块的前一个数据块的尺寸。

在本发明的再一个实施例中,确定客户端需要传输给服务器的第一数据块的尺寸包括:获取上述客户端当前所处的网络类型;以及根据上述客户端当前所处的网络类型,确定上述客户端需要传输给上述服务器的第一数据块的尺寸。

在本发明的再一个实施例中,上述客户端的数据传输方法还包括:获取上述客户端当前所处的位置信息和/或网络类型;以及基于上述客户端当前所处的位置信息和/或网络类型,确定与上述客户端进行数据传输的上述服务器。

在本发明的再一个实施例中,确定与上述客户端进行数据传输的上述服务器包括:确定与上述客户端进行数据传输的服务器列表,其中,上述服务器列表中包括一个或多个服务器;以及从上述服务器列表中选择目标服务器与上述客户端进行数据传输。

在本发明的再一个实施例中,上述客户端的数据传输方法还包括:在上述客户端向上述服务器传输数据之前,预先获取上述服务器的IP地址和一个或多个传输凭证,其中,上述一个或多个传输凭证用于作为允许上述客户端向上述服务器传输数据的依据;以及根据预先获取的上述服务器的IP地址和一个或多个传输凭证向上述服务器传输数据。

在本发明的再一个实施例中,根据预先获取的上述服务器的IP地址和一个或多个传输凭证向上述服务器传输数据包括:通过上述IP地址向上述服务器发送传输请求,其中,上述传输请求中携带有上述服务器能够安全传输数据的认证证书的域名;在上述客户端和上述服务器之间通过上述认证证书进行通信握手时,通过上述客户端截获上述服务器实际发送的上述认证证书的域名;以及将截获的上述服务器实际发送的上述认证证书的域名与上述传输请求中携带有的上述服务器能够安全传输数据时的认证证书的域名进行强制校验,以验证数据传输的合法性。

在本发明的再一个实施例中,上述客户端的数据传输方法还包括:在上述客户端与上述服务器之间有数据传输的情况下,判断是否出现数据传输异常;以及在出现数据传输异常的情况下,确定用于处理上述数据传输异常的处理机制。

在本发明的再一个实施例中,确定用于处理上述数据传输异常的处理机制包括:在上述数据传输异常为上述客户端传输数据超时的情况下,重新设置上述客户端传输数据的超时时长;以及基于重新设置的超时时长重新传输对应的数据。

在本发明的再一个实施例中,确定用于处理上述数据传输异常的处理机制包括:当上述客户端与使用第一IP地址的上述服务器传输数据而出现数据传输异常的情况下,确定上述第一IP地址对应的域名;对上述域名进行解析,获得第二IP地址;以及上述客户端向使用上述第二IP地址的服务器发送出现传输异常的数据。

在本发明实施方式的第二方面中,提供了一种客户端的数据传输系统,包括第一确定模块、第一发送模块、第一调整模块和第二发送模块。第一确定模块用于确定需要传输给服务器的第一数据块的尺寸;第一发送模块用于向上述服务器发送上述第一数据块;第一调整模块用于根据上述第一数据块传输成功或上述第一数据块传输失败,基于上述第一数据块的尺寸调整上述客户端需要传输给上述服务器的第二数据块的尺寸;以及第二发送模块用于向上述服务器发送上述第二数据块。

在本发明的一个实施例中,上述第一调整模块包括第一调整单元和第二调整单元。第一调整单元用于在上述第一数据块传输成功的情况下,将上述第二数据块的尺寸调整为大于上述第一数据块的尺寸;以及第二调整单元用于在上述第一数据块传输失败的情况下,将上述第二数据块的尺寸调整为小于上述第一数据块的尺寸。

在本发明的另一个实施例中,上述第一调整单元包括判断子单元和第一调整子单元。判断子单元用于判断上述第一数据块的尺寸的M倍与预设阈值的大小,其中上述M大于1;以及第一调整子单元用于在上述第一数据块的尺寸的M倍大于或等于上述预定阈值的情况下,将上述第二数据块的尺寸调整为上述预定阈值。

在本发明的又一个实施例中,上述第一调整单元包括还包括第二调整子单元,用于在上述第一数据块的尺寸的M倍小于或等于上述预定阈值的情况下,将上述第二数据块的尺寸调整为上述第一数据块的M倍。

在本发明的再一个实施例中,上述第一调整单元还包括第三调整子单元,用于在上述第一数据块的尺寸的M倍大于或等于上述预定阈值的情况下,将上述第二数据块之后的其他数据块的尺寸固定为上述预定阈值。

在本发明的再一个实施例中,上述第二调整单元包括第四调整子单元,用于将上述第二数据块的调整为上述第一数据块的前一个数据块的尺寸,其中,上述前一个数据块能够被成功传输。

在本发明的再一个实施例中,上述第二调整单元还包括第五调整子单元,用于将上述第二数据块之后的其他数据块的尺寸固定为上述第一数据块的前一个数据块的尺寸。

在本发明的再一个实施例中,上述第一确定模块包括获取单元和第一确定单元。获取单元用于获取上述客户端当前所处的网络类型;以及第一确定单元用于根据上述客户端当前所处的网络类型,确定上述客户端需要传输给上述服务器的第一数据块的尺寸。

在本发明的再一个实施例中,上述系统还包括第一获取模块和第二确定模块。第一获取模块用于获取上述客户端当前所处的位置信息和/或网络类型;以及第二确定模块用于基于上述客户端当前所处的位置信息和/或网络类型,确定与上述客户端进行数据传输的上述服务器。

在本发明的再一个实施例中,上述第二确定模块包括第二确定单元和选择单元。第二确定单元用于确定与上述客户端进行数据传输的服务器列表,其中,上述服务器列表中包括一个或多个服务器;以及选择单元用于从上述服务器列表中选择目标服务器与上述客户端进行数据传输。

在本发明的再一个实施例中,上述系统还包括第二获取模块和传输模块。第二获取模块用于在上述客户端向上述服务器传输数据之前,预先获取上述服务器的IP地址和一个或多个传输凭证,其中,上述一个或多个传输凭证用于作为允许上述客户端向上述服务器传输数据的依据;以及传输模块用于根据预先获取的上述服务器的IP地址和一个或多个传输凭证向上述服务器传输数据。

在本发明的再一个实施例中,上述传输模块包括第一发送单元、截获单元和校验单元。第一发送单元用于通过上述IP地址向上述服务器发送传输请求,其中,上述传输请求中携带有上述服务器能够安全传输数据的认证证书的域名;截获单元用于在上述客户端和上述服务器之间通过上述认证证书进行通信握手时,通过上述客户端截获上述服务器实际发送的上述认证证书的域名;以及校验单元用于将截获的上述服务器实际发送的上述认证证书的域名与上述传输请求中携带有的上述服务器能够安全传输数据时的认证证书的域名进行强制校验,以验证数据传输的合法性。

在本发明的再一个实施例中,上述系统还包括第一判断模块和第三确定模块。第一判断模块用于在上述客户端与上述服务器之间有数据传输的情况下,判断是否出现数据传输异常;以及第三确定模块用于在出现数据传输异常的情况下,确定用于处理上述数据传输异常的处理机制。

在本发明的再一个实施例中,上述第三确定模块包括设置单元和传输单元。设置单元用于在上述数据传输异常为上述客户端传输数据超时的情况下,重新设置上述客户端传输数据的超时时长;以及传输单元用于基于重新设置的超时时长重新传输对应的数据。

在本发明的再一个实施例中,上述第三确定模块包括第三确定单元、解析单元和第二发送单元。第三确定单元用于当上述客户端与使用第一IP地址的上述服务器传输数据而出现数据传输异常的情况下,确定上述第一IP地址对应的域名;解析单元用于对上述域名进行解析,获得第二IP地址;以及第二发送单元用于上述客户端向使用上述第二IP地址的服务器发送出现传输异常的数据。

在本发明实施方式的第三方面中,提供了一种介质,存储有计算机可执行指令,上述指令在被处理单元执行时用于实现如上任一项所述的客户端的数据传输方法。

在本发明实施方式的第四方面中,提供了一种计算设备,包括处理单元和存储单元。存储单元,存储有计算机可执行指令,上述指令在被上述处理单元执行时用于实现如上任一项所述的客户端的数据传输方法。

根据本发明实施方式的客户端的数据传输方法及系统、介质和计算设备,可以通过向服务器发送第一数据块,并根据第一数据块发送成功与失败的结果,确定后续发送第二数据块的尺寸,使得在复杂多变的网络环境下动态调整待传输的数据块的尺寸,而无需根据网络类型确定传输的数据块尺寸,从而显著地提高数据传输的稳定性和传输速率,并且减少了数据传输失败的概率,为用户带来了更好的体验。

附图说明

通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:

图1示意性地示出了根据本发明实施方式的应用场景示意图;

图2示意性地示出了根据本发明实施例的客户端的数据传输方法的流程图;

图3示意性示出了根据本发明实施例的调整客户端需要传输给服务器的第二数据块的尺寸的流程图;

图4示意性示出了根据本发明实施例的将第二数据块的尺寸调整为大于第一数据块的尺寸的流程图;

图5示意性示出了根据本发明实施例的确定客户端需要传输给服务器的第一数据块的尺寸的流程图;

图6示意性示出了根据本发明另一实施例的客户端的数据传输方法的流程图;

图7示意性示出了根据本发明实施例的确定与客户端进行数据传输的服务器的流程图;

图8示意性示出了根据本发明另一实施例的用于客户端的数据传输方法的流程图;

图9示意性示出了根据本发明实施例的根据预先获取的服务器的IP地址和一个或多个传输凭证向服务器传输数据的流程图;

图10示意性示出了根据本发明另一实施例的根据预先获取的服务器的IP地址和一个或多个传输凭证向服务器传输数据的流程图;

图11示意性示出了根据本发明另一实施例的用于客户端的数据传输方法的流程图;

图12示意性示出了根据本发明另一实施例的确定用于处理数据传输异常的处理机制的流程图;

图13示意性示出了根据本发明另一实施例的确定用于处理数据传输异常的处理机制的流程图;

图14示意性地示出了根据本发明实施例的客户端的数据传输系统的框图;

图15示意性地示出了根据本发明另一实施例的客户端的数据传输系统的框图;

图16示意性地示出了根据本发明实施例的用于客户端的数据传输的程序产品图;以及

图17示意性地示出了根据本发明实施例的用于实现客户端的数据传输方法的计算设备的框图。

在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

根据本发明的实施方式,提出了一种客户端的数据传输方法及系统、介质和计算设备。

在本文中,需要理解的是,所涉及的术语lbs服务是一种基于位置的服务,是指通过电信移动等运营商的无线电通讯网络或者外部定位方式,获取终端用户的位置信息,为用户提供相应服务的一种业务。

Transport Layer Security,简称TLS,及其前身安全套接层(Secure Sockets Layer,简称SSL)是一种安全协议,目的是为互联网通信,提供安全及数据完整性保障。网景公司(Netscape)在1994年推出首版网页浏览器,网景导航者时,推出HTTPS协议,以SSL进行加密,这是SSL的起源。IETF将SSL进行标准化,1999年公布第一版TLS标准文件。随后又公布RFC 5246(2008年8月)与RFC 6176(2011年3月)。在浏览器、电子邮件、即时通信、VoIP、网络传真等应用程序中,广泛支持这个协议。主要的网站,如Google、Facebo0k等也以这个协议来创建安全连接,发送数据。目前已成为互联网上保密通信的工业标准。

SSL包含记录层(Record Layer)和传输层,记录层协议确定传输层数据的封装格式。传输层安全协议使用X.509认证,之后利用非对称加密演算来对通信方做身份认证,之后交换对称密钥作为会谈密钥(Session key)。这个会谈密钥是用来将通信两方交换的数据做加密,保证两个应用间通信的保密性和可靠性,使客户与服务器应用之间的通信不被攻击者窃听。

此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。

下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。

发明概述

本发明人发现,在客户端与服务器之间进行数据传输时,将客户端中的数据上传到服务器,以及或者将服务器中的数据下载到客户端是基本的用户行为,在各种软件领域都有使用。目前,已经出现一些进行数据传输的处理方法,以上传数据的流程为例,相关技术中支持多种网络接入方式并可选择适用方式的数据上传的方法,但这些方法在网络环境差场景下传输大文件很容易上传失败。

基于以上分析,发明人构想到通过动态调整传输的数据块的大小,当第一数据块传输成功的情况下,可以适当增加第二数据块的尺寸,当第一数据块传输失败的情况下,可以适当减小第二数据块的尺寸,使得在传输数据的时可以适应不断变化的网络环境。

通过向服务器发送第一数据块,并根据第一数据块发送成功与失败的结果,确定后续发送第二数据块的尺寸,使得在复杂多变的网络环境下动态调整待传输的数据块的尺寸,而无需根据网络类型确定传输的数据块尺寸,从而显著地提高数据传输的稳定性和传输速率,并且减少了数据传输失败的概率,为用户带来了更好的体验。

同时,可以根据客户端当前所处的位置信息和/或网络类型,确定与客户端进行数据传输的服务器。在这种情况下,可以根据客户端的地理位置和/或网络类型自动获取最优的服务器进行上传或下载数据,提高了数据传输效率。进一步地,在数据传输失败的情况下,提供了数据传输异常的处理机制,使得可以有效保障数据进行重新传输。

在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。

应用场景总览

首先参考图1详细阐述本发明实施例的用于账户的处理方法及其装置的应用场景。

图1示意性地示出了根据本发明实施方式的应用场景示意图。

如图1所示,在该应用场景中,可以包括各种电子设备11和服务器12,各种电子设备11例如包括但不限于笔记本11,台式机11,智能手机11以及平板电脑11等,各种电子设备11上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。

各种电子设备11可以通过通信网络与服务器12进行通信连接。用户可以通过电子设备11请求访问服务器12中所存储的资源,例如,向服务器12请求下载资源,或者,用户可以通过电子设备11将本地的资源上传至服务器12中并进行存储。

本公开实施例所提供的数据传输方法一般可以由各种电子设备11执行,或者也可以由不同于各种电子设备11的其他终端设备执行。相应地,本公开实施例所提供的数据传输系统也可以设置于各种电子设备11中,或设置于不同于各种电子设备11的其他终端设备中。应该理解,图1中的各种电子设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

示例性方法

下面结合图1的应用场景,参考图1来描述根据本发明示例性实施方式的用于客户端的数据传输的方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。

图2示意性地示出了根据本发明实施例的客户端的数据传输方法的流程图。

如图2所示,根据本发明实施例的客户端的数据传输方法包括操作S210~操作S240。

在操作S210,确定需要传输给服务器的第一数据块的尺寸。

在操作S220,向服务器发送第一数据块。

在操作S230,根据第一数据块传输成功或第一数据块传输失败,基于第一数据块的尺寸调整客户端需要传输给服务器的第二数据块的尺寸。

在操作S240,向服务器发送第二数据块。

根据本公开的实施例,在客户端与服务器之间进行数据传输时,通常可以将待传输的文件或其他数据资源分成若干个数据块,批次进行上传。由于在实际数据传输过程中,用户的网络情况不是一成不变的,而是变化无常的,若在复杂的网络情况下传输相同尺寸的数据块,经常会造成数据块传输失败的情况,因此如何确定每次上传的文件资源的数据块尺寸对数据传输具有重要的影响。

根据本公开的实施例,确定需要传输给服务器的第一数据块的尺寸可以是8KB,32KB,64KB,128KB,1M等尺寸中的任意一个尺寸。通常情况下,可以让第一数据块的尺寸设置的相对较小些,以基本保证在不同的网络类型下能够成功传输至服务器。

根据本公开的实施例,向服务器发送确定好尺寸的第一数据块之后,可以根据一定的反馈方式,例如服务器可以在一定时间内向客户端反馈是否成功接收第一数据块的信息,使得客户端可以根据第一数据块传输成功或第一数据块传输失败,对第二数据块的尺寸进行调整,以适应当前的网络环境。

通过本公开的实施例,可以通过向服务器发送第一数据块,并根据第一数据块发送成功与失败的结果,确定后续发送第二数据块的尺寸,使得在复杂多变的网络环境下动态调整待传输的数据块的尺寸,而无需根据网络类型确定传输的数据块尺寸,从而显著地提高数据传输的稳定性和传输速率,并且减少了数据传输失败的概率,为用户带来了更好的体验。

下面参考图3~图13,结合具体实施例对图2所示的方法做进一步说明。

图3示意性示出了根据本发明实施例的调整客户端需要传输给服务器的第二数据块的尺寸的流程图。

如图3所示,调整客户端需要传输给服务器的第二数据块的尺寸包括操作S231~S232。

在操作S231,在第一数据块传输成功的情况下,将第二数据块的尺寸调整为大于第一数据块的尺寸。

在操作S232,在第一数据块传输失败的情况下,将第二数据块的尺寸调整为小于第一数据块的尺寸。

根据本公开的实施例,在第一数据块传输成功的情况下,说明当前的网络环境至少能够传输第一数据块尺寸的数据块,因此可以适当的增加数据块的尺寸。在第一数据块传输失败的情况下,说明当前的网络环境不能够传输第一数据块尺寸的数据块,因此可以适当的减小数据块的尺寸。

例如,当第一数据块的尺寸为32KB的情况下传输成功时,可以适当的增加第二数据块的尺寸为64KB或者其他大于尺寸32KB的尺寸。当第一数据块的尺寸为32KB的情况下传输失败时,可以适当的减小第二数据块的尺寸为8KB或者其他小于尺寸32KB的尺寸。需要说明的是,当第一数据块的尺寸为32KB的情况下传输失败时,可以对第一数据块重新进行分段切片,以分拆成多个尺寸更小的数据块进行传输。

通过本公开的实施例,在数据传输成功的情况下,增加数据块的大小,可以提高数据传输效率;在数据传输失败的情况下,降低数据块的大小,可以有效保证数据正常传输。

图4示意性示出了根据本发明实施例的将第二数据块的尺寸调整为大于第一数据块的尺寸的流程图。

如图4所示,将第二数据块的尺寸调整为大于第一数据块的尺寸包括操作S2311~S2312。

在操作S2311,判断第一数据块的尺寸的M倍与预设阈值的大小,其中M大于1。

在操作S2312,在第一数据块的尺寸的M倍大于或等于预定阈值的情况下,将第二数据块的尺寸调整为预定阈值。

根据本公开的实施例,将第二数据块的尺寸调整为大于第一数据块的尺寸可以是将第二数据块的尺寸调整为第一数据块的尺寸的M倍,其中,M大于1,需要说明的是,第二数据块的尺寸调整为第一数据块的尺寸的M倍时还需要判断第一数据块的尺寸的M倍与预设阈值的大小,若在第一数据块的尺寸的M倍大于或等于预定阈值的情况下,将第二数据块的尺寸调整为预定阈值,此时,可以将预定阈值的第二数据块向服务器进行传输。

例如,预设阈值为128KB,第一数据块的尺寸为32KB,将第二数据块的尺寸调整为第一数据块的尺寸的M倍可以是调整为第一数据块的尺寸的6倍,此时,第二数据块的尺寸为192KB,由于第二数据块的尺寸192KB大于预设阈值128KB,因此,将第二数据块的尺寸调整为预定阈值为128KB进行传输。

根据本公开的实施例,在第一数据块的尺寸的M倍小于或等于预定阈值的情况下,将第二数据块的尺寸调整为第一数据块的M倍。

以上述实施例为例,预设阈值为128KB,第一数据块的尺寸为32KB,将第二数据块的尺寸调整为第一数据块的尺寸的M倍可以是调整为第一数据块的尺寸的2倍,此时,第二数据块的尺寸为64KB,由于第二数据块的尺寸64KB小于预设阈值128KB,因此,将第二数据块的尺寸保持为64KB进行传输。

根据本公开的实施例,预设阈值和M的数值可以根据实际情况预先确定,也可以是根据网络的变化规律实时确定,例如,网络传输速率较低的情况下,将预设值和M值都可以适当调低,以保证正常传输数据。根据本公开的实施例,预设阈值可以是在一般网络环境下能够正常传输的数值。

通过本公开的实施例,在数据传输成功的情况下,增加数据块的大小,可以提高数据传输效率;在数据传输失败的情况下,降低数据块的大小,可以有效保证数据正常传输。

根据本公开的实施例,在第一数据块的尺寸的M倍大于或等于预定阈值的情况下,将第二数据块之后的其他数据块的尺寸固定为预定阈值。

根据本公开的实施例,在第一数据块的尺寸的M倍大于或等于预定阈值的情况下,也可以将第二数据块之后的其他数据块的尺寸固定为预定阈值,例如,将第三数据块固定为预定阈值,以基本保证正常的数据传输。

通过本公开的实施例,通过固定后续数据块的尺寸大小,可以稳定数据传输过程,提高数据传输效率。

根据本公开的实施例,在第一数据块传输失败的情况下,将第二数据块的尺寸调整为小于第一数据块的尺寸包括将第二数据块的调整为第一数据块的前一个数据块的尺寸,其中,前一个数据块能够被成功传输。

根据本公开的实施例,当第一数据块传输失败时,可以将第二数据块的尺寸调整为第一数据块的前一个数据块的尺寸,当然,该前一个数据块能够在当时的网络环境下被成功传输。对于传输失败的第一数据块,也可以对其进行拆分,调整为能够在当前网络环境下成功传输的多个数据块。

根据本公开的实施例,将第二数据块之后的其他数据块的尺寸固定为第一数据块的前一个数据块的尺寸。根据本公开的实施例,若某一个数据块上传失败了,就降低到上一次上传成功的块尺寸,并且以后的数据块就一直以这个块尺寸进行上传。

通过本公开的实施例,在数据传输失败的情况下,可以降低数据块的大小,或者将第二数据块之后的其他数据块的尺寸固定为第一数据块的前一个数据块的尺寸,该第一数据块的前一个数据块的尺寸下能够被成功传输,可以有效保证数据正常传输。

图5示意性示出了根据本发明实施例的确定客户端需要传输给服务器的第一数据块的尺寸的流程图。

如图5所示,根据本公开的实施例,确定客户端需要传输给服务器的第一数据块的尺寸包括操作S211~S212。

在操作S211,获取客户端当前所处的网络类型。

在操作S212,根据客户端当前所处的网络类型,确定客户端需要传输给服务器的第一数据块的尺寸。

根据本公开的实施例,第一数据块的尺寸可以是长期实验后的经验值,经验值大小由客户端所处网络确定,以移动客户端为例,客户端当前所处的网络类型为2g网络时,第一数据块的尺寸可以是8KB,客户端当前所处的网络类型为3g网络时,第一数据块的尺寸可以是32KB,客户端当前所处的网络类型为4g网络时,第一数据块的尺寸可以是64KB,客户端当前所处的网络类型为5g网络时,第一数据块的尺寸可以是128KB。

通过本公开的实施例,根据客户端的网络类型,确定数据块的大小,可以充分利用网络资源,减少网络传输失败的次数,提高传输效率。

图6示意性示出了根据本发明另一实施例的客户端的数据传输方法的流程图。在该实施例中,除了包括上文参考图2描述的操作S210~S240之外,还包括操作S250~S260。为了描述的简洁起见,这里省略对操作S210~S240的描述。

如图6所示,客户端的数据传输方法还包括操作S250~S260。

在操作S250,获取客户端当前所处的位置信息和/或网络类型。

在操作S260,基于客户端当前所处的位置信息和/或网络类型,确定与客户端进行数据传输的服务器。

根据本公开的实施例,以移动客户端为例,由于lbs服务器可以通过用户的请求IP感知到客户端的位置,所以在用户获取上传服务器地址时,可以先经过一层lbs服务,根据客户端的位置,分配一些靠近的服务器给用户。根据本公开的实施例,客户端本身可以获取其所处的网络类型,在获取客户端当前所处的网络类型之后,可以分配一些与客户端网络类型相同的服务器给用户。

根据本公开的实施例,lbs服务器也可以预先获取客户端当前的位置信息,例如,在程序启动后,或者是在特定模块加载后,lbs服务器与客户端进行通信,预先获取客户端当前的位置信息,预先获取流程会比真正的上传流程早发生。

通过本公开的实施例,根据客户端的位置和网络类型,自动获取较优的服务器进行数据传输,以提高数据传输的效率。

图7示意性示出了根据本发明实施例的确定与客户端进行数据传输的服务器的流程图。

如图7所示,确定与客户端进行数据传输的服务器包括操作S261~S262,其中:

在操作S261,确定与客户端进行数据传输的服务器列表,其中,服务器列表中包括一个或多个服务器;以及

在操作S262,从服务器列表中选择目标服务器与客户端进行数据传输。

根据本公开的实施例,根据客户端的位置和所处网络,确定与客户端进行数据传输的服务器可以是分配一些靠近的或者网络类型相同的服务器IP列表给用户,从服务器IP列表中选择目标服务器与客户端进行数据传输。

通过本公开的实施例,服务器列表里包含多个IP节点,当某个节点的重试次数过多或者出现致命错误时(如服务不可用),则会自动选择到下一个服务器。此外,由于分配的是IP地址而不是域名,可以减少DNS服务器进行域名解析的开销。

图8示意性示出了根据本发明另一实施例的用于客户端的数据传输方法的流程图。

如图8所示,用于客户端的数据传输方法还包括操作S270~S280,其中:

在操作S270,在客户端向服务器传输数据之前,预先获取服务器的IP地址和一个或多个传输凭证,其中,一个或多个传输凭证用于作为允许客户端向服务器传输数据的依据。

在操作S280,根据预先获取的服务器的IP地址和一个或多个传输凭证向服务器传输数据。

根据本公开的实施例,预先获取指的是在真正传输有效数据发生之前预先获取。这个时机可以是程序启动后,或者是在特定模块加载后。预先获取流程会比真正的上传流程早发生,因此一些获取异常的处理如请求超时,重试逻辑不会占用真正的上传时间。在绝大部分情况下,真正上传时,预获取数据已经准备完毕。

传输凭证本质上就是一段字符串,该传输凭证中可以包括Token,资源桶名,资源位置等其他信息。这些上传凭证相关信息用于传输给服务器,服务器通过验证这个Token的有效性来判断是否允许本次上传,防止上传地址被滥用。在验证该Token为有效Token的情况下,服务器将根据资源桶名,资源位置等信息将客户端传输过来的数据进行存储。由于凭证的获取其实不属于上传流程,可以优化为在上传之前预获取,并且同时获取多个凭证,本地做好存储,每次上传用掉一个凭证。

通过本公开的实施例,上传相关信息服务器的IP地址和一个或多个传输凭证在上传行为之前已经获取完毕,预获取流程会比真正的上传流程早发生,提高了数据传输效率。

图9示意性示出了根据本发明实施例的根据预先获取的服务器的IP地址和一个或多个传输凭证向服务器传输数据的流程图。

如图9所示,根据预先获取的服务器的IP地址和一个或多个传输凭证向服务器传输数据包括操作S281~S283,其中:

在操作S281,通过IP地址向服务器发送传输请求,其中,传输请求中携带有服务器能够安全传输数据的认证证书的域名。

在操作S282,在客户端和服务器之间通过认证证书进行通信握手时,通过客户端截获服务器实际发送的认证证书的域名。

在操作S283,将截获的服务器实际发送的认证证书的域名与传输请求中携带有的服务器能够安全传输数据时的认证证书的域名进行强制校验,以验证数据传输的合法性。

根据本公开的实施例,直接通过IP地址向服务器发送携带有服务器能够安全传输数据的认证证书的域名的传输请求,然后截获服务器实际发送给客户端的认证证书的域名,将截获的域名与发送的域名进行强制校验,以验证数据传输的合法性。

一般情况下,很难从数字颁发机构请求到绑定IP的SSL证书,但是直接使用IP有利于使整个上传流程更快速和稳定。

根据本公开的实施例,具体地,例如,图10示意性示出了根据本发明另一实施例的根据预先获取的服务器的IP地址和一个或多个传输凭证向服务器传输数据的流程图。

如图10所示,根据预先获取的服务器的IP地址和一个或多个传输凭证向服务器传输数据包括如下操作:

1)服务器以域名B申请一份SSL/TLS证书。

2)客户端需要向IP为A的服务器做上传请求,并在请求中注明认证证书域名为B。

3)客户端在与服务器进行SSL/TLS握手阶段时,截获服务器下发下来的域名为B的证书。

4)对证书进行校验。

4.1)默认流程里,证书是需要和请求的地址A和所属域名B的证书做校验的,然而地址A和域名B并不匹配。

4.2)客户端在这里截获了这个流程之后,进行校验链的重写,强制将域名B和所属域名B的证书做校验,验证其合法性。

5)校验通过后恢复剩余流程。

通过本公开的实施例,通过截获获服务器实际发送的认证证书的域名以改变通信握手流程,可同时基于IP和SSL/TLS上传文件,并保证连接的安全可靠,省去了常规DNS域名服务器IP地址解析步骤。

图11示意性示出了根据本发明另一实施例的用于客户端的数据传输方法的流程图。

如图11所示,用于客户端的数据传输方法还包括操作S290~S2100,其中:

在操作S290,在客户端与服务器之间有数据传输的情况下,判断是否出现数据传输异常。

在操作S2100,在出现数据传输异常的情况下,确定用于处理数据传输异常的处理机制。

根据本公开的实施例,当客户端与服务器之间进行传输数据时,可能会出现上传失败的情况,也即,出现了数据传输异常,例如,上传超时,上传彻底失败等等,在这种情况下,可以确定相应的处理机制用于处理数据传输异常。

通过本公开的实施例,传输异常的处理机制,可以增大传输的成功几率。

图12示意性示出了根据本发明另一实施例的确定用于处理数据传输异常的处理机制的流程图。

如图12所示,确定用于处理数据传输异常的处理机制包括操作S2101~S2102,其中:

在操作S2101,在数据传输异常为客户端传输数据超时的情况下,重新设置客户端传输数据的超时时长。

在操作S2102,基于重新设置的超时时长重新传输对应的数据。

根据本公开的实施例,当数据块上传或下载超时后可以进行一次或多次重试上传或下载,并且可以重新设置客户端传输数据的超时时长,例如,第一次上传超时时间可以为20秒,第二次上传超时时间可以为30秒,通过增加超时时间的方式增加上传成功的几率,数据块多次上传均超时则判定为上传失败。

通过本公开的实施例,失败后增加数据块的超时时间后进行重试传输,可以增大数据传输的成功几率。

图13示意性示出了根据本发明另一实施例的确定用于处理数据传输异常的处理机制的流程图。

如图13所示,确定用于处理数据传输异常的处理机制包括操作S2103~S2105,其中:

在操作S2103,当客户端与使用第一IP地址的服务器传输数据而出现数据传输异常的情况下,确定第一IP地址对应的域名。

在操作S2104,对域名进行解析,获得第二IP地址。

在操作S2105,客户端向使用第二IP地址的服务器发送出现传输异常的数据。

根据本公开的实施例,由于客户端根据IP地址向服务器发送传输请求,为了避免有些内部复杂网络有代理中转等问题的存在,当使用IP地址传输失败之后,根据本公开的实施例,可以回退到内置的上传域名,即确定第一IP地址对应的域名,通过设备设置好的DNS服务器进行域名解析,获得可用第二IP地址再重新进行数据传输。

根据本公开的实施例,如果出现非超时性错误,则可以认为是不可重试恢复的错误,跳过重试逻辑直接被判定为传输失败。

当重试后同样再次失败之后,则判定为本次传输彻底失败。除了通知上层传输失败以外。根据本公开的实施例,还可以做一些收尾处理来保证下一次上传大概率可用,例如1)根据返回码判断失败原因是否是因为凭证失败导致,如果是,说明本地缓存的都应该无效了,将本地缓存的凭证列表全部清空并重新请求。2)如前文所述,预处理时请求了一个上传的IP列表,本IP上传失败后,切换到下一个可用IP,下一次上传任务用新的IP地址进行上传。

通过本公开的实施例,由于某些特定网络导致IP不通,则回滚到域名后进行传输,由域名解析器分配可用IP地址再次进行数据传输。

示例性系统

在介绍了本发明示例性实施方式的介质之后,接下来,参考图14对本发明示例性实施方式的、用于参考图14对本发明示例性实施方式的客户端的数据传输系统进行描述。

图14示意性地示出了根据本发明实施例的客户端的数据传输系统的框图。

如图14所示,该客户端的数据传输系统300包括第一确定模块310、第一发送模块320、第一调整模块330和第二发送模块340。

第一确定模块310用于确定需要传输给服务器的第一数据块的尺寸。

第一发送模块320用于向服务器发送第一数据块。

第一调整模块330用于根据第一数据块传输成功或第一数据块传输失败,基于第一数据块的尺寸调整客户端需要传输给服务器的第二数据块的尺寸。

第二发送模块340用于向服务器发送第二数据块。

通过本公开的实施例,可以通过向服务器发送第一数据块,并根据第一数据块发送成功与失败的结果,确定后续发送第二数据块的尺寸,使得在复杂多变的网络环境下动态调整待传输的数据块的尺寸,而无需根据网络类型确定传输的数据块尺寸,从而显著地提高数据传输的稳定性和传输速率,并且减少了数据传输失败的概率,为用户带来了更好的体验。

在本发明的一个实施例中,第一调整模块330包括第一调整单元和第二调整单元。

第一调整单元用于在第一数据块传输成功的情况下,将第二数据块的尺寸调整为大于第一数据块的尺寸。

第二调整单元用于在第一数据块传输失败的情况下,将第二数据块的尺寸调整为小于第一数据块的尺寸。

通过本公开的实施例,在数据传输成功的情况下,增加数据块的大小,可以提高数据传输效率;在数据传输失败的情况下,降低数据块的大小,可以有效保证数据正常传输。

在本发明的另一个实施例中,第一调整单元包括判断子单元和第一调整子单元。判断子单元用于判断第一数据块的尺寸的M倍与预设阈值的大小,其中M大于1;以及第一调整子单元用于在第一数据块的尺寸的M倍大于或等于预定阈值的情况下,将第二数据块的尺寸调整为预定阈值。

在本发明的又一个实施例中,第一调整单元包括还包括第二调整子单元,用于在第一数据块的尺寸的M倍小于或等于预定阈值的情况下,将第二数据块的尺寸调整为第一数据块的M倍。

通过本公开的实施例,在数据传输成功的情况下,增加数据块的大小,可以提高数据传输效率;在数据传输失败的情况下,降低数据块的大小,可以有效保证数据正常传输。

在本发明的再一个实施例中,第一调整单元还包括第三调整子单元,用于在第一数据块的尺寸的M倍大于或等于预定阈值的情况下,将第二数据块之后的其他数据块的尺寸固定为预定阈值。

通过本公开的实施例,通过固定后续数据块的尺寸大小,可以稳定数据传输过程,提高数据传输效率。

在本发明的再一个实施例中,第二调整单元包括第四调整子单元,用于将第二数据块的调整为第一数据块的前一个数据块的尺寸,其中,前一个数据块能够被成功传输。

根据本公开的实施例,当第一数据块传输失败时,可以将第二数据块的尺寸调整为第一数据块的前一个数据块的尺寸,当然,该前一个数据块能够在当时的网络环境下被成功传输。对于传输失败的第一数据块,也可以对其进行拆分,调整为能够在当前网络环境下成功传输的多个数据块。

在本发明的再一个实施例中,第二调整单元还包括第五调整子单元,用于将第二数据块之后的其他数据块的尺寸固定为第一数据块的前一个数据块的尺寸。

通过本公开的实施例,在数据传输失败的情况下,可以降低数据块的大小,或者将第二数据块之后的其他数据块的尺寸固定为第一数据块的前一个数据块的尺寸,该第一数据块的前一个数据块的尺寸下能够被成功传输,可以有效保证数据正常传输。

在本发明的再一个实施例中,第一确定模块310包括获取单元和第一确定单元。获取单元用于获取客户端当前所处的网络类型;以及第一确定单元用于根据客户端当前所处的网络类型,确定客户端需要传输给服务器的第一数据块的尺寸。

通过本公开的实施例,根据客户端的网络类型,确定数据块的大小,可以充分利用网络资源,减少网络传输失败的次数,提高传输效率。

图15示意性地示出了根据本发明另一实施例的客户端的数据传输系统的框图。

如图15所示,在本发明的再一个实施例中,系统还包括第一获取模块350和第二确定模块360。

第一获取模块350用于获取客户端当前所处的位置信息和/或网络类型。

第二确定模块360用于基于客户端当前所处的位置信息和/或网络类型,确定与客户端进行数据传输的服务器。

通过本公开的实施例,根据客户端的位置和网络类型,自动获取较优的服务器进行数据传输,以提高数据传输的效率。

在本发明的再一个实施例中,第二确定模块360包括第二确定单元和选择单元。第二确定单元用于确定与客户端进行数据传输的服务器列表,其中,服务器列表中包括一个或多个服务器;以及选择单元用于从服务器列表中选择目标服务器与客户端进行数据传输。

通过本公开的实施例,服务器列表里包含多个IP节点,当某个节点的重试次数过多或者出现致命错误时(如服务不可用),则会自动选择到下一个服务器。此外,由于分配的是IP地址而不是域名,可以减少DNS服务器进行域名解析的开销。

如图15所示,在本发明的再一个实施例中,客户端的数据传输系统还包括第二获取模块370和传输模块380。

第二获取模块370用于在客户端向服务器传输数据之前,预先获取服务器的IP地址和一个或多个传输凭证,其中,一个或多个传输凭证用于作为允许客户端向服务器传输数据的依据。

传输模块380用于根据预先获取的服务器的IP地址和一个或多个传输凭证向服务器传输数据。

通过本公开的实施例,上传相关信息服务器的IP地址和一个或多个传输凭证在上传行为之前已经获取完毕,预获取流程会比真正的上传流程早发生,提高了数据传输效率。

在本发明的再一个实施例中,传输模块380包括第一发送单元、截获单元和校验单元。第一发送单元用于通过IP地址向服务器发送传输请求,其中,传输请求中携带有服务器能够安全传输数据的认证证书的域名;截获单元用于在客户端和服务器之间通过认证证书进行通信握手时,通过客户端截获服务器实际发送的认证证书的域名;以及校验单元用于将截获的服务器实际发送的认证证书的域名与传输请求中携带有的服务器能够安全传输数据时的认证证书的域名进行强制校验,以验证数据传输的合法性。

通过本公开的实施例,通过截获获服务器实际发送的认证证书的域名以改变通信握手流程,可同时基于IP和SSL/TLS上传文件,并保证连接的安全可靠,省去了常规DNS域名服务器IP地址解析步骤。

如图15所示,在本发明的再一个实施例中,系统还包括第一判断模块390和第三确定模块3100。第一判断模块390用于在客户端与服务器之间有数据传输的情况下,判断是否出现数据传输异常;以及第三确定模块3100用于在出现数据传输异常的情况下,确定用于处理数据传输异常的处理机制。

通过本公开的实施例,传输异常的处理机制,可以增大传输的成功几率。

在本发明的再一个实施例中,第三确定模块3100包括设置单元和传输单元。设置单元用于在数据传输异常为客户端传输数据超时的情况下,重新设置客户端传输数据的超时时长;以及传输单元用于基于重新设置的超时时长重新传输对应的数据。

通过本公开的实施例,失败后增加数据块的超时时间后进行重试传输,可以增大数据传输的成功几率。

在本发明的再一个实施例中,第三确定模块3100包括第三确定单元、解析单元和第二发送单元。第三确定单元用于当客户端与使用第一IP地址的服务器传输数据而出现数据传输异常的情况下,确定第一IP地址对应的域名;解析单元用于对域名进行解析,获得第二IP地址;以及第二发送单元用于客户端向使用第二IP地址的服务器发送出现传输异常的数据。

通过本公开的实施例,由于某些特定网络导致IP不通,则回滚到域名后进行传输,由域名解析器分配可用IP地址再次进行数据传输。

该客户端的数据传输系统300可以用来实现参考图2~图13所示的方法。需要说明的是,本公开提供的客户端的数据传输系统300与客户端的数据传输方法是相对应的,详细描述可以参考客户端的数据传输方法,在此不再赘述。

示例性介质

在介绍了本发明示例性实施方式的方法之后,接下来,参考图16对本发明示例性实施方式的、用于存储有计算机可执行指令,该指令在被处理单元执行时用于实现图2至图13中的客户端的数据传输方法的介质。

在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算设备上运行时,所述程序代码用于使所述计算设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的用于客户端的数据传输方法中的步骤,例如,所述计算设备可以执行如图2中所示的操作S210,确定需要传输给服务器的第一数据块的尺寸。操作S220,向服务器发送第一数据块。操作S230,根据第一数据块传输成功或第一数据块传输失败,基于第一数据块的尺寸调整客户端需要传输给服务器的第二数据块的尺寸。操作S240,向服务器发送第二数据块。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

图16示意性地示出了根据本发明实施例的用于客户端的数据传输的程序产品图,如图16所示,描述了根据本发明的实施方式的用于客户端的数据传输的程序产品40,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆,RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言——诸如Java,C++等,还包括常规的过程式程序设计语言——诸如“C”,语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)一连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

示例性计算设备

在介绍了本发明示例性实施方式的方法、介质和系统之后,接下来,参考图17对本发明示例性实施方式的计算设备,该计算设备包括处理单元和存储单元,存储单元存储有计算机可执行指令,上述指令在被上述处理单元执行时用于实现图2至图13中的客户端的数据传输方法。

本发明实施例还提供了一种计算设备。所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

在一些可能的实施方式中,根据本发明的计算设备可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的信息呈现方法中的步骤。例如,所述处理单元可以执行如图2中所示的操作S210,确定需要传输给服务器的第一数据块的尺寸。操作S220,向服务器发送第一数据块。操作S230,根据第一数据块传输成功或第一数据块传输失败,基于第一数据块的尺寸调整客户端需要传输给服务器的第二数据块的尺寸。操作S240,向服务器发送第二数据块。

图17示意性地示出了根据本发明实施例的用于实现客户端的数据传输方法的计算设备的框图,下面参照图17来描述根据本发明的这种实施方式的用于客户端的数据传输的计算设备50。如图17所示的计算设备50仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图17所示,计算设备50以通用计算设备的形式表现。计算设备50的组件可以包括但不限于:上述至少一个处理单元501、上述至少一个存储单元502、连接不同系统组件(包括存储单元502和处理单元501)的总线503。

总线503表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。

存储单元502可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)5021和/或高速缓存存储器5022,还可以进一步包括只读存储器(ROM)5023。

存储单元502还可以包括具有一组(至少一个)程序模块5024的程序/实用工具5025,这样的程序模块5024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

计算设备50也可以与一个或多个外部设备504(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与计算设备50交互的设备通信,和/或与使得计算设备50能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/0)接口505进行。并且,计算设备50还可以通过网络适配器506与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器506通过总线503与计算设备50的其它模块通信。应当明白,尽管图中未示出,可以结合计算设备50使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

应当注意,尽管在上文详细描述中提及了系统的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。

此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1