CN104618447A - 一种文件协同下载方法及系统 - Google Patents

一种文件协同下载方法及系统 Download PDF

Info

Publication number
CN104618447A
CN104618447A CN201410852459.4A CN201410852459A CN104618447A CN 104618447 A CN104618447 A CN 104618447A CN 201410852459 A CN201410852459 A CN 201410852459A CN 104618447 A CN104618447 A CN 104618447A
Authority
CN
China
Prior art keywords
node
neighbor node
neighbor
response message
download
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
Application number
CN201410852459.4A
Other languages
English (en)
Other versions
CN104618447B (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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201410852459.4A priority Critical patent/CN104618447B/zh
Publication of CN104618447A publication Critical patent/CN104618447A/zh
Application granted granted Critical
Publication of CN104618447B publication Critical patent/CN104618447B/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/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种文件协同下载方法,包括:第一节点向多个邻居节点发送协同发现请求报文,以及接收一个以上的邻居节点根据所述协同发现请求报文发送的响应报文;所述第一节点根据所述响应报文,获取发送所述响应报文的邻居节点的标识,向与所述邻居节点的标识对应的邻居节点发送测试文件下载请求报文;在至少一个邻居节点根据所述测试文件下载请求报文下载测试文件后,所述第一节点接收一个以上的邻居节点发送的测试文件下载响应报文;所述第一节点从发送所述测试文件下载响应报文的邻居节点中选择预设N个邻居节点作为协同节点,并与所述协同节点交互完成文件下载。本发明所述方法能够有效降低文件下载时延。

Description

一种文件协同下载方法及系统
技术领域
本发明涉及移动互联网技术领域,具体涉及一种文件协同下载方法及系统。
背景技术
虽然随着3G网络的广泛应用以及4G网络的推广,移动终端用户使用蜂窝数据网络接入Internet的速度有所提升,但在下载较大的文件(包括视频、音频或者可执行文件)的时候用户仍然需要较长的等待时间。此外,移动终端用户通过数据业务接入Internet进行网页浏览和文件下载时一般会受到:1、数据业务流量大小;2、蜂窝网络链接速度;3、移动终端电量等方面因素的制约。随着Wi-Fi、蓝牙等技术在移动智能终端的不断普及,移动终端之间的直接互联成为可能。因此提出了D2D(device-to-device)的概念并使用移动终端之间的相互合作来解决上述存在的问题,指出当移动终端之间组成MANETs时,当获得相同的资源时,相对于访问Internet服务器来说,移动终端之间的直接通信会节省更多的终端能耗和降低获取时延。因此,可以通过多个移动终端协同下载的方式缩短文件下载时间。
发明内容
针对现有技术中的缺陷,本发明提供一种文件协同下载方法和系统,能够有效降低文件下载时延。
本发明提供了一种文件协同下载方法,包括:
第一节点向多个邻居节点发送协同发现请求报文,以及接收一个以上的邻居节点根据所述协同发现请求报文发送的响应报文;
所述第一节点根据所述响应报文,获取发送所述响应报文的邻居节点的标识,向与所述邻居节点的标识对应的邻居节点发送测试文件下载请求报文;
在至少一个邻居节点根据所述测试文件下载请求报文下载测试文件后,所述第一节点接收一个以上的邻居节点发送的测试文件下载响应报文;
所述第一节点从发送所述测试文件下载响应报文的邻居节点中选择预设N个邻居节点作为协同节点,并与所述协同节点交互完成文件下载。
其中,所述第一节点向多个邻居节点发送协同发现请求报文包括:
第一节点向多个邻居节点发送协同发现请求报文PDREQ,所述PDREQ包括源节点地址SR、请求标识REQID以及请求广播范围RBR;
相应地,接收一个以上的邻居节点根据所述协同发现请求发送的响应报文,包括:
在邻居节点接收到第一节点发送的PDREQ之后,邻居节点比较该PDREQ中的REQID值与本地保存的REQID值的大小,在确定本地保存的REQID值小于该PDREQ中的REQID值,且节点当前剩余电量大于第一阈值、节点当前网络负载小于第二阈值时,向第一节点发送响应报文PDREP,第一节点接收该邻居节点发送的响应报文PDREP,所述PDREP包括节点地址PR、响应标识REPID和源节点地址SR。
其中,所述方法还包括:
当某个邻居节点接收到第一节点发送的PDREQ时,该邻居节点判断RBR值是否大于0,若大于0,则该邻居节点将该PDREQ中的RBR值减1,并将该PDREQ发生给该邻居节点的多个邻居节点。
其中,所述第一节点根据所述响应报文,获取发送所述响应报文的邻居节点的标识,向与所述邻居节点的标识对应的邻居节点发送测试文件下载请求报文包括:
第一节点根据所述响应报文,获取发送所述响应报文的邻居节点的标识,向与所述邻居节点的标识对应的邻居节点发送测试文件下载请求报文FDREQ;所述FDREQ包括文件位置FL、下载字节范围DBR、源节点地址SR、请求标识FDREQID以及标志位Flag;其中,测试文件下载请求报文的Flag为0。
其中,所述在至少一个邻居节点根据所述测试文件下载请求报文下载测试文件后,所述第一节点接收一个以上的邻居节点发送的测试文件下载响应报文包括:
在至少一个邻居节点根据所述测试文件下载请求报文下载测试文件之后,至少一个邻居节点向第一节点发送测试文件下载响应报文FDREP,所述第一节点接收一个以上的邻居节点发送的测试文件下载响应报文FDREP,所述FDREP包括下载测试文件所用时间t、节点当前剩余电量r以及节点地址PR。
其中,所述第一节点接收一个以上的邻居节点发送的测试文件下载响应报文还包括:
第一节点在接收所述一个以上的邻居节点发送的FDREP时,第一节点记录每个节点到第一节点的传输延时td
其中,所述第一节点从发送所述测试文件下载响应报文的邻居节点中选择预设N个邻居节点作为协同节点包括:
第一节点根据发送所述测试文件下载响应报文的邻居节点中的每个节点下载测试文件所用时间t、节点当前剩余电量r以及节点到第一节点的传输延时td,采用遗传算法从发送所述测试文件下载响应报文的邻居节点中选择预设N个邻居节点作为协同节点。
其中,第一节点与所述协同节点交互完成文件下载包括:
在每个协同节点接收到第一节点发送的标志位为非0的FDREQ之后,每个协同节点使用各自的蜂窝数据网向外部服务器请求要下载的文件片段,其中每个协同节点需要下载的文件片段范围由下式确定,其中Lf为第一节点需要协同下载的文件长度,Lj为每个协同节点应该下载的文件长度,uj为每个协同节点的效用值,m为协同节点的个数;
L j = round ( L f · u j / Σ j = 1 j = m u j )
当协同节点下载完毕后将文件片段通过无线连接传输至第一节点。
其中,所述第一节点根据发送所述测试文件下载响应报文的邻居节点中的每个节点下载测试文件所用时间t、节点当前剩余电量r以及节点到第一节点的传输延时td,采用遗传算法从发送所述测试文件下载响应报文的邻居节点中选择预设N个邻居节点作为协同节点包括:
S11.种群初始化:将发送所述测试文件下载响应报文的邻居节点添加到集合J中,初始化染色体种群个数为N1,其值集合J中节点的个数,每条染色体含有的基因个数n∈[1,N1]且n均不相同,每条染色体内所含节点不重复,以每条染色体中所包含的基因序列作为要选择的协同节点集合;
S12.评价:适应度值为染色体内所含节点从下载到传输测试文件分片到第一节点所需的最大时间,此步骤分为以下三个子过程:
S121.计算J内的每个节点的效用值ui,效用值ui的计算如下:
ui=ws·si+wr·ri
si表示节点i当前的下载速度,根据节点i下载测试文件所需时间ti以及所下载测试文件长度l计算得出,ws表示节点下载速度所占的权重,ri为节点当前剩余电量,wr为节点剩余电量权重,ws+wr=1,ws、wr>0;
S122.在效用值ui的基础上计算每个节点应该下载的文件长度Li,如下:
L i = round ( L · u j / Σ i = 1 i = n u i )
这里L表示第一节点需要下载的文件的长度,n是当前染色体内所含节点的个数;
S123.根据si,Li,td估算出每个节点各自的Ti,Ti表示节点i从下载到传输文件分片到第一节点所需要的时间,取max{T1,T2....Tn}作为当前染色体的适应度值;
S13.交叉,使用单点交叉来产生两条新的染色体;
S14.变异;
S15.精英保留策略:引入精英保留策略来保存当前最优的个体到下一代中;
S16.终止条件:给定预设迭代次数作为算法结束的条件。
本发明还提供了一种文件协同下载系统,包括第一节点和若干个邻居节点;所述第一节点包括:
请求发送模块,用于向多个邻居节点发送协同发现请求报文;
请求响应接收模块,用于接收一个以上的邻居节点根据所述协同发现请求报文发送的响应报文,并根据所述响应报文,获取发送所述响应报文的邻居节点的标识;
所述请求发送模块,还用于向与所述邻居节点的标识对应的邻居节点发送测试文件下载请求报文;
所述请求响应接收模块,还用于接收一个以上的邻居节点发送的测试文件下载响应报文;
协同节点选择模块,用于从发送所述测试文件下载响应报文的邻居节点中选择预设N个邻居节点作为协同节点;
协同下载模块,用于与所述协同节点交互完成文件下载。
所述邻居节点包括:
请求回复模块,用于根据第一节点发送的协同发现请求报文向第一节点发送响应报文;
所述请求回复模块,还用于根据第一节点发送的测试文件下载请求报文向第一节点发送测试文件下载响应报文;
协同下载模块,用于与第一节点交互完成文件下载由上述技术方案可知,本发明的文件协同下载方法,通过对同一MANETs中愿意参与协同下载的相邻节点进行发现,然后采集相邻节点的有效信息并进行协同节点的选优,进行下载任务的分配,从而减少文件下载所需的时延。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的文件协同下载方法的流程图;
图2是本发明实施例二提供的中间节点处理PDREQ请求的流程图;
图3是本发明实施例二提供的遗传算法流程图;
图4是本发明实施例二提供的协同文件下载应用场景示意图;
图5是本发明实施例二提供的协同节点发现过程示意图;
图6是本发明实施例二提供的遗传算法参数选择结果仿真示意图;
图7是本发明实施例二提供的文件分片大小选择结果仿真示意图;
图8是本发明实施例二提供的同构网络下Proxy节点选择结果仿真示意图;
图9是本发明实施例二提供的异构网络下Proxy节点选择结果仿真示意图;
图10是本发明实施例二提供的基于遗传算法的协同文件下载方法和使用Pipe-Line的协同文件下载方法的性能对比示意图;
图11是本发明实施例三提供的文件协同下载系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明实施例一提供的文件协同下载方法的流程图,如图1所示,本实施例的文件协同下载方法如下所述。
步骤101:第一节点向多个邻居节点发送协同发现请求报文,以及接收一个以上的邻居节点根据所述协同发现请求报文发送的响应报文。
在本步骤中,所述第一节点向多个邻居节点发送协同发现请求报文包括:第一节点向多个邻居节点发送协同发现请求报文PDREQ,所述PDREQ包括源节点地址SR、请求标识REQID以及请求广播范围RBR;所述REQID用于保持该次请求的及时性,该PDREQ每被广播一次,REQID值增加1;所述RBR用于限制该次请求的广播半径,该PDREQ每被广播一次,RBR值减1。
相应地,接收一个以上的邻居节点根据所述协同发现请求发送的响应报文,包括:
在邻居节点接收到第一节点发送的PDREQ之后,邻居节点比较该PDREQ中的REQID值与本地保存的REQID值的大小,在确定本地保存的REQID值小于该PDREQ中的REQID值,且节点当前剩余电量大于第一阈值、节点当前网络负载小于第二阈值时,向第一节点发送响应报文PDREP,第一节点接收该邻居节点发送的响应报文PDREP,所述PDREP包括节点地址PR、响应标识REPID和源节点地址SR。所述REPID用于标识此次响应的及时性,该节点每响应一次该第一节点的协同发现请求,REPID值增加1。
另外,当某个邻居节点接收到第一节点发送的PDREQ时,该邻居节点判断RBR值是否大于0,若大于0,则该邻居节点将该PDREQ中的RBR值减1,并将该PDREQ发生给该邻居节点的多个邻居节点。
步骤102:所述第一节点根据所述响应报文,获取发送所述响应报文的邻居节点的标识,向与所述邻居节点的标识对应的邻居节点发送测试文件下载请求报文。
在本步骤中,第一节点根据所述响应报文,获取发送所述响应报文的邻居节点的标识,向与所述邻居节点的标识对应的邻居节点发送测试文件下载请求报文FDREQ;所述FDREQ包括文件位置FL、下载字节范围DBR、源节点地址SR、请求标识FDREQID以及标志位Flag;其中,测试文件下载请求报文的Flag为0。
步骤103:在至少一个邻居节点根据所述测试文件下载请求报文下载测试文件后,所述第一节点接收一个以上的邻居节点发送的测试文件下载响应报文。
在本步骤中,在至少一个邻居节点根据所述测试文件下载请求报文下载测试文件之后,至少一个邻居节点向第一节点发送测试文件下载响应报文FDREP,所述第一节点接收一个以上的邻居节点发送的测试文件下载响应报文FDREP,所述FDREP包括下载测试文件所用时间t、节点当前剩余电量r以及节点地址PR。
所述第一节点接收一个以上的邻居节点发送的测试文件下载响应报文还包括:
其中,第一节点在接收所述一个以上的邻居节点发送的FDREP时,第一节点还记录每个节点到第一节点的传输延时td
步骤104:所述第一节点从发送所述测试文件下载响应报文的邻居节点中选择预设N个邻居节点作为协同节点,并与所述协同节点交互完成文件下载。
在本步骤中,其中,所述第一节点从发送所述测试文件下载响应报文的邻居节点中选择预设N个邻居节点作为协同节点包括:
第一节点根据发送所述测试文件下载响应报文的邻居节点中的每个节点下载测试文件所用时间t、节点当前剩余电量r以及节点到第一节点的传输延时td,采用遗传算法从发送所述测试文件下载响应报文的邻居节点中选择预设N个邻居节点作为协同节点。
其中,第一节点与所述协同节点交互完成文件下载包括:
在每个协同节点接收到第一节点发送的标志位为非0的FDREQ之后,每个协同节点使用各自的蜂窝数据网向外部服务器请求要下载的文件片段,其中每个协同节点需要下载的文件片段范围由下式确定,其中Lf为第一节点需要协同下载的文件长度,Lj为每个协同节点应该下载的文件长度,uj为每个协同节点的效用值,m为协同节点的个数;
L j = round ( L f · u j / Σ j = 1 j = m u j )
当协同节点下载完毕后将文件片段通过无线连接传输至第一节点。
另外,为了避免没有文件分片被下载,也可以在第一节点本身进行下载的时候,同时进行协同节点的发现以及协同节点的选优。
具体地,所述第一节点根据发送所述测试文件下载响应报文的邻居节点中的每个节点下载测试文件所用时间t、节点当前剩余电量r以及节点到第一节点的传输延时td,采用遗传算法从发送所述测试文件下载响应报文的邻居节点中选择预设N个邻居节点作为协同节点包括:
S11.种群初始化:将发送所述测试文件下载响应报文的邻居节点添加到集合J中,初始化染色体种群个数为N1,其值集合J中节点的个数,每条染色体含有的基因个数n∈[1,N1]且n均不相同,每条染色体内所含节点不重复,以每条染色体中所包含的基因序列作为要选择的协同节点集合;
S12.评价:适应度值为染色体内所含节点从下载到传输测试文件分片到第一节点所需的最大时间,此步骤分为以下三个子过程:
S121.计算J内的每个节点的效用值ui,效用值ui的计算如下:
ui=ws·si+wr·ri
si表示节点i当前的下载速度,根据节点i下载测试文件所需时间ti以及所下载测试文件长度l计算得出,ws表示节点下载速度所占的权重,ri为节点当前剩余电量,wr为节点剩余电量权重,ws+wr=1,ws、wr>0;
S122.在效用值ui的基础上计算每个节点应该下载的文件长度Li,如下:
L i = round ( L · u j / Σ i = 1 i = n u i )
这里L表示第一节点需要下载的文件的长度,n是当前染色体内所含节点的个数;
S123.根据si,Li,td估算出每个节点各自的Ti,Ti表示节点i从下载到传输文件分片到第一节点所需要的时间,取max{T1,T2....Tn}作为当前染色体的适应度值;
S13.交叉,使用单点交叉来产生两条新的染色体;
S14.变异;
S15.精英保留策略:引入精英保留策略来保存当前最优的个体到下一代中;
S16.终止条件:给定预设迭代次数作为算法结束的条件。
本实施例所述的文件协同下载方法,通过对同一MANETs中愿意参与协同下载的相邻节点进行发现,然后采集相邻节点的有效信息并通过遗传算法来进行协同节点的选优,定义了节点的效用值,在效用值的基础上进行下载任务的分配,从而减少文件下载所需的时延。
下面以一个具体的实施例二来说明本发明所述的文件协同下载方法的技术方案。
本发明实施例所述的文件协同下载方法主要包含三个主要的阶段:Proxy节点(协同节点)的发现过程,Proxy的选优过程以及文件下载过程。在Proxy节点的发现过程中进行潜在的Proxy节点的获取。在Proxy节点的选优阶段,通过下载一段测试文件来获取各节点的相关信息(包括下载速度、到下载请求发起者Client节点(第一节点)的延迟等等),通过遗传算法选择出一组性能较优的节点集合用于之后的文件协同下载。在文件下载阶段,各Proxy节点的获取各自要下载的文件分片信息向服务器发起下载请求,下载完成后将分片通过无线连接传输至Client节点(第一节点)。下面详细介绍这三个主要过程。
Proxy节点(协同节点)发现阶段:Client节点(第一节点)通过向其邻居节点广播一个PDREQ(Proxy Discovery Request,PDREQ)报文,PDREQ中包含源节点地址(Source Address,SR)、请求标识(Request Identification,REQID)、以及请求广播范围(RequestBroadcast Range,RBR)。其中REQID和SR用于唯一的标识此次请求。REQID用于保持请求的及时性,每进行一次Proxy节点发现REQID就会增加1。RBR用于限制请求的广播半径,每被广播一次其值就会减1。当MANETs中的节点愿意参与协同下载时就会向Client节点发送一个PDREP报文(Proxy Discovery Reply,PDREP)包含REQID、节点自身地址(Proxy Address,PR)、响应标识(Reply-ID,REPID)、源节点(Source Address,SR)。REPID标识此次响应的及时性,每次发现过程REPID都会增加1。
从Client节点到Proxy节点的逐跳路由根据AODV协议进行创建,并且PDREQ和PDREP报文与AODV中的RREQ和RREP有着相同的使用方式。当MANETs中的节点接收到此PDREQ的时候,先会建立一个反向路由表项,并且比较REQID和本地保存的REQID值,当本地保存值较大的时候说明已经处理过此次请求,丢弃此请求;若本地保存值较小时,说明未处理过此次请求,首先更新REQID值,然后根据自身电量、当前网络负载来决定是否参加此次协同下载。在Proxy节点的发现过程中,当RBR值为正时,中间节点会重新广播请求给其邻居节点并将RBR值减1;当中间节点愿意参与协同时,节点向Client单播PDREP报文。当MANETs中的其他节点接收到此次PDREP时候,也会首先比较REPID值,然后建立路由表项。当Client接收到PDREP之后,就会将PR表示的节点加入到事先定义好的集合J中。中间节点处理PDREQ的请求流程如图2所示。
Proxy节点(协同节点)的选择阶段:Proxy节点下载并传输一定量的文件到Client节点(第一节点)所需要的时间很明显受到节点的下载速率以及节点在MANETs中位置的影响。所以本阶段的主要目的是获取用于之后进行的文件下载的Proxy节点集合,此集合中的节点要么具有较高的下载速度要么到Client节点具有较少的路由跳数。由于遗传算法在组合优化中的广泛应用,并且当集合中待选Proxy节点数目较多的时候,遗传算法的可扩展性和快速收敛于较优解的特性使得它适合于求解本阶段的选择问题。
当获取到集合J之后,Client向其中节点广播一个文件下载请求报文(File Portion Downloading Request,FDREQ)。FDREQ包含文件位置、下载字节范围、Client地址、请求标识以及一个标志位flag。在本阶段flag值为0,这意味着FDREQ报文是用来收集集合中节点的信息,当节点下载完指定长度的文件后,节点应该向Client节点发送一个FDREP(File Downloading Reply)报文。FDREP包含下载测试文件所需要的时间t,节点当前的电量水平r以及节点地址。当Client节点收到FDREP时候,Client节点也会记录Proxy到其所需要的时延rd。此后Client节点将会使用遗传算法进行Proxy节点的选优,关于遗传算法的步骤如图3所示。具体细节如下:
1)种群初始化:初始化染色体种群个数为N1,其值等于集合J内候选节点的个数,每条染色体含有的基因个数n∈[1,N1]且n均不相同,每条染色体内所含节点不重复,以每条染色体中所包含的基因序列作为要选择的协同节点集合;
2)评价:适应度值为染色体内所含节点从下载到传输文件分片到第一节点所需的最大时间,此步骤分为以下三个子过程:
a)计算J内的每个节点的效用值ui,效用值ui的计算如下:
ui=ws·si+wr·ri
si表示节点i当前的下载速度,根据节点i下载测试文件所需时间ti以及所下载测试文件长度l计算得出,ws表示节点下载速度所占的权重,ri为节点当前剩余电量,wr为节点剩余电量权重,ws+wr=1,ws、wr>0;
b)在效用值ui的基础上计算每个节点应该下载的文件长度Li,如下:
L i = round ( L · u j / Σ i = 1 i = n u i )
这里L表示第一节点需要下载的文件的长度,n是当前染色体内所含节点的个数;
c)根据si,Li,td估算出每个节点各自的Ti,Ti表示节点i从下载到传输文件分片到第一节点所需要的时间,取max{T1,T2....Tn}作为当前染色体的适应度值;
3)交叉,交叉因子pc选取值为0.8。在算法运行过程中,使用单点交叉来产生两条新的染色体;
4)变异;变异因子pm选取值为0.1。每条染色体中的每个基因都可能会被其它合理的取值所取代;
5)精英保留策略:为了改变算法的效率,引入精英保留策略来保存当前最优的个体到下一代中;
6)终止条件:给定预设迭代次数gn=200作为算法结束的条件。
至此使用遗传算法进行Proxy选择的过程已经结束。根据上述两个公式可知,每个Proxy节点要下载的文件分片的大小与其效用值成正比。当节点效用值较高时,下载的文件长度也较大。所以即使当最后选择的Proxy节点集合中包含下载速度较低的节点,但是根据其对应的下载文件分片长度也会比较小,这就保证了整体下载任务的完成不会受到影响。
文件协同下载阶段:当结束选择之后,Client节点通过发送标志位flag为非0的FDREQ到各Proxy节点。每个Proxy节点要下载的文件分片范围由确定。当接收到FDREQ之后每个节点都会使用各自的蜂窝数据连接向外部服务器请求要下载的文件片段。当下载结束后通过无线连接传输至Client节点。为了避免没有文件分片被下载,也可以在Client节点本身进行下载的时候,同时进行Proxy节点的发现以及Proxy节点的选优。
下面以一个实际的例子来进行说明。例如4所示,移动终端用户A、B、C、D、E等移动终端均处于同一MANETs(移动自组网络工作组,Mobile Ad hoc NETwork)中,并且均能通过蜂窝数据网络接入外部网络。当用户A想要下载外部服务器上的一个文件时,通过广播PDREQ之后,A获取到用户B、C、D、E均由意愿参与此次协同。通过一段测试文件的下载之后,A执行遗传算法最后选择B、C、D作为最后参与下载的节点。此后A向B、C、D发送FDREQ报文,其中包含每个节点要下载的文件分片大小。其中Proxy节点的发现过程如图5所示。其中,链路S1、链路S2和链路S3对应的PDREQ如表1~3所示,链路S4、链路S5和链路S6对应的PDREP如表4~表6所示。
表1PDREQ
SR A
REQID 1
RBR 3
表2PDREQ
SR A
REQID 1
RBR 3
表3PDREQ
SR A
REQID 1
RBR 2
表4PDREP
PR D
SR A
REQID 1
REPID 1
表5PDREP
PR D
SR A
REQID 1
REPID 1
表6PDREP
PR B
SR A
REQID 1
REPID 1
通过在NS3的仿真实验,选取75个移动节点随机分布在500m*500m的区域内。节点的移动性选取为随机游走模式。每个节点均能同时接入蜂窝数据网络和基于IEEE802.11b的无线网络,无线网络速率为11Mbps,覆盖距离为100m。
RBR选择为3即每个PDREQ只能被广播三次。J中包含的节点数目从3,6,9,12到15不等。节点的蜂窝网络速率从128Kbps,256Kbps,512Kbps到1MKbps不等。
考虑到遗传算法对实例性能的影响,本实例首先确定遗传算法的参数(参见图6),选取交叉因子pc=0.8,变异因子pm=0.1,迭代次数gn=300。接着对每次要下载的文件分片大小进行确定(参见图7),通过图示,当文件分片大小为150K时,通过协同下载取得的性能收益最高。紧接着为了证实遗传算法的对Proxy节点的选优性(参见图8、图9),得出当网络中节点速率均较低的时候遗传算法通常选择全部的节点作为参与下载,更多的利用较快的无线连接。这是因为当参与下载的节点较多且速率较低(图8中128Kbps,256Kbps)时,根据公式(2)每个节点下载的文件分片大小也就随之减少,从而减少每个Proxy下载文件的时延,进而降低Client获取整个文件的时延。当Proxy节点速率较高(图8中512Kbps或者1Mbps)的时候,相对于下载时延使用无线连接传输文件分片会更多的影响到Client获取完整文件的时间。当节点速率混合时(参见图9),通过遗传算法往往会选择具有较高下载速率的节点而避免较低下载速率的节点作为最后参与协同下载的Proxy节点。最后我们将使用遗传算法的协同文件下载机制与使用Pipe-Line的协同文件下载机制进行了比较(参见图10),通过比较得出使用遗传算法的协同文件下载机制往往能获得更小的延迟。
图11示出了本发明实施例三提供的文件协同下载系统的结构示意图,如图11所示,所述系统包括第一节点11和若干个邻居节点12;所述第一节点11包括:
请求发送模块111,用于向多个邻居节点发送协同发现请求报文;
响应接收模块112,用于接收一个以上的邻居节点根据所述协同发现请求报文发送的响应报文,并根据所述响应报文,获取发送所述响应报文的邻居节点的标识;
所述请求发送模块111,还用于向与所述邻居节点的标识对应的邻居节点发送测试文件下载请求报文;
所述响应接收模块112,还用于接收一个以上的邻居节点发送的测试文件下载响应报文;
协同节点选择模块113,用于从发送所述测试文件下载响应报文的邻居节点中选择预设N个邻居节点作为协同节点;
协同下载模块114,用于与所述协同节点交互完成文件下载。
所述邻居节点12包括:
请求回复模块121,用于根据第一节点发送的协同发现请求报文向第一节点发送响应报文;
所述请求回复模块121,还用于根据第一节点发送的测试文件下载请求报文向第一节点发送测试文件下载响应报文;
协同下载模块122,用于与第一节点交互完成文件下载。
本实施例所述的系统,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种文件协同下载方法,其特征在于,包括:
第一节点向多个邻居节点发送协同发现请求报文,以及接收一个以上的邻居节点根据所述协同发现请求报文发送的响应报文;
所述第一节点根据所述响应报文,获取发送所述响应报文的邻居节点的标识,向与所述邻居节点的标识对应的邻居节点发送测试文件下载请求报文;
在至少一个邻居节点根据所述测试文件下载请求报文下载测试文件后,所述第一节点接收一个以上的邻居节点发送的测试文件下载响应报文;
所述第一节点从发送所述测试文件下载响应报文的邻居节点中选择预设N个邻居节点作为协同节点,并与所述协同节点交互完成文件下载。
2.根据权利要求1所述的方法,其特征在于,所述第一节点向多个邻居节点发送协同发现请求报文包括:
第一节点向多个邻居节点发送协同发现请求报文PDREQ,所述PDREQ包括源节点地址SR、请求标识REQID以及请求广播范围RBR;
相应地,接收一个以上的邻居节点根据所述协同发现请求发送的响应报文,包括:
在邻居节点接收到第一节点发送的PDREQ之后,邻居节点比较该PDREQ中的REQID值与本地保存的REQID值的大小,在确定本地保存的REQID值小于该PDREQ中的REQID值,且节点当前剩余电量大于第一阈值、节点当前网络负载小于第二阈值时,向第一节点发送响应报文PDREP,第一节点接收该邻居节点发送的响应报文PDREP,所述PDREP包括节点地址PR、响应标识REPID和源节点地址SR。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当某个邻居节点接收到第一节点发送的PDREQ时,该邻居节点判断RBR值是否大于0,若大于0,则该邻居节点将该PDREQ中的RBR值减1,并将该PDREQ发生给该邻居节点的多个邻居节点。
4.根据权利要求2或3所述的方法,其特征在于,所述第一节点根据所述响应报文,获取发送所述响应报文的邻居节点的标识,向与所述邻居节点的标识对应的邻居节点发送测试文件下载请求报文包括:
第一节点根据所述响应报文,获取发送所述响应报文的邻居节点的标识,向与所述邻居节点的标识对应的邻居节点发送测试文件下载请求报文FDREQ;所述FDREQ包括文件位置FL、下载字节范围DBR、源节点地址SR、请求标识FDREQID以及标志位Flag;其中,测试文件下载请求报文的Flag为0。
5.根据权利要求4所述的方法,其特征在于,所述在至少一个邻居节点根据所述测试文件下载请求报文下载测试文件后,所述第一节点接收一个以上的邻居节点发送的测试文件下载响应报文包括:
在至少一个邻居节点根据所述测试文件下载请求报文下载测试文件之后,至少一个邻居节点向第一节点发送测试文件下载响应报文FDREP,所述第一节点接收一个以上的邻居节点发送的测试文件下载响应报文FDREP,所述FDREP包括下载测试文件所用时间t、节点当前剩余电量r以及节点地址PR。
6.根据权利要求5所述的方法,其特征在于,所述第一节点接收一个以上的邻居节点发送的测试文件下载响应报文还包括:
第一节点在接收所述一个以上的邻居节点发送的FDREP时,第一节点记录每个节点到第一节点的传输延时td
7.根据权利要求6所述的方法,其特征在于,所述第一节点从发送所述测试文件下载响应报文的邻居节点中选择预设N个邻居节点作为协同节点包括:
第一节点根据发送所述测试文件下载响应报文的邻居节点中的每个节点下载测试文件所用时间t、节点当前剩余电量r以及节点到第一节点的传输延时td,采用遗传算法从发送所述测试文件下载响应报文的邻居节点中选择预设N个邻居节点作为协同节点。
8.根据权利要求7所述的方法,其特征在于,第一节点与所述协同节点交互完成文件下载包括:
在每个协同节点接收到第一节点发送的标志位为非0的FDREQ之后,每个协同节点使用各自的蜂窝数据网向外部服务器请求要下载的文件片段,其中每个协同节点需要下载的文件片段范围由下式确定,其中Lf为第一节点需要协同下载的文件长度,Lj为每个协同节点应该下载的文件长度,uj为每个协同节点的效用值,m为协同节点的个数;
L j = round ( L f · u j / Σ j = 1 j = m u j )
当协同节点下载完毕后将文件片段通过无线连接传输至第一节点。
9.根据权利要求7所述的方法,其特征在于,所述第一节点根据发送所述测试文件下载响应报文的邻居节点中的每个节点下载测试文件所用时间t、节点当前剩余电量r以及节点到第一节点的传输延时td,采用遗传算法从发送所述测试文件下载响应报文的邻居节点中选择预设N个邻居节点作为协同节点包括:
S11.种群初始化:将发送所述测试文件下载响应报文的邻居节点添加到集合J中,初始化染色体种群个数为N1,其值集合J中节点的个数,每条染色体含有的基因个数n∈[1,N1]且n均不相同,每条染色体内所含节点不重复,以每条染色体中所包含的基因序列作为要选择的协同节点集合;
S12.评价:适应度值为染色体内所含节点从下载到传输测试文件分片到第一节点所需的最大时间,此步骤分为以下三个子过程:
S121.计算J内的每个节点的效用值ui,效用值ui的计算如下:
ui=ws·si+wr·ri
si表示节点i当前的下载速度,根据节点i下载测试文件所需时间ti以及所下载测试文件长度l计算得出,ws表示节点下载速度所占的权重,ri为节点当前剩余电量,wr为节点剩余电量权重,ws+wr=1,ws、wr>0;
S122.在效用值ui的基础上计算每个节点应该下载的文件长度Li,如下:
L i = round ( L · u i / Σ i = 1 i = n u i )
这里L表示第一节点需要下载的文件的长度,n是当前染色体内所含节点的个数;
S123.根据si,Li,td估算出每个节点各自的Ti,Ti表示节点i从下载到传输文件分片到第一节点所需要的时间,取max{T1,T2....Tn}作为当前染色体的适应度值;
S13.交叉,使用单点交叉来产生两条新的染色体;
S14.变异;
S15.精英保留策略:引入精英保留策略来保存当前最优的个体到下一代中;
S16.终止条件:给定预设迭代次数作为算法结束的条件。
10.一种文件协同下载系统,其特征在于,包括第一节点和若干个邻居节点;所述第一节点包括:
请求发送模块,用于向多个邻居节点发送协同发现请求报文;
请求响应接收模块,用于接收一个以上的邻居节点根据所述协同发现请求报文发送的响应报文,并根据所述响应报文,获取发送所述响应报文的邻居节点的标识;
所述请求发送模块,还用于向与所述邻居节点的标识对应的邻居节点发送测试文件下载请求报文;
所述请求响应接收模块,还用于接收一个以上的邻居节点发送的测试文件下载响应报文;
协同节点选择模块,用于从发送所述测试文件下载响应报文的邻居节点中选择预设N个邻居节点作为协同节点;
协同下载模块,用于与所述协同节点交互完成文件下载。
所述邻居节点包括:
请求回复模块,用于根据第一节点发送的协同发现请求报文向第一节点发送响应报文;
所述请求回复模块,还用于根据第一节点发送的测试文件下载请求报文向第一节点发送测试文件下载响应报文;
协同下载模块,用于与第一节点交互完成文件下载。
CN201410852459.4A 2014-12-31 2014-12-31 一种文件协同下载方法及系统 Active CN104618447B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410852459.4A CN104618447B (zh) 2014-12-31 2014-12-31 一种文件协同下载方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410852459.4A CN104618447B (zh) 2014-12-31 2014-12-31 一种文件协同下载方法及系统

Publications (2)

Publication Number Publication Date
CN104618447A true CN104618447A (zh) 2015-05-13
CN104618447B CN104618447B (zh) 2018-06-08

Family

ID=53152722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410852459.4A Active CN104618447B (zh) 2014-12-31 2014-12-31 一种文件协同下载方法及系统

Country Status (1)

Country Link
CN (1) CN104618447B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105306532A (zh) * 2015-09-17 2016-02-03 中国电建集团成都勘测设计研究院有限公司 提高气象模型系统中数据下载可靠性和速度的系统及方法
CN105704694A (zh) * 2016-01-18 2016-06-22 北京邮电大学 协同下载时费用分配值的计算方法及装置
CN105812455A (zh) * 2016-03-07 2016-07-27 北京邮电大学 一种移动Ad hoc网络中协同下载的方法和装置
CN111669422A (zh) * 2019-03-08 2020-09-15 华为技术有限公司 报文的传输方法和设备
CN111787121A (zh) * 2020-07-15 2020-10-16 太仓市同维电子有限公司 一种零延迟迁移文件下载任务的方法
CN111930696A (zh) * 2020-07-22 2020-11-13 中国建设银行股份有限公司 一种基于小程序的文件传输处理方法及系统
CN112637351A (zh) * 2020-12-25 2021-04-09 珠海金山网络游戏科技有限公司 一种文件下载方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340401A (zh) * 2008-08-27 2009-01-07 四川长虹电器股份有限公司 点对点下载方法
US20110282945A1 (en) * 2009-02-06 2011-11-17 Telefonaktiebolaget L M Ericsson (Publ) Network aware peer to peer
CN103957269A (zh) * 2014-05-08 2014-07-30 中国联合网络通信集团有限公司 点对点p2p网络节点选择方法及点对点p2p重定向服务器
CN103973596A (zh) * 2013-11-28 2014-08-06 合一网络技术(北京)有限公司 一种p2p网络节点筛选方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340401A (zh) * 2008-08-27 2009-01-07 四川长虹电器股份有限公司 点对点下载方法
US20110282945A1 (en) * 2009-02-06 2011-11-17 Telefonaktiebolaget L M Ericsson (Publ) Network aware peer to peer
CN103973596A (zh) * 2013-11-28 2014-08-06 合一网络技术(北京)有限公司 一种p2p网络节点筛选方法
CN103957269A (zh) * 2014-05-08 2014-07-30 中国联合网络通信集团有限公司 点对点p2p网络节点选择方法及点对点p2p重定向服务器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DANYU ZHU,MATT W. MUTKA , ZHIWEI CEN: ""Using Cooperative Multiple Paths to Reduce File Download Latency in Cellular Data Networks"", <GLOBAL TELECOMMUNICATIONS CONFERENCE,IEEE 2005> *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105306532A (zh) * 2015-09-17 2016-02-03 中国电建集团成都勘测设计研究院有限公司 提高气象模型系统中数据下载可靠性和速度的系统及方法
CN105704694A (zh) * 2016-01-18 2016-06-22 北京邮电大学 协同下载时费用分配值的计算方法及装置
CN105704694B (zh) * 2016-01-18 2019-02-19 北京邮电大学 协同下载时费用分配值的计算方法及装置
CN105812455A (zh) * 2016-03-07 2016-07-27 北京邮电大学 一种移动Ad hoc网络中协同下载的方法和装置
CN105812455B (zh) * 2016-03-07 2018-11-06 北京邮电大学 一种移动Ad hoc网络中协同下载的方法和装置
CN111669422B (zh) * 2019-03-08 2022-03-11 华为技术有限公司 报文的传输方法和设备
CN111669422A (zh) * 2019-03-08 2020-09-15 华为技术有限公司 报文的传输方法和设备
US11956148B2 (en) 2019-03-08 2024-04-09 Huawei Technologies Co., Ltd. Packet transmission method and device
CN111787121A (zh) * 2020-07-15 2020-10-16 太仓市同维电子有限公司 一种零延迟迁移文件下载任务的方法
CN111930696A (zh) * 2020-07-22 2020-11-13 中国建设银行股份有限公司 一种基于小程序的文件传输处理方法及系统
CN111930696B (zh) * 2020-07-22 2023-08-01 建信金融科技有限责任公司 一种基于小程序的文件传输处理方法及系统
CN112637351A (zh) * 2020-12-25 2021-04-09 珠海金山网络游戏科技有限公司 一种文件下载方法及装置
CN112637351B (zh) * 2020-12-25 2023-09-05 珠海金山数字网络科技有限公司 一种文件下载方法及装置

Also Published As

Publication number Publication date
CN104618447B (zh) 2018-06-08

Similar Documents

Publication Publication Date Title
CN104618447A (zh) 一种文件协同下载方法及系统
US7693119B2 (en) Transmission power control over a wireless ad-hoc network
CN109547351B (zh) Ad Hoc网络中基于Q学习和信任模型的路由方法
WO2011105371A1 (ja) 通信システム、スレーブノード、ルート構築方法及びプログラム
KR101123991B1 (ko) 한계 값들에 종속하는 멀티홉 통신 셋업
WO2004114690B1 (en) Optimal routing in ad hac wireless communication network
KR101835335B1 (ko) 무선 애드 혹 네트워크를 위한 최적의 다중 홉 Hybrid V-MIMO 전송 경로 설정을 위한 라우팅 방법 및 장치
CN103428899A (zh) 基于多信道跳频的微功率无线网络自组网方法
EP1653680A2 (en) Apparatus and method for extending mobility in a mobile ad-hoc network
WO2007114857A3 (en) Restricting time slots for mesh networks
US8462806B2 (en) Path selection procedure in mesh network and format of path request frame therefor
CN103516818B (zh) 一种基于异构网状网络融合的地址分配方法
Houaidia et al. Inter-flow and intra-flow interference mitigation routing in wireless mesh networks
US20080107033A1 (en) Radio communication network capable of radio communication with reduced overhead
Mishra et al. Minimum interference based resource allocation method in two-hop D2D communication for 5G cellular networks
Kim et al. VADA: Wi-Fi direct based voluntary advertisement dissemination algorithm for social commerce service
Sheu et al. Location-free topology control protocol in wireless ad hoc networks
CN104053208B (zh) 无线自组网中基于信道分配的路由方法、装置
Kim et al. Distributed topology construction in ZigBee wireless networks
CN102651897B (zh) 6LoWPAN无线传感器网络移动切换的实现方法
CN104662869B (zh) 用于在公共陆地移动网络中增强使用邻近服务的方法
KR20060121232A (ko) 자체-조직 네트워크에서 방송들을 스케줄링하는 방법
WO2014185768A1 (en) A method of spectrum aware routing in a mesh network and a system derived thereof
Rab et al. Analytical modeling of self-pruning and an improved probabilistic broadcast for wireless multihop networks
JP3897601B2 (ja) 通信システム及び通信方法

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Rui Lanlan

Inventor after: Guo Shaoyong

Inventor after: Zhang Xing

Inventor after: Qiu Xuesong

Inventor after: Li Wenjing

Inventor after: Wang Xi

Inventor before: Rui Lanlan

Inventor before: Guo Shaoyong

Inventor before: Zhang Xing

Inventor before: Qiu Xuesong

Inventor before: Li Wenjing