CN103780482A - 一种获取内容方法及用户设备、缓存节点 - Google Patents

一种获取内容方法及用户设备、缓存节点 Download PDF

Info

Publication number
CN103780482A
CN103780482A CN201210404745.5A CN201210404745A CN103780482A CN 103780482 A CN103780482 A CN 103780482A CN 201210404745 A CN201210404745 A CN 201210404745A CN 103780482 A CN103780482 A CN 103780482A
Authority
CN
China
Prior art keywords
burst
path
subscriber equipment
probability
detection packet
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
CN201210404745.5A
Other languages
English (en)
Other versions
CN103780482B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210404745.5A priority Critical patent/CN103780482B/zh
Priority to EP13849740.9A priority patent/EP2911345B1/en
Priority to PCT/CN2013/080901 priority patent/WO2014063510A1/zh
Publication of CN103780482A publication Critical patent/CN103780482A/zh
Priority to US14/692,473 priority patent/US9749216B2/en
Application granted granted Critical
Publication of CN103780482B publication Critical patent/CN103780482B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/72Routing based on the source address
    • 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

Landscapes

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

Abstract

本发明公开了一种获取内容方法及用户设备、缓存节点,该方法包括:用户设备向管理节点申请目标内容;用户设备分别接收第一探测包和第二探测包,第一探测包和第二探测包分别由管理节点确定的第一存储节点和第二存储节点发送的,并且第一探测包包括目标内容的分片的标识和分片在第一路径上到用户设备的最短距离,第二探测包包括分片的标识和分片在第二路径上到用户设备的最短距离;用户设备根据分片在第一路径上到用户设备的最短距离、分片在第二路径上到用户设备的最短距离确定优选路径;用户设备沿优选路径发送用于获取分片的第二获取请求。通过上述方式,本发明能够减少分片在网络中的转发次数,减少网络的带宽的消耗,降低用户设备的访问延迟。

Description

一种获取内容方法及用户设备、缓存节点
技术领域
本发明涉及通信技术领域,特别是涉及一种获取内容方法及用户设备、缓存节点。
背景技术
随着互联网的规模和技术的不断发展,互联网已经成为人们获取信息内容的主要渠道,例如:人们通过互联网观看视频、浏览新闻、获取图片等等,而随着通过互联网络获取内容的频率以及人员数量的上升,互联网上传输的数据的压力也随之增大,影响到人们从互联网获取数据的效率,因此如何高效地从互联网中获取内容成为一个日益关注的话题。
本发明人在长期研究中发现:可以构建专门的系统网络来提高内容的获取效率,例如:CDN(Content Delivery Network,内容分发网络)和P2P(Peer-to-Peer,对等网络),但在CDN系统网络中,需要配置专门的内容缓存节点来实现内容的存储和快速获取,其配置成本较高;在P2P系统网络中,需要利用普通用户的计算、存储和带宽资源,通过对等体的协作,利用k-anycast(k阶任播技术)技术并发的从不同的对等体获取同一内容的不同部分,从而实现内容的快速获取和对等体的负载均衡,但P2P系统网络不知晓网络和节点的位置信息,因此无法就近获取内容。
也可以利用网络中路由器的计算和存储能力来实现内容的快速获取。路由器能够截获用户的内容获取请求,将用户的请求重定向到最优的存储设备或者缓存设备上,但这种方式只是选择单一的存储设备或者缓存设备来提供服务内容,不能并发获取内容的不同部分。由于路由器需要对请求进行重定向,因此需要利用类似洪泛或者路由公告的方式通告缓存的存在,但由于缓存的动态性很高,从而造成路由收敛慢以及通信开销大。
发明内容
本发明实施方式主要解决的技术问题包括一种获取内容方法及用户设备节点、缓存节点,能够减少分片在网络中的转发次数,减少网络的带宽的消耗,降低用户设备的访问延迟。
第一方面包括一种获取内容的方法,包括:
用户设备向管理节点发送用于请求目标内容的第一获取请求;
所述用户设备接收由管理节点确定的第一存储节点发送的第一探测包,所述第一探测包包括目标内容的分片的标识和所述分片在第一路径上到用户设备的最短距离,所述第一路径为第一探测包经过的路径;
所述用户设备接收由管理节点确定的第二存储节点发送的第二探测包,所述第二探测包包括所述分片的标识和所述分片在第二路径上到用户设备的最短距离,所述第二路径为第二探测包经过的路径;
所述用户设备根据所述分片在第一路径上到用户设备的最短距离、所述分片在第二路径上到用户设备的最短距离确定优选路径,所述优选路径为第一路径和第二路径中的路径;
所述用户设备沿优选路径发送用于获取所述分片的第二获取请求。
在根据第一方面的第一种可能的实施方式中,其特征在于,
所述第一探测包进一步包括所述分片在第一路径上的数量;
所述第二探测包进一步包括所述分片在第二路径上的数量;
所述用户设备根据所述分片在第一路径上到用户设备的最短距离和所述分片在第二路径上到用户设备的最短距离确定优选路径包括:
所述用户设备根据所述分片在第一路径上到用户设备的最短距离及数量,获取所述分片的第一概率;
所述用户设备根据分片在第二路径上到用户设备的最短距离及数量,获取所述分片的第二概率;
所述用户设备根据第一概率和第二概率确定优选路径。
在根据第一方面的第一种可能的实施方式的第一方面的第二种可能的实施方式中,所述用户设备根据第一概率和第二概率确定优选路径包括:
所述用户设备判断第一概率是否小于第二概率,若所述第一概率大于第二概率,确定所述第一路径为优选路径,若所述第一概率小于第二概率,确定所述第二路径为优选路径。
在根据第一方面的第一种可能的实施方式的第一方面的第三种可能的实施方式中,所述用户设备根据第一概率和第二概率确定优选路径包括:
所述用户设备判断第一概率是否大于第二概率;
若所述第一概率大于第二概率,则所述用户设备判断第一负载量是否小于第一限定值,若所述第一负载量小于第一限定值,则确定所述第一路径为优选路径,若第一负载量大于或者等于第一限定值,则确定所述第二路径为优选路径,其中,所述第一限定值为从第一路径获取目标内容的分片的最大数量,所述第一负载量为从第一路径获取目标内容的分片的数量;
若所述第一概率小于第二概率,则所述用户设备判断第二负载量是否小于第二限定值,若所述第二负载量小于第二限定值,则确定所述第二路径为优选路径,若第二负载量是大于或者等于第二限定值,则确定所述第一路径为优选路径,其中,所述第二限定值为从第二路径获取目标内容的分片的最大数量,所述第二负载量为从第二路径获取目标内容的分片的数量。
在根据第一方面的第一种可能的实施方式的第一方面的第四种可能的实施方式中,所述第一概率通过以下的计算方式得到:
p 1 i = 1 / ( w d Σ i d 1 i w n Σ i n 1 i ) , Σ i n j i ≠ 0
所述
Figure BDA00002289956100033
为第一概率,所述i为所述分片的编号,并且所述i为自然数,所述wd为分片到用户设备的最短距离的权重,所述
Figure BDA00002289956100034
为第一路径上分片i到用户设备的最短距离,所述wn为分片的数量的权重,所述
Figure BDA000022899561000415
为第一路径上分片i的数量;
所述第二概率通过以下的计算方式得到:
p 2 i = 1 / ( w d Σ i d 2 i w n Σ i n 2 i ) , Σ i n j i ≠ 0
所述
Figure BDA00002289956100043
为第二概率,所述i为所述分片的编号,并且所述i为自然数,所述wd为分片到用户设备的最短距离的权重,所述
Figure BDA00002289956100044
为第二路径上分片i到用户设备的最短距离,所述wn为分片的数量的权重,所述
Figure BDA00002289956100045
为第二路径上分片i的数量。
在根据第一方面的第一种可能的实施方式的第一方面的第五种可能的实施方式中,所述第一探测包还包括所述分片在第一路径上的缓存时间,所述第二探测包还包括所述分片在第二路径上的缓存时间;
所述用户设备根据所述分片在第一路径上到用户设备的最短距离及数量,获取所述分片的第一概率包括:
所述用户设备根据所述分片在第一路径上到用户设备的最短距离、数量及缓存时间,获取所述分片的第一概率;
所述用户设备根据所述分片在第二路径上到用户设备的最短距离及数量,获取所述分片的第二概率包括:
所述用户设备根据所述分片在第二路径上到用户设备的最短距离、数量及缓存时间,获取所述分片的第二概率。
在根据第一方面的第五种可能的实施方式的第一方面的第六种可能的实施方式中,所述第一概率通过以下的计算方式得到:
p 1 i = w d i ( 1 d 1 i ) + w n i n 1 i + w t i ( 1 t 1 i ) + c , d 1 i ≠ 0 , t 1 i ≠ 0
所述
Figure BDA00002289956100049
为第一概率,所述i为目标内容分片的编号,并且所述i为自然数,所述
Figure BDA000022899561000410
为分片i到用户设备的最短距离的权重,所述
Figure BDA000022899561000411
为第一路径上分片i到用户设备的最短距离,所述
Figure BDA000022899561000412
为分片i的数量的权重,所述
Figure BDA000022899561000413
为第一路径上分片i的数量,所述为第一路径上分片i的缓存时间,所述
Figure BDA00002289956100051
为分片i的缓存时间的权重,c为加权系数;
所述第二概率通过以下的计算方式得到:
p 2 i = w d i ( 1 d 2 i ) + w n i n 2 i + w t i ( 1 t 2 i ) + c , d 2 i ≠ 0 , t 2 i ≠ 0
所述为第二概率,所述i为目标内容分片的编号,并且所述i为自然数,所述为分片i到用户设备的最短距离的权重,所述
Figure BDA00002289956100057
为第二路径上分片i到用户设备的最短距离,所述
Figure BDA00002289956100058
为分片i的数量的权重,所述
Figure BDA00002289956100059
为第二路径上分片i的数量,所述
Figure BDA000022899561000510
为第二路径上分片i的缓存时间,所述
Figure BDA000022899561000511
为分片i的缓存时间的权重,c为加权系数。
第二方面包括一种获取内容的方法,所述方法包括:
缓存节点接收来自存储节点的探测包;
所述缓存节点查询本地是否缓存有探测包请求探测的目标内容的第一分片;
若缓存有所述第一分片,在所述探测包中写入新的第一距离,所述新的第一距离为所述第一分片与所述缓存节点间的最短距离;
所述缓存节点接收用户设备根据所述探测包而生成的第二获取请求,所述第二获取请求包括用于表示请求所述第一分片的第一分片请求标识;
所述缓存节点根据第二获取请求向用户设备返回所述第一分片,并更新所述第二获取请求;
所述缓存节点转发更新后的第二获取请求。
在根据第二方面的第二方面的第一种可能的实施方式中,所述在所述探测包中写入新的第一距离包括:
将预设的初始值作为所述新的第一距离写入所述探测包。
在根据第二方面或第二方面的第一种可能的实施方式的第二方面的第二种可能的实施方式中,所述缓存节点在所述探测包中写入新的第一距离包括:
所述缓存节点在所述探测包中写入新的第一距离及新的第一数量,所述新的第一数量为所述探测包中携带的旧的第一数量与一之和,所述第一数量为第一分片的数量;
或,
所述缓存节点在所述探测包中写入新的第一距离、新的第一数量及第一缓存时间,所述新的第一数量为所述探测包中携带的旧的第一数量与一之和,所述第一数量为第一分片的数量,所述第一缓存时间为所述缓存节点缓存第一分片的时间。
在根据第二方面或第二方面的第一种可能的实施方式的第二方面的第三种可能的实施方式中,当所述探测包还请求探测第二分片,并且所述缓存节点未缓存所述第二分片时,所述方法还包括:
所述缓存节点在所述探测包中写入新的第二距离。
在根据第二方面的第三种可能的实施方式的第二方面的第四种可能的实施方式中,所述新的第二距离为所述探测包中携带的旧的第二距离与一个常量的和,所述旧的第二距离为所述第二分片和所述缓存节点在所述探测包经过的路径上沿下行方向的上游邻居节点间的最短距离,所述下行方向为由所述存储节点到所述用户设备的方向。
在根据第二方面至第二方面的第四种可能的实施方式中的任一个的第二方面的第五种可能的实施方式中,所述更新第二获取请求包括:
所述缓存节点删除所述第一分片请求标识;
或,
所述缓存节点将所述第一分片请求标识置为无效。
第三方面包括一种用户设备,所述用户设备包括:
第一发送模块,用于向管理节点发送用于请求目标内容的第一获取请求;
第一接收模块,用于接收由所述管理节点确定的第一存储节点发送的第一探测包,所述第一探测包包括目标内容的分片的标识和所述分片在第一路径上到用户设备的最短距离,所述第一路径为第一探测包经过的路径;
第二接收模块,用于接收由所述管理节点确定的第二存储节点发送的第二探测包,所述第二探测包包括所述分片的标识和所述分片在第二路径上到用户设备的最短距离,所述第二路径为第二探测包经过的路径;
优选模块,用于根据所述分片在第一路径上到用户设备的最短距离、所述分片在第二路径上到用户设备的最短距离确定优选路径,所述优选路径为第一路径和第二路径中的路径;
第二发送模块,用于沿所述优选路径发送用于获取所述分片的第二获取请求。
在根据第三方面的第三方面的第一种可能的实施方式中,
所述第一探测包进一步包括所述分片在第一路径上的数量;
所述第二探测包进一步包括所述分片在第二路径上的数量;
所述优选模块包括第一计算单元、第二计算单元及选取单元;
第一计算单元,用于根据所述分片在第一路径上到用户设备的最短距离及数量,获取所述分片的第一概率;
第二计算单元,用于根据分片在第二路径上到用户设备的最短距离及数量,获取所述分片的第二概率;
选取单元,用于根据第一概率和第二概率确定选优路径。
在根据第三方面的第一种可能的实施方式的第三方面的第二种可能的实施方式中,所述选取单元具体用于:判断所述第一概率是否大于第二概率,若所述第一概率大于第二概率,确定所述第一路径为优选路径,若所述第一概率小于第二概率,确定所述第二路径为优选路径。
在根据第三方面的第一种可能的实施方式的第三方面的第三种可能的实施方式中,所述选取单元包括第一判断单元、第一选择单元及第二选择单元;
第一判断单元,用于判断所述第一概率是否大于第二概率;
第一选择单元,用于在所述第一概率大于第二概率时,判断第一负载量是否小于第一限定值,若第一负载量小于第一限定值,则确定所述第一路径为优选路径,若第一负载量大于或者等于第一限定值,则确定所述第二路径为优选路径,其中,所述第一限定值为从第一路径获取目标内容的分片的最大数量,所述第一负载量为从第一路径获取目标内容的分片的数量;
第二选择单元,用于在所述第一概率小于或等于第二概率时,则判断第二负载量是否小于第二限定值,若第二负载量小于第二限定值,则确定所述第二路径为优选路径,若第二负载量大于或者等于第二限定值,则确定所述第一路径为优选路径,其中,所述第二限定值为从第二路径获取目标内容的分片的最大数量,所述第二负载量为从第二路径获取目标内容的分片的数量。
在根据第三方面的第一种可能的实施方式的第三方面的第四种可能的实施方式中,所述第一概率通过以下的计算方式得到:
p 1 i = 1 / ( w d Σ i d 1 i w n Σ i n 1 i ) , Σ i n j i ≠ 0
所述
Figure BDA00002289956100083
为第一概率,所述i为所述分片的编号,并且所述i为自然数,所述wn为分片的数量的权重,所述wd为分片到用户设备的最短距离的权重,所述为第一路径上分片i到用户设备的最短距离,所述
Figure BDA00002289956100085
为第一路径上分片i的数量;
所述第二概率通过以下的计算方法得到:
p 2 i = 1 / ( w d Σ i d 2 i w n Σ i n 2 i ) , Σ i n j i ≠ 0
所述
Figure BDA00002289956100088
为所述第二概率,所述i为所述分片的编号,并且所述i为自然数,所述wd为分片到用户设备的最短距离的权重,所述
Figure BDA00002289956100089
为第二路径上分片i到用户设备的最短距离,所述wn为分片的数量的权重,所述为第二路径上分片i的数量。
在根据第三方面的第一种可能的实施方式的第三方面的第五种可能的实施方式中,所述第一探测包还包括所述分片在第一路径上的缓存时间,所述第二探测包还包括所述分片在第二路径上的缓存时间;
所述第一计单元具体用于根据所述分片在第一路径上到用户设备的最短距离、数量及缓存时间,获取所述分片的第一概率;
所述第二计算单元具体用于根据分片在第二路径上到用户设备的最短距离、数量及缓存时间,获取所述分片的第二概率。
在根据第三方面的第五种可能的实施方式的第三方面的第六种可能的实施方式中,所述第一概率通过以下的计算方式得到:
p 1 i = w d i ( 1 d 1 i ) + w n i n 1 i + w t i ( 1 t 1 i ) + c , d 1 i ≠ 0 , t 1 i ≠ 0
所述
Figure BDA00002289956100094
为第一概率,所述i为目标内容分片的编号,并且所述i为自然数,所述
Figure BDA00002289956100095
为分片i到用户设备的最短距离的权重,所述
Figure BDA00002289956100096
为第一路径上分片i到用户设备的最短距离,所述为分片i的数量的权重,所述为第一路径上分片i的数量,所述
Figure BDA00002289956100099
为第一路径上分片i的缓存时间,所述
Figure BDA000022899561000910
为分片i的缓存时间的权重,c为加权系数;
所述第二概率通过以下的计算方式得到:
p 2 i = w d i ( 1 d 2 i ) + w n i n 2 i + w t i ( 1 t 2 i ) + c , d 2 i ≠ 0 , t 2 i ≠ 0
所述
Figure BDA000022899561000914
为第二概率,所述i为目标内容分片的编号,并且所述i为自然数,所述
Figure BDA000022899561000915
为分片i到用户设备的最短距离的权重,所述
Figure BDA000022899561000916
为第二路径上分片i到用户设备的最短距离,所述为分片i的数量的权重,所述
Figure BDA000022899561000918
为第二路径上分片i的数量,所述
Figure BDA000022899561000919
为分片i的缓存时间的权重,所述
Figure BDA000022899561000920
为第二路径上分片i的缓存时间,c为加权系数。
第四方面包括一种缓存节点,所述缓存节点包括:
第一接收模块,用于接收来自存储节点的探测包;
查询模块,用于查询本地是否缓存有探测包请求探测的目标内容的第一分片;
第一写入模块,用于在所述查询模块查询到本地缓存有第一分片时,在所述探测包中写入新的第一距离,所述新的第一距离为所述第一分片与所述缓存节点间的最短距离;
第二接收模块,用于接收来自用户设备根据探测包而生成的第二获取请求,所述第二获取请求包括用于表示请求所述第一分片的第一分片请求标识;
返回模块,用于根据第二获取请求向用户设备返回所述第一分片;
更新模块,用于在所述返回模块返回第一分片后,更新所述第二获取请求;
转发模块,用于转发更新后的第二获取请求。
在根据第四方面的第四方面的第一种可能的实施方式中,所述新的第一距离为预设的初始值。
在根据第四方面或第四方面的第一种可能的实施方式的第四方面的第二种可能的实施方式中,所述第一写入模块具体用于在所述探测包中写入新的第一距离及新的第一数量,所述新的第一数量为所述探测包中携带的旧的第一数量加一之和,所述第一数量为第一分片的数量;
或,
在所述探测包中写入新的第一距离、新的第一数量及第一缓存时间,所述新的第一数量为所述探测包中携带的旧的第一数量加一之和,所述第一数量为第一分片的数量,所述第一缓存时间为所述缓存节点缓存第一分片的时间。在根据第四方面或第四方面的第一种可能的实施方式的第四方面的第三种可能的实施方式中,所述探测包还包括第二写入模块;
所述第二写入模块,用于在所述探测包还请求探测第二分片,并且所述缓存节点未缓存所述第二分片时,在所述探测包中写入新的第二距离,所述新的第二距离为所述第二分片与所述缓存节点间的最短距离。
在根据第四方面的第三种可能的实施方式的第四方面的第四种可能的实施方式中,所述新的第二距离为所述探测包中携带的旧的第二距离与一个常量的和,所述旧的第二距离为所述第二分片和所述缓存节点在所述探测包经过的路径上沿下行方向的上游邻居节点间的最短距离,所述下行方向为由所述存储节点到所述用户设备的方向。
在根据第四方面至第四方面的第四种可能的实施方式中的任一个的第四方面的第五种可能的实施方式中,所述更新模块具体用于删除第一分片请求标识,或者将所述第一分片请求标识置为无效。
本发明实施方式的有益效果是:区别于现有技术的情况,用户设备分别从不同路径接收到不同探测包,探测包携带分片到用户设备的最短距离,并且,用户设备根据分片在不同路径的最短距离确定优选路径,并从优选路径获取分片,减少分片在网络中的转发次数,从而有效减少网络的带宽的消耗,降低用户设备的访问延迟。
附图说明
图1是本发明获取内容的方法第一实施方式的流程图;
图2是本发明获取内容的方法第二实施方式的流程图;
图3是本发明获取内容的方法第二实施方式中,选择优选路径的流程图;
图4是本发明获取内容的方法第二实施方式中,结合负载均衡选择优选路径的流程图;
图5是本发明获取内容的方法第三实施方式的流程示意图;
图6是本发明获取内容的方法第四实施方式的流程示意图;
图7是本发明用户设备第一实施方式的结构示意图;
图8是本发明用户设备第二实施方式的结构示意图;
图9是本发明缓存节点第一实施方式的结构示意图;
图10是本发明缓存节点第二实施方式的结构示意图;
图11是本发明从系统角度举例说明获取内容的方法中的例一中的获取内容的路径示意图;
图12是本发明从系统角度举例说明获取内容的方法中的例二中的获取内容的路径示意图;
图13是本发明从系统角度举例说明获取内容的方法中的例三中的获取内容的路径示意图;
图14是本发明从系统角度举例说明获取内容的方法中的例四中的获取内容的路径示意图;
图15是本发明从系统角度举例说明获取内容的方法中的例五中的获取内容的路径示意图。
具体实施方式
下面结合附图和实施方式对本发明进行详细说明。
请参阅图1,图1是本发明获取内容的方法第一实施方式的流程示意图。如图所示,所述方法包括:
步骤S101:用户设备向管理节点发送用于请求目标内容的第一获取请求;
管理节点用于管理本地址域内所有的存储节点,并且能够根据用户设备的请求,为用户设备选择合适的存储节点提供服务,同时选定一条合适的存储节点到用户设备的路径。
步骤S102:用户设备接收由管理节点确定的第一存储节点发送的第一探测包,第一探测包包括目标内容的分片的标识和分片在第一路径上到用户设备的最短距离,第一路径为第一探测包经过的路径;
存储节点用于存储目标内容,可为仅具有存储功能的设备,也可为具有存储功能和转发功能的设备,例如:存储路由器。第一路径为第一存储节点到用户设备的路径。其中,第一路径和第一存储节点为管理节点利用K阶任播方法得到。K阶任播方法为一种选择最佳节点提供服务的方法。其中,管理节点除了利用K阶任播方法之外,还可进一步结合就近原则、负载均衡原则或者路径分离原则来选定第一存储节点。管理节点选定第一存储节点后,向第一存储节点发送通知,指示第一存储节点沿第一路径向用户设备发送第一探测包。分片到用户设备的最短距离为分片到达用户设备所需要经历的最少路由转发次数与常量的乘积再与初始值之和,其中,常量的值不能为零。例如:分片A到用户设备的最少需要经历两次路由转发,并且起始值为零,常量设置为一,则分片A到用户设备的最短距离为二。初始值为分片到用户设备的最短距离的最小值,并且分片在起始点时,分片到用户设备的最短距离的值为初始值。
步骤S103:用户设备接收由管理节点确定的第二存储节点发送的第二探测包,第二探测包包括分片的标识和分片在第二路径上到用户设备的最短距离,第二路径为第二探测包经过的路径;
第二路径为第二存储节点到用户设备的路径。第二路径和第二存储节点也是由管理节点利用K阶任播方法得到的,并且管理节点选定第二存储节点后,向第二存储节点发送通知,指示第二存储节点沿第二路径向用户设备发送第二探测包。
步骤S104:用户设备根据分片在第一路径上到用户设备的最短距离、分片在第二路径上到用户设备的最短距离确定优选路径,优选路径为第一路径和第二路径中的路径;
优选路径为用户设备获取分片优先选择的路径,例如:第一路径为优选路径时,则用户设备从第一路径上获取该分片。
步骤S105:用户设备沿优选路径发送用于获取分片的第二获取请求;
第二获取请求包括分片的相关信息,例如:标识等。优选路径上的缓存节点或者存储节点接收到第二获取请求后,根据第二获取请求向用户设备返回分片。
在本发明实施方式中,用户设备分别从第一路径和第二路径上接收到第一探测包和第二探测包,第一探测包包括分片在第一路径上到用户设备的最短距离,第二探测包包括分片在第二路径上到用户设备的最短距离,并且,用户设备根据分片在第一路径和第二路径上的最短距离确定优选路径,并从优选路径获取分片,减少分片在网络中的转发次数,从而有效减少网络的带宽的消耗,降低用户设备的访问延迟。
请参阅图2,图2是本发明获取内容的方法第二实施方式。如图所示,所述方法包括:
步骤S111:用户设备向管理节点发送用于请求目标内容的第一获取请求;
管理节点用于管理本地址域内所有的存储节点。管理节点通过接收本地址域内的存储节点的注册,获知存储节点所存储的内容及存储节点所在的位置。存储节点用于存储目标内容的设备。
步骤S112:用户设备接收由管理节点确定的第一存储节点发送的第一探测包,第一探测包包括目标内容的分片的标识和分片在第一路径上到用户设备的最短距离,第一路径为第一探测包经过的路径;
第一路径为第一存储节点到用户设备的路径。管理节点根据用户设备的第一获取请求,利用K阶任播方法选定第一存储节点和第一路径后,向第一存储节点发送通知,指示第一存储节点生成第一探测包,并沿第一路径向用户设备发送第一探测包。分片到用户设备最短距离为目标内容的分片到达用户设备所需要经历最少的路由转发次数与常量的乘积再与初始值之和,其中,常量不能为零,初始值可以设置为零或者其他常量。
步骤S113:用户设备接收由管理节点确定的第二存储节点发送的第二探测包,第二探测包包括分片的标识和分片在第二路径上到用户设备的最短距离,第二路径为第二探测包经过的路径;
第二路径为第二存储节点到用户设备的路径。同样的,管理节点利用K阶任播方法选定第二存储节点及第二路径后,通知第二存储节点沿第二路径向用户设备发送第二探测包。
步骤S114:用户设备判断分片在第一路径上到用户设备的最短距离是否小于分片在第二路径上到用户设备的最短距离,若是,则进入步骤S115,否则,进入步骤S116;
第一探测包除了探测分片在第一路径上的最短距离之外,还可探测分片在第一路径上的数量。同样的,第二探测包除了探测分片在第二路径上的最短距离之外,还可探测分片在第二路径上的数量。如图3所示,步骤S114又可包括:
子步骤S1141:用户设备根据分片在第一路径上到用户设备的最短距离及数量,获取分片的第一概率,其中,第一概率通过以下的计算方式得到:
p 1 i = 1 / ( w d Σ i d 1 i w n Σ i n 1 i ) , Σ i n j i ≠ 0
Figure BDA00002289956100143
为第一概率,i为分片的编号,并且i为自然数,wn为分片的数量的权重,wd为分片到用户设备的最短距离的权重,
Figure BDA00002289956100144
为第一路径上分片i到用户设备的最短距离,
Figure BDA00002289956100145
为第一路径上分片i的数量;
第一探测包除了探测分片在第一路径上的最短距离及数量之外,还可进一步探测分片在第一路径的缓存时间。缓存时间为路径上的缓存节点缓存分片的时间点到接收探测包的时间点之间的时间段。则子步骤S1141又可包括:用户设备根据分片在第一路径上到用户设备的最短距离、数量及缓存时间,获取分片的第一概率,其中,第一概率通过以下的计算方式得到:
p 1 i = w d i ( 1 d 1 i ) + w n i n 1 i + w t i ( 1 t 1 i ) + c , d 1 i ≠ 0 , t 1 i ≠ 0
Figure BDA00002289956100154
为第一概率,i为目标内容的分片的编号,并且i为自然数,
Figure BDA00002289956100155
为分片i到用户设备的最短距离的权重,
Figure BDA00002289956100156
为第一路径上分片i到用户设备的最短距离,
Figure BDA00002289956100157
为分片i的数量的权重,
Figure BDA00002289956100158
为第一路径上分片i的数量,
Figure BDA00002289956100159
为第一路径上分片i的缓存时间,
Figure BDA000022899561001510
为分片i的缓存时间的权重,c为加权系数;
子步骤S1142:用户设备根据分片在第二路径上到用户设备的最短距离及数量,获取分片的第二概率,其中,第二概率通过以下的计算方式得到:
p 2 i = 1 / ( w d Σ i d 2 i w n Σ i n 2 i ) , Σ i n j i ≠ 0
Figure BDA000022899561001513
为第二概率,i为目标内容分片的编号,并且i为自然数,
Figure BDA000022899561001514
为第二路径上分片i到用户设备的最短距离,
Figure BDA000022899561001515
为第二路径上分片i的数量,wn为分片的数量的权重,wd为分片到用户设备的最短距离的权重。
同样的,第二探测包除了探测分片在第二路径上的最短距离及数量之外,还可进一步探测分片在第二路径的缓存时间,则子步骤S1142又包括:
用户设备根据分片在第二路径上到用户设备的最短距离、数量及缓存时间,获取分片的第二概率,其中,第二概率通过以下的计算方式得到:
p 2 i = w d i ( 1 d 2 i ) + w n i n 2 i + w t i ( 1 t 2 i ) + c , d 2 i ≠ 0 , t 2 i ≠ 0
Figure BDA00002289956100161
为第二概率,
Figure BDA00002289956100162
为第二路径上分片i到用户设备的最短距离,
Figure BDA00002289956100163
为分片i到用户设备的最短距离的权重,
Figure BDA00002289956100164
为第二路径上分片i的数量,
Figure BDA00002289956100165
为分片i的数量的权重,
Figure BDA00002289956100166
为第二路径上分片i的缓存时间,
Figure BDA00002289956100167
为分片i的缓存时间的权重,i为目标内容分片的编号,并且i为自然数,c为加权系数。
子步骤S1143:用户设备判断第一概率是否小于第二概率,若第一概率大于第二概率,则进入步骤S115,否则,进入S116。
进一步的,用户设备除了根据第一概率和第二概率确定优选路径之外,还可进一步结合负载均衡和多路径原则确定优选路径,以平衡各路径的负载,提高获取分片的效率。在本发明实施方式中,可分别为第一路径和第二路径预先设定第一限定值和第二限定值,其中,第一限定值为从第一路径获取目标内容的分片的最大数量,第二限定值为从第二路径获取目标内容的分片的最大数量,例如:目标内容分片的数量6个,则可按平均法,分别设定第一限定值为3个,第二限定值为3个。如图4所示,子步骤S1143又可包括:
子步骤S11431:用户设备判断第一概率是否小于第二概率,若第一概率大于第二概率,则进入子步骤S11432,否则,进入步骤S11433
子步骤S11432:用户设备判断第一负载量是否小于第一限定值,若第一负载量小于第一限定值,则进入步骤S115,若第一负载量大于或者等于第一限定值,则进入步骤S116,其中,第一负载量为从第一路径获取目标内容的分片的数量;
子步骤S11433:若第一概率小于或等于第二概率,则用户设备判断第二负载量是否小于第二限定值,若第二负载量小于第二限定值,则进入步骤S116,若第二负载量大于或者等于第二限定值,则进入步骤S115,其中,第二负载量为从第二路径获取目标内容的分片的数量;
其中,在用户设备确定第一路径为优选路径时,相应的,用户设备使第一负载量增大一,用户设备确定第二路径为优选路径时,相应的,用户设备使第二负载量增大一。
步骤S115:用户设备确定第一路径为优选路径;
步骤S116:用户设备确定第二路径为优选路径;
步骤S117:用户设备沿优选路径发送用于获取分片的第二获取请求。
优选路径上的缓存节点或者存储节点根据第二获取请求向用户设备返回分片。
在本发明实施方式中,用户设备分别从第一路径和第二路径上接收第一探测包和第二探测包,第一探测包探测分片在第一路径上到用户设备的最短距离,第二探测包探测分片在第二路径上到用户设备的最短距离,并且用户设备根据分片在第一路径和第二路径上的最短距离确定优选路径,并从优选路径获取分片,减少分片在网络中的转发次数,从而有效减少网络的带宽的消耗,降低用户设备的访问延迟。进一步,用户设备还可结合负载均衡原则从不同路径获取不同分片,平衡各路径的负载,提高获取分片的效率,进一步降低用户设备的访问延迟。
请参阅图5,图5是本发明获取内容的方法第三实施方式的流程示意图。如图所示,所述方法包括:
步骤S201:缓存节点接收来自存储节点的探测包;
缓存节点用于暂时存储目标内容的分片,并且缓存节点具有转发目标内容的分片的功能。缓存节点在转发目标内容的分片时,可根据LRU(Least Recently Used,最近最少使用)算法,从转发的目标内容的分片中,选定合适的分片,存储至缓存节点的本地存储器,以更新缓存节点所存储的内容。存储节点用于存储目标内容的分片。
步骤S202:缓存节点查询本地是否缓存有探测包请求探测的目标内容的第一分片,若缓存有第一分片,则进入步骤S203;
步骤S203:缓存节点在探测包中写入新的第一距离,新的第一距离为第一分片与缓存节点间的最短距离;
分片与缓存节点间的最短距离为:分片到缓存节点所需要经历的最少路由转发次数与常量的乘积再与初始值之和,并且常量不能为零。例如,分片依次经过缓存节点A和缓存节点B到达缓存节点C,初始值为零,常量为一,此时,分片到缓存节点A的最短距离为二。由于,此时分片在缓存节点C,即为:分片不需要经历路由转发即可到达缓存节点C,相当于缓存节点C为分片的起始点,则此时,分片到缓存节点C的最短距离为零与起始值之和。在本发明实施方式中,缓存节点存储有第一分片,也就是缓存节点可为第一分片的起始点,因此分片到缓存节点所需要经历的最少路由转发次数为零,可将预设的初始值作为新的第一距离写入探测包。
步骤S204:缓存节点接收来自用户设备根据所述探测包而生成的第二获取请求,第二获取请求包括用于表示请求第一分片的第一分片请求标识;
在本发明实施方式中,第一分片请求标识可以为第一分片的标识。
步骤S205:缓存节点根据第二获取请求向用户设备返回第一分片,并更新第二获取请求;
缓存节点向用户设备返回第一分片后,更新探测包,使得后续的节点在接收到第二获取请求的情况下,不需要再次向用户设备返回第一分片。
步骤S206:缓存节点转发更新后的第二获取请求。
缓存节点向下一个节点转发更新后的第二获取请求,以使后续节点向用户设备返回所述第二获取请求请求获取的其他分片。
在本发明实施方式中,缓存节点接收到探测包,并更新探测包,使探测包能够探测出获取分片的最短距离,从而使得用户设备接收到探测包,根据分片在路径上的最短距离确定优选路径,并从优路径获取分片,减少分片在网络中的转发次数,从而有效减少网络的带宽的消耗,降低用户设备的访问延迟。
请参阅图6,图6是本发明获取内容的方法第四实施方式的流程示意图。如图所示,所述方法包括:
步骤S211:缓存节点接收来自存储节点的探测包;
缓存节点为具有转发功能和缓存功能的节点,并且缓存节点在转发目标内容的分片时,可根据LRU算法更新本地存储的分片。存储节点为具有存储功能的节点。
步骤S212:缓存节点查询本地是否缓存有探测包请求探测的目标内容的第一分片,若缓存有第一分片,则进入步骤S213;
步骤S213:缓存节点在探测包中写入新的第一距离,新的第一距离为第一分片与缓存节点间的最短距离;
分片与缓存节点间的最短距离为:分片到缓存节点所需要经历的最少路由转发次数与常量的乘积再与初始值之和,并且常量的值不能为零。例如,分片依次经过缓存节点A和缓存节点B到达缓存节点C,初始值为零,此时,分片到缓存节点A的最短距离为二。由于,此时分片在缓存节点C,即为:分片不需要经历路由转发即可到达缓存节点C,相当于缓存节点C为分片的起始点,则此时,分片到缓存节点C的最短距离为零与起始值之和。在本发明实施方式中,缓存节点存储有第一分片,也就是缓存节点可为第一分片的起始点,因此可将预设的初始值作为新的第一距离写入探测包。
可选地,探测包除了用于探测第一分片的最短距离之外,还可探测第一分片在路径上的数量。因此步骤S213可包括:缓存节点在探测包中写入新的第一距离及新的第一数量,新的第一数量为探测包中携带的旧的第一数量加一之和,第一数量为第一分片的数量;
可选地,探测包除了用于探测第一分片的最短距离和第一数量之外,还可探测第一分片在路径上的缓存时间。因此步骤S213又可包括:缓存节点在探测包中写入新的第一距离、新的第一数量及第一缓存时间,新的第一数量为探测包中携带的旧的第一数量加一之和,第一数量为第一分片的数量,第一缓存时间为缓存节点缓存第一分片的时间。
步骤S214:当探测包还请求探测第二分片,并且缓存节点未缓存第二分片时,缓存节点在探测包中写入新的第二距离,新的第二距离为第二分片与缓存节点间的最短距离。
新的第二距离为探测包中携带的旧的第二距离与一个常量的和,旧的第二距离为第二分片和缓存节点在探测包经过的路径上沿下行方向的上游邻居节点间的最短距离,下行方向为由存储节点到用户设备的方向。邻居节点为路径上存储有第二分片的,并离当前第二分片的位置最近的节点。例如:探测包依次经历缓存节点A、缓存节点B、缓存节点C、缓存节点D、缓存节点E到达缓存节点F,若缓存节点B和缓存节点A存储有第二分片,第二分片在缓存节点E时,缓存节点B属于上游邻居节点,则旧的第二距离为第二分片和缓存节点B间的最短距离。此时,第二分片到达缓存节点B需要经历四次路由转发,因此,旧的第二距离为初始值与四与常量之积再加上起始值之和。
步骤S215:缓存节点接收来自用户设备根据所述探测包而生成的第二获取请求,第二获取请求包括用于表示请求第一分片的第一分片请求标识;
第一分片请求标识可以为第一分片的标识。
步骤S216:缓存节点根据第二获取请求向用户设备返回第一分片,并更新第二获取请求;
缓存节点向用户设备返回第一分片后,更新第二获取请求,使得后续的节点在接收到第二获取请求的情况下,不需要再次向用户设备返回第一分片。在本发明实施方式中,更新第二获取请求的方式有:所述缓存节点删除所述第一分片请求标识,例如,缓存节点删除第二获取请求中的第一分片的标识;或,所述缓存节点将所述第一分片请求标识置为无效,例如,给所述第一分片的标识作标记,用于指示第一分片已向用户设备返回。
步骤S217:缓存节点转发更新后的第二获取请求。
缓存节点沿路径向下一个节点转发更新后的第二获取请求,以使后续节点向用户设备返回其他分片。
在本发明实施方式中,缓存节点接收到探测包,并更新探测包,使探测包能够探测出获取分片的最短距离,使得用户设备接收到探测包,根据分片在路径上的最短距离确定优选路径,并从优路径获取分片,减少分片在网络中的转发次数,从而有效减少网络的带宽的消耗,降低用户设备的访问延迟。
本发明又提供了用户设备实施方式。请参阅图7,图7是本发明用户设备第一实施方式的结构示意图。如图所示,用户设备30包括第一发送模块301、第一接收模块302、第二接收模块303、优选模块304以及第二发送模块305。
第一发送模块301向管理节点31发送用于请求目标内容的第一获取请求。第一获取请求包括用户设备30的地址及请求的目标内容的标识。管理节点31管理本地址域内所有的存储节点,并且管理节点31接收用户设备30的第一获取请求后,利用K阶任播方法选定第一存储节点32、第一路径、第二存储节点33及第二路径,第一路径为第一存储节点32到用户设备30,第二路径为第二存储节点33到用户设备30的路径。同时,管理节点31通知第一存储节点32沿第一路径向用户设备30发送第一探测包,第二存储节点33沿第二路径向用户设备30发送第二探测包。
第一接收模块302接收由管理节点31确定的第一存储节点32发送的第一探测包,第一探测包包括目标内容的分片的标识和分片在第一路径上到用户设备30的最短距离,第一路径为第一探测包经过的路径。第二接收模块303接收由管理节点31确定的第二存储节点33发送的第二探测包,第二探测包包括分片的标识和分片在第二路径上到用户设备30的最短距离,第二路径为第二探测包经过的路径。分片在第二路径上到用户设备30的最短距离为分片到达用户设备30所需要经历的最少的路由转发次数。
优选模块304根据分片在第一路径上到用户设备30的最短距离、分片在第二路径上到用户设备30的最短距离确定优选路径,优选路径为第一路径和第二路径中的路径。
第一探测包除了探测分片在第一路径上的最短距离之外,还可以探测包分片在第一路径上的数量。同样的,第二探测包除了探测分片在第二路径上的最短距离之外,还可以探测包分片在第二路径上的数量。则优选模块304还可包括第一计算单元3041、第二计算单元3042及选取单元3043。
第一计算单元3041用于根据分片在第一路径上到用户设备30的最短距离及数量,获取分片的第一概率,其中,第一概率通过以下计算方式得到:
p 1 i = 1 / ( w d Σ i d 1 i w n Σ i n 1 i ) , Σ i n j i ≠ 0
Figure BDA00002289956100223
为第一概率,i为分片的编号,并且i为自然数,wn为分片的数量的权重,wd为分片到用户设备30的最短距离的权重,
Figure BDA00002289956100224
为第一路径上分片i到用户设备30的最短距离,
Figure BDA00002289956100225
为第一路径上分片i的数量。
第一探测包除了包括分片在第一路径上的最短距离及数量之外,还可进一步探测分片在第一路径的缓存时间。缓存时间为路径上的缓存节点缓存分片的时间点到接收探测包的时间点之间的时间段。则第一计算单元3041又可具体用于根据分片在第一路径上到用户设备30的最短距离、数量及缓存时间,获取分片的第一概率,其中,第一概率通过以下的计算方式得到:
p 1 i = w d i ( 1 d 1 i ) + w n i n 1 i + w t i ( 1 t 1 i ) + c , d 1 i ≠ 0 , t 1 i ≠ 0
Figure BDA00002289956100229
为第一概率,i为目标内容分片的编号,并且i为自然数,
Figure BDA000022899561002210
为分片i到用户设备30的最短距离的权重,
Figure BDA000022899561002211
为第一路径上分片i到用户设备30的最短距离,为分片i的数量的权重,
Figure BDA000022899561002213
为第一路径上分片i的数量,为第一路径上分片i的缓存时间,
Figure BDA000022899561002215
为分片i的缓存时间的权重,c为加权系数。
第二计算单元3042,用于根据分片在第二路径上到用户设备30的最短距离及数量,获取分片的第二概率,其中,第二概率通过以下计算方式得到:
p 2 i = 1 / ( w d Σ i d 2 i w n Σ i n 2 i ) , Σ i n j i ≠ 0
Figure BDA000022899561002218
为第二概率,i为分片的编号,并且i为自然数,
Figure BDA000022899561002219
为第二路径上分片i到用户设备30的最短距离,wd为分片到用户设备30的最短距离的权重,为第二路径上分片i的数量,wn为分片的数量的权重。
同样的,第二探测包除了探测分片在第二路径上的最短距离及数量之外,还可进一步探测分片在第二路径的缓存时间,则第二计算单元3042又可具体用于根据分片在第二路径上到用户设备30的最短距离、数量及缓存时间,获取分片的第二概率,其中,第二概率通过以下的计算方式得到:
p 2 i = w d i ( 1 d 2 i ) + w n i n 2 i + w t i ( 1 t 2 i ) + c , d 2 i ≠ 0 , t 2 i ≠ 0
Figure BDA00002289956100234
为第二概率,
Figure BDA00002289956100235
为第二路径上分片i到用户设备30的最短距离,为分片i到用户设备30的最短距离的权重,
Figure BDA00002289956100237
为第二路径上分片i的数量,
Figure BDA00002289956100238
为分片i的数量的权重,
Figure BDA00002289956100239
为第二路径上分片i的缓存时间,
Figure BDA000022899561002310
为分片i的缓存时间的权重,i为目标内容分片的编号,并且i为自然数,c为加权系数;
选取单元3043:用于根据第一概率和第二概率确定优选路径。在本发明实施方式中,选取单元3043确定优选路径的一种方式为:判断分片在第一路径上到用户设备30的最短距离是否小于分片在第二路径上到用户设备30的最短距离,若是,则确第一路径为优选路径,若否,则确定第二路径为优选路径;或者,用户设备30还结合负载均衡、多路径原则确定优选路径,以平衡各路径的负载,提高获取分片的效率。在本发明实施方式中,可分别为第一路径和第二路径预设第一限定值和第二限定值,第一限定值为从第一路径获取分片的最大数量,第二限定值为从第二路径获取分片的最大数量。则选取单元3043又可包括第一判断单元30431、第一选择单元30432及第二选择单元30433。
第一判断单元30431用于判断第一概率是否大于第二概率;
第一选择单元30432,在第一判断单元30431判断到第一概率大于第二概率时,判断第一负载量是否小于第一限定值,若是,则确定第一路径为优选路径,若否,则确定第二路径为优选路径,第一负载量为从第一路径获取目标内容的分片的数量;
第二选择单元30433,用于第一判断单元30431判断到第一概率小于或等于第二概率时,则判断第二负载量是否小于第二限定值,若是,则确定第二路径为优选路径,若否,则确定第一路径为优选路径,其中,第二负载量为从第二路径获取目标内容的分片的数量。
在本发明实施方式中,第一接收模块和第二接收模块分别接收到第一探测包和第二探测包,第一探测包携带分片在第一路径上到用户设备的最短距离,第二探测包携带分片在第二路径上到用户设备的最短距离,并且根据分片在第一路径和第二路径上的最短距离确定优选路径,并从优选路径获取所述分片,减少该分片在网络中的转发次数,从而有效减少网络的带宽的消耗,降低用户设备的访问延迟。
请参阅图8,图8是本发明用户设备第二实施方式的结构示意图。如图所示,用户设备40包括处理器401和存储器402;
处理器401用于向管理节点41发送用于请求目标内容的第一获取请求;并接收由管理节点41确定的第一存储节点42点发送的第一探测包,第一探测包包括目标内容的分片的标识和分片在第一路径上到用户设备40的最短距离,第一路径为第一探测包经过的路径;同时,接收由管理节点41确定的第二存储节点43发送的第二探测包,第二探测包包括分片的标识和分片在第二路径上到用户设备40的最短距离,第二路径为第二探测包经过的路径;并根据分片在第一路径上到用户设备40的最短距离、分片在第二路径上到用户设备40的最短距离确定优选路径,优选路径为第一路径和第二路径中的路径;并沿优选路径发送用于获取分片的第二获取请求。
其中,处理器401执行的上述处理过程通常是由一段程序探制完成,程序存放于存储器402中,当用户设备40需要进行上述动作时,将程序调入处理器401,由处理器401完成处理。当然,上述处理过程还可以是由硬件完成
本发明又提供缓存节点实施方式。请参阅图9,图9是本发明缓存路由节点第一实施方式的结构示意图。如图所示,缓存节点50包括第一接收模块501、查询模块502、第一写入模块503以及第二接收模块504、返回模块505、更新模块506及第二转发模块507。
第一接收模块501接收来自存储节点51的探测包。查询模块502查询本地是否缓存有探测包请求探测的目标内容的第一分片。第一写入模块503在查询模块502查询到本地缓存有第一分片时,在探测包中写入新的第一距离,新的第一距离为第一分片与缓存节点50间的最短距离。第一分片与缓存节点50间的最短距离为第一分片到缓存节点50的所需要经历的最少的路由转发次数与常量之积再与初始值之和,并且常量不能为零。缓存节点50缓存有第一分片,此时,第一分片不需要经历路由转发就可到达缓存节点50,相当于,缓存节点50为可第一分片的起始点,第一分片到缓存节点50的最短距离为预设的初始值。初始值为分片在起始点时,为分片的最短距离所设置的值,初始值可以为零,也可以为其他数值。
可选的,探测包除了探测第一分片到用户设备52的最短距离之外,还可探测第一分片在路径的数量,则第一写入模块503具体用于:在探测包中写入新的第一距离及新的第一数量,新的第一数量为探测包中携带的旧的第一数量与一之和,第一数量为第一分片的数量;
可选的,探测包除了探测第一分片到用户设备52的最短距离和数量之外,还可探测第一分片在路径的缓存时间,则第一写入模块503具体用于:在探测包中写入新的第一距离、新的第一数量及第一缓存时间,新的第一数量为所述探测包中携带的旧的第一数量加一之和,第一数量为第一分片的数量,第一缓存时间为所述缓存节点50缓存第一分片的时间。
在本发明实施方式中,若探测包除了探测第一分片之外,还探测第二分片,则缓存节点50还包括第二写入模块508,第二写入模块508在探测包还请求探测第二分片,并且缓存节点50未缓存第二分片时,在探测包中写入新的第二距离,新的第二距离为第二分片与缓存节点50间的最短距离。其中,新的第二距离为探测包中携带的旧的第二距离与一个常量的和,旧的第二距离为第二分片和缓存节点50在探测包经过的路径上沿下行方向的上游邻居节点间的最短距离,下行方向为由存储节点51到用户设备52的方向。邻居节点为路径上存储第二分片的,并且离第二分片最近的节点。探测包更新完成后,缓存节点50向一下个节点发送已经更新的探测包。
第二接收模块504接收来自用户设备52根据探测包而生成的第二获取请求,第二获取请求包括用于表示请求第一分片的第一分片请求标识。第一分片请求标识可以为所述第一分片的标识。返回模块505用于根据第二获取请求向用户设备52返回第一分片。更新模块506在返回模块505返回第一分片后,更新第二获取请求。在本发明实施方式中,更新模块506更新第二获取请求的方式为:删除第二获取请求中的第一分片的标识;或,缓存节点50将第一分片请求标识置为无效,例如,给第一分片的标识作标记,用于指示第一分片已向用户设备52返回。
在本发明实施方式中,第一接收模块接收到探测包,第一写入模块和第二写入模块更新探测包,使得探测包能够探测出获取分片到用户设备的最短距离,进而使得用户设备可从分片到用户设备的最短距离确定优选路径,并从优路径获取所述分片,减少所述分片在网络中的转发次数,从而有效减少网络的带宽的消耗,降低用户设备的访问延迟。
请参阅图10,图10是本发明缓存节点第二实施方式的结构示意图。如图所示,缓存节点60包括处理器601和存储器602。
处理器601用接收来自存储节点61的探测包;查询本地是否缓存有探测包请求探测的目标内容的第一分片;若缓存有第一分片,在探测包中写入新的第一距离,新的第一距离为第一分片与缓存节点60间的最短距离;接收来自用户设备62根据探测包而生成的第二获取请求;并根据第二获取请求向用户设备62返回第一分片,并更新第二获取请求;并转发更新后的第二获取请求。
其中,处理器601执行的上述处理过程通常是由一段程序探制完成,程序存放于存储器602中,当缓存节点60需要进行上述处理时,将程序调入处理器601,由处理器601完成处理。当然,上述处理过程还可以是由硬件完成。
为了让读者能够更好了解本发明内容,以下从系统的角度,并举例进行说明,其中,每一个实例为一个独立内容,相互间不影响。请参阅图11、图12、图13、图14以及图15。系统包括管理节点900、存储节点910、存储节点911、存储节点912、缓存节点920、缓存节点921、缓存节点923、缓存节点924、用户设备940、用户设备941、用户设备942、一般路由节点930以及一般路由节点931,当然,上述列举的存储节点、缓存节点和一般路由节点仅为方便说明本发明内容,不是为限定存储节点、缓存节点和一般路由节点的数量。其中,一般路由节点仅具有转发功能,存储节点为具有转发功能和存储功能的路由器,缓存节点为具有转发功能和缓存功能的路由器,并且存储节点的存储能力一般在于缓存节点,但缓存节点的访问的速度优于存储节点。进一步地,假定所有的存储节点存储有目标内容C和B,目标内容C包括目标内容分片C1、C2、C3、C4、C5和C6,目标内容B包括目标内容分片B1和B2,缓存路由器可以存储3个目标内容分片,并且存储节点已经完成注册请求。
例一:
请参阅图11。步骤S11:假定本地址域内所有的缓存节点均没有存储有任何数据。用户设备941向管理节点900请求目标内容C;
步骤S12:管理节点900利用任播方法并结合最短路径算法,选定存储节点911和910、路径1和路径2,并通知存储节点911沿路径1发探测包1,存储节点910沿路径2发探测包2;
步骤S13:路径1和路径2上的缓存节点均没有存储有内容,故不更新探测包;
步骤S14:用户设备941接收到探测包1和探测包2,得到如下信息:
路径1上所有目标内容分片的距离为2,数量为1
路径2上所有目标内容分片的距离为4,数量为1
步骤S15:根据公式: p j i = w d i ( 1 d j i ) w n i n j i + w t i ( 1 t j i ) + c , d j i ≠ 0 , t j i ≠ 0
Figure BDA00002289956100274
c=0,由于没有记录时间不计算,因此计算结果为:
Figure BDA00002289956100276
i=1,2,...,6
Figure BDA00002289956100277
i=1,2,...,6则 R i = arg max j ( p j i ) = 1 , i=1,2,...,6,故用户设备941向路径1请求目标内容分片C的所有目标内容分片;
步骤S5:缓存节点923由于存储有任何内容,故不向用户设备941返回任何内容,并将转发目标内容分片获取请求,存储节点911向用户设备941返回目标内容C的所有目标内容分片,缓存节点923转发目标内容分片时,根据LRU算法更本地存储的内容,则缓存节点923最后存储有目标内容分片C4、C5和C6;
例二:
请参阅图12。步骤S21:假定缓存节点923存储有目标内容分片C4、C5和C6,用户设备941请求目标内容B;
步骤S22:管理节点900选定存储节点911、存储节点912、路径1和路径2,并通知存储节点911沿路径1向用户设备941发送探测包1和探测包2;
步骤S23:路径1和路径2上的缓存节点均没有存储目标内容B的目标内容分片,故不更新探测包;
步骤S24:用户设备941接收到探测包1和探测包2,得到如下信息:
路径1上所有目标内容分片的距离为2,数量为1
路径2上所有目标内容分片的距离为4,数量为1
步骤S24:获取概率的计算结果同实施例1,但可进一步考虑到多路径和负责均衡的原则,用户设备941向存储节点911请求目标内容分片B1,向存储节点912请求目标内容分片B2;
步骤S25:路径1和路径2上的缓存节点均没有存储目标内容分片,故不向用户设备941返回目标内容分片,存储节点911向用户设备941返回目标内容分片B1,存储节点912向用户设备941返回目标内容分片B2,缓存节点921和缓存节点923更新本地存储内容,缓存节点921存储有目标内容分片B2,缓存节点923存储有目标内容分片B1、B2和C6;
例三:
请参阅图13。步骤S31:假定缓存节点921存储有目标内容分片B2,缓存节点923存储有目标内容分片B1、B2和C6,用户设备940请求目标内容C;
步骤S32:管理节点900选定存储节点911、存储节点912、路径1和路径2,并通知存储节点911沿路径1向用户设备940发送探测包1和探测包2,并且探测包可使用Bloom Fliter数据结构记录相关信息;
步骤S33:缓存节点923和缓存节点921分别更新探测包1和探测包2;
步骤S34:用户设备940接收到探测包1和探测包2,得到如下信息:
路径1有存储有目标内容分片C6
路径2没有存储有目标内容分片;
步骤S35:根据公式 p j i = 1 / ( w d Σ i d j i w n Σ i n j i ) , Σ i n j i ≠ 0 , 取wd=wn=1,其中,
Figure BDA00002289956100293
是目标内容分片i到户设备的距离,是路径j上目标内容分片i的数量的总数,wd和wn分别为目标内容分片的距离和数量的权重,计算结果i=1,2,...,6;
Figure BDA00002289956100296
i=1,2,...,6进一步结合多路径和负载均衡原则,用户设备940向路径1请求目标内容分片C4、C5和C6,向路径2请求目标内容分片C1、C2和C3;
步骤S36:缓存节点611向用户设备940返回C6,存储节点911返回目标内容分片C4和C5,存储节点912返回目标内容分片C1、C2和C3,缓存节点911更新本地存储内容,则缓存节点923存储有目标内容分片C4、C5和C6,同理,缓存节点921和缓存节点924存储有目标内容分片C1、C2和C3。
例四:
请参阅图14。步骤S41:假定缓存节点923存储有目标内容分片C4、C5和C6,缓存节点921和缓存节点924存储有目标内容分片C1、C2和C3,用户设备942请求目标内容C;
步骤S42:管理节点900选定存储节点911、存储节点912、路径1和路径2,并通知存储节点911沿路径1向用户设备942发送探测包1和探测包2,并且探测包可使用Bloom Fliter数据结构记录相关信息;
步骤S43:用户设备942接收到探测包1和探测包2,得到如下信息:
路径1中存储有目标内容分片C1、C2、C3、C4、C5、C6
路径2中存储有目标内容分片C1、C2、C3
步骤S43,根据公式 p j i = 1 / ( w d Σ i d j i w n Σ i n j i ) , Σ i n j i ≠ 0 , 取wd=wn=1其中,
Figure BDA00002289956100303
是目标内容分片i到户设备的距离,
Figure BDA00002289956100304
是路径j上目标内容分片i的数量的总数,wd和wn分别为目标内容分片的距离和数量的权重,计算结果为
Figure BDA00002289956100305
i=1,2,...,6;i=1,2,...,6,可进一步结合多路径和负载均衡原则,向路径1请求目标内容分片C4、C5和C6,向路径2请求目标内容分片请求C1、C2和C3。
步骤S44:缓存节点921向户设备942返回目标内容分片C2和C3(C1,在缓存节点接收到目标内容分片获取请求之前,已经给替换),存储节点912返回目标内容分片C1,缓存节点923向用户设备942返回目标内容分片C4、C5和C6,缓存节点921和缓存节点924更新本地存储的内容,缓存节点923和缓存节点924存储有目标内容分片C4、C5和C6,缓存节点921存储有目标内容分片C1、C2和C3。
例五:
请参阅图15。步骤S51:假定缓存节点921存储目标内容C的分片C1、C2和C3,缓存节点923和缓存节点924存储有目标内容C的分片C4、C5和C6。
步骤S52:用户设备940向管理节点900请求目标内容C;
步骤S53:管理节点900根据目标内容C和用户设备的地址,利用K阶任播方法选定存储节点911和存储节点912提供服务,并通知存储节点911和存储节点912分别沿路径1和路径2向用户设备940发送探测包1和探测包2;
步骤S54:缓存节点923接收到探测包1后,查询本地存储信息,发现本地存储有目标内容分片C4、C5和C6,并将目标内容分片C4、C5和C6的数量、到用户设备的距离信息或者存储时间信息附于探测包1;同样地,缓存节点921和缓存节点924也根据本底存储信息,更新探测包2;
步骤S55:用户设备940接收到探测包1和探测包2,分别获取路径1和路径2中所存储有的目标内容分片的相关信息;若缓存节点923存储目标内容分片的时间为2,缓存节点921存储C2和C3的时间为2,存储C1的时间为1,缓存节点924存储目标内容分片的时间均为1;
步骤S56:用户设备940确定从路径1和路径2上获取每一个目标内容分片的概率,其中,概率的计算方法以下:
路径1: d 1 i = 2 + 3 , n 1 i = 2 , t 1 i = 2 , i=4,5,6; d 1 i = 3 , n 1 i = 1 , i=1,2,3
路径2: d 2 i = 1 + 3 , n 2 j = 2 , t 1 i = 1 , i=4,5,6;
d 2 i = 2 + 3 , n 2 j = 2 , i=1,2,3; t 2 1 = 1 , t 2 2 = t 2 3 = 2
根据公式: p j i = w d i ( 1 d j i ) + w n i n j i + w t i ( 1 t j i ) + c ,
Figure BDA000022899561003114
Figure BDA000022899561003115
取取
Figure BDA000022899561003116
c=0,,计算结果为
Figure BDA000022899561003117
i=4,5,6,i=1,2,3,
Figure BDA000022899561003119
i=4,5,6,i=1,
Figure BDA000022899561003121
i=2,3,进一步还可结合多路径和负载均衡原则,向路径1请求目标内容分片C1、C2和C3,向路径2请求C4、C5和C6。
步骤S57:缓存节点924向用户设备940返回目标内容分片C4、C5和C6,存储节点911向用户设备940返回目标内容分片C1、C2和C3,缓存节点923更新本地存储的内容,最后,缓存节点923和缓存节点921存储有目标内容分片C1、C2和C3,缓存节点924存储有目标内容分片C4、C5和C6。
其中,管理节点利用K阶任播方法为用户设备选定不同的存储节点和存储节点到用户设备的路径,并通知选定的存储节点沿选定的路径向用户设备发送探测包,探测包携带分片在路径上的最短距离,用户设备接收到探测包后,根据分片在不同路径的最短距离确定优选路径,并从优选路径获取分片,减少分片在网络中的转发次数,从而有效减少网络的带宽的消耗,降低用户设备的访问延迟。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (26)

1.一种获取内容的方法,其特征在于,包括:
用户设备向管理节点发送用于请求目标内容的第一获取请求;
所述用户设备接收由管理节点确定的第一存储节点发送的第一探测包,所述第一探测包包括目标内容的分片的标识和所述分片在第一路径上到用户设备的最短距离,所述第一路径为第一探测包经过的路径;
所述用户设备接收由管理节点确定的第二存储节点发送的第二探测包,所述第二探测包包括所述分片的标识和所述分片在第二路径上到用户设备的最短距离,所述第二路径为第二探测包经过的路径;
所述用户设备根据所述分片在第一路径上到用户设备的最短距离、所述分片在第二路径上到用户设备的最短距离确定优选路径,所述优选路径为第一路径和第二路径中的路径;
所述用户设备沿优选路径发送用于获取所述分片的第二获取请求。
2.根据权利要求1所述的方法,其特征在于,
所述第一探测包进一步包括所述分片在第一路径上的数量;
所述第二探测包进一步包括所述分片在第二路径上的数量;
所述用户设备根据所述分片在第一路径上到用户设备的最短距离和所述分片在第二路径上到用户设备的最短距离确定优选路径包括:
所述用户设备根据所述分片在第一路径上到用户设备的最短距离及数量,获取所述分片的第一概率;
所述用户设备根据分片在第二路径上到用户设备的最短距离及数量,获取所述分片的第二概率;
所述用户设备根据第一概率和第二概率确定优选路径。
3.根据权利要求2所述的方法,其特征在于,所述用户设备根据第一概率和第二概率确定优选路径包括:
所述用户设备判断第一概率是否小于第二概率,若所述第一概率大于第二概率,确定所述第一路径为优选路径,若所述第一概率小于第二概率,确定所述第二路径为优选路径。
4.根据权利要求2所述的方法,其特征在于,所述用户设备根据第一概率和第二概率确定优选路径包括:
所述用户设备判断第一概率是否大于第二概率;
若所述第一概率大于第二概率,则所述用户设备判断第一负载量是否小于第一限定值,若所述第一负载量小于第一限定值,则确定所述第一路径为优选路径,若第一负载量大于或者等于第一限定值,则确定所述第二路径为优选路径,其中,所述第一限定值为从所述第一路径获取目标内容的分片的最大数量,所述第一负载量为从所述第一路径获取目标内容的分片的数量;
若所述第一概率小于第二概率,则所述用户设备判断第二负载量是否小于第二限定值,若所述第二负载量小于第二限定值,则确定所述第二路径为优选路径,若第二负载量是大于或者等于第二限定值,则确定所述第一路径为优选路径,其中,所述第二限定值为从所述第二路径获取目标内容的分片的最大数量,所述第二负载量为从第二路径获取目标内容的分片的数量。
5.根据权利要求2所述的方法,其特征在于,所述第一概率通过以下的计算方式得到:
p 1 i = 1 / ( w d Σ i d 1 i w n Σ i n 1 i ) , Σ i n j i ≠ 0
所述
Figure FDA00002289956000023
为第一概率,所述i为所述分片的编号,并且所述i为自然数,所述wd为分片到用户设备的最短距离的权重,所述
Figure FDA00002289956000024
为第一路径上分片i到用户设备的最短距离,所述wn为分片的数量的权重,所述
Figure FDA00002289956000025
为第一路径上分片i的数量;
所述第二概率通过以下的计算方式得到:
p 2 i = 1 / ( w d Σ i d 2 i w n Σ i n 2 i ) , Σ i n j i ≠ 0
所述
Figure FDA00002289956000028
为第二概率,所述i为所述分片的编号,并且所述i为自然数,所述wd为分片到用户设备的最短距离的权重,所述
Figure FDA00002289956000029
为第二路径上分片i到用户设备的最短距离,所述wn为分片的数量的权重,所述
Figure FDA00002289956000031
为第二路径上分片i的数量。
6.根据权利要求2所述的方法,其特征在于,所述第一探测包还包括所述分片在第一路径上的缓存时间,所述第二探测包还包括所述分片在第二路径上的缓存时间;
所述用户设备根据所述分片在第一路径上到用户设备的最短距离及数量,获取所述分片的第一概率包括:
所述用户设备根据所述分片在第一路径上到用户设备的最短距离、数量及缓存时间,获取所述分片的第一概率;
所述用户设备根据所述分片在第二路径上到用户设备的最短距离及数量,获取所述分片的第二概率包括:
所述用户设备根据所述分片在第二路径上到用户设备的最短距离、数量及缓存时间,获取所述分片的第二概率。
7.根据权利要求6所述的方法,其特征在于,所述第一概率通过以下的计算方式得到:
p 1 i = w d i ( 1 d 1 i ) + w n i n 1 i + w t i ( 1 t 1 i ) + c , d 1 i ≠ 0 , t 1 i ≠ 0
所述为第一概率,所述i为目标内容分片的编号,并且所述i为自然数,所述
Figure FDA00002289956000036
为分片i到用户设备的最短距离的权重,所述
Figure FDA00002289956000037
为第一路径上分片i到用户设备的最短距离,所述
Figure FDA00002289956000038
为分片i的数量的权重,所述
Figure FDA00002289956000039
为第一路径上分片i的数量,所述
Figure FDA000022899560000310
为第一路径上分片i的缓存时间,所述
Figure FDA000022899560000311
为分片i的缓存时间的权重,c为加权系数;
所述第二概率通过以下的计算方式得到:
p 2 i = w d i ( 1 d 2 i ) + w n i n 2 i + w t i ( 1 t 2 i ) + c , d 2 i ≠ 0 , t 2 i ≠ 0
所述
Figure FDA000022899560000315
为第二概率,所述i为目标内容分片的编号,并且所述i为自然数,所述
Figure FDA000022899560000316
为分片i到用户设备的最短距离的权重,所述
Figure FDA000022899560000317
为第二路径上分片i到用户设备的最短距离,所述
Figure FDA000022899560000318
为分片i的数量的权重,所述
Figure FDA000022899560000319
为第二路径上分片i的数量,所述
Figure FDA000022899560000320
为第二路径上分片i的缓存时间,所述
Figure FDA00002289956000041
为分片i的缓存时间的权重,c为加权系数。
8.一种获取内容的方法,其特征在于,所述方法包括:
缓存节点接收来自存储节点的探测包;
所述缓存节点查询本地是否缓存有探测包请求探测的目标内容的第一分片;
若缓存有所述第一分片,在所述探测包中写入新的第一距离,所述新的第一距离为所述第一分片与所述缓存节点间的最短距离;
所述缓存节点接收用户设备根据所述探测包而生成的第二获取请求,所述第二获取请求包括用于表示请求所述第一分片的第一分片请求标识;
所述缓存节点根据第二获取请求向用户设备返回所述第一分片,并更新所述第二获取请求;
所述缓存节点转发更新后的第二获取请求。
9.根据权利要求8所述的方法,其特征在于,所述在所述探测包中写入新的第一距离包括:
将预设的初始值作为所述新的第一距离写入所述探测包。
10.根据权利要求8或9所述的方法,其特征在于,所述缓存节点在所述探测包中写入新的第一距离包括:
所述缓存节点在所述探测包中写入新的第一距离及新的第一数量,所述新的第一数量为所述探测包中携带的旧的第一数量与一之和,所述第一数量为第一分片的数量;
或,
所述缓存节点在所述探测包中写入新的第一距离、新的第一数量及第一缓存时间,所述新的第一数量为所述探测包中携带的旧的第一数量与一之和,所述第一数量为第一分片的数量,所述第一缓存时间为所述缓存节点缓存第一分片的时间。
11.根据权利要求8或9所述的方法,其特征在于,当所述探测包还请求探测第二分片,并且所述缓存节点未缓存所述第二分片时,所述方法还包括:
所述缓存节点在所述探测包中写入新的第二距离。
12.根据权利要求11述的方法,其特征在于,所述新的第二距离为所述探测包中携带的旧的第二距离与一个常量的和,所述旧的第二距离为所述第二分片和所述缓存节点在所述探测包经过的路径上沿下行方向的上游邻居节点间的最短距离,所述下行方向为由所述存储节点到所述用户设备的方向。
13.根据权利要求8至12中任一项所述的方法,其特征在于,所述更新第二获取请求包括:
所述缓存节点删除所述第一分片请求标识;
或,
所述缓存节点将所述第一分片请求标识置为无效。
14.一种用户设备,其特征在于,所述用户设备包括:
第一发送模块,用于向管理节点发送用于请求目标内容的第一获取请求;
第一接收模块,用于接收由所述管理节点确定的第一存储节点发送的第一探测包,所述第一探测包包括目标内容的分片的标识和所述分片在第一路径上到用户设备的最短距离,所述第一路径为第一探测包经过的路径;
第二接收模块,用于接收由所述管理节点确定的第二存储节点发送的第二探测包,所述第二探测包包括所述分片的标识和所述分片在第二路径上到用户设备的最短距离,所述第二路径为第二探测包经过的路径;
优选模块,用于根据所述分片在第一路径上到用户设备的最短距离、所述分片在第二路径上到用户设备的最短距离确定优选路径,所述优选路径为第一路径和第二路径中的路径;
第二发送模块,用于沿所述优选路径发送用于获取所述分片的第二获取请求。
15.根据权利要求14所述的用户设备,其特征在于,
所述第一探测包进一步包括所述分片在第一路径上的数量;
所述第二探测包进一步包括所述分片在第二路径上的数量;
所述优选模块包括第一计算单元、第二计算单元及选取单元;
第一计算单元,用于根据所述分片在第一路径上到用户设备的最短距离及数量,获取所述分片的第一概率;
第二计算单元,用于根据分片在第二路径上到用户设备的最短距离及数量,获取所述分片的第二概率;
选取单元,用于根据第一概率和第二概率确定选优路径。
16.根据权利要求15所述的用户设备,其特征在于,所述选取单元具体用于:判断所述第一概率是否大于第二概率,若所述第一概率大于第二概率,确定所述第一路径为优选路径,若所述第一概率小于第二概率,确定所述第二路径为优选路径。
17.根据权利要求15所述的用户设备,其特征在于,所述选取单元包括第一判断单元、第一选择单元及第二选择单元;
第一判断单元,用于判断所述第一概率是否大于第二概率;
第一选择单元,用于在所述第一概率大于第二概率时,判断第一负载量是否小于第一限定值,若第一负载量小于第一限定值,则确定所述第一路径为优选路径,若第一负载量大于或者等于第一限定值,则确定所述第二路径为优选路径,其中,所述第一限定值为从所述第一路径获取目标内容的分片的最大数量,所述第一负载量为从所述第一路径获取目标内容的分片的数量;
第二选择单元,用于在所述第一概率小于或等于第二概率时,则判断第二负载量是否小于第二限定值,若第二负载量小于第二限定值,则确定所述第二路径为优选路径,若第二负载量大于或者等于第二限定值,则确定所述第一路径为优选路径,其中,所述第二限定值为从所述第二路径获取目标内容的分片的最大数量,所述第二负载量为从第二路径获取目标内容的分片的数量。
18.根据权利要求15所述的用户设备,其特征在于,所述第一概率通过以下的计算方式得到:
p 1 i = 1 / ( w d Σ i d 1 i w n Σ i n 1 i ) , Σ i n j i ≠ 0
所述
Figure FDA00002289956000073
为第一概率,所述i为所述分片的编号,并且所述i为自然数,所述wn为分片的数量的权重,所述wd为分片到用户设备的最短距离的权重,所述
Figure FDA00002289956000074
为第一路径上分片i到用户设备的最短距离,所述
Figure FDA00002289956000075
为第一路径上分片i的数量;
所述第二概率通过以下的计算方法得到:
p 2 i = 1 / ( w d Σ i d 2 i w n Σ i n 2 i ) , Σ i n j i ≠ 0
所述为所述第二概率,所述i为所述分片的编号,并且所述i为自然数,所述wd为分片到用户设备的最短距离的权重,所述
Figure FDA00002289956000079
为第二路径上分片i到用户设备的最短距离,所述wn为分片的数量的权重,所述
Figure FDA000022899560000710
为第二路径上分片i的数量。
19.根据权利要求15所述的用户设备,其特征在于,所述第一探测包还包括所述分片在第一路径上的缓存时间,所述第二探测包还包括所述分片在第二路径上的缓存时间;
所述第一计单元具体用于根据所述分片在第一路径上到用户设备的最短距离、数量及缓存时间,获取所述分片的第一概率;
所述第二计算单元具体用于根据分片在第二路径上到用户设备的最短距离、数量及缓存时间,获取所述分片的第二概率。
20.根据权利要求19所述的用户设备,其特征在于,所述第一概率通过以下的计算方式得到:
p 1 i = w d i ( 1 d 1 i ) + w n i n 1 i + w t i ( 1 t 1 i ) + c , d 1 i ≠ 0 , t 1 i ≠ 0
所述
Figure FDA000022899560000714
为第一概率,所述i为目标内容分片的编号,并且所述i为自然数,所述
Figure FDA000022899560000715
为分片i到用户设备的最短距离的权重,所述
Figure FDA000022899560000716
为第一路径上分片i到用户设备的最短距离,所述
Figure FDA000022899560000717
为分片i的数量的权重,所述
Figure FDA000022899560000718
为第一路径上分片i的数量,所述
Figure FDA000022899560000719
为第一路径上分片i的缓存时间,所述
Figure FDA00002289956000081
为分片i的缓存时间的权重,c为加权系数;
所述第二概率通过以下的计算方式得到:
p 2 i = w d i ( 1 d 2 i ) + w n i n 2 i + w t i ( 1 t 2 i ) + c , d 2 i ≠ 0 , t 2 i ≠ 0
所述
Figure FDA00002289956000085
为第二概率,所述i为目标内容分片的编号,并且所述i为自然数,所述
Figure FDA00002289956000086
为分片i到用户设备的最短距离的权重,所述
Figure FDA00002289956000087
为第二路径上分片i到用户设备的最短距离,所述
Figure FDA00002289956000088
为分片i的数量的权重,所述为第二路径上分片i的数量,所述
Figure FDA000022899560000810
为分片i的缓存时间的权重,所述
Figure FDA000022899560000811
为第二路径上分片i的缓存时间,c为加权系数。
21.一种缓存节点,其特征在于,所述缓存节点包括:
第一接收模块,用于接收来自存储节点的探测包;
查询模块,用于查询本地是否缓存有探测包请求探测的目标内容的第一分片;
第一写入模块,用于在所述查询模块查询到本地缓存有第一分片时,在所述探测包中写入新的第一距离,所述新的第一距离为所述第一分片与所述缓存节点间的最短距离;
第二接收模块,用于接收来自用户设备根据探测包而生成的第二获取请求,所述第二获取请求包括用于表示请求所述第一分片的第一分片请求标识;
返回模块,用于根据第二获取请求向用户设备返回所述第一分片;
更新模块,用于在所述返回模块返回第一分片后,更新所述第二获取请求;
转发模块,用于转发更新后的第二获取请求。
22.根据权利要求21所述的缓存节点,其特征在于,所述新的第一距离为预设的初始值。
23.根据权利要求21或者22所述的缓存节点,其特征在于,所述第一写入模块具体用于在所述探测包中写入新的第一距离及新的第一数量,所述新的第一数量为所述探测包中携带的旧的第一数量加一之和,所述第一数量为第一分片的数量;
或,
在所述探测包中写入新的第一距离、新的第一数量及第一缓存时间,所述新的第一数量为所述探测包中携带的旧的第一数量加一之和,所述第一数量为第一分片的数量,所述第一缓存时间为所述缓存节点缓存第一分片的时间。
24.根据权利要求21或者22所述的缓存节点,其特征在于,所述探测包还包括第二写入模块;
所述第二写入模块,用于在所述探测包还请求探测第二分片,并且所述缓存节点未缓存所述第二分片时,在所述探测包中写入新的第二距离,所述新的第二距离为所述第二分片与所述缓存节点间的最短距离。
25.根据权利要求24所述的缓存节点,其特征在于,所述新的第二距离为所述探测包中携带的旧的第二距离与一个常量的和,所述旧的第二距离为所述第二分片和所述缓存节点在所述探测包经过的路径上沿下行方向的上游邻居节点间的最短距离,所述下行方向为由所述存储节点到所述用户设备的方向。
26.根据权利要求21至25中任一项所述的缓存节点,其特征在于,所述更新模块具体用于删除第一分片请求标识,或者将所述第一分片请求标识置为无效。
CN201210404745.5A 2012-10-22 2012-10-22 一种获取内容方法及用户设备、缓存节点 Active CN103780482B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201210404745.5A CN103780482B (zh) 2012-10-22 2012-10-22 一种获取内容方法及用户设备、缓存节点
EP13849740.9A EP2911345B1 (en) 2012-10-22 2013-08-06 Content acquisition method, and user equipment and cache node
PCT/CN2013/080901 WO2014063510A1 (zh) 2012-10-22 2013-08-06 一种获取内容方法及用户设备、缓存节点
US14/692,473 US9749216B2 (en) 2012-10-22 2015-04-21 Method for acquiring content, user equipment and cache node

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210404745.5A CN103780482B (zh) 2012-10-22 2012-10-22 一种获取内容方法及用户设备、缓存节点

Publications (2)

Publication Number Publication Date
CN103780482A true CN103780482A (zh) 2014-05-07
CN103780482B CN103780482B (zh) 2017-06-27

Family

ID=50543958

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210404745.5A Active CN103780482B (zh) 2012-10-22 2012-10-22 一种获取内容方法及用户设备、缓存节点

Country Status (4)

Country Link
US (1) US9749216B2 (zh)
EP (1) EP2911345B1 (zh)
CN (1) CN103780482B (zh)
WO (1) WO2014063510A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106844399A (zh) * 2015-12-07 2017-06-13 中兴通讯股份有限公司 分布式数据库系统及其自适应方法
CN109688204A (zh) * 2018-12-05 2019-04-26 量子云未来(北京)信息科技有限公司 基于ndn网络的文件下载方法、装置、节点、终端
CN113542114A (zh) * 2020-04-20 2021-10-22 华为技术有限公司 路由配置方法和路由配置装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10936220B2 (en) * 2019-05-02 2021-03-02 EMC IP Holding Company LLC Locality aware load balancing of IO paths in multipathing software
CN111580755B (zh) * 2020-05-09 2022-07-05 杭州海康威视系统技术有限公司 分布式数据处理系统、分布式数据处理方法
CN112910981B (zh) * 2021-01-27 2022-07-26 联想(北京)有限公司 一种控制方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6820133B1 (en) * 2000-02-07 2004-11-16 Netli, Inc. System and method for high-performance delivery of web content using high-performance communications protocol between the first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
US7565450B2 (en) 2000-03-16 2009-07-21 Adara Networks Inc. System and method for using a mapping between client addresses and addresses of caches to support content delivery
US6970939B2 (en) 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
EP1324546A1 (en) * 2001-12-28 2003-07-02 Motorola, Inc. Dynamic content delivery method and network
US9674073B2 (en) 2005-06-22 2017-06-06 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for route cost determination and selection with link cost interaction
CN100496023C (zh) * 2006-05-25 2009-06-03 杭州华三通信技术有限公司 一种传输链路状态信息的方法
US20080313350A1 (en) * 2007-06-18 2008-12-18 Verizon Services Organization Inc. Method and system of cache discovery in a peer-to-peer environment
KR101557680B1 (ko) * 2008-11-05 2015-10-07 삼성전자주식회사 이동 무선통신 시스템의 단말기 속도 추정 장치 및 방법
CN101741736B (zh) * 2009-12-09 2012-07-18 中兴通讯股份有限公司 一种发送报文时可切换路径的确定方法及其系统
CN101860550B (zh) 2010-06-25 2013-02-27 复旦大学 一种基于路由器缓存的流媒体系统加速方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106844399A (zh) * 2015-12-07 2017-06-13 中兴通讯股份有限公司 分布式数据库系统及其自适应方法
CN109688204A (zh) * 2018-12-05 2019-04-26 量子云未来(北京)信息科技有限公司 基于ndn网络的文件下载方法、装置、节点、终端
CN109688204B (zh) * 2018-12-05 2022-01-04 量子云未来(北京)信息科技有限公司 基于ndn网络的文件下载方法、节点、终端
CN113542114A (zh) * 2020-04-20 2021-10-22 华为技术有限公司 路由配置方法和路由配置装置
CN113542114B (zh) * 2020-04-20 2022-11-11 华为技术有限公司 路由配置方法和路由配置装置
US12101249B2 (en) 2020-04-20 2024-09-24 Huawei Technologies Co., Ltd. Route configuration method and route configuration apparatus

Also Published As

Publication number Publication date
CN103780482B (zh) 2017-06-27
EP2911345A4 (en) 2015-10-07
EP2911345B1 (en) 2020-04-22
US20150229558A1 (en) 2015-08-13
US9749216B2 (en) 2017-08-29
WO2014063510A1 (zh) 2014-05-01
EP2911345A1 (en) 2015-08-26

Similar Documents

Publication Publication Date Title
US8762477B2 (en) Method for collaborative caching for content-oriented networks
CN103780482A (zh) 一种获取内容方法及用户设备、缓存节点
CN102143290B (zh) 一种对等网络中网络电话业务的中转节点选择方法及系统
CN102291447A (zh) 内容分发网络负载调度方法和系统
CN101127714B (zh) 一种无线网状网络中路由管理方法及设备
CN105657006B (zh) 一种基于上网加速网络的首次访问加速方法和系统
US10452726B2 (en) In-network semantic mashup for an information-centric networking (ICN) network
CN108964746B (zh) 时变卫星网络多拓扑搜索最短路由方法
CN102594679B (zh) 用于确定视频应用中网络节点的运营信息的方法和设备
CN101267356B (zh) 测量Overlay节点间网络性能的方法、装置和系统
CN105991365B (zh) 路径探测的方法、设备和系统
CN104270312B (zh) 支持流量优化和应用感知的中继路径分配系统及方法
CN103997461A (zh) 一种基于蚁群算法的内容中心网络缓存定位方法
CN109644160B (zh) 通过分类在icn中进行名称解析和制作者选择的混合方法
CN107040466B (zh) 基于物联网分层架构的多域协同数据传输的路径选择方法
CN103888517A (zh) 用于发布订阅系统的实现历史事件订阅的缓存方法
Iqbal Cache-MCDM: A hybrid caching scheme in Mobile Named Data Networks based on multi-criteria decision making
Leão et al. Latency and network lifetime trade-off in geographic multicast routing for multi-sink wireless sensor networks
US20060120391A1 (en) Determining highest workloads for nodes in an overlay network
Joung et al. Tug-of-war: An adaptive and cost-optimal data storage and query mechanism in wireless sensor networks
Yovita et al. Performance Analysis of Cache Replacement Algorithm using Virtual Named Data Network Nodes
CN118101876A (zh) 实时音视频通讯的方法、系统、存储介质及电子设备
Stingl Decentralized Monitoring in Mobile Ad Hoc Networks-Provisioning of Accurate and Location-Aware Monitoring Information
Wang et al. DBLAR: A distance-based location-aided routing for MANET
Li et al. SVDR: A scalable virtual domain-based routing scheme for CCN

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