CN104994131B - 一种基于分布式代理服务器的自适应上传加速方法 - Google Patents

一种基于分布式代理服务器的自适应上传加速方法 Download PDF

Info

Publication number
CN104994131B
CN104994131B CN201510256038.XA CN201510256038A CN104994131B CN 104994131 B CN104994131 B CN 104994131B CN 201510256038 A CN201510256038 A CN 201510256038A CN 104994131 B CN104994131 B CN 104994131B
Authority
CN
China
Prior art keywords
proxy server
demand degree
server
acceleration demand
file
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.)
Active
Application number
CN201510256038.XA
Other languages
English (en)
Other versions
CN104994131A (zh
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.)
China Internet Network Information Center
Original Assignee
China Internet Network Information Center
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 China Internet Network Information Center filed Critical China Internet Network Information Center
Priority to CN201510256038.XA priority Critical patent/CN104994131B/zh
Publication of CN104994131A publication Critical patent/CN104994131A/zh
Application granted granted Critical
Publication of CN104994131B publication Critical patent/CN104994131B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Landscapes

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

Abstract

本发明公开了一种基于分布式代理服务器的自适应上传加速方法。本方法为:1)用户端向代理服务器提交上传请求;2)该代理服务器将可用的缓存服务器地址下发给该用户端;3)该用户端将待上传文件分片上传到缓存服务器上;4)缓存服务器将文件分片发送给该代理服务器重新组装成文件并查找对应的加速需求度β;如果没有找到,则向其它代理服务器查询;如果没有收到响应,则发起加速需求度计算指令选出最优代理服务器;5)该最优代理服务器将加速需求度告知该代理服务器;6)代理服务器将组装后的文件发送到该最优代理服务器上,并保存加速需求度保存;7)该最优代理服务器将该上传文件发送给接收者。本发明有利于提高上传速率,提升上传体验。

Description

一种基于分布式代理服务器的自适应上传加速方法
技术领域
本发明涉及一种基于分布式代理服务器的自适应上传加速方法,属于网络技术领域。
背景技术
随着微信、微博、视频共享等网络服务的普及,上行流量近来增长趋势明显。像下行加速技术使用CDN方法类似,利用缓存技术对上行流量进行加速也是目前常用的一种加速手段。该方法的本质是在距离用户最近的网路设备上部署缓存服务器,将用户上传的文件先缓存到本地缓存服务器上,最后由本地缓存服务器使用有线网络将用户数据上传到用户指定的目标服务器上。由于缓存服务器距离用户近,传输路径短,因此丢包率低、传输速率大,降低了用户在上传上所花费的时间,尤其是移动无线用户,加速效果明显。
针对传输信道好、待上传文件小的情况,有人提出了选择性上传技术,即在启动传输之前根据待上传文件的大小、信道情况等因素对本次上传进行信道评估,根据评估结果决定是不是使用缓存。与普通加速方式相比,该方法降低了不必要的缓存操作,提高了缓存使用效率,但同时增加了一个信道评估处理过程,会给***带来一定负荷,同时还会增加一个信道检测时间,不利于对及时性要求较高的上传业务。尤其是针对一段时间内保持相对稳定的有线通信链路,这种频繁的检测是不必要的。
另外,上传服务器部署在用户附近,虽然有利于减少用户在上传上所花费的时间,但是从用户启动发送到目标服务器成功接收到数据,整个上传完成需要的时间不一定减少,甚至有时候会因为额外操作而增加。这是因为缓存部署在用户附近,与目标服务器的距离不一定得到减少。
发明内容
针对现有技术中存在的技术问题,本发明的目的在于提供一种基于分布式代理服务器的自适应上传加速方法,其特征是包括以下步骤:
用户端上传中间件向上传加速代理服务器(以下简称代理服务器)提交上传请求,该上传请求包括文件大小、目的IP地址等信息。
代理服务器检查自身当前可用于接收用户数据的缓存服务器的数量,并将上述缓存服务器的IP地址下发给用户端上传中间件(以下简称用户端中间件)。
用户端中间件接收代理服务器下发的缓存服务器的IP地址,并根据缓存服务器IP地址的数量将待上传文件拆分为同样多的文件分片,采用多路传输技术将上述分片分别上传到缓存服务器上,如图1所示。
缓存服务器将自身收到的文件分片发送给代理服务器,代理服务器将收到的文件分片重新组装成文件。
代理服务器根据待上传文件的目的IP地址,在本地加速需求度列表中查找对应的加速需求度β,如图2所示,如果没有找到,以广播的形式向其它代理服务器查询对应的加速需求度。
如果找到对应的代理服务器和加速需求度,对应的代理服务器将加速需求度的淘汰值β_del初始化,并以单播的形式告知查询者,即广播查询的代理服务器。
如果没有收到响应,则负责接收用户文件的代理服务器广播通知发起加速需求度计算指令,所有代理服务器向上传请求中的目的IP地址接收端上传中间件(以下简称接收端中间件)发送探测报文。
接收端中间件按照丢包率最低且最先发来探测报文的原则选择最优代理服务器,并向该代理服务器发送回复。
最优代理服务器计算加速需求度,初始化后***本地加速度需求列表,然后以单播的形式将该加速需求度告知查询者(即收到请求的代理服务器),该代理服务器保存加速需求度。
负责接收用户文件的代理服务器将待上传文件发送到加速需求度指定的最优代理服务器上。
最优代理服务器接收待上传文件,并根据用户指定的目的地IP地址,将文件发送给接收者,如图3所示。
与现有技术相比,本发明的优点:
由于采用了以上的方案,可实现以下优点:1)采用分布式代理服务器和多路传输技术,有利于提高用户上传速率,提升用户上传体验。2)采用最优传输路径技术,减少网络延迟,提高完成整个上传过程所需要的时间,有利于及时性要求较高的上传业务。3)加速需求度β唯一对应一条网络传输链路,其它用户向同一目的地上传文件时,可以立即使用该加速需求度,避免了重复探测网络信道,减轻***负荷。4)对β设置生命值,在生命值到时以后,***更新该上传加速需求度,提高加速需求度的精确性。5)对β设置淘汰值,对于长期不使用的β,***会将其删除,减轻***冗余度。6)以代理服务器和缓存服务器的结构方式,有利于减低***部署成本。7)以加速中间件的形式,用户和网络服务提供商只需要将相应的中间件嵌入到自己的程序当中,无需更改现有***和设备,最大程度的与现有***兼容。8)组播、单播相结合的加速需求度管理法,有利于加速需求度的计算、学习、更新、删除等操作,增强***耦合性与健壮性。
附图说明
图1为基于分布式代理服务器的自适应上传加速***;
图2为上传加速需求度结构;
图3为上传加速处理时序图;
图4为自适应上传加速***架构;
图5为加速需求度计算流程图;
图6为加速需求度学习流程图;
图7为分布式自适应上传加速数据处理流程图。
具体实施方式
下面结合附图对本发明进行进一步详细描述。
本实施例***架构如图4所示,包含用户端中间件、代理服务器、缓存服务器和接收端中间件。其中,用户端中间件分为:
1)分片处理模块:根据代理服务器的要求,将待上传的文件才分为多个文件分片。
2)多路传输模块:发起多路链接,并将文件分片以多路传输的方法发送到指定的缓存服务器上。
代理服务器和缓存服务器是自适应上传加速***的核心设备,其中,代理服务器分为:
1)Web服务器模块:用于处理网络请求和网络数据收发。
2)加速需求度模块:***核心模块之一,管理和计算上传加速需求度,包括计算加速需求度、学习加速需求度、更新加速需求度、删除加速需求度。
3)探测报文接收模块:负责接收来自接收端上传中间件发送的探测回复。
4)探测报文发送模块:负责探测报文的组装,并将探测报文发送给指定的接收端。
5)数据处理模块:***核心模块之一,用于处理数据业务,包括处理用户的请求、用户信息管理、启动发送、重新组装分片等。
缓存服务器提供基于网络连接的数据缓存服务,主要是接收用户端上传中间件的连接请求,并将用户发送的文件分片缓存到本地。同时,根据代理服务器的要求,将自身缓存的分片发送给代理服务器上。
接收端中间件负责监听代理服务器发送的探测报文,根据丢包率、网络延迟选择最优服务器,分为三个部分:
1)探测报文接收模块:持续监听代理服务器发送的探测报文,并将接收到的报文转发给处理模块。
2)探测报文处理模块:根据接收到的检测报文,按照丢包率最低、网络延迟最小的标准选出最优服务器。
3)探测报文发送模块:根据处理模块的要求,组装响应报文,并将该报文发送给最优代理服务器。
A、加速需求度β计算
代理服务器组装20个10字节长的IP探测报文,MAC数据域全部置零,IP探测报文的序列号从0-19依次递增。IP报文的源地址是代理服务器的IP地址,目的地址是接收端中间件的IP地址。
接收端中间件收到探测报文以后,统计丢包率,选出丢包率最低的代理服务器;对于丢包率一样的,按照接收完成时间排序,最先接收完成的为最优代理服务器,向最优代理服务器回复检测响应。探测响应IP报文长度为10个字节,MAC数据域全部置零,源地址是接收端中间件的IP地址,目的地址是最优代理服务器的IP地址。
最优代理服务器接收到探测响应以后,按照下列公式计算加速需求度:
其中
L:待传输报文的MAC帧长度
Gwl:传输链路吞吐量
H:待传输报文的MAC层和IP层开销
Rc:传输链路的误比特率
Pr:传输链路的丢包率,即,重传发生的概率
Kmax:对于发送失败的报文,***允许的最大重传次数
N:帧正确到达接收端之前的平均传输次数
β:加速需求度
最优代理服代理将计算得到的加速需求度的β_del值和β_life值初始化(初始化值由***管理员设定,在下次设定之前保持不变),β_flag置零,并将该加速需求度***本地列表。如果最优服代理服务器不是加速需求度查询的发起者,则该最优代理服务器以单播的形式回复给发送查询请求的代理服务器。
查询请求发起代理服务器将接收到的β***本地加速需求度列表,并将β_flag置1、加速需求度计算及学习过程如图5所示。
B、加速需求度学习过程
每一个代理服务器接收其它代理服务器发送的加速需求度查询请求,并根据该请求查找本地加速需求度列表,如图2所示,如果找到对应的加速需求度,同时该加速需求度的β_flag值为零,则将该加速需求度的β_del值置成初始化值,将该β以单播的形式发送给查询者,如图6所示。
C、加速需求度更新
每一个代理服务器维护一个加速需求度列表,所有的加速需求度以列表的形式管理,如图2所示。
加速需求度的值越大,加速效果越高,目的地址是指接收端中间件的IP地址,生命值β_life是指距更新该加速需求度β的剩余时间(单位:分钟);淘汰值β_del指的是距删除该加速需求度β的剩余时间(单位:小时);最优服务器域存储的是最优代理服务器的IP地址,指到用户指定的目的地传输信道最优的代理服务器的IP地址;学习标识β_flag是指代理服务器本身是否是该β的初始计算者,如果是,则β_flag为零,如果不是,即靠学习得来的,则β_flag为1。
代理服务器会为自己是初始计算者的加速需求度维护一个定时器,定时器初始值为β_life,当定时器到时以后,该代理服务器会重新发起β的计算和初始化流程。
D、加速需求度删除
对于每一条加速需求度,代理服务器会维护一个定时器,定时器初始值为β_del,当定时器到时以后,该代理服务器会将该β删除。
E、数据处理流程
本实施例数据处理流程如图7所示,包含以下步骤:
(1)用户端中间件向代理服务器发送上传请求,包括:待上传文件的大小、目的地IP地址等信息,转到(2);
(2)代理服务器查询自身当前可以用于接收用户数据的缓存服务器的数量,并将上述缓存服务器的IP地址下发给用户端中间件,转到(3));
(3)用户端中间件根据代理服务器下发的缓存服务器IP地址的数量,将文件分成同等数量的分片,转到(4);
(4)用户端中间件向缓存服务器发起连接,并采用多路传输的模式将待上传的文件分别上传到相应的缓存服务器上,转到(5);
(5)代理服务器根据待上传文件的IP地址,从本地的加速需求度列表中查找对应的上传加速需求度β,如果找到转到(12),否者转到(6);
(6)广播查询该加速需求度,如果找到转到(12),否者转到(7);
(7)广播发起计算上传加速需求度指令,转到(8);
(8)所有代理服务器向接收端中间件发送探测报文,转到(9);
(9)接收端上传中间件向丢包率最低、延迟最小的代理服务器回复响应,转到(10);
(10)接收到响应的代理服务器计算上传加速需求度并初始化,如果接收到响应的代理服务器同时是查询代理服务器,则直接将该上传加速需求度***本地上传加速度列表中,转到(12),否则转到(11);
(11)查询发起代理服务器将接收到的上传加速需求度***本地上传加速需求度列表中,转到(12);缓存服务器将自身存储的分片发送给代理服务器,转到(12);
(12)代理服务器将文件分片重组,并将该文件转发到上传加速需求度指定的最优代理服务器上,(13);
(13)最优服务器将该文件上传到用户指定的目的地,转到(14);
(14)结束。

Claims (9)

1.一种基于分布式代理服务器的自适应上传加速方法,其步骤为:
1)用户端向代理服务器提交上传请求,该上传请求包括待上传文件的大小、目的IP地址信息;
2)该代理服务器检查自身当前可用于接收用户数据的缓存服务器数量,并将可用的缓存服务器的IP地址下发给该用户端;
3)该用户端根据收到的缓存服务器IP地址的数量将待上传文件拆分为同样多个文件分片,并将其分别上传到缓存服务器上;
4)缓存服务器将收到的文件分片发送给该代理服务器,该代理服务器将收到的文件分片重新组装成文件;
5)该代理服务器根据该目的IP地址,在本地加速需求度列表中查找对应的加速需求度β;如果找到,则将加速需求度的淘汰值β_del初始化;如果没有找到,则采用广播的形式向其它代理服务器查询对应的加速需求度;
6)如果该代理服务器没有收到其他代理服务器的响应,则向其他代理服务器发起加速需求度计算指令,选出最优代理服务器;
7)该最优代理服务器计算加速需求度,并***本地加速度需求列表,然后将该加速需求度告知该代理服务器;
8)该代理服务器将组装后的上传文件发送到该最优代理服务器上,并将加速需求度保存到本地加速需求度列表;
9)该最优代理服务器接收该上传文件,并根据该目的地IP地址将文件发送给接收者。
2.如权利要求1所述的方法,其特征在于,选择最优代理服务器的方法为:所有代理服务器向该目的IP地址发送探测报文,该目的IP地址接收端中间件按照丢包率最低且最先发来探测报文的原则选择最优代理服务器。
3.如权利要器1或2所述的方法,其特征在于,计算所述加速需求度的公式为:其中,L为待传输报文的MAC帧长度,Gwl为传输链路吞吐量,H为待传输报文的MAC层和IP层开销,Rc为传输链路的误比特率,Pr为传输链路的丢包率,Kmax为对于发送失败的报文***允许的最大重传次数,N为帧正确到达接收端之前的平均传输次数,β为加速需求度。
4.如权利要器3所述的方法,其特征在于,最优代理服代理对计算得到的加速需求度初始化一淘汰值β_del值、一生命值β_life值和一学习标识β_flag,并将该加速需求度及其初始化参数***本地加速需求度列表中。
5.如权利要求4所述的方法,其特征在于,所述学习标识β_flag的取值为0或1,其中,取值为0代表加速需求度β所在的代理服务器为其初始计算者,取值为1代表加速需求度β所在的代理服务器从其他代理服务器查询获得该加速需求度。
6.如权利要求5所述的方法,其特征在于,每一代理服务器会为自己是初始计算者的加速需求度维护一定时器,定时器初始值为β_life,当定时器到时以后,该代理服务器会重新发起加速需求度β的计算和初始化流程。
7.如权利要求4所述的方法,其特征在于,所述最优代理服务器将自己计算的加速需求度告知该代理服务器时,将该加速需求度的β_del值置成初始化值。
8.如权利要器4所述的方法,其特征在于,所述加速需求度列表的数据结构包括:加速需求度值、目的地址、淘汰值β_del值、生命值β_life值和学习标识β_flag。
9.如权利要器1所述的方法,其特征在于,该代理服务器以广播的形式向其它代理服务器查询对应的加速需求度。
CN201510256038.XA 2015-05-19 2015-05-19 一种基于分布式代理服务器的自适应上传加速方法 Active CN104994131B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510256038.XA CN104994131B (zh) 2015-05-19 2015-05-19 一种基于分布式代理服务器的自适应上传加速方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510256038.XA CN104994131B (zh) 2015-05-19 2015-05-19 一种基于分布式代理服务器的自适应上传加速方法

Publications (2)

Publication Number Publication Date
CN104994131A CN104994131A (zh) 2015-10-21
CN104994131B true CN104994131B (zh) 2018-07-06

Family

ID=54305882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510256038.XA Active CN104994131B (zh) 2015-05-19 2015-05-19 一种基于分布式代理服务器的自适应上传加速方法

Country Status (1)

Country Link
CN (1) CN104994131B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106453668A (zh) * 2016-12-26 2017-02-22 网宿科技股份有限公司 一种文件反向上传方法和***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101699793A (zh) * 2008-04-23 2010-04-28 北京恒泰实达科技发展有限公司 一种实现代理服务器自动备份和负载均衡的方法
CN102594877A (zh) * 2012-01-19 2012-07-18 网宿科技股份有限公司 结合重定向下载请求和代理服务加速网络服务的方法、***
EP2625616A1 (en) * 2010-10-10 2013-08-14 Akamai Technologies, Inc. Proxy server configured for hierarchical caching and dynamic site acceleration and custom object and associated method
CN103347068A (zh) * 2013-06-26 2013-10-09 中国(南京)未来网络产业创新中心 一种基于代理集群网络缓存加速方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101699793A (zh) * 2008-04-23 2010-04-28 北京恒泰实达科技发展有限公司 一种实现代理服务器自动备份和负载均衡的方法
EP2625616A1 (en) * 2010-10-10 2013-08-14 Akamai Technologies, Inc. Proxy server configured for hierarchical caching and dynamic site acceleration and custom object and associated method
CN102594877A (zh) * 2012-01-19 2012-07-18 网宿科技股份有限公司 结合重定向下载请求和代理服务加速网络服务的方法、***
CN103347068A (zh) * 2013-06-26 2013-10-09 中国(南京)未来网络产业创新中心 一种基于代理集群网络缓存加速方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于P2P与CDN协作互动机制的内容分发平台的研究;罗乔木;《中国优秀硕士论文全文数据库》;20131231;全文 *
基于云计算的内容分发平台研究;冯梁谋;《中国优秀硕士论文全文数据库》;20141230;全文 *

Also Published As

Publication number Publication date
CN104994131A (zh) 2015-10-21

Similar Documents

Publication Publication Date Title
EP3595268B1 (en) Streaming media resource distribution method, system, edge node and central dispatching system
CN106878310B (zh) 命名数据网络下一种实时流数据分发的方法
KR101607587B1 (ko) 콘텐츠 네트워크 내의 콘텐츠 구독을 지원하기 위한 방법, 장치, 및 시스템
US20150215400A1 (en) File Upload Method And System
US10033824B2 (en) Cache manifest for efficient peer assisted streaming
EP3136676B1 (en) Method, device and system for transmitting data
WO2009111975A1 (zh) 无线Mesh网络中通知代理更新的方法、节点和***
CN100466832C (zh) 一种无线局域网ip组播帧传输的组播成员管理方法
KR20160106701A (ko) 세그먼트들로 분할된 멀티미디어 콘텐츠를 수신하도록 구성된 클라이언트 단말에 의해 네트워크 정보를 획득하기 위한 방법
EP4246936A1 (en) Data processing method, function device and readable storage medium
CN103703797A (zh) 聚合传输的方法、装置和***以及网络服务器和用户设备
CN110545243B (zh) 一种icn报文转发方法
US20140282788A1 (en) System for controlling video distribution in response to a request on reduced video data traffic and a method therefor
CN107294830B (zh) 一种数据传输方法及***
CN108462733B (zh) 一种文件加速传输方法及装置
WO2016015441A1 (zh) 一种业务数据管理的方法、装置及***
US20170238213A1 (en) Tcp connection establishment and handover
CN104994131B (zh) 一种基于分布式代理服务器的自适应上传加速方法
CN110602568A (zh) 一种基于rtp的视频流传输丢包重传方法、设备及存储设备
EP2340634B1 (fr) Procédé et dispositifs de gestion de transfert d'un flux de données
CN105210347B (zh) 监控服务器、解析服务器、请求设备及节点选择方法
CN112583935B (zh) 缓冲区窗口调整方法、网关设备及存储介质
CN111556324B (zh) 一种视频直播的方法、装置、设备及***
WO2018090315A1 (zh) 数据请求的处理方法及缓存***
EP2738979A1 (en) Data stream reused transmission method, duplicate point device and system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant