CN107295040A - 数据上传方法、装置及系统 - Google Patents

数据上传方法、装置及系统 Download PDF

Info

Publication number
CN107295040A
CN107295040A CN201610201099.0A CN201610201099A CN107295040A CN 107295040 A CN107295040 A CN 107295040A CN 201610201099 A CN201610201099 A CN 201610201099A CN 107295040 A CN107295040 A CN 107295040A
Authority
CN
China
Prior art keywords
data
idc
proxy module
uploading
client computer
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
Application number
CN201610201099.0A
Other languages
English (en)
Inventor
郑振宇
卿银波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610201099.0A priority Critical patent/CN107295040A/zh
Priority to TW106105974A priority patent/TW201737109A/zh
Priority to PCT/CN2017/077912 priority patent/WO2017167119A1/zh
Publication of CN107295040A publication Critical patent/CN107295040A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2895Intermediate processing functionally located close to the data provider application, e.g. reverse proxies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种数据上传方法、装置及系统,通过在客户机与互联网数据中心IDC之间就近部署代理模块,代理模块分别与客户机和互联网数据中心IDC基于流式上传技术传输数据。本发明中,通过增加代理模块来缩短用户到IDC之间的往返传输时间RTT,相应地提高数据的传输速度,而且代理模块基于流式上传技术完成数据的上传,代理模块不再需要对接收到数据进行落地存储和转换,节省资源和时间,进一步提高上传的速度。

Description

数据上传方法、装置及系统
技术领域
本发明属于数据处理领域,尤其涉及一种数据上传方法、装置及系统。
背景技术
目前,用户通过客户机向互联网数据中心(Internet Data Center,简称IDC)上传数据主要有以下两种方式:
(1)客户机向IDC直接上传:客户机与IDC之间建立连接,通过建立的连接向IDC直接上传数据。如图1所示,其为现有的客户机直接向IDC上传数据的示意图。
实际应用中,客户机与IDC之间的物理距离可能比较远,导致客户机与IDC之间的往返传输时间(Round Trip Time,简称RTT)比较长。当RTT比较长时,往往导致客户机与IDC之间建立连接的时候耗时较长,而且处于无线场景下建连的难度更大。而且由于RTT比较长,在TCP发送窗口没有达到带宽时延乘积(Bandwidth Delay Product,简称BDP)情况下,上传吞吐量比较低。进一步地,由于RTT比较长,客户机和IDC之间的路由跳数就会比较多,丢包率较高。
(2)通过内容分发网络(Content Delivery Network,简称CDN)进行中转:CDN设置在客户机与IDC之间,客户机首先将待上传的数据上传到CDN上,CDN向客户机返回一个上传成功的消息,然后CDN将接收到的数据进行压缩或者转换后转发给IDC。如图2所示,其为现有的客户机通过CDN向IDC上传数据的示意图。
在CDN中转方式下,CDN需要对上传的数据进行中间落地存储,当存储上传数据的服务器出现宕机时,可能出现数据丢失的情况。CDN将接收到的上传数据存储结束后客户机就能接收到CDN返回上传成功的消息,此时,数据还停留在CDN节点上,并未到达互联网数据中心。而且当出现存储上传数据的服务器宕机导致丢失数据时,此时虽然客户机上传成功,但是上传的数据却不存在。
由于CDN需要落地存储数据,可能出现数据热点问题。实际应用中,大部分磁盘写入效率不高,会增加数据上传的总延时。为了加速转发上传的数据,时CDN需要压缩或者转换处理上传的数据,实际存储的数据和上传的数据并不一样,而且导致数据上传的耗时较长。
发明内容
本发明提供一种数据上传方法、装置及系统,用于解决现有客户机向互联网数据中心IDC上传数据时存在耗时较长的问题。
为了实现上述目的,本发明提供了一种数据上传方法,包括:
代理模块接收客户机基于流式上传技术上传的数据;
所述代理模块基于流式上传技术将所述数据上传到互联网数据中心IDC;
其中,所述代理模块部署的位置满足预设条件,其中所述预设条件为:客户机基于所述代理模块向所述IDC上传数据所耗费的最小时长小于等于所述客户机直接向所述IDC上传数据耗费的最小时长。
为了实现上述目的,本发明提供了一种数据上传装置,包括:
接收单元,用于接收客户机基于流式上传技术上传的数据;
上传单元,用于基于流式上传技术将所述数据上传到互联网数据中心IDC;
其中所述数据上传装置的部署位置满足预设条件,其中所述预设条件为:客户机基于所述数据上传装置向所述IDC上传数据所耗费的最小时长小于等于所述客户机直接向所述IDC上传数据耗费的最小时长。
为了实现上述目的,本发明提供了一种数据上传系统,包括:
客户机,用于向通过代理模块向互联网数据中心IDC上传数据;
所述代理模块,用于接收所述客户机基于流式上传技术上传的所述数据,以及基于流式上传技术将所述数据上传到所述IDC上;
所述IDC,用于接收所述代理模块转发的所述客户机上传的所述数据;
其中,所述代理模块部署的位置满足预设条件,其中所述预设条件为:所述客户机基于所述代理模块向所述IDC上传数据所耗费的最小时长小于等于所述客户机直接向所述IDC上传数据耗费的最小时长。
本发明提供的数据上传方法、装置及系统,通过在客户机与互联网数据中心IDC之间就近部署代理模块,代理模块分别与客户机和互联网数据中心IDC基于流式上传技术传输数据。本实施例中,通过增加代理模块来缩短用户到IDC之间的往返传输时间RTT,RTT变短后,则相应地提高数据的传输速度,而且代理模块基于流式传输上传数据,不再需要对数据进行落地存储和转换,节省资源和时间,进一步地提高上传的速度。
附图说明
图1为现有的客户机直接向IDC上传数据的示意图;
图2为现有的客户机通过CDN向IDC上传数据的示意图;
图3为本发明实施例一的数据上传方法的流程示意图;
图4为本实施例一的数据上传方法的应用示意图之一;
图5为本实施例一的数据上传方法的应用示意图之二;
图6为本实施例一的数据上传方法的应用示意图之三;
图7为本实施例一的数据上传方法的应用示意图之四;
图8为本实施例一的数据上传方法的应用示意图之五;
图9为本发明实施例二的数据上传方法的流程示意图;
图10为本发明实施例三的数据上传装置的结构示意图;
图11为本发明实施例四的数据上传系统的结构示意图。
具体实施方式
下面结合附图对本发明实施例提供的数据上传方法、装置及系统进行详细描述。
实施例一
如图1所示,其为本发明实施例一的数据上传方法的流程示意图。该数据上传方法包括以下步骤:
S101、代理模块接收客户机基于流式上传技术上传的数据。
本实施例中,客户机(Client)与互联网数据中心IDC之间部署有一个代理模块,通过该代理模块实现客户机向IDC上传数据。本实施例中的代理模块可以是代理服务器也可以是设置在其他服务器上的执行代理功能的程序模块(Proxy)。
部署代理模块需要满足以下预设条件:客户机基于部署的代理模块向互联网数据中心IDC上传数据的最小时长小于等于客户机直接向互联网数据中心IDC上传数据所耗费的最小时长。代理模块的部署的位置就是代理模块在传输链路中的位置,本实施例中,用代理模块与客户机之间的RTT来表示代理模块与客户机之间的传输距离,用代理模块与互联网数据中心IDC之间的RTT,来表示代理模块与互联网数据中心IDC之间的传输距离。
例如,客户机直接向互联网数据中心IDC上传数据时,客户机与互联网数据中心IDC所需的数据传输时间为第一往返传输时间RTT1,而客户机与互联网数据中心IDC的连接建立时间至少为一个RTT1,则客户机直接向互联网数据中心IDC上传数据所耗费的最小时长为2RTT1。客户机通过部署的代理模块向互联网数据中心IDC上传数据时,客户机与代理模块所需的数据传输时间为第二往返传输时间为RTT2,代理模块与互联网数据中心IDC所需的数据传输时间为第三往返传输时间为RTT3。客户机与代理模块之间的连接建立时间至少一个RTT2,则客户机基于代理模块向互联网数据中心IDC上传数据所耗费的最小时长为2RTT1+RTT3。预设条件为:2RTT2+RTT3≤2RTT1。
本实施例中,客户机与代理模块之间采用传输控制协议(Transmission Control Protocol,简称TCP)方式进行连接,代理模块与互联网数据中心IDC之间采用长连接方式进行连接。其中,代理模块与互联网数据中心IDC之间的长连接使用专线或者连接保障技术,以减少代理模块与数据网络中心之间的丢包率。
一般情况下,当代理模块与互联网数据中心IDC或者客户机之间因为故障或者异常情况出现丢包时,代理模块会降低传输速度,如果要想恢复上次的传输速率,则需要一个RTT的时间,这样代理模块与客户机以及互联网数据中心IDC所需的RTT越短,代理模块与互联网数据中心IDC以及客户机之间的速率恢复越快,进而更加有利于数据的加速传输。
当客户机试图向互联网数据中心IDC上传数据时,客户机就会与代理模块建立TCP连接,当连接建立完成后,客户机基于流式上传技术向代理模块发送数据。
S102、代理模块基于流式上传技术将所述数据上传到互联网数据中心IDC。
代理模块与互联网数据中心IDC之间采用长连接,当代理模块与互联网数据中心IDC之间长连接建立完成之后,在代理模块与互联网数据中心IDC完成一次数据读写之后,它们之间的长连接会继续保持,并不会主动关闭,后续的读写操作可以继续使用这个处于保持状态的长连接。
本实施例中,每当客户机请求向代理模块上传数据后,代理模块与互联网数据中心IDC之间不再需要耗费时间重新建立连接,从而节省了建立连接所需的一个RTT。
实际应用中,设备之间的连接从开始建立到该连接达到可使用的最大带宽,需要耗费一定的时间。而长连接的方式可以让发送窗口保持在BDP附近,这样就无需不断重复从开始建立到该连接达到可使用的最大带宽的过程,从而节省了上述从开始建立到该连接达到可使用的最大带宽过程所需耗费的时间。
在接收到数据后,代理模块并不对数据进行任何处理,直接基于流式上传技术直接将接收到的数据上传到IDC上。本实施例中,基于流式上传技术上传数据,代理模块不需要进行中间存储,这样不会出现在CDN中存储数据的服务器出现宕机而导致数据丢失的情况,而且不需要对数据落地存储,避免出现数据热点问题。进一步地,代理模块不需要对数据进行转换,以将数据缩小加速传输速度,相应地,互联网数据中心IDC就可以直接存储客户机的源数据。而且基于流式上传技术传输数据,当客户机上传完所有的数据后,相应地互联网数据中心也就接收到了该数据,两者是实时同步的。
此处需要说明,本实施例中的客户机向互联网数据中心上传的数据的数据量大小需要控制在14KB~5MB范围内,在该范围内的数据基于代理模块上传的速度较快。
本实施例中,设定上传耗时为rt,用户系统初始发送窗口值为initwnd,用户带宽为bandwidth,上传的数据大小为filesize,客户机到互联网数据中心所在服务器的往返传输时间为rttOfClientToIDC,客户机到代理模块所在服务器的往返传输时间为rttOfClientToProxy,代理模块所在服务器到互联网数据中心所在服务器的往返传输时间为rttOfProxyToIDC,发送窗口上升到满带宽需要消耗的rttOfClient数量为N,带宽延时积bdp,以2为底数的对数函数log。
设定在不丢失包的传输条件,分别对客户机直接将数据上传到互联网数据中心IDC的方式以及本实施例中提供的数据上传方法的上传耗时进行测试。
客户机直接将数据上传到互联网数据中心IDC方式的上传耗时:
当bdp小于initwnd时,无需提升发送窗口的带宽,发送窗口可以在允许使用的最大带宽进行上传,此时上传耗时为:
rt=filesize/bandwidth+rttOfClientToIDC
当数据大小小于满带宽时发送窗口可传输的数据大小情况下,此时上传耗时为:
rt=(log(filesize/initwnd)+2)*rttOfClientToIDC
当数据大小大小满带宽时发送窗口可传输的数据大小情况下,此时上传耗时为:
N=log(bdp/initwnd)
rt=((filesize-2^(n-1)*initwnd)/bandwidth)+(n+1)*rttOfClientToIDC
本实施例中提供的数据上传方法的上传耗时:
当bdp小于initwnd时,无需提升发送窗口的带宽,发送窗口可以在允许使用的最大带宽进行上传,此时上传耗时为:
rt=filesize/bandwidth+rttOfClientToProxy+rttOfProxyToIDC
当数据大小小于满带宽时发送窗口可传输的数据大小情况下,此时上传耗时为:
rt=(log(filesize/initwnd)+2)*rttOfClientToProxy+rttOfProxyToIDC
当数据大小大于满带宽时tcp窗口可传输的数据大小情况下,此时上传耗时为:
N=log(bdp/initwnd)
rt=((filesize-2^(n-1)*initwnd)/bandwidth)+(n+1)*rttOfClientToProxy+rttOfProxyToIDC
由上述公式可以计算出常见带宽下,不同数据大小的上传耗时。
图4~图8为不同数据大小在不同带宽下的上传耗时的示意图。图中的实验结果基于代理模块到客户机之间的RTT为5ms,代理模块到到IDC的RTT为30ms,客户机到IDC的RTT为30ms得到的。
图4其为数据大小为10KB时不同带宽下上传耗时的示意图。
图5其为数据大小为50KB时不同带宽下上传耗时的示意图。
图6其为数据大小为100K时不同带宽下上传耗时的示意图。
图7其为数据大小为1MB时不同带宽下上传耗时的示意图。
图8其为数据大小为5MB时不同带宽下上传耗时的示意图。
由上述公式和图4~图8可以得出以下结论:
当带宽小于500KB时候,本实施例提供的基于代理模块的数据上传方法无加速效果,反而与现有的直接上传相比存在一定的时延,增加的时延为一个客户机到代理模块的往返传输时间。
本实施例提供的基于代理模块的数据上传方法加速效果随着带宽增大越明显。
在常用的带宽(4Mb~100Mb)范围内,待传输的数据越大,本实施例提供的基于代理模块的数据上传方法加速效果越不明显,
而且在实际应用中,加速效果会在用户不同带宽以及网络的不同拥塞情况会下有不同。当网络中出现丢包情况,由于代理模块的rtt比较小,发送窗口的恢复速度会比较快,所以在网络不稳定的情况下会有优势。
研发人员使用Linux tc工具模拟了常用带宽下丢包10%~30%传输环境,得出如下结论:当超过30%的丢包率时基本无法成功上传数据,在丢包情况下,测试结果随机性太大,但本实施例提供的基于代理模块的数据上传方法比直接上传有30%到3倍的性能提升。
在实验测试后,可以得出代理模块对14KB以下的加速效果不明显,对14KB~2MB大小内加速效果会越来越明显,当文件超过5M以上,加速效果又会减小。
为了更好地理解本实施例提供的数据上传方法,举例说明:
在客户机与IDC之间增加一个代理模块,代理模块与客户机之间采用TCP连接,与IDC之间保持长连接。
客户机需要上传20KB的文件,设置传输数据为一个RTT内传输10KB。R0=30ms,R1=5ms,R2=25ms。其中,客户机到IDC的RTT为R0,客户机到代理模块的RTT为R1,代理模块到IDC的RTT为R2。
首先根据R0、R1和R2以及预设条件得到一个目标节点,将代理设置在该目标节点上。客户机通过TCP连接基于流式上传技术向代理模块发送数据,当发送窗口大小为10时,客户机需要通过两个R1将数据发完,而客户机与代理建立TCP连接还需要1个R1,则客户机从建立连接到将数据到代理上共用3个R1,代理还需要将数据发送到IDC,需要消耗一个R2。则总耗时为:3*R1+R2=40ms。而且在该示例中,代理模块分别与客户机和IDC之间采用流式上传技术,则不需要中间落地存储,而且不需要压缩转换处理,相对于通过CDN转发不仅节省存储空间,而且减少耗时。
而通过直接上传的方式,客户机需要1个R0时间建立连接,用两个R0时间发送数据,则总耗时3*R0=90ms。基于本实施例提供的方法上传数据,能够比直接上传方式节省一半的时间,提高上传的时效性。
本实施例提供的数据上传方法,通过在客户机与互联网数据中心之间就近部署代理模块,代理模块分别与客户机和互联网数据中心IDC基于流式上传技术传输数据。本实施例中,通过增加代理模块来缩短用户到IDC之间的往返传输时间RTT,RTT变短后,则相应地提高数据的传输速度,而且代理模块基于流式上传技术完成数据的上传,代理模块不再需要对接收到数据进行落地存储和转换,节省资源和时间,进一步提高上传的速度。
实施例二
如图9所示,其为本发明实施例二的数据上传方法的流程示意图。该数据上传方法包括以下步骤:
S201、在满足预设条件的节点上部署代理模块。
在客户机与互联网数据中心,设置一个满足预设条件的节点,在该节点上部署代理模块。可选地,为了节省部署的成本,部署代理模块的节点可以复用CDN中的节点,而且复用CDN的节点,由于CDN覆盖范围较广,部署了代理模块的节点可以同时兼顾到更多客户机,由于CDN的节点较多,能够在大范围内部署代理模块。其中预设条件可参见上述实施例一中相关内容的记载,此处不再赘述。
在部署完代理模块后,在部署完代理模块后,客户机与代理模块通过TCP连接建立连接,代理模块通过长连接与互联网数据中心IDC连接。本实施例中,代理模块与互联网数据中心IDC之前的长连接个数是变化的,代理模块可以根据带宽占用情况,动态地调整长连接的个数。当带宽充足时,设置多个长连接,可以更快地上传数据。当带宽不足时,则相应地减少长连接的个数。
S202、代理模块接收客户机基于流式上传技术上传的数据。
S203、代理模块对接收到的数据进行缓存。
本实施例中,代理模块可以对接收的数据进行缓存,其中,代理模块将数据缓存在内存中,并不需要对数据进行落地存储。
S204、代理模块通过与互联网数据中心IDC之间的长连接将发送窗口维持在与可利用带宽匹配的大小,以使缓存后的数据通过发送窗口一次性发送完成
用户可以基于客户机上设置发送窗口的初始大小,一般情况下,在客户机与代理模块建立连接之初,发送窗口的初始大小为默认设置,该设置可以由用户通过相应的应用程序进行设置。但是在TCP连接建立后,客户机随着数据不断地发送成功后,客户机中的操作系统可以不断地尝试将发送窗口增大,以使发送窗口的大小调整到与可利用带宽匹配的大小。当客户机与代理模块之间的发送窗口调整到合适大小后,相应的,代理模块通过与互联网数据中心IDC之间的长连接,将代理模块与互联网数据中心IDC之间的发送窗口维持到一个合适的大小,该合适大小可以保证代理模块将缓存的数据能够一次性通过发送窗口。本实施例中,由于代理模块和互联网数据中心IDC之间进行长连接,从而使得代理模块与网络数中心IDC之间的发送窗口可以维持在一个稳定的大小,不会随着代理模块与客户机之间的发送窗口的调整而不断地变化。
S205、代理模块在缓存的数据的数据量达到阈值后,将缓存的数据同时上传到IDC。
本实施例中,为缓存的数据的数据量预设一个阈值,缓存后的数据的数据量要在该阈值内,当缓存的数据量达到阈值后,将缓存的数据同时上传到互联网数据中心IDC中。例如,缓存后的数据量小于等于代理模块与IDC之前的带宽时延乘积(Bandwidth Delay Product,简称BDP)。
S206、代理模块清除缓存的数据。
本实施例中,代理模块将数据缓存在内存中,当数据发送出去后,则可以对缓存的数据进行清除,释放内存空间。代理模块并不需要将缓存的数据进行落地存储,节省资源。
S207、代理模块接收IDC返回的上传完成指示。
S208、代理模块将上传完成指示转发给客户机。
其中,上传完成指示是由IDC在接收到由代理模块上传完所有数据后发送的。
在通过CDN中转的方案中,当客户机将数据上传到CDN后,就可以接收到上传完成的指示,但是此时互联网数据中心IDC并未接收到该数据。而本实施例中互联网数据中心在接收完所有数据后,将会生成一个上传完成指示并发送给代理模块,代理模块接收到该上传完成指示后,将该上传完成指示返回给客户机。
本实施例提供的数据上传方法,通过在客户机与互联网数据中心之间就近部署代理模块,代理模块分别与客户机和互联网数据中心IDC基于流式上传技术传输数据,本实施例中,通过增加代理模块来缩短用户到IDC之间的往返传输时间RTT,RTT变短后,则相应地提高数据的传输速度,而且代理模块基于流式上传技术完成数据的上传,代理模块不再需要对接收到数据转换,节省时间,进一步地提高上传速度。进一步地,代理模块在内存中对数据进行缓存,并同时将缓存的数据一次性上传到互联网数据中心IDC中,不再对数据进行落地存储,节省资源。
实施例三
如图10所示,其为本发明实施例三的数据上传装置的结构示意图。该数据上传装置包括:接收单元11和上传单元12。
其中,接收单元11,用于接收客户机基于流式上传技术上传的数据。
上传单元12,用于基于流式上传技术将所述数据上传到互联网数据中心IDC。
本实施例中,数据上传装置部署的位置满足预设条件,其中所述预设条件为:客户机基于所述数据上传装置向所述IDC上传数据所耗费的最小时长小于等于所述客户机直接向所述IDC上传数据耗费的最小时长。
接收单元11与所述客户机之间采用TCP方式进行连接。
上传单元12与所述IDC之间采用长连接方式进行连接。
上传单元12,还用于动态调整与所述IDC之间长连接的个数。
上传单元12,具体用于对接收到的所述数据进行缓存,在缓存的所述数据的数据量达到阈值后,将缓存的所述数据同时上传到所述IDC,清除缓存的所述数据。
上传单元12,还用于通过与所述IDC之间的长连接将发送窗口的大小维持在与可利用带宽匹配的大小,以使缓存后的所述数据通过所述发送窗口一次性发送完成。
缓存的所述数据的数据量小于等于所述数据上传装置与所述IDC之间的带宽时延乘积BDP。
接收单元11,还用于接收所述IDC返回的上传完成指示;其中,所述上传完成指示是由所述IDC在接收到由所述数据上传装置上传完所有数据后发送的。
上传单元12,还用于将所述上传完成指示转发给所述客户机。
数据上传装置部署在节点上,所述节点为所述IDC中的节点。
所述客户机向所述IDC上传的所述数据的数据量范围为14KB~5MB。
本实施例中,在客户机与互联网数据中心之间就近部署数据上传装置,该数据上传装置分别与客户机和互联网数据中心IDC基于流式上传技术传输数据。本实施例中,通过增加数据上传装置来缩短用户到IDC之间的往返传输时间RTT,RTT变短后,则相应地提高数据的传输速度,而且数据上传装置基于流式上传技术完成数据的上传,不再需要对接收到数据转换,节省时间。进一步地,该数据上传装置在内存中对数据进行缓存,并同时将缓存的数据一次性上传到互联网数据中心IDC中,不再对数据进行落地存储,不仅节省资源,而且提高上传的速度。
实施例四
如图11所示,其为本发明实施例四的数据上传系统的结构示意图。该数据上传系统包括:客户机1和代理模块2和互联网数据中心IDC 3。
其中,客户机1,用于向通过代理模块2向互联网数据中心IDC 3上传数据。
代理模块2,用于接收客户机1基于流式上传技术上传的所述数据,以及基于流式上传技术将所述数据上传到互联网数据中心IDC 3上。
互联网数据中心IDC3,用于接收代理模块2转发的客户机1上传的所述数据。
其中,代理模块2部署的位置满足预设条件,其中所述预设条件为:客户机1基于代理模块2向互联网数据中心IDC 3上传数据所耗费的最小时长小于等于客户机1直接向互联网数据中心IDC 3上传数据耗费的最小时长。
本实施例中,代理模块2为上述实施例三中的数据上传装置,关于代理模块2的结构,可参见上述实施例中数据上传装置的结构。
代理模块2与客户机1之间采用TCP方式进行连接,与互联网数据中心IDC 3之间采用长连接方式进行连接。
代理模块2,还用于动态调整与互联网数据中心IDC 3之间长连接的个数。
代理模块2,具体用于对接收到的所述数据进行缓存,在缓存的所述数据的数据量达到阈值后,将缓存的所述数据同时上传到互联网数据中心IDC 3,以及清除缓存的所述数据。
代理模块2,具体用于通过与互联网数据中心IDC 3之间的长连接将发送窗口维持在与可利用带宽匹配的大小,以使缓存后的所述数据通过所述发送窗口一次性发送完成。
其中,缓存的所述数据的数据量小于等于代理模块2与互联网数据中心IDC 3之间的带宽时延乘积BDP。
互联网数据中心IDC 3,还用于向代理模块2返回上传完成指示;其中,上传完成指示是由互联网数据中心IDC 3在接收到由代理模块2上传完所有数据后发送的。
代理模块2,还用于接收互联网数据中心IDC 3返回的所述上传完成指示,以及将所述上传完成指示转发给客户机1。
客户机1,还用于接收所述上传完成指示。
代理模块2部署在节点上,所述节点为互联网数据中心IDC 3中的节点。
客户机1向互联网数据中心IDC3上传的所述数据的数据量范围为14KB~5MB。
关于代理模块2与客户机1和互联网数据中心3之间的交互过程,可参见上述实施例中相关内容的记载,此处不再赘述。
本实施例中,在客户机与互联网数据中心之间就近部署代理模块,该代理模块分别与客户机和互联网数据中心IDC基于流式上传技术传输数据,基于流式上传技术完成数据的上传。本实施例中,通过增加代理模块来缩短用户到IDC之间的往返传输时间RTT,RTT变短后,则相应地提高数据的传输速度,而且代理模块不再需要对接收到数据转换,节省时间。进一步地,该代理模块在内存中对数据进行缓存,并同时将缓存的数据一次性上传到互联网数据中心IDC中,不再对数据进行落地存储,节省资源,而且提高上传的速度。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (27)

1.一种数据上传方法,其特征在于,包括:
代理模块接收客户机基于流式上传技术上传的数据;
所述代理模块基于流式上传技术将所述数据上传到互联网数据中心IDC;
其中,所述代理模块部署的位置满足预设条件,其中所述预设条件为:所述客户机基于所述代理模块向所述IDC上传数据所耗费的最小时长小于等于所述客户机直接向所述IDC上传数据耗费的最小时长。
2.根据权利要求1所述的方法,其特征在于,所述代理模块接收客户机基于流式上传技术上传的数据之前,包括:
所述代理模块与所述客户机之间采用TCP方式进行连接;
所述代理模块与所述IDC之间采用长连接方式进行连接。
3.根据权利要求2所述的方法,其特征在于,所述代理模块动态调整与所述IDC之间长连接的个数。
4.根据权利要求1所述的方法,其特征在于,所述代理模块基于所述流式上传技术将接收到的所述数据上传到互联网数据中心IDC,包括:
所述代理模块对接收到的所述数据进行缓存;
所述代理模块在缓存的所述数据的数据量达到阈值后,将缓存的所述数据同时上传到所述IDC;
所述代理模块清除缓存的所述数据。
5.根据权利要求4所述的方法,其特征在于,所述代理模块通过与所述IDC之间的长连接将发送窗口维持在与可利用带宽匹配的大小,以使缓存后的所述数据通过所述发送窗口一次性发送完成。
6.根据权利要求5所述的方法,其特征在于,缓存的所述数据的数据量小于等于所述代理模块与所述IDC之间的带宽时延乘积BDP。
7.根据权利要求6所述的方法,其特征在于,所述代理模块基于流式上传技术将所述数据上传到互联网数据中心IDC之后,还包括:
所述代理模块接收所述IDC返回的上传完成指示;其中,所述上传完成指示是由所述IDC在接收到由所述代理模块上传完所有数据后发送的;
所述代理模块将所述上传完成指示转发给所述客户机。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述代理模块部署在节点上,所述节点为所述IDC中的节点。
9.根据权利要求1-7任一项所述的方法,其特征在于,所述客户机向所述IDC上传的所述数据的数据量范围为14KB~5MB。
10.一种数据上传装置,其特征在于,包括:
接收单元,用于接收客户机基于流式上传技术上传的数据;
上传单元,用于基于流式上传技术将所述数据上传到互联网数据中心IDC;
其中,所述数据上传装置部署的位置满足预设条件,其中所述预设条件为:所述客户机基于所述数据上传装置向所述IDC上传数据所耗费的最小时长小于等于所述客户机直接向所述IDC上传数据耗费的最小时长。
11.根据权利要求10所述的装置,其特征在于,所述接收单元与所述客户机之间采用TCP方式进行连接;
所述上传单元与所述IDC之间采用长连接方式进行连接。
12.根据权利要求11所述的装置,其特征在于,所述上传单元,还用于动态调整与所述IDC之间长连接的个数。
13.根据权利要求12所述的装置,其特征在于,所述上传单元,具体用于对接收到的所述数据进行缓存,在缓存的所述数据的数据量达到阈值后,将缓存的所述数据同时上传到所述IDC,清除缓存的所述数据。
14.根据权利要求13所述的装置,其特征在于,所述上传单元,还用于通过与所述IDC之间的长连接将发送窗口的大小维持在与可利用带宽匹配的大小,以使缓存后的所述数据通过所述发送窗口一次性发送完成。
15.根据权利要求14所述的装置,其特征在于,缓存的所述数据的数据量小于等于所述数据上传装置与所述IDC之间的带宽时延乘积BDP。
16.根据权利要求15所述的装置,其特征在于,所述接收单元,还用于接收所述IDC返回的上传完成指示;其中,所述上传完成指示是由所述IDC在接收到由所述数据上传装置上传完所有数据后发送的;
所述上传单元,还用于将所述上传完成指示转发给所述客户机。
17.根据权利要求10-16任一项所述的装置,其特征在于,所述数据上传装置部署在节点上,所述节点为所述IDC中的节点。
18.根据权利要求10-16任一项所述的装置,其特征在于,所述客户机向所述IDC上传的所述数据的数据量范围为14KB~5MB。
19.一种数据上传系统,其特征在于,包括:
客户机,用于向通过代理模块向互联网数据中心IDC上传数据;
所述代理模块,用于接收所述客户机基于流式上传技术上传的所述数据,以及基于流式上传技术将所述数据上传到所述IDC上;
所述IDC,用于接收所述代理模块转发的所述客户机上传的所述数据;
其中,所述代理模块部署的位置满足预设条件,其中所述预设条件为:所述客户机基于所述代理模块向所述IDC上传数据所耗费的最小时长小于等于所述客户机直接向所述IDC上传数据耗费的最小时长;
所述代理模块为上述权利要求10-18任一项所述的数据上传装置。
20.根据权利要求19所述的系统,其特征在于,所述代理模块与所述客户机之间采用TCP方式进行连接,与所述IDC之间采用长连接方式进行连接。
21.根据权利要求20所述的系统,其特征在于,所述代理模块,还用于动态调整与所述IDC之间长连接的个数。
22.根据权利要求19所述的系统,其特征在于,所述代理模块,具体用于对接收到的所述数据进行缓存,在缓存的所述数据的数据量达到阈值后,将缓存的所述数据同时上传到所述IDC,以及清除缓存的所述数据。
23.根据权利要求22所述的系统,其特征在于,所述代理模块,具体用于通过与所述IDC之间的长连接将发送窗口维持在与可利用带宽匹配的大小,以使缓存后的所述数据通过所述发送窗口一次性发送完成。
24.根据权利要求23所述的系统,其特征在于,缓存的所述数据的数据量小于等于所述代理模块与所述IDC之间的带宽时延乘积BDP。
25.根据权利要求24所述的系统,其特征在于,所述IDC,还用于向所述代理模块返回上传完成指示;其中,所述上传完成指示是由所述IDC在接收到由所述代理模块上传完所有数据后发送的;
所述代理模块,还用于接收所述IDC返回的所述上传完成指示,以及将所述上传完成指示转发给所述客户机;
所述客户机,还用于接收所述上传完成指示。
26.根据权利要求19-25任一项所述的系统,其特征在于,所述代理模块部署在节点上,所述节点为所述IDC中的节点。
27.根据权利要求19-25任一项所述的系统,其特征在于,所述客户机向所述IDC上传的所述数据的数据量范围为14KB~5MB。
CN201610201099.0A 2016-03-31 2016-03-31 数据上传方法、装置及系统 Pending CN107295040A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201610201099.0A CN107295040A (zh) 2016-03-31 2016-03-31 数据上传方法、装置及系统
TW106105974A TW201737109A (zh) 2016-03-31 2017-02-22 資料上傳方法、裝置及系統
PCT/CN2017/077912 WO2017167119A1 (zh) 2016-03-31 2017-03-23 数据上传方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610201099.0A CN107295040A (zh) 2016-03-31 2016-03-31 数据上传方法、装置及系统

Publications (1)

Publication Number Publication Date
CN107295040A true CN107295040A (zh) 2017-10-24

Family

ID=59962601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610201099.0A Pending CN107295040A (zh) 2016-03-31 2016-03-31 数据上传方法、装置及系统

Country Status (3)

Country Link
CN (1) CN107295040A (zh)
TW (1) TW201737109A (zh)
WO (1) WO2017167119A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121507A (zh) * 2017-12-06 2018-06-05 北京奇艺世纪科技有限公司 一种数据处理方法、装置以及电子设备
CN111193789A (zh) * 2019-12-25 2020-05-22 微民保险代理有限公司 订阅信息推送方法、装置、计算机设备和可读存储介质
CN113992662A (zh) * 2021-12-29 2022-01-28 深圳竹云科技有限公司 文件传输方法、装置及存储介质
CN114710548A (zh) * 2022-03-22 2022-07-05 阿里巴巴(中国)有限公司 报文转发方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3895378A1 (en) * 2018-12-13 2021-10-20 Amazon Technologies Inc. Continuously calibrated network system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731933A (zh) * 2014-01-10 2014-04-16 北京百度网讯科技有限公司 建立无线连接的方法、系统以及移动终端
CN103731398A (zh) * 2012-10-11 2014-04-16 北京百度网讯科技有限公司 基于cdn网络的数据访问方法、系统及装置
CN104009938A (zh) * 2014-06-17 2014-08-27 合一网络技术(北京)有限公司 基于路由层面的长连接的方法和系统
CN104010001A (zh) * 2014-06-17 2014-08-27 合一网络技术(北京)有限公司 移动终端中同类联网请求进行连接通信的方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101977234A (zh) * 2010-11-02 2011-02-16 中南大学 基于并行tcp技术的广域网通信加速方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731398A (zh) * 2012-10-11 2014-04-16 北京百度网讯科技有限公司 基于cdn网络的数据访问方法、系统及装置
CN103731933A (zh) * 2014-01-10 2014-04-16 北京百度网讯科技有限公司 建立无线连接的方法、系统以及移动终端
CN104009938A (zh) * 2014-06-17 2014-08-27 合一网络技术(北京)有限公司 基于路由层面的长连接的方法和系统
CN104010001A (zh) * 2014-06-17 2014-08-27 合一网络技术(北京)有限公司 移动终端中同类联网请求进行连接通信的方法和系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121507A (zh) * 2017-12-06 2018-06-05 北京奇艺世纪科技有限公司 一种数据处理方法、装置以及电子设备
CN108121507B (zh) * 2017-12-06 2021-04-02 北京奇艺世纪科技有限公司 一种数据处理方法、装置以及电子设备
CN111193789A (zh) * 2019-12-25 2020-05-22 微民保险代理有限公司 订阅信息推送方法、装置、计算机设备和可读存储介质
CN113992662A (zh) * 2021-12-29 2022-01-28 深圳竹云科技有限公司 文件传输方法、装置及存储介质
CN114710548A (zh) * 2022-03-22 2022-07-05 阿里巴巴(中国)有限公司 报文转发方法及装置
CN114710548B (zh) * 2022-03-22 2024-04-05 阿里巴巴(中国)有限公司 报文转发方法及装置

Also Published As

Publication number Publication date
WO2017167119A1 (zh) 2017-10-05
TW201737109A (zh) 2017-10-16

Similar Documents

Publication Publication Date Title
CN107295040A (zh) 数据上传方法、装置及系统
CN104820701B (zh) 数据记录和同步方法及系统
CN105991462B (zh) 传输控制协议tcp数据包的发送方法、发送装置和系统
EP3780542B1 (en) Data transmission method and device
US11108633B2 (en) Protocol selection in dependence upon conversion time
US8326984B1 (en) Selective compression for network connections
EP2586164B1 (en) System and method for content and application acceleration in a wireless communications system
WO2012142844A1 (zh) 一种基于p2p的文件分发系统及分片方法
CN102624874A (zh) 一种语音信息传送方法及系统
JP2004520725A5 (zh)
CN102523119A (zh) 基于snmp协议的epon网管系统数据传输方法
JP2018511275A5 (zh)
CN103430489A (zh) 内容分发网络中文件下载方法、装置和系统
CN106936875A (zh) 基于广域网数据压缩的改进tcp代理方法
CN106936730A (zh) 一种报文发送方法、tcp代理以及tcp客户端
Rao et al. Can realistic bittorrent experiments be performed on clusters?
CN108712289A (zh) 采用硬件实现的tte端系统网络管理装置
CN105357302A (zh) 一种网络数据包断点续传方法及装置
Crichigno et al. Impact of segment size and parallel streams on TCP BBR
CN107612928A (zh) 保证瘦ap模式下无线链路通讯质量的方法及系统
CN109995608A (zh) 网络速率计算方法和装置
Testa et al. Experimental assessment of bittorrent completion time in heterogeneous tcp/utp swarms
US20200076718A1 (en) High bandwidth using multiple physical ports
CN103401892B (zh) 一种基于http post的数据上传加速方法及服务器
CN103973774A (zh) 一种基于数据链路层协议的高速网络存储方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1246042

Country of ref document: HK

RJ01 Rejection of invention patent application after publication

Application publication date: 20171024

RJ01 Rejection of invention patent application after publication