CN105812455A - 一种移动Ad hoc网络中协同下载的方法和装置 - Google Patents
一种移动Ad hoc网络中协同下载的方法和装置 Download PDFInfo
- Publication number
- CN105812455A CN105812455A CN201610127986.8A CN201610127986A CN105812455A CN 105812455 A CN105812455 A CN 105812455A CN 201610127986 A CN201610127986 A CN 201610127986A CN 105812455 A CN105812455 A CN 105812455A
- Authority
- CN
- China
- Prior art keywords
- node
- current
- download
- downloading
- value
- 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/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例公开了一种移动Ad hoc网络中协同下载的方法和装置,应用于服务器,该方法包括:接收主动请求节点发送的针对于目标文件的下载请求,确定所述下载请求所对应的从动请求节点,进而确定当前的下载请求所对应的下载节点,基于各请求节点和当前的各下载节点的位置信息,预估本轮的网络稳定下载时长,并基于所述本轮的网络稳定下载时长和当前的各下载节点的初始竞价值、初始内容分发值,确定最终内容分发值并发送给当前各下载节点进行下载,在经过本轮的网络稳定下载时长后,根据所有当前的下载节点实际完成的总的内容下载量判断是否进行下一轮下载。本方案可避免因移动用户在离开网络时携带下载内容信息,造成该用户下载的内容丢失的问题。
Description
技术领域
本发明涉及移动互联网技术领域,特别涉及一种移动Adhoc网络中协同下载的方法和装置。
背景技术
随着移动互联网技术的不断进步和发展,移动终端用户使用4G技术看电影、下载视频已经很容易,但是下载大文件和视频依然会消耗大量的流量,从而产生较高的资费。对于一个普通终端用户,下载一个视频的费用往往很难独自承担,协同下载是解决这一问题的有效技术,协同下载可以让多个对同一文件感兴趣的用户共同分担下载费用。
现有技术中,协同下载可以为:对需要下载同一文件的各用户的终端组建Ad-Hoc网络(一种多跳的、无中心的、自组织无线网络,整个网络没有固定的基础设施,每个节点即终端都是移动的,并且都能以任意方式动态地保持与其它节点的联系),每个终端用户分担一部分下载任务,待全部下载完成后,将分散下载的内容汇合,然后在Ad-Hoc网络中共享。
在移动Adhoc网络中进行协同下载时,对每个节点的下载内容的分发方案中较多的考虑内容分发的效率及负载均衡,较少考虑移动用户的需求,因此当移动用户在移动离开网络时会携带下载内容信息,使得其所下载的内容丢失,造成资源的浪费。
发明内容
本发明实施例的目的在于提供一种移动Adhoc网络中协同下载的方法和装置,用于解决因移动用户在离开网络时携带下载内容信息,造成该用户下载的内容丢失的问题。
为达到上述目的,本发明实施例公开了一种移动Adhoc网络中协同下载的方法,应用于服务器,所述方法包括:
接收主动请求节点发送的针对于目标文件的下载请求;
根据主动请求节点的位置和接收到的主动请求节点发送的针对于目标文件的下载请求,确定所述接收到的主动请求节点发送的针对于目标文件的下载请求所对应的从动请求节点;
根据主动请求节点、从动请求节点的位置以及当前的下载请求所请求的目标文件,确定当前的下载请求所对应的下载节点,根据主动请求节点、从动请求节点和确定的下载节点,生成当前的下载请求所对应的Adhoc网络,所述Adhoc网络中包括至少一个下载节点;
获取当前的各下载节点的初始竞价值,并将当前的各下载节点的初始内容分发值均置为0;
获取各请求节点和当前的各下载节点的位置信息,并利用所获取的位置信息,预估本轮的网络稳定下载时长;
根据当前的各下载节点的初始竞价值、当前的各个下载节点的初始内容分发值和本轮的网络稳定下载时长,通过多次迭代确定当前的各下载节点在本轮的最终内容分发值,并将确定的最终内容分发值发送给当前的各下载节点;
在经过本轮的网络稳定下载时长后,获取当前的各下载节点在网络稳定下载时长内实际完成的内容下载量,判断所有当前的下载节点实际完成的总的内容下载量是否等于当前的下载请求所请求的文件内容的数据量,如果是,结束下载流程,如果否,确定未下载的所述目标文件的文件内容,将所确定的未下载的所述目标文件的文件内容作为下一轮下载请求的目标文件的文件内容,并继续执行根据主动请求节点、从动请求节点的位置以及当前的下载请求所请求的目标文件,确定当前的下载请求所对应的下载节点的步骤,以进行下一轮下载,直到所述目标文件的内容全部下载完毕。
具体的,所述根据主动请求节点的位置和接收到的主动请求节点发送的针对于目标文件的下载请求,确定所述接收到的主动请求节点发送的针对于目标文件的下载请求所对应的从动请求节点,包括:
根据主动请求节点的位置和接收到的主动请求节点发送的下载请求所请求的目标文件的文件内容,确定询问信息并发送给邻近的其它节点,所述邻近的其它节点为位于以主动请求节点为中心的预设范围内的其它节点,以使得其它节点基于所述询问信息判定自身是否需要接收到的主动请求节点发送的下载请求所请求的目标文件的文件内容,不需要则返回拒绝信息,需要则返回同意信息成为所述接收到的主动请求节点发送的针对于目标文件的下载请求所对应的从动请求节点。
具体的,所述根据主动请求节点、从动请求节点的位置以及当前的下载请求所请求的目标文件,确定当前的下载请求所对应的下载节点,包括:
根据主动请求节点、从动请求节点的位置和当前的下载请求所请求的目标文件的文件内容的数据量,确定询问信息并发送给各请求节点邻近的其它节点,所述各请求节点邻近的其它节点为位于以各请求节点为中心的预设范围内的其它节点,以使得其它节点基于所述询问信息判定自身是否愿意加入下载网络,拒绝则返回拒绝信息,同意则返回同意信息成为当前的下载请求所对应的下载节点。
具体的,所述获取各请求节点和当前的各下载节点的位置信息,包括:
获取各请求节点和当前的各下载节点基于全球定位系统GPS定位后所上报的位置信息;
所述利用所获取的位置信息,预估本轮的网络稳定下载时长,包括;
根据各请求节点和当前的各下载节点的位置信息,预估各请求节点和当前的各下载节点的移动速度,并获得各请求节点到当前的各下载节点的相对移动速度;
基于所获得的相对移动速度和预定公式,计算本轮的网络稳定下载时长,其中,所述预定公式包括:
其中,Tsd表示网络稳定下载时长,δi表示请求节点i的通信范围,I表示请求节点集合,J表示下载节点集合,I∪J表示移动节点集合,vi,I∪J表示请求节点i到当前的各下载节点的相对移动速度,ζ(i,I∪J)表示请求节点i到当前的各下载节点的距离,m表示请求节点的个数。
具体的,所述根据当前的各下载节点的初始竞价值、当前的各个下载节点的初始内容分发值和本轮的网络稳定下载时长,通过多次迭代确定当前的各下载节点在本轮的最终内容分发值,包括:
根据当前的各下载节点的初始竞价值、当前的各下载节点的初始内容分发值和本轮的网络稳定下载时长,使用梯度下降法调整参数,计算当前的各下载节点的参考内容分发值;
依次判断当前的某下载节点的参考内容分发值是否小于该下载节点在网络稳定下载时长内的下载量,如果是,减少该下载节点的竞价值,并将减少后的竞价值作为该下载节点的参考竞价值;
判断所述该下载节点的参考竞价值和其它所有当前的下载节点的初始竞价值之和是否小于请求节点单独下载当前的下载请求所请求的文件内容所需的费用,如果是,提高其它所有下载节点的竞价值,并将提高后的竞价值作为其它所有当前的下载节点的参考竞价值;
根据当前的各下载节点的参考内容分发值和参考竞价值计算当前的各下载节点的误差,判断当前的所有下载节点的误差之和是否小于服务器初始化设定的最大误差值,若是,则将当前的各下载节点的参考内容分发值确定为当前的各下载节点在本轮的最终内容分发值,否则令当前的各下载节点的参考内容分发值为初始内容分发值、当前的各下载节点的参考竞价值为初始竞价值,继续执行根据当前的各下载节点的初始竞价值、当前的各下载节点的初始内容分发值和本轮的网络稳定下载时长,使用梯度下降法调整参数,计算当前的各下载节点的参考内容分发值的步骤。
具体的,所述根据当前的各下载节点的初始竞价值、当前的各下载节点的初始内容分发值和本轮的网络稳定下载时长,使用梯度下降法调整参数,计算当前的各下载节点参考内容分发值,包括:
初始赋值(k)λ(0)、(k)μ0 (0)和各下载节点对应的(k)μj (0);
基于当前的各下载节点的初始竞价值、当前的各下载节点的初始内容分发值和本轮的网络稳定下载时长,使用梯度下降法调整参数(k)λ(t)、(k)μ0 (t)、(k)μj (t),调整(k)λ(t)、(k)μ0 (t)、(k)μj (t)所采用的公式为:
其中(k)λ(t),(k)μ0 (t),(k)μj (t)表示在第k轮第t次迭代时拉格朗日函数中的参数,Δ(t,,j)是当前的下载节点j在第t次迭代时梯度下降的迭代步长,(k)cj (t)表示当前的下载节点j在第k轮第t次迭代时的内容分发值,(k)Ck表示在第k轮所有下载节点在网络稳定下载时长内可下载的最大内容量且rw,j、rl,j分别表示当前的下载节点j采用Wi-fi、4G接收的数据传输速率,(k)α、(k)β分别表示在第k轮下载节点j采用Wi-fi、4G下载数据占总下载数据的百分比,(k)pj (t)表示当前的下载节点j在第k轮第t次迭代时的竞价值,(k)Ps (t)表示服务器在第k轮第t次迭代时分发(k)Ck (t)愿意支付的总费用值;
基于(k)λ(t)、(k)μ0 (t)、(k)μj (t)和预定公式,计算当前的各下载节点参考内容分发值,所述预定公式包括:
其中,rw,j、rl,j分别表示当前的下载节点j采用Wi-fi、4G接收的数据传输速率,rwt,j表示当前的下载节点j采用Wi-fi发送数据的传输速率,(k)α、(k)β分别表示在第k轮下载节点j采用Wi-fi、4G下载数据占总下载数据的百分比,lw、hw分别表示Wi-fi数据包的长度和所述Wi-fi数据包的包头长度,ll、hl分别表示4G数据包的长度和所述4G数据包的包头长度,ewt,j表示当前的下载节点j采用Wi-fi传输的单位能耗,ewr,j表示当前的下载节点j采用Wi-fi接收的单位能耗,el,j表示当前的下载节点j采用4G下载的单位能耗。
具体的,所述减少该下载节点的竞价值,包括:
根据以下公式,减少该下载节点的竞价值:
其中,(k)pd,j表示下载节点j所能接受的最低竞价值。
具体的,所述提高其它所有下载节点的竞价值,包括:
根据以下公式,提高其它所有下载节点的竞价值:
其中,(k)pd,s表示服务器所能接受的最低竞价值。
具体的,所述根据当前的各下载节点的参考内容分发值和参考竞价值计算当前的各下载节点的误差,包括:
当前的各下载节点的误差根据以下公式计算:
εj=(k)pj (t)*(k)Ej (t)-(k)pj (t-1)*(k)Ej (t-1),其中,(k)Ej (t)=(k)cj (t)*ej表示下载节点j在第k轮第t次迭代时预估的能耗,ej表示下载节点j的单位能耗。
为达到上述目的,本发明实施例还公开了一种移动Adhoc网络中协同下载的装置,应用于服务器,所述装置包括:
下载请求接收单元,用于接收主动请求节点发送的针对于目标文件的下载请求;
从动请求节点确定单元,用于根据主动请求节点的位置和接收到的主动请求节点发送的针对于目标文件的下载请求,确定所述接收到的主动请求节点发送的针对于目标文件的下载请求所对应的从动请求节点;
Adhoc网络生成单元,用于根据主动请求节点、从动请求节点的位置以及当前的下载请求所请求的目标文件,确定当前的下载请求所对应的下载节点,根据主动请求节点、从动请求节点和确定的下载节点,生成当前的下载请求所对应的Adhoc网络,所述Adhoc网络中包括至少一个下载节点;
初始信息确定单元,用于获取当前的各下载节点的初始竞价值,并将当前的各下载节点的初始内容分发值均置为0;
网络稳定下载时长确定单元,用于获取各请求节点和当前的各下载节点的位置信息,并利用所获取的位置信息,预估本轮的网络稳定下载时长;
最终内容分发值确定发送单元,用于根据当前的各下载节点的初始竞价值、当前的各个下载节点的初始内容分发值和本轮的网络稳定下载时长,通过多次迭代确定当前的各下载节点在本轮的最终内容分发值,并将确定的最终内容分发值发送给当前的各下载节点;
判断单元,用于在经过本轮的网络稳定下载时长后,获取当前的各下载节点在网络稳定下载时长内实际完成的内容下载量,判断所有当前的下载节点实际完成的总的内容下载量是否等于当前的下载请求所请求的文件内容的数据量,如果是,结束下载流程,如果否,确定未下载的所述目标文件的文件内容,将所确定的未下载的所述目标文件的文件内容作为下一轮下载请求的目标文件的文件内容,触发Adhoc网络生成单元,以进行下一轮下载,直到所述目标文件的内容全部下载完毕。
具体的,所述从动请求节点确定单元,可以用于:
根据主动请求节点的位置和接收到的主动请求节点发送的下载请求所请求的目标文件的文件内容,确定询问信息并发送给邻近的其它节点,所述邻近的其它节点为位于以主动请求节点为中心的预设范围内的其它节点,以使得其它节点基于所述询问信息判定自身是否需要接收到的主动请求节点发送的下载请求所请求的目标文件的文件内容,不需要则返回拒绝信息,需要则返回同意信息成为所述接收到的主动请求节点发送的针对于目标文件的下载请求所对应的从动请求节点。
具体的,所述Adhoc网络生成单元,可以用于:
根据主动请求节点、从动请求节点的位置和当前的下载请求所请求的目标文件的文件内容的数据量,确定询问信息并发送给各请求节点邻近的其它节点,所述各请求节点邻近的其它节点为位于以各请求节点为中心的预设范围内的其它节点,以使得其它节点基于所述询问信息判定自身是否愿意加入下载网络,拒绝则返回拒绝信息,同意则返回同意信息成为当前的下载请求所对应的下载节点。
具体的,所述网络稳定下载时长确定单元,可以包括:
位置信息获取子单元,用于获取各请求节点和当前的各下载节点基于GPS定位后所上报的位置信息;
相对移动速度获得子单元,用于根据各请求节点和当前的各下载节点的位置信息,预估各请求节点和当前的各下载节点的移动速度,并获得各请求节点到当前的各下载节点的相对移动速度;
网络稳定下载时长计算子单元,用于基于所获得的相对移动速度和预定公式,计算本轮的网络稳定下载时长,其中,所述预定公式包括:
其中,Tsd表示网络稳定下载时长,δi表示请求节点i的通信范围,I表示请求节点集合,J表示下载节点集合,I∪J表示移动节点集合,vi,I∪J表示请求节点i到当前的各下载节点的相对移动速度,ζ(i,I∪J)表示请求节点i到当前的各下载节点的距离,m表示请求节点的个数。
具体的,所述最终内容分发值确定单元,可以包括:
参考内容分发值确定子单元,用于根据当前的各下载节点的初始竞价值、当前的各下载节点的初始内容分发值和本轮的网络稳定下载时长,使用梯度下降法调整参数,计算当前的各下载节点的参考内容分发值;
第一判断子单元,用于依次判断当前的某下载节点的参考内容分发值是否小于该下载节点在网络稳定下载时长内的下载量,如果是,减少该下载节点的竞价值,并将减少后的竞价值作为该下载节点的参考竞价值;
第二判断子单元,用于判断所述该下载节点的参考竞价值和其它所有当前的下载节点的初始竞价值之和是否小于请求节点单独下载当前的下载请求所请求的文件内容所需的费用,如果是,提高其它所有下载节点的竞价值,并将提高后的竞价值作为其它所有当前的下载节点的参考竞价值;
第三判断子单元,用于根据当前的各下载节点的参考内容分发值和参考竞价值计算当前的各下载节点的误差,判断当前的所有下载节点的误差之和是否小于服务器初始化设定的最大误差值,若是,则将当前的各下载节点的参考内容分发值确定为当前的各下载节点在本轮的最终内容分发值,否则令当前的各下载节点的参考内容分发值为初始内容分发值、当前的各下载节点的参考竞价值为初始竞价值,触发参考内容分发值确定子单元。
具体的,所述参考内容分发值确定子单元,可以用于:
根据当前的各下载节点的初始竞价值、当前的各下载节点的初始内容分发值和本轮的网络稳定下载时长,使用梯度下降法调整参数,计算当前的各下载节点参考内容分发值,包括:
初始赋值(k)λ(0)、(k)μ0 (0)和各下载节点对应的(k)μj (0);
基于当前的各下载节点的初始竞价值、当前的各下载节点的初始内容分发值和本轮的网络稳定下载时长,使用梯度下降法调整参数(k)λ(t)、(k)μ0 (t)、(k)μj (t),调整(k)λ(t)、(k)μ0 (t)、(k)μj (t)所采用的公式为:
其中(k)λ(t),(k)μ0 (t),(k)μj (t)表示在第k轮第t次迭代时拉格朗日函数中的参数,Δ(t,,j)是当前的下载节点j在第t次迭代时梯度下降的迭代步长,(k)cj (t)表示当前的下载节点j在第k轮第t次迭代时的内容分发值,(k)Ck表示在第k轮所有下载节点在网络稳定下载时长内可下载的最大内容量且rw,j、rl,j分别表示当前的下载节点j采用Wi-fi、4G接收的数据传输速率,(k)α、(k)β分别表示在第k轮下载节点j采用Wi-fi、4G下载数据占总下载数据的百分比,(k)pj (t)表示当前的下载节点j在第k轮第t次迭代时的竞价值,(k)Ps (t)表示服务器在第k轮第t次迭代时分发(k)Ck (t)愿意支付的总费用值;
基于(k)λ(t)、(k)μ0 (t)、(k)μj (t)和预定公式,计算当前的各下载节点参考内容分发值,所述预定公式包括:
其中,rw,j、rl,j分别表示当前的下载节点j采用Wi-fi、4G接收的数据传输速率,rwt,j表示当前的下载节点j采用Wi-fi发送数据的传输速率,(k)α、(k)β分别表示在第k轮下载节点j采用Wi-fi、4G下载数据占总下载数据的百分比,lw、hw分别表示Wi-fi数据包的长度和所述Wi-fi数据包的包头长度,ll、hl分别表示4G数据包的长度和所述4G数据包的包头长度,ewt,j表示当前的下载节点j采用Wi-fi传输的单位能耗,ewr,j表示当前的下载节点j采用Wi-fi接收的单位能耗,el,j表示当前的下载节点j采用4G下载的单位能耗。
具体的,所述第一判断子单元,可以用于:
根据以下公式,减少该下载节点的竞价值:
其中,(k)pd,j表示下载节点j所能接受的最低竞价值;
具体的,所述第二判断子单元,可以用于:
根据以下公式,提高其它所有下载节点的竞价值:
其中,(k)pd,s表示服务器所能接受的最低竞价值。
具体的,所述第三判断子单元,可以用于:
根据当前的各下载节点的参考内容分发值和参考竞价值计算当前的各下载节点的误差,当前的各下载节点的误差根据以下公式计算:
εj=(k)pj (t)*(k)Ej (t)-(k)pj (t-1)*(k)Ej (t-1),其中,(k)Ej (t)=(k)cj (t)*ej表示下载节点j在第k轮第t次迭代时预估的能耗,ej表示下载节点j的单位能耗。
本发明所述的一种移动Adhoc网络中协同下载的方法,提出了一种多轮的协同下载方法,在移动adhoc网络中基于请求节点和当前的各下载节点的相对位置,预估每轮的网络稳定下载时长,根据网络稳定下载时长进行内容分发,在这个时间内当前的所有下载节点不会由于移动离开协同下载网络,确保了当前的下载节点在网络稳定时间内下载的内容都能被请求节点接收到,与现有技术相比,避免了因下载节点移动离开网络时携带的信息量,造成资源浪费;另外,在确定当前的各下载节点的内容分发值时,还综合考虑了所有下载节点的竞价及其传输时的能耗。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例所提供的一种移动Adhoc网络中协同下载的方法的流程示意图;
图2为图1所示实施例中确定当前的各下载节点在本轮的最终内容分发值的方法的流程示意图;
图3为本发明实施例提供的一个具体实施例中Adhoc网络结构图;
图4为图3所示的一个具体实施例中各下载节点和请求节点的相对位置示意图;
图5为图3所示的一个具体实施例中第一轮各下载节点的参考内容分发值与迭代次数关系图;
图6为图3所示的一个具体实施例中第一轮各下载节点的参考竞价值与迭代次数关系图;
图7为本发明实施例提供的一种移动Adhoc网络中协同下载的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供了一种移动Adhoc网络中协同下载的方法,下面通过具体实施例,对本发明进行详细说明。
图1示出了本发明实施例提供的一种移动Adhoc网络中协同下载的方法的流程示意图。
如图1所示,本发明的实施例的一种移动Adhoc网络中协同下载的方法,应用于服务器,方法包括步骤:
S101,接收主动请求节点发送的针对于目标文件的下载请求;
S102,根据主动请求节点的位置和接收到的主动请求节点发送的针对于目标文件的下载请求,确定所述接收到的主动请求节点发送的针对于目标文件的下载请求所对应的从动请求节点;
具体的,根据主动请求节点的位置和接收到的主动请求节点发送的针对于目标文件的下载请求,确定所述接收到的主动请求节点发送的针对于目标文件的下载请求所对应的从动请求节点,包括:
根据主动请求节点的位置和接收到的主动请求节点发送的下载请求所请求的目标文件的文件内容,确定询问信息并发送给邻近的其它节点,所述邻近的其它节点为位于以主动请求节点为中心的预设范围内的其它节点,以使得其它节点基于所述询问信息判定自身是否需要接收到的主动请求节点发送的下载请求所请求的目标文件的文件内容,不需要则返回拒绝信息,需要则返回同意信息成为所述接收到的主动请求节点发送的针对于目标文件的下载请求所对应的从动请求节点。
在实际应用中,在接收到主动请求节点发送的针对于目标文件的下载请求后,服务器会根据主动求节点的位置,查找位于以主动请求节点为中心的预设范围内的其它节点,所述预设范围可以是服务器默认值,当然并不局限于此。根据该主动请求节点所请求的目标文件的文件内容,确定并发送询问信息给查找到的其它节点,如果有其它节点对该主动请求节点所请求的目标文件的文件内容感兴趣,则该节点返回同意信息给服务器成为所述接收到的主动请求节点发送的针对于目标文件下载请求所对应的从动请求节点,如果其它节点对该主动请求节点所请求的目标文件的文件内容不感兴趣,则发送拒绝信息给服务器拒绝成为从动请求节点。需要说明的是,在实际应用中,可以没有其它节点成为该主动请求节点所对应的从动请求节点,即没有其他节点对目标文件感兴趣;另外,为了描述方便,在下文的叙述中,将希望请求目标文件的节点统称为请求节点,其中,请求节点可以仅仅包括主动请求节点,或者,可以包括主动请求节点和从动请求节点。
S103,根据主动请求节点、从动请求节点的位置以及当前的下载请求所请求的目标文件,确定当前的下载请求所对应的下载节点,根据主动请求节点、从动请求节点和确定的下载节点,生成当前的下载请求所对应的Adhoc网络,所述Adhoc网络中包括至少一个下载节点;
具体的,根据主动请求节点、从动请求节点的位置以及当前的下载请求所请求的目标文件,确定当前的下载请求所对应的下载节点,包括:
根据主动请求节点、从动请求节点的位置和当前的下载请求所请求的目标文件的文件内容的数据量,确定询问信息并发送给各请求节点邻近的其它节点,所述各请求节点邻近的其它节点为位于以各请求节点为中心的预设范围内的其它节点,以使得其它节点基于所述询问信息判定自身是否愿意加入下载网络,拒绝则返回拒绝信息,同意则返回同意信息成为当前的下载请求所对应的下载节点。
在实际应用中,在确定了Adhoc网络中的从动请求节点或本轮下载请求的目标文件的文件内容后,服务器会根据所有请求节点的位置,查找位于以各请求节点位中心的预设范围内的其它节点,所述预设范围可以是服务器默认值,当然并不局限于此。根据当前的下载请求所请求的目标文件的文件内容的数据量,确定并发送询问信息Ask给查找到的其它节点,以使得其它节点基于所述询问信息判定自身是否愿意加入当前的下载请求所对应的Adhoc网络,拒绝则返回拒绝信息,同意则返回同意信息成为当前的下载请求所对应的下载节点。将主动请求节点、从动请求节点以及确定的下载节点生成当前的下载请求所对应的Adhoc网络,所述Adhoc网络中至少有一个下载节点。需要说明的是,本发明实施例所述的请求节点可以进行下载,也可以不进行下载,所述当前的下载请求所对应的Adhoc网络中,所有的请求节点和下载节点都有Wi-fi模块,所有的请求节点和下载节点既可以通过4G连接服务器,也可以通过Wi-fi连接服务器。
S104,获取当前的各下载节点的初始竞价值,并将当前的各下载节点的初始内容分发值均置为0;
S105,获取各请求节点和当前的各下载节点的位置信息,并利用所获取的位置信息,预估本轮的网络稳定下载时长;
具体的,获取各请求节点和当前的各下载节点的位置信息,包括:
获取各请求节点和当前的各下载节点基于GPS(GlobalPositionSystem,全球定位系统)定位后所上报的位置信息;
具体的,利用所获取的位置信息,预估本轮的网络稳定下载时长,包括;
根据各请求节点和当前的各下载节点的位置信息,预估各请求节点和当前的各下载节点的移动速度,并获得各请求节点到当前的各下载节点的相对移动速度;
基于所获得的相对移动速度和预定公式,得到本轮的网络稳定下载时长,其中,所述预定公式包括:
其中,Tsd表示网络稳定下载时长,δi表示请求节点i的通信范围,I表示请求节点集合,J表示下载节点集合,I∪J表示移动节点集合,vi,I∪J表示请求节点i到当前的各下载节点的相对移动速度,ζ(i,I∪J)表示请求节点i到请求节点i所对应的当前的各下载节点的距离,m表示请求节点的个数。
S106,根据当前的各下载节点的初始竞价值、当前的各个下载节点的初始内容分发值和本轮的网络稳定下载时长,通过多次迭代确定当前的各下载节点在本轮的最终内容分发值,并将确定的最终内容分发值发送给当前的各下载节点。
S107,在经过本轮的网络稳定下载时长后,获取当前的各下载节点在网络稳定下载时长时长内实际完成的内容下载量,判断所有当前的下载节点实际完成的总的内容下载量是否等于当前的下载请求所请求的文件内容的数据量,如果是,结束下载流程,如果否,确定未下载的所述目标文件的文件内容,将所确定的未下载的所述目标文件的文件内容作为下一轮下载请求的目标文件的文件内容,并继续执行S103,直到所述目标文件的内容全部下载完毕。
应用本发明实施例,对请求节点所请求的目标文件可以实现多轮的协同下载,在每一轮的协同下载过程中,基于移动adhoc网络中请求节点和当前的各下载节点的相对位置,预估每轮的网络稳定下载时长,根据网络稳定下载时长进行内容分发,在这个时间内当前的所有下载节点不会由于移动离开协同下载网络,确保了当前的下载节点在网络稳定时间内下载的内容都能被请求节点接收到,与现有技术相比,避免了因下载节点移动离开网络时携带的信息量,造成资源浪费;另外,在确定当前的各下载节点的内容分发值时,还综合考虑了所有下载节点的竞价及其传输时的能耗。
参见图2,图2为图1所示实施例中确定当前的各下载节点在本轮的最终内容分发值的方法的流程示意图。
如图2所示,根据当前的各下载节点的初始竞价值、当前的各个下载节点的初始内容分发值和本轮的网络稳定下载时长,通过多次迭代确定当前的各下载节点在本轮的最终内容分发值,包括:
S201,根据当前的各下载节点的初始竞价值、当前的各下载节点的初始内容分发值和本轮的网络稳定下载时长,使用梯度下降法调整参数,计算当前的各下载节点的参考内容分发值;
其中,根据当前的各下载节点的初始竞价值、当前的各下载节点的初始内容分发值和本轮的网络稳定下载时长,使用梯度下降法调整参数,计算当前的各下载节点参考内容分发值,包括:
初始赋值(k)λ(0)、(k)μ0 (0)和各下载节点对应的(k)μj (0);
基于当前的各下载节点的初始竞价值、当前的各下载节点的初始内容分发值和本轮的网络稳定下载时长,使用梯度下降法调整参数(k)λ(t)、(k)μ0 (t)、(k)μj (t),调整(k)λ(t)、(k)μ0 (t)、(k)μj (t)所采用的公式为:
其中(k)λ(t),(k)μ0 (t),(k)μj (t)表示在第k轮第t次迭代时拉格朗日函数中的参数,Δ(t,,j)是当前的下载节点j在第t次迭代时梯度下降的迭代步长,(k)cj (t)表示当前的下载节点j在第k轮第t次迭代时的内容分发值,(k)Ck表示在第k轮所有下载节点在网络稳定下载时长内可下载的最大内容量且rw,j、rl,j分别表示当前的下载节点j采用Wi-fi、4G接收的数据传输速率,(k)α、(k)β分别表示在第k轮下载节点j采用Wi-fi、4G下载数据占总下载数据的百分比,(k)pj (t)表示当前的下载节点j在第k轮第t次迭代时的竞价值,(k)Ps (t)表示服务器在第k轮第t次迭代时分发(k)Ck (t)愿意支付的总费用值;
基于(k)λ(t)、(k)μ0 (t)、(k)μj (t)和预定公式,计算当前的各下载节点参考内容分发值,所述预定公式包括:
其中,rw,j、rl,j分别表示当前的下载节点j采用Wi-fi、4G接收的数据传输速率,rwt,j表示当前的下载节点j采用Wi-fi发送数据的传输速率,(k)α、(k)β分别表示在第k轮下载节点j采用Wi-fi、4G下载数据占总下载数据的百分比,lw、hw分别表示Wi-fi数据包的长度和所述Wi-fi数据包的包头长度,ll、hl分别表示4G数据包的长度和所述4G数据包的包头长度,ewt,j表示当前的下载节点j采用Wi-fi传输的单位能耗,ewr,j表示当前的下载节点j采用Wi-fi接收的单位能耗,el,j表示当前的下载节点j采用4G下载的单位能耗。
S202,依次判断当前的下载节点的参考内容分发值是否小于该下载节点在网络稳定下载时长内的下载量,如果是,减少该下载节点的竞价值,并将减少后的竞价值作为该下载节点的参考竞价值;
具体的,减少该下载节点的竞价值,包括:
根据以下公式,减少该下载节点的竞价值:
S203,判断所述该下载节点的参考竞价值和其它所有当前的下载节点的初始竞价值之和是否小于请求节点单独下载当前的下载请求所请求的文件内容所需的费用,如果是,提高其它所有下载节点的竞价值,并将提高后的竞价值作为其它所有当前的下载节点的参考竞价值;
具体的,提高其它所有下载节点的竞价值,包括:
根据以下公式,提高其它所有下载节点的竞价值:
需要说明的是,在依次判断当前的下载节点的参考内容分发值是否小于该下载节点在网络稳定下载时长内的下载量时,如果所有当前的下载节点的参考内容分发值均小于所述该下载节点在网络稳定下载时长内的下载量,那么需要减少所有当前的下载节点的竞价值,这时,可以不需要进行S203判断所述该下载节点的参考竞价值和其它所有当前的下载节点的初始竞价值之和是否小于请求节点单独下载当前的下载请求所请求的文件内容所需的费用的步骤。
S204,根据当前的各下载节点的参考内容分发值和参考竞价值计算当前的各下载节点的误差,判断当前的所有下载节点的误差之和是否小于服务器初始化设定的最大误差值,若是,执行S205;否则,执行S206;
S205,将当前的各下载节点的参考内容分发值确定为当前的各下载节点在本轮的最终内容分发值;
S206,令当前的各下载节点的参考内容分发值为初始内容分发值、当前的各下载节点的参考竞价值为初始竞价值,并返回执行S201。
具体的,根据当前的各下载节点的参考内容分发值和参考竞价值计算当前的各下载节点的误差,包括:
当前的各下载节点的误差根据以下公式计算:
εj=(k)pj (t)*(k)Ej (t)-(k)pj (t-1)*(k)Ej (t-1),其中,(k)Ej (t)=(k)cj (t)*ej表示下载节点j在第k轮第t次迭代时预估的能耗,ej表示下载节点j的单位能耗。
为了方便理解,下面以一个具体的实施例进行说明。
参见图3,图3为本发明实施例提供的一个具体实施例中Adhoc网络结构图。在一个具体实施例中,服务器接收到主动请求节点DN0发送的针对于目标文件的下载请求,所述目标文件的文件内容的数据量C=1024MB。根据主动求节点的位置,查找到位于以请求节点为中心的50m范围内的其它节点有DN1、DN2、DN3、DN4、DN5、DN6,根据主动请求节点DN0所请求的目标文件的文件内容,确定并发送询问信息给节点DN1、DN2、DN3、DN4、DN5、DN6。节点DN1、DN2、DN3、DN4、DN5、DN6均返回拒绝信息给服务器拒绝成为从动请求节点,所以该Adhoc网络中没有从动请求节点。
在确定Adhoc网络中的从动请求节点后,服务器会根据请求节点DN0的位置,继续查找到位于以请求节点位DN0中心的50m范围内的其它节点有DN1、DN2、DN3、DN4、DN5、DN6,根据当前的下载请求所请求的目标文件的文件内容的数据量,确定并发送询问信息Ask<Pj,max,cj>给节点DN1、DN2、DN3、DN4、DN5、DN6,Pj,max为服务器愿意支付给下载节点j的费用最大值,cj为当前的下载请求所请求的目标文件的数据量。其中节点DN6返回拒绝信息Reject拒绝加入当前的下载请求所对应的Adhoc网络,节点DN1、DN2、DN3、DN4、DN5返回同意信息Accept给服务器成为当前的下载请求所对应的Adhoc网络中的下载节点。
获取当前的各下载节点的初始竞价值(1)pDN1 (0)=0.35,(1)pDN2 (0)=0.4,(1)pDN3 (0)=0.45,(1)pDN4 (0)=0.50,(1)pDN6 (0)=0.55,并将当前的各下载节点的初始内容分发值均置为0,即当前的各下载节点的初始内容分发值分别为(1)CDN1 (0)=0,(1)CDN2 (0)=0,(1)CDN,3 (0)=0,(1)CDN4 0)=0,(1)CDN5 (0)=0。
参见图4,图4为图3所示的一个具体实施例中各下载节点和请求节点的相对位置示意图,其中白点代表请求节点,黑点代表下载节点,以请求节点DN0为圆心、50m为半径的区域为请求节点DN0的通信范围。以请求节点DN0所在位置为原点建立坐标系,单位为m,根据获取的请求节点和当前的各下载节点基于GPS定位后所上报的位置信息,可以得到各下载节点的坐标,分别为DN1(-10,0)、DN2(10,0)、DN3(0,30)、DN4(0,-20)、DN5(0,-30)。根据请求节点DN0和当前的各下载节点DN1、DN2、DN3、DN4、DN5、DN6的位置信息,预估请求节点和当前的各下载节点的移动速度,并获得请求节点到当前的各下载节点的相对移动速度,假设请求节点到当前的各下载节点的相对移动速度均为4m/s。基于所获得的相对移动速度和预定公式,计算得到本轮的网络稳定下载时长Tsd=5s。
当t=0时,初始赋值(1)λ(0)=1,(1)μ0 (0)=1,(1)μj (0)=1,并且令(k)Δ(t,,j)=0.01/t,假设当前所有下载节点的平均下载速率rj为6.75MB/s,所以本轮所有下载节点在网络稳定下载时长内可下载的最大内容量为(1)C1=∑rjTsd=168.75MB。
根据获取的当前的各下载节点的初始竞价值(1)pDN1 (0)=0.35,(1)pDN2 (0)=0.4,(1)pDN3 (0)=0.45,(1)pDN4 (0)=0.50,(1)pDN6 (0)=0.55,当前的各下载节点的初始内容分发值本轮的网络稳定下载时长Tsd=5s,当前的各下载节点的初始内容分发值(1)CDN1 (0)=0,(1)CDN2 (0)=0,(1)CDN,3 (0)=0,(1)CDN4 0)=0,(1)CDN5 (0)=0,根据以下公式运用梯度下降法调整参数,计算得到调整后的参数(1)λ(0),(1)μ0 (1),(1)μj (1)。调整(k)λ(t)、(k)μ0 (t)、(k)μj (t)所采用的公式为:
基于调整后的参数(1)λ(0),(1)μ0 (1),(1)μj (1),利用以下公式计算当前的各下载节点参考内容分发值:
计算获得到当前的各下载节点参考内容分发值为:(1)CDN1 (1)=11.29,(1)CDN2 (1)=9.20,(1)CDN3 (1)=9.32,(1)CDN4 (1)=7.73,(1)CDN5 (1)=6.43。
依次判断当前的下载节点的参考内容分发值是否小于该下载节点在网络稳定下载时长内的下载量,下载节点DN1的参考内容分发值(1)CDN1 (1)=11.29,小于该下载节点在网络稳定下载时长内的下载量rjTsd=33.75MB,需要减少下载节点DN1的竞价值,则根据公式计算得到下载节点DN1的参考竞价值为(1)pDN1 (1)=0.260,同样判断下载节点DN2、DN3、DN4、DN5的参考内容分发值都小于该下载节点在网络稳定下载时长内的下载量rjTsd=33.75MB,所以计算得到下载节点DN2、DN3、DN4、DN5的参考竞价值分别为(1)pDN2 (1)=0.308,(1)pDN3 (1)=0.359,(1)pDN4 (1)=0.409,(1)pDN6 (1)=0.460。
在计算得到当前的下载节点DN1DN2、DN3、DN4、DN5的参考内容分发值和参考竞价值后,根据公式εj=(1)pj (1)*(1)Ej (1)-(1)pj (0)*(1)Ej (0),计算各下载节点的误差,从而获得当前的所有下载节点的误差之和。假设服务器初始化设定的最大误差值ε=1,计算获得的第一次迭代时当前的所有下载节点的误差之和大于服务器初始化设定的最大误差值,所以将当前的各下载节点的参考内容分发值(1)CDN1 (1)=11.29,(1)CDN2 (1)=9.20,(1)CDN3 (1)=9.32,(1)CDN4 (1)=7.73,(1)CDN5 (1)=6.43为初始内容分发值,当前的各下载节点的参考竞价值为初始竞价值(1)pDN1 (1)=0.260,(1)pDN2 (1)=0.308,(1)pDN3 (1)=0.359,(1)pDN4 (1)=0.409,(1)pDN6 (1)=0.460,进行根据当前的各下载节点的初始竞价值、当前的各下载节点的初始内容分发值和本轮的网络稳定下载时长,使用梯度下降法调整参数,计算当前的各下载节点的参考内容分发值的迭代过程,直到当前的所有下载节点的误差之和小于服务器初始化设定的最大误差值ε。
参见图5和图6,图5为图3所示的一个具体实施例中第一轮各下载节点的参考内容分发值与迭代次数关系图,其中横轴代表迭代次数,纵轴代表参考内容分发值,单位:MB;图6为图3所示的一个具体实施例中第一轮各下载节点的参考竞价值与迭代次数关系图,其中横轴代表迭代次数,纵轴代表参考竞价值。在本具体实施例中,各下载节点迭代14次后的参考竞价值分别为(1)PDN1 (14)=0.453,(1)PDN2 (14)=0.438,(1)PDN3 (14)=0.265,(1)PDN4 (14)=0.252,(1)PDN5 (14)=0.252,参考内容分发值分别为(1)CDN1 (14)=34.66,(1)CDN1 (14)=33.14,(1)CDN1 (14)=62.18,(1)CDN1 (14)=61.94,(1)CDN1 (14)=60.06,各下载节点在15次迭代后的参考竞价值分别为(1)PDN1 (15)=0.459,(1)PDN2 (15)=0.432,(1)PDN3 (15)=0.271,(1)PDN4 (15)=0.259,(1)PDN5 (15)=0.245,参考内容分发值分别为(1)CDN1 (15)=34.31,(1)CDN1 (15)=34.55,(1)CDN1 (15)=64.07,(1)CDN1 (15)=63.93,(1)CDN1 (15)=58.34。在第15次迭代时,计算获得所有当前的所有下载节点的误差之和为0.633,小于服务器初始化设定的最大误差值ε,所以将当前的各下载节点的参考内容分发值(1)CDN1 (15)=34.31,(1)CDN1 (15)=34.55,(1)CDN1 (15)=64.07,(1)CDN1 (15)=63.93,(1)CDN1 (15)=58.34确定为当前的各下载节点在本轮的最终内容分发值,并将确定的最终内容分发值发送给当前的各下载节点进行下载。
在经过本轮的网络稳定下载时长Tsd=5s后,获取当前的各下载节点在网络稳定下载时长内实际完成的内容下载量,假设当前的所有下载节点在Tsd=5s内实际完成的内容下载量均为50MB,那么所有当前的下载节点实际完成的总的内容下载量为250MB,小于当前的下载请求所请求的文件内容的数据量1024MB,那么服务器确定未下载的所述目标文件的文件内容的数据量为774MB,将所确定的未下载的所述目标文件的文件内容作为下一轮下载请求的目标文件的文件内容,继续执行根据请求节点DN0以及当前的下载请求所请求的目标文件,确定当前的下载请求所对应的Adhoc网络中的下载节点,以进行下一轮下载,直到将数据量为1024MB的所述目标文件的文件内容全部下载完毕。
参见图7,图7为本发明实施例提供的一种移动Adhoc网络中协同下载的装置的结构示意图,应用于服务器,包括:
下载请求接收单元701,用于接收主动请求节点发送的针对于目标文件的下载请求;
从动请求节点确定单元702,用于根据主动请求节点的位置和接收到的主动请求节点发送的针对于目标文件的下载请求,确定所述接收到的主动请求节点发送的针对于目标文件的下载请求所对应的从动请求节点;
Adhoc网络生成单元703,用于根据主动请求节点、从动请求节点的位置以及当前的下载请求所请求的目标文件,确定当前的下载请求所对应的下载节点,根据主动请求节点、从动请求节点和确定的下载节点,生成当前的下载请求所对应的Adhoc网络,所述Adhoc网络中包括至少一个下载节点;
初始信息确定单元704,用于获取当前的各下载节点的初始竞价值,并将当前的各下载节点的初始内容分发值均置为0;
网络稳定下载时长确定单元705,用于获取各请求节点和当前的各下载节点的位置信息,并利用所获取的位置信息,预估本轮的网络稳定下载时长;
最终内容分发值确定发送单元706,用于根据当前的各下载节点的初始竞价值、当前的各个下载节点的初始内容分发值和本轮的网络稳定下载时长,通过多次迭代确定当前的各下载节点在本轮的最终内容分发值,并将确定的最终内容分发值发送给当前的各下载节点;
判断单元707,用于在经过本轮的网络稳定下载时长后,获取当前的各下载节点在网络稳定下载时长内实际完成的内容下载量,判断所有当前的下载节点实际完成的总的内容下载量是否等于当前的下载请求所请求的文件内容的数据量,如果是,结束下载流程,如果否,确定未下载的所述目标文件的文件内容,将所确定的未下载的所述目标文件的文件内容作为下一轮下载请求的目标文件的文件内容,触发Adhoc网络生成单元703,以进行下一轮下载,直到所述目标文件的内容全部下载完毕。
具体的,本发明实施例所示的从动请求节点确定单元702,可以用于:
根据主动请求节点的位置和接收到的主动请求节点发送的下载请求所请求的目标文件的文件内容,确定询问信息并发送给邻近的其它节点,所述邻近的其它节点为位于以主动请求节点为中心的预设范围内的其它节点,以使得其它节点基于所述询问信息判定自身是否需要接收到的主动请求节点发送的下载请求所请求的目标文件的文件内容,不需要则返回拒绝信息,需要则返回同意信息成为所述接收到的主动请求节点发送的针对于目标文件的下载请求所对应的从动请求节点。
具体的,本发明实施例所示的Adhoc网络生成单元703,可以用于:
根据主动请求节点、从动请求节点的位置和当前的下载请求所请求的目标文件的文件内容的数据量,确定询问信息并发送给各请求节点邻近的其它节点,所述各请求节点邻近的其它节点为位于以各请求节点为中心的预设范围内的其它节点,以使得其它节点基于所述询问信息判定自身是否愿意加入下载网络,拒绝则返回拒绝信息,同意则返回同意信息成为当前的下载请求所对应的下载节点。
具体的,本发明实施例所示的网络稳定下载时长确定单元705,可以包括:
位置信息获取子单元(图7中未示出),用于获取各请求节点和当前的各下载节点基于GPS定位后所上报的位置信息;
相对移动速度获得子单元(图7中未示出),用于根据各请求节点和当前的各下载节点的位置信息,预估各请求节点和当前的各下载节点的移动速度,并获得各请求节点到当前的各下载节点的相对移动速度;
网络稳定下载时长计算子单元(图7中未示出),用于基于所获得的相对移动速度和预定公式,计算本轮的网络稳定下载时长,其中,所述预定公式包括:
其中,Tsd表示网络稳定下载时长,δi表示请求节点i的通信范围,I表示请求节点集合,J表示下载节点集合,I∪J表示移动节点集合,vi,I∪J表示请求节点i到当前的各下载节点的相对移动速度,ζ(i,I∪J)表示请求节点i到当前的各下载节点的距离,m表示请求节点的个数。
具体的,本发明实施例所示的最终内容分发值确定单元706,可以包括:
参考内容分发值确定子单元(图7中未示出),用于根据当前的各下载节点的初始竞价值、当前的各下载节点的初始内容分发值和本轮的网络稳定下载时长,使用梯度下降法调整参数,计算当前的各下载节点的参考内容分发值;
第一判断子单元(图7中未示出),用于依次判断当前的某下载节点的参考内容分发值是否小于该下载节点在网络稳定下载时长内的下载量,如果是,减少该下载节点的竞价值,并将减少后的竞价值作为该下载节点的参考竞价值;
第二判断子单元(图7中未示出),用于判断所述该下载节点的参考竞价值和其它所有当前的下载节点的初始竞价值之和是否小于请求节点单独下载当前的下载请求所请求的文件内容所需的费用,如果是,提高其它所有下载节点的竞价值,并将提高后的竞价值作为其它所有当前的下载节点的参考竞价值;
第三判断子单元(图7中未示出),用于根据当前的各下载节点的参考内容分发值和参考竞价值计算当前的各下载节点的误差,判断当前的所有下载节点的误差之和是否小于服务器初始化设定的最大误差值,若是,则将当前的各下载节点的参考内容分发值确定为当前的各下载节点在本轮的最终内容分发值,否则令当前的各下载节点的参考内容分发值为初始内容分发值、当前的各下载节点的参考竞价值为初始竞价值,触发参考内容分发值确定子单元。
具体的,本发明实施例所示的参考内容分发值确定子单元(图7中未示出),可以用于:
根据当前的各下载节点的初始竞价值、当前的各下载节点的初始内容分发值和本轮的网络稳定下载时长,使用梯度下降法调整参数,计算当前的各下载节点参考内容分发值,包括:
初始赋值(k)λ(0)、(k)μ0 (0)和各下载节点对应的(k)μj (0);
基于当前的各下载节点的初始竞价值、当前的各下载节点的初始内容分发值和本轮的网络稳定下载时长,使用梯度下降法调整参数(k)λ(t)、(k)μ0 (t)、(k)μj (t),调整(k)λ(t)、(k)μ0 (t)、(k)μj (t)所采用的公式为:
其中(k)λ(t),(k)μ0 (t),(k)μj (t)表示在第k轮第t次迭代时拉格朗日函数中的参数,Δ(t,,j)是当前的下载节点j在第t次迭代时梯度下降的迭代步长,(k)cj (t)表示当前的下载节点j在第k轮第t次迭代时的内容分发值,(k)Ck表示在第k轮所有下载节点在网络稳定下载时长内可下载的最大内容量且rw,j、rl,j分别表示当前的下载节点j采用Wi-fi、4G接收的数据传输速率,(k)α、(k)β分别表示在第k轮下载节点j采用Wi-fi、4G下载数据占总下载数据的百分比,(k)pj (t)表示当前的下载节点j在第k轮第t次迭代时的竞价值,(k)Ps (t)表示服务器在第k轮第t次迭代时分发(k)Ck (t)愿意支付的总费用值;
基于(k)λ(t)、(k)μ0 (t)、(k)μj (t)和预定公式,计算当前的各下载节点参考内容分发值,所述预定公式包括:
其中,rw,j、rl,j分别表示当前的下载节点j采用Wi-fi、4G接收的数据传输速率,rwt,j表示当前的下载节点j采用Wi-fi发送数据的传输速率,(k)α、(k)β分别表示在第k轮下载节点j采用Wi-fi、4G下载数据占总下载数据的百分比,lw、hw分别表示Wi-fi数据包的长度和所述Wi-fi数据包的包头长度,ll、hl分别表示4G数据包的长度和所述4G数据包的包头长度,ewt,j表示当前的下载节点j采用Wi-fi传输的单位能耗,ewr,j表示当前的下载节点j采用Wi-fi接收的单位能耗,el,j表示当前的下载节点j采用4G下载的单位能耗。
具体的,本发明实施例所示的第一判断子单元(图7中未示出),可以用于:
根据以下公式,减少该下载节点的竞价值:
具体的,本发明实施例所示的第二判断子单元(图7中未示出),可以用于:
根据以下公式,提高其它所有下载节点的竞价值:
具体的,本发明实施例所示的第三判断子单元(图7中未示出),可以用于:
根据当前的各下载节点的参考内容分发值和参考竞价值计算当前的各下载节点的误差,当前的各下载节点的误差根据以下公式计算:
εj=(k)pj (t)*(k)Ej (t)-(k)pj (t-1)*(k)Ej (t-1),其中,(k)Ej (t)=(k)cj (t)*ej表示下载节点j在第k轮第t次迭代时预估的能耗,ej表示下载节点j的单位能耗。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
应用本发明实施例所示的装置,对请求节点所请求的目标文件可以实现多轮的协同下载,在每一轮的协同下载过程中,基于移动adhoc网络中请求节点和当前的各下载节点的相对位置,预估每轮的网络稳定下载时长,根据网络稳定下载时长进行内容分发,在这个时间内当前的所有下载节点不会由于移动离开协同下载网络,确保了当前的下载节点在网络稳定时间内下载的内容都能被请求节点接收到,与现有技术相比,避免了因下载节点移动离开网络时携带的信息量,造成资源浪费;另外,在确定当前的各下载节点的内容分发值时,还综合考虑了所有下载节点的竞价及其传输时的能耗。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种移动Adhoc网络中协同下载的方法,其特征在于,应用于服务器,所述方法包括:
接收主动请求节点发送的针对于目标文件的下载请求;
根据主动请求节点的位置和接收到的主动请求节点发送的针对于目标文件的下载请求,确定所述接收到的主动请求节点发送的针对于目标文件的下载请求所对应的从动请求节点;
根据主动请求节点、从动请求节点的位置以及当前的下载请求所请求的目标文件,确定当前的下载请求所对应的下载节点,根据主动请求节点、从动请求节点和确定的下载节点,生成当前的下载请求所对应的Adhoc网络,所述Adhoc网络中包括至少一个下载节点;
获取当前的各下载节点的初始竞价值,并将当前的各下载节点的初始内容分发值均置为0;
获取各请求节点和当前的各下载节点的位置信息,并利用所获取的位置信息,预估本轮的网络稳定下载时长;
根据当前的各下载节点的初始竞价值、当前的各个下载节点的初始内容分发值和本轮的网络稳定下载时长,通过多次迭代确定当前的各下载节点在本轮的最终内容分发值,并将确定的最终内容分发值发送给当前的各下载节点;
在经过本轮的网络稳定下载时长后,获取当前的各下载节点在网络稳定下载时长内实际完成的内容下载量,判断所有当前的下载节点实际完成的总的内容下载量是否等于当前的下载请求所请求的文件内容的数据量,如果是,结束下载流程,如果否,确定未下载的所述目标文件的文件内容,将所确定的未下载的所述目标文件的文件内容作为下一轮下载请求的目标文件的文件内容,并继续执行根据主动请求节点、从动请求节点的位置以及当前的下载请求所请求的目标文件,确定当前的下载请求所对应的下载节点的步骤,以进行下一轮下载,直到所述目标文件的内容全部下载完毕。
2.根据权利要求1所述的方法,其特征在于,所述根据主动请求节点的位置和接收到的主动请求节点发送的针对于目标文件的下载请求,确定所述接收到的主动请求节点发送的针对于目标文件的下载请求所对应的从动请求节点,包括:
根据主动请求节点的位置和接收到的主动请求节点发送的下载请求所请求的目标文件的文件内容,确定询问信息并发送给邻近的其它节点,所述邻近的其它节点为位于以主动请求节点为中心的预设范围内的其它节点,以使得其它节点基于所述询问信息判定自身是否需要接收到的主动请求节点发送的下载请求所请求的目标文件的文件内容,不需要则返回拒绝信息,需要则返回同意信息成为所述接收到的主动请求节点发送的针对于目标文件的下载请求所对应的从动请求节点。
3.根据权利要求1或2所述的方法,其特征在于,所述根据主动请求节点、从动请求节点的位置以及当前的下载请求所请求的目标文件,确定当前的下载请求所对应的下载节点,包括:
根据主动请求节点、从动请求节点的位置和当前的下载请求所请求的目标文件的文件内容的数据量,确定询问信息并发送给各请求节点邻近的其它节点,所述各请求节点邻近的其它节点为位于以各请求节点为中心的预设范围内的其它节点,以使得其它节点基于所述询问信息判定自身是否愿意加入下载网络,拒绝则返回拒绝信息,同意则返回同意信息成为当前的下载请求所对应的下载节点。
4.根据权利要求1所述的方法,其特征在于,所述获取各请求节点和当前的各下载节点的位置信息,包括:
获取各请求节点和当前的各下载节点基于全球定位系统GPS定位后所上报的位置信息;
所述利用所获取的位置信息,预估本轮的网络稳定下载时长,包括;
根据各请求节点和当前的各下载节点的位置信息,预估各请求节点和当前的各下载节点的移动速度,并获得各请求节点到当前的各下载节点的相对移动速度;
基于所获得的相对移动速度和预定公式,计算本轮的网络稳定下载长,其中,所述预定公式包括:
其中,Tsd表示网络稳定下载时长,δi表示请求节点i的通信范围,I表示请求节点集合,J表示下载节点集合,I∪J表示移动节点集合,vi,I∪J表示请求节点i到当前的各下载节点的相对移动速度,ζ(i,I∪J)表示请求节点i到当前的各下载节点的距离,m表示请求节点的个数。
5.根据权利要求1所述的方法,其特征在于,所述根据当前的各下载节点的初始竞价值、当前的各个下载节点的初始内容分发值和本轮的网络稳定下载时长,通过多次迭代确定当前的各下载节点在本轮的最终内容分发值,包括:
根据当前的各下载节点的初始竞价值、当前的各下载节点的初始内容分发值和本轮的网络稳定下载时长,使用梯度下降法调整参数,计算当前的各下载节点的参考内容分发值;
依次判断当前的某下载节点的参考内容分发值是否小于该下载节点在网络稳定下载时长内的下载量,如果是,减少该下载节点的竞价值,并将减少后的竞价值作为该下载节点的参考竞价值;
判断所述该下载节点的参考竞价值和其它所有当前的下载节点的初始竞价值之和是否小于请求节点单独下载当前的下载请求所请求的文件内容所需的费用,如果是,提高其它所有下载节点的竞价值,并将提高后的竞价值作为其它所有当前的下载节点的参考竞价值;
根据当前的各下载节点的参考内容分发值和参考竞价值计算当前的各下载节点的误差,判断当前的所有下载节点的误差之和是否小于服务器初始化设定的最大误差值,若是,则将当前的各下载节点的参考内容分发值确定为当前的各下载节点在本轮的最终内容分发值,否则令当前的各下载节点的参考内容分发值为初始内容分发值、当前的各下载节点的参考竞价值为初始竞价值,继续执行根据当前的各下载节点的初始竞价值、当前的各下载节点的初始内容分发值和本轮的网络稳定下载时长,使用梯度下降法调整参数,计算当前的各下载节点的参考内容分发值的步骤。
6.根据权利要求5所述的方法,其特征在于,所述根据当前的各下载节点的初始竞价值、当前的各下载节点的初始内容分发值和本轮的网络稳定下载时长,使用梯度下降法调整参数,计算当前的各下载节点参考内容分发值,包括:
初始赋值(k)λ(0)、(k)μ0 (0)和各下载节点对应的(k)μj (0);
基于当前的各下载节点的初始竞价值、当前的各下载节点的初始内容分发值和本轮的网络稳定下载时长,使用梯度下降法调整参数(k)λ(t)、(k)μ0 (t)、(k)μj (t),调整(k)λ(t)、(k)μ0 (t)、(k)μj (t)所采用的公式为:
其中(k)λ(t),(k)μ0 (t),(k)μj (t)表示在第k轮第t次迭代时拉格朗日函数中的参数,Δ(t,,j)是当前的下载节点j在第t次迭代时梯度下降的迭代步长,(k)cj (t)表示当前的下载节点j在第k轮第t次迭代时的内容分发值,(k)Ck表示在第k轮所有下载节点在网络稳定下载时长内可下载的最大内容量且rw,j、rl,j分别表示当前的下载节点j采用Wi-fi、4G接收的数据传输速率,(k)α、(k)β分别表示在第k轮下载节点j采用Wi-fi、4G下载数据占总下载数据的百分比,(k)pj (t)表示当前的下载节点j在第k轮第t次迭代时的竞价值,(k)Ps (t)表示服务器在第k轮第t次迭代时分发(k)Ck (t)愿意支付的总费用值;
基于(k)λ(t)、(k)μ0 (t)、(k)μj (t)和预定公式,计算当前的各下载节点参考内容分发值,所述预定公式包括:
其中,rw,j、rl,j分别表示当前的下载节点j采用Wi-fi、4G接收的数据传输速率,rwt,j表示当前的下载节点j采用Wi-fi发送数据的传输速率,(k)α、(k)β分别表示在第k轮下载节点j采用Wi-fi、4G下载数据占总下载数据的百分比,lw、hw分别表示Wi-fi数据包的长度和所述Wi-fi数据包的包头长度,ll、hl分别表示4G数据包的长度和所述4G数据包的包头长度,ewt,j表示当前的下载节点j采用Wi-fi传输的单位能耗,ewr,j表示当前的下载节点j采用Wi-fi接收的单位能耗,el,j表示当前的下载节点j采用4G下载的单位能耗。
7.根据权利要求5所述的方法,其特征在于,所述减少该下载节点的竞价值,包括:
根据以下公式,减少该下载节点的竞价值:
其中,(k)pd,j表示下载节点j所能接受的最低竞价值。
8.根据权利要求5所述的方法,其特征在于,所述提高其它所有下载节点的竞价值,包括:
根据以下公式,提高其它所有下载节点的竞价值:
其中,(k)pd,s表示服务器所能接受的最低竞价值。
9.根据权利要求5所述的方法,其特征在于,所述根据当前的各下载节点的参考内容分发值和参考竞价值计算当前的各下载节点的误差,包括:
当前的各下载节点的误差根据以下公式计算:
εj=(k)pj (t)*(k)Ej (t)-(k)pj (t-1)*(k)Ej (t-1),其中,(k)Ej (t)=(k)cj (t)*ej表示下载节点j在第k轮第t次迭代时预估的能耗,ej表示下载节点j的单位能耗。
10.一种移动Adhoc网络中协同下载的装置,其特征在于,应用于服务器,所述装置包括:
下载请求接收单元,用于接收主动请求节点发送的针对于目标文件的下载请求;
从动请求节点确定单元,用于根据主动请求节点的位置和接收到的主动请求节点发送的针对于目标文件的下载请求,确定所述接收到的主动请求节点发送的针对于目标文件下载请求所对应的从动请求节点;
Adhoc网络生成单元,用于根据主动请求节点、从动请求节点的位置以及当前的下载请求所请求的目标文件,确定当前的下载请求所对应的下载节点,根据主动请求节点、从动请求节点和确定的下载节点,生成当前的下载请求所对应的Adhoc网络,所述Adhoc网络中包括至少一个下载节点;
初始信息确定单元,用于获取当前的各下载节点的初始竞价值,并将当前的各下载节点的初始内容分发值均置为0;
网络稳定下载时长确定单元,用于获取各请求节点和当前的各下载节点的位置信息,并利用所获取的位置信息,预估本轮的网络稳定下载时长;
最终内容分发值确定发送单元,用于根据当前的各下载节点的初始竞价值、当前的各个下载节点的初始内容分发值和本轮的网络稳定下载时长,通过多次迭代确定当前的各下载节点在本轮的最终内容分发值,并将确定的最终内容分发值发送给当前的各下载节点;
判断单元,用于在经过本轮的网络稳定下载时长后,获取当前的各下载节点在网络稳定下载时长内实际完成的内容下载量,判断所有当前的下载节点实际完成的总的内容下载量是否等于当前的下载请求所请求的文件内容的数据量,如果是,结束下载流程,如果否,确定未下载的所述目标文件的文件内容,将所确定的未下载的所述目标文件的文件内容作为下一轮下载请求的目标文件的文件内容,触发下载节点确定单元,以进行下一轮下载,直到所述目标文件的内容全部下载完毕。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610127986.8A CN105812455B (zh) | 2016-03-07 | 2016-03-07 | 一种移动Ad hoc网络中协同下载的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610127986.8A CN105812455B (zh) | 2016-03-07 | 2016-03-07 | 一种移动Ad hoc网络中协同下载的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105812455A true CN105812455A (zh) | 2016-07-27 |
CN105812455B CN105812455B (zh) | 2018-11-06 |
Family
ID=56467788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610127986.8A Active CN105812455B (zh) | 2016-03-07 | 2016-03-07 | 一种移动Ad hoc网络中协同下载的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105812455B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106936913A (zh) * | 2017-03-16 | 2017-07-07 | 宿州学院 | 一种基于节点位移和lru记录的缓存更新方法及网络 |
CN113709809A (zh) * | 2021-08-16 | 2021-11-26 | 电子科技大学 | 一种基于协同通信的移动自组网广播方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110060798A1 (en) * | 2009-09-07 | 2011-03-10 | Samsung Electronics Co., Ltd. | Terminal, seed server, and tracker server for reducing delay in streaming service |
CN102223292A (zh) * | 2010-04-14 | 2011-10-19 | 华为技术有限公司 | 一种节点选择方法及网络设备、系统 |
CN102457564A (zh) * | 2010-10-28 | 2012-05-16 | 华为技术有限公司 | 点对点网络的实时流媒体下载方法及系统 |
CN103188279A (zh) * | 2011-12-27 | 2013-07-03 | 中国电信股份有限公司 | 通过对等网络从多个邻居节点下载文件的方法和装置 |
CN103957269A (zh) * | 2014-05-08 | 2014-07-30 | 中国联合网络通信集团有限公司 | 点对点p2p网络节点选择方法及点对点p2p重定向服务器 |
CN104158904A (zh) * | 2014-08-28 | 2014-11-19 | 重庆邮电大学 | 一种云辅助移动p2p网络协同下载方法 |
CN104618447A (zh) * | 2014-12-31 | 2015-05-13 | 北京邮电大学 | 一种文件协同下载方法及系统 |
-
2016
- 2016-03-07 CN CN201610127986.8A patent/CN105812455B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110060798A1 (en) * | 2009-09-07 | 2011-03-10 | Samsung Electronics Co., Ltd. | Terminal, seed server, and tracker server for reducing delay in streaming service |
CN102223292A (zh) * | 2010-04-14 | 2011-10-19 | 华为技术有限公司 | 一种节点选择方法及网络设备、系统 |
CN102457564A (zh) * | 2010-10-28 | 2012-05-16 | 华为技术有限公司 | 点对点网络的实时流媒体下载方法及系统 |
CN103188279A (zh) * | 2011-12-27 | 2013-07-03 | 中国电信股份有限公司 | 通过对等网络从多个邻居节点下载文件的方法和装置 |
CN103957269A (zh) * | 2014-05-08 | 2014-07-30 | 中国联合网络通信集团有限公司 | 点对点p2p网络节点选择方法及点对点p2p重定向服务器 |
CN104158904A (zh) * | 2014-08-28 | 2014-11-19 | 重庆邮电大学 | 一种云辅助移动p2p网络协同下载方法 |
CN104618447A (zh) * | 2014-12-31 | 2015-05-13 | 北京邮电大学 | 一种文件协同下载方法及系统 |
Non-Patent Citations (1)
Title |
---|
IVA BOJIC, VEDRAN PODOBNIK, MARIO KUSEK, GORDAN JEZIC: "Collaborative Urban Computing: Serendipitous Cooperation between Users in an Urban Environment", 《CYBERNETICS AND SYSTEMS》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106936913A (zh) * | 2017-03-16 | 2017-07-07 | 宿州学院 | 一种基于节点位移和lru记录的缓存更新方法及网络 |
CN106936913B (zh) * | 2017-03-16 | 2020-06-19 | 宿州学院 | 一种基于节点位移和lru记录的缓存更新方法及网络 |
CN113709809A (zh) * | 2021-08-16 | 2021-11-26 | 电子科技大学 | 一种基于协同通信的移动自组网广播方法 |
CN113709809B (zh) * | 2021-08-16 | 2023-04-07 | 电子科技大学 | 一种基于协同通信的移动自组网广播方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105812455B (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103650420B (zh) | 以探测为基础的载体控制 | |
US9374775B2 (en) | Method and apparatus for providing location-aware Wi-Fi access | |
Luo et al. | CFT: A cluster-based file transfer scheme for highway VANETs | |
CN109547351B (zh) | Ad Hoc网络中基于Q学习和信任模型的路由方法 | |
US7634294B2 (en) | Method and apparatus for exchanging content over distinct wireless access technologies | |
CN102594875B (zh) | 内容分发的方法、装置及接入网设备 | |
JP2018507600A (ja) | 歩留り管理を使用したピア対応ネットワークアクセス拡張 | |
Boukerche et al. | LoICen: A novel location-based and information-centric architecture for content distribution in vehicular networks | |
WO2008021685A2 (en) | Method and system for compensation in ad hoc networks | |
JP2002132613A (ja) | ダウンロード方法およびそのダウンロード方法を実施するユーザ端末、配信サーバ | |
JP2010525678A (ja) | フェムト基地局のためのバックホール・ネットワーク | |
CN104618447B (zh) | 一种文件协同下载方法及系统 | |
CN107249217A (zh) | 自组织移动云网络的联合任务卸载和资源分配方法 | |
CN102318230A (zh) | 用于无线端对端网络中传送多媒体数据的分布对端发现方法 | |
Niyato et al. | A unified framework for optimal wireless access for data streaming over vehicle-to-roadside communications | |
Huang et al. | Reliable realtime streaming in vehicular cloud-fog computing networks | |
US20200137728A1 (en) | Facilitation of channel selection within a wireless network | |
Ernst et al. | The design and evaluation of fair scheduling in wireless mesh networks | |
CN105812455A (zh) | 一种移动Ad hoc网络中协同下载的方法和装置 | |
CN102571963B (zh) | 内容分发的方法、装置和接入网设备 | |
CN103533452B (zh) | 一种流媒体的传输控制方法及装置 | |
EP1914952B1 (en) | Method and communication system for transmission power adaptation and tcp throughput optimization in a wireless network | |
CN105208126B (zh) | 一种基于用户端存储的干扰管理方法 | |
US10003954B2 (en) | Method and apparatus for distributive mobility management | |
US10368388B2 (en) | Method for peer to peer communication and related communication device |
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 |