CN102014066B - 一种覆盖网络中的数据缓存管理方法 - Google Patents
一种覆盖网络中的数据缓存管理方法 Download PDFInfo
- Publication number
- CN102014066B CN102014066B CN2010105849242A CN201010584924A CN102014066B CN 102014066 B CN102014066 B CN 102014066B CN 2010105849242 A CN2010105849242 A CN 2010105849242A CN 201010584924 A CN201010584924 A CN 201010584924A CN 102014066 B CN102014066 B CN 102014066B
- Authority
- CN
- China
- Prior art keywords
- request message
- cache
- neighbor node
- node
- cache request
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种覆盖网络中的数据缓存管理方法,该方法通过对数据缓存者的均匀选择来实现数据的分布式均匀缓存。本发明的技术方案中引入了概率方法来控制是否缓存数据,能有效适应覆盖网络中节点的加入与离开,具有良好的可扩展性;同时还将节点是否成为缓存者的判断放在每次节点接收到缓存请求消息时,再通过TTL值控制缓存者与数据源的距离使得缓存者均匀分布于网络中,起到分散负载的作用,可以降低覆盖网络中“热点”的出现,提高网络的鲁棒性。
Description
技术领域
本发明属于信息工程领域,涉及一种覆盖网络中的数据缓存管理的方法。
背景技术
覆盖网络是基于现有的物理通信网络建立的一个虚拟的逻辑网络,覆盖网络不需要修改网络层的协议,无需更换大量网络设备进行重新部署,而是在应用层加入对通信的管理与控制来保证服务质量,可以有效节约成本。目前典型的覆盖网络如P2P网络已经在流媒体、即时消息、在线网络游戏等领域取得了广泛的应用。
一种在覆盖网络中开展的重要需求就是通过一个数据源向多个节点发送数据,称为数据多播,而保证数据多播可靠性与可扩展性的关键是数据缓存管理方法。目前的缓存管理方法是通过将网络中节点的地址与缓存消息的哈希值进行比较,当两者的差值在一个指定的阈值范围内或精确匹配时就将消息缓存到指定节点。这样虽然可以实现比较精确的缓存者(bufferer)定位,但是哈希函数是一种预先定义的计算机制,当有新节点加入到覆盖网络中时哈希函数不能重新进行定义,导致新节点不能成为缓存者,所以这样的缓存管理方法并不适用于动态变化的网络环境,可扩展性较差。
发明内容
针对上述存在的技术问题,本发明提出了一种能用于动态变化的覆盖网络中的数据缓存管理方法,该方法通过对数据缓存者的均匀选择来实现数据的分布式均匀缓存。
为了解决上述技术问题,本发明采用如下的技术方案:
一种在覆盖网络中的数据缓存管理方法,包括以下步骤:
S1、源节点SN随机选择一个邻居节点LN并向其发送数据条目i的缓存请求消息R;
S2、当缓存请求消息R到达邻居节点LN时,邻居节点LN将缓存请求消息R的TTL值减1;
S3、邻居节点LN检查本地缓存是否包含缓存请求消息R,如果包含有缓存请求消息R,则将缓存请求消息R转发给邻居节点,然后循环执行步骤S2;否则执行步骤S4;
S4、邻居节点LN检查缓存请求消息R的TTL值是否为0,如果为0,执行步骤S4-1;否则,执行步骤S4-2:
S4-1、邻居节点LN将缓存请求消息R放入本地缓存,然后执行步骤S5;
S4-2、邻居节点LN生成随机数x,其中,0<x<1,比较x与本地缓存的满载率f,其中,满载率f为本地缓存中已存储的数据条目个数与本地缓存所能存储数据条目个数的比值,如果x大于f,则执行步骤S4-1;否则,将缓存请求消息R随机转发给邻居节点,然后循环执行步骤S2;
S5、邻居节点LN向源节点SN发送反馈消息,源节点SN记录数据条目i的缓存者LN,并将数据条目i发送给缓存者LN。
上述TTL的初始值为TTL0=logsN,其中,s为邻居节点LN的邻居节点个数,N为网络规模。
上述邻居节点LN将缓存请求消息R转发给邻居节点的步骤具体为:
邻居节点LN检查缓存请求消息R的TTL值是否为0,如果为0,将缓存请求消息R的TTL值加1后随机转发给邻居节点LN的邻居节点;否则,直接将缓存请求消息R随机转发给邻居节点LN的邻居节点;
上述邻居节点LN将缓存请求消息R放入本地缓存的步骤具体为:
邻居节点LN检查本地缓存是否满载,如果满载,则删除本地缓存中最早存入的缓存请求消息并将缓存请求消息R放入本地缓存;否则,直接将缓存请求消息R放入本地缓存。
本发明中,当源节点发出缓存请求消息R后,每个收到缓存请求消息R的邻居节点将检查本地缓存中是否包含缓存请求消息R,如果包含并且此时缓存请求消息R的TTL值为0,说明缓存请求消息R应该被缓存到一个已经缓存了缓存请求消息R的节点上,则将缓存请求消息R继续转发到其他节点;如果收到缓存请求消息R的节点不包含缓存请求消息R,则在缓存请求消息R的TTL为0时将缓存请求消息R缓存到本地缓存,否则继续转发缓存请求消息R,在缓存过程中如果缓存区满则将删除最早缓存的消息来释放空间使得R可以被缓存。
与现有技术相比,本发明具有如下优点和有益效果:
本发明引入了概率方法来控制是否缓存数据,能有效适应覆盖网络中节点的加入与离开,具有良好的可扩展性;同时本发明方法还将节点是否成为缓存者的判断放在每次节点接收到缓存请求消息时,再通过TTL值控制缓存者与数据源的距离使得缓存者均匀分布于网络中,起到分散负载的作用,可以降低覆盖网络中“热点”的出现,提高网络的鲁棒性。
附图说明
图1为缓存者决定过程的示意图;
图2为缓存管理方法的实际拓扑示意图。
具体实施方式
本发明提出了一种覆盖网络中的缓存管理方法,该方法具体步骤如下:
S1、源节点SN从本地邻居节点列表中随机选择邻居节点LN并向邻居节点LN发送数据条目i的缓存请求消息R;
S2、当缓存请求消息R到达邻居节点LN时,邻居节点LN将缓存请求消息R的TTL值减1;
TTL值表示消息在网络中的生存时间,每当节点收到一个缓存请求消息时,就将缓存请求消息的TTL值减1,TTL为整数值,其初始值与网络规模有关,一般由公式TTL0=logsN计算其初始值为TTL0,s为邻居节点LN的邻居节点个数,N为网络规模;
S3、邻居节点LN检查本地缓存是否包含缓存请求消息R,如果包含有缓存请求消息R,则将缓存请求消息R转发给邻居节点,然后循环执行步骤S2;否则执行步骤S4;
邻居节点LN将缓存请求消息R转发给邻居节点的步骤具体为:
节点LN检查缓存请求消息R的TTL值是否为0,如果为0,将缓存请求消息R的TTL值加1后随机转发给邻居节点LN的邻居节点;否则,直接将缓存请求消息R随机转发给邻居节点LN的邻居节点;
S4、邻居节点LN检查缓存请求消息R的TTL值是否为0,如果为0,执行步骤S4-1;否则,执行步骤S4-2:
S4-1、邻居节点LN将缓存请求消息R放入本地缓存,然后执行步骤S5;
邻居节点LN将缓存请求消息R放入本地缓存的步骤具体为:
邻居节点LN检查本地缓存是否满载,如果满载,则删除本地缓存中最早存入的缓存请求消息并将缓存请求消息R放入本地缓存;否则,直接将缓存请求消息R放入本地缓存;
S4-2、邻居节点LN生成随机数x,其中,0<x<1,比较x与本地缓存的满载率f,其中,满载率f可用公式f=u/s计算得到,其中,u为已存储在邻居节点LN的本地缓存中的数据条目个数,s为邻居节点LN的本地缓存能够存储的数据条目个数,如果x大于f,则执行步骤S4-1;否则,将缓存请求消息R随机转发给邻居节点,然后循环执行步骤S2;
S5、邻居节点LN向源节点SN发送反馈消息,源节点SN记录数据条目i的缓存者LN,并将数据条目i发送给缓存者LN。
图2为一覆盖网拓扑示意图,图中所示的覆盖网络由终端节点A、B、C、D、Z构成,网络规模为6,源节点为S,Z为缓存者,即最终接收缓存请求的目标节点,缓存请求消息R的TTL值为4,节点A、C的缓存满载率f分别为0.6、0.4,节点B、D的缓存中分别存在缓存请求消息R,节点D的缓存已满。
下面将结合附图2对本发明作进一步说明:
1)源节点S要将数据条目i缓存到覆盖网络中的其他节点上,先从自己的邻居表中随机选出节点A,并向节点A发送一个缓存请求消息R;
2)当缓存请求消息R到达节点A时,节点A将缓存请求消息R的TTL值减1,即缓存请求消息R的TTL值变为3;
3)节点A检查本地缓存发现没有缓存请求消息R,节点A检查缓存请求消息R的TTL值,此时缓存请求消息R的TTL值为3,节点A本地缓存的满载率f为0.6,节点A生成随机数0.5,比较节点A生成的随机数和节点A当前缓存的满载率f,节点A生产的随机数小于其当前缓存的满载率f,所以节点A将缓存请求消息R转发给其邻居节点B;
4)当缓存请求消息R到达节点B时,节点B将缓存请求消息R的TTL值减1,即缓存请求消息R的TTL变为2,节点B检查本地缓存发现有缓存请求消息R,节点B直接将缓存请求消息R转发给其邻居节点C;
5)当缓存请求消息R到达节点C时,节点C将缓存请求消息R的TTL值减1,即缓存请求消息R的TTL变为1;节点C检查本地缓存发现没有缓存请求消息R,节点C检查缓存请求消息R的TTL值,此时,缓存请求消息R的TTL为1,节点C本地缓存的满载率f为0.4;节点C生成随机数0.2,小于节点C当前的缓存满载率0.4,所以节点C将缓存请求消息R转发其邻居节点D;
6)当缓存请求消息R到达节点D时,节点D将缓存请求消息R的TTL值减1,即缓存请求消息R的TTL变为0,节点D检查本地缓存发现有缓存请求消息R,节点D将缓存请求消息R的TTL加1,此时缓存请求消息R的TTL值变为1,节点D将缓存请求消息R转发给其邻居节点Z;
7)当缓存请求消息R到达节点Z时,节点Z将缓存请求消息R的TTL值减1,即缓存请求消息R的TTL变为0,节点Z检查本地缓存发现没有缓存请求消息R并发现本地缓存已满,节点Z删除最早放入本地缓存的数据条目并将缓存请求消息R放入节点Z的本地缓存中;
8)节点Z向源节点S发送个反馈消息告知缓存请求消息R已经存入节点Z的本地缓存中;
9)源节点S记录数据条目i的缓存者为节点Z,并将数据条目i发送给节点Z。
Claims (4)
1.一种覆盖网络中的数据缓存管理方法,其特征在于,包括以下步骤:
S1、源节点SN随机选择一个邻居节点LN并向其发送数据条目i的缓存请求消息R;
S2、当缓存请求消息R到达邻居节点LN时,邻居节点LN将缓存请求消息R的TTL值减1;
S3、邻居节点LN检查本地缓存是否包含缓存请求消息R,如果包含有缓存请求消息R,则将缓存请求消息R转发给邻居节点,然后循环执行步骤S2;否则执行步骤S4;
S4、邻居节点LN检查缓存请求消息R的TTL值是否为0,如果为0,执行步骤S4-1;否则,执行步骤S4-2:
S4-1、邻居节点LN将缓存请求消息R放入本地缓存,然后执行步骤S5;
S4-2、邻居节点LN生成随机数x,其中,0<x<1,比较x与本地缓存的满载率f,其中,满载率f为本地缓存中已存储的数据条目个数与本地缓存所能存储数据条目个数的比值,如果x大于f,则执行步骤S4-1;否则,将缓存请求消息R随机转发给邻居节点,然后循环执行步骤S2;
S5、邻居节点LN向源节点SN发送反馈消息,源节点SN记录数据条目i的缓存者LN,并将数据条目i发送给缓存者LN。
2.根据权利要求1所述的覆盖网络中的数据缓存管理方法,其特征在于:
所述的TTL的初始值为TTL0=logsN,其中,s为邻居节点LN的邻居节点个数,N为网络规模。
3.根据权利要求1或2所述的覆盖网络中的数据缓存管理方法,其特征在于:
所述的邻居节点LN将缓存请求消息R转发给邻居节点的步骤具体为:
邻居节点LN检查缓存请求消息R的TTL值是否为0,如果为0,将缓存请求消息R的TTL值加1后随机转发给邻居节点LN的邻居节点;否则,直接将缓存请求消息R随机转发给邻居节点LN的邻居节点。
4.根据权利要求1或2所述的覆盖网络中的数据缓存管理方法,其特征在于:
所述的邻居节点LN将缓存请求消息R放入本地缓存的步骤具体为:
邻居节点LN检查本地缓存是否满载,如果满载,则删除本地缓存中最早存入的缓存请求消息并将缓存请求消息R放入本地缓存;否则,直接将缓存请求消息R放入本地缓存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105849242A CN102014066B (zh) | 2010-12-13 | 2010-12-13 | 一种覆盖网络中的数据缓存管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105849242A CN102014066B (zh) | 2010-12-13 | 2010-12-13 | 一种覆盖网络中的数据缓存管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102014066A CN102014066A (zh) | 2011-04-13 |
CN102014066B true CN102014066B (zh) | 2012-07-04 |
Family
ID=43844087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105849242A Expired - Fee Related CN102014066B (zh) | 2010-12-13 | 2010-12-13 | 一种覆盖网络中的数据缓存管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102014066B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105282236B (zh) * | 2015-09-16 | 2018-04-03 | 上海亿保健康管理有限公司 | 一种分布式缓存方法及装置 |
CN109067817B (zh) * | 2018-05-31 | 2021-12-07 | 北京五八信息技术有限公司 | 媒体内容流量分配方法、装置、电子设备及服务器 |
CN116056052B (zh) * | 2022-08-17 | 2023-10-31 | 荣耀终端有限公司 | 消息处理方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1645829A (zh) * | 2005-01-27 | 2005-07-27 | 中国科学院计算技术研究所 | 结构化p2p系统的拓扑匹配方法 |
CN1710884A (zh) * | 2005-06-24 | 2005-12-21 | 武汉理工大学 | 一种支持多QoS约束的多播路由方法 |
EP2169909A1 (en) * | 2005-10-03 | 2010-03-31 | Amadeus S.A.S. | System and method to maintain coherence of cache contents in a multi-tier software system aimed at interfacing large databases |
-
2010
- 2010-12-13 CN CN2010105849242A patent/CN102014066B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1645829A (zh) * | 2005-01-27 | 2005-07-27 | 中国科学院计算技术研究所 | 结构化p2p系统的拓扑匹配方法 |
CN1710884A (zh) * | 2005-06-24 | 2005-12-21 | 武汉理工大学 | 一种支持多QoS约束的多播路由方法 |
EP2169909A1 (en) * | 2005-10-03 | 2010-03-31 | Amadeus S.A.S. | System and method to maintain coherence of cache contents in a multi-tier software system aimed at interfacing large databases |
Non-Patent Citations (1)
Title |
---|
李春洪等.一种无"热点"的覆盖网协同缓存策略.《软件学报》.2008,第19卷(第3期),第744-754页. |
Also Published As
Publication number | Publication date |
---|---|
CN102014066A (zh) | 2011-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nour et al. | A distributed cache placement scheme for large-scale information-centric networking | |
Zhang et al. | An SDN-based caching decision policy for video caching in information-centric networking | |
Cho et al. | Neighbor caching in multi-hop wireless ad hoc networks | |
CN102014066B (zh) | 一种覆盖网络中的数据缓存管理方法 | |
Loh et al. | Performance evaluation of efficient and reliable routing protocols for fixed-power sensor networks | |
CN109040163B (zh) | 基于k匿名的命名数据网络隐私保护缓存决策方法 | |
CN102238202A (zh) | 索引信息的存储、查找方法及装置 | |
CN102497646A (zh) | 一种用于无线网络的低开销缓存数据发现机制 | |
Yu et al. | Dynamic popularity-based caching permission strategy for named data networking | |
Fan et al. | Popularity and gain based caching scheme for information-centric networks | |
Rehman et al. | OEFS: On-demand energy-based forwarding strategy for named data wireless ad hoc networks | |
Alduayji et al. | PF-EdgeCache: Popularity and freshness aware edge caching scheme for NDN/IoT networks | |
Joy et al. | A key based cache replacement policy for cooperative caching in mobile ad hoc networks | |
Yang et al. | Providing cache consistency guarantee for ICN-based IoT based on push mechanism | |
Yufei et al. | A centralized control caching strategy based on popularity and betweenness centrality in ccn | |
CN106657181B (zh) | 一种基于内容中心网络的数据推送方法 | |
Mishra et al. | An efficient content replacement policy to retain essential content in information-centric networking based internet of things network | |
Wang et al. | Dynamic cache consistency schemes for wireless cellular networks | |
CN107612980B (zh) | 一种结构化p2p网络中可调节且可靠的一致性维护方法 | |
Joseph et al. | Energy efficient data retrieval and caching in mobile peer-to-peer networks | |
Abolhassani et al. | Optimal load-splitting and distributed-caching for dynamic content over the wireless edge | |
Wu et al. | Information transmission probability and cache management method in opportunistic networks | |
Zam et al. | Performance improvement of cache management in cluster based manet | |
Jiaxin et al. | Resource-efficient routing protocol based on historical encounter time interval in DTN | |
Chang et al. | A probabilistic routing algorithm based on node communication capability and message strength |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120704 Termination date: 20141213 |
|
EXPY | Termination of patent right or utility model |