CN104994131A - 一种基于分布式代理服务器的自适应上传加速方法 - Google Patents
一种基于分布式代理服务器的自适应上传加速方法 Download PDFInfo
- Publication number
- CN104994131A CN104994131A CN201510256038.XA CN201510256038A CN104994131A CN 104994131 A CN104994131 A CN 104994131A CN 201510256038 A CN201510256038 A CN 201510256038A CN 104994131 A CN104994131 A CN 104994131A
- Authority
- CN
- China
- Prior art keywords
- proxy server
- demand degree
- acceleration demand
- server
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies 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所述的方法,其特征在于,该代理服务器以广播的形式向其它代理服务器查询对应的加速需求度。
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 true CN104994131A (zh) | 2015-10-21 |
CN104994131B 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453668A (zh) * | 2016-12-26 | 2017-02-22 | 网宿科技股份有限公司 | 一种文件反向上传方法和系统 |
Citations (4)
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 | 中国(南京)未来网络产业创新中心 | 一种基于代理集群网络缓存加速方法 |
-
2015
- 2015-05-19 CN CN201510256038.XA patent/CN104994131B/zh active Active
Patent Citations (4)
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)
Title |
---|
冯梁谋: "基于云计算的内容分发平台研究", 《中国优秀硕士论文全文数据库》 * |
罗乔木: "基于P2P与CDN协作互动机制的内容分发平台的研究", 《中国优秀硕士论文全文数据库》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453668A (zh) * | 2016-12-26 | 2017-02-22 | 网宿科技股份有限公司 | 一种文件反向上传方法和系统 |
WO2018120397A1 (zh) * | 2016-12-26 | 2018-07-05 | 网宿科技股份有限公司 | 一种文件反向上传方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104994131B (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11223669B2 (en) | In-service quality monitoring system with intelligent retransmission and interpolation | |
RU2550151C2 (ru) | Выбор маршрута в беспроводных сетях | |
EP3780542B1 (en) | Data transmission method and device | |
CN107979592B (zh) | 一种发送业务请求消息的方法及装置 | |
US7310761B2 (en) | Apparatus and method for retransmitting data packets in mobile ad hoc network environment | |
KR101610715B1 (ko) | 단방향 데이터 송수신 시스템 및 방법 | |
US7801145B2 (en) | Method for transmitting network packets | |
CN111543080A (zh) | 用于网络拓扑管理的系统和方法 | |
US10097447B2 (en) | Method, apparatus, and system for transmitting data | |
EP3016356B1 (en) | Cache content hitting method and communication system | |
US9270529B2 (en) | Distributed data transmission in data networks | |
EP2797268A1 (en) | Transmitting information across a communications network | |
WO2009111975A1 (zh) | 无线Mesh网络中通知代理更新的方法、节点和系统 | |
US11019171B2 (en) | Cache data control method and device | |
CN100466832C (zh) | 一种无线局域网ip组播帧传输的组播成员管理方法 | |
CN103338207A (zh) | 无线自组织网络中实时视频多跳中继方法 | |
CN103188153B (zh) | 一种广播网链路上bfd报文发送方法和设备 | |
US9042346B2 (en) | Mobile relay station and handover method thereof | |
US20080165692A1 (en) | Method and system for opportunistic data communication | |
CN110493885B (zh) | 一种针对数据分片的命名数据网络连续数据推送方法 | |
US8312339B2 (en) | Apparatuses and methods for controlling automatic repeat request (ARQ) reset in broadband wireless communication system | |
CN102118826B (zh) | 网络中节点间的多跳通信方法 | |
CN106888493B (zh) | 一种无线网状mesh网络的路由方法和装置 | |
CN102647364B (zh) | Mesh网络路由方法、设备及系统 | |
CN104994131A (zh) | 一种基于分布式代理服务器的自适应上传加速方法 |
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 |